ES2664746T3 - Predicción eficaz usando codificación de particiones - Google Patents
Predicción eficaz usando codificación de particiones Download PDFInfo
- Publication number
- ES2664746T3 ES2664746T3 ES12783613.8T ES12783613T ES2664746T3 ES 2664746 T3 ES2664746 T3 ES 2664746T3 ES 12783613 T ES12783613 T ES 12783613T ES 2664746 T3 ES2664746 T3 ES 2664746T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- partition
- wedgelet
- samples
- partitions
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
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, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Descodificador para reconstruir una matriz de muestras (302) a partir de un flujo de datos (304), configurado para obtener una biparticion de un bloque predeterminado (210) de la matriz de muestras (302) en unas particiones primera y segunda al determinar una medida para una tendencia central de valores de muestra reconstruidos de un bloque de referencia de la imagen, localizado conjuntamente con el bloque predeterminado (210), segmentar el bloque de referencia al comparar cada valor de muestra reconstruido del bloque de referencia con un umbral definido de forma global para los valores de muestra reconstruidos del bloque de referencia y dependiendo de la medida para la tendencia central para obtener una bisegmentacion del bloque de referencia en unas particiones primera y predeterminada, y transferir espacialmente la bisegmentacion del bloque de referencia de la imagen sobre el bloque predeterminado (210) del mapa de profundidad / disparidad con el fin de obtener las particiones primera y segunda, o generar, para cada uno de una pluralidad de tamanos de bloque, una lista ordenada de patrones de wedgelet, correspondiendose cada patron de wedgelet con una combinacion de puntos de inicio y final de una linea de separacion de wedgelet, mediante el uso de un algoritmo que determina que muestras representar graficamente para formar una aproximacion cercana a una linea recta entre los puntos de inicio y final y la indexacion de un patron de wedgelet dentro de una lista de patrones de wedgelet generados para un tamano de bloque del bloque predeterminado (210) usando un indice senalizado de forma explicita en el flujo de datos (304) con el fin de obtener las particiones primera y segunda; asociar cada una de las muestras cercanas de la matriz de muestras (302), que limitan con el bloque predeterminado, con una respectiva de las particiones primera y segunda de tal modo que cada muestra cercana limite con la particion con la que esta asociada la misma; predecir el bloque predeterminado (210) asignando un valor medio de los valores de las muestras cercanas asociadas con la primera particion a las muestras de la matriz de muestras (302) colocadas dentro de la primera particion y / o un valor medio de los valores de las muestras cercanas asociadas con la segunda particion a las muestras de la matriz de muestras (302) colocadas dentro de la segunda particion.
Description
5
10
15
20
25
30
35
40
45
50
55
60
Predicción eficaz usando codificación de particiones DESCRIPCIÓN
La presente invención se refiere a una codificación de matriz de muestras usando una codificación de particiones.
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 se pueden comprimir 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. Con independencia del tipo de matriz de muestras, no obstante, 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 secundaria 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 residuo 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 parte, 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, no obstante, 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 secundaria adicional para indicar el particionamiento de bloques. Se ha descubierto que el particionamiento de bloques de tipo Wedgelet es un compromiso apropiado entre las posibles formas de particionamiento de bloques y la tara de información secundaria involucrada. El particionamiento de tipo Wedgelet conduce a un particionamiento de los bloques en particiones de Wedgelet para lo que, por ejemplo, se pueden usar parámetros de codificación específicos.
El documento X011476783 presenta una técnica de codificación de profundidad que aprovecha la similitud estructural entre la profundidad y la textura. La técnica de codificación de profundidad implica una selección e indicación de un modo de SD desde un codificador a un descodificador. La técnica discrimina entre, por un lado, un modo no biparticionado para un determinado bloque y, por otro lado, cuatro modos de particionamiento aproximado, en concreto en horizontal, en vertical y dos modos diagonales. Para aquellos bloques codificados en uno de los modos biparticionados, la bipartición exacta o real del bloque actual del mapa de profundidad se determina basándose en la estructura de la textura reconstruida de la imagen. El proceso para asignar cada muestra del bloque de profundidad actual a una de las particiones es un proceso iterativo. El valor de muestra de la muestra de textura localizada conjuntamente, localizada conjuntamente con una muestra de profundidad actual, se usa para identificar un área de textura similar dentro del bloque de textura localizado conjuntamente, es decir, un área dentro de la cual los valores de muestra de textura son similares al valor de muestra de la muestra localizada conjuntamente de la muestra de profundidad actualmente inspeccionada. A continuación, se realiza una comprobación de esta área para determinar su solapamiento con una u otra de las particiones que se corresponden con el modo de partición de SD seleccionado. La muestra de profundidad actual está asociada con la partición con la que el área de similitud se solapa principalmente. A continuación, este proceso se realiza o se repite con el fin de pasar por todas las muestras de profundidad del bloque de profundidad actual. De esta forma, la muestra de profundidad del bloque de profundidad actual está asociada con una de las particiones del modo de partición de SD seleccionado. A continuación, se determina un valor de profundidad representativo para cada partición con el fin de dar como resultado una predicción del bloque de profundidad respectivo. Para este fin se usa la mediana.
El documento X031762058 describe una intrapredicción basada en geometría adaptativa para la codificación de vídeo de profundidad. La esencia del método propuesto es el uso de bloques de profundidad cercanos con el fin de estimar una función de partición para biparticionar un bloque de profundidad actual. Dicho de otra forma, se usa un ajuste lineal o un ajuste de curva para ajustar una línea recta o una curva en un borde detectado dentro de un bloque de profundidad cercano y la línea determinada de este modo se extiende hasta el bloque de profundidad actual. A continuación, el bloque de profundidad biparticionado de este modo se intrapredice usando uno de unos modos de predicción direccional, un modo de predicción de DC o un modo de predicción simple. Por lo tanto, la idea que se enseña es ahorrar tasa de bits al evitar la transmisión de información que define la posición de la línea de separación para bloques de profundidad biparticionados. Más bien, la línea de particionamiento se obtiene mediante la extrapolación de una línea ajustada a partir de bloques de profundidad cercanos.
No obstante, incluso la restricción al particionamiento de Wedgelet conduce a una cantidad significativa de tara adicional para indicar el particionamiento de bloques, y en consecuencia sería favorable tener un concepto de codificación más eficaz 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.
5
10
15
20
25
30
35
40
45
50
55
60
Este objeto se consigue mediante la materia objeto de las reivindicaciones independientes pendientes.
La forma de predecir un bloque actual mediante la asignación de valores de partición constante a las particiones de un biparticionamiento de un bloque es bastante eficaz, en especial en el caso de matrices de muestras de codificación tales como mapas de profundidad / disparidad, en el que el contenido de estas matrices de muestras está compuesto, en su mayor parte, por mesetas o regiones conectadas simples de valor similar separadas entre sí por bordes abruptos. No obstante, la transmisión de tales valores de partición constante seguiría necesitando una cantidad considerable de información secundaria, que se debería evitar. Esta tasa de información secundaria se puede reducir adicionalmente si se usan valores medios de los valores de muestras cercanas asociadas o que limitan con las particiones respectivas como predictores para los valores de partición constante.
Otros aspectos secundarios son el objeto de las reivindicaciones dependientes.
Las formas de realización 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 se podrían construir las formas de realización 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 vídeo; muestra un diagrama de bloques de un accesorio de descodificador que se ajusta a la figura 1; muestra una partición de 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 * 4 (izquierda), 8 * 8 (centro) y 16 * 16 (derecha);
muestra una aproximación de la señal de profundidad con el modelo de 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 * 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 de Wedgelet (azul) para los escenarios en los que el bloque de referencia anterior es o de tipo partición de Wedgelet (izquierda) o intradirección regular (derecha); muestra una predicción de información de partición de 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 descodificador de acuerdo con una forma de realización;
muestra un diagrama de bloques de un adaptador de codificador a la figura 16;
muestra un diagrama de bloques de un descodificador de acuerdo con una forma de realización;
muestra un diagrama de bloques de un adaptador de codificador a la figura 18;
muestra un diagrama de bloques de un descodificador de acuerdo con una forma de realización;
muestra un diagrama de bloques de un adaptador de codificador a la figura 20;
muestra un diagrama de bloques de un descodificador de acuerdo con una forma de realización;
muestra un diagrama de bloques de un adaptador de codificador a la figura 22;
muestra un diagrama de bloques de un descodificador de acuerdo con una forma de realización; y
muestra un diagrama de bloques de un adaptador de codificador a la figura 24.
La siguiente descripción de las formas de realización preferidas de la presente invención comienza con un posible entorno en el que las formas de realización de la presente invención se pueden emplear de forma ventajosa. En particular, un códec multivista de acuerdo con una forma de realización se describe con respecto a las figuras 1 a 3. No obstante, se debería enfatizar que las formas de realización descritas a continuación no están restringidas a la codificación multivista. No obstante, algunos aspectos descritos más abajo se pueden entender mejor, y tienen sinergias especiales, cuando se usan con la codificación multivista, o, para ser más preciso, en especial 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 formas de realización de la presente
5
10
15
20
25
30
35
40
45
50
55
60
invención descrita a continuación.
Tal como se acaba de decir, las formas de realización 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 imagen y de vídeo y se pueden aplicar de forma específica a la codificación de mapas de profundidad, tal como para representar la geometría de una escena, a pesar de que estas formas de realización también se podrían aplicar a la codificación de imagen y vídeo convencionales. Las formas de realización 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 imagen y de vídeo. Las formas de realización se pueden aplicar de forma específica a la codificación de mapas de profundidad (para representar la geometría de una escena), pero también se pueden aplicar a la codificación de imagen y de vídeo convencionales.
En la codificación de vídeo multivista, dos o más vistas de una escena de vídeo (que se capturan de forma simultánea por múltiples cámaras) se codifican en un solo flujo de bits. El objetivo principal de la codificación de vídeo 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 vídeo reconstruidas se pueden mostrar en una pantalla estéreo convencional (con gafas). No obstante, 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 modo que se visualicen múltiples vistas de una escena de vídeo al mismo tiempo. Cada vista se muestra en un pequeño cono, de tal modo que cada ojo del usuario vea una imagen diferente; este efecto crea la impresión estéreo sin gafas especiales. No obstante, tales pantallas autoestereoscópicas requieren normalmente de 10 a 30 vistas de la misma escena de vídeo (incluso se pueden necesitar más vistas si la tecnología se mejora aún más). Se pueden usar más de 2 vistas para proporcionar al usuario la posibilidad de seleccionar de forma interactiva el punto de vista para una escena de vídeo. Pero la codificación de múltiples vistas de una escena de vídeo aumenta de forma drástica la tasa de bits necesaria en comparación con el vídeo 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á 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, se pueden crear en el lado del receptor mediante unas técnicas de representación adecuadas.
En la codificación de imagen y de vídeo del estado de la técnica, 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 o bien se puede fijar por la sintaxis o bien se puede indicar (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 como 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 descodificación de los parámetros de codificación asociados se específica 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 se pueden representar mediante vectores de desplazamiento con una 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 desplazamiento constante (que se agrega a la suma ponderada) se pueden fijar o a una imagen, o a una imagen de referencia, o a un conjunto de imágenes de referencia, o se pueden
5
10
15
20
25
30
35
40
45
50
55
60
incluir 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, se pueden dividir 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 se encuentra presente, la información de subdivisión se codifican por entropía.
También las técnicas de codificación del estado de la técnica tales como ITU-T Rec. H.264 | ISO / IEC JTC 1 1449610 o el actual modelo de trabajo para HEVC también se pueden aplicar a los mapas de profundidad, las herramientas de codificación se han diseñado especialmente para la codificación de vídeo natural. Los mapas de profundidad tienen diferentes características que las imágenes de una secuencia de vídeo 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 vídeo multivista con mapas de profundidad se puede mejorar si los mapas de profundidad se codifican de manera más eficaz aplicando herramientas de codificación especialmente diseñadas para aprovechar 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 se pueden usar las formas de realización 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 forma de realización. La señal multivista de la figura 1 se indica de forma ilustrativa como 10 en cuanto a que comprende dos vistas 121 y 122, a pesar de que la forma de realización de la figura 1 también sería factible con un mayor número de vistas. Además, de acuerdo con la forma de realización de la figura 1, cada vista 121 y 122 comprende un vídeo 14 y unos datos de mapas de profundidad / disparidad 16, a pesar de que muchos de los principios ventajosos de las formas de realización 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 dato alguno 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 vídeos 14 de las vistas 121 y 122 son iguales entre sí, a pesar de que esta restricción no tiene que cumplirse necesariamente. Tal como se muestra en la figura 1, preferentemente cada vídeo 14 comprende una secuencia de tramas con cada trama asociada a una marca de tiempo respectiva t, t - 1,t - 2, ... En la figura 1, las tramas de vídeo se indican mediante el número Vnúmero de vista, número de marca de tiempo. Cada trama 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 otras componentes de color, tales como las 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 vídeo 14 como dentro del vídeo 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 vídeo 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 trama de vídeo v tiene, asociado con la misma, 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 trama de vídeo 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 las tramas de vídeo. Es decir, la resolución espacial puede ser diferente entre los mapas de profundidad / disparidad de diferentes vistas.
Con el fin de comprimir de forma eficaz la señal multivista 10, el codificador de la figura 1 codifica en paralelo las vistas 121 y 122 en un flujo de datos 18. No obstante, los parámetros de codificación usados para codificar la primera
5
10
15
20
25
30
35
40
45
50
55
60
vista 12i 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 aprovecha 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 modo que las redundancias entre estos parámetros de codificación se pueden aprovechar de forma eficaz 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 se puede ver en la figura 2, el codificador 20 de la figura 1 comprende dos ramas de codificación por vista 121 y 122, en concreto, una para los datos de vídeo 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 vídeo 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 vídeo 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 vídeo 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 vídeo 141. Más allá de esto, la rama 22v,1 comprende, conectada en serie 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 descodificadas 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 vídeo 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 vídeo 141 en unidades de ciertas partes. Por ejemplo, al codificar el vídeo 141, las tramas v1,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 ser conocida por el codificador y el descodificador predeterminado o se puede indicar dentro del flujo de datos 18. La segmentación puede ser una segmentación regular de las tramas 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 vídeo 141 que entra en la entrada no inversora del restador 24 se llama bloque actual del vídeo 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 descodificadas 34. En efecto, ambos módulos de predicción 36 y 38 usan partes anteriormente reconstruidas del vídeo 141 que residen en la memoria intermedia de imágenes descodificadas 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 vídeo 141 a partir de las partes espacialmente cercanas ya reconstruidas de la misma trama del vídeo 141, mientras que el módulo de predicción 38 actúa como un interpredictor que predice temporalmente la parte actual a partir de las tramas anteriormente reconstruidas del vídeo 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 de la misma trama del vídeo 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 las tramas anteriormente reconstruidas y los parámetros de interpredicción implicados con los mismos pueden comprender un vector de movimiento, un índice de trama 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.
El combinador 40 puede combinar una o más de las predicciones proporcionadas por los módulos 36 y 38 o
5
10
15
20
25
30
35
40
45
50
55
60
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, de forma respectiva.
En la salida del restador 24, se emite el residuo de 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 descuantifica y se 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 residuo en proporciones, y el sumador se podría implementar 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. No obstante, el procesamiento adicional en el módulo 32 se puede usar de forma opcional 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 descodificadas 34. Por lo tanto, la memoria intermedia de imágenes descodificadas 34 almacena temporalmente las tramas anteriormente reconstruidas del vídeo 141 y partes anteriormente reconstruidas de la trama actual a la que pertenece la parte actual.
Con el fin de permitir al descodificador 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 forma de 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 se puede considerar como vídeo 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 vídeo 141 a partir de una parte anteriormente codificada del vídeo 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, en concreto, 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:
- En primer lugar, los parámetros de codificación para el vídeo 141 pueden definir / indicar la segmentación de las tramas del vídeo 141 tal 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, que 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, no obstante, comprender adicionalmente los parámetros de procesamiento adicional 501 que indican a la descodificación lateral como procesar adicionalmente las partes ya reconstruidas del vídeo 141 antes de usar las mismas para predecir las partes actuales o siguientes del vídeo 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 las tramas 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 se pueden considerar como datos de corrección, mientras que el tamaño de etapa de cuantificación también se puede indicar dentro del flujo de datos 18, y el parámetro de tamaño de etapa de cuantificación se puede considerar 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 residuo de predicción de la primera fase de predicción expuesta anteriormente. La intra / interpredicción se puede usar 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, tal como se indica de forma ilustrativa extendiendo en vertical 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 de forma opcional además de codificar la información entre las ramas de codificación 22 de tal modo que las ramas pueden predecir o adoptar parámetros de codificación entre sí. En la forma de realización de la figura 1, se define una orden entre las entidades de datos, en concreto, 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 vídeo 141 de la primera vista 121 precede a los datos de mapas de profundidad / disparidad 161 de la primera vista seguido por el vídeo 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.
Tal 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, de forma respectiva. No obstante, 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, de forma respectiva, 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 si 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 aprovecha 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 tal 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, se puede suprimir 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 tal como se describe a continuación se puede ver 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, en concreto, 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 solo 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, en concreto, por segmento predicho de intervista, un vector de disparidad, un índice de vista, un índice de trama 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 se encuentra 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, no obstante, 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 se puede reducir considerablemente adoptando los parámetros de codificación de las ramas de codificación anteriores o simplemente insertando residuos 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, se puede reducir 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 intervista.
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 la trama de vídeo vi,t como que se segmenta en segmentos o partes 60a, 60b y 60c. Por razones de simplificación, solo se muestran tres partes de trama v1,t, a pesar de que la segmentación puede dividir sin interrupciones y sin espacios la trama en segmentos / partes. Tal como se ha mencionado anteriormente, la segmentación de la trama de vídeo v1,t puede ser fija o variar en el tiempo, y la segmentación se puede indicar 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 trama de referencia del vídeo 141, que en el presente caso es la trama a modo de ejemplo vi,t-1. Tal como se conoce en la técnica, el orden de codificación entre las tramas de vídeo 141 puede no coincidir con el orden de presentación entre estas tramas, y en consecuencia la trama de referencia puede alcanzar a la trama 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 aprovechar 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 de la trama de vídeo v1,t tal 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 la trama de vídeo v1,t, se puede evitar 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 de la trama 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 la trama 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 de la trama de vídeo v1 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 la trama de vídeo vi,t. En el caso de una segmentación diferente entre la trama de vídeo v1,ty el mapa de profundidad / disparidad d1,t, la adopción / predicción de los modos de codificación a partir de la trama de vídeo v1,t se puede controlar de tal modo que la adopción / predicción se obtiene a partir de partes localizadas conjuntamente de la segmentación de la trama de vídeo vi,t. Una definición apropiada de localización conjunta podría ser de la siguiente manera. La parte localizada conjuntamente en la trama 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 localizada conjuntamente en la esquina superior izquierda de la trama 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 de la trama de vídeo v1,t indicados de forma explícita dentro del flujo de datos 18.
- En lo que se refiere a los parámetros de predicción, la rama de codificación 22d,1 tiene la libertad de adoptar o
5
10
15
20
25
30
35
40
45
50
55
60
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 localizadas conjuntamente 60a a 60c de la trama de vídeo vi,t. Por ejemplo, la figura 2 ilustra que la parte 66a del mapa de profundidad / disparidad d1,t es una parte interpredicha, y el vector de movimiento correspondiente 68a se puede adoptar o predecirse a partir del vector de movimiento 62a de la parte localizada conjuntamente 60a de la trama de vídeo v1,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,1 tener la capacidad de subdividir los segmentos de la presegmentación del mapa de profundidad / disparidad d1,t usando el particionamiento de bloques irregular. Algunos modos de particionamiento de bloques irregular a los que se refieren las formas de realización descritas más adelante, obtienen una información de partición tal como una línea de separación de Wedgelet 70, a partir de la imagen reconstruida v1,t de la misma vista. Por esta medida, se subdivide un bloque de la presegmentación del mapa de profundidad / disparidad d1,t. Por ejemplo, el bloque 66c del mapa de profundidad / disparidad d1,t se subdivide en dos particiones en forma de Wedgelet 72a y 72b. La rama de codificación 22d,1 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,1 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 descodificador como una información secundaria dentro del flujo de datos 18.
En la codificación del vídeo 142, 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,1, la opción de predicción intervista.
La figura 2 ilustra, por ejemplo, que una parte 64b de la segmentación de la trama de vídeo v2,t es una intervista predicha a partir de la trama de vídeo v1,t temporal correspondiente de la primera vista de vídeo 141 usando un vector de disparidad 76.
A pesar de esta diferencia, la rama de codificación 22v,2 pueden aprovechar además toda la información disponible a partir de la codificación de la trama de vídeo v1,t y del mapa de profundidad / disparidad d1,t, 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 de la trama 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 localizadas conjuntamente 60a y 66a de la trama de vídeo v1,t y del mapa de profundidad / disparidad d1,t temporalmente alineados, de forma respectiva. Si acaso, un residuo de predicción se puede indicar 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 la trama de vídeo v2,t tal como se ha descrito anteriormente con respecto a la codificación del mapa de profundidad / disparidad d1,t, se pueden aplicar a la codificación de la trama de vídeo v2,t codificando también la rama 22v,2, con los datos comunes disponibles distribuidos por el módulo 52 que, no obstante, aumentan debido a que están disponibles los parámetros de codificación de tanto la trama de vídeo v1,t como el mapa de profundidad / disparidad d1,t 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 d1,t 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 de la trama de vídeo v2,t de la misma vista 122. Además, no obstante, 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 d1,t a partir de la vista anterior 121. Además, la rama de codificación 22v,2 puede usar la predicción intervista tal 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 1, debería observarse que lo mismo se puede implementar en soporte lógico, soporte físico o soporte lógico inalterable, es decir, soporte físico programable. A pesar de que el diagrama de bloques de la figura 1 sugiere que el codificador 20 comprende estructuralmente ramas de codificación en paralelo, en concreto una rama de codificación por datos de vídeo y profundidad / disparidad de la señal multivista 10, este no tiene por que ser el caso. Por ejemplo, las rutinas de soporte lógico, las partes de circuito o las partes de lógica programable configuradas para realizar las tareas de los elementos 24 a 40, de forma respectiva, se pueden usar de forma secuencial 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 se pueden realizar en núcleos de procesador en paralelo o en circuitos de funcionamiento en paralelo.
5
10
15
20
25
30
35
40
45
50
55
60
La figura 3 muestra un ejemplo de un descodificador capaz de descodificar un flujo de datos de 18 con el fin de reconstruir uno o varios vídeos de vista que se corresponden con la escena representada por la señal multivista a partir del flujo de datos 18. En gran medida, la estructura y la funcionalidad del descodificador de la figura 3 es similar a las del codificador de la figura 20 de tal modo 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 descodificador 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 descodificador 100 comprende un desmultiplexor 104 y un par de ramas de descodificació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 descodificación 106 comprenden los mismos elementos de descodificación en una misma interconexión, que se describen, en consecuencia, de manera representativa con respecto a la rama de descodificación 106v,1 responsable de la descodificació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 descodificació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 descodificadas 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 descodificadas 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 descodificadas 34 y la entrada adicional del sumador 30. Tal 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 descodificación 106 son similares a los elementos correspondientes de las ramas de codificación de la figura 1, debido a que los elementos de las ramas de descodificació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 descodificació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 desmultiplexor 104 es para la distribución del flujo de datos 18 a las distintas ramas de descodificación 106. Por ejemplo, el desmultiplexor 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 descodificación 106.
El extractor de vistas 108 recibe la señal multivista a medida que se reconstruye por las ramas de descodificación en paralelo 106 y se extrae a partir de una o varias vistas 102 que se corresponden con los ángulos de visión o direcciones de visión prescritas por los datos de control de extracción de vistas intermedias 112 proporcionados externamente.
Debido a la construcción similar del descodificador 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 descodificació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 residuos de predicción, de los parámetros de codificación de la segunda rama 16d,1, en concreto, 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 descodificación 106v,1 es responsable de descodificar 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 descodificación 106v,1 reconstruye el vídeo
5
10
15
20
25
30
35
40
45
50
55
60
14i de la primera vista 12i del flujo de datos 18 de acuerdo con los parámetros de codificación correspondientes leídos a partir del flujo de datos 18, es decir, los parámetros de escala dentro de 421, los parámetros 461, 481, 501, 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 descodificación 106v,1 procesa el vídeo 141 en unidades de los segmentos / partes usando el orden de codificación entre las tramas de vídeo y, para codificar los segmentos dentro de la trama, un orden de codificación entre los segmentos de estas tramas 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 se pueden representar 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 se pueden haber 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, se pueden transmitir 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 descodificació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 tal como se indica dentro del flujo de datos 18 y se distribuye a la rama de descodificación respectiva 106d,1 por el desmultiplexor 104, es decir, los parámetros de codificación no predichos a través de los límites entrevistas, sino también de forma indirecta a los parámetros de codificación y los datos de corrección proporcionados a través del desmultiplexor 104 para descodificar la rama 106v,1 o cualquier información que se pueda obtener 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 descodificació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 desmultiplexor 104 al par de ramas de descodificació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 descodificación 106v,1. Por ejemplo, la rama de descodificación 106d,1 determina el vector de movimiento 68a a partir del vector de movimiento 62a transmitido de forma explícita dentro de 481, por ejemplo, como una diferencia de vector de movimiento a otra parte cercana de la trama v1,t, por un lado, y una diferencia de vector de movimiento transmitido de forma explícita dentro de 482, por el otro lado. Adicionalmente, o como alternativa, la rama de descodificación 106d,1 puede usar partes reconstruidas del vídeo 141 tal como se ha descrito anteriormente con respecto a la predicción de la línea de separación de Wedgelet para obtener un particionamiento de bloques irregular tal como se ha indicado anteriormente de manera breve con respecto a los datos de mapa de descodificación de profundidad / disparidad 161, y tal como se describe con más detalle a continuación.
Para ser aún más preciso, la rama de descodificació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 descodificació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 descodificadas 34 de la rama de descodificación 106v,1. Los residuos de predicción de los parámetros de codificación se pueden obtener a través de desmultiplexor 104 a partir del flujo de datos 18. Otros parámetros de codificación para la rama de descodificación 106d,1 se pueden transmitir dentro de flujo de datos 108 en su totalidad o con respecto a otra base, en concreto, 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 descodificació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 descodificació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 descodificación 106v,2 y 106d,2 para la segunda vista 122 es, tal 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 desmultiplexor 104 a cualquiera de estas dos ramas de descodificació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, de forma opcional, un residuo 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 descodificación 106 antes de la reconstrucción de las partes actuales respectivas de la segunda vista
5
10
15
20
25
30
35
40
45
50
55
60
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 desmultiplexor 104 a este par de ramas de descodificación 106v,2 y 106d,2.
La rama de descodificació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 descodificación 106v,1, 106d,1 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 que parte de, los parámetros de codificación para esta parte actual 80b se adoptan o se predicen a partir de una parte de localización conjunta 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, se pueden obtener mediante la rama de descodificació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 vídeos asociados con estas nuevas vistas, por ejemplo. Esta extracción de vistas puede comprender o incluir una reproyección de los vídeos 141 y 142 usando los datos de mapa de profundidad / disparidad asociados con la misma. Francamente hablando, al volver a proyectar un vídeo en otra vista intermedia, partes del vídeo se corresponden con 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, se corresponde con las partes de escena localizadas más lejos de la posición de espectador.
Debería mencionarse que el descodificador no comprende necesariamente el extractor de vistas 108. Más bien, el extractor de vistas 108 puede no estar presente. En este caso, el descodificador 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, no obstante, realizar una extracción de vistas intermedia aprovechando 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 vídeos de vistas cercanas 121 y 122 aplicando este campo de vectores de disparidad. Imagínese, por ejemplo, que la trama 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 ser determinados por el extractor de vistas 108 por medio de interpolación / extrapolación en el sentido espacial. También se puede usar la interpolación temporal que usa vectores de disparidad para las partes / segmentos de las tramas anteriormente reconstruidos del vídeo 142. A continuación, la trama de vídeo v2,t y / o la trama de vídeo de referencia v1,t se pueden distorsionar 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.
No obstante, las formas de realización descritas a continuación se pueden usar de forma ventajosa en el marco de las figuras 1 a 3 si se considera simplemente la codificación de una vista que comprende un vídeo y unos datos de mapa de profundidad / disparidad que corresponden tal como en la primera vista 121 de las formas de realización descritas anteriormente. En ese caso, la información de señal transmitida, en concreto, la vista única 121, que se podría llamar 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 vídeo 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 aprovechando 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 formas de realización de particionamiento de bloques irregular descritas más adelante se pueden usar 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 formas de realización anteriores de las figuras 1 a 3 se podrían variar 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 se podría usar de forma ventajosa el particionamiento de bloques irregular explicado posteriormente. No obstante, se enfatiza de nuevo en que los modos de codificación descritos a continuación también se pueden usar en conexión con otros tipos de codificación de matriz de muestras, con independencia 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.
5
10
15
20
25
30
35
40
45
50
55
60
En particular, las formas de realización 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 representa cada conjunto de muestras por un valor de muestra constante. Algunos de los modos de codificación explicados a continuación, o se pueden usar para representar directamente la señal de un bloque o se pueden usar 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 se pueden representar de forma eficaz por transformar enfoques de codificación (es decir, basados en una 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 se pueden representar mejor usando un modelo que divida el bloque en dos regiones, cada una con un valor de muestra constante, tal como se describirá con respecto a algunas de las formas de realización descritas a continuación.
A continuación, se describen diferentes formas de realización 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 muestra constantes. La sección 3 describe formas de realización diferentes para especificar como un bloque se puede particionar en diferentes regiones y que parámetros se deben transmitir para representar el particionamiento, así como los valores de muestra para las regiones. Las formas de realización 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 formas de realización 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 formas de realización para manejar un bloque colocado de forma irregular.
A pesar de que 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 formas de realización de la invención también se pueden aplicar 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 se puede aplicar 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 se puede aplicar a bloques rectangulares u otros conectados o simplemente conectados conjuntos de muestras.
1. Wedgelets
En la codificación de vídeo hibrida basada en bloques, tal como se muestra en las figuras 1 a 3, por ejemplo, una trama 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, a pesar de que la mayor parte de los ejemplos de esta sección usan bloques cuadráticos, las particiones de bloque de 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 de Wedgelet
El principio básico de las particiones de bloque de Wedgelet es dividir el área de un bloque 200 en dos regiones 202a, 202b que están separadas por una línea 201, tal 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 de Wedgelet 202a, mientras que la región P2 se denomina partición de 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 (xb o yB)). De acuerdo con estas definiciones la ecuación de la línea de separación es la siguiente:
Obsérvese que esta ecuación solo es valida para xs t xe. Las dos regiones P1 y P2 se definen a continuación como el área izquierda y derecha de la línea, de forma respectiva.
5
10
15
20
25
30
35
40
45
50
55
60
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 cuadricula. En este caso, los puntos inicial y final S y E se corresponden con las muestras de frontera del bloque 200 con las posiciones S (u& vS), y E (ue, ve), ambas limitadas al tamaño de bloque 0 < x < us y 0 < y < vb- En el caso discreto la ecuación de línea de separación se podría de acuerdo con (1). No obstante, la definición de las regiones Pi y P2 es diferente en este caso, debido a que solo las muestras completas se pueden indicar como parte de cualquiera de las dos regiones, ilustradas en la figura 4, derecha. Este problema de asignación se puede resolver por medio de algoritmos tal como se describe en la sección 1.4.1.
Las particiones de bloque de Wedgelet 202a, 202b requieren los puntos de inicio y final 204 para localizarse en diferentes bordes del bloque 200. En consecuencia, se pueden distinguir seis orientaciones diferentes de las particiones de bloque de Wedgelet 202a, 202b para los bloques rectangulares o cuadráticos 200, tal como se ilustra en la figura 5.
1.2 Patrones de partición de Wedgelet
Para emplear las particiones de bloque de Wedgelet en el proceso de codificación, se puede almacenar 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 ub x vb 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 de 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 de 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 de Wedgelet se puede definir para ser una constante. Este es el caso con algunas de las formas de realización descritas a continuación. Por lo tanto, se hará referencia a este valor como 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 se puede calcular como el valor medio de la señal de profundidad original de la región correspondiente, tal 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 de Wedgelet resultante, es decir, la predicción del bloque 200 basándose en el modo de particionamiento de 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 de Wedgelet
1.4.1 Listas de patrones de Wedgelet
Para el fin del procesamiento y de la transmisión eficaz de las particiones de bloque de Wedgelet, los patrones de particiones se pueden organizar en listas de búsqueda. Un patrón de 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, se puede generar 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 descodificador, con el fin de permitir la asignación entre el codificador y el descodificador (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 se puede implementar 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 descodificador.
La función principal para crear las listas de búsqueda de patrón de partición de Wedgelet es la generación de un elemento de lista, tal como se ilustra en la figura 8. Esto se puede realizar tal como se describe a continuación (o
5
10
15
20
25
30
35
40
45
50
55
60
mediante un algoritmo similar). Dado un patrón vacío (un matriz de us x vsde 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, se puede aplicar el algoritmo de línea de Bresenham. En general, el algoritmo determina qué muestras 203 se deberían representar gráficamente 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 de 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 una de las dos regiones resultantes separadas por las muestras marcadas. En este caso, se necesita tratar 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. No obstante, 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 por 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 de 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 de 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 de 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 de 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, debido a que no representan una partición de bloque de Wedgelet valida.
Como una extensión a las listas de patrones de Wedgelet descritas, la resolución del inicio de línea y las posiciones finales usadas para generar los patrones se puede aumentar o disminuir 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, con independencia de la resolución de las posiciones de inicio y final, los patrones de partición de 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 se puede realizar simplemente generando los patrones tal 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 de Wedgelet descrita anteriormente, se obtiene una lista ordenada de patrones de Wedgelet tanto en el lado del codificador como en el del descodificador. En una implementación real, estos patrones también se pueden predefinir mediante el algoritmo / norma de codificación que se emplee. Además, no es necesario generar los patrones por el algoritmo actual descrito anteriormente, las modificaciones de este algoritmo también se pueden usar. Solo es importante que tanto el codificador como el descodificador generen (y usen posteriormente) la misma lista de patrones de Wedgelet para el proceso de codificación y descodificación.
1.4.2 Búsqueda de 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 de Wedgelet se puede encontrar mediante un algoritmo de búsqueda. Para los algoritmos de codificación basados en Wedgelet la mejor aproximación se puede entender como el modelo de Wedgelet que provoca la distorsión mínima. En otras palabras, la búsqueda trata de encontrar el mejor patrón de partición de Wedgelet coincidente para el bloque dado. La búsqueda usa la lista de patrones obtenidos, que contiene todos los
5
10
15
20
25
30
35
40
45
50
55
60
posibles patrones de partición de 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, debido a que los patrones no tienen que generarse de nuevo, cada vez que se realiza una búsqueda de Wedgelet de distorsión mínima. Cada etapa de búsqueda puede constar de las siguientes etapas:
• Calculo de los valores de CPV del patrón de partición dada y la señal de bloque original.
• Calculo de la distorsión Dw,cu-entre la señal de bloque original y el modelo de Wedgelet.
• Evaluación de Dw,cu- < Dw,mm: si es cierto, actualizar la información de Wedgelet de distorsión mínima, estableciendo Dw,mm = Dw.cury almacenar el índice de lista del patrón de partición actual.
En lugar de la distorsión, se puede usar una medida de coste lagrangiano para encontrar el patrón de Wedgelet usado. La medida de coste lagrangiano es una suma ponderada D + A ■ R que pesa la distorsión D obtenida por un patrón de Wedgelet específico con la tasa R que se requiere para transmitir los parámetros asociados dado un multiplicador lagrangiano 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 de Wedgelet se prueban de forma sucesiva para determinar la 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 de 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 se puede establecer 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 de Wedgelet o el patrón de Wedgelet se podría llamar wedge_fuM_tab_idx.
2. Contornos
Obsérvese que, a pesar de que la mayor parte de los ejemplos de esta sección usan bloques cuadráticos, las particiones de bloque de contorno y todas las formas de realización 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 de Wedgelet, la línea de separación 201 entre las regiones no se puede describir mediante una formulación geométrica. Tal como se ilustra por las dos regiones etiquetadas con Pi y P2 en la figura 9, las regiones de un contorno se pueden conformar 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 de 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 de Wedgelet (véase la sección 1.2), la información de partición de bloque de contorno se puede almacenar en forma de patrones de partición. Un patrón de este tipo consiste en una matriz de tamaño de us x vs y cada elemento contiene la información binaria si la muestra acordada pertenece a la región P1 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
5
10
15
20
25
30
35
40
45
50
55
60
El principio de aproximar la señal de profundidad de un bloque con un contorno es idéntico al concepto de 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 se puede calcular 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 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, se deberían definir nuevas rutinas o modos de codificación y se deberían implementar las herramientas necesarias en el codificador y en el descodificador.
Para un codificador de vídeo hibrido, tal como el codificador de la figura 1, o para un par de ramas de codificación 22v/d,1, estas herramientas se pueden categorizar 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 descodificación, en la medida en que solo se basan en la información transmitida y / o reconstituida (por ejemplo, imágenes descodificadas). La indicación resume las herramientas para codificar la información transmitida desde el codificador al descodificador 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 se puede obtener tal como se conoce a partir de unos enfoques de codificación de vídeo clásicos, 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 formas de realización descritas a continuación se pueden dividir 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 de Wedgelet (véase la sección 1). Ambos modos se pueden combinar con el método de delta de CPV (véase la sección 3.3.2).
3.1.1 Intramodelado de partición de bloque de Wedgelet
El principio básico de este modo es encontrar la mejor partición de Wedgelet coincidente en el codificador y transmitir de forma explícita la información de partición en el flujo de bits. En el descodificador se reconstruye la señal del bloque usando la información de partición transmitida de forma explícita. 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 de 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 de Wedgelet de distorsión mínima tal 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 de Wedgelet coincidente con respecto al método de distorsión empleado.
Al reconstruir el bloque en el descodificador, la información de partición de Wedgelet tiene que indicarse en el flujo de bits. Esto se realiza transmitiendo de forma explícita 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 de Wedgelet con N elementos, el índice del patrón usado se codifica usando unos códigos de longitud fija o unos
5
10
15
20
25
30
35
40
45
50
55
60
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 de 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 posición de inicio y final 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 de Wedgelet
El principio básico de este modo es para predecir la partición de Wedgelet a partir de la información disponible para los 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 descodificador la señal del bloque se puede reconstruir 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 de Wedgelet para este modo trabaja internamente con una representación de Wedgelet que consiste en la posición de inicio y el gradiente de la línea de separación. Para un procesamiento adicional, en concreto, 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.
Tal como se ilustra en la figura 12, se distinguen dos conceptos principales para predecir la información de partición de Wedgelet de acuerdo con la forma de realización actualmente sugerida. El primer concepto se refiere al caso en el que 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 de Wedgelet. El segundo concepto se refiere al caso en el que 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 Eeen una primera etapa. El principio de este concepto es continuar el Wedgelet de referencia, es decir, la línea de separación de 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. Debido a que 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 solo se proporciona en la forma de un índice abstracto, una función de mapeo o conversión se puede necesitar 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 se encuentra disponible en el descodificador, 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 representara el valor de las muestras cercanas. Tal 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 de 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 se puede calcular la posición de final Ep como una etapa final.
5
10
15
20
25
30
35
40
45
50
55
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, se puede definir 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 evaluar conjuntamente las direcciones y las pendientes de las muestras adyacentes. Tales criterios avanzados también se podrían aplicar 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 de Wedgelet no se puede predecir, pero sí 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 de Wedgelet predicha y un valor de desplazamiento para la posición de final de línea Eoff, tal como se ilustra en la figura 12. Iterando sobre un intervalo de valores de desplazamiento y comparando la distorsión de las diferentes particiones de Wedgelet resultantes, se determina el valor de desplazamiento de la mejor partición de Wedgelet coincidente con respecto al método de distorsión empleado.
Para reconstruir el bloque en el descodificador, el valor de desplazamiento de posición de final de línea se indica en el flujo de bits. Lo mismo se podría indicar usando tres elementos de sintaxis, una primera indicación en cuanto a si se encuentra 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 se podrían incluir como
d mm_delta_end_flag
si (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 se podrían usar para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DmmDeltaEnd [ x0 ] [ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag [ x0 ] [ y0 ] ) * (dmm_delta_end_abs_minus1 [ x0 ] [ y0 ] + 1)
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 se podría establecer 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 se puede transmitir 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 se pueden combinar con el método de delta de CPV (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 se puede describir 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 de Wedgelet o como una de contorno. Este tipo de predicción se puede denominar 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, debido a 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 una 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, la componente de luma contiene
5
10
15
20
25
30
35
40
45
50
55
60
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 aprovecha la información de la componente de luma mientras que los enfoques avanzados se aprovechan adicionalmente de las 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 textura de la partición de bloque de Wedgelet
El principio básico de este modo es predecir la partición de Wedgelet de un bloque de profundidad 210 en el mapa de profundidad 213 a partir del bloque de referencia de textura 216. Esto se realiza buscando la mejor partición de Wedgelet coincidente para la imagen de textura reconstruida, tal como se ilustra en la figura 13. Para este fin, se realiza la búsqueda de Wedgelet de distorsión mínima, tal como se describe en la sección 1.4.2, usando la señal de textura reconstruida 215, más en concreto 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 de 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 de Wedgelet predicha (media) se aproxima muy bien al bloque de profundidad 210. Debido a que la predicción de Wedgelet descrita se puede realizar de manera idéntica en el codificador y en el descodificador, no se requiere indicación de información de partición para este modo.
3.2.2 Predicción basada en 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, tal 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 en concreto el bloque luma 216 con la misma posición y tamaño que el bloque de profundidad 210, como referencia. Como tal, se puede realizar una predicción de contorno de manera idéntica en el codificador y en el descodificador, no se requiere indicación de información de partición para este modo.
El patrón de partición de contorno se puede generar 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 se encuentra 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. No obstante, 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, se puede extender 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, se pueden obtener 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 =
0..nT - 1
Los valores patrón se establecen como:
- Si videoLumaSamples [x, y] es mayor que tH, es de aplicación lo siguiente: dmmWedgeletPattern[x, y] = 1
- De otro modo, es de aplicación lo siguiente:
dmmWedgeletPattern[x, y] = 0
3.3 Codificación de CPV
En esta sección se presentan los conceptos para la codificación de CPV. Se pueden aplicar 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), debido a que ambos tipos de particiones, de 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.
5
10
15
20
25
30
35
40
45
50
55
60
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 delta de CPV. La relación entre ellos se ilustra de forma esquemática 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 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, de forma respectiva.
Los CPV originales Wa-ig,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 se encuentra disponible en el descodificador, sería necesario transmitir los valores en el flujo de bits. Esto sería muy costoso en términos de tasa de bits y se puede evitar 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 se encuentra disponible en el descodificador, es decir, las muestras adyacentes del bloque cercano de la izquierda y arriba, tal 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 se encuentra disponible. En un caso de este tipo, las muestras adyacentes respectivas se pueden establecer 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 de forma significativa. 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 delta de CPV de la región correspondiente. Esto significa, que si el delta de CPV AWp1 y AWp2 se estima en el codificador y se transmite en el flujo de bits, es posible reconstruir el CPV original en el descodificador sumando el delta de CPV 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 se podrían llamar 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), es de aplicación lo siguiente:
sumPredDC2 += p [x, -1] y numSamplesPredDC2 += 1
- de lo contrario (por ejemplo, la partición P2), es de aplicación 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, es de aplicación lo siguiente:
sumPredDC2 += p [-1, y] y numSamplesPredDC2 += 1
- De lo contrario, es de aplicación 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, es de aplicación lo siguiente:
dmmPredPartitionDC1 = 1 << (BitDepthY - 1)
5
10
15
20
25
30
35
40
45
50
55
- De lo contrario, es de aplicación lo siguiente:
dmmPredPartitionDCI = sumPredDCI / numSamplesPredDCI
- Si numSamplesPredDC2 es igual a 0, es de aplicación lo siguiente:
dmmPredPartitionDC2 = 1 < <(BitDepthY - 1)
- De lo contrario, es de aplicación lo siguiente:
dmmPredPartitionDC2 = sumPredDC2 / numSamplesPredDC2
3.3.2 Cuantificación y adaptación de delta de CPV
Basándose en el principio de la predicción de CPV, se introduce un concepto para el procesamiento eficaz de los delta de CPV en esta sección. La transmisión de los delta de CPV 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. No obstante, la tasa de bits necesaria para indicar los valores de delta de CPV delimita el beneficio de este enfoque, debido a 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 delta de CPV se puede introducir 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 descodificador. La transmisión cuantificada de los delta de CPV 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 de 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 se puede mejorar 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 delta de CPV
raaxfáePF)
; resulta ser eficaz y robusto.
como qúcpv = 2QP/10con 1 < q^w
Una posible indicación de los CPV Delta en el flujo de bits para las dos regiones de un bloque particionado se podría construir 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 se podría realizar en función de un elemento de sintaxis Dmm-DeltaFlag, transmitido u obtenido de forma explícita a partir de algún elemento de sintaxis de modo de codificación.
Se podrían usar 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:
DmmQuantOffsetDC1 [ x0 ] [ y0 ] = ( 1 - 2 * dmm_dc_1_sign_flag [ x0 ] [ y0 ] ) * dmm_dc_1_abs [ x0 ] [ y0 ]
DmmQuantOffsetDC2 [ x0 ] [ y0 ] = ( 1 - 2 * dmm_dc_2_sign_flag [ x0 ] [ y0 ] ) * dmm_dc_2_abs [ x0 ] [ y0 ]
Los desplazamientos descuantificados dmmOffsetDC1 y dmmOffsetDC2 se pueden obtener a partir de DmmQuantOffsetDC1 y DmmQuantOffsetDC2 de la siguiente manera.
dmmOffsetDC1 = DmmQuantOffsetDC1 * Clip3 ( 1, ( 1 << BitDepthY ) - 1, 2
(QP’y / 10) - 2)
dmmOffsetDC2 = DmmQuantOffsetDC2 * Clip3 ( 1, ( 1 << BitDepthY ) - 1, 2
(QP’y / 10) - 2)
BitDepthY puede ser la profundidad de bits a la que DmmQuantOffsetDC1 y DmmQuantOffsetDC2 están internamente, dentro del codificador y del descodificador, representados, y QP’ puede ser el parámetro QP de cuantificación acabado de mencionar involucrado en, por ejemplo, la codificación de los niveles de coeficiente de
5
10
15
20
25
30
35
40
45
50
55
60
transformación del residuo de predicción de la porción actual.
Los valores de partición constantes de los CPV se pueden obtener a continuación sumando los desplazamientos descuantificados a los CPV predichos:
Para la primera partición: dmmPredPartitionDC1 + dmmOffsetDC1
Para la segunda partición: dmmPredPartitionDC2 + dmmOffsetDC2
Tal como ya se ha mencionado al principio de la sección 3, la distorsión para las herramientas de estimación se puede medir de dos formas diferentes. En cuanto a los delta de CPV, 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 delta de CPV tal como se describe anteriormente. En el caso de que la distorsión se mida por las vistas sintetizadas, el proceso de estimación puede se extender para una mejor adaptación de los delta de CPV a la calidad de las vistas sintetizadas. Esto se basa en el hecho de que esos delta de CPV que conducen a la mejor aproximación de los CPV originales, no conducen necesariamente a la mejor calidad de vista sintetizada. Para encontrar los delta de CPV 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 delta de CPV para las dos particiones. Por el bien de un procesamiento y una indicación eficaces se puede limitar el intervalo de valores probados. Los resultados de búsqueda en la combinación de los delta de CPV 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 delta de CPV 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, de forma respectiva, el impacto de omitir el residuo es limitado, en especial 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, se pueden definir 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 de Wedgelet (véase la sección 3.1.1)
• Wedgelet_PredIntra: intrapredicción de partición de bloque de Wedgelet (véase la sección 3.1.2)
• Wedgelet_PredTexture: predicción basada en textura de partición de bloque de 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 se puede aplicar con o sin el procedimiento para el procesamiento de delta de CPV (véase la sección 3.3.2), que resulta en ocho mode_ID diferentes para indicar al descodificador que 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, se puede transmitir 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 específica el modo de partición de bloque actual y si el delta de CPV 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 preselección
La idea tras el modo de preselecció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 parte de los casos la distorsión es alta en comparación
5
10
15
20
25
30
35
40
45
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.
El segundo concepto de modo de preselección se aplica a los dos modos basados en la predicción de intercomponente, en concreto en Wedgelet_PredTexture y Contour_PredTexture. La idea tras este concepto es excluir de manera adaptativa estos modos, si es muy poco probable que un patrón de partición de bloque significativo se pueda obtener 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
umbral se establece como que tiene el efecto de que estos dos modos se excluyen para más
bloques, si el QP es más alto y viceversa.
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, de forma respectiva. El bloque 2501 tiene una apariencia de valor de muestra espacial muy plana casi sin estructura alguna, que se refleja en una varianza muy baja. Como no hay una información de partición significativa se podría predecir 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, debido a 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 de acuerdo con 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
- Wedgelet_ModelIntra CPV + delta
- x x x x
- Wedgelet_PredIntra
- x x
- Wedgelet_PredIntra + delta de CPV
- x x
- Wedgelet_PredTexture
- x x
- Wedgelet_PredTexture + delta de CPV
- x x
- Contour_PredTexture
- x
- Contour_PredTexture + delta de 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 se pueden combinar de una manera eficaz, debido a 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 se podrían proporcionar además tales modos, se describirán las formas de realización resultantes para los descodificadores 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 se pueden usar estos detalles dentro de los descodificadores y codificadores en un sentido más genérico que el que se ha descrito anteriormente. En particular, tal como se describirá a continuación, algunos de los aspectos ventajosos usados en los modos anteriores se pueden aprovechar de manera individual.
5
10
15
20
25
30
35
40
45
50
55
60
5.1 Continuación de línea de separación de Wedgelet a través de fronteras de bloque
Tal como se ha hecho evidente a partir de la exposición anterior, el uso de particionamientos de Wedgelet forma un posible compromiso entre la tara de indicación para indicar el particionamiento, por una parte, y la cantidad de variedad alcanzable por el particionamiento irregular por la otra parte. No obstante, sería necesaria una notable cantidad de datos de información secundaria con el fin de transmitir de forma explícita la información de particionamiento, es decir, la posición de la línea de separación de Wedgelet tal como, por ejemplo, usando una indexación de la posición de la línea de separación de 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 de 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. En términos más genéricos, no obstante, en el aprovechamiento de la idea de la continuación de línea de separación de Wedgelet a través de fronteras de bloque, se podría construir, de acuerdo con una forma de realización de la presente invención, un descodificador tal como se describe a continuación con respecto a la figura 16. No obstante, 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 forma de realización, que se pueden combinar con la descripción presentada a continuación de forma individual.
El descodificador 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 descodificador está configurado para realizar la reconstrucción por descodificación basada en bloques. Por ejemplo, la matriz de muestras 302 puede ser parte de una secuencia de matrices de muestra y el descodificador 300 se puede implementar como un descodificador hibrido 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 descodificador 300 de la figura 16 se puede implementar con el fin de reconstruir una vista que incluye mapas de textura / vídeo y de profundidad / disparidad que representan la matriz de muestras 302. Si acaso, el descodificador 300 se puede implementar como el par de ramas de descodificación 106d,1 más 106v,1 o se puede implementar de forma individual de acuerdo con la rama de descodificación 106d,1. Esto es, el descodificador 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 residuo de predicción. Los modos de codificación pueden comprender también, por ejemplo, un modo de codificación de Wedgelet explícito de acuerdo con que para un bloque respectivo, la posición de su línea de separación de Wedgelet se transmite de forma explícita dentro de flujo de datos 304, tal como el modo descrito en la sección 3.1.1.
En cualquier caso, este descodificador 300 está configurado de tal modo 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 descodificador 300 para un bloque de un modo respectivo son una predicción de posición de línea de separación de Wedgelet 306 seguidas de un ajuste de posición 308 y una descodificación 310. En particular, el descodificador de la figura 16 está configurado para predecir en la etapa 306 una posición 312 de una línea de separación de Wedgelet dentro del bloque 210 de la matriz de muestras 302 en función de una línea de separación de Wedgelet 201' de un bloque cercano 212 del bloque 210 de tal modo que la línea de separación de Wedgelet en la posición predicha 312 forma una extensión o continuación de la línea de separación de Wedgelet 201' del bloque cercano 212 en el bloque actual 210. Una vez más, el descodificador 300 puede haber obtenido la posición de la línea de separación de 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.
Tal como se ha descrito anteriormente, la línea de separación de 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. No obstante, como alternativa, las líneas se pueden definir 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 de forma analítica predeterminada que también se puede predecir a partir de la línea 201' o se pueden obtener a partir de alguna otra parte anteriormente procesada del flujo de datos 304.
En particular, la predicción 306 puede estar configurada de tal modo que, después, la línea de separación de
5
10
15
20
25
30
35
40
45
50
55
Wedgelet del bloque 210 se determina de forma preliminar 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 de Wedgelet. En el caso de una línea curva, se puede usar 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, de forma respectiva. 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 de Wedgelet.
Con respecto a la predicción 306, también se debería mencionar 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 localizado conjuntamente de una matriz de muestras de 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 de Wedgelet 201 en el bloque 210 sería una “continuación temporal”.
Una posibilidad explícita de cómo se podría realizar 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 descodificador 300 está configurado para, en el ajuste de posición 308, ajustar la posición predicha 312 de la línea de separación de 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 de Wedgelet 201 divide el bloque ajustado 210 en las particiones de Wedgelet primera y segunda 202a y 202b.
Tal como se ha descrito anteriormente, el descodificador 300 puede estar configurado de tal modo que la línea de separación de Wedgelet 201 en la posición predicha 312 forma una extensión colineal espacial de la línea de
separación de Wedgelet 201' del bloque cercano 212, y el ajuste puede estar restringido de tal modo que una
posición de inicio 314 de la línea de separación de 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 de Wedgelet recta, simplemente su pendiente se puede ajustar, mientras que el punto de inicio de la línea de separación de 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 de Wedgelet 201, es decir, de la posición de final de la línea de separación de 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 de Wedgelet predicha 312 se puede indicar dentro del flujo de datos 304 tal 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. Tal como se describe en esta sección, el descodificador 300 puede estar configurado para extraer la información de ajuste del flujo de datos usando una descodificació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 de forma monótona desde desplazamientos mayores a desplazamientos más pequeños, de tal modo 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 de forma monótona.
Tal como se ha descrito también anteriormente, se pueden usar tres elementos de sintaxis para transmitir el Eon, una primera indicación en cuanto a si cualquier desplazamiento Eoff se encuentra 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 se podrían incluir como
dmm_delta_end_flag
si (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 se podrían usar para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DmmDeltaEnd [ x0 ] [ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag [ x0 ] [ y0 ] ) * (dmm_delta_end_abs_minus1 [ x0 ] [ y0 ] + 1)
A continuación, el descodificador 300 se configura para, en la descodificación 310, descodificar el bloque predeterminado 210 en unidades de las particiones de Wedgelet primera y segunda 202a y 202b. En la descripción
27
5
10
15
20
25
30
35
40
45
50
55
60
presentada anteriormente en las secciones 3 y 4, en especial en la sección 4, la descodificació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 de 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 de Wedgelet 202b. La ventaja de esta implementación del procedimiento de descodificación 310 es que la cantidad de información secundaria se puede mantener 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 compuesta de mesetas de valor relativamente plano con bordes pronunciados entre las mismas, tales como en el caso de los mapas de profundidad. No obstante, incluso sería posible que el descodificador asigne otros parámetros de codificación de manera individual a las particiones de Wedgelet 202a y 202b. Por ejemplo, la predicción compensada de movimiento y / o disparidad se puede aplicar de forma individual a las particiones 202a y 202b en la descodificación 310, obteniendo de forma individual 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 se pueden intracodificar de forma individual en la descodificación 306 tal como aplicando de forma individual 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) de forma opcional, los parámetros de codificación - tales como el CPV o el residuo de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que se puede permitir que los mismos se predigan - espacial o temporalmente a partir de las muestras / bloques cercanos, 4) de forma opcional, el parámetro de codificación residual tal como el DeltaCPV.
Además, el descodificador 300 de la figura 16 puede estar configurado de tal modo 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 descodificador 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 de 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 descodificación - aplicado por el descodificador 300 en los bloques de descodificació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 de Wedgelet de este tipo entre el conjunto de bloques de candidatos, el descodificador 300 puede realizar la predicción 306, el ajuste 308 y la descodificación 310 de una manera sin modificar. No obstante, si no es así el descodificador 300 puede realizar la predicción 306 de manera diferente. Tal como se ha descrito anteriormente en la sección 3.1.2 y tal como se describirá en más detalle con respecto a la siguiente sección, el descodificador 300 puede estar configurado entonces para predecir la posición de la línea de separación de Wedgelet 201 dentro del bloque actual 210 estableciendo una dirección de extensión de la línea de separación de 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 descodificación 310 en cuestión, se hace referencia a las anteriores y siguientes explicaciones.
Además, se debería observar que resulta una ventaja específica si la continuación de línea de separación de 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 tal como se ha descrito anteriormente y se describe adicionalmente más adelante. Para ser más preciso, el descodificador 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 tara de codificación a las necesidades de los bloques.
En cualquier caso, el bloque descodificado / reconstruido por los procedimientos 306 - 310, puede servir como una referencia en un bucle de predicción del descodificador 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 descodificación 310, pueden servir como muestras cercanas espaciales en intrapredecir cualquiera de los bloques 304 de la matriz de muestras 302 siguientes en el orden de descodificación.
La figura 17 muestra un posible codificador que ajusta con el descodificador 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
5
10
15
20
25
30
35
40
45
50
55
60
una posición de una línea de separación de Wedgelet dentro de un bloque predeterminado de la matriz de muestras en función de una línea de separación de Wedgelet de un bloque cercano del bloque predeterminado de tal modo que la línea de separación de Wedgelet en la posición predicha forma una extensión de la línea de separación de Wedgelet del bloque cercano en el bloque predeterminado. Esta funcionalidad se muestra en 332. Además, el descodificador 330 tiene la funcionalidad 334 para ajustar la posición predicha de la línea de separación de Wedgelet usando la información de ajuste, la línea de separación de Wedgelet del bloque predeterminado que divide el bloque predeterminado en las particiones de Wedgelet primera y segunda. El codificador 330 también tiene una funcionalidad 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 de Wedgelet primera y segunda.
5.2 Predicción de dirección de extensión de línea de separación de Wedgelet a partir de una dirección de intrapredicción de un bloque cercano
Tal como se ha descrito anteriormente, incluso el particionamiento de bloques basado en Wedgelet exige una notable cantidad de información secundaria con el fin de informar al lado de descodificación de la posición de la línea de separación de Wedgelet.
Una idea en la que se basan las formas de realización descritas a continuación es que la dirección de intrapredicción de un bloque de intrapredicción cercano se puede usar con el fin de predecir la dirección de extensión de la línea de separación de Wedgelet de un bloque actual, reduciendo de este modo la tasa de información secundaria 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 formas de realización 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 se puede usar de manera ventajosa con independencia de los otros detalles descritos en la sección 3.1.2, tal como se describe con más detalle a continuación. No obstante, todos los detalles descritos en la sección 3.1.2 y en las otras secciones se han de entender como posibles detalles de forma de realización, que se pueden combinar con la descripción presentada a continuación de manera individual.
En consecuencia, la figura 18 muestra una forma de realización para un descodificador 400, que aprovecha la idea que se acaba de describir y se puede implementar tal 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 descodificador 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 descodificador 400 de la figura 18 se puede implementar tal como se ha indicado anteriormente en la sección 5 con respecto al descodificador 300 de la figura 16, excepto por el modo de codificación definido por las funcionalidades 306 a 310, que es opcional para el descodificador de la figura 18. Esto es, el descodificador 400 de la figura 18 puede operar para reconstruir la matriz de muestras 302 de la figura 18 mediante una descodificación basada en bloques, tal como la descodificación hibrida 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 descodificador 400. Tal como es el caso con el descodificador 300 de la figura 18, la subdivisión de la matriz de muestras 302 en bloques 303 se puede fijar de manera predeterminada, o se puede asignar dentro del flujo de datos 304 mediante la información de subdivisión respectiva. En particular, el descodificador 400 de la figura 18 puede estar construido tal como se ha descrito anteriormente con respecto a las figuras 1 a 3, en concreto, como el descodificador de la figura 3 o cualquiera de los descodificadores de vista, tales como el par de ramas de codificación 106v/d,1, o simplemente como un descodificador de profundidad tal como el 106d,1.
En particular, el descodificador 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 descodificador 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 se puede indicar 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 descodificació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 descodificación por el descodificador 400 de tal modo que su reconstrucción ya se encuentra disponible, incluyendo los valores reconstruidos de las muestras cercanas 404 del bloque cercano 212. Tal como se ha descrito anteriormente, se pueden haber usado diversos modos de codificación por el descodificador 400 para reconstruir estos bloques anteriores, que preceden en el orden de descodificación.
5
10
15
20
25
30
35
40
45
50
55
60
Además, el descodificador 400 de la figura 18 está configurado para predecir una posición 312 de una línea de separación de 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 de 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 de Wedgelet 201 el segundo bloque 210 en las particiones de Wedgelet primera y segunda 202a y 202b. Por ejemplo, el descodificador 400 de la figura 18 puede estar configurado para establecer la dirección de extensión de la línea de separación de 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 de Wedgelet 201. En el caso de una línea de separación recta, la dirección de extensión simplemente se corresponde con la pendiente de la línea. En el caso de las líneas de separación curvadas, la dirección de intrapredicción se puede adaptar, por ejemplo, como la pendiente local de la línea de separación del bloque actual en la frontera para el bloque cercano. Por ejemplo, el descodificador 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 descodificador 400 predice la posición 312 de la línea de separación de 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 de Wedgelet 201 del segundo bloque 210 se puede finalizar dejando sin modificar la dirección de extensión 408. Por ejemplo, a pesar de que 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 de Wedgelet 201 se puede realizar por el descodificador 400 para obtener la posición de línea de separación de Wedgelet en la etapa 406, el descodificador 400 como alternativa puede estar configurado para obtener este punto de inicio 314 indicándolo de forma explícita dentro del flujo de datos 304. Además, el descodificador 400 de la figura 18 podría estar configurado para colocar espacialmente la línea de separación de 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 de Wedgelet localizado conjuntamente en una matriz de muestras anteriormente descodificada, 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.
No obstante, se prefiere que el descodificador 400, para obtener la posición de la línea de separación de 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 de 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, se debería enfatizar en que la línea 410 de muestras dentro de la que se determina el máximo cambio, se puede extender alrededor de una de las esquinas del bloque rectangular 210, tal como se muestra en la figura 18. Por lo tanto, de acuerdo con este descodificador de procedimiento 400 puede estar configurado para colocar la línea de separación de 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 secundaria debido a que se ha descubierto una buena predicción para obtener la posición de la línea de separación de Wedgelet 201 por otros medios que la indicación explícita dentro del flujo de datos 304.
A continuación, tiene lugar la descodificación 412 por el descodificador 400 de acuerdo con la que, el descodificador 400 descodifica el segundo bloque en unidades de las particiones de Wedgelet primera y segunda 202a y 202b del mismo modo tal como se ha descrito con respecto a la figura 16.
Naturalmente, el descodificador 400 de la figura 18 se puede modificar 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 de 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 de Wedgelet - que, tal como se ha indicado en lo que antecede, se puede limitar, o no, a ser recta - tal como se obtiene en la etapa 406 se puede indicar en el flujo de datos 304.
Tal como se ha descrito también anteriormente, se pueden usar 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 se encuentra 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
5
10
15
20
25
30
35
40
45
50
55
dmm_delta_end_flag
si (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 se podrían usar para obtener DmmDeltaEnd, es decir Eoff, como sigue:
DmmDeltaEnd [ x0 ] [ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag [ x0 ] [ y0 ] ) * (dmm_delta_end_abs_minus1 [ x0 ] [ y0 ] + 1)
No obstante, también es factible un procedimiento alternativo. Por ejemplo, en lugar de indicar el desplazamiento de posición final, se puede indicar 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) de forma opcional, una información de ajuste, tal como un desplazamiento de posición final, 3) de forma opcional, unos parámetros de codificación - tales como el CPV o el residuo de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que se puede permitir que las mismas se predigan - espacial o temporalmente a partir de las muestras / bloques cercanos, 4) de forma opcional, un residuo de parámetro de codificación tal como DeltaCPV.
En cuanto a las posibles modificaciones de la etapa de descodificació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 descodificador 400 de la figura 18 se puede configurar 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 obtención de línea de separación de Wedgelet 406 forma una medida subordinada, para obtener la posición de la línea de separación de 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 de Wedgelet en el mismo, una extensión que continua en el bloque actual 210.
La figura 19 muestra una forma de realización para un descodificador 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 descodificador de la figura 18. Es decir, el codificador 430 puede operar basándose en bloques usando, por ejemplo, la codificación hibrida basada en bloques. A pesar de que no se dice de forma explícita, el mismo se aplica también en relación con el codificador de la figura 17 cuando se compara con el descodificador de la figura 16.
5.3 Obtención de línea de separación de 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 secundaria necesaria con el fin de transmitir la información en la posición de la línea de separación de Wedgelet de los bloques de Wedgelet forma la base de la forma de realizació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 / descodificación permiten al menos una predicción de una colocación correcta de un punto de inicio de la línea de separación de Wedgelet, en concreto, colocando el punto de inicio de la línea de separación de 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, se puede reducir la tasa de información secundaria necesaria con el fin de permitir que el descodificador coloque correctamente la línea de separación de Wedgelet. La idea que subyace en la forma de realización descrita a continuación también se ha aprovechado en la descripción anterior en la sección 3.1.2, donde en consecuencia se
5
10
15
20
25
30
35
40
45
50
55
60
describe una posible implementación de las formas de realización descritas a continuación.
En consecuencia, la figura 20 muestra una forma de realización para un descodificador 500, que aprovecha la idea descrita simplemente y que se puede implementar tal 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 descodificador 500 de la figura 20 está configurado para reconstruir una matriz de muestras 302 de un flujo de datos 304. En general, el descodificador 500 de la figura 20 se puede implementar tal como se ha establecido anteriormente en la sección 5.1 o 5.2 con respecto, por ejemplo, al descodificador 300 de la figura 16, a excepción del modo de codificación definido por las funcionalidades 306 a 310, que es opcional para el descodificador de la figura 18, y con respecto al descodificador 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 descodificador de la figura 20. Esto es, el descodificador 500 de la figura 20 puede operar para reconstruir la matriz de muestras 302 de la figura 20 mediante una descodificación basada en bloques, tal como la descodificación hibrida basada en bloques. Tal como es el caso con el descodificador 300 de la figura 18, la subdivisión de la matriz de muestras 302 en los bloques 303 se puede fijar de manera predeterminada, o se puede indicar dentro del flujo de datos 304 por la información de subdivisión respectiva. En particular, el descodificador 500 de la figura 20 puede estar construido tal como se ha descrito anteriormente con respecto a las figuras 1 a 3, en concreto, como el descodificador de la figura 3 o cualquiera de los descodificadores de vista tales como el par de ramas de codificación 106v/d,1, o simplemente como un descodificador de profundidad tal como el 106d,1.
Francamente hablando, el descodificador de la figura 20 que se muestra con el signo de referencia 500, se corresponde en gran parte al descodificador de la figura 18. No obstante, 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 descodificador 500 de la figura 20 está configurado para obtener en la etapa 406' una posición de una línea de separación de 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 de 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 de Wedgelet 201 el bloque predeterminado 210 en las particiones de Wedgelet primera y segunda 202a y 202b. En la etapa 412', el descodificador 500 realiza a continuación la descodificació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 descodificador 500 ordena los valores reconstruidos de las muestras de los bloques cercanos ya descodificados 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 se puede ver, la mayor diferencia entre los valores reconstruidos consecutivos se produce entre el n-ésimo y (n + 1)-ésima muestras cercanas y, en consecuencia, el descodificador de la figura 20 colocaría la línea de separación de 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. Tal como se ha descrito anteriormente, el descodificador 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 se pueden extender a lo largo del borde izquierdo y el borde superior del bloque 210. Lo mismo se podría lograr 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 descodificació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 descodificador 500 de la figura 20 puede usar la obtención de la dirección de extensión de línea de separación de Wedgelet 408 tal 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 de Wedgelet a lo largo de la que el descodificador 500 coloca la línea de separación de Wedgelet 201 del bloque actual 210 se puede predecir de manera diferente, tal como, por ejemplo, temporalmente a partir de un bloque de Wedgelet localizado conjuntamente de una matriz de muestras anteriormente descodificada de una secuencia de matriz de muestras que incluye la matriz de muestras 302. Como alternativa, se puede usar una indicación explícita del punto final 318 de la línea de separación de 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, se debería observar que el punto de inicio 314 se podría definir por el descodificador 500 en la etapa 406', para corresponderse con la posición de muestra de orden n-ésima, a la (n + 1)-ésima posición de
5
10
15
20
25
30
35
40
45
50
55
60
muestra o a una posición subpíxel entre las mismas.
Muchas de las posibilidades de combinación mencionadas anteriormente en las secciones 5.1 y 5.2 también se pueden transferir a la forma de realización de la presente sección. Por ejemplo, el modo de codificación del descodificador 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 de 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 de Wedgelet que continua en el bloque actual 210. Las otras generalizaciones y modificaciones también son factibles. Por ejemplo, el descodificador 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) de forma opcional, la información de ajuste tal como el desplazamiento de posición final, 3) de forma opcional, los parámetros de codificación - tales como el CPV o el residuo de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que se puede permitir que las mismas se predigan - espacial o temporalmente a partir de las muestras / bloques cercanos, 4) de forma opcional, el parámetro de codificación residual tal como DeltaCPV.
La figura 21 muestra un codificador que se ajusta al descodificador 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' tal como se describe con respecto a la figura 19 con respecto al bloque 436.
5.4 Bisegmentación basada en teselas (píxeles) del mapa de profundidad / disparidad umbralizando una parte de localización conjunta 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 secundaria 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 secundaria.
La idea que subyace en las formas de realización 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 de 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 tara de indicación siempre que este presente la información de textura localizada conjuntamente 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 aprovecha 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 forma de realización, que se pueden combinar con la descripción presentada a continuación de forma individual.
En particular, la figura 22 muestra un descodificador 600 de acuerdo con una forma de realización de la presente invención de este tipo. El descodificador 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 descodificador comprende un segmentador 602, un transferidor espacial 604 y un descodificador 606. El descodificador 600 puede estar configurado tal como se ha descrito anteriormente con respecto a cualquiera de las ramas de descodificación 106d,1 / 2. Es decir, el descodificador 600 puede operar en un bloque base. Además, el mismo se puede implementar como un descodificador de vídeo hibrido. La subdivisión del mapa de profundidad / disparidad 213 en bloques se puede obtener por completo a partir de la subdivisión de la imagen 215 en bloques, o se puede obtener a partir de la misma, en el que la subdivisión del mapa de profundidad / disparidad se puede indicar dentro del flujo de datos 304, o se puede conocer de otra manera por el descodificador 600.
El segmentador 602 está configurado para segmentar un bloque de referencia 216 de la imagen 215, localizado conjuntamente con el bloque predeterminado 210 del mapa de profundidad / disparidad 213, umbralizando la imagen 215 dentro del bloque de referencia 216 para obtener una bisegmentación 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.
5
10
15
20
25
30
35
40
45
50
55
60
El descodificador 606 está configurado para descodificar un bloque predeterminado 210 en unidades de las particiones primera y segunda 202a y 202b. La funcionalidad del descodificador 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 se podría incluir dentro del módulo de intercambio 52 y 110, de forma respectiva, mientras que la funcionalidad del descodificador 606 se podría implementar, por ejemplo, en el módulo de intrapredicción.
Tal 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, de forma individual, el segmentador 602 puede estar configurado para, en la umbralización, comprobar de forma individual los valores de prueba de la imagen 215 dentro del bloque de referencia 216 en las teselas 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 modo 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 teselas 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 se puede realizar a la resolución de muestra, en cuyo caso las teselas 608 se corresponden con las muestras individuales 610 de la imagen 215. Se debería mencionar que el descodificador 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, tal como se describe con respecto a las figuras 1 a 3, el descodificador 600 puede estar configurado para reconstruir la imagen 215 antes de que el mapa de profundidad / disparidad 213 se asocie con la misma.
Tal 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, no obstante, 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 descodificador 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 muestra 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. Tal como se ha descrito anteriormente, el umbral se puede definir globalmente entre las muestras 610 dentro del bloque de referencia 216. Como tendencia central, se puede usar algún valor medio, tal como la media aritmética o un valor de la mediana.
Tal como se ha descrito anteriormente en la sección 4.2, el descodificador 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) de forma opcional, la información que dirige la bisegmentación tal como el umbral, las directivas de llenado de filtrado / agujero posteriores o similares, 3) de forma opcional, los parámetros de codificación - tal como el CPV o el residuo de CPV - para una o ambas particiones 202a, 202b - opcional, debido a que se puede permitir que los mismos se predigan - espacial o temporalmente a partir de muestras / bloques cercanos, 4) de forma opcional, el parámetro de codificación residual tal como DeltaCPV.
Todas las variaciones adicionales mencionadas anteriormente con respecto a las formas de realización de las figuras 16, 18 y 20 también se pueden aplicar a la forma de 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 descodificador 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.
5
10
15
20
25
30
35
40
45
50
55
60
La figura 23 muestra una posible implementación de un codificador que se ajusta al descodificador 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 forma de realización descrita a continuación ya se ha mencionado anteriormente en la sección 4.2, en concreto, la idea de acuerdo con la que la obtención de una bisegmentación basada en un bloque de referencia localizado conjuntamente 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 secundaria se puede guardar 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 forma de realización modificada del descodificador 600 de la figura 22, el descodificador está, en general, construido de manera similar al descodificador de la figura 20, de tal modo 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 descodificador 600. No obstante, 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 de 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 forma de 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 de 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 factibles otras posibles bisegmentaciones realizadas por el segmentador 602.
Más allá de esto, no obstante, el descodificador 600 estaría configurado, de acuerdo con la presente forma de realización, de tal modo que la segmentación realizada por el segmentador 602, la transferencia espacial realizada por el transferidor espacial 604 y la descodificación formarían una de un primer conjunto de opciones de codificación del descodificador 600, que no es parte de un segundo conjunto de opciones de codificación del descodificador 600, en el que el descodificador 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 descodificació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, se puede guardar la tara de indicación para indicar el identificador de opción de codificación. Como dispersión, se puede usar la diferencia absoluta media, la desviación típica, o la varianza.
Con respecto a otras modificaciones de la forma de 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 se puede obtener 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
Tal como ya se ha descrito anteriormente con respecto a las diversas formas de realización 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, en especial 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 regiones conectadas simples de valor similar separadas entre sí por unos bordes
5
10
15
20
25
30
35
40
45
50
55
60
pronunciados. No obstante, incluso la transmisión de dichos valores de partición constantes necesita una cantidad considerable de información secundaria que se debería evitar.
La idea que subyace en las formas de realización descritas más adelante es que esta tasa de información secundaria se puede reducir 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 descodificador 700 que es para la reconstrucción de una matriz de muestras 302 de un flujo de datos 304. El descodificador 700 puede estar configurado para reconstruir la matriz de muestras 302 usando una descodificación basada en bloques y se puede configurar para usar una descodificación hibrida. En general, todas las posibles implementaciones descritas anteriormente en las secciones 5.1 a 5.5 también se aplican al descodificador 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 descodificador de la figura 700 que, en este sentido, se puede implementar también de manera diferente.
En particular, el descodificador 700 está configurado para realizar diferentes tareas o funciones para obtener la predicción de un bloque actual 210. En particular, el descodificador 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 descodificador 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 modo 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, en concreto, 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. Tal como se ha descrito anteriormente con respecto a las secciones 5.1 a 5.4, el descodificador 700 puede usar una orden de codificación / descodificació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 descodificador 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 de forma explícita 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 se puede realizar por el descodificador 700 en este caso. Por ejemplo, el descodificador 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 descodificador 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 descodificador 700 puede estar configurado para ajustar la predicción del bloque predeterminado 210 usando la información de ajuste dentro del flujo de datos, en concreto, 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 descodificador 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, de forma respectiva. El descodificador 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 una componente espacialmente muestreada predeterminada - 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 se puede usar por el descodificador 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,
5
10
15
20
25
30
35
40
45
50
55
60
para más detalles, a las partes respectivas de las secciones 3.3.2.
El descodificador 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 de Wedgelet dentro del bloque predeterminado de la matriz de muestras en función de una línea de separación de Wedgelet de un bloque cercano del bloque predeterminado de tal modo que la línea de separación de Wedgelet en la posición predicha forma una extensión de la línea de separación de Wedgelet del bloque cercano en el bloque predeterminado. El descodificador está configurado además para ajustar la posición predicha de la línea de separación de Wedgelet usando la información de ajuste dentro del flujo de datos, la línea de separación de Wedgelet del bloque predeterminado dividiendo el bloque predeterminado en las particiones primera y segunda.
Tal como se ha descrito, el descodificador 700 puede hacer la bisegmentación usando cualquiera de las ideas expuestas en las secciones 5.1 a 5.5. El descodificador 700 puede estar configurado para predecir un bloque de referencia de la 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 descodificador 700 puede predecir una posición de una línea de separación de Wedgelet dentro del bloque predeterminado 210 estableciendo una dirección de extensión de la línea de separación de Wedgelet dentro del bloque predeterminado en función de la dirección de intrapredicción, la línea de separación de Wedgelet que divide el bloque predeterminado en las particiones primera y segunda.
Como alternativa, el descodificador 700 se puede configurar, si la matriz de muestras 302 es un mapa de profundidad / disparidad asociado con una imagen, para segmentar un bloque de referencia de la imagen, localizado conjuntamente 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 descodificador puede estar configurado además para usar el bloque predeterminado como una referencia en un bucle de predicción del descodificador.
La figura 25 muestra una posible forma de realización para un codificador 730 ajustado al descodificador 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 modo 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.
A pesar de que 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 se corresponde con una etapa de método o a una característica de una etapa de método. De forma análoga, 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 pueden ser ejecutadas (o usadas) por un aparato de soporte físico, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas formas de realización, una o más de las etapas del método más importantes pueden ser ejecutadas por un aparato de este tipo.
En función de ciertos requisitos de implementación, las formas de realización de la invención se pueden implementar en soporte físico o en soporte lógico. La implementación se puede realizar 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 modo que se realiza el método respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas formas de realización 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 modo que se realiza uno de los métodos descritos en el presente documento.
En general, las formas de realización de la presente invención se pueden implementar como un producto de
5
10
15
20
25
30
35
40
45
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 se puede almacenar, por ejemplo, en un soporte legible por máquina.
Otras formas de realización 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 forma de 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 forma de 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, registrado 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 almacenamiento digital o el medio de registro son normalmente tangibles y / o no transitorios.
Una forma de 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 se pueden configurar, por ejemplo, para transferirse a través de una conexión de comunicaciones de datos, por ejemplo, a través de Internet.
Una forma de 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 forma de 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 forma de realización adicional de acuerdo con la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, por medios electrónicos u ópticos) 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 formas de realización, un dispositivo lógico programable (por ejemplo una matriz de puertas programables en campo) se puede usar para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas formas de realización, 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 soporte físico.
Las formas de realización 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. Por lo tanto, el fin es 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 formas de realización.
Claims (11)
- 51015202530354045505560REIVINDICACIONES1. Descodificador para reconstruir una matriz de muestras (302) a partir de un flujo de datos (304), configurado para obtener una bipartición de un bloque predeterminado (210) de la matriz de muestras (302) en unas particiones primera y segunda aldeterminar una medida para una tendencia central de valores de muestra reconstruidos de un bloque de referencia de la imagen, localizado conjuntamente con el bloque predeterminado (210), segmentar el bloque de referencia al comparar cada valor de muestra reconstruido del bloque de referencia con un umbral definido de forma global para los valores de muestra reconstruidos del bloque de referencia y dependiendo de la medida para la tendencia central para obtener una bisegmentación del bloque de referencia en unas particiones primera y predeterminada, y transferir espacialmente la bisegmentación del bloque de referencia de la imagen sobre el bloque predeterminado (210) del mapa de profundidad / disparidad con el fin de obtener las particiones primera y segunda, ogenerar, para cada uno de una pluralidad de tamaños de bloque, una lista ordenada de patrones de wedgelet, correspondiéndose cada patrón de wedgelet con una combinación de puntos de inicio y final de una línea de separación de wedgelet, mediante el uso de un algoritmo que determina qué muestras representar gráficamente para formar una aproximación cercana a una línea recta entre los puntos de inicio y final y la indexación de un patrón de wedgelet dentro de una lista de patrones de wedgelet generados para un tamaño de bloque del bloque predeterminado (210) usando un índice señalizado de forma explícita en el flujo de datos (304) con el fin de obtener las particiones primera y segunda;asociar cada una de las muestras cercanas de la matriz de muestras (302), que limitan con el bloque predeterminado, con una respectiva de las particiones primera y segunda de tal modo que cada muestra cercana limite con la partición con la que está asociada la misma;predecir 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 (302) colocadas dentro de la primera partición y / o un valor medio de los valores de las muestras cercanas asociadas con la segunda partición a las muestras de la matriz de muestras (302) colocadas dentro de la segunda partición.
- 2. Descodificador de acuerdo con la reivindicación 1, configurado paraajustar la predicción del bloque predeterminado (210) usando información de ajuste dentro del flujo de datos (304), 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.
- 3. Descodificador de acuerdo con la reivindicación 2, 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.
- 4. Descodificador de acuerdo con la reivindicación 2 o 3, 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 (304) y ajustar a escala el valor de ajuste primero y / o segundo como recuperados usando un tamaño de etapa de cuantificación dependiendo de un tamaño de etapa de cuantificación de referencia al que una componente espacialmente muestreada predeterminada asociada con la matriz de muestras (302) se transmite dentro del flujo de datos (304).
- 5. Descodificador de acuerdo con la reivindicación 4, en el que la matriz de muestras (302) es un mapa de profundidad, y el descodificador está configurado para usar el tamaño de etapa de cuantificación de referencia con el fin de reconstruir una matriz de muestras de textura (302) a partir del flujo de datos (304), con el que está asociado el mapa de profundidad.
- 6. Descodificador de acuerdo con cualquiera de las reivindicaciones 1 a 5, configurado adicionalmente para usar el bloque predeterminado (210) como una referencia en un bucle de predicción del descodificador.
- 7. Codificador para codificar una matriz de muestras (302) en un flujo de datos (304) configurado paraobtener una bipartición de un bloque predeterminado (210) de la matriz de muestras (302) en unas particiones primera y segunda aldeterminar una medida para una tendencia central de unos valores de muestra reconstruidos de un bloque de referencia de la imagen, localizado conjuntamente con el bloque predeterminado (210), segmentar el bloque de referencia al comparar cada valor de muestra reconstruido del bloque de referencia con un umbral definido de forma global para los valores de muestra reconstruidos del bloque de referencia y dependiendo de la medida51015202530354045505560para la tendencia central para obtener una bisegmentación del bloque de referencia en unas particiones primera y predeterminada, y transferir espacialmente la bisegmentación del bloque de referencia de la imagen sobre el bloque predeterminado (210) del mapa de profundidad / disparidad con el fin de obtener las particiones primera y segunda, ogenerar, para cada uno de una pluralidad de tamaños de bloque, una lista ordenada de patrones de wedgelet, correspondiéndose cada patrón de wedgelet con una combinación de punto de inicio y final de una línea de separación de wedgelet, mediante el uso de un algoritmo que determina qué muestras representar gráficamente para formar una aproximación cercana a una línea recta entre el punto de inicio y final y la indexación de un patrón de wedgelet dentro de una lista de patrones de wedgelet generados para un tamaño de bloque del bloque predeterminado (210) usando un índice señalizado de forma explícita en el flujo de datos (304) con el fin de obtener las particiones primera y segunda;asociar cada una de las muestras cercanas de la matriz de muestras (302), que limitan con el bloque predeterminado (210), con una respectiva de las particiones primera y segunda de tal modo que cada muestra cercana limite con la partición con la que está asociada la misma;predecir 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 (302) colocadas 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 (302) colocadas dentro de la segunda partición.
- 8. Método para reconstruir una matriz de muestras (302) a partir de un flujo de datos (304), que comprende obtener una bipartición de un bloque predeterminado (210) de la matriz de muestras (302) en unas particiones primera y segunda aldeterminar una medida para una tendencia central de unos valores de muestra reconstruidos de un bloque de referencia de la imagen, localizado conjuntamente con el bloque predeterminado (210), segmentar el bloque de referencia al comparar cada valor de muestra reconstruido del bloque de referencia con un umbral definido de forma global para los valores de muestra reconstruidos del bloque de referencia y dependiendo de la medida para la tendencia central para obtener una bisegmentación del bloque de referencia en unas particiones primera y predeterminada, y transferir espacialmente la bisegmentación del bloque de referencia de la imagen sobre el bloque predeterminado (210) del mapa de profundidad / disparidad con el fin de obtener las particiones primera y segunda, ogenerar, para cada uno de una pluralidad de tamaños de bloque, una lista ordenada de patrones de wedgelet, correspondiéndose cada patrón de wedgelet con una combinación de punto de inicio y final de una línea de separación de wedgelet, mediante el uso de un algoritmo que determina qué muestras representar gráficamente para formar una aproximación cercana a una línea recta entre el punto de inicio y final y la indexación de un patrón de wedgelet dentro de una lista de patrones de wedgelet generados para un tamaño de bloque del bloque predeterminado (210) usando un índice señalizado de forma explícita en el flujo de datos (304) con el fin de obtener las particiones primera y segunda;asociar cada una de las muestras cercanas de la matriz de muestras (302), que limitan con el bloque predeterminado (210), con una respectiva de las particiones primera y segunda de tal modo que cada muestra cercana limite con la partición con la que está asociada la misma;predecir 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 (302) colocadas dentro de la primera partición y / o un valor medio de los valores de las muestras cercanas asociadas con la segunda partición a las muestras de la matriz de muestras (302) colocadas dentro de la segunda partición.
- 9. Método para codificar una matriz de muestras (302) en un flujo de datos (304), que comprende obtener una bipartición de un bloque predeterminado (210) de la matriz de muestras (302) en unas particiones primera y segunda aldeterminar una medida para una tendencia central de unos valores de muestra reconstruidos de un bloque de referencia de la imagen, localizado conjuntamente con el bloque predeterminado (210), segmentar el bloque de referencia al comparar cada valor de muestra reconstruido del bloque de referencia con un umbral definido de forma global para los valores de muestra reconstruidos del bloque de referencia y dependiendo de la medida para la tendencia central para obtener una bisegmentación del bloque de referencia en unas particiones primera y predeterminada, y transferir espacialmente la bisegmentación del bloque de referencia de la imagen sobre el bloque predeterminado (210) del mapa de profundidad / disparidad con el fin de obtener las particiones primera y segunda, ogenerar, para cada uno de una pluralidad de tamaños de bloque, una lista ordenada de patrones de wedgelet, correspondiéndose cada patrón de wedgelet con una combinación de punto de inicio y final de una línea de separación de wedgelet, mediante el uso de un algoritmo que determina qué muestras representar gráficamente para formar una aproximación cercana a una línea recta entre el punto de inicio y final y la indexación de unpatrón de wedgelet dentro de una lista de patrones de wedgelet generados para un tamaño de bloque del bloque predeterminado (210) usando un índice señalizado de forma explícita en el flujo de datos (304) con el fin de obtener las particiones primera y segunda;5 asociar cada una de las muestras cercanas de la matriz de muestras (302), que limitan con el bloque predeterminado (210), con una respectiva de las particiones primera y segunda de tal modo que cada muestra cercana limite con la partición con la que está asociada la misma;predecir 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 (302) colocadas dentro de la primera 10 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 (302) colocadas dentro de la segunda partición.
- 10. 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 8 o 9.15
- 11. Flujo de datos generado por un método de acuerdo con la reivindicación 9.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161558634P | 2011-11-11 | 2011-11-11 | |
| US201161558634P | 2011-11-11 | ||
| PCT/EP2012/072329 WO2013068567A1 (en) | 2011-11-11 | 2012-11-09 | Effective prediction using partition coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2664746T3 true ES2664746T3 (es) | 2018-04-23 |
Family
ID=47146416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12783613.8T Active ES2664746T3 (es) | 2011-11-11 | 2012-11-09 | Predicción eficaz usando codificación de particiones |
Country Status (14)
| Country | Link |
|---|---|
| US (9) | US9749622B2 (es) |
| EP (4) | EP2777283B1 (es) |
| JP (7) | JP6105614B2 (es) |
| KR (9) | KR102468287B1 (es) |
| CN (5) | CN109218736B (es) |
| BR (1) | BR112014011413B1 (es) |
| DK (1) | DK2777283T3 (es) |
| ES (1) | ES2664746T3 (es) |
| HU (1) | HUE036756T2 (es) |
| IN (1) | IN2014KN01040A (es) |
| NO (1) | NO2716819T3 (es) |
| PL (1) | PL2777283T3 (es) |
| PT (1) | PT2777283T (es) |
| WO (1) | WO2013068567A1 (es) |
Families Citing this family (45)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102588425B1 (ko) | 2011-11-11 | 2023-10-12 | 지이 비디오 컴프레션, 엘엘씨 | 적응적 분할 코딩 |
| WO2013068562A1 (en) | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Effective wedgelet partition coding |
| PT2777283T (pt) * | 2011-11-11 | 2018-04-18 | Ge Video Compression Llc | Predição eficaz utilizando codificação de partição |
| CN105409215B (zh) | 2013-01-11 | 2018-10-09 | 华为技术有限公司 | 深度预测模式选择方法及装置 |
| US20140269920A1 (en) * | 2013-03-15 | 2014-09-18 | Cisco Technology, Inc. | Motion Estimation Guidance in Transcoding Operation |
| US10375411B2 (en) | 2013-03-15 | 2019-08-06 | Qualcomm Incorporated | Predictor for depth map intra coding |
| KR101994870B1 (ko) * | 2014-01-03 | 2019-07-01 | 지이 비디오 컴프레션, 엘엘씨 | 웨지렛 기반 코딩 개념 |
| WO2015123806A1 (en) * | 2014-02-18 | 2015-08-27 | Mediatek Singapore Pte. Ltd. | Methods for depth based block partitioning |
| CN104853216B (zh) * | 2014-02-18 | 2018-10-02 | 寰发股份有限公司 | 基于深度的块分割方法和电子装置 |
| CN106105216A (zh) | 2014-03-13 | 2016-11-09 | 高通股份有限公司 | 用于3d视频译码的受约束深度帧内模式译码 |
| CN103826134B (zh) * | 2014-03-21 | 2017-08-18 | 华为技术有限公司 | 图像帧内预测方法及装置 |
| US20170127060A1 (en) * | 2014-06-18 | 2017-05-04 | Samsung Electronics Co., Ltd. | Multi-layer video encoding method and multi-layer video decoding method using depth blocks |
| WO2015194915A1 (ko) * | 2014-06-20 | 2015-12-23 | 삼성전자 주식회사 | 인터 레이어 비디오 부복호화를 위한 깊이 영상의 예측 모드 전송 방법 및 장치 |
| WO2015199376A1 (ko) * | 2014-06-26 | 2015-12-30 | 주식회사 케이티 | 다시점 비디오 신호 처리 방법 및 장치 |
| CN104159121A (zh) * | 2014-06-26 | 2014-11-19 | 华为技术有限公司 | 一种基于深度信息的图像块的编码、解码方法及装置 |
| KR20160004947A (ko) * | 2014-07-04 | 2016-01-13 | 주식회사 케이티 | 다시점 비디오 신호 처리 방법 및 장치 |
| CN107005702B (zh) | 2014-11-14 | 2020-10-16 | 华为技术有限公司 | 用于处理数字图像的块的系统和方法 |
| WO2016074746A1 (en) | 2014-11-14 | 2016-05-19 | Huawei Technologies Co., Ltd. | Systems and methods for mask based processing of a block of a digital image |
| BR112017010160B1 (pt) | 2014-11-14 | 2023-05-02 | Huawei Technologies Co., Ltd | Aparelho e método para gerar uma pluralidade de coeficientes de transformada, método para codificar um quadro, aparelho e método para decodificar um quadro e meio legível por computador |
| WO2016123783A1 (zh) * | 2015-02-05 | 2016-08-11 | 华为技术有限公司 | 图像预测处理方法和相关设备 |
| CN105519110B (zh) * | 2015-02-05 | 2018-09-28 | 华为技术有限公司 | 模板处理方法和相关设备 |
| CN107852507A (zh) * | 2015-05-12 | 2018-03-27 | 三星电子株式会社 | 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置 |
| WO2017020808A1 (en) * | 2015-07-31 | 2017-02-09 | Versitech Limited | A depth discontinuity-based method for efficient intra coding for depth videos |
| US20170085886A1 (en) * | 2015-09-18 | 2017-03-23 | Qualcomm Incorporated | Variable partition size for block prediction mode for display stream compression (dsc) |
| EP3396955A4 (en) * | 2016-02-16 | 2019-04-24 | Samsung Electronics Co., Ltd. | METHOD AND APPARATUS FOR ADAPTIVE BLOCK PARTITIONING |
| WO2017175898A1 (ko) * | 2016-04-07 | 2017-10-12 | 엘지전자(주) | 인트라 예측 필터링을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 |
| ES3031396T3 (en) * | 2017-07-06 | 2025-07-08 | Samsung Electronics Co Ltd | Image encoding method and apparatus, and image decoding method and apparatus |
| 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 |
| CN112640455B (zh) | 2018-06-21 | 2024-06-14 | 瑞典爱立信有限公司 | 视频编码中具有子图块的图块分区 |
| CN112585970B (zh) | 2018-06-21 | 2024-07-09 | 瑞典爱立信有限公司 | 灵活图块分区 |
| EP3811624A1 (en) | 2018-06-21 | 2021-04-28 | Telefonaktiebolaget LM Ericsson (publ) | Tile shuffling for 360 degree video decoding |
| JP7479062B2 (ja) * | 2018-10-01 | 2024-05-08 | オーピー ソリューションズ, エルエルシー | 指数関数的分割の方法およびシステム |
| CN112823525B (zh) | 2018-10-02 | 2024-12-06 | 瑞典爱立信有限公司 | 基于图块组id对图片进行编码和解码 |
| JP2019050621A (ja) * | 2018-11-28 | 2019-03-28 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 3dビデオコーディングのための制限付き深度イントラモードコーディング |
| US10970881B2 (en) | 2018-12-21 | 2021-04-06 | Samsung Display Co., Ltd. | Fallback modes for display compression |
| KR102517389B1 (ko) | 2019-02-05 | 2023-04-03 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 인트라 서브-파티션 코드 모드를 이용한 비디오 코딩 |
| CN110363212B (zh) * | 2019-03-28 | 2022-02-15 | 西南石油大学 | 基于边界扫描的多wedgelet图像近似方法 |
| CN110225339A (zh) * | 2019-05-10 | 2019-09-10 | 上海德衡数据科技有限公司 | 一种hevc视频序列编解码加速方法 |
| US11936864B2 (en) | 2019-11-07 | 2024-03-19 | Bitmovin, Inc. | Fast multi-rate encoding for adaptive streaming using machine learning |
| US11546401B2 (en) | 2019-11-07 | 2023-01-03 | Bitmovin, Inc. | Fast multi-rate encoding for adaptive HTTP streaming |
| WO2022031018A1 (ko) | 2020-08-04 | 2022-02-10 | 현대자동차주식회사 | 임의 블록 분할을 이용한 비디오 부호화 및 복호화 |
| JP2024505322A (ja) * | 2020-11-18 | 2024-02-06 | インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ | 幾何学的パーティションを伴うイントラ予測 |
| US12388993B2 (en) * | 2021-03-29 | 2025-08-12 | Ofinno, Llc | Geometric partitioning refinement |
| EP4203473B1 (en) * | 2021-12-22 | 2024-07-24 | Axis AB | A method, an image processing device for dividing an array of pixels into slices and tiles, and a system for encoding the slices and tiles into a video stream |
| US12549722B2 (en) * | 2022-06-02 | 2026-02-10 | Tencent America LLC | Systems and methods for partition-based predictions |
Family Cites Families (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01303888A (ja) | 1988-05-31 | 1989-12-07 | Fujitsu Ltd | フレーム間符号化装置 |
| JPH0488699A (ja) | 1990-07-31 | 1992-03-23 | Mitsubishi Materials Corp | 低誘電率多層セラミック基板及びその製造方法 |
| 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 | 動きベクトル検出回路、検出方法、及び動画像圧縮回路 |
| US6571019B1 (en) | 1995-10-26 | 2003-05-27 | Hyundai Curitel, Inc | Apparatus and method of encoding/decoding a coded block pattern |
| JPH09275565A (ja) | 1996-04-05 | 1997-10-21 | Kokusai Electric Co Ltd | 画像ブロックマッチング方法及び画像符号化方法 |
| JPH10257488A (ja) | 1997-03-12 | 1998-09-25 | Oki Data:Kk | 画像符号化装置および画像復号化装置 |
| US6404817B1 (en) | 1997-11-20 | 2002-06-11 | Lsi Logic Corporation | MPEG video decoder having robust error detection and concealment |
| US6636633B2 (en) | 1999-05-03 | 2003-10-21 | Intel Corporation | Rendering of photorealistic computer graphics images |
| JP2002022497A (ja) * | 2000-07-10 | 2002-01-23 | Olympus Optical Co Ltd | 光学式エンコーダ |
| EP1478190B1 (en) | 2002-04-26 | 2013-01-02 | NTT DoCoMo, Inc. | Image encoding device, image encoding method, and image encoding program |
| ES2788534T3 (es) | 2002-05-28 | 2020-10-21 | 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 |
| JP5062833B2 (ja) * | 2004-09-16 | 2012-10-31 | トムソン ライセンシング | 局在的な輝度変動を利用した重み付き予測ビデオ・コーデックのための方法および装置 |
| US8948266B2 (en) | 2004-10-12 | 2015-02-03 | Qualcomm Incorporated | Adaptive intra-refresh for digital video encoding |
| GB0500174D0 (en) * | 2005-01-06 | 2005-02-16 | Kokaram Anil | Method for estimating motion and occlusion |
| US8483492B2 (en) * | 2005-10-25 | 2013-07-09 | William Marsh Rice University | Method and apparatus for signal detection, classification and estimation from compressive measurements |
| CN1777289A (zh) * | 2005-11-30 | 2006-05-24 | 天津大学 | 利用选择性预测加快运动估计的方法 |
| KR101311656B1 (ko) * | 2006-05-05 | 2013-09-25 | 톰슨 라이센싱 | 스케일러블 비디오 코딩을 위한 간략화된 레이어간 모션 예측 |
| CN101491096B (zh) * | 2006-07-12 | 2012-05-30 | Lg电子株式会社 | 信号处理方法及其装置 |
| KR101526914B1 (ko) * | 2006-08-02 | 2015-06-08 | 톰슨 라이센싱 | 비디오 디코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치 |
| 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 |
| EP1924075B1 (en) | 2006-11-17 | 2013-07-31 | Samsung Electronics Co., Ltd. | Image processing using hybrid lookup table |
| JP5026092B2 (ja) * | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
| EP2137982B1 (en) * | 2007-04-12 | 2016-06-01 | Thomson Licensing | Methods and apparatus for fast geometric mode decision in a video encoder |
| BRPI0818649A2 (pt) | 2007-10-16 | 2015-04-07 | Thomson Licensing | Métodos e aparelho para codificação e decodificação de vídeo em superblocos geometricamente particionados. |
| JP5097523B2 (ja) * | 2007-12-07 | 2012-12-12 | 船井電機株式会社 | 音声入力装置 |
| BRPI0907748A2 (pt) * | 2008-02-05 | 2015-07-21 | Thomson Licensing | Métodos e aparelhos para segmentação implícita de blocos em codificação e decodificação de vídeo |
| 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模型的图像分割方法 |
| US9479786B2 (en) | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
| CN102239506B (zh) * | 2008-10-02 | 2014-07-09 | 弗兰霍菲尔运输应用研究公司 | 中间视合成和多视点数据信号的提取 |
| 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 |
| CN102484706B (zh) * | 2009-06-26 | 2015-09-16 | 汤姆森特许公司 | 使用自适应几何划分进行视频编码和解码的方法及装置 |
| JP5909187B2 (ja) * | 2009-10-14 | 2016-04-26 | トムソン ライセンシングThomson Licensing | フィルタ処理およびエッジ符号化 |
| BR112012013479A2 (pt) | 2009-12-04 | 2016-05-24 | Thomson Licensing | transformada de bloco particionada adaptativa ao padrão de textura |
| KR20110068792A (ko) * | 2009-12-16 | 2011-06-22 | 한국전자통신연구원 | 적응적 영상 부호화 장치 및 방법 |
| US8913661B2 (en) * | 2010-02-19 | 2014-12-16 | Skype | Motion estimation using block matching indexing |
| HUE037656T2 (hu) | 2010-04-13 | 2018-09-28 | Fraunhofer Ges Forschung | Valószínûség intervallum partícionáló kódoló és dekódoló |
| BR122020007923B1 (pt) * | 2010-04-13 | 2021-08-03 | Ge Video Compression, Llc | Predição interplano |
| 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 |
| WO2012020092A1 (en) * | 2010-08-11 | 2012-02-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-view signal codec |
| US9319716B2 (en) * | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| JP6072678B2 (ja) * | 2011-04-25 | 2017-02-01 | シャープ株式会社 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
| EP2521357A1 (de) | 2011-05-06 | 2012-11-07 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Filterung von kodierten Bildpartitionen |
| CN103765474B (zh) | 2011-08-26 | 2017-10-24 | 汤姆逊许可公司 | 深度编码 |
| PT2777283T (pt) * | 2011-11-11 | 2018-04-18 | Ge Video Compression Llc | Predição eficaz utilizando codificação de partição |
| KR102588425B1 (ko) * | 2011-11-11 | 2023-10-12 | 지이 비디오 컴프레션, 엘엘씨 | 적응적 분할 코딩 |
| WO2013068562A1 (en) | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Effective wedgelet partition coding |
| US9900619B2 (en) * | 2012-07-02 | 2018-02-20 | Qualcomm Incorporated | Intra-coding of depth maps for 3D video coding |
| JP6717790B2 (ja) | 2017-09-14 | 2020-07-08 | ファナック株式会社 | レーザ加工中に光学系の汚染レベルに応じて焦点シフトを調整するレーザ加工装置 |
-
2012
- 2012-11-09 PT PT127836138T patent/PT2777283T/pt unknown
- 2012-11-09 KR KR1020217008797A patent/KR102468287B1/ko active Active
- 2012-11-09 DK DK12783613.8T patent/DK2777283T3/en active
- 2012-11-09 KR KR1020197038508A patent/KR102233830B1/ko active Active
- 2012-11-09 ES ES12783613.8T patent/ES2664746T3/es active Active
- 2012-11-09 EP EP12783613.8A patent/EP2777283B1/en active Active
- 2012-11-09 KR KR1020217007764A patent/KR102344178B1/ko active Active
- 2012-11-09 HU HUE12783613A patent/HUE036756T2/hu unknown
- 2012-11-09 KR KR1020187027916A patent/KR102062696B1/ko active Active
- 2012-11-09 EP EP19203323.1A patent/EP3657788B1/en active Active
- 2012-11-09 CN CN201811037182.4A patent/CN109218736B/zh active Active
- 2012-11-09 BR BR112014011413-7A patent/BR112014011413B1/pt active IP Right Grant
- 2012-11-09 CN CN201811037183.9A patent/CN109525846B/zh active Active
- 2012-11-09 IN IN1040KON2014 patent/IN2014KN01040A/en unknown
- 2012-11-09 WO PCT/EP2012/072329 patent/WO2013068567A1/en not_active Ceased
- 2012-11-09 CN CN201811037575.5A patent/CN109587505A/zh active Pending
- 2012-11-09 KR KR1020237020854A patent/KR102837059B1/ko active Active
- 2012-11-09 JP JP2014540492A patent/JP6105614B2/ja active Active
- 2012-11-09 KR KR1020257023818A patent/KR20250111411A/ko active Pending
- 2012-11-09 CN CN201811036796.0A patent/CN109218735B/zh active Active
- 2012-11-09 EP EP17211132.0A patent/EP3328081B1/en active Active
- 2012-11-09 KR KR1020147015913A patent/KR101810916B1/ko active Active
- 2012-11-09 KR KR1020177036003A patent/KR101904457B1/ko active Active
- 2012-11-09 KR KR1020227039802A patent/KR20220157518A/ko not_active Ceased
- 2012-11-09 CN CN201280066926.XA patent/CN104247427B/zh active Active
- 2012-11-09 PL PL12783613T patent/PL2777283T3/pl unknown
- 2012-11-09 EP EP20205472.2A patent/EP3829168A1/en active Pending
-
2013
- 2013-10-02 NO NO13187002A patent/NO2716819T3/no unknown
-
2014
- 2014-05-09 US US14/273,603 patent/US9749622B2/en active Active
-
2017
- 2017-03-01 JP JP2017038744A patent/JP6884598B2/ja active Active
- 2017-07-20 US US15/655,445 patent/US10321139B2/en active Active
- 2017-07-20 US US15/655,329 patent/US10334255B2/en active Active
-
2018
- 2018-12-07 JP JP2018230352A patent/JP6814783B2/ja active Active
-
2019
- 2019-04-16 US US16/385,602 patent/US10542263B2/en active Active
- 2019-12-05 US US16/703,918 patent/US10771793B2/en active Active
-
2020
- 2020-09-04 US US17/012,224 patent/US11032555B2/en active Active
- 2020-10-23 JP JP2020178470A patent/JP7126329B2/ja active Active
- 2020-11-24 JP JP2020194476A patent/JP2021044832A/ja active Pending
-
2021
- 2021-02-10 US US17/172,851 patent/US20210168380A1/en not_active Abandoned
-
2022
- 2022-11-07 JP JP2022178255A patent/JP7528179B2/ja active Active
-
2023
- 2023-06-12 US US18/333,152 patent/US12284368B2/en active Active
-
2024
- 2024-05-30 JP JP2024087899A patent/JP2024133459A/ja active Pending
-
2025
- 2025-04-14 US US19/178,409 patent/US20250301156A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2664746T3 (es) | Predicción eficaz usando codificación de particiones | |
| ES2647514T3 (es) | Codificación adaptativa de particiones | |
| HK40002871B (en) | Apparatus and method for encoding and decoding | |
| HK40002871A (en) | Apparatus and method for encoding and decoding | |
| HK40003503A (en) | Decoder, encoder, medium and reconstruction, encoding and decoding method | |
| HK40003601A (en) | Decoder, encoder and method for decoding videos | |
| HK40003501A (en) | Decoder, encoder and methods for reconstructing, encoding, decoding, transmitting and processing | |
| HK40003599A (en) | Decoder, encoder and methods for reconstructing, encoding, decoding, transmitting and processing | |
| HK40002869A (en) | Apparatus and method for encoding and decoding | |
| HK40005695A (en) | Device and method for encoding and decoding | |
| HK40002869B (zh) | 用於编码和解码的设备和方法 | |
| HK40003503B (en) | Decoder, encoder, medium and reconstruction, encoding and decoding method | |
| HK40003501B (en) | Decoder, encoder and methods for reconstructing, encoding, decoding, transmitting and processing | |
| HK40003599B (en) | Decoder, encoder and methods for reconstructing, encoding, decoding, transmitting and processing | |
| HK40003601B (en) | Decoder, encoder and method for decoding videos | |
| HK1202204B (en) | Effective prediction using partition coding |