DE10125075A1 - Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen - Google Patents
Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality AnwendungenInfo
- Publication number
- DE10125075A1 DE10125075A1 DE10125075A DE10125075A DE10125075A1 DE 10125075 A1 DE10125075 A1 DE 10125075A1 DE 10125075 A DE10125075 A DE 10125075A DE 10125075 A DE10125075 A DE 10125075A DE 10125075 A1 DE10125075 A1 DE 10125075A1
- Authority
- DE
- Germany
- Prior art keywords
- computer
- view
- views
- sensor data
- image memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/296—Synchronisation thereof; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/286—Image signal generators having separate monoscopic and stereoscopic modes
- H04N13/289—Switching between monoscopic and stereoscopic modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/337—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using polarisation multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/341—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using temporal multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/363—Image reproducers using image projection screens
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Graphiksystem für Anwendungen der virtuellen Realität zur Erzeugung und Darstellung einer Vielzahl von Ansichten, die gemeinsam einen Szenegraphen darstellen, mit einem Sensor zur Erfassung von Positionen, Orientierungen und/oder Bewegungen und Erzeugung von Sensordaten, einer Ausgabevorrichtung zur Darstellung der Vielzahl von Ansichten, einem ersten Computer und einem weiteren Computer, zur Erzeugung jeweils einer Ansicht, die diesem zugeordnet ist, einer ersten Übertragungsvorrichtung zur Übertragung der Sensordaten von dem Sensor zu dem ersten Computer einer zweiten Übertragungsvorrichtung zur Übertragung der Sensordaten von dem ersten Computer zu jedem weiteren Computer, wobei jeder Computer mit den empfangenen Sensordaten den Szenegraphen simuliert und hieraus anschließend die ihm zugeordnete Ansicht erzeugt, sowie einer dritten Übertragungsvorrichtung zur Übertragung der erzeugten Ansichten aus jedem Computer zu der Ausgabevorrichtung.
Description
Die vorliegende Erfindung bezieht sich auf ein Gra
phiksystem für Anwendungen der virtuellen Realität,
wie beispielsweise immersive Systeme (VR-Systeme).
Immersive Systeme (VR-Systeme) bilden eine intuitive
Mensch-Maschine-Schnittstelle für die verschiedensten
Anwendungsbereiche. Durch die maßstäbliche Darstel
lung dreidimensionaler Daten und die ebenfalls drei
dimensionale Interaktion können dreidimensionale Da
ten weitaus besser beurteilt und erlebt werden, als
es mit klassischen Visualisierungs- und Interaktions
techniken (2D-Monitor und grafische Benutzungsober
fläche) möglich ist. Im Produkt-Entstehungsprozeß
können damit viele reale Modelle und Prototypen durch
virtuelle Prototypen ersetzt werden. Das gleiche gilt
für Planungsaufgaben im Architekturbereich.
Auch Funktionsprototypen lassen sich in immersiven
Umgebungen wesentlich realistischer evaluieren, als
es am Desktop möglich ist.
Zentrales Element immersiver Systeme ist die getrack
te, stereoskopische Darstellung der dreidimensionalen
Daten. Die Perspektive der Darstellung ist dabei vom
Betrachter-Standpunkt bzw. von der Kopfposition ab
hängig. Die Kopfposition wird dazu über ein dreidi
mensionales Positionsmeßsystem kontinuierlich gemes
sen und die Geometrie der Sichtvolumina für beide Au
gen entsprechend dieser Positionswerte angepaßt. Für
jedes Auge wird ein separates Bild aus der jeweiligen
Perspektive berechnet; der Unterschied (Disparität)
bewirkt die stereoskopische Tiefenwahrnehmung.
Die jeweils dargestellten Bilder werden in Echtzeit
berechnet. Im Hauptspeicher des bildgenerierenden Sy
stems befinden sich nur die dreidimensionalen Geome
trieinformationen und Attribute (Oberflächeneigen
schaften, Texturen). Typischerweise handelt es sich
dabei um eine hierarchische Datenstruktur, die als
Szenegraph bezeichnet wird.
Als Ausgabegeräte kommen überwiegend stereoskopische
Projektionssysteme zum Einsatz; diese haben Head
Mounted Displays ("Datenhelme") weitgehend abgelöst.
Stereoskopische Projektionssysteme können aus einer
oder mehreren Projektionsflächen in unterschiedlichen
Anordnungen bestehen. Eine verbreitete Konfiguration
ist die CAVE, eine würfelförmige Anordnung von drei
bis sechs Rückprojektionsflächen, die die Benutzer
umgeben. Zur Separation der beiden Augenbilder sind
bei Stereoprojektionssystemen zwei Verfahren ge
bräuchlich:
- - zeitsequentielle Darstellung der beiden Augen bilder. Zur Trennung wird eine sogenannte Shut terbrille verwendet, die synchron zum Videosi gnal jeweils ein Auge abdunkelt. Für diese, auch aktiv genannte Technik sind Röhrenprojektoren erforderlich; stereofähige DLP-Projektoren be finden sich im Prototypenstadium
- - gleichzeitige Projektion der beiden Augenbilder und Trennung über optische Verfahren, meist Po larisation. Für die Projektionsflächen müssen geeignete, nicht depolarisierende Materialien verwendet werden. Es werden jedoch keine spezi ellen Videosignale benötigt, und mehrkanalige Systeme können auch mit asynchronen Videosigna len betrieben werden.
Mittels geeigneter Eingabegeräte, deren Position und
Orientierung ebenfalls kontinuierlich gemessen wer
den, können Interaktionen mit den dargestellten Daten
ausgeführt werden. Hierzu zählen zum Beispiel das
Greifen und Verschieben von Objekten und das Positio
nieren von Lichtquellen.
Um einen hohen Immersions- und Interaktivitätsgrad zu
erreichen, sind zwei Hauptanforderungen zu erfüllen:
- - Framerate: Die Frequenz, mit der neue Augenbil der generiert werden, sollte nicht unter 12 Bil der/s liegen
- - Latenzzeit: Die Zeitverzögerung zwischen einer Benutzerinteraktion und deren Darstellung im Ausgabebild sollte nicht größer als 200 ms sein.
Daraus folgen hohe Anforderungen an die Rechenlei
stung des Computersystems, das die Graphikausgabe er
zeugt. Die eigentliche Graphikausgabe wird dabei
nicht vom Hauptprozessor generiert, sondern von spe
ziellen Subsystemen mit einer der Aufgabe angepaßten
Pipeline-Architektur.
Herkömmliche immersive Systeme haben aufgrund der ge
ringen Stückzahlen der erforderlichen Spezial-
Hardware hohe Kosten. Dies war bisher einer der we
sentlichen Gründe für die relativ geringe Verbreitung
von VR-Systemen.
Aufgabe der vorliegenden Erfindung ist es, ein Gra
phiksystem und ein Verfahren anzugeben, mit dem auf
kostengünstige und einfache Weise effektiv eine Viel
zahl von Ansichten dargestellt werden können.
Diese Aufgabe wird durch das Graphiksystem nach An
spruch 1 sowie das Verfahren nach Anspruch 10 gelöst.
Vorteilhafte Weiterbildungen des erfindungsgemäßen
Graphiksystems und des erfindungsgemäßen Verfahrens
werden in den jeweiligen abhängigen Ansprüchen gege
ben.
Als Ansichten sind dabei jeweils einzelne Darstellun
gen des Szenegraphen zu verstehen, wie beispielsweise
die beiden verschiedenen Ansichten einer Stereopro
jektion, d. h. das linke Augenbild und das rechte Au
genbild. Weiterhin können dies die auf den einzelnen
Rückprojektionsflächen einer Cave dargestellt werden,
sein. Dadurch ist es erforderlich, bei einer Cave ei
ne Vielzahl von Ansichten (Projektionsflächen-Dar
stellungen sowie stereoskopische Einzelbilder) zu er
zeugen.
Mit der vorliegenden Erfindung ist es gelungen, ein
vollfunktionales VR-System anzubieten, bei dem einfa
che Computerkomponenten auf Standard-Hardware-Basis
völlig zur Erzeugung der Ansichten ausreichen. Dabei
können alle Eigenschaften der dem Stand der Technik
entsprechenden Systeme wie
getrackte, stereoskopische Darstellung auf einer oder mehreren Projektionsflächen oder
dreidimensionale Interaktion unter Verwendung von 3D- Eingabegeräten
realisiert werden. Zur Bilderzeugung können dabei auch Standard-PC-Graphikkarten, beispielsweise mit 3D-Beschleunigung, eingesetzt werden. Für jedes Au genbild wird dabei eine eigene Graphikkarte in jedem separaten Computer eingesetzt. Ein erfindungsgemäßes Verfahren, wie es in der Unteransprüchen 3 bis 7 be schrieben ist, synchronisiert alle an der Bilderzeu gung beteiligten Einzelrechner für die Bildausgabe.
getrackte, stereoskopische Darstellung auf einer oder mehreren Projektionsflächen oder
dreidimensionale Interaktion unter Verwendung von 3D- Eingabegeräten
realisiert werden. Zur Bilderzeugung können dabei auch Standard-PC-Graphikkarten, beispielsweise mit 3D-Beschleunigung, eingesetzt werden. Für jedes Au genbild wird dabei eine eigene Graphikkarte in jedem separaten Computer eingesetzt. Ein erfindungsgemäßes Verfahren, wie es in der Unteransprüchen 3 bis 7 be schrieben ist, synchronisiert alle an der Bilderzeu gung beteiligten Einzelrechner für die Bildausgabe.
Mit der vorliegenden Erfindung wurden verschiedene
Verbesserungen erzielt:
- - Kostenvorteil: Bei bisherigen VR-Systemen bilde te die Rechnerhardware mit Abstand die größte Kostenposition. Durch den Einsatz von Standard hardware können damit VR-Systeme zu einem Bruch teil des bisherigen Systempreises realisiert werden. Damit wird die VIR-Technik für völlig neue Zielgruppen interessant und wird erheblich größere Verbreitung erreichen.
- - Skalierbarkeit: Die Architektur der vorliegenden Erfindung ermöglicht den Aufbau auch sehr großer Cluster zum Betrieb komplexer, mehrkanaliger Projektionsumgebungen (z. B. CAVE's, Power Walls).
- - Zukunftssicherheit: Durch die Möglichkeit, jede beliebige PC-Hardware einzusetzen, entfällt die bisher gegebene Abhängigkeit von einem bestimm ten Hardware-Hersteller.
- - Nutzung neuer Graphikhardware: Derzeit ist der technische Fortschritt im PC-Graphikhardware- Bereich mit Produktzyklen von 6 Monaten weitaus dynamischer als bei den klassischen High End- Graphiksystemen. Mit der vorhergehenden Erfin dung kann diese Dynamik unmittelbar genutzt wer den.
- - Kompatibilität: Durch Softwarekompatibilität mit High End-Systemen können Applikationen mit mini malem Aufwand von Personal Immersion- nach High End-Systemen portiert werden.
Entscheidender Gedanke der vorliegenden Erfindung ist
dabei, daß im Unterschied zum Stand der Technik für
jede Ansicht ein eigner Computer vorgesehen wird.
Dieser erzeugt jedoch nicht nur aus dem Szenegraphen
die Ansicht (Rendering) sondern berechnet auch aus
den eingegebenen Sensordaten eines Eingabesystems den
Szenegraphen (bzw. die Änderungen an diesem) selbst.
Dadurch wird auf jedem Rechner der Szenegraphen extra
berechnet. Dies ist insbesondere vorteilhaft, da da
her zwischen den einzelnen Computern keine große
Bandbreite zur Übertragung von Szenegraphen-Daten wie
im Stand der Technik erforderlich ist.
Eine vorteilhafte Ausführungsform der Erfindung sieht
vor, daß eine Synchronisierungsvorrichtung zur Syn
chronisierung der Umschaltung der Bildspeicher aller
Computer zwischen Zuständen, in denen sie lesbar bzw.
beschreibbar sind, vorgesehen ist. Die Synchronisie
rungsvorrichtung kann als ein Paar einzelner Signal
leitungen ausgeführt sein, beispielsweise als ein
Leitungspaar einer parallelen Schnittstelle. Es ist
aber auch z. B. möglich, die Synchronisationsvorrich
tung als serielles Bussystem auszuführen.
Eine weitere vorteilhafte Ausführungsform sieht vor,
daß die Ausgabevorrichtung bzw. das Ausgabesystem ei
ne beliebige Anordnung von 1 bis n (n beliebig ≧ 2)
Projektionsflächen für jeweils eine oder mehrere An
sichten aufweist. Dies können vorzugsweise Rück- aber
auch Aufprojektionsflächen sein. Möglich sind würfel
förmige Anordnungen von drei bis sechs zueinander zu
gewandten Rückprojektionsflächen für jeweils eine
oder mehrere Ansichten. Es sind aber auch andere Win
kel zwischen den Projektionsflächen, etwa 45°-Winkel,
möglich.
Im folgenden werden verschiedene Beispiele der vor
liegenden Erfindung dargestellt werden.
Fig. 1 zeigt eine Simulationsschleife eines VR-
Systems;
Fig. 2 eine Simulationsschleife mit parallelem
Rendering;
Fig. 3 eine Simulationsschleife mit Replikation
der Applikation;
Fig. 4 ein Zweitdiagramm für mehrere Hosts;
Fig. 5 ein Schaltschema der Swap-Synchronisation;
Fig. 6 die Konfiguration für ein einkanaliges Sy
stem;
Fig. 7 die Konfiguration für ein dreikanaliges Sy
stem mit Datenhalterung auf dem Master; und
Fig. 8 die Konfiguration mit mehreren Slaves und
dediziertem File Server.
Hier wie im folgenden wird für entsprechende Elemente
in den verschiedenen Figuren jeweils ein entsprechen
des Bezugszeichen verwendet.
Fig. 1 zeigt die Simulationsschleife eines VR-
Systems, wie sie typischerweise zur Laufzeit abgear
beitet wird. In einem ersten Schritt 1 werden Sensor
daten wie beispielsweise die Position des Kopfes des
Betrachters und Sensordaten aus Eingabegeräten, bzw.
Events von Eingabegeräten in einen Computer eingele
sen. Anschließend erfolgt die Simulation/Applikation
des Szenegraphen, d. h. die Semantik der Applikation
als Funktion der Sensordaten mit Änderungen am Szene
graphen, wie beispielsweise Position und Sichtbarkeit
visueller Objekte. Schritt 3 betrifft das Rendering
des Szenegraphens, d. h. die Bestimmung der aus aktu
eller Kameraposition sichtbaren Teile des Szenegra
phen und Erzeugung einer Ansicht mit Ausgabe dieser
Ansicht an eine Graphik-Hardware. In dem letzten
Schritt 4 wird mit einem Buffer-Swap, das in Schritt
3 erzeugte Bild/Ansicht dargestellt.
Werden mehrere verschiedene Ansichten benötigt, sind
mehrere Durchläufe von Schritt 3 erforderlich. Bei
spiele hierfür sind:
- - stereoskopische Darstellung (separate Ansicht für linkes/rechtes Auge)
- - Mehrwand-Projektionssysteme
Da der Rendering-Schritt typischerweise die meiste
Rechenzeit erfordert, ist es sinnvoll, diesen zu par
allelisieren, wie in folgender Abbildung dargestellt:
Zur n-fachen Parallelisierung des Renderings sind n
Graphiksubsysteme (Graphikkarten) erforderlich, da
innerhalb eines Graphiksubsystems keine anwendungsab
hängige Parallelisierung möglich ist. Zudem wird in
der Regel ein separater Prozessor (CPU) pro Gra
phiksubsystem benötigt, weil nur so deren kontinuier
liche Auslastung sichergestellt werden kann.
Diese n Graphiksubsysteme können sich in einem ein
zelnen Host mit mehreren Prozessoren und einem ge
meinsamen, breitbandigen Systembus befinden. Dies ist
die Architektur klassischer Multipipe-Graphikworksta
tions).
Eine derartige Konfiguration nach dem Stand der Tech
nik ist in Fig. 2 dargestellt, wo einzelne Ansichten
1, 2 und 3 in Rendering-Schritten 3, 3', 3" auf ver
teilten Computern durchgeführt werden, während die
Schritte 1, 2 und 4 weiterhin gemeinsam auf einem
Prozessor ablaufen.
Diese herkömmliche Konfiguration ermöglicht nicht,
Standard-Personal-Computer zu verwenden, denn gegen
über klassischen Graphikworkstations hat die Standard
PC-Architektur einige Einschränkungen, die beim De
sign eines PC-basierten Echtzeitgraphiksystems zu be
rücksichtigen sind:
- - begrenzte Multiprozessorunterstützung: PC- Mainboards mit mehr als zwei Prozessoren sind selten und kostspielig.
- - begrenzte interne Bandbreiten, insbesondere Bus bandbreiten. Die Schnittstelle, über die die Graphikkarte angesteuert wird, ist der AGP (Ac celerated Graphics Port). Es werden zwar auch noch Graphikkarten mit PCI-Bus angeboten; dessen maximale Bandbreite von 132 Mbyte/s bei 32 Bit Busbreite und 33 Mhz Takt reicht jedoch nicht aus, um aktuelle 3D-Graphikchips mit vollem Durchsatz zu betreiben. Der AGP ist jedoch je PCI-Bus nur einmal vorhanden, weshalb sich Sy steme mit mehreren AGP nur mittels mehrerer PCI- Busse realisieren lassen. Systeme mit mehreren PCI-Bussen existieren zwar, sind aber für den Servereinsatz gedacht und haben daher n der Re gel überhaupt keinen AGP.
- - Begrenzte Flexibilität der von der Graphikkarte erzeugten Videosignale. Die meisten PC- Graphikkarten können kein Shutter-Stereosignal erzeugen. Außerdem ist in der Regel keine Syn chronisation der Videosignale mehrerer Graphik karten vorgesehen.
Hier setzt nun die vorliegende Erfindung ein, bei der
eine Verteilung der einzelnen Graphikkanäle auf meh
rere synchronisierte Einzelrechner (Hosts) erfolgt.
Hierzu eignet sich weiterhin eine passive Stereopro
jektionstechnik, da diese mit beliebigen Videosigna
len realisiert werden kann. Bei Verfügbarkeit von PC-
Graphikkarten, die auch Videosignale für aktive Ste
reoprojektionstechnik erzeugen können, können diese
jedoch auch eingesetzt werden.
Wenn, wie im Stand der Technik (das Rendering auf der
Ebene kompletter Ansichten parallelisiert werden
soll, ist auf jeden Fall die Replikation des komplet
ten Szenegraphen auf allen Hosts erforderlich, die
ein Bild generieren sollen, da ja potentiell in jeder
Ansicht der gesamte Szenegraph sichtbar sein kann.
Damit scheidet eine nur teilweise Replikation des
Szenegraphen von vornherein aus.
Eine Folge dieser vollständigen Replikation ist es,
daß vor dem eigentlichen Rendering sämtliche Änderun
gen am Szenegraphen, also beispielsweise Änderungen
der Position oder Sichtbarkeit visueller Objekte, an
alle Hosts im Cluster zu propagieren sind. Insbeson
dere bei veränderlichen Geometrien kann damit der
Transfer großer Datenmengen verbunden sein. Beispiel:
Ein geometrisches Objekt bestehe aus 100000 Eckpunk
ten (Vertices); es wird durch eine numerische Simula
tion in jedem Frame komplett verformt. Geht man von
einer Single-Precision-Fließkommadarstellung aus,
sind also pro Eckpunkt 6 Bytes (Koordinaten plus Nor
malenvektor) zu übertragen, insgesamt also 600 KByte.
Bei einer angestrebten Framerate von 20 Bildern/s
sind das 12 MByte pro Sekunde.
Wenn das herkömmliche System ohne spezielle Netzwerk
hardware, z. B. Myrinet oder SCI, auskommen soll, ist
beim derzeitigen Stand der Technik (100 MBit Ether
net) in der Praxis eine Kommunikationsbandbreite von
nicht mehr als 8 MBytes verfügbar. Eine Übertragung
der kompletten Szenegraphen-Updates über das Netzwerk
kommt damit für viele Anwendungsfälle nicht in Frage.
Die in der hier beschriebenen Erfindung gefundene Lö
sung für dies Problem ist die Replikation nicht nur
des Szenegraphen, sondern auch der kompletten Appli
kation.
Fig. 3 zeigt ein erfindungsgemäßes System, bei dem
die Simulation/Applikation ebenfalls vollständig pa
rallelisiert in den einzelnen Hostrechnern erfolgt.
Die Sensordaten werden jedoch nur von einem einzigen
Host in einem Schritt 1 akquiriert, beispielsweise
über serielle Schnittstellen, und über die Netzwerk
verbindung an die anderen Hosts (Slave 1. . .Slave n)
verteilt. Der Sensordaten akquirierende Host wird da
her als Master bezeichnet. Auf dem Master läuft
ebenfalls die komplette Applikation (Schritt 2) und
das Rendering (Schritt 3) einer Ansicht. Dies ist oh
ne weiteres möglich, da der Rechenzeit- und Bandbrei
tenbedarf für die Akquisition der Sensordaten gegen
über den anderen Aufgaben vernachlässigbar ist.
Die Anforderungen an die Kommunikationsbandbreite
sind damit unabhängig von den erforderlichen Szene
graphen-Updates. Insbesondere bei Anwendungen mit
sehr umfangreichen Per-Frame-Updates wird damit eine
Reduktion der benötigten Bandbreite um mehrere Grö
ßenordnungen erreicht. Hinzu kommt, daß das Kommuni
kationsprotokoll sehr einfach gehalten werden kann.
Für eine typische VR-Anwendung mit Tracking des Kop
fes, zweier Hände sowie 8 Buttons ergibt sich pro
Frame eine zu übertragende Datenmenge von lediglich
80 Byte.
Bei der Darstellung von Echtzeitgraphik ist es wich
tig, daß das Bild während des Erzeugens, also des
Zeichnens der Bildbestandteile, für den Betrachter
nicht sichtbar ist. Das hierfür gebräuchliche Verfah
ren ist das sogenannte Doublebuffering, bei dem im
Videospeicher der Graphikkarte Speicherplatz zur Buf
ferung zweier kompletter Bilder vorgesehen ist. Diese
beiden Buffer werden als Front- und Backbuffer be
zeichnet. Der Frontbuffer ist der sichtbare, während
in den Backbuffer gezeichnet wird. Wenn das neue Bild
vollständig gezeichnet ist, wird zwischen Front- und
Backbuffer umgeschaltet (Buffer-Swap).
Dieses Umschalten muß auf allen Graphikkanälen syn
chron erfolgen; zeitliche Verschiebungen zwischen den
Buffer-Swaps werden vom Betrachter deutlich wahrge
nommen. Insbesondere in einem passiven stereoskopi
schen System mit einem Rechner für jedes Auge führen
zeitliche Verschiebungen zu einem veränderten Stereo
eindruck. Verschiebungen innerhalb der Simulations
schleifen der einzelnen Hosts werden dagegen vom Be
trachter nicht wahrgenommen.
Fig. 4 gibt eine Darstellung der zeitlichen Verhält
nisse für das Umschalten der Graphikkanäle. In einem
Schritt 1 werden die Sensordaten durch den Master ak
quiriert und in Schritten 1', 1" (b, b) an die Slave
Host 1 und Slave Host n übertragen. Die Simulation
(Schritt 2) des Szenegraphen erfolgt damit, um die
Übertragungszeit versetzt zwischen dem Master und den
Slave-Rechnern. Dasselbe gilt für den Rendering-
Schritt 3, so daß die einzelnen Computer mit dem Ren
dering zu verschiedenen Zeitpunkten fertig sind. Da
her erfolgt nun eine Synchronisation des Buffer-Swap
über die Leitungen bzw. Signale 5, die gesetzt wer
den, wenn ein Computer mit dem Rendering fertig ist.
Sind alle Computer mit dem Rendering fertig, so er
folgt der Swap und anschließend die Darstellung in
einem Schritt 6 der einzelnen Ansichten nahezu
gleichzeitig. Für die Synchronisation des Buffer-Swap
ist ein möglichst leichtgewichtiger Mechanismus zu
verwenden und daß die Synchronisation hat möglichst
nah an der Ausführung des eigentlichen Swap durch die
Graphikhardware zu erfolgen, im Idealfall also inte
griert in den Graphikkarten-Treiber. Wo dieser nicht
im Quellcode zugänglich ist, kann die Synchronisation
auch anwendungsseitig unmittelbar vor dem Funktions
aufruf erfolgen, der den Buffer-Swap auslöst.
Weiterhin wird aus Fig. 4 ersichtlich, daß die zur
Übermittlung der Sensordaten benötigte Zeit die ge
samte Framezeit entsprechend verlängert, da bei den
Slaves der Simulationsschritt erst nach dem Empfang
der Sensordaten beginnen kann. Insbesondere bei hohen
Frameraten kann dieser Zeitanteil signifikant werden.
Es sollte daher eine möglichst schnelle Netzwerkver
bindung zwischen Master und Slaves vorgesehen werden.
Die Übermittlung der Sensordaten kann beispielsweise
über ein verbindungsloses UDP (User Datagram Proto
col) erfolgen. In einer typischen Konfiguration kön
nen alle pro Frame erforderlichen Sensordaten in ei
nem Ethernet-Paket (maximale Größe 1500 Bytes) und
damit in einem einzigen Datagramm übermittelt werden.
Da die Sensordaten für alle Slaves gleich sind, kön
nen diese mittels Multicast übermittelt werden, wo
durch das Senden eines separaten Datenpaketes pro
Slave vermieden werden kann.
Zur Buffer Swap-Synchronisation werden beispielsweise
die Data Terminal Ready (DTR)/Data Set Ready (DSR)-
Handshake-Leitungen der RS 232-Schnittstelle verwen
det. Der in den meisten PC's zu findende UART-Bau
stein 16550 bildet nicht nur den Status dieser Lei
tungen in einem Register ab, sondern kann auch einen
Interrupt bei Zustandswechsel der Eingangsleitung in
itiieren. Dadurch kann ein Polling der Eingangslei
tung und damit geschäftiges Warten auf den DrawDone-
Status vermieden werden.
Für ein System mit nur einem Slave können die
CTS/RTS-Leitungen beider Systeme gekreuzt miteinander
verbunden werden.
Dies ist in Fig. 5A dargestellt, wo ein Master 10 mit
einem Slave 11 über gekreuzte DTRDSR-Leitungen ver
bunden ist. In Fig. 5B sind insgesamt n-Slave-Rechner
mit 11 bis 11''' mit einem Master-Rechner 10 über ei
ne Bundverknüpfung 12 verbunden. Diese verknüpft alle
Ausgänge DTR in entsprechender Weise wie in Fig. 5B
gezeigt.
Fig. 6 zeigt nun die Konfiguration eines einkanali
gen, stereoskopischen Systems mit passiver Projekti
onstechnik, bei dem ein Master 10 und einer Master 11
für die Übertragung der Sensordaten miteinander über
ein Fast Ethernet 15 und zur Swap-Synchronisation
über eine RS232-Schnittstelle 16 verbunden sind. Ein
Positionsmeßsystem 13 und ein Interaktionsgerät 14
geben über serielle Schnittstellen 19, 19' ihre Sen
sordaten an den Master 10, in dem auch die Datenhal
tungen erfolgt. Der Slaverechner 11 greift nun über
die Netzwerkverbindung 15 auf diese Daten zu. Dies
betrifft sowohl die Applikationsdaten (Geometrien,
Texturen) als auch den ausführbaren Programmcode.
Beide Rechner 10 und 11 führen dann die Simulation
des Szenegraphen und das Rendering ihrer jeweiligen
Ansicht durch. Der Master 10 erzeugt dabei das Links-
Augenbild für einen Projektor 17 und der Slave 11 das
Rechts-Augenbild für einen Projektor 18 für eine ste
roskopische Darstellung.
Fig. 7 zeigt ein Beispiel mit einem mehrkanaligen Sy
stem mit mehr als zwei Hosts. In diesem Falle gibt
einen dedetierten Master 10, der die Daten der Einga
begeräte 13, 14 über serielle Schnittstellen 19, 19'
akquiriert. Weiterhin ist er über ein Fast Ethernet
15 mit den Slaves 11 bis 11"" verbunden. Zur Swap-
Synchronisation erfolgt eine Umverknüpfung aller Vor
dan-Ausgänge über die Verbindungsleitungen 16. Mit
den hier vorgesehenen sechs Rechnern 10, 11 bis
11"" können insgesamt drei Bilder mit Links-Augen-
und Rechts-Augenbild dargestellt werden, also insge
samt sechs Ansichten. Diese werden über die Projekto
ren 17 bis 17" für die Links-Augenbilder und die
Projektoren 18 bis 18" für die Rechts-Augenbilder
dargestellt, wobei jeder Projektor mit einem Rechner
10, 11 bis 11"" verbunden ist.
Die vollständige Replikation des Szenegraphen auf al
len Slaves erfordert bei zentraler Datenhaltung die
Übermittlung sämtlicher Daten an alle Slaves, und
zwar beim Start der Applikation und zur Laufzeit,
wenn Daten nachgeladen werden müssen.
Die Bandbreite eines einzigen Netzwerkstranges kann
bei einer größeren Anzahl von Slaves zu gering sein,
um bei zentraler Datenhaltung auf dem Master noch ak
zeptable Ladezeiten realisieren zu können. Zwei Mög
lichkeiten bestehen zur Lösung dieses Problems:
- - Lokale Replikation der Daten auf allen Slaves. In diesem Fall muß mittels zusätzlicher Softwa reverfahren die Konsistenz dieser Daten auf al len Slaves sichergestellt werden.
- - Verwendung eines dedizierten Servers zur zentra len Datenhaltung. Dieser Server wird mit breit bandigem Massenspeicher und mehreren Netzwerk ports ausgerüstet, von denen jeder nur eine be stimmte Anzahl Slaves bedient. Fig. 8 zeigt eine Beispielkonfiguration für ein dreikanaliges Pro jektionssystem mit einem zentralen Server 20 zur Datenhaltung. Die zentralen Daten- und Ap plikationsverzeichnisse liegen nun nicht mehr auf dem Master 10, sondern auf dem zentralen Fileserver 20. Im hier dargestellten Idealfall steht für jeden PC 10, 11 bis 11"" im VR- Cluster ein eigener Netzwerkport zur Verfügung. Mischkonfigurationen mit jeweils einem Port für zwei oder mehrere PC's sind ebenfalls möglich.
Alternativ können die Geometrie- und Texturdaten, die
die größte Datenmenge ausmachen, auch lokal auf jedem
Slave gehalten werden. In diesem Fall ist allerdings
durch geeignete Verwaltungsmechanismen die Konsistenz
dieser Daten sicherzustellen. Dies kann im einfach
sten Fall durch eine auf dem Master laufende Software
erfolgen, über die alle Applikationsdaten zentral auf
alle Slaves kopiert werden.
Claims (14)
1. Graphiksystem für Anwendungen der virtuellen Rea
lität zur Erzeugung und Darstellung einer Viel
zahl von Ansichten, die gemeinsam einen Szenegra
phen darstellen, mit
mindestens einem Sensor zur Erfassung von Posi tionen, Orientierungen und/oder Bewegungen und Erzeugung von Sensordaten,
mindestens einer Ausgabevorrichtung zur Darstel lung der Vielzahl von Ansichten,
einem ersten Computer und mindestens einem weite ren Computer, zur Erzeugung jeweils mindestens einer Ansicht, die diesem zugeordnet ist, einer ersten Übertragungsvorrichtung zur Übertra gung der Sensordaten von dem Sensor zu dem ersten Computer
einer zweiten Übertragungsvorrichtung zur Über tragung der Sensordaten von dem ersten Computer zu jedem weiteren Computer
wobei jeder Computer mit den empfangenen Sensor daten den Szenegraphen simuliert und hieraus an schließend die ihm zugeordnete Ansicht erzeugt, sowie einer dritten Übertragungsvorrichtung zur Übertragung der erzeugten Ansichten aus jedem Computer zu der Ausgabevorrichtung.
mindestens einem Sensor zur Erfassung von Posi tionen, Orientierungen und/oder Bewegungen und Erzeugung von Sensordaten,
mindestens einer Ausgabevorrichtung zur Darstel lung der Vielzahl von Ansichten,
einem ersten Computer und mindestens einem weite ren Computer, zur Erzeugung jeweils mindestens einer Ansicht, die diesem zugeordnet ist, einer ersten Übertragungsvorrichtung zur Übertra gung der Sensordaten von dem Sensor zu dem ersten Computer
einer zweiten Übertragungsvorrichtung zur Über tragung der Sensordaten von dem ersten Computer zu jedem weiteren Computer
wobei jeder Computer mit den empfangenen Sensor daten den Szenegraphen simuliert und hieraus an schließend die ihm zugeordnete Ansicht erzeugt, sowie einer dritten Übertragungsvorrichtung zur Übertragung der erzeugten Ansichten aus jedem Computer zu der Ausgabevorrichtung.
2. System nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß jeder Computer mindestens ei
nen Bildspeicher aufweist, in den eine erzeugte
Ansicht schreibbar und aus dem eine Ansicht zur
Übertragung an die Ausgabevorrichtung lesbar ist.
3. System nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß jeder Computer mindestens
zwei Bildspeicher aufweist, wobei zu einem Zeit
punkt einer der Bildspeicher beschreibbar und der
andere Bildspeicher lesbar ist.
4. System nach einem der beiden vorhergehenden An
sprüche, dadurch gekennzeichnet, daß die beiden
Bildspeicher zwischen den Zuständen, in denen sie
lesbar bzw. beschreibbar sind, umschaltbar sind.
5. System nach dem vorhergehenden Anspruch, gekenn
zeichnet durch eine Synchronisationsvorrichtung
zur Synchronisierung der Umschaltung der Bild
speicher aller Computer zwischen den beiden Zu
ständen, in denen sie lesbar bzw. beschreibbar
sind.
6. System nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß die Computer über zumindest
eine elektrische Leitung als Synchronisationsvor
richtung miteinander verbunden sind.
7. System nach einem der beiden vorhergehenden An
sprüche, dadurch gekennzeichnet, daß die Synchro
nisationsvorrichtung ein serielles Bussystem ist.
8. System nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß das Ausgabesystem ein
stereoskopisches Projektionssystem aufweist.
9. System nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß das Ausgabesystem ei
ne beliebige Anordnung von 1 bis n (n beliebig ≧
2) Projektionsflächen für jeweils eine oder meh
rerer Ansichten aufweist.
10. Verfahren zur Darstellung einer Vielzahl von An
sichten, die gemeinsam einen Szenegraphen dar
stellen, wobei mit einem Sensor Positionen, Ori
entierungen und/oder Bewegungen erfaßt und Sen
sordaten erzeugt werden,
die Sensordaten an einen ersten Computer übertra gen werden, der diese seinerseits an weitere Com puter übertragt,
in jedem der Computer auf der Basis der Sensorda ten der Szenegraph simuliert und hieraus in jedem Computer eine diesem Computer zugeordnete Ansicht erzeugt wird und
die so erzeugten Ansichten für denselben Szene graphen zeitgleich dargestellt werden.
die Sensordaten an einen ersten Computer übertra gen werden, der diese seinerseits an weitere Com puter übertragt,
in jedem der Computer auf der Basis der Sensorda ten der Szenegraph simuliert und hieraus in jedem Computer eine diesem Computer zugeordnete Ansicht erzeugt wird und
die so erzeugten Ansichten für denselben Szene graphen zeitgleich dargestellt werden.
11. Verfahren nach dem vorhergehenden Anspruch, da
durch gekennzeichnet, daß jede Ansicht nach ihrer
Erzeugung zuerst in einen Bildspeicher geschrie
ben und dann aus dem Bildspeicher ausgelesen und
dargestellt wird.
12. Verfahren nach dem vorhergehenden Anspruch, da
durch gekennzeichnet, daß jede Ansicht in einen
Bildspeicher geschrieben wird, während aus einem
zweiten Bildspeicher die zuvor berechnete Ansicht
ausgelesen und dargestellt wird und anschließend
die Ansicht aus dem ersten Bildspeicher ausgele
sen und dargestellt wird, während in den zweiten
Bildspeicher die nächstfolgende Ansicht geschrie
ben wird.
13. Verfahren nach dem vorhergehenden Anspruch, da
durch gekennzeichnet, daß die Umschaltung der
Bildspeicher aller Computer zwischen den beiden
Zuständen, in denen sie lesbar bzw. beschreibbar
sind, synchronisiert wird.
14. Verfahren nach einem der Ansprüche 10 bis 13, da
durch gekennzeichnet, daß die Ansichten mit einem
steroskopischen Projektionssystem dargestellt
werden.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10125075A DE10125075B4 (de) | 2001-05-14 | 2001-05-14 | Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10125075A DE10125075B4 (de) | 2001-05-14 | 2001-05-14 | Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10125075A1 true DE10125075A1 (de) | 2002-11-28 |
DE10125075B4 DE10125075B4 (de) | 2004-07-15 |
Family
ID=7685816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10125075A Expired - Fee Related DE10125075B4 (de) | 2001-05-14 | 2001-05-14 | Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10125075B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428475A (zh) * | 2018-05-15 | 2018-08-21 | 段新 | 基于人体生理数据监测和虚拟现实的生物反馈训练系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006030923B4 (de) * | 2006-07-03 | 2009-04-09 | Siekmann, Jörg, Prof., Dr. | Vorrichtung und Verfahren zur interaktiven Präsentation virtueller Realität |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992009947A1 (en) * | 1990-11-30 | 1992-06-11 | Vpl Research, Inc. | Method and apparatus for rendering graphical images |
EP0751689A2 (de) * | 1995-06-29 | 1997-01-02 | Matsushita Electric Industrial Co., Ltd. | Vorrichtung zum Generieren stereoskopischer Bilder und Darstellung derselben |
US5659691A (en) * | 1993-09-23 | 1997-08-19 | Virtual Universe Corporation | Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements |
US5956046A (en) * | 1997-12-17 | 1999-09-21 | Sun Microsystems, Inc. | Scene synchronization of multiple computer displays |
-
2001
- 2001-05-14 DE DE10125075A patent/DE10125075B4/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992009947A1 (en) * | 1990-11-30 | 1992-06-11 | Vpl Research, Inc. | Method and apparatus for rendering graphical images |
US5659691A (en) * | 1993-09-23 | 1997-08-19 | Virtual Universe Corporation | Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements |
EP0751689A2 (de) * | 1995-06-29 | 1997-01-02 | Matsushita Electric Industrial Co., Ltd. | Vorrichtung zum Generieren stereoskopischer Bilder und Darstellung derselben |
US5956046A (en) * | 1997-12-17 | 1999-09-21 | Sun Microsystems, Inc. | Scene synchronization of multiple computer displays |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428475A (zh) * | 2018-05-15 | 2018-08-21 | 段新 | 基于人体生理数据监测和虚拟现实的生物反馈训练系统 |
CN108428475B (zh) * | 2018-05-15 | 2023-09-15 | 段新 | 基于人体生理数据监测和虚拟现实的生物反馈训练系统 |
Also Published As
Publication number | Publication date |
---|---|
DE10125075B4 (de) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018130037B4 (de) | DYNAMISCHES JITTER- und LATENZ-TOLERANTES RENDERING | |
DE112007002991B4 (de) | Computergraphikschattenvolumen unter Verwendung von hierarchischem Okklusions-Culling | |
EP0789328B1 (de) | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung | |
DE19953595B4 (de) | Verfahren und Vorrichtung zur Verarbeitung dreidimensionaler Bilder | |
DE10110358B4 (de) | Anordnung und Verfahren zur räumlichen Visualisierung | |
Govindaraju et al. | Interactive visibility culling in complex environments using occlusion-switches | |
DE102004007835A1 (de) | Vorrichtung zur Darstellung von dynamischen komplexen Szenen | |
DE102019102009A1 (de) | Reduzierung des rauschens während des renderings durch parallele path-space-filterung unter verwendung von hashing | |
DE69735181T2 (de) | Verfahren und Vorrichtung für virtuelle Architektur | |
CN108833877B (zh) | 图像处理方法及装置、计算机装置及可读存储介质 | |
EP1678561A1 (de) | Verfahren und anordnung zur kombination von hologrammen mit computergrafik | |
CN109920043B (zh) | 虚拟3d对象的立体渲染 | |
DE69732465T2 (de) | Bildverarbeitungsgerät und -verfahren | |
US9001157B2 (en) | Techniques for displaying a selection marquee in stereographic content | |
CN107846584B (zh) | 基于场景管理开发库的虚拟现实自适应桌面同步投影方法 | |
Nishimoto et al. | Extending virtual reality display wall environments using augmented reality | |
US6559844B1 (en) | Method and apparatus for generating multiple views using a graphics engine | |
DE10125075B4 (de) | Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen | |
CN110119199B (zh) | 实时渲染影像的追踪系统、方法及非暂态电脑可读取媒体 | |
DE102008056917A1 (de) | Kooperationsfenster/wand | |
CN115908670A (zh) | 生产场景下数字孪生模型分布式渲染方法、装置及系统 | |
RU54233U1 (ru) | Система виртуального окружения | |
Springer et al. | Multi-frame rate rendering and display | |
Lee et al. | Real-time 3D video avatar in mixed reality: An implementation for immersive telecommunication | |
Nocent et al. | 3d displays and tracking devices for your browser: A plugin-free approach relying on web standards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8181 | Inventor (new situation) |
Inventor name: BUES, MATTHIAS, 70184 STUTTGART, DE Inventor name: HÄFNER, ULRICH, DR.-ING., 71665 VAIHINGEN, DE Inventor name: BLACH, ROLAND, DIPL.-ING., 70199 STUTTGART, DE |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |