DE69919497T2 - Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern - Google Patents

Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern Download PDF

Info

Publication number
DE69919497T2
DE69919497T2 DE69919497T DE69919497T DE69919497T2 DE 69919497 T2 DE69919497 T2 DE 69919497T2 DE 69919497 T DE69919497 T DE 69919497T DE 69919497 T DE69919497 T DE 69919497T DE 69919497 T2 DE69919497 T2 DE 69919497T2
Authority
DE
Germany
Prior art keywords
volume
depth
buffer
color
cut surface
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
DE69919497T
Other languages
English (en)
Other versions
DE69919497D1 (de
Inventor
Hugh C. Concord Lauer
Larry D. Boylston Seiler
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.)
TeraRecon Inc
Original Assignee
TeraRecon Inc
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 TeraRecon Inc filed Critical TeraRecon Inc
Publication of DE69919497D1 publication Critical patent/DE69919497D1/de
Application granted granted Critical
Publication of DE69919497T2 publication Critical patent/DE69919497T2/de
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
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft im Allgemeinen Computergraphik und spezieller die Darstellung der inneren Strukturen von Objekten oder Mustern.
  • HINTERGRUND DER ERFINDUNG
  • Das Gebiet der Darstellung dreidimensionaler (3D) Objekte oder synthetischer Muster kann in zwei Hauptbereiche aufgeteilt werden: Polygondarstellung und Volumendarstellung. Die Polygondarstellung betrifft nur die Oberflächen-Topologie, während sich die Volumendarstellung auch mit der inneren Struktur von Objekten oder Mustern befasst.
  • Polygondarstellung
  • In Prozessoren und Verfahren, die für eine Polygondarstellung ausgelegt sind, werden die Oberflächen des Objektes oder Musters als Polygone, z.B. Dreiecke und Linien, beschrieben. Diese elementaren geometrischen Komponenten werden verwendet, um einen Teil bildende „Fragmente", die die äußere Oberfläche darstellen, zu erzeugen. Ein Fragment ist so definiert, dass es ausschließlich aus Informations (daten) besteht, die benötigt werden, um ein einzelnes Bildpixel, das sich auf der Oberfläche befindet, zum Beispiel die x- und y-Koordinaten des Pixels, die Farbwerte Rot, Grün und Blau des Pixels, einen die Undurchsichtigkeit, Tiefenwerte, Strukturkoordinaten und dergleichen abbildender Alpha-Wert, darzustellen („zu zeichnen"). Fragmente können in einen Farbpuffer (oder Bildpuffer) gemischt werden, bevor sie als Pixel dargestellt werden.
  • Volumendarstellung
  • In Prozessoren und Verfahren, die für eine Volumendarstellung ausgelegt sind, ist das Basismodul ein dreidimensionales Voxelelement. In Abhängigkeit von einer Betrachtungs- oder Projizierungsrichtung (Beobachtungswinkelbereich) können Voxel interpoliert werden, um Volumenabtastungen zu liefern. Die interpolierten Volumenabtastungen können als den oben definierten Fragmenten gleichwertig betrachtet werden. Die Volumendarstellung erzeugt eine Messbasis oder eine zweidimensionale Anordnung von Farbwerten, die als der Bildebene gleichwertig betrachtet werden können. Diese Übereinstimmung erleichtert es, eine Polygondarstellung mit einer Volumendarstellung und eine Anwendung von programmierenden Schnittstellen der im Allgemeinen verwendeten Darstellungssysteme zu integrieren.
  • Ein natürliches Problem bei der dreidimensionalen Darstellung als Polygon oder Volumen setzt sich damit auseinander, wie man die dritte Dimension zum Zwecke des Vergleichs der Positionen von Objekten, der Bestimmung von Einschluss, Schnitt, einer Ausschnittsvergrößerung usw. am besten darstellt.
  • Tiefe bei Polygondarstellung
  • Zum Beispiel speichert OpenGL (Open Graphics Library), eine gewöhnlich verwendete Zusatzsoftware für graphische Darstellung, einen einzigen Tiefenwert (z) für jedes Pixel, das sich in einer ebenen (x, y) Position in dem Bildpuffer befindet. Dort wird jedes Fragment in Abhängigkeit von einem wählbaren Vergleich mit der entsprechenden Tiefe des Fragments und dem Tiefenwert, der dem entsprechenden Pixel zugeordnet ist, entweder in den Bildpuffer gemischt oder verworfen. Normalerweise ist der Operator für Tiefenvergleich Wenigerals, wobei ein Tiefenpuffer mit einer vorgegebenen Hintergrundfarbe und Tiefenwerten initialisiert wird. Wenn die Tiefe des Fragments geringer ist als die entsprechende Tiefe, dann wird die Abtastung gemischt, andererseits wird sie verworfen.
  • Um komplexere Anwendungen unterzubringen, erlaubt OpenGL die Auswahl eines beliebigen von acht Bezugsvergleichen. Für undurchsichtige Fragmente bewirkt die Vergleichsoperation, dass das Ergebnis das gleiche ist, als wenn die Fragmente sortiert wären, bevor sie dargestellt werden. Zum Beispiel wählt ein „Weniger-als-Vergleich" Fragmente mit kleineren Tiefenwerten aus und verwirft diejenigen mit größeren Tiefenwerten. Dies entspricht dem Sortieren der Fragmente von hinten (größere Tiefe) nach vorn (kleinere Tiefe) in Bezug auf den Ansichtspunkt.
  • Mit OpenGL gibt es keine gute Möglichkeit, durchsichtige, mit Tiefenpuffer versehene Dreiecke darzustellen. Undurchsichtige Dreiecke können in beliebiger Reihenfolge dargestellt werden, wobei das Mischen unter Kontrolle der Tiefeninformation ein bekanntes Verfahren zur Verfügung stellt, um verborgene Linien und Flächen von dem Aufnahmegegenstand zu entfernen. Für durchsichtige Dreiecke hängt der sich ergebende Wert eines Pixels im Bildpuffer jedoch von der Reihenfolge ab, in der die Dreiecke dargestellt werden. Deshalb besteht im OpenGL ein normales Verfahren zur Darstellung von Geometrien (Polygonen), die nicht undurchsichtig sind, darin, zuerst undurchsichtige Dreiecke darzustellen, anschließend durchsichtige Dreiecke zu sortieren und zuletzt die Dreiecke in einer Reihenfolge von vorn nach hinten darzustellen. Wenn sich zwei durchsichtige Dreiecke derart schneiden, dass jedes das andere teilweise abdeckt, dann müssen die Dreiecke vor einer Darstellung zuerst in kleinere, nicht abdeckende Dreiecke geteilt werden.
  • Tatsächlich definiert der Tiefenpuffer von OpenGL eine dynamische Schnittfläche. Der Tiefenpuffer trennt Fragmente, die sich näher an der Bildebene befinden, von denen, die sich entfernter davon befinden, was es ermöglicht, auf dieser Basis Fragmente selektiv zu verwerfen. Darüber hinaus wird der Tiefenpuffer während einer Darstellung dynamisch aktualisiert, wobei auf diese Weise die Schnittfläche „bewegt" wird, so dass spätere Fragmente anders als frühere Fragmente verarbeitet werden.
  • Ein weiteres bekanntes Verfahren zur Darstellung von durchsichtigen Polygonen erfordert kein Sortieren und Unterteilen der Dreiecke. Stattdessen nutzt dieses Verfahren mehrere Darstellungsdurchläufe mit zwei Tiefenpuffern. Die beiden Tiefenpuffer werden verwendet, um die durchsichtigen Fragmente zu sortieren. Dieses Verfahren kann jedoch nicht mit OpenGL verwendet werden, weil OpenGL nur einen einzelnen Tiefenpuffer unterstützt. Andere Verfahren sortieren Dreiecke von vorn nach hinten, anstatt von hinten nach vorn. Eine Reihenfolge von vorn nach hinten ist effektiver, weil diese Reihenfolge das Äquivalent einer frühen Strahlbeendigung erlaubt, die einschließt, Objekte zu ignorieren, die durch näher gelegene Objekte abgedeckt werden. Alle diese Verfahren versuchen im Grunde genommen, eine Gruppe von (am Anfang) ungeordneten Dreiecken darzustellen, als wären alle ihre Fragmente an jedem Pixelort von hinten nach vorn oder von vorn nach hinten dargestellt.
  • Tiefe bei Volumendarstellung
  • Wenn ein Volumen dargestellt wird, kann es besser sein, von vorn nach hinten anstatt von hinten nach vorn darzustellen. Eine Darstellung von vorn nach hinten erlaubt es einem, einen frühen Strahlabschluss durchzuführen. Jedoch ist die Differenz zwischen den beiden Reihenfolgen einfach eine Sache der Effizienz: Die Reihenfolge von vorn nach hinten mit Unter-Mischen sollte das gleiche Ergebnis bewirken wie die Reihenfolge von hinten nach vorn mit Über-Mischen. In vielen Fällen kann die Reihenfolge der Darstellung auf der Basis einer persönlichen Bevorzugung ausgewählt werden.
  • Um mit OpenGL verträglich zu sein, sollte ein während der Volumendarstellung verwendeter Tiefenpuffer Volumenabtastungen in der gleichen Weise bewirken, wie der Tiefenpuffer von OpenGL die Fragmente bewirkt. Die Tiefe jeder Volumenabtastung sollte gegen den entsprechenden Wert in dem Tiefenpuffer verglichen werden, wobei die Farbe der Abtastung anschließend in Abhängigkeit vom Ergebnis des Vergleiches entweder gemischt oder verworfen werden muss. Die Anfangswerte des Farbpuffers definieren eine Hintergrundfarbe oder ein Bild von einem etwas anderen Objekt. Die Anfangswerte müssen hinter die Abtastungen, die nicht verworfen sind, gemischt werden.
  • Komplexe Volumendarstellung
  • Es gibt viele Anwendungen, bei denen einige Objekte als Volumen dargestellt und andere Objekte als Polygone nachgebildet werden. Es ist erwünscht, alle Objekte in dem gleichen endgültigen Bild darzustellen. Darüber hinaus können diese Objekte einander durchdringen. Zum Beispiel kann es notwendig sein, Markierer, Zusatz-Software und andere Objekte, die als Polygone nachgebildet werden, in ein Objekt einzubetten, das als ein Volumen dargestellt wird und in korrekter Juxtaposition in Bezug auf das Volumen für jede Blickrichtung dargestellt werden muss. In einer beispielhaften medizinischen Anwendung muss ein Volumenobjekt, das ein menschliches Herz darstellt, und ein weiteres Volumenobjekt, das die menschlichen Lungen und Bronchien darstellt, auf dem gleichen Bild dargestellt werden, so dass sich das Herz in korrekter Juxtaposition bezüglich der Lungen befindet.
  • Es wird der Fall betrachtet, wo eine undurchsichtige Geometrie während einer Volumendarstellung gemischt werden soll. Unter dem Aspekt von Hinten-nach-vorn kann dies durchgeführt werden, indem zuerst die undurchsichtige Geometrie dargestellt und dann das sich ergebende Tiefenbild auf einen Tiefenpuffer und eine Messbasis kopiert wird. Als Nächstes den Tiefenvergleich auf Weniger-als einstellen und das Volumen von Hinten-nachvorn darstellen. Diese Reihenfolge von Operationen verwirft Volumenabtastungen, die sich hinter der undurchsichtigen Geometrie befinden, mit anderen Worten, Volumenabtastungen, die Tiefenwerte von größer als der oder gleich dem Tiefenpuffer aufweisen. Die Over-Operation wird genutzt, um Abtastungen zu mischen, die sich vorn befinden, d.h. Abtastungen, die Tiefenwerte aufweisen, die kleiner als der Tiefenpuffer sind.
  • Die gleiche Wirkung kann mit einer Volumendarstellung von vorn nach hinten erreicht werden. ZG sei ein Tiefenpuffer und CG ein von der Messbasis getrennter Farbpuffer. Man geht wie folgt vor: Darstellung der undurchsichtigen Geometrie zum Beispiel mittels OpenGL und Kopieren der sich ergebenden Bild- und Tiefenwerte auf CG bzw. ZG. Als Nächstes die Messbasis auf RGB α = 0 initialisieren. Diesem Schritt durch Darstellung des Volumens folgen. Für jede Abtastung die z-Koordinate der Position der Abtastung mit dem entsprechenden Wert in ZG vergleichen und die Abtastung verwerfen, es sei denn, die Abtastung besteht die Weniger-als-Prüfung und liegt genau vor dem Tiefenpuffer ZG. Mischen der nicht verworfenen Abtastungen in die Messbasis mittels der Under-Operation. Als letzten Schritt die Inhalte von CG unter der Messbasis ebenfalls mittels der Under-Operation mischen. Dies erzeugt die gleiche Wirkung wie eine Darstellung von hinten nach vorn mit Over und mit der auf die Farbe der undurchsichtigen Geometrie initialisierten Messbasis.
  • Diese Verfahren sind nicht auf eine undurchsichtige Geometrie beschränkt, sie können auch eine einzelne Schicht einer durchsichtigen Geometrie wie folgt unterstützen. Darstellen der Geometrie in OpenGL. Kopieren der sich ergebenden RGB α- und z-Werte auf CG bzw. ZG. Die Messbasis auf RGB α = 0 zurück stellen. Das Volumen wie mit undurchsichtiger Geometrie darstellen, alle Abtastwerte, die die Weniger-als-Prüfung gegen ZG nicht bestehen, verwerfen. Fortsetzen, bis alle Strahlen enden, entweder dadurch, dass die Tiefenprüfung nicht bestanden ist oder es undurchsichtig wird oder dadurch, dass das Ende des Volumens erreicht wird, ganz gleich was zuerst kommt.
  • Als Nächstes Mischen der Inhalte von CG mittels der Under-Operation und speichern des Ergebnisses zurück in die Messbasis. Anschließend in einem zweiten Arbeitsgang, die Messbasis nicht zurückstellen. Darstellen des Volumens mit der Tiefenprüfung Größer-oder-gleich, d.h. Abtastungen verwerfen, die sich vor dem Tiefenpuffer befinden und diejenigen akzeptieren, die größer als dieser oder gleich diesem sind, während mit der Under-Operation gemischt wird. Das Ergebnis ist eine „Scheibe" von durchsichtiger Geometrie durch das Volumen. Abschließend die Hintergrundfarbe hinter die sich ergebende Messbasis mischen. Dies kann auch in einem einzigen Arbeitsgang vorgenommen werden. Einfach eine weitere Prüfung auf z-Wert hinzufügen, das heißt „jetzt Geometrie mischen" zusammen mit einer zusätzlichen Gruppe von Mischstufen, um die Mischoperation zwischen zwei Abtastungen durchzuführen, ohne irgendwelche Zyklen zu verlieren.
  • Diese Verfahren besitzen jedoch ernsthafte Einschränkungen. Ein einzelner Tiefenpuffer unterstützt eingebettete, mehrschichtige, durchsichtige (transparente) Geometrien nicht. Es ist wahrscheinlich, dass einige Anwendungen undurchsichtige Geometrien aufweisen werden, z.B. Markierungsmittel oder Prothetik in medizinischen Anwendungen. Andere Anwendungen, wie geologische Aufnahmen, können eingebettete Verwerfungsflächen oder eine andere durchsichtige Geometrie oder Markierungsmittel enthalten. Es ist wahrscheinlich, dass sich diese durchscheinenden Objekte überlappen werden, indem mehrfache Geometrieschichten zum Mischen in das Volumen erzeugt werden. Darüber hinaus gibt es viele mögliche Mischungen undurchsichtiger und durchsichtiger Geometrien, die verarbeitet werden müssen, während Volumenobjekte und Polygonobjekte in dem gleichen Aufnahmegegenstand kombiniert werden.
  • Deshalb ist es erwünscht, ein Verfahren und ein System zur Verfügung zu stellen, um räumliche Objekte und Muster darzustellen, die komplexe undurchsichtige und durchsichtige, innere Strukturen enthalten.
  • ABRISS DER ERFINDUNG
  • Es wird ein Verfahren und eine Vorrichtung zur Darstellung eines dreidimensionalen Volumens auf einer zweidimensionalen Bildebene bereitgestellt, derart, dass andere Objekte in das Volumen eingebettet werden können. In dem erfindungsgemäßen Verfahren werden zwei Tiefenpuffer angewendet, um eine nahe Schnittfläche und eine entfernte Schnittfläche zu definieren. Es werden außerdem mehrere Farbpuffer verwendet, wobei einer jeder Schnittfläche entspricht.
  • Dann wird der Teil des Volumens, der zwischen den beiden Schnittflächen liegt, dargestellt, wobei Farbe und Opazität von jedem Strahl aus dem nahen Farbpuffer initialisiert und die akkumulierte Farbe und Opazität mit dem entfernten Farbpuffer gemischt werden.
  • Die beiden Schnittflächen und Farbpuffer werden anschließend kombiniert, und aus dem kombinierten Ergebnis werden eine neue Schnittfläche und ein neuer Farbpuffer erzeugt. Der Teil des Volumens, der zwischen der kombinierten Schnittfläche und der nächsten Schnittfläche liegt, wird in der Weise wie der vorherige Teil dargestellt. Diese Schritte werden wiederholt, bis das gesamte Volumen dargestellt ist, wobei Farbe und Opazität jeweils in einem Teil akkumuliert werden und mit der Farbe und den Opazitäten der zwischen den Teilen eingeführten verschiedenen Farbpuffern kombiniert werden.
  • Jeder Farb- und Tiefenpuffer stellt einen Teil einer Fläche oder die gesamte Fläche eines Objektes dar, das in das Volumen eingebettet ist. Durch Darstellung des Volumens zwischen den Flächen und durch Mischung von Farbe und Opazität jeder Fläche wird ein Aufnahmegegenstand erzielt, der ein Volumen mit eingebetteten Objekten aufweist. Darüber hinaus können die Flächen der eingebetteten Objekte durchscheinend sein, wodurch es Teilen des Volumens und anderen abgedeckten Objekten ermöglicht ist, durch diese Flächen sichtbar zu werden. Durch diese Mittel können komplexe und durchsichtige Strukturen abgebildet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 das Blockdiagramm eines die vorliegende Erfindung nutzenden Darstellungssystems;
  • 2 das Ablaufdiagramm eines Verfahrens, das durch das System von 1 verwendet wird;
  • 3 die schematische Darstellung eines Volumens oder Musters zwischen zwei Tiefenflächen;
  • 4 das Ablaufdiagramm eines Verfahrens, das einen Teil eines Volumens zwischen Schnittflächen darstellt;
  • 5 die schematische Darstellung einer doppelten Komparatorschaltung zum Auswählen oder Verwerfen von Volumenabtastungen während der Mischung; und
  • 6 das Ablaufdiagramm eines erfindungsgemäßen Verfahrens.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Aufbau des Systems
  • In 1 zeigen wir eine allgemeine Umgebung, in der unsere Erfindung verwendet werden kann. Ein System 100 macht dreidimensionale (3D) Objekte oder Muster auf einer zweidimensionalen (2D) Bildebene sichtbar. Das System 100 umfasst einen Grafikprozessor 120, der durch einen Speicherbus 130 mit dem Grafikspeicher 110 verbunden ist. Der Grafikprozessor 120 ist durch einen Mehrzweckbus 150 mit einem Computersystem (CPU) 140 verbunden. Die CPU 140 ist mit den Eingabe- und Ausgabevorrichtungen 160 und 170 verbunden. Eingabevorrichtungen können Quellen grafischer Daten und Befehle zur Beeinflussung der Daten sein. Ausgabevorrichtungen können eine Anzeigevorrichtung umfassen.
  • Der Grafikspeicher 110 kann angewiesen werden, verschiedene Typen von grafischen Daten zu speichern. Zum Beispiel kann der Speicher 110 einen Voxelspeicher 112 und Farbpuffer (C) 114 umfassen, um jeweils Voxeldaten und Pixel(Farb-)daten zu speichern. Farbpuffer sind auch als Bildpuffer oder Pixelspeicher bekannt. Es soll angemerkt werden, dass Teile des Speichers 110 in Abhängigkeit von der speziellen, verwendeten Darstellungsmethodik für andere Zwecke zugeordnet werden können. Zum Beispiel kann ein Sektionsspeicher verwendet werden, wenn ein Volumen zu dem Zeitpunkt als Sektion dargestellt wird.
  • Die CPU 140 ist herkömmlich. Grafische Daten und Steuerbefehle werden über die Eingabevorrichtungen 160 eingegeben und dargestellte Bilder an die Ausgabevorrichtungen 170 übergeben. Die Eingabedaten können reale Objekte oder Muster darstellen. Die Eingabedaten können durch Mikroskope, Kameras, Teleskope, Scanner, Signalgeber und dergleichen erlangt werden, oder die Eingabedaten können synthetisch erzeugt werden, um zum Beispiel physikalische Systeme zu modellieren.
  • Die Transformation von Eingabedaten (Voxelelemente) zu Ausgabedaten (Pixel) wird von dem nachstehend ausführlicher beschriebenen Grafikprozessor 120 durchgeführt. Es soll verständlich werden, dass die Funktionalität des Prozessors auch durch Software-Prozesse, obwohl normalerweise mit einer erheblich langsameren Geschwindigkeit, erreicht werden kann.
  • Mehrere Tiefenpuffer
  • Nach unserer Erfindung ist ein Teil des Speichers 110 mehreren Tiefenpuffern 116, zum Beispiel einem nahen (oder Anfangs-) Tiefenpuffer (Zn) 118 und einem entfernten (oder End-) Tiefenpuffer (Zf) 119 zugeordnet. Verwendung und Vorteile von mehreren Tiefenpuffern 116 werden nachstehend ausführlicher beschrieben. Zum Darstellen eines dreidimensionalen, grafischen Objekts verwenden wir mindestens zwei Tiefenpuffer. Tatsächlich definieren die Tiefenpuffer „Schnittflächen", die genutzt werden, um Teile des darzustellenden Objekts auszuwählen. Zur Vorn-nach-hinten Darstellung definiert der nahe Tiefenpuffer eine Anfangsschnittfläche, und der entfernte Tiefenpuffer definiert eine Endschnittfläche. Es soll verständlich werden, dass zusätzliche Schnittflächen definiert werden können, indem mehrere Tiefenpuffer hinzugefügt werden.
  • Arbeitsweise des Systems
  • Wir haben mit Bezug auf 2 die allgemeine Arbeitsweise des grafischen Prozessors oder von Verfahren 120 beschrieben. Wie oben angegeben, kann die Funktionalität des grafischen Prozessors 120 auch durch einen Softwareprozess erzielt werden, obwohl wir eine Hardware-Ausführung bevorzugen, um eine hohe Leistungsfähigkeit zu erreichen. Tatsächlich realisieren wir als ein Merkmal den grafischen Prozessor 120 auf einem einzigen Halbleiterchip mittels paralleler Datenverarbeitungs-Pipelines.
  • Gemäß 2 verfährt ein umgeleiteter Prozessor oder Prozess 200 wie folgt. Die Voxel 201 werden zuerst geschnitten 205, um Teile des Volumens zu entfernen, die außerhalb des Blickfeldes oder Beobachtungswinkelbereichs liegen. Die verbleibenden Abtastwerte 206 werden klassifiziert und interpoliert, und es werden Gradienten 210 bestimmt. Die Reihenfolge, in der die Unterschritte der Klassifizierung, Interpolation und Gradientenbestimmung durchgeführt werden, kann für unterschiedliche Anwendungen variieren.
  • In jedem Fall weist der Schritt 210 die Farb-(RGB) und Opazitäts- (α) Werte 211 den Abtastwerten zusammen mit einer Bestimmung des Gradienten an jedem Abtastpunkt zu. Diese resultierenden RGB α-Werte 211 werden anschließend beleuchtet 220, um Hervorhebungen und Schatten einzuführen, wodurch ein realistischeres Bild eines dreidimensionalen Objektes zur Verfügung gestellt wird. Der Beleuchtungsschritt 220 kann von einer Reflexionskarte Gebrauch machen.
  • Zuletzt werden im Schritt 230 die beleuchteten Abtastungen 221 zusammengesetzt. Dieser Schritt kann auch einen wahlweise zusätzlichen Schneidschritt umfassen. Das Zusammensetzen bezieht sich auf die Schritte des Sammelns und Mischens von Farb- und Opazitätswerten an Abtastpunkten entlang von Strahlen und des Zuordnens dieser Informationen zu Pixeln 231 des zweidimensionalen Bildes.
  • Einführung in mehrere Tiefenpuffer
  • Gemäß 3 definiert jeder Tiefenpuffer 118 und 119 von 1 eine entsprechende „Schnittfläche" oder „Schnittform". Der nahe Tiefenpuffer 118 definiert eine nahe oder Anfangsschnittfläche 318, und der entfernte Tiefenpuffer 119 definiert eine entfernte oder Endschnittfläche 319. Das Objekt enthält als Festkörper dargestellte, undurchsichtige Teile 310 und lichtdurchlässige Teile 320, die schattiert dargestellt sind. Die nahen und entfernten Schnittflächen bestimmen, wie das Volumen 300 darzustellen ist.
  • Als ein Vorteil ermöglicht unsere Erfindung das Darstellen von Teilen des Objekts, das durchgreifend unterschiedliche Eigenschaften und beliebige geometrische Anordnungen aufweist, zum Beispiel Objekte, die sich durchdringen. Es können Teile des Volumens ausgeschnitten werden, so dass sie von der Darstellung ausgeschlossen sind. Außerdem ermöglicht es uns unsere Erfindung, Polygon- und Volumendarstellungsverfahren zu integrieren.
  • Das allgemeine Verfahren
  • 4 zeigt die Schritte des allgemeinen Verfahrens zur Volumendarstellung gemäß unserer Erfindung. Der Schritt 410 definiert eine Anfangsschnittfläche und eine Endschnittfläche. Ein Teil des Volumens mit einer vorgegebenen Beziehung zu der Anfangsschnittfläche und der Endschnittfläche wird im Schritt 420 bearbeitet. Der Schritt 430 erzeugt eine nächste Anfangsschnittfläche, indem die Anfangs- und Endschnittflächen kombiniert werden. Der Schritt 430 erzeugt außerdem eine nächste Endschnittfläche. Der Schritt 440 wiederholt das Bearbeiten und Erzeugen für die nächsten Anfangs- und Endschnittflächen, bis ein Beendigungszustand erreicht ist.
  • Doppelter Vergleich
  • 5 zeigt die Mittel zur Bestimmung der Beziehung zwischen dem Teil des Volumens und den zwei Schnittflächen während der Bearbeitung des Teils. Die Mittel umfassen zwei relationale Vergleichseinrichtungen 510 und 520. Die Vergleichseinrichtungen dienen dazu, die Tiefe jeder in dem Voxelspeicher 112 gespeicherten Volumenabtastung gegenüber den Tiefenwerten in den Tiefenpuffern 118 und 119 zu vergleichen. Wenn beide Prüfungen bestanden sind (AND 530), die Abtastung darstellen, andererseits sie verwerfen. Wir können außerdem einen Modus (OR 540) bereitstellen, um die Abtastung darzustellen, wenn eine von beiden Prüfungen bestanden ist. Der Modus (AND/OR) kann durch den Multiplexer 550 ausgewählt werden. Die vorgegebenen relationalen Operatoren können kleiner als, gleich, größer als oder Kombinationen davon sein oder immer darstellen oder niemals darstellen.
  • Mehrere Tiefenpuffer zu haben, eröffnet eine Anzahl von Möglichkeiten, um Aufnahmegegenstände mit Kombinationen von Polygon-Geometrie und Volumenobjekte darzustellen, die weitaus komplexer sind als sie mit, sagen wir, herkömmlicher Volumendarstellung auf Strukturbasis erzielt werden können. Darüber hinaus machen wir eine Darstellung in Echtzeit möglich. Wir beschreiben das Verfahren jetzt ausführlicher für eine spezielle Abtastanwendung. Nachstehend werden Änderungen für andere Anwendungen gegeben.
  • Verarbeitung von Tiefeninformationen in mehreren Tiefenpuffern
  • Der Schritt 610 initialisiert einen nahen Farbpuffer (Cn) zu einer transparenten Farbe, z.B. transparentes Schwarz (RGB α = 0). Der Schritt 620 initialisiert den nahen (Anfangs-) Tiefenpuffer (Zn) zu der nahen Schnittfläche, d.h. das, was die vordere Ebene des Beobachtungswinkelbereichs sein wird.
  • Schnittflächen können in einer Anzahl von Methoden definiert werden. Zum Beispiel kann die Anwendung, mit Open Graphics Library (OpenGL), die Polygone in Schichten sortieren, um eine Schnittfläche zu definieren. Mit anderen Verfahren werden die Schnittflächen in dem Volumen definiert. Opazitäts- oder Gradienten-Schwellwerte können verwendet werden, um Flächen von eingebetteten Objekten zu finden.
  • Anschließend für jede Schnittfläche (630) die Schritte 640 bis 643 durchführen. Der entfernte Farbpuffer (Cf) wird zu der Schnittfläche initialisiert. Den entfernten Tiefenpuffer (Zf) zu der Tiefe der entfernten Schnittfläche initialisieren. Darstellen des Teils des Volumens, indem nur diejenigen Abtastungen mit Tiefenwerten größer als oder gleich der nahen Schnittfläche und kleiner als die entfernte Schnittfläche ausgewählt werden. Das Ergebnis (akkumulierte RGB α-Werte) in den nahen Farbpuffer und den Tiefenpuffer kombinieren sowie für die nächste Schnittfläche wiederholen.
  • Wenn ein Beendigungszustand erreicht ist, zum Beispiel wurde das gesamte Volumen dargestellt, schreibt der Schritt 650 den nahen Farbpuffer zu dem Bild aus. Es soll angemerkt werden, dass jede Schnittfläche nicht die gesamte Bildebene zu überdecken braucht. Für jedes Pixel, das nicht durch eine Schnittfläche überdeckt ist, sollten die entsprechenden Tiefenwerte der entfernten Schnittfläche auf Werte eingestellt werden, die kleiner als die der nahen Schnittfläche sind. Durch dieses Verfahren werden Teile des Volumens, die nicht durch eine spezielle Schnittfläche überdeckt sind, während einer Darstellung nicht ausgewählt.
  • Es wird jetzt eine Anzahl von Anwendungen unseres allgemeinen Verfahrens beschrieben. Zum Beispiel ermöglicht es unsere Erfindung mit zwei Tiefenpuffern, ein Volumen gegenüber einer beliebigen dreidimensionalen Fläche zu schneiden. Wir machen es außerdem möglich, eine beliebig komplexe, durchsichtige Geometrie mittels eines Vielfach-Algorithmus in ein Volumen einzubetten. Durch die Einbeziehung der Fähigkeit, in mehrere Tiefenpuffer zu schreiben, z.B. auf den Ausgang von einer Fläche des Volumens, wird es außerdem möglich, mehrere einander durchdringende Volumenobjekte in dem gleichen Aufnahmegegenstand darzustellen. Dies ist zum Beispiel nützlich, wenn das Herz und die Lungen als getrennte Objekte dargestellt werden, jedoch so, dass sie in Bezug zueinander in einer genauen Juxtaposition erscheinen.
  • Schneiden auf willkürliche Flächen
  • Zn und Zf seien die beiden Tiefenpuffer 118 bzw. 119. Wir können willkürlich wie folgt auf einige dreidimensionale Flächen darstellen. Darstellen der nach vorn weisenden Polygone auf Zn und der nach hinten weisenden Polygone auf Zf. Anschließend den Tiefenmodus auswählen, um Abtastungen darzustellen, die sowohl eine (logisches UND) Größer-als-Prüfung auf Zn als auch eine Kleiner-als-Prüfung auf Zf bestehen. Dies kann mit dem Schaltkreis von 5 vorgenommen werden. Folglich werden Abtastpunkte nur dann dargestellt, wenn sie zwischen Zn und Zf liegen. Es ist anzumerken, dass jeder Strahl enden kann, sobald seine z-Koordinate Zf erreicht.
  • Wir können auch eine beliebige dreidimensionale Fläche aus dem Inneren des Volumens 300 ausschneiden. Wie zuvor, die nach vorn weisenden Polygone auf Zn und die nach hinten weisenden Polygone auf Zf darstellen. Anschließend den Tiefenmodus auswählen, um Abtastungen darzustellen, die entweder eine Weniger-als-Prüfung auf Zn oder eine Größer-als-Prüfung (logisches ODER) auf Zf bestehen. Folglich werden Abtastpunkte nur dargestellt, wenn sie außerhalb von Zf und Zn liegen.
  • Es ist anzumerken, dass die Prüfungen zum Tiefenvergleich zu Beginn der Pipeline 200 und in der Compositing-Stufe 230 vorgenommen werden können. Dies erlaubt es uns Voxel, deren abhängigen Abtastungen durch die Tiefenprüfung später in der Pipeline 200 ausgeschnitten werden, zu überspringen. Das Überspringen von Voxeln reduziert Speicherzugriffe.
  • Einbetten einer mehrschichtigen, durchsichtigen Geometrie
  • Um eine beliebige durchsichtige Geometrie in ein Volumen einzubetten, ist es zuerst notwendig, die Geometrie in Schichten zu teilen, so dass in jeder Schicht nur ein Tiefenwert pro Schicht und Pixel vorhanden ist. Die Anzahl von Schichten, die benötigt werden, ist nicht mehr als eine und die ungünstigste Tiefenkomplexität der durchsichtigen Geometrie. Typischerweise ist diese Anzahl klein. Die hintere Schicht umfasst den undurchsichtigen Hintergrund des Aufnahmegegenstandes. Später werden wir Verfahren zur Erzeugung der Schichten von einer beliebigen Geometrie beschreiben.
  • Es gibt eine Anordnung von Tiefenpuffern ZGn und entsprechende Bild- oder Farbpuffer RGB αGn. Zusammen werden diese Tiefenbilder genannt. Z1 und Z2 seien die beiden Tiefenpuffer und C1 und C2 die beiden Farbpuffer. Wie wir sehen werden, ist C1 die Messbasis. Jetzt C1 auf RGB = 0 zurückstellen und Z1 auf die vordere Schnittfläche, entweder die vordere Schnittfläche des Beobachtungswinkelbereichs oder auf eine allgemeinere Schnittfläche einstellen. Jetzt Z2 ← ZG0 und C2 ← RGBG0 einstellen. Darstellen des Volumens von Vorn-nach-hinten auf C1 mittels Under und Verwerfen von Abtastungen, die nicht zwischen Z1 und Z2 liegen. Dies stellt die Abtastungen dar, die innerhalb des Beobachtungswinkelbereichs und vor ZG0 liegen. Wenn diese Darstellung vollständig ist, C1 mit C2 mittels Under mischen, wobei das Ergebnis in C2 übrig bleibt.
  • Z1 ← Z2 und C1 ← C2 einstellen. Dann Z2 ← ZG1 und C2 ← RGB αG1 einstellen und das Volumen erneut darstellen. Dies stellt die zwischen ZG0 und ZG1 liegenden Abtastungen dar, indem sie unter die vorherigen Abtastungen und die erste Geometrieschicht gemischt werden. Für jede Geometrieschicht wiederholen. Damit wird jede Geometrieschicht wiederum in ihre Stelle im Volumen gemischt. Die letzte Geometrieschicht ist der Hintergrund, der undurchsichtig sein muss.
  • Dieser Vielfach-Prozess kann ausgeführt werden, so dass er nahezu so schnell ist wie einfaches Darstellen der Geometrie und Darstellen des Volumens. Wenn wir eine Vorn-nach-hinten Darstellung mit Strahlbeendigung und Raumüberspringen nutzen, dann verarbeiten wir eine Mindestanzahl von Abtastungen, die sich vor dem nahen Tiefenpuffer befinden.
  • Es ist anzumerken, dass dieses Verfahren wie der oben erwähnte Schneidprozess voraussetzt, dass jede Abtastung ein einzelner Punkt ist, der entweder vor oder hinter dem im Tiefenpuffer einzeln angegebenen Tiefenwert liegt oder mit diesem zusammenfällt. Es ist möglich, jede Abtastung als einen Bereich, z.B. einen „Würfel aus Gallert" oder eine etwas andere Form, zu betrachten und den Tiefenwert so zu behandeln, als wenn er den Abtastbereich in zwei Teile teilt. Dies kann an den Schneidgrenzen der Geometrie einen Grad von Randglättung bewirken.
  • Mehrere Volumenobjekte im gleichen Aufnahmegegenstand
  • Durch Ergänzung der Fähigkeit, auf mehrfache Tiefenpuffer zu schreiben, machen wir es möglich, mehrere Volumenobjekte, die sich durchdringen, in dem gleichen Aufnahmegegenstand darzustellen. Wir machen jedoch die Annahme, dass keine zwei Volumenobjekte nicht-transparente Werte für die gleiche Voxelposition aufweisen. Das heißt, Volumen können sich nur in dem leeren Raum des anderen durchdringen, obwohl eine kleiner Umfang von Überlappung genau gehandhabt werden wird wie es nachstehend beschrieben ist.
  • Wir machen dies mit einem Vielfach-Prozess, der kein Sortieren der Volumenobjekte im Voraus erfordert.
  • Zuerst Z1 zu der Frontschnittfläche, wie oben erwähnt, initialisieren und C1 auf RGB α = 0 zurückstellen. Z2 zu der Rückseite aller Volumen und C2 zu der Hintergrundfarbe initialisieren. Anschließend jedes der Volumenobjekte in gewisser Reihenfolge wie folgt darstellen.
  • Nur Abtastungen zwischen Z1 und Z2 akzeptieren, Proben mittels Under entlang von Strahlen mischen, jedoch die Ergebnisse in einem Compositing-Puffer erhalten. Mittels einer Gradienten- oder α-Schwellenprüfung die hintere Fläche jedes Volumens entlang jedes Strahls detektieren. Immer wenn eine Fläche an einem Abtastpunkt entlang eines Strahls detektiert ist, diesen Strahl beenden. Die z-Koordinate dieser Abtastung gegenüber Z2 prüfen; wenn sie kleiner ist als der entsprechende Tiefenwert in Z2, dann den Tiefenwert in Z2 mit der z-Koordinate ersetzen und den Farbwert in C2 mit der akkumulierten Farbe für den Strahl aus dem Compositing-Puffer ersetzen. Für das nächste Volumenobjekt wiederholen, bis alle Volumenobjekte auf diese Weise dargestellt worden sind. Schließlich C1 mit C2 mischen, wobei das Ergebnis in C2 übrig bleibt.
  • Dies markiert das Ende des ersten Arbeitsgangs. Die sich ergebenden Z2 und C2 spiegeln die von vorn nach ganz hinten weisenden Flächen des kombinierten Aufnahmegegenstandes wider. Für jeden Strahl heißt das, sein Tiefenwert in Z2 ist der Austrittspunkt dieses Strahls von der Rückseite des Objektes, das sich am nächsten zu dem Betrachter befindet, und C2 ist die akkumulierte Farbe bis zu diesem Punkt. Durch Darstellung aller Objekte werden die Teile von jeder hinteren Fläche, die sich am nächsten zu dem Betrachter befindet, herausgezogen und in C2 und Z2 aufgenommen.
  • Für den nächsten Arbeitsgang Z1 ← Z2 und C1 ← C2 einstellen. Anschließend Z2 auf die Rückseite von allen Volumen und C2 auf die Hintergrundfarbe einstellen. Die oben erwähnten Schritte für jedes Volumenobjekt wiederholen. Nur auf die Abtastungen hinter Z1 schauen. Dieser Arbeitsgang zieht die nächste nach hinten weisende Fläche heraus und nimmt sie in Z2 und C2 auf. Er mischt dann das Ergebnis mit dem zuvor akkumulierten C1.
  • Diese Arbeitsgänge wiederholen, bis nichts mehr in C2 und Z2 akkumuliert wird. Der kombinierte Aufnahmegegenstand nimmt jetzt alle der Volumen in ihrer entsprechenden Juxtaposition relativ zueinander auf, ohne Rücksicht auf eine Reihenfolge der Darstellung und Durchsichtigkeit. Zum Beispiel kann dieses Verfahren genutzt werden, um das Herz und die Lungen als getrennte Objekte darzustellen und sie an der richtigen Stelle im Aufnahmegegenstand, gleichgültig wie der Blickwinkel ist, erscheinen zu lassen. Wenn die Darstellung auch die Fähigkeit einschließt, die Abtastrate zu verändern, dann müssen die Volumenobjekte auch nicht miteinander registriert werden oder den gleichen Voxelabstand aufweisen.
  • Das oben erwähnte Verfahren approximiert das korrekte Ergebnis, auch wenn es eine gewisse Überlappung zwischen nicht transparenten Teilen in den zwei Volumen gibt. Das Verfahren setzt entlang eines Strahls jeden benachbarten, nicht transparenten Bereich innerhalb eines Volumens zu einem einzelnen RGB α-Wert auf der hinteren Fläche des nicht transparenten Bereiches zusammen, sortiert und setzt anschließend diese Zwischenwerte zusammen. Wenn zwei Volumen eine leichte Überlappung von nicht transparenten Bereichen aufweisen, werden die überlappenden Voxel sich deshalb nicht genau abdecken, wobei jedoch beide in dem endgültigen Bild dargestellt werden.
  • Die Gebiete, in denen die vorliegende Erfindung verwendet werden kann, sind zahlreich und umfassen die medizinische Bilddarstellung, Ingenieurhochbau, Geologie, Astrophysik, Wettermodellierung und viele andere. Wir haben spezifische Begriffe und Beispiele verwendet. Es soll verständlich werden, dass innerhalb des Umfangs der Erfindung verschiedene andere Anpassungen und Modifizierungen vorgenommen werden können. Deshalb ist die Aufgabe der angefügten Patentansprüche, alle diese Variationen und Modifikationen, wie sie innerhalb des Umfangs der Erfindung vorkommen, einzuschließen.

Claims (17)

  1. Verfahren zur Darstellung eines Volumens auf einer Bildebene, welches die Schritte aufweist: Definieren einer Anfangsschnittfläche und einer Endschnittfläche; Verarbeiten eines Teils des Volumens mit einer vorbestimmten Beziehung zu der Anfangsschnittfläche und der Endschnittfläche; Erzeugen einer nächsten Anfangsschnittfläche anhand eines Ergebnisses der Verarbeitung und der Kombination der Anfangs- und der Endschnittfläche, und Erzeugen einer nächsten Endschnittfläche; und Wiederholen der Verarbeitung und des Erzeugens für die nächste Anfangs- und Endschnittfläche, bis eine Beendigungsbedingung erreicht ist.
  2. Verfahren nach Anspruch 1, bei dem jede Schnittfläche in einem assoziierten Tiefenpuffer als Schnitttiefenwerte gespeichert ist.
  3. Verfahren nach Anspruch 3, bei dem das Volumen eine Vielzahl von Voxeln enthält, die Voxel interpoliert werden, um Volumenabtastungen zu erzeugen, wobei jede Volumenabtastung einen assoziierten Abtasttiefenwert hat.
  4. Verfahren nach Anspruch 3, bei dem die vorbestimmte Beziehung die Abtasttiefenwerte und die Schnitttiefenwerte vergleicht.
  5. Verfahren nach Anspruch 1, bei dem der Definierungs-, Verarbeitungs-, Erzeugungs- und Wiederholungsschritt in einer Reihenfolge von vorn nach hinten durchgeführt werden.
  6. Verfahren nach Anspruch 1, bei dem der Definierungs-, Verarbeitungs-, Erzeugungs- und Wiederholungsschritt in einer Reihenfolge von hinten nach vorn durchgeführt werden.
  7. Verfahren nach Anspruch 2, bei dem jeder Tiefenpuffer mit einem Farbpuffer zum Speichern von Pixelwerten assoziiert ist.
  8. Verfahren nach Anspruch 7, bei dem der mit der Anfangsschnittfläche assoziierte Farbpuffer zu einer transparenten Farbe initialisiert wird und der mit der Endschnittfläche assoziierte Farbpuffer zu einer Hintergrundfarbe initialisiert wird.
  9. Verfahren nach Anspruch 1, bei dem das Volumen mehrere eingebettete Objekte enthält.
  10. Verfahren nach Anspruch 9, bei dem zumindest eines der mehreren eingebetteten Objekte durchscheinend ist.
  11. Verfahren nach Anspruch 9, bei dem ein Teil der Endschnittfläche durch Oberflächen der mehreren eingebetteten Objekte definiert ist.
  12. Verfahren nach Anspruch 11, bei dem jedes der mehreren eingebetteten Objekte durch Polygone bestimmt ist und bei dem die Polygone in einer Tiefenreihenfolge sortiert sind, um die Endschnittfläche zu definieren.
  13. Verfahren nach Anspruch 1, bei dem das Volumen mehrere Volumenobjekte enthält.
  14. Verfahren nach Anspruch 13, bei dem ein Teil der Endschnittfläche durch eine Schwellenprüfung der Opazität der mehreren eingebetteten Volumenobjekte definiert ist.
  15. Verfahren nach Anspruch 13, bei dem ein Teil der Endschnittfläche durch eine Gradientenprüfung der Größe und Richtung definiert ist.
  16. Verfahren zum Darstellen eines dreidimensionalen Volumens auf einer zweidimensionalen Bildebene, welches die Schritte aufweist: Teilen von Bereichen des Volumens, das durch Polygone definiert ist, in mehrere Schichten; Sortieren der mehreren Schichten in einer Reihenfolge von vorn nach hinten; Initialisieren eines nahen Farbpuffers zu einer transparenten Farbe; Initialisieren eines nahen Tiefenpuffers zu einer nahen Schnittfläche; Verarbeiten jeder der mehreren Schichten durch: Initialisieren eines entfernten Farbpuffers zu der transparenten Farbe; Initialisieren eines entfernten Tiefenpuffers zu der Frontschnittfläche; Ziehen einer gegenwärtigen Schicht in den entfernten Farbpuffer und den entfernten Tiefenpuffer; Darstellen des Volumens von der nahen Schnittfläche zu der entfernten Schnittfläche in den nahen Farbpuffer und den nahen Tiefenpuffer, und nach der Verarbeitung von jeder der mehreren Schichten; Wiederinitialisieren des entfernten Farbpuffers zu der Hintergrundfarbe; Wiederinitialisieren des entfernten Tiefenpuffers zu der entfernten Schnittfläche; und Darstellen des Volumens von der nahen Schnittfläche zu der entfernten Schnittfläche in den nahen Farbpuffer und den nahen Tiefenpuffer.
  17. System zum Darstellen eines Volumens auf einer Bildfläche, welches aufweist: einen ersten Tiefenpuffer, der Tiefenwerte einer Anfangsschnittfläche speichert; einen zweiten Tiefenpuffer, der Tiefenwerte einer Endschnittfläche speichert; Mittel zum Verarbeiten eines Teils des Volumens mit einer vorbestimmten Beziehung zu der Anfangsschnittfläche und der Endschnittfläche; Mittel zum Erzeugen einer nächsten Anfangsschnittfläche anhand eines Ergebnisses der Verarbeitung und der Kombination der Anfangs- und der Endschnittfläche, und Speichern einer nächsten Endschnittfläche in dem zweiten Tiefenpuffer; und Mittel zum Wiederholen der Verarbeitung und Erzeugung für die nächste Anfangs- und die nächste Endschnittfläche, bis eine Beendigungsbedingung erreicht ist.
DE69919497T 1998-12-22 1999-11-03 Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern Expired - Lifetime DE69919497T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/219,059 US6310620B1 (en) 1998-12-22 1998-12-22 Method and apparatus for volume rendering with multiple depth buffers
US219059 1998-12-22

Publications (2)

Publication Number Publication Date
DE69919497D1 DE69919497D1 (de) 2004-09-23
DE69919497T2 true DE69919497T2 (de) 2005-08-18

Family

ID=22817681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69919497T Expired - Lifetime DE69919497T2 (de) 1998-12-22 1999-11-03 Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern

Country Status (5)

Country Link
US (1) US6310620B1 (de)
EP (1) EP1014308B1 (de)
JP (1) JP2000194878A (de)
AT (1) ATE274218T1 (de)
DE (1) DE69919497T2 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19835215C2 (de) * 1998-08-05 2000-07-27 Mannesmann Vdo Ag Kombinationsinstrument
US6727900B1 (en) * 1998-09-07 2004-04-27 Renesas Technology Corp. Semiconductor integrated circuit device
JP4399910B2 (ja) * 1998-09-10 2010-01-20 株式会社セガ ブレンディング処理を含む画像処理装置及びその方法
GB9904901D0 (en) * 1999-03-03 1999-04-28 Canon Kk Computer graphics apparatus
US6407737B1 (en) * 1999-05-20 2002-06-18 Terarecon, Inc. Rendering a shear-warped partitioned volume data set
US6424346B1 (en) * 1999-07-15 2002-07-23 Tera Recon, Inc. Method and apparatus for mapping samples in a rendering pipeline
US6421057B1 (en) * 1999-07-15 2002-07-16 Terarecon, Inc. Configurable volume rendering pipeline
US6621918B1 (en) 1999-11-05 2003-09-16 H Innovation, Inc. Teleradiology systems for rendering and visualizing remotely-located volume data sets
GB2359229B (en) * 1999-11-11 2003-12-24 Canon Kk Three-dimensional computer graphics apparatus
US6664961B2 (en) 2000-12-20 2003-12-16 Rutgers, The State University Of Nj Resample and composite engine for real-time volume rendering
RU2215326C2 (ru) * 2001-06-29 2003-10-27 Самсунг Электроникс Ко., Лтд. Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US7039723B2 (en) 2001-08-31 2006-05-02 Hinnovation, Inc. On-line image processing and communication system
KR100446635B1 (ko) * 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US7113183B1 (en) * 2002-04-25 2006-09-26 Anark Corporation Methods and systems for real-time, interactive image composition
US7440590B1 (en) 2002-05-21 2008-10-21 University Of Kentucky Research Foundation System and technique for retrieving depth information about a surface by projecting a composite image of modulated light patterns
US7423655B1 (en) 2002-06-24 2008-09-09 Adobe Systems Incorporated Revealing clipped portion of image object
EP1455307A1 (de) * 2003-03-06 2004-09-08 MeVis GmbH Teilvolumenvisualisierung
US20050143654A1 (en) * 2003-11-29 2005-06-30 Karel Zuiderveld Systems and methods for segmented volume rendering using a programmable graphics pipeline
US20050122338A1 (en) * 2003-12-05 2005-06-09 Michael Hong Apparatus and method for rendering graphics primitives using a multi-pass rendering approach
US7885440B2 (en) 2004-11-04 2011-02-08 Dr Systems, Inc. Systems and methods for interleaving series of medical images
US7787672B2 (en) 2004-11-04 2010-08-31 Dr Systems, Inc. Systems and methods for matching, naming, and displaying medical images
US7660488B2 (en) 2004-11-04 2010-02-09 Dr Systems, Inc. Systems and methods for viewing medical images
US7970625B2 (en) 2004-11-04 2011-06-28 Dr Systems, Inc. Systems and methods for retrieval of medical data
US7920152B2 (en) 2004-11-04 2011-04-05 Dr Systems, Inc. Systems and methods for viewing medical 3D imaging volumes
US20060203010A1 (en) * 2005-03-14 2006-09-14 Kirchner Peter D Real-time rendering of embedded transparent geometry in volumes on commodity graphics processing units
US8150111B2 (en) 2005-03-15 2012-04-03 The University Of North Carolina At Chapel Hill Methods, systems, and computer program products for processing three-dimensional image data to render an image from a viewpoint within or beyond an occluding region of the image data
US7893938B2 (en) * 2005-05-04 2011-02-22 Siemens Medical Solutions Usa, Inc. Rendering anatomical structures with their nearby surrounding area
TWI286713B (en) * 2005-05-05 2007-09-11 Via Tech Inc Rendering method and related device
JP4646712B2 (ja) * 2005-07-05 2011-03-09 パナソニック株式会社 コンピュータグラフィックス描画方法及び描画装置
US7953614B1 (en) 2006-11-22 2011-05-31 Dr Systems, Inc. Smart placement rules
US7961187B2 (en) * 2007-03-20 2011-06-14 The University Of North Carolina Methods, systems, and computer readable media for flexible occlusion rendering
US20080232694A1 (en) * 2007-03-21 2008-09-25 Peter Sulatycke Fast imaging data classification method and apparatus
US8193472B2 (en) * 2007-03-23 2012-06-05 Nihon Dennetsu Co., Ltd. Susceptor
US20080284798A1 (en) * 2007-05-07 2008-11-20 Qualcomm Incorporated Post-render graphics overlays
KR101327791B1 (ko) * 2007-09-11 2013-11-20 삼성전자주식회사 영상 매칭 장치 및 방법
US8380533B2 (en) 2008-11-19 2013-02-19 DR Systems Inc. System and method of providing dynamic and customizable medical examination forms
US8712120B1 (en) 2009-09-28 2014-04-29 Dr Systems, Inc. Rules-based approach to transferring and/or viewing medical images
JP5481751B2 (ja) * 2010-05-27 2014-04-23 富士通株式会社 隠蔽処理プログラム、可視化処理方法及び装置
JP5827831B2 (ja) * 2011-07-06 2015-12-02 日立アロカメディカル株式会社 超音波画像処理装置
US9075899B1 (en) 2011-08-11 2015-07-07 D.R. Systems, Inc. Automated display settings for categories of items
JP5846373B2 (ja) * 2012-01-13 2016-01-20 国立研究開発法人海洋研究開発機構 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
US9626792B2 (en) * 2012-10-16 2017-04-18 Adobe Systems Incorporated Rendering an infinite plane
US9495604B1 (en) 2013-01-09 2016-11-15 D.R. Systems, Inc. Intelligent management of computerized advanced processing
GB2520365B (en) * 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system
US20170039321A1 (en) 2015-04-30 2017-02-09 D.R. Systems, Inc. Database systems and interactive user interfaces for dynamic interaction with, and sorting of, digital medical image data
US11315315B2 (en) * 2019-08-23 2022-04-26 Adobe Inc. Modifying three-dimensional representations using digital brush tools

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816726A (en) * 1972-10-16 1974-06-11 Evans & Sutherland Computer Co Computer graphics clipping system for polygons
US4882679A (en) * 1987-11-27 1989-11-21 Picker International, Inc. System to reformat images for three-dimensional display
US5088054A (en) * 1988-05-09 1992-02-11 Paris Ii Earl A Computer graphics hidden surface removal system
US5226113A (en) * 1989-10-30 1993-07-06 General Electric Company Method and apparatus for volumetric projection rendering using reverse ray casting
US5574835A (en) * 1993-04-06 1996-11-12 Silicon Engines, Inc. Bounding box and projections detection of hidden polygons in three-dimensional spatial databases
US5579455A (en) * 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
US5515484A (en) * 1993-10-06 1996-05-07 Silicon Graphics, Inc. Method and apparatus for rendering volumetric images
JP3527796B2 (ja) * 1995-06-29 2004-05-17 株式会社日立製作所 高速3次元画像生成装置および方法
US5819017A (en) * 1995-08-22 1998-10-06 Silicon Graphics, Inc. Apparatus and method for selectively storing depth information of a 3-D image
JPH09245191A (ja) * 1996-03-06 1997-09-19 Sega Enterp Ltd 透明度変換方法及びその装置、画像処理装置
US5949423A (en) * 1997-09-30 1999-09-07 Hewlett Packard Company Z buffer with degree of visibility test

Also Published As

Publication number Publication date
JP2000194878A (ja) 2000-07-14
EP1014308A3 (de) 2002-07-17
EP1014308A2 (de) 2000-06-28
DE69919497D1 (de) 2004-09-23
EP1014308B1 (de) 2004-08-18
ATE274218T1 (de) 2004-09-15
US6310620B1 (en) 2001-10-30

Similar Documents

Publication Publication Date Title
DE69919497T2 (de) Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE19709220B4 (de) System und Verfahren für eine beschleunigte Verdeckungsauslese
DE69636599T2 (de) Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild
DE69632013T2 (de) System und Verfahren zur Mischung von Pixelteilen, basierend auf Tiefenbereichswerten
DE60008520T2 (de) Darstellung von durchsichtigen schichten
DE69821848T2 (de) Echt-Zeit PC basiertes Volumendarstellungssystem
EP2038847B1 (de) Verfahren und vorrichtung zur darstellung von 3d bilddatensätzen auf 2d bildern
DE69914355T2 (de) Bildverarbeitungsgerät
DE102016103870A1 (de) Systeme und Verfahren zur weichen Schattierung in 3D-Rendering
DE3712639A1 (de) Verfahren und einrichtung zum abbilden von volumendaten
DE102005035012A1 (de) Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen
DE602004003111T2 (de) Tiefen-basiertes Antialiasing
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
DE102009042328A1 (de) Effiziente Bestimmung von Lichteffekten beim Volume Rendering
DE60008867T2 (de) Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
DE102008050449A1 (de) Clipping Geometrien beim Raycasting
DE602004012341T2 (de) Verfahren und System zur Bereitstellung einer Volumendarstellung eines dreidimensionalen Objektes
DE102007050615B4 (de) Brick-basierter Fusionsrenderer
DE102006021118B4 (de) Rendern von anatomischen Strukturen mit ihrem nahen Umgebungsbereich
DE60024117T2 (de) Tiefenbasierte mischung mit 3d aufrasterungsgerät
DE19620858B4 (de) Computergraphiksystem mit Pixel-Tiefenhinweisgebung
DE69814482T2 (de) Verfahren und Vorrichtung zur Darstellung von Oberflächen aus volumetrischen Daten
DE10000594A1 (de) Multisample-Z-Buffer-Pixelprozessor auf Spannweitenbasis

Legal Events

Date Code Title Description
8364 No opposition during term of opposition