ES2928951T3 - Aparato y procedimiento de generación de una señal de imagen - Google Patents

Aparato y procedimiento de generación de una señal de imagen Download PDF

Info

Publication number
ES2928951T3
ES2928951T3 ES20703759T ES20703759T ES2928951T3 ES 2928951 T3 ES2928951 T3 ES 2928951T3 ES 20703759 T ES20703759 T ES 20703759T ES 20703759 T ES20703759 T ES 20703759T ES 2928951 T3 ES2928951 T3 ES 2928951T3
Authority
ES
Spain
Prior art keywords
image
images
candidate
pixels
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20703759T
Other languages
English (en)
Inventor
Bart Kroon
Geest Bartolomeus Wilhelmus Damianus Van
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Application granted granted Critical
Publication of ES2928951T3 publication Critical patent/ES2928951T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método para generar una señal de imagen a partir de una pluralidad de imágenes de una escena realiza iteraciones que comprenden generar (505) imágenes pronosticadas para un conjunto candidato de imágenes a partir de un conjunto de imágenes incluidas (anteriormente). Se selecciona (509) un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a una calidad de predicción. Para cada imagen seleccionada se determina (511) un subconjunto de píxeles en respuesta a las cualidades de predicción de píxeles para los píxeles de la imagen, y se genera (513) un conjunto de imágenes parciales correspondientes a las imágenes seleccionadas seleccionando (511) un subconjunto de píxeles La imagen seleccionada se elimina del conjunto de candidatos y la imagen parcial se agrega al conjunto incluido. El enfoque puede proporcionar una selección de datos de imágenes que representan una escena de baja complejidad y bajos recursos. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Aparato y procedimiento de generación de una señal de imagen
Campo de la invención
La invención se refiere a un aparato y procedimiento para generar una señal de imagen y en particular, pero no exclusivamente, a la generación y/o procesamiento de una señal de imagen que comprende múltiples imágenes para la misma escena.
Antecedentes de la invención
La variedad y rango de aplicaciones de imagen y video han aumentado sustancialmente en los últimos años con nuevos servicios y formas de usar y consumir video que se están desarrollando e introduciendo de forma continua.
Por ejemplo, un servicio cada vez más popular es la provisión de secuencias de imágenes de tal manera que el espectador pueda interactuar activa y dinámicamente con el sistema para cambiar los parámetros de la renderización. Una característica muy atractiva en muchas aplicaciones es la capacidad de cambiar la posición de visualización efectiva y la dirección de visualización del espectador, como por ejemplo permitir que el espectador se mueva y "mire a su alrededor" en la escena que se presenta.
Tal característica puede permitir específicamente que se proporcione una experiencia de realidad virtual a un usuario. Esto puede permitir al usuario, por ejemplo, moverse (relativamente) libremente en un entorno virtual y cambiar dinámicamente su posición y dónde está mirando. Por lo general, tales aplicaciones de realidad virtual en base a un modelo tridimensional de la escena con el modelo evaluado dinámicamente para proporcionar la vista específica solicitada. Este enfoque es bien conocido, por ejemplo, en aplicaciones de juegos, como en la categoría de juegos de disparos en primera persona, para ordenadores y consolas.
También es deseable, en particular para aplicaciones de realidad virtual, que la imagen que se presenta sea una imagen tridimensional. De hecho, para optimizar la inmersión del espectador, normalmente se prefiere que el usuario experimente la escena presentada como una escena tridimensional. De hecho, una experiencia de realidad virtual debería permitir preferentemente a un usuario seleccionar su propia posición, punto de vista de la cámara y momento en el tiempo en relación con un mundo virtual.
Un gran número de aplicaciones de realidad virtual son inherentemente limitadas ya que en base a la presencia de un modelo predeterminado de la escena y, normalmente, en un modelo artificial de un mundo virtual, como por ejemplo para aplicaciones de juegos.
Sin embargo, es deseable poder proporcionar experiencias de realidad virtual que permitan al usuario experimentar una captura del mundo real. Dichas aplicaciones incluyen, por ejemplo, aplicaciones que permiten a un usuario cambiar libremente de posición y dirección de visión en una representación de una escena del mundo real. Sin embargo, los requisitos con el fin de soportar dicha libertad son difíciles de cumplir en muchas circunstancias, como en particular cuando la escena del mundo real también es un cambio dinámico, y específicamente una escena en tiempo real. Por ejemplo, proporcionar suficientes datos para permitir que un usuario se mueva libremente y cambie la dirección de la vista para una escena que corresponde a una difusión en vivo en tiempo real de, por ejemplo, un evento deportivo, normalmente no es práctico ni factible. En consecuencia, las aplicaciones y experiencias en las que el usuario ha restringido la libertad de movimiento y/o las direcciones de visualización están recibiendo un interés creciente. Por ejemplo, puede difundirse un evento deportivo en el que un usuario puede girar su cabeza libremente dentro de un rango de 180° pero solo mover la cabeza en una cantidad relativamente pequeña. Dicho movimiento limitado puede reducir sustancialmente los requisitos de los datos que deben proporcionarse.
MAUGEY THOMAS Y OTROS han publicado en: "Reference View Selection in DI BR-Based Multiview Coding", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, EE. UU., vol. 25, no. 4, 1 de abril de 2016 (2016-04-01), páginas 1.808-1.819, XP011602607”, un algoritmo para la selección óptima de vistas de referencia en sistemas de codificación multivista. Se describe que la realidad aumentada, la navegación interactiva en escenas 3D, el video multivista y otras aplicaciones multimedia emergentes requieren grandes conjuntos de imágenes, por lo tanto, mayores volúmenes de datos y mayores recursos en comparación con los servicios de video tradicionales. El aumento significativo en número de imágenes en sistemas multivista conduce a nuevos problemas desafiantes en la representación y transmisión de datos para proporcionar una experiencia de alta calidad en entornos con recursos limitados. Con el fin de reducir el tamaño de los datos, recientemente se han propuesto diferentes estrategias de compresión de vista múltiple. La mayoría de ellos usan el concepto de referencia o vistas clave que se usan para estimar otras imágenes cuando hay una alta correlación en el conjunto de datos. En base a una métrica que mide la similitud entre las vistas, se lleva a cabo una optimización para el posicionamiento de las vistas de referencia de manera que se minimiza tanto la distorsión de la reconstrucción de la vista como el costo de la tasa de codificación.
Un problema crítico para la mayoría de las aplicaciones que permiten la renderización local de imágenes para diferentes puntos de vista de una escena es cómo representar dicha escena y, en particular, cómo generar, distribuir y procesar datos que representen efectivamente una escena del mundo real, de manera que un dispositivo de usuario final reciba suficientes datos para generar localmente imágenes de vista del mundo real y a menudo en tiempo real, escena. Por lo general, no es factible ni práctico generar un modelo de una escena del mundo real y, en particular, no cuando el servicio admite una escena que cambia dinámicamente, como un evento en tiempo real.
En muchos sistemas, la escena puede representarse por imágenes que han sido capturadas por aparatos de captura adecuados, como cámaras. Por ejemplo, las cámaras pueden disponerse en una configuración determinada, como en una fila, con cada cámara capturando la escena desde una pose de captura determinada. Las imágenes desde diferentes posiciones pueden proporcionar una representación de diferentes partes de la escena. Por ejemplo, un objeto de fondo puede ocluirse por un objeto en primer plano desde algunas posiciones de captura, pero no desde otras posiciones de captura, y por lo tanto la información relacionada con el objeto de fondo puede estar presente en algunas imágenes de captura, pero no en otras.
En muchos sistemas prácticos, las imágenes capturadas pueden complementarse con información de profundidad, como un valor z o un valor de disparidad que se proporciona para cada píxel en un mapa de profundidad asociado. Dicha representación de imagen profundidad puede considerarse una imagen 3D. El uso de información de imagen profundidad proporcionada para un rango de puntos de vista puede tener muchas aplicaciones y para muchas escenas proporciona una representación ventajosa de la escena que permite la generación local de imágenes de vista. La información de imagen+profundidad puede transmitirse a un dispositivo de renderización que puede generar dinámicamente imágenes de vista para la posición de vista actual y la dirección de vista de un usuario.
Sin embargo, mientras que una representación de imagen de una escena que comprende una pluralidad de imágenes de diferentes posiciones de captura puede proporcionar un rendimiento y funcionamiento deseables en muchas realizaciones, también tiende a requerir altas tasas de datos para la comunicación de la renderización de la imagen al dispositivo de renderizado. De hecho, la distribución directa de todas las imágenes vistas capturadas a menudo es inviable porque la tasa de píxeles, y, por lo tanto, la tasa de datos es demasiado alta. La transmisión directa de todas las imágenes también es un desperdicio, ya que incluye la transmisión de una gran cantidad de datos redundantes. Por ejemplo, el frente de un objeto en primer plano puede ser visible desde una pluralidad de posiciones de captura, y, por lo tanto, la información visual para el objeto se incluirá en una pluralidad de las imágenes de captura que se transmitirán.
Sin embargo, el problema de cómo reducir la tasa de datos requerida es un problema complejo que es difícil de abordar. Se ha propuesto identificar y omitir algunos datos redundantes y luego generar una señal de imagen sin estos datos redundantes. Sin embargo, mientras esto puede reducir la tasa de datos, es un desafío difícil cómo lograr esto específicamente de modo que la calidad de la imagen, la tasa de datos, la complejidad, los requisitos de recursos, etc., se optimicen en la medida de lo posible.
Por lo tanto, un enfoque mejorado sería ventajoso. En particular, sería ventajoso un enfoque para generar y/o procesar una señal de imagen que representa una escena por imágenes de diferentes vistas que permite un mejor funcionamiento, una mayor flexibilidad, una experiencia de realidad virtual mejorada, tasas de datos reducidas, mayor eficiencia, distribución facilitada, complejidad reducida, implementación facilitada, mayor calidad de imagen y/o mejor rendimiento y/u funcionamiento.
Sumario de la invención
En consecuencia, la Invención busca mitigar, aliviar o eliminar preferentemente una o más de las desventajas antes mencionadas individualmente o en cualquier combinación.
De acuerdo con un primer aspecto de la invención, se proporciona un procedimiento para generar una señal de imagen, el procedimiento comprende: recibir un conjunto candidato de imágenes que comprende una pluralidad de imágenes de una escena, al menos algunas imágenes del conjunto candidato de imágenes son para diferentes poses de vista de la escena; seleccionar al menos una imagen del conjunto de imágenes candidatas e inicializar un conjunto de imágenes incluidas para incluir al menos una imagen; realizar iterativamente los pasos de: generar imágenes predichas para las imágenes del conjunto de imágenes candidatas a partir de las imágenes del conjunto de imágenes incluidas; determinar una medida de calidad de predicción para cada imagen del conjunto de imágenes candidatas, la medida de calidad de predicción para una primera imagen del conjunto de imágenes candidatas es indicativa de una diferencia entre la primera imagen y una primera imagen predicha para la primera imagen; seleccionar un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a las calidades de predicción; para cada imagen del conjunto de imágenes seleccionadas, determinar un subconjunto de píxeles en respuesta a las calidades de predicción de píxeles de los píxeles de la imagen; generar un conjunto de imágenes parciales correspondientes al conjunto de imágenes seleccionadas, la imagen parcial para una imagen determinada del conjunto seleccionado de imágenes que comprende solo los píxeles del subconjunto de píxeles para la imagen determinada; incluir el conjunto de imágenes parciales en el conjunto de imágenes incluidas; y eliminar el conjunto de imágenes seleccionadas del conjunto de imágenes candidatas; generar la señal de imagen que comprende los datos de imagen de las imágenes en el conjunto de imágenes incluidas.
La invención puede proporcionar una representación mejorada de una escena. En muchas realizaciones, puede proporcionarse una representación más eficiente de una escena, por ejemplo, al permitir que se logre una calidad determinada mediante una tasa de datos reducida.
El enfoque puede en muchas realizaciones proporcionar una señal de imagen mejorada con una representación de una escena adecuada para una generación local flexible, eficiente y de alto rendimiento de imágenes de vista para diferentes posiciones/poses de vista. En muchas realizaciones, puede permitir una mejor calidad de imagen percibida y/o una tasa de datos reducida.
El enfoque puede permitir una generación particularmente eficiente y/o de baja complejidad de una señal de imagen en muchas realizaciones y escenarios.
Las imágenes pueden ser imágenes en 3D que comprenden información de profundidad, tal como específicamente una imagen en 2D o un mapa de textura con una imagen/mapa de profundidad asociado. Seleccionar el conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a las calidades de predicción puede incluir seleccionar imágenes del conjunto de imágenes candidatas que tienen una medida de calidad de predicción más baja para incluirlas en el conjunto de imágenes seleccionadas.
De acuerdo con una característica opcional de la invención, determinar la calidad de predicción para la primera imagen comprende: determinar una pluralidad de píxeles de la primera imagen para la que los valores de píxeles correspondientes de la primera imagen y la primera imagen predicha cumplen un criterio de similitud; determinar la calidad de predicción para la primera imagen en respuesta a una propiedad de la pluralidad de píxeles.
Esto puede proporcionar un enfoque particularmente ventajoso en muchas realizaciones.
De acuerdo con una característica opcional de la invención, la propiedad es un número de píxeles y la calidad de predicción es una función monótonamente creciente del número de píxeles en la pluralidad de píxeles.
De acuerdo con una característica opcional de la invención, determinar el subconjunto de píxeles comprende determinar un subconjunto de píxeles para la primera imagen a partir de píxeles de la primera imagen no incluidos en la pluralidad de píxeles de la imagen.
De acuerdo con una característica opcional de la invención, determinar un subconjunto de píxeles para una primera imagen seleccionada del conjunto de imágenes seleccionadas comprende: para al menos una imagen candidata del conjunto candidato de imágenes excluyendo el conjunto de imágenes seleccionadas: determinar, para píxeles de al menos una imagen candidata, un cambio de error indicativo de un cambio en la diferencia entre un píxel de al menos una imagen candidata y una predicha píxel para una predicción del píxel en base al conjunto de imágenes incluidas y la primera imagen seleccionada en relación con una predicción del píxel basada solamente en el conjunto de imágenes incluidas; y la generación de una imagen de cambio de error para la primera imagen seleccionada, la imagen de cambio de error que comprende valores de píxeles determinados a partir de los cambios de error de al menos una imagen candidata por un cambio de pose de vista de una pose de vista de al menos una imagen candidata a una pose de vista de la primera imagen seleccionada; y seleccionar el subconjunto de píxeles en respuesta a la imagen de cambio de error.
Esto puede proporcionar un enfoque particularmente ventajoso en muchas realizaciones. En particular, puede proporcionar un enfoque eficiente para seleccionar píxeles para las imágenes parciales en base a qué tan bien la inclusión de un píxel puede mejorar la predicción de otras imágenes.
Seleccionar el subconjunto de píxeles en respuesta a la imagen de cambio de error puede ser, por ejemplo, al seleccionar píxeles para los que el valor de cambio de error es indicativo de una mejora por encima de un umbral. De acuerdo con una característica opcional de la invención, determinar el subconjunto de píxeles para la primera imagen seleccionada comprende determinar los cambios de error para una pluralidad de imágenes candidatas del conjunto de imágenes candidatas, y generar la imagen de cambio de error al combinar valores de cambio de error determinados a partir de diferentes imágenes candidatas para el mismo píxel de la primera imagen seleccionada. Esto puede proporcionar un mejor rendimiento al considerar de manera eficiente cómo pueden mejorarse las predicciones de una pluralidad de imágenes candidatas al incluir un píxel específico.
De acuerdo con una característica opcional de la invención, generar imágenes predichas para el conjunto de imágenes candidatas comprende para una primera imagen candidata del conjunto de imágenes candidatas: proporcionar imágenes de predicción intermedias de la primera imagen candidata para cada una de las imágenes del conjunto de imágenes incluidas; y generar la primera imagen predicha al combinar las imágenes de predicción intermedias.
Esto puede en muchas realizaciones permitir un funcionamiento de predicción más eficiente.
De acuerdo con una característica opcional de la invención, la iteración comprende además: almacenar imágenes de predicción intermedias; y en el que proporcionar imágenes de predicción intermedias comprende recuperar imágenes de predicción intermedias almacenadas para imágenes del conjunto de imágenes incluidas para las que se han generado y almacenado imágenes de predicción intermedias en una iteración anterior; y predecir imágenes de predicción intermedias para cualquier imagen del conjunto de imágenes de referencia para las que no se ha almacenado ninguna imagen de predicción intermedia en una iteración anterior.
Esto puede proporcionar una operación altamente eficiente en muchas realizaciones. El enfoque puede permitir la predicción incremental, al disminuir de esta manera sustancialmente la cantidad de operaciones de predicción necesarias.
De acuerdo con una característica opcional de la invención, la combinación es una combinación ponderada y el peso para un píxel en función de una profundidad del píxel.
De acuerdo con una característica opcional de la invención, las iteraciones se detienen cuando una calidad de predicción más baja supera un umbral.
En otras realizaciones, las iteraciones pueden, por ejemplo, detenerse cuando el conjunto de imágenes candidatas está vacío.
De acuerdo con una característica opcional de la invención, el subconjunto de imágenes seleccionadas comprende una pluralidad de imágenes seleccionadas en al menos una iteración.
De acuerdo con una característica opcional de la invención, las imágenes son tramas de una secuencia de video, y el procedimiento incluye el uso de una disposición del conjunto de imágenes incluidas para una pluralidad de tramas. Esto puede proporcionar una mejor consistencia temporal en muchas realizaciones.
De acuerdo con una característica opcional de la invención, el procedimiento comprende además generar una máscara correspondiente al subconjunto de píxeles y modificar el subconjunto de píxeles en respuesta a la aplicación de un filtro espacial a la máscara.
De acuerdo con otro aspecto de la invención, se proporciona un aparato para generar una señal de imagen, el aparato que comprende: un receptor para recibir un conjunto candidato de imágenes que comprende una pluralidad de imágenes de una escena, al menos algunas imágenes del conjunto candidato de imágenes son para diferentes poses de vista de la escena; un selector de referencia para seleccionar al menos una imagen del conjunto de imágenes candidatas e inicializar un conjunto de imágenes incluidas para incluir al menos una imagen; un iterador para realizar iterativamente los pasos de: generar imágenes predichas para las imágenes del conjunto de imágenes candidatas a partir de las imágenes del conjunto de imágenes incluidas; determinar una medida de calidad de predicción para cada imagen del conjunto de imágenes candidatas, la medida de calidad de predicción para una primera imagen del conjunto de imágenes candidatas es indicativa de una diferencia entre la primera imagen y una primera imagen predicha para la primera imagen; seleccionar un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a las calidades de predicción; para cada imagen del conjunto de imágenes seleccionadas, determinar un subconjunto de píxeles en respuesta a las calidades de predicción de píxeles de los píxeles de la imagen; generar un conjunto de imágenes parciales correspondientes al conjunto de imágenes seleccionadas, la imagen parcial para una imagen determinada del conjunto seleccionado de imágenes que comprende solo los píxeles del subconjunto de píxeles para la imagen determinada; incluir el conjunto de imágenes parciales en el conjunto de imágenes incluidas; y eliminar el conjunto de imágenes seleccionadas del conjunto de imágenes candidatas; un circuito de salida para generar la señal de imagen que comprende datos de imagen de las imágenes en el conjunto de imágenes incluidas.
Estos y otros aspectos, características y ventajas de la invención serán evidentes y aclarados con referencia a las realizaciones descritas de aquí en adelante.
Breve descripción de las figuras
Las realizaciones de la invención se describirán, sólo a modo de ejemplo, con referencia a los dibujos, en los que La Figura 1 ilustra un ejemplo de una disposición para proporcionar una experiencia de realidad virtual;
La Figura 2 ilustra un ejemplo de elementos de un transmisor de señal de imagen de acuerdo con algunas realizaciones de la invención;
La Figura 3 ilustra un ejemplo de elementos de un receptor de señal de imagen de acuerdo con algunas realizaciones de la invención;
La Figura 4 ilustra un ejemplo de elementos de un iterador para un transmisor de señal de imagen de acuerdo con algunas realizaciones de la invención; y
La Figura 5 ilustra un ejemplo de un procedimiento para generar datos de imagen para una señal de imagen de acuerdo con algunas realizaciones de la invención.
Descripción detallada de las realizaciones
Las experiencias virtuales que permiten a un usuario moverse en un mundo virtual son cada vez más populares y se están desarrollando servicios para satisfacer dicha demanda. Sin embargo, la provisión de servicios de realidad virtual eficientes es muy desafiante, en particular si la experiencia es en base a una captura de un entorno del mundo real en lugar de un mundo artificial totalmente virtualmente generado.
En muchas aplicaciones de realidad virtual, se determina una entrada de pose del espectador que refleja la pose de un espectador virtual en la escena. El aparato/sistema/aplicación de realidad virtual genera una o más imágenes correspondientes a las vistas y ventanas de visualización de la escena para un espectador correspondiente a la pose del espectador.
Típicamente, la aplicación de realidad virtual genera una salida tridimensional en forma de imágenes de vista separadas para los ojos izquierdo y derecho. Estos pueden presentarse al usuario por los medios adecuados, como las pantallas oculares izquierda y derecha normalmente individuales de un auricular VR. En otras realizaciones, la imagen puede, por ejemplo, presentarse en una pantalla autoestereoscópica (en cuyo caso puede generarse un mayor número de imágenes de vista para la pose del espectador), o de hecho en algunas realizaciones solo puede generarse una sola imagen bidimensional (por ejemplo, al usar una pantalla bidimensional convencional).
La entrada de pose del espectador puede determinarse de diferentes maneras en diferentes aplicaciones. En muchas realizaciones, el movimiento físico de un usuario puede rastrearse directamente. Por ejemplo, una cámara que inspecciona un área de un usuario puede detectar y rastrear la cabeza del usuario (o incluso los ojos). En muchas realizaciones, el usuario puede usar un auricular VR que puede rastrearse por medios externos y/o internos. Por ejemplo, los auriculares pueden comprender acelerómetros y giroscopios que proporcionan información sobre el movimiento y la rotación de los auriculares y, por lo tanto, de la cabeza. En algunos ejemplos, los auriculares VR pueden transmitir señales o comprender identificadores (por ejemplo, visuales) que permiten que un sensor externo determine el movimiento de los auriculares VR.
En algunos sistemas, la pose del espectador puede proporcionarse por medios manuales, por ejemplo, por el usuario al controlar manualmente un joystick o una entrada manual similar. Por ejemplo, el usuario puede mover manualmente el visor virtual en la escena al controlar un primer joystick analógico con una mano y controlar manualmente la dirección en la que el visor virtual está moviendo manualmente un segundo joystick analógico con la otra mano.
En algunas aplicaciones puede usarse una combinación de enfoques manuales y automatizados para generar la pose del espectador de entrada. Por ejemplo, un auricular puede rastrear la orientación de la cabeza y el movimiento/posición del espectador en la escena puede controlarse por el usuario al usar un joystick.
La generación de imágenes en base a una representación adecuada del mundo virtual/entorno/escena. En algunas aplicaciones, puede proporcionarse un modelo tridimensional completo para la escena y las vistas de la escena desde una pose específica del espectador pueden determinarse al evaluar este modelo. En otros sistemas, la escena puede representarse por datos de imagen correspondientes a vistas capturadas desde diferentes poses de captura, y específicamente puede representarse por una pluralidad de imágenes de origen con profundidad asociada, donde cada imagen representa la escena desde un punto de vista diferente. En dichos enfoques, las imágenes de vista para otras poses que no sean las poses de captura pueden generarse por el procesamiento tridimensional de imágenes, como el uso específico de algoritmos de cambio de vista. En los sistemas en los que la escena se describe/hace referencia a los datos de vista almacenados para puntos de vista/posiciones/posturas discretos, estos también pueden denominarse puntos de vista/posiciones/poses. Por lo general, cuando un entorno del mundo real se ha capturado por la captura de imágenes desde diferentes puntos/posiciones/poses, estos puntos/posiciones/poses también son los puntos/posiciones/poses.
En consecuencia, una aplicación de realidad virtual típica proporciona (al menos) imágenes correspondientes a las ventanas de visualización de la escena para la pose actual del espectador con las imágenes que se actualizan dinámicamente para reflejar los cambios en la pose del espectador y con las imágenes generadas en base a los datos que representan la escena virtual/entorno/mundo.
En el campo, los términos colocación y pose se usan como un término común para posición y/o dirección/orientación. La combinación de la posición y la dirección/orientación de, por ejemplo, un objeto, una cámara, una cabeza o una vista puede denominarse pose o ubicación. Por lo tanto, una indicación de colocación o pose puede comprender seis valores/componentes/grados de libertad con cada valor/componente que normalmente describe una propiedad individual de la posición/ubicación o la orientación/dirección del objeto correspondiente. Por supuesto, en muchas situaciones, una colocación o pose puede considerarse o representarse con menos componentes, por ejemplo, si uno o más componentes se consideran fijos o irrelevantes (por ejemplo, si se considera que todos los objetos están a la misma altura y tienen una orientación horizontal, cuatro componentes pueden proporcionar una representación completa de la pose de un objeto). A continuación, el término pose se usa para referirse a una posición y/u orientación que puede representarse por uno a seis valores (correspondientes a los máximos grados de libertad posibles).
Muchas aplicaciones de realidad virtual en base a una pose que tiene los grados máximos de libertad, es decir, tres grados de libertad de cada una de las posiciones y la orientación, lo que resulta en un total de seis grados de libertad. Por lo tanto, una pose puede representarse por un conjunto o vector de seis valores que representan los seis grados de libertad y, por tanto, un vector de pose puede proporcionar una posición tridimensional y/o una indicación de dirección tridimensional. Sin embargo, se apreciará que, en otras realizaciones, la pose puede representarse por menos valores.
Una pose puede ser al menos una de una orientación y una posición. Un valor de pose puede ser indicativo de al menos uno de un valor de orientación y un valor de posición.
Un sistema o entidad en base a proporcionar el máximo grado de libertad para el espectador normalmente se denomina como tener 6 Grados de Libertad (6DoF). Muchos sistemas y entidades proporcionan solo una orientación o posición y estos se conocen normalmente como que tienen 3 Grados de Libertad (3DoF).
En algunos sistemas, la aplicación de realidad virtual puede proporcionarse localmente a un espectador, por ejemplo, por un dispositivo independiente que recibe datos de la escena (independientemente de la pose específica del espectador para un espectador local) desde un dispositivo/servidor remoto y luego genera localmente imágenes de vista para las vistas actuales específicas del visor local. Por lo tanto, en muchas aplicaciones, especialmente para servicios de difusión, un origen puede transmitir datos de la escena en forma de una representación de imagen (incluido el video) de la escena que es independiente de la pose del espectador. Por ejemplo, puede recibirse una representación de imagen que comprenda una pluralidad de imágenes de vistas capturadas y mapas de profundidad asociados. Los clientes individuales pueden luego sintetizar localmente las imágenes de vista correspondientes a la pose actual del espectador.
Una aplicación particular que está atrayendo un interés particular es donde se admite una cantidad limitada de movimiento de manera que las vistas presentadas se actualizan para seguir pequeños movimientos y rotaciones correspondientes a un visor sustancialmente estático que realiza solo pequeños movimientos y rotaciones de la cabeza. Por ejemplo, un espectador sentado puede girar la cabeza y moverla ligeramente con las vistas/imágenes presentadas que se adaptan para seguir estos cambios de pose. Tal enfoque puede proporcionar una experiencia de vídeo altamente inmersiva, por ejemplo. Por ejemplo, un espectador que ve un evento deportivo puede sentir que está presente en un lugar particular de la arena.
Dichas aplicaciones de libertad limitada tienen la ventaja de proporcionar una experiencia mejorada sin requerir una representación precisa de una escena desde muchas posiciones diferentes, lo que reduce sustancialmente los requisitos de captura. De manera similar, la cantidad de datos que deben proporcionarse a un renderizador puede reducirse sustancialmente. De hecho, en muchos escenarios, solo deben proporcionarse datos de imagen y, por lo general, de profundidad para un solo punto de vista, y el renderizador local puede generar las vistas deseadas a partir de esto. Con el fin de soportar las rotaciones de la cabeza, normalmente se desea que una gran área de la vista desde el punto de vista esté representada por los datos proporcionados y preferentemente toda la superficie de una esfera de vista centrada en el punto de vista esté cubierta por la imagen proporcionada y los datos de profundidad.
El enfoque puede ser especialmente muy adecuado para aplicaciones en las que los datos deben comunicarse desde un origen a un destino a través de un canal de comunicación limitado por bandas, como por ejemplo para una aplicación de difusión o cliente servidor.
La Figura 1 ilustra un ejemplo de un sistema de realidad virtual en el que un dispositivo cliente de realidad virtual remoto 101 se pone en contacto con un servidor de realidad virtual 103, por ejemplo, a través de una red 105, como Internet. El servidor 103 puede disponerse para admitir simultáneamente un número potencialmente grande de dispositivos cliente 101.
El servidor VR 103 puede, por ejemplo, soportar una experiencia de difusión al transmitir datos de imagen y profundidad para una pluralidad de puntos de vista con los dispositivos cliente que luego se disponen para procesar esta información para sintetizar localmente las imágenes de vista correspondientes a la pose actual.
Con el fin de proporcionar una distribución eficiente, es deseable que la tasa de datos se mantenga lo más baja posible para una calidad de imagen determinada, y por lo tanto puede incluir específicamente la búsqueda de reducir la cantidad de datos redundantes que se generan.
La Figura 2 ilustra un ejemplo de un aparato para generar una señal de imagen que incluye una representación de una pluralidad de imágenes de la escena desde diferentes poses de vista (posturas de anclaje). El aparato también se denominará transmisor de señal de imagen 200. El transmisor de señal de imagen 200 puede, por ejemplo, estar comprendido en el servidor VR 103 de la Figura 1.
La Figura 3 ilustra un ejemplo de un aparato para renderizar imágenes de vista en base a una señal de imagen recibida que incluye una representación de una pluralidad de imágenes de la escena. El aparato puede recibir específicamente la señal de datos generada por el aparato de la Figura 2 y proceda a procesar esto con el fin de renderizar imágenes para poses de vista específicas. El aparato de la Figura 3 también se denominará receptor de señal de imagen 300. El receptor de señal de imagen 300 puede por ejemplo estar comprendido en el dispositivo cliente 101 de la Figura 1.
El transmisor de señal de imagen 200 comprende un receptor de origen de imagen 201 que se dispone para recibir una pluralidad de imágenes de origen de la escena. Las imágenes de origen pueden representar vistas de la escena desde diferentes poses de captura. Por ejemplo, las imágenes de origen pueden comprender imágenes de una fila de poses de captura equidistantes.
En muchas realizaciones, las imágenes de origen pueden ser imágenes en 3D que comprenden imágenes en 2D con información de profundidad asociada. Las imágenes 2D pueden ser específicamente imágenes de visualización para las ventanas de visualización de la escena desde la pose de captura correspondiente, y la imagen 2D puede ir acompañada de una imagen de profundidad o mapa que comprende valores de profundidad para cada uno de los píxeles de la imagen 2D. La imagen 2D puede ser un mapa de textura.
Los valores de profundidad pueden ser, por ejemplo, valores de disparidad o valores de distancia, por ejemplo, indicados por una coordenada z. En algunas realizaciones, una imagen de origen puede ser una imagen 3D en forma de mapa de textura con una malla 3D asociada. En algunas realizaciones, dichos mapas de textura y representaciones de malla pueden convertirse en representaciones de profundidad de imagen plus por el receptor de origen de imagen antes de su posterior procesamiento por el transmisor de señal de imagen 200.
En consecuencia, el receptor de origen de imagen 201 recibe una pluralidad de imágenes de origen que caracterizan y representan la escena a partir de diferentes poses. Dicho conjunto de imágenes de origen permitirá generar imágenes de vista para otras poses al usar algoritmos como cambio de vista como el que será conocido por la persona experta. En consecuencia, el transmisor de señal de imagen 200 se dispone para generar una señal de imagen que comprende datos de imagen para las imágenes de origen y transmitir estos datos a un dispositivo remoto para la renderización local. Sin embargo, la transmisión directa de todas las imágenes de origen requerirá una tasa de datos increíblemente alta y comprenderá una gran cantidad de información redundante.
El transmisor de señal de imagen 200 se dispone para reducir la tasa de datos al generar imágenes parciales en las que se ha eliminado la información redundante. Las imágenes parciales se combinan y codifican posteriormente para generar la señal de imagen.
El receptor de origen de imagen 201 se acopla a un selector de píxeles 203 que se dispone para generar un conjunto de imágenes a partir de las imágenes de origen donde al menos una del conjunto de imágenes es una imagen parcial. El selector de píxeles 203 puede generar el conjunto de imágenes parciales al generar versiones parciales de una o normalmente la mayoría (o incluso todas) de las imágenes de origen al seleccionar un subconjunto de los píxeles en la imagen de origen para incluir en la señal de imagen. Una imagen parcial también se denominará imagen recortada y la selección de un subconjunto de píxeles de una imagen para generar una imagen parcial de la misma también se denominará recortada de la imagen.
Por lo tanto, la salida del selector de píxeles 203 puede ser un conjunto de imágenes recortadas o parciales correspondientes a las imágenes de origen, pero con una o normalmente la mayoría de las imágenes siendo versiones parciales de la imagen de origen correspondiente. El selector de píxeles 203 busca seleccionar este subconjunto de píxeles para incluirlos en una imagen parcial de manera que la redundancia general del conjunto generado de imágenes parciales se reduzca o preferentemente se minimice. Las imágenes parciales generadas también pueden incluir una o más imágenes originales de origen que no han sido recortadas.
El selector de píxeles 203 se acopla a un generador de imágenes 205 que alimenta el conjunto de imágenes parciales. El generador de imágenes 205 se dispone para combinar las imágenes parciales en imágenes combinadas donde cada imagen puede representar una o más de las imágenes parciales. Específicamente, una imagen combinada puede incluir píxeles que se originan a partir de una pluralidad de imágenes parciales. Por ejemplo, los píxeles de una imagen parcial pueden insertarse en áreas no usadas de otra imagen parcial. Puede verse que el generador de imágenes 205 empaqueta las imágenes parciales en imágenes combinadas que están más densamente empaquetadas.
El generador de imágenes 205 genera menos imágenes, pero menos dispersas. El conjunto de imágenes combinadas se alimenta a un codificador 207 que procede a realizar la codificación de las imágenes. Dado que el generador de imágenes 205 ha reducido el número de imágenes a transmitir, normalmente se logra una codificación más eficiente. Además, el empaquetado de las imágenes parciales en imágenes combinadas puede realizarse normalmente de manera que las imágenes resultantes sean muy adecuadas para la codificación.
Una ventaja particular del enfoque es que la representación de la escena por imágenes parciales se logra de una manera que permite que los enfoques convencionales de codificación de imágenes y videos se realicen por el codificador 207. Por ejemplo, en muchas realizaciones se codifican formatos como High Efficiency Video Coding (HEVC), también conocido como H.265 y MPEG-H Parte 2, o puede usarse Versatile Video Coding (VVC) desarrollado por el Joint Video Exploration Team (JVET).
El transmisor de señal de imagen 200 de la Figura 2, en consecuencia, puede proporcionar un enfoque eficiente para generar una señal de imagen eficiente que represente una escena a partir de un rango de posturas de vista. La señal de imagen se transmite a un receptor de señal de imagen 300 que comprende un decodificador 301 que se dispone para recibir la señal de imagen y decodificarla para generar el conjunto de imágenes combinadas que se alimentaron al codificador 207. Por lo tanto, el decodificador 301 puede disponerse para realizar una decodificación de acuerdo con el estándar que fue usado por el codificador 207, como por ejemplo realizar una decodificación HEVC o VVC.
Se apreciará que el transmisor de señal de imagen 200 y el receptor de señal de imagen 300 comprenden además la funcionalidad requerida para comunicar la señal de imagen, incluida la funcionalidad para codificar, modular, transmitir, recibir, etc. la señal de imagen. Se apreciará que dicha funcionalidad dependerá de las preferencias y requisitos de la realización individual y que dichas técnicas serán conocidas por la persona experta en la técnica y, por lo tanto, por claridad y brevedad, no se discutirán más a fondo en la presente memoria.
El decodificador 301 se acopla a un recuperador de imágenes 303 que se dispone para recuperar las imágenes parciales de las imágenes combinadas recibidas. En consecuencia, el recuperador de imágenes 303 puede realizar la función inversa del generador de imágenes 205 para dividir los píxeles de una imagen combinada en imágenes parciales individuales. Por lo tanto, mientras que la imagen combinada normalmente comprende píxeles correspondientes a una pluralidad de diferentes puntos de vista o poses, las imágenes parciales se generan de manera que cada imagen comprende píxeles que se originan en una sola imagen de origen y por lo tanto corresponden a una sola pose de vista.
En muchas realizaciones, la señal de imagen también comprende una o más imágenes de origen completas y la salida del recuperador de imágenes 303 proporciona en consecuencia un conjunto de imágenes correspondientes a las imágenes de origen, y por lo tanto representa la escena desde un rango de poses de vista, con una o más de las imágenes siendo solo una imagen parcial. Sin embargo, la parte que falta de una imagen parcial determinada normalmente corresponde a información redundante que se dispone de otras imágenes del conjunto de imágenes de salida del recuperador de imágenes 303.
Las imágenes se alimentan a un primer renderizador 305 que se dispone para generar nuevas imágenes de vista en base a las imágenes parciales establecidas (y cualquier imagen completa) recibidas. Estas imágenes corresponden a las imágenes originales de origen. Se apreciará que puede usarse cualquier algoritmo adecuado para renderizar una imagen de vista correspondiente a una pose de espectador determinada. Por ejemplo, el primer renderizador 305 puede disponerse para generar primero una imagen de vista en base a una imagen de origen completa recibida. Esto normalmente puede resultar en una serie de agujeros resultantes de la oclusión debido al punto de vista cambiado. Dichos agujeros pueden rellenarse al usar datos de las imágenes parciales. Se apreciará que la persona experta conocerá muchos algoritmos y enfoques diferentes para sintetizar vistas para fines específicos en base a imágenes desde otros puntos de vista y que cualquier algoritmo adecuado puede ser implementado por el primer renderizador 305.
En algunas realizaciones, el receptor de señal de imagen 300 puede incluir un segundo renderizador 307 que se dispone para sintetizar imágenes de vista directamente a partir de las imágenes combinadas recibidas. En muchas realizaciones, el receptor de señal de imagen 300 comprenderá el primer renderizador 305 y el recuperador de imágenes 303, o el segundo renderizador 307. Se apreciará que el segundo renderizador 307 puede usar cualquier enfoque adecuado para renderizar imágenes de vista para una pose de espectador determinada.
El primer y segundo renderizador pueden usar el mismo procedimiento de síntesis y parámetros que pueden ser ventajosos, ya que pueden aumentar el valor de las predicciones.
Un problema particularmente crítico de un enfoque en base a imágenes parciales, como el enfoque de la Figura 2 y 3, es la de cómo se generan las imágenes parciales y cómo seleccionar qué píxeles incluir en las imágenes parciales. La Figura 4 ilustra un ejemplo de elementos de una posible implementación del selector de píxeles 203 que en muchas realizaciones y escenarios puede proporcionar una generación particularmente ventajosa y eficiente de un conjunto de imágenes parciales a partir de un conjunto de imágenes de origen. La Figura 5 ilustra un ejemplo de un procedimiento de funcionamiento del transmisor de señal de imagen 200 con énfasis específico en el funcionamiento del selector de píxeles 203 de la Figura 4. Sin embargo, se apreciará que el enfoque de las Figuras 4 y 5 pueden aplicarse a otras realizaciones del transmisor de señal de imagen 200 y el receptor de señal de imagen 300 de las Figuras 2 y 3.
El enfoque del selector de píxeles 203 es en base a específicamente en un procesamiento iterativo de las imágenes de origen de entrada. Se genera un conjunto de imágenes candidatas que comprende imágenes que aún no se han procesado (y que se inicializa comprendiendo todas las imágenes de origen). Luego, el proceso procede iterativamente a seleccionar una o más de las imágenes candidatas y las agrega a un conjunto de imágenes incluidas después de haber sido recortadas. Por lo tanto, las imágenes candidatas iterativamente se seleccionan, recortan y luego se mueven al identificador secundario. El enfoque puede proporcionar una forma eficiente de seleccionar cómo recortar las imágenes, y específicamente el orden en que hacerlo para proporcionar un conjunto seleccionado de imágenes recortadas o parciales que pueden proporcionar una representación más precisa y completa de la escena para su uso en imágenes de vista de generación local.
Como se mencionó anteriormente, el receptor de origen de imagen 201 recibe un conjunto de imágenes que comprende una pluralidad de imágenes de la escena y con al menos algunas, y normalmente todas ellas, que son para diferentes poses de vista de la escena. Las imágenes pueden ser específicamente imágenes 3d que comprenden un mapa de imagen/textura 2D y un mapa de profundidad asociado.
El selector de píxeles 203 comprende un receptor de entrada 401 que realiza el paso 501 en el que recibe el conjunto de imágenes de origen del receptor de origen de imágenes 201. Por lo tanto, el receptor de entrada 401 recibe un conjunto de imágenes de origen que normalmente son mapas de textura y mapas de profundidad para un rango de poses de vista. El receptor de entrada 401 inicia el conjunto de imágenes candidatas (el conjunto también se denominará simplemente como el conjunto candidato).
El receptor de entrada 401 se acopla a un selector de referencia 403 que realiza el paso 503 en la que se inicializa un conjunto de imágenes incluidas al seleccionar una o más de las imágenes candidatas e incluyéndolas en el conjunto de imágenes incluidas. El conjunto de imágenes incluidas comprende las imágenes (normalmente imágenes parciales) de las imágenes candidatas para las que se incluyen datos de imagen en la señal de imagen generada por el transmisor de señal de imagen 200. El conjunto de imágenes incluidas se inicializa en el paso 503 al seleccionar normalmente una imagen candidata como imagen incluida.
La imagen seleccionada normalmente se incluye como una imagen completa y por lo tanto se incluyen todos los píxeles de las imágenes seleccionadas. La imagen seleccionada puede proporcionar normalmente más información de la escena que cualquier otra imagen incluida (ya que serán normalmente imágenes parciales) y puede considerarse una imagen de referencia inicial para la síntesis de la imagen por un renderizador remoto, así como una referencia para la selección de otras imágenes incluidas y para determinar qué píxeles de la imagen candidata correspondiente deben seleccionarse para la imagen parcial.
Se apreciará que pueden usarse diferentes enfoques y criterios para seleccionar las imágenes de referencia iniciales para el conjunto de imágenes incluidas. En algunas realizaciones, el selector de referencia 403 puede simplemente seleccionar la imagen candidata correspondiente a la imagen más central. En otras realizaciones, la imagen de referencia puede seleccionarse en base a un análisis del mapa de profundidad asociado. Por ejemplo, para seleccionar una imagen que incluya la mayor cantidad posible del fondo, puede seleccionarse la imagen candidata que tenga el mayor número de píxeles con una profundidad por encima de un umbral determinado.
En algunas realizaciones, las imágenes de referencia pueden, por ejemplo, ser en base a una similitud de ventana de visualización para las ventanas de visualización de las diferentes imágenes candidatas. Por ejemplo, una similitud de ventana de visualización puede calcularse, por ejemplo, al mostrar un conjunto de píxeles de una vista (es decir, una imagen de origen/pose de captura) y proyectándolos a otra vista, y luego al determinar la similitud entre esta imagen sintetizada y la imagen original. La métrica podría hacerse simétrica al repetir el proceso en la dirección opuesta.
Como ejemplo de una medida de similitud, puede determinarse la diferencia entre los valores de píxeles sintetizados y originales y esto puede promediarse en toda la imagen/ventana de visualización. Como otro ejemplo, puede contarse el número de píxeles para los que un error está por debajo de un umbral dado y el número de dichos píxeles puede usarse como medida de similitud.
El proceso para una imagen candidata determinarse puede realizarse para todas las demás imágenes candidatas y las medidas de similitud pueden combinarse en una sola medida de similitud para la imagen candidata. El proceso puede repetirse además para todas (o algunas) de las imágenes candidatas y, finalmente, la imagen candidata puede seleccionarse como la que tiene la medida de similitud más alta en general.
Por lo tanto, la imagen de referencia puede seleccionarse como la imagen que permite la mejor predicción promedio/síntesis de vista de las otras imágenes candidatas.
El selector 403 se acopla a un iterador 405 que se dispone para expandir iterativamente el conjunto de imágenes incluidas para incluir versiones parciales de las imágenes candidatas. En cada iteración, se selecciona un subconjunto, y normalmente una, de las imágenes candidatas para su inclusión en el conjunto de imágenes incluidas. Para cada imagen candidata seleccionada, se genera una imagen parcial y se agrega al conjunto de imágenes incluidas y la imagen candidata seleccionada se elimina del conjunto de imágenes candidatas.
En algunas realizaciones, el iterador 405 continúa iterando el proceso hasta que se han seleccionado todas las imágenes candidatas. En otras realizaciones, el proceso iterativo puede detenerse antes de que se hayan seleccionado todas las imágenes candidatas.
El proceso iterativo puede dar como resultado que el orden en que se seleccionan las imágenes candidatas varíe en función de las características de las imágenes. Como las imágenes parciales dependen de las imágenes previamente seleccionadas (y de las imágenes parciales ya incluidas en el conjunto de imágenes incluidas), el orden diferente puede dar como resultado diferentes imágenes parciales. El proceso iterativo busca seleccionar imágenes candidatas en un orden que resulte en la generación de imágenes parciales que pueden reducir la tasa de datos, y que específicamente pueden adecuarse para la codificación eficiente de imágenes por el codificador 207. En muchas realizaciones, el proceso iterativo puede tratar de reducir el número de píxeles comprendidos en las imágenes parciales.
La iteración comienza en el paso 505 en el que el iterador 405 genera imágenes predichas para las imágenes del conjunto de imágenes candidatas a partir de las imágenes del conjunto de imágenes incluidas. Una imagen predicha para una primera imagen candidata del conjunto de imágenes candidatas de una primera imagen incluida del conjunto de imágenes incluidas puede ser una imagen para la pose de vista de la primera imagen candidata generada por síntesis de vista de la primera imagen incluida. Como la primera imagen incluida y la primera imagen candidata corresponden a imágenes de origen para diferentes poses de vista, la síntesis de vista incluye un cambio de pose de vista, y normalmente un cambio de posición de vista. La síntesis de vista puede ser una síntesis de imagen de cambio de vista. Por lo tanto, la imagen predicha para una primera imagen candidata a partir de una primera imagen incluida puede ser una imagen que refleje qué tan bien puede predecirse/estimarse la ventana de visualización desde la pose de vista de la imagen candidata a partir de la primera imagen incluida.
Una predicción de una primera imagen a partir de una segunda imagen puede ser específicamente una síntesis de vista de una imagen en la pose de vista de la primera imagen en base a la segunda imagen (y la pose de vista de esta). Por tanto, una operación de predicción para predecir una primera imagen a partir de una segunda imagen puede ser un cambio de pose de vista de la segunda imagen desde la pose de vista asociada con esto a la pose de vista de la primera imagen.
Se apreciará que pueden usarse diferentes procedimientos y algoritmos para la síntesis y predicción de vistas en diferentes realizaciones. En muchas realizaciones, puede usarse un algoritmo de síntesis/predicción de vista que como entrada toma una pose de vista de síntesis para la que se va a generar la imagen sintetizada, y una pluralidad de imágenes de entrada, cada una de las que está asociada con una pose de vista diferente. El algoritmo de síntesis de vista puede generar la imagen sintetizada para esta pose de vista en base a las imágenes de entrada que normalmente pueden incluir tanto un mapa de textura como profundidad.
Se conocen varios de estos algoritmos, y puede usarse cualquier algoritmo adecuado sin restar valor a la invención. Como ejemplo de dicho enfoque, pueden generarse primero imágenes intermedias de síntesis/predicción para cada imagen de entrada. Esto puede lograrse, por ejemplo, al generar primero una malla para la imagen de entrada en base al mapa de profundidad de la imagen. La malla puede entonces deformarse/desplazarse de la pose de vista de la imagen de entrada a la pose de vista de síntesis en base a cálculos geométricos. Los vértices de la malla resultante pueden proyectarse sobre la imagen intermedia de síntesis/predicción y el mapa de textura se puede superponer a esta imagen. Dicho proceso puede, por ejemplo, implementarse al usar el procesamiento de vértices y sombreadores de fragmentos conocidos, por ejemplo, de tuberías gráficas estándar.
De esta manera, puede generarse una imagen intermedia de síntesis/predicción (en adelante, solo imagen de predicción intermedia) para la pose de vista de síntesis para cada una de las imágenes de entrada.
Las imágenes de predicción intermedias pueden combinarse, por ejemplo, por una combinación/suma ponderada o por una combinación de selección. Por ejemplo, en algunas realizaciones, cada píxel de la imagen de síntesis/predicción para la pose de vista de síntesis puede generarse al seleccionar el píxel de la imagen de predicción intermedia que está más adelante, o el píxel puede generarse por una suma ponderada del valor de píxel correspondiente para todas las imágenes de predicción intermedias donde el peso de una imagen de predicción intermedia determinada depende de la profundidad determinada para ese píxel. La operación de combinación también se conoce como operación de mezcla.
En el paso 505, el iterador 405 puede proceder a generar una imagen predicha para una primera imagen candidata en base a las imágenes del conjunto de imágenes incluidas, es decir, para cada una de las imágenes ya incluidas. Por lo tanto, la predicción puede (aparte de la primera iteración típica) ser en base a una pluralidad de imágenes de las que algunas imágenes son imágenes parciales.
Un sintetizador de vista puede, por ejemplo, proceder a generar una imagen intermedia para cada imagen incluida al cambiar está a la pose de vista de la primera imagen candidata. A continuación, puede generar la imagen predicha para la primera imagen candidata al mezclar estas imágenes de predicción intermedias. Como algunas de las imágenes son imágenes parciales que comprenden datos de imagen para solo un subconjunto de píxeles, la mezcla/combinación para al menos algunos píxeles solo comprenderá píxeles de un subconjunto de las imágenes de predicción intermedia (es decir, las imágenes de predicción intermedias también pueden ser imágenes parciales). Por lo tanto, para una primera imagen candidata, se genera una primera imagen predicha en base a las imágenes incluidas, es decir, en base a las imágenes que ya están en el conjunto de imágenes incluidas. En consecuencia, esta imagen predicha puede reflejar qué tan bien puede predecirse la primera imagen candidata a partir de los datos de imagen que ya se seleccionaron para formar parte de la señal de imagen. El proceso puede repetirse para todas las imágenes candidatas y por lo tanto puede generarse una imagen predicha para cada imagen candidata, y por lo tanto el paso 505 genera una imagen predicha para cada imagen candidata en base a las imágenes incluidas ya seleccionadas.
El iterador 405 continúa en el paso 507 en la que se determina una calidad de predicción para cada una de las imágenes candidatas donde la medida de calidad de predicción para una imagen candidata determinada es una medida indicativa de la diferencia entre la imagen candidata y la imagen predicha para la imagen candidata.
Por lo tanto, la medida de calidad de predicción es una medida para la que un valor creciente puede indicar una calidad mejorada de la predicción de la imagen candidata a partir del conjunto de imágenes (ya) incluidas. La medida de calidad de predicción puede determinarse al comparar directamente la imagen predicha y la imagen candidata. Por ejemplo, una medida de calidad de predicción puede determinarse como un error promedio o acumulado entre valores de píxeles correspondientes (misma posición) de la imagen candidata y la imagen predicha. Como otro ejemplo, una calidad de predicción puede determinarse como el número de píxeles para los que una diferencia entre el valor de píxel de la imagen candidata y la imagen predicha supera un umbral. Se apreciará que otras medidas de calidad de predicción pueden usarse en otras realizaciones.
Por lo tanto, al final del paso 507, se determina una medida de calidad de predicción para cada imagen candidata que refleja la calidad de la predicción de la imagen candidata a partir de las imágenes del conjunto de imágenes incluidas.
El paso 507 es seguido por el paso 509 en el que el iterador 405 procede a seleccionar un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a la calidad de la predicción. El iterador 405 puede seleccionar específicamente un número predeterminado de imágenes candidatas como las imágenes candidatas que tienen la medida de calidad de predicción más baja, es decir, se selecciona un número predeterminado de imágenes candidatas que se predicen más pobremente por las imágenes ya incluidas.
El iterador 405 luego procede a determinar una imagen recortada o parcial para las imágenes seleccionadas que luego se mueven del conjunto de imágenes candidatas. En muchas realizaciones, solo se selecciona una sola imagen candidata en cada iteración y, para mayor claridad y brevedad, la siguiente descripción se centrará en este enfoque, pero se apreciará que las referencias a una sola imagen candidata que se selecciona pueden extenderse a un subconjunto que incluye una pluralidad de imágenes seleccionadas.
El paso 509 es seguido por el paso 511 en el que el iterador 405 genera una imagen parcial correspondiente a la imagen seleccionada donde la imagen parcial comprende solo un subconjunto de píxeles de la imagen seleccionada.
Específicamente, el iterador 405 puede proceder a seleccionar un subconjunto de píxeles de la imagen candidata que se seleccionó. Se apreciará que pueden usarse diferentes enfoques y algoritmos para seleccionar qué píxeles incluir en el subconjunto y qué píxeles excluir. El subconjunto de píxeles se selecciona en respuesta a las calidades de predicción de píxeles y, específicamente, puede determinarse una medida o indicación de la calidad de predicción de píxeles para cada píxel. La medida de calidad de predicción de píxeles puede ser indicativa de qué tan bien puede predecirse el píxel, normalmente a partir de otras imágenes incluidas, y/o puede ser indicativa de la mejora en la predicción de otras imágenes que puede lograrse al incluir el píxel en el subconjunto. El iterador 405 puede seleccionar un píxel para incluirlo o excluirlo del subconjunto en base a si la medida de calidad de predicción de píxeles cumple o no con un criterio.
En muchas realizaciones, la selección de píxeles en base a una diferencia entre los valores de píxeles de la imagen predicha y la imagen seleccionada. Por ejemplo, los píxeles pueden incluirse en el subconjunto si la diferencia entre el valor predicho y el valor real en la imagen candidata supera un umbral y, de lo contrario, es posible que no se incluya.
Como se describirá más adelante, en algunas realizaciones pueden usarse enfoques mucho más complejos, incluida la evaluación de cómo puede mejorarse la predicción de otras imágenes al incluir un píxel en la imagen parcial. En algunas realizaciones, puede seleccionarse un primer píxel de la imagen candidata para el subconjunto en respuesta a una determinación de que una medida de la diferencia entre el valor predicho para el primer píxel en la imagen predicha y el valor del píxel en la imagen candidata supera un umbral.
En algunas realizaciones, puede determinarse una medida de mejora de la predicción para cada píxel que es indicativa de una mejora en la predicción de (uno o más) píxeles de otras imágenes candidatas por la inclusión del píxel en la predicción. El subconjunto puede seleccionarse en respuesta a la medida de mejora de la predicción, por ejemplo, al seleccionar píxeles para los que la medida de mejora de la predicción está por encima de un umbral. Por lo tanto, se genera una imagen parcial para la imagen candidata que comprende datos de imagen solo para un subconjunto de píxeles. La imagen parcial puede generarse al descartar un subconjunto complementario de píxeles en la imagen candidata. El descarte de píxeles puede ser no incluir información de los valores de píxel en la imagen parcial y, por ejemplo, establecer los valores de píxel correspondientes en un valor fijo (por ejemplo, cero) o un valor independiente del valor de píxel en la imagen candidata. Un enfoque para descartar píxeles es no incluirlos en las imágenes combinadas generadas por el generador de imágenes 205. La generación de la imagen parcial puede considerarse específicamente que corresponde a la generación de una máscara de recorte que puede superponerse a la imagen candidata con la imagen parcial que comprende solo los píxeles que no están enmascarados por la máscara.
El paso 511 es seguido por paso 513 en el que la imagen parcial (o imágenes parciales en caso de que se seleccione más de una imagen candidata) se agrega al conjunto de imágenes incluidas. El paso 513 es seguido por paso 515 en el que las imágenes seleccionadas se eliminan del conjunto de imágenes candidatas.
Por lo tanto, la iteración puede evaluar específicamente el conjunto de imágenes incluidas para encontrar una o más imágenes que luego se mueven al conjunto de imágenes incluidas después de recortadas para generar una imagen parcial.
El paso 515 es seguido por el paso 517 en el que se evalúa si deben realizarse más iteraciones. Si es así, el proceso vuelve al paso 505 e inicia una nueva iteración. De lo contrario, el paso 517 es seguido por el paso 519 en el que la señal de imagen se genera por el generador de imágenes 205 y el codificador 207 para comprender el conjunto de imágenes incluidas.
Como se mencionó anteriormente, en algunas realizaciones, las iteraciones pueden realizarse hasta que el conjunto de imágenes candidatas esté vacío, es decir, hasta que se hayan seleccionado todas las imágenes candidatas. En otras realizaciones, el enfoque puede continuar hasta que los errores de predicción para todas las imágenes candidatas restantes estén por debajo de un umbral determinado. En este caso, puede considerarse que todas las vistas pueden predecirse con suficiente precisión, y no se necesitan más datos de imagen. En dichas realizaciones, la decisión de realizar otra iteración o no puede tomarse después del paso 505 en el que se determinan las medidas de calidad de predicción. Las iteraciones pueden detenerse específicamente si la medida de calidad de predicción más baja está por encima de un umbral determinado.
La selección de las imágenes candidatas y el subconjunto de píxeles que se incluyen en la imagen parcial se realizan al considerar la relación con otras imágenes, específicamente ya incluidas, y en respuesta a una consideración del impacto de predicción de las selecciones.
Se ha encontrado que el enfoque tiende a dar como resultados conjuntos de imágenes incluidas que son muy adecuadas para la codificación y transmisión. Se ha encontrado que el enfoque reduce sustancialmente la tasa de datos para una calidad de imagen deseada determinada. Al mismo tiempo, el enfoque iterativo permite una implementación particularmente eficiente y de baja complejidad con un bajo requerimiento computacional.
En algunas realizaciones, la determinación de la medida de calidad de predicción en el paso 507 puede hacerse al seleccionar y contar el número de píxeles para los que el error de predicción está por debajo de un umbral determinado.
Específicamente, el iterador 405 puede determinar una pluralidad de píxeles de una primera imagen candidata para los que los valores de píxeles para los píxeles correspondientes de la primera imagen candidata y la imagen predicha para la imagen candidata cumplen un criterio de similitud. Por lo tanto, los píxeles que están suficientemente bien predichos pueden determinarse y la medida de calidad de predicción para la primera imagen candidata puede determinarse en respuesta a una propiedad de la pluralidad de píxeles, por ejemplo, como una función monótonamente creciente del número de píxeles en la pluralidad de píxeles. Por tanto, la medida de calidad de predicción puede aumentar para un número creciente de píxeles que se han predicho lo suficientemente bien. Por lo tanto, el enfoque es en base a seleccionar un subconjunto de píxeles que cumplan un criterio de similitud. En algunas realizaciones, el subconjunto de píxeles que se determina en el paso 513 se puede determinar en base al subconjunto que se determina en el paso 507.
Específicamente, el subconjunto de píxeles que se incluyen en la imagen parcial puede generarse a partir de los píxeles de la imagen candidata que no se incluyen en la pluralidad de píxeles que cumplen el requisito de similitud. Por lo tanto, puede usarse la misma consideración, criterios y enfoque para determinar la medida de calidad de predicción usada para seleccionar la imagen candidata y para generar el subconjunto/máscara de recorte para esta imagen. Esto no solo puede reducir la complejidad y el uso de recursos computacionales, ya que la misma operación se usa para ambos propósitos, sino que también puede proporcionar una selección mejorada ya que la selección se relaciona directamente con la cantidad de datos de imagen que se incluirán en la señal de imagen como resultado de la selección.
Por ejemplo, el transmisor de señal de imagen 200 puede proceder a generar una máscara de recorte para cada una de las imágenes candidatas al dividir así la imagen candidata en un primer subconjunto de píxeles para los que se cumple el criterio de similitud y un segundo subconjunto para los que no se cumple el criterio de similitud. El número de píxeles en el primer subconjunto puede determinarse y usarse como una medida de calidad de predicción. Específicamente, la imagen candidata que tiene la medida de calidad de predicción más baja, correspondiente al menor número de píxeles en el primer subconjunto y al mayor número de píxeles en el segundo subconjunto. La imagen parcial se genera entonces al incluir solo los píxeles del segundo subconjunto y descartando los píxeles del primer subconjunto, por ejemplo, al establecer los valores de píxeles del mismo en un valor fijo (por ejemplo, en 0). En algunas realizaciones, el transmisor de señal de imagen 200 puede, en el paso 511, seleccionar píxeles para la imagen parcial considerando la mejora de predicción/cambio de error (es decir, cambio de error entre el valor de píxel predicho y el valor correcto) para las imágenes candidatas restantes que resultarán de incluir el píxel individual. Específicamente, el transmisor de señal de imagen 200 puede determinar para un primer píxel determinado en la imagen seleccionada determinar una mejora de la calidad de predicción para píxeles de otras imágenes candidatas al incluir el primer píxel en el proceso de predicción. El primer píxel se incluye en la imagen parcial generada si esta mejora de la calidad de predicción está por encima de un umbral.
La mejora de la calidad de predicción puede determinarse específicamente por el siguiente proceso.
Las primeras predicciones se generan para cada imagen candidata restante a partir del conjunto de imágenes incluidas y la imagen seleccionada, es decir, las predicciones se generan para la imagen candidata al considerar además la imagen seleccionada en el paso 509. Por lo tanto, a diferencia de la predicción en el paso 505, el paso 513 genera una nueva predicción para cada imagen candidata que también es en base a la imagen seleccionada en el paso 509. Por ejemplo, para una primera imagen candidata restante, el iterador 405 genera una imagen predicha en base a todas las imágenes del conjunto de imágenes incluidas de las iteraciones anteriores y la imagen seleccionada de esta iteración.
Para los píxeles de esta primera imagen candidata restante, el iterador 405 procede a determinar un cambio de error que es indicativo de un cambio en la diferencia entre el valor del píxel y el valor predicho determinado en base al conjunto de imágenes incluidas más la imagen seleccionada en relación con el valor predicho determinado basado solamente en el conjunto de imágenes incluidas.
Por lo tanto, para cada píxel de la primera imagen candidata restante, puede determinarse un primer error de predicción para la predicción que incluye la imagen seleccionada y un segundo error de predicción para la predicación que no incluye la imagen seleccionada, es decir, correspondiente a la predicción que se realizó previamente en el paso 505. La diferencia entre estos refleja la mejora de predicción lograda al incluir la imagen seleccionada en la predicción. Para una representación de color Yuv, el cambio de error (al incluir la imagen seleccionada) puede, por ejemplo, para cada píxel determinarse como:
i.
SquaredEirorcond — (Yref — Ycond) (Uref — Ucond) (Vref — Vcond) “ ¡i.
ASqError = SquaredErroranteg — SquaredErrordespuég
donde índice cond se refiere a la imagen predicha, el índice ref se refiere a la imagen candidata original, y el índice antes y después se refieren respectivamente al error de predicción para una predicción que no considera la imagen seleccionada y una predicción que considera la imagen predicha.
Por lo tanto, el cambio de error se determina para cada píxel de una primera imagen candidata restante. Esto puede formar una imagen candidata de cambio de error que luego se cambia de la pose de vista de la primera imagen candidata restante a la pose de vista de la imagen seleccionada. Como resultado, una imagen de cambio de error seleccionada se determina por un cambio de pose de vista de la pose de vista de la primera imagen candidata restante a la pose de vista de la imagen seleccionada donde los valores de píxel reflejan el cambio en el error de predicción que ocurre en la imagen candidata predicha al incluir ese píxel de la imagen seleccionada en la predicción de la primera imagen candidata restante. Por lo tanto, se determina una medida directa del beneficio para la predicción de esa primera imagen candidata restante al incluir el píxel individual en la imagen parcial de la imagen seleccionada.
En consecuencia, el iterador 405 puede proceder a seleccionar todos los píxeles para los que la imagen de cambio de error indica que el error se reducirá en más de un umbral determinado.
Sin embargo, en muchas realizaciones, la selección de píxeles para la imagen parcial no es solo en base a considerar una imagen candidata restante, sino en considerar múltiples y normalmente todas estas. En muchas realizaciones, pueden generarse imágenes de cambio de error desplazadas a la pose de vista de la imagen seleccionada para todas las imágenes candidatas restantes.
En algunas realizaciones, estos pueden considerarse por separado, por ejemplo, al incluir un píxel en la imagen parcial si cualquiera de las imágenes de cambio de error generadas indica que puede lograrse una mejora por encima de un umbral determinado. Sin embargo, en muchas realizaciones, puede generarse una imagen de cambio de error combinada al combinar valores de cambio de error determinados para diferentes imágenes candidatas para el mismo píxel de la imagen seleccionada. Como ejemplo simple, los valores de cambio de error para las diferentes imágenes candidatas pueden simplemente agregarse o promediarse después de haber sido cambiados a la pose de vista de la imagen seleccionada. El iterador 405 puede proceder a seleccionar los píxeles de la imagen seleccionada para los que los valores de cambio de error combinados indican una reducción de error por encima de un umbral determinado en la imagen parcial, es decir, se seleccionan los píxeles que proporcionan la mayor mejora de predicción general a las imágenes candidatas restantes.
En muchas realizaciones, la imagen de cambio de error combinada puede incluir una imagen de cambio de error generada para la propia imagen seleccionada. De hecho, en esta etapa, la imagen seleccionada solo se predice (no se incluye completamente), por lo que la imagen seleccionada también puede incluirse ventajosamente al calcular en la imagen de cambio de error combinada, lo que indica la mejora de la predicción que se logra para la imagen seleccionada en sí. Por ejemplo, puede ser que se incluya un píxel en la imagen parcial porque se necesita para la imagen seleccionada en sí pero no para ninguna de las imágenes candidatas restantes.
Como se describió anteriormente, la síntesis de predicción/vista realizada (específicamente en el paso 505) puede realizarse en muchas realizaciones al generar imágenes de predicción intermedias individuales para una primera imagen candidata para cada una de las imágenes en el conjunto de imágenes incluidas, es decir, puede generarse una imagen intermedia para cada imagen candidata y par de imágenes incluidas. Estas imágenes de predicción intermedias se combinan/mezclan en una sola imagen predicha para la primera imagen candidata.
En muchas realizaciones, puede usarse un sintetizador que se dispone para realizar todas estas operaciones y que simplemente como una entrada puede proporcionarse con el conjunto de imágenes incluidas (y las poses de vista asociadas) y la pose de vista para la que se generará la imagen sintetizada/predicha. Puede a partir de estas entradas generar la imagen sintetizada/predicha para la imagen candidata determinada. El sintetizador puede implementarse como una función y un algoritmo integrados, como una subrutina, función u objeto de software, que no permite el acceso a los resultados u operaciones intermedias. Por lo tanto, la generación de imágenes intermedias y la mezcla pueden no ser accesibles a otras funciones, procesos u operaciones. En las realizaciones que usan dicho sintetizador, la predicción en, por ejemplo, el paso 505 puede requerir que, en cada iteración, se realice una síntesis completa para todas las imágenes candidatas al usar todas las imágenes incluidas.
Sin embargo, en algunas realizaciones, puede usarse un sintetizador que permite el acceso a las imágenes de predicción intermedias y la mezcla. Este puede ser, por ejemplo, el caso si una función de síntesis se desarrolla específicamente con el propósito de implementar el procedimiento de la Figura 5.
En dicha realización, el iterador 405 puede disponerse para almacenar además imágenes intermedias que se generan en una iteración y para recuperar las imágenes intermedias que se han almacenado en una iteración posterior.
Por lo tanto, en tal realización, puede proporcionarse una imagen de predicción intermedia para la mezcla al recuperar una que se ha generado y almacenado en una iteración anterior si una de esas imágenes está disponible, y para generar una nueva imagen de predicción intermedia por el cambio de vista solo si no se almacena dicha imagen de una iteración anterior. Por lo tanto, si se ha generado previamente una imagen de predicción intermedia, esta se reúsa y no se requiere una nueva operación de cambio de vista para ese candidato y el par de imágenes candidatas incluido.
En el procedimiento de la Figura 5, se predicen nuevas imágenes para las imágenes candidatas en base a un conjunto de imágenes incluidas que crece/expande gradualmente en cada iteración. Por lo tanto, en cada iteración, la generación de una nueva predicción para una imagen candidata restante determinada se realiza en base a las mismas imágenes incluidas que en la iteración anterior más las imágenes que se incluyeron en la iteración anterior.
Por lo tanto, para todas las imágenes excepto las seleccionadas en la iteración anterior, ya se han generado y almacenado imágenes de predicción intermedias. Por lo tanto, solo se generan nuevas imágenes de predicción intermedia para las imágenes que se incluyeron en la iteración anterior, y en muchas realizaciones, solo debe generarse una nueva imagen de predicción intermedia para cada imagen candidata restante (por ejemplo, al reemplazar la antigua imagen de predicción intermedia ya que ya no es necesaria).
Por lo tanto, el procedimiento es altamente susceptible a un enfoque de predicción incremental y, en consecuencia, puede usarse para proporcionar una implementación muy eficiente con una reducción muy significativa en el procesamiento requerido.
Se apreciará que pueden usarse diferentes enfoques para mezclar píxeles de las imágenes de predicción intermedias en diferentes realizaciones, y que específicamente pueden usarse diferentes funciones y parámetros para generar los pesos.
En muchas realizaciones, la mezcla puede ser una combinación ponderada en la que el peso de un píxel determinado depende de la profundidad asociada con el píxel. Por ejemplo, la mezcla puede ser una mezcla de selección en la que se compara la profundidad de todos los píxeles en las imágenes de predicción intermedia para una posición de píxel determinada y se selecciona el píxel de la imagen de predicción intermedia que tiene el valor de profundidad más avanzado. En muchas realizaciones, puede usarse una ponderación más gradual de los diferentes píxeles en base al peso. Por ejemplo, a menudo puede usarse una relación exponencial entre la profundidad y peso.
En otras realizaciones, pueden considerarse otros parámetros alternativa o adicionalmente. Por ejemplo, puede considerarse cuánto estiramiento (distorsión geométrica de las primitivas subyacentes) se requiere para realizar el cambio de vista y el peso puede reducirse cuanto más estiramiento y distorsión geométrica de las primitivas se requiera. En muchas realizaciones, solo se selecciona una sola imagen para incluirla en el conjunto de imágenes incluidas en cada iteración. Sin embargo, en algunas realizaciones, el subconjunto de imágenes seleccionadas puede incluir ventajosamente una pluralidad de imágenes en cada iteración y, por lo tanto, una pluralidad de imágenes puede moverse al conjunto de imágenes incluidas en cada iteración.
Esto puede en algunos escenarios aumentar ligeramente la tasa de datos, pero en algunas realizaciones puede reducir sustancialmente los requisitos computacionales y específicamente el número de predicciones que son necesarias para que se ejecute el procedimiento completo. En particular, puede proporcionar un uso de recursos computacionales sustancialmente reducido en realizaciones donde no puede usarse la predicción incremental, por ejemplo, porque no hay acceso a las imágenes de predicción intermedias o a la operación de mezcla.
En muchas realizaciones, la selección de píxeles para la imagen parcial puede incluir algún procesamiento del subconjunto inicial que, por ejemplo, se determina en función de las propiedades de predicción de píxeles. Dicho procesamiento puede tener en cuenta específicamente las propiedades espaciales o las relaciones de los píxeles. Como ejemplo específico, el iterador 405 puede generar una máscara correspondiente al subconjunto de píxeles, por ejemplo, puede generarse una imagen binaria que para cada valor indica si esto debe incluirse en la imagen parcial o no. Como otro ejemplo, puede generarse una imagen que refleje los valores de calidad de predicción de píxeles (por ejemplo, la imagen de cambio de error combinado). Dicha imagen puede ser una máscara suave, ya que refleja la probabilidad o el beneficio de incluir el valor en la imagen parcial y, por lo tanto, junto con un umbral, representa los píxeles que se incluyen en la imagen parcial.
En lugar de usar directamente dicha máscara como se generó originalmente, el iterador 405 puede disponerse para procesar primero la máscara. Específicamente, puede aplicarse un filtro espacial y, normalmente, un filtro espacial de paso bajo a la máscara. En consecuencia, el cambio en la máscara puede dar como resultado una modificación del subconjunto de píxeles seleccionados para la imagen parcial.
Dicho filtrado puede ser muy útil para evitar estructuras muy delgadas en la imagen parcial. Un ejemplo de un filtro espacial que puede aplicarse es un desenfoque de cuadro con un núcleo pequeño.
En algunas realizaciones, las imágenes que se procesan pueden ser tramas de una secuencia de video. En dicho caso, el orden del conjunto de imágenes incluidas determinado para una trama puede aplicarse en una pluralidad de tramas. Por ejemplo, para una trama intracodificado, el enfoque descrito puede usarse para generar un conjunto secuencial de imágenes incluidas. La misma disposición/orden/secuencia de imágenes puede usarse para todas las tramas intercodificados hasta la siguiente trama intracodificado. Por lo tanto, en algunas realizaciones, el procedimiento solo puede ejecutarse intratramas y la disposición determinada en esta operación puede reusarse para todas las intratramas subsiguientes.
Las máscaras de recorte pueden reusarse para algunas tramas, por ejemplo, al generar las máscaras de recorte a una tasa de tramas más baja, o al reusar las máscaras de recorte en los casos en que hay una indicación de bajo movimiento de imagen. Alternativamente, las máscaras de recorte pueden generarse para todas las tramas intercodificados al usar la disposición que se ha determinado para la trama intracodificado.
Puede ser específicamente favorable actualizar la disposición en un cambio de escena, pero dicho evento normalmente también activará una intratrama adicional que luego puede provocar que se determine una disposición nueva.
Dicho enfoque puede proporcionar una mayor consistencia en todas las tramas. La tasa de datos general o la degradación de la calidad pueden ser ligeramente más altas que si el procedimiento se aplicara a cada trama, pero normalmente, esto será una compensación deseable para lograr un resultado visual más consistente, ya que las variaciones temporales tienden a ser altamente visibles para un espectador.
Se apreciará que la descripción anterior para mayor claridad ha descrito las realizaciones de la invención con referencia a diferentes circuitos funcionales, unidades y procesadores. Sin embargo, será evidente que cualquier distribución adecuada de la funcionalidad entre diferentes circuitos funcionales, unidades o procesadores puede usarse sin restar importancia a la invención. Por ejemplo, la funcionalidad ilustrada para realizarse por procesadores o controladores separados puede realizarse por el mismo procesador o controladores. Por lo tanto, las referencias a unidades o circuitos funcionales específicos solo deben considerarse como referencias a medios adecuados para proporcionar la funcionalidad descrita más bien de indicativo de una estructura u organización lógica o física estricta. La invención puede implementarse en cualquier forma adecuada que incluya hardware, software, firmware o cualquier combinación de estos. La invención puede implementarse opcionalmente al menos en parte como software informático que se ejecuta en uno o más procesadores de datos y/o procesadores de señales digitales. Los elementos y componentes de una realización de la invención pueden implementarse física, funcional y lógicamente de cualquier manera adecuada. De hecho, la funcionalidad puede implementarse en una sola unidad, en una pluralidad de unidades o como parte de otras unidades funcionales. Como tal, la invención puede implementarse en una sola unidad o puede distribuirse física y funcionalmente entre diferentes unidades, circuitos y procesadores. Aunque la presente invención se ha descrito en relación con algunas realizaciones, no se destina a limitarse a la forma específica establecida en la presente memoria. Más bien, el ámbito de la presente invención sólo se limita por las reivindicaciones adjuntas. Además, aunque una característica puede parecer descrita en relación con realizaciones particulares, un experto en la técnica reconocerá que varias características de las realizaciones descritas pueden combinarse de acuerdo con la invención. En las reivindicaciones, el término que comprende no excluye la presencia de otros elementos o pasos.
Además, aunque se enumeran individualmente, una pluralidad de medios, elementos, circuitos o pasos del procedimiento puede implementarse, por ejemplo, un solo circuito, unidad o procesador. Además, aunque las características individuales pueden incluirse en diferentes reivindicaciones, estas pueden combinarse ventajosamente, y la inclusión en diferentes reivindicaciones no implica que una combinación de características no sea factible y/o ventajosa. Además, la inclusión de una característica en una categoría de reivindicaciones no implica una limitación a esta categoría, sino que indica que la característica es igualmente aplicable a otras categorías de reclamaciones, según proceda. Además, el orden de las características en las reivindicaciones no implica ningún orden específico en el que deban trabajarse las características y, en particular, el orden de los pasos individuales en una reivindicación del procedimiento no implica que los pasos deban realizarse en este orden. Más bien, los pasos pueden realizarse en cualquier orden adecuado. Además, las referencias singulares no excluyen una pluralidad. Por lo tanto, las referencias a "un", "una", "primero", "segundo", etc. no excluyen una pluralidad. Los signos de referencia en las reivindicaciones se proporcionan simplemente como un ejemplo esclarecedor no se interpretarán como limitantes en modo alguno al ámbito de las reivindicaciones.

Claims (15)

REIVINDICACIONES
1. Un procedimiento para generar una señal de imagen, comprendiendo el procedimiento:
recibir (501) un conjunto candidato de imágenes que comprenda una pluralidad de imágenes de una escena, siendo al menos algunas imágenes del conjunto de imágenes candidatas de diferentes poses de vista de la escena;
seleccionar (503) al menos una imagen del conjunto de imágenes candidatas e inicializar un conjunto de imágenes incluidas para incluir al menos una imagen;
realizar iterativamente los pasos de:
generar (505) imágenes predichas para las imágenes del conjunto de imágenes candidatas a partir de las imágenes del conjunto de imágenes incluidas;
determinar (507) una medida de calidad de predicción para cada imagen del conjunto de imágenes candidatas, siendo la medida de calidad de predicción para una primera imagen del conjunto de imágenes candidatas indicativa de una diferencia entre la primera imagen y una primera imagen predicha para la primera imagen;
seleccionar (509) un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a las calidades de predicción, de manera que las imágenes seleccionadas tienen la medida de calidad de predicción más baja con respecto a las imágenes ya incluidas en el conjunto de imágenes seleccionadas;
para cada imagen del conjunto de imágenes seleccionadas, determinar (511) un subconjunto de píxeles en respuesta a las calidades de predicción de píxeles de los píxeles de la imagen;
generar (513) un conjunto de imágenes parciales correspondientes al conjunto de imágenes seleccionadas, comprendiendo la imagen parcial para una imagen determinada del conjunto seleccionado de imágenes solo los píxeles del subconjunto de píxeles para la imagen determinada;
incluir (515) el conjunto de imágenes parciales en el conjunto de imágenes incluidas; y
eliminar (515) el conjunto de imágenes seleccionadas del conjunto de imágenes candidatas; generar (519) la señal de imagen que comprende datos de imagen de las imágenes en el conjunto de imágenes incluidas.
2. El procedimiento de la reivindicación 1, en el que se determina (507) la calidad de predicción para la primera imagen comprende:
determinar una pluralidad de píxeles de la primera imagen para los que los valores de píxeles para los píxeles correspondientes de la primera imagen y la primera imagen predicha cumplen un criterio de similitud; determinar la calidad de predicción para la primera imagen en respuesta a una propiedad de la pluralidad de píxeles.
3. El procedimiento de la reivindicación 2 en el que la propiedad es un número de píxeles y la calidad de predicción es una función monótonamente creciente del número de píxeles en la pluralidad de píxeles.
4. El procedimiento de la reivindicación 3, en el que determinar (511) el subconjunto de píxeles comprende determinar un subconjunto de píxeles para la primera imagen a partir de píxeles de la primera imagen no incluidos en la pluralidad de píxeles de la imagen.
5. El procedimiento de cualquier reivindicación anterior en el que determinar (511) el subconjunto de píxeles para una primera imagen seleccionada del conjunto de imágenes seleccionadas comprende:
para al menos una imagen candidata del conjunto de imágenes candidatas excluir el conjunto de imágenes seleccionadas:
determinar, para píxeles de al menos una imagen candidata, un cambio de error indicativo de un cambio en la diferencia entre un píxel de al menos una imagen candidata y un píxel predicho para una predicción del píxel en base al conjunto de imágenes incluidas y la primera imagen seleccionada en relación con una predicción del píxel basada solamente en el conjunto de imágenes incluidas; y
generar una imagen de cambio de error para la primera imagen seleccionada, comprendiendo la imagen de cambio de error valores de píxeles determinados a partir de cambios de error de al menos una imagen candidata por un cambio de pose de vista de una pose de vista de al menos una imagen candidata a una pose de vista de la primera imagen seleccionada; y
seleccionar el subconjunto de píxeles en respuesta a la imagen de cambio de error.
6. El procedimiento de la reivindicación 5 en el que determinar el subconjunto de píxeles para la primera imagen seleccionada comprende determinar los cambios de error para una pluralidad de imágenes candidatas del conjunto de imágenes candidatas, y generar la imagen de cambio de error al combinar valores de cambio de error determinados a partir de diferentes imágenes candidatas para el mismo píxel de la primera imagen seleccionada.
7. El procedimiento de cualquier reivindicación anterior en el que generar (505) imágenes predichas para el conjunto de imágenes candidatas comprende para una primera imagen candidata del conjunto de imágenes candidatas:
proporcionar imágenes de predicción intermedias de la primera imagen candidata para cada una de las imágenes del conjunto de imágenes incluidas; y
generar la primera imagen predicha al combinar las imágenes de predicción intermedias.
8. El procedimiento de la reivindicación 7 en el que la iteración comprende, además
almacenar imágenes de predicción intermedias; y
en el que proporcionar imágenes de predicción intermedias comprende recuperar imágenes de predicción intermedias almacenadas para imágenes del conjunto de imágenes incluidas para las que se han generado y almacenado imágenes de predicción intermedias en una iteración anterior; y predecir imágenes de predicción intermedias para cualquier imagen del conjunto de imágenes de referencia para las que no se ha almacenado ninguna imagen de predicción intermedia en una iteración anterior.
9. El procedimiento de la reivindicación 7 u 8 en el que la combinación es una combinación ponderada y un peso de un píxel depende de la profundidad del píxel.
10. El procedimiento de cualquier reivindicación anterior en el que las iteraciones se detienen cuando la calidad de predicción más baja supera un umbral.
11. El procedimiento de cualquier reivindicación anterior en el que el subconjunto de imágenes seleccionadas comprende una pluralidad de imágenes seleccionadas en al menos una iteración.
12. El procedimiento de cualquier reivindicación anterior en el que las imágenes son tramas de una secuencia de vídeo, y el procedimiento incluye el uso de una disposición del conjunto de imágenes incluidas para una pluralidad de tramas.
13. El procedimiento de cualquier reivindicación anterior que comprende además generar una máscara correspondiente al subconjunto de píxeles y modificar el subconjunto de píxeles en respuesta a una aplicación de un filtro espacial a la máscara.
14. Un aparato para generar una señal de imagen, comprendiendo el aparato:
un receptor (401) para recibir (501) un conjunto candidato de imágenes que comprenda una pluralidad de imágenes de una escena, siendo al menos algunas imágenes del conjunto de imágenes candidatas de diferentes poses de vista de la escena;
un selector de referencia (403) para seleccionar (503) al menos una imagen del conjunto de imágenes candidatas e inicializar un conjunto de imágenes incluidas para incluir al menos una imagen;
un iterador (405) para realizar iterativamente los pasos de:
generar (505) imágenes predichas para las imágenes del conjunto de imágenes candidatas a partir de las imágenes del conjunto de imágenes incluidas;
determinar (507) una medida de calidad de predicción para cada imagen del conjunto de imágenes candidatas, siendo la medida de calidad de la predicción para una primera imagen del conjunto de imágenes candidatas indicativa de una diferencia entre la primera imagen y una primera imagen predicha para la primera imagen;
seleccionar (509) un conjunto de imágenes seleccionadas del conjunto de imágenes candidatas en respuesta a las calidades de predicción, de manera que las imágenes seleccionadas tienen la medida de calidad de predicción más baja con respecto a las imágenes ya incluidas en el conjunto de imágenes seleccionadas;
para cada imagen del conjunto de imágenes seleccionadas determinar (511) un subconjunto de píxeles en respuesta a las calidades de predicción de píxeles de los píxeles de la imagen;
generar (513) un conjunto de imágenes parciales correspondientes al conjunto de imágenes seleccionadas, comprendiendo la imagen parcial para una imagen determinada del conjunto seleccionado de imágenes solo los píxeles del subconjunto de píxeles para la imagen determinada;
incluir (515) el conjunto de imágenes parciales en el conjunto de imágenes incluidas; y
eliminar (515) el conjunto de imágenes seleccionadas del conjunto de imágenes candidatas;
un circuito de salida (205, 207) para generar (519) la señal de imagen que comprende los datos de imagen de las imágenes en el conjunto de imágenes incluidas.
15. Un producto de programa de ordenador que comprende medios de código de programa de ordenador adaptados para realizar todos los pasos de cualquiera de las reivindicaciones 1 -13 cuando dicho programa se ejecuta en un ordenador.
ES20703759T 2019-03-01 2020-02-12 Aparato y procedimiento de generación de una señal de imagen Active ES2928951T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19160414.9A EP3703378A1 (en) 2019-03-01 2019-03-01 Apparatus and method of generating an image signal
PCT/EP2020/053509 WO2020177990A1 (en) 2019-03-01 2020-02-12 Apparatus and method of generating an image signal

Publications (1)

Publication Number Publication Date
ES2928951T3 true ES2928951T3 (es) 2022-11-23

Family

ID=65686712

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20703759T Active ES2928951T3 (es) 2019-03-01 2020-02-12 Aparato y procedimiento de generación de una señal de imagen

Country Status (10)

Country Link
US (1) US11856223B2 (es)
EP (2) EP3703378A1 (es)
JP (1) JP7326457B2 (es)
KR (1) KR20210132712A (es)
CN (1) CN113519165A (es)
BR (1) BR112021016995A2 (es)
ES (1) ES2928951T3 (es)
PL (1) PL3932081T3 (es)
TW (1) TW202042539A (es)
WO (1) WO2020177990A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938602B (zh) * 2021-09-08 2022-08-02 荣耀终端有限公司 图像处理方法、电子设备、芯片及可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703350A (en) * 1985-06-03 1987-10-27 Picturetel Corporation Method and apparatus for efficiently communicating image sequences
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
CN103181171B (zh) * 2010-11-04 2016-08-03 皇家飞利浦电子股份有限公司 深度指示图的产生
US10264281B2 (en) 2012-07-02 2019-04-16 Hfi Innovation Inc. Method and apparatus of inter-view candidate derivation in 3D video coding
JP2014082540A (ja) 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラム、および装置、ならびに、互いに類似した情報を含む複数画像を表現するデータ構造
JP5947977B2 (ja) 2013-04-11 2016-07-06 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
JP6250805B2 (ja) 2013-07-19 2017-12-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 深度ベース・ブロック・パーティショニングを使用して、テクスチャブロックを符号化および復号するための方法ならびに装置
JP6430542B2 (ja) * 2014-06-16 2018-11-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
WO2018058090A1 (en) * 2016-09-26 2018-03-29 University Of Florida Research Foundation Incorporated Method for no-reference image quality assessment
EP3441788A1 (en) * 2017-08-08 2019-02-13 Koninklijke Philips N.V. Apparatus and method for generating a representation of a scene
EP3509308A1 (en) * 2018-01-05 2019-07-10 Koninklijke Philips N.V. Apparatus and method for generating an image data bitstream

Also Published As

Publication number Publication date
WO2020177990A1 (en) 2020-09-10
EP3932081B1 (en) 2022-08-31
KR20210132712A (ko) 2021-11-04
JP2022521701A (ja) 2022-04-12
CN113519165A (zh) 2021-10-19
JP7326457B2 (ja) 2023-08-15
US20220167013A1 (en) 2022-05-26
BR112021016995A2 (pt) 2021-11-30
US11856223B2 (en) 2023-12-26
EP3932081A1 (en) 2022-01-05
TW202042539A (zh) 2020-11-16
PL3932081T3 (pl) 2023-01-16
EP3703378A1 (en) 2020-09-02

Similar Documents

Publication Publication Date Title
US11893700B2 (en) Layered augmented entertainment experiences
CN106605407A (zh) 用于捕获、流传输和/或回放内容的方法和装置
EP3857899B1 (en) Image synthesis
US20180295352A1 (en) Adapting video images for wearable devices
JP7480163B2 (ja) 画像の奥行きマップの処理
ES2928951T3 (es) Aparato y procedimiento de generación de una señal de imagen
JP7479386B2 (ja) シーンを表す画像信号
WO2021031210A1 (zh) 视频处理方法和装置、存储介质和电子设备
US20220174259A1 (en) Image signal representing a scene
RU2817803C2 (ru) Сигнал изображения, представляющий сцену
JP7493496B2 (ja) 画像合成
KR20200112722A (ko) 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치