Nothing Special   »   [go: up one dir, main page]

ES2912048T3 - Codificación de mapas de significado y bloques de coeficiente de transformada - Google Patents

Codificación de mapas de significado y bloques de coeficiente de transformada Download PDF

Info

Publication number
ES2912048T3
ES2912048T3 ES20150622T ES20150622T ES2912048T3 ES 2912048 T3 ES2912048 T3 ES 2912048T3 ES 20150622 T ES20150622 T ES 20150622T ES 20150622 T ES20150622 T ES 20150622T ES 2912048 T3 ES2912048 T3 ES 2912048T3
Authority
ES
Spain
Prior art keywords
transform coefficient
values
coefficient block
transform
significant
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
ES20150622T
Other languages
English (en)
Inventor
Heiner Kirchhoffer
Heiko Schwarz
Tung Nguyen
Detlev Marpe
Thomas Wiegand
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.)
GE Video Compression LLC
Original Assignee
GE Video Compression LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43989787&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2912048(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by GE Video Compression LLC filed Critical GE Video Compression LLC
Application granted granted Critical
Publication of ES2912048T3 publication Critical patent/ES2912048T3/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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Aparato para decodificar un bloque de coeficiente de transformada, que comprende: un decodificador (250) configurado para extraer un mapa de significado que indica posiciones de coeficientes de transformada significativos en el bloque de coeficiente de transformada, y a continuación los valores de los coeficientes de transformada significativos en el bloque de coeficiente de transformada de un flujo de datos, con extrayendo secuencialmente, al extraer los valores de los coeficientes de transformada significativos, los valores por decodificación de entropía adaptativa al contexto; y un asociador (252) configurado para asociar secuencialmente los valores extraídos secuencialmente a las posiciones de los coeficientes de transformada significativos en un orden de exploración de coeficientes predeterminado de entre las posiciones del bloque de coeficiente de transformada, caracterizado porque el, bloque de coeficiente de transformada se explora en subbloques (322) del bloque de coeficiente de transformada (256) usando un orden de exploración de subbloques (320) con, una exploración, subsidiaria, de las posiciones de los coeficientes de transformada en los subbloques en un orden de posición de subexploración (324), en donde el decodificador (250) está configurado para usar, en una codificación por entropía adaptativa al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un número de contextos de una pluralidad de conjuntos de un número de contextos, en donde el decodificador (250) está configurado de manera que la selección del conjunto seleccionado efectuada por cada subbloque depende de los valores de los coeficientes de transformada en un subbloque del bloque de coeficiente de transformada, que ya ha sido atravesado en el orden de exploración de subbloques, o de manera que la selección del conjunto seleccionado efectuado para cada subbloque depende de los valores de los coeficientes de transformada de un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño, en donde los subbloques (322) son cuadráticos o rectangulares.

Description

DESCRIPCIÓN
Codificación de mapas de significado y bloques de coeficiente de transformada
La presente solicitud se refiere a codificación de mapas de significado que indican posiciones de coeficientes de transformada significativos en bloques de coeficiente de transformada y a la codificación de tales bloques de coeficiente de transformada. Tal codificación puede usarse, por ejemplo, en codificación de instantánea y de vídeo, por ejemplo.
En codificación de vídeo convencional, las instantáneas de una secuencia de vídeo se descomponen normalmente en bloques. Los bloques o los componentes de color de los bloques se prevén por predicción de movimiento compensado o intra predicción. Los bloques pueden tener diferentes tamaños y pueden ser cuadráticos o rectangulares. Todas las muestras de un bloque o un componente de color de un bloque se predicen usando el mismo conjunto de parámetros previstos, tal como índices de referencia (que identifican una instantánea de referencia en el conjunto ya codificado de instantáneas), parámetros de movimiento (que especifican una medida para el movimiento de unos bloques entre una instantánea de referencia y la instantánea actual), parámetros para especificar el filtro de interpolación, modos de intra predicción, etc. Los parámetros de movimiento pueden representarse por vectores de desplazamiento con un componente horizontal y vertical o por parámetros de movimiento de orden superior tales como parámetros de movimiento afines que consisten en 6 componentes. También es posible que más de un conjunto de parámetros previstos (tal como índices de referencia y parámetros de movimiento) estén asociados con un único bloque. En ese caso, para cada conjunto de parámetros previstos, se genera una única señal de predicción intermedia para el bloque o el componente de color de un bloque, y la señal de predicción final se crea por una suma ponderada de las señales de predicción intermedias. Los parámetros de ponderación y, potencialmente, también un desplazamiento constante (que se añade a la suma ponderada) pueden fijarse para una instantánea, o una instantánea de referencia, o un conjunto de instantáneas de referencia, o pueden incluirse en el conjunto de parámetros previstos para el bloque correspondiente. De manera similar, las imágenes fijas también se descomponen en bloques, y los bloques se predicen por un método de intra predicción (que puede ser un método de intra predicción espacial o un método de intra predicción sencillo que predice el componente de CC del bloque). En un caso de esquina, la señal de predicción puede también ser cero.
La diferencia entre los bloques originales o los componentes de color de los bloques originales y las señales de predicción correspondientes, también denominada como la señal residual, normalmente se transforma y cuantifica. Una transformada bidimensional se aplica a la señal residual y se cuantifican los coeficientes de transformada resultantes. Para esta codificación de transformada, los bloques o los componentes de color de los bloques, para los que ha de usarse un conjunto particular de parámetros previstos, pueden dividirse adicionalmente antes de aplicar la transformada. Los bloques de transformada pueden ser iguales a o menores que los bloques que se usan para predicción. También es posible que un bloque de transformada incluya más de uno de los bloques que se usan para predicción. Diferentes bloques de transformada en una imagen fija o una imagen de una secuencia de vídeo pueden tener diferentes tamaños y los bloques de transformada pueden representar bloques cuadráticos o rectangulares.
Los coeficientes de transformada cuantificados resultantes, también denominados como niveles de coeficientes de transformada, se transmiten a continuación usando técnicas de codificación de entropía. Por lo tanto, un bloque de niveles de coeficientes de transformada se mapea normalmente en un vector (es decir, un conjunto ordenado) de valores de coeficientes de transformada usando una exploración, donde pueden usarse diferentes exploraciones para diferentes bloques. A menudo se usa una exploración en zigzag. Para bloques que contienen únicamente muestras de un campo de un fotograma entrelazado (estos bloques pueden ser bloques en campos codificados o bloques de campo en fotogramas codificados), puede ser también común usar una exploración diferente específicamente diseñada para bloques de campo. Un algoritmo de codificación de entropía comúnmente usado para codificar la secuencia ordenada resultante de coeficientes de transformada es la codificación por longitud de serie. Normalmente, un gran número de los niveles de coeficientes de transformada es cero, y un conjunto de niveles de coeficientes de transformada sucesivos que son iguales a cero puede representarse eficazmente codificando el número de niveles de coeficientes de transformada sucesivos que son iguales a cero (la serie). Para los coeficientes de transformada restantes (distintos de cero), se codifica el nivel real. Hay diversas alternativas de códigos de nivel de serie. La serie antes de un coeficiente distinto de cero y el coeficiente de transformada distinto de cero puede codificarse junta usando un único símbolo o palabra de código. A menudo, se incluyen símbolos especiales para el fin del bloque, que se envían después del último coeficiente de transformada distinto de cero. O es posible codificar en primer lugar el número de niveles de coeficientes de transformada distintos de cero, y dependiendo de este número, se codifican los niveles y las series.
Se usa un enfoque un tanto diferente en la codificación de entropía CABAC altamente eficaz en H.264. En este punto, la codificación de niveles de coeficientes de transformada se divide en tres etapas. En la primera etapa, se transmite un elemento de sintaxis binario coded_block_flag para cada bloque de transformada, que señaliza si el bloque de transformada contiene niveles de coeficientes de transformada significativos (es decir, coeficientes de transformada que son distintos de cero). Si este elemento de sintaxis indica que están presentes niveles de coeficientes de transformada significativos, se codifica un mapa de significado con valor binario, que especifica cuál de los niveles de coeficientes de transformada tiene valores distintos de cero. Y a continuación, en un orden de exploración inverso, se codifican los valores de los niveles de coeficientes de transformada distintos de cero. El mapa de significado se codifica como sigue. Para cada coeficiente en el orden de exploración, se codifica un elemento de sintaxis binario significant_coeff_flag, que especifica si el correspondiente nivel de coeficiente de transformada no es igual a cero. Si el binario significant_coeff_flag es igual a uno, es decir, si existe un nivel de coeficiente de transformada distinto de cero en esta posición de exploración, se codifica un último elemento de sintaxis binario significant_coeff_flag. Este binario indica si el nivel de coeficiente de transformada significativo actual es el último nivel de coeficiente de transformada significativo dentro del bloque o si niveles de coeficientes de transformada significativos adicionales siguen en orden de exploración. Si last_significant_coeff_flag indica que no siguen coeficientes de transformada significativos adicionales, no se codifican elementos de sintaxis adicionales para especificar el mapa de significado para el bloque. En la siguiente etapa, se codifican los valores de los niveles de coeficientes de transformada significativos, cuyas ubicaciones dentro del bloque ya están determinadas por el mapa de significado. Los valores de niveles de coeficientes de transformada significativos se codifican en orden de exploración inversa usando los siguientes tres elementos de sintaxis. El elemento de sintaxis binario coeff_abs_greater_one indica si el valor absoluto del nivel de coeficiente de transformada significativo es mayor que uno. Si el elemento de sintaxis binario coeff_abs_greater_one indica que el valor absoluto es mayor que uno, se envía un elemento de sintaxis adicional coeff_abs_level_minus_one, que especifica el valor absoluto del nivel de coeficiente de transformada menos uno. Finalmente, el elemento de sintaxis binario coeff_sign_flag, que especifica el signo del valor de coeficiente de transformada, se codifica para cada nivel de coeficiente de transformada significativo. Debe observarse de nuevo que los elementos de sintaxis que están relacionados con el mapa de significado se codifican en orden de exploración, mientras que los elementos de sintaxis que están relacionados con los valores reales de los niveles de coeficientes de transformada se codifican en orden de exploración inverso permitiendo el uso de modelos de contexto más adecuados.
En la codificación de entropía CABAC en H.264, todos los elementos de sintaxis para los niveles de coeficientes de transformada se codifican usando una modelación de probabilidad binaria. El elemento de sintaxis no binario coeff_abs_level_minus_one se convierte a binario en primer lugar, es decir, se mapea en una secuencia de decisiones binarias (binarios), y estas decisiones binarias se codifican secuencialmente. Los elementos de sintaxis binarios significant_coeff_flag, last_significant_coeff_flag, coeff_abs_greater_one, y coeff_sign_flag se codifican directamente. Cada binario codificado (que incluye los elementos de sintaxis binarios) está asociado con un contexto. Un contexto representa un modelo de probabilidad para una clase de binarios codificados. Una medida relacionada con la probabilidad de uno de los dos posibles valores binarios se estima para cada contexto basándose en los valores de los binarios que ya se han codificado con el contexto correspondiente. Para varios binarios relacionados con la codificación de transformada, el contexto que se usa para la codificación se selecciona basándose en elementos de sintaxis ya transmitidos o basándose en la posición dentro de un bloque.
El mapa de significado especifica información acerca del significado (nivel de coeficiente de transformada es diferente de cero) para las posiciones de exploración. En la codificación de entropía CABAC de H.264, para un tamaño de bloque de 4x4, se usa un contexto separado para cada posición de exploración para codificar los elementos de sintaxis binarios significant_coeff_flag y last_significant_coeff_flag, donde se usan diferentes contextos para significant_coeff_flag y last_significant_coeff_flag de una posición de exploración. Para bloques de 8x8, se usa el mismo modelo de contexto para cuatro posiciones de exploración sucesivas, dando como resultado 16 modelos de contexto para significant_coeff_flag y 16 modelos de contexto adicionales para last_significant_coeff_flag.
Este método de modelado de contexto para la bandera significant_coeff y last_significant_coeff_flag tiene algunas desventajas para tamaños de bloque grandes. Por un lado, si cada posición de exploración está asociada con un modelo de contexto separado, el número de modelos de contexto no aumenta significativamente cuando se codifican bloques mayores que 8x8. Un número aumentado de este tipo de modelos de contexto da como resultado una adaptación lenta de las estimaciones de probabilidad y normalmente una imprecisión de las estimaciones de probabilidad, donde ambos aspectos tienen un impacto negativo en la eficacia de codificación. Por otra parte, la asignación de un modelo de contexto a un número de posiciones de exploración sucesivas (como se hace para bloques de 8x8 en H.264) tampoco es óptimo para tamaños de bloque más grandes, puesto que los coeficientes de transformada distintos de cero normalmente están concentrados en regiones particulares de un bloque de transformada (las regiones son dependientes de las estructuras principales dentro de los bloques correspondientes de la señal residual).
Después de codificar el mapa de significado, el bloque se procesa en orden de exploración inverso. Si una posición de exploración es significativa, es decir, el coeficiente es diferente de cero, se transmite el elemento de sintaxis binario coeff_abs_greater_one. Inicialmente, el segundo modelo de contexto del correspondiente conjunto de modelos de contexto se selecciona para el elemento de sintaxis coeff_abs_greater_one. Si el valor codificado de cualquier elemento de sintaxis coeff_abs_greater_one dentro del bloque es igual a uno (es decir, el coeficiente absoluto es mayor que 2), el modelado de contexto conmuta de vuelta al primer modelo de contexto del conjunto y usa este modelo de contexto hasta el fin del bloque. De otra manera (todos los valores codificados de coeff_abs_greater_one dentro del bloque son cero y los correspondientes niveles de coeficientes absolutos son iguales a uno), el modelo de contexto se elige dependiendo del número de los elementos de sintaxis coeff_abs_greater_one iguales a cero que ya se han codificado/decodificado en la exploración inversa del bloque considerado. La selección de modelo de contexto para el elemento de sintaxis coeff_abs_greater_one puede resumirse por la siguiente ecuación, donde el índice de modelo de contexto actual Ct+ i se selecciona basándose en el índice de modelo de contexto anterior Ct y el valor del elemento de sintaxis previamente codificado coeff_abs_greater_one, que se representa por bint en la ecuación. Para el primer elemento de sintaxis coeff_abs_greater_one dentro de un bloque, se establece el índice de modelo de contexto igual a Ct = 1.
Figure imgf000004_0001
Se codifica únicamente el segundo elemento de sintaxis para codificar los niveles de coeficientes de transformada absolutos, coeff_abs_level_minus_one, cuando el elemento de sintaxis coeff_abs_greater_one para la misma posición de exploración es igual a uno. El elemento de sintaxis no binario coeff_abs_level_minus_one se convierte a binario en una secuencia de binarios y para el primer binario de esta conversión a binario; se selecciona un índice de modelo de contexto como se describe a continuación. Los binarios restantes de la conversión a binario se codifican con contextos fijos. El contexto para el primer binario de la conversión a binario se selecciona como sigue. Para el primer elemento de sintaxis coeff_abs_level_minus_one, se selecciona el primer modelo de contexto del conjunto de modelos de contexto para el primer binario del elemento de sintaxis coeff_abs_level_minus_one, el correspondiente índice de modelo de contexto se establece igual a Ct = 0. Para cada primer binario adicional del elemento de sintaxis coeff_abs_level_minus_one, el modelado de contexto conmuta al siguiente modelo de contexto en el conjunto, donde el número de modelos de contexto en el conjunto está limitado a 5. La selección de modelo de contexto puede expresarse por la siguiente fórmula, donde el índice de modelo de contexto actual Ct+ i se selecciona basándose en el índice de modelo de contexto anterior Ct. Como se ha mencionado anteriormente, para el primer elemento de sintaxis coeff_abs_level_minus_one dentro de un bloque, el índice de modelo de contexto se establece igual a Ct = 0. Obsérvese, que se usan diferentes conjuntos de modelos de contexto para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one.
Ct+1(Ct) = mín(Ct 1,4)
Para bloques grandes, este método tiene algunas desventajas. La selección del primer modelo de contexto para coeff_abs_greater_one (que se usa si un valor de coeff_abs_greater_one equivale a 1 se ha codificado para los bloques) se hace normalmente demasiado temprano y se alcanza el último modelo de contexto para coeff_abs_level_minus_one demasiado rápido debido a que el número de coeficientes significativos es mayor que en bloques pequeños. Así, la mayoría de los binarios de coeff_abs_greater_one y coeff_abs_level_minus_one se codifican con un único modelo de contexto. Pero estos binarios normalmente tienen diferentes probabilidades, y por lo tanto el uso de un único modelo de contexto para un gran número de binarios tiene un impacto negativo en la eficacia de codificación.
Aunque, en general, bloques grandes aumentan la sobrecarga computacional para realizar la transformada de descomposición espectral, la capacidad para codificar eficazmente tanto bloques pequeños como grandes posibilitaría la consecución de mejor eficacia de codificación al codificar matrices de muestras tales como instantáneas o matrices de muestras que representan otras señales de información muestreada especialmente tales como mapas de profundidad o similares. La razón para esto es la dependencia entre resolución espacial y espectral cuando se transforma una matriz de muestras en bloques: cuanto mayor sean los bloques más alta será la resolución espectral de la transformada. En general, sería favorable poder aplicar localmente la transformada individual en una matriz de muestras de manera que en el área de una transformada individual de este tipo, la composición espectral de la matriz de muestras no varíe en gran medida. Para que los bloques pequeños garanticen que el contenido en los bloques es relativamente consistente. Por otra parte, si los bloques son demasiado pequeños, la resolución espectral es baja, y la relación entre coeficientes de transformada no significativos y significativos se reduce.
Por lo tanto, sería favorable tener un esquema de codificación que posibilite una codificación eficaz para bloques de coeficiente de transformada, incluso cuando son grandes, y sus mapas de significado.
El documento EP 1487 113 A2 describe un método eficiente de codificación binaria aritmética de coeficientes de transformada en el campo de la codificación vídeo y un método correspondiente de decodificación. Para tales bloques de imágenes video que contienen coeficientes de transformación distintos de cero, la codificación de coeficientes de transformación se produce de tal forma que, para cada bloque de un proceso de exploración, las posiciones de coeficientes de transformada distintos de cero en el bloque y posteriormente, en un orden de exploración inversa, que empieza a partir del último coeficiente de transformada distinto de cero en el bloque, se determinan y codifican los valores (niveles) de los coeficientes de transformada distintos de cero. El documento US 2003/128753 A1 describe un método de exploración para codificar/decodificar una señal de imagen, en donde en un método de codificación de una señal de imagen a través de una transformada de coseno discreta, se selecciona al menos uno de entre una pluralidad de bloques de referencia, se genera un orden de exploración en el que se exploran los bloques que se van a codificar de los bloques de referencia y los bloques que se van a codificar se exploran en el orden del orden de exploración generado, en donde el al menos un bloque de referencia seleccionado es temporal o espacialmente adyacente al bloque que se va a codificar, en donde cuando se exploran los bloques que se van a codificar, se obtienen probabilidades de que se produzcan coeficientes distintos de cero del al menos un bloque de referencia seleccionado, y se determina el orden de exploración en orden descendente empezado a partir de la probabilidad más alta, en donde el orden de exploración se genera en ese caso para que sea un orden de escaneo en zigzag si las probabilidades son idénticas.
El documento GB 2264605 A describe un sistema de compresión de señales, en donde un explorador múltiple explora una señal según una pluralidad de patrones diferentes y un selector de patrones de exploración determina qué patrón de exploración produce el resultado de codificación más eficiente, por ejemplo, para codificación por longitud de secuencias, en donde la señal seleccionada se multiplexa con una señal que identifica el patrón de exploración seleccionado, preferentemente tras una codificación de longitud variable, en donde la señal es una señal de imagen que ha sido sometida a una transformación de coseno discreta tras la compensación de los medios, y en donde se divulgan ocho patrones de exploración o muestreo diferentes.
El documento de MARPE D Y COL.: "Context-based adaptive binary arithmetic coding in JVT/H.26L" presenta un esquema de codificación por entropía adaptativa para compresión de video, que utiliza una técnica de codificación aritmética adaptativa para igualar la entropía de primer orden de los símbolos codificados y hacer un seguimiento de las estadísticas de los símbolos no estacionarios, en donde las redundancias de símbolos restantes serán aprovechadas por el modelado de contexto para reducir aún más la tasa de bits, en donde el documento presenta un enfoque para la codificación de coeficientes de transformada y un método de búsqueda en tablas para una estimación de probabilidades y codificación aritmética.
Por lo tanto, el objeto de la presente invención es proporcionar un esquema de codificación para codificar bloques de coeficiente de transformada y mapas de significado que indican posiciones de coeficientes de transformada significativos en los bloques de coeficiente de transformada, respectivamente, de modo que se aumente la eficacia de codificación.
Este objeto se consigue mediante la materia objeto de las reivindicaciones independientes.
De acuerdo con un aspecto de la presente solicitud, la presente solicitud está basada en el hallazgo de que un mapa de significado que indica posiciones de coeficientes de transformada significativos en un bloque de coeficiente de transformada puede codificarse más eficazmente si los elementos de sintaxis anteriormente mencionados indican, para posiciones asociadas en el bloque de coeficiente de transformada en cuanto a si en la respectiva posición está situado un coeficiente de transformada significativo o no significativo, que se decodifican por entropía de manera adaptativa al contexto usando contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis dependiendo de un número de coeficientes de transformada significativos en una cercanía del respectivo elemento de sintaxis, indicado que es significativo por cualquiera de los elementos de sintaxis anteriores. En particular, los inventores hallaron que con tamaño creciente de los bloques de coeficiente de transformada, los coeficientes de transformada significativos están de alguna manera agrupados en ciertas áreas en el bloque de coeficiente de transformada de modo que una adaptación de contexto que no es únicamente sensible al número de coeficientes de transformada significativos que se ha atravesado en los órdenes de exploración predeterminados hasta ahora sino que tiene en cuenta la cercanía de los coeficientes de transformada significativos da como resultado menor adaptación del contexto y por lo tanto aumenta la eficacia de codificación de la codificación de entropía.
Se describen realizaciones preferidas de la presente solicitud a continuación con respecto a las figuras entre las cuales La Figura 1 muestra un diagrama de bloques de un codificador de acuerdo con una realización;
Las Figuras 2a-2c muestran esquemáticamente diferentes subdivisiones de una matriz de muestras tal como una instantánea en bloques;
La Figura 3 muestra un diagrama de bloques de un decodificador de acuerdo con una realización;
La Figura 4 muestra un diagrama de bloques de un codificador de acuerdo con una realización de la presente solicitud en más detalle;
La Figura 5 muestra un diagrama de bloques de un decodificador de acuerdo con una realización de la presente solicitud en más detalle;
La Figura 6 ilustra esquemáticamente una transformada de un bloque del dominio espacial al dominio espectral;
La Figura 7 muestra un diagrama de bloques de un aparato para decodificar el mapa de significado y los coeficientes de transformada significativos de un bloque de coeficiente de transformada;
La Figura 8 ilustra esquemáticamente un subparticionamiento de un orden de exploración en subrutas y sus diferentes direcciones de atravesamiento;
La Figura 9 ilustra esquemáticamente definiciones de cercanía para ciertas posiciones de exploración en un bloque de transformada;
La Figura 10 ilustra esquemáticamente posibles definiciones de cercanía para algunas posiciones de exploración en bloques de transformada que radican en el borde de un bloque de transformada; La Figura 11 muestra una posible exploración de bloques de transformada.
Se observa que, durante la descripción de las figuras, elementos que aparecen en varias de estas figuras se indican con el mismo signo de referencia en cada una de estas figuras y se evita una descripción repetida de estos elementos en lo que respecta a la funcionalidad para evitar repeticiones innecesarias. Sin embargo, las funcionalidades y descripciones proporcionadas con respecto a una figura deberán aplicarse también a otras figuras a menos que se indique explícitamente lo opuesto.
La Figura 1 muestra un ejemplo para un codificador 10 en el cual pueden implementarse los aspectos de la presente solicitud. El codificador codifica una matriz de muestras de información 20 en un flujo de datos. La matriz de muestras de información puede representar cualquier clase de señal de información espacialmente muestreada. Por ejemplo, la matriz de muestras 20 puede ser una instantánea fija o una instantánea de un vídeo. Por consiguiente, las muestras de información pueden corresponder a valores de brillo, valores de color, valores de luminancia, valores de crominancia o similares. Sin embargo, las muestras de información pueden ser también valores de profundidad en caso de que la matriz de muestras 20 sea un mapa de profundidad generado por, por ejemplo, un tiempo del sensor de luz o similares.
El codificador 10 es un codificador basado en bloques. Es decir, el codificador 10 codifica la matriz de muestras 20 en el flujo de datos 30 en unidades de bloques 40. La codificación en unidades de bloques 40 no significa necesariamente que el codificador 10 codifique estos bloques 40 totalmente independientes unos de los otros. En su lugar, el codificador 10 puede usar reconstrucciones de bloques previamente codificados para extrapolar o intra-predecir bloques restantes, y puede usar la granularidad de los bloques para establecer parámetros de codificación, es decir, para establecer la manera en la que se codifica cada región de matriz de muestras que corresponde a un respectivo bloque.
Además, el codificador 10 es un codificador de transformada. Es decir, el codificador 10 codifica los bloques 40 usando una transformada para transferir las muestras de información en cada bloque 40 del dominio espacial al dominio espectral. Puede usarse una transformada bidimensional tal como una DCT de FFT o similares. Preferentemente, los bloques 40 son de forma cuadrática o forma rectangular.
La subdivisión de la matriz de muestras 20 en bloques 40 mostrada en la Figura 1 sirve simplemente para fines de ilustración. La Figura 1 muestra la matriz de muestras 20 como que está subdividida en una disposición bidimensional regular de bloques cuadráticos o rectangulares 40 que se unen entre sí de una manera no solapante. El tamaño de los bloques 40 puede predeterminarse. Es decir, el codificador 10 puede no transferir una información en el tamaño de bloque de los bloques 40 en el flujo de datos 30 al lado de la decodificación. Por ejemplo, el decodificador puede esperar el tamaño de bloque predeterminado.
Sin embargo, son posibles varias alternativas. Por ejemplo, los bloques pueden solapar entre sí. Sin embargo, el solapamiento puede estar restringido hasta un cierto punto tal que cada bloque tenga una porción no solapada por ningún bloque vecino, o de manera que cada muestra de los bloques esté solapada por, como máximo, un bloque entre los bloques vecinos dispuestos en yuxtaposición al bloque actual a lo largo de una dirección predeterminada. Lo último significaría que los bloques vecinos izquierdo y derecho pueden solapar el bloque actual para cubrir totalmente el bloque actual, pero pueden no solaparse entre sí, y lo mismo se aplica para los vecinos en la dirección vertical y diagonal.
Como una alternativa adicional, la subdivisión de la matriz de muestras 20 en bloques 40 puede adaptarse al contenido de la matriz de muestras 20 por el codificador 10 con la información de subdivisión en la subdivisión usada que se transfiere al lado del decodificador mediante el flujo de bits 30.
Las Figuras 2a a 2c muestran diferentes ejemplos para una subdivisión de una matriz de muestras 20 en bloques 40. La Figura 2a muestra una subdivisión basada en árbol cuádruple de una matriz de muestras 20 en bloques 40 de diferentes tamaños, indicándose bloques representativos en 40a, 40b, 40c y 40d con tamaño creciente. De acuerdo con la subdivisión de la Figura 2a, la matriz de muestras 20 se divide primeramente en una disposición bidimensional regular de bloques de árbol 40d que, a su vez, tienen información de subdivisión individual asociada con los mismos de acuerdo con la cual un cierto bloque de árbol 40d puede subdividirse adicionalmente o no de acuerdo con una estructura de árbol cuádruple. El bloque de árbol a la izquierda del bloque 40d se subdivide ejemplarmente en bloques más pequeños de acuerdo con una estructura de árbol cuádruple. El codificador 10 puede realizar una transformada bidimensional para cada uno de los bloques mostrados con líneas continuas y discontinuas en la Figura 2a. En otras palabras, el codificador 10 puede transformar la matriz 20 en unidades de la subdivisión de bloque.
En lugar de una subdivisión basada en árbol cuádruple puede usarse una subdivisión basada en árbol múltiple más general y el número de nodos hijos por nivel de jerarquía puede diferir entre diferentes niveles de jerarquía.
La Figura 2b muestra otro ejemplo para una subdivisión. De acuerdo con la Figura 2b, la matriz de muestras 20 se divide en primer lugar en macrobloques 40b dispuestos en una disposición bidimensional de una manera mutuamente unida no solapante en la que cada macrobloque 40b tiene asociado con el mismo información de subdivisión de acuerdo con la que no se subdivide un macrobloque, o, si se subdivide, se subdivide de una manera bidimensional regular en subbloques igualmente dimensionados para conseguir diferentes granularidades de división para diferentes macrobloques. El resultado es una subdivisión de la matriz de muestras 20 en bloques diferentemente dimensionados 40 con representativos de los diferentes tamaños que se indican en 40a, 40b y 40a'. Como en la Figura 2a, el codificador 10 realiza una transformada bidimensional en cada uno de los bloques mostrados en la Figura 2b con las líneas continuas y discontinuas. La Figura 2c se analizará más adelante.
La Figura 3 muestra un decodificador 50 que puede decodificar el flujo de datos 30 generado por el codificador 10 para reconstruir una versión reconstruida 60 de la matriz de muestras 20. El decodificador 50 extrae del flujo de datos 30 el bloque de coeficiente de transformada para cada uno de los bloques 40 y reconstruye la versión reconstruida 60 realizando una transformada inversa en cada uno de los bloques de coeficiente de transformada.
El codificador 10 y decodificador 50 pueden estar configurados para realizar codificación/decodificación de entropía para insertar la información en los bloques de coeficiente de transformada en, y extraer esta información desde el flujo de datos, respectivamente. Los detalles en este sentido se describen más adelante. Debería observarse que el flujo de datos 30 no comprende necesariamente información sobre bloques de coeficiente de transformada para todos los bloques 40 de la matriz de muestras 20. En su lugar, ya que un subconjunto de bloques 40 puede codificarse en el flujo de bits 30 de otra manera. Por ejemplo, el codificador 10 puede decidir abstenerse de insertar un bloque de coeficiente de transformada para un cierto bloque de bloques 40 insertando en el flujo de bits 30 parámetros de codificación alternativos en lugar de los que posibilitan que el decodificador 50 prediga o rellene de otra manera el respectivo bloque en la versión reconstruida 60. Por ejemplo, el codificador 10 puede realizar un análisis de textura para ubicar bloques dentro de la matriz de muestras 20 que puede rellenarse en el lado del decodificador por el decodificador por medio de síntesis de textura e indicar esto en el flujo de bits en consecuencia.
Como se analiza en las siguientes figuras, los bloques de coeficiente de transformada no representan necesariamente una representación del dominio espectral de las muestras de información originales de un respectivo bloque 40 de la matriz de muestras 20. En su lugar, un bloque de coeficiente de transformada de este tipo puede representar una representación de dominio espectral de una predicción residual del respectivo bloque 40. La Figura 4 muestra una realización para un codificador de este tipo. El codificador de la Figura 4 comprende una etapa de transformada 100, un codificador de entropía 102, una etapa de transformada inversa 104, un predictor 106 y un restador 108 así como un sumador 110. El restador 108, la etapa de transformada 100 y el codificador de entropía 102 están conectados en serie en el orden mencionado entre una entrada 112 y una salida 114 del codificador de la Figura 4. La etapa de transformada inversa 104, el sumador 110 y el predictor 106 están conectados en el orden mencionado entre la salida de la etapa de transformada 100 y la entrada de inversión del restador 108, estando también conectada la salida de predictor 106 a una entrada adicional del sumador 110.
El codificador de la Figura 4 es un codificador de bloque basado en transformada predictivo. Es decir, los bloques de una matriz de muestras 20 que entran en la entrada 112 se predicen de porciones de la misma matriz de muestras 20 previamente codificadas y reconstruidas u otras matrices de muestras previamente codificadas y reconstruidas que pueden preceder o suceder la matriz de muestras actual 20 en el tiempo. La predicción se realiza por el predictor 106. El restador 108 resta la predicción de un bloque original de este tipo y la etapa de transformada 100 realiza una transformada bidimensional en los residuos de la predicción. La transformada bidimensional misma o una medida posterior dentro de la etapa de transformada 100 pueden conducir a una cuantificación de los coeficientes de transformada en los bloques de coeficiente de transformada. Los bloques de coeficiente de transformada cuantificados se codifican de manera sin pérdidas mediante, por ejemplo, codificación por entropía en el codificador de entropía 102 emitiéndose el flujo de datos resultante en la salida 114. La etapa de transformada inversa 104 reconstruye el residuo cuantificado y el sumador 110, a su vez, combina el residuo reconstruido con la correspondiente predicción para obtener muestras de información reconstruidas basándose en las cuales el predictor 106 puede predecir los bloques de predicción actualmente codificados anteriormente mencionados. El predictor 106 puede usar diferentes modos de predicción tales como modos de intra predicción y modos de inter predicción para predecir los bloques y los parámetros de predicción que se reenvían al codificador de entropía 102 para su inserción en el flujo de datos.
Es decir, de acuerdo con la realización de la Figura 4, los bloques de coeficiente de transformada representan una representación espectral de un residuo de la matriz de muestras en lugar de muestras de información reales de las mismas.
Debería observarse que existen varias alternativas para la realización de la Figura 4 habiéndose descrito algunas de ellas en la porción introductoria de la memoria descriptiva cuya descripción se incorpora en la descripción de la Figura 4 con la misma. Por ejemplo, la predicción generada por el predictor 106 puede no codificarse por entropía. En su lugar, la información secundaria puede transferirse al lado de decodificación por medio de otro esquema de codificación.
La Figura 5 muestra un decodificador que puede decodificar un flujo de datos generado por el codificador de la Figura 4. El decodificador de la Figura 5 comprende un decodificador por entropía 150, una etapa de transformada inversa 152, un sumador 154 y un predictor 156. El decodificador de entropía 150, la etapa de transformada inversa 152, y el sumador 154 están conectados en serie entre una entrada 158 y una salida 160 del decodificador de la Figura 5 en el orden mencionado. Una salida adicional del decodificador de entropía 150 está conectada al predictor 156 que, a su vez, está conectado entre la salida del sumador 154 y una entrada adicional del mismo. El decodificador por entropía 150 extrae, del flujo de datos que entra en el decodificador de la Figura 5 en la entrada 158, los bloques de coeficiente de transformada en los que se aplica una transformada inversa a los bloques de coeficiente de transformada en la etapa 152 para obtener la señal residual. La señal residual se combina con una predicción del predictor 156 en el sumador 154 para obtener un bloque reconstruido de la versión reconstruida de la matriz de muestras en la salida 160. Basándose en las versiones reconstruidas, el predictor 156 genera las predicciones, reconstruyendo de esta manera las predicciones realizadas por el predictor 106 en el lado del codificador. Para obtener las mismas predicciones que aquellas usadas en el lado del codificador, el predictor 156 usa los parámetros de predicción que también obtiene el decodificador por entropía 150 del flujo de datos en la entrada 158.
Debería observarse que, en las realizaciones anteriormente descritas, la granularidad espacial en la que se realiza la predicción y la transformación del residuo, no tienen que ser iguales entre sí. Esto se muestra en la Figura 2C. Esta figura muestra una subdivisión para los bloques de predicción de la granularidad de predicción con líneas continuas y la granularidad residual con líneas discontinuas. Como puede observarse, las subdivisiones pueden seleccionarse por el codificador independientemente unas de las otras. Para ser más precisos, la sintaxis de flujo de datos puede permitir una definición de la subdivisión residual independiente de la subdivisión de predicción. Como alternativa, la subdivisión residual puede ser una extensión de la subdivisión de predicción de modo que cada bloque residual es igual a o un subconjunto apropiado de un bloque de predicción. Esto se muestra en la Figura 2a y Figura 2b, por ejemplo, donde, de nuevo, se muestra la granularidad de predicción con líneas continuas y la granularidad residual con líneas discontinuas. Esto, en la Figura 2a-2c, todos los bloques que tienen un signo de referencia asociado con los mismos serían bloques residuales para los que se realizaría una transformada bidimensional mientras que las líneas continuas más grandes que abarcan los bloques de línea discontinua 40a, por ejemplo, serían bloques de predicción para los que se realiza individualmente un parámetro de predicción.
Las realizaciones anteriores tienen en común que un bloque de muestras (residuales u originales) ha de transformarse en el lado del codificador en un bloque de coeficiente de transformada que, a su vez, ha de transformarse a la inversa en un bloque reconstruido de muestras en el lado del decodificador. Esto se ilustra en la Figura 6. La Figura 6 muestra un bloque de muestras 200. En el caso de la Figura 6, este bloque 200 es ejemplarmente cuadrático y es de 4x4 muestras 202 de tamaño. Las muestras 202 están dispuestas regularmente a lo largo de una dirección horizontal x y dirección vertical y. Mediante la transformada bidimensional anteriormente mencionada T, el bloque 200 se transforma en el dominio espectral, en concreto en un bloque 204 de coeficientes de transformada 206, siendo el bloque de transformada 204 del mismo tamaño que el bloque 200. Es decir, el bloque de transformada 204 tiene tantos coeficientes de transformada 206 como tiene muestras el bloque 200, tanto en dirección horizontal como vertical. Sin embargo, ya que la transformada T es una transformación espectral, las posiciones de los coeficientes de transformada 206 en el bloque de transformada 204 no corresponden a posiciones espaciales, sino, en su lugar, a componentes espectrales del contenido del bloque 200. En particular, el eje horizontal del bloque de transformada 204 corresponde a un eje a lo largo del cual la frecuencia espectral en la dirección horizontal aumenta monotónicamente mientras que el eje vertical corresponde a un eje a lo largo del cual la frecuencia espacial en la dirección vertical aumenta monotónicamente en el que el coeficiente de transformada del componente de CC está situado en una esquina - en este punto ejemplarmente la esquina superior izquierda - del bloque 204 de modo que en la esquina inferior derecha, está situado el coeficiente de transformada 206 que corresponde a la frecuencia más alta tanto en la dirección horizontal como en la vertical. Despreciando la dirección espacial, la frecuencia espacial a la que pertenece un cierto coeficiente de transformada 206, generalmente aumenta de la esquina superior izquierda a la esquina inferior derecha. Mediante una transformada inversa T-1, el bloque de transformada 204 se vuelve a transferir del dominio espectral al dominio espacial, para volver a obtener una copia 208 del bloque 200. En caso de que no se haya introducido cuantificación/pérdida durante la transformación, la reconstrucción sería perfecta.
Como ya se ha indicado anteriormente, puede observarse a partir de la Figura 6 que mayores tamaños de bloque del bloque 200 aumentan la resolución espectral de la representación espectral resultante 204. Por otra parte, el ruido de cuantificación tiende a extenderse a través de la totalidad del bloque 208 y, por lo tanto, objetos abruptos y muy ubicados dentro de los bloques 200 tienden a conducir a desviaciones del bloque retransformado con relación al bloque original 200 debido al ruido de cuantificación. La principal ventaja del uso de bloque mayor es, sin embargo, que la relación entre el número de coeficientes de transformada significativos, es decir distintos de cero (cuantificados), por una parte, y el número de coeficientes de transformada no significativos, por otra parte, pueden reducirse en bloques más grandes en comparación con bloques más pequeños posibilitando de esta manera una eficacia de codificación mejor. En otras palabras, de manera frecuente, los coeficientes de transformada significativos, es decir los coeficientes de transformada no cuantificados a cero, están distribuidos a través del bloque de transformada 204 de manera dispersa. Debido a esto, de acuerdo con las realizaciones descritas en más detalle a continuación, las posiciones de los coeficientes de transformada significativos se señalizan en el flujo de datos por medio de un mapa de significado.
De manera separada de los mismos, los valores del coeficiente de transformada significativo, es decir, los niveles de coeficientes de transformada en caso de que se estén cuantificando los coeficientes de transformada, se transmiten en el flujo de datos.
Por consiguiente, de acuerdo con una realización de la presente solicitud, un aparato para decodificar un mapa de significado de este tipo del flujo de datos o decodificar el mapa de significado a lo largo de los correspondientes valores de coeficientes de transformada significativos del flujo de datos, puede implementarse como se muestra en la Figura 7, y cada uno de los decodificadores de entropía anteriormente mencionados, en concreto el decodificador 50 y el decodificador de entropía 150, pueden comprender el aparato mostrado en la Figura 7.
El aparato de la Figura 7 comprende un decodificador de entropía de mapa/coeficiente 250 y un asociador 252. El decodificador de entropía de mapa/coeficiente 250 está conectado a una entrada 254 en la que entran elementos de sintaxis que representan el mapa de significado y los valores de coeficientes de transformada significativos. Como se describirá en más detalle a continuación, existen diferentes posibilidades con respecto al orden en el que los elementos de sintaxis que describen el mapa de significado, por una parte, y los valores de coeficientes de transformada significativos, por otra parte, entran en el decodificador de entropía de mapa/coeficiente 250. Los elementos de sintaxis de mapa de significado pueden preceder los correspondientes niveles, o ambos pueden intercalarse. Sin embargo, de manera preliminar se supone que los elementos de sintaxis que representan el mapa de significado preceden los valores (niveles) de los coeficientes de transformada significativos de modo que el decodificador de entropía de mapa/coeficiente 250 decodifica en primer lugar el mapa de significado y a continuación los niveles de coeficientes de transformada de los coeficientes de transformada significativos.
A medida que el decodificador de entropía de mapa/coeficiente 250 decodifica secuencialmente los elementos de sintaxis que representan el mapa de significado y los valores de coeficientes de transformada significativos, el asociador 252 está configurado para asociar estos elementos/valores de sintaxis decodificados secuencialmente a las posiciones en el bloque de transformada 256. El orden de exploración en el que el asociador 252 asocia los elementos de sintaxis decodificados secuencialmente que representan el mapa de significado y los niveles de los coeficientes de transformada significativos a las posiciones del bloque de transformada 256 sigue un orden de exploración unidimensional entre las posiciones del bloque de transformada 256 que es idéntico al orden usado en el lado de codificación para introducir estos elementos en el flujo de datos. Como se indicará también en más detalle a continuación, el orden de exploración para los elementos de sintaxis de mapa de significado puede ser igual, o no, al orden usado para los valores de coeficientes significativos.
El decodificador de entropía de mapa/coeficiente 250 puede acceder a la información en el bloque de transformada 256 disponible hasta ahora, como se genera por el asociador 252 hasta un elemento/nivel de sintaxis actualmente a decodificarse, para establecer el contexto de estimación de probabilidad para la decodificación de entropía del elemento/nivel de sintaxis actualmente a decodificarse como se indica por una línea discontinua 258. Por ejemplo, el asociador 252 puede registrar la información recopilada hasta ahora de los elementos de sintaxis asociados secuencialmente tal como los mismos niveles o la información en cuanto a si en la respectiva posición está situado o no un coeficiente de transformada significativo o en cuanto a si no se conoce nada acerca de la respectiva posición del bloque de transformada 256 en la que el decodificador de entropía de mapa/coeficiente 250 accede a esta memoria. La memoria recién mencionada no se muestra en la Figura 7 pero el signo de referencia 256 puede indicar también esta memoria como la memoria o memoria intermedia de registro que sería para almacenar la información preliminar obtenida por el asociador 252 y el decodificador de entropía 250 hasta ahora. Por consiguiente, la Figura 7 ilustra mediante cruces posiciones de coeficientes de transformada significativos obtenidas de los elementos de sintaxis previamente decodificados que representan el mapa de significado y un "1" deberá indicar que el nivel de coeficiente de transformada significativo del coeficiente de transformada significativo en la respectiva posición ya se ha decodificado y es 1.
En caso de los elementos de sintaxis de mapa de significado que preceden los valores significativos en el flujo de datos, una cruz se habría registrado en la memoria 256 en la posición del "1" (esta situación habría representado la totalidad del mapa de significado) antes de introducir el "1" después de decodificar el respectivo valor.
La siguiente descripción se concentra en realizaciones específicas para codificar los bloques de coeficiente de transformada o el mapa de significado, realizaciones que son fácilmente transferibles a las realizaciones anteriormente descritas. En estas realizaciones, puede transmitirse un elemento de sintaxis binario coded_block_flag para cada bloque de transformada, que señaliza si el bloque de transformada contiene algún nivel de coeficiente de transformada significativo (es decir, coeficientes de transformada que son distintos de cero). Si este elemento de sintaxis indica que están presentes niveles de coeficientes de transformada significativos, el mapa de significado se codifica, es decir, simplemente entonces. El mapa de significado especifica, como se ha indicado anteriormente, cuál de los niveles de coeficientes de transformada tiene valores distintos de cero. La codificación de mapa de significado implica una codificación de elementos de sintaxis binarios significant_coeff_flag que cada uno especifica una posición de coeficiente respectivamente asociada de si el correspondiente nivel de coeficiente de transformada es igual o no a cero. La codificación se realiza en un cierto orden de exploración que puede cambiar durante la codificación del mapa de significado dependiendo de las posiciones de coeficientes significativos identificadas que son significativos hasta ahora, como se describirá en más detalle a continuación. Además, la codificación de mapa de significado implica una codificación de elementos de sintaxis binarios last_significant_coeff_flag intercalados con la secuencia de significant_coeff_flag en las posiciones de los mismos, donde la bandera significant_coeff señaliza un coeficiente significativo. Si el binario significant_coeff_flag es igual a uno, es decir, si existe un nivel de coeficiente de transformada distinto de cero en esta posición de exploración, se codifica el elemento de sintaxis binario adicional last_significant_coeff_flag. Este binario indica si el nivel de coeficiente de transformada significativo actual es el último nivel de coeficiente de transformada significativo dentro del bloque o si niveles de coeficientes de transformada significativos adicionales siguen en orden de exploración. Si last_significant_coeff_flag indica que no siguen coeficientes de transformada significativos adicionales, no se codifican elementos de sintaxis adicionales para especificar el mapa de significado para el bloque. Como alternativa, el número de posiciones de coeficiente significativo podría señalizarse en el flujo de datos con antelación de la codificación de la secuencia de significant_coeff_flag. En la siguiente etapa, se codifican los valores de los niveles de coeficientes de transformada significativos. Como se ha descrito anteriormente, como alternativa, la transmisión de los niveles podría intercalarse con la transmisión del mapa de significado. Los valores de niveles de coeficientes de transformada significativos se codifican en un orden de exploración adicional para el que se describen ejemplos a continuación. Se usan los siguientes tres elementos de sintaxis. El elemento de sintaxis binario coeff_abs_greater_one indica si el valor absoluto del nivel de coeficiente de transformada significativo es mayor que uno. Si el elemento de sintaxis binario coeff_abs_greater_one indica que el valor absoluto es mayor que uno, se envía un elemento de sintaxis adicional coeff_abs_level_minus_one, que especifica el valor absoluto del nivel de coeficiente de transformada menos uno. Finalmente, el elemento de sintaxis binario coeff_sign_flag, que especifica el signo del valor de coeficiente de transformada, se codifica para cada nivel de coeficiente de transformada significativo.
Las realizaciones descritas a continuación posibilitan reducir adicionalmente la tasa de bits y por lo tanto aumentar la eficacia de codificación. Para hacer esto, estas realizaciones usan un enfoque específico para modelado de contexto para elementos de sintaxis relacionados con los coeficientes de transformada. En particular, se usa una nueva selección de modelo de contexto para los elementos de sintaxis significant_coeff_flag, last_significant_coeff_flag, coeff_abs_greater_one y coeff_abs_level_minus_one. Y adicionalmente, se describe una conmutación adaptativa de la exploración durante la codificación/decodificación del mapa de significado (que especifica las ubicaciones de niveles de coeficientes de transformada distintos de cero). En cuanto al significado de los elementos de sintaxis que deben mencionarse, se hace referencia a la porción introductoria anterior de la presente solicitud.
La codificación de los elementos de sintaxis significant_coeff_flag y last_significant_coeff_flag, que especifican el mapa de significado, se mejora por una exploración adaptativa y un nuevo modelado de contexto basándose en una cercanía definida de posiciones de exploración ya codificadas. Estos nuevos conceptos dan como resultado una codificación más eficaz de mapas de significado (es decir, una reducción de la correspondiente tasa de bits), en particular para tamaños de bloque grandes.
Un aspecto de las realizaciones anteriormente señaladas es que el orden de exploración (es decir, el mapeo de un bloque de valores de coeficientes de transformada en un conjunto ordenado (vector) de niveles de coeficientes de transformada) está adaptado durante la codificación/decodificación de un mapa de significado basándose en los valores de los elementos de sintaxis ya codificados/decodificados para el mapa de significado.
En una realización preferida, el orden de exploración se conmuta de manera adaptativa entre dos o más patrones de exploración predefinidos. En una realización preferida, la conmutación puede tener lugar únicamente en ciertas posiciones de exploración predefinidas. En una realización preferida adicional de la invención, el orden de exploración se conmuta de manera adaptativa entre dos patrones de exploración predefinidos. En una realización preferida, la conmutación entre los dos patrones de exploración predefinidos puede tener lugar únicamente en ciertas posiciones de exploración predefinidas.
La ventaja de la conmutación entre patrones de exploración es una tasa de bits reducida, que es un resultado de un número menor de elementos de sintaxis codificados. Como un ejemplo intuitivo y haciendo referencia a la Figura 6, a menudo se da el caso de que valores de coeficientes de transformada significativos - en particular para bloques de transformada grandes - estén concentrados en uno de los bordes de bloque 270, 272, puesto que los bloques residuales contienen estructuras principalmente horizontales o verticales. Con la exploración en zigzag 274 principalmente usada, existe una probabilidad de aproximadamente el 0,5 que la última subexploración de diagonal de la exploración de zigzag en la que se encuentra el último coeficiente significativo empieza desde el lado en el que no están concentrados los coeficientes significativos. En ese caso, han de codificarse un gran número de elementos de sintaxis para niveles de coeficientes de transformada iguales a cero antes de que se alcance el último valor de coeficiente de transformada distinto de cero. Esto puede evitarse si las subexploraciones diagonales se inician siempre en el lateral, donde están concentrados los niveles de coeficientes de transformada significativos.
Se describen a continuación más detalles para una realización preferida de la invención.
Como se ha mencionado anteriormente, también para tamaños de bloque grandes, se prefiere mantener el número de modelos de contexto razonablemente pequeño para posibilitar una adaptación rápida de los modelos de contexto y proporcionar una eficacia de codificación alta. Por lo tanto, debe usarse un contexto particular para más de una posición de exploración. Pero el concepto de asignación del mismo contexto a un número de sucesivas posiciones de exploración, como se hace para bloques de 8x8 en H.264, normalmente no es adecuado, puesto que los niveles de coeficientes de transformada significativos normalmente están concentrados en ciertas áreas de unos bloques de transformada (esta concentración puede ser un resultado de ciertas estructuras dominantes que están normalmente presentes en, por ejemplo, bloques residuales). Para designar la selección de contexto, podría usarse la observación anteriormente mencionada de que los niveles de coeficientes de transformada significativos a menudo están concentrados en ciertas áreas de un bloque de transformada. A continuación, se describen conceptos mediante los cuales puede aprovecharse esta observación.
En una realización preferida, un bloque de transformada grande (por ejemplo, mayor que 8x8) se particiona en un número de subbloques rectangulares (por ejemplo, en subbloques de 16) y cada uno de estos subbloques está asociado con un modelo de contexto separado para codificar significant_coeff_flag y last_significant_coeff_flag (donde se usan diferentes modelos de contexto para significant_coeff_flag y last_significant_coeff_flag). El particionamiento en subbloques puede ser diferente de significant_coeff_flag y last_significant_coeff_flag. Puede usarse el mismo modelo de contexto para todas las posiciones de exploración que están ubicadas en un subbloque particular.
En una realización preferida adicional, un bloque de transformada grande (por ejemplo, mayor que 8x8) puede particionarse en un número de subregiones rectangulares y/o no rectangulares y cada una de estas subregiones está asociada con un modelo de contexto separado para codificar significant_coeff_flag y/o last_significant_coeff_flag. El particionamiento en subregiones puede ser diferente para significant_coeff_flag y last_significant_coeff_flag. Se usa el mismo modelo de contexto para todas las posiciones de exploración que están ubicadas en una subregión particular.
En una realización preferida adicional, el modelo de contexto para codificar significant_coeff_flag y/o last_significant_coeff_flag se selecciona basándose en los símbolos ya codificados en una cercanía espacial predefinida de la posición de la exploración actual. La cercanía predefinida puede ser diferente para diferentes posiciones de exploración. En una realización preferida, el modelo de contexto se selecciona basándose en el número de niveles de coeficientes de transformada significativos en la cercanía espacial predefinida de la posición de la exploración actual, donde se cuentan únicamente indicaciones de significado ya codificadas.
Se describen a continuación más detalles para una realización preferida de la invención.
Como se ha mencionado anteriormente, para tamaños de bloque grandes, el modelado de contexto convencional codifica un gran número de binarios (que normalmente tienen diferentes probabilidades) con un único modelo de contexto para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one. Para evitar esta desventaja para tamaño de bloque grande, los bloques grandes pueden dividirse, de acuerdo con una realización, en subbloques cuadráticos o rectangulares pequeños de un tamaño particular y se aplica modelado de contexto separado para cada subbloque. Además, pueden usarse múltiples conjuntos de modelos de contexto, donde se selecciona uno de estos conjuntos de modelos de contexto para cada subbloque basándose en un análisis de las estadísticas de subbloques previamente codificados. En una invención de realización preferida, se usa el número de coeficientes de transformada mayor que 2 (es decir, coeff_abs_level_minus_1>1) en el subbloque previamente codificado del mismo bloque para derivar el modelo de contexto establecido para el subbloque actual. Estas mejoras para modelado de contexto de los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one da como resultado una codificación más eficaz de ambos elementos de sintaxis, en particular para tamaños de bloque grandes. En una realización preferida, el tamaño de bloque de un subbloque es 2x2. En otra realización preferida, el tamaño de bloque de un subbloque es 4x4.
En una primera etapa, un bloque mayor que un tamaño predefinido puede dividirse en subbloques más pequeños de un tamaño particular. El proceso de codificación de los niveles de coeficientes de transformada absolutos mapea el bloque cuadrático o rectangular de subbloques en un conjunto ordenado (vector) de subbloques usando una exploración, donde pueden usarse diferentes exploraciones para diferentes bloques. En una realización preferida, los subbloques se procesan usando una exploración en zigzag; los niveles de coeficientes de transformada dentro de un subbloque se procesan en una exploración en zigzag inversa, es decir, una exploración que se carga desde un coeficiente de transformada que pertenece a la frecuencia más alta en dirección vertical y horizontal al coeficiente relacionado con la frecuencia más baja en ambas direcciones. En otra realización preferida de la invención, se usa una exploración de zigzag inversa para codificar los subbloques y para codificar los niveles de coeficientes de transformada dentro de los subbloques. En otra realización preferida de la invención, la misma exploración adaptativa que se usa para codificar el mapa de significado (véase anteriormente) se usa para procesar la totalidad de bloques de los niveles de coeficientes de transformada.
La división de un bloque de transformada grande en subbloques evita el problema de uso de solamente un modelo de contexto para la mayoría de los binarios de un bloque de transformada grande. Dentro de los subbloques, puede usarse el modelado de contexto del estado de la técnica (como se especifica en H.264) o de contexto fijo, dependiendo del tamaño real de los subbloques. Adicionalmente, las estadísticas (en términos de modelación de probabilidad) para tales subbloques son diferentes de las estadísticas de un bloque de transformada con el mismo tamaño. Esta propiedad puede aprovecharse extendiendo el conjunto de modelos de contexto para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one. Pueden proporcionarse múltiples conjuntos de modelos de contexto, y para cada subbloque puede seleccionarse uno de estos conjuntos de modelos de contexto basándose en las estadísticas del subbloque previamente codificado en el bloque de transformada actual o en bloques de transformada previamente codificados. En una realización preferida de la invención, el conjunto seleccionado de modelos de contexto se deriva basándose en las estadísticas de los subbloques previamente codificados en el mismo bloque. En otra realización preferida de la invención, el conjunto seleccionado de modelos de contexto se deriva basándose en las estadísticas del mismo subbloque de bloques previamente codificados. En una realización preferida, el número de conjuntos de modelos de contexto se establece igual a 4, mientras que otra realización preferida, el número de conjuntos de modelo de contexto se establece igual a 16. En una realización preferida, las estadísticas que se usan para derivar el conjunto de modelos de contexto es el número de niveles de coeficientes de transformada absoluto mayor que 2 en subbloques previamente codificados. En otra realización preferida, las estadísticas que se usan para derivar el conjunto de modelos de contexto es la diferencia entre el número de coeficientes significativos y el número de niveles de coeficientes de transformada con un valor absoluto mayor que 2.
La codificación del mapa de significado puede realizarse como se indica a continuación, en concreto mediante una conmutación adaptativa del orden de exploración.
En una realización preferida, el orden de exploración para codificar el mapa de significado está adaptado a la conmutación entre dos patrones de exploración predefinidos. La conmutación entre los patrones de exploración puede hacerse únicamente en ciertas posiciones de exploración predefinidas. La decisión de si se conmuta el patrón de exploración depende de los valores de los elementos de sintaxis de mapa de significado ya codificado/decodificado. En una realización preferida, ambos patrones de exploración predefinidos especifican patrones de exploración con subexploraciones diagonales, similares al patrón de exploración de la exploración en zigzag. Los patrones de exploración se ilustran en la Figura 8. Ambos patrones de exploración 300 y 302 consisten en un número de subexploraciones diagonales para diagonales de abajo-izquierda a arriba-derecha o viceversa. La exploración de las subexploraciones diagonales (no ilustrada en la figura) se hace de arriba-izquierda a abajo-derecha para ambos patrones de exploración predefinidos. Pero la exploración dentro de las subexploraciones diagonales es diferente (como se ilustra en la figura). Para el primer patrón de exploración 300, las subexploraciones de diagonal se exploran de abajo-izquierda a arriba-derecha (ilustración izquierda de la Figura 8), y para el segundo patrón de exploración 302, las subexploraciones diagonales se exploran de arriba-derecha a abajo-izquierda (ilustración derecha de la Figura 8). En una realización, la codificación del mapa de significado se inicia con el segundo patrón de exploración. Mientras se codifican/decodifican los elementos de sintaxis, el número de valores de coeficientes de transformada significativos se cuenta por dos contadores c1 y c2. El primer contador c1 cuenta el número de coeficientes de transformada significativos que están ubicados en la parte abajo-izquierda del bloque de transformada; es decir, este contador se incrementa en uno cuando se codifica/decodifica un nivel de coeficiente de transformada significativo para el que la coordenada horizontal x dentro del bloque de transformada es menor que la coordenada vertical y. El segundo contador c2 cuenta el número de coeficientes de transformada significativos que están ubicados en la parte arribaderecha del bloque de transformada; es decir, este contador se incrementa en uno cuando se codifica/decodifica un nivel de coeficiente de transformada significativo para el que la coordenada horizontal x dentro del bloque de transformada es mayor que la coordenada vertical y. La adaptación de los contadores puede realizarse por el asociador 252 en la Figura 7 y puede describirse por las siguientes fórmulas, donde t especifica el índice de posición de exploración y ambos contadores se inicializan con cero:
1 c1(t), x < y
Ci(t 1) =
CjXt), de lo contrario
1 C 2 (t), x > y
C2Ít 1) = c2(t), de lo contrario
Al final de cada subexploración diagonal, se decide por el asociador 252 si se usa el primer o el segundo de los patrones de exploración predefinidos 300, 302 para la siguiente subexploración de diagonal. Esta decisión está basada en los valores de los contadores c1 y c2. Cuando el contador de la parte abajo-izquierda del bloque de transformada es mayor que el contador para la parte abajo-izquierda, se usa el patrón de exploración que explora las subexploraciones de diagonal de abajo-izquierda a arriba-derecha; de lo contrario (el contador para la parte abajoizquierda del bloque de transformada es menor o igual que el contador para la parte abajo-izquierda), el patrón de exploración que explora las subexploraciones diagonales de arriba-derecha abajo-izquierda. Esta decisión puede expresarse por la siguiente fórmula:
arriba derecha abajo izquierda, c1 < c2
d-t+i abajo izquieda a arriba derecha, c1 > c2
Debería observarse que la realización anteriormente descrita de la invención puede aplicarse fácilmente a otros patrones de exploración. Como un ejemplo, el patrón de exploración que se usa para macrobloques de campo en H.264 puede descomponerse también en subexploraciones. En una realización preferida adicional, un patrón de exploración dado pero arbitrario se descompone en subexploraciones. Para cada una de las subexploraciones, se definen dos patrones de exploración: uno de abajo-izquierda a arriba-derecha y uno de arriba-derecha a abajoizquierda (como dirección de exploración básica). Además, se introducen dos contadores que cuentan el número de coeficientes significativos en una primera parte (cerca del borde abajo-izquierdo de unos bloques de transformada) y una segunda parte (cerca del borde superior-derecho de unos bloques de transformada) dentro de las subexploraciones. Finalmente, al final de cada subexploración se decide (basándose en los valores de los contadores), si se explora la siguiente subexploración de abajo-izquierda a arriba-derecha o de arriba-derecha a abajo-izquierda.
A continuación, se presentan las realizaciones para cómo el decodificador de entropía 250 modela los contextos.
En una realización preferida, el modelado de contexto para la bandera significant_coeff se hace como sigue. Para bloques de 4x4, el modelado de contexto se hace como se especifica en H.264. Para bloques de 8x8, el bloque de transformada se descompone en 16 subbloques de 2x2 muestras, y cada uno de estos subbloques está asociado con un contexto separado. Obsérvese que este concepto puede extenderse a tamaños de bloque más grandes, un número diferente de subbloques, y también subregiones no rectangulares como se ha descrito anteriormente.
En una realización preferida adicional, la selección de modelo de contexto para bloques de transformada más grandes (por ejemplo, para bloques mayores que 8x8) está basada en el número de coeficientes de transformada significativos ya codificados en una cercanía predefinida (dentro del bloque de transformada). Se ilustra un ejemplo para la definición de cercanías, que corresponde a una realización preferida de la invención en la Figura 9. Las cruces con un círculo alrededor iguales son cercanías disponibles, que siempre se tienen en cuenta para la evaluación y las cruces con un triángulo son vecinos que se evalúan dependiendo de la posición de la exploración actual y dirección de exploración actual):
• Si la posición de la exploración actual radica en el interior de la esquina izquierda de 2x2 304, se usa un modelo de contexto separado para cada posición de exploración (Figura 9, ilustración izquierda)
• Si la posición de la exploración actual no radica dentro de la esquina izquierda de 2x2 y no está ubicada en la primera fila o la primera columna del bloque de transformada, entonces los vecinos ilustrados a la derecha en la Figura 9 se usan para evaluar el número de coeficientes de transformada significativos en las cercanías de la posición de la exploración actual "x" sin nada alrededor de ella.
• Si la posición de la exploración actual "x" sin nada alrededor de ella cae en la primera fila del bloque de transformada, entonces se usan los vecinos especificados en la ilustración derecha de la Figura 10.
• Si la posición de la exploración actual "x" cae en la primera columna del bloque, entonces se usan los vecinos especificados en la ilustración izquierda de la Figura 10.
En otras palabras, el decodificador 250 puede estar configurado para extraer secuencialmente los elementos de sintaxis de mapa de significado por decodificación de entropía de manera adaptativa al contexto mediante el uso de contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de mapa de significado dependiendo de un número de posiciones en las que están situados los coeficientes de transformada significativos de elementos de sintaxis de mapa de significado previamente extraídos y asociados, estando restringidas las posiciones a unas que radican en una cercanía de la posición ("x" en la Figura 9 al lado derecho y la Figura 10 a ambos lados, y cualquiera de las posiciones marcadas del lado izquierdo de la Figura 9) con las que está asociado el respectivo elemento de sintaxis de mapa de significado actual. Como se muestra, la cercanía de la posición con la que está asociado el respectivo elemento de sintaxis actual, puede comprender simplemente posiciones directamente adyacentes a o separadas de la posición con la que está asociado el respectivo elemento de sintaxis de mapa de significado, en una posición en dirección vertical y/o una posición en la dirección horizontal en el máximo. Como alternativa, pueden tenerse en cuenta simplemente posiciones directamente adyacentes al respectivo elemento de sintaxis actual. De manera concurrente, el tamaño del bloque de coeficiente de transformada puede ser igual a o mayor que posiciones de 8x8.
En una realización preferida, el modelo de contexto que se usa para codificar una bandera significant_coeff particular se elige dependiendo del número de niveles de coeficientes de transformada significativos ya codificados en las cercanías definidas. En este punto, el número de modelos de contexto disponibles puede ser menor que el posible valor para el número de niveles de coeficientes de transformada significativos en las cercanías definidas. El codificador y decodificador pueden contener una tabla (o un mecanismo de mapeo diferente) para mapear el número de niveles de coeficientes de transformada significativos en las cercanías definidas en un índice de modelo de contexto.
En una realización preferida adicional, el índice de modelo de contexto elegido depende del número de niveles de coeficientes de transformada significativos en las cercanías definidas y de uno o más parámetros adicionales como el tipo de las cercanías usadas o la posición de exploración o un valor cuantificado para la posición de exploración.
Para la codificación de last_significant_coeff_flag, puede usarse un modelado de contexto similar para significant_coeff_flag. Sin embargo, la medida de probabilidad para last_significant_coeff_flag depende principalmente de una distancia de la posición de la exploración actual a la esquina superior-izquierda del bloque de transformada. En una realización preferida, el modelo de contexto para codificar last_significant_coeff_flag se elige basándose en la diagonal de exploración en la que radica la posición de la exploración actual (es decir, se elige basándose en x y, donde x e y representan la ubicación horizontal y vertical de una posición de exploración dentro del bloque de transformada, respectivamente, en el caso de la realización anterior de la Figura 8, o basándose en la cantidad de subexploraciones entre la subexploración actual y la posición de CC superior izquierda (tal como índice de subexploración menos 1)). En una realización preferida de la invención, el mismo contexto se usa para diferentes valores de x y. La medida de distancia, es decir x y o el índice de subexploración se mapea en el conjunto de modelos de contexto de una cierta manera (por ejemplo, cuantificando x y o el índice de subexploración), donde el número de posibles valores para la medida de distancia es mayor que el número de modelos de contexto disponibles para codificar last_significant_coeff_flag.
En una realización preferida, se usan diferentes esquemas de modelado de contexto para diferentes tamaños de bloques de transformada.
A continuación, se describe la codificación de los niveles de coeficientes de transformada absolutos.
En una realización preferida, el tamaño de los subbloques es 2x2 y el modelado de contexto dentro de los subbloques está desactivado, es decir, se usa un único modelo de contexto para todos los coeficientes de transformada dentro de un subbloque de 2x2. Únicamente pueden verse afectados bloques mayores que 2x2 por el proceso de subdivisión. En una realización preferida adicional de esta invención, el tamaño de los subbloques es 4x4 y el modelado de contexto dentro de los subbloques se hace como en H.264; únicamente se ven afectados los bloques mayores que 4x4 por el proceso de subdivisión.
En cuanto al orden de exploración, en una realización preferida, se emplea una exploración en zigzag 320 para explorar los subbloques 322 de un bloque de transformada 256, es decir, a lo largo de una dirección de frecuencia sustancialmente creciente, mientras que los coeficientes de transformada dentro de un subbloque se exploran en una exploración en zigzag inversa 326 (Figura 11). En una realización preferida adicional de la invención, tanto los subbloques 322 como los niveles de coeficientes de transformada dentro de los subbloques 322 se exploran usando una exploración en zigzag inversa (como la ilustración en la Figura 11, donde la flecha está invertida 320). En otra realización preferida, se usa la misma exploración adaptativa que para codificar el mapa de significado para procesar los niveles de coeficientes de transformada, donde la decisión de adaptación es la misma, de modo que se usa exactamente la misma exploración para tanto la codificación del mapa de significado como la codificación de los valores de nivel de coeficiente de transformada. Debería observarse que la misma exploración no depende normalmente de las estadísticas seleccionadas o del número de conjuntos de modelo de contexto o de la decisión de activar o desactivar el modelado de contexto dentro de los subbloques.
A continuación, se describen realizaciones para modelado de contexto para los niveles de coeficientes.
En una realización preferida, el modelado de contexto para un subbloque es similar al modelado de contexto para bloques de 4x4 en H.264 como se ha descrito anteriormente. El número de modelos de contexto que se usan para codificar el elemento de sintaxis coeff_abs_greater_one y el primer binario del elemento de sintaxis coeff_abs_level_minus_one es igual a cinco, por ejemplo, usando diferentes conjuntos de modelos de contexto para los dos elementos de sintaxis. En una realización preferida adicional, el modelado de contexto dentro de los subbloques está desactivado y únicamente se usa un modelo de contexto predefinido dentro de cada subbloque. Para ambas realizaciones, el conjunto de modelo de contexto para un subbloque 322 se selecciona entre un número predefinido de conjuntos de modelo de contexto. La selección del ajuste de modelo de contexto para un subbloque 322 está basada en ciertas estadísticas de uno o más subbloques ya codificados. En una realización preferida, las estadísticas usadas para seleccionar un conjunto de modelo de contexto para un subbloque se toman de uno o más subbloques ya codificados en el mismo bloque 256. Se describe a continuación cómo se usan las estadísticas para derivar el conjunto de modelo de contexto seleccionado. En una realización preferida adicional, las estadísticas se toman del mismo subbloque en un bloque previamente codificado con el mismo tamaño de bloque tal como el bloque 40a y 40a' en la Figura 2b. En otra realización preferida de la invención, las estadísticas se toman de un subbloque vecino definido en el mismo bloque, que depende de la exploración seleccionada para los subbloques. También, es importante observar que la fuente de las estadísticas debe ser independiente del orden de exploración y cómo se crean las estadísticas para derivar el conjunto de modelo de contexto.
En una realización preferida, el número de conjuntos de modelo de contexto es igual a cuatro, mientras que, en otra realización preferida, el número de conjuntos de modelo de contexto es igual a 16. De manera común, el número de conjuntos de modelo de contexto no está fijado y no debe adaptarse de acuerdo con las estadísticas seleccionadas. En una realización preferida, el conjunto de modelo de contexto para un subbloque 322 se deriva basándose en el número de niveles de coeficientes de transformada absolutos mayores que dos en uno o más subbloques ya codificados. Se determina un índice para el conjunto de modelo de contexto mapeando el número de niveles de coeficientes de transformada absolutos mayores que dos en el subbloque de referencia o subbloques de referencia en un conjunto de índices de modelo de contexto predefinidos. Este mapeo puede implementarse cuantificando el número de niveles de coeficientes de transformada absolutos mayores que dos o por una tabla predefinida. En una realización preferida adicional, el conjunto de modelo de contexto para un subbloque se deriva basándose en la diferencia entre el número de niveles de coeficientes de transformada significativos y el número de niveles de coeficientes de transformada absoluto mayor que dos en uno o más subbloques ya codificados. Se determina un índice para el conjunto de modelo de contexto mapeando esta diferencia en un conjunto de índices de modelo de contexto predefinidos. Este mapeo puede implementarse cuantificando la diferencia entre el número de niveles de coeficientes de transformada significativos y el número de niveles de coeficientes de transformada absolutos mayores que dos o por una tabla predefinida.
En otra realización preferida, cuando se usa la misma exploración adaptativa para procesar los niveles de coeficientes de transformada absolutos y el mapa de significado, pueden usarse las estadísticas parciales de los subbloques en los mismos bloques para derivar el ajuste de modelo de contexto para el subbloque actual, o, si están disponibles, pueden usarse las estadísticas de subbloques previamente codificados en bloques de transformada previamente codificados. Eso significa, por ejemplo, en lugar de usar el número absoluto de niveles de coeficientes de transformada absolutos mayores que dos en el subbloque o subbloques para derivar el modelo de contexto, el número de niveles de coeficientes de transformada absolutos ya codificados mayores que dos multiplicado por la relación del número de coeficientes de transformada en el subbloque o subbloques y se usa el número de coeficientes de transformada ya codificados en el subbloque o subbloques; o en lugar de usar la diferencia entre el número de niveles de coeficientes de transformada significativos y el número de niveles de coeficientes de transformada absolutos mayores que dos en el subbloque o subbloques, se usa la diferencia entre el número de niveles de coeficientes de transformada significativos ya codificados y los niveles de coeficientes de transformada absolutos ya codificados mayor que dos multiplicado por la relación del número de coeficientes de transformada en el subbloque o subbloques y el número de coeficientes de transformada ya codificados en el subbloque o subbloques.
Para el modelado de contexto dentro de los subbloques, básicamente puede emplearse la inversa del modelado de contexto del estado de la técnica para H.264. Eso significa, cuando se usa la misma exploración adaptativa para procesar los niveles de coeficientes de transformada absolutos y el mapa de significado, los niveles de coeficientes de transformada se codifican básicamente en un orden de exploración directo, en lugar de un orden de exploración inverso como en H.264. Por lo tanto, la conmutación de modelo de contexto tiene que adaptarse en consecuencia. De acuerdo con una realización, la codificación de los niveles de coeficientes de transformada se inicia con un primer modelo de contexto para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one, y se conmuta al siguiente modelo de contexto en el conjunto cuando se han codificado dos elementos de sintaxis coeff_abs_greater_one iguales a cero desde la última conmutación de modelo de contexto. En otras palabras, la selección de contexto depende del número de elementos de sintaxis ya codificados coeff_abs_greater_one mayores que cero en orden de exploración. El número de modelos de contexto para coeff_abs_greater_one y para coeff_abs_level_minus_one puede ser el mismo que en H.264.
Por lo tanto, las realizaciones anteriores pueden aplicarse al campo de procesamiento de señal digital y, en particular, a decodificadores y codificadores de imagen y de vídeo. En particular, las realizaciones anteriores posibilitan una codificación de elementos de sintaxis relacionados con coeficientes de transformada en códecs de vídeo y de imagen basados en bloques, con un modelado de contexto mejorado para elementos de sintaxis relacionados con coeficientes de transformada que se codifican con un codificador de entropía que emplea un modelado de probabilidad. En comparación con el estado de la técnica, se consigue una eficacia de codificación mejorada, en particular para bloques de transformada grandes.
Aunque se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, donde un bloque o dispositivo corresponde a una etapa de método o una característica de una etapa de método. De manera análoga, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o elemento correspondiente o características de un correspondiente aparato.
La señal codificada inventiva para representar el bloque de transformada o el mapa de significado, respectivamente, puede almacenarse en un medio de almacenamiento digital o puede transmitirse en un medio de transmisión tal como un medio de transmisión inalámbrica o un medio de transmisión alámbrica tal como internet.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse usando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un Blue-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM, o una memoria FLASH, que tiene señales de control electrónicamente legibles almacenadas en el mismo, que cooperan (o pueden cooperar) con un sistema informático programable de manera que se realiza el respectivo método. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos que tiene señales de control electrónicamente legibles, que pueden cooperar con un sistema informático programable, de manera que se realiza uno de los métodos descritos en el presente documento.
En general, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los métodos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede almacenarse, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en soporte legible por máquina.
En otras palabras, una realización del método inventivo es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en el presente documento, cuando el programa informático se ejecuta en un ordenador.
Una realización adicional de los métodos inventivos es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para realizar uno de los métodos descritos en el presente documento.
Una realización adicional del método inventivo es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden configurarse, por ejemplo, para transferirse mediante una conexión de comunicación de datos, por ejemplo, mediante Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo de lógica programable, configurado para o adaptado para realizar uno de los métodos descritos en el presente documento. Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
En algunas realizaciones, un dispositivo de lógica programable (por ejemplo, un campo de matriz de puertas programables) puede usarse para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, un campo de matriz de puertas programables puede cooperar con un microprocesador para realizar uno de los métodos descritos en el presente documento. En general, los métodos se realizan preferentemente por cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que serán evidentes modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento para los expertos en la materia. Se pretende, por lo tanto, estar limitado únicamente por el alcance de las reivindicaciones de patente siguientes y no por los detalles específicos presentados por medio de descripción y explicación de las realizaciones del presente documento.

Claims (18)

REIVINDICACIONES
1. Aparato para decodificar un bloque de coeficiente de transformada, que comprende:
un decodificador (250) configurado para extraer un mapa de significado que indica posiciones de coeficientes de transformada significativos en el bloque de coeficiente de transformada, y a continuación los valores de los coeficientes de transformada significativos en el bloque de coeficiente de transformada de un flujo de datos, con extrayendo secuencialmente, al extraer los valores de los coeficientes de transformada significativos, los valores por decodificación de entropía adaptativa al contexto; y
un asociador (252) configurado para asociar secuencialmente los valores extraídos secuencialmente a las posiciones de los coeficientes de transformada significativos en un orden de exploración de coeficientes predeterminado de entre las posiciones del bloque de coeficiente de transformada, caracterizado porque el, bloque de coeficiente de transformada se explora en subbloques (322) del bloque de coeficiente de transformada (256) usando un orden de exploración de subbloques (320) con, una exploración, subsidiaria, de las posiciones de los coeficientes de transformada en los subbloques en un orden de posición de subexploración (324), en donde el decodificador (250) está configurado para usar, en una codificación por entropía adaptativa al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un número de contextos de una pluralidad de conjuntos de un número de contextos, en donde el decodificador (250) está configurado de manera que la selección del conjunto seleccionado efectuada por cada subbloque depende de los valores de los coeficientes de transformada en un subbloque del bloque de coeficiente de transformada, que ya ha sido atravesado en el orden de exploración de subbloques, o de manera que la selección del conjunto seleccionado efectuado para cada subbloque depende de los valores de los coeficientes de transformada de un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño,
en donde los subbloques (322) son cuadráticos o rectangulares.
2. Aparato de acuerdo con la reivindicación 1 en donde el decodificador está configurado de manera que el número de contextos de la pluralidad de conjuntos de contextos es mayor que uno, y configurado para, en una codificación por entropía adaptativa al contexto de manera secuencial los valores de los valores de coeficientes de transformada significativos en un subbloque usando el conjunto seleccionado del número de contextos para el subbloque respectivo, asignar únicamente los contextos del conjunto seleccionado del número de contextos a las posiciones en el subbloque respectivo.
3. Aparato de acuerdo con la reivindicación 1 o 2 en donde el asociador (252) está configurado de manera que el orden de exploración de subbloques conduzca en zigzag desde un subbloque que incluye una posición de una frecuencia más baja en una dirección vertical y en una dirección horizontal hasta un subbloque que incluye una posición de la frecuencia más alta en las direcciones tanto vertical como horizontal, mientras que el orden de subexploración conduce, en cada subbloque, en zigzag desde una posición en el subbloque respectivo, con relación a la frecuencia más alta en una dirección vertical y una dirección horizontal a una posición del subbloque respectivo con relación a una frecuencia más baja tanto en la dirección vertical como en la horizontal.
4. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 3, en donde el decodificador está configurado para, al extraer el mapa de significado del flujo de datos,
extraer secuencialmente del flujo de datos los elementos de sintaxis de primer tipo, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas en el bloque de coeficiente de transformada (256) si, al menos, en la posición respectiva está situado o no un coeficiente de transformada significativo o no significativo; el asociador (252) está configurado para asociar secuencialmente los elementos de sintaxis extraídos secuencialmente de primer tipo a las posiciones del bloque de coeficiente de transformada en un orden de exploración de entre las posiciones del bloque de coeficiente de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicados por los elementos de sintaxis de primer tipo previamente extraídos y asociados.
5. Aparato de acuerdo con la reivindicación 4, en donde el decodificador (250) además está configurado para reconocer, basándose en una información en el flujo de datos, e independiente de una serie de posiciones de los coeficientes de transformada significativos indicados por los elementos de sintaxis de primer tipo previamente extraídos y asociados, en cuanto a si en una posición en la que está asociado un elemento de sintaxis de primer tipo actualmente extraído, que indica que en esta posición está situado un coeficiente de transformada significativo, está situado o no un último coeficiente de transformada significativo en el bloque de coeficiente de transformada.
6. Aparato de acuerdo con la reivindicación 4 o 5, en donde el decodificador (250) además está configurado para extraer, entre los elementos de sintaxis de primer tipo que indican que en la posición asociada respectiva está situado un coeficiente de transformada significativo, e inmediatamente después de los elementos de sintaxis de primer tipo, elementos de sintaxis de segundo tipo del flujo de bits que indican, para las posiciones asociadas en las que un coeficiente de transformada significativo está situado, en cuanto a si la posición asociada respectiva es o no el último coeficiente de transformada significativo en el bloque de coeficiente de transformada.
7. Aparato de acuerdo con cualquiera de las reivindicaciones 4 a 6, en donde el decodificador (250) además está configurado para extraer en serie, después de la extracción de todos los elementos de sintaxis de primer tipo del bloque de coeficiente de transformada, valores de los coeficientes de transformada significativos dentro del bloque de coeficiente de transformada a partir del flujo de datos por decodificación de entropía de manera adaptativa al contexto, en donde el asociador (252) está configurado para asociar secuencialmente los valores extraídos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploración de coeficientes predeterminado entre las posiciones del bloque de coeficiente de transformada, según el cual el bloque de coeficiente de transformada es explorado en subbloques (322) del bloque de coeficiente de transformada (256) usando un orden de exploración de subbloques (320) con una exploración, subsidiaria de las posiciones de los coeficientes de transformada dentro de los subbloques (322) en un orden de subexploración de posiciones (324), en donde el decodificador está configurado para usar, en decodificación de entropía de manera adaptativa al contexto secuencialmente los valores del coeficiente de transformada significativos, un conjunto seleccionado de un número de contextos de una pluralidad de conjuntos de un número de contextos, realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada dentro de un subbloque del bloque de coeficiente de transformada, que ya han sido atravesados en el orden de exploración de subbloques (320), o de los valores de los coeficientes de transformada de un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño.
8. Aparato de acuerdo con cualquiera de las reivindicaciones 4 a 7, en donde el asociador (252) además está configurado para asociar secuencialmente los elementos de sintaxis de primer tipo extraídos secuencialmente a las posiciones del bloque de coeficiente de transformada a lo largo de una secuencia de subrutas que se extienden entre un primer par de lados adyacentes del bloque de coeficiente de transformada a lo largo de los cuales están posicionadas, respectivamente, posiciones de una frecuencia más baja en una dirección horizontal y posiciones de una frecuencia más alta en una dirección vertical, y un segundo par de lados adyacentes del bloque de coeficiente de transformada a lo largo de los cuales están posicionadas, respectivamente, posiciones de una frecuencia más baja en la dirección vertical y posiciones de una frecuencia más alta en la dirección horizontal, teniendo las subrutas una distancia creciente desde una posición de la frecuencia más baja en las direcciones tanto vertical como horizontal, y en donde el asociador (252) está configurado para determinar una dirección (300, 302) a lo largo de la cual los elementos de sintaxis de primer tipo extraídos secuencialmente están asociados a las posiciones del bloque de coeficiente de transformada, basándose en las posiciones de los coeficientes de transformada significativos dentro de las subexploraciones anteriores.
9. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 8, en donde
el decodificador (250) está configurado para, al extraer el mapa de significado indicar posiciones de coeficientes de transformada significativos dentro del bloque de coeficiente de transformada, extraer secuencialmente los elementos de sintaxis de primer tipo del flujo de datos por decodificación de entropía de manera adaptativa al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficiente de transformada en cuanto a si en la posición respectiva está situado o no un coeficiente de transformada significativo o no significativo; y
el asociador (250) está configurado para asociar secuencialmente los elementos de sintaxis de primer tipo extraídos secuencialmente a las posiciones del bloque de coeficiente de transformada en el orden de exploración predeterminado entre las posiciones del bloque de coeficiente de transformada,
en donde el decodificador está configurado para usar, en la decodificación de entropía de manera adaptativa al contexto los elementos de sintaxis de primer tipo, contextos que están seleccionados individualmente para cada uno de los elementos de sintaxis de primer tipo dependiendo de un número de posiciones en las que según los elementos de sintaxis de primer tipo previamente extraídos y asociados, están situados coeficientes de transformada significativos, en las cercanías de la posición con la que está asociado un elemento de sintaxis de primer tipo actual.
10. Aparato de acuerdo con la reivindicación 9, en donde el decodificador (250) además está configurado para mapear el número de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo previamente extraídos y asociados, están situados los coeficientes de transformada significativos, en las cercanías de la posición con la que el respectivo elemento de sintaxis de primer tipo está asociado, a un índice de contexto de un conjunto predeterminado de posibles índices de contexto ponderado con un número de posiciones disponibles en las cercanías de la posición con la que está asociado el respectivo elemento de sintaxis de primer tipo.
11. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 10, en donde el bloque de coeficiente de transformada se refiere a un contenido de mapa de profundidad.
12. Aparato para codificar un bloque de coeficiente de transformada, configurado para codificar un mapa de significado que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficiente de transformada, y a continuación los valores de los coeficientes de transformada significativos dentro del bloque de coeficiente de transformada en un flujo de datos, codificando secuencialmente, al extraer los valores de los coeficientes de transformada significativos, los valores por codificación de entropía de manera adaptativa al contexto, en donde el aparato está configurado para codificar los valores en el flujo de datos en un orden de exploración de coeficientes predeterminado entre las posiciones del de coeficiente de transformada, caracterizado porque el bloque de coeficiente de transformada se explora en subbloques del bloque de coeficiente de transformada usando un orden de exploración de subbloques con una exploración, subsidiaria, de las posiciones de los coeficientes de transformada dentro de los subbloques en un orden de subexploración de posiciones, en donde el aparato además está configurado para usar, en una codificación de entropía de manera adaptativa al contexto los valores del coeficiente de transformada significativos, un conjunto seleccionado de un número de contextos a partir de una pluralidad de conjuntos de un número de contextos, en donde el aparato está configurado de manera que la selección del conjunto seleccionado que se está realizando para cada subbloque depende de los valores de los coeficientes de transformada dentro de un subbloque del bloque de coeficiente de transformada, que ya han sido atravesados en el orden de exploración de subbloques, o de manera que la selección del conjunto seleccionado que se está realizando para cada subbloque depende de los valores de los coeficientes de transformada de un subbloque coubicado en un bloque de coeficientes de transformada previamente codificado del mismo tamaño,
en donde los subbloques son cuadráticos o rectangulares.
13. Aparato de acuerdo con la reivindicación 12, en donde el bloque de coeficiente de transformada se refiere a un contenido de mapa a de profundidad.
14. Método para decodificar un bloque de coeficiente de transformada, que comprende:
extraer un mapa de significado que indique posiciones de coeficientes de transformada significativos dentro del bloque de coeficiente de transformada, y a continuación, los valores de los coeficientes de transformada significativos dentro del bloque de coeficiente de transformada a partir de un flujo de datos, extrayendo secuencialmente, al extraer los valores de los coeficientes de transformada significativos, los valores por codificación de entropía de manera adaptativa al contexto; y
asociar secuencialmente los valores extraídos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploración de coeficientes predeterminado entre las posiciones del bloque de coeficiente de transformada, caracterizado porque el bloque de coeficiente de transformada se explora en subbloques del bloque de coeficiente de transformada usando un orden de exploración de subbloques con una exploración, subsidiaria, de las posiciones de los coeficientes de transformada dentro de los subbloques en un orden de subexploración de posiciones,
en donde, en una decodificación de entropía de manera adaptativa al contexto de los valores del coeficiente de transformada significativo, se usa un conjunto seleccionado de un número de contextos de una pluralidad de conjuntos de un número de contextos, realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada dentro de un subbloque del bloque de coeficiente de transformada, que ya han sido atravesados en el orden de exploración de subbloques, o realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada de un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño,
en donde los subbloques son cuadráticos o rectangulares.
15. Método para codificar un bloque de coeficiente de transformada, que comprende
codificar un mapa de significado que indique posiciones de coeficientes de transformada significativos dentro del coeficiente de transformada, y a continuación, los valores de los coeficientes de transformada significativos dentro del bloque de coeficiente de transformada en un flujo de datos, codificando secuencialmente , al codificar los valores de los coeficientes de transformada significativos, los valores por codificación de entropía de manera adaptativa al contexto, en donde la codificación de los valores en el flujo de datos se realiza en un orden de exploración de coeficientes predeterminado entre las posiciones del bloque de coeficiente de transformada, caracterizado porque el bloque de coeficiente de transformada se explora en subbloques del bloque de coeficiente de transformada usando un orden de exploración de subbloques, con, posteriormente una exploración de las posiciones de los coeficientes de transformada dentro de los subbloques en un orden de subexploración de posiciones, en donde en una codificación secuencial de entropía de manera adaptativa al contexto los valores de los coeficiente de transformada significativos, se usa un conjunto seleccionado de un número de contextos a partir de una pluralidad de conjuntos de un número de contextos, realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada dentro de un subbloque del bloque de coeficiente de transformada, que ya han sido atravesados en el orden de exploración de subbloques, o realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada en un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño,
en donde los subbloques son cuadráticos o rectangulares.
16. Flujo de datos que comprende una codificación de un mapa de significado que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficiente de transformada, seguidos de los valores de los coeficientes de transformada significativos dentro del bloque de coeficiente de transformada, en donde los valores de los coeficientes de transformada significativos están codificados secuencialmente en el flujo de datos por codificación de entropía de manera adaptativa al contexto en un orden de exploración de coeficientes predeterminado entre las posiciones del bloque de coeficiente de transformada, caracterizado porque el bloque de coeficiente de transformada se explora en subbloques del bloque de coeficiente de transformada usando un orden de exploración de subbloques, explorando de manera subsidiaria las posiciones de los coeficientes de transformada dentro de los subbloques en un orden de subexploración de posiciones, en donde los valores del coeficiente de transformada significativos están codificados secuencialmente de manera adaptativa al contexto en el flujo de datos usando un conjunto seleccionado de un número de contextos a partir de una pluralidad de conjuntos de un número de contexto, realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada dentro de un subbloque del bloque de coeficiente de transformada, que ya han sido atravesados en el orden de exploración de subbloques, o realizándose la selección del conjunto seleccionado para cada subbloque dependiendo de los valores de los coeficientes de transformada en un subbloque coubicado en un bloque de coeficiente de transformada previamente decodificado del mismo tamaño,
en donde los subbloques son cuadráticos o rectangulares.
17. Flujo de datos de acuerdo con la reivindicación 16, en donde el bloque de coeficiente de transformada se refiere a un contenido de mapa de profundidad.
18. Medio de almacenamiento digital legible por ordenador que tiene almacenado en el mismo un programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método de acuerdo con las reivindicaciones 14 o 15.
ES20150622T 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada Active ES2912048T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP2010054822 2010-04-13
EP10159766 2010-04-13

Publications (1)

Publication Number Publication Date
ES2912048T3 true ES2912048T3 (es) 2022-05-24

Family

ID=43989787

Family Applications (8)

Application Number Title Priority Date Filing Date
ES20150622T Active ES2912048T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES18195954T Active ES2952881T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES18211098T Active ES2825200T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES13188796.0T Active ES2620301T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES18211094T Active ES2823549T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES17177435.9T Active ES2692195T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES11713791.9T Active ES2645159T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES18185240T Active ES2784509T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada

Family Applications After (7)

Application Number Title Priority Date Filing Date
ES18195954T Active ES2952881T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES18211098T Active ES2825200T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES13188796.0T Active ES2620301T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES18211094T Active ES2823549T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES17177435.9T Active ES2692195T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES11713791.9T Active ES2645159T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada
ES18185240T Active ES2784509T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada

Country Status (21)

Country Link
US (25) US9894368B2 (es)
EP (9) EP3471416B1 (es)
JP (12) JP2013524707A (es)
KR (14) KR101502495B1 (es)
CN (25) CN108777793B (es)
BR (3) BR122020004415B1 (es)
CY (1) CY1119639T1 (es)
DK (8) DK3471416T3 (es)
ES (8) ES2912048T3 (es)
FI (1) FI3435674T3 (es)
HR (2) HRP20220743T1 (es)
HU (8) HUE050955T2 (es)
LT (3) LT2559244T (es)
NO (1) NO2559244T3 (es)
PL (8) PL2559244T3 (es)
PT (8) PT2559244T (es)
RS (3) RS63325B1 (es)
SI (3) SI3691267T1 (es)
TR (1) TR201815695T4 (es)
TW (11) TWI545525B (es)
WO (1) WO2011128303A2 (es)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT2559244T (pt) 2010-04-13 2017-11-10 Ge Video Compression Llc Codificação de mapas de significância e blocos de coeficientes de transformada
BR122014030027A2 (pt) * 2010-04-23 2019-08-20 Soo-Mi Oh Equipamento para a codificação de uma imagem em movimento
US9793921B2 (en) * 2010-05-12 2017-10-17 Thomson Licensing Dtv Methods and apparatus for unified significance map coding
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
KR101373814B1 (ko) 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9621916B2 (en) 2010-12-14 2017-04-11 M&K Holdings Inc. Apparatus for encoding a moving picture
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US20120230418A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
CN102685503B (zh) * 2011-03-10 2014-06-25 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
KR101600615B1 (ko) * 2011-07-22 2016-03-14 구글 테크놀로지 홀딩스 엘엘씨 비디오 코딩에서 직사각형 변환을 스캐닝하기 위한 장치 및 방법
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
US8891630B2 (en) 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
EP2773047A3 (en) * 2011-10-24 2015-01-14 BlackBerry Limited Significance map encoding and decoding using partition selection
LT3166317T (lt) * 2011-10-31 2018-09-10 Samsung Electronics Co., Ltd. Transformacijos koeficiento lygmens entropinio kodavimo ir dekodavimo konteksto modelio nustatymo būdas ir aparatas
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
WO2013065702A1 (ja) * 2011-11-04 2013-05-10 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法
WO2013063800A1 (en) * 2011-11-04 2013-05-10 Mediatek Inc. Methods and apparatuses of solving mdcs parsing issue
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
JP6120490B2 (ja) 2011-11-07 2017-04-26 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
KR20130050404A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
US9154792B2 (en) * 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
US9743098B2 (en) 2011-11-19 2017-08-22 Blackberry Limited Multi-level significance map scanning
WO2013077713A1 (ko) * 2011-11-27 2013-05-30 엘지전자 주식회사 변환 계수 재정렬 방법 및 이를 이용하는 장치
US20130215970A1 (en) * 2011-12-20 2013-08-22 General Instrument Corporation Method and apparatus for last coefficient group position coding
PL2797321T3 (pl) * 2011-12-21 2021-08-02 Sun Patent Trust Wybór kontekstu kodowania entropijnego współczynników transformacji
CN104025600B (zh) * 2012-01-03 2018-05-11 寰发股份有限公司 基于块的重要性图及重要性图群组旗标上下文选择的方法及装置
US20130182772A1 (en) * 2012-01-13 2013-07-18 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
TWI573436B (zh) * 2012-01-20 2017-03-01 三星電子股份有限公司 用於並行熵編碼的方法及裝置以及用於並行熵解碼的方法及裝置以及非暫時性電腦可讀記錄媒體
EP2618578B1 (en) * 2012-01-20 2015-07-15 BlackBerry Limited Methods and devices for context set selection
KR20240013893A (ko) 2012-01-20 2024-01-30 지이 비디오 컴프레션, 엘엘씨 변환 계수 코딩
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9008189B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Methods and devices for context modeling to enable modular processing
US9584812B2 (en) 2012-01-20 2017-02-28 Blackberry Limited Methods and devices for context set selection
EP2621175B1 (en) * 2012-01-20 2019-12-25 BlackBerry Limited Methods and devices for context modeling to enable modular processing
US9866829B2 (en) * 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
US9363510B2 (en) * 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US9491463B2 (en) 2012-04-14 2016-11-08 Qualcomm Incorporated Group flag in transform coefficient coding for video coding
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9350998B2 (en) * 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9854235B2 (en) 2012-08-31 2017-12-26 Blackberry Limited Methods and devices for entropy coding in scalable video compression
US9538175B2 (en) 2012-09-26 2017-01-03 Qualcomm Incorporated Context derivation for context-adaptive, multi-level significance coding
WO2014049982A1 (ja) * 2012-09-28 2014-04-03 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
EP2904801B8 (en) 2012-10-01 2021-03-10 GE Video Compression, LLC Scalable video coding using base-layer based contexts for enhancement layer residual coding
CN108259900B (zh) * 2013-01-16 2021-01-01 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
GB2513110A (en) 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
WO2014167730A1 (ja) * 2013-04-12 2014-10-16 富士通株式会社 圧縮装置、圧縮方法、および圧縮プログラム
ITTO20130629A1 (it) * 2013-07-24 2015-01-25 Sisvel Technology Srl Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus
US9445132B2 (en) 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
JP6229053B2 (ja) * 2013-10-16 2017-11-08 華為技術有限公司Huawei Technologies Co.,Ltd. ビデオコーディングブロックのパーティションのコーナービデオ部を決定する方法
CN110213580B (zh) 2014-01-03 2023-06-30 Ge视频压缩有限责任公司 编码器和解码器
KR102257379B1 (ko) * 2014-07-22 2021-06-01 삼성전자주식회사 비디오 인코딩 회로 및 그것을 이용하는 비디오 인코딩 방법
TWI561060B (en) * 2015-01-15 2016-12-01 Mstar Semiconductor Inc Signal processing apparatus and signal processing method including quantization or inverse-quantization process
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
EP3751304A1 (en) * 2015-05-12 2020-12-16 HERE Global B.V. Compressing and decompressing data about radio signals
JP2018530211A (ja) * 2015-09-08 2018-10-11 サムスン エレクトロニクス カンパニー リミテッド エントロピー符号化及び復号化のための装置及び方法
WO2017138831A1 (en) * 2016-02-12 2017-08-17 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
CN108605133B (zh) * 2016-02-12 2020-10-23 华为技术有限公司 选择扫描顺序的方法和装置
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
GB2557335A (en) * 2016-12-07 2018-06-20 Sony Corp Image data encoding and decoding
WO2018143670A1 (ko) * 2017-01-31 2018-08-09 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
KR20180089290A (ko) 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
US11405645B2 (en) * 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
JP2018182444A (ja) * 2017-04-07 2018-11-15 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
WO2018190594A1 (ko) * 2017-04-13 2018-10-18 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
RU2746706C1 (ru) * 2017-04-13 2021-04-19 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования/декодирования изображений
US11477492B2 (en) * 2017-08-04 2022-10-18 Google Inc. Adaptation for entropy coding of blocks of image data
WO2019050299A1 (ko) * 2017-09-06 2019-03-14 가온미디어 주식회사 변화계수 서브그룹 스캐닝 방법에 따른 부/복호화 방법 및 장치
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
EP3490253A1 (en) * 2017-11-23 2019-05-29 Thomson Licensing Encoding and decoding methods and corresponding devices
CN109874012B (zh) * 2017-12-04 2020-09-11 北京金山云网络技术有限公司 一种视频编码方法、编码器、电子设备及介质
EP3503557A1 (en) 2017-12-22 2019-06-26 Thomson Licensing Method and apparatus for video encoding and decoding based on context switching
CN116600142A (zh) * 2018-03-27 2023-08-15 株式会社Kt 对图像进行解码或编码的方法以及图像数据的传送方法
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
CN110650343B (zh) * 2018-06-27 2024-06-07 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统
US11019346B2 (en) * 2018-07-02 2021-05-25 Qualcomm Incorporated Coefficient coding with grouped bypass remaining levels for dependent quantization
KR102668688B1 (ko) 2018-07-23 2024-05-24 삼성디스플레이 주식회사 유기 발광 소자
US11006150B2 (en) 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
CN118678074A (zh) * 2018-09-24 2024-09-20 弗劳恩霍夫应用研究促进协会 使用或适用于与依赖标量量化的组合的变换系数的有效编码
CN117979012A (zh) * 2018-10-05 2024-05-03 Lg电子株式会社 图像解码和编码方法以及存储介质
EP3857894A4 (en) * 2018-10-08 2022-09-07 HFI Innovation Inc. METHOD AND APPARATUS FOR CODING THE LAST SIGNIFICANT COEFFICIENT IN IMAGE AND VIDEO CODING
EP3709658A4 (en) * 2018-11-12 2021-03-10 LG Electronics Inc. HIGH-FREQUENCY RESET BASED TRANSFORMATION COEFFICIENT CODING PROCESS AND APPARATUS THEREFOR
KR20210107118A (ko) * 2019-01-02 2021-08-31 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 통합된 변환 타입 시그널링 및 변환 타입 종속 변환 계수 레벨 코딩
US11677955B2 (en) 2019-01-15 2023-06-13 Lg Electronics Inc. Image decoding method for coding residual information on basis of high frequency zeroing in image coding system, and device therefor
US20220086490A1 (en) * 2019-02-12 2022-03-17 Lg Electronics Inc. Method and apparatus for processing video signal
KR102661468B1 (ko) 2019-02-15 2024-04-30 삼성디스플레이 주식회사 유기 발광 소자 및 이를 포함한 전자 장치
US10986334B2 (en) * 2019-03-09 2021-04-20 Tencent America LLC Method and apparatus for video coding
US11218735B2 (en) * 2019-04-02 2022-01-04 Qualcomm Incorporated Context derivation for last position coding for video coding
US11949870B2 (en) * 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
KR102211000B1 (ko) * 2019-06-21 2021-02-02 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
KR20210059153A (ko) 2019-11-14 2021-05-25 삼성디스플레이 주식회사 유기 발광 소자 및 이를 포함한 장치
US11336893B2 (en) * 2020-01-07 2022-05-17 Qualcomm Incorporated Context derivation and entropy coding initialization parameters for coordinates of last position coding in video coding
KR20220143934A (ko) * 2020-02-25 2022-10-25 에이치에프아이 이노베이션 인크. 비디오 코딩에서 2차 변환 시그널링을 위한 방법들 및 장치들
KR20210136224A (ko) 2020-05-06 2021-11-17 삼성디스플레이 주식회사 발광 소자 및 이를 포함하는 전자 장치
US11425368B1 (en) * 2021-02-17 2022-08-23 Adobe Inc. Lossless image compression using block based prediction and optimized context adaptive entropy coding
CN113079377B (zh) * 2021-04-01 2022-09-30 中国科学技术大学 一种深度图像/视频压缩网络的训练方法

Family Cites Families (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563875B2 (en) * 1987-12-30 2003-05-13 Thomson Licensing S.A. Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method
US5021891A (en) * 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
NL9100234A (nl) 1991-02-11 1992-09-01 Philips Nv Codeerschakeling voor transformatiecodering van een beeldsignaal en decodeerschakeling voor het decoderen daarvan.
KR960006762B1 (ko) * 1992-02-29 1996-05-23 삼성전자주식회사 화상부호화를 위한 효율적인 2차원 데이타의 주사선택회로
US5734755A (en) * 1994-03-11 1998-03-31 The Trustees Of Columbia University In The City Of New York JPEG/MPEG decoder-compatible optimized thresholding for image and video signal compression
US6873734B1 (en) 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
CN100539695C (zh) * 1996-05-28 2009-09-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
EP0817494A3 (en) * 1996-06-28 1998-07-22 Oki Electric Industry Co., Ltd. Image coding method and apparatus
US5793314A (en) * 1996-07-03 1998-08-11 Motorola, Inc. Method and apparatus for bound-based adaptive entropy encoding/decoding
AU714554B2 (en) * 1996-07-17 2000-01-06 Sony Corporation Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks
AUPO472897A0 (en) 1997-01-22 1997-02-20 Canon Information Systems Research Australia Pty Ltd A method for digital image compression
US6002812A (en) * 1997-07-10 1999-12-14 Samsung Electronics Co., Ltd. Interpolation method for binary image
SE512291C2 (sv) 1997-09-23 2000-02-28 Ericsson Telefon Ab L M Inbäddad DCT-baserad stillbildskodningsalgoritm
AUPO951497A0 (en) * 1997-09-29 1997-10-23 Canon Information Systems Research Australia Pty Ltd A method for data compression
EP1108325A2 (en) * 1998-08-13 2001-06-20 Equator Technologies, Inc. Circuit and method for performing a two-dimensional transform during the processing of an image
US6611620B1 (en) * 1998-08-28 2003-08-26 Matsushita Electric Industrial Co. Ltd. Reversible coding method, reversible coding apparatus, and memory medium used therein
JP2002532969A (ja) * 1998-12-04 2002-10-02 ジェネラル・インスツルメント・コーポレイション 微細分性スケラビリティを使用する変換係数のビットプレーンコード化の改良
US6680974B1 (en) * 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US6658159B1 (en) * 2000-03-17 2003-12-02 Hewlett-Packard Development Company, L.P. Block entropy coding in embedded block coding with optimized truncation image compression
AUPQ982400A0 (en) * 2000-09-01 2000-09-28 Canon Kabushiki Kaisha Entropy encoding and decoding
JP4612782B2 (ja) * 2000-09-27 2011-01-12 キヤノン株式会社 画像処理装置、及びその方法、並びにプログラム、記憶媒体
US6757429B2 (en) * 2001-02-21 2004-06-29 Boly Media Communications Inc. Method of compressing digital images
US20020118885A1 (en) * 2001-02-27 2002-08-29 Bernard Smeets Font compression and retrieval
CN1874509B (zh) * 2001-09-14 2014-01-15 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
DE10218541A1 (de) * 2001-09-14 2003-04-24 Siemens Ag Verfahren zur Videocodierung und Computerprogrammprodukt
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
KR100468844B1 (ko) * 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
ATE264595T1 (de) * 2002-02-05 2004-04-15 Siemens Ag Datenkompression
US6909808B2 (en) 2002-03-08 2005-06-21 Anzus, Inc. Image compression to enhance optical correlation
US7295610B2 (en) * 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
EP1478190B1 (en) * 2002-04-26 2013-01-02 NTT DoCoMo, Inc. Image encoding device, image encoding method, and image encoding program
AU2003215681A1 (en) 2002-04-30 2003-11-17 Siemens Aktiengesellschaft Method for limiting amplitude of a carrier frequency output signal
PT1487113E (pt) * 2002-05-02 2006-12-29 Fraunhofer Ges Forschung Codificação e descodificação de coeficientes de transformação em codificadores de imagem ou de vídeo
FR2840093B1 (fr) * 2002-05-27 2006-02-10 Real Eyes 3D Procede de numerisation par camera avec correction de la deformation et amelioration de la resolution
ATE449405T1 (de) * 2002-09-04 2009-12-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
WO2004038921A2 (en) * 2002-10-23 2004-05-06 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US20040151394A1 (en) * 2003-01-31 2004-08-05 Mikael Soderberg Symmetrical, highly deterministic, low complexity, temporal transform video codec and vehicle distribution system incorporating same
US6894628B2 (en) 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
KR100683169B1 (ko) 2003-08-29 2007-02-15 주식회사 엑스씨이 휴대폰 벨소리 제어 시스템 및 그 방법
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
JP2005117196A (ja) 2003-10-03 2005-04-28 Matsushita Electric Ind Co Ltd 映像符号化方法
JP4063205B2 (ja) * 2003-11-20 2008-03-19 セイコーエプソン株式会社 画像データ圧縮装置及びエンコーダ
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
KR100896684B1 (ko) * 2004-01-27 2009-05-14 삼성전자주식회사 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법
US20050185711A1 (en) 2004-02-20 2005-08-25 Hanspeter Pfister 3D television system and method
US20050193485A1 (en) * 2004-03-02 2005-09-08 Wolfe Michael L. Machine for anticipatory sensing and intervention to avoid swimmer entrapment
US9178953B2 (en) 2004-03-18 2015-11-03 Nokia Technologies Oy Position-based context awareness for mobile terminal device
US20050206741A1 (en) * 2004-03-19 2005-09-22 Raber Gregory W Law enforcement vehicle surveillance system
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
US7292257B2 (en) * 2004-06-28 2007-11-06 Microsoft Corporation Interactive viewpoint video system and process
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
CN1860796B (zh) * 2004-07-12 2010-06-16 索尼株式会社 编码方法、编码装置、解码方法、及解码装置
KR100612015B1 (ko) * 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
US7505043B2 (en) 2004-08-30 2009-03-17 Qualcomm Incorporated Cache efficient rasterization of graphics data
KR100647294B1 (ko) 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US20060153294A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Inter-layer coefficient coding for scalable video coding
EP1836858A1 (en) * 2005-01-14 2007-09-26 Sungkyunkwan University Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
KR100636229B1 (ko) * 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
CN100345449C (zh) * 2005-03-18 2007-10-24 清华大学 图像/视频编码中变换系数的熵编码方法
KR100703776B1 (ko) 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
US7620252B2 (en) * 2005-04-22 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for compressing an image
US20090028239A1 (en) 2005-05-03 2009-01-29 Bernhard Schuur Moving picture encoding method, moving picture decoding method and apparatuses using the methods
EP1768415A1 (en) * 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
EP1882367A4 (en) * 2005-05-19 2010-11-10 Lg Electronics Inc METHOD FOR ENCODING / DECODING VIDEO DATA
KR20060119736A (ko) 2005-05-19 2006-11-24 엘지전자 주식회사 영상 신호의 인코딩 방법
CN1719903A (zh) * 2005-06-24 2006-01-11 清华大学 用于图象算术编码中的一种二值化和概率模型选择方法
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
AU2005336596B2 (en) 2005-09-21 2009-06-11 Mitsubishi Denki Kabushiki Kaisha Excessive-temperature detection system of motor controller
WO2007035056A1 (en) * 2005-09-26 2007-03-29 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data
JP2009510938A (ja) * 2005-09-27 2009-03-12 クゥアルコム・インコーポレイテッド H.264および他の変換符号化情報の高能率部分復号化を可能にする映像符号化法
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN100488254C (zh) * 2005-11-30 2009-05-13 联合信源数字音视频技术(北京)有限公司 一种基于上下文的熵编码方法及解码方法
US8023569B2 (en) 2005-12-15 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for block-based residual upsampling
CN101366284B (zh) * 2006-01-09 2016-08-10 汤姆森许可贸易公司 为多视点视频编码提供降低分辨率更新模式的方法和装置
CN101390398A (zh) * 2006-01-09 2009-03-18 诺基亚公司 用于精细粒度可伸缩视频编码中的熵编码的方法和装置
KR100964641B1 (ko) 2006-01-09 2010-06-21 마티아스 나르로쉬케 복합형 비디오 부호화에서의 예측 에러의 적응 부호화 기술
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
WO2007079782A1 (en) * 2006-01-13 2007-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Quality scalable picture coding with particular transform coefficient scan path
JP4848785B2 (ja) 2006-02-07 2011-12-28 株式会社明電舎 インバータ装置の過負荷保護装置
US7488921B2 (en) 2006-02-27 2009-02-10 Honeywell International Inc. Adaptive startup control method for electric drives
JP5017555B2 (ja) 2006-04-10 2012-09-05 株式会社メガチップス 画像符号化装置及び画像復号化装置
TWI323133B (en) 2006-05-08 2010-04-01 Ind Tech Res Inst Method and system for data and video coding
CN101106721A (zh) * 2006-07-10 2008-01-16 华为技术有限公司 一种编解码装置及相关编码器
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20080013624A1 (en) * 2006-07-14 2008-01-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients
US7903894B2 (en) * 2006-10-05 2011-03-08 Microsoft Corporation Color image coding using inter-color correlation
US8019018B2 (en) * 2006-10-12 2011-09-13 Powerwave Cognition, Inc. Determining a mode to transmit data
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8090194B2 (en) 2006-11-21 2012-01-03 Mantis Vision Ltd. 3D geometric modeling and motion capture using both single and dual imaging
JP2008141382A (ja) 2006-11-30 2008-06-19 Sony Corp 符号化装置および方法、並びにプログラム
DE102006061647B3 (de) * 2006-12-27 2008-08-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Kodieren eines Transformationskoeffizientenblockes
KR20150039215A (ko) * 2007-01-11 2015-04-09 톰슨 라이센싱 Mpeg-4 avc 하이 레벨 코딩에 있어서 cavlc 4:4:4 인트라 프로파일, high 4:4:4 인트라 프로파일, 및 high 4:4:4 예측 프로파일에 대하여 coded_block_flag 신택스 엘리먼트 및 coded_block_pattern 신택스 엘리먼트의 신택스를 사용하는 방법 및 장치
KR101175593B1 (ko) * 2007-01-18 2012-08-22 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 화질 스케일러블 비디오 데이터 스트림
CN100508610C (zh) * 2007-02-02 2009-07-01 清华大学 H.264/avc视频编码中速率和失真的快速估计方法
DE202007002071U1 (de) 2007-02-13 2007-06-14 Trw Automotive Electronics & Components Gmbh & Co. Kg Befestigungsvorrichtung
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
CN101658042B (zh) * 2007-03-13 2016-03-02 诺基亚技术有限公司 用于视频编码和解码的系统和方法
CA2895854A1 (en) * 2007-03-20 2008-10-23 Fujitsu Limited Video encoding and decoding apparatus and method using quantization in sub-blocks
KR20080086766A (ko) 2007-03-23 2008-09-26 삼성전자주식회사 픽셀 단위의 컨텍스트 모델을 이용한 영상의 부호화,복호화 방법 및 장치
BRPI0721427B1 (pt) * 2007-03-23 2019-01-15 Contentarmor modificação de um fluxo de bits codificado
US7772716B2 (en) 2007-03-27 2010-08-10 Newdoll Enterprises Llc Distributed maximum power point tracking system, structure and process
FR2915034B1 (fr) 2007-04-12 2009-06-05 Schneider Toshiba Inverter Methode et systeme de gestion de la temperature dans un variateur de vitesse
JP5036863B2 (ja) * 2007-04-20 2012-09-26 トムソン ライセンシング 空間領域ピクチャ符号化及び復号化におけるブロックの各要素に対するスキャンパスを選択する方法及び装置
US7813567B2 (en) * 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
US8031954B2 (en) * 2007-04-26 2011-10-04 Canon Kabushiki Kaisha Image encoding apparatus and control method thereof using prediction encoding and pixel classification
US7885473B2 (en) * 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
CN101039430B (zh) * 2007-05-08 2011-01-12 清华大学 一种视频编码中对残差矩阵的快速扫描方法
US8086025B2 (en) 2007-05-10 2011-12-27 Monte Jerome Ramstad Universal stereoscopic file format
AU2008263458A1 (en) * 2007-06-12 2008-12-18 Nokia Corporation Joint coding of multiple transform blocks with reduced number of coefficients
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
WO2009001793A1 (ja) 2007-06-26 2008-12-31 Kabushiki Kaisha Toshiba 画像符号化と画像復号化の方法及び装置
US7755313B2 (en) 2007-09-12 2010-07-13 Gm Global Technology Operations, Inc. Power inverter module thermal management
US8204327B2 (en) * 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
US8265162B2 (en) * 2007-10-01 2012-09-11 Cisco Technology, Inc. Context adaptive position and amplitude coding of coefficients for video compression
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
KR101394153B1 (ko) * 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
WO2009083838A1 (en) 2007-12-21 2009-07-09 Koninklijke Philips Electronics, N.V. Methods and apparatus for efficient distribution of image data
CN101217615B (zh) * 2007-12-27 2011-04-06 北京中星微电子有限公司 一种压缩图像比特率控制的方法及装置
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
KR100950417B1 (ko) * 2008-01-16 2010-03-29 에스케이 텔레콤주식회사 방향성 필터링 기반 웨이블렛 변환에서 문맥 모델링 방법및 웨이블렛 코딩 장치와 이를 위한 기록 매체
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR20090097689A (ko) 2008-03-12 2009-09-16 삼성전자주식회사 영상의 인트라 예측 부호화/복호화 방법 및 장치
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8254470B2 (en) 2008-06-03 2012-08-28 Rovi Solutions Corporation Encoding and decoding of embedded data stream in analog video using copy protection pulses
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
US7999403B2 (en) 2008-06-24 2011-08-16 General Electric Company System and method for locomotive engine cranking
EP2154894A1 (en) 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
CN101355700B (zh) * 2008-09-09 2010-06-02 北京大学软件与微电子学院 一种并行类熵编码方法及其装置
KR101247923B1 (ko) * 2008-10-03 2013-03-26 퀄컴 인코포레이티드 4×4 및 8×8 보다 큰 변환을 이용한 비디오 코딩
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
KR100936208B1 (ko) * 2008-12-09 2010-01-12 주식회사세오 무손실 문맥적응적이진산술부호화를 위한 h.264/avc 부호화기, 상기 부호화기의 문맥적응적이진산술부호화방법
US8611435B2 (en) 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
KR20100102386A (ko) 2009-03-11 2010-09-24 삼성전자주식회사 레지듀얼 값 분포에 적응적인 부호표 선택에 기초한 영상 부호화, 복호화 방법 및 장치
CN105828073B (zh) 2009-07-02 2019-09-17 汤姆逊许可证公司 使用自适应树选择来对二进制集进行视频编解码的方法和装置
CN101646086B (zh) * 2009-08-21 2011-07-20 香港应用科技研究院有限公司 用于4×4块变换系数标示的前文参考模型化的方法及装置
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
US8611414B2 (en) * 2010-02-17 2013-12-17 University-Industry Cooperation Group Of Kyung Hee University Video signal processing and encoding
PT2559244T (pt) * 2010-04-13 2017-11-10 Ge Video Compression Llc Codificação de mapas de significância e blocos de coeficientes de transformada
US20120230418A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
US20130188698A1 (en) * 2012-01-19 2013-07-25 Qualcomm Incorporated Coefficient level coding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding

Also Published As

Publication number Publication date
PT3435674T (pt) 2023-09-06
US20160316212A1 (en) 2016-10-27
PL2693752T3 (pl) 2017-06-30
ES2620301T3 (es) 2017-06-28
TW201537954A (zh) 2015-10-01
JP2018201204A (ja) 2018-12-20
US20200366908A1 (en) 2020-11-19
JP7518127B2 (ja) 2024-07-17
US10750191B2 (en) 2020-08-18
KR102249230B1 (ko) 2021-05-10
US9894368B2 (en) 2018-02-13
CN113556556A (zh) 2021-10-26
EP3471416B1 (en) 2020-07-15
EP3709646A1 (en) 2020-09-16
US20130051459A1 (en) 2013-02-28
KR20180095953A (ko) 2018-08-28
US10341668B2 (en) 2019-07-02
KR20230110371A (ko) 2023-07-21
EP3487179A1 (en) 2019-05-22
NO2559244T3 (es) 2017-12-30
EP3487179B1 (en) 2020-07-15
HUE063400T2 (hu) 2024-01-28
CN102939755B (zh) 2018-08-10
CN108777790B (zh) 2021-02-09
RS63325B1 (sr) 2022-07-29
TWI711302B (zh) 2020-11-21
US20210144389A1 (en) 2021-05-13
CN105187829A (zh) 2015-12-23
CN113573075A (zh) 2021-10-29
TWI545525B (zh) 2016-08-11
ES2952881T3 (es) 2023-11-06
KR20210054028A (ko) 2021-05-12
CN108471538A (zh) 2018-08-31
US10129549B2 (en) 2018-11-13
TW202130184A (zh) 2021-08-01
TWI781435B (zh) 2022-10-21
PT2693752T (pt) 2017-03-31
TWI799747B (zh) 2023-04-21
TWI830676B (zh) 2024-01-21
LT3435674T (lt) 2023-09-25
CN113556557B (zh) 2024-08-16
JP6097332B2 (ja) 2017-03-15
US9998741B2 (en) 2018-06-12
CN113573075B (zh) 2024-08-20
US9699467B2 (en) 2017-07-04
JP2022110119A (ja) 2022-07-28
KR101502495B1 (ko) 2015-03-13
CN108471534A (zh) 2018-08-31
CN109151485A (zh) 2019-01-04
PL3487179T3 (pl) 2021-01-11
CN113556562B (zh) 2024-09-20
CN113556563B (zh) 2024-08-20
EP3244612B1 (en) 2018-07-25
US10855999B2 (en) 2020-12-01
US10587884B2 (en) 2020-03-10
FI3435674T3 (fi) 2023-09-07
US20200014939A1 (en) 2020-01-09
CN108777793A (zh) 2018-11-09
TW202031044A (zh) 2020-08-16
EP3410716A1 (en) 2018-12-05
HUE051391T2 (hu) 2021-03-01
CN108471537B (zh) 2022-05-17
CY1119639T1 (el) 2018-04-04
JP2017130941A (ja) 2017-07-27
JP7078670B2 (ja) 2022-05-31
CN113556560A (zh) 2021-10-26
KR102023565B1 (ko) 2019-09-23
CN114143553A (zh) 2022-03-04
CN108777792B (zh) 2020-12-04
US11095906B2 (en) 2021-08-17
JP2024129121A (ja) 2024-09-26
PT3410716T (pt) 2020-04-21
JP2020145753A (ja) 2020-09-10
KR102553952B1 (ko) 2023-07-11
ES2692195T3 (es) 2018-11-30
EP3435674A1 (en) 2019-01-30
CN108777790A (zh) 2018-11-09
TWI810078B (zh) 2023-07-21
CN105187829B (zh) 2018-10-26
US10306243B2 (en) 2019-05-28
KR20180095951A (ko) 2018-08-28
US20200344487A1 (en) 2020-10-29
CN113556562A (zh) 2021-10-26
US20210211686A1 (en) 2021-07-08
CN108777792A (zh) 2018-11-09
CN113556554A (zh) 2021-10-26
US20180220135A1 (en) 2018-08-02
HUE049043T2 (hu) 2020-08-28
US20180220136A1 (en) 2018-08-02
TW202031051A (zh) 2020-08-16
PT3487179T (pt) 2020-10-19
KR20160038063A (ko) 2016-04-06
EP2693752B1 (en) 2017-03-08
US10148968B2 (en) 2018-12-04
US20190268609A1 (en) 2019-08-29
US11032556B2 (en) 2021-06-08
CN113556558B (zh) 2024-08-30
WO2011128303A2 (en) 2011-10-20
PT3691267T (pt) 2022-06-02
KR20150009602A (ko) 2015-01-26
CN113556561B (zh) 2024-08-30
JP2018201202A (ja) 2018-12-20
US10021404B2 (en) 2018-07-10
US20180220137A1 (en) 2018-08-02
KR20130006678A (ko) 2013-01-17
CN108777791A (zh) 2018-11-09
EP3410716B1 (en) 2020-01-08
ES2825200T3 (es) 2021-05-14
HUE032567T2 (en) 2017-09-28
HRP20171669T1 (hr) 2017-12-29
CN108777793B (zh) 2020-11-03
US20180295369A1 (en) 2018-10-11
US20240031585A1 (en) 2024-01-25
PL3410716T3 (pl) 2020-06-29
US11070822B2 (en) 2021-07-20
EP2693752A1 (en) 2014-02-05
JP6700341B2 (ja) 2020-05-27
TW202431851A (zh) 2024-08-01
EP3471416A1 (en) 2019-04-17
CN113556555A (zh) 2021-10-26
CN113556560B (zh) 2024-08-20
JP2015180071A (ja) 2015-10-08
US9357217B2 (en) 2016-05-31
JP2020191684A (ja) 2020-11-26
US20190098322A1 (en) 2019-03-28
CN113556555B (zh) 2024-08-16
PL3691267T3 (pl) 2022-07-11
KR101607242B1 (ko) 2016-03-30
PT2559244T (pt) 2017-11-10
US20190246121A1 (en) 2019-08-08
KR101739808B1 (ko) 2017-05-25
KR102079664B1 (ko) 2020-02-21
CN113556561A (zh) 2021-10-26
TW202345597A (zh) 2023-11-16
JP2018201203A (ja) 2018-12-20
JP2014131286A (ja) 2014-07-10
BR122020004414B1 (pt) 2021-09-08
ES2784509T3 (es) 2020-09-28
HRP20220743T1 (hr) 2022-08-19
CN108777797A (zh) 2018-11-09
HUE037038T2 (hu) 2018-08-28
US20180084261A1 (en) 2018-03-22
KR20190019221A (ko) 2019-02-26
PL3435674T3 (pl) 2023-10-23
TWI590648B (zh) 2017-07-01
TWI640190B (zh) 2018-11-01
CN113556554B (zh) 2024-09-20
DK3244612T3 (en) 2018-11-12
EP3435674B1 (en) 2023-06-07
KR20180119711A (ko) 2018-11-02
US20200169740A1 (en) 2020-05-28
US20190037221A1 (en) 2019-01-31
SI3691267T1 (sl) 2022-06-30
SI2559244T1 (en) 2018-01-31
LT2559244T (lt) 2017-12-11
US11128875B2 (en) 2021-09-21
US10477223B2 (en) 2019-11-12
US20190098323A1 (en) 2019-03-28
US20160080742A1 (en) 2016-03-17
CN108471537A (zh) 2018-08-31
JP2013524707A (ja) 2013-06-17
TR201815695T4 (tr) 2018-11-21
DK3471416T3 (da) 2020-10-19
CN108881910A (zh) 2018-11-23
CN108881922B (zh) 2021-07-30
CN113556556B (zh) 2024-10-25
CN113556557A (zh) 2021-10-26
BR112012026388B1 (pt) 2021-05-04
PL2559244T3 (pl) 2018-01-31
TW201742457A (zh) 2017-12-01
US20180255306A1 (en) 2018-09-06
US10123025B2 (en) 2018-11-06
EP2559244A2 (en) 2013-02-20
CN108777797B (zh) 2021-01-29
EP3691267B1 (en) 2022-03-16
DK2693752T3 (en) 2017-04-03
ES2645159T3 (es) 2017-12-04
KR20200019777A (ko) 2020-02-24
KR101605163B1 (ko) 2016-03-22
KR20140071466A (ko) 2014-06-11
KR20220098295A (ko) 2022-07-11
EP3244612A1 (en) 2017-11-15
JP5911027B2 (ja) 2016-04-27
DK2559244T3 (da) 2017-11-13
CN113556558A (zh) 2021-10-26
CN108471534B (zh) 2021-01-01
TW201142759A (en) 2011-12-01
JP2019054539A (ja) 2019-04-04
DK3691267T3 (da) 2022-06-20
DK3435674T3 (da) 2023-08-21
CN108881910B (zh) 2021-01-26
ES2823549T3 (es) 2021-05-07
US10462474B2 (en) 2019-10-29
PL3471416T3 (pl) 2021-05-04
US20200007874A1 (en) 2020-01-02
JP6700343B2 (ja) 2020-05-27
TW202308388A (zh) 2023-02-16
CN102939755A (zh) 2013-02-20
KR20170058462A (ko) 2017-05-26
SI3435674T1 (sl) 2023-10-30
KR102417196B1 (ko) 2022-07-05
US20190230370A1 (en) 2019-07-25
CN108881922A (zh) 2018-11-23
KR101966211B1 (ko) 2019-08-13
CN113556559A (zh) 2021-10-26
US11252419B2 (en) 2022-02-15
BR122020004415B1 (pt) 2021-09-08
EP3691267A1 (en) 2020-08-05
CN109151485B (zh) 2022-10-11
JP6753914B2 (ja) 2020-09-09
TWI787604B (zh) 2022-12-21
RS56512B1 (sr) 2018-02-28
WO2011128303A3 (en) 2012-02-02
HUE040296T2 (hu) 2019-02-28
EP2559244B1 (en) 2017-08-02
LT3691267T (lt) 2022-05-10
KR102023566B1 (ko) 2019-09-23
KR20180095952A (ko) 2018-08-28
US10306242B2 (en) 2019-05-28
US20160309188A1 (en) 2016-10-20
JP6438986B2 (ja) 2018-12-19
CN108471538B (zh) 2022-05-17
HUE059150T2 (hu) 2022-10-28
KR101951413B1 (ko) 2019-02-25
KR101914176B1 (ko) 2018-11-02
US11025926B2 (en) 2021-06-01
DK3410716T3 (da) 2020-04-14
HUE050955T2 (hu) 2021-01-28
US20210006804A1 (en) 2021-01-07
JP6700342B2 (ja) 2020-05-27
TW201921941A (zh) 2019-06-01
RS64607B1 (sr) 2023-10-31
TW202126046A (zh) 2021-07-01
CN113556563A (zh) 2021-10-26
BR112012026388A2 (pt) 2016-08-02
CN108777791B (zh) 2021-07-16
DK3487179T3 (da) 2020-10-19
PT3244612T (pt) 2018-11-14
TWI705700B (zh) 2020-09-21
PL3244612T3 (pl) 2019-01-31
PT3471416T (pt) 2020-10-19
US11297336B2 (en) 2022-04-05

Similar Documents

Publication Publication Date Title
ES2912048T3 (es) Codificación de mapas de significado y bloques de coeficiente de transformada