DE102005035012B4 - Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen - Google Patents

Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen Download PDF

Info

Publication number
DE102005035012B4
DE102005035012B4 DE102005035012A DE102005035012A DE102005035012B4 DE 102005035012 B4 DE102005035012 B4 DE 102005035012B4 DE 102005035012 A DE102005035012 A DE 102005035012A DE 102005035012 A DE102005035012 A DE 102005035012A DE 102005035012 B4 DE102005035012 B4 DE 102005035012B4
Authority
DE
Germany
Prior art keywords
partial derivative
gradient
respect
pixels
screen space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102005035012A
Other languages
English (en)
Other versions
DE102005035012A1 (de
Inventor
Klaus D. Engel
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.)
Siemens Healthcare GmbH
Original Assignee
Siemens Medical Solutions USA 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 Siemens Medical Solutions USA Inc filed Critical Siemens Medical Solutions USA Inc
Publication of DE102005035012A1 publication Critical patent/DE102005035012A1/de
Application granted granted Critical
Publication of DE102005035012B4 publication Critical patent/DE102005035012B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

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

Abstract

Schattierungsverfahren zum Wiedergeben volumetrischer Daten mit mehreren Pixeln, wobei jedes der mehreren Pixel ein skalaren Wert aufweist, umfassend:
– Bestimmen einer partiellen Ableitung bezüglich der x-Richtung eines ersten der mehreren Pixel in einem 2D Bild-/Schirmraum;
– Bestimmen einer partiellen Ableitung bezüglich der y-Richtung des ersten der mehreren Pixel in einem 2D Bild-/Schirmraum;
– Skalieren der partiellen Ableitung bezüglich der x-Richtung und der partiellen Ableitung bezüglich der y-Richtung gemäß einem Zoom-Faktor;
– Bestimmen einer partiellen Ableitung bezüglich der z-Richtung des ersten der mehreren Pixel in einem 3D-Objektraum; und
– Zusammensetzen eines Gradienten aus der skalierten partiellen Ableitung bezüglich der x-Richtung im 2D Bild-/Schirmraum, aus der skalierten partiellen Ableitung bezüglich der y-Richtung im 2D Bild-/Schirmraum und aus der partiellen Ableitung bezüglich der z-Richtung im 3D-Objektraum,
wobei die Schritte des Bestimmens der partiellen Ableitung in einer Grafikverarbeitungseinheit ausgeführt werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht den Vorzug der am 9. August 2004 eingereichten vorläufigen US-Anmeldung Nr. 60/600,428, die durch Bezugnahme hier aufgenommen ist.
  • ALLGEMEINER STAND DER TECHNIK
  • Methoden zum Wiedergeben von Sätzen volumetrischer Daten sind in der Technik bekannt. Diese Methoden sind ausführlich beschrieben worden. Siehe beispielsweise Marc Levoy, A Hybrid Ray Tracer for Rendering Polygon and Volume Data, IEEE Computer Graphics and Applications, Seiten 33–40, März 1990; und Marc Levoy, Efficient Ray Tracing of Volume Data, ACM Transactions an Graphics, 9(3): 245–261, Juli 1990, die beide durch Bezugnahme hier aufgenommen sind.
  • Auch die schnelle Wiedergabe von Sätzen volumetrischer Daten unter Verwendung der Texturierungsfähigkeiten von Graphikhardware ist ausführlich beschrieben worden. Siehe beispielsweise B. Cabral, N. Cam und J. Foran, "Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware", ACM Symposium an Volume Visualization, 1994; C. Rezk-Salama, K. Engel, M. Bauer, G. Greiner, T. Ertl, "Interactive Volume Rendering an Standard PC Graphics Hardware Using Multi-Textures and Multi-Stage Rasterization", in Eurographics/SIGGRAPH Workshop an Graphics Hardware, 2000, Seiten 109–118, 147, Addison-Wesley Publishing Company, Inc., 2000, was durch Bezugnahme hier aufgenommen ist. Schattierungsmodelle für volumetrische Daten werden auch in N. Max, "Optical Models for Direct Volume Rendering", IEEE Transactions an Visualization and Computer Graphics 1995, Seiten 99–108, beschrieben, was durch Bezugnahme hier aufgenommen ist.
  • Die Schattierung ist ein wohlbekanntes Verfahren zum Verbessern der Tiefenwahrnehmung und zum Hervorheben von in den Daten enthaltenen Details, die in Echtzeit durchgeführt werden kann. Das Schattieren volumetrischer Daten erfordert Gradienteninformationen für jedes Voxel. Gradienten können entweder im voraus berechnet und zusammen mit den Volumendaten gespeichert oder im laufenden Betrieb berechnet werden. Das Vorausberechnen von Gradienten erhöht die erforderliche Speichermenge signifikant, wodurch dieser Ansatz für großvolumige Datensätze unpraktisch wird. Klinische Routinen erzeugen gegenwärtig Datensätze, die ein halbes Gigabyte übersteigen, und die erfaßte Informationsmenge nimmt schnell zu. Neue Systeme sind in der Lage, Datensätze zu erzeugen, die eine Größe von über einem Gigabyte aufweisen. Zudem werden Gradienten in der Regel auf entweder 8 oder 16 Bit quantisiert, um die erforderliche Speichermenge einzuschränken, was die Qualität der volumetrischen Wiedergaben reduziert. Obwohl das Berechnen von Gradienten im laufenden Betrieb eine bessere Qualität liefert und weder Vorverarbeitung verlangt noch irgendwelche signifikanten zusätzlichen Speicheranforderungen auferlegt, leidet sie andererseits unter einer signifikant langsameren Leistung. Diese Leistungsreduzierung ist auf die zusätzlichen Berechnungen und Speicherzugriffe während der Wiedergabe zurückzuführen; beispielsweise erfordert ein Vorwärtsdifferenzgradient das Zugreifen auf drei benachbarte Voxel, während ein Zentrale-Differenz-Gradient das Zugreifen auf sechs benachbarte Voxel erfordert.
  • Aus der US 2002/010988 A1 ist es bekannt, 3D-Objekte mittels des Hilfsmittels „Vertex" auf einem Bildschirm darzustellen und damit vom Objektraum in den Bildraum zu überführen.
  • Aus der US 5,499,322 ist es bekannt, bei der 3D-Bildverarbeitung unter zu Hilfenahme von Vertices sowohl erste partielle Ableitungen nach den kartesischen Koordinaten als auch aus diesen partiellen Ableitungen den Gradienten zu bilden.
  • Eine weitere Darstellung von Vorgehensweisen bei der 3D-Computergraphik mit Vertices und Gradienten ist dem Technical Report No. DCSE/TR-2002-08 „Gradient vector estimation and vertex normal computation" von T. Jirka und V. Skala, University of West Bohemia in Pilsen, October 2002 zu entnehmen.
  • Aus diesem Stand der Technik ist ebenfalls bekannt, wie Transformationen zwischen einem 3-dimensionalen Raum und einem 2-dimensionalen Bild-/Schirmraum vorzunehmen sind. Derartige Betrachtungstransformationen sind auch aus dem Buch „Computergrafik" von W. D. Fellner, ISBN 3-411-15122 bekannt.
  • Aufgabe der Erfindung ist, ein Verfahren und ein System bereitzustellen, die eine Gradientenabschätzung im laufenden Betrieb für die schattierte Wiedergabe volumetrischer Daten schneller durchführen.
  • Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und ein System mit den Merkmalen des Patentanspruchs 10.
  • KURZE DARSTELLUNG DER ERFINDUNG
  • Die vorliegende Erfindung liefert ein schnelles Verfahren zum Verbessern der Bildqualität bei der texturbasierten Volumenwiedergabe durch Schattieren großer Volumen ohne Vorberechnen von Gradienteninformationen. Gradienten werden im Schirmraum und nicht im Objektraum berechnet, um die allgemeinen Kosten des Erfassens von benachbarten Daten durch Berechnen von jeweils mehreren Pixeln zu reduzieren. Die vorliegende Erfindung eignet sich gut für Modem-GPUs (Graphikverarbeitungseinheiten), da sie jeweils mehrere Pixel verarbeiten (z. B. ein 2×2 Pixel "Quad").
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Schattierungsverfahren zum Wiedergeben volumetrischer Daten bereitgestellt. Das Verfahren beinhaltet die folgenden Schritte: Bestimmen einer partiellen Ableitung bezüglich der x-Komponente einer Schirmkoordinate eines Pixels, Bestimmen einer partiellen Ableitung bezüglich einer y-Komponente der Schirmkoordinate des Pixels und Bestimmen eines Gradienten aus den partiellen Ableitungen im Schirmraum. Zum Erzeugen eines 3D-Vektors wird eine dritte Komponente benötigt. Diese Komponente kann beispielsweise eine willkürliche Konstante sein, eine entlang der Strahlrichtung im Objektraum berechnete Vorwärtsdifferenz oder eine entlang der Strahlrichtung im Objektraum berechnete zentrale Differenz. Der rechnerisch effizienteste Ansatz besteht darin, eine Konstante zu verwenden (deren Wert proportional zur Helligkeit ist), wohingegen man qualitativ hochwertigere Ergebnisse aus zentralen oder Vorwärtsdifferenzen im Objektraum erhalten kann.
  • Schließlich wurde bestimmt, daß die dritte Komponente als ein Wert berechnet werden kann, der proportional zur Helligkeit ist und der entsprechend dem Zoomwert skaliert wird, der zum Betrachten der volumetrischen Daten verwendet wird.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung beinhaltet das Verfahren den Schritt des Verwendens des Gradienten zum Bestimmen einer Schattierungscharakteristik des Pixels auf der Basis des Gradienten.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung beinhaltet das Verfahren den Schritt des Bestimmens der partiellen Ableitungen in einer Graphikverarbeitungseinheit. Gemäß einer bevorzugten Ausführungsform werden die partiellen Ableitungen unter Verwendung einer Fragmentfunktion ddx in der Graphikverarbeitungseinheit und einer Fragmentfunktion ddy in der Graphikverarbeitungseinheit berechnet.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung läßt sich das Verfahren zur Wiedergabe volumetrischer Daten auf eine Vielfalt von Bildgebungssystemen anwenden. Gemäß diesen Aspekten enthalten Systeme der vorliegenden Erfindung eine Bildgebungseinrichtung, einen Prozessor und ein Display.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung beinhaltet ein Verfahren zum Wiedergeben volumetrischer Daten die folgenden Schritte: Erhalten einer Probe von Daten aus einem Volumen; Klassifizieren der Probe; Berechnen eines Schirmraumgradienten; Normalisieren des Gradienten; Berechnen diffuser und spiegelnder Komponenten und Berechnen von Ausgabefarben. Die aus diesen Schritten erhaltenen Ergebnisse werden schließlich angezeigt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 und 2 stellen fundamentale Datenstrukturen dar, die in einem Aspekt der vorliegenden Erfindung verwendet werden.
  • 3 veranschaulicht eine Volumenwiedergabe unter Verwendung von 3D-Texturen gemäß einem Aspekt der vorliegenden Erfindung.
  • 4 veranschaulicht die Bestimmung von partiellen Ableitungen oder Differenzen gemäß einem Aspekt der vorliegenden Erfindung.
  • 5 ist ein Flußdiagramm eines verallgemeinerten Fragmentprogramms gemäß einem Aspekt der vorliegenden Erfindung, und 6 ist ein Flußdiagramm des Gradientenbestimmungsprozesses.
  • 7 veranschaulicht ein Bildgebungssystem gemäß einem Aspekt der vorliegenden Erfindung.
  • BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Datenerfassung.
  • Bei den durch die vorliegende Erfindung verarbeiteten Daten handelt es sich um ein dreidimensionales Array von Daten. Unter Bezugnahme auf 1 bestehen die Daten aus einer Sequenz benachbarter "Bilder", wobei jedes Bild ein zweidimensionales Bildarray von Datenpunkten ist. Jeder Gitterwert eines zweidimensionalen Bildarrays wird als ein Bildelement oder "Pixel" bezeichnet. Eine Reihe derartiger Bilder kann in einer sequentiellen Reihenfolge angeordnet werden, und jedes zweidimensionale Bild wird als ein SLICE bezeichnet. Somit wird ein Volumen aus mehreren Slices ausgebildet.
  • Wenn Vollkörperscans mit einer Magnetbildgebungsmaschine ausgeführt werden, ist es üblich, etwa 3000 Slices an Daten zu erzeugen. Diese Slices können etwa 0,4 mm von einander getrennt sein.
  • Unter Bezugnahme auf 2 wird jeder Gitterwert eines dreidimensionalen Volumenarrays als ein Volumenelement oder "Voxel" bezeichnet. Ein Voxel weist eine Voxelnachbarschaft auf. Die Voxelnachbarschaft enthält die Eckpunkte eines Würfels, die bezeichnet sind V1, V2, V3, V4, V5, V6, V7 und V8.
  • Die Erfassung dieser Art von Daten ist in der Technik wohlbekannt und wird von Systemen wie etwa Kernspintomographiesystemen (MR) und Computertomographiescansystemen (CT), Positronenemissionstomographie (PET) und Ultraschallscannern durchgeführt. Solche Bildgebungssysteme 70 sind in 5 gezeigt. Jedes dieser Systeme erzeugt mit einem Voxel assoziierte Daten. Beispielsweise erzeugt ein Kernspintomographiesystem einen skalaren Wert für jedes Voxel, der den Wasser inhalt anzeigt. Ein Computertomographiesystem erzeugt einen skalaren Wert für jedes Voxel, der anzeigt, wie viele Röntgenstrahlen absorbiert wurden. Ein Ultraschallsystem erzeugt einen skalaren Wert für jedes Voxel, der anzeigt, wieviel Schall absorbiert wurde.
  • Bildsynthese aus volumetrischen Daten
  • Verfahren zum Erzeugen eines zweidimensionalen Bilds aus volumentrischen Daten können grob in indirekte und direkte Volumenwiedergabetechniken klassifiziert werden. Indirekte Verfahren erzeugen eine Zwischendarstellung der Volumendaten und geben sie wieder, während, direkte Verfahren die Voxeldaten anzeigen durch Auswerten eines optischen Modells, das beschreibt, wie das Volumen Licht emittiert, reflektiert, streut, absorbiert oder verdeckt. Siehe beispielsweise N. Max, "Optical Models for Direct Volume Rendering", IEEE Transactions an Visualization and Computer Graphics 1995, Seiten 99–108.
  • Die Voxelwerte werden auf physikalische Größen abgebildet, die die Lichtinteraktion an den jeweiligen Punkten im 3D-Raum beschreiben. Während der Bildsynthese wird die Lichtausbreitung berechnet durch Integrieren von Lichtinteraktionseffekten entlang Sehstrahlen auf der Basis des optischen Modells. Das entsprechende Integral ist als das Volume Rendering Integral bekannt.
  • Die Daten in einem Slice wie in 1 gezeigt befinden sich im "Objektraum". Wenn aus den Daten Bilder erzeugt werden, müssen Ansichten in unterschiedlichen Winkeln konstruiert werden. Dies erfordert das Konstruieren von Datensätzen aus den Daten im Objektraum entlang verschiedener Winkel, wie etwa entlang der in 3 dargestellten Polygonslices. Die Daten in den Polygonslices enthalten Daten von einer Reihe von Slices in dem Objektraum, und die Daten in den Polygonslices befinden sich in dem "Schirmraum", da diese Daten auf einen Computerschirm projiziert werden. Verfahren zum Umwandeln von Datensätzen aus dem Objektraum in den Schirmraum sind wohlbekannt und auch die Ausdrücke Objektraum und Schirmraum.
  • Schattieren volumetrischer Daten
  • Das Schattieren liefert visuelle Hinweise zur Unterstützung der Visualisierung und Interpretation volumetrischer Daten. Das Schattieren kann kleinskalige Oberflächenstrukturen und Textur (Rauheit) sowie zusätzliche Tiefenhinweise betonen. Das Schattieren berücksichtigt den Effekt externer Lichtquellen durch Berechnen der Interaktion von Licht an jedem Punkt, wo es die Oberfläche beleuchtet, unter Berücksichtigung der Eigenschaft der Oberfläche an jedem von einem Strahl beleuchteten Punkt. Die Eigenschaften bestehen aus Materialeigenschaften wie etwa Farbe, Opazität und Glanz sowie die lokale Gestalt der Oberfläche.
  • Der rechnerisch aufwendigste Teil der Schattierungsgleichung ist das Berechnen der lokalen Gestalt, die in der Regel durch den lokalen Gradienten dargestellt wird. Die am häufigsten eingesetzten Techniken zum Berechnen von Gradienten für ein Volumen sind die Verfahren der Vorwärts- und zentralen Differenz. Siehe beispielsweise Abramowitz, M. und Stegun, I.A. (Hrg.), Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, 9. Druck, New York: Dover, S. 877, 1972, das durch Bezugnahme hier aufgenommen ist. Zuvor wurden Gradienten an Objektraumdaten berechnet. Außerdem werden diese Gradienten häufig in einem Vorverarbeitungsschritt berechnet und in einem Zusatzvolumen gespeichert oder mit den Quelldaten in einem anderen Volumen kombiniert. Durch den zum Speichern von Gradienteninformationen erforderlichen zusätzlichen Speicher wird dieser Ansatz jedoch für große Volumendaten ungeeignet. Folglich werden Gradienten während der Wiedergabe im laufenden Betrieb berechnet. Die Berechnung von Gradienteninformationen im laufenden Betrieb erfordert das Auswerten der Nachbarschaft jedes wiedergegebenen Voxels, für das eine Vorwärtsdifferenz das Auswerten von drei Nachbarn beinhaltet, während eine zentrale Differenz das Auswerten von sechs Nachbarn beinhaltet. Die vorliegende Erfindung reduziert die Kosten des Zugreifens auf und des Auswertens von Nachbarinformationen und steigert deshalb die Leistung erheblich.
  • Bei einer Ausführungsform der vorliegenden Erfindung kann die Berechnung der Gradienteninformationen von einer zentralen Verarbeitungseinheit (CPU) zu einem Fragmentprogramm auf einer Graphikverarbeitungseinheit (GPU) verschoben werden. Für diesen Ansatz gibt es einige wenige Vorteile. Zuerst kann die GPU solche Vektoroperationen schneller ausführen als eine CPU – GPUs sind SIMD (single instruction multiple data) Parallelprozessoren. Zweitens werden die effektiven Kosten der Gradientenberechnung aufgrund der GPU-Pipeline reduziert, wo in der Regel das gleiche Fragmentprogramm an benachbarten Pixeln parallel durch Mehrfachpixel-Pipelines ausgeführt wird. Das heißt, eine Fragmentpipeline erlegt keinerlei zusätzliche Verzögerung auf, da sie parallel zu und unabhängig von anderen Fragmentpipelines ausführt. Drittens kann das Verschieben der Berechnung auf ein Fragmentprogramm die von der CPU zu der GPU über den relativ langsamen AGP (Accelerated Graphics Port) oder PCI-Express übertragene Datenmenge reduzieren (Daten werden unter Verwendung von AGP oder der neueren PCI-Express-Schnittstelle vom Hauptspeicher in den lokalen GPU-Speicher oder umgekehrt übertragen).
  • Partielle Schirmraumableitungen
  • Die vorliegende Erfindung verwendet im Schirmraum berechnete partielle Ableitungen für die in Schattierungsberechnungen verwendeten Gradienten. Dieser Ansatz erfordert Zugriff auf Informationen für Strahlen, die benachbarte Pixel mit der gleichen Tiefe bezüglich der Kamera durchqueren; das heißt eine skalare physikalische Eigenschaft p (wie etwa die Dichte) des Volumens bei Pixeln mit der gleichen Tiefe wie der Strahl bei der aktuellen Pixelposition muß ausgewertet werden. Tatsächlich kann jedes Verfahren zum Berechnen partieller Schirmraumableitungen (wie etwa Vorwärtsdifferenzen, zentrale Differenzen, ein Sobel-Operator, usw.) verwendet werden; nachfolgend jedoch erfolgt die Konzentration auf Differenzen. Zusätzlich zu dem Wert des aktuellen Pixels in der Schirmraumposition (x, y), bezeichnet durch p(x, y) mit einer gegebenen Tiefe bezüglich der Kamera, erfordert insbesondere ein Vorwärtsdifferenzgradient die Werte der Pixel rechts von und über dem aktuellen Pixel (p(x + 1, y)) bzw. (p(x, y + 1)). Ein 2D-Vorwärtsdifferenz-Schirmraumgradient wird dann berechnet als:
    Figure 00110001
  • Wie unten ausführlicher erörtert wird, eignet sich die Verwendung der vorliegenden Erfindung zum Finden des Gradienten im Schirmraum besonders gut für GPUs. Es sollte jedoch klar sein, daß signifikante Geschwindigkeitsgewinne gefunden werden können, ohne daß notwendigerweise eine GPU erforderlich ist. Beispielsweise beinhalten bestimmte Algorithmen zur volumentrischen Wiedergabe das parallele Werfen von Gruppen von Strahlen durch das Volumen an benachbarte Pixelstellen. Während der Berechnung können die Volumendichten (d. h. der skalare Parameter p(x, y)) dieser benachbarten Strahlen in Registern zwischengespeichert werden, und somit kann das Holen der Dichten für die Gradientenberechnungen schnell durchgeführt werden.
  • Zum Erzeugen eines 3D-Vektors wird eine dritte Kompo nente benötigt. Diese Komponente kann beispielsweise eine willkürliche Konstante sein, eine entlang der Strahlrichtung im Objektraum berechnete Vorwärtsdifferenz oder eine entlang der Strahlrichtung im Objektraum berechnete zentrale Differenz. Der rechnerisch effizienteste Ansatz besteht darin, eine Konstante zu verwenden (deren Wert proportional zur Helligkeit ist), wohingegen man qualitativ hochwertigere Ergebnisse aus zentralen oder Vorwärtsdifferenzen im Objektraum erhalten kann.
  • Schließlich wurde bestimmt, daß die dritte Komponente als ein Wert berechnet werden kann, der proportional zur Helligkeit ist und der entsprechend dem Zoomwert skaliert wird, der zum Betrachten der volumetrischen Daten verwendet wird. Der Vorteil dabei ist, daß sichergestellt wird, daß die scheinbare Helligkeit ungeachtet des Zoomwerts konstant bleibt, da bei immer höheren Zoomwerten Strahlen durch benachbarte Pixel im Schirmraum im Objektraum sich immer weiter annähern. Somit können die Offsets für die Nachschlagevorgänge von Nachbarn im Schirmraum mit höheren Zoomfaktoren kleiner werden. Eine Konstante für die dritte Komponente (die partielle Ableitung im Objektraum) wird im allgemeinen bezüglich der ersten und zweiten Komponente (den partiellen Ableitungen im Schirmraum) relativ größer, was zu einer Helligkeit führt, die mit dem Zoomfaktor zuzunehmen scheint. So werden Kompensationsfaktoren eingeführt, die jede partielle Schirmraumableitung mit einer Konstanten skalieren, die von dem Zoomfaktor abhängt. Diese Konstanten werden berechnet, indem der Abstand zwischen den Abtastwerten, die für die partielle Objektraumableitung verwendet werden, in den Schirmraum projiziert werden und die Anzahl von Pixeln bestimmt wird, die von diesem Abstand entlang der x- und y-Richtung im. Schirmraum abgedeckt wird.
  • 4 veranschaulicht den Schritt des Bestimmens einer partiellen Ableitung gemäß einem Aspekt der vorliegenden Erfindung. Jedes Pixel in 4 befindet sich im Schirmraum. Somit wird jedes Pixel aus einem Polygonslice bestimmt, während diese Daten auf einen Computerschirm projiziert werden. Wenn C das aktuelle Pixel ist, das bearbeitet wird, und wenn ein Vorwärtsdifferenzverfahren verwendet wird, dann wird die partielle Ableitung in der x-Richtung durch die Differenz zwischen dem mit Pixel X assoziierten skalaren Wert und dem mit Pixel C assoziierten skalaren Wert bestimmt. Außerdem wird die partielle Ableitung in der y-Richtung durch die Differenz zwischen dem mit Pixel Y assoziierten skalaren Wert und dem mit Pixel C assoziierten skalaren Wert bestimmt. Da ein nVidia-Graphikprozessor alle Daten in einem in 4 dargestellten Quad enthält, wird der Einsatz des Vorwärtsdifferenzverfahrens bevorzugt, wenn zum Bestimmen von partiellen Ableitungen ein nVidia-Graphikprozessor verwendet wird.
  • Wenn ein Zentrale-Differenzen-Verfahren verwendet wird, dann wird die partielle Ableitung in der x-Richtung durch die Differenz zwischen dem mit Pixel X assoziierten skalaren Wert und dem mit Pixel X1 assoziierten skalaren Wert bestimmt. Außerdem wird die partielle Ableitung in der y-Richtung durch die Differenz zwischen dem mit Pixel Y assoziierten skalaren Wert und dem mit Pixel Y1 assoziierten skalaren Wert bestimmt. Wie man sehen kann, erfordert dies den Zugriff auf Werte außerhalb eines Quad und kann deshalb nicht an dem nVidia-Graphikprozessor verwendet werden.
  • Wie bereits erörtert wird die partielle Ableitung in der z-Richtung bevorzugt unter Verwendung von Objektraumdaten bestimmt.
  • Als Beispiel liefert der folgende C-Code eine Nutzenfunktion, um einen Kompensationsfaktor zu berechnen, damit die Schattierung vom Zoomfaktor unabhängig wird. Der Code nimmt als eine Eingabe die Entfernung zwischen Abtastwerten entlang einer Betrachtungsrichtung und gibt Skalierungsfaktoren für partielle Schirmraumableitungen aus:
    Figure 00140001
    damit die Schattierung vom Zoomfaktor unabhängig wird. Der Code nimmt als eine Eingabe die Entfernung zwischen Abtastwerten entlang einer Betrachtungsrichtung und gibt Skalierungsfaktoren für partielle Schirmraumableitungen aus:
    Figure 00150001
    Figure 00160001
    Figure 00170001
    Figure 00180001
  • GPU-basierte Schirmraumableitungs-Schattierung
  • In 3 wird eine Reihe von hinsichtlich der Betrachtung ausgerichteten Polygonen mit schrägen Slices der Volumendaten texturiert und vereint, um das Endbild zu erhalten. Das 3D-Texturslicingverfahren (siehe B. Cabral, N. Cam und J. Foran, "Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware", ACM Symposium an Volume Visualization, 1994, durch Bezugnahme hier aufgenommen) entspricht dem parallelen Verfolgen von Strahlen durch alle Pixel des Schirms durch das Volumen. Das heißt, jeder Slice entspricht einem Integrationsschritt für alle Strahlen in der gleichen Tiefe, und jeder Integrationsschritt wird entlang der Betrachtungsrichtung um ein entsprechend der Abtastrichtung entsprechendes Ausmaß [Lakune].
  • Die CineFX-Architektur von nVIDIA erleichtert die Fragmentfunktionen ddx und ddy zum Approximieren der partiellen Ableitung eines skalaren Werts bezüglich Schirmraumkoordinaten. Insbesondere approximiert ddx(a) die partielle Ableitung von a bezüglich der x-Komponente der Schirmkoordinate, während ddx(a) die partielle Ableitung von a bezüglich der y-Komponente der Schirmkoordinate approximiert. Diese partiellen Ableitungen werden durch die Graphikhardware sehr effizient berechnet, da mehrere benachbarte Pixel parallel verarbeitet werden. Die Werte von Strahlen an benachbarten Positionen werden intern zwischengespeichert, so daß es effizienter ist, als wenn auf sie unter Verwendung eines herkömmlichen Direkttexturzugriffs zugegriffen wird. Partielle Schirmraumablei tungen können Architekturmerkmale von GPUs ausnutzen.
  • Durch Anwenden der ddx- und ddy-Funktionen auf die durch das Abtasten des Volumens bei benachbarten Pixeln erhaltenen Werte kann man Informationen über die Änderung von Datenwerten innerhalb des Volumens im Schirmraum erhalten. Diese Gradienteninformationen können für das Blinn-Phong-Schattierungsmodell zum Auswerten der lokalen Beleuchtung verwendet werden. Unter Bezugnahme auf 5, das ein Flußdiagramm für ein Programm für die Schirmraumableitungsschattierung an einer GPU gemäß der vorliegenden Erfindung zeigt. Dieses Flußdiagramm ist im wesentlichen das gleiche wie das, das bei der herkömmlichen Schattierung verwendet wird, mit Ausnahme der Art und Weise, wie Gradienten in dem dritten Schritt 54 berechnet werden.
  • Der erste Schritt 50 erhält einen Texel-Wert aus der 3D-Textur, die das Volumen darstellt, unter Verwendung der aktuellen Texturkoordinate (die eine Eingabe in das Fragmentprogramm ist), als den Index zu der 3D-Textur. Eine trilineare Interpolation wird während dieses Schritts automatisch von der Hardware ausgeführt.
  • Eine Klassifizierung erfolgt im zweiten Schritt 52. Gemäß einem Aspekt der vorliegenden Erfindung wird die Klassifizierung unter Verwendung eines abhängigen Texturnachschlagens mit dem Texel-Wert als dem Index der Übertragungsfunktion durchgeführt.
  • In dem dritten Schritt 54 wird in dem Schirmraum ein Gradient bestimmt. Dies bedeutet, daß benachbarte Dichteinformationen in Abhängigkeit von x- und y-Koordinaten des aktuellen Pixels anstelle der x-, y- und z-Koordinaten der aktuellen Abtastposition innerhalb des Volumens bestimmt werden. Wie bereits erwähnt kann der Gradient auf verschiedene Weisen berechnet werden. Gemäß einem Aspekt der vorliegenden Erfindung kann der Gradient bestimmt werden, indem in einem Schirmraum bezüglich mehrerer Pixel im Schirmraum, die jeweils unterschiedliche Koordinaten aufweisen, eine partielle Ableitung bestimmt wird. Dann wird aus den partiellen Ableitungen ein Gradient bestimmt. Die verwendete Anzahl von Pixeln hängt von dem zum Berechnen des Gradienten verwendeten Verfahren ab, d. h. ob ein Vorwärtsdifferenzverfahren oder ein anderes Verfahren verwendet wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird der Gradient bestimmt, indem die partielle Ableitung eines ersten Pixels mit einer ersten Schirmkoordinate und eine partielle Ableitung im Schirmraum bezüglich eines zweiten Pixels mit einer zweiten Schirmkoordinate bestimmt wird. Der Gradient wird dann auf der Basis der Ergebnisse bestimmt. Wieder hängt die Anzahl der verwendeten Pixel von dem zum Berechnen des Gradienten verwendeten Verfahren ab.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung beinhaltet der Schritt des Bestimmens der partiellen Ableitung bezüglich eines Pixels die Schritte des Bestimmens einer partiellen Ableitung bezüglich einer x-Koordinate des Pixels und des Bestimmens einer partiellen Ableitung bezüglich einer y-Koordinate des Pixels. Wieder hängt die zum Bestimmen der partiellen Ableitung verwendete Anzahl von Pixeln von dem zum Berechnen des Gradienten verwendeten Verfahren ab.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird die partielle Ableitung der x-Komponente eines Pixels unter Verwendung der ddx-Funktion mit dem aus dem ersten Schritt erhaltenen Texel erhalten. Die partielle Ableitung der y-Komponente des Gradienten wird unter Verwendung der ddy-Funktion erhalten. Die z-Komponente des Gradienten kann eine Konstante, die Objektraumableitung in der z-Richtung unter Verwendung der Differenz zwischen dem in dem ersten Schritt erhaltenen Texel und einem aus einer zweiten Texturkoordinate erhaltenen zweiten Texel-Wert oder ein gemäß dem Zoomfaktor skalierter Wert sein.
  • Wie in 6 dargestellt, beinhaltet somit der Schritt des Bestimmens eines Gradienten gemäß einem Aspekt der vorliegenden Erfindung das Bestimmen einer partiellen Ableitung im Schirmraum für die x-Richtung im Schritt 62, das Bestimmen einer partiellen Ableitung im Schirmraum für die y-Richtung im Schritt 64, das Skalieren der partiellen x/y-Ableitungen auf der Basis eines Zoomwerts im Schritt 66, das Berechnen der partiellen Ableitung im Objektraum für die z-Richtung im Schritt 67 und das Montieren des Gradienten im Schritt 68. Das Skalieren wird unten ausführlicher beschrieben.
  • Der Gradient wird im vierten Schritt 56 normalisiert. Der Gradient wird dann im fünften Schritt 58 zum Berechnen der diffusen und spiegelnden Komponenten verwendet. Schließlich wird die Ausgabefarbe im Schritt 60 unter Verwendung der klassifizierten Farbe (von Schritt 52), der diffusen und spiegelnden Parameter (aus Schritt 58) und der Materialparameter (die als Konstanten in das Fragmentprogramm eingegeben werden) berechnet.
  • Dieser Prozeß wird für jede Abtastposition in einem Datensatz wiederholt, um volumetrische Daten wiederzugeben. Beispielsweise können über diesen Prozeß Schattierungscharakteristiken bestimmt werden.
  • Die vorliegende Erfindung ist nicht lediglich auf die spiegelnden und diffusen Komponenten der Schattierung beschränkt. Schirmbasierte partielle Ableitungen können auch für andere Schattierungsarten wie etwa Opazitätsgradientenmodulation verwendet werden, wobei die Opazität (Alphakomponente) durch die Größe des Gradienten moduliert wird, um auf die Ränder innerhalb des Volumens zu fokussieren.
  • Unter Bezugnahme auf 7 wird ein Blockschaltbild eines Systems unter Verwendung der vorliegenden Erfindung gezeigt. Das System enthält ein Bildgebungssystem 70, einen Prozessor 72 und ein Display 74. Bei dem Bildgebungssystem kann es sich um eine beliebige Art von medizinischem Bildgebungssystem handeln, einschließlich u. a. Kernspintomographiesysteme (MR), Computertomographiescansysteme (CT), Positronenemissionstomographiesysteme (PET) und Ultraschallscansysteme. Die Prozessoren 72 und das Display 74 für diese Systeme sind wohlbekannt. Die vorliegende Erfindung wird bevorzugt in dem Prozessor 72 implementiert.
  • Die folgende Software, die Cg-Programmiersprache von NVIDIA verwendet, kann gemäß einem Aspekt der vorliegenden Erfindung verwendet werden. Der Skalierfaktor unten wird aus dem obigen Code erhalten, so daß sich die Helligkeit des angezeigten Bilds nicht mit dem Zoomwert ändert. In dem Code unten wird die Skalierung an dem x- und y-Wert derart durchgeführt, daß die x- und y-Werte abnehmen, wenn eine Wegzoomoperation auftritt, und derart, daß die x- und y-Werte zunehmen, wenn eine Heranzoomoperation auftritt. Natürlich kann die z-Komponente auch entsprechend der Zoomoperation (mit anderem Code) skaliert werden, um das gleiche Ergebnis zu erhalten.
  • Figure 00230001
  • Figure 00240001
  • Bei diesem Programm ist das Volumen auf einen 3D-Sampler (Volumen) und die Übertragungsfunktion auf einen ID-Sampler (Übertragungsfunktion) begrenzt. Zuerst wird ein Dichtewert von der Volumentextur geholt, wobei die Texturkoordinaten verwendet werden, die in die Texturstufe 0 eingegeben wurden (TexCoord0). Dann wird eine Klassifizierung unter Verwendung eines abhängigen Texturnachschlagens in die Übertragungsfunktion vorgenommen. Partielle Schirmraumableitungen der Volumendichte werden unter Verwendung der DDX- und DDY-Befehle ausgewertet und auf der Basis des Zoomwerts skaliert, wie oben erörtert. Eine optionale partielle Objektraumableitung wird unter Verwendung einer Texturkoordinate, die um die Abtastentfernung entlang der z-Richtung der Betrachtungsachse verschoben ist, für die z-Komponente ausgewertet (TexCoord1). Dann wird der Gradient normalisiert und diffuse und spiegelnde Schattierungsparameter für ein Blinn-Phong-Schattierungsmodell werden berechnet. Schließlich wird die Ausgabefarbe berechnet und von dem Fragmentprogramm zurückgegeben.
  • Um den Fragmentcode weiter zu optimieren, können die diffusen und spiegelnden Schattierungskoeffizienten im voraus berechnet und in einer Nachschlagetabelle gespeichert werden (Nachschlagetexture). Der folgende Code veranschaulicht die Berechnung der Nachschlagetabelle für gegebene Blinn-Phong-Schattierungsparameter (ambientparam, diffuseparam, specularparam, shininessparam), eine gegebene Lichtrichtung (lightDir), eine gegebene Halbweg-Lichtrichtung (halfway) und eine Nachschlagetabellengröße (1size).
  • Figure 00250001
  • Figure 00260001
  • Obwohl die Erfindung hier unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden ist, versteht sich, daß diese Ausführungsformen für die Prinzipien und Anwendungen der vorliegenden Erfindung lediglich veranschaulichend sind. Für den Fachmann ist offensichtlich, daß an dem Verfahren der vorliegenden Erfindung zahlreiche Modifikationen und Abwandlungen vorgenommen werden können, ohne vom Gedanken und Schutzbereich der Erfindung abzuweichen. Somit soll die vorliegende Erfindung Modifikationen und Abweichungen enthalten, die innerhalb des Schutzbereichs der beigefügten Ansprüche und ihrer Äquivalente liegen.

Claims (15)

  1. Schattierungsverfahren zum Wiedergeben volumetrischer Daten mit mehreren Pixeln, wobei jedes der mehreren Pixel ein skalaren Wert aufweist, umfassend: – Bestimmen einer partiellen Ableitung bezüglich der x-Richtung eines ersten der mehreren Pixel in einem 2D Bild-/Schirmraum; – Bestimmen einer partiellen Ableitung bezüglich der y-Richtung des ersten der mehreren Pixel in einem 2D Bild-/Schirmraum; – Skalieren der partiellen Ableitung bezüglich der x-Richtung und der partiellen Ableitung bezüglich der y-Richtung gemäß einem Zoom-Faktor; – Bestimmen einer partiellen Ableitung bezüglich der z-Richtung des ersten der mehreren Pixel in einem 3D-Objektraum; und – Zusammensetzen eines Gradienten aus der skalierten partiellen Ableitung bezüglich der x-Richtung im 2D Bild-/Schirmraum, aus der skalierten partiellen Ableitung bezüglich der y-Richtung im 2D Bild-/Schirmraum und aus der partiellen Ableitung bezüglich der z-Richtung im 3D-Objektraum, wobei die Schritte des Bestimmens der partiellen Ableitung in einer Grafikverarbeitungseinheit ausgeführt werden.
  2. Verfahren nach Anspruch 1, weiterhin mit dem Verwenden des Gradienten zum Bestimmen einer Schattierungscharakteristik des ersten Pixels auf der Basis des Gradienten.
  3. Verfahren nach Anspruch 1, weiterhin umfassend: – Bestimmen einer partiellen Ableitung bezüglich der x-Richtung jedes der verbleibenden mehreren Pixel im Schirmraum; – Bestimmen einer partiellen Ableitung bezüglich der y-Richtung jedes der verbleibenden mehreren Pixel im Schirmraum; – Bestimmen einer partiellen Ableitung bezüglich der z-Richtung jedes der verbleibenden mehreren Pixel im Objektraum; – Bestimmen eines Gradienten für jedes der verbleibenden mehreren Pixel auf der Basis der assoziierten partiellen Ableitung bezüglich der x-Richtung, auf der Basis der assoziierten partiellen Ableitung bezüglich der y-Richtung und auf der Basis der assoziierten partiellen Ableitung bezüglich der z-Richtung.
  4. Verfahren nach Anspruch 1, weiterhin mit der Verwendung des assoziierten Gradienten zum Bestimmen einer Schattierungscharakteristik jedes der verbleibenden mehreren Pixel.
  5. Verfahren nach Anspruch 3, wobei die Schritte des Bestimmens einer partiellen Ableitung bezüglich der x-Richtung unter Verwendung einer Funktion ddx in der Grafikverarbeitungseinheit ausgeführt werden und die Schritte des Bestimmens einer partiellen Ableitung bezüglich der y-Richtung unter Verwendung einer Funktion ddy in der Grafikverarbeitungseinheit ausgeführt werden.
  6. Verfahren nach Anspruch 3, wobei der Schritt des Bestimmens bei der partiellen Ableitung unter Verwendung einer Vorwärtsdifferenz ausgeführt wird.
  7. Verfahren nach Anspruch 4, weiterhin mit der Zwischenspeicherung der partiellen Ableitung vor dem Berechnen der Gradienten.
  8. Verfahren nach Anspruch 1, wobei die partielle Ableitung bezüglich der x-Richtung und die partielle Ableitung bezüglich der y-Richtung mit einem Heranzoomen hochskaliert werden und mit einem Herauszoomen herunterskaliert werden.
  9. Verfahren nach Anspruch 1 weiterhin mit dem Skalieren der partiellen Ableitung bezüglich der z-Richtung gemäß einem Zoomfaktor.
  10. System zum Schattieren für das Widergeben volumetrischer Daten umfassend: – eine Einrichtung zum Abbilden eines Körperteils zum Ableiten von mit mehreren Pixeln assoziierten skalaren Werten; – ein Prozessor, der für jedes der mehreren Pixel eine partielle Ableitung in einer x-Richtung in einem 2D Bild-/Schirmraum bestimmt, eine partielle Ableitung in einer y-Richtung in einem 2D Bild-/Schirmraum bestimmt, diese partiellen Ableitungen gemäß einem Zoomfaktor skaliert, eine partielle Ableitung in der z-Richtung unter Verwendung von Abtastwerten von Daten in einem 3D-Objektraum bestimmt und einen Gradienten aus der skalierten partiellen Ableitung im 2D Bild-/Schirmraum in der x-Richtung und aus der partiellen Ableitung im 2D Bild-/Schirmraum und aus der partiellen Ableitung in der z-Richtung im Objektraum in der y-Richtung bestimmt: – wobei der Prozessor volumetrische Daten auf der Basis des Gradienten wiedergibt und – wobei der Prozessor eine Grafikbearbeitungseinheit ist, und – ein Display, das die wiedergegebenen volumetrischen Daten anzeigt.
  11. System nach Anspruch 10, wobei die Grafikverarbeitungseinheit eine Fragmentfunktion ddx und eine Fragmentfunktion ddy verwendet.
  12. System nach Anspruch 10, weiterhin mit Mitteln zum Zwischenspeichern der partiellen Ableitung vor dem Berechnen der Gradienten.
  13. System nach Anspruch 10, wobei der Prozessor eine partielle Ableitung in der z-Richtung unter Verwendung von Abtastwerten von Daten entlang einer Betrachtungsrichtung bestimmt.
  14. Verfahren zum Wiedergeben volumetrischer Daten mit mehreren Pixeln, umfassend: – Erhalten einer Probe von Daten aus einem Volumen; – Klassifizieren der Probe; – Berechnen eines Gradienten für jedes der mehreren Pixel, wobei der Gradient aus einer skalierten partiellen Ableitung jedes der mehreren Pixel in einer x-Richtung in einem 2D Bild-/Schirmraum aus einer skalierten partiellen Ableitung in einer y-Richtung jedes der mehreren Pixel im 2D Bild-/Schirmraum und einer partiellen Ableitung in der z-Richtung unter Verwendung von Abtastwerten in einem 3D-Objektraum zusammengesetzt wird und wobei die Schritte des Bestimmens der partiellen Ableitungen zur Berechnung des Gradienten in einer Grafikverarbeitungseinheit ausgeführt werden; – Normalisieren des Gradienten; – Berechnen diffuser und spiegelnder Komponenten und – Berechnen von Ausgabefarben.
  15. Verfahren nach Anspruch 14, weiterhin mit dem Anzeigen des Ergebnisses.
DE102005035012A 2004-08-09 2005-07-22 Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen Active DE102005035012B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US60042804P 2004-08-09 2004-08-09
US60/600,428 2004-08-09
US11/180,100 US7525543B2 (en) 2004-08-09 2005-07-13 High performance shading of large volumetric data using screen-space partial derivatives
US11/180,100 2005-07-13

Publications (2)

Publication Number Publication Date
DE102005035012A1 DE102005035012A1 (de) 2006-02-23
DE102005035012B4 true DE102005035012B4 (de) 2008-10-16

Family

ID=35721683

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005035012A Active DE102005035012B4 (de) 2004-08-09 2005-07-22 Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen

Country Status (2)

Country Link
US (1) US7525543B2 (de)
DE (1) DE102005035012B4 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860722B2 (en) 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US8736620B2 (en) 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US20070179897A1 (en) * 2006-01-27 2007-08-02 Stefan Andersson Conditional stream access
US7990381B2 (en) * 2006-08-31 2011-08-02 Corel Corporation Re-coloring a color image
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8521800B1 (en) 2007-08-15 2013-08-27 Nvidia Corporation Interconnected arithmetic logic units
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW
US8599208B2 (en) * 2007-08-15 2013-12-03 Nvidia Corporation Shared readable and writeable global values in a graphics processor unit pipeline
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
US8736624B1 (en) 2007-08-15 2014-05-27 Nvidia Corporation Conditional execution flag in graphics applications
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
US8587583B2 (en) * 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9437039B2 (en) * 2012-09-11 2016-09-06 Nvidia Corporation Method and system for graphics rendering employing gradient domain metropolis light transport
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
TWI547902B (zh) * 2012-12-28 2016-09-01 輝達公司 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統
US9317251B2 (en) 2012-12-31 2016-04-19 Nvidia Corporation Efficient correction of normalizer shift amount errors in fused multiply add operations
US10741226B2 (en) * 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US10198856B2 (en) * 2013-11-11 2019-02-05 Oxide Interactive, LLC Method and system of anti-aliasing shading decoupled from rasterization
US10169909B2 (en) * 2014-08-07 2019-01-01 Pixar Generating a volumetric projection for an object
US11436783B2 (en) 2019-10-16 2022-09-06 Oxide Interactive, Inc. Method and system of decoupled object space shading
US11625848B2 (en) * 2020-01-30 2023-04-11 Unity Technologies Sf Apparatus for multi-angle screen coverage analysis
EP4325436A1 (de) * 2022-08-17 2024-02-21 Siemens Healthineers AG Computerimplementiertes verfahren zum darstellen von medizinischen volumendaten

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499322A (en) * 1992-03-31 1996-03-12 Inria Institut National De Recherche En Informatique Et En Automatique Device for processing three-dimensional image information, with extraction of significant lines
US20020190988A1 (en) * 2001-05-15 2002-12-19 Jerome Maillot System of feature-based surface mapping

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163257A (en) * 1977-12-27 1979-07-31 Rockwell International Corporation Spatial toner for image reconstitution
JPS59133414A (ja) * 1983-01-21 1984-07-31 Agency Of Ind Science & Technol 楕円形状検出方法とその装置
US4737921A (en) * 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system
US4745550A (en) * 1985-08-16 1988-05-17 Schlumberger Technology Corporation Processing of oriented patterns
US4879668A (en) * 1986-12-19 1989-11-07 General Electric Company Method of displaying internal surfaces of three-dimensional medical images
US4827413A (en) * 1987-06-16 1989-05-02 Kabushiki Kaisha Toshiba Modified back-to-front three dimensional reconstruction algorithm
US5185809A (en) * 1987-08-14 1993-02-09 The General Hospital Corporation Morphometric analysis of anatomical tomographic data
US5214753A (en) * 1989-07-31 1993-05-25 Shographics, Inc. Video system with parallel attribute interpolations
US5371778A (en) * 1991-11-29 1994-12-06 Picker International, Inc. Concurrent display and adjustment of 3D projection, coronal slice, sagittal slice, and transverse slice images
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
US5412563A (en) * 1993-09-16 1995-05-02 General Electric Company Gradient image segmentation method
JP3586871B2 (ja) * 1993-10-15 2004-11-10 株式会社日立メディコ 三次元ct画像の表示方法
JP3483929B2 (ja) * 1994-04-05 2004-01-06 株式会社日立製作所 3次元画像生成方法
US5594842A (en) * 1994-09-06 1997-01-14 The Research Foundation Of State University Of New York Apparatus and method for real-time volume visualization
US5570460A (en) * 1994-10-21 1996-10-29 International Business Machines Corporation System and method for volume rendering of finite element models
KR100261076B1 (ko) * 1995-11-09 2000-07-01 윤종용 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
US5719600A (en) * 1995-12-12 1998-02-17 Hewlett-Packard Company Gradient calculation system and method
US5953015A (en) * 1996-11-15 1999-09-14 Samsung Electronics Co., Ltd. Determining the level of detail for texture mapping in computer graphics
US6724383B1 (en) * 1997-02-21 2004-04-20 Mental Images G.M.B.H. System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
US6005583A (en) * 1997-04-30 1999-12-21 Hewlett-Packard Company Precise gradient calculation system and method for a texture mapping system of a computer graphics system
US6226006B1 (en) * 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
US6097397A (en) * 1997-11-20 2000-08-01 Real 3D, Inc. Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system
US6204857B1 (en) * 1998-04-16 2001-03-20 Real 3-D Method and apparatus for effective level of detail selection
US6532017B1 (en) * 1998-11-12 2003-03-11 Terarecon, Inc. Volume rendering pipeline
JP2000149047A (ja) * 1998-11-12 2000-05-30 Mitsubishi Electric Inf Technol Center America Inc ボリュ―ムレンダリングプロセッサ
US6697497B1 (en) * 1998-12-22 2004-02-24 Novell, Inc. Boundary identification and characterization through density differencing
US6421057B1 (en) * 1999-07-15 2002-07-16 Terarecon, Inc. Configurable volume rendering pipeline
US6330281B1 (en) * 1999-08-06 2001-12-11 Richfx Ltd. Model-based view extrapolation for interactive virtual reality systems
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US6556199B1 (en) * 1999-08-11 2003-04-29 Advanced Research And Technology Institute Method and apparatus for fast voxelization of volumetric models
US6782432B1 (en) * 2000-06-30 2004-08-24 Intel Corporation Automatic state savings in a graphics pipeline
US6825851B1 (en) * 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6664971B1 (en) * 2000-08-25 2003-12-16 Microsoft Corporation Method, system, and computer program product for anisotropic filtering and applications thereof
US6680735B1 (en) * 2000-10-04 2004-01-20 Terarecon, Inc. Method for correcting gradients of irregular spaced graphic data
US6664961B2 (en) * 2000-12-20 2003-12-16 Rutgers, The State University Of Nj Resample and composite engine for real-time volume rendering
WO2002101497A2 (en) * 2001-06-08 2002-12-19 Nvidia Corporation System, method and computer program product for programmable fragment processing in a graphics pipeline
US6697064B1 (en) * 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline
US6963671B2 (en) * 2002-04-17 2005-11-08 Mitsubishi Electric Research Labs, Inc. Method for determining distances to a surface from a range image
US7636455B2 (en) * 2002-06-04 2009-12-22 Raytheon Company Digital image edge detection and road network tracking method and system
US6954204B2 (en) * 2002-07-18 2005-10-11 Nvidia Corporation Programmable graphics system and method using flexible, high-precision data formats
US7693563B2 (en) * 2003-01-30 2010-04-06 Chase Medical, LLP Method for image processing and contour assessment of the heart
US6937776B2 (en) * 2003-01-31 2005-08-30 University Of Chicago Method, system, and computer program product for computer-aided detection of nodules with three dimensional shape enhancement filters
US7616818B2 (en) * 2003-02-19 2009-11-10 Agfa Healthcare Method of determining the orientation of an image
US6967653B2 (en) * 2003-03-13 2005-11-22 Hewlett-Packard Development Company, L.P. Apparatus and method for semi-automatic classification of volume data
US7831088B2 (en) * 2003-06-13 2010-11-09 Georgia Tech Research Corporation Data reconstruction using directional interpolation techniques
WO2005010561A2 (en) * 2003-07-22 2005-02-03 L-3 Communications Security and Detection Systems Corporation Methods and apparatus for detecting objects in baggage using x-rays
US7037263B2 (en) * 2003-08-20 2006-05-02 Siemens Medical Solutions Usa, Inc. Computing spatial derivatives for medical diagnostic imaging methods and systems
CN100530237C (zh) * 2003-09-22 2009-08-19 美国西门子医疗解决公司 管结构的局部可视化技术的自动定向的方法及系统
US7724258B2 (en) * 2004-06-30 2010-05-25 Purdue Research Foundation Computer modeling and animation of natural phenomena

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499322A (en) * 1992-03-31 1996-03-12 Inria Institut National De Recherche En Informatique Et En Automatique Device for processing three-dimensional image information, with extraction of significant lines
US20020190988A1 (en) * 2001-05-15 2002-12-19 Jerome Maillot System of feature-based surface mapping

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FELLNER, W.D .: Computergrafik, 2. Aufl., B°1, 1992, ISBN 3-411-15122-6, S. 255-266 *
JIRKA, T., SKALA, V.: Gradient Vector Estimation and Vertex Normal Computation, Univ. of West Bohemia Pilsen, October 2002, Technical Report No. DCSE/TR-2002-08, Titelseite, Inhaltsverz. und S.en 1-27 *

Also Published As

Publication number Publication date
DE102005035012A1 (de) 2006-02-23
US7525543B2 (en) 2009-04-28
US20060028469A1 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
DE102005035012B4 (de) Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen
US4882679A (en) System to reformat images for three-dimensional display
Wang et al. Volume sampled voxelization of geometric primitives
DE69737720T2 (de) Verbessertes bildverarbeitungsverfahren für ein dreidimensionales bilderzeugungssystem
DE69501651T2 (de) System und Verfahren zur Darstellung von Bildern
DE102006025030B4 (de) Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen
DE102007034006B9 (de) System und Verfahren für ein Direktvolumenwiedergeben
JP2744490B2 (ja) 物体内部構造表面の2次元像を表示する装置と方法
US5079699A (en) Quick three-dimensional display
JP3483929B2 (ja) 3次元画像生成方法
US5170347A (en) System to reformat images for three-dimensional display using unique spatial encoding and non-planar bisectioning
DE69624878T2 (de) Verfahren und Vorrichtung zur Volumendarstellung
US7236558B2 (en) Three-dimensional image display device creating three-dimensional image directly from projection data
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
DE102007033999B4 (de) Systeme und Verfahren zum Bestimmen von Abtastraten für ein Volumenwiedergeben
JP2001526806A (ja) デジタルデータ処理パラメータの迅速な評価のための方法および装置
DE102007008224A1 (de) System und Verfahren für eine Inkontext-Volumenvisualisierung unter Verwendung eines virtuellen Schnitts
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
DE102013114176A1 (de) Tessellieren von Oberflächendatensegmenten beim kachelbasierten Rendern von Computergrafik
DE102012113011A1 (de) Verfahren und System zum Anzeigen der Lichtrichtung für ein volumengerendertes Bild
DE102005035796A1 (de) System und Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering
DE102006021118A1 (de) Rendern von anatomischen Strukturen mit ihrem nahen Umgebungsbereich
US20090303236A1 (en) Method and system for explicit control of lighting type in direct volume rendering
DE102020213305A1 (de) Verfahren und Vorrichtung zur Visualisierung von dreidimensionalen Objekten
DE102012217089A1 (de) Schichtdarstellung von Volumendaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: SIEMENS MEDICAL SOLUTIONS USA, INC., MALVERN, PA.,

8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS MEDICAL SOLUTIONS USA, INC., MALVERN, PA., US

R082 Change of representative
R083 Amendment of/additions to inventor(s)