DE10125075A1 - Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen - Google Patents

Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen

Info

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
Application number
DE10125075A
Other languages
English (en)
Other versions
DE10125075B4 (de
Inventor
Matthias Bues
Ulrich Hufner
Roland Blach
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE10125075A priority Critical patent/DE10125075B4/de
Publication of DE10125075A1 publication Critical patent/DE10125075A1/de
Application granted granted Critical
Publication of DE10125075B4 publication Critical patent/DE10125075B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/286Image signal generators having separate monoscopic and stereoscopic modes
    • H04N13/289Switching between monoscopic and stereoscopic modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/337Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using polarisation multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/341Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using temporal multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation 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.
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.
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.
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.
DE10125075A 2001-05-14 2001-05-14 Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen Expired - Fee Related DE10125075B4 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108428475A (zh) * 2018-05-15 2018-08-21 段新 基于人体生理数据监测和虚拟现实的生物反馈训练系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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