DE19708237A1 - Method and device for storing three-dimensional image data in a frame buffer memory - Google Patents

Method and device for storing three-dimensional image data in a frame buffer memory

Info

Publication number
DE19708237A1
DE19708237A1 DE1997108237 DE19708237A DE19708237A1 DE 19708237 A1 DE19708237 A1 DE 19708237A1 DE 1997108237 DE1997108237 DE 1997108237 DE 19708237 A DE19708237 A DE 19708237A DE 19708237 A1 DE19708237 A1 DE 19708237A1
Authority
DE
Germany
Prior art keywords
pixel
information
depth information
frame buffer
pixel data
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.)
Withdrawn
Application number
DE1997108237
Other languages
German (de)
Inventor
Wolfgang Dipl Ing Furtner
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.)
SP3D Chip Design GmbH
Original Assignee
SP3D Chip Design GmbH
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 SP3D Chip Design GmbH filed Critical SP3D Chip Design GmbH
Priority to DE1997108237 priority Critical patent/DE19708237A1/en
Priority to PCT/EP1998/000428 priority patent/WO1998040848A1/en
Publication of DE19708237A1 publication Critical patent/DE19708237A1/en
Withdrawn 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
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

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

The invention relates to a method for filing picture data for 3-D display of imagery on a screen in a frame buffer memory, which has a storage location for each pixel constituting said imagery. The pixel data contains position information on each pixel in relation to the storage location in the frame buffer storage, depth information indicating the physical distance of the pixel to be displayed in relation to a viewer, and at least display information on the respective pixel. A plurality of pixel data can exist for each pixel. For all pixels constituting said imagery, the inventive method provides for initial filing (34, 36, 38, 40) of depth information on all pixel data in the storage location allocated thereto for each pixel in the frame buffer storage, the depth information indicating thereby the shortest physical distance between the pixel to be displayed and the viewer.

Description

Die vorliegende Erfindung bezieht sich auf Verfahren und Vorrichtungen zum Ablegen von dreidimensionalen Bilddaten, d. h. von Pixeldaten für eine dreidimensionale Darstellung von auf einem Bildschirm anzuzeigenden Pixeln, in einem Rah­ menpufferspeicherThe present invention relates to methods and Devices for storing three-dimensional image data, d. H. of pixel data for a three-dimensional representation of pixels to be displayed on a screen, in a frame menu buffer

Mit fortschreitender Weiterentwicklung der Computertechnolo­ gie entstehen in zunehmender Anzahl Anwendungen, die die Er­ zeugung sich schnell ändernder dreidimensionaler Bildrahmen zur Anzeige auf einem Computerbildschirm erfordern. Um die Anzeige einer schnellen Abfolge von Bildrahmen, 15 bis 30 Rahmen pro Sekunde, bei zunehmend detaillierteren dreidimen­ sionalen Darstellungen auf einem Bildschirm zu ermöglichen, wird eine Technik verwendet, die auf dem Gebiet der Compu­ tergraphiken als 3D-Graphik-Pipeline bekannt ist.With the advancement of computer technology There are an increasing number of applications that the Er generation of rapidly changing three-dimensional picture frames require for display on a computer screen. To the Display a quick sequence of picture frames, 15 to 30 Frames per second, with increasingly detailed three-dimens to allow special representations on a screen, a technique is used which is in the field of Compu graphics is known as a 3D graphics pipeline.

Die 3D-Graphik-Pipeline besteht aus zwei Hauptstufen, oder Untersystemen, die als Geometrie-Stufe und Aufbereitungs-Stufe bezeichnet werden. Die Geometrie-Stufe ist für die Handhabung aller Polygon-Aktivitäten und für das Umwandeln der räumlichen 3D-Daten in Pixeldaten verantwortlich. Die Aufbereitungs-Stufe (rendering) ist für die Verwaltung aller Speicher- und Pixel-Aktivitäten verantwortlich. Dieselbe be­ reitet die Daten von der Geometrie-Stufe in die endgültige Zusammensetzung des 3D-Bilds für die Darstellung auf einem CRT-Bildschirm auf. Klassischerweise werden dabei zunächst 3D-Polygondaten (Weltkoordinaten; Vertices) durch eine Geo­ metrie- und Beleuchtungs-Transformation in 2D-Polygondaten (Gerätekoordinaten; Vertices) transformiert. Aus diesen 2D-Polygondaten werden dann mittels eines sogenannten Rasteri­ zers Pixeldaten (x, y, z, r, g, b) für alle das Polygon ausfül­ lenden Bildpunkte berechnet. The 3D graphics pipeline consists of two main stages, or Subsystems as a geometry level and preparation level be designated. The geometry level is for that Handling all polygon activities and for converting of the spatial 3D data in pixel data. The Processing stage (rendering) is for the administration of all Memory and pixel activity responsible. The same be rides the data from the geometry stage to the final one Composition of the 3D image for display on a CRT screen on. Classically, first of all 3D polygon data (world coordinates; vertices) by a geo metry and lighting transformation in 2D polygon data (Device coordinates; vertices) transformed. From these 2D polygon data is then created using a so-called raster zers pixel data (x, y, z, r, g, b) for all fill the polygon lent pixels calculated.  

Die Geometrie-Stufe der 3D-Graphik-Pipeline ist üblicherwei­ se in der Host-CPU mit deren großer Rechenfähigkeit reali­ siert. Das tatsächliche Aufbereiten der Pixel für die 2D-Anzeige wird am besten durch eine spezialisierte Hardware durchgeführt, die auch als 3D-Hardware-Bildbeschleuniger be­ zeichnet wird. Auf der Geometrie-Stufe der 3D-Graphik-Pipe­ line ist der entscheidende Faktor, wie schnell die Berech­ nungen durchgeführt werden können. Auf der Aufbereitungsstu­ fe ist der entscheidende Faktor der Speicherzugriff, d. h. wie schnell Pixel aus dem Rahmenpuffer oder anderen Spezial­ speicherblöcken gelesen und in dieselben geschrieben werden können. Die Aufbereitungsvorrichtung muß in der Lage sein, tausende von Polygonen für jeden Rahmen zu verarbeiten, wo­ bei der Rahmen ferner in jeder Sekunde vielmals aktualisiert werden muß, um eine Illusion von Bewegung zu unterstützen.The geometry level of the 3D graphics pipeline is common se reali in the host CPU with its great computing ability siert. The actual processing of the pixels for the 2D display is best done through specialized hardware performed, which can also be used as a 3D hardware image accelerator is drawn. At the geometry level of the 3D graphics pipe line is the decisive factor, how quickly the calculation can be carried out. On the processing stage fe is the crucial factor of memory access, i. H. how fast pixels from the frame buffer or other special memory blocks are read and written to them can. The processing device must be able to Process thousands of polygons for every frame where in the frame also updated many times every second to support an illusion of movement.

Bei vielen 3D-Anwendungen wird ein sogenannter Z-Puffer ver­ wendet, um Tiefeninformationen für dreidimensionale Bildda­ ten auf einer Pro-Pixel-Basis zu speichern. Während der Auf­ bereitung ersetzen neue Pixel mit geringeren Z-Werten, d. h. solche, die näher an dem Betrachter sind bzw. im Bildvorder­ grund angeordnet sind, ältere Pixel in dem Rahmenpuffer. Das Ergebnis ist ein Bild, das nur die vordersten Pixel enthält. Pixel, die durch andere versteckt sind, sind nicht mehr sichtbar. In einem solchen Überlappungsfall existiert für einen Bildpunkt eine Mehrzahl unterschiedlicher Pixeldaten, wobei jeweilige Pixeldaten für ein Pixel einem jeweiligen Bildobjekt zugeordnet sind. Überlappen in einer Darstellung beispielsweise vier Polygone, so existieren im Überlappungs­ bereich für jeden Bildpunkt vier Pixeldaten.In many 3D applications, a so-called Z buffer is used applies to depth information for three-dimensional image on a per-pixel basis. During the on preparation replace new pixels with lower z-values, i. H. those that are closer to the viewer or in front of the picture are reasonably arranged, older pixels in the frame buffer. The The result is an image that contains only the foremost pixels. Pixels that are hidden by others are no longer visible. In such an overlap case exists for one pixel a plurality of different pixel data, where respective pixel data for one pixel each Image object are assigned. Overlap in a display For example, four polygons exist in the overlap area four pixel data for each pixel.

Die Pixeldaten für ein jeweiliges Bildobjekt werden in be­ kannter Weise aus den räumlichen Roh-3D-Geometriedaten des Bildobjekts berechnet. Die Pixeldaten enthalten Positionsin­ formationen bezüglich des Speicherorts in einem Rahmenpuf­ ferspeicher, an dem die jeweiligen Pixeldaten gespeichert werden sollen. Die Pixeldaten enthalten ferner Z-Informatio­ nen, die angeben, wie weit "in" dem Bildschirm ein Pixel er­ scheinen soll. Die Z-Informationen geben somit die Entfer­ nung eines anzuzeigenden Pixels von einem Betrachter, der auf den Bildschirm blickt, an. Die Pixeldaten enthalten außerdem Darstellungsinformationen, die sich auf die Dar­ stellung des Pixels beziehen, d. h. Farb-, Helligkeits-, Schattierungs- und/oder Textur-Informationen und derglei­ chen.The pixel data for a respective image object are shown in be known from the spatial raw 3D geometry data of the Image object calculated. The pixel data contain positionsin information regarding the storage location in a frame puf Memory on which the respective pixel data are stored should be. The pixel data also contain Z information  that indicate how far "in" the pixel is on the screen should shine. The Z information thus gives the distance a pixel to be displayed by a viewer who looking at the screen. The pixel data included display information related to the Dar Get the position of the pixel, d. H. Color, brightness, Shading and / or texture information and the like chen.

Fig. 1 zeigt ein Flußdiagramm eines bekannten Verfahrens zum Speichern von Pixeldaten, abhängig von den Z-Informationen oder Z-Werten jeweiliger Pixel in einem Rahmenpufferspei­ cher.A flow chart of Fig. 1 shows a known method for storing pixel data, depending on the Z-information, or Z values of respective pixels in a cher Rahmenpufferspei.

Die Routine wird in einem Schritt 10 betreten. Nachfolgend wird der Z-Puffer, Z_Speicher, mit dem Z-Profil eines Hin­ tergrundbilds initialisiert, Schritt 12. In diesem Schritt wird der Z-Puffer mit den Z-Informationen des Hintergrund­ bilds vorgeladen. Dabei werden die den einzelnen Pixeln des Hintergrundbilds zugeordneten Z-Werte an den jeweiligen, durch die Positionsinformationen bestimmten Speicherorten des Z-Speichers gespeichert. Alternativ können diese Z-In­ formationen auch ein konstanter Wert sein. Dieser konstante Wert kann beispielsweise der höchste darstellbare für eine unendliche Entfernung sein.The routine is entered in a step 10 . Subsequently, the Z buffer, Z_Speicher, is initialized with the Z profile of a background image, step 12 . In this step, the Z buffer is preloaded with the Z information of the background image. The Z values assigned to the individual pixels of the background image are stored in the respective storage locations of the Z memory determined by the position information. Alternatively, this Z information can also be a constant value. This constant value can, for example, be the highest that can be represented for an infinite distance.

Im Anschluß wird in einem Schritt 14 der eigentliche Bild­ speicher, d. h. der Rahmenpufferspeicher, mit dem Hinter­ grundbild initialisiert, d. h. vorgeladen. Dabei werden die Farbinformationen der jeweiligen Pixel an den durch die je­ weiligen Positionsinformationen bestimmten Speicherorten des Bildspeichers abgelegt. Neben der Farbinformation sind auch weitere Darstellungsinformationen, wie Schattierungen, Tex­ turen, die Helligkeit, usw. vorgesehen. Als Hintergrundbild kann alternativ eine konstante Farbe in den Bildspeicher ge­ laden werden, beispielsweise Schwarz.The actual image memory, ie the frame buffer memory, is then initialized with the background image in a step 14 , ie preloaded. The color information of the respective pixels is stored in the storage locations of the image memory determined by the respective position information. In addition to the color information, other display information such as shading, textures, brightness, etc. are also provided. As a background image, a constant color can alternatively be loaded into the image memory, for example black.

Nachfolgend wird in einem Schritt 16 gemäß einem jeweiligen Algorithmus, wobei derartige Algorithmen in der Technik be­ kannt sind, Pixeldaten für ein zu zeichnendes Pixel in be­ kannter Weise aus räumlichen 3D-Bilddaten berechnet. Diese Berechnung ergibt zumindest die Koordinaten des Pixels, X, Y und Z, sowie die Farbe desselben. Die Z-Koordinate des Pi­ xels entspricht dabei den Tiefeninformationen desselben.In a step 16 , pixel data for a pixel to be drawn is calculated in a known manner from spatial 3D image data in a step 16 according to a respective algorithm, such algorithms being known in the art. This calculation gives at least the coordinates of the pixel, X, Y and Z, as well as the color of the same. The Z coordinate of the pixel corresponds to the depth information of the same.

In einem Schritt 18 wird nachfolgend der Z-Wert des Pixels mit dem an dem diesem Pixel zugeordneten Speicherort, Z_Speicher (X, Y), gespeicherten Z-Wert verglichen, Schritt 18. Die bereits im Speicher vorhandenen Tiefeninformationen können dabei von der Initialisierung oder einem früheren Pi­ xel stammen. Ergibt der Vergleich, daß der Z-Wert der der­ zeitigen Pixeldaten kleiner oder gleich dem an dem entspre­ chenden Speicherort in dem Z-Speicher gespeicherte Wert ist, wird der Z-Wert an dem jeweiligen Speicherort Z_Spei­ cher (X, Y) in den Z-Speicher geschrieben, und ferner wird der Farbwert des Pixels an den entsprechenden Speicherort, Bild­ speicher (X, Y), des Rahmenpufferspeichers geschrieben, Schritt 20. Folglich werden jeweils die Pixeldaten der Pi­ xel, deren Z-Informationen eine kürzerer Entfernung zum Be­ trachter definieren, in die jeweiligen Speicher geschrieben, wobei die ursprünglichen Werte, d. h. sowohl der Farb-Wert als auch der Tiefen-Wert, überschrieben werden. Definieren die Z-Informationen von mehreren Pixeldaten die gleiche Ent­ fernung zum Betrachter, so sind die zuletzt behandelten Pi­ xeldaten gespeichert.In a step 18 , the Z value of the pixel is subsequently compared with the Z value stored in the storage location assigned to this pixel, Z_storage (X, Y), step 18 . The depth information already available in the memory can originate from the initialization or from an earlier pixel. If the comparison shows that the Z-value of the temporal pixel data is less than or equal to the value stored in the corresponding storage location in the Z-memory, the Z-value in the respective storage location Z_Spei cher (X, Y) in the Z Memory is written, and further the color value of the pixel is written to the corresponding storage location, image memory (X, Y), of the frame buffer memory, step 20 . Consequently, the pixel data of the pixel, the Z information of which defines a shorter distance from the viewer, are written into the respective memories, the original values, ie both the color value and the depth value, being overwritten. If the Z information of several pixel data defines the same distance from the viewer, the last pixel data treated is stored.

Nachfolgend springt das Verfahren zu einem Schritt 22, in dem bestimmt wird, ob sämtliche Pixeldaten für die zu zeich­ nende Szene bearbeitet wurden. Ist dies nicht der Fall, springt das Verfahren zum Schritt 16 zurück, woraufhin die nächsten Pixeldaten berechnet werden. Bei negativem Ergebnis im Schritt 18 überspringt das Verfahren den Schritt 20 und springt direkt zum Schritt 22. Wurden alle Pixel verarbei­ tet, d. h. lautet die Bestimmung im Schritt 22 ja, wird das Verfahren in einem Schritt 24 beendet. Das oben beschriebene Verfahren wird somit solange durchlaufen, bis alle räumli­ chen dreidimensionalen Bilddaten abgearbeitet sind.The method subsequently jumps to a step 22 , in which it is determined whether all the pixel data for the scene to be drawn have been processed. If this is not the case, the method jumps back to step 16 , whereupon the next pixel data are calculated. If the result in step 18 is negative, the method skips step 20 and jumps directly to step 22 . If all pixels have been processed, ie if the determination in step 22 is yes, the method is ended in a step 24 . The method described above is thus carried out until all spatial three-dimensional image data have been processed.

Das oben beschriebene Verfahren weist einen Nachteil dahin­ gehend auf, daß ein separater Z-Pufferspeicher benötigt wird und das Verfahren daher speicherintensiv ist.The method described above has one disadvantage going on that a separate Z buffer memory is needed and the method is therefore memory-intensive.

Ausgehend von dem genannten Stand der Technik besteht die Aufgabe der vorliegenden Erfindung darin, ein Verfahren und eine Vorrichtung zum Ablegen von Pixeldaten für eine dreidi­ mensionale Darstellung in einem Rahmenpufferspeicher zu schaffen, die einen geringen Speicherbedarf aufweisen.Based on the prior art mentioned, there is Object of the present invention therein, a method and a device for storing pixel data for a dreidi dimensional representation in a frame buffer create that have a low memory requirement.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 13 gelöst.This object is achieved by a method according to claim 1 and solved a device according to claim 13.

Die vorliegende Erfindung schafft ein Verfahren zum Ablegen von Pixeldaten für eine dreidimensionale Darstellung einer Bildszene auf einem Bildschirm in einem Rahmenpufferspei­ cher, der für jedes Pixel der Bildszene einen Speicherort aufweist, wobei die Pixeldaten für ein jeweiliges Pixel Po­ sitionsinformationen bezüglich des Speicherorts in dem Rah­ menpufferspeicher, Tiefeninformationen, die die räumliche Entfernung des anzuzeigenden Pixels von einem Betrachter an­ geben, und zumindest Darstellungsinformationen für das je­ weilige Pixel enthalten, wobei für jedes Pixel eine Mehrzahl von Pixeldaten existieren kann. Zunächst werden für alle Pi­ xel der Bildszene die Tiefeninformationen jeweils der Pixel­ daten eines Pixels, deren Tiefeninformationen die kürzeste räumliche Entfernung des anzuzeigenden Pixels von dem Be­ trachter angeben, an dem zugeordneten Speicherort für das jeweilige Pixel abgelegt. Nachfolgend werden für alle Pixel der Bildszene die Darstellungsinformationen jeweils der Pi­ xeldaten eines Pixels, deren Tiefeninformationen den im vor­ herigen Schritt abgelegten Tiefeninformationen für dieses Pixel entsprechen, an dem Speicherort für dieses Pixel in dem Rahmenpufferspeicher abgelegt.The present invention provides a method of filing of pixel data for a three-dimensional representation of a Image scene on a screen in a frame buffer that stores a location for each pixel of the image scene , the pixel data for a respective pixel Po sition information regarding the location in the frame menu buffer, depth information representing the spatial Distance of the pixel to be displayed from a viewer give, and at least presentation information for that ever contain pixels, with a plurality for each pixel of pixel data can exist. First, for all Pi xel of the image scene the depth information of each pixel data of a pixel whose depth information is the shortest spatial distance of the pixel to be displayed from the Be Specify the trachten in the assigned location for the respective pixels stored. Below are for all pixels of the picture scene the display information of the Pi xel data of a pixel whose depth information corresponds to that in the previous step filed depth information for this Pixels in the location for that pixel stored in the frame buffer.

Beim Ablegen der Darstellungsinformationen werden die vorher gespeicherten Tiefeninformationen vorzugsweise derart über­ schrieben, daß abgelegte Farbinformationen von abgelegten Tiefeninformationen unterscheidbar sind.When the display information is stored, it is saved beforehand  stored depth information preferably in such a way wrote that filed color information from filed Depth information is distinguishable.

Die vorliegende Erfindung schafft somit ein Verfahren, das die Aufbereitung von Bilddaten, d. h. das Ablegen derselben in einem Rahmenpufferspeicher, mit einer Z-Puffer-gesteuer­ ten Beseitigung von versteckten Oberflächen, ohne einen ge­ trennten Z-Pufferspeicher zu benötigen, ermöglicht. Das er­ findungsgemäße Verfahren verwendet zwei Aufbereitungsdurch­ läufe pro Bildrahmen, um dieses Ziel zu erreichen. Die vor­ liegende Erfindung ermöglicht einen Kompromiß zwischen dem Aufbereitungsverhalten und dem Speicherverbrauch. Für viele tatsächliche Anwendungen bedeutet dieser Kompromiß keinen großen Verhaltensnachteil, stellt jedoch eine beträchtliche Speichereinsparung dar.The present invention thus provides a method that the processing of image data, d. H. dropping them in a frame buffer, with a Z buffer controller removal of hidden surfaces without a ge requires separate Z buffer storage. That he The method according to the invention uses two processing steps runs per frame to achieve this goal. The before lying invention allows a compromise between the Processing behavior and memory consumption. For many this compromise does not mean actual applications great behavioral disadvantage, however, represents a considerable one Memory saving.

Das Verfahren der vorliegenden Erfindung ist am vorteilhaf­ testen einsetzbar, wenn die Anzahl von Bits pro Darstel­ lungs-Wert eines Pixels gleich der Anzahl von Bits pro Z-Wert ist. Eine übliche Größe für den Darstellungs-Wert bzw. den Z-Wert ist eine Breite von 16 Bit. Jedoch ist auch die Verwendung anderer Darstellungs- und Z-Wert-Größen ohne wei­ teres möglich.The method of the present invention is most advantageous test usable if the number of bits per representation value of a pixel is equal to the number of bits per Z value is. A common size for the display value or the Z value is 16 bits wide. However, that too Use of other representation and Z-value sizes without white teres possible.

Bei dem erfindungsgemäßen Verfahren kann vorteilhaft ein Hintergrund-Z-Profil verwendet werden, um den Rahmenpuffer­ speicher zu initialisieren. Ferner kann das Hintergrundbild nach Abschluß des erfindungsgemäßen Verfahrens verwendet werden, um Speicherorte, die nicht mit Darstellungsinforma­ tionen von Bildpixeln beschrieben wurden, mit den Darstel­ lungsinformationen des Hintergrundbilds zu beschreiben.In the method according to the invention, one can advantageously Background Z profile used to frame the buffer initialize memory. Furthermore, the background image used after completion of the method according to the invention to locations that are not related to presentation information tions of image pixels have been described with the representations descriptive information of the background image.

Bei 3D-Anwendungen, auf die sich die vorliegende Erfindung bezieht, sind häufig einem Pixel eine Mehrzahl von Pixelda­ ten zugeordnet. Dabei beziehen sich die einzelnen Pixeldaten beispielsweise auf unterschiedliche Bildobjekte, die im Be­ reich dieses Pixels überlappen. Das erfindungsgemäße Verfah­ ren liefert ein wenig speicherintensives Verfahren, um die Pixeldaten aus der Mehrzahl von Pixeldaten zu bestimmen, de­ ren Darstellungsinformationen schließlich auf einem Anzeige­ bildschirm dargestellt werden sollen und dieselben in dem Bildspeicher abzulegen.In 3D applications, to which the present invention relates are frequently one pixel a plurality of Pixelda th assigned. The individual pixel data relate, for example, to different image objects that overlap in the area of this pixel. The method according to the invention provides a less memory-intensive method for determining the pixel data from the plurality of pixel data, whose display information is ultimately to be displayed on a display screen and for storing the same in the image memory.

Wie oben beschrieben, verwendet das erfindungsgemäße Verfah­ ren dazu zwei Aufbereitungsdurchläufe pro Bildszene oder Bildrahmen. Im ersten Durchlauf werden jeweils die Posi­ tionsinformationen und die Tiefeninformationen von jeweili­ gen Pixeldaten eines Pixels berechnet, die Tiefeninformatio­ nen mit den bereits an dem, durch die Positionsinformationen der berechneten Pixeldaten bestimmten Speicherort abgelegten Tiefeninformationen verglichen, und die Tiefeninformationen an dem Speicherort abgelegt, wenn der Vergleich ergibt, daß die neuen Tiefeninformationen eine kürzere Entfernung des anzuzeigenden Pixels von dem Betrachter angeben als die be­ reits an dem jeweiligen Speicherort abgelegten Tiefeninfor­ mationen. Diese Schrittfolge wird während des ersten Durch­ laufs für alle räumlichen dreidimensionalen Bilddaten für alle Bildobjekte zyklisch wiederholt, wodurch am Ende des Durchlaufs in dem Bildspeicher ein Z-Profil des gesamten Bildrahmens, bzw. der gesamten Szene, vorliegt.As described above, the method according to the invention uses ren two preparation runs per image scene or Picture frame. In the first run, the posi tion information and the depth information of each computed pixel data of a pixel, the depth information with those already on the position information of the calculated pixel data stored location Depth information compared, and depth information filed in the location if the comparison reveals that the new depth information is a shorter distance from the Specify pixels to be displayed by the viewer as the be depth information already stored in the respective storage location mations. This sequence of steps is carried out during the first through run for all spatial three-dimensional image data for all picture objects are repeated cyclically, whereby at the end of the Pass through a z-profile of the whole in the frame buffer Picture frame, or the entire scene.

Im zweiten Durchlauf werden dann jeweils die Positionsinfor­ mationen, die Tiefeninformationen und die Darstellungsinfor­ mationen von jeweiligen Pixeldaten eines Pixels berechnet, die berechneten Tiefeninformationen mit den bereits an dem durch die Positionsinformationen festgelegten Speicherort gespeicherten Tiefeninformationen verglichen, und die Dar­ stellungsinformationen der jeweiligen Pixeldaten des jewei­ ligen Pixels an dem betreffenden Speicherort abgelegt, wenn die berechneten Tiefeninformationen mit den bereits an dem Speicherort abgelegten Tiefeninformationen übereinstimmen. Diese Schrittfolge wird während des zweiten Durchlaufs wie­ derum für sämtliche Pixeldaten zyklisch wiederholt, worauf­ hin nach dem zweiten Durchlauf für sämtliche anzuzeigenden Pixel jeweils die vordersten Darstellungsinformationen in dem Bildspeicher gespeichert sind.In the second run, the position information is then mations, the depth information and the presentation information calculations of the respective pixel data of a pixel, the calculated depth information with that already on the location determined by the location information stored depth information compared, and the Dar position information of the respective pixel data of the respective stored pixels in the relevant location if the calculated depth information with that already on the Stored depth information match. This sequence of steps will be like during the second pass which is repeated cyclically for all pixel data, whereupon towards the second run for all to be displayed Pixels each the foremost display information in  stored in the image memory.

Die vorliegende Erfindung schafft ferner eine Vorrichtung, die eine Verarbeitungseinheit und einem Rahmenpufferspeicher aufweist, zum Durchführen der beschriebenen Verfahren.The present invention further provides an apparatus a processing unit and a frame buffer has, for performing the described methods.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen:Preferred embodiments of the present invention are referred to below with reference to the attached drawing nations explained in more detail. Show it:

Fig. 1 ein Flußdiagramm eines bekannten Verfahrens zum Able­ gen von Farbinformationen bezüglich auf einem Bild­ schirm darzustellender Pixel einer Bildszene in einem Bildspeicher; und Fig. 1 is a flowchart of a known method for deflecting gene of color information with respect to an image screen darzustellender pixels of an image scene in an image memory; and

Fig. 2 ein Flußdiagramm eines bevorzugten Ausführungsbei­ spiels des erfindungsgemäßen Verfahrens zum Ablegen von Farbinformationen bezüglich auf einem Bildschirm darzustellender Pixel einer Bildszene in einem Bild­ speicher. Fig. 2 is a flowchart of a preferred embodiment of the inventive method for storing color information relating to pixels to be displayed on a screen of an image scene in an image memory.

Das in Fig. 2 in Flußdiagrammform dargestellte Verfahren be­ ginnt bei 30. In einem folgenden Schritt 32 wird ein Bild­ speicher, der einen Speicherort für jedes auf einem Bild­ schirm darzustellende Pixel aufweist, mit Tiefeninformatio­ nen eines Hintergrundbildes vorinitialisiert. Nach diesem Schritt befindet sich in dem Bildspeicher, dem Rahmenpuffer­ speicher, ein "Z-Profil" des Hintergrundbilds. Die Tiefenin­ formationen des Hintergrundbilds können für jedes Pixel ei­ nen konstanten Tiefen-Wert definieren. Bei dem bezugnehmend auf Fig. 2 beschriebenen Ausführungsbeispiel sind die Z-Wer­ te, durch die die Tiefeninformationen definiert sind, auf einen Wertebereich von (8000)16 bis (FFFF)16 skaliert.The process shown in flowchart form in FIG. 2 begins at 30 . In a subsequent step 32 , an image memory that has a storage location for each pixel to be displayed on a screen is pre-initialized with depth information of a background image. After this step there is a "Z profile" of the background image in the frame memory, the frame buffer. The depth information of the background image can define a constant depth value for each pixel. In the exemplary embodiment described with reference to FIG. 2, the Z values by which the depth information is defined are scaled to a value range from (8000) 16 to (FFFF) 16 .

Nach dem Schritt 32 springt das Verfahren zu einem Schritt 34, in dem die Positionsinformationen, d. h. die X,Y-Koordi­ naten, und die Tiefeninformationen, d. h. der Z-Wert, von Pi­ xeldaten für ein zu zeichnendes Pixel in bekannter Weise aus räumlichen 3D-Daten berechnet werden. Der Z-Wert wird dabei auf den Bereich (8000)16 bis (FFFF)16 skaliert. Nach dieser Berechnung im Schritt 34 springt das Verfahren zu einem Schritt 36, in dem der im Schritt 34 berechnete Z-Wert mit dem an dem durch die X,Y-Koordinaten definierten Speicherort gespeicherten Z-Wert, der von der Initialisierung oder frü­ heren Pixeldaten für das Pixel mit den gegebenen X,Y-Koordi­ naten stammt, verglichen wird. In dem Vergleich wird festge­ stellt, ob der im Schritt 34 neu berechnete Z-Wert kleiner ist als der bereits an dem zugeordneten Speicherort (X, Y) gespeicherte Wert.After step 32 , the method jumps to step 34 , in which the position information, ie the X, Y coordinates, and the depth information, ie the Z value, of pixel data for a pixel to be drawn in a known manner from spatial 3D -Data are calculated. The Z value is scaled to the range (8000) 16 to (FFFF) 16 . After this calculation in step 34 , the method jumps to a step 36 , in which the z-value calculated in step 34 with the z-value stored in the storage location defined by the x, y coordinates, from the initialization or previous pixel data for the pixel with the given X, Y coordinates. The comparison determines whether the Z value newly calculated in step 34 is smaller than the value already stored in the assigned storage location (X, Y).

Ergibt der Vergleich im Schritt 36, daß der neue Z-Wert kleiner ist als der bereits gespeicherte Z-Wert, heißt das, daß die Tiefeninformationen, die im Schritt 34 berechnet wurden, eine Entfernung von einem Betrachter in der anzuzei­ genden Bildszene definieren, die kleiner ist als die Entfer­ nung, die durch die Tiefeninformationen, die bereits an die­ sem Speicherort gespeichert waren, definiert ist. Ist dies der Fall, wird der im Schritt 34 berechnete Z-Wert im Schritt 38 an den Speicherort (X, Y) geschrieben. Dies bedeu­ tet, daß jeweils die Tiefeninformationen von Pixeldaten für ein Pixel, die eine kürzere Entfernung zum Betrachter defi­ nieren, über Tiefeninformationen von Pixeldaten für dieses Pixel, die eine größere Entfernung zu dem Betrachter defi­ nieren, geschrieben werden. Nachfolgend springt das Verfah­ ren zu einem Schritt 40, in dem überprüft wird, ob die vor­ her verarbeiteten Pixeldaten die letzten zu verarbeitenden Pixeldaten waren, oder ob weitere räumliche 3D-Daten in Pi­ xeldaten umzuwandeln sind. Sind weitere räumliche 3D-Daten umzuwandeln, springt das Verfahren zurück zum Schritt 34. Hat der im Schritt 36 durchgeführte Vergleich ein negatives Ergebnis zur Folge, wird der an dem Speicherort (X, Y) des Bildspeichers gespeicherte Z-Wert nicht überschrieben, und das Verfahren springt direkt zu dem Schritt 40.If the comparison in step 36 shows that the new Z value is smaller than the already stored Z value, this means that the depth information which was calculated in step 34 defines a distance from a viewer in the image scene to be displayed which is less than the distance defined by the depth information that was already stored in that location. If this is the case, the Z value calculated in step 34 is written to the storage location (X, Y) in step 38 . This means that the depth information of pixel data for a pixel that defines a shorter distance from the viewer is written over depth information of pixel data for this pixel that defines a greater distance from the viewer. The method subsequently jumps to a step 40 , in which a check is carried out to determine whether the previously processed pixel data were the last pixel data to be processed or whether further spatial 3D data are to be converted into pixel data. If further spatial 3D data are to be converted, the method jumps back to step 34 . If the comparison carried out in step 36 results in a negative result, the Z value stored in the storage location (X, Y) of the image memory is not overwritten, and the method jumps directly to step 40 .

Wird im Schritt 40 festgestellt, daß die verarbeiteten Pi­ xeldaten die letzten Pixeldaten für ein auf einem Bildschirm anzuzeigendes Szenenbild waren, d. h. keine weiteren räumli­ chen 3D-Daten für diese Bildszene mehr vorliegen, ist der erste Aufbereitungsdurchlauf des erfindungsgemäßen Verfah­ rens beendet. In dem Bildspeicher ist nun ein Z-Profil der Bildszene gespeichert. An den Speicherorten des Bildspei­ chers ist nunmehr jeweils der kleinste Z-Wert, der in allen Pixeldaten, die einem zu dem jeweiligen Speicherort gehören­ den Pixel zugeordnet sind, aufgetreten ist, gespeichert. Wie bereits beschrieben wurde, können bei einer dreidimensiona­ len Darstellung eine Mehrzahl von Pixeldaten für ein auf ei­ nem Bildschirm anzuzeigenden Pixel existieren, wobei die einzelnen Pixeldaten jeweils Bildobjekten zugeordnet sind, die räumlich hintereinander oder überlappend angeordnet sind. Der Bildspeicher enthält nach dem als erster Durchlauf bezeichneten Verfahrensabschnitt (Schritte 32, 34, 36, 38 und 40) nun jeweils für jedes Pixel den Z-Wert, der die kür­ zeste Entfernung zu einem Betrachter definiert.If it is determined in step 40 that the processed pixel data was the last pixel data for a scene image to be displayed on a screen, ie there are no further spatial 3D data for this image scene, the first processing run of the method according to the invention is ended. A Z profile of the image scene is now stored in the image memory. At the storage locations of the image memory, the smallest Z-value that has occurred in all pixel data associated with the pixels belonging to the respective storage location is now stored. As already described, a plurality of pixel data for a pixel to be displayed on a screen can exist in a three-dimensional representation, the individual pixel data being associated with image objects which are arranged spatially one behind the other or overlapping. After the process section referred to as the first pass (steps 32 , 34 , 36 , 38 and 40 ), the image memory now contains the Z value for each pixel, which defines the shortest distance to a viewer.

Wird im Schritt 40 festgestellt, daß sämtliche Pixeldaten verarbeitet wurden, springt das Verfahren zu einem Schritt 42. Im Schritt 42 werden für ein Pixel zu verarbeitende Pi­ xeldaten berechnet, die Positionsinformationen, d. h. die X,Y-Koordinaten, Tiefeninformationen, d. h. den Z-Wert, und Darstellungsinformationen, die im folgenden als Farbinforma­ tionen bezeichnet werden, enthalten. In einem Schritt 44 wird nachfolgend der im Schritt 42 für ein Pixel berechnete Z-Wert mit dem an dem durch die X,Y-Koordinaten des ent­ sprechenden Pixels definierten Speicherort im ersten Durch­ lauf abgelegten Z-Wert verglichen. Durch diesen Vergleich mit dem gespeicherten Z-Profil auf Gleichheit wird ermit­ telt, ob die berechneten Pixeldaten für das Pixel am Spei­ cherort (X, Y) die "Vordersten" in der Bildszene, die durch das erfindungsgemäße Verfahren aufbereitet wird, sind. Er­ gibt der Vergleich im Schritt 44 eine Übereinstimmung, d. h. definieren die im Schritt 42 berechneten Tiefeninformationen diese Pixeldaten als die "Vordersten" an den jeweiligen X,Y-Koordinaten, wird der am Speicherort (X, Y) gespeicherte Z-Wert mit den im Schritt 42 berechneten Farbinformationen überschrieben, Schritt 46.If it is determined in step 40 that all pixel data have been processed, the method jumps to step 42 . In step 42 , pixel data to be processed are calculated which contain position information, that is to say the X, Y coordinates, depth information, that is to say the Z value, and display information which are referred to below as color information. In a step 44 , the Z value calculated in step 42 for a pixel is subsequently compared with the Z value stored at the storage location defined by the X, Y coordinates of the corresponding pixel in the first pass. This comparison with the stored Z profile for equality determines whether the calculated pixel data for the pixel at the storage location (X, Y) are the "foremost" in the image scene, which is processed by the method according to the invention. It gives the comparison in step 44 a match, ie if the depth information calculated in step 42 defines this pixel data as the "foremost" at the respective X, Y coordinates, the Z value stored at the storage location (X, Y) is compared with the value in the Step 42 overwrites calculated color information, step 46 .

Bei dem bezugnehmend auf Fig. 2 beschriebenen Ausführungs­ beispiel der vorliegenden Erfindung belegen die Farbinforma­ tionen Farbwerte im Wertebereich von 0 bis (7FFF)16. Dadurch sind diese Farbwerte stets ungleich einem Z-Wert, da die Z-Werte auf einen Bereich von (8000)16 bis (FFFF)16 skaliert sind. Dadurch ist ein in den Bildspeicher geschriebener Farbwert vor einem erneuten Überschreiben gesichert, da er durch die Skalierung als Farbwert erkennbar ist.In the embodiment of the present invention described with reference to FIG. 2, the color information occupies color values in the value range from 0 to (7FFF) 16 . As a result, these color values are always unequal to a Z value, since the Z values are scaled to a range from (8000) 16 to (FFFF) 16 . As a result, a color value written in the image memory is secured against being overwritten again, since it can be recognized as a color value by the scaling.

Nach dem Schritt 46 springt das Verfahren zu einem Schritt 48, in dem überprüft wird, ob alle Pixeldaten verarbeitet wurden. Ist dies nicht der Fall, springt das Verfahren zum Schritt 42 zurück, woraufhin weitere Pixeldaten verarbeitet werden. Ergibt der Vergleich im Schritt 44 keine Überein­ stimmung, springt das Verfahren direkt zum Schritt 48, in dem wiederum geprüft wird, ob die verarbeiteten Pixeldaten die letzten Pixeldaten sind, oder ob weitere räumliche 3D-Daten vorliegen.After step 46 , the method jumps to step 48 , in which it is checked whether all the pixel data have been processed. If this is not the case, the method jumps back to step 42 , whereupon further pixel data are processed. If the comparison in step 44 does not match, the method jumps directly to step 48 , in which it is again checked whether the processed pixel data is the last pixel data or whether further spatial 3D data is available.

Die Schleife 42, 44, 46, 48 wird somit solange durchlaufen, bis alle räumlichen 3D-Daten und somit Pixeldaten verarbei­ tet sind. Somit entsteht der Vordergrund der Szene, da für jedes Pixel die den Pixeldaten mit dem jeweils kleinsten Z-Wert zugehörigen Farbinformationen in dem Bildspeicher ge­ speichert werden. Ferner enthalten Koordinaten, an denen der Hintergrund durchscheint, weiterhin dessen Tiefeninformatio­ nen, die bei diesem Ausführungsbeispiel des erfindungsgemä­ ßen Verfahrens zu Beginn im Schritt 32 initialisiert wurden.The loop 42 , 44 , 46 , 48 is thus run through until all spatial 3D data and thus pixel data have been processed. The foreground of the scene thus arises, since for each pixel the color information associated with the pixel data with the smallest Z value is stored in the image memory. Furthermore, coordinates at which the background shines through also contain its depth information, which was initialized in step 32 in this exemplary embodiment of the method according to the invention.

Wird im Schritt 48 festgestellt, daß alle Pixeldaten verar­ beitet wurden, springt das Verfahren zu einem Schritt 50, in dem alle noch im Bildspeicher vorhandenen Z-Werte mit den Farbinformationen des Hintergrundbilds überschrieben werden. Nach diesem Schritt enthält der Bildspeicher nur noch Farb­ werte, die die gesamte Bildszene, die nachfolgend auf dem Bildschirm angezeigt werden soll, darstellen. Das Verfahren endet dann im Schritt 52.If it is determined in step 48 that all the pixel data have been processed, the method jumps to a step 50 in which all the Z values still present in the image memory are overwritten with the color information of the background image. After this step, the image memory only contains color values that represent the entire image scene that is subsequently to be displayed on the screen. The method then ends in step 52 .

Während der Schleife, die durch die Schritte 42, 44, 46 und 48 definiert ist, wobei dieser Abschnitt des erfindungsge­ mäßen Verfahrens im folgenden auch als zweiter Durchlauf be­ zeichnet wird, werden nur diejenigen Farbinformationen eines Pixels in den Bildspeicher geschrieben, die durch die Pixel­ daten definiert sind, deren Z-Wert die geringste Entfernung des Betrachters von diesem Pixel definiert. Es sei bemerkt, daß dadurch bei dem zweiten Durchlauf beträchtliche Band­ breiteneinsparungen existieren können, da keine Farbinforma­ tionen zunächst in den Bildspeicher geschrieben werden und nachfolgend überschrieben werden.During the loop, which is defined by steps 42 , 44 , 46 and 48 , this section of the method according to the invention also being referred to below as a second pass, only that color information of a pixel is written into the image memory by the pixels data are defined whose z-value defines the smallest distance of the viewer from this pixel. It should be noted that this can result in significant bandwidth savings in the second pass since no color information is first written to the frame buffer and subsequently overwritten.

Neben dem oben beschriebenen Verfahren, bei dem die Z-Werte und die Farb-Werte auf unterschiedliche Wertebereiche ska­ liert sind, um unterscheidbar zu sein, kann diese Unter­ scheidbarkeit auch auf die folgende Weise realisiert werden, um die Benutzung des gleichen Puffers sowohl für die Tie­ feninformationen als auch die Darstellungs-Informationen zu ermöglichen. Bei dem speziellen Ausführungsbeispiel wird je­ weils ein Bit aus den Darstellungs-Informationen bzw. Z-In­ formationen entnommen und verwendet, um die zwei Informa­ tionstypen zu unterscheiden. Dies bedeutet, daß die Auflö­ sungen der beiden Informationstypen jeweils um ein Bit redu­ ziert wird. Häufig werden 16-Bit-Pixel mit fünf Bit für den roten und den blauen Kanal und sechs Bit für den grünen Ka­ nal gespeichert. Folglich könnte das erforderliche Bit aus dem Grün-Kanal entnommen werden, ohne die Aufbereitungsqua­ lität wesentlich zu beeinflussen. Auch die Verringerung der Bitanzahl der Z-Informationen von 16 Bit auf 15 Bit bewirkt keine wesentliche Qualitätsverschlechterung.In addition to the procedure described above, in which the Z values and the color values ska to different value ranges to be distinguishable, this sub separability can also be realized in the following way, to use the same buffer for both the tie as well as the display information enable. In the special embodiment, each because a bit from the display information or Z-In Formations taken and used to the two informa to differentiate between types. This means that the resolution solutions of the two types of information each by one bit is decorated. Often, 16-bit pixels are used with five bits for the red and the blue channel and six bits for the green Ka saved. As a result, the required bit could be out be taken from the green channel without the reprocessing qua influence significantly. Even reducing the Number of bits of the Z information from 16 bits to 15 bits no significant deterioration in quality.

Alternativ wäre es denkbar, die Breite des Puffers um ein Bit zu erhöhen, ohne einen Auflösungsverlust zu erleiden, wie oben beschrieben ist. Jedoch ist in vielen Systemen die Pufferbreite nicht vollständig willkürlich. Die nächstmögli­ che Breite über 16 Bit könnte beispielsweise 24 Bit oder 32 Bit sein. Dadurch würden die durch das erfindungsgemäße Ver­ fahren und die erfindungsgemäße Vorrichtung gelieferten Ein­ sparungen der Speichergröße verringert werden.Alternatively, it would be conceivable to increase the width of the buffer by one Increment bit without suffering a loss of resolution, as described above. However, in many systems Buffer width not completely arbitrary. The next possible For example, the width over 16 bits could be 24 bits or 32  Bit. As a result, the Ver drive and the device supplied according to the invention savings in memory size can be reduced.

Das erfindungsgemäße Verfahren ist mittels herkömmlicher, auf dem Gebiet der Computergraphikdarstellung bekannten Sy­ stemen durchführbar. Jedoch erfordert das erfindungsgemäße Verfahren im Gegensatz zu bekannten Systemen für dreidimen­ sionale Darstellungen keinen gesonderten Pufferspeicher für die Z-Werte, wobei ein Bildspeicher sowohl für die Z-Werte als auch die Darstellungsinformationen der anzuzeigenden Pixel verwendet wird. Eine weitere Vereinfachung des erfin­ dungsgemäßen Verfahrens wird erreicht, wenn entweder die Hintergrund-Z-Werte oder die Hintergrund-Pixelfarben oder beide konstante Werte aufweisen.The method according to the invention is by means of conventional Sy known in the field of computer graphics feasible. However, this requires the invention Process in contrast to known systems for three dimensions sional representations no separate buffer memory for the Z values, with an image store for both the Z values as well as the display information of the ones to be displayed Pixel is used. Another simplification of the inventions The inventive method is achieved when either Background z values or the background pixel colors or both have constant values.

Für Fachleute sind verschiedene Abweichungen der beschriebe­ nen erfindungsgemäßen Verfahren, beispielsweise Modifikatio­ nen dahingehend, wie Tiefeninformationen und Darstellungsin­ formationen in dem Bildspeicher unterscheidbar sind, offen­ sichtlich. Wie in der Technik üblich, werden bei der Bild­ aufbereitung jeweils ganze Bildobjekte, die durch die räum­ lichen 3D-Daten definiert sind, betrachtet. Vorzugsweise werden während des ersten Durchlaufs des erfindungsgemäßen Verfahrens (Schritte 34 bis 40) solche Bildobjekte jeweils zusammenhängend abgearbeitet. Dabei könnte während des er­ sten Durchlaufs des erfindungsgemäßen Verfahrens (Schritte 34 bis 40) eine Flag verwendet werden, um Informationen be­ züglich der Sichtbarkeit des ganzen Objekts zu erzeugen, wo­ bei die Flag auf wahr gesetzt wird, wenn während des ersten Durchlaufs festgestellt wird, daß zumindest ein Pixel des ganzen Objekts sichtbar ist. Während des zweiten Durchlaufs kann die Flag dann verwendet werden, um die Aufbereitung, d. h. die Durchführung der Schritte 42 bis 48, vollständig unsichtbarer Objekte wegzulassen. Dies könnte abhängig von der Anwendung das Verhalten des erfindungsgemäßen Verfahrens beträchtlich verbessern.Various deviations from the described method according to the invention, for example modifications in how depth information and display information can be distinguished in the image memory, are evident to the person skilled in the art. As is common in technology, entire image objects that are defined by the spatial 3D data are viewed during image processing. Such image objects are preferably processed continuously during the first run of the method according to the invention (steps 34 to 40 ). A flag could be used during the first run of the method according to the invention (steps 34 to 40 ) in order to generate information relating to the visibility of the entire object, where the flag is set to true if it is determined during the first run, that at least one pixel of the whole object is visible. During the second pass, the flag can then be used to omit the preparation, ie the execution of steps 42 to 48 , of completely invisible objects. Depending on the application, this could considerably improve the behavior of the method according to the invention.

Claims (13)

1. Verfahren zum Ablegen von Pixeldaten für eine dreidimen­ sionale Darstellung einer Bildszene auf einem Bildschirm in einem Rahmenpufferspeicher, der für jedes Pixel der Bildszene einen Speicherort aufweist, wobei die Pixel­ daten für ein jeweiliges Pixel Positionsinformationen bezüglich des Speicherorts in dem Rahmenpufferspeicher, Tiefeninformationen, die die räumliche Entfernung des anzuzeigenden Pixels von einem Betrachter angeben, und zumindest Darstellungsinformationen für das jeweilige Pixel enthalten, und wobei für jedes Pixel eine Mehrzahl von Pixeldaten existieren kann, mit folgenden Schritten:
  • a) für alle Pixel der Bildszene, Ablegen (34, 36, 38, 40) der Tiefeninformationen jeweils der Pixeldaten eines Pixels, deren Tiefeninformationen die kürzeste räumliche Entfernung des anzuzeigenden Pixels von dem Betrachter angeben, an dem zugeordneten Spei­ cherort für das jeweilige Pixel in dem Rahmenpuffer­ speicher; und nachfolgend
  • b) für alle Pixel der Bildszene, Ablegen (42, 44, 46, 48) der Darstellungsinformationen jeweils der Pixel­ daten eines Pixels, deren Tiefeninformationen den im vorherigen Schritt abgelegten Tiefeninformationen für dieses Pixel entsprechen, an dem Speicherort für dieses Pixel in dem Rahmenpufferspeicher.
1. A method for storing pixel data for a three-dimensional representation of an image scene on a screen in a frame buffer memory, which has a storage location for each pixel of the image scene, the pixel data for a respective pixel position information with respect to the storage location in the frame buffer memory, depth information, the specify the spatial distance of the pixel to be displayed from a viewer, and at least contain display information for the respective pixel, and wherein a plurality of pixel data can exist for each pixel, with the following steps:
  • a) for all pixels of the image scene, storing ( 34 , 36 , 38 , 40 ) the depth information of each pixel data of a pixel, the depth information of which indicates the shortest spatial distance of the pixel to be displayed from the viewer, at the associated storage location for the respective pixel in store the frame buffer; and below
  • b) for all pixels of the image scene, storing ( 42 , 44 , 46 , 48 ) the display information of each pixel data of a pixel whose depth information corresponds to the depth information for this pixel stored in the previous step, in the storage location for this pixel in the frame buffer memory.
2. Verfahren gemäß Anspruch 1, bei dem im Schritt a) zu­ nächst vorgegebene Tiefeninformationen für jedes Pixel an den jeweiligen Speicherorten des Rahmenpufferspei­ chers abgelegt werden.2. The method according to claim 1, in which in step a) next specified depth information for each pixel at the respective storage locations of the frame buffer memory be stored. 3. Verfahren gemäß Anspruch 2, bei dem im Schritt a) zu­ nächst Tiefeninformationen eines Hintergrundbildes an den jeweiligen Speicherorten des Rahmenpufferspeichers abgelegt werden.3. The method according to claim 2, in which in step a) next depth information of a background image the respective storage locations of the frame buffer memory  be filed. 4. Verfahren gemäß Anspruch 2 oder 3, bei dem im Schritt a) jeweils:
  • a1) die Positionsinformationen und die Tiefeninforma­ tionen jeweiliger Pixeldaten eines Pixels aus räum­ lichen 3D-Bilddaten berechnet werden (34),
  • a2) die Tiefeninformationen mit den bereits an dem be­ treffenden Speicherort abgelegten Tiefeninformatio­ nen verglichen werden (36), und
  • a3) die Tiefeninformationen an dem Speicherort abgelegt werden (38), wenn der Vergleich (36) ergibt, daß die neuen Tiefeninformationen eine kürzere Entfer­ nung des anzuzeigenden Pixels von dem Betrachter angeben als die bereits an dem jeweiligen Speicher­ ort abgelegten Tiefeninformationen.
4. The method according to claim 2 or 3, wherein in step a):
  • a1) the position information and the depth information of respective pixel data of a pixel are calculated from spatial 3D image data ( 34 ),
  • a2) the depth information is compared with the depth information already stored at the relevant storage location ( 36 ), and
  • a3) the depth information is stored in the storage location ( 38 ) if the comparison (36) shows that the new depth information indicates a shorter distance of the pixel to be displayed from the viewer than the depth information already stored in the respective storage location.
5. Verfahren gemäß Anspruch 4, bei dem im Schritt b) je­ weils:
  • b1) die Positionsinformationen, die Tiefeninformationen und die Darstellungsinformationen jeweiliger Pixel­ daten eines Pixels aus den räumlichen 3D-Bilddaten berechnet werden (42) ,
  • b2) die berechneten Tiefeninformationen mit den bereits an dem betreffenden Speicherort gespeicherten Tie­ feninformationen verglichen werden (44), und
  • b3) die Darstellungsinformationen der jeweiligen Pixel­ daten des jeweiligen Pixels an dem betreffenden Speicherort abgelegt werden (46), wenn die berech­ neten Tiefeninformationen mit den bereits an dem Speicherort abgelegten Tiefeninformationen überein­ stimmen.
5. The method according to claim 4, wherein in step b) each:
  • b1) the position information, the depth information and the display information of respective pixel data of a pixel are calculated from the spatial 3D image data ( 42 ),
  • b2) the calculated depth information is compared with the depth information already stored at the storage location in question ( 44 ), and
  • b3) the display information of the respective pixel data of the respective pixel are stored ( 46 ) when the calculated depth information matches the depth information already stored at the storage location.
6. Verfahren gemäß Anspruch 5, bei dem die Schritte a1) bis a3) zyklisch wiederholt werden, bis alle räumlichen dreidimensionalen Daten abgearbeitet sind, und nachfol­ gend die Schritte b1) bis b3) zyklisch wiederholt wer­ den, bis alle dreidimensionalen Daten abgearbeitet sind.6. The method according to claim 5, wherein steps a1) to a3) are repeated cyclically until all spatial three-dimensional data are processed, and succession The steps b1) to b3) are repeated cyclically until all three-dimensional data has been processed. 7. Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem im Schritt b) im Rahmenpuffer abgelegte Tiefeninformationen beim Ablegen von Darstellungsinformationen überschrieben werden, wobei im Rahmenpufferspeicher abgelegte Darstel­ lungsinformationen von abgelegten Tiefeninformationen unterscheidbar sind.7. The method according to any one of claims 1 to 6, in which Step b) depth information stored in the frame buffer overwritten when storing display information are, with stored in the frame buffer memory information from stored depth information are distinguishable. 8. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem je­ weils ein Bit an jedem Speicherort des Rahmenpufferspei­ chers verwendet wird, um anzuzeigen, ob Tiefeninforma­ tionen oder Darstellungsinformationen an dem Speicherort abgelegt sind.8. The method according to any one of claims 1 to 7, in which each because one bit at each location of the frame buffer chers is used to indicate whether depth information tion or presentation information in the storage location are filed. 9. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem für die Ablage der Tiefeninformationen und die Ablage der Darstellungsinformationen in dem Rahmenpufferspeicher unterschiedliche Wertebereiche verwendet werden, derart, daß unterscheidbar ist, ob an einem Speicherort Tiefen­ informationen oder Darstellungsinformationen abgelegt sind.9. The method according to any one of claims 1 to 7, in which for the storage of depth information and the storage of Presentation information in the frame buffer different value ranges are used, such that it is distinguishable whether depths are in a storage location information or display information are. 10. Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem die Darstellungsinformationen Farbinformationen, Schattie­ rungsinformationen und/oder Texturinformationen ein­ schließen.10. The method according to any one of claims 1 to 9, wherein the Representation information Color information, Schattie tion information and / or texture information conclude. 11. Verfahren gemäß einem der Ansprüche 2 bis 10, bei dem im Schritt b) an allen Speicherorten des Rahmenpufferspei­ chers, an denen keine Darstellungsinformationen abgelegt wurden, Darstellungsinformationen des Hintergrundbilds abgelegt werden (50). 11. The method according to any one of claims 2 to 10, in which, in step b), display information of the background image is stored ( 50 ) at all storage locations of the frame buffer memory in which no display information has been stored. 12. Verfahren gemäß einem der Ansprüche 1 bis 11, wobei die Pixeldaten in Pixeldatengruppen gruppiert sind, wobei eine jeweilige Pixeldatengruppe ein jeweiliges Bildob­ jekt definiert, wobei das Verfahren ferner den Schritt des Setzens einer Flag für eine jeweilige Pixeldaten­ gruppe im Schritt a) aufweist, wenn die Tiefeninforma­ tionen der Pixeldaten von zumindest einem der Pixel des Bildobjekts im Schritt a) abgelegt werden, wobei im Schritt b) Pixeldatengruppen, deren Flag nicht gesetzt ist, nicht berücksichtigt werden.12. The method according to any one of claims 1 to 11, wherein the Pixel data is grouped into pixel data groups, where a respective pixel data group a respective image ject defined, the method further comprising the step setting a flag for a respective pixel data group in step a) if the depth information tion of the pixel data of at least one of the pixels of the Image object are stored in step a), wherein in Step b) pixel data groups whose flag is not set is not taken into account. 13. Vorrichtung zum Ablegen von Bilddaten für eine dreidi­ mensionale Darstellung einer Bildszene auf einem Bild­ schirm, die eine Verarbeitungseinrichtung und einen Rah­ menpufferspeicher, der für jedes Pixel der Bildszene ei­ nen Speicherort aufweist, aufweist, wobei die Pixeldaten für ein jeweiliges Pixel Positionsinformationen bezüg­ lich des Speicherorts in dem Rahmenpufferspeicher, Tie­ feninformationen, die die räumliche Entfernung des anzu­ zeigenden Pixels von einem Betrachter angeben, und zu­ mindest Darstellungsinformationen für das jeweilige Pi­ xel enthalten, und wobei für jedes Pixel eine Mehrzahl von Pixeldaten existieren kann, wobei die Verarbeitungs­ einrichtung folgende Merkmale aufweist:
eine Einrichtung zum Ablegen der Tiefeninformationen jeweils der Pixeldaten eines Pixels, deren Tiefeninfor­ mationen die kürzeste räumliche Entfernung des anzuzei­ genden Pixels von dem Betrachter angeben, an dem zuge­ ordneten Speicherort für das jeweilige Pixel in dem Rah­ menpufferspeicher; und
eine Einrichtung zum Ablegen der Darstellungsinformatio­ nen jeweils der Pixeldaten eines Pixels, deren Tiefenin­ formationen im Rahmenpufferspeicher abgelegten Tiefenin­ formationen für dieses Pixel entsprechen, an dem Spei­ cherort für dieses Pixel in dem Rahmenpufferspeicher.
13. Apparatus for storing image data for a three-dimensional representation of an image scene on a screen, which has a processing device and a frame buffer memory which has a storage location for each pixel of the image scene, the pixel data for a respective pixel having positional information the location in the frame buffer, depth information indicating the spatial distance of the pixel to be displayed from a viewer, and at least representation information for the respective pixel, and wherein a plurality of pixel data can exist for each pixel, the processing device following Features:
means for storing the depth information of each pixel data of a pixel, the depth information of which indicates the shortest spatial distance of the pixel to be displayed from the viewer, at the assigned storage location for the respective pixel in the frame buffer memory; and
means for storing the representation information of each pixel data of a pixel, the depth information of which corresponds to the depth information stored in the frame buffer memory for this pixel, at the storage location for this pixel in the frame buffer memory.
DE1997108237 1997-02-28 1997-02-28 Method and device for storing three-dimensional image data in a frame buffer memory Withdrawn DE19708237A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE1997108237 DE19708237A1 (en) 1997-02-28 1997-02-28 Method and device for storing three-dimensional image data in a frame buffer memory
PCT/EP1998/000428 WO1998040848A1 (en) 1997-02-28 1998-01-27 Method and device for filing 3-d picture data in a frame buffer storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997108237 DE19708237A1 (en) 1997-02-28 1997-02-28 Method and device for storing three-dimensional image data in a frame buffer memory

Publications (1)

Publication Number Publication Date
DE19708237A1 true DE19708237A1 (en) 1998-09-03

Family

ID=7821883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997108237 Withdrawn DE19708237A1 (en) 1997-02-28 1997-02-28 Method and device for storing three-dimensional image data in a frame buffer memory

Country Status (2)

Country Link
DE (1) DE19708237A1 (en)
WO (1) WO1998040848A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10331231B4 (en) * 2003-07-10 2005-12-15 Eads Deutschland Gmbh Method for transferring depth information into the depth memory of a graphics card for displaying 3D panoramic images

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606685A1 (en) * 1993-01-15 1994-07-20 International Business Machines Corporation Method and apparatus for reducing illumination calculations through efficient visibility determination
GB2299919A (en) * 1992-07-24 1996-10-16 Fujitsu Ltd Image processing apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598516A (en) * 1993-06-21 1997-01-28 Namco Ltd. Image synthesizing system and video game apparatus using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2299919A (en) * 1992-07-24 1996-10-16 Fujitsu Ltd Image processing apparatus
EP0606685A1 (en) * 1993-01-15 1994-07-20 International Business Machines Corporation Method and apparatus for reducing illumination calculations through efficient visibility determination

Also Published As

Publication number Publication date
WO1998040848A1 (en) 1998-09-17

Similar Documents

Publication Publication Date Title
EP0984397B1 (en) Method and device for elimination of unwanted steps in raster displays
DE69919497T2 (en) Method and apparatus for volume rendering with multiple depth buffers
DE10296401B4 (en) Composite rendering of 3-D graphics objects
DE69333508T2 (en) Apparatus and method for processing video signals
DE3619420C2 (en)
DE69839277T2 (en) METHOD AND ARRANGEMENT FOR IMPLEMENTING COLOR KEYS, TRANSPARENCY AND FOG FUNCTIONS
DE69534751T2 (en) Image data generating method, image data processing device and recording medium
DE60120474T2 (en) GRINDING OF THREE-DIMENSIONAL PICTURES
DE60115034T2 (en) REFINEMENT OF THREE-DIMENSIONAL POLYGONAL GRID DATA
DE4341304A1 (en) Method and device for using a video buffer
DE19709220A1 (en) Accelerated occlusion culling process for computer graphics system
DE102004007835A1 (en) Device for displaying dynamic complex scenes
DE19917092A1 (en) Accelerated method for grid forming of graphic basic element in order beginning with graphic base element instruction data to produce pixel data for graphic base element
DE102013013562A1 (en) TILE-BASED COMPUTER GRAPHICS
DE602004003111T2 (en) Deep-based antialiasing
DE102018125472B4 (en) Graphics processor that performs sampling-based rendering and method for operating the same
EP0862141A2 (en) Image presentation method and apparatus
EP2528042A1 (en) Method and device for the re-meshing of 3D polygon models
DE112011105126T5 (en) Texture mapping device
DE102014206914A1 (en) A stereoscopic treatment system
DE69813992T2 (en) Image forming apparatus, method and program recording medium, image composition device, method and program recording medium
DE4100691A1 (en) METHOD FOR PRESENTING A THREE-DIMENSIONAL MODEL
DE69910980T2 (en) ANTIALIASING WITH SUB-SCAN FOR TEXTURE EDGES
DE19620858A1 (en) Computer graphics system with pixel depth indication
DE60030401T2 (en) Display techniques for three-dimensional virtual reality

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal