Beschreibung
Verfahren, Visualisierungsvorrichtung und Computerprogrammprodukt zur Visualisierung eines dreidimensionalen Objekts
Die Erfindung betrifft das technische Gebiet des Volume Ren- dering, d.h. einer Visualisierung von inhomogenen dreidimensionalen Objekten durch Bildsynthese. Derartige Objekte kön¬ nen insbesondere reale Körper oder virtuell modellierte Ob- jekte sein. Die Visualisierung von dreidimensionalen Objekten hat eine Vielzahl von Anwendungsbereichen, insbesondere in der Medizin, in der Geophysik, in der Materialuntersuchung, auf dem Feld der virtuellen Realität und/oder bei Computerspielen .
Beim Volume Rendering wird auch das innere Volumen, d.h.
nicht nur eine Oberfläche eines inhomogenen Objekts visuali- siert, so dass auch Transparenzeffekte und/oder innere Struk¬ turen auf realistische Weise wiedergegeben werden können. Das dreidimensionale Objekt wird hierbei durch Volumendaten in dreidimensionaler Auflösung repräsentiert
Ein bekanntes Verfahren für das Volume Rendering ist das sog. Ray-Casting, bei dem der Verlauf von imaginären Strahlen, im Folgenden als Sehstrahlen bezeichnet, simuliert wird, die vom Auge eines imaginären Betrachters oder einem imaginären Detektor ausgehen und durch das zu visualisierende Objekt ver¬ laufen. Entlang der Sehstrahlen werden Beleuchtungswerte für Punkte innerhalb des Objekts ermittelt. Aus den für die Seh- strahlen ermittelten Beleuchtungswerten wird schließlich ein visualisiertes zweidimensionales Bild zusammengesetzt.
Eine realistische Visualisierung erfordert eine möglichst um¬ fassende Berücksichtigung von Effekten der globalen Illumina-
tion, wie z.B. Umgebungsverdeckung, Schatten, Transluzenz, sog. Color Bleeding, Oberflächenschattierung, komplexe Kameraeffekte und/oder Beleuchtung durch beliebige Umgebungs¬ lichtverhältnisse. Die Umgebungsverdeckung wird hierbei häu- fig auch als Ambient Occlusion bezeichnet. Derartige Beleuch¬ tungseffekte tragen insbesondere beim Volume Rendering we¬ sentlich zur Tiefen- und Gestaltwahrnehmung und damit zu einem besseren Bildverständnis bei. Bekannte Volume Rendering-Systeme berücksichtigen zwar häufig lokale Illuminationseffekte, können aber nicht alle globalen Illuminationseffekte in realistischer Weise einbeziehen.
Aus der Druckschrift „Exposure Render: An Interactive Photo- Realistic Volume Rendering Framework" von Thomas Kroes et al . , PLoS ONE, Volume 7, Issue 7, vom Juli 2012 ist ein Volu¬ me Rendering-Verfahren bekannt, das zur Verfolgung von Sehstrahlen eine Monte-Carlo-Simulation zusammen mit sog.
Woodcock-Tracking verwendet. Zur Berechnung realistischer Schattierungseffekte sind jedoch zusätzlich zu einem jeweili¬ gen Sehstrahl weitere Strahlen innerhalb des Objektvolumens zu verfolgen, was einen erheblichen Rechenaufwand bedingt. Darüber hinaus ist ein sog. Importance Sampling erforderlich, was die statistischen Eigenschaften des Monte-Carlo- Verfahrens beeinflusst.
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren, eine Visualisierungsvorrichtung sowie ein Computerprogrammprodukt zur Visualisierung eines dreidimensionalen Objekts anzu- geben, das eine effiziente Einbeziehung globaler Illuminati¬ onseffekte erlaubt.
Gelöst wird diese Aufgabe durch ein Verfahren mit den Merkma¬ len des Patentanspruchs 1, durch eine Visualisierungsvorrich-
tung mit den Merkmalen des Patentanspruchs 14 sowie durch ein Computerprogrammprodukt mit den Merkmalen des Patentan¬ spruchs 15. Zur Visualisierung eines durch Volumendaten repräsentierten, inhomogenen dreidimensionalen Objekts werden für ein jeweiliges Visualisierungspixel eine Vielzahl von dem Visualisie¬ rungspixel zugeordneten Sehstrahlen simuliert. Die Volumendaten geben hierbei eine Dichte des abzubildenden Objekts in einem Objektvolumen an. Die Dichte kann dabei insbesondere eine physikalische Dichte, eine optische Dichte, ein Bre¬ chungsindex und/oder ein Helligkeits- , Färb-, Transparenz- und/oder Opazitätswert sein und in skalarer, vektorieller oder tensorieller Form gegeben sein. Die Visualisierungspixel können insbesondere virtuell auf einer Abbildungsebene oder einer gekrümmten Abbildungsfläche angeordnet sein. Erfin¬ dungsgemäß wird für einen jeweiligen Sehstrahl, der in das Objektvolumen eindringt i) abhängig von der Dichte entlang des Sehstrahls eine Streuposition bestimmt, ii) abhängig von einem Zufallsprozess eine Streurichtung ausgewählt und iii) der Sehstrahl an der Streuposition in die ausgewählte Streurichtung gestreut. Der Zufallsprozess kann hierbei z.B. auf einem Pseudo- oder Quasizufallszahlengenerator basieren. Die Schritte i) bis iii) werden wiederholt, bis der Sehstrahl im Objektvolumen absorbiert wird oder aus dem Objektvolumen austritt, wobei der austretende Sehstrahl auf eine Beleuchtungs¬ quelle trifft und abhängig von einem Helligkeits- und/oder Farbwert der Beleuchtungsquelle ein Beleuchtungsbeitrag des Sehstrahls zum jeweiligen Visualisierungspixel ermittelt wird. Über die jeweiligen Beleuchtungsbeiträge der Vielzahl von Sehstrahlen wird statistisch gemittelt, um einen Helligkeits- und/oder Farbwert für das zugeordnete Visualisierungs¬ pixel zu ermitteln.
Die Erfindung erlaubt es, komplexe globale Illuminationsef¬ fekte auf effiziente Weise zu berücksichtigen. Aufgrund der Streuung von Sehstrahlen in eine zufallsabhängig ausgewählte Streurichtung bis zur Absorption oder dem Auftreffen auf eine Beleuchtungsquelle können aufwändig zu berechnende
kaskadierte Verzweigungen von Sehstrahlen oder Beleuchtungsstrahlen vermieden werden und trotzdem komplexe Lichtwege innerhalb des Objektvolumens berücksichtigt werden. Vorteilhafte Ausführungsformen und Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
Nach einer vorteilhaften Ausführungsform der Erfindung kann als Beleuchtungsquelle ein das Objektvolumen umgebendes Umge- bungsbild vorgesehen sein. Dabei können ein Auftreffpunkt des austretenden Sehstrahls auf das Umgebungsbild und der Be¬ leuchtungsbeitrag des Sehstrahls abhängig von einem Hellig- keits- und/oder Farbwert am Auftreffpunkt des Umgebungsbildes ermittelt werden. Ein solches Umgebungsbild wird häufig auch als Light Probe oder Light Map bezeichnet.
Insofern ein solches Umgebungsbild das Objektvolumen ganz oder teilweise umgibt, kann zumindest für einen erheblichen Anteil der austretenden Sehstrahlen erwartet werden, dass sie auf einen Bildpunkt des Umgebungsbildes treffen und so einen Beleuchtungsbeitrag erhalten. Auf diese Weise kann vermieden werden, dass ein großer Anteil der Sehstrahlen gewissermaßen verschwendet wird, d.h. verfolgt wird, ohne einen Beleuch¬ tungsbeitrag zu liefern.
Mittels eines derartigen Umgebungsbildes kann das Objekt so visualisiert werden, als ob es sich in einer durch das Umge¬ bungsbild abgebildeten Umgebung befände und der hiervon induzierten Beleuchtung in realistischer Weise ausgesetzt wäre.
Gemäß einer Weiterbildung der Erfindung können mehrere das Objektvolumen umgebende Umgebungsbilder als Beleuchtungsquel¬ len vorgesehen sein. Hierbei kann dem Sehstrahl ein Streutyp zugeordnet werden und abhängig vom Streutyp des austretenden Sehstrahls mindestens eines der Umgebungsbilder ausgewählt werden. Der Beleuchtungsbeitrag des Sehstrahls kann dann spe¬ zifisch anhand des mindestens einen ausgewählten Umgebungs¬ bildes ermittelt werden.
Der Streutyp kann insbesondere reflexiv oder transmissiv sein. Daneben kann noch ein Streutyp „ungestreut" für nicht gestreute Sehstrahlen vorgesehen sein. Ein reflexiver
Streutyp kann vorzugsweise einer stark anisotropen Streuung entsprechend einer höchstens leicht diffusen Spiegelung an einer Oberfläche zugeordnet werden, während ein
transmissiver Streutyp einer Streuung mit demgegenüber geringer Anisotropie zugeordnet werden kann. Vorzugsweise kann bei einem reflexiven Streutyp ein höchstens leicht unscharfes Um- gebungsbild und bei einem transmissiven Streutyp ein demge¬ genüber stark verwaschenes Umgebungsbild ausgewählt werden.
Insbesondere kann aus einem ersten der Umgebungsbilder mindestens ein zweites der Umgebungsbilder durch eine für einen Streutyp spezifische Filterung erzeugt werden. So kann ein erstes, ungefiltertes Umgebungsbild bei ungestreuten Seh¬ strahlen, ein daraus mittels eines Unschärfefilters leicht verwischtes, zweites Umgebungsbild bei reflexivem Streutyp sowie ein demgegenüber stark verwischtes oder diffuses Umge- bungsbild bei transmissivem Streutyp ausgewählt werden.
Auf diese Weise können spezifische Eigenschaften von Streuungen, wie insbesondere deren Anisotropie, effektiv durch ent-
sprechend gefilterte Umgebungsbilder nachgebildet oder imple¬ mentiert werden.
Gemäß einer vorteilhaften Weiterbildung der Erfindung kann der Beleuchtungsbeitrag des Sehstrahls abhängig von einem
Helligkeits- und/oder Farbwert eines ungestreut von einer Be¬ leuchtungsquelle zur Streuposition verlaufenden Beleuchtungs¬ strahls modifiziert werden. Dies erlaubt eine effektive Be¬ rücksichtigung spezifischer Lichteinflüsse der Beleuchtungs- quelle unter Vermeidung einer aufwändigen Strahlverfolgung.
Nach einer weiteren Weiterbildung der Erfindung kann mindestens eine, vorzugsweise flächenhafte Lichtquelle als Beleuch¬ tungsquelle vorgesehen sein. Vorteilhafterweise kann hierbei die Auswahl der Streurichtung auf Streurichtungen in Richtung auf die mindestens eine Lichtquelle beschränkt werden. Inso¬ weit häufig nicht erwartet werden kann, dass ein in zufälli¬ ger Richtung aus dem Objektvolumen austretender Sehstrahl die Lichtquelle trifft, kann durch die Beschränkung der möglichen Streurichtungen der Anteil der gewissermaßen verschwendeten Sehstrahlen verringert werden.
Insbesondere kann vorgesehen sein, dass die Beschränkung der Streurichtung mit einer vorgegebenen Wahrscheinlichkeit er- folgt, und dass, falls die Beschränkung nicht erfolgt, ein diffuser Beleuchtungsbeitrag in den Beleuchtungsbeitrag des austretenden Sehstrahls eingeht.
Nach einer Ausführungsform der Erfindung kann der Beleuch- tungsbeitrag des Sehstrahls durch die Dichte an der Streupo¬ sition beeinflusst werden.
Vorzugsweise kann eine Transferfunktion vorgesehen sein, die einen jeweiligen Wert der Dichte auf einen Helligkeits-,
Färb-, Transparenz- und/oder Opazitätswert abbildet. Auf die¬ se Weise können innere Strukturen des Objekts, die durch un¬ terschiedliche Dichte oder einen charakteristischen Dichte¬ verlauf gekennzeichnet sind, in vorgebbarer Weise durch Far- ben, Helligkeit, Transparenz und/oder Opazität visualisiert werden .
Insbesondere kann ein vor der Streuung vorliegender Farbwert des Beleuchtungsbeitrags des Sehstrahls mit einem der Dichte zugeordneten Farbwert verknüpft, z.B. multipliziert werden und der resultierende Farbwert in den Beleuchtungsbeitrag des Sehstrahls eingesetzt werden.
Weiterhin kann ein Gradient der Dichte oder ein allgemeiner Dichteverlauf an der Streuposition ermittelt werden und die Streurichtung abhängig vom Gradienten ausgewählt werden. Die Gradientenberechnung kann ganz oder teilweise vorab erfolgen oder alternativ oder zusätzlich durch die Streuung des Sehstrahls ausgelöst werden.
Insbesondere kann ein Betrag des Gradienten bestimmt werden und dem Sehstrahl mit einer von dem Betrag abhängigen Wahrscheinlichkeit ein reflektiver und/oder refraktiver Streutyp zugeordnet werden. Eine Richtung des Gradienten kann dann als Oberflächennormale bestimmt werden und bei der Auswahl der Streurichtung können bezüglich der Oberflächenflächennormale reflektierte und/oder gebrochene Streurichtungen bevorzugt werden . Nach einer vorteilhaften Ausführungsform der Erfindung kann die Streuposition mittels Woodcock-Tracking ermittelt werden. Vorzugsweise kann hierbei eine Wahrscheinlichkeit für die Streuung des Sehstrahls mit der Länge der vom Sehstrahl im Objektvolumen zurückgelegten Strecke steigen.
Gemäß einer weiteren Ausführungsform kann eine Anzahl der erfolgten Streuungen des Sehstrahls ermittelt, z.B. hochgezählt werden und die Absorption des Sehstrahls im Objektvolumen ab- hängig von dieser Anzahl erfolgen. Insbesondere kann für die Streuungen eine Maximalanzahl vorgegeben sein, nach deren Überschreitung der Sehstrahl als absorbiert gilt.
Nach einer weiteren Ausführungsform kann ein jeweiliger einem Visualisierungspixel zugeordneter Sehstrahl vom Visualisie¬ rungspixel auf eine zufällig ausgewählte Position auf einer virtuellen Linse gerichtet werden. Der Sehstrahl kann dann an der ausgewählten Position gemäß einer Brechkraft der virtuellen Linse gebrochen werden und der gebrochene Sehstrahl weiterverfolgt werden. Auf diese Weise kann eine virtuelle Kamera mit optischen Abbildungseffekten wie Tiefen- und/oder Bewegungsunschärfe simuliert werden, wodurch der Realitäts¬ eindruck verstärkt werden kann. Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung näher erläutert.
Die Figuren 1 bis 3 zeigen jeweils in schematischer Darstellung ein Ausführungsbeispiel mit simuliertem Strahlenverlauf zur Visualisierung eines dreidi¬ mensionalen Objekts.
Die Figuren 1-3 veranschaulichen jeweils eine Visualisierung eines dreidimensionalen Objektes OBJ. Dieses kann z.B. ein anhand von Tomographiedaten virtuell modelliertes Körperteil sein. Die in den Figuren 1-3 veranschaulichten Strukturen werden vorzugsweise als virtuelle Strukturen durch einen Computer simuliert. Ein wesentlicher Teil der hierfür erforderlichen Berechnungen kann vorzugsweise auf eine Grafikkarte
des Computers ausgelagert werden und dort in massiv paralle¬ ler Weise durchgeführt werden. Das Objekt OBJ ist in einem dreidimensionalen Objektvolumen OV enthalten, das durch ein punktiertes Rechteck angedeutet ist. Das Objekt OBJ wird in- nerhalb des Objektvolumens OV durch Volumendaten repräsentiert, die eine Dichte des zu visualisierenden Objekts OBJ in dreidimensionaler bzw. räumlicher Auflösung angeben. Die Dichte kann hierbei insbesondere eine physikalische Dichte, eine optische Dichte, einen Brechungsindex und/oder eine Hel¬ ligkeit, Farbe, Transparenz und/oder Opazität des Objektes OBJ in dreidimensionaler Auflösung angeben.
Ein virtueller Detektor D dient als Abbildungsebene, auf die das visualisierte Objekt OBJ virtuell projiziert wird. Der Detektor D umfasst eine Vielzahl von virtuell flächenhaft an¬ geordneten Visualisierungspixeln. Vor dem Detektor D ist eine virtuelle Linse L angeordnet, die zusammen mit dem Detektor D eine virtuelle Kamera bildet. Durch die Anordnung von Detek¬ tor D und der Linse L können optische Abbildungseffekte wie Tiefen- und/oder Bewegungsunschärfe simuliert werden.
Das Objekt OBJ weist als beispielhafte innere Strukturen eine implizite erste Oberfläche IS1 sowie eine implizite zweite Oberfläche IS2 auf. Als implizite Oberflächen können innere oder äußere Bereiche des Objektes OBJ aufgefasst oder identi¬ fiziert werden, bei denen ein Dichteverlauf gewissermaßen einen Sprung aufweist, d.h. bei denen ein Betrag eines Gradienten der Dichte lokal sehr groß wird. Dies ist z.B. beim Über¬ gang von Muskelgewebe zu Knochengewebe der Fall. Der entspre- chende Übergang kann dann als Knochenoberfläche identifiziert werden. Einer auf diese Weise identifizierten Oberfläche, hier IS1 und IS2, können vorzugsweise reflektierende Eigen¬ schaften zugeordnet werden.
Von einem jeweiligen Visualisierungspixel des Detektors D geht eine Vielzahl von simulierten Sehstrahlen aus. Für die vorliegenden Ausführungsbeispiele sind in den Figuren 1-3 beispielhafte Sehstrahlen R1,...,R6 angedeutet. Ein von einem jeweiligen Visualisierungspixel des Detektors D ausgehender Sehstrahl R1,...,R6 wird vorzugsweise auf eine zufällig ausge¬ wählte Position auf der virtuellen Linse L gerichtet und an der ausgewählten Position gemäß einer Brechkraft der Linse L nach dem physikalischen Brechungsgesetz gebrochen. Der gebro- chene Sehstrahl R1,...,R6 wird dann weiterverfolgt. Zur Erzeu¬ gung eines einem Benutzer zu präsentierenden Bildes des zu visualisierenden Objektes OBJ wird für einen jeweiligen Visualisierungspixel des Detektors D eine Vielzahl von Seh¬ strahlen simuliert, d.h. berechnet. Über die Vielzahl von Sehstrahlen wird dann visualisierungspixelweise statistisch gemittelt. Während im Laufe der Visualisierung weitere Seh¬ strahlen berechnet werden, verbessert sich eine Qualität des generierten Bildes sukzessive, d.h. ein statistisch bedingtes Bildrauschen verringert sich im Laufe der Simulation.
Jedem von einem Visualisierungspixel ausgehenden Sehstrahl wird ein Beleuchtungsbeitrag zugeordnet, der vorzugsweise ei¬ nen Farbwert enthält. Der Farbwert wird anfänglich mit der Farbe Weiß initialisiert. Für die von der Linse L gebrochenen Sehstrahlen wird jeweils ermittelt, ob sie in das Objektvolu¬ men OV eindringen oder nicht. In den vorliegenden Ausführungsbeispielen dringt der Sehstrahl Rl nicht in das Objektvolumen OV ein, während die anderen Sehstrahlen R2,...,R6 in das Objektvolumen OV eindringen. Für die in das Objektvolumen OV eindringenden Sehstrahlen R2,...,R6 wird jeweils eine Streu¬ position innerhalb des Objektvolumens OV mittels sogenanntem Woodcock-Tracking ermittelt. Beim Woodcock-Tracking steigt eine Streuwahrscheinlichkeit abhängig von der vorzugsweise interpolierten Dichte des Objekts OBJ entlang des jeweiligen
Sehstrahls mit der Länge des im Objektvolumen OV zurückgeleg¬ ten Weges. An der ermittelten Streuposition wird eine Streuung des jeweiligen Sehstrahls simuliert. Die Streuung ändert die Richtung des Sehstrahls, was in den Figuren 1-3 durch entsprechende Knicke an der jeweiligen Streuposition angedeu¬ tet ist. Insbesondere wird ein jeweiliger Sehstrahl
unverzweigt gestreut. Auf diese Weise können aufwändig zu be¬ rechnende kaskadierte Verzweigungen von Sehstrahlen oder verzweigte Bäume von Sehstrahlen vermieden werden.
Die Streurichtung wird mittels eines Zufallsprozesses ausge¬ wählt. Hierbei wird vorzugsweise eine Wahrscheinlichkeits- Dichtefunktion, häufig auch mit PDF abgekürzt, verwendet, die für eine jeweilige Streuposition angibt, mit welcher Wahr- scheinlichkeit der Sehstrahl in eine jeweilige Streurichtung gestreut wird. Eine derartige Wahrscheinlichkeits-Dichte¬ funktion wird häufig auch als Phasenfunktion bezeichnet. Die Phasenfunktion kann aus lokalen Materialeigenschaften des Objekts OBJ abgeleitet werden, zum Beispiel anhand einer aus Tomographiedaten abgeleiteten lokalen Röntgenabschwächung oder Absorption gemäß der sogenannten "Hounsfield-Skala" . Die lokalen Materialeigenschaften werden vorzugsweise als Komponente der Dichte in den Volumendaten des Objekts OBJ ko¬ diert. Vorzugsweise werden die Volumendaten derart kodiert, dass die Dichte und die daraus abgeleiteten Daten an jeder Position des Objektvolumens OV und insbesondere entlang der Sehstrahlen und ihrer Streupositionen effizient interpoliert werden können. Eine lokale Farbe an der Streuposition kann durch Anwendung einer Transfer-Funktion auf die vorzugsweise interpolierte Dichte oder deren Komponenten abgeleitet werden. Die Transfer-Funktion kann beispielsweise höheren Dichten eine dunklere, gesättigtere und/oder andere Farbe zuordnen als geringe-
ren Dichten. Die an der Streuposition vorliegende Farbe wird mit der dem jeweiligen Sehstrahl zugeordneten Farbe kombiniert, z.B. multipliziert, um eine Wechselwirkung zwischen Licht und dem Objekt OBJ an der Streuposition zu modellieren.
Der in die zufallsbasierte Streurichtung gestreute Sehstrahl R3,...,R6 wird mittels Woodcock-Tracking weiterverfolgt, um so die nächste Streuposition zu bestimmen, wo die gleichen Operationen wie bei der vorhergehenden Streuposition angewandt werden. Dieser Prozess wird wiederholt, bis der jeweilige Sehstrahl im Objektvolumen OV absorbiert wird oder das Objektvolumen OV verlässt. Die Absorption kann dabei modelliert werden, indem eine maximale Anzahl an Streuvorgängen vorgegeben wird, bei deren Überschreitung der jeweilige Sehstrahl als absorbiert gilt, oder indem eine Wahrscheinlichkeits- Dichtefunktion für die Extinktion eines jeweiligen Sehstrahls basierend auf der Anzahl der Streuereignisse benutzt wird. Eine derartige Kombination von Woodcock-Tracking mit zufallsbasierter Streuung wird häufig auch als Monte-Carlo-Rendering bezeichnet.
In den anhand von Figur 1 und Figur 2 veranschaulichten Ausführungsbeispielen sind das Objektvolumen OV umgebende Umgebungsbilder LP1, LP2 und LP3 als Beleuchtungsquellen vorgese- hen. Derartige Umgebungsbilder werden häufig auch als "Light Probe" oder "Light Map" bezeichnet. Vorzugsweise umgeben die Umgebungsbilder LP1, LP2 und LP3 das Objektvolumen OV möglichst vollständig, so dass möglichst jeder aus dem Objektvo¬ lumen OV austretende Sehstrahl auf eines der Umgebungsbilder LP1, LP2 oder LP3 trifft. Die Umgebungsbilder LP1, LP2 oder LP3 sind jeweils so angeordnet, bzw. projiziert, dass sie diejenige Sicht abbilden, wie sie ein im Objektvolumen OV befindlicher Betrachter von der abgebildeten Umgebung haben würde .
Für die durch die Figuren 1 und 2 veranschaulichten Ausführungsbeispiele sei angenommen, dass das Umgebungsbild LP1 ein ungefiltertes Umgebungsbild, z.B. ein Rundumbild eines Stra- ßenzuges ist. Das Umgebungsbild LP2 sei ein reflexives Umge¬ bungsbild, das durch Anwendung eines leichten Unscharfefil- ters aus dem Umgebungsbild LP1 erzeugt wird. Das Umgebungs¬ bild LP2 sei also eine leicht verwischte Version des Umge¬ bungsbildes LP1. Daneben sei das Umgebungsbild LP3 ein diffu- ses Umgebungsbild, das durch Anwendung eines starken Unschär- fefilters aus dem Umgebungsbild LP1 erzeugt wird. Das Umge¬ bungsbild LP3 sei also eine stark verwischte oder fast diffu¬ se Version des Umgebungsbildes LP1. Ein solches, nahezu dif¬ fuses, Umgebungsbild LP3 wird häufig auch als "Irradiance Light Map" bezeichnet.
Mittels des ungefilterten Umgebungsbildes LP1 wird der Be¬ leuchtungsbeitrag eines ungestreuten Sehstrahls ermittelt. Entsprechend wird anhand des reflexiven Umgebungsbildes LP2 der Beleuchtungsbeitrag eines nur reflektierten Sehstrahls und anhand des diffusen Umgebungsbildes LP3 der Beleuchtungs¬ beitrag eines transmissiv gestreuten Sehstrahls ermittelt. Der Beleuchtungsbeitrag des jeweiligen Sehstrahls wird abhän¬ gig von einem Helligkeits- und/oder Farbwert am Auftreffpunkt des Sehstrahls auf das Umgebungsbild ermittelt.
In Figur 1 trifft der weiterverfolgte Sehstrahl Rl nicht auf das Objektvolumen OV, sondern als ungestreuter Sehstrahl auf das ungefilterte Umgebungsbild LP1. Dies gilt auch für den Sehstrahl R2, der zwar das Objektvolumen OV durchdringt, aber dort nicht gestreut wird und somit ebenfalls seinen Beleuch¬ tungsbeitrag abhängig vom Helligkeits- oder Farbwert des Um¬ gebungsbildes LP1 am Auftreffpunkt erhält.
Der Sehstrahl R3 wird im Objektvolumen OV zunächst an der zweiten Oberfläche IS2, dann an der ersten Oberfläche IS1 je¬ weils reflexiv gestreut und anschließend im Inneren des Ob¬ jekts OBJ noch einmal transmissiv gestreut, bevor er das Ob- jektvolumen OV verlässt. Aufgrund der transmissiven Streuung wird dem Sehstrahl R3 ein transmissiver Streutyp zugeordnet und abhängig davon das diffuse Umgebungsbild LP3 ausgewählt, um den Beleuchtungsbeitrag des Sehstrahls R3, abhängig vom Helligkeits- oder Farbwert am Auftreffpunkt des Umgebungsbil- des LP3 zu ermitteln. Der Sehstrahl R4 wird innerhalb des Ob¬ jekts OBJ an drei Streupositionen jeweils in zufallsbasierter Streurichtung transmissiv gestreut, bevor er das Objektvolumen OV verlässt. Aufgrund der transmissiven Streuung wird dem Sehstrahl R4 ein transmissiver Streutyp zugeordnet und ent- sprechend sein Beleuchtungsbeitrag anhand des diffusen Umge¬ bungsbildes LP3 ermittelt.
Der Sehstrahl R5 wird innerhalb des Objektvolumens OV nur einmal, und zwar reflexiv, an der zweiten Oberfläche IS2 ge- streut, bevor er das Objektvolumen OV verlässt. Aufgrund der reflexiven Streuung wird dem Sehstrahl R5 ein reflexiver Streutyp zugeordnet und sein Beleuchtungsbeitrag anhand des reflexiven Umgebungsbildes LP2, d.h. anhand eines Hellig¬ keits- und/oder Farbwerts des Umgebungsbildes LP2 am Auf- treffpunkt ermittelt.
Der Sehstrahl R6 wird im Inneren des Objekts OBJ an drei Streupositionen jeweils in zufallsbasierter Richtung
transmissiv gestreut und wird danach innerhalb des Objektes OBJ, z.B. aufgrund einer hohen lokalen Dichte in der Nähe der letzten Streuposition, absorbiert. Insofern der Sehstrahl R6 nach allen Streuereignissen innerhalb des Objektvolumens OV verbleibt, erhält dieser Sehstrahl R6 keinen Beleuchtungsbei¬ trag, im Unterschied zu den Sehstrahlen R1,...,R5, die das Ob-
jektvolumen OV verlassen und einen Beleuchtungsbeitrag von einem Umgebungsbild LP1, LP2 oder LP3 erhalten. Der resultierende Beleuchtungsbeitrag bzw. die resultierende Farbe des jeweiligen Sehstrahls wird zu dem jeweils zugeordneten Visua- lisierungspixel des Detektors D addiert.
Zur Berechnung von Oberflächenschattierungseffekten für implizite Oberflächen, hier IS1 und IS2, innerhalb des Objekt¬ volumens OV wird für eine jeweilige Streuposition eines Seh- Strahls ein lokaler Gradient der Dichte an der Streuposition aus den Volumendaten interpoliert und abhängig vom Betrag des Gradienten ein probabilistisches Oberflächenstreuereignis mo¬ delliert. Ein solches Oberflächenstreuereignis kann eine re¬ flexive Streuung, d.h. eine Reflexion des Sehstrahls, oder eine Brechung des Sehstrahls an der impliziten Oberfläche sein. Falls eine solche reflexive Streuung stattfindet, wird eine zufällige Streurichtung in der Hemisphäre der durch eine Richtung des lokalen Dichtegradienten gegebenen Oberflächennormale ausgewählt. Die Wahrscheinlichkeit für eine reflexive Streuung wird vorzugsweise anhand einer sogenannten BRDF (Bi- directional Reflectance Distribution Function) der für die Streuposition interpolierten Volumendaten bestimmt. Bei reflexiven Streuungen werden Streurichtungen entlang einer Reflexionsrichtung gemäß dem physikalischen Reflexionsgesetz in hohem Maße gegenüber anderen Richtungen der Hemisphäre bevorzugt. Der reflexiv gestreute Sehstrahl ist somit gewisserma¬ ßen probabilistisch in die durch das Reflexionsgesetz vorgegebene Reflexionsrichtung fokussiert. Einem Sehstrahl, der nur reflexiv gestreut wird, hier der Sehstrahl R5, wird ein reflexiver Streutyp zugeordnet. Wenn ein ausschließlich reflexiv gestreuter Sehstrahl das Objektvolumen OV verlässt, wird der Beleuchtungsbeitrag dieses Sehstrahls anhand des Helligkeits- und/oder Farbwerts des reflexiven Umgebungsbil¬ des LP2 am Auftreffpunkt ermittelt. Wird ein jeweiliger Seh-
strahl transmissiv gestreut, wird diesem, wie schon oben erwähnt, ein transmissiver Streutyp zugeordnet und sein Be¬ leuchtungsbeitrag wird anhand des Umgebungsbildes LP3 ermit¬ telt, falls er das Objektvolumen OV verlässt. In beiden Fäl- len wird der Beleuchtungsbeitrag mit der dem jeweiligen Seh¬ strahl zugeordneten Farbe kombiniert, z.B. multipliziert, und zum jeweils zugeordneten Visualisierungspixel addiert. Ein Sehstrahl, der das Objektvolumen OV nicht trifft, hier Rl, oder nicht im Objektvolumen OV gestreut wird, hier R2, erhält einen Beleuchtungsbeitrag vom ungefilterten Umgebungsbild LP1.
Figur 2 veranschaulicht eine Variante der Erfindung, bei der zusätzliche Beiträge in den Beleuchtungsbeitrag eines jewei- ligen Sehstrahls eingehen. Zu diesem Zweck werden Beleuchtungsstrahlen IR1,...,IR6 als zusätzliche Beiträge zum Beleuch¬ tungsbeitrag des jeweiligen Sehstrahls simuliert. Die Be¬ leuchtungsstrahlen IR1,...,IR6 werden für jede reflexive Streu¬ position innerhalb des Objektvolumens OV zusätzlich berechnet und sind in Figur 2 durch strichlierte Pfeile angedeutet.
In Figur 2 werden die Sehstrahlen R1,...,R5, wie schon in Zusammenhang mit Figur 1 erläutert, gestreut und erhalten ent¬ sprechende Beleuchtungsbeiträge. Zusätzlich zu diesen in Zu- sammenhang mit Figur 1 beschriebenen Beleuchtungsbeiträgen werden bei dem durch Figur 2 veranschaulichten Ausführungsbeispiel für jede reflexive Streuung, hier der Sehstrahlen R3 und R5, durch die Beleuchtungsstrahlen IR1,...,IR6 zusätzliche Beiträge zum Beleuchtungsbeitrag des jeweiligen Sehstrahls R3 bzw. R5 addiert. So werden z.B. für die reflexive Streuung des Sehstrahls R5 an der zweiten Oberfläche IS2 Beiträge der Beleuchtungsstrahlen IR3 und IR4 zum Beleuchtungsbeitrag des Sehstrahls R5 hinzugefügt. Der Beleuchtungsstrahl IR3, der einem diffusen Beleuchtungsbeitrag entspricht, läuft hierbei
vom Umgebungsbild LP3 zur reflexiven Streuposition, während der Beleuchtungsstrahl IR4, der einem reflexiven Beleuchtungsbeitrag entspricht, vom Umgebungsbild LP2 zur reflexiven Streuposition verläuft. Als Ausgangspunkt des Beleuchtungs- Strahls IR3 auf dem Umgebungsbild LP3 wird eine zufällige Po¬ sition in der Hemisphäre der Oberfläche IS2 am Reflexions¬ punkt ausgewählt. Beim Beleuchtungsstrahl IR4 wird als Aus¬ gangspunkt auf dem Umgebungsbild LP2 ein Punkt in Reflexions¬ richtung ausgewählt. Anhand der Beiträge der Beleuchtungs- strahlen IR3 und IR4 zur reflexiven Streuposition kann deren zugeordneter Farbwert modifiziert werden. Hierbei kann der der reflexiven Streuposition ursprünglich zugeordnete Farbwert mit einem Helligkeits- und/oder Farbwert des diffusen Beleuchtungsstrahls IR3 gewichtet werden und es kann ein Hel- ligkeits-und/oder Farbwert des reflexiven Beleuchtungsstrahls IR4 hinzuaddiert werden. Der resultierende Farbwert kann dann mit dem dem Sehstrahl R5 zugeordneten Farbwert kombiniert, z.B. multipliziert werden, um so den Farbwert des Sehstrahls R5 für nachfolgende Streuereignisse zu modifizieren. Das vor- stehend für die Reflexion des Sehstrahls R5 an der zweiten
Oberfläche IS2 beschriebene Beleuchtungsverfahren mit den Be¬ leuchtungsstrahlen IR3 und IR4 wird auch bei den reflexiven Streuungen des Sehstrahls R3 an der zweiten Oberfläche IS2, hier mit den Beleuchtungsstrahlen IR1 und IR2, und an der ersten Oberfläche IS1, hier mit den Beleuchtungsstrahlen IR5 und IR6, durchgeführt.
Die Beleuchtungsstrahlen IR1,...,IR6 werden jeweils nicht ge¬ streut und verzweigen nicht. Auf diese Weise können aufwändig zu berechnende kaskadierte Verzweigungen von Beleuchtungs¬ strahlen vermieden werden.
Figur 3 veranschaulicht eine weitere Variante der Erfindung, bei der anstelle von Umgebungsbildern flächenhafte Lichtquel-
len LSI und LS2 als Beleuchtungsquellen fungieren. Bei diesem Ausführungsbeispiel werden die Streupositionen bestimmt wie bereits in Zusammenhang mit den vorhergehenden Ausführungsbeispielen beschrieben. Bei dem durch Figur 3 veranschaulich- ten Ausführungsbeispiel wird jedoch im Unterschied zu den durch die Figuren 1 und 2 veranschaulichten Ausführungsbeispielen die Auswahl der Streurichtung auf Streurichtungen in Richtung auf die Lichtquellen LSI und LS2 beschränkt, d.h. für jede Streuposition wird zunächst eine der Lichtquellen LSI oder LS2, gegebenenfalls gewichtet mit ihrer Fläche, zu¬ fällig ausgewählt und anschließend eine Zufallsposition auf der Fläche der ausgewählten Lichtquelle bestimmt. Die Streu¬ ung erfolgt dann in Richtung der bestimmten Zufallsposition. Da die Lichtquellen LSI und LS2 nicht das Objektvolumen OV umschließen, kann durch die Beschränkung der Auswahl der Streurichtung vermieden werden, dass ein erheblicher Teil der Sehstrahlen keine Lichtquelle trifft und deshalb gewisserma¬ ßen verschwendet wäre. In dem durch Figur 3 veranschaulichten Ausführungsbeispiel werden die Sehstrahlen Rl und R2 nicht im Objektvolumen gestreut und treffen auch keine der Lichtquellen LSI und LS2. Dementsprechend erhalten sie keinen Beleuchtungsbeitrag. Der Sehstrahl R5 wird an der zweiten Oberfläche IS2 reflektiert und trifft die Lichtquelle LS2, deren Hellig- keits- und/oder Farbwert zum Beleuchtungsbeitrag des Seh¬ strahls R5 addiert wird. Der Sehstrahl R6 wird innerhalb des Objektes OBJ viermal transmissiv gestreut, wobei die Streu¬ richtung jedes Mal in Richtung einer der Lichtquellen LSI oder LS2 zeigt. Nach der vierten Streuung wird der Sehstrahl R6 im Objekt OBJ absorbiert und liefert keinen Beleuchtungs¬ beitrag zum zugeordneten Visualisierungspixel des Detektors D. Der Sehstrahl R4 wird innerhalb des Objekts OBJ dreimal jeweils in Richtung einer der Lichtquellen LSI und LS2 gestreut und verlässt schließlich das Objektvolumen OV in Rieh-
tung der Lichtquelle LSI, deren Helligkeits- und/oder Farb¬ wert zum Beleuchtungsbeitrag des Sehstrahls R4 hinzuaddiert wird . Würden die Streurichtungen ausnahmslos bei jeder Streuung wie beschrieben eingeschränkt, so könnten nicht alle möglichen Lichtpfade durch das Objektvolumen OV berücksichtigt werden. Dies hätte zur Folge, dass Bereiche innerhalb des Objektvolu¬ mens OV unbeleuchtet sein könnten und somit auf dem visuali- sierten Bild vollständig schwarz erschienen. Zur Vermeidung derartiger unbeleuchteter Bereiche können auch nicht eingeschränkte Streuungen mit einer vorgegebenen Wahrscheinlichkeit zur Auswahl zugelassen werden. D.h. unterhalb einer z.B. vom Benutzer vorgebbaren Wahrscheinlichkeitsschwelle kann an- stelle einer Streuung in Richtung auf die Lichtquellen LSI oder LS2 auch eine Streuung in beliebiger, vorzugsweise statistisch gleich verteilter Richtung zugelassen werden. Einem solchen nicht eingeschränkt gestreuten Sehstrahl kann vorzugsweise ein spezifischer Streutyp, wie z.B. „Ambient
Lighting" zugeordnet werden.
Dementsprechend wird in Figur 3 der Sehstrahl R3 zunächst an der zweiten Oberfläche IS2 in eine nicht eingeschränkte Zu¬ fallsrichtung gestreut und anschließend innerhalb des Objekts OBJ nochmals in eine nicht eingeschränkte Zufallsrichtung ge¬ streut. Dem Sehstrahl R3 wird entsprechend der Streutyp „Am¬ bient Lighting" zugeordnet. Der Sehstrahl R3 tritt aus dem Objektvolumen OV aus und trifft auf keine der Lichtquellen LSI oder LS2. Als ein dem Streutyp „Ambient Lighting" zu- geordneter Sehstrahl erhält R3 jedoch einen schwachen diffusen und isotropen Umgebungslichtbeitrag, der häufig auch als "Ambient Occlusion Lighting" bezeichnet wird. Auf diese Weise können vollständig unbeleuchtete Bereiche des Objekts OBJ ef¬ fektiv vermieden werden.
Die Visualisierungspixel des Detektors D bilden einen Visua¬ lisierungsbildpuffer, der die statistisch gemittelten Beleuchtungsbeiträge aller Sehstrahlen enthält. Dieser Visuali- sierungsbildpuffer wird in kontinuierlicher Weise dem Benutzer präsentiert und fortlaufend durch Berechnung weiterer Sehstrahlen im Hintergrund verfeinert. Im Fall von Hochkon¬ trastbildern, so genannten "High Dynamic Range Images"
(HDRI), kann eine Dynamikkompression durchgeführt werden, be- vor das Visualisierungsbild dem Benutzer präsentiert wird. Wenn sich Visualisierungsparameter, wie z.B. eine Position der virtuellen Kamera ändern, kann der Visualisierungsbildpuffer gelöscht werden, und die Berechnung von Sehstrahlen neu gestartet werden. Da die Sehstrahlen und die Beleuch- tungsbeiträge unabhängig voneinander berechnet werden können, lässt sich das erfindungsgemäße Visualisierungsverfahren gut parallelisieren und damit effektiv auf einer Vielkern- Architektur oder auf einer massiv parallel arbeitenden Grafikkarte ausführen.
Durch die Verwendung eines Monte-Carlo-Verfahrens zur Farb¬ verfolgung kann die Erfindung beliebige Lichtpfade durch das Objektvolumen OV berücksichtigen und komplexe Beleuchtungseffekte und Kameramodelle nachbilden. Aufgrund einer stochasti- sehen Natur des Verfahrens kann eine große Vielzahl auch komplexer Lichtpfade innerhalb des Objektvolumens OV berücksich¬ tigt werden, um mit der Zeit ein glattes, photorealistisches Visualisierungsbild zu erzeugen. Das Verfahren ist sehr effi¬ zient, da für einen jeweiligen Sehstrahl nur ein einziger Pfad durch das Objektvolumen OV mittels Woodcock-Tracking verfolgt werden muss.