ES2620301T3 - Codificación de mapas significativos y bloques de coeficientes de transformada - Google Patents

Codificación de mapas significativos y bloques de coeficientes de transformada Download PDF

Info

Publication number
ES2620301T3
ES2620301T3 ES13188796.0T ES13188796T ES2620301T3 ES 2620301 T3 ES2620301 T3 ES 2620301T3 ES 13188796 T ES13188796 T ES 13188796T ES 2620301 T3 ES2620301 T3 ES 2620301T3
Authority
ES
Spain
Prior art keywords
block
sub
transform coefficients
significant
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13188796.0T
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=ES2620301(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 ES2620301T3 publication Critical patent/ES2620301T3/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/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 coeficientes de transformada, que comprende: un decodificador (250) configurado para extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuación los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extracción de los valores de los coeficientes de transformada significativos, extraer secuencialmente los valores mediante decodificación por entropía adaptable al contexto; y un asociador (252) 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 coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques (322) del bloque de coeficientes de transformada (256) usando un orden de exploración de sub-bloques (320) con, complementaria, exploración de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub-exploración de posición (324), en el que el decodificador (250) se configura para usar, en decodificación por entropía adaptable 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 el que el decodificador (250) se configura de tal forma que la selección del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploración de sub-bloques, o de tal forma que la selección del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada decodificado anteriormente de igual tamaño.

Description

5
10
15
20
25
30
35
40
45
50
55
60
DESCRIPCION
Codificacion de mapas significativos y bloques de coeficientes de transformada
La presente solicitud se dirige a la codificacion de mapas significativos que indican posiciones de coeficientes de transformada significativos dentro de bloques de coeficientes de transformada y la codificacion de tales bloques de coeficientes de transformada. Tal codificacion puede, por ejemplo, usarse en codificacion de fotograffa y video, por ejemplo.
En codificacion de video convencional, las instantaneas de una secuencia de video normalmente se descomponen en bloques. Los bloques o los componentes de color de los bloques se predicen mediante prediccion de movimiento compensado o intra prediccion. Los bloques pueden tener diferentes tamanos y pueden ser cuadraticos o rectangulares. Como muestras de un bloque o un componente de color de un bloque se predicen usando el mismo conjunto de parametros de prediccion, tales como indices de referencia (identificando una instantanea de referencia en el ya codificado conjunto de fotograffas), parametros de movimiento (especificando una medida para el movimiento de un bloque entre una instantanea de referencia y la instantanea actual), parametros para especificar el filtro de interpolacion, modos de intra prediccion, etc. Los parametros de movimiento pueden representarse mediante vectores de despeamiento con un componente horizontal y vertical o mediante parametros de movimiento de orden mas alto tales como parametros de movimiento afines que consisten en 6 componentes. Tambien es posible que mas de un conjunto de parametros de prediccion (tales como indices de referencia y parametros de movimiento) se asocien con un unico bloque. En ese caso, para cada conjunto de parametros de prediccion, se genera una unica senal de prediccion intermedia para el bloque o el componente de color de un bloque y la senal de prediccion final se construye mediante la suma ponderada de las senales de prediccion intermedias. Los parametros de ponderacion y potencialmente tambien una desviacion constante (que se anade a la suma ponderada) pueden fijarse para una fotograffa o una instantanea de referencia o un conjunto de fotograffas de referencia o pueden incluirse en el conjunto de parametros de prediccion para el bloque correspondiente. De manera similar, a menudo tambien se descomponen imagenes fijas en bloques y los bloques se predicen mediante un metodo de intra prediccion (que puede ser un metodo de intra prediccion espacial o un metodo de intra prediccion simple que predice el componente DC del bloque). En un caso de esquina, la senal de prediccion tambien puede ser cero.
La diferencia entre los bloques originales o los componentes de color de los bloques originales y las correspondientes senales de prediccion, tambien denominadas como la senal residual, normalmente se transforma y cuantifica. Una transformada de dos dimensiones se aplica a la senal residual y se cuantifican los coeficientes de transformada resultantes. Para esta codificacion de transformada, los bloques o los componentes de color de los bloques, para los que se ha usado un conjunto de parametros de prediccion particular, puede dividirse adicionalmente antes de aplicar la transformada. Los bloques de transformada pueden ser iguales a o mas pequenos que los bloques que se usan para prediccion. Tambien es posible que un bloque de transformada incluya mas de uno de los bloques que se usan para prediccion. Diferentes bloques de transformada en una imagen fija o una fotograffa de una secuencia de video pueden tener diferentes tamanos y los bloques de transformada pueden representar bloques cuadraticos o rectangulares.
Los coeficientes de transformada cuantificados resultantes, tambien denominados como niveles de coeficientes de transformada, se transmiten a continuacion usando tecnicas de codificacion por entropfa. Por lo tanto, un bloque de niveles de coeficientes de transformada normalmente se mapea en un vector (es decir, un conjunto ordenado) de valores de coeficientes de transformada usando una exploracion, donde diferentes exploraciones puede usarse para diferentes bloques. A menudo se usa una exploracion en zigzag. Para bloques que contienen unicamente muestras de un campo de una trama entrelazada (estos bloques pueden ser bloques en campos codificados o bloques de campo en tramas codificadas), tambien es comun usar una exploracion diferente espedficamente disenada para bloques de campo. Un algoritmo de codificacion por entropfa comunmente usado para codificar la secuencia de coeficientes de transformada ordenada resultante es codificacion a nivel de ejecucion. Normalmente, un gran numero de los niveles de coeficientes de transformada es cero y un conjunto de niveles de coeficientes de transformada sucesivos que son iguales a cero pueden representarse de forma eficiente mediante la codificacion del numero de niveles de coeficientes de transformada sucesivos que son iguales a cero (la ejecucion). Para los coeficientes de transformada restantes (distintos de cero), se codifica el nivel real. Existen diversas alternativas de codigos a nivel de ejecucion. La ejecucion antes de un coeficiente distinto de cero y el nivel del coeficiente de transformada distinto de cero pueden codificarse juntos usando un unico sfmbolo o palabra de codigo. A menudo, se incluyen sfmbolos especiales para el final de bloque, que se envfa despues del ultimo coeficiente de transformada distinto de cero. O es posible codificar primero el numero de niveles de coeficientes de transformada significativos distintos de cero, y dependiendo de este numero, se codifican los niveles y ejecuciones.
Un enfoque algo diferente se usa en la altamente eficiente codificacion por entropfa CABAC en H.264. En este punto, la codificacion de niveles de coeficientes de transformada se divide en tres etapas. En la primera etapa, un elemento de sintaxis binario coded_block_flag se transmite para cada bloque de transformada, que senaliza si el bloque de transformada contiene niveles de coeficientes de transformada significativos (es decir, coeficientes de
5
10
15
20
25
30
35
40
45
50
55
60
transformada que son distintos de cero). Si este elemento de sintaxis indica que estan presentes niveles de coeficientes de transformada significativos, se codifica un mapa significativo valorado en binario, que especifica cuales de los niveles de coeficientes de transformada tienen valores distintos de cero. Y a continuacion, en un orden de exploracion inverso, se codifican los valores de los niveles de coeficientes de transformada significativos distintos de cero. El mapa significativo se codifica como sigue. Para cada coeficiente en el orden de exploracion, 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 la bin significant_coeff_flag es igual a uno, es decir, si un nivel de coeficiente de transformada distinto de cero existe en esta posicion de exploracion, se codifica un elemento de sintaxis binario adicional last_significant_coeff_flag. Esta bin indica si el nivel de coeficiente de transformada significativo actual es el ultimo nivel de coeficiente de transformada significativo dentro del bloque o si niveles de coeficientes de transformada significativos adicionales siguen en orden de exploracion. 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 significativo 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 se determinan mediante el mapa significativo. Los valores de niveles de coeficientes de transformada significativos se codifican en orden de exploracion inverso 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 de uno. Si el elemento de sintaxis binario coeff_abs_greater_one indica que el valor absoluto es mayor de uno, se envfa un elemento de sintaxis coeff_abs_level_minus_one adicional, que especifica el valor absoluto del nivel de coeficiente de transformada menos uno. Finalmente, se codifica el elemento de sintaxis binario coeff_sign_flag, que especifica el signo del valor de coeficiente de transformada, para cada nivel de coeficiente de transformada significativo. Se ha de observar de nuevo que los elementos de sintaxis que se relacionan con el mapa significativo se codifican en orden de exploracion, mientras que los elementos de sintaxis que se relacionan con los valores reales de los niveles de coeficientes de transformada se codifican en orden de exploracion inverso permitiendo el uso de modelos de contextos mas adecuados.
En la codificacion por entropfa CABAC en H.264, todos los elementos de sintaxis para los niveles de coeficientes de transformada se codifican usando una modelizacion de probabilidad binaria. El elemento de sintaxis no binario coeff_abs_level_minus_one primero se binariza, es decir, se mapea en una secuencia de decisiones binarias (bins), y estas bins 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 bin codificada (incluyendo los elementos de sintaxis binarios) se asocia con un contexto. Un contexto representa un modelo probabilfstico para una clase de bins codificadas. Una medida relacionada con la probabilidad para uno de los dos posibles valores de bin se estima para cada contexto basandose en los valores de las bins que ya se han codificado con el correspondiente contexto. Para varias bins relacionadas con la codificacion de transformada, el contexto que se usa para codificar se selecciona basandose en elementos de sintaxis ya transmitidos o basandose en la posicion dentro de un bloque.
El mapa significativo especifica informacion sobre la significancia (nivel de coeficiente de transformada es diferente de cero) para las posiciones de exploracion. En la codificacion por entropfa CABAC de H.264, para un tamano de bloque de 4x4, se usa un contexto separado para cada posicion de exploracion para codificar los elementos de sintaxis binarios significant_coeff_flag y el last_significant_coeff_flag, donde se usan diferentes contextos para el significant_coeff_flag y el last_significant_coeff_flag de una posicion de exploracion. Para bloques de 8x8, se usa el mismo modelo de contexto para cuatro posiciones de exploracion sucesivas, resultando en 16 modelos de contextos para el significant_coeff_flag y 16 modelos de contextos adicionales para el last_significant_coeff_flag. Este metodo de modelizacion de contexto para el significant_coeff_flag y el Iast_significant_coeff_flag tiene algunas desventajas para tamanos de bloque grandes. Por un lado, si cada posicion de exploracion se asocia con un modelo de contexto separado, el numero de modelos de contextos aumenta significativamente cuando se codifican bloques mayores de 8x8. Un numero aumentado de este tipo de modelos de contextos resulta en una adaptacion lenta de las estimaciones de probabilidades y normalmente una inexactitud de las estimaciones de probabilidades, donde ambos aspectos tienen un impacto negativo en la eficiencia de la codificacion. Por otra parte, la asignacion de un modelo de contexto a un numero de posiciones de exploracion sucesivas (como se ha hecho para bloques de 8x8 en H.264) tampoco es optima para tamanos de bloque mas grandes, ya que los coeficientes de transformada distintos de cero normalmente se concentran en regiones particulares de un bloque de transformada (las regiones son dependientes de estructuras principales dentro de los correspondientes bloques de la senal residual).
Despues de codificar el mapa significativo, el bloque se procesa en orden de exploracion inverso. Si una posicion de exploracion 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 de 2), la modelizacion de contexto conmuta de nuevo al primer modelo de contexto del conjunto y usa este modelo de contexto hasta el final 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
5
10
15
20
25
30
35
40
45
50
55
60
iguales a uno), el modelo de contexto se elige dependiendo del numero de los elementos de sintaxis coeff_abs_greater_one iguales a cero que ya se han codificado/decodificado en la exploracion inversa del bloque considerado. La seleccion de modelo de contexto para el elemento de sintaxis coeff_abs_greater_one puede resumirse mediante la siguiente ecuacion, donde el mdice actual de modelo de contexto Ct+i se selecciona basandose en el anterior mdice de modelo de contexto Ct y el valor del anteriormente codificado elemento de sintaxis coeff_abs_greater_one, que se representa mediante bint en la ecuacion. Para el primer elemento de sintaxis coeff_abs_greater_one dentro de un bloque, el mdice de modelo de contexto se establece igual a Ct = 1.
imagen1
El segundo elemento de sintaxis para codificar los niveles de coeficientes de transformada absolutos, coeff_abs_level_minus_one se codifica unicamente, cuando el elemento de sintaxis coeff_abs_greater_one para la misma posicion de exploracion es igual a uno. El elemento de sintaxis no binario coeff_abs_level_minus_one se binariza en una secuencia de bins y para la primera bin de esta binarizacion; se selecciona un mdice de modelo de contexto como se describe a continuacion. Los restantes bins de la binarizacion se codifican con contextos fijos. El contexto para la primera bin de la binarizacion 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 contextos para la primera bin del elemento de sintaxis coeff_abs_level_minus_one, el correspondiente mdice de modelo de contexto se establece igual a Ct = 0. Para cada primera bin adicional del elemento de sintaxis coeff_abs_level_minus_one, la modelizacion de contexto conmuta al siguiente modelo de contexto en el conjunto, donde el numero de modelos de contextos en conjunto se limita a 5. La seleccion de modelo de contexto puede expresarse mediante la siguiente formula, donde el mdice de modelo de contexto actual Ct+i se selecciona basandose en el anterior mdice de modelo de contexto Ct. Como se ha mencionado anteriormente, para el primer elemento de sintaxis coeff_abs_level_minus_one dentro de un bloque, el mdice de modelo de contexto se establece igual a Ct = 0. Observese, se usan esos diferentes conjuntos de modelos de contextos para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one.
Ct+i (Ct) = min(Ct + 1,4)
Para bloques grandes, este metodo tiene algunas desventajas. La seleccion del primer modelo de contexto para coeff_abs_greater_one (que se usa si un valor de coeff_abs_greater_one igual a 1 se ha codificado para los bloques) normalmente se hace demasiado pronto y el ultimo modelo de contexto para coeff_abs_level_minus_one se alcanza demasiado rapido porque el numero de coeficientes significativos es mayor que en bloques pequenos. Asf pues, la mayona de bins de coeff_abs_greater_one y coeff_abs_level_minus_one se codifican con un unico modelo de contexto. Pero estas bins normalmente tienen diferentes probabilidades y por lo tanto el uso de un unico modelo de contexto para un numero grande de bins tiene un impacto negativo en la eficiencia de la codificacion.
Aunque, en general, bloques grandes aumentan la sobrecarga computacional para realizar la transformada de descomposicion espectral, la capacidad de codificar de forma efectiva tanto bloques pequenos como grandes habilitana la consecucion de mejor eficiencia de codificacion en la codificacion de matrices de muestras tales como fotograffas o matrices de muestras que representan otras senales de informacion muestreadas espacialmente tales como mapas de profundidad o similares. La razon para esto es la dependencia entre resolucion espacial y espectral cuando se transforma una matriz de muestras dentro de bloques: cuanto mas grandes son los bloques mayor es la resolucion espectral de la transformada. En general, sena favorable poder aplicar localmente la transformada individual en una matriz de muestras de tal forma que dentro del area de una transformada individual de este tipo, la composicion espectral de la matriz de muestras no vana en gran medida. Bloques demasiados pequenos garantizan que el contenido dentro de los bloques es relativamente consistente. Por otra parte, si los bloques son muy pequenos, la resolucion espectral es baja y la relacion entre coeficientes de transformada no significativos y significativos se reduce.
Por lo tanto, sena favorable tener un esquema de codificacion que habilite una codificacion eficiente para bloques de coeficientes de transformada, incluso cuando son grandes y sus mapas significativos.
La referencia EP1487113A2 describe como se transmite un primer sfmbolo de un bit (CBP4) para cada bloque de coeficientes de transformada. Si el CBP4 muestra que un correspondiente bloque contiene coeficientes significativos, se codifica una imagen significativa como resultado de la transmision de un sfmbolo de un bit (SIG) para cada coeficiente en una secuencia de exploracion. - Si un correspondiente sfmbolo significativo es 'uno', se transmite entonces un sfmbolo de un bit (LAST) adicional para mostrar si un coeficiente significativo presente es un ultimo coeficiente dentro de un bloque o si siguen coeficientes significativos adicionales. Posiciones de coeficientes de transformada significativos contenidos en un bloque se determinan y codifican para cada bloque en un primer
5
10
15
20
25
30
35
40
45
50
55
60
proceso de exploracion, seguido por un segundo proceso de exploracion Nevada a cabo en orden inverso.
La referencia EP1768415 A1 describe codificacion y decodificacion de datos de v^deo con eficiencia de codificacion mejorada. Despues de transformar datos de pfxeles en el dominio de frecuencia, unicamente un subconjunto predeterminado de coeficientes de transformada se explora y codifica. De esta manera, el conocimiento anterior sobre la ubicacion de coeficientes de transformada de cero regular puede aprovecharse para reducir redundancias en los datos de video codificados. Informacion sobre la ubicacion de coeficientes de cero regular puede senalizarse explfcitamente o implfcitamente al decodificador. El decodificador decodifica el subconjunto de coeficientes de transformada, emplea la informacion senalizada sobre la ubicacion de coeficientes de cero regular para exploracion inversa de los coeficientes de transformada decodificados y transforma inversamente los coeficientes de transformada de vuelta en un bloque de pfxeles.
La referencia US2003/128753A1 divulga un metodo de exploracion optimo para codificar/decodificar una senal de imagen. En un metodo de codificar una senal de imagen a traves de una transformada de coseno discreta, al menos uno se selecciona entre una pluralidad de bloques de referencia. Se genera un orden de exploracion en el que explorar bloques para codificar de los bloques de referencia y los bloques a codificar se exploran en el orden del orden de exploracion generado. El al menos un bloque de referencia seleccionado es temporalmente o espacialmente adyacente al bloque a codificar. Cuando los bloques a codificar se exploran, se obtienen probabilidades de que se encuentren coeficientes distintos de cero del al menos un bloque de referencia seleccionado y el orden de exploracion se determina en orden descendente comenzando desde la probabilidad mas alta. En este punto, el orden de exploracion se genera para ser un orden de exploracion en zigzag si las probabilidades son identicas. El metodo de exploracion optimo aumenta la eficiencia de compresion de senal.
La referencia GB2264605A describe como un explorador multiple explora una senal de acuerdo con una pluralidad de diferentes patrones y un selector de patrones de exploracion determina que patron de exploracion produce el resultado de codificacion mas eficiente, por ejemplo codificacion de longitud de ejecucion. La senal seleccionada se multiplexa con una senal que identifica el patron de exploracion seleccionado preferentemente despues de codificacion de longitud variable. Como se ha descrito, la senal es una senal de imagen que ha sufrido transformacion de coseno discreta despues de compensacion de medios. Se divulgan ocho patrones diferentes de exploracion o muestreo.
El artfculo "Compression of Sparse Matrices by Arithmetic Coding" por Bell T. et al., PROCEEDINGS OF THE DATA COMPRESSION CONFERENCE (DCC '98), 30 de marzo de 1998, paginas 23-32, XP010276609, IEEE, Los Alamitos, CA, Estados Unidos, DOI: 10.1109/DCC.1998.672126, ISBN: 978-0-8186-8406-7, describe la compresion de matrices donde la mayona de las entradas son una constante fija (mas tfpicamente cero), normalmente denominados como matrices dispersas. Se evalua el rendimiento de metodos existentes y se considera como la codificacion aritmetica puede aplicarse al problema de lograr una mejor compresion.
El artfculo "Data Compression: The Complete Reference (passage)" por Salomon D. et al, 1998, Springer, Nueva York, NY, Estados Unidos, XP002270343, ISBN: 978-0-387-98280-9, paginas 69-84, describe diversos aspectos de la codificacion aritmetica.
El artfculo "Context-based Arithmetic Coding Reexamined for DCT Video Compression" por Zhang L. et al., PROCEEDINGS OF THE 2007 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ICASP 2007), 1 de mayo de 2007, paginas 3147-3150, XP031181972, IEEE, Piscataway, NJ, Estados Unidos, ISBN: 978-14244-0920-4, presenta una nueva tecnica de modelizacion de contexto para codificacion aritmetica de coeficientes DCT en compresion de video. Una caractenstica clave de la nueva tecnica es la inclusion de todas las magnitudes de coeficiente anteriormente codificadas en un bloque DCT en modelizacion de contexto. Esto habilita que la codificacion aritmetica adaptativa aproveche la redundancia de proceso de Markov de orden alto en el dominio DCT con unos pocos estados condicionantes. Ademas, se usa una tecnica de ponderacion de contexto para mejorar adicionalmente la eficiencia de la codificacion. La complejidad del nuevo esquema de codificacion aritmetico es ligeramente inferior que la de Codificacion Aritmetica Binaria Adaptativa Basada en Contexto (CABAC) de H.264.
El artfculo "An overview of the basic principles of the Q-Coder adaptive binary arithmetic coder" por Pennebaker W. B. et al., IBM JOURNAL OF RESEARCH AND DEVELOPMENT, Vol. 32, N.° 6, noviembre de 1988, paginas 717726, XP000111384, IBM Corporation, Nueva York, NY, Estados Unidos, ISSN: 0018-8646, presenta el Q-Coder como una nueva forma de codificacion aritmetica binaria. La parte de codificacion aritmetica binaria de la tecnica se deriva de conceptos basicos introducidos por Rissanen, Pasco y Langdon, pero extiende las convenciones de codificacion para resolver un conflicto entre implementaciones de software y hardware optimas. Ademas, se usa una forma robusta de estimacion de probabilidad en la que la estimacion de probabilidad se deriva solamente de las normalizaciones de nuevo de intervalo que son parte del proceso de codificacion aritmetica. Se presenta un breve tutorial de conceptos de codificacion aritmetica, seguido por una discusion de las estructuras de codificacion de hardware y software optimas y la estimacion de probabilidades de sfmbolos de normalizacion de nuevo de intervalo.
5
10
15
20
25
30
35
40
45
50
55
60
El artfculo "Context-based Artithmetic Encoding of 2D Shape Sequences" por Brady N. et al., PROCEEDINGS OF THE IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 1997), Vol. 1, 26 de octubre de 1997, paginas 29-32, XP010254100, IEEE, Los Alamitos, CA, Estados Unidos, DOI: 10.1109/ICIP. 1997.647376, ISBN: 978-0-8186-8183-7, describe un nuevo metodo de codificacion de forma en secuencias de video basadas en objetos. Codificacion aritmetica basada en contexto, como se usa en JBIG, se utiliza dentro de una estructura basada en bloques y adicionalmente extendida para hacer uso eficiente de prediccion temporal.
El artfculo "Context-based adaptive binary arithmetic coding in JVT/H.26L" por Marpe D. et al, PROCEEDINGS OF THE IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 2002), Vol. 2, 22 de septiembre de 2002, paginas 513-516, XP010608021, IEEE, Los Alamitos, CA, Estados Unidos, ISBN: 978-0-7803-7622-9, describe CONTEXT-BASED ADAPTIVE BINARY ARITHMETIC CODING IN JVT/H.26L, presenta un nuevo esquema de codificacion por entropfa adaptativo para compresion de video. Utiliza una tecnica de codificacion aritmetica adaptativa para hacer coincidir la entropfa de primer orden de los sfmbolos codificados y para mantener seguimiento de estadfsticas de sfmbolo no reglamentario. Ademas, las redundancias de sfmbolo restantes se aprovecharan por modelizacion de contexto para reducir adicionalmente la tasa de bits. Se presenta un novedoso enfoque para la codificacion de coeficientes de transformada y un metodo de tabla de busqueda para estimacion de probabilidad y codificacion aritmetica. Este nuevo enfoque se ha integrado en el modelo de pruebas JVT (JM) actual para demostrar la ganancia de rendimiento y se adopto como una parte del proyecto actual de JVT/H.26L.
Por lo tanto, el objeto de la presente invencion es proporcionar un esquema de codificacion para codificar bloques de coeficientes de transformada, de modo que se aumenta la eficiencia de la codificacion.
Este objeto se consigue mediante la materia objeto de las reivindicaciones independientes.
De acuerdo con un aspecto de la presente solicitud, la solicitud se basa en el hallazgo de que la eficiencia de la codificacion para codificar un bloque de coeficientes de transformada puede incrementarse cuando un mapa significativo que indica posiciones de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada precedes la codificacion de los valores reales de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y si el orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada usado para asociar secuencialmente la secuencia de valores de los coeficientes de transformada significativos con las posiciones de los coeficientes de transformada significativos explora el bloque de coeficientes de transformada en sub-bloques usando un orden de exploracion de sub-bloques entre los sub-bloques con, complementaria, exploracion de posiciones de los coeficientes de transformada de los sub-bloques en un orden de exploracion de coeficientes, y si un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contexto se usa para decodificacion por entropfa adaptada al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, la seleccion del conjunto seleccionado dependiendo de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada que ya se ha atravesado en el orden de exploracion de sub-bloques o la seleccion dependiendo de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada anteriormente decodificado. De este modo la adaptacion de contexto es muy adecuada para la propiedad esbozada anteriormente de coeficientes de transformada significativos que se agrupan en ciertas areas dentro de un bloque de coeficientes de transformada, especialmente cuando se consideran grandes bloques de coeficientes de transformada. En otras palabras, los valores pueden explorarse en sub-bloques y contextos seleccionados basandose en estadfsticas de sub-bloques.
De acuerdo con un aspecto adicional de la presente solicitud, una idea subyacente de la presente solicitud es que una eficiencia de codificacion mas alta para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada puede lograrse si el orden de exploracion por el que los elementos de sintaxis secuencialmente extrafdos que indican, para posiciones asociadas dentro del bloque de coeficientes de transformada, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, se asocian secuencialmente a las posiciones del bloque de coeficientes de transformada, entre las posiciones del bloque de coeficientes de transformada depende de las posiciones de los coeficientes de transformada significativos indicadas mediante elementos de sintaxis anteriormente asociados. En particular, los inventores descubrieron que en contenido tfpico de matriz de muestras tales como fotograffa, video o contenido de mapas de profundidad, los coeficientes de transformada significativos en su mayona de grupos en un cierto lado del bloque de coeficientes de transformada correspondiendo a frecuencias distintas de cero en la vertical y frecuencias bajas en la direccion horizontal o viceversa de modo que teniendo en cuenta las posiciones de coeficientes de transformada significativos indicadas mediante elementos de sintaxis anteriormente asociados habilita controlar la causa adicional de la exploracion de tal forma que la probabilidad de lograr antes el ultimo coeficiente de transformada significativo dentro del bloque de coeficientes de transformada se aumenta con relacion a un procedimiento de acuerdo con el cual se predetermina el orden de exploracion independiente de las posiciones de los coeficientes de transformada significativos indicadas mediante elementos de sintaxis anteriormente asociados hasta ahora. Esto es particularmente cierto para bloques mas grandes, aunque lo que se acaba de decir tambien es cierto para bloques pequenos.
5
10
15
20
25
30
35
40
45
50
55
60
De acuerdo con una realizacion de la presente solicitud, el decodificador por entrc^a se configura para extraer del flujo de datos informacion que habilite reconocer en cuanto a si un coeficiente de transformada significativo indicada en la actualidad mediante un elemento de sintaxis asociado en la actualidad es el ultimo coeficiente de transformada significativo independiente de su posicion exacta dentro del bloque de coeficientes de transformada en el que el decodificador por entropfa se configura para no esperar elementos de sintaxis adicionales en caso de elemento de sintaxis actual con relacion a tal ultimo coeficiente de transformada significativo. Esta informacion puede comprender el numero de coeficientes de transformada significativos con el bloque. Como alternativa, segundos elementos de sintaxis se entrelazan con los primeros elementos de sintaxis, indicando los segundos elementos de sintaxis, para posiciones asociadas en las que se situa un coeficiente de transformada significativo, en cuanto a si el mismo es el ultimo coeficiente de transformada en el bloque de coeficientes de transformada o no.
De acuerdo con una realizacion, el asociador adapta el orden de exploracion dependiendo de las posiciones de los coeficientes de transformada significativos indicadas hasta ahora meramente en posiciones predefinidas dentro del bloque de coeficientes de transformada. Por ejemplo, varias sub-trayectorias que atraviesan sub-conjuntos mutuamente disjuntos de posiciones dentro del bloque de coeficientes de transformada se extienden sustancialmente diagonalmente desde un par de lados del bloque de coeficientes de transformada correspondiente a la frecuencia minima a lo largo de una primera direccion y la frecuencia mas alta a lo largo de otra direccion, respectivamente, un par opuesto de lados del bloque de coeficientes de transformada correspondientes a la frecuencia cero a lo largo de una segunda direccion y maxima frecuencia a lo largo de una primera direccion, respectivamente. En este caso el asociador se configura para seleccionar el orden de exploracion de tal forma que las sub-trayectorias se atraviesan en un orden entre las sub-trayectorias donde la distancia de las sub-trayectorias a la posicion DC dentro del bloque de coeficientes de transformada aumenta uniformemente, cada sub-trayectoria se atraviesa sin interrupcion a lo largo de la direccion de ejecucion y para cada sub-trayectoria se selecciona la direccion a lo largo de la que la sub- trayectoria se atraviesa mediante el asociador dependiendo de las posiciones de los coeficientes de transformada significativos que han sido atravesados durante las sub-trayectorias anteriores. Mediante esta medida, se aumenta la probabilidad de que la ultima sub-trayectoria, se situa donde el ultimo coeficiente de transformada significativo, se atraviesa en una direccion de modo que es mas probable que el ultimo coeficiente de transformada significativo se situe dentro de la primera mitad de esta ultima sub-trayectoria que dentro de la segunda mitad de la misma, de este modo habilitando la reduccion del numero de elementos de sintaxis que indican en cuanto a si en una respectiva posicion se situa un coeficiente de transformada significativo o insignificativo. El efecto es especialmente valioso en caso de bloques de coeficientes de transformada grandes.
De acuerdo con un aspecto adicional de la presente solicitud, la presente solicitud se basa en el hallazgo de que un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada puede codificarse mas eficientemente si los anteriormente mencionados elementos de sintaxis que indican, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, se decodifican por entropfa adaptados al contexto usando contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis dependientes de un numero de coeficientes de transformada significativos en una vecindad del respectivo elemento de sintaxis, indicado como que es significativo por cualquiera de los anteriores elementos de sintaxis. En particular, los inventores descubrieron que aumentando el tamano de los bloques de coeficientes de transformada, los coeficientes de transformada significativos se agrupan de alguna forma en ciertas areas dentro del bloque de coeficientes de transformada de modo que una adaptacion de contexto que no es unicamente sensible al numero de coeficientes de transformada significativos que se ha atravesado en el orden de exploracion predeterminados hasta ahora pero tambien tiene en cuenta la vecindad de los coeficientes de transformada significativos resulta en una mejor adaptacion del contexto y por lo tanto aumenta la eficiencia de la codificacion de la codificacion por entropfa.
Por supuesto, los aspectos esbozados anteriormente pueden combinarse de una manera favorable.
Realizaciones preferidas de la presente solicitud se describen a continuacion con respecto a las Figuras entre las que
la Figura 1 la Figura 2a-c
la Figura 3 la Figura 4
muestra un diagrama de bloques de un codificador de acuerdo con una realizacion;
muestran esquematicamente diferentes sub-divisiones de una matriz de muestras tal como una fotograffa en bloques.
muestra un diagrama de bloques de un decodificador de acuerdo con una realizacion;
muestra un diagrama de bloques de un codificador de acuerdo con una realizacion de la presente solicitud en mas detalle;
5
10
15
20
25
30
35
40
45
50
55
60
la Figura 5 la Figura 6 la Figura 7
la Figura 8 la Figura 9 la Figura 10
la Figura 11
muestra un diagrama de bloques de un decodificador de acuerdo con una realizacion de la presente solicitud en mas detalle;
ilustra esquematicamente una transformada de un bloque desde dominio espacial a dominio espectral;
muestra un diagrama de bloques de un aparato para decodificar el mapa significativo y los coeficientes de transformada significativos de un bloque de coeficientes de transformada de acuerdo con una realizacion;
ilustra esquematicamente una sub-division de un orden de exploracion en sub-trayectorias y sus diferentes direcciones transversales;
ilustra esquematicamente definiciones de vecindad para ciertas posiciones de exploracion dentro de un bloque de transformada de acuerdo con una realizacion;
ilustra esquematicamente posibles definiciones de vecindad para algunas posiciones de exploracion dentro de bloques de transformada que se situan en el borde de un bloque de transformada;
muestra una posible exploracion de bloques de transformada de acuerdo con una realizacion de la presente solicitud.
Se observa que durante la descripcion de las Figuras, elementos que se encuentran en varias de estas Figuras se indican con el mismo signo de referencia en cada una de estas Figuras y se evita una descripcion repetida de estos elementos en lo que se refiere a la funcionalidad para evitar repeticiones innecesarias. No obstante, las funcionalidades y descripciones proporcionadas con respecto a una figura tambien se aplicaran a otras Figuras a no ser que se indique expresamente lo contrario.
La Figura 1 muestra un ejemplo para un codificador 10 en el que pueden implementarse aspectos de la presente solicitud. El codificador codifica una matriz de muestras de informacion 20 en un flujo de datos. La matriz de muestras de informacion puede representar cualquier clase de senal de informacion muestreada espacialmente. Por ejemplo, la matriz de muestras 20 puede ser una fotograffa fija o una fotograffa de un video. Por consiguiente, las muestras de informacion pueden corresponder a valores de brillo, valores de color, valores de luminancia, valores cromaticos o similares. Sin embargo, las muestras de informacion tambien pueden ser valores de profundidad en caso de que la matriz de muestras 20 sea un mapa de profundidad generado mediante, por ejemplo, un tiempo de detector 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 codificacion en unidades de bloques 40 no necesariamente significa que el codificador 10 codifica estos bloques 40 totalmente independientes entre sf. En su lugar, el codificador 10 puede usar reconstrucciones de bloques anteriormente codificados para extrapolar o intra predecir los bloques restantes y puede usar la granularidad de los bloques para establecer parametros de codificacion, es decir para establecer la manera en que se codifica cada region de matriz de muestras correspondiente a un respectivo bloque.
Ademas, el codificador 10 es un codificador de transformada. Esto es, el codificador 10 codifica bloques 40 usando una transformada para transferir las muestras de informacion dentro de cada bloque 40 desde dominio espacial a dominio espectral. Puede usarse una transformada de dos dimensiones tal como una DCT de FFT o similares. Preferentemente, los bloques 40 tienen forma cuadratica o forma rectangular.
La sub-division de la matriz de muestras 20 en bloques 40 mostrados en la Figura 1 sirve meramente para propositos de ilustracion. La Figura 1 muestra la matriz de muestras 20 como se sub-divide en una disposicion de dos dimensiones regular de bloques cuadraticos o rectangulares 40 que se empalman entre sf de manera no solapante. El tamano de los bloques 40 puede predeterminarse. Es decir, el codificador 10 puede no transferir una informacion en el tamano de bloque de bloques 40 dentro del flujo de datos 30 al lado de decodificacion. Por ejemplo, el decodificador puede esperar el tamano de bloque predeterminado.
Sin embargo, son posibles varias alternativas. Por ejemplo, los bloques pueden solaparse entre sf. El solapamiento puede, sin embargo, restringirse hasta tal punto que cada bloque tiene una porcion no solapada por ningun bloque vecino o de tal forma que cada muestra de los bloques se solapa por, en el maximo, un bloque entre los bloques vecinos dispuestos en yuxtaposicion al bloque actual a lo largo de una direccion predeterminada. Eso mas tarde podna significar que los bloques vecinos a derecha o izquierda pueden solapar el bloque actual para cubrir completamente el bloque actual pero no pueden solarse entre sf y lo mismo se aplica para vecinos en direccion
5
10
15
20
25
30
35
40
45
50
55
60
vertical y diagonal.
Como una alternativa adicional, el codificador 10 puede adaptar la sub-division de matriz de muestras 20 en bloques 40 al contenido de la matriz de muestras 20 estando la informacion de sub-division en la sub-division usada transferida al lado de decodificador a traves de flujo de bits 30.
Las Figuras 2a a 2c muestran diferentes ejemplos para una sub-division de una matriz de muestras 20 en bloques 40. La Figura 2a muestra una sub-division de arbol cuadruple de una matriz de muestras 20 en bloques 40 de diferentes tamanos, estando los bloques representativos indicados en 40a, 40b, 40c y 40d con tamano en aumento. De acuerdo con la sub-division de la Figura 2a, la matriz de muestras 20 se divide primero en una disposicion de dos dimensiones regular de bloques de arbol 40d que, a su vez, tiene informacion de sub-division individual asociada con la misma de acuerdo con la que un cierto bloque de arbol 40d puede sub-dividirse o no adicionalmente de acuerdo con una estructura de arbol cuadruple. El bloque de arbol a la izquierda del bloque 40d se subdivide ilustrativamente en bloques mas pequenos de acuerdo con una estructura de arbol cuadruple. El codificador 10 puede realizar una transformada de dos dimensiones para cada uno de los bloques mostrados con lmeas continuas y discontinuas en la Figura 2a. En otras palabras, el codificador 10 puede transformar la matriz 20 en unidades de la subdivision de bloque.
En lugar de una sub-division de arbol cuadruple puede usarse una sub-division basada en multiples arboles mas general y el numero de nodos secundarios por nivel jerarquico puede diferir entre diferentes niveles jerarquicos.
La Figura 2b muestra otro ejemplo para una sub-division. De acuerdo con la Figura 2b, la matriz de muestras 20 se divide primero en macrobloques 40b dispuestos en una disposicion de dos dimensiones regular en una manera de empalme mutuamente no solapante en el que cada macrobloque 40b ha asociado con el mismo informacion de subdivision de acuerdo con la que un macrobloque no se sub-divide o, si se sub-divide, se sub-divide en una manera de dos dimensiones regular en sub-bloques de igual tamano para lograr diferentes granularidades de sub-division para diferentes macrobloques. El resultado es una sub-division de la matriz de muestras 20 en bloques 40 de diferentes tamanos estando los representantes de los diferentes tamanos indicados en 40a, 40b y 40a'. Como en la Figura 2a, el codificador 10 realiza una transformada de dos dimensiones en cada uno de los bloques mostrados en la Figura 2b con las lmeas continuas y discontinuas. La Figura 2c se analizara mas adelante.
La Figura 3 muestra un decodificador 50 que es capaz de decodificar el flujo de datos 30 generado por el codificador 10 para reconstruir una version reconstruida 60 de la matriz de muestras 20. El decodificador 50 extrae del flujo de datos 30 el bloque de coeficientes de transformada para cada uno de los bloques 40 y reconstruye la version reconstruida 60 realizando una transformada inversa en cada uno de los bloques de coeficientes de transformada.
El codificador 10 y decodificador 50 puede configurarse para realizar codificacion/decodificacion por entropfa para insertar la informacion en los bloques de coeficientes de transformada en y extraer esta informacion del flujo de datos, respectivamente. Detalles en este sentido se describen mas adelante. Debena observarse que el flujo de datos 30 no comprende necesariamente informacion en bloques de coeficientes de transformada para todos los bloques 40 de la matriz de muestras 20. En su lugar, como el sub-conjunto 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 coeficientes de transformada para un cierto bloque de bloques 40 con la introduccion en el flujo de bits 30 de parametros de codificacion alternativos en su lugar que habilita que el decodificador 50 prediga o de otra manera llene el respectivo bloque en la version reconstruida 60. Por ejemplo, el codificador 10 puede realizar un analisis de textura para localizar bloques dentro de matriz de muestras 20 que puede llenarse en el lado de descodificador por el decodificador por medio de smtesis de texturas e indicar esto dentro del flujo de bits en consecuencia.
Como se ha analizado en las siguientes Figuras, los bloques de coeficientes de transformada no representan necesariamente una representacion de dominio espectral de las muestras de informacion originales de un respectivo bloque 40 de la matriz de muestras 20. En su lugar, un bloque de coeficientes de transformada de este tipo puede representar una representacion de dominio espectral de una prediccion residual del respectivo bloque 40. La Figura 4 muestra una realizacion para un codificador de este tipo. El codificador de la Figura 4 comprende una fase de transformada 100, un codificador por entropfa 102, una fase de transformada inversa 104, un predictor 106 y un restador 108 asf como un sumador 110. El restador 108, fase de transformada 100 y codificador por entropfa 102 se conectan en serie en el orden mencionado entre una entrada 112 y una salida 114 del codificador de la Figura 4. La fase de transformada inversa 104, sumador 110 y predictor 106 se conectan en el orden mencionado entre la salida de la fase de transformada 100 y la entrada inversora del restador 108, estando la salida del predictor 106 tambien conectada a una entrada adicional del sumador 110.
El codificador de la Figura 4 es un codificador de bloques basando en transformada predictiva. Es decir, los bloques de una matriz de muestras 20 que entran en entrada 112 se predicen desde porciones anteriormente codificadas y reconstruidas de la misma matriz de muestras 20 u otras matrices de muestras anteriormente codificadas y reconstruidas que pueden preceder o suceder a la matriz de muestras 20 actual en tiempo. El predictor 106 realiza
5
10
15
20
25
30
35
40
45
50
55
60
la prediccion. El restador 108 resta la prediccion de un bloque original de este tipo y la fase de transformada 100 realiza una transformacion de dos dimensiones en los residuales de prediccion. La propia transformacion de dos dimensiones o una medida posterior dentro de la fase de transformada 100 puede conducir a una cuantificacion de los coeficientes de transformada dentro de los bloques de coeficientes de transformada. Los bloques de coeficientes de transformada cuantificados se codifican sin perdidas mediante, por ejemplo, codificacion por entropfa dentro de codificador por entropfa 102 siendo el flujo de datos resultante sacado en la salida 114. La fase de transformada inversa 104 reconstruye el residual cuantificado y el sumador 110, a su vez, combina el residual reconstruido con la correspondiente prediccion para obtener muestras de informacion reconstruidas basandose en que el predictor 106 puede predecir los bloques de prediccion codificados en la actualidad anteriormente mencionados. El predictor 106 puede usar diferentes modelos de prediccion tales como modos de intra predicciones y modos de inter predicciones para predecir los bloques y los parametros de prediccion se reenvfan al codificador por entropfa 102 para insercion en el flujo de datos.
Es decir, de acuerdo con la realizacion de la Figura 4, los bloques de coeficientes de transformada representan una representacion espectral de un residual de la matriz de muestras en lugar de muestras de informacion actuales del mismo.
Debena observarse que existen varias alternativas para la realizacion de la Figura 4 habiendose algunas de ellas descrito dentro de la porcion introductoria de la memoria descriptiva cuya descripcion se incorpora en la descripcion de la Figura 4 adjunta. Por ejemplo, la prediccion generada por el predictor 106 puede no codificarse por entropfa. En su lugar, la informacion lateral puede transferirse al lado de decodificacion por medio de otro esquema de codificacion.
La Figura 5 muestra un decodificador capaz de decodificar un flujo de datos generado por el codificador de la Figura 4. El decodificador de la Figura 5 comprende un codificador por entropfa 150, una fase de transformada inversa 152, un sumador 154 y un predictor 156. El decodificador por entropfa 150, fase de transformada inversa 152 y sumador 154 se conectan en serie entre una entrada 158 y una salida 160 del decodificador de la Figura 5 en el orden mencionado. Una salida adicional de decodificador por entropfa 150 se conecta al predictor 156 que, a su vez, se conecta entre la salida de sumador 154 y una entrada adicional del mismo. El decodificador por entropfa 150 extrae, del flujo de datos que entran al decodificador de la Figura 5 en entrada 158, los bloques de coeficientes de transformada en el que se aplica una transformada inversa a los bloques de coeficientes de transformada en fase 152 para obtener la senal residual. La senal residual se combina con una prediccion del predictor 156 en el sumador 154 para obtener un bloque reconstruido de la version reconstruida de la matriz de muestras en salida 160. Basandose en la version reconstruida, el predictor 156 genera las predicciones reconstruyendo de este modo las predicciones realizadas por el predictor 106 en el lado de codificador. Para obtener las mismas predicciones que las usadas en el lado de codificador, el predictor 156 usa los parametros de prediccion que el decodificador por entropfa 150 tambien obtiene del flujo de datos en entrada 158.
Debena observarse que en las realizaciones anteriormente descritas, la granularidad espacial a la que se realiza la prediccion y la transformacion del residual, no tienen que ser iguales entre sf. Esto se muestra en la Figura 2C. Esta figura muestra una sub-division para los bloques de prediccion de la granularidad de prediccion con lmeas continuas y la granularidad residual con lmeas discontinuas. Como puede observarse, las subdivisiones pueden seleccionarse por el codificador independientes entre sf. Para ser mas precisos, la sintaxis de flujo de datos puede permitir una definicion de la subdivision residual independiente de la subdivision de prediccion. Como alternativa, la subdivision residual puede ser una extension de la subdivision de prediccion de modo que cada bloque residual es igual a o un subconjunto propio de un bloque de prediccion. Esto se muestra en la Figura 2a y la Figura 2b, por ejemplo, donde de nuevo la granularidad de prediccion se muestra con lmeas continuas y la granularidad residual con lmeas discontinuas. Esto, en las Figuras 2a-2c, todos los bloques que tienen un signo de referencia asociado con el mismo senan bloques residuales para los que se realizana una transformada de dos dimensiones mientras los bloques de lmeas continuas mas grandes que engloban los bloques de lmeas discontinuas 40a, por ejemplo, senan bloques de para los cuales se realiza un establecimiento de parametro de prediccion individualmente.
Las realizaciones anteriores tienen en comun que un bloque de muestras (residuales u originales) se debe transformar en el lado de codificador en un bloque de coeficientes de transformada que, a su vez, se debe transformar inversamente en un bloque reconstruido de muestras en el lado de codificador. 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 ilustrativamente cuadratico y con tamano de muestras 202 de 4x4. Las muestras 202 se disponen regularmente a lo largo de una direccion horizontal x y direccion vertical y. Mediante la anteriormente mencionada transformada de dos dimensiones T, el bloque 200 se transforma en dominio espectral, a saber en un bloque 204 de coeficientes de transformada 206, siendo el bloque de transformada 204 del mismo tamano que el bloque 200. Es decir, el bloque de transformada 204 tiene tantos coeficientes de transformada 208 como muestras tiene el bloque 200, tanto en direccion horizontal como direccion vertical. Sin embargo, como la transformada T es una transformacion espectral, las posiciones de los coeficientes de transformada 206 dentro de bloque de transformada 204 no corresponden a posiciones espaciales sino a componentes espectrales del contenido de bloque 200. En particular, el eje horizontal
5
10
15
20
25
30
35
40
45
50
55
60
de bloque de transformada 204 corresponde a un eje a lo largo del que la frecuencia espectral en la direccion horizontal aumenta uniformemente mientras el eje vertical corresponde a un eje a lo largo del que la frecuencia espacial en la direccion vertical aumenta uniformemente en el que el coeficiente de transformada de componente DC se posiciona en una esquina - en este punto ilustrativamente la esquina superior izquierda - del bloque 204 de modo que en la esquina inferior de la derecha, se posiciona el coeficiente de transformada 206 correspondiente a la frecuencia mas alta tanto en la direccion horizontal como direccion vertical. Obviando la direccion espacial, la frecuencia espacial a la que pertenece un cierto coeficiente de transformada 206, generalmente aumenta desde la esquina superior izquierda a la esquina inferior de la derecha. Mediante una transformada inversa T-1, el bloque de transformada 204 se transfiere de nuevo desde el dominio espectral a dominio espacial, para obtener de nuevo una copia 208 de bloque 200. En el caso que no se haya introducido cuantificacion/perdida durante la transformacion, la reconstruccion sena perfecta.
Como ya se ha observado anteriormente, puede verse de la Figura 6 que tamanos de bloque mas grandes de bloque 200 aumenta la resolucion espectral de la representacion espectral resultante 204. Por otra parte, el ruido de cuantificacion tiende a propagarse por el bloque 208 entero y por lo tanto, objetos abruptos y muy localizados dentro de bloques 200 tienden a conducir a desviaciones del bloque transformado de nuevo con relacion al bloque original 200 debido a ruido de cuantificacion. La principal ventaja de usar bloques mas grandes es, sin embargo, que la relacion entre el numero de significancia, es decir coeficientes de transformada (cuantificados) distintos de cero por una parte y el numero de coeficientes de transformada insignificativos por otra parte puede disminuirse dentro de bloques mas grandes comparado con bloques mas pequenos de este modo habilitando una mejor eficiencia de codificacion. En otras palabras, frecuentemente, los coeficientes de transformada significativos, es decir los coeficientes de transformada no cuantificados a cero, se distribuyen de forma dispersa por el bloque de transformada 204. Debido a esto, de acuerdo con las realizaciones descritas en mas detalle a continuacion, las posiciones de los coeficientes de transformada significativos se senalizan dentro del flujo de datos por medio de un mapa significativo. Separadamente de los mismos, los valores del coeficiente de transformada significativo, es decir, los niveles de coeficientes de transformada en el caso de que los coeficientes de transformada se cuantifiquen, se transmiten dentro del flujo de datos.
Por consiguiente, de acuerdo con una realizacion de la presente solicitud, puede implementarse un aparato para decodificar un mapa significativo de este tipo a lo largo de los correspondientes valores de coeficientes de transformada significativos del flujo de datos, como se muestra en la Figura 7 y cada uno de los decodificadores por entropfa mencionados anteriormente, a saber decodificador 50 y decodificador por entropfa 150, pueden comprender el aparato mostrado en la Figura 7.
El aparato de la Figura 7 comprende un decodificador por entropfa de mapa/coeficiente 250 y un asociador 252. El decodificador por entropfa de mapa/coeficiente 250 se conecta a una entrada 254 en la que entrar elementos de sintaxis representando el mapa significativo y los valores de coeficientes de transformada significativos. Como se describira en mas detalle a continuacion, existen diferentes posibilidades con respecto al orden en el que los elementos de sintaxis que describen el mapa significativo por una parte y los valores de coeficientes de transformada significativos por otra parte entran al decodificador por entropfa de mapa/coeficiente 250. Los elementos de sintaxis de mapa significativo pueden preceder los niveles correspondientes o ambos pueden entrelazarse. Sin embargo, preliminarmente se asume que los elementos de sintaxis que representan el mapa significativo preceden los valores (niveles) de los coeficientes de transformada significativos de modo que el decodificador por entropfa de mapa/coeficiente 250 decodifica primero el mapa significativo y a continuacion los niveles de coeficientes de transformada de los coeficientes de transformada significativos.
Como el decodificador por entropfa de mapa/coeficiente 250 decodifica secuencialmente los elementos de sintaxis que representan el mapa significativo y los valores de coeficientes de transformada significativos, el asociador 252 se configura para asociar estos elementos de sintaxis/valores decodificados secuencialmente a las posiciones dentro del bloque de transformada 256. El orden de exploracion en el que el asociador 252 asocia los elementos de sintaxis decodificados secuencialmente que representan el mapa significativo y niveles de los coeficientes de transformada significativos a las posiciones del bloque de transformada 256 sigue un orden de exploracion de una dimension entre las posiciones del bloque de transformada 256 que es identico al orden usando en el lado de codificacion para introducir estos elementos en el flujo de datos. Como tambien se esbozara en mas detalle a continuacion, el orden de exploracion para los elementos de sintaxis de mapa significativo puede ser igual o no al orden usado para los valores de coeficientes significativos.
El decodificador por entropfa de mapa/coeficiente 250 puede acceder a la informacion en el bloque de transformada 256 disponible hasta ahora, como generado por el asociador 252 hasta un elemento de sintaxis/nivel a decodificar en la actualidad, para establecer contexto de estimacion de probabilidad para decodificacion por entropfa del elemento de sintaxis/nivel en la actualidad a decodificar como se indica mediante una lmea discontinua 258. Por ejemplo, el asociador 252 puede registrar la informacion recopilada hasta ahora desde los elementos de sintaxis secuencialmente asociados tales como los propios niveles o la informacion en cuanto a si se situa o no en la respectiva posicion un coeficiente de transformada significativo o en cuanto a si no se conoce nada sobre la
5
10
15
20
25
30
35
40
45
50
55
60
respectiva posicion del bloque de transformada 256 en el que el decodificador por entropfa de mapa/coeficiente 250 accede a esta memoria. La memoria recien mencionada no se muestra en la Figura 7 pero la senal de referencia 256 tambien puede indicar esta memoria como la memoria o memoria intermedia de registro sena para almacenar la informacion preliminar obtenida por el 252 y decodificador por entropfa 250 hasta ahora. Por consiguiente, la Figura 7 ilustra mediante cruces posiciones de coeficientes de transformada significativos obtenidas desde los elementos de sintaxis anteriormente decodificados que representan el mapa significativo y un "1" indicara que el nivel de coeficiente de transformada significativo del coeficiente de transformada significativo en la respectiva posicion ya se ha decodificado y es 1. En caso de los elementos de sintaxis de mapa significativo precediendo los valores significativos en el flujo de datos, una cruz se habna registrado en la memoria 256 en la posicion del "1" (esta situacion habna representado el mapa significativo completo) antes de entrar el "1" tras decodificar el respectivo valor.
La siguiente descripcion se concentra en realizaciones especificas para codificar los bloques de coeficientes de transformada o el mapa significativo, cuyas realizaciones con facilmente transferibles a las realizaciones descritas anteriormente. En estas realizaciones, un elemento de sintaxis binario coded_block_flag puede transmitirse para cada bloque de transformada, que senaliza si el bloque de transformada contiene cualquier nivel de coeficiente de transformada significativo (es decir, coeficientes de transformada que son distintos de cero). Si este elemento de sintaxis indica que estan presentes niveles de coeficientes de transformada significativos, el mapa significativo se codifica, es decir meramente entonces. El mapa significativo espedfica, como se ha indicado anteriormente, cual de los niveles de coeficientes de transformada tienen valores distintos de cero. La codificacion de mapa significativo implica una codificacion de elementos de sintaxis binarios significant_coeff_flag cada uno especificando para una posicion de coeficiente respectivamente asociada si el correspondiente nivel de coeficiente de transformada no es igual a cero. La codificacion se realiza en un cierto orden de exploracion que puede cambiar durante la codificacion de mapa significativo dependiendo de las posiciones de coeficientes significativos identificados como significativos hasta ahora, como se describira en mas detalle a continuacion. Ademas, la codificacion de mapa significativo implica una codificacion de elementos de sintaxis binarios last_significant_coeff_flag intercalada con la secuencia de significant_coeff_flag en las posiciones de la misma, donde significant_coeff_flag senaliza un coeficiente significativo. Si la bin significant_coeff_flag es igual a uno, es decir, si un nivel de coeficiente de transformada distinto de cero existe en esta posicion de exploracion, se codifica el elemento de sintaxis binario adicional last_significant_coeff_flag. Esta bin indica si el nivel de coeficiente de transformada significativo actual es el ultimo nivel de coeficiente de transformada significativo dentro del bloque o si niveles de coeficientes de transformada significativos adicionales siguen en orden de exploracion. 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 significativo para el bloque. Como alternativa, el numero de posiciones de coeficiente significativo podna senalizarse dentro del flujo de datos antes de la codificacion de la secuencia de significant_coeff_flag. En la siguiente etapa, los valores de los niveles de coeficientes de transformada significativos se codifican. Como se ha descrito anteriormente, como alternativa, la transmision de los niveles podna entrelazarse con la transmision del mapa significativo. Los valores de niveles de coeficientes de transformada significativos se codifican en un orden de exploracion adicional para el que se describen ejemplos a continuacion. 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 de uno. Si el elemento de sintaxis binario coeff_abs_greater_one indica que el valor absoluto es mayor de uno, se envfa 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 continuacion habilitan la reduccion adicional de la tasa de bits y por lo tanto aumenta la eficiencia de la codificacion. Para hacer esto, estas realizaciones usan un enfoque espedfico para modelizacion de contexto para elementos de sintaxis en relacion a los coeficientes de transformada. En particular, se usa una nueva seleccion 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 conmutacion adaptativa de la exploracion durante la codificacion/decodificacion del mapa significativo (especificando las ubicaciones de niveles de coeficientes de transformada significativos distintos de cero). En cuanto al significado de los elementos de sintaxis que se deben mencionar, se hace referencia a la porcion introductoria anterior de la presente solicitud.
La codificacion de los elementos de sintaxis significant_coeff_flag y last_significant_coeff_flag, que especifican el mapa significativo, se mejora mediante una exploracion adaptativa y una nueva modelizacion de contexto basandose en una vecindad definida de posiciones de exploracion ya codificadas. Estos nuevos conceptos resultan en una codificacion de mapas significativos mas eficiente (es decir, una reduccion de la correspondiente tasa de bits), en particular para tamanos de bloque grandes.
Un aspecto de las realizaciones esbozadas a continuacion es que el orden de exploracion (es decir, el mapeado de un bloque de valores de coeficientes de transformada en un conjunto ordenado (vector) de niveles de coeficientes de transformada) se adapta durante la codificacion/decodificacion de un mapa significativo basandose en los valores de
5
10
15
20
25
30
35
40
45
50
55
60
los elementos de sintaxis ya codificados/decodificados para el mapa significativo.
En una realizacion preferida, el orden de exploracion se conmuta adaptativamente entre dos o mas patrones de exploracion predefinidos. En una realizacion preferida, la conmutacion puede tener lugar unicamente en ciertas posiciones de exploracion predefinidas. En una realizacion preferida adicional de la invencion, el orden de exploracion se conmuta adaptativamente entre dos patrones de exploracion predefinidos. En una realizacion preferida, la conmutacion entre los dos patrones de exploracion predefinidos puede tener lugar unicamente en ciertas posiciones de exploracion predefinidas.
La ventaja de la conmutacion entre patrones de exploracion es una tasa de bits reducida, que es un resultado de un numero mas pequeno de elementos de sintaxis codificados. Como un ejemplo intuitivo y haciendo referencia a la Figura 6, es frecuente el caso en que valores de coeficientes de transformada significativos - en particular para grandes bloques de transformada - se concentran en uno de los bordes de bloque 270, 272, porque los bloques residuales contienen principalmente estructuras horizontales o verticales. Con la principalmente usada exploracion en zigzag 274, existe una probabilidad de aproximadamente 0,5 de que la ultima sub-exploracion diagonal de la exploracion en zigzag en el que se encuentra el ultimo coeficiente significativo se inicie desde el lado en el que no se concentran los coeficientes significativos. En ese caso, tiene que codificarse un gran numero de elementos de sintaxis para niveles de coeficientes de transformada iguales a cero antes de que se alcance el ultimo valor de coeficiente de transformada distinto de cero. Esto puede evitarse si las sub-exploraciones diagonales se inician siempre en el lado donde se concentran los niveles de coeficientes de transformada significativos.
A continuacion se describen mas detalles para una realizacion preferida de la invencion.
Como se ha mencionado anteriormente, tambien para tamanos de bloque grandes, es preferible mantener el numero de modelos de contextos razonablemente pequeno para habilitar una rapida adaptacion de los modelos de contextos y proporcionar una eficiencia de codificacion alta. Por lo tanto, un contexto particular debena usarse para mas de una posicion de exploracion. Pero el concepto de asignar el mismo contexto a un numero de posiciones de exploracion sucesivas, como se hace para bloques de 8x8 en H.264, normalmente no es adecuada, ya que los niveles de coeficientes de transformada significativos normalmente se concentran en ciertas areas de un bloque de transformada (esta concentracion puede ser un resultado de ciertas estructuras dominantes que normalmente estan presentes en, por ejemplo bloques residuales). Para disenar la seleccion de contexto, se podna usar la observacion mencionada anteriormente que niveles de coeficientes de transformada significativos a menudo se concentran en ciertas areas de un bloque de transformada. A continuacion, se describen conceptos mediante los cuales esta observacion puede aprovecharse.
En una realizacion preferida, un bloque de transformada grande (por ejemplo, mayor de 8x8) se divide en un numero de rectangular sub-bloques (por ejemplo, en 16 sub-bloques) y cada uno de estos sub-bloques se asocia con un modelo de contexto separado para codificar el significant_coeff_flag y last_significant_coeff_flag (donde se usan diferentes modelos de contextos para los significant_coeff_flag y last_significant_coeff_flag). La division en sub- bloques puede ser diferente para los significant_coeff_flag y last_significant_coeff_flag. El mismo modelo de contexto pueden usarse para todas las posiciones de exploracion que se ubican en un sub-bloque particular.
En una realizacion preferida adicional, un bloque de transformada grande (por ejemplo, mayor de 8x8) puede dividirse en un numero de sub-regiones rectangulares y/o no rectangulares y cada una de estas sub-regiones se asocia con un modelo de contexto separado para codificar el significant_coeff_flag y/o el last_significant_coeff_flag. La division en sub-regiones puede ser diferente para los significant_coeff_flag y last_significant_coeff_flag. El mismo modelo de contexto se usa para todas las posiciones de exploracion que se ubican en una sub-region particular.
En una realizacion preferida adicional, el modelo de contexto para codificar el significant_coeff_flag y/o el last_significant_coeff_flag se selecciona basandose en los sfmboios ya codificados en una vecindad espacial predefinida de la posicion de exploracion actual. La vecindad predefinida puede ser diferente para diferentes posiciones de exploracion. En una realizacion preferida, el modelo de contexto se selecciona basandose en el numero de niveles de coeficientes de transformada significativos en la vecindad espacial predefinida de la posicion de exploracion actual, donde unicamente se cuentan indicaciones significativas codificadas.
A continuacion se describen mas detalles para una realizacion preferida de la invencion.
Como se ha mencionado anteriormente, para tamanos de bloque grandes, la modelizacion de contexto convencional codifica un gran numero de bins (que normalmente tienen diferentes probabilidades) con un unico modelo de contexto para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one. Para evitar este inconveniente para tamanos de bloque grandes, los bloques grandes, de acuerdo con una realizacion, pueden dividirse en pequenos sub-bloques cuadraticos o rectangulares de un tamano particular y se aplica una modelizacion de contexto separada para cada sub-bloque. Ademas, pueden usarse multiples conjuntos de modelos de contextos, donde uno de estos conjuntos de modelos de contexto se selecciona para cada sub-bloque basandose en un
5
10
15
20
25
30
35
40
45
50
55
60
analisis de las estadfsticas de sub-bloques anteriormente codificados. En una invencion de realizacion preferida, se usa el numero de coeficientes de transformada mayor de 2 (es decir, coeff_abs_level_minus_1>1) en el sub-bloque anteriormente codificado del mismo bloque para derivar el conjunto de modelos de contexto para el sub-bloque actual. Estas mejoras para modelizacion de contexto de los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one resultan en una codificacion mas eficiente de ambos elementos de sintaxis, en particular para tamanos de bloque grandes. En una realizacion preferida, el tamano de bloque de un sub-bloque es de 2x2. En otra realizacion preferida, el tamano de bloque de un sub-bloque es de 4x4.
En una primera etapa, un bloque mayor de un tamano predefinido puede dividirse en sub-bloques mas pequenos de un tamano particular. El proceso de codificacion de los niveles de coeficientes de transformada absolutos mapea el bloque cuadratico o rectangular de sub-bloques en un conjunto ordenado (vector) de sub-bloques usando una exploracion, donde diferentes exploraciones pueden usarse para diferentes bloques. En una realizacion preferida, los sub-bloques se procesan usando una exploracion en zigzag; los niveles de coeficientes de transformada dentro de un sub-bloque se procesan en una exploracion en zigzag inversa, es decir una exploracion que carga desde un coeficiente de transformada que pertenece a la frecuencia mas alta en direccion vertical y horizontal al coeficiente relacionado con la frecuencia mas baja en ambas direcciones. En otra realizacion preferida de la invencion, se usa una exploracion en zigzag invertida para codificar los sub-bloques y para codificar los niveles de coeficientes de transformada dentro de los sub-bloques. En otra realizacion preferida de la invencion, la misma exploracion adaptativa que se usa para codificar el mapa significativo (vease anteriormente) se usa para procesar el bloque de niveles de coeficientes de transformada completo.
La division de un bloque de transformada grande en sub-bloques evita el problema de usar solo un modelo de contexto para la mayona de las bins de un bloque de transformada grande. Dentro de los sub-bloques, puede usarse la modelizacion de contexto del estado de la tecnica (como se especifica en H.264) o un contexto fijo, dependiendo del tamano real de los sub-bloques. Adicionalmente, las estadfsticas (en terminos de modelizacion de probabilidad) para tales sub-bloques son diferentes de las estadfsticas de un bloque de transformada con el mismo tamano. Puede aprovecharse esta propiedad extendiendo el conjunto de modelos de contextos para los elementos de sintaxis coeff_abs_greater_one y coeff_abs_level_minus_one. Pueden proporcionarse multiples conjuntos de modelos de contextos y para cada sub-bloque puede seleccionarse uno de estos conjuntos de modelos de contexto basandose en las estadfsticas de sub-bloque anteriormente codificado en bloque de transformada actual o en bloques de transformada anteriormente codificados. En una realizacion preferida de la invencion, el conjunto seleccionado de modelos de contextos se deriva basandose en las estadfsticas de los sub-bloques anteriormente codificados en el mismo bloque. En otra realizacion preferida de la invencion, el conjunto seleccionado de modelos de contextos se deriva basandose en las estadfsticas del mismo sub-bloque de bloques anteriormente codificados. En una realizacion preferida, el numero de conjuntos de modelos de contexto se establece igual a 4, mientras en otra realizacion preferida, el numero de conjuntos de modelos de contexto se establece igual a 16. En una realizacion preferida, las estadfsticas que se usan para derivar el conjunto de modelos de contexto es el numero de niveles de coeficientes de transformada absolutos mayores de 2 en sub-bloques anteriormente codificados. En otra realizacion preferida, las estadfsticas que se usan para derivar el conjunto de modelos de contexto es la diferencia entre el numero de coeficientes significativos y el numero de niveles de coeficientes de transformada con un valor absoluto mayor de 2.
La codificacion del mapa significativo puede realizarse como se esboza a continuacion, a saber mediante una conmutacion adaptativa del orden de exploracion.
En una realizacion preferida, el orden de exploracion para codificar el mapa significativo se adapta conmutando entre dos patrones de exploracion predefinidos. La conmutacion entre los patrones de exploracion puede hacerse unicamente en ciertas posiciones de exploracion predefinidas. La decision de si el patron de exploracion se conmuta depende de los valores de los elementos de sintaxis de mapa significativo ya codificados/decodificados. En una realizacion preferida, ambos patrones de exploracion predefinidos especifican patrones de exploracion con sub- exploraciones diagonales, similar al patron de exploracion de la exploracion en zigzag. Los patrones de exploracion se ilustran en la Figura 8. Ambos patrones de exploracion 300 y 302 consisten en un numero de sub-exploraciones diagonales para diagonales desde la parte inferior izquierda hasta la parte superior derecha o viceversa. La exploracion de las sub-exploraciones diagonales (no ilustradas en la Figura) se hace desde la parte superior izquierda hasta la parte inferior derecha para ambos patrones de exploracion predefinidos. Pero la exploracion dentro de las sub-exploraciones diagonales es diferente (como se ilustra en la Figura). Para el primer patron de exploracion 300, las sub-exploraciones diagonales se exploran desde la parte inferior izquierda hasta la parte superior derecha (ilustracion izquierda de la Figura 8) y para el segundo patron de exploracion 302, las sub- exploraciones diagonales se exploran desde la parte superior derecha hasta la parte inferior izquierda (ilustracion derecha de la Figura 8). En una realizacion, la codificacion del mapa significativo se inicia con el segundo patron de exploracion. Mientras la codificacion/decodificacion de los elementos de sintaxis, el numero de valores de coeficientes de transformada significativos se cuenta mediante dos contadores ci y c2. El primer contador ci cuenta el numero de coeficientes de transformada significativos que se ubican en la parte inferior izquierda del bloque de transformada; es decir, este contador se aumenta en uno cuando un nivel de coeficiente de transformada
5
10
15
20
25
30
35
40
45
50
55
significativo se codifica/decodifica por el que la coordinada horizontal x dentro del bloque de transformada es menor que la coordinada vertical y. El segundo contador c2 cuenta el numero de coeficientes de transformada significativos que se ubican en parte superior derecha del bloque de transformada; es decir, este contador se aumenta en uno cuando un nivel de coeficiente de transformada significativo se codifica/decodifica por el que la coordinada horizontal x dentro del bloque de transformada es mayor que la coordinada vertical y. La adaptacion de los contadores puede realizarse mediante el asociador 252 en la Figura 7 y puede describirse mediante las siguientes formulas, conde t especifica el mdice de posicion de exploracion y ambos contadores se inicializan con cero:
,<* + «={'
-■ + r', (I),
% < y
de otra forma
imagen2
+ (rj,
^s(0.
x > y
de otra forma
Al final de cada sub-exploracion diagonal, el asociador 252 decide si se usa el primero o el segundo de los patrones de exploracion predefinidos 300, 302 para la siguiente sub-exploracion diagonal. Esta decision se basa en los valores de los contadores ci y c2. Cuando el contador para la parte inferior izquierda del bloque de transformada es mayor que el contador para la parte inferior izquierda, se usa el patron de exploracion que explora las sub- exploraciones diagonales desde la parte inferior izquierda hasta la parte superior derecha; de otra manera (el contador para la parte inferior izquierda del bloque de transformada es menor que o igual al contador para la parte inferior izquierda), se usa el patron de exploracion que explora las sub-exploraciones diagonales desde la parte superior derecha hasta la parte inferior izquierda. Esta decision puede expresarse mediante la siguiente formula:
, t parte superior derecha hacia parte inferior izquierda c . < c3i
f+i {parte inferior izquierda hacia parte superior derecha Ct > Cs
Deberia observarse que la realizacion descrita anteriormente de la invencion puede aplicarse facilmente a otros patrones de exploracion. Como un ejemplo, el patron de exploracion que se usa para macrobloques de campo en H.264 tambien puede descomponerse en sub-exploraciones. En una realizacion preferida adicional, un patron de exploracion dado pero arbitrario se descompone en sub-exploraciones. Para cada una de las sub-exploraciones, se definen dos patrones de exploracion: uno desde la parte inferior izquierda hasta la parte superior derecha y uno desde la parte superior derecha hasta la parte inferior izquierda (como direccion de exploracion basica). Ademas, se introducen dos contadores que cuentan el numero de coeficientes significativos en una primera parte (cerca del borde inferior izquierdo de un bloque de transformada) y una segunda parte (cerca del borde superior derecho de un bloque de transformada) dentro de las sub-exploraciones. Finalmente, al final de cada sub-exploracion se decide (basandose en los valores de los contadores), si la siguiente sub-exploracion se explora desde la parte inferior izquierda hasta la parte superior derecha o desde la parte superior derecha hasta la parte inferior izquierda.
A continuacion, se presentan realizaciones para como el decodificador por entropfa 250 modela los contextos.
En una realizacion preferida, la modelizacion de contexto para el significant_coeff_flag se hace como sigue. Para bloques de 4x4, la modelizacion de contexto se hace como se especifica en H.264. Para bloques de 8x8, el bloque de transformada se descompone en 16 sub-bloques de muestras de 2x2 y cada uno de estos sub-bloques se asocia con un contexto separado. Observese que este concepto tambien puede extenderse a tamanos de bloques mas grandes, un numero diferentes de sub-bloques y tambien sub-regiones no rectangulares como se ha descrito anteriormente.
En una realizacion preferida adicional, la seleccion de modelo de contexto para bloques de transformada mayores (por ejemplo, para bloques mayores de 8x8) se basa en el numero de coeficientes de transformada significativos ya codificados en una vecindad predefinida (dentro del bloque de transformada). En la Figura 9 se ilustra un ejemplo para la definicion de vecindades, que corresponde a una realizacion preferida de la invencion. Cruces con un cfrculo alrededor son vecinos disponibles, que siempre se tienen en cuenta para la evaluacion y cruces con un triangulo son vecinos que se evaluan dependiendo de la posicion de exploracion actual y direccion de exploracion actual:
• Si la posicion de exploracion actual se situa dentro de la esquina izquierda 304 de 2x2, se usa un modelo de contexto separado para cada posicion de exploracion (Figura 9, ilustracion izquierda)
• Si la posicion de exploracion actual no se situa dentro de la esquina izquierda de 2x2 y no se ubica 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 numero de coeficientes de transformada significativos en la vecindad de la posicion de exploracion actual "x" sin nada alrededor de la misma.
• Si la posicion de exploracion actual "x" sin nada alrededor de la misma se situa dentro de la primera fila del
5
10
15
20
25
30
35
40
45
50
55
60
bloque de transformada, entonces se usan los vecinos especificados en la ilustracion derecha de la Figura 10.
• Si la posicion de exploracion actual "x" se incluye en la primera columna del bloque, entonces se usan los vecinos especificados en la ilustracion izquierda de la Figura 10.
En otras palabras, el decodificador 250 puede configurarse para extraer secuencialmente los elementos de sintaxis de mapa significativo mediante decodificacion por entropfa adaptada al contexto mediante el uso de contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de mapa significativo dependiendo de un numero de posiciones en las que de acuerdo con los anteriormente extrafdos y asociados elementos de sintaxis de mapa significativo se situan coeficientes de transformada significativos, siendo las posiciones restringidas a unas que se situan en una vecindad de la posicion ("x" en el lado de la derecha de la Figura 9 y ambos lados de la Figura 10 y cualquiera de las posiciones marcadas del lado de la izquierda de la Figura 9) con las que se asocia el respectivo elemento de sintaxis de mapa significativo actual. Como se muestra, la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis actual, puede meramente comprender posiciones directamente adyacentes a o separadas de la posicion con la que se asocia el respectivo elemento de sintaxis de mapa significativo, en una posicion en direccion vertical y/o una posicion en la direccion horizontal en el maximo. Como alternativa, pueden tenerse en cuenta meramente posiciones directamente adyacentes al respectivo elemento de sintaxis actual. Simultaneamente, el tamano del bloque de coeficientes de transformada puede ser igual o mayor que posiciones de 8x8.
En una realizacion preferida, el modelo de contexto que se usa para codificar un significant_coeff_flag particular se elige dependiendo del numero de niveles de coeficientes de transformada significativos ya codificados en los vecindarios definidos. En este punto, el numero de modelos de contextos disponibles puede ser mas pequeno que el valor posible para el numero de niveles de coeficientes de transformada significativos en la vecindad definida. El codificador y decodificador pueden contener una tabla (o un mecanismo de mapeado diferente) para el mapeado del numero de niveles de coeficientes de transformada significativos en la vecindad definida en un mdice de modelo de contexto.
En una realizacion preferida adicional, el mdice de modelo de contexto elegido depende del numero de niveles de coeficientes de transformada significativos en la vecindad definida y de uno o mas parametros adicionales como el tipo de vecindad usada o la posicion de exploracion o un valor cuantificado para la posicion de exploracion.
Para la codificacion del last_significant_coeff_flag, puede usarse una modelizacion de contexto similar como para el significant_coeff_flag. Sin embargo, la medida de probabilidad para el last_significant_coeff_flag depende principalmente de una distancia de la posicion de exploracion actual a la esquina superior izquierda del bloque de transformada. En una realizacion preferida, el modelo de contexto para codificar el last_significant_coeff_flag se elige basandose en la exploracion diagonal en la que se situa la posicion de exploracion actual (es decir, se elige basandose en x + y, donde x e y representan la ubicacion horizontal y vertical de una posicion de exploracion dentro del bloque de transformada, respectivamente, en caso de la realizacion anterior de la Figura 8 o basandose en cuantos sub-exploraciones entre la sub-exploracion actual y la posicion DC de arriba a la izquierda (tal como mdice de sub-exploracion menos 1)). En una realizacion preferida de la invencion, se usa el mismo contexto para diferentes valores de x + y. La medida de distancia es decir x + y o el mdice de sub-exploracion se mapea en el conjunto de modelos de contextos en un cierto modo (por ejemplo cuantificando x + y o el mdice de sub- exploracion), donde el numero de valores posibles para la medida de distancia es mayor que el numero de modelos de contextos disponibles para codificar el last_significant_coeff_flag.
En una realizacion preferida, se usan diferentes esquemas de modelizacion de contexto para diferentes tamanos de bloques de transformada.
A continuacion se describe la codificacion de los niveles de coeficientes de transformada absolutos.
En una realizacion preferida, el tamano de sub-bloques es 2x2 y se deshabilita la modelizacion de contexto dentro de los sub-bloques, es decir, un unico modelo de contexto se usa para todos los coeficientes de transformada dentro de un sub-bloque de 2x2. Unicamente pueden ser afectados bloques mayores de 2x2 por el proceso de subdivision. En una realizacion preferida adicional de esta invencion, el tamano de los sub-bloques es 4x4 y la modelizacion de contexto dentro de los sub-bloques se hace como en H.264; unicamente bloques mayores de 4x4 son afectados por el proceso de subdivision.
Para el orden de exploracion, en una realizacion preferida, se emplea una exploracion en zigzag 320 para la exploracion de los sub-bloques 322 de un bloque de transformada 256 es decir a lo largo una direccion de frecuencia sustancialmente en aumento, mientras los coeficientes de transformada dentro de un sub-bloque se exploran en una exploracion en zigzag inversa 326 (Figura 11). En una realizacion preferida adicional de la invencion, tanto los sub-bloques 322 como los niveles de coeficientes de transformada dentro de los sub-bloques 322 se exploran usando una exploracion en zigzag inversa (como la ilustracion en la Figura 11, donde la flecha 320
5
10
15
20
25
30
35
40
45
50
55
60
es invertida). En otra realizacion preferida, se usa la misma exploracion adaptativa como para codificar el mapa significativo para procesar los niveles de coeficientes de transformada, donde la decision de adaptacion en la misma, de modo que se usa exactamente la misma exploracion para tanto la codificacion del mapa significativo como la codificacion del nivel de valor de coeficiente de transformadas. Debena observarse que la propia exploracion normalmente no depende de las estadfsticas seleccionadas o el numero de conjuntos de modelos de contexto o de la decision para habilitar o deshabilitar la modelizacion de contexto dentro de los sub-bloques.
A continuacion se describen realizaciones para modelizacion de contexto para los niveles de coeficientes.
En una realizacion preferida, la modelizacion de contexto para un sub-bloque es similar a la modelizacion de contexto para bloques de 4x4 en H.264 como se ha descrito anteriormente. El numero de modelos de contextos que se usa para codificar el elemento de sintaxis coeff_abs_greater_one y la primera bin del elemento de sintaxis coeff_abs_level_minus_one es igual a cinco, con, por ejemplo, el uso de diferentes conjuntos de modelos de contextos para los dos elementos de sintaxis. En una realizacion preferida adicional, la modelizacion de contexto dentro de los sub-bloques se deshabilita y unicamente se usa un modelo de contexto predefinido dentro de cada sub-bloque. Para ambas realizaciones, se selecciona el conjunto de modelos de contexto para un sub-bloque 322 entre un numero predefinido de conjuntos de modelos de contexto. La seleccion del conjunto de modelos de contexto para un sub-bloque 322 se basa en ciertas estadfsticas de uno o mas sub-bloques ya codificados. En una realizacion preferida, las estadfsticas usadas para seleccionar un conjunto de modelos de contexto para un sub- bloque se toman de uno o mas sub-bloques ya codificados en el mismo bloque 256. A continuacion se describe como se usan las estadfsticas para derivar el seleccionado conjunto de modelos de contexto. En una realizacion preferida adicional, las estadfsticas se toman del mismo sub-bloque en un bloque anteriormente codificado con el mismo tamano de bloque tales como bloque 40a y 40a' en la Figura 2b. En otra realizacion preferida de la invencion, las estadfsticas se toman de un sub-bloque de vecindad definido en el mismo bloque, que depende de la exploracion seleccionada para los sub-bloques. Tambien, es importante observar que el origen de las estadfsticas debena ser independiente del orden de exploracion y como se crean las estadfsticas para derivar el conjunto de modelos de contexto.
En una realizacion preferida, el numero de conjuntos de modelos de contexto es igual a cuatro, mientras en otra realizacion preferida, el numero de conjuntos de modelos de contexto es igual a 16. Comunmente, el numero de conjuntos de modelos de contexto no es fijo y debena adaptarse de acuerdo con las estadfsticas seleccionadas. En una realizacion preferida, el conjunto de modelos de contexto para un sub-bloque 322 se deriva basandose en el numero de niveles de coeficientes de transformada absolutos mayores de dos en uno o mas sub-bloques ya
codificados. Un mdice para el conjunto de modelos de contexto se determina mapeando el numero de niveles de
coeficientes de transformada absolutos mayores de dos en el sub-bloque de referencia o sub-bloques de referencia en un conjunto de indices de modelo de contexto predefinidos. Este mapeado pueden implementarse cuantificandose el numero de niveles de coeficientes de transformada absolutos mayores de dos o mediante una tabla predefinida. En una realizacion preferida adicional, el conjunto de modelos de contexto para un sub-bloque se deriva basandose en la diferencia entre el numero de niveles de coeficientes de transformada significativos y el numero de niveles de coeficientes de transformada absolutos mayores de dos en uno o mas sub-bloques ya
codificados. Un mdice para el conjunto de modelos de contexto se determina mapeando esta diferencia en un
conjunto de indices de modelo de contexto predefinidos. Este mapeado puede implementarse cuantificando la diferencia entre el numero de niveles de coeficientes de transformada significativos y el numero de niveles de coeficientes de transformada absolutos mayores de dos o mediante una tabla predefinida.
En otra realizacion preferida, cuando se usa la misma exploracion adaptativa para el procesamiento de los niveles de coeficientes de transformada absolutos y el mapa significativo, las estadfsticas parciales de los sub-bloques en los mismos bloques pueden usarse para derivar el conjunto de modelos de contexto para el sub-bloque actual o, si disponible, pueden usarse las estadfsticas de sub-bloques anteriormente codificados en bloques de transformada anteriormente codificados. Eso significa que, por ejemplo, en lugar de usar el numero absoluto de niveles de coeficientes de transformada absolutos mayores de dos en el(los) sub-bloque(s) para derivar el modelo de contexto, se usa el numero de niveles de coeficientes de transformada absolutos ya codificados mayores de dos multiplicado por la relacion del numero de coeficientes de transformada en el(los) sub-bloque(s) y el numero de coeficientes de transformada ya codificados en el(los) sub-bloque(s); o en lugar de usar la diferencia entre el numero de niveles de coeficientes de transformada significativos y el numero de niveles de coeficientes de transformada absolutos mayores de dos en el(los) sub-bloque(s), se usa la diferencia entre el numero de niveles de coeficientes de transformada significativos ya codificados y el numero de niveles de coeficientes de transformada absolutos ya codificados mayores de dos multiplicados por la relacion del numero de coeficientes de transformada en el(los) sub- bloque^) y el numero de coeficientes de transformada ya codificados en el(los) sub-bloque(s).
Para la modelizacion de contexto dentro de los sub-bloques, puede emplearse basicamente la inversa de la modelizacion de contexto del estado de la tecnica para H.264. Eso significa que, cuando se usa la misma exploracion adaptativa para el procesamiento de los niveles de coeficientes de transformada absolutos y el mapa significativo, los niveles de coeficientes de transformada se codifican basicamente en un orden de exploracion
5
10
15
20
25
30
35
40
45
50
55
60
avanzado, en lugar de un orden de exploracion inverso como en H.264, Por lo tanto, la conmutacion de modelo de contexto tiene que adaptarse en consecuencia. De acuerdo con una realizacion, la codificacion de los coeficientes de transformada niveles se inicia con un primer modelo de contexto para 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 dos elementos de sintaxis coeff_abs_greater_one iguales a cero se han codificado desde la ultima conmutacion de modelo de contexto. En otras palabras, la seleccion de contexto depende del numero de elementos de sintaxis ya codificados coeff_abs_greater_one mayores de cero en orden de exploracion. El numero de modelos de contextos para coeff_abs_greater_one y para coeff_abs_level_minus_one pueden ser los mismos que en H.264.
Por lo tanto, las realizaciones anteriores pueden aplicarse en el campo de procesamiento digital de senales y, en particular, a decodificadores y codificadores de imagen y video. En particular, las anteriores realizaciones habilitan una codificacion de elementos de sintaxis relacionados con coeficientes de transformada en codecs de imagen y video basados en bloques, con una mejorada modelizacion de contexto para elementos de sintaxis relacionados con coeficientes de transformada que se codifican con un codificador por entropfa que emplea una probabilidad modelizacion. En comparacion con el estado de la tecnica, se logra una eficiencia de codificacion mejorada en particular para grandes bloques de transformada.
Aunque se han descrito algunos aspectos en el contexto de un aparato, esta claro que estos aspectos tambien representan una descripcion del correspondiente metodo, donde un bloque o dispositivo corresponde a una etapa de metodo o una caractenstica de una etapa de metodo. Analogamente, aspectos descritos en el contexto de una etapa de metodo tambien representan una descripcion de un correspondiente bloque o artfculo o caractenstica de un correspondiente aparato.
La senal codificada inventiva para representar el bloque de transformada o el mapa significativo, respectivamente, puede almacenarse en un medio de almacenamiento digital o puede transmitirse en un medio de transmision tales como un medio de transmision inalambrica o un medio de transmision cableado tal como internet.
Dependiendo de ciertos requisitos de implementacion, realizaciones de la invencion pueden implementarse en hardware o en software. La implementacion 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 tienen senales de control legibles electronicamente almacenadas en los mismos, que cooperan (o son capaces de cooperar) con un sistema informatico programable de tal forma que se realiza el respectivo metodo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas realizaciones de acuerdo con la invencion comprenden una portadora de datos que tienen senales de control legibles electronicamente, que son capaces de cooperar con un sistema informatico programable, de tal forma que se realiza uno de los metodos descritos en este documento.
En general, las realizaciones de la presente invencion pueden implementarse como un producto de programa informatico con un codigo de programa, estando el codigo de programa operativo para realizar uno de los metodos cuando el producto de programa informatico se ejecuta en un ordenador. El codigo de programa puede por ejemplo almacenarse en un soporte legible por maquina.
Otras realizaciones comprenden el programa informatico para realizar uno de los metodos descritos en el presente documento, almacenado en un soporte legible por maquina.
En otras palabras, una realizacion del metodo inventivo es, por lo tanto, un programa informatico que tiene un codigo de programa para realizar uno de los metodos descritos en el presente documento, cuando el programa informatico se ejecuta en un ordenador.
Una realizacion adicional de los metodos inventivos es, por lo tanto, una portadora de datos (o un medio de almacenamiento digital o un medio legible por ordenador) que comprende, grabada en la mismo, el programa informatico para realizar uno de los metodos descritos en el presente documento.
Una realizacion adicional del metodo inventivo es, por lo tanto, un flujo de datos o una secuencia de senales que representan el programa informatico para realizar uno de los metodos descritos en el presente documento. El flujo de datos o la secuencia de senales por ejemplo puede configurarse para transferirse a traves de una conexion de comunicacion de datos, por ejemplo a traves de la Internet.
Una realizacion adicional comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo de logica programable, configurado para o adaptado para realizar uno de los metodos descritos en el presente documento.
Una realizacion adicional comprende un ordenador que tiene instalado en el mismo el programa informatico para
5
10
15
20
25
30
35
40
45
50
55
60
realizar uno de los metodos descritos en el presente documento.
En algunas realizaciones, un dispositivo de logica programable (por ejemplo un campo de matriz de puertas programables) puede usarse para realizar alguna o todas de las funcionalidades de los metodos descritos en este documento. En algunas realizaciones, un campo de matriz de puertas programables puede cooperar con un microprocesador para realizar uno de los metodos descritos en el presente documento. En general, los metodos preferentemente se realizan mediante cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas para los principios de la presente invencion. Se entiende que modificaciones y variaciones de las disposiciones y los detalles descritos en este documento seran evidentes a otros expertos en la materia. La intencion, por lo tanto, es estar limitado unicamente por el alcance de las reivindicaciones de patente inminentes y no por los detalles espedficos presentados por medio de la descripcion y explicacion de las realizaciones en este documento.
Una realizacion proporciona un aparato para decodificar un bloque de coeficientes de transformada, que comprende: un decodificador 250 configurado para extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extraccion de los valores de los coeficientes de transformada significativos, extraer secuencialmente los valores mediante decodificacion por entropfa adaptable al contexto; y un asociador 252 configurado para asociar secuencialmente los valores extrafdos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, de acuerdo con el cual el bloque de coeficientes de transformada se explora en sub- bloques 322 del bloque de coeficientes de transformada 256 usando un orden de exploracion de sub-bloques 320 con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub-exploracion de posicion 324, en el que el decodificador 250 se configura para usar, en decodificacion por entropfa adaptable al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada decodificado anteriormente de igual tamano.
De acuerdo con un aspecto del aparato, el decodificador 250 se configura para extraer secuencialmente los elementos de sintaxis de primer tipo mediante la decodificacion por entropfa adaptada al contexto mediante el uso de contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en una vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo.
De acuerdo con otro aspecto del aparato, el decodificador se configura adicionalmente de tal forma que la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo meramente comprende posiciones directamente adyacentes a, o posiciones directamente adyacentes a o separadas de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo, en una posicion en direccion vertical y/o una posicion en la direccion horizontal en el maximo, en el que el tamano del reloj de coeficiente de transformada es igual a o mayor de 8x8 posiciones.
De acuerdo con otro aspecto del aparato, el decodificador se configura adicionalmente para mapear el numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo, a un mdice de contexto de un conjunto predeterminado de posibles indices de contexto en ponderacion con un numero de posiciones disponibles en la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo.
Otra realizacion proporciona un aparato para la decodificacion de un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada de un flujo de datos que comprende: un decodificador 250 configurado para extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extraccion del mapa significativo, extraer secuencialmente elementos de sintaxis de primer tipo del flujo de datos mediante decodificacion por entropfa adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo; y un asociador 250
5
10
15
20
25
30
35
40
45
50
55
60
configurado para asociar secuencialmente los elementos de sintaxis de primer tipo ex^dos secuencialmente a las posiciones del bloque de coeficientes de transformada en un orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada, en el que el decodificador se configura para usar, en decodificacion por entropfa adaptada al contexto los elementos de sintaxis de primer tipo, contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en una vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.
De acuerdo con un aspecto del aparato, el decodificador 250 se configura adicionalmente de tal forma que la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo meramente comprende posiciones directamente adyacentes a, o posiciones directamente adyacentes a o separadas de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo, en una posicion en direccion vertical y/o una posicion en la direccion horizontal en el maximo, en el que el tamano del reloj de coeficiente de transformada es igual a o mayor de 8x8 posiciones.
Otra realizacion proporciona un decodificador basado en transformada configurado para decodificar un bloque de coeficientes de transformada usando un aparato 150 para la decodificacion de un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos y para realizar 152 una transformada desde dominio espectral a dominio espacial al bloque de coeficientes de transformada.
Otra realizacion proporciona un decodificador predictivo que comprende: un decodificador basado en transformada 150, 152 configurado para decodificar un bloque de coeficientes de transformada usando un aparato para la decodificacion de un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, de acuerdo con cualquiera de las reivindicaciones 1 a 11, y para realizar una transformada desde dominio espectral a dominio espacial al bloque de coeficientes de transformada para obtener un bloque residual; un predictor 156 configurado para proporcionar una prediccion para un bloque de una matriz de muestras de informacion que presenta una senal de informacion muestreada espacialmente; y un combinador 154 configurado para combinar la prediccion del bloque y el bloque residual para reconstruir la matriz de muestras de informacion.
Otra realizacion proporciona un aparato para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada en un flujo de datos, estando el aparato configurado para codificar secuencialmente elementos de sintaxis de primer tipo en el flujo de datos mediante codificacion por entropfa, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada, al menos, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, en el que el aparato se configura adicionalmente para los elementos de sintaxis de primer tipo en el flujo de datos en un orden de exploracion entre las posiciones del bloque de coeficientes de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicadas mediante elementos de sintaxis de primer tipo anteriormente codificados.
Otra realizacion proporciona un aparato para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada en un flujo de datos, estando el aparato configurado para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada en el flujo de datos, con, en la codificacion del mapa significativo, codificar secuencialmente elementos de sintaxis de primer tipo en el flujo de datos mediante codificacion por entropfa adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, en el que el aparato se configura adicionalmente para secuencialmente codificar los elementos de sintaxis de primer tipo en el flujo de datos en un orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada, en el que el aparato se configura para usar, en codificacion por entropfa adaptada al contexto cada uno de los elementos de sintaxis de primer tipo, contextos que se seleccionan individualmente para los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que se situan coeficientes de transformada significativos y con las que se asocian los elementos de sintaxis de primer tipo anteriormente codificados, en una vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.
Otra realizacion proporciona un metodo para la decodificacion de un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada de un flujo de datos, comprendiendo el metodo: extraer secuencialmente elementos de sintaxis de primer tipo del flujo de datos, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada, al menos, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo
5
10
15
20
25
30
35
40
45
50
55
60
o insignificativo; y asociar secuencialmente los elementos de sintaxis de primer tipo ex^dos secuencialmente a las posiciones del bloque de coeficientes de transformada en un orden de exploracion entre las posiciones del bloque de coeficientes de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicados mediante los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados.
Otra realizacion proporciona un metodo para la decodificacion de un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada de un flujo de datos, que comprende: extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extraccion del mapa significativo, extraer secuencialmente elementos de sintaxis de primer tipo del flujo de datos mediante decodificacion por entropfa adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo; y asociar secuencialmente los elementos de sintaxis de primer tipo extrafdos secuencialmente a las posiciones del bloque de coeficientes de transformada en un orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada, en el que, en decodificacion por entropfa adaptada al contexto los elementos de sintaxis de primer tipo, se usan contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en una vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.
Otra realizacion proporciona un metodo para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada en un flujo de datos,
comprendiendo el metodo: codificar secuencialmente elementos de sintaxis de primer tipo en el flujo de datos mediante codificacion por entropfa, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada, al menos, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, con la codificacion de los elementos de sintaxis de primer tipo en el flujo de datos en un orden de exploracion entre las posiciones del bloque de coeficientes de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicadas mediante elementos de sintaxis de primer tipo anteriormente codificados.
Otra realizacion proporciona un metodo para codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada en un flujo de datos,
comprendiendo el metodo: codificar un mapa significativo que indica posiciones de coeficientes de transformada
significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada en el flujo de datos, con, en la codificacion del mapa significativo, codificar secuencialmente elementos de sintaxis de primer tipo en el flujo de datos mediante codificacion por entropfa adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, en el que la codificacion
secuencialmente de los elementos de sintaxis de primer tipo en el flujo de datos se realiza en un orden de
exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada, y en codificacion por entropfa adaptada al contexto cada uno de los elementos de sintaxis de primer tipo, se usan contextos que se seleccionan individualmente para los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que se situan coeficientes de transformada significativos y con las que se asocian los elementos de sintaxis de primer tipo anteriormente codificados, en una vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.
Otra realizacion proporciona un flujo de datos que ha codificado en el mismo un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada, en el que elementos de sintaxis de primer tipo se codifican secuencialmente en el flujo de datos mediante codificacion por entropfa, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada, al menos, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, en el que los elementos de sintaxis de primer tipo se codifican en el flujo de datos en un orden de exploracion entre las posiciones del bloque de coeficientes de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicados mediante elementos de sintaxis de primer tipo anteriormente codificados.
Otra realizacion proporciona un flujo de datos que ha codificado en el mismo mapa significativo que indica posiciones de coeficientes de transformada significativos dentro de un bloque de coeficientes de transformada, en el que un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada, seguido por los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada se codifican en el flujo de datos, en el que, dentro del mapa significativo, los
elementos de sintaxis de primer tipo se codifican secuencialmente en el flujo de datos mediante codificacion por entrc^a adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo, en el que los elementos de sintaxis de primer tipo se codifican 5 secuencialmente en el flujo de datos en un orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada y los elementos de sintaxis de primer tipo se codifican por entropfa adaptados al contexto en el flujo de datos usando contextos que se seleccionan individualmente para los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que se situan coeficientes de transformada significativos y con las que se asocian los elementos de sintaxis de primer tipo anteriores codificados en el flujo de datos, en una 10 vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.

Claims (17)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Aparato para decodificar un bloque de coeficientes de transformada, que comprende:
    un decodificador (250) configurado para extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extraccion de los valores de los coeficientes de transformada significativos, extraer secuencialmente los valores mediante decodificacion por entropfa adaptable al contexto; y un asociador (252) configurado para asociar secuencialmente los valores extrafdos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques (322) del bloque de coeficientes de transformada (256) usando un orden de exploracion de sub-bloques (320) con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub-exploracion de posicion (324), en el que el decodificador (250) se configura para usar, en decodificacion por entropfa adaptable al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, en el que el decodificador (250) se configura de tal forma que la seleccion del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o de tal forma que la seleccion del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada decodificado anteriormente de igual tamano.
  2. 2. Aparato de acuerdo con la reivindicacion 1. en el que el decodificador se configura de tal forma que el numero de contextos de la pluralidad de conjuntos de contextos es mayor de uno, y configurado para, en decodificacion por entropfa adaptable al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos dentro de un sub-bloque usando el conjunto seleccionado del numero de contextos para el respectivo sub-bloque, asignar de forma unica los contextos del conjunto seleccionado del numero de contextos a las posiciones dentro del respectivo sub-bloque.
  3. 3. Aparato de acuerdo con la reivindicacion 1 o 2 en el que el asociador (252) se configura de tal forma que el orden de exploracion de sub-bloques conduce en zigzag desde un sub-bloque que incluye una posicion de una frecuencia mas baja en una direccion vertical y una direccion horizontal a un sub-bloque que incluye una posicion de una frecuencia mas alta tanto en las direcciones vertical como horizontal, mientras el orden de sub-exploracion de posicion conduce, en cada sub-bloque, en zigzag desde una posicion dentro del respectivo sub-bloque, relacionada con una frecuencia mas alta en una direccion vertical y una direccion horizontal a una posicion del respectivo sub- bloque relacionada con una frecuencia mas baja tanto en las direcciones vertical como horizontal.
  4. 4. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 3, en el que el decodificador se configura para, en la extraccion del mapa significativo del flujo de datos,
    extraer secuencialmente elementos de sintaxis de primer tipo del flujo de datos, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada (256), al menos, en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo;
    el asociador (252) se configura para asociar secuencialmente los elementos de sintaxis de primer tipo extrafdos secuencialmente a las posiciones del bloque de coeficientes de transformada en un orden de exploracion entre las posiciones del bloque de coeficientes de transformada, que depende de las posiciones de los coeficientes de transformada significativos indicados mediante los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados.
  5. 5. Aparato de acuerdo con la reivindicacion 4, en el que el decodificador (250) se configura adicionalmente para reconocer, basandose en una informacion en el flujo de datos, e independiente de un numero de posiciones de los coeficientes de transformada insignificativos indicados mediante los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados, en cuanto a si en una posicion con la que se asocia un elemento de sintaxis de primer tipo extrafdo en la actualidad, que indica que en esta posicion se situa un coeficiente de transformada significativo, se situa un ultimo coeficiente de transformada significativo en el bloque de coeficientes de transformada.
  6. 6. Aparato de acuerdo con la reivindicacion 4 o 5, en el que el decodificador (250) adicionalmente se configura para extraer, entre elementos de sintaxis de primer tipo que indican que en la respectiva posicion asociada se situa un coeficiente de transformada significativo, y elementos de sintaxis de primer tipo inmediatamente posteriores,
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    elementos de sintaxis de segundo tipo desde el flujo de bits que indica, para las posiciones asociadas en las que se situa un coeficiente de transformada significativo, en cuanto a si la respectiva posicion asociada es el ultimo coeficiente de transformada significativo en el bloque de coeficientes de transformada.
  7. 7. Aparato de acuerdo con cualquiera de las reivindicaciones 4 a 6, en el que el decodificador (250) se configura adicionalmente para extraer en serie, despues de la extraccion de todos los elementos de sintaxis de primer tipo del bloque de coeficientes de transformada, valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada del flujo de datos mediante decodificacion por entropfa adaptable al contexto, en el que el asociador (252) se configura para asociar secuencialmente los valores extrafdos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, de acuerdo con el cual el bloque de coeficientes de transformada se explora en sub-bloques (322) del bloque de coeficientes de transformada (256) usando un orden de exploracion de sub-bloques (320) con, complementaria, exploracion de posiciones de los coeficientes de transformada de los sub-bloques (322) en un orden de sub-exploracion de posicion (324), en el que el decodificador se configura para usar, en decodificacion por entropfa adaptable al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada dentro de un sub- bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub- bloques (320), o los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada decodificado anteriormente de igual tamano.
  8. 8. Aparato de acuerdo con cualquiera de las reivindicaciones 4 a 7, en el que el asociador (252) se configura adicionalmente para asociar secuencialmente los elementos de sintaxis de primer tipo extrafdos secuencialmente a las posiciones del bloque de coeficientes de transformada a lo largo de una secuencia de sub-trayectorias que se extiende entre un primer par de lados adyacentes del bloque de coeficientes de transformada a lo largo del que se colocan posiciones de una frecuencia mas baja en una direccion horizontal y posiciones de una frecuencia mas alta en una direccion vertical, respectivamente, y un segundo par de lados adyacentes del bloque de coeficientes de transformada a lo largo del que se colocan posiciones de una frecuencia mas baja en la direccion vertical y posiciones de una frecuencia mas alta en la direccion horizontal, respectivamente, con las sub-trayectorias teniendo una distancia en aumento desde una posicion de la frecuencia mas baja tanto en las direcciones vertical como horizontal y en el que el asociador (252) se configura para determinar una direccion (300, 302) a lo largo de la que los elementos de sintaxis de primer tipo extrafdos secuencialmente se asocian a las posiciones del bloque de coeficientes de transformada, basandose en las posiciones de los coeficientes de transformada significativos dentro de las sub-exploraciones anteriores.
  9. 9. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 8, en el que
    el decodificador (250) se configura para, en la extraccion del mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada, extraer secuencialmente elementos de sintaxis de primer tipo del flujo de datos mediante decodificacion por entropfa adaptable al contexto, indicando los elementos de sintaxis de primer tipo, para posiciones asociadas dentro del bloque de coeficientes de transformada en cuanto a si en la respectiva posicion se situa un coeficiente de transformada significativo o insignificativo; y
    el asociador (250) se configura para asociar secuencialmente los elementos de sintaxis de primer tipo extrafdos secuencialmente a las posiciones del bloque de coeficientes de transformada en el orden de exploracion predeterminado entre las posiciones del bloque de coeficientes de transformada,
    en el que el decodificador se configura para usar, en decodificacion por entropfa adaptada al contexto los elementos de sintaxis de primer tipo, contextos que se seleccionan individualmente para cada uno de los elementos de sintaxis de primer tipo dependiendo de un numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en una vecindad de la posicion con la que se asocia un elemento de sintaxis de primer tipo actual.
  10. 10. Aparato de acuerdo con la reivindicacion 9, en el que el decodificador (250) se configura adicionalmente para mapear el numero de posiciones en las que de acuerdo con los elementos de sintaxis de primer tipo anteriormente extrafdos y asociados se situan coeficientes de transformada significativos, en la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo, a un mdice de contexto de un conjunto predeterminado de posibles indices de contexto en ponderacion con un numero de posiciones disponibles en la vecindad de la posicion con la que se asocia el respectivo elemento de sintaxis de primer tipo.
  11. 11. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 10, en el que el bloque de coeficientes de transformada se refiere a un contenido de mapas de profundidad.
  12. 12. Aparato para codificar un bloque de coeficientes de transformada, configurado para codificar un mapa
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada en un flujo de datos, con, en la extraccion de los valores de los coeficientes de transformada significativos, codificar secuencialmente los valores mediante codificacion por entropfa adaptable al contexto, en el que el aparato se configura para codificar los valores en el flujo de datos en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques del bloque de coeficientes de transformada usando un orden de exploracion de sub-bloques con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub-exploracion de posicion, en el que el aparato se configura adicionalmente para usar, en codificacion por entropfa adaptada al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, en el que el aparato se configura de tal forma que la seleccion del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o de tal forma que la seleccion del conjunto seleccionado que se realiza para cada sub-bloque depende de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada codificado anteriormente de igual tamano.
  13. 13. Aparato de acuerdo con la reivindicacion 12, en el que el bloque de coeficientes de transformada se refiere a un contenido de mapas de profundidad.
  14. 14. Metodo para decodificar un bloque de coeficientes de transformada, que comprende:
    extraer un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada de un flujo de datos, con, en la extraccion de los valores de los coeficientes de transformada significativos, extraer secuencialmente los valores mediante decodificacion por entropfa adaptable al contexto; y
    asociar secuencialmente los valores extrafdos secuencialmente con las posiciones de los coeficientes de transformada significativos en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques del bloque de coeficientes de transformada usando un orden de exploracion de sub- bloques con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub- bloques en un orden de sub-exploracion de posicion,
    en el que, en decodificacion por entropfa adaptable al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, se usa un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada decodificado anteriormente de igual tamano.
  15. 15. Metodo para codificar un bloque de coeficientes de transformada, que comprende
    codificar un mapa significativo que indica posiciones de coeficientes de transformada significativos dentro del bloque de coeficientes de transformada y a continuacion los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada en un flujo de datos, con, en la codificacion de los valores de los coeficientes de transformada significativos, codificar secuencialmente los valores mediante codificacion por entropfa adaptable al contexto, en el que la codificacion de valores en el flujo de datos se realiza en un orden de exploracion de coeficientes predeterminado entre las posiciones del bloque de coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques del bloque de coeficientes de transformada usando un orden de exploracion de sub-bloques con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub- exploracion de posicion, en el que en codificacion por entropfa adaptada al contexto secuencialmente los valores de los valores de coeficientes de transformada significativos, se usa un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de contextos, siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada de un sub-bloque co-ubicado en un bloque de coeficientes de transformada codificado anteriormente de igual tamano.
  16. 16. Flujo de datos que comprende una codificacion de un mapa significativo que indica posiciones de coeficientes de
    transformada significativos dentro del bloque de coeficientes de transformada, seguido por los valores de los coeficientes de transformada significativos dentro del bloque de coeficientes de transformada, en el que los valores de los coeficientes de transformada significativos se codifican secuencialmente en el flujo de datos mediante codificacion por entropfa adaptable al contexto en un orden de exploracion de coeficientes predeterminado entre las 5 posiciones del bloque de coeficientes de transformada, caracterizado por que el bloque de coeficientes de transformada se explora en sub-bloques del bloque de coeficientes de transformada usando un orden de exploracion de sub-bloques con, complementaria, exploracion de posiciones de los coeficientes de transformada dentro de los sub-bloques en un orden de sub-exploracion de posicion, en el que los valores de los valores de coeficientes de transformada significativos se codifican por entropfa adaptados al contexto secuencialmente en el flujo de datos
    10 usando un conjunto seleccionado de un numero de contextos de una pluralidad de conjuntos de un numero de
    contextos, siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada dentro de un sub-bloque del bloque de coeficientes de transformada, que ya se ha atravesado en el orden de exploracion de sub-bloques, o siendo la seleccion del conjunto seleccionado realizada para cada sub-bloque dependiendo de los valores de los coeficientes de transformada de un sub-bloque co-ubicado 15 en un bloque de coeficientes de transformada codificado anteriormente de igual tamano.
  17. 17. Flujo de datos de acuerdo con la reivindicacion 16, en el que el bloque de coeficientes de transformada se refiere a un contenido de mapas de profundidad.
    20 18. Medio de almacenamiento digital legible por ordenador que tiene almacenado en el mismo un programa
    informatico que tiene un codigo de programa para realizar, cuando se ejecuta en un ordenador, un metodo de
    acuerdo con la reivindicacion 14 o 15.
ES13188796.0T 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada Active ES2620301T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
WOPCT/EP2010/054822 2010-04-13
EP2010054822 2010-04-13
EP10159766 2010-04-13
EP10159766 2010-04-13

Publications (1)

Publication Number Publication Date
ES2620301T3 true ES2620301T3 (es) 2017-06-28

Family

ID=43989787

Family Applications (8)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES11713791.9T Active ES2645159T3 (es) 2010-04-13 2011-04-11 Codificación de mapas significativos y bloques de coeficientes de transformada

Family Applications After (6)

Application Number Title Priority Date Filing Date
ES18211098T Active ES2825200T3 (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
ES18195954T Active ES2952881T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES18185240T Active ES2784509T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES18211094T Active ES2823549T3 (es) 2010-04-13 2011-04-11 Codificación de mapas de significado y bloques de coeficiente de transformada
ES20150622T Active ES2912048T3 (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) EP3410716B1 (es)
JP (12) JP2013524707A (es)
KR (14) KR102023566B1 (es)
CN (24) CN113556563B (es)
BR (3) BR112012026388B1 (es)
CY (1) CY1119639T1 (es)
DK (8) DK3471416T3 (es)
ES (8) ES2645159T3 (es)
FI (1) FI3435674T3 (es)
HR (2) HRP20220743T1 (es)
HU (8) HUE040296T2 (es)
LT (3) LT2559244T (es)
NO (1) NO2559244T3 (es)
PL (8) PL3244612T3 (es)
PT (8) PT3487179T (es)
RS (3) RS56512B1 (es)
SI (3) SI2559244T1 (es)
TR (1) TR201815695T4 (es)
TW (10) TWI781435B (es)
WO (1) WO2011128303A2 (es)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556563B (zh) 2010-04-13 2024-08-20 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
CA2857849C (en) * 2010-04-23 2020-02-11 Soo Mi Oh Apparatus and method for encoding a moving picture
US9793921B2 (en) 2010-05-12 2017-10-17 Thomson Licensing Dtv Methods and apparatus for unified significance map coding
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
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
US9609351B2 (en) 2010-12-14 2017-03-28 M&K Holdings Inc. Apparatus for decoding 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
US9338449B2 (en) * 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in 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
JP2014523710A (ja) * 2011-07-22 2014-09-11 モトローラ モビリティ エルエルシー ビデオ・コーディングにおける直交形状変換をスキャンするためのデバイスおよび方法
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
EP3621206B1 (en) * 2011-10-24 2024-06-05 Velos Media International Limited Significant map decoding using partition selection
ES2868087T3 (es) 2011-10-31 2021-10-21 Samsung Electronics Co Ltd Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
IN2014CN03598A (es) * 2011-11-04 2015-07-31 Sharp Kk
WO2013063800A1 (en) * 2011-11-04 2013-05-10 Mediatek Inc. Methods and apparatuses of solving mdcs parsing issue
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
JP6120490B2 (ja) 2011-11-07 2017-04-26 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR20130050404A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
KR20130050405A (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 엘지전자 주식회사 변환 계수 재정렬 방법 및 이를 이용하는 장치
US9350996B2 (en) 2011-12-20 2016-05-24 Google Technology Holdings LLC Method and apparatus for last coefficient indexing for high efficiency video coding
CN107277552B (zh) * 2011-12-21 2019-10-29 太阳专利托管公司 图像编码方法及装置、图像解码方法及装置
EP3139609B1 (en) * 2012-01-03 2021-01-06 HFI Innovation Inc. Method and apparatus for block-based significance map and significance group flag context selection
US9621894B2 (en) * 2012-01-13 2017-04-11 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
MX370956B (es) 2012-01-20 2020-01-10 Ge Video Compression Llc Codificación de coeficiente de transformada.
EP2618570B1 (en) * 2012-01-20 2017-12-13 BlackBerry Limited Method and devices for context set selection
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9584812B2 (en) 2012-01-20 2017-02-28 Blackberry Limited Methods and devices for context set selection
WO2013109115A1 (ko) * 2012-01-20 2013-07-25 삼성전자 주식회사 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치
US9008189B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Methods and devices for context modeling to enable modular processing
EP2618573B1 (en) * 2012-01-20 2017-12-13 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
CA2807919C (en) 2012-08-31 2016-06-14 Research In Motion 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
JPWO2014049982A1 (ja) * 2012-09-28 2016-08-22 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP6763664B2 (ja) 2012-10-01 2020-09-30 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化
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
KR20160070815A (ko) * 2013-10-16 2016-06-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩 블록의 파티션의 코너 비디오 부분을 결정하기 위한 방법
JP6208885B2 (ja) 2014-01-03 2017-10-04 ジーイー ビデオ コンプレッション エルエルシー ウェッジレットに基づいた符号化概念
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
EP3295206B1 (en) 2015-05-12 2020-07-29 HERE Global B.V. Compressing and decompressing data about radio signals
CN108293139A (zh) * 2015-09-08 2018-07-17 三星电子株式会社 用于熵编码和熵解码的设备和方法
SG11201806811TA (en) * 2016-02-12 2018-09-27 Huawei Tech Co Ltd Method and apparatus for scan order selection
EP3412028B1 (en) * 2016-02-12 2024-04-03 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
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
KR20180089290A (ko) 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
WO2018143670A1 (ko) * 2017-01-31 2018-08-09 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
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ケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
MX2019012293A (es) * 2017-04-13 2020-01-20 Lg Electronics Inc Metodo y dispositivo para codificacion y decodificacion de entropia de señal de video.
CN110622511B (zh) * 2017-04-13 2022-04-15 Lg 电子株式会社 图像编码/解码方法及其设备
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
KR20190113656A (ko) * 2018-03-27 2019-10-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
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
CN112369025A (zh) * 2018-07-02 2021-02-12 交互数字Vc控股公司 基于上下文的二进制算术编码和解码
KR102668688B1 (ko) 2018-07-23 2024-05-24 삼성디스플레이 주식회사 유기 발광 소자
CN117729332A (zh) * 2018-09-24 2024-03-19 弗劳恩霍夫应用研究促进协会 使用或适用于与依赖标量量化的组合的变换系数的有效编码
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
CN112806017B (zh) * 2018-10-05 2024-03-15 Tcl王牌电器(惠州)有限公司 用于编码变换系数的方法和设备
US11343539B2 (en) * 2018-10-08 2022-05-24 Hfi Innovation Inc. Method and apparatus of last significant coefficient coding 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
WO2020141159A2 (en) * 2019-01-02 2020-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Unified transform type signaling and transform type dependent transform coefficient level coding
WO2020149594A1 (ko) * 2019-01-15 2020-07-23 엘지전자 주식회사 영상 코딩 시스템에서 고주파 제로잉을 기반으로 레지듀얼 정보를 코딩하는 영상 디코딩 방법 및 그 장치
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
KR102211000B1 (ko) * 2019-06-21 2021-02-02 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
US11949870B2 (en) * 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
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
US20230130131A1 (en) * 2020-02-25 2023-04-27 Hfi Innovation Inc. Methods and Apparatus for Secondary Transform Signaling in Video Coding
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 (151)

* 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
KR20010072420A (ko) * 1998-08-13 2001-07-31 벤자민 에프 커틀러 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법
US6611620B1 (en) * 1998-08-28 2003-08-26 Matsushita Electric Industrial Co. Ltd. Reversible coding method, reversible coding apparatus, and memory medium used therein
KR20010080666A (ko) * 1998-12-04 2001-08-22 매클린토크 샤운 엘 변환계수의 비트플레인 코딩을 이용한 세밀한 세분성스칼라빌러티의 향상
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
DE10218541A1 (de) * 2001-09-14 2003-04-24 Siemens Ag Verfahren zur Videocodierung und Computerprogrammprodukt
CN100454339C (zh) * 2001-09-14 2009-01-21 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
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 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
EP1333679B1 (en) * 2002-02-05 2004-04-14 Siemens Aktiengesellschaft Data compression
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
US7327804B2 (en) 2002-04-30 2008-02-05 Siemens Aktiengesellschaft Method for limiting amplitude of a carrier frequency output signal
PT1467491E (pt) * 2002-05-02 2007-03-30 Fraunhofer Ges Forschung Codificação aritmética de coeficientes de transformação
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
ES2378462T3 (es) * 2002-09-04 2012-04-12 Microsoft Corporation Codificación entrópica por adaptación de codificación entre modalidades de nivel y de longitud/nivel de cadencia
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US20040136457A1 (en) * 2002-10-23 2004-07-15 John Funnell 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
WO2005094109A1 (en) 2004-03-18 2005-10-06 Nokia Corporation 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
WO2006123913A1 (en) * 2005-05-19 2006-11-23 Lg Electronics Inc. Method for coding/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
EP1928083A4 (en) 2005-09-21 2010-09-15 Mitsubishi Electric Corp DETECTION SYSTEM FOR EXCESSIVE TEMPERATURE OF A 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
CN101310536B (zh) * 2005-09-27 2010-06-02 高通股份有限公司 启用对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
SI2192783T1 (sl) 2006-01-09 2015-09-30 Matthias Narroschke Adaptivno kodiranje napake predikcije pri hibridnem video kodiranju
WO2007081713A1 (en) * 2006-01-09 2007-07-19 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multi-view video coding
CN101390398A (zh) * 2006-01-09 2009-03-18 诺基亚公司 用于精细粒度可伸缩视频编码中的熵编码的方法和装置
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
WO2008007929A1 (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
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 符号化装置および方法、並びにプログラム
JP5649105B2 (ja) * 2007-01-11 2015-01-07 トムソン ライセンシングThomson Licensing 符号化のための装置及び方法並びに復号化のための装置及び方法
KR101341111B1 (ko) * 2007-01-18 2013-12-13 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 화질 스케일러블 비디오 데이터 스트림
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
WO2008118146A1 (en) * 2007-03-23 2008-10-02 Thomson Licensing Modifying a coded bitstream
KR20080086766A (ko) 2007-03-23 2008-09-26 삼성전자주식회사 픽셀 단위의 컨텍스트 모델을 이용한 영상의 부호화,복호화 방법 및 장치
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
WO2008128380A1 (en) * 2007-04-20 2008-10-30 Thomson Licensing Method and apparatus for selecting a scan path for the elements of a block in spatial domain picture encoding and decoding
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
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
CN101039430B (zh) * 2007-05-08 2011-01-12 清华大学 一种视频编码中对残差矩阵的快速扫描方法
US8194119B2 (en) 2007-05-10 2012-06-05 Chroma3D Systems, Inc. Display of generalized anaglyphs without retinal rivalry
WO2008152573A2 (en) * 2007-06-12 2008-12-18 Nokia Corporation Joint coding of multiple transform blocks with reduced number of coefficients
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
JPWO2009001793A1 (ja) 2007-06-26 2010-08-26 株式会社東芝 画像符号化と画像復号化の方法及び装置
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 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
JP2011508497A (ja) 2007-12-21 2011-03-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像データの効率的な伝送の方法及び装置
CN101217615B (zh) * 2007-12-27 2011-04-06 北京中星微电子有限公司 一种压缩图像比特率控制的方法及装置
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
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 北京大学软件与微电子学院 一种并行类熵编码方法及其装置
CA2742390C (en) * 2008-10-03 2015-05-12 Qualcomm Incorporated Video coding using transforms bigger than 4x4 and 8x8
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 삼성전자주식회사 레지듀얼 값 분포에 적응적인 부호표 선택에 기초한 영상 부호화, 복호화 방법 및 장치
WO2011002492A1 (en) 2009-07-02 2011-01-06 Thomson Licensing Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection
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
CN113556563B (zh) * 2010-04-13 2024-08-20 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
US9338449B2 (en) * 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in 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
KR101966211B1 (ko) 2019-08-13
US20190037221A1 (en) 2019-01-31
JP2015180071A (ja) 2015-10-08
JP6438986B2 (ja) 2018-12-19
PT2559244T (pt) 2017-11-10
CN102939755A (zh) 2013-02-20
JP2017130941A (ja) 2017-07-27
EP3709646A1 (en) 2020-09-16
KR20220098295A (ko) 2022-07-11
TW201142759A (en) 2011-12-01
DK3487179T3 (da) 2020-10-19
EP3691267A1 (en) 2020-08-05
HUE037038T2 (hu) 2018-08-28
CN108777797A (zh) 2018-11-09
HUE051391T2 (hu) 2021-03-01
US20190268609A1 (en) 2019-08-29
SI2559244T1 (en) 2018-01-31
EP3244612B1 (en) 2018-07-25
PL3435674T3 (pl) 2023-10-23
TWI590648B (zh) 2017-07-01
KR20170058462A (ko) 2017-05-26
US20210144389A1 (en) 2021-05-13
TW202126046A (zh) 2021-07-01
HRP20171669T1 (hr) 2017-12-29
HUE032567T2 (en) 2017-09-28
KR101951413B1 (ko) 2019-02-25
US20190230370A1 (en) 2019-07-25
KR101739808B1 (ko) 2017-05-25
CY1119639T1 (el) 2018-04-04
JP2013524707A (ja) 2013-06-17
TR201815695T4 (tr) 2018-11-21
SI3691267T1 (sl) 2022-06-30
JP2022110119A (ja) 2022-07-28
KR20140071466A (ko) 2014-06-11
JP2014131286A (ja) 2014-07-10
CN113556555A (zh) 2021-10-26
CN113556560B (zh) 2024-08-20
US11252419B2 (en) 2022-02-15
PT3410716T (pt) 2020-04-21
US10021404B2 (en) 2018-07-10
CN108471534B (zh) 2021-01-01
US20160080742A1 (en) 2016-03-17
EP2559244B1 (en) 2017-08-02
CN108471534A (zh) 2018-08-31
EP3487179A1 (en) 2019-05-22
TWI711302B (zh) 2020-11-21
KR102417196B1 (ko) 2022-07-05
DK3410716T3 (da) 2020-04-14
KR20180095952A (ko) 2018-08-28
RS56512B1 (sr) 2018-02-28
CN113556554A (zh) 2021-10-26
CN108777792B (zh) 2020-12-04
CN113556554B (zh) 2024-09-20
US20130051459A1 (en) 2013-02-28
KR101914176B1 (ko) 2018-11-02
JP6097332B2 (ja) 2017-03-15
CN113556555B (zh) 2024-08-16
HRP20220743T1 (hr) 2022-08-19
EP3244612A1 (en) 2017-11-15
KR102023565B1 (ko) 2019-09-23
LT3691267T (lt) 2022-05-10
CN108777797B (zh) 2021-01-29
PL3410716T3 (pl) 2020-06-29
CN108777790A (zh) 2018-11-09
CN114143553A (zh) 2022-03-04
EP3471416A1 (en) 2019-04-17
EP2693752A1 (en) 2014-02-05
EP3410716A1 (en) 2018-12-05
CN108471538B (zh) 2022-05-17
US20200366908A1 (en) 2020-11-19
US10855999B2 (en) 2020-12-01
CN108471537A (zh) 2018-08-31
US20180220137A1 (en) 2018-08-02
CN113556558B (zh) 2024-08-30
US11070822B2 (en) 2021-07-20
EP3410716B1 (en) 2020-01-08
DK2559244T3 (da) 2017-11-13
BR112012026388B1 (pt) 2021-05-04
PT3691267T (pt) 2022-06-02
KR102079664B1 (ko) 2020-02-21
JP6700341B2 (ja) 2020-05-27
JP2018201202A (ja) 2018-12-20
KR20200019777A (ko) 2020-02-24
TWI781435B (zh) 2022-10-21
KR20230110371A (ko) 2023-07-21
JP2018201204A (ja) 2018-12-20
EP3691267B1 (en) 2022-03-16
ES2784509T3 (es) 2020-09-28
US20180220136A1 (en) 2018-08-02
CN113556557B (zh) 2024-08-16
US20180255306A1 (en) 2018-09-06
CN105187829A (zh) 2015-12-23
CN113573075A (zh) 2021-10-29
RS64607B1 (sr) 2023-10-31
US10462474B2 (en) 2019-10-29
JP2020191684A (ja) 2020-11-26
PT2693752T (pt) 2017-03-31
TWI799747B (zh) 2023-04-21
US20200014939A1 (en) 2020-01-09
KR102553952B1 (ko) 2023-07-11
KR20150009602A (ko) 2015-01-26
LT2559244T (lt) 2017-12-11
CN108777791A (zh) 2018-11-09
PL2693752T3 (pl) 2017-06-30
CN108881910A (zh) 2018-11-23
TW201537954A (zh) 2015-10-01
DK3244612T3 (en) 2018-11-12
HUE049043T2 (hu) 2020-08-28
US11032556B2 (en) 2021-06-08
CN108881922B (zh) 2021-07-30
KR102249230B1 (ko) 2021-05-10
JP2024129121A (ja) 2024-09-26
EP3435674A1 (en) 2019-01-30
US9357217B2 (en) 2016-05-31
DK2693752T3 (en) 2017-04-03
PT3435674T (pt) 2023-09-06
TWI830676B (zh) 2024-01-21
JP2019054539A (ja) 2019-04-04
CN108471537B (zh) 2022-05-17
HUE040296T2 (hu) 2019-02-28
HUE059150T2 (hu) 2022-10-28
SI3435674T1 (sl) 2023-10-30
CN113556563A (zh) 2021-10-26
CN113556558A (zh) 2021-10-26
FI3435674T3 (fi) 2023-09-07
CN113556562B (zh) 2024-09-20
CN113556563B (zh) 2024-08-20
US10306243B2 (en) 2019-05-28
HUE063400T2 (hu) 2024-01-28
CN108777790B (zh) 2021-02-09
DK3471416T3 (da) 2020-10-19
KR20210054028A (ko) 2021-05-12
JP5911027B2 (ja) 2016-04-27
PL2559244T3 (pl) 2018-01-31
TW201742457A (zh) 2017-12-01
US11025926B2 (en) 2021-06-01
KR20130006678A (ko) 2013-01-17
TWI810078B (zh) 2023-07-21
KR20160038063A (ko) 2016-04-06
CN109151485A (zh) 2019-01-04
CN109151485B (zh) 2022-10-11
US20190098323A1 (en) 2019-03-28
US20160316212A1 (en) 2016-10-27
US11095906B2 (en) 2021-08-17
KR102023566B1 (ko) 2019-09-23
WO2011128303A3 (en) 2012-02-02
PL3487179T3 (pl) 2021-01-11
US20180084261A1 (en) 2018-03-22
BR112012026388A2 (pt) 2016-08-02
CN108777791B (zh) 2021-07-16
CN108777792A (zh) 2018-11-09
CN102939755B (zh) 2018-08-10
TW202130184A (zh) 2021-08-01
HUE050955T2 (hu) 2021-01-28
CN113556561A (zh) 2021-10-26
TW202031051A (zh) 2020-08-16
CN113556556A (zh) 2021-10-26
JP6700342B2 (ja) 2020-05-27
TW202031044A (zh) 2020-08-16
EP2693752B1 (en) 2017-03-08
US10123025B2 (en) 2018-11-06
JP2020145753A (ja) 2020-09-10
CN108471538A (zh) 2018-08-31
CN113556559A (zh) 2021-10-26
CN108881922A (zh) 2018-11-23
JP6753914B2 (ja) 2020-09-09
US10477223B2 (en) 2019-11-12
US20210006804A1 (en) 2021-01-07
WO2011128303A2 (en) 2011-10-20
US9699467B2 (en) 2017-07-04
US20240031585A1 (en) 2024-01-25
CN108777793B (zh) 2020-11-03
KR20190019221A (ko) 2019-02-26
EP3471416B1 (en) 2020-07-15
US20180295369A1 (en) 2018-10-11
CN113556562A (zh) 2021-10-26
US20200007874A1 (en) 2020-01-02
EP3487179B1 (en) 2020-07-15
ES2692195T3 (es) 2018-11-30
BR122020004414B1 (pt) 2021-09-08
PT3244612T (pt) 2018-11-14
JP7078670B2 (ja) 2022-05-31
ES2952881T3 (es) 2023-11-06
US10148968B2 (en) 2018-12-04
KR101502495B1 (ko) 2015-03-13
JP7518127B2 (ja) 2024-07-17
US10750191B2 (en) 2020-08-18
TWI545525B (zh) 2016-08-11
CN113556557A (zh) 2021-10-26
PT3487179T (pt) 2020-10-19
DK3691267T3 (da) 2022-06-20
CN113556561B (zh) 2024-08-30
TW202345597A (zh) 2023-11-16
KR101607242B1 (ko) 2016-03-30
TW202308388A (zh) 2023-02-16
CN108777793A (zh) 2018-11-09
ES2825200T3 (es) 2021-05-14
CN113556560A (zh) 2021-10-26
TW201921941A (zh) 2019-06-01
US11297336B2 (en) 2022-04-05
ES2912048T3 (es) 2022-05-24
CN105187829B (zh) 2018-10-26
PT3471416T (pt) 2020-10-19
KR20180095951A (ko) 2018-08-28
DK3435674T3 (da) 2023-08-21
US20190246121A1 (en) 2019-08-08
US10129549B2 (en) 2018-11-13
PL3244612T3 (pl) 2019-01-31
US10306242B2 (en) 2019-05-28
US20160309188A1 (en) 2016-10-20
US10587884B2 (en) 2020-03-10
JP6700343B2 (ja) 2020-05-27
CN113573075B (zh) 2024-08-20
US20200169740A1 (en) 2020-05-28
NO2559244T3 (es) 2017-12-30
LT3435674T (lt) 2023-09-25
CN108881910B (zh) 2021-01-26
JP2018201203A (ja) 2018-12-20
RS63325B1 (sr) 2022-07-29
US11128875B2 (en) 2021-09-21
BR122020004415B1 (pt) 2021-09-08
US9998741B2 (en) 2018-06-12
EP2559244A2 (en) 2013-02-20
EP3435674B1 (en) 2023-06-07
TWI705700B (zh) 2020-09-21
TWI787604B (zh) 2022-12-21
PL3691267T3 (pl) 2022-07-11
US20180220135A1 (en) 2018-08-02
US9894368B2 (en) 2018-02-13
KR20180119711A (ko) 2018-11-02
KR20180095953A (ko) 2018-08-28
US10341668B2 (en) 2019-07-02
US20200344487A1 (en) 2020-10-29
KR101605163B1 (ko) 2016-03-22
TWI640190B (zh) 2018-11-01
ES2645159T3 (es) 2017-12-04
PL3471416T3 (pl) 2021-05-04
US20190098322A1 (en) 2019-03-28
ES2823549T3 (es) 2021-05-07
US20210211686A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
ES2620301T3 (es) Codificación de mapas significativos y bloques de coeficientes de transformada
TW202431851A (zh) 用以解碼與編碼顯著性映射圖之裝置及方法、以及相關之解碼器、資料串流及電腦可讀數位儲存媒體