[go: up one dir, main page]

ES2647514T3 - Codificación adaptativa de particiones - Google Patents

Codificación adaptativa de particiones Download PDF

Info

Publication number
ES2647514T3
ES2647514T3 ES12784588.1T ES12784588T ES2647514T3 ES 2647514 T3 ES2647514 T3 ES 2647514T3 ES 12784588 T ES12784588 T ES 12784588T ES 2647514 T3 ES2647514 T3 ES 2647514T3
Authority
ES
Spain
Prior art keywords
block
coding
partition
decoder
wedgelet
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
ES12784588.1T
Other languages
English (en)
Inventor
Philipp Merkle
Christian Bartnik
Haricharan Dr. Lakshman
Detlev Marpe
Karsten Müller
Thomas Wiegand
Gerhard Tech
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
Application filed by GE Video Compression LLC filed Critical GE Video Compression LLC
Application granted granted Critical
Publication of ES2647514T3 publication Critical patent/ES2647514T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Decodificador para reconstruir un bloque predeterminado (210) de un mapa de profundidad/disparidad (213) asociado con una imagen de textura (215) de un flujo de datos (304), configurado para segmentar un bloque de referencia (216) de la imagen de textura (215), colocalizado al bloque predeterminado (210), umbralizando la imagen de textura (215) dentro del bloque de referencia (216) para obtener una bisegmentacion del bloque de referencia en las particiones primera y segunda, transferir espacialmente la bisegmentacion del bloque de referencia (216) de la imagen de textura sobre el bloque predeterminado (210) del mapa de profundidad/disparidad (213) con el fin de obtener las particiones primera y segunda (202a, 202b) del bloque predeterminado (210), y decodificar el bloque predeterminado (210) en unidades de las particiones primera y segunda (202a, 202b).

Description

5
10
15
20
25
30
35
40
45
50
55
60
Codificación adaptativa de particiones DESCRIPCIÓN
La presente invención se refiere a una codificación de matriz de muestras usando un particionamiento de bloques de contorno o particionamiento de bloques que permite un alto grado de libertad.
Muchos esquemas de codificación comprimen los datos de matriz de muestras usando una subdivisión de la matriz de muestras en bloques. La matriz de muestras puede definir un muestreo espacial de la textura, es decir, imágenes, pero por supuesto otras matrices de muestras pueden comprimirse usando técnicas similares de codificación, tales como mapas de profundidad y similares. Debido a la diferente naturaleza de la información espacialmente muestreada por la matriz de muestras respectiva, los diferentes conceptos de codificación son los más adecuados para los diferentes tipos de matrices de muestras. Independientemente del tipo de matriz de muestras, sin embargo, muchos de estos conceptos de codificación usan la subdivisión de bloques con el fin de asignar opciones de codificación individuales a los bloques de la matriz de muestras, encontrando de este modo una buena compensación entre la tasa de información lateral para codificar los parámetros de codificación asignados a los bloques individuales, por una parte, y la tasa de codificación residual para codificar el residual de predicción debido a la predicción errónea del bloque respectivo, o encontrando una buena comprensión en el sentido de tasa/distorsión, con o sin codificación residual.
En su mayoría, los bloques son de forma rectangular o cuadrada. Obviamente, sería favorable poder adaptar la forma de las unidades de codificación (bloques) al contenido de la matriz de muestras a codificar. Desafortunadamente, sin embargo, la adaptación de la forma de los bloques o unidades de codificación al contenido de la matriz de muestras implica el gasto de información lateral adicional para indicar el particionamiento de bloques. Se ha descubierto que el particionamiento de bloques tipo Wedgelet es un compromiso apropiado entre las posibles formas de particionamiento de bloques y la sobrecarga de información lateral involucrada. El particionamiento de tipo Wedgelet conduce a un particionamiento de los bloques en particiones Wedgelet para lo que, por ejemplo, pueden usarse parámetros de codificación específicos.
El documento WO 2011/1227966 describe un codificador que crea un flujo de datos de tal manera que los elementos de sintaxis del flujo de datos describen las imágenes en una granularidad que se encuentra entre las muestras de imágenes completas y de imágenes individuales. Para tal fin, un divisor subdivide cada imagen en bloques de diferentes tamaños. Un predictor decide para cada bloque cómo predecir el bloque respectivo. El predictor genera información de predicción que refleja la forma en que el predictor obtiene esta predicción a partir de las partes anteriormente codificadas del video para su inserción en el flujo de datos. Uno de los conceptos enseñados en este documento, se refiere a la predicción interplanetaria. En este caso, se describe que la subdivisión de un bloque en bloques de transformación y los modos de codificación residuales para los bloques de transformación resultantes pueden inferirse o predecirse de manera adaptativa a partir de un bloque colocalizado ya codificado de un grupo de planos diferente para la misma imagen, o que una inferencia/predicción adaptativa de la subdivisión en bloques de predicción y los parámetros de predicción pueden obtenerse usando la predicción interplanetaria. Otro concepto enseñado, pertenece a la herencia a lo largo de un árbol cuaternario de subdivisión, es decir, heredando parámetros desde un nodo intermedio a los nodos hijos. Los ejemplos de bloques se presentan como siendo rectangulares o cuadráticos.
Sin embargo, incluso la restricción al particionamiento Wedgelet conduce a una cantidad significativa de sobrecarga adicional para indicar el particionamiento de bloques, y en consecuencia sería favorable tener un concepto de codificación más efectivo a mano que permita un mayor grado de libertad en los bloques de particionamiento en la codificación de matriz de muestras de una manera más eficaz.
Este objetivo se consigue mediante el objeto de las reivindicaciones independientes pendientes.
La idea principal que subyace en la presente invención es que, aunque el particionamiento basado en Wedgelet parece representar una mejor compensación entre la tasa de información lateral, por un lado, y la variedad alcanzable en las posibilidades de particionamiento por otro lado, en comparación con el particionamiento de contorno, la capacidad de aliviar las restricciones del particionamiento en la medida en que las particiones tienen que ser particiones Wedgelet, permite aplicar un análisis estadístico relativamente incompleto sobre la información de textura espacialmente muestreada superpuesta con el fin de obtener un buen predictor para la bisegmentación en un mapa de profundidad/disparidad. Por lo tanto, de acuerdo con un primer aspecto, es exactamente el aumento de la libertad lo que alivia la sobrecarga de asignación siempre que esté presente la información de textura colocalizada en la forma de una imagen.
De acuerdo con una realización, se piensa que la obtención de una bisegmentación basada en un bloque de referencia colocalizado dentro de una imagen con una transferencia posterior de la bisegmentación sobre el bloque
5
10
15
20
25
30
35
40
45
50
55
60
actual del mapa de profundidad/disparidad es simplemente razonable si la probabilidad de lograr una buena aproximación del contenido del bloque actual del mapa de profundidad/disparidad es suficientemente alta como para justificar la reserva de un valor predeterminado respectivo de un identificador de opción de codificación correspondiente con el fin de activar este modo de transferencia de bisegmentación. En otras palabras, la tasa de información lateral puede guardarse evitando la necesidad de tener en cuenta el valor predeterminado respectivo del identificador de opción de codificación para el bloque actual del mapa de profundidad/disparidad cuando se codifica la entropía, es muy probable que no se seleccione de todos modos este identificador de opción de codificación en el caso de la transferencia de bisegmentación respectiva.
Otros subaspectos son el objeto de las reivindicaciones dependientes.
Las realizaciones preferidas de la presente invención se describen en más detalle a continuación con respecto a las figuras, entre las que
la figura 1
la figura 2
la figura 3 la figura 4
la figura 5
la figura 6
la figura 7
la figura 8 la figura 9
la figura 10 la figura 11
la figura 12
la figura 13 La figura 14
la figura 15 la figura 16
la figura 17 la figura 18
la figura 19 la figura 20
la figura 21 la figura 22 La figura 23 la figura 24
La figura 25
muestra un diagrama de bloques de un codificador multivista en el que podrían construirse las realizaciones de la presente invención de acuerdo con un ejemplo;
muestra un diagrama esquemático de una parte de una señal multivista para la ilustración de la reutilización de información a través de vistas y límites de profundidad/disparidad de video; muestra un diagrama de bloques de un accesorio de decodificador que se ajusta a la figura 1; muestra una partición Wedgelet de un bloque cuadrático en un espacio de señal continuo (izquierda) y discreto (derecha);
muestra una ilustración esquemática de las seis orientaciones diferentes de las particiones de bloque de Wedgelet;
muestra un ejemplo de patrones de partición de Wedgelet para el tamaño de bloque 4 x 4 (izquierda), 8 x 8 (centro) y 16 x 6 (derecha);
muestra una aproximación de la señal de profundidad con el modelo Wedgelet combinando la información de partición y el CPV (valores medio de la señal de profundidad en regiones de partición);
muestra una generación de un patrón de partición de Wedgelet;
muestra una partición de contorno de un bloque cuadrático en un espacio de señal continuo (izquierda) y discreto (derecha);
muestra un ejemplo de un patrón de partición de contorno para el tamaño de bloque 8 x 8; muestra una aproximación de la señal de profundidad con el modelo contorno combinando la información de partición y el CPV (valores medio de la señal de profundidad en regiones de partición);
muestra una intrapredicción de la partición Wedgelet (azul) para los escenarios en los que el bloque de referencia anterior es o de tipo partición Wedgelet (izquierda) o intradirección regular (derecha);
muestra una predicción de información de partición Wedgelet (azul) y contorno (verde) a partir de la referencia de textura luma.
muestra los CPV de las particiones de bloque: predicción de CPV a partir de las muestras adyacentes de los bloques cercanos (izquierda) y de la sección cruzada del bloque (derecha), que muestra la relación entre los diferentes tipos de CPV; muestra una preselección de modo basada en la varianza de textura luma;
muestra un diagrama de bloques de un decodificador de acuerdo con una realización de comparación;
muestra un diagrama de bloques de un adaptador de codificador a la figura 16;
muestra un diagrama de bloques de un decodificador de acuerdo con una realización de
comparación;
muestra un diagrama de bloques de un adaptador de codificador a la figura 18;
muestra un diagrama de bloques de un decodificador de acuerdo con una realización de
comparación;
muestra un diagrama de bloques de un adaptador de codificador a la figura 20;
muestra un diagrama de bloques de un decodificador de acuerdo con una realización;
muestra un diagrama de bloques de un adaptador de codificador a la figura 22;
muestra un diagrama de bloques de un decodificador de acuerdo con una realización de
comparación; y
muestra un diagrama de bloques de un adaptador de codificador a la figura 24.
La siguiente descripción de las realizaciones preferidas de la presente invención comienza con un posible entorno en el que las realizaciones de la presente invención pueden emplearse ventajosamente. En particular, un códec multivista de acuerdo con una realización se describe con respecto a las figuras 1 a 3. Sin embargo, debería enfatizarse que las realizaciones descritas a continuación no están restringidas a la codificación multivista. Sin embargo, algunos aspectos descritos más abajo pueden entenderse mejor, y tienen sinergias especiales, cuando se
5
10
15
20
25
30
35
40
45
50
55
60
usan con la codificación multivista, o, para ser más preciso, especialmente con la codificación de mapas de profundidad. Por consiguiente, después de las figuras 1 a 3, la descripción procede con una introducción en el particionamiento de bloques irregulares y los problemas que conlleva. Esta descripción se refiere a las figuras 4 a 11 y forma una base para la descripción de las realizaciones de la presente invención descrita a continuación.
Como se acaba de decir, las realizaciones que se detallan a continuación usan el particionamiento de bloques no rectangulares o irregulares y las funciones de modelado en aplicaciones de codificación de imágenes y video y pueden aplicarse específicamente a la codificación de mapas de profundidad, tal como para representar la geometría de una escena, aunque estas realizaciones también podrían aplicarse a la codificación de imagen y video convencionales. Las realizaciones detalladas a continuación proporcionan además un concepto para el uso de la función de modelado y particionado de bloque no rectangular en aplicaciones de codificación de imágenes y videos. Las realizaciones pueden aplicarse específicamente a la codificación de mapas de profundidad (para representar la geometría de una escena), pero también pueden aplicarse a la codificación de imágenes y videos convencionales.
En la codificación de video multivista, dos o más vistas de una escena de vídeo (que se capturan simultáneamente por múltiples cámaras) se codifican en un solo flujo de bits. El objetivo principal de la codificación de video multivista es proporcionar al usuario final una experiencia multimedia avanzada al ofrecer una impresión de visualización en 3- d. Si dos vistas están codificadas, las dos secuencias de video reconstruidas pueden mostrarse en una pantalla estéreo convencional (con gafas). Sin embargo, el uso necesario de las gafas para las pantallas estéreo convencionales a menudo es molesto para el usuario. Permitir una impresión de visualización estéreo de alta calidad sin gafas es actualmente un tema importante en investigación y desarrollo. Una técnica prometedora para tales pantallas autoestereoscópicas se basa en sistemas de lentes lenticulares. En principio, una serie de lentes cilíndricas se monta en una pantalla convencional de tal manera que se visualicen múltiples vistas de una escena de video al mismo tiempo. Cada vista se muestra en un pequeño cono, de tal manera que cada ojo del usuario vea una imagen diferente; este efecto crea la impresión estéreo sin gafas especiales. Sin embargo, tales pantallas autoestereoscópicas requieren normalmente de 10 a 30 vistas de la misma escena de video (incluso se pueden necesitar más vistas si la tecnología se mejora aún más). Pueden usarse más de 2 vistas para proporcionar al usuario la posibilidad de seleccionar interactivamente el punto de vista para una escena de video. Pero la codificación de múltiples vistas de una escena de video aumenta drásticamente la tasa de bits necesaria en comparación con el video de visión simple convencional (2-d). Normalmente, la tasa de bits necesaria aumenta aproximadamente de manera lineal con el número de vistas codificadas. Un concepto para reducir la cantidad de datos transmitidos a las pantallas autoestereoscópicas consiste en transmitir solo un pequeño número de vistas (quizás 2-5 vistas), pero transmitiendo adicionalmente los llamados mapas de profundidad, que representan la profundidad (distancia del objeto del mundo real a la cámara) de las muestras de imágenes para una o más vistas. Dado un pequeño número de vistas codificadas con los correspondientes mapas de profundidad, unas vistas intermedias de alta calidad (vistas virtuales que se encuentran entre las vistas codificadas) y, en cierta medida, también unas vistas adicionales a uno o ambos extremos del conjunto de cámaras, pueden crearse en el lado del receptor mediante unas técnicas de representación adecuadas.
En la codificación de imágenes y de vídeo del estado del arte, las imágenes o conjuntos específicos de matrices de muestras para las imágenes se descomponen en general en bloques, que están asociados con parámetros de codificación específicos. Las imágenes suelen consistir en matrices de muestras múltiples (luminancia y crominancia). Además, una imagen también puede estar asociada con matrices de muestras auxiliares, que pueden, por ejemplo, especificar información de transparencia o mapas de profundidad. Cada imagen o matriz de muestras se descompone, en general, en bloques. Los bloques (o los bloques correspondientes de matrices de muestras) se predicen por, o interpredicción de imágenes o intrapredicción de imágenes. Los bloques pueden tener diferentes tamaños y pueden ser cuadráticos o rectangulares. El particionamiento de una imagen en bloques puede o fijarse por la sintaxis o puede indicarse (al menos parcialmente) dentro del flujo de bits. A menudo se transmiten elementos de sintaxis que indican la subdivisión de bloques de tamaños predefinidos. Dichos elementos de sintaxis pueden especificar si y cómo un bloque se subdivide en bloques más pequeños y los parámetros de codificación asociados, por ejemplo, con el fin de la predicción. Para todas las muestras de un bloque (o los bloques correspondientes de las matrices de muestra) la decodificación de los parámetros de codificación asociados se especifica de cierta manera. En el ejemplo, todas las muestras en un bloque se predicen usando el mismo conjunto de parámetros de predicción, tal como los índices de referencia (identificando una imagen de referencia en el conjunto de imágenes ya codificadas), los parámetros de movimiento (especificando una medida para el movimiento de unos bloques entre una imagen de referencia y la imagen actual), los parámetros para especificar el filtro de interpolación, los modos de intrapredicció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 orden superior tales como los parámetros de movimiento afines que consisten en seis componentes. También es posible que más de un conjunto de parámetros de predicción específicos (tales como los índices de referencia y los parámetros de movimiento) estén asociados con un solo bloque. En este caso, para cada conjunto de estos parámetros de predicción específicos, se genera una sola señal de predicción intermedia para el bloque (o los bloques correspondientes de las matrices de muestras), y la señal de predicción final se construya mediante una combinación que incluye la superposición de las señales de predicción intermedias. Los parámetros de ponderación correspondientes y potencialmente también un
5
10
15
20
25
30
35
40
45
50
55
60
desplazamiento constante (que se agrega a la suma ponderada) pueden fijarse o a una imagen, o a una imagen de referencia, o a un conjunto de imágenes de referencia, o pueden incluirse en el conjunto de los parámetros de predicción para el bloque correspondiente. La diferencia entre los bloques originales (o los bloques correspondientes de las matrices de muestras) y sus señales de predicción, también denominadas señales residuales, en general, se transforman y cuantifican. A menudo, se aplica una transformación bidimensional a la señal residual (o a las matrices de muestras correspondientes para el bloque residual). Para transformar la codificación, los bloques (o los bloques correspondientes de las matrices de muestras), para los que se ha usado un conjunto específico de parámetros de predicción, pueden dividirse aún más antes de aplicar la transformación. Los bloques de transformación pueden ser iguales o más pequeños que los bloques que se usan para la predicción. También es posible que un bloque de transformación incluya más de uno de los bloques que se usan para la predicción. Diferentes bloques de transformación pueden tener diferentes tamaños y los bloques de transformación pueden representan bloques cuadráticos o rectangulares. Después de la transformación, se obtienen los coeficientes de transformación resultantes, se cuantifican y denominándose 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.
También las técnicas de codificación del estado del arte tales como ITU-T Rec. H.264 | ISO/IEC JTC 1 14496-10 o el actual modelo de trabajo para HEVC también pueden aplicarse a los mapas de profundidad, las herramientas de codificación se han diseñado especialmente para la codificación de video natural. Los mapas de profundidad tienen diferentes características que las imágenes de una secuencia de video natural. Por ejemplo, los mapas de profundidad contienen menos detalles espaciales. Se caracterizan principalmente por unos bordes afilados (que representan el borde del objeto) y grandes áreas de valores de muestra casi constantes o que varían lentamente (que representan fronteras de objetos). La eficacia de codificación general de la codificación de video multivista con mapas de profundidad puede mejorarse si los mapas de profundidad se codifican de manera más eficaz aplicando herramientas de codificación especialmente diseñadas para explotar las propiedades de los mapas de profundidad.
Con el fin de servir como una base para un entorno de codificación posible, en el que pueden usarse las realizaciones posteriormente explicadas de la presente invención de manera ventajosa, se describe más abajo un concepto de codificación multivista con respecto a las figuras 1 a 3.
La figura 1 muestra un codificador para codificar una señal multivista de acuerdo con una realización. La señal multivista de la figura 1 se indica ilustrativamente como 10 en cuanto a que comprende dos vistas 121 y 122, aunque la realización de la figura 1 también sería factible con un mayor número de vistas. Además, de acuerdo con la realización de la figura 1, cada vista 121 y 122 comprende un video 14 y unos datos de mapas de profundidad/disparidad 16, aunque muchos de los principios ventajosos de las realizaciones descritas más adelante también podrían ser ventajosos si se usan en conexión con señales multivista con vistas que no comprenden ningún dato de mapa de profundidad/disparidad.
El vídeo 14 de las vistas respectivas 121 y 122 representa un muestreo espacio-temporal de una proyección de una escena común a lo largo de diferentes direcciones de proyección/visualización. Preferentemente, la tasa de muestreo temporal de los videos 14 de las vistas 121 y 122 son iguales entre sí, aunque esta restricción no tiene que cumplirse necesariamente. Como se muestra en la figura 1, preferentemente cada video 14 comprende una secuencia de fotogramas con cada fotograma asociado a una marca de tiempo respectiva t, t - 1,t - 2,.... En la figura 1, los fotogramas de video se indican mediante el número Vnúmero de vista, número de marca de tiempo. Cada fotograma vi,t representa un muestreo espacial de la escena i a lo largo de la dirección de vista respectiva en la marca de tiempo t respectivo, y por lo tanto comprende una o más matrices de muestras tales como, por ejemplo, una matriz de muestras para muestras luma y dos matrices de muestras con muestras de croma, o simplemente muestras de luminancia o matrices de muestras para otros componentes de color, tales como los componentes de color de un espacio de color RGB o similar. La resolución espacial de la una o más matrices de muestras puede diferir tanto dentro un video 14 como dentro del video 14 de diferentes vistas 121 y 122.
Del mismo modo, los datos de mapa de profundidad/disparidad 16 representan un muestreo espacio-temporal de la profundidad de los objetos de escena de la escena común, medidos a lo largo de la dirección de vista respectiva de las vistas 121 y 122. La tasa de muestreo temporal de los datos de mapa de profundidad/disparidad 16 puede ser igual a la tasa de muestreo temporal del video asociado de la misma vista que se representa en la figura 1, o puede ser diferente de la misma. En el caso de la figura 1, cada fotograma de video v tiene asociada con el mismo un mapa de profundidad/disparidad respectivo d de los datos de mapa de profundidad/disparidad 16 de la vista respectiva 121 y 122. En otras palabras, en el ejemplo de la figura 1, cada fotograma de video vi,t de la vista i y la marca de tiempo t tiene un mapa de profundidad/disparidad dit, asociado con el mismo. Con respecto a la resolución espacial de los mapas de profundidad/disparidad d, se aplica lo mismo a lo indicado anteriormente con respecto a los fotogramas de video. Es decir, la resolución espacial puede ser diferente entre los mapas de profundidad/disparidad de diferentes vistas.
Con el fin de comprimir eficazmente la señal multivista 10, el codificador de la figura 1 codifica paralelamente las
5
10
15
20
25
30
35
40
45
50
55
60
vistas 12i y 122 en un flujo de datos 18. Sin embargo, los parámetros de codificación usados para codificar la primera vista 121 se reutilizan con el fin de adoptar los mismos, o predecir, los segundos parámetros de codificación a usar para codificar la segunda vista 122. Mediante esta medida, el codificador de la figura 1 explota el hecho, de acuerdo con el que la codificación paralela de las vistas 121 y 122 da como resultado el codificador que determina los parámetros de codificación para estas vistas de manera similar, de tal manera que las redundancias entre estos parámetros de codificación pueden explotarse eficazmente para aumentar la tasa de compresión o la relación tasa/distorsión (con la distorsión medida, por ejemplo, como una distorsión media de ambas vistas y la tasa medida como una tasa de codificación del flujo de datos completo 18).
En particular, el codificador de la figura 1 se indica en general por el signo de referencia 20 y comprende una entrada para recibir la señal multivista 10 y una salida para emitir el flujo de datos 18. Como puede verse en la figura 2, el codificador 20 de la figura 1 comprende dos ramas de codificación por vista 121 y 122, concretamente, una para los datos de video y la otra para los datos de mapa de profundidad/disparidad. Por consiguiente, el codificador 20 comprende una rama de codificación 22v,1 para los datos de video de la vista 1, una rama de codificación 22d,1 para los datos de mapa de profundidad/disparidad de la vista 1, una rama de codificación 22v,2 para los datos de video de la segunda vista y una rama de codificación 22d,2 para los datos de mapa de profundidad/disparidad de la segunda vista. Cada una de estas ramas de codificación 22 está construida de manera similar. Con el fin de describir la construcción y la funcionalidad del codificador 20, la siguiente descripción comienza con la construcción y la funcionalidad de la rama de codificación 22v,1. Esta funcionalidad es común a todas las ramas 22. Posteriormente, se exponen las características individuales de las ramas 22.
La rama de codificación 22v,1 es para codificar el video 141 de la primera vista 121 de la señal multivista 12, y en consecuencia, la rama 22v,1 tiene una entrada para recibir el video 141. Más allá de esto, la rama 22v,1 comprende, conectada en series entre sí en el orden mencionado, un restador 24, un módulo de cuantificación/transformación 26, un módulo de descuantificación/transformación inversa 28, un sumador 30, un módulo de procesamiento adicional 32, una memoria intermedia de imágenes decodificadas 34, dos módulos de predicción 36 y 38 que, a su vez, están conectados en paralelo entre sí, y un combinador o selector 40 que está conectado entre las salidas de los módulos de predicción 36 y 38 por un lado, y a la entrada de inversión del restador 24 por el otro lado. La salida del combinador 40 también está conectada a una entrada adicional del sumador 30. La entrada no inversora del restador 24 recibe el video 141.
Los elementos 24 a 40 de la rama de codificación de 22v,1 cooperan con el fin de codificar el vídeo 141. El codificador codifica el video 141 en unidades de ciertas partes. Por ejemplo, al codificar el video 141, los fotogramas Vl,k se segmentan en segmentos tales como bloques u otros grupos de muestras. La segmentación puede ser constante en el tiempo o puede variar en el tiempo. Además, la segmentación puede conocerse por el codificador y el decodificador predeterminado o puede indicarse dentro del flujo de datos 18. La segmentación puede ser una segmentación regular de los fotogramas en bloques, tal como una disposición no superpuesta de bloques en filas y columnas, o puede ser una segmentación basada en árboles cuaternarios en bloques de tamaño variable. Un segmento codificado actualmente del video 141 que entra en la entrada no inversora del restador 24 se llama bloque actual del video 141 en la siguiente descripción de las figuras 1 a 3.
Los módulos de predicción 36 y 38 son para predecir el bloque actual y con este fin, los módulos de predicción 36 y 38 tienen sus entradas conectadas a la memoria intermedia de imágenes decodificadas 34. En efecto, ambos módulos de predicción 36 y 38 usan partes anteriormente reconstruidas del video 141 que residen en la memoria intermedia de imágenes decodificadas 34 con el fin de predecir el bloque actual que entra en la entrada no inversora del restador 24. En este sentido, el módulo de predicción 36 actúa como un intrapredictor que predice espacialmente la parte actual del video 141 a partir de las partes espacialmente cercanas ya reconstruidas del mismo fotograma del video 141, mientras que el módulo de predicción 38 actúa como un interpredictor que predice temporalmente la parte actual a partir de los fotogramas anteriormente reconstruidos del video 141. Ambos módulos 36 y 38 realizan sus predicciones de acuerdo con, o descrito por, ciertos parámetros de predicción. Para ser más precisos, los últimos parámetros están determinados por el codificador 20 en algún marco de optimización para optimizar algún objetivo de optimización, tal como optimizar una relación tasa/distorsión bajo algunas, o sin ninguna, restricciones tales como la tasa de bits máxima.
Por ejemplo, el módulo de intrapredicción 36 puede determinar los parámetros de predicción espacial para la parte actual tal como una dirección de intrapredicción a lo largo de la que el contenido de las partes cercanas ya reconstruidas del mismo fotograma del video 141 se expande/copia en la parte actual para predecir este último.
El módulo de interpredicción 38 puede usar la compensación de movimiento con el fin de predecir la parte actual de los fotogramas anteriormente reconstruidos y los parámetros de interpredicción implicados con los mismos pueden comprender un vector de movimiento, un índice de fotogramas de referencia, una información de subdivisión de predicción de movimiento con respecto a la parte actual, un número de hipótesis o cualquier combinación de los mismos.
5
10
15
20
25
30
35
40
45
50
55
60
El combinador 40 puede combinar una o más de las predicciones proporcionadas por los módulos 36 y 38 o seleccionar simplemente una de las mismas. El combinador o selector 40 reenvía la predicción resultante de la parte actual a la entrada de inserción del restador 24 y a la entrada adicional del sumador 30, respectivamente.
En la salida del restador 24, se emite el residual de la predicción de la parte actual y el módulo de cuantificación/transformación 36 se configura para transformar esta señal residual cuantificando los coeficientes de transformación. La transformación puede ser cualquier transformación de descomposición espectral tal como una DCT. Debido a la cuantificación, el resultado del procesamiento del módulo de cuantificación/transformación 26 es irreversible. Es decir, los resultados de pérdida de codificación. La salida del módulo 26 es la señal residual 421 a transmitir dentro del flujo de datos. No todos los bloques pueden estar sujetos a la codificación residual. Más bien, algunos modos de codificación pueden suprimir la codificación residual.
La señal residual 421 se decuantifica y transforma inversamente en el módulo 28 con el fin de reconstruir la señal residual en la medida de lo posible, es decir, con el fin de que corresponda a la señal residual que sale por el restador 24 a pesar del ruido de cuantificación. El sumador 30 combina esta señal residual reconstruida con la predicción de la parte actual mediante una suma. Otras combinaciones también serían factibles. Por ejemplo, el restador 24 podría funcionar como un divisor para medir el residual en proporciones, y el sumador podría implementarse como un multiplicador para reconstruir la parte actual, de acuerdo con una alternativa. La salida del sumador 30 representa, por lo tanto, una reconstrucción preliminar de la parte actual. Sin embargo, el procesamiento adicional en el módulo 32 puede usarse opcionalmente para mejorar la reconstrucción. Tal procesamiento adicional puede, por ejemplo, implicar un desbloqueo, un filtrado adaptativo y similares. Todas las reconstrucciones disponibles hasta ahora están almacenadas temporalmente en la memoria intermedia de imágenes decodificadas 34. Por lo tanto, la memoria intermedia de imágenes decodificadas 34 almacena temporalmente los fotogramas anteriormente reconstruidos del video 141 y partes anteriormente reconstruidas del fotograma actual al que pertenece la parte actual.
Con el fin de permitir al decodificador reconstruir la señal multivista a partir del flujo de datos 18, el módulo de cuantificación/transformación 26 reenvía la señal residual 421 a un multiplexor 44 del codificador 20. Al mismo tiempo, el módulo de predicción 36 reenvía los parámetros de intrapredicción 461 al multiplexor 44, el módulo de interpredicción 38 reenvía los parámetros de interpredicción 481 al multiplexor 44 y el módulo de procesamiento adicional 32 reenvía los parámetros de procesamiento adicional 501 al multiplexor 44 que, a su vez, multiplexa o inserta toda esta información en el flujo de datos 18.
Como es evidente a partir de la exposición anterior de acuerdo con la realización de la figura 1, la codificación del vídeo 141 codificando la rama 22v,1 está auto contenida debido a que la codificación es independiente de los datos de mapa de profundidad/disparidad 161 y los datos de cualquiera de las otras vistas 122. Desde un punto de vista más general, la rama de codificación 22v,1 puede considerarse como video codificado 141 en el flujo de datos 18 determinando los parámetros de codificación y, de acuerdo con los primeros parámetros de codificación, prediciendo una parte actual del video 141 a partir de una parte anteriormente codificada del video 141, codificada en el flujo de datos 18 por el codificador 20 antes de la codificación de la parte actual, y determinando un error de predicción de la predicción de la parte actual con el fin de obtener los datos de corrección, concretamente, la señal residual 421 mencionada anteriormente. Los parámetros de codificación y los datos de corrección se insertan en el flujo de datos 18.
Los parámetros de codificación, que se acaban de mencionar, insertados en el flujo de datos 18 codificando la rama 22v,1 puede implicar uno, una combinación de, o todos los siguientes:
- Primero, los parámetros de codificación para el video 141 pueden definir/indicar la segmentación de los fotogramas del video 141 como se ha expuesto anteriormente de manera breve.
- Además, los parámetros de codificación pueden comprender información de modo de codificación que indica para cada segmento o parte actual, qué modo de codificación se va a usar para predecir el segmento respectivo, tal como la intrapredicción, la interpredicción, o una combinación de las mismas.
- Los parámetros de codificación también pueden comprender los parámetros de predicción recién mencionados, tales como los parámetros de intrapredicción para las partes/segmentos predichos por la intrapredicción, y los parámetros de interpredicción para las partes/segmentos de interpredicción.
- Los parámetros de codificación pueden, sin embargo, comprender adicionalmente los parámetros de procesamiento adicional 501 que indican a la decodificación lateral cómo procesar adicionalmente las partes ya reconstruidas del video 141 antes de usar las mismas para predecir las partes actuales o siguientes del video 141. Estos parámetros de procesamiento adicional 501 pueden comprender índices que indexan los filtros respectivos, los coeficientes de filtro o similares.
- Los parámetros de predicción 461, 481 y los parámetros de procesamiento adicional 501 pueden incluso
5
10
15
20
25
30
35
40
45
50
55
60
comprender adicionalmente unos datos de subsegmentación para definir una subsegmentación adicional relativa a la segmentación mencionada anteriormente que define la granularidad de la selección de modo, o para definir una segmentación completamente independiente tal como para el dispositivo de diferentes filtros adaptativos para diferentes partes de los fotogramas dentro del procesamiento adicional.
- Los parámetros de codificación también pueden influir en la determinación de la señal residual y, por lo tanto, ser parte de la señal residual 421. Por ejemplo, los niveles del coeficiente de transformación espectral emitidos por el módulo de cuantificación/transformación 26 pueden considerarse como datos de corrección, mientras que el tamaño de etapa de cuantificación también puede indicarse dentro del flujo de datos 18, y el parámetro de tamaño de etapa de cuantificación puede considerarse como un parámetro de codificación.
- Los parámetros de codificación pueden definir más parámetros de predicción que definen una predicción de segunda fase del residual de predicción de la primera fase de predicción expuesta anteriormente. La intra/interpredicción puede usarse en este sentido.
Con el fin de aumentar la eficacia de codificación, el codificador 20 comprende un módulo de intercambio de información de codificación 52 que recibe todos los parámetros de codificación y más información que influye, o que se ve influida por, el procesamiento dentro de los módulos 36, 38 y 32, por ejemplo, como se indica ilustrativamente extendiendo verticalmente las flechas que apuntan desde los módulos respectivos hacia abajo a un módulo de intercambio de información de codificación 52. El módulo de intercambio de información de codificación 52 es responsable de compartir los parámetros de codificación y opcionalmente además de codificar la información entre las ramas de codificación 22 de tal manera que las ramas pueden predecir o adoptar parámetros de codificación entre sí. En la realización de la figura 1, se define una orden entre las entidades de datos, concretamente, los datos de mapas de profundidad/disparidad y de vídeo, de las vistas 121 y 122 de la señal multivista 10 para este fin. En particular, el video 141 de la primera vista 121 precede a los datos de mapas de profundidad/disparidad 161 de la primera vista seguido por el video 142 y a continuación los datos de mapas de profundidad/disparidad 162 de la segunda vista 122 y así sucesivamente. Debería observase en este caso que no es necesario que se aplique estrictamente este orden estricto entre las entidades de datos de la señal multivista 10 para la codificación de toda la señal multivista 10, pero en aras de una exposición más fácil, se supone en lo que sigue que este orden es constante. El orden entre las entidades de datos, naturalmente, define también un orden entre las ramas 22 que están asociadas con las mismas.
Como ya se ha indicado anteriormente, las ramas de codificación adicional 22 tales como las ramas de codificación 22d,1, 22v,2 y 22d,2 actúan de manera similar a la rama 22v,1 con el fin de codificar la entrada respectiva 161, 142 y 162, respectivamente. Sin embargo, debido al orden que se acaba de mencionar entre los vídeos y los datos de mapas de profundidad/disparidad de las vistas 121 y 122, respectivamente, y el orden correspondiente definido entre las ramas de codificación 22, la rama de codificación 22d,1 tiene, por ejemplo, la libertad adicional en la predicción de parámetros de codificación a usar para codificar las partes actuales de los datos de mapas de profundidad/disparidad 161 de la primera vista 121. Esto es debido al orden mencionado anteriormente entre el vídeo y los datos de mapa de profundidad/disparidad de las diferentes vistas: por ejemplo, a cada una de estas entidades se la permite codificar usando partes reconstruidas de sí misma, así como a las entidades de las mismas que preceden en el orden mencionado anteriormente entre estas entidades de datos. Por consiguiente, en la codificación de los datos de mapas de profundidad/disparidad 161, la rama de codificación 22d,1, se permite usar la información conocida a partir de las partes anteriormente reconstruidas del vídeo correspondiente 141. Como la rama 22d,1 explota las partes reconstruidas del vídeo 141 con el fin de predecir alguna propiedad de los datos de mapa de profundidad/disparidad 161, lo que permite una mejor tasa de compresión de la compresión de los datos de mapa de profundidad/disparidad 161, es teóricamente ilimitada. La rama de codificación 22d,1 es, por ejemplo, capaz de predecir/adoptar los parámetros de codificación que intervienen en codificar el vídeo 141 como se ha mencionado anteriormente, con el fin de obtener los parámetros de codificación para codificar los datos de mapa de profundidad/disparidad 161. En el caso de adopción, puede suprimirse la asignación de cualquier parámetro de
codificación con respecto a los datos de mapas de profundidad/disparidad 161 dentro del flujo de datos 18. En el
caso de la predicción, simplemente los datos residuales/de corrección de predicción con respecto a estos
parámetros de codificación pueden tener que indicarse dentro del flujo de datos 18. Los ejemplos para tal
predicción/adopción de los parámetros de codificación también se describen más adelante.
Sorprendentemente, la rama de codificación 22d,1 puede tener modos de codificación adicionales disponibles para los bloques de código del mapa profundidad/disparidad 161, además de los modos descritos anteriormente con respecto a los módulos 36 y 38. Tales modos de codificación adicionales se describen adicionalmente a continuación y se refieren a los modos de particionamiento de bloques irregulares. En una visión alternativa, el particionamiento irregular como se describe a continuación puede verse como una continuación de la subdivisión del mapa de profundidad/disparidad en bloques/particiones.
En cualquier caso, las capacidades de predicción adicionales están presentes para las entidades de datos posteriores, concretamente, el vídeo 142 y los datos del mapa de profundidad/disparidad 162 de la segunda vista 122.
5
10
15
20
25
30
35
40
45
50
55
60
En cuanto a estas ramas de codificación, el módulo de interpredicción de las mismas es capaz de no solamente realizar la predicción temporal, sino también la predicción intervista. Los parámetros de interpredicción correspondientes comprenden información similar en comparación con la predicción temporal, concretamente, por segmento predicho de intervista, un vector de disparidad, un índice de vista, un índice de fotograma de referencia y/o una asignación de un número de hipótesis, es decir, la asignación de un número de interpredicciones que participan, por ejemplo, en la formación de la interpredicción de intervista a modo de resumen. Tal predicción intervista está disponible no solo para la rama 22v,2 con respecto al vídeo 142, sino también para el módulo de interpredicción 38 de la rama 22d,2 con respecto a los datos de mapa de profundidad/disparidad 162. Naturalmente, estos parámetros de predicción intervista también representan los parámetros de codificación que pueden servir como base para la adopción/predicción para posteriores datos de vista de una posible tercera vista que, sin embargo, no se muestra en la figura 1.
Debido a las medidas anteriores, la cantidad de datos a insertar en el flujo de datos 18 por el multiplexor 44 se baja más. En particular, la cantidad de parámetros de codificación de las ramas de codificación 22d,1, 22v,2 y 22d,2 puede reducirse considerablemente adoptando los parámetros de codificación de las ramas de codificación anteriores o simplemente insertando residuales de predicción relativos a las mismas en el flujo de datos 28 a través del multiplexor 44. Debido a la capacidad de elegir entre la predicción temporal y la intervista, puede reducirse también la cantidad de datos residuales 423 y 424 de las ramas de codificación 22v,2 y 22d,2. La reducción en la cantidad de datos residuales sobrecompensa el esfuerzo de codificación adicional en la diferenciación temporal y en los modos de predicción intervistas.
Con el fin de explicar los principios de la adopción/predicción del parámetro de codificación en más detalle, se hace referencia a la figura 2. La figura 2 muestra una parte a modo de ejemplo de la señal multivista 10. La figura 2 ilustra el fotograma de vídeo v1,t como que se segmenta en segmentos o partes 60a, 60b y 60c. Por razones de simplificación, solo se muestran tres partes de fotograma v1,t, aunque la segmentación puede dividir sin interrupciones y sin espacios el fotograma en segmentos/partes. Como se ha mencionado anteriormente, la segmentación del fotograma de vídeo v1,t puede ser fija o variar en el tiempo, y la segmentación puede indicarse dentro del flujo de datos o no. La figura 2 ilustra que las partes 60a y 60b se predicen temporalmente usando los vectores de movimiento 62a y 62b a partir de una versión reconstruida de cualquier fotograma de referencia del vídeo 141, que en el presente caso es el fotograma a modo de ejemplo v1,t-1. Como se conoce en la técnica, el orden de codificación entre los fotogramas de vídeo 141 puede no coincidir con el orden de presentación entre estos fotogramas, y en consecuencia el fotograma de referencia puede alcanzar al fotograma actual v1,t en el orden de tiempo de presentación 64. La parte 60c es, por ejemplo, una parte intrapredicha para los parámetros de intrapredicción que se insertan en el flujo de datos 18.
Al codificar el mapa de profundidad/disparidad d1,t, la rama de codificación 22d,1 pueden explotar las posibilidades mencionadas anteriormente en una o más de las maneras siguientes ejemplificadas en lo siguiente con respecto a la figura 2.
- Por ejemplo, al codificar el mapa de profundidad/disparidad d1,t, la rama de codificación 22d,1 puede adoptar la segmentación del fotograma de vídeo v1,ttal como se usa por la rama de codificación 22v,1. En consecuencia, si existen parámetros de segmentación dentro de los parámetros de codificación para el fotograma de vídeo v1,t, puede evitarse la retransmisión de los mismos para los datos de mapa de profundidad/disparidad d1,t. Como alternativa, la rama de codificación 22d,1 puede usar la segmentación del fotograma de vídeo v1,t como base/predicción para la segmentación a usar para el mapa de profundidad/disparidad d1,t indicando la desviación de la segmentación en relación con el fotograma de vídeo v1,t a través del flujo de datos. 18. La figura 2 ilustra el caso de que la rama de codificación 22d,1 usa la segmentación del fotograma de vídeo v como una presegmentación del mapa de profundidad/disparidad d1,t. Es decir, la rama de codificación 22d,1 adopta la presegmentación a partir de la segmentación del vídeo v1,t o predice la presegmentación a partir de la misma.
- Además, la rama de codificación 22d,1 puede adoptar o predecir los modos de codificación de las partes 66a, 66b y 66c del mapa de profundidad/disparidad d1,t a partir de los modos de codificación asignados a la parte respectiva 60a, 60b y 60c en el fotograma de vídeo vi,t. En el caso de una segmentación diferente entre el fotograma de vídeo v1,t y el mapa de profundidad/disparidad d1,t, la adopción/predicción de los modos de codificación a partir del fotograma de vídeo v1,t puede controlarse de tal manera que la adopción/predicción se obtiene a partir de partes colocalizadas de la segmentación del fotograma de vídeo v1,t. Una definición apropiada de colocalización podría ser de la siguiente manera. La parte colocalizada en el fotograma de vídeo v1,t para una parte actual en el mapa de profundidad/disparidad d1,t, puede ser, por ejemplo, una que comprenda la posición colocalizada en la esquina superior izquierda del fotograma actual en el mapa de profundidad/disparidad d1,t. En el caso de la predicción de los modos de codificación, la rama de codificación 22d,1 puede transportar las desviaciones de modo de codificación de las partes 66a a 66c del mapa de profundidad/disparidad d1,t en relación con los modos de codificación dentro del fotograma de vídeo v1,t indicados explícitamente dentro del flujo de datos 18.
5
10
15
20
25
30
35
40
45
50
55
60
- En lo que se refiere a los parámetros de predicción, la rama de codificación 22d,i tiene la libertad de adoptar o predecir espacialmente los parámetros de predicción usados para codificar las partes cercanas dentro del mismo mapa de profundidad/disparidad di,t o para adoptar/predecir lo mismo a partir de los parámetros de predicción usados para codificar las partes colocalizadas 60a a 60c del fotograma de vídeo vi,t. Por ejemplo, la figura 2 ilustra que la parte 66a del mapa de profundidad/disparidad di,t es una parte interpredicha, y el vector de movimiento correspondiente 68a puede adoptarse o predecirse a partir del vector de movimiento 62a de la parte colocalizada 60a del fotograma de vídeo vi,t. En el caso de la predicción, simplemente la diferencia de vectores de movimiento se inserta en el flujo de datos 18 como parte de los parámetros de interpredicción 482.
- En términos de eficacia de codificación, podría ser favorable para la rama de codificación 22d,i tener la capacidad de subdividir los segmentos de la presegmentación del mapa de profundidad/disparidad di,t usando el particionamiento de bloques irregular. Algunos modos de particionamiento de bloques irregular a los que se refieren las realizaciones descritas más adelante, obtienen una información de partición tal como una línea de separación Wedgelet 70, a partir de la imagen reconstruida vi,t de la misma vista. Por esta medida, se subdivide un bloque de la presegmentación del mapa de profundidad/disparidad di,t. Por ejemplo, el bloque 66c del mapa de profundidad/disparidad di,t se subdivide en dos particiones en forma de Wedgelet 72a y 72b. La rama de codificación 22d,i puede estar configurada para codificar por separado estos subsegmentos 72a y 72b. En el caso de la figura 2, ambos subsegmentos 72a y 72b se muestran a modo de ejemplo para interpredecirse usando los vectores de movimiento respectivos 68c y 68d. De acuerdo con las secciones 3 y 4, la rama de codificación 22d,i puede tener la libertad de elegir entre varias opciones de codificación para el particionamiento de bloques irregular, y para transportar la elección al decodificador como una información lateral dentro del flujo de datos i8.
En la codificación del video i42, la rama de codificación 22v,2 tiene, además de las opciones de modo de codificación disponibles para la rama de codificación 22v,i , la opción de predicción intervista.
La figura 2 ilustra, por ejemplo, que una parte 64b de la segmentación del fotograma de vídeo v2,t es una intervista predicha a partir del fotograma de vídeo vi,t temporal correspondiente de la primera vista de vídeo i4i usando un vector de disparidad 76.
A pesar de esta diferencia, la rama de codificación 22v,2 pueden explotar además toda la información disponible a partir de la codificación del fotograma de vídeo vi,t y del mapa de profundidad/disparidad dit, tal como, en particular, los parámetros de codificación usados en estas codificaciones. Por consiguiente, la rama de codificación 22v,2 puede adoptar o predecir los parámetros de movimiento que incluyen el vector de movimiento 78 para una parte interpredicha temporalmente 74a del fotograma de vídeo v2,t a partir de cualquiera o, o una combinación de, los vectores de movimiento 62a y 68a de las partes colocalizadas 60a y 66a del fotograma de vídeo vi,t y del mapa de profundidad/disparidad dit temporalmente alineados, respectivamente. Si acaso, un residual de predicción puede indicarse con respecto a los parámetros de interpredicción para la parte 74a. En este sentido, debería recordarse que el vector de movimiento 68a puede haber sido ya objeto de predicción/adopción a partir del propio vector de movimiento 62a.
Las otras posibilidades de adoptar/predecir los parámetros de codificación para codificar el fotograma de vídeo v2,t como se ha descrito anteriormente con respecto a la codificación del mapa de profundidad/disparidad dit, pueden aplicarse a la codificación del fotograma de vídeo v2,t codificando también la rama 22v,2, con los datos comunes disponibles distribuidos por el módulo 52 que, sin embargo, aumentan debido a que están disponibles los parámetros de codificación de tanto el fotograma de vídeo vi,t como el mapa de profundidad/disparidad dit correspondiente.
A continuación, la rama de codificación 22v,2 codifica el mapa de profundidad/disparidad d2,t de manera similar a la codificación del mapa de profundidad/disparidad dit por la rama de codificación 22v,2. Esto es cierto, por ejemplo, con respecto a todas las ocasiones de adopción/predicción de parámetros de codificación del fotograma de vídeo v2,t de la misma vista i22. Además, sin embargo, la rama de codificación 22v,2 tiene la oportunidad de adoptar/predecir también los parámetros de codificación a partir de los parámetros de codificación que se han usado para codificar el mapa de profundidad/disparidad di t a partir de la vista anterior 12i. Además, la rama de codificación 22v,2 puede usar la predicción intervista como se ha explicado con respecto a la rama de codificación 22v,2.
Después de haber descrito el codificador 20 de la figura i, debería observarse que lo mismo puede implementarse en software, hardware o firmware, es decir, hardware programable. Aunque el diagrama de bloques de la figura i sugiere que el codificador 20 comprende estructuralmente ramas de codificación en paralelo, concretamente una rama de codificación por datos de vídeo y profundidad/disparidad de la señal multivista i0, este no tiene por qué ser el caso. Por ejemplo, las rutinas de software, las partes de circuito o las partes de lógica programable configuradas para realizar las tareas de los elementos 24 a 40, respectivamente, pueden usarse secuencialmente para cumplir con las tareas de cada una de las ramas de codificación. En el procesamiento en paralelo, los procesos de las ramas de codificación en paralelo pueden realizarse en núcleos de procesador en paralelo o en circuitos de
5
10
15
20
25
30
35
40
45
50
55
60
funcionamiento en paralelo.
La figura 3 muestra un ejemplo de un decodificador capaz de decodificar un flujo de datos de 18 con el fin de reconstruir uno o varios videos de vista que corresponden a la escena representada por la señal multivista a partir del flujo de datos 18. En gran medida, la estructura y la funcionalidad del decodificador de la figura 3 es similar a las del codificador de la figura 20 de tal manera que los signos de referencia de la figura 1 se han reutilizado en la medida de lo posible para indicar que la descripción de funcionalidad proporcionada anteriormente con respecto a la figura 1 se aplica también a la figura 3.
El decodificador de la figura 3 se indica, en general, con el signo de referencia 100 y comprende una entrada para el flujo de datos 18 y una salida para emitir la reconstrucción de las anteriormente mencionadas una o varias vistas 102. El decodificador 100 comprende un demultiplexor 104 y un par de ramas de decodificación 106 para cada una de las entidades de datos de la señal multivista 10 (figura 1) representada por el flujo de datos 18, así como un extractor de vistas 108 y un intercambiador de parámetros de codificación 110. Como es el caso con el codificador de la figura 1, las ramas de decodificación 106 comprenden los mismos elementos de decodificación en una misma interconexión, que se describen, en consecuencia, de manera representativa con respecto a la rama de decodificación 106v,1 responsable de la decodificación del vídeo 141 de la primera vista 121. En particular, cada rama de codificación 106 comprende una entrada conectada a una salida respectiva del multiplexor 104 y una salida conectada a una entrada respectiva del extractor de vistas 108 con el fin de emitir al extractor de vistas 108 la entidad de datos respectiva de la señal multivista 10, es decir, el vídeo 141 en el caso de la a rama decodificación 106v,1. En el medio, cada rama de codificación 106 comprende un módulo de descuantificación/transformación inversa 28, un sumador 30, un módulo de procesamiento adicional 32 y una memoria intermedia de imágenes decodificadas 34 conectados en serie entre el multiplexor 104 y el extractor de vistas 108. El sumador 30, el módulo de procesamiento adicional 32 y la memoria intermedia de imágenes decodificadas 34 forman un bucle junto con una conexión en paralelo de los módulos de predicción 36 y 38 seguidos de un combinador/selector 40 que están, en el orden mencionado, conectados entre la memoria intermedia de imágenes decodificadas 34 y la entrada adicional del sumador 30. Como se indica usando los mismos números de referencia como en el caso de la figura 1, la estructura y la funcionalidad de los elementos 28 a 40 de las ramas de decodificación 106 son similares a los elementos correspondientes de las ramas de codificación de la figura 1, porque los elementos de las ramas de decodificación 106 emulan el procesamiento del proceso de codificación por el uso de la información transportada dentro del flujo de datos 18. Naturalmente, las ramas de decodificación 106 simplemente invierten el procedimiento de codificación con respecto a los parámetros de codificación finalmente elegidos por el codificador 20, mientras que el codificador 20 de la figura 1 tiene que encontrar un conjunto óptimo de parámetros de codificación en un cierto sentido de optimización, tales como los parámetros de codificación que optimizan una función de coste de tasa/distorsión, estando opcionalmente sujeta a ciertas restricciones tales como la tasa de bits máxima o similares.
El demultiplexor 104 es para la distribución del flujo de datos 18 a las distintas ramas de decodificación 106. Por ejemplo, el demultiplexor 104 proporciona el módulo de descuantificación/transformación inversa 28 con los datos residuales 421, el módulo de procesamiento adicional 32 con los parámetros de procesamiento adicional 501, el módulo de intrapredicción 36 con los parámetros de intrapredicción 461 y el módulo de interpredicción 38 con los módulos de interpredicción 481. El intercambiador de parámetros de codificación 110 actúa como el módulo correspondiente 52 en la figura 1 con el fin de distribuir los parámetros de codificación común y otros datos comunes entre las distintas ramas de decodificación 106.
El extractor de vistas 108 recibe la señal multivista a medida que se reconstruye por las ramas de decodificación en paralelo 106 y se extrae a partir de una o varias vistas 102 que corresponden a los ángulos de visión o direcciones de visión prescritas por los datos de control de extracción de vistas intermedias proporcionados externamente 112.
Debido a la construcción similar del decodificador 100 en relación con la parte correspondiente del codificador 20, su funcionalidad hasta la interfaz para el extractor de vistas 108 se explica fácilmente de manera análoga a la descripción anterior.
De hecho, las ramas de decodificación 106v,1 y 106d,1 actúan juntas para reconstruir la primera vista 121 de la de la señal multivista 10 a partir del flujo de datos 18 de acuerdo con los primeros parámetros de codificación contenidos en el flujo de datos 18 (tales como parámetros de escala dentro de 421, los parámetros 461, 481, 501, y los correspondientes no adoptados, y los residuales de predicción, de los parámetros de codificación de la segunda rama 16d,1, concretamente, 422, los parámetros 462, 482, 502), que predicen una parte actual de la primera vista 121 a partir de una parte anteriormente reconstruida de la señal multivista 10, reconstruida a partir del flujo de datos 18 antes de la reconstrucción de la parte actual de la primera vista 121 y que corrigen un error de predicción de la predicción de la parte actual de la primera vista 121 usando los primeros datos de corrección, es decir, dentro de 421 y 422, también contenidos en el flujo de datos 18. Mientras que la rama de decodificación 106v,1 es responsable de decodificar el vídeo 141, una rama de codificación 106d,1 asume la responsabilidad de reconstruir los datos de mapa de profundidad/disparidad 161. Véase, por ejemplo, la figura 2: la rama de decodificación 106v,1 reconstruye el video 141 de la primera vista 121 del flujo de datos 18 de acuerdo con los parámetros de codificación correspondientes
5
10
15
20
25
30
35
40
45
50
55
60
leídos a partir del flujo de datos 18, es decir, los parámetros de escala dentro de 42i, los parámetros 46i, 48i, 50i, que predicen una parte actual del vídeo 141 tal como 60a, 60b o 60c a partir de una parte anteriormente reconstruida de la señal multivista 10 y que corrigen un error de predicción de esta predicción usando los datos de corrección correspondientes obtenidos a partir del flujo de datos 18, es decir, a partir de los niveles de coeficiente de transformación dentro de 421. Por ejemplo, la rama de decodificación 106v,1 procesa el vídeo 141 en unidades de los segmentos/partes usando el orden de codificación entre los fotogramas de vídeo y, para codificar los segmentos dentro del fotograma, un orden de codificación entre los segmentos de estos fotogramas como ha hecho la rama de codificación correspondiente del codificador. En consecuencia, todas las partes anteriormente reconstruidas del vídeo 141 están disponibles para la predicción para una parte actual. Los parámetros de codificación para una parte actual pueden incluir uno o más parámetros de intrapredicción 501, parámetros de interpredicción 481, parámetros de filtro para el módulo de procesamiento adicional 32 y así sucesivamente. Los datos de corrección para corregir el error de predicción pueden representarse por los niveles de coeficiente de transformación espectral dentro de los datos residuales 421. No todos de estos parámetros de codificación tienen que transmitirse en su totalidad. Algunos de los mismos pueden haberse predicho a partir de los parámetros de codificación de los segmentos cercanos del vídeo 141. Los vectores de movimiento para el vídeo 141, por ejemplo, pueden transmitirse dentro del flujo de bits como diferencias de vectores de movimiento entre los vectores de movimiento de las partes/segmentos cercanos del vídeo 141.
En lo que respecta a la segunda rama de decodificación 106d,1, la misma tiene acceso no solo a los datos residuales 422 y a la predicción correspondiente y a los parámetros de filtro como se indica dentro del flujo de datos 18 y se distribuye a la rama de decodificación respectiva 106d,1 por el demultiplexor 104, es decir, los parámetros de codificación no predichos a través de los límites entrevistas, sino también indirectamente a los parámetros de codificación y los datos de corrección proporcionados a través del demultiplexor 104 para decodificar la rama 106v,1 o cualquier información que pueda obtenerse a partir de los mismos, como distribuidos a través del módulo de intercambio de información de codificación 110. Por lo tanto, la rama de decodificación 106d,1 determina sus parámetros de codificación para reconstruir los datos del mapa de profundidad/disparidad 161 a partir de una parte de los parámetros de codificación reenviados a través del demultiplexor 104 al par de ramas de decodificación 106v,1 y 106d,1 para la primera vista 121, que se superponen parcialmente a la parte de estos parámetros de codificación especialmente dedicados y reenviados a la rama de decodificación 106v,1. Por ejemplo, la rama de decodificación 106d,1 determina el vector de movimiento 68a a partir del vector de movimiento 62a transmitido explícitamente dentro de 481, por ejemplo, como una diferencia de vector de movimiento a otra parte cercana del fotograma v1,t, por un lado, y una diferencia de vector de movimiento transmitido explícitamente dentro de 482, por el otro lado. Adicionalmente, o como alternativa, la rama de decodificación 106d,1 puede usar partes reconstruidas del vídeo 141 como se ha descrito anteriormente con respecto a la predicción de la línea de separación Wedgelet para obtener un particionamiento de bloques irregular como se ha indicado anteriormente de manera breve con respecto a los datos de mapa de decodificación de profundidad/disparidad 161, y como se describe con más detalle a continuación.
Para ser aún más preciso, la rama de decodificación 106d,1 reconstruye los datos de mapa de profundidad/disparidad 141 de la primera vista 121 del flujo de datos mediante el uso de los parámetros de codificación que se han predicho al menos parcialmente a partir de los parámetros de codificación usados por la rama de decodificación 106v,1 (o adoptados a partir de los mismos) y/o se han predicho a partir de las partes reconstruidas del vídeo 141 en la memoria intermedia de imágenes decodificadas 34 de la rama de decodificación 106v,1. Los residuales de predicción de los parámetros de codificación pueden obtenerse a través de demultiplexor 104 a partir del flujo de datos 18. Otros parámetros de codificación para la rama de decodificación 106d,1 pueden transmitirse dentro de flujo de datos 108 en su totalidad o con respecto a otra base, concretamente, en referencia a un parámetro de codificación que se ha usado para codificar cualquiera de las partes anteriormente reconstruidas de los propios datos de mapa de profundidad/disparidad 161. Basándose en estos parámetros de codificación, la rama de decodificación 106d,1 predice una parte actual de los datos de mapa de profundidad/disparidad 141 a partir de una parte anteriormente reconstruida de los datos de mapa de profundidad/disparidad 161, reconstruida a partir del flujo de datos 18 por la rama de decodificación 106d,1 antes de la reconstrucción de la parte actual de los datos de mapa de profundidad/disparidad 161, y que corrige un error de predicción de la predicción de la parte actual de los datos de mapa de profundidad/disparidad 161 usando los datos de corrección respectivos 422.
La funcionalidad del par de ramas de decodificación 106v,2 y 106d,2 para la segunda vista 122 es, como ya se ha descrito anteriormente con respecto a la codificación, similar a la de la primera vista 121. Ambas ramas cooperan para reconstruir la segunda vista 122 de la señal multivista 10 del flujo de datos 18 mediante el uso de los propios parámetros de codificación. Simplemente esa parte de estos parámetros de codificación necesita transmitirse y distribuirse a través del demultiplexor 104 a cualquiera de estas dos ramas de decodificación 106v,2 y 106d,2, que no se adoptan/predicen a través del límite de vista entre las vistas 141 y 142, y, opcionalmente, un residual de la parte predicha de intervista. Las partes actuales de la segunda vista 122 se predicen a partir de unas partes anteriormente reconstruidas de la señal multivista 10, reconstruidas a partir del flujo de datos 18 por cualquiera de las ramas de decodificación 106 antes de la reconstrucción de las partes actuales respectivas de la segunda vista 122, y la que corrige el error de predicción usando en consecuencia los datos de corrección, es decir, 423 y 424, reenviados por el demultiplexor 104 a este par de ramas de decodificación 106v,2 y 106d,2.
5
10
15
20
25
30
35
40
45
50
55
60
La rama de decodificación 106d,2 puede determinar sus parámetros de codificación al menos parcialmente por la adopción/predicción de los parámetros de codificación usados por cualquiera de las ramas de decodificación 106v, 1, 106d,i y 106v,2, a partir del vídeo reconstruido 142 y/o a partir de los datos de mapa de profundidad/disparidad reconstruidos 161 de la primera vista 121. Por ejemplo, el flujo de datos 18 pueden indicar una parte actual 80b de los datos de mapa de profundidad/disparidad 162 en cuanto a si, y en cuanto a qué parte de, los parámetros de codificación para esta parte actual 80b se adoptan o se predicen a partir de una parte de colocalización de cualquiera de entre el vídeo 141, los datos de mapa de profundidad/disparidad 161 y del vídeo 142 o un subconjunto apropiado del mismo. La parte de interés de estos parámetros de codificación puede implicar, por ejemplo, un vector de movimiento, tal como el 84, o un vector de disparidad tal como el vector disparidad 82. Además, otros parámetros de codificación, tales como con respecto a los bloques particionados de manera irregular, pueden obtenerse mediante la rama de decodificación 106d,2.
En cualquier caso, las partes reconstruidas de los datos multivista 10 llegan al extractor de vistas 108 donde las vistas contenidas en el mismo son la base para una extracción de vistas de nuevas vistas, es decir, los videos asociados con estas nuevas vistas, por ejemplo. Esta extracción de vistas puede comprender o incluir una reproyección de los videos 141 y 142 usando los datos de mapa de profundidad/disparidad asociados con la misma. Francamente hablando, al volver a proyectar un video en otra vista intermedia, partes del video corresponden a partes de escena colocadas más cerca del espectador que se desplazan a lo largo de la dirección de disparidad, es decir, la dirección del vector de diferencia de dirección de visión, más que a partes del vídeo, corresponde a las partes de escena localizadas más lejos de la posición de espectador.
Debería mencionarse que el decodificador no comprende necesariamente el extractor de vistas 108. Más bien, el extractor de vistas 108 puede no estar presente. En este caso, el decodificador 100 es simplemente para reconstruir cualquiera de las vistas 121 y 122, tales como una, varias o todas ellas. En el caso de no estar presentes los datos de profundidad/disparidad para las vistas individuales 121 y 122, un extractor de vistas 108 puede, sin embargo, realizar una extracción de vistas intermedia explotando los vectores de disparidad que relacionan las partes correspondientes de las vistas cercanas entre sí. Usando estos vectores de disparidad como vectores de disparidad de soporte de un campo de vectores de disparidad asociado con los vídeos de las vistas cercanas, el extractor de vistas 108 puede construir un vídeo de vistas intermedias a partir de tales videos de vistas cercanas 121 y 122 aplicando este campo de vectores de disparidad. Imagínese, por ejemplo, que el fotograma de vídeo v2,t tiene un 50 % de sus partes/segmentos de intervista predichos. Es decir, para el 50 % de las partes/segmentos existirían los vectores de disparidad. Para las partes restantes, los vectores de disparidad podrían determinarse por el extractor de vistas 108 por medio de interpolación/extrapolación en el sentido espacial. También puede usarse la interpolación temporal que usa vectores de disparidad para las partes/segmentos de los fotogramas anteriormente reconstruidos del vídeo 142. A continuación, el fotograma de vídeo v2,t y/o el fotograma de vídeo de referencia v1,t pueden distorsionarse de acuerdo con estos vectores de disparidad con el fin de producir una vista intermedia. Con este fin, los vectores de disparidad se escalan de acuerdo con la posición de vista intermedia de la vista intermedia entre las posiciones de vista de la primera vista 121 y una segunda vista 122. Los detalles relativos a este procedimiento se describen con más detalle a continuación.
Sin embargo, las realizaciones descritas a continuación pueden usarse ventajosamente en el marco de las figuras 1 a 3 si se considera simplemente la codificación de una vista que comprende un video y unos datos de mapa de profundidad/disparidad que corresponden tal como en la primera vista 121 de las realizaciones descritas anteriormente. En ese caso, la información de señal transmitida, concretamente, la vista única 121, que podría llamarse una señal compatible con la síntesis de vista, es decir, una señal que permite la síntesis de vista. El acompañamiento del video 141 con unos datos de mapa de profundidad/disparidad 161, permite al extractor de vistas 108 realizar algún tipo de síntesis de vista reproyectando la vista 121 en una nueva vista cercana explotando los datos de mapa de profundidad/disparidad 161. Una vez más, se obtiene la ganancia de eficacia de codificación usando el particionamiento de bloques irregular. Por lo tanto, las realizaciones de particionamiento de bloques irregular descritas más adelante pueden usarse dentro de un concepto de codificación de visión única independiente del aspecto de intercambio de información de codificación de intervista descrito anteriormente. Para ser más precisos, las realizaciones anteriores de las figuras 1 a 3 podrían variarse en la medida en que faltan las ramas 22, 100v/d,2 y la vista asociada 122.
Por lo tanto, las figuras 1 a 3 muestran un ejemplo de un concepto de codificación multivista en el que podría usarse ventajosamente el particionamiento de bloques irregular explicado posteriormente. Sin embargo, se enfatiza de nuevo en que los modos de codificación descritos a continuación también pueden usarse en conexión con otros tipos de codificación de matriz de muestras, independientemente de que la matriz de muestras sea o no un mapa de profundidad/disparidad. Algunos de los modos de codificación descritos a continuación incluso no necesitan la coexistencia de un mapa de profundidad/disparidad junto con un mapa de textura correspondiente.
En particular, las realizaciones descritas a continuación implican algunos modos de codificación, por los que la señal de un bloque se representa por un modelo que separa las muestras de la señal en dos conjuntos de muestras y
5
10
15
20
25
30
35
40
45
50
55
60
representa cada conjunto de muestras por un valor de muestra constante. Algunos de los modos de codificación explicados a continuación, o pueden usarse para representar directamente la señal de un bloque o pueden usarse para generar una señal de predicción para el bloque, que a continuación se ajusta adicionalmente codificando la información residual adicional (por ejemplo, los niveles de coeficiente de transformación). Si uno de los modos de codificación explicados posteriormente se aplica a las señales de profundidad, además de otros aspectos favorables, una ventaja puede resultar del hecho de que las señales de profundidad se caracterizan principalmente por ralentizar las regiones de variación y los bordes afilados entre las regiones de variación lenta. Mientras que las regiones de variación lenta pueden representarse eficazmente por transformar enfoques de codificación (es decir, basados en un DCT), la representación de los bordes afilados entre dos regiones casi constantes requiere un gran número de coeficientes de transformación a codificar. Tales bloques que contienen bordes pueden representarse mejor usando un modelo que divida el bloque en dos regiones, cada una con un valor de muestra constante, como se describirá con respecto a algunas de las realizaciones descritas a continuación.
A continuación, se describen diferentes realizaciones de la invención con más detalle. En las secciones 1 y 2, se describen los conceptos básicos para particionar un bloque en dos regiones de valores de muestras constantes. La sección 3 describe realizaciones diferentes para especificar cómo un bloque puede particionarse en diferentes regiones y qué parámetros deben transmitirse para representar el particionamiento, así como los valores de muestra para las regiones. Las realizaciones incluyen conceptos para indicar la información de partición independiente de cualquier otro bloque, para indicar la información de partición basada en los datos transmitidos a los bloques espacialmente cercanos, y para indicar la información de partición basada en la imagen de textura ya transmitida (imagen de vídeo convencional) que está asociada con el mapa de profundidad a codificar. De este modo, la sección 4 describe las realizaciones de la invención con respecto a la codificación de la información de modo, la información de partición, y los valores de muestra constantes implicados con algunas realizaciones para manejar un bloque irregularmente colocado.
Aunque la siguiente descripción se dirige principalmente a la codificación de mapas de profundidad (en particular en el contexto de la codificación de vídeo multivista) y la siguiente descripción se basa en unos bloques de profundidad dados, varias realizaciones de la invención también pueden aplicarse para la codificación de vídeo convencional. Por lo tanto, si la expresión “bloque de profundidad” se sustituye con la expresión general “bloque de señal”, la descripción puede aplicarse a otros tipos de señales. Además, la siguiente descripción a veces se concentra en bloques cuadráticos, pero la invención también puede aplicarse a bloques rectangulares u otros conectados o simplemente conectados conjuntos de muestras.
1. Wedgelets
En la codificación de vídeo híbrida basada en bloques, tal como se muestra en las figuras 1 a 3, por ejemplo, un fotograma se subdivide en bloques rectangulares. A menudo, estos bloques son cuadráticos y el procesamiento para cada bloque sigue la misma estructura funcional. Obsérvese que aunque la mayoría de los ejemplos de esta sección usan bloques cuadráticos, las particiones de bloque Wedgelet y todos los métodos relacionados no se limitan a los bloques cuadráticos, sino que son más bien posibles para cualquier tamaño de bloque rectangular.
1.1 Partición de bloque Wedgelet
El principio básico de las particiones de bloque Wedgelet es dividir el área de un bloque 200 en dos regiones 202a, 202b que están separadas por una línea 201, como se ilustra en la figura 4, donde las dos regiones se etiquetan con P1 y P2. La línea de separación está determinada por un punto de inicio S y un punto final E, ambos localizados en la frontera del bloque. A veces, en lo que sigue, la región P1 se llama partición Wedgelet 202a, mientras que la región P2 se denomina partición Wedgelet 202b.
Para el espacio de señal continua (véase la figura 4, izquierda) la posición del punto de inicio es S (xs, ys), y la posición del punto final es E (xe, yE), ambos limitados al tamaño de bloque 0 < x < xb y 0 < y < yB (donde una de las coordenadas tiene que ser igual al valor mínimo (0) o máximo (xe o yB)). De acuerdo con estas definiciones la ecuación de la línea de separación es la siguiente:
imagen1
Obsérvese que esta ecuación solo es válida para xs # xe. Las dos regiones P1 y P2 se definen a continuación como el área izquierda y derecha de la línea, respectivamente.
En el procesamiento de imagen digital por lo general se usa un espacio de señal discreta (véase la figura 4, derecha), donde el bloque consiste en un número entero de muestras 203 ilustradas por los cuadrados de cuadrícula. En este caso, los puntos inicial y final S y E corresponden a las muestras de frontera del bloque 200 con las posiciones S (us, vs), y E (ue, ve), ambas limitadas al tamaño de bloque 0 < x < ue y 0 < y < ve. En el caso
5
10
15
20
25
30
35
40
45
50
55
60
discreto la ecuación de línea de separación podría formularse de acuerdo con (1). Sin embargo, la definición de las regiones P1 y P2 es diferente en este caso, ya que solo las muestras completas pueden indicarse como parte de cualquiera de las dos regiones, ilustradas en la figura 4, derecha. Este problema de asignación puede resolverse algorítmicamente como se describe en la sección 1.4.1.
Las particiones de bloque Wedgelet 202a, 202b requieren los puntos de inicio y final 204 para localizarse en diferentes bordes del bloque 200. En consecuencia, pueden distinguirse seis diferentes orientaciones de las particiones de bloque Wedgelet 202a, 202b para los bloques rectangulares o cuadráticos 200, como se ilustra en la figura 5.
1.2 Patrones de partición Wedgelet
Para emplear las particiones de bloque Wedgelet en el proceso de codificación, puede almacenarse la información de partición en la forma de patrones de partición. Un patrón de este tipo consiste en una matriz de tamaño ue X ve y cada elemento contiene la información binaria de si la muestra acordada pertenece a la región Pi o P2. La figura 6 muestra unos patrones de partición Wedgelet de ejemplo para diferentes tamaños de bloque. En este caso, la información de región binaria, es decir, la bisegmentación, se representa por las muestras negras o blancas 203.
1.3 Modelado y aproximación Wedgelet
Para el modelado de la señal de profundidad de un bloque con un Wedgelet, la información necesaria comprende conceptualmente dos elementos. Uno es la información de partición (véase la sección 1.1), por ejemplo en la forma de un patrón de partición, que asigna a cada muestra 203 a una de las dos regiones (véase la sección 1.2). El otro elemento de información necesario son los valores que se asignan a las muestras de una región. El valor de cada una de las dos regiones Wedgelet puede definirse para ser una constante. Este es el caso con algunas de las realizaciones descritas a continuación. Por lo tanto, este valor se referirá como un valor de partición constante (CPV). En ese caso, el segundo elemento de información se compone de dos valores de muestra representativos de las regiones especificadas.
Para la aproximación de la señal de un bloque de profundidad por un Wedgelet, el CPV de una partición dada puede calcularse como el valor medio de la señal de profundidad original de la región correspondiente, como se ilustra en la figura 7. En el lado de la mano izquierda de la figura 7 se muestra una parte en escala de grises fuera de un mapa de profundidad representativo. Un bloque 200 que es actualmente el objeto del particionamiento basado en Wedgelet se muestra a modo de ejemplo. En particular, se muestra su posición ilustrativa dentro de la señal de profundidad original 205, así como una versión en escala de grises ampliada. En primer lugar, la información de partición, es decir, una posible bisegmentación, en términos de las regiones P1 y P2 se superpone con el bloque 200. A continuación, se calcula el CPV de una región como el valor medio de todas las muestras cubiertas por la región respectiva. A medida que la información de partición en el ejemplo en la figura 5 coincide con la señal de profundidad 205 bastante bien, el modelo Wedgelet resultante, es decir, la predicción del bloque 200 basándose en el modo de particionamiento Wedgelet descrito, con un CPV menor para la región P1 (gris más oscuro) y un CPV más alto para la región P2 (gris claro) representa una buena aproximación del bloque de profundidad.
1.4 Procesamiento Wedgelet
1.4.1 Listas de patrones Wedgelet
Para el fin del procesamiento y de la transmisión eficaz de las particiones de bloque Wedgelet, los patrones de particiones pueden organizarse en listas de búsqueda. Un patrón Wedgelet de este tipo contiene los patrones para todas las combinaciones posibles de las posiciones de puntos inicio y final para la línea de separación de región o que contiene un subconjunto adecuado de todas las combinaciones posibles. Por lo tanto, puede generarse una lista de búsqueda para cada tamaño de bloque de predicción. Listas idénticas pueden estar disponibles en el codificador y en el decodificador, con el fin de permitir la asignación entre el codificador y el decodificador (véase la sección 3 para más detalles) dependiendo de la posición o el índice de un patrón específico dentro de la lista de un cierto tamaño de bloque. Esto puede implementarse por cualquiera incluyendo un conjunto de patrones predefinido o ejecutando el algoritmo de generación idéntica como parte de la inicialización del codificador y del decodificador.
La función principal para crear las listas de búsqueda de patrón de partición Wedgelet es la generación de un elemento de lista, como se ilustra en la figura 8. Esto puede realizarse como se describe a continuación (o mediante un algoritmo similar). Dado un patrón vacío (un matriz de ue x ve de elementos binarios) y las coordenadas del punto de inicio S y del punto final E (figura 8, izquierda) la primera etapa es dibujar la línea de separación. Para este fin, puede aplicarse el algoritmo de línea de Bresenham. En general, el algoritmo determina que las muestras 203 deberían trazarse con el fin de formar una aproximación cercana a una línea recta entre dos puntos dados. En el caso de los patrones de partición Wedgelet todos los elementos 203 que se aproximan a la línea entre el punto de inicio S y el punto final E están marcados (cajas negras en la figura 8, medio izquierda). La última etapa es llenar
5
10
15
20
25
30
35
40
45
50
55
60
una de las dos regiones resultantes separadas por las muestras marcadas. En este caso, necesita tratarse el problema de asignación mencionado anteriormente. Como los elementos de un modelo son binarios, la línea de separación marcada por el algoritmo de Bresenham convierte parte de una región. Intuitivamente esto parece ser desequilibrado, en la medida en que las muestras de línea son teóricamente parte de ambos dominios. Sin embargo, es posible asignar las muestras de línea de separación a una región sin pérdida de generalidad. Esto se garantiza por el hecho de que tanto la marcación de línea así como el algoritmo de llenado de región son conscientes de la orientación, es decir, en relación con la esquina de raíz de la orientación acordada. Basándose en el hecho de que la región de esquina está completamente delimitada por la línea de separación, llenar esta región es relativamente simple. El algoritmo de llenado comienza con un elemento de esquina de raíz 206 y consecutivamente marca todos los elementos del patrón columna y línea hasta que llega a un elemento que ya está marcado y por lo tanto parte de la línea 207 (véase la figura 8, medio derecha). Como resultado, el patrón de partición Wedgelet para la posición de del punto de inicio y final dada está representado por los valores binarios (figura 8, derecha).
El proceso de generación del patrón de búsqueda de patrón de partición Wedgelet de un cierto tamaño de bloque crea consecutivamente elementos de lista de posibles posiciones de inicio y final de línea. Esto se realiza mediante iteración a través de las seis orientaciones mostradas en la figura 5. Para cada orientación, las posiciones de inicio se encuentran en un borde y las posiciones finales en otro borde del bloque y el proceso de generación de listas ejecuta el método de generación de patrones Wedgelet introducido anteriormente para cada posible combinación de las posiciones de inicio y final. Para el procesamiento y la indicación eficaz, las listas de patrones Wedgelet solo deberían contener patrones únicos. Por lo tanto, antes de añadir un nuevo patrón a la lista, se comprueba si son idénticos o idénticos inversos a cualquiera de los patrones que ya están en la lista. En tal caso, el patrón es redundante y por lo tanto se descarta. Además de esto, los patrones planos, es decir, los que todas las muestras están asignadas a una región, también están excluidos de la lista, ya que no representan una partición de bloque Wedgelet válida.
Como una extensión a las listas de patrones Wedgelet descritas, la resolución del inicio de línea y las posiciones finales usadas para generar los patrones puede aumentarse o disminuirse de manera adaptativa, por ejemplo, en función del tamaño de bloque. El fin de esta extensión es encontrar un mejor equilibrio entre la eficacia y la complejidad de codificación. El aumento de la resolución conduce a una lista con más patrones, mientras la disminución de la resolución da como resultado una lista más corta, en comparación con la resolución normal. Por consiguiente, la resolución se aumenta normalmente para pequeños tamaños de bloque y se disminuye para grandes tamaños de bloque. Es importante observar que independientemente de la resolución de las posiciones de inicio y final, los patrones de partición Wedgelet almacenados en la lista siempre deben tener una resolución normal, es decir, el tamaño de bloque original. La disminución de la resolución puede realizarse simplemente generando los patrones como se ha descrito anteriormente, pero solo para un subconjunto de las posiciones de inicio y final. Por ejemplo, la mitad de la resolución significa limitar la generación de patrones a cada segunda posición de inicio y final. En contraste con esto, el aumento de la resolución es más difícil. Para cubrir todas las posiciones de inicio y final se genera en primer lugar un patrón temporal con el aumento de la resolución, usando el algoritmo descrito anteriormente. En una segunda etapa, el patrón resultante se muestrea hacia abajo para una resolución regular. Obsérvese que para los datos binarios, el muestreo descendente no soporta valores interpolados, lo que resulta en un mayor número de patrones idénticos para el caso de un aumento de resolución.
Como resultado final de la generación de patrones Wedgelet descrita anteriormente, se obtiene una lista ordenada de patrones Wedgelet tanto en el lado del codificador como en el del decodificador. En una implementación real, estos patrones también pueden predefinirse por el estándar de algoritmo/codificación empleado. Además, no es necesario generar los patrones por el algoritmo actual descrito anteriormente, las modificaciones de este algoritmo también pueden usarse. Solo es importante que tanto el codificador como el decodificador generen (y usen posteriormente) la misma lista de patrones Wedgelet para el proceso de codificación y decodificación.
1.4.2 Búsqueda Wedgelet de distorsión mínima
Basándose en las listas de búsqueda descritas anteriormente, la mejor aproximación de la señal de un bloque por una partición Wedgelet puede encontrarse mediante un algoritmo de búsqueda. Para los algoritmos de codificación basados en Wedgelet la mejor aproximación puede entenderse como el modelo Wedgelet que provoca la distorsión mínima. En otras palabras, la búsqueda trata de encontrar el mejor patrón de partición Wedgelet coincidente para el bloque dado. La búsqueda usa la lista de patrones obtenidos, que contiene todos los posibles patrones de partición Wedgelet para un tamaño de bloque dado (véase la sección 1.4.1 para más detalles). Estas listas ayudan a limitar el tiempo de procesamiento de la búsqueda, ya que los patrones no tienen que generarse de nuevo, cada vez que se realiza una búsqueda Wedgelet de distorsión mínima. Cada etapa de búsqueda puede constar de las siguientes etapas:
• Cálculo de los valores de CPV del patrón de partición dada y la señal de bloque original.
• Cálculo de la distorsión Dw.cur entre la señal de bloque original y el modelo Wedgelet.
• Evaluación de Dw.cur < Dw.m/n- si es cierto, actualizar la información Wedgelet de distorsión mínima, estableciendo
5
10
15
20
25
30
35
40
45
50
55
60
Dw,min = Dw,cur y almacenar el índice de lista del patrón de partición actual.
En lugar de la distorsión, puede usarse una medida de coste de Lagrange para encontrar el patrón Wedgelet usado. La medida de coste de Lagrange es una suma ponderada D + 2 ■ R que pesa la distorsión D obtenida por un patrón Wedgelet específico con la tasa R que se requiere para transmitir los parámetros asociados dado un multiplicador de Lagrange A.
Diferentes estrategias son posibles para el algoritmo de búsqueda, que van desde una búsqueda exhaustiva a una estrategia de búsqueda rápida. Una búsqueda exhaustiva significa que todos los elementos de la lista de patrones Wedgelet se prueban sucesivamente por una distorsión mínima. Esta estrategia garantiza que se encuentra el mínimo global, pero por el precio de ser lento (lo que es especialmente importante para el codificador). Una búsqueda rápida significa estrategias avanzadas que reducen el número de etapas de búsqueda necesarias. Una estrategia de búsqueda rápida podría ser, por ejemplo, un ajuste sucesivo. En una primera fase, se busca el Wedgelet de distorsión mínima para un subconjunto de patrones de partición resultantes de un número limitado de posiciones de inicio y final de línea, por ejemplo, solo cada cuarto muestras. En una segunda fase se ajustan las posiciones de inicio y final, por ejemplo, permitiendo cada segunda muestra frontera, pero limitando el intervalo de posiciones de inicio y final probadas a un intervalo alrededor del mejor resultado de la primera fase. Al ajustar el tamaño de etapa en cada ciclo, finalmente se encuentra el Wedgelet de distorsión mínima. En contraste con la búsqueda completa, una estrategia de búsqueda rápida de este tipo solo permite encontrar un mínimo local, pero el número de patrones Wedgelet a probar es significativamente más bajo y por consiguiente la búsqueda es más rápida. Obsérvese, que el tamaño de etapa de la primera fase no necesita ser un valor fijo, sino que puede establecerse de manera adaptativa, por ejemplo, como una función del tamaño de bloque.
El índice que se acaba de tratar indexa el recorrido de la línea Wedgelet o el patrón Wedgelet podría llamarse wedge_fuM_tab_idx.
2. Contornos
Obsérvese que aunque la mayoría de los ejemplos de esta sección usan bloques cuadráticos, las particiones de bloque de contorno y todas las realizaciones relacionadas no están limitadas a los bloques cuadráticos, sino que son más bien posibles para cualquier tamaño de bloque rectangular.
2.1 Partición de bloque de contorno
El principio básico de las particiones de bloque de contorno es dividir el área de un bloque 200 en dos regiones 202a, 202b. A diferencia de las particiones de bloque Wedgelet, la línea de separación 201 entre las regiones no puede describirse por una formulación geométrica. Como se ilustra por las dos regiones etiquetadas con Pi y P2 en la figura 9, las regiones de un contorno pueden conformarse de manera arbitraria y ni siquiera se requiere que estén conectadas.
La figura 9 ilustra también la diferencia entre el espacio de señal continua y discreta para las particiones de bloque de contorno. Una vez más, solo las muestras completas se pueden asignar como parte de cualquiera de las dos regiones para el espacio de señal discreta (figura 9, derecha). Cuando la información de partición de contorno se obtiene a partir de una señal de referencia discreta (véase la sección 3.2.2 para los detalles), y no de una formulación geométrica, no hay problema de asignación como para las particiones de bloque Wedgelet que tiene que tenerse en cuenta en este caso.
2.2 Patrones de partición de contorno
De conformidad con los patrones de partición Wedgelet (véase la sección 1.2), la información de partición de bloque de contorno puede almacenarse en forma de patrones de partición. Un patrón de este tipo consiste en una matriz de tamaño de ue x ve y cada elemento contiene la información binaria si la muestra acordada pertenece a la región Pi o P2. La figura 10 muestra un ejemplo de patrón de partición de contorno, que representa la información de región binaria por color de muestra blanco o negro.
2.3 Modelado y aproximación de contorno
El principio de aproximar la señal de profundidad de un bloque con un contorno es idéntico al concepto Wedgelet descrito en la sección 1.3. Una vez más, la información necesaria puede consistir en los dos elementos de información de partición y la instrucción de llenado de partición que, a su vez, puede comprender un valor de partición constante (CPV) para cada una de las dos regiones, que puede calcularse como el valor medio de la señal de profundidad original de la región correspondiente.
La aproximación de contorno se ilustra en la figura 11, donde la señal de profundidad original de un bloque de
5
10
15
20
25
30
35
40
45
50
55
60
predicción 200 se pone de relieve con el fin de mostrar su entorno y se muestra ampliada. Una vez más, la información de partición en términos de las regiones P1 y P2 se superpone con el bloque primero y a continuación con el CPV se calcula como el valor medio de todas las muestras cubiertas por la región. A medida que la información de partición en el ejemplo de la figura 11 coincide con la señal de profundidad bastante bien, el modelo de contorno resultante con un CPV menor para la región Pi (gris más oscuro) y un mayor CPV para la región P2 (gris más brillante) representa una buena aproximación del bloque de profundidad.
3. Codificación de partición de bloque
Para usar los métodos y algoritmos descritos en las secciones anteriores dentro de un marco de codificación para vídeo multivista más la profundidad (MVD), tal como el entorno de codificación de las figuras 1 a 3, deberían definirse nuevas rutinas o modos de codificación y deberían implementarse las herramientas necesarias en el codificador y en el decodificador.
Para un codificador de vídeo híbrido, tal como el codificador de la figura 1, o para un par de ramas de codificación 22v/d,1, estas herramientas pueden categorizarse como parte de la estimación, predicción, o indicación. La estimación resume las herramientas que son solo una parte del proceso de codificación en la medida en que dependen de la información de entrada original (por ejemplo, imágenes sin comprimir). En contraste con esto, la predicción resume las herramientas que son parte del proceso de codificación y decodificación, en la medida en que solo se basan en la información transmitida y/o reconstituida (por ejemplo, imágenes decodificadas). La indicación resume las herramientas para codificar la información transmitida desde el codificador al decodificador en el flujo de bits. En consecuencia, están obligados a usar una sintaxis idéntica y unos estados de codificación de entropía idénticos.
Nótese que para las herramientas de estimación, la distorsión puede obtenerse como se conoce a partir de unos enfoques de codificación de vídeo clásico, midiendo la diferencia entre la señal de profundidad distorsionada y original del bloque, por ejemplo, como el error cuadrático medio (MSE) o la diferencia absoluta media (MAD), o como la distorsión en las vistas sintetizadas, midiendo la diferencia en las vistas sintetizadas provocada por las muestras que están deslocalizadas debido a la señal de profundidad distorsionada del bloque.
Los conceptos de codificación de partición de bloque irregular de acuerdo con las realizaciones descritas a continuación pueden dividirse en aquellos para procesar la información de partición (véanse las secciones 3.1 y 3.2) y aquellos para procesar los CPV (véase la sección 3.3).
3.1 Intracodificación basada en Wedgelet
Esta sección presenta dos modos de intracodificación basados en las particiones de bloque Wedgelet (véase la sección 1). Ambos modos pueden combinarse con el método de CPV delta (véase la sección 3.3.2).
3.1.1 Intramodelado de partición de bloque Wedgelet
El principio básico de este modo es encontrar la mejor partición Wedgelet coincidente en el codificador y transmitir explícitamente la información de partición en el flujo de bits. En el decodificador se reconstruye la señal del bloque usando la información de partición transmitida explícitamente. En consecuencia, las principales herramientas para este modo son parte de la estimación y de la indicación.
La información de partición Wedgelet para este modo no se predice, pero se busca dentro del proceso de estimación en el codificador. Para este fin, se realiza la búsqueda Wedgelet de distorsión mínima como se describe en la sección 1.4.2, usando como referencia la señal de profundidad original del bloque actual. La búsqueda da como resultado la mejor partición Wedgelet coincidente con respecto al método de distorsión empleado.
Al reconstruir el bloque en el decodificador, la información de partición Wedgelet tiene que indicarse en el flujo de bits. Esto se realiza transmitiendo explícitamente la posición o un índice del patrón acordado en la lista (véase la sección 1.4.1). Este índice de lista se indica con un número fijo de contenedores. Dada una lista de patrones Wedgelet con N elementos, el índice del patrón usado se codifica usando unos códigos de longitud fija o unos códigos de longitud variable o una codificación aritmética (incluyendo la codificación aritmética binaria de contexto adaptativa), o cualquier otro método de codificación de entropía. Métodos avanzados para indicar la información de partición Wedgelet pueden incluir la clasificación de la lista basándose en la probabilidad de cada patrón de partición o usando una representación alternativa de la información de partición, por ejemplo, la de línea o la posición de inicio de línea y el gradiente.
3.1.2 Intrapredicción de la partición de bloque Wedgelet
El principio básico de este modo es para predecir la partición Wedgelet a partir de la información disponible para los
5
10
15
20
25
30
35
40
45
50
55
60
bloques anteriormente codificados en la misma imagen, es decir, la intrapredicción. Para una mejor aproximación, la partición predicha se ajusta en el codificador tal como, por ejemplo, variando la posición de final de línea. La única transmisión del desplazamiento a la posición de final de línea en el flujo de bits puede ser suficiente y en el decodificador la señal del bloque puede reconstruirse usando la información de partición que resulta de la combinación de la partición predicha y la información ajustada transmitida tal como el desplazamiento. Por consiguiente, las principales herramientas para este modo son parte de la predicción, la estimación, y la indicación.
La predicción de la información de partición Wedgelet para este modo trabaja internamente con una representación Wedgelet que consiste en la posición de inicio y el gradiente de la línea de separación. Para un procesamiento adicional, concretamente, adaptar el desplazamiento de posición de final de línea y reconstruir la señal del bloque, el resultado de predicción se convierte en una representación que consiste en la posición de inicio y final de línea. El proceso de predicción de este modo obtiene la posición de inicio de línea y el gradiente a partir de la información de los bloques anteriormente codificados, tales como los bloques cercano de la izquierda y por encima del bloque actual. En la figura 12, se muestran simplemente el bloque actual 210 y el bloque cercano anterior 212. Obsérvese que para algunos bloques uno o ambos de los bloques cercanos no están disponibles. En tal caso, el procesamiento de este modo o se omite o se continua con el establecimiento de la información que falta para los valores predeterminado significativos.
Como se ilustra en la figura 12, se distinguen dos conceptos principales para predecir la información de partición Wedgelet de acuerdo con la realización actualmente sugerida. El primer concepto se refiere al caso cuando uno de los dos bloques de referencia cercanos es de tipo Wedgelet, mostrado en el ejemplo de la figura 12, izquierda, donde el bloque 212 es un objeto a modo de ejemplo para el particionamiento Wedgelet. El segundo concepto se refiere al caso cuando los dos bloques de referencia cercanos no son de tipo Wedgelet, pero sí de tipo intradirección, que puede ser el tipo de intracodificación predeterminada, mostrado en el ejemplo de la figura 12, derecha, donde el bloque 212 es un objeto a modo de ejemplo para la intracodificación.
Si el bloque de referencia 212 es de tipo Wedgelet, el proceso de predicción puede funcionar de la siguiente manera: de acuerdo con la figura 12, izquierda, el gradiente me del Wedgelet de referencia se obtiene a partir de la posición de inicio Se y la posición de final Ee en una primera etapa. El principio de este concepto es continuar el Wedgelet de referencia, es decir, la línea de separación Wedgelet 201', en el bloque actual 210, que solo es posible si la continuación de la línea de separación 201' del Wedgelet de referencia 212 realmente interseca con el bloque actual 210. Por lo tanto, la siguiente etapa es comprobar si es posible continuar el Wedgelet de referencia. El ejemplo en la figura 12, izquierda, muestra un escenario donde es posible, pero si la posición de inicio y final del Wedgelet de referencia estuviese localizada en el borde izquierdo y derecho del bloque, la continuación de la línea no se intersecaría con el bloque de debajo. En el caso de que la verificación sea positiva, la posición de inicio Sp y la posición de final Ep se predicen en una etapa final. Como el gradiente mp es igual a me por definición, las posiciones se calculan simplemente como los puntos de intersección de la línea continua con las muestras frontera de bloques.
Si el bloque de referencia 212 es de tipo intradirección, el proceso de predicción puede funcionar de la siguiente manera: de acuerdo con la figura 12, derecha, el gradiente me del bloque de referencia 212 se obtiene a partir de la dirección de intrapredicción 214 en una primera etapa. En el caso de la intradirección 214 solamente se proporciona en la forma de un índice abstracto, una función de mapeo o conversión puede necesitarse para lograr el gradiente me- A diferencia del concepto para predecir a partir de un bloque de referencia 212 de tipo Wedgelet, no se proporciona información de línea de separación por un bloque de referencia 212 de tipo intradirección. En consecuencia, la posición de inicio Sp se obtiene a partir de la información que también está disponible en el decodificador, es decir, las muestras adyacentes de la izquierda y por encima del bloque cercano. Se muestran sombreadas en la figura 12, derecha. La densidad del sombreado representará el valor de las muestras cercanas. Como se ilustra en la figura 12, derecha, a partir de estas muestras adyacentes se selecciona la que es contigua al par de muestras de cercanas con la pendiente máxima como la posición de inicio Sp. En este caso, la pendiente se entiende como la diferencia absoluta de los valores de dos muestras consecutivas. Para una partición Wedgelet el punto de inicio de línea Sp separa las dos regiones 202a, 202b con un valor diferente en un borde 216 del bloque 210. Por lo tanto, el punto de pendiente máxima entre las muestras adyacentes de los bloques cercanos es la mejor predicción del Sp. En cuanto al gradiente, mp es igual a me por definición de nuevo y junto con Sp puede calcularse la posición de final Ep como una etapa final.
Los dos conceptos presentados son complementarios. Mientras que la predicción a partir de los bloques de referencia de tipo Wedgelet tiene mejor información coincidente, pero no siempre es posible, la predicción a partir de los bloques de referencia de tipo intradirección siempre es posible, pero la información de partición se ajusta peor. Por lo tanto, es beneficioso combinar los dos conceptos en un modo de predicción. Para darse cuenta de esto sin una indicación adicional, puede definirse la siguiente jerarquía de procesamiento: Si el bloque de referencia anterior es de tipo Wedgelet, intentar predecir la partición. De lo contrario, si el bloque de referencia izquierdo es de tipo Wedgelet, intentar predecir la partición. De lo contrario, predecir la partición a partir de la información de referencia arriba y a la izquierda. Para esto último, son posibles diferentes criterios de decisión para decidir entre la dirección arriba e izquierda, que van desde simplemente priorizar los enfoques anteriores hasta los enfoques avanzados para
5
10
15
20
25
30
35
40
45
50
55
evaluar conjuntamente las direcciones y las pendientes de las muestras adyacentes. Tales criterios avanzados también podrían aplicarse, si tanto el bloque de referencia de la izquierda como el de arriba son de tipo Wedgelet.
El desplazamiento de posición de final de línea para ajustar la partición Wedgelet no se puede predecir, pero si buscarse dentro del proceso de estimación en el codificador. Para la búsqueda, se generan las particiones candidatas a partir de la partición Wedgelet predicha y un valor de desplazamiento para la posición de final de línea Eoff, como se ilustra en la figura 12. Iterando sobre un intervalo de valores de desplazamiento y comparando la distorsión de las diferentes particiones Wedgelet resultantes, se determina el valor de desplazamiento de la mejor partición Wedgelet coincidente con respecto al método de distorsión empleado.
Para reconstruir el bloque en el decodificador, el valor de desplazamiento de posición de final de línea se indica en el flujo de bits. Lo mismo podría indicarse usando tres elementos de sintaxis, una primera indicación en cuanto a si está presente cualquier desplazamiento Eoff, es decir, en cuanto a si el mismo es cero, una segunda que significa que la señal del desplazamiento, es decir, una desviación en el sentido de las agujas del reloj o en el sentido contrario de las agujas del reloj, en el caso de que el desplazamiento no sea cero, y la tercera que designa el valor de desplazamiento absoluto menos uno: dmm_delta_end_flag, dmm_delta_end_sign_flag,
dmm_delta_end_abs_minus1. En pseudo código, estos elementos de sintaxis podrían incluirse como
dmm_delta_end_flag
if (dmm_delta_end_flag) {
dmm_delta_end_abs_minus1
dmm_delta_end_sign_flag}
dmm_delta_end_abs_minus1 y dmm_delta_end_sign_flag podrían usarse para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DmmlíeltaEndf *0 ][ yfl J = (1-2 J[ yO ]) *
{ dmm_deHa_cnd__abí¡jmmisl *0 || yü] i ])
El caso más probable es que el valor de desplazamiento sea cero. Para una indicación eficaz, se envía un primer contenedor, que tiene la función de una bandera, que indica si el desplazamiento es o no cero. Si el desplazamiento no es cero, siguen k + 1 contenedores adicionales para indicar los valores de desplazamiento en el intervalo ± 2k, donde el primer contenedor representa el signo y los contenedores k restantes el valor absoluto del desplazamiento. Para una codificación eficaz k es normalmente un número pequeño y podría establecerse de manera adaptativa, por ejemplo, en función del tamaño de bloque. El desplazamiento de posición de final de línea también puede transmitirse mediante cualquier otra técnica de codificación de entropía, incluyendo códigos de longitud fija, códigos de longitud variable, o codificación aritmética (que incluye la codificación aritmética binaria adaptativa al contexto).
3.2 Predicción intercomponente para la codificación de partición de bloque
Esta sección presenta dos modos de codificación basados en la predicción de la información de partición a partir de la textura. Ambos modos pueden combinarse con el método de CPV delta (véase la sección 3.3.2). Se supone que la información de textura (es decir, la imagen de vídeo convencional) se transmite antes del mapa de profundidad asociado.
El principio básico de estos modos puede describirse como la predicción de la información de partición a partir de un bloque de referencia de textura, o como una partición de bloque Wedgelet o como una de contorno. Este tipo de predicción puede denominarse como predicción de intercomponente. A diferencia de la predicción temporal o de intervista, en este caso no es necesaria una compensación de movimiento o disparidad, ya que la imagen de

referencia de textura muestra la escena al mismo tiempo y desde la misma perspectiva. En la medida que la

información de partición no se transmite para estos modos, la predicción de intercomponente usa la imagen de

textura reconstruida como una referencia. En función del espacio de color usado para la codificación de textura, se
tienen en cuenta uno o más componentes de la señal de textura para la predicción de intercomponente. Para la codificación de vídeo normalmente se usa un espacio de color YUV. En este caso, el componente luma contiene la información más significativa para la predicción de la señal del bloque de profundidad, es decir, los bordes entre objetos. Por lo tanto, un simple enfoque de predicción de intercomponente solo explota la información del componente luma mientras que los enfoques avanzados se aprovechan adicionalmente de los componentes de croma, o para una predicción de unión o para ajustar el resultado de predicción luma.
3.2.1 Predicción basada en la textura de la partición de bloque Wedgelet
El principio básico de este modo es predecir la partición Wedgelet de un bloque de profundidad 210 en el mapa de
20
5
10
15
20
25
30
35
40
45
50
55
60
profundidad 213 a partir del bloque de referencia de textura 216. Esto se realiza buscando la mejor partición Wedgelet coincidente para la imagen de textura reconstruida, como se ilustra en la figura 13. Para este fin, se realiza la búsqueda Wedgelet de distorsión mínima, como se describe en la sección 1.4.2, usando la señal de textura reconstruida 215, más específicamente el bloque luma 216 con la misma posición y tamaño que el bloque de profundidad 210, como una referencia. El patrón de partición Wedgelet resultante 218 se usa para la predicción 220 del bloque de profundidad. En la figura 13, esto se pone de relieve por las cajas superiores y para el ejemplo mostrado, la partición Wedgelet predicha (media) se aproxima muy bien al bloque de profundidad 210. Ya que la predicción Wedgelet descrita puede realizarse de manera idéntica en el codificador y en el decodificador, no se requiere indicación de información de partición para este modo.
3.2.2 Predicción basada en la textura de la partición de bloque de contorno
El principio básico de este modo es predecir la partición de contorno de un bloque de profundidad del bloque de textura de referencia. Esto se realiza obteniendo la partición de contorno 218' para la imagen de textura reconstruida 215, como se ilustra en la figura 10. Para este fin, se realiza una aproximación de contorno, usando la señal de textura reconstruida 215, más específicamente el bloque luma 216 con la misma posición y tamaño que el bloque de profundidad 210, como referencia. Como tal, puede realizarse una predicción de contorno de manera idéntica en el codificador y en el decodificador, no se requiere indicación de información de partición para este modo.
El patrón de partición de contorno puede generarse calculando el valor medio del bloque de referencia 216 y estableciéndolo como un umbral. En función de si el valor de una muestra en el bloque de referencia 216 está por debajo o por encima del umbral, la posición acordada se marca como parte de la región P1 o P2 en el patrón de partición 218'. El patrón de partición de contorno resultante 218' se usa para la predicción 220 del bloque de profundidad 210. En la figura 13, esto se pone de relieve por las cajas inferiores y para el ejemplo mostrado, la partición de contorno predicha (media) 218' aproxima muy bien el bloque de profundidad 210. Sin embargo, el enfoque de umbral conduce potencialmente a patrones deshilacliados con muchas pequeñas partes aisladas, que no aproximan bien la señal de profundidad. Para mejorar la consistencia de los patrones de contorno, puede extenderse el proceso de desviación, por ejemplo, mediante enfoques de filtración o de segmentación.
El patrón de partición binario que define el patrón de partición de contorno, dmmWedgeletPattern [x, y], con (x, y) con x, y = 0..nT-1 indica que las posiciones de muestra dentro del bloque a particionar, pueden obtenerse a partir de las muestras luma del bloque de vídeo de textura localizada videoLumaSamples [x, y], con x, y = 0..nT-1, de la siguiente manera.
Un umbral tH se obtiene como:
tH = sumDC / (nT*nT), con sumDC += videoLumaSamples[ x, y ] Para x> Y =
O..11T-I
Los valores patrón se establecen como:
- Si videoLumaSamples [x, y] es mayor que tH, se aplica lo siguiente:
dmnn Wedgelet Pattern[ x , y | — I
- De otro modo, se aplica lo siguiente:
dmm'WedgeletPattevn[ Jt,y ] = 0
3.3 Codificación de CPV
En esta sección se presentan los conceptos para la codificación de CPV. Pueden aplicarse de manera idéntica a los cuatro modos de predecir o estimar la información de partición de bloque (véanse las secciones 3.1 y 3.2), ya que ambos tipos de particiones, Wedgelet y de contorno, tienen dos regiones de partición con un valor constante por definición. En consecuencia, el procesamiento de CPV no necesita distinguir entre tipos de partición o modos de codificación, sino que supone que se proporciona un patrón de partición para el bloque de profundidad actual.
3.3.1 Predicción de los CPV
Para una mejor comprensión de la predicción de CPV, se distinguen tres tipos de CPV, que son: CPV original, CPV predicho, y CPV delta. La relación entre ellos se ilustra esquemáticamente en la figura 14, derecha, por la sección transversal del bloque (línea de puntos 230 en la figura 14, izquierda). En este caso, la línea 232 representa la señal original del bloque 200 a lo largo de la línea 230. De acuerdo con la descripción en las secciones 1.3 y 2.3 los CPV
5
10
15
20
25
30
35
40
45
50
55
60
originales (líneas 234 y 236 en la figura 14, derecha) se calculan como el valor medio de la señal cubierta por la correspondiente región P1 y P2, respectivamente.
Los CPV originales Warig.piy Warig,P2 conducen a la mejor aproximación de la señal original (izquierda en la figura 14, o la línea 232) para una partición de bloque dada, pero como la señal original no está disponible en el decodificador, sería necesario transmitir los valores en el flujo de bits. Esto sería muy costoso en términos de tasa de bits y puede evitarse adoptando el principio de predicción para los CPV. En contraste con los CPV originales, los CPV predichos se obtienen a partir de la información que también está disponible en el decodificador, es decir, las muestras adyacentes del bloque cercano de la izquierda y arriba, como se ilustra en las muestras sombreadas 203 en la figura 14, izquierda. En este caso, las muestras adyacentes están marcadas en gris y el CPV predicho para cada región del patrón de partición dada resulta de calcular el valor medio de las muestras que lindan con la región correspondiente (líneas 238 y 240 en la figura 14, izquierda). Obsérvese que el bloque cercano de la izquierda o arriba no siempre está disponible. En un caso de este tipo, las muestras adyacentes respectivas pueden establecerse en un valor predeterminado.
En la figura 14, derecha, los CPV predichos Wpred.pi y Wpred,P2 están representados por las líneas 238 y 240 y la ilustración destaca que los CPV original y predicho pueden diferir significativamente. De hecho, la diferencia AWp1 y AWp2 entre los valores originales y predichos depende de la similitud entre la señal original 232 del bloque actual 200 y la señal frontera de los bloques cercanos reconstruidos mostrados en las muestras sombreadas 203. Esta diferencia se define como el CPV delta de la región correspondiente. Esto significa, que si el CPV delta AWp1 y AWp2 se estima en el codificador y se transmite en el flujo de bits, es posible reconstruir el CPV original en el decodificador sumando el CPV delta al CPV predicho. Solo la transmisión del delta en lugar de los valores originales conduce a una reducción significativa de la tasa de bits necesaria.
Los valores de partición constante predichos CPV podrían llamarse dmmPredPartitionDC1 y dmmPredPartitionDC2 y obtenerse a partir de las muestras cercanas p [x, y] de la siguiente manera. A continuación, dmmWedgeletPattern indica el particionamiento de los bloques actuales que abarcan las muestras (x, y) a modo de ejemplo, x, y = 0..nT-1. Es decir, las posiciones de muestra cercanas al borde superior se localizan en (x, -1) con x = 0..nT-1, y las posiciones de muestra cercanas al borde izquierdo se localizan en (-1, y) con y = 0.. nT-1. Los valores de muestra cercanos ya reconstruidos se indican como p [x, y]. Se ponen a cero sumPredDC2, sumPredDC1, numSamplesPredDC2 y numSamplesPredDCl al principio:
Para x = 0..nT-1 las muestras cercanas de arriba se resumen como:
- Si dmmWedgeletPattern [x, 0] es igual a 1 (por ejemplo, la partición P1), se aplica lo siguiente:
sumPredDC2 + = p [x, -1] y numSamplesPredDC2 + = 1
- de lo contrario (por ejemplo, la partición P2), se aplica lo siguiente:
sumPredDC1 + = p [x, -1] y numSamplesPredDCl + = 1 Para y = 1-0..nT las muestras cercanas izquierdas se resumen como:
- Si dmmWedgeletPattern [0, y] es igual a 1, se aplica lo siguiente:
sumPredDC2 + = p [-1, y] y numSamplesPredDC2 + = 1
- De lo contrario, se aplica lo siguiente:
sumPredDC1 + = p [-1, y] y numSamplesPredDC1 + = 1 Los valores de partición constantes predichos se obtienen de la siguiente manera.
- Si numSamplesPredDC1 es igual a 0, se aplica lo siguiente:
dmmPredPartitionDC1 = 1 << (BitDepthY - 1)
- De lo contrario, se aplica lo siguiente:
dmmPredPartitionDC1 = sumPredDC1/numSamplesPredDC1
- Si numSamplesPredDC2 es igual a 0, se aplica lo siguiente:
dmmPredPartitionDC2 = 1 < <(BitDepthY - 1)
5
10
15
20
25
30
35
40
45
- De lo contrario, se aplica lo siguiente:
dmmPredPartitionDC2 = sumPredDC2/numSamplesPredDC2
3.3.2 Cuantificación y adaptación de CPV delta
Basándose en el principio de la predicción de CPV, se introduce un concepto para el procesamiento eficaz de los CPV delta en esta sección. La transmisión de los CPV delta en el flujo de bits sirve para el fin de reducir la distorsión de la señal reconstruida para la codificación de partición de bloque. Sin embargo, la tasa de bits necesaria para indicar los valores de CPV delta delimita el beneficio de este enfoque, ya que la diferencia entre la señal original y predicha también está cubierta por la codificación de transformación del residuo. Por lo tanto, la cuantificación de los CPV delta puede introducirse de la siguiente manera: los valores se cuantifican linealmente después de la estimación en el codificador y se descuantifican antes de la reconstrucción en el decodificador. La transmisión cuantificada de los CPV delta tiene la ventaja de que se reduce la tasa de bits, mientras que la señal reconstruida a partir de los valores descuantificados solo difiere ligeramente de la mejor aproximación posible. En consecuencia esto conduce a reducir el coste tasa-distorsión en comparación con el caso sin cuantificación. En cuanto el tamaño de etapa de la cuantificación lineal, el rendimiento puede mejorarse aún más aplicando un principio bien conocido de codificación de transformación, es decir, definir el tamaño de etapa de cuantificación en función de la QP y no como un valor fijo. Al establecer el tamaño de etapa de cuantificación para los CPV delta como qAcpv = 2QP/10 con na*cpy;
resulta ser eficaz y robusto.
Una posible indicación de los CPV Delta en el flujo de bits para las dos regiones de un bloque particionado podría construirse de la siguiente manera:
dmm_dc_1_abs[x0 + i][y0 + i]
dmm_dc_1_sign_flag[x0 + i][y0 + i]
dmm_dc_2_abs[x0 + i][y0 + i]
dmm_dc_2_sign_flag[x0 + i][y0 + i]
La transmisión en el flujo de bits de un bloque determinado podría realizarse en función de un elemento de sintaxis Dmm-DeltaFlag, transmitido u obtenido explícitamente a partir de algún elemento de sintaxis de modo de codificación.
Podrían usarse dmm_dc_1_abs, dmm_dc_1_sign_flag, dmm_dc_2_abs, dmm_dc_2_sign_flag para obtener los valores DmmQuantOffsetDCI y DmmQuantOffsetDC2 de la siguiente manera:
DLYünQumtQftselLX L [ xO J[ yO J (3—2 *dram du_t_sign_i']ú.uf xO J[ yO J) * dnitTi dc_ L abs[ xO j[ yO ]
DmmQjaintOl]feetDC2[ *0 ][ yO] = t ] -2 *dütm nt) j[yG ]) *
dmm dc 2 abs{ x0 J' yO J
Los desplazamientos decuantizados dmmOffsetDC1 y dmmOffsetDC2 pueden obtenerse a partir de DmmQuantOffsetDC1 y DmmQuantOffsetDC2 de la siguiente manera.
dmmQfítáDCl = DimnQuantOffoetOCl * Clip3( ], ( ] « BjtDqrthv) 1,2
dmmOfSetDC2 - DmmOujntOfísetDCi * ClipJi l. í ] « BitDepthy 1 - 1.2
raF'v''H)'2 J
BitDepthY puede ser la profundidad de bits a la que DmmQuantOffsetDC1 y DmmQuantOffsetDC2 están internamente, dentro del codificador y del decodificador, representados, y QP' puede ser el parámetro QP de cuantización acabado de mencionar involucrado en, por ejemplo, la codificación de los niveles de coeficiente de transformación del residual de predicción de la porción actual.
5
10
15
20
25
30
35
40
45
50
55
60
Los valores de partición constantes de los CPV pueden obtenerse a continuación sumando los desplazamientos decuantificados a los CPV predichos:
Para la primera partición: dmmPredPartitionDC1 + dmmOffsetDC1
Para la segunda partición: dmmPredPartitionDC2 + dmmOffsetDC2
Como ya se ha mencionado al principio de la sección 3, la distorsión para las herramientas de estimación puede medirse de dos formas diferentes. En cuanto a los CPV delta, estos métodos de distorsión afectan en gran medida al proceso de estimación. En el caso de que la distorsión se mida como la diferencia entre la señal de profundidad distorsionada y original del bloque, el proceso de estimación busca en la aproximación más cercana de los CPV originales calculando y cuantificando simplemente los CPV delta como se describe anteriormente. En el caso de que la distorsión se mida por las vistas sintetizadas, el proceso de estimación puede extenderse para una mejor adaptación de los CPV delta a la calidad de las vistas sintetizadas. Esto se basa en el hecho de que esos CPV delta que conducen a la mejor aproximación de los CPV originales, no conducen necesariamente a la mejor calidad de vista sintetizada. Para encontrar los CPV delta que conducen a la mejor calidad de vista sintetizada, el proceso de estimación se extiende a una búsqueda de distorsión mínima (véase la sección 1.4.2), que itera sobre todas las posibles combinaciones de CPV delta para las dos particiones. Por el bien de un procesamiento y una indicación eficaces puede limitarse el intervalo de valores probados. Los resultados de búsqueda en la combinación de los CPV delta que provoca la distorsión mínima en vistas sintetizados y para la transmisión de estos valores finalmente se cuantifican.
Obsérvese que el método de CPV delta permite potencialmente saltar la transformación/cuantificación y transmisión del residuo (restante). Debido a una aproximación cercana de la señal de profundidad original u óptima, respectivamente, el impacto de omitir el residuo es limitado, especialmente si se evalúa con respecto a la calidad de las vistas reproducidas.
4. Codificación de los modos
4.1 Indicación de modo
En el proceso de codificación, se selecciona un modo para cada bloque a través de la optimización de tasa- distorsión y la información de modo se indica en el flujo de bits, tal como, por ejemplo, antes de la información de partición y de los CPV. De acuerdo con la sección 3, pueden definirse los siguientes cuatro modos de partición de bloque (además de, por ejemplo los modos de particionamiento no irregulares):
• Wedgelet_ModelIntra: intramodelado de partición de bloque Wedgelet (véase la sección 3.1.1)
• Wedgelet_PredIntra: intrapredicción de partición de bloque Wedgelet (véase la sección 3.1.2)
• Wedgelet_PredTexture: predicción basada en textura de partición de bloque Wedgelet (véase la sección 3.2.1)
• Contour_PredTexture: predicción basada en textura de partición de bloque de contorno (véase la sección 3.2.2)
Cada uno de los cuatro modos puede aplicarse con o sin el procedimiento para el procesamiento de CPV delta (véase la sección 3.3.2), que resulta en ocho mode_ID diferentes para indicar al decodificador qué tipo de procesamiento tiene que aplicarse para la predicción y la reconstrucción del bloque.
Si los modos de partición de bloque introducidos anteriormente se implementan como un conjunto adicional de modos de codificación de bloque en un marco de codificación existente tal como el de las figuras 1 a 3, puede transmitirse una bandera adicional antes de la información de modo en el flujo de bits, indicando si se usa o no un modo de partición de bloque. En el caso de que esta bandera no está establecida, la indicación de modo de codificación de bloque normal sigue. De lo contrario, se indica un mode_ID, que especifica el modo de partición de bloque actual y si el CPV delta también se transmite o no. En el flujo de bits el mode_ID está representado a través de tres contenedores.
4.2 Modo de pre-selección
La idea detrás del modo de pre-selección es reducir el esfuerzo de procesamiento y de indicación para la codificación de partición de bloque (véase la sección 3), implementando los conceptos que excluyen los modos que son muy poco probable que se seleccionen para el bloque actual.
Los primeros conceptos de modo de preselección desactivan los modos cuya probabilidad es muy baja para tamaños de bloque pequeños. Esto significa que en la mayoría de los casos la distorsión es alta en comparación con la tasa necesaria para indicar la información de modo. Entre los cuatro modos definidos en la sección 4.1 esto se aplica a Wedgelet_PredIntra y a Contour_PredTexture. Basándose en un análisis estadístico, estos dos modos están desactivados por el tamaño de bloque de 4x4 y más pequeños.
5
10
15
20
25
30
35
40
45
50
El segundo concepto de modo de preselección se aplica a los dos modos basados en la predicción de intercomponente, concretamente en Wedgelet_PredTexture y Contour_PredTexture. La idea detrás de este concepto es excluir de manera adaptativa estos modos, si es muy poco probable que un patrón de partición de bloque significativo pueda obtenerse a partir del bloque de referencia de textura. Tales bloques se caracterizan por ser relativamente planos sin bordes y contornos significativos. Para la identificación de estos bloques, se analiza la varianza del bloque de referencia de textura. El criterio para la desactivar los dos modos mencionados es que la varianza es inferior a un cierto umbral. Este método de modo de preselección se implementa de la siguiente manera: la varianza se mide como el error absoluto medio (MAE) entre las muestras luma y el valor medio del bloque de referencia (véase 216 en la figura 13). En lugar de un valor fijo, el umbral se establece como una función del parámetro de cuantificación (QP). Basándose en los resultados de un análisis estadístico de los valores de MAE, el
tHAlW =-
umbral se establece como bloques, si el QP es más alto y viceversa
que tiene el efecto de que estos dos modos se excluyen para más
La figura 15 muestra una visualización de este método de modo de preselección, con los detalles para dos bloques luma de textura 250 y 2502 y las diferencias absolutas en comparación con el valor medio a la derecha en 2521 y 2522, respectivamente. El bloque 2501 tiene una apariencia de valor de muestra espacial muy plana con casi ninguna estructura, que se refleja en una varianza muy baja. Como no hay una información de partición significativa podría predecirse a partir de este bloque 2501, no se consideran los modos Wedgelet_PredTexture y Contour_PredTexture. En contraste con esto, el bloque 2502 tiene una alta varianza, que resulta a partir de bordes y contornos significantes. Por lo tanto, se consideran los dos modos, ya que es probable que la información de partición obtenida a partir del bloque 2502 sea un buen predictor para la partición del bloque de profundidad acordado.
Tabla 1: modos acordados para las decisiones ^ de preselección.
limitación: tamaño de bloque
no si no si
limitación: varianza de ref. de textura
no no si si
Wedgelet ModelIntra
x x x x
+ delta Wedgelet_ModelIntra CPV
x x x x
Wedgelet_PredIntra
x x
+ delta Wedgelet_PredIntra CPV
x x
Wedgelet_PredTexture
x x
Wedgelet_PredTexture + delta CPV
x x
Contour PredTexture
x
+ delta Contour PredTexture CPV
x
número de mode ID
8 4 4 2
número de contenedores
3 2 2 1
La Tabla 1 resume los efectos de los dos conceptos de modo de preselección en los modos disponibles. Al excluir ciertos modos, el número de mode_ID que tiene que indicarse en el flujo de bits disminuye. La tabla muestra que los dos métodos pueden combinarse de una manera eficaz, ya que cada método reduce el número de contenedores requeridos para indicar el mode_ID por una y la combinación de ambos modos reduce el número de contenedores por dos.
5. Generalizaciones
Después de haber descrito diversos modos de partición irregulares posibles, su subdivisión conceptual en una determinación de bisegmentación (véase 3.1 y 3.2) en un lado, y un parámetro de codificación que codifica para las dos particiones resultantes (véase 3.3) en el otro lado, así como su posible empleo en un marco de codificación y la descripción de un posible entorno de codificación al que tales modos podrían además proporcionarse, se describirán las realizaciones resultantes para los decodificadores y los codificadores respectivos, parcialmente en términos más genéricos. En particular, las siguientes secciones resaltan detalles ventajosos específicos descritos anteriormente y explican cómo pueden usarse estos detalles dentro de los decodificadores y codificadores en un sentido más genérico que el que se ha descrito anteriormente. En particular, como se describirá a continuación, algunos de los aspectos ventajosos usados en los modos anteriores pueden explotarse de manera individual.
5.1 Continuación de línea de separación Wedgelet a través de fronteras de bloque
Como se ha hecho evidente a partir de la exposición anterior, el uso de particionamientos Wedgelet forma un posible compromiso entre la sobrecarga de indicación para indicar el particionamiento, por una parte, y la cantidad de variedad alcanzable por el particionamiento irregular por la otra parte. Sin embargo, sería necesaria una notable cantidad de datos de información lateral con el fin de transmitir explícitamente la información de particionamiento, es decir, la posición de la línea de separación Wedgelet tal como, por ejemplo, usando una indexación de la posición de
25
5
10
15
20
25
30
35
40
45
50
55
60
la línea de separación Wedgelet tal como, por ejemplo, de acuerdo con el concepto descrito anteriormente con respecto a la sección 3.1.1.
Por consiguiente, la continuación de línea de separación Wedgelet a través de fronteras de bloque forma una posible manera de resolver el problema descrito de manera simple. La descripción anterior en la sección 3.1.2 explica un ejemplo específico para tomar ventaja de esta solución del problema. Más genéricamente, sin embargo, en la explotación de la idea de la continuación de línea de separación Wedgelet a través de fronteras de bloque, podría construirse un decodificador como se describe a continuación con respecto a la figura 16. Sin embargo, todos los detalles descritos en la sección 3.1.2 y las otras secciones entre 3 a 4 se entienden como posibles detalles de realización, que pueden combinarse con la descripción presentada a continuación individualmente.
El decodificador de la figura 16 se designa, en general, con el signo de referencia 300 y está configurado para reconstruir una matriz de muestras 302 de un flujo de datos 304. El decodificador está configurado para realizar la reconstrucción por decodificación basada en bloques. Por ejemplo, la matriz de muestras 302 puede ser parte de una secuencia de matrices de muestra y el decodificador 300 puede implementarse como un decodificador híbrido basado en bloques que soporta diferentes modos de codificación para cada bloque 304. La matriz de muestras puede ser cualquier información espacialmente muestreada tal como, por ejemplo, mapas de textura o profundidad. Por ejemplo, el decodificador 300 de la figura 16 puede implementarse con el fin de reconstruir una vista que incluye mapas de textura/video y de profundidad/disparidad que representan la matriz de muestras 302. Si acaso, el decodificador 300 puede implementarse como el par de ramas de decodificación 106d,1 más 106v,1 o puede implementarse individualmente de acuerdo con la rama de decodificación 106d,1. Esto es, el decodificador 300 puede estar configurado para reconstruir la matriz de muestras 302 usando unos modos de codificación tales como intrapredicción, predicción temporal (movimiento compensado) y/o predicción de intervista (disparidad compensada), con y sin codificación residual del residual de predicción. Los modos de codificación pueden comprender también, por ejemplo, un modo de codificación Wedgelet explícito de acuerdo con que para un bloque respectivo, la posición de su línea de separación Wedgelet se transmite explícitamente dentro de flujo de datos 304, tal como el modo descrito en la sección 3.1.1.
En cualquier caso, este decodificador 300 está configurado de tal manera que realiza lo mismo para un bloque actual 210, tal como un bloque para el que se indica una opción de modo de codificación predeterminada dentro del flujo de datos 304, se describen las etapas a continuación. Las funcionalidades implicadas en estas etapas pueden estar integradas dentro del módulo de intrapredicción 36 o en el módulo de intrapredicción y en el módulo de intercambio 52.
Las etapas realizadas por el decodificador 300 para un bloque de un modo respectivo son una predicción de posición de línea de separación Wedgelet 306 seguidas de un ajuste de posición 308 y una decodificación 310. En particular, el decodificador de la figura 16 está configurado para predecir en la etapa 306 una posición 312 de una línea de separación Wedgelet dentro del bloque 210 de la matriz de muestras 302 en función de una línea de separación Wedgelet 201' de un bloque cercano 212 del bloque 210 de tal manera que la línea de separación Wedgelet en la posición predicha 312 forma una extensión o continuación de la línea de separación Wedgelet 201' del bloque cercano 212 en el bloque actual 210. Una vez más, el decodificador 300 puede haber obtenido la posición de la línea de separación Wedgelet 201' del bloque cercano 212 mediante una indicación explícita respectiva para el bloque 212 a partir del flujo de datos 304 o por alguna otra opción de codificación, tal como la detección de bordes dentro de una matriz de muestras de textura, matriz de muestras 302 a la que pertenece o similares. Otras posibilidades se han descrito anteriormente y se describirán adicionalmente a continuación.
Como se ha descrito anteriormente, la línea de separación Wedgelet del bloque 210, la posición 312 que se predice en 306, puede ser una línea recta como en el caso de la descripción anterior en la sección 3.1.2. Sin embargo, como alternativa, las líneas pueden definirse de manera más general, por ejemplo, usando una secuencia de saltos de posiciones de muestra, es decir, una secuencia de símbolos definiendo cada uno los siguientes píxeles en línea, que pertenecen a la línea de separación. Las líneas pueden tener una curvatura determinada analíticamente predeterminada que también se puede predecir a partir de la línea 201' o pueden obtenerse a partir de alguna otra parte anteriormente procesada del flujo de datos 304.
En particular, la predicción 306 puede estar configurada de tal manera que, después, la línea de separación Wedgelet del bloque 210 se determina preliminarmente con respecto a la dirección de extensión general, así como la posición lateral a la dirección de extensión general de la línea de separación Wedgelet. En el caso de una línea curva, puede usarse un ajuste de curva usando, por ejemplo, una función polinomial, para extrapolar la línea de separación del bloque 212 y localizar la línea de separación del bloque 210, respectivamente. En el caso de una línea recta, se determina la pendiente y la posición en una dirección lateral a la línea de separación Wedgelet.
Con respecto a la predicción 306, también debería mencionarse que la cercanía y la extensión no tienen necesariamente que definirse en términos espaciales. Más bien, los bloques 210 y 212 también podrían ser temporalmente cercanos. Por ejemplo, el bloque 212 podría ser el bloque colocalizado de una matriz de muestras de
5
10
15
20
25
30
35
40
45
50
55
una secuencia de matriz de muestras temporalmente cercana a la matriz de muestras 302. En este caso, la extensión de la línea de separación Wedgelet 201 en el bloque 210 sería una “continuación temporal”.
Una posibilidad explícita de cómo podría realizarse la predicción 306 se ha descrito anteriormente en la sección 3.1.2, a cuya descripción se hace referencia en este caso. El ajuste de posición 308 es para ajustar la posición predicha 312. Esto es, el decodificador 300 está configurado para, en el ajuste de posición 308, ajustar la posición predicha 312 de la línea de separación Wedgelet 301 del bloque 210 usando la información de ajuste indicada dentro del flujo de datos 304. De este modo, la línea de separación Wedgelet 201 divide el bloque ajustado 210 en las particiones Wedgelet primera y segunda 202a y 202b.
Como se ha descrito anteriormente, el decodificador 300 puede estar configurado de tal manera que la línea de
separación Wedgelet 201 en la posición predicha 312 forma una extensión colineal espacial de la línea de
separación Wedgelet 201' del bloque cercano 212, y el ajuste puede estar restringido de tal manera que una
posición de inicio 314 de la línea de separación Wedgelet del bloque predeterminado 210, contiguo al bloque
cercano 212, se mantiene en relación con la posición predicha 312, con independencia de la información de ajuste. Es decir, En el caso de una línea de separación Wedgelet recta, simplemente su pendiente puede ajustarse, mientras que el punto de inicio de la línea de separación Wedgelet 201 en el borde 316 del bloque 210 que separa los bloques 210 y 212, se mantiene sin cambios. Por ejemplo, el desplazamiento del extremo opuesto 318 de la línea de separación Wedgelet 201, es decir, de la posición de final de la línea de separación Wedgelet 201, a lo largo de la circunferencia del bloque 210 desde la posición de final 320 de acuerdo con una posición de línea de separación Wedgelet predicha 312 puede indicarse dentro del flujo de datos 304 como se ha descrito anteriormente con respecto a la sección 3.1.2.
En la sección 3.1.2, el desplazamiento se ha designado como Eoff. Como se describe en esta sección, el decodificador 300 puede estar configurado para extraer la información de ajuste del flujo de datos usando una decodificación de entropía donde diferentes posibles desplazamientos de la posición de muestra de extensión directa 320 a lo largo de la circunferencia del bloque 210, medidos en unidades de un tono de posición de muestra a lo largo de la dirección circunferencial, tienen una estimación de probabilidad asociada con la misma que aumenta monotónicamente desde desplazamientos mayores a desplazamientos más pequeños, de tal manera que los desplazamientos más pequeños tienen una mayor probabilidad asociada con la misma que los desplazamientos mayores. Por ejemplo, la longitud de palabra de código de VLC puede disminuir monotónicamente.
Como se ha descrito también anteriormente, pueden usarse tres elementos de sintaxis para transmitir el Eoff, una primera indicación en cuanto a si cualquier desplazamiento Eoff está presente, es decir, en cuanto a si el mismo es cero, una segunda que significa que el signo del desplazamiento, es decir, una desviación en el sentido de las agujas del reloj o en el sentido contrario de las agujas del reloj, en el caso de que el desplazamiento no sea cero, y la tercera que designa el valor de desplazamiento absoluto menos uno: dmm_delta_end_flag, dmm_delta_end_sign_flag, dmm_delta_end_abs_minus1. En pseudo código, estos elementos de sintaxis podrían incluirse como
dmm_delta_end_flag
if (dmm_delta_end_flag) {
dmm_delta_end_abs_minus1
dmm_delta_end_sign_flag}
dmm_delta_end_abs_minus1 y dmm_delta_end_sign_flag podrían usarse para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DminLt JtaEiid; k0][ yü J « (I 2 •dmmjMta_ettd_sígn_flogj *0 ][ ]) *
( dinm_della_end_abs_iii}inu51 [ x0 ]{ yü J i I)
A continuación, el decodificador 300 se configura para, en la decodificación 310, decodificar el bloque predeterminado 210 en unidades de las particiones Wedgelet primera y segunda 202a y 202b. En la descripción presentada anteriormente en las secciones 3 y 4, especialmente en la sección 4, la decodificación 310 implica una predicción del bloque actual 210 asignando un primer valor de partición constante Wpred.Pi para muestras de la posición de matriz de muestras dentro de la primera partición Wedgelet 202a y un segundo valor de partición constante Wpred,P2 para muestras de la posición de matriz de muestras dentro de la segunda partición Wedgelet 202b. La ventaja de esta implementación del procedimiento de decodificación 310 es que la cantidad de información lateral puede mantenerse baja. En particular, esta posible implementación es especialmente ventajosa en el caso de la clase de información transmitida por la matriz de muestras que tiene la propiedad anteriormente descrita de estar
27
5
10
15
20
25
30
35
40
45
50
55
60
compuesta de mesetas de valor relativamente plano con bordes pronunciados entre las mismas, tales como en el caso de los mapas de profundidad. Sin embargo, incluso sería posible que el decodificador asigne otros parámetros de codificación de manera individual a las particiones Wedgelet 202a y 202b. Por ejemplo, la predicción compensada de movimiento y/o disparidad puede aplicarse individualmente a las particiones 202a y 202b en la decodificación 310, obteniendo individualmente de este modo los parámetros de movimiento y/o de disparidad respectivos para las particiones 202a y 202b, tales como los vectores individuales. Como alternativa, las particiones 202a y 202b pueden intracodificarse individualmente en la decodificación 306 tal como aplicando individualmente una dirección de intracodificación respectiva en la misma.
De acuerdo con la figura 16, la siguiente información puede estar presente en el flujo de datos para el bloque 210: 1) el identificador de opción de codificación que tiene el estado predeterminado respectivo activa las etapas 306-310, 2) la información de ajuste tal como el desplazamiento de fin de posición, 3) opcionalmente, los parámetros de codificación - tales como el CPV o el residual de CPV - para una o ambas particiones 202a, 202b - opcional, porque los mismos pueden permitirse para predecirse - espacial o temporalmente a partir de las muestras/bloques cercanos, 4) opcionalmente, el parámetro de codificación residual tal como el DeltaCPV.
Además, el decodificador 300 de la figura 16 puede estar configurado de tal manera que el modo de codificación realizado por los procedimientos 306-310 es simplemente una opción de modo de codificación predeterminado entre dos opciones de modo de codificación activadas por un valor predeterminado respectivo común de un identificador de opción de codificación respectiva dentro del flujo de datos 304. Por ejemplo, el decodificador 300 de la figura 16 podría estar configurado para recuperar un identificador de opción de codificación a partir del flujo de datos 304 con, si el identificador de opción de codificación tiene un valor predeterminado, la comprobación de si cualquiera de un conjunto de bloques candidatos cercanos el bloque predeterminado tiene una línea de separación Wedgelet que se extiende en el bloque 210. Por ejemplo, los bloques candidatos pueden abarcar los bloques espacialmente cercanos 304 de la matriz de muestras 302 que preceden al bloque actual 210 en un orden de codificación - un orden de decodificación - aplicado por el decodificador 300 en los bloques de decodificación 304 de la matriz de muestras 302. Por ejemplo, el orden de codificación puede explorar los bloques 304 en fila de izquierda a derecha, de arriba abajo, y en este caso los bloques candidatos pueden abarcar el bloque inmediatamente cercano a la izquierda del bloque actual 210 y el bloque inmediatamente cercano a la parte superior del bloque actual 210 tal como el bloque 212. Si la comprobación revela que hay un bloque Wedgelet de este tipo entre el conjunto de bloques de candidatos, el decodificador 300 puede realizar la predicción 306, el ajuste 308 y la decodificación 310 de una manera sin modificar. Sin embargo, si no es así el decodificador 300 puede realizar la predicción 306 de manera diferente. Como se ha descrito anteriormente en la sección 3.1.2 y como se describirá en más detalle con respecto a la siguiente sección, el decodificador 300 puede estar configurado entonces para predecir la posición de la línea de separación Wedgelet 201 dentro del bloque actual 210 estableciendo una dirección de extensión de la línea de separación Wedgelet 201 dentro del bloque actual 210 en función de las muestras cercanas reconstruidas cercanas al bloque actual 210 o en función de una dirección de intrapredicción de uno o más bloques intrapredichos de los bloques candidatos. En lo que respecta a las implementaciones posibles para la predicción de los valores de partición constantes en la decodificación 310 en cuestión, se hace referencia a las anteriores y siguientes explicaciones.
Además, debería observarse que resulta una ventaja específica si la continuación de línea de separación Wedgelet a través de los bordes de bloque se combina con un modo de codificación que permita más libertad en la bisegmentación del bloque actual, tal como un modo de contorno como se ha descrito anteriormente y se describe adicionalmente más adelante. Para ser más preciso, el decodificador 300 puede estar configurado para soportar el modo realizado por los bloques 306 a 310, así como un modo de partición de contorno, permitiendo de este modo la adaptación adecuada de la sobrecarga de codificación a las necesidades de los bloques.
En cualquier caso, el bloque decodificado/reconstruido por los procedimientos 306-310, puede servir como una referencia en un bucle de predicción del decodificador 300. Es decir, el resultado de predicción en el caso de usar la predicción bivalorada, puede servir como una referencia, por ejemplo, para la predicción compensada de movimiento y/o disparidad. Por otra parte, los valores reconstruidos obtenidos por la decodificación 310, pueden servir como muestras cercanas espaciales en intrapredir cualquiera de los bloques 304 de la matriz de muestras 302 siguientes en el orden de decodificación.
La figura 17 muestra un posible codificador que ajusta con el decodificador de la figura 16. En particular, la figura 17 muestra un codificador 330 para codificar una matriz de muestras en un flujo de datos configurado para predecir una posición de una línea de separación Wedgelet dentro de un bloque predeterminado de la matriz de muestras en función de una línea de separación Wedgelet de un bloque cercano del bloque predeterminado de tal manera que la línea de separación Wedgelet en la posición predicha forma una extensión de la línea de separación Wedgelet del bloque cercano en el bloque predeterminado. Esta funcionalidad se muestra en 332. Además, el decodificador 330 tiene la funcionalidad 334 para ajustar la posición predicha de la línea de separación Wedgelet usando la información de ajuste, la línea de separación Wedgelet del bloque predeterminado que divide el bloque predeterminado en las particiones Wedgelet primera y segunda. El codificador 330 también tiene una funcionalidad
5
10
15
20
25
30
35
40
45
50
55
60
de inserción 336 de acuerdo con que la información de ajuste se inserte en el flujo de datos y una funcionalidad de codificación de acuerdo con la que el codificador 330 codifica el bloque predeterminado en unidades de las particiones Wedgelet primera y segunda.
5.2 Predicción de dirección de extensión de línea de separación Wedgelet a partir de una dirección de intrapredicción de un bloque cercano
Como se ha descrito anteriormente, incluso el particionamiento de bloques basado en Wedgelet exige una notable cantidad de información lateral con el fin de informar al lado de decodificación de la posición de la línea de separación Wedgelet.
Una idea en la que se basan las realizaciones descritas a continuación es que la dirección de intrapredicción de un bloque de intrapredicción cercano puede usarse con el fin de predecir la dirección de extensión de la línea de separación Wedgelet de un bloque actual, reduciendo de este modo la tasa de información lateral necesaria con el fin de transportar la información de partición.
En la descripción anterior, la sección 3.1.2 ha mostrado una posible implementación de las realizaciones descritas a continuación que, a su vez, se describen en términos más generales con el fin de no restringirse a la conglomeración de los modos de particionamiento irregular descrita anteriormente en las secciones 3 y 4. Más bien, la idea que se acaba de mencionar puede usarse de manera ventajosa independientemente de los otros detalles descritos en la sección 3.1.2, tal como se describe con más detalle a continuación. Sin embargo, todos los detalles descritos en la sección 3.1.2 y en las otras secciones se han de entender como posibles detalles de realización, que pueden combinarse con la descripción presentada a continuación de manera individual.
En consecuencia, la figura 18 muestra una realización de comparación para un decodificador 400, que explota la idea que se acaba de describir y puede implementarse como se ha descrito anteriormente con respecto a la sección
3.1.2 y/o a las figuras 1 a 3 por lo que se refiere a las funcionalidades adicionales. Esto es, el decodificador 400 de la figura 18 está configurado para reconstruir una matriz de muestras 302 a partir de un flujo de datos 304. En general, el decodificador 400 de la figura 18 puede implementarse como se ha indicado anteriormente en la sección 5 con respecto al decodificador 300 de la figura 16, excepto por el modo de codificación definido por las funcionalidades 306 a 310, que es opcional para el decodificador de la figura 18. Esto es, el decodificador 400 de la figura 18 puede operar para reconstruir la matriz de muestras 302 de la figura 18 mediante una decodificación basada en bloques, tal como la decodificación híbrida basada en bloques. Entre los modos de codificación disponibles para los bloques 303 de la matriz de muestras 302, hay un modo de intrapredicción descrito adicionalmente con respecto al módulo de funcionalidad 402 del decodificador 400. Tal como es el caso con el decodificador 300 de la figura 18, la subdivisión de la matriz de muestras 302 en bloques 303 puede fijarse de manera predeterminada, o puede asignarse dentro del flujo de datos 304 mediante la información de subdivisión respectiva. En particular, el decodificador 400 de la figura 18 puede estar construido como se ha descrito anteriormente con respecto a las figuras 1 a 3, concretamente, como el decodificador de la figura 3 o cualquiera de los decodificadores de vista, tales como el par de ramas de codificación 106v/d,1, o simplemente como un decodificador de profundidad tal como el 106d,1.
En particular, el decodificador 400 de la figura 18 tiene una funcionalidad 402 de acuerdo con la que un primer bloque 212 de la matriz de muestras 302 se predice usando intrapredicción. Por ejemplo, el modo de intrapredicción se indica dentro del flujo de datos 304 para el bloque 212. El decodificador 400 puede estar configurado para realizar la intrapredicción 402 rellenando el primer bloque 212 copiando los valores reconstruidos de las muestras 404 de la matriz de muestras 302, cercana al primer bloque 212 a lo largo de una dirección de intrapredicción 214 en el primer bloque 212. La dirección de intrapredicción 214 también puede indicarse dentro del flujo de datos 304 para el bloque 212, tal como indexando una de varias direcciones posibles. Como alternativa, la dirección de intrapredicción 214 del propio bloque 212 puede ser objeto de predicción. Véase, por ejemplo, la descripción de las figuras 1 a 3, donde el intrapredictor 36 de la rama de decodificación 106d,1 podría estar configurado para realizar la etapa 402. Para ser más precisos, las muestras cercanas 404 pueden pertenecer a los bloques 303 de la matriz de muestras 302 que ya se han pasado en orden de decodificación por el decodificador 400 de tal manera que su reconstrucción ya está disponible, incluyendo los valores reconstruidos de las muestras cercanas 404 del bloque cercano 212. Como se ha descrito anteriormente, pueden haberse usado diversos modos de codificación por el decodificador 400 para reconstruir estos bloques anteriores, que preceden en el orden de decodificación.
Además, el decodificador 400 de la figura 18 está configurado para predecir una posición 312 de una línea de separación Wedgelet 201 dentro de un segundo bloque 210 cercano al primer bloque 212 estableciendo una dirección de extensión de la línea de separación Wedgelet 201 dentro del segundo bloque 210 en función de la dirección de intrapredicción 214 del bloque cercano 212, dividiendo la línea de separación Wedgelet 201 el segundo bloque 210 en las particiones Wedgelet primera y segunda 202a y 202b. Por ejemplo, el decodificador 400 de la figura 18 puede estar configurado para establecer la dirección de extensión de la línea de separación Wedgelet 201 para ser igual a la dirección de intrapredicción 214 en la medida de lo posible con respecto a una cuantificación de una representación de la dirección de extensión de la línea de separación Wedgelet 201. En el caso de una línea de
5
10
15
20
25
30
35
40
45
50
55
separación recta, la dirección de extensión simplemente corresponde a la pendiente de la línea. En el caso de las líneas de separación curvadas, la dirección de intrapredicción puede, por ejemplo, adaptarse como la pendiente local de la línea de separación del bloque actual en la frontera para el bloque cercano. Por ejemplo, el decodificador 400 de la figura 18 elige la dirección de extensión entre un conjunto de posibles direcciones de extensión que forma la mejor aproximación de la dirección de intrapredicción 214.
Por lo tanto, en la predicción 404, el decodificador 400 predice la posición 312 de la línea de separación Wedgelet 201 del bloque actual 210 al menos en lo que respecta a la dirección de extensión de la misma. La obtención de la posición de la línea de separación Wedgelet 201 del segundo bloque 210 puede finalizarse dejando sin modificar la dirección de extensión 408. Por ejemplo, aunque se ha descrito en la sección 3.1.2 que una predicción de un punto de inicio 314 de la línea de separación Wedgelet 201 puede realizarse por el decodificador 400 para obtener la posición de línea de separación Wedgelet en la etapa 406, el decodificador 400 como alternativa puede estar configurado para obtener este punto de inicio 314 indicándolo explícitamente dentro del flujo de datos 304. Además, el decodificador 400 de la figura 18 podría estar configurado para colocar espacialmente la línea de separación Wedgelet 201 en la obtención 406 en una dirección lateral a la dirección de extensión 316, tal como tras el mantenimiento de la dirección de extensión 316, paralela a la dirección de extensión 316, prediciendo temporalmente la distancia en la dirección lateral de un bloque Wedgelet colocalizado en una matriz de muestras anteriormente decodificada, o prediciendo espacialmente la posición en la dirección lateral a partir de otra matriz de muestras que pertenece a una vista diferente en comparación con la matriz de muestras 302.
Sin embargo, se prefiere que el decodificador 400, para obtener la posición de la línea de separación Wedgelet 201 dentro del segundo bloque 210 de la matriz de muestras 302, colocar un punto de inicio 314 de la línea de separación Wedgelet 201 en una posición de un cambio máximo entre los valores consecutivos de una secuencia de valores reconstruidos de muestras de una línea de muestras que se extiende adyacente al segundo bloque 210 a lo largo de una parte de una circunferencia del segundo bloque 210. La línea de muestras se indica mediante el signo de referencia 410 en la figura 18 con las muestras que se simbolizan mediante pequeñas cruces. La línea 410 de muestras puede estar restringida a unas muestras de bloques espacialmente cercanos que están disponibles. En cualquier caso, debería enfatizarse en que la línea 410 de muestras dentro de la que se determina el máximo cambio, puede extenderse alrededor de una de las esquinas del bloque rectangular 210, como se muestra en la figura 18. Por lo tanto, de acuerdo con este decodificador de procedimiento 400 puede estar configurado para colocar la línea de separación Wedgelet en la obtención 406 con el fin de iniciar entre las muestras cercanas y la línea de muestra 410, donde existe la máxima diferencia en los valores reconstruidos, en paralelo a la extensión dirección 408.
En consecuencia, se guarda la tasa de información lateral ya que se ha descubierto una buena predicción para obtener la posición de la línea de separación Wedgelet 201 por otros medios que la indicación explícita dentro del flujo de datos 304.
A continuación, tiene lugar la decodificación 412 por el decodificador 400 de acuerdo con la que, el decodificador 400 decodifica el segundo bloque en unidades de las particiones Wedgelet primera y segunda 202a y 202b del mismo modo como se ha descrito con respecto a la figura 16.
Naturalmente, el decodificador 400 de la figura 18 puede modificarse para comprender también la funcionalidad de ajuste 308 de la figura 16. Por consiguiente, un desplazamiento de la posición final 318 de la línea de separación Wedgelet 201 del bloque actual 210 en relación con una posición final 320 de la posición de la línea de separación Wedgelet - que puede o no puede, como se indica más arriba, limitarse a ser recta - tal como se obtiene en la etapa 406 puede indicarse en el flujo de datos 304.
Como se ha descrito también anteriormente, pueden usarse tres elementos de sintaxis para transmitir un desplazamiento de posición final de este tipo, Eon, una primera indicación en cuanto a si cualquier desplazamiento Eoff está presente, es decir, en cuanto a si el mismo es cero, una segunda que quiere decir el signo del desplazamiento, es decir, una desviación en el sentido de las agujas del reloj o en el sentido contrario de las agujas del reloj, en el caso de que el desplazamiento no sea cero, y la tercera que indica el valor de desplazamiento absoluto menos uno: dmm_delta_end_flag, dmm_delta_end_sign_flag, dmm_delta_end_abs_minus1. En pseudo código, estos elementos de sintaxis se podrían incluir como
dmm_delta _end_flag
if (dmm_delta_end_flag) { dmm_delta_end_abs_minus1 dmm_delta_end_sign_flag}
5
10
15
20
25
30
35
40
45
50
55
60
dmm_delta_end_abs_minus1 y dmm_delta_end_sign_flag podrían usarse para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DtmiincltaEndl nO ][ y O J - f I 2 *dmm_detta_end_sign_ flag[ x() ][ yO ] > *
( dmnt uleJta end_abs minusl[ xO )[ yG ]-I- 1)
Sin embargo, también es factible un procedimiento alternativo. Por ejemplo, en lugar de indicar el desplazamiento de posición final, puede indicarse un desplazamiento de dirección o ángulo en relación con una dirección de extensión establecido en función de la dirección de intrapredicción 214 dentro del flujo de datos 304 para el bloque 202.
De acuerdo con la figura 18, la siguiente información puede estar presente en el flujo de datos para el bloque 210: 1) el identificador de opción de codificación que tiene el estado predeterminado respectivo que activa las etapas 406 - 412, 2) opcionalmente, una información de ajuste, tal como un desplazamiento de posición final, 3) opcionalmente, unos parámetros de codificación - tales como el CPV o el residual de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que puede permitirse que las mismas se predigan - espacial o temporalmente a partir de las muestras/bloques cercanos, 4) opcionalmente, un residual de parámetro de codificación tal como DeltaCPV.
En cuanto a las posibles modificaciones de la etapa de decodificación 412 en relación con la descripción de la sección 3.3, se realiza referencia a la descripción anterior de la etapa 310 de la figura 16.
No hace falta decir que el decodificador 400 de la figura 18 puede configurarse para tratar las etapas 406 y 412 como una opción de modo de codificación que se activa por un identificador de opción de codificación dentro del flujo de datos 304, en el que la posición de derivación de línea de separación Wedgelet 406 forma una medida subordinada, para obtener la posición de la línea de separación Wedgelet en el caso de que ninguno de un conjunto de bloques candidatos en la cercanía del bloque actual 210 tenga ya una línea de separación Wedgelet en el mismo, una extensión que continúa en el bloque actual 210.
La figura 19 muestra un decodificador que se ajusta al de la figura 18. El codificador de la figura 19 se indica en general con la señal de referencia 430 y está configurado para codificar la matriz de muestras en un flujo de datos 304. Internamente, el codificador 430 está configurado para predecir un primer bloque de la matriz de muestras usando la intrapredicción en el bloque 432, y la obtención de línea de acuerdo con la descripción del bloque 406 en la figura 18 en el bloque 434. A continuación, el codificador 430 codifica el segundo bloque que es el objeto de la obtención de línea en 434, en unidades de las particiones primera y segunda en el bloque de codificación 436.
Naturalmente, el codificador 430 está, más allá de las funcionalidades mostradas en la figura 19, configurado para operar con el fin de espejar la funcionalidad del decodificador de la figura 18. Es decir, el codificador 430 puede operar basándose en bloques usando, por ejemplo, la codificación híbrida basada en bloques. Aunque no se dice explícitamente, el mismo se aplica también en relación con el codificador de la figura 17 cuando se compara con el decodificador de la figura 16.
5.3 Derivación de línea de separación Wedgelet colocando el punto de inicio de la misma de acuerdo con los valores reconstruidos de las muestras cercanas
Una manera de reducir aún más la información lateral necesaria con el fin de transmitir la información en la posición de la línea de separación Wedgelet de los bloques Wedgelet forma la base de la realización de comparación descrita más adelante. En particular, la idea es que las muestras anteriormente reconstruidas, es decir, los valores reconstruidos de los bloques que preceden al bloque actual de acuerdo con el orden de codificación/decodificación permiten al menos una predicción de una colocación correcta de un punto de inicio de la línea de separación Wedgelet, concretamente, colocando el punto de inicio de la línea de separación Wedgelet en una posición de un cambio máximo entre los valores consecutivos de una secuencia de valores reconstruidos de las muestras de una línea de muestras que se extiende adyacente al bloque actual a lo largo de una circunferencia de la misma. Por lo tanto, similar a las posibilidades descritas anteriormente con respecto a las secciones 5.1 y 5.2, puede reducirse la tasa de información lateral necesaria con el fin de permitir que el decodificador coloque correctamente la línea de separación Wedgelet. La idea que subyace en la realización de comparación descrita a continuación también se ha explotado en la descripción anterior en la sección 3.1.2, donde en consecuencia se describe una posible implementación de las realizaciones de comparación descritas a continuación.
En consecuencia, la figura 20 muestra una realización de comparación para un decodificador 500, que explota la idea descrita simplemente y que puede implementarse como se ha descrito anteriormente con respecto a la sección
3.1.2 y/o las figuras 1 a 3 en la medida de lo posible en lo que se refiere a unas funcionalidades adicionales. Esto es, el decodificador 500 de la figura 20 está configurado para reconstruir una matriz de muestras 302 de un flujo de datos 304. En general, el decodificador 500 de la figura 20 puede implementarse como se ha establecido anteriormente en la sección 5.1 o 5.2 con respecto, por ejemplo, al decodificador 300 de la figura 16, a excepción del
5
10
15
20
25
30
35
40
45
50
55
60
modo de codificación definido por las funcionalidades 306 a 310, que es opcional para el decodificador de la figura 18, y con respecto al decodificador 400 de la figura 18, por ejemplo, a excepción del modo de codificación definido por la funcionalidades 402, 406 y 412, que es opcional para el decodificador de la figura 20. Esto es, el decodificador 500 de la figura 20 puede operar para reconstruir la matriz de muestras 302 de la figura 20 mediante una decodificación basada en bloques, tal como la decodificación híbrida basada en bloques. Tal como es el caso con el decodificador 300 de la figura 18, la subdivisión de la matriz de muestras 302 en los bloques 303 puede fijarse de manera predeterminada, o puede indicarse dentro del flujo de datos 304 por la información de subdivisión respectiva. En particular, el decodificador 500 de la figura 20 puede estar construido como se ha descrito anteriormente con respecto a las figuras 1 a 3, concretamente, como el decodificador de la figura 3 o cualquiera de los decodificadores de vista tales como el par de ramas de codificación 106v/d,1, o simplemente como un decodificador de profundidad tal como el 106d,1.
Francamente hablando, el decodificador de la figura 20 que se muestra con el signo de referencia 500, se corresponde en gran parte al decodificador de la figura 18. Sin embargo, la funcionalidad descrita con respecto a la figura 18 en los bloques 402 y 406 representa simplemente las etapas opcionales con respecto a la figura 20. Más bien, el decodificador 500 de la figura 20 está configurado para obtener en la etapa 406' una posición de una línea de separación Wedgelet 201 dentro de un bloque predeterminado 210 de la matriz de muestras 302 colocando un punto de inicio 314 de la línea de separación Wedgelet 201 en una posición de un cambio máximo entre los valores consecutivos de una secuencia de valores reconstruidos de muestras de una línea 410 de unas muestras que se extienden adyacentes al bloque predeterminado 210 a lo largo de una parte de una circunferencia de un bloque predeterminado 210, dividiendo la línea de separación Wedgelet 201 el bloque predeterminado 210 en las particiones Wedgelet primera y segunda 202a y 202b. En la etapa 412', el decodificador 500 realiza a continuación la decodificación de las particiones resultantes 202a y 202b en la manera descrita anteriormente con respecto a la figura 18.
Para ser más precisos, en la obtención 406', el decodificador 500 ordena los valores reconstruidos de las muestras de los bloques cercanos ya decodificados del bloque 210 de acuerdo con su orden de aparición cuando se atraviesan estas muestras en una dirección contraria a las agujas del reloj o en la dirección de las agujas del reloj. Una secuencia resultante de los valores reconstruidos se ilustra en la figura 20 en 502. Como puede verse, la mayor diferencia entre los valores reconstruidos consecutivos se produce entre el n-ésimo y (n + 1) ésima muestras cercanas y, en consecuencia, el decodificador de la figura 20 colocaría la línea de separación Wedgelet en el borde 316, en el que este par de muestras cercanas colinda, entre las muestras del bloque 210 que, a su vez, colindan directamente con este par de muestras cercanas. Como se ha descrito anteriormente, el decodificador 500 puede usar una dirección de exploración de bloque en el sentido de la fila y en consecuencia las muestras cercanas de la línea de muestras 410 pueden extenderse a lo largo del borde izquierdo y el borde superior del bloque 210. Lo mismo podría lograrse usando una mezcla de exploración en el sentido de la fila de los bloques de la raíz del árbol que se exploran, de acuerdo con el orden de decodificación/codificación, en el sentido de la fila, en el que para cada bloque de la raíz del árbol visitado actualmente se realiza una subdivisión de árbol cuaternario, los bloques de raíz de la hoja los cuales se han explorado en un primer orden transversal de profundidad. Cuando se usa un orden de este tipo, se incrementa la probabilidad de tener un número máximo de muestras cercanas ya reconstruidas en comparación con el uso de un primer orden transversal de amplitud.
En la obtención 406', el decodificador 500 de la figura 20 puede usar la obtención de la dirección de extensión de línea de separación Wedgelet 408 como se describe con respecto a la figura 18 y en la sección 3.1.2 como una forma opcional. Como alternativa, la dirección de extensión de línea de separación Wedgelet a lo largo de la que el decodificador 500 coloca la línea de separación Wedgelet 201 del bloque actual 210 puede predecirse de manera diferente, tal como, por ejemplo, temporalmente a partir de un bloque Wedgelet colocalizado de una matriz de muestras anteriormente decodificada de una secuencia de matriz de muestras que incluye la matriz de muestras 302. Como alternativa, puede usarse una indicación explícita del punto final 318 de la línea de separación Wedgelet. La indicación explícita podría representar el desplazamiento del punto final 318 a partir de una posición de muestra que se encuentra en una posición opuesta en relación con la posición de inicio 314 a través de un punto medio del bloque 210. Por supuesto, también son factibles otras soluciones.
A este respecto, debería observarse que el punto de inicio 314 podría definirse por el decodificador 500 en la etapa 406', para corresponder a la posición de muestra de orden n-ésima, a la (n + 1)-ésima posición de muestra o a una posición subpixel entre las mismas.
Muchas de las posibilidades de combinación mencionadas anteriormente en las secciones 5.1 y 5.2 también pueden transferirse a la realización de la presente sección. Por ejemplo, el modo de codificación del decodificador 500 realizado por los bloques 406' y 412' puede representar una funcionalidad de respaldo subsidiaria activada con un valor común predeterminado de un identificador de opción de codificación común con el concepto de continuación de línea de separación Wedgelet de la sección 5.1 que representa el modo de codificación predeterminado que se realiza en su lugar siempre que uno de los conjuntos de los bloques cercanos candidato tiene una línea de separación Wedgelet que continua en el bloque actual 210. Las otras generalizaciones y modificaciones también son
5
10
15
20
25
30
35
40
45
50
55
60
factibles. Por ejemplo, el decodificador 500 también podría soportar un modo de partición de contorno y así sucesivamente.
De acuerdo con la figura 20, la siguiente información puede estar presente en el flujo de datos para el bloque 210: 1) el identificador de opción de codificación que tiene el estado predeterminado respectivo que activa las etapas 406'- 412', 2) opcionalmente, la información de ajuste tal como el desplazamiento de posición final, 3) opcionalmente, los parámetros de codificación - tales como el CPV o el residual de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que puede permitirse que las mismas se predigan - espacial o temporalmente a partir de las muestras/bloques cercanos , 4) opcionalmente, el parámetro de codificación residual tal como DeltaCPV.
La figura 21 muestra un codificador que se ajusta al decodificador de la figura 20. Lo mismo se indica por el signo de referencia 530 y está configurado para realizar una obtención de línea 434' de acuerdo con la etapa 406 y una codificación 436' como se describe con respecto a la figura 19 con respecto al bloque 436.
5.4 Baldosa (píxel) basada en la bisegmentación del mapa de profundidad/disparidad umbralizando una parte de colocalización de la imagen
Como es evidente en la exposición anterior, el particionamiento basado en Wedgelet representa una clase de compensación entre la tasa de información lateral por una parte y la variedad alcanzable en posibilidades de particionamiento por la otra parte. En comparación con la misma, el particionamiento de contorno parece ser más complejo en términos de tasa de información lateral.
La idea que subyace en las realizaciones descritas más adelante es que la capacidad para aliviar las limitaciones del particionamiento en la medida en que las particiones tienen que ser particiones Wedgelet, permite la aplicación de un análisis estadístico relativamente incompleto sobre una información de textura espacialmente muestreada superpuesta con el fin de obtener un buen predictor para la bisegmentación en un mapa de profundidad/disparidad. Por lo tanto, de acuerdo con esta idea, es exactamente el aumento de la libertad lo que alivia la sobrecarga de indicación siempre que esté presente la información de textura colocalizada en forma de una imagen, y que la variación de textura significativa sea visible en la misma. Una posible implementación de esta idea, que explota esta idea, se ha descrito anteriormente en el apartado 3.2.2, pero se describe con más detalle a continuación en términos más genéricos. Una vez más, todos los detalles descritos en la sección 3.2.2 y en las otras secciones se han de entender como posibles detalles de realización, que pueden combinarse con la descripción presentada a continuación individualmente.
En particular, la figura 22 muestra un decodificador 600 de acuerdo con una realización de la presente invención de este tipo. El decodificador 600 es para la reconstrucción de un bloque predeterminado de un mapa de profundidad/disparidad 213 asociado con una imagen 215 a partir de un flujo de datos 304. El decodificador comprende un segmentador 602, un transferidor espacial 604 y un decodificador 606. El decodificador 600 puede estar configurado como se ha descrito anteriormente con respecto a cualquiera de las ramas de decodificación 106d,1/2. Es decir, el decodificador 600 puede operar en un bloque base. Además, el mismo puede implementarse como un decodificador de vídeo híbrido. La subdivisión del mapa de profundidad/disparidad 213 en bloques puede obtenerse por completo a partir de la subdivisión de la imagen 215 en bloques, o puede obtenerse a partir de la misma, en el que la subdivisión del mapa de profundidad/disparidad puede indicarse dentro del flujo de datos 304, o puede conocerse de otra manera por el decodificador 600.
El segmentador 602 está configurado para segmentar un bloque de referencia 216 de la imagen 215, colocalizado con el bloque predeterminado 210 del mapa de profundidad/disparidad 213, umbralizando la imagen 215 dentro del bloque de referencia 216 para obtener una bisegmentation del bloque de referencia en las particiones primera y segunda.
A continuación, el transferidor espacial 604 transfiere la bisegmentación del bloque de referencia 216 de la imagen sobre el bloque predeterminado 210 del mapa de profundidad/disparidad 213 con el fin de obtener las particiones primera y segunda 202a y 202b del bloque predeterminado 210.
El decodificador 606 está configurado para decodificar un bloque predeterminado 210 en unidades de las particiones primera y segunda 202a y 202b. La funcionalidad del decodificador 606 se corresponde con la funcionalidad descrita anteriormente con respecto a las cajas 310, 412 y 412”.
Pensando en la figura 1 a 3, la funcionalidad del segmentador y del transferidor podría incluirse dentro del módulo de intercambio 52 y 110, respectivamente, mientras que la funcionalidad del decodificador 606 podría implementarse, por ejemplo, en el módulo de intrapredicción.
Como se ha descrito anteriormente con respecto a la sección 3.2.2 en la que la descripción puede representar unos posibles detalles de implementación de los elementos de la figura 22, individualmente, el segmentador 602 puede
5
10
15
20
25
30
35
40
45
50
55
60
estar configurado para, en la umbralización, comprobar individualmente los valores de prueba de la imagen 215 dentro del bloque de referencia 216 en las baldosas 608 de una subdivisión bidimensional del bloque de referencia 216, en cuanto a si el valor respectivo es mayor o menor que un valor predeterminado respectivo, de tal manera que cada una de las particiones primera y segunda 202a y 202b del bloque de referencia 216 de la imagen 215 es un conjunto de baldosas 608 que en conjunto cubren completamente el bloque de referencia 216 de la imagen 215 y son complementarias entre sí. Es decir, la umbralización puede realizarse a la resolución de muestra, en cuyo caso las baldosas 608 corresponden a las muestras individuales 610 de la imagen 215. Debería mencionarse que el decodificador 600 también puede ser responsable de la reconstrucción de la imagen 215 en que los valores que son el objeto de la comprobación individual en la umbralización son los valores reconstruidos de la imagen reconstruida 215. En particular, como se describe con respecto a las figuras 1 a 3, el decodificador 600 puede estar configurado para reconstruir la imagen 215 antes de que el mapa de profundidad/disparidad 213 se asocie con la misma.
Como ya se ha mencionado anteriormente, el segmentador 602 puede estar configurado para aplicar, en la segmentación, un llenado de agujero morfológico y/o un filtro de paso bajo sobre un resultado de la umbralización con el fin de obtener la bisegmentación del bloque de referencia 216 en las particiones primera y segunda. Esto evita la aparición de dos segmentos más aislados de las particiones de la bisegmentación obtenida a partir del bloque de referencia 216 que a continuación se transfiere espacialmente por el transferidor espacial 604 donde, sin embargo, tales cambios de profundidad abruptos son significativamente menos probables que se produzcan de manera visible. Naturalmente, el codificador podría realizar la misma.
Además, el decodificador 600 y el segmentador 602 podrían estar configurados para, en la umbralización, determinar una medida para una tendencia central de los valores de muestras reconstruidos del bloque de referencia 216 de la imagen 215 y realizar la umbralización comparando cada valor de muestra reconstruido del bloque de referencia 216 de la imagen 215 con un umbral respectivo que depende de la medida determinada. Como se ha descrito anteriormente, el umbral puede definirse globalmente entre las muestras 610 dentro del bloque de referencia 216. Como tendencia central, puede usarse algún valor medio, tal como la media aritmética o un valor de la mediana.
Como se ha descrito anteriormente en la sección 4.2, el decodificador 600 podría estar configurado para soportar la disponibilidad del modo de codificación representado por los bloques 602 a 606 simplemente en el caso de una dispersión determinada a priori del valor de las muestras dentro del bloque de referencia 216 de la imagen 215 que supera un umbral predeterminado. Si no es así, la bisegmentación descubierta por la umbralización sería muy probable que no formase un buen predictor de la apariencia del bloque 210 del mapa profundidad/disparidad y, en consecuencia, este modo de codificación puede que no se permita para este bloque. Al suprimir la posibilidad de modo, se evita un aumento desventajoso e innecesario del número de valores de símbolo del identificador de opción de codificación respectivo para el que tendría que tenerse en cuenta una estimación de la probabilidad de entropía.
De acuerdo con la figura 22, la siguiente información puede estar presente en el flujo de datos para el bloque 210: 1) el identificador de opción de codificación que tiene el estado predeterminado respectivo que activa las etapas 602604, 2) opcionalmente, la información que dirige la bisegmentación tal como el umbral, las directivas de llenado de filtrado/agujero posteriores o similares, 3) opcionalmente, los parámetros de codificación - tal como el CPV o el residual de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que puede permitirse que los mismos se predigan - espacial o temporalmente a partir de muestras/bloques cercanos, 4) opcionalmente, el parámetro de codificación residual tal como DeltaCPV.
Todas las variaciones adicionales mencionadas anteriormente con respecto a las realizaciones de las figuras 16, 18 y 20 también pueden aplicarse a la realización de la figura 22. Esto es especialmente cierto para el uso del resultado de predicción como una parte de una referencia en un bucle de predicción del decodificador 600 y la posibilidad de combinar el modo de codificación de la figura 22 con cualquiera de los otros modos de codificación descritos en cualquiera de las secciones 5.1 a 5.3 o con respecto a las variaciones descritas anteriormente en las secciones 3 a 4.
La figura 23 muestra una posible implementación de un codificador que se ajusta al decodificador de la figura 22. El codificador de la figura 23 se indica, en general, con el signo de referencia 630 y está configurado para codificar un bloque predeterminado de un mapa de profundidad/disparidad asociado con una imagen en un flujo de datos 304. El codificador comprende un segmentador 632 y un transferidor espacial 634 que operan como los componentes 602 y 604 de la figura 22, es decir, operan en una versión reconstruida internamente de partes codificadas anteriormente del flujo de datos 304. El codificador 636 codifica el bloque predeterminado en unidades de las particiones resultantes.
5.5 Dependencia de la disponibilidad de la transferencia de bisegmentación desde una imagen a un mapa de profundidad/disparidad en la dispersión de valor de muestra dentro del bloque de referencia de la imagen
La idea que subyace en la realización de comparación descrita a continuación ya se ha mencionado anteriormente
5
10
15
20
25
30
35
40
45
50
55
60
en la sección 4.2, concretamente, la idea de acuerdo con la que la obtención de una bisegmentación basada en un bloque de referencia colocalizado dentro de una imagen con la transferencia posterior de la bisegmentación sobre el bloque actual del mapa de profundidad/disparidad es simplemente razonable si la probabilidad de lograr una buena aproximación del contenido del bloque actual del mapa de profundidad/disparidad es suficientemente alta con el fin de justificar la reserva de un valor predeterminado respectivo de un identificador de opción de codificación correspondiente con el fin de activar este modo de transferencia de bisegmentación. En otras palabras, la tasa de información lateral puede guardarse evitando la necesidad de tener en cuenta el valor predeterminado respectivo del identificador de opción de codificación para el bloque actual del mapa de profundidad/disparidad, cuando se codifica la entropía es muy probable que no se seleccione de todos modos este identificador de opción de codificación en el caso de la transferencia de bisegmentación respectiva.
Por lo tanto, de acuerdo con una realización de comparación modificada del decodificador 600 de la figura 22, el decodificador está, en general, construido de manera similar al decodificador de la figura 20, de tal manera que se hace referencia a la descripción anterior en la medida de lo posible en lo que se refiere, en general, a las implementaciones del decodificador 600. Sin embargo, el segmentador 602 no se limita a estar configurado para segmentar el bloque de referencia 216 en una partición de contorno, ni en una partición Wedgelet. Más bien, el segmentador 602 está simplemente configurado para segmentar el bloque de referencia 216 de la imagen 215 en función de una característica de textura de la imagen 215 dentro del bloque de referencia 216 con el fin de obtener una bisegmentación del bloque de referencia en las particiones primera y segunda. Por ejemplo, el segmentador 602 puede usar, de acuerdo con una realización modificada de este tipo, la detección de bordes con el fin de detectar una posible dirección de extensión de una línea de separación Wedgelet con el fin de transferir la línea localizada de este modo a partir del bloque 216 espacialmente en el bloque de profundidad/disparidad 210 por el transferidor espacial 604. También serían factible otras posibles bisegmentaciones realizadas por el segmentador 602.
Más allá de esto, sin embargo, el decodificador 600 estaría configurado, de acuerdo con esta realización, de tal manera que la segmentación realizada por el segmentador 602, la transferencia espacial realizada por el transferidor espacial 604 y la decodificación formarían una de un primer conjunto de opciones de codificación del decodificador 600, que no es parte de un segundo conjunto de opciones de codificación del decodificador 600, en el que el decodificador estaría configurado adicionalmente para determinar una dispersión de los valores de las muestras dentro del bloque de referencia 216 de la imagen 215, para recuperar un identificador de opción de codificación a partir del flujo de datos 304 y para usar el identificador de opción de codificación como un índice en el primer conjunto de opciones de codificación en el caso de la dispersión que supera un umbral predeterminado, realizando la segmentación, la transferencia espacial y la decodificación en las cajas de 602 a 606 sobre el bloque predeterminado 210 si el índice apunta a una opción de codificación, y cuando un índice en el segundo conjunto de opciones de codificación en el caso de la dispersión que alcanza el umbral predeterminado. Por lo tanto, puede guardarse la sobrecarga de indicación para indicar el identificador de opción de codificación. Como dispersión, puede usarse la diferencia absoluta media, la desviación estándar, o la varianza.
Con respecto a otras modificaciones de la realización de la modificación que se acaba de mencionar de la figura 22, se hace referencia a la sección 5.4 y a la descripción con respecto a la sección 4.2.
Un codificador correspondiente puede obtenerse a partir del codificador de la figura 23.
5.6. Predicción eficaz por bipartición usando la predicción de uno o ambos valores de partición constantes a partir de muestras cercanas
Como ya se ha descrito anteriormente con respecto a las diversas realizaciones descritas hasta ahora, la forma de predecir un bloque actual asignando valores de partición constantes a las particiones de un biparticionamiento de un bloque es bastante eficaz, especialmente en el caso de unas matrices de muestras de codificación tales como los mapas de profundidad/disparidad donde el contenido de estas matrices de muestras se compone sobre todo de mesetas o simples regiones conectadas de valor similar separadas entre sí por unos bordes pronunciados. Sin embargo, incluso la transmisión de dichos valores de partición constantes necesita una cantidad considerable de información lateral que debería evitarse.
La idea que subyace en las realizaciones de comparación descritas más adelante es que esta tasa de información lateral puede reducirse si se usan valores medios de los valores de las muestras cercanas asociadas o contiguas a las particiones respectivas como predictores para los valores de partición constantes. Los inventores han descubierto que un modo de codificación de este tipo para los bloques de la matriz de muestras puede incluso dejar una indicación de un ajuste del valor de partición constante de distancia respectivo.
La figura 24 muestra un decodificador 700 que es para la reconstrucción de una matriz de muestras 302 de un flujo de datos 304. El decodificador 700 puede estar configurado para reconstruir la matriz de muestras 302 usando una decodificación basada en bloques y puede configurarse para usar una decodificación híbrida. En general, todas las posibles implementaciones descritas anteriormente en las secciones 5.1 a 5.5 también se aplican al decodificador
5
10
15
20
25
30
35
40
45
50
55
60
700 de la figura 24. Naturalmente, todas las posibles implementaciones para particionar un bloque actual 210 en dos particiones simplemente representan unas alternativas opcionales para el decodificador de la figura 700 que puede, en este sentido, implementarse también de manera diferente.
En particular, el decodificador 700 está configurado para realizar diferentes tareas o funciones para obtener la predicción de un bloque actual 210. En particular, el decodificador 700 está configurado para realizar una obtención 702 de una bipartición de un bloque predeterminado 210 de la matriz de muestras 302 en una primera partición ilustrada por las muestras sombreadas, y una segunda partición ilustrada por muestras no sombreadas. Además, el decodificador 700 está configurado para realizar una asociación 704 de cada una de las muestras cercanas de la matriz de muestras 302, contigua al bloque predeterminado 210, con una respectiva de las particiones primera y segunda de tal manera que cada muestra vecina colinda con la partición con la que está asociada. En la figura 24 las muestras cercanas, que son el objeto de la asociación 704, se ilustran mediante dos tipos diferentes de sombreado, concretamente, un sombreado de puntos y un sombreado cruzado. El sombreado de puntos muestra unas muestras contiguas a las muestras del bloque 210, que pertenecen a una partición del bloque 210, mientras que las cruzadas colindan con las muestras del bloque 210 que pertenecen a la otra partición. Como se ha descrito anteriormente con respecto a las secciones 5.1 a 5.4, el decodificador 700 puede usar una orden de codificación/decodificación apropiada entre los bloques 303 de la matriz de muestras 302 con el fin de lograr una alta probabilidad de disponibilidad de muestras cercanas de los bloques 303 de la matriz de muestras 302 que ya se han reconstruido por el decodificador 700.
Por supuesto, puede ocurrir que las muestras cercanas disponibles, es decir, las muestras cercanas del bloque 210 colocadas dentro de los bloques ya reconstruidos 303 de la matriz de muestras 302, simplemente se unan a una de las particiones del bloque 210. En ese caso, el flujo de datos 304 puede transmitir explícitamente un valor de partición constante a la otra partición respectiva con la que ninguna de las muestras cercanas colinda. Como alternativa, algún otro procedimiento de respaldo puede realizarse por el decodificador 700 en este caso. Por ejemplo, el decodificador 700 puede, en este caso, establecer este valor de partición constante que falta a un valor predeterminado o a un valor determinado a partir de un medio a largo plazo entre los valores anteriormente reconstruidos de la matriz de muestras 302 y/o alguna otra matriz de muestras anteriormente reconstruida.
Por último, en una predicción 706, el decodificador 700 predice el bloque predeterminado 210 asignando un valor medio de los valores de las muestras cercanas asociadas con la primera partición a las muestras de la matriz de muestras localizada dentro de la primera partición y/o un valor medio de los valores de las muestras cercanas asociadas con una segunda partición para las muestras de la matriz de muestras localizada dentro de la segunda partición.
El decodificador 700 puede estar configurado para ajustar la predicción del bloque predeterminado 210 usando la información de ajuste dentro del flujo de datos, concretamente, aplicando un primer valor de ajuste dentro de la información de ajuste sobre el valor medio de los valores de las muestras cercanas asociadas con la primera partición, y/o aplicando un segundo valor de ajuste dentro de la información de ajuste sobre el valor medio de los valores de las muestras cercanas asociadas con la segunda partición. En este sentido, el decodificador 700 puede estar configurado además para, en la aplicación del valor de ajuste primero y/o segundo, combinar linealmente - tal como sumar - el valor de ajuste primero y/o segundo con el valor medio de los valores de las muestras cercanas asociadas con la primera partición, y/o el valor medio de los valores de las muestras cercanas asociadas con la segunda partición, respectivamente. El decodificador 700 puede estar configurado para, en la aplicación del valor de ajuste primero y/o segundo, recuperar el valor de ajuste primero y/o segundo a partir del flujo de datos y escalar el valor de ajuste primero y/o segundo a medida que se recupera usando un tamaño de etapa de cuantificación en función de un tamaño de etapa de cuantificación de referencia que un componente muestreado espacialmente predeterminado - textura y/o profundidad/mapa - asociado con la matriz de muestras se transmite dentro del flujo de datos. La matriz de muestras puede ser, por ejemplo, un mapa de profundidad, pero el tamaño de etapa de cuantificación de referencia puede usarse por el decodificador 700 para reconstruir una matriz de muestras de textura del flujo de bits, con el que está asociado el mapa de profundidad. Se hace referencia adicional, para más detalles, a las partes respectivas de las secciones 3.3.2.
El decodificador está configurado para, al obtener la bipartición de un bloque predeterminado de la matriz de muestras en las particiones primera y segunda, predecir una posición de una línea de separación Wedgelet dentro del bloque predeterminado de la matriz de muestras en función de una línea de separación Wedgelet de un bloque cercano del bloque predeterminado de tal manera que la línea de separación Wedgelet en la posición predicha forma una extensión de la línea de separación Wedgelet del bloque cercano en el bloque predeterminado. El decodificador está configurado además para ajustar la posición predicha de la línea de separación Wedgelet usando la información de ajuste dentro del flujo de datos, la línea de separación Wedgelet del bloque predeterminado dividiendo el bloque predeterminado en las particiones primera y segunda.
Como se ha descrito, el decodificador 700 puede hacer la bisegmentación usando cualquiera de las ideas expuestas en las secciones 5.1 a 5.5. El decodificador 700 puede estar configurado para predecir un bloque de referencia de la
5
10
15
20
25
30
35
40
45
50
55
60
matriz de muestras 302, cercana al bloque predeterminado 210, usando la intrapredicción que llena el bloque de referencia copiando los valores reconstruidos de las muestras de la matriz de muestras, cercana al primer bloque, a lo largo de una dirección de intrapredicción en el bloque de referencia. Al obtener la bipartición de un bloque predeterminado de la matriz de muestras en las particiones primera y segunda, el decodificador 700 puede predecir una posición de una línea de separación Wedgelet dentro del bloque predeterminado 210 estableciendo una dirección de extensión de la línea de separación Wedgelet dentro del bloque predeterminado en función de la dirección de intrapredicción, la línea de separación Wedgelet que divide el bloque predeterminado en las particiones primera y segunda.
Como alternativa, el decodificador 700 puede, si la matriz de muestras 302 es un mapa de profundidad/disparidad asociado con una imagen, configurarse para segmentar un bloque de referencia de la imagen, colocalizado en el bloque predeterminado 210, umbralizando la imagen dentro del bloque de referencia para obtener una bisegmentación del bloque de referencia en las particiones primera y predeterminada, y para transferir espacialmente la bisegmentación del bloque de referencia de la imagen sobre el bloque predeterminado del mapa de profundidad/disparidad con el fin de obtener las particiones primera y segunda.
El decodificador puede estar configurado además para usar el bloque predeterminado como una referencia en un bucle de predicción del decodificador.
La figura 25 muestra un posible codificador 730 ajustado al decodificador 700 de la figura 24. El codificador 730, para codificar una matriz de muestras en un flujo de datos, está configurado para obtener 732 una bipartición de un bloque predeterminado de la matriz de muestras en las particiones primera y segunda, y para asociar 734 cada una de las muestras cercanas de la matriz de muestras, contigua al bloque predeterminado, con una respectiva de las particiones primera y segunda de tal manera que cada muestra cercana linda con la partición con la que la misma está asociada. El codificador está configurado además para predecir 736 el bloque predeterminado asignando un valor medio de los valores de las muestras cercanas asociadas con la primera partición a las muestras de la matriz de muestras colocada dentro de la primera partición y un valor medio de los valores de las muestras cercanas asociadas con la segunda partición a las muestras de la matriz de muestras colocada dentro de la segunda partición.
Aunque algunos aspectos se han descrito 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 a una característica de una etapa de método. Análogamente, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o un elemento o una característica correspondiente de un aparato correspondiente. Algunas o todas las etapas del método puede ejecutarse por (o usar) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una o más de las etapas del método más importantes pueden ejecutarse por un aparato de este tipo.
En función 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 disquete, un DVD, un reproductor de Blu-Ray, un CD, una memoria ROM, PROM, EPROM, EEPROM o FLASH, que tienen unas señales de control legibles electrónicamente almacenadas en las mismas, que cooperan (o son capaces de cooperar) con un sistema informático programable de tal manera que se realiza el método respectivo. 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 tienen unas señales de control legibles electrónicamente, que son capaces de cooperar con un sistema informático programable, de tal 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, por ejemplo, almacenarse 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 un soporte legible por máquina.
En otras palabras, una realización del método de la invención 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 de la invención 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. El soporte de datos, el medio de
5
10
15
20
25
30
almacenamiento digital o el medio de grabado son normalmente tangibles y/o no transitorios.
Una realización adicional del método de la invención 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, por ejemplo configurarse para transferirse a través de una conexión de comunicaciones de datos, por ejemplo, a través de Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo lógico programable, configurado para o adaptado para realizar uno de los métodos descritos en el presente documento.
Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
Una realización adicional de acuerdo con la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa informático para realizar uno de los métodos descritos en el presente documento a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa informático al receptor.
En algunas realizaciones, un dispositivo lógico programable (por ejemplo una matriz de puertas programables en campo) puede usarse para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, una matriz de puertas programables en campo puede cooperar con un microprocesador con el fin de 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 descritas anteriormente son simplemente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento serán evidentes para otros expertos en la materia. Es la intención, por lo tanto, estar limitado solo por el alcance de las reivindicaciones de patente inminentes y no por los detalles específicos presentados en el presente documento a modo de descripción y explicación de las realizaciones.

Claims (15)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Decodificador para reconstruir un bloque predeterminado (210) de un mapa de profundidad/disparidad (213) asociado con una imagen de textura (215) de un flujo de datos (304), configurado para
    segmentar un bloque de referencia (216) de la imagen de textura (215), colocalizado al bloque predeterminado (210), umbralizando la imagen de textura (215) dentro del bloque de referencia (216) para obtener una bisegmentación del bloque de referencia en las particiones primera y segunda,
    transferir espacialmente la bisegmentación del bloque de referencia (216) de la imagen de textura sobre el bloque predeterminado (210) del mapa de profundidad/disparidad (213) con el fin de obtener las particiones primera y segunda (202a, 202b) del bloque predeterminado (210), y
    decodificar el bloque predeterminado (210) en unidades de las particiones primera y segunda (202a, 202b).
  2. 2. Decodificador de acuerdo con la reivindicación 1, configurado para, en la umbralización, comprobar
    individualmente los valores de la imagen de textura (215) dentro del bloque de referencia (216) en baldosas de una subdivisión bidimensional del bloque de referencia (216), en cuanto a si el valor respectivo es mayor o menor que un valor predeterminado respectivo, de tal manera que cada una de las particiones primera y segunda (218') del bloque de referencia (216) de la imagen de textura (215) es un conjunto de las baldosas (608) que en conjunto cubren
    completamente el bloque de referencia (216) de la imagen de textura (215) y son complementarias entre sí.
  3. 3. Decodificador de acuerdo con la reivindicación 2, configurado para, en la umbralización, comprobar
    individualmente los valores de la imagen de textura dentro del bloque de referencia a una resolución de muestra de tal manera que cada baldosa corresponde a una posición de muestra del bloque de referencia.
  4. 4. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 3, configurado para, en la segmentación, aplicar un llenado de agujero morfológico y/o un filtrado de paso bajo sobre un resultado de la umbralización con el fin de obtener la bisegmentación del bloque de referencia (216) en las particiones primera y segunda.
  5. 5. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 4, configurado para, en la umbralización, determinar una medida para una tendencia central de los valores de muestra reconstruidos del bloque de referencia (216) de la imagen de textura (215) y realizar la umbralización comparando cada valor de muestra reconstruido del bloque de referencia (216) de la imagen de textura (215) con un umbral respectivo que depende de la medida determinada.
  6. 6. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 5, configurado de tal manera que la segmentación, la transferencia espacial y la predicción forman uno de un primer conjunto de opciones de codificación, que no es parte de un segundo conjunto de opciones de codificación, en el que el decodificador está configurado además para
    determinar una dispersión del valor de las muestras dentro del bloque de referencia (216) de la imagen de textura (215); y
    recibir un identificador de opción de codificación del flujo de datos,
    usar el identificador de opción de codificación como un índice en el primer conjunto de opciones de codificación en el caso de que la dispersión supere un umbral predeterminado, realizando la segmentación, la transferencia espacial y la predicción sobre el bloque predeterminado si el índice apunta a la una opción de codificación, y como un índice en el segundo conjunto de opciones de codificación en el caso de que la dispersión alcanza el umbral predeterminado.
  7. 7. Decodificador de acuerdo con cualquiera de las reivindicaciones 1 a 6, configurado además para usar el bloque predeterminado como una referencia en un bucle de predicción del decodificador.
  8. 8. Decodificador de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el decodificador está configurado para, en la decodificación del bloque predeterminado (210),
    predecir el bloque predeterminado (210) asignando un primer valor constante de partición a las muestras (203) de la matriz de muestras colocadas dentro de la primera partición (202a) y un segundo valor constante de partición a las muestras (203) de la matriz de muestras colocadas dentro de la segunda partición (202b).
  9. 9. Decodificador de acuerdo con la reivindicación 8, en el que el decodificador está configurado para, en la predicción del bloque predeterminado, asociar cada una de las muestras cercanas de la matriz de muestras, que limitan con el bloque predeterminado, con una respectiva de las particiones primera y segunda de tal manera que cada muestra cercana límite con la partición con la que está asociada la misma, y predecir el bloque predeterminado asignando un valor medio de los valores de las muestras cercanas asociadas con la primera partición a las muestras de la matriz de muestras colocadas dentro de la primera partición y un valor o valores medios de las muestras cercanas asociadas con la segunda partición a las muestras de la matriz de muestras colocadas dentro de la segunda partición.
  10. 10. Decodificador de acuerdo con cualquiera de las reivindicaciones 8 y 9, configurado para
    5
    10
    15
    20
    25
    30
    35
    40
    ajustar la predicción del bloque predeterminado aplicando un primer valor de ajuste dentro de la información de ajuste sobre el valor medio de los valores de las muestras cercanas asociadas con la primera partición, y/o aplicar un segundo valor de ajuste dentro de la información de ajuste sobre el valor medio de los valores de las muestras cercanas asociadas con la segunda partición.
  11. 11. Decodificador de acuerdo con la reivindicación 10, configurado para, en la aplicación del valor de ajuste primero y/o segundo, combinar linealmente el valor de ajuste primero y/o segundo con el valor medio de los valores de las muestras cercanas asociadas con la primera partición, y/o el valor medio de los valores de las muestras cercanas asociadas con la segunda partición, respectivamente.
  12. 12. Codificador para codificar un bloque predeterminado de un mapa de profundidad/disparidad asociado con una imagen de textura en un flujo de datos, configurado para
    segmentar un bloque de referencia de la imagen de textura, colocalizado al bloque predeterminado, umbralizando la imagen de textura dentro del bloque de referencia para obtener una bisegmentación del bloque de referencia en las particiones primera y segunda, transferir espacialmente la bisegmentación del bloque de referencia de la imagen de textura sobre el bloque predeterminado del mapa de profundidad/disparidad con el fin de obtener las particiones primera y segunda del bloque predeterminado, y
    codificar el bloque predeterminado (210) en unidades de las particiones primera y segunda (202a, 202b).
  13. 13. Método para reconstruir un bloque predeterminado (210) de un mapa de profundidad/disparidad (213) asociado con una imagen de textura (215) de un flujo de datos (304), que comprende
    segmentar un bloque de referencia (216) de la imagen de textura (215), colocalizado al bloque predeterminado (210), umbralizando la imagen de textura (215) dentro del bloque de referencia (216) para obtener una bisegmentación del bloque de referencia en las particiones primera y segunda,
    transferir espacialmente la bisegmentación del bloque de referencia (216) de la imagen de textura sobre el bloque predeterminado (210) del mapa de profundidad/disparidad (213) con el fin de obtener las particiones primera y segunda (202a, 202b) del bloque predeterminado (210), y
    decodificar el bloque predeterminado (210) en unidades de las particiones primera y segunda (202a, 202b).
  14. 14. Método para codificar un bloque predeterminado de un mapa de profundidad/disparidad asociado con una imagen de textura en un flujo de datos, que comprende
    segmentar un bloque de referencia de la imagen de textura, colocalizado al bloque predeterminado, umbralizando la imagen de textura dentro del bloque de referencia para obtener una bisegmentación del bloque de referencia en las particiones primera y segunda,
    transferir espacialmente la bisegmentación del bloque de referencia de la imagen de textura sobre el bloque predeterminado del mapa de profundidad/disparidad con el fin de obtener las particiones primera y segunda del bloque predeterminado, y
    codificar el bloque predeterminado (210) en unidades de las particiones primera y segunda (202a, 202b).
  15. 15. Programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método de acuerdo con cualquiera de las reivindicaciones 13 o 14.
ES12784588.1T 2011-11-11 2012-11-09 Codificación adaptativa de particiones Active ES2647514T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161558631P 2011-11-11 2011-11-11
US201161558631P 2011-11-11
PCT/EP2012/072328 WO2013068566A1 (en) 2011-11-11 2012-11-09 Adaptive partition coding

Publications (1)

Publication Number Publication Date
ES2647514T3 true ES2647514T3 (es) 2017-12-22

Family

ID=47178013

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12784588.1T Active ES2647514T3 (es) 2011-11-11 2012-11-09 Codificación adaptativa de particiones

Country Status (15)

Country Link
US (8) US9756330B2 (es)
EP (4) EP4325865A3 (es)
JP (6) JP6084627B2 (es)
KR (7) KR102036175B1 (es)
CN (5) CN109257597B (es)
BR (2) BR122020014854B1 (es)
DK (1) DK2777285T3 (es)
ES (1) ES2647514T3 (es)
HK (1) HK1202202A1 (es)
HU (1) HUE034631T2 (es)
IN (1) IN2014KN01047A (es)
NO (1) NO2806722T3 (es)
PL (1) PL2777285T3 (es)
PT (1) PT2777285T (es)
WO (1) WO2013068566A1 (es)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
WO2013068564A1 (en) 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding using spatial prediction
ES2647514T3 (es) 2011-11-11 2017-12-22 Ge Video Compression, Llc Codificación adaptativa de particiones
PL2777283T3 (pl) * 2011-11-11 2018-07-31 Ge Video Compression, Llc Efektywna predykcja z wykorzystaniem kodowania partycji
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
WO2013129822A1 (ko) * 2012-02-27 2013-09-06 세종대학교산학협력단 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법
WO2014042459A1 (ko) * 2012-09-17 2014-03-20 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN105409215B (zh) 2013-01-11 2018-10-09 华为技术有限公司 深度预测模式选择方法及装置
CN104427291B (zh) * 2013-08-19 2018-09-28 华为技术有限公司 一种图像处理方法及设备
US9544601B2 (en) * 2013-10-15 2017-01-10 Qualcomm Incorporated Wedgelet pattern extension for depth intra coding
US9756359B2 (en) * 2013-12-16 2017-09-05 Qualcomm Incorporated Large blocks and depth modeling modes (DMM'S) in 3D video coding
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
KR102105535B1 (ko) 2014-01-03 2020-04-29 지이 비디오 컴프레션, 엘엘씨 웨지렛 기반 코딩 개념
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
US10321158B2 (en) 2014-06-18 2019-06-11 Samsung Electronics Co., Ltd. Multi-view image encoding/decoding methods and devices
WO2015194915A1 (ko) 2014-06-20 2015-12-23 삼성전자 주식회사 인터 레이어 비디오 부복호화를 위한 깊이 영상의 예측 모드 전송 방법 및 장치
WO2016003210A1 (ko) * 2014-07-04 2016-01-07 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치
WO2016049913A1 (en) * 2014-09-30 2016-04-07 Mediatek Singapore Pte. Ltd. A simplified method for the depth modeling modes
WO2016050120A1 (en) * 2014-09-30 2016-04-07 Mediatek Singapore Pte. Ltd. Method of lookup table size reduction for depth modelling mode in depth coding
WO2016049891A1 (en) * 2014-09-30 2016-04-07 Mediatek Singapore Pte. Ltd. Methods on segmentation coding in intra prediction
CN105637865B (zh) * 2015-02-05 2019-11-19 华为技术有限公司 图像预测处理方法和相关设备
CN105519110B (zh) * 2015-02-05 2018-09-28 华为技术有限公司 模板处理方法和相关设备
US20160277751A1 (en) * 2015-03-19 2016-09-22 Patrick J. Sweeney Packaging/mux and unpackaging/demux of geometric data together with video data
JP2018519719A (ja) * 2015-05-12 2018-07-19 サムスン エレクトロニクス カンパニー リミテッド イントラ予測を行う映像復号方法及びその装置、並びにイントラ予測を行う映像符号化方法及びその装置
CN107852506A (zh) * 2015-05-12 2018-03-27 三星电子株式会社 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置
CN105007494B (zh) * 2015-07-20 2018-11-13 南京理工大学 一种3d视频深度图像的帧内楔形分割模式选择方法
WO2017097441A1 (en) * 2015-12-07 2017-06-15 Huawei Technologies Co., Ltd. Devices and methods for video coding using intra prediction
CN109565595B (zh) 2016-06-24 2021-06-22 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
CN109565592B (zh) 2016-06-24 2020-11-17 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
WO2018237146A1 (en) * 2017-06-21 2018-12-27 Vid Scale, Inc. ADAPTIVE QUANTIFICATION FOR 360-DEGREE VIDEO CODING
US10853923B2 (en) 2017-09-25 2020-12-01 Texas Instruments Incorporated Method and apparatus for dynamic block partition of an image
US20190096041A1 (en) * 2017-09-25 2019-03-28 Texas Instruments Incorporated Methods and system for efficient processing of generic geometric correction engine
US11145079B2 (en) 2017-09-25 2021-10-12 Texas Instruments Incorporated Method and apparatus for arbitrary output shape processing of an image
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
US11265579B2 (en) * 2018-08-01 2022-03-01 Comcast Cable Communications, Llc Systems, methods, and apparatuses for video processing
WO2020031059A1 (en) * 2018-08-04 2020-02-13 Beijing Bytedance Network Technology Co., Ltd. Constraints for usage of updated motion information
WO2020061147A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding using bi-prediction
BR112021006349A2 (pt) * 2018-10-01 2021-07-06 Op Solutions Llc métodos e sistemas de partição exponencial
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
WO2020070612A1 (en) 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Improvement for temporal gradient calculating in bio
CN113170100A (zh) * 2018-12-29 2021-07-23 华为技术有限公司 用于帧内预测的方法和装置
US12200202B2 (en) * 2019-02-21 2025-01-14 Lg Electronics Inc. Image decoding method and apparatus using intra prediction in image coding system
CN110363212B (zh) * 2019-03-28 2022-02-15 西南石油大学 基于边界扫描的多wedgelet图像近似方法
US11240534B2 (en) * 2019-04-05 2022-02-01 Qualcomm Incorporated Extended multiple transform selection for video coding
CN110225339A (zh) * 2019-05-10 2019-09-10 上海德衡数据科技有限公司 一种hevc视频序列编解码加速方法
EP4070552A1 (en) * 2019-12-05 2022-10-12 InterDigital VC Holdings France, SAS Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction
EP4228255A4 (en) * 2020-10-07 2023-11-29 Zhejiang University Encoding method, decoding method, encoder, decoder, and storage medium
CN116248881B (zh) * 2022-09-20 2024-11-26 杭州海康威视数字技术股份有限公司 图像编解码方法、装置及存储介质
US20240275965A1 (en) * 2023-02-03 2024-08-15 Tencent America LLC Systems and methods for partition-based prediction mode reordering

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60248076A (ja) 1984-05-24 1985-12-07 Matsushita Electric Ind Co Ltd 符号化方法及びその装置
JPH01303888A (ja) * 1988-05-31 1989-12-07 Fujitsu Ltd フレーム間符号化装置
JP3353968B2 (ja) * 1992-09-25 2002-12-09 オリンパス光学工業株式会社 画像処理装置
JPH06153167A (ja) * 1992-11-13 1994-05-31 Oki Electric Ind Co Ltd 動きベクトル検出回路
JPH08298665A (ja) * 1994-04-21 1996-11-12 Sanyo Electric Co Ltd 動きベクトル検出回路、検出方法、及び動画像圧縮回路
JPH09275565A (ja) * 1996-04-05 1997-10-21 Kokusai Electric Co Ltd 画像ブロックマッチング方法及び画像符号化方法
JP3231618B2 (ja) * 1996-04-23 2001-11-26 日本電気株式会社 3次元画像符号化復号方式
US6636633B2 (en) 1999-05-03 2003-10-21 Intel Corporation Rendering of photorealistic computer graphics images
ES2747368T3 (es) 2002-05-28 2020-03-10 Dolby Int Ab Método y sistemas para la estimación, comunicación y organización de modos de intra-predicción de imágenes
JP4088205B2 (ja) * 2002-06-11 2008-05-21 松下電器産業株式会社 符号化装置、コンピュータ読取可能なプログラム、符号化方法。
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US9351013B2 (en) * 2003-11-13 2016-05-24 Qualcomm Incorporated Selective and/or scalable complexity control for video codecs
KR101201930B1 (ko) 2004-09-16 2012-11-19 톰슨 라이센싱 국부적 밝기 변동을 이용한 가중화된 예측을 가진 비디오 코덱
US8948266B2 (en) 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
CN1777289A (zh) 2005-11-30 2006-05-24 天津大学 利用选择性预测加快运动估计的方法
JP5011378B2 (ja) 2006-05-05 2012-08-29 トムソン ライセンシング スケーラブルビデオ符号化向け簡略化されたレイヤ間動き予測
EP2052546A4 (en) 2006-07-12 2010-03-03 Lg Electronics Inc METHOD AND DEVICE FOR SIGNAL PROCESSING
JP2009545919A (ja) 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ復号処理のためにアダブティブなジオメトリック分割を行う方法および装置
JP4956304B2 (ja) * 2006-08-08 2012-06-20 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
CN103501440B (zh) * 2007-04-12 2017-03-01 汤姆森特许公司 用于视频编码器中的快速几何模式判定的方法和设备
US20100208827A1 (en) * 2007-10-16 2010-08-19 Thomson Licensing Methods and apparatus for video encoding and decoding geometerically partitioned super macroblocks
JP5097523B2 (ja) 2007-12-07 2012-12-12 船井電機株式会社 音声入力装置
US8953679B2 (en) 2008-02-05 2015-02-10 Thomson Licensing Methods and apparatus for implicit block segmentation in video encoding and decoding
JP5071721B2 (ja) * 2008-02-27 2012-11-14 ソニー株式会社 画像処理装置および方法、並びにプログラム
KR20090095316A (ko) 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
CN101609548B (zh) 2008-09-12 2011-04-06 西安电子科技大学 基于Wavelet和Wedgelet变换HMT模型的图像分割方法
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
JP2012089905A (ja) 2009-01-13 2012-05-10 Hitachi Ltd 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法
EP2384004A4 (en) 2009-01-29 2012-08-01 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNALS USING INTRA MODE CONTOUR CODING
CN102714741B (zh) * 2009-10-14 2016-01-20 汤姆森特许公司 深度图处理的方法和设备
WO2011066672A1 (en) * 2009-12-04 2011-06-09 Thomson Licensing Texture-pattern-adaptive partitioned block transform
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US8681873B2 (en) 2010-02-19 2014-03-25 Skype Data compression for video
TWI846396B (zh) * 2010-04-13 2024-06-21 美商Ge影像壓縮有限公司 在樣本陣列多元樹細分中之繼承技術
EP3614667A1 (en) * 2010-04-13 2020-02-26 GE Video Compression, LLC Inter-plane prediction
PL2559166T3 (pl) 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
US9020043B2 (en) 2010-05-10 2015-04-28 Google Inc. Pathway indexing in flexible partitioning
US20120008684A1 (en) 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus of encoding and decoding video signal
KR102472533B1 (ko) * 2010-08-11 2022-11-30 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US20140044347A1 (en) 2011-04-25 2014-02-13 Sharp Kabushiki Kaisha Mage coding apparatus, image coding method, image coding program, image decoding apparatus, image decoding method, and image decoding program
EP2521357A1 (de) 2011-05-06 2012-11-07 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Filterung von kodierten Bildpartitionen
US20140184744A1 (en) * 2011-08-26 2014-07-03 Thomson Licensing Depth coding
PL2777283T3 (pl) 2011-11-11 2018-07-31 Ge Video Compression, Llc Efektywna predykcja z wykorzystaniem kodowania partycji
ES2647514T3 (es) * 2011-11-11 2017-12-22 Ge Video Compression, Llc Codificación adaptativa de particiones
JP6717790B2 (ja) 2017-09-14 2020-07-08 ファナック株式会社 レーザ加工中に光学系の汚染レベルに応じて焦点シフトを調整するレーザ加工装置

Also Published As

Publication number Publication date
US20200128260A1 (en) 2020-04-23
CN109257598A (zh) 2019-01-22
US11863763B2 (en) 2024-01-02
KR102373445B1 (ko) 2022-03-11
JP2019134466A (ja) 2019-08-08
US10341667B2 (en) 2019-07-02
CN109257599B (zh) 2023-05-16
JP2015502063A (ja) 2015-01-19
EP3249923B1 (en) 2020-01-01
JP2017108427A (ja) 2017-06-15
US20140247871A1 (en) 2014-09-04
US10986352B2 (en) 2021-04-20
KR20160118373A (ko) 2016-10-11
EP4325865A2 (en) 2024-02-21
KR102588425B1 (ko) 2023-10-12
CN109257598B (zh) 2023-05-12
EP4325865A3 (en) 2024-05-29
CN109257597B (zh) 2023-05-16
CN109257597A (zh) 2019-01-22
US20170332086A1 (en) 2017-11-16
JP2024012629A (ja) 2024-01-30
JP7614302B2 (ja) 2025-01-15
IN2014KN01047A (es) 2015-10-09
JP7389185B2 (ja) 2023-11-29
US20190297334A1 (en) 2019-09-26
EP3691262B1 (en) 2023-10-25
JP6788699B2 (ja) 2020-11-25
JP2021022947A (ja) 2021-02-18
WO2013068566A1 (en) 2013-05-16
KR20230145540A (ko) 2023-10-17
KR20190120444A (ko) 2019-10-23
KR101663394B1 (ko) 2016-10-06
JP7121093B2 (ja) 2022-08-17
US20210185329A1 (en) 2021-06-17
CN109257596A (zh) 2019-01-22
US10771794B2 (en) 2020-09-08
KR20200125750A (ko) 2020-11-04
HUE034631T2 (en) 2018-02-28
CN109257596B (zh) 2023-06-13
US10567776B2 (en) 2020-02-18
KR20220035274A (ko) 2022-03-21
KR20140077990A (ko) 2014-06-24
BR112014011406A8 (pt) 2018-12-26
BR112014011406A2 (pt) 2017-06-27
EP3691262C0 (en) 2023-10-25
JP6084627B2 (ja) 2017-02-22
KR102171788B1 (ko) 2020-10-29
DK2777285T3 (da) 2017-11-27
CN109257599A (zh) 2019-01-22
JP2022153645A (ja) 2022-10-12
JP6501808B2 (ja) 2019-04-17
US10362317B2 (en) 2019-07-23
EP3691262A1 (en) 2020-08-05
HK1202202A1 (en) 2015-09-18
US20240137531A1 (en) 2024-04-25
PT2777285T (pt) 2017-12-01
BR112014011406B1 (pt) 2022-06-14
CN104221379A (zh) 2014-12-17
CN104221379B (zh) 2019-01-01
PL2777285T3 (pl) 2018-01-31
KR102471528B1 (ko) 2022-11-28
EP3249923A1 (en) 2017-11-29
US20200404294A1 (en) 2020-12-24
KR20220162859A (ko) 2022-12-08
BR122020014854B1 (pt) 2022-09-13
EP2777285B1 (en) 2017-08-16
US9756330B2 (en) 2017-09-05
KR102036175B1 (ko) 2019-10-24
NO2806722T3 (es) 2018-03-10
EP2777285A1 (en) 2014-09-17
US20170332088A1 (en) 2017-11-16

Similar Documents

Publication Publication Date Title
ES2647514T3 (es) Codificación adaptativa de particiones
ES2664746T3 (es) Predicción eficaz usando codificación de particiones
US11032562B2 (en) Effective wedgelet partition coding using spatial prediction
US11425367B2 (en) Effective wedgelet partition coding
JP2025041906A (ja) 高い分割自由度を伴う効果的なパーティション符号化