ES2971102T3 - Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada - Google Patents

Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada Download PDF

Info

Publication number
ES2971102T3
ES2971102T3 ES19211756T ES19211756T ES2971102T3 ES 2971102 T3 ES2971102 T3 ES 2971102T3 ES 19211756 T ES19211756 T ES 19211756T ES 19211756 T ES19211756 T ES 19211756T ES 2971102 T3 ES2971102 T3 ES 2971102T3
Authority
ES
Spain
Prior art keywords
resolution image
pixel
difference
high resolution
sample
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
ES19211756T
Other languages
English (en)
Inventor
Fredrik Lindh
Daan Nijs
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.)
Tobii AB
Original Assignee
Tobii AB
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 Tobii AB filed Critical Tobii AB
Application granted granted Critical
Publication of ES2971102T3 publication Critical patent/ES2971102T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Según la invención, se divulga un método para reducir los artefactos de aliasing en la representación foveada. El método puede incluir acceder a una imagen de alta resolución y a una imagen de baja resolución correspondiente a la imagen de alta resolución, y calcular una diferencia entre un píxel de la imagen de alta resolución y una muestra asociada con la imagen de baja resolución. La muestra de la imagen de baja resolución corresponde al píxel de la imagen de alta resolución. El método puede incluir además modificar el píxel para generar un píxel modificado de la imagen de alta resolución basándose en la determinación de que la diferencia es mayor o igual a un valor umbral. La modificación puede realizarse de manera que una diferencia actualizada entre el píxel modificado y la muestra sea menor que la diferencia original. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada
Antecedentes de la invención
El renderizado y la visualización de una escena generada por ordenador en un visualizador han crecido en importancia en campos tales como los videojuegos, el modelado y el cine. El renderizado es un proceso computacionalmente costoso en el que toda la información espacial, de textura y de iluminación de una escena se combina para determinar el valor de color de cada píxel en la imagen renderizada. Sin embargo, los dispositivos de procesamiento gráfico que realizan el renderizado tienen una capacidad de procesamiento y una capacidad de memoria limitadas. Estos límites hacen que el renderizado de la escena, especialmente el renderizado en tiempo real, constituya un desafío.
En ocasiones se emplea un renderizado foveado para acelerar el proceso de renderizado. El renderizado foveado utiliza un rastreador ocular para reducir la carga de trabajo de renderizado, en base a la observación de que la visión humana se centra típicamente en la parte de la pantalla cerca del punto de mirada, mientras que la agudeza visual cae drásticamente en la visión periférica (es decir, el área fuera de la zona mirada por la fóvea). En el renderizado foveado, el contenido en un área cerca del punto de mirada de un usuario, también denominada en la presente memoria “ región foveada” , se renderiza con gran calidad, mientras que el contenido fuera de la región foveada, denominada “ región no foveada” , se renderiza con menor calidad. A medida que se mueve el punto de mirada del usuario, las imágenes se vuelven a renderizar en consecuencia, para coincidir con la nueva ubicación del punto de mirada.
En algunos casos, el renderizado foveado puede implementarse mediante un sobremuestreo de la región foveada, mientras que la región no foveada se submuestrea. Sin embargo, las tasas de muestreo discrepantes dan lugar a incoherencias de renderizado en el caso del contenido de alta frecuencia, lo cual se manifiesta como un efecto muy molesto de una transición o entrada/salida rápida en/de zonas de gran luminancia durante los movimientos sacádicos, también llamado artefacto de solapamiento temporal dependiente de la mirada. Los métodos de anti-solapamiento existentes a día de hoy son incapaces de reducir este tipo de artefacto de solapamiento porque se centran en abordar los artefactos de solapamiento espacial en una imagen, en lugar de los artefactos de solapamiento temporal que se producen entre imágenes consecutivas. En el documento titulado “ Foveated Pipeline for AR/VR Head-Mounted Displays” , de Bastani y otros, se introduce una línea de producción de foveación que contempla una integración completa de técnicas de foveación, incluidos la creación, el procesamiento, la transmisión y la reconstrucción de contenido en el visualizador. Además, en el documento US20170263046A1 se describe un método para renderizar imágenes utilizando un algoritmo de renderizado foveado, con un filtrado posproceso para mejorar un contraste de la imagen foveada. Además, en el documento US20170169602A1 se describe que en un renderizado foveado para renderizar una imagen se utiliza una técnica de trazado de rayos para procesar datos gráficos para una región de interés de la imagen, y que se utiliza una técnica de rasterizado para procesar datos de gráficos en el caso de otras regiones de la imagen.
Breve descripción de la invención
En algunas realizaciones se proporciona un método implementado por ordenador para reducir los artefactos de solapamiento en un renderizado foveado. El método puede incluir acceder a una imagen de alta resolución y a una imagen de baja resolución correspondiente a la imagen de alta resolución y calcular una diferencia entre un píxel de la imagen de alta resolución y una muestra asociada a la imagen de baja resolución. La muestra de la imagen de baja resolución corresponde espacialmente al píxel de la imagen de alta resolución. El método puede incluir además modificar el píxel para generar un píxel modificado de la imagen de alta resolución basándose en una determinación de que la diferencia es mayor o igual que un valor umbral. La modificación puede realizarse para que una diferencia actualizada entre el píxel modificado y la muestra sea menor que la diferencia original.
En otra realización se proporciona un sistema de computación para reducir los artefactos de solapamiento en el renderizado foveado. El sistema de computación puede incluir un medio legible por ordenador no transitorio que almacena un código de programa de una aplicación de procesamiento de imágenes para reducir artefactos de solapamiento en un renderizado foveado, y un dispositivo de procesamiento acoplado de manera comunicativa al medio legible por ordenador no transitorio. El dispositivo de procesamiento puede configurarse para ejecutar el código de programa y realizar unas operaciones que incluyen acceder a una imagen de alta resolución y a una imagen de baja resolución que corresponde a la imagen de alta resolución. Las operaciones pueden incluir además calcular una diferencia entre un píxel de la imagen de alta resolución y una muestra asociada a la imagen de baja resolución. La muestra asociada a la imagen de baja resolución corresponde espacialmente al píxel de la imagen de alta resolución. Las operaciones pueden incluir además modificar el píxel de la imagen de alta resolución para generar un píxel modificado de la imagen de alta resolución cuando se determina que la diferencia es mayor o igual que un valor umbral. La diferencia entre el píxel modificado y la muestra es menor que la diferencia anterior.
En otra realización se proporciona un medio legible por máquina no transitorio que tiene unas instrucciones almacenadas en el mismo para reducir artefactos de solapamiento en un renderizado foveado. Las instrucciones pueden ser ejecutables por uno o más procesadores para realizar unas operaciones que pueden incluir acceder a una imagen de alta resolución y a una imagen de baja resolución que corresponde a la imagen de alta resolución. Las operaciones pueden incluir además calcular una diferencia entre un píxel de la imagen de alta resolución y una muestra asociada a la imagen de baja resolución. La muestra asociada a la imagen de baja resolución corresponde espacialmente al píxel de la imagen de alta resolución. Las operaciones pueden incluir además modificar el píxel de la imagen de alta resolución para generar un píxel modificado de la imagen de alta resolución cuando se determina que la diferencia es mayor o igual que un valor umbral. La diferencia entre el píxel modificado y la muestra es menor que la diferencia anterior.
Breve descripción de los dibujos
La presente invención se describe en combinación con las figuras adjuntas:
La figura 1 es un diagrama de bloques de un posible sistema de la invención para reducir artefactos de solapamiento temporal en un renderizado foveado, según una realización de la presente descripción;
la Figura 2A representa un ejemplo de una vista de un dispositivo de visualización en el que se visualiza una imagen generada usando renderizado foveado;
la figura 2B es un diagrama que ilustra un ejemplo de renderizado foveado, según una realización de la presente descripción;
la figura 3 es un diagrama que ilustra un ejemplo del artefacto de solapamiento temporal dependiente de la mirada en un renderizado foveado;
la figura 4 es un diagrama que ilustra un ejemplo de un método para reducir artefactos de solapamiento temporal en un renderizado foveado, según una realización de la presente descripción;
la figura 5 es un diagrama de flujo de un método ilustrativo para reducir artefactos de solapamiento temporal en un renderizado foveado, según una realización de la presente descripción; y
la figura 6 es un diagrama de bloques de un sistema informático ilustrativo que puede utilizarse en al menos alguna parte de los dispositivos o sistemas de la presente invención o puede implementar al menos alguna parte de los métodos de la presente invención.
En las figuras adjuntas, los componentes y/o características similares pueden tener la misma etiqueta de referencia numérica. Además, varios componentes del mismo tipo pueden distinguirse siguiendo la etiqueta de referencia mediante una letra que lo distinga de componentes y/o características similares. Si únicamente se utiliza la primera etiqueta de referencia numérica en la especificación, la descripción es aplicable a uno cualquiera de los componentes y/o características similares que tengan la misma primera etiqueta de referencia numérica independientemente del sufijo de letra.
Descripción detallada de la invención
Se describen realizaciones para reducir artefactos de solapamiento temporal en un renderizado foveado. En un ejemplo, un dispositivo de procesamiento de gráficos implementa el renderizado foveado generando una imagen en primer plano de alta resolución para una región foveada que contiene el punto de mirada de un usuario en un dispositivo de visualización y una imagen en segundo plano que tiene una resolución más baja para la región no foveada. La imagen en segundo plano también contiene un área que corresponde a la imagen de alta resolución, que se denomina en la presente memoria “ imagen de baja resolución” . El dispositivo de procesamiento de gráficos evalúa un píxel en la imagen de alta resolución y determina una muestra en la imagen de baja resolución que corresponde al píxel en la imagen de alta resolución asignando las coordenadas del píxel en la imagen de alta resolución a la imagen de baja resolución. Si el píxel de la imagen de alta resolución se asigna a un píxel de la imagen de baja resolución, la muestra puede ser un píxel de la imagen de baja resolución. Si el píxel de la imagen de alta resolución se asigna a una posición que se encuentra entre unos píxeles de la imagen de baja resolución, la muestra puede generarse interpolando los píxeles de la imagen de baja resolución. El dispositivo de procesamiento de gráficos computa además la diferencia entre el píxel y la muestra y compara la diferencia con un valor umbral. Si la diferencia es mayor que el valor umbral, el píxel en la imagen de alta resolución se modifica para reducir la diferencia entre el píxel y la muestra. Como consecuencia, las muestras en la imagen de baja resolución se utilizan para modular los valores de los píxeles en la imagen de alta resolución de una manera que mantiene el contraste uniforme entre ambas resoluciones.
Las tecnologías presentadas en la presente memoria mejoran el rendimiento del dispositivo de procesamiento de gráficos al reducir los artefactos de solapamiento temporal en un renderizado foveado, al tiempo que permiten que el dispositivo de procesamiento de gráficos reduzca el consumo de recursos de computación a través del renderizado foveado. En otras palabras, sin las tecnologías anti-solapamiento presentadas en la presente memoria, puede que el dispositivo de procesamiento de gráficos necesite aumentar la calidad de la imagen renderizada en la región no foveada o realizar otras operaciones computacionalmente costosas para mitigar los artefactos de solapamiento temporal. Como consecuencia, las tecnologías presentadas en la presente memoria reducen el consumo global de recursos computacionales del sistema, que incluyen, pero no se limitan a, los tiempos de CPU y/o GPU, el espacio de memoria o el ancho de banda de red.
La descripción que sigue proporciona únicamente realizaciones ilustrativas, y no pretende limitar el alcance, la aplicabilidad ni la configuración de la descripción. Más bien, la siguiente descripción de las realizaciones ilustrativas proporcionará a los expertos en la técnica una descripción habilitante para implementar una o más realizaciones ilustrativas.
En la siguiente descripción, se dan detalles específicos para proporcionar una comprensión completa de las realizaciones. Sin embargo, un experto en la técnica entenderá que las realizaciones pueden ponerse en práctica sin estos detalles específicos. Por ejemplo, los circuitos, sistemas, redes, procesos y otros elementos de la invención pueden mostrarse como componentes en forma de diagrama en bloque para no complicar las realizaciones con detalles innecesarios. En otros casos, los circuitos, procesos, algoritmos, estructuras y técnicas muy conocidos pueden mostrarse sin detalles innecesarios para evitar complicar las realizaciones.
Además, cabe señalar que pueden describirse realizaciones individuales como un proceso que se ilustra como un flujograma, un diagrama de flujo, un diagrama de flujo de datos, un diagrama estructural o un diagrama de bloques. Aunque un diagrama de flujo puede describir las operaciones como un proceso secuencial, muchas de las operaciones pueden realizarse en paralelo o al mismo tiempo. Además, se puede reorganizar el orden de las operaciones. Un proceso puede terminarse cuando se completen sus operaciones, pero podría tener etapas adicionales no analizadas o incluidas en una figura. Asimismo, no todas las operaciones de cualquier proceso particularmente descrito pueden ocurrir en todas las realizaciones. Un proceso puede corresponder a un método, una función, un procedimiento, una subrutina, un subprograma, etc. Cuando un proceso corresponde a una función, su terminación corresponde a un retorno de la función a la función de llamada o a la función principal. Cualquier detalle presente en una realización descrita puede o no estar presente en otras versiones de esa realización u otras realizaciones mencionadas en la presente memoria.
La expresión “ medio legible por máquina” , incluye, pero no se limita a, dispositivos de almacenamiento portátiles o fijos, dispositivos de almacenamiento óptico, canales inalámbricos y otros medios diversos capaces de almacenar, contener o transmitir una o más instrucciones y/o datos. Un segmento de código o instrucciones ejecutables por máquina pueden representar un procedimiento, una función, un subprograma, un programa, una rutina, una subrutina, un módulo, un paquete de software, una clase o cualquier combinación de instrucciones, estructuras de datos o sentencias de programa. Un segmento de código puede acoplarse a otro segmento de código o a un circuito de hardware al pasar y/o recibir información, datos, argumentos, parámetros o contenido de memoria. La información, los argumentos, los parámetros, los datos, etc. pueden pasarse, enviarse o transmitirse a través de cualquier medio adecuado que incluye compartir la memoria, pasar el mensaje, pasar el identificador, transmisión de red, etc.
Además, las realizaciones de la invención pueden implementarse, al menos en parte, ya sea manual o automáticamente. Pueden ejecutarse implementaciones manuales o automáticas, o al menos asistidas, mediante el uso de máquinas, hardware, software, firmware, software personalizado, microcódigo, lenguajes descriptivos de hardware, o cualquier combinación de los mismos. Cuando se implementa(n) en software, firmware, software personalizado o microcódigo, el código de programa o los segmentos de código para realizar las tareas necesarias puede(n) almacenarse en un medio legible por máquina. Uno o más procesadores pueden realizar las tareas necesarias.
En algunas realizaciones de la invención, y haciendo referencia a la figura 1, se proporciona un sistema 100 para presentar gráficos o imágenes en un dispositivo 110 de visualización. El sistema 100 puede incluir un dispositivo 120 de seguimiento ocular y un dispositivo 130 de procesamiento gráfico. En algunas realizaciones, el sistema también puede incluir un dispositivo informático 140 que se comunica con, y controla, un dispositivo 130 de procesamiento gráfico. En algunas realizaciones, el dispositivo informático 140 puede realizar, total o parcialmente, cualquier función del dispositivo 130 de procesamiento de gráficos. Simplemente a modo de ejemplo, el dispositivo 120 de seguimiento ocular puede proporcionarse integrado en, o además de, un ordenador personal 140 que tiene un dispositivo 130 de procesamiento gráfico y una unidad de procesamiento central (en algunas configuraciones, el dispositivo 130 de procesamiento gráfico y la unidad de procesamiento central están integrados).
En otras realizaciones, el dispositivo 120 de seguimiento ocular puede proporcionarse integrado en, o además de, una consola 140 de juegos, u otro dispositivo que tenga un dispositivo 130 de procesamiento gráfico y una unidad de procesamiento central. Entre los ejemplos de consolas de videojuegos se incluyen aquellas fabricadas y comercializadas por Microsoft™, Nintendo™ y Sony™. En otras realizaciones, el dispositivo 120 de seguimiento ocular puede proporcionarse como una parte integrante de, o además de, unos cascos ponibles, tales como unos cascos de realidad virtual(RV)o de realidad aumentada (RA), o dispositivos similares. Entre los ejemplos de cascos ponibles se incluyen aquellos fabricados y comercializados con los nombres de Oculus Rift™, HTC Vive™, Sony PlaystationVR™ y Fove™. Así pues, pueden aplicarse realizaciones de la invención a la presentación de gráficos en cualquier número de dispositivos y de aplicaciones posibles, incluidos la visualización de vídeos, los videojuegos, la producción y la edición de vídeos, las comunicaciones de vídeo, el dibujo y el diseño asistidos por ordenador, etc.
El dispositivo 120 de seguimiento ocular puede servir para determinar al menos uno de un punto de mirada de un usuario en el dispositivo 110 de visualización o un cambio en el punto de mirada del usuario en el dispositivo 110 de visualización. Los dispositivos y métodos de seguimiento ocular, a veces denominados sistemas y métodos de detección de mirada, incluyen, por ejemplo, productos producidos y disponibles de Tobii AB, y que funcionan usando iluminación infrarroja y un sensor de imágenes para detectar el reflejo del ojo de un usuario. Otros sistemas alternativos de detección de mirada también pueden ser empleados por la invención, independientemente de la tecnología detrás del sistema de detección de mirada. El dispositivo 120 de seguimiento ocular puede emplear su propio procesador o el procesador de otro dispositivo (es decir, el dispositivo 140 de computación), para interpretar y procesar los datos recibidos. Cuando se hace referencia a un dispositivo de seguimiento ocular en la presente memoria, se hace referencia a ambos métodos posibles de procesamiento de datos.
En algunas realizaciones, el dispositivo 130 de procesamiento de gráficos renderiza la escena generada por ordenador, tal como una escena tridimensional (3<d>), en unas imágenes y envía las imágenes renderizadas al dispositivo 110 de visualización para su visualización. El dispositivo 130 de procesamiento de gráficos puede utilizar un renderizado foveado basado al menos en parte en el punto de mirada del usuario en el dispositivo 110 de visualización o en un cambio del punto de mirada del usuario en el dispositivo 110 de visualización, tal y como lo determine el dispositivo 120 de seguimiento ocular. El dispositivo 130 de procesamiento de gráficos puede incluir además un módulo 150 de procesamiento de gráficos para procesar las imágenes renderizadas, tal como combinar unas imágenes de alta resolución y unas imágenes en segundo plano de baja resolución en el renderizado foveado, o realizar otras operaciones posprocesamiento en la imagen renderizada. Según algunas realizaciones, el módulo 150 de procesamiento de gráficos también realiza el mecanismo anti-solapamiento presentado en la presente memoria antes de que la imagen renderizada se envíe al dispositivo 110 de visualización. Aunque en algunas realizaciones un dispositivo de visualización no incluido o no integrado separado será controlado por el dispositivo 130 de procesamiento gráfico, otras realizaciones pueden incluir o integrar el dispositivo 110 de visualización.
La forma en que el dispositivo 130 de procesamiento gráfico implementa el renderizado foveado puede variar dependiendo de las realizaciones. La figura 2A ilustra una realización del renderizado foveado, que muestra un dispositivo 110 de visualización, un punto 210 de mirada de un usuario en el dispositivo 110 de visualización y la región foveada 220 alrededor del punto 210 de mirada del usuario en la que el dispositivo 130 de procesamiento de gráficos puede visualizar una imagen que tiene una calidad superior a la de la región 230 restante del dispositivo 110 de visualización, también denominada “ región no foveada 230” . En una realización, el dispositivo 130 de procesamiento gráfico renderiza la imagen para la región foveada 220, con una tasa de muestreo alta, mientras que la imagen para la región 230 no foveada, se renderiza con una tasa de muestreo baja. Como resultado, la imagen para la región 230 no foveada puede generarse con una baja resolución, y la imagen para la región foveada 220 puede generarse con una alta resolución. De esta manera, los recursos disponibles del dispositivo 130 de procesamiento gráfico, y/u otros recursos del sistema, pueden utilizarse de manera eficiente sin afectar la calidad visual global de la imagen visualizada.
Debe apreciarse que, aunque la región foveada 220 ilustrada en la figura 2A tiene forma rectangular, la región foveada 220 puede tener cualquier forma regular o irregular, tal como circular, ovalada, cuadrada, rectangular o poligonal, etc. Asimismo, además de usar distintas frecuencias de muestreo para la región foveada 220 y la región no foveada 230, se puede hacer que la calidad de estas dos regiones sea diferente en otros aspectos, tales como el sombreado, el mapeado de texturas, el mapeado topológico, las sombras, la reflexión, la frecuencia de cuadros, la calidad de los efectos posprocesamiento, la calidad de refracción, la calidad de objetos tridimensionales, etc. En las diversas realizaciones descritas en la presente memoria se usa una frecuencia de muestreo diferente como ejemplo para ilustrar el mecanismo propuesto en la presente memoria para reducir los artefactos de solapamiento temporal. El mecanismo puede utilizarse igualmente para reducir los artefactos causados por otros tipos de discrepancia de calidad.
La figura 2B ilustra un ejemplo de renderizado foveado usando distintas frecuencias de muestreo para la región foveada 220 y la región no foveada 230, según una realización de la presente descripción. En este ejemplo, el renderizado foveado conlleva generar una imagen 208 en segundo plano con una resolución baja y una imagen 204 en primer plano de alta resolución, también denominada imagen 204 de alta resolución. Por ejemplo, la imagen 202 en segundo plano puede generarse usando una frecuencia de muestreo que sea la mitad de la frecuencia de muestreo de una imagen generada para el dispositivo de visualización sin renderizado foveado, denominada en la presente memoria “ imagen completa” . Como consecuencia, la imagen 202 en segundo plano tiene una dimensión que es la mitad que la de la imagen completa tanto en la dirección horizontal como en la vertical. La imagen 204 en primer plano de alta resolución puede tener una frecuencia de muestreo igual que o similar a la de la imagen completa, pero unas dimensiones más pequeñas que las de la imagen completa o de la región de visualización del dispositivo 110 de visualización.
En un ejemplo, la imagen 208 en segundo plano corresponde a todo el contenido de la imagen completa o la región de visualización completa. En comparación, la imagen 204 en primer plano de alta resolución corresponde a una región foveada 220. El renderizado foveado incluye además combinar la imagen 202 en segundo plano y la imagen 204 en primer plano de alta resolución para generar una imagen compuesta 206. La combinación incluye superponer la imagen 204 en primer plano de alta resolución encima de la imagen 208 en segundo plano en función de la ubicación del punto 210 de mirada y de la región foveada 220. La imagen compuesta 206 se presenta en la región de visualización de imágenes del visualizador. Por consiguiente, en lugar de presentarse la imagen completa, se presenta la imagen compuesta 206, donde solo se presenta a alta resolución la imagen 204 en primer plano, y la parte restante de la imagen compuesta se presenta a baja resolución. Durante el proceso de combinación pueden realizarse operaciones adicionales, tales como mezclar el contenido de imagen cerca del límite de la imagen 204 en primer plano de alta resolución para suavizar la transición entre las resoluciones baja y alta.
Cuando la imagen 208 en segundo plano se combina con la imagen 204 de alta resolución, una parte de la imagen 208 en segundo plano se superpone con la imagen 204 de alta resolución y, por tanto, es reemplazada por esta en la imagen compuesta 206. Esta parte de la imagen 202 en segundo plano se denomina imagen de baja resolución y corresponde a la imagen 204 de alta resolución. A medida que el usuario cambia el punto de mirada, se puede generar una nueva imagen 204 de alta resolución para que el contenido de imagen en la nueva región foveada 220 pueda presentarse en alta calidad. De manera similar, también puede resultar necesario generar una nueva imagen 208 en segundo plano si el cambio de punto 210 de mirada va acompañado de un cambio en la posición del usuario en relación con la escena. Por lo general, la imagen 208 en segundo plano es relativamente estable, y los cambios son menos significativos que en la imagen 204 de alta resolución.
La figura 3 es un diagrama que ilustra un ejemplo del artefacto de solapamiento temporal dependiente de la mirada en un renderizado foveado. La figura 3 ilustra el renderizado foveado en dos puntos temporales consecutivos: T1 y T2. En el instante T1, una imagen 204 de alta resolución que cubre la región foveada de un usuario se combina con la imagen 208 en segundo plano superponiendo la imagen 204 de alta resolución encima de la imagen 208 en segundo plano. Tal y como se explicó anteriormente, una parte de la imagen 208 en segundo plano se superpone con la imagen 204 de alta resolución, la cual se muestra en el dibujo superior izquierdo de la figura 3 y se denomina imagen 302 de baja resolución.
La figura 3 también muestra un píxel P1 con un color blanco en la imagen 204 de alta resolución y una correspondiente muestra P2 con un color negro en la imagen 302 de baja resolución en el instante T1. La muestra P2 puede determinarse reasignando las coordenadas del píxel P1 en la imagen 204 de alta resolución a la imagen 302 de baja resolución e interpolando el valor de la muestra P2 usando unos píxeles vecinos de la imagen 302 de baja resolución. El píxel P1 y la muestra P2 están ubicados en la misma posición en sus respectivas imágenes. Por ello, cuando la imagen 204 de alta resolución se combina con la imagen 208 en segundo plano, el píxel P2 se reemplaza por el píxel P1 en la imagen compuesta 206. El dibujo inferior izquierdo en la figura 3 muestra la imagen compuesta 206 en el instante T1, en el que solo se puede observar el píxel P1.
En el instante T2, el punto 210 de mirada del usuario, y, por tanto, la región foveada se mueven hacia la izquierda, es decir, desde G1 hasta G2. Para este nuevo punto G2 de mirada y la región foveada se genera una nueva imagen 204 de alta resolución. En este ejemplo, el cambio de punto de mirada no supone un cambio de la posición del usuario en relación con la escena 3D. Por ello, la imagen 208 en segundo plano permanece sustancialmente sin cambios. A medida que el punto 210 de mirada se mueve hacia la derecha, la muestra P2 deja de estar dentro de la región foveada. Por consiguiente, la muestra P2 se muestra en la imagen compuesta 206 en el instante T2 a la izquierda de la región foveada.
Comparando las imágenes compuestas 206 en los instantes T1 y T2, el píxel 304 pasa de ser un píxel blanco P1 a ser un píxel negro P2. Tal y como se explicó anteriormente, un cambio tan repentino del valor de píxel provocará los artefactos de solapamiento temporal en la imagen visualizada. De manera similar, si el usuario mueve su punto de mirada de nuevo a G1 desde G2, el píxel 304 pasará repentinamente de ser píxel negro a ser un píxel blanco, lo que provocará artefactos de solapamiento temporal similares.
Para mitigar semejante problema, antes de enviar la imagen compuesta 206 para su visualización, el dispositivo 130 de procesamiento de gráficos puede modificar el píxel P1 en la imagen 204 de alta resolución para reducir la diferencia entre P1 y P2. Uno de los motivos de la aparición de artefactos de solapamiento temporal es la gran discrepancia entre los valores de píxel de P1 y P2. Un artefacto de solapamiento temporal es menos apreciable si la diferencia entre los valores de píxel P1 y P2 es pequeña. Por ello, al modificar el valor de píxel del píxel P1 en la imagen 204 de alta resolución, se puede reducir la diferencia entre P1 y P2 y, por tanto, también se puede reducir el artefacto de solapamiento.
La figura 4 es un diagrama que ilustra un ejemplo de un método para reducir artefactos de solapamiento temporal en un renderizado foveado, según una realización de la presente descripción. En aras de la simplicidad, se usa un bloque de imagen de 2 por 2 para renderizar la imagen 302 de baja resolución y se usa un bloque de imagen de 4 por 4 para representar la imagen 204 de alta resolución. Este ejemplo extremadamente simplificado solo tiene fines ilustrativos y no debe interpretarse como que es limitante.
En el ejemplo mostrado en la figura 4, para encontrar una correspondencia unívoca entre la imagen 302 de baja resolución y la imagen 204 de alta resolución, el módulo 150 de procesamiento de gráficos del dispositivo 130 de procesamiento de gráficos puede reasignar las coordenadas de un píxel dado en la imagen 204 de alta resolución a las coordenadas en la imagen 302 de baja resolución y luego estimar una muestra en la imagen 302 de baja resolución que corresponde al píxel dado en la imagen 204 de alta resolución usando los píxeles vecinos de la imagen 302 de baja resolución.
Tal y como se muestra en la figura 4, un píxel de la imagen 204 de alta resolución se denota como H(i,j). Para encontrar una muestra en la imagen 302 de baja resolución que corresponda al píxel H(i,j), las coordenadas (i,j) del píxel de imagen de alta resolución se transforman en las coordenadas (i1,j') en la imagen de baja resolución. Si las coordenadas transformadas (i',j') no coinciden con las coordenadas de píxeles existentes de la imagen 302 de baja resolución, el módulo 150 de procesamiento de gráficos puede usar píxeles que estén cerca de las coordenadas (i',j') para estimar el valor de la muestra. Por ejemplo, la estimación puede suponer interpolar píxeles adyacentes a las coordenadas (i',j') en la imagen 302 de baja resolución para generar una muestra en (i',j'), denotada como L(i',j'). La interpolación puede realizarse usando cualquier algoritmo de interpolación lineal o no lineal. Dependiendo del algoritmo de interpolación, los píxeles adyacentes pueden estar en la vecindad de N por N más cercana de la muestra o en una línea que atraviesa la muestra.
Una vez que se determina la muestra L(i'j') de la imagen 302 de baja resolución, el módulo 150 de procesamiento de gráficos puede calcular la diferencia entre H(ij) y L(i'j') y compara la diferencia, tal como la diferencia absoluta |H(ij) - L(i'j')|, con un valor umbral. En algunas realizaciones, la diferencia se calcula usando los valores de luminancia de los píxeles H(ij) y L(i'j'). En esas realizaciones, si la imagen 204 de alta resolución y la imagen 302 de baja resolución se han representado en un espacio de color, el módulo 150 de procesamiento de gráficos convierte estas dos imágenes al espacio de luminancia cuando calcula la diferencia. Asimismo, el umbral también está en el espacio de luminancia. En otras realizaciones, el módulo 150 de procesamiento de gráficos calcula la diferencia entre el píxel H(ij) y la muestra L(i'j') y selecciona el valor umbral en un espacio de color, tal como un espacio de color RGB, un espacio de color YUV y/u otros.
Si el módulo 150 de procesamiento de gráficos determina que la diferencia entre los píxeles H(i,j) y L(i',j') es mayor o igual que el valor umbral, esto puede significar que es probable que se produzca un artefacto de solapamiento temporal en la ubicación de este píxel. Por lo tanto, el módulo 150 de procesamiento de gráficos cambiará el píxel de H(ij) para reducir la diferencia entre H(i,j) y L(i',j'), tal como hacer que la diferencia sea menor que el valor umbral. Por ejemplo, el píxel de la imagen 204 de alta resolución puede modificarse de la siguiente manera:
H'(i, j) = H(i,j) - a(H(i,j) - L(i'J')) (1)
donde a es un parámetro utilizado para determinar la cantidad del ajuste o modificación realizado en H(i,j) y toma un valor entre 0 y 1. En una realización, H(i,j) se modifica para tomar el valor de L(i',j'), es decir, a = 1. Si el módulo 150 de procesamiento de gráficos determina que la diferencia entre H(i,j) y L(i',j') está por debajo del valor umbral, el módulo 150 de procesamiento de gráficos mantendrá el valor de H(i,j) sin cambios.
El valor umbral se puede seleccionar basándose en factores tales como el tipo del dispositivo de visualización, el dispositivo 130 de procesamiento de gráficos y el tipo de imágenes. Por ejemplo, el valor del umbral puede seleccionarse a través de experimentos que se realizan usando dispositivos similares para un contenido de imagen parecido. En una realización, puede hacerse que el valor umbral sea un 6,25 % del cambio de píxel máximo. Por ejemplo, si los píxeles se representan usando 8 bits y la diferencia se calcula en valores de luminancia, puede hacerse que el valor umbral sea igual a 6,25 % x 255.
El módulo 150 de procesamiento de gráficos puede aplicar el método descrito anteriormente a cada píxel de la imagen 204 de alta resolución y generar una imagen 402 de alta resolución modificada. El módulo 150 de procesamiento de gráficos puede entonces combinar la imagen 402 de alta resolución modificada con la imagen 208 en segundo plano para generar la imagen compuesta 206 y transmitir la imagen compuesta 206 al dispositivo 110 de visualización para su visualización.
Cabe entenderse que, aunque en la descripción anterior el método de eliminación de solapamiento se realice después de que se hayan renderizado la imagen 302 de baja resolución y la imagen 204 de alta resolución, el método de eliminación del solapamiento puede realizarse durante el renderizado de estas dos imágenes. En algunas implementaciones, la imagen 302 de baja resolución, o, más precisamente, la imagen 208 en segundo plano que contiene la imagen 302 de baja resolución, y la imagen 204 de alta resolución se renderizan en paralelo. En esas implementaciones, el módulo 150 de procesamiento de gráficos puede determinar si se han renderizado los píxeles correspondientes en la imagen 302 de baja resolución y en la imagen 204 de alta resolución, aunque todavía haya que renderizar el resto de las imágenes. En caso afirmativo, el módulo 150 de procesamiento de gráficos puede aplicar cuando sea necesario el método descrito anteriormente para modificar los píxeles de la imagen 204 de alta resolución. En la imagen de alta resolución renderizada de esta manera ya se han tenido en cuenta las artefactos de solapamiento y, por tanto, se puede combinar de la manera habitual con la imagen 208 en segundo plano después del renderizado para generar una imagen compuesta 206 para su visualización.
La figura 5 es un diagrama de flujo de un método ilustrativo 500 para reducir artefactos de solapamiento temporal en un renderizado foveado, según una realización de la presente descripción. Uno o más dispositivos de computación (p. ej., el dispositivo 140 de computación o, más específicamente, el dispositivo 130 de procesamiento de gráficos) implementa(n) unas operaciones representadas en la figura 5 ejecutando un código de programa adecuado (p. ej., por parte del módulo 150 de procesamiento de gráficos). Con fines ilustrativos, el método 500 se describe con referencia a ciertos ejemplos representados en las figuras. Sin embargo, son posibles otras implementaciones.
En un bloque 502, el método 500 conlleva recibir unos datos de mirada, que incluyen los datos acerca de un punto 210 de mirada de un usuario en un dispositivo 110 de visualización. Como se ha explicado anteriormente, los datos de mirada pueden generarse mediante un dispositivo 120 de seguimiento ocular que puede estar separado del dispositivo informático 140, o integrado en el mismo. En un bloque 504, el método 500 conlleva renderizar la imagen 208 en segundo plano que incluye la imagen 302 de baja resolución y la imagen 204 de alta resolución basándose en los datos de mirada. El renderizado puede realizarse mediante el dispositivo 130 de procesamiento gráfico u otro dispositivo informático que esté conectado de manera comunicativa al dispositivo 130 de procesamiento gráfico.
En un bloque 506, el método 500 conlleva comparar la imagen 204 de alta resolución y la imagen 302 de baja resolución para calcular una diferencia entre muestras de píxel. Tal y como se ha explicado anteriormente, para realizar la comparación, el dispositivo 130 de procesamiento de gráficos puede tener que interpolar la imagen 302 de baja resolución para generar una muestra que corresponda al píxel en la imagen 204 de alta resolución. El dispositivo 130 de procesamiento de gráficos también puede tener que convertir ambos píxeles a un espacio de luminancia o a un espacio de color en el que se calcula la diferencia.
En un bloque 508, el método 500 conlleva comparar la diferencia con un valor umbral. Si el dispositivo 130 de procesamiento de gráficos determina que la diferencia es mayor o igual que el valor umbral, el método 500 conlleva, en un bloque 510, modificar el píxel en la imagen 204 de alta resolución para reducir el valor de diferencia. En otras palabras, el píxel en la imagen 204 de alta resolución se modifica para que sea más próximo al valor de la muestra en la imagen 302 de baja resolución. En un ejemplo, el píxel se modifica según la Ecuación (1).
En un bloque 512, el método 500 conlleva determinar si hay que evaluar más píxeles en la imagen 204 de alta resolución. En caso afirmativo, el dispositivo 130 de procesamiento de gráficos repite las operaciones de los bloques 506-510 para el siguiente píxel. Si no hay que evaluar más píxeles, el dispositivo 130 de procesamiento de gráficos combina, en un bloque 514, la imagen 402 de alta resolución modificada y la imagen 208 en segundo plano para generar una imagen compuesta 206. En un bloque 516, el método 500 de procesamiento de gráficos transmite la imagen compuesta 206 al dispositivo 110 de visualización para su visualización. Tal y como se explicó anteriormente, el dispositivo 130 de procesamiento de gráficos puede realizar el método 500 mientras renderiza la imagen 208 en segundo plano y la imagen 204 de alta resolución. Siempre que se haya renderizado un píxel en la imagen 204 de alta resolución y en la parte correspondiente de la imagen 302 de baja resolución, el método 500 puede realizarse para ese píxel en la imagen de alta resolución, y, en caso necesario, el píxel puede modificarse.
La figura 6 es un diagrama de bloques que ilustra un sistema 600 informático ilustrativo en el que pueden implementarse realizaciones de la presente invención. Este ejemplo ilustra un sistema informático 600, tal como el que puede usarse, en su totalidad, en parte o con diversas modificaciones, para proporcionar las funciones del dispositivo 120 de seguimiento ocular, el dispositivo 130 de procesamiento de gráficos, la consola de videojuegos, el dispositivo 140 de computación y/u otros componentes de la invención, tales como los mencionados anteriormente. Por ejemplo, varias funciones del dispositivo 120 de seguimiento ocular y procesadores asociados, pueden controlarse mediante el sistema informático 600, incluidos, simplemente a modo de ejemplo, el seguimiento del punto de mirada de un usuario, la determinación de un punto de mirada anticipado, el control del dispositivo 130 de procesamiento gráfico, etc.
El sistema informático 600 se muestra comprendiendo elementos de hardware que pueden estar acoplados eléctricamente a través de un bus 690. Los elementos de hardware pueden incluir una o más unidades 610 de procesamiento central, uno o más dispositivos 620 de entrada (p. ej., un ratón, un teclado, etc.) y uno o más dispositivos 630 de salida (p. ej., un dispositivo de visualización, una impresora, etc.). El sistema informático 600 también puede incluir uno o más dispositivos 640 de almacenamiento. A modo de ejemplo, el dispositivo o los dispositivos 640 de almacenamiento pueden ser unidades de disco, dispositivos de almacenamiento óptico, un dispositivo de almacenamiento en estado sólido, tal como una random access memory (memoria de acceso aleatorio - “ RAM” ) y/o una read-only memory (memoria de solo lectura - “ ROM” ), que pueden ser programables, actualizables por memoria flash y/o similares.
El sistema informático 600 puede incluir adicionalmente un lector 650 de medios de almacenamiento legibles por ordenador, un sistema 660 de comunicaciones (p. ej., un módem, una tarjeta de red [inalámbrica o por cable], un dispositivo de comunicación de infrarrojos, un dispositivo Bluetooth™, un dispositivo de comunicación celular, etc.) y una memoria 680 de trabajo, que puede incluir dispositivos RAM y ROM, tal y como se ha descrito anteriormente. En algunas realizaciones, el sistema informático 600 también puede incluir una unidad 670 de aceleración de procesamiento, que puede incluir un procesador de señal digital, un procesador de propósito especial y/o similares.
El lector 650 de medios de almacenamiento legibles por ordenador puede conectarse además a un medio de almacenamiento legible por ordenador, que representan juntos (y, opcionalmente, en combinación con el[los] dispositivo[s] 640 de almacenamiento) integralmente unos dispositivos de almacenamiento remotos, locales, fijos y/o extraíbles, además de unos medios de almacenamiento para contener de manera temporal y/o más permanente información legible por ordenador. El sistema 660 de comunicaciones puede permitir que se intercambien datos con una red, un sistema, un ordenador y/u otro componente descrito anteriormente.
El sistema informático 600 también puede comprender unos elementos de software, que se muestran como si estuvieran ubicados actualmente dentro de una memoria 680 de trabajo, incluido(s) un sistema operativo 684 y/u otro código 688. Cabe apreciarse que realizaciones alternativas de un sistema informático 600 pueden tener numerosas variaciones aparte de las descritas anteriormente. Por ejemplo, también podría utilizarse hardware personalizado y/o podrían implementarse elementos particulares en hardware, software (incluido software portátil, tal como applets) o ambos. Además, también puede producirse la conexión a otros dispositivos informáticos, tales como dispositivos de entrada/salida de red y de captación de datos.
El software del sistema informático 600 puede incluir el código 688 para implementar cualquiera de o todas las funciones de los diversos elementos de la arquitectura que se ha descrito en la presente memoria. Por ejemplo, el software, almacenado en y/o ejecutado por un sistema informático como el sistema 600, puede proporcionar las funciones del dispositivo 120 de seguimiento ocular, el dispositivo 130 de procesamiento de gráficos, la consola de videojuegos, el procesador/ordenador y/u otros componentes de la invención tales como los mencionados anteriormente. Los métodos implementables mediante software en algunos de estos componentes se han analizado anteriormente con mayor detalle.
Ahora, la invención se ha descrito en detalle con fines de claridad y comprensión. Sin embargo, se apreciará que pueden hacerse determinados cambios y modificaciones dentro del ámbito de las reivindicaciones adjuntas.
Según la invención, se describe un método para reducir artefactos de solapamiento en un renderizado foveado. El método incluye acceder a una imagen de alta resolución y a una imagen de baja resolución correspondiente a la imagen de alta resolución y calcular una diferencia entre un píxel de la imagen de alta resolución y una muestra asociada a la imagen de baja resolución. La muestra de la imagen de baja resolución corresponde al píxel de la imagen de alta resolución. El método incluye además modificar el píxel para generar un píxel modificado de la imagen de alta resolución cuando se determina que la diferencia es mayor o igual que un valor umbral. La modificación se realiza para que una diferencia actualizada entre el píxel modificado y la muestra sea menor que la diferencia original.

Claims (15)

  1. REIVINDICACIONES
    i.Un método implementado por ordenador para reducir artefactos de solapamiento en un renderizado foveado, comprendiendo el método:
    acceder, por parte de un dispositivo (130, 140; 610) de procesamiento, a una imagen (204) de alta resolución y a una imagen (302) de baja resolución que corresponde a la imagen de alta resolución; calcular, por parte del dispositivo de procesamiento, una primera diferencia entre un primer píxel (P1) de la imagen de alta resolución y una segunda muestra (P2) asociada a la imagen de baja resolución, correspondiendo espacialmente la segunda muestra al primer píxel; y modificar, por parte del dispositivo de procesamiento, el primer píxel para generar un píxel modificado de la imagen de alta resolución basándose en una determinación de que la primera diferencia es mayor o igual que un valor umbral, en donde una segunda diferencia entre el píxel modificado y la segunda muestra es menor que la primera diferencia.
  2. 2. El método de la reivindicación 1, que comprende, además:
    calcular un primer valor de luminancia del primer píxel y un segundo valor de luminancia de la segunda muestra, en donde la primera diferencia comprende una diferencia entre el primer valor de luminancia y el segundo valor de luminancia,
    en donde modificar el primer píxel comprende preferiblemente modificar el primer valor de luminancia del primer píxel.
  3. 3. El método de la reivindicación 1, en donde la primera diferencia comprende una diferencia entre un primer valor de color del primer píxel y un segundo valor de color de la segunda muestra.
  4. 4. El método de la reivindicación 1, en donde modificar el primer píxel comprende reemplazar el primer píxel por la segunda muestra.
  5. 5. El método de la reivindicación 1, que comprende, además:
    mantener el primer píxel y no generar el píxel modificado basándose en una determinación de que la primera diferencia es menor que el valor umbral.
  6. 6. El método de la reivindicación 1, en donde la segunda muestra asociada a la imagen de baja resolución se genera interpolando dos o más píxeles de la imagen de baja resolución.
  7. 7. El método de la reivindicación 1, en donde la imagen de alta resolución se genera para una región foveada (220) que contiene un punto (210) de mirada de un usuario en un dispositivo (110) de visualización,
    en donde el método comprende además preferiblemente: hacer que la imagen de alta resolución que contiene el píxel modificado se visualice en el dispositivo de visualización, y/o en donde la imagen de baja resolución corresponde a la región foveada que contiene el punto de mirada del usuario en el dispositivo de visualización.
  8. 8. El método de la reivindicación 7, en donde el primer píxel de la imagen de alta resolución y la segunda muestra de la imagen de baja resolución corresponden a un mismo punto en la región foveada.
  9. 9. El método de la reivindicación 7, que comprende, además:
    evitar que la imagen de baja resolución se visualice en el dispositivo de visualización haciendo que la imagen de alta resolución se presente en la región foveada en el dispositivo de visualización.
  10. 10. Un sistema (600) de computación que comprende:
    un medio legible por ordenador no transitorio que almacena un código de programa de una aplicación de procesamiento de imágenes para reducir artefactos de solapamiento en un renderizado foveado; y un dispositivo (130, 140; 610) de procesamiento acoplado de manera comunicativa al medio legible por ordenador no transitorio, en donde el dispositivo de procesamiento está configurado para ejecutar el código de programa y realizar así unas operaciones que comprenden:
    acceder a una imagen (204) de alta resolución y a una imagen (302) de baja resolución que corresponde a la imagen de alta resolución;
    calcular una primera diferencia entre un primer píxel (P1) de la imagen de alta resolución y una segunda muestra (P2) asociada a la imagen de baja resolución, correspondiendo espacialmente la segunda muestra al primer píxel; y
    modificar el primer píxel para generar un píxel modificado de la imagen de alta resolución basándose en una determinación de que la primera diferencia es mayor o igual que un valor umbral, en donde una segunda diferencia entre el píxel modificado y la segunda muestra es menor que la primera diferencia.
  11. 11. El sistema de computación de la reivindicación 10, en donde las operaciones comprenden, además:
    mantener el primer píxel y no generar el píxel modificado basándose en una determinación de que la primera diferencia es menor que el valor umbral.
  12. 12. El sistema de computación de la reivindicación 10, en donde las operaciones comprenden, además:
    calcular un primer valor de luminancia del primer píxel y un segundo valor de luminancia de la segunda muestra, en donde la primera diferencia comprende una diferencia entre el primer valor de luminancia y el segundo valor de luminancia,
    en donde modificar el primer píxel comprende preferiblemente modificar el primer valor de luminancia del primer píxel.
  13. 13. Un medio legible por máquina no transitorio que tiene unas instrucciones en el mismo para reducir artefactos de solapamiento en un renderizado foveado, las instrucciones ejecutables por uno o más procesadores (130, 140; 610) para realizar unas operaciones que comprenden:
    acceder a una imagen (204) de alta resolución y a una imagen (302) de baja resolución que corresponde a la imagen de alta resolución;
    calcular una primera diferencia entre un primer píxel (P1) de la imagen de alta resolución y una segunda muestra (P2) asociada a la imagen de baja resolución, correspondiendo espacialmente la segunda muestra al primer píxel; y
    modificar el primer píxel para generar un píxel modificado de la imagen de alta resolución basándose en una determinación de que la primera diferencia es mayor o igual que un valor umbral, en donde una segunda diferencia entre el píxel modificado y la segunda muestra es menor que la primera diferencia.
  14. 14. El medio legible por máquina no transitorio de la reivindicación 13, en donde la imagen de alta resolución se genera para una región foveada (220) que contiene un punto (210) de mirada de un usuario en un dispositivo (110) de visualización y en donde la imagen de baja resolución corresponde a la región foveada que contiene el punto de mirada del usuario en el dispositivo de visualización,
    en donde el primer píxel de la imagen de alta resolución y la segunda muestra de la imagen de baja resolución corresponden preferiblemente a un mismo punto en la región foveada.
  15. 15. El medio legible por máquina no transitorio de la reivindicación 13, en donde la segunda muestra asociada a la imagen de baja resolución se genera por interpolación de dos o más píxeles de la imagen de baja resolución.
ES19211756T 2018-12-06 2019-11-27 Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada Active ES2971102T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/211,917 US10885882B2 (en) 2018-12-06 2018-12-06 Reducing aliasing artifacts in foveated rendering using cross-resolution modulation

Publications (1)

Publication Number Publication Date
ES2971102T3 true ES2971102T3 (es) 2024-06-03

Family

ID=68699294

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19211756T Active ES2971102T3 (es) 2018-12-06 2019-11-27 Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada

Country Status (4)

Country Link
US (1) US10885882B2 (es)
EP (1) EP3664018B1 (es)
CN (1) CN111292236B (es)
ES (1) ES2971102T3 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017192981A1 (en) 2016-05-06 2017-11-09 Mtd Products Inc Autonomous mower navigation system and method
WO2020141344A2 (en) * 2018-07-20 2020-07-09 Tobii Ab Distributed foveated rendering based on user gaze
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
US11030783B1 (en) 2020-01-21 2021-06-08 Arm Limited Hidden surface removal in graphics processing systems
US11049216B1 (en) * 2020-01-21 2021-06-29 Arm Limited Graphics processing systems
US12175627B2 (en) * 2021-06-24 2024-12-24 Meta Platforms Technologies, Llc Adaptive super-sampling based on gaze
CN114742738B (zh) * 2022-04-11 2025-05-02 北京字节跳动网络技术有限公司 图像处理方法、装置、存储介质及电子设备
CN114581583B (zh) * 2022-04-19 2025-04-18 北京视延科技有限公司 图像处理方法、装置及存储介质
CN115311184B (zh) * 2022-08-09 2026-03-31 山东师范大学 基于半监督深度神经网络的遥感图像融合方法及系统
CN116630173A (zh) * 2023-02-13 2023-08-22 上海各瑟信息科技有限公司 一种vr虚拟现实图像增强优化方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE524003C2 (sv) 2002-11-21 2004-06-15 Tobii Technology Ab Förfarande och anläggning för att detektera och följa ett öga samt dess blickvinkel
US7711200B2 (en) * 2005-09-29 2010-05-04 Apple Inc. Video acquisition with integrated GPU processing
US20110097011A1 (en) * 2009-10-27 2011-04-28 Suk Hwan Lim Multi-resolution image editing
US8339470B2 (en) * 2009-11-30 2012-12-25 Indian Institute Of Technology Madras Method and system for generating a high resolution image
US10895909B2 (en) * 2013-03-04 2021-01-19 Tobii Ab Gaze and saccade based graphical manipulation
US9898081B2 (en) * 2013-03-04 2018-02-20 Tobii Ab Gaze and saccade based graphical manipulation
US11714487B2 (en) * 2013-03-04 2023-08-01 Tobii Ab Gaze and smooth pursuit based continuous foveal adjustment
US10082870B2 (en) * 2013-03-04 2018-09-25 Tobii Ab Gaze and saccade based graphical manipulation
US9508121B2 (en) * 2015-01-14 2016-11-29 Lucidlogix Technologies Ltd. Method and apparatus for controlling spatial resolution in a computer system by rendering virtual pixel into physical pixel
US9829976B2 (en) * 2015-08-07 2017-11-28 Tobii Ab Gaze direction mapping
US11010956B2 (en) * 2015-12-09 2021-05-18 Imagination Technologies Limited Foveated rendering
US10157448B2 (en) * 2016-02-12 2018-12-18 Qualcomm Incorporated Foveated video rendering
US10438400B2 (en) * 2016-03-08 2019-10-08 Nvidia Corporation Perceptually-based foveated rendering using a contrast-enhancing filter
US10140695B2 (en) * 2016-10-04 2018-11-27 Facebook Technologies, Llc Head-mounted compound display including a high resolution inset
KR102650215B1 (ko) * 2016-10-18 2024-03-21 삼성전자주식회사 영상 처리 방법 및 장치
CN107168668A (zh) * 2017-04-28 2017-09-15 北京七鑫易维信息技术有限公司 图像数据传输方法、装置以及存储介质、处理器
US10713752B2 (en) * 2017-06-09 2020-07-14 Sony Interactive Entertainment Inc. Temporal supersampling for foveated rendering systems
CN107516335A (zh) * 2017-08-14 2017-12-26 歌尔股份有限公司 虚拟现实的图形渲染方法和装置
US10694170B2 (en) * 2018-03-05 2020-06-23 Valve Corporation Controlling image display via real-time compression in peripheral image regions

Also Published As

Publication number Publication date
CN111292236A (zh) 2020-06-16
US20200184933A1 (en) 2020-06-11
US10885882B2 (en) 2021-01-05
CN111292236B (zh) 2023-09-15
EP3664018A1 (en) 2020-06-10
EP3664018B1 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
ES2971102T3 (es) Reducción de artefactos de solapamiento en un renderizado foveado usando una modulación de resolución cruzada
ES2930598T3 (es) Re-proyección de imágenes para renderizado foveado
US11704768B2 (en) Temporal supersampling for foveated rendering systems
ES2938535T3 (es) Representación foveada distribuida basada en la mirada del usuario
US10853918B2 (en) Foveal adaptation of temporal anti-aliasing
CN116485929B (zh) 增强现实系统和操作增强现实系统的方法
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
US20210343261A1 (en) Systems and methods for foveated rendering
JP2023514796A (ja) 物理物体による拡張現実内の仮想物体のオクルージョン
US9766458B2 (en) Image generating system, image generating method, and information storage medium
EP3236423A1 (en) Method and device for compositing an image
US11431955B1 (en) Systems and methods for temporal anti-aliasing
JP4797039B2 (ja) 画像合成方法及び装置
US7724253B1 (en) System and method for dithering depth values
JP2023504368A (ja) 静止画内のステレオスプラッシュスクリーンのエンコーディング
KR102955495B1 (ko) 동영상의 생성형 확장을 위한 디퓨전 모델의 컨디셔닝 방법 및 이의 컴퓨터 판독 가능 기록 매체
JP2021089617A (ja) 画像処理方法
EP3330839A1 (en) Method and device for adapting an immersive content to the field of view of a user
JP2025171711A (ja) ビデオシースルー映像処理装置、処理方法、プログラム