ES2904650T3 - Codificación de vídeo que usa subdivisiones multiárbol de imágenes - Google Patents

Codificación de vídeo que usa subdivisiones multiárbol de imágenes Download PDF

Info

Publication number
ES2904650T3
ES2904650T3 ES20155687T ES20155687T ES2904650T3 ES 2904650 T3 ES2904650 T3 ES 2904650T3 ES 20155687 T ES20155687 T ES 20155687T ES 20155687 T ES20155687 T ES 20155687T ES 2904650 T3 ES2904650 T3 ES 2904650T3
Authority
ES
Spain
Prior art keywords
subdivision
information
prediction
blocks
block
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
ES20155687T
Other languages
English (en)
Inventor
Detlev Marpe
Heiko Schwarz
Heiner Kirchhoffer
Martin Winken
Philipp Helle
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=44115570&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2904650(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 ES2904650T3 publication Critical patent/ES2904650T3/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/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/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • 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/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/186Methods 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 colour or a chrominance component
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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

Abstract

Descodificador, que comprende: un extractor (102) configurado para extraer, de un flujo de datos (22), información relacionada con tamaños de región máximos primero y segundo, información de subdivisión multiárbol primera y segunda y un nivel jerárquico máximo, en el que el primer tamaño de región máximo y la primera información de subdivisión multiárbol están asociados con una subdivisión de predicción, y el segundo tamaño de región máximo y la segunda información de subdivisión multiárbol están asociados con una subdivisión residual; un subdivisor (104a) configurado para: dividir espacialmente una matriz de muestras de información que representa una imagen (24) de un vídeo en un primer conjunto de regiones raíz de árbol (150) en función del primer tamaño de región máximo, subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150) en un primer conjunto de subregiones usando división multiárbol recursiva en función de la primera información de subdivisión multiárbol, en función del tamaño de al menos uno del primer conjunto de subregiones y el segundo tamaño de región máximo, dividir al menos uno del primer conjunto de subregiones en un segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, en el que la segunda información de subdivisión multiárbol incluye indicadores de subdivisión codificados en el flujo de datos (22), estando cada indicador de subdivisión asociado con una región de raíz de árbol correspondiente del segundo conjunto de regiones raíz de árbol, determinar, para cada uno del segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, si la respectiva región de raíz de árbol del segundo conjunto de regiones raíz se va a subdividir en función del indicador de subdivisión correspondiente, y en respuesta a una determinación de que el indicador de subdivisión correspondiente sugiere una subdivisión, subdividir la región de raíz de árbol respectiva del segundo conjunto de regiones raíz de árbol en un segundo conjunto de subregiones usando división multiárbol recursiva en función de la segunda información de subdivisión multiárbol y el nivel jerárquico máximo; y un reconstructor (106) configurado para reconstruir la matriz de muestras de información llevando a cabo una predicción de la matriz de muestras de información según el primer conjunto de subregiones y descodificación residual según el segundo conjunto de subregiones.

Description

DESCRIPCIÓN
Codificación de vídeo que usa subdivisiones multiárbol de imágenes
La presente invención se refiere a esquemas de codificación para codificar una señal de información espacialmente muestreada usando esquemas de subdivisión y codificación para codificar una subdivisión o una estructura multiárbol, en la que las realizaciones representativas se refieren a aplicaciones de codificación de imágenes y/o vídeo.
En la codificación de imágenes y vídeo, las imágenes o conjuntos particulares de matrices de muestras se descomponen normalmente en bloques, que están asociados con parámetros de codificación particulares. Las imágenes consisten normalmente en múltiples matrices de muestras. Además, una imagen también puede estar asociada con matrices de muestras auxiliares adicionales que, por ejemplo, pueden especificar información de transparencia o mapas de profundidad. Las matrices de muestras de una imagen (incluyendo matrices de muestras auxiliares) pueden agruparse en uno o más denominados grupos de planos, donde cada grupo de planos consiste en una o más matrices de muestras. Los grupos de planos de una imagen pueden codificarse de manera independiente o, si la imagen está asociada a más de un grupo de planos, de manera predictiva con respecto a otros grupos de planos de la misma imagen. Cada grupo de planos se descompone normalmente en bloques. Los bloques (o los bloques correspondientes de las matrices de muestras) se predicen mediante predicción interimagen o mediante predicción intraimagen. Los bloques pueden tener diferentes tamaños y pueden ser cuadráticos o rectangulares. La división de una imagen en bloques puede estar fijada por la sintaxis o puede señalizarse (al menos en parte) en el flujo de bits. Con frecuencia se transmiten elementos sintácticos que señalizan la subdivisión para bloques de tamaños predefinidos. Tales elementos sintácticos pueden especificar si y cómo un bloque está subdividido en bloques más pequeños y parámetros de codificación asociados, por ejemplo con fines predictivos. La descodificación de los parámetros de codificación asociados se especifica de manera determinada para todas las muestras de un bloque (o los bloques correspondientes de matrices de muestras). En el ejemplo, todas las muestras de un bloque se predicen usando el mismo conjunto de parámetros de predicción, tales como índices de referencia (que identifican una imagen de referencia en el conjunto de imágenes ya codificadas), parámetros de movimiento (que especifican una medida para el movimiento de un bloque entre una imagen de referencia y la imagen actual), parámetros para especificar el filtro de interpolación, modos de intrapredicción, etc. Los parámetros de movimiento pueden representarse mediante vectores de desplazamiento con una componente horizontal y vertical o mediante parámetros de movimiento de orden superior, tales como parámetros de movimiento afines que consisten en seis componentes. También es posible que más de un conjunto de parámetros de predicción particulares (tales como índices de referencia y parámetros de movimiento) estén asociados con un único bloque. En ese caso, para cada conjunto de estos parámetros de predicción particulares, se genera una única señal de predicción intermedia para el bloque (o los bloques correspondientes de matrices de muestras), y la señal de predicción final se genera mediante una combinación que incluye superponer las señales de predicción intermedias. Los parámetros de ponderación correspondientes y también, posiblemente, un desfase constante (que se añade a la suma ponderada) pueden fijarse para una imagen, una imagen de referencia o un conjunto de imágenes de referencia, o pueden incluirse en el conjunto de parámetros de predicción para el bloque correspondiente. Normalmente, la diferencia entre los bloques originales (o los bloques correspondientes de matrices de muestras) y sus señales de predicción, también denominadas señales residuales, se transforma y se cuantifica. Con frecuencia se aplica una transformada bidimensional a la señal residual (o a las matrices de muestras correspondientes para el bloque residual). Para la codificación de la transformada, los bloques (o los bloques correspondientes de matrices de muestras) para los que se ha usado un conjunto particular de parámetros de predicción, pueden dividirse adicionalmente antes de aplicar la transformada. Los bloques de transformada pueden ser iguales o más pequeños que los bloques que se usan para la predicción. También es posible que un bloque de transformada incluya más de uno de los bloques que se usan para la predicción. Diferentes bloques de transformada pueden tener diferentes tamaños y los bloques de transformada pueden representar bloques cuadráticos o rectangulares. Después de la transformada, los coeficientes de transformada resultantes se cuantifican, obteniéndose los denominados niveles de coeficiente de transformada. Los niveles de coeficiente de transformada, así como los parámetros de predicción y, si la hubiera, la información de subdivisión, se codifican mediante entropía.
En las normas de codificación de imagen y vídeo, las posibilidades de subdividir una imagen (o un grupo de planos) en bloques proporcionados por la sintaxis son muy limitadas. Normalmente, solo puede especificarse si (y posiblemente cómo) un bloque de un tamaño predefinido puede subdividirse en bloques más pequeños. Como un ejemplo, el tamaño de bloque más grande en H.264 es de 16x16. Los bloques de 16x16 también se denominan macrobloques y cada imagen se divide en macrobloques en una primera etapa. Puede señalizarse si cada macrobloque de 16x16 se codifica como un bloque de 16x16, o como dos bloques de 16x8, o como dos bloques de 8x16, o como cuatro bloques de 8x8. Si un bloque de 16x16 se subdivide en cuatro bloques de 8x8, cada uno de estos bloques de 8x8 puede codificarse como un bloque de 8x8, o como dos bloques de 8x4, o como dos bloques de 4x8, o como cuatro bloques de 4x4. El pequeño conjunto de posibilidades para especificar la división en bloques en las normas de codificación de imágenes y vídeo de última generación tiene la ventaja de que la tasa de información secundaria para señalizar la información de subdivisión puede mantenerse baja, pero tiene la desventaja de que la velocidad binaria requerida para transmitir los parámetros de predicción para los bloques puede ser considerable, como se explica a continuación. La tasa de información secundaria para señalizar la información de predicción representa normalmente una cantidad importante de la velocidad binaria global para un bloque. La eficacia de la codificación puede aumentarse cuando se reduce esta información secundaria, lo cual podría conseguirse, por ejemplo, utilizando tamaños de bloque más grandes. Las imágenes reales de una secuencia de vídeo consisten en objetos conformados de manera arbitraria con propiedades específicas. Como un ejemplo, tales objetos o partes de los objetos se caracterizan por una textura única o un movimiento único. Normalmente, el mismo conjunto de parámetros de predicción puede aplicarse para tal objeto o parte de un objeto.
Sin embargo, los contornos de los objetos no coinciden normalmente con los posibles límites de bloque de los grandes bloques de predicción (por ejemplo, macrobloques de 16x16 en H.264). Un codificador normalmente determina la subdivisión (entre el conjunto limitado de posibilidades) que da como resultado el mínimo de una medida particular del coste velocidad-distorsión. En objetos conformados de manera arbitraria, esto puede dar como resultado un gran número de pequeños bloques. Puesto que cada uno de estos pequeños bloques está asociado a un conjunto de parámetros de predicción, que necesitan ser transmitidos, la tasa de información secundaria puede llegar a ser una parte considerable de la velocidad binaria global. Sin embargo, puesto que varios de los pequeños bloques siguen representando áreas del mismo objeto o parte de un objeto, los parámetros de predicción para una pluralidad de los bloques obtenidos son idénticos o muy similares.
Es decir, la subdivisión o división de una imagen en partes más pequeñas, losetas o bloques influye sustancialmente en la eficacia de la codificación y la complejidad de la codificación. Como se ha señalado anteriormente, la subdivisión de una imagen en un mayor número de bloques más pequeños permite un ajuste espacial más preciso de los parámetros de codificación, permitiendo así una mejor adaptabilidad de esos parámetros de codificación al material de imágenes/vídeo. Por otro lado, ajustar los parámetros de codificación a una granularidad más precisa impone una mayor carga en la cantidad de información secundaria necesaria para informar al descodificador sobre los ajustes necesarios. Además, debe observarse que cualquier libertad para que el codificador subdivida (adicionalmente) de manera espacial las imágenes/vídeo en bloques aumenta drásticamente la cantidad de posibles ajustes de parámetros de codificación y, por tanto, hace que, generalmente, determinar el ajuste de parámetros de codificación que da lugar al mejor compromiso entre velocidad y distorsión sea incluso más difícil.
SANTILLANA-RIVERO J ETAL, “HIERARCHICAL MOTION-BASED IMAGE SEGMENTATION APPLIED TO HDTV", SIGNAL PROCESSING OF HDTV. L'AQUILA, 29 de febrero al 2 de marzo de 1988; [ACTAS DE LA CONFERENCIA INTERNACIONAL SOBRE PROCESAMIENTO DE SEÑALES DE HDTV], ÁMSTERDAM, ELSEVIER, PAÍSES BAJOS, (19880229), vol. CONFERENCIA 2, páginas 367 a 374, describe un procedimiento de segmentación de imágenes basadas en movimiento jerárquico usando un procedimiento de división y fusión con el fin de segmentar una imagen en regiones homogéneas en sentido del movimiento. La codificación de la segmentación y el flujo de bits se hace usando un árbol cuaternario.
En el documento WO2009051719 se codifican datos de imagen mediante el uso de una división geométrica que aplica divisiones geométricas a divisiones de bloque de imagen. Las divisiones de bloque de imagen se obtienen a partir de por lo menos una de división desde arriba hacia abajo y de unión de árboles desde abajo hacia arriba.
Según un primer aspecto de la presente solicitud, es un objeto proporcionar un esquema de codificación para codificar una matriz de muestras de información que representa una señal de información espacialmente muestreada tal como, pero sin restringirse a, imágenes de un video o imágenes fijas, que permiten conseguir un mejor compromiso entre la complejidad de codificación y la relación velocidad/distorsión que puede conseguirse y/o conseguir una mejor relación velocidad/distorsión.
Este objeto se consigue mediante el contenido de las reivindicaciones independientes.
A continuación se describen realizaciones preferidas de la presente invención con respecto a las figuras siguientes, en las que:
la figura 1 muestra un diagrama de bloques de un codificador según una realización de la presente solicitud;
la figura 2 muestra un diagrama de bloques de un descodificador según una realización de la presente solicitud;
las figuras 3a a 3c muestran esquemáticamente un ejemplo ilustrativo de una subdivisión en árboles cuaternarios, en las que la figura 3a muestra un primer nivel jerárquico, la figura 3b muestra un segundo nivel jerárquico y la figura 3c muestra un tercer nivel jerárquico;
la figura 4 muestra esquemáticamente una estructura de árbol para la subdivisión ilustrativa en árboles cuaternarios de las figuras 3a a 3c según una realización;
las figuras 5a, b ilustran esquemáticamente la subdivisión en árboles cuaternarios de las figuras 3a a 3c y la estructura de árbol con índices que indexan los bloques hoja individuales;
las figuras 6a, b muestran esquemáticamente cadenas binarias o secuencias de indicadores que representan la estructura de árbol de la figura 4 y la subdivisión en árboles cuaternarios de las figuras 3a a 3c, respectivamente, según diferentes realizaciones;
la figura 7 muestra un diagrama de flujo que muestra las etapas llevadas a cabo por un extractor de flujo de datos según una realización;
la figura 8 muestra un diagrama de flujo que ilustra la funcionalidad de un extractor de flujo de datos según una realización adicional;
las figuras 9a, b muestran diagramas esquemáticos de subdivisiones ilustrativas en árboles cuaternarios, en las que se resaltan bloques candidatos vecinos para un bloque predeterminado realzado según una realización;
la figura 10 muestra un diagrama de flujo de una funcionalidad de un extractor de flujo de datos según una realización adicional;
la figura 11 muestra esquemáticamente una composición de una imagen a partir de planos y grupos de planos e ilustra una codificación que usa adaptación/predicción interplano según una realización;
las figuras 12a y 12b ilustran esquemáticamente una estructura de subárbol y la correspondiente subdivisión con el fin de ilustrar el esquema de herencia según una realización;
las figuras 12c y 12d ilustran esquemáticamente una estructura de subárbol con el fin de ilustrar el esquema de herencia con adopción y predicción, respectivamente, según realizaciones;
la figura 13 muestra un diagrama de flujo que muestra las etapas llevadas a cabo por un codificador que lleva a cabo un esquema de herencia según una realización;
las figuras 14a y 14b muestran una subdivisión primaria y una subdivisión subordinada con el fin de ilustrar la posibilidad de implementar un esquema de herencia en relación con la interpredicción, según una realización; la figura 15 muestra un diagrama de bloques que ilustra un proceso de descodificación en relación con el esquema de herencia según una realización;
la figura 17 muestra un diagrama de bloques de un descodificador según una realización;
la figura 18 muestra un diagrama esquemático que ilustra el contenido de un flujo de datos según una realización; la figura 19 muestra un diagrama de bloques de un codificador según una realización;
la figura 20 muestra un diagrama de bloques de un descodificador según una realización adicional; y
la figura 21 muestra un diagrama de bloques de un descodificador según una realización adicional.
En la siguiente descripción de las figuras, los elementos que aparecen en varias de estas figuras se indican mediante números de referencia comunes, omitiéndose una explicación repetida de estos elementos. En cambio, las explicaciones con respecto a un elemento presentado en una figura también se aplicarán a las otras figuras en las que aparece el elemento respectivo, mientras que la explicación presentada con estas otras figuras indica desviaciones del mismo.
Además, la siguiente descripción empieza con realizaciones de un codificador y un descodificador que se explican con respecto a las figuras 1 a 11. La realizaciones descritas con respecto a estas figuras combina muchos aspectos de la presente solicitud que, sin embargo, también serían ventajosos si se implementaran individualmente en un esquema de codificación y, por consiguiente, con respecto a las figuras siguientes, se comentan brevemente realizaciones que aprovechan de manera individual los aspectos recién mencionados, representando cada una de estas realizaciones una abstracción de las realizaciones descritas con respecto a las figuras 1 y 11 en un sentido diferente.
La figura 1 muestra un codificador según una realización de la presente invención. El codificador 10 de la figura 1 comprende una unidad de predicción 12, un precodificador residual 14, un reconstructor residual 16, una unidad de inserción de flujo de datos 18 y un divisor de bloques 20. El codificador 10 es para codificar una señal temporal de información espacialmente muestreada en un flujo de datos 22. La señal temporal de información espacialmente muestreada puede ser, por ejemplo, un vídeo, es decir, una secuencia de imágenes. Cada imagen representa una matriz de muestras de imágenes. Otros ejemplos de señales temporales de información espacialmente muestreada comprenden, por ejemplo, imágenes de profundidad capturadas mediante, por ejemplo, cámaras time-of-light. Además, debe observarse que una señal de información espacialmente muestreada puede comprender más de una matriz por trama o indicación de tiempo, tal como en el caso de un vídeo a color que comprende, por ejemplo, una matriz de muestras de luminancia junto con dos matrices de muestras de crominancia por trama. También puede ser posible que la frecuencia de muestreo temporal para las diferentes componentes de la señal de información, es decir, la luminancia y la crominancia, pueda ser diferente. Lo mismo se aplica a la resolución espacial. Un vídeo también puede ir acompañado de información adicional espacialmente muestreada, tal como información de profundidad o transparencia. Sin embargo, la siguiente descripción se centrará en primer lugar en el procesamiento de una de estas matrices para entender mejor los conceptos principales de la presente solicitud, haciendo referencia posteriormente al manejo de más de un plano.
El codificador 10 de la figura 1 está configurado para crear el flujo de datos 22 de manera que los elementos sintácticos del flujo de datos 22 describan las imágenes en una granularidad que está entre imágenes completas y muestras de imagen individuales. Para ello, el divisor 20 está configurado para subdividir cada imagen 24 en regiones conectadas de manera simple de diferentes tamaños 26. En lo sucesivo, estas regiones se denominarán simplemente bloques o subregiones 26.
Como se describirá posteriormente en mayor detalle, el divisor 20 usa una subdivisión multiárbol con el fin de subdividir la imagen 24 en bloques 26 de diferente tamaño. Para ser aún más precisos, las realizaciones específicas descritas posteriormente con respecto a las figuras 1 a 11 usan principalmente una subdivisión en árboles cuaternarios. Como también se explicará posteriormente en mayor detalle, el divisor 20 puede comprender, internamente, una concatenación de un subdivisor 28 para subdividir las imágenes 24 en los bloques 26 recién mencionados, seguido de un fusionador 30 que permite combinar grupos de estos bloques 26 con el fin de obtener una subdivisión eficaz o una granularidad que está entre la no subdivisión de las imágenes 24 y la subdivisión definida por el subdivisor 28.
Como se ilustra mediante las líneas discontinuas de la figura 1, la unidad de predicción 12, el precodificador residual 14, el reconstructor residual 16 y la unidad de inserción de flujo de datos 18 están implicados en las subdivisiones de imagen definidas por el divisor 20. Por ejemplo, como se describirá posteriormente en mayor detalle, la unidad de predicción 12 usa una subdivisión de predicción definida por el divisor 20 con el fin de determinar para las subregiones individuales de la subdivisión de predicción si la subregión respectiva debe someterse a una predicción intraimagen o una predicción interimagen fijando los parámetros de predicción correspondientes para la subregión respectiva según el modo de predicción elegido.
A su vez, el precodificador residual 14 puede usar una subdivisión residual de las imágenes 24 con el fin de codificar la parte residual de la predicción de las imágenes 24 proporcionadas por la unidad de predicción 12. Puesto que el reconstructor residual 16 reconstruye la parte residual a partir de los elementos sintácticos proporcionados por el precodificador residual 14, el reconstructor residual 16 también está implicado en la subdivisión residual recién mencionada. La unidad de inserción de flujo de datos 18 puede utilizar las divisiones recién mencionadas, es decir, las subdivisiones residuales y de predicción, con el fin de determinar órdenes de inserción y relaciones de vecindad entre los elementos sintácticos para la inserción de los elementos sintácticos proporcionados por el precodificador residual 14 y la unidad de predicción 12 en el flujo de datos 22 mediante, por ejemplo, codificación por entropía.
Como se muestra en la figura 1, el codificador 10 comprende una entrada 32 por la que la señal de información original entra en el codificador 10. Un restador 34, el precodificador residual 14 y la unidad de inserción de flujo de datos 18 están conectados en serie en el orden mencionado entre la entrada 32 y la salida de la unidad de inserción de flujo de datos 18 en la que se proporciona el flujo de datos codificado 22. El restador 34 y el precodificador residual 14 son parte de un bucle de predicción que se cierra por el constructor residual 16, un sumador 36 y la unidad de predicción 12, que están conectados en serie en el orden mencionado entre la salida del precodificador residual 14 y la entrada de inversión del restador 34. La salida de la unidad de predicción 12 también está conectada a una entrada adicional del sumador 36. Además, la unidad de predicción 12 comprende una entrada conectada directamente a la entrada 32 y puede comprender una entrada adicional conectada asimismo a la salida del sumador 36 a través de un filtro en bucle opcional 38. Además, la unidad de predicción 12 genera información secundaria durante el funcionamiento y, por lo tanto, una salida de la unidad de predicción 12 también está acoplada a la unidad de inserción de flujo de datos 18. Asimismo, el divisor 20 comprende una salida que está conectada a otra entrada de la unidad de inserción de flujo de datos 18.
Tras haberse descrito la estructura del codificador 10, a continuación se describirá en mayor detalle el modo de funcionamiento.
Tal y como se ha descrito anteriormente, el divisor 20 decide para cada imagen 24 cómo subdividir la misma en subregiones 26. Según una subdivisión de la imagen 24 que va a usarse para la predicción, la unidad de predicción 12 decide para cada subregión correspondiente a esta subdivisión cómo predecir la subregión respectiva. La unidad de predicción 12 proporciona la predicción de la subregión a la entrada de inversión del restador 34 y a la entrada adicional del sumador 36, y proporciona a la unidad de inserción de flujo de datos 18 información de predicción que refleja la manera en que la unidad de predicción 12 obtuvo esta predicción a partir de partes previamente codificadas del vídeo.
En la salida del restador 34 se obtiene así el residuo de predicción, donde el precodificador residual 14 procesa este residuo de predicción según una subdivisión residual también especificada por el divisor 20. Tal y como se describe posteriormente en mayor detalle con respecto a las figuras 3 a 10, la subdivisión residual de la imagen 24 usada por el precodificador residual 14 puede referirse a la subdivisión de predicción usada por la unidad de predicción 12 de modo que cada subregión de predicción se adopte como una subregión residual o se subdivida adicionalmente en subregiones residuales más pequeñas. Sin embargo, también sería posible una predicción totalmente independiente y subdivisiones residuales.
El precodificador residual 14 somete cada subregión residual a una transformación desde el dominio espacial al dominio espectral mediante una transformada bidimensional seguida de, o que implica intrínsecamente, una cuantificación de los coeficientes de transformada resultante de los bloques de transformada resultantes, por lo que la distorsión se debe al ruido de cuantificación. La unidad de inserción de flujo de datos 18 puede, por ejemplo, codificar sin pérdidas elementos sintácticos que describen los coeficientes de transformada antes mencionados en el flujo de datos 22 usando, por ejemplo, codificación por entropía.
A su vez, el reconstructor residual 16 reconvierte, usando una recuantificación seguida de una retransformación, los coeficientes de transformada en una señal residual, donde la señal residual se combina en el sumador 36 con la predicción usada por el restador 34 para obtener el residuo de predicción, obteniendo así una porción o subregión reconstruida de una imagen actual en la salida del sumador 36. La unidad de predicción 12 puede usar la subregión de imagen reconstruida para la intrapredicción directamente, es decir, para predecir una determinada subregión de predicción mediante una extrapolación a partir de subregiones de predicción reconstruidas previamente en zonas cercanas. Sin embargo, también sería teóricamente posible una intrapredicción llevada a cabo en el dominio espectral prediciendo el espectro de la subregión actual directamente a partir del de una subregión vecina.
Para la interpredicción, la unidad de predicción 12 puede usar imágenes codificadas y reconstruidas previamente en una versión según la cual se han filtrado mediante un filtro en bucle opcional 38. El filtro en bucle 38 puede comprender, por ejemplo, un filtro de desbloqueo y/o un filtro adaptativo que tiene una función de transferencia adaptada para formar de manera ventajosa el ruido de cuantificación mencionado anteriormente.
La unidad de predicción 12 elige los parámetros de predicción que revelan la manera de predecir una determinada subregión de predicción mediante el uso de una comparación con las muestras originales de la imagen 24. Como se indica posteriormente en mayor detalle, los parámetros de predicción pueden comprender para cada subregión de predicción una indicación del modo de predicción, tal como una predicción intraimagen y una predicción interimagen. En el caso de la predicción intraimagen, los parámetros de predicción también pueden comprender una indicación de un ángulo a lo largo del cual se extienden principalmente bordes de la subregión de predicción que va a intrapredecirse, y en el caso de la predicción interimagen, vectores de movimiento, índices de imagen en movimiento y, finalmente, parámetros de transformación de movimiento de orden superior y, en caso de predicción intraimagen y/o de predicción interimagen, información de filtro opcional para filtrar las muestras de imagen reconstruidas en función de las cuales se predice la subregión de predicción actual.
Como se describirá posteriormente en mayor detalle, las subdivisiones mencionadas anteriormente definidas por un divisor 20 influyen sustancialmente en la relación velocidad/distorsión máxima que puede conseguirse mediante el precodificador residual 14, la unidad de predicción 12 y la unidad de inserción de flujo de datos 18. En caso de una subdivisión muy precisa, los parámetros de predicción 40 proporcionados por la unidad de predicción 12 que van a insertarse en el flujo de datos 22 necesitan una velocidad de codificación muy elevada, aunque la predicción obtenida por la unidad de predicción 12 puede ser mejor y la señal residual que va a codificarse por el precodificador residual 14 podría ser menor de modo que la misma podría codificarse con menos bits. En caso de una subdivisión demasiado tosca, se aplica lo contrario. Además, la idea que acaba de mencionarse también se aplica a la subdivisión residual de manera similar: una transformación de una imagen usando una granularidad más precisa de los bloques de transformación individuales da lugar a una menor complejidad para calcular las transformaciones y una mayor resolución espacial de la transformación resultante. Es decir, subregiones residuales más pequeñas permiten que la distribución espectral del contenido dentro de subregiones residuales individuales sea más coherente. Sin embargo, la resolución espectral se reduce y la relación entre coeficientes significativos e insignificantes, es decir, cuantificados a cero, empeora. Es decir, la granularidad de la transformada debería adaptarse localmente al contenido de imagen. Además, independientemente del efecto positivo de una granularidad más precisa, una granularidad más precisa aumenta regularmente la cantidad de información secundaria necesaria para indicar al descodificador la subdivisión escogida. Como se describirá posteriormente en mayor detalle, las realizaciones descritas anteriormente proporcionan al codificador 10 la capacidad de adaptar muy eficazmente las subdivisiones al contenido de la señal de información que va a codificarse y de señalizar las subdivisiones que van a usarse a la parte de descodificación ordenando a la unidad de inserción de flujo de datos 18 que inserte la información de subdivisión en el flujo de datos codificado 22. Los detalles se describen posteriormente.
Sin embargo, antes de definir en mayor detalle la subdivisión del divisor 20, un descodificador según una realización de la presente solicitud se describirá en mayor detalle con respecto a la figura 2.
El descodificador de la figura 2 se indica mediante el signo de referencia 100 y comprende un extractor 102, un divisor 104, un reconstructor residual 106, un sumador 108, una unidad de predicción 110, un filtro en bucle opcional 112 y un posfiltro opcional 114. El extractor 102 recibe el flujo de datos codificado en una entrada 116 del descodificador 100 y extrae del flujo de datos codificado información de subdivisión 118, parámetros de predicción 120 y datos residuales 122 que el extractor 102 proporciona al divisor de imágenes 104, a la unidad de predicción 110 y al reconstructor residual 106, respectivamente. El reconstructor residual 106 tiene una salida conectada a una primera entrada del sumador 108. La otra entrada del sumador 108 y la salida del mismo están conectadas en un bucle de predicción al que el filtro en bucle opcional 112 y la unidad de predicción 110 están conectados en serie en el orden mencionado con una trayectoria de desviación que va desde la salida del sumador 108 hasta la unidad de predicción 110 de manera muy similar a las conexiones mencionadas anteriormente entre el sumador 36 y la unidad de predicción 12 de la figura 1, en concreto una para la predicción intraimagen y otra para la predicción interimagen. La salida del sumador 108 o la salida del filtro en bucle 112 puede conectarse a una salida 124 del descodificador 100, donde la señal de información reconstruida se proporciona a un dispositivo de reproducción, por ejemplo. Un posfiltro opcional 114 puede conectarse a la trayectoria que conduce hasta la salida 124 para mejorar la calidad visual de impresión visual de la señal reconstruida en la salida 124.
En términos generales, el reconstructor residual 106, el sumador 108 y la unidad de predicción 110 actúan como los elementos 16, 36 y 12 de la figura 1. Dicho de otro modo, emulan el funcionamiento de los elementos mencionados anteriormente en la figura 1. Para ello, el reconstructor residual 106 y la unidad de predicción 110 se controlan mediante los parámetros de predicción 120 y la subdivisión especificada por el divisor de imágenes 104 según una información de subdivisión 118 del extractor 102, respectivamente, con el fin de predecir las subregiones de predicción del mismo modo que la unidad de predicción 12 hizo o decidió hacer, y volver a transformar los coeficientes de transformada recibidos con la misma granularidad que el precodificador residual 14. A su vez, el divisor de imágenes 104 reconstruye las subdivisiones elegidas por el divisor 20 de la figura 1 de manera sincronizada basándose en la información de subdivisión 118. A su vez, el extractor puede usar la información de subdivisión para controlar la extracción de datos tal como en lo que respecta a la selección de contexto, la determinación de la vecindad, la estimación de probabilidad, el análisis de la sintaxis del flujo de datos, etc.
Pueden llevarse a cabo diversas desviaciones de las realizaciones anteriores. Algunas se mencionan en la siguiente descripción detallada con respecto a la subdivisión llevada a cabo por el subdivisor 28 y la fusión llevada a cabo por el fusionador 30, mientras que otras se describen con respecto a las figuras 12 a 16 subsiguientes. Cuando no hay ningún obstáculo, todas estas desviaciones pueden aplicarse de manera individual o en subconjuntos a la descripción antes mencionada de la figura 1 y la figura 2, respectivamente. Por ejemplo, los divisores 20 y 104 pueden no determinar una subdivisión de predicción y una subdivisión residual por imagen solamente. En cambio, también pueden determinar una subdivisión de filtro para el filtro en bucle opcional 38 y 112, respectivamente, ya sea dependiendo o no de las otras subdivisiones para la predicción o codificación residual, respectivamente. Además, una determinación de la subdivisión o subdivisiones mediante estos elementos puede no llevarse a cabo en cada trama. En cambio, una subdivisión o subdivisiones determinadas para una determinada trama pueden reutilizarse o adoptarse para un determinado número de tramas siguientes transfiriendo simplemente una nueva subdivisión.
Para proporcionar más detalles relacionados con la división de las imágenes en subregiones, la siguiente descripción se centra en primer lugar en la parte de subdivisión de la que el subdivisor 28 y 104a son responsables. Después se describe el proceso de fusión del que el fusionador 30 y el fusionador 104b son responsables. Por último, se describe la adaptación/predicción interplano.
La manera en que el subdivisor 28 y 104a dividen las imágenes es tal que una imagen puede dividirse en una pluralidad de bloques de tamaños posiblemente diferentes con el fin de codificar de manera predictiva y residual los datos de imagen o de vídeo. Como se ha mencionado anteriormente, una imagen 24 puede estar disponible como una o más matrices de valores de muestras de imagen. En el caso del espacio de colores YUV/YCbCr, por ejemplo, la primera matriz puede representar el canal de luminancia, mientras que otras dos matrices representan canales de crominancia. Estas matrices pueden tener diferentes dimensiones. Todas las matrices pueden agruparse en uno o más grupos de planos, donde cada grupo de planos consiste en uno o más planos consecutivos de modo que cada plano está contenido en uno y solamente un grupo de planos. En cada grupo de planos se aplica lo siguiente. La primera matriz de un grupo de planos particular puede denominarse como la matriz primaria de este grupo de planos. Las posibles matrices siguientes son matrices subordinadas. La división en bloques de la matriz primaria puede realizarse en función de un enfoque de árboles cuaternarios, como se describe posteriormente. La división en bloques de las matrices subordinadas puede obtenerse en función de la división de la matriz primaria.
Según las realizaciones descritas más abajo, los subdivisores 28 y 104a pueden ser configurados para dividir la matriz primaria en una pluralidad de boques cuadrados de igual tamaño, denominados en lo sucesivo bloques árbol. La longitud del borde de los bloques árbol es normalmente una potencia de dos tal como 16, 32 o 64 cuando se usan árboles cuaternarios. Sin embargo, en términos generales, debe apreciarse que también es posible usar otros tipos de árboles, tales como árboles binarios o árboles con cualquier número de hojas. Además, el número de hijos del árbol puede variar en función del nivel del árbol y dependiendo de la señal que está representando el árbol.
Además, como se ha mencionado anteriormente, la matriz de muestras también puede representar información diferente a secuencias de vídeo, tal como mapas de profundidad o campos de luz, respectivamente. Por simplicidad, la siguiente descripción se centra en árboles cuaternarios como un ejemplo representativo de un multiárbol. Los árboles cuaternarios son árboles que tienen exactamente cuatro hijos en cada nodo interno. Cada uno de los bloques árbol constituye un árbol cuaternario primario junto con árboles cuaternarios subordinados en cada una de las hojas del árbol cuaternario primario. El árbol cuaternario primario determina la subdivisión de un bloque árbol dado para la predicción, mientras que un árbol cuaternario subordinado determina la subdivisión de un bloque de predicción dado con fines de codificación residual.
El nodo raíz del árbol cuaternario primario corresponde al bloque árbol completo. Por ejemplo, la figura 3a muestra un bloque árbol 150. Debe recordarse que cada imagen está dividida en una cuadrícula regular de líneas y columnas de tales bloques árbol 150 de modo que los mismos, por ejemplo, cubren sin huecos la matriz de muestras. Sin embargo, debe observarse que para todas las subdivisiones de bloque mostradas posteriormente, la subdivisión homogénea sin solapamiento no es crítica. En cambio, bloques vecinos pueden solaparse entre sí siempre que ningún bloque hoja sea una subparte apropiada de un bloque hoja vecino.
A lo largo de la estructura de árbol cuaternario para el bloque árbol 150, cada nodo puede dividirse además en cuatro nodos hijo, que en el caso del árbol cuaternario primario significa que cada bloque árbol 150 puede dividirse en cuatro subbloques con la mitad de anchura y la mitad de altura del bloque árbol 150. En la figura 3a, estos subbloques se indican con los signos de referencia 152a a 152d. De la misma manera, cada uno de estos subbloques puede dividirse además en cuatro subbloques más pequeños con la mitad de anchura y la mitad de altura de los subbloques originales. En la figura 3d esto se muestra a modo de ejemplo para el subbloque 152c, que está subdividido en cuatro pequeños subbloques 154a a 154d. Hasta ahora, las figuras 3a a 3c muestran a modo de ejemplo cómo un bloque árbol 150 se divide primero en sus cuatro subbloques 152a a 152d, después el subbloque inferior izquierdo 152c se divide adicionalmente en cuatro pequeños subbloques 154a a 154d y, finalmente, como se muestra en la figura 3c, el bloque superior derecho 154b de estos subbloques más pequeños se divide una vez más en cuatro bloques con una octava parte de la anchura y la altura del bloque árbol original 150, donde estos bloques incluso más pequeños se denotan como 156a a 156d.
La figura 4 muestra la estructura de árbol subyacente para la división a modo de ejemplo basada en árboles cuaternarios mostrada en las figuras 3a a 3d. Los números junto a los nodos árbol son los valores de un denominado indicador de subdivisión, que se explicará en mayor detalle cuando se describa la señalización de la estructura de un árbol cuaternario. El nodo raíz del árbol cuaternario se muestra en la parte superior de la figura (etiquetado como “nivel 0”). Las cuatro ramas del nivel 1 de este nodo raíz corresponden a los cuatro subbloques mostrados en la figura 3a. Puesto que el tercero de estos subbloques se subdivide adicionalmente en sus cuatro subbloques de la figura 3b, el tercer nodo del nivel 1 en la figura 4 también tiene cuatro ramas. De nuevo, en correspondencia con la subdivisión del segundo nodo hijo (parte superior derecha) en la figura 3c, hay cuatro subramas conectadas al segundo nodo en el nivel 2 de la jerarquía de árbol cuaternario. Los nodos del nivel 3 no se subdividen adicionalmente.
Cada hoja del árbol cuaternario primario corresponde a un bloque de tamaño variable para el que pueden especificarse parámetros de predicción individuales (es decir, modo de intrapredicción o interpredicción, parámetros de movimiento, etc.). En lo sucesivo, estos bloques se denominarán bloques de predicción. En particular, estos bloques hoja son los bloques mostrados en la figura 3c. Haciendo de nuevo referencia brevemente a la descripción de las figuras 1 y 2, el divisor 20 o el subdivisor 28 determina la subdivisión en árboles cuaternarios que acaba de explicarse. El subdivisor 152a-d decide cuál de los bloques árbol 150, los subbloques 152a-d, los pequeños subbloques 154a-d, etc., subdividir o segmentar adicionalmente con el objetivo de encontrar un equilibrio óptimo entre una subdivisión de predicción muy precisa y una subdivisión de predicción muy tosca, como se ha indicado anteriormente. A su vez, la unidad de predicción 12 usa la subdivisión de predicción prescrita para determinar los parámetros de predicción mencionados anteriormente con una granularidad dependiendo de la subdivisión de predicción o para cada una de las subregiones de predicción representadas por los bloques mostrados en la figura 3c, por ejemplo.
Los bloques de predicción mostrados en la figura 3c pueden dividirse adicionalmente en bloques más pequeños con fines de codificación residual. En cada bloque de predicción, es decir, en cada nodo hoja del árbol cuaternario primario, la subdivisión correspondiente se determina mediante uno o más árboles cuaternarios subordinados para la codificación residual. Por ejemplo, cuando se permite un tamaño de bloque residual máximo de 16x16, un bloque de predicción dado de 32x32 puede dividirse en cuatro bloques de 16x16, cada uno de los cuales se determina mediante un árbol cuaternario subordinado para la codificación residual. Cada bloque de 16x16 en este ejemplo corresponde al nodo raíz de un árbol cuaternario subordinado.
Tal y como acaba de describirse para el caso de la subdivisión de un bloque árbol dado en bloques de predicción, cada bloque de predicción puede dividirse en una pluralidad de bloques residuales usando la(s) descomposición(es) en árboles cuaternarios subordinados. Cada hoja de un árbol cuaternario subordinado corresponde a un bloque residual para el que pueden especificarse parámetros de codificación residual individuales (es decir, modo de transformada, coeficientes de transformada, etc.) mediante el precodificador residual 14, parámetros de codificación residual que a su vez controlan los reconstructores residuales 16 y 106, respectivamente.
Dicho de otro modo, el subdivisor 28 puede estar configurado para determinar para cada imagen o para cada grupo de imágenes una subdivisión de predicción y una subdivisión residual subordinada dividiendo en primer lugar la imagen en una disposición regular de bloques árbol 150, dividiendo de manera recursiva un subconjunto de estos bloques árbol mediante subdivisión en árboles cuaternarios con el fin de obtener la subdivisión de predicción en bloques de predicción, que pueden ser bloques árbol si no se produce ninguna división en el bloque árbol respectivo, o los bloques hoja de la subdivisión en árboles cuaternarios, donde posteriormente se subdivide adicionalmente un subconjunto de estos bloques de predicción de manera similar, si un bloque de predicción es mayor que el tamaño máximo de la subdivisión residual subordinada, dividiendo en primer lugar el bloque de predicción respectivo en una disposición regular de subbloques árbol, donde posteriormente su subdivide un subconjunto de estos subbloques árbol según el procedimiento de subdivisión en árboles cuaternarios con el fin de obtener los bloques residuales, que pueden ser bloques de predicción si no tuvo lugar ninguna división en subbloques árbol en el bloque de predicción respectivo, subbloques árbol si no tuvo lugar ninguna división en regiones incluso más pequeñas en el subbloque árbol respectivo, o los bloques hoja de la subdivisión residual en árboles cuaternarios.
Como se ha descrito antes brevemente, las subdivisiones escogidas para una matriz primaria pueden correlacionarse con las matrices subordinadas. Esto es sencillo cuando se consideran matrices subordinadas de la misma dimensión que la matriz primaria. Sin embargo, tienen que tomarse medidas especiales cuando las dimensiones de las matrices subordinadas son diferentes de la dimensión de la matriz primaria. En términos generales, la correlación de la subdivisión de la matriz primaria con las matrices subordinadas en caso de dimensiones diferentes podría realizarse mediante una correlación espacial, es decir, correlacionando espacialmente los elementos de los bloques de la subdivisión de matriz primaria con las matrices subordinadas. En particular, para cada matriz subordinada puede haber un factor de escalamiento en la dirección horizontal y vertical que determina la relación de la dimensión de la matriz primaria con respecto a la matriz subordinada. La división de la matriz subordinada en subbloques para la predicción y la codificación residual puede determinarse mediante el árbol cuaternario primario y el/los árbol(es) cuaternario(s) subordinado(s) de cada uno de los bloques árbol coubicados de la matriz primaria, respectivamente, donde los bloques árbol resultantes de la matriz subordinada son escalados por el factor de escalamiento relativo. En caso de que los factores de escalamiento en las direcciones horizontal y vertical sean diferentes (por ejemplo, como en el submuestreo de crominancia 4:2:2), la predicción resultante y los bloques residuales de la matriz subordinada ya no serán cuadrados. En este caso, es posible predeterminar o seleccionar de manera adaptativa (ya sea para toda la secuencia, una imagen de la secuencia o para cada bloque residual o de predicción individual) si el bloque residual no cuadrático debe dividirse en bloques cuadrados. En el primer caso, por ejemplo, el codificador y el descodificar pueden estar de acuerdo en la subdivisión en bloques cuadrados cada vez que un bloque correlacionado no sea cuadrado. En el segundo caso, el subdivisor 28 podría señalizar la selección al subdivisor 104a a través de la unidad de inserción de flujo de datos 18 y el flujo de datos 22. Por ejemplo, en caso del submuestreo de crominancia 4:2:2, donde las matrices subordinadas tienen la mitad de anchura pero la misma altura que la matriz primaria, la altura de los bloques residuales será el doble que la anchura. Dividiendo verticalmente este bloque se obtendrán de nuevo dos bloques cuadrados.
Como se ha mencionado anteriormente, el subdivisor 28 o el divisor 20, respectivamente, señaliza al subdivisor 104a la división basada en árboles cuaternarios a través del flujo de datos 22. Para ello, el subdivisor 28 informa a la unidad de inserción de flujo de datos 18 acerca de las subdivisiones elegidas para las imágenes 24. A su vez, la unidad de inserción de flujo de datos transmite a la parte de descodificación la estructura del árbol cuaternario primario y secundario y, por lo tanto, la división de la matriz de imagen en bloques de tamaño variable para la predicción o codificación residual en el flujo de datos o flujo de bits 22, respectivamente.
Los tamaños de bloque mínimo y máximo permitidos se transmiten como información secundaria y pueden cambiar de imagen a imagen. Por otro lado, los tamaños de bloque mínimo y máximo permitidos pueden fijarse en el codificador y el descodificador. Estos tamaños de bloque mínimo y máximo pueden ser diferentes para los bloques residuales y de predicción. Para la señalización de la estructura de árbol cuaternario es necesario recorrer el árbol cuaternario y para cada nodo tiene que especificarse si este nodo particular es un nodo hoja del árbol cuaternario (es decir, el bloque correspondiente no se subdivide más) o si se ramifica en sus cuatro nodos hijo (es decir, el bloque correspondiente se divide en cuatro subbloques con la mitad de tamaño).
La señalización de una imagen se realiza por cada bloque árbol en un orden de exploración de trama tal como de izquierda a derecha y de arriba abajo, como se ilustra en la figura 5a en 140. Este orden de exploración también puede ser diferente, tal como desde la parte inferior derecha hasta la parte superior izquierda o en el sentido de un tablero de ajedrez. En una realización preferida, cada bloque árbol y, por tanto, cada árbol cuadrático, se recorre en un orden de primero en profundidad para señalizar la información de subdivisión.
En una realización preferida, no solo puede ser transmitida/procesada en el orden de primero en profundidad la información de subdivisión, es decir, la estructura del árbol, sino también los datos de predicción, etc., es decir, los datos útiles asociados con los nodos hoja del árbol. Esto se realiza porque el recorrido de primero en profundidad tiene grandes ventajas en comparación con el orden de primero en anchura. En la figura 5b se muestra una estructura de árbol cuaternario con los nodos hoja etiquetados como a,b,..., j. La figura 5a muestra la división en bloques resultante. Si los bloques/nodos hoja se recorren en el orden de primero en anchura, se obtiene el siguiente orden: abjchidefg. Sin embargo, en el orden de primero en profundidad, el orden es abc...ij. Como puede verse en la figura 5a, en el orden de primero en profundidad, el bloque vecino izquierdo y el bloque vecino superior siempre se transmiten/procesan antes del bloque actual. Por tanto, la predicción del vector de movimiento y la modelización del contexto siempre pueden usar los parámetros especificados para el bloque vecino izquierdo y superior con el fin de conseguir un rendimiento de codificación mejorado. Esto no sería el caso en el orden de primero en anchura, ya que el bloque j se transmite antes de los bloques ‘e’, ‘g’ e ‘i’, por ejemplo.
Por consiguiente, la señalización para cada bloque árbol se realiza de manera recursiva a lo largo de la estructura de árbol cuaternario del árbol cuaternario primario de manera que para cada nodo se transmite un indicador que especifica si el bloque correspondiente está dividido en cuatro subbloques. Si este indicador tiene el valor “1” (“verdadero”), entonces este proceso de señalización se repite de manera recursiva para los cuatro nodos hijo, es decir, subbloques en el orden de exploración de trama (parte superior izquierda, parte superior derecha, parte inferior izquierda, parte inferior derecha) hasta que se llegue al nodo hoja del árbol cuaternario primario. Debe observarse que un nodo hoja está caracterizado por tener un indicador de subdivisión con un valor “0”. Para el caso en que un nodo reside en el nivel jerárquico más bajo del árbol cuaternario primario y, por tanto, corresponde al tamaño de bloque de predicción más pequeño permitido, no se transmite ningún indicador de subdivisión. En el ejemplo de la figura 3a-c, se transmitirá primero un “1”, como se muestra en 190 en la figura 6a, lo que especifica que el bloque árbol 150 está dividido en sus cuatro subbloques 152a-d. Después, se codificará recursivamente la información de subdivisión de los cuatro subbloques 152a-d en el orden de exploración de trama 200. Para los dos primeros subbloques 152a,b se transmitirá un “0”, lo que especifica que no están subdivididos (véase 202 en la figura 6a). Para el tercer subbloque 152c (parte inferior izquierda), se transmitirá un “1”, lo que especifica que este bloque está subdividido (véase 204 en la figura 6a). A continuación, según el enfoque recursivo, se procesan los cuatro subbloques 154a-d de este bloque. Aquí se transmitirá un “0” para el primer subbloque (206) y un “1” para el segundo subbloque (superior derecho) (208). A continuación se procesan los cuatro bloques del tamaño de bloque más pequeño 156a-d en la figura 3c. En caso de que se haya alcanzado el tamaño de bloque más pequeño permitido en este ejemplo, no se transmitirán más datos ya que no es posible una subdivisión adicional. Otra opción es transmitir “0000”, como se indica en 210 en la figura 6a, lo que especifica que ninguno de estos bloques está dividido adicionalmente. Después, se transmitirá “00” para los dos bloques inferiores de la figura 3b (véase 212 en la figura 6a), y, finalmente, “0” para el bloque inferior derecho de la figura 3a (véase 214). Por tanto, la cadena binaria completa que representa la estructura de árbol cuaternario sería la mostrada en la figura 6a.
Los diferentes sombreados de fondo en esta representación de cadena binaria de la figura 6a corresponden a diferentes niveles en la jerarquía de la subdivisión basada en árboles cuaternarios. El sombreado 216 representa el nivel 0 (correspondiente a un tamaño de bloque igual al tamaño de bloque árbol original), el sombreado 218 representa el nivel 1 (correspondiente a un tamaño de bloque igual a la mitad del tamaño de bloque árbol original), el sombreado 220 representa el nivel 2 (correspondiente a un tamaño de bloque igual a un cuarto del tamaño de bloque árbol original), y el sombreado 222 representa el nivel 3 (correspondiente a un tamaño de bloque igual a un octavo del tamaño de bloque árbol original). Todos los indicadores de subdivisión del mismo nivel jerárquico (correspondiente al mismo tamaño de bloque y al mismo color en la representación de cadena binaria de ejemplo) pueden codificarse por entropía usando uno y el mismo modelo de probabilidad mediante la unidad de inserción 18, por ejemplo.
Debe observarse que para el caso de un recorrido de primero en anchura, la información de subdivisión se transmitirá en un orden diferente, como se muestra en la figura 6b.
De manera similar a la subdivisión de cada bloque árbol con fines de predicción, la división de cada bloque de predicción resultante en bloques residuales tiene que transmitirse en el flujo de bits. Además, puede haber un tamaño de bloque máximo y mínimo para la codificación residual que se transmite como información secundaria y que puede cambiar de imagen a imagen. Por otro lado, el tamaño de bloque máximo y mínimo para la codificación residual puede fijarse en el codificador y el descodificador. En cada nodo hoja del árbol cuaternario primario, como los mostrados en la figura 3c, el bloque de predicción correspondiente puede dividirse en bloques residuales del máximo tamaño posible. Estos bloques son los nodos raíz constituyentes de la estructura de árbol cuaternario subordinado para la codificación residual. Por ejemplo, si el tamaño de bloque residual máximo para la imagen es de 64x64 y el bloque de predicción tiene un tamaño de 32x32, entonces todo el bloque de predicción corresponderá a un nodo raíz de árbol cuaternario subordinado (residual) de tamaño 32x32. Por otro lado, si el tamaño de bloque residual máximo para la imagen es de 16x16, entonces el bloque de predicción de 32x32 consistirá en cuatro nodos raíz de árbol cuaternario residual, cada uno con un tamaño de 16x16. En cada bloque de predicción, la señalización de la estructura de árbol cuaternario subordinado se realiza por cada nodo raíz en el orden de exploración de trama (de izquierda a derecha, de arriba abajo). Como en el caso de la estructura de árbol cuaternario primario (predicción), para cada nodo se codifica un indicador que especifica si este nodo particular está dividido en sus cuatro nodos hijo. Después, si este indicador tiene un valor “1”, este procedimiento se repite de manera recursiva para los cuatro nodos hijo correspondientes y sus subbloques correspondientes en orden de exploración de trama (parte superior izquierda, parte superior derecha, parte inferior izquierda, parte inferior derecha) hasta que se llegue a un nodo hoja del árbol cuaternario subordinado. Como en el caso del árbol cuaternario primario, no se requiere ninguna señalización para los nodos situados en el nivel jerárquico más bajo del árbol cuaternario subordinado, ya que esos nodos corresponden a bloques del tamaño de bloque residual más pequeño posible, los cuales no pueden dividirse más.
En la codificación por entropía, los indicadores de subdivisión de bloque residual que pertenecen a bloques residuales del mismo tamaño de bloque pueden codificarse usando uno y el mismo modelo de probabilidad.
Por tanto, según el ejemplo presentado anteriormente con respecto a las figuras 3a a 6a, el subdivisor 28 definió una subdivisión primaria para fines de predicción y una subdivisión subordinada de los bloques de diferente tamaño de la subdivisión primaria con fines de codificación residual. La unidad de inserción de flujo de datos 18 codificó la subdivisión primaria señalizando para cada bloque árbol en un orden de exploración en zigzag una secuencia de bits generada según la figura 6a junto con la codificación del tamaño de bloque primario máximo y el nivel jerárquico máximo de la subdivisión primaria. En cada bloque de predicción definido de esta manera, parámetros de predicción asociados se han incluido en el flujo de datos. Además, una codificación de información similar, es decir, tamaño máximo, nivel jerárquico máximo y secuencia de bits según la figura 6a, tuvo lugar para cada bloque de predicción cuyo tamaño era igual o más pequeño que el tamaño máximo de la subdivisión residual y de cada bloque raíz de árbol residual dentro del cual se han dividido previamente bloques de predicción cuyo tamaño superó el tamaño máximo definido por los bloques residuales. En cada bloque residual definido de esta manera, los datos residuales se insertan en el flujo de datos.
El extractor 102 extrae las secuencias de bits respectivas del flujo de datos en la entrada 116 e informa al divisor 104 acerca de la información de subdivisión así obtenida. Además, la unidad de inserción de flujo de datos 18 y el extractor 102 pueden usar el orden antes mencionado en los bloques de predicción y bloques residuales para transmitir elementos sintácticos adicionales, tales como datos residuales proporcionados por el precodificador residual 14 y parámetros de predicción proporcionados por la unidad de predicción 12. Usar este orden es ventajoso ya que contextos adecuados para codificar los elementos sintácticos individuales para un bloque determinado pueden elegirse para aprovechar los elementos sintácticos ya codificados/descodificados de bloques vecinos. Además, de manera similar, el precodificador residual 14 y la unidad de predicción 12, así como el reconstructor residual 106 y el precodificador 110, pueden procesar los bloques residuales y de predicción individuales en el orden indicado anteriormente.
La figura 7 muestra un diagrama de flujo de etapas que pueden llevarse a cabo mediante el extractor 102 para extraer la información de subdivisión del flujo de datos 22 cuando está codificada de la manera descrita anteriormente. En una primera etapa, el extractor 102 divide la imagen 24 en bloques raíz de árbol 150. Esta etapa se indica como la etapa 300 en la figura 7. La etapa 300 puede necesitar que el extractor 102 extraiga del flujo de datos 22 el tamaño de bloque de predicción máximo. Además, o como alternativa, la etapa 300 puede necesitar que el extractor 102 extraiga del flujo de datos 22 el nivel jerárquico máximo.
A continuación, en una etapa 302, el extractor 102 descodifica un indicador o bit del flujo de datos. La primera vez que se lleva a cabo la etapa 302, el extractor 102 sabe que el indicador respectivo es el primer indicador de la secuencia de bits que pertenece al primer bloque raíz de árbol 150 en el orden de exploración de bloques raíz de árbol 140. Puesto que este indicador es un indicador del nivel jerárquico 0, el extractor 102 puede usar una modelización de contexto asociada a ese nivel jerárquico 0 en la etapa 302 con el fin de determinar un contexto. Cada contexto puede tener una estimación de probabilidad respectiva para descodificar por entropía el indicador asociado con el mismo. La estimación de probabilidad de los contextos puede adaptarse de manera individual por contexto a la estadística de símbolos de contexto respectiva. Por ejemplo, para determinar un contexto apropiado para descodificar el indicador del nivel jerárquico 0 en la etapa 302, el extractor 102 puede seleccionar un contexto de un conjunto de contextos asociado con ese nivel jerárquico 0 dependiendo del indicador de nivel jerárquico 0 de bloques árbol vecinos, o incluso además dependiendo de información contenida en las cadenas de bits que definen la subdivisión en árboles cuaternarios de bloques árbol vecinos del bloque árbol actualmente procesado, tal como el bloque árbol vecino superior izquierdo.
En la siguiente etapa, en concreto la etapa 304, el extractor 102 comprueba si el indicador decodificado recientemente sugiere una división. Si este es el caso, el extractor 102 divide el bloque actual, en este caso un bloque árbol, o indica esta división al subdivisor 104a en la etapa 306 y comprueba, en la etapa 308, si el nivel jerárquico actual es igual al nivel jerárquico máximo menos uno. Por ejemplo, el extractor 102 también podría haber extraído del flujo de datos, en la etapa 300, el nivel jerárquico máximo. Si el nivel jerárquico actual no es igual al nivel jerárquico máximo menos uno, el extractor 102 incrementa en 1 el nivel jerárquico actual en la etapa 310 y vuelve a la etapa 302 para descodificar el siguiente indicador del flujo de datos. En este momento, los indicadores que van a descodificarse en la etapa 302 pertenecen a otro nivel jerárquico y, por tanto, según una realización, el extractor 102 puede seleccionar uno de un conjunto diferente de contextos, perteneciendo el conjunto al nivel jerárquico actual. La selección puede basarse también en secuencias de bits de subdivisión según la figura 6a de bloques árbol vecinos que ya se han descodificado.
Si se ha descodificado un indicador y la comprobación en la etapa 304 revela que este indicador no sugiere una división del bloque actual, el extractor 102 procede con la etapa 312 para comprobar si el nivel jerárquico actual es 0. Si este es el caso, el extractor 102 prosigue con el procesamiento con respecto al siguiente bloque raíz de árbol en el orden de exploración 140 de la etapa 314 o interrumpe el procesamiento extrayendo la información de subdivisión si no queda ningún bloque raíz de árbol que procesar.
Debe observarse que la descripción de la figura 7 se centra en la descodificación de los indicadores de subdivisión de solamente la subdivisión de predicción, de manera que, de hecho, la etapa 314 puede implicar la descodificación de elementos sintácticos o contenedores (bins) adicionales que pertenecen, por ejemplo, al bloque árbol actual. En cualquier caso, si hay un bloque raíz de árbol adicional o subsiguiente, el extractor 102 avanza desde la etapa 314 hasta la etapa 302 para descodificar el siguiente indicador de la información de subdivisión, concretamente, el primer indicador de la secuencia de indicadores relacionada con el nuevo bloque raíz de árbol.
Si, en la etapa 312 resulta que el nivel jerárquico no es igual a 0, el funcionamiento prosigue con la etapa 316 comprobando si hay nodos hijo adicionales que pertenezcan al nodo actual. Es decir, cuando el extractor 102 lleva a cabo la comprobación en la etapa 316 ya ha comprobado en la etapa 312 que el nivel jerárquico actual es un nivel jerárquico diferente al nivel jerárquico 0. A su vez, esto significa que hay un nodo padre que pertenece a un bloque raíz de árbol 150 o a uno de los bloques más pequeños 152a-d, o incluso bloques más pequeños 152a-d, y así sucesivamente. El nodo de la estructura de árbol, al que pertenece el indicador descodificado recientemente, tiene un nodo padre, que es común a tres nodos adicionales de la estructura de árbol actual. El orden de exploración entre tales nodos hijo que tienen un nodo padre común se ha ilustrado a modo de ejemplo en la figura 3a para el nivel jerárquico 0 con el signo de referencia 200. Por tanto, en la etapa 316, el extractor 102 comprueba si estos cuatro nodos hijo ya han sido visitados durante el proceso de la figura 7. Si este no es el caso, es decir, si hay más nodos hijo con el nodo padre actual, el proceso de la figura 7 prosigue con la etapa 318, donde se visita el siguiente nodo hijo según un orden de exploración en zigzag 200 en el nivel jerárquico actual, de modo que su subbloque correspondiente representa ahora el bloque actual del proceso 7 y, después, un indicador se descodifica en la etapa 302 a partir del flujo de datos relacionado con el bloque actual o el nodo actual. Sin embargo, si no hay más nodos hijo para el nodo padre actual en la etapa 316, el proceso de la figura 7 prosigue con la etapa 320, donde el nivel jerárquico actual se reduce en 1, tras lo cual el proceso prosigue con la etapa 312.
Llevando a cabo las etapas mostradas en la figura 7, el extractor 102 y el subdivisor 104a actúan conjuntamente para recuperar la subdivisión escogida en el lado del codificador a partir del flujo de datos. El proceso de la figura 7 se centra en el caso de la subdivisión de predicción descrito anteriormente. La figura 8 muestra, en combinación con el diagrama de flujo de la figura 7, cómo el extractor 102 y el subdivisor 104a actúan conjuntamente para recuperar la subdivisión residual a partir del flujo de datos.
En particular, la figura 8 muestra las etapas llevadas a cabo por el extractor 102 y el subdivisor 104a, respectivamente, para cada uno de los bloques de predicción resultantes de la subdivisión de predicción. Estos bloques de predicción se recorren, como se ha mencionado anteriormente, según un orden de exploración en zigzag 140 entre los bloques árbol 150 de la subdivisión de predicción y usando un orden de recorrido de primero en profundidad en cada bloque árbol 150 actualmente visitado para recorrer los bloques hoja como se muestra, por ejemplo, en la figura 3c. Según el orden de recorrido de primero en profundidad, los bloques hoja de bloques árbol primarios divididos se visitan en el orden de recorrido de primero en profundidad, donde los subbloques visitados de un determinado nivel jerárquico tienen un nodo actual común en el orden de exploración en zigzag 200 y donde se explora principalmente en primer lugar la subdivisión de cada uno de estos subbloques antes de proseguir con el subbloque siguiente en este orden de exploración en zigzag 200.
En el ejemplo de la figura 3c, el orden de exploración resultante entre los nodos hoja del bloque árbol 150 se muestra con el signo de referencia 350.
En un bloque de predicción actualmente visitado, el proceso de la figura 8 comienza en la etapa 400. En la etapa 400, un parámetro interno que denota el tamaño actual del bloque actual se fija igual al tamaño del nivel jerárquico 0 de la subdivisión residual, es decir, el tamaño de bloque máximo de la subdivisión residual. Debe recordarse que el tamaño de bloque residual máximo puede ser inferior al tamaño de bloque más pequeño de la subdivisión de predicción o puede ser igual o superior a este último. Dicho de otro modo, según una realización el codificador puede elegir libremente cualquiera de las posibilidades que acaban de mencionarse.
En la siguiente etapa, en concreto la etapa 402, se comprueba si el tamaño de bloque de predicción del bloque actualmente visitado es mayor que el parámetro interno que denota el tamaño actual. Si este es el caso, el bloque de predicción actualmente visitado, que puede ser un bloque hoja de la subdivisión de predicción o un bloque árbol de la subdivisión de predicción, que no tiene que dividirse más, es mayor que el tamaño de bloque residual máximo y, en este caso, el proceso de la figura 8 prosigue con la etapa 300 de la figura 7. Es decir, el bloque de predicción actualmente visitado está dividido en bloques raíz de árbol residuales y el primer indicador de la secuencia de indicadores del primer bloque árbol residual dentro de este bloque de predicción actualmente visitado se descodifica en la etapa 302, y así sucesivamente.
Sin embargo, si el bloque de predicción actualmente visitado tiene un tamaño igual o inferior al parámetro interno que indica el tamaño actual, el proceso de la figura 8 prosigue con la etapa 404, donde el tamaño de bloque de predicción se comprueba para determinar si es igual al parámetro interno que indica el tamaño actual. Si este es el caso, la etapa de división 300 puede omitirse y el proceso prosigue directamente con la etapa 302 de la figura 7.
Sin embargo, si el tamaño de bloque de predicción del bloque de predicción actualmente visitado es más pequeño que el parámetro interno que indica el tamaño actual, el proceso de la figura 8 prosigue con la etapa 406, donde el nivel jerárquico se incrementa en 1 y el tamaño actual se fija al tamaño del nuevo nivel jerárquico dividido por 2 (en ambos sentidos del eje en caso de subdivisión en árboles cuaternarios). Después, la comprobación de la etapa 404 se realiza de nuevo. El efecto del bucle formado por las etapas 404 y 406 es que el nivel jerárquico siempre corresponde al tamaño de los bloques correspondientes que van a dividirse, independientemente de que el bloque de predicción respectivo haya sido más pequeño que o igual/más grande que el tamaño máximo de bloque residual. Por tanto, cuando se descodifican los indicadores en la etapa 302, la modelización de contexto llevada a cabo depende tanto del nivel jerárquico como del tamaño del bloque al que se refiere el indicador, simultáneamente. Usar diferentes contextos para los indicadores de diferentes niveles jerárquicos o tamaños de bloque, respectivamente, es ventajoso ya que la estimación de probabilidad puede ser muy adecuada para la distribución de probabilidad real entre las apariciones del valor de indicador que, por otro lado, tienen un número relativamente moderado de contextos que gestionar, reduciendo así la sobrecarga de gestión de contextos e incrementando la adaptación de contextos a las estadísticas de símbolo reales.
Como se ha mencionado anteriormente, puede haber más de una matriz de muestras y estas matrices de muestras pueden agruparse en uno o más grupos de planos. La señal de entrada que va a codificarse, que entra a través de la entrada 32, por ejemplo, puede ser una imagen de una secuencia de vídeo o una imagen fija. Por tanto, la imagen puede estar en forma de una o más matrices de muestras. En el contexto de la codificación de una imagen de una secuencia de vídeo o una imagen fija, las matrices de muestras pueden hacer referencia a los tres planos de color, tal como el rojo, el verde y el azul, o a planos de luminancia y crominancia, tal como en representaciones a color de YUV o YCbCr. Además, también puede haber matrices de muestras que representan información alfa, es decir, transparencia, y/o información de profundidad para material de vídeo 3D. Varias de estas matrices de muestras pueden estar agrupadas entre sí formando un denominado grupo de planos. Por ejemplo, la luminancia (Y) puede ser un grupo de planos con solamente una matriz de muestras, y la crominancia, tal como CbCr, puede ser otro grupo de planos con dos matrices de muestras o, en otro ejemplo, YUV puede ser un grupo de planos con tres matrices, y una información de profundidad para material de vídeo 3D puede ser un grupo de planos diferente con solamente una matriz de muestras. Para cada grupo de planos, una estructura de árbol cuaternario primario puede codificarse en el flujo de datos 22 para representar la división en bloques de predicción y, para cada bloque de predicción, una estructura de árbol cuaternario secundario que representa la división en bloques residuales. Por tanto, según un primer ejemplo que acaba de mencionarse en el que la componente de luminancia es un grupo de planos, mientras que la componente de crominancia forma el otro grupo de planos, habrá una estructura de árbol cuaternario para los bloques de predicción del plano de luminancia, una estructura de árbol cuaternario para los bloques residuales del plano de luminancia, una estructura de árbol cuaternario para el bloque de predicción del plano de crominancia y una estructura de árbol cuaternario para los bloques residuales del plano de crominancia. Sin embargo, en el segundo ejemplo mencionado anteriormente habrá una estructura de árbol cuaternario conjunta para los bloques de predicción de luminancia y crominancia (YUV), una estructura de árbol cuaternario conjunta para los bloques residuales de luminancia y crominancia (YUV), una estructura de árbol cuaternario para los bloques de predicción de la información de profundidad para material de vídeo en 3D y una estructura de árbol cuaternario para los bloques residuales de la información de profundidad para el material de vídeo 3D.
Además, en la descripción anterior, la señal de entrada se dividió en bloques de predicción usando una estructura de árbol cuaternario primario y se describió cómo estos bloques de predicción se subdividieron adicionalmente en bloques residuales usando una estructura de árbol cuaternario subordinado. Según una realización alternativa, la subdivisión podría no terminar en la fase de árbol de cuadratura subordinado. Es decir, los bloques obtenidos a partir de una división usando la estructura de árbol cuaternario subordinado podrían subdividirse además usando una estructura terciaria de árbol cuaternario. A su vez, esta división podría usarse con el fin de usar herramientas de codificación adicionales que faciliten la codificación de la señal residual.
La anterior descripción se ha centrado en la subdivisión llevada a cabo por el subdivisor 28 y el subdivisor 104a, respectivamente. Como se ha mencionado anteriormente, la subdivisión definida por el subdivisor 28 y 104a, respectivamente, puede controlar la granularidad de procesamiento de los módulos de codificador 10 y descodificador 100 mencionados anteriormente. Sin embargo, según las realizaciones descritas a continuación, los subdivisores 228 y 104a, respectivamente, pueden ser seguidos de un fusionador 30 y un fusionador 104b, respectivamente. Sin embargo, debe observarse que los fusionadores 30 y 104b son opcionales y pueden omitirse.
Sin embargo, como se describirá posteriormente en mayor detalle, el fusionador brinda al codificador la oportunidad de combinar algunos de los bloques de predicción o bloques residuales en grupos o agrupamientos, de modo que el otro o al menos algunos de los otros módulos pueden tratar estos grupos de bloques conjuntamente. Por ejemplo, la unidad de predicción 12 puede sacrificar las pequeñas desviaciones entre los parámetros de predicción de algunos bloques de predicción como se ha descrito mediante optimización usando de manera óptima la subdivisión del subdivisor 28 y usando parámetros de predicción comunes a todos estos bloques de predicción en lugar de si la señalización de la agrupación de los bloques de predicción junto con una transmisión de parámetros comunes para todos los bloques que pertenecen a este grupo es más prometedora en lo que respecta a la relación velocidad/distorsión que señalizando individualmente los parámetros de predicción para todos estos bloques de predicción. El procesamiento para recuperar la predicción en las unidades de predicción 12 y 110, en función de estos parámetros de predicción comunes, puede, sin embargo, seguir teniendo lugar en cada bloque de predicción. Sin embargo, también es posible que las unidades de predicción 12 y 110 lleven a cabo incluso el proceso de predicción una vez para todo el grupo de bloques de predicción.
Como se describirá posteriormente en mayor detalle, también es posible que la agrupación de bloques de predicción no sea solamente para usar parámetros de predicción idénticos o comunes para un grupo de bloques de predicción sino que, como alternativa o adicionalmente, permita al codificador 10 enviar un parámetro de predicción para este grupo junto con residuos de predicción para bloques de predicción que pertenecen a este grupo, de manera que la sobrecarga de señalización para señalizar los parámetros de predicción para este grupo pueda reducirse. En el segundo caso, el proceso de fusión puede influir simplemente en la unidad de inserción de flujo de datos 18 en lugar de en las decisiones tomadas por el precodificador residual 14 y la unidad de predicción 12. Sin embargo, más detalles se presentan posteriormente. Sin embargo, en términos generales, debe observarse que el aspecto que acaba de mencionarse también se aplica a las otras subdivisiones, tal como la subdivisión residual o la subdivisión de filtro mencionadas anteriormente.
En primer lugar, la fusión de conjuntos de muestras, tal como los bloques residuales y de predicción antes mencionados se ve motivada en un sentido más general, es decir, no está limitada a la subdivisión multiárbol mencionada anteriormente. Sin embargo, la descripción se centra a continuación en la fusión de bloques resultantes de una subdivisión multiárbol con respecto a la cual se han descrito anteriormente realizaciones.
En términos generales, fusionar los elementos sintácticos asociados a conjuntos particulares de muestras con el fin de transmitir parámetros de codificación asociados permite reducir la tasa de información secundaria en aplicaciones de codificación de imagen y vídeo. Por ejemplo, las matrices de muestras de la señal que va a codificarse están divididas normalmente en conjuntos particulares de muestras o conjuntos de muestras, que pueden representar bloques rectangulares o cuadrados, o cualquier otra colección de muestras, incluyendo regiones conformadas de manera arbitraria, triángulos u otras formas. En las realizaciones anteriormente descritas, las regiones conectadas de manera simple eran los bloques de predicción y los bloques residuales resultantes de la subdivisión multiárbol. La subdivisión de matrices de muestras puede fijarse por la sintaxis o, como se ha descrito anteriormente, la subdivisión puede, al menos parcialmente, señalizarse en el flujo de bits. Para mantener baja la tasa de información secundaria para señalizar la información de subdivisión, la sintaxis solo permite normalmente un número limitado de opciones que den como resultado una división simple, tal como la subdivisión de bloques en bloques más pequeños. Los conjuntos de muestras están asociados a parámetros de codificación particulares, que pueden especificar información de predicción o modos de codificación residuales, etc. Detalles relacionados con esta cuestión se han descrito anteriormente. Para cada conjunto de muestras pueden transmitirse parámetros de codificación individuales, tal como para especificar la predicción y/o la codificación residual. Para conseguir una mayor eficacia de codificación, el aspecto de fusión descrito posteriormente, en concreto la fusión de dos o más conjuntos de muestras en denominados grupos de conjuntos de muestras, tiene algunas ventajas, las cuales se describen en detalle posteriormente. Por ejemplo, los conjuntos de muestras pueden fusionarse de manera que todos los conjuntos de muestras de tal grupo compartan los mismos parámetros de codificación, que pueden transmitirse junto con uno de los conjuntos de muestras del grupo. Al hacer esto, los parámetros de codificación no tienen que transmitirse para cada conjunto de muestras del grupo de conjuntos de muestras individualmente sino que, en cambio, los parámetros de codificación se transmiten solamente una vez para todo el grupo de conjuntos de muestras. Como resultado, la tasa de información secundaria para transmitir los parámetros de codificación puede reducirse y la eficacia de codificación global puede aumentar. Como un enfoque alternativo, un refinamiento adicional para uno o más de los parámetros de codificación puede transmitirse para uno o más de los conjuntos de muestras de un grupo de conjuntos de muestras. El refinamiento puede aplicarse a todos los conjuntos de muestras de un grupo o solamente al conjunto de muestras para el que se transmite.
El aspecto de fusión descrito posteriormente en detalle también proporciona al codificador una gran libertad a la hora de crear el flujo de bits 22, ya que el enfoque de fusión aumenta significativamente el número de posibilidades para seleccionar una división para las matrices de muestras de una imagen. Puesto que el codificador puede elegir entre más opciones, tal como para minimizar una medida de velocidad/distorsión particular, la eficacia de codificación puede mejorarse. Hay varias posibilidades de hacer funcionar un codificador. En un enfoque simple, el codificador puede determinar en primer lugar la mejor subdivisión de las matrices de muestras. Haciendo referencia brevemente a la figura 1, el subdivisor 28 podría determinar la subdivisión óptima en una primera fase. Después, puede comprobarse, para cada conjunto de muestras, si una fusión con otro conjunto de muestras u otro grupo de conjuntos de muestras reduce una medida particular del coste de velocidad/distorsión. Aquí pueden volver a estimarse los parámetros de predicción asociados a un grupo fusionado de conjuntos de muestras, por ejemplo llevando a cabo una nueva búsqueda de movimiento, o los parámetros de predicción que ya se han determinado para el conjunto de muestras común y el conjunto de muestras candidatas o grupo de conjuntos de muestras para la fusión pueden evaluarse para el grupo considerado de conjuntos de muestras. En un enfoque más extenso, una medida particular del coste de velocidad/distorsión puede evaluarse para grupos candidatos adicionales de conjuntos de muestras.
Debe observarse que el enfoque de fusión descrito anteriormente no cambia el orden de procesamiento de los conjuntos de muestras. Es decir, el concepto de fusión puede implementarse de tal manera que el retardo no aumente, es decir, cada conjunto de muestras sigue pudiendo descodificarse en el mismo instante de tiempo que sin usar el enfoque de fusión.
Si, por ejemplo, la velocidad binaria que se ahorra reduciendo el número de parámetros de predicción codificados es mayor que la velocidad binaria que va a emplearse adicionalmente para codificar información de fusión para indicar la fusión a la parte de descodificación, el enfoque de fusión, que va a describirse posteriormente en mayor detalle, da como resultado una mayor eficacia de codificación. Debe mencionarse además que la extensión sintáctica descrita para la fusión proporciona al codificador libertad adicional para seleccionar la división de una imagen o grupo de planos en bloques. Dicho de otro modo, el codificador no está limitado a llevar a cabo primero la subdivisión y después a comprobar si algunos de los bloques resultantes tienen el mismo conjunto o un conjunto similar de parámetros de predicción. Como una alternativa simple, el codificador puede determinar primero la subdivisión según una medida del coste de velocidad/distorsión y después el codificador puede comprobar, para cada bloque, si una fusión con uno de sus bloques vecinos o el grupo de bloques asociado ya determinado reduce una medida del coste de velocidad/distorsión. En este punto pueden volver a estimarse los parámetros de predicción asociados con el nuevo grupo de bloques, por ejemplo llevando a cabo una nueva búsqueda de movimiento, o los parámetros de predicción que ya se han determinado para el bloque actual y el bloque o grupos de bloques vecinos pueden evaluarse para el nuevo grupo de bloques. La información de fusión puede señalizarse por cada bloque. Efectivamente, la fusión también puede interpretarse como la inferencia de los parámetros de predicción para un bloque actual, donde los parámetros de predicción inferidos se fijan igual a los parámetros de predicción de uno de los bloques vecinos. Como alternativa, las partes residuales pueden transmitirse para bloques de un grupo de bloques.
Por tanto, la idea básica subyacente al concepto de fusión descrito posteriormente en detalle es reducir la velocidad binaria que se requiere para transmitir los parámetros de predicción u otros parámetros de codificación fusionando bloques vecinos en un grupo de bloques, donde cada grupo de bloques está asociado a un único conjunto de parámetros de codificación, tales como parámetros de predicción o parámetros de codificación residuales. La información de fusión se señaliza en el flujo de bits además de la información de subdivisión, si la hubiera. La ventaja del concepto de fusión es una mayor eficacia de codificación resultante de una menor tasa de información secundaria para los parámetros de codificación. Debe observarse que los procesos de fusión aquí descritos también pueden extenderse a otras dimensiones diferentes a las dimensiones espaciales. Por ejemplo, un grupo de conjuntos de muestras o bloques, respectivamente, que está dispuesto en varias imágenes de vídeo diferentes, puede fusionarse en un grupo de bloques. La fusión también podría aplicarse a la compresión 4D y la codificación de campos de luz.
Por tanto, volviendo brevemente a la anterior descripción de las figuras 1 a 8, debe observarse que el proceso de fusión posterior a la subdivisión es ventajoso independientemente del modo específico en que los subdivisores 28 y 104a, respectivamente, subdividen las imágenes. Para ser más precisos, estos últimos también pueden subdividir las imágenes de manera similar a, por ejemplo, H.264, es decir, subdividiendo cada imagen en una disposición regular de macrobloques rectangulares o cuadráticos de un tamaño predeterminado, tal como muestras de luminancia de 16x16 o un tamaño señalizado en el flujo de datos, donde cada macrobloque tiene determinados parámetros de codificación asociados con el mismo que comprenden, entre otros, parámetros de división que definen, para cada macrobloque, una división en una subcuadrícula regular de 1,2, 4 o algún otro número de divisiones que sirven como una granularidad para la predicción y los parámetros de predicción correspondientes del flujo de datos así como para definir la división para las partes residuales y la granularidad de transformación residual correspondiente.
En cualquier caso, la fusión proporciona las ventajas descritas antes brevemente, tal como reducir la tasa de información secundaria en aplicaciones de codificación de imágenes y vídeo. Conjuntos particulares de muestras, que pueden representar los bloques rectangulares o cuadráticos o regiones conformadas de manera arbitraria o cualquier otra colección de muestras, tal como cualquier región o muestras conectadas de manera simple, están normalmente conectados con un conjunto particular de parámetros de codificación y para cada uno de los conjuntos de muestras, los parámetros de codificación están incluidos en el flujo de bits, representando los parámetros de codificación, por ejemplo, parámetros de codificación que especifican la manera en que se predice el conjunto correspondiente de muestras usando muestras ya codificadas. La división de las matrices de muestras de una imagen en conjuntos de muestras puede fijarse mediante la sintaxis o puede señalizarse mediante la información de subdivisión correspondiente en el flujo de bits. Los parámetros de codificación para el conjunto de muestras pueden transmitirse en un orden predefinido, especificado por la sintaxis. Según la funcionalidad de fusión, el fusionador 30 puede llevar a cabo la señalización, para un conjunto común de muestras o un bloque actual, tal como un bloque de predicción o un bloque residual que está fusionado con uno u otros más conjuntos de muestras, en un grupo de conjuntos de muestras. Por lo tanto, los parámetros de codificación para un grupo de conjuntos de muestras necesitan ser transmitidos solamente una vez. En una realización particular, los parámetros de codificación de un conjunto de muestras actual no se transmiten si el conjunto de muestras actual se combina con un conjunto de muestras o un grupo ya existente de conjuntos de muestras para el que ya se han transmitido los parámetros de codificación. En cambio, los parámetros de codificación para el conjunto actual de muestras se fijan igual que los parámetros de codificación del conjunto de muestras o grupo de conjuntos de muestras con los que se ha fusionado el conjunto de muestras actual. Como un enfoque alternativo, un refinamiento adicional para uno o más de los parámetros de codificación puede transmitirse para un conjunto de muestras actual. El refinamiento puede aplicarse a todos los conjuntos de muestras de un grupo o solamente al conjunto de muestras para el que se transmite.
Según una realización, para cada conjunto de muestras tal como un bloque de predicción como los mencionados anteriormente, un bloque residual como los mencionados anteriormente, o un bloque hoja de una subdivisión multiárbol como los mencionados anteriormente, el conjunto de todos los conjuntos de muestras codificadas/descodificadas previamente se denomina “conjunto de conjuntos de muestras causales”. Véase, por ejemplo, la figura 3c. Todos los bloques mostrados en esta figura son el resultado de una determinada subdivisión, tal como una subdivisión de predicción o una subdivisión residual o cualquier subdivisión multiárbol, o similar, y el orden de codificación/descodificación definido entre estos bloques está definido por la flecha 350. Considerando un determinado bloque de entre estos bloques como el conjunto de muestras actual o la región conectada de manera simple actual, su conjunto de conjuntos de muestras causales está formado por todos los bloques que preceden al bloque actual en el orden 350. Sin embargo, debe recordarse de nuevo que otra subdivisión que no use una subdivisión multiárbol también será posible en lo que respecta a la siguiente descripción de los principios de fusión.
Los conjuntos de muestras que pueden usarse para la fusión con un conjunto actual de muestras se denominan en lo sucesivo “conjunto de conjuntos de muestras candidatas” y es siempre un subconjunto del “conjunto de conjuntos de muestras causales”. El modo en que se forma el subconjunto puede ser conocido por el descodificador o puede especificarse en el flujo de datos o flujo de bits desde el codificador al descodificador. Si un conjunto actual particular de muestras se codifica/descodifica y su conjunto de conjuntos de muestras candidatas no está vacío, se señaliza en el flujo de datos en el codificador o se obtiene a partir del flujo de datos en el descodificador si el conjunto de muestras común está fusionado con un conjunto de muestras de este conjunto de conjuntos de muestras candidatas y, si es así, con cuál de los mismos. En caso contrario, la fusión no puede usarse para este bloque, ya que el conjunto de conjuntos de muestras candidatas está vacío en cualquier caso.
Hay diferentes maneras de determinar el subconjunto del conjunto de conjuntos de muestras causales que representará el conjunto de conjuntos de muestras candidatas. Por ejemplo, la determinación de los conjuntos de muestras candidatas puede basarse en una muestra del conjunto actual de muestras, que está definida geométricamente de manera unívoca, tal como la muestra de imagen superior izquierda de un bloque rectangular o cuadrático. Empezando a partir de esta muestra definida geométricamente de manera unívoca se determina un número de muestras particular distinto de cero que representan vecinos espaciales directos de esta muestra definida geométricamente de manera unívoca. Por ejemplo, este número de muestras particular distinto de cero comprende el vecino superior y el vecino izquierdo de la muestra definida geométricamente de manera unívoca del conjunto actual de muestras, de modo que el número de muestras vecinas distinto de cero puede ser, como máximo, de dos, si uno de entre el vecino superior o el vecino izquierdo no está disponible o está fuera de la imagen, o cero en caso de que falten ambos vecinos.
El conjunto de conjuntos de muestras candidatas puede determinarse de modo que abarque los conjuntos de muestras que contengan al menos uno del número distinto de cero de las muestras vecinas recién mencionadas. Véase, por ejemplo, la figura 9a. El conjunto de muestras actual que está considerándose actualmente como objeto de fusión será el bloque X, y su muestra definida geométricamente de manera unívoca será, a modo de ejemplo, la muestra superior izquierda indicada en 400. La muestra vecina superior y la muestra vecina izquierda de la muestra 400 se indican en 402 y 404. El conjunto de conjuntos de muestras causales o el conjunto de bloques causales está resaltado de manera sombreada. Entre estos bloques, los bloques A y B comprenden una de las muestras vecinas 402 y 404 y, por lo tanto, estos bloques forman el conjunto de bloques candidatos o el conjunto de conjuntos de muestras candidatas.
Según otra realización, el conjunto de conjuntos de muestras candidatas determinado para la fusión puede incluir además, o exclusivamente, conjuntos de muestras que contienen un número de muestras particular distinto de cero, que puede ser uno o dos, que tengan la misma ubicación espacial pero contenidos en una imagen diferente, concretamente, por ejemplo, una imagen codificada/descodificada previamente. Por ejemplo, además de los bloques A y B de la figura 9a, puede usarse un bloque de una imagen codificada previamente que comprenda la muestra en la misma posición que la muestra 400. A modo de ejemplo, debe observarse que simplemente la muestra vecina superior 404 o simplemente la muestra vecina izquierda 402 puede usarse para definir el número de muestras vecinas distinto de cero mencionado anteriormente. Generalmente, el conjunto de conjuntos de muestras candidatas puede obtenerse a partir de datos procesados previamente de la imagen actual o de otras imágenes. La obtención puede incluir información direccional espacial, tal como coeficientes de transformada asociados a una dirección particular y gradientes de imagen de la imagen actual o puede incluir información direccional temporal, tal como representaciones de movimiento de vecinos. A partir de tales datos disponibles en el receptor/descodificador y otros datos e información secundaria del flujo de datos, si la hubiera, puede obtenerse el conjunto de conjuntos de muestras candidatas.
Debe observarse que la obtención de los conjuntos de muestras candidatas se lleva a cabo en paralelo mediante el fusionador 30 en el lado del codificador y por el fusionador 104b en el lado del descodificador. Como acaba de mencionarse, ambos pueden determinar el conjunto de conjuntos de muestras candidatas de manera independiente entre sí según una manera predefinida conocida por ambos, o el codificador puede señalizar indicaciones en el flujo de bits, que hacen que el fusionador 104b lleve a cabo la obtención de estos conjuntos de muestras candidatas de igual manera al modo en que el fusionador 30 en lado del codificador determinó el conjunto de conjuntos de muestras candidatas.
Como se describirá posteriormente en mayor detalle, el fusionador 30 y la unidad de inserción de flujo de datos 18 actúan conjuntamente para transmitir uno o más elementos sintácticos para cada conjunto de muestras, que especifican si el conjunto de muestras está fusionado con otro conjunto de muestras que, a su vez, puede ser parte de un grupo ya fusionado de conjuntos de muestras y cuál del conjunto de conjuntos de muestras candidatas se utiliza para la fusión. A su vez, el extractor 102 extrae estos elementos sintácticos e informa al fusionador 104b consecuentemente. En particular, según la realización específica descrita posteriormente, uno o dos elementos sintácticos se transmiten para especificar la información de fusión para un conjunto específico de muestras. El primer elemento sintáctico especifica si el conjunto actual de muestras está fusionado con otro conjunto de muestras. El segundo elemento sintáctico, que solo se transmite si el primer elemento sintáctico especifica que el conjunto de muestras actual está fusionado con otro conjunto de muestras, especifica cuál de los conjuntos de conjuntos de muestras candidatas se utiliza para la fusión. La transmisión del primer elemento sintáctico puede suprimirse si un conjunto obtenido de conjuntos de muestras candidatas está vacío. Dicho de otro modo, el primer elemento sintáctico solo puede transmitirse si un conjunto obtenido de conjuntos de muestras candidatas no está vacío. El segundo elemento sintáctico solo puede transmitirse si un conjunto obtenido de conjuntos de muestras candidatas contiene más de un conjunto de muestras, ya que si solo hay un conjunto de muestras en el conjunto de conjuntos de muestras candidatas, no es posible otra selección. Además, la transmisión del segundo elemento sintáctico puede suprimirse si el conjunto de conjuntos de muestras candidatas comprende más de un conjunto de muestras, pero solo si todos los conjuntos de muestras del conjunto de conjuntos de muestras candidatas están asociados al mismo parámetro de codificación. Dicho de otro modo, el segundo elemento sintáctico solo puede transmitirse si al menos dos conjuntos de muestras de un conjunto obtenido de conjuntos de muestras candidatos están asociados a diferentes parámetros de codificación.
En el flujo de bits, la información de fusión para un conjunto de muestras puede codificarse antes que los parámetros de predicción u otros parámetros de codificación particulares que estén asociados con ese conjunto de muestras. Los parámetros de predicción o de codificación solo pueden transmitirse si la información de fusión indica que el conjunto de muestras actual no está fusionado con ningún otro conjunto de muestras.
La información de fusión para un determinado conjunto de muestras, es decir, un bloque, por ejemplo, puede codificarse después de que se haya transmitido un subconjunto apropiado de los parámetros de predicción o, en un sentido más general, de parámetros de codificación que están asociados con el conjunto de muestras respectivo. El subconjunto de parámetros de predicción/codificación puede consistir en uno o más índices de imagen de referencia o en una o más componentes de un vector de parámetros de movimiento o un índice de referencia y una o más componentes de un vector de parámetros de movimiento, etc. El subconjunto ya transmitido de parámetros de predicción o de codificación puede usarse para obtener un conjunto de conjuntos de muestras candidatas a partir de un conjunto provisional más grande de conjuntos de muestras candidatas, que pueden haberse obtenido de la manera que acaba de describirse. Como un ejemplo, puede calcularse una medida de diferencia o distancia según una medida de distancia predeterminada entre los parámetros de predicción y de codificación ya codificados del conjunto de muestras actual y los parámetros de predicción o codificación correspondientes del conjunto preliminar de conjuntos de muestras candidatas. Después, solamente los conjuntos de muestras para los que la medida de diferencia, o distancia, calculada es inferior o igual a un umbral predefinido u obtenido, se incluyen en el conjunto final, es decir, reducido, de conjuntos de muestras candidatas. Véase, por ejemplo, la figura 9a. El conjunto de muestras actual será el bloque X. Un subconjunto de los parámetros de codificación que pertenece a este bloque ya se habrá insertado en el flujo de datos 22. Supóngase, por ejemplo, que el bloque X era un bloque de predicción, en cuyo caso el subconjunto apropiado de los parámetros de codificación podría ser un subconjunto de los parámetros de predicción para este bloque X, tal como un subconjunto de un conjunto que comprende un índice de referencia de imagen e información de correlación de movimiento, tal como un vector de movimiento. Si el bloque X era un bloque residual, el subconjunto de parámetros de codificación es un subconjunto de información residual, tal como coeficientes de transformada o un mapa que indica las posiciones de los coeficientes de transformada significativos del bloque X. En función de esta información, tanto la unidad de inserción de flujo de datos 18 como el extractor 102 pueden usar esta información con el fin de determinar un subconjunto de los bloques A y B, que forman, en esta realización específica, el conjunto preliminar de conjuntos de muestras candidatas mencionado anteriormente. En particular, puesto que los bloques A y B pertenecen al conjunto de conjuntos de muestras causales, sus parámetros de codificación están disponibles tanto para el codificador como para el descodificador en el momento en que los parámetros de codificación del bloque X se codifican/descodifican actualmente. Por lo tanto, la comparación antes mencionada que usa la medida de diferencia puede usarse para excluir cualquier número de bloques del conjunto preliminar de conjuntos de muestras candidatas A y B. El conjunto reducido resultante de conjuntos de muestras candidatas puede usarse entonces de la manera descrita anteriormente, concretamente con el fin de determinar si un indicador de fusión que indica una fusión va a transmitirse en o va a extraerse del flujo de datos dependiendo del número de conjuntos de muestras del conjunto reducido de conjuntos de muestras candidatas y si un segundo elemento sintáctico tiene que transmitirse en o tiene que extraerse del flujo de datos, donde un segundo elemento sintáctico indica cuál de los conjuntos de muestras del conjunto reducido de conjuntos de muestras candidatas será el bloque compañero para la fusión.
El umbral mencionado anteriormente con el que se comparan las distancias mencionadas anteriormente puede fijarse y ser conocido por el codificador y el descodificador, o puede obtenerse en función de las distancias calculadas, tal como la mediana de los valores de diferencia, o alguna otra tendencia central o similar. En este caso, el conjunto reducido de conjuntos de muestras candidatas sería inevitablemente un subconjunto apropiado del conjunto preliminar de conjuntos de muestras candidatas. Como alternativa, solamente se seleccionan conjuntos de muestras del conjunto preliminar de conjuntos de muestras candidatas para los que se minimiza la distancia según la medida de distancia. Como alternativa, exactamente un conjunto de muestras se selecciona a partir del conjunto preliminar de conjuntos de muestras candidatos que usan la medida de distancia mencionada anteriormente. En el último caso, la información de fusión solo necesitará especificar si el conjunto de muestras actual va a fusionarse o no con un único conjunto candidato de muestras.
Por tanto, el conjunto de bloques candidatos puede formarse u obtenerse como se describe a continuación con respecto a la figura 9a. Empezando por la posición de muestra superior izquierda 400 del bloque actual X de la figura 9a, se obtiene la posición de su muestra vecina izquierda 402 y la posición de su muestra vecina superior 404, en su lado de codificador y en su lado de descodificador. Por tanto, el conjunto de bloques candidatos solo puede tener un máximo de dos elementos, concretamente los bloques del conjunto sombreado de bloques causales de la figura 9a que contienen una de las dos posiciones de muestras, que en el caso de la figura 9a son los bloques B y A. Por tanto, el conjunto de bloques candidatos solo puede tener los dos bloques directamente vecinos de la posición de muestra superior izquierda del bloque actual como sus elementos. Según otra realización, el conjunto de bloques candidatos puede venir dado por todos los bloques que se han codificado antes que el bloque actual y contener una o más muestras que representan vecinos espaciales directos de cualquier muestra del bloque actual. La vecindad espacial directa puede estar limitada a vecinos izquierdos directos y/o a vecinos superiores directos y/o a vecinos derechos directos y/o a vecinos inferiores directos de cualquier muestra del bloque actual. Véase, por ejemplo, la figura 9a que muestra otra subdivisión de bloque. En este caso, los bloques candidatos comprenden cuatro bloques, en concreto los bloques A, B, C y D.
Como alternativa, el conjunto de bloques candidatos, adicional o exclusivamente, puede incluir bloques que contienen una o más muestras que están ubicadas en la misma posición que cualquiera de las muestras del bloque actual, pero están contenidas en una imagen diferente, es decir, ya codificada/descodificada.
Incluso alternativamente, el conjunto candidato de bloques representa un subconjunto de los conjuntos de bloques antes descritos, que se determinaron por la vecindad en dirección espacial o temporal. El subconjunto de bloques candidatos puede fijarse, señalizarse u obtenerse. La obtención del subconjunto de bloques candidatos puede considerar decisiones hechas para otros bloques en la imagen o en otras imágenes. Como un ejemplo, bloques que están asociados con los mismos parámetros de codificación o con parámetros de codificación muy similares que los de otros bloques candidatos podrían no incluirse en el conjunto de bloques candidato.
La siguiente descripción de una realización se aplica para el caso en que solamente un máximo de dos bloques que contienen la muestra vecina izquierda y superior de la muestra superior izquierda del bloque actual se consideran posibles candidatos.
Si el conjunto de bloques candidatos no está vacío se señaliza un indicador denominado merge_flag, que especifica si el bloque actual está fusionado con alguno de los bloques candidatos. Si merge_flag es igual a 0 (“falso”), este bloque no está fusionado con uno de sus bloques candidatos y todos los parámetros de codificación se transmiten de la manera habitual. Si merge_flag es igual a 1 (“verdadero”), se aplica lo siguiente. Si el conjunto de bloques candidatos contiene uno y solo un bloque, este bloque candidato se usa para la fusión. En caso contrario, el conjunto de bloques candidatos contiene exactamente dos bloques. Si los parámetros de predicción de estos dos bloques son idénticos, estos parámetros de predicción se usan para el bloque actual. En caso contrario (los dos bloques tienen diferentes parámetros de predicción), se señaliza un indicador denominado merge_left_flag. Si merge_left_flag es igual a 1 (“verdadero”), el bloque que contiene la posición de muestra vecina izquierda de la posición de muestra superior izquierda del bloque actual se selecciona de entre el conjunto de bloques candidatos. Si merge_left_flag es igual a 0 (“falso”), se selecciona el otro bloque (es decir, el vecino superior) del conjunto de bloques candidatos. Los parámetros de predicción del bloque seleccionado se usan para el bloque actual.
Para resumir algunas de las realizaciones descritas anteriormente con respecto a la fusión, se hace referencia a la figura 10, que muestra etapas llevadas a cabo por el extractor 102 para extraer la información de fusión del flujo de datos 22 que entra a través de la entrada 116.
El proceso comienza en 450 con la identificación de los bloques candidatos o conjuntos de muestras para un conjunto o bloque de muestras actual. Debe recordarse que los parámetros de codificación para los bloques se transmiten en el flujo de datos 22 en un determinado orden unidimensional y, por consiguiente, la figura 10 se refiere al proceso de recuperar la información de fusión para un conjunto o bloque de muestras actualmente visitado.
Como se ha mencionado anteriormente, la identificación y la etapa 450 pueden comprender la identificación entre bloques previamente descodificados, es decir, el conjunto causal de bloques, en función de aspectos de vecindad. Por ejemplo, esos bloques vecinos pueden nombrarse candidatos, los cuales incluyen determinadas muestras vecinas que están cerca de una o más muestras predeterminadas de manera geométrica del bloque actual X en el espacio o el tiempo. Además, la etapa de identificación puede comprender dos fases, en concreto una primera fase que implica una identificación como la que acaba de mencionarse, particularmente basada en la vecindad, dando lugar a un conjunto preliminar de bloques candidatos, y una segunda fase según la cual simplemente esos bloques se nombran candidatos, cuyos parámetros de codificación ya transmitidos satisfacen una determinada relación con respecto a un subconjunto apropiado de los parámetros de codificación del bloque X actual, que ya se ha descodificado a partir del flujo de datos antes de la etapa 450.
Después, el proceso avanza hasta la etapa 452, donde se determina si el número de bloques candidatos es mayor que cero. Si este es el caso, un indicador merge_flag se extrae del flujo de datos en la etapa 454. La etapa de extracción 454 puede implicar descodificación por entropía. El contexto para descodificar por entropía el indicador merge_flag en la etapa 454 puede determinarse en función de los elementos sintácticos que pertenecen a, por ejemplo, el conjunto de bloques candidatos o el conjunto preliminar de bloques candidatos, donde la dependencia de los elementos sintácticos puede limitarse a la información de si los bloques que pertenecen al conjunto de interés han sido sometidos o no a la fusión. La estimación de probabilidad del contexto seleccionado puede adaptarse.
Sin embargo, si se determina que el número de bloques candidatos es cero, 452, el proceso de la figura 10 prosigue con la etapa 456, donde los parámetros de codificación del bloque actual se extraen del flujo de bits o, en caso de la alternativa de identificación de dos fases antes mencionada, los parámetros de codificación restantes del mismo, tras lo cual el extractor 102 prosigue con el procesamiento del siguiente bloque en el orden de exploración de bloques, tal como el orden 350 mostrado en la figura 3c.
Volviendo a la etapa 454, el proceso prosigue, tras la extracción realizada en la etapa 454, con la etapa 458 en la que se comprueba si el indicador merge_flag extraído sugiere la presencia o la ausencia de una fusión del bloque actual. Si no tiene lugar ninguna fusión, el proceso prosigue con la etapa 456 antes mencionada. En caso contrario, el proceso prosigue con la etapa 460, que incluye una comprobación de si el número de bloques candidatos es igual a uno. Si este es el caso, la transmisión de una indicación de un determinado bloque candidato de entre los bloques candidatos no es necesaria y, por lo tanto, el proceso de la figura 10 prosigue con la etapa 462 según la cual el compañero de fusión del bloque actual se fija que sea solamente el bloque candidato, tras lo cual, en la etapa 464, los parámetros de codificación del bloque compañero fusionado se usan para la adaptación o la predicción de los parámetros de codificación o los parámetros de codificación restantes del bloque actual. En caso de adaptación, los parámetros de codificación ausentes del bloque actual simplemente se copian desde el bloque compañero de fusión. En el otro caso, concretamente el caso de predicción, la etapa 464 puede implicar una extracción adicional de datos residuales a partir del flujo de datos, donde los datos residuales pertenecen al residuo de predicción de los parámetros de codificación ausentes del bloque actual, y una combinación de estos datos residuales con la predicción de estos parámetros de codificación ausentes obtenidos del bloque compañero de fusión.
Sin embargo, si se determina que el número de bloques candidatos es mayor que uno en la etapa 460, el proceso de la figura 10 avanza hasta la etapa 466, donde se comprueba si los parámetros de codificación o la parte de interés de los parámetros de codificación, en concreto la subparte de los mismos relacionada con la parte que no se ha transferido aún en el flujo de datos para el bloque actual, son idénticos entre sí. Si este es el caso, estos parámetros de codificación comunes se fijan como referencia de fusión o los bloques candidatos se fijan como compañeros de fusión en la etapa 468 y los parámetros de codificación de interés respectivos se usan para la adaptación o predicción en la etapa 464.
Debe observarse que el propio compañero de fusión puede haber sido un bloque para el que se señalizó la fusión. En este caso, los parámetros de codificación adoptados u obtenidos de manera predictiva de ese compañero de fusión se usan en la etapa 464.
Sin embargo, en caso contrario, es decir, en caso de que los parámetros de codificación no sean idénticos, el proceso de la figura 10 avanza hasta la etapa 470, donde un elemento sintáctico adicional se extrae del flujo de datos, en particular este indicador merge_left_flag. Puede usarse otro conjunto de contextos para descodificar por entropía este indicador. El conjunto de contextos usado para descodificar por entropía el indicador merge_left_flag también puede comprender simplemente un contexto. Después de la etapa 470, el bloque candidato indicado por merge_left_flag se fija que sea el compañero de fusión en la etapa 472 y se usa para la adaptación o la predicción en la etapa 464. Después de la etapa 464, el extractor 102 prosigue manipulando el siguiente bloque en el orden de bloque.
Evidentemente, hay muchas alternativas. Por ejemplo, un elemento sintáctico combinado puede transmitirse en el flujo de datos en lugar de los elementos sintácticos individuales merge_flag y merge_left_flag descritos anteriormente, donde los elementos sintácticos combinados señalizan el proceso de fusión. Además, el indicador merge_left_flag mencionado anteriormente puede transmitirse en el flujo de datos independientemente de si los dos bloques candidatos tienen los mismos parámetros de predicción o no, reduciendo así la sobrecarga computacional para llevar a cabo el proceso de la figura 10.
Como se denotó con respecto a, por ejemplo, la figura 9b, más de dos bloques pueden incluirse en el conjunto de bloques candidatos. Además, la información de fusión, es decir, la información que indica si un bloque está fusionado y, si lo está, con qué bloque candidato va a fusionarse, puede señalizarse mediante uno o más elementos sintácticos. Un elemento sintáctico puede especificar si el bloque está fusionado con alguno de los bloques candidatos, tal como el indicador merge_flag descrito anteriormente. El indicador solo puede transmitirse si el conjunto de bloques candidatos no está vacío. Un segundo elemento sintáctico puede indicar cuál de los bloques candidatos se utiliza para la fusión, tal como el indicador merge_left_flag mencionado anteriormente, pero, en general, indica una selección entre dos o más de dos bloques candidatos. El segundo elemento sintáctico puede transmitirse solamente si el primer elemento sintáctico indica que el bloque actual va a fusionarse con uno de los bloques candidatos. Además, el segundo elemento sintáctico solo puede transmitirse si el conjunto de bloques candidatos contiene más de un bloque candidato y/o si alguno de los bloques candidatos tiene diferentes parámetros de predicción que otro cualquiera de los bloques candidatos. La sintaxis puede depender del número de bloques candidatos ofrecidos y/o del modo en que diferentes parámetros de predicción están asociados con los bloques candidatos.
La sintaxis para señalizar cuál de los bloques de los bloques candidatos va a usarse puede fijarse simultáneamente y/o en paralelo en el lado del codificador y el lado del descodificador. Por ejemplo, si hay tres opciones para bloques candidatos identificados en la etapa 450, la sintaxis se elige de manera que solo estas tres opciones estén disponibles y se consideren para la codificación por entropía, por ejemplo, en la etapa 470. Dicho de otro modo, el elemento sintáctico se elige de modo que su alfabeto de símbolos tenga simplemente tantos elementos como opciones de bloques candidatos. Las probabilidades para el resto de opciones pueden considerarse nulas y la codificación/descodificación por entropía puede ajustarse simultáneamente en el codificador y el descodificador.
Además, como ya se ha indicado con respecto a la etapa 464, los parámetros de predicción que se infieren como consecuencia del proceso de fusión pueden representar el conjunto completo de parámetros de predicción que están asociados con el bloque actual o pueden representar un subconjunto de estos parámetros de predicción, tales como los parámetros de predicción para una hipótesis de un bloque para el que se usa una predicción de múltiples hipótesis.
Como se ha observado anteriormente, los elementos sintácticos relacionados con la información de fusión pueden codificarse por entropía usando modelización de contexto. Los elementos sintácticos pueden consistir en los indicadores merge_flag y merge_left_flag descritos anteriormente (o elementos sintácticos similares). En un ejemplo concreto, uno de tres modelos de contexto o contextos puede usarse para codificar/descodificar el indicador merge_flag en la etapa 454, por ejemplo. El índice de modelo de contexto usado merge_flag_ctx puede obtenerse de la siguiente manera: si el conjunto de bloques candidatos contiene dos elementos, el valor de merge_flag_ctx es igual a la suma de los valores de merge_flag de los dos bloques candidatos. Sin embargo, si el conjunto de bloques candidatos contiene un elemento, el valor de merge_flag_ctx puede ser igual a dos veces el valor de merge_flag de este un bloque candidato. Puesto que cada indicador merge_flag de los bloques candidatos vecinos puede ser uno o cero, hay tres contextos disponibles para merge_flag. El indicador merge_left_flag puede codificarse usando simplemente un único modelo de probabilidad.
Sin embargo, según una realización alternativa, pueden usarse diferentes modelos de contexto. Por ejemplo, elementos sintácticos no binarios pueden correlacionarse con una secuencia de símbolos binarios, denominados contenedores (bins). Los modelos de contexto para algunos elementos sintácticos o contenedores de elementos sintácticos que definen la información de fusión pueden obtenerse en función de elementos sintácticos ya transmitidos de bloques vecinos o del número de bloques candidatos u otras medidas, mientras que otros elementos sintácticos o contenedores de los elementos sintácticos pueden codificarse con un modelo de contexto fijo.
En relación con la anterior descripción de la fusión de bloques, debe observarse que el conjunto de bloques candidatos también puede obtenerse de la misma manera que para cualquiera de las realizaciones descritas anteriormente con el siguiente añadido: los bloques candidatos están limitados a bloques que usan predicción o interpredicción compensada por movimiento, respectivamente. Solamente esos bloques pueden ser elementos del conjunto de bloques candidatos. La señalización y la modelización de contextos de la información de fusión puede realizarse como se ha descrito anteriormente.
Volviendo a la combinación de las realizaciones de subdivisiones multiárbol descritas anteriormente y al aspecto de fusión descrito ahora, si la imagen se divide en bloques cuadrados de tamaño variable usando una estructura de subdivisión basada en árboles cuaternarios, por ejemplo, los indicadores merge_flag y merge_left_flag, u otros elementos sintácticos que especifican la fusión, pueden entrelazarse con los parámetros de predicción que se transmiten para cada nodo hoja de la estructura de árbol cuaternario. Considérese de nuevo, por ejemplo, la figura 9a. La figura 9a muestra un ejemplo de una subdivisión basada en árboles cuaternarios de una imagen en bloques de predicción de tamaño variable. Los dos bloques superiores de mayor tamaño son los denominados bloques árbol, es decir, son bloques de predicción del máximo tamaño posible. Los otros bloques de esta figura se obtienen como una subdivisión de su bloque árbol correspondiente. El bloque actual está marcado con una “X”. Todos los bloques sombreados se codifican/descodifican antes que el bloque actual, de manera que forman el conjunto de bloques causales. Como se ha explicado en la descripción de la obtención del conjunto de bloques candidatos de una de las realizaciones, solo los bloques que contienen las muestras vecinas directas (es decir, superior o izquierda) de la posición de muestra superior izquierda del bloque actual pueden ser miembros del conjunto de bloques candidatos. Por tanto, el bloque actual puede fusionarse con el bloque “A” o el bloque “B”. Si merge_flag es igual a 0 (“falso”), el bloque actual “X” no se fusiona con ninguno de los dos bloques. Si los bloques “A” y “B” tienen parámetros de predicción idénticos, no es necesario realizar ninguna distinción ya que la fusión con cualquiera de los dos bloques dará lugar al mismo resultado. Por tanto, en este caso, el indicador merge_left_flag no se transmite. En caso contrario, si los bloques “A” y “B” tienen diferentes parámetros de predicción, merge_left_flag igual a 1 (“verdadero”) fusionará los bloques “X” y “B”, mientras que merge_left_flag igual a 0 (“falso”) fusionará los bloques “X” y “A”. En otra realización preferida, bloques vecinos adicionales (ya transmitidos) representan candidatos para la fusión.
En la figura 9b se muestra otro ejemplo. Aquí, el bloque actual “X” y el bloque vecino izquierdo “B” son bloques árbol, es decir, tienen el máximo tamaño de bloque permitido. El tamaño del bloque vecino superior “A” es un cuarto del tamaño del bloque árbol. Los bloques que son elementos del conjunto de bloques causales están sombreados. Debe observarse que según una de las realizaciones preferidas, el bloque actual “X” solo puede fusionarse con los dos bloques “A” o “B”, no con alguno de los otros bloques vecinos superiores. En otra realización preferida, bloques vecinos adicionales (ya transmitidos) pueden representar candidatos para la fusión.
Antes de proceder con la descripción referente al aspecto de cómo manejar diferentes matrices de muestras de una imagen según realizaciones de la presente solicitud, debe observarse que la anterior descripción relacionada con la subdivisión multiárbol y la señalización, por un lado, y el aspecto de fusión, por otro lado, hizo evidente que estos aspectos proporcionan ventajas que pueden utilizarse de manera independiente entre sí. Es decir, como ya se ha explicado anteriormente, una combinación de una subdivisión multiárbol con la fusión tiene ventajas específicas, pero las ventajas también se obtienen de alternativas en las que, por ejemplo, la característica de fusión se realiza con, sin embargo, la subdivisión llevada a cabo por los subdivisores 30 y 104a no basada en una subdivisión multiárbol o en árboles cuaternarios, sino que corresponde a una subdivisión en macrobloques con una división regular de estos macrobloques en divisiones más pequeñas. A su vez, por otro lado, la combinación de la subdivisión multiárbol junto con la transmisión de la indicación de tamaño máximo de bloque árbol en el flujo de bits y el uso de la subdivisión multiárbol junto con el uso del recorrido de primero en profundidad que transporta los parámetros de codificación correspondientes de los bloques es ventajoso independientemente de la característica de fusión usada concurrentemente o no. Generalmente, las ventajas de la fusión pueden entenderse cuando se considera que, de manera intuitiva, la eficacia de la codificación puede aumentar cuando la sintaxis de las codificaciones de matrices de muestras se extiende de tal manera que no solo permite subdividir un bloque, sino también fusionar dos o más de los bloques que se obtienen tras la subdivisión. Como resultado se obtiene un grupo de bloques que están codificados con los mismos parámetros de predicción. Los parámetros de predicción para tal grupo de bloques solo tienen que codificarse una vez. Además, con respecto a la fusión de conjuntos de muestras, debe observarse de nuevo que los conjuntos considerados de muestras pueden ser bloques rectangulares o cuadráticos, en cuyo caso los conjuntos de muestras fusionados representan una colección de bloques rectangulares y/o cuadráticos. Sin embargo, como alternativa, los conjuntos de muestras considerados son regiones de imágenes conformadas de manera arbitraria y los conjuntos de muestras fusionados representan una colección de regiones de imagen conformadas de manera arbitraria.
La siguiente descripción se centra en la manipulación de diferentes matrices de muestras de una imagen en caso de que haya más de una matriz de muestras por imagen, y algunos aspectos descritos en la siguiente subdescripción son ventajosos independientemente del tipo de subdivisión usada, es decir, independientemente de que la subdivisión esté basada o no en una subdivisión multiárbol, e independientemente de que se use fusión o no. Antes de empezar a describir realizaciones específicas con respecto a la manipulación de diferentes matrices de muestras de una imagen, el concepto principal de estas realizaciones se presenta por medio de una corta introducción referente al campo de la manipulación de diferentes matrices de muestras por imagen.
La siguiente descripción se centra en parámetros de codificación entre bloques de diferentes matrices de muestras de una imagen en una aplicación de codificación de imágenes o vídeo, y, en particular, en una manera de predecir de manera adaptativa parámetros de codificación entre diferentes matrices de muestras de una imagen en, por ejemplo, pero no exclusivamente, el codificador y el descodificador de las figuras 1 y 2, respectivamente, u otro entorno de codificación de imágenes o vídeo. Las matrices de muestras pueden, como se ha indicado anteriormente, representar matrices de muestras que están relacionadas con diferentes componentes de color o matrices de muestras que asocian una imagen con información adicional tal como datos de transparencia o mapas de profundidad. Las matrices de muestras que están relacionadas con componentes de color de una imagen también se denominan planos de color. La técnica descrita a continuación también se denomina adopción/predicción interplano y puede usarse en codificadores y descodificadores de imágenes y vídeo basados en bloques, por lo que el orden de procesamiento de los bloques de las matrices de muestras de una imagen puede ser arbitrario.
Los codificadores de imágenes y vídeo se diseñan normalmente para codificar imágenes a color (ya sean imágenes fijas o imágenes de una secuencia de vídeo). Una imagen a color consiste en múltiples planos de color, que representan matrices de muestras para diferentes componentes de color. A menudo, las imágenes a color se codifican como un conjunto de matrices de muestras que consisten en un plano de luminancia y dos planos de crominancia, donde estos últimos especifican componentes de diferencia de color. En algunas áreas de aplicación también es común que el conjunto de matrices de muestras codificadas consista en tres planos de color que representan matrices de muestras para los tres colores primarios (rojo, verde y azul). Además, para una representación del color mejorada, una imagen a color puede consistir en más de tres planos de color. Además, una imagen puede estar asociada con matrices de muestras auxiliares que especifican información adicional para la imagen. Por ejemplo, tales matrices de muestras auxiliares pueden ser matrices de muestras que especifican la transparencia (adecuada con fines de visualización específicos) para las matrices de muestras de color asociadas o matrices de muestras que especifican un mapa de profundidad (adecuado para renderizar múltiples vistas, por ejemplo para pantallas 3D).
En las normas convencionales de codificación de imágenes y vídeo (tal como H.264), los planos de color se codifican juntos normalmente, por lo que parámetros de codificación particulares tales como modos de predicción de macrobloques y submacrobloques, índices de referencia y vectores de movimiento se usan para todas las componentes de color de un bloque. El plano de luminancia puede considerarse como el plano de color primario para el que los parámetros de codificación particulares se especifican en el flujo de bits, y los planos de crominancia pueden considerarse como planos secundarios para los que los parámetros de codificación correspondientes se infieren a partir del plano de luminancia primario. Cada bloque de luminancia está asociado a dos bloques de crominancia que representan la misma área en una imagen. Dependiendo del formato de muestreo de crominancia usado, las matrices de muestras de crominancia pueden ser más pequeñas que la matriz de muestras de luminancia para un bloque. Para cada macrobloque que consiste en una componente de luminancia y dos componentes de crominancia, se usa la misma división en bloques más pequeños (si el macrobloque está subdividido). Para cada bloque que consiste en un bloque de muestras de luminancia y dos bloques de muestras de crominancia (que puede ser el propio macrobloque o un subbloque del macrobloque), se utiliza el mismo conjunto de parámetros de predicción, tales como índices de referencia, parámetros de movimiento y, algunas veces, modos de intrapredicción. En perfiles específicos de normas convencionales de codificación de vídeo (tales como los perfiles 4:4:4 en H.264), también es posible codificar de manera independiente los diferentes planos de color de una imagen. En esa configuración, la división de macrobloque, los modos de predicción, los índices de referencia y los parámetros de movimiento pueden elegirse por separado para una componente de color de un macrobloque o subbloque. Según las normas de codificación convencionales, o bien todos los planos de color se codifican juntos usando el mismo conjunto de parámetros de codificación particulares (tal como información de subdivisión y parámetros de predicción) o todos los planos de color se codifican de manera totalmente independiente entre sí.
Si los planos de color se codifican juntos, un conjunto de parámetros de subdivisión y predicción debe usarse para todas las componentes de color de un bloque. Esto garantiza que la información secundaria se mantenga baja, pero puede dar como resultado una reducción de la eficacia de codificación en comparación con una codificación independiente, ya que el uso de diferentes descomposiciones de bloque y de parámetros de predicción para diferentes componentes de color puede dar como resultado un menor coste de velocidad-distorsión. Como un ejemplo, el uso de un vector de movimiento o una trama de referencia diferente para las componentes de crominancia puede reducir significativamente la energía de la señal residual para las componentes de crominancia y aumentar su eficacia de codificación global. Si los planos de color se codifican de manera independiente, los parámetros de codificación tales como la división en bloques, los índices de referencia y los parámetros de movimiento pueden seleccionarse para cada componente de color por separado con el fin de optimizar la eficacia de codificación para cada componente de color. Pero no es posible utilizar la redundancia entre las componentes de color. Las múltiples transmisiones de parámetros de codificación particulares dan como resultado una mayor tasa de información secundaria (en comparación con la codificación combinada) y esta mayor tasa de información secundaria puede tener un efecto negativo en la eficacia de codificación global. Además, el soporte de matrices de muestras auxiliares en las normas de codificación de vídeo de última generación (tales como H.264) está limitado al caso en que las matrices de muestras auxiliares se codifican usando su propio conjunto de parámetros de codificación.
Por tanto, en todas las realizaciones descritas hasta ahora, los planos de imágenes pueden manipularse de la manera descrita anteriormente, pero como también se ha señalado anteriormente, la eficacia de codificación global para la codificación de múltiples matrices de muestras (que pueden estar relacionadas con diferentes planos de color y/o matrices de muestras auxiliares) puede aumentar cuando es posible decidir bloque a bloque, por ejemplo, si todas las matrices de muestras para un bloque se codifican con los mismos parámetros de codificación o si se usan diferentes parámetros de codificación. La idea básica de la siguiente predicción interplano es permitir tal decisión adaptativa bloque a bloque, por ejemplo. El codificador puede elegir, por ejemplo basándose en un criterio de velocidad-distorsión, si todas o algunas de las matrices de muestras de un bloque particular se codifican usando los mismos parámetros de codificación o si se usan diferentes parámetros de codificación para diferentes matrices de muestras. Esta selección también puede conseguirse señalizando para un bloque particular de una matriz de muestras si se infieren parámetros de codificación específicos a partir de un bloque coubicado ya codificado de una matriz de muestras diferente. T ambién es posible disponer diferentes matrices de muestras para una imagen en grupos, denominados también grupos de matrices de muestras o grupos de planos. Cada grupo de planos puede contener una o más matrices de muestras de una imagen. Por tanto, los bloques de las matrices de muestras de un grupo de planos comparten los mismos parámetros de codificación seleccionados tales como información de subdivisión, modos de predicción y modos de codificación residual, mientras que otros parámetros de codificación tales como niveles de coeficientes de transformada se transmiten por separado para cada matriz de muestras dentro del grupo de planos. Un grupo de planos se codifica como un grupo de planos primarios, es decir, ninguno de los parámetros de codificación se infiere o predice a partir de otros grupos de planos. Para cada bloque de un grupo de planos secundarios, puede elegirse de manera adaptativa si se transmite un nuevo conjunto de parámetros de codificación seleccionados o si los parámetros de codificación seleccionados se infieren o predicen a partir del grupo de planos primarios u otro grupo de planos secundarios. Las decisiones de si los parámetros de codificación seleccionados para un bloque particular se infieren o predicen se incluyen en el flujo de bits. La predicción interplano permite una mayor libertad a la hora de seleccionar el equilibrio entre la tasa de información secundaria y la calidad de predicción con respecto a la codificación de imágenes de última generación que consiste en múltiples matrices de muestras. La ventaja es una mayor eficacia de codificación con respecto a la codificación convencional de imágenes que consiste en múltiples matrices de muestras.
La adopción/predicción intraplano puede extender un codificador de imágenes o vídeo, tal como los de las realizaciones anteriores, de tal manera que pueda elegirse de manera adaptativa para un bloque de una matriz de muestras de colores o una matriz de muestras auxiliares o un conjunto de matrices de muestras de colores y/o matrices de muestras auxiliares si un conjunto seleccionado de parámetros de codificación se infiere o predice a partir de bloques coubicados ya codificados de otras matrices de muestras en la misma imagen o si el conjunto seleccionado de parámetros de codificación para el bloque se codifica de manera independiente sin hacer referencia a los bloques coubicados de otras matrices de muestras de la misma imagen. Las decisiones de si el conjunto seleccionado de parámetros de codificación se infiere o predice para un bloque de una matriz de muestras o un bloque de múltiples matrices de muestras pueden incluirse en el flujo de bits. Las diferentes matrices de muestras que están asociadas a una imagen no necesitan tener el mismo tamaño.
Como se ha descrito anteriormente, las matrices de muestras que están asociadas a una imagen (las matrices de muestras pueden representar componentes de color y/o matrices de muestras auxiliares) pueden estar dispuestas en dos o más denominados grupos de planos, donde cada grupo de planos consiste en una o más matrices de muestras. Las matrices de muestras que están contenidas en un grupo de planos particular no necesitan tener el mismo tamaño. Debe observarse que esta disposición dentro del grupo de planos incluye el caso en que cada matriz de muestras se codifica por separado.
Para ser más precisos, según una realización, para cada bloque de un grupo de planos se puede elegir de manera adaptativa si los parámetros de codificación que especifican cómo se predice un bloque se infieren o predicen a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen o si estos parámetros de codificación se codifican por separado para el bloque. Los parámetros de codificación que especifican cómo se predice un bloque incluyen uno o más de los siguientes parámetros de codificación: modos de predicción de bloque que especifican qué predicción se usa para el bloque (intrapredicción, interpredicción usando un único vector de movimiento y una imagen de referencia, interpredicción usando dos vectores de movimiento e imágenes de referencia, interpredicción usando un orden superior, es decir, un modelo de movimiento de no traslación y una única imagen de referencia, interpredicción usando múltiples modelos de movimiento e imágenes de referencia), modos de intrapredicción que especifican cómo se genera una señal de intrapredicción, un identificador que especifica cómo se combinan muchas señales de predicción para generar la señal de predicción final para el bloque, índices de referencia que especifican qué imagen(es) de referencia se utiliza(n) para la predicción compensada por movimiento, parámetros de movimiento (tales como vectores de desplazamiento o parámetros de movimiento afines) que especifican cómo la(s) señal(es) de predicción se genera(n) usando la(s) imagen(es) de referencia, un identificador que especifica cómo la(s) imagen(es) de referencia se filtra(n) para generar señales de predicción compensadas por movimiento. Debe observarse que, en general, un bloque puede asociarse solamente con un subconjunto de los parámetros de codificación mencionados. Por ejemplo, si el modo de predicción de bloque especifica que un bloque se intrapredice, los parámetros de codificación para un bloque pueden incluir además modos de intrapredicción, pero parámetros de codificación tales como los índices de referencia y los parámetros de movimiento que especifican cómo se genera una señal de interpredicción no se especifican, o si el modo de predicción de bloques especifica interpredicción, los parámetros de codificación asociados pueden incluir además índices de referencia y parámetros de movimiento, pero no se especifican modos de intrapredicción.
Uno de los dos o más grupos de planos puede codificarse o indicarse en el flujo de bits como el grupo de planos primarios. Para todos los bloques de este grupo de planos primarios, los parámetros de codificación que especifican cómo se genera la señal de predicción se transmiten sin hacer referencia a otros grupos de planos de la misma imagen. Los grupos de planos restantes se codifican como grupos de planos secundarios. Para cada bloque de los grupos de planos secundarios se transmiten uno o más elementos sintácticos que indican si los parámetros de codificación que especifican cómo se predice el bloque se infieren o predicen a partir de un bloque coubicado de otros grupos de planos o si un nuevo conjunto de estos parámetros de codificación se transmite para el bloque. Uno del uno o más elementos sintácticos puede denominarse indicador de predicción interplano o parámetro de predicción interplano. Si los elementos sintácticos indican que los parámetros de codificación correspondientes no se infieren o predicen, un nuevo conjunto de los parámetros de codificación correspondientes para el bloque se transmite en el flujo de bits. Si los elementos sintácticos indican que los parámetros de codificación correspondientes se infieren o predicen, se determina el bloque coubicado en un denominado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de muchas maneras. En una realización, un grupo de planos de referencia particular se asigna a cada grupo de planos secundarios; esta asignación puede fijarse o puede señalizarse en estructuras sintácticas de alto nivel tales como conjuntos de parámetros, cabecera de unidad de acceso, cabecera de imagen o cabecera de fragmento.
En una segunda realización, la asignación del grupo de planos de referencia se codifica en el flujo de bits y se señaliza mediante el uno o más elementos sintácticos que se codifican para un bloque con el fin de especificar si los parámetros de codificación seleccionados se infieren o predicen o se codifican por separado.
Con el fin de facilitar las posibilidades que acaban de mencionarse en relación con la predicción interplano y la siguiente descripción detallada, se hace referencia a la figura 11, que muestra de manera ilustrativa una imagen 500 compuesta por tres matrices de muestras 502, 504 y 506. Para facilitar el entendimiento, en la figura 11 se muestran simplemente subpartes de las matrices de muestras 502 a 506. Las matrices de muestras se muestran como si estuvieran registradas espacialmente entre sí, de modo que las matrices de muestras 502 a 506 se solapan entre sí a lo largo de una dirección 508 y de modo que una proyección de las muestras de las matrices de muestras 502 a 506 a lo largo de la dirección 508 da como resultado que las muestras de todas estas matrices de muestras 502 a 506 estén situadas correctamente de manera espacial entre sí. Dicho de otro modo, los planos 502 y 506 se han esparcido a lo largo de la dirección horizontal y la dirección vertical para adaptar su resolución espacial entre sí y para registrarse entre sí.
Según una realización, todas las matrices de muestras de una imagen pertenecen a la misma parte de una escena espacial en la que la resolución a lo largo de la dirección vertical y la dirección horizontal puede ser diferente entre las matrices de muestras individuales 502 a 506. Además, con fines ilustrativos, se considera que las matrices de muestras 502 y 504 pertenecen a un grupo de planos 510, mientras que se considera que la matriz de muestras 506 pertenece a otro grupo de planos 512. Además, la figura 11 ilustra el caso a modo de ejemplo en que la resolución espacial a lo largo del eje horizontal de la matriz de muestras 504 es dos veces la resolución en la dirección horizontal de la matriz de muestras 502. Además, se considera que la matriz de muestras 504 forma la matriz primaria con respecto a la matriz de muestras 502, que forma una matriz subordinada con respecto a la matriz primaria 504. Como se ha explicado anteriormente, en este caso la subdivisión de la matriz de muestras 504 en bloques decidida por el subdivisor 30 de la figura 1 se adopta por la matriz subordinada 502 donde, según el ejemplo de la figura 11, debido a que la resolución vertical de la matriz de muestras 502 es la mitad de la resolución en la dirección vertical de la matriz primaria 504, cada bloque se ha dividido en dos bloques yuxtapuestos horizontales que, debido a la división son nuevamente bloques cuadráticos cuando se miden en unidades de las posiciones de muestras dentro de la matriz de muestras 502.
Como se muestra a modo de ejemplo en la figura 11, la subdivisión elegida para la matriz de muestras 506 es diferente de la subdivisión del otro grupo de planos 510. Como se ha descrito anteriormente, el subdivisor 30 puede seleccionar la subdivisión de la matriz de píxeles 506 por separado o de manera independiente a la subdivisión del grupo de planos 510. Evidentemente, la resolución de la matriz de muestras 506 también puede ser diferente de las resoluciones de los planos 502 y 504 del grupo de planos 510.
Ahora, cuando se codifican las matrices de muestras individuales 502 a 506, el codificador 10 puede empezar codificando la matriz primaria 504 del grupo de planos 510 de la manera descrita anteriormente, por ejemplo. Los bloques mostrados en la figura 11 pueden ser, por ejemplo, los bloques de predicción mencionados anteriormente. Como alternativa, los bloques son bloques residuales u otros bloques que definen la granularidad para definir ciertos parámetros de codificación. La predicción interplano no está limitada a la subdivisión multiárbol o en árboles cuaternarios, aunque esto se ilustra en la figura 11.
Después de la transmisión del elemento sintáctico para la matriz primaria 504, el codificador 10 puede decidir declarar la matriz primaria 504 como el plano de referencia para el plano subordinado 502. El codificador 10 y el extractor 30, respectivamente, pueden señalizar esta decisión a través del flujo de bits 22, mientras que la asociación puede resultar evidente a partir del hecho de que la matriz de muestras 504 forma la matriz primaria del grupo de planos 510, información que, a su vez, también puede ser parte del flujo de bits 22. En cualquier caso, para cada bloque de la matriz de muestras 502, la unidad de inserción 18 o cualquier otro módulo del codificador 10 junto con la unidad de inserción 18 pueden decidir o bien suprimir una transferencia de los parámetros de codificación de este bloque en el flujo de bits y señalizar en cambio en el flujo de bits para ese bloque que los parámetros de codificación de un bloque coubicado de la matriz primaria 504 se usarán en su lugar, o bien que los parámetros de codificación del bloque coubicado de la matriz primaria 504 se usarán como una predicción para los parámetros de codificación del bloque actual de la matriz de muestras 502 simplemente transfiriendo los datos residuales del mismo para el bloque actual de la matriz de muestras 502 en el flujo de bits. En caso de una decisión negativa, los parámetros de codificación se transfieren en el flujo de datos de la manera habitual. La decisión se señaliza en el flujo de datos 22 para cada bloque. En el lado del descodificador, el extractor 102 usa esta información de predicción interplano para cada bloque con el fin de obtener en consecuencia los parámetros de codificación del bloque respectivo de la matriz de muestras 502, en concreto infiriendo los parámetros de codificación del bloque coubicado de la matriz primaria 504 o, como alternativa, extrayendo datos residuales para ese bloque a partir del flujo de datos y combinando estos datos residuales con una predicción obtenida a partir de los parámetros de codificación del bloque coubicado de la matriz primaria 504 si la información de adopción/predicción interplano sugiere adopción/predicción interplano, o extrayendo los parámetros de codificación del bloque actual de la matriz de muestras 502 de la manera habitual independientemente de la matriz primaria 504.
Como también se ha descrito anteriormente, los planos de referencia no están limitados a residir en el mismo grupo de planos que el bloque para el que la predicción interplano resulta actualmente interesante. Por lo tanto, como se ha descrito anteriormente, el grupo de planos 510 puede representar el grupo de planos primarios o el grupo de planos de referencia para el grupo de planos secundarios 512. En este caso, el flujo de bits puede contener un elemento sintáctico que indica para cada bloque de la matriz de muestras 506 si la adopción/predicción anteriormente mencionada de parámetros de codificación de macrobloques coubicados de cualquiera de los planos 502 y 504 del grupo de planos primarios o del grupo de planos de referencia 510 se llevará a cabo o no, donde en el segundo caso los parámetros de codificación del bloque actual de la matriz de muestras 506 se transmiten de la manera habitual.
Debe observarse que los parámetros de subdivisión y/o de predicción para los planos de un grupo de planos pueden ser los mimos, ya que solo se codifican una vez para un grupo de planos (todos los planos secundarios de un grupo de planos infieren la información de subdivisión y/o los parámetros de predicción a partir del plano primario dentro del mismo grupo de planos), y la predicción o inferencia adaptativa de la información de subdivisión y/o los parámetros de predicción se realiza entre grupos de planos.
Debe observarse que el grupo de planos de referencia puede ser un grupo de planos primarios o un grupo de planos secundarios.
La coubicación entre bloques de diferentes planos en un grupo de planos puede entenderse fácilmente ya que la subdivisión de la matriz de muestras primaria 504 se adopta espacialmente por la matriz de muestras subordinada 502, excepto la subdivisión que acaba de describirse de los bloques con el fin de hacer que los bloques hoja adoptados sean bloques cuadráticos. En caso de adopción/predicción interplano entre diferentes grupos de planos, la coubicación puede definirse de tal manera que permita una mayor libertad entre las subdivisiones de estos grupos de planos. Dado el grupo de planos de referencia, se determina el bloque coubicado dentro del grupo de planos de referencia. La obtención del bloque coubicado y del grupo de planos de referencia puede realizarse mediante un proceso similar al siguiente. Se selecciona una muestra particular 514 en el bloque actual 516 de una de las matrices de muestras 506 del grupo de planos secundarios 512. La muestra puede ser la muestra superior izquierda del bloque actual 516, como se muestra 514 en la figura 11 con fines ilustrativos, o una muestra del bloque actual 516 cercana a la parte central del bloque actual 516 o cualquier otra muestra dentro del bloque actual que esté definida geométricamente de manera unívoca. Se calcula la ubicación de esta muestra seleccionada 515 dentro de una matriz de muestras 502 y 504 del grupo de planos 510 de referencia. Las posiciones de la muestra 514 dentro de las matrices de muestras 502 y 504 se indican en la figura 11 en 518 y 520, respectivamente. Cuál de los planos 502 y 504 del grupo de planos de referencia 510 se usa realmente puede predeterminarse o puede señalizarse en el flujo de bits. Se determina la muestra de la matriz de muestras correspondiente 502 o 504 del grupo de planos de referencia 510 que está más cerca de las posiciones 518 y 520, respectivamente, y el bloque que contiene esta muestra se elige como el bloque coubicado de la matriz de muestras respectiva 502 y 504, respectivamente. En el caso de la figura 11, estos son los bloques 522 y 524, respectivamente. Posteriormente se describirá un enfoque alternativo para determinar un bloque coubicado en otros planos.
En una realización, los parámetros de codificación que especifican la predicción para el bloque actual 516 se infieren completamente usando los parámetros de predicción correspondientes del bloque coubicado 522/524 en un grupo de planos diferente 510 de la misma imagen 500, sin transmitir información secundaria adicional. La inferencia puede consistir simplemente en copiar los parámetros de codificación correspondientes o en una adaptación de los parámetros de codificación teniendo en cuenta diferencias entre el grupo de planos actual 512 y el grupo de planos de referencia 510. Como un ejemplo, esta adaptación puede consistir en añadir una corrección de parámetros de movimiento (por ejemplo, una corrección de vector de desplazamiento) para tener en cuenta la diferencia de fase entre las matrices de muestras de luminancia y crominancia, o la adaptación puede consistir en modificar la precisión de los parámetros de movimiento (por ejemplo, modificar la precisión de los vectores de desplazamiento) para tener en cuenta la diferente resolución de las matrices de muestras de luminancia y crominancia. En una realización adicional, uno o más de los parámetros de codificación inferidos para especificar la generación de señales de predicción no se usan directamente para el bloque actual 516, sino que se usan como una predicción para los parámetros de codificación correspondientes para el bloque actual 516 y un refinamiento de estos parámetros de codificación para el bloque actual 516 se transmite en el flujo de bits 22. Como un ejemplo, los parámetros de movimiento inferidos no se usan directamente, sino que las diferencias de los parámetros de movimiento (tales como una diferencia en los vectores de desplazamiento) que especifican la desviación entre los parámetros de movimiento que se usan para el bloque actual 516 y los parámetros de movimiento inferidos se codifican en el flujo de bits; en el lado del descodificador, los parámetros de movimiento reales usados se obtienen combinando los parámetros de movimiento inferidos y las diferencias de parámetros de movimiento transmitidas.
En otra realización, la subdivisión de un bloque, tal como los bloques árbol de la subdivisión de predicción en bloques de predicción mencionada anteriormente (es decir, bloques de muestras para los que se usa el mismo conjunto de parámetros de predicción) se infiere o predice de manera adaptativa a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen, es decir, la secuencia de bits según la figura 6a o 6b. En una realización, uno de los dos o más grupos de planos se codifica como grupo de planos primarios. Para todos los bloques de este grupo de planos primarios, la información de subdivisión se transmite sin hacer referencia a otros grupos de planos de la misma imagen. Los grupos de planos restantes se codifican como grupos de planos secundarios. Para bloques de los grupos de planos secundarios se transmiten uno o más elementos sintácticos que indican si la información de subdivisión se infiere o predice a partir de un bloque coubicado de otros grupos de planos o si la información de subdivisión se transmite en el flujo de bits. Uno del uno o más elementos sintácticos puede denominarse indicador de predicción interplano o parámetro de predicción interplano. Si los elementos sintácticos indican que la información de subdivisión no se infiere o predice, la información de subdivisión para el bloque se transmite en el flujo de bits sin hacer referencia a otros grupos de planos de la misma imagen. Si los elementos sintácticos indican que la información de subdivisión se infiere o predice, se determina el bloque coubicado en un denominado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de muchas maneras. En una realización, un grupo de planos de referencia particular se asigna a cada grupo de planos secundarios; esta asignación puede fijarse o puede señalizarse en estructuras sintácticas de alto nivel tales como conjuntos de parámetros, cabecera de unidad de acceso, cabecera de imagen o cabecera de fragmento. En una segunda realización, la asignación del grupo de planos de referencia se codifica en el flujo de bits y se señaliza mediante el uno o más elementos sintácticos que se codifican para un bloque con el fin de especificar si la información de subdivisión se infiere o predice o se codifica por separado. El grupo de planos de referencia puede ser el grupo de planos primarios u otro grupo de planos secundarios. Dado el grupo de planos de referencia, se determina el bloque coubicado dentro del grupo de planos de referencia. El bloque coubicado es el bloque del grupo de planos de referencia que corresponde a la misma área de imagen que el bloque actual, o el bloque que representa el bloque dentro del grupo de planos de referencia que comparte la porción más grande del área de imagen con el bloque actual. El bloque coubicado puede dividirse en bloques de predicción más pequeños.
En una realización adicional, la información de subdivisión para el bloque actual, tal como la información de subdivisión basada en árboles cuaternarios según las figuras 6a o 6b, se infiere completamente usando la información de subdivisión del bloque coubicado en un grupo de planos diferente de la misma imagen, sin transmitir información secundaria adicional. Como un ejemplo particular, si el bloque coubicado está dividido en dos o cuatro bloques de predicción, el bloque actual también se divide en dos o cuatro subbloques con el fin de predicción. Como otro ejemplo particular, si el bloque coubicado se divide en cuatro subbloques y uno de estos subbloques se divide adicionalmente en cuatro subbloques más pequeños, el bloque actual también se divide en cuatro subbloques y uno de estos subbloques (el correspondiente al subbloque del bloque coubicado que está dividido adicionalmente) también se divide en cuatro subbloques más pequeños. En una realización preferida adicional, la información de subdivisión inferida no se usa directamente para el bloque actual, sino que se usa como una predicción para la información de subdivisión real para el bloque actual, y la información de refinamiento correspondiente se transmite en el flujo de bits. Como un ejemplo, la información de subdivisión que se infiere a partir del bloque coubicado puede refinarse adicionalmente. Para cada subbloque que corresponde a un subbloque del bloque coubicado que no está dividido en bloques más pequeños, un elemento sintáctico puede codificarse en el flujo de bits, que especifica si el subbloque está dividido adicionalmente en el grupo de planos actual. La transmisión de un elemento sintáctico de este tipo puede depender del tamaño del subbloque. Por otro lado, puede señalizarse en el flujo de bits que un subbloque que está dividido adicionalmente en el grupo de planos de referencia no está dividido en bloques más pequeños en el grupo de planos actual.
En una realización adicional, tanto la subdivisión de un bloque en bloques de predicción como los parámetros de codificación que especifican cómo se predicen esos subbloques se infieren o predicen de manera adaptativa a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen. En una realización preferida de la invención, uno de los dos o más grupos de planos se codifica como un grupo de planos primarios. Para todos los bloques de este grupo de planos primarios, la información de subdivisión y los parámetros de predicción se transmiten sin hacer referencia a otros grupos de planos de la misma imagen. Los grupos de planos restantes se codifican como grupos de planos secundarios. Para bloques de los grupos de planos secundarios se transmiten uno o más elementos sintácticos que indican si la información de subdivisión y los parámetros de predicción se infieren o predicen a partir de un bloque coubicado de otros grupos de planos o si la información de subdivisión y los parámetros de predicción se transmiten en el flujo de bits. Uno del uno o más elementos sintácticos puede denominarse indicador de predicción interplano o parámetro de predicción interplano. Si los elementos sintácticos indican que la información de subdivisión y los parámetros de predicción no se infieren o predicen, la información de subdivisión para el bloque y los parámetros de predicción para los subbloques resultantes se transmiten en el flujo de bits sin hacer referencia a otros grupos de planos de la misma imagen. Si los elementos sintácticos indican que la información de subdivisión y los parámetros de predicción para el subbloque se infieren o predicen, se determina el bloque coubicado en un denominado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de muchas maneras. En una realización, un grupo de planos de referencia particular se asigna a cada grupo de planos secundarios; esta asignación puede fijarse o puede señalizarse en estructuras sintácticas de alto nivel tales como conjuntos de parámetros, cabecera de unidad de acceso, cabecera de imagen o cabecera de fragmento. En una segunda realización, la asignación del grupo de planos de referencia se codifica en el flujo de bits y se señaliza mediante el uno o más elementos sintácticos que se codifican para un bloque con el fin de especificar si la información de subdivisión y los parámetros de predicción se infieren o predicen o se codifican por separado. El grupo de planos de referencia puede ser el grupo de planos primarios u otro grupo de planos secundarios. Dado el grupo de planos de referencia, se determina el bloque coubicado dentro del grupo de planos de referencia. El bloque coubicado puede ser el bloque del grupo de planos de referencia que corresponde a la misma área de imagen que el bloque actual, o el bloque que representa el bloque dentro del grupo de planos de referencia que comparte la porción más grande del área de imagen con el bloque actual. El bloque coubicado puede dividirse en bloques de predicción más pequeños. En una realización preferida, la información de subdivisión para el bloque actual así como los parámetros de predicción para los subbloques resultantes pueden ser inferidos completamente usando la información de subdivisión del bloque coubicado en un grupo de planos diferente de la misma imagen y los parámetros de predicción de los subbloques correspondientes, sin transmitir información secundaria adicional. Como un ejemplo particular, si el bloque coubicado está dividido en dos o cuatro bloques de predicción, el bloque actual también se divide en dos o cuatro subbloques con fines de predicción, y los parámetros de predicción para los subbloques del bloque actual se obtienen como se ha descrito anteriormente. Como otro ejemplo particular, si el bloque coubicado se divide en cuatro subbloques y uno de estos subbloques se divide adicionalmente en cuatro subbloques más pequeños, el bloque actual también se divide en cuatro subbloques y uno de estos subbloques (el correspondiente al subbloque del bloque coubicado que está dividido adicionalmente) también se divide en cuatro subbloques más pequeños y los parámetros de predicción para todos los subbloques no divididos adicionalmente se infieren de la manera descrita anteriormente. En una realización preferida adicional, la información de subdivisión es inferida completamente en función de la información de subdivisión del bloque coubicado en el grupo de planos de referencia, pero los parámetros de predicción inferidos para los subbloques solo se usan como predicción para los parámetros de predicción reales de los subbloques. Las desviaciones entre los parámetros de predicción reales y los parámetros de predicción inferidos se codifican en el flujo de bits. En una realización adicional, la información de subdivisión inferida se usa como una predicción para la información de subdivisión real para el bloque actual y la diferencia se transmite en el flujo de bits (como se ha descrito anteriormente), pero los parámetros de predicción se infieren completamente. En otra realización, tanto la información de subdivisión inferida como los parámetros de predicción inferidos se usan como predicciones y las diferencias entre la información de subdivisión real y los parámetros de predicción y sus valores inferidos se transmiten en el flujo de bits.
En otra realización, para un bloque de un grupo de planos se elige de manera adaptativa si los modos de codificación residual (tal como el tipo de transformada) se infieren o predicen a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen o si los modos de codificación residual se codifican por separado para el bloque. Esta realización ejemplo es similar a la realización para la inferencia/predicción adaptativa de los parámetros de predicción descrita anteriormente.
En otra realización, la subdivisión de un bloque (por ejemplo, un bloque de predicción) en bloques de transformada (es decir, bloques de muestras a los que se aplica una transformada bidimensional) se infiere o predice de manera adaptativa a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen. Esta realización es similar a la realización de la inferencia/predicción adaptativa de la subdivisión en bloques de predicción descrita anteriormente.
En otra realización, la subdivisión de un bloque en bloques de transformada y los modos de codificación residual (por ejemplo, tipos de transformada) de los bloques de transformada resultantes se infieren o predicen de manera adaptativa a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen. Esta realización es similar a la realización de la inferencia/predicción adaptativa de la subdivisión en bloques de predicción y los parámetros de predicción para los bloques de predicción resultantes descrita anteriormente.
En otra realización, la subdivisión de un bloque en bloques de predicción, los parámetros de predicción asociados, la información de subdivisión de los bloques de predicción y los modos de codificación residual para los bloques de transformada se infieren o predicen de manera adaptativa a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma imagen. Esta realización representa una combinación de las realizaciones descritas anteriormente. También es posible que solamente algunos de los parámetros de codificación mencionados se infieran o predigan.
Por tanto, la adopción/predicción interplano puede aumentar la eficacia de codificación descrita anteriormente. Sin embargo, la ganancia de eficacia de codificación por medio de la adopción/predicción interplano también está disponible en caso de usar subdivisiones de bloque diferentes a las subdivisiones multiárbol e independientemente de que esté implementándose o no la fusión de bloques.
Las realizaciones explicadas anteriormente con respecto a la adaptación/predicción interplano puede aplicarse a codificadores y descodificadores de imágenes y vídeo que dividen los planos de color de una imagen y, si las hubiera, las matrices de muestras auxiliares asociadas con una imagen en bloques, y que asocian estos bloques con parámetros de codificación. Para cada bloque, un conjunto de parámetros de codificación puede incluirse en el flujo de bits. Por ejemplo, estos parámetros de codificación pueden ser parámetros que describen cómo un bloque se predice o descodifica en el lado del descodificador. Como ejemplos particulares, los parámetros de codificación pueden representar modos de predicción de macrobloques o bloques, información de subdivisión, modos de intrapredicción, índices de referencia usados para la predicción compensada por movimiento, parámetros de movimiento tales como vectores de desplazamiento, modos de codificación residual, coeficientes de transformada, etc. Las diferentes matrices de muestras que están asociadas a una imagen pueden tener tamaños diferentes.
A continuación se describe un esquema para una señalización mejorada de parámetros de codificación con un esquema de división basado en árboles como, por ejemplo, los descritos anteriormente con respecto a las figuras 1 a 8. Al igual que los otros esquemas, en concreto la fusión y la adopción/predicción interplano, los efectos y ventajas de los esquemas de señalización mejorada, lo que en lo sucesivo se denominará herencia, se describen independientemente de las realizaciones anteriores, aunque los esquemas descritos a continuación pueden combinarse con cualquiera de las realizaciones anteriores, ya sea de manera individual o combinada.
Generalmente, el esquema de codificación mejorada para codificar información secundaria en un esquema de división basado en árboles, denominado herencia, descrito a continuación, permite las siguientes ventajas con respecto a los esquemas convencionales de tratamiento de parámetros de codificación.
En la codificación convencional de imágenes y vídeo, las imágenes o conjuntos particulares de matrices de muestras para las imágenes se descomponen normalmente en bloques que están asociados con parámetros de codificación particulares. Las imágenes consisten normalmente en múltiples matrices de muestras. Además, una imagen también puede estar asociada con matrices de muestras auxiliares adicionales que, por ejemplo, pueden especificar información de transparencia o mapas de profundidad. Las matrices de muestras de una imagen (incluyendo matrices de muestras auxiliares) pueden agruparse en uno o más denominados grupos de planos, donde cada grupo de planos consiste en una o más matrices de muestras. Los grupos de planos de una imagen pueden codificarse de manera independiente o, si la imagen está asociada a más de un grupo de planos, de manera predictiva con respecto a otros grupos de planos de la misma imagen. Cada grupo de planos se descompone normalmente en bloques. Los bloques (o los bloques correspondientes de las matrices de muestras) se predicen mediante predicción interimagen o mediante predicción intraimagen. Los bloques pueden tener diferentes tamaños y pueden ser cuadráticos o rectangulares. La división de una imagen en bloques puede estar fijada por la sintaxis o puede señalizarse (al menos en parte) en el flujo de bits. Con frecuencia se transmiten elementos sintácticos que señalizan la subdivisión para bloques de tamaños predefinidos. Tales elementos sintácticos pueden especificar si y cómo un bloque está subdividido en bloques más pequeños y parámetros de codificación asociados, por ejemplo con fines predictivos. La descodificación de los parámetros de codificación asociados se especifica de manera determinada para todas las muestras de un bloque (o los bloques correspondientes de matrices de muestras). En el ejemplo, todas las muestras de un bloque se predicen usando el mismo conjunto de parámetros de predicción, tales como índices de referencia (que identifican una imagen de referencia en el conjunto de imágenes ya codificadas), parámetros de movimiento (que especifican una medida para el movimiento de un bloque entre una imagen de referencia y la imagen actual), parámetros para especificar el filtro de interpolación, modos de intrapredicción, etc. Los parámetros de movimiento pueden representarse mediante vectores de desplazamiento con una componente horizontal y una vertical o mediante parámetros de movimiento de orden superior, tales como parámetros de movimiento afines que consisten en seis componentes. También es posible que más de un conjunto de parámetros de predicción particulares (tales como índices de referencia y parámetros de movimiento) estén asociados con un único bloque. En ese caso, para cada conjunto de estos parámetros de predicción particulares, se genera una única señal de predicción intermedia para el bloque (o los bloques correspondientes de matrices de muestras), y la señal de predicción final se genera mediante una combinación que incluye superponer las señales de predicción intermedias. Los parámetros de ponderación correspondientes y también, posiblemente, un desfase constante (que se añade a la suma ponderada) pueden fijarse para una imagen, una imagen de referencia o un conjunto de imágenes de referencia, o pueden incluirse en el conjunto de parámetros de predicción para el bloque correspondiente. Normalmente, la diferencia entre los bloques originales (o los bloques correspondientes de matrices de muestras) y sus señales de predicción, también denominadas señales residuales, se transforma y se cuantifica. Con frecuencia se aplica una transformada bidimensional a la señal residual (o a las matrices de muestras correspondientes para el bloque residual). Para la codificación de la transformada, los bloques (o los bloques correspondientes de matrices de muestras) para los que se ha usado un conjunto particular de parámetros de predicción, pueden dividirse adicionalmente antes de aplicar la transformada. Los bloques de transformada pueden ser iguales o más pequeños que los bloques que se usan para la predicción. También es posible que un bloque de transformada incluya más de uno de los bloques que se usan para la predicción. Diferentes bloques de transformada pueden tener diferentes tamaños y los bloques de transformada pueden representar bloques cuadráticos o rectangulares. Después de la transformada, los coeficientes de transformada resultantes se cuantifican, obteniéndose los denominados niveles de coeficiente de transformada. Los niveles de coeficiente de transformada, así como los parámetros de predicción y, si la hubiera, la información de subdivisión, se codifican mediante entropía.
En algunas normas de codificación de imagen y vídeo, las posibilidades de subdividir una imagen (o un grupo de planos) en bloques proporcionados por la sintaxis son muy limitadas. Normalmente, solo puede especificarse si (y posiblemente cómo) un bloque de un tamaño predefinido puede subdividirse en bloques más pequeños. Como un ejemplo, el tamaño de bloque más grande en H.264 es de 16x16. Los bloques de 16x16 también se denominan macrobloques y cada imagen se divide en macrobloques en una primera etapa. Puede señalizarse si cada macrobloque de 16x16 se codifica como un bloque de 16x16, o como dos bloques de 16x8, o como dos bloques de 8x16, o como cuatro bloques de 8x8. Si un bloque de 16x16 se subdivide en cuatro bloques de 8x8, cada uno de estos bloques de 8x8 puede codificarse como un bloque de 8x8, o como dos bloques de 8x4, o como dos bloques de 4x8, o como cuatro bloques de 4x4. El pequeño conjunto de posibilidades para especificar la división en bloques en las normas de codificación de imágenes y vídeo de última generación tiene la ventaja de que la tasa de información secundaria para señalizar la información de subdivisión puede mantenerse baja, pero tiene la desventaja de que la velocidad binaria requerida para transmitir los parámetros de predicción para los bloques puede ser considerable, como se explica a continuación. La tasa de información secundaria para señalizar la información de predicción representa normalmente una cantidad importante de la velocidad binaria global para un bloque. La eficacia de la codificación puede aumentarse cuando se reduce esta información secundaria, lo cual podría conseguirse, por ejemplo, utilizando tamaños de bloque más grandes. Las imágenes reales de una secuencia de vídeo consisten en objetos conformados de manera arbitraria con propiedades específicas. Como un ejemplo, tales objetos o partes de los objetos se caracterizan por una textura única o un movimiento único. Normalmente, el mismo conjunto de parámetros de predicción puede aplicarse para tal objeto o parte de un objeto. Sin embargo, los contornos de los objetos no coinciden normalmente con los posibles límites de bloque de los grandes bloques de predicción (por ejemplo, macrobloques de 16x16 en H.264). Un codificador normalmente determina la subdivisión (entre el conjunto limitado de posibilidades) que da como resultado el mínimo de una medida particular del coste velocidad-distorsión. En objetos conformados de manera arbitraria, esto puede dar como resultado un gran número de pequeños bloques. Puesto que cada uno de estos pequeños bloques está asociado a un conjunto de parámetros de predicción, que necesitan ser transmitidos, la tasa de información secundaria puede llegar a ser una parte considerable de la velocidad binaria global. Sin embargo, puesto que varios de los pequeños bloques siguen representando áreas del mismo objeto o parte de un objeto, los parámetros de predicción para una pluralidad de los bloques obtenidos son idénticos o muy similares. De manera intuitiva, la eficacia de la codificación puede aumentarse cuando la sintaxis se amplía de tal manera que no solo permite subdividir un bloque, sino también compartir parámetros de codificación entre los bloques que se obtienen después de una subdivisión. En una subdivisión basada en árboles, la compartición de parámetros de codificación para un conjunto de bloques dado puede conseguirse asignando los parámetros de codificación o partes de los mismos a uno o más nodos padre de la jerarquía basada en árboles. Como resultado, los parámetros compartidos o partes de los mismos pueden usarse con el fin de reducir la información secundaria que es necesaria para señalizar la elección real de parámetros de codificación para los bloques obtenidos después de la subdivisión. La reducción puede conseguirse omitiendo la señalización de parámetros para bloques subsiguientes o usando el/los parámetro(s) compartido(s) para la predicción y/o la modelización de contexto de los parámetros para bloques subsiguientes.
La idea básica del esquema de herencia descrito a continuación es reducir la velocidad binaria necesaria para transmitir los parámetros de codificación compartiendo información a lo largo de la jerarquía de bloques basada en árboles. La información compartida se señaliza en el flujo de bits (además de la información de subdivisión). La ventaja del esquema de herencia es una mayor eficacia de codificación resultante de una menor tasa de información secundaria para los parámetros de codificación.
Con el fin de reducir la tasa de información secundaria, según las realizaciones descritas a continuación, los parámetros de codificación respectivos para conjuntos particulares de muestras, es decir, regiones conectadas de manera simple que pueden representar bloques rectangulares o cuadráticos o regiones conformadas de manera arbitraria o cualquier otra colección de muestras de una subdivisión multiárbol, pueden ser señalizados en el flujo de datos de manera eficaz. El esquema de herencia descrito a continuación permite que los parámetros de codificación no tengan que incluirse en su totalidad explícitamente en el flujo de bits para cada uno de estos conjuntos de muestras. Los parámetros de codificación pueden representar parámetros de predicción, que especifican cómo el conjunto correspondiente de muestras se predice usando muestras ya codificadas. Muchas posibilidades y ejemplos se han descrito anteriormente y también se aplican aquí. Como también se ha indicado anteriormente, y como se describirá en detalle a continuación en lo que respecta al siguiente esquema de herencia, la división basada en árboles de las matrices de muestras de una imagen en conjuntos de muestras puede fijarse por la sintaxis o puede señalizarse mediante información de subdivisión correspondiente en el flujo de bits. Los parámetros de codificación para los conjuntos de muestras pueden transmitirse, como se ha descrito anteriormente, en un orden predefinido que viene dado por la sintaxis.
Según el esquema de herencia, el descodificador o el extractor 102 del descodificador está configurado para obtener de manera específica la información referente a los parámetros de codificación de la región individual conectada de manera simple o de conjuntos de muestras. En particular, los parámetros de codificación o partes de los mismos, tales como los parámetros que se usan con fines predictivos, se comparten entre bloques a lo largo del esquema de división dado basado en árboles, donde el grupo de compartición a lo largo de la estructura en árbol es determinado por el codificador o la unidad de inserción 18, respectivamente. En una realización particular, la compartición de los parámetros de codificación para todos los nodos hijo de un nodo interno dado del árbol de división se indica usando un indicador de compartición específico de valores binarios. Como un enfoque alternativo, los refinamientos de los parámetros de codificación pueden transmitirse para cada nodo de modo que los refinamientos acumulados de parámetros a lo largo de la jerarquía de bloques basada en árboles pueden aplicarse a todos los conjuntos de muestras del bloque en un nodo hoja dado. En otra realización, partes de los parámetros de codificación que se transmiten para nodos internos a lo largo de la jerarquía de bloques basada en árboles pueden usarse para una codificación y descodificación mediante entropía adaptable al contexto de los parámetros de codificación o partes de los mismos para el bloque en un nodo hoja dado.
Las figura 12a y 12b ilustran la idea básica de herencia para el caso específico de usar una división basada en árboles cuaternarios. Sin embargo, como se ha indicado varias veces anteriormente, otros esquemas de subdivisión multiárbol también pueden usarse. La estructura de árbol se muestra en la figura 12a, mientras que la división espacial correspondiente a la estructura de árbol de la figura 12a se muestra en la figura 12b. La división mostrada aquí es similar a la mostrada con respecto a las figuras 3a a 3c. En términos generales, el esquema de herencia permitirá asignar información secundaria a nodos en diferentes capas que no son hojas en la estructura de árbol. Dependiendo de la asignación de información secundaria a nodos en las diferentes capas del árbol, tal como los nodos internos del árbol de la figura 12a o el nodo raíz del mismo, pueden obtenerse diferentes grados de compartición de información secundaria en la jerarquía de bloques en árbol mostrada en la figura 12b. Por ejemplo, si se decide que todos los nodos hoja de la capa 4 que, en el caso de la figura 12a, tienen el mismo nodo padre, compartan prácticamente la información secundaria, esto significa que los bloques más pequeños de la figura 12b indicados con 156a a 156d compartirán esta información secundaria, no siendo ya necesario transmitir toda la información secundaria para todos estos pequeños bloques 156a a 156d, es decir, cuatro veces, aunque esto se mantiene como una opción para el codificador. Sin embargo, también será posible decidir que toda una región del nivel jerárquico 1 (capa 2) de la figura 12a, en concreto el cuadrante situado en la esquina superior derecha del bloque árbol 150 que incluye los subbloques 154a, 154b y 154d, así como los subbloques aún más pequeños 156a a 156d que acaban de mencionarse, sirve como una región en la que se comparten los parámetros de codificación. Por tanto, el área de compartición de información secundaria aumenta. El siguiente nivel de aumento será la suma total de los subbloques de capa 1, en concreto los subbloques 152a, 152c y 152d, y los bloques más pequeños antes mencionados. Dicho de otro modo, en este caso, todo el bloque árbol tendrá asignada la misma información secundaria, donde todos los subbloques de este bloque árbol 150 comparten la información secundaria.
En la siguiente descripción de herencia se usa la siguiente notación para describir las realizaciones:
a. Muestras reconstruidas del nodo hoja actual: r
b. Muestras reconstruidas de hojas vecinas: r ’
c. Predicción del nodo hoja actual: p
d. Residuo del nodo hoja actual: Re s
e. Residuo reconstruido del nodo hoja actual: Re c Re s
f. Escalamiento y transformada inversa: SIT
g. Indicador de compartición: f
Como un primer ejemplo de herencia puede describirse la señalización de intrapredicción en los nodos internos.
Específicamente, se describe cómo señalizar modos de intrapredicción en nodos internos de una división de bloques basada en árboles con fines de predicción. Recorriendo el árbol desde el nodo raíz hasta los nodos hoja, los nodos internos (incluyendo el nodo raíz) pueden transferir partes de información secundaria que se utilizará por sus nodos hijo correspondientes. De manera más específica, un indicador de compartición f se transmite para nodos internos con el siguiente significado:
• Si f tiene un valor de 1 (“verdadero”), todos los nodos hijo del nodo interno dado comparten el mismo modo de intrapredicción. Además del indicador de compartición f con un valor de 1, el nodo interno también señaliza el parámetro de modo de intrapredicción que se usará para todos los nodos hijo. En consecuencia, todos los nodos hijo subsiguientes no portan ninguna información de modo de predicción ni tampoco ningún indicador de compartición. Para la reconstrucción de todos los nodos hoja relacionados, el descodificador aplica el modo de intrapredicción desde el nodo interno correspondiente.
• Si f tiene un valor de 0 (“falso”), los nodos hijo del nodo interno correspondiente no comparten el mismo modo de intrapredicción y cada nodo hijo que sea un nodo interno porta un indicador de compartición diferente.
La figura 12c ilustra la señalización de intrapredicción en nodos internos como se ha descrito anteriormente. El nodo interno de la capa 1 transfiere el indicador de compartición y la información secundaria que viene dada por la información de modo de intrapredicción y los nodos hijo no portan ninguna información secundaria.
Como un segundo ejemplo de herencia puede describirse el refinamiento de interpredicción. Específicamente, se describe cómo señalizar información secundaria de modos de interpredicción en nodos internos de una división de bloques basada en árboles con el fin de refinar los parámetros de movimiento, como los proporcionados, por ejemplo, por los vectores de movimiento. Recorriendo el árbol desde el nodo raíz hasta los nodos hoja, los nodos internos (incluido el nodo raíz) pueden transferir partes de información secundaria que se refinará por sus nodos hijo correspondientes. De manera más específica, un indicador de compartición f se transmite para nodos internos con el siguiente significado:
• Si f tiene un valor de 1 (“verdadero”), todos los nodos hijo del nodo interno dado comparten la misma referencia de vector de movimiento. Además de que el indicador de compartición f tenga un valor de 1, el nodo interno también señaliza el vector de movimiento y el índice de referencia. Por consiguiente, todos los nodos hijo subsiguientes no portan ningún indicador de compartición adicional sino que pueden portar un refinamiento de esta referencia de vector de movimiento heredada. Para la reconstrucción de todos los nodos hoja relacionados, el descodificador añade el refinamiento de vector de movimiento del nodo hoja dado a la referencia de vector de movimiento heredada que pertenece a este nodo padre interno correspondiente que tiene un indicador de compartición f con un valor de 1. Esto significa que el refinamiento de vector de movimiento en un nodo hoja dado es la diferencia entre el vector de movimiento real que va a aplicarse para la predicción compensada por movimiento en este nodo hoja y la referencia de vector de movimiento de su nodo padre interno correspondiente.
• Si f tiene un valor de 0 (“falso”), los nodos hijo del nodo interno correspondiente no comparten necesariamente el mismo modo de interpredicción y no se lleva a cabo ningún refinamiento de los parámetros de movimiento en los nodos hijo usando los parámetros de movimiento del nodo interno correspondiente y cada nodo hijo que es un nodo interno porta un indicador de compartición distinto.
La figura 12d ilustra el refinamiento de parámetros de movimiento descrito anteriormente. El nodo interno de la capa 1 transfiere el indicador de compartición e información secundaria. Los nodos hijo que sean nodos hoja solo portan los refinamientos de parámetros de movimiento y, por ejemplo, el nodo hijo interno de la capa 2 no porta ninguna información secundaria.
A continuación se hace referencia a la figura 13. La figura 13 muestra un diagrama de flujo que ilustra el modo de funcionamiento de un descodificador, tal como el descodificador de la figura 2, a la hora de reconstruir una matriz de muestras de información que representan una señal de información de ejemplo espacial, que está subdividida en regiones hoja de diferentes tamaños mediante subdivisión multiárbol, a partir de un flujo de datos. Tal y como se ha descrito anteriormente, cada región hoja tiene asociado a la misma un nivel jerárquico de una secuencia de niveles jerárquicos de la subdivisión multiárbol. Por ejemplo, todos los bloques mostrados en la figura 12b son regiones hoja. La región hoja 156c, por ejemplo, está asociada con la capa jerárquica 4 (o nivel 3). Cada región hoja tiene asociada a la misma parámetros de codificación. Ejemplos de estos parámetros de codificación se han descrito anteriormente. Los parámetros de codificación están representados, para cada región hoja, mediante un conjunto respectivo de elementos sintácticos. Cada elemento sintáctico es uno de un tipo de elemento sintáctico respectivo de un conjunto de tipos de elementos sintácticos. Tal tipo de elemento sintáctico es, por ejemplo, un modo de predicción, una componente de vector de movimiento, una indicación de un modo de intrapredicción o similar. Según la figura 13, el descodificador lleva a cabo las siguientes etapas.
En la etapa 550 se extrae información de herencia del flujo de datos. En el caso de la figura 2, el extractor 102 se encarga de la etapa 550. La información de herencia indica si se usa herencia o no en la matriz actual de muestras de información. La siguiente descripción revelará que hay varias posibilidades para la información de herencia tal como, entre otras, el indicador de compartición f y la señalización de una estructura multiárbol dividida en una parte primaria y una parte secundaria.
La matriz de muestras de información puede ser ya una subparte de una imagen, tal como un bloque árbol, en concreto en bloque árbol 150 de la figura 12b, por ejemplo. Por tanto, la información de herencia indica si se usa herencia o no para el bloque árbol específico 150. Tal información de herencia puede insertarse en el flujo de datos para todos los bloques árbol de la subdivisión de predicción, por ejemplo.
Además, si se determina que se usa la herencia, la información de herencia indica al menos una región de herencia de la matriz de muestras de información, que está compuesta por un conjunto de regiones hoja y corresponde a un nivel jerárquico de la secuencia de niveles jerárquicos de la subdivisión multiárbol, que es inferior a cada uno de los niveles jerárquicos con los que el conjunto de regiones hoja está asociado. Dicho de otro modo, la información de herencia indica si va a usarse la herencia o no en la matriz de muestras actual, tal como el bloque árbol 150. Si es así, denota al menos una región o subregión de herencia de este bloque árbol 150, dentro del cual las regiones hoja comparten parámetros de codificación. Por tanto, la región de herencia puede no ser una región hoja. En el ejemplo de la figura 12b, esta región de herencia puede ser, por ejemplo, la región formada por los subbloques 156a a 156b. Como alternativa, la región de herencia puede ser mayor y puede abarcar además los subbloques 154a, b y c, e incluso como alternativa, la región de herencia puede ser el propio bloque árbol 150, donde todos los bloques hoja del mismo comparten los parámetros de codificación asociados con esa región de herencia.
Sin embargo, debe observarse que más de una región de herencia puede definirse en una matriz de muestras o bloque árbol 150, respectivamente. Considérese, por ejemplo, que el subbloque inferior izquierdo 152c también está divido en bloques más pequeños. En este caso, el subbloque 152c también podría formar una región de herencia.
En la etapa 552, la información de herencia se comprueba para determinar si va a usarse herencia o no. Si va a usarse herencia, el proceso de la figura 13 procede con la etapa 554, en la que un subconjunto de herencia que incluye al menos un elemento sintáctico de un tipo de elemento sintáctico predeterminado se extrae del flujo de datos por región de interherencia. En la siguiente etapa 556, este subconjunto de herencia se copia en, o se usa como una predicción de un subconjunto de herencia correspondiente de elementos sintácticos dentro del conjunto de elementos sintácticos que representan los parámetros de codificación asociados con el conjunto de regiones hoja de las que la al menos una región de herencia respectiva está compuesta. Dicho de otro modo, para cada región de herencia indicada en la información de herencia, el flujo de datos comprende un subconjunto de herencia de elementos sintácticos. Dicho de incluso otro modo, la herencia pertenece a al menos un determinado tipo de elemento sintáctico o categoría de elemento sintáctico que está disponible para la herencia. Por ejemplo, el elemento sintáctico de modo de predicción, modo de interpredicción o modo de intrapredicción puede estar sujeto a herencia. Por ejemplo, el subconjunto de herencia incluido en el flujo de datos para la región de herencia puede comprender un elemento sintáctico de modo de interpredicción. El subconjunto de herencia también puede comprender elementos sintácticos adicionales cuyos tipos de elemento sintáctico dependen del valor del tipo de elemento sintáctico fijado mencionado anteriormente asociado con el esquema de herencia. Por ejemplo, en caso de que el modo de interpredicción sea una componente fija del subconjunto de herencia, los elementos sintácticos que definen la compensación de movimiento, tal como las componentes de vector de movimiento, pueden estar incluidos o no en el subconjunto de herencia mediante la sintaxis. Considérese, por ejemplo, que el cuadrante superior derecho del bloque árbol 150, en concreto el subbloque 152b, era la región de herencia; entonces, para esta región de herencia puede indicarse o bien solamente el modo de interpredicción o bien el modo de interpredicción junto con vectores de movimiento e índices de vectores de movimiento.
Todos los elementos sintácticos contenidos en el subconjunto de herencia se copian o usan como una predicción de los parámetros de codificación correspondientes de los bloques hoja en esa región de herencia, es decir, los bloques hoja 154a, b, d y 156a a 156d. En caso de usar predicción, las partes residuales se transmiten para los bloques hoja individuales.
Una posibilidad para transmitir la información de herencia para el bloque árbol 150 es la transmisión anteriormente mencionada de un indicador de compartición f La extracción de la información de herencia en la etapa 550 podría, en este caso, comprender lo siguiente. En particular, el descodificador podría estar configurado para extraer y comprobar, para regiones que no son hojas correspondientes a cualquiera de un conjunto de herencia de al menos un nivel jerárquico de la subdivisión multiárbol, usando un orden de nivel jerárquico desde un nivel jerárquico inferior a un nivel jerárquico superior, el indicador de compartición f del flujo de datos para determinar si el indicador de herencia respectivo o indicador de compartición indica herencia o no. Por ejemplo, el conjunto de herencia de niveles jerárquicos podría estar formado por las capas jerárquicas 1 a 3 de la figura 12a. Por tanto, cualquiera de los nodos de la estructura de subárbol que no sea un nodo hoja y que esté en cualquiera de las capas 1 a 3 puede tener un indicador de compartición asociado al mismo en el flujo de datos. El descodificador extrae estos indicadores de compartición en el orden desde la capa 1 hasta la capa 3, tal como en un orden de recorrido de primero en profundidad o de primero en anchura. En cuanto uno de los indicadores de compartición sea igual a 1, el descodificador sabe que los bloques hoja contenidos en una región de herencia correspondiente comparten el subconjunto de herencia extraído posteriormente en la etapa 554. Para los nodos hijo del nodo actual, ya no es necesaria una comprobación de los indicadores de herencia. Dicho de otro modo, los indicadores de herencia para estos nodos hijo no se transmiten en el flujo de datos, ya que resulta evidente que el área de estos nodos ya pertenece a la región de herencia dentro de la cual se comparte el subconjunto de herencia de elementos sintácticos.
Los indicadores de compartición f pueden entrelazarse con los bits mencionados anteriormente que señalizan la subdivisión en árboles cuaternarios. Por ejemplo, una secuencia de bits de entrelazado que incluye indicadores de subdivisión e indicadores de compartición puede ser: 10001101(0000)000, que es la misma información de subdivisión que la ilustrada en la figura 6a con dos indicadores de compartición intercalados, que están resaltados mediante subrayado, con el fin de indicar que en la figura 3c todos los subbloques del cuadrante inferior izquierdo del bloque árbol 150 comparten parámetros de codificación.
Otro modo de definir la información de herencia que indica la región de herencia consiste en usar dos subdivisiones definidas de manera subordinada entre sí como se ha explicado anteriormente con respecto a la predicción y la subdivisión residual, respectivamente. En términos generales, los bloques hoja de la subdivisión primaria podrían formar la región de herencia que define las regiones dentro de las cuales se comparten los subconjuntos de herencia de elementos sintácticos, mientras que la subdivisión subordinada define los bloques dentro de estas regiones de herencia para los que el subconjunto de herencia de elementos sintácticos se copia o usa como una predicción.
Considérese, por ejemplo, el árbol residual como una extensión del árbol de predicción. Considérese, además, el caso en que los bloques de predicción pueden dividirse adicionalmente en bloques más pequeños con fines de codificación residual. Para cada bloque de predicción que corresponde a un nodo hoja del árbol cuaternario relacionado con la predicción, la subdivisión correspondiente para la codificación residual se determina mediante uno o más árboles cuaternarios subordinados.
En este caso, en lugar de usar cualquier señalización de predicción en nodos internos, se considera que el árbol residual se interpreta de tal manera que también especifica un refinamiento del árbol de predicción en el sentido de usar un modo de predicción constante (señalizado mediante el nodo hoja correspondiente del árbol relacionado con la predicción) pero con muestras de referencia refinadas. El siguiente ejemplo ilustra este caso.
Por ejemplo, las figuras 14a y 14b muestran una división en árboles cuaternarios para la intrapredicción, donde las muestras de referencia vecinas están resaltadas para un nodo hoja específico de la subdivisión primaria, mientras que la figura 14b muestra la subdivisión en árboles cuaternarios residuales para el mismo nodo hoja de predicción con muestras de referencia refinadas. T odos los subbloques mostrados en la figura 14b comparten los mismos parámetros de interpredicción incluidos en el flujo de datos para el bloque hoja respectivo resaltado en la figura 14a. Por tanto, la figura 14a muestra un ejemplo para la división convencional en árboles cuaternarios para la intrapredicción, donde se muestran las muestras de referencia para un nodo hoja específico. Sin embargo, en nuestra realización preferida, se calcula una señal de intrapredicción diferente para cada nodo hoja del árbol residual usando muestras vecinas de nodos hoja ya reconstruidos del árbol residual, por ejemplo los indicados por las líneas sombreadas de la figura 4(b). Después, la señal reconstruida de un nodo hoja residual dado se obtiene de la manera habitual añadiendo la señal residual cuantificada a esta señal de predicción. Esta señal reconstruida se usa entonces como una señal de referencia para el proceso de predicción subsiguiente. Debe observarse que el orden de descodificación para la predicción es el mismo que el orden de descodificación residual.
En el proceso de descodificación, como el mostrado en la figura 15, para cada nodo hoja residual, la señal de predicción p se calcula según el modo de intrapredicción real (como se indica mediante el nodo hoja de árbol cuaternario relacionado con la predicción) usando las muestras de referencia r ’.
Después del proceso SIT,
Rec Res = SIT (Res)
la señal reconstruida r se calcula y almacena para el siguiente proceso de cálculo de predicción:
r = RecRes p
El orden de descodificación para la predicción es el mismo que el orden de descodificación residual, que se ilustra en la figura 16.
Cada nodo hoja residual se descodifica como se describe en el párrafo anterior. La señal r reconstruida se almacena en una memoria intermedia, como se muestra en la figura 16. Las muestras de referencia r ’ se extraerán de esta memoria intermedia para el proceso de predicción y descodificación subsiguiente.
Después de haber descrito las realizaciones específicas con respecto a las figuras 1 a 16 con diferentes subconjuntos combinados de los aspectos descritos anteriormente, se describen realizaciones adicionales de la presente solicitud que se centran en determinados aspectos ya descritos anteriormente, pero estas realizaciones representan generalizaciones de algunas de las realizaciones descritas anteriormente.
La figura 17 muestra un descodificador según una realización adicional. El descodificador comprende un extractor 600, un subdivisor 602 y un reconstructor 604. Estos bloques están conectados en serie en el orden mencionado entre una entrada 606 y una salida 608 del descodificador de la figura 17. El extractor 600 está configurado para extraer un tamaño de región máximo e información de subdivisión multiárbol de un flujo de datos recibido por el descodificador en la entrada 606. El tamaño de región máximo puede corresponder, por ejemplo, al tamaño de bloque máximo mencionado anteriormente que indicaba el tamaño de las regiones conectadas de manera simple, denominadas ahora brevemente “bloques”, de la subdivisión de predicción, o al tamaño de bloque máximo que define el tamaño de los bloques árbol de la subdivisión residual. La información de subdivisión multiárbol puede corresponder, a su vez, a la información de subdivisión en árboles cuaternarios y puede codificarse en el flujo de bits de manera similar a las figuras 6a y 6b. Sin embargo, la subdivisión en árboles cuaternarios descrita anteriormente con respecto a las figuras anteriores era solamente un ejemplo de un gran número de posibles ejemplos. Por ejemplo, el número de nodos hijo con respecto a un nodo padre puede ser cualquier número mayor que uno, y el número puede variar según el nivel jerárquico. Además, la división de un nodo de subdivisión puede no llevarse a cabo de manera que el área de los subbloques correspondientes a los nodos hijo de un determinado nodo sean iguales entre sí. En cambio, otras reglas de división pueden aplicarse y pueden variar de un nivel jerárquico a otro. Además, información referente al máximo nivel jerárquico de la subdivisión multiárbol o, de manera correspondiente al mismo, el tamaño mínimo de la subregión resultante de la subdivisión multiárbol no tiene que transmitirse en el flujo de datos y, por tanto, el extractor puede no extraer tal información del flujo de datos.
El subdivisor 602 está configurado para dividir espacialmente una matriz de muestras de información, tal como la matriz 24, en regiones raíz de árbol 150 con el tamaño de región máximo. La matriz de muestras de información puede representar, como se ha descrito anteriormente, una señal de información que varía en el tiempo, tal como un vídeo o un vídeo 3D o similares. Como alternativa, la matriz de muestras de información puede representar una imagen fija. El subdivisor 602 está configurado además para subdividir, según la información de subdivisión multiárbol extraída por el extractor 600, al menos un subconjunto de las regiones raíz de árbol en regiones más pequeñas conectadas de manera simple de diferente tamaño mediante una múltiple división recursiva del subconjunto de las regiones raíz de árbol. Como acaba de describirse con respecto al extractor 600, la división no está limitada a una división cuaternaria.
A su vez, el reconstructor 604 está configurado para reconstruir la matriz de muestras de información a partir de flujo de datos 606 usando la subdivisión en regiones más pequeñas conectadas de manera simple. Las regiones más pequeñas conectadas de manera simple corresponden a los bloques mostrados en la figura 3c, por ejemplo, o a los bloques mostrados en las figuras 9a y 9b. El orden de procesamiento no está restringido al orden de recorrido de primero en profundidad.
Cuando se correlacionan los elementos mostrados en la figura 2 con los elementos mostrados en la figura 17, entonces el elemento 102 de la figura 2 corresponde al elemento 600 de la figura 12, el elemento 104a de la figura 2 corresponde al subdivisor 602 de la figura 12 y los elementos 104b, 106, 108, 110, 112 y 114 forman el reconstructor 604.
La ventaja de transmitir el tamaño de región máximo en el flujo de datos es que el codificador puede adaptar la subdivisión a un contenido de imagen típico usando menos información secundaria ya que el codificador tiene la oportunidad de decidir el tamaño de región máximo en cada imagen. En una realización preferida, el tamaño de región máximo se transfiere en el flujo de bits para cada imagen. Como alternativa, el tamaño de región máximo se transmite en el flujo de bits con una granularidad más tosca, tal como en unidades de grupos de imágenes.
La figura 18 muestra esquemáticamente el contenido de un flujo de datos que el descodificador de la figura 17 puede descodificar. El flujo de datos comprende datos 610, tales como parámetros de codificación e información residual, en función de los cuales, en combinación con la información de división multiárbol, el reconstructor puede reconstruir la matriz de muestras de información. Evidentemente, además de esto, el flujo de datos comprende la información de subdivisión multiárbol 612 y el tamaño de región máximo 614. En el orden de la descodificación, el tamaño de región máximo precede preferiblemente a la información de subdivisión multiárbol 612 y a los datos restantes 610 en el orden de codificación/descodificación. La información de subdivisión multiárbol 612 y los datos restantes 610 pueden codificarse en el flujo de datos de manera que la información de subdivisión multiárbol 612 preceda a los datos restantes 610, pero como también se ha descrito anteriormente, la información de subdivisión multiárbol 612 puede intercalarse con los datos restantes 610 en unidades de las subregiones en las que la matriz de muestras de información está dividida según la información de subdivisión multiárbol. Además, la información de subdivisión puede cambiar en el tiempo, tal como para cada imagen. La codificación puede llevarse a cabo usando predicción basada en el tiempo. Es decir, simplemente pueden codificarse las diferencias con respecto a la información de subdivisión anterior. Esto también se aplica al tamaño de región máximo. Sin embargo, esto último también puede cambiar con una resolución de tiempo más tosca.
Tal y como se indica mediante líneas discontinuas, el flujo de datos puede comprender además información acerca del máximo nivel jerárquico, en concreto información 616. Los tres cuadros vacíos mostrados con líneas discontinuas en 618 indican que el flujo de datos también puede comprender los elementos de datos 612 a 616 en otro momento para una subdivisión multiárbol adicional, que puede ser una subdivisión subordinada con respecto a la subdivisión multiárbol definida por los elementos 612 a 616, o puede ser una subdivisión de la matriz de muestras de información definidas de manera independiente.
La figura 19 muestra, de manera muy abstracta, un codificador para generar el flujo de datos de la figura 18 que puede descodificarse por el descodificador de la figura 17. El codificador comprende un subdivisor 650 y un codificador final 652. El subdivisor está configurado para determinar un tamaño de región máximo e información de subdivisión multiárbol y para dividir y subdividir espacialmente en consecuencia la matriz de muestras de información como lo hace el subdivisor 602, controlado por tanto por la información 612 y 614 transmitida en el flujo de datos. El descodificador final 652 está configurado para codificar la matriz de muestras de información en el flujo de datos usando la subdivisión en regiones más pequeñas conectadas de manera simple definidas por el subdivisor 650 junto con el tamaño de región máximo y la información de subdivisión multiárbol.
Como se ha mencionado anteriormente, el diagrama de bloques de la figura 19 que muestra el codificador de la figura 19 estructurado en un subdivisor 650 y un codificador final 652 debe entenderse en un sentido muy abstracto. Específicamente, tanto el subdivisor 650 como el codificador final 652 tienen que determinar un conjunto óptimo de elementos sintácticos que comprenden tanto las indicaciones relativas a la subdivisión, en concreto el tamaño de región máximo 614 e información de subdivisión multiárbol 612, como los datos restantes 610 y, con el fin de determinar este conjunto optimizado de elementos sintácticos, puede usarse un algoritmo iterativo según el cual el subdivisor 602 y el reconstructor 604, respectivamente, prueban conjuntos preliminares de elementos sintácticos. Esto se ilustra en la figura 19 mediante la existencia de un codificador de prueba 654, que se muestra con el fin de ilustrar que algunos conjuntos de elementos sintácticos que describen los elementos 610 a 614 pueden haberse usado de manera preliminar para la codificación en el codificador de prueba 654 antes de que tenga lugar la inserción de flujo de datos real y la generación de flujo de código por parte del subdivisor 650 y el codificador final 652. Aunque se muestran como entidades diferentes, el codificador de prueba 654 y el codificador final 652 pueden coincidir, en gran medida, en lo que respecta a las subrutinas, partes de circuito o lógica de firmware, respectivamente.
Según otra realización, un descodificador puede estructurarse como se muestra en la figura 20. El descodificador de la figura 20 comprende un subdivisor 700 y un reconstructor 702. El subdivisor está configurado para subdividir de manera espacial, usando una subdivisión en árboles cuaternarios, una matriz de muestras de información que representan una señal de información espacialmente muestreada, tal como la matriz de muestras de información 24, en bloques de diferentes tamaños mediante una división recursiva en árboles cuaternarios como se ha descrito, por ejemplo, con respecto a la figura 3c y las figuras 9a y 9b, respectivamente. El reconstructor 702 está configurado para reconstruir la matriz de muestras de información a partir de un flujo de datos usando la subdivisión en bloques o regiones conectadas de manera simple tratando los bloques en un orden de recorrido de primero en profundidad, tal como el orden de recorrido de primero en profundidad que se ha descrito anteriormente y mostrado en 350 en la figura 3c, por ejemplo.
Como se ha descrito anteriormente, usar el orden de recorrido de primero en profundidad para reconstruir la matriz de muestras de imágenes en relación con la subdivisión en árboles cuaternarios ayuda a utilizar los elementos sintácticos ya descodificados en el flujo de datos de bloques vecinos con el fin de aumentar la eficacia de codificación del bloque actual.
Debe observarse que el subdivisor 700 de la figura 20 puede no esperar que el flujo de datos comprenda una información referente a un tamaño de región máximo 514 de la subdivisión en árboles cuaternarios. Además, un nivel jerárquico máximo 616 puede no indicarse en el flujo de datos según la realización de la figura 20. Según la realización de la figura 20, incluso la información de subdivisión en árboles cuaternarios no necesita señalizarse explícitamente en el flujo de datos en el sentido de elementos sintácticos especialmente dedicados. En cambio, el subdivisor 700 podría predecir la subdivisión en árboles cuaternarios a partir de un análisis de los datos restantes del flujo de datos, tal como un análisis de una imagen en miniatura posiblemente incluida en el flujo de datos. Como alternativa, el subdivisor 700 está configurado para, cuando extrae la información de subdivisión en árboles cuaternarios a partir del flujo de datos, predecir la información de subdivisión para la matriz actual de muestras de información a partir de una subdivisión en árboles cuaternarios reconstruida/descodificada previamente de una matriz de muestras de información descodificada previamente en caso de que la matriz de muestras de información pertenezca a una imagen de un vídeo o alguna otra señal de información que varía en el tiempo. Además, la predivisión de la matriz de muestras en bloques árbol, como era el caso de las realizaciones anteriormente descritas de las figuras 1 a 16, no necesita llevarse a cabo. En cambio, la subdivisión en árboles cuaternarios puede llevarse a cabo directamente en la matriz de muestras tal cual esté.
En lo que respecta a la concordancia de los elementos mostrados en la figura 20 y los elementos mostrados en la figura 2, el subdivisor 700 corresponde al subdivisor 104a de la figura 2, mientras que el reconstructor 702 corresponde a los elementos 104b, 106, 108, 110, 112 y 114. De manera similar a la descripción de la figura 17, puede prescindirse del fusionador 104b. Además, el reconstructor 702 no está restringido a una codificación híbrida. Lo mismo se aplica al reconstructor 604 de la figura 12. Como se muestra mediante las líneas discontinuas, el descodificador de la figura 15 puede comprender un extractor que extrae, por ejemplo, información de subdivisión en árboles cuaternarios en función de la cual el subdivisor subdivide espacialmente la matriz de muestras de información, donde este extractor corresponde al extractor 102 de la figura 2. Como se muestra con una flecha discontinua, el subdivisor 700 puede incluso predecir una subdivisión de la matriz actual de muestras de información a partir de una matriz reconstruida de muestras de información proporcionada por el reconstructor 702.
Un codificador que puede proporcionar un flujo de datos que puede descodificarse por un descodificador de la figura 25 está estructurado como se muestra en la figura 19, en concreto en un subdivisor y un codificador final, donde el subdivisor está configurado para determinar la subdivisión en árboles cuaternarios y, en consecuencia, una matriz de muestras de información subdividida espacialmente, y donde el codificador final está configurado para codificar la matriz de muestras de información en el flujo de datos usando la subdivisión tratando el bloque en el orden de recorrido de primero en profundidad.
La figura 21 muestra un descodificador para descodificar una señalización codificada de una estructura multiárbol que establece una subdivisión multiárbol espacial de un bloque árbol, tal como la señalización mostrada en las figuras 6a y 6b con respecto a una subdivisión en árboles cuaternarios. Como se ha indicado anteriormente, la subdivisión multiárbol no está limitada a una subdivisión en árboles cuaternarios. Además, el número de nodos hijo por nodo padre puede diferir dependiendo del nivel jerárquico del nodo padre, de una manera conocida tanto por el lado de codificación como por el lado de descodificación, o de una manera indicada al descodificador como información secundaria. La señalización codificada comprende una secuencia de indicadores asociados con nodos de la estructura multiárbol en un orden de recorrido de primero en profundidad, tal como el orden 350 de la figura 3c. Cada indicador especifica si un área del bloque árbol correspondiente al nodo con el que el indicador respectivo está asociado está dividida en varias partes, tal como los indicadores de las secuencias de indicadores de las figuras 6a y 6b. El descodificador de la figura 21 está configurado entonces para descodificar secuencialmente por entropía los indicadores usando contextos de estimación de probabilidad que son los mismos para los indicadores asociados con nodos de la estructura multiárbol dispuestos en el mismo nivel jerárquico de la estructura multiárbol, pero diferentes para nodos de la estructura multiárbol que están dispuestos en diferentes niveles jerárquicos de la estructura multiárbol. El orden de recorrido de primero en profundidad permite sacar partido de las estadísticas de muestras vecinas de subbloques vecinos de la estructura multiárbol, mientras que el uso de diferentes contextos de estimación de probabilidad para indicadores asociados con diferentes nodos de nivel jerárquico permite un compromiso entre información complementaria de gestión de contexto, por un lado, y una eficacia de codificación, por otro lado.
Como alternativa, la figura 21 puede generalizar la descripción anteriormente mencionada con respecto a las figuras 1 a 16 de otra manera. El descodificador de la figura 16 podría estar configurado para descodificar una señal codificada de una estructura multiárbol, que no está especificando necesariamente una subdivisión multiárbol espacial de un bloque árbol, pero que comprende una secuencia de indicadores asociados con nodos de la estructura multiárbol en un orden de recorrido de primero en profundidad como se ha descrito anteriormente. Por ejemplo, la estructura multiárbol podría usarse en el lado de descodificación para otros fines tal como en otras aplicaciones de codificación, tales como aplicaciones de codificación de audio y otras aplicaciones. Además, según esta alternativa para la figura 21, la señalización codificada comprende además una información referente al nivel jerárquico máximo de la estructura multiárbol y la secuencia de indicadores está asociada simplemente con nodos de la estructura multiárbol en un orden de primero en profundidad no asociados con nodos que están en este nivel jerárquico máximo. Mediante esta medida, el número de indicadores se reduce significativamente.
Con respecto a las alternativas descritas anteriormente con respecto a la figura 21, debe observarse que un codificador respectivo para proporcionar la señalización codificada de una estructura multiárbol descodificada por un descodificador de la figura 21 también puede usarse independientemente del escenario de aplicación descrito anteriormente.
Aunque algunos aspectos se han descrito en el contexto de un aparato, resulta evidente que estos aspectos también representan una descripción del procedimiento correspondiente, donde un bloque o dispositivo corresponde a una etapa de procedimiento o a una característica de una etapa de procedimiento. De manera análoga, aspectos descritos en el contexto de una etapa de procedimiento también representan una descripción de un bloque, elemento o característica correspondiente de un aparato correspondiente. Algunas o todas las etapas de procedimiento pueden ejecutarse mediante (o usando) un aparato de hardware, como por ejemplo un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, alguna o más de las etapas de procedimiento más importantes pueden ejecutarse por un aparato de este tipo.
Las señales codificadas/comprimidas inventivas pueden almacenarse en un medio de almacenamiento digital o pueden transmitirse en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión cableado, tal como Internet.
Dependiendo de determinados requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede llevarse a cabo usando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tenga señales de control electrónicamente legibles almacenadas en el mismo, que actúan conjuntamente (o pueden actuar conjuntamente), con un sistema informático programable de modo que se lleve a cabo el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser leído por un ordenador.
Algunas realizaciones según la invención comprenden un portador de datos que tiene señales de control legibles electrónicamente que pueden actuar conjuntamente con un sistema informático programable de manera que se lleve a cabo uno de los procedimientos descritos en el presente documento.
Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, pudiendo hacerse funcionar el código de programa para llevar a cabo uno de los procedimientos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede almacenarse, por ejemplo, en un portador legible por máquina.
Otras realizaciones comprenden el programa informático para llevar a cabo uno de los procedimientos descritos en el presente documento, almacenado en un portador legible por máquina.
Dicho de otro modo, una realización del procedimiento inventivo es, por tanto, un programa informático que tiene un código de programa para llevar a cabo uno de los procedimientos descritos en el presente documento, cuando el programa informático se ejecuta en un ordenador.
Una realización adicional de los procedimientos inventivos es, por tanto, un portador de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para llevar a cabo uno de los procedimientos descritos en el presente documento.
Una realización adicional del procedimiento inventivo es, por tanto, un flujo de datos o una secuencia de señales que representan el programa informático para llevar a cabo uno de los procedimientos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden estar configurados, por ejemplo, para transferirse a través de una conexión de comunicaciones de datos, por ejemplo a través de Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador o un dispositivo de lógica programable, configurado o adaptado para llevar a cabo uno de los procedimientos descritos en el presente documento.
Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para llevar a cabo uno de los procedimientos descritos en el presente documento.
En algunas realizaciones, un dispositivo de lógica programable (por ejemplo, una matriz de puertas de campo programable) puede usarse para llevar a cabo algunas o todas las funcionalidades de los procedimientos descritos en el presente documento. En algunas realizaciones, una matriz de puertas de campo programable puede actuar conjuntamente con un microprocesador para llevar a cabo uno de los procedimientos descritos en el presente documento. Generalmente, los procedimientos se llevan a cabo preferiblemente mediante cualquier aparato de hardware.
Las realizaciones descritas anteriormente ilustran simplemente los principios de la presente invención. Debe observarse que modificaciones y variaciones de las disposiciones y detalles descritos en el presente documento resultarán evidentes a otros expertos en la técnica. Por lo tanto, la invención solo está limitada por el alcance de las reivindicaciones de patente subsiguientes y no por los detalles específicos presentados en el presente documento a modo de descripción y explicación de las realizaciones.

Claims (1)

  1. REIVINDICACIONES
    Descodificador, que comprende:
    un extractor (102) configurado para extraer, de un flujo de datos (22), información relacionada con tamaños de región máximos primero y segundo, información de subdivisión multiárbol primera y segunda y un nivel jerárquico máximo, en el que el primer tamaño de región máximo y la primera información de subdivisión multiárbol están asociados con una subdivisión de predicción, y el segundo tamaño de región máximo y la segunda información de subdivisión multiárbol están asociados con una subdivisión residual;
    un subdivisor (104a) configurado para:
    dividir espacialmente una matriz de muestras de información que representa una imagen (24) de un vídeo en un primer conjunto de regiones raíz de árbol (150) en función del primer tamaño de región máximo,
    subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150) en un primer conjunto de subregiones usando división multiárbol recursiva en función de la primera información de subdivisión multiárbol,
    en función del tamaño de al menos uno del primer conjunto de subregiones y el segundo tamaño de región máximo, dividir al menos uno del primer conjunto de subregiones en un segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, en el que la segunda información de subdivisión multiárbol incluye indicadores de subdivisión codificados en el flujo de datos (22), estando cada indicador de subdivisión asociado con una región de raíz de árbol correspondiente del segundo conjunto de regiones raíz de árbol,
    determinar, para cada uno del segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, si la respectiva región de raíz de árbol del segundo conjunto de regiones raíz se va a subdividir en función del indicador de subdivisión correspondiente, y
    en respuesta a una determinación de que el indicador de subdivisión correspondiente sugiere una subdivisión, subdividir la región de raíz de árbol respectiva del segundo conjunto de regiones raíz de árbol en un segundo conjunto de subregiones usando división multiárbol recursiva en función de la segunda información de subdivisión multiárbol y el nivel jerárquico máximo; y
    un reconstructor (106) configurado para reconstruir la matriz de muestras de información llevando a cabo una predicción de la matriz de muestras de información según el primer conjunto de subregiones y descodificación residual según el segundo conjunto de subregiones.
    Descodificador según la reivindicación 1, en el que el reconstructor (106) se configura para, para una subregión del primer conjunto de subregiones:
    calcular una señal de predicción en función de un modo de intrapredicción asociado con la subregión y muestras reconstruidas de un subconjunto vecino del segundo conjunto de subregiones, calcular una señal reconstruida añadiendo la señal de predicción a un residuo reconstruido de un subconjunto del segundo conjunto de subregiones asociado con la subregión, y almacenar la señal reconstruida en una memoria intermedia para una intrapredicción siguiente.
    Descodificador según la reivindicación 1, en el que el subdivisor (104a) se configura para llevar a cabo la división de la matriz de muestras de información en el primer conjunto de regiones raíz de árbol (150) de manera que el primer conjunto de regiones raíz de árbol (150) son bloques rectangulares de un tamaño determinado por el primer tamaño de región máximo, y los bloques rectangulares están dispuestos en un orden para cubrir sin huecos la matriz de muestras de información.
    Descodificador según la reivindicación 1, en el que el subdivisor (104a) se configura para, al subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150),
    determinar si la primera información de subdivisión multiárbol indica que cada uno del al menos alguno del primer conjunto de regiones raíz de árbol (150) se va a subdividir,
    en función de una determinación de que cada uno del al menos alguno del primer conjunto de regiones raíz de árbol (150) se va a subdividir, subdividir esa región de raíz de árbol en subregiones de un primer nivel jerárquico según una regla de división asociada con el primer nivel jerárquico, y
    repetir de manera recursiva la determinación y subdivisión para las subregiones del primer nivel jerárquico con el fin de obtener regiones de niveles jerárquicos de orden superior usando reglas de división respectivas asociadas a las mismas,
    en el que la determinación y subdivisión se llevan a cabo hasta que no se va a llevar a cabo división adicional según la primera información de subdivisión multiárbol.
    5. Descodificador según la reivindicación 4, en el que el subdivisor (104a) se configura para, según la reglas de división asociadas con los niveles jerárquicos de primer orden u orden superior, subdividir en subregiones de igual tamaño, de manera que hay un número igual de subregiones en cada nivel jerárquico.
    6. Descodificador según la reivindicación 4, en el que la primera información de subdivisión multiárbol incluye un indicador de subdivisión adicional que indica si cualquiera del primer conjunto de regiones raíz de árbol (150) o las subregiones en el nivel jerárquico de primer orden u orden superior se va a subdividir.
    7. Descodificador según la reivindicación 1, en el que el extractor (102) se configura para extraer elementos sintácticos asociados con el primer o segundo conjunto de subregiones del flujo de datos (22) en un orden de recorrido de primero en profundidad.
    8. Descodificador según la reivindicación 1, que comprende además:
    un fusionador configurado para combinar, en función de un primer subconjunto de elementos sintácticos del flujo de datos (22), desencajado de un segundo subconjunto de elementos sintácticos del flujo de datos (22) que incluye la primera información de subdivisión multiárbol, los vecinos espacialmente del primer conjunto de subregiones para obtener una subdivisión intermedia de la matriz de muestras de información, en el que el reconstructor (106) se configura para reconstruir la matriz de muestras de información usando la subdivisión intermedia.
    9. Descodificador según la reivindicación 1, que comprende además:
    una unidad de predicción (12) configurada para predecir la matriz de muestras de información,
    en el que el reconstructor (106) se configura para llevar a cabo una codificación de la transformada desde el dominio espacial al dominio espectral para obtener un residuo para la matriz de muestras de información, y combinar el residuo y la predicción de la matriz de muestras de información para reconstruir la matriz de muestras de información.
    10. Descodificador según la reivindicación 1, en el que la división multiárbol recursiva incluye una división en árboles cuaternarios.
    11. Procedimiento de decodificación que comprende:
    extraer, a partir de un flujo de datos (22) que representa información de vídeo codificada, información relacionada con tamaños de región máximos primero y segundo, información de subdivisión multiárbol primera y segunda y un nivel jerárquico máximo, en el que el primer tamaño de región máximo y la primera información de subdivisión multiárbol están asociados con una subdivisión de predicción, y el segundo tamaño de región máximo y la segunda información de subdivisión multiárbol están asociados con una subdivisión residual;
    dividir espacialmente una matriz de muestras de información que representa una imagen (24) de una información de vídeo en un primer conjunto de regiones raíz de árbol (150) en función del primer tamaño de región máximo;
    subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150) en un primer conjunto de subregiones usando división multiárbol recursiva en función de la primera información de subdivisión multiárbol;
    en función del tamaño de al menos uno del primer conjunto de subregiones y el segundo tamaño de región máximo, dividir al menos uno del primer conjunto de subregiones en un segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, en el que la segunda información de subdivisión multiárbol incluye indicadores de subdivisión codificados en el flujo de datos (22), estando cada indicador de subdivisión asociado con una región de raíz de árbol correspondiente del segundo conjunto de regiones raíz de árbol;
    determinar, para cada uno del segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, si la respectiva región de raíz de árbol del segundo conjunto de regiones raíz se va a subdividir en función del indicador de subdivisión correspondiente;
    en respuesta a una determinación de que el indicador de subdivisión correspondiente sugiere una subdivisión, subdividir la región de raíz de árbol respectiva del segundo conjunto de regiones raíz de árbol en un segundo conjunto de subregiones usando división multiárbol recursiva en función de la segunda información de subdivisión multiárbol y el nivel jerárquico máximo; y
    reconstruir la matriz de muestras de información llevando a cabo una predicción de la matriz de muestras de información según el primer conjunto de subregiones y descodificación residual según el segundo conjunto de subregiones.
    Codificador (10) que comprende:
    un subdivisor configurado para:
    dividir espacialmente una matriz de muestras de información que representa una imagen (24) de un vídeo en un primer conjunto de regiones raíz de árbol (150) en función de un primer tamaño de región máximo, subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150) en un primer conjunto de subregiones usando división multiárbol recursiva en función de la primera información de subdivisión multiárbol,
    en función de un tamaño de al menos uno del primer conjunto de subregiones y un segundo tamaño de región máximo, dividir al menos uno del primer conjunto de subregiones en un segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, en el que la segunda información de subdivisión multiárbol incluye indicadores de subdivisión, estando cada indicador de subdivisión asociado con una región de raíz de árbol correspondiente del segundo conjunto de regiones raíz de árbol,
    determinar, para cada uno del segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, si la respectiva región de raíz de árbol del segundo conjunto de regiones raíz de árbol se va a subdividir en función del indicador de subdivisión correspondiente, y
    en respuesta a una determinación de que el indicador de subdivisión correspondiente sugiere una subdivisión, subdividir la región de raíz de árbol respectiva del segundo conjunto de regiones raíz de árbol en un segundo conjunto de subregiones usando división multiárbol recursiva en función de la segunda información de subdivisión multiárbol y un nivel jerárquico máximo; y
    un generador de flujo de datos configurado para:
    codificar la matriz de muestras de información llevando a cabo una predicción según el primer conjunto de subregiones y codificación residual según el segundo conjunto de subregiones, y
    insertar en un flujo de datos información relacionada con los primeros y segundos tamaños de región máximos y el nivel jerárquico máximo, y la primera y segunda información de subdivisión multiárbol incluyendo los indicadores de subdivisión, en el que el primer tamaño de región máximo y la primera información de subdivisión multiárbol están asociados con una subdivisión de predicción, y el segundo tamaño de región máximo y la segunda información de subdivisión multiárbol están asociados con una subdivisión residual. Codificador (10) según la reivindicación 12, en el que el generador de flujo de datos se configura para, para una subregión del primer conjunto de subregiones:
    calcular una señal de predicción en función de un modo de intrapredicción asociado con la subregión y muestras reconstruidas de un subconjunto vecino del segundo conjunto de subregiones, calcular una señal reconstruida añadiendo la señal de predicción a un residuo reconstruido de un subconjunto del segundo conjunto de subregiones asociado con la subregión, y
    almacenar la señal reconstruida en una memoria intermedia para una intrapredicción siguiente.
    Procedimiento de codificación que comprende:
    dividir espacialmente una matriz de muestras de información que representa una imagen (24) de un vídeo en un primer conjunto de regiones raíz de árbol (150) en función de un primer tamaño de región máximo, subdividir al menos alguno del primer conjunto de regiones raíz de árbol (150) en un primer conjunto de subregiones usando división multiárbol recursiva en función de la primera información de subdivisión multiárbol,
    en función de un tamaño de al menos uno del primer conjunto de subregiones y un segundo tamaño de región máximo, dividir al menos uno del primer conjunto de subregiones en un segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, en el que la segunda información de subdivisión multiárbol incluye indicadores de subdivisión, estando cada indicador de subdivisión asociado con una región de raíz de árbol correspondiente del segundo conjunto de regiones raíz de árbol,
    determinar, para cada uno del segundo conjunto de regiones raíz de árbol del segundo tamaño de región máximo, si la respectiva región de raíz de árbol del segundo conjunto de regiones raíz de árbol se va a subdividir en función del indicador de subdivisión correspondiente, y
    en respuesta a una determinación de que el indicador de subdivisión correspondiente sugiere una subdivisión, subdividir la región de raíz de árbol respectiva del segundo conjunto de regiones raíz de árbol en un segundo conjunto de subregiones usando división multiárbol recursiva en función de la segunda información de subdivisión multiárbol y un nivel jerárquico máximo; y
    codificar la matriz de muestras de información llevando a cabo una predicción según el primer conjunto de subregiones y codificación residual según el segundo conjunto de subregiones, y
    insertar en un flujo de datos información relacionada con los primeros y segundos tamaños de región máximos y el nivel jerárquico máximo, y la primera y segunda información de subdivisión multiárbol incluyendo los indicadores de subdivisión, en el que el primer tamaño de región máximo y la primera información de subdivisión multiárbol están asociados con una subdivisión de predicción, y el segundo tamaño de región máximo y la segunda información de subdivisión multiárbol están asociados con una subdivisión residual.
    15. Flujo de datos que tiene un vídeo codificado en ese usando un procedimiento según la reivindicación 14.
ES20155687T 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes Active ES2904650T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10159819 2010-04-13
EP2010054843 2010-04-13

Publications (1)

Publication Number Publication Date
ES2904650T3 true ES2904650T3 (es) 2022-04-05

Family

ID=44115570

Family Applications (6)

Application Number Title Priority Date Filing Date
ES21198748T Active ES2953850T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes
ES20155687T Active ES2904650T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes
ES19187893T Active ES2907203T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes
ES15174132T Active ES2752227T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
ES11714644.9T Active ES2549734T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
ES21198746T Active ES2953668T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES21198748T Active ES2953850T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES19187893T Active ES2907203T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes
ES15174132T Active ES2752227T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
ES11714644.9T Active ES2549734T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
ES21198746T Active ES2953668T3 (es) 2010-04-13 2011-04-08 Codificación de vídeo que usa subdivisiones multiárbol de imágenes

Country Status (18)

Country Link
US (18) US10771822B2 (es)
EP (7) EP3621306B1 (es)
JP (2) JP5856143B2 (es)
KR (13) KR101747201B1 (es)
CN (20) CN106231328B (es)
BR (2) BR122020007669B1 (es)
DK (6) DK3621306T3 (es)
ES (6) ES2953850T3 (es)
FI (2) FI3955579T3 (es)
HK (1) HK1218033A1 (es)
HU (6) HUE062603T2 (es)
LT (4) LT3703377T (es)
PL (6) PL2559245T3 (es)
PT (6) PT3955579T (es)
RS (4) RS63059B1 (es)
SI (4) SI3955579T1 (es)
TW (11) TWI553593B (es)
WO (1) WO2011128269A1 (es)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867854B2 (en) * 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
KR102480988B1 (ko) 2010-04-13 2022-12-26 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
CN102939750B (zh) * 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
LT3697089T (lt) * 2010-04-13 2022-01-10 Ge Video Compression, Llc Paveldėjimas ėminių masyvo multimedžio poskaidinyje
ES2834902T3 (es) 2010-12-06 2021-06-21 Sun Patent Trust Método de decodificación de imagen, y dispositivo de decodificación de imágenes
US9848197B2 (en) 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
MX2013013508A (es) 2011-06-23 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
EP2725792B1 (en) 2011-06-24 2018-08-22 Sun Patent Trust Image decoding method and image decoding device
AU2012277214B2 (en) 2011-06-27 2016-05-05 Sun Patent Trust Decoding method, coding method, decoding apparatus, coding apparatus, and coding and decoding apparatus
WO2013001765A1 (ja) 2011-06-28 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
AU2012277220B2 (en) 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN106851295B (zh) 2011-07-11 2019-10-18 太阳专利托管公司 编码方法及编码装置
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9161060B2 (en) * 2011-09-30 2015-10-13 Broadcom Corporation Multi-mode error concealment, recovery and resilience coding
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US20130128971A1 (en) * 2011-11-23 2013-05-23 Qualcomm Incorporated Transforms in video coding
US9332257B2 (en) 2012-10-01 2016-05-03 Qualcomm Incorporated Coded black flag coding for 4:2:2 sample format in video coding
JP6055555B2 (ja) * 2012-11-13 2016-12-27 インテル コーポレイション 次世代ビデオのためのビデオコーデックアーキテクチャ
CN104704827B (zh) * 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
BR112015015575A2 (pt) * 2013-01-30 2020-02-04 Intel Corp particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
ES2665908T3 (es) * 2013-04-08 2018-04-30 Ge Video Compression, Llc Predicción inter-componente
US20140325152A1 (en) * 2013-04-26 2014-10-30 Samsung Electronics Company, Ltd. Quadtree based data management for memory
US20150063455A1 (en) * 2013-09-02 2015-03-05 Humax Holdings Co., Ltd. Methods and apparatuses for predicting depth quadtree in three-dimensional video
WO2015055832A1 (en) * 2013-10-18 2015-04-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-component picture or video coding concept
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
CN104125469B (zh) * 2014-07-10 2017-06-06 中山大学 一种用于hevc的快速编码方法
CN105992000B (zh) * 2015-03-06 2019-03-22 扬智科技股份有限公司 影像流的处理方法及其影像处理装置
EP3099072A1 (en) * 2015-05-28 2016-11-30 Parabola Research Limited Method, system and device for image and video coding
US10009620B2 (en) 2015-06-22 2018-06-26 Cisco Technology, Inc. Combined coding of split information and other block-level parameters for video coding/decoding
US10003807B2 (en) 2015-06-22 2018-06-19 Cisco Technology, Inc. Block-based video coding using a mixture of square and rectangular blocks
US10972731B2 (en) * 2015-11-10 2021-04-06 Interdigital Madison Patent Holdings, Sas Systems and methods for coding in super-block based video coding framework
CN108605130B (zh) * 2015-11-27 2021-05-11 联发科技股份有限公司 一种用于对与区块相关的符号进行熵编解码的方法和装置
US10212444B2 (en) 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US9942548B2 (en) * 2016-02-16 2018-04-10 Google Llc Entropy coding transform partitioning information
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US10623774B2 (en) * 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
CN117041547A (zh) 2016-04-29 2023-11-10 世宗大学校产学协力团 用于对图像信号进行编码/解码的方法和设备
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US20190327476A1 (en) * 2016-06-24 2019-10-24 Industry Academy Cooperation Foundation Of Sejong University Video signal processing method and device
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10812795B2 (en) 2016-09-30 2020-10-20 Lg Electronic Inc. Method for processing picture based on intra-prediction mode and apparatus for same
US20200045305A1 (en) * 2016-09-30 2020-02-06 Lg Electronics Inc. Picture processing method and apparatus for same
US20180109814A1 (en) * 2016-10-14 2018-04-19 Mediatek Inc. Method And Apparatus Of Coding Unit Information Inheritance
IT201600122898A1 (it) * 2016-12-02 2018-06-02 Ecole Polytechnique Fed Lausanne Epfl Metodi e apparati per codificare e decodificare immagini o flussi video digitali
US10373384B2 (en) * 2016-12-12 2019-08-06 Google Llc Lightfield compression using disparity predicted replacement
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
KR20180089290A (ko) * 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US10855997B2 (en) * 2017-04-14 2020-12-01 Mediatek Inc. Secondary transform kernel size selection
NL2018969B1 (en) 2017-05-23 2018-12-04 Boskalis Bv Baggermaatschappij Method and system for forming structures in fluid, especially under water
CN110999295B (zh) * 2017-07-04 2024-03-26 华为技术有限公司 边界强制分区的改进
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
EP3474233A1 (en) * 2017-10-19 2019-04-24 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
US11144523B2 (en) * 2017-11-17 2021-10-12 Battelle Memorial Institute Methods and data structures for efficient cross-referencing of physical-asset spatial identifiers
US11297339B2 (en) * 2017-12-06 2022-04-05 V-Nova International Limited Methods and apparatuses for hierarchically encoding and decoding a bytestream
CN109996075B (zh) * 2017-12-29 2022-07-12 华为技术有限公司 一种图像解码方法及解码器
EP3514969B1 (en) * 2018-01-18 2021-08-04 BlackBerry Limited Methods and devices using direct coding in point cloud compression
WO2019190202A1 (ko) * 2018-03-27 2019-10-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20230003413A (ko) * 2018-03-29 2023-01-05 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 픽쳐 경계 처리를 사용하여 픽쳐를 인코딩하고 디코딩하는 장치 및 방법
US10659781B2 (en) * 2018-04-02 2020-05-19 Tencent America LLC Concatenated coding units in flexible tree structure
KR20200047723A (ko) * 2018-05-03 2020-05-07 엘지전자 주식회사 영상 코딩 시스템에서 블록 사이즈에 따른 변환을 사용하는 영상 디코딩 방법 및 그 장치
CN110636314B (zh) * 2018-06-21 2022-09-27 北京字节跳动网络技术有限公司 改进的边界分割
KR20210020924A (ko) 2018-06-27 2021-02-24 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
CN110662029A (zh) * 2018-06-30 2020-01-07 上海天荷电子信息有限公司 动态和自适应地限制取值范围的数据压缩方法和装置
JP7195073B2 (ja) * 2018-07-10 2022-12-23 古野電気株式会社 グラフ生成装置
KR20210027477A (ko) * 2018-07-13 2021-03-10 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 분할 인트라 코딩 개념
CN110753222B (zh) * 2018-08-14 2022-03-25 北京达佳互联信息技术有限公司 视频编码方法和确定采用帧间编码方式的方法及设备
CN113170193A (zh) * 2018-11-28 2021-07-23 北京字节跳动网络技术有限公司 帧内块复制模式中块矢量列表的独立构造方法
US10917636B2 (en) 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
CN117750022A (zh) * 2018-12-18 2024-03-22 寰发股份有限公司 在区块分割中条件式编码或解码视频区块的方法和装置
MX2021006569A (es) * 2018-12-21 2021-07-07 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
JP7277599B2 (ja) 2019-03-08 2023-05-19 北京字節跳動網絡技術有限公司 映像処理におけるモデルベース再整形に対する制約
MX2021010897A (es) * 2019-03-12 2021-11-12 Fraunhofer Ges Forschung Concepto de intracodificacion basado en particion eficiente de implementacion.
US11240499B2 (en) * 2019-05-24 2022-02-01 Tencent America LLC Method and apparatus for video coding
CN111699684B (zh) * 2019-06-14 2022-05-06 深圳市大疆创新科技有限公司 三维数据点的编解码方法和装置
WO2020259427A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Syntax element for chroma residual scaling
CN117395396A (zh) 2019-07-07 2024-01-12 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
FR3102631A1 (fr) * 2019-10-25 2021-04-30 Valeo Vision Procédé de gestion des données d'images et dispositif d'éclairage automobile
KR20210066291A (ko) * 2019-11-28 2021-06-07 주식회사 피제이팩토리 멀티 뎁스 이미지 생성 방법 및 이를 위한 프로그램을 기록한 기록매체
CN111325044B (zh) * 2020-01-31 2021-08-20 中国原子能科学研究院 一种用于核电站新组件编码的确定方法、识别系统及识别方法
WO2023020446A1 (en) * 2021-08-16 2023-02-23 Mediatek Inc. Candidate reordering and motion vector refinement for geometric partitioning mode
US11917283B2 (en) * 2021-10-27 2024-02-27 Tencent America LLC Split rendering for lightfield/immersive media using edge-cloud architecture and peer-to-peer streaming
CN114494711B (zh) * 2022-02-25 2023-10-31 南京星环智能科技有限公司 一种图像特征的提取方法、装置、设备及存储介质
US20230308651A1 (en) * 2022-03-22 2023-09-28 Tencent America LLC Systems and methods for regularization-free multi-hypothesis arithmetic coding
EP4345994A1 (en) 2022-04-27 2024-04-03 LG Energy Solution, Ltd. Battery module, battery pack and vehicle including same

Family Cites Families (273)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2633468B1 (fr) 1988-06-24 1990-11-09 France Etat Procede de codage de donnees d'assistance a la reconstruction d'images electroniques animees sous-echantillonnees
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5809270A (en) 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US6408097B1 (en) * 1993-08-30 2002-06-18 Sony Corporation Picture coding apparatus and method thereof
US5446806A (en) 1993-11-15 1995-08-29 National Semiconductor Corporation Quadtree-structured Walsh transform video/image coding
CA2145361C (en) 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
DE69527525T2 (de) 1995-08-21 2003-04-03 Alcatel Sa Verfahren zur Schachtelung von Datenrahmen, Übertragungsfehlerkorrekturanordnung und Modulator damit
JP2000500887A (ja) 1995-09-25 2000-01-25 アドビ システムズ インコーポレイテッド 電子文書への最適アクセス
WO1997015146A1 (en) 1995-10-18 1997-04-24 Philips Electronics N.V. Method of encoding video images
WO1997017797A2 (en) * 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
TW346571B (en) 1996-02-06 1998-12-01 Matsushita Electric Ind Co Ltd Data reception apparatus, data transmission apparatus, information processing system, data reception method
US6005981A (en) 1996-04-11 1999-12-21 National Semiconductor Corporation Quadtree-structured coding of color images and intra-coded images
DE19615493A1 (de) 1996-04-19 1997-10-23 Philips Patentverwaltung Verfahren zur Bildsegmentierung
CN100539695C (zh) 1996-05-28 2009-09-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
US6639945B2 (en) 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
US6057884A (en) 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6269192B1 (en) * 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
CN1882092B (zh) 1998-03-10 2012-07-18 索尼公司 利用编码历史信息的编码转换系统
US6067574A (en) * 1998-05-18 2000-05-23 Lucent Technologies Inc High speed routing using compressed tree process
US6269175B1 (en) 1998-08-28 2001-07-31 Sarnoff Corporation Method and apparatus for enhancing regions of aligned images using flow estimation
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US7085319B2 (en) 1999-04-17 2006-08-01 Pts Corporation Segment-based encoding system using segment hierarchies
JP2000350207A (ja) 1999-06-08 2000-12-15 Matsushita Electric Ind Co Ltd 低解像度ビデオ復号化のための一般化直交変換方法および装置
FI116992B (fi) 1999-07-05 2006-04-28 Nokia Corp Menetelmät, järjestelmä ja laitteet audiosignaalin koodauksen ja siirron tehostamiseksi
MXPA02004015A (es) * 1999-10-22 2003-09-25 Activesky Inc Un sistema de video orientado a los objetos.
JP3957937B2 (ja) 1999-12-21 2007-08-15 キヤノン株式会社 画像処理装置及び方法並びに記憶媒体
FI116819B (fi) 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
WO2001054418A1 (en) 2000-01-21 2001-07-26 Nokia Corporation A motion estimation method and a system for a video coder
US6910001B2 (en) * 2000-03-22 2005-06-21 Schlumberger Technology Corp. Distributed multiresolution geometry modeling system and method
US6785423B1 (en) 2000-05-26 2004-08-31 Eastman Kodak Company Producing a compressed digital image organized into layers having information relating to different viewing conditions and resolutions
JP2004503964A (ja) * 2000-06-14 2004-02-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ カラービデオ符号化及び復号方法
WO2002009438A2 (en) 2000-07-25 2002-01-31 Koninklijke Philips Electronics N.V. Video encoding method using a wavelet decomposition
AUPR063400A0 (en) * 2000-10-06 2000-11-02 Canon Kabushiki Kaisha Xml encoding scheme
US7929610B2 (en) 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
JP2003018602A (ja) 2001-04-24 2003-01-17 Monolith Co Ltd 画像データ符号化および復号のための方法および装置
US6987866B2 (en) 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US7483581B2 (en) 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
JP2003018604A (ja) 2001-07-04 2003-01-17 Matsushita Electric Ind Co Ltd 画像信号符号化方法、画像信号符号化装置および記録媒体
US6971770B2 (en) 2001-09-06 2005-12-06 Martin Professional A/S Lighting apparatus
EP2819411B1 (en) 2001-09-14 2018-08-29 NTT DoCoMo, Inc. Coding method and decoding method
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP2005506775A (ja) * 2001-10-16 2005-03-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法及び対応する送信可能なビデオ信号
US7228001B2 (en) 2001-11-16 2007-06-05 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
RU2237284C2 (ru) * 2001-11-27 2004-09-27 Самсунг Электроникс Ко., Лтд. Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
EP1324615A1 (en) 2001-12-28 2003-07-02 Deutsche Thomson-Brandt Gmbh Transcoding MPEG bitstreams for adding sub-picture content
KR20030065606A (ko) * 2002-01-30 2003-08-09 양송철 개인 자동독립코드를 이용한 멀티트리구조의 보너스 적립순환 시스템과 그 방법
CN101132528B (zh) * 2002-04-12 2011-08-03 三菱电机株式会社 元数据再生、分发、检索装置、元数据再生成条件设定装置
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US20030198290A1 (en) 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
US7433526B2 (en) 2002-04-30 2008-10-07 Hewlett-Packard Development Company, L.P. Method for compressing images and image sequences through adaptive partitioning
CN1666532A (zh) 2002-07-02 2005-09-07 松下电器产业株式会社 图像编码方法和图像解码方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US6975773B1 (en) 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression
US7266247B2 (en) 2002-09-30 2007-09-04 Samsung Electronics Co., Ltd. Image coding method and apparatus using spatial predictive coding of chrominance and image decoding method and apparatus
JP3950777B2 (ja) 2002-09-30 2007-08-01 キヤノン株式会社 画像処理方法、画像処理装置および画像処理プログラム
JP2004135252A (ja) 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
US7254533B1 (en) 2002-10-17 2007-08-07 Dilithium Networks Pty Ltd. Method and apparatus for a thin CELP voice codec
EP1431919B1 (en) 2002-12-05 2010-03-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding three-dimensional object data by using octrees
AU2004217221B2 (en) 2003-03-03 2009-09-03 Agency For Science, Technology And Research Fast mode decision algorithm for intra prediction for advanced video coding
US7366352B2 (en) 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7643558B2 (en) 2003-03-24 2010-01-05 Qualcomm Incorporated Method, apparatus, and system for encoding and decoding side information for multimedia transmission
GB2454195A (en) 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
BRPI0408835A (pt) 2003-03-28 2006-04-04 Digital Accelerator Corp método e aparelho de codificação de quadro residual de movimento com base em transformada com base supercompleta para compressão de vìdeo
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7083903B2 (en) 2003-06-17 2006-08-01 Lam Research Corporation Methods of etching photoresist on substrates
KR100624429B1 (ko) 2003-07-16 2006-09-19 삼성전자주식회사 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법
US7333544B2 (en) 2003-07-16 2008-02-19 Samsung Electronics Co., Ltd. Lossless image encoding/decoding method and apparatus using inter-color plane prediction
US7010044B2 (en) 2003-07-18 2006-03-07 Lsi Logic Corporation Intra 4×4 modes 3, 7 and 8 availability determination intra estimation and compensation
FR2858741A1 (fr) 2003-08-07 2005-02-11 Thomson Licensing Sa Dispositif et procede de compression d'images numeriques
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
CN1322472C (zh) * 2003-09-08 2007-06-20 中国人民解放军第一军医大学 基于小波变换的预测四叉树图像压缩及解压方法
TW200518481A (en) * 2003-10-29 2005-06-01 Nec Corp Decoder and encoder of arithmetic code, encoding apparatus and decoding apparatus having intermediate buffer inserted between reverse binary converter and binary converter
KR20050045746A (ko) 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
EP1534018B1 (en) 2003-11-21 2008-11-12 Samsung Electronics Co., Ltd. Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
US7418455B2 (en) 2003-11-26 2008-08-26 International Business Machines Corporation System and method for indexing weighted-sequences in large databases
KR100556911B1 (ko) 2003-12-05 2006-03-03 엘지전자 주식회사 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조
US7362809B2 (en) 2003-12-10 2008-04-22 Lsi Logic Corporation Computational reduction in motion estimation based on lower bound of cost function
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7649539B2 (en) * 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
US20050206741A1 (en) 2004-03-19 2005-09-22 Raber Gregory W Law enforcement vehicle surveillance system
CN1691087B (zh) 2004-04-26 2011-07-06 图形安全系统公司 用于解码数字编码图像的系统和方法
DE602005021926D1 (de) * 2004-04-28 2010-07-29 Panasonic Corp Stream-Erzeugungsvorrichtung für bewegliche Bilder, Kodierungsvorrichtung für bewegliche Bilder, Multiplex-Vorrichtung für bewegliche Bilder und Decodierungsvorrichtung für bewegliche Bilder
CN1281065C (zh) 2004-05-20 2006-10-18 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
EP1754378A1 (en) 2004-05-25 2007-02-21 Koninklijke Philips Electronics N.V. Method and device for encoding digital video data
US20060002474A1 (en) 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression
CN1750656B (zh) 2004-06-27 2012-04-18 苹果公司 编码和解码图像
US7292257B2 (en) 2004-06-28 2007-11-06 Microsoft Corporation Interactive viewpoint video system and process
CN1268136C (zh) 2004-07-02 2006-08-02 上海广电(集团)有限公司中央研究院 基于图像切片结构的帧场自适应编码方法
KR100657268B1 (ko) 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
CN101124589A (zh) 2004-08-09 2008-02-13 图形安全系统公司 通过使用多级图像编码和解码来认证对象的系统和方法
CN1589022A (zh) * 2004-08-26 2005-03-02 中芯联合(北京)微电子有限公司 多模式运动估计中由朝向树决定的宏块分割模式选择方法
DE102004059993B4 (de) 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
CN101416149A (zh) 2004-10-21 2009-04-22 索尼电子有限公司 以高级视频编解码器文件格式支持保真度范围扩展
CN1780278A (zh) 2004-11-19 2006-05-31 松下电器产业株式会社 子载波通信系统中自适应调制与编码方法和设备
US20060120454A1 (en) 2004-11-29 2006-06-08 Park Seung W Method and apparatus for encoding/decoding video signal using motion vectors of pictures in base layer
CN101073265B (zh) 2004-12-03 2012-08-22 汤姆森许可贸易公司 可缩放视频编码方法
KR100703734B1 (ko) 2004-12-03 2007-04-05 삼성전자주식회사 Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
US7970219B2 (en) 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
US20060153300A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
US20060153295A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
CN101204092B (zh) 2005-02-18 2010-11-03 汤姆森许可贸易公司 从低分辨率图像导出高分辨率图像的编码信息的方法以及实施所述方法的编码和解码设备
JP5213456B2 (ja) 2005-02-18 2013-06-19 トムソン ライセンシング 高分解能ピクチャの符号化情報を低分解能ピクチャから導き出す方法、並びにその方法を実現する符号化及び復号化装置
JP4504230B2 (ja) 2005-03-02 2010-07-14 株式会社東芝 動画像処理装置、動画像処理方法、及び動画像処理プログラム
TWI259727B (en) 2005-03-09 2006-08-01 Sunplus Technology Co Ltd Method for rapidly determining macroblock mode
US7961963B2 (en) 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
EP1711018A1 (en) 2005-04-08 2006-10-11 Thomson Licensing Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures
US20060233262A1 (en) 2005-04-13 2006-10-19 Nokia Corporation Signaling of bit stream ordering in scalable video coding
KR101246915B1 (ko) 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
KR100746007B1 (ko) 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
KR100763181B1 (ko) 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
US8150151B2 (en) 2005-05-12 2012-04-03 Bracco Imaging S.P.A. Method for coding pixels or voxels of a digital image and a method for processing digital images
US7548853B2 (en) 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
WO2007000657A1 (en) 2005-06-29 2007-01-04 Nokia Corporation Method and apparatus for update step in video coding using motion compensated temporal filtering
KR100644490B1 (ko) 2005-07-01 2006-11-10 엘에스전선 주식회사 난연성 전선 피복재료 조성물 및 이를 이용한 해양 케이블
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4444180B2 (ja) 2005-07-20 2010-03-31 株式会社東芝 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
BRPI0613657B1 (pt) 2005-07-21 2019-05-07 Thomson Licensing Método e aparelho para o prognóstico ponderado para uma codificação de vídeo redimensionável
KR20070012201A (ko) 2005-07-21 2007-01-25 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
CN101815224A (zh) 2005-07-22 2010-08-25 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
CN101313579B (zh) 2005-09-29 2010-11-03 意大利电信股份公司 可伸缩视频编码方法
EP1949702A2 (en) 2005-10-12 2008-07-30 Thomson Licensing Methods and apparatus for weighted prediction in scalable video encoding and decoding
WO2007047736A2 (en) 2005-10-19 2007-04-26 Thomson Licensing Multi-view video coding using scalable video coding
KR100763196B1 (ko) 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN101129063B (zh) 2005-11-18 2010-05-19 索尼株式会社 编码设备和方法、解码设备和方法以及传输系统
KR100717055B1 (ko) 2005-11-18 2007-05-10 삼성전자주식회사 Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
EP1969853A1 (en) 2006-01-05 2008-09-17 Thomson Licensing Inter-layer motion prediction method
KR20070074453A (ko) 2006-01-09 2007-07-12 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100904442B1 (ko) 2006-01-09 2009-06-24 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
US8315308B2 (en) 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
CA2681668C (en) 2006-03-23 2014-04-01 Michael S. Singer Compositions comprising prostaglandin f2-alpha analogs and methods for reducing body fat
US7929608B2 (en) 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
GB2449036B (en) 2006-03-31 2011-08-24 Intel Corp Layered decoder and method for performing layered decoding
US7916934B2 (en) 2006-04-04 2011-03-29 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring, encoding, decoding and displaying 3D light fields
CN101052120A (zh) 2006-04-06 2007-10-10 丁宜良 用于数字广播节目的复合式播放系统
US8461082B2 (en) 2006-06-14 2013-06-11 Eureka Agresearch Pty Ltd Herbicidal composition and method for removing unwanted foliage
CN101047733B (zh) * 2006-06-16 2010-09-29 华为技术有限公司 短信处理方法以及装置
EP2047687B1 (en) 2006-08-02 2018-05-16 Thomson Licensing DTV Adaptive geometric partitioning for video encoding
US20080086545A1 (en) 2006-08-16 2008-04-10 Motorola, Inc. Network configuration using configuration parameter inheritance
WO2008027192A2 (en) * 2006-08-25 2008-03-06 Thomson Licensing Methods and apparatus for reduced resolution partitioning
US8428144B2 (en) 2006-09-07 2013-04-23 Lg Electronics Inc. Method and apparatus for decoding/encoding of a video signal
CN100471275C (zh) 2006-09-08 2009-03-18 清华大学 用于h.264/avc编码器的运动估计方法
CN100486336C (zh) 2006-09-21 2009-05-06 上海大学 基于h.264压缩域运动对象实时分割方法
US7965896B2 (en) 2006-10-12 2011-06-21 Kabushiki Kaisha Toshiba Method and apparatus for encoding image
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
JP2008097498A (ja) 2006-10-16 2008-04-24 Olympus Corp プロセッシング・エレメント、コントロール・ユニット、及びこれらを備える処理システム、分散処理方法
KR20080034417A (ko) 2006-10-16 2008-04-21 한국전자통신연구원 개선된 ar-fgs 및 fgs 모션 리파인먼트 기법을적용하는 svc 부호화기, 복호화기 및 그곳에서의 부호화및 복호화 방법
US20080095238A1 (en) 2006-10-18 2008-04-24 Apple Inc. Scalable video coding with filtering of lower layers
US7775002B2 (en) 2006-11-10 2010-08-17 John Puchniak Portable hurricane and security window barrier
CN101401430B (zh) 2006-11-17 2012-02-29 Lg电子株式会社 用于解码/编码视频信号的方法及装置
CN1976488A (zh) 2006-12-01 2007-06-06 陈锋 基于第三代移动通信网络的汽车防盗系统
EP1933564A1 (en) 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
JP4999864B2 (ja) 2006-12-28 2012-08-15 日本電信電話株式会社 映像符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記憶媒体
EP2106666B1 (en) 2007-01-08 2019-06-12 Nokia Technologies Oy Improved inter-layer prediction for extended spatial scalability in video coding
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
EP2105025B1 (en) 2007-01-11 2021-04-07 InterDigital VC Holdings, Inc. Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding
US8718139B2 (en) 2007-01-12 2014-05-06 Mitsubishi Electric Corporation Image decoding device and image decoding method
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
CN101018333A (zh) 2007-02-09 2007-08-15 上海大学 空域可分级信噪比精细可分级视频编码方法
JP2010135863A (ja) 2007-03-28 2010-06-17 Toshiba Corp 画像符号化方法及び装置
WO2008127597A2 (en) 2007-04-12 2008-10-23 Thomson Licensing Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
US20100202512A1 (en) 2007-04-16 2010-08-12 Hae-Chul Choi Color video scalability encoding and decoding method and device thereof
TW200845723A (en) 2007-04-23 2008-11-16 Thomson Licensing Method and apparatus for encoding video data, method and apparatus for decoding encoded video data and encoded video signal
US20090165041A1 (en) 2007-12-21 2009-06-25 Penberthy John S System and Method for Providing Interactive Content with Video Content
CN100515087C (zh) * 2007-05-30 2009-07-15 威盛电子股份有限公司 决定二相邻的宏区块是否位于相同条带区域的方法和装置
KR100906243B1 (ko) 2007-06-04 2009-07-07 전자부품연구원 Rgb 색 공간 신호의 영상 부호화 방법
CN100496129C (zh) 2007-06-05 2009-06-03 南京大学 基于h.264多路视频转码复用的方法
CN101321283B (zh) 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
BRPI0810517A2 (pt) 2007-06-12 2014-10-21 Thomson Licensing Métodos e aparelho suportando estrutura de sintaxe de vídeo de multipasso para dados de seção
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
CN101325714B (zh) 2007-06-13 2010-10-27 华为技术有限公司 变换数据处理方法和装置以及编码、解码方法和装置
JP4551948B2 (ja) 2007-06-13 2010-09-29 シャープ株式会社 線状光源装置、面発光装置、面状光源装置、および、液晶表示装置
WO2008154041A1 (en) 2007-06-14 2008-12-18 Thomson Licensing Modifying a coded bitstream
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8085852B2 (en) 2007-06-26 2011-12-27 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding
US20090003449A1 (en) 2007-06-28 2009-01-01 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
CN100534186C (zh) 2007-07-05 2009-08-26 西安电子科技大学 基于码率预分配的jpeg2000自适应率控制系统及方法
US8458612B2 (en) 2007-07-29 2013-06-04 Hewlett-Packard Development Company, L.P. Application management framework for web applications
TWI338869B (en) * 2007-08-03 2011-03-11 Via Tech Inc Method and apparatus for block-based digital encoded picture
CN101119493B (zh) * 2007-08-30 2010-12-01 威盛电子股份有限公司 区块式数字编码图像的译码方法及装置
KR20090030681A (ko) 2007-09-20 2009-03-25 삼성전자주식회사 영상처리장치, 디스플레이장치, 디스플레이 시스템 및 그제어방법
JP4461165B2 (ja) 2007-09-26 2010-05-12 株式会社東芝 画像処理装置、方法およびプログラム
US8374446B2 (en) * 2007-09-28 2013-02-12 Vsevolod Yurievich Mokrushin Encoding and decoding of digital signals based on compression of hierarchical pyramid
KR101403343B1 (ko) * 2007-10-04 2014-06-09 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
BRPI0818344A2 (pt) 2007-10-12 2015-04-22 Thomson Licensing Métodos e aparelhos para codificação e decodificação de vídeo de partições de modo bi-preditivo geometricamente particionadas
US7777654B2 (en) 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
WO2009051719A2 (en) * 2007-10-16 2009-04-23 Thomson Licensing Methods and apparatus for video encoding and decoding geometically partitioned super blocks
CN101676744B (zh) * 2007-10-31 2012-07-11 北京航空航天大学 一种复杂背景低信噪比下弱小目标高精度跟踪方法
US8270472B2 (en) 2007-11-09 2012-09-18 Thomson Licensing Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video
US8553781B2 (en) 2007-12-07 2013-10-08 Thomson Licensing Methods and apparatus for decoded picture buffer (DPB) management in single loop decoding for multi-view video
US8540158B2 (en) 2007-12-12 2013-09-24 Yiwu Lei Document verification using dynamic document identification framework
US20090154567A1 (en) 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
KR20100105877A (ko) 2008-01-11 2010-09-30 톰슨 라이센싱 비디오 및 깊이 코딩
US8155184B2 (en) 2008-01-16 2012-04-10 Sony Corporation Video coding system using texture analysis and synthesis in a scalable coding framework
EP2245596B1 (en) 2008-01-21 2017-07-12 Telefonaktiebolaget LM Ericsson (publ) Prediction-based image processing
CN101919254B (zh) 2008-01-21 2013-01-23 艾利森电话股份有限公司 基于预测的图像处理
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US20100220469A1 (en) 2008-05-23 2010-09-02 Altair Engineering, Inc. D-shaped cross section l.e.d. based light
TWI373959B (en) * 2008-06-09 2012-10-01 Kun Shan University Of Technology Wavelet codec with a function of adjustable image quality
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN101632763A (zh) 2008-07-24 2010-01-27 夏范音 一种固血丸
KR20100018810A (ko) 2008-08-07 2010-02-18 전자부품연구원 초고화질 영상 부호화, 복호화 방법 및 장치 및 컴퓨터로판독가능한 기록매체
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
EP2161936A1 (en) 2008-09-04 2010-03-10 Panasonic Corporation Locally adaptive filters for video coding controlled by local correlation data
US8750379B2 (en) 2008-09-11 2014-06-10 General Instrument Corporation Method and apparatus for complexity-scalable motion estimation
JP5422168B2 (ja) 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US20100086031A1 (en) 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
CN101404774B (zh) 2008-11-13 2010-06-23 四川虹微技术有限公司 运动搜索中宏块划分模式的选择方法
JP5394212B2 (ja) 2008-12-19 2014-01-22 トムソン ライセンシング データを挿入する方法、挿入されたデータを読み出す方法
JP5001964B2 (ja) 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
CN101493890B (zh) 2009-02-26 2011-05-11 上海交通大学 基于特征的动态视觉注意区域提取方法
WO2010131903A2 (en) 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
US8810562B2 (en) 2009-05-19 2014-08-19 Advanced Micro Devices, Inc. Hierarchical lossless compression
US8306355B2 (en) 2009-07-13 2012-11-06 Sharp Laboratories Of America, Inc. Methods and systems for reducing compression artifacts
WO2011011542A1 (en) * 2009-07-21 2011-01-27 Integrated Device Technology, Inc. A method and system for detection and enhancement of video images
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN104602013B (zh) * 2009-10-01 2017-10-31 Sk电信有限公司 视频编码装置和方法
KR101457418B1 (ko) * 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US8594200B2 (en) 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
JP5475409B2 (ja) 2009-11-20 2014-04-16 三菱電機株式会社 動画像符号化装置および動画像符号化方法
WO2011063397A1 (en) 2009-11-23 2011-05-26 General Instrument Corporation Depth coding as an additional channel to video sequence
US8315310B2 (en) 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
US20110170608A1 (en) 2010-01-08 2011-07-14 Xun Shi Method and device for video transcoding using quad-tree based mode selection
US20120300850A1 (en) 2010-02-02 2012-11-29 Alex Chungku Yie Image encoding/decoding apparatus and method
KR20110135471A (ko) * 2010-06-11 2011-12-19 (주)휴맥스 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
KR101847072B1 (ko) * 2010-04-05 2018-04-09 삼성전자주식회사 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101750046B1 (ko) * 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
KR101529992B1 (ko) * 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
US20110249743A1 (en) 2010-04-09 2011-10-13 Jie Zhao Super-block for high performance video coding
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
LT3697089T (lt) 2010-04-13 2022-01-10 Ge Video Compression, Llc Paveldėjimas ėminių masyvo multimedžio poskaidinyje
CN106028045B (zh) 2010-04-13 2019-06-25 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及其解码器
CN105872562B (zh) 2010-04-13 2019-05-17 Ge视频压缩有限责任公司 跨平面预测
CN102939750B (zh) 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
KR102480988B1 (ko) 2010-04-13 2022-12-26 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
KR102647083B1 (ko) 2010-10-08 2024-03-14 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
JP6258704B2 (ja) 2010-11-04 2018-01-10 ジーイー ビデオ コンプレッション エルエルシー ブロック統合およびスキップモードをサポートする画像符号化および画像復号化
US20120170648A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
CN103119944B (zh) 2011-05-20 2017-04-12 太阳专利托管公司 用于使用色彩平面间预测对视频进行编码和解码的方法和装置
MY170940A (en) 2011-06-16 2019-09-19 Ge Video Compression Llc Entropy coding of motion vector differences
WO2013170198A2 (en) 2012-05-10 2013-11-14 Drawbridge, Inc. System and method for determining related digital identities
US20150229957A1 (en) 2012-09-24 2015-08-13 Qualcomm Incorporated Depth map coding
KR102021028B1 (ko) 2012-12-04 2019-09-16 삼성디스플레이 주식회사 유기 발광 표시 장치
ES2665908T3 (es) 2013-04-08 2018-04-30 Ge Video Compression, Llc Predicción inter-componente
US9264728B2 (en) 2014-01-10 2016-02-16 Sony Corporation Intra-plane and inter-plane predictive method for Bayer image coding
US9783149B2 (en) 2014-07-22 2017-10-10 Autoliv Development Ab Side airbag device
US10820007B2 (en) 2015-01-21 2020-10-27 Samsung Electronics Co., Ltd. Method and apparatus for decoding inter-layer video, and method and apparatus for encoding inter-layer video
CN106325631B (zh) 2015-07-10 2023-03-07 宸鸿科技(厦门)有限公司 一种具有压力侦测的触控显示模组及其驱动方法
WO2018124957A1 (en) 2016-12-30 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Decoded picture buffer management for handling cross-picture data prediction
CN113597760A (zh) 2019-01-02 2021-11-02 北京字节跳动网络技术有限公司 视频处理的方法
WO2020216175A1 (en) 2019-04-20 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Signaling of syntax elements for joint coding of chrominance residuals
CN117499625A (zh) 2019-09-01 2024-02-02 北京字节跳动网络技术有限公司 视频编解码中预测权重的对准
CN115606184A (zh) 2020-04-01 2023-01-13 抖音视界有限公司(Cn) 对量化参数增量的信令通知的控制
US20220103847A1 (en) 2020-09-29 2022-03-31 Lemon Inc. Dependent random access point indication in video bitstreams

Also Published As

Publication number Publication date
CN106231333B (zh) 2020-06-19
EP3955579B1 (en) 2023-06-07
CN102893608B (zh) 2016-09-14
KR20200117064A (ko) 2020-10-13
TW201717163A (zh) 2017-05-16
TWI726635B (zh) 2021-05-01
US10805645B2 (en) 2020-10-13
PT3703377T (pt) 2022-01-28
ES2549734T3 (es) 2015-11-02
CN106231334B (zh) 2019-07-05
KR101747201B1 (ko) 2017-06-27
CN106231326A (zh) 2016-12-14
EP2559245B1 (en) 2015-08-12
US10764608B2 (en) 2020-09-01
TWI545526B (zh) 2016-08-11
KR102129404B1 (ko) 2020-07-02
CN106231335A (zh) 2016-12-14
EP2947884B1 (en) 2019-07-24
DK3621306T3 (da) 2022-03-07
KR101704668B1 (ko) 2017-02-08
TWI775719B (zh) 2022-08-21
US10721495B2 (en) 2020-07-21
PL3955579T3 (pl) 2023-10-16
JP2015149737A (ja) 2015-08-20
CN106231324B (zh) 2019-11-05
PL2559245T3 (pl) 2015-11-30
TWI764752B (zh) 2022-05-11
TW202011355A (zh) 2020-03-16
TW202123175A (zh) 2021-06-16
PT3955579T (pt) 2023-08-31
US20190089992A1 (en) 2019-03-21
US11856240B1 (en) 2023-12-26
EP4228269A1 (en) 2023-08-16
CN106231330A (zh) 2016-12-14
CN106231333A (zh) 2016-12-14
CN106231331B (zh) 2019-12-13
US20170134760A1 (en) 2017-05-11
SI3621306T1 (sl) 2022-04-29
SI3703377T1 (sl) 2022-04-29
CN102893608A (zh) 2013-01-23
CN106231326B (zh) 2020-03-03
BR122020007668B1 (pt) 2022-08-23
KR20200016997A (ko) 2020-02-17
HUE057597T2 (hu) 2022-05-28
CN105120287A (zh) 2015-12-02
TWI801315B (zh) 2023-05-01
CN105120287B (zh) 2019-05-17
CN106231336A (zh) 2016-12-14
CN106231327B (zh) 2020-04-21
US20240022768A1 (en) 2024-01-18
KR102451474B1 (ko) 2022-10-06
TW201727581A (zh) 2017-08-01
EP3958573B1 (en) 2023-06-07
US11546642B2 (en) 2023-01-03
EP3621306A1 (en) 2020-03-11
CN106231338B (zh) 2019-08-27
US20200252658A1 (en) 2020-08-06
PT2947884T (pt) 2019-10-31
CN106231336B (zh) 2020-06-12
KR101872281B1 (ko) 2018-06-28
EP2947884A1 (en) 2015-11-25
CN106231328A (zh) 2016-12-14
KR20230051624A (ko) 2023-04-18
PL3958573T3 (pl) 2023-10-16
LT3958573T (lt) 2023-09-25
LT3703377T (lt) 2022-02-10
ES2907203T3 (es) 2022-04-22
CN106358045B (zh) 2019-07-19
EP3703377B1 (en) 2021-11-24
BR122020007669B1 (pt) 2022-07-12
US10681390B2 (en) 2020-06-09
CN106231335B (zh) 2019-07-02
KR20140130223A (ko) 2014-11-07
PL3703377T3 (pl) 2022-03-07
EP2559245A1 (en) 2013-02-20
KR20230053700A (ko) 2023-04-21
DK2947884T3 (da) 2019-10-28
SI3955579T1 (sl) 2023-10-30
US20190306539A1 (en) 2019-10-03
DK3703377T3 (da) 2022-02-28
US10771822B2 (en) 2020-09-08
CN105120288A (zh) 2015-12-02
LT3955579T (lt) 2023-09-11
JP6150832B2 (ja) 2017-06-21
CN106231325B (zh) 2020-02-04
CN106231329A (zh) 2016-12-14
TWI578273B (zh) 2017-04-11
US20230089318A1 (en) 2023-03-23
TWI553593B (zh) 2016-10-11
US20210211743A1 (en) 2021-07-08
WO2011128269A1 (en) 2011-10-20
US10687086B2 (en) 2020-06-16
EP3621306B1 (en) 2021-12-01
HUE057200T2 (hu) 2022-04-28
KR20150065913A (ko) 2015-06-15
SI3958573T1 (sl) 2023-10-30
US20160360239A1 (en) 2016-12-08
TW202234348A (zh) 2022-09-01
US9596488B2 (en) 2017-03-14
US10893301B2 (en) 2021-01-12
FI3958573T3 (fi) 2023-08-23
HK1218033A1 (zh) 2017-01-27
CN106231332A (zh) 2016-12-14
KR20200118231A (ko) 2020-10-14
JP2013526143A (ja) 2013-06-20
CN106231338A (zh) 2016-12-14
RS63034B1 (sr) 2022-04-29
TW201211942A (en) 2012-03-16
KR20190077603A (ko) 2019-07-03
HUE025960T2 (en) 2016-04-28
US20190394497A1 (en) 2019-12-26
HUE062603T2 (hu) 2023-11-28
CN106231331A (zh) 2016-12-14
EP3958573A1 (en) 2022-02-23
US11910029B2 (en) 2024-02-20
US9591335B2 (en) 2017-03-07
FI3955579T3 (fi) 2023-08-16
US10856013B2 (en) 2020-12-01
KR102592133B1 (ko) 2023-10-20
HUE063343T2 (hu) 2024-01-28
CN106231328B (zh) 2020-06-12
KR20130027504A (ko) 2013-03-15
KR20220138020A (ko) 2022-10-12
US10250913B2 (en) 2019-04-02
TWI733566B (zh) 2021-07-11
US11736738B2 (en) 2023-08-22
CN106358045A (zh) 2017-01-25
TWI705418B (zh) 2020-09-21
US20190037245A1 (en) 2019-01-31
LT3621306T (lt) 2022-03-10
EP3955579A1 (en) 2022-02-16
PL3621306T3 (pl) 2022-04-04
ES2953668T3 (es) 2023-11-15
PL2947884T3 (pl) 2020-01-31
US20200366942A1 (en) 2020-11-19
KR20180072881A (ko) 2018-06-29
CN106231323B (zh) 2020-07-28
KR102520192B1 (ko) 2023-04-11
US11778241B2 (en) 2023-10-03
TW202139139A (zh) 2021-10-16
RS64605B1 (sr) 2023-10-31
CN105120288B (zh) 2019-05-17
PT3958573T (pt) 2023-09-06
TW202304206A (zh) 2023-01-16
TW202025786A (zh) 2020-07-01
CN106231327A (zh) 2016-12-14
BR112012026383A2 (pt) 2016-08-02
US20190045227A1 (en) 2019-02-07
ES2953850T3 (es) 2023-11-16
RS63059B1 (sr) 2022-04-29
TW202335501A (zh) 2023-09-01
DK3955579T3 (da) 2023-08-21
US20130039422A1 (en) 2013-02-14
KR101994900B1 (ko) 2019-06-28
KR102311520B1 (ko) 2021-10-13
DK2559245T3 (en) 2015-08-24
PT3621306T (pt) 2022-03-02
RS64606B1 (sr) 2023-10-31
TWI664607B (zh) 2019-07-01
CN106231325A (zh) 2016-12-14
KR101598510B1 (ko) 2016-03-02
TWI746414B (zh) 2021-11-11
TW202139138A (zh) 2021-10-16
CN106231337B (zh) 2020-06-19
US20170134761A1 (en) 2017-05-11
CN106231324A (zh) 2016-12-14
PT2559245E (pt) 2015-09-24
CN106231330B (zh) 2019-07-19
KR102245669B1 (ko) 2021-04-28
CN106231334A (zh) 2016-12-14
EP3703377A1 (en) 2020-09-02
CN106231332B (zh) 2020-04-14
CN106231329B (zh) 2019-07-05
CN106231323A (zh) 2016-12-14
JP5856143B2 (ja) 2016-02-09
KR20170070256A (ko) 2017-06-21
TW201541411A (zh) 2015-11-01
US20200007897A1 (en) 2020-01-02
US11102518B2 (en) 2021-08-24
CN106231337A (zh) 2016-12-14
ES2752227T3 (es) 2020-04-03
KR20210123430A (ko) 2021-10-13
DK3958573T3 (da) 2023-08-28
US20200169761A1 (en) 2020-05-28
US20160366448A1 (en) 2016-12-15
KR102163680B1 (ko) 2020-10-08
US10708628B2 (en) 2020-07-07
HUE045693T2 (hu) 2020-01-28

Similar Documents

Publication Publication Date Title
ES2904650T3 (es) Codificación de vídeo que usa subdivisiones multiárbol de imágenes
US11553212B2 (en) Inheritance in sample array multitree subdivision
ES2746182T3 (es) Predicción entre planos
DK2559246T3 (en) Fusion of sample areas
BR122020007663B1 (pt) Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão
BR112012026383B1 (pt) Decodificador, método de descodificação, codificador, método de codificação e meio de armazenamento digital