DE102007050615A1 - Brick-basierter Fusionsrenderer - Google Patents

Brick-basierter Fusionsrenderer Download PDF

Info

Publication number
DE102007050615A1
DE102007050615A1 DE102007050615A DE102007050615A DE102007050615A1 DE 102007050615 A1 DE102007050615 A1 DE 102007050615A1 DE 102007050615 A DE102007050615 A DE 102007050615A DE 102007050615 A DE102007050615 A DE 102007050615A DE 102007050615 A1 DE102007050615 A1 DE 102007050615A1
Authority
DE
Germany
Prior art keywords
bricks
brick
blocks
expanded
volume
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.)
Granted
Application number
DE102007050615A
Other languages
English (en)
Other versions
DE102007050615B4 (de
Inventor
Wei Li
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 Healthineers Ag De
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 DE102007050615A1 publication Critical patent/DE102007050615A1/de
Application granted granted Critical
Publication of DE102007050615B4 publication Critical patent/DE102007050615B4/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/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Landscapes

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

Abstract

Verfahren zum Kombinieren von Bilddatensätzen, um ein Verbundbild zu erzeugen. Das Verfahren teilt jeden der Datensätze in eine Mehrzahl von Bricks entlang drei gegenseitig orthogonalen Achsen. Das Verfahren enthält (a) Bilden einer hierarchischen Struktur für jeden der mindestens zwei Datensätze, wobei jedes Struktur Blöcke von Voxeln höheren Niveaus und Blöcke von Voxeln niedrigeren Niveaus enthält, wobei die Blöcke höheren Niveaus eine größere Anzahl an Voxeln haben als die Blöcke niedrigeren Niveaus; (b) Aufweiten von Grenzen jeder der Strukturen in entsprechende aufgeweitete hierarchische Strukturen, wobei ein derartiges Grenzaufweiten ein Hinzufügen von zusätzlichen virtuellen Verarbeitungsbricks zu den anfänglichen Verarbeitungsbricks enthält, wobei derartige virtuelle Verarbeitungsbricks semi-ungebundene Blöcke enthalten, um die expandierten (aufgeweiteten) Grenzen der aufgeweiteten hierarchischen Strukturen bereitzustellen und (c) Wiedergeben jedes der Bricks in jeder der aufgeweiteten hierarchischen Strukturen in einem zweidimensionalen Bild.

Description

  • Die vorliegende Erfindung betrifft allgemein das Gebiet der Bildgebung, und spezieller Brick-basierte Fusionsrenderer (Fusionswiedergeber), die in einer derartigen Bildgebung verwendet werden.
  • Wie bekannt ist, liefert eine moderne medizinische Technologie unterschiedliche Modalitäten zum Erfassen von 3D-Daten, beispielsweise Computertomographie „CT", Magnetresonanzbildgebung („MRI"), Positronenemissionstomographie („PET") und Ultraschall. Die Information, die von unterschiedlichen Modalitäten gewonnen wird, ist normalerweise komplementär; beispielsweise liefert CT strukturelle Information, während PET funktionale Information bereitstellt. Folglich ist es allgemein wünschenswert mehrere Volumendatensätze zu fusionieren (zu vereinigen oder zu kombinieren).
  • 1 zeigt ein beispielhaftes fusioniertes (vereinigtes) Bild, in dem funktionale Daten von PET mit struktureller Information von CT korreliert sind. 1 zeigt eine beispielhafte fusionierte Wiedergabe. Das Bild auf der linken Seite (1(a)) zeigt strukturelle Information, die abgeleitet ist aus einem 512×512×512×12-Bit CT-Datensatz, wobei das Bild auf der rechten Seite ( 1(b)) funktionelle Information zeigt, die hergeleitet ist aus einem 256×256×256×16-Bit PET-Datensatz. Das Bild in der Mitte (1(c)) ist eine einfache Fusion der CT- und PET-Datensätze, die die strukturelle und funktionale Information miteinander korrelieren. Die Negative" jedes dieser Bilder sind gezeigt, um eine gedruckte Reproduktion zu erleichtern.
  • Die meisten existierenden Fusionsrenderer erfordern, dass alle Volumen ausgerichtet sind und die gleiche Auflösung haben, wodurch es notwendig ist alle Volumen neu abzutasten mit Ausnahme der Bereiche, die als Referenzvolumen behandelt werden. Das Referenzvolumen bezeichnet im Allgemeinen das Volumen mit der feinsten Auflösung, um einen Verlust von Information zu vermeinen – die anderen Volumen werden neu abgetastet gemäß dem Gitter des Referenzvolumens. Es kann sein, dass das Referenzvolumen aufgeweitet werden muss, um die Hüllbox (Hüllschachtel), die alle Volumen einschließt, zu füllen. Die gesamte Hüllbox des Ensembles der Volumen kann signifikant größer sein als individuelle Hüllboxen, wenn die Orientierung eines Volumens nahe der Diagonalen eines anderen Volumens liegt. Die Anzahl an Voxeln nach einem erneuten Abtasten ist proportional zu dem Volumen der gesamten Hüllbox.
  • Folglich kann ein Neuabtasten signifikant die Verarbeitungszeit (sowohl anfänglich als auch für jedes Wiedergeben) sowie das Ausmaß an erforderlichem Speicher erhöhen.
  • Die Volumen müssen normalerweise registriert werden, da unterschiedliche Scanner unterschiedliche Koordinatensysteme (bezüglich Ursprüngen und Orientierungen) haben können. Während einer Registrierung werden alle Volumen, ausgenommen das Referenzvolumen, als „Floating-Volumen" bezeichnet. Verschiedene Transformationen, beispielsweise Rotation, Translation, Skalieren und Scheren werden auf die Floating-Volumen angewendet, so dass ihre Merkmale mit denen in dem Referenzvolumen zusammenpassen. Darüber hinaus muss ein erneutes Abtasten erneut durchgeführt werden nach einer derartigen Transformation. Die Registrierung erfordert typischerweise eine Benutzerinteraktion, mit einem visuellen Feedback (Rückkopplung), die wiederholt angewendet wird, um die Registrierung zu verfeinern. Der auf einem erneuten Abtasten basierte Fusionsrenderer kann nicht schnell genug auf derartige Anforderungen reagieren.
  • „Bricking" ist eine wichtige Technik bei der texturbasierten Volumenwiedergabe. Im Prinzip partitioniert das Bricking einen Volumendatensatz in mehrere Nebenvolumen, die als Bricks (Steine oder Stücke) bezeichnet werden. Der Zweck von Bricking ist in erster Linie folgender: 1) Bricks, die nur unsichtbare Voxel enthalten, werden übergangen (ausgelassen), um eine Beschleunigung zu erzielen; 2) Volumen größer als der Grafikspeicher können wiedergegeben werden, indem ein Nebensatz für jeden Wiedergabeverlauf in den Grafikspeicher heruntergeladen wird. Bei mehreren Wiedergabeverläufen werden alle sichtbaren Voxel verarbeitet. Innerhalb jedes Bricks können die Voxel weiter in Blöcke unterteilt werden, und unsichtbare Blöcke werden übergangen. Folglich ist die minimale Granularität des Wiedergebens ein Block, während die minimale Granularität von Textur-Downloading ein Brick ist. Offensichtlich muss ein Block vollständig in dem entsprechenden Brick eingeschlossen sein. Siehe Wei Li, „Invisible Space Skipping with Adaptive Granularity for Texture-based Volume Rendering", US Patentveröffentlichungsnr. 2006/0164410 , veröffentlicht am 27. Juli 2006, auf die hier Bezug genommen wird, insbesondere auf Merkmale, die das Bricking betreffen.
  • Ein Fusionsrenderer geht mit mehreren Volumen um, die sich normalerweise in einem 3D Raum überlappen, wie in der amerikanischen Patentanmeldung mit der Seriennr. 11/235,410 , eingereicht am 26. September 2005 diskutiert, die dem gleichen Anmelder gehört, und auf deren Gegenstand hiermit Bezug genommen wird. Die Grundidee, die in der amerikanischen Patentanmeldung mit der Seriennr. 11/235,410 beschrieben ist, liegt in einem Wiedergeben eines gesamten Schnitts durch alle Blöcke, wodurch das Wiedergeben in einer Schnitt-für-Schnitt Reihenfolge erfolgt, an Stelle einer Block-für-Block-Reihenfolge. Kurz gesagt enthält das Verfahren die Schritte (a) Bilden einer hierarchischen Struktur für jedes von einer Mehrzahl von Volumen; (b) Finden aller Blöcke in jeder der hierarchischen Strukturen, die eine Schnittebene kreuzen; (c) Teilen jedes der Mehrzahl von Volumen in Stapel paralleler Schnitte und Sortieren der parallelen Schnitte in Sichtbarkeitsreiehnfolge; (d) Wählen eines nächsten Schnitts in den sortierten parallelen Schnitten, wobei der nächste Schnitt zu einem gegenwärtigen Volumen gehört; (e) Ändern von Wiedergabeparametern, falls das gegenwärtige Volumen verschieden ist von einem vorherigen Volumen in einem vorherigen Iterationsschritt (d); (f) Wiedergeben des nächsten Schnitts basierend auf den Wiedergabeparametern, indem die Schnittebene mit den Blöcken, die dem gegenwärtigen Volumen entsprechen, gekreuzt wird; und (g) Wiederholen der Schritte (d)–(f) bis alle sortierten parallelen Schnitte wiedergegeben sind. Es ist wünschenswert jedes Volumen unabhängig zu lassen, anstatt sie auf die gleiche Auflösung neu abzutasten. Jedes Volumen behält ihre eigene Raum-Skipping-Struktur. Dies hat einen Vorteil bezüglich der Wiedergabegeschwindigkeit, des Speicherverbrauchs und der Flexibilität.
  • Wenn ein Datensatz in Bricks partitioniert ist, sind nicht alle Voxel während eines Wiedergabeverlaufs zugreifbar. Folglich muss ein Algorithmus zum Kombinieren von Bricking und Fusion sicherstellen, dass diese nicht zugreifbaren Voxel für den gegenwärtigen Verlauf nicht wiedergegeben werden, und irgendwelche sichtbaren Voxel werden genau einmal wiedergegeben. Dies ist eine herausfordernde Aufgabe, speziell wenn unsichtbare Bricks und Blöcke übergangen werden. Aus Gründen der Einfachheit handhabt die oben genannte amerikanische Patentanmeldung mit der Seriennr. 11/235,410 nur ein vereinfachtes Bricking-Schema. Ein Volumen wird also nur entlang der Z-Achse in Bricks unterteilt. Mit anderen Worten, jedes Brick hat höchstens zwei Nachbarn.
  • Das Bricking nur entlang in Z-Achse hat plattenförmige Bricks zur Folge, was unglücklicherweise bezüglich der Performance weniger wirkungsvoll ist. Aufgrund der Grafikhardwarebeschränkung kann darüber hinaus ein Datensatz, dessen X- und Y-Größen eine bestimmte Zahl überschreiten, gegenwärtig 512, nicht wiedergegeben werden. Ein Grafikspeicher ist eine teuere Ressource (Mittel) in einem System.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren geschaffen zum Kombinieren von mindestens zwei dreidimensionalen Bilddatensätzen, um ein Verbundbild aus den Datensätzen zu erzeugen. Das Verfahren enthält ein Unterteilen jedes der Datensätze in einer Mehrzahl von Bricks entlang drei gegenseitig orthogonaler Achsen. Mit einem derartigen Verfahren gibt es eine größere Flexibilität beim Auswählen der Form/Größe von Bricks, was eine bessere Performance zur Folge hat.
  • In einem Ausführungsbeispiel wird ein Verfahren geschaffen zum Kombinieren von mindestens zwei dreidimensionalen Bilddatensätzen, um ein Verbundbild aus den Datensätzen zu erzeugen. Das Verfahren enthält: (a) Bilden einer hierarchischen Struktur für jeden der mindestens zwei Datensätze, wobei jede hierarchische Struktur Blöcke von Voxeln des Datensatzes mit höherem Niveau (Level) und Blöcke von Voxeln des Datensatzes mit niedrigerem Niveau (Level) enthält, wobei die Blöcke höheren Niveaus eine größere Anzahl an Voxeln haben, als die Blöcke niedrigeren Niveaus, wobei einer oder mehrere Blöcke einen einzelnen von einer Mehrzahl von anfäglichen verarbeiteten Bricks besetzten; (b) Aufweiten von Grenzen von jeder der Strukturen in entsprechende aufgeweitete hierarchische Strukturen, wobei ein derartiges Grenzaufweiten ein Hinzufügen zusätzlicher virtueller Verarbeitungs-Bricks zu den anfänglichen Verarbeitungs-Bricks enthält, und derartige virtuelle Verarbeitungs-Bricks semi-ungebundene Blöcke enthalten, um die aufgeweiteten Grenzen der aufgeweiteten hierarchischen Strukturen bereit zu stellen; und (c) Wiedergeben von jedem der Bricks in jeder der aufgeweiteten hierarchischen Strukturen in einem zweidimensionalen Bild.
  • Mit einem derartigen Verfahren wird jedes Volumen (also jeder Datensatz) aufgeweitet in einen Blockbaum mit aufgeweiteten Knoten, so dass der Baum den gesamten 3D-Raum abdeckt, anstatt durch die Hüllbox des Volumens begrenzt zu werden. Ein Rendering (Wiedergeben) unter Verwendung des expandierten Baums garantiert, dass die Wiedergabe keinen Bereich des Volumens auslässt. Die aufgeweiteten Knoten sind lediglich virtuelle Knoten, die keine Voxeldaten enthalten.
  • Gemäß einem Ausführungsbeispiel enthält das Wiedergeben: (i) Verarbeiten der Bricks von jeder der aufgeweiteten hierarchischen Strukturen gemäß der relativen Sichtbarkeit, wobei die Sichtbarkeitsreihenfolge in Bezug steht zu dem Abstand von einer Betrachtungskamera, enthaltend die Ein-stellungsmarkierungen (Flags) für unsichtbare Bricks von den anfangs verarbeiteten Bricks und für die virtuell verarbeiteten Bricks, wobei sichtbare Bricks ohne Markierung blei ben, und wobei zu jeder Zeit, zu der ein augenblicklicher Brick wiedergegeben wird, Schnittebenen, die die Grenze des gegenwärtigen Bricks definieren, eingefügt werden, und wobei die Schnittebenen entfernt werden, wenn der augenblickliche Brick nicht langer wiedergegeben wird; (ii) Teilen jeder der aufgeweiteten hierarchischen Strukturen, die darin einen gegenwärtigen nicht markierten Brick aufweisen, in Stapel paralleler Schnitte entlang der Schnittebenen mit markierten Bricks, die ausgeschlossen sind von den parallelen Schnitten, und Sortieren der parallelen Schnitte gemäß der Sichtbarkeitsreihenfolge (iii) Wählen eines nächsten Schnitts in den sortierten parallelen Schnitten, wobei der nächste Schnitt zu einem gegenwärtig Wiedergegebenen der Bricks gehört; (iv) Finden aller Blöcke in jedem der gegenwärtigen Bricks, die eine Ebene des nächsten Schnitts, der in (iii) gewählt wurde, kreuzen; (v) Erfassen von Voxeln von den gefundenen Blöcken; (vi) Wiedergeben der erfassten Voxel in dem zweidimensionalen Bild; (vi) Wiederholen von (iii)–(v) bis alle sortierten parallelen Schnitte wiedergegeben sind; und (vii) Zurücksetzen des gegenwärtigen Bricks.
  • Mit den Schnittebenen kombiniert garantiert das Verfahren, dass irgendein sichtbarer Bereich von irgendeinem Volumen exakt einmal wiedergegeben wird.
  • In einem Ausführungsbeispiel werden die parallelen Schnitte unabhängig für jede der aufgeweiteten hierarchischen Strukturen gewählt, um ineinander (verschachtelte) Schnitte wiederzugeben.
  • Gemäß einem Ausführungsbeispiel werden die parallelen Schnitte von den aufgeweiteten hierarchischen Strukturen ausgewählt, um sich einen gemeinsamen Satz von parallelen Schnitten zu teilen, um fusionierte (vereinigte) Schnitte zu erzeugen; die unsichtbaren Markierungen (Flags) werden zu der Wiedergabefunktion gegeben, so dass ein Erfassen von einem unsichtbaren Brick verhindert und Null als Wert der Voxelabtastung zugegeben wird. Die Abtastungen, die von unterschiedlichen Datensätzen erfasst werden, werden gemäß einer benutzerspezifischen Fusionsgleichung kombiniert, also die Gleichung hängt von der realen Anwendung ab. Beispielsweise könnte dies lediglich ein Mittelwert bilden, Summieren, Differenzieren, oder irgendeine andere Art und Weise des Kombinierens von Voxelwerten sein, die von dem gleichen 3D Ort von unterschiedlichen Volumen erfasst worden sind.
  • Gemäß der vorliegenden Erfindung werden ein gemeinsamer Grafikspeichermanager und ein Cachespeicher gemeinsam verwendet von mehreren GPU basierten Renderern, wie beispielsweise beschrieben in der amerikanischen Patentanmeldung mit der Seriennr. 11/679,990 , eingereicht am 28. Februar 2007, auf deren Gegenstand hiermit Bezug genommen wird. Um das Problem der Speichersegmentierung zu verhindern, verwendet vorteilhafterweise jeder Renderer die gleiche Brick-Größe. Folglich ist ein Bricking in allen drei Achsen erforderlich.
  • Während in der oben genannten Patentanmeldung 11/235,410 unterschiedliche Volumen immer unabhängig behandelt werden (also unterschiedliche Volumen an den gleichen 3D Orten werden nicht abgetastet, und Voxelabtastungen von unterschiedlichen Volumen sind nicht gleichzeitig innerhalb eines Shader-Programms verfügbar), ist in einigen Szenarien dieses Merkmal erforderlich. In einem derartigen Modus muss der Brick-basierte Renderer die Zugreifbarkeit der erforderlichen Voxel von allen Volumen für den gegenwärtigen Wiedergabeverlauf sicherstellen, und jeder Abtastort in dem 3D Raum wird während der Wiedergabe des gesamten Bildrahmens nur einmal verwendet.
  • In dieser Erfindung wird der aufgeweitete Baum, der von dem Fusionsrenderer von verschachtelten Schnitten verwendet wird, angewendet; hier hat das Shader-Programm zugriff auf die Brick-Sichtbarkeitsmarkierungen (Flags). Ein Weg ist die Übergabe der Brick-Sichtbarkeitsmarkierungen als Argumente an den Shader. Wenn der gegenwärtige Brick eines Volumens unsichtbar ist, vermeidet der Shader einfach ein Abtasten des Volumens, und weist einen Nullwert der Variablen zu, die den Abtastwert speichert, und fährt mit der Fusionsberechnung fort. Dies erfordert Zweige innerhalb des Shader-Programms, und kann auf einigen GPUs nicht wirkungsvoll sein. Ein anderer Weg ist die Erzeugung mehrerer Versionen des Shader-Programms, wobei jede einem unterschiedlichen Nebensatz von unsichtbaren Volumen entspricht. Das korrekte Shader-Programm wird dann in Abhängigkeit von den Brick-Sichtbarkeitsmarkierungen ausgewählt.
  • Ein unsichtbareres Raum-Shipping innerhalb eines Bricks für fusionierte Schnitte ist verschieden von einem Wiedergeben von verschachtelten Schnitten. Für verschachtelte Schnitte nimmt der Renderer mehrere Sätze von Polygone, die die Abtastorte darstellen. Jeder Satz von Polygone deckt alle sichtbaren Voxel eines Volumens ab. Für fusionierte Schnitte gibt es nur einen Satz von Polygone, die alle sichtbaren Voxel von allen Volumen abdecken sollten. Die Verwendung der aufgeweiteten Knoten stellt die Abdeckung des Raums außerhalb irgendeines Volumens sicher. Innerhalb eines Volumens, falls ein Brick unsichtbar ist, wird es nicht lediglich übergangen (ausgelassen), sondern führt notwendige Schnittebenen ein, und setzt die Brick-Sichtbarkeitsmarkierung auf „false" für das betreffende Volumen. Für das Wiedergeben von fusionierten Schnitten werden unsichtbare Blöcke innerhalb eines Bricks in ähnlicher Weise gehandhabt durch Einfügen von Schnittebenen und Setzen der Brick-Sichtbarkeitsmarkierung.
  • Einzelheiten von einem oder von mehreren Ausführungsbeispielen der Erfindung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Andere Merkmale, Aufgaben und Vorteile der Erfindung werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.
  • 1 zeigt ein beispielhaftes fusioniertes Bild gemäß dem Stand der Technik;
  • 2 zeigt drei Hüllboxen für drei Bilddatensatzvolumen;
  • 3 zeigt ein Beispiel des Fusionierens von zwei Volumen, wobei jedes vier Bricks aufweist, die gepunkteten Linien stellen die Schnittebenen dar;
  • 4 zeigt einen Zustand, bei dem einige Bricks vollständig außerhalb des Darstellungsfelds sind, dann werden die Schnittebenen zwischen sichtbaren und unsichtbaren Bricks auch ignoriert, eine derartige Darstellung zeigt, dass es auch einen leeren Brick in der Mitte des Stapels gibt, und folglich wird eine Schnittebene zwischen dem leeren Brick und dessen benachbarten nicht leerer Brick entfernt (also wenn nur entlang einer Achse ein Bricking erfolgt, werden die GrenzBricks oder die Bricks entlang der sichtbaren Grenze expandiert, so dass der Gesamtraum abgedeckt wird durch die die Union des Brick-Satzes des Volumens);
  • 5 zeigt ein 2D Beispiel, bei dem ein Ursprungswurzelknoten ausgepolstert (umgeben) ist von vier aufgeweiteten Knoten, um den gesamten Raum abzudecken, und Punktlinien, die die Grenzen angeben, die im Unendlichen liegen, und wobei die linke Hälfte das Auspolstern (Einschließen) anzeigt, während die rechte Hälfte den Baum zeigt, der die expandierten (aufgeweiteten) Knoten und die Wurzel enthält, hier wird ein Binärbaum zur Verdeutlichung verwendet;
  • 6 zeigt ein Flussdiagramm eines Gesamtprozesses; und
  • 7 zeigt ein Flussdiagramm des Wiedergabeteils des Prozesses gemäß dem Flussdiagramm in 6 im Einzelnen.
  • Ähnliche Bezugszeichen werden in den verschiedenen Ansichten verwendet, um ähnliche Elemente anzugeben.
  • Bevor genauer auf den Fusionsrenderer gemäß der Erfindung eingegangen wird, wird darauf hingewiesen, dass ein kurzer Überblick über Brick-basierte Wiedergeber (Renderer) für ein Einzelvolumen im Einzelnen beschrieben wird in der obigen veröffentlichten amerikanischen Patentanmeldung mit der Seriennr. 2006/0164410 , veröffentlicht am 27. Juli 2006. Ein Volumendatensatz wird in gleichmäßig große Blöcke partitioniert. In diesem Beispiel wird eine Blockgröße von 32·32·32 ausgewählt. Die Blöcke werden dann vermengt und in einer hierarchischen Struktur organisiert, auch als Baum bezeichnet, wobei jeder Originalblock ein Blattknoten ist, und die Wurzel des Baumes die Vereinigung aller Blöcke ist, die dem Gesamtvolumen entspricht. Zwischen der Wurzel und den Blättern werden einige vermengte Blöcke als Bricks betrachtet. Die Bricks haben ebenfalls einheitliche Größe und eine typische Brick-Größe ist 64·64·64. Während des Wiedergebens wird der Baum von oben nach unten von der Wurzel an beginnend durchlaufen. Völlig unsichtbare Knoten werden übergangen (ausgelassen). Wenn das Durchqueren einen Brick erreicht, wird das entsprechende Nebenvolumen in den Grafikspeicher geladen, wenn es nicht in dem Brick-Cachespeicher existiert. Während der eingeschlossene Brick in dem Grafikspeicher ist, wählt der Renderer von den Nebenknoten des Bricks aus, um in Abhängigkeit von dem Prozentsatz der sichtbaren Voxel, die von dem Nebenknoten eingeschlossen sind, wiederzugeben. Innerhalb jedes Bricks kann das Wiedergeben entweder Block für Block oder Schnitt für Schnitt erfolgen, wie in der obigen Patentanmeldung mit der Nr. 11/235,410 beschrieben.
  • Bei der Fusion können die Volumen unterschiedliche Größen haben und sind mit unabhängigen Rotationen und Translationen. Folglich ist der Domain (Bereich), den sie in 3D abdecken, normalerweise verschieden. Wie in 2 gezeigt, zeigen die drei Hüllboxen 10, 11 und 12 die Regionen, die die drei Volumen besetzen. Wie in der oben beschriebenen Patentanmeldung 11/235,410 diskutiert, wird jedes Volumen unabhängig behandelt. Jedes Volumen wird also in seinen eigenen geradlinigen Gittern gespeichert, möglicherweise in seiner eigenen Auflösung. Mit anderen Worten, ein Volumen wird nicht auf globale Gitter neu abgetastet.
  • Gitter von unterschiedlichen Volumen sind üblicherweise nicht zueinander ausgerichtet, folglich sind sie unabhängig „gebrickt. Aus Einfachheitsgründen und Performancebetrachtungen sowie unter Berücksichtigung einer Hardwarebegrenzung, wird nur die Textur eines Bricks jedes Volumens erlaubt, um zu irgendeinem Zeitpunkt aktiv zu sein. Folglich sollte das Wiedergeben eingeschränkt sein innerhalb eines gemeinsamen Bereichs (Region) von gegenwärtig aktiven Bricks. Da Bricks von unterschiedlichen Volumen im Allgemeinen nicht ausgerichtet sind, er folgt dies durch Einfügen von Schnittebenen auf den Flächen der Bricks. 3 zeigt ein Beispiel des Fusionierens von zwei Volumen, die jeweils vier Bricks aufweisen. Die gepunkteten Linien stellen Schnittebenen dar, und die Regionen in unterschiedlicher numerischer Bezeichnung stehen jeweils für eine gemeinsame Region. Man beachte, dass der Zweck der Schnittebenen darin liegt den Raum in Regionen zu unterteilen. Jede Region, die definiert ist durch einen Satz von Schnittebenen eines Volumens, enthält mindestens einen Brick des gleichen Volumens. In dem Fall gemäß 3, bei dem ein Bricking nur in einer Richtung angewendet wird, werden die Schnittebenen, die mit Volumengrenzen ausgerichtet sind, ignoriert. Beispielsweise entspricht der oberste Brick in rot einem halben Raum, der definiert ist durch die Schnittebene auf der unteren Grenze des Bricks. Die gemeinsame Region, die definiert ist durch die Schnittebenen, sind immer konvex. Es ist wichtig, dass die Vereinigung aller Brick-Regionen eines Volumens den Gesamtraum abdeckt, oder mindestens den Raum, der alle anderen Volumen enthält. Im Übrigen wird nur die gemeinsame Region zwischen unterschiedlichen Volumen wiedergegeben.
  • Jede Brickregion eines Volumens wird mit allen Bricks anderer Volumen getestet, ob sie sich überlappen. Wenn eine gemeinsame Region existiert, wird ein Wiedergeben durchgeführt. Normalerweise werden die Bricks in verschachtelten Schleifen durchquert:
    Figure 00090001
  • Es ist möglich, dass einige Bricks vollständig aus dem Darstellungsfeld herausfallen, wie in 4 gezeigt, dann werden die Schnittebenen zwischen sichtbaren und unsichtbaren Bricks auch ignoriert. Es gibt auch einen leeren Brick in der Mitte des Stapels. Folglich wird eine Schnittebene zwischen dem leeren Brick und dessen benachbarten nicht-leeren Brick entfernt. Mit anderen Worten, wenn ein Bricking nur entlang einer Richtung erfolgt, werden die Grenz-Bricks oder die Bricks entlang der Sichtbarkeitsgrenze aufgeweitet, so dass der gesamte Raum abgedeckt wird durch die Union (Vereinigung) des Brick-Satzes des Volumens.
  • Wie in der obigen Patentanmeldung 11/235,410 beschrieben, wird nur ein vereinfachter Fall von Bricking betrachtet, also ein Volumen wird nur entlang der Z-Achse gebildet (gebrickt). Wenn ein Bricking entlang aller drei Hauptachsen erlaubt wird, hat jeder Brick bis zu sechs Nachbarn, folglich werden bis zu sechs Schnittebenen benötigt, um den Raum, der durch einen Brick besetzt ist, zu definieren. In einem derartigen Szenario ist es normalerweise schwierig die sichtbaren Brickregionen zu expandieren (aufzuweiten), so dass ihre Vereinigung den vollen Raum abdeckt, während die aufgeweiteten Regionen sich nicht überlappen, speziell wenn die Sichtbarkeit der Bricks sich dynamisch ändert.
  • Wie oben erwähnt werden die Blöcke eines Volumens in einer Baumstruktur organisiert. Der Wurzelknoten des Baums ist exakt die Hüllbox des Volumens. Wir schlagen vor, den Baum aufzureiten, um den vollen Raum abzudecken. Der Prozess fügt eine aufgeweitete Wurzel hinzu, die den Gesamtraum abdeckt, sowie intern aufgeweitete Knoten, um die Baumstruktur zu vervollständigen. All diese aufgeweiteten Knoten haben eine oder mehrere ihrer Grenzflächen bei unendlich definiert. 5 zeigt ein Beispiel, bei dem der Originalwurzelknoten ausgepolstert ist mit vier aufgeweiteten Knoten, um den Gesamtraum abzudecken. Die Punktlinien geben die Grenzen in Unendlichkeit an. Die linke Seite zeigt die Auspolsterung, während die rechte den Baum zeigt, der die aufgeweiteten Knoten und die Wurzel enthält. Zur Verdeutlichung verwenden wir den Binärbaum. Das Prinzip ist ähnlich zu anderen Bäumen. Aber die Anzahl an internen Knoten kann verschieden sein.
  • Für die Brick-basierte Fusion ist dann der Startknoten die aufgeweitete Wurzel. Offensichtlich sind die aufgeweiteten Knoten alle unsichtbar, folglich erfolgt kein Texturladen und Wiedergeben. Sie werden nur verwendet, um Schnittebenen anzuwenden. Eine Schnittebene, die bei Unendlich lokalisiert ist, wird sicher ignoriert. Für einen realen Knoten der keiner Expansion unterliegt, aber sichtbar ist, ist die Handhabung ähnlich wie bei aufgeweiteten Knoten. Sie werden also nur verwendet für das Anwenden von Schnittebenen, aber die Knoten werden selbst nicht tatsächlich wiedergegeben.
  • Bei einem Wiedergeben, indem jedes Volumen als Stapel von Schnitten behandelt wird, wie oben unter Bezugnahme auf die Anmeldung 11/235,410 beschrieben, sind die Wiedergabeschritte bei der Verwendung des aufgeweiteten Baums ähnlich zu einem Wiedergeben von nur Z-Bricks. Die einzige Ausnahme liegt darin, dass jedes Volumen ein Brick-Sichtbarkeitsflag (Markierung) hat. Wenn die Markierung angibt, dass das gegenwärtige Brick eines Volumens unsichtbar ist, dann wird das Volumen nicht geschnitten. Innerhalb der Wiedergabeschleife ignoriert die Funktion zum Suchen des nächsten Schnitts zwischen den Stapeln von Schnitten einfach das Volumen mit dem unsichtbaren Brick. Wenn die Sichtbar-Brick-Markierungen aller Volumen „falsch" sind, muss für die gegenwärtige gemeinsame Region von Bricks nichts gemacht werden.
  • Die Blöcke, die in dem gegenwärtigen Brick enthalten sind, werden Schnitt für Schnitt wiedergegeben, wie in der oben genannten Patentanmeldung 11/235,410 beschrieben. Ein Gesamtschnitt über alle kreuzenden Blöcke mit dem Brick wird also wiedergegeben, bevor zu dem nächsten Schnitt gegangen wird. Unsichtbares Raumübergehen (Space-Skipping) ist inhärent für ein Schnitt-für-Schnitt Wiedergeben, indem die unsichtbaren Blöcke übergangen werden.
  • Beachte, dass das Bricking nur in Z-Achsenrichtung ein spezieller Fall ist für einen allgemeinen Brickingansatz. Folglich ist auch der Ansatz, der einen aufgeweiteten Baum verwendet, für die Z-Bricks anwendbar, so lange die Brickgröße in X und Y spezifiziert ist, um sich durch das gesamte Volumen zu erstrecken.
  • Wiedergeben von fusionierten Schnitten (Schnittbildern)
  • Wenn die mehreren Volumen als fusionierte Schnitte vor einem Zusammenfassen behandelt wird, sollte der Stapel von Schnitten eines Volumens mit dem anderer Volumen ausgerichtet sein. Das Shader-Programm tastet also mehrere Volumen an den gleichen Orten ab, anstatt eine Verschachtelung von Schnitten von unterschiedlichen Volumen zuzulassen. Wie in der obigen Patentanmeldung 11/235,410 beschrieben, wird ein Verfahren verwendet, um die Fusionsregel zu zerlegen, die definiert, wie Voxelabtastungen von unterschiedlichen Volumen kombiniert werden. Dies ist jedoch unflexibel zu implementieren. Darüber hinaus, wenn sich eine Fusionsregel ändert, ist es wahrscheinlich, dass sich die Zerlegung sowie der Quellcode, der diese Zerlegung unterstützt, ändern. Folglich unterstütz das in der obigen Patentanmeldung 11/235,410 beschriebene Verfahren nicht das Ändern der Fusionsregel „im Flug" (während der Ausführung).
  • Durchqueren des Blockbaums
  • Da unsichtbare Bricks und Blöcke nicht einfach übergangen werden können, wird das Traversalfilter des Blockbaums für den Fusions-Renderer ebenfalls eingestellt. Wenn unsichtbare Blöcke übergangen werden können, sucht das Traversal nach dem größten Knoten, der die Kriterien für die Wiedergabe erfüllt. Typischerweise ist ein Kriterium, dass der Knoten nicht vollständig von Schnittebenen geschnitten wird, und sein Prozentsatz an sichtbaren Voxeln größer als eine bestimmte Zahl ist. Wenn ein derartiger Knoten gefunden wird, oder ein Knoten vollständig leer oder vollständig geschnitten ist, werden alle „Kinder" des Knotens übersprungen. Für die Fusion sucht das Traversal auch nach einem vollständig unsichtbaren Knotenpunkt. Der unsichtbare Knoten wird als „guter Knoten" durch den Traversal-Iterator zurückgegeben (siehe die obige veröffentlichte amerikanische Patentanmeldung 2006/0164410 ), aber mit einem speziellen Leerregionflag, das gesetzt wird, um anzugeben, dass dies ein unsichtbarer Block ist.
  • Ein Flussdiagramm des gesamten Prozesses ist in 6 gezeigt und ein Flussdiagramm des Wiedergabeteils des Prozesses ist im Einzelnen in dem Flussdiagramm gemäß 7 gezeigt.
  • Folglich, unter Bezugnahme auf die 6 und 7, enthält das Verfahren (a) Bilden einer hierarchischen Struktur für jeden der mindestens zwei Datensätze, wobei jede Struktur Blöcke von Voxeln höheren Niveaus und Blöcke von Voxeln niedrigeren Niveaus enthält, wobei die Blöcke höheren Niveaus eine größere Anzahl an Voxeln haben, als die Blöcke niedrigeren Niveaus; (b) Aufweiten der Grenzen jeder der Strukturen in entsprechende aufgeweitete hierarchische Strukturen, wobei ein derartiges Grenzaufweiten ein Hinzufügen von zusätzlichen virtuellen Verarbeitungsbricks zu den Anfangsverarbeitungsbricks enthält, wobei derartige virtuelle Verarbeitungsbricks semi-unverbundene Blöcke enthalten, um die aufgeweiteten Grenzen der aufgeweiteten hierarchischen Strukturen zu schaffen; und (c) Wiedergeben jedes der Bricks in jeder der aufgeweiteten hierarchischen Strukturen in einem zweidimensionalen Bild. Das Wiedergeben enthält (i) Verarbeiten der Bricks jeder der aufgeweiteten hierarchischen Strukturen in der Reihenfolge der relativen Sichtbarkeit, wobei die derartige Sichtbarkeitsreihenfolge bezogen ist auf den Abstand von einer Betrachtungskamera, enthaltend Einstellungsflags für unsichtbare Bricks der Anfangsverarbeitungsbricks und für die virtuellen Verarbeitungsbricks, wobei die sichtbaren Bricks unmarkiert bleiben, und wobei zu jedem Zeitpunkt ein gegenwärtiges Brick wiedergegeben wird, Schnittebenen, die die Grenze des gegenwärtigen Bricks definieren, eingefügt werden, und wobei die Schnittebenen entfernt werden, wenn das gegenwärtige Brick nicht länger wiedergegeben wird; (ii) Teilen jeder der aufgeweiteten hierarchischen Strukturen, die darin das gegenwärtig nicht markierte Brick haben, in Stapel paralleler Schnitte entlang der Schnittebenen, wobei markierte Bricks ausgeschlossen werden von den parallelen Schnitten, und Sortieren der parallelen Schnitte in der Sichtbarkeitsreihenfolge; (iii) Wählen eines nächsten Schnitts in den sortierten parallelen Schnitten, wobei der nächste Schnitt zu einem gegenwärtig wiedergegebenen Brick gehört, (iv) Finden aller Blöcke in jedem der gegenwärtigen Bricks, die eine Ebene des nächsten Schnitts kreuzen, der in (iiii) gewählt worden ist; (v) Holen von Voxeln von den gefundenen Blöcken; (vi) Wiedergeben der geholten Voxel in dem zweidimensionalen Bild; (vi) Wiederholen von (iii) bis (v) bis alle sortierten parallelen Schnitte wiedergegeben sind; und (vii) Zurücksetzen des gegenwärtigen Bricks.
  • Die Schritte (i) bis (vii) werden wiederholt, bis alle Brickkombinationen wiedergegeben sind.
  • Es sei erwähnt, dass die parallelen Schnitte unabhängig für jede der aufgeweiteten hierarchischen Strukturen gewählt werden können, um verschachtelte Schnitte wiederzugeben.
  • Eine Anzahl an Ausführungsbeispielen der Erfindung wurde beschrieben. Nichtsdestotrotz soll verstanden werden, dass verschiedene Modifikationen vorgenommen werden können, ohne den Schutzbereich der Erfindung zu verlassen.

Claims (6)

  1. Verfahren zum Kombinieren von mindestens zwei Sätzen von dreidimensionalen Bilddaten, um ein Verbundbild aus den Datensätzen zu erzeugen, enthaltend: Teilen jedes der Datensätze in eine Mehrzahl von Bricks entlang dreier gegenseitig orthogonalen Achsen.
  2. Verfahren zum Kombinieren von Bilddatensätzen, um ein Verbundbild zu erzeugen, enthaltend: (a) Bilden einer hierarchischen Struktur für jeden der mindestens zwei Datensätze, wobei jede Struktur Blöcke von Voxeln höhere Niveaus und Blöcke von Voxeln niedrigeren Niveaus enthält, wobei die Blöcke höheren Niveaus eine größere Anzahl an Voxeln haben, als die Blöcke niedrigeren Niveaus; (b) Aufweiten von Grenzen von jeder der Strukturen in entsprechende aufgeweitete hierarchische Strukturen, wobei eine derartige Grenzaufweitung ein Hinzufügen von zusätzlichen virtuellen Verarbeitungsbricks zu den Anfangsverarbeitungsbricks enthält, derartige virtuelle Verarbeitungsbricks semi-ungebundene Blöcke enthält, um aufgeweitete Grenzen der aufgeweiteten hierarchischen Strukturen bereitzustellen; und (c) Wiedergeben von jedem der Bricks in jeder der aufgeweiteten hierarchischen Strukturen in einem zweidimensionalen Bild.
  3. Verfahren nach Anspruch 2, wobei das Wiedergeben aufweist: (i) Verarbeiten der Bricks jeder der aufgeweiteten hierarchischen Strukturen in der Reihenfolge der relativen Sichtbarkeit, wobei die Sichtbarkeitsreihenfolge bezogen ist auf den Abstand von einer Betrachtskamera, enthaltend Einstellungsflags für unsichtbare der Anfangsverarbeitungsbricks und für die virtuellen Verarbeitungsbricks, wobei die sichtbaren Bricks unmarkiert bleiben, und wobei zu jedem Zeitpunkt zu dem ein gegenwärtiges Brick wiedergegeben wird, Schnittebenen, die die Grenzen des gegenwärtigen Bricks definieren, eingefügt werden, und wobei die Schnittebenen entfernt werden, wenn das gegenwärtige Brick nicht langer wiedergegeben wird; (ii) Teilen jeder der aufgeweiteten hierarchischen Strukturen, die darin das gegenwärtige nicht markierte Brick haben, in Stapel paralleler Schnitte entlang der Schnittebenen, wobei markierten Bricks ausgeschlossen sind von den parallelen Schnitten, und Sortieren der parallelen Schnitte in der Sichtbarkeitsreihenfolge; (iii) Wählen eines nächsten Schnitts in den sortierten parallelen Schnitten, wobei der nächste Schnitt zu einem gegenwärtig wiedergegebenen der Bricks gehört; (iv) Finden aller Blöcke in jedem der gegenwärtigen Bricks, die eine Ebene des nächsten in (iii) gewählten Schnitts kreuzen; (v) Holen von Voxeln von den gefundenen Blöcken; (vi) Wiedergeben der geholten Voxel in dem zweidimensionalen Bild; (vi) Wiederholen von (iii) bis von (v) bis alle sortierten parallelen Schnitte wiedergegeben sind; (vii) Zurücksetzen des gegenwärtigen Bricks.
  4. Verfahren nach Anspruch 3, enthaltend ein Wiederholen von (i) bis (vii) bis alle Brickkombinationen wiedergegeben sind.
  5. Verfahren nach Anspruch 3 oder 4, wobei die parallelen Schnitte unabhängig für jede der aufgeweiteten hierarchischen Strukturen gewählt werden, um verschachtelte Schnitte wiederzugeben.
  6. Verfahren nach einem der Ansprüche 3 bis 5, wobei die parallelen Schnitte der aufgeweiteten hierarchischen Strukturen ausgewählt werden, um sich einen gemeinsamen Satz von parallelen Schnitten zu teilen, um fusionierte Schnitte zu erzeugen; wobei die unsichtbaren Markierungen an die Wiedergabefunktion gegeben werden, so dass das Holen von einem unsichtbaren Brick vermieden wird und null als Wert der Voxelabtastung zugewiesen wird.
DE102007050615.7A 2006-10-24 2007-10-23 Brick-basierter Fusionsrenderer Active DE102007050615B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US85386506P 2006-10-24 2006-10-24
US60/853,865 2006-10-24
US11/753,092 2007-05-24
US11/753,092 US7961186B2 (en) 2005-09-26 2007-05-24 Brick-based fusion renderer

Publications (2)

Publication Number Publication Date
DE102007050615A1 true DE102007050615A1 (de) 2008-04-30
DE102007050615B4 DE102007050615B4 (de) 2020-01-30

Family

ID=39244597

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007050615.7A Active DE102007050615B4 (de) 2006-10-24 2007-10-23 Brick-basierter Fusionsrenderer

Country Status (2)

Country Link
US (1) US7961186B2 (de)
DE (1) DE102007050615B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8497861B2 (en) * 2008-05-30 2013-07-30 Siemens Aktiengesellschaft Method for direct volumetric rendering of deformable bricked volumes
US20100138793A1 (en) 2008-12-02 2010-06-03 Microsoft Corporation Discrete objects for building virtual environments
US9836879B2 (en) * 2013-04-16 2017-12-05 Autodesk, Inc. Mesh skinning technique
US10616338B1 (en) * 2017-09-25 2020-04-07 Amazon Technologies, Inc. Partitioning data according to relative differences indicated by a cover tree
EP3727622B1 (de) * 2017-12-22 2023-09-06 Magic Leap, Inc. Zwischenspeicherung und aktualisierung von dichten 3d-rekonstruktionsdaten
EP3973513A4 (de) 2019-05-21 2023-06-28 Magic Leap, Inc. Zwischenspeicherung und aktualisierung von dichten 3d-rekonstruktionsdaten
JP2022539314A (ja) 2019-06-26 2022-09-08 マジック リープ, インコーポレイテッド 稠密3d再構築データのキャッシュおよび更新
EP3991142A4 (de) 2019-06-28 2023-06-28 Magic Leap, Inc. Schnelles hand-meshing für dynamische okklusion
CN111339595B (zh) * 2020-02-27 2023-10-03 杭州群核信息技术有限公司 云计算环境下扣板模型的切割系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556199B1 (en) * 1999-08-11 2003-04-29 Advanced Research And Technology Institute Method and apparatus for fast voxelization of volumetric models
WO2001063561A1 (en) * 2000-02-25 2001-08-30 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering
WO2001093745A2 (en) * 2000-06-06 2001-12-13 The Research Foundation Of State University Of New York Computer aided visualization, fusion and treatment planning
CA2466809A1 (en) * 2001-11-21 2003-06-05 Viatronix Incorporated System and method for visualization and navigation of three-dimensional medical images
US7304645B2 (en) * 2004-07-15 2007-12-04 Harris Corporation System and method for improving signal to noise ratio in 3-D point data scenes under heavy obscuration
US7460119B2 (en) * 2005-01-27 2008-12-02 Siemens Medical Solutions Usa, Inc. Invisible space skipping with adaptive granularity for texture-based volume rendering

Also Published As

Publication number Publication date
DE102007050615B4 (de) 2020-01-30
US7961186B2 (en) 2011-06-14
US20070247459A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
DE102007050615B4 (de) Brick-basierter Fusionsrenderer
DE69636599T2 (de) Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
DE69233717T2 (de) Verbesserungen in sichtbarkeit-berechnungen fuer 3d-rechner
DE69919497T2 (de) Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern
DE69737780T2 (de) Verfahren und Vorrichtung zur Bildverarbeitung
DE69908966T2 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE69821848T2 (de) Echt-Zeit PC basiertes Volumendarstellungssystem
DE69836924T2 (de) Block- und bandorientierter durchlauf in dreidimensionaler dreieckswiedergabe
DE3872031T2 (de) Verfahren zum berechnen und zur wiedergabe von sichtbildern eines objektes.
DE112005002076T5 (de) Unterteilung von Geometriebildern in Grafikhardware
DE3712639A1 (de) Verfahren und einrichtung zum abbilden von volumendaten
DE102005029240A1 (de) System und Verfahren für ein schnelles Volumen-Rendern
DE102016103870A1 (de) Systeme und Verfahren zur weichen Schattierung in 3D-Rendering
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE112012003243T5 (de) Systeme und Verfahren für die Erzeugung und Aktualisierung für 3D-Szenenbeschleunigungsstrukturen
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE102019118838A1 (de) Virtuelle photogrammetrie
DE102013020810A1 (de) Effiziente Super-Abtastung mit Schattierungs-Strängen pro Pixel
DE102008050449A1 (de) Clipping Geometrien beim Raycasting
DE69531536T2 (de) Synthetisches bilderzeugungsverfahren mit sphärischem puffer
DE102008050049B4 (de) Verfahren zur Bestimmung einer die Objektgrenze eines Objekts in einem digitalen 3D-Datensatz annähernden 3D-Oberfläche
DE112022003547T5 (de) Verschobene Mikronetz-Kompression

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
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

Representative=s name: BALS & VOGEL PATENTANWAELTE PARTG MBB, DE

Representative=s name: BALS & VOGEL PATENTANWAELTE, DE

R082 Change of representative

Representative=s name: BALS & VOGEL PATENTANWAELTE PARTG MBB, DE

Representative=s name: BALS & VOGEL PATENTANWAELTE, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06T0015000000

Ipc: G06T0015080000

R020 Patent grant now final
R082 Change of representative

Representative=s name: BALS & VOGEL PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHINEERS AG, DE

Free format text: FORMER OWNER: SIEMENS HEALTHCARE GMBH, MUENCHEN, DE