ES2652132T3 - Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad - Google Patents

Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad Download PDF

Info

Publication number
ES2652132T3
ES2652132T3 ES13742419.8T ES13742419T ES2652132T3 ES 2652132 T3 ES2652132 T3 ES 2652132T3 ES 13742419 T ES13742419 T ES 13742419T ES 2652132 T3 ES2652132 T3 ES 2652132T3
Authority
ES
Spain
Prior art keywords
partition
block
depth
texture
texture block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13742419.8T
Other languages
English (en)
Inventor
Jacek Konieczny
Fabian JAEGER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2652132T3 publication Critical patent/ES2652132T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un aparato para descodificar un bloque de textura codificado de una imagen de textura, el aparato de descodificación comprende: un particionador (510) adaptado para determinar una máscara de partición (332) para el bloque de textura codificado (312') según la información de profundidad (322) asociada al bloque de textura codificado, en donde la máscara de partición (332) se adapta para definir múltiples particiones (P1, P2) y para asociar un elemento de bloque de textura del bloque de textura codificado a una partición de las múltiples particiones del bloque de textura codificado; y un descodificador (720) adaptado para descodificar las particiones de las múltiples particiones del bloque de textura codificado según la máscara de partición; y en donde el particionador se adapta para asociar el elemento de bloque de textura del bloque de textura a una de las múltiples particiones según una comparación de un valor de información de profundidad asociado al elemento de bloque de textura con un valor umbral; y en donde el particionador se adapta para determinar de forma adaptativa el valor umbral mediante: el cálculo de un valor promedio de los valores de información de profundidad para el área asociada al bloque de textura que se descodificará; y el establecimiento del valor umbral en el valor promedio calculado; o calcular un promedio ponderado de los valores de información de profundidad para el área asociada al bloque de textura que se descodificará, en donde las ponderaciones usadas para calcular el promedio ponderado dependen de una distancia de un centro del bloque de textura; y establecer el valor umbral en el valor promedio ponderado; o calcular un valor medio para los valores de información de profundidad del área asociada al bloque de textura que se descodificará; y establecer el valor umbral en el valor medio calculado.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
imagen6
imagen7
10
15
20
25
30
35
40
45
50
Según una quinta forma de implementación del aparato según la cuarta forma de implementación, el valor umbral se predetermina o se determina de forma adaptativa, p.ej. por el particionador.
Según una sexta forma de implementación del aparato según la cuarta o quinta forma de implementación del sexto aspecto, el valor umbral se determina de forma adaptativa, p.ej. por el determinador, mediante el análisis de la información de profundidad asociada al bloque de textura.
La determinación de forma adaptativa del valor umbral puede comprender: calcular un valor promedio de los valores de información de profundidad para el área asociada al bloque de textura que se codificará; y establecer el valor umbral en el valor promedio calculado.
La determinación de forma adaptativa del valor umbral, p.ej. por el particionador, puede comprender: calcular un promedio ponderado de los valores de información de profundidad para el área asociada al bloque de textura que se codificará, en donde las ponderaciones usadas para calcular el promedio ponderado dependen de una distancia de un centro del bloque de textura; y establecer el valor umbral en el valor promedio ponderado calculado.
La determinación de forma adaptativa del valor umbral, p.ej. por el particionador, puede comprender: calcular un valor medio para los valores de información de profundidad a partir del área asociada al bloque de textura que se codificará; y establecer el valor umbral en el valor medio calculado.
Según una séptima forma de implementación del aparato según cualquiera de la primera a la tercera forma de implementación del sexto aspecto o según el sexto aspecto, el particionador se adapta para determinar la máscara de partición según la aplicación de un algoritmo de detección de bordes a una área de valores de información de profundidad asociada al bloque de textura.
Según una octava forma de implementación del aparato según cualquiera de las formas de implementación precedentes o según el sexto aspecto, el particionador se adapta para determinar la máscara de partición de manera iterativa, en donde en cada iteración una partición que cumple con un criterio de selección predeterminado se divide además en subparticiones hasta que se cumple con un criterio de terminación predeterminado o mientras aún se cumple con un criterio de partición adicional, en donde el bloque de textura lleva a cabo la partición inicial usada para la partición iterativa.
Para la partición de la partición inicial o para cualquier subpartición subsiguiente, puede usarse cualquiera de las formas de implementación precedentes.
Según una novena forma de implementación del aparato según cualquiera de las formas de implementación precedentes del sexto aspecto o según el sexto aspecto, el aparato de codificación además comprende: un multiplexor adaptado para multiplexar un indicador de modo de codificación para un tren de bits que comprende información de codificación de las particiones codificadas de las múltiples particiones de las múltiples particiones del bloque de textura, en donde el indicador de modo de codificación indica si la partición del bloque de textura se ha llevado a cabo usando una máscara de partición derivada según la información de profundidad asociada al bloque de textura y/o en donde el indicador de modo de codificación indica si se ha usado un modo de partición específico de múltiples modos de partición diferentes mediante el uso de una máscara de partición derivada según la información de profundidad asociada al bloque de textura.
Según una décima forma de implementación del aparato según cualquiera de las formas de implementación precedentes del sexto aspecto o según el sexto aspecto, el aparato de codificación además comprende un codificador adaptado para codificar la información de profundidad asociada al bloque de textura; y un descodificador para descodificar la información de profundidad codificada por el codificador para obtener la información de profundidad asociada al bloque de textura usado para determinar la máscara de partición.
Según un séptimo aspecto de la invención, la invención se refiere a un aparato de codificación multimodo para codificar un bloque de textura de una imagen de textura, el aparato de codificación comprende: un aparato de codificación para codificar el bloque de textura según un modo de codificación de partición de bloque basado en la profundidad según se especifica por el sexto aspecto o cualquiera de sus formas de implementación; un aparato de codificación adicional adaptado para codificar el bloque de textura mediante el uso de uno o múltiples modos de codificación de partición con forma regular; y un selector adaptado para seleccionar, según un criterio de selección, uno de los modos de codificación antes mencionados para la transmisión del bloque de textura codificado.
Según una primera forma de implementación del aparato de codificación multimodo según el séptimo aspecto, el selector se adapta además para: comparar un coste de codificación del modo de codificación de partición de bloque basado en la profundidad con un coste de codificación del único modo de codificación de partición con forma regular
o costes de codificación de los múltiples modos de codificación de partición con forma regular; y seleccionar el modo de codificación de partición de bloque basado en la profundidad en caso de que el coste de codificación para el modo de codificación de partición de bloque basado en la profundidad sea más bajo que el coste de codificación del
10
15
20
25
30
35
40
45
50
55
único modo codificado de partición con forma regular o sea más bajo que todos los costes de codificación de los múltiples modos de codificación de partición con forma regular.
Según una segunda forma de implementación del aparato de codificación multimodo según la primera forma de implementación del séptimo aspecto o según el séptimo aspecto, el selector se adapta para seleccionar uno de los modos de codificación antes mencionados para codificar el bloque de textura por bloque de textura; y/o se adapta para habilitar o inhabilitar el modo de codificación de partición de bloque basado en la profundidad por GOP, por intra-período, por imagen, por segmento, por macrobloque o por unidad de codificación, en donde el selector se adapta para señalizar una indicación de habilitación o inhabilitación para el modo de codificación de partición de bloque basado en la profundidad en la sintaxis de SPS, PPS, PBS, VTS, encabezamiento de imagen, SH, macrobloque o de la unidad de codificación.
Según una tercera forma de implementación del aparato de codificación multimodo según la primera o segunda forma de implementación del séptimo aspecto o según el séptimo aspecto, los múltiples modos de codificación seleccionables comprenden un conjunto de modos de codificación basados en la partición con forma regular y un modo de codificación de partición de bloque basado en la profundidad; en donde cada modo de codificación basado en la partición con forma regular tiene un indicador de modo de codificación específico del modo asociado a él, que distingue el modo de codificación de partición con forma regular respectivo de los otros modos de partición con forma regular; y en donde el selector se adapta para señalizar la selección del modo de codificación de partición basado en la profundidad añadiendo una bandera a solamente uno de los indicadores de modo de codificación del conjunto de indicadores de modo de codificación, en donde un primer valor de la bandera indica que el modo de codificación de partición con forma regular asociado al indicador de modo de codificación se ha seleccionado, y un segundo valor de la bandera señaliza que el modo de codificación de partición de bloque basado en la profundidad se ha seleccionado.
Según una cuarta forma de implementación del aparato de codificación multimodo según cualquiera de las formas de implementación precedentes del séptimo aspecto o según el séptimo aspecto, el aparato de codificación se adapta para mapear la máscara de partición hacia una partición con forma regular; y en donde el aparato de codificación comprende un codificador de textura adaptado para codificar un bloque de textura consecutivo según la representación de partición con forma regular de la máscara de partición o según información derivada basada en la representación de partición con forma regular de la máscara de partición.
El codificador de textura puede ser el codificador o el aparato de codificación según el primer aspecto o cualquiera de sus formas de implementación, o un codificador adicional adaptado para codificar la textura consecutiva mediante el uso de un modo de codificación de partición con forma regular.
Según un octavo aspecto de la invención, la invención se refiere a un método para descodificar un bloque de textura codificado de una imagen de textura, el método comprende: determinar una máscara de partición para el bloque de textura codificado según la información de profundidad asociada al bloque de textura codificado, en donde la máscara de partición se adapta para definir múltiples particiones y para asociar un elemento de bloque de textura del bloque de textura codificado a una partición de las múltiples particiones del bloque de textura codificado; y descodificar las particiones de las múltiples particiones del bloque de textura codificado según la máscara de partición.
En una primera forma de implementación posible del método según el octavo aspecto, la descodificación de las particiones de las múltiples particiones comprende: extraer de un tren de bits información de codificación para una primera partición de las múltiples particiones del bloque de textura codificado de forma separada de la información de codificación para una segunda partición de las múltiples particiones del bloque de textura, en donde la información de codificación se usa para descodificar la primera partición.
La información de codificación puede relacionarse con la codificación de predicción o de no predicción. La información de codificación se usa para descodificar la primera partición y puede comprender uno o más de los siguientes: un modo de predicción, un índice de predictores, una dirección de predicción, un índice de imágenes de referencia, un índice de vistas de referencia, un coeficiente de transformada, un vector de movimiento y un contexto de codificación.
En una segunda forma de implementación posible del método según la primera forma de implementación del octavo aspecto o según el octavo aspecto, el número de particiones que forman las múltiples particiones se predetermina o se determina de manera adaptativa.
En una tercera forma de implementación posible del método según la primera o segunda forma de implementación del octavo aspecto o según el octavo aspecto, el número de particiones que forman las múltiples particiones se determina de forma adaptativa mediante el análisis de la información de profundidad asociada al bloque de textura.
En una cuarta forma de implementación posible del método según cualquiera de las formas de implementación precedentes del octavo aspecto o según el octavo aspecto, el número de particiones que forman las múltiples
imagen8
imagen9
10
15
20
25
30
35
40
45
50
55
particiones del bloque de textura, en donde el descodificador se adapta para descodificar la primera partición mediante el uso de la información de codificación.
La información de codificación puede relacionarse con la codificación de predicción o no predicción. La información de codificación se usa para descodificar la primera partición y puede comprender uno o más de los siguientes: un modo de predicción, un índice de predictores, una dirección de predicción, un índice de imágenes de referencia, un índice de vistas de referencia, un coeficiente de transformada, un vector de movimiento y un contexto de codificación.
En una tercera forma de implementación posible del aparato de descodificación según la primera o segunda forma de implementación del décimo tercer aspecto o según el décimo tercer aspecto, el número de particiones que forman las múltiples particiones se predetermina o se determina de manera adaptativa, p.ej. por el particionador.
En una cuarta forma de implementación posible del aparato de descodificación según cualquiera de las formas de implementación precedentes del décimo tercer aspecto o según el décimo tercer aspecto, el particionador se adapta para determinar de forma adaptativa el número de particiones que forman las múltiples particiones mediante el análisis de la información de profundidad asociada al bloque de textura.
En una quinta forma de implementación posible del aparato de descodificación según la primera forma de implementación del décimo tercer aspecto o según el décimo tercer aspecto, el particionador se adapta para determinar el número de particiones que forman las múltiples particiones mediante el análisis de un histograma de valores de información de profundidad asociados al bloque de textura, por ejemplo contando un número de picos en el histograma y estableciendo el número de particiones que forman las múltiples particiones igual al número de picos contados.
En una sexta forma de implementación posible del aparato de descodificación según la primera forma de implementación del décimo tercer aspecto o según el décimo tercer aspecto, el particionador se adapta para asociar el elemento de bloque de textura del bloque de textura a una de las múltiples particiones según una comparación de un valor de información de profundidad asociado al elemento de bloque de textura con un valor umbral.
En una séptima forma de implementación posible del aparato de descodificación según la sexta forma de implementación del décimo tercer aspecto, el valor umbral se predetermina o se determina de forma adaptativa, p.ej. por el particionador.
En una octava forma de implementación posible del aparato de descodificación según la séptima forma de implementación del décimo tercer aspecto, el particionador se adapta para determinar de forma adaptativa el valor umbral mediante: el cálculo de un valor promedio de los valores de información de profundidad para el área asociada al bloque de textura que se descodificará; y el establecimiento del valor umbral en el valor promedio calculado; o el cálculo de un promedio ponderado de los valores de información de profundidad para el área asociada al bloque de textura que se descodificará, en donde las ponderaciones usadas para calcular el promedio ponderado dependen de una distancia de un centro del bloque de textura; y el establecimiento del valor umbral en el valor promedio ponderado; o el cálculo de un valor medio para los valores de información de profundidad del área asociada al bloque de textura que se descodificará; y el establecimiento del valor umbral en el valor medio calculado.
En una novena forma de implementación posible del aparato de descodificación según cualquiera de las formas de implementación precedentes del décimo tercer aspecto o según el décimo tercer aspecto, el particionador se adapta para determinar la máscara de partición según la aplicación de un algoritmo de detección de bordes a una área de valores de información de profundidad asociada al bloque de textura.
En una décima forma de implementación posible del aparato de descodificación según cualquiera de las formas de implementación precedentes del décimo tercer aspecto o según el décimo tercer aspecto, el particionador se adapta para determinar la máscara de partición de manera iterativa, en donde en cada iteración una partición que cumple con un criterio de selección predeterminado se divide además en subparticiones hasta que se cumple con un criterio de terminación predeterminado o mientras aún se cumple con un criterio de partición adicional, en donde el bloque de textura lleva a cabo la partición inicial usada para la partición iterativa.
En una undécima forma de implementación posible del aparato de descodificación según cualquiera de las formas de implementación precedentes del décimo tercer aspecto o según el décimo tercer aspecto, el aparato de descodificación además comprende un demultiplexor adaptado para extraer un indicador de modo de codificación de un tren de bits que comprende información de codificación de las particiones codificadas de las múltiples particiones del bloque de textura, en donde el indicador de modo de codificación indica si la partición del bloque de textura se ha llevado a cabo usando una máscara de partición derivada según la información de profundidad asociada al bloque de textura, y/o en donde el indicador de modo de codificación indica si se ha usado un modo de partición específico de múltiples modos de partición diferentes mediante el uso de una máscara de partición derivada según la información de profundidad asociada al bloque de textura.
10
15
20
25
30
35
40
45
50
55
Según un décimo cuarto aspecto, la invención se refiere a un aparato de descodificación multimodo, el método comprende: un receptor adaptado para recibir un tren de bits que comprende información de codificación de las particiones codificadas de las múltiples particiones del bloque de textura; un demultiplexor adaptado para extraer un indicador de modo de codificación del tren de bits, el indicador de modo de codificación indica qué modo de codificación de los múltiples modos de codificación se ha usado para codificar el bloque de textura; y un aparato de descodificación de partición de bloque basada en la profundidad según el undécimo aspecto o cualquiera de sus formas de implementación adaptado para descodificar el bloque de textura codificado según un modo de descodificación de partición de bloque basado en la profundidad en caso de que el indicador de modo de codificación indique que un modo de codificación de partición de bloque basado en la profundidad correspondiente se ha usado para codificar el bloque de textura.
En una primera forma de implementación posible del aparato de descodificación multimodo según el décimo cuarto aspecto, el demultiplexor se adapta para extraer el indicador de modo de codificación para determinar el modo de descodificación de los múltiples modos de descodificación que se usará para descodificar el bloque de textura codificado por bloque de textura.
En una segunda forma de implementación posible del aparato de descodificación multimodo según la primera forma de implementación del décimo cuarto aspecto o según el décimo cuarto aspecto, el demultiplexor se adapta para extraer un indicador habilitante o inhabilitante del tren de bits por GOP, por intra-período, por imagen, por segmento, por macrobloque o por unidad de codificación, en donde la indicación habilitante o inhabilitante para el modo de codificación de partición de bloque basado en la profundidad se señaliza en la sintaxis de SPS, PPS, PBS, VPS, encabezamiento de imagen, SH, macrobloque o de unidad de codificación, el indicador habilitante o inhabilitante indica si el modo de codificación de partición de bloque basado en la profundidad se habilita o inhabilita para bloques de textura recibidos después del indicador habilitante o inhabilitante.
En una tercera forma de implementación posible del aparato de descodificación multimodo según la primera o segunda forma de implementación del décimo cuarto aspecto o según el décimo cuarto aspecto, los múltiples modos de codificación comprenden un conjunto de modos de codificación basados en la partición con forma regular y un modo de codificación de partición de bloque basado en la profundidad; en donde cada modo de codificación basado en la partición con forma regular tiene un indicador de modo de codificación específico del modo asociado a él, que distingue el modo de codificación de partición con forma regular respectivo de los otros modos de codificación de partición con forma regular; y en donde la selección del modo de codificación de partición de bloque basado en la profundidad se señaliza mediante una bandera añadida a solamente uno de los indicadores de modo de codificación del conjunto de indicadores de modo de codificación, en donde un primer valor de la bandera indica que el modo de codificación de partición con forma regular asociado al indicador de modo de codificación se ha seleccionado, y un segundo valor de la bandera señaliza que el modo de codificación de partición de bloque basado en la profundidad se ha seleccionado.
En una cuarta forma de implementación posible del aparato de descodificación multimodo según cualquiera de las formas de implementación precedentes del décimo cuarto aspecto o según el décimo cuarto aspecto, el aparato de partición de bloque basado en la profundidad se adapta para mapear la máscara de partición hacia una partición con forma regular; y en donde el aparato comprende: un descodificador de textura adaptado para descodificar un bloque de textura codificado consecutivo según la representación de partición con forma regular de la máscara de partición
o según información derivada basada en la representación de partición con forma regular de la máscara de partición.
El descodificador de textura puede ser el descodificador del aparato de partición de bloque basado en la profundidad
o un descodificador de textura adicional adaptado para descodificar el bloque de textura codificado consecutivo basado en un modo de codificación de partición con forma regular.
Los aspectos de la invención y sus formas de implementación pueden implementarse en hardware y/o software o en combinaciones de ambos. Pueden implementarse como software en un procesador digital de señales (DSP, por sus siglas en inglés), en un microcontrolador o en cualquier otro procesador lateral o como circuito de hardware dentro de un circuito integrado para aplicaciones específicas (ASIC, por sus siglas en inglés).
Los aspectos de la invención y cualquiera de sus formas de implementación pueden implementarse en circuitos electrónicos digitales, o en hardware, firmware, software de ordenador, o en combinaciones de ellos.
Breve descripción de los dibujos
Las realizaciones adicionales de la invención se describirán con respecto a las siguientes figuras, en las cuales:
la Figura 1 muestra un marco para una representación de textura más profundidad de una imagen según su uso, por ejemplo, en la codificación multivisión de vídeo más profundidad;
la Figura 2 muestra un diagrama de flujo de una realización del método para codificar un bloque de textura de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad;
10
15
20
25
30
35
40
45
50
la Figura 3 muestra un par a modo de ejemplo de una imagen de textura y un mapa de profundidad correspondiente y dos máscaras de partición derivadas para dos bloques de textura diferentes de la imagen de textura basadas en la partición de bloque basada en la profundidad;
la Figura 4 muestra un diagrama de flujo de una realización de un método para codificar un bloque de textura de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad basada en la iteración;
la Figura 5 muestra un diagrama de bloques de una realización de un aparato de codificación para codificar un bloque de textura de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad;
la Figura 6 muestra un diagrama de flujo de una realización de un método para descodificar un bloque de textura codificado de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad;
la Figura 7 muestra un diagrama de bloques de un aparato de descodificación para descodificar un bloque de textura codificado de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad;
la Figura 8 muestra un sistema para codificar un bloque de textura de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad que comprende el aparato de codificación y el aparato de descodificación correspondientes;
la Figura 9 muestra un código de ordenador a modo de ejemplo según una realización de descodificación de la invención;
la Figura 10 muestra superposiciones de modos de partición regulares convencionales a modo de ejemplo con un modo de partición de bloque basado en la profundidad;
la Figura 11 muestra un diagrama de bloques de una realización mediante el uso de mapeo del bloque particionado de bloque basado en la profundidad en particiones regulares para la predicción.
Los elementos iguales o equivalentes se denotan en la siguiente descripción de las figuras mediante signos de referencia iguales o equivalentes.
Descripción detallada de las realizaciones de la invención
Para una mejor comprensión de las realizaciones de la invención, ciertos términos usados para describir las realizaciones de la invención se explicarán según la Figura 1.
La Figura 1 muestra un vídeo 3D típico o un marco de vídeo multivisión, donde cada vista de una escena visual 3D se representa por un par correspondiente de imagen de textura T y mapa de profundidad D. En 3D o en la codificación multivisión de vídeo más profundidad, un mapa de profundidad D necesita codificarse además de los datos de vídeo convencionales, a los que también se hace referencia como datos de textura T, no solo para representar los datos de vídeo 2D convencionales como la luminancia y la cromancia sino también la información de profundidad correspondiente relacionada con los datos de vídeo convencionales.
La Figura 1 muestra para una primera vista V1, simbólicamente representada por una cámara, las imágenes de textura T1 y sus correspondientes mapas de profundidad D1 para la primera vista. La imagen de textura T1-1 y el correspondiente mapa de profundidad D1-1 representan la primera vista V1 de una escena visual 3D en un primer tiempo t1, mientras la imagen de textura T1-2 y el correspondiente mapa de profundidad D1-2 representan la primera vista V1 de la escena visual 3D en una segunda instancia temporal t2. Lo mismo se aplica a la segunda vista V2 de la escena visual 3D, lo cual también se ilustra en la Figura 1, en donde la imagen de textura T2-1 y el correspondiente mapa de profundidad D2-1 representan la segunda vista V2 en la primera instancia temporal T1, y la imagen de textura T2-1 y el correspondiente mapa de profundidad D2-2 representan la segunda vista en la segunda instancia temporal t2. Dicha representación de textura más profundidad de vistas de una escena visual 3D permite desacoplar el formato de captura y transmisión del formato de visualización porque según las imágenes de textura y los correspondientes mapas de profundidad de las dos vistas, una imagen 3D puede reproducirse en una visualización con capacidad 3D independiente de su tamaño y resolución y permite incluso la creación de vistas virtuales sintéticas. En lugar de un mapa de profundidad, un mapa de disparidad puede usarse para proveer la información de profundidad asociada a la imagen de textura.
Para la codificación de vídeo, la imagen de textura se divide en partes pequeñas, llamadas bloques, por ejemplo, macrobloques o unidades de codificación (CU, por sus siglas en inglés). En el proceso de codificación, el codificador decide el modo de codificación para cada bloque, incluida la posibilidad de dividir cada bloque en subpartes más pequeñas. En general, se hace referencia a dicho proceso como partición de bloques. Como resultado, cada bloque puede constar de una o más particiones. En códecs de vídeo recientes, se permiten las particiones con forma, en general, rectangular, a saber particiones de una forma rectangular. Además, para cada bloque o partición, se selecciona un modo de predicción. Dado que la codificación predictiva es un método muy eficaz para codificar
10
15
20
25
30
35
40
45
50
55
contenido de vídeo, para cada bloque que se codificará se selecciona un bloque de referencia, que ya se ha codificado antes que el bloque codificado. Dicho bloque se establece como una referencia para el bloque que se codificará y solamente los errores de predicción con respecto a dicho bloque de referencia necesitan señalizarse en el tren de bits del vídeo codificado. Un bloque de referencia puede seleccionarse de los bloques de la misma imagen como el bloque que se codificará, al que también se hace referencia como predicción intra-imagen, o una de las imágenes previamente codificadas disponibles, a la que también se hace referencia como predicción entre imágenes. Para la predicción intra-imagen, a la que también se hace referencia como predicción intra-imagen o predicción intra corta, cada partición del bloque que se codificará se predice mediante el uso de uno o más predictores direccionales seleccionados. En la predicción entre imágenes, a la que también se hace referencia como predicción entre imágenes o predicción corta entre imágenes, un método conocido como estimación de movimiento puede aplicarse, el cual usa vectores de movimiento para especificar la ubicación espacial del bloque de referencia en la imagen de referencia de forma relativa a la posición espacial del bloque que se codificará en la imagen actual. Además, la imagen de referencia necesita especificarse, lo cual se indica, normalmente, por un índice de imágenes de referencia. Para cada partición del bloque que se codificará, un conjunto independiente de vectores de movimiento e índices de imágenes de referencia puede seleccionarse por el codificador. Como resultado, la interpredicción puede ser diferente para cada partición. En vídeo 3D, además, puede usarse una predicción entre vistas que permite usar bloques de otras vistas como referencia.
Finalmente, el área de predicción, a la que también se hace referencia como residuo, a saber, la diferencia entre la predicción del bloque codificado y el bloque de referencia, se codifica y transmite en el tren de bits.
La Figura 1 además muestra cuatro bloques vecinos 111, 112, 113 y 114 a modo de ejemplo de la imagen de textura T1-1. La Figura 1 muestra además el mapa de profundidad D1-2 120 correspondiente a la imagen de textura T1-1, que comprende los bloques de mapa de profundidad correspondientes, en donde el bloque de mapa de profundidad 121 corresponde al bloque de textura 111, el bloque de mapa de profundidad 122 corresponde al bloque de textura 112, el bloque de mapa de profundidad 123 corresponde al bloque de textura 113 y el bloque de mapa de profundidad 124 corresponde al bloque de textura 114 ya que representan la misma área de la misma vista al mismo tiempo. Por ejemplo, el bloque de mapa de profundidad 124 contiene los valores de mapa de profundidad correspondientes a los valores de textura del bloque de textura 114.
Según se menciona más arriba, los valores de textura del bloque de textura 114 o los valores de textura de las particiones del bloque de textura 114 pueden predecirse mediante el uso de bloques de referencia o particiones de referencia de bloques de referencia de la misma imagen de textura, de una imagen de textura de una vista diferente para el mismo instante temporal, por ejemplo T2-1, o de una imagen de textura de la misma vista T1 de una previamente codificada, por ejemplo T1-1. La Figura 1 muestra un ejemplo para la intra-codificación, es preciso ver la flecha 118 que indica una predicción del bloque de textura 114 mediante el uso del bloque de textura vecino 111. La Figura 1 también muestra un ejemplo para la predicción entre vistas, es preciso ver la flecha 158 que apunta de un bloque de textura de la imagen de textura T2-1 150 al bloque de textura 114 de textura T1-2. Finalmente, la Figura 1 también muestra un ejemplo de una inter-predicción, es preciso ver la flecha 138 que apunta de un bloque de textura de la imagen de textura T1-1 130 al bloque de textura 114 de la imagen de textura T1-2 110.
Los siguientes términos se usarán para describir las realizaciones de la invención.
El término "imagen" se refiere a una representación bidimensional de datos, normalmente una matriz bidimensional.
El término "escena visual" se refiere a una escena del mundo real o sintética que se adquiere con un sistema visual
(p. ej., una sola cámara o múltiples cámaras) y representada en forma de vídeo o imagen fija.
El término "trama de vídeo 3D" se refiere a una señal que comprende información que describe geometría 3D de la escena. En particular, dicha información puede representarse por al menos dos imágenes de textura asociadas a dos puntos de vista diferentes de la escena visual (imagen estéreo) o al menos una textura y mapa de profundidad/disparidad (imagen de textura más profundidad). También puede hacerse referencia a una trama de vídeo 3D individual como una imagen 3D.
El término "secuencia de vídeo 3D" se refiere a un conjunto de tramas de vídeo 3D subsiguientes que representan una imagen en movimiento.
El término "imagen de textura" se refiere a una imagen, imagen fija o una trama de una secuencia de vídeo, que representan un punto de vista específico, que contiene información sobre la intensidad de color y luz de la escena visual con respecto al punto de vista específico, normalmente representado en formato RGB o YUV (que comprenden valores de crominancia y luminancia). Normalmente, una matriz bidimensional comprende información de textura, por ejemplo valores de crominancia y luminancia.
El término "mapa de profundidad" se refiere a una matriz bidimensional que comprende para cada elemento de matriz un valor de profundidad correspondiente que determina la distancia a una cámara física o virtual de la escena visual. El mapa de profundidad puede considerarse una imagen en la escala de grises en la cual cada valor gris
imagen10
10
15
20
25
30
35
40
45
50
forma de valores de profundidad asociados al segundo bloque de textura 314. El primer bloque de información de profundidad 322 comprende básicamente solo dos valores grises predominantes diferentes, a saber, valores de profundidad, mientras el segundo bloque de información de profundidad 314 comprende básicamente tres valores grises predominantes, a saber valores de profundidad.
La Figura 3 muestra dos máscaras de partición 332 y 334 a modo de ejemplo determinadas según la información de profundidad contenida en los respectivos bloques de profundidad 322 y 324. La primera máscara de partición 332 a la que también se hace referencia como mD1 (x,y) en la Figura 2 comprende dos particiones, una primera partición P1 y una segunda partición P2 cuyas formas y áreas corresponden a las áreas de los dos valores grises predominantes del primer bloque de mapa de profundidad 322. La segunda máscara de partición 334 comprende tres particiones, una primera partición P1, una segunda partición P2 y una tercera partición P3, cuyas áreas y formas corresponden a las áreas de los tres valores grises predominantes en el segundo bloque de mapa de profundidad
314.
El método 200 de codificación de partición de bloque basada en la profundidad como se muestra en la Figura 2 comprende lo siguiente.
Determinar 210 una máscara de partición 332 para el bloque de textura según la información de profundidad 322 asociada al bloque de textura 312, en donde la máscara de partición 332 se adapta para definir múltiples particiones P1, P2 del bloque de textura y para asociar un elemento de bloque de textura del bloque de textura 312 a una partición de las múltiples particiones.
Codificar 220 el bloque de textura mediante la codificación de las particiones P1, P2 de las múltiples particiones del bloque de textura según la máscara de partición 332.
En otras palabras, las particiones P1 y P2 determinadas según el primer bloque de profundidad 322 se mapean hacia el bloque de textura 312 y, por consiguiente, asocian los elementos de bloque de textura a una de las dos particiones P1 o P2.
En aras de la lectura, a continuación, las realizaciones de la presente invención se describirán con referencia al primer bloque de textura 312 y al correspondiente bloque de información de profundidad 322 y a la máscara de partición 332 derivada según el bloque de profundidad 322 a menos que se establezca lo contrario. Debe mencionarse que ello no limitará las realizaciones de la invención, las cuales también pueden usarse para particionar un bloque de textura en tres o más particiones como se muestra en la Figura 3 según el segundo bloque de textura 314, el correspondiente segundo bloque de profundidad 324 y la máscara de partición 334 derivada del bloque de información de profundidad 324.
La codificación de las particiones del bloque de textura, a la que también puede hacerse referencia como particiones de bloque de textura, puede llevarse a cabo mediante el uso de métodos de codificación convencionales y métodos de codificación diseñados especialmente para la partición de bloque basada en la profundidad antes mencionada.
Según una realización, la codificación 220 de las particiones de las múltiples particiones del bloque de textura comprende además lo siguiente: determinar para una primera partición P1 de las múltiples particiones del bloque de textura 312 de forma separada de una segunda partición P2 de las múltiples particiones del bloque de textura 312, la información de codificación que se usará para codificar la primera partición P1, la información de codificación comprende, por ejemplo, uno o más de los siguientes: un modo de predicción, un índice de predictores, una dirección de predicción, un índice de imágenes de referencia, un índice de vistas de referencia, coeficiente de transformada, un vector de movimiento y un contexto de codificación.
Para las realizaciones del método según se muestra en la Figura 2, el número de particiones que forman las múltiples particiones puede predeterminarse o determinarse de manera adaptativa.
Según la invención, el bloque se particiona en múltiples particiones (al menos dos), p.ej. en un número de N, N>1, particiones P={P1,...,PN} mediante la umbralización de los valores de información de profundidad, p.ej. valores de profundidad o disparidad, asociados a los puntos del bloque de textura codificado mediante el uso de los valores umbral T={T1,...,TN-1}. También puede hacerse referencia a los puntos del bloque de textura como elementos de textura. Para cada punto del bloque de textura codificado p(x,y), la siguiente comparación entre su profundidad asociada o valor de disparidad d(x, y) y los umbrales T se lleva a cabo:
imagen11
El número de umbrales y sus valores pueden predefinirse o seleccionarse de manera adaptativa. Para determinar el número de umbrales, las realizaciones pueden incluir, por ejemplo:
imagen12
5
10
15
20
25
30
35
40
45
Determinar si la partición adicional de la partición seleccionada en las subparticiones se aceptará o mantendrá según los criterios predefinidos. Si es así, la nueva partición se convierte en la partición actual, de lo contrario se mantiene la partición anterior.
Determinar si la partición iterativa finalizará o si la partición iterativa continuará según los criterios predefinidos.
Los posibles criterios de selección para la selección de una partición que se dividirá pueden incluir, por ejemplo, solos o en combinación:
-la partición más grande;
-la partición con la mayor diferencia de profundidad o disparidad entre puntos dentro de la partición, la diferencia puede medirse, por ejemplo, como la diferencia entre el valor más grande y el valor más pequeño, varianza, desvío estándar, u otros momentos estadísticos;
-la partición vecina de un bloque vecino ya codificado/descodificado que contiene más de una partición, con el borde entre dichas particiones que reside en el borde de los dos bloques; o
-la partición con el valor de profundidad o disparidad promedio de puntos dentro de la partición que es el más diferente de los valores promedio calculados para todas las particiones vecinas o para las particiones vecinas seleccionadas.
Luego, la división de la partición seleccionada en subparticiones se lleva a cabo según se describe previamente (es preciso ver las variantes no iterativas de DBBP).
A continuación, la partición seleccionada se prueba si la partición adicional debe aceptarse usando un criterio especificado. Las posibles realizaciones de la función de decisión incluyen probar si (puede usarse un solo criterio o una combinación de criterios):
-el tamaño de la partición seleccionada es lo suficientemente grande (umbral predefinido o adaptativo, p.ej. dependiente del tamaño de bloque de entrada),
-la diferencia de profundidad o disparidad entre puntos dentro de cada subpartición es lo suficientemente pequeña/grande (umbral predefinido o adaptativo),
-el número de subparticiones es lo suficientemente pequeño o grande (umbral predefinido o adaptativo).
Finalmente, se verifican las condiciones para finalizar el proceso de partición. Las posibles realizaciones de la función de decisión incluyen probar si (puede usarse un solo criterio o una combinación de criterios):
-el número de particiones es igual a o supera el número definido de particiones (umbral predefinido o adaptativo),
-la diferencia de profundidad o disparidad entre puntos dentro de cada partición es lo suficientemente pequeña/grande (umbral predefinido o adaptativo), o
-se ha superado el número máximo de iteraciones (umbral predefinido o adaptativo).
Las dos etapas de más arriba pueden combinarse en una, en la cual la prueba de la aceptación de la nueva partición y las condiciones para finalizar la partición iterativa se lleva a cabo.
Un ejemplo de dicha partición se ilustra en la Figura 3. La partición resultante se presenta en forma de máscara de partición mD2(x,y) 334 que determina qué punto del bloque de textura codificado p(x,y) pertenece a qué partición (P1, P2 o P3). En el presente ejemplo, en una primera iteración, el bloque de textura se divide en dos particiones P1 y P2 | P3 mediante el uso de un valor promedio simple para determinar el umbral. Dado que las diferencias en los valores de profundidad o disparidad en las subparticiones resultantes no son lo suficientemente pequeñas, el proceso de partición se continúa. En una segunda iteración, la partición más grande (P2 | P3) se selecciona para dividirse más. Como resultado de la umbralización con un simple valor promedio, la partición se divide en dos particiones P2 y P3. Ahora, las diferencias en los valores de profundidad/disparidad en las subparticiones resultantes son lo suficientemente pequeñas y, por consiguiente, el proceso de partición se finaliza.
Las realizaciones adicionales del método comprenden: añadir un indicador de modo de codificación a un tren de bits que comprende información de codificación de las particiones codificadas de las múltiples particiones del bloque de textura, en donde el indicador de modo de codificación indica si la partición del bloque de textura se ha llevado a cabo usando una máscara de partición derivada según la información de profundidad asociada al bloque de textura y/o en donde el indicador de modo de codificación indica si se ha usado un modo de partición específico de múltiples modos de partición diferentes mediante el uso de una máscara de partición derivada según la información de profundidad asociada al bloque de textura.
10
15
20
25
30
35
40
45
50
En otras realizaciones, el método además comprende: codificar y descodificar información de profundidad asociada al bloque de textura para obtener la información de profundidad usada para determinar la máscara de partición.
En las realizaciones de la invención, la información de profundidad asociada al bloque de textura puede ser información de profundidad comprendida en un bloque de información de profundidad asociado al bloque de textura. En las realizaciones de la invención, el bloque de información de profundidad puede ser un bloque de profundidad que comprende valores de profundidad como información de profundidad o un bloque de disparidad que comprende valores de disparidad como información de profundidad. En las realizaciones de la invención, la información de profundidad asociada al bloque de textura se asocia a la misma área de la imagen, la misma vista y/o el mismo instante temporal que el bloque de textura. En las realizaciones de la invención, la información de profundidad puede comprender valores de profundidad de un mapa de profundidad o valores de disparidad de un mapa de disparidad. En las realizaciones de la invención, el punto o elemento de bloque de textura pueden ser un elemento de imagen o cualquier otro elemento espacialmente más grande o más pequeño que define una resolución espacial del bloque de textura.
Las realizaciones adicionales de la invención pueden adaptarse para usar solamente la información de profundidad asociada al bloque de textura y/o ninguna información de textura asociada al bloque de textura para determinar la máscara de partición y/o para particionar el bloque de textura.
La Figura 5 muestra un diagrama de bloques de una realización de un aparato de codificación 500 que comprende un particionador 510 y un codificador 520.
El particionador 510 se adapta para determinar una máscara de partición 332 para el bloque de textura 312 según la información de profundidad 322 asociada al bloque de textura, en donde la máscara de partición 332 se adapta para definir múltiples particiones P1, P2 y para asociar un elemento de bloque de textura del bloque de textura a una partición de las múltiples particiones del bloque de textura.
El codificador 520 se adapta para codificar las particiones de las múltiples particiones del bloque de textura codificado según la máscara de partición para obtener un bloque de textura codificado 312'.
Las realizaciones del particionador 510 pueden adaptarse para llevar a cabo cualquiera de las etapas del método relacionadas con la determinación de la máscara de partición según la información de profundidad y la división del bloque de textura en múltiples particiones, según se describe en la presente memoria, p.ej. según las Figuras 2 y 4 con respecto a la etapa del método correspondiente de determinación 210 de la máscara de partición para el bloque de textura o con respecto a las Figuras 8, 10 y 11.
El codificador 520 se adapta para llevar a cabo cualquiera de las realizaciones de la etapa de codificación 220 del bloque de textura según se describe en la presente memoria, p.ej. según las Figuras 1 a 4 o con respecto a las Figuras 8, 10 y 11.
La Figura 6 muestra un diagrama de bloques de una realización de un método de descodificación 600 para descodificar un bloque de textura codificado de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad, el método de descodificación de partición de bloque basado en la profundidad comprende lo siguiente.
Determinar 210 una máscara de partición 332 para el bloque de textura codificado 312' según la información de profundidad 322 asociada al bloque de textura codificado 312', en donde la máscara de partición 332 se adapta para asociar un elemento de bloque de textura del bloque de textura codificado 312' a una partición de las múltiples particiones P1, P2 del bloque de textura codificado.
Descodificar 720 según la máscara de partición 332 las particiones de las múltiples particiones del bloque de textura codificado 312' para obtener un bloque de textura descodificado 312''.
Para la etapa de descodificación 620, métodos de descodificación convencionales y métodos de descodificación especialmente diseñados para la partición de bloque basada en la profundidad pueden usarse para descodificar el bloque codificado.
La Figura 7 muestra un diagrama de bloques de una realización de un aparato de descodificación para descodificar un bloque de textura codificado de una imagen de textura mediante el uso de la partición de bloque basada en la profundidad, el aparato de descodificación 700 comprende un particionador 510 y un descodificador 720.
El particionador 510 se adapta para determinar una máscara de partición 332 para el bloque de textura codificado 312' según la información de profundidad asociada al bloque de textura codificado 312', en donde la máscara de partición 332 se adapta para asociar un elemento de bloque de textura del bloque de textura codificado a una partición de las múltiples particiones P1, P2 del bloque de textura codificado.
10
15
20
25
30
35
40
45
50
El descodificador 720, al que también puede hacerse referencia como descodificador de textura 720, se adapta para descodificar, según la máscara de partición 332, las particiones de las múltiples particiones del bloque de textura codificado 312' para obtener el bloque de textura descodificado 312''.
El particionador 510 se adapta para llevar a cabo cualquiera de las etapas o funcionalidades relacionadas con la partición 210 según se describe en la presente memoria, p.ej. según las Figuras 2, 4, 8, 10 y 11. En particular, las realizaciones del particionador 510 del aparato de descodificación 700 pueden tener la misma funcionalidad que el particionador 510 del aparato de codificación 500 descrito según la Figura 5.
El descodificador 720 se adapta para llevar a cabo cualquiera de las etapas o funcionalidades relacionadas con la etapa de descodificación 220 según se describe en la presente memoria, p.ej. según la Figura 6, 8, 10 u 11. Dado que el descodificador es la contraparte del codificador 520, el descodificador 720 se adapta para llevar a cabo la codificación inversa a la codificación llevada a cabo por el codificador 520 para reconstruir el bloque de textura del bloque de textura codificado.
La Figura 8 muestra un diagrama de bloques de un sistema 800 que comprende un aparato de codificación 500 y un aparato de descodificación 700.
En comparación con el aparato de codificación 500 que se muestra en la Figura 5, la realización del aparato de codificación en la Figura 8 comprende además un codificador de profundidad 810, un descodificador de profundidad 820 y un multiplexor 830. En comparación con el aparato de descodificación 700 que se muestra en la Figura 7, la realización del aparato de descodificación 700 en la Figura 8 comprende además un demultiplexor 860 y un descodificador de profundidad 820.
Con referencia al aparato de codificación 500, el codificador de profundidad 810 se adapta para recibir la información de profundidad, p.ej. en forma de un mapa de profundidad 320 y/o los correspondientes bloques de información de profundidad 322, y para codificar la información de profundidad para obtener la información de profundidad codificada, p.ej. un mapa de profundidad codificado 320' y/o los correspondientes bloques de información de profundidad codificados 322', al multiplexor 830 y descodificador de profundidad 820. El descodificador de profundidad 820 se adapta para llevar a cabo en la información de profundidad codificada la descodificación correspondiente a la codificación llevada a cabo por el codificador de profundidad 810 para obtener una información de profundidad descodificada, p.ej. un mapa de profundidad descodificado 320'' y/o un bloque de información de profundidad descodificado 322''. El particionador 510 se adapta para recibir la información de profundidad descodificada, p.ej. mapa de profundidad descodificado 322'' y/o el bloque de información de profundidad descodificado 322'', y para determinar la máscara de partición 332 según la información de profundidad descodificada asociada al bloque de textura 312 que se codificará.
De manera alternativa, el particionador 510 puede adaptarse para recibir la información de profundidad original (es preciso ver la flecha en línea discontinua en la Figura 8) asociada al bloque de textura, p.ej. el mapa de profundidad original 320 y/o el bloque de información de profundidad correspondiente original 322, o cualquier otra versión procesada de la información de profundidad asociada al bloque de textura, y para usar la información de profundidad original asociada al bloque de textura que se codificará en lugar de la información de profundidad descodificada.
El uso de la información de profundidad descodificada 322'', que corresponde a la información de profundidad 322'' disponible en el lado de descodificador para la partición, modela la situación en el aparato de descodificación 700 de manera más exacta y, por consiguiente, permite, por ejemplo, calcular el residuo que corresponde al residuo en el lado de descodificador y mejorar la eficacia de la codificación.
El multiplexor 830 se adapta para recibir la información de profundidad codificada y la información de textura codificada, p.ej. el bloque de textura codificado 312', y para multiplexar esta e información potencialmente adicional en un tren de bits 890, el cual se transmite al aparato de descodificación 700. De manera alternativa, el tren de bits puede almacenarse en un medio de almacenamiento.
Con referencia al aparato de descodificación 700, el demultiplexor 860 se adapta para extraer la información de profundidad 322', p.ej. el mapa de profundidad codificado y/o los bloques de información de profundidad codificados 322', y el bloque de textura codificado 312' del tren de bits 890 y pasar la información de profundidad codificada 322' al descodificador de profundidad 820. El descodificador de profundidad 820 se adapta para descodificar la información de profundidad codificada 322' para obtener una información de profundidad descodificada 322'', p.ej. el mapa de profundidad descodificado y/o bloque de profundidad descodificado, que puede producirse para un procesamiento adicional, y que también se reenvía al particionador 510 para determinar la máscara de partición 332. El descodificador de textura 720 recibe el bloque de textura codificado y descodifica, según la máscara de partición 332 recibida del particionador 510, el bloque de textura codificado para obtener un bloque de textura descodificado 312''.
imagen13
imagen14
10
15
20
25
30
35
40
45
50
Las realizaciones pueden adaptarse para determinar particiones en primer plano y segundo plano mediante el uso de valores de profundidad o disparidad que representan cada partición DBBP. El valor de profundidad o disparidad que representa cada partición DBBP se usa para determinar qué partición está más cerca o más lejos de la cámara.
Las realizaciones pueden adaptarse para determinar áreas de disoclusión basadas en áreas de imagen en primer plano y segundo plano calculadas según valores de profundidad o disparidad que representan cada partición DBBP. Las particiones en primer plano y segundo plano determinadas según el valor de profundidad o disparidad que representa cada partición DBBP se usan para determinar áreas de disoclusión en la imagen.
Las realizaciones pueden adaptarse para mejorar la eficacia de codificación mediante el uso de valores de profundidad o disparidad calculados según DBBP para la predicción de disparidad compensada. El valor de la profundidad o disparidad que representa cada partición DBBP se usa como la predicción de vector de disparidad usada para la predicción de disparidad compensada.
Las realizaciones pueden adaptarse para mejorar la eficacia de codificación mediante el uso de valores de profundidad o disparidad calculados según DBBP para la selección QP (Parámetro de Cuantización) o QD (Parámetro de Cuantización para Profundidad) adaptativa según una distancia de la cámara. El valor de profundidad
o disparidad que representa cada partición DBBP se usa para seleccionar el parámetro de cuantización QP o QD para cada partición según la distancia de la cámara (cuanto mayor es la distancia de la cámara, se selecciona el valor QP o QD más alto).
Las realizaciones de la invención también proveen soluciones para minimizar la complejidad de la codificación de vídeo cuando se utiliza DBBP, como se explicará a continuación.
Las realizaciones pueden adaptarse para calcular y almacenar señales de predicción intra-pronosticadas, de movimiento o disparidad compensada y de residuo para cada partición en bloques con forma regular (rectangular). Para calcular y almacenar las señales de predicción mencionadas más arriba en la memoria, los bloques con forma regular (rectangular) se usan para cada partición, sin embargo, solo los píxeles que pertenecen a la partición respectiva son válidos en cada bloque. Ello guarda el número de llamadas individuales en la memoria y permite evitar llamadas a nivel de píxel a la memoria porque todo el bloque regular de memoria se copia, lee y/o almacena. Como resultado, se provee un acceso regular a la memoria.
Las realizaciones pueden adaptarse para calcular la partición DBBP basada en la información de profundidad dispersa -la partición se calcula mediante el uso de una representación dispersa de la información de profundidad, a saber a nivel de no píxel (p.ej. mapa de disparidad o profundidad de muestreo descendente). De esta manera, el número de puntos de profundidad o disparidad que se analizarán y procesarán se reduce, sin embargo, la exactitud de la partición es ligeramente más baja.
Las realizaciones pueden adaptarse para calcular la partición DBBP según la información de profundidad densa, p.ej. a nivel de píxel, y el muestro descendente de la resolución de la máscara de partición a una rejilla de 2x2, 4x4, 8x8, 16x16, etc. De esta manera, la resolución de estructuras de datos que almacenan toda la información de codificación que describe las particiones codificadas puede reducirse, y así ahorrar la cantidad de memoria y el número de funciones de lectura/escritura de memoria.
Las realizaciones pueden adaptarse para reducir la complejidad de la codificación de vídeo con DBBP aplicada mediante el apagado de los filtros en bucle. La complejidad del proceso de codificación de vídeo puede reducirse apagando los filtros en bucle, p.ej. desbloqueando los filtros ALF o SAO para los bloques que contienen particiones DBBP. Como resultado, la complejidad de la codificación de vídeo es menor con solo una pequeña reducción del rendimiento de la codificación, a saber relación velocidad-distorsión.
Las realizaciones de la invención proveen un método, al cual puede hacerse referencia como partición de bloque basada en la profundidad (DBBP). En las realizaciones, la partición del bloque de textura puede llevarse a cabo usando solamente información de profundidad y ninguna información de textura, p.ej. solo la información de profundidad relacionada con el bloque de textura pero ninguna información de textura del bloque de textura.
Las realizaciones alternativas pueden combinar la partición de bloque basada en la profundidad con otros métodos de partición, p.ej. según información de textura áspera para mantener la complejidad baja. Sin embargo, el uso de solamente la información de profundidad en forma de una máscara de partición provee una complejidad simple y baja aunque una manera eficaz para particionar un bloque de textura.
De esta manera, la información de profundidad que se encuentra disponible en el descodificador puede reusarse para mejorar la compresión sin necesidad de enviar información adicional sobre la forma de las particiones en el tren de bits.
Resumiendo lo de más arriba, las realizaciones de la invención proveen una solución de codificación para codificar un bloque de textura mediante el uso de al menos dos particiones de forma arbitraria, la cual se determina según la
imagen15

Claims (1)

  1. imagen1
    imagen2
    imagen3
ES13742419.8T 2013-07-19 2013-07-19 Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad Active ES2652132T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/065360 WO2015007348A1 (en) 2013-07-19 2013-07-19 Method and apparatus for encoding and decoding a texture block using depth based block partitioning

Publications (1)

Publication Number Publication Date
ES2652132T3 true ES2652132T3 (es) 2018-01-31

Family

ID=48900957

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13742419.8T Active ES2652132T3 (es) 2013-07-19 2013-07-19 Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad

Country Status (8)

Country Link
US (2) US10616584B2 (es)
EP (2) EP3324631B1 (es)
JP (1) JP6250805B2 (es)
KR (2) KR101891637B1 (es)
CN (1) CN105393541B (es)
ES (1) ES2652132T3 (es)
PT (1) PT3022908T (es)
WO (1) WO2015007348A1 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6250805B2 (ja) 2013-07-19 2017-12-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 深度ベース・ブロック・パーティショニングを使用して、テクスチャブロックを符号化および復号するための方法ならびに装置
KR20150012206A (ko) 2013-07-24 2015-02-03 한국전자통신연구원 3차원 콘텐츠의 부호화 방법 및 장치
WO2015123806A1 (en) * 2014-02-18 2015-08-27 Mediatek Singapore Pte. Ltd. Methods for depth based block partitioning
WO2015135175A1 (en) * 2014-03-13 2015-09-17 Mediatek Singapore Pte. Ltd. Simplified depth based block partitioning method
US9838712B2 (en) * 2014-03-17 2017-12-05 Hfi Innovation Inc. Method of signaling for depth-based block partitioning
WO2016074745A1 (en) * 2014-11-14 2016-05-19 Huawei Technologies Co., Ltd. Systems and methods for processing a block of a digital image
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
JP6443869B2 (ja) * 2014-11-14 2018-12-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像を処理するためのシステムおよび方法
CN116347073A (zh) * 2016-03-30 2023-06-27 韩国电子通信研究院 使用画面划分信息对视频进行编码和解码的方法和设备
CN109565592B (zh) 2016-06-24 2020-11-17 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
CN109565595B (zh) 2016-06-24 2021-06-22 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
CN106210722B (zh) * 2016-07-08 2019-06-25 上海大学 基于hevc的分层深度视频残差层数据的编码方法
EP3349182A1 (en) * 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10776992B2 (en) * 2017-07-05 2020-09-15 Qualcomm Incorporated Asynchronous time warp with depth data
WO2019013430A1 (en) * 2017-07-10 2019-01-17 Samsung Electronics Co., Ltd. COMPRESSION OF MAILLAGES AND POINT CLOUDS USING IMAGE / VIDEO CODECS
WO2020050577A1 (ko) * 2018-09-07 2020-03-12 엘지전자 주식회사 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
CN110889851B (zh) 2018-09-11 2023-08-01 苹果公司 针对深度和视差估计的语义分割的稳健用途
KR20210069647A (ko) * 2018-10-05 2021-06-11 인터디지털 브이씨 홀딩스 인코포레이티드 3d 포인트들을 인코딩/재구성하기 위한 방법 및 디바이스
US11216984B2 (en) 2019-01-09 2022-01-04 Samsung Electronics Co., Ltd. Patch splitting for improving video-based point cloud compression performance
EP3703378A1 (en) * 2019-03-01 2020-09-02 Koninklijke Philips N.V. Apparatus and method of generating an image signal
KR20230058712A (ko) * 2020-09-03 2023-05-03 삼성전자주식회사 통신 시스템에서 컨텐츠와 디바이스들의 성능 차이 완화를 위한 방법 및 장치
CN113329228B (zh) * 2021-05-27 2024-04-26 杭州网易智企科技有限公司 视频编码方法、解码方法、装置、电子设备及存储介质
WO2023118259A1 (en) * 2021-12-21 2023-06-29 Interdigital Vc Holdings France, Sas Video block partitioning based on depth or motion information
US20230281876A1 (en) * 2022-03-04 2023-09-07 Tencent America LLC Mesh compression with constrained geometry dynamic range

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3886184B2 (ja) * 1996-09-20 2007-02-28 株式会社ソニー・コンピュータエンタテインメント 画像データの処理方法および画像処理装置
US6381364B1 (en) * 1996-12-31 2002-04-30 Intel Corporation Content texture sensitive picture/video encoder/decoder
EP2238764A4 (en) * 2008-01-25 2015-04-22 Hewlett Packard Co CODE MODE SELECTION FOR BLOCK-BASED CODING
US9417700B2 (en) * 2009-05-21 2016-08-16 Edge3 Technologies Gesture recognition systems and related methods
CN102055982B (zh) * 2011-01-13 2012-06-27 浙江大学 三维视频编解码方法及装置
CA2833032C (en) * 2011-06-15 2016-08-30 Mediatek Inc. Method and apparatus of texture image compression in 3d video coding
US9485503B2 (en) * 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
JP6067737B2 (ja) * 2011-11-29 2017-01-25 トムソン ライセンシングThomson Licensing ビデオ品質測定のための方法、装置、コンピュータプログラム、及び記憶媒体
US20130287093A1 (en) 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
CN104813669B (zh) * 2012-09-21 2018-05-22 诺基亚技术有限公司 用于视频编码的方法和装置
JP6250805B2 (ja) 2013-07-19 2017-12-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 深度ベース・ブロック・パーティショニングを使用して、テクスチャブロックを符号化および復号するための方法ならびに装置

Also Published As

Publication number Publication date
KR20170082658A (ko) 2017-07-14
US10616584B2 (en) 2020-04-07
KR20160034362A (ko) 2016-03-29
US20160134874A1 (en) 2016-05-12
KR101756301B1 (ko) 2017-07-10
US11234002B2 (en) 2022-01-25
EP3324631A1 (en) 2018-05-23
KR101891637B1 (ko) 2018-08-24
CN105393541B (zh) 2018-10-12
WO2015007348A1 (en) 2015-01-22
JP2016529785A (ja) 2016-09-23
EP3022908B1 (en) 2017-11-01
JP6250805B2 (ja) 2017-12-20
EP3324631B1 (en) 2021-09-08
CN105393541A (zh) 2016-03-09
PT3022908T (pt) 2017-12-26
EP3022908A1 (en) 2016-05-25
US20200288138A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
ES2652132T3 (es) Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad
ES2841312T3 (es) Predicción de vectores de movimiento para modelos de movimiento afines en codificación de vídeo
ES2698515T3 (es) Predictor para la intra-codificación de mapas de profundidad
ES2732013T3 (es) Predicción de vector de movimiento temporal basada en subunidad de predicción (PU) en la HEVC y diseño de sub-PU en la 3d-hevc
ES2755573T3 (es) Predicción de vector de movimiento temporal avanzada basada en unidades de subpredicción
KR101844705B1 (ko) 스테레오 비디오에 대한 심도 인지 강화
ES2753958T3 (es) Predicción de vector de movimiento temporal basada en subunidad de predicción (PU) en la HEVC y diseño de sub-PU en la 3D-HEVC
ES2633150T3 (es) Predicción de vectores de movimiento en codificación de vídeo
ES2686936T3 (es) Códec 3DVC basado en MVC que soporta el modo de predicción de movimiento de visualización interna (IVMP)
ES2656494T3 (es) Filtro intra-suavizante para codificación de vídeo
US10536718B2 (en) Method and device for encoding and decoding a light field based image, and corresponding computer program product
CN111527752B (zh) 图像编码和解码的方法和装置以及存储比特流的记录介质
WO2015176678A1 (en) Method of intra block copy with flipping for image and video coding
WO2015139605A1 (en) Method for low-latency illumination compensation process and depth lookup table based coding
BR112014009431B1 (pt) Método para codificar dados de vídeo, aparelho para codificar vídeo e memória legível por computador
BR112021004124A2 (pt) método de decodificação de vídeo e decodificador de vídeo
Zhang et al. Fast depth map mode decision based on depth–texture correlation and edge classification for 3D-HEVC
CN105872556B (zh) 视频编码方法和装置
US20150264399A1 (en) Method of signaling for depth-based block partitioning
ES2965083T3 (es) Terminación temprana para el refinamiento de flujo óptico
CN113498607B (zh) 视频编码方法、解码方法、装置和可读介质
US9716884B2 (en) Method of signaling for mode selection in 3D and multi-view video coding
ES2966509T3 (es) Método y dispositivo de partición de imagen
BR112021011307A2 (pt) Método e aparelho de predição inter, fluxo de bits e mídia de armazenamento não transitória
JPWO2015098827A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラム