ES2746182T3 - Predicción entre planos - Google Patents

Predicción entre planos Download PDF

Info

Publication number
ES2746182T3
ES2746182T3 ES10716518T ES10716518T ES2746182T3 ES 2746182 T3 ES2746182 T3 ES 2746182T3 ES 10716518 T ES10716518 T ES 10716518T ES 10716518 T ES10716518 T ES 10716518T ES 2746182 T3 ES2746182 T3 ES 2746182T3
Authority
ES
Spain
Prior art keywords
simply connected
matrix
information
simply
prediction
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
ES10716518T
Other languages
English (en)
Inventor
Heiner Kirchhoffer
Martin Winken
Heiko Schwarz
Detlev Marpe
Thomas Wiegand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GE Video Compression LLC
Original Assignee
GE Video Compression LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43305051&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2746182(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 ES2746182T3 publication Critical patent/ES2746182T3/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

Decodificador para decodificar un flujo de datos (22) que representa diferentes componentes de información espaciadamente muestreada de una instantánea (500) de una escena en planos, siendo cada componente de información uno de un componente de color, mapa de entrada o datos de transparencia, comprendiendo cada plano una matriz (502, 504) de muestras de información, configurándose el decodificador para subdividir regiones simplemente conectadas en las que cada matriz (502, 504) de muestras de información se subdivide, en subregiones simplemente conectadas mediante el uso de subdivisión basada en múltiples árboles usando información de subdivisión asociada con las regiones simplemente conectadas; reconstruir cada matriz (502, 504) de muestras de información procesando datos de cabida útil asociados con las regiones simplemente conectadas de una forma prescrita por parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas y especificando cómo se predicen estas subregiones simplemente conectadas o un modo de codificación residual a usarse para estas subregiones simplemente conectadas; derivar la información de subdivisión asociada con las regiones simplemente conectadas de una primera matriz (504) de las matrices de muestras de información y los parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas de la primera matriz (504) a partir del flujo de datos (22); derivar información de intercambio entre planos para las regiones simplemente conectadas de una segunda matriz (502) de las matrices de muestras de información a partir del flujo de datos (22), en el que la primera y segunda matrices (502, 504) se refieren a diferentes componentes de información, dependiendo de la información de intercambio entre planos para las regiones simplemente conectadas de la segunda matriz (502), decidir, para cada región simplemente conectada, derivar, mediante predicción entre planos, la información de subdivisión para la respectiva región simplemente conectada a partir de la información de subdivisión de una región simplemente conectada localmente correspondiente de la primera matriz (504) derivando para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504), o para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) cuyo el tamaño cumple una condición, un elemento de sintaxis a partir del flujo de datos (22), que especifica si una subregión de la respectiva región simplemente conectada, que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504), se descompone adicionalmente en unas respectivas de las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502), o si la subregión de la respectiva región simplemente conectada de la segunda matriz (502), que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) permanece sin descomponer y directamente representa una de las subregiones simplemente conectadas de la respectiva región simplemente conectada, derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación así derivados; o ignorar la información de subdivisión para la región simplemente conectada localmente correspondiente de la primera matriz (504), y derivar la información de subdivisión para la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22), derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación asociados derivados a partir del flujo de datos (22).

Description

DESCRIPCIÓN
Predicción entre planos
La presente invención se refiere a esquemas de codificación para diferentes componentes de información espaciadamente muestreada de una instantánea de una escena, proporcionada en planos, comprendiendo cada plano una matriz de muestras de información, tal como en videos o instantáneas fijas.
En codificación de imagen y video, las instantáneas o conjuntos particulares de matrices de muestra para las instantáneas se descomponen normalmente en bloques, que se asocian con parámetros de codificación particulares. Las instantáneas normalmente constan de múltiples matrices de muestra. Además, una instantánea también puede asociarse con matrices de muestras auxiliares adicionales, que pueden, por ejemplo, especificar información de transparencia o mapas de profundidad. Las matrices de muestra de una instantánea (incluyendo matrices de muestra auxiliares) pueden agruparse en uno o más así llamados grupos de planos, en los que cada grupo de planos consta de una o más matrices de muestra. Los grupos de planos de una instantánea pueden codificarse independientemente o, si la instantánea se asocia con más de un grupo de planos, con predicción de otros grupos de planos de la misma instantánea. Cada grupo de planos se descompone normalmente en bloques. Los bloques (o los bloques correspondientes de matrices de muestra) se predicen mediante o bien predicción inter instantánea o predicción intra instantánea. Los bloques pueden tener diferentes tamaños y pueden ser o bien cuadráticos o rectangulares. La partición de una instantánea en bloques puede o bien fijarse por la sintaxis o bien puede señalizarse (al menos parcialmente) dentro del flujo de bits. A menudo se transmiten elementos de sintaxis que señalizan la subdivisión para bloques de tamaños predefinidos. Tales elementos de sintaxis pueden especificar si y cómo se subdivide un bloque en bloques más pequeños y parámetros de codificación asociados, por ejemplo para el propósito de predicción. Para todas las muestras de un bloque (o los bloques correspondientes de matrices de muestra) la decodificación de los parámetros de codificación asociados se especifica de una cierta forma. En el ejemplo, todas las muestras en un bloque se predicen usando el mismo conjunto de parámetros previstos, tal como índices de referencia (identificando una instantánea de referencia en el conjunto de instantáneas ya codificadas), parámetros de movimiento (especificando una medida para el movimiento de bloques entre una instantánea de referencia y la instantánea actual), parámetros para especificar el filtro de interpolación, modos de intra predicción, etc. Los parámetros de movimiento pueden representarse mediante vectores de desplazamiento con un componente horizontal y vertical o por parámetros de movimiento de órdenes mayores tal como parámetros de movimiento afines que constan de seis componentes. También es posible que más de un conjunto de parámetros de predicción particulares (tal como índices de referencia y parámetros de movimiento) se asocien 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 muestra), y la señal de predicción final se construye por una combinación que incluye superponer las señales de predicción intermedias. Los parámetros de ponderación correspondientes y potencialmente también una compensación constante (que se añade a la suma ponderada) puede o bien fijarse para una instantánea, o una instantánea de referencia, o bien un conjunto de instantáneas de referencia, o pueden incluirse en el conjunto de parámetros previstos para el bloque correspondiente. La diferencia entre los bloques originales (o los bloques correspondientes de matrices de muestra) y sus señales de predicción, también denominada como la señal residual, normalmente se transforma y cuantifica. A menudo, se aplica una transformación bidimensional a la señal residual (o las correspondientes matrices de muestra para el bloque residual). Para codificación por transformación, los bloques (o los bloques correspondientes de matrices de muestra), para los que se ha usado un conjunto particular de parámetros previstos, pueden dividirse adicionalmente antes de aplicar la transformación. Los bloques de transformación pueden ser iguales a o más pequeños que los bloques que se usan para predicción. También es posible que un bloque de transformación incluya más de uno de los bloques que se usan para predicción. Diferentes bloques de transformación pueden tener diferentes tamaños y los bloques de transformación pueden representar bloques cuadráticos o rectangulares. Después de la transformación, los coeficientes de transformación resultantes se cuantifican y se obtienen los así llamados niveles de coeficientes de transformación. Los niveles de coeficientes de transformación así como los parámetros de predicción y, si está presente, la información de subdivisión se codifican por entropía.
En las normas de codificación de imágenes y video, las posibilidades de subdividir una instantánea (o un grupo de planos) en bloques que se proporcionan por la sintaxis son muy limitadas. Normalmente, puede especificarse únicamente si (y potencialmente cómo) un bloque de un tamaño predefinido puede subdividirse en bloques más pequeños. Como un ejemplo, el mayor tamaño de bloque en H.264 es de 16x16. Los bloques de 16x16 también se denominan como macrobloques y cada instantánea se particiona en macrobloques en una primera etapa. Para cada 16x16 macrobloque, puede señalizarse si 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 o bien codificarse como un bloque de 8x8, o como dos bloques de 8x4, o dos bloques de 4x8, o como cuatro bloques de 4x4. El conjunto pequeño de posibilidades para especificar la partición en bloques en normas de codificación de imágenes y video del estado de la técnica tiene la ventaja de que la tasa de información secundaria para señalizar la información de subdivisión puede mantenerse pequeña, pero tiene la desventaja de que la tasa de bits requerida para transmitir los parámetros de predicción para los bloques puede volverse significativa como se explica a continuación. La tasa de información secundaria para señalizar la información de predicción normalmente representa una cantidad significativa de la tasa de bits general para un bloque. Y la eficiencia de codificación podría aumentarse cuando se reduce esta información secundaria, que, por ejemplo, podría conseguirse usando tamaños de bloque más grandes. Imágenes o instantáneas reales de una secuencia de video constan de objetos con formas arbitrarias con propiedades específicas. Como un ejemplo, tales objectos o partes de los objetos se caracterizan por una textura única o un movimiento único. Y normalmente, el mismo conjunto de parámetros previstos puede aplicarse para un objeto de este tipo o parte de un objeto. Pero los límites de objeto normalmente no coinciden con los posibles límites de bloque para bloques de predicción grandes (por ejemplo, macrobloques de 16x16 en H.264). Un codificador normalmente determina la subdivisión (entre el conjunto limitado de posibilidades) que resulta en el mínimo de una medición de coste de distorsión de tasa particular. Para objetos con forma arbitraria esto puede resultar en un gran número de pequeños bloques. Y ya que cada uno de estos pequeños bloques se asocia con un conjunto de parámetros previstos, que necesitan transmitirse, la tasa de información secundaria puede volverse una parte significativa de toda la tasa de bits. Pero ya que varios de los pequeños bloques aún representan áreas del mismo objeto o parte de un objeto, los parámetros de predicción para un número de los bloques obtenidos son los mismos o muy similares.
Es decir, la subdivisión o enlosamiento de una instantánea en porciones más pequeñas o losas o bloques influencia sustancialmente la eficiencia de codificación y complejidad de codificación. Como se ha señalado anteriormente, una subdivisión de una instantánea en un mayor número de bloques más pequeños habilita una configuración espacial más fina de los parámetros de codificación, con lo que se habilita una mejor capacidad de adaptación de estos parámetros de codificación al material de instantánea/video. Por otra parte, la configuración de los parámetros de codificación a una granularidad más fina supone una mayor barrera a la cantidad de información secundaria necesaria para informar al decodificador de las configuraciones necesarias. Incluso además, se ha de observar que cualquier libertad para que el codificador subdivida (adicionalmente) la instantánea/video espacialmente en bloques aumenta enormemente la cantidad de posibles configuraciones de parámetros de codificación y de este modo convierte generalmente la búsqueda de la configuración de parámetros de codificación que conducen al mejor compromiso de tasa/distorsión incluso más difícil.
SEKIGUCHI S ET AL, "Results of CE on separate prediction modes for 4:4:4 coding (CE9)", GRUPO DE ESTUDIO DE ITU 16 - GRUPO DE EXPERTOS EN CODIFICACIÓN DE VIDEO -ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 y ITU-T SG16 Q6), n.° JVT- R031, describe un esquema de codificación para la codificación de los diferentes planos de color de un material de video RGB. En particular, los autores de este documento se han dado cuenta que los tres planos de color de video RGB en ocasiones tienen diferentes estáticas espaciotemporales. El documento sugiere la extensión de la sintaxis de H.264 de tal forma que se proporciona al codificador una flexibilidad para elegir el mejor modo de codificación para cada plano de color individualmente. En particular, de acuerdo con una primera propuesta, el documento sugiere la introducción de una bandera de mode_extension_flag en la sintaxis de RBSP para indicar la sintaxis de segmento/datos en cuanto a si los modos de codificación de macrobloques se transmiten para cada plano de color de forma separada o común. De acuerdo con la segunda propuesta, la decisión con respecto a la mode_extension_flag se realiza por segmento acompañando a cada encabezamiento de segmento con un identificador que indica el plano de color al que pertenece el respectivo segmento. En otras palabras, de acuerdo con la segunda propuesta, segmentos que comprenden los modos de codificación y parámetros de codificación, se pueden transmitir en el flujo de datos o bien de forma separada para cada plano de color o meramente una vez siendo todos los modos de codificación y parámetros válidos para todos los colores.
El documento US 2008/0298694 también presenta una propuesta de extensión de la sintaxis de H.264/AVC para explotar redundancias entre planos de forma efectiva. En particular, sugiera la codificación de una señal de espacio de color RGB mediante la codificación de un plano base usando un modo independiente y uno o más planos mejorados haciendo referencia al plano base. De este modo, se reduce la redundancia entre planos RGB, mejorando de este modo la relación de compresión de la imagen. En particular, se sugiere en el mismo acompañar la sintaxis de conjunto de parámetros de secuencia con una bandera de adaptive_interplane_residual_prediction que indica en cuanto a si tiene que usarse o no predicción residual entre planos. En el encabezamiento de segmento, una bandera de adaptive_base_plane_flag indica en cuanto a si se permite que el último plano conmute a predicción desde el plano base y predicción desde el plano intermedio. En la capa de macrobloque, una bandera de AIRP_flag señaliza en cuanto a si debe inferirse o no mb_type para un macrobloque actual del macrobloque correspondiente en el plano de referencia, es decir, los modos de inter predicción, los índices de referencia y los vectores de movimiento de la misma. Una bandera de flip_base_plane_flag indica, si se establece adaptive_base_plane_flag, en cuanto a si el plano de referencia es el plano base o el plano de color intermedio. Se indica que era preferible si se efectúa una transformada de coseno discreta del macrobloque actual de una manera que un tamaño de bloque de la transformada de coseno discreta del macrobloque actual es el mismo que el del macrobloque de referencia.
Es un objeto proporcionar un esquema de codificación para codificar diferentes componentes de información espaciadamente muestreada de una instantánea de una escena, proporcionada en planos, comprendiendo cada plano una matriz de muestras de información, que habilita conseguir una mejor relación de distorsión de tasa.
Este objeto se consigue mediante la materia objeto de las reivindicaciones independientes.
Una idea que subyace de la presente invención es que puede conseguirse una mejor relación de distorsión de tasa cuando interrelaciones entre parámetros de codificación de diferentes planos se hacen disponibles para explotación del objetivo de reducción de redundancia a pesar de la sobrecarga adicional que resulta de la necesidad de señalizar la información de predicción entre planos al decodificador. En particular, la decisión de usar predicción entre planos o no puede realizarse para una pluralidad de planos individualmente. Adicionalmente o como alternativa, la decisión puede hacerse en una base por bloque considerando un plano secundario.
De acuerdo con una realización, la matriz de muestras de información que representa la señal de información espaciadamente muestreada primero es espacialmente en regiones de raíz de árbol con subdivisión a continuación, de acuerdo con información de subdivisión de múltiples árboles extraída de un flujo de datos, al menos un subconjunto de las regiones de raíz de árbol en regiones simplemente conectadas más pequeñas de diferentes tamaños multiparticionando de forma repetitiva el subconjunto de las regiones de raíz de árbol. Para encontrar un buen compromiso entre una subdivisión demasiada fina y una subdivisión demasiada gruesa en el sentido de distorsión de tasa, en complejidad de codificación razonable, el tamaño de región máximo de las regiones de raíz de árbol en las que se divide espacialmente la matriz de muestras de información, se incluye dentro del flujo de datos y extrae del flujo de datos en el lado de decodificación. Acorde, un decodificador puede comprender un restador configurado para extraer un tamaño de región máximo e información de subdivisión de múltiples árboles de un flujo de datos, un subdivisor configurado para dividir espacialmente una matriz de muestras de información que representa una señal de información espaciadamente muestreada en regiones de raíz de árbol del tamaño de región máximo y subdividir, de acuerdo con la información de subdivisión de múltiples árboles, al menos un subconjunto de las regiones de raíz de árbol en regiones simplemente conectadas más pequeñas de diferentes tamaños mediante el particionamiento múltiple de forma repetitiva del subconjunto de regiones de raíz de árbol; y un reconstructor configurado para reconstruir la matriz de muestras de información a partir del flujo de datos usando la subdivisión en las regiones simplemente conectadas más pequeñas.
De acuerdo con una realización, el flujo de datos también contiene el máximo nivel de jerarquía hasta el que se somete el subconjunto de regiones de raíz de árbol al particionamiento múltiple repetitivo. Mediante esta medida, la señalización de la información de subdivisión de múltiples árboles se hace más fácil y necesita menos bits para la codificación.
Adicionalmente, el reconstructor puede configurarse para realizar una o más de las siguientes medidas en una granularidad que depende de la subdivisión intermedia: decisión cuyo modo de predicción entre, al menos, modo de intra e inter predicción a usar; transformación desde dominio espectral a espacial, realizando y/o configurando parámetros para una inter predicción; realizar y/o configurar los parámetros para una intra predicción.
Adicionalmente, el extractor puede configurarse para extraer elementos de sintaxis asociados con las regiones hoja de los bloques de árbol particionados en un orden transversal de primero en profundidad del flujo de datos. Mediante esta medida, el extractor es capaz de explotar las estadísticas de elementos de sintaxis de regiones hoja vecinas ya codificadas con una mayor probabilidad que el uso de orden transversal de primero en amplitud.
De acuerdo con otra realización, se usa un subdivisor adicional para subdividir, de acuerdo con una información de subdivisión de múltiples árboles adicional, al menos un subconjunto de las regiones simplemente conectadas más pequeñas en incluso regiones simplemente conectadas más pequeñas. la subdivisión de primera fase puede usarse por el reconstructor para realizar la predicción del área de muestras de información, mientras la subdivisión de segunda fase puede usarse por el reconstructor para realizar la retransformación de domino espectral a espacial. Definir la subdivisión residual para que sea subordinada en relación con la subdivisión de predicción hace que la codificación de la subdivisión en general consuma menos bit y, por otra parte, la restricción y libertad para la subdivisión residual resultante de la subordinación tiene meramente efectos negativos menores en la eficiencia de codificación ya que la mayoría de porciones de instantáneas que tienen parámetros de compensación de movimiento similares son mayores que porciones que tienen propiedades espectrales similares.
De acuerdo con incluso una realización adicional, un tamaño de región máximo adicional se contiene en el flujo de datos, definiendo el tamaño de región máximo adicional el tamaño de subregiones de raíz de árbol en las que las regiones simplemente conectadas más pequeñas se dividen en primer lugar antes de subdividir al menos un subconjunto de las subregiones de raíz de árbol de acuerdo con la información de subdivisión de múltiples árboles adicional en incluso regiones simplemente conectadas más pequeñas. Esto, a su vez, habilita una configuración independiente de los tamaños de región máximos de la subdivisión de predicción por una parte y la subdivisión residual por otra parte y, por lo tanto, habilita encontrar un mejor compromiso de tasa/distorsión.
De acuerdo con una realización incluso adicional de la presente invención, el flujo de datos comprende un primer subconjunto de elementos de sintaxis separado de un segundo subconjunto de elementos de sintaxis que forman la información de subdivisión de múltiples árboles, en el que un fusionador en el lado de decodificación es capaz de combinar, dependiendo del primer subconjunto de elementos de sintaxis, regiones simplemente conectadas más pequeñas espacialmente vecinas de la subdivisión de múltiples árboles para obtener una subdivisión intermedia de la matriz de muestras. El reconstructor puede configurarse para reconstruir la matriz de muestras usando la subdivisión intermedia. Mediante esta medida, es más fácil para el codificador adaptar la subdivisión efectiva a la distribución espacial de propiedades de la matriz de muestras de información con encontrar un óptimo compromiso de tasa/distorsión. Por ejemplo, si el tamaño de región máximo es alto, la información de subdivisión de múltiples árboles es probable que se vuelva más compleja debido a que las regiones de raíz de árbol se vuelven más grandes. Por otra parte, sin embargo, si el tamaño de región máximo es pequeño, se vuelve más probable que regiones de raíz de árbol vecinas pertenezcan a contenido de información con propiedades similares de modo que estas regiones de raíz de árbol también podrían haberse procesado juntas. La unión rellena este hueco entre los extremos anteriormente mencionados, habilitando de este modo una casi óptima subdivisión de granularidad. Desde la perspectiva del codificador, los elementos de sintaxis de unión permiten un procedimiento de codificación más relajado o computacionalmente menos complejo ya que si el codificador usa erróneamente una división demasiado fina, este error puede compensarse por el codificador posteriormente, configurando posteriormente los elementos de sintaxis de unión con o sin adaptar habiéndose establecido únicamente una pequeña parte de los elementos de sintaxis antes de configurar los elementos de sintaxis de unión.
De acuerdo con una realización incluso adicional, se usa el tamaño de región máximo y la información de subdivisión de múltiples árboles para la subdivisión residual en lugar de la subdivisión de predicción.
De acuerdo con una realización se usa una orden transversal de primero en profundidad para tratar las regiones simplemente conectadas de una subdivisión de árbol cuaternario de una matriz de muestras de información que representa una señal de información espaciadamente muestreada en lugar de una orden transversal de primero en amplitud. Usando el orden transversal de primero en profundidad, cada región simplemente conectada tiene una mayor probabilidad de tener regiones simplemente conectadas vecinas que ya se han atravesado de modo que información con respecto a estas regiones simplemente conectadas vecinas puede explotarse positivamente cuando se reconstruye la respectiva región simplemente conectada actual.
Cuando la matriz de muestras de información se divide en primer lugar en una disposición regular de regiones de raíz de árbol de tamaño de jerarquía de orden cero a continuación con subdivisión de al menos un subconjunto de las regiones de raíz de árbol en regiones simplemente conectadas más pequeñas de diferentes tamaños, el reconstructor puede usar una exploración en zigzag para explorar las regiones de raíz de árbol con, para cada región de raíz de árbol a particionar, tratamiento de las regiones hoja simplemente conectadas en orden transversal de primero en profundidad antes de avanzar adicionalmente a la siguiente región de raíz de árbol en el orden de exploración en zigzag. Además, de acuerdo con el orden transversal de primero en profundidad, regiones hoja simplemente conectadas del mismo nivel de jerarquía pueden atravesarse también en un orden de exploración en zigzag. Por lo tanto, se mantiene la probabilidad aumentada de tener regiones hoja simplemente conectadas vecinas.
De acuerdo con una realización, aunque las banderas asociadas con los nodos de la estructura de múltiples árboles se disponen secuencialmente en un orden transversal de primero en profundidad, la codificación secuencial de las banderas usa contextos de estimación de probabilidad que son los mismos para banderas asociadas con nodos de la estructura de múltiples árboles que se encuentran dentro del mismo nivel de jerarquía de la estructura de múltiples árboles, pero diferente para nodos de la estructura de múltiples árboles que se encuentran dentro de diferentes niveles de jerarquía de la estructura de múltiples árboles, permitiendo de este modo un buen compromiso entre el número de contextos a proporcionar y la adaptación a las estadísticas de símbolo actuales de las banderas por otra parte.
De acuerdo con una realización, los contextos de estimación de probabilidad para una bandera predeterminada usada también dependen de banderas que preceden a la bandera predeterminada de acuerdo con el orden transversal de primero en profundidad y que corresponden a áreas de la región de raíz de árbol que tiene una relación de ubicación relativa predeterminada con el área a la que corresponde la bandera predeterminada. Similar a la idea que subyace del aspecto de proceder, el uso del orden transversal de primero en profundidad garantiza una alta probabilidad de que banderas que ya se han codificado también comprendan banderas que corresponden a áreas vecinas al área que corresponde a la bandera predeterminada de modo que este conocimiento puede usarse para adaptar mejor el contexto a usar para la bandera predeterminada.
Las banderas que pueden usarse para configurar el contexto para una bandera predeterminada pueden ser las correspondientes a áreas que se encuentran en la parte superior de y/o a la izquierda del área a la que corresponde la bandera predeterminada. Además, las banderas usadas para seleccionar el contexto pueden restringirse a banderas que pertenecen al mismo nivel de jerarquía que el nodo con el que se asocia la bandera predeterminada.
De acuerdo con una realización, la señalización codificada comprende una indicación de un mayor nivel de jerarquía y una secuencia de banderas asociada con nodos de la estructura de múltiples árboles desigual al mayor nivel de jerarquía, especificando cada bandera si el nodo asociado es un nodo intermedio o nodo hijo, y tiene lugar una decodificación secuencialmente, en un orden transversal de primero en profundidad o primero en amplitud, de la secuencia de banderas a partir del flujo de datos, con salto de nodos del mayor nivel de jerarquía y automáticamente designando los mismos nodos hoja, reduciendo de este modo la tasa de codificación.
De acuerdo con una realización adicional, la señalización codificada de la estructura de múltiples árboles puede comprender la indicación del mayor nivel de jerarquía. Mediante esta medida, es posible restringir la existencia de banderas a niveles de jerarquía distintos del mayor nivel de jerarquía ya que se excluye de todos modos un particionamiento adicional de bloques del mayor nivel de jerarquía.
En caso de que la subdivisión de múltiples árboles espacial sea parte de una subdivisión secundaria de nodos hoja y regiones de raíz de árbol no particionadas de una subdivisión de múltiples árboles primaria, el contexto usado para codificar las banderas de la subdivisión secundaria puede seleccionarse de tal forma que el contexto es el mismo para las banderas asociadas con áreas del mismo tamaño.
De acuerdo con realizaciones adicionales, una unión o agrupamiento favorable de regiones simplemente conectadas en la que la matriz de muestras de información se subdivide, se codifica con una cantidad de datos reducida. Para este fin, para las regiones simplemente conectadas, se define una relación de ubicación relativa predeterminada que habilita una identificación, para una región simplemente conectada predeterminada, de regiones simplemente conectadas dentro de la pluralidad de regiones simplemente conectadas que tienen la relación de ubicación relativa predeterminada con la región simplemente conectada predeterminada. En concreto, si el número es cero, un indicador de unión para la región simplemente conectada predeterminada puede estar ausente dentro del flujo de datos. Además, si el número de regiones simplemente conectadas que tienen la relación de ubicación relativa predeterminada con la región simplemente conectada predeterminada es uno, los parámetros de codificación de la región simplemente conectada pueden adoptarse o pueden usarse para una predicción para los parámetros de codificación para la región simplemente conectada predeterminada sin la necesidad de ningún elemento de sintaxis adicional. De otra manera, es decir, si el número de regiones simplemente conectadas que tienen la relación de ubicación relativa predeterminada con las regiones simplemente conectadas predeterminadas es mayor de uno, puede suprimirse la introducción de un elemento de sintaxis adicional incluso si los parámetros de codificación asociados con estas regiones simplemente conectadas identificadas son idénticos entre sí.
De acuerdo con una realización, si los parámetros de codificación de las regiones simplemente conectadas vecinas no son iguales entre sí, un identificador de vecinos de referencia puede identificar un subconjunto apropiado del número de regiones simplemente conectadas que tienen la relación de ubicación relativa predeterminada con la región simplemente conectada predeterminada y este subconjunto apropiado se usa cuando se adoptan los parámetros de codificación o predicen los parámetros de codificación de la región simplemente conectada predeterminada.
De acuerdo con incluso realizaciones adicionales, una subdivisión espacial de un área de muestras que representa un muestreado espacial de la señal de información bidimensional en una pluralidad de regiones simplemente conectadas de diferentes tamaños mediante el particionamiento múltiple de forma repetitiva se realiza dependiendo de un primer subconjunto de elementos de sintaxis contenidos en el flujo de datos, seguido por una combinación de regiones simplemente conectadas espacialmente vecinas que dependen de un segundo subconjunto de elementos de sintaxis dentro del flujo de datos que se separa del primer subconjunto, para obtener una subdivisión intermedia de la matriz de muestras en conjuntos separados de regiones simplemente conectadas, cuya unión es la pluralidad de regiones simplemente conectadas. La subdivisión intermedia se usa cuando se reconstruye la matriz de muestras a partir del flujo de datos. Esto habilita la conversión de la optimización con respecto a la subdivisión menos crítica debido al hecho de que una subdivisión demasiado fina puede compensarse mediante la unión posterior. Además, la combinación de la subdivisión y la unión habilita conseguir subdivisiones intermedias que no sería posible por medio de únicamente particionamiento múltiple repetitivo de modo que la concatenación de la subdivisión y la unión mediante el uso de conjuntos separados de elementos de sintaxis habilita una mejor adaptación de la subdivisión efectiva o intermedia al contenido real de la señal de información bidimensional. En comparación con las ventajas, la sobrecarga adicional resultante del subconjunto adicional de elementos de sintaxis para indicar los detalles de unión es insignificante.
Se describen realizaciones preferidas de la presente invención a continuación con respecto a las siguientes figuras, entre las que
La Figura 1 muestra un diagrama de bloques de un codificador que puede implementarse para formar una realización de la presente solicitud como se describe a continuación;
La Figura 2 muestra un diagrama de bloques de un decodificador que puede implementarse para formar una realización de la presente solicitud como se describe a continuación;
Las Figuras 3a-c muestran esquemáticamente un ejemplo ilustrativo para una subdivisión de árbol cuaternario, en la que la Figura 3a muestra un primer nivel de jerarquía, la Figura 3b muestra un segundo nivel de jerarquía y la Figura 3c muestra un tercer nivel de jerarquía; La Figura 4 muestra esquemáticamente una estructura de árbol para la subdivisión de árbol cuaternario ilustrativa de las Figuras 3a a 3c;
Las Figuras 5a,b ilustran esquemáticamente la subdivisión de árbol cuaternario 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 o secuencias binarias de banderas que representan la estructura de árbol de la Figura 4 y la subdivisión de árbol cuaternario de la Figura 3a a 3c, respectivamente;
La Figura 7 muestra un diagrama de flujo que muestra ejemplos para etapas realizadas por un extractor de flujo de datos;
La Figura 8 muestra un diagrama de flujo que ilustra la funcionalidad de un extractor de flujo de datos de acuerdo con otro ejemplo;
Las Figuras 9a,b muestras diagramas esquemáticos de subdivisiones cuaternarias ilustrativas con bloques candidatos vecinos para un bloque predeterminado que se resalta;
La Figura 10 muestra un diagrama de flujo de una funcionalidad de un extractor de flujo de datos de acuerdo con una realización de comparación;
La Figura 11 muestra esquemáticamente una composición de una instantánea de planos y grupos de planos e ilustra una codificación usando adaptación/predicción entre planos de acuerdo con una realización;
La Figura 12a y 12b esquemáticamente ilustran una estructura de subárbol y la correspondiente subdivisión para ilustrar el esquema de herencia de acuerdo con una realización de comparación;
La Figura 12c y 12d ilustran esquemáticamente una estructura de subárbol para ilustrar el esquema de herencia con adopción y predicción, respectivamente, de acuerdo con realizaciones de comparación; La Figura 13 muestra un diagrama de flujo que muestra las etapas realizadas por un codificador que realiza un esquema de herencia de acuerdo con una realización de comparación;
Las Figuras 14a y muestran una subdivisión primaria y una subdivisión subordinada para ilustrar una 14b posibilidad de implementar un esquema de herencia en conexión con inter predicción de acuerdo con una realización de comparación;
La Figura 15 muestra un diagrama de bloques que ilustra un proceso de decodificación en conexión con el esquema de herencia de acuerdo con una realización de comparación;
La Figura 16 muestra un diagrama esquemático que ilustra el orden de exploración entre subregiones de una subdivisión de múltiples árboles de acuerdo con una realización de comparación, sometiéndose las subregiones a una intra predicción;
La Figura 17 muestra un diagrama de bloques de un decodificador de acuerdo con una realización de comparación;
La Figura 18a-c muestra un diagrama esquemático que ilustra diferentes posibilidades de subdivisiones. En la siguiente descripción de las figuras, elementos que se producen en varias de estas figuras se indican mediante números de referencia comunes y se evita una explicación repetida de estos elementos. En su lugar, explicaciones con respecto a un elemento presentado dentro de una figura también se aplicará a otras figuras en las que se produce el respectivo elemento siempre que la explicación presentada con estas otras figuras indique desviaciones de la misma.
Además, la siguiente descripción comienza con ejemplos de un codificador y decodificador que se explican con respecto a las Figuras 1 a 11. La descripción proporcionada con respecto a estas figuras combina muchos aspectos de la presente solicitud que, sin embargo, también sería ventajosa si se implementan individualmente dentro de un esquema de codificación y, por consiguiente, con respecto a las figuras posteriores, se analiza brevemente cómo pueden explotarse individualmente los aspectos recién mencionados con cada una de estas realizaciones que representa una abstracción de las Figuras 1 y 11 es un sentido diferente.
La Figura 1 muestra un codificador. El codificador 10 de la Figura 1 comprende un predictor 12, un precodificador residual 14, un reconstructor residual 16, un insertador de flujo de datos 18 y un divisor de bloques 20. El codificador 10 es para codificar una señal de información espaciadamente muestreada temporal en un flujo de datos 22. La señal de información espaciadamente muestreada temporal puede ser, por ejemplo, un video, es decir, una secuencia de instantáneas. Cada instantánea representa una matriz de muestras de imágenes. Otros ejemplos de señales de información espacialmente temporales comprenden, por ejemplo, imágenes de profundidad capturadas por, por ejemplo, cámaras de tiempo de luz. Además, se ha de observar que una señal de información espaciadamente muestreada puede comprender más de una matriz por fotograma o indicación de tiempo tal como en el caso de un video a color que comprende, por ejemplo, una matriz de muestras de luminancia junto con dos matrices de muestras de crominancia por fotograma. También puede ser posible que la tasa de muestreo temporal para los diferentes componentes de la señal de información, es decir, luminancia y crominancia puede ser diferente. Lo mismo se aplica a la resolución espacial. Un video también puede acompañarse por información espaciadamente muestreada adicional tal como información de profundidad o transparencia. La siguiente descripción, sin embargo, se centrará primero en el procesamiento de una de estas matrices en aras de un mejor entendimiento de las principales cuestiones de la presente solicitud volviendo a continuación al manejo de más de un plano.
El codificador 10 de la Figura 1 se configura para crear el flujo de datos 22 de tal forma que los elementos de sintaxis del flujo de datos 22 describe las instantáneas en una granularidad que se encuentra entre instantáneas completas y muestras de imágenes individuales. Para este fin, el divisor 20 se configura para subdividir cada instantánea 24 en regiones simplemente conectadas de diferentes tamaños 26. A continuación, estas regiones se llamarán simplemente bloques o subregiones 26.
Como se describirá en más detalle a continuación, el divisor 20 usa una subdivisión de múltiples árboles para subdividir la instantánea 24 en los bloques 26 de diferentes tamaños. Para ser incluso más precisos, los ejemplos específicos y realizaciones descritas a continuación con respecto a las Figuras 1 a 11 usan principalmente una subdivisión de árbol cuaternario. Como también se explicará en más detalle a continuación, el divisor 20 puede, internamente, comprender una concatenación de un subdivisor 28 para subdividir las instantáneas 24 en los bloques 26 recién mencionados seguido por un fusionador 30 que habilita la combinación de grupos de estos bloques 26 para obtener una subdivisión o granularidad efectiva que se encuentra entre la no subdivisión de las instantáneas 24 y la subdivisión definida por el subdivisor 28.
Como se ilustra mediante líneas discontinuas en la Figura 1, el predictor 12, el precodificador residual 14, el reconstructor residual 16 y el insertador de flujo de datos 18 operan en subdivisiones de instantáneas definidas por el divisor 20. Por ejemplo, como se describirá en más detalle a continuación, el predictor 12 usa una subdivisión de predicción definida por el divisor 20 para determinar para las subregiones individuales de la subdivisión de predicción en cuanto a si la respectiva subregión debería someterse a predicción intra instantánea o predicción inter instantánea con la configuración de correspondientes parámetros de predicción para la respectiva subregión de acuerdo con el modo de predicción elegido.
El precodificador residual 14, a su vez, puede usar una subdivisión residual de las instantáneas 24 para codificar la residual de la predicción de las instantáneas 24 proporcionadas por el predictor 12. A medida que el reconstructor residual 16 reconstruye la residual a partir de los elementos de sintaxis emitidos por el precodificador residual 14, el reconstructor residual 16 también opera en la recién mencionada subdivisión residual. El insertador de flujo de datos 18 puede explotar las divisiones recién mencionadas, es decir, las divisiones de predicción y residuales, para determinar órdenes de inserción y vecindades entre los elementos de sintaxis para la inserción de los elementos de sintaxis emitidos por el precodificador residual 14 y el predictor 12 en el flujo de datos 22 por medio de, por ejemplo, codificación por entropía.
Como se muestra en la Figura 1, el codificador 10 comprende una entrada 32 en la que la señal de información original entra en el codificador 10. El sustractor 34, el precodificador residual 14 y el insertador de flujo de datos 18 se conectan en serie en el orden mencionado entre la entrada 32 y la salida del insertador de flujo de datos 18 en la que se emite el flujo de datos codificados 22. El sustractor 34 y precodificador residual 14 son parte de un bucle de predicción que se cierra por el constructor residual 16, un sumador 36 y el predictor 12 que se conectan en serie en el orden mencionado entre la salida del precodificador residual 14 y la entrada inversora del sustractor 34. La salida del predictor 12 también se conecta a una entrada adicional del sumador 36. Adicionalmente, el predictor 12 comprende una entrada conectada directamente a la entrada 32 y puede comprender una entrada incluso adicional también conectada a la salida del sumador 36 a través de un filtro en bucle opcional 38. Además, el predictor 12 genera información secundaria durante operación y, por lo tanto, también se acopla una salida del predictor 12 al insertador de flujo de datos 18. De manera similar, el divisor 20 comprende una salida que se conecta a otra entrada del insertador de flujo de datos 18.
Habiendo descrito la estructura del codificador 10, a continuación se describe en más detalle el modo de operación. Como se describe anteriormente, el divisor 20 decide para cada instantánea 24 cómo subdividir la misma en subregiones 26. De acuerdo con una subdivisión de la instantánea 24 a usar para predicción, el predictor 12 decide para cada subregión que corresponde a esta subdivisión, cómo predecir la respectiva subregión. El predictor 12 emite la predicción de la subregión a la entrada inversora de sustractor 34 y a la entrada adicional del sumador 36 y emite información de predicción que refleja la forma en la que el predictor 12 obtuvo esta predicción a partir de porciones del video anteriormente codificadas, al insertador de flujo de datos 18.
En la salida del sustractor 34, la predicción residual se obtiene así en la que el precodificador residual 14 procesa esta predicción residual de acuerdo con una subdivisión residual también prescrita por el divisor 20. Como se describe en detalle adicional a continuación con respecto a las Figuras 3 a 10, la subdivisión residual de instantánea 24 usada por el precodificador residual 14 puede relacionarse con la subdivisión de predicción usada por el predictor 12 de tal forma que cada subregión de predicción se adopta como subregión residual o se subdivide adicionalmente en subregiones residuales más pequeñas. Sin embargo, también serían posibles subdivisiones de predicción y residuales totalmente independientes.
El precodificador residual 14 somete cada subregión residual a una transformación desde dominio espacial a espectral mediante una transformación bidimensional seguida por, o implicando inherentemente, una cuantificación de los coeficientes de transformación resultantes de los bloques de transformación resultantes con lo que resulta distorsión a partir del ruido de cuantificación. El insertador de flujo de datos 18 puede, por ejemplo, codificar sin pérdida elementos de sintaxis que describen los coeficientes de transformación anteriormente mencionados en el flujo de datos 22 mediante el uso de, por ejemplo, codificación por entropía. #
El reconstructor residual 16, a su vez, reconvierte, mediante el uso de una recuantificación seguida por una retransformación, los coeficientes de transformación en una señal residual en el que la señal residual se combina dentro del sumador 36 con la predicción usada por el sustractor 34 para obtener la predicción residual, obteniendo de este modo una porción o subregión reconstruida de una instantánea actual en la salida del sumador 36. El predictor 12 puede usar la subregión de instantánea reconstruida para intra predicción directamente, que es para predecir una cierta subregión de predicción mediante extrapolación desde subregiones de predicción anteriormente reconstruidas en la vecindad. Sin embargo, directamente también sería posible teóricamente una intra predicción realizada dentro del dominio espectral mediante la predicción del espectro de la subregión actual a partir de la de una vecina.
Para inter predicción, el predictor 12 puede usar instantáneas anteriormente codificadas y reconstruidas en una versión de acuerdo con la que la misma se ha filtrado por un filtro en bucle opcional 38. El filtro en bucle 38 puede, por ejemplo, comprender un filtro de desbloqueo y/o un filtro adaptativo que tiene una función de transferencia adaptada para formar ventajosamente el ruido de cuantificación mencionado anteriormente.
El predictor 12 elige los parámetros de predicción que revelan la forma de predicción de una cierta subregión de predicción mediante el uso de una comparación con las muestras originales dentro de la instantánea 24. Los parámetros de predicción pueden, como se describe en más detalle a continuación, comprender para cada subregión de predicción una indicación del modo de predicción, tal como predicción intra instantánea y predicción inter instantánea. En caso de predicción intra instantánea, los parámetros de predicción también pueden comprender una indicación de un ángulo a lo largo del cual se extienden bordes dentro de la subregión de predicción para ser intra predichos, y en caso de predicción inter instantánea, vectores de movimiento, índices de instantánea de movimiento y, finalmente, parámetros de transformación de movimiento de mayor orden y, en caso predicción de tanto intra como/o inter instantánea, información de filtro opcional para filtrar las muestras de imágenes reconstruidas sobre las cuales se predice la subregión de predicción actual.
Como se describirá en más detalle a continuación, las subdivisiones anteriormente mencionadas definidas por un divisor 20 sustancialmente influencian la relación tasa/distorsión máximamente alcanzable por el precodificador residual 14, el predictor 12 y el insertador de flujo de datos 18. En caso de una subdivisión demasiado fina, los parámetros de predicción 40 emitidos por el predictor 12 para insertarse en el flujo de datos 22 necesitan una tasa de codificación demasiado grande aunque la predicción obtenida por el predictor 12 podría ser mejor y la señal residual a codificarse por el precodificador residual 14 podría ser más pequeña de modo que la misma podría codificarse mediante menos bits. En el caso de una subdivisión demasiado gruesa, se aplica lo contrario. Además, la idea recién mencionada también se aplica a la subdivisión residual de manera similar: una transformación de una instantánea usando una granularidad más fina de los bloques de transformación individuales conduce a una menor complejidad para el cálculo de las transformaciones y una resolución espacial aumentada de la transformación resultante. Es decir, subregiones residuales más pequeñas habilitan la distribución espectral del contenido dentro de subregiones residuales individuales para ser más consistentes. Sin embargo, se reduce la resolución espectral y la relación entre coeficientes significativos y no significativos, es decir cuantificado a cero, empeora. Es decir, la granularidad de la transformación debería adaptarse al contenido de instantánea localmente. Adicionalmente, independiente del efecto positivo de una granularidad más fina, una granularidad más fina aumenta de forma regular la cantidad de información secundaria necesaria para indicar la subdivisión elegida al decodificador. Como se describirá en más detalle a continuación, puede proporcionarse al codificador 10 con la capacidad de adoptar las subdivisiones de manera muy efectiva al contenido de la señal de información a codificar y de señalizar las subdivisiones a usarse al lado de decodificación ordenando al insertador de flujo de datos 18 que inserte la información de subdivisión en el flujo de datos codificados 22. A continuación se presentan detalles.
Sin embargo, antes de definir la subdivisión del divisor 20 en más detalle, se describe un decodificador en más detalle con respecto a la Figura 2.
El decodificador de la Figura 2 se indica mediante el signo de referencia 100 y comprende un restador 102, un divisor 104, un reconstructor residual 106, un sumador 108, un predictor 110, un filtro en bucle opcional 112 y un posfiltro opcional 114. El extractor 102 recibe el flujo de datos codificados en una entrada 116 de decodificador 100 y extrae del flujo de datos codificados información de subdivisión 118, parámetros de predicción 120 y datos residuales 122 que el extractor 102 emite al divisor de instantáneas 104, predictor 110 y reconstructor residual 106, respectivamente. El reconstructor residual 106 tiene una salida conectada a una primera salida del sumador 108. La otra entrada del sumador 108 y la salida del mismo se conectan en un bucle de predicción en el que el filtro en bucle opcional 112 y el predictor 110 se conectan en serie en el orden mencionado con una trayectoria de derivación que conduce desde la salida de sumador 108 al predictor 110 directamente similar a las conexiones anteriormente mencionadas entre el sumador 36 y el predictor 12 en la Figura 1, a saber una para predicción intra instantánea y la otra para predicción inter instantánea. O bien la salida de sumador 108 o bien la salida de filtro en bucle 112 pueden conectarse a una salida 124 de decodificador 100 en la que la señal de información reconstruida se emite a un dispositivo de reproducción, por ejemplo. Un posfiltro opcional 114 puede conectarse en la trayectoria que conduce a la salida 124 para mejorar la calidad visual de la impresión visual de la señal reconstruida en la salida 124.
Hablando en general, el reconstructor residual 106, el sumador 108 y el predictor 110 actúan como elementos 16, 36 y 12 en la Figura 1. En otras palabras, los mismos emulan la operación de los elementos anteriormente mencionados de la Figura 1. Para este fin, el reconstructor residual 106 y el predictor 110 se controlan por los parámetros de predicción 120 y la subdivisión prescrita por el divisor de instantáneas 104 de acuerdo con una información de subdivisión 118 desde el extractor 102, respectivamente, para predecir la subregiones de predicción de la misma forma que hizo el predictor 12 o decidió hacer, y para retransformar los coeficientes de transformación recibidos en la misma granularidad que lo hizo el precodificador residual 14. El divisor de instantáneas 104, a su vez, reconstruye las subdivisiones elegidas por el divisor 20 de la Figura 1 de una forma sincronizada confiando en la información de subdivisión 118. El extractor puede usar, a su vez, la información de subdivisión para controlar la extracción de datos tal como en términos de selección de contexto, determinación de vecindad, estimación de probabilidad, análisis de sintaxis del flujo de datos etc.
Pueden realizarse varias derivaciones. Algunas se mencionan dentro de la siguiente descripción detallada con respecto a la subdivisión realizada por el subdivisor 28 y la unión realizada por el fusionador 30 y otros se describen con respecto a las Figuras 12 a 16 posteriores. En ausencia de cualquier obstáculo, todas estas desviaciones pueden aplicarse individualmente o en subconjuntos a la descripción anteriormente 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 subdivisión residual por instantánea únicamente. En su lugar, también pueden determinar una subdivisión de filtro para el filtro en bucle opcional 38 y 112, respectivamente, o bien independiente de o dependiendo de las otras subdivisiones para codificación de predicción o residual, respectivamente. Además, puede no realizarse una determinación de la subdivisión o subdivisiones por estos elementos en una base de fotograma por fotograma. En su lugar, una subdivisión o subdivisiones determinadas para un cierto fotograma puede reutilizarse o adoptarse para un cierto número de siguientes fotogramas con meramente a continuación transfiriendo una nueva subdivisión.
En la provisión de detalles adicional con respecto a la división de las instantáneas en subregiones, la siguiente descripción se centra en primer lugar en la parte de subdivisión para la que los subdivisores 28 y 104a asumen responsabilidad. A continuación se describe el proceso de unión para el que el fusionador 30 y el fusionador 104b asumen responsabilidad. Finalmente, se describe adaptación/predicción entre planos.
La forma que los subdivisores 28 y 104a dividen las instantáneas es de tal forma que una instantánea es divisible en un número de bloques de posiblemente diferentes tamaños para el propósito de codificación predictiva y residual de los datos de imagen o de video. Como se ha mencionado anteriormente, una instantánea 24 puede estar disponible como una o más matrices de valores de muestras de imágenes. En caso del espacio de color YUV/YCbCr, por ejemplo, la primera matriz puede representar el canal de luminancia mientras las otras dos matrices representan canales de crominancia. Estas matrices pueden tener dimensiones diferentes. Todas las matrices pueden agruparse en uno o más grupos de planos constando cada grupo de planos de uno o más planos consecutivos de tal forma que cada plano se contiene en uno y únicamente un grupo de planos. Para cada grupo de planos se aplica lo siguiente.
La primera matriz de un grupo de planos particular puede llamarse la matriz primaria de este grupo de planos. Las matrices posiblemente siguientes son matrices subordinadas. La división de bloques de la matriz primaria puede hacerse basándose en un enfoque de árbol cuaternario como se describe a continuación. La división de bloques de las matrices subordinadas puede derivarse basándose en la división de matriz primaria.
Como se describe a continuación, los subdivisiones 28 y 104a se configuran para dividir la matriz primaria en un número de bloques cuadráticos de igual tamaño, llamados bloques de árbol a continuación. La longitud de borde de los bloques de árbol es habitualmente una potencia de dos tal como 16, 32 o 64 cuando se usan árboles cuaternarios. En aras de la exhaustividad, sin embargo, se observa que el uso de otros tipos de árbol sería también posible tal como árboles binarios o árboles con cualquier número de hojas. Además, el número de hijos del árbol puede variarse dependiendo del nivel del árbol y dependiendo de qué señal está representando el árbol.
Además de esto, como se ha mencionado anteriormente, la matriz de muestras también puede representar otra información distinta de secuencias de video 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 para múltiples árboles. Los árboles cuaternarios son árboles que tienen exactamente cuatro hijos en cada nodo interno. Cada uno de los bloques de árbol constituye un árbol cuaternario primario junto con árboles cuaternarios secundarios en cada una de las hojas del árbol cuaternario primario. El árbol cuaternario primario determina la subdivisión de un bloque de árbol dado para predicción mientras un árbol cuaternario subordinado determina la subdivisión de un bloque de predicción dado para el propósito de codificación residual.
El nodo raíz del árbol cuaternario primario corresponde al bloque de árbol completo. Por ejemplo, la Figura 3a muestra un bloque de árbol 150. Debería recordarse que cada instantánea se divide en una cuadrícula regular de líneas y columnas de tales bloques de árbol 150 de modo que las mismas, por ejemplo, sin hueco cubren la matriz de muestras. Sin embargo, se ha de observar que para todas las subdivisiones de bloque mostradas en lo sucesivo, la subdivisión sin discontinuidades sin solapamiento no es crítica. En su lugar, bloque vecino puede solaparse entre sí siempre que ningún bloque de hojas sea una subporción apropiada de un bloque de hojas vecino.
A lo largo de la estructura de árbol cuaternario para el bloque de árbol 150, cada nodo puede dividirse adicionalmente en cuatro nodos hijo, que en el caso del árbol cuaternario primario significa que cada bloque de árbol 150 puede dividirse en cuatro subbloques con la mitad de la anchura y la mitad de la altura del bloque de á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 adicionalmente en cuatro subbloques más pequeños con la mitad de la anchura y la mitad de la altura de los subbloques originales. En la Figura 3d esto se muestra ilustrativo para el subbloque 152c que se subdivide en cuatro subbloques pequeños 154a a 154d. En la medida que las Figuras 3a a 3c muestran ilustrativamente cómo un bloque de árbol 150 se divide primero en sus cuatro subbloques 152a a 152d, a continuación el subbloque inferior izquierdo 152c se divide adicionalmente en cuatro subbloques pequeños 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 de una octava parte de la anchura y altura del bloque de árbol 150 original, indicándose estos bloques incluso más pequeños con 156a a 156d.
La Figura 4 muestra la estructura de árbol subyacente para la división basada en árbol cuaternario ilustrativa como se muestra en las Figuras 3a-3d. Los números además de los nodos de árbol son los valores de una así llamada bandera de subdivisión, que se describirán en mayor detalla más adelante cuando se explique la señalización de la estructura de árbol cuaternario. El nodo raíz del árbol cuaternario se representa en la parte superior de la figura (etiquetado "Nivel 0"). Las cuatro ramas en el nivel 1 de este nodo raíz corresponden a los cuatro subbloques como se muestra en la Figura 3a. Como el tercero de estos subbloques se subdivide adicionalmente en sus cuatro subbloques en la Figura 3b, el tercer nodo en el nivel 1 en la Figura 4 también tiene cuatro ramas.
De nuevo, correspondiendo a la subdivisión del segundo (superior derecha) nodo hijo en la Figura 3c, existen cuatro subramas conectadas con el segundo nodo en el nivel 2 de la jerarquía de árbol cuaternario. Los nodos en el nivel 3 no se subdidiven más.
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, intra o inter, modo de predicción, parámetros de movimiento, etc.). A continuación, estos bloques se llaman bloques de predicción. En particular, estos bloques hoja son los bloques mostrados en la Figura 3c. Haciendo referencia de nuevo brevemente a la descripción de las Figuras 1 y 2, el divisor 20 o subdivisor 28 determina la subdivisión de árbol cuaternario como se acaba de explicar. El subdivisor 152a-d realiza la decisión de que de los bloques de árbol 150, subbloques 152a-d, subbloques pequeños 154a-d y así sucesivamente, para subdividir o particionar además, con el objetivo de encontrar una compensación óptima entre una subdivisión de predicción demasiado fina y una subdivisión de predicción demasiado gruesa como ya se ha indicado anteriormente. El predictor 12, a su vez, usa la subdivisión de predicción prescrita para determinar los parámetros de predicción mencionados anteriormente en una granularidad que depende 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 para el propósito de codificación residual. Para cada bloque de predicción, es decir, para cada nodo hoja del árbol cuaternario primario, se determina la correspondiente subdivisión mediante uno o más árboles cuaternarios subordinados para codificación residual. Por ejemplo, cuando se permite un tamaño de bloque residual máximo de 16x16, un bloque de predicción de 32x32 dado podría dividirse en cuatro bloques de 16x16, cada uno de los cuales se determina mediante un árbol cuaternario subordinado para codificación residual. Cada bloque de 16x16 en este ejemplo corresponde al nodo raíz de un árbol cuaternario subordinado.
Como se acaba de describir para el caso de la subdivisión de un bloque de árbol dado en bloques de predicción, cada bloque de predicción puede dividirse en un número de bloques residuales mediante el uso de descomposición o descomposiciones de árbol cuaternario subordinado. 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 transformación, coeficientes de transformación, etc.) por el precodificador residual 14 cuyos parámetros de codificación residual controlan, a su vez, los reconstructores residuales 16 y 106, respectivamente.
En otras palabras, el subdivisor 28 puede configurarse para determinar para cada instantánea o para cada grupo de instantáneas una subdivisión de predicción y una subdivisión residual subordinada dividiendo en primer lugar la instantánea en una disposición regular de bloques de árbol 150, particionando de forma repetitiva un subconjunto de estos bloques de árbol mediante subdivisión de árbol cuaternario para obtener la subdivisión de predicción en bloques de predicción - que pueden ser bloques de árbol si no tuvo lugar particionamiento en el respectivo bloque de árbol, o los bloques hoja de la subdivisión de árbol cuaternario - a continuación con subdivisión adicional de un subconjunto de estos bloques de predicción de una manera similar, dividiendo en primer lugar, si un bloque de predicción es mayor que el tamaño máximo de la subdivisión residual subordinada, el respectivo bloque de predicción en una disposición regular de subbloques de árbol a continuación con subdivisión de un subconjunto de estos subbloques de árbol de acuerdo con el procedimiento de subdivisión de árbol cuaternario para obtener los bloques residuales - que pueden ser bloques de predicción si no tuvo lugar división en subbloques de árbol en el respectivo bloque de predicción, subbloques de árbol si no tuvo lugar división en regiones incluso más pequeñas en el respectivo subbloque de árbol, o los bloques hoja de la subdivisión residual de árbol cuaternario.
Como se ha descrito brevemente anteriormente, las subdivisiones elegidas para a matriz primaria pueden correlacionarse con matrices subordinadas. Esto es fácil 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 difieren de la dimensión de la matriz primaria. Hablando en general, la correlación de la subdivisión de matriz primaria son las matrices subordinadas en caso de diferentes dimensiones podría hacerse correlacionando espacialmente, es decir, correlacionando espacialmente los bordes de bloque de la subdivisión de matriz primaria con las matrices subordinadas. En particular, para cada matriz subordinada, puede existir un factor de cambio de escala en dirección horizontal y vertical que determina la relación de la dimensión de la matriz primaria con la matriz subordinada. La división de la matriz subordinada en subbloques para predicción y codificación residual puede determinarse por el árbol cuaternario primario y el árbol o árboles cuaternarios subordinados de cada uno de los bloques de árbol colocados de la matriz primaria, respectivamente, escalándose los bloques de árboles resultantes de la matriz subordinada por su factor de escalado relativo. En caso de que el factor de cambio de escalas en direcciones horizontal y vertical difieren (por ejemplo, como en submuestreado de crominancia 4:2:2), los bloques de predicción y residuales resultantes de la matriz subordinada ya no serían cuadráticos. En este caso, es posible o bien predeterminar o seleccionar adaptativamente (o bien para toda la secuencia, una instantánea de la secuencia o bien para cada bloque de predicción o residual individual) si el bloque residual no cuadrático se divide en bloques cuadráticos. En el primer caso, por ejemplo, codificador y decodificador podrían acordar en una subdivisión en bloques cuadráticos cada vez que un bloque correlacionado no es cuadrático. En el segundo caso, el subdivisor 28 podría señalizar la selección a través del insertador de flujo de datos 18 y flujo de datos 22 al subdivisor 104a. Por ejemplo, en caso de submuestreo de crominancia 4:2:2, en el que las matrices subordinadas tienen la mitad de la anchura pero la misma altura que la matriz primaria, los bloques residuales serían el doble de altos que de anchos. Dividiendo verticalmente este bloque, se obtendrían dos bloques cuadráticos de nuevo.
Como se ha mencionado anteriormente, el subdivisor 28 o el divisor 20, respectivamente, señaliza la división basada en árbol cuaternario a través del flujo de datos 22 al subdivisor 104a. Para este fin, el subdivisor 28 informa al insertador de flujo de datos 18 acerca de las subdivisiones elegidas para las instantáneas 24. El insertador de flujo de datos, a su vez, transmite la estructura del árbol cuaternario primario y secundario, y, por lo tanto, la división de la matriz de instantáneas en bloques de tamaño variable para predicción o codificación residual dentro del flujo de datos o flujo de bits 22, respectivamente, al lado de decodificación.
Los tamaños de bloque mínimo y máximo admisibles se transmiten como información secundaria y pueden cambiar de instantánea a instantánea. O los tamaños de bloque mínimo y máximo admisibles pueden fijarse en el codificador y decodificador. Estos tamaños de bloque mínimo y máximo pueden ser diferentes para bloques de predicción y residuales. Para la señalización de la estructura de árbol cuaternario, el árbol cuaternario tiene que atravesarse 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 del tamaño).
La señalización dentro de una instantánea se hace bloque de árbol por bloque de árbol en un orden de exploración por filas tal como de izquierda a derecha y de arriba abajo se ilustra en la Figura 5a en 140. Este orden de exploración también podría ser diferente, como desde la parte inferior derecha a la parte superior izquierda o en un sentido de tablero de ajedrez. Cada bloque de árbol y, por lo tanto, cada árbol cuaternario puede atravesarse en orden de primero en profundidad para señalizar la información de subdivisión.
No únicamente la información de subdivisión, es decir, la estructura del árbol, sino también los datos de predicción, etc., es decir, la sobrecarga asociada con los nodos hoja del árbol, puede transmitirse/procesarse en orden de primero en profundidad. Esto se hace porque transversal primero en profundidad tiene grandes ventajas sobre orden de primero en amplitud. En la Figura 5b, una estructura de árbol cuaternario se presenta con los nodos hoja etiquetados como a,b,..., j. La Figura 5a muestra la división de bloque resultante. Si los bloques/nodos hoja se atraviesan en orden de primero en amplitud, obtenemos el siguiente orden: abjchidefg. En orden de primero en profundidad, sin embargo, el orden es abc...ij. Como puede observarse a partir de la Figura 5a, en orden de primero en profundidad, el bloque vecino izquierdo y el bloque vecino superior siempre se transmiten/procesan antes que el bloque actual. Por lo tanto, predicción de vector de movimiento y modelado de contexto pueden usar siempre los parámetros especificados para el bloque vecino izquierdo y superior para conseguir un rendimiento de codificación mejorado. Para orden de primero en amplitud, este no sería el caso, ya que el bloque j se transmite antes que los bloques e, g y i, por ejemplo.
En consecuencia, la señalización para cada bloque de árbol se hace de forma repetitiva a lo largo de la estructura de árbol cuaternario del árbol cuaternario primario de tal forma que para cada nodo, se transmite una bandera, especificando si el bloque correspondiente se divide en cuatro subbloques. Si esta bandera tiene el valor "1" (para "verdadero"), entonces este proceso de señalización se repite de forma repetitiva para los cuatro nodos hijo, es decir, subbloques en orden de exploración por filas (superior izquierda, superior derecha, inferior izquierda, inferior derecha) hasta que se alcanza el nodo hoja del árbol cuaternario primario. Obsérvese que un nodo hoja se caracteriza por tener una bandera de subdivisión con un valor de "0". Para el caso de que un nodo reside en el nivel de jerarquía más bajo del árbol cuaternario primario y, por lo tanto, corresponde al tamaño de bloque de predicción admisible más pequeño, no tiene que transmitirse ninguna bandera de subdivisión. Para el ejemplo en la Figura 3ac, se transmitiría primero "1", como se muestra en 190 en la Figura 6a, especificando que el bloque de árbol 150 se divide en sus cuatro subbloques 152a-d. A continuación, se codificaría de forma repetitiva la información de subdivisión de todos los cuatro subbloques 152a-d en orden de exploración por filas 200. Para los primeros dos subbloques 152a,b se transmitiría "0", especificando que no se subdivide (véase 202 en la Figura 6a). Para el tercer subbloque 152c (inferior izquierda), se transmitiría "1", especificando que este bloque se subdivide (véase 204 en la Figura 6a). Ahora, de acuerdo con el enfoque de repetición, los cuatro subbloques 154a-d de este bloque se procesarían. En este documento, se transmitiría "0" para el primero (206) y "1" para el segundo (superior derecha) subbloque (208). Ahora, los cuatro bloques del tamaño de bloque más pequeño 156a-d en la Figura 3c se procesaría. En caso de que alcancemos ya el tamaño de bloque más pequeño permitido en este ejemplo, no tendrían que transmitirse más datos, ya que no es posible una subdivisión adicional. De otra manera "0000", que especifica que ninguno de estos bloques se divide adicionalmente, se transmitiría como se indica en la Figura 6a en 210. Después de esto, se transmitiría "00" para los dos bloques inferiores en la Figura 3b (véase 212 en la Figura 6a), y finalmente "0" para el bloque inferior derecho en 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 árbol cuaternario. El sombreado 216 representa nivel 0 (que corresponde a un tamaño de bloque igual al tamaño de bloque de árbol original), el sombreado 218 representa nivel 1 (que corresponde a un tamaño de bloque igual a la mitad del tamaño de bloque de árbol original), el sombreado 220 representa nivel 2 (que corresponde a un tamaño de bloque igual a un cuarto del tamaño de bloque de árbol original), y el sombreado 222 representa nivel 3 (que corresponde a un tamaño de bloque igual a un octavo del tamaño de bloque de árbol original). Todas las banderas de subdivisión del mismo nivel de jerarquía (que corresponden al mismo tamaño de bloque y el mismo color en la representación de cadena de ejemplo) puede codificarse por entropía usando uno y el mismo modelo de probabilidad por el insertador 18, por ejemplo.
Obsérvese que para el caso de una transversal primero en amplitud, la información de subdivisión se transmitiría en un orden diferente, mostrado en la Figura 6b.
Similar a la subdivisión de cada bloque de árbol para el propósito de predicción, la división de cada bloque de predicción resultante en bloques residuales tiene que transmitirse en el flujo de bits. También, puede existir un tamaño de bloque máximo para codificación residual que se transmite como información secundaria y que puede cambiar de instantánea a instantánea. O el tamaño de bloque máximo y mínimo para codificación residual puede fijarse en el codificador y decodificador. En cada nodo hoja del árbol cuaternario primario, como los mostrados en la Figura 3c, el correspondiente bloque de predicción puede dividirse en bloques residuales del tamaño máximo admisible. Estos bloques son los nodos raíz constituyentes de la estructura de árbol cuaternario subordinada para codificación residual. Por ejemplo, si el tamaño de bloque residual máximo para la instantánea es 64x64 y el bloque de predicción es de tamaño 32x32, entonces todo el bloque de predicción correspondería a un nodo raíz de árbol cuaternario (residual) subordinado de tamaño 32x32. Por otra parte, si el tamaño de bloque residual máximo para la instantánea es 16*16, entonces el bloque de predicción de 32x32 constaría de cuatro nodos raíz de árbol cuaternario residuales, cada uno de tamaño 16*16. Dentro de cada bloque de predicción, la señalización de la estructura de árbol cuaternario subordinada se hace nodo raíz por nodo raíz en orden de exploración por filas (izquierda a derecha, arriba a abajo). Como en el caso de la estructura de árbol cuaternario (de predicción) primaria, para cada nodo se codifica una bandera, especificando si este nodo particular se divide en sus cuatro nodos hijo. A continuación, si esta bandera tiene un valor de "1", este procedimiento se repite de forma repetitiva para los cuatro correspondientes nodos hijo y sus correspondientes subbloques en orden de exploración por filas (superior izquierda, superior derecha, inferior izquierda, inferior derecha) se alcanza hasta que un nodo hoja del árbol cuaternario subordinado. Como en el caso del árbol cuaternario primario, no se requiere señalización para nodos en el nivel de jerarquía 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, que no puede dividirse más.
Para codificación por entropía, pueden codificarse banderas de subdivisión de bloque residual que pertenecen a bloques residuales del mismo tamaño de bloque usando uno y el mismo modelo de probabilidad.
Por lo tanto, de acuerdo con el ejemplo presentado anteriormente con respecto a las Figuras 3a a 6a, el subdivisor 28 definió una subdivisión primaria para predicción propósitos y una subdivisión subordinada de los bloques de diferentes tamaños de la subdivisión primaria para codificación residual propósitos. El insertador de flujo de datos 18 codificó la subdivisión primaria mediante señalización para cada bloque de árbol en un orden de exploración en zigzag, una secuencia de bits construida de acuerdo con la Figura 6a junto con la codificación del tamaño de bloque primario máximo y el máximo nivel de jerarquía de la subdivisión primaria. Para cada bloque de predicción así definido, se han incluido parámetros de predicción asociados en el flujo de datos. Adicionalmente, tuvo lugar una codificación de similar información, es decir, máximo tamaño, máximo nivel de jerarquía y secuencia de bits de acuerdo con la Figura 6a, para cada bloque de predicción cuyo el tamaño era igual a o más pequeño que el tamaño máximo para la subdivisión residual y para cada residual bloque de raíz de árbol en el que se han dividido previamente bloques de predicción cuyo el tamaño excedió el tamaño máximo definido para bloques residuales. Para cada bloque residual así definido, se insertan datos residuales en el flujo de datos.
El extractor 102 extrae las respectivas secuencias de bits 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 de esto, el insertador de flujo de datos 18 y el extractor 102 pueden usar el orden anteriormente mencionado entre los bloques de bloques de predicción y residuales para transmitir elementos de sintaxis adicionales tal como datos residuales emitidos por el precodificador residual 14 y parámetros de predicción emitidos por el predictor 12. Usar este orden tiene ventajas en que contextos adecuados para codificar los elementos de sintaxis individuales para un cierto bloque pueden elegirse explotando elementos de sintaxis ya codificados/decodificados de bloques vecinos. Además, de manera similar, el precodificador residual 14 y el predictor 12 así como el reconstructor residual 106 y el precodificador 110 pueden procesar los bloques de predicción y residuales individuales en el orden descrito anteriormente.
La Figura 7 muestra un diagrama de flujo de etapas, que puede realizarse por el extractor 102 para extraer la información de subdivisión del flujo de datos 22 cuando se codifica de la forma como se ha señalado anteriormente. En una primera etapa, el extractor 102 divide la instantánea 24 en bloques de raíz de árbol 150. Esta etapa se indica como la etapa 300 en la Figura 7. La etapa 300 puede implicar al extractor 102 extrayendo el tamaño de bloque de predicción máximo del flujo de datos 22. Adicionalmente o como alternativa, la etapa 300 puede implicar al extractor 102 extrayendo el máximo nivel de jerarquía del flujo de datos 22.
A continuación, en una etapa 302, el extractor 102 decodifica una bandera o bit del flujo de datos. La primera vez que se realiza la etapa 302, el extractor 102 conoce que la respectiva bandera es la primera bandera de la secuencia de bits que pertenece al primer bloque de raíz de árbol 150 en el orden de exploración de bloque de raíz de árbol 140. Como esta bandera es una bandera de nivel de jerarquía 0, el extractor 102 puede usar un modelado de contexto asociado con ese nivel de jerarquía 0 en la etapa 302 para determinar un contexto. Cada contexto puede tener una respectiva estimación de probabilidad para decodificación por entropía la bandera asociada con la misma. La estimación de probabilidad de los contextos puede adaptarse individualmente por contexto a la respectiva estadística de símbolo de contexto. Por ejemplo, para determinar un contexto apropiado para decodificar la bandera de nivel de jerarquía 0 en la etapa 302, el extractor 102 puede seleccionar un contexto de un conjunto de contextos, que se asocia con ese nivel de jerarquía 0 dependiendo de la bandera de nivel de jerarquía 0 de bloques de árbol vecinos, o incluso además, dependiendo de información contenida dentro de las cadenas de bits que definen la subdivisión de árbol cuaternario de bloques de árbol vecinos del bloque de árbol procesado en la actualidad tal como el bloque de árbol vecino superior e izquierdo.
En la siguiente etapa, a saber, la etapa 304, el extractor 102 comprueba en cuanto a si la bandera recientemente decodificada sugiere un particionamiento. Si este es el caso, el extractor 102 particiona el bloque actual - en la actualidad un bloque de árbol - o indica este particionamiento al subdivisor 104a en la etapa 306 y comprueba, en la etapa 308, en cuanto a si el nivel de jerarquía actual era igual al máximo nivel de jerarquía menos uno. Por ejemplo, el extractor 102 podría, por ejemplo, también tener el máximo nivel de jerarquía extraído del flujo de datos en la etapa 300. Si el nivel de jerarquía actual no es igual al máximo nivel de jerarquía menos uno, el extractor 102 aumenta el nivel de jerarquía actual por 1 en la etapa 310 y retrocede a la etapa 302 para decodificar la siguiente bandera del flujo de datos. Esta vez, las banderas a decodificar en la etapa 302 pertenecen a otro nivel de jerarquía y, por lo tanto, el extractor 102 puede seleccionar uno de un conjunto diferente de contextos, perteneciendo el conjunto al nivel de jerarquía actual. La selección puede basarse también en secuencias de bits de subdivisión de acuerdo con la Figura 6a de bloques de árbol vecinos que ya se han decodificado.
Si se decodifica una bandera, y la comprobación en la etapa 304 revela que esta bandera no sugiere un particionamiento del bloque actual, el extractor 102 continúa con la etapa 312 para comprobar en cuanto a si el nivel de jerarquía actual es 0. Si este es el caso, el extractor 102 continúa procesando con respecto al siguiente bloque de raíz de árbol en el orden de exploración 140 en la etapa 314 o detiene el procesamiento de extracción de la información de subdivisión si no queda ningún bloque de raíz de árbol a procesar.
Se ha de observar que la descripción de la Figura 7 se centra en la decodificación de las banderas de indicación de subdivisión de la subdivisión de predicción únicamente, de modo que, de hecho, la etapa 314 podría implicar la decodificación de contenedores adicionales o elementos de sintaxis que pertenecen, por ejemplo al bloque de árbol actual. En cualquier caso, si existe un bloque de raíz de árbol adicional o siguiente, el extractor 102 continúa desde la etapa 314 a la etapa 302 para decodificar la siguiente bandera de la información de subdivisión, en concreto, la primera bandera de la secuencia de banderas con respecto al nuevo bloque de raíz de árbol.
Si, en la etapa 312, el nivel de jerarquía resulta no ser igual a 0, la operación continúa en la etapa 316 con una comprobación en cuanto a si existen nodos hijo adicionales que pertenecen al nodo actual. Es decir, cuando extractor 102 realiza la comprobación en la etapa 316, ya se ha comprobado en la etapa 312 que el nivel de jerarquía actual es un nivel de jerarquía distinto de nivel de jerarquía 0. Esto, a su vez, significa que existe un nodo padre, que pertenece a un bloque de raíz de árbol 150 o 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 la bandera recientemente decodificada, 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 ilustrativamente en la Figura 3a para nivel de jerarquía 0 con el signo de referencia 200. Por lo tanto, en la etapa 316, el extractor 102 comprueba en cuanto a si todos estos cuatro nodos hijo ya se han visitado dentro del proceso de la Figura 7. Si este no es el caso, es decir si existen nodos hijo adicionales con el nodo padre actual, el proceso de la Figura 7 continúa con la etapa 318, en la que se visita el siguiente nodo hijo de acuerdo con un orden de exploración en zigzag 200 dentro del nivel de jerarquía actual, de modo que su correspondiente subbloque ahora representa el bloque actual de proceso 7 y, posteriormente, se decodifica una bandera en la etapa 302 a partir del flujo de datos con respecto al bloque actual o nodo actual. Si, sin embargo, no existen nodos hijo adicionales para el nodo padre actual en la etapa 316, el proceso de la Figura 7 continúa a la etapa 320 en la que el nivel de jerarquía actual se disminuye por 1 en el que después de que el proceso continúa con la etapa 312.
Realizando las etapas mostradas en la Figura 7, el extractor 102 y el subdivisor 104a cooperan para recuperar la subdivisión elegida en el lado de codificador del flujo de datos. El proceso de la Figura 7 se concentra en el caso anteriormente descrito de la subdivisión de predicción. La Figura 8 muestra, en combinación con el diagrama de flujos de la Figura 7, cómo el extractor 102 y el subdivisor 104a cooperan para recuperar la subdivisión residual del flujo de datos.
En particular, la Figura 8 muestra las etapas realizadas 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 atraviesan, como se ha mencionado anteriormente, de acuerdo con un orden de exploración en zigzag 140 entre los bloques de árbol 150 de la subdivisión de predicción y usando un orden transversal de primero en profundidad dentro de cada bloque de árbol 150 visitado en la actualidad para atravesar los bloques hoja como se muestra, por ejemplo, en la Figura 3c. De acuerdo con el orden transversal de primero en profundidad, los bloques hoja de bloques de árbol primarios particionados se visitan en el orden transversal de primero en profundidad teniendo subbloques de visita de un cierto nivel de jerarquía que tiene un nodo actual común en el orden de exploración en zigzag 200 y con explorar esencialmente la subdivisión de cada uno de estos subbloques primero antes de continuar al siguiente subbloque en este orden de exploración en zigzag 200.
Para el ejemplo en la Figura 3c, el orden de exploración resultante entre los nodos hoja de bloque de árbol 150 se muestra con el signo de referencia 350.
Para un bloque de predicción visitado en la actualidad, el proceso de la Figura 8 comienza en la etapa 400. En la etapa 400, un parámetro interno que indica el tamaño actual del bloque actual se establece igual al tamaño de nivel de jerarquía 0 de la subdivisión residual, es decir el tamaño de bloque máximo de la subdivisión residual. Debería recordarse que el tamaño de bloque residual máximo puede ser menor que el tamaño de bloque más pequeño de la subdivisión de predicción o puede ser igual a o mayor que el último. En otras palabras, el codificador puede ser libre para elegir cualquier de las posibilidades recién mencionadas.
En la siguiente etapa, a saber etapa 402, se realiza una comprobación en cuanto a si el tamaño de bloque de predicción del bloque visitado en la actualidad es mayor que el parámetro interno que indica el tamaño actual. Si este es el caso, el bloque de predicción visitado en la actualidad, que puede ser un bloque de hoja de la subdivisión de predicción o un bloque de árbol de la subdivisión de predicción, que no se ha particionado más, es mayor que el tamaño de bloque residual máximo y en este caso, el proceso de la Figura 8 continúa con la etapa 300 de la Figura 7. Es decir, el bloque de predicción visitado en la actualidad se divide en bloques de raíz de árbol residuales y la primera bandera de la secuencia de banderas del primer bloque de árbol residual dentro de este bloque de predicción visitado en la actualidad se decodifica en la etapa 302, y así sucesivamente.
Si, sin embargo, el bloque de predicción visitado en la actualidad tiene un tamaño igual a o más pequeño que el parámetro interno que indica el tamaño actual, el proceso de la Figura 8 continúa a la etapa 404 en la que el tamaño de bloque de predicción se comprueba para determinar en cuanto a si el mismo es igual al parámetro interno que indica el tamaño actual. Si este es el caso, la división etapa 300 puede saltarse y el proceso continúa directamente con la etapa 302 de la Figura 7.
Si, sin embargo, el tamaño de bloque de predicción del bloque de predicción visitado en la actualidad es más pequeño que el parámetro interno que indica el tamaño actual, el proceso de la Figura 8 continúa con la etapa 406 en la que el nivel de jerarquía se aumenta por 1 y el tamaño actual se establece al tamaño del nuevo nivel de jerarquía tal como dividido por 2 (en ambas direcciones de eje en caso de subdivisión de árbol cuaternario). Posteriormente, la comprobación de etapa 404 se realiza de nuevo. El efecto del bucle formado por las etapas 404 y 406 es que el nivel de jerarquía siempre corresponde al tamaño de los bloques correspondientes a particionar, independiente del respectivo bloque de predicción que ha sido más pequeño que o igual a/mayor que el tamaño de bloque residual máximo. Por lo tanto, cuando se decodifican las e banderas en la etapa 302, el modelado de contexto realizado depende del nivel de jerarquía y el tamaño del bloque al que hace referencia la bandera, simultáneamente. El uso de diferentes contextos para banderas de diferentes niveles de jerarquía o tamaños de bloque, respectivamente, es ventajoso en que la estimación de probabilidad puede ajustarse bien a la distribución de probabilidad real entre las ocurrencias de valor de bandera, por otra parte, teniendo un número relativo moderado de contextos a gestionar, reduciendo de este modo el contexto gestionando sobrecarga así como aumentando la adaptación de contexto a las estadísticas de símbolo reales.
Como ya se ha indicado anteriormente, puede existir 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 a codificar, que introduce la entrada 32, por ejemplo, puede ser una instantánea de una secuencia de video o una imagen fija. La instantánea puede, por lo tanto, proporcionarse en forma de una o más matrices de muestra. En el contexto de la codificación de una instantánea de una secuencia de video o una imagen fija, las matrices de muestra podrían referirse a los tres planos de colores, tal como rojo, verde y azul o a planos de luminancia y crominancia, tales en representaciones de color de YUV o YCbCr. Adicionalmente, matrices de muestra que representan alfa, es decir transparencia, y/o información de profundidad para material de video en 3D también podrían estar presentes. Un número de estas matrices de muestra pueden agruparse juntas como un así llamado grupo de planos. Por ejemplo, luminancia (Y) podría ser un grupo de planos con únicamente una matriz de muestras y crominancia, tal como YCbCr, podría ser otro grupo de planos con dos matrices de muestra o, en otro ejemplo, UV podría ser un grupo de planos con tres matrices y una información de profundidad para material de video en 3D podría ser un grupo de planos diferente con únicamente una matriz de muestras. Para cada grupo de planos, una estructura de árbol cuaternario primaria puede codificarse dentro del 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 secundaria que representa la división en bloques residuales. Por lo tanto, de acuerdo con un primer ejemplo recién mencionado en el que el componente de luminancia es un grupo de planos, mientras que el componente de crominancia forma el otro grupo de planos, existiría 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. En el segundo ejemplo mencionado anteriormente, sin embargo, existiría una estructura de árbol cuaternario para los bloques de predicción de luminancia y crominancia juntos (YUV), una estructura de árbol cuaternario para los bloques residuales de luminancia y crominancia juntos (YUV), una estructura de árbol cuaternario para los bloques de predicción de la información de profundidad para material de video en 3D y una estructura de árbol cuaternario para los bloques residuales de la información de profundidad para material de video en 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 primaria y se ha descrito cómo estos bloques de predicción se subdividieron adicionalmente en bloques residuales usando una estructura de árbol cuaternario subordinada. De acuerdo con una alternativa, la subdivisión podría no finalizar en la fase de árbol cuaternario subordinado. Es decir, los bloques obtenidos a partir de una división usando la estructura de árbol cuaternario subordinada podrían subdividirse adicionalmente usando una estructura de árbol cuaternario terciario. Esta división, a su vez, podría usarse para el propósito de usar adicionalmente herramientas de codificación que podrían facilitar la codificación de la señal residual.
La descripción anterior concentrada en la subdivisión realizada por el subdivisor 28 y el subdivisor 104a, respectivamente. Como se ha mencionado anteriormente, la subdivisión definida por los subdivisores 28 y 104a, respectivamente, puede controlar la granularidad de procesamiento de los módulos anteriormente mencionados del codificador 10 y decodificador 100. Sin embargo, los subdivisores 228 y 104a, respectivamente, son seguidos por un fusionador 30 y el fusionador 104b, respectivamente. Se ha de observar, sin embargo, que los fusionadores 30 y 104b son opcionales y pueden dejarse de lado.
En efecto, sin embargo, y como se describirá en más detalle a continuación, el fusionador proporciona al codificador con la oportunidad de combinar algunos de los bloques de predicción o bloques residuales en grupos o agrupaciones, de modo que el otro, o al menos algunos de los otros módulos pueden tratar estos grupos de bloques juntos. Por ejemplo, el predictor 12 puede sacrificar las pequeñas desviaciones entre los parámetros de predicción de algunos bloques de predicción según se determinen mediante optimización usando la subdivisión del subdivisor 28 y usar parámetros de predicción comunes a todos estos bloques de predicción en su lugar si la señalización del agrupamiento de los bloques de predicción junto con una transmisión de parámetros común para todos los bloques que pertenecen a este grupo es más prometedora en el sentido de relación de tasa/distorsión que señalizar individualmente los parámetros de predicción para todos estos bloques de predicción. El procesamiento para recuperar la predicción en los predictores 12 y 110, en sí, basándose en estos parámetros de predicción comunes, puede, sin embargo, aún tener lugar en bloque de predicción. Sin embargo, también es posible que predictores 12 y 110 incluso realicen el proceso de predicción una vez para todo el grupo de bloques de predicción.
Como se describirá en más detalle a continuación, también es posible que el agrupamiento de bloques de predicción no es únicamente para usar el mismo o parámetros de predicción comunes para un grupo de bloques de predicción, sino, como alternativa, o adicionalmente, habilita que el codificador 10 envíe un parámetro de predicción para este grupo junto con predicciones residuales para bloques de predicción que pertenecen a este grupo, de modo que la sobrecarga de señalización para señalizar los parámetros de predicción para este grupo puede reducirse. En el último caso, el proceso de unión puede influenciar meramente al insertador de flujo de datos 18 en lugar de las decisiones hechas por el precodificador residual 14 y el predictor 12. Sin embargo, a continuación se presentan más detalles. Para exhaustividad, sin embargo, se ha de observar que el aspecto recién mencionado 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 unión de conjuntos de muestras, tal como los bloques de predicción y residuales anteriormente mencionados, se motiva en un sentido más general, es decir, no se limita a la subdivisión de múltiples árboles anteriormente mencionada. Posteriormente, sin embargo, la descripción se centra en la unión de bloques que resulta de la subdivisión de múltiples árboles para la que se acaban de describir ejemplos anteriormente.
Hablando en general, unir los elementos de sintaxis asociados con conjuntos particulares de muestras para el propósito de transmitir parámetros de codificación asociados habilita la reducción de la tasa de información secundaria en aplicaciones de codificación de imágenes y video. Por ejemplo, las matrices de muestra de la señal a codificar se particionan normalmente en conjuntos particulares de muestras o conjuntos de muestras, que pueden representar bloques rectangulares o cuadráticos, o cualquier otra colección de muestras, incluyendo regiones con forma arbitraria, triángulos u otras formas. En la descripción anterior, las regiones simplemente conectadas eran los bloques de predicción y los bloques residuales que resultan de la subdivisión de múltiples árboles. La subdivisión de matrices de muestra puede fijarse por la sintaxis o, como se describe anteriormente, la subdivisión puede señalizarse, al menos parcialmente, dentro del flujo de bits. Para mantener la tasa de información secundaria para señalizar la información de subdivisión pequeña, la sintaxis normalmente permite únicamente un número limitado de elecciones que resulta en particionamiento simple, tal como la subdivisión de bloques a bloques más pequeños. Los conjuntos de muestras se asocian con parámetros de codificación particulares, que pueden especificar información de predicción o modos de codificación residual, etc. Detalles con respecto a 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 codificación residual. Para conseguir una eficiencia de codificación mejorada, el aspecto de unión descrito en lo sucesivo, a saber la unión de dos o más conjuntos de muestras en así llamados grupos de conjuntos de muestras, habilita algunas ventajas, que se describen adicionalmente a continuación. Por ejemplo, pueden unirse conjuntos de muestras de tal forma que todos los conjuntos de muestras de un grupo de este tipo comparten los mismos parámetros de codificación, que pueden transmitirse junto con uno de los conjuntos de muestras en el grupo. De este modo, 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 su lugar, los parámetros de codificación se transmiten únicamente 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 puede mejorarse la eficiencia de codificación en general. 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 o bien aplicarse a todos conjuntos de muestras de un grupo o bien únicamente al conjunto de muestras para el que se transmite.
El aspecto de unión adicionalmente descrito a continuación también proporciona al codificador con una mayor libertar en la creación del flujo de bits 22, ya que el enfoque de unión aumenta significativamente el número de posibilidades para seleccionar un particionamiento para las matrices de muestra de una instantánea. Ya que el codificador puede elegir entre más opciones, tal como, para minimizar una medida de tasa/distorsión particular, puede mejorarse la eficiencia de codificación. Existen varias posibilidades de operar un codificador. En un enfoque simple, el codificador podría en primer lugar determinar la mejor subdivisión de las matrices de muestra. Brevemente haciendo referencia a la Figura 1, el subdivisor 28 podría determinar la subdivisión óptima en una primera fase. Posteriormente, podría comprobarse, para cada conjunto de muestras, si una unión con otro conjunto de muestras u otro grupo de conjuntos de muestras reduce una medida de coste de tasa/distorsión particular. En esto, los parámetros de predicción asociados con un grupo unido de conjuntos de muestras pueden estimarse de nuevo, tal como realizando 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 candidato o grupo de conjuntos de muestras para unir podría evaluarse para el grupo de conjuntos de muestras considerado. En un enfoque más amplio, una medida de coste de tasa/distorsión particular podría evaluarse para grupos de conjuntos de muestras candidatos adicionales.
Se ha de observar que el enfoque de unión descrito en lo sucesivo no cambia el orden de procesamiento de los conjuntos de muestras. Es decir, el concepto de unión puede implementarse de una forma de modo que no se aumenta el retardo, es decir, cada conjunto de muestras permanece decodificable en el mismo instante de tiempo que sin usar el enfoque de unión.
Si, por ejemplo, la tasa de bits que se ahorra reduciendo el número de parámetros de predicción codificados es mayor que la tasa de bits que tienen que emplearse adicionalmente para codificar información de unión para que indica la unión al lado de decodificación, el enfoque de unión adicionalmente a describirse a continuación resulta en una eficiencia de codificación aumentada. Debería mencionarse adicionalmente que la extensión de sintaxis descrita para la unión proporciona el codificador con la libertad adicional en la selección de la partición de una instantánea o grupo de planos en bloques. En otras palabras, el codificador no se limita a hacer la subdivisión primero y a continuación a comprobar si algunos de los bloques resultantes tienen el mismo conjunto o un conjunto similar de parámetros previstos. Como una alternativa simple, el codificador podría determinar primero la subdivisión de acuerdo con medida de coste de distorsión de tasa y a continuación el codificador podría comprobar, para cada bloque, si una unión con uno de sus bloques vecinos o el grupo de bloques ya determinado asociado reduce una medida de coste de distorsión de tasa. En esto, los parámetros de predicción asociados con el nuevo grupo de bloques pueden estimarse de nuevo, tal como realizando 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 vecino o grupos de bloques podría evaluarse para el nuevo grupo de bloques. La información de unión puede señalizarse sobre una base de bloque. De forma efectiva, la unión también podría interpretarse como inferencia de los parámetros de predicción para un bloque actual, en el que los parámetros de predicción inferidos se establecen igual a los parámetros de predicción de uno de los bloques vecinos. Como alternativa, pueden transmitirse residuales para bloques dentro de un grupo de bloques.
Por lo tanto, la idea básica que subyace del concepto de unión descrito adicionalmente a continuación es reducir la tasa de bits 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, en el que cada grupo de bloques se asocia con un conjunto único de parámetros de codificación, tales como parámetros de parámetros de predicción o codificación residual. La información de unión se señaliza dentro del flujo de bits además de la información de subdivisión, si está presente. La ventaja del concepto de unión es una eficiencia de codificación aumentada que resulta de una tasa de información secundaria disminuida para los parámetros de codificación. Se ha de observar que los procesos de unión descritos en este punto también podrían extenderse a otras dimensiones que las dimensiones espaciales. Por ejemplo, un grupo de conjuntos de muestras o bloques, respectivamente, que se encuentran dentro de varias instantáneas de video diferentes, podría unirse en un grupo de bloques. La unión también podría aplicarse a compresión 4D y codificación de campo de luz.
Por lo tanto, volviendo brevemente a la anterior descripción de las Figuras 1 a 8, se observa que el proceso de unión posterior a la subdivisión es ventajoso independiente de la forma específica que los subdivisores 28 y 104a, respectivamente, subdividen las instantáneas. Para ser más precisos, esta última también podría subdividir las instantáneas de una forma similar a, por ejemplo, H.264, es decir subdividiendo cada instantánea en una disposición regular de macrobloques rectangulares o cuadráticos de un tamaño predeterminado, tal como muestras de luminancia de 16 x 16 o un tamaño señalizado dentro del flujo de datos, teniendo cada macro bloque ciertos parámetros de codificación asociados con el mismo que comprende, entre otros, parámetros de particionamiento que definen, para cada macrobloque, un particionamiento en una subcuadrícula regular de 1, 2, 4 o algún otro número de particiones que sirven como una granularidad para predicción y los correspondientes parámetros de predicción en el flujo de datos así como para definir la partición para el residual y la correspondiente granularidad de transformación residual.
En cualquier caso, la unión proporciona las ventajas brevemente analizadas anteriormente mencionadas, tal como la reducción de la tasa de bits de información secundaria en aplicaciones de codificación de imágenes y video. Conjuntos particulares de muestras, que puede representar los bloques o regiones rectangulares o cuadráticos con forma arbitraria o cualquier otra colección de muestras, tal como cualquier región simplemente conectada o muestras se conectan normalmente 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 se incluyen en el flujo de bits, los parámetros de codificación que representan, por ejemplo, parámetros de predicción, que especifican cómo el correspondiente conjunto de muestras se predice usando muestras ya codificadas. La partición de las matrices de muestra de una instantánea en conjuntos de muestras puede fijarse por la sintaxis o puede señalizarse mediante la correspondiente información de subdivisión dentro del flujo de bits. Los parámetros de codificación para el conjunto de muestras pueden transmitirse en un orden predefinido, que se proporciona mediante la sintaxis. De acuerdo con la funcionalidad de unión, el fusionador 30 es capaz de señalizar, para un conjunto común de muestras o un bloque actual, tal como un bloque de predicción o un bloque residual que se une con uno o más otros conjuntos de muestras, en un grupo de conjuntos de muestras. Los parámetros de codificación para un grupo de conjuntos de muestras, por lo tanto, necesitan transmitirse únicamente una vez. En un ejemplo particular, los parámetros de codificación de un conjunto de muestras actual no se transmiten si el conjunto de muestras actual se une con un conjunto de muestras o un grupo ya existente de conjuntos de muestras para los que ya se han transmitido los parámetros de codificación. En su lugar, los parámetros de codificación para el conjunto actual de muestras se establecen igual a los parámetros de codificación del conjunto de muestras o grupo de conjuntos de muestras con el que se une el conjunto actual de muestras. 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 o bien aplicarse a todos conjuntos de muestras de un grupo o bien únicamente al conjunto de muestras para el que se transmite.
De acuerdo con un ejemplo, para cada conjunto de muestras tal como un bloque de predicción como se ha mencionado anteriormente, un bloque residual como se ha mencionado anteriormente o un bloque hoja de una subdivisión de múltiples árboles como se ha mencionado anteriormente, el conjunto de todos los conjuntos de muestras anteriormente codificado/decodificado se llama el "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 cierta subdivisión, tal como una subdivisión de predicción o a subdivisión residual o de cualquier subdivisión de múltiples árboles, o similar, y el orden de codificación/decodificación definido entre estos bloques se define mediante la flecha 350. Considerando un cierto bloque entre estos bloques como el conjunto de muestras actual o región simplemente conectada actual, su conjunto de conjuntos de muestras causales se hace de todos los bloques que preceden el bloque actual a lo largo del orden 350. Sin embargo, se recuerda, de nuevo, que otra subdivisión que no usa subdivisión de múltiples árboles sería también posible hasta donde concierne la siguiente descripción de los principios de unión.
Los conjuntos de muestras que pueden usarse para la unión con un conjunto actual de muestras se llaman el "conjunto de conjuntos de muestras candidatos" a continuación y siempre es un subconjunto del "conjunto de conjuntos de muestras causales". La forma cómo se forma el subconjunto puede o bien conocerse por el decodificador o puede especificarse dentro del flujo de datos o flujo de bits desde el codificador al decodificador. Si un conjunto actual particular de muestras se codifica/decodifica y su conjunto de conjuntos de muestras candidatos no está vacío, se señaliza dentro del flujo de datos en el codificador o deriva a partir del flujo de datos en el decodificador si el conjunto común de muestras se une con un conjunto de muestras de entre este conjunto de conjuntos de muestras candidatos y, si es así, con cuál de ellos. De otra manera, la unión no puede usarse para este bloque, ya que el conjunto de conjuntos de muestras candidatos está vacío de todos modos.
Existen diferentes formas de cómo determinar el subconjunto del conjunto de conjuntos de muestras causales, que representará el conjunto de conjuntos de muestras candidatos. Por ejemplo, la determinación de conjuntos de muestras candidatos puede basarse en una muestra dentro del conjunto actual de muestras, que inequívocamente se define geométricamente, tal como la muestra de imagen superior izquierda de un bloque rectangular o cuadrático. Comenzando a partir de esta muestra inequívocamente definida geométricamente, se determina un número de muestras distinto de cero particular, que representa vecinos espaciales directos de esta muestra inequívocamente definida geométricamente. Por ejemplo, este número de muestras distinto de cero particular comprende el vecino superior y el vecino izquierdo de la muestra inequívocamente definida geométricamente del conjunto actual de muestras, de modo que el número de muestras vecinas distinto de cero puede ser, como máximo, dos, uno su uno de los vecinos superior o izquierdo no está disponibles o se encuentra fuera de la instantánea, o cero en caso de que falten ambos vecinos.
El conjunto de conjuntos de muestras candidatos podría determinarse a continuación para incluir esos conjuntos de muestras que contienen 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 en consideración en la actualidad como objeto de unión, será el bloque X y su muestra inequívocamente definida geométricamente, será ilustrativamente la muestra superior izquierda indicada en 400. Las muestras vecinas superior e izquierda de la muestra 400 se indican en 402 y 404. El conjunto de conjuntos de muestras causales o conjunto de bloques causales se resalta de una 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 candidatos.
De acuerdo con otro ejemplo, el conjunto de conjuntos de muestras candidatos determinados en aras de la unión puede incluir adicional o exclusivamente conjuntos de muestras que contienen un número de muestras distinto de cero particular, que puede ser uno o dos que tiene la misma ubicación espacial, pero se contienen en una instantánea diferente, en concreto, por ejemplo, una instantánea anteriormente codificada/decodificada. Por ejemplo, además de los bloques A y B en la Figura 9a, podría usarse un bloque de una instantánea anteriormente codificada, que comprende la misma en la misma posición que la muestra 400. Por cierto, se observa que meramente la muestra vecina superior 404 o meramente la muestra vecina izquierda 402 podría usarse para definir el número distinto de cero anteriormente mencionado de muestras vecinas. En general, el conjunto de conjuntos de muestras candidatos puede derivarse a partir de datos anteriormente procesados dentro de la instantánea actual o en otras instantáneas. La derivación puede incluir información direccional espacial, tal como coeficientes de transformación asociados con una dirección particular y gradientes de imagen de la instantánea actual o puede incluir información direccional temporal, tal como representaciones de movimiento vecinas. A partir de tales datos disponibles en el receptor/decodificador y otros datos e información secundaria dentro del flujo de datos, si está presente, puede derivarse el conjunto de conjuntos de muestras candidatos.
Se ha de observar que la derivación de los conjuntos de muestras candidatos se realiza en paralelo tanto por el fusionador 30 en el lado de codificador como por el fusionador 104b en el lado de decodificador. Como se acaba de mencionar, ambos pueden determinar el conjunto de conjuntos de muestras candidatos independiente entre sí basándose en una forma predefinida conocida para ambos o el codificador puede señalizar indicios dentro del flujo de bits, que ponen al fusionador 104b en una posición para realizar la derivación de estos conjuntos de muestras candidatos de una forma igual la forma que el fusionador 30 en el lado de codificador determinó el conjunto de conjuntos de muestras candidatos.
Como se describirá en más detalle a continuación, el fusionador 30 y el insertador de flujo de datos 18 cooperan para transmitir uno o más elementos de sintaxis para cada conjunto de muestras, que especifican si el conjunto de muestras se une con otro conjunto de muestras, que, a su vez, puede ser parte de un grupo de conjuntos de muestras ya unido y cuál del conjunto de conjuntos de muestras candidatos se emplea para la unión. El extractor 102, a su vez, extrae estos elementos de sintaxis e informa al fusionador 104b en consecuencia. En particular, de acuerdo con el ejemplo específico descrito más adelante, uno o dos elementos de sintaxis se transmiten para especificar la información de unión para un conjunto de muestras específico. El primer elemento de sintaxis especifica si el conjunto actual de muestras se une con otro conjunto de muestras. El segundo elemento de sintaxis, que se transmite únicamente si el primer elemento de sintaxis especifica que el conjunto actual de muestras se une con otro conjunto de muestras, especifica cuál de los conjuntos de conjuntos de muestras candidatos se emplea para la unión. La transmisión del primer elemento de sintaxis puede suprimirse si un conjunto derivado de conjuntos de muestras candidatos está vacío. En otras palabras, el primer elemento de sintaxis puede únicamente transmitirse si un conjunto derivado de conjuntos de muestras candidatos no está vacío. El segundo elemento de sintaxis puede únicamente transmitirse si un conjunto derivado de conjuntos de muestras candidatos contiene más de un conjunto de muestras, ya que si únicamente se contiene un conjunto de muestras en el conjunto de conjuntos de muestras candidatos, no es posible una selección adicional de todas formas. Incluso además, la transmisión del segundo elemento de sintaxis puede suprimirse si el conjunto de conjuntos de muestras candidatos comprende más de un conjunto de muestras, pero si todos los conjuntos de muestras del conjunto de conjuntos de muestras candidatos se asocian con el mismo parámetro de codificación. En otras palabras, el segundo elemento de sintaxis puede únicamente transmitirse si al menos dos conjuntos de muestras de un conjunto derivado de conjuntos de muestras candidatos se asocian con diferentes parámetros de codificación.
Dentro del flujo de bits, la información de unión para un conjunto de muestras puede codificarse antes de los parámetros de predicción u otros parámetros de codificación particulares que se asocian con ese conjunto de muestras. Los parámetros de predicción o codificación pueden transmitirse únicamente si la información de unión señaliza que el conjunto actual de muestras no tiene que unirse con ningún otro conjunto de muestras.
La información de unión para un cierto 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, parámetros de codificación que se asocian con el respectivo conjunto de muestras. El subconjunto de predicción/parámetros de codificación puede constar de uno o más índices de instantánea de referencia o uno o más componentes de un vector de parámetro de movimiento o un índice de referencia y uno o más componentes de un vector de parámetro de movimiento, etc. El subconjunto ya transmitido de parámetros de predicción o codificación puede usarse para derivar un conjunto de conjuntos de muestras candidatos de entre un conjunto mayor provisional de conjuntos de muestras candidatos, que puede haberse derivado como se acaba de describir anteriormente. Como un ejemplo, puede calcularse una medida o distancia de diferencia de acuerdo con una medida de distancia predeterminada, entre los parámetros de predicción y codificación ya codificados del conjunto actual de muestras y los correspondientes parámetros de predicción o codificación del conjunto preliminar de conjuntos de muestras candidatos. A continuación, únicamente esos conjuntos de muestras para los que la medida de diferencia calculada, o distancia, es más pequeña o igual a un umbral derivado o predefinido, se incluyen en el conjunto final, es decir reducido, de conjuntos de muestras candidatos. Véase, por ejemplo, la Figura 9a. El conjunto actual de muestras será el bloque X. Un subconjunto de los parámetros de codificación que pertenecen a este bloque ya se habrá insertado en el flujo de datos 22. Imagínese, por ejemplo, que 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 a subconjunto de entre un conjunto que comprende un índice de referencia de instantánea 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 transformación o un mapa que indica las posiciones de los coeficientes de transformación significativos dentro del bloque X. Basándose en esta información, tanto el insertador de flujo de datos 18 como el extractor 102 son capaces de usar esta información para determinar un subconjunto de entre los bloques A y B, que forman, en este ejemplo específico, el conjunto preliminar anteriormente mencionado de conjuntos de muestras candidatos. En particular, ya que los bloques A y B pertenecen al conjunto de conjuntos de muestras causales, los parámetros de codificación de los mismos están disponibles tanto para el codificador y decodificador en el momento que los parámetros de codificación de bloque X se codifican/decodifican en la actualidad. Por lo tanto, la comparación anteriormente mencionada usando la medida de diferencia puede usarse para excluir cualquier número de bloques del conjunto preliminar de conjuntos de muestras candidatos A y B. El conjunto reducido resultante de conjuntos de muestras candidatos puede usarse a continuación como se describe anteriormente, a saber para determinar en cuanto a si un indicador de unión que indica una unión debe transmitirse dentro de o tiene que extraerse del flujo de datos dependiendo del número de conjuntos de muestras dentro del conjunto reducido de conjuntos de muestras candidatos y en cuanto a si un segundo elemento de sintaxis tiene que transmitirse dentro de, o tiene que extraerse del flujo de datos con un segundo elemento de sintaxis que indica cuál de los conjuntos de muestras dentro del conjunto reducido de conjuntos de muestras candidatos será el bloque asociado para la unión.
El umbral anteriormente mencionado contra el que las distancias anteriormente mencionadas se compara puede fijarse y conocerse tanto por el codificador como para decodificador o puede derivarse basándose en las distancias calculadas tal como la mediana del valor de diferencias, o alguna otra tendencia central o similar. En este caso, el conjunto reducido de conjuntos de muestras candidatos sería inevitablemente un subconjunto apropiado del conjunto preliminar de conjuntos de muestras candidatos. Como alternativa, se seleccionan únicamente esos conjuntos de muestras de entre el conjunto preliminar de conjuntos de muestras candidatos para el que la distancia de acuerdo con la distancia medida se minimiza. Como alternativa, se selecciona exactamente un conjunto de muestras de entre el conjunto preliminar de conjuntos de muestras candidatos usando la medida de distancia anteriormente mencionada. En el último caso, la información de unión únicamente necesitaría especificar si el conjunto actual de muestras tiene que unirse con un único conjunto de muestras candidato o no.
Por lo tanto, el conjunto de bloques candidatos podría formarse o derivarse como se describe a continuación con respecto a la Figura 9a. Comenzando desde la posición de muestra superior izquierda 400 del bloque actual X en la Figura 9a, se derivan su posición de la muestra vecina izquierda 402 y su posición de la muestra vecina superior 404 - en sus lados de codificador y de decodificador. El conjunto de bloques candidatos puede tener, por lo tanto, únicamente hasta dos elementos, a saber esos bloques de entre el conjunto sombreado de bloques causales en la Figura 9a que contienen una de las dos posiciones de muestra, que en el caso de la Figura 9a, son los bloques B y A. Por lo tanto, el conjunto de bloques candidatos puede tener únicamente los dos bloques directamente vecinos de la posición de muestra superior izquierda del bloque actual como sus elementos. De acuerdo con otro ejemplo, el conjunto de bloques candidatos podría proporcionarse por todos los bloques que se han codificado antes del bloque actual y contienen una o más muestras que representan vecinos espaciales directos de cualquier muestra del bloque actual. La vecindad espacial directa puede restringirse a vecinos izquierdos directos y/o vecinos superiores directos y/o vecinos derechos directos y/o vecinos inferiores directos de cualquier muestra del bloque actual. Véase, por ejemplo, la Figura 9b que muestra otra subdivisión de bloque. En este caso, los bloques candidatos comprenden cuatro bloques, a saber los bloques A, B, C y D.
Como alternativa, el conjunto de bloques candidatos, adicionalmente, o exclusivamente, puede incluir bloques que contienen una o más muestras que se ubican en la misma posición que cualquiera de las muestras del bloque actual, pero se contienen en una instantánea diferente, es decir, ya codificada/decodificada.
Incluso como alternativa, el conjunto candidato de bloques representa un subconjunto de los conjuntos de bloques anteriormente descritos, que se determinaron mediante la vecindad en dirección espacial o temporal. El subconjunto de bloques candidatos puede fijarse, señalizarse o derivarse. La derivación del subconjunto de bloques candidatos puede considerar decisiones hechas para otros bloques en la instantánea o en otras instantáneas. Como un ejemplo, bloques que se asocian con los mismos o muy similares parámetros de codificación que otros bloques candidatos podrían no incluirse en el conjunto candidato de bloques.
La siguiente descripción se aplica para el caso donde únicamente se consideran dos bloques que contienen la muestra de vecino izquierda y superior de la muestra superior izquierda del bloque actual como candidatos potenciales como máximo.
Si el conjunto de bloques candidatos no está vacío, se señaliza una bandera llamada merge_flag, especificando si el bloque actual se une con cualquiera de los bloques candidatos. Si la merge_flag es igual a 0 (para "falso"), este bloque no se une con uno de sus bloques candidatos y todos parámetros de codificación se transmiten de forma ordinaria. Si la merge_flag es igual a 1 (para "verdadero"), se aplica lo siguiente. Si el conjunto de bloques candidatos contiene uno y únicamente un bloque, este bloque candidato se usa para la unión. De otra manera, 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. De otra manera (los dos bloques tienen diferentes parámetros de predicción), se señaliza una bandera llamada merge_left_flag. Si merge_left_flag es igual a 1 (para "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 (para "falso"), se selecciona el otro (es decir, vecino superior) bloque de entre el conjunto de bloques candidatos. Los parámetros de predicción del bloque seleccionado se usan para el bloque actual.
Resumiendo algunos de los ejemplos anteriormente descritos con respecto a la unión, se hace referencia a la Figura 10 que muestra etapas realizadas por el extractor 102 para extraer la información de unión del flujo de datos 22 que introduce la entrada 116.
El proceso comienza en 450 con la identificación los bloques candidatos o conjuntos de muestras para un conjunto de muestras actual o bloque. Debería recordarse que los parámetros de codificación para los bloques se transmiten dentro del flujo de datos 22 en un cierto orden unidimensional y por consiguiente, la Figura 10 se refiere al proceso de recuperación de la información de unión para un conjunto de muestras o bloque visitado en la actualidad.
Como se ha mencionado anteriormente, la identificación y la etapa 450 pueden comprender la identificación entre bloques anteriormente decodificados, es decir el conjunto causal de bloques, basándose en aspectos de vecindad. Por ejemplo, esos bloques vecinos pueden nombrarse candidatos, que incluyen ciertas muestras vecinas vecinas a una o más muestras geométricamente predeterminadas del bloque actual X en espacio o tiempo. Además, la etapa de identificación puede comprender dos fases, a saber una primera fase que implica una identificación como se acaba de mencionar, a saber basándose en la vecindad, conduciendo a un conjunto preliminar de bloques candidatos, y una segunda fase de acuerdo con la que meramente esos bloques se nombran candidatos cuyos parámetros de codificación ya transmitidos cumplen con una cierta relación con el subconjunto apropiado de los parámetros de codificación del bloque actual X, que ya se ha decodificado a partir del flujo de datos antes de la etapa 450.
A continuación, el proceso avanza a la etapa 452 en la que se determina en cuanto a si el número de bloques candidatos es mayor que cero. Si este es el caso, se extrae una merge_flag del flujo de datos en la etapa 454. La etapa de extracción 454 puede implicar decodificación por entropía. El contexto para decodificar por entropía la merge_flag en la etapa 454 puede determinarse basándose en elementos de sintaxis que pertenecen a, por ejemplo, el conjunto de bloques candidatos o el conjunto preliminar de bloques candidatos, en el que la dependencia sobre los elementos de sintaxis puede restringirse a la información de si los bloques que pertenecen al conjunto de interés se han sometido a unión o no. La estimación de probabilidad del contexto seleccionado puede adaptarse.
Si, sin embargo, el número de bloques candidatos se determina que es cero en su lugar 452, el proceso de la Figura 10 continúa con la etapa 456 en la que 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 anteriormente mencionada, los restantes parámetros de codificación de la misma en la que después el extractor 102 continúa 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 continúa después de la extracción en la etapa 454, con la etapa 458 con una comprobación en cuanto a si la merge_flag extraída sugiere la ocurrencia o ausencia de una unión del bloque actual. Si no tendrá lugar ninguna unión, el proceso continúa con la etapa 456 anteriormente mencionada. De otra manera, el proceso continúa con la etapa 460, incluyendo una comprobación en cuanto a 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 cierto bloque candidato entre los bloques candidatos no sería necesaria y, por lo tanto, el proceso de la Figura 10 continúa con la etapa 462 de acuerdo con la cual el socio de unión del bloque actual se establece para ser el único bloque candidato en el que después en la etapa 464 los parámetros de codificación del bloque asociado unido se usa para adaptación o predicción de los parámetros de codificación o los restantes parámetros de codificación del bloque actual. En caso de adaptación, los parámetros de codificación faltantes del bloque actual se copian meramente del bloque asociado de unión. En el otro caso, a saber el caso de predicción, la etapa 464 puede implicar una extracción adicional de datos residuales a partir del flujo de datos los datos residuales que pertenecen a la predicción residual de los parámetros de codificación faltantes del bloque actual y una combinación de estos datos residuales con la predicción de estos parámetros de codificación faltantes obtenidos a partir del bloque asociado de unión.
Si, sin embargo, el número de bloques candidatos se determina que es mayor que uno en la etapa 460, el proceso de la Figura 10 avanza a la etapa 466 en la que se realiza una comprobación en cuanto a si los parámetros de codificación o la parte interesante de los parámetros de codificación - a saber la subparte de la misma relacionada con la parte que aún no se ha transferido dentro del 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 establecen como referencia de unión o los bloques candidatos se establecen como socios de unión en la etapa 468 y los respectivos parámetros de codificación interesantes se usan para adaptación o predicción en la etapa 464.
Se ha de observar que el propio socio de unión puede haber sido un bloque para el que se señalización unión. En este caso, los parámetros de codificación adaptados o predichos obtenidos de ese socio de unión se usan en la etapa 464.
De otra manera, sin embargo, es decir, en caso de los parámetros de codificación no son idénticos, el proceso de la Figura 10 continúa a la etapa 470, en la que se extrae un elemento de sintaxis adicional del flujo de datos, a saber esta merge_left_flag. Puede usarse un conjunto de contextos separado para codificar por entropía esta bandera. El conjunto de contextos usados para codificar por entropía la merge_left_flag también puede comprender meramente un contexto. Después de la etapa 470, el bloque candidato indicado por merge_left_flag se establece que sea el socio de unión en la etapa 472 y se use para adaptación o predicción en la etapa 464. Después de la etapa 464, el extractor 102 continúa con el tratamiento del siguiente bloque en orden de bloques.
Por supuesto, existen muchas alternativas. Por ejemplo, puede transmitirse un elemento de sintaxis combinado dentro del flujo de datos en lugar de los elementos de sintaxis separados merge_flag y merge_left_flag descritos anteriormente, señalizando los elementos de sintaxis combinados el proceso de unión. Además, la merge_left_flag anteriormente mencionada puede transmitirse dentro del flujo de datos independientemente de si los dos bloques candidatos tienen los mismos parámetros de predicción o no, reduciendo de este modo la sobrecarga de cálculo para realizar proceso de la Figura 10.
Como ya se indicó con respecto a, por ejemplo, la Figura 9b, pueden incluirse más de dos bloques en el conjunto de bloques candidatos. Además, la información de unión, es decir la información que señaliza si un bloque se une y, si sí, con qué bloque candidato tiene que unirse, puede señalizarse mediante uno o más elementos de sintaxis. Un elemento de sintaxis podría especificar si el bloque se une con cualquiera de los bloques candidatos tal como la merge_flag descrita anteriormente. La bandera puede transmitirse únicamente si el conjunto de bloques candidatos no está vacío. Un segundo elemento de sintaxis puede señalizar cuál de los bloques candidatos se emplea para la unión tal como la merge_left_flag anteriormente mencionada, pero en general indicando una selección entre dos o más de dos bloques candidatos. El segundo elemento de sintaxis puede transmitirse únicamente si el primer elemento de sintaxis señaliza que el bloque actual tiene que unirse con uno de los bloques candidatos. El segundo elemento de sintaxis puede transmitirse adicionalmente únicamente si el conjunto de bloques candidatos contiene más de un bloque candidato y/o si cualquiera de los bloques candidatos tiene diferentes parámetros de predicción que cualquier otro de los bloques candidatos. La sintaxis puede depender de cuántos bloques candidatos se proporcionan y/o en cómo se asocian diferentes parámetros de predicción con los bloques candidatos.
La sintaxis para señalizar cuáles de los bloques de los bloques candidatos a usar, puede establecerse simultáneamente y/o paralela al codificador y lado de decodificador. Por ejemplo, si hay tres elecciones para bloques candidatos identificados en la etapa 450, la sintaxis se elige de tal forma que únicamente estas tres elecciones están disponibles y se consideran para codificación por entropía, por ejemplo, en la etapa 470. En otras palabras, el elemento de sintaxis se elige de tal forma que su alfabeto de símbolos tiene meramente tantos elementos como elecciones de bloques candidatos existen. Las probabilidades para todas las demás elecciones pueden considerase que son cero y la codificación/decodificación por entropía puede ajustarse simultáneamente en el codificador y decodificador.
Además, como ya se ha indicado con respecto a etapa 464, los parámetros de predicción que se infieren como consecuencia del proceso de unión pueden representar el conjunto completo de parámetros previstos que se asocian con el bloque actual o pueden representar un subconjunto de estos parámetros de predicción tal como los parámetros de predicción para una hipótesis de un bloque para el que se usa predicción de hipótesis múltiples. Como se ha indicado anteriormente, los elementos de sintaxis relacionados con la información de unión podrían codificarse por entropía usando modelado de contexto. Los elementos de sintaxis pueden constar de la merge_flag y la merge_left_flag descritas anteriormente (o elementos de sintaxis similares). En un ejemplo concreto, uno de entre tres modelos de contexto o contextos podría usarse para codificar/decodificar la merge_flag en la etapa 454, por ejemplo. El índice de modelo de contexto usado merge_flag_ctx puede derivarse como se indica a continuación: si el conjunto de bloques candidatos contiene dos elementos, el valor de merge_flag_ctx es igual a la suma de los valores de la merge_flag de los dos bloques candidatos. Si el conjunto de bloques candidatos contiene un elemento, sin embargo, el valor de merge_flag_ctx puede ser igual a dos veces el valor de merge_flag de este un bloque candidato. Como cada merge_flag de los bloques candidatos vecinos puede o bien ser uno o bien cero, tres contextos están disponibles para merge_flag. La merge_left_flag puede codificarse usando meramente un único modelo de probabilidad.
Sin embargo, de acuerdo con una alternativa, podrían usarse diferentes modelos de contexto. Por ejemplo, elementos de sintaxis no binarios puede correlacionarse con una secuencia de símbolos binarios, así llamados contendores. Los modelos de contexto para algunos elementos de sintaxis o contendores de elementos de sintaxis que definen la información de unión pueden derivarse basándose en elementos de sintaxis ya transmitidos de bloques vecinos o el número de bloques candidatos u otras medidas mientras otros elementos de sintaxis o contendores de los elementos de sintaxis pueden codificarse con un modelo de contexto fijo.
Con respecto a la anterior descripción de la unión de bloques, se observa que el conjunto de bloques candidatos también puede derivarse de la misma forma que para cualquiera de los ejemplos descritos anteriormente con la siguiente modificación: bloques candidatos se limitan a bloques usando predicción o inter predicción compensada con movimiento, respectivamente. Únicamente pueden ser elementos del conjunto de bloques candidatos. La señalización y modelado de contexto de la información de unión podría hacerse como se describe anteriormente.
Volviendo a la combinación de la subdivisión de múltiples árboles descrita anteriormente y el aspecto de unión descrito ahora, si la instantánea se divide en bloques cuadráticos de variable tamaño mediante el uso de una estructura de subdivisión basada en árbol cuaternario, por ejemplo, la merge_flag y merge_left_flag u otros elementos de sintaxis que especifican la unión podrían intercalarse 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 para una subdivisión basada en árbol cuaternario de una instantánea en bloques de predicción de variable tamaño. Los dos bloques superiores del mayor tamaño se llaman bloques de árbol, es decir, son bloques de predicción del mayor tamaño posible. Los otros bloques en esta figura se obtienen como una subdivisión de su correspondiente bloque de árbol. El bloque actual se marca con una "X". Todos los bloques sombreados se codifican/decodifican antes del bloque actual, de forma que forman el conjunto de bloques causales. Como se explica en la descripción de la derivación del conjunto de bloques candidatos únicamente 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 lo tanto el bloque actual puede unirse con o bien el bloque "A" o bien el bloque "B". Si merge_flag es igual a 0 (para "falso"), el bloque actual "X" no se une con ninguno de los dos bloques. Si bloques "A" y "B" tienen parámetros de predicción idénticos, no necesita hacerse distinción, ya que la unión con cualquiera de los dos bloques conducirá el mismo resultado. Por tanto, en este caso, la merge_left_flag no se transmite. De otra manera, si bloques "A" y "B" tienen diferentes parámetros de predicción, merge_left_flag igual a 1 (para "verdadero") unirá los bloques "X" y "B", mientras que merge_left_flag igual a 0 (para "falso") unirá los bloques "X" y "A". Bloques vecinos adicionales (ya transmitidos) pueden representar candidatos para la unión.
En la Figura 9b se muestra otro ejemplo. En este punto el bloque actual "X" y el vecino izquierdo bloque "B" son bloques de árbol, es decir tienen el tamaño de bloque máximo permitido. El tamaño del vecino superior bloque "A" es un cuarto del tamaño de bloque de árbol. Los bloques que son elementos del conjunto de bloques causales se sombrean. Obsérvese que de acuerdo con un ejemplo, el bloque actual "X" puede únicamente unirse con los dos bloques "A" o "B", no con ninguno de los otros bloques vecinos superiores. Bloques vecinos adicionales (ya transmitidos) pueden representar candidatos para la unión.
Antes de continuar con la descripción con respecto al aspecto de cómo tratar diferentes matrices de muestra de una instantánea, se observa que la descripción anterior con respecto a la subdivisión de múltiples árboles y la señalización por una parte y el aspecto de unión por otra parte dejan claro que estos aspectos proporcionan ventajas que pueden explotarse independientes entre sí. Es decir, como ya se ha explicado anteriormente, una combinación de una subdivisión de múltiples árboles con unión tiene ventajas específicas, pero también resultan ventajas a partir de alternativas en las que, por ejemplo, la característica de unión se incorpora con, sin embargo, la subdivisión realizada por los subdivisores 30 y 104a que no se basan en una subdivisión de árbol cuaternario o múltiples árboles, sino que corresponde a una subdivisión de macrobloque con particionamiento regular de estos macrobloques en particiones más pequeñas. Por otra parte, a su vez, la combinación de la subdivisión de múltiples árboles junto con la transmisión de la indicación de tamaño de bloque de árbol máximo dentro del flujo de bits, y el uso de la subdivisión de múltiples árboles junto con el uso del orden transversal de primero en profundidad transportando los correspondientes parámetros de codificación de los bloques es ventajoso independiente de que la características de unión se use simultáneamente o no. En general, las ventajas de unión pueden entenderse, cuando se considera que, intuitivamente, la eficiencia de codificación puede aumentarse cuando la sintaxis de codificaciones de matrices de muestras se extiende de una forma que no únicamente permite subdividir un bloque, sino también unir dos o más de los bloques que se obtienen después de la subdivisión. Como resultado, se obtiene un grupo de bloques que se codifican con los mismos parámetros de predicción. Los parámetros de predicción para un grupo de este tipo de bloques necesitan codificarse únicamente una vez. Además, con respecto a la unión de conjuntos de muestras, debería observarse de nuevo que los conjuntos de muestras considerados pueden ser bloques rectangulares o cuadráticos, en cuyo caso los conjuntos de muestras unidos representan una colección de bloques rectangulares y/o cuadráticos. Como alternativa, sin embargo, los conjuntos de muestras considerados son regiones de instantáneas con forma arbitraria y los conjuntos de muestras unidos representan una colección de regiones de instantánea con forma arbitraria.
La siguiente descripción se centra en el tratamiento de diferentes matrices de muestra de una instantánea en caso de que haya más de una matriz de muestra por instantánea, y algunos aspectos descritos en la siguiente subdescripción son ventajosos independientes de la clase de subdivisión usada, es decir independiente de la subdivisión basándose en subdivisión de múltiples árboles o no, e independente de la unión usándose o no. Antes de comenzar con la descripción de realizaciones específicas con respecto al tratamiento de diferentes matrices de muestra de una instantánea, la principal cuestión de estas realizaciones se motiva por medio de una breve introducción en el campo del tratamiento de diferentes matrices de muestra por instantánea.
La siguiente descripción se centra en parámetros de codificación entre bloques de diferentes matrices de muestra de una instantánea en una aplicación de codificación de imagen o video y, en particular, una forma de predecir adaptativamente parámetros de codificación entre diferentes matrices de muestra de una instantánea en, por ejemplo, pero no exclusivamente el codificador y decodificador de las Figuras 1 y 2, respectivamente, u otro entorno de codificación de imagen o video. Las matrices de muestra pueden, como se ha indicado anteriormente, representar matrices de muestra que están relacionadas con diferentes componentes de color o matrices de muestra que asocian una instantánea con información adicional tal como datos de transparencia o mapas de profundidad. Matrices de muestra que están relacionadas con componentes de color de una instantánea también se denominan como planos de colores. La técnica descrita a continuación también se denomina como adopción/predicción entre planos y puede usarse en codificadores y decodificadores de video e imagen basados en bloque, con lo que el orden de procesamiento de los bloques de las matrices de muestra para una instantánea puede ser arbitrario.
Codificadores de imágenes y video se diseñan habitualmente para codificar instantáneas en color (ya sean imágenes fijas o instantáneas de una secuencia de video). Una instantánea de color consta de múltiples planos de colores, que representan matrices de muestra para diferentes componentes de color. A menudo, instantáneas de colores se codifican como un conjunto de matrices de muestra que constan de un plano de luminancia y dos planos de crominancia, en los que estos últimos especifican componentes de diferencias de color. En algunas áreas de aplicación, también es común que el conjunto de matrices de muestra codificadas conste de tres planos de colores que representa matrices de muestra para los tres colores primarios rojo, verde y azul. Además, para una representación de color mejorada, una instantánea de color puede constar de más de tres planos de colores. Adicionalmente, una instantánea puede asociarse con matrices de muestra auxiliares que especifican información adicional para la instantánea. Por ejemplo, tales matrices de muestra auxiliares pueden ser matrices de muestra que especifican la transparencia (adecuada para propósitos de visualización específicos) para las matrices de muestra de color asociadas o matrices de muestra que especifican un mapa de profundidad (adecuado para convertir múltiples vistas, por ejemplo, para visualizadores de 3D).
En las normas de codificación de imagen y video convencionales (tal como H.264), los planos de colores normalmente se codifican juntos, con lo que parámetros de codificación particulares tal como modos de predicción de macrobloque y submacrobloque, índices de referencia y vectores de movimiento se usan para todos los componentes de colores de un bloque. El plano de luminancia puede considerarse como el plano de color primario para el que se especifican los parámetros de codificación particulares en el flujo de bits, y los planos de crominancia pueden considerarse como planos secundarios, para los que los correspondientes parámetros de codificación se infieren a partir del plano de luminancia primario. Cada bloque de luminancia se asocia con dos bloques de crominancia que representan la misma área en una instantánea. Dependiendo del formato de muestreado de crominancia usado, las matrices de muestra de crominancia pueden ser más pequeñas que la matriz de muestras de luminancia para un bloque. Para cada macrobloque que consta de un componente de luminancia y dos de crominancia, se usa el mismo particionamiento en bloques más pequeños (si el macrobloque se subdivide). Para cada bloque que consta de un bloque de muestras de luminancia y dos bloques de muestras de croma (que pueden ser el propio macrobloque o un subbloque del macrobloque), se emplea el mismo conjunto de parámetros previstos tal como índices de referencia, parámetros de movimiento y en ocasiones modos de intra predicción. En perfiles específicos de normas de codificación de video convencionales (tal como el perfil 4:4:4 en H.264), también es posible codificar los diferentes planos de colores de una instantánea independientemente. En esa configuración, el particionamiento de macrobloque, los modos de predicción, índices de referencia y parámetros de movimiento pueden elegirse de forma separada para un componente de color de un macrobloque o subbloque. En normas de codificación convencionales, o bien se codifican juntos todos los planos de colores 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 colores se codifican completamente independientemente entre sí.
Si los planos de colores se codifican juntos, debe usarse un conjunto de subdivisión y parámetros de predicción para todos los componentes de color de un bloque. Esto asegura que la información secundaria se mantiene pequeña, pero puede resultar en una reducción de la eficiencia de codificación en comparación con una codificación independiente, ya que el uso de diferentes descomposiciones bloque y parámetros de predicción para diferentes componentes de color pueden resultar en un coste de distorsión de tasa más pequeño. Como un ejemplo, el uso de un vector de movimiento diferente o fotograma de referencia para los componentes de crominancia puede reducir significativamente la energía de la señal residual para los componentes de crominancia y aumentar su eficiencia de codificación en general. Si los planos de colores se codifican independientemente, los parámetros de codificación tal como el particionamiento de bloque, los índices de referencia y los parámetros de movimiento pueden seleccionarse para cada componente de color de forma separada para optimizar la eficiencia de codificación para cada componente de color. Pero no es posible emplear la redundancia entre los componentes de color. Las múltiples transmisiones de parámetros de codificación particulares sí resulta en una tasa de información secundaria aumentada (en comparación con la codificación combinada) y esta tasa de información secundaria aumentada puede tener un impacto negativo en la eficiencia de codificación en general. También, el soporte para matrices de muestra auxiliares en las normas de codificación de video (tal como H.264) del estado de la técnica se limita al caso en que las matrices de muestra auxiliares se codifican usando su propio conjunto de parámetros de codificación.
Por lo tanto, en todas las realizaciones de comparación descritas hasta ahora, los planos de instantáneas podrían tratarse como se describe anteriormente, pero como se ha analizado también anteriormente, la eficiencia de codificación en general para la codificación de múltiples matrices de muestra (que puede relacionarse con diferentes planos de colores y/o matrices de muestra auxiliares) puede aumentarse, cuando fuera posible decidir sobre una base de bloques, por ejemplo, si todas las matrices de muestra 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 entre planos es permitir tal decisión adaptativa sobre una base de bloques, por ejemplo. El codificador puede elegir, por ejemplo basándose en un criterio de distorsión de tasa, si todas o algunas de las matrices de muestra para 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 muestra. Esta selección también puede conseguirse señalizando para un bloque particular de una matriz de muestras si parámetros de codificación específicos se infieren a partir de un bloque coubicado ya codificado de una matriz de muestras diferente. También es posible disponer diferentes matrices de muestra para una instantánea en grupos, que también se denominan como matriz de muestras grupos o grupos de planos. Cada grupo de planos puede contener una o más matrices de muestra de una instantánea. A continuación, los bloques de las matrices de muestra dentro de un grupo de planos comparten los mismos parámetros de codificación seleccionados tal como información de subdivisión, modos de predicción y modos de codificación residual, mientras que otros parámetros de codificación tal como niveles de coeficientes de transformación se transmiten de forma separada para cada matriz de muestra dentro del grupo de planos. Un grupo de planos se codifica como grupo de planos primario, 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 secundario, puede elegirse adaptativamente 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 primario u otro secundario. Las decisiones de si parámetros de codificación seleccionados para un bloque particular se infieren o predicen se incluyen en el flujo de bits. La predicción entre planos permite una mayor libertad en seleccionar la compensación entre la tasa de información secundaria y calidad de predicción en relación con la codificación del estado de la técnica de instantáneas que constan de múltiples matrices de muestra. La ventaja es una eficiencia de codificación mejorada en relación con la codificación convencional de instantáneas que constan de múltiples matrices de muestra.
Adopción/predicción intra plano puede extender un codificador de imágenes o video, tal como los de la anterior descripción, de una forma que puede elegirse adaptativamente para un bloque de una matriz de muestras de color o una matriz de muestras auxiliar o un conjunto de matrices de muestra de color y/o matrices de muestra auxiliares si un conjunto de parámetros de codificación seleccionado se infiere o predice a partir de bloques coubicados ya codificados de otras matrices de muestra en la misma instantánea o si el conjunto seleccionado de parámetros de codificación para el bloque se codifica independientemente sin hacer referencia a bloques coubicados de otras matrices de muestra en la misma instantánea. 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 muestra pueden incluirse en el flujo de bits. Las diferentes matrices de muestra que se asocian con una instantánea no necesitan tener el mismo tamaño.
Como se describe anteriormente, las matrices de muestra que se asocian con una instantánea (las matrices de muestra pueden representar componentes de color y/o matrices de muestra auxiliares) pueden disponerse en dos o más así llamados grupos de planos, en los que cada grupo de planos consta de una o más matrices de muestra. Las matrices de muestra que se contienen en un grupo de planos particular no necesitan tener el mismo tamaño. Obsérvese que esta disposición en grupo de planos incluye el caso de que cada matriz de muestras se codifica de forma separada.
Para ser más precisos, puede elegirse adaptativamente, para cada bloque de un grupo de planos, 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 instantánea o si estos parámetros de codificación se codifican de forma separada 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 (intra predicción, inter predicción usando un único vector de movimiento e instantánea de referencia, inter predicción usando dos vectores de movimiento e instantáneas de referencia, inter predicción usando un modelo de movimiento de orden alto, es decir, no traslacional y una única instantánea de referencia, inter predicción usando múltiples modelos de movimiento e instantáneas de referencia), modos de intra predicción que especifican cómo se genera una señal de intra predicción, un identificador que especifica cuántas señales de predicción se combinan para generar la señal de predicción final para el bloque, índices de referencia que especifican qué instantánea o instantáneas de referencia se emplea/n para predicción compensada por movimiento, parámetros de movimiento (tal como vectores de desplazamiento o parámetros de movimiento afines) que especifican cómo la señal o señales de predicción se genera/n usando la instantánea o instantáneas de referencia, un identificador que especifican cómo la instantánea o instantáneas de referencia se filtra/n para generar señales de predicción compensadas por movimiento. Obsérvese que en general, un bloque puede asociarse con únicamente un subconjunto de los parámetros de codificación mencionados. Por ejemplo, si el bloque modo de predicción especifica que un bloque se intra predice, los parámetros de codificación para un bloque pueden incluir adicionalmente modos de intra predicción, pero no se especifican parámetros de codificación tal como índices de referencia y parámetros de movimiento que especifican cómo se genera una señal de intra predicción; o si el bloque modo de predicción especifica inter predicción, los parámetros de codificación asociados pueden incluir adicionalmente índices de referencia y parámetros de movimiento, no se especifican pero modos de intra predicción.
Uno de los dos o más grupos de planos puede codificarse o indicarse dentro del flujo de bits como el grupo de planos primario. Para todos los bloques de este grupo de planos primario, 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 instantánea. Los restantes grupos de planos se codifican como grupos de planos secundarios. Para cada bloque de los grupos de planos secundarios, se transmite uno o más elementos de sintaxis que señalizan si los parámetros de codificación para especificar cómo el bloque se predice se infieren o predicen a partir de un bloque coubicado de otros grupos de planos o se transmite si un nuevo conjunto de estos parámetros de codificación para el bloque. Uno del uno o más elementos de sintaxis puede denominarse como bandera de predicción entre planos o parámetro de predicción entre planos. Si los elementos de sintaxis señalizan que los correspondientes parámetros de codificación no se infieren o predicen, se transmite en el flujo de bits un nuevo conjunto de los correspondientes parámetros de codificación para el bloque. Si los elementos de sintaxis señalizan que los correspondientes parámetros de codificación se infieren o predicen, se determina el bloque coubicado en un así llamado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de múltiples formas. En una realización, un grupo de planos de referencia particular puede asignarse a cada grupo de planos secundario; esta asignación puede fijarse o puede señalizarse en estructuras de sintaxis de alto nivel tal como conjuntos de parámetros, encabezamientos de unidades de acceso, encabezamiento de instantáneas o encabezamiento de segmentos.
Como alternativa, la asignación del grupo de planos de referencia se codifica dentro del flujo de bits y señaliza mediante el uno o más elementos de sintaxis que se codifican para un bloque para especifican si los parámetros de codificación seleccionados se infieren o predicen o codifican de forma separada.
Para facilitar las posibilidades recién mencionadas en conexión con predicción entre planos y la siguiente descripción detallada, se hace referencia a la Figura 11, que muestra ilustrativamente una instantánea 500 compuesta de tres matrices de muestra 502, 504 y 506. En aras de un entendimiento más fácil, se muestran meramente subporciones de las matrices de muestra 502-506 en la Figura 11. Las matrices de muestra se muestran como si se registrasen una contra otra espacialmente, de modo que las matrices de muestra 502-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 muestra 502-506 a lo largo de la dirección 508 resulta en que las muestras de todas estas matrices de muestra 502-506 se ubican espacialmente correctamente entre sí. En otras palabras, los planos 502 y 506 se han extendido a lo largo de la dirección horizontal y vertical para adaptar su resolución espacial entre sí y para registrar la misma entre sí.
De acuerdo con una realización, todas las matrices de muestra de una instantánea pertenecen a la misma porción de una escena espacial en la que la resolución a lo largo de la dirección vertical y horizontal puede diferir entre las matrices de muestra 502-506 individuales. Además, para propósitos de ilustración, las matrices de muestra 502 y 504 se consideran que pertenecen a un grupo de planos 510, mientras que la matriz de muestras 506 se considera que pertenece a otro grupo de planos 512. Además, la Figura 11 ilustra el caso ilustrativo en el que la resolución espacial a lo largo del eje horizontal de matriz de muestras 504 es el doble de la resolución en la dirección horizontal de matriz de muestras 502. Además, la matriz de muestras 504 se considera que forma la matriz primaria en relación con la matriz de muestras 502, que forma una matriz subordinada en relación con la matriz primaria 504. Como se ha explicado anteriormente, en este caso, la subdivisión de matriz de muestras 504 en bloques según se decide por el subdivisor 30 de la Figura 1 se adopta por la matriz subordinada 502 en la que, de acuerdo con el ejemplo de la Figura 11, debido a la que resolución vertical de la matriz de muestras 502 es la mitad de la resolución en la dirección vertical de matriz primaria 504, cada bloque se ha dividido por la mitad en dos bloques horizontalmente yuxtapuestos, que, debido a la división por la mitad son bloques cuadráticos de nuevo cuando se miden en unidades de las posiciones de muestra dentro de la matriz de muestras 502.
Como se muestra ilustrativamente en la Figura 11, la subdivisión elegida para 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 de forma separada o independiente de la subdivisión para grupo de planos 510. Por supuesto, la resolución de matriz de muestras 506 también puede diferir de las resoluciones de los planos 502 y 504 del grupo de planos 510.
Ahora, cuando se codifican las matrices de muestra 502-506 individuales, el codificador 10 puede comenzar con la codificación de la matriz primaria 504 del grupo de planos 510 de, por ejemplo, la manera descrita anteriormente. 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 entre planos usa subdivisión de múltiples árboles como se ilustra en la Figura 11.
Después de la transmisión del elemento de sintaxis para matriz primaria 504, el codificador 10 puede decidir declarar que la matriz primaria 504 sea el plano de referencia para el plano subordinado 502. El codificador 10 y extractor 30, respectivamente, pueden señalizar esta decisión a través del flujo de bits 22 mientras la asociación puede estar clara a partir del hecho de que la matriz de muestras 504 forma la matriz primaria de grupo de planos 510 cuya información, a su vez, también puede ser parte del flujo de bits 22. En cualquier caso, para cada bloque dentro del insertador 18 de matriz de muestras 502 o cualquier otro módulo del codificador 10 junto con insertador 18 puede decidir o bien suprimir una transferencia de los parámetros de codificación de este bloque dentro del flujo de bits y señalizar dentro del flujo de bits para ese bloque en lugar de que los parámetros de codificación de un bloque coubicado dentro de la matriz primaria 504 se usen en su lugar, o que los parámetros de codificación del bloque coubicado dentro de la matriz primaria 504 se usen como una predicción para los parámetros de codificación del bloque actual de matriz de muestras 502 transfiriendo meramente los datos residuales de los mismos para el bloque actual de la matriz de muestras 502 dentro del flujo de bits. En caso de una decisión negativa, los parámetros de codificación se transfieren dentro del flujo de datos como usuales. La decisión se señaliza dentro del flujo de datos 22 para cada bloque. En el lado de decodificador, el extractor 102 usa esta información de predicción entre planos para cada bloque para ganar los parámetros de codificación del respectivo bloque de la matriz de muestras 502 en consecuencia, a saber infiriendo los parámetros de codificación del bloque coubicado de la matriz primaria 504 o, como alternativa, extrayendo datos residuales para ese bloque 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 adopción entre planos/información de predicción sugiere adopción/predicción entre planos, o extrayendo los parámetros de codificación del bloque actual de la matriz de muestras 502 como siempre independente de la matriz primaria 504.
Como también se ha descrito anteriormente, planos de referencia no se limitan a residir dentro del mismo grupo de planos que el bloque para el que predicción entre planos es de interés en la actualidad. Por lo tanto, como se describe anteriormente, el grupo de planos 510 puede representar el grupo de planos primario o grupo de planos de referencia para el grupo de planos secundario 512. En este caso, el flujo de bits podría contener un elemento de sintaxis que indica para cada bloque de matriz de muestras 506 en cuanto a 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 primario o grupo de planos de referencia 510 se realizarán o no en el que en el último caso los parámetros de codificación del bloque actual de matriz de muestras 506 se transmiten como siempre.
Se ha de observar que el grupo de planos de referencia puede ser un grupo de planos primario o un grupo de planos secundario.
La coubicación entre bloques de diferentes planos dentro de un grupo de planos se entiende fácilmente ya que la subdivisión de la matriz de muestras primaria 504 se adapta espacialmente por la matriz de muestras subordinada 502, excepto el recién descrito subparticionamiento de los bloques para convertir los bloques hoja adoptados en bloques cuadráticos. En caso de adopción/predicción entre planos entre diferentes grupos de planos, la coubicación podría definirse de una forma para permitir 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 derivación del bloque coubicado y el grupo de planos de referencia puede hacerse mediante un proceso similar al siguiente. Se selecciona una muestra particular 514 en el bloque actual 516 de una de las matrices de muestra 506 del grupo de planos secundario 512. La misma puede ser la muestra superior izquierda del bloque actual 516 como se muestra en 514 en la Figura 11 para propósitos de ilustración o, una muestra en el bloque actual 516 cerca la mitad del bloque actual 516 o cualquier otra muestra dentro del bloque actual, que se define inequívocamente geométricamente. Se calcula la ubicación de esta muestra seleccionada 515 dentro de una matriz de muestras 502 y 504 del grupo de planos de referencia 510. Las posiciones de la muestra 514 dentro de las matrices de muestra 502 y 504 se indican en la Figura 11 en 518 y 520, respectivamente. Cuál de los planos 502 y 504 dentro del grupo de planos de referencia 510 se usa realmente puede determinarse o puede señalizarse dentro del flujo de bits. Se determina la muestra dentro de la correspondiente matriz de muestras 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 dentro de la respectiva matriz de muestras 502 y 504, respectivamente. En caso de la Figura 11, estos son los bloques 522 y 524, respectivamente. Un enfoque alternativo para determinar el bloque coubicado en otros planos se describe más tarde.
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 correspondientes parámetros de predicción del bloque coubicado 522/524 en un grupo de planos 510 diferente de la misma instantánea 500, sin transmitir información secundaria adicional. La inferencia puede constar de una simple copia de los correspondientes parámetros de codificación o una adaptación de los parámetros de codificación tomando en cuenta diferencias entre el grupo de planos actual 512 y de referencia 510. Como un ejemplo, esta adaptación puede constar de la adición de una corrección de parámetro de movimiento (por ejemplo, una corrección de vector de desplazamiento) para tener en cuenta la diferencia de fase entre matrices de muestra de luminancia y crominancia; o la adaptación puede constar de la modificación de la precisión de los parámetros de movimiento (por ejemplo, modificando la precisión de vectores de desplazamiento) para tener en cuenta la diferente resolución de matrices de muestra de luminancia y crominancia. Uno o más de los parámetros de codificación inferidos para especificar la generación de señal de predicción no se usan directamente para el bloque actual 516, sino que se usan como una predicción para los correspondientes parámetros de codificación para el bloque actual 516 y se transmite un refinamiento de estos parámetros de codificación para el bloque actual 516 en el flujo de bits 22. Como un ejemplo, los parámetros de movimiento inferidos no se usan directamente, sino que diferencias de parámetros de movimiento (tal como una diferencia de vector 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 de decodificador, 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 particular, la subdivisión de un bloque, tal como los bloques de árbol de la subdivisión de predicción anteriormente mencionada en bloques de predicción (es decir, bloques de muestras para los que se usa el mismo conjunto de parámetros previstos) se infiere o predice adaptativamente a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma instantánea, es decir la secuencia de bits de acuerdo con 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 primario. Para todos bloques de este grupo de planos primario, la información de subdivisión se transmite sin hacer referencia a otros grupos de planos de la misma instantánea. Los restantes grupos de planos se codifican como grupos de planos secundarios. Para bloques de los grupos de planos secundarios, se transmite uno o más elementos de sintaxis que señalizan 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 de los uno o más elementos de sintaxis puede denominarse como bandera de predicción entre planos o parámetro de predicción entre planos. Si los elementos de sintaxis señalizan 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 instantánea. Si los elementos de sintaxis señalizan que la información de subdivisión se infiere o predice, se determina el bloque coubicado en un así llamado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de múltiples formas. En una realización, un grupo de planos de referencia particular se asigna a cada grupo de planos secundario; esta asignación puede fijarse o puede señalizarse en estructuras de sintaxis de alto nivel como conjuntos de parámetros, encabezamientos de unidades de acceso, encabezamiento de instantáneas o encabezamiento de segmentos. En una segunda realización, la asignación del grupo de planos de referencia se codifica dentro del flujo de bits y señaliza por el uno o más elementos de sintaxis que se codifican para un bloque para especifican si la información de subdivisión se infiere o predice o codifica de forma separada. El grupo de planos de referencia puede ser el grupo de planos primario u otro grupo de planos secundario. 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 en el 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 particionarse en bloques de predicción más pequeños.
La información de subdivisión para el bloque actual, tal como la información de subdivisión basada en árbol cuaternario de acuerdo con las Figuras 6a o 6b, puede inferirse completamente usando la información de subdivisión del bloque coubicado en un grupo de planos diferente de la misma instantánea, sin transmitir información secundaria adicional. Como un ejemplo particular, si el bloque coubicado se particiona en dos o cuatro bloques de predicción, el bloque actual también se particiona en dos o cuatro subbloques para el propósito de predicción. Como otro ejemplo particular, si el bloque coubicado se particiona en cuatro subbloques y uno de estos subbloques se particiona adicionalmente en cuatro subbloques más pequeños, el bloque actual también se particiona en cuatro subbloques y uno de estos subbloques (el que corresponde al subbloque del bloque coubicado que se descompone adicionalmente) también se particiona en cuatro subbloques más pequeños. Como alternativa, 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 correspondiente información de refinamiento 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 un el bloque coubicado que no se particiona en bloques más pequeños, un elemento de sintaxis puede codificarse en el flujo de bits, que especifica si el subbloque se descompone adicionalmente en el grupo de planos actual. La transmisión de un elemento de sintaxis de este tipo puede condicionarse al tamaño del subbloque. O puede señalizarse en el flujo de bits que un subbloque que se particiona adicionalmente en el grupo de planos de referencia no se particiona 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 esos subbloques se predicen se infieren o predicen adaptativamente a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma instantánea. En una realización preferida de la invención, uno de los dos o más grupos de planos se codifica como grupo de planos primario. Para todos los bloques de este grupo de planos primario, 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 instantánea. Los restantes grupos de planos se codifican como grupos de planos secundarios. Para bloques de los grupos de planos secundarios, se transmite uno o más elementos de sintaxis que señalizan 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 de sintaxis puede denominarse como bandera de predicción entre planos o parámetro de predicción entre planos. Si los elementos de sintaxis señalizan 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 instantánea. Si los elementos de sintaxis señalizan 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 así llamado grupo de planos de referencia. La asignación del grupo de planos de referencia para el bloque puede configurarse de múltiples formas. En una realización, un grupo de planos de referencia particular se asigna a cada grupo de planos secundario; esta asignación puede fijarse o puede señalizarse en estructuras de sintaxis de alto nivel tal como conjuntos de parámetros, encabezamientos de unidades de acceso, encabezamiento de instantáneas o encabezamiento de segmentos. En una segunda realización, la asignación del grupo de planos de referencia se codifica dentro del flujo de bits y señaliza por el uno o más elementos de sintaxis que se codifican para un bloque para especifican si la información de subdivisión y los parámetros de predicción se infieren o predicen o codifican de forma separada. El grupo de planos de referencia puede ser el grupo de planos primario u otro grupo de planos secundario. 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 en el 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 particionarse 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 se infieren completamente usando la información de subdivisión del bloque coubicado en un grupo de planos diferente de la misma instantánea y los parámetros de predicción de los correspondientes subbloques, sin transmitir información secundaria adicional. Como un ejemplo particular, si el bloque coubicado se particiona en dos o cuatro bloques de predicción, el bloque actual también se particiona en dos o cuatro subbloques para el propósito de predicción y los parámetros de predicción para los subbloques del bloque actual se derivan como se describe anteriormente. Como otro ejemplo particular, si el bloque coubicado se particiona en cuatro subbloques y uno de estos subbloques se particiona adicionalmente en cuatro subbloques más pequeños, el bloque actual también se particiona en cuatro subbloques y uno de estos subbloques (el que corresponde al subbloque del bloque coubicado que se descompone adicionalmente) también se particiona en cuatro subbloques más pequeños y los parámetros de predicción para todos los subbloques no particionados adicionalmente se infieren como se describe anteriormente. En una realización preferida adicional, la información de subdivisión se infiere completamente basándose en 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 se usan únicamente 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 describe 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 predicción y la diferencias entre la información de subdivisión real y parámetros de predicción y sus valores inferidos se transmiten en el flujo de bits.
Puede elegirse adaptativamente, para un bloque de un grupo de planos, 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 instantánea o si los modos de codificación residual se codifican de forma separada para el bloque. Esta realización 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 transformación (es decir, bloques de muestras a los que se aplica una transformación bidimensional) se infiere o predice adaptativamente a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma instantánea. Esta realización es similar a la realización para la inferencia/predicción adaptativa de la subdivisión en bloques de predicción descrita anteriormente.
La subdivisión de un bloque en bloques de transformación y los modos de codificación residual (por ejemplo, tipos de transformación) para los bloques de transformación resultantes puede inferirse o predecirse adaptativamente a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma instantánea. Esta realización es similar a la realización para 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.
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 transformación pueden inferirse o predecirse adaptativamente a partir de un bloque coubicado ya codificado de un grupo de planos diferente para la misma instantánea. Esta realización representa una combinación de las realizaciones descritas anteriormente. También es posible que únicamente algunos de los parámetros de codificación mencionados se infieren o predicen.
Por lo tanto, la adopción/predicción entre planos puede aumentar la eficiencia de codificación descrita anteriormente. Sin embargo, la ganancia de eficiencia de codificación por medio de adopción/predicción entre planos está también disponible en caso de que otras subdivisiones de bloque se usen distintas de subdivisiones basadas en múltiples árboles e independientes de que se implemente o no la unión de bloques.
Las realizaciones descritas anteriormente con respecto a adaptación/predicción entre planos son aplicables a codificadores y decodificadores de imágenes y video que dividen los planos de colores de una instantánea y, si están presente, las matrices de muestra auxiliares asociadas con una instantánea en bloques y 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 como se predice o decodifica un bloque en el lado de decodificador. Como ejemplos particulares, los parámetros de codificación pueden representar modos de predicción de macrobloque o bloque, información de subdivisión, modos de intra predicción, índices de referencia usados para predicción compensada por movimiento, parámetros de movimiento tal como vectores de desplazamiento, modos de codificación residual, coeficientes de transformación, etc. Las diferentes matrices de muestra que se asocian con una instantánea pueden tener diferentes tamaños. A continuación, se describe un esquema para mejorar la señalización de parámetros de codificación dentro de un esquema de particionamiento basado en árbol como, por ejemplo, los descritos anteriormente con respecto a la Figura 1 a 8. Como con los otros esquemas, a saber adopción/predicción de unión e entre planos, los efectos y ventajas de los esquemas de señalización mejorados, a continuación a menudo llamados herencia, se describen independientes de los ejemplos y realizaciones anteriores, aunque los esquemas descritos a continuación se pueden combinar con cualquiera de los ejemplos y realizaciones anteriores, o bien solos o en combinación.
En general, el esquema de codificación mejorado para codificar información secundaria dentro de un esquema de particionamiento basado en árbol, llamado herencia, descrito a continuación habilita las siguientes ventajas en relación con esquemas convencionales de tratamiento de parámetros de codificación.
En codificación de imágenes y video convencional, las instantáneas o conjuntos particulares de matrices de muestra para las instantáneas se descomponen normalmente en bloques, que se asocian con parámetros de codificación particulares. Las instantáneas normalmente constan de múltiples matrices de muestra. Además, una instantánea también puede asociarse con matrices de muestras auxiliares adicionales, que pueden, por ejemplo, especificar información de transparencia o mapas de profundidad. Las matrices de muestra de una instantánea (incluyendo matrices de muestra auxiliares) pueden agruparse en uno o más así llamados grupos de planos, en los que cada grupo de planos consta de una o más matrices de muestra. Los grupos de planos de una instantánea pueden codificarse independientemente o, si la instantánea se asocia con más de un grupo de planos, con predicción de otros grupos de planos de la misma instantánea. Cada grupo de planos se descompone normalmente en bloques.
Los bloques (o los bloques correspondientes de matrices de muestra) se predicen mediante predicción inter instantánea o predicción intra instantánea. Los bloques pueden tener diferentes tamaños y pueden ser o bien cuadráticos o rectangulares. La partición de una instantánea en bloques puede o bien fijarse por la sintaxis o bien puede señalizarse (al menos parcialmente) dentro del flujo de bits. A menudo se transmiten elementos de sintaxis que señalizan la subdivisión para bloques de tamaños predefinidos. Tales elementos de sintaxis pueden especificar si y cómo se subdivide un bloque en bloques más pequeños y son parámetros de codificación asociados, por ejemplo para el propósito de predicción. Para todas las muestras de un bloque (o los bloques correspondientes de matrices de muestra) la decodificación de los parámetros de codificación asociados se especifica de una cierta forma. En el ejemplo, todas las muestras en un bloque se predicen usando el mismo conjunto de parámetros previstos, tal como índices de referencia (identificando una instantánea de referencia en el conjunto de instantáneas ya codificadas), parámetros de movimiento (especificando una medida para el movimiento de bloques entre una instantánea de referencia y la instantánea actual), parámetros para especificar el filtro de interpolación, modos de intra predicción, etc. Los parámetros de movimiento pueden representarse mediante vectores de desplazamiento con un componente horizontal y vertical o por parámetros de movimiento de órdenes mayores tal como parámetros de movimiento afines que constan de seis componentes. También es posible que más de un conjunto de parámetros de predicción particulares (tal como índices de referencia y parámetros de movimiento) se asocien 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 muestra), y la señal de predicción final se construye por una combinación que incluye superponer las señales de predicción intermedias. Los parámetros de ponderación correspondientes y potencialmente también una compensación constante (que se añade a la suma ponderada) puede o bien fijarse para una instantánea, o una instantánea de referencia, o bien un conjunto de instantáneas de referencia, o pueden incluirse en el conjunto de parámetros previstos para el bloque correspondiente. La diferencia entre los bloques originales (o los bloques correspondientes de matrices de muestra) y sus señales de predicción, también denominada como la señal residual, normalmente se transforma y cuantifica. A menudo, se aplica una transformación bidimensional a la señal residual (o las correspondientes matrices de muestra para el bloque residual). Para codificación por transformación, los bloques (o los bloques correspondientes de matrices de muestra), para los que se ha usado un conjunto particular de parámetros previstos, pueden dividirse adicionalmente antes de aplicar la transformación. Los bloques de transformación pueden ser iguales a o más pequeños que los bloques que se usan para predicción. También es posible que un bloque de transformación incluya más de uno de los bloques que se usan para predicción. Diferentes bloques de transformación pueden tener diferentes tamaños y los bloques de transformación pueden representar bloques cuadráticos o rectangulares. Después de la transformación, los coeficientes de transformación resultantes se cuantifican y se obtienen los así llamados niveles de coeficientes de transformación. Los niveles de coeficientes de transformación así como los parámetros de predicción y, si está presente, la información de subdivisión se codifican por entropía.
En algunas normas de codificación de imágenes y video, las posibilidades para subdividir una instantánea (o un grupo de planos) en bloques que se proporcionan mediante la sintaxis son muy limitadas. Normalmente, puede especificarse únicamente si (y potencialmente cómo) un bloque de un tamaño predefinido puede subdividirse en bloques más pequeños. Como un ejemplo, el mayor tamaño de bloque en H.264 es de 16x16. Los bloques de 16x16 también se denominan como macrobloques y cada instantánea se particiona en macrobloques en una primera etapa. Para cada 16x16 macrobloque, puede señalizarse si 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 o bien codificarse como un bloque de 8x8, o bien como dos bloques de 8x4, o bien dos bloques de 4x8, o bien como cuatro bloques de 4x4. El conjunto pequeño de posibilidades para especificar la partición en bloques en normas de codificación de imágenes y video del estado de la técnica tiene la ventaja de que la tasa de información secundaria para señalizar la información de subdivisión puede mantenerse pequeña, pero tiene la desventaja de que la tasa de bits requerida para transmitir los parámetros de predicción para los bloques puede volverse significativa como se explica a continuación. La tasa de información secundaria para señalizar la información de predicción normalmente representa una cantidad significativa de la tasa de bits general para un bloque. Y la eficiencia de codificación podría aumentarse cuando se reduce esta información secundaria, que, por ejemplo, podría conseguirse usando tamaños de bloque más grandes. Imágenes o instantáneas reales de una secuencia de video constan de objetos con formas arbitrarias con propiedades específicas. Como un ejemplo, tales objectos o partes de los objetos se caracterizan por una textura única o un movimiento único. Y normalmente, el mismo conjunto de parámetros previstos puede aplicarse para un objeto de este tipo o parte de un objeto. Pero los límites de objeto normalmente no coinciden con los posibles límites de bloque para bloques de predicción grandes (por ejemplo, macrobloques de 16x16 en H.264). Un codificador normalmente determina la subdivisión (entre el conjunto limitado de posibilidades) que resulta en la mínima de una medida de coste de distorsión de tasa particular. Para objetos con forma arbitraria esto puede resultar en un gran número de pequeños bloques. Y ya que cada uno de estos pequeños bloques se asocia con un conjunto de parámetros previstos, que necesitan transmitirse, la tasa de información secundaria puede volverse una parte significativa de toda la tasa de bits. Pero ya que varios de los pequeños bloques aún representan áreas del mismo objeto o parte de un objeto, los parámetros de predicción para un número de los bloques obtenidos son los mismos o muy similares. Intuitivamente, la eficiencia de codificación podría aumentarse cuando la sintaxis se extiende de una forma que no únicamente permite subdividir un bloque, sino también compartir parámetros de codificación entre los bloques que se obtienen después de la subdivisión. En una subdivisión basada en árbol, 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 en la jerarquía basada en árbol. Como resultado, los parámetros compartidos o partes de los mismos pueden usarse para 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 posteriores bloques o usando el parámetro o parámetros compartidos para predicción y/o modelado de contexto de los parámetros para posteriores bloques.
La idea básica del esquema de herencia descrito a continuación es reducir la tasa de bits que se requiere para transmitir los parámetros de codificación compartiendo información a lo largo de la jerarquía de bloques basada en árbol. La información compartida se señaliza dentro del flujo de bits (además de la información de subdivisión). La ventaja del esquema de herencia es una eficiencia de codificación aumentada que resulta de una tasa de información secundaria disminuida para los parámetros de codificación.
Para reducir la tasa de información secundaria, los respectivos parámetros de codificación para conjuntos particulares de muestras, es decir regiones simplemente conectadas, que puede representar rectangular o bloques cuadráticos o regiones con forma arbitraria o cualquier otra colección de muestras, de una subdivisión de múltiples árboles pueden señalizarse dentro del flujo de datos de una forma eficiente. El esquema de herencia descrito a continuación habilita que los parámetros de codificación no tienen que incluirse explícitamente en el flujo de bits para cada uno de estos conjuntos de muestras en su totalidad. Los parámetros de codificación pueden representar parámetros de predicción, que especifican cómo se predice el correspondiente conjunto de muestras usando muestras ya codificadas. Muchas posibilidades y ejemplos se han descrito anteriormente y también se aplican en este punto. Como también se ha indicado anteriormente, y se describirá adicionalmente a continuación, en lo que respecta al siguiente esquema de herencia, el particionamiento basado en árbol de las matrices de muestra de una instantánea en conjuntos de muestras puede fijarse mediante la sintaxis o puede señalizarse mediante la correspondiente información de subdivisión dentro del flujo de bits. Los parámetros de codificación para los conjuntos de muestras pueden, como se describe anteriormente, transmitirse en un orden predefinido, que se proporciona mediante la sintaxis.
De acuerdo con el esquema de herencia, el decodificador o extractor 102 del decodificador se configura para derivar la información sobre los parámetros de codificación de la región simplemente conectada individual o conjuntos de muestras de una forma específica. En particular, parámetros de codificación o partes de los mismos tal como los parámetros que sirven para el propósito de predicción, se comparten entre bloques a lo largo del esquema de particionamiento basado en árbol dado decidiéndose el grupo de compartición a lo largo de la estructura de árbol por el codificador o insertador 18, respectivamente. En un ejemplo particular, la compartición de los parámetros de codificación para todos los nodos hijo de un nodo interno dado del árbol de partición se indica usando una bandera de compartición de valor binario específica. Como un enfoque alternativo, pueden transmitirse refinamientos de los parámetros de codificación para cada nodo de tal forma que los refinamientos acumulados de parámetros a lo largo de la jerarquía de bloques basada en árbol pueden aplicarse a todos los conjuntos de muestras del bloque en un nodo hoja dado. En otro ejemplo, pueden usarse 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 árbol para codificación de entropía adaptable al contexto y decodificación del parámetro de codificación o partes del mismo para el bloque en un nodo hoja dado.
La Figura 12a y 12b ilustran la idea base de herencia para el caso específico de uso de un particionamiento basado en árbol cuaternario. Sin embargo, como se indica varias veces anteriormente, también pueden usarse otros esquemas de subdivisión de múltiples árboles. La estructura de árbol se muestra en la Figura 12a mientras que el correspondiente particionamiento espacial que corresponde a la estructura de árbol de la Figura 12a se muestra en la Figura 12b. La partición mostrada en la misma es similar a la mostrada con respecto a las Figuras 3a a 3c. Hablando en general, el esquema de herencia permitirá que se asigne información secundaria a nodos en diferentes capas no hoja dentro de la estructura de árbol. Dependiendo de la asignación de información secundaria a nodos en las diferentes capas en el árbol, tal como los nodos internos en el árbol de la Figura 12a o el nodo raíz del mismo, pueden conseguirse diferentes grados de compartición de información secundaria dentro de la jerarquía de árbol de bloques mostrada en la Figura 12b. Por ejemplo, si se decide que todos los nodos hoja en la capa 4, que, en caso de la Figura 12a tienen todos el mismo nodo padre, compartirán información secundaria, prácticamente, esto significa que los bloques más pequeños en la Figura 12b indicados con 156a a 156d comparten esta información secundaria y ya no es necesario transmitir la información secundaria para todos estos pequeños bloques 156a a 156d en su totalidad, es decir cuatro veces, aunque esto se mantiene como una opción para el codificador. Sin embargo, también sería posible decidir que toda una región de nivel de jerarquía 1 (capa 2) de la Figura 12a, a saber la cuarta parte en la esquina superior derecha del árbol bloque 150 que incluye los subbloques 154a, 154b y 154d así como los subbloques incluso más pequeños 156a a 156d recién mencionados, sirve como una región en la que se comparten parámetros de codificación. Por lo tanto, se aumenta el área que comparte información secundaria. El siguiente nivel de aumento sería sumar todos los subbloques de capa 1, a saber los subbloques 152a, 152c y 152d y los bloques más pequeños anteriormente mencionados. En otras palabras, en este caso, todo el bloque de árbol tendría información secundaria asignada al mismo compartiendo todos los subbloques de este árbol bloque 150 la información secundaria.
En la siguiente descripción de herencia, se usa la siguiente notación para describir los ejemplos:
a. Muestras reconstruidas de nodo hoja actual: r
b. Muestras reconstruidas de hojas vecinas; r ’
c. Predictor del nodo hoja actual: p
d. Residual del nodo hoja actual: Re s
e. Residual reconstruido del nodo hoja actual: Re c Re s
f. Escalado y transformada inversa: S IT
g. Bandera de compartición: f
Como un primer ejemplo de herencia, puede describirse la señalización de intra predicción en nodos internos. Para ser más precisos, se describe cómo señalizar modos de intra predicción en nodos internos de un particionamiento de bloque basada en árbol para el propósito de predicción. Atravesando el árbol desde el nodo raíz a los nodos hoja, nodos internos (incluyendo el nodo raíz) pueden transmitir partes de información secundaria que se explotará por sus correspondientes nodos hijo. Para ser más específicos, una bandera 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 intra predicción. Además de la bandera de compartición f con un valor de 1, el nodo interno también señaliza el modo de parámetro de intra predicción a usar para todos los nodos hijo. En consecuencia, todos los nodos hijo posteriores no transportan ninguna información de modo de predicción así como ninguna bandera de compartición. Para la reconstrucción de todos los nodos hoja relacionados, el decodificador aplica el modo de intra predicción del correspondiente nodo interno.
• Si f tiene un valor de 0 ("falso"), los nodos hijo del correspondiente nodo interno no comparten el mismo modo de intra predicción y cada nodo hijo que es un nodo interno transporta una bandera de compartición separada.
La Figura 12c ilustra la señalización de intra predicción at nodos internos como se describe anteriormente. El nodo interno en la capa 1 transmite la bandera de compartición y la información secundaria que se proporciona por la información de modo de intra predicción y los nodos hijo no transportan ninguna información secundaria.
Como un segundo ejemplo de herencia, puede describirse el refinamiento de inter predicción. Para ser más precisos, se describe como señalizar información secundaria de modos de inter predicción en modos internos de un particionamiento de bloque basado en árbol para el propósito de refinamiento de parámetros de movimiento, como, por ejemplo, proporcionados por vectores de movimiento. Atravesando el árbol desde el nodo raíz a los nodos hoja, nodos internos (incluyendo el nodo raíz) pueden transmitir partes de información secundaria que se refinarán por sus correspondientes nodos hijo. Para ser más específicos, una bandera 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 la bandera de compartición f con un valor de 1, el nodo interno también señaliza el vector de movimiento y el índice de referencia. En consecuencia, todos los nodos hijo posteriores no transportan ninguna bandera de compartición adicional, pero pueden transportar un refinamiento de esta referencia de vector de movimiento heredada. Para la reconstrucción de todos los nodos hoja relacionados, el decodificador añade el refinamiento de vector de movimiento en el nodo hoja dado a la referencia de vector de movimiento heredada que pertenece a su correspondiente nodo padre interno que corresponde que tiene una bandera 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 a aplicar para predicción compensada por movimiento en este nodo hoja y la referencia de vector de movimiento de su correspondiente nodo padre interno.
• Si f tiene un valor de 0 ("falso"), los nodos hijo del correspondiente nodo interno no comparten necesariamente el mismo modo de inter predicción y no se realiza ningún refinamiento de los parámetros de movimiento en los nodos hijo usando los parámetros de movimiento del correspondiente nodo interno y cada nodo hijo que es un nodo interno transporta una bandera de compartición separada.
La Figura 12d ilustra el refinamiento de parámetro de movimiento como se describe anteriormente. El nodo interno en la capa 1 está transmitiendo la bandera de compartición e información secundaria. Los nodos hijo que son nodos hoja transportan únicamente los refinamientos de parámetro de movimiento y, por ejemplo, el nodo interno hijo en la capa 2 no transporta ninguna información secundaria.
Se hace referencia ahora a la Figura 13. La Figura 13 muestra un diagrama de flujo que ilustra el modo de operación de un decodificador tal como el decodificador de la Figura 2 en la reconstrucción de una matriz de muestras de información que representa una señal de información de ejemplo espacial, que se subdivide en regiones hoja de diferentes tamaños mediante subdivisión de múltiples árboles, a partir de un flujo de datos. Como se ha descrito anteriormente, cada región hoja tiene asociada con la misma un nivel de jerarquía de entre una secuencia de niveles de jerarquía de la subdivisión de múltiples árboles. Por ejemplo, todos los bloques mostrados en la Figura 12b son regiones hoja. La región hoja 156c, por ejemplo, se asocia con capa 4 de jerarquía (o nivel 3). Cada región hoja tiene asociada con 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 se representan, para cada región hoja, por un respectivo conjunto de elementos de sintaxis. Cada elemento de sintaxis es de un respectivo tipo de elemento de sintaxis de entre un conjunto de tipos de elemento de sintaxis. Tal tipo de elemento de sintaxis es, por ejemplo, un modo de predicción, un componente de vector de movimiento, una indicación de un modo de intra predicción o similar. De acuerdo con la Figura 13, el decodificador realiza las siguientes etapas.
En la etapa 550, una información de herencia se extrae del flujo de datos. En caso de la Figura 2, el extractor 102 es responsable de la etapa 550. La información de herencia indica en cuanto a si se usa o no herencia para la matriz actual de muestras de información. La siguiente descripción revelará que existen varias posibilidades para la información de herencia tal como, entre otras, la bandera de compartición f y la señalización de una estructura de múltiples árboles dividida en una parte primaria y secundaria.
La matriz de muestras de información puede ser ya una subparte de una instantánea, tal como un bloque de árbol, a saber el bloque de árbol 150 de la Figura 12b, por ejemplo. Por lo tanto, la información de herencia indica en cuanto a si herencia se usa o no para el bloque de árbol 150 específico. Tal información de herencia puede insertarse en el flujo de datos para todos los árbol bloques de la subdivisión de predicción, por ejemplo.
Además, la información de herencia indica, si se indica que se use herencia, al menos una región de herencia de la matriz de muestras de información, que se compone de un conjunto de hoja regiones y corresponde a un nivel de jerarquía de la secuencia de niveles de jerarquía de la subdivisión de múltiples árboles, que es menor que cada uno de los niveles de jerarquía con los que se asocian el conjunto de regiones hoja. En otras palabras, la información de herencia indica en cuanto a si tiene que usarse herencia o no para la matriz actual de muestras tal como el bloque de árbol 150. Si tiene que usarse, indica al menos una región o subregión de herencia de este bloque de árbol 150, dentro de la cual las regiones hoja comparten parámetros de codificación. Por lo 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, por ejemplo, ser la región formada por subbloques 156a a 156b. Como alternativa, la región de herencia puede ser mayor y puede incluir también adicionalmente los subbloques 154a, b y d, e incluso como alternativa, la región de herencia puede ser el propio bloque de árbol 150 compartiendo todos los bloques hoja del mismo parámetros de codificación asociados con esa región de herencia.
Se ha de observar, sin embargo, que puede definirse más de una región herencia dentro de una matriz de muestras o bloque de árbol 150, respectivamente. Imagínese, por ejemplo, que el subbloque inferior izquierda 152c también se particionó 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 en cuanto a si herencia tiene que usarse o no. Si tiene que usarse, el proceso de la Figura 13 continúa con la etapa 554 en la que un subconjunto de herencia que incluye al menos un elemento de sintaxis de un tipo de elemento de sintaxis predeterminado se extrae del flujo de datos por región de inter herencia. En la siguiente etapa 556, este subconjunto de herencia se copia a continuación en, o usa como una predicción para, un correspondiente subconjunto de herencia de elementos de sintaxis dentro del conjunto de elementos de sintaxis que representa los parámetros de codificación asociados con el conjunto de regiones hoja de las que se compone la respectiva al menos una región de herencia. En otras palabras, para cada región de herencia indicada dentro de la información de herencia, el flujo de datos comprende un subconjunto de herencia de elementos de sintaxis. En incluso otras palabras, la herencia concierne a al menos un cierto tipo de elementos de sintaxis o categoría de elementos de sintaxis que está disponible para herencia. Por ejemplo, el elemento de sintaxis de modo de predicción o modo de inter predicción o modo de intra predicción puede someterse a herencia. Por ejemplo, el subconjunto de herencia contenido dentro del flujo de datos para la región de herencia puede comprender un elemento de sintaxis de modo de inter predicción. El subconjunto de herencia también puede comprender adicionalmente elementos de sintaxis cuyos tipos de elemento de sintaxis dependen del valor del tipo de elemento de sintaxis fijo anteriormente mencionado asociado con el esquema de herencia. Por ejemplo, en caso de que el modo de inter predicción es un componente fijo del subconjunto de herencia, los elementos de sintaxis que definen la compensación de movimiento, tal como los componentes de vector de movimiento, pueden o no incluirse en el subconjunto de herencia mediante sintaxis. Imagínese, por ejemplo, que el cuarto superior derecha del bloque de árbol 150, a saber el subbloque 152b, era la región de herencia, entonces o bien el modo de inter predicción solo podría indicarse para esta región de herencia o bien el modo de inter predicción junto con vectores de movimiento e índices de vector de movimiento.
Todos los elementos de sintaxis contenidos en el subconjunto de herencia se copian en o usan como una predicción para los correspondientes parámetros de codificación de los bloques hoja dentro de que región de herencia, es decir bloques hoja 154a,b,d y 156a a 156d. En caso de que se use predicción, se transmiten residuales para los bloques hoja individuales.
Una posibilidad de transmisión de la información de herencia para el bloque de árbol 150 es la transmisión anteriormente mencionada de una bandera 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 decodificador podría configurarse para extraer y comprobar, para regiones no hoja que corresponden a cualquier de un conjunto de herencia de al menos un nivel de jerarquía de la subdivisión de múltiples árboles, usando un orden de nivel de jerarquía desde el nivel de jerarquía más bajo al nivel de jerarquía más alto, la bandera de compartición f a partir del flujo de datos, en cuanto a si la respectiva bandera de herencia o bandera de compartición prescribe herencia o no. Por ejemplo, el conjunto de herencia de niveles de jerarquía podría formarse por las capas 1 a 3 de jerarquía en la Figura 12a. Por lo tanto, para cualquiera de los nodos de la subestructura de árbol que no son un nodo hoja y que se encuentran dentro de cualquiera de las capas 1 a 3 podría tener una bandera de compartición asociada con el mismo dentro del flujo de datos. El decodificador extrae estas banderas de compartición en el orden desde la capa 1 a la capa 3, tal como en un orden transversal de primero en profundidad y primero en amplitud. Tan pronto como una de las banderas de compartición es igual a 1, el decodificador conoce que los bloques hoja contenidos en una correspondiente región de herencia 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 banderas de herencia. En otras palabras, no se transmiten banderas de herencia para estos nodos hijo dentro del flujo de datos, ya que está claro que el área de estos nodos ya pertenece a la región de herencia dentro de la que se comparte el subconjunto de herencia de elementos de sintaxis.
Las banderas de compartición f podrían intercalarse con los bits anteriormente mencionados que señalizan la subdivisión de árbol cuaternario. Por ejemplo, una secuencia de intercalado de bits que incluye ambas banderas de subdivisión así como banderas de compartición podría ser: 10001101(0000)000, que es la misma información de subdivisión como se ilustra en la Figura 6a con dos banderas de compartición entremezcladas, que se resalta mediante subrayado, para indicar que en la Figura 3c todos los subbloques dentro del cuarto inferior izquierda de árbol bloque 150 comparten parámetros de codificación.
Otra forma para definir la información de herencia que indica la región de herencia sería el uso de dos subdivisiones definidas en de una manera subordinada entre sí como se ha explicado anteriormente con respecto a la predicción y subdivisión residual, respectivamente. Hablando en general, los bloques hoja de la subdivisión primaria podrían formar la región de herencia que define las regiones dentro de las que se comparten subconjuntos de herencia de elementos de sintaxis mientras la subdivisión subordinada define los bloques dentro de estas regiones de herencia para las que se copia o usa el subconjunto de herencia de elementos de sintaxis como una predicción.
Considérese, por ejemplo, el árbol residual como una extensión de la predicción árbol. Además, considérese el caso en el que pueden dividirse bloques de predicción adicionalmente en bloques más pequeños para el propósito de codificación residual. Para cada bloque de predicción que corresponde a un nodo hoja del árbol cuaternario relacionado con predicción, la correspondiente subdivisión para codificación residual se determina mediante uno o más árbol o árboles cuaternarios subordinados.
En este caso, en lugar de usar cualquier señalización de predicción en nodos internos, consideramos que el árbol residual se interpreta de tal forma que también especifica un refinamiento de la predicción árbol en el sentido de usar un modo de predicción constante (señalizado por el correspondiente nodo hoja del árbol relacionado con predicción) pero con muestras de referencia refinadas. El siguiente ejemplo ilustra este caso.
Por ejemplo, la Figura 14a y 14b muestran un particionamiento de árbol cuaternario para intra predicción resaltándose muestras vecinas de referencia para un nodo hoja específico de la subdivisión primaria, mientras la Figura 14b muestra la subdivisión residual de árbol cuaternario para el mismo nodo hoja de predicción con muestras de referencia refinadas. Todos los subbloques mostrados en la Figura 14b comparten los mismos parámetros de inter predicción contenidos dentro del flujo de datos para el respectivo bloque hoja resaltado en la Figura 14a. Por lo tanto, la Figura 14a muestra un ejemplo para el particionamiento de árbol cuaternario convencional para intra predicción, en el que se representan las muestras de referencia para un nodo hoja específico. Preferentemente, sin embargo, se calcula una señal de intra predicción separada para cada nodo hoja en el árbol residual usando muestras vecinas de nodos hoja ya reconstruidos en el árbol residual, por ejemplo, como se indica por las rayas sombreadas grises en 4(b). A continuación, la señal reconstruida de un nodo hoja residual dado se obtiene de la forma ordinaria añadiendo la señal residual cuantificada a esta señal de predicción. Esta señal reconstruida se usa a continuación como una señal de referencia para el siguiente proceso de predicción. Obsérvese que el orden de decodificación para predicción es el mismo que el orden de decodificación residual.
En el proceso de decodificación, como se muestra en la Figura 15, para cada nodo hoja residual, la señal de predicción p se calcula de acuerdo con el modo de intra predicción real (como se indica por el nodo hoja de árbol relacionado con predicción cuaternario) usando las muestras de referencia r .
Después del proceso SIT,
Re c Re s = SIT(Res)
se calcula y almacena la señal reconstruida r pa ra el siguiente proceso de cálculo de predicción:
r = Re c Re s p
El orden de decodificación para predicción es el mismo que el orden de codificación residual, que se ilustra en la Figura 16.
Cada nodo hoja residual se decodifica como se describe en el párrafo anterior. La señal reconstruida r se almacena en una memoria intermedia como se muestra en la Figura 16. De esta memoria intermedia, se tomarán las muestras de referencia r ’ para el siguiente proceso predicción y decodificación.
Después de haber descrito las Figuras 1 a 16 con distintos subconjuntos combinados de los aspectos anteriormente descritos, se describen variantes adicionales de la presente solicitud que se centran en ciertos aspectos ya descritos anteriormente, pero que representan generalizaciones de porciones de la descripción.
En particular, la descripción expuesta anteriormente con respecto al marco de las Figuras 1 y 2 combinó principalmente muchos aspectos de la presente solicitud, que también sería ventajosa cuando se emplea en otras aplicaciones u otros campos de codificación. Como se ha mencionado frecuentemente durante la descripción anterior, la subdivisión de múltiples árboles, por ejemplo, puede usarse sin unión y/o sin adopción/predicción entre planos y/o sin herencia. Por ejemplo, la transmisión del tamaño de bloque máximo, el uso del orden transversal de primero en profundidad, la adaptación de contexto dependiendo del nivel de jerarquía de la respectiva bandera de subdivisión y la transmisión del nivel de jerarquía máximo dentro del flujo de bits para ahorrar tasa de bits de información secundaria, todos estos aspectos son ventajosos independientes entre sí. Esto también es verdadero cuando se considera el esquema de explotación entre planos. La explotación entre planos es ventajosamente independiente de la forma exacta que se subdivide una instantánea en regiones simplemente conectadas y es ventajosamente independiente del uso del esquema de unión y/o herencia. Los mismo se aplica para las ventajas implicadas con unión y herencia.
La Figura 17 generaliza las realizaciones anteriormente mencionadas con respecto a aspectos que pertenecen a la adopción/predicción entre planos. Como lo siguiente representa generalizaciones de las realizaciones descritas anteriormente, muchos de los detalles anteriormente descritos pueden considerarse como combinables con la siguiente descripción.
La Figura 17 muestra módulos de un decodificador para decodificar un flujo de datos que representa diferentes componentes de información espaciadamente muestreada de una instantánea de una escena en planos, comprendiendo cada plano una matriz de muestras de información. El decodificador puede corresponder al mostrado en la Figura 2. En particular, un módulo 700 es responsable de la reconstrucción de cada matriz 502 - 506 de muestras de información procesando carga útil tal como datos residuales o datos de descomposición espectral, asociada con regiones simplemente conectadas en las que cada matriz 502 - 506 de muestras de información se subdivide de una forma prescrita por parámetros de codificación asociados con las regiones simplemente conectadas tales como parámetros de predicción. Este módulo se incorpora, por ejemplo, por todos los bloques además del bloque 102 en caso de decodificador de la Figura 2. Sin embargo, el decodificador de la Figura 17 no necesita ser un decodificador híbrido. Puede no usarse inter y/o intra predicción. Lo mismo se aplica a codificación por transformación, es decir el residual puede codificarse en el dominio espacial en lugar de mediante transformación bidimensional de descomposición espectral.
Un módulo adicional 702 es responsable de derivar los parámetros de codificación asociados con las regiones simplemente conectadas de una primera matriz tal como matriz 506 de las matrices de muestras de información a partir del flujo de datos. Por lo tanto, el módulo 702 define una tarea que es una provisión para la ejecución de la tarea del módulo 700. En caso de la Figura 2, el extractor 102 asume responsabilidad para la tarea del módulo 702. Se ha de observar que la propia matriz 506 podría ser una matriz secundaria, habiéndose obtenido los parámetros de codificación asociados con la misma por medio de adopción/predicción de entre planos.
Un módulo 704 siguiente es para derivar información de intercambio entre planos para las regiones simplemente conectadas de una segunda matriz 504 de las matrices de muestras de información a partir del flujo de datos. En caso de la Figura 2, el extractor 102 asume responsabilidad para la tarea del módulo 702.
Un siguiente módulo 706 es para, dependiendo de la información de intercambio entre planos para las regiones simplemente conectadas de la segunda matriz, decidir, para cada región simplemente conectada o un subconjunto apropiado de las regiones simplemente conectadas de la segunda matriz, cuál de los siguientes módulos 708 y 710 estén activos. En caso de la Figura 2, el extractor 102 coopera con el subdivisor 104 para realizar la tarea del módulo 706. El subdivisor controla el orden en el que se atraviesan las regiones simplemente conectadas, es decir, qué parte de la información de intercambio entre planos se relaciona con cuál de las regiones simplemente conectadas, mientras extractor 102 realiza la extracción real. La información de intercambio entre planos puede definir para cada región simplemente conectada individualmente en cuanto a si adopción/predicción de entre planos tendrá lugar. Sin embargo, este no tiene que ser el caso. También es ventajoso si la decisión se realiza en unidades de subconjuntos apropiados de las regiones simplemente conectadas. Por ejemplo, la información de intercambio entre planos podría definir una o más mayores regiones simplemente conectadas cada una de las cuales se compone de una o una pluralidad de regiones simplemente conectadas vecinas, y para cada una de estas mayores regiones se realiza una adopción/predicción de entre planos.
El módulo 708 es para derivar los parámetros de codificación para la respectiva región simplemente conectada o el subconjunto apropiado de las regiones simplemente conectadas de la segunda matriz 540, al menos parcialmente a partir de los parámetros de codificación de una región simplemente conectada localmente correspondiente de la primera matriz 506 cuya tarea se realiza, en caso de la Figura 2, por el extractor en cooperación con el subdivisor 104 que es responsable de derivar la relación de coubicación, y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada o el subconjunto apropiado de las regiones simplemente conectadas de la segunda matriz de una forma prescrita por los parámetros de codificación así derivados, cuya tarea, a su vez, se realiza por los otros módulos en la Figura 2, es decir 106 a 114.
Como alternativa al módulo 708, el módulo 710 es para, mientras se ignoran los parámetros de codificación para la región simplemente conectada localmente correspondiente de la primera matriz 506, derivar los parámetros de codificación para la respectiva región simplemente conectada o el subconjunto apropiado de las regiones simplemente conectadas de la segunda matriz 504 a partir del flujo de datos, para cuya tarea el extractor 102 de la Figura 2 asume la responsabilidad, y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada o el subconjunto apropiado de las regiones simplemente conectadas de la segunda matriz de una forma prescrita por los parámetros de codificación asociados derivados a partir del flujo de datos, cuya tarea, a su vez, se realiza por los otros módulos en la Figura 2, es decir 106 a 114, bajo el control del subdivisor 104 que, como siempre, es responsable de gestionar la vecindad y relación de coubicación entre las regiones simplemente conectadas.
Como se describe anteriormente con respecto a las Figuras 1 a 16, las matrices de muestras de información no representan necesariamente una instantánea de un video o una instantánea fija o un componente de color de la misma. Las matrices de muestra también podrían representar otros datos físicos bidimensionales tales como un mapa de profundidad o un mapa de transparencia de alguna escena.
Los datos de cabida útil asociados con cada una de la pluralidad de regiones simplemente conectadas pueden, como ya se ha analizado anteriormente, comprender datos residuales en el dominio espacial o en un dominio de la transformada tal como coeficientes de transformación y un mapa de significancia que identifica las posiciones de coeficientes de transformación significativos dentro de un bloque de transformación que corresponde a un bloque residual. Hablando en general, los datos de cabida útil pueden ser datos que describen espacialmente su región simplemente conectada asociada o bien en el dominio espacial o bien en un dominio espectral y o bien directamente o bien como un residual a alguna clase de predicción de la misma, por ejemplo. Los parámetros de codificación, a su vez, no se limitan a parámetros de predicción. Los parámetros de codificación podrían indicar una transformada usada para transformar los datos de cabida útil o podrían definir un filtro a usar en la reconstrucción de las regiones simplemente conectadas individuales cuando se reconstruye la matriz de muestras de información.
Como se describe anteriormente, las regiones simplemente conectadas en las que se subdivide la matriz de muestras de información pueden provenir de una subdivisión de múltiples árboles y pueden tener forma cuadrática o rectangular. Además, la descripción específica para subdividir a matriz de muestras son meramente ejemplos específicos y también pueden usarse otras subdivisiones. Algunas posibilidades se muestran en la Figura 18a-c. La Figura 18a, por ejemplo, muestra la subdivisión de a matriz de muestras 606 en una disposición bidimensional regular de bloques de árbol 608 no solapantes en contacto entre sí dividiéndose algunos de los mismos de acuerdo con una estructura de múltiples árboles en subbloques 610 de diferentes tamaños. Como se ha mencionado anteriormente, aunque en la Figura 18a se ilustra una subdivisión de árbol cuaternario, también es posible un particionamiento de cada nodo padre en cualquier otro número de nodos hijo. La Figura 18b muestra una realización de acuerdo con la cual una matriz de muestras 606 se subdivide en subbloques de diferentes tamaños aplicando una subdivisión de múltiples árboles directamente en toda la matriz de píxeles 606. Es decir, toda la matriz de píxeles 606 se trata como el bloque de árbol. La Figura 18c muestra otra realización. De acuerdo con esta realización, la matriz de muestras se estructura en una disposición bidimensional regular de macrobloques con formas cuadrática o rectangular que están en contacto entre sí y cada uno de estos macrobloques 612 se asocia individualmente con información de particionamiento de acuerdo con la cual un macrobloque 612 se deja sin particionar o se particiona en una disposición bidimensional regular de bloques de un tamaño indicado por la partición información. Como puede observarse, todas las subdivisiones de las Figuras 18a-18c conducen a una subdivisión de la matriz de muestras 606 en regiones simplemente conectadas que ilustrativamente no se están solapando, de acuerdo con las realizaciones de las Figuras 18a-18c. Sin embargo, son posibles varias alternativas. Por ejemplo, los bloques pueden solaparse entre sí. El solapamiento puede, sin embargo, limitarse hasta tal extremo que cada bloque tiene una porción no solapada por ningún bloque vecino, o de tal forma que cada muestra de los bloques se solapa, como máximo, por un bloque entre los bloques vecinos dispuestos en yuxtaposición al bloque actual a lo largo de una dirección predeterminada. Esto último significaría que los bloques vecinos izquierdo y derecho pueden solapar el bloque actual para cubrir totalmente el bloque actual pero pueden no solaparse entre sí, y lo mismo se aplica para los vecinos en la dirección vertical y diagonal.Como una alternativa adicional a la Figura 17, la decisión en el módulo 606 y, por consiguiente, la granularidad en la que se realiza la adopción/predicción de entre planos puede ser planos. Por lo tanto, pueden haber más de dos planos, un plano primario y dos planos secundarios, y el módulo 606 decide, y la información de intercambio entre planos dentro del flujo de datos indica, para cada plan secundario posible de forma separada, en cuanto a si se aplicará adopción/predicción de entre planos para el respectivo plano. Si, se aplica, el tratamiento adicionalmente puede realizarse por región simplemente conectada como se describe anteriormente, en el que, sin embargo, información de intercambio entre planos meramente existe, y tiene que procesarse, dentro de esos planos indicados por la información de intercambio entre planos.
Aunque se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, donde un bloque o dispositivo corresponde a una etapa de método o una característica de una etapa de método. De manera análoga, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o elemento correspondiente o características de un correspondiente aparato. Algunas o todas las etapas de método pueden ejecutarse por (o usar) 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 más importantes del método 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ámbrica o un medio de transmisión por cable tal como internet.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse usando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene señales de control electrónicamente legibles almacenadas en el mismo, que cooperan (o pueden cooperar) con un sistema informático programable de manera que se realiza el respectivo método. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos que tiene señales de control electrónicamente legibles, que pueden cooperar con un sistema informático programable, de manera que se realiza uno de los métodos descritos en el presente documento.
En general, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los métodos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede almacenarse, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en soporte legible por máquina.
En otras palabras, una realización del método inventivo es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en el presente documento, cuando el programa informático se ejecuta en un ordenador.
Una realización adicional de los métodos inventivos es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para realizar uno de los métodos descritos en el presente documento.
Una realización adicional del método inventivo es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden configurarse, por ejemplo, para transferirse mediante una conexión de comunicación de datos, por ejemplo mediante Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo de lógica programare, configurado para o adaptado para realizar uno de los métodos descritos en el presente documento.
Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
En algunas realizaciones, un dispositivo de lógica programable (por ejemplo un campo de matriz de puertas programables) puede usarse para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, un campo de matriz de puertas programables puede cooperar con un microprocesador para realizar uno de los métodos descritos en el presente documento. En general, los métodos se realizan preferentemente por cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que serán evidentes modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento para los expertos en la materia. Se pretende, por lo tanto, estar limitado únicamente por el alcance de las reivindicaciones de patente siguientes y no por los detalles específicos presentados por medio de descripción y explicación de las realizaciones del presente documento.

Claims (7)

REIVINDICACIONES
1. Decodificador para decodificar un flujo de datos (22) que representa diferentes componentes de información espaciadamente muestreada de una instantánea (500) de una escena en planos, siendo cada componente de información uno de un componente de color, mapa de entrada o datos de transparencia, comprendiendo cada plano una matriz (502, 504) de muestras de información, configurándose el decodificador para
subdividir regiones simplemente conectadas en las que cada matriz (502, 504) de muestras de información se subdivide, en subregiones simplemente conectadas mediante el uso de subdivisión basada en múltiples árboles usando información de subdivisión asociada con las regiones simplemente conectadas;
reconstruir cada matriz (502, 504) de muestras de información procesando datos de cabida útil asociados con las regiones simplemente conectadas de una forma prescrita por parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas y especificando cómo se predicen estas subregiones simplemente conectadas o un modo de codificación residual a usarse para estas subregiones simplemente conectadas;
derivar la información de subdivisión asociada con las regiones simplemente conectadas de una primera matriz (504) de las matrices de muestras de información y los parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas de la primera matriz (504) a partir del flujo de datos (22);
derivar información de intercambio entre planos para las regiones simplemente conectadas de una segunda matriz (502) de las matrices de muestras de información a partir del flujo de datos (22), en el que la primera y segunda matrices (502, 504) se refieren a diferentes componentes de información,
dependiendo de la información de intercambio entre planos para las regiones simplemente conectadas de la segunda matriz (502), decidir, para cada región simplemente conectada,
derivar, mediante predicción entre planos, la información de subdivisión para la respectiva región simplemente conectada a partir de la información de subdivisión de una región simplemente conectada localmente correspondiente de la primera matriz (504) derivando para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504), o para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) cuyo el tamaño cumple una condición, un elemento de sintaxis a partir del flujo de datos (22), que especifica si una subregión de la respectiva región simplemente conectada, que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504), se descompone adicionalmente en unas respectivas de las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502), o si la subregión de la respectiva región simplemente conectada de la segunda matriz (502), que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) permanece sin descomponer y directamente representa una de las subregiones simplemente conectadas de la respectiva región simplemente conectada, derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación así derivados; o
ignorar la información de subdivisión para la región simplemente conectada localmente correspondiente de la primera matriz (504), y derivar la información de subdivisión para la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22), derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación asociados derivados a partir del flujo de datos (22).
2. Decodificador de acuerdo con la reivindicación 1 en el que el decodificador se configura para subdividir las matrices (502, 504) de muestras de información en las regiones simplemente conectadas de tal forma que las regiones simplemente conectadas son de tamaño variable.
3. Decodificador de acuerdo con la reivindicación 1 o 2 en el que el decodificador se configura para, en el procesamiento de los datos de cabida útil asociados con las regiones simplemente conectadas, predecir muestras de información dentro de las regiones simplemente conectadas de una forma prescrita por los parámetros de codificación asociados con las regiones simplemente conectadas.
4. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 3 en el que el decodificador se configura para determinar la región simplemente conectada localmente correspondiente de la primera matriz (504) seleccionando una muestra de información predeterminada dentro de una región simplemente conectada actual o un subconjunto actual apropiado de las regiones simplemente conectadas de la segunda matriz (502), y nombrando esa región simplemente conectada entre las regiones simplemente conectadas de la primera matriz (504) como la región simplemente conectada localmente correspondiente, que comprende una muestra de información más cercana a, o dentro de la que reside, una ubicación de la muestra de información predeterminada dentro de la primera matriz (504).
5. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 3 en el que el decodificador se configura para determinar la región simplemente conectada localmente correspondiente de la primera matriz (504) nombrando esa región simplemente conectada entre las regiones simplemente conectadas de la primera matriz (504) como la región simplemente conectada localmente correspondiente, que se solapa espacialmente en la mayor medida posible con un área ocupada por una región simplemente conectada actual o un subconjunto actual apropiado de las regiones simplemente conectadas de la segunda matriz (502) dentro de la primera matriz (504).
6. Método para decodificar un flujo de datos (22) que representa diferentes componentes de información espaciadamente muestreada de una instantánea (500) de una escena en planos, siendo cada componente de información uno de un componente de color, mapa de entrada o datos de transparencia, comprendiendo cada plano una matriz (502, 504) de muestras de información, comprendiendo el método
subdividir regiones simplemente conectadas en las que cada matriz (502, 504) de muestras de información se subdivide, en subregiones simplemente conectadas mediante el uso de subdivisión basada en múltiples árboles usando información de subdivisión asociada con las regiones simplemente conectadas;
reconstruir cada matriz (502, 504) de muestras de información procesando datos de cabida útil asociados con las regiones simplemente conectadas de una forma prescrita por parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas y especificando cómo se predicen estas subregiones simplemente conectadas o un modo de codificación residual a usarse para estas subregiones simplemente conectadas; derivar la información de subdivisión asociada con las regiones simplemente conectadas de una primera matriz (504) de las matrices de muestras de información y los parámetros de codificación asociados con las subregiones simplemente conectadas de las regiones simplemente conectadas de la primera matriz (504) a partir del flujo de datos (22);
derivar información de intercambio entre planos para las regiones simplemente conectadas de una segunda matriz de las matrices de muestras de información a partir del flujo de datos (22), en el que la primera y segunda matrices se refieren a diferentes componentes de información,
dependiendo de la información de intercambio entre planos para las regiones simplemente conectadas de la segunda matriz (502), decidir, para cada región simplemente conectada,
derivar, mediante predicción entre planos, la información de subdivisión para la respectiva región simplemente conectada a partir de la información de subdivisión de una región simplemente conectada localmente correspondiente de la primera matriz (504) derivando para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504), o para cada subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) cuyo el tamaño cumple una condición, un elemento de sintaxis a partir del flujo de datos (22), que especifica si una subregión de la respectiva región simplemente conectada, que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) se descompone adicionalmente en unas respectivas de las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502), o si la subregión de la respectiva región simplemente conectada de la segunda matriz (502), que corresponde a la respectiva subregión simplemente conectada de la región simplemente conectada localmente correspondiente de la primera matriz (504) permanece sin descomponer y directamente representa una de las subregiones simplemente conectadas de la respectiva región simplemente conectada, derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación así derivados; o
ignorar la información de subdivisión para la región simplemente conectada localmente correspondiente de la primera matriz (504), y derivar la información de subdivisión para la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22), derivar los parámetros de codificación asociados con las subregiones simplemente conectadas de la respectiva región simplemente conectada de la segunda matriz (502) a partir del flujo de datos (22) y decodificar los datos de cabida útil asociados con la respectiva región simplemente conectada de una forma prescrita por los parámetros de codificación asociados derivados a partir del flujo de datos (22).
7. Medio de almacenamiento digital legible por ordenador que tiene almacenado en el mismo un programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método de acuerdo con la reivindicación 6.
ES10716518T 2010-04-13 2010-04-13 Predicción entre planos Active ES2746182T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/054840 WO2011127966A1 (en) 2010-04-13 2010-04-13 Inter-plane prediction

Publications (1)

Publication Number Publication Date
ES2746182T3 true ES2746182T3 (es) 2020-03-05

Family

ID=43305051

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10716518T Active ES2746182T3 (es) 2010-04-13 2010-04-13 Predicción entre planos

Country Status (12)

Country Link
US (9) US10873749B2 (es)
EP (3) EP2559240B1 (es)
JP (1) JP5846611B2 (es)
KR (15) KR101962084B1 (es)
CN (9) CN106412606B (es)
BR (5) BR122020007923B1 (es)
DK (1) DK2559240T3 (es)
ES (1) ES2746182T3 (es)
HU (1) HUE045579T2 (es)
PL (1) PL2559240T3 (es)
PT (1) PT2559240T (es)
WO (1) WO2011127966A1 (es)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101589625B (zh) 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
WO2011128366A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging
CN106412606B (zh) 2010-04-13 2020-03-27 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法
HUE045693T2 (hu) 2010-04-13 2020-01-28 Ge Video Compression Llc Videó kódolás képek multi-fa struktúrájú alosztásainak használatával
RS62794B1 (sr) 2010-04-13 2022-02-28 Ge Video Compression Llc Nasleđivanje u podeli sa više stabala na nizu uzoraka
DK2897365T3 (da) 2010-07-09 2017-02-13 Samsung Electronics Co Ltd Apparat til at afkode video ved at anvende bloksammenlægning
WO2012011432A1 (ja) * 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム
MX2013003868A (es) * 2010-10-05 2013-06-24 Gen Instrument Corp Metodo y aparatoo para codificacion de video basado en las caracteristicas.
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
KR101503611B1 (ko) * 2010-11-23 2015-03-18 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
HRP20221363T1 (hr) * 2011-01-07 2023-01-06 Lg Electronics Inc. Postupak kodiranja video informacija, postupak dekodiranja video informacija i uređaj za dekodiranje za dekodiranje video informacija
JP5982734B2 (ja) 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
BR112013030469B1 (pt) * 2011-06-23 2022-07-26 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem, e aparelho de codificação e decodificação de imagem
US9106919B2 (en) 2011-06-24 2015-08-11 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
WO2013001770A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR20140034209A (ko) 2011-07-11 2014-03-19 파나소닉 주식회사 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
MY164898A (en) 2011-09-29 2018-01-30 Sharp Kk Image decoding device, image decoding method, and image encoding device
US10110891B2 (en) 2011-09-29 2018-10-23 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
WO2013068562A1 (en) 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding
ES2664746T3 (es) 2011-11-11 2018-04-23 Ge Video Compression, Llc Predicción eficaz usando codificación de particiones
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
KR20230145540A (ko) * 2011-11-11 2023-10-17 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
GB2502047B (en) * 2012-04-04 2019-06-05 Snell Advanced Media Ltd Video sequence processing
HUE031183T2 (en) 2012-04-13 2017-06-28 Ge Video Compression Llc Scalable stream and network entity
EP2838262A4 (en) * 2012-04-16 2016-01-06 Samsung Electronics Co Ltd METHOD FOR MULTIPLE VIEW VIDEO CODING BASED ON A TREE STRUCTURE CODING UNIT AND DEVICE THEREFOR AND METHOD FOR MULTIPLE VIDEO VIDEO DECODING BASED ON A TREE STRUCTURE CODING UNIT AND DEVICE THEREFOR
FR2992815A1 (fr) * 2012-06-27 2014-01-03 France Telecom Procede de codage d'un bloc courant d'une premiere composante d'image par rapport a un bloc de reference d'au moins une deuxieme composante d'image, dispositif de codage et programme d'ordinateur correspondant
TWI584637B (zh) 2012-06-29 2017-05-21 Ge影像壓縮有限公司 視訊資料串流概念技術
FR2993084A1 (fr) * 2012-07-09 2014-01-10 France Telecom Procede de codage video par prediction du partitionnement d'un bloc courant, procede de decodage, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
JP2015523030A (ja) * 2012-07-13 2015-08-06 華為技術有限公司Huawei Technologies Co.,Ltd. 3次元ビデオを表すビットストリームを符号化する装置
US9699450B2 (en) * 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
WO2014106651A1 (en) 2013-01-04 2014-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient scalable coding concept
CN109587573B (zh) * 2013-01-18 2022-03-18 佳能株式会社 生成设备和方法、显示设备和方法以及存储介质
JP5719401B2 (ja) 2013-04-02 2015-05-20 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
KR101770317B1 (ko) 2013-04-08 2017-09-05 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
WO2014166119A1 (en) * 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
US9716899B2 (en) 2013-06-27 2017-07-25 Qualcomm Incorporated Depth oriented inter-view motion vector prediction
JP6315911B2 (ja) 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20150063455A1 (en) * 2013-09-02 2015-03-05 Humax Holdings Co., Ltd. Methods and apparatuses for predicting depth quadtree in three-dimensional video
CN111526359B (zh) * 2013-10-18 2023-01-06 Ge视频压缩有限责任公司 多分量图片或视频编码概念
US10368097B2 (en) * 2014-01-07 2019-07-30 Nokia Technologies Oy Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures
FR3030976B1 (fr) 2014-12-22 2018-02-02 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
CN105872539B (zh) * 2015-02-08 2020-01-14 同济大学 图像编码方法和装置及图像解码方法和装置
CN106358042B (zh) * 2015-07-17 2020-10-09 恩智浦美国有限公司 使用视频图像的帧间预测的并行解码器
CN105120295B (zh) * 2015-08-11 2018-05-18 北京航空航天大学 一种基于四叉树编码分割的hevc复杂度控制方法
WO2017164645A2 (ko) * 2016-03-24 2017-09-28 인텔렉추얼디스커버리 주식회사 비디오 신호 부호화/복호화 방법 및 장치
CN109565602A (zh) * 2016-08-15 2019-04-02 诺基亚技术有限公司 视频编码和解码
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10110914B1 (en) * 2016-09-15 2018-10-23 Google Llc Locally adaptive warped motion compensation in video coding
US10778976B2 (en) * 2016-09-28 2020-09-15 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
CN116489406A (zh) 2016-10-14 2023-07-25 世宗大学校产学协力团 影像解码/编码方法、传送比特流的方法及记录介质
KR102511611B1 (ko) * 2016-10-14 2023-03-20 세종대학교산학협력단 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
US11057624B2 (en) 2016-10-14 2021-07-06 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
CN116248878A (zh) 2016-11-21 2023-06-09 松下电器(美国)知识产权公司 图像编码装置及图像解码装置
JPWO2018092868A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
WO2018131986A1 (ko) * 2017-01-16 2018-07-19 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
EP3358754A1 (en) * 2017-02-02 2018-08-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
JP6680260B2 (ja) * 2017-04-28 2020-04-15 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
KR102509823B1 (ko) 2017-12-27 2023-03-14 삼성전자주식회사 그리드 기반의 평면 추정 방법 및 장치
EP3742403A4 (en) * 2018-01-19 2021-03-17 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
US11108841B2 (en) 2018-06-19 2021-08-31 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for heterogeneous segmentation of video streaming
EP3588800A1 (en) 2018-06-29 2020-01-01 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
US11265579B2 (en) * 2018-08-01 2022-03-01 Comcast Cable Communications, Llc Systems, methods, and apparatuses for video processing
EP3859679A4 (en) * 2018-09-28 2022-11-02 Sony Group Corporation IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
CN110505486B (zh) * 2019-08-23 2022-09-02 绍兴文理学院 一种对高概率运动矢量映射的编码及解码方法
CN110602502B (zh) * 2019-08-23 2022-08-16 绍兴文理学院 一种运动矢量编码和解码的方法
EP4022908A4 (en) * 2019-09-25 2022-11-09 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR SIMPLIFIED GEOMETRIC FUSION MODE FOR INTERPREDICTION
US11223836B2 (en) * 2019-12-02 2022-01-11 Tencent America LLC Method and apparatus for point cloud coding
KR20220141897A (ko) * 2020-03-27 2022-10-20 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩을 위한 예측 의존적 잔차 스케일링을 위한 방법들 및 디바이스들
US11425368B1 (en) * 2021-02-17 2022-08-23 Adobe Inc. Lossless image compression using block based prediction and optimized context adaptive entropy coding
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
US20230308651A1 (en) * 2022-03-22 2023-09-28 Tencent America LLC Systems and methods for regularization-free multi-hypothesis arithmetic coding

Family Cites Families (252)

* 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
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
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
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
CA2145363C (en) 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
EP0759665B1 (en) 1995-08-21 2002-07-24 Alcatel Method for interleaving data frames, forward error correcting device and modulator including such a device
WO1997015146A1 (en) 1995-10-18 1997-04-24 Philips Electronics N.V. Method of encoding video images
US6084908A (en) 1995-10-25 2000-07-04 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
CN100521787C (zh) 1996-05-28 2009-07-29 松下电器产业株式会社 图像预测编码方法
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
CN1882093B (zh) 1998-03-10 2011-01-12 索尼公司 利用编码历史信息的编码转换系统
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
NZ518774A (en) 1999-10-22 2004-09-24 Activesky Inc An object oriented video system
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
EP1279293A1 (en) 2000-01-21 2003-01-29 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
EP1297709A1 (en) 2000-06-14 2003-04-02 Koninklijke Philips Electronics N.V. Color video encoding and decoding method
CN1197381C (zh) 2000-07-25 2005-04-13 皇家菲利浦电子有限公司 使用小波分解的视频编码方法
AUPR063400A0 (en) 2000-10-06 2000-11-02 Canon Kabushiki Kaisha Xml encoding scheme
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
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
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 画像信号符号化方法、画像信号符号化装置および記録媒体
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
KR100943445B1 (ko) 2001-10-16 2010-02-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 코딩 방법 및 해당 전송가능 비디오 신호
WO2003043345A1 (en) 2001-11-16 2003-05-22 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 양송철 개인 자동독립코드를 이용한 멀티트리구조의 보너스 적립순환 시스템과 그 방법
CN101127899B (zh) 2002-04-12 2015-04-01 三菱电机株式会社 提示信息描述方法
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
AU2003242037A1 (en) 2002-07-02 2004-01-23 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
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
JP3950777B2 (ja) 2002-09-30 2007-08-01 キヤノン株式会社 画像処理方法、画像処理装置および画像処理プログラム
JP3975188B2 (ja) * 2002-09-30 2007-09-12 三星電子株式会社 色相の空間予測符号化を利用した映像の符号化及び復号化方法及び装置
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
AU2004223358B2 (en) 2003-03-28 2010-04-01 Etiip Holdings Inc Overcomplete basis transform-based motion residual frame coding method and apparatus for video compression
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
EP1507415A3 (en) 2003-07-16 2005-05-04 Samsung Electronics Co., Ltd. Video encoding/decoding apparatus and method for color image
JP4815107B2 (ja) 2003-07-16 2011-11-16 三星電子株式会社 カラー平面間予測を利用した無損失映像符号化/復号化方法及び装置
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
CN1691087B (zh) 2004-04-26 2011-07-06 图形安全系统公司 用于解码数字编码图像的系统和方法
CN101697576B (zh) 2004-04-28 2012-07-11 松下电器产业株式会社 运动画面产生装置,编码装置,解码装置及多路复用装置
CN1281065C (zh) 2004-05-20 2006-10-18 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
CN100534196C (zh) * 2004-05-25 2009-08-26 Nxp股份有限公司 用于编码数字视频数据的方法和设备
US20060002474A1 (en) 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression
CN101540912B (zh) 2004-06-27 2011-05-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 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
US20060153295A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
US20060153300A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
US20080267291A1 (en) 2005-02-18 2008-10-30 Joseph J. Laks Thomson Licensing Llc Method for Deriving Coding Information for High Resolution Images from Low Resolution Images and Coding and Decoding Devices Implementing Said Method
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 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
KR100763181B1 (ko) 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100746007B1 (ko) * 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
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
US20070053441A1 (en) 2005-06-29 2007-03-08 Xianglin Wang Method and apparatus for update step in video coding using motion compensated temporal filtering
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4444180B2 (ja) * 2005-07-20 2010-03-31 株式会社東芝 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
JP5484725B2 (ja) 2005-07-21 2014-05-07 トムソン ライセンシング スケーラブルビデオコーディングのための重み付け予測方法及び装置
CN102231835B (zh) * 2005-07-22 2013-04-17 三菱电机株式会社 图像解码装置及方法
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
EP1938611B8 (en) 2005-09-29 2014-07-16 Telecom Italia S.p.A. Method for scalable video coding
CN101288311B (zh) 2005-10-12 2011-05-11 汤姆森特许公司 用于可分级视频编码和解码中的加权预测的方法和装置
KR100763196B1 (ko) * 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
US9131247B2 (en) * 2005-10-19 2015-09-08 Thomson Licensing Multi-view video coding using scalable video coding
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN101120584B (zh) 2005-11-18 2011-04-20 索尼株式会社 编码装置和方法、解码装置和方法、以及传输系统
KR100717055B1 (ko) 2005-11-18 2007-05-10 삼성전자주식회사 Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
WO2007077116A1 (en) 2006-01-05 2007-07-12 Thomson Licensing Inter-layer motion prediction method
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
KR20070074452A (ko) * 2006-01-09 2007-07-12 엘지전자 주식회사 영상신호의 엔코딩/디코딩시의 레이어간 예측 방법
WO2007081140A1 (en) 2006-01-09 2007-07-19 Lg Electronics Inc. Inter-layer prediction method for video signal
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
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
CN101416399B (zh) 2006-03-31 2013-06-19 英特尔公司 用于执行分层解码的分层解码器和方法
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
CN101047733B (zh) 2006-06-16 2010-09-29 华为技术有限公司 短信处理方法以及装置
KR101526914B1 (ko) * 2006-08-02 2015-06-08 톰슨 라이센싱 비디오 디코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치
US20080086545A1 (en) 2006-08-16 2008-04-10 Motorola, Inc. Network configuration using configuration parameter inheritance
US8363936B2 (en) 2006-08-25 2013-01-29 Thomson Licensing Method and apparatus for reduced resolution partitioning
KR100904444B1 (ko) * 2006-09-07 2009-06-26 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
CN100471275C (zh) 2006-09-08 2009-03-18 清华大学 用于h.264/avc编码器的运动估计方法
CN100486336C (zh) 2006-09-21 2009-05-06 上海大学 基于h.264压缩域运动对象实时分割方法
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
WO2008049052A2 (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
CN101395921B (zh) 2006-11-17 2012-08-22 Lg电子株式会社 用于解码/编码视频信号的方法及装置
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
EP2099226B1 (en) 2006-12-28 2015-01-21 Nippon Telegraph and Telephone Corporation Video encoding method, decoding method, device thereof, program thereof, and storage medium containing the program
RU2426267C2 (ru) * 2007-01-08 2011-08-10 Нокиа Корпорейшн Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала
JP5649105B2 (ja) 2007-01-11 2015-01-07 トムソン ライセンシングThomson Licensing 符号化のための装置及び方法並びに復号化のための装置及び方法
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
US20080170793A1 (en) 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
CN101018333A (zh) * 2007-02-09 2007-08-15 上海大学 空域可分级信噪比精细可分级视频编码方法
JP2010135863A (ja) 2007-03-28 2010-06-17 Toshiba Corp 画像符号化方法及び装置
EP2140684B1 (en) 2007-04-12 2018-08-15 Thomson Licensing DTV Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
KR20080093386A (ko) * 2007-04-16 2008-10-21 한국전자통신연구원 컬러 동영상 신축 부호화와 복호화 방법 및 그 장치
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 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
EP2160900A1 (en) 2007-06-12 2010-03-10 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
JP4551948B2 (ja) 2007-06-13 2010-09-29 シャープ株式会社 線状光源装置、面発光装置、面状光源装置、および、液晶表示装置
CN101325714B (zh) 2007-06-13 2010-10-27 华为技术有限公司 变换数据处理方法和装置以及编码、解码方法和装置
CA2689634C (en) 2007-06-14 2016-08-23 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 株式会社東芝 画像処理装置、方法およびプログラム
EA201000382A1 (ru) 2007-09-28 2011-08-30 Всеволод Юрьевич Мокрушин Способ кодирования цифровых сигналов (варианты), способ декодирования цифровых сигналов (варианты), устройство для их реализации (варианты) и система для передачи изображений по каналам связи с ограниченной пропускной способностью (варианты)
KR101403343B1 (ko) 2007-10-04 2014-06-09 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
EP2208350A2 (en) 2007-10-12 2010-07-21 Thomson Licensing Methods and apparatus for video encoding and decoding geometrically partitioned bi-predictive mode partitions
US7777654B2 (en) 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
US20100208827A1 (en) 2007-10-16 2010-08-19 Thomson Licensing Methods and apparatus for video encoding and decoding geometerically partitioned super macroblocks
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
BRPI0821500A2 (pt) * 2008-01-11 2015-06-16 Thomson Licensing Codificação de vídeo e profundidade
US8155184B2 (en) 2008-01-16 2012-04-10 Sony Corporation Video coding system using texture analysis and synthesis in a scalable coding framework
ATE524927T1 (de) * 2008-01-21 2011-09-15 Ericsson Telefon Ab L M Auf prädiktion basierende bildverarbeitung
JP5302336B2 (ja) * 2008-01-21 2013-10-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 画素のブロックを圧縮する方法及びシステム
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 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
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
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) 2008-10-03 2013-12-31 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 四川虹微技术有限公司 运动搜索中宏块划分模式的选择方法
JP5001964B2 (ja) 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
CN101493890B (zh) 2009-02-26 2011-05-11 上海交通大学 基于特征的动态视觉注意区域提取方法
US9113168B2 (en) 2009-05-12 2015-08-18 Lg Electronics Inc. Method and apparatus of processing a video signal
US8810562B2 (en) 2009-05-19 2014-08-19 Advanced Micro Devices, Inc. Hierarchical lossless compression
KR101351126B1 (ko) 2009-07-21 2014-01-14 퀄컴 인코포레이티드 비디오 이미지들의 검출 및 개선을 위한 방법 및 시스템
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US9264716B2 (en) 2009-10-01 2016-02-16 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video using split layer
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 三菱電機株式会社 動画像符号化装置および動画像符号化方法
US20110122225A1 (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
KR20110135471A (ko) 2010-06-11 2011-12-19 (주)휴맥스 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
WO2011096770A2 (ko) 2010-02-02 2011-08-11 (주)휴맥스 영상 부호화/복호화 장치 및 방법
KR101750046B1 (ko) 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
KR101847072B1 (ko) 2010-04-05 2018-04-09 삼성전자주식회사 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
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
CN105933716B (zh) 2010-04-13 2019-05-28 Ge视频压缩有限责任公司 跨平面预测
HUE045693T2 (hu) 2010-04-13 2020-01-28 Ge Video Compression Llc Videó kódolás képek multi-fa struktúrájú alosztásainak használatával
CN106028045B (zh) 2010-04-13 2019-06-25 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及其解码器
CN106412606B (zh) * 2010-04-13 2020-03-27 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法
RS62794B1 (sr) 2010-04-13 2022-02-28 Ge Video Compression Llc Nasleđivanje u podeli sa više stabala na nizu uzoraka
WO2011128366A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging
JP2013545342A (ja) * 2010-10-08 2013-12-19 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ブロック分割及びブロック統合をサポートする画像符号化
CN107071488B (zh) 2010-11-04 2020-06-09 Ge视频压缩有限责任公司 解码装置和方法、编码装置和方法、存储和传输图像方法
US20120170648A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
US9167247B2 (en) 2011-05-20 2015-10-20 Panasonic Intellectual Property Corporation Of America Methods and apparatuses for encoding and decoding video using inter-color-plane prediction
EP2721819B1 (en) 2011-06-16 2023-08-16 GE Video Compression, LLC Entropy coding supporting mode switching
CN104662908B (zh) * 2012-09-24 2018-03-30 高通股份有限公司 深度图译码
KR101770317B1 (ko) 2013-04-08 2017-09-05 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
US9264728B2 (en) 2014-01-10 2016-02-16 Sony Corporation Intra-plane and inter-plane predictive method for Bayer image coding
WO2016013279A1 (ja) 2014-07-22 2016-01-28 オートリブ ディベロップメント エービー サイドエアバッグ装置
EP3247114A4 (en) 2015-01-21 2018-01-17 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
WO2020140951A1 (en) 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between color components
WO2020216177A1 (en) 2019-04-20 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Signaling of chroma and luma syntax elements in video coding
CN114303382A (zh) 2019-09-01 2022-04-08 北京字节跳动网络技术有限公司 视频编解码中预测权重的对准
WO2021197445A1 (en) 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set syntax elements
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
DK2559240T3 (da) 2019-10-07
KR102595454B1 (ko) 2023-10-27
KR20160017135A (ko) 2016-02-15
EP3614667A1 (en) 2020-02-26
US20130034171A1 (en) 2013-02-07
US20210029365A1 (en) 2021-01-28
CN106067985B (zh) 2019-06-28
KR20200019270A (ko) 2020-02-21
US20160309169A1 (en) 2016-10-20
KR20170076811A (ko) 2017-07-04
CN106412608B (zh) 2019-10-08
BR122020010438B1 (pt) 2021-08-31
KR20140071506A (ko) 2014-06-11
US20200084458A1 (en) 2020-03-12
CN106067983A (zh) 2016-11-02
US20180288422A1 (en) 2018-10-04
JP2013528023A (ja) 2013-07-04
CN106412607B (zh) 2020-09-01
CN106412608A (zh) 2017-02-15
KR102205041B1 (ko) 2021-01-19
HUE045579T2 (hu) 2020-01-28
CN102939750A (zh) 2013-02-20
KR20180075705A (ko) 2018-07-04
PL2559240T3 (pl) 2020-01-31
US10855991B2 (en) 2020-12-01
US11765363B2 (en) 2023-09-19
KR20200055810A (ko) 2020-05-21
US20190089962A1 (en) 2019-03-21
US11765362B2 (en) 2023-09-19
CN106412606A (zh) 2017-02-15
CN106067984B (zh) 2020-03-03
BR112012026400B1 (pt) 2021-08-10
KR101592802B1 (ko) 2016-02-05
BR122020007923B1 (pt) 2021-08-03
CN106067985A (zh) 2016-11-02
US11611761B2 (en) 2023-03-21
EP3709641A1 (en) 2020-09-16
KR102080450B1 (ko) 2020-02-21
CN105959703B (zh) 2019-06-04
KR20210008152A (ko) 2021-01-20
US20230345012A1 (en) 2023-10-26
EP2559240B1 (en) 2019-07-10
KR102481529B1 (ko) 2022-12-23
CN106067983B (zh) 2019-07-12
CN106101724A (zh) 2016-11-09
KR102405997B1 (ko) 2022-06-07
PT2559240T (pt) 2019-10-15
KR101962084B1 (ko) 2019-03-25
EP2559240A1 (en) 2013-02-20
KR20150015026A (ko) 2015-02-09
KR20220012428A (ko) 2022-02-03
KR101874272B1 (ko) 2018-07-03
US20200366906A1 (en) 2020-11-19
BR122020007921B1 (pt) 2021-08-03
CN106412606B (zh) 2020-03-27
KR20130006690A (ko) 2013-01-17
KR20220080010A (ko) 2022-06-14
JP5846611B2 (ja) 2016-01-20
CN106412607A (zh) 2017-02-15
KR20230003429A (ko) 2023-01-05
US10848767B2 (en) 2020-11-24
US10855995B2 (en) 2020-12-01
KR20230151089A (ko) 2023-10-31
KR101447796B1 (ko) 2014-10-07
KR102355155B1 (ko) 2022-01-24
US20210176473A1 (en) 2021-06-10
KR101584480B1 (ko) 2016-01-14
CN106101724B (zh) 2019-09-06
KR102282803B1 (ko) 2021-07-28
KR102210983B1 (ko) 2021-02-02
KR20190032634A (ko) 2019-03-27
CN105959703A (zh) 2016-09-21
KR20210013662A (ko) 2021-02-04
CN102939750B (zh) 2016-07-06
CN106067984A (zh) 2016-11-02
KR101752458B1 (ko) 2017-07-03
WO2011127966A1 (en) 2011-10-20
US10855990B2 (en) 2020-12-01
BR122020007922B1 (pt) 2021-08-31
US10873749B2 (en) 2020-12-22
BR112012026400A2 (pt) 2018-03-13

Similar Documents

Publication Publication Date Title
ES2746182T3 (es) Predicción entre planos
ES2752227T3 (es) Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
ES2781568T3 (es) Herencia en subdivisión multiárbol de matriz de muestras
US11734714B2 (en) Region merging and coding parameter reuse via merging
BR122020007663B1 (pt) Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão