-
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft Virtual-Reality-Systeme im allgemeinen und tragbare
Virtual-Reality-Systeme im besonderen.
-
HINTERGRUND
-
In
Computergraphik-Entwicklungslabors sind Virtual-Reality-Systeme
(VR-Systeme) bereits üblich. Diese
Technik ist beim normalen Verbraucher jedoch noch nicht sehr verbreitet.
Bei den meisten Virtual-Reality-Systemen werden besondere Displaysysteme
wie "VR-Brillen", "VR-Helme" und "Headup-Displays" verwendet, damit
das Gefühl
des Eintauchens in die virtuelle Umgebung stärker wird. Ein solches Displaysystem
kann ein Helm sein, der fortlaufend ein hochaufgelöstes Bild
direkt vor den Augen des Benutzers anzeigt. Ein solches System weist
auch in der Regel ein Hostprozessorsystem auf, das in der Lage ist,
eine Hochleistungs-3D-Graphik mit interaktiven Bildraten auszugeben.
-
Der
Helm kann mit einer Orts- und Orientierungsverfolgungsvorrichtung
versehen sein. Solche Vorrichtungen erzeugen eine sechsdimensionale
Beschreibung der angenäherten
Orts- und Orientierungskoordinaten des Helmträgers im dreidimensionalen Raum.
Die sechs Dimensionen werden als Position (x, y, z) und Orientierung
(Azimut, Höhe,
Neigung) aufgenommen. Diese Informationen werden einige zehn oder
hundert Mal pro Sekunde zum Hostprozessor übertragen und dazu verwendet,
die 3D-Abbildungen, die im Helm dargestellt werden, dynamisch zu
aktualisieren. Das Ergebnis ist, daß, wenn der Benutzer seinen
Kopf in der realen Welt bewegt, das System ein Bild anzeigt, das
die Bewegung des Kopfes in der virtuellen Welt simuliert. Das System
kann damit dem Benutzer das Gefühl
geben, in der virtuellen Welt herumzugehen und sie dabei zu betrachten.
Die Interaktion in der virtuellen Welt ist "natürlich", da sie von natürlichen
Bewegungen in der physikalischen Welt ausgelöst wird.
-
Bei
einer Ausführung
dieser Technik wird ein Emitter für ein dreidimensionales elektromagnetisches
Feld in der Decke angeordnet. Der Helm enthält einen Empfänger, der
das magnetische Feld erfassen und den Ort und die Orientierung des
Empfängers
feststellen kann. Der Empfänger
sendet diese Daten dann über
eine serielle Leitung zum Hostcomputer.
-
Die
gegenwärtige
Virtual-Reality-Technik hat jedoch nicht nur Vorteile, sondern auch
Nachteile. Zum einen sind die Einschränkungen bezüglich des Orts sehr stark,
wodurch die Technik nur an sehr wenigen Orten eingesetzt werden
kann. Bei einem Virtual-Reality-System
ist in der Regel ein eigens dafür vorgesehener
Raum für
die Aufnahme des Systems und die Generatoren des elektromagnetischen
Felds erforderlich. Außerdem
ist für
das Anzeige- und Verfolgungssystem ein Kabel mit einer bestimmten
Länge erforderlich, das
es mit dem Hostsystem verbindet, das die Berechnungen für die Anzeige
und die Verarbeitung der Position vornimmt. Solche Systeme sind
daher unvermeidlich nicht tragbar.
-
Ein
anderes Problem ist, daß VR-Helme
physikalisch unbequem sein können.
Viele Helme sind zu schwer, um für
eine längere
Zeitspanne getragen zu werden. Außerdem ist die VR-Simulatorkrankheit ein
häufig
festgestelltes Problem. Die vorgeschlagenen Lösungen zur Vermeidung der Simulatorkrankheit
geben dem Benutzer einen visuellen Hinweis auf die reale Welt (entweder
durch ein überlagertes schmales
Videofenster der realen Welt oder durch synthetische Objekte, die
bezüglich
der realen Welt verankert sind). Auch werden von den gegenwärtigen Displays
die Augen des Benutzers stark beansprucht, da es erforderlich ist,
die Augen lange Zeit auf eine geringe Distanz zu fokussieren. Schließlich sind
viele Benutzer nicht gewillt, viel Zeit in einem starken elektromagnetischen
Feld zu verbringen.
-
Nicht
zuletzt werden die Träger
von VR-Helmen oft auch sozial nicht angenommen. Die Träger von
Helmen fühlen
sich unbequem oder eigenartig, wenn sie vor anderen Leuten Headup-Displays
tragen. Beim Tragen dieser Vorrichtungen können andere Leute so gut wie
nicht wahrgenommen werden, wodurch die sozialen Kontakte abnehmen.
Auch die Umkehrung gilt: Leute können
sich unbequem fühlen,
wenn sie mit Personen agieren sollen, die VR-Helme tragen.
-
Die
US 6 009 210 beschreibt
ein freihändig zu
verwendendes Navigationssystem zum Verfolgen des Kopfes und zum
entsprechenden Einstellen des Displays einer Virtual-Reality-Umgebung.
Eine Kamera nimmt das Gesicht des Benutzers unter einem geneigten
Winkel auf. Durch Verarbeiten des Bildes des Gesichts werden Verschiebungen
des Gesichts erfaßt
und die Darstellung der Virtual-Reality-Umgebung dann entsprechend
modifiziert.
-
Die
Druckschrift "Meteorology
meets Computer gaphics – a
look at a wide range of weather visualisations for diverse audiences", Computer & Graphics 24 (2000),
391–397
beschreibt die Verwendung von Computergraphiken bei der Visualisierung
von meteorologischen Daten. Die Druckschrift sieht ein auf dem Kopf
befestigtes Durchsicht-Display vor, das mit einem tragbaren Computer
verbunden ist, der individuelle Text- und Graphikinformationen zu
der nach wie vor sichtbaren Umgebung hinzufügt.
-
Mit
der vorliegenden Erfindung wird unter einem ersten Gesichtspunkt
ein Verfahren für
ein Virtual-Reality-System geschaffen, wie es im Patentanspruch
1 beschrieben ist.
-
Mit
der vorliegenden Erfindung wird unter einem zweiten Gesichtspunkt
ein System geschaffen, wie es im Patentanspruch 12 beschrieben ist.
-
Mit
der vorliegenden Erfindung wird unter einem dritten Gesichtspunkt
ein maschinenlesbares Medium geschaffen, wie es im Patentanspruch
19 beschrieben ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein Übersichtsdiagramm
für eine Ausführungsform
der vorliegenden Erfindung auf der Systemebene.
-
2A zeigt
eine Blockdarstellung einer Ausführungsform
einer erfindungsgemäßen Vorrichtung
zum Berechnen einer virtuellen Szene.
-
2B zeigt
eine Blockdarstellung einer anderen Ausführungsform einer Vorrichtung
zum Berechnen einer virtuellen Szene.
-
2C zeigt
eine Blockdarstellung einer weiteren Ausführungsform einer Vorrichtung
zum Berechnen einer virtuellen Szene.
-
3 ist
ein Flußdiagramm
für ein
Verfahren, das bei einer Ausführungsform
der vorliegenden Erfindung von einem Computer ausgeführt wird.
-
4 ist
ein Flußdiagramm
für ein
Verfahren, das bei einer alternativen Ausführungsform der vorliegenden
Erfindung von einem Computer ausgeführt wird.
-
5A bis 5D sind
Flußdiagramme
für Ausführungsformen
von Verfahren zur Bewegungsanalyse, die bei alternativen Ausführungsformen
der vorliegenden Erfindung ausgeführt werden.
-
6 ist
eine Darstellung der Operationsumgebung bei einer Ausführung der
vorliegenden Erfindung.
-
7 ist
eine Darstellung eines computerlesbaren Mediums, das in einer Operationsumgebung
wie der Operationsumgebung der 6 bei einer
Ausführungsform
der vorliegenden Erfindung verwendet werden kann.
-
GENAUE BESCHREIBUNG
-
Es
wird eine tragbare virtuelle Realität beschrieben. In der folgenden
Beschreibung werden zur Erläuterung
viele bestimmte Details angeführt, damit
die Erfindung vollständig
verstanden werden kann. Dem Fachmann ist jedoch klar, daß diese
bestimmten Details bei der Ausführung
der vorliegenden Erfindung nicht angewendet werden müssen. In anderen
Fällen
sind bekannte Strukturen und Geräte in
der Form einer Blockdarstellung gezeigt, damit die Beschreibung
der vorliegenden Erfindung nicht unnötig kompliziert wird.
-
Eine
Digitalkamera erzeugt einen Eingangs-Videosignalstrom, der Videobilder
enthält,
die Informationen über
die vorhandene Umgebung enthalten, die vom Sichtfeld der Kamera
begrenzt wird. Der Eingangs-Videosignalstrom wird von einem Handcomputer
verarbeitet, der mit der Kamera verbunden ist. Die Parameter, die
eine berechnete Szene einer virtuellen Umgebung definieren, werden
auf der Basis von Bewegungsparametern festgelegt, die durch die
Verarbeitung im Handcomputer aus dem Eingangs-Videosignalstrom extrahiert
wurden. Die Ausführung
der vorliegenden Erfindung ergibt ein wirklich tragbares Virtual-Reality-System
(VR-System). Es ist dabei keine unförmige und unbequeme Ausrüstung erforderlich,
die vom Benutzer zu tragen wäre.
Auch werden damit die sozialen Barrieren beseitigt, die die gegenwärtige VR-Technik
aufbaut. Schließlich
sind auch die Kosten für
das System gegenüber
dem gegenwärtigen
System erheblich geringer.
-
Die 1 zeigt
ein Übersichtsdiagramm
für eine
Ausführungsform
der vorliegenden Erfindung auf der Systemebene. Die Vorrichtung 110 zum
Berechnen einer virtuellen Szene kann eine Digitalkamera zum Erzeugen
eines Eingangs-Videosignalstroms, der Bil der wie Bilder mit Informationen über das
Sichtfeld der digitalen Kamera enthält, und einen Handcomputer
umfassen, der mit der digitalen Kamera verbunden ist. In einer Ausführungsform
nimmt der Handcomputer den Eingangs-Videosignalstrom von der digitalen
Kamera auf und führt
an diesem eine Bewegungsanalyse durch. Der Handcomputer legt dann
die Parameter für
die Berechnung der virtuellen Umgebung auf der Basis der Bewegungsanalyse
des Eingangs-Videosignalstroms fest.
-
Die
Vorrichtung 110 zum Berechnen einer virtuellen Szene kann
selbständig
arbeiten oder sich in einer Netzwerkumgebung befinden; die Erfindung ist
da nicht eingeschränkt.
In einer Ausführungsform mit
einem Netzwerk ist die Anwendung auf mehrere Prozessoren verteilt.
In einer anderen Ausführungsform
erfaßt
die Vorrichtung 110 den Eingabe-Videosignalstrom. Die Verarbeitung
des Video-Signalstroms kann dann in der Vorrichtung 110 erfolgen
oder in einem anderen Prozessor, etwa dem Prozessor in einem Server 120,
der mit der Vorrichtung 110 verbunden ist, oder in einem
Client-Computer 130, der mit dem Server 120 verbunden
ist. Die virtuelle Szene kann auf ein räumlich entferntes Display ausgegeben und
dort berechnet werden, etwa auf einem Display 140, das
mit dem Client-Computer 130 verbunden ist. Eine solche
Anwendung kann dazu verwendet werden, eine virtuelle Szene räumlich entfernten
Betrachtern darzustellen, die Erfindung ist darauf jedoch nicht
beschränkt.
-
In
alternativen Ausführungsformen
kann die Vorrichtung 110 zum Berechnen einer virtuellen
Szene eine Vorrichtung wie die Vorrichtung 200 der 2A oder
die Vorrichtung 250 der 2B oder
die Vorrichtung 290 der 2C sein.
-
Die 2A zeigt
eine Blockdarstellung einer Ausführungsform
einer erfindungsgemäßen Vorrichtung
zum Berechnen einer virtuellen Szene. Eine Digitalkamera 210 erzeugt
einen Eingangs-Videosignalstrom mit Bildern der vorhandenen Umgebung, die
das Sichtfeld der digitalen Kamera anzeigen. Mit der Digitalkamera 210 ist
der Handcomputer 220 verbunden, der den Eingangs-Videosignalstrom
von der Digitalkamera 210 aufnimmt und an diesem Eingangs-Videosignalstrom
eine Bewegungsanalyse ausführt.
Der Handcomputer 220 legt dann die berechnete Szene einer
virtuellen Umgebung auf der Basis der Bewegungsanalyse am Eingangs-Videosignalstrom
fest.
-
Die 2B zeigt
eine Blockdarstellung einer anderen Ausführungsform einer Vorrichtung
zum Berechnen einer virtuellen Szene. Mit dem Handcomputer 220 ist
das Display 230 verbunden. In einer Ausführungsform
ist das Display 230 eine Komponente des Handcomputers 220.
In einer anderen Ausführungsform
ist das Display ein beliebiges Display für einen Handcomputer, etwa
zum Beispiel ein Flüssigkristalldisplay
(LCD). Mit dem Handcomputer 220 kann auch ein Rauschfilter 240 verbunden
sein. Der Rauschfilter 240 kann das Rauschen aus dem Eingangs-Videosignalstrom
herausfiltern, bevor eine virtuelle Szene berechnet wird. Die Rauschfilterung kann
erforderlich sein, um die Auswirkungen des Verwackelns der Vorrichtung
in der Hand des Benutzers zu verringern.
-
Die
Bildblöcke
im Eingangs-Videosignalstrom enthalten Informationen über den
Teil der vorhandenen Umgebung, der im Sichtfeld der Kamera sichtbar
ist. Der Handcom puter 220 verarbeitet den Eingangs-Videosignalstrom,
um Daten über
die visuelle Bewegung zu erhalten. Auf dem Display 230 kann
kontinuierlich eine Szene einer virtuellen Umgebung ausgegeben werden.
Der zum Einstellen der virtuellen Szene verwendete Standpunkt wird
anhand der Bewegungsparameter festgelegt, die aus dem Eingangs-Videosignalstrom
extrahiert wurden. Die Bewegung der Vorrichtung 250 zum
Berechnen der Szene bestimmt die Einstellung und Erzeugung der virtuellen
Szene.
-
2C zeigt
eine Blockdarstellung einer weiteren Ausführungsform einer Vorrichtung
zum Berechnen einer virtuellen Szene. Als Interface zwischen der
Digitalkamera 210 und dem Handcomputer 220 ist
ein Algorithmussystem 260 vorgesehen. Im Algorithmussystem 260 befindet
sich ein Computerbild-Subsystem 270. Das Computerbild-Subsystem 270 führt am Eingangs-Videosignalstrom
eine Bewegungsanalyse aus. Das Computerbild-Subsystem 270 kann für die Bewegungsanalyse
eine Gesichts- und Hintergrundsegmentierung, eine Bestimmung des
optischen Flusses und/oder eine Gesichtsverfolgung durchführen. Ein
Berechnungs-Subsystem 280 im Algorithmussystem 260 nimmt
das Ausgangssignal vom Computerbild-Subsystem 270 auf, etwa
Befehle zum Einstellen des Azimut, der Höhe, der Neigung oder der Vergrößerung,
und stellt die berechnete Szene auf der Basis dieses Ausgangssignals
am Display 230 dar. In einer Ausführungsform werden Bilder eines
Benutzers von der Digitalkamera 210 aufgenommen und vom
Computerbild-Subsystem 270 aufgenommen. Das 3D-Berechnungs-Subsystem 280 nimmt
die Informationen aus der Bewegungsanalyse vom Computerbild-Subsystem 270 auf und
erzeugt die virtuelle Szene für
die Ausgabe am Display 230.
-
Die 3 ist
ein Flußdiagramm
für ein
Verfahren, das bei einer Ausführungsform
der vorliegenden Erfindung ausgeführt wird. Im Block 305 erzeugt eine
Digitalkamera einen Eingangs-Videosignalstrom mit Videobildern auf,
die Informationen über
die vorhandene Umgebung enthalten, die vom Sichtfeld der Kamera
begrenzt wird. In einer Ausführungsform
enthalten die Videobilder Bilder der vorhandenen Umgebung. Im Block 310 verarbeitet
der mit der Digitalkamera verbundene Handcomputer den Eingangs-Videosignalstrom.
Im Block 315 werden die Parameter, die eine berechnete
Szene einer virtuellen Umgebung definieren, auf der Basis von Bewegungsanalyseinformationen
(Bewegungsparametern) festgelegt, die bei der Verarbeitung vom Handcomputer
aus dem Eingangs-Videosignalstrom extrahiert wurden.
-
Die 4 ist
ein Flußdiagramm
für ein
Verfahren, das bei einer alternativen Ausführungsform der vorliegenden
Erfindung ausgeführt
wird. Im Block 405 erzeugt eine Digitalkamera einen Eingangs-Videosignalstrom
mit Videobildern, die Informationen über die Umgebung enthalten,
die vom Sichtfeld der Kamera eingeschränkt wird. Im Block 410 wird
der Eingangs-Videosignalstrom von dem Handcomputer aufgenommen und
verarbeitet, der mit der Kamera verbunden ist. Im Block 415 werden
die Parameter, die eine berechnete Szene einer virtuellen Umgebung
definieren, auf der Basis der Bewegungsanalyseinformationen festgelegt,
die vom Handcomputer aus dem Eingangs-Videosignalstrom extrahiert
wurden. In einer Ausführungsform
umfaßt
die Festlegung die Bilderzeugung. Im Block 420 wird die
auf der Basis der festgelegten Szenendefinitionsparameter berechnete
Szene der virtuellen Umgebung dem Benutzer auf einem Display präsentiert.
Im Block 425 wird das Rauschen aus dem Eingangsvideosignalstrom
herausgefiltert, bevor die Analyse und Bildberechnung erfolgt.
-
Die 5A bis 5D sind
Flußdiagramme für Ausführungsformen
von bestimmten Bewegungsanalyseverfahren, die bei alternativen Ausführungsformen
der vorliegenden Erfindung ausgeführt werden. In der Ausführungsform
der 5A erfolgt die Bewegungsanalyse durch Verfolgen
des Orts eines herausragenden Merkmals oder von herausragenden Merkmalen
im Eingangs-Videosignalstrom. Im Block 505 wird der Ort
eines herausragenden Merkmals in einem ersten Bildblock bestimmt.
Im Block 510 wird der Ort des herausragenden Merkmals in
einem nachfolgenden Bildblock bestimmt. Im Block 515 wird
die Bewegung des herausragenden Merkmals als Funktion einer Bewertung
des Orts des Merkmals in Abhängigkeit
von der Zeit ermittelt.
-
Die 5B zeigt
eine andere Ausführungsform,
bei der die Bewegungsanalyse durch Berechnen der Hauptbewegung des
optischen Flusses des Eingangs-Videosignalstroms erfolgt. Im Block 520 wird
der optische Fluß von
Pixeln im Eingangs-Videosignalstrom berechnet. Im Block 525 wird
aus dem optischen Fluß eine
statistisch dominante Bewegung extrahiert. Die Extraktion der statistisch
dominanten Bewegung kann das Speichern der Ergebnisse der Berechnung
des optischen Flusses für
eine Anzahl von Bildblöcken
des Eingangs-Videosignalstroms in einem Cache-Speicher und das Ausführen einer Hauptkomponentenanalyse
an den im Cache-Speicher gespeicherten Ergebnissen zur Bestimmung
der statisch dominanten Bewegung umfassen. In einer anderen Ausführungsform
wird die Bewegungsanalyse bei einer Bewegung des Handcomputers durch den
Benutzer auf die Hauptbewegung des Hintergrunds im Bild beschränkt. Um
die Bestimmung der Gesamtbewegung robuster zu machen, wird dabei das
Gesicht des Benutzers vom Hintergrund getrennt.
-
Die 5C zeigt
eine alternative Ausführungsform,
bei der die berechnete Szene auf der Basis der Gesichtsbewegung
festgelegt wird. Im Block 530 werden die Parameter gemessen,
die das Bild des Gesichts des Benutzers beschreiben. Im Block 535 wird
um das Bild des Gesichts ein Begrenzungsrahmen erzeugt. Ein Begrenzungsrahmen
ist ein unsichtbares Rechteck um ein Objekt oder Bild auf einem
Schirm. Der Begrenzungsrahmen kann durch Begrenzungsrahmenparameter
definiert werden. Im Block 540 erfolgt durch einen Vergleich
der Größe des Begrenzungsrahmens
um das Bild des Gesichts zum gegenwärtigen Zeitpunkt mit der Größe des Begrenzungsrahmens
um das Bild des Gesichts zu Beginn eine Vergrößerungsoperation. Im Block 545 erfolgt
durch einen Vergleich der Neigung des Begrenzungsrahmens um das
Bild des Gesichts zum gegenwärtigen
Zeitpunkt mit der Neigung des Begrenzungsrahmens um das Bild des
Gesichts zu Beginn eine Festlegung der Neigung. Im Block 547 erfolgt durch
einen Vergleich der vertikalen Position des Begrenzungsrahmens zum
gegenwärtigen
Zeitpunkt mit der vertikalen Position des Begrenzungsrahmens zu
einem früheren
Zeitpunkt eine Festlegung der Änderung
in der Höhe.
Im Block 548 erfolgt durch einen Vergleich der horizontalen
Position des Begrenzungsrahmens zum gegenwärtigen Zeitpunkt mit der horizontalen
Position des Begrenzungsrahmens zu einem früheren Zeitpunkt eine Festlegung
der Änderung
des Azimuts.
-
Die 5D zeigt
eine alternative Ausführungsform,
bei der die berechnete Szene auf der Basis der Blickrichtung der
Augen des Benutzers festgelegt wird. Im Block 550 werden
in vorgegebenen Zeitabständen
die Parameter für
die Blickrichtung der Augen gemessen. Die Parameter für die Blickrichtung
der Augen können
vertikale und horizontale Blickrichtungswinkel umfassen, die Erfindung
ist da nicht eingeschränkt.
Im Block 555 erfolgt durch einen Vergleich des horizontalen
Blickrichtungswinkels zum gegenwärtigen
Zeitpunkt mit dem horizontalen Blickrichtungswinkel zu einem früheren Zeitpunkt eine
Festlegung der Änderung
des Azimuts. Im Block 560 erfolgt durch einen Vergleich
des vertikalen Blickrichtungswinkels zum gegenwärtigen Zeitpunkt mit dem vertikalen
Blickrichtungswinkel zu einem früheren
Zeitpunkt eine Festlegung der Änderung
in der Höhe.
-
Die 6 zeigt
ein Beispiel für
ein Computersystem, das bei der Ausführung der vorliegenden Erfindung
verwendet werden kann. In der 6 sind zwar
verschiedene Komponenten eines Computersystems dargestellt, es ist
jedoch nicht vorgesehen, eine besondere Architektur oder Art der
Verbindung der Komponenten darzustellen, da solche Details nicht
Gegenstand der vorliegenden Erfindung sind. Es ist auch klar, daß Netzwerkcomputer
und andere Datenverarbeitungssysteme mit weniger Komponenten oder
vielleicht auch mehr Komponenten ebenfalls bei der vorliegenden
Erfindung verwendet werden können.
-
Wie
in der 6 gezeigt, umfaßt das Computersystem 601,
das eine Art eines Datenverarbeitungssystems ist, einen Bus 602,
der mit einem Mikroprozessor 603, einem ROM 607 und
einem flüchtigen
RAM 605 sowie einem nichtflüchtigen Speicher 606 verbunden
ist. Wie im Beispiel der 6 gezeigt, ist der Mikroprozessor 603 mit
einem Cache-Speicher 604 verbunden. Der Bus 602 verbindet
diese Komponenten miteinander, er verbindet diese Komponenten 603, 604, 605 und 606 auch
mit einer Displaysteuerung und Displayvorrichtung 608 und
mit peripheren Vorrichtungen wie Eingabe/Ausgabevorrichtungen (I/O-Vorrichtungen),
die Digitalkameras, Mäuse,
Tastaturen, Modems, Netzwerkinterfaces, Drucker und andere bekannte
Vorrichtungen sein können.
In der Regel sind die Ein/Ausgabevorrichtungen 610 mit
dem System über
Ein/Ausgabesteuerungen 609 verbunden. Der flüchtige RAM 605 ist meist
ein dynamischer RAM (DRAM), der kontinuierlich Energie benötigt, um
die Daten im Speicher aufzufrischen und zu erhalten. Der nichtflüchtige Speicher 606 ist
in der Regel eine magnetische Festplatte oder ein magnetischoptisches
Laufwerk oder ein optisches Laufwerk oder ein DVD-RAM oder eine
andere Art von Speichersystem, bei der die Daten erhalten bleiben,
auch wenn die Stromversorgung für
das System abgeschaltet wird. Meist ist der nichtflüchtige Speicher
auch ein Direktzugriffsspeicher, auch wenn dies nicht erforderlich
ist. Die 6 zeigt den nichtflüchtigen
Speicher 606 als lokale Vorrichtung, die direkt mit den
anderen Komponenten des Datenverarbeitungssystems verbunden ist,
bei der vorliegenden Erfindung kann jedoch auch ein vom System räumlich entfernter
nichtflüchtiger
Speicher verwendet werden, etwa ein Netzwerkspeicher, der über ein Netzwerkinterface
wie ein Modem oder ein Ethernetinterface mit dem Datenverarbeitungssystem
verbunden ist. Der Bus 602 kann einen oder mehrere Busse
umfassen, die miteinander über
verschiedene Brücken,
Steuerungen und/oder Adapter verbunden sind, wie es allgemein bekannt
ist. In einer Ausführungsform
umfaßt
die I/O-Steuerung 609 einen USB-Adapter (Universal Serial
Bus) zum Steuern von USB-Peripheriegeräten.
-
Aus
der vorliegenden Beschreibung geht hervor, daß Aspekte der Erfindung zumindest
teilweise in von Maschinen ausführbaren
Anweisungen, d. h. Software, liegen können. Das heißt, daß die beschriebenen
Techniken mit einem Computersystem oder einem anderen Datenverarbeitungssystem
ausgeführt
werden können,
wenn dessen Prozessor, etwa ein Mikroprozessor, die in einem Speicher
wie dem ROM 607, dem flüchtigen
RAM 605, dem nichtflüchtigen
Speicher 606, dem Cache-Speicher 604 oder einer
entfernten Speichervorrichtung enthaltenen Folgen von Anweisungen
ausführt.
In verschiedenen Ausführungsformen
können
in Verbindung mit Softwareanweisungen zum Ausführen der vorliegenden Erfindung
fest verdrahtete Schaltungen verwendet werden. Die beschriebenen
Techniken sind nicht auf eine bestimmte Kombination von fest verdrahteten
Schaltungen und Software und auch nicht auf eine bestimmte Quelle
für die
vom Datenverarbeitungssystem ausgeführten Anweisungen beschränkt. In
der vorliegenden Beschreibung wurden verschiedene Funktionen und
Operationen als von Softwarecode ausgeführt oder veranlaßt dargestellt,
um die Beschreibung zu vereinfachen. Der Fachmann erkennt jedoch,
daß damit
gemeint ist, daß sich
die Funktionen bei der Ausführung
von Code durch einen Prozessor wie dem Mikroprozessor 603 ergeben.
-
Die 7 zeigt
ein Beispiel ein ein computerlesbares Medium, das bei einer Ausführungsform des
erfindungsgemäßen Datenverarbeitungssystems
verwendet werden kann. Das computerlesbare Medium enthält Daten
und ausführbare
Software, die, wenn sie vom Datenverarbeitungssystem ausgeführt wird,
das System veranlassen, die verschiedenen erfindungsgemäßen Verfahren
durchzuführen. Wie
angegeben können
die ausführbare
Software und die Daten an verschiedenen Plätzen gespeichert sein, einschließlich zum
Beispiel dem ROM 607, dem flüchtigen RAM 605, dem
nichtflüchtigen
Speicher 606 und/oder dem Cache-Speicher 604.
Teile der Software und/oder Daten können in einer dieser Speichervorrichtungen
gespeichert sein. Das Medium 701 kann in einer Ausführungsform
zum Beispiel hauptsächlich
den flüchtigen
RAM 605 und den nichtflüchtigen
Speicher 606 umfassen. Die Benutzeranwendung 703 steht
für Softwareanwendungen,
die auf dem Computersystem ausgeführt werden, etwa eine Textverarbeitung
oder ein Tabellenkalkulationsprogramm, ein Internet-Webbrowser oder
ein Berechnungsprogramm für
virtuelle Szenen. Das Betriebssystem 707 enthält die Software 715 mit
offener Firmware, die im ROM 607 gespeichert sein kann und
beim Booten in den RAM 605 geladen wird. Die Hardwarestatussoftware 711 für den Hardwarestatuswert
ist eine Software, die den Hardwarestatuswert erzeugt. Der Kerncode 709 bezeichnet
den Kern des Betriebssystems und führt zahlreiche Aufgaben aus.
Die Software 721 zur Verwaltung des virtuellen Speichers
steuert die virtuellen Speicherprozesse. Dies umfaßt in der
Regel das Unterhalten einer Abbildung von Seitendaten, die den Status
der Daten in allen virtuellen Speichern angeben, die den physikalischen
RAM wie den flüchtigen
RAM 605 und einen Teil des nichtflüchtigen Speichers 606 umfassen,
die als Teil des virtuellen Speichers des Systems vorgesehen sind.
Die virtuelle Speicherverwaltung führt die bekannten, herkömmlichen
virtuellen Speicherprozesse aus. Die Software 719 zur Energieverwaltung führt die
verschiedenen Energieverwaltungsvorgänge wie die Benachrichtigung
von Anweisungen und dem System und von Treibern über Änderungen im Stromverbrauch
des Systems aus. Die Software kann auch den Zustand einer Computerbatterie überwachen,
um festzustellen, ob für
die Fortsetzung des Betriebs genügend
Energie zur Verfügung
steht, und um Warnungen an den Benutzer auszugeben, die den Zustand
der Batterie und der Stromversorgung des Systems anzeigen. Die Software 717 für den Laufwerkbetrieb
führt die
herkömmlichen
Funktionen eines Laufwerk-Betriebssystems aus. Dies schließt in der
Regel das Steuern des Betriebs eines Festplattenlaufwerks ein, das
in vielen Fällen
den nichtflüchtigen
Speicher 606 umfaßt,
der als virtueller Speicher für
den flüchtigen
RAM 605 dient.
-
Die
in den Blöcken
in den 3 bis 5D enthaltenen Anweisungen brauchen
nicht in der dargestellten Reihenfolge ausgeführt werden. Es ist zur Ausführung der
Erfindung auch nicht notwendig, daß alle der von den Blöcken bezeichneten
Prozesse durchgeführt
werden.
-
In
der vorliegenden Beschreibung wird die Erfindung anhand von bestimmten,
beispielhaften Ausführungsformen
erläutert.
Es ist offensichtlich, daß verschiedene
Modifikationen möglich
sind, ohne den Umfang der Erfindung zu verlassen, der in den folgenden
Patentansprüchen
angegeben ist. Die Beschreibung und die Zeichnungen sind nur beispielhaft
und nicht in einem einschränkenden
Sinn zu verstehen.