ES2785096T3 - Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada - Google Patents

Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada Download PDF

Info

Publication number
ES2785096T3
ES2785096T3 ES13738402T ES13738402T ES2785096T3 ES 2785096 T3 ES2785096 T3 ES 2785096T3 ES 13738402 T ES13738402 T ES 13738402T ES 13738402 T ES13738402 T ES 13738402T ES 2785096 T3 ES2785096 T3 ES 2785096T3
Authority
ES
Spain
Prior art keywords
coefficients
transform unit
scan pattern
significant
indicators
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
ES13738402T
Other languages
English (en)
Inventor
Christopher James Rosewarne
Alvin Edrea Labios
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of ES2785096T3 publication Critical patent/ES2785096T3/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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

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

Procedimiento de descodificación de los coeficientes residuales de una unidad de transformada de un flujo de bits de datos de vídeo, comprendiendo el procedimiento: recibir la unidad de transformada (1400) del flujo de bits de datos de vídeo, teniendo la unidad de transformada (1400) capas cuadradas de nivel superior (1402) y de nivel inferior (1401), en el que la capa cuadrada de nivel superior (1402) representa una disposición cuadrada de indicadores de grupos de coeficientes significativos, cada uno de los cuales indica si como mínimo uno de los coeficientes residuales dentro de una zona no superpuesta correspondiente de la capa cuadrada de nivel inferior (1401) es significativo, y la capa cuadrada de nivel inferior (1401) representa una pluralidad de disposiciones cuadradas de coeficientes residuales; determinar un patrón de barrido (1501,1601,1701) para la capa cuadrada de nivel superior (1402) y la capa cuadrada de nivel inferior (1401) según un modo de intra-predicción; determinar los indicadores de los grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) para la unidad de transformada recibida (1400) en un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701); y determinar valores de coeficientes residuales de la capa cuadrada de nivel inferior (1401) según los indicadores de los grupos de coeficientes significativos determinados y un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701) de los coeficientes residuales para descodificar la unidad de transformada (1400) del flujo de bits de datos de vídeo, en el que, el patrón de barrido (1501, 1601, 1701) para los indicadores de los grupos de coeficientes significativos y los coeficientes residuales se determina a partir de un primer patrón de barrido (1501), un segundo patrón de barrido (1601) y un tercer patrón de barrido (1701), según el modo de intra-predicción, y el primer patrón de barrido (1501), el segundo patrón de barrido (1601) y el tercer patrón de barrido (1701) son diferentes entre sí.

Description

DESCRIPCIÓN
Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
SECTOR TÉCNICO
La presente invención se refiere, en general, al procesamiento de señales de vídeo digital, y, en concreto, a un procedimiento, aparato y sistema para codificar y descodificar los coeficientes residuales de una unidad de transformada (Transform Unit, TU), en el que la unidad de transformada (TU) puede tener una forma cuadrada o una forma no cuadrada.
ANTECEDENTES
En la actualidad, existen muchas aplicaciones para la codificación de vídeo, incluyendo aplicaciones para la transmisión y el almacenamiento de datos de vídeo. También se han desarrollado muchos estándares de codificación de vídeo, y otros están actualmente en desarrollo. Los desarrollos recientes en la estandarización de la codificación de vídeo han conducido a la formación de un grupo denominado "Equipo Conjunto de Colaboración en Codificación de Vídeo" ("Joint Collaborative Team on Video Coding") (JCT-VC). El Equipo Conjunto de Colaboración en Codificación de Vídeo (JCT-VC) incluye a miembros del Grupo de Estudio 16/Pregunta 6 (SG16/Q6) del Sector de Estandarización de Telecomunicaciones (ITU-T) de la Unión Internacional de Telecomunicaciones (International Telecommunication Union, ITU), conocidos como el Grupo de Expertos en Codificación de Vídeo (Video Coding Experts Group, VCEG), y a miembros del Comité Técnico Conjunto 1 de las Organizaciones Internacionales para Estandarización y la Comisión Electrotécnica Internacional / Subcomité 29 / Grupo de Trabajo 11 (ISO/IEC JTC1/SC29/WG11), también conocido como el Grupo de Expertos de Imágenes en Movimiento (Moving Picture Experts Group, MPEG).
El Equipo Conjunto de Colaboración en Codificación de Vídeo (JCT-VC) tiene el objetivo de producir un nuevo estándar de codificación de vídeo para superar significativamente el estándar de codificación de vídeo existente, conocido como "H.264/MPEG-4 aVc ". El estándar H.264/MPEG-4 AVC es por sí mismo una gran mejora con respecto a los estándares de codificación de vídeo anteriores, tales como MPEG-4 e ITU-T H.263. El nuevo estándar de codificación de vídeo, en fase de desarrollo, se ha denominado "Codificación de Vídeo de Alta Eficiencia (High Efficiency Video Coding, HEVC)". El Equipo Conjunto de Colaboración en Codificación de Vídeo JCT-VC también está considerando la implementación de los retos que surgen de la tecnología propuesta para la Codificación de Vídeo de Alta Eficiencia (HEVC) que crean dificultades al escalar implementaciones del estándar para que operen a altas resoluciones o altas velocidades de tramas.
Un área del estándar de codificación de vídeo H.264/MPEG-4 AVC que presenta dificultades para conseguir una alta eficiencia de compresión es la codificación de los coeficientes residuales usados para representar datos de vídeo. Los datos de vídeo están formados por una secuencia de tramas, teniendo cada trama una matriz de muestras bidimensional. Típicamente, las tramas incluyen un canal de luminancia y dos canales de crominancia. Cada trama se descompone en una matriz de unidades de codificación más grandes (Largest Coding Unit, LCU). Las unidades de codificación más grandes (LCU) tienen un tamaño fijo, siendo las dimensiones de sus bordes una potencia de base dos y teniendo anchura y altura iguales, tales como 64 muestras de luma. Un árbol de codificación permite subdividir cada unidad de codificación más grande (LCU) en cuatro unidades de codificación (Coding Unit, CU), teniendo cada una de ellas la mitad de la anchura y la altura de una unidad de codificación más grande (LCU) padre. A su vez, cada una de las unidades de codificación (CU) se puede subdividir en cuatro unidades de codificación (CU) de igual tamaño. Un proceso de subdivisión de este tipo se puede aplicar de forma recursiva hasta alcanzar el tamaño de la unidad de codificación más pequeña (Smallest Coding Unit, SCU), permitiendo definir unidades de codificación (CU) hasta un tamaño mínimo admitido. La subdivisión recursiva de una unidad de codificación más grande en una jerarquía de unidades de codificación tiene una estructura de árbol cuádruple y se denomina árbol de codificación. Este proceso de subdivisión se codifica en un flujo de bits de comunicaciones como una secuencia de indicadores, codificados como bins. Por lo tanto, las unidades de codificación tienen una forma cuadrada.
En el árbol de codificación existe un conjunto de unidades de codificación que no se subdividen más, ocupando los nodos hoja del árbol de codificación. En estas unidades de codificación existen árboles de transformadas. Un árbol de transformadas puede descomponer más una unidad de codificación usando una estructura de árbol cuádruple como la usada para el árbol de codificación. En los nodos hoja del árbol de transformadas, los datos residuales se codifican usando unidades de transformada (Transform Unit, TU). Al contrario que en el árbol de codificación, el árbol de transformadas puede subdividir las unidades de codificación en unidades de transformada que tienen una forma no cuadrada. Además, la estructura del árbol de transformadas no requiere que las unidades de transformada (TU) ocupen toda el área proporcionada por la unidad de codificación padre.
Cada unidad de codificación en los nodos hoja de los árboles de codificación se subdivide en una o varias matrices de muestras de datos predichos, cada uno de los cuales se conoce como una unidad de predicción (Prediction Unit, PU). Cada unidad de predicción (PU) contiene una predicción de una porción de los datos de tramas de vídeo de entrada, obtenida aplicando un proceso de intra-predicción o inter-predicción. Se pueden usar varios procedimientos para codificar las unidades de predicción (PU) de una unidad de codificación (CU). Una única unidad de predicción (PU) puede ocupar un área completa de la unidad de codificación (CU), o la unidad de codificación (CU) se puede dividir en dos unidades de predicción (PU) rectangulares de igual tamaño, ya sea horizontal o verticalmente. Además, las unidades de codificación (CU) se pueden dividir en cuatro unidades de predicción (PU) cuadradas de igual tamaño.
Un codificador de vídeo comprime los datos de vídeo de un flujo de bits convirtiendo los datos de vídeo en una secuencia de elementos sintácticos. En el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, se define un esquema de Codificación Aritmética Binaria Adaptativa según el Contexto (Context Adaptive Binary Arithmetic Coding, CABAC), que usa un esquema de codificación aritmética idéntico al definido en el estándar de compresión de vídeo MPEG4-AVC/H.264. En el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, cuando se usa la Codificación Aritmética Binaria Adaptativa según el Contexto (CABAC), cada elemento sintáctico se expresa como una secuencia de bins, en el que los bins se seleccionan de un conjunto de bins disponibles. El conjunto de bins disponibles se obtiene de un modelo de contexto, con un contexto por bin. Cada contexto tiene un valor de bin más probable (el 'valMPS'), y un estado de probabilidad para la operación de codificación aritmética o descodificación aritmética. Se debe observar que los bins también se pueden codificar en modo de derivación, en el que no hay ninguna asociación con un contexto. Los bins codificados en modo de derivación consumen un bit del flujo de bits y, por lo tanto, son apropiados para bins con igual probabilidad de tener un valor de uno o de cero. La creación de dicha secuencia de bins a partir de un elemento sintáctico se denomina "generación de bins" ("bin arising") de los elementos sintácticos.
En un codificador de vídeo o un descodificador de vídeo, como se dispone de información de contexto independiente para cada bin, la selección de contexto para los bins proporciona un medio de mejorar la eficiencia de codificación. En concreto, la eficiencia de codificación se puede mejorar seleccionando un bin concreto de tal manera que las propiedades estadísticas de instancias anteriores del bin, en las que se usó la información de contexto asociada, se correlacionen con las propiedades estadísticas de una instancia actual del bin. Dicha selección de contexto utiliza con frecuencia información espacialmente local para determinar el contexto óptimo.
En el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, y en H.264/MPEG-4 AVC, se obtiene una predicción para un bloque actual, basándose en datos de muestras de referencia de otras tramas o a partir de zonas vecinas dentro del bloque actual que se han descodificado anteriormente. La diferencia entre la predicción y los datos de muestras deseados se conoce como el residuo. Una representación en el dominio de la frecuencia del residuo es una matriz bidimensional de coeficientes residuales. Por convención, la esquina superior izquierda de la matriz bidimensional contiene coeficientes residuales que representan información de baja frecuencia.
En los datos de vídeo típicos, la mayoría de los cambios en los valores de las muestras son graduales, dando lugar a una predominancia de información de baja frecuencia en el residuo. Esto se manifiesta como magnitudes más grandes para los coeficientes residuales localizados en la esquina superior izquierda de la matriz bidimensional. El esquema de binarización seleccionado puede aprovechar la propiedad de que la información de baja frecuencia es predominante en la esquina superior izquierda de la matriz bidimensional de coeficientes residuales para minimizar el tamaño de los coeficientes residuales en el flujo de bits.
HM-5.0 divide la unidad de transformada (TU) en varios subconjuntos y barre los coeficientes residuales de cada subconjunto en dos pasadas. La primera pasada codifica los indicadores que indican el estado de los coeficientes residuales como un valor distinto de cero (significativo) o un valor igual a cero (no significativo). Estos datos se conocen como mapa de significatividad. La segunda pasada codifica la magnitud y el signo de los coeficientes residuales significativos, conocidos como los niveles de los coeficientes.
Un patrón de barrido proporcionado permite barrer la matriz bidimensional de coeficientes residuales en una matriz unidimensional. En el HM-5.0, el patrón de barrido proporcionado se usa para procesar tanto el mapa de significatividad como los niveles de los coeficientes. Barriendo el mapa de significatividad usando el patrón de barrido proporcionado, se puede determinar la localización del último coeficiente significativo en el mapa de significatividad bidimensional. Los patrones de barrido pueden ser horizontales, verticales o diagonales.
El modelo de prueba 5.0 (HM-5.0) de la Codificación de Vídeo de Alta Eficiencia (HEVC) proporciona soporte para bloques residuales, también conocidos como unidades de transformada (TU), que tienen tanto una forma cuadrada como una forma no cuadrada. Cada unidad de transformada (TU) contiene un conjunto de coeficientes residuales. Los bloques residuales con dimensiones laterales de igual tamaño se conocen como unidades de transformada (TU) cuadradas, y los bloques residuales con dimensiones laterales de distinto tamaño se conocen como unidades de transformada (TU) no cuadradas.
Los tamaños de unidades de transformada (TU) soportados en HM-5.0 son 4x4, 8x8, 16x16, 32x32, 4x16, 16x4, 8x32 y 32x8. Los tamaños de unidades de transformada (TU) típicamente se describen en términos de muestras de luma, sin embargo, cuando se usa un formato de croma de 4:2:0, cada muestra de croma ocupa el área de 2x2 muestras de luma. En consecuencia, el barrido de las unidades de transformada (TU) para codificar los datos residuales de croma usa patrones de barrido de la mitad de las dimensiones horizontal y vertical, tales como 2x2 para un bloque residual de luma de 4x4. Con el fin de barrer y codificar los coeficientes residuales, las unidades de transformada (TU) de 16x16, 32x32, 4x16, 16x4, 8x32 y 32x8 se dividen en un cierto número de sub-bloques, por ejemplo: una capa inferior del barrido de la unidad de transformada (TU), que tiene un tamaño de 4x4, con un mapa correspondiente existente en HM-5.0. En HM-5.0, los sub-bloques para estos tamaños de unidad de transformada (TU) están coubicados con subconjuntos en la unidad de transformada (TU). El conjunto de indicadores de los coeficientes significativos dentro de una porción del mapa de significatividad coubicados dentro de un sub-bloque se denomina grupo de coeficientes significativos. Para las unidades de transformada de 16x16, 32x32, 4x16, 16x4, 8x32 y 32x8, la codificación del mapa de significatividad hace uso de un barrido de dos niveles. El barrido de nivel superior lleva a cabo un barrido, tal como un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás, para codificar o inferir los indicadores que representan los grupos de coeficientes significativos de cada sub-bloque. Dentro de los sub-bloques, se lleva a cabo un barrido, tal como el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás, para codificar los indicadores de los coeficientes significativos para los sub-bloques que tienen un indicador de grupo de coeficientes significativos con valor uno. Para una unidad de transformada (TU) de 16x16, se usa un barrido de nivel superior de 4x4. Para una unidad de transformada (TU) de 32x32, se usa un barrido de nivel superior de 8x8. Para tamaños de unidades de transformada (TU) de 16x4, 4x16, 32x8 y 8x32, se usan barridos de nivel superior de 4x1, 1x4, 8x2 y 2x8, respectivamente.
En cada unidad de transformada (TU), los datos de los coeficientes residuales se pueden codificar en un flujo de bits. Cada "coeficiente residual" es un número que representa las características de la imagen dentro de una unidad de transformada en el dominio de la frecuencia (DCT) y que ocupa una localización única dentro de la unidad de transformada. Una unidad de transformada es un bloque de muestras de datos residuales que se pueden transformar entre los dominios espacial y de la frecuencia. En el dominio de la frecuencia, la unidad de transformada (TU) codifica las muestras de datos residuales como datos de coeficientes residuales. Las dimensiones laterales de las unidades de transformada se dimensionan en potencias de base dos (2), variando desde 4 muestras hasta 32 muestras para un canal "Luma", y desde 2 hasta 16 muestras para un canal "Croma". Los nodos hoja del árbol de unidades de transformada (TU) pueden contener una unidad de transformada (TU) o nada en absoluto, en el caso de que no se requieran datos de los coeficientes residuales.
Como la representación espacial de la unidad de transformada es una matriz bidimensional de muestras de datos residuales, tal como se describe con más detalle a continuación, una representación en el dominio de la frecuencia resultante de una transformada, tal como una transformada de coseno discreto (Discrete Cosine Transform, DCT) modificada, también es una matriz bidimensional de coeficientes residuales. Las características espectrales de los datos de muestras típicos dentro de una unidad de transformada (TU) son tales que la representación en el dominio de la frecuencia es más compacta que la representación espacial. Además, la predominancia de información espectral de baja frecuencia típica en una unidad de transformada (TU) da lugar a una agrupación de los coeficientes residuales de valores más grandes hacia la parte superior izquierda de la unidad de transformada (TU), donde se representan los coeficientes residuales de baja frecuencia.
Se pueden usar transformadas de coseno discreto (DCT) modificadas o transformadas de seno discreto (DST) modificadas para implementar la transformada residual. Las implementaciones de la transformada residual se configuran para soportar cada tamaño de la unidad de transformada (TU) requerido. En un codificador de vídeo, los coeficientes residuales de la transformada residual se escalan y se cuantifican. El escalado y la cuantificación reducen la magnitud de los coeficientes residuales, reduciendo el tamaño de los datos codificados en el flujo de bits a costa de reducir la calidad de la imagen.
Un aspecto de la complejidad del estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, es el número de tablas de búsqueda requeridas con el fin de llevar a cabo el barrido. Cada tabla de búsqueda adicional da lugar a un consumo de memoria no deseable y, por tanto, reducir el número de tablas de búsqueda requeridas es un aspecto de reducción de la complejidad.
El documento JCTVC-E355 de la 5a reunión del Equipo Conjunto de Colaboración en Codificación de Vídeo (JCT-VC): Ginebra, 16-23 de marzo de 2011, presenta una unificación de los procesos de barrido para el caso de alta eficiencia. Se proponen dos procedimientos. En el primero, el barrido para el nivel de coeficientes es el mismo que el barrido para el mapa de significatividad. El orden de barrido para el nivel de coeficientes es hacia atrás desde el último coeficiente significativo hasta el primer coeficiente (DC). El segundo procedimiento unifica completamente los barridos. Ambos barridos son iguales y siguen el orden hacia atrás, desde el último coeficiente significativo hasta el primer coeficiente.
El documento JCTVC-G644 de la 7 a reunión del Equipo Conjunto de Colaboración en Codificación de Vídeo (JCT-VC): Ginebra, 21-30 de noviembre de 2011, propone una estructura de múltiples niveles para codificar los indicadores de los coeficientes de significatividad para unidades de transformada grandes, de tamaños mayores que 8x8.
El documento de Peng et al, 'Informe CE6.b de la prueba 3: interacción entre SDIP y MDCS' (‘CE6.b report of test 3: interaction between SDIP and MDCS’), reuniones del JCT-VC, 97, reuniones del MPEG desde el 14-7-2011 hasta el 22-7-2011: Turín, XP030009220 describe los órdenes de barrido para la codificación de las unidades de transformada. En concreto, D1 explica que en la codificación de unidades de transformada cuadradas, el orden de barrido se determina mediante el modo de intra-predicción, y el tamaño de la unidad de transformada se determina mediante una tabla de búsqueda fija.
SUMARIO
Un objetivo de la presente invención es superar sustancialmente o, al menos, mejorar una o varias desventajas de las disposiciones existentes.
Según un aspecto de la presente divulgación, se da a conocer un procedimiento de descodificación de coeficientes residuales, según la reivindicación 1.
Preferentemente, cada una de las zonas no superpuestas representadas mediante los, como máximo, cuatro indicadores de grupos de coeficientes significativos, son zonas cuadradas, cada una de ellas con dieciséis coeficientes residuales.
De manera deseable, la capa de nivel superior tiene cuatro indicadores de coeficientes significativos, comprendiendo el procedimiento otra etapa de determinar un patrón de barrido para cada una de las zonas no superpuestas de la capa de nivel inferior aplicando un desplazamiento a un patrón de barrido predeterminado.
El procedimiento también puede determinar los indicadores de los grupos de coeficientes significativos de la capa cuadrada de nivel superior descodificando los indicadores de los coeficientes significativos codificados en el flujo de bits.
Preferentemente, la determinación de los indicadores de los grupos de coeficientes significativos de la capa cuadrada de nivel superior comprende inferir como mínimo uno de los indicadores de los coeficientes significativos. De manera ventajosa, la capa de nivel inferior de la unidad de transformada se forma como sub-bloques, y la determinación de los valores de los coeficientes residuales de la capa cuadrada inferior según los indicadores de los grupos de coeficientes significativos determinados comprende iterar sobre cada uno de los sub-bloques de la unidad de transformada. De manera deseable, la iteración forma una matriz lineal representativa de cada uno de los sub­ bloques, en la que se usa un valor de desplazamiento correspondiente para reconstruir cada sub-bloque a partir de la matriz lineal.
En una implementación específica, la capa de nivel superior representa una disposición cuadrada de cuatro indicadores de grupos de coeficientes significativos.
En una implementación, se selecciona una dirección de barrido de la capa inferior de la unidad de transformada según un modo de intra-predicción aplicado a la unidad de transformada. En otra, se selecciona una dirección de barrido de la capa superior de la unidad de transformada según un modo de intra-predicción aplicado a la unidad de transformada. Además, la dirección de barrido de la capa superior de la unidad de transformada es diagonal e independiente de la dirección de barrido de la capa inferior de la unidad de transformada.
Según otro aspecto de la presente invención, se da a conocer un procedimiento de codificación de los coeficientes residuales, según la reivindicación 8.
También se dan a conocer otros aspectos en las reivindicaciones 9 y 10.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
A continuación, se describirá como mínimo una realización de la presente invención, haciendo referencia a los siguientes dibujos, en los que:
La figura 1 es un diagrama de bloques esquemático que muestra módulos funcionales de un codificador de vídeo; la figura 2 es un diagrama de bloques esquemático que muestra módulos funcionales de un descodificador de vídeo; las figuras 3A y 3B forman un diagrama de bloques esquemático de un sistema de ordenadores de propósito general en el que se pueden llevar a la práctica el codificador y el descodificador de las figuras 1 y 2, respectivamente; la figura 4 es un diagrama de bloques esquemático que muestra módulos funcionales de un codificador de entropía; la figura 5 es un diagrama de bloques esquemático que muestra módulos funcionales de un descodificador de entropía;
la figura 6 es un diagrama de flujo que muestra un procedimiento convencional para codificar los coeficientes residuales de una unidad de transformada (TU) de 8x8;
la figura 7 es un diagrama de flujo que muestra un procedimiento convencional para descodificar los coeficientes residuales de una unidad de transformada (TU) de 8x8;
la figura 8 es un diagrama de flujo que muestra un procedimiento, según la presente invención, para codificar los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando grupos de coeficientes significativos; la figura 9 es un diagrama de flujo que muestra un procedimiento, según la presente invención, para descodificar los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando grupos de coeficientes significativos; las figuras 10A y 10B ilustran un procedimiento, según la presente invención, para representar grupos de coeficientes significativos de una unidad de transformada (TU) de 8x8;
la figura 11 es un diagrama que muestra un procedimiento convencional para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido en diagonal hacia atrás;
la figura 12 es un diagrama que muestra un procedimiento convencional para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido horizontal hacia atrás;
la figura 13 es un diagrama que muestra un procedimiento convencional para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido vertical hacia atrás;
la figura 14 es un diagrama que muestra un procedimiento, según la presente invención, para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando una jerarquía de dos capas;
las figuras 15A a 15C ilustran un procedimiento, según la presente invención, para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido en diagonal hacia atrás;
las figuras 16A a 16C ilustran un procedimiento, según la presente invención, para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido horizontal hacia atrás;
las figuras 17A a 17C ilustran un procedimiento, según la presente invención, para barrer los coeficientes residuales de una unidad de transformada (TU) de 8x8 usando un barrido vertical hacia atrás; y
las figuras 18A a 18C ilustran una solución alternativa para el barrido que hace uso de desplazamientos.
DESCRIPCIÓN DETALLADA INCLUYENDO EL MEJOR MODO
Si, en uno o varios de los dibujos adjuntos, se hace referencia a etapas y/o características que tienen los mismos números de referencia, dichas etapas y/o características tienen, para los fines de la presente descripción, la(s) misma(s) función/funciones u operación/operaciones, salvo que se mencione la intención contraria.
La figura 1 es un diagrama de bloques esquemático que muestra módulos funcionales de un codificador de vídeo 100. La figura 2 es un diagrama de bloques esquemático que muestra módulos funcionales de un descodificador de vídeo 200 correspondiente. El codificador de vídeo 100 y el descodificador de vídeo 200 se pueden implementar usando un sistema de ordenadores de propósito general 300, tal como se muestra en las figuras 3A y 3B, en el que los diversos módulos funcionales se pueden implementar mediante hardware dedicado del sistema de ordenadores 300, mediante software ejecutable en el sistema de ordenadores 300 o, alternativamente, mediante una combinación de hardware dedicado y software ejecutable en el sistema de ordenadores 300.
Como se observa en la figura 3A, el sistema de ordenadores 300 incluye: un módulo de ordenador 301; dispositivos de entrada, tales como un teclado 302, un dispositivo de puntero de ratón 303, un escáner 326, una cámara 327 y un micrófono 380; y dispositivos de salida, incluyendo una impresora 315, un dispositivo de pantalla 314 y altavoces 317. El módulo de ordenador 301 puede usar un dispositivo transceptor modulador-demodulador (módem) externo 316 para la comunicación hacia y desde una red de comunicaciones 320 a través de una conexión 321. La red de comunicaciones 320 puede ser una red de área amplia (Wide Area Network, WAN), tal como Internet, una red de telecomunicaciones celular o una WAN privada. Si la conexión 321 es una línea telefónica, el módem 316 puede ser un módem de acceso telefónico tradicional. Alternativamente, si la conexión 321 es una conexión de alta capacidad (por ejemplo, de cable), el módem 316 puede ser un módem de banda ancha. También se puede usar un módem inalámbrico para la conexión inalámbrica a la red de comunicaciones 320.
El módulo de ordenador 301 típicamente incluye como mínimo una unidad de procesador 305 y una unidad de memoria 306. Por ejemplo, la unidad de memoria 306 puede tener memoria de acceso aleatorio (RAM) de semiconductor y memoria de solo lectura (ROM) de semiconductor. El módulo de ordenador 301 también incluye varias interfaces de entrada/salida (E/S), incluyendo: una interfaz de audio-vídeo 307 que se conecta a la pantalla de vídeo 314, los altavoces 317 y el micrófono 380; una interfaz de E/S 313 que se conecta al teclado 302, el ratón 303, el escáner 326, la cámara 327 y, opcionalmente, a una palanca de mando u otro dispositivo de interfaz humana (no mostrado); y una interfaz 308 para el módem externo 316 y la impresora 315. En algunas implementaciones, el módem 316 puede incorporarse dentro del módulo de ordenador 301, por ejemplo, en la interfaz 308. El módulo de ordenador 301 también tiene una interfaz de red local 311, que permite la conexión del sistema de ordenador 300, mediante una conexión 323, a la red de comunicaciones de área local 322, conocida como una red de área local (Local Area Network, LAN). Como se ilustra en la figura 3A, la red de comunicaciones local 322 también puede conectarse a la red de área amplia 320 mediante una conexión 324, lo que típicamente incluiría un denominado dispositivo "cortafuegos" o un dispositivo de funcionalidad similar. La interfaz de red local 311 puede comprender una tarjeta de circuito Ethernet™, una disposición inalámbrica Bluetooth™ o una disposición inalámbrica IEEE 802.11; sin embargo, se pueden poner en práctica numerosos tipos de interfaces diferentes para la interfaz 311.
Las interfaces de E/S 308 y 313 tienen capacidad de cualquiera o ambas de conectividad en serie y en paralelo, implementándose típicamente la última según los estándares de Bus Universal en Serie (Universal Serial Bus, USB) y teniendo conectores USB correspondientes (no mostrados). Se proporcionan dispositivos de almacenamiento 309, y típicamente incluyen una unidad de disco duro (Hard Disk Drive, HDD) 310. También se pueden usar otros dispositivos de almacenamiento, tales como una unidad de disco flexible y una unidad de cinta magnética (no mostradas). Típicamente se proporciona una unidad de disco óptico 312, que actúa como una fuente de datos no volátil. Se pueden usar dispositivos de memoria portátiles, tales como discos ópticos (por ejemplo, CD-ROM, DVD, Blu-ray Disc™), USB-RAM, discos duros externos portátiles y discos flexibles, por ejemplo, como fuentes de datos apropiadas para el sistema 300. Típicamente, cualquiera del HDD 310, la unidad óptica 312, las redes 320 y 322 o la cámara 327 pueden ser una fuente de datos de vídeo a codificar, o, con la pantalla 314, un destino para almacenar o reproducir datos de vídeo descodificados.
Los componentes 305 a 313 del módulo de ordenador 301 típicamente se comunican mediante un bus interconectado 304, y de tal manera que da lugar a un modo de operación convencional del sistema de ordenadores 300, conocido por los expertos en la materia. Por ejemplo, el procesador 305 se conecta al bus del sistema 304 usando una conexión 318. Del mismo modo, la memoria 306 y la unidad de disco óptico 312 se conectan al bus del sistema 304 mediante conexiones 319. Ejemplos de ordenadores en los que se pueden llevar a la práctica las disposiciones descritas incluyen IBM-PC y compatibles, Sun Sparcstations, Apple Mac™ o sistemas de ordenadores similares.
Si es apropiado o así se desea, el codificador 100 y el descodificador 200, así como los procedimientos que se describen a continuación, se pueden implementar usando el sistema de ordenadores 300, en el que el codificador 100, el descodificador 200 y los procesos de las figuras 10 y 11 que se van a describir se pueden implementar como uno o varios programas de aplicación de software 333, ejecutables en el sistema de ordenadores 300. En concreto, el codificador 100, el descodificador 200 y las etapas de los procedimientos descritos se realizan mediante instrucciones 331 (véase la figura 3B) en el software 333, que se ejecutan en el sistema de ordenadores 300. Las instrucciones de software 331 se pueden formar como uno o varios módulos de código, cada uno de ellos para llevar a cabo una o varias tareas concretas. El software también se puede dividir en dos partes independientes, en las que una primera parte y los módulos de código correspondientes llevan a cabo los procedimientos descritos, y una segunda parte y los módulos de código correspondientes gestionan una interfaz de usuario entre la primera parte y el usuario.
El software se puede almacenar en un medio legible por ordenador, incluyendo los dispositivos de almacenamiento que se describen a continuación, por ejemplo. El software se carga en el sistema de ordenadores 300 desde el medio legible por ordenador y, a continuación, se ejecuta mediante el sistema de ordenadores 300. Un medio legible por ordenador que tiene dicho software o programa informático grabado en el medio legible por ordenador es un producto de programa informático. El uso del producto de programa informático en el sistema de ordenadores 300 preferentemente realiza un aparato ventajoso para implementar el codificador 100, el descodificador 200 y los procedimientos descritos.
El software 333 típicamente se almacena en el HDD 310 o en la memoria 306. El software se carga en el sistema de ordenadores 300 desde un medio legible por ordenador y se ejecuta mediante el sistema de ordenadores 300. Por tanto, por ejemplo, el software 333 se puede almacenar en un medio de almacenamiento de disco legible de forma óptica 325 (por ejemplo, CD-ROM), que se lee mediante la unidad de disco óptico 312.
En algunos casos, los programas de aplicación 333 pueden proporcionarse al usuario codificados en uno o varios CD-ROM 325 y leerse mediante la unidad 312 correspondiente o, alternativamente, leerse por el usuario desde las redes 320 o 322. Más aún, el software también se puede cargar en el sistema de ordenadores 300 desde otro medio legible por ordenador. El medio de almacenamiento legible por ordenador se refiere a cualquier medio de almacenamiento tangible no transitorio que proporcione instrucciones y/o datos grabados al sistema de ordenadores 300 para su ejecución y/o procesamiento. Ejemplos de dicho medio de almacenamiento incluyen discos flexibles, cinta magnética, CD-ROM, DVD, Blu-Ray Disc, una unidad de disco duro, una ROM o un circuito integrado, memoria USB, un disco magneto-óptico o una tarjeta legible por ordenador, tal como una tarjeta PCMCIA y similares, tanto si dichos dispositivos son internos o externos al módulo de ordenador 301 como si no. Ejemplos de medios de transmisión legibles por ordenador transitorios o no tangibles que también pueden participar en la provisión del software, programas de aplicación, instrucciones y/o datos de vídeo o datos de vídeo codificados para el módulo de ordenador 301 incluyen canales de transmisión por radio o infrarrojos, así como una conexión de red con otro ordenador o dispositivo en red, e Internet o Intranet, incluyendo transmisiones de correo electrónico e información grabada en sitios web y similares.
La segunda parte de los programas de aplicación 333 y los módulos de código correspondientes mencionados anteriormente se pueden ejecutar para implementar una o varias interfaces gráficas de usuario (Graphical User Interface, GUI) para presentarse o, de otro modo, representarse en la pantalla 314. A través de la manipulación de, típicamente, el teclado 302 y el ratón 303, un usuario del sistema de ordenadores 300 y la aplicación puede manipular la interfaz de una manera adaptable funcionalmente para proporcionar comandos de control y/o entradas para las aplicaciones asociadas con la(s) GUI. También se pueden implementar otras formas de interfaces de usuario adaptables funcionalmente, tales como una interfaz de audio que utiliza indicaciones de voz emitidas mediante los altavoces 317 y comandos de voz de usuario introducidos a través del micrófono 380.
La figura 3B es un diagrama de bloques esquemático detallado del procesador 305 y una "memoria" 334. La memoria 334 representa una agregación lógica de todos los módulos de memoria (incluyendo e1HDD 309 y la memoria de semiconductor 306) a los que puede acceder el módulo de ordenador 301 de la figura 3A.
Cuando el módulo de ordenador 301 se enciende inicialmente, se ejecuta un programa de autoprueba de arranque (Power-On Self-Test, POST) 350. El programa POST 350 típicamente se almacena en una ROM 349 de la memoria de semiconductor 306 de la figura 3A. Un dispositivo hardware, tal como la ROM 349 que almacena el software, algunas veces se denomina firmware. El programa POST 350 examina el hardware del módulo de ordenador 301 para garantizar su correcto funcionamiento y, típicamente, comprueba el funcionamiento correcto del procesador 305, la memoria 334 (309, 306) y un módulo de software de sistemas básicos de entrada y salida (Basic Input-Output Systems Software, BIOS) 351, que típicamente también está almacenado en la ROM 349. Una vez que el programa POST 350 se ha ejecutado correctamente, el BIOS 351 activa la unidad de disco duro 310 de la figura 3A. La activación de la unidad de disco duro 310 hace que el procesador 305 ejecute un programa cargador de arranque 352 que reside en la unidad de disco duro 310. Esto carga un sistema operativo 353 en la memoria RAM 306, después de lo cual el sistema operativo 353 comienza su operación. El sistema operativo 353 es una aplicación de nivel de sistema, ejecutable mediante el procesador 305, para realizar diversas funciones de alto nivel, incluyendo la gestión del procesador, la gestión de la memoria, la gestión de los dispositivos, la gestión del almacenamiento, la interfaz de aplicaciones de software y la interfaz de usuario genérica.
El sistema operativo 353 gestiona la memoria 334 (309, 306) para garantizar que cada proceso o aplicación que se ejecuta en el módulo de ordenador 301 tenga suficiente memoria en la que ejecutarse sin colisionar con la memoria asignada a otro proceso. Asimismo, los diferentes tipos de memoria disponibles en el sistema 300 de la figura 3A se deben usar adecuadamente, de tal manera que cada proceso pueda ejecutarse de forma eficaz. En consecuencia, el objetivo de la memoria agregada 334 no es mostrar cómo se asignan segmentos de memoria concretos (salvo que se indique lo contrario), sino dar a conocer una visión general de la memoria accesible mediante el sistema de ordenadores 300 y cómo se usa.
Como se muestra en la figura 3B, el procesador 305 incluye varios módulos funcionales, incluyendo una unidad de control 339, una unidad aritmético-lógica (Arithmetic Logic Unit, ALU) y una memoria local o interna 348, denominada en ocasiones una memoria caché. La memoria caché 348 típicamente incluye varios registros de almacenamiento 344-346 en una sección de registro. Uno o varios buses internos 341 interconectan funcionalmente estos módulos funcionales. Típicamente, el procesador 305 también tiene una o varias interfaces 342 para comunicarse con dispositivos externos por medio del bus del sistema 304, usando una conexión 318. La memoria334 se conecta al bus 304 usando una conexión 319.
El programa de aplicación 333 incluye una secuencia de instrucciones 331 que puede incluir instrucciones de bifurcación condicional y de bucle. El programa 333 también puede incluir datos 332, que se usan en la ejecución del programa 333. Las instrucciones 331 y los datos 332 se almacenan en las posiciones de memoria 328, 329, 330 y 335, 336, 337, respectivamente. Dependiendo del tamaño relativo de las instrucciones 331 y las posiciones de memoria 328-330, una instrucción concreta se puede almacenar en una única posición de memoria, como se representa mediante la instrucción mostrada en la posición de memoria 330. Alternativamente, una instrucción se puede segmentar en varias partes, cada una de las cuales se almacena en una posición de memoria independiente, como se representa mediante los segmentos de instrucciones mostrados en las posiciones de memoria 328 y 329. En general, se proporciona al procesador 305 un conjunto de instrucciones que se ejecutan en el mismo. El procesador 305 espera la siguiente entrada, a la que el procesador 305 reacciona ejecutando otro conjunto de instrucciones. Cada entrada se puede proporcionar desde una o varias de diversas fuentes, incluyendo los datos generados mediante uno o varios de los dispositivos de entrada 302, 303, los datos recibidos de una fuente externa a través de una de las redes 320, 302, los datos recuperados de uno de los dispositivos de almacenamiento 306, 309, o los datos recuperados de un medio de almacenamiento 325 introducido en el lector correspondiente 312, todos ellos representados en la figura 3A. En algunos casos, la ejecución de un conjunto de instrucciones puede dar lugar a la generación de datos. La ejecución también puede implicar el almacenamiento de datos o variables en la memoria 334.
El codificador 100, el descodificador 200 y los procedimientos descritos usan variables de entrada 354, que se almacenan en la memoria 334 en las posiciones de memoria correspondientes 355, 356, 357. El codificador 100, el descodificador 200 y los procedimientos descritos producen variables de salida 361, que se almacenan en la memoria 334 en las posiciones de memoria correspondientes 362, 363, 364. Las variables intermedias 358 se pueden almacenar en las posiciones de memoria 359, 360, 366 y 367.
Haciendo referencia al procesador 305 de la figura 3B, los registros 344, 345, 346, la unidad aritmético-lógica (ALU) 340 y la unidad de control 339 funcionan en conjunto para ejecutar secuencias de micro-operaciones necesarias para ejecutar ciclos de "cargar, descodificar y ejecutar" para cada instrucción en el conjunto de instrucciones que conforman el programa 333. Cada ciclo de cargar, descodificar y ejecutar comprende:
(a) una operación de carga, que carga o lee una instrucción 331 de una posición de memoria 328, 329, 330; (b) una operación de descodificación, en la que la unidad de control 339 determina qué instrucción se ha cargado; y
(c) una operación de ejecución, en la que la unidad de control 339 y/o la ALU 340 ejecuta la instrucción.
A continuación, se puede ejecutar otro ciclo de cargar, descodificar y ejecutar para la siguiente instrucción. De igual modo, se puede ejecutar un ciclo de almacenamiento, mediante el cual la unidad de control 339 almacena o escribe un valor en una posición de memoria 332.
Cada etapa o subproceso en los procesos de las figuras 1, 2, 4, 5, 7 a 10 y 14 a 17, que se describirán más adelante, está asociado con uno o varios segmentos del programa 333, y se lleva a cabo mediante la sección de registro 344, 345, 347, la ALU 340 y la unidad de control 339 en el procesador 305, que trabajan conjuntamente para llevar a cabo los ciclos de cargar, descodificar y ejecutar para cada instrucción en el conjunto de instrucciones para los segmentos indicados del programa 333.
Alternativamente, el codificador 100, el descodificador 200 y los procedimientos descritos se pueden implementar en hardware dedicado, tal como uno o varios circuitos integrados, que llevan a cabo las funciones o sub-funciones de los procedimientos descritos. Dicho hardware dedicado puede ser en la forma de un aparato computarizado, y puede incluir procesadores de gráficos, procesadores de señales digitales, circuitos integrados específicos de la aplicación (Application Specific Integrated Circuit, ASIC), matrices de puertas programables por campo (Field Programmable Gate Array, FPGA) o uno o varios microprocesadores y memorias asociadas. Dicho aparato computarizado se puede usar para llevar a cabo algunas operaciones de codificación en hardware y otras operaciones de codificación en software que se ejecuta en el hardware.
Como se ha descrito anteriormente, el codificador de vídeo 100 se puede implementar como uno o varios módulos de código de software del programa de aplicación de software 333 residente en la unidad de disco duro 305, controlándose en su ejecución mediante el procesador 305. En concreto, el codificador de vídeo 100 comprende los módulos 102 a 112, 114 y 115, cada uno de los cuales se puede implementar como uno o varios módulos de código de software del programa de aplicación de software 333.
Aunque el codificador de vídeo 100 es un ejemplo de un proceso de descodificación de vídeo de la Codificación de Vídeo de Alta Eficiencia (HEVC), las etapas de procesamiento que llevan a cabo los módulos 102 a 112, 114 y 115 son comunes a otros códecs de vídeo, tales como VC-1 o H.264/MPEG-4 AVC. El codificador de vídeo 100 recibe datos de tramas sin codificar 101 como una serie de tramas que incluyen muestras de luminancia y crominancia. El codificador de vídeo 100 divide cada trama de los datos de tramas 101 en conjuntos jerárquicos de unidades de codificación (CU), que se pueden representar, por ejemplo, como un árbol de unidades de codificación (CU).
El codificador de vídeo 100 opera generando, desde un módulo multiplexador 110, una matriz de muestras de datos predichos, conocida como una unidad de predicción (PU) 120. Un módulo de diferencia 115 genera la diferencia entre la unidad de predicción (PU) 120 y una matriz correspondiente de muestras de datos recibida de los datos de tramas 101, conociéndose la diferencia como muestras de datos residuales 122.
Las muestras de datos residuales 122 del módulo de diferencia 115 se reciben mediante un módulo de transformada 102, que convierte la diferencia de una representación espacial a una representación en el dominio de la frecuencia para crear coeficientes de transformada 124 para cada unidad de transformada (TU) en el árbol de transformadas. Para el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, la conversión a la representación en el dominio de la frecuencia se implementa usando una transformada de coseno discreto modificada (DCT), en la que se modifica una DCT tradicional para implementarse usando desplazamientos y adiciones. A continuación, los coeficientes de transformada 124 se introducen en un módulo de escalado y cuantificación 103, y se escalan y cuantifican para producir coeficientes residuales 126. El proceso de escalado y cuantificación da lugar a una pérdida de precisión. Los coeficientes residuales 126 se toman como una entrada para un módulo de escalado inverso 105, que invierte el escalado llevado a cabo mediante el módulo de escalado y cuantificación para producir coeficientes de transformada reescalados 128, que son versiones reescaladas de los coeficientes residuales 126. Los coeficientes residuales 126 también se toman como una entrada a un módulo codificador de entropía 104, que codifica los coeficientes residuales en un flujo de bits codificado 113. Debido a la pérdida de precisión resultante del módulo de escalado y cuantificación 103, los coeficientes de transformada reescalados 128 no son idénticos a los coeficientes de transformada originales 124. A continuación, los coeficientes de transformada reescalados 128 del módulo de escalado inverso 105 se envían a un módulo de transformada inversa 106. El módulo de transformada inversa 106 lleva a cabo una transformada inversa del dominio de la frecuencia al dominio espacial para producir una representación en el dominio espacial 130 de los coeficientes de transformada reescalados 128 idéntica a la representación en el dominio espacial que se produce en un descodificador.
Un módulo de estimación de movimiento 107 produce vectores de movimiento 132 comparando los datos de tramas 101 con datos de tramas anteriores almacenados en un módulo de almacenamiento intermedio de tramas 112, configurado típicamente dentro de la memoria 306. A continuación, los vectores de movimiento 132 se introducen en un módulo de compensación de movimiento 108, que produce muestras de referencia interpredichas 134 filtrando muestras almacenadas en el módulo de almacenamiento intermedio de tramas 112, teniendo en cuenta un desplazamiento espacial obtenido de los vectores de movimiento 132. No mostrados en la figura 1, los vectores de movimiento 132 también se pasan como elementos sintácticos al módulo codificador de entropía 104 para su codificación en el flujo de bits codificados 113. Un módulo de predicción intra-tramas 109 produce muestras de referencia intra-predichas 136 usando las muestras 138 obtenidas de un módulo de acumulación 114, que suma la salida 120 del módulo multiplexador 110 y la salida 130 del módulo de transformada inversa 106.
Las unidades de predicción (PU) se pueden codificar usando procedimientos de intra-predicción o inter-predicción. La decisión de si usar intra-predicción o inter-predicción se realiza según un compromiso de velocidad-distorsión entre la velocidad binaria deseada del flujo de bits codificados resultante 113 y la cantidad de distorsión de calidad de imagen introducida por el procedimiento de intra-predicción o inter-predicción. El módulo multiplexador 110 selecciona las muestras de referencia intra-predichas 136 del módulo de predicción intra-tramas 109 o bien en las muestras de referencia inter-predichas 134 del bloque de compensación de movimiento 108, dependiendo del modo de predicción actual 143, determinado mediante la lógica de control, no mostrada pero bien conocida en la técnica. El modo de predicción 142 también se proporciona al codificador de entropía 104, tal como se muestra y, como tal, se usa para determinar o, de otro modo, establecer el orden de barrido de las unidades de transformada, tal como se describirá más adelante. La predicción inter-tramas usa solo un orden de barrido en diagonal, mientras que la predicción intra-tramas puede usar el barrido en diagonal, un barrido horizontal o un orden de barrido vertical.
El módulo de acumulación 114 produce una suma 138 que se introduce en un módulo de filtro de eliminación de bloques 111. El módulo de filtro de eliminación de bloques 111 lleva a cabo el filtrado a lo largo de los límites de bloque, produciendo muestras con eliminación de bloques 140 que se escriben en el módulo de memoria intermedia de tramas 112 configurado en la memoria 306. El módulo de memoria intermedia de tramas 112 es una memoria intermedia con capacidad suficiente para almacenar datos de múltiples tramas anteriores para futuras referencias.
En el codificador de vídeo 100, las muestras de datos residuales 122 de una unidad de transformada (TU) se determinan buscando la diferencia entre las muestras de datos de los datos de tramas de entrada 101 y la predicción 120 de las muestras de datos de los datos de tramas de entrada 101. La diferencia proporciona una representación espacial de los coeficientes residuales de la unidad de transformada (TU).
En la operación del módulo codificador de entropía 104, los coeficientes residuales de una unidad de transformada (TU) se convierten en un mapa de significatividad bidimensional. A continuación, el mapa de significatividad de los coeficientes residuales en la unidad de transformada (TU) se barre en un orden concreto, conocido como orden de barrido, para formar una lista unidimensional de valores de indicadores, denominada lista de indicadores de coeficientes significativos. El orden de barrido se puede describir o, de otro modo, especificar mediante un patrón de barrido, tal como el recibido con el modo de predicción 142 desde el módulo de intra-predicción 109. El módulo de intra-predicción 109 determina un modo de intra-predicción que se puede usar para seleccionar el patrón de barrido. Por ejemplo, si se selecciona el modo de intra-predicción 1 (intra-predicción vertical), entonces se usa un barrido horizontal, tal como se ve en la figura 12. Si se selecciona el modo de intra-predicción 0 (intra-predicción plana), entonces se usa un barrido diagonal, tal como se ve en la figura 11, mientras que si se selecciona el modo de intrapredicción 2 (intra-predicción horizontal), entonces se usa un barrido vertical, tal como se ve en la figura 13. El patrón de barrido puede ser horizontal, vertical, en diagonal o en zigzag. La versión 5 del modelo de prueba de la Codificación de Vídeo de Alta Eficiencia (HEVC) lleva a cabo el barrido en una dirección hacia atrás, sin embargo, también es posible un barrido en una dirección hacia delante. Para las unidades de transformada (TU) de 16x16, 32x32, 4x16, 16x4, 8x32 y 32x8, se define un barrido de dos niveles, en el que la unidad de transformada (TU) se divide en un conjunto de sub-bloques, teniendo cada sub-bloque una forma cuadrada. En el nivel superior, el barrido se lleva a cabo barriendo cada nivel inferior usando un barrido tal como el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás. En el nivel inferior, también conocido como el nivel de sub-bloque, el barrido también se lleva a cabo usando un barrido tal como el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás. En la versión 5.0 del modelo de referencia de HEVC, la operación de barrido comienza un coeficiente residual después del último coeficiente significativo (donde 'después' es en la dirección de un barrido hacia atrás de los coeficientes residuales) y progresa hasta que se alcanza una localización superior izquierda del mapa de significatividad. Las operaciones de barrido que tienen esta propiedad y que son acordes a la versión 5.0 del modelo de referencia de HEVC se conocen como 'barridos hacia atrás'. En la versión 5.0 del software de referencia de HEVC, la localización del último coeficiente significativo se señaliza codificando las coordenadas del coeficiente en la unidad de transformada (TU). Quienes estén familiarizados con la técnica apreciarán que el uso del adjetivo "último" en este contexto depende del orden de barrido concreto. Lo que puede ser el "último" coeficiente residual distinto de cero o el indicador del coeficiente significativo de valor uno correspondiente según un patrón de barrido puede no ser el "último" según otro patrón de barrido. La lista de indicadores de coeficientes significativos, que indican la significatividad de cada coeficiente residual antes del último coeficiente significativo, se codifica en el flujo de bits 113. No se requiere que el valor del indicador del último coeficiente significativo se codifique explícitamente en el flujo de bit 113, porque la codificación anterior de la localización del indicador del último coeficiente significativo indicaba implícitamente que este coeficiente residual era significativo.
La agrupación de coeficientes residuales de valor más grande hacia la parte superior izquierda de la unidad de transformada (TU) da como resultado que la mayoría de los indicadores de significatividad anteriores en la lista son significativos, mientras que se encuentran pocos indicadores de significatividad posteriormente en la lista.
El módulo codificador de entropía 104 también produce elementos sintácticos a partir de datos de coeficientes residuales (o coeficientes residuales) entrantes 126 recibidos del módulo de escalado y cuantificación 103. El módulo codificador de entropía 104 genera el flujo de bits codificado 113, que se describirá con más detalle a continuación. Para el estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, el flujo de bits codificado 113 se define en unidades de capas de abstracción de red (Network Abstraction Layer, NAL). Cada fragmento de una trama está contenido en una unidad NAL.
Existen varias alternativas para el procedimiento de codificación de entropía implementado en el módulo codificador de entropía 104. El estándar de Codificación de Vídeo de Alta Eficiencia (HEVC), en fase de desarrollo, soporta la codificación aritmética binaria adaptativa según el contexto (CABAC), una variante de la codificación aritmética binaria adaptativa según el contexto (CABAC) que se encuentra en H.264/MPEG-4 AVC. Un esquema de codificación de entropía alternativo es el codificador de entropía de partición de intervalos de probabilidad (Probability Interval Partitioning Entropy, PIPE), que es bien conocido en la técnica.
Para un codificador de vídeo 100 que soporta múltiples procedimientos de codificación de vídeo, se selecciona uno de los procedimientos de codificación de entropía soportados según la configuración del codificador 100. Además, en la codificación de las unidades de codificación de cada trama, el módulo codificador de entropía 104 escribe el flujo de bits codificado 113 de tal manera que cada trama tiene uno o varios fragmentos por trama, conteniendo cada fragmento datos de imagen para parte de la trama. Producir un fragmento por trama reduce la sobrecarga asociada con la definición de cada límite de fragmento. Sin embargo, también es posible dividir la trama en múltiples fragmentos.
El descodificador de vídeo 200 se puede implementar como uno o varios módulos de código de software del programa de aplicación de software 333 residente en la unidad de disco duro, controlándose en su ejecución mediante el procesador 305. En concreto, el descodificador de vídeo 200 comprende los módulos 202 a 208 y 210, cada uno de los cuales se puede implementar como uno o varios módulos de código de software del programa de aplicación de software 333. Aunque el descodificador de vídeo 200 se describe haciendo referencia a un proceso de descodificación de vídeo de la Codificación de Vídeo de Alta Eficiencia (HEVC), las etapas de procesamiento que llevan a cabo los módulos 202 a 208 y 209 son comunes a otros códecs de vídeo que emplean la codificación de entropía, tales como H.264/MPEG-4 a Vc , MPEG-2 y VC-1.
El descodificador de vídeo 200 recibe un flujo de bits codificado, tal como el flujo de bits codificado 113. El flujo de bits codificado 113 se puede leer de la memoria 306, la unidad de disco duro 310, un CD-ROM, un disco Blu-ray™ u otro medio de almacenamiento legible por ordenador. Alternativamente, el flujo de bits codificado 113 se puede recibir desde una fuente externa, tal como un servidor conectado a la red de comunicaciones 320 o un receptor de radiofrecuencia. El flujo de bits codificado 113 contiene elementos sintácticos codificados que representan los datos de tramas a descodificar.
El flujo de bits codificado 113 se introduce en un módulo descodificador de entropía 202, que extrae los elementos sintácticos del flujo de bits codificado 113 y pasa los valores de los elementos sintácticos a otros bloques en el descodificador de vídeo 200. Se pueden implementar múltiples procedimientos de descodificación de entropía en el módulo descodificador de entropía 202, tales como los descritos con referencia al módulo codificador de entropía 104. Los datos de elementos sintácticos 220 que representan los datos de coeficientes residuales se pasan a un módulo de escalado y transformada inversos 203, y los datos de elementos sintácticos 222 que representan la información del vector de movimiento se pasan a un módulo de compensación de movimiento 204. El módulo de escalado y transformada inversos 203 lleva a cabo un escalado inverso sobre los datos de coeficientes residuales para crear coeficientes de transformada reconstruidos. A continuación, el módulo 203 lleva a cabo una transformada inversa para convertir los coeficientes de transformada reconstruidos de una representación en el dominio de la frecuencia a una representación en el dominio espacial, produciendo muestras residuales 224, tal como la transformada inversa descrita con referencia al módulo de transformada inversa 106.
El módulo de compensación de movimiento 204 usa los datos del vector de movimiento 222 del módulo descodificador de entropía 202, combinados con datos de tramas anteriores 226 de un bloque de memoria intermedia de tramas 208, configurado en la memoria 306, para producir muestras de referencia inter-predichas 228 para una unidad de predicción (PU), siendo una predicción de los datos de tramas descodificados de salida. Cuando un elemento sintáctico indica que la unidad de codificación actual se codificó usando intra-predicción, el módulo de predicción intra-tramas 205 produce muestras de referencia intra-predichas 230 para la unidad de predicción (PU) usando muestras contiguas espacialmente a la unidad de predicción (PU). Las muestras contiguas espacialmente se obtienen de una suma 232 enviada desde un módulo de acumulación 210. El módulo multiplexador 206 selecciona muestras de referencia intra-predichas o muestras de referencia inter-predichas para la unidad de predicción (PU) dependiendo del modo de predicción actual, lo que se indica mediante un elemento sintáctico en el flujo de bits codificado 113. La matriz de muestras 234 enviada desde el módulo multiplexador 206 se añade a las muestras residuales 224 del módulo de escalado y transformada inversos 203 mediante el módulo de acumulación 210 para producir la suma 232 que, a continuación, se introduce en cada uno de un módulo de filtro de eliminación de bloques 207 y el módulo de predicción intra-tramas 205. Al contrario que el codificador 100, el módulo de predicción intra-tramas 205 recibe un modo de predicción 236 del descodificador de entropía 202. El multiplexador 206 recibe una señal de selección de predicción intra-tramas/predicción inter-tramas del descodificador de entropía 202. El módulo de filtro de eliminación de bloques 207 lleva a cabo el filtrado a lo largo de los límites de los bloques de datos para suavizar los artefactos visibles a lo largo de los límites de los bloques de datos. La salida del módulo de filtro de eliminación de bloques 207 se escribe en el módulo de memoria intermedia de tramas 208, configurado en la memoria 306. El módulo de memoria intermedia de tramas 208 proporciona capacidad suficiente para almacenar múltiples tramas descodificadas para futuras referencias. Las tramas descodificados 209 también se envían desde el módulo de memoria intermedia de tramas 208.
El codificador de entropía 104 se describirá haciendo referencia a la figura 4. Los elementos sintácticos, tales como los coeficientes residuales 401, se introducen en un módulo binarizador 404. Un tamaño de unidad de transformada (TU) 402 se introduce en el módulo binarizador 404, e indica el tamaño de la unidad de transformada (TU) que se va a codificar. Un patrón de barrido 403 se introduce en el módulo binarizador 404. El módulo binarizador 404 binariza cada elemento sintáctico en una secuencia de bins. Cada bin comprende un valor de bin 406 y un índice de contexto 405. El valor de bin 406 y el índice de contexto 405 se reciben mediante un modelo de contexto 407, que genera un contexto 408, seleccionado según el índice de contexto 405. El contexto 408 se actualiza según el valor de bin 405. El procedimiento para actualizar el contexto 408 es acorde al usado por la codificación aritmética binaria adaptativa según el contexto (CABAC) en H.264/MPEG-4 AVC. El módulo binarizador 404 binariza los coeficientes residuales según un procedimiento 600, que se describe a continuación haciendo referencia a la figura 6. Un codificador aritmético binario 409 usa el contexto 408 y el valor de bin 406 para codificar el bin en el flujo de bits codificado 113.
El descodificador de entropía 202 se describirá haciendo referencia a la figura 5. Un módulo binarizador inverso 503 recibe un tamaño de unidad de transformada (TU) 502 y un patrón de barrido 501. El patrón de barrido 501 se puede determinar a partir del modo de predicción 236 determinado mediante el descodificador de entropía 202. Esto se puede hacer seleccionando el patrón de barrido basándose en el modo de predicción 236, tal como se ha descrito anteriormente en relación con el módulo de intra-predicción 109 del descodificador 100. El módulo binarizador inverso 502 genera los coeficientes residuales 509 llevando a cabo la operación inversa del módulo binarizador 404. Desde el módulo binarizador inverso 503 se envía un índice de contexto para cada bin que se va a descodificar. Un modelo de contexto 505 genera un contexto 506 seleccionado mediante el índice de contexto 504. Un descodificador aritmético binario 507 descodifica un valor de bin 508 a partir del flujo de bits codificado 113 usando el contexto 506. El valor de bin 508 se recibe mediante el módulo de contexto 505 y se usa para actualizar el contexto 506. El módulo binarizador inverso 503 también recibe el valor de bin 508. El módulo binarizador inverso 503 descodifica los coeficientes residuales según un procedimiento 700, que se describe a continuación haciendo referencia a la figura 7.
Codificación convencional, TU de 8x8
Se describirá un procedimiento convencional para codificar una unidad de transformada (TU) de 8x81100 usando un barrido en diagonal hacia atrás haciendo referencia a las figuras 6 y 11. La unidad de transformada (TU) de 8x81100 que se observa en la figura 11 no hace uso de sub-bloques. Se aplica un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás 1101 sobre la totalidad de la unidad de transformada (TU) de 8x8 1100. El procedimiento 600 de la figura 6 se aplica usando el patrón de barrido de barrido hacia abajo y hacia la izquierda en diagonal hacia atrás 1101.
Una etapa de codificar la posición del último coeficiente significativo 601 codifica la posición del último coeficiente significativo en la unidad de transformada (TU) de 8x81100. La posición del último coeficiente significativo se define como la posición del último coeficiente residual distinto de cero cuando se busca la unida de transformada (TU) de 8x8 1100 aplicando el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás 1101 en una dirección hacia delante.
Una etapa de buscar en tabla de 8x8 602, una etapa de codificar los indicadores de los coeficientes significativos 603 y una etapa de último en subconjunto 604 codifican todos los coeficientes significativos en un subconjunto de 16 coeficientes. Las etapas 603 y 604 operan en primer lugar sobre el subconjunto que contiene el último coeficiente significativo cuando se emplea un barrido hacia atrás. La etapa de buscar en tabla de 8x8 602 determina un índice para el subconjunto actual en una tabla que contiene el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás de 8x8 1101. La etapa de codificar los indicadores de los coeficientes significativos 603 codifica un coeficiente significativo del subconjunto en el flujo de bits codificado 113 usando el codificador aritmético binario 409. La etapa de último en el subconjunto 604 finaliza un bucle de etapas 602 y 603 una vez que se han barrido todos los coeficientes significativos del subconjunto. Para un barrido hacia atrás, este bucle cuenta desde un valor máximo hasta cero. El valor máximo es 16, excepto para el subconjunto que contiene el último coeficiente significativo, en el que el valor máximo se configura para omitir el último coeficiente significativo del barrido del subconjunto.
Una etapa de codificar los niveles residuales 605 codifica el nivel residual para cada coeficiente significativo en el subconjunto. Los niveles residuales en un subconjunto se codifican en múltiples etapas, iterando cada etapa sobre los coeficientes significativos del subconjunto. En primer lugar, se codifican los indicadores que indican que un valor absoluto de un coeficiente significativo es mayor que uno. En segundo lugar, se codifican los indicadores que indican los coeficientes significativos que tienen valores absolutos mayores que dos, de los coeficientes significativos que tienen valores absolutos mayores que uno. En tercer lugar, se codifican los indicadores que indican el signo de cada coeficiente significativo. En cuarto lugar, de los coeficientes significativos que tienen valores mayores que dos, se codifica la magnitud menos tres de estos coeficientes significativos.
Una etapa de último subconjunto 606 produce la iteración sobre las etapas 602, 603, 604 y 605 hasta que se ha codificado el primer subconjunto de la unidad de transformada (TU) 1100, después de que se han codificado cualesquiera de los subconjuntos 4, 3 y 2, según sea necesario, después de lo cual el procedimiento 600 finaliza. Se describirá un procedimiento convencional para codificar una unidad de transformada (TU) de 8x81200 usando un barrido horizontal hacia atrás haciendo referencia a las figuras 6 y 12. La unidad de transformada (TU) de 8x8 1200 no hace uso de sub-bloques. Se aplica un barrido horizontal hacia atrás 1201 sobre la totalidad de la unidad de transformada (TU) de 8x81200. El procedimiento 600 se aplica usando el patrón de barrido definido.
Se describirá un procedimiento convencional para codificar una unidad de transformada (TU) de 8x81300 usando un barrido vertical hacia atrás haciendo referencia a las figuras 6 y 13. La unidad de transformada (TU) de 8x8 1300 no hace uso de sub-bloques. Se aplica un barrido vertical hacia atrás 1301 sobre la totalidad de la unidad de transformada (TU) de 8x81300. El procedimiento 600 se aplica usando el patrón de barrido definido.
Descodificación convencional, TU de 8x8
Se describirá un procedimiento convencional para descodificar una unidad de transformada (TU) de 8x8 usando un barrido en diagonal hacia atrás haciendo referencia a las figuras 7 y 11. La unidad de transformada (TU) de 8x81100 no hace uso de sub-bloques. Se aplica un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás 1101 sobre la totalidad de la unidad de transformada (TU) de 8x81100. El procedimiento 700 se aplica usando el patrón de barrido definido.
Una etapa de descodificar la posición del último coeficiente significativo 701 descodifica la localización del último coeficiente significativo en la unidad de transformada (TU) de 8x8 1100, definido como el último coeficiente residual distinto de cero cuando se aplica el patrón de barrido en una dirección hacia delante.
Una etapa de buscar en tabla de 8x8 posiciones 702, una etapa de descodificar coeficientes significativos 703 y una etapa de comprobación de último en subconjunto 703 descodifican los indicadores de los coeficientes significativos de un subconjunto iterando sobre cada localización en el subconjunto, desde la última localización hasta la primera localización, y descodificando un indicador de coeficiente significativo por localización. La etapa de buscar en la tabla de 8x8 posiciones 702 determina la localización en la unidad de transformada (TU) de 8x8 1100 para el coeficiente significativo actual en el subconjunto. Para subconjuntos que contienen el último coeficiente significativo, la última localización se define de tal manera que la posición del último coeficiente significativo se excluye del barrido del subconjunto, de otro modo la última posición se ajusta a 16.
Una etapa de descodificar los niveles residuales 705 descodifica la magnitud y el signo para cada coeficiente significativo en el subconjunto. La etapa de descodificar los niveles residuales 705 descodifica los niveles residuales de los coeficientes significativos iterando sobre los coeficientes significativos en el subconjunto cuatro veces. En la primera iteración, se descodifican los indicadores que indican si el valor absoluto del coeficiente significativo es mayor que uno. En la segunda iteración, se descodifican los indicadores que indican si el valor absoluto de los coeficientes significativos mayor que uno también es mayor que dos. En la tercera iteración, se descodifican los indicadores que indican el signo para cada coeficiente significativo. En la cuarta iteración, para los coeficientes significativos mayores que dos, se descodifica la magnitud menos tres, permitiendo reconstruir la magnitud residual para casos en los que se sabe que la magnitud es mayor que dos.
Una etapa de comprobación de último subconjunto 706 produce la iteración sobre las etapas 702, 703, 704 y 705 hasta que se ha descodificado el primer subconjunto de la unidad de transformada (TU) 1100, después de que se han codificado cualesquiera de los subconjuntos 4, 3 y 2, según sea necesario, después de lo cual el procedimiento 700 finaliza.
Se describirá un procedimiento convencional para descodificar una unidad de transformada (TU) de 8x8 1200 usando un barrido horizontal hacia atrás haciendo referencia a las figuras 7 y 12. La unidad de transformada (TU) de 8x8 1200 no hace uso de sub-bloques. Se aplica un barrido horizontal hacia atrás 1201 sobre la totalidad de la unidad de transformada (TU) de 8x81200. El procedimiento 700 se aplica usando el patrón de barrido definido. Se describirá un procedimiento convencional para descodificar una unidad de transformada (TU) de 8x8 1300 usando un barrido vertical hacia atrás haciendo referencia a las figuras 7 y 13. La unidad de transformada (TU) de 8x8 1300 no hace uso de sub-bloques. Se aplica un barrido vertical hacia atrás 1301 sobre la totalidad de la unidad de transformada (TU) de 8x81300. El procedimiento 700 se aplica usando el patrón de barrido definido. Realización - Codificación de una TU de 8x8
Se describirá un procedimiento 800, según la presente invención, para codificar una unidad de transformada (TU) de 8x8 1500 usando un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás, haciendo referencia a las figuras 8, 10A, 10B, 14, 15A, 15B y 15C. La unidad de transformada (TU) de 8x8 1500 que se ve en la figura 15A tiene un tamaño de sub-bloque de 4x4. La unidad de transformada (TU) 1500 representa una capa cuadrada de nivel inferior de coeficientes que se deben barrer para su codificación. Dentro de cada sub-bloque, tal como el sub­ bloque 1502 que se ve en la figura 15C, se aplica un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás, como se ve en la figura 15C. Cuando se barren los sub-bloques en la unidad de transformada (TU) de 8x8 1500, se aplica un barrido de capa superior hacia abajo y hacia la izquierda en diagonal hacia atrás a una representación de nivel de capa superior cuadrada 1503 de la misma, como se ve en la figura 15B. Como se ve en la figura 15B, el nivel de capa superior 1503 incluye una disposición de 2x2 de sub-bloques de nivel de capa inferior 1502. De esta forma, los indicadores de grupos de coeficientes significativos representan una zona no superpuesta, de tal manera que los sub-bloques no se superponen en la capa de nivel inferior. Por lo tanto, el patrón de barrido 1501 de la figura 15A representa una combinación del patrón 1505 de la figura 15C replicado cuatro veces según el patrón 1504 de la figura 15B. Una ventaja de esta solución es que, en lugar de almacenar un patrón para una matriz de tamaño 64 (8x8), como en las figuras 11, 12 y 13, el patrón 1501 se puede almacenar usando una matriz de tamaño 4 (2x2) 16 (4x4) = 20, lo que da lugar a la consiguiente reducción en el uso de memoria. Además, se apreciará que cualquiera de los tamaños de matriz de 2x2, 4x4 y 8x8, por ejemplo, son cuadrados.
El procedimiento 800 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior. El procedimiento 800 codifica los coeficientes residuales de una unidad de transformada (TU) usando grupos de coeficientes significativos, y se describirá haciendo referencia a la figura 8. La unidad de transformada (TU) se divide en un cierto número de sub-bloques. La figura 10A representa una capa cuadrada superior ejemplar 1000 de una unidad de transformada (TU).
La unidad de transformada (TU) de 8x8 1400 que se ve en la figura 14, ejemplar de la unidad de transformada (TU) de 8x81500 de la figura 15A, codifica los coeficientes residuales en una jerarquía de dos capas (superior e inferior). La unidad de transformada (TU) de 8x8 1400 se divide en sub-bloques de igual tamaño, como por ejemplo el sub­ bloque de 4x4 1401. Los sub-bloques en la unidad de transformada (TU) 1400 se representan mediante una capa superior 1402. La capa superior 1402 incluye indicadores de grupos de coeficientes significativos, tales como el indicador de grupo de coeficientes significativos 1403, cada uno de los cuales se puede calcular o inferir. Cuando se calcula un indicador de grupo de coeficientes significativos, tal como el indicador de grupo de coeficientes significativos 1403, el indicador de grupo de coeficientes significativos indica si alguno de los coeficientes residuales, tal como el coeficiente residual 1404, dentro de un sub-bloque correspondiente, tal como el sub-bloque 1401, es significativo. Cuando se infiere un indicador de grupo de coeficientes significativos, es posible que todos los coeficientes residuales del sub-bloque correspondiente sean no significativos.
En el procedimiento 800 que se ve en la figura 8, una etapa de codificar la posición del último coeficiente significativo 801 codifica las coordenadas del último coeficiente significativo a lo largo de la ruta de barrido de dos niveles. Una etapa de buscar posición en tabla de 2x2802 determina la posición para el sub-bloque actual aplicando una búsqueda al barrido de capa superior hacia abajo y hacia la izquierda en diagonal hacia atrás de 2x21504. Esto permite identificar correctamente el sub-bloque pertinente 1502. Una etapa de buscar posición en tabla de 4x4803 determina un desplazamiento dentro de la posición para el coeficiente significativo actual llevando a cabo una búsqueda en un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás de 4x4 1505, identificando así la localización correcta dentro del sub-bloque de 4x4 actual 1502. Una etapa de determinar el indicador del coeficiente significativo 804 comprueba el valor del coeficiente residual en el desplazamiento determinado dentro del sub­ bloque 1502 y, por tanto, dentro de la unidad de transformada (TU) de 8x8 1500, como significativo (de valor uno) si el coeficiente residual es distinto de cero y como no significativo (de valor cero) en otro caso.
Una etapa de comprobación de último en sub-bloque 805 produce la iteración sobre las etapas 803 y 804, de tal que manera se comprueban todas las localizaciones dentro de los sub-bloques que no contienen el último coeficiente significativo y, para los sub-bloques que contienen el último coeficiente significativo, todas las localizaciones que preceden al último coeficiente significativo (donde 'preceden' asume la aplicación del barrido en una dirección hacia delante). Para un barrido hacia atrás, tal como el patrón 1505, el último en un sub-bloque siempre será la localización superior izquierda. Para un barrido hacia delante, será la localización inferior derecha para aquellos sub­ bloques que no posean la posición del último coeficiente significativo, y será la localización inmediatamente anterior a la posición del último coeficiente significativo en el orden de barrido hacia delante.
Una etapa de determinar el indicador de grupo de coeficientes significativos 806 determina un indicador de coeficiente significativo para indicar si alguno (es decir, como mínimo uno) de los indicadores de coeficientes significativos en el sub-bloque tiene valor uno. Para el sub-bloque que contiene el último coeficiente significativo, se infiere que el indicador de grupo de coeficientes significativos tiene valor uno. Para el sub-bloque localizado en la esquina superior izquierda de la unidad de transformada (TU) 1500, también se infiere que el indicador de grupo de coeficientes significativos tiene valor uno. Una etapa de codificar el grupo de coeficientes significativos 807 codifica información para determinar la porción del mapa de significatividad contenida en un sub-bloque. En primer lugar, los indicadores de grupos de coeficientes significativos que no se infirieron se codifican en el flujo de bits. En segundo lugar, si el indicador de grupo de coeficientes significativos tiene valor uno, la porción del mapa de significatividad contenida en el subconjunto se codifica en el flujo de bits. Una etapa de codificar valores residuales 808 opera de una manera similar a la etapa de codificar niveles residuales 605, excepto por la disposición del mapa de significatividad en la capa superior de 2x2 y en la capa de sub-bloque inferior de 4x4. Una etapa de comprobación del último sub-bloque 809 permite la iteración sobre los sub-bloques, desde el sub-bloque que contiene el último coeficiente significativo hasta el sub-bloque localizado en la esquina superior izquierda de la unidad de transformada (TU) 1500. Después de que se codifica este sub-bloque, el procedimiento 800 finaliza. Los expertos en la materia apreciarán que el procedimiento 800 permite usar el barrido de sub-bloques de 4x4 en todos los tamaños de unidad de transformada (Tu) soportados por el codificador de vídeo 100.
La operación de la capa superior para determinar los indicadores de grupos de coeficientes significativos se describirá haciendo referencia a la capa superior ejemplar 1000 que se ve en la figura 10A. La capa superior ejemplar 1000 está formada por un indicador_grupocoef_significativos por sub-bloque. Para cada sub-bloque en la capa superior ejemplar 1000 se calcula o bien se infiere un indicador_grupocoef_significativos. Para el sub-bloque superior izquierdo en la capa superior ejemplar 1000, siempre se infiere que el indicador_grupocoef_significativos tiene valor uno. Para el sub-bloque en la capa superior ejemplar 1000 que contiene el último coeficiente significativo, también se infiere que el indicador_grupocoef_significativos tiene valor uno. Para otras localizaciones en la capa superior ejemplar 1000, se infiere que el indicador_grupocoef_significativos, tal como un indicador_grupocoef_significativos X 1001 tiene valor uno solo si tanto un vecino a la derecha, tal como un indicador_grupocoef_significativos A 1002, como un vecino por debajo, tal como un indicador_grupocoef_significativos B 1003, tienen valor uno. Si el vecino a la derecha o el vecino por debajo indicadores_grupocoef_significativos caen fuera de la capa superior ejemplar 1000, se infiere un valor cero para el vecino. Si se infiere el indicador_grupocoef_significativos, no se codifica en el flujo de bits codificado 113. Si no se infiere el indicador_grupocoef_significativos, y si se sabe que todos los indicadores_coef_significativos dentro del sub-bloque correspondiente tienen valor cero, entonces se calcula un indicador_grupocoef_significativos de valor cero. Alternativamente, si como mínimo uno de los indicadores_coef significativos dentro del sub-bloque correspondiente tiene valor uno, entonces se calcula un indicador_grupocoef_significativos de valor uno. Los valores calculados de indicador_grupocoef_significativos para la capa superior ejemplar 1000 se codifican en el flujo de bits codificado 113 usando un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás.
Por ejemplo, haciendo referencia a la figura 10B, en una capa superior 1004, se infiere que los indicadores_grupocoef_significativos sombreados, tales como un indicador_grupocoef_significativos 1005, tienen valor uno basándose en el vecino a la derecha y el vecino por debajo y, en consecuencia, no se codifican en el flujo de bits codificado 113. El indicador_grupocoef_significativos 1006 contiene el último coeficiente significativo y, por lo tanto, se infiere que tiene valor uno. Los indicadores_grupocoef significativos, tales como un indicador_grupocoef_significativos 1007, se localizan después del último coeficiente significativo y, por lo tanto, no se infiere, calcula ni codifica ningún valor para estas localizaciones. Siempre se infiere que un indicador_grupocoef_significativos 1008, localizado en la parte superior izquierda de la capa superior 804, tiene valor uno.
Al codificar cada indicador_grupocoef_significativos en la capa superior, se selecciona un contexto del modelo de contextos 404. Para las unidades de transformada (TU) que codifican muestras de luma y las unidades de transformada (TU) que codifican muestras de croma, hay dos contextos disponibles, ofreciendo un total de cuatro contextos para codificar la capa superior ejemplar 1000. La selección de contexto para cada indicador_grupocoef_significativos en la capa superior ejemplar 1000 depende del vecino a la derecha y el vecino por debajo. Como un caso ejemplar, el contexto para el indicador_grupocoef_significativos X 1001 se determina llevando a cabo una O lógica de los valores del indicador_grupocoef_significativos A 1002 y el indicador_grupocoef_significativos B 1003. Se infiere que los vecinos a la izquierda y los vecinos por debajo que caen fuera de la capa superior ejemplar 1000 tienen valor cero con fines de selección de contexto.
Se describirá un procedimiento, según la presente invención, para codificar una unidad de transformada (TU) de 8x81600 usando un barrido horizontal hacia atrás, haciendo referencia a las figuras 8, 16A, 16B y 16C. La unidad de transformada (TU) de 8x8 1600 tiene un tamaño de sub-bloque de nivel inferior de 4x4. Dentro de cada sub­ bloque, tal como el sub-bloque 1602, se aplica un barrido horizontal hacia atrás 1605, dando como resultado el patrón de barrido global 1601 que se ve en la figura 16A. Para barrer los sub-bloques 1602 en la unidad de transformada (TU) de 8x8 1600, se aplica un barrido de capa superior horizontal hacia atrás de 2x2 1604. El procedimiento 800 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior.
Se describirá un procedimiento, según la presente invención, para codificar una unidad de transformada (TU) de 8x81700 usando un barrido vertical hacia atrás, haciendo referencia a las figuras 8, 17A, 17B y 17C. La unidad de transformada (TU) de 8x8 1700 tiene un tamaño de sub-bloque de 4x4. Dentro de cada sub-bloque de capa inferior, tal como el sub-bloque 1702 de la figura 17C, se aplica un barrido vertical hacia atrás 1705. Al barrer los sub-bloques en la unidad de transformada (TU) de 8x8 1700, se aplica el barrido de capa superior vertical hacia atrás de 2x21704 que se ve en la figura 17B, dando como resultado el patrón de barrido global 1701 que se ve en la figura 17A. El procedimiento 800 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior.
Realización - Descodificación de una TU de 8x8
Se describirá un procedimiento, según la presente invención, para descodificar la unidad de transformada (TU) de 8x81500, haciendo referencia a las figuras 9, 15A, 15B y 15C. La unidad de transformada (TU) de 8x81500 tiene un tamaño de sub-bloque de 4x4. Dentro de cada sub-bloque, tal como el sub-bloque 1502, se aplica un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás 1505. Al barrer los sub-bloques en la unidad de transformada (TU) de 8x8 1500, se aplica un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás de 2x21504, dando como resultado el patrón de barrido global 1501. El procedimiento 900 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior.
Se describirá un procedimiento 900 para descodificar los coeficientes residuales de una unidad de transformada (TU) usando grupos de coeficientes significativos haciendo referencia a la figura 9. La unidad de transformada (TU) se divide en un cierto número de sub-bloques. Una etapa de descodificar la posición del último coeficiente significativo 901 descodifica las coordenadas del último coeficiente significativo en la unidad de transformada (TU) 1500 a lo largo de la ruta de barrido de dos niveles 1501. Una etapa de buscar posición en tabla de 2x2 902 determina la posición para el sub-bloque actual aplicando una búsqueda al barrido de capa superior hacia abajo y hacia la izquierda en diagonal hacia atrás de 2x2 1504. Una etapa de descodificar el grupo de coeficientes significativos 903 determina el valor inferido de un indicador de coeficiente significativo, usando el proceso análogo al descrito en la etapa de determinar el indicador de grupo de coeficientes significativos 806, o descodifica un indicador de grupo de coeficientes significativos del flujo de bits codificado 113. Una etapa de comprobar el indicador de grupo de coeficientes significativos 904 comprueba el valor del indicador de grupo de coeficientes significativos determinado. Si el indicador tiene valor uno, el control pasa a una etapa de buscar posición en tabla de 4x4905, por el contrario, si el indicador tiene valor cero, el control pasa a una etapa de comprobación de último sub-bloque 909. La etapa 905 determina un desplazamiento dentro de la posición para el coeficiente significativo actual llevando a cabo una búsqueda en un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás de 4x4. El resultado de la etapa de buscar posición en tabla de 4x4905 se combina con el resultado de la etapa de buscar posición en tabla de 2x2 para proporcionar un desplazamiento de la posición en la unidad de transformada (TU) de 8x8 1500. A continuación, una etapa de descodificar el indicador de coeficiente significativo 906 descodifica un indicador de coeficiente significativo para un coeficiente residual dentro del sub-bloque, tal como el sub-bloque 1502. Cuando se alcanza el coeficiente significativo final dentro del sub-bloque, y ningún coeficiente significativo anterior en el sub­ bloque tenía valor uno, y el indicador de grupo de coeficientes significativos correspondiente fue calculado (es decir, no fue inferido), se infiere que el coeficiente significativo final dentro del sub-bloque tiene valor uno. Una etapa de comprobación de último en sub-bloque 907 comprueba la posición dentro del sub-bloque, repitiendo en bucle las etapas 905 y 906 hasta que el sub-bloque de 4x41502 se ha procesado en su totalidad. Para el primer sub-bloque a procesar, que contiene el indicador del último coeficiente significativo, solo se itera sobre las localizaciones posteriores (donde 'posterior' se define como en un orden de barrido hacia atrás) en el sub-bloque. Cuando se ha procesado la última posición de un sub-bloque, una etapa de descodificar niveles residuales 908 descodifica los niveles residuales de una manera similar a la etapa de descodificar niveles residuales 705. Una etapa de comprobación de último sub-bloque 909 proporciona una iteración sobre todos los sub-bloques en la unidad de transformada (TU) 1500, comenzando en el sub-bloque que contiene el último coeficiente significativo y trabajando hacia atrás hasta que se procesa el sub-bloque localizado en la esquina superior izquierda de la unidad de transformada (TU) 1500 en las etapas 902-908, después de lo cual el procedimiento 900 finaliza. Los expertos en la materia apreciarán que el procedimiento 900 permite usar el barrido de sub-bloques de 4x4 en todos los tamaños de unidad de transformada (TU) soportados por el descodificador de vídeo 200.
Se describirá un procedimiento, según la presente invención, para descodificar la unidad de transformada (TU) de 8x81600, haciendo referencia a las figuras 9, 16A, 16B y 16C. La unidad de transformada (TU) de 8x81600 tiene un tamaño de sub-bloque de 4x4. Dentro de cada sub-bloque, tal como el sub-bloque 1602, se aplica un barrido horizontal hacia atrás 1605. Al barrer los sub-bloques en la unidad de transformada (TU) de 8x8 1600, se aplica un barrido horizontal hacia atrás de 2x2 1604. El procedimiento 900 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior.
Se describirá un procedimiento, según la presente invención, para descodificar la unidad de transformada (TU) de 8x81700, haciendo referencia a las figuras 9, 17A, 17B y 17C. La unidad de transformada (TU) de 8x81700 tiene un tamaño de sub-bloque de 4x4. Dentro de cada sub-bloque, tal como el sub-bloque 1702, se aplica un barrido vertical hacia atrás 1705. Al barrer los sub-bloques en la unidad de transformada (Tu) de 8x8 1700, se aplica un barrido vertical hacia atrás de 2x2 1704. El procedimiento 900 se aplica usando el tamaño de sub-bloque definido y el tamaño y patrón de barrido de capa superior.
Realización - Barrido de capa superior en diagonal solo para unidades de transformada de 8x8
Aunque los procedimientos 800 y 900 se aplicaron a las unidades de transformada (TU) 1500, 1600 y 1700, cada uno aplicó el mismo patrón de barrido de la capa de sub-bloque a la capa superior. Una alternativa es usar solo el barrido hacia abajo y hacia la izquierda en diagonal hacia atrás para el barrido de capa superior para las unidades de transformada (TU) 1500, 1600 y 1700. Además, el barrido de capa superior se puede ajustar a hacia abajo y hacia la izquierda en diagonal hacia atrás para todos los tamaños de unidades de transformada. Entonces, el patrón de barrido de la capa superior es independiente del patrón de barrido de la capa inferior. De este modo elimina la necesidad de almacenamiento de memoria para el barrido horizontal hacia atrás de 2x21604 y el barrido vertical en diagonal hacia atrás de 2x21704.
Realización - Reutilización del barrido de unidades de transformada de 8x8 para el barrido de capa superior de 32x32
Una unidad de transformada de 32x32 hace uso de un barrido de capa superior de 8x8, siendo un barrido hacia abajo y hacia la izquierda en diagonal hacia atrás. Es posible sustituir el barrido de capa superior de 8x8 por el barrido en diagonal hacia atrás de 8x8 1500, obtenido a partir del barrido en diagonal hacia atrás de 2x2 1504 y el barrido en diagonal hacia atrás de 4x41505. Una disposición de este tipo permite eliminar la tabla de búsqueda para el barrido de capa superior de 8x8, reduciendo los requisitos de almacenamiento de memoria.
Los expertos en la técnica apreciarán que los procedimientos 600 y 700, cuando se aplican con los tamaños de sub­ bloque especificados, permiten una reducción del número de tablas presentes en el codificador de vídeo 100 o el descodificador de vídeo 200.
Realización - Barrido con desplazamientos
Las figuras 18A a 18C ilustran una otra implementación en la que se obtiene una matriz lineal de valores a partir de la matriz bidimensional (2D), y se usan desplazamientos en la matriz lineal para establecer la distinción entre diferentes sub-bloques de la matriz 2D. La figura 18A ilustra una unidad de transformada de 8x8 a la que se accede como 4 unidades de 4x4 (sub-bloques) desplazadas en un orden de A, B, C y D, siendo un barrido hacia delante y hacia abajo (horizontal y de izquierda a derecha), recorriéndose cada sub-bloque según un barrido hacia delante y hacia abajo. Los expertos en la materia apreciarán que la implementación ilustrada en las figuras 18A a 18C también permite barrer la unidad de transformada de 8x8 en una dirección hacia atrás.
Como se ve en la figura 18B, el barrido de cada sub-bloque da como resultado una matriz lineal de valores correspondiente. Si se desea, las cuatro matrices de la figura 18B se pueden almacenar como tales para definir de manera inherente el orden de acceso del barrido de los valores de la unidad de transformada correspondiente. Alternativamente, como se ilustra en la figura 18C, el barrido de la unidad de transformada de la figura 18A se puede almacenar como una única matriz lineal de 16 (=4x4) valores, en la que se usa un desplazamiento (X) para reconstruir las 4 matrices. Cambiando X de 0, 4, 32, y 36, se puede reconstruir cada una de las cuatro matrices de la figura 18B.
APLICABILIDAD INDUSTRIAL
Las disposiciones descritas se aplican a las industrias de los ordenadores y el procesamiento de datos y, en concreto, para el procesado de señales digitales para la codificación y descodificación de señales tales como señales de vídeo.
Lo anterior describe solo algunas realizaciones de la presente invención, y se pueden realizar modificaciones y/o cambios sin salirse del alcance de la invención, siendo las realizaciones ilustrativas y no limitativas.

Claims (10)

REIVINDICACIONES
1. Procedimiento de descodificación de los coeficientes residuales de una unidad de transformada de un flujo de bits de datos de vídeo, comprendiendo el procedimiento:
recibir la unidad de transformada (1400) del flujo de bits de datos de vídeo, teniendo la unidad de transformada (1400) capas cuadradas de nivel superior (1402) y de nivel inferior (1401), en el que la capa cuadrada de nivel superior (1402) representa una disposición cuadrada de indicadores de grupos de coeficientes significativos, cada uno de los cuales indica si como mínimo uno de los coeficientes residuales dentro de una zona no superpuesta correspondiente de la capa cuadrada de nivel inferior (1401) es significativo, y la capa cuadrada de nivel inferior (1401) representa una pluralidad de disposiciones cuadradas de coeficientes residuales;
determinar un patrón de barrido (1501,1601,1701) para la capa cuadrada de nivel superior (1402) y la capa cuadrada de nivel inferior (1401) según un modo de intra-predicción;
determinar los indicadores de los grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) para la unidad de transformada recibida (1400) en un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701); y
determinar valores de coeficientes residuales de la capa cuadrada de nivel inferior (1401) según los indicadores de los grupos de coeficientes significativos determinados y un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701) de los coeficientes residuales para descodificar la unidad de transformada (1400) del flujo de bits de datos de vídeo,
en el que,
el patrón de barrido (1501, 1601, 1701) para los indicadores de los grupos de coeficientes significativos y los coeficientes residuales se determina a partir de un primer patrón de barrido (1501), un segundo patrón de barrido (1601) y un tercer patrón de barrido (1701), según el modo de intra-predicción, y
el primer patrón de barrido (1501), el segundo patrón de barrido (1601) y el tercer patrón de barrido (1701) son diferentes entre sí.
2. Procedimiento, según la reivindicación 1, en el que la determinación de los indicadores de los grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) comprende descodificar los indicadores de los coeficientes significativos codificados en el flujo de bits.
3. Procedimiento, según la reivindicación 1, en el que la determinación de los indicadores de los grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) comprende inferir como mínimo uno de los indicadores de los coeficientes significativos.
4. Procedimiento, según la reivindicación 1, en el que la capa cuadrada de nivel inferior (1401) de la unidad de transformada (1400) está formada por sub-bloques, y la determinación de los valores de los coeficientes residuales de la capa cuadrada de nivel inferior (1401) según los indicadores de los grupos de coeficientes significativos determinados comprende procesar cada uno de los sub-bloques de la unidad de transformada (1400).
5. Procedimiento, según la reivindicación 4, en el que el procesamiento comprende iterar sobre cada uno de los sub-bloques para formar una matriz lineal representativa de cada uno de los sub-bloques, en el que se usa un valor de desplazamiento correspondiente para reconstruir cada sub-bloque a partir de la matriz lineal.
6. Procedimiento, según la reivindicación 1, en el que la capa cuadrada de nivel superior (1402) representa una disposición cuadrada de cuatro indicadores de los grupos de coeficientes significativos.
7. Procedimiento, según la reivindicación 1, en el que una dirección de barrido de la capa cuadrada de nivel superior (1402) de la unidad de transformada (1400) se selecciona según el modo de intra-predicción aplicado a la unidad de transformada (1400).
8. Procedimiento de codificación de los coeficientes residuales de una unidad de transformada (1400) en un flujo de bits de datos de vídeo, comprendiendo el procedimiento:
recibir valores de coeficientes residuales para una capa cuadrada de nivel inferior (1401) de la unidad de transformada (1400);
determinar los indicadores de los grupos de coeficientes significativos correspondientes a una capa cuadrada de nivel inferior (1401) de la unidad de transformada (1400), en el que una capa cuadrada de nivel superior (1402) representa una disposición cuadrada de indicadores de los grupos de coeficientes significativos, cada uno de los cuales indica si como mínimo uno de los coeficientes residuales dentro de una zona no superpuesta correspondiente de la capa cuadrada de nivel inferior (1401) es significativo, y la capa cuadrada de nivel inferior (1401) representa una pluralidad de disposiciones cuadradas de coeficientes residuales;
determinar un patrón de barrido (1501, 1601, 1701) de la capa cuadrada de nivel superior (1402) y la capa cuadrada de nivel inferior (1401) según un modo de intra-predicción; y codificar los valores de los coeficientes residuales para la capa cuadrada de nivel inferior (1401) y los indicadores de los grupos de coeficientes significativos determinados en un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701) para codificar la unidad de transformada (1400) en el flujo de bits de datos de vídeo,
en el que:
el patrón de barrido (1501, 1601, 1701) para los indicadores de los grupos de coeficientes significativos y los coeficientes residuales se determina a partir de un primer patrón de barrido (1501), un segundo patrón de barrido (1601) y un tercer patrón de barrido (1701), según el modo de intra-predicción, y el primer patrón de barrido (1501), el segundo patrón de barrido (1601) y el tercer patrón de barrido (1701) son diferentes entre sí.
9. Medio de almacenamiento legible por ordenador que tiene un programa grabado en el mismo, siendo ejecutable el programa mediante un aparato computarizado para implementar un procedimiento para descodificar los coeficientes residuales de una unidad de transformada (1400) de un flujo de bits de datos de vídeo, comprendiendo el procedimiento:
recibir la unidad de transformada (1400) del flujo de bits de datos de vídeo, teniendo la unidad de transformada (1400) capas cuadradas de nivel superior (1402) y de nivel inferior (1401), en el que la capa cuadrada de nivel superior (1402) representa una disposición cuadrada de indicadores de los grupos de coeficientes significativos, cada uno de los cuales indica si como mínimo uno de los coeficientes residuales dentro de una zona no superpuesta correspondiente de la capa cuadrada de nivel inferior (1401) es significativo, y la capa cuadrada de nivel inferior (1401) representa una pluralidad de disposiciones cuadradas de coeficientes residuales; determinar un patrón de barrido (1501, 1601, 1701) de la capa cuadrada de nivel superior (1402) y la capa cuadrada de nivel inferior (1401) según un modo de intra-predicción;
determinar los indicadores de los grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) para la unidad de transformada recibida (1400) en un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701); y
determinar valores de coeficientes residuales de la capa cuadrada de nivel inferior (1401) según los indicadores de los grupos de coeficientes significativos determinados y un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701) de los coeficientes residuales para descodificar la unidad de transformada (1400) del flujo de bits de datos de vídeo,
en el que:
el patrón de barrido (1501, 1601, 1701) para los indicadores de los grupos de coeficientes significativos y los coeficientes residuales se determina a partir de un primer patrón de barrido (1501), un segundo patrón de barrido (1601) y un tercer patrón de barrido (1701), según el modo de intra-predicción, y el primer patrón de barrido (1501), el segundo patrón de barrido (1601) y el tercer patrón de barrido (1701) son diferentes entre sí.
10. Descodificador de vídeo, que comprende:
medios para recibir un flujo de bits de datos de vídeo;
medios para recibir una unidad de transformada (1400) del flujo de bits de datos de vídeo, teniendo la unidad de transformada (1400) capas cuadradas de nivel superior (1402) y de nivel inferior (1401), en el que la capa cuadrada de nivel superior (1402) representa una disposición cuadrada de indicadores de los grupos de coeficientes significativos, cada uno de los cuales indica si como mínimo uno de los coeficientes residuales dentro de una zona no superpuesta correspondiente de la capa cuadrada de nivel inferior (1401) es significativo, y la capa cuadrada de nivel inferior (1401) representa una pluralidad de disposiciones cuadradas de coeficientes residuales;
medios para determinar un patrón de barrido (1501, 1601, 1701) de la capa cuadrada de nivel superior (1402) y la capa cuadrada de nivel inferior (1401) según un modo de intra-predicción;
medios para determinar los indicadores de grupos de coeficientes significativos correspondientes a zonas no superpuestas respectivas de la capa cuadrada de nivel inferior (1401) para la unidad de transformada recibida (1400) en un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701); y medios para determinar los valores de los coeficientes residuales de la capa cuadrada de nivel inferior (1401) según los indicadores de los grupos de coeficientes significativos determinados y un orden de barrido correspondiente al patrón de barrido determinado (1501, 1601, 1701) de los coeficientes residuales para descodificar la unidad de transformada (1400) del flujo de bits de datos de vídeo,
en el que,
el patrón de barrido (1501, 1601, 1701) para los indicadores de los grupos de coeficientes significativos y los coeficientes residuales se determina a partir de un primer patrón de barrido (1501), un segundo patrón de barrido (1601) y un tercer patrón de barrido (1701), según el modo de intra-predicción, y
el primer patrón de barrido (1501), el segundo patrón de barrido (1601) y el tercer patrón de barrido (1701) son diferentes entre sí.
ES13738402T 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada Active ES2785096T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012200319A AU2012200319B2 (en) 2012-01-19 2012-01-19 Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
PCT/AU2013/000035 WO2013106887A1 (en) 2012-01-19 2013-01-18 Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit

Publications (1)

Publication Number Publication Date
ES2785096T3 true ES2785096T3 (es) 2020-10-05

Family

ID=48798426

Family Applications (5)

Application Number Title Priority Date Filing Date
ES19211056T Active ES2900157T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES21198515T Active ES2943552T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES21198519T Active ES2943544T3 (es) 2012-01-19 2013-01-18 Decodificación del mapa de significatividad para coeficientes residuales de una unidad de transformada
ES13738402T Active ES2785096T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES21198518T Active ES2943575T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES19211056T Active ES2900157T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES21198515T Active ES2943552T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES21198519T Active ES2943544T3 (es) 2012-01-19 2013-01-18 Decodificación del mapa de significatividad para coeficientes residuales de una unidad de transformada

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES21198518T Active ES2943575T3 (es) 2012-01-19 2013-01-18 Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada

Country Status (16)

Country Link
US (6) US9769484B2 (es)
EP (5) EP2805507B1 (es)
JP (6) JP6165172B2 (es)
KR (7) KR102025508B1 (es)
CN (6) CN104094602B (es)
AU (7) AU2012200319B2 (es)
BR (5) BR122019026439B1 (es)
ES (5) ES2900157T3 (es)
HR (3) HRP20230640T1 (es)
HU (5) HUE062226T2 (es)
IN (1) IN2014CN03649A (es)
PL (5) PL3654648T3 (es)
PT (3) PT3979643T (es)
RS (3) RS64252B1 (es)
RU (7) RU2644127C1 (es)
WO (1) WO2013106887A1 (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2737707A4 (en) * 2012-01-13 2016-04-06 Mediatek Inc METHOD AND APPARATUS FOR UNIFYING COEFFICIENT SCANNING OF 8X8 TRANSFORMATION UNITS OF HEVC CODING
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9106918B2 (en) * 2012-01-20 2015-08-11 Sony Corporation Coefficient coding harmonization in HEVC
US10194158B2 (en) 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
US10334248B2 (en) * 2015-05-29 2019-06-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
CN113810705B (zh) * 2016-04-29 2024-05-10 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
WO2017209455A2 (ko) * 2016-05-28 2017-12-07 세종대학교 산학협력단 비디오 신호의 부호화 또는 복호화 방법 및 장치
KR102416804B1 (ko) * 2016-10-14 2022-07-05 세종대학교산학협력단 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
CN116886910A (zh) * 2016-10-14 2023-10-13 世宗大学校产学协力团 影像编码方法、影像解码方法以及传送比特流的方法
US20180176582A1 (en) 2016-12-21 2018-06-21 Qualcomm Incorporated Low-complexity sign prediction for video coding
US20180288439A1 (en) * 2017-03-31 2018-10-04 Mediatek Inc. Multiple Transform Prediction
CN110622511B (zh) * 2017-04-13 2022-04-15 Lg 电子株式会社 图像编码/解码方法及其设备
US10356411B2 (en) 2017-05-30 2019-07-16 Google Llc Adaptation of scan order entropy coding
US11695967B2 (en) * 2018-06-22 2023-07-04 Op Solutions, Llc Block level geometric partitioning
CN110650343B (zh) * 2018-06-27 2024-06-07 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统
KR102598576B1 (ko) * 2018-07-02 2023-11-06 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 필터링을 위한 장치 및 방법
US10743029B2 (en) * 2018-07-30 2020-08-11 Tencent America LLC Constraints on coding unit partition
TWI692939B (zh) * 2018-08-14 2020-05-01 鈺創科技股份有限公司 過濾訊號的數位濾波器
AU2018233042B2 (en) * 2018-09-21 2024-06-13 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
KR20210096116A (ko) * 2018-12-03 2021-08-04 인터디지털 브이씨 홀딩스 인코포레이티드 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
US11134258B2 (en) * 2019-02-11 2021-09-28 Qualcomm Incorporated Predictive coefficient coding
KR102213901B1 (ko) * 2019-03-21 2021-02-08 삼성전자주식회사 블록 형태별로 블록 크기가 설정되는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US11212555B2 (en) * 2019-06-19 2021-12-28 Tencent America LLC Method of reducing context models for entropy coding of transform coefficient significant flag
IL313127A (en) 2019-07-10 2024-07-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Image component prediction method, encoder, decoder and storage medium
CN117319649A (zh) * 2019-08-20 2023-12-29 北京字节跳动网络技术有限公司 经变换跳过的块的残差编解码
CN118474369A (zh) * 2019-11-11 2024-08-09 Lg电子株式会社 编码设备、解码设备和数据发送设备
WO2021096174A1 (ko) * 2019-11-11 2021-05-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
MX2022005540A (es) * 2019-11-11 2022-08-15 Lg Electronics Inc Metodo de codificacion de imagenes a base de conversion, y dispositivo para el mismo.

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7830963B2 (en) * 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
CN1224270C (zh) * 2003-09-30 2005-10-19 清华大学 用于宏块组结构的两阶段预测编码的帧内编码帧编码方法
US7286710B2 (en) 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US7519229B2 (en) * 2004-03-30 2009-04-14 Apple, Inc. Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
KR100624432B1 (ko) 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US20060126744A1 (en) 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
JP4510696B2 (ja) * 2005-05-17 2010-07-28 キヤノン株式会社 画像処理装置及び画像処理方法
KR100717052B1 (ko) 2005-11-08 2007-05-10 삼성전자주식회사 Cabac 복호기에서 이진 산술 복호화와 이진 매칭을병렬 처리하는 원소 구문의 복호화 방법 및 이를 위한복호화 장치
CN100488254C (zh) * 2005-11-30 2009-05-13 联合信源数字音视频技术(北京)有限公司 一种基于上下文的熵编码方法及解码方法
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
CN100584006C (zh) * 2006-06-20 2010-01-20 中兴通讯股份有限公司 一种基于时间分辨率变换的视频转换处理方法
US8363936B2 (en) * 2006-08-25 2013-01-29 Thomson Licensing Method and apparatus for reduced resolution partitioning
CN101137047B (zh) * 2006-08-29 2010-09-15 昆山杰得微电子有限公司 一种通过有效残差系数分析提高编码效率的方法
KR100927733B1 (ko) * 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
US8599926B2 (en) * 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US7839311B2 (en) 2007-08-31 2010-11-23 Qualcomm Incorporated Architecture for multi-stage decoding of a CABAC bitstream
KR101433169B1 (ko) * 2008-01-03 2014-08-28 경희대학교 산학협력단 인트라 방향성에 따른 모드 예측 및 양자화 매트릭스와스캐닝 적용 방법 및 장치
KR101546793B1 (ko) * 2008-07-14 2015-08-28 삼성전자주식회사 오디오 신호의 부호화/복호화 방법 및 장치
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
JP5490404B2 (ja) * 2008-12-25 2014-05-14 シャープ株式会社 画像復号装置
JP5222160B2 (ja) * 2009-01-13 2013-06-26 キヤノン株式会社 画像符号化装置、画像復号化装置、画像符号化方法及び画像復号化方法
US20100191534A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated Method and apparatus for compression or decompression of digital signals
CN101621689A (zh) * 2009-07-28 2010-01-06 天津大学 Mpeg到h.264/avc视频编码转换系统
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
CN103119849B (zh) 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
CN101841713B (zh) * 2010-04-30 2012-12-05 西安电子科技大学 降低编码码率的视频编码方法及系统
KR101379188B1 (ko) 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
SI3104616T1 (sl) * 2010-07-09 2017-10-30 Samsung Electronics Co., Ltd. Naprava za entropijsko dekodiranje trasformnih koeficientov
CN101895756B (zh) * 2010-07-15 2012-10-31 北京大学 视频图像块的编码、解码、重构方法及系统
CN102006473B (zh) * 2010-11-18 2013-03-13 无锡中星微电子有限公司 视频编码器和编码方法以及视频解码器和解码方法
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
CN107087179B (zh) 2011-03-10 2021-04-27 夏普株式会社 图像解码装置及方法、以及记录介质
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
EP2740272A4 (en) 2011-08-04 2015-04-08 Mediatek Inc METHOD AND DEVICE FOR RECORDING BINARIZATION OF SYNTAX ELEMENTS IN CABAC
US9787982B2 (en) 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
AU2011236109B2 (en) * 2011-10-18 2015-02-19 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9871537B2 (en) 2011-10-27 2018-01-16 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding
US8964849B2 (en) * 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
KR20130049524A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US9743098B2 (en) * 2011-11-19 2017-08-22 Blackberry Limited Multi-level significance map scanning
CN108900839B (zh) * 2011-12-28 2022-05-31 夏普株式会社 图像解码装置及方法、图像编码装置及方法
US20130177070A1 (en) * 2012-01-11 2013-07-11 Qualcomm Incorporated Significance map support for parallel transform coefficient processing in video coding
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US11025922B2 (en) * 2012-06-13 2021-06-01 Texas Instruments Incorporated Inverse transformation using pruning for video coding

Also Published As

Publication number Publication date
HRP20230513T1 (hr) 2023-08-04
BR112014012891A2 (pt) 2017-06-13
JP2015507884A (ja) 2015-03-12
RU2697615C1 (ru) 2019-08-15
PT3972248T (pt) 2023-05-23
JP2020074516A (ja) 2020-05-14
KR101930669B1 (ko) 2018-12-18
PL3979643T3 (pl) 2023-07-10
CN104094602B (zh) 2017-11-28
RS64251B1 (sr) 2023-07-31
RU2696340C1 (ru) 2019-08-01
EP3972249B1 (en) 2023-04-05
CN107734343B (zh) 2020-03-03
RU2644127C1 (ru) 2018-02-07
RU2675150C1 (ru) 2018-12-17
JP2021072641A (ja) 2021-05-06
RS64252B1 (sr) 2023-07-31
EP3972248B1 (en) 2023-03-22
CN107770549A (zh) 2018-03-06
US10516887B2 (en) 2019-12-24
HRP20230640T1 (hr) 2023-09-29
JP6165172B2 (ja) 2017-07-19
KR101922367B1 (ko) 2018-11-26
HUE062226T2 (hu) 2023-10-28
US10531101B2 (en) 2020-01-07
EP3979643B1 (en) 2023-03-08
CN107734341A (zh) 2018-02-23
JP2019033532A (ja) 2019-02-28
CN107734342B (zh) 2020-01-21
US9769484B2 (en) 2017-09-19
JP2017229097A (ja) 2017-12-28
AU2020200429A1 (en) 2020-02-13
AU2017232033B2 (en) 2018-09-20
AU2020200429B2 (en) 2021-11-11
JP2017184236A (ja) 2017-10-05
BR112014012891B1 (pt) 2022-11-08
CN107734341B (zh) 2020-07-10
KR101909855B1 (ko) 2018-10-18
AU2018271349A1 (en) 2018-12-20
BR122019026440B1 (pt) 2023-03-14
CN104094602A (zh) 2014-10-08
BR122019026442B1 (pt) 2023-03-14
RU2595936C2 (ru) 2016-08-27
EP3979643A1 (en) 2022-04-06
AU2018271348B2 (en) 2019-12-05
AU2012200319B2 (en) 2015-11-26
EP3972248A1 (en) 2022-03-23
AU2018271350B2 (en) 2019-12-05
US10841594B2 (en) 2020-11-17
AU2016201195B2 (en) 2017-06-22
EP3654648A1 (en) 2020-05-20
US20140362926A1 (en) 2014-12-11
KR20160129907A (ko) 2016-11-09
RS64213B1 (sr) 2023-06-30
CN107770549B (zh) 2020-02-14
US20170339420A1 (en) 2017-11-23
JP6608504B2 (ja) 2019-11-20
RU2697621C1 (ru) 2019-08-15
ES2900157T3 (es) 2022-03-16
ES2943552T3 (es) 2023-06-14
CN107734340A (zh) 2018-02-23
AU2016201195A1 (en) 2016-03-17
PL3654648T3 (pl) 2022-02-14
KR20170132895A (ko) 2017-12-04
JP6425777B2 (ja) 2018-11-21
KR20170134792A (ko) 2017-12-06
KR20170137214A (ko) 2017-12-12
AU2018271348A1 (en) 2018-12-20
HRP20230568T8 (hr) 2023-11-10
KR102025508B1 (ko) 2019-09-25
US20190116368A1 (en) 2019-04-18
US20190116367A1 (en) 2019-04-18
US10250890B2 (en) 2019-04-02
JP6207790B2 (ja) 2017-10-04
CN107734340B (zh) 2020-01-21
KR101672106B1 (ko) 2016-11-02
KR20140088591A (ko) 2014-07-10
HUE061854T2 (hu) 2023-08-28
HRP20230568T1 (hr) 2023-08-18
EP2805507B1 (en) 2020-03-11
ES2943544T3 (es) 2023-06-14
PL3972249T3 (pl) 2023-08-07
KR101909410B1 (ko) 2018-10-17
AU2017232033A1 (en) 2017-10-12
EP3654648B1 (en) 2021-11-03
PT3972249T (pt) 2023-05-22
RU2714108C1 (ru) 2020-02-11
PL3972248T3 (pl) 2023-07-31
RU2014133044A (ru) 2016-03-20
PT3979643T (pt) 2023-05-18
HUE057363T2 (hu) 2022-05-28
KR20170132894A (ko) 2017-12-04
HUE048872T2 (hu) 2020-08-28
BR122019026439B1 (pt) 2023-03-14
EP3972249A1 (en) 2022-03-23
EP2805507A4 (en) 2015-07-08
ES2943575T3 (es) 2023-06-14
KR101806063B1 (ko) 2017-12-06
BR122019026441B1 (pt) 2022-11-16
KR20180135991A (ko) 2018-12-21
AU2018271349B2 (en) 2019-12-05
CN107734343A (zh) 2018-02-23
US20200092567A1 (en) 2020-03-19
IN2014CN03649A (es) 2015-10-09
CN107734342A (zh) 2018-02-23
WO2013106887A1 (en) 2013-07-25
US10531100B2 (en) 2020-01-07
PL2805507T3 (pl) 2020-07-13
EP2805507A1 (en) 2014-11-26
AU2018271350A1 (en) 2018-12-20
HUE061903T2 (hu) 2023-08-28
US20190116369A1 (en) 2019-04-18
JP6825064B2 (ja) 2021-02-03

Similar Documents

Publication Publication Date Title
ES2785096T3 (es) Procedimiento, aparato y sistema para codificar y descodificar el mapa de significatividad para los coeficientes residuales de una unidad de transformada
ES2746961T3 (es) Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados
ES2812150T3 (es) Procedimiento, aparato y programa para codificar datos de imágenes en un flujo de bits
ES2724233T3 (es) Aparato y proceso para proporcionar un portador de colágeno enrollado