ES2197411T3 - Aparato de generacion de imagenes, metodo de generacion de imagenes, medio de grabacion de programas de generacion de imagenes, aparato de composicion de imagenes, metodo de composicion de imagenes y medio de grabacion de programas de composicion de imagenes. - Google Patents

Aparato de generacion de imagenes, metodo de generacion de imagenes, medio de grabacion de programas de generacion de imagenes, aparato de composicion de imagenes, metodo de composicion de imagenes y medio de grabacion de programas de composicion de imagenes.

Info

Publication number
ES2197411T3
ES2197411T3 ES98120375T ES98120375T ES2197411T3 ES 2197411 T3 ES2197411 T3 ES 2197411T3 ES 98120375 T ES98120375 T ES 98120375T ES 98120375 T ES98120375 T ES 98120375T ES 2197411 T3 ES2197411 T3 ES 2197411T3
Authority
ES
Spain
Prior art keywords
image
values
depth
pixel
polygon
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
ES98120375T
Other languages
English (en)
Inventor
Mitsuteru Kida
Tadashi Kobayashi
Akio Nishimura
Minobu Abe
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of ES2197411T3 publication Critical patent/ES2197411T3/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

UN APARATO DE GENERACION DE IMAGENES PARA GENERAR UNA IMAGEN TRIDIMENSIONAL BASADA EN DATOS DE FORMAR COMO UN CONJUNTO DE POLIGONOS, QUE SE REPRESENTA POR COORDENADAS TRIDIMENSIONALES, INCLUYE MEDIOS DE IDENTIFICACION DE POLIGONOS PARA IDENTIFICAR CADA POLIGONO DECIDIENDO SI ES OPACO O NO, PARA LOS DATOS DE FORMAS COMO EL CONJUNTO DE POLIGONOS; MEDIOS DE CALCULO DE DATOS DE IMAGENES PARA GENERAR VALORES DE PIXEL QUE INDIQUEN LA LUMINANCIA Y COLOR DE LOS RESPECTIVOS PIXELS, COMO UNIDADES DE VISUALIZACION DE UNA IMAGEN, VALORES DE PROFUNDIDAD QUE INDIQUEN LA PROFUNDIDAD CON LA QUE SE VISUALIZAN LOS POLIGONOS OBJETO DE PROCESO Y GRADOS DE CONTRIBUCION QUE INDICAN LAS RELACIONES DE LOS POLIGONOS OBJETO DEL PROCESO A LOS PIXELS, A PARTIR DE LOS DATOS DE FORMAS; MEDIOS DE ALMACENAMIENTO TEMPORAL PARA LOS VALORES DE PIXELS, LOS VALORES DE LA PROFUNDIDAD Y LOS GRADOS DE CONTRIBUCION QUE HAN SIDO GENERADOS POR LOS MEDIOS DE CALCULO DE DATOS DE IMAGENES; UN MEDIO DE COMPOSICION DE IMAGENES PARA GENERAR UNA IMAGEN OBJETO DE VISUALIZACION A PARTIR DE LOS VALORES DE PIXELS TEMPORALMENTE ALMACENADOS EN EL MEDIO DE ALMACENAMIENTO TEMPORAL, SOBRE LA BASE DE LOS GRADOS DE CONTRIBUCION Y LOS VALORES DE PROFUNDIDAD ALMACENADOS EN EL MEDIO DE ALMACENAMIENTO TEMPORAL.

Description

Aparato de generación de imágenes, método de generación de imágenes, medio de grabación de programas de generación de imágenes, aparato de composición de imágenes, método de composición de imágenes y medio de grabación de programas de composición de imágenes.
Campo de la invención
La presente invención se refiere a un aparato de generación de imágenes, a un método de generación de imágenes y a un medio de grabación de programas de generación de imágenes. En particular, la presente invención se refiere a un aparato de generación de imágenes y a un método de generación de imágenes para generar una imagen a partir de datos de forma que comprenden valores coordenados que representan una forma tridimensional, así como a un medio de grabación de programas de generación de imágenes.
Antecedentes de la invención
En años recientes, las técnicas de gráficos tridimensionales por ordenador para generar una imagen tridimensional vista desde un punto arbitrario, en base a datos de forma de un objeto representado por coordenadas tridimensionales, han sido extremadamente importantes en campos tales como el diseño industrial o la simulación de fenómenos físicos. Además, las técnicas para componer una imagen generada mediante el uso de técnicas de gráficos tridimensionales por ordenador y una imagen fotográfica, han sido útiles en los campos de la videoproducción, tales como la radiodifusión televisiva, el cine y similares. A continuación, se proporcionará una descripción de un aparato de generación de imágenes y de un aparato para la composición de imágenes que, según la técnica anterior, se han empleado para tal propósito.
Primero, se hará una descripción de un aparato de generación de imágenes para la generación de una imagen en base a datos de formas tridimensionales. Un aparato de generación de imágenes, representado en el presente documento según la técnica anterior, trata un objeto a presentarse como un polígono plano (en muchos casos un ``triángulo''), llamado ``polígono'', y utiliza datos de forma descritos como coordenadas tridimensionales.
La figura 17 es un diagrama de bloques que muestra un aparato de generación de imágenes según la técnica anterior. Fijándonos en la figura 17, este aparato de generación de imágenes comprende una memoria 1701 intermedia de datos de forma, una unidad 1702 de generación de píxeles, una memoria 1703 intermedia Z, una memoria 1704 intermedia de trama y una pantalla 1705 de presentación de imágenes. La memoria 1701 intermedia de datos de forma almacena datos de forma introducidos en el aparato de generación de imágenes. Tal como se ha expuesto anteriormente, los datos de forma se describen como los datos tridimensionales que representan el polígono. La unidad 1702 de generación de píxeles lee secuencialmente los datos de forma de cada polígono almacenados en la memoria 1701 intermedia de datos de forma, divide los datos leídos en unidades de píxeles de presentación y encuentra un color de presentación de cada píxel de presentación como un valor (R, G, B) de píxel. La unidad 1702 de generación de píxeles realiza su operación según una fórmula que considera un punto de vista para encontrar un valor (valor Z) de profundidad que indica una posición en una pantalla de presentación como la profundidad en la dirección de la línea visual.
Los algoritmos para decidir el valor del píxel a generar incluyen el ``sombreado plano'', en el que todos los píxeles que pertenecen al mismo polígono tienen el mismo valor, y el ``sombreado suave'', para calcular un valor para cada píxel que pertenece al mismo polígono según una fórmula que considera condiciones ambientales, tales como una fuente luminosa y similares. El sombreado plano es un algoritmo sencillo y, por tanto, reduce la carga del tratamiento. Sin embargo, puesto que el sombreado plano dificulta la obtención de una imagen de presentación que tenga sombras suaves y finas, el sombreado suave se emplea en general para obtener imágenes realistas y de alta calidad. Tal tratamiento se describe en detalle en ``Computer Graphics PRINCIPLES AND PRACTICES, Foley, van Dam, Feiner, Hughes, ADDISON-WESLEY PUBLISHING COMPANY (1990)''.
La unidad 1702 de generación de valores de píxel se implanta mediante software al emplear un procesador de uso general, aunque puede implantarse en hardware especializado. Además, el hardware especializado se implanta habitualmente mediante un CI (circuito integrado). En este caso, el CI incluye una función de control para leer datos de la memoria 1704 intermedia de trama, que se menciona más adelante, y una función de conversión D/A.
La memoria 1703 intermedia Z y la memoria 1704 intermedia de trama de la figura 17 almacenan el valor (valor Z) de profundidad y el valor (R, G, B) de píxel, respectivamente. La memoria 1703 intermedia Z almacena valores Z de los píxeles de presentación y la memoria 1704 intermedia de trama almacena los valores (R, G, B) de píxel de los píxeles de presentación.
En un proceso de gráficos por ordenador que trata un objeto de presentación como un polígono, un proceso de ``superficie oculta'' que evita que una parte u objeto invisibles, vistos desde un cierto punto de vista, sean presentados, mejora la realidad. El aparato de generación de imágenes emplea un método de ``superficie oculta'' denominado ``método de memoria intermedia Z''. En el proceso según el método de memoria intermedia, se almacena un valor Z de un polígono previamente tratado en la memoria intermedia Z, que se compara con un valor Z de un polígono a tratarse, para decidir si se coloca al frente o no el polígono a tratarse, decidiéndose por tanto si debería o no presentarse el polígono. En el aparato de generación de imágenes de la figura 17, se realiza una comparación entre el valor Z del polígono generado por la unidad 1702 de generación de píxeles y el valor Z del píxel, correspondiente del polígono previamente tratado, almacenado en la memoria 1703 intermedia Z. Cuando el valor Z del polígono es menor que el del píxel, el valor Z almacenado en la memoria intermedia Z se sustituye por el valor Z del polígono y, entonces, el valor almacenado en la memoria 1704 intermedia de trama se sustituye por el valor de píxel del polígono. Un valor Z menor indica una profundidad menor, y por tanto el tratamiento anterior puede representar el polígono a verse desde un cierto punto de vista y eliminar el polígono que no puede verse desde allí, sin que se represente.
Para el método de superficie oculta, son factibles otros algoritmos distintos a los de la memoria intermedia Z. Por ejemplo, existe un ``método de clasificación por profundidad'' convencional.
En el método de clasificación por profundidad, se disponen todos los polígonos según el orden de profundidad y, a continuación, los valores de píxel de los polígonos se graban en una memoria intermedia de trama (en orden creciente o decreciente de profundidad). Una ventaja de este método es que se prescinde de una memoria tal como una memoria intermedia (memoria intermedia Z) para almacenar valores de profundidad. No obstante, la cuantía de tratamiento de la disposición aumenta mucho con el aumento del número de polígonos, ya que el ``orden'' del número n de polígonos es n^{2} o nlog(n). El método de la memoria intermedia Z es más apropiado para tratar muchos polígonos que el método de clasificación por profundidad. El método de la memoria intermedia Z es efectivo para obtener una velocidad alta mediante la ejecución simultánea de tal tratamiento, porque puede realizar el tratamiento individual en paralelo para cada polígono.
En general, la pantalla 1705 de presentación de imágenes es un monitor CRT (tubo de rayos catódicos), y representa una imagen generada por el aparato de generación de imágenes. En algunas aplicaciones del aparato de generación de imágenes, un monitor o similar, que actúa como pantalla 1705 de presentación de imágenes, puede sustituirse por un equipo de videoedición.
Cuando se introducen los datos de forma, es decir, las coordenadas tridimensionales, en el aparato de generación de imágenes construido así, los datos de forma se almacenan primero en al memoria 1701 intermedia de datos de forma. La unidad 1702 de generación de píxeles lee los datos de forma, para cada polígono, de la memoria 1701 intermedia de datos de forma, y genera el valor de píxel y el valor de profundidad, tal como se ha mencionado anteriormente. La unidad 1702 de generación de píxeles realiza la comparación entre el valor Z generado y el valor Z del píxel correspondiente del polígono tratado previamente, y luego regraba un contenido de la memoria 1703 intermedia Z cuando el valor generado es menor.
Después de la regrabación, se da salida al valor (R, G, B) generado de píxel a la memoria 1704 intermedia de trama, a lo que sigue la regrabación de un contenido de la misma.
Los valores de píxel almacenados en la memoria 1704 intermedia de trama se leen en el orden de los píxeles correspondientes y se presentan en la pantalla 1705 de presentación de imágenes. Alternativamente, los valores de píxel pueden someterse primero a un proceso de conversión D/A y, después, darles salida a la pantalla 1705 de presentación de imágenes.
Por tanto, el aparato de generación de imágenes de la técnica anterior es capaz de generar una imagen que puede presentarse de una forma tridimensional mediante el empleo de la memoria intermedia Z que ejecuta el método de superficie oculta según el método de memoria intermedia Z.
Las desventajas del método de memoria intermedia Z son que el proceso de ``submuestreo inverso (anti-aliasing)'' es dificultoso y la representación de objetos transparentes es problemática porque determina el algoritmo a partir del valor de profundidad. En consecuencia, ha habido problemas asociados con el aparato de generación de imágenes de la técnica anterior que emplea el método de memoria intermedia Z, esto es, ``1. Problems with Anti Aliasing Process'' y ``Problems with Handling Translucent Object'', que se describirán a continuación.
1. ``Problemas con el proceso de submuestreo inverso''
En un caso en el que el aparato de generación de imágenes de la técnica anterior así construido genera una imagen de gráficos por ordenador, todos los píxel de presentación presentan un polígono específico, esto es, pertenecen al polígono en particular. En una frontera entre polígonos, un píxel que pertenece a un polígono tiene un valor significativamente diferente del valor de un píxel perteneciente a otro polígono que es adyacente al píxel anterior. Por ejemplo, en un caso en el que se presenta una imagen con la resolución de una pantalla normal de televisión, un tamaño de un píxel es reconocible por un espectador que ve la imagen. Por tanto, en el caso en el que los valores de los píxeles difieren significativamente entre sí, la luminancia cambia mucho en la frontera, lo que se vuelve perceptible. Como resultado, se produce un ``dentado'' en las fronteras entre líneas oblicuas o curvas, lo que hace imposible realizar una presentación suave, produciéndose una calidad degradada de imagen.
Las figuras 18(a) y 18(b) muestran tal fenómeno y el proceso de submuestreo inverso como antídoto contra aquél. La figura 18(a) muestra que el ``dentado'' daña la presentación. En una frontera entre un polígono blanco superior y un polígono negro inferior, existen escalones. Para evitar esto, tal como se muestra en la figura 18(b), pueden mezclarse los colores de estos polígonos superior e inferior en la frontera. La proporción de mezclado se hace directamente proporcional a un área de cada polígono en cada píxel. Este tratamiento es el proceso de submuestreo inverso para mejorar la calidad de imagen.
La figura 19 muestra tal proceso de submuestreo inverso. Para encontrar la proporción de mezclado a utilizar en el proceso de submuestreo inverso, un píxel de representación se divide en unidades de ``subpíxeles'' y se detecta un polígono para cada subpíxel. En el ejemplo mostrado en la figura 19, un píxel se divide en 16 subpíxeles (4x4 subpíxeles). En los subpíxeles de una región, representados por líneas oblicuas, y los subpíxeles de otra región, hay presentes polígonos distintos. La proporción de mezclado es el número de subpíxeles por cada píxel. Por ejemplo, para un píxel presente en una posición (16 subpíxeles) inferior, más a la derecha, la proporción de mezclado del polígono en la región representada mediante líneas oblicuas (9 subpíxeles) es de 9/16.
En este método, en cuantos más subpíxeles se divida un píxel, más próxima será la proporción de mezclado a la proporción de superficie del polígono. En el método de superficie oculta mediante el empleo de la memoria intermedia Z, no existe ningún problema con el algoritmo siempre y cuando el proceso de submuestreo inverso se realice utilizando la división en subpíxeles. No obstante, tal proceso de submuestreo inverso requiere de memorias intermedias Z y de memorias intermedias de trama para todos los subpíxeles de una pantalla de presentación y, por consiguiente, requiere una gran capacidad de memoria.
Por ejemplo, supóngase que el valor Z es 24 bits, cada uno de los valores R, G y B es 8 bits y la pantalla de representación está compuesta por (1024 x 512) píxeles. En este caso, la memoria intermedia Z y la memoria intermedia de trama deben, respectivamente, tener una capacidad de memoria de 1,5 Mbytes, lo que asciende a 3 Mbytes en total. Si se divide un píxel en 16 subpíxeles, tal como se muestra en la figura 19 bajo la misma condición, se requieren 48 Mbytes (3M X 16).
El incremento de la capacidad de memoria conlleva el aumento de los costes y, por tanto, la generación de imágenes suavemente presentadas en el aparato de generación de imágenes de la técnica anterior no es compatible con la reducción de costes.
``Problemas con el tratamiento de objetos translúcidos''
Existen muchos métodos para representar objetos translúcidos, tales como un vidrio de color, mediante el empleo de la generación de imágenes de gráficos por ordenador. Para el caso del tratamiento de este tipo de objeto, para la representación se establece en los datos de forma un parámetro llamado ``grado de transparencia'' y se da un grado de transparencia a cada polígono. Como grados de transparencia se emplean los valores numéricos 0-255. En este caso, un valor ``255'' indica que el objeto correspondiente es opaco, un valor ``0'' indica que el objeto correspondiente es completamente transparente (invisible) y un valor intermedio indica que un grado de transparencia varía según el valor.
Respecto a un píxel de una pantalla de presentación, cuando un polígono que tiene el valor Z más pequeño, de una pluralidad de polígonos que incluyen al píxel, es transparente, esto es, el grado de transparencia no es 255, un color de presentación del píxel se obtiene mezclando un color de presentación del polígono y un color de presentación de un polígono que tiene el segundo valor más pequeño de acuerdo con el grado de transparencia. Si el polígono que tiene el segundo valor Z más pequeño es traslúcido, debe emplearse un color de presentación de un polígono que tenga el tercer valor Z más pequeño.
No obstante, en el proceso de superficie oculta mediante el empleo de la memoria intermedia Z, se seleccionan las coordenadas más próximas a un punto de vista, es decir, las coordenadas con una profundidad pequeña, y, por tanto, sólo se almacena en la memoria intermedia de trama el color de presentación del polígono con el valor Z más pequeño. El proceso de mezclado para una pluralidad de polígonos se hace imposible con una simple memoria intermedia de trama y una memoria intermedia Z de la figura 17.
Para el caso de polígonos superpuestos que tienen grados de transparencia, el uso de una pluralidad de memorias intermedias de trama y de memorias intermedias Z hace posible el proceso de superficie oculta mediante el método de memoria intermedia Z y el proceso de mezclado que representa un objeto traslúcido.
La figura 20 muestra un proceso que emplea una pluralidad de memorias intermedias. En el ejemplo de la figura 20, se muestran 4 memorias intermedias de trama y 4 memorias intermedias Z. Las memorias 2011, 2012, 2013 y 2014 intermedias Z retienen el valor Z más pequeño, el segundo valor X más pequeño, el tercer valor Z más pequeño y el cuarto valor Z más pequeño, respectivamente. Las memorias 2021, 2022, 2023 y 2024 intermedias de trama almacenan valores (R, G, B) de las memorias 2011-2014 intermedias Z correspondientes. Adicionalmente, las memorias 2031, 2032, 2033 y 2034 intermedias de grado de transparencia de los respectivos píxeles se emplean para realizar el proceso de mezclado para cada píxel.
Esta construcción de la figura 20 es capaz de realizar el proceso tomando en consideración los grados de transparencia, lo que aumenta la capacidad de memoria necesaria en proporción al número de memorias intermedias de trama y de memorias intermedias Z.
Además, con el fin de realizar simultáneamente el proceso de submuestreo inverso y la representación del objeto traslúcido, una capacidad necesaria de memoria viene a ser un producto de incrementos de estas capacidades, lo que provoca un aumento de los costes. En el ejemplo mostrado, se requiere una memoria de 192 Mbytes, es decir, (una capacidad de memoria para la presentación de píxeles de 3 Mbytes) x 64 (= 16 veces x 4 veces).
Como debería ser evidente, el problema con la técnica anterior es que la presentación deseable de imágenes no es compatible con una reducción de costes.
Posteriormente, se proporcionará una descripción de un aparato de composición de imágenes de la técnica anterior para componer la imagen generada por los gráficos tridimensionales de ordenador y la imagen fotográfica.
La figura 21 muestra un aparato de composición de imágenes general de acuerdo con la técnica anterior. Fijándonos en la figura 21, el aparato de composición de imágenes comprende una unidad 2101 de generación de imágenes, una unidad 2102 de composición de profundidades, una unidad 2103 de mezclado de píxeles, una unidad 2104 de tratamiento de claves de composición, una unidad 2105 de composición de imágenes y una pantalla 2106 de presentación de imágenes. La unidad 2101 de generación de imágenes, la unidad 2102 de composición de profundidades y la unidad 2103 de mezclado de píxeles constituyen una unidad 2110 de generación CG.
La unidad 2110 de generación CG recibe como entrada datos de forma, descritos como coordenadas tridimensionales que representan un polígono, y genera una imagen CG por un proceso de gráficos por ordenador. Supongamos que la unidad 2110 de generación CG incluye una pluralidad de memorias intermedias para realizar el proceso de submuestreo inverso y el proceso de translucidez, tal como ya se han descrito para el uso del aparato de generación de imágenes de la técnica anterior.
En este ejemplo, la unidad 2110 de generación CG comprende la unidad 2101 de generación de imágenes, la unidad 2102 de composición de profundidades y la unidad 2103 de mezclado de píxeles, para realizar el proceso de submuestreo inverso y similares. Tal como se ha descrito anteriormente, esta construcción requiere una gran capacidad de memoria. Tal como en el caso del aparato de generación de imágenes de la técnica anterior de la figura 17, el aparato puede comprender la memoria intermedia de datos de forma, la unidad de generación de píxeles, la memoria intermedia Z y la memoria intermedia de trama, y prescindir del proceso de submuestreo inverso.
La unidad 2101 de generación de imágenes trata secuencialmente los datos de forma de entrada para generar un valor (R, G, B) de píxel y un valor (valor Z) de profundidad para cada píxel. En el proceso de submuestreo inverso, un píxel se divide en subpíxeles y se calcula una proporción de mezclado. En el proceso de translucidez, se emplea el grado de ``transparencia''.
La unidad 2102 de composición de profundidades realiza el proceso de superficie oculta según el método de memoria intermedia Z. Para los procesos de submuestreo inverso y de translucidez, se proporciona una pluralidad de memorias intermedias Z y de memorias intermedias de trama, y una pluralidad de memorias intermedias de proporción de mezclado y de memorias intermedias de grado de transparencia, según proceda, para realizar el tratamiento de la figura 20. Para ser más específicos, cada 4 memorias intermedias se proporcionan para el proceso de translucidez, tal como en el caso mostrado en la figura 20. Además, para realizar el proceso de submuestreo inverso, pueden sustituirse las memorias intermedias de grado de transparencia con las memorias intermedias de proporción de mezclado, realizándose el proceso de la figura 20.
La unidad 2103 de mezclado de píxeles realiza el proceso de mezclado mediante el empleo del valor (R, G, B) de píxel, de acuerdo con el grado de transparencia o la proporción de mezclado, para generar un valor de un píxel a presentarse, que se almacena en la memoria intermedia de trama. La unidad 2103 obtiene el valor Z más pequeño de la memoria intermedia Z como valor Z de la imagen generada y da salida a la unidad 2105 de composición de imágenes.
La imagen CG así procesada por la unidad 2110 de generación CG y la imagen fotográfica, se componen mediante un método de inserción de imágenes. Este método emplea las diferencias entre matices para generar una señal de inserción de imágenes, es decir, una señal muestreada, y realiza la composición mediante la inserción de otra trama en la parte. Por ejemplo, se toma una imagen de un objeto específico (un ser humano o un coche) con un color específico llamado ``azul chromakey'' como fondo, se muestrea una parte del ``azul chromakey'' de la imagen resultante por medio de un proceso señalado, y el objeto específico restante se superpone a la imagen de fondo.
La unidad 2104 de tratamiento de las claves de composición recibe la imagen fotográfica como una entrada y realiza el tratamiento señalado para generar una señal de inserción de imágenes e información de la imagen fotográfica. La información de la imagen fotográfica comprende valores (R, G, B) de píxel de la imagen fotográfica. La señal de inserción de imágenes y la imagen fotográfica se introducen en la unidad 2105 de composición de imágenes. El valor (valor Z) de la profundidad de la imagen fotográfica también se introduce en la unidad 2105 de composición de imágenes. El valor Z especifica la relación de superposición entre la imagen fotográfica y la imagen CG.
La unidad 2105 de composición de imágenes realiza la comparación entre el valor Z de la imagen CG de la unidad 2103 de mezclado de píxeles y el valor Z de la imagen fotográfica. Cuando el valor Z de la imagen fotográfica es más pequeño que el de la imagen CG, el valor de píxel almacenado en la memoria intermedia de trama se sustituye por el valor de píxel en la imagen fotográfica para almacenarse dentro de la misma. Por tanto, la imagen fotográfica se superpone con la imagen CG, a presentarse, cuando el valor de la profundidad de la imagen fotográfica es más pequeño, es decir, la imagen fotográfica se coloca delante en relación con la imagen CG. A partir de aquí, el valor de píxel almacenado en la memoria intermedia de trama se lee de la misma y se somete a un proceso de conversión D/A para mostrarse en la pantalla 2106 de presentación de imágenes.
Así, en el aparato de composición de imágenes de la técnica anterior, la unidad 2110 de generación CG aplica el proceso de submuestreo inverso a la imagen CG para hacer indiscernible su ``dentado'', o aplica a la misma el proceso de translucidez. No obstante, tienen lugar los siguientes problemas.
i)
Puesto que el proceso de submuestreo inverso no puede aplicarse a la imagen fotográfica y a la imagen compuesta, algunas veces la calidad de la imagen se degrada. Por ejemplo, cuando se coloca la imagen fotográfica detrás de la imagen CG, su parte de frontera aparece borrosa, lo que resulta en una calidad degradada de imagen.
ii)
No puede realizarse un proceso flexible de composición. Asumamos que el proceso de translucidez se realiza en el proceso de generación CG, y que se obtiene una imagen CG en la que un objeto translúcido se coloca delante de un objeto opaco. Cuando se componen esta imagen CG y una imagen fotográfica, aunque la imagen fotográfica puede disponerse delante o detrás de la imagen CG, no puede disponerse entre el objeto translúcido y el objeto opaco. En otras palabras, aunque el tratamiento flexible, que puede emplear relaciones superpuestas del número de niveles igual al número de memorias intermedias (4 niveles en el ejemplo mostrado en la figura 20), es posible en el proceso de generación CG, tal tratamiento flexible es imposible en el proceso para componer la imagen CG y la imagen fotográfica.
Si el aparato de composición de imágenes de la figura 21 comprende una pluralidad de unidades 2110 de generación CG para tal proceso flexible de composición, entonces el proceso de composición puede aumentar el número de niveles igual al número de unidades de generación CG. Un ejemplo de un proceso de composición de este tipo es que una imagen CG producida en una unidad de generación CG es una imagen de fondo de una imagen fotográfica, y una imagen CG producida en otra unidad de generación CG se dispone delante de la imagen fotográfica. Tal como se ha descrito anteriormente, la unidad 2120 de generación CG corresponde a una parte principal del aparato de composición de imágenes de la técnica anterior y, por tanto, una pluralidad de unidades de generación incrementa significativamente el coste. En particular, debe proporcionarse una pluralidad de memorias intermedias para el proceso de submuestreo inverso o para el proceso de translucidez, lo que requiere una gran capacidad de memoria y, por tanto, no es práctico.
Como debería ser evidente a partir de la descripción anterior, en el aparato de generación de imágenes de la técnica anterior, si el proceso de submuestreo inverso o el proceso de translucidez se realizan para obtener una calidad de imagen mejorada, aumenta una capacidad requerida de memoria intermedia y, correspondientemente, aumenta su coste.
Adicionalmente, el proceso de submuestreo inverso o el proceso de translucidez no se aplican al proceso de composición de la imagen CG y la imagen fotográfica. Como consecuencia, la calidad de imagen no se mejora y el tratamiento de imagen no se realiza con flexibilidad.
A partir del documento GB 2 278 524 A, se conoce un método y aparato para generar imágenes visuales que utilizan el cálculo de áreas y el mezclado de listas de píxeles fraccionarios de submuestreo inverso y transparencia. Los polígonos primitivos se transforman a coordenadas subpixelianas y, luego, se dividen y cuartean para crear elementos ``enlaces de píxel'' asociados a cada píxel. Una memoria intermedia de trama sobredimensionada permite el almacenamiento de muchos enlaces de píxel para cada píxel. Se evita la clasificación Z con el uso de objeto de datos de una lista vinculada para cada vector de enlace de píxel en una pila de píxeles. Puesto que todos los valores de datos de imagen para X, Y, Z, R, G, B y la cobertura A de píxel se almacenan en el objeto de datos de enlace de píxel, son posibles operaciones sofisticadas de mezcla para el submuestreo inverso y la transparencia.
En ``Transparency and Anti-aliasing Algorithms Implemented with the Virtual Pixel Maps Technique'', por Mammen, A, IEEE computer graphics and aplications, vol. 9, nº 4, 1 Julio 1989, páginas 43-45, XP000115865, se describen dos algoritmos de generación, a saber, la técnica de transparencia y la técnica de submuestreo inverso, para sacar provecho de la técnica de Mapas Virtuales de Píxeles.
La publicación de Winner et al.: ``Hardware Accelerated rendering of anti aliasing using a modified A-Buffer Algorithm'', en Computer Graphics Proceedings, Siggraph 97, Los Angeles, Agosto 3-8, 3 Agosto 1997, páginas 307- 316, XP000765830 Association for Computing Machinery, describe un aparato de generación de imágenes para generar objetos 3D. Se realizan operaciones de disposición de triángulos (polígonos), clasificación por profundidad, transparencia y submuestreo inverso, y los objetos a presentar se rasterizan a una velocidad de 100 M píxeles/segundo. Los datos de imagen se almacenan en varias memorias intermedias. Se emplea una CPU para tratar una trama, es decir, para generar una imagen a partir de los datos almacenados en las memorias intermedias. El principal inconveniente reside en el hecho de que emplea varias funciones de mezclado y grados de contribución para cada píxel a generarse. Estas operaciones requieren una gran cantidad de capacidad del almacenamiento para generar una imagen de buena calidad y en una cantidad de tiempo adecuada. Por consiguiente, el precio del aparato aumenta y disminuye su velocidad.
Sumario de la invención
Un objeto de la presente invención es proporcionar un aparato de generación de imágenes que sea capaz de realizar procesos de submuestreo inverso o de translucidez sin aumentar significativamente el coste de un aparato y que pueda conseguir una imagen de una calidad alta.
Otro objeto de la presente invención es proporcionar un método de generación de imágenes que pueda mejorar una calidad de imagen sin incrementar el coste de un aparato.
Otro objeto de la presente invención es también proporcionar un medio de grabación de programas que contenga un programa de generación de imágenes que puede generar una imagen de una calidad alta en un sistema barato mediante la ejecución del programa en un ordenador de uso general, y similares.
Otro objeto adicional de la presente invención es proporcionar un aparato de composición de imágenes que sea capaz de realizar un proceso de submuestreo inverso o de translucidez sin incrementar el coste de un aparato y que pueda conseguir una imagen con una calidad alta en el proceso de componer una imagen CG y una imagen fotográfica.
Otro objeto adicional de la presente invención es también proporcionar un método de composición de imágenes que sea capaz de realizar un proceso de submuestreo inverso o de translucidez sin incrementar el coste de un aparato y que puede conseguir una imagen de una calidad alta en el proceso de composición de una imagen CG y una imagen fotográfica.
Otro objeto de la presente invención es proporcionar un medio de grabación de programas que contenga un programa de composición de imágenes que es capaz de generar una imagen de una calidad alta en un sistema barato mediante la ejecución del programa en un ordenador de uso general.
Otros objetos y ventajas de la presente invención serán evidentes a partir de la descripción detallada que sigue. La descripción detallada y las realizaciones específicas se proporcionan tan sólo a título de ejemplo, ya que varias adiciones y modificaciones dentro del espíritu y el alcance de la invención serán evidentes para aquellas personas expertas en la técnica a partir de la descripción detallada.
En las reivindicaciones 1, 9 y 10 se establecen un aparato, método y medio de grabación de generación de imágenes según la invención.
Según una primera realización de la presente invención, un aparato de generación de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, comprende medios de identificación de polígonos para identificar cada polígono al establecer si es o no opaco, para los datos de forma como conjunto de polígonos; medios de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de presentación de una imagen, indicando los valores de profundidad la profundidad con la que son presentados polígonos a tratar e indicando los grados de contribución las razones de los polígonos a tratarse a píxeles, a partir de los datos de forma; medios de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que han sido generados por los medios de cálculo de datos de imagen; y medios de composición de imagen para generar una imagen a presentarse a partir de los valores de píxel almacenados temporalmente en los medios de almacenamiento temporal, en base a los grados de contribución y los valores de profundidad almacenados en los medios de almacenamiento temporal, en los que se calcula un único grado de contribución para cada píxel, independientemente de dicha indicación sobre si dicho polígono es opaco o no, y cada grado de contribución generado por dichos medios de cálculo es una función del resultado correspondiente de la identificación generado por dichos medios de identificación de polígonos. Por tanto, el grado de contribución se emplea en el proceso de submuestreo inverso para el polígono opaco y se emplea en el proceso de translucidez para el polígono translúcido.
Según un segundo aspecto de la presente invención, en el aparato de generación de imágenes del primer aspecto, los medios de almacenamiento temporal almacenan una pluralidad de valores de profundidad, comprenden adicionalmente medios de composición de profundidad para realizar la comparación entre el valor de profundidad más grande de la pluralidad de valores de profundidad y el valor de profundidad del polígono a tratar, y decide si al polígono a tratar se presenta o no, de acuerdo con el resultado de la comparación. Con lo cual, el tratamiento se realiza en una pluralidad de niveles.
Según un tercer aspecto de la presente invención, en el aparato de generación de imágenes del primer aspecto, los medios de almacenamiento temporal tienen una pluralidad de regiones, comprenden además medios de control de las memorias intermedias para controlar la entrada/salida de datos desde/a la pluralidad de regiones en los medios de almacenamiento temporal. De este modo, los datos entran/salen desde/a las memorias intermedias eficientemente.
Según un cuarto aspecto de la presente invención, en el aparato de generación de imágenes del primer aspecto, los medios de cálculo de datos de imagen dividen un píxel de presentación, como una unidad de los datos de forma, en (M x M) subpíxeles (M \geq 2, M: entero positivo), muestrean M subpíxeles de los (M x M) subpíxeles y deciden si los subpíxeles muestreados están o no en el polígono a tratar, con el fin de generar el grado de contribución. De este modo, no se tratan todos los subpíxeles. A resultas de esto, la carga de tratamiento se reduce y se ahorra en capacidad requerida de memoria.
Según un quinto aspecto de la presente invención, en el aparato de generación de imágenes del cuarto aspecto, los medios de cálculo de datos de imagen seleccionan de una forma tal los M subpíxeles a muestrear que no están presentes en la misma columna y en la misma fila en un píxel. De este modo, un subpíxel a muestrearse representa el píxel correspondiente.
Según un sexto aspecto de la presente invención, en el aparato de generación de imágenes del quinto aspecto, los medios de cálculo de datos de imagen muestrean subpíxeles en posiciones específicas en todos los polígonos independientemente de si los polígonos son opacos o no. De este modo, el proceso de muestreo se realiza eficientemente.
Según un séptimo aspecto de la presente invención, el aparato de generación de imágenes del segundo aspecto comprende adicionalmente medios de división de datos de forma para dividir los datos de forma en una pluralidad de grupos de polígonos y para dar salida a grupos respectivos de polígonos como datos de forma parciales; y en el que se proporcionan L (L: entero positivo) partes de los medios de identificación de polígonos, L partes de los medios de cálculo de datos de imagen y L partes de los medios de composición de profundidad, y en el que se conectan en serie L partes de los medios de composición de profundidad, y los medios de composición de profundidad transfieren secuencialmente salidas desde los medios de composición de profundidad, en una etapa anterior a los mismos, a los medios de composición de profundidad en una etapa posterior a los mismos. De este modo, el tratamiento se realiza para cada grupo de polígonos, y la operación simultánea da lugar a un tratamiento rápido.
Según un octavo aspecto de la presente invención, en el aparato de generación de imágenes del séptimo aspecto, cada una de las L partes de los medios de composición de profundidad dispone las salidas a transferir a los medios de composición de profundidad en la etapa posterior a los mismos, en orden ascendente de los valores de profundidad. De este modo, los medios de composición de profundidad se realizan eficientemente en una etapa posterior a los mismos.
Según un noveno aspecto de la presente invención, un método de generación de imágenes para generar una imagen tridimensional en base a datos de forma, como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, comprende una etapa de identificación de polígonos para identificar cada polígono al decidir si es o no opaco, para los datos de forma como conjunto de polígonos; una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de presentación de una imagen, indicando los valores de profundidad la profundidad con la que se presentan los polígonos a tratar, e indicando los grados de contribución las razones de los polígonos a tratarse a píxeles, a partir de los datos de forma; una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; y una etapa de composición de imagen para generar una imagen a presentar a partir de los valores de píxel almacenados temporalmente en la etapa de almacenamiento temporal, basada en los grados de contribución y los valores de profundidad almacenados en la etapa de almacenamiento temporal, en la que se calcula un único grado de contribución para cada píxel independientemente de dicha indicación de si dicho polígono es opaco o no, y cada grado de contribución generado por dichos medios de cálculo es una función del resultado correspondiente de la identificación generado por dichos medios de identificación de polígonos. De este modo, el grado de contribución se emplea en el proceso de submuestreo inverso para el polígono opaco y se emplea en el proceso de translucidez para el polígono translúcido.
Según un décimo aspecto de la presente invención, un medio de grabación de programas de generación de imágenes para grabar un programa de generación de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, comprende una etapa de identificación de polígonos para identificar cada polígono al decidir si es o no opaco, para los datos de forma como el conjunto de polígonos; una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de representación de una imagen, indicando los valores de profundidad la profundidad con la que se presentan los polígonos a tratar, e indicando los grados de contribución las razones de los polígonos a tratar a píxeles, a partir de los datos de forma; una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; y una etapa de composición de imagen para generar una imagen a presentar a partir de valores de píxel almacenados temporalmente en la etapa de almacenamiento temporal, en base a los grados de contribución y los valores de profundidad almacenados en la etapa de almacenamiento temporal, en la que se calcula un único grado de contribución para cada píxel, independientemente de si dicho polígono es o no opaco, y cada grado de contribución generado por dichos medios de cálculo es una función del resultado correspondiente de identificación generado por dicho medios de identificación de polígonos. De este modo, el grado de contribución se emplea en el proceso de submuestreo inverso para el polígono opaco y se emplea en el proceso de translucidez para el polígono translúcido.
Según un decimoprimer aspecto de la presente invención, un aparato de composición de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, y componer la imagen generada y una imagen fotográfica para generar una imagen compuesta, comprendiendo dicho aparato: medios de identificación de polígonos para identificar cada polígono al decidir si es o no opaco, para los datos de forma como el conjunto de polígonos; medios de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de presentación de una imagen, valores de profundidad que indican la profundidad con la que se presentan los polígonos a tratarse, y grados de contribución que indican las razones de los polígonos a tratarse a píxeles, a partir de los datos de forma; medios de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que han sido generados por los medios de cálculo de datos de imagen; medios de tratamiento de imágenes fotográficas para tratar la imagen fotográfica con el fin de generar valores de píxel de la imagen fotográfica que indican la luminancia y el color, y grados de contribución de la imagen fotográfica que indican las razones de la imagen fotográfica a píxeles como unidades de presentación; y medios de composición de imágenes para generar una imagen a presentar mediante el empleo de los valores de píxel almacenados en los medios de almacenamiento temporal, y de los valores de píxel de las imágenes fotográficas generados por los medios de tratamiento de imágenes fotográficas en base a los grados de contribución y los valores de profundidad almacenados en los medios de almacenamiento temporal, los grados de contribución de la imagen fotográfica generados por los medios de tratamiento de imágenes fotográficas, y los valores de profundidad preestablecidos de las imágenes fotográficas. De este modo, la imagen fotográfica se trata de la misma manera que en la que se trata la imagen generada.
Según una decimosegunda realización de la presente invención, en el aparato de composición de imágenes del decimoprimer aspecto, los medios de almacenamiento temporal almacenan una pluralidad de valores de profundidad, comprende adicionalmente medios de composición de profundidad para realizar comparaciones entre el valor de profundidad más grande de la pluralidad de valores de profundidad y el valor de profundidad del polígono a tratar, y para decidir si el polígono a tratar se presenta o no, de acuerdo con el resultado de la comparación. Con lo cual, la imagen fotográfica se trata de la misma manera en la que se trata la imagen generada, en un proceso que emplea valores de profundidad.
Según una decimotercera realización de la presente invención, un método de composición de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, y para componer la imagen generada y una imagen fotográfica con el fin de generar una imagen compuesta, comprende una etapa de identificación de polígonos para identificar cada polígono al decidir si es o no opaco, para los datos de forma como conjuntos de polígonos; una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de presentación de una imagen, indicando los valor de profundidad la profundidad con la que se presentan los polígonos a tratar, e indicando los grados de contribución las razones de los polígonos a tratarse a píxeles, a partir de los datos de forma; una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; una etapa de tratamiento de imágenes fotográficas para tratar la imagen fotográfica con el fin de generar valores de píxel de la imagen fotográfica que indican la luminancia y el color, y grados de contribución de la imagen fotográfica que indican las razones de la imagen fotográfica a píxeles como unidades de presentación; y una etapa de composición de imagen para generar una imagen a presentar mediante el empleo de los valores de píxel almacenados en la etapa de almacenamiento temporal y de los valores de píxel de las imágenes fotográficas generados en la etapa de tratamiento de imágenes fotográficas, en base a los grados de contribución y los valores de profundidad almacenados en la etapa de almacenamiento temporal, los grados de contribución de la imagen fotográfica generados en la etapa de tratamiento de imágenes fotográficas, y los valores de profundidad de la imagen fotográfica preestablecidos. De este modo, la imagen fotográfica se trata de la misma manera en que se trata la imagen generada.
Según una decimocuarta realización de la presente invención, un medio de grabación de programas de generación de imágenes para grabar un programa de composición de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, y para componer la imagen generada y una imagen fotográfica con el fin de generar una imagen compuesta, comprende una etapa de identificación de polígonos para identificar cada polígono al decidir si es o no opaco, para los datos de forma como los conjuntos de polígonos; una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de los respectivos píxeles como unidades de presentación de una imagen, indicando los valores de profundidad la profundidad con la que se presentan los polígonos a tratar, e indicando los grados de contribución las razones de los polígonos a tratarse a píxeles; una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; una etapa de tratamiento de imágenes fotográficas para tratar la imagen fotográfica con el fin de generar valores de píxel de las imágenes fotográficas que indican luminancia y color, y grados de contribución de la imagen fotográfica que indican las razones de la imagen fotográfica a píxeles como unidades de presentación; y una etapa de composición de imagen para generar una imagen a presentar mediante el uso de los valores de píxel almacenados en la etapa de almacenamiento temporal y los valores de píxel de la imagen fotográfica generados en la etapa de tratamiento de imágenes fotográficas, en base a los grados de contribución y los valores de profundidad almacenados en la etapa de almacenamiento temporal, los grados de contribución de la imagen fotográfica generada en la etapa de tratamiento de imágenes fotográficas, y los valores de profundidad de la imagen fotográfica preestablecidos. De este modo, la imagen fotográfica se trata de la misma manera en que se trata la imagen generada, para hacer una imagen compuesta.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que muestra un aparato de generación de imágenes según una primera realización de la presente invención.
La figura 2 es un diagrama de bloques que muestra una estructura interna de una unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
La figura 3 es un diagrama que muestra el proceso para dividir un píxel en subpíxeles, realizado por un circuito de generación de píxeles en la unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
La figura 4 es un diagrama que muestra el proceso para generar grados de contribución, realizado por un circuito de cálculo de datos de imagen en la unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
Las figuras 5(a) y 5(b) son diagramas que muestran una tabla de consulta para uso en el proceso de generación de grados de contribución, realizado por el circuito de cálculo de datos de imagen en la unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
La figura 6 es un diagrama de bloques que muestra una estructura interna de un circuito de control de memorias intermedias Z en la unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
La figura 7 es un diagrama de bloques que muestra una estructura interna de un circuito de generación de direcciones de trama en la unidad de generación de imágenes del aparato de generación de imágenes de la primera realización.
La figura 8 es un diagrama de bloques que muestra una estructura interna de un circuito de composición de profundidad del aparato de generación de imágenes de la primera realización.
La figura 9 es un diagrama de bloques que muestra una estructura interna de un circuito de clasificación de Z en el circuito de composición de profundidad del aparato de generación de imágenes de la primera realización.
La figura 10 es un diagrama de bloques que muestra una estructura interna de un circuito de comparación de valores Z en el circuito de composición de profundidad del aparato de generación de imágenes de la primera realización.
La figura 11 es un diagrama que muestra un ejemplo de la operación realizada por el circuito de comparación de valores Z en el circuito de composición de profundidad del aparato de generación de imágenes de la primera realización.
La figura 12 es un diagrama de bloques que muestra una estructura interna de un circuito de cálculo de proporciones de mezclado del aparato de generación de imágenes de la primera realización.
La figura 13 es un diagrama de bloques que muestra una estructura interna de un circuito de mezclado de píxeles del aparato de generación de imágenes de la primera realización.
La figura 14 es un diagrama que muestra el proceso de generación grados de contribución, realizado por un circuito de cálculo de datos de imagen en una unidad de generación de imágenes de un aparato de generación de imágenes según una segunda realización de la presente invención.
La figura 15 es un diagrama de bloques que muestra un aparato de generación de imágenes según una tercera realización de la presente invención.
La figura 16 es un diagrama de bloques que muestra un aparato de generación de imágenes según una cuarta realización de la presente invención.
La figura 17 es un diagrama de bloques que muestra un aparato de generación de imágenes según la técnica anterior.
La figura 18 es un diagrama para explicar el proceso de submuestreo inverso.
La figura 19 es un diagrama para explicar el proceso de división de un píxel en subpíxeles en el proceso de submuestreo inverso.
La figura 20 es un diagrama que muestra un proceso que emplea una pluralidad de memorias intermedias.
La figura 21 es un diagrama de bloques que muestra un aparato de generación de imágenes según la técnica anterior.
Descripción detallada de las realizaciones preferidas
Realización 1
Un aparato de generación de imágenes según una primera realización de la presente invención, está adaptado para dividir datos de polígonos en tres porciones de datos, y para realizar el tratamiento de los respectivos datos independiente y simultáneamente al tratamiento de los otros datos. El aparato está adaptado para realizar el proceso de submuestreo inverso sólo cuando el polígono es opaco. A continuación en el presente documento, se hará una descripción de la construcción y el funcionamiento del aparato de generación de imágenes de la primera realización.
La figura 1 muestra la estructura completa del aparato de generación de imágenes de la primera realización. Fijándonos ahora en la figura 1, el aparato de generación de imágenes comprende un medio 101 de división de datos de forma, memorias 102a-102c intermedias de datos de forma, unidades 103a-103c de generación de imágenes, circuitos 104a-104c de composición de profundidad, un circuito 105 de cálculo de proporciones de mezclado, un circuito 106 de mezclado de píxeles, una pantalla 107 de presentación de imágenes y un generador 108 de señales síncronas, y trata un objeto a presentar como un polígono y emplea datos de forma descritos como coordenadas tridimensionales, tal como en el caso del aparato de generación de imágenes de la técnica anterior.
El papel del medio 101 de división de datos de forma es dividir datos de cada uno de los polígonos como datos de forma en tres porciones de datos para generar tres porciones de datos de forma parciales, y dar salida a estos datos a las memorias 102a, 102b y 102c de datos de forma, respectivamente, para almacenarse en ellos.
El papel de cada una de las unidades 103a, 103b y 103c es leer los datos de polígono incluidos en cada uno de los datos de forma parciales almacenados en cada una de las memorias 102a, 102b y 102c intermedias de datos de forma a partir de éstas, y procesar los datos para hallar un valor Z y un valor (R, G, B) de píxel, píxel a píxel, y encontrar un ``grado de contribución'' que indique una razón de cada polígono al píxel correspondiente. En esta primera realización, este grado de contribución se emplea en el proceso de submuestreo inverso para un polígono opaco y se emplea como grado de transparencia en el proceso de translucidez para otro polígono. El tratamiento realizado por las unidades 103a, 103b y 103c de generación de imágenes se realiza, respectivamente, independientemente del resto del tratamiento.
Cada una de las unidades 103a, 103b y 103c de generación de imágenes comprende una memoria intermedia Z, una memoria intermedia de trama, y una memoria intermedia para retener grados de contribución (a la que se hará referencia en adelante en el presente documento como memoria intermedia de grados de contribución). Estas memorias intermedias pueden almacenar 4 valores Z, 4 valores (R, G, B) de píxel y 4 grados de contribución por píxel, respectivamente. En las memorias intermedias respectivas se almacenan 4 valores Z, 4 valores (R, G, B) de píxel y 4 grados de contribución de 4 polígonos en orden ascendente de sus valores de profundidad.
Los circuitos 104a, 104b y 104c de composición de profundidad están conectados linealmente. En estos circuitos 104a-104c, se realiza la comparación entre un valor Z, introducido en un circuito de composición de profundidad desde un circuito de composición de profundidad en una etapa previa al mismo (en el orden de 104a, 104b y 104c), y un valor Z introducido en el circuito desde la unidad de generación de imágenes correspondiente conectada al mismo, y de acuerdo con el resultado de la comparación, se selecciona y da salida al valor Z, al valor (R, G, B) de píxel y al grado de contribución. En cada puerto de entrada se introducen por píxel 4 conjuntos de valores Z, valores de píxel y grados de contribución y, por tanto, se introducen en total 8 conjuntos de valores, de entre los que seleccionan 4 conjuntos con valores de profundidad más pequeños. Debería tenerse presente que los valores Z, los valores de píxel y los grados de contribución a los que se da salida desde la unidad 103a de generación de imágenes, se introducen en el circuito 104a de composición de profundidad en una primera etapa, y se les da salida directamente hacia el circuito 104b en una segunda etapa posterior a la misma. En esta primera realización, estos circuitos 104a-104c de composición de profundidad implantan los medios de composición de profundidad.
El circuito 105 de cálculo de proporciones de mezclado está conectado al circuito 104c de composición de profundidad en la última etapa, para calcular las proporciones de mezclado de 4 conjuntos de valores (R, G, B) de píxel a partir de los grados de contribución y los valores Z, y para dar salida a las proporciones calculadas hacia el circuito 106 de mezclado de píxeles. En esta primera realización, la proporción de mezclado se utiliza en el proceso de submuestreo inverso para un polígono opaco, y se utiliza en el proceso de translucidez para otro polígono. El circuito 106 de mezclado de píxeles está conectado al circuito 104c de composición de profundidad y al circuito 105 de cálculo de proporciones de mezclado para mezclar los valores (R, G, B) de píxel del circuito 104c de acuerdo con las proporciones de mezclado del circuito 105 de cálculo, con el fin de obtener valores (R, G, B) de píxel de los píxeles a presentar. La pantalla 107 de presentación de imágenes está adaptada para presentar una imagen generada mediante el uso de los valores de píxel obtenidos por el circuito 106 de mezclado de píxeles. Se supone que la imagen es de (1024 x 512) píxeles. En esta primera realización, el circuito 105 de cálculo proporciones de mezclado y el circuito 106 de mezclado de píxeles implantan los medios de composición de imágenes.
El papel de un generador 8 de señales síncronas es generar una señal síncrona en sincronía con una señal síncrona introducida desde el exterior, o con una sincronización, cuando la señal síncrona no se introduce desde el exterior. La señal síncrona atraviesa los circuitos 104a, 104b y 104c de composición de profundidad, en este orden. En los circuitos 104a, 104b y 104c, el tratamiento se realiza de acuerdo con la señal síncrona para aplicar el proceso de composición de profundidad al mismo píxel en la imagen de presentación.
Tal como se mencionará más tarde, cada circuito de composición de profundidad está adaptado para generar una señal de control de sincronización según la señal síncrona, dándose salida a la señal de control de sincronización hacia la correspondiente unidad de generación de imágenes, y para usarse en ella.
Las figuras 2 a 13 son diagramas donde cada una muestra una estructura interna de cada unidad del aparato de generación de imágenes de la primera realización o el funcionamiento de las mismas. A continuación, en el presente documento se hará una descripción de la operación de generación de imágenes realizada por el aparato de generación de imágenes de la primera realización, con referencia a la figura 1 y por medio de las figuras 2 a 13.
Cuando se introducen los datos de forma en el aparato de generación de imágenes, los datos de forma son divididos en datos de forma parciales (al menos datos de un polígono) por el medio 101 de división de datos de forma, que se introducen en las memorias 102, 102b y 102c intermedias de datos de forma, y se almacenan en ellas, respectivamente. Los datos de polígonos son leídos de las correspondientes memorias 102a-102c por las unidades 103a, 103b y 103c de generación de imágenes, respectivamente.
La figura 2 es un diagrama que muestra una estructura interna de la unidad 103a de generación de imágenes. En esta primera realización, las unidades 103a-103c de generación de imágenes tienen la misma estructura interna. Fijándonos en la figura 2, la unidad 103a (103b ó 103c) de generación de imágenes comprende una unidad 1031 de transformación geométrica, un circuito 1032 de generación de píxeles, un circuito 1033 de identificación de polígonos, un circuito 1034 de cálculo de datos de imagen, un circuito 1035 de control de memorias intermedias Z, un circuito 1036 de control de doble memoria intermedia, primer y segundo grupos 1037a y 1037b de memorias intermedias (memorias intermedias Z, memorias intermedias de trama, memoria intermedia de grado de contribución) y un circuito 1038 de generación de direcciones de trama.
La unidad 1031 de transformación geométrica somete a un sistema de coordenadas de datos de polígono, leídos de la memoria intermedia de datos de forma, a un proceso de transformación geométrica. De este modo, los datos de polígono se convierten en un sistema de coordenadas de pantalla, como un sistema de coordenadas en una imagen a la que dar salida. El circuito 1032 de generación de píxeles divide los datos de polígono convertidos en unidades de subpíxel, extrae subpíxeles en el polígono y genera un valor de píxel y un valor Z para cada subpíxel. El circuito 1033 de identificación de polígonos identifica cada polígono al decidir si el polígono es opaco o translúcido, de acuerdo con la salida del circuito 1032 de generación de píxeles. El circuito 1034 de cálculo de datos de imagen calcula un grado de contribución para cada píxel según un patrón de subpíxeles.
El circuito 1035 de control de memorias intermedias Z lee un valor Z del valor (X, Y) de coordenadas de pantalla de entrada de la memoria intermedia Z. El circuito 1036 de control de doble memoria intermedia realiza el control, de modo que uno de entre el primer y segundo grupos 1037a y 1037b de memorias intermedias está controlado por el circuito 1035 de control de memorias intermedias Z y el otro está controlado por el circuito 1038 de generación de direcciones de trama.
Tal como se muestra en la figura 2, cada uno del primer y segundo grupos 1037a y 1037b de memorias intermedias comprende una memoria intermedia Z, una memoria intermedia de trama y una memoria intermedia de grado de contribución, y se graban/leen a/desde las respectivas memorias intermedias en paralelo. Cada memoria intermedia tiene cuatro veces una capacidad de píxeles de presentación, de modo que puede almacenar 4 conjuntos de valores para cada píxel. Por tanto, en cada grupo, la memoria intermedia Z tiene 6 Mbytes (24 bits x 1024 píxeles x 512 píxeles x 4). Asimismo, la memoria intermedia de trama tiene una capacidad de 6 Mbytes. La memoria intermedia de grado de contribución tiene una capacidad de 2 Mbytes. La memoria intermedia tiene su espacio de dirección de 2M palabras y, por tanto, una dirección es 21 bits. De los 21 bits, los 10 bits superiores (bit 20 - bit 12) son coordenadas Y, del bit 11 al bit 2 son coordenadas X y los 2 bits menos importantes (bit 1 y bit 0) son índices para almacenar 4 conjuntos de valores.
El circuito 1038 de generación de direcciones de trama genera en serie las direcciones de la memoria intermedia Z, la memoria intermedia de trama y la memoria intermedia de grado de contribución. La señal síncrona a la que se ha dado salida desde el generador 108 de señales síncronas de la figura 1, se introduce en el circuito 104a (104b, 104c) de composición de profundidad, en el que la señal de control de sincronización se genera de acuerdo a la señal síncrona. La señal de control de sincronización se introduce en la unidad 103a (103b, 103c) de generación de imágenes y, a continuación, se introduce en el circuito 1038 de generación de direcciones de trama en ella, donde se genera en sincronía la dirección con esta señal de control de sincronización.
En esta primera realización, el circuito 1033 de identificación de polígonos implanta los medios de identificación de polígonos, y el circuito 1034 de cálculo de datos de imagen implanta los medios de cálculo de datos de imagen.
Con referencia a la figura 2, se hará una descripción de la unidad 103a (103b, 103c) de generación de imágenes.
Los datos de polígono leídos de la memoria 102a de datos de forma de la figura 1 son convertidos en el sistema de coordenadas de la pantalla, como el sistema de coordenadas en la imagen producida por unidad 1031 de transformación geométrica en la unidad 103a de generación de imágenes, y se les da salida al circuito 1032 de generación de píxeles.
El circuito 1032 de generación de píxeles divide el polígono en unidades de subpíxel y extrae los subpíxeles en el polígono. La figura 3 es una vista conceptual para explicar este proceso. Representado por ``píxel'', en la parte superior izquierda de la misma, hay un píxel de presentación. La figura 3 muestra una región de (7 x 5) píxeles. Un cuadrado más pequeño corresponde a un subpíxel. En el ejemplo mostrado, un píxel está divido en 16 píxeles (4 x 4) píxeles. El polígono es un triángulo representado por líneas en negrita. Los subpíxeles en el polígono vienen representados por líneas oblicuas. Por tanto, el circuito 1032 de generación de píxeles divide un píxel en subpíxeles y extrae subpíxeles en el polígono. Los valores Z y los valores (R, G, B) de píxel se encuentran para todos los subpíxeles representados por líneas oblicuas. El valor Z es de 24 bits, y el valor R, el valor G y el valor B son de 8 bits.
En la memoria intermedia de datos de forma de la figura 1, se preestablece un ``grado de transparencia'' que indica la transparencia del polígono. El grado de transparencia es de 8 bits, e indica ``opaco'' cuando el valor es 255 (sistema decimal) e indica ``transparente'' cuando el valor es 0. Los valores intermedios indican ``translúcido'' de acuerdo con sus valores. Por tanto, se supone que un polígono cuyo grado de transparencia es 0 no está presente.
El circuito 1032 de generación de píxeles produce el valor Z, el valor (R, G, B) y el grado de transparencia para el circuito 1033 de identificación de polígonos, que decide si el polígono es opaco o translúcido dependiendo de si el valor es 255 o no, respectivamente. El circuito 1033 de identificación de polígonos produce un resultado de identificación, que indica ``opaco'' o ``transparente'', para el circuito 1034 de cálculo de datos de imagen.
El circuito 1034 de cálculo de datos de imagen calcula un grado de contribución de cada píxel de un patrón de los subpíxeles correspondientes del polígono. La figura 4 muestra este tratamiento. Representado por ``píxel'' en la parte superior izquierda de la misma hay un píxel de presentación. Un píxel de presentación está dividido en 16 subpíxeles, y el circuito 1032 de generación de píxeles decide si los respectivos subpíxeles están o no en el polígono. Por otra parte, el circuito 1034 de cálculo de datos de imagen trata parte de los subpíxeles. Este proceso, realizado por el circuito 1034 de cálculo de datos de imagen, varía en función de los resultados de identificación ``opaco'' y ``translúcido'' obtenidos por los medios 1033 de identificación de polígonos. Para ser más específicos, en esta primera realización se realiza el proceso de submuestreo inverso cuando el polígono es ``opaco''.
Cuando el resultado de la identificación indica ``opaco'', el circuito 1034 de cálculo de datos de imagen muestrea 4 subpíxeles de los 16 subpíxeles que corresponden a un píxel de presentación y calcula un grado de contribución de los mismos. En la figura 4, \varocircle y \medcirc indican posiciones de subpíxeles a muestrear en un polígono opaco.
El circuito 1034 de cálculo de datos de imagen calcula un valor de 4 bits (``1'' ó ``0'') de respectivos subpíxeles. El ``1'' indica que un subpíxel está en el polígono y ``0'' indica que no está en el polígono. En base a esto, el circuito 1034 encuentra un grado de contribución con referencia a una tabla de consulta. Las figuras 5(a) y 5(b) son diagramas que muestran una tabla de consulta para ser usada por el circuito 1034 de cálculo de datos de imagen. Tal como se muestra en la figura 5(a), el número de bits ``1'' en notación binaria es ``0'', ``1'', ``2'', ``3'' ó ``4'', el grado de contribución correspondiente es ``0'', ``64'', ``128'', ``192'' ó ``255'', respectivamente.
Cuando el grado de contribución no es ``0'', el valor (X, Y) de coordenadas de pantalla y el grado de contribución del píxel son producidos para el circuito 1035 de control de memorias intermedias Z (figura 2). El circuito 1034 de cálculo de datos de imagen también produce el valor Z y el valor (R, G, B) de píxel para el circuito 1035 de control de memorias intermedias Z. Puesto que estos valores varían subpíxel a subpíxel, el circuito 1034 de cálculo de datos de imagen selecciona uno de los 4 subpíxeles mediante el empleo de un selector. Esta selección se realiza con referencia a la tabla de consulta mostrada en la figura 5(b). En esta tabla, un valor que indica un subpíxel a seleccionarse es un valor que indica una posición de bit de un bit ``1'' en notación binaria. Cuando una pluralidad de bits es ``1'', indica una posición más cercana a un centro. La selección de una posición más próxima al centro significa que hay una probabilidad alta de que se seleccione un subpíxel que representa al píxel correspondiente.
Este tratamiento es para el caso cuando el resultado de la identificación producido desde el circuito 1033 de identificación de polígonos indica ``opaco''. Por otra parte, cuando el resultado indica ``translúcido'', sólo se muestrean subpíxeles en posiciones \varocircle. Cuando un subpíxel en la posición \medcirc no está en el polígono, e incluso si los otros subpíxeles están en el polígono, se abandona el valor Z de entrada y el valor de píxel. Cuando el subpíxel en la posición \medcirc está en el polígono, el valor (X, Y) de coordenadas de pantalla del píxel correspondiente, el valor Z, el valor (R, G, B) de píxel y el grado de contribución del subpíxel en posición \medcirc se producen para el circuito 35 de control de memorias intermedias Z. Para el polígono translúcido, el grado de transparencia se emplea como grado de contribución.
Las posiciones de los subpíxeles a muestrear no se limitan a aquéllas en la figura 4, y pueden obtenerse los mismos resultados empleando posiciones diferentes. Preferiblemente, para obtener los resultados apropiados, el muestreo se realiza de tal manera que los subpíxeles no se muestrean en una columna, ni en una fila, ni en una dirección oblicua.
Fijándonos otra vez en la figura 2, el circuito 1035 de control de memorias intermedias Z lee el valor Z del valor (X, Y) de coordenadas de pantalla de entrada. Una dirección leída de la memoria intermedia Z es de 21 bits, y la coordenada Y corresponde a los bits 20-12 y la coordenada X corresponde a los bits 11-2. Los 2 bits menos significativos son índices para distinguir 4 conjuntos de valores por píxel, y varían de 0 a 3 para la lectura de 4 conjuntos de valores Z. Se realiza la comparación entre estos valores Z y se selecciona el mayor valor Z. El valor Z seleccionado se compara con el valor Z introducido desde el circuito 1034 de cálculo de datos de imagen. Cuando el valor Z del polígono es mayor que o igual al valor Z seleccionado, no se realizará el siguiente tratamiento, y se abandonarán el valor Z, el valor (R, G, B) y el grado de contribución que se han introducido.
Por otro lado, cuando el valor Z del polígono es menor que el valor Z seleccionado, el valor Z del polígono se graba en la dirección en la que el valor Z más grande está almacenado. Simultáneamente, el valor (R, G, B) de píxel y el grado de contribución del polígono se graban, respectivamente, en las direcciones correspondientes en la memoria intermedia de trama y en la memoria intermedia de grado de contribución.
La figura 6 muestra una estructura de circuito del circuito 1035 de control de memorias intermedias Z. Tal como se muestra en la figura 6, el valor Z, el valor (R, G, B) de píxel y el grado de contribución (en total, 56 bits) se introducen en el circuito 1035 de control de memorias intermedias Z desde el circuito 1034 de cálculo de datos de imagen, y se introducen secuencialmente 4 valores Z (24 bits) al mismo a través del circuito 1036 de control de doble memoria intermedia. El contenido de un registrador 690 de valores Z se borra en el instante cuando se introduce el primer valor Z y, a partir de este momento, un valor cargado se almacena en él hasta que se le borra a su debido tiempo, bajo el control del circuito 691 de control de sincronización.
El valor Z de la memoria intermedia Z (en adelante, en el presente documento, denominado valor Z de la memoria intermedia) se introduce en un primer circuito 692 de comparación. El valor almacenado en el registrador 690 de valores Z (valor Z del registrador) también se introduce en el primer circuito 692 de comparación. El primer circuito 692 de comparación compara el valor Z de la memoria intermedia con el valor Z del registrador. Cuando el valor Z de memoria intermedia es mayor que el valor Z del registrador, el valor Z de la memoria intermedia se almacena en el registrador 690 de valores Z desde el primer circuito 692 de comparación, y el valor cargado se mantiene dentro de aquél como el valor Z del registrador.
Cuando se han introducido 4 valores Z desde la memoria intermedia Z, y se ha realizado el tratamiento anterior, el valor Z más grande de los 4 valores Z permanece en el registrador 690 de valores Z como valor Z del registrador, que se supone es el valor Z superior del registrador. Desde el registrador de valores Z, se da salida al valor Z superior del registrador hacia un segundo circuito 693 de comparación. El valor Z (en adelante, en el presente documento, denominado valor Z de cálculo) del circuito 1034 de cálculo de datos de imagen, se introduce en el segundo circuito 693 de comparación, donde se realiza la comparación entre el valor Z de cálculo y el valor Z superior, y se da salida al resultado de la comparación hacia un circuito 694 de generación de direcciones de escritura. El circuito 694 de generación de direcciones de escritura genera una dirección de escritura cuando el resultado de la comparación, introducido desde el segundo circuito 693 de comparación, indica que el valor Z de cálculo es más pequeño.
El resultado de la comparación del primer circuito 692 de comparación también se introduce en el circuito 694 de generación de direcciones de escritura, que genera una dirección de escritura a la vez que controla los 2 bits menos significativos según el resultado de la comparación del circuito 692 de comparación.
Después del tratamiento anterior, en el circuito 1035 de control de memorias intermedias Z de la figura 6, se da salida a la dirección de escritura hacia el circuito 1036 de control de doble memoria intermedia. Al valor Z, el valor (R, G, B) de píxel y el grado de contribución, introducidos en el circuito 1035 de control de memorias intermedias Z, se les da salida hacia el circuito 1036 de control de doble memoria intermedia como datos de escritura. El circuito 1036 de control de doble memoria intermedia controla la grabación en cada memoria intermedia, de modo que los datos de escritura de entrada se escriben en la dirección de escritura de entrada, con lo que se sobrescribe el contenido de cada memoria intermedia cuando el valor Z del polígono es más pequeño.
El circuito 1038 de generación de direcciones de trama genera secuencialmente direcciones de la memoria intermedia Z, de la memoria intermedia de trama y de la memoria intermedia de grado de contribución, en sincronía con la señal de control de sincronización (véase la figura 1) introducida al mismo por medio del circuito 104a de composición de profundidad desde el generador 108 de señales síncronas. La figura 7 muestra una estructura del circuito 1038 de generación de direcciones de trama que ejecuta el proceso de generación de direcciones. El circuito 1038 de generación de direcciones de trama comprende un primer contador 10381 y un segundo contador 10382. El primer contador 10381 cuenta los bits 11-0 de una dirección, cuyo contenido es borrado por una señal horizontal de sincronización, y genera una dirección mediante el empleo de un contador que siempre se cuenta progresivamente. La frecuencia a la que se cuentan progresivamente los bits 11-0 es cuatro veces tan larga como un recíproco (periodo puntual de reloj) del tiempo de presentación de un píxel. Por tanto, el primer contador 1038 se cuenta progresivamente 4 veces durante el tiempo de presentación de un píxel.
El segundo contador 10382 cuenta los bits 19-12 de una dirección, cuyo contenido es borrado por una señal vertical de sincronización, y genera una dirección mediante el uso de un contador que es contado progresivamente por la señal horizontal de sincronización. El conteo así realizado por el primer y segundo contadores da como resultado un acceso secuencial a 4 cuatro conjuntos de valores del píxel objetivo, en sincronización con la señal de sincronización. A los 4 conjuntos de valores de un píxel se les da salida secuencialmente desde la memoria intermedia Z, la memoria intermedia de trama y la memoria intermedia de grado de contribución.
El circuito 1036 de control de doble memoria intermedia realiza el control de manera que uno de entre el primer y segundo grupos 1037a y 1037b de memorias intermedias está controlado por el circuito 1035 de control de memorias intermedias Z y el otro está controlado por circuito 1038 de generación de direcciones de trama. Esto cambia con cada nueva señal vertical de sincronización. Es decir, la conmutación entre estas dos memorias intermedias se realiza trama a trama.
Volviendo otra vez a la figura 1, se volverá a dar una descripción del funcionamiento de un aparato de generación de imágenes. Las unidades 103a, 103b y 103c de generación de imágenes conectadas, respectivamente, a los circuitos 104a, 104b y 104c de composición de profundidad, generan por tanto los valores Z, los valores (R, G, B) de píxel y los grados de contribución y les dan salida hacia los correspondientes circuitos 103a, 103b y 103c de composición de profundidad.
Los circuitos de composición de profundidad respectivos están conectados como se ha mencionado anteriormente. Los 4 conjuntos de valores a transferir entre los circuitos se reordenan en orden ascendente de valores Z. Aquí se supone que los 4 conjuntos de valores reordenados de esta forma se llaman ``nivel 0'', ``nivel 1'', ``nivel 2'' y ``nivel 3'', respectivamente. A continuación en el presente documento, se hará una descripción de las estructuras y funcionamiento detallados de los circuitos 104a, 104b y 104c de composición de profundidad.
Fijándonos ahora en la figura 8, se muestra el circuito 104b de composición de profundidad. El circuito 104b comprende un circuito 1041 de clasificación por Z, un circuito 1042 de comparación de valores Z y un circuito 1043 de control de sincronización.
Los valores Z, los valores (R, G, B) de píxel y los grados de contribución se introducen desde la unidad 103b de generación de imágenes en el circuito 1041 de clasificación por Z, en el circuito 104b de composición de profundidad. El circuito 1041 de clasificación por Z clasifica (reordena) los 4 conjuntos de valores Z, valores de píxel y grados de contribución en orden ascendente de valores Z, y produce un valor de acuerdo con una señal de control de nivel generada por el circuito 1042 de comparación de valores Z. Por ejemplo, cuando se introduce ``0'' como señal de control de nivel, se da salida a los valores del conjunto con los valores Z más pequeños, independientemente del orden en que se han introducido los 4 conjuntos de valores.
El circuito 1042 de comparación de valores Z realiza la comparación entre los 4 valores Z, introducidos desde el circuito 104a de composición de profundidad, y los 4 valores Z en el circuito 1041 de clasificación por Z con el fin de seleccionar 4 conjuntos que tengan los valores Z más pequeños, y da salida a los 4 conjuntos seleccionados hacia el circuito 104c de composición de profundidad. Esta selección se lleva a cabo al dar salida a la señal de control de nivel hacia el circuito 1041 de clasificación por Z y obtener los correspondientes conjuntos de valores.
El circuito 1043 de control de sincronización genera una señal de control de sincronización con la señal síncrona (véase la figura 1), introducida desde el generador 108 de señales síncronas, y da salida a la señal de control hacia el circuito 1041 de clasificación por Z y el circuito 1042 de comparación de valores Z. El circuito 1043 de control de sincronización también da salida a la señal de control de sincronización hacia la unidad 103b de generación de imágenes (véanse las figuras 1 y 8).
La figura 9 muestra una estructura interna del circuito 1041 de clasificación por Z del que está dotado el circuito 104b de composición de profundidad. Fijándonos en la figura 9, el circuito 1041 de clasificación por Z comprende un primer registrador 10411 de valores Z, un segundo registrador 10412 de valores Z, un tercer registrador 10413 de valores Z, un primer circuito 10414 de comparación, un segundo circuito 10415 de comparación, un tercer circuito 10416 de comparación, un circuito 10417 de generación de direcciones y una memoria 10418 de 2 puertos.
Cada uno del primer a tercer registradores 10411-10413 de valores Z almacena un valor Z de entrada. Cada uno del primer al tercer circuitos 10414-10416 de comparación compara el valor Z almacenado en el correspondiente registrador de valores Z al valor Z introducido en él desde la unidad 103b de generación de imágenes. El circuito 10417 de generación de direcciones genera una dirección de lectura y una dirección de escritura de la memoria 10418 de 2 puertos, según los resultados de las comparaciones del primer a tercer circuito 10414-10416 de comparación.
El valor Z, el valor de píxel y el grado de contribución se introducen en el circuito 1041 de clasificación por Z así estructurado, y estos valores se almacenan en la memoria 10418 de (56 bits x 8 palabras). Llegados a este instante, la dirección de escritura introducida desde el circuito 10417 de generación de direcciones se incrementa en una unidad, y los 4 conjuntos de valores de un píxel se almacenan en direcciones respectivas en el orden en el que se introduce.
El valor Z de entrada también se almacena en el registrador 10411 de valores Z en el circuito 1041 de clasificación por Z. El primer al tercer registrador 10411, 10412 y 10413 de valores Z constituyen un registrador de desplazamiento. Cada vez que se introduce el valor Z, esto es, en cada ciclo, el valor almacenado se desplaza desde el primer al segundo registrador, y desde el segundo al tercer registrador.
El valor Z almacenado en el primer registrador 10411 (primer valor Z) se introduce en el primer circuito 10414 de comparación. El primer circuito 10414 de comparación recibe el valor Z introducido en el ciclo correspondiente como una entrada, y compara este valor Z al primer valor Z. El primer circuito 10414 de comparación almacena un resultado de comparación y da salida, como una señal CP1, al resultado de comparación del ciclo correspondiente, un resultado de comparación de un ciclo anterior de un ciclo, y un resultado de comparación de un ciclo anterior de dos ciclos, hacia circuito 10417 de generación de direcciones.
El segundo circuito 10415 de comparación da salida, como una señal CP2, a un resultado de la comparación entre el valor Z de entrada del ciclo correspondiente y un valor (segundo valor Z almacenado) almacenado en el segundo registrador 10412 de valores Z, y al resultado de comparación del ciclo anterior de un ciclo previo hacia el circuito 10417 de generación de direcciones. El tercer circuito 10416 de comparación da salida, como una señal CP3, a un resultado de la comparación entre el valor Z de entrada del ciclo correspondiente y el valor almacenado en el tercer registrador 10413 de valores Z, hacia el circuito 10417 de generación de direcciones.
Cuando se han introducido los 4 conjuntos de valores en el circuito 10417 de generación de direcciones, este ordena estos valores en orden ascendente de los valores Z de acuerdo con las señales CP1-CP3 producidas por el primer al tercer circuito de comparación, respectivamente. El circuito 10417 de generación de direcciones recibe la señal de control de nivel desde el circuito 1042 de comparación de valores Z (figura 8) como una entrada, y genera una dirección de lectura según la señal de control de nivel. La memoria 10418 de 2 puertos está organizada por 8 palabras. 4 palabras se introducen primero en la memoria 10418, y otras 4 palabras para un píxel posterior se introducen en ella mientras ordena las primeras 4 palabras según el orden de los niveles de los valores Z. Es decir, la memoria 10418 de 2 puertos es una memoria de doble memoria intermedia.
Como resultado, los valores Z, los valores (R, G, B) de píxel y los grados de contribución, a los que se ha dado salida desde el circuito 1041 de clasificación por Z hacia el circuito 1042 de comparación de valores Z tienen niveles de acuerdo con las señales de control de nivel a las que se ha dado salida desde el circuito 1042 de comparación de valores Z.
La figura 10 muestra una estructura interna del circuito 1042 de comparación de valores Z. Fijándonos en la figura 10, el circuito 1042 de comparación de valores Z comprende una memoria 10421 FIFO (First In First Out), un circuito 10422 de control, un comparador 10423 y un selector 10424.
La memoria 10421 FIFO almacena los valores Z, los valores de píxel y los grados de contribución introducidos desde el circuito 104a de composición de profundidad, tal como se muestra en la figura 8. La memoria 10421 FIFO es capaz de leer datos en el orden en el que se han grabado en ella (los datos se tratan en base al primero que entra, el primero que sale). Un puerto de escritura de la memoria 10421 está conectado al circuito 104a de composición de profundidad y un puerto de lectura de aquella está conectado al comparador 10423 y al selector 10424. La memoria 10421 FIFO tiene una capacidad (longitud de 2 palabras) para almacenar 2 conjuntos de valores Z, valores de píxel y grados de contribución.
El circuito 10422 de control genera la señal de control de nivel según la señal síncrona de entrada y controla todo el circuito 1042 de comparación de valores Z. El comparador 10423 compara el valor Z almacenado en la memoria 10421 FIFO con el valor introducido desde el circuito 1041 de clasificación por Z. El selector 10424 selecciona uno de estos dos valores bajo el control del circuito 10422 de control.
El circuito 104a de composición de profundidad produce valores Z, valores de píxel y grados de contribución de niveles ``0'', ``1'', ``2'' y ``3'' en los ciclos correspondientes, respectivamente. El circuito 10422 de control produce una señal según la cual la memoria 10421 FIFO se reposiciona antes de que estos valores del nivel ``0'' se introduzcan en ella y, por tanto, la memoria 10421 FIFO se reposiciona. En un ciclo, los valores del nivel ``0'' se introducen y escriben en la memoria 10421 FIFO y, en un ciclo posterior, se les da salida de la misma.
La memoria 10421 FIFO da salida al valor Z hacia el comparador 10423 (entrada B del comparador). El circuito 1041 de clasificación por Z también da salida al valor Z hacia el comparador 10423 (entrada A del comparador). El comparador 10423 realiza la comparación entre el valor Z (A) y el valor Z (B), y da salida al resultado de la comparación hacia el circuito 10422 de control.
El circuito 10422 de control genera una señal para controlar la selección del selector 10424 (señal de control de selección) según el resultado de la comparación del comparador 10423, y da salida a la señal de control de selección hacia el selector 10424. La señal de control de selección indica que la salida del circuito de clasificación por Z debería seleccionarse cuando el resultado de la comparación introducido en el circuito 10422 de control sea ``A \leq B'', e indica que la salida de la memoria 10421 FIFO debería seleccionarse cuando el resultado sea ``A > B''.
La señal de control de nivel generada por el circuito 10422 de control se cuenta progresivamente en un ciclo posterior, cuando el resultado de la comparación es ``A \leq B''.
El circuito 10422 de control da salida a una señal de control de lectura hacia la memoria 10421 FIFO. La señal es ``1'', en el ciclo correspondiente, cuando el resultado de la comparación es ``A > B''. A continuación, se lee un valor posterior de la memoria 10421 FIFO en un ciclo posterior. Cuando hay una entrada desde el circuito 104a de composición de profundidad, una señal de control de escritura a la memoria 10421 FIFO es ``1'' en el ciclo correspondiente, y se escriben datos en ella. No se escriben datos en la memoria 10421 FIFO si hay 3 o más datos en ella que no se hayan leído de ella. Esto es así porque la memoria 10421 FIFO tiene una capacidad para 2 conjuntos de datos. Debería tenerse presente que no es necesario almacenar 3 conjuntos de datos o más en la memoria 10421 FIFO puesto que se han ordenado en orden ascendente de valores Z los datos de 4 niveles introducidos desde el circuito 104a de composición de profundidad. Cuando se han almacenado 2 conjuntos en la memoria 10421, se decide que el tercer conjunto de datos no es necesario, independientemente de los valores. En este caso, por tanto, no es necesario realizar la operación de escritura.
Las figuras 11(a) y 11(b) muestran ejemplos del funcionamiento del circuito 1042 de comparación de valores Z. En estas figuras, los resultados de comparación del comparador 10423 son diferentes.
El selector 10424 de la figura 10, produce los valores Z, los valores de píxel y los grados de contribución, que se convierten en la salida del circuito 1042 de comparación de valores Z de la figura 8, y se convierten en la salida del circuito 104b de composición de profundidad de la figura 1, a los que se da salida hacia el circuito 104c de composición de profundidad.
La estructura interna y el funcionamiento del circuito 104b de composición de profundidad son tal como se han descrito anteriormente. Por otra parte, el circuito 104a de composición de profundidad está conectado a la unidad 103a de generación de imágenes, y no hay presencia de un circuito en una etapa anterior a éste. Por esta razón, el valor Z más grande que puede representarse, se introduce en un puerto de entrada del circuito 104a de la etapa anterior. El circuito 104a de composición de profundidad está conectado al circuito 104b de composición de profundidad en su etapa posterior. El circuito 104c de composición de profundidad está conectado a la unidad 103c de generación de imágenes y al circuito 104b de composición de profundidad. El circuito 104c está conectado al circuito 105 de cálculo de proporciones de mezclado y al circuito 106 de mezclado de píxeles en una etapa posterior del mismo. Las estructuras internas y el funcionamiento de los circuitos 104a y 104c de composición de profundidad son idénticos al del circuito 104b de composición de profundidad de la figura 8, excepto en la relación de las conexiones.
Volviendo otra vez a la figura 1, se continuará con la descripción del funcionamiento del aparato de generación de imágenes. El circuito 104c de composición de profundidad da salida a los valores Z y los grados de contribución seleccionados hacia el circuito 105 de cálculo de proporciones de mezclado. A los valores (R, G, B) de píxel seleccionados se les da salida hacia el circuito 106 de mezclado de píxeles. A la señal síncrona que atraviesa los circuitos 104a-104c de composición de profundidad se le da salida hacia el circuito 105 de cálculo de proporciones de mezclado y el circuito 106 de mezclado de píxeles.
El circuito 105 de cálculo de proporciones de mezclado calcula las proporciones de mezclado de 4 conjuntos de valores (R, G, B) de píxel y da salida a las proporciones hacia el circuito 106 de mezclado de píxeles. A continuación, en el presente documento, se hará una descripción de una estructura y funcionamiento detallados del circuito 105 de cálculo de proporciones de mezclado.
La figura 12 muestra una estructura interna del circuito 105 de cálculo de proporciones de mezclado. El circuito 105 de cálculo de proporciones de mezclado comprende un sumador 1051, un registrador 1052 alfa, un inversor 1053, un selector 1054, una compuerta 1055 Y y un circuito 1056 de control.
El sumador 1051 realiza el proceso de adición para obtener un valor sumado de los grados de contribución de los niveles de entrada. El registrador 1052 alfa, el inversor 1053, el selector 1054 y la compuerta 1055 Y encuentran una proporción de mezclado al que dar salida hacia al circuito 106 de mezclado de píxeles, de acuerdo con el resultado obtenido por el sumador 1051. El circuito 1056 de control controla la totalidad del circuito 105 de cálculo de proporciones de mezclado.
Volviendo otra a vez a la figura 1, el circuito 104c de composición de profundidad produce los grados de contribución de los niveles ``0'', ``1'', ``2'' y ``3'' en los ciclos correspondientes, respectivamente. El circuito 1056 de control de la figura 12 genera y produce una señal según la que se reposiciona el registrador 1052 alfa antes de introducirse el grado de contribución del nivel ``0'' y, por tanto, se borra el valor almacenado en el registrador 1052 alfa. Cuando se han introducido los valores de niveles respectivamente, los valores en el registrador 1052 alfa son integrados por el sumador 1051, y el valor resultante se almacena temporalmente en el registrador 1052 alfa como un valor alfa.
El sumador 1051 da salida a un ``acarreo'' hacia el circuito 1056 de control cuando la suma de los grados de contribución es del 100% (255, 8 bits). El circuito 1056 de control controla el selector 1054 y la compuerta 1055 Y para que se de salida a los grados introducidos desde el circuito 104c de composición de profundidad hacia el circuito 106 de mezclado de píxeles como proporciones de mezclado hasta que el circuito 1056 detecte el acarreo del sumador 1051. El selector 1054 selecciona ``B'' controlado por el circuito 1056 de control. La señal a la que se da salida desde el circuito 1056 de control hacia la compuerta 1055 Y está compuesta por bits ``1''.
Cuando el circuito 1056 de control detecta el acarreo del sumador 1051, realiza el control para que se produzca el complemento a unos del valor alfa en el ciclo correspondiente. Bajo este control, el selector 1054 selecciona ``A'' y, por tanto, se selecciona un valor alfa invertido por el inversor 1053. Por tanto, se da salida al complemento a unos. La señal a la que se da salida desde el circuito 1056 de control hacia la compuerta 1055 Y está compuesta por bits ``1''. El circuito 1056 de control realiza el control para que siempre produzca ``0'' en un ciclo posterior al ciclo en el que se haya detectado el acarreo. Es decir, el circuito 1056 de control da salida a bits ``0'' hacia la compuerta 1055 Y.
A resultas del control anterior, cuando la suma de los grados de contribución sea el 100% (255, 8 bits), se materializa un circuito que ignora los grados de contribución de los niveles siguientes. Bajo el control, incluso si se introduce cualquier combinación de valores como grados de contribución, la suma de las proporciones de mezclado no excede el 100%. Un control de este tipo puede evitar que se desborden los valores (R, G, B) de píxel mezclados por el circuito 106 de mezclado de píxeles.
Volviendo de nuevo a la figura 1, el circuito 105 de cálculo de proporciones de mezclado da salida a la proporción de mezclado hacia el circuito 106 de mezclado de píxeles. El circuito 104c de composición de profundidad da salida a los valores de píxel hacia el circuito 106 de mezclado de píxeles. El circuito 106 de mezclado de píxeles mezcla los valores (R, G, B) de píxel introducidos de acuerdo con las proporciones de mezclado del circuito 105 de cálculo de proporciones de mezclado, con el fin de generar valores (R, G, B) de píxel a presentarse.
Se hará una descripción de una estructura y un funcionamiento detallados del circuito 106 de mezclado de píxeles. La figura 13 muestra una estructura interna del circuito 106 de mezclado de píxeles. El circuito 106 de mezclado de píxeles comprende primer a tercer multiplicadores 1061r, 1061g y 1061b, primer a tercer sumadores 1062r, 1062g y 1062b, primer a tercer registradores 1063r, 1063g y 1063b de integración, primer a tercer registradores 1064r, 1064g y 1064b de salida, y un circuito 1065 de control.
Los primer a tercer multiplicadores 1061r, 1061g y 1061b multiplican la proporción de mezclado por el valor (R, G, B) de entrada. Los primer a tercer sumadores 1062r, 1062g y 1062b integran los valores (R, G, B) de píxel de todos los niveles. El primer a tercer de registradores 1063r, 1063g y 1063b de integración almacenan los resultados de integración. El primer a tercer registradores 1064r, 1064g y 1064b de salida dan salida a los resultados almacenados en los registradores 1063r, 1063g y 1063b correspondientes, respectivamente. El circuito 1065 de control controla el circuito 106 de mezclado de píxeles.
El circuito 106 de mezclado de píxeles recibe los valores (R, G, B) de píxel de niveles ``0'', ``1'', ``2'' y ``3'' como entradas desde el circuito 104c de composición de profundidad en los ciclos correspondientes, respectivamente. El circuito 1065 de control de la figura 13 genera y produce una señal de control según la cual se reposicionan los primer a tercer registradores 1063r, 1063g y 1063b de integración y, por tanto, se borran los valores almacenados en los respectivos registradores. Cuando se introduce un valor de cada nivel, los valores almacenados en los primer a tercer registradores 1063r, 1063g y 1063b se añaden respectivamente al valor que resulta de multiplicar el valor (R, G, B) de píxel de entrada por la proporción de mezclado. Cuando se introduce el valor de píxel del nivel ``3'', y una vez finalizado el proceso, los valores que resultan de mezclar los valores (R, G, B) de píxel de todos los niveles de acuerdo con las proporciones de mezclado se almacenan en los registradores 1063r, 1063g y 1063b.
El circuito 1065 de control da salida a una señal de carga a los primer a tercer registradores 1064r, 1064g y 1064b de salida para que se actualicen los valores en ellos en un ciclo posterior al ciclo en el que se ha introducido el valor de píxel de nivel ``3''. Los valores (R, G, B) de píxel a los que se ha dado salida hacia la pantalla 107 de presentación de imágenes son valores de niveles respectivos que se han mezclado según las proporciones de mezclado. Los valores (R, G, B) de píxel, a los que se ha dado salida hacia la pantalla 107 de presentación de imágenes de la figura 1, se actualizan en el circuito 106 de mezclado de píxeles una vez en cuatro ciclos, lo que corresponde al tiempo de presentación durante el cual se presenta un píxel en la pantalla 107 de presentación de imágenes.
Así, según la primera realización, el aparato de generación de imágenes comprende el medio 101 de división de datos de forma, las memorias 102a-102c intermedias de datos de forma, las unidades 103a-103c de generación de imágenes, los circuitos 104a-104c de composición de profundidad, el circuito 105 de cálculo de proporciones de mezclado, el circuito 106 de mezclado de píxeles, la pantalla 107 de presentación de imágenes y el generador 108 de señales síncronas, en los que sólo se somete al polígono opaco al proceso de submuestreo inverso, no se somete al polígono translúcido al proceso de submuestreo inverso, el grado de contribución para el polígono translúcido se calcula a partir del grado de transparencia, y el grado de contribución para el polígono opaco se calcula a partir del área del polígono en el píxel. Por tanto, se realiza el proceso de submuestreo inverso y se representa el objeto translúcido a la vez que se suprime un aumento en una capacidad de la memoria intermedia.
Más específicamente, se hallan los valores Z, los valores (R, G, B) de píxel y los grados de contribución para todos los píxeles en todos los polígonos. Para el polígono translúcido, el grado de contribución se calcula a partir del grado de transparencia, mientras que para el polígono opaco se calcula el grado de contribución a partir del área del polígono en el píxel. De este modo, el grado de contribución para el polígono que tiene un grado de transparencia, se emplea para representar el objeto translúcido, y el grado de contribución para el polígono que no tiene grado de transparencia, se emplea en el proceso de submuestreo inverso. Por tanto, a diferencia de la técnica anterior, en la que un píxel se divide en 16 subpíxeles (16 memorias por píxel), puede reducirse la capacidad a 1/16 porque un píxel requiere una memoria para tratar el polígono que no tiene grado de transparencia. Adicionalmente, si al polígono translúcido no se le somete al proceso de submuestreo inverso, la luminancia no varía significativamente en una frontera del polígono translúcido. Por tanto, la innaturalidad mostrada en la figura 18(a) no se produce. Como resultado, puede realizarse el aparato de generación de imágenes que es capaz de realizar el proceso de submuestreo inverso y de representar el objeto translúcido a la vez que elimina un incremento en las capacidades de las memorias intermedias de trama y las memorias intermedias Z.
Además, el medio 101 de división de datos de forma divide los datos de forma, y las unidades 103a-103c de generación de imágenes y los circuitos 104a-104c de composición de profundidad, respectivamente, tratan los datos de forma divididos. Después, el circuito 105 de cálculo de proporciones de mezclado calcula la proporción de mezclado del valor (R, G, B) de píxel en cada memoria intermedia de trama a partir del grado de contribución, y el circuito 107 de mezclado de píxeles mezcla el valor (R, G, B) de píxel en cada memoria intermedia de trama para generar el valor (R, G, B) de píxel de la imagen a producirse. Por tanto, el tratamiento para hallar los valores Z, los valores (R, G, B) de píxel y los grados de contribución para todos los píxeles, se realiza en paralelo para cada polígono. Así, se proporcionan los circuitos de composición de profundidad para componer los valores de píxel y los grados de contribución de acuerdo con los valores Z, con lo que se componen los resultados que resultan del tratamiento simultáneo. A resultas de esto, se realiza un tratamiento eficiente y de alta velocidad.
Realización 2
Un aparato de generación de imágenes de una segunda realización, funciona tal como en el caso del aparato de generación de imágenes de la primera realización, y está adaptado para tratar una imagen entrelazada.
``Entrelazar'' consiste en dividir el tiempo (un tiempo de trama) en el que se exploran todos los píxeles de presentación en un campo par (primera mitad) y en un campo impar (segunda mitad). En el campo par se exploran 510 líneas de exploración en el orden de 0, 2, 4, ..., 2n (n: entero positivo) de las coordenadas Y de las coordenadas de pantalla, mientras que en el campo impar se exploran 511 líneas de exploración en el orden de 1, 3, 5, ..., 2n + 1 (n: entero positivo) de las coordenadas Y.
En el entrelazamiento, las líneas de exploración se exploran de arriba abajo, en un tiempo que es la mitad de la duración de un periodo de trama, y, por tanto, una ventaja del mismo es una alta respuesta al movimiento a velocidades altas. En general, sin embargo, una calidad de imagen se degrada, con una resolución a la mitad en una dirección Y. Por tanto, es apropiado para el caso en el que la resolución, en la dirección Y, de una imagen en movimiento que se mueve despacio o de una imagen inmóvil está garantizada. En el entrelazamiento, cuando una frecuencia espacial es elevada en la dirección Y de una imagen, puede producirse un ``parpadeo'', incluso en la imagen inmóvil. Puesto que la frecuencia espacial de una imagen natural presentada por radiodifusión televisiva o similar, es baja, el ``parpadeo'' es inconsecuente. En una imagen de gráficos por ordenador, la frecuencia espacial es elevada en una frontera entre objetos y el ``parpadeo'' asociado con el entrelazamiento, tiene importancia. Para eliminar el parpadeo, es necesario realizar un proceso de filtrado en la dirección Y. En esta segunda realización, cuando se calcula un grado de contribución, se realiza el proceso de filtrado mediante el uso de un píxel a tratarse y de un píxel adyacente al mismo en la dirección Y.
El aparato de generación de imágenes de la segunda realización es esencialmente idéntico al que se muestra en la figura 1, y las estructuras internas de las unidades 103a-103c de generación de imágenes de la figura 1 son idénticas a las que se muestran en la figura 2. En suma, el funcionamiento del circuito 1034 de cálculo de datos de imagen de la figura 2 es distinto de aquél de la primera realización que se muestra en la figura 4.
La figura 14 es una vista esquemática para explicar el tratamiento realizado por el circuito 1034 de cálculo de datos de imagen (figura 2). A partir de aquí, se hará una descripción del tratamiento que hace el circuito 1034 de cálculo de datos de imagen, con referencia a la figura 14.
En esta segunda realización, se divide un píxel en 16 subpíxeles, y un píxel situado inmediatamente debajo del píxel (un píxel cuya coordenada Y es mayor que la del píxel anterior en uno) se divide en 16 subpíxeles, lo que resulta en 32 subpíxeles en total, de los que se muestrean 8 subpíxeles.
Los subpíxeles muestreados se convierten en un grado de contribución con referencia a una tabla de consulta, tal como en el caso de la primera realización. La tabla de consulta que se muestra en el presente documento tiene una entrada de 8 bits, en la que se ha expandido la tabla de consulta mostrada en la figura 5(a). Para ser más precisos, en la tabla de consulta, de acuerdo con el número de bits ``1'' en notación binaria, esto es, cuando el número es ``0'', ``1'', ``2'', ``3'', ``4'', ``5'', ``6'', ``7'' u ``8'', los grados ``0'', ``32'', ``64'', ``96'' ``128'', ``160'', ``192'', ``224'' ó ``225''. Asimismo, se hace referencia a una extensión de la tabla de consulta de la figura 5(b) cuando se selecciona un valor Z y un valor (R, G, B) de píxel a partir de los valores de los subpíxeles.
Como resultado de este tratamiento, los píxeles en las coordenadas Y ``0'' y ``1'' se emplean para presentar una línea de exploración en una coordenada Y ``0'', y los píxeles en las coordenadas Y ``1'' y ``2'' se emplean para presentar una línea de exploración en una coordenada Y ``0''. Esto elimina la frecuencia espacial en la dirección Y y reduce el parpadeo asociado con la presentación de entrelazamiento.
Según la segunda realización, con el circuito de cálculo de datos de imagen distinto del de la primera realización, los subpíxeles se seleccionan en posiciones predeterminadas mediante el uso como una unidad de 2 píxeles adyacentes entre sí en la dirección Y, y se muestrean, para todos los subpíxeles, los subpíxeles en uno de los dos píxeles. Por tanto, la frecuencia espacial en la dirección Y se elimina para reducir el parpadeo asociado a la presentación de entrelazamiento.
Aunque en esta segunda realización se divide el píxel en 16 subpíxeles (4 x 4 píxeles), el píxel puede dividirse en 36 subpíxeles (6 x 6 píxeles). En este caso, el número de subpíxeles a muestrear es ``6'' ó ``12'' (entrelazamiento). Asimismo, debería tenerse presente en este caso que los puntos de muestreo no están alineados en una columna y una fila.
Adicionalmente, aunque en la primera y segunda realizaciones los 4 conjuntos de valores a transferirse entre los circuitos de composición de profundidad, tienen 4 niveles (0 - 3) en los que se han reordenado los valores Z en orden ascendente de los mismos, el número de niveles no está restringido a ése. En general, el incremento del número de niveles puede mejorar la flexibilidad del proceso de superficie oculta, mejorando, por tanto, una calidad de imagen. Por otro lado, esto aumenta las memorias requeridas y hace que suban los costes. Por tanto, es deseable que se establezca el número de niveles en función de la calidad de imagen y del coste deseados.
Adicionalmente, los aparatos de generación de imágenes según la primera y segunda realización se describen como aparatos dedicados que emplean circuitos dedicados. Sin embargo, pueden implantarse los aparatos de generación de imágenes de la primera y segunda realización mediante la grabación de programas de generación de imágenes para ejecutar el tratamiento de estas realizaciones en medios de grabación de programas de generación de imágenes, y para ejecutar los programas mediante el empleo de un sistema computerizado de uso general o similar. Como medios de grabación de programas de generación de imágenes, se dispone de aquellos medios descritos para la primera y segunda realizaciones.
Los aparatos de generación de imágenes según la primera y segunda realizaciones mostradas en las figuras 1 y 2, respectivamente, se implantan según sigue. El medio de división de datos de forma, la unidad de generación de imágenes, el circuito de composición de profundidad, la unidad de cálculo de proporciones de mezclado y el circuito de mezclado de píxeles, se implantan mediante la ejecución del programa de generación de imágenes según el control de una CPU o de un DSP; el generador de señales síncronas está implantado por un generador de impulsos de reloj y un sincronizador de reloj; las memorias intermedias de datos de forma, las memorias intermedias en la unidad de generación de imágenes y la memoria de 2 puertos en el circuito de composición de profundidad están implantadas por memorias principales o memorias auxiliares; y la unidad de presentación de imágenes viene implantada por una pantalla o un visualizador. Adicionalmente, la imagen generada puede almacenarse en una memoria o similar, en vez de presentarla por una pantalla o similar, y, en este caso, el sistema computerizado puede emplearse como una unidad de edición. O bien, la imagen generada puede transmitirse por un sistema de red o similar, para la presentación por, o la edición en, un ordenador en red o similar.
Realización 3
Un aparato de composición de imágenes según una realización adicional de la presente invención trata datos de imágenes fotográficas de la misma manera a como se tratan los datos de forma en la generación CG, cuando compone una imagen fotográfica y una imagen CG.
La figura 15 es un diagrama de bloques que representa la estructura del aparato de composición de imágenes según la tercera realización. El aparato de composición de imágenes comprende una unidad 1501 de generación de imágenes, una unidad 1502 de tratamiento de imágenes fotográficas, una unidad 1503 de clasificación por profundidad, una unidad 1504 de cálculo de proporciones de mezclado, una unidad 1505 de composición de imágenes y una unidad 1506 de presentación de imágenes. A semejanza de los aparatos de generación de imágenes según la primera y segunda realización, el aparato de composición de imágenes trata un objeto a presentarse como un polígono, y emplea datos de forma descritos como coordenadas tridimensionales. Los datos de forma incluyen información que indica el grado de transparencia de cada polígono. En esta tercera realización, el grado de transparencia puede ser cualquier valor de 0 a 1. El polígono es opaco cuando el valor es 1, y es transparente cuando el valor es 0. Cuando el grado de transparencia tiene un valor entre 0 y 1, el polígono es translúcido de acuerdo con el grado de transparencia.
La unidad 1501 de generación de imágenes trata los datos de forma de entrada, y genera un valor (R, G, B) de píxel y genera un valor (Z) de profundidad para cada píxel, respecto al punto de vista. Además, tal como se describe más adelante, la unidad 1501 de generación de imágenes genera el grado de contribución según el proceso de submuestreo inverso o el proceso de translucidez.
La unidad 1502 de tratamiento de imágenes fotográficas recibe una imagen fotográfica y realiza el tratamiento predeterminado para generar una señal de clave cromática e información sobre imágenes fotográficas, que comprende valores de píxel y valores Z. La unidad 1503 de clasificación por profundidad clasifica (reordena) los valores Z de la unidad 1501 de generación de imágenes y los valores Z de la imagen fotográfica, desde el valor Z más pequeño hacia el valor Z más grande. La unidad 1504 de cálculo de proporciones de mezclado realiza una suma del grado de contribución de entrada y genera una proporción de mezclado. La unidad 1505 de composición de imágenes realiza el cálculo de los valores de píxel de la imagen CG y de la imagen fotográfica para generar valores de píxel de los píxeles a presentarse según la proporción de mezclado generada por la unidad 1504 de cálculo de proporciones de mezclado. La unidad 1506 de presentación de imágenes presenta la imagen empleando los valores generados por la unidad 1505 de composición de imágenes.
Se hace una descripción del funcionamiento del aparato de composición de imágenes así construido, desde la entrada de los datos de forma y la imagen fotográfica hasta la presentación de la imagen compuesta.
Una vez recibidos los datos de forma, la unidad 1501 de generación de imágenes somete los datos de polígono (datos de cada polígono) de los datos de forma a una transformación geométrica para generar datos de polígono transformados en un sistema de coordenadas de pantalla. De acuerdo con el grado de transparencia de los datos de polígono a tratar, la unidad 1501 de generación de imágenes decide si el polígono debe someterse al proceso de submuestreo inverso o al proceso de translucidez. Cuando el grado de transparencia del polígono a tratarse (en adelante, en el presente documento, denominado ``polígono objetivo'') es 1 (opaco), la unidad 1501 de generación de imágenes realiza el proceso de submuestreo inverso. Cuando es menor que 1, la unidad 1501 realiza el proceso de translucidez.
Cuando está realizando el proceso de submuestreo inverso, la unidad 1501 de generación de imágenes divide un píxel de la pantalla en 4 x 4 subpíxeles, y comprueba si cada uno de los subpíxeles está situado dentro del polígono objetivo o no, con lo que genera un grado de contribución que es la razón del polígono a cada píxel. Tal como ocurre en la primera realización que se muestra en la figura 4, la unidad 1501 de generación de imágenes puede obtener el grado de contribución muestreando algunos de los 16 subpíxeles en los que se divide un píxel.
Por otro lado, cuando la unidad 1501 de generación de imágenes realiza el proceso de translucidez, la división de un píxel en subpíxeles y la extracción de subpíxeles situados dentro del polígono objetivo, descritas anteriormente, no se realizan, y el grado de transparencia del polígono objetivo se emplea como grado de contribución. Entonces, cuando el grado de transparencia de un polígono es 0 (transparencia), el grado de contribución de este polígono también es 0 y, por tanto, este polígono está, de hecho, excluido de los objetos a presentarse.
En cualquier caso, se somete al polígono objetivo al tratamiento posterior siempre y cuando su grado de contribución no sea 0. La unidad 1501 de generación de imágenes compara el valor Z leído de la memoria intermedia Z con el valor Z del polígono objetivo y, cuando el valor Z del polígono objetivo es menor que el valor Z de la memoria intermedia Z, la unidad 1501 graba el valor Z del polígono objetivo en la memoria intermedia. Adicionalmente, la unidad 1501 graba los valores (R, G, B) de píxel del polígono objetivo en la memoria intermedia de trama, y graba el grado de contribución del polígono objetivo en la memoria intermedia de grado de contribución. Por consiguiente, la unidad 1501 de generación de imágenes almacena los datos de 4 polígonos a partir del polígono con el valor Z más pequeño.
Mientras tanto, la unidad 1502 de tratamiento de imágenes fotográficas recibe una imagen fotográfica y genera una señal de clave cromática y valores de píxel. A continuación, la unidad 1502 da salida a la señal de clave cromática, como grado de la distribución de la imagen fotográfica, hacia la unidad 1503 de clasificación por profundidad. Además, la unidad 1502 da salida a los valores de píxel hacia la unidad 1505 de composición de imágenes.
La unidad 1503 de clasificación por profundidad recibe los valores Z de los datos de polígono de la unidad 1501 de generación de imágenes, y recibe un valor Z que se ha fijado previamente como el valor de profundidad de la imagen fotográfica. A continuación, la unidad 1503 de clasificación por profundidad clasifica (reordena) los cuatro valores Z de la unidad 1501 de generación de imágenes y el valor Z fijado, desde el valor Z más pequeño (el menos profundo) hacia el valor Z más grande (el más profundo). Además, la unidad 1503 de clasificación por profundidad recibe los grados de contribución de los cuatro datos de polígono de la unidad 1501 de generación de imágenes y el grado de contribución de la imagen fotográfica, y da salida a estos cinco grados de contribución hacia la unidad 1504 de cálculo de proporciones de mezclado en el orden de la clasificación descrita anteriormente de valores Z.
Por tanto, se introducen en la unidad 1504 de cálculo de proporciones de mezclado cinco grados de contribución, que se han clasificado de acuerdo con el orden de los valores Z. En la unidad 1504 de cálculo de proporciones de mezclado, estos grados de suman sucesivamente para generar proporciones de mezclado. Durante la suma sucesiva, siempre y cuando la suma no exceda de 1, el grado de contribución se toma como una proporción de mezclado. Cuando la suma excede de 1, el complemento a unos de la suma se toma como una proporción de mezclado y, en adelante, la proporción de mezclado se supone 0 sin ejecutar el cálculo. De este modo, se evita que la proporción de mezclado sea mayor que 1. La unidad 1504 de cálculo de proporciones de mezclado da salida a las cinco proporciones de mezclado generadas de esta forma, hacia la unidad 1505 de composición de imágenes.
En la unidad 1505 de composición de imágenes, se somete a los valores de píxel, suministrados desde la unidad 1505 de generación de imágenes y la unidad 1502 de tratamiento de imágenes fotográficas, a la integración por medio del uso de las cinco proporciones de mezcla proporcionadas desde los medios 1504 de cálculo de proporciones de mezclado. Como resultado, la unidad 1505 de composición de imágenes genera una imagen compuesta en la que se componen 4 niveles de imagen CG y un nivel de imagen fotográfica. A la imagen compuesta así generada se le da salida desde la unidad 1505 de composición de imágenes hacia unidad 1506 de presentación de imágenes, y se presenta en la unidad 1506 de presentación de imágenes.
Tal como se ha descrito anteriormente, según la tercera realización de la invención, el aparato de composición de imágenes comprende la unidad 1501 de generación de imágenes, la unidad 1502 de tratamiento de imágenes fotográficas, la unidad 1503 de clasificación por profundidad, la unidad 1504 de cálculo de proporciones de mezclado, la unidad 1505 de composición de imágenes y la unidad 1506 de presentación de imágenes. La unidad 1503 de clasificación por profundidad, la unidad 1504 de cálculo de proporciones de mezclado y la unidad 1505 de composición de imágenes tratan cuatro niveles de imagen CG y un nivel de imagen fotográfica. Por tanto, puede componerse una imagen fotográfica y una imagen CG, que incluyen un objeto translúcido y un objeto opaco, de modo que la imagen fotográfica se inserta entre estos objetos de la imagen CG, con lo que puede obtenerse una imagen de alta calidad, incluso cuando se inserta una imagen fotográfica detrás de un objeto sometido al proceso de submuestreo inverso. Además, el aparato de composición de imágenes según esta tercera realización se implanta expandiendo el aparato de composición de imágenes de la técnica anterior, que procesa cuatro niveles de señales cuando genera CG, de modo que puede tratar cinco niveles de señales. Por tanto, los efectos anteriormente mencionados pueden obtenerse sin aumentar significativamente el coste del aparato.
Realización 4
Un aparato de composición de imágenes según una realización adicional de la presente invención, crea una imagen de manera similar a como se ha descrito para el aparato de generación de imágenes según la primera realización, y compone la imagen CG creada con una imagen fotográfica de manera similar a como se ha descrito para el aparato de composición de imágenes según la tercera realización.
La figura 16 es un diagrama de bloques que representa la estructura de un aparato de composición de imágenes según esta cuarta realización. El aparato de composición de imágenes comprende un medio 1601 de división de datos de forma, unas memorias 1602a-1602c intermedias de datos de forma, unas unidades 1603a-1603c de generación de imágenes, unas unidades 1604a-1604c de composición de profundidad, un circuito 1605 de cálculo de proporciones de mezclado, un circuito 1606 de mezclado de píxeles, una unidad 1607 de presentación de imágenes, un generador 1608 de señales síncronas y una unidad 1609 de tratamiento de imágenes fotográficas.
El medio 1601 de división de datos de forma, las memorias 1602a-1602c intermedias de datos de forma, las unidades 1603a-1603c de generación de imágenes, los circuitos 1604a-1604c de composición de profundidad, la unidad 1607 de presentación de imágenes, y el generador 1608 de señales síncronas son idénticos a los de la primera realización (101, 102a-102c, 103a-103c, 104a-104c, 107 y 108), y la unidad 1609 de tratamiento de imágenes fotográficas es idéntica a la de la tercera realización (1502). La unidad 1609 de tratamiento de imágenes fotográficas de esta cuarta realización da salida a la señal generada de clave cromática como un grado de contribución de la imagen fotográfica, hacia el circuito 1605 de cálculo de proporciones de mezclado, y da salida a los valores de píxel generados de la imagen fotográfica hacia circuito 1606 de mezclado de píxeles.
El circuito 1605 de cálculo de proporciones de mezclado, genera proporciones de mezclado de manera similar a como se ha descrito para el circuito 105 de cálculo de proporciones de mezclado de la primera realización. No obstante, el circuito 1605 de cálculo de proporciones de mezclado de esta cuarta realización se diferencia del circuito 105 de la primera realización en que no sólo recibe los grados de contribución y los valores de profundidad de cuatro niveles de CG, sino también el grado de contribución para un nivel de la unidad de tratamiento de imágenes fotográficas y el valor Z fijado como el valor de profundidad de la imagen fotográfica, y emplea estos valores para realizar los cálculos.
El circuito 1606 de mezclado de píxeles genera una imagen a la que dar salida en base a las proporciones de mezclado generadas por el circuito 1605 de cálculo de proporciones de mezclado, de manera similar a como se ha descrito para el circuito 106 de mezclado de píxeles de la primera realización. Cuando se está generando la imagen, el circuito 1606 de mezclado de píxeles realiza el mezclado usando los valores de píxel para un nivel de la imagen fotográfica suministrada por la unidad 1609 de tratamiento de imágenes fotográficas, así como los valores de píxel para cuatro niveles CG suministrados por el circuito 1604c de composición de profundidad, con el fin de generar valores de píxel de la imagen a la que dar salida.
El funcionamiento del aparato de composición de imágenes según esta realización, es idéntico al funcionamiento del aparato de generación de imágenes según la primera realización excepto en lo que se refiere a los funcionamientos de la unidad 1609 de tratamiento de imágenes fotográficas, el circuito 1605 de cálculo de proporciones de mezclado y el circuito 1606 de mezclado de píxeles.
Tal como se ha descrito anteriormente, el aparato de composición de imágenes según esta realización, comprende el medio 1601 de división de datos de forma, las memorias 1602a-1602c intermedias de datos de forma, las unidades 1603a-1603c de generación de imágenes, los circuitos 1604a-1604c de composición de profundidad, el circuito 1605 de cálculo de proporciones de mezclado, el circuito 1606 de mezclado de píxeles, la unidad 1607 de presentación de imágenes, el generador 1608 de señales síncronas y la unidad 1609 de tratamiento de imágenes fotográficas. Por tanto, este aparato realiza la generación de imágenes CG, incluyendo el proceso de submuestreo inverso y el proceso de translucidez, tal como el aparato de generación de imágenes de la primera realización, y realiza la composición de imagen de cuatro niveles de imágenes CG y un nivel de imagen fotográfica. Entonces, el aparato de composición de imágenes puede generar una imagen CG de alta calidad a la vez que suprime la cantidad de memorias requeridas como memorias intermedias, y la calidad de la imagen compuesta de la imagen CG y la imagen fotográfica puede mejorarse con sólo expandir el aparato de generación de imágenes de la primera realización.
Aunque en esta realización, la unidad 1609 de tratamiento de imágenes fotográficas se añade al aparato de generación de imágenes de la primera realización, aquella puede añadirse al aparato de generación de imágenes de la segunda realización y, en este caso, el aparato resultante está adaptado para el entrelazamiento.
Además, aunque en la tercera y cuarta realización el número de niveles en la generación CG es cuatro, tal como en la primera y segunda realización, el número de niveles no se restringe al mismo, y la calidad de imagen puede mejorarse mediante el incremento del número de nivel dentro de los límites del coste permitido.
Adicionalmente, los aparatos de composición de imágenes según la tercera y cuarta realizaciones, se describen como aparatos dedicados que emplean circuitos dedicados, tal como los aparatos de generación de imágenes según la primera y segunda realización. Sin embargo, es posible implantar los aparatos de composición de imágenes de la tercera y cuarta realizaciones mediante la grabación de programas de composición de imágenes, para ejecutar el tratamiento de estas realizaciones en medios de grabación de programas, y ejecutar los programas por medio del empleo de un sistema computerizado versátil o similar. Como medios de grabación de programas, se dispone aquellos medios descritos para la primera y segunda realización.
Los aparatos de composición de imágenes según las dos últimas realizaciones mostradas en las figuras 15 y 16, respectivamente, se implantan según sigue. La unidad de generación de imágenes, la unidad de tratamiento de imágenes fotográficas, la unidad de clasificación por profundidad, la unidad de cálculo de proporciones de mezclado y la unidad de composición de imagen (tercera realización), y el medio de división de datos de forma, la unidad de generación de imágenes, el circuito de composición de profundidad, el circuito de cálculo de proporciones de mezclado y el circuito de mezclado de píxeles (cuarta realización) se implantan ejecutando el programa de composición de imágenes según el control de una CPU o de un DSP; el generador de señales síncronas está implantado por un generador de impulsos de reloj y un sincronizador de reloj; las memorias intermedias de datos de forma, las memorias intermedias en la unidad de generación de imágenes y la memoria de 2 puertos en el circuito de composición de profundidad están implantadas por memorias principales o memorias auxiliares; y la unidad de presentación de imágenes está implantada por una pantalla o visualizador. Adicionalmente, la imagen generada puede almacenarse en una memoria o similar, en vez de presentarla por una pantalla o similar, y, en este caso, puede emplear un sistema computerizado tal como un sistema de edición. O bien, la imagen generada puede transmitirse por un sistema de red o similar, para la presentación o edición en un ordenador en red o similar.

Claims (13)

1. Aparato de generación de imágenes para generar una imagen tridimensional en base a datos de forma como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, comprendiendo dicho aparato:
unos medios de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de píxeles respectivos como unidades de presentación de una imagen, valores de profundidad que indican la profundidad con la que se presentan polígonos a tratar, y grados de contribución de polígonos a píxeles correspondientes, a partir de los datos de forma;
unos medios de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que han sido generados por el medio de cálculo de datos de imagen; y
unos medios de composición de imagen para generar una imagen a presentar a partir de los datos de píxel almacenados temporalmente en los medios de almacenamiento temporal, en base a los grados de contribución y los valores de profundidad almacenados en los medios de almacenamiento temporal;
caracterizado porque
dicho aparato contiene además unos medios de identificación de polígonos, dichos medios de identificación de polígonos generan un resultado de identificación para cada polígono, dicho resultado de identificación contiene una identificación sobre si dicho polígono es o no opaco,
se calcula un único grado de contribución para cada píxel, independientemente a dicha identificación de si dicho polígono es o no opaco, y
cada grado de contribución generado por dichos medios de cálculo de datos de imagen es una función del correspondiente resultado de identificación generado por dicho medio de identificación de polígonos.
2. Aparato de generación de imágenes según la reivindicación 1, caracterizado porque
los medios de almacenamiento temporal almacenan una pluralidad de valores de profundidad, comprendiendo además:
unos medios de composición de profundidad para realizar la comparación entre el valor de profundidad más grande de la pluralidad de valores de profundidad y el valor de profundidad del polígono a tratar, y para decidir si se presenta o no el polígono a tratar, según el resultado de la comparación.
3. Aparato de generación de imágenes según la reivindicación 1, caracterizado porque
los medios de almacenamiento temporal tienen una pluralidad de regiones, comprendiendo además:
unos medios de control de memorias intermedias para controlar la entrada/salida de datos a/desde la pluralidad de regiones de los medios de almacenamiento temporal.
4. Aparato de generación de imágenes según la reivindicación 1, caracterizado porque
el medio de cálculo de datos de imagen divide un píxel de presentación como una unidad de los datos de forma en (M x M) subpíxeles (M \geq 2 M: entero positivo), muestrean M subpíxeles de los (M x M) subpíxeles, y deciden si los subpíxeles muestreados están o no en el polígono a tratar, para generar el grado de contribución.
5. Aparato de generación de imágenes según la reivindicación 4, caracterizado porque
los medios de cálculo de datos de imagen seleccionan los M subpíxeles a muestrear, de una manera tal que no están presentes ni en la misma columna ni en la misma fila.
6. Aparato de generación de imágenes según la reivindicación 5, caracterizado porque
los medios de cálculo de datos de imagen muestrean subpíxeles en posiciones específicas en todos los polígonos, independientemente de si los polígonos son o no opacos.
7. Aparato de generación de imágenes según la reivindicación 2, caracterizado además por:
un medio de división de datos de forma para dividir los datos de forma en una pluralidad de grupos de polígonos y para dar salida a grupos respectivos de polígonos como datos de forma parciales; y
en el que se proporcionan L (L: entero positivo) porciones de los medios de identificación de polígonos, L porciones de los medios de cálculo de datos de imagen y L porciones de los medios de composición de profundidad, y
en el que las L porciones de los medios de composición de profundidad están conectadas en serie, y los medios de composición de profundidad transfieren secuencialmente salidas de los medios de composición de profundidad, en una etapa anterior de los mismos, hacia los medios de composición de profundidad, en una etapa posterior de los mismos.
8. Aparato de generación de imágenes según la reivindicación 7, caracterizado porque
cada una de las L porciones de los medios de composición de profundidad dispone las salidas a transferir a los medios de composición de profundidad en una etapa posterior de los mismos, en orden ascendente de los valores de profundidad.
9. Método de generación de imágenes para generar una imagen tridimensional, en base a datos de forma, como un conjunto de polígonos, que está representada por coordenadas tridimensionales, comprendiendo dicho método:
una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de píxeles respectivos, como unidades de presentación de una imagen, valores de profundidad que indican la profundidad con la que se presentan polígonos a tratar, y grados de contribución de los polígonos a los píxeles correspondientes, a partir de los datos de forma;
una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; y
una etapa de composición de imagen para generar una imagen a presentar, a partir de valores de píxel almacenados temporalmente en la etapa de almacenamiento temporal, en base a los grados de contribución y a los valores de profundidad almacenados en la etapa de almacenamiento temporal
caracterizado porque
dicho método comprende además una etapa de identificación de polígonos para generar un resultado de identificación para cada polígono, dicho resultado de identificación contiene una indicación sobre si dicho polígono es o no opaco,
se calcula un único grado de contribución para cada píxel, independientemente de dicha indicación sobre si dicho polígono es o no opaco, y
cada grado de contribución generado en dicha etapa de cálculo de datos de imagen es una función del resultado de identificación correspondiente generado en dicha etapa de identificación de polígonos.
10. Medio de grabación de programas de generación de imágenes para grabar un programa de generación de imágenes para generar una imagen tridimensional, en base a datos de imagen, como un conjunto de polígonos, que viene representada por coordenadas tridimensionales, comprendiendo dicho programa:
una etapa de cálculo de datos de imagen para generar valores de píxel que indican la luminancia y el color de píxeles respectivos, como unidades de presentación de una imagen, valores de profundidad que indican la profundidad con la que se presentan polígonos a tratar, y grados de contribución de los polígonos a los píxeles correspondientes, a partir de datos de forma;
una etapa de almacenamiento temporal para almacenar temporalmente los valores de píxel, los valores de profundidad y los grados de contribución que se han generado en la etapa de cálculo de datos de imagen; y
una etapa de composición de imagen para generar una imagen a presentar, a partir de valores de píxel almacenados temporalmente en la etapa de almacenamiento temporal, en base a los grados de contribución y a los valores de profundidad almacenados en la etapa de almacenamiento temporal
caracterizado porque
dicho programa comprende una etapa de identificación de polígonos para generar un resultado de identificación para cada polígono, dicho resultado de identificación contiene una indicación sobre si dicho polígono es o no opaco,
se calcula un único grado de contribución para cada píxel, independientemente de dicha indicación sobre si dicho polígono es o no opaco, y
cada grado de contribución generado en dicha etapa de cálculo de datos de imagen es una función del resultado de identificación correspondiente generado en dicha etapa de identificación de polígonos.
11. Aparato de generación de imágenes según la reivindicación 1, caracterizado por
unos medios de tratamiento de imágenes fotográficas para tratar una imagen fotográfica con el fin de generar valores de píxel de la imagen fotográfica que indican la luminancia y el color, y grados de contribución de la imagen fotográfica que indican las razones, de la imagen fotográfica a píxeles, como unidades de presentación; y en el que
dichos medios de composición de imágenes utilizan los valores de píxel de la imagen fotográfica generados por los medios de tratamiento de imágenes fotográficas, en base a los grados de contribución de la imagen fotográfica generados por los medios de tratamiento de imágenes fotográficas y los valores de profundidad de la imagen fotográfica preestablecidos, para generar una imagen a presentar.
12. Método de generación de imágenes según la reivindicación 9, caracterizado por:
una etapa de tratamiento de imágenes fotográficas para tratar una imagen fotográfica con el fin de generar valores de píxel de la imagen fotográfica que indican la luminancia y el color, y grados de contribución de la imagen fotográfica que indican las razones, de la imagen fotográfica a píxeles, como unidades de presentación; y en el que
dicha etapa de composición de imágenes utiliza los valores de píxel de la imagen fotográfica generados en la etapa de tratamiento de imágenes fotográficas, en base a los grados de contribución de la imagen fotográfica generados por la etapa de tratamiento de imágenes fotográficas y los valores de profundidad de la imagen fotográfica preestablecidos, para generar una imagen a presentar.
13. Medio de grabación de programas de generación de imágenes según la reivindicación 10, caracterizado por:
una etapa de tratamiento de imágenes fotográficas para tratar una imagen fotográfica con el fin de generar valores de píxel de la imagen fotográfica que indican la luminancia y el color, y grados de contribución de la imagen fotográfica que indican las razones, de la imagen fotográfica a píxeles, como unidades de presentación; y en el que
dicha etapa de composición de imágenes utiliza los valores de píxel de la imagen fotográfica generados en la etapa de tratamiento de imágenes fotográficas, en base a los grados de contribución de la imagen fotográfica generados por la etapa de tratamiento de imágenes fotográficas y los valores de profundidad de la imagen fotográfica preestablecidos, para generar una imagen a presentar.
ES98120375T 1997-10-28 1998-10-28 Aparato de generacion de imagenes, metodo de generacion de imagenes, medio de grabacion de programas de generacion de imagenes, aparato de composicion de imagenes, metodo de composicion de imagenes y medio de grabacion de programas de composicion de imagenes. Expired - Lifetime ES2197411T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP29512397 1997-10-28
JP29512397 1997-10-28
JP1440898 1998-01-27
JP1440898 1998-01-27

Publications (1)

Publication Number Publication Date
ES2197411T3 true ES2197411T3 (es) 2004-01-01

Family

ID=26350356

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98120375T Expired - Lifetime ES2197411T3 (es) 1997-10-28 1998-10-28 Aparato de generacion de imagenes, metodo de generacion de imagenes, medio de grabacion de programas de generacion de imagenes, aparato de composicion de imagenes, metodo de composicion de imagenes y medio de grabacion de programas de composicion de imagenes.

Country Status (4)

Country Link
US (1) US6271850B1 (es)
EP (1) EP0913795B1 (es)
DE (1) DE69813992T2 (es)
ES (1) ES2197411T3 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377273B1 (en) * 1998-11-04 2002-04-23 Industrial Technology Research Institute Fast area-coverage computing method for anti-aliasing in graphics
US6498605B2 (en) * 1999-11-18 2002-12-24 Intel Corporation Pixel span depth buffer
JP4154820B2 (ja) * 1999-12-09 2008-09-24 三菱電機株式会社 画像表示装置のドットクロック調整方法およびドットクロック調整装置
AUPQ593100A0 (en) * 2000-02-29 2000-03-23 Canon Kabushiki Kaisha Alpha-channel compositing system
DE50000345D1 (de) * 2000-09-01 2002-09-05 Brainlab Ag Stufenfreie Darstellung von zwei- oder dreidimensionalen Datensätzen durch krümmungsminimierende Verschiebung von Pixelwerten
JP2003091737A (ja) * 2001-07-13 2003-03-28 Sony Computer Entertainment Inc 描画処理装置、描画処理プログラムを記録した記録媒体、描画処理プログラム、描画処理方法
US20030214512A1 (en) * 2002-05-14 2003-11-20 Cheng Brett Anthony Hardware method for sub-pixel anti-aliasing of text on an LCD display
JP4468658B2 (ja) * 2003-06-16 2010-05-26 三菱プレシジョン株式会社 演算処理方法及びその装置並びに画像合成方法及びその装置
JP2007516630A (ja) * 2003-06-23 2007-06-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シーンを合成する方法及び復号器
US8130222B1 (en) * 2004-10-19 2012-03-06 Rockwell Collins Simulation And Training Solutions Llc System and method for resolving visual priority among coincident primitives
US20070139430A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Rendering "gadgets" with a browser
KR101915843B1 (ko) * 2016-06-29 2018-11-08 한국과학기술원 복굴절 매질을 이용한 영상 깊이 추정 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5579455A (en) * 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
DE69408473T2 (de) * 1993-10-15 1998-08-27 Evans & Sutherland Computer Co Direktes rendering von texturierten höhenfeldern
JPH07114652A (ja) * 1993-10-18 1995-05-02 Hitachi Medical Corp 三次元画像の動画表示装置及び動画表示方法
US5818456A (en) 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
US6046746A (en) * 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
IL119082A (en) * 1996-08-16 2001-04-30 Virtue Ltd A method for creating graphic characters
US6104407A (en) * 1997-09-23 2000-08-15 Ati Technologies, Inc. Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system

Also Published As

Publication number Publication date
EP0913795A1 (en) 1999-05-06
US6271850B1 (en) 2001-08-07
EP0913795B1 (en) 2003-05-02
DE69813992T2 (de) 2004-02-26
DE69813992D1 (de) 2003-06-05

Similar Documents

Publication Publication Date Title
KR0138991B1 (ko) 래스터주사방식 디스플레이의 수직필터링방법 및 그 수직필터링장치
US6819328B1 (en) Graphic accelerator with interpolate function
US4979738A (en) Constant spatial data mass RAM video display system
US4490797A (en) Method and apparatus for controlling the display of a computer generated raster graphic system
ES2197411T3 (es) Aparato de generacion de imagenes, metodo de generacion de imagenes, medio de grabacion de programas de generacion de imagenes, aparato de composicion de imagenes, metodo de composicion de imagenes y medio de grabacion de programas de composicion de imagenes.
US7068275B2 (en) Methods and apparatus for rendering an image with depth-of-field display
US4897805A (en) Method and apparatus for performing polygon fills in graphical applications
JPH09509766A (ja) 単一のフレームバッファを有する画像処理システム
JPS6025794B2 (ja) カラ−図形表示装置
JPH04233086A (ja) 画像生成方法
US20060103663A1 (en) Method and system for real-time anti-aliasing using fixed orientation multipixels
US5719598A (en) Graphics processor for parallel processing a plurality of fields of view for multiple video displays
JP4148377B2 (ja) 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体
JPH0225188B2 (es)
US7123266B2 (en) Method and apparatus for a video graphics circuit having parallel pixel processing
GB2247596A (en) Anti-aliasing system
EP0855682B1 (en) Scan line rendering of convolutions
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
JP2761540B2 (ja) ハードウエアスクリーン上への画像表示方法および装置
JPH0644382A (ja) 並列画像生成装置
US6445392B1 (en) Method and apparatus for simplified anti-aliasing in a video graphics system
US6559857B2 (en) Method and apparatus for pseudo-random noise generation based on variation of intensity and coloration
JP3587105B2 (ja) 図形データ処理装置
JPS58129473A (ja) メモリ制御方式
JPH03206782A (ja) シンボルジェネレータ