DE10024161A1 - Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung - Google Patents

Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung

Info

Publication number
DE10024161A1
DE10024161A1 DE10024161A DE10024161A DE10024161A1 DE 10024161 A1 DE10024161 A1 DE 10024161A1 DE 10024161 A DE10024161 A DE 10024161A DE 10024161 A DE10024161 A DE 10024161A DE 10024161 A1 DE10024161 A1 DE 10024161A1
Authority
DE
Germany
Prior art keywords
triangle
triangles
head
viewpoint
interpolated
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.)
Withdrawn
Application number
DE10024161A
Other languages
English (en)
Inventor
Philip Skolmoski
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.)
Evans and Sutherland Computer Corp
Original Assignee
Evans and Sutherland Computer Corp
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 Evans and Sutherland Computer Corp filed Critical Evans and Sutherland Computer Corp
Publication of DE10024161A1 publication Critical patent/DE10024161A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/30Simulation of view from aircraft
    • G09B9/307Simulation of view from aircraft by helmet-mounted projector or display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Ein Verfahren zur Vorhersage und zur Zielverfolgung von Augenbewegungen für Kopfzielverfolgungsprojektoren unterteilt eine Projektionsoberfläche in Kugeldreiecke und verwendet Interpolationskalibrierwerte, die bei jeder Spitze des Dreiecks gespeichert sind. Es wird eine Kalibrierabbildung verwendet, die Information über die Beziehung zwischen der Kopforientierung des Benutzers und dem Ort enthält, welchen der Benutzer mit seinen Augen betrachtet, an jedem Kalibrierpunkt. Die Projektionsoberfläche ist in Kugeldreiecke unterteilt, die durchsucht werden, um das Dreieck aufzufinden, welches den interpolierten Betrachtungspunkt des Benutzers enthält, mittels Durchführung eines Skalarprodukttests zwischen dem interpolierten Betrachtungspunkt und den Einheitsnormalenvektoren innerhalb der drei Ebenen, welche die Seiten des Kugeldreiecks bilden, und zurück zum Augenpunkt verlängert sind. Wenn ein Skalarprodukttest für irgendeine Seite des Dreiecks versagt, wird ein Zeiger zum benachbarten Dreieck verfolgt, wo der Test erneut beginnt. Wenn das Dreieck gefunden wird, in welchem sich der interpolierte Betrachtungspunkt befindet, wird das ausgewählte Dreieck in drei Unterdreiecke aufgeteilt. Dann wird die Fläche der Unterdreiecke innerhalb des ausgewählten Dreiecks berechnet. Die Flächen der Unterdreiecke werden dann dazu verwendet, Verhältnisse der Unterdreiecksflächen in Bezug auf die Fläche des ausgewählten Kugeldreiecks zu ermitteln, zur Gewichtung der Kalibrierpunkte, die für ...

Description

Die vorliegende Erfindung betrifft allgemein das Gebiet der Projektion und Anzeige von Computer, und insbesondere die Vorhersage der Augenbewegung eines Benutzers in einem auf Projektion beruhenden Computergraphiksimulationssystem.
Bildprojektionssysteme, bei denen der Kopf einen interessierenden Bereich verfolgt, werden für Flugsimulatoren und das militärische Flugsimulatortraining verwendet. Der ideale Simulator sollte eine durch das Auge begrenzte Auflösung und ein unbegrenztes Auflösungsfeld aufweisen. Zahlreiche Systeme stellen entweder eine hohe Auflösung über ein enges Gesichtsfeld oder eine niedrige Auflösung über ein breites Gesichtsfeld zur Verfügung, infolge von Begrenzungen durch die Rechnerleistung und Einschränkungen in Bezug auf die optische Abbildung. Jede dieser Möglichkeiten beschränkt die Effektivität des Trainings. Vor kurzem wurden Simulatorprojektionssysteme entwickelt, mit denen ein größeres Gesichtsfeld, verbunden mit einem Bild mit höherer Auflösung an dem jeweils interessierenden Brennpunkt eines Benutzers erzielt werden soll. Ein derartiges Gerät verwendet einen Kopfverfolgungsprojektor und einen kompakten Zielprojektor zur Ausbildung von Bildern auf einer Kuppel, innerhalb derer sich der Benutzer befindet. Ein Einsatz mit hoher Auflösung sorgt für eine gute Abbildung für das Sehen mit der Fovea, und der Hintergrund bildet ein Bild für das periphere Sehen. Bei einem derartigen System werden nur Generatorkanäle für zwei Bilder dazu benötigt, das gesamte Gebiet der Kuppel abzudecken, was äußerst effizient ist. Derartige Geräte stellen eine unter Kostengesichtspunkten vorteilhafte Lösung für das Luft-Luft- und das Luft-Boden- Fluggefechtstraining zur Verfügung.
Die Kopfverfolgungs-Projektorsysteme zeigen das Bild, das sich einem Piloten durch das Fenster seines Flugzeugs darbieten würde, durch Anordnung eines Bildes mit hoher Auflösung nur dort dar, wo der Pilot innerhalb eines die gesamten 360 Grad umfassenden Bildes hinblickt. Hierzu benötigt das Simulationsgerät Information darüber, wohin der Pilot sieht. Die Information wird durch eine Kopfziehverfolgungsvorrichtung zur Verfügung gestellt, die am Helm des Piloten angebracht ist. Diese Information wird dazu verwendet, dem Bildgenerator (IG) mitzuteilen, wohin der Pilot sieht, so daß der Projektorport für das Bild ordnungsgemäß ausgerichtet werden kann. Die Betrachungsinformation des Piloten wird ebenfalls von dem IG und seiner zugehörigen Projektorhardware dazu verwendet, die Orientierung von Projektorservovorrichtungen zu steuern, so daß das Bild dahin projiziert wird, wohin der Pilot sieht.
Diese Aktivitäten müssen sorgfältig koordiniert werden, so daß das richtige IG-Bild der Projektionshardware am richtigen Ort auf der Kuppeloberfläche zur Verfügung gestellt wird. Wen die beiden Vorgänge nicht sorgfältig synchronisiert sind, scheint das Bild auf der Kuppeloberfläche herum zu gleiten.
Ist die Information zu langsam, so kann der Pilot bereits seinen Kopf erneut bewegt haben, so daß es so aussieht, daß das Bild dem Ort nachläuft, zu welchem der Pilot blickt. Die Hauptkritik an Kopfverfolgungsprojektorsimulatoren, die momentan auf diesem Gebiet bekannt sind, besteht darin, daß das Bild normalerweise dem Ort nachläuft, zu welchem der Pilot hinsieht.
Es gibt verschiedene Gründe für dieses Nachlaufen. Ein Problem besteht darin, daß die heutigen Hardwareschnittstellen zwischen Kopfzielverfolgungsgeräten und den IGs (oder Projektoren) zu langsam sind. Die Zeitverzögerung zwischen der Messung und Orientierung und dem Zeitpunkt der Verfügbarkeit der Daten für den IG und die Projektorhardware ist zu groß. Darüber hinaus sind die Daten rauschbehaftet, so daß dann, wenn sich die Kopfzielverfolgungsvorrichtung in Ruhe befindet, Änderungen der Kopfposition und Orientierung des Piloten vorhanden zu sein scheinen.
Es wurden zahlreiche Versuche zu dem Zweck unternommen, die Nachteile der Verzögerung zu überwinden, die momentan bei Kopfzielverfolgungsprojektoren vorhanden ist. Ein Verfahren zur Verringerung des Nachlaufs besteht in der Erhöhung der aktuellen Kommunikationsgeschwindigkeit der Hardware. Bei einem anderen Verfahren konnten Konstrukteure einen gewissen Anteil der Verzögerung dadurch verringern, daß sie eine Doppelpufferung der Kopfzielverfolgungsdaten durchführten, so daß auf diese asynchron unter Verwendung der Hochgeschwindigkeits-Kommunikationshardware zugegriffen werden kann. Diese Vorgehensweisen verringern den Nachlauf, jedoch waren heutige Hardwarelösungen nicht dazu fähig, den Nachlauf ausreichend zu verringern.
Ein anderes mögliches Verfahren zum Minimieren der Verzögerung der Lieferung von Kopfbewegungsdaten besteht darin, zu versuchen, die Kopfbewegung eines Benutzers vorherzusagen, was bei der Stabilisierung des Bildes hilfreich wäre. Selbstverständlich gibt es keine Möglichkeit, exakt vorherzusagen, wohin ein Pilot sehen wird, jedoch kann Information auf der Grundlage der Kopfbewegung eines Benutzers dazu verwendet werden, zu versuchen, vorherzusagen, wohin der Pilot in Zukunft sehen wird. Es wurde Versuche durchgeführt, um eine Beziehung zwischen der Kopfbewegung und der Augenbewegung aufzufinden. Allerdings hat diese Art von Forschung keine erkennbaren Muster der Bewegung erbracht, die nützlich sind.
Andere Hardwarelösungen zur Überwindung dieses Problems waren ebenfalls nicht erfolgreich. Beispielsweise wurde ein Prototyp einer Kopverfolgungsvorrichtung unter Verwendung von Helmholtz-Spulen dazu verwendet, die Kopforientierung zu messen, jedoch ist diese Vorgehensweise teuer, und technisch aufwendig. Weiterhin wurde auch Versuche mit optischen Kopfzielverfolgungsgeräten mit einem eingeschränkten Drehfeld durchgeführt, jedoch weisen diese ein beschränktes Volumen auf, in welchem Messungen durchgeführt werden können.
Das Extrapolieren der Kopfbewegung unter Verwendung einer Kurvenanpassung, in Abhängigkeit davon, wo man den Kopf erwartet, führt nicht zu einer zufriedenstellenden Lösung, da Rauschen in der Kopfzielverfolgungsvorrichtung dazu führt, daß die Extrapolation der Daten nicht verläßlich ist. Es ist äußerst schwierig, wenn nicht sogar unmöglich, Daten von der Kopfzielverfolgungsvorrichtung zur Vorhersage der Kopfbewegung zu verwenden. Daher wäre es ein Vorteil in Bezug auf den Stand der Technik, wenn ein Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung zur Verfügung gestellt werden könnte, welches ein Bild erzeugt, das nicht hinter der Betrachtung des Benutzers nachzulaufen scheint, oder auf der Projektionsoberfläche zu gleiten scheint.
Ein Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens und zur Vorhersage zur Zielverfolgung der Augenbewegung eines Benutzers in einem Simulator auf der Grundlage eines Kopfzielverfolgungsprojektors.
Ein weiterer Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens zur Vorhersage und zur Zielverfolgung der Eigenbewegung, welches eine Beziehung zwischen der gemessenen Kopforientierung eines Benutzers und der Richtung zur Verfügung stellt, in welche die Augen des Benutzers tatsächlich sehen.
Ein weiterer Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens zur Vorhersage und zur Zielverfolgung der Augenbewegung, bei welchen das Bild in Bezug auf den tatsächlichen Beobachtungspunkt des Benutzers stabiler ist.
Ein weiterer Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens zur Vorhersage und zur Zielverfolgung der Augenbewegung eines Benutzers mittels Verwendung einer Datenbank mit gespeicherten Kalibrierwerten.
Ein weiterer Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens zur Vorhersage und zur Zielverfolgung der Augenbewegung eines Benutzers unter Verwendung einer Datenbank gespeicherter Kalibrierwerte, um einen interpolierten Beobachtungspunkt zu korrigieren, und festzustellen, wohin der Bildgenerator ein Bild projiziert.
Ein weiterer Vorteil der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens zur Vorhersage und zur Zielverfolgung der Augenbewegung eines Benutzers unter Verwendung eines Projektionsbildschirms, der in dreieckige Kugelabschnitte unterteilt ist, die in einer Datenbank mit Kalibrierwerten gespeichert sind.
Die momentan bevorzugte Ausführungsform der vorliegenden Erfindung besteht in einem Verfahren zur Vorhersage und Zielverfolgung der Augenbewegung eines Benutzers, welches ein Bildprojektionssystem mit Kopfzielverfolgung eines interessierenden Bereiches verwendet, welches einen Kopfzielverfolgungsprojektor aufweist. Eine Kuppeloberfläche ist vorgesehen, die logisch in ein Gitter aus Kugeldreiecken unterteilt ist, auf welche der Kopfzielverfolgungsprojektor von einem Computer erzeugte Bilder projiziert. Es ist eine Datenbank vorgesehen, in welcher Kalibrierwerte für jede Spitze der sphärischen Dreiecke gespeichert sind, welche den Wert der Differenz zwischen der Kopforientierung des Benutzers und dem Ort repräsentieren, welchen der Benutzer tatsächlich bei einer bestimmten Kopforientierung betrachtet. Der Betrachtungspunkt des Benutzers wird dann auf der Kuppeloberfläche interpoliert, aus der Kopforientierung des Benutzers, um festzustellen, wo sich das Bild befindet, das der Benutzer auf der kugelförmigen Kuppel betrachtet. Daraufhin wird das Gitter der sphärischen Dreiecke durchsucht, um ein ausgewähltes Dreieck aufzufinden, welches den Betrachtungspunkt enthält. Dies wird mittels Durchlaufen einer vernetzten Liste der sphärischen Dreiecke durchgeführt.
Sobald ein sphärisches Dreieck aufgefunden wurde, das den interpolierten Betrachtungspunkt enthält, wird das den Betrachtungspunkt enthaltende Dreieck in drei Unterdreiecke unterteilt, bei welchen der Betrachtungspunkt die gemeinsame Spitze für jedes der Unterdreiecke festlegt. Dann wird die Oberfläche jedes Unterdreiecks berechnet, und das Verhältnis der Oberfläche jedes Unterdreiecks zur Oberfläche des ausgewählten Dreiecks ermittelt. Die Verhältnisse der Flächen der Unterdreiecke werden dann mit den Kalibrierwerten multipliziert, welche der Spitze gegenüberliegend dem vorgegebenen Unterdreieck zugeordnet sind, um gewichtete Kalibrierwerte zu erzeugen. Schließlich werden die gewichteten Kalibrierwerte zum interpolierten Betrachtungspunkt hinzuaddiert, um einen korrigierten, interpolierten Betrachtungspunkt zu erzeugen, der es dem Kopfzielverfolgungsprojektor ermöglicht, festzustellen, wo das Bild auf der Kuppeloberfläche dargestellt werden sollte. Die Erzeugung eines korrigierten, interpolierten Betrachtungspunktes verringert den Nachlauf, der von dem Benutzer wahrgenommen wird, und erzeugt ein stabileres Bild. Besonders wesentlich ist, daß die vorliegende Erfindung die Differenz zwischen der gemessenen Kopforientierung und jenem Ort korrigiert, zu welchem die Augen hinsehen.
Die Erfindung wird nachstehend anhand zeichnerisch dargestellter Ausführungsbeispiele näher erläutert, aus welchen weitere Vorteile und Merkmale hervorgehen. Es zeigt:
Fig. 1 ein Dreieck, das bei dem Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung verwendet wird, wobei eine Ebene zwischen dem nominellen Augenpunkt und zwei Spitzen des Dreiecks erzeugt wird;
Fig. 2 eine Perspektivansicht eines Benutzers, beispielsweise eines Piloten, der einen Abschnitt einer kuppelförmigen Projektionsleinwand betrachtet;
Fig. 3 ein Dreieck, das bei dem Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung verwendet wird, wobei das Dreieck in drei Unterdreiecke unterteilt ist;
Fig. 4 eine Zusammenfassung der Schritte, die bei dem Verfahren zur Vorhersage der Augenbewegungen eines Benutzers verwendet werden; und
Fig. 5A bis 5B Tabellen von Probentestpunkten, Kalibrierpunkten, Dreiecksflächen und Probenberechnungen unter Verwendung des Verfahrens zur Vorhersage der Augenbewegungen eines Benutzers.
Das Verfahren, das durch die vorliegende Erfindung zur Vorhersage und zur Zielverfolgung von Augenbewegungen zur Verfügung gestellt wird, umfaßt zwei Hauptteile. Der erste Teil ist die Off-Line erfolgende Datenbankerzeugung, die es ermöglicht, daß der zweite Teil, die Kalibrierung in Echtzeit, effizient abläuft. Allgemein gesprochen ist das Verfahren ein Kugeldreiecksinterpolationsverfahren, das auf einem interpolierten Betrachtungspunkt innerhalb des Bildes und der Interpolation von Kalibrierwerten beruht, die an jeder Spitze des Dreiecks gespeichert werden.
Die vorliegende Erfindung verwendet eine Kalibrierungsabbildung, welche Information über die Beziehung zwischen der Kopforientierung eines Benutzers und jenem Ort enthält, wohin der Benutzer mit seinen Augen sieht (vermutlich zum Kalibrierpunkt). Um eine Kalibrierungsabbildung zu erzeugen, folgt der Benutzer einem Bild, das von dem Kopfzielverfolgungsprojektionssystem projiziert wird. Eine Messung der Differenz zwischen der Kopforientierung eines Benutzers und dem Ort, zu welchem das Kopfzielverfolgungsprojektionssystem tatsächlich das Bild schickt, wird in der Datenbank gespeichert. Die Kalibrierungsabbildung kann dann dazu verwendet werden, die Kopfbewegung zu übertreiben, auf der Grundlage der kalibrierten Differenz zwischen dem Ort, zu welchem die Person hinsah, und dem Ausmaß der Bewegung des Kopfes der Person. Im wesentlichen repräsentiert der Kalibrierwert die aufgezeichnete Augenbewegung des Benutzers, die von der Kopfzielverfolgungseinrichtung nicht gemessen werden kann. Das tatsächliche Verfahren, das zum Sammeln der Kalibrierwerte verwendet wird, kann auf verschiedene Arten und Weisen durchgeführt werden, und wird nachstehend noch genauer erläutert. Unabhängig davon, wie die Kalibrierungsdaten gesammelt werden, ändert sich der Laufzeitalgorithmus signifikant.
Wie voranstehend geschildert, stellt der Laufzeitalgorithmus im wesentlichen ein Kugeldreiecksinterpolationsverfahren dar, auf der Grundlage eines interpolierten Betrachtungspunktes innerhalb des Dreiecks, und eine Interpolation der Kalibrierwerte, die an jede Spitze des Dreiecks gespeichert sind. Die gemessene Orientierung der momentanen Kopforientierung wird zum interpolierten Betrachtungspunkt auf der Simulatorprojektionskuppel.
Auf die Kuppeloberfläche wird ein durchgehendes Gitter von Kugeldreiecken abgebildet. Ein Kugeldreieck ist ein Dreieck, welches auf eine gekrümmte oder kuppelförmige Oberfläche projiziert wird, und gekrümmte oder kugelförmige Ränder aufweist. Kugelförmige oder sphärische Dreiecke sind Fachleuten auf diesem Gebiet wohlbekannt, die mit der sphärischen Trigonometrie vertraut sind. Sie können auch als Konturdreiecke bezeichnet werden, infolge der gekrümmten Natur der Dreiecke auf einer gekrümmten Projektionsoberfläche. Es wird darauf hingewiesen, daß die gekrümmte Projektionsoberfläche vollständig oder nur teilweise kugelförmig sein kann. Bei einer anderen Ausführungsform der Erfindung können die verwendeten Dreiecke ebene Dreiecke auf einer ebenen Projektionsoberfläche sein.
Bei der bevorzugten Ausführungsform der Erfindung sind bei dem Gitter keine Löcher vorgesehen, und kann ein Suchalgorithmus dazu eingesetzt werden, das Dreieck aufzufinden, in welchem sich der interpolierte Betrachtungspunkt befindet. Eine alternative Ausführungsform der Erfindung verwendet eine offene Gitteranordnung, bei welcher Ebenen das Gitter begrenzen müssen, und dann Dreiecke, welche sich auf diese Ebenen beziehen, zu Nulldreiecken auf der anderen Seite der Ebene zeigen. Daher kann jedes Dreieck entweder durch ein anderes Dreieck und zwei Ebenen begrenzt sein, oder durch zwei andere Dreiecke und eine Ebene. Dies alternative Ausführungsform der Erfindung erzeugt eine Ausweitung des Suchalgorithmus, welche für eine stärkere Flexibilität beim Einsatz dieses Algorithmus sorgt. Jede Kante der Kugeldreiecke enthält einen Zeiger zu dem benachbarten Dreieck, oder einen Nullzeiger, wenn das Gitter nicht geschlossen ist. Der Suchalgorithmus verwendet diese Zeiger beim Suchen nach dem richtigen Kugeldreieck.
Gemäß Fig. 1 wird das Kugeldreieck, welches den interpolierten Betrachtungspunkt P oder die momentane Kopfbetrachtungsorientierung enthält, dadurch aufgefunden, daß eine vernetzte Liste von Kugeldreiecken durchsucht wird. Die gesamte Betrachtungsfläche (oder Kuppel) ist in einander nicht überlappende und stetige Kugeldreiecke aufgeteilt. Drei Spitzen werden zur Festlegung jedes dieser Kugeldreiecke verwendet, und sind in Fig. 1 als Spitze A, Spitze B und Spitze C dargestellt. Die Spitzen bilden paarweise die Seiten des Kugeldreiecks. Die Seiten werden dann dazu verwendet, Ebenen mit dem nominellen Augenpunkt E auszubilden. Beispielsweise bilden die Spitzen C und B eine Ebene mit dem nominellen Augenpunkt E durch eine Seite des Kugeldreiecks. Diese beiden Spitzen (C und B) und der nominelle Augenpunkt E bilden eine Ebene, die als Ebene ECB dargestellt ist.
Fig. 2 zeigt eine Perspektivansicht eines Benutzers 20, etwa eines Piloten, der einen Abschnitt einer kuppelförmigen Leinwand 10 betrachtet. Wie bereits erwähnt wird eine Ebene zwischen jedem Paar von Spitzen und dem nominellen Augenpunkt E berechnet. Die Ebenen sind in Fig. 2 mit EAB und EBC bezeichnet (EAC ist verborgen). Man sieht, daß diese drei Ebenen ein abgeschlossenes Volumen mit dem nominellen Augenpunkt E an einem Ende bilden, und durch das Kugeldreieck hindurchgehen.
Um zu prüfen, ob sich der interpolierte Betrachtungspunkt P innerhalb dieses Betrachtungsvolumens befindet, muß eine Reihe von Skalarproduktüberprüfungen durchgeführt werden. Jeder Ebene ist ein Einheitsnormalenvektor zugeordnet.
Weiterhin ist jedem Einheitsnormalenvektor ein Vorzeichen zugeordnet. Die Durchführung eines Skalarproduktes des Betrachtungspunktes P und des Einheitsnormalenvektors erzeugt einen Skalarwert mit Vorzeichen. Das Vorzeichen (positiv oder negativ) dieses Skalars wird mit dem Vorzeichen verglichen, das dem Einheitsnormalenvektor zugeordnet ist. Das Vorzeichen, das mit dem Einheitsnormalenvektor verbunden ist, wird so erzeugt, daß ein interpolierter Betrachtungspunkt P innerhalb des Betrachtungsvolumens zu übereinstimmenden Vorzeichen führt. Wenn der Test erfolgreich für jeden der Einheitsnormalenvektoren verläuft, welche den Ebenen zugeordnet sind, liegt der Punkt innerhalb jenes Betrachtungsvolumens, welches für dieses Dreieck definiert ist. Ist der Test nicht erfolgreich, so ist ein Zeiger zur Definition des benachbarten Dreiecks vorhanden, das für jede Ebene definiert ist. Dieses Dreieck wird das nächste Dreieck, welches getestet wird. Dieser Testvorgang geht solange weiter, bis ein Dreieck aufgefunden wird, welches den interpolierten Betrachtungspunkt P enthält. Wenn das Ergebnis eines Skalarproduktes gleich Null ist, wird es als positiv angesehen, und paßt zu einem positiven Vorzeichen. Die Suche beginnt bei jedem Rahmen mit dem letzten Dreieck, bei welchem der interpolierte Betrachtungspunkt aufgefunden wurde.
Da die Messung der Kopfbewegung kontinuierlich verläuft, ohne diskrete Änderungen findet der Suchalgorithmus das richtige Dreieck immer schnell. Um die Verarbeitungszeit kurz zu halten, hört der Algorithmus mit der Suche auf, wenn eine feste Anzahl an Versuchen erreicht wurde. Die bevorzugte Anzahl an Suchversuchen beträgt fünf, jedoch wird darauf hingewiesen, daß dieser Wert in Abhängigkeit von der tatsächlichen Implementierung der vorliegenden Erfindung variieren kann. Das Erfordernis, ein geschlossenes Gitter aus Dreiecken oder Gittergrenzenebenen vorzusehen, ist wesentlich, da das Suchverfahren dazu fähig sein muß, ein benachbartes Dreieck oder eine Begrenzungsebene aufzufinden. Die Identität des bei der letzten Suche aufgefundenen Dreiecks wird festgehalten bis zu jenem Zeitpunkt, an welchem das Kugeldreieck aufgefunden wird, welches den aktualisierten, interpolierten Betrachtungspunkt P enthält, nach dem gesucht wird. Wenn einer Begrenzungsebene kein Dreieck zugeordnet ist, überprüft der Algorithmus die Ebenen, die den benachbarten Dreiecken hinzugeordnet sind. Falls die Ergebnisse angeben, daß sich der Punkt in einem benachbarten Dreieck befindet, wird der Zeiger zu jenem Dreieck bewegt.
Bei einer alternativen Zielrichtung der Erfindung kann eine Dreiecksdefinition angeben, daß sich kein Dreieck auf der anderen Seite der Ebene befindet. Dies führt zu einem Abbruch der Suche, da der Benutzer nach außerhalb der Projektionsfläche blickt. Daher wird der Punkt unverändert durchlaufen.
Wenn das korrekte Dreieck gefunden wurde, welches den interpolierten Betrachtungspunkt P enthält, erzeugt die Erfindung zeitweilig drei Unterdreiecke auf der Grundlage des Betrachtungspunktes und dem Paar aus jeder der Spitzen des ursprünglichen Dreiecks. In Fig. 3 sind die Spitzen des Dreiecks mit A, B und C bezeichnet, und werden die Paare zum interpolierten Betrachtungspunkt P mit Spitzen, zur Ausbildung der neuen Unterdreiecke PAB, PBC und PAC. Die Flächen dieser Unterdreiecke werden dazu verwendet, drei Verhältnisse zu erzeugen, welche das Verhältnis der Fläche des ursprünglichen Dreiecks zur Fläche der Unterdreiecke repräsentieren. Die Unterdreiecke sind in Fig. 3 mit α, β und γ bezeichnet. Man erkennt, daß die Summe der Flächen der Unterdreieck den Wert Eins ergibt. Anders ausgedrückt repräsentieren die Verhältnisse die Prozentsätze der Unterdreiecke in Bezug auf die Fläche des Kugeldreiecks. Diese Verhältnisse werden mit den Kalibrierwerten multipliziert, die zusammen mit jeder Spitze gespeichert werden, um einen neuen Wert für den Interpolationspunkt zu erzeugen. Es ist wesentlich, sich ins Gedächtnis zurückzurufen, daß die Kalibrierwerte den Wert der Differenz zwischen der gemessenen Orientierung des Kopfs eines Benutzers, wenn dieser den Punkt betrachtet, und der aktuellen Orientierung des Punktes speichern. Augenbewegung in Bezug auf den Kopf führt zu der Differenz zwischen der aktuellen und der gemessenen Orientierung. Die Interpolation dieser Werte berücksichtigt dann die Beziehung von Auge zum Kopf mittels Erkennung, daß sich die Augen eines Benutzers tatsächlich in Bezug auf den Kopf bewegen.
Nunmehr erfolgt eine detaillierte Diskussion der Berechnungen, die dazu verwendet werden, die Unterdreiecksverhältnisse und Kalibrierwerte zu ermitteln, welche den interpolierten Betrachtungspunkt abändern. Sämtliche Kugeldreiecksflächenberechnungen werden auf einer Einheitskugel durchgeführt. Dies stellt eine Vereinfachung dar, die es gestattet, die Größe der Skalarprodukte und der Vektorprodukte direkt in den Berechnungen einzusetzen. Da die Ergebnisse der Berechnungen Flächenverhältnisse darstellen, ist das Verhältnis unabhängig von Radius der Kugel. Die Einheitsvektoren erfordern nicht eine Berechnung der Größe (des Wertes, der durch die Quadratwurzel der Summe der Quadrate dividiert wird) und nachfolgende Skalierung der Ergebnisse. Daher werden die Berechnungen unter Verwendung von Einheitsvektoren durchgeführt, oder so, als handle es sich bei der Kugel um eine Einheitskugel. Darüber hinaus werden die Ergebnisse überprüft, und wenn eine Null erzeugt wird, die zu einem Divisor werden soll, wird eine geeignete Substitution bei den Berechnungen vorgenommen, so daß keine Fehler infolge einer Division durch Null auftreten.
Es gibt zwei Hauptteile der Berechnungen. Zuerst muß der Winkel zwischen jedem Paar von Spitzen berechnet werden. Die bekannten Größen sind der Ursprung, die drei Punkte, welche die Spitzen des Dreiecks darstellen, und der interpolierte Betrachtungspunkt. Der zweite Teil ist die Berechnung der Flächen von vier Kugeldreiecken.
In Fig. 3 ist die erste Fläche, die ermittelt werden muß, die Fläche des Hauptkugeldreiecks, das durch die Kalibrierwerte festgelegt wird. Die drei Punkte sind PA, PB und PC. PA ist der Punkt an der Spitze A in Fig. 2, und die Spitzen B und C werden entsprechend festgelegt. Die Fläche dieses Kugeldreiecks ist konstant, und wird als Teil der Festlegung eines Kugeldreiecks gespeichert, welches vor der Programmlaufzeit berechnet wird. Die anderen drei Berechnungen werden während jedes Rahmens fertiggestellt. (Tatsächlich werden zwei unter Verwendung der nachstehenden Formeln berechnet, und wird die dritte aus den beiden anderen ermittelt). Jede Unterdreiecksfläche wird unter Verwendung des Betrachtungspunktes P und zweier der Punkte aus dem Hauptkugeldreieck berechnet.
Die grundlegenden Berechnungen für jedes Kugeldreieck (einschließlich der Unterdreiecke) sind nachstehend angegeben. Jeder der Punkte wird in einen Einheitsvektor in der Richtung des Punktes umgewandelt, und wie voranstehend bereits erwähnt werden die Berechnungen auf einer Einheitskugel durchgeführt, welche mit der ursprünglichen Kugel mit Ausnahme der Abmessungen identisch ist.
= PA/|PA|
= PB/|PB|
= PC/|PC|
CA = .
CB = .
CC = .
SA = | × |
SB = | × |
SC = | × |
Diese Gleichungen bilden eine Approximierung für die Abschnittslänge zwischen den Punkten. Es wird angenommen, daß die Kugeldreiecke in Bezug auf die Kuppel klein sind, und mindestens kleiner als 1/8 der Kuppeloberfläche sind. Der Fehler infolge der Approximierung der Abschnittslänge wird mit wachsender Abschnittslänge zwischen den Punkten größer. Anders ausgedrückt nimmt der Fehler zu, wenn das Verhältnis zwischen der Kugeldreiecksfläche und der Kuppelfläche zunimmt. Es wird darauf hingewiesen, daß diese Kenntnis bei der Definition der Kugeldreiecke bei der tatsächlichen Implementierung der Erfindung ausgenutzt wird.
Die Werte CA, CB und CC sowie SA, SB und SC sind Skalarwerte, welche den Kosinus oder den Sinus der Winkel der Dreiecke repräsentieren. Unter Verwendung der Kosinusformel für Kugeldreiecke können die Winkel für die jeweiligen Spitzen ermittelt werden.
Winkel A = (cos(CA) - (cos(CB)cos(CC)))/(sin(SB)sin(SC))
Winkel B = (cos(CB) - (cos(CC)cos(CA)))/(sin(SC)sin(SA))
Winkel C = (cos(CC) - (cos(CA)cos(CB)))/(sin(SA)sin(SB))
Die Kugelfläche des sich ergebenden Dreiecks (auf eine Einheitskugel) beträgt:
K = (Winkel A + Winkel B + Winkel C - Π)
Dieser Wert wird zuerst für das Kugeldreieck berechnet, und in der Datenbank gespeichert, aus welcher er zur Laufzeit zurückgeholt werden kann. Dann wird die Kugelfläche für jedes der drei Dreiecke berechnet, unter Verwendung des interpolierten Betrachtungspunktes innerhalb des Dreiecks und einer Paarkombination mit den Spitzen des Dreiecks. Bei der bevorzugten Ausführungsform der Erfindung werden die beiden Gruppen von Spitzen, die mit dem Punkt kombiniert werden, berechnet. Die dritte Fläche wird aus den ersten beiden abgeleitet, um den Berechnungsaufwand und Fehler zu verringern.
Die drei erzeugten Flächen entsprechen der Fläche gegenüberliegend einer zugehörigen Spitze, wie dies in Fig. 3 gezeigt ist. Das Unterdreieck (α) liegt gegenüberliegend der Spitze A, so daß dann, wenn sich der Punkt P an die Spitze A annähert, das Verhältnis der Fläche des Dreiecks "Alpha" zur Fläche des Hauptdreiecks sich an den Wert Eins annähert. Anders ausgedrückt nimmt, wenn sich der Punkt P an die Spitze A annähert, das Verhältnis zu, das mit dem Kalibrierwert multipliziert wird, und daher beeinflußt der Kalibrierwert von A den Punkt P stärker. Fig. 3 zeigt darüber hinaus, daß das Unterdreieck (β) gegenüberliegend der Spitze B liegt, und das Unterdreieck (γ) gegenüberliegend der Spitze C liegt.
Das Verhältnis der Fläche eines Unterdreiecks zur Fläche des Hauptdreiecks wird durch Division der berechneten Fläche, bei jedem der Unterdreiecke, durch die Fläche des Hauptkugeldreiecks berechnet, wie in folgenden Gleichungen:
α = Kα/K
β = Kβ/K
γ = 1 - (α + β)
wobei K die Fläche des Hauptdreiecks ist, und Kα und Kβ die Fläche des Unterdreiecks Alpha bzw. Beta.
Bei der bevorzugten Implementierung der Erfindung wird die Fläche von γ dadurch berechnet, daß die Summe der beiden Verhältnisse α und β von 1 subtrahiert wird. Dies schaltet die Möglichkeit aus, daß das Verhältnis der Flächen der Kugeldreiecke in der Summe nicht 1 ergibt, innerhalb der Auflösung und Genauigkeit der zur Berechnung verwendeten Hardware.
Kalibrierwerte (oder Fehlerwerte) werden zusammen mit der Information gespeichert, die jeder Spitze A, B und C zugeordnet ist. Der Korrekturwert V für den interpolierten Betrachtungspunkt P ist folgendermaßen:
V = αVA + βVB + γVC
wobei α, β und γ die berechneten Verhältnisse sind, und VA, VB, VC die Kalibrierwerte angeben, in Bezug auf das betreffende Koordinatensystem. Dieser Korrekturwert wird zur Erzeugung der Pseudo-Kopforientierung verwendet, kalibriert in Bezug auf die Beziehung zwischen Auge und Kopf für eine bestimmte Gruppe von Kalibrierpunkten, welche ein Kugeldreieck festlegen. Die kalibrierten Kopfausrichtungs- und Nickwerte werden dazu verwendet, die Kopfausrichtung und die Nickrichtung des projizierten oder betrachteten Bildes zu korrigieren. Es wird ebenfalls darauf hingewiesen, daß es möglich ist, Positionswerte in einem kartesischen Koordinatenraum (X, Y, Z) unter Verwendung dieses Verfahrens zu interpolieren.
Nunmehr werden zusammenfassend die Schritte gemäß der vorliegenden Erfindung geschildert. Das Laufzeitverfahren empfängt Information von der Kopfzielverfolgungseinrichtung, wie dies im Schritt 30 von Fig. 4 angegeben ist. Der nächste Schritt besteht in der Suche nach dem geeigneten Interpolationsdreieck 40 mittels Durchführung eines Punktprodukttestes zwischen dem interpolierten Betrachtungspunkt und den Einheitsnormalenvektoren innerhalb der drei Ebenen, welche die Seiten des Kugeldreiecks bilden, in Verlängerung zurück zum Punkt des Auges. Wenn ein Punktprodukttest bei dem Dreieck versagt, wird ein Zeiger zu dem benachbarten Dreieck verfolgt, wo der Test erneut beginnt. Nachdem das Dreieck aufgefunden wurde, in welchem sich der interpolierte Betrachtungspunkt befindet, wird das Hauptdreieck in drei Unterdreiecke aufgeteilt, gemäß Schritt 45. Dann wird im Schritt 50 die Fläche der Unterdreiecke innerhalb des ausgewählten Hauptdreiecks berechnet. Im nächsten Schritt 60 werden die Unterdreiecksflächen dann als Verhältnisse zum Gewichten der Kalibrierpunkte verwendet, die für jede Spitze gespeichert sind. Dann werden die gewichteten Kalibrierwerte zu den Werten für den interpolierten Betrachtungspunkt im Schritt 70 hinzuaddiert, und hierdurch wird ein neuer kalibrierter Punkt dort erzeugt, wohin der Kopfzielverfolgungsprojektor ein Bild projiziert (Schritt 80). Der Kopfzielverfolgungsprojektor wird durch Servoeinrichtungen gesteuert, so daß die Korrekturen in physikalische Bewegungen in der Bildprojektionshardware umgesetzt werden.
In den Fig. 5A und 5B sind Tabellen für Beispielrechnungen angegeben, die unter Verwendung des erfindungsgemäßen Verfahrens erzeugt wurden. Die Koordinaten der Spitzen A, B und C sind als kartesische Koordinaten auf den Achsen X, Y und Z dargestellt. Die Fläche des Dreiecks ist so angegeben, wie sie in der Datenbank gespeichert wird, und berechnet wird, bevor der Laufzeitabschnitt des erfindungsgemäßen Verfahrens ausgeführt wird. Fig. 5B zeigt die Flächenverhältnisse der Unterdreiecke, die auf der Grundlage des interpolierten Betrachtungspunktes oder des in Fig. 5A gezeigten Testpunktes berechnet werden. Wie erwähnt, ergeben diese Verhältnisse die Summe Eins. Der berechnete Punkt nach Interpolation mit den gewichteten Kalibrierwerten ist ebenfalls unter dem Titel "Berechneter Punkt aus Interpolation" dargestellt.
Die Daten, die in der Datenbank gespeichert werden, und die Off-Line erzeugt werden, umfassen die ein der nachstehend angegebenen Liste aufgeführten Daten, und den Kalibrierwert oder "Fehler", der jedem Kalibrierpunkt (also Dreiecksspitze) zugeordnet ist. Für jedes Kugeldreieck werden folgende Werte in der Datenbank gespeichert.
  • 1. Name des Dreiecks (nur zur Fehlersuche).
  • 2. Die Koordinaten der Spitze für jede der Spitzen des Dreiecks und gemessene Kalibrierwerte, die jeder Spitze zugeordnet sind.
  • 3. Das Kugeldreieck, das jeder Spitze zugeordnet ist.
  • 4. Die Ebene in Normalenrichtung für jede Seite des Dreiecks, und ein Vorzeichen für diese Normale (zur Erhöhung des Wirkungsgrades wird die Normale einmal für das Dreieck auf jeder Seite gespeichert. Das Vorzeichen wird zur Änderung des Vorzeichens des Skalarprodukts verwendet, das zur Feststellung der Innenseite des Dreiecks verwendet wird).
  • 5. Ein Zeiger zum benachbarten Dreieck über jede Seite des Dreiecks.
  • 6. Die Fläche des Kugeldreiecks, das durch die drei Spitzen und die Kugel festgelegt wird, auf welcher sich diese befinden.
Wie erwähnt besteht die Datenbank aus einer Sammlung von Punkten auf der Kuppeloberfläche. Diese Punkte können in unterschiedlichen Koordinatensystemen angegeben werden, die äquivalent sind. Bei der bevorzugten Ausführungsform der Erfindung werden die Punkte in dem kartesischen Koordinatensystem angegeben, wobei sich der Ursprung im Zentrum der Kuppel befindet, oder am nominellen Augenpunkt. Bei einer alternativen Ausführungsform der Erfindung können die Punkte als Winkel mit Azimuth und Höhe in Bezug auf das Kuppelzentrum oder den nominellen Augenpunkt angegeben werden.
Die Information für jedes Dreieck ist während der Laufzeitoperation konstant; daher werden die Datenstrukturen als getrennter Task vor der Laufzeit erzeugt. Die Kopforientierungskalibrierungsmessungen werden ebenfalls getrennt von den anderen Teilen der Dreiecksfestlegung erzeugt. Zur Laufzeit lädt die vorliegende Erfindung diese vorher erzeugten, gespeicherten Daten, ohne daß weitere Eingaben vom Benutzer der Simulation erforderlich sind.
Nunmehr werden die Datenbanksammelverfahren beschrieben, die als Teil der vorliegenden Erfindung verwendet werden. Das grundlegende Verfahren der Datensammlung, das bei der vorliegenden Erfindung eingesetzt wird, besteht darin, die Person ein projiziertes Bild verfolgen zu lassen, wenn dieses bewegt wird, um auf jeden Datenpunkt (also Dreiecksspitze) zu zeigen. Bei einigen Anwendungen wird der Kalibrierpunkt immer von dem Punkt "Geradeaus" zum Kalibrierpunkt bewegt. Dies führt dazu, daß die Person dieselbe Aufgabe durchführen muß wie dann, wenn die Daten bei einer Kopfzielverfolgungsanwendung gesammelt werden. Die gemessenen Daten werden in den Datenstrukturen gespeichert, während sie gesammelt werden. Wenn sämtliche Daten gesammelt wurden, ist eine vollständige Kalibrierungsabbildung für den Einsatz verfügbar. Bei einer alternativen Ausführungsform der Erfindung ist es erforderlich, daß die Person einem sich bewegenden Kalibrierungsbild folgt, wodurch ebenfalls Kopfgeschwindigkeitsinformation aufgenommen werden kann.
Aus den voranstehenden Ausführungen sollte deutlich geworden sein, daß es ineffizient ist, wenn jeder Benutzer eines Kopfzielverfolgungssimulators Zeit benötigt, die dazu erforderlich ist, das System nur für diesen Benutzer zu kalibrieren. Daher gibt es zumindest drei Vorgehensweisen für die Datenaquisition für diese Zielverfolgungserfindung. Eine Vorgehensweise besteht darin, Daten in Bezug auf jedes Individuum als Anfangskalibrierung zu sammeln. Eine andere Vorgehensweise besteht darin, Kalibrierungsdaten für eine Gruppe von Leuten zu sammeln, und die Mittelwerte für die Gruppe als Daten zu verwenden. Dieses Verfahren erzeugt keine optimale Kalibrierung für ein bestimmtes Individuum, jedoch benötigt es keine zusätzliche Zeit, wenn der Benutzer den Simulator zu benutzen beginnt. Die dritte Vorgehensweise führt im wesentlichen eine Optimierung für den individuellen Benutzer durch, vermeidet jedoch irgendeine Einstellzeit. Diese Vorgehensweise verwendet die gemittelten Kalibrierungsdaten, die für ein Individuum dadurch optimiert werden, daß der Mittelwert aus einer Gruppe von Leuten bestimmt wird, welche stark der Zielpopulation ähneln.
Beispielsweise gibt es für Militärpiloten bestimmte Anforderungen an die körperlichen Eigenschaften, und kann die Kalibrierungsgruppe so ausgewählt werden, daß sie dieser Gruppe entspricht.
Bei einer alternativen Ausführungsform der Erfindung werden Winkelgeschwindigkeitsmessungen oder die Beschleunigung dazu verwendet, die Kopfzielverfolgungsorientierungsmessungen zu ergänzen. Hierdurch kann das Verfahren gemäß der vorliegenden Erfindung dazu verwendet wird, Geschwindigkeits- und Beschleunigungsinformation bei der Festlegung der Kalibrierung einzusetzen, die zum interpolierten Betrachtungspunkt addiert wird. Konzentrische Abbildungen auf der Grundlage von Bewegungsinformation können ebenfalls erzeugt werden, und die Erfindung kann dann die geeignete Bewegungsabbildung auswählen, und zwischen dieser und den nächsten Punkten in der Kalibrierungsabbildung überblenden.
Eine zweite alternative Ausführungsform der Erfindung führt eine "zeitliche Rekonstruktion" durch, da innerhalb gewisser physiologischer Grenzen der Kopf des Benutzers Anschluß an die Augenbewegungen versucht. Es besteht die Neigung, daß eine Person ihre Augen in Bezug auf ihren Kopf zentriert, abgesehen von extremen Kopforientierungen. Eine dritte Ausführungsform der vorliegenden Erfindung verwendet Daten, die dynamisch dadurch gesammelt werden, daß die Daten gesammelt werden, die darauf beruhen, daß die Person eine kontinuierliche Zeitvariationssequenz von Punkten entlang der Kuppel verfolgt. Die Daten können so gesammelt werden, daß die Kalibrierpunkte häufig und aus mehreren unterschiedlichen Richtungen aufgesucht werden. Hierdurch können konzentrische Abbildungen aufgebaut werden, die auf der Grundlage ausgewählt werden, wohin die Person momentan blickt, und wohin sie unmittelbar vorher geblickt hat.
Die vorliegende Erfindung stellt den Vorteil zur Verfügung, daß sich eine Person, die ein Kopfzielverfolgungssimulationssystem gemäß der vorliegenden Erfindung verwendet, so fühlt, als ob das Bild auf natürlichere Weise bei ihren Augen bleibt, als dies ohne Einsatz der vorliegenden Erfindung möglich wäre.
Bei einer anderen alternativen Ausführungsform kann die vorliegende Erfindung auch bei einem Bilderzeugungssystem eingesetzt werden, bei welchem die Bilder auf Kathodenstrahlröhrenanzeigen (CRT-Anzeigen) dargestellt werden, auf Flüssigkristallanzeigen, Plasmaanzeigen, Rückprojektionsanzeigen, am Helm angebrachte Anzeigen, oder bei irgendwelchen entsprechenden Anzeigen, die bei einem Kopfzielverfolgungsbilderzeugungssystem verwendet werden können.
Es wird darauf hingewiesen, daß die voranstehend geschilderten Anordnungen nur den Einsatz der Grundlagen der vorliegenden Erfindung erläutern sollen. Zahlreiche Modifikationen und alternative Anordnungen können von Fachleuten auf diesem Gebiet überlegt werden, ohne vom Wesen und Umfang der vorliegenden Erfindung abzuweichen. Die beigefügten Patentansprüche sollen derartige Modifikationen und Anordnungen umfassen.

Claims (24)

1. Verfahren zur Vorhersage und Zielverfolgung der Augenbewegungen eines Benutzers in einem Kopfzielverfolgungsbilderzeugungssystem mit folgenden Schritten:
  • a) Festlegung einer Betrachtungsoberfläche, die in mehrere zusammenhängende Dreiecke über der Betrachtungsoberfläche aufgeteilt ist, über welche ein Kopfzielverfolgungsbildgenerator von einem Computer erzeugte Bilder darstellt;
  • b) Identifizierung mehrerer Kalibrierwerte für Spitzen der Dreiecke;
  • c) Bestimmung eines Wertes aus den Kalibrierwerten, der eine Differenz zwischen (i) der Kopforientierung eines Benutzers und (ii) dem Ort repräsentiert, wohin ein Benutzer tatsächlich sieht;
  • d) Interpolieren des Betrachtungspunktes eines Benutzers auf der Betrachtungsoberfläche, um einen interpolierten Betrachtungspunkt zu bestimmen, an welchem die Bilder auf der Betrachtungsoberfläche dargestellt werden sollten;
  • e) Durchsuchen der mehreren Dreieck zur Auffindung eines ausgewählten Dreiecks, welches den interpolierten Betrachtungspunkt enthält;
  • f) Aufteilung des ausgewählten Dreiecks, das den Betrachtungspunkt enthält, in drei angrenzende Unterdreiecke mit gemeinsamen Rändern, die von drei Spitzen des ausgewählten Dreiecks zu einem gemeinsamen Spitzenpunkt entsprechend dem Betrachtungspunkt gehen;
  • g) Vergleichen von Flächen der Unterdreiecke mit dem ausgewählten Dreieck; und
  • h) Korrelieren von Vergleichsflächen mit den Kalibrierwerten, um eine ordnungsgemäße Position für die vom Computer erzeugten Bilder festzulegen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Vergleichens von Flächen der Unterdreieck mit dem ausgewählten Dreieck weiterhin die Berechnung von Flächenverhältnissen der drei Unterdreiecke in Bezug auf die Fläche des ausgewählten Dreiecks umfaßt.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt der Korrelation von Vergleichsflächen mit den Kalibrierwerten weiterhin folgende Schritte umfaßt:
Multiplizieren der Flächenverhältnisse der Unterdreiecke mit den Kalibrierwerten an jeder Spitze gegenüberliegend den Unterdreiecken in dem ausgewählten Dreieck zur Erzeugung gewichteter Kalibrierwerte; und
Addieren der gewichteten Kalibrierwerte zu dem interpolierten Betrachtungspunkt, damit der Kopfzielverfolgungsprojektor einen kalibrierten Interpolationspunkt dazu verwenden kann, festzulegen, wo die vom Computer erzeugten Bilder auf der Projektionsoberfläche dargestellt werden sollen.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die angrenzenden Dreiecke aus der Gruppe ausgewählt werden, welche aus ebenen Dreiecken, Kugeldreiecken und Konturdreiecken besteht.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Durchsuchens der mehreren Dreiecke zum Auffinden eines ausgewählten Dreiecks, welches den interpolierten Betrachtungspunkt enthält, weiterhin folgende Schritte umfaßt:
Auswahl eines momentanen Dreiecks als Startpunkt für eine Suche;
Test zur Feststellung, ob der interpolierte Betrachtungspunkt innerhalb des momentanen Dreiecks liegt;
Bewegung zu einem nächsten, benachbarten Dreieck, wenn der interpolierte Betrachtungspunkt nicht innerhalb des momentanen Dreiecks liegt; und
Auswahl des momentanen Dreiecks, wenn der interpolierte Betrachtungspunkt innerhalb des momentanen Dreiecks liegt.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt des Testens, um festzustellen, ob der interpolierte Betrachtungspunkt innerhalb des momentanen Dreiecks liegt, weiterhin folgende Schritte umfaßt:
Ausbildung von drei Ebenen, die zwischen einem nominellen Augenpunkt eines Benutzers und jedem Paar von Spitzen in dem momentanen Dreieck verlaufen, wobei jede Ebene einen Einheitsnormalenvektor aufweist, und die Ebenen ein pyramidenförmiges, geschlossenes Volumen bilden, bei welchem der nominelle Augenpunkt die Spitze bildet;
Durchführung eines Skalarproduktes zwischen dem interpolierten Betrachtungspunkt und der Einheitsnormalen jeder Ebene, zur Erzeugung eines Skalarwertes mit Vorzeichen; und
Vergleichen des Vorzeichens des Skalarwertes mit den Vorzeichen des Einheitsnormalenvektors, so daß dann, wenn der interpolierte Betrachtungspunkt innerhalb des Dreiecks liegt, das Vorzeichen, welches jedem Einheitsnormalenvektor zugeordnet ist, dem Vorzeichen des interpolierten Punktes entspricht.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt der Auswahl eines momentanen Dreiecks als Startpunkt für eine Suche weiterhin die Auswahl eines Dreiecks als Startpunkt für eine Suche umfaßt, welches den interpolierten Betrachtungspunkt in einem vorherigen, vom Computer erzeugten Bildrahmen enthielt.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Vergleichens von Flächen der Unterdreiecke mit dem ausgewählten Dreieck weiterhin den Schritt umfaßt, die Flächen des ausgewählten Dreiecks und jedes seiner Unterdreiecke zu ermitteln.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Schritt der Ermittlung der Flächen des ausgewählten Dreiecks und jedes seiner Unterdreiecke weiterhin folgende Schritte umfaßt:
Berechnung eines Winkels zwischen jedem Paar von Spitzen in dem ausgewählten Dreieck;
Ausbildung dreier Abschnitte zwischen jeder der ausgewählten Dreiecksspitzen und dem interpolierten Betrachtungspunkt;
Feststellung der approximierten Länge eines Abschnitts zwischen jedem Paar von Spitzen;
Feststellung der Winkel für jede der drei Spitzen;
Berechnung der Fläche des ausgewählten Dreiecks; und
Berechnung der Flächen der Unterdreieck.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Schritt der Ermittlung der Flächen des ausgewählten Dreiecks und jedes seiner Unterdreiecke weiterhin den Schritt umfaßt, folgende Gleichung zu berechnen:
K = (Winkel A + Winkel B + Winkel C - Π)
wobei K die Fläche eines Dreiecks angibt, Winkel A den Winkel einer ersten Spitze in einem Dreieck, Winkel B den Winkel einer zweiten Spitze in einem Dreieck, und Winkel C den Winkel einer dritten Spitze in einem Dreieck.
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Vergleichens von Flächen der Unterdreieck mit dem ausgewählten Dreieck weiterhin die Ermittlung der Flächenverhältnisse der Unterdreieck umfaßt, wobei die Fläche jedes der drei Unterdreiecke genommen und durch die Fläche des ausgewählten Dreiecks geteilt wird.
12. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der Schritt der Multiplikation der Flächenverhältnisse der Unterdreiecke mit den Kalibrierwerten an jeder Spitze des ursprünglichen Dreiecks zur Erzeugung gewichteter Kalibrierwerte weiterhin den Schritt umfaßt, folgende Gleichung zu berechnen:
V = αVA + βVB + γVC
wobei V die gewichteten Kalibrierwerte in den Koordinatenachsen x, y und z repräsentiert, welche zum interpolierten Betrachtungspunkt addiert werden sollen,
a das Verhältnis der ersten Unterdreiecksfläche zur Fläche des ausgewählten Dreiecks repräsentiert,
β das Verhältnis der zweiten Unterdreiecksfläche zur Fläche des ausgewählten Dreiecks repräsentiert,
γ das Verhältnis der dritten Unterdreiecksfläche zur Fläche des ausgewählten Dreiecks repräsentiert,
VA die Kalibrierwerte für eine Spitze A des ausgewählten Dreiecks repräsentiert, wobei das Unterdreieck α gegenüberliegend von VA angeordnet ist,
VB die Kalibrierwerte für eine zweite Spitze B des ausgewählten Dreiecks repräsentiert, wobei das Unterdreieck β gegenüberliegend von VB angeordnet ist,
VC die Kalibrierwerte für eine dritte Spitze C des ausgewählten Dreiecks repräsentiert, wobei das Unterdreieck γ gegenüberliegend von VC angeordnet ist.
13. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Dreiecke, die bei der Projektionsoberfläche vorgesehen sind, kleiner als 1/8 der Abmessungen der Projektionsoberfläche sind.
14. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt der Bereitstellung mehrerer Dreiecke weiterhin die Bereitstellung mehrerer Dreiecke umfaßt, wobei jedes Dreieck zumindest neben einem anderen Dreieck liegt.
15. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt der Bereitstellung mehrerer Dreiecke weiterhin den Schritt umfaßt, mehrere Dreiecke bereitzustellen, die durch Ebene begrenzt sind, wobei jedes Dreieck durch zumindest ein anderes Dreieck und zwei Ebenen begrenzt ist.
16. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt der Bereitstellung mehrerer Dreiecke weiterhin den Schritt umfaßt, mehrere Dreiecke bereitzustellen, die durch eine Ebene begrenzt sind, wobei jedes Dreieck durch zumindest zwei andere Dreiecke und eine Ebene begrenzt ist.
17. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Dreiecksspitzen in dem kartesischen Koordinatensystem angegeben sind.
18. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei der Darstellung der Dreiecke in dem kartesischen Koordinatensystem der Ursprung sich auf dem nominellen Augenpunkt befindet.
19. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Spitzen der Dreiecke in dem Koordinatensystem mit Azimuth und Höhe angegeben sind.
20. Verfahren zur Vorhersage und Zielverfolgung der Augenbewegungen eines Benutzers in einem Bildprojektionssystem mit Kopfzielverfolgung eines interessierenden Bereichs, welches eine Kopfzielverfolgungseinrichtung und einen Kopfzielverfolgungsprojektor aufweist, um ein simuliertes Bild auf einer Projektionsoberfläche zu projizieren, mit folgenden Schritten:
  • a) Empfang von Information von der Kopfzielverfolgungseinrichtung in Bezug auf die momentane Kopforientierung eines Benutzers;
  • b) Aufteilung der Projektionsoberfläche in mehrere Kugeldreiecke, wobei jedes Dreieck zugeordnete Kalibrierwerte aufweist;
  • c) Durchsuchen der mehreren Dreiecke in einer vorbestimmten Reihenfolge, um ein Dreieck auszuwählen, welches einen interpolierten Betrachtungspunkt enthält, der einen Betrachtungspunkt des Benutzers repräsentiert, der auf der Projektionsoberfläche interpoliert ist;
  • d) Aufteilen des ausgewählten Dreiecks in drei Unterdreiecke;
  • e) Berechnung der Fläche der Unterdreiecke;
  • f) Verwendung der Flächen für Gewichtungen, um den Prozentsatz der Kalibrierwerte, die an jeder Spitze gespeichert sind, zu berechnen, der zum interpolierten Punkt hinzuaddiert werden soll; und
  • g) Addieren der gewichteten Kalibrierwerte zu dem Interpolationspunkt.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der interpolierte Betrachtungspunkt dazu verwendet wird, Kopforientierungsdaten abzuändern, die zu Servoeinrichtungen in dem Kopfzielverfolgungsprojektor geschickt werden, um einen modifizierten, interpolierten Betrachtungspunkt zu erzeugen, auf welchen der Kopfzielverfolgungsprojektor das simulierte Bild projiziert.
22. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß die Kalibrierwerte durch folgende Schritte berechnet werden:
Auswahl einer bestimmten Spitze, welche Koordinaten auf der Projektionsoberfläche aufweist, für welche ein Kalibrierwert gewünscht wird;
Projizieren eines simulierten Bildes über den Kopfzielverfolgungsprojektor an den Koordinaten der Spitze;
Sammeln von Kopforientierungsdaten von der Kopfzielverfolgungseinrichtung;
Berechnung einer erwarteten Kopforientierung auf der Grundlage der Kopforientierungsdaten von der Kopfzielverfolgungseinrichtung; und
Speichern eines kalibrierten Wertes als Differenz zwischen der erwarteten Kopforientierung und der gemessenen Kopforientierung.
23. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der Schritt des Sammelns von Kopforientierungsdaten weiterhin die Aufzeichnung der Winkelgeschwindigkeit und der Beschleunigung des Kopfes eines Benutzers umfaßt, die durch die Kopfzielverfolgungseinrichtung festgestellt werden.
24. Verfahren zur Vorhersage und zur Zielverfolgung der Augenbenutzungen eines Benutzers in einem Bildprojektionssystem mit Kopfzielverfolgung eines interessierenden Bereiches, welches eine Kopfzielverfolgungseinrichtung und einen Kopfzielverfolgungsprojektor aufweist, um ein simuliertes auf eine Projektionsoberfläche zu projizieren, die in mehrere Kugeldreiecke unterteilt ist, welche Kalibrierwerte aufweisen, mit folgenden Schritten:
  • a) Empfang von Information von der Kopfzielverfolgungseinrichtung in Bezug auf die Position der momentanen Kopforientierung eines Benutzers;
  • b) Durchsuchen der mehreren Dreiecke zur Auswahl eines Dreiecks, welches einen interpolierten Betrachtungspunkt enthält;
  • c) Aufteilen des ausgewählten Dreiecks in drei Unterdreiecke;
  • d) Verwendung der Unterdreiecksflächen zur Erzeugung gewichteter Kalibrierwerte aus den Kalibrierwerten, die bei jeder Spitze gespeichert sind; und
  • e) Addieren der gewichteten Kalibrierwerte zu dem interpolierten Betrachtungspunkt, um einen kalibrierten Betrachtungspunkt zur Verfügung zu stellen, der von dem Kopfzielverfolgungsprojektor zum Projizieren des Bildes verwendet wird.
DE10024161A 1999-05-18 2000-05-17 Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung Withdrawn DE10024161A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/314,425 US6574352B1 (en) 1999-05-18 1999-05-18 Process for anticipation and tracking of eye movement

Publications (1)

Publication Number Publication Date
DE10024161A1 true DE10024161A1 (de) 2001-01-18

Family

ID=23219904

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10024161A Withdrawn DE10024161A1 (de) 1999-05-18 2000-05-17 Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung

Country Status (4)

Country Link
US (1) US6574352B1 (de)
CA (1) CA2308822C (de)
DE (1) DE10024161A1 (de)
GB (1) GB2350422B (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2356757B (en) * 1999-11-29 2004-02-04 Seos Displays Ltd Image display apparatus
US6873714B2 (en) * 2002-02-19 2005-03-29 Delphi Technologies, Inc. Auto calibration and personalization of eye tracking system using larger field of view imager with higher resolution
US6919907B2 (en) * 2002-06-20 2005-07-19 International Business Machines Corporation Anticipatory image capture for stereoscopic remote viewing with foveal priority
US6943754B2 (en) * 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
US7731360B2 (en) * 2003-11-07 2010-06-08 Neuro Kinetics Portable video oculography system
GB2412431B (en) * 2004-03-25 2007-11-07 Hewlett Packard Development Co Self-calibration for an eye tracker
ES2264848B1 (es) * 2004-05-06 2008-01-01 Indo Internacional, S.A. Procedimiento y equipo para establecer el comportamiento visual de una persona, y procedimiento de personalizacion de una lente para montura.
US20060040239A1 (en) * 2004-08-02 2006-02-23 J. J. Keller & Associates, Inc. Driving simulator having articial intelligence profiles, replay, hazards, and other features
US20080136916A1 (en) * 2005-01-26 2008-06-12 Robin Quincey Wolff Eye tracker/head tracker/camera tracker controlled camera/weapon positioner control system
US8020993B1 (en) 2006-01-30 2011-09-20 Fram Evan K Viewing verification systems
US7891818B2 (en) 2006-12-12 2011-02-22 Evans & Sutherland Computer Corporation System and method for aligning RGB light in a single modulator projector
CA2685976C (en) * 2007-05-23 2013-02-19 The University Of British Columbia Methods and apparatus for estimating point-of-gaze in three dimensions
US9655515B2 (en) * 2008-04-08 2017-05-23 Neuro Kinetics Method of precision eye-tracking through use of iris edge based landmarks in eye geometry
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8585609B2 (en) * 2008-10-09 2013-11-19 Neuro Kinetics, Inc. Quantitative, non-invasive, clinical diagnosis of traumatic brain injury using simulated distance visual stimulus device for neurologic testing
US10398309B2 (en) 2008-10-09 2019-09-03 Neuro Kinetics, Inc. Noninvasive rapid screening of mild traumatic brain injury using combination of subject's objective oculomotor, vestibular and reaction time analytic variables
US9039631B2 (en) 2008-10-09 2015-05-26 Neuro Kinetics Quantitative, non-invasive, clinical diagnosis of traumatic brain injury using VOG device for neurologic testing
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
CA2765668A1 (en) * 2009-06-16 2010-12-23 Saab Ab Method and arrangement of a flight simulator system
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US8808179B1 (en) 2012-08-06 2014-08-19 James Z. Cinberg Method and associated apparatus for detecting minor traumatic brain injury
US9110503B2 (en) 2012-11-30 2015-08-18 WorldViz LLC Precision position tracking device
US8805088B1 (en) 2013-12-16 2014-08-12 Google Inc. Specularity determination from images
US9804257B2 (en) 2014-11-13 2017-10-31 WorldViz LLC Methods and systems for an immersive virtual reality system using multiple active markers
US10495726B2 (en) 2014-11-13 2019-12-03 WorldViz, Inc. Methods and systems for an immersive virtual reality system using multiple active markers
US9990689B2 (en) 2015-12-16 2018-06-05 WorldViz, Inc. Multi-user virtual reality processing
US10095928B2 (en) 2015-12-22 2018-10-09 WorldViz, Inc. Methods and systems for marker identification
US10157448B2 (en) 2016-02-12 2018-12-18 Qualcomm Incorporated Foveated video rendering
US10242501B1 (en) 2016-05-03 2019-03-26 WorldViz, Inc. Multi-user virtual and augmented reality tracking systems
US10403050B1 (en) * 2017-04-10 2019-09-03 WorldViz, Inc. Multi-user virtual and augmented reality tracking systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4634384A (en) 1984-02-02 1987-01-06 General Electric Company Head and/or eye tracked optically blended display system
FR2559258B1 (fr) 1984-02-02 1986-05-02 Thomson Csf Systeme de reperage de la direction d'un ou plusieurs axes d'un corps mobile
WO1986003863A1 (en) 1984-12-24 1986-07-03 The University Of Adelaide Improvements relating to eye-gaze-direction controlled apparatus
FR2587191B1 (fr) 1985-09-19 1988-12-02 Inst Nat Sante Rech Med Procede et dispositif de mesure de la direction du regard
GB2238627B (en) * 1989-11-29 1994-04-06 Yazaki Corp Display apparatus
US6009188A (en) * 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
US5841443A (en) * 1997-02-20 1998-11-24 S3 Incorporated Method for triangle subdivision in computer graphics texture mapping to eliminate artifacts in high perspective polygons

Also Published As

Publication number Publication date
GB0010863D0 (en) 2000-06-28
US6574352B1 (en) 2003-06-03
GB2350422A (en) 2000-11-29
CA2308822A1 (en) 2000-11-18
GB2350422B (en) 2003-08-20
CA2308822C (en) 2010-03-16

Similar Documents

Publication Publication Date Title
DE10024161A1 (de) Verfahren zur Vorhersage und zur Zielverfolgung der Augenbewegung
DE69823001T2 (de) Verfahren und Vorrichtung zur Rekonstruktion der dreidimensionalen Bewegung eines menschlichen Körpers aus Monokularbildsequenzen
DE60124279T2 (de) System und Verfahren zur Anordnung von Kennzeichnungsfeldern oder Beschriftungen in graphischen Wiedergaben
DE2637647C2 (de) Digitaler Bildsimulator
DE69923943T2 (de) Verfahren und Vorrichtung zur Simulation eines okularen optischen Systems
DE69432994T2 (de) Verfahren und Vorrichtung zur Erzeugung von 3-D-Bildern hoher Auflösung in einem kopfgeführten Stereodisplaysystem
DE3854826T2 (de) Progressive Linse und Verfahren zu ihrer Herstellung
DE69635251T2 (de) Verfahren und Vorrichtung zur Simulation des optischen Systems des menschlichen Auges
EP2489013A1 (de) Verfahren zur darstellung von virtueller information in einer ansicht einer realen umgebung
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE69725953T2 (de) Bildanzeigeverfahren und -gerät
EP0315742A2 (de) Helm-Lagedarstellungsgerät
DE69531536T2 (de) Synthetisches bilderzeugungsverfahren mit sphärischem puffer
DE10355283A1 (de) Hand/Auge-Kalibrierverfahren und zugehöriges Punktextraktionsverfahren
DE2804732A1 (de) Geraet zur verarbeitung von werten einer quantitaet, beispielsweise der absorption von roentgenstrahlung
DE3219032A1 (de) Stereophotogrammetrisches aufnahme- und auswerteverfahren sowie auswertevorrichtung
DE3510692A1 (de) Verfahren und einrichtung zum lokalisieren eines punktes in einem dreidimensionalen koerper unter verwendung von abbildungen des koerpers aus einer vielzahl von winkelpositionen
DE4340228A1 (de) Einrichtung und Verfahren zum automatischen Nachführen einer gezoomten Abtastfläche in einem medizinischen Kamerasystem
EP1450175A2 (de) Verfahren zum Bestimmen und Verfolgen von Position und Orientierung eines Magnetfeldsensor
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE102020131786A1 (de) Method for metal artifact avoidance in x-ray imaging
DE19549096A1 (de) Simulationsvorrichtung und -verfahren
EP2859531B1 (de) Verfahren zur bildbasierten veränderungserkennung
DE10004898C2 (de) Darstellungseinrichtung

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee