DE69812947T2 - System und verfahren zum erzeugen von bildelement-daten - Google Patents

System und verfahren zum erzeugen von bildelement-daten

Info

Publication number
DE69812947T2
DE69812947T2 DE69812947T DE69812947T DE69812947T2 DE 69812947 T2 DE69812947 T2 DE 69812947T2 DE 69812947 T DE69812947 T DE 69812947T DE 69812947 T DE69812947 T DE 69812947T DE 69812947 T2 DE69812947 T2 DE 69812947T2
Authority
DE
Germany
Prior art keywords
point
computer graphics
function
sequence
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69812947T
Other languages
English (en)
Other versions
DE69812947D1 (de
Inventor
Martin Grabenstein
Rolf Herken
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.)
Nvidia ARC GmbH
Original Assignee
Mental Images GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mental Images GmbH filed Critical Mental Images GmbH
Publication of DE69812947D1 publication Critical patent/DE69812947D1/de
Application granted granted Critical
Publication of DE69812947T2 publication Critical patent/DE69812947T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity

Landscapes

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

Description

    GEBIET DER ERFINDUNG
  • Die Erfindung betrifft im allgemeinen das Gebiet von Computergraphiken, und insbesondere Systeme und Verfahren zum Erzeugen von Bildelementwerten für Bildelemente in dem Bild.
  • HINTERGRUND DER ERFINDUNG
  • In der Computergraphik wird ein Computer verwendet, um digitale Daten zu erzeugen, die die Projektion von Oberflächen von Objekten, beispielsweise in einer dreidimensionalen Szene, die von einer oder mehreren Lichtquellen beleuchtet wird, auf eine zweidimensionale Bildebene darstellen, um das Aufzeichnen der Szene beispielsweise durch eine Kamera zu simulieren. Die Kamera kann ein Objektiv zum Projizieren des Bildes der Szene auf die Bildebene aufweisen, oder sie kann aus einer Lochkamera bestehen, wobei in diesem Falle kein Objektiv verwendet wird. Das zweidimensionale Bild liegt in der Form einer Anordnung von Bildelementen vor, welche auch als "Pixel" oder "Pel" bezeichnet werden, und die für jedes Bildelement erzeugten digitalen Daten repräsentieren die Farbe und die Helligkeit der Szene, wie sie auf die Bildebene an dem Punkt des entsprechenden Bildelements in der Bildebene projiziert wird. Die Oberflächen der Objekte können eine jede Anzahl von Eigenschaften einschließlich Form, Farbe, Spiegelverhalten, Textur usw. aufweisen, welche bevorzugt in dem Bild so ähnlich wie möglich aufbereitet werden, um ein realistisch aussehendes Bild zu erzeugen.
  • Im allgemeinen werden die Beiträge des Lichts, die von den verschiedenen Punkten in der Szene zu dem Bildelementwert reflektiert werden, der die Farbe und die Helligkeit eines spezifischen Bildelementes repräsentiert, in der Form von einem oder mehreren Integralen relativ komplizierter Funktionen ausgedrückt. Da die in der Computergraphik verwendeten Integrale keine Lösung in geschlossener Form haben, müssen numerische Verfahren verwendet werden, um sie zu berechnen und dadurch den Bildelementwert zu erzeugen. Typischerweise wurde ein herkömmliches "Monte Carlo"-Verfahren in der Computergraphik verwendet, um die Integrale numerisch zu berechnen. Im allgemeinen wird bei dem Monte Carlo Verfahren zum Berechnen eines Integrals
  • < > = (x)dx (1)
  • wobei (x) eine reale Funktion in dem realen numerischen Intervall von 0 bis 1 einschließlich ist, zuerst eine Anzahl "N" statistisch unabhängiger Zufallszahlen xi, i = 1, ..., N über dem Intervall erzeugt. Die Zufallszahlen xi werden als Abtastpunkte verwendet, für welche Abtastwerte (xi) für die Funktion (x) erzeugt werden, und ein Schätzwert für das Integral wird erzeugt als
  • Wenn die Anzahl von Zufallszahlen, die zum Erzeugen der Abtastpunkte (xi) zunimmt, konvergiert der Wert zu dem tatsächlichen Wert des Integrals < f> . Im allgemeinen kann die Verteilung von Schätzwerten, die für verschiedene Werte von "N" erzeugt werden, d. h., für verschiedene Anzahlen von Abtastwerten, als um den tatsächlichen Wert herum mit einer Standardabweichung &sigma; normalverteilt, welche geschätzt werden kann durch
  • &sigma; = (3)
  • angenommen werden, wenn die Werte xi, die zum Erzeugen der Abtastwerte (xi) statistisch unabhängig sind, d. h., wenn die Werte xi tatsächlich zufällig erzeugt werden.
  • Allgemein hat man geglaubt, daß Zufallsmethodologien, wie das Monte Carlo Verfahren erforderlich sind, um sicherzustellen, daß unerwünschte Artefakte, wie z. B. Moiré-Muster und Überlagerungsverzerrungen und dergleichen, welche in der Szene nicht vorhanden sind, nicht in dem erzeugten Bild erzeugt werden. Jedoch ergeben sich mehrere Probleme aus der Verwendung des Monte Carlo Verfahrens in der Computergraphik. Erstens müssen, obwohl die einzelnen Punkte xi, die in dem Monte Carlo Verfahren verwendet werden, zufällig verteilt sind, diese nicht generell gleichmäßig über das Intervall verteilt sind, sondern können sich stattdessen in verschiedenen Regionen über dem Intervall, über welches das Integral berechnet wird, anhäufen. Demzufolge können abhängig von dem Satz der Zufallszahlen, welche in dem Monte Carlo Verfahren für signifikante Abschnitte des Intervalls erzeugt werden, keine Abtastpunkte xi vorhanden sein, für welche Abtastwerte (xi) erzeugt werden. In diesem Falle kann der Fehler ziemlich groß werden. Im Zusammenhang mit der Erzeugung eines Bildelementwertes in der Computergraphik kann der Bildelementwert, der tatsächlich unter Verwendung des Monte Carlo Verfahrens erzeugt wird, einige Elemente nicht reflektieren, welche andererseits reflektiert werden könnten, wenn die Abtastpunkte xi garantiert gleichmäßig über dem Intervall verteilt wären. Dieses Problem kann etwas gemildert werden, indem das Intervall in mehrere Unterintervalle unterteilt wird, wobei es jedoch im allgemeinen schwierig ist, a priori die Anzahl von Unterintervallen zu bestimmen, in welche das Intervall unterteilt werden sollte, und zusätzlich kann in einem mehrdimensionalen Integrationsbereich (welcher normalerweise in der Computergraphik anstelle des hier beschriebenen eindimensionalen Intervalls verwendet wird,) die Unterteilung des Bereichs in Unterbereiche gleicher Größe ziemlich kompliziert sein.
  • Zusätzlich ist, da das Verfahren von Zufallszahlen Gebrauch macht, der Fehler - < > (wobei x den Absolutwert des Wertes "x" repräsentiert) zwischen dem Schätzwert und dem tatsächlichen Wert < > probabilistisch, und somit sind die Fehlerwerte für die verschiedenen Werte von "N" um den tatsächlichen Wert < > normalverteilt, wobei nur 60 Prozent der Schätzwerte , die erzeugt werden können, garantiert innerhalb der Standardabweichung des tatsächlichen Wertes < > liegen.
  • Ferner nimmt, wie es aus der Gleichung (3) deutlich ist, die Standardabweichung &sigma; mit zunehmender Anzahl von Abtastwerten N proportional zu dem reziproken Wert der Quadratwurzel von "N" (d. h., 1/ N) ab. Somit ist es, falls es erwünscht ist, den statistischen Fehler um einen Faktor 2 zu verringern, erforderlich die Anzahl von Abtastwerten N um einen Faktor von 4 zu vergrößern, was wiederum die Berechnungslast vergrößert, die erforderlich ist, um die Bildelementwerte für jedes von den zahlreichen Bildelementen in dem Bild zu erzeugen.
  • Zusätzlich ist, da das Monte Carlo Verfahren Zufallszahlen erfordert, eine effizienter Mechanismus zum Erzeugen von Zufallszahlen erforderlich. Im allgemeinen sind digitale Computer mit sogenannten "Zufallszahlen"-Generatoren ausgestattet, die Computerprogramme sind, welche ausgeführt werden können, um einen Satz von Zahlen zu erzeugen, die angenähert zufällig sind. Da die Zufallszahlen-Generatoren deterministische Techniken verwenden, sind die erzeugten Zahlen nicht tatsächlich zufällig. Jedoch sollte die Eigenschaft, daß aufeinanderfolgende Zufallszahlen aus einem Zufallszahlen- Generator statistisch unabhängig sind, durch deterministische Implementationen von Pseudozufallszahlen auf einem Computer eingehalten werden.
  • Anonymus: "Quasi-Monte Carlo Rendering with Adaptive Sampling" (IBM Technical Disclosure Bulletin, Vol 39, Nr. 9, September 1996, pages 215 bis 224) stellt den Stand der Technik für die vorliegende Erfindung dar und verwendet deterministische Folgen mit niedriger Abweichung (LDS's - Low Discrepancy Sequences), um die globale Beleuchtungsgleichung zu lösen.
  • Die Erfindung stellt ein neues und verbessertes Computergraphiksystem und ein Verfahren für die Erzeugung von Bildelementwerten für Bildelemente in dem Bild unter Anwendung einer strikt deterministischen Methodologie für die Erzeugung von Abtastpunkten zur Verwendung bei der Berechnung von Aspekte des Bildes definierenden Integralen bereit.
  • Kurz zusammengefasst erzeugt das Computergraphiksystem gemäß der Erfindung Bildelementwerte für Bildelemente in einem Bild von Objekten in einer Szene unter Verwendung von strikt deterministischen Folgen mit niedriger Abweichung, beispielsweise Halton-Folgen, als Abtastpunkten für die Berechnung von Integralen, welche zur Simulation einer Anzahl von Computergraphiktechniken verwendet werden, einschließlich
  • (1) Weiche Schatten, welche für Szenen erzeugt werden, die durch eine Lichtquelle mit einer Fläche, wie z. B. eine Scheibe in Gegensatz zu einer Punktlichtquelle beleuchtet werden;
  • (2) Simulation von Tiefenschärfe;
  • (3) Bewegungsverwischung;
  • (4) Flackern; und
  • (5) Globale Beleuchtung.
  • Das Computergraphiksystem verwendet die Folgen mit niedriger Abweichung:
  • (1) in Verbindung mit weichen Schatten, um Abtastpunkte über die Fläche der die Szene beleuchtenden Lichtquelle zu erzeugen;
  • (2) in Verbindung mit der Simulation von Tiefenschärfe, um Abtastpunkte über der Fläche der Linse zwischen der Szene und dem Bild zu erzeugen;
  • (3) in Verbindung mit Bewegungsverwischung, um Abtastpunkte über einem Zeitintervall zu erzeugen, über welchem die Bewegungsverwischung für sich bewegende Objekte in der Szene simuliert werden soll;
  • (4) in Verbindung mit Flackern, um flackernde Abtastpunkte über einem Bild oder einer Vielzahl von zusammenhängenden Bildelementen zu erzeugen; und
  • (5) in Verbindung mit einer globalen Beleuchtung, um Abtastpunkte zur Verwendung in einer strikt deterministischen Russisch Roulett Methodologie zu erzeugen, um Schätzfunktionen zur Anwendung in der Simulation von globaler Beleuchtung zu erzeugen.
  • Im Gegensatz zu den Zufallszahlen, die in Verbindung mit der Monte Carlo-Technik verwendet werden, stellen die Folgen mit niedriger Abweichung sicher, daß die Abtastpunkte gleichmäßig über einen entsprechenden Bereich oder ein Zeitintervall verteilt sind, und verringern dadurch den Fehler in dem Bild, welcher sich aus der Anhäufung solcher Abtastpunkte ergibt, welche in der Monte Carlo-Technik auftreten kann.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Diese Erfindung wird ausführlich in den beigefügten Ansprüchen dargestellt. Die vorstehenden und weiteren Vorteile dieser Erfindung werden besser unter Bezugnahme auf die nachstehende Beschreibung in Verbindung mit den beigefügten Zeichnungen verständlich, in welchen:
  • Fig. 1 ein Computergraphiksystem darstellt, das gemäß der Erfindung aufgebaut ist; und
  • Fig. 2 bis Fig. 6B Flußdiagramme sind, welche für das Verständnis der Operationen des in Fig. 1 dargestellten Computergraphiksystems gemäß der Erfindung nützlich sind.
  • DETAILLIERTE BESCHREIBUNG EINER VERANSCHAULICHENDEN AUSFÜHRUNGSFORM
  • Die Erfindung stellt ein Computergraphiksystem und ein Verfahren zum Erzeugen von Bildelementwerten für Bildelemente in einem Bild einer Szene bereit, welches von einer strikt deterministischen Methodologie für die Erzeugung von Abtastpunkten zur Verwendung bei der Erzeugung von Abtastwerten für die Berechnung des Integrals oder der Integrale, deren Funktion(en) die Beiträge des Lichts repräsentieren, das von den verschiedenen Punkten in der Szene auf den entsprechenden Bildelementwert reflektiert wird, statt von dem zufälligen oder Pseudo-zufälligen Monte Carlo Verfahren Gebrauch macht, welches in der Vergangenheit verwendet wurde. Die strikt deterministische Methodologie stellt a priori sicher, daß die terministische Methodologie stellt a priori sicher, daß die Abtastpunkte im allgemeinen gleichmäßig über das Intervall oder den Bereich verteilt sind, über welche das bzw. die Integrale in einer Weise mit niedriger Abweichung zu berechnen sind.
  • Die beigefügte Fig. 1 stellt ein Beispielcomputersystem 10 dar, das von einer derart strikt deterministischen Methodologie Gebrauch macht. Gemäß Bezugnahme auf Fig. 1, enthält das Computersystem 10 in einer Ausführungsform ein Prozessormodul 11, und Bedienerschnittstellenelemente, welche eine Bedienereingabekomponente, wie z. B. eine Tastatur 12A und/oder eine Maus 12B (allgemein als Bedienereingabeelement(e) 12 identifiziert) und ein Bediener-Ausgabeelement, wie z. B. eine Videoanzeigevorrichtung 13 aufweist. Das Beispielcomputersystem 10 besitzt eine herkömmliche speicherprogrammierte Computerarchitektur. Das Prozessormodul 11 enthält beispielsweise Prozessor-, Speicherund Massenspeichervorrichtungen, wie z. B. Platten und/oder Bandspeicherelemente (welche nicht gesondert dargestellt sind), welche Verarbeitungs- und Speicheroperationen in Verbindung mit ihnen zugeführten digitalen Daten durchführen. Die Bedienereingabeelemente (12) sind vorgesehen, um einer Bedienungsperson die Eingabe von Information zur Verarbeitung zu ermöglichen. Die Videoanzeigevorrichtung 13 ist für die Darstellung von von dem Prozessormodul 11 erzeugter Ausgabeinformation auf einen Bildschirm 14 für die Bedienungsperson vorgesehen, einschließlich von Daten, die die Bedienungsperson für die Verarbeitung eingeben kann, von Information, die die Bedienungsperson zum Steuern der Verarbeitung eingeben kann, sowie von Information, die während der Verarbeitung erzeugt wird. Das Prozessormodul 11 erzeugt Information für die Darstellung durch die Videoanzeigevorrichtung 13 unter Verwendung einer sogenannten "graphischen Benutzerschnittstelle" ("GUI" - Graphical User Interface), in welcher Information für verschiedene Anwendungsprogramme unter Verwendung verschiedener "Fenster" dargestellt wird. Obwohl das Computersystem als nur spezifische Komponenten, wie z. B. die Tastatur 12A und Maus 12B für den Empfang von Eingabeinformation von einer Bedienungsperson und eine Videodarstellungsvorrichtung 13 für die Darstellung von Ausgangsinformation für die Bedienungsperson aufweisend dargestellt ist, dürfte es sich verstehen, daß das Computersystem eine Vielzahl von Komponenten zusätzlich zu oder anstelle der in Fig. 1 dargestellten enthalten kann.
  • Zusätzlich enthält das Prozessormodul 11 einen oder mehrere insgesamt mit dem Bezugszeichen 14 bezeichnete Netzwerkanschlüsse, welche mit Kommunikationsverbindungselementen verbunden sind, welche das Computersystem 10 in einem Computernetzwerk verbinden. Die Netzwerkanschlüsse ermöglichen es dem Computersystem 10 Information an und Information von anderen Computersystemen und anderen Vorrichtungen in dem Netzwerk zu empfangen und zu senden. In einem typischen Netzwerk, welches beispielsweise nach dem Client/Server-Beispiel organisiert ist, sind bestimmte Computersysteme in dem. Netzwerk als Server bezeichnet, welche Daten und Programme (allgemein "Information") für die Verarbeitung durch die anderen Client- Computersysteme speichern, um dadurch den Client-Computersystemen zu ermöglichen, einfach die Information zu teilen. Ein Client-Computersystem, welches Zugriff auf Information benötigt, die von einem spezifischen Server gehalten wird, ermöglicht dem Server, die Information an es durch das Netzwerk hinunter zu laden. Nach der Verarbeitung der Daten, kann das Client-Computersystem auch die verarbeiteten Daten an den Server zur Speicherung zurückgeben. Zusätzlich zu Computersystemen (einschließlich dem vorstehend beschriebenen Servern, und Clients) kann ein Netzwerk auch beispielsweise Drucker und Faxgeräte, digitale Audio- oder Bildspeicher- und Verteilungsvorrichtungen und dergleichen enthalten, welche von den verschiedenen im Netzwerk verbundenen Computersystemen gemeinsam genutzt werden können. Die Kommunikationsverbindungselemente, welche die Computersysteme in dem Netzwerk verbinden, können herkömmliche sein, jedes geeignete Informationstragende Medium einschließlich Drähten, optischen Fasern oder anderen Medien für den Transport von Signalen zwischen den Computersystemen enthalten. Computersysteme übertragen Information über das Netzwerk mittels über die Kommunikationsverbindungselemente übertragenen Meldungen, wobei jede Meldung Information und einen Identifikator enthält, der das Gerät für den Empfang der Meldung identifiziert.
  • Wie vorstehend erwähnt, erzeugt das Computergraphiksystem 10 Bildelementwerte für Bilder in einem Bild einer Szene, welche von einer strikt deterministischen Methodologie für die Auswahl von Abtastpunkten Gebrauch macht, die zum Erzeugen von Abtastwerten verwendet werden, welche dann zum Berechnen des Integrals oder der Integrale verwendet werden, deren Funktion(en) die Beiträge des von den verschiedenen Punkten in der Szene an das entsprechende Bildelementwert reflektierten Lichts repräsentieren. In einer speziellen Ausführungsform stellt die von dem Computergraphiksystem 10 angewendete strikt deterministische Methodologie eine Abtastpunktfolge mit niedriger Abweichung bereit, welche a priori sicherstellt, daß die Abtastpunkte im allgemeinen gleichmäßig über den gesamten Bereich verteilt sind, über welchen die entsprechenden Integrale berechnet werden. In einer Ausführungsform basieren die Abtastpunkte, die verwendet werden auf einer sogenannten Halton-Folge. Siehe beispielsweise J. H. Halton, Numerische Mathematik, Vol. 2, pp. 84-90 (1960) und W. H. Press, et al., Numerical Recipes in Fortran 2d Edition) page 300 (Cambridge University Press 1962). In einer für eine Zahlenbasis "p" erzeugten Halton-Folge, wobei die Basis "p" eine ausgewählte Primzahl ist, wird der durch Hbk repräsentierte "k-te"-Wert der Folge erzeugt durch:
  • (1) Schreiben des Wertes in "k" als eine numerische Darstellung des Wertes in der ausgewählten Basis "p", um dadurch eine Darstellung für den Wert als DMDM-1 ..... D&sub2;D&sub1; bereitzustellen, wobei Dm (m = 1, 2, ..., M) die Ziffern der Darstellung sind, und
  • (2) Setzen eines Dezimalpunktes (der einem Dezimalpunkt für auf der Basis der Zahl 10 geschriebene Zahlen entspricht) an dem Ende der im vorstehenden Schritt (1) geschriebenen Darstellung DMDM-1 ..... D&sub2;, D&sub1;, wurden, gesetzt wird, und Reflektieren der Ziffern an den Dezimalpunkt, um 0, D&sub1;D&sub2; ..... DM-1 DM zu erzeugen, welches HPK entspricht.
  • Man wird erkennen, daß unabhängig von der für die Darstellung gewählten Basis "p" für jede Reihenfolge von Werten 1, 2, ...... "k", geschrieben in der Basis "p", sich die niedrigstwertigen Ziffern der Darstellung mit einer schnelleren Rate als die höchstwerteigen Ziffern verändern. Demzufolge verändern sich in der Halton-Folge Hp¹, Hp², ..... Hbk die höchstwertigen Ziffern mit einer schnelleren Rate, so daß die frühen Werte in der Folge im allgemeinen breit über das Intervall von 0 bis 1 verteilt sind, und daß die letzteren Werte in der Folge die Zwischenräume zwischen den früheren Werte in der Folge füllen. Im Gegensatz zu den Zufalls- oder Pseudo- Zufallszahlen, die in dem Monte Carlo Verfahren wie vorstehend beschrieben verwendet werden, sind die Werte der Halton- Folge nicht statistisch unabhängig; im Gegenteil, die Werte der Halton-Folge sind streng deterministisch, einander über das Intervall "maximal vermeidend", so daß sie sich nicht anhäufen, während sich die zufälligen oder pseudozufälligen Zahlen, die in dem Monte Carlo Verfahren verwendet werden, anhäufen können.
  • Man wird klar erkennen, daß die Halton-Folge wie vorstehend beschrieben eine Folge von Werten über das Intervall von 0 bis 1 einschließlich entlang nur einer Dimension bereitstellt. Eine multidimensionale Halton-Folge kann in ähnlicher Weise erzeugt werden, jedoch unter einer unterschiedlichen Basis für jede Dimension.
  • Eine verallgemeinerte Halton-Folge, von welcher die vorstehend beschriebene Halton-Folge ein Spezialfall ist, wird wie folgt erzeugt. Für jeden Startpunkt entlang dem numerischen Intervall von 0 bis 1 einschließlich wird eine unterschiedliche Halton-Folge erzeugt. Unter Definition der Pseudosumme x py für jedes x und y über dem Intervall von 0 bis 1 einschließlich, für jede ganze Zahl "p" mit einem Wert größer als 2, wird die Pseudosumme durch Addieren der Ziffern, welche "x" und "y" in umgekehrter Reihenfolge repräsentieren, von der höchstwertigen Ziffer zu der niedrigstwertigen Ziffer gebildet, und indem für jede Addition auch der Übertrag addiert wird, der aus der Summe der nächst höheren Ziffern erzeugt wird. Somit wird dann wenn "x" in der Basis "p" durch 0, X&sub1;X&sub2; ... XM-1XM repräsentiert wird, wobei jedes "Xm" eine Ziffer in der Basis "p" ist, und wenn "y" in der Basis "p" durch 0, Y&sub1;Y&sub2; ... YN1YN repräsentiert wird, wobei jedes "Yn" eine Ziffer in der Basis "p" ist (und wobei "M", die Anzahl von Ziffern in der Darstellung von "x" in der Basis "p", und "N", die Anzahl von Ziffern in der Darstellung von "Y" in der Basis "p" sich unterscheiden können) dann die Pseudosumme (z) durch 0, Z&sub1;Z&sub2; .... ZL-1ZL dargestellt wird, wobei jedes "Z&sub1;", eine Ziffer in der Basis "p", durch Z&sub1; = (X&sub1; + Y&sub1; + C&sub1;) mod p gegeben ist, wobei "mod" die Modulofunktion repräsentiert, und
  • und Cl auf 0 gesetzt ist.
  • Unter Verwendung der Pseudosummenfunktion gemäß vorstehender Beschreibung wird die verallgemeinerte Halton-Folge wie folgt erzeugt. Wenn "p" eine ganze Zahl ist, und x&sub0; ein beliebiger Wert in dem Intervall von 0 bis 1 einschließlich ist, dann ist das "p"-adische der von Neumann-Kakutani- Transformation Tp(x) gegeben durch:
  • und die verallgemeinerte Halton-Folge X&sub0;, X&sub1;, X&sub2;, ... ist rekursiv definiert durch:
  • xn-1 = Tp(xn) (5)
  • Aus den Gleichungen (4) und (5) ist deutlich, daß für jeden Wert von "p" die verallgemeinerte Halton-Folge eine unterschiedliche Folge für jeden Anfangswert von "x", d. h., für jedes x&sub0; erzeugen kann. Man wird, erkennen, daß die Halton- Folge HPk, wie vorstehend beschrieben, ein Spezialfall der verallgemeinerten Halton-Folge (Gleichungen (4) und (5)) für x&sub0; = 0 ist.
  • Die Verwendung der Folge mit niedriger Abweichung bei der Berechnung von Integralen zum Erzeugen von Bildelementwerten für Bildelemente in einem Bild in der Computergraphik wird in Verbindung mit einigen spezifischen Computeranwendungen, insbesondere zu der Erzeugung von Bildelementwerten für Bilder dargestellt welche repräsentieren:
  • (1) Weiche Schatten, welche für Szenen erzeugt werden, die durch eine Lichtquelle mit einer Fläche, wie z. B. eine Scheibe in Gegensatz zu einer Punktlichtquelle beleuchtet werden;
  • (2) Simulation von Tiefenschärfe;
  • (3) Bewegungsverwischung;
  • (4) Flackern; und
  • (5) Globale Beleuchtung.
  • Operationen, die von den Computergraphiksystemen in Verbindung mit jedem von diesen ausgeführt werden, werden nachstehend beschrieben.
  • (1) Weiche Schatten
  • Weiche Schatten können in einer Szene auftreten, wenn Objekte in der Szene durch eine Lichtquelle mit einer identifizierbaren Fläche, wie z. B. durch eine. Scheibe, anstelle einer Punktlichtquelle beleuchtet werden. Beispielsweise ist, wenn eine Sonnenfinsternis auftritt, der Halbschattenbereich des Schattens, der von dem Mond auf die Erde geworfen wird, ein weicher Schatten, und der Kernbereich stellt einen Vollschatten dar. Der Kernbereich der Verfinsterung entsteht in Regionen der Erde, in welchen der Mond die Sonne vollständig verdeckt wird, und der Halbschatten entsteht in Regionen, in welchen der Mond teilweise die Sonne verdeckt. Der Grad des Schattens in dem Halbschatten verringert sich, wenn man aus dem Kernschatten nach außen fortschreite, und der Halbschatten stellt den "weichen Schatten" für die Sonnenfinsternis dar. Für eine speziellen Schatten in einer Szene repräsentiert der weiche Schatten eine Abstufung von der Region der Szene (falls überhaupt vorhanden), die sich in einem Vollschatten befindet, zu dem Bereich hin dar, in welchem kein Schatten vorhanden ist.
  • In einer Szene wird ein Teil eines Bildelementwertes für einen Punkt in einer Szene, die eine Beleuchtung durch eine Lichtquelle mit einer Fläche repräsentiert, erzeugt, indem die Beleuchtung eines speziellen Punktes in einer Szene durch eine Lichtquelle über die Fläche der Lichtquelle gemittelt wird. Wenn sich der Punkt in der Szene in einem Vollschattenbereich befindet, was geschehen kann, wenn der Punkt vollständig von einem oder mehreren Objekten in der Szene verdeckt wird, präsentiert der Mittelwert einen Helligkeitswert, der den Vollschatten repräsentiert. Ebenso repräsentiert dann, wenn sich der Punkt in einem Nicht-Schattenbereich befindet, der Mittelwert dann einen Helligkeitswert, der keinen Schatten repräsentiert. Andererseits wird, wenn der Punkt teilweise gegenüber der vollen Fläche der Lichtquelle durch Objekte in der Szene verdeckt wird, und sich somit in einem Weichschattenbereich befindet, dann der Mittelwert einen Zwischenhelligkeitswert auf der Basis des Anteils liefern, mit dem die Lichtquelle verdeckt ist. In jedem Falle ist der Mittelwert beispielsweise durch ein zweidimensionales Integral gegeben.
  • wobei ( ) ein Punkt in der Szene ist, für welchen der Beleuchtungswert erzeugt wird, ( ') ein Punkt auf der Flächenlichtquelle ist, X( ) die Beleuchtung an dem Punkt ( ) in der Szene repräsentiert, Le( ) den Wert der Lichtemission der Flächenlichtquelle bezeichnet, und V( , ') eine Sichtbarkeitsfunktion ist, die gleich 1 ist, wenn der Punkt ( ') auf der Lichtquelle von dem Punkt ( ) in der Szene aus sichtbar ist, und 0 ist, wenn der Punkt ( ') auf der Lichtquelle von dem Punkt ( ) in der Szene aus nicht sichtbar ist. Das Integral wird über der Fläche A' der Lichtquelle berechnet. Die Formulierung der Funktion
  • für ein spezielles Bild ist dem Fachmann auf diesem Gebiet bekannt.
  • Gemäß der Erfindung berechnet das Computergraphiksystem 10 das Integral (Gleichung (6)), um einen Bildelementwert durch Auswählen einer Anzahl "N" von Abtastpunkten ( i') unter Verwendung einer zweidimensionalen verallgemeinerten Halton- Folge zu erzeugen. Nachdem die Abtastpunkte ( i') erzeugt sind, berechnet das Graphiksystem die Funktion.
  • für jeden von den erzeugten Abtastpunkten und nähert den Wert des Integrals (Gleichung (6)) als
  • für jeden von den Punkten ( ) in der Szene an, für welchen der Beleuchtungswert I( ) zu erzeugen ist. Die Verwendung einer Folge mit niedriger Abweichung, beispielsweise der Halton-Folge stellt sicher, daß sich die Abtastpunkte nicht anhäufen, sondern statt dessen gleichmäßig über den Bereich der Lichtquelle verteilt sind.
  • In einer Ausführungsform verwendet das Computergraphiksystem 10 für jeden von den Punkten ( ) in der Szene, für welche der Beleuchtungswert I( ) zu erzeugen ist, eine andere Halton-Folge, welche gemäß der vorstehend (Gleichung (5)) beschrieben Methodologie der verallgemeinerten Halton-Folge erzeugt wird, um so die Erzeugung von Bildelementwerten zu vermeiden, für welche die weichen Schatten andererseits sonst blockartig erscheinen könnten. In dieser Ausführungsform wird die spezielle Halton-Folge erzeugt, indem ein Basiswert x&sub0; verwendet wird, welcher auf den Koordinaten des Punktes in dem Bild beruht, für welches der Bildelementwert erzeugt wird, der dem Punkt ( ) in der Szene zugeordnet ist.
  • Die vorstehend in Verbindung mit der Erzeugung von Bildelementwerten für die Erzeugung von weichen Schatten beschriebenen Operationen sind in dem Flußdiagramm von Fig. 2 dargestellt. Da die Operationen, wie sie in diesem Flußdiagramm dargestellt sind, für den Fachmann auf diesem Gebiet aus der vorstehenden Beschreibung ohne weiteres ersichtlich sind, wird das Flußdiagramm in dieser Figur nicht gesondert in dieser Beschreibung beschrieben.
  • Man wird erkennen, daß die Funktion
  • , die in der Gleichung (6) verwendet wird, für Funktion beispielhaft ist, die in Verbindung mit der Erzeugung von Bildelementwerten zur Simulation von weichen Schatten verwendet werden können, und weitere Funktionen werden für den Fachmann auf diesem Gebiet, mit entsprechenden Veränderungen in den Gleichungen (7) und (8) offensichtlich sind. Beispielsweise wird man deutlich erkennen, daß, obwohl der Nenner von
  • in Gleichung (6), der Ausdruck " - ' " als mit der zweiten Potenz versehen (d. h., quadriert) dargestellt ist, auch andere Potenzen verwendet werden können, wobei in diesem Falle die Gleichungen (7) und (8) dementsprechend modifiziert würden. Zusätzlich wird man ohne weiteres erkennen, daß obwohl die Verwendung der Halton-Folge für die Erzeugung von Abtastpunkten für die Berechnung dargestellt wurde, andere Folgen mit niedriger Abweichung, welche im Fachgebiet bekannt sind statt dessen verwendet werden können.
  • Zusätzlich wird man klar erkennen, daß, obwohl das Computergraphiksystem 10 als weiche Schatten in Verbindung mit. Flächenlichtquellen simulierend beschrieben wurde, das Computergraphiksystem 10 auch Schatten in Verbindung mit linearen Lichtquellen in einer Weise ähnlich zu der vorstehend beschriebenen simulieren kann. Wie bei der Simulation von weichen Schatten für eine Flächenlichtquelle beschränkt das Computergraphiksystem (10) die Abtastpunkte ( i') so, daß sie auf die Lichtquelle fallen. Zusätzlich kann das Computergraphiksystem 10, wenn die Lichtquelle eine lineare Lichtquelle ist, die Abtastpunkte ( i') unter Verwendung einer eindimensionalen verallgemeinerten Halton-Folge erzeugen.
  • (2) Tiefenschärfesimulation
  • Wie vorstehend erwähnt, kann das Computergraphiksystem Bildelementwerte erzeugen, die ein aufbereitetes Bild definieren, das ein Bild repräsentiert, welches für eine Lochkamera aufgezeichnet würde, oder es kann alternativ Bildelementwerte erzeugen, die ein aufbereitetes Bild definieren, das ein Bild repräsentiert, welches für eine Kamera mit einem Objektiv aufgezeichnet würde. Typischerweise liegen für eine Kamera ohne Objektiv alle Objekte normalerweise in der Brennebene. Jedoch sind für eine herkömmliche Kamera mit einem Objektiv, die Objekte in einem spezifischen Abstand von dem Objektiv, sowie die Objekte innerhalb einer Ebene eines vorbestimmten Abstandes davon, welcher als die "Tiefenschärfe" bezeichnet wird, innerhalb der Brennebene. Für Objekte, welche näher oder weiter entfernt sind, werden die Objekte zunehmend verwaschen.
  • Um die Erzeugung eines Bildes für eine Kamera mit Tiefenschärfe zu simulieren, erzeugt das Computergraphiksystem 10 einen Bildelementwert für jedes Bildelement auf der Basis der Berechnung des Integrals
  • L(x, y) = (x, y, x', y')dx'dy' (9)
  • wobei (x, y, x', y')dx'dy' die Helligkeit bezeichnet, die Von dem Punkt (x', y') auf dem Objektiv in der Richtung des Punktes (x, y) in der Bildebene kommt. Das Computergraphiksystem 10 berechnet das Integral über der Fläche Aeff des Objektivs. Die Formulierung der Funktion (x, y, x', y')dx'dy') für ein spezifisches Bild ist dem Fachmann auf diesem Gebiet bekannt.
  • Gemäß der Erfindung berechnet das Computergraphiksystem 10 das Integral (Gleichung (9)), zum Erzeugen eines Bildelementwertes, indem es eine Anzahl "N" von Abtastpunkten für Punkte (xi, yi) auf dem Objektiv unter Verwendung der Halton- Folge erzeugt, um die Abtastpunkte bereitzustellen. Nachdem die Abtastpunkte erzeugt sind, berechnet das Computergraphiksystem 10 die Funktion (x, y, x', y')dx'dy' für jeden von den "N" Abtastpunkten (xi, yi) und nähert das Integral (Gleichung (9))
  • an als:
  • In einer speziellen Ausführungsform verwendet das Computergraphiksystem 10 für jeden Punkt (xi, yi) auf der Bildebene eine andere Halton-Folge, gemäß der vorstehend beschriebenen Methodologie der verallgemeinerten Halton-Folge (Gleichung (5)), um so die Erzeugung von Bildelementwerten zu vermeiden, für welche das aufbereitete Bild ansonsten blockartig erscheinen könnte. In dieser Ausführungsform wird die spezifische Halton-Folge unter Verwendung eines Basiswertes x&sub0; erzeugt, welcher auf den Koordinaten des Punktes in dem Bild basiert, für welchen der Bildelementwert erzeugt wird, der dem Punkt (xi, yi) in der Bildebene zugeordnet ist. Die Verwendung einer Folge mit niedriger Abweichung, beispielsweise der Halton-Folge, stellt sicher, daß sich die Abtastpunkte nicht anhäufen, sondern statt dessen gleichmäßig über die Fläche des Objektivs verteilt sind.
  • Die vorstehend in Verbindung mit der Erzeugung von Bildelementwerten zur Bereitstellung einer Tiefenschärfe beschriebenen Operationen sind in dem Flußdiagramm von Fig. 3 dargestellt. Da die Operationen, wie sie in diesem Flußdiagramm dargestellt sind, ohne weiteres für den Fachmann auf diesem Gebiet aus der vorstehenden Beschreibung ersichtlich sind, wird das Flußdiagramm in dieser Figur nicht gesondert in dieser Beschreibung beschrieben.
  • Die Verwendung von wie vorstehend beschrieben ausgewählten Abtastpunkten (xi) für die Berechnung des Integrals (Gleichung (9)) ist dahingehend vorteilhaft, daß die Verwendung eines Satzes von Abtastpunkten mit niedriger Abweichung eine "Selbstvermeidungs"-Eigenschaft hat, die sicherstellt, daß sich die Abtastpunkte nicht anhäufen, während dieses Anhäufen mit früheren Methodologien, wie z. B. dem auf Zufallszahlen basierenden Monte Carlo Verfahren, möglich ist. Ein weiterer Vorteil besteht darin, daß die Anzahl von Abtastpunkten (xi) nicht a priori vor der Berechnung ausgewählt werden muß.
  • Man wird deutlich erkennen, daß die in Gleichung (9) verwendete Funktion (x, y, x', y')dx'dy' beispielhaft für die Funktionen ist, die in Verbindung mit der Erzeugung von Bildelementwerten verwendet werden kann, um die Tiefenschärfe zu simulieren, und weitere Funktionen werden für den Fachmann auf diesem Gebiet mit entsprechenden Veränderungen in der Gleichung (10) ersichtlich sein. Zusätzlich wird man erkennen, daß, obwohl die Halton-Folge zur Verwendung für die Erzeugung von Abtastpunkten für die Berechnung angegeben wurde, andere Folgen mit niedriger Abweichung, welche im Fachgebiet allgemein bekannt sind, stattdessen verwendet werden könnten.
  • (3) Bewegungsverwischung
  • Eine Bewegungsverwischung entsteht, wenn sich beispielsweise ein Objekt in einer Szene bewegt, die durch eine feststehende Kamera aufgezeichnet wird. Die Bewegungsverwischung tritt auf, da der Verschluß der Kamera ein Zeitintervall ungleich 0 besitzt, über welchen er geöffnet ist, und wenn die Kamera nicht so bewegt wird, daß das sich bewegende Objekt genau auf demselben Punkt in dem Bild gehalten wird, der. Punkt, an welchem das sich bewegende Objekt in dem Bild erscheint, sich in dem Zeitintervall bewegt. Demzufolge erscheinen Ränder des Objektes, welche quer zu der Bewegungsrichtung verlaufen über dem Bild verwischt.
  • Um die Erzeugung eines Bildes einer Szene, in welcher sich ein Objekt bewegt, durch eine Kamera, deren Verschluß ein Zeitintervall von ungleich 0 besitzt, über welchem er geöffnet ist, zu simulieren, erzeugt das Computergraphiksystem 10 einen Bildelementwert für jedes Bildelement auf der Basis der Berechnung des Integrals
  • wobei L(x, y) die Helligkeit des Punktes (x, y) ist, L(x, y, t) die Helligkeit des Punktes (x, y) in dem Bild zu dem Zeitpunkt "t" ist, und "ts" die Zeitdauer ist, über welcher der Ver- Verschluß offen ist. Man wird deutlich erkennen, daß L(x, y) im wesentlichen der Mittelwert von L (x, y, t) über der Zeit ts ist. Die Formulierung der Funktion L (x, y, t) für ein spezifisches Bild ist dem Fachmann auf diesem Gebiet bekannt.
  • Gemäß der Erfindung berechnet das Computergraphiksystem 10 das Integral (Gleichung (11)), um einen Bildelementwert zu erzeugen, indem es eine Anzahl "N" von Abtastpunkten für die Punkte (ti) über dem Zeitintervall von 0 bis ts unter Verwendung der Halton-Folge erzeugt, um die Abtastpunkte bereitzustellen. Nachdem die Abtastpunkte erzeugt sind, berechnet das Computergraphiksystem 10 die Funktion L (x, y, t) für jeden von den "N" Abtastpunkten (ti) und nähert das Integral (Gleichung (11)) an als:
  • In einer speziellen Ausführungsform verwendet das Computergraphiksystem 10 für jeden Bildelement in dem Bild eine andere verallgemeinerte Halton-Folge, die gemäß der vorstehend beschriebenen Methodologie der verallgemeinerten Halton- Folge (Gleichung (5)) erzeugt wird, um so die Erzeugung von Bildelementwerten zu vermeiden, für welche das aufbereitete Bild ansonsten blockartig erscheinen könnte. In dieser Ausführungsform wird die spezifische Halton-Folge unter Verwendung eines Basiswertes x&sub0; erzeugt, welcher auf den Koordinaten des Punktes (x, y) in dem Bild basiert, für welchen der Bildelementwert erzeugt wird. Die Verwendung einer Folge mit niedriger Abweichung, beispielsweise der Halton-Folge, stellt sicher, daß sich die Abtastpunkte nicht anhäufen, sondern statt dessen gleichmäßig über die Zeitdauer verteilt sind, über welche das Integral (Gleichung (11)) zu berechnen ist.
  • Die vorstehend in Verbindung mit der Erzeugung von Bildelementwerten zum Erzeugen einer Bildverwischung beschriebenen Operationen sind in dem Flußdiagramm von Fig. 4 dargestellt. Da die Operationen, wie sie in diesem Flußdiagramm dargestellt sind, ohne weiteres für den Fachmann auf diesem Gebiet aus der vorstehenden Beschreibung ersichtlich sind, wird das Flußdiagramm in dieser Figur nicht gesondert in dieser Beschreibung beschrieben.
  • Man wird erkennen, daß die in der Gleichung (11) verwendete Funktion L(x, y, t) beispielhaft für die Funktionen ist, die in Verbindung mit der Erzeugung von Bildelementwerten verwendet werden kann, um die Tiefenschärfe zu simulieren, und weitere Funktionen werden für den Fachmann auf diesem Gebiet mit entsprechenden Änderungen in der Gleichung (12) offensichtlich sein. Zusätzlich wird man erkennen, daß obwohl die Verwendung der Halton-Folge zum Erzeugen der Abtastpunkte für die Berechnung dargestellt wurde, andere Folgen mit niedriger Abweichung, die im Fachgebiet bekannt sind, statt dessen verwendet werden können.
  • Zusätzlich wird man erkennen, daß das Computergraphiksystem 10 eine eindimensionale Halton-Folge zum Erzeugen von Abtastpunkten (ti) zur Verwendung in der Gleichung (12) entlang einer zeitlichen Dimension "t" für jeden Abtastpunkt (x, y) in dem Bild verwenden kann. In diesem Falle wird das Computergraphiksystem 10 während der Erzeugung des Bildelementwertes den Helligkeitswert L(x, y) für den Abtastpunkt (x, y) gemäß der Gleichung (12) erzeugen. Alternativ kann das Computergraphiksystem 10 beispielsweise eine dreidimensionale Halton- Folge zum Erzeugen von Abtastpunkten (xi, yi, ti) Sowohl entlang der zeitlichen Dimension "t" als auch der räumlichen Dimension "x" und "y" der Bildebene zur Verwendung in der Gleichung (12) erzeugen, und kann den Helligkeitswert für das Bildelement unter Verwendung der Gleichung (12) unter Verwendung der Helligkeitswerte L(xi, yi, ti) erzeugen, wobei (xi, yi) Abtastpunkte innerhalb des Bereichs des Bildelementes sind.
  • (4) Flackern
  • Um einen Bildelementwert für ein Bildelement zu erzeugen, welches die Farbe des Bildelementes an dem entsprechenden Punkt in dem Bild repräsentiert, wird die von dem Bildelement repräsentierte Farbe über die Fläche des Bildelementes gemittelt. Um dieses zu simulieren, erzeugt das Computergraphiksystem 10 den Bildelementwert für das Bildelement Pi so, daß es eine gemittelte Farbe Li aufweist, indem es das Integral
  • berechnet, wobei L(x, y) die Farbe an dem Punkt (x, y) in dem Bild darstellt und die Fläche des Bildelementes Pi darstellt. Die Formulierung der Funktion L(x, y) für ein spezifisches Bild ist dem Fachmann auf diesem Gebiet bekannt.
  • Das Computergraphiksystem 10 kann das Integral (Gleichung (13)) berechnen, um einen Bildelementwert zu erzeugen, indem eine Anzahl "N" von Abtastpunkten (xi, yi) in dem Bildelement Pi unter Verwendung der Halton-Folge zum Erzeugen der Abtastpunkte ausgewählt wird. Nachdem die Abtastpunkte erzeugt sind, berechnet das Computergraphiksystem 10 die Funktion L (x, y) für jeden von den "N" Abtastpunkten (xi, yi) und nähert das Integral (Gleichung (13)) an als:
  • Es treten jedoch einige Probleme auf, wenn das Integral (Gleichung (13)) unter Verwendung einer für jedes Bildelement erzeugten Halton-Folge berechnet wird. Erstens ist, obwohl die Halton-Folge garantiert, daß keine Anhäufung innerhalb eines einzelnen Bildelementes auftritt, nicht garantiert, daß keine Anhäufung an den Grenzen benachbarter Bildelemente auftritt. Zusätzlich würden die für die Bildelemente erzeugten Halton-Folgen eine Periodizität auf der Bildelementebene zeigen, wobei in diesem Falle Artefakte in dem Bild erzeugt werden können, welche für das Auge sichtbar sein können.
  • Somit erzeugt, um diese Probleme zu lösen, das Computergraphiksystem 10 gemäß der Erfindung die Halton-Folge, um die Abtastpunkte entweder für das Bild als ein Ganzes oder für eine vorbestimmte Anzahl von zusammenhängenden Bildelementen in der folgenden Weise zu erzeugen. Zu Beginn unterteilt das Computergraphiksystem 10 das Bild oder die vorbestimmte Anzahl von zusammenhängenden Bildelementen auf der Basis eines Gitters der Größe "n"*"m", wobei n = 2i eine positive Potenz ("i") von 2 ist, und m = 3j eine positive Potenz ("j") von 3 ist. (In dieser Beschreibung sind 2 und 3 die Zahlenbasen (d. h., "p" in den Gleichungen (4) und (5), welche die eindimensionale Halton-Folge beschreiben), die für die Erzeugung der zweidimensionalen Halton-Folge ausgewählt werden; wenn das Computergraphiksystem 10 andere Zahlenbasen für die Erzeugung der zweidimensionalen Halton-Folge verwendet, würden dann "n" und "m" als Potenzen dieser Zahlenbasen ausgewählt). Dann erzeugt das Computergraphiksystem 10 den Satz von Abtastpunkten (xi, yi) die zur Berechnung der Gleichung (14) zu verwenden sind, als (nH2k, mH3k) für k = 1, ..., nm, was eine skalierte zweidimensionale Halton-Folge ergibt, wobei die Skalierung gemäß den Werten von "n" und "m" vorliegt. Die so erzeugten Punkte, genauer ein Abtastpunkt, werden in jedem von einer Vielzahl von Unterbildwerten in jedem Bildwert bereitgestellt, wenn die linken und unteren Grenzen von jedem Unterbildelement als einen Teil des Unterbildelementes bildend angesehen werden, und die rechten und oberen Grenzen von jedem Unterbildelement als keinen Teil des Unterbildelementes bildend angesehen werden.
  • Beispielsweise kann, wenn das Computergraphiksystem 10 Abtastpunkte auf "N"*"N" Unterbildelementen für jedes Bildelement erzeugen soll, und wenn die Anzahl von Spalten in dem Bild oder in dem ausgewählten Untersatz von zusammenhängenden. Bildelementen Resx ist, und wenn die Anzahl von Zeilen von Bildelementen in dem Bild oder in dem ausgewählten Untersatz von zusammenhängenden Bildelementen Resy ist, dann das Computergraphiksystem 10 eine Anzahl von N·Resx · N·Resy von Abtastpunkten zur Verwendung mit den Bildelementen in dem Bild oder dem ausgewählten Untersatz von Bildelementen erzeugen, indem es zu Beginn ganze Zahlen "i" und "j ", so auswählt, daß n = 2i &ge; N·Resx und m = 3j &ge; N·Resy ist. Man beachte, daß das Unterbildelementgitter von "n"*"m" Unterbildelementen in allgemeinen größer als die Größe des Bildes oder des ausgewählten Untersatzes von zusammenhängenden Bildelementen ist.
  • Gemäß dem vorstehend beschriebenen Mechanismus kann das Computergraphiksystem 10 das Integral in der Gleichung (14) für jedes Bildelement unter Verwendung der Abtastpunkte berechnen, welche innerhalb der Fläche des entsprechenden Bildelementes bereitgestellt sind.
  • Es ergeben sich einige Vorteile aus der Erzeugung von Abtastpunkten unter Verwendung der skalierten zweidimensionalen Halton-Folge (nH2k, mH3k) für das gesamte Bild oder den ausgewählten Untersatz zusammenhängender Bildelemente bei der Berechnung des Integrals in der Gleichung (14) anstelle der Verwendung der nicht skalierten Halton-Folge (die beispielsweise (H2k, H3k) ist) innerhalb nur eines Bildelementes bei denselben Abtastpunkten. Erstens wird durch Verwendung einer skalierten zweidimensionalen Halton-Folge die Periodizität der Abtastpunkte auf der Bildelementebene, welche in Verbindung mit der nicht skalierten zweidimensionalen Halton-Folge entstehen kann, vermieden. Zusätzlich stellt die Verwendung einer skalierten zweidimensionalen Halton-Folge (nH2k, mH3k) sicher, daß keine Anhäufung von Abtastpunkten an den Grenzen benachbarter Bildelement entstehen, welche in Verbindung mit der nicht skalierten zweidimensionalen Halton-Folge auftreten können. Daher stellt die Verwendung einer skalierten zweidimensionalen Halton-Folge (nH2k, mH3k) sicher, daß die Abtastpunkte gleichmäßig über das gesamte Bild oder den zusammenhängenden Bereich von Bildelementen verteilt sind. Dieses ist auch der Fall, wenn relativ wenig Abtastpunkte verwendet werden, und selbst dann, wenn nur ein einziger Abtastpunkt pro Bildelement verwendet wird.
  • Die vorstehend in Verbindung mit der Erzeugung von Bildelementwerten für die Erzeugung Flattern beschriebenen Operationen sind in dem Flußdiagramm von Fig. 5 dargestellt. Da die Operationen, wie sie in diesem Flußdiagramm dargestellt sind, für den Fachmann auf diesem Gebiet aus der vorstehenden Beschreibung ohne weiteres ersichtlich sind, wird das Flußdiagramm in dieser Figur dicht gesondert in dieser Beschreibung beschrieben.
  • (5) Globale Beleuchtung
  • "Globale Beleuchtung" umfaßt eine Klasse von optischen Effekten, wie z. B. indirekte Beleuchtung, diffuse und glänzende Zwischenreflexionen, Kaustiken (sphärische Aberrationen) und Farbausbleichen, welche das Computergraphiksystem 10 bei der Erzeugung eines Bildes von Objekten in einer Szene simuliert. Für die Simulation einer globalen Beleuchtung wird eine "Aufbereitungsgleichung" gelöst. Für die allgemeine Form einer veranschaulichenden Aufbereitungsgleichung, welche bei der globalen Beleuchtungssimulation nützlich ist, nämlich:
  • erkennt man, daß das auf einen spezifischen Punkt in einer Szene aufgestrahlte Licht im allgemeinen die Summe von zwei Komponenten ist, nämlich des Lichtanteils (falls vorhanden), der von dem Punkt emittiert wird, und des Lichtanteils (falls vorhanden), welcher von allen anderen Punkten ausgeht, und welcher reflektiert oder anderweitig von dem Punkt gestreut wird. In. Gleichung (15) repräsentiert L( , ) die Strahlung an dem Punkt in der Richtung w = (&theta;, &phi;) (wobei "&theta;" den Winkel der Richtung in Bezug auf eine Richtung senkrecht zu der Oberfläche des Objektes in der Szene repräsentiert, die den Punkt enthält, und "&phi;" den Winkel der Komponente der Richtung in einer Ebene tangential zu dem Punkt repräsentiert). In ähnlicher Weise repräsentiert L( ', ') in dem Integral die Strahlung bei dem Punkt ' in der Richtung ' = (&theta;', &phi;'), (wobei "&theta;'" den Winkel der Richtung ' in Bezug auf eine Richtung senkrecht zu der Oberfläche des Objektes in der Szene repräsentiert, die den Punkt ' enthält, und "&phi;'" den Winkel der Komponente der Richtung in einer Ebene tangential zu dem Punkt ' repräsentiert), und das Licht repräsentiert, falls vorhanden, das von dem Punkt ' emittiert wird, welche von dem Punkt reflektiert oder anderweitig gestreut werden kann.
  • In Gleichung (15) repräsentiert Le( ', ') die erste Komponente der Summe, nämlich die Strahlung aufgrund der Emission von dem Punkt in der Richtung , und das Integral über der Kugel S' repräsentiert die zweite Komponente, nämlich die Strahlung aufgrund der Streuung von Licht bei dem Punkt. ( , '&rarr; ') ist eine bidirektionale Streuungsverteilungsfunktion, welche beschreibt, wie viel von dem Licht, das aus der Richtung ' kommt, reflektiert, gebrochen oder anderweitig in die Richtung gestreut wird, und ist im allgemeinen die Summe einer diffusen Komponente, einer Leuchtkomponente und einer Spiegelkomponente. In der Gleichung (15) ist die Funktion G( , ') ein geometrischer Term:
  • wobei &theta; und &theta;' Winkel im Bezug auf die Senkrechten der entsprechenden Oberfläche der Punkten bzw. ' sind. Ferner ist in der Gleichung (15) die Funktion ( , ') eine Sichtbarkeitsfunktion ist, welche gleich dem Wert 1 ist, wenn der Punkt JE' von dem Punkt JE aus sichtbar ist, und 0 ist, wenn der Punkt JE' von dem Punkt JE aus nicht sichtbar ist. Die Formulierung der verschiedenen Funktionen L( , ), L( ', '), Le( , ), ( , '&rarr; '), G( , ') und V( , ') für ein spezielles Bild ist dem Fachmann auf diesem Gebiet bekannt.
  • Das Computergraphiksystem 10 verwendet die globale Beleuchtung und die Aufbereitungsfunktion, nämlich die Gleichung (15) in Verbindung mit der Erzeugung eines Bildes, um eine Anzahl optischer Effekte wie vorstehend erwähnt zu simulieren. Insbesondere verwendet in Verbindung mit einem Strahlverfolgung anwendenden Simulationsaspekt, in welchem das Computergraphiksystem 10 ein Bild aus der Sicht eines Betrachters unter Verfolgung von Photonen repräsentierenden Strahlen von einer Lichtquelle zu dem Auge des Betrachters simuliert, das erfindungsgemäße Computergraphiksystem 10 eine "strikt deterministische Russisch Roulett" Methodologie, um zu ermitteln, ob ein simulierter Strahl zu beenden ist oder nicht, indem eine strikt deterministische Methodologie bei dieser Ermittlung verwendet wird.
  • Als Hintergrundinformation kann eine Gleichung, wie z. B. die Gleichung (15) der Form
  • (x) = g(x) + K(x, y) (y)dy (17)
  • in welcher f(x) (und in ähnlicher Weise f(y)) eine unbekannte Funktion ist, g(x) eine bekannte Funktion (in dem Zusammenhang mit der Aufbereitungsfunktion (Gleichung (15)) ist g(x) = Le( · ) und K(x, y) ist eine weitere bekannte Funktion, welche als ein "Kern" des Integraloperators dient (in dem Zusammenhang der Aufbereitungsgleichung Gleichung (15) ist K(x·w) = ( , ' &rarr; ')V( , ') formal gelöst werden, indem wiederholt die Funktion "f" in dem Integral wie folgt ersetzt wird:
  • welche eine unbegrenzte Neumann-Folge bildet. Die Gleichung (17) kann wiederum angenähert numerisch berechnet werden, indem eine Abtastung mit niedriger Abweichung der ersten "L"- Terme der Neumann-Folge in der Gleichung (18) durchgeführt wird, wobei "g(x)" als ein nullter Term betrachtet wird, eine "L"-dimensionale Folge mit niedriger Abweichung (&xi;1(n) ... &xi;L(n)) verwendet wird, und wobei "n" den Folgenindex bezeichnet. In einer Ausführungsform, ist beispielsweise eine "L"-dimensionale Folge mit niedriger Abweichung eine L-dimensionale Halton-Folge, für welche, wie vorstehend beschrieben, die Elemente der Folge dazu tendieren, sich maximal gegenseitig zu meiden. Für jedes Elemente der Folge wird ein Schätzfunktionenwert f(n)(x) als
  • erzeugt, und die Annäherung für f(x) wird unter Verwendung von "n" Schätzfunktionen f(n)(x) die gemäß Gleichung (19) wie
  • erzeugt werden, erhalten. Die Verwendung einer Folge mit niedriger Abweichung, beispielsweise der Halton-Folge stellt sicher, daß sich die Abtastpunkte nicht anhäufen, sondern statt dessen gleichmäßig über den L-dimensionalen Raum verteilt werden, über welchen die ersten "L"-Terme der Neumann- Folge (Gleichung (18)) zu berechnen sind.
  • Ein Problem bei der Anwendung der vorstehend in Verbindung mit den Gleichungen (17) bis (20) angewendeten Methodologie zur Berechnung der Aufbereitungsfunktion (Gleichung (15)) besteht darin, daß, obwohl die Neumann-Folge (Gleichung (18)) eine unendliche Folge ist, die Folge zum Berechnen der Folge an einigen Punkten beschränkt werden muß. In Verbindung mit der Berechnung der Aufbereitungsgleichung (Gleichung (15)) kann die Beschränkung der Neumann-Folge zu einem Verlust wünschenswerter Merkmale in dem Bild führen. Zur Linderung dieses Problems wendet das Computergraphiksystem 10 gemäß der Erfindung eine Methodologie an, welche ebenfalls eine Annäherung für f(x) unter Verwendung von "N" Schätzfunktionen erzeugt, welche aber sicherstellt, daß für jede Schätzfunktion die Anzahl der Terme in der zur Erzeugung der Schätzfunktion verwendeten Folge nicht unendlich ist. Somit ist in der erfindungsgemäßen Methodologie keine Beschränkung für die Erzeugung der Schätzfunktionen erforderlich, wodurch sichergestellt wird, daß die Merkmale des Bildes nicht verloren gehen.
  • Die erfindungsgemäße Methodologie, welche hierin als die "strikt deterministische Russisch Roulett" Methodologie bezeichnet wird, wird nachstehend beschrieben. Zunächst erkennt man, daß der numerische Wert "1" als ein Integral dargestellt werden kann, wie z. B.
  • wobei Q(x) die Heaviside-Funktion (ansonsten als "Schrittfunktion" bekannt) bezeichnet, welche definiert ist als
  • und wobei "w" ein Gewichtungsfaktor aus dem Intervall 0 (ausschließlich bis 1 (einschließlich) ist. Unter Verwendung der Gleichungen (21) und (22) findet man eine streng deterministische Schätzfunktion Iest für den numerischen Wert "1" als
  • und unter Erzeugung einer Schätzfunktion für den numerischen Wert "1" als
  • Unter Verwendung der Gleichung (21), unter der Annahme daß K (x, y) Werte in dem Intervall von 0 bis 1 annimmt, kann sie, (d. h., K(x, y)) geschrieben werden als:
  • K(x, y) = &Theta;(K(x, y) - x')dx'
  • Unter Verwendung von Gleichung (25) wird die Neumann- Folge (Gleichung (18)) umformuliert als:
  • (x) = g(x) + &Theta;(K(x, x&sub1;) - x&sub1;')g(x&sub1;)dx&sub1; dx&sub1;' + &Theta;(K(x, x&sub1;) - x&sub1;'(&Theta;(K(x&sub1;, x&sub2;) - x&sub2;')g(x&sub2;)dx&sub1;dx&sub1;'dx&sub2;dx&sub2;' + ... (26)
  • Bei einem Vergleich von Gleichung (26) mit der Gleichung (18) wird man deutlich erkennen, daß für jedes n-dimensionale Integral in der Gleichung (18) ein 2n-dimensionales Integral in der Gleichung (26) vorgesehen ist, und daß für jede Integration über x&sub1; (Index 1 = 1, 2, ...), eine zusätzliche Integration über x&sub1;' in der Gleichung (26) vorgesehen ist.
  • Wie bei der vorstehenden Gleichung (17) wird die Gleichung (26) berechnet, um eine numerische Annäherung bereitzustellen, indem eine Abtastung, mit niedriger Abweichung der ersten "L"-Terme der Neumann-Folge in der Gleichung (26) durchgeführt wird, wobei "g(x)" als ein nullter Term betrachtet wird, ein multidimensionale Folge mit niedriger Abweichung &xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n), ...., &xi;L(n), &xi;'L(n) verwendet wird, wobei "n" einen Folgenindex bezeichnet und "2L" die größte Anzahl von Komponenten ist, die in dem Verlauf der Simulation der Länge "N" benötigt wird. Aus dem Nachstehenden wird offensichtlich werden, daß der Wert von "L" nicht a priori bekannt oder von dem Computergraphiksystem 10 ausgewählt werden muß, und daß aufeinanderfolgende Komponenten &xi;&sub1;(n), und &xi;'&sub1;(n) von der Folge mit niedriger Abweichung auf Bedarf erzeugt werden können. In einer Ausführungsform ist jede "2L-dimensionale" Folge mit niedriger Abweichung beispielsweise eine 2L-dimensionale Halton-Folge, für welche, wie vorstehend beschrieben, die Elemente der Folge dazu tendieren, sich gegenseitig maximal zu meiden. Für jedes Element der Folge wird ein Schätzfunktionenwert f(n)RR(x) erzeugt als
  • Man wird deutlich erkennen, daß in Gleichung (27) im Zusammenhang mit der Aufbereitungsfunktion (Gleichung (15)) der Term "g(x)" in der Summe dem emittierten Strahlungsterm Le( , ) der Aufbereitungsfunktion entspricht, und daß die anderen Terme einen Schätzwert für das Integral F( , ' &rarr; ')G( , ')V( , ')L( ', ')dA' in der Aufbereitungsfunktion für das spezifische Element der multi-dimensionalen Halton-Folge bereitstellen, die bei der Erzeugung der Schätzfunktion verwendet wird.
  • Man wird deutlich erkennen, daß aus der Definition der Heaviside-Funktion (Gleichung (22)) daß, wenn bei einem spezifischen Wert "1" der Wert von &xi;'&sub1;(n) größer als dann K(&xi;&sub1;&submin;&sub1;(n), &xi;&sub1;(n) ist, die entsprechende Heaviside-Funktion 0 bei diesem Term und für nachfolgende höhere Terme irr der Gleichung (27) ist. Demzufolge ist durch eine Formulierung der Schätzfunktion f(n)RR(x) wie in Gleichung (27), die unendliche Neumann- Folge selbstbeschränkend, und daher auf eine endliche Folge reduziert. Somit kann die Annäherung für f(x) erzielt werden als:
  • welche in Zusammenhang mit der Aufbereitungsfunktion (Gleichung (15)) den Wert für L( , ) liefert, d. h., die Strahlung an dem Punkt in dem Bild in der Richtung = (&theta;, &phi;).
  • Wie vorstehend beschrieben, nimmt die vorstehend in Verbindung mit den Gleichungen (21) bis (28) beschriebene Methodologie an, daß K(x, y) Werte in dem numerischen Intervall von 0 bis 1 annimmt. Wenn K(x, y) keine Werte in diesem Intervall annimmt, kann die Methodologie verallgemeinert werden, indem eine Funktion p(x, y) verwendet wird, welche Werte in dem Intervall von 0 bis 1 annimmt, und K(x, y) als
  • geschrieben werden und den Ausdruck (Bezugsgleichung (25)) ersetzt durch
  • In diesem Falle kann der Schätzfunktionenwert f(n)RR(x)(Gleichung (27)) erzeugt werden als:
  • Mit diesem Hintergrund erzeugt das Computergraphiksystem 10 gemäß der strikt deterministischen Russisch Roulett Methodologie, nachdem der Integralkern K(x, x') = ( , &rarr; )G( , ')V( , ') und der Term Le( , ) der emittierten Strahlung für die Aufbereitungsgleichung (Gleichung (15)) für einen Punkt in der Szene berechnet wurden, für welche ein Bild von dem Computergraphiksystem 10 simuliert wird, eine numerische Annäherung der Lösung der Aufbereitungsfunktion. In dieser Operation wird ein Wert für "N", der Anzahl von Schätzfunktionen f(n)RR(X), die bei der Erzeugung der Annäherung für L( , ) in der Aufbereitungsgleichung (Gleichung (28)) zu verwenden sind, ausgewählt, und das Computergraphiksystem 10 erzeugt "N" Elemente einer multidimensionalen Halton-Folge. Für jedes derartige Element erzeugt das Computergraphiksystem 10 die Schätzfunktion f(n)RR(x) gemäß der Gleichung (27). In dieser Operation verwendet das Computergraphiksystem 10 Werte für jeden aufeinanderfolgenden Term der Summer in der Gleichung (27), und addiert den erzeugten Wert zu dem(n) zuvor erzeugten Wert(en) hinzu, bis sie feststellt, daß der Term den Wert 0 hat. Wenn das Computergraphiksystem 10 feststellt, daß ein Term der Summe in der Gleichung (27) 0 ist, kann es die Operationen für diese spezifische Schätzfunktion. f(n)RR(x) abschließen. Nachdem das Computergraphiksystem 10 Schätzfunktionen f(n)RR(x) für alle "N" Elemente der multi-dimensionalen Halton-Folge erzeugt hat, die wie vorstehend beschrieben erzeugt wurde, erzeugt das Computergraphiksystem eine numerische Annäherung für die Aufbereitungsgleichung als den Mittelwert der Schätzfunktionen, wie es in Verbindung mit Gleichung (28) dargestellt ist.
  • Die vorstehend in Verbindung mit der Erzeugung von Bildelementwerten für die Simulation einer globalen Beleuchtung beschriebenen Operationen sind in dem Flußdiagramm von Fig. 6 dargestellt. Da die Operationen, wie sie in diesem Flußdiagramm dargestellt sind, für den Fachmann auf diesem Gebiet aus der vorstehenden Beschreibung ohne weiteres ersichtlich sind, wird das Flußdiagramm in dieser Figur nicht gesondert in dieser Beschreibung beschrieben.
  • Durch den Fachmann auf diesem Gebiet wird erkannt werden, daß die Form der Aufbereitungsgleichung, wie sie in der Gleichung (15) beschrieben ist, und die verschiedenen Funktionen darin beispielhaft für die Form und Funktionen sind, die in Verbindung mit der Erzeugung von Bildelementwerten verwendet werden können, um eine globale Beleuchtung zu simulieren, und weitere Integralformen und Funktionen werden für den Fachmann auf diesem Gebiet mit entsprechenden Veränderungen insbesondere in der Gleichung (27) offensichtlich sein. Beispielsweise können sich die spezifische Form des Integrals und verschiedene Funktionen darin von dem vorstehend Beschriebenen unterscheiden, wenn das Computergraphiksystem 10 eine globale Beleuchtung beispielsweise für eine andere Zahl von Dimensionen als den in der vorstehenden Formulierung beachteten simulieren soll, oder wenn die Simulation mit mehreren Farben auszuführen ist, oder wenn Oberflächen in der Szene diffus, glänzend oder spiegelnd (unter Verwendung eines sogenannten "lokalen Beleuchtungsmodells") sind, oder wenn eine Entscheidung zu treffen ist, ob ein Strahl an einer spezifischen Oberfläche zu reflektieren oder zu brechen ist. Obwohl sich die Formulierung der Aufbereitungsgleichung, und verschiedener Funktionen darin in einigen spezifischen Aspekten von den hierin beschriebenen unterscheiden können, wird jedoch im allgemeinen die spezifisch dafür verwendete Aufbereitungsfunktion eine Form haben, die der in der vorstehend beschriebenen Gleichung (17) entspricht, womit dann das Computergraphiksystem 10 die strikt deterministische Russisch Roulett Methodologie wie sie vorstehend in Verbindung mit den Gleichungen (27) und (28) beschrieben wurde, zur Berechnung der Gleichung verwenden kann.
  • Wie es vorstehend in Verbindung mit Gleichung (27) beschrieben wurde, macht die Erzeugung einer Schätzfunktion f(n)RR(x) für jedes "x" Gebrauch von einer multi-dimensionalen Folge mit niedriger Abweichung (&xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n) ..., &xi;L(n), &xi;'L(n)). Die "nicht mit einem Strich versehenen" Komponenten &xi;&sub1;(n), ..., &xi;L(n) der Folge sind mit der Integration über die nicht mit Strichen versehenen Variablen x&sub1;, x&sub2;, ...., (Bezugsgleichung (26)) verwandt, und die mit "mit Strichen versehenen" Komponenten &xi;&sub1;'(n), ..., &xi;L'(n) der Folge sind mit der Integration über die mit Strichen versehenen variablen x'&sub1;, x'&sub2;, ... (Bezugsgleichung (26)) verwandt. Der Fachmann auf diesem Gebiet wird erkennen, daß es in einigen Fällen erwünscht sein kann, anstelle der "rohen" nicht mit Strichen versehenen Komponenten &xi;&sub1;(n), ..., &xi;L(n) bei der Erzeugung der Schätzfunktionen f(n)RR(x) eine ausgewählte Funktion oder Transformation der Komponenten der Folge bei der Erzeugung der Schätzfunktionen zu verwenden, wobei die Funktion so gewählt werden kann, daß sie sicherstellt, daß Merkmale in der Funktion K(x, y) effizient in der Berechnung erfasst werden. Es ist jedoch im allgemeinen erwünscht, sicher zu stellen, daß die "rohen" mit Strichen versehenen Komponenten &xi;&sub1;'(n), ..., &xi;L'(n) bei der Erzeugung der Schätzfunktionen f(n)RR(x) selbst dann verwendet werden, wenn eine Funktion oder Transformation der nicht mit Strichen versehenen Komponenten &xi;&sub1;(n), ..., &xi;L(n) verwendet wird.
  • Zusätzlich wird man ohne weiteres erkennen, daß obwohl die Verwendung der Halton-Folge für die Erzeugung von Abtastpunkten für die Berechnung dargestellt wurde, andere Folgen mit niedriger Abweichung, welche im Fachgebiet bekannt sind statt dessen verwendet werden können.
  • Die strikt deterministische Russisch Roulett Methodologie, welche eine strikt deterministische Folge mit niedriger Abweichung, wie z. B. die multi-dimensionale Halton-Folge, verwendet, wie sie vorstehend in Verbindung mit den Gleichungen (21) bis (28) beschrieben ist, bietet eine Reihe von Vorteilen gegenüber sowohl einer Monte Carlo Russisch Roulett Methodologie (d. h., einer Russisch Roulett Methodologie, welche Zufallszahlen verwendet), sowie einer Nicht-Russisch Roulett Methodologie, wie sie in Verbindung mit den Gleichungen (18) bis in Gleichung (20) beschrieben ist. In Bezug auf eine Monte Carlo Russisch Roulett Methodologie, würde wie bei jeder anderen Monte Carlo Methodologie eine derartige Methodologie Zufallszahlen verwenden, und somit ähnliche Nachteile wie vorstehend beschrieben haben. D. h., im Gegensatz zu der strikt deterministischen Russisch Roulett Methodologie, deren strikt deterministische Folge mit niedriger Abweichung a priori sicherstellt, daß die Abtastpunkte im allgemeinen gleichmäßig über den multi-dimensionalen Bereichen verteilt sind, über welchen die Schätzfunktionen in einer Weise mit niedriger Abweichung zu berechnen sind, im Vergleich zu der Anhäufung, die sich aus Zufallszahlen ergeben kann, die mit einer Monte Carlo Russisch Roulett Methodologie verwendet werden, kann somit die strikt deterministische Russisch Roulett Methodologie mit niedriger Abweichung weniger Schätzfunktionen zum Bereitstellen einen zufriedenstellenden Wert für die Annäherung , als eine Monte Carlo Russisch Roulett Methodologie erfordern.
  • Zusätzlich ist es im Gegensatz zu der strikt deterministischen Russisch Roulett Methodologie für die Nicht-Russisch Roulett Methodologie (Gleichungen (18) bis (20)) im allgemeinen der Fall, daß die zum Erzeugen jeder Schätzfunktion f(n)(x) (Gleichung (19)) verwendete Neumann-Folge eine unendliche Folge ist. Demzufolge muß jede derartige Folge auf eine vorbestimmte maximale Anzahl von Termen begrenzt werden, was zu einem Verlust von Merkmalen in dem Bild führen kann. Wie vorstehend in Verbindung mit den Gleichungen (27) und (28) beschrieben wird in der strikt deterministischen Russisch Roulett Methodologie für jede Schätzfunktion f(n)(x) bei einer spezifischen Ebene "1", der Wert der Schätzfunktion (Gleichung (27)) für diese Ebene und alle weiteren Ebenen garantiert zu 0, so daß die Folge eine endliche Folge ist. Anders gesägt ist für die strikt deterministische Russisch Roulett Methodologie die Folge (Gleichung (27)) garantiert selbst beschränkend, während für die strikt deterministische Nicht- Russisch Roulett Methodologie die Folge (Gleichung (19)) nicht allgemein selbst beschränkend ist, und statt dessen im allgemeinen erfordert, daß das Computergraphiksystem die Folge begrenzt. Somit stellt im Gegensatz zu der strikt deterministischen Nicht-Russisch Roulett Methodologie die strikt deterministische Russisch Roulett Methodologie sicher, daß keine Merkmale des Bildes verloren gehen.
  • Zusätzlich tragen im allgemeinen bei einer unendlichen Folge, wie z. B. der Neumann-Folge die in Verbindung mit den Schätzfunktionen f(n)(X) verwendet wird, die ersten mehreren Terme der Folge den Hauptanteil zu dem sich ergebenden Wert der Schätzfunktionen f(n)(x) bei. Wegen der selbst beschneidenden Eigenschaft verbessert die strikt deterministische Russisch Roulett Methodologie die Nicht-Russisch Roulett Methodologie (wie sie vorstehend in Verbindung mit den Gleichungen (18) bis in (20) beschrieben wurde) wenigstens hinsichtlich des Grundes, daß die ersten mehreren Terme der Neumann-Folge (welche die wichtigsten Terme sind) in der Schätzfunktion f(n)(x) wesentlich öfter als die nachfolgenden Terme der Neumann-Folge verwendet werden (welche im allgemeinen weniger wichtig sind). Somit kann die strikt deterministische Russisch Roulett Methodologie weniger Schätzfunktionen erfordern, um einen zufrieden stellenden Wert für die Annäherung im Vergleich zu einer Nicht-Russisch Roulett Methodologie bereit zu stellen.
  • Ferner ermöglicht die Methodologie, da mit der strikt deterministischen Russisch Roulett Methodologie die Folge für jede Schätzfunktion f(n)RR(x) selbst beschränkend ist, eine automatische Ermittlung, ob ein Strahlenpfad in der globalen Beleuchtungssimulation zu beenden ist oder nicht. Sowohl in der Gleichung (18) als auch in der Gleichung (26) repräsentiert jedes Paar (x, x&sub1;), (x&sub1;, x&sub2;), ...., (xi, xj) einen entsprechenden Strahlenpfad, der sich vom Punkt "xj" zum Punkt "xi" im Raum (von links nach rechts zu lesen) erstreckt, und in jeder Schätzfunktion repräsentiert jeder Term einen Beitrag des Strahls zu der globalen Beleuchtungssimulation. Da in der strikt deterministischen Russisch Roulett Methodologie die zum Erzeugen jeder Schätzfunktion f(n)RR(x) sich automatisch selbst beschneidet, endet für das Paar (xi, xj) für welches der Term 0 ist, der Strahlenpfad (x, x&sub1;) (x&sub1;, x&sub2;), ...., (xi, xj) automatisch. Andererseits enden die Strahlenpfade, da wie vorstehend beschrieben, die strikt deterministische Nicht-Russisch Roulett Methodologie nicht automatisch endet, die Strahlenpfade nicht automatisch, sondern werden stattdessen an dem Punkt beendet, welcher dem Term zugeordnet ist, für welchen die Folge willkürlich beschnitten wird.
  • Wie vorstehend angegeben repräsentieren die Paare (x, x&sub1;) (x&sub1;, x&sub2;), ..., (xi, xj) einen entsprechenden Strahlenpfad, der sich von dem Punkt "xj" zu dem Punkt "xi" im Raum erstreckt. In der vorstehend in Verbindung mit den Gleichungen (21) bis (28) beschriebenen strikt deterministischen Russisch Roulett Methodologie wird der Strahlenpfad als sich von einer Lichtquelle aus erstreckend angenommen. Eine in Verbindung mit Strahlenpfaden, die sich beispielsweise von einer Kamera aus erstrecken nützliche analoge Methodologie wird für den Fachmann auf diesem Gebiet offensichtlich seid.
  • Man wird deutlich erkennen, daß ein System gemäß der Erfindung insgesamt oder teilweise aus spezieller Hardware oder einem allgemeinen Computersystem oder irgendeiner Kombination davon aufgebaut werden kann, wobei jeder Abschnitt davon durch ein geeignetes Programm gesteuert werden kann. Jedes Programm kann insgesamt oder teilweise einen Bestandteil des Systems bilden oder darin in herkömmlicher Weise gespeichert sein, oder es kann insgesamt oder teilweise in das System über ein Netzwerk oder einen anderen Mechanismus für die Übertragung von Information in herkömmlicher Weise geliefert sein. Zusätzlich wird man erkennen, daß das System mittels Information, die von einer Bedienungsperson unter Verwendung von (nicht dargestellten) Bedienungsperson-Eingabeelementen, welche direkt mit dem System verbunden sein können oder welche die Information an das System über ein Netzwerk oder einen anderen Mechanismus zur Übertragung von Information in herkömmlicher Weise übertragen, betrieben und/oder anderweitig gesteuert werden.
  • Die vorstehende Beschreibung wurde auf eine spezifische Ausführungsform dieser Erfindung beschränkt. Es dürfte jedoch ersichtlich sein, daß verschiedene Varianten und Modifikatioden an der Erfindung unter Erhaltung einiger oder aller Vorteile der Erfindung durchgeführt werden können. Es ist die Aufgabe der beigefügten Ansprüche diese und derartige weitere Varianten und Modifikationen innerhalb des Erfindungsgedankens und des Schutzumfangs der Erfindung mit abzudecken.

Claims (10)

1. Computergrafiksystem zum Erzeugen eines Bildelementewertes für ein Bildelement in einer Bild, wobei das Bildelement einen Punkt in einer Szene repräsentiert, das Computergrafiksystem den Bildelementwert zur Simulation einer globalen Beleuchtung erzeugt, die durch eine Bewertung einer Funktion (x) über einer Kugel dargestellt wird, welche an dem Punkt in der Szene zentriert ist, und die Funktion (x) die Form aufweist:
(x) = g(x) + K(x, y) (y)dy, wobei (x) und (y) unbekannte Funktionen sind, und g(x) und K(x, y) bekannte Funktionen sind, wobei K(x, y) als ein Kernel des Integrals dient, und das Computergrafiksystem aufweist:
A. einen Schätzfunktionengenerator zum Erzeugen einer ausgewählten Anzahl, N, von Schätzfunktionen f(n)RR(x)
wobei &theta;(x) die Heaviside-Funktion darstellt,
und &xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n), ...., &xi;L(n), &xi;'L(n) die Komponenten einer vorbestimmten multidimensionalen streng deterministischen Folge mit niedriger Abweichung darstellen, und wobei n einen Folgenindex darstellt, der Schätzfunktionengenerator aufeinanderfolgende Terme für jede Schätzfunktion f(n)RR(x) erzeugt, bis er einen Term mit dem Wert Null erzeugt;
B. einen Helligkeitswertgenerator zum Erzeugen eines Helligkeitswertes für den Punkt in der Szene als den Mittelwert für die von dem Schätzfunktionengenerator erzeugten Schätzfünktionenwertet und
C. einen Bildelementewertgenerator, um den für den Punkt in der Szene erzeugten Helligkeitswert bei der Erzeugung des Bildelementewertes zu verwenden.
2. Computergrafiksystem nach Anspruch 1, in welchem die vorbestimmte Folge mit niedriger Abweichung eine multidimensionale verallgemeinerte Halton-Folge ist.
3. Computergrafiksystem nach Anspruch 1, in welchem der Schätzfunktionengenerator die Schätzfunktionen f(n)RR(x) als
erzeugt, wobei p(x, y) eine beliebige Funktion darstellt, welche Werte in dem Intervall von 0 bis 1 annimmt.
4. Computergrafiksystem nach Anspruch 1, wobei der Schätzfunktionengenerator bei der Erzeugung wenigstens eines Schätzfunktionenwertes als nicht mit einem Strichindex versehene Komponenten &xi;&sub1;(n), ...., &xi;L(n) nicht mit einem Strichindex versehene Komponenten der Folge niedriger Abweichung &xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n), ...., &xi;L(n), &xi;'L(n) verwendet, welche gemäß einer ausgewählten Transformation verarbeitet wurden.
5. Computergrafiksystem nach Anspruch 1, in welchem:
A. g(x) = Le( , ) die Strahldichte aufgrund einer Emission von dem Punkt in der Richtung wird; und
B. K(x, y) = ( , ' &rarr; )G( , ')V( , ') ist, wobei
(i) die Funktion ( , ' &rarr; ) eine bidirektionale Streuverteilungsfunktion ist, welche beschreibt, wieviel Licht aus der Richtung ' reflektiert, gebrochen oder anderweitig in einer Richtung gestreut wird, und im allgemeinen die Summe einer diffusen Komponente, einer Leuchtkomponente und einer Spiegelkomponente ist;
(ii) die Funktion G = ( , ') ein geometrischer Term:
wobei &theta; und &theta;' Winkel im Bezug auf die Senkrechten der entsprechenden Oberfläche der Punkten bzw. ' sind, und
(iii) die Funktion V( , ') eine Sichtbarkeitsfunktion ist, welche gleich dem Wert 1 ist, wenn der Punkt ' von dem Punkt aus sichtbar ist, und 0 ist, wenn der Punkt ' von dem Punkt aus nicht sichtbar ist.
6. Computergrafikverfahren zum Erzeugen eines Bildelementewertes für ein Bildelement in einem Bild, wobei das Bildelement einen Punkt in einer Szene repräsentiert, der Bildelementwert zur Simulation einer globalen Beleuchtung erzeugt wird, die durch eine Bewertung eines Integrals über einer Kugel dargestellt wird, welche an dem Punkt in der Szene zentriert ist, und wobei das Integrals die Form aufweist:
(x) = g(x) + K(x, y) (y)dy, wobei (x) und (y) unbekannte Funktionen sind, und g(x) und K(x, y) bekannte Funktionen sind, wobei K(x, y) als ein Kernel des Integrals dient, und das Computergrafikverfahren aufweist:
A. Erzeugen einer ausgewählten Anzahl, N, von Schätzfunktionen f(n)RR(x) als
wobei &theta;(x)die Heaviside-Funktion darstellt,
und &xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n), ...., &xi;L(n), &xi;'L(n) die Komponenten einer vorbestimmten multidimensionalen streng deterministischen Folge mit niedriger Abweichung darstellen, und wobei n einen Folgenindex darstellt, während der Schätzfunktionengenerator aufeinanderfolgende Terme für jede Schätzfunktion (n)RR(x) erzeugt, bis er einen Term mit dem Wert Null erzeugt;
B. Erzeugen eines Helligkeitswertes für den Punkt in der Szene als den Mittelwert für die von dem Schätzfunktionengenerator erzeugten Schätzfunktionenwerte; und
C. Verwenden des für den Punkt in der Szene erzeugten Helligkeitswertes bei der Erzeugung des Bildelementewertes.
7. Computergrafikverfahren nach Anspruch 6, in welchem die vorbestimmte Folge mit niedriger Abweichung eine multidimensionale verallgemeinerte Halton-Folge ist.
8. Computergrafikverfahren nach Anspruch 6, in welchem die Schätzfunktionen (n)RR(x) in dem Schätzfunktionenerzeugungsschritt als
erzeugt werden, wobei p(x, y) eine beliebige Funktion darstellt, welche Werte in dem Intervall von 0 bis 1 annimmt.
9. Computergrafikverfahren nach Anspruch 6, in welchem bei der Erzeugung wenigstens eines Schätzfunktionenwertes als nicht mit einem Strichindex versehene Komponenten &xi;&sub1;(n), ...., &xi;L(n) nicht mit einem Strichindex versehene Komponenten der Folge niedriger Abweichung &xi;&sub1;(n), &xi;'&sub1;(n), &xi;&sub2;(n), &xi;'&sub2;(n), ...., &xi;L(n) &xi;'L(n) gemäß einer ausgewählten gemäß einer ausgewählten Transformation verarbeitet werden.
10. Computergrafikverfahren nach Anspruch 6 in welchem:
A. g(x) = Le( , ) die Strahldichte aufgrund einer Emission von dem Punkt in der Richtung wird und
B. K(x, y) = ( , ' &rarr; )G( , ')V( , ') ist, wobei
(i) die Funktion ( , ' &rarr; ) eine bidirektionale Streuverteilungsfunktion ist, welche beschreibt, wieviel Licht aus der Richtung ' reflektiert, gebrochen oder anderweitig in einer Richtung gestreut wird, und im allgemeinen die Summe einer diffusen Komponente, einer Leuchtkomponente und einer Spiegelkomponente ist;
(ii) die Funktion G = ( , ')ein geometrischer Term:
wobei &theta; und &theta;' Winkel im Bezug auf die Senkrechten der entsprechenden Oberfläche der Punkten bzw. ' sind, und
(iii) die Funktion V( , ') eine Sichtbarkeitsfunktion ist, welche gleich dem Wert 1 ist, wenn der Punkt ' von dem Punkt aus sichtbar ist, und 0 ist, wenn der Punkt ' von dem Punkt aus nicht sichtbar ist.
DE69812947T 1997-06-23 1998-06-23 System und verfahren zum erzeugen von bildelement-daten Expired - Lifetime DE69812947T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/880,418 US6529193B1 (en) 1996-06-25 1997-06-23 System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
PCT/IB1998/001015 WO1998059322A1 (en) 1997-06-23 1998-06-23 System and method for generating pixel values

Publications (2)

Publication Number Publication Date
DE69812947D1 DE69812947D1 (de) 2003-05-08
DE69812947T2 true DE69812947T2 (de) 2003-11-13

Family

ID=25376240

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69812947T Expired - Lifetime DE69812947T2 (de) 1997-06-23 1998-06-23 System und verfahren zum erzeugen von bildelement-daten

Country Status (8)

Country Link
US (4) US6529193B1 (de)
EP (1) EP0992024B1 (de)
JP (1) JP4072209B2 (de)
AT (1) ATE236439T1 (de)
AU (1) AU759796B2 (de)
CA (1) CA2294995C (de)
DE (1) DE69812947T2 (de)
WO (1) WO1998059322A1 (de)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529193B1 (en) * 1996-06-25 2003-03-04 Mental Images Gmbh & Co. Kg System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
EP1628263B1 (de) * 2000-06-19 2011-12-07 Mental Images GmbH Erzeugen von Pixelwerten unter Verwendung streng deterministischer Methoden zum Erzeugen von Abtastpunkten
US7167175B2 (en) * 2000-06-19 2007-01-23 Mental Images Gmbh System and computer-implemented method for evaluating integrals using a quasi-Monte Carlo methodology in which sample points represent dependent samples generated using a low-discrepancy sequence
US8411088B2 (en) * 2000-06-19 2013-04-02 Nvidia Corporation Accelerated ray tracing
US7495664B2 (en) * 2000-06-19 2009-02-24 Mental Images Gmbh Instant ray tracing
US7659894B2 (en) * 2000-06-19 2010-02-09 Mental Images Gmbh Terminating spatial partition hierarchies by a priori bounding memory
US20050275652A1 (en) * 2000-06-19 2005-12-15 Alexander Keller Computer graphics system and computer-implemented method for simulating participating media using sample points determined using elements of a low-discrepancy sequence
US7773088B2 (en) * 2000-06-19 2010-08-10 Mental Images Gmbh Simultaneous simulation of markov chains using quasi-monte carlo techniques
US7187379B2 (en) * 2000-06-19 2007-03-06 Mental Images Gmbh Generating an image using sample points determined on a sub-pixel grid offset using elements of a low-discrepancy sequence
US7952583B2 (en) * 2000-06-19 2011-05-31 Mental Images Gmbh Quasi-monte carlo light transport simulation by efficient ray tracing
WO2002003326A2 (en) * 2000-06-19 2002-01-10 Mental Images, G.M.B.H. & Co., Kg. Generating pixel values using strictly deterministic methodologies for generating sample points
US7499053B2 (en) * 2000-06-19 2009-03-03 Mental Images Gmbh Real-time precision ray tracing
US8248416B2 (en) * 2000-06-19 2012-08-21 Mental Images Gmbh Efficient ray tracing without acceleration data structure
US7432935B2 (en) * 2002-11-19 2008-10-07 Mental Images Gmbh Image synthesis methods and systems for generating sample points in a graphics scene
US20090141026A1 (en) * 2000-06-19 2009-06-04 Matthias Raab Computer graphics with enumerating qmc sequences in voxels
US8188997B2 (en) * 2000-06-19 2012-05-29 Mental Images Gmbh Accelerated ray tracing using shallow bounding volume hierarchies
US7184042B2 (en) * 2000-06-19 2007-02-27 Mental Images Gmbh Computer graphic system and computer-implemented method for generating images using a ray tracing methodology that makes use of a ray tree generated using low-discrepancy sequences and ray tracer for use therewith
US7230618B2 (en) * 2000-06-19 2007-06-12 Mental Images Gmbh Generating images using multiple photon maps
US7046243B1 (en) * 2000-11-21 2006-05-16 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena
US6940504B1 (en) 2000-11-21 2005-09-06 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena using an alpha channel
US6807305B2 (en) * 2001-01-12 2004-10-19 National Instruments Corporation System and method for image pattern matching using a unified signal transform
US7034831B2 (en) * 2001-02-05 2006-04-25 National Instruments Corporation System and method for generating a low discrepancy curve in a region
US6959104B2 (en) * 2001-02-05 2005-10-25 National Instruments Corporation System and method for scanning a region using a low discrepancy sequence
US6950552B2 (en) * 2001-02-05 2005-09-27 National Instruments Corporation System and method for precise location of a point of interest
US6917710B2 (en) * 2001-02-05 2005-07-12 National Instruments Corporation System and method for scanning a region using a low discrepancy curve
US6909801B2 (en) * 2001-02-05 2005-06-21 National Instruments Corporation System and method for generating a low discrepancy curve on an abstract surface
EP1258837A1 (de) * 2001-05-14 2002-11-20 Thomson Licensing S.A. Verfahren zur Erzeugung eines gegenseitigen fotometrischen Effektes
ATE373288T1 (de) * 2001-06-07 2007-09-15 Mental Images Gmbh Bildsynthese mit genau deterministischen methodologien unter verwendung von recursiven rotationen zur musterpunkterzeugung
US7127100B2 (en) * 2001-06-25 2006-10-24 National Instruments Corporation System and method for analyzing an image
EP1646174A1 (de) * 2004-10-07 2006-04-12 Axalto SA Verfahren und Vorrichtung zur automatischen Generierung eines Kryptographisch Instruktionsatz und Codegenerierung
EP1915739B1 (de) * 2005-08-18 2011-07-13 NVIDIA Corporation Verfahren und system zur bildsynthese
US7702131B2 (en) * 2005-10-13 2010-04-20 Fujifilm Corporation Segmenting images and simulating motion blur using an image sequence
US7589725B2 (en) * 2006-06-30 2009-09-15 Microsoft Corporation Soft shadows in dynamic scenes
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination
US9478062B2 (en) 2006-09-19 2016-10-25 Imagination Technologies Limited Memory allocation in distributed memories for multiprocessing
US7969434B2 (en) 2006-09-19 2011-06-28 Caustic Graphics, Inc. Method, apparatus, and computer readable medium for accelerating intersection testing in ray-tracing rendering
US8674987B2 (en) 2006-09-19 2014-03-18 Caustic Graphics, Inc. Dynamic ray population control
US7742060B2 (en) * 2006-09-22 2010-06-22 Autodesk, Inc. Sampling methods suited for graphics hardware acceleration
US8102394B2 (en) * 2006-12-14 2012-01-24 Mental Images Gmbh Computer graphics using meshless finite elements for light transport
US8396290B1 (en) 2007-03-09 2013-03-12 Pixar Saturation varying color space
US8942476B1 (en) * 2007-03-09 2015-01-27 Pixar Saturation varying and lighting independent color color control for computer graphics
US7752580B2 (en) * 2007-07-26 2010-07-06 International Business Machines Corporation Method and system for analyzing an integrated circuit based on sample windows selected using an open deterministic sequencing technique
US7932905B2 (en) * 2007-10-15 2011-04-26 Caustic Graphics, Inc. Method, apparatus, and computer readable medium for light energy accounting in ray tracing
US20090102843A1 (en) * 2007-10-17 2009-04-23 Microsoft Corporation Image-based proxy accumulation for realtime soft global illumination
US8237711B2 (en) * 2007-11-19 2012-08-07 Caustic Graphics, Inc. Tracing of shader-generated ray groups using coupled intersection testing
US8593458B2 (en) * 2008-09-22 2013-11-26 Caustic Graphics, Inc. Systems and methods of multidimensional query resolution and computation organization
US8319798B2 (en) * 2008-12-17 2012-11-27 Disney Enterprises, Inc. System and method providing motion blur to rotating objects
US8842931B2 (en) 2011-02-18 2014-09-23 Nvidia Corporation System, method, and computer program product for reducing noise in an image using depth-based sweeping over image samples
GB2529074A (en) 2011-06-16 2016-02-10 Imagination Tech Ltd Graphics processor with non-blocking concurrent architecture
US10061618B2 (en) 2011-06-16 2018-08-28 Imagination Technologies Limited Scheduling heterogenous computation on multithreaded processors
US9041721B2 (en) * 2012-02-13 2015-05-26 Nvidia Corporation System, method, and computer program product for evaluating an integral utilizing a low discrepancy sequence and a block size
US9424685B2 (en) 2012-07-31 2016-08-23 Imagination Technologies Limited Unified rasterization and ray tracing rendering environments
US9229907B2 (en) * 2012-11-01 2016-01-05 Nvidia Corporation System, method, and computer program product for evaluating an integral utilizing a low discrepancy sequence
US9367955B2 (en) * 2012-11-26 2016-06-14 Nvidia Corporation System, method, and computer program product for tiled screen space sample scrambling for parallel deterministic consistent light transport simulation
GB2544931B (en) 2013-03-15 2017-10-18 Imagination Tech Ltd Rendering with point sampling and pre-computed light transport information
EP3057067B1 (de) * 2015-02-16 2017-08-23 Thomson Licensing Vorrichtung und verfahren zur schätzung eines glänzenden teils von strahlung
US9679398B2 (en) * 2015-10-19 2017-06-13 Chaos Software Ltd. Rendering images using color contribution values of render elements
AU2016409085B2 (en) * 2016-06-02 2020-05-21 Shell Internationale Research Maatschappij B.V. Method of processing a geospatial dataset
US11334762B1 (en) 2017-09-07 2022-05-17 Aurora Operations, Inc. Method for image analysis
US10235601B1 (en) * 2017-09-07 2019-03-19 7D Labs, Inc. Method for image analysis
US12412250B2 (en) * 2022-06-22 2025-09-09 Nvidia Corporation Rendering along a space-filling curve

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025400A (en) * 1985-06-19 1991-06-18 Pixar Pseudo-random point sampling techniques in computer graphics
US5239624A (en) * 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
US5613048A (en) * 1993-08-03 1997-03-18 Apple Computer, Inc. Three-dimensional image synthesis using view interpolation
US6058377A (en) * 1994-08-04 2000-05-02 The Trustees Of Columbia University In The City Of New York Portfolio structuring using low-discrepancy deterministic sequences
EP0780010A4 (de) * 1994-09-06 1997-11-12 Univ New York State Res Found Apparat und verfahren für die echtzeitvisualisierung von rauminhalten
KR100264633B1 (ko) * 1994-12-05 2000-09-01 포만 제프리 엘 준난수 생성 장치 및 방법, 및 함수 f의 다중 적분 계산 장치 및 방법
US5790442A (en) * 1995-03-14 1998-08-04 International Business Machines Corporation Method and apparatus for generating low-discrepancy sequence, as well as apparatus and method for calculating multiple integral of function f
US6529193B1 (en) * 1996-06-25 2003-03-04 Mental Images Gmbh & Co. Kg System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
US6028606A (en) * 1996-08-02 2000-02-22 The Board Of Trustees Of The Leland Stanford Junior University Camera simulation system

Also Published As

Publication number Publication date
WO1998059322A1 (en) 1998-12-30
US20070018978A1 (en) 2007-01-25
ATE236439T1 (de) 2003-04-15
CA2294995A1 (en) 1998-12-30
DE69812947D1 (de) 2003-05-08
US6529193B1 (en) 2003-03-04
US7760202B2 (en) 2010-07-20
JP4072209B2 (ja) 2008-04-09
CA2294995C (en) 2007-05-01
EP0992024B1 (de) 2003-04-02
US20090153558A1 (en) 2009-06-18
US20030095122A1 (en) 2003-05-22
AU7785798A (en) 1999-01-04
AU759796B2 (en) 2003-05-01
JP2002508096A (ja) 2002-03-12
US7479962B2 (en) 2009-01-20
EP0992024A1 (de) 2000-04-12
US7071938B2 (en) 2006-07-04

Similar Documents

Publication Publication Date Title
DE69812947T2 (de) System und verfahren zum erzeugen von bildelement-daten
DE60123962T2 (de) Erzeugen von pixelwerten unter verwendung streng deterministischer methoden zum erzeugen von abtast-punkten
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE69329049T2 (de) Methode zur Verarbeitung von Daten, die dreidimensionale graphische Objekte repräsentieren
DE60033250T2 (de) System und Verfahren zur Darstellung mit Strahlverfolgung
DE69713164T2 (de) Rechnersystem und verfahren zum definieren und herstellen von bildern unter benutzung von strukturierten objekten mit veränderlichen kantenkarakteristiken
Purgathofer A statistical method for adaptive stochastic sampling
US20090051688A1 (en) Generating images using ray tracing and ray tree generated using low-discrepancy sequences
US20090146996A1 (en) Image generation using low-discrepancy sequences
DE69331486T2 (de) Bilddatenverarbeitung
US20090122063A1 (en) Computer Graphics Methods and Systems Using Quasi-Monte Carlo Methodology
DE102011016347A1 (de) Hierarchisches Umgrenzen von verschobenen parametrischen Flächen
DE102016103854A1 (de) Graphikverarbeitung mit direktionalen Darstellungen der Beleuchtung an Sondenpositionen innerhalb einer Szene
DE69331419T2 (de) Bilddatenverarbeitung
DE602004012341T2 (de) Verfahren und System zur Bereitstellung einer Volumendarstellung eines dreidimensionalen Objektes
US20060146061A1 (en) Computer graphics system and computer-implemented method for generating images using multiple photon maps
JP4291395B2 (ja) 標本点を発生するための厳密に決定論的な方法を用いて画像中の画素の画素値を発生する装置及び方法
US12051150B2 (en) Computer implemented method and system for classifying an input image for new view synthesis in a 3D visual effect, and non-transitory computer readable storage medium
US20050275652A1 (en) Computer graphics system and computer-implemented method for simulating participating media using sample points determined using elements of a low-discrepancy sequence
Gibson et al. Photorealistic Augmented Reality.
DE102021111079B4 (de) Verfahren für ray-cone-tracing und texturfiltern
DE102017003941A1 (de) Beleuchtungsgeleitete, beispielbasierte Gestaltung von 3D-Bildaufbereitungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MENTAL IMAGES GMBH, 10623 BERLIN, DE