-
Die vorliegende Erfindung bezieht
sich auf eine Schaltungsanordnung zum Modifizieren pyramidaler Texturkoordinaten
für dreidimensionale
(3-D) graphische Applikationen, und auf eine Wiedergabeanordnung
mit oder betrieben von einer derartigen Schaltungsanordnung, insbesondere
aber nicht ausschließlich
einer stereoskopischen oder Mehrfachbildwiedergabeanordnung.
-
Ein Beispiel einer derartigen Schaltungsanordnung
und deren Verwendung in einer Einfachbildwiedergabeanordnung (nicht
stereoskopisch) ist in unserer Europäischeu Patentanmeldung EP-A-0
438 195 beschrieben worden, die eine Schaltungsanordnung schafft
zum Umwandeln pyramidaler Texturkoordinaten in entsprechende physikalische
Texturspeicheradressen in einer elektronischen Wiedergabeanordnung.
Die Schaltungsanordnung umfasst einen pyramidalen Koordinateneingang
zum Empfangen eines zweidimensionalen (2-D) Koordinatenpaares und
einer zugehörigen
Pegelkoordinate, zusammen mit Mitteln, um aus dem empfangenen Koordiriatenpaar
und der Pegelkoordinate eine entsprechende physikalische Texturspeicheradresse
zu erzeugen. Der Texturspeicher enthält eine pyramidale oder teilpyramidale
Anordnung von Texturelementwerten ("Textel"-Werten), die ein 2-D
Modulationsmuster darstellen (die Textur), das auf Oberflächenprimitiven abgebildet
werden soll, wobei jeder Pegel der Pyramide, der eine 2-D-Version
des Musters enthält,
zu einem anderen Auflösungspegel
gefiltert ist. Geeignete Filterverfahreu zur Erzeugung und Speicherung pyramidaler
Texturanordnungen sind in einer Veröffentlichung mit dem Titel:
"Pyramidal Parametrics" von Lance Williams, "Computer Graphics",
Heft 17, Nr. 3 (Juli 1983) Seiten 1 bis 11 beschrieben.
-
EP-A-0 438 195 bezieht sich auf eine
Anordnung zum Übersetzen
von Texturabbildungsadressierung zwecks einer effizienten Speicherung
von teilpyramidalen Anordnungen in einem linear adressierten (eindimensionalen)
Texturspeicher, wobei ein einfacher Offsetmechanismus die Möglichkeit
einer schnellen Indizierung zwischen entsprechenden Gebieten von
Abbildungen mit unterschiedlichen Auflösungen bietet.
-
Die meisten 3-D Graphiksysteme können neben
der Farbe und der Intensität
Hilfsinformation für jedes
Pixel in dem gerenderten Bild erzeugen, wie die Tiefe der näch sten Fläche, wobei
jedes Pixel verfügbar
von einem z-Puffer auftrifft. Wenn die Tiefeninformation für die nächste Fläche, auf
die jedes Pixel trifft, gegeben ist, ist es möglich, das gerenderte Bild durch
eine derartige Filterung zu verschwimmen, so dass der Verschwimmungsgrad
als eine Funktion der Differenz zwischen der Tiefe, assoziiert mit
dem Pixel und einem programmierten Tiefenwert, entsprechend einem
interessanten Punkt, zunimmt. Der Effekt ist eine Nachahmung von
dem was passiert im Kino, wenn eine Kamera auf einen interessanten
Punkt fokussiert und andere Teile der Szene unscharf werden. Aber
bei den bisherigen Systemen, wie dem aus EP-A-O 438 195 ist es erforderlich,
dass der Verschwinnungseffekt als weiterer Verfahrensschritt an dem
gerenderten und mit Textur versehenen Bild durchgeführt wird.
-
Deswegen ist es u. a. eine Aufgabe
der vorliegenden Erfindung, einen relativ einfachen Mechanismus
zu schaffen, der es ermöglicht,
dass beim Rendern und bei der Texturabbildung eines Bildes Fokus-/Defokuseffekte
einzuverleiben.
-
Nach einem ersten Aspekt der vorliegenden Erfindung
wird eine Schaltungsanordnung geschaffen zum Modifizieren pyramidaler
Texturkoordinaten für
dreidimensionale (3-D) Graphikapplikationen, wobei diese Schaltungsanordnung
die nachfolgenden Elemente umfasst: einen pyramidalen Koordinateneingang
zum Empfangen eines zweidimensionalen (2-D) Texturkoordinatenpaares
und einer assoziierten Pegelkoordinate; und Mittel zum Erzeugen
einer physikalischen Texturspeicheradresse, basiert auf das genannte
empfangene 2-D Texturkoordinatenpaar und die assoziierte Pegelkoordinate,
wobei die genannten Mittel dazu vorgesehen sind, einen Offset zu
der genannten assoziierten Pegelkoordinate zu erzeugen, und die
genannte physikalische Texturspeicheradresse aus dem empfangenen
Koordinatenpaar und der Summe der assoziierten Pegelkoordinate und
des dazu erzeugten Offsets zu erzeugen; dadurch gekennzeichnet,
dass die genannte Schaltungsanordnung weiterhin einen Eingang aufweist zum
Empfangen eines Brennweitenwertes, und dass die genannten Mittel,
die dazu vorgesehen sind, eine physikalische Texturspeicheradresse
zu erzeugen, vorgesehen sind, den genannten Offset zu erzeugen, der
eine Größe hat,
die durch den empfangenen Brennweitenwert bestimmt wird.
-
Diese Anordnung kann in Geräten verwendet
werden zum Erzeugen von Bildern, die an einer herkömmlichen
Wiedergabeanordnung, wie einem Monitor oder einem Projektionssystem
wiedergegeben werden sollen, ist aber von besonderer Bedeutung für stereoskopische
Wiedergabeanordnungen, wie autostereoskopische Schirme oder Virtu al
Reality-Kopfgarnituren, wobei der Stereoeffekt durch die Depth Cueing
(Tiefenwahrnehmung) verstärkt
wird, hervorgerufen durch Defokussierung der Textur.
-
In der Schaltungsanordnung wird der
Offset auf geeignete Weise per Pixel eines Bildes erzeugt und der
Brennweitenwert spezifiziert folglich eine relative Tiefendifferenz
zwischen einem Tiefenwert für das
Bild und einem Tiefenwert für
jedes Pixel. Es kann eine Begrenzungsstufe vorgesehen sein, die mit
dem Texturspeicheradressengenerator gekoppelt ist, wobei der Begrenzer
die genannte Summe der assoziierten Pegelkoordinate und des erzeugten
Offsets dazu innerhalb einer vorbestimmten Bereichs von Werten beibehält.
-
Nach einem weiteren Aspekt der vorliegenden
Erfindung wird eine Wiedergabeanordnung geschaffen mit einem Gastgeberprozessor
mit einem assoziierten Hauptspeicher zur Speicherung von Objekt
primitiven Daten und Texturdefinitionen und mit einem ersten Wiedergabeprozessor
mit einem assoziierten Wiedergabespeicher und Texturspeicher, wobei
der Gastgeberprozessor die nachfolgenden Elemente umfasst: Mittel
zur Speicherung in dem Texturspeicher wenigstens einer pyramidalen
oder teilpyramidalen Anordnung von Texelwerten mit einer Anzahl zweidimensionaler
Anordnungen von Texelwerten, die ein bestimmtes 2-D Modulationsmuster
auf wenigstens zwei Auflösungspegeln
darstellen, definiert durch betreffende Werte einer Pegelkoordinate,
und Mittel zum Liefern von Objekt primitiven Daten zu dem ersten
Wiedergabeprozessor, einschließlich
einer Angabe, dass ein Modulationsmuster der Objekt Primitiven zugeführt werden
soll, und zwar entsprechend Texelwerten, die in der pyramidalen
Anordnung in dem Texturspeicher gespeichert sind, wobei der erste
Wiedergabeprozessor die nachfolgenden Elemente umfasst: Mittel zum
aus den Objekt primitiven Daten Erzeugen einer Reihe von Pixeladressen zur
Zuführung
zu dem Wiedergabespeicher und einer entsprechenden Reihe 2-D Texturkoordinatenpaare,
mit je einer assoziierten Pegelkoordinate, zum Effektuieren einer
Darstellung des gespeicherten Modulatiortsmusters auf dem Objekt
Primitiven auf einem Auflösungspegel
oder auf Auflösungspegeln, definiert
durch die assoziierte Pegelkoordinate; und Mittel zum Erzeugen eines
Offsets zu jeder genannten assoziierten Pegelkoordinate und zum
Erzeugen der genannten Texturspeicheradressen aus dem empfangenen
Koordinatenpaar und der Summe der assoziierten Pegelkoordinate und
des dazu erzeugten Offsets, dadurch gekennzeichnet, dass der Wiedergabeprozessor
weiterhin einen Eingang aufweist zum Empfangen eines Brennweitenwertes
und wobei die genannten Mittel, welche die ge nannten Offsets erzeugen,
vorgesehen sind zum Erzeugen der genannten Offsets mit einer betreffenden
Größe, bestimmt
durch den empfangenen Brennweitenwert.
-
Die Wiedergabeanordnung kann weiterhin einen
zweiten Wiedergabeprozessor mit einem assoziierten Wiedergabespeicher
aufweisen, wobei der zweite Wiedergabeprozessor die genannten Objekt primitiven
Daten von dem Gastgeber-Prozessor empfängt und Mittel aufweist zum
Zuführen
wenigstens eines Offsets eines horizontalen und einer vertikalen
Offsets zu den empfangenen Objekt primitiven Daten, mit Mitteln
um aus den versetzten primitiven Daten eine Reihe von Pixeladressen
zu erzeugen zum Zuführen
zu dem Wiedergabespeicher. Durch Zuführung des Offsets kann das
zweite Bild eines stereoskopischen Paares vorgesehen werden. Wo vorgesehehen,
kann der zweite Wiedergabeprozessor einen assoziierten Texturspeicher
aufweisen, entsprechend dem des oben genannten ersten Wiedergabeprozessors,
zusammen mit einem betreffenden Eingang zum Empfangen des Brennweitenwertes und
Mittel zum Erzeugen der genannten Offsets. Je nach der Anwendung
der Wiedergabeanordnung können
vom Benutzer betätigbare
Eingabemittel vorgesehen sein, die mit dem Gastgeberprozessor gekoppelt
sind, wobei der Prozessor den Brennweitenwerte in Abhängigkeit
von Signalen von den Eingabemitteln erzeugt und variiert, und den
Brennweitenwert zu dem oder jedem Wiedergabeprozessor ausliefert.
-
Nach wieder einem anderen Aspekt
der vorliegenden Erfindung wird eine Multiview-Wiedergabeanordnung
mit einer Anzahl Wiedergabeanordnungen wie oben beschrieben, geschaffen,
deren Wiedergabespeicher Bilder zu betreffenden Teilen einer Perlleinwand
liefern. Die zentralen Bilder der horizontal verlagerten Reihen
von Gesichtspunkten, geliefert von dem Schirm werden von den oben
beschriebenen ersten Wiedergabeprozessoren betrieben und die Außenbilder
werden von den betreffenden Prozessoren der zweiten Wiedergabeprozessoren
betrieben. Mit anderen Worten die zentralen Bilder werden je von
einer betreffenden Renderingstufe erzeugt, während diejenigen in Richtung
des Randes von niedrigerer Qualität sind, und mit Nachverarbeitungstechniken
erzeugt werden.
-
Ausführungsbeispiele der Erfindung
sind in der Zeichnung dargestellt und werden im vorliegenden Fall
näher beschrieben.
Es zeigen:
-
1 ein
Blockschaltbild einer Wiedergabeanordnung mit Texturabbildungshardware
nach der vorliegenden Erfindung,
-
2 eine
schematische Darstellung der Tiefenwertschaltungsanordnung der Abbildungshardware
nach 1,
-
3 verschiedene
Tiefelwertcharakteristiken, die von der Schaltungsanordnung nach 2 angewandt werden können, und
-
4 eine
schematische Darstellung einer Multiview-Wiedergabeanordnung, die
auf geeignete Weise die vorliegende Erfindung anwenden kann.
-
Anfangend mit der Anwendung der vorliegenden
Erfindung bei der Erzeu gung eines herkömmlichen (d. h. nicht stereoskopischen)
Bildes ist 1 ein Blockschaltbild
einer Wiedergabeanordnung mit Taxturabbildungshardware. Ein Tastenfeld 10 und
eine Rollkugel-Eingabeeinrichtung 12 schaffen Eingaben
von einem Benutzer zu einer zentralen Verarbeitungseinheit (CPU) 14.
Die Rollkugel kann zum Entwerfen von 3-D-Objekten benutzt werden, die von dem
System auf bekannte Art und Weise manipuliert werden sollen. Es
können
auch andere Eingabeeinrichtungen verwendet werden, wie ein Joystick,
eine Digitalisierungstafel oder eine Maus. Objekte und auch photographische
Bilder, die durch Texturabbildung auf Flächen von Objekten angebracht
werden sollen, können
auch eingegeben werden, und zwar von einer Videoquelle, wie einer
Kamera 16.
-
Die CPU 14 ist über einen
Bus 18 mit einem Plattenspeicher 20, einem ROM 22 und
einem Hauptspeicher (MRAM) 24 verbunden. Der Plattenspeicher,
der magnetische Floppys, Festplatten und/oder optische Speicherplatten
umfassen kann, wird verwendet zur Speicherung von Daten (beispielsweise
Bildern oder 3-D Modelldaten), die dann zum Erzeugen gewünschtenfalls
wieder aufgerufen und manipuliert werden können. Solche Daten können die
Arbeit des Benutzers aus vorhergehenden Eingabesessionen und/oder
kommerziell erzeugte Daten enthalten, beispielsweise zur Verwendung
in interaktiven computer-unterstützten
Entwurfs- oder Computersimulationen für Unterrichtszwecke oder zur
Unterhaltung. Zum Ermöglichen
einer Modellierung von 3-D-Objekten werden solche Daten im Allgemeinen
als Polygonalmodelldaten statt in Form zweidimensionaler Bilder
gespeichert. In dem Fall entsprechen die Daten einem 3-D-Modell
mit Objekten, die typischerweise zu Gruppen polygonaler Flächen (Primitiven)
in einem 3-D-"Objekt"-Raum
zerlegt sind. Die Daten für
jedes Objekt in dem Modell enthalten eine Liste, welche die Position
und die Art jedes Polygons gibt, die das Objekt bilden, einschließlich der
relativen Lagen der Scheitelpunkte und der Farbe oder der Transparenz
der polygonalen Fläche.
Bei anderen Systemen können
Primitiven gekrümmte
Flächengebiete
enthalten, wie dies aus der Kunst bekannt ist. Es ist bekannt, dass
eine Textur zur Abbildung auf der Fläche spezifiziert werden kann,
so dass Einzelheiten dargestellt werden können ohne dass die Anzahl Primitiven,
welche die Szene machen, erhöht
wird. Eine Texturabbildung ist eine gespeicherte 2-D-Anordnung von
Texturelementwerten (Texel). Die ein 2-D-Modulationsmuster definieren, das beispielsweise
die Farbe der Pixel definieren kann (auf eine Art und Weise, die
nachstehend noch näher
beschrieben wird), oder sie können andere
Quantitäten,
wie Reflexionsvermögen
oder die normale Richtung der Fläche
modulieren. Diese Texturabbildungen können auch in dem Plattenspeicher 20 gespeichert
werden und erforderlichenfalls wieder aufgerufen werden.
-
Die CPU 14 und die anderen
Elemente des Systems übersetzen
danach die 3-D-Modell-"Welt" in dem Ojektraum in ein erstes zweidimensionales
Bild für
den benutzer (in dem "Zuschauer"-Raum), aus einem ersten Gesichtspunkt,
der durch die Applikation bestimmt werden kann oder durch einen
Benutzer gesteuert werden kann. Wie nachher noch näher beschrieben
wird, kann zusätzlich
noch ein weiteres Bild durch Nachbearbeitung erzeugt werden, wobei das
erste und das zweite Bild ein Stereo-Paar bilden zur Wiedergabe
an einem autostereoskopischen Wiedergabeschirm oder an einer Kopfgarnitur
vom VR-Typ.
-
Die Übersetzung wird mit Hilfe geometrischer
Transformationen effektuiert werden, die Translationen, Rotationen
und perspektivische Projektionen herbeiführen, im Allgemeinen mit Hilfe
von Matrixmultiplikation von Scheitelpunktkoordinaten, und die CPU 14 kann
ebenfalls Beschneidungs- und Beleuchtungsberechnungen auf einer
Per-Primitiv- oder
Per-Scheitelpunkt-Basis durchführen.
Der ROM 22 und der MRAM 24 liefern einen Programmspeicher
und Arbeitsraum für
die CPU 14, und spezielle Hardware 26 kann vorgesehen
werden um der CPU 14 zu helfen bei der Durchführung der
Vielzahl von Rechenvorgängen,
erforderlich um alle außer
den einfachsten Modellen in eine zweidimensionale Szene umzuwandeln.
Die Hardware 26 kann Standard-Rechenschaltungen enthalten
oder sie kann kräftigere
spezielle oder programmierbare digitale Signalverarbeitungs-ICs
enthalten und kann über
den Bus 18 mit der CPU 14 verbunden sein. Die
Art der Hardware 26 wird abhängig sein von den Anforderungen
des Systems, beispielsweise in Bezug auf Geschwindigkeit, Auflösung, Anzahl
Primitiven je Szene usw.
-
Eine Wiedergabeverarbeitungseinheit
(DPU) 28 ist zwischen Ausgängen der CPU 14 (über den Bus 18)
und Eingängen
eines Wiedergabespeichers (VRAM) 30 vorge sehen. Der Wiedergabespeicher 30 speichert
Pixeldaten COL in Rasterabtastformat. Die Pixeldaten COL können typischerweise
für jedes
Pixel drei 8-Bit Werte (insgesamt 24 Bits) enthalten, entsprechend
dem roten (R), grünen
(G) und blauen (B) Anteil des gewünschten Bildes. Es dürfte dem Fachmann
einleuchten, dass bei anderen Ausführungsformen weniger oder mehr
Bits vorgesehen sein können,
oder dass die Bild die Farbe in Termen verschiedener Anteilen definieren
können
(beispielsweise YUV).
-
In der DPU 28 werden die
Primitiven "abtast-umgewandelt", so dass sie in den Wiedergabespeicher 30 hinein
gezogen werden können.
Abtastumwandlung ist ein Prozess, wobei die Pixel, die von jedem
Primitiv bedeckt sind, reihenweise und pixelweise geschrieben werden,
und zwar auf dieselbe Art und Weise, so dass das komplette Bild
zur Ausgabe zu der Wiedergabeanordnung abgetastet werden wird.
-
Eine Zeitgebereinheit (Videocontroller) 32 erzeugt
Leseadresssignale XD und YD zum Adressieren der
Pixeldaten innerhalb des VRAMs 30 synchron zu der Bildabtastung
eines Wiedergabeschirms 34. In Reaktion auf diese Adresssignale
werden die Stellen in dem VRAM 30 reihenweise und spaltenweise
abgetastet um Farbwerte COLD auszulesen, die einem Digital-Analogwandler 36 zugeführt werden.
Wenn ein Nicht-RGB-Farbcode
benutzt wird, kann eine Matrixschaltung oder eine Farb-Nachschlagtabelle
vorgesehen werden zum Übersetzen der
Pixeldaten COLD in das gleichwertige RGB-Signal, und zwar zum Zuführen zu
dem Wiedergabeschirm 34, der beispielsweise der Wiedergabeschirm einer
Elektronenstrahlröhre
sein kann, und der ebenfalls Zeitgebersignale (SYNC) von der Zeitgebereinheit 32 empfängt. Es
dürfte
einleuchten, dass die Form und/oder die Wirkung von Elementen 30, 32, 36 für verschiedene
Wiedergabeanordnungen variieren kann, beispielsweise LCD-Schirme.
-
Zum Zeichnen oder "Rendern" eines
Primitivs sorgt die CPU 14 (oder die spezielle Hardware) dafür, dass
Register innerhalb der DPU 28 geladen werden, über den
Bus 18, und zwar mit Werten, die ein einziges Primitiv
definieren (beispielsweise in termen von Scheitelpunktkoordinaten,
Flankensteilheit usw.) und dessen jeweiligen Attribute – Farbe,
Reflexionsvermögen
usw. Die DPU 28 erzeugt dann Pixelkoordinaten (X und Y)
zum systematischen Abtasten des ganzen Gebietes, das durch das Primitiv
bedeckt ist. Die Pixelkoordinaten X und Y werden
als Schreibadressen dem VRAM 30 zugeführt, so dass ein Pixelwert
COL in den VRAM 30 für
jedes Pixel eingeschrieben werden kann.
-
Die Pixelwerte COL werden derart
erzeugt, dass eine Basisilächenfarbe
des Primitivs moduliert wird um Attribute einer Fläche eines
Objektes realistisch zu berücksichtigen
(beispielsweise Transparenz, diffuses Reflexionsvermögen, Spiegelreflexionsvermögen) und
der 3-D-Umgebung (beispielsweise Stellen und Formen von Lichtquellen).
Etwas von dieser Modulation kann methematisch aus Parametern erzeugt
werden, die mit den Primitivdaten geladen sind, beispielsweise zum
Erzeugen geschmeidig variierender Schattierung zur Simulation einer
gebogenen Fläche.
Um aber eine detailliertere Modulation zu schaffen und um die Einführung von
Tiefenmarkierung zu dem Bild zu erleichtern ist Abbildungshardware
vorgesehen zum Liefern von Modulationswerten MOD auf Basis eines
vorbestimmten Musters, das vorher in einem Texturspeicher 41 gespeichert worden
ist.
-
Dazu erzeugt die DPU 28 ein
Paar Texturkoordinaten U und V gleichzeitig mit jedem Paar Pixelkoordinaten
X und Y (Wiedergabe), so dass das Modulationsmuster auf der Primitivfläche abgebildet wird,
wobei geometrische Transformationen (i) von dem Texturraum in den
Objektraum (ii) von Objektraum in Zuschauerraum (Wiedergabe) implementiert werden.
-
Die Texturkoordinaten U und V werden
innerhalb der Abbildungshardware auf eine nachstehend noch näher zu beschreibende
Art und Weise verarbeitet und dem Texturspeicher 41 zugeführt, so
dass ein Modulationswert MOD für
jede Pixelstelle X, Y, die adressiert wird, verfügbar ist. Der Wert MOD umfasst
meistens einen Farbwert und im Grunde könnte dieser unmittelbar den
Pixelwert COL bilden und unmittelbar in den Wiedergabespeicher (VRAM) 30 eingeführt werden,
wie durch die punktierte Datenstrecke 42 angegeben. Meistens
aber, sogar wenn die Werte MOD Farbwerte sind, werden sie innerhalb
der DPU 28 modifiziert um realistische Beleuchtungseffekte
zu ermöglichen.
In einem allgemeineren Fall werden die Modulationswerte MOD innerhalb
der DPU 28 benutzt, zusammen mit anderen Parametern um
die Pixelwerte COL weniger direkt zu modifizieren.
-
Die in dem Texturspeicher 41 dargestellten Texel
werden im Allgemeinen nicht auf einer Eins-zu-Eins-Basis den Pixeln
der Wiedergabeanordnung entsprechen und insbesondere, wenn das Primitiv
in dem Abstand dargestellt wird und die Textur folglich auf einer
sehr kleinen Anzahl Pixel abgebildet wird, ist eine zweidimensionale
räumliche
Filterung erforderlich um die Aliasing-Effekte zu vermeiden, die
auftreten würden,
wenn einfache Unterabtastung angewandt werden würde.
-
Es ist bekannt, dass ein verallgemeinertes Filter
nicht auf wirtschaftliche Weise in einem Gerät angewandt werden kann, wo
Echtzeit-Bewegtbilder synthetisiert werden sollen und die oben genannte Bezugsliteratur
von Williams beschreibt die herkömmliche
Lösung
dazu, die daraus besteht, dass mehrere 2-D Anordnungen (nachstehend
als "Abbildungen" bezeichnet) für
ein bestimmtes Muster gespeichert werden, die je aufeinander folgend
kleiner sind und zu einer aufeinander folgend niedrigeren Auflösung vorgefiltert
sind. Die DPU 28 braucht dann nur eine Pegelkoordinate
L zu erzeugen um die richtige zu verwendende Abbildung zu bestimmen. Zwecks
einer gedrängten
Speicherung und zwecks eines Hochgeschwindigkeitszugriffs auf die
Texelwerte können
die Abbildungen quadratisch gewählt werden
mit Zweierpontenz-Abmessungen und in einem quadratischen Texturspeicher
gespeichert werden, und zwar entsprechend der von Williams beschriebenen
"multum in parvo"-Technik ("MIP-Abbildung").
-
1 zeigt
innerhalb des Texturspeichers 41 die Farbanteile R, G und
B einer Texturpyramide, gespeichert als eine MIP-Abbildung. Die
größte Abbildung
(mit der höchsten
Auflösung)
(L = 0) kann beispielsweise 512 × 512 Texel enthalten, wobei
die L 1 Abbildungen 256 × 256
Texel enthält
usw. herunter bis L = 9, wobei jede Abbildung ein einziges Texel wird.
Wenn nun beispielsweise vorausgesetzt wird, dass jeder Texelwert
einen 8-Bit-Wert für
jede der R-, G- und B-Farbanteile enthält, ist die Größe des ganzen
Texturspeichers 41 folglich 1 Mbyte.
-
Die Texelwerte werden in dem Speicher 41 vor
der Rendering durch die CPU 14 über den Bus 18 und
einen Schreibport 43 des Speichers 41 gespeichert.
Für jeden
auszulesenden Texelwert erzeugt die DPU 28 ein 2-D-Koordinatenpaar,
wobei jede Koordinate (U und V) wenigstens einen
ganzen Teil 9 von 9 Bit in der Länge
umfasst. Gleichzeitig wird die Pegelkoordinate L von der DPU 28 erzeugt
und durch eine Schaltungsanordnung 40 einer Modifikation ausgesetzt,
und wird verwendet zum Erzeugen physikalischer Koordinaten U' und V' aus
den "vituellen" Koordinaten U und V zur Zuführung zu
den Ausleseadressporten 44 bzw. 45 des Texturspeichers 41.
In Reaktion auf jedes physikalische Koordinatenpaar U', V' gibt
der Speicher 41 die R-, G- und B-Anteile eines adressierten
Texels über
einen (24 Bit) Leseport 46 frei.
-
Wegen der zweidimensionalen binären Baumgliederung
der MIP-Abbildungen
in dem Speicher 41 können
die erforderlichen physikalischen Koordinaten U' und V' einfach
durch ein Paar binärer Schiebeschaltungen 47 bzw. 48 erzeugt
werden, die je eine Schiebung nach rechts der betreffenden Koordinate
um eine Anzahl Stellen, definiert durch die Pegelkoordinate L durchführen. Insbesondere,
wenn L = 0 den höchsten
Pegel darstellt, kann die Adresse, die einem bestimmten Texel in
der Abbildung Pegel 0 entspricht, in die physikalische Adresse des
entsprechenden Texels in der Abbildung Pegel L umgewandelt
werden, kann durch Rechtsverschiebung der U- und V-Koordinaten
um L Stellen auf effektive Weise gefunden werden, wodurch
jede Koordinate um 2L herunterskaliert wird. Die nicht modifizierte
Pegelkoordinate L kann der DPU 28 zugeführt werden,
und zwar als Teil der primitiven Daten, aber wenn Perspektive bei
der Abbildung berücksichtigt
werden soll, wird die Pegelkoordinate L wahrscheinlich innerhalb der
DPU auf Per-Pixel-Basis
erzeugt werden.
-
Die Schaltungsanordnung 40 ist
in 1 als separate Einheit
dargestellt, die mit der DPU 28 gekoppelt ist, obschon,
wie es einleuchten dürfte,
ihre Funktionen auch in Software innerhalb der DPU durchgeführt werden
können.
Wie in 2 schematisch
dargestellt, die Schaltungsanordnung 40 Eingänge für die nicht
modifizierte Pegelkoordinate L, eine Fokussierungstiefe F und
eine Pixeltiefe z. Die Fokussierungstiefe F spezifiziert
diese Tiefe innerhalb des 2-D Wiedergabebildes, worauf der Zuschauer
fokussiert. Der Wert von F kann fest sein, oder er kann unter Ansteuerung
der Applikation variieren oder in Reaktion auf Eingabe durch den
Benutzer variieren, wie für
die betreffende Applikation erforderlich. Die Pixeltiefe wird für jedes
Pixel in dem wiedergegebenen Bild zugeführt, und zwar synchron zu den
erzeugten Wiedergabekoordinaten X und Y und wird
durch die DPU 28 während
der Übersetzung des
3-D-Weltmodells in das 2-D-Wiedergabebild erzeugt.
-
Eine Rechenstufe 60 erzeugt
einen Ausgangswert F6 als eine Funktion der Trennung zwischen der
Pixeltiefe und der Fokustiefe, wobei dieser Wert zu der nicht modifizierten
Pegelkoordinate L an der Summierschaltung 62 addiert
wird zum Erzeugen eines modifizierten Pegels L'. Die Begrenzerstufe 64 ist
auf geeignete Art und Weise an dein Ausgang der Summierschaltung
angeordnet um zu gewährleisten, dass
die modifizierte Koordinate L' innerhalb des Bereichs von
Pegeln liegt, unterstützt
durch den Texturspeicher 41. Die bestimmte Funktion, durchgeführt durch
die Rechenschaltung 60 kann abhängig von der gewünschten
Tiefenmierkcharakteristik variieren, wie durch die Beispiele A,
B und C in der Graphik von FS gegenüber Trennung (F-z) in 3 dargestellt. Das gemeinsame
Merkmal ist, dass für
Pixeltiefen auf der Fokussierteife F oder nahe daran der Wert von
FS Null ist, so dass L' = L ist und diese Pixel eine "geeignete"
Texturauflösung
haben, während
die Textur auf anderen Tiefen verschwommen wird.
-
Wo die Abbildungshardware (nicht
dargestellte) Interpolatoren zum Erzeugen von Texturwerten durch
Interpolation zwischen zwei Abbildungspegelen der pyramidenförmigen Datenstruktur
umfasst, können
nicht ganze Werte von L' erlaubt sein, wie durch Beispiele
A und B dargestellt (die ebenfalls den Effekt der Begrenzerstufe 64 zeigen,
wenn der maximale Wert von L für
den Texturspeicher erreicht wird). Wo nur ganze Werte von L (und
folglich L') unterstützt
werden, wird FS auf gleiche Weise begrenzt auf einen ganzen Wert,
wie beispielsweise durch C dargestellt.
-
Wie bereits oben erwähnt, ist,
während
die vorliegende Erfindung anwendbar ist zum Erzeugen herkömmlicher
(nicht stereoskopischer) Bilder, sie von besonderem Vorteil für stereoskopische
Applikationen, wobei der Stereoeffekt durch die Tiefenmarkierung
verstärkt
wird. Stereoskopie in 3-D-Graphik bezieht sich auf Techniken zum
Liefern verschiedener aber korrelierter Bilder zu dem linken und
rechten Auge, um die Erfahrung von Tiefe zu stimulieren.
-
Es wird akzeptiert, dass Betreibung
der zwei Kanäle
einer stereoskopischen Wiedergabeanordnung aus zwei 3-D-Graphikrenderern,
einen je Augengesichtspunkt (je wie in 1) im Grunde besser ist als der Versuch,
zwei Bilder zu synthetisieren, und zwar unter Verwendung eines einzigen
3-D-Graphikrenderers. Vorteile sind in Bezug aus Bildqualität und eventuell
zur Vermeidung von Müdigkeits-
und Übelkeits-bezogene
Nebeneffekten, wo gegenüber
die Kosten der Doppelausführung
der Renderer steht. In der preisgünstigeren Technik der synthetischen
Stereoskop e kann ein Bild für
das linke Auge gerendert werden und das für das rechte Auge kann durch Nachverarbeitung
synthetisiert werden. Gegeben, dass die Nachverarbeitung relativ
einfach ist, sind die ansteigenden Kosten kleiner als das Anordnen
eines zweiten 3-D-Graphikrenderers.
-
Eine geeignete stereoskopische Applikation für die vorliegende
Erfindung ist in 4 dargestellt, wo
ein Vierbilderschirm 70 vorgesehen ist der Schirm ist eine
LCD-Anordnung 72 mit einem darüber liegenden Pelleinwand 74,
wobei die Anordnung von Pixeln, die aus vier verschiedenen Quelle 76–79 gegenüber den
einzelnen Perlleinwandanordnungen betrieben werden, derart ist,
dass an den Zuschaustellen V1 bis V4 die Bilder der betreffenden
vier Quellen 76–79 gesehen
werden können.
Eine Vierbildwiedergabeanordnung dieser Art ist beschrieben worden
in der Veröffentlichung
mit dem Titel: "Multiview 3D-LCD" von Cees van Berkel u. a., präsentiert bei
der "IS&T/SPIE
International Conference on Electronic Imaging" San Jose, 27/1–2/2 1996.
-
Es wird erwartet, dass die Hauptzuschauer einer
derartigen Multiview-Wiedergabeanordnung sich
in der Mitte der Wiedergabeanordnung befindet, wie dargestellt,
typischerweise in einer interaktiven Rolle; und als solcher nur
ein stereoskopisches Bild sieht, geliefert von den zwei zentralen
Bildern. Andere Zuschauer, typischerweise in einer passiven Rolle, können sich
außerhalb
der Mitte befinden. Zum Erzielen einer optimalen Kombination von
Qualität
und Kosten sind die Bildquellen 77, 78 für die zwei
zentralen Bilder V2 und V3 3-D-Graphikrenderer, wie in 1 und die zwei anderen Bilder, die Bildquellen 76, 79,
sind bloß Nachbearbeitungsstufen,
die mit den betreffenden Renderern der Renderer 77, 78 gekoppelt
sind und durch synthetisches Stereo Bilder erzeugen. Auf diese Weise
hat der Hauptzuschauer den besten Platz, während die Zuschauer an der
Seite eine gewisse Degradation erfahren. Wo mehr als vier Bilder
von der Wiedergabeanordnung unterstützt werden, kann die Anordnung
mit einem Hybrid von einigen 3-D-Graphikrenderen
und einigen synthetischen Stereoprozessoren ausgebaut werden, die solche
Multiple-View-Wiedergabeanordnungen auf eine kosteneffektive aber
hochqualitative Weise betreiben, so dass in Richtung der zentralen
Zuschauposition oder an vorbestimmten Haupt-Zuschaupositionen eine
höhere
Qualität
verfügbar
ist.
-
Zusammenfassend haben wir eine Schaltungsanordnung
und eine Wiedergabeanordnung zur Verwendung in dem 3-D-Graphikbereich
beschrieben, wobei 2-D-Texturabbildungen
gespeichert mit verschiedenen Auflösungen in einer Pyramidalen
Anordnung durch ein Paar Texturkoordinaten und eine zugeordnete
Pegelkoordinate indiziert werden. Um Tiefenmarkierungen zu dem 2-D-transformierten
Bild der 3-D-Umgebung einzuführen
wird eine Fokussiertiefe für
das Bild spezifiziert und diejenigen Bildelemente mit einer Tiefe
anders als die Fokussiertiefe haben eine verschwommene Textur um
das Auge des Zuschauers auf die interessante Tiefe zu lenken. Die
verschwommene Tiefe wird durch Anwendung eines Offsets auf die Pegelkoordinate,
welche die pyramidale Anordnung in einem Umfang angibt, der durch den
Abstand von der Fokussiertiefe bestimmt wird.
-
Aus der Lektüre der vorliegenden Beschreibung
dürften
dem Fachmann andere Abwandlungen einfallen. Solche Abwandlungen
können
andere Merkmale betreffen, die im Bereich der autostereoskopischen
Wiedergabeanordnung und der zusammenstellen den Teile davon bereits
bekannt und statt der oder zusätzlich
zu den hier bereits beschriebenen Merkmalen verwendbar sind. Obschon
Patentansprüche
in dieser Patentanmeldung für
bestimmte Kombinationen von Merkmalen formuliert worden sind, dürfte es
einleuchten, dass der Rahmen der Beschreibung der vorliegenden Erfindung
auch neue Merkmale oder eine neue Kombination von Merkmalen umfasst,
die hier explizit oder implizit beschrieben worden sind oder eine
Verallgemeinerung, ob diese sich auf dieselbe Erfindung bezieht
wie an dieser Stelle in einem der Patentansprüche beansprucht oder nicht
und ob hierdurch dieselben technischen Probleme gelöst werden
oder nicht wie bei der vorliegenden Erfindung. Es sei an dieser
Stelle von der Anmelderin bemerkt, dass neue Ansprüche für solche Merkmale
und/oder Kombinationen solcher Merkmale während der Fortsetzung der vorliegenden
Erfindung oder einer davon hergeleiteten Anmeldung formuliert werden
können.