ES2799577T3 - Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo - Google Patents

Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo Download PDF

Info

Publication number
ES2799577T3
ES2799577T3 ES14718639T ES14718639T ES2799577T3 ES 2799577 T3 ES2799577 T3 ES 2799577T3 ES 14718639 T ES14718639 T ES 14718639T ES 14718639 T ES14718639 T ES 14718639T ES 2799577 T3 ES2799577 T3 ES 2799577T3
Authority
ES
Spain
Prior art keywords
disparity
list
vectors
vector
derivation
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
ES14718639T
Other languages
English (en)
Inventor
Elie Gabriel Mora
Joël Jung
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.)
Orange SA
Original Assignee
Orange SA
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 Orange SA filed Critical Orange SA
Application granted granted Critical
Publication of ES2799577T3 publication Critical patent/ES2799577T3/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/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/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • 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/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Procedimiento de decodificación de una imagen actual (lk) que comprende al menos dos vistas que son respectivamente representativas de una misma escena, comprendiendo dicho procedimiento de decodificación una etapa (D3) de derivación de un vector de movimiento de disparidad, llamado 5 vector de movimiento de disparidad final, estando dicho procedimiento de decodificación caracterizado por que, en el transcurso de dicha etapa de derivación, comprende las etapas que consisten en: - construir (S1) una pluralidad de listas (L1, L2) de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista en la que se han obtenido al menos dos vectores de movimiento de disparidad respectivamente según dos métodos de estimación diferentes, - aplicar (S3) una función a los vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista, - aplicar una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final, en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.

Description

DESCRIPCIÓN
Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo
Campo de la invención
La presente invención se refiere de manera general al campo del tratamiento de imágenes en tres dimensiones (3D) y más precisamente a la codificación y a la decodificación de imágenes digitales 3D y de secuencias de imágenes digitales 3D. Se refiere en particular, pero no exclusivamente, a unas aplicaciones de vídeo en 3D que implementan una codificación/decodificación de imágenes procedentes de diferentes cámaras.
La invención puede principalmente, pero no exclusivamente, aplicarse a la codificación de vídeo implementada en los codificadores de vídeo actuales AVC y HEVC y sus extensiones (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.) y a la decodificación correspondiente.
Antecedentes de la invención
Puede obtenerse una representación de vídeo en 3D por multiplexado de dos vistas de una misma escena (formato estéreo), registradas por dos cámaras diferentes de un único dispositivo estereoscópico.
Se utilizan generalmente dos tipos de codificación MFC y MVC (por " Multiview Frame-compatible Coding" y "Multiview Video Coding" en inglés) para codificar imágenes compuestas por dos vistas que aprovechan redundancias existentes entre las dos vistas.
Aunque el formato de codificación estéreo domina el mercado actualmente, el desarrollo de nuevos servicios de vídeo en 3D tales como 3DTV o FTV necesita una representación más fluida de escenas tridimensionales, lo que puede obtenerse multiplexando simultáneamente más de dos vistas en un dispositivo 3D. Con este fin, pueden obtenerse al menos tres imágenes de diferentes puntos de vista, codificarse y posteriormente transmitirse según el formato MW (por "MultiView Video" en inglés) y puede utilizarse la codificación MVC para codificar estas imágenes. Sin embargo, el coste asociado a la codificación MVC es elevado, particularmente cuando número de puntos de vista es grande.
Un nuevo formato de codificación de vídeo, llamado MVD (por "Multiview Video Depth" en inglés), es el objeto de desarrollos actuales. Según este formato, se utilizan unas cámaras de profundidad además de cámaras de textura. Cada componente de textura de una imagen dada se asocia a una componente de profundidad de esta imagen. Tras la codificación y posteriormente transmisión, los componentes de textura y de profundidad reconstruidos pueden transmitirse a un sintetizador que genera un número requerido de vistas intermedias. La ventaja de las componentes de profundidad es que están compuestas únicamente de un canal de luminancia y están compuestas principalmente de zonas lisas separadas por bordes. De este modo, son menos costosas de codificar que las componentes de textura. Además, pueden aprovecharse unas correlaciones entre dos componentes de textura o entre dos componentes de profundidad, así como unas correlaciones entre una componente de textura y una componente de profundidad según el formato MVD, por ejemplo por medio de un códec 3DVC (por "3D Video Coding" en inglés), con el fin de mejorar la eficacia de codificación.
Por otra parte, unos estándares prevén una predicción de informaciones de codificación para un bloque actual, en función de informaciones de codificación de los bloques codificados y posteriormente decodificados, siempre con el objetivo de mejorar la eficacia de la codificación.
Un tipo de informaciones de codificación es por ejemplo un vector de movimiento temporal ("Temporal Motion Vector" en inglés) que describe el movimiento de una vista en el instante actual con relación a esta misma vista en un instante anterior.
El modo AMVP (por "Advanced Motion Vector Prediction" en inglés) introduce una lista de vectores de movimiento temporales candidatos para predecir el vector de movimiento temporal del bloque actual de una vista actual. Solo se transmite al decodificador la diferencia (residuo) entre el vector de movimiento del bloque actual y el mejor vector de movimiento temporal candidato de la lista en el sentido de un criterio de velocidad-distorsión y un índice que señala este mejor vector candidato, reduciendo de ese modo el coste de transmisión de las informaciones vinculadas al vector de movimiento temporal del bloque actual.
El modo MERGE evita predecir una información de codificación de un bloque actual, tal como por ejemplo un vector de movimiento temporal. El modo MERGE permite en efecto al bloque actual de una vista actual heredar directamente de un vector de movimiento temporal elegido en una lista de vectores de movimiento temporal candidatos que puede comprender vectores de movimiento temporales asociados respectivamente a bloques contiguos al bloque actual, habiendo sido ya codificados y posteriormente decodificados dichos bloques contiguos, o bien asociados respectivamente a unos bloques correspondientes al bloque actual y contenidos en unas tramas anteriormente codificadas y posteriormente decodificadas. Dichos bloques correspondientes al bloque actual se llaman también bloques co-localizados ("collocated" en inglés) en el estado de la técnica. El vector de movimiento temporal del bloque
actual así elegido por herencia en la lista de vectores candidatos no necesita entonces ser codificado en la medida en que puede aplicarse el mismo principio durante la decodificación.
En la norma 3D-HEVC (por "3D-High Efficiency Video Coding" en inglés) en curso de elaboración, se proponen técnicas que emplean a la vez la predicción y la herencia.
La norma 3D-HEVC permite en particular añadir en la lista de vectores de movimiento temporales candidatos del modo
AMVP o del modo MERGE otros tipos de vectores de movimiento tales como:
- un vector de movimiento temporal calculado a partir de un vector de movimiento de disparidad ("Disparity Motion Vector" en inglés), siendo designado dicho vector de movimiento candidato por "candidato multivista";
- un vector de movimiento de disparidad.
De forma conocida de por sí, un vector de movimiento de disparidad es un vector de movimiento utilizado en el marco
de una predicción inter-vistas ("Interview Prediction" en inglés). Se trata de un vector de movimiento que describe el movimiento entre el bloque actual de una vista dependiente actual y un bloque correspondiente a este bloque actual en una vista de base anteriormente codificada y posteriormente decodificada, siendo representativa cada una de entre
la vista dependiente actual y la vista de base de una misma escena en un mismo instante.
Dicho vector de movimiento de disparidad puede utilizarse por otra parte en el marco de una predicción inter-vistas del residuo de un bloque actual en una vista actual ("Interview Residual Prediction" en inglés). Según esta predicción, se procede a una búsqueda, en una vista de base anteriormente codificada y posteriormente decodificada, de un bloque que corresponde al bloque actual de la vista dependiente actual y que es apuntado por el vector de movimiento
de disparidad del bloque actual. Se procede entonces al cálculo del residuo desde el bloque correspondiente para predecir el residuo del bloque actual.
Existen diferentes métodos de derivación de vectores de movimiento de disparidad que pueden utilizarse en la norma
futura 3D-HEVC.
Un primer método llamado DMDV (abreviatura inglesa de "Depth Map Disparity Vector") consiste en estimar una carta
de profundidad para cada vista dependiente, y posteriormente en elegir el vector de movimiento de disparidad que corresponde al valor máximo de profundidad en el bloque co-localizado en la carta de profundidad estimada. El inconveniente de este primer método es que es costoso en cálculos y en memoria.
Un segundo método llamado NBDV (abreviatura inglesa de "Neighbour Disparity Vector") consiste en considerar, para
un bloque actual a codificar de una vista actual, cinco bloques espaciales, contiguos al bloque actual en la vista actual y dos bloques temporales, contiguos al bloque actual en dos tramas de referencia anteriormente codificadas y posteriormente decodificadas. Los cinco bloques contiguos son un bloque A0 situado directamente por debajo a la izquierda del bloque actual, un bloque A1 situado directamente por encima del bloque A0 y situado abajo a la izquierda
del bloque actual, un bloque B0 situado directamente por encima y a la derecha del bloque actual, un bloque B1 contiguo
al bloque B0 y situado directamente por encima del bloque actual y un bloque B2 situado directamente por encima del bloque actual. Los dos bloques temporales son un bloque CENTEr situado en el centro del bloque correspondiente
al bloque actual y un bloque RB situado directamente por debajo y a la derecha del bloque correspondiente al bloque
actual. El procedimiento de derivación del vector de movimiento de disparidad según este segundo método consiste
en verificar si uno de los bloques A0 , A1, B0 , B1, B2 , CENTER1 (primera trama de referencia), CENTER2 (segunda trama
de referencia), RB1 (primera trama de referencia) y RB2 (segunda camada referencia) está asociado a un vector de movimiento de disparidad. Una verificación de ese tipo se efectúa en el orden particular siguiente: CENTER1, RB1 , CENTER2 , RB2 , A1, B1, B0 , A0 , B2 para la primera vista dependiente y RB1, CENTER1, RB2 , B2 para la segunda vista dependiente. A partir del primer vector de disparidad encontrado para uno de estos bloques en el orden de verificación antes mencionado, se selecciona como el vector de movimiento de disparidad derivado
final. Se detiene entonces la verificación, incluso si quedan aún bloques por verificar.
Puede llegarse que al final de la verificación, no se encuentre ningún vector de movimiento de disparidad. En este
caso, para un bloque considerado entre los bloques A0 , A1, B0 , B1, B2 y que se ha codificado con ayuda de una predicción de movimiento según el modo AMVP o MERGE, el vector de movimiento temporal asociado a este bloque
ha podido implicar la derivación de un vector de movimiento de disparidad si el candidato multivista se ha elegido para codificar este bloque, como se ha explicado más arriba en la introducción. El procedimiento de derivación del vector de movimiento de disparidad según el segundo método consiste entonces en verificar si uno de los bloques espaciales
A0 , A1, B0 , B1, B2 está asociado a un vector de movimiento temporal calculado a partir de un vector de movimiento de disparidad. Una verificación de ese tipo se efectúa en el orden particular siguiente: A0 , A1, B0 , B1, B2. A partir de un vector de movimiento temporal calculado a partir de un vector de movimiento de disparidad se encuentre asociado
con uno de los bloques en el orden de verificación antes mencionado, el vector de movimiento de disparidad utilizado
para derivar este vector de movimiento temporal se selecciona como el vector de movimiento de disparidad derivado
final.
El inconveniente de este segundo método de derivación es que el primer vector de movimiento de disparidad que, según el caso, se encuentra o lee, no puede ser el que optimizará la eficacia de la codificación o de la decodificación del bloque actual.
Puede utilizarse un tercer método de derivación en el caso en el que una vista actual tiene un formato del tipo MVD y su componente de profundidad se ha codificado antes que su componente de textura, con ayuda de una herramienta llamada FCO (abreviatura inglesa de "Flexible Coding Order"). Con este fin, para derivar el vector de movimiento de disparidad de un bloque actual de una componente de textura de una vista actual, se procede a las siguientes etapas:
- determinación del bloque co-localizado en profundidad en la componente de profundidad codificada y posteriormente decodificada que está asociado a la componente de textura actual,
- determinación de un vector de movimiento de disparidad que corresponde al valor máximo de profundidad en el bloque co-localizado en profundidad en la componente de profundidad,
- selección del vector de movimiento de disparidad determinado en tanto que vector de movimiento de disparidad final.
El inconveniente de un método de derivación de ese tipo es que está limitado a unas vistas que contienen necesariamente componentes de textura y de profundidad. Además, no tiene en cuenta otros tipos de vectores de movimiento de disparidad, tales como por ejemplo vectores de movimiento de disparidad utilizados para derivar vectores de movimiento temporales.
Un cuarto método de derivación consiste en refinar el vector de movimiento de disparidad final que se ha obtenido con ayuda del segundo método NBDV antes mencionado. Este método se denomina DoNBDV (abreviatura inglesa de "Depth Oriented Neighbour Disparity Vector"). Dicho método se utiliza en el caso en el que una vista actual tiene un formato del tipo MVD y su componente de textura se ha codificado antes que su componente de profundidad. El vector de movimiento de disparidad final se utiliza entonces para determinar un bloque de profundidad en la vista de base anteriormente codificada y posteriormente decodificada, correspondiente al bloque actual de textura en la vista actual. El nuevo vector de movimiento de disparidad final DoNBDV es aquel que corresponde al valor máximo de profundidad en este bloque de profundidad determinada.
El inconveniente de un método de derivación de ese tipo es que está limitado a unas vistas que contienen necesariamente componentes de textura y de profundidad. Por otra parte, como se deduce del segundo método, hereda necesariamente inconvenientes propios de este último.
Un quinto método de derivación propuesto en el documento J. Kang, Y. Chen, L. Zhang y M. Karczewicz, "3D-CE2.h related: Enhanced disparity vector derivation", ITU-T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11 JCT3V- C0050 está dirigido a la mejora del segundo método de derivación antes citado. Con este fin, en el curso de la verificación de los bloques en el orden particular siguiente: CENTER1, RB1, CENTER2 , RB2 , A1, B1, Bo, A0 , B2 (primera vista dependiente) o RB1, CENTER1, RB2, CENTER2, A1, B1, B0, A0, B2 (segunda vista dependiente), están destinados a ser almacenados:
- como máximo tres vectores de movimiento de disparidad espaciales en una primera lista llamada SDVC (abreviatura inglesa de "Spatial Disparity Vector Candidates"),
- y como máximo tres vectores de movimiento de disparidad temporales en una segunda lista llamada TDVC (abreviatura inglesa de "Temporal Disparity Vector Candidates").
Pueden presentarse varios casos como resultado de la verificación.
En un primer caso, puede llegarse que al final de la verificación, no se encuentre ningún vector de movimiento de disparidad. En este caso, el vector de movimiento de disparidad final se obtiene de la misma manera que en el segundo método, seleccionando el primer vector de movimiento de disparidad utilizado para derivar un vector de movimiento temporal asociado a los bloques espaciales en el orden siguiente: A0 , A1, B0 , B1, B2.
En un segundo caso, se ha almacenado un único vector de movimiento de disparidad, tanto si se trata de un vector SDVC como de SDVC. Este único vector almacenado se selecciona entonces como vector de movimiento de disparidad final.
En un tercer caso, si únicamente se han almacenado dos vectores de movimiento de disparidad, es decir o bien dos vectores SDVC, o bien dos vectores TDVC, o bien un vector SDVC y un vector TDVC, el mayor de los dos vectores se selecciona como el vector de movimiento de disparidad final.
En un cuarto caso, si se han almacenado tres vectores de movimiento de disparidad o más, se aplica una función de mediana sobre los dos primeros vectores TDVC leídos en la memoria y sobre el primer vector SDVC leído en la memoria. Se selecciona entonces el vector resultante como el vector de movimiento de disparidad final. Si no hay suficientes vectores TDVC (respectivamente SDVC), se utiliza el primer vector SDVC (respectivamente TDVC) en la entrada de la función de mediana.
Aunque la selección del vector de movimiento de disparidad final se obtenga a partir de varios vectores de movimiento de disparidad contenidos en una o dos vistas, contrariamente al segundo método de derivación que no retiene más que un único vector de movimiento de disparidad, el inconveniente de este quinto método es que la primera lista de vectores SDVC, tanto como la segunda lista de vectores TDVC, no contiene más que vectores de movimiento de disparidad que se utilizan en el marco de una predicción inter-vistas. Dicho de otra manera, el procedimiento de derivación según el quinto método no se basa más que en una pluralidad de vectores de movimiento de disparidad homogéneos. Ninguna de la primera y segunda listas contiene vectores de disparidad de otro tipo, tales como por ejemplo aquellos a partir de los que se derivan vectores de movimiento temporales. La selección del vector de movimiento de disparidad según este quinto método no es por tanto óptima.
Objeto y sumario de la invención
Uno de los objetos de la invención es solucionar los inconvenientes del estado de la técnica antes citados.
Con este fin, un objeto de la presente invención se refiere a un procedimiento de derivación de un vector de movimiento de disparidad, llamado vector de movimiento de disparidad final.
Un procedimiento de derivación de ese tipo es notable porque comprende las etapas que consisten en:
- construir (S1) una pluralidad de listas (Li, L2) de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista en la que se han obtenido al menos dos vectores de movimiento de disparidad respectivamente según dos métodos de estimación diferentes,
- aplicar (S3) una función a los vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista,
- aplicar una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
Teniendo en cuenta la diversidad de los vectores de movimiento de disparidad contenidos en al menos una lista de vectores de disparidad, la selección del vector de disparidad final se hace mucho más fina que la efectuada en la técnica anterior que no propone más que un mismo tipo de vectores de disparidad por lista.
Una disposición de ese tipo se convierte en particularmente ventajosa en el caso en el que el vector de movimiento de disparidad está destinado a añadirse a un conjunto de vectores de movimiento susceptibles de ser seleccionados para predecir el movimiento de la imagen actual que tenga por ejemplo un formato de tipo MW o MVD, porque la predicción se hace más fiable y más precisa. De donde resultará una codificación y una decodificación de la imagen actual más eficaz.
Una disposición así se convierte en igualmente ventajosa en el caso en el que el vector de movimiento de disparidad procedente del procedimiento de derivación se utiliza para la predicción del residuo del bloque actual de una vista de una imagen multivistas, haciendo esta predicción igualmente más fiable y más precisa.
Dichas disposiciones permiten por otro lado aumentar la elección y la diversidad de los vectores de movimiento de disparidad proponiendo varias listas de vectores de movimiento de disparidad, para una obtención optimizada del vector de disparidad final. Entre estas diferentes listas, pueden coexistir varias listas en las que algunas contienen al menos dos vectores de movimiento de disparidad obtenidos respectivamente según dos métodos de estimación diferentes y algunas otras no contienen más que vectores de movimiento de disparidad obtenidos según el mismo método de estimación.
Según un modo de realización particular, se procede, previamente a la etapa de aplicación de una función, a una etapa que consiste en limitar, en al menos una lista, el número de vectores de movimiento de disparidad.
Dicha disposición tiene como ventaja economizar recursos de cálculo y de memoria en el codificador y en el decodificador.
Según una primera variante de este otro modo de realización particular, la etapa de eliminación antes citada consiste por ejemplo en limitar a Ki elementos como máximo el número de vectores en al menos una lista de vectores de movimiento de disparidad.
Según una segunda variante de este otro modo de realización particular, la etapa de limitación antes citada consiste en:
- verificar, en al menos una lista de vectores de movimiento de disparidad, si al menos dos vectores de movimiento de disparidad son redundantes con respecto a su amplitud y orientación,
- suprimir de la lista uno de los dos vectores, en caso de verificación positiva.
Una segunda variante así permite acelerar la obtención del vector de movimiento de disparidad final por supresión, en al menos una lista de vectores de movimiento de disparidad considerada, de los vectores de movimiento de disparidad cuya amplitud y orientación sean iguales o próximas, aplicándose entonces la función sobre un número reducido de vectores de disparidad.
Según una tercera variante de este otro modo de realización particular, la etapa de limitación se distingue de la de la segunda etapa por el hecho de que se aplica sobre al menos una lista de vectores de movimiento de disparidad que se ha reducido anteriormente en número de vectores a continuación de la implementación de la primera variante de la etapa de limitación.
Una tercera variante así permite acelerar anticipadamente la obtención del vector de movimiento de disparidad final, puesto que se aplica sobre al menos una lista de vectores de movimiento disparidad cuyo tamaño se ha reducido previamente.
La invención se refiere igualmente a un dispositivo de derivación de un vector de movimiento disparidad, que se destina a implementar el procedimiento de derivación antes citado.
Un dispositivo de derivación de ese tipo es notable porque comprende:
- unos medios (CTR) de construcción de una pluralidad de listas de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista que comprende al menos dos vectores de movimiento de disparidad obtenidos respectivamente según dos métodos de estimación diferentes,
- unos medios (APP) de aplicación de una función a los vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista,
- unos medios (APP) de aplicación de una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
La invención se refiere igualmente a un procedimiento de decodificación de una imagen actual que comprende al menos dos vistas que son respectivamente representativas de una misma escena, comprendiendo dicho procedimiento de decodificación una etapa de derivación de un vector de movimiento de disparidad.
Dicho procedimiento de decodificación es notable porque la etapa de derivación antes citada se efectúa de acuerdo con el procedimiento de derivación según la invención.
La invención se refiere igualmente a un dispositivo de decodificación de una imagen actual que comprende al menos dos vistas que son respectivamente representativas de una misma escena, estando adaptado dicho dispositivo para implementar el procedimiento de decodificación antes citado y comprendiendo unos medios de derivación de un vector de movimiento de disparidad.
Dicho dispositivo de decodificación es notable porque los medios de derivación antes citados están contenidos en un dispositivo de derivación según la invención.
La invención se refiere igualmente a un procedimiento de codificación de una imagen actual que comprende al menos dos vistas que son respectivamente representativas de la misma escena, comprendiendo dicho procedimiento de codificación una etapa de derivación de un vector de movimiento de disparidad.
Dicho procedimiento de codificación es notable porque la etapa de derivación antes citada se efectúa de acuerdo con el procedimiento de derivación según la invención.
La invención se refiere igualmente a un dispositivo de codificación de una imagen actual que comprende al menos dos vistas que son respectivamente representativas de la misma escena, estando adaptado dicho dispositivo para implementar el procedimiento de codificación antes citado y comprendiendo unos medios de derivación de un vector de movimiento de disparidad.
Dicho dispositivo de codificación es notable porque los medios de derivación antes citados están contenidos en un dispositivo de derivación según la invención.
La invención se refiere también a un programa informático que incluye instrucciones para implementar el procedimiento de derivación, el procedimiento de codificación o el procedimiento de decodificación según la invención, cuando se ejecuta en un ordenador.
Este programa puede utilizar no importa qué lenguaje de programación, y estar en la forma de código fuente, código objeto o de código intermedio entre código fuente y código objeto, tal como en una forma parcialmente compilada o en cualquier otra forma deseable.
La invención se dirige igualmente a un soporte de registro legible por un ordenador en el que está registrado un programa informático, incluyendo este programa instrucciones adaptadas para la implementación del procedimiento de codificación o de decodificación según la invención, tal como se ha descrito anteriormente.
El soporte de registro puede ser no importa qué entidad o dispositivo capaz de almacenar el programa. Por ejemplo, el soporte puede incluir un medio de almacenamiento, tal como una ROM, por ejemplo un CD-ROM o una ROM de circuito microelectrónico, o también un medio de registro magnético, por ejemplo una llave USB o un disco duro. Por otra parte, el soporte de registro puede ser un soporte transmisible tal como una señal eléctrica u óptica, que puede encaminarse mediante un cable eléctrico u óptico, por radio o por otros medios. El programa según la invención puede descargarse en particular desde una red de tipo Internet.
Alternativamente, el soporte de registro puede ser un circuito integrado en el que se incorpora el programa, estando adaptado el circuito para ejecutar o para ser utilizado en la ejecución del procedimiento de codificación o de decodificación antes citado.
El dispositivo de codificación y el programa de ordenador correspondiente antes citados presentan al menos las mismas ventajas que las conferidas por el procedimiento de codificación según la presente invención.
El dispositivo de derivación, el procedimiento de decodificación, el dispositivo de decodificación, el procedimiento de codificación, el dispositivo de codificación, el programa de ordenador y el soporte de registro correspondientes antes citados presentan al menos las mismas ventajas que las conferidas por el procedimiento de derivación según la presente invención.
Breve descripción de los dibujos
Surgirán otras características y ventajas con la lectura de modos de realización preferidos descritos con referencia a las figuras en las que:
- la figura 1 representa unas etapas del procedimiento de derivación según la invención,
- la figura 2 representa un modo de realización de un dispositivo de derivación según la invención,
- la figura 3 representa las etapas del procedimiento de codificación según la invención,
- la figura 4 representa un modo de realización de un dispositivo de codificación adecuado para implementar el procedimiento de codificación representado en la figura 3,
- la figura 5 representa un modo de realización de un dispositivo de decodificación según la invención,
- la figura 6 representa las etapas de decodificación adecuadas para ser implementadas en el dispositivo de decodificación representado en la figura 5.
Descripción detallada del procedimiento de derivación de la invención
Se describirá ahora un modo de realización de la invención, en el que el procedimiento de derivación de vector de movimiento de disparidad según la invención está destinado por ejemplo a implementarse en el caso de la codificación/decodificación de una imagen o de una secuencia de imágenes según un flujo binario próximo al que se obtiene mediante una codificación/decodificación de acuerdo por ejemplo con la norma en curso de elaboración 3D-HEVC.
Con este fin, la o las imágenes consideradas pueden estar por ejemplo en el formato MW o MVD.
En este modo de realización, el procedimiento de derivación según la invención se implementa por ejemplo mediante software o hardware por modificaciones de un dispositivo de derivación contenido en un codificador/decodificador inicialmente de acuerdo con la norma 3D-HEVC. El procedimiento de derivación según la invención se representa en la forma de un algoritmo que incluye unas etapas S1 a S3 tal como se representan en la figura 1.
Según el modo de realización de la invención, el procedimiento de derivación según la invención se implementa en un dispositivo de codificación DER representado en la figura 2.
Como se ilustra en la figura 2, un dispositivo de derivación de ese tipo comprende una memoria MEM_DER que comprende una memoria tampón MT_DER, una unidad de tratamiento UT_DER equipada por ejemplo con un microprocesador pP y dirigida por un programa informático PG_DER que implementa el procedimiento de derivación según la invención. En la inicialización, las instrucciones del código del programa informático PG_DER se cargan por ejemplo en una memoria RAM antes de ejecutarse por el procesador de la unidad de tratamiento UT_DER.
El procedimiento de derivación representado en la figura 1 se aplica a cualquier imagen actual de tipo MW o MVD de una secuencia SI te imágenes a codificar.
Con referencia a la figura 1, se procede, en el curso de una etapa S1, a la construcción de una pluralidad de listas de vectores de movimiento de disparidad Li, L2 ,..., Li,...Lm siendo 1<i<M. Dicha lista Li entre las m listas contiene al menos dos vectores de movimiento de disparidad DVa y DVb de diferente tipo, es decir que se han obtenido respectivamente según dos métodos de estimación diferentes.
Los vectores DVa y DVb pueden haberse obtenido por ejemplo como resultado de uno de los métodos de derivación siguientes que se han descrito en la introducción de la descripción:
- DMDV,
- DCP (abreviatura inglesa de "Disparity-Compensated Prediction"), ya sea después de la consideración de los bloques co-localizados temporales CENTERi, RBi, RB2 , CENTER2 , o ya sea después de la consideración de los bloques contiguos espaciales Ai, Bi, Bo, Ao, B2 ,
- NBDV,
- FCO,
- DoNBDV,
- etc.
Como variante, es posible igualmente considerar, en la lista antes citada, al menos un vector de movimiento de disparidad que se ha obtenido por un desplazamiento, de uno o de varios píxeles en x o en y, de un vector de movimiento de disparidad obtenido según uno de los métodos de derivación listados anteriormente. Se trata entonces de un vector de movimiento derivado desplazado ("Shifted Derivated Vector" en inglés).
En el caso por ejemplo en el que se construye una única lista Li, dicha lista puede comprender por ejemplo seis vectores de movimiento de disparidad DVii, DVi2 , DVi3, DVi4, DVi5, DVi6, en la que:
- DVn se ha obtenido según el método de derivación DMDV antes citado;
- DVi2 y DVi3 se han obtenido con ayuda de la predicción compensada en disparidad DCP (abreviatura inglesa de "Disparity-Compensated Prediction");
- DVi4 y DVi5 se han obtenido según el método de derivación NBDV antes citado;
- DVi6 se ha obtenido según el método de derivación DoNBDV antes citado.
En el caso por ejemplo en el que se construyen varias listas, por ejemplo tres listas Li, L2 y L3 , al menos una de dichas listas comprende al menos dos vectores de movimiento de disparidad de tipo diferente. En este ejemplo, las dos listas Li y L3 comprende cada una al menos dos vectores de movimiento de disparidad de tipo diferente. Las listas Li a L3 se construyen de modo que:
- Li comprende por ejemplo cuatro vectores de movimiento de disparidad DVn, DVi2 , DVi3, DVi4, en donde D ii y DVi2 se han obtenido según el método de derivación NBDV antes mencionado y donde DVi3 y DVi4 se han obtenido con ayuda de una predicción compensada en disparidad DCP;
- L2 comprende por ejemplo dos vectores de movimiento de disparidad DV2i, DV22, en donde DV2i y DV22 se han obtenido según el método de derivación DMDV antes citado;
- L3 comprende por ejemplo dos vectores de movimiento de disparidad DV31, DV32, en donde DV31 y DV32 se han obtenido respectivamente según los métodos de derivación DoNBDV y FCO antes citados.
Con referencia a la figura 2, dicha etapa de construcción S1 se implementa mediante un módulo de construcción CTR que es dirigido por el microprocesador pP de la unidad de tratamiento UT_DER.
Las listas Li, L2 ,..., Li,..., Lm así construidas se almacenan en la memoria tampón MT_DER del dispositivo de derivación de la figura 2.
Con referencia a la figura 1, se procede, en el curso de una etapa S2, a la limitación, en al menos una de las listas antes citadas, del número de vectores de movimiento de disparidad.
Con referencia a la figura 2, dicha etapa de limitación S2 se implementa mediante un módulo de limitación LIM que es dirigido por el microprocesador pP de la unidad de tratamiento UT_DER.
Dicha etapa S2 es opcional y se representa debido a ello en trazo de puntos en la figura 1, igualmente que el módulo de limitación LIM en la figura 2. Una etapa S2 así se describirá más en detalle en lo que sigue de la descripción. Con referencia a la figura 1, se procede, en el curso de una etapa S3, la aplicación de una función f a dichos al menos dos vectores de movimiento de disparidad DVa y DVb de tipo diferente de al menos una lista.
Con referencia a la figura 2, dicha etapa de aplicación S3 se implementa mediante un módulo de aplicación de función APP que es dirigido por el microprocesador pP de la unidad de tratamiento UT_DER.
A continuación de la etapa S3, se proporciona un vector de movimiento de disparidad final DVf.
Dicha función f es una función matemática o estadística tal como una mediana, una media, una media ponderada, una mediana ponderada, etc. En el caso de una media o de una mediana ponderada, la ponderación puede ser función del tipo de vectores de movimiento de disparidad considerados.
En el caso por ejemplo en el que se construyen varias listas, tales como por ejemplo las tres listas L1, L2 y L3 antes citadas, pueden presentarse varios supuestos no limitativos.
Según un caso:
- se aplica una función f1 del mismo tipo que la función f sobre todos los vectores de movimiento de disparidad de la lista L1, proporcionando un primer vector de movimiento de disparidad,
- se aplica una función f2 del mismo tipo que la función f sobre todos los vectores de movimiento de disparidad de la lista L2 , proporcionando un segundo vector de movimiento de disparidad,
- se aplica una función f3 del mismo tipo que la función f sobre todos los vectores de movimiento de disparidad de la lista L3 , proporcionando un tercer vector de movimiento de disparidad,
- se aplica una función f4 del mismo tipo que la función f sobre el primer, segundo y tercer vectores de movimiento de disparidad proporcionados.
Se describirán ahora diferentes variantes de realización de la etapa S2 de limitación del número de vectores de movimiento de disparidad.
Según una primera variante de realización, la etapa S2 se implementa durante la construcción de las m listas L1, L2 ,..., Li..., Lm en la etapa S1 antes citada. Una etapa S2 de ese tipo consiste por ejemplo en:
- limitar a Ki elementos como máximo el número de vectores en al menos una lista Li considerada, siendo por ejemplo Ki=3, de manera que se obtenga una lista L'1 reducida en tamaño o también al menos una lista L'i reducida en tamaño,
- suprimir al menos un tipo de vectores de movimiento de disparidad considerado, por ejemplo los vectores de movimiento obtenidos como resultado del método de derivación DMDV antes citado,
- suprimir al menos una de las m listas L1, L2 ,..., Li,..., Lm en el caso en el que se construyen m listas.
Según una segunda variante de realización, la etapa S2 se implementa a continuación de la etapa S1 antes citada.
La etapa S2 consiste por ejemplo en:
- verificar, en al menos una lista Li considerada, si al menos dos vectores de movimiento de disparidad son redundantes con respecto a su amplitud y orientación,
- suprimir de dicha lista uno de dichos dos vectores redundantes, en caso de verificación positiva.
Como resultado de la etapa S2 según la segunda variante, se obtiene una lista L''1 reducida en tamaño o bien al menos una lista L''i reducida en tamaño.
Según una tercera variante de realización, una etapa S2 de ese tipo consiste por ejemplo en:
- verificar, en al menos una lista L'i reducida en tamaño, si al menos dos vectores de movimiento de disparidad son redundantes con respecto a su amplitud y orientación,
- suprimir de dicha lista reducida en tamaño uno de dichos dos vectores redundantes, en caso de verificación positiva.
Según una cuarta variante de realización, para una lista considerada reducida en tamaño o no, la verificación de la redundancia puede efectuarse sobre un cierto número solamente de vectores de movimiento de disparidad contenidos en la lista.
Se describirá ahora a título de ejemplo no limitativo un escenario de procedimiento de derivación según la invención.
En el curso de la etapa S1 antes citada, se procede a la construcción de tres listas Li, L2 , L3. La lista L1 contiene unos vectores de movimiento de disparidad obtenidos según el método de derivación NBDV antes citado. Una lista de ese tipo contiene por ejemplo al menos un vector obtenido por predicción DCP y al menos un vector obtenido por derivación de un vector de movimiento temporal. La lista L2 contiene al menos dos vectores de movimiento de disparidad obtenidos respectivamente según los métodos de derivación DMDV y DoNBDV. La lista L3 contiene al menos un vector de movimiento de disparidad obtenido según el método de derivación FCO.
La etapa S2 de verificación de redundancia no se implementa.
En el curso de la etapa S3 antes citada, se procede a la aplicación de una primera función de mediana f1 sobre los vectores contenidos en la lista Li proporcionando un primer vector de movimiento de disparidad, a la aplicación de una segunda función de mediana f2 sobre los vectores contenidos en la lista L2 proporcionando un segundo vector de movimiento de disparidad y a la aplicación de una tercera función de mediana f3 sobre los vectores contenidos en la lista L3 proporcionando un tercer vector de movimiento de disparidad. Posteriormente se procede a la aplicación de una cuarta función de mediana f4 a la vez sobre el primer, segundo y tercer vectores de movimiento de disparidad proporcionados.
Descripción detallada del procedimiento de codificación de la invención
Se describirá ahora un modo de realización de la invención, en el que el procedimiento de codificación según la invención se utiliza para codificar una secuencia de imágenes según un flujo binario próximo al que se obtiene mediante una codificación según la norma en curso de elaboración 3D-HEVC. En este modo de realización, el procedimiento de codificación según la invención se implementa por ejemplo mediante software o hardware por modificaciones de un codificador inicialmente de acuerdo con la norma HEVC 3D. El procedimiento de codificación según la invención se representa en la forma de un algoritmo que incluye unas etapas C1 a C9 tal como se representan en la figura 3.
Según el modo de realización de la invención, el procedimiento de codificación según la invención se implementa en un dispositivo de codificación CO representado en la figura 4. Un dispositivo de codificación de ese tipo comprende una memoria MEM_CO que comprende una memoria tampón MT_c O, una unidad de tratamiento UT_CO equipada por ejemplo con un microprocesador pP y dirigida por un programa informático PG_CO que implementa el procedimiento de codificación según la invención. En la inicialización, las instrucciones del código del programa informático PG_CO se cargan por ejemplo en una memoria RAM antes de ejecutarse por el procesador de la unidad de tratamiento UT_CO.
Como ya se ha explicado más arriba en la descripción, el procedimiento de codificación según la invención está destinado a aplicarse a una imagen o a una secuencia de imágenes SI según un flujo binario próximo al que se obtiene mediante una codificación/decodificación de acuerdo por ejemplo con la norma en curso de elaboración 3D-HEVC.
La o las imágenes consideradas pueden estar por ejemplo en el formato MW o MVD. Con referencia a la figura 3, la secuencia de imágenes SI comprende un número N (N>1) de imágenes tal que:
- en el instante ti, la imagen Ii comprende una pluralidad de R vistas V11, V12,..., Vij,..., Vir,
- en el instante tk, la imagen Ik comprende una pluralidad de R vistas Vki, Vk2 ,..., Vkj,..., VkR,
- en el instante tN, la imagen In comprende una pluralidad de R vistas Vni, Vn2 ,..., Vnj, ..., Vnr,
siendo i < j < R y i < k < N.
Se considera entonces una imagen actual lk en el instante tk en la secuencia de imágenes SI.
En el curso de una etapa previa C i representada en la figure 3, se procede, de forma conocida de por sí, al particionado de una vista actual Vkj de la imagen actual lk que pertenece a la secuencia SI de imágenes, en una pluralidad de bloques CTBi, CTB2 ,..., CTBu,..., CTBs por ejemplo de tamaño 64x64 píxeles ( i < u < S). Una etapa de particionado de ese tipo se implementa mediante un módulo de software de particionado MP representado en la figura 4, módulo que está dirigido por el microprocesador pP de la unidad de tratamiento UT_CO.
Es conveniente señalar que, en el sentido de la invención, el término "bloque" significa unidad de codificación (del inglés "coding unit"). Esta última terminología se utiliza principalmente en la norma HEVC, por ejemplo en el documento "B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, y T. Wiegand, "High efficiency video coding (HEVC) text specification draft 6", documento JCTVC-Hi003 of JCT-VC, San Jose CA, Estados Unidos, febrero de 20i2".
En particular, una unidad de codificación de ese tipo reagrupa unos conjuntos de píxeles de forma rectangular o cuadrada, también llamados bloques, macrobloques, o bien conjuntos de píxeles que presentan otras formas geométricas.
En el curso de una etapa C2 representada en la figura 3, se selecciona un bloque CTBu de la vista actual Vkj en tanto que bloque actual a codificar.
Con referencia a la figura 4, dicha etapa de selección S2 se implementa mediante un módulo de selección SEL_CO del codificador CO, módulo que está dirigido por el microprocesador pP de la unidad de tratamiento UT_CO.
Con referencia a la figura 3, se procede, en el curso de una etapa C3, a la derivación de un vector de movimiento de disparidad. Una etapa de ese tipo se efectúa de acuerdo con el procedimiento de derivación según la invención.
Con referencia a la figura 4, dicha etapa de derivación C3 se implementa mediante un módulo de derivación DER_CO en todo idéntico al módulo de derivación DER de la figura 2, estando dirigido dicho módulo DER_CO por el microprocesador pP de la unidad de tratamiento UT_DO.
Con referencia a la figura 3, se procede, en el curso de una etapa C4, a la codificación predictiva del bloque actual CTBu mediante unas técnicas conocidas de predicción intra y/o inter, en el curso de la que se predice el bloque actual CTBu con relación a al menos un bloque anteriormente codificado y posteriormente decodificado.
Con referencia a la figura 4, dicha etapa de codificación predictiva C4 se implementa mediante una unidad de codificación predictiva UCP que es adecuada para efectuar una codificación predictiva del bloque actual, según las técnicas de predicción clásicas, tales como por ejemplo el modo Intra y/o Inter. Dicho módulo UCP está dirigido por el microprocesador pP de la unidad de tratamiento UT_DO.
Según una primera variante de realización, se determina un vector de movimiento del bloque actual CTBu según el modo AMVP, es decir predicho mediante la selección de un vector de movimiento en una lista de vectores de movimiento que puede comprender vectores de movimiento temporales y/o vectores de movimiento de disparidad, así como el vector de movimiento de disparidad final DVf obtenido a continuación de la etapa de derivación C3.
Según una segunda variante de realización, se determina un vector de movimiento del bloque actual CTBu según el modo MERGE, es decir por herencia de un vector de movimiento contenido en una lista de vectores de movimiento que puede comprender vectores de movimiento temporales y/o vectores de movimiento de disparidad, así como el vector de movimiento de disparidad final DVf obtenido a continuación de la etapa de derivación C3.
Entre las predicciones posibles para un bloque actual que se han determinado en la etapa C4, la predicción óptima se elige según un criterio de velocidad-distorsión conocido para el experto en la materia.
Dicha etapa de codificación predictiva antes citada permite construir un bloque predicho CTBpu que es una aproximación del bloque actual CTBu. Las informaciones relativas a está codificación predictiva se describirán
i i
posteriormente en un flujo transmitido a un decodificador DO tal como se representa en la figura 5. En el caso en el que el vector de movimiento de disparidad obtenido con ayuda del procedimiento de derivación según la invención se seleccione como vector de predicción óptimo, dichas informaciones comprenden el índice de posicionamiento de este vector en la lista que lo contiene, así como el índice de la lista que contiene el vector seleccionado.
En el curso de una etapa C5 representada en la figura 3, la unidad de codificación predictiva UCP de la figura 4 procede a la sustracción del bloque predicho CTBpu del bloque actual CTBu para producir un bloque residuo CTBru.
En el curso de una etapa C6 representada en la figura 3, se procede a la transformación del bloque residuo CTBru según una operación clásica de transformación directa tal como por ejemplo una transformación de coseno discreto de tipo DCT, para producir un bloque transformado CTBtu.
Dicha etapa C6 se implementa por una unidad de transformación UT representada en la figura 4, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_CO.
En el curso de una etapa C7 representada en la figura 4, se procede a la cuantificación del bloque transformado CTBtu según una operación clásica de cuantificación, tal como por ejemplo una cuantificación escalar. Se obtiene entonces un bloque de coeficientes cuantificados CTBqu.
Dicha etapa C7 se implementa mediante una unidad de cuantificación UQ representada en la figura 4, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_CO.
En el curso de una etapa C8 representada en la figura 3, se procede a la codificación entrópica del bloque de coeficientes cuantificados CTBqu. En el modo preferido de realización, se trata de una codificación entrópica CABAC bien conocida para el experto en la materia.
La etapa C8 se implementa mediante una unidad de codificación entrópica UCE representada en la figura 4, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_c O.
Las subetapas de codificación que se acaban de describir anteriormente se implementan para todos los bloques a codificar de la imagen actual Ik considerada.
Las etapas de codificación C2 a C8 que se acaban de describir anteriormente se implementan para todos los bloques a codificar de la vista actual Vkj considerada.
En el curso de una etapa C9 representada en la figura 3, se procede a la producción de un flujo de bits Fkj que representa la vista actual Vkj codificada, así como una versión decodificada VDkj de esta última, que es susceptible de utilizarse en tanto que vista de referencia para codificar otras vistas de la secuencia SI de imágenes.
Con referencia a la figura 4, la etapa de producción C9 de un flujo actual Fkj se implementa mediante un módulo MGF de generación de flujo que está adaptado para producir unos flujos de datos, tales como unos bits por ejemplo. Dicho módulo MGF está dirigido por el microprocesador pP de la unidad de tratamiento UT_CO.
El flujo actual Fkj se transmite a continuación por una red de comunicación (no representada), a un terminal distante. Lo que incluye el decodificador DO representado en la figura 5 que se describirá más en detalle en lo que sigue de la descripción.
Descripción detallada de un modo de realización de la parte de decodificación
Se describirá ahora un modo de realización del procedimiento de decodificación según la invención, en el que el procedimiento de decodificación se implementa por medio de software o por hardware mediante modificaciones de un decodificador inicialmente de acuerdo con la norma 3D-HEVC.
El procedimiento de decodificación según la invención se representa en la forma de un algoritmo que incluye unas etapas D1 a D9 representadas en la figura 6.
Según el modo de realización de la invención, el procedimiento de decodificación según la invención se implementa en un dispositivo de decodificación DO representado en la figura 5.
Como se ilustra en la figura 5, un dispositivo de codificación de ese tipo comprende una memoria MEM_DO que comprende una memoria tampón m T_DO, una unidad de tratamiento UT_DO equipada por ejemplo con un microprocesador pP y dirigida por un programa informático PG_DO que implementa el procedimiento de decodificación según la invención. En la inicialización, las instrucciones del código del programa informático PG_DO se cargan por ejemplo en una memoria RAM antes de ejecutarse por el procesador de la unidad de tratamiento UT_DO.
El procedimiento de decodificación representado en la figura 6 se aplica a cualquier imagen actual de dicha secuencia SI de imágenes a decodificar.
Con este fin, se identifican unas informaciones representativas de la imagen actual Ik a decodificar en el flujo Fkj recibido en el decodificador DO.
En el curso de una etapa D1 representada en la figura 6, se procede a la selección, en el flujo de un bloque CTBu a decodificar.
Con referencia a la figura 5, dicha etapa de selección D1 se implementa mediante un módulo de selección SEL_DO del codificador DO, módulo que está dirigido por el microprocesador pP de la unidad de tratamiento UT_DO.
En el curso de una etapa D2 representada en la figura 6, se procede a la decodificación entrópica de los elementos de sintaxis vinculados al bloque actual CTBu mediante la lectura del flujo Fk con ayuda de un puntero de flujo.
Más precisamente, los elementos de sintaxis vinculados al bloque actual se decodifican mediante una unidad UDE de decodificación entrópica CABAC tal como se representa en la figura 5, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_DO. Una unidad de ese tipo es bien conocida por sí misma y no se describirá más adelante.
Con referencia a la figura 6, se procede, en el curso de una etapa D3, a la derivación de un vector de movimiento de disparidad. Una etapa de ese tipo se efectúa de acuerdo con el procedimiento de derivación según la invención. Con referencia a la figura 5, dicha etapa de derivación D3 se implementa mediante un módulo de derivación DER_DO en todo idéntico al módulo de derivación DER de la figura 2, estando dirigido dicho módulo DER_DO por el microprocesador pP de la unidad de tratamiento UT_DO.
En el curso de una etapa D4 representada en la figura 6, se procede a la decodificación predictiva del bloque actual CTBu mediante unas técnicas conocidas de predicción intra y/o inter, en el curso de la que se predice el bloque CTBu con relación a al menos un bloque anteriormente decodificado.
En el transcurso de esta etapa, se efectúa la decodificación predictiva con ayuda de los elementos de sintaxis decodificados en la etapa anterior y que comprenden particularmente el tipo de predicción (inter o intra).
En el caso de que se aplique una predicción o bien una herencia del vector de movimiento al bloque actual CTBu y en el caso en el que el vector de movimiento de disparidad obtenido con ayuda del procedimiento de derivación según la invención se haya seleccionado en la codificación como vector que optimiza la predicción según el criterio de velocidad-distorsión, dichos elementos de sintaxis decodificados comprenden el índice de posicionamiento de este vector en la lista de vectores de movimiento de disparidad que lo contiene. En el caso particular en el que se han construido varias listas, dichos elementos de sintaxis decodificados comprenden igualmente el índice de la lista que contiene el vector seleccionado.
Dicha etapa D4 de decodificación predictiva antes citada permite construir un bloque predicho CTBpu con relación a un bloque predeterminado decodificado.
Dicha etapa D4 se implementa mediante una unidad de decodificación predictiva UDP tal como se ha representado en la figura 5, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_d O.
En el curso de una etapa D5 representada en la figura 6, la unidad de decodificación predictiva UDP de la figura 5 procede a la sustracción del bloque predicho CTBpu del bloque actual CTBu para producir un bloque residuo CTBru. En el curso de una etapa D6 representada en la figura 6, se procede a la descuantificación del bloque residuo cuantificado CTBru según una operación clásica de descuantificación que es la operación inversa de la cuantificación efectuada en la etapa C7 antes citada, para producir un bloque descuantificado decodificado CTBDtu.
Dicha etapa D6 se implementa mediante una unidad de descuantificación UDQ representada en la figura 5, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_d O.
En el curso de una etapa D7 representada en la figura 6, se procede a la transformación inversa del bloque descuantificado CTBDtu que es la operación inversa de la transformación directa efectuada en la etapa de codificación C6 antes citada. Se obtiene entonces el bloque residuo decodificado CTBDru.
Dicha etapa D7 se implementa por una unidad de transformación inversa UTI representada en la figura 5, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_DO.
En el curso de una etapa D8 representada en la figura 6, se procede a la construcción del bloque decodificado CTBDu añadiendo al bloque predicho CTBpu el bloque residuo decodificado CTBDru. El bloque decodificado CTBDu queda así disponible para ser utilizado por el decodificador DO de la figura 5.
Dicha etapa D8 se implementa mediante una unidad UCBD de construcción de un bloque decodificado tal como se ha representado en la figura 5, estando dirigida dicha unidad por el microprocesador pP de la unidad de tratamiento UT_DO.
Las etapas de decodificación D1 a D8 que se acaban de describir anteriormente se implementan de nuevo para todos los bloques a decodificar de la vista actual Vkj considerada.
Con referencia a la figura 6, se procede, en el curso de una etapa D9, a la reconstrucción de una vista decodificada VDkj.
Con referencia a la figura 5, la etapa de reconstrucción D9 se implementa mediante una unidad de reconstrucción URI que escribe los bloques decodificados en una vista decodificada VDkj a medida que quedan disponibles estos bloques. Dicha unidad está dirigida por el microprocesador pP de la unidad de tratamiento u T_DO.
Por supuesto que los modos de realización que se han descrito anteriormente se han dado a título puramente indicativo y en ningún caso limitativo, y que pueden aportarse fácilmente por los expertos en la materia numerosas modificaciones sin por ello salir del marco de la invención.

Claims (11)

REIVINDICACIONES
1. Procedimiento de decodificación de una imagen actual (lk) que comprende al menos dos vistas que son respectivamente representativas de una misma escena, comprendiendo dicho procedimiento de decodificación una etapa (D3) de derivación de un vector de movimiento de disparidad, llamado vector de movimiento de disparidad final, estando dicho procedimiento de decodificación caracterizado por que, en el transcurso de dicha etapa de derivación, comprende las etapas que consisten en:
- construir (S1) una pluralidad de listas (Li, L2) de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista en la que se han obtenido al menos dos vectores de movimiento de disparidad respectivamente según dos métodos de estimación diferentes,
- aplicar (S3) una función a los vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista,
- aplicar una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
2. Procedimiento de decodificación según la reivindicación 1, que comprende, previamente a dicha etapa de aplicación de una función, una etapa (S2) que consiste en limitar, en al menos una lista, el número de vectores de movimiento de disparidad.
3. Procedimiento de decodificación según la reivindicación 2, consistiendo dicha etapa de limitación en:
- verificar, en al menos una lista de vectores de movimiento de disparidad, si al menos dos vectores de movimiento de disparidad son redundantes con respecto a su amplitud y orientación,
- suprimir de dicha lista uno de dichos dos vectores, en caso de verificación positiva.
4. Dispositivo (DO) de decodificación de una imagen actual (lk) que comprende al menos dos vistas que son respectivamente representativas de una misma escena, estando adaptado dicho dispositivo para implementar el procedimiento de decodificación según una cualquiera de las reivindicaciones 1 a 3, comprendiendo dicho dispositivo de decodificación un dispositivo de derivación (DER) de un vector de movimiento de disparidad, llamado vector de movimiento de disparidad final, caracterizado por que el dispositivo de derivación comprende:
- unos medios (CTR) de construcción de una pluralidad de listas de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista que comprende al menos dos vectores de movimiento de disparidad obtenidos respectivamente según dos métodos de estimación diferentes,
- unos medios (APP) de aplicación de una función a dichos al menos dos vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista.
- unos medios (APP) de aplicación de una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
5. Programa informático que incluye instrucciones de código de programa para la ejecución de las etapas del procedimiento de decodificación según una cualquiera de las reivindicaciones 1 a 3, cuando dicho programa es ejecutado en un ordenador.
6. Soporte de registro legible por un ordenador en el que se registra un programa informático que comprende unas instrucciones de código de programa para la ejecución de las etapas del procedimiento de decodificación según una cualquiera de las reivindicaciones 1 a 3, cuando dicho programa se ejecuta por un ordenador.
7. Procedimiento de codificación de una imagen actual (lk) que comprende al menos dos vistas que son respectivamente representativas de una misma escena, comprendiendo dicho procedimiento de codificación una etapa (C3) de derivación de un vector de movimiento de disparidad, llamado vector de movimiento de disparidad final, estando dicho procedimiento de codificación caracterizado por que, en el transcurso de dicha etapa de derivación, comprende las etapas que consisten en:
- construir (S1) una pluralidad de listas de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista en la que se han obtenido al menos dos vectores de movimiento de disparidad respectivamente según dos métodos de estimación diferentes,
- aplicar (S3) una función a los vectores de movimiento de cada lista, para proporcionar un vector de movimiento de disparidad para cada lista,
- aplicar una función a los vectores de disparidad proporcionados para obtener
el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
8. Procedimiento de codificación según la reivindicación 7, que comprende, previamente a dicha etapa de aplicación de una función, una etapa (S2) que consiste en limitar, en al menos una lista, el número de vectores de movimiento de disparidad.
9. Procedimiento de codificación según la reivindicación 8, consistiendo dicha etapa de limitación en:
- verificar, en al menos una lista de vectores de movimiento de disparidad, si al menos dos vectores de movimiento de disparidad son redundantes con respecto a su amplitud y orientación,
- suprimir de dicha lista uno de dichos dos vectores, en caso de verificación positiva.
10. Dispositivo (CO) de codificación de una imagen actual (lk) que comprende al menos dos vistas que son respectivamente representativas de una misma escena, estando adaptado dicho dispositivo para implementar el procedimiento de codificación según una cualquiera de las reivindicaciones 7 a 9, comprendiendo dicho dispositivo de codificación un dispositivo (DER_CO) de derivación de un vector de movimiento de disparidad, llamado vector de movimiento de disparidad final, caracterizado por que el dispositivo de derivación comprende:
- unos medios (CTR) de construcción de una pluralidad de listas de vectores de movimiento de disparidad, comprendiendo dicha pluralidad de listas al menos una lista que comprende al menos dos vectores de movimiento de disparidad obtenidos respectivamente según dos métodos de estimación diferentes,
- unos medios (APP) de aplicación de una función a los vectores de movimiento de disparidad de cada lista para proporcionar un vector de movimiento de disparidad para cada lista,
- unos medios (APP) de aplicación de una función a los vectores de disparidad proporcionados para obtener el vector de disparidad final,
en el que las funciones aplicadas pertenecen a la lista de las funciones estadísticas: mediana, mediana ponderada, media, media ponderada.
11. Programa informático que incluye instrucciones de código de programa para la ejecución de las etapas del procedimiento de codificación según una cualquiera de las reivindicaciones 7 a 9, cuando dicho programa es ejecutado en un ordenador.
ES14718639T 2013-02-26 2014-02-24 Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo Active ES2799577T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1351701A FR3002716A1 (fr) 2013-02-26 2013-02-26 Derivation de vecteur de mouvement de disparite, codage et decodage video 3d utilisant une telle derivation
PCT/FR2014/050384 WO2014131975A2 (fr) 2013-02-26 2014-02-24 Dérivation de vecteur de mouvement de disparité, codage et décodage vidéo 3d utilisant une telle dérivation

Publications (1)

Publication Number Publication Date
ES2799577T3 true ES2799577T3 (es) 2020-12-18

Family

ID=48795646

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14718639T Active ES2799577T3 (es) 2013-02-26 2014-02-24 Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo

Country Status (9)

Country Link
US (2) US10595044B2 (es)
EP (2) EP2962459B1 (es)
JP (1) JP6690944B2 (es)
KR (1) KR102208951B1 (es)
CN (1) CN105075250B (es)
BR (2) BR122020021362B1 (es)
ES (1) ES2799577T3 (es)
FR (1) FR3002716A1 (es)
WO (1) WO2014131975A2 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3002716A1 (fr) * 2013-02-26 2014-08-29 France Telecom Derivation de vecteur de mouvement de disparite, codage et decodage video 3d utilisant une telle derivation

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179441A (en) * 1991-12-18 1993-01-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Near real-time stereo vision system
NL9201593A (nl) * 1992-09-14 1994-04-05 Nederland Ptt Systeem omvattende een eerste encoder voor het coderen van een eerste digitaal signaal, een tweede encoder voor het coderen van een tweede digitaal signaal en ten minste één decoder voor het decoderen van gecodeerde digitale signalen, en encoder en decoder voor toepassing in het systeem.
US5619256A (en) * 1995-05-26 1997-04-08 Lucent Technologies Inc. Digital 3D/stereoscopic video compression technique utilizing disparity and motion compensated predictions
US5612735A (en) * 1995-05-26 1997-03-18 Luncent Technologies Inc. Digital 3D/stereoscopic video compression technique utilizing two disparity estimates
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR101227601B1 (ko) * 2005-09-22 2013-01-29 삼성전자주식회사 시차 벡터 예측 방법, 그 방법을 이용하여 다시점 동영상을부호화 및 복호화하는 방법 및 장치
US8270472B2 (en) * 2007-11-09 2012-09-18 Thomson Licensing Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video
EP2269378A2 (en) * 2008-04-25 2011-01-05 Thomson Licensing Multi-view video coding with disparity estimation based on depth information
JP2012034356A (ja) * 2010-07-02 2012-02-16 Panasonic Corp 画像符号化装置、画像符号化方法、プログラムおよび集積回路
JP5889899B2 (ja) * 2010-08-09 2016-03-22 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. マルチ視野信号の2つの視野と対応する画像の対をエンコードする方法、デコードする方法、エンコーダ、デコーダ、コンピュータプログラム及びソフトウェアツール
KR20140011481A (ko) * 2011-06-15 2014-01-28 미디어텍 인크. 3d 비디오 코딩을 위한 움직임 벡터 및 변이 벡터의 예측과 보상 방법 및 장치
CN103907346B (zh) * 2011-10-11 2017-05-24 联发科技股份有限公司 运动矢量预测子及视差矢量导出方法及其装置
EP2781099B1 (en) * 2011-11-15 2015-08-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for real-time capable disparity estimation for virtual view rendering suitable for multi-threaded execution
US9445076B2 (en) * 2012-03-14 2016-09-13 Qualcomm Incorporated Disparity vector construction method for 3D-HEVC
CN104396244B (zh) * 2012-04-16 2019-08-09 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机可读存储介质
US9961369B2 (en) * 2012-06-28 2018-05-01 Hfi Innovation Inc. Method and apparatus of disparity vector derivation in 3D video coding
US10264281B2 (en) * 2012-07-02 2019-04-16 Hfi Innovation Inc. Method and apparatus of inter-view candidate derivation in 3D video coding
JP5970609B2 (ja) * 2012-07-05 2016-08-17 聯發科技股▲ふん▼有限公司Mediatek Inc. 3dビデオ符号化における統一された視差ベクトル導出の方法と装置
US20150172714A1 (en) * 2012-07-09 2015-06-18 Mediatek Inc. METHOD AND APPARATUS of INTER-VIEW SUB-PARTITION PREDICTION in 3D VIDEO CODING
CN104521236B (zh) * 2012-07-27 2017-10-20 寰发股份有限公司 三维视频编码或解码方法
JP6000463B2 (ja) * 2012-09-21 2016-09-28 聯發科技股▲ふん▼有限公司Mediatek Inc. 3d映像符号化の仮想深度値の方法および装置
US9253486B2 (en) * 2012-09-28 2016-02-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for motion field backward warping using neighboring blocks in videos
US9350970B2 (en) * 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
KR20150099797A (ko) * 2013-01-07 2015-09-01 미디어텍 인크. 3차원 비디오 코딩에서의 직접 모드 및 스킵 모드에 대한 공간 모션 벡터 예측 유도 방법 및 장치
FR3002716A1 (fr) * 2013-02-26 2014-08-29 France Telecom Derivation de vecteur de mouvement de disparite, codage et decodage video 3d utilisant une telle derivation
WO2015000108A1 (en) * 2013-07-01 2015-01-08 Mediatek Singapore Pte. Ltd. An improved texture merging candidate in 3dvc
US10045014B2 (en) * 2013-07-15 2018-08-07 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3D video coding
CN104424103B (zh) * 2013-08-21 2018-05-29 光宝科技股份有限公司 固态储存装置中高速缓存的管理方法
CN106105190B (zh) * 2014-03-13 2018-11-13 高通股份有限公司 用于3d-hevc的简化高级残余预测

Also Published As

Publication number Publication date
EP2962459B1 (fr) 2020-04-01
BR112015020340A2 (pt) 2017-07-18
JP6690944B2 (ja) 2020-04-28
BR122020021362B1 (pt) 2023-04-11
US11102466B2 (en) 2021-08-24
KR20150122690A (ko) 2015-11-02
JP2016511593A (ja) 2016-04-14
US20200186834A1 (en) 2020-06-11
BR112015020340B1 (pt) 2023-04-18
CN105075250A (zh) 2015-11-18
FR3002716A1 (fr) 2014-08-29
WO2014131975A3 (fr) 2014-11-20
KR102208951B1 (ko) 2021-01-27
CN105075250B (zh) 2019-08-13
EP3672252A1 (fr) 2020-06-24
WO2014131975A2 (fr) 2014-09-04
US20160014428A1 (en) 2016-01-14
US10595044B2 (en) 2020-03-17
EP2962459A2 (fr) 2016-01-06

Similar Documents

Publication Publication Date Title
ES2954447T3 (es) Predicción de vectores de movimiento
KR102147614B1 (ko) 비디오 코딩에서 아핀 모션 모델들을 위한 모션 벡터 예측
US10681370B2 (en) Motion vector generation for affine motion model for video coding
CN112640467B (zh) 用于帧内预测的方法和装置
US20160241867A1 (en) Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
JP5992640B2 (ja) ビデオコード化における参照ピクチャリストのためのビュー間予測の無効化
RU2768377C1 (ru) Способ и устройство для видеокодирования c использованием улучшенного режима слияния с разностью векторов движения
ES2778227T3 (es) Dispositivo, método y programa de decodificación bipredictiva de imágenes
CN112740704B (zh) 图像解码装置以及图像编码装置
ES2972326T3 (es) Un codificador, un decodificador y métodos correspondientes para el modo de fusión
JP2016519518A5 (es)
TW201941602A (zh) 用於視訊編碼的可變仿射合併候選
CN104350749A (zh) 深度图估计的推导
US9621889B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, and image coding apparatus
JP2022534235A (ja) Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法
KR20080064078A (ko) 전역 차이 벡터를 이용한 다시점 영상의 부호화, 복호화방법 및 장치
KR20230129320A (ko) 시점 간 움직임 병합 후보 유도 방법 및 장치
ES2799577T3 (es) Derivación de vector de movimiento de disparidad, codificación y decodificación de vídeo en 3D utilizando una derivación de ese tipo
WO2014029086A1 (en) Methods to improve motion vector inheritance and inter-view motion prediction for depth map
JP6386466B2 (ja) 映像符号化装置及び方法、及び、映像復号装置及び方法
WO2015056647A1 (ja) 映像符号化装置及び方法、及び、映像復号装置及び方法
JP2014207573A (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム、映像復号プログラム及び記録媒体