ES2243815T3 - Obtencion de imagenes con profundidad de campo mediante datos graficos de registro-z mezclas alfa. - Google Patents

Obtencion de imagenes con profundidad de campo mediante datos graficos de registro-z mezclas alfa.

Info

Publication number
ES2243815T3
ES2243815T3 ES03003378T ES03003378T ES2243815T3 ES 2243815 T3 ES2243815 T3 ES 2243815T3 ES 03003378 T ES03003378 T ES 03003378T ES 03003378 T ES03003378 T ES 03003378T ES 2243815 T3 ES2243815 T3 ES 2243815T3
Authority
ES
Spain
Prior art keywords
image
data
channel
scene
rgba
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.)
Expired - Lifetime
Application number
ES03003378T
Other languages
English (en)
Inventor
Homoud B. Alkouh
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.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Computer Entertainment America LLC
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 Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Application granted granted Critical
Publication of ES2243815T3 publication Critical patent/ES2243815T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Abstract

Método para generar visualizaciones gráficas mediante ordenador (508) que incluyen información sobre la profundidad de campo y que consiste en: la obtención (1702) de una imagen nítida (502) de una escena; la obtención (1704) de una imagen desenfocada (504) de la escena; y que se caracteriza en que el método comprende la siguiente operación de: generar una imagen RGBA que incluya la imagen nítida y la imagen desenfocada las cuales se combinan mediante un proceso combinatorio del canal alfa que está controlado por los datos gráficos del registro-z, de modo que la imagen RGBA del canal alfa genera una imagen dotada de información sobre la profundidad de campo cuando el RGBA del canal alfa se envía a un procesador gráfico y se renderiza para su visualización en un dispositivo informático de visualización.

Description

Obtención de imágenes con profundidad de campo mediante datos gráficos de registro-z y mezclas alfa.
Características del invento 1.Ámbito a que pertenece el invento
El presente invento se refiere de modo general a la infografía y, de manera más concreta, a la reproducción de imágenes obtenidas mediante ordenador dotadas de un realismo intensificado.
2.Descripción del artículo correspondiente
Los ordenadores se utilizan para representar ámbitos que pertenecen a una "realidad virtual" y que no existen en ningún lugar excepto en el espacio tridimensional creado por el ordenador. Pueden "existir" objetos en un mundo simulado que se pueden desplazar por el área de coordenadas de una realidad virtual. Cuando la utilización de objetos reales no resulta práctica, estos ámbitos son muy adecuados para imitar hechos del mundo real, como es el caso de investigaciones en el laboratorio y simulacros de sucesos, y de una gran utilidad con propósitos de entretenimiento, como son los juegos de ordenador y los trabajos dramáticos (animación). Actualmente, el campo de la infografía se esmera en crear imágenes que representen mundos informatizados de realidad virtual dotados de un realismo intensificado.
La creación de una imagen computerizada se puede definir como una combinación de elementos representados que se denominan píxeles. En la visualización de una imagen, los píxeles determinan combinaciones de información de color rojo, azul y verde de modo muy similar a la que presenta una imagen de televisión convencional. Cada pixel está asociado a datos que determinan la información sobre la intensidad del color correspondiente a cada pixel rojo, azul y verde de la imagen. Los datos sobre la intensidad del color se representan habitualmente mediante una palabra de datos de 8 bits. La mayoría de las simulaciones de realidad virtual facilitan que en un contexto se puedan visualizar datos pertenecientes a objetos dotados de características asociadas, tales como la forma, el tamaño, la posición y el color. Cuando se tiene que crear o diseñar un objeto en la pantalla de un ordenador, un procesador de gráficos determinará la combinación adecuada de color rojo, azul y verde correspondiente a la información asociada a cada pixel para obtener la visualización de una imagen y generará información de vídeo para lograr la combinación correcta de rojo, azul y verde de cada pixel. Los dispositivos de visualización están dotados de pixeles de tamaño variado con los que se crean las imágenes. Muchas pantallas de visualización planas, por ejemplo, pueden disponer de pixeles individuales circulares, cada uno de ellos de un diámetro aproximado de 0,29 mm (0,0116 pulgadas).
Un procesador de infografía o de visualización facilita un tratamiento de visualización de imágenes en un dispositivo de visualización de tal modo que las imágenes creadas por un programa informático u otra fuente informática generadora de imágenes permitan la visualización adecuada de las imágenes. La infografía abarca la creación, el almacenamiento y el tratamiento de modelos e imágenes de objetos basándose en una síntesis gráfica de los objetos obtenida a partir de modelos computerizados. La creación, el almacenamiento y el tratamiento de los objetos se pueden producir en tiempo real y pueden constituir un tratamiento interactivo que comprenda la presencia de un usuario del ordenador, el cual estará dotado de un dispositivo de acceso, como un teclado, un ratón, un controlador o una pantalla táctil de visualización. Una parte importante del proceso de producción de imágenes comprende el tratamiento gráfico, en el cual se reproduce adecuadamente la posición y el movimiento de los objetos en las imágenes en un contexto de un espacio bidimensional o tridimensional.
Por ejemplo, para determinar los objetos a representar y lo que se visualizará en la imagen obtenida, el procesador de gráficos proporciona información sobre la posición de cada pixel vinculado a una operación mediante la representación en el medio creado por el ordenador de los puntos correspondientes a un objeto. Parte de la información relativa a la posición se guarda en forma de registro-z de la imagen. El registro-z de una imagen o visualización de un medio consiste en un conjunto de valores de datos, con un valor de datos para cada pixel de la imagen basado en unas coordenadas que determinan la posición del objeto en el medio. O sea, los datos del registro-z se utilizan para determinar la distancia de un pixel correspondiente a un objeto desde la perspectiva de la cámara. Por tanto, existe un acceso de datos del registro-z para cada pixel de una imagen visualizada y el procesador gráfico efectuará el tratamiento de los datos que especifican la posición de dicho pixel en el modelo informático.
Cada punto de datos del registro-z se puede representar mediante una palabra de datos que puede ser de 32 bits. Ver, por ejemplo, el apartado 1.5 "Algoritmo de eliminación de superficie oculta" en la pág. 22 de Animación avanzada y técnicas de creación de A. Watt y M. Watt (ACM Press, 1992). La fidelidad y el detalle de la imagen computerizada dependen en parte de la capacidad que tenga el procesador de gráficos para ejecutar los cálculos aritméticos necesarios sobre la información integrada del registro-z sobre la posición del objeto; los procesadores de gráficos disponibles en el mercado experimentan mejoras continuas en su potencia para el tratamiento aritmético y otras capacidades para el proceso de imágenes.
Las imágenes virtuales diseñadas por ordenador ofrecen habitualmente un aspecto bastante distinto de las imágenes reales (como fotografías e imágenes de vídeo) de objetos reales. Uno de los motivos de discordancia entre las imágenes virtuales creadas por ordenador y las imágenes de objetos físicos reales consiste en que las imágenes correspondientes a la realidad virtual no representan de forma realista la información que se desea en cuanto a la profundidad de campo. En general, la profundidad de campo se refiere a la cantidad mutante de detalle que el ojo humano es capaz de percibir en los objetos que forman parte de una imagen y que depende de si un objeto se halla cerca o lejos de la perspectiva del espectador. Por ejemplo, los objetos de una fotografía que están más alejados de la perspectiva del espectador presentarán menos detalles discernibles de la imagen y resultarán más difíciles de distinguir que los que se hallan más cerca del espectador. Además, los objetos distantes poseen una apariencia "borrosa" y no son tan nítidos y claros como los objetos cercanos.
Uno de los motivos de la apariencia de "cómic" que presenta la mayoría de imágenes virtuales consiste en que normalmente los objetos más cercanos de las imágenes no son más nítidos y no poseen más detalle que los objetos alejados, y la visualización de éstos no es más borrosa que la de los objetos cercanos. Dicho de otra manera, la profundidad de campo es constante en toda la imagen virtual, mientras que con la apariencia de las imágenes que pertenecen al "mundo real" sucede lo contrario. Además, el aspecto de "cómic" se produce debido a que los detalles perceptibles de un objeto no cambian del modo deseado aunque el objeto de la imagen se halle más cercano o más alejado. Para obtener una apariencia más realista sería preciso que los objetos cercanos estuvieran dotados de más detalle y fueran más nítidos que los objetos que se hallan más alejados.
En las visualizaciones de infografía se han utilizado algunas técnicas que proporcionan una información optimizada de la profundidad de campo. Por ejemplo, en la distribución del trazado de rayos para integrar la información sobre la profundidad de campo en una imagen pre-generada creada por ordenador se usa una técnica de muestreo estocástico. Otra técnica posterior del proceso utiliza la intensidad de los píxeles y los datos sobre la profundidad de campo de la imagen del registro-z para determinar la distribución del tamaño y la intensidad del círculo de confusión de cada punto de la imagen, que corresponden al valor del registro-z y a la abertura de la lente utilizada. La intensidad de cada uno de los puntos de la imagen de salida se calcula como la media ponderada de las intensidades de los círculos de confusión que se superponen en cada punto. Potmesil y Chakravarty describen esta técnica, que también se detalla en Infografia: Principios y Práctica, segunda edición en C. por H. Foley et al. (Addison-Wesley Publishing Company, Inc. 1996), apartado 16.10 en 774-775. No obstante, se trata de técnicas de post-tratamiento y no se utilizan para obtener imágenes en procesos gráficos a tiempo real. Por tanto, no resultan adecuadas para usos interactivos.
WO9848381 ofrece un método en el que de una imagen original se extrae una o más marcas monoculares que se combinan para intensificar la profundidad de campo. Se importa una imagen original y se segmenta en uno o más objetos. Los objetos se identifican según se hallen situados en primer plano o en el fondo y se selecciona un objeto. A continuación, de la imagen original se obtiene una o más marcas de profundidad de campo, como el sombreado, la luminosidad, el desenfoque y la oclusión. Las marcas de profundidad de campo pueden presentar la forma de una o más imágenes intermedias y poseen un efecto optimizado de la profundidad de campo. Seguidamente se combinan las señales de profundidad de campo o se utilizan para crear imágenes con un efecto intensificado de la profundidad de campo.
De las afirmaciones anteriores se puede deducir que existe la necesidad de obtener imágenes diseñadas por ordenador que presente mayor realismo y que la información que posean sobre la profundidad de campo se haya intensificado. El presente invento está destinado a cubrir esta necesidad.
Resumen del invento
El presente invento se expone en la enunciación anexa 1 sobre método, en la enunciación 10 sobre el sistema y en la enunciación 20 sobre el programa; facilita la visualización de una imagen con una representación intensificada de la profundidad de campo en una escena tridimensional y que se ha obtenido mediante la combinación de una imagen nítida de la escena correspondiente a una representación enfocada y la representación de una imagen desenfocada de esta escena que producirán seguidamente una combinación alfa formada por las imágenes nítidas y las imágenes desenfocadas mediante la fusión de las imágenes nítidas y de las desenfocadas de conformidad con los datos del registro-z, el cual se usa generalmente en los procesadores gráficos para eliminar las superficies ocultas. De este modo, los datos gráficos del registro-z se utilizan como un canal alfa y se combinan con los datos del canal color de las imágenes nítidas y de las desenfocadas para generar una imagen de datos del canal alfa (imagen RGBA) que contiene información sobre la profundidad de campo. Así se obtiene una representación más realista de la imagen de la escena dotada de mayor nitidez en los objetos que se encuentran a cierta distancia y de menor nitidez en los objetos que se encuentran a otra distancia, y con una saturación menor en las áreas que corresponden al fondo de la imagen.
Otras características y ventajas que ofrece el presente invento figuran en la siguiente descripción de los componentes seleccionados, la cual ilustra a modo de ejemplo los principios que rigen el invento.
Descripción breve de los gráficos
La figura 1 muestra la visualización de una imagen de ordenador correspondiente a una escena en la que se reproduce una imagen de gran nitidez del tipo que se genera mediante un tratamiento informático para la obtención de gráficos.
La figura 2 es la visualización de una imagen de ordenador de una escena correspondiente a la figura 1 y que muestra una representación de 8 bits de los datos del registro-z para la escena.
La figura 3 es la visualización de una imagen de ordenador de una escena correspondiente a la figura 1 y que muestra una versión desenfocada de la imagen de la escena de gran nitidez correspondiente a la figura 1.
La figura 4 es la visualización de una imagen de ordenador de una escena de gran nitidez de la figura 1 que muestra una combinación alfa de la imagen nítida de la figura 1 y de la imagen desenfocada de la figura 3 con utilización a modo de canal alfa de los datos gráficos del registro-z de la figura 2.
La figura 5 es una representación gráfica de la combinación de la imagen de gran nitidez de la figura 1 y de la imagen desenfocada de la figura 3 con utilización de los datos gráficos del registro-z de la figura 2 para la combinación alfa.
La figura 6 es la visualización de una imagen de ordenador de la escena de la figura 1 que muestra la correspondiente imagen invertida del registro-z.
La figura 7 es la visualización de una imagen de ordenador de la escena de la figura 1 que muestra el resultado de combinar la imagen de gran nitidez de la figura 1 con la imagen desenfocada de la figura 3 y que utiliza como canal alfa los datos de la imagen invertida del registro-z de la figura 6.
La figura 8 es una imagen de 8 bits del registro-z que es intermedia entre las imágenes de la figura 2 y las de la figura 6.
La figura 9 es una imagen desenfocada en blanco y negro (sin color) producida mediante un tratamiento de copia del canal color en el cual el color de la imagen desenfocada de la figura 3 se copia sobre sí mismo para producir la imagen de la figura 9.
La figura 10 es una imagen de saturación reducida producida por la combinación de la figura 1 y la figura 9.
La figura 11 es el esquema de un sistema informático y de visualización con el que se han generado las imágenes de las figuras 1 a 10.
La figura 12 es un esquema detallado del sistema informático que se ilustra en la figura 11.
La figura 13 es un esquema detallado de un componente incorporado a un sistema informático para obtener la visualización de imágenes generadas de conformidad con el presente invento.
La figura 14 es una ilustración correspondiente a un pixel en un dispositivo de visualización de un sistema informático construido de conformidad con el presente invento, como los sistemas que se muestran en las figuras 11, 12 y 13.
La figura 15 es una representación del acceso único del registro-z del sistema informático que se expone en las figuras 11, 12 y 13.
La figura 16 es una representación del entorno de un mapa de bits para los dispositivos de visualización de los sistemas informáticos que se exponen en las figuras 11, 12 y 13.
La figura 17 es un diagrama de operaciones lógicas de los procesos efectuados por los sistemas informáticos de las figuras 11 a 13 destinados a generar imágenes con profundidad de campo incrementada de conformidad con el presente invento.
Descripción detallada
La descripción del presente invento se inscribe en el contexto de un entorno de visualización típico que utiliza modelos convencionales de color para la visualización informática en la representación de escenas. El entorno se utiliza sólo con finalidades descriptivas y no se pretende que el invento quede circunscrito a este entorno. Los expertos en el tema podrán apreciar que los detalles del entorno se pueden aplicar a otros entornos de procesos gráficos sin que se aparten de los preceptos de este invento.
La figura 1 es una visualización computerizada de la imagen de una escena generada por ordenador y que muestra una imagen de gran nitidez como la que se obtiene mediante un tratamiento convencional de generación de gráficos por ordenador. Conviene señalar que la figura 1 muestra una imagen de una escalera dotada de una gran nitidez y que está perfectamente enfocada, de modo que las demás escaleras que se ven al fondo (más cercanas al espectador en la imagen) son tan nítidas como las escaleras que se encuentran al fondo (más alejadas del espectador). Además, las columnas que aparecen en la escena son tan nítidas en la cercanía de la parte frontal de la escena como las que se hallan más alejadas. Esta característica se produce en muchas imágenes obtenidas mediante ordenador y produce un efecto que se denomina de "cómic".
De forma más concreta, una escena de animación típica u otras imágenes generadas por ordenador presentan una gran nitidez, aunque una imagen fotográfica (y todo aquello que se ve a través de la visión real) invariablemente no presenta una nitidez general en toda la escena. El presente invento puede producir imágenes más realistas sin tener que utilizar otra información visual que la imagen inicial de gran nitidez, ya que una imagen producida de conformidad con el presente invento incluye información sobre la profundidad de campo y puede mostrar al espectador un enfoque cambiante o una nitidez diferenciada de los objetos que aparecen en la escena. De este modo, las imágenes individuales de una secuencia de imágenes se pueden procesar para incrementar la profundidad de campo en el tratamiento de imágenes. De este modo se puede procesar una secuencia de escenas de animación, una detrás de otra, con la finalidad de que lograr que el aspecto de una secuencia completa de animación parezca más realista. Igualmente, el tratamiento de las imágenes de conformidad con el invento, como se describe más adelante, se puede realizar en un entorno de elaboración a tiempo real, y de este modo se pueden soportar tratamientos gráficos interactivos con representaciones optimizadas de la profundidad de campo.
La figura 2 es una visualización de una imagen generada por ordenador de la escena de la figura 1 que muestra una representación de 8 bits de los datos del registro-z de la escena. Como se ha indicado antes, muchas visualizaciones gráficas generadas por ordenador de objetos tridimensionales en un entorno de realidad virtual se obtienen utilizando una unidad de almacenamiento de datos del registro-z que calcula la distancia entre cada objeto del mundo virtual y el espectador o la perspectiva de la cámara. Por ejemplo, la figura 2 muestra los datos de un registro-z en el cual los píxeles de la imagen se van oscureciendo a medida que aumenta la distancia hasta el usuario (perspectiva de la cámara). Además, los objetos cercanos son más brillantes y los objetos lejanos más oscuros. Los datos del registro-z incluyen información sobre la posición de los objetos que aparecen en la escena. Estos datos se muestran invariablemente con una resolución vinculada a la potencia de tratamiento aritmético del procesador de gráficos, y a menudo presentan una potencial de tratamiento de 64 bits e incluso de 128 bits. Como se describe más adelante, en el presente invento se ha tomado en consideración la posible utilización de los datos del registro-z para procesar los datos correspondientes a los píxeles, los cuales invariablemente ofrecen una resolución de visualización de vídeo de 8 bits por pixel. El presente invento resulta adecuado para ser utilizado en una amplia variedad de plataformas informáticas, que incluye las consolas de juegos, los ordenadores personales y las estaciones de trabajo. Por tanto, no se requiere una cantidad muy elevada de capacidad informática para poder instalar el invento en una plataforma informática.
La figura 3 es la visualización de una imagen generada por ordenador correspondiente a la escena de la figura 3 en la que se muestra la imagen desenfocada de la escena de la figura 1. La imagen desenfocada de la figura 3 se puede obtener, por ejemplo, mediante un proceso denominado aplicación MIP, o bien desplazando la imagen nítida sobre sí misma mediante un desplazamiento determinado. Por ejemplo, la imagen desenfocada se puede obtener mediante la utilización de un proceso externo de combinación que pega la imagen nítida consigo misma mediante un desplazamiento horizontal y vertical del pixel. Los expertos en el tema conocen otros sistemas para conseguir imágenes desenfocadas. La ejecución de la aplicación MIP, por ejemplo, incluye una técnica de determinación de texturas en la cual el procesador gráfico realiza copias múltiples (mapas M1P) de la textura original de un dibujo con diferentes niveles de detalle para un objeto situado en una escena, y luego selecciona un mapa MIP de conformidad con la distancia entre el espectador y el objeto.
Después de haber obtenido la imagen nítida (figura 1) y la imagen desenfocada (figura 3) de la escena a procesar, se emplean los datos del registro-z utilizado normalmente por el procesador de gráficos del sistema de visualización del ordenador. Como se ha indicado anteriormente, el registro-z se usa normalmente en un entorno de tratamiento informático de imágenes para eliminar superficies ocultas, que también se denomina determinación de la superficie visible. El registro-z contiene los datos relativos a la distancia entre cada pixel de una imagen a obtener. La eliminación de la superficie oculta, cuando se obtiene un objeto de una escena generada por ordenador, comporta determinar si en relación con el espectador cada punto del objeto en el emplazamiento de los píxeles de una imagen está situado más lejos que la distancia actual de este pixel al registro-z. Si un punto del objeto está más alejado del valor actual del registro-z para esta situación del pixel, entonces el punto del pixel correspondiente al objeto no se visualizará en la imagen obtenida y el procesador gráfico no la dibujará.
La técnica del tratamiento para la eliminación de superficies ocultas del registro-z se describe, por ejemplo, en Infografia: Principios y Práctica, segunda edición por J. Foley et al. (Addison-Wesley Publishing Company, Inc.), apartado 15.4 ("El Algoritmo del registro-z") en 668-672.
El presente invento utiliza los datos correspondientes a la distancia de los píxeles del registro-z para crear lo que se denomina una imagen combinada alfa, mediante la combinación de una imagen nítida y una imagen desenfocada con una imagen creada a partir de los datos del registro-z. Los expertos en el tema sabrán que la visualización de una imagen creada por ordenador se produce invariablemente mediante la combinación de tres canales de información de color con un canal de información alfa. Los canales de color comprenden píxeles rojos, verdes y azules de datos gráficos que representan la información del color de la escena. El canal alfa. (un canal) de datos representa la opacidad de los pixeles de la imagen, comprendidos en un rango que abarca desde completamente opaco a transparente. En muchos sistemas de tratamiento y modelos de color, cada uno de estos cuatro canales de datos gráficos se representa mediante información de 8 bits para cada pixel.
Quienes estén familiarizados con el tema conocerán bien la técnica de componer una imagen mediante una operación de "combinación alfa". Los datos de opacidad del canal alfa se utilizan para controlar la combinación de los componentes rojos, verdes y azules de la imagen a fin de producir la "combinación alfa" de una imagen con los valores adecuados de translucidez. O sea, en un sistema convencional la información correspondiente a cada uno de los distintos canales de imagen de color rojo, verde y azul está unida entre sí y a la información de opacidad del canal alfa y produce lo que se denomina un modelo de información de color RGBA. De este modo, una escena está completamente definida a efectos de su obtención con un procesador gráfico mediante la especificación de la información relativa al rojo, verde y azul de la imagen y a la información del canal alfa para cada píxel.
El proceso de formación de la combinación alfa se describe, por ejemplo, en Infógrafia: Principios y Práctica, segunda edición (1996) por J. Foley et al. (Addison-Wesley Publishing Company, Inc.), apartado 17.6 ("Composición de una Imagen") en 835-843. Otra descripción del proceso de composición se describe en la Patente USA nº 5379,129 de Othmer et al., titulada "Método para Componer una Imagen Fuente y una Imagen Destino utilizando una Imagen Máscara".
El presente invento comprende un proceso de composición con los datos de la imagen nítida, la imagen desenfocada y el registro-z, que utiliza los datos del registro-z como un canal alfa para controlar la fusión de la imagen nítida con la imagen desenfocada. En concreto, los datos del registro-z se utilizan para determinar la translucidez de la imagen desenfocada de acuerdo con la distancia entre cada pixel y el punto de vista del espectador. En el componente seleccionado, para cada pixel negro (opaco) del registro-z, se utiliza el valor total (100%) de los datos de la imagen desenfocada para formar la imagen nítida. Para cada pixel blanco (transparente) del registro-z, ninguna imagen desenfocada (0%) se combina con la imagen nítida. Para los píxeles en tonos de gris comprendidos entre el 100% y el 0%, se combina el porcentaje proporcional correspondiente de las imágenes nítidas y de las imágenes desenfocadas. Por tanto, la interpolación lineal se utiliza para determinar el porcentaje de la imagen que se unirá a la otra. De esta forma, los datos del registro-z de la imagen de una escena se utilizan como canal alfa de la profundidad de campo.
La figura 4 es la visualización de una imagen de ordenador de la escena de la figura 1 que muestra el resultado de la combinación alfa de la imagen de gran nitidez de la figura 1 y la imagen desenfocada de la figura 3 utilizando los datos gráficos del registro-z como canal alfa de conformidad con el presente invento. Se puede utilizar un proceso convencional de combinación alfa para producir una imagen combinada de acuerdo con el presente invento mediante la selección en el proceso de composición de la combinación de una imagen nítida, una imagen desenfocada y los datos del registro-z. Conviene señalar que la figura 4 muestra una imagen con las escaleras situadas en un primer plano nítido y diferenciado, mientras que las escaleras del fondo (más alejadas del espectador) no son tan nítidas ni diferenciadas, sino que aparecen bastante borrosas. Esto resulta más realista y más parecido a la profundidad de campo que se observa en las fotografías habituales de escenas reales.
La figura 5 es la representación gráfica de la combinación de la imagen de gran nitidez de la figura 1 y la imagen desenfocada de la figura 3 utilizando los datos gráficos del registro-z de la figura 2 para el control de la combinación. De este modo, la figura 5 muestra la imagen de gran nitidez 502 de la figura 1 y la imagen desenfocada 504 de la figura 3 combinadas (incorporadas) a la imagen 506 del registro-z de 8 bits de la figura 2, lo cual produce la imagen 508 de la figura 4 con información adicional sobre la profundidad de campo.
Se puede crear fácilmente una imagen de profundidad de campo "inversa" utilizando la misma técnica del presente invento. Una imagen inversa como la que se utiliza aquí se refiere a una imagen en la que los objetos de una escena que se hallen más cercanos al espectador son más borrosos y menos diferenciados, mientras que los objetos que están más alejados del espectador son más nítidos y definidos. Esto es lo opuesto a lo que normalmente se puede observar en fotografías y por consiguiente nos referiremos a una imagen con profundidad de campo inversa.
Se puede crear fácilmente una imagen con profundidad de campo inversa utilizando un equipo de datos de registro-z inverso. O sea, los datos inversos del registro-z se generarán cuando los píxeles del registro-z que sean negros (opacos) se vuelvan blancos (transparentes) y los píxeles del registro-z que son blancos se vuelvan negros. Los tonos intermedios de gris cambiarán consiguientemente para convertirse en similarmente inversos. Cuando los datos de la profundidad de campo inversa se combinan con la imagen nítida y la imagen desenfocada, se produce una imagen inversa de la escena. Los expertos en el tema podrán apreciar que los valores intermedios de la imagen inversa se pueden determinar mediante interpolación lineal de los valores del registro-z que cambian de negro a blanco.
La figura 6 es una visualización de la imagen de ordenador de la escena de la figura en la que se muestran los datos del registro-z invertido de 8 bits. A este respecto, la figura 6 es una imagen inversa de la figura 2. Se puede apreciar que en la figura 5 los objetos que están más cerca del espectador aparecen en negro (opacos) mientras que los objetos que se hallan más alejados del espectador figuran en blanco (transparentes). Los datos sobre la profundidad de campo inversa pueden ser útiles para mostrar un punto de enfoque cambiado de una imagen y para producir efectos momentáneos.
La figura 7 es una visualización de la imagen de ordenador de la escena de la figura 1 que muestra el resultado de combinar la imagen nítida de la figura 1 con la imagen desenfocada de la figura 3 y usando los datos de la imagen invertida del registro-z de la figura 6 como un canal alfa para la combinación con la finalidad de mostrar un cambio del punto focal. La figura 7 muestra los objetos en primer plano (más cercanos al espectador) que están desenfocados y presentan poca definición, mientras que los objetos que se hallan al fondo (más alejados del espectador) son nítidos y más definidos. Respecto a la perspectiva del enfoque, la figura 7 se puede definir como "opuesta" a la figura 4.
Uno de los efectos útiles que se pueden obtener mediante los datos del registro-z invertido se denomina efecto de "foco de rejilla", en el que se producen imágenes sucesivas de una escena utilizando diferentes conjuntos de datos del registro-z para cambiar el punto focal en la imagen de una escena. Por ejemplo, una imagen de gran nitidez en una escena como la de la figura 1 se puede combinar sucesivamente con datos del registro-z en tiempo real empezando con los datos del registro-z para la figura 2 y terminando con los datos del registro-z para la figura 6, así como con datos intermedios del registro-z.
La figura 8 muestra una imagen intermedia del registro-z generada por datos del registro-z que son intermedios entre las figuras 2 y 6. La figura 8 crea una imagen de contraste reducido. Cuando las imágenes nítidas y desenfocadas (figura 1 y figura 3 respectivamente) se alfa-combinan (fusionan) con cada imagen sucesiva del registro-z desde la figura 2 hasta la figura 8, deteniéndose en la figura 6 (o viceversa), al espectador le puede parecer que en la secuencia de imágenes así producida el punto focal está cambiando. O sea, la persona que contempla una sucesión de imágenes combinadas podrá ver que en la escena el punto focal cambia desde el primer plano hasta el fondo, y que corresponde a imágenes formadas con las imágenes del registro-z desde la figura 2 hasta la figura 6. Se podrá apreciar que el punto focal de cada una de las sucesivas imágenes compuestas corresponde al mapa de bits del registro-z de referencia (posición de la imagen) para la imagen compuesta determinada. De este modo, se puede producir un efecto intermedio entre la figura 4 y la figura 7 utilizando datos inversos intermedios del registro-z según se expone en la figura 8.
Así y tal como se describe anteriormente, se puede crear una secuencia de imágenes de una escena compuesta usando múltiples imágenes intermedias de forma que la secuencia de imágenes de la escena se "paseará" gradual y suavemente por el punto focal del espectador desde el primer plano (figura 4) hasta el fondo (figura 7), y los puntos intermedios que se encuentren entre ambos. Se puede utilizar una imagen inicial (como en la figura 4) del registro-z y una imagen final (como en la figura 7) del registro-z para crear múltiples imágenes intermedias compuestas en intervalos gráficos regulares a fin de garantizar que la transición resulte suave para el espectador. Por ejemplo, la interpolación lineal se puede utilizar para crear imágenes intermedias del registro-z en intervalos uniformes entre la imagen inicial y la imagen final. La secuencia de las imágenes intermedias del registro-z se puede componer mediante el uso alternativo de las imágenes nítidas y de las imágenes desenfocadas. El almacenamiento temporal de datos se puede emplear para almacenar en la memoria del procesador los datos de los píxeles para las imágenes intermedias múltiples. Como se ha indicado anteriormente, dichas imágenes se pueden crear en tiempo real, usando hardware convencional de tratamiento de imágenes. Se pueden obtener otros efectos visuales siguiendo las instrucciones que figuran en este invento.
Otro efecto visual que se puede obtener mediante la técnica del presente invento consistiría en la generación de una imagen con saturación reducida. Por ejemplo, el tono del canal azul para la imagen desenfocada (igual que en las imágenes desenfocadas que se muestran en la figura 3) se puede desplazar hacia el espectro del color azul o hacia cualquier otro color mediante la manipulación del color del vértice a fin de crear un efecto de bruma atmosférica. Los expertos en el tema sabrán discernir el modo en que los sistemas convencionales de tratamiento gráfico pueden utilizar para efectuar esta manipulación. De forma similar, los datos del canal rojo de la imagen desenfocada se pueden copiar en los datos del canal verde y en los datos del canal azul de la imagen desenfocada para crear una imagen desenfocada en blanco y negro. La figura 9 constituye un ejemplo de imagen desenfocada en blanco y negro que se puede obtener mediante este tratamiento. La imagen desenfocada resultante en blanco y negro se puede alfa-combinar con la imagen de gran nitidez para producir una imagen realista que será menos saturada en las zonas más alejadas de la escena. La figura 10 constituye un ejemplo de una imagen de saturación reducida que ha sido creada mediante alfa-combinación de una imagen de gran nitidez como la de la figura 1 con una imagen desenfocada en blanco y negro como la de la figura 9.
Configuración de Hardware
Con la finalidad de obtener imágenes mejoradas en tiempo real de los gráficos que se describen más arriba se puede utilizar una gama de configuraciones informáticas con capacidad para tratamiento de gráficos. Estas configuraciones incluyen sistemas de tratamiento de información, ordenadores personales y sistemas de video-juegos.
En el tratamiento descrito anteriormente se pueden emplear los componentes de hardware de acceso rápido de un procesador de gráficos que combine los datos gráficos a fin de producir datos RGBA y utilice datos del registro-z para la eliminación de superficies ocultas, como se describe anteriormente. De conformidad con el presente invento, en la operación de tratamiento de gráficos se utilizan los datos del registro-z, como un canal de combinación alfa, y ello permite que el tratamiento descrito anteriormente se pueda efectuar en tiempo real. El proceso en tiempo real permite una mayor flexibilidad en la implementación del tratamiento de la imagen que aquí se describe, y lo hace adecuado para las aplicaciones interactivas, como los video-juegos. De forma optativa, el tratamiento del invento se puede implementar en una combinación de hardware y software que resulta especialmente adecuada para poder efectuar el tratamiento de la imagen que aquí se describe.
La figura 11 es una ilustración esquemática del tratamiento de la información o un sistema de video-juego 1100 que proporciona tratamiento de gráficos de conformidad con el presente invento. El sistema de video-juego 1100 incluye una unidad principal 1110 de video-juego y uno o más controladores 1120 conectados entre sí y con la unidad principal 1110 a través de las respectivas interfaces de los controladores 1125 de la unidad principal 1110. Cada uno de los controladores 1120 incluye un dispositivo de acceso para recibir las instrucciones del usuario.
El sistema de video-juego está conectado con un dispositivo 1135 de salida para audio-visual (AV) que a su vez está conectado a la unidad principal 1110. El dispositivo de salida 1135 comprende una pantalla de visualización 1140 para visualizar los datos correspondientes a la imagen de conformidad con las señales que recibe de la unidad principal 1110. El dispositivo 1135 de salida AV comprende uno o más altavoces 1145 para enviar datos de audio de conformidad con las señales recibidas de la unidad principal 1110.
La unidad principal comprende un lector de programas 1150 que se ha configurado para recibir una unidad de almacenamiento de programas de juego, como un disco flexible, un disco CD-ROM óptico, un disco CD-R, un disco CD-RW, un disco DVD u otro similar. La unidad de almacenamiento de programas de juego es un elemento de registro destinado a suministrar programas de aplicación, como juegos de vídeo, a la unidad principal 1110. La unidad principal 1110 ha sido configurada para procesar información y ejecutar las instrucciones del programa situado en la unidad de almacenamiento de programas de juego. La unidad principal 1110 transmite datos gráficos y de sonido al dispositivo 1135 de salida AV de conformidad con las instrucciones del programa. La unidad principal recibe las entradas introducidas por el usuario desde los controladores 1120 según se describe a continuación con mayor detalle.
La figura 2 es el esquema de una configuración de hardware típica destinada al sistema de video-juegos que se muestra en la figura 11. El sistema de video-juegos 1100 (figura 11) comprende una unidad central de tratamiento (CPU) 1200 que está conectada a una memoria principal 1205. El funcionamiento de la CPU 1200 está controlado por las instrucciones del programa que se halla almacenado en la OS-ROM 1260 o que son transmitidas a la memoria principal 1205 desde una unidad de almacenamiento de programas de juego. La CPU 1200 ha sido configurada para procesar la información y ejecutar las instrucciones de conformidad con las instrucciones del programa.
La CPU 1200 está conectada a un procesador de input/output (IOP) 1220 a través de un bus especializado 1225. El IOP 1220 conecta la CPU 1200 a la OS-ROM 1260, que está compuesta por una memoria permanente que almacena las instrucciones del programa, como un sistema operativo. Las instrucciones se transmiten a la CPU a través del IOP 1220 durante la operación de inicialización de la unidad principal 1110 (figura 11).
La CPU 1200 está conectada a una unidad de tratamiento de gráficos (GPU) 1210 a través de un bus especializado 1215. El GPU 1210 es un procesador de gráficos que ha sido configurado para ejecutar procesos de gráficos y crear imágenes de conformidad con las instrucciones que reciba desde la CPU 1200. Por ejemplo, el GPU 1210 puede obtener una imagen de gráficos basada en las listas de visualización que hayan sido generadas y recibidas desde la CPU 1200. El GPU puede incluir un buffer o memoria intermedia para almacenar los datos correspondientes a los gráficos. El GPU 1210 transmite imágenes al dispositivo 1135 de salida AV (figura 11).
El IOP 1220 controla el intercambio de datos entre la CPU 1200 y un conjunto múltiple de elementos periféricos de conformidad con las instrucciones que se hallan almacenadas en la memoria IOP 1230. Los componentes periféricos pueden comprender uno o más controladores 1120, una tarjeta de memoria 1240, una interfaz USB 1245, y un bus de serie 1250 IEEE 1394. Además, un bus 1255 está conectado al IOP 1220. El bus 1255 está conectado a varios componentes adicionales, que comprenden la OS-ROM 1260, una unidad 1265 de tratamiento de sonido (SPU), una unidad de control del disco óptico 1275 y un controlador del disco duro (HDD) 1280.
El SPU 1265 ha sido configurado para generar sonidos, como música, efectos de audio y voces, de conformidad con las instrucciones recibidas de la CPU 1200 y del IOP 1220. El SPU 1265 puede incluir una segunda memoria intermedia en la que se almacenan datos en forma de ondas. El SPU 1265 genera señales sonoras y transmite las señales a los altavoces 1145 (figura 11).
La unidad de control del disco 1275 ha sido configurada para controlar el lector de programas 1150 (figura 11), y puede comprender, por ejemplo, un controlador de disco óptico que acepte unidades de almacenamiento extraíbles, como discos flexibles magnéticos, discos CD-ROM ópticos, discos CD-R, discos CD-RW, discos DVD u otros similares.
La tarjeta de memoria 1240 puede comprender una unidad de almacenamiento donde la CPU 1200 pueda escribir y guardar datos. La tarjeta de memoria 1240 se puede insertar y extraer del IOP 1220. El usuario puede almacenar o guardar los datos de los juegos utilizando la tarjeta de memoria 1240. Además, el sistema de video-juegos 1100 está equipado como mínimo con un controlador de disco duro (HDD) 1280 en el que se pueden escribir y almacenar datos de los juegos. Una interfaz 1/O de datos, como un bus de serie 1250 IEEE 1394 o una interfaz universal (USB) de bus de serie 1245, está conectada al IOP 1220 para permitir la transmisión de entrada y salida al sistema de video-juegos 1100.
A continuación se expone una descripción más detallada del sistema de tratamiento gráfico a fin de ayudar a la comprensión de los tratamientos que forman parte de la producción de imágenes visualizadas de conformidad con el presente invento.
La figura 13 muestra la disposición de un sistema de tratamiento de imágenes instalado en una consola casera de video-juegos. El sistema de tratamiento de imágenes ha sido diseñado para ser utilizado preferentemente en un aparato de video-juegos casero, un micro-ordenador, o un dispositivo de gráficos. El sistema de tratamiento de imágenes de los elementos de la figura 13 permite que un operador active un juego mediante el control de los datos relevantes (por ejemplo, programas de juegos) que hayan sido extraídos de una unidad de registro, como un disco óptico (por ejemplo, un CD-ROM) que también haya sido destinado, de conformidad con el presente invento, al almacenamiento de datos en un formato específico.
En concreto, el sistema de tratamiento gráfico del componente que se muestra en la figura 13 comprende un módulo controlador 1302 principal equipado con una unidad 1304 de tratamiento central (CPU) y los correspondientes dispositivos periféricos (que incluyen un dispositivo controlador 1306 periférico), un módulo de gráficos 1320 compuesto básicamente de una unidad 1324 de tratamiento de gráficos (GPU) para diseñar imágenes en una memoria intermedia 1326, un módulo de sonido 1340 formado por una unidad de tratamiento de sonidos (SPU) 1342 y otros dispositivos para emitir música o efectos de sonido, un módulo controlador de discos ópticos 1360 para el control de un controlador de disco óptico 1362 (por ejemplo, un CD-ROM) que funcione como un elemento auxiliar de la memoria para la descodificación de los datos reproducidos, un módulo controlador de comunicación 1380 para controlar la introducción de las instrucciones desde un controlador 1386, la entrada y la salida de información para la determinación de los parámetros de los juegos en una sub-memoria (o en una tarjeta de memoria) 1384, y un bus principal 1399 conectado desde el módulo de control principal 1302 al módulo controlador de comunicación 1380.
El módulo controlador principal 1302 comprende la CPU 1304, el controlador de dispositivos periféricos 1306 destinado a la monitorización de las operaciones de interrupción, las secuencias temporales, las operaciones propias de la memoria, y la transmisión de una señal de acceso directo de memoria (DMA), una memoria principal 1308 formada, por ejemplo, por dos megabytes (2 MB) de RAM y una ROM 1310 formada, por ejemplo, por 512 kilobytes de memoria donde se almacenan programas, incluido un sistema operativo para el funcionamiento de la memoria principal 1308, un módulo de gráficos 1320 y un módulo de sonidos 1340. La CPU 1304 puede consistir en un equipo ordenador de instrucciones reducidas de 32 bits (RISC) para ejecutar el sistema operativo almacenado en el ROM 1310 destinado a controlar todo el sistema. La CPU 1304 también incluye una instrucción de control caché y una memoria temporal para controlar el almacenamiento real.
El módulo de gráficos 1320 comprende un GTE 1322 equipado con un coprocesador aritmético para coordinar los cálculos destinados a la ejecución de procesos coordinados de transformación, la GPU 1324 para diseñar una imagen de respuesta a las instrucciones provinentes de la CPU 1304, con un mapa de bits 1326 equipado, por ejemplo, con un megabyte (1 MB) de memoria para al almacenamiento de los datos de los gráficos suministrados por la GPU 1324, y un descodificador de imágenes 1328 (en adelante denominado "MDEC") para la descodificación de los datos relativos a las imágenes codificadas y que hayan sido comprimidos y codificados mediante un proceso de transformación ortogonal, como una transformación por coseno directo. La GTE 1322 puede incluir un procesador paralelo para la ejecución de múltiples operaciones aritméticas en paralelo y funciona como un coprocesador de la CPU 1304 para la ejecución de operaciones de alta velocidad destinadas a la transformación de coordenadas y al cálculo de la luz correspondiente a la fuente, al vector y a la matriz en el tratamiento de la anotación decimal posicional.
Más concretamente, el GTE 1322 está preparado para ejecutar el cálculo coordinado de polígonos, invariablemente con 1,5 millones de operaciones por segundo, en el sombreado plano en el que cada polígono triangular aparece de un solo color. Esto permite que el sistema de tratamiento gráfico pueda minimizar la carga de las CPU 1304 y de este modo ejecutar cálculos coordinados a una velocidad mayor. La GPU 1324 responde a una instrucción de diseño de polígonos de la CPU 1304 destinada a dibujar polígonos o gráficos en el mapa de bits 1326. La GPU 1324 puede producir hasta 360.000 polígonos por segundo y posee un espacio de dirección bidireccional independiente de la CPU 1304 destinado a dibujar el mapa de bits 1326.
La memoria intermedia o buffer 1326 comprende un puerto dual RAM que ejecuta simultáneamente la extracción de datos gráficos de la GPU 1324 o una transmisión de datos desde la memoria principal 1308 y una transmisión de datos para ser visualizados. Además, el mapa de bits 1326 puede comprender una memoria del tamaño de un megabyte que comprenda una matriz de píxeles de 1024 valores horizontales y 512 valores verticales en formato de 16 bits. Las áreas que se deseen que estén comprendidas en el mapa de bits 1326 se pueden enviar a un dispositivo de salida de vídeo 1330, como una pantalla de visualización.
Además del área enviada como salida de vídeo, el mapa de bits 1326 incluye un área para la tabla de color (en adelante denominada "CLUT") para el almacenamiento de una CLUT que se utiliza como referencia durante el diseño de gráficos o de polígonos mediante la operación de la GPU 1324, y un área de textura para el almacenamiento de los datos relativos a la textura para la transformación de las coordenadas y la planificación en los gráficos o polígonos creados por la GPU 1324. Se puede variar dinámicamente tanto el tamaño de la CLUT como el del área de texturas según los cambios que se hayan producido en el área de visualización. De este modo, el mapa de bits 1326 puede ejecutar el acceso gráfico al área de visualización y una transmisión de alta velocidad DMA hacia y desde la memoria principal 1308. Además del sombreado plano, la GPU 1324 puede ejecutar el sombreado Gouraud, en el cual el color de un polígono se determina por interpolación del vértice de color y una aplicación de la textura en la cual una textura seleccionada del área de texturas se incluye en un polígono. A partir del sombreado Gouraud o de la aplicación de texturas, el GTE 1322 puede ejecutar el cálculo de coordenadas a una velocidad de 500.000 polígonos por segundo.
El MDEC 1328 es responsable del envío de una instrucción desde la CPU 1304 para la descodificación de una imagen fija o en movimiento extraída de un disco CD-ROM y almacenada en la memoria principal 1308 para su almacenamiento posterior otra vez en la memoria principal 1308. Más concretamente, el MDEC 1328 ejecuta una operación de transformación inversa de cosenos (denominada DCT inversa) a alta velocidad para la expansión de datos comprimidos del estándar de compresión de la imagen fija en color (denominado JPEG) o el estándar de la codificación de la imagen en movimiento para el almacenamiento de medios (denominado MPEG, pero por compresión intraframe de este elemento). Los datos reproducidos de la imagen se transmiten a través de la GPU 1324 al mapa de bits 1326 y por tanto se pueden utilizar como fondo para las imágenes diseñadas por la GPU 1324. El módulo de sonidos 1340 comprende una unidad de tratamiento de sonidos (SPU) 1342 que responde a las instrucciones de la CPU 1304 destinada a la generación de música o efectos de sonido, una memoria intermedia de sonido 1344 que tiene, a modo de ejemplo pero no como limite, 512 kilobytes para el almacenamiento de datos de audio, voz o música, datos fuente de sonidos extraídos de un CD-ROM y un altavoz 1346 que funciona como un elemento de salida de sonido para la emisión de música o de efectos de sonido generados por la SPU 1342.
La SPU 1342 posee una función de codificación de señales por modulación diferencial adaptativa de impulsos codificados (ADPCM) destinada a la reproducción de datos de audio en formato ADPCM de 4 bits de conversión a partir de datos de audio de 16 bits, una función de play-back para la reproducción de los datos de una fuente de sonido almacenados en la memoria intermedia de sonido 1344 destinados a la emisión de música o efectos de sonido, y una función de modulación destinada a la modulación de los datos de audio almacenados en la memoria intermedia de sonido 1344 para la producción de play-back. Más concretamente, la SPU 1342 posee una fuente de sonido ADPCM de 24 voces en la cual los parámetros de movilidad de bucle y los coeficientes de tiempo se modifican automáticamente y se activan mediante una señal emitida por la CPU 1304. La SPU 1342 controla su espacio de dirección con la memoria intermedia de sonido 1344 y puede ejecutar la reproducción de datos de audio por transmisión directa de los datos ADPCM con información de key/on y key/off o modulación desde la CPU 1304 hasta la memoria intermedia de sonido 1344. Por consiguiente, el módulo de sonido 1340 se utiliza como una fuente de sonido de muestreo a la recepción de una instrucción emitida por la CPU 1304.
El módulo controlador del disco óptico 1360 comprende un controlador de disco 1362 para extraer un programa o datos de un disco óptico o CD-ROM 1363, un descodificador de disco 1364 para la descodificación de datos o programas codificados y almacenados, que se acompaña con la producción de códigos de corrección de errores (ECC), y una memoria intermedia de disco 1366, de, por ejemplo, 32 kilobytes (32 KB) para el almacenamiento de datos extraídos del disco óptico. El módulo controlador del disco óptico 1360 comprende un controlador de disco 1362, un descodificador 1364, y otros componentes destinados a efectuar la lectura de los datos contenidos en un disco (y de forma opcional, a efectuar la escritura en el disco) y también está preparado para soportar otros formatos de disco, como el CD-DA y el CD-ROM XA. El descodificador 1364 también se utiliza como componente del módulo de sonido 1340. El subsistema controlador de disco 1360 también puede soportar otros formatos y medios, como el DVD-ROM, los discos flexibles y otros similares.
Los datos de audio extraídos del disco 1362 mediante el controlador de disco no se limitan al formato ADPCM (para el almacenamiento en discos CD-ROM XA), sino que también pueden ser del tipo PCM normal producido por conversión analógica a digital. Los datos ADPCM se pueden registrar en un componente diferencial de 4 bits calculados a partir de datos digitales de 16 bits que primero son sometidos a corrección de errores y a descodificación por el descodificador 1364, y se transmiten a la SPU 1342 donde son convertidos a D/A, y enviados al altavoz 1346 para el play-back. Los datos PCM se pueden registrar en forma de señal digital de 16 bits y se descodifican mediante el descodificador 1364 para controlar el altavoz 1346. Una salida de audio del descodificador 1364 se envía primero a la SPU 1342 donde se mezcla con una salida de SPU y se envía a través de una unidad de reverberación para el play-back de audio.
El módulo controlador de comunicaciones 1380 comprende un dispositivo controlador de comunicaciones 1382 para efectuar el control de las comunicaciones del bus principal 1399 con la CPU 1304, el controlador 1386 para la introducción de instrucciones mediante un operador, y la tarjeta de memoria 1384 para el almacenamiento de los datos de desarrollo del juego. El controlador 1386 proporciona una interfaz para transmitir instrucciones del operador al software de aplicación y puede incluir instrucciones para que el usuario las introduzca. Las instrucciones asignadas a las teclas de instrucciones, predeterminadas por el dispositivo controlador de comunicaciones 1382, se transmiten al dispositivo controlador de comunicaciones 1382 en modo síncrono a una velocidad de sesenta veces por segundo. El dispositivo controlador de comunicaciones 1382 transmite entonces las teclas de instrucción a la CPU 1304.
El controlador 1386 posee dos conectadores preparados para la conexión sucesiva de un número de controladores a través de puertos de acceso múltiple. Por consiguiente, cuando se recibe la instrucción del operador, la CPU 1304 comienza a ejecutar las correspondientes operaciones del proceso determinadas por el programa de juegos. Cuando se requiere la preparación inicial de un juego para proceder a jugar, la CPU 1304 transmite los datos pertinentes al dispositivo controlador de comunicaciones 1382, el cual, a su vez, almacena los datos en la tarjeta de memoria 1384. La tarjeta de memoria 1384 está separada del bus principal 1399 y se puede instalar o extraer a voluntad mientras el bus principal está recibiendo energía. Esto permite que la preparación de los datos del juego se almacene en dos o más tarjetas de memoria 1384.
El sistema de este componente del presente invento también está equipado con un puerto 1396 de entrada y salida (110) en paralelo de 16 bits y con un puerto en serie 1398 asíncrono de entrada y salida (I/O). El sistema se puede conectar por el puerto paralelo I/O 1396 a cualquier otro dispositivo periférico y el puerto en serie 1/0 1398 a otra máquina de video-juegos para comunicaciones.
Entre la memoria principal 1308, la GPU 1324, el MDEC 1328 y el descodificador 1364, se requiere la transmisión a alta velocidad de una enorme cantidad de datos gráficos para proceder a la lectura del programa, la visualización de texto o la confección de un gráfico. El sistema de tratamiento de imágenes de este componente se ha adaptado por tanto para permitir la transmisión directa de datos o transmisión DMA entre la memoria principal 1308, la GPU 1324, el MDEC 1328 y el descodificador 1364 sin que se tenga que utilizar la CPU 1304. En cambio, la transmisión de datos se efectúa mediante el control del dispositivo controlador periférico 1306. Como resultado, durante la 14 transmisión de datos la carga de la CPU 1304 se verá reducida en gran medida y de este modo se podrán garantizar operaciones de transmisión de datos a alta velocidad.
El aparato de video-juegos construido de conformidad con el presente invento permite que la CPU 1304 pueda operar el sistema operativo almacenado en la OS-ROM 1310 en el momento de su inicio. Mientras se ejecuta el sistema operativo, la CPU 1304 controla adecuadamente las operaciones del módulo de gráficos 1320 y el módulo de sonidos 1340. Además, cuando se accede al sistema operativo, la CPU 1304 comienza la inicialización del sistema completo efectuando la comprobación de cada operación y seguidamente activa el módulo controlador del disco óptico 1360 para proceder a la ejecución del programa de juegos elegido que se encuentra almacenado en un disco óptico. Durante la ejecución del programa de juegos, la CPU 1304 activa el módulo gráfico 1320 y el módulo de sonido 1340 en respuesta a la introducción de instrucciones por parte del operador para controlar la visualización de imágenes y la reproducción de música o efectos de sonido. A continuación se expone la representación de los datos gráficos en la pantalla de visualización mediante el dispositivo de tratamiento de datos gráficos del presente invento. La GPU 1324 muestra el área de un modelo gráfico elegido producido por el mapa de bits 1326 en el medio de salida de vídeo 1330 o visualización, por ejemplo, como una pantalla plana o una CRT. Esta área se definirá en adelante como área de visualización. El modelo gráfico corresponde al espacio de coordenadas o ámbito virtual en el que se hallan situados los objetos que pertenecen a la escena y que se pueden generar mediante un programa de modelación como el "Maya" de Alias Wavefront de Toronto (Canadá), o el "3D Studio Max" de la división "Discreet" (de Montreal, Canadá), o Autodesk Inc., u otra aplicación adecuada de gráficos o diseño para la generación de escenas.
La figura 4 muestra los datos de un pixel 1402 para la visualización de un modelo RGBA de color multiespectral. El pixel 1402 almacena la información de cuatro canales de datos diferentes. En el modelo de color RGBA estos cuatro canales son el rojo 1404, el verde 1406, el azul 1408 y el alfa 1410. La representación de la figura 14 de cada canal de datos incluye la sentencia ``[7, 6, 5,...,01 para indicar que cada uno de los cuatro canales de datos para un pixel está formado por 8 bits de información con el bit más significativo (bit 7) a la izquierda de la ilustración y el bit menos significativo (bit 0) a la derecha. Para la información del pixel se pueden usar otros tamaños de palabra de datos. En la visualización de una escena, el rojo 1404, el verde 1406, el azul 1408 y los datos del canal alfa 1410 para cada pixel 1402 se almacenan en el mapa de bits 1326 (figura 13).
De este modo, los canales rojo 1404, azul 1406 y verde 1408, formados cada uno por 8 bits, proporcionan información sobre el color de la imagen. Cualquier porción de color de una imagen de píxeles se puede representar mediante la combinación de los datos de un canal rojo 1404, un canal verde 1406 y un canal azul 1408. El canal alfa 1410, también formado por 8 bits, representa la opacidad de la correspondiente imagen de píxeles, que abarca desde opaco a transparente. En consecuencia, para los sistemas de modelo de color RGBA cada pixel 1402 se almacena en el mapa de bits como una combinación de estos cuatro canales.
La figura 15 es una representación de un acceso único 1502 desde el registro-z. En los accesorios elegidos, el registro-z forma parte del sistema de tratamiento gráfico representado alternativamente como una consola de juegos 1110 (figura 11), un sistema de tratamiento informático (figura 12) o un procesador de imágenes (figura 13). El registro-z se utiliza en la eliminación de superficies ocultas y corresponde al emplazamiento de una posición para un objeto representado en la escena visualizada. De este modo, el tamaño de la palabra de datos correspondiente a la información de los píxeles del registro-z tiene invariablemente el mismo tamaño de palabra de datos que los datos usados para el cálculo de las posiciones que realiza el sistema de tratamiento de imágenes. En el componente seleccionado, el registro-z contiene palabras de datos de 32 bits. Esto figura en el registro-z 1502 de la figura 15 con la anotación "(31 30 29 28 27 26 25 24 23 22 21 ... 3 2 1 0)".
Como se ha indicado anteriormente, cada pixel que se tiene que dibujar en la pantalla está asociado a la correspondiente introducción de datos en el registro-z. La figura 15 es una representación 15 de la introducción de datos del registro-z para uno de estos pixeles. De conformidad con este invento, los datos del registro-z se alfa-combinarán (se fusionarán) con la información de color del pixel del mapa de bits en régimen de pixel a pixel. Debido a que la información del registro-z tiene un tamaño de palabra de 32 bits, mientras que la información de pixel para cada canal tiene un tamaño de palabra de 8 bits, de acuerdo con el presente invento el tratamiento trunca la información del registro-z, de manera que sólo una palabra de datos de 8 bits del registro-z está formada por cada una de las palabras del pixel de 8 bits de la información de imagen RGBA del mapa de bits. En el componente seleccionado, los ocho bits más significativos (MSB) de cada pixel del registro-z están combinados con la información de pixel correspondiente del mapa de bits.
La figura 16 muestra un entorno de mapa de bits. Según muestra la figura 16, en el componente seleccionado, un mapa de bits (como el mapa de bits 1326 que muestra la figura 13) almacena más de una pantalla de datos gráficos. En concreto, la figura 16 muestra que el mapa de bits 1326 comprende almacenamiento de datos para una primera matriz de datos de pantalla 1602 y para una segunda matriz de datos de pantalla 1604. Esta disposición se usa normalmente para visualizar pantallas sucesivas de visualización de vídeo, como dispositivos de visualización interconectados. La primera matriz de pantalla 1602 comprende numeroso píxeles, de los que se muestran los 1612, 1614 y 1616. De manera similar, la segunda matriz de pantalla 1604 incluye los píxeles 1622, 1624 y 1626. Cada una de estas matrices de pantalla puede almacenar una imagen completa en un momento determinado y comprende múltiples posiciones de memoria en el dispositivo de tratamiento de datos.
Las matrices de pantalla 1602, 1604 del mapa de bits 1326 están conectadas a un dispositivo de hardware de exploración 1680, como el dispositivo que comprende la GPU 1324 y una salida de vídeo descrita anteriormente relacionada con el sistema de la figura 13. El dispositivo de exploración lee selectivamente la información de pixel de una de las pantallas de mapa de bits 1602, 1604 y la transmite a la visualización 1690 para la visualización física. Los píxeles que forman la pantalla del mapa de bits que se están visualizando se denominan imagen en pantalla, mientras que los pixeles de la pantalla de mapa de bits que no se están visualizando se denominan imagen fuera de pantalla. Las pantallas del mapa de bits 1602, 1604 también pueden almacenar información de pixel transmitidas desde otras zonas de la memoria o que pueden escribir información de pixel en otras zonas de la memoria.
Tratamiento
La figura 17 es un diagrama de operaciones lógicas que muestra el tratamiento efectuado por los sistemas de tratamiento gráfico que se muestran en las figuras 11-13 destinados a producir las imágenes con información optimizada de la profundidad de campo según se indica anteriormente. En la primera operación de tratamiento, representada en el cuadro del diagrama de operaciones lógicas número 1702, el sistema de tratamiento gráfico genera los datos gráficos de gran nitidez de la escena a procesar en la que se muestran objetos situados en un sistema (espacial) de coordenadas. La imagen nítida se puede obtener mediante un instrumento convencional. Los datos de la imagen nítida de la escena se pueden crear usando un programa convencional de modelado tridimensional (3-D) como el "Maya" de Alias Wavefront de Toronto (Canadá), o el "3D Studio Max" de la división "Discreet" (de Montreal, Canadá), o Autodesk Inc., o bien se puede enviar a un sistema de tratamiento de gráficos. El software de renderización generará los datos del registro-z de los objetos visualizados.
En la siguiente operación de tratamiento, que se muestra en el cuadro de la figura 17 número 1704, el sistema genera los datos de la imagen desenfocada. Como se ha indicado antes, esta operación se puede efectuar copiando una imagen de pantalla sobre sí misma con un desplazamiento de un pixel y el 50% de transparencia o si se desea se pueden utilizar esquemas alternativos. Los datos de la imagen desenfocada se pueden almacenar como datos de almacenamiento temporal o registros del procesador gráfico o del equipo informático asociado. De conformidad con el invento, la imagen desenfocada se obtiene a partir de la imagen nítida. Como se ha descrito antes, el sistema de tratamiento de imágenes puede recibir como entrada los datos de la imagen nítida y, desde este punto inicial el sistema puede generar la imagen desenfocada mediante una operación de desplazamiento del pixel en la cual la imagen nítida se copia sobre sí misma, preferentemente con una opacidad del 50%, después de desplazar un pixel en sentido horizontal y otro en sentido vertical. La imagen desenfocada se puede almacenar temporalmente en la unidad de almacenamiento del sistema de tratamiento gráfico. Por ejemplo, en el mapa de bits de dos imágenes que se muestra en la figura 16, se puede utilizar una unidad de almacenamiento para la imagen desenfocada y otra unidad de almacenamiento para la imagen nítida.
La siguiente operación (cuadro 1706) está destinada a obtener los datos del registro-z truncado. Como se ha explicado antes, muchos sistemas convencionales de tratamiento de gráficos con software de renderización generan automáticamente datos de registro-z destinados a eliminar superficies ocultas, con una precisión acorde con el tratamiento de la posición para los objetos de una escena simulada. De este modo, los datos del registro-z estarán disponibles directamente en la mayoría de los procesadores convencionales de imágenes disponibles para utiliar de conformidad con el presente invento. Más concretamente, conviene señalar que cuando el programa de modelado genera datos gráficos, el programa genera la imagen de gran nitidez y genera obligatoriamente datos de registro-z.
Los datos del registro-z se procesan para garantizar que se combinen adecuadamente con los datos de pixel del mapa de bits. En el componente seleccionado, se truncan los datos del registro-z de manera que el número de los bits correspondientes a los datos de cada pixel del registro-z sea igual al número de bits de los datos igual que en los píxeles del mapa de bits. Además, en los componentes que se describen anteriormente, los píxeles rojos, azules y verdes se representan mediante palabras de 8 bits, en las que los datos del registro-z se representan mediante palabras de bits de 32 bits para cada pixel. Por consiguiente, sólo los ocho bits más significativos de cada pixel del registro-z se combinan con los datos de las imágenes nítidas y desenfocadas. El tratamiento de truncado, representado en el cuadro 1706, se puede efectuar almacenando temporalmente los datos truncados en el sistema de tratamiento gráfico.
La siguiente operación consiste en que el sistema informático ejecute un proceso de combinación, habitualmente denominado combinación alfa, que combina la imagen nítida, la imagen desenfocada y los datos del registro-z a fin de obtener los datos de imagen RGBA que en la renderización producirán una imagen con información de profundidad de campo. Esta operación combinatoria se representa mediante el cuadro del diagrama número 1708. Como se ha indicado antes, la combinación de datos gráficos (combinación alfa) se ejecuta regularmente mediante sistemas informáticos convencionales de tratamiento gráfico. Estos sistemas, no obstante, efectúan un tipo de composición con los datos en color de las imágenes (por ejemplo, rojo, verde y azul) y los datos del canal alfa, que indica la opacidad de los elementos de la imagen. Estos no componen datos de imágenes nítidas, desenfocadas y de registro-z.
Además, la combinación alfa convencional incluye datos gráficos en color y datos gráficos del canal alfa que tienen el mismo tamaño de palabra de dato, normalmente el mismo tamaño de palabra que contiene el registro-z. Por oposición, los datos del registro-z del sistema de tratamiento gráfico se tratan con una precisión acorde con el tratamiento de la posición de los objetos en la escena simulada. Por consiguiente, en el componente seleccionado del invento, la operación de combinación utiliza datos del registro-z que han sido truncados en un número de bits compatible como el que se describe para el cuadro 1706. Con las instrucciones del presente invento para ejecutar combinaciones del mapa de bits con datos truncados del registro-z, los expertos en el tema sabrán cómo lograr el tratamiento adecuado para obtener datos gráficos RGBA que proporcionen información de la profundidad de campo a fin de obtener un realismo intensificado de la renderización.
En la siguiente operación en el cuadro de validación 1710, el sistema comprueba opcionalmente la repetición del tratamiento, y cómo se podría ejecutar para producir efectos de enfoque de rejilla, efectos visuales atmosféricos y otros similares. El tratamiento adicional puede incluir la generación de una imagen invertida de registro-z, por ejemplo. El tratamiento adicional puede incluir el almacenamiento temporal de datos gráficos, como el almacenamiento temporal de información de píxeles para pantallas intermedias. Si se desea la repetición del tratamiento, se introduce una instrucción de conformidad en el cuadro de validación 1710, y a continuación el sistema regresa al cuadro 1702 para producir el siguiente conjunto requerido en el tratamiento de imágenes nítidas, imágenes desenfocadas e imágenes del registro-z. Si no se precisa un tratamiento de pantalla adicional para la imagen RGBA, se introducirá una validación negativa en el cuadro 1710 y el tratamiento continuará con la renderización de la visualización de la imagen en el cuadro 1712. La operación de renderización puede incluir una operación sencilla de renderización que genere una imagen en un dispositivo informático de visualización, o bien esta operación de renderización puede incluir alguna de las operaciones de tratamiento suplementarias que se describen anteriormente. Por ejemplo, el tratamiento de renderización 1712 puede incluir el cambio del tono del canal de color u otros tratamientos destinados a obtener efectos visuales especiales. Todas estas operaciones se pueden efectuar a tiempo real, de modo que las imágenes de realismo incrementado dotadas de información de profundidad de campo que se describen en este escrito se pueden producir a partir de datos de imágenes nítidas a tiempo real.
A fin de que se pueda acceder a su debida comprensión, el presente invento se ha descrito anteriormente con referencia a un componente que ha sido seleccionado. No obstante, existen muchas configuraciones para los sistemas de tratamiento gráfico que no se describen específicamente en este escrito, pero a las que se puede aplicar este invento. Por consiguiente, no se deberá considerar que el presente invento está circunscrito a los componentes particulares que aquí se describen, sino que se deberá interpretar que el presente invento tiene una amplia aplicación en lo que se refiere a los sistemas informáticos de tratamiento gráfico en general. Todas las modificaciones, variaciones o disposiciones e implementaciones equivalentes se hallan incluidas en el ámbito de las enunciaciones adjuntas y por consiguiente se deberá considerar que se circunscriben al ámbito del presente invento.

Claims (20)

1. Método para generar visualizaciones gráficas mediante ordenador (508) que incluyen información sobre la profundidad de campo y que consiste en:
la obtención (1702) de una imagen nítida (502) de una escena;
la obtención (1704) de una imagen desenfocada (504) de la escena; y que se caracteriza en que el método comprende la siguiente operación de:
generar una imagen RGBA que incluya la imagen nítida y la imagen desenfocada las cuales se combinan mediante un proceso combinatorio del canal alfa que está controlado por los datos gráficos del registro-z, de modo que la imagen RGBA del canal alfa genera una imagen dotada de información sobre la profundidad de campo cuando el RGBA del canal alfa se envía a un procesador gráfico y se renderiza para su visualización en un dispositivo informático de visualización.
2. Método según se define en la enunciación 1, en el que la imagen desenfocada (504) comprende datos gráficos del canal de color con píxeles desplazados de la imagen nítida (502).
3. Método según se define en la enunciación 2, en el que los datos de la imagen del registro-z (506) comprenden información sobre los pixeles truncados del registro-z (1502) que define datos sobre la localización de los píxeles (1402) de la escena.
4. Método según se define en la enunciación 3, en el que la información sobre los píxeles truncados del registro-z (1502) comprende un número predeterminado de los bits más significativos de cada pixel de los datos gráficos del registro-z.
5. Método según se define en la enunciación 1, que además comprende la generación de una secuencia de imágenes visualizadas que pueden proporcionar un efecto de enfoque de rejilla que desplaza el foco de la imagen del primer plano de la escena hasta el fondo de ésta, en la que cada imagen de la secuencia produce una imagen dotada de información sobre la profundidad de campo cuando el canal alfa (1410) RGBA se envía a un procesador gráfico y se renderiza para su visualización en un dispositivo informático de visualización (1690).
6. Método según se define en la enunciación 5, en el que cada imagen de la secuencia se genera mediante:
la obtención (1708) de una imagen RGBA de canal alfa mediante la combinación de una imagen nítida (502) de una escena y la imagen desenfocada (504) de la escena con los datos gráficos del registro-z,
la obtención de una imagen RGBA invertida de canal alfa mediante la combinación de la imagen nítida de la escena y una imagen desenfocada de la escena con los datos gráficos invertidos del registro-z; y
la combinación (1712) de la imagen RGBA invertida del canal alfa con la imagen RGBA del canal alfa.
7. Método según se define en la enunciación 1, que además comprende la modificación del tono de la imagen desenfocada (504) para obtener el valor deseado del color y usando la imagen desenfocada modificada como fuente de los datos gráficos del registro-z para generar la imagen RGBA de canal alfa.
8. Método según se define en la enunciación 7, en el que el tono de la imagen desenfocada (504) se modifica para obtener un valor azul del color (1406) para obtener una imagen RGBA de canal alfa con efecto atmosférico.
9. Método según se define en la enunciación 7, en el que la modificación de la imagen desenfocada comprende:
copiar los datos del canal rojo (1404) de la imagen desenfocada sobre los datos del canal verde (1408) de la imagen desenfocada y copiar los datos del canal rojo de la imagen desenfocada sobre los datos del canal azul de la imagen desenfocada para obtener así una imagen desenfocada en blanco y negro;
almacenar la imagen desenfocada en blanco y negro en la unidad de almacenamiento temporal del registro-z (1640) de la escena; y
combinar (1708) los datos de la imagen desenfocada en la unidad de almacenamiento temporal del registro-z con la imagen nítida para generar una imagen RGBA de canal alfa (1410).
10. Un sistema de tratamiento informático que genera datos gráficos para su visualización en pantalla y que comprende:
una unidad central de tratamiento (1200);
una unidad de almacenamiento de datos (1280); y
una unidad de memoria (1230) que almacena las instrucciones del programa ejecutadas por la unidad central de tratamiento, en la que las instrucciones de programación ejecutadas hacen que la unidad central de tratamiento ejecute un proceso que comprende:
la generación (1702) de una imagen nítida (502) de una escena;
la generación (1704) de una imagen desenfocada (504) de la escena; y que se caracteriza en que el proceso ejecuta la operación adicional de:
generar una imagen RGBA que comprende la imagen nítida y la imagen desenfocada que han sido combinadas mediante el proceso de combinación con el canal alfa, el cual es controlado por los datos gráficos del registro-z, de forma que la imagen RGBA del canal alfa producida genera una imagen dotada de información sobre la profundidad de campo cuando el canal alfa RGBA se envía a un procesador gráfico y se renderiza para su visualización en un dispositivo informático de visualización (1690).
11. Un sistema según se define en la enunciación 10, en el que la imagen desenfocada (504) comprende datos de canal color con píxeles desplazados de la imagen nítida (502).
12. Un sistema según se define en la enunciación 11, en el que los datos gráficos del registro-z (1502) incluyen información sobre los píxeles truncados del registro-z que determinan los datos de localización de los píxeles para la escena.
13. Un sistema según se define en la enunciación 12, en el que la información sobre los píxeles truncados del registro-z incluye un número predeterminado de los bits más significativos para cada pixel de los datos gráficos del registro-z.
14. Un sistema según se define en la enunciación 10, en el que la unidad central de tratamiento (1200) genera además una secuencia de visualización de imágenes que producen un efecto de foco de rejilla y que desplazan el foco de la imagen entre el primer plano de la escena y el fondo de ésta, y en el que cada imagen de la secuencia genera una imagen dotada de información sobre la profundidad de campo cuando el canal alfa RGBA se envía a un procesador gráfico y se renderiza para su visualización en un dispositivo informático de visualización (1690).
15. Un sistema según se define en la enunciación 14, en el que cada imagen de la secuencia se genera mediante:
la obtención (1708) de imágenes RGBA del canal alfa mediante la combinación de la imagen nítida (502) de la escena y la imagen desenfocada (504) de ésta con los datos gráficos (506) del registro-z;
la obtención de una imagen RGBA invertida de canal alfa mediante la combinación de la imagen nítida de la escena y una imagen desenfocada de la escena con los datos gráficos invertidos del registro-z; y
la combinación (1712) de la imagen RGBA invertida del canal alfa con la imagen RGBA del canal alfa.
16. Un sistema según se define en la enunciación 10, en el que el procesador central cambia el tono de la imagen desenfocada (504) por el valor de color deseado y utiliza la imagen desenfocada modificada como fuente de los datos gráficos del registro-z para producir una imagen RGBA del canal alfa.
17. Un sistema según se define en la enunciación 16, en el que el tono de la imagen desenfocada (504) ha sido modificado por un valor de azul (1406) para producir una imagen RGBA de canal alfa dotada de efecto atmosférico.
18. Un sistema según se define en la enunciación 16, en el que el procesador central (1200) modifica la imagen desenfocada copiando los datos del canal rojo (1404) de la imagen desenfocada sobre los datos del canal verde (1408) y copiando los datos del canal rojo de la imagen desenfocada sobre los datos del canal azul de la imagen desenfocada, para generar de este modo una imagen desenfocada en blanco y negro, almacenar esta imagen en una unidad de almacenamiento temporal de datos del registro-z (1640) de la escena y combinar (1708) los datos de la imagen desenfocada en la unidad de almacenamiento temporal de datos del registro-z con la imagen nítida para generar la imagen RGBA del canal alfa
(1410).
19. Un sistema informático de tratamiento según se define en las enunciaciones 10 a 18 que esté configurado como un procesador gráfico (1100).
20. Un programa informático que cuando se ejecuta en un ordenador o en un procesador gráfico, puede realizar las operaciones del método que se describe en las enunciaciones 1 a 9.
ES03003378T 2002-04-09 2003-02-14 Obtencion de imagenes con profundidad de campo mediante datos graficos de registro-z mezclas alfa. Expired - Lifetime ES2243815T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US120324 2002-04-09
US10/120,324 US7081892B2 (en) 2002-04-09 2002-04-09 Image with depth of field using z-buffer image data and alpha blending

Publications (1)

Publication Number Publication Date
ES2243815T3 true ES2243815T3 (es) 2005-12-01

Family

ID=28453999

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03003378T Expired - Lifetime ES2243815T3 (es) 2002-04-09 2003-02-14 Obtencion de imagenes con profundidad de campo mediante datos graficos de registro-z mezclas alfa.

Country Status (8)

Country Link
US (2) US7081892B2 (es)
EP (1) EP1353296B1 (es)
JP (1) JP3725524B2 (es)
KR (1) KR100549358B1 (es)
AT (1) ATE297574T1 (es)
DE (1) DE60300788T2 (es)
ES (1) ES2243815T3 (es)
TW (1) TW583599B (es)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4837844B2 (ja) * 2001-07-19 2011-12-14 富士通株式会社 シミュレーションシステム、方法、プログラム及び記録媒体
US6680579B2 (en) * 2001-12-14 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for image and video display
AU2002952382A0 (en) * 2002-10-30 2002-11-14 Canon Kabushiki Kaisha Method of Background Colour Removal for Porter and Duff Compositing
US7274365B1 (en) 2003-01-31 2007-09-25 Microsoft Corporation Graphical processing of object perimeter information
US7202867B1 (en) 2003-01-31 2007-04-10 Microsoft Corporation Generation of glow effect
JP2004302500A (ja) * 2003-03-28 2004-10-28 Matsushita Electric Ind Co Ltd 画像処理装置及び画像処理方法
US7290221B2 (en) * 2003-04-16 2007-10-30 Hewlett-Packard Development Company, L.P. User interface, method and apparatus for providing three-dimensional object fabrication status
US7680342B2 (en) * 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
US7606417B2 (en) 2004-08-16 2009-10-20 Fotonation Vision Limited Foreground/background segmentation in digital images with differential exposure calculations
JP4307222B2 (ja) * 2003-11-17 2009-08-05 キヤノン株式会社 複合現実感提示方法、複合現実感提示装置
US7412110B1 (en) * 2004-01-28 2008-08-12 Adobe Systems Incorporated Using forward and backward kernels to filter images
US7609902B2 (en) * 2004-04-13 2009-10-27 Microsoft Corporation Implementation of discrete cosine transformation and its inverse on programmable graphics processor
US7015926B2 (en) * 2004-06-28 2006-03-21 Microsoft Corporation System and process for generating a two-layer, 3D representation of a scene
US7710418B2 (en) * 2005-02-04 2010-05-04 Linden Acquisition Corporation Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon
US7312801B2 (en) * 2005-02-25 2007-12-25 Microsoft Corporation Hardware accelerated blend modes
US7692696B2 (en) * 2005-12-27 2010-04-06 Fotonation Vision Limited Digital image acquisition system with portrait mode
US7532223B2 (en) * 2006-01-17 2009-05-12 Teri Lynn Dougherty Apparatus and method for teaching artwork and cosmetic adjustment on the human form using 4D rendering
IES20060558A2 (en) * 2006-02-14 2006-11-01 Fotonation Vision Ltd Image blurring
US7469071B2 (en) * 2006-02-14 2008-12-23 Fotonation Vision Limited Image blurring
JP4856445B2 (ja) 2006-02-22 2012-01-18 ルネサスエレクトロニクス株式会社 画像合成装置及びその画像合成方法
IES20060564A2 (en) * 2006-05-03 2006-11-01 Fotonation Vision Ltd Improved foreground / background separation
JP4843377B2 (ja) * 2006-05-18 2011-12-21 株式会社東芝 画像処理装置及び画像処理方法
KR101282973B1 (ko) * 2007-01-09 2013-07-08 삼성전자주식회사 오버레이 이미지를 디스플레이 하는 장치 및 방법
US8125510B2 (en) * 2007-01-30 2012-02-28 Ankur Agarwal Remote workspace sharing
JP5360594B2 (ja) * 2007-02-28 2013-12-04 日本電気株式会社 Dma転送装置及び方法
US20080263449A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Automated maintenance of pooled media content
CN101055645B (zh) * 2007-05-09 2010-05-26 北京金山软件有限公司 一种阴影实现的方法及装置
US8134556B2 (en) * 2007-05-30 2012-03-13 Elsberg Nathan Method and apparatus for real-time 3D viewer with ray trace on demand
US20150200639A1 (en) * 2007-08-02 2015-07-16 J. Todd Orler Methods and apparatus for layered waveform amplitude view of multiple audio channels
US8638341B2 (en) * 2007-10-23 2014-01-28 Qualcomm Incorporated Antialiasing of two-dimensional vector images
KR101412752B1 (ko) * 2007-11-26 2014-07-01 삼성전기주식회사 디지털 자동 초점 영상 생성 장치 및 방법
US8325178B1 (en) 2007-12-05 2012-12-04 The United States Of America, As Represented By The Secretary Of The Navy Lines-of-sight and viewsheds determination system
US8400448B1 (en) 2007-12-05 2013-03-19 The United States Of America, As Represented By The Secretary Of The Navy Real-time lines-of-sight and viewsheds determination system
US7595483B1 (en) * 2008-06-12 2009-09-29 The United States Of America As Represented By The Secretary Of The Navy Calibration method for a stellar sensor
WO2010003844A1 (fr) 2008-06-30 2010-01-14 Thomson Licensing Procede de composition temps reel d'une video
JP5024632B2 (ja) * 2008-09-19 2012-09-12 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP5527856B2 (ja) * 2008-09-25 2014-06-25 コーニンクレッカ フィリップス エヌ ヴェ 三次元画像データ処理
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
EP2180449A1 (en) * 2008-10-21 2010-04-28 Koninklijke Philips Electronics N.V. Method and device for providing a layered depth model of a scene
TW201021578A (en) * 2008-11-26 2010-06-01 Sunplus Mmedia Inc Decompression system and method for DCT-based compressed graphic data with transparent attribute
US8319798B2 (en) * 2008-12-17 2012-11-27 Disney Enterprises, Inc. System and method providing motion blur to rotating objects
KR101206895B1 (ko) * 2008-12-22 2012-11-30 한국전자통신연구원 렌더링 시스템 및 이를 이용한 데이터 처리 방법
GB2467944A (en) * 2009-02-23 2010-08-25 Andrew Ernest Chapman Stereoscopic effect without glasses
KR101599872B1 (ko) * 2009-02-25 2016-03-04 삼성전자주식회사 디지털 영상 처리 장치, 그 제어방법 및 이를 실행시키기 위한 프로그램을 저장한 기록매체
TWI393980B (zh) * 2009-06-08 2013-04-21 Nat Univ Chung Cheng The method of calculating the depth of field and its method and the method of calculating the blurred state of the image
US20110025830A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating stereoscopic content via depth map creation
US9380292B2 (en) 2009-07-31 2016-06-28 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating three-dimensional (3D) images of a scene
WO2011014419A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for creating three-dimensional (3d) images of a scene
JP2011066507A (ja) * 2009-09-15 2011-03-31 Toshiba Corp 画像処理装置
KR101015935B1 (ko) * 2009-10-28 2011-02-23 주식회사 넥슨 피사계 심도 및 모션 블러 처리 컴퓨터 시스템 및 그 방법
CN102598646B (zh) 2009-11-13 2014-05-07 皇家飞利浦电子股份有限公司 3d视频中深度过渡的有效编码
WO2012061549A2 (en) 2010-11-03 2012-05-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
US8553977B2 (en) 2010-11-15 2013-10-08 Microsoft Corporation Converting continuous tone images
US8274552B2 (en) 2010-12-27 2012-09-25 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
WO2012092246A2 (en) 2010-12-27 2012-07-05 3Dmedia Corporation Methods, systems, and computer-readable storage media for identifying a rough depth map in a scene and for determining a stereo-base distance for three-dimensional (3d) content creation
US10200671B2 (en) 2010-12-27 2019-02-05 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
US8406548B2 (en) * 2011-02-28 2013-03-26 Sony Corporation Method and apparatus for performing a blur rendering process on an image
CN102332158B (zh) * 2011-07-26 2013-06-12 深圳万兴信息科技股份有限公司 一种利用阿尔法通道的图像合成方法及系统
US9373213B1 (en) * 2011-11-08 2016-06-21 Zynga Inc. Adaptive object placement in computer-implemented games
US9449357B1 (en) 2012-08-24 2016-09-20 Digimarc Corporation Geometric enumerated watermark embedding for spot colors
US9380186B2 (en) * 2012-08-24 2016-06-28 Digimarc Corporation Data hiding for spot colors in product packaging
US11263829B2 (en) * 2012-01-02 2022-03-01 Digimarc Corporation Using a predicted color for both visibility evaluation and signal robustness evaluation
JP5572647B2 (ja) * 2012-02-17 2014-08-13 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
US11810378B2 (en) * 2012-08-24 2023-11-07 Digimarc Corporation Data hiding through optimization of color error and modulation error
US9007402B2 (en) * 2012-09-18 2015-04-14 Facebook, Inc. Image processing for introducing blurring effects to an image
JP2014235657A (ja) * 2013-06-04 2014-12-15 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
CN104282029B (zh) * 2013-07-11 2018-10-19 北京中盈安信技术服务股份有限公司 一种三维模型影像处理方法和电子终端
CN103632346B (zh) * 2013-11-27 2017-06-13 广东威创视讯科技股份有限公司 数字视频图像锐化度调节实现方法及装置
US9565335B2 (en) 2014-01-02 2017-02-07 Digimarc Corporation Full color visibility model using CSF which varies spatially with local luminance
US9667829B2 (en) * 2014-08-12 2017-05-30 Digimarc Corporation System and methods for encoding information for printed articles
CN104899838B (zh) * 2015-05-29 2017-11-28 小米科技有限责任公司 调整图像的方法及装置
KR102390980B1 (ko) * 2015-07-24 2022-04-26 엘지디스플레이 주식회사 영상 처리 방법, 영상 처리 회로와, 그를 이용한 표시 장치
WO2017114755A1 (en) * 2015-12-31 2017-07-06 Thomson Licensing Configuration for rendering virtual reality with an adaptive focal plane
US10179288B2 (en) 2016-06-20 2019-01-15 Zynga Inc. Adaptive object placement in computer-implemented games
CN109658365B (zh) 2017-10-11 2022-12-06 阿里巴巴(深圳)技术有限公司 图像处理方法、装置、系统和存储介质
JP7131080B2 (ja) * 2018-05-28 2022-09-06 大日本印刷株式会社 ボリュームレンダリング装置
CN112950692B (zh) * 2019-11-26 2023-07-14 福建天晴数码有限公司 一种基于移动游戏平台的图像景深处理方法及其系统
CN112109549B (zh) * 2020-08-25 2021-11-30 惠州华阳通用电子有限公司 一种仪表显示方法和系统
US11593989B1 (en) * 2022-07-28 2023-02-28 Katmai Tech Inc. Efficient shadows for alpha-mapped models

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5941222B2 (ja) 1978-08-30 1984-10-05 株式会社日立製作所 図形表示装置
US5379129A (en) 1992-05-08 1995-01-03 Apple Computer, Inc. Method for compositing a source and destination image using a mask image
JP3394258B2 (ja) 1993-06-21 2003-04-07 株式会社ナムコ 画像合成装置およびこれを用いたビデオゲーム装置
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5808618A (en) 1994-10-21 1998-09-15 Matsushita Electric Industrial Co., Ltd. Three-dimensional displaying apparatus having frame buffer and depth buffer
JP3578498B2 (ja) 1994-12-02 2004-10-20 株式会社ソニー・コンピュータエンタテインメント 画像情報処理装置
US5757376A (en) 1994-12-02 1998-05-26 Sony Corporation Method of producing image data and associated recording medium
GB9611941D0 (en) 1996-06-07 1996-08-07 Philips Electronics Nv Three-dimensional image texture mapping
EP0918439B1 (en) * 1996-07-18 2008-12-24 SANYO ELECTRIC Co., Ltd. Device for converting two-dimensional video into three-dimensional video
GB9616262D0 (en) * 1996-08-02 1996-09-11 Philips Electronics Nv Post-processing generation of focus/defocus effects for computer graphics images
US5929862A (en) * 1996-08-05 1999-07-27 Hewlett-Packard Co. Antialiasing system and method that minimize memory requirements and memory accesses by storing a reduced set of subsample information
US6097393A (en) * 1996-09-03 2000-08-01 The Takshele Corporation Computer-executed, three-dimensional graphical resource management process and system
US6157733A (en) 1997-04-18 2000-12-05 At&T Corp. Integration of monocular cues to improve depth perception
US6100899A (en) 1997-10-02 2000-08-08 Silicon Graphics, Inc. System and method for performing high-precision, multi-channel blending using multiple blending passes
US6115485A (en) * 1997-10-06 2000-09-05 General Electric Company Introducing reduced data set information into a primary image data set
US6184891B1 (en) 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US6377229B1 (en) * 1998-04-20 2002-04-23 Dimensional Media Associates, Inc. Multi-planar volumetric display system and method of operation using three-dimensional anti-aliasing
US6466185B2 (en) * 1998-04-20 2002-10-15 Alan Sullivan Multi-planar volumetric display system and method of operation using psychological vision cues
US6271847B1 (en) * 1998-09-25 2001-08-07 Microsoft Corporation Inverse texture mapping using weighted pyramid blending and view-dependent weight maps
US6646687B1 (en) * 1999-04-16 2003-11-11 Ultimatte Corporation Automatic background scene defocusing for image compositing
CA2316611A1 (en) 1999-08-31 2001-02-28 Nintendo Co. Ltd. Method and apparatus for providing depth blur effects within a 3d videographics system
AU2040701A (en) * 1999-12-02 2001-06-12 Channel Storm Ltd. System and method for rapid computer image processing with color look-up table
US6587114B1 (en) * 1999-12-15 2003-07-01 Microsoft Corporation Method, system, and computer program product for generating spatially varying effects in a digital image
JP3448536B2 (ja) * 1999-12-31 2003-09-22 株式会社スクウェア・エニックス 三次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体、ぼかし描画処理方法およびビデオゲーム装置
WO2001055970A1 (fr) 2000-01-28 2001-08-02 Namco Ltd. Systeme de jeux et procede de creation d'images
JP4656616B2 (ja) 2000-01-28 2011-03-23 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
US6426755B1 (en) * 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
US6956576B1 (en) * 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6590574B1 (en) * 2000-05-17 2003-07-08 Microsoft Corporation Method, system, and computer program product for simulating camera depth-of-field effects in a digital image
US6897880B2 (en) * 2001-02-22 2005-05-24 Sony Corporation User interface for generating parameter values in media presentations based on selected presentation instances
US6919906B2 (en) * 2001-05-08 2005-07-19 Microsoft Corporation Discontinuity edge overdraw

Also Published As

Publication number Publication date
TW200305109A (en) 2003-10-16
JP3725524B2 (ja) 2005-12-14
TW583599B (en) 2004-04-11
EP1353296A1 (en) 2003-10-15
ATE297574T1 (de) 2005-06-15
DE60300788D1 (de) 2005-07-14
JP2004005567A (ja) 2004-01-08
US7081892B2 (en) 2006-07-25
KR20030081107A (ko) 2003-10-17
US20060181549A1 (en) 2006-08-17
US20030189568A1 (en) 2003-10-09
KR100549358B1 (ko) 2006-02-08
EP1353296B1 (en) 2005-06-08
DE60300788T2 (de) 2006-03-23
US7227544B2 (en) 2007-06-05

Similar Documents

Publication Publication Date Title
ES2243815T3 (es) Obtencion de imagenes con profundidad de campo mediante datos graficos de registro-z mezclas alfa.
JP3668019B2 (ja) 記録媒体、画像処理装置および画像処理方法
KR100392808B1 (ko) 화상데이터생성방법과화상데이터처리장치및기록매체
US8602888B2 (en) Video game device and image processing program
US7242408B1 (en) Graphical processing of object perimeter information
CN106415667A (zh) 具有增强的深度效果的计算机图形
JP3661167B2 (ja) リフラクション・マッピングを実行する装置及び方法
JP2001307126A (ja) 画像描画方法、画像描画装置、記録媒体及びプログラム
JP4267646B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP5007633B2 (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JP4231684B2 (ja) ゲーム装置及びゲームプログラム
JP3635037B2 (ja) 画像の描画方法及びそれに用いるプログラム
KR20020013891A (ko) 영상들을 생성하는 방법 및 장치
ES2640192T3 (es) Procesamiento de datos
JP4589517B2 (ja) 情報記憶媒体及び画像生成装置
JP4233598B1 (ja) 画像処理プログラム、画像処理装置、および画像処理方法
JP2006252427A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2003323633A (ja) 画像処理装置及びプログラム
JP2009064086A (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JP2008084333A (ja) 画像生成装置及び情報記憶媒体
JP2008084332A (ja) 画像生成装置及び情報記憶媒体
JP2003150976A (ja) 画像処理方法、画像処理装置、並びに画像処理方法を実施するための記憶媒体及びプログラム