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

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

Info

Publication number
DE10125075B4
DE10125075B4 DE10125075A DE10125075A DE10125075B4 DE 10125075 B4 DE10125075 B4 DE 10125075B4 DE 10125075 A DE10125075 A DE 10125075A DE 10125075 A DE10125075 A DE 10125075A DE 10125075 B4 DE10125075 B4 DE 10125075B4
Authority
DE
Germany
Prior art keywords
computer
sensor data
view
views
scene graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10125075A
Other languages
English (en)
Other versions
DE10125075A1 (de
Inventor
Matthias Bues
Ulrich Dr.-Ing. Häfner
Roland Dipl.-Ing. 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

Graphiksystem für Anwendungen der virtuellen Realität zur Erzeugung und Darstellung einer Vielzahl von Ansichten, die gemeinsam einen Szenegraphen darstellen, mit mindestens einem Sensor zur Erfassung von Positionen, Orientierungen und/oder Bewegungen und Erzeugung von Sensordaten, mindestens einer Ausgabevorrichtung zur Darstellung der Vielzahl von Ansichten, einem ersten Computer und mindestens einem weiteren Computer, zur Erzeugung jeweils mindestens einer Ansicht, die diesem zugeordnet ist, wobei jeder Computer Mittel enthält zur Erzeugung der ihm zugeordneten Ansicht aus dem Szenegraphen, einer ersten Übertragungsvorrichtung zur Übertragung der Sensordaten von dem Sensor zu dem ersten Computer sowie mit einer zweiten Übertragungsvorrichtung zur Übertragung der erzeugten Ansichten aus jedem Computer zu der Ausgabevorrichtung, dadurch gekennzeichnet, daß eine dritte Übertragungsvorrichtung zur Übertragung der Sensordaten von dem ersten Computer zu jedem weiteren Computer vorgesehen ist, und daß jeder Computer Mittel zur Simulation des Szenegraphen mit den empfangenen Sensordaten enthält.

Description

  • Die vorliegende Erfindung bezieht sich auf ein Graphiksystem 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 Darstellung dreidimensionaler Daten und die ebenfalls dreidimensionale Interaktion können dreidimensionale Daten weitaus besser beurteilt und erlebt werden, als es mit klassischen Visualisierungs- und Interaktionstechniken (2D-Monitor und grafische Benutzungsoberflä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 getrackte, stereoskopische Darstellung der dreidimensionalen Daten. Die Perspektive der Darstellung ist dabei vom Betrachter-Standpunkt bzw. von der Kopfposition abhängig, Die Kopfposition wird dazu über ein dreidimensionales Positionsmeßsystem kontinuierlich gemessen und die Geometrie der Sichtvolumina für beide Augen 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 Systems befinden sich nur die dreidimensionalen Geometrieinformationen und Attribute (Oberflächeneigenschaften, 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 gebräuchlich:
    • – zeitsequentielle Darstellung der beiden Augenbilder. Zur Trennung wird eine sogenannte Shutterbrille verwendet, die synchron zum Videosignal jeweils ein Auge abdunkelt. Für diese, auch aktiv genannte Technik sind Röhrenprojektoren erforderlich; stereofähige DLP-Projektoren befinden sich im Prototypenstadium
    • – gleichzeitige Projektion der beiden Augenbilder und Trennung über optische Verfahren, meist Polarisation. Für die Projektionsflächen müssen geeignete, nicht depolarisierende Materialien verwendet werden. Es werden jedoch keine speziellen Videosignale benötigt, und mehrkanalige Systeme können auch mit asynchronen Videosignalen betrieben werden.
  • Mittels geeigneter Eingabegeräte, deren Position und Orientierung ebenfalls kontinuierlich gemessen werden, können Interaktionen mit den dargestellten Daten ausgeführt werden. Hierzu zählen zum Beispiel das Greifen und Verschieben von Objekten und das Positionieren von Lichtquellen.
  • Um einen hohen Immersions- und Interaktivitätsgrad zu erreichen, sind zwei Hauptanforderungen zu erfüllen:
    • – Framerate: Die Frequenz, mit der neue Augenbilder generiert werden, sollte nicht unter 12 Bilder/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 Rechenleistung des Computersystems, das die Graphikausgabe erzeugt. Die eigentliche Graphikausgabe wird dabei nicht vom Hauptprozessor generiert, sondern von speziellen Subsystemen mit einer der Aufgabe angepaßten Pipeline-Architektur.
  • Herkömmliche immersive Systeme haben aufgrund der geringen Stückzahlen der erforderlichen Spezial-Hardware hohe Kosten. Dies war bisher einer der wesentlichen Gründe für die relativ geringe Verbreitung von VR-Systemen.
  • Aus der WO 92/09947 ist ein System bekannt, in dem ein hierarchischer Baum als Datenstruktur von einem Steuerungs-Prozessor an eine Mehrzahl von weiteren Prozessoren als Kopie übergeben wird, wobei jeder der Prozessoren aus der übergebenen Baumstruktur eine Ansicht erzeugt (rendert). Dabei kann der Steuerungsprozessor im laufenden Betrieb des Systems berechnete Änderungen am Baum, d.h. eine Menge von zuvor berechneten veränderten Knoten des gesamten Baumes, an die weiteren Prozessoren weitergeben, die im nächsten Schritt die veränderte Ansicht aus den aktualisierten Daten des Baumes erzeugen.
  • Aufgabe der vorliegenden Erfindung ist es, ein Graphiksystem und ein Verfahren anzugeben, mit dem auf kostengünstige und einfache Weise effektiv eine Vielzahl von Ansichten dargestellt werden können.
  • Diese Aufgabe wird durch das Graphiksystem nach Anspruch 1 sowie das Verfahren nach Anspruch 10 gelöst. Vorteilhafte Weiterbildung des erfindungsgemäßen Graphiksystems und des erfindungsgemäßen Verfahrens werden in den jeweiligen abhängigen Ansprüchen gegeben.
  • Als Ansichten sind dabei jeweils einzelne Darstellungen des Szenegraphen zu verstehen, wie beispielsweise die beiden verschiedenen Ansichten einer Stereoprojektion, d.h. das linke Augenbild und das rechte Augenbild. Weiterhin können dies Projektionen, die auf den einzelnen Rückprojektionsflächen einer Cave dargestellt werden, sein. Dadurch ist es erforderlich, bei einer Cave eine Vielzahl von Ansichten (Projektionsflächen-Darstellungen sowie stereoskopische Einzelbilder) zu erzeugen.
  • Mit der vorliegenden Erfindung ist es gelungen, ein vollfunktionales VR-System anzubieten, bei dem einfache 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 Augenbild wird dabei eine eigene Graphikkarte in jedem separaten Computer eingesetzt. Ein erfindungsgemäßes Verfahren, wie es in der Unteransprüchen 3 bis 7 beschrieben ist, synchronisiert alle an der Bilderzeugung beteiligten Einzelrechner für die Bildausgabe.
  • Mit der vorliegenden Erfindung wurden verschiedene Verbesserungen erzielt:
    • – Kostenvorteil: Bei bisherigen VR-Systemen bildete die Rechnerhardware mit Abstand die größte Kostenposition. Durch den Einsatz von Standardhardware können damit VR-Systeme zu einem Bruchteil 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 bestimmten 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 Erfindung kann diese Dynamik unmittelbar genutzt werden.
    • – Kompatibilität: Durch Softwarekompatibilität mit High End-Systemen können Applikationen mit minimalem 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 eigener Computer vorgesehen wird. Dieser erzeugt jedoch nicht nur wie bei der WO 92/09947 aus einem ihm übermittelten Szenegraphen die Ansicht (Rendering) sondern berechnet sich aus den eingegebenen und ihm übermittelten 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 daher 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 Synchronisierung der Umschaltung der Bildspeicher aller Computer zwischen Zuständen, in denen sie lesbar bzw. beschreibbar sind, vorgesehen ist. Die Synchronisierungsvorrichtung kann als ein Paar einzelner Signalleitungen ausgeführt sein, beispielsweise als ein Leitungspaar einer parallelen Schnittstelle. Es ist aber auch z.B. möglich, die Synchronisationsvorrichtung als serielles Bussystem auszuführen.
  • Eine weitere vorteilhafte Ausführungsform sieht vor, daß die Ausgabevorrichtung bzw. das Ausgabesystem eine beliebige Anordnung von 1 bis n (n beliebig ≥ 2) Projektionsflächen für jeweils eine oder mehrere Ansichten aufweist. Dies können vorzugsweise Rück- aber auch Aufprojektionsflächen sein. Möglich sind würfelförmige Anordnungen von drei bis sechs zueinander zugewandten Rückprojektionsflächen für jeweils eine oder mehrere Ansichten. Es sind aber auch andere Winkel zwischen den Projektionsflächen, etwa 45°-Winkel, möglich.
  • Im folgenden werden verschiedene Beispiele der vorliegenden Erfindung dargestellt werden.
  • 1 zeigt eine Simulationsschleife eines VR-Systems;
  • 2 eine Simulationsschleife mit parallelem Rendering;
  • 3 eine Simulationsschleife mit Replikation der Applikation;
  • 4 ein Zweitdiagramm für mehrere Hosts;
  • 5 ein Schaltschema der Swap-Synchronisation;
  • 6 die Konfiguration für ein einkanaliges System;
  • 7 die Konfiguration für ein dreikanaliges System mit Datenhalterung auf dem Master; und
  • 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 entsprechendes Bezugszeichen verwendet.
  • 1 zeigt die Simulationsschleife eines VR-Systems, wie sie typischerweise zur Laufzeit abgearbeitet wird. In einem ersten Schritt 1 werden Sensordaten wie beispielsweise die Position des Kopfes des Betrachters und Sensordaten aus Eingabegeräten, bzw. Events von Eingabegeräten in einen Computer eingelesen. Anschließend erfolgt die Simulation/Applikation des Szenegraphen, d.h. die Semantik der Applikation als Funktion der Sensordaten mit Änderungen am Szenegraphen, wie beispielsweise Position und Sichtbarkeit visueller Objekte. Schritt 3 betrifft das Rendering des Szenegraphens, d.h. die Bestimmung der aus aktueller Kameraposition sichtbaren Teile des Szenegraphen 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. Beispiele 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 parallelisieren, wie in folgender Abbildung dargestellt:
    Zur n-fachen Parallelisierung des Renderings sind n Graphiksubsysteme (Graphikkarten) erforderlich, da innerhalb eines Graphiksubsystems keine anwendungsabhängige Parallelisierung möglich ist. Zudem wird in der Regel ein separater Prozessor (CPU) pro Graphiksubsystem benötigt, weil nur so deren kontinuierliche Auslastung sichergestellt werden kann.
  • Diese n Graphiksubsysteme können sich in einem einzelnen Host mit mehreren Prozessoren und einem gemeinsamen, breitbandigen Systembus befinden. Dies ist die Architektur klassischer Multipipe-Graphikworkstations).
  • Eine derartige Konfiguration nach dem Stand der Technik ist in 2 dargestellt, wo einzelne Ansichten 1, 2 und 3 in Rendering-Schritten 3, 3', 3'' auf verteilten 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 Design 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 Busbandbreiten. Die Schnittstelle, über die die Graphikkarte angesteuert wird, ist der AGP (Accelerated 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 Systeme 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 Regel ü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 Synchronisation der Videosignale mehrerer Graphikkarten vorgesehen.
  • Hier setzt nun die vorliegende Erfindung ein, bei der eine Verteilung der einzelnen Graphikkanäle auf mehrere synchronisierte Einzelrechner (Hosts) erfolgt. Hierzu eignet sich weiterhin eine passive Stereoprojektionstechnik, da diese mit beliebigen Videosignalen 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 kompletten 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 Änderungen am Szenegraphen, also beispielsweise Änderungen der Position oder Sichtbarkeit visueller Objekte, an alle Hosts im Cluster zu propagieren sind. Insbesondere bei veränderlichen Geometrien kann damit der Transfer großer Datenmengen verbunden sein. Beispiel: Ein geometrisches Objekt bestehe aus 100000 Eckpunkten (Vertices); es wird durch eine numerische Simulation in jedem Frame komplett verformt. Geht man von einer Single-Precision-Fließkommadarstellung aus, sind also pro Eckpunkt 6 Bytes (Koordinaten plus Normalenvektor) 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 Netzwerkhardware, z.B. Myrinet oder SCI, auskommen soll, ist beim derzeitigen Stand der Technik (100 MBit Ethernet) in der Praxis eine Kommunikationsbandbreite von nicht mehr als 8 MByte/s 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 Applikation.
  • 3 zeigt ein erfindungsgemäßes System, bei dem die Simulation/Applikation ebenfalls vollständig parallelisiert 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 Netzwerkverbindung an die anderen Hosts (Slave 1...Slave n) verteilt. Der Sensordaten akquirierende Host wird daher als Master bezeichnet. Auf dem Master läuft ebenfalls die komplette Applikation (Schritt 2) und das Rendering (Schritt 3) einer Ansicht. Dies ist ohne weiteres möglich, da der Rechenzeit- und Bandbreitenbedarf 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 Szenegraphen-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 Kommunikationsprotokoll sehr einfach gehalten werden kann.
  • Für eine typische VR-Anwendung mit Tracking des Kopfes, 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 wichtig, daß das Bild während des Erzeugens, also des Zeichnens der Bildbestandteile, für den Betrachter nicht sichtbar ist. Das hierfür gebräuchliche Verfahren ist das sogenannte Doublebuffering, bei dem im Videospeicher der Graphikkarte Speicherplatz zur Bufferung zweier kompletter Bilder vorgesehen ist. Diese beiden Buffer werden als Front- und Backbuffer bezeichnet. 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 synchron erfolgen; zeitliche Verschiebungen zwischen den Buffer-Swaps werden vom Betrachter deutlich wahrgenommen. Insbesondere in einem passiven stereoskopischen System mit einem Rechner für jedes Auge führen zeitliche Verschiebungen zu einem veränderten Stereoeindruck. Verschiebungen innerhalb der Simulationsschleifen der einzelnen Hosts werden dagegen vom Betrachter nicht wahrgenommen.
  • 4 gibt eine Darstellung der zeitlichen Verhältnisse für das Umschalten der Graphikkanäle. In einem Schritt 1 werden die Sensordaten durch den Master akquiriert 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 Rendering zu verschiedenen Zeitpunkten fertig sind. Daher erfolgt nun eine Synchronisation des Buffer-Swap über die Leitungen bzw. Signale 5, die gesetzt werden, wenn ein Computer mit dem Rendering fertig ist. Sind alle Computer mit dem Rendering fertig, so erfolgt 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 integriert in den Graphikkarten-Treiber. Wo dieser nicht im Quellcode zugänglich ist, kann die Synchronisation auch anwendungsseitig unmittelbar vor dem Funktionsaufruf erfolgen, der den Buffer-Swap auslöst.
  • Weiterhin wird aus 4 ersichtlich, daß die zur Übermittlung der Sensordaten benötigte Zeit die gesamte 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 Netzwerkverbindung zwischen Master und Slaves vorgesehen werden.
  • Die Übermittlung der Sensordaten kann beispielsweise über ein verbindungsloses UDP (User Datagram Protocol) erfolgen. In einer typischen Konfiguration können alle pro Frame erforderlichen Sensordaten in einem 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önnen diese mittels Multicast übermittelt werden, wodurch 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 verwendet. Der in den meisten PC's zu findende UART-Baustein 16550 bildet nicht nur den Status dieser Lei tungen in einem Register ab, sondern kann auch einen Interrupt bei Zustandswechsel der Eingangsleitung initiieren. Dadurch kann ein Polling der Eingangsleitung 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 5A dargestellt, wo ein Master 10 mit einem Slave 11 über gekreuzte DTRDSR-Leitungen verbunden ist. In 5B sind insgesamt n-Slave-Rechner mit 11 bis 11''' mit einem Master-Rechner 10 über eine Bundverknüpfung 12 verbunden. Diese verknüpft alle Ausgänge DTR in entsprechender Weise wie in 5B gezeigt.
  • 6 zeigt nun die Konfiguration eines einkanaligen, stereoskopischen Systems mit passiver Projektionstechnik, 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 Sensordaten an den Master 10, in dem auch die Datenhaltungen 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.
  • 7 zeigt ein Beispiel mit einem mehrkanaligen System mit mehr als zwei Hosts. In diesem Falle gibt einen dedetierten Master 10, der die Daten der Eingabegerä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 Vordan-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 insgesamt sechs Ansichten. Diese werden über die Projektoren 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 allen 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 akzeptable Ladezeiten realisieren zu können. Zwei Möglichkeiten bestehen zur Lösung dieses Problems:
    • – Lokale Replikation der Daten auf allen Slaves. In diesem Fall muß mittels zusätzlicher Softwareverfahren die Konsistenz dieser Daten auf allen Slaves sichergestellt werden.
    • – Verwendung eines dedizierten Servers zur zentralen Datenhaltung. Dieser Server wird mit breitbandigem Massenspeicher und mehreren Netzwerkports ausgerüstet, von denen jeder nur eine bestimmte Anzahl Slaves bedient. 8 zeigt eine Beispielkonfiguration für ein dreikanaliges Projektionssystern mit einem zentralen Server 20 zur Datenhaltung. Die zentralen Daten- und Applikationsverzeichnisse 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 einfachsten 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 Realität zur Erzeugung und Darstellung einer Vielzahl von Ansichten, die gemeinsam einen Szenegraphen darstellen, mit mindestens einem Sensor zur Erfassung von Positionen, Orientierungen und/oder Bewegungen und Erzeugung von Sensordaten, mindestens einer Ausgabevorrichtung zur Darstellung der Vielzahl von Ansichten, einem ersten Computer und mindestens einem weiteren Computer, zur Erzeugung jeweils mindestens einer Ansicht, die diesem zugeordnet ist, wobei jeder Computer Mittel enthält zur Erzeugung der ihm zugeordneten Ansicht aus dem Szenegraphen, einer ersten Übertragungsvorrichtung zur Übertragung der Sensordaten von dem Sensor zu dem ersten Computer sowie mit einer zweiten Übertragungsvorrichtung zur Übertragung der erzeugten Ansichten aus jedem Computer zu der Ausgabevorrichtung, dadurch gekennzeichnet, daß eine dritte Übertragungsvorrichtung zur Übertragung der Sensordaten von dem ersten Computer zu jedem weiteren Computer vorgesehen ist, und daß jeder Computer Mittel zur Simulation des Szenegraphen mit den empfangenen Sensordaten enthält.
  2. System nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß jeder Computer mindestens einen 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 Zeitpunkt einer der Bildspeicher beschreibbar und der andere Bildspeicher lesbar ist.
  4. System nach einem der beiden vorhergehenden Ansprü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, gekennzeichnet durch eine Synchronisationsvorrichtung zur Synchronisierung der Umschaltung der Bildspeicher aller Computer zwischen den beiden Zustä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 Synchronisationsvorrichtung miteinander verbunden sind.
  7. System nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Synchronisationsvorrichtung ein serielles Bussystem ist.
  8. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Ausgabevorrichtung ein stereoskopisches Projektionssystem aufweist.
  9. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Ausgabevorrichtung eine beliebige Anordnung von 1 bis n (n beliebig ≥ 2)Projektionsflächen für jeweils eine oder mehrerer Ansichten aufweist.
  10. Verfahren zur Darstellung einer Vielzahl von Ansichten, die gemeinsam einen Szenegraphen darstellen, wobei mit einem Sensor Positionen, Orientierungen und/oder Bewegungen erfaßt und Sensordaten erzeugt werden und die Sensordaten an einen ersten Computer übertragen werden, dadurch gekennzeichnet, daß der erste Computer die Sensordaten seinerseits an weitere Computer überträgt, in jedem der Computer auf der Basis der Sensordaten der Szenegraph simuliert und hieraus in jedem Computer eine diesem Computer zugeordnete Ansicht erzeugt wird und die so erzeugten Ansichten für denselben Szenegraphen zeitgleich dargestellt werden.
  11. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß jede Ansicht nach ihrer Erzeugung zuerst in einen Bildspeicher geschrieben und dann aus dem Bildspeicher ausgelesen und dargestellt wird.
  12. Verfahren nach dem vorhergehenden Anspruch, dadurch 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 ausgelesen und dargestellt wird, während in den zweiten Bildspeicher die nächstfolgende Ansicht geschrieben wird.
  13. Verfahren nach dem vorhergehenden Anspruch, dadurch 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, dadurch 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 DE10125075A1 (de) 2002-11-28
DE10125075B4 true 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
DE102006030923A1 (de) * 2006-07-03 2008-01-10 Siekmann, Jörg, Prof., Dr. Vorrichtung und Verfahren zur interaktiven Präsentation virtueller Realität

Families Citing this family (1)

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

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
DE102006030923A1 (de) * 2006-07-03 2008-01-10 Siekmann, Jörg, Prof., Dr. Vorrichtung und Verfahren zur interaktiven Präsentation virtueller Realität
DE102006030923B4 (de) * 2006-07-03 2009-04-09 Siekmann, Jörg, Prof., Dr. Vorrichtung und Verfahren zur interaktiven Präsentation virtueller Realität

Also Published As

Publication number Publication date
DE10125075A1 (de) 2002-11-28

Similar Documents

Publication Publication Date Title
McMillan et al. Head-tracked stereoscopic display using image warping
DE69132796T2 (de) Verfahren und gerät zur darstellung von grafischen bildern
DE19953595B4 (de) Verfahren und Vorrichtung zur Verarbeitung dreidimensionaler Bilder
DE19807028C2 (de) Synchronisation für das Rahmenpufferaustauschen in Multipipeline-Computergraphikanzeigesystemen
DE10110358B4 (de) Anordnung und Verfahren zur räumlichen Visualisierung
EP0789328B1 (de) Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
DE102013020808A1 (de) Effiziente Autostereo-Unterstützung unter Verwendung von Anzeigesteuerungsfenster
WO1997019423B1 (en) Three-dimensional drawing system and method
EP1815694A1 (de) Systeme und verfahren zur abbildung mehrerer ansichten eines einzelnen 3d-renderings ("multiple views")
EP1678561A1 (de) Verfahren und anordnung zur kombination von hologrammen mit computergrafik
DE69732465T2 (de) Bildverarbeitungsgerät und -verfahren
Nishimoto et al. Extending virtual reality display wall environments using augmented reality
US20040212612A1 (en) Method and apparatus for converting two-dimensional images into three-dimensional images
DE10125075B4 (de) Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen
DE102008056917A1 (de) Kooperationsfenster/wand
CN116610213A (zh) 虚拟现实中的交互显示方法、装置、电子设备、存储介质
RU54233U1 (ru) Система виртуального окружения
EP1302080A2 (de) Verfahren und anordnung zur ermittlung von aktuellen projektionsdaten für eine projektion einer räumlich veränderlichen fläche
Nocent et al. 3d displays and tracking devices for your browser: A plugin-free approach relying on web standards
Schild et al. Integrating stereoscopic video in 3D games
Savoy Dynamic stereo displays for research on the recovery of three-dimensional structure
WO2007085482A1 (de) Verfahren zur erzeugung und darstellung räumlich wahrnehmbarer bilder
Stickland et al. The development of a three dimensional imaging system and its application in computer aided design workstations
Chau et al. A simultaneous 2D/3D autostereo workstation
Li et al. Distributed Display technique Based on Virtools

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