Title:
Kameraeinstellungsanpassung basierend auf vorhergesagten Umgebungsfaktoren und Nachverfolgungssysteme, die diese einsetzen
Kind Code:
U1


Abstract:

System, umfassend:
eine Kameraanordnung;
mindestens einen Prozessor; und
Speicher, der Befehle speichert, die bei Ausführung durch den mindestens einen Prozessor das System veranlassen zum:
Bestimmen einer Bewegungsrichtung der Kameraanordnung;
Vorhersagen von Umgebungsfaktoren basierend auf der Bewegungsrichtung;
Bestimmen von Kameraeinstellungen basierend auf den Umgebungsfaktoren;
und Erfassen eines Bildes mit der Kameraanordnung unter Verwendung der bestimmten Kameraeinstellungen.




Application Number:
DE202017105899U
Publication Date:
12/04/2017
Filing Date:
08/17/2017
Assignee:
GOOGLE INC. (Calif., Mountain View, US)
International Classes:



Other References:
802.x-Standards
IEEE 802.3x
Attorney, Agent or Firm:
Maikowski & Ninnemann Patentanwälte Partnerschaft mbB, 10707, Berlin, DE
Claims:
1. System, umfassend:
eine Kameraanordnung;
mindestens einen Prozessor; und
Speicher, der Befehle speichert, die bei Ausführung durch den mindestens einen Prozessor das System veranlassen zum:
Bestimmen einer Bewegungsrichtung der Kameraanordnung;
Vorhersagen von Umgebungsfaktoren basierend auf der Bewegungsrichtung;
Bestimmen von Kameraeinstellungen basierend auf den Umgebungsfaktoren;
und Erfassen eines Bildes mit der Kameraanordnung unter Verwendung der bestimmten Kameraeinstellungen.

2. System nach Anspruch 1, wobei die Befehle, die das System veranlassen, die Bewegungsrichtung der Kameraanordnung zu bestimmen, Befehle umfassen, die das System veranlassen zum:
Extrahieren eines ersten Satzes von Merkmalen von einem ersten zuvor erfassten Bild;
Extrahieren eines zweiten Satzes von Merkmalen von einem zweiten zuvor erfassten Bild, wobei das zweite zuvor erfasste Bild nach dem ersten zuvor erfassten Bild erfasst wurde;
Identifizieren mehrerer gemeinsamer Merkmale, die sich sowohl in dem ersten Satz von Merkmalen als auch in dem zweiten Satz von Merkmalen befinden; und
Vorhersagen der Bewegungsrichtung basierend auf den Positionen von mindestens einigen der gemeinsamen Merkmale im ersten zuvor erfassten Bild relativ zu dem zweiten zuvor erfassten Bild.

3. System nach Anspruch 1, wobei das System weiter eine Trägheitsmesseinheit (IMU) umfasst und die Befehle, die das System veranlassen, die Bewegungsrichtung der Kameraanordnung zu bestimmen, Befehle umfassen, die das System veranlassen, die Bewegungsrichtung unter Verwendung der IMU zu bestimmen.

4. System nach Anspruch 1, wobei die Umgebungsfaktoren ein Lichtniveau umfassen.

5. System nach Anspruch 4, wobei die Befehle, die das System veranlassen, Umgebungsfaktoren basierend auf der Bewegungsrichtung vorherzusagen, Befehle umfassen, die das System veranlassen zum:
Vorhersagen eines Ortes der Kameraanordnung basierend auf der
Bewegungsrichtung; und
Vorhersagen des Lichtniveaus an dem vorhergesagten Ort.

6. System nach Anspruch 5, wobei die Befehle, die das System veranlassen, das Lichtniveau am vorhergesagten Ort vorherzusagen, Befehle umfassen, die das System veranlassen zum:
Identifizieren eines Helligkeitsgradienten in einem zuvor erfassten Bild; und
Verwenden des Helligkeitsgradienten, um das Lichtniveau am vorhergesagten Ort vorherzusagen.

7. System nach Anspruch 5, wobei die Befehle, die das System veranlassen, das Lichtniveau am vorhergesagten Ort vorherzusagen, Befehle umfassen, die das System veranlassen, das Lichtniveau basierend auf Daten über den vorhergesagten Ort, die von einer Umgebungskarte abgerufen werden, vorherzusagen.

8. System nach Anspruch 5, wobei die Befehle weiter Befehle umfassen, die das System veranlassen zum:
Extrahieren eines Satzes von Merkmalen von einem zuvor erfassten Bild; und
Bestimmen der Kameraeinstellungen basierend auf dem vorhergesagten Lichtniveau, um das Erfassen von mindestens einigen der extrahierten Sätze von Merkmalen zu verbessern.

9. System nach Anspruch 8, wobei die Merkmale mit einem Qualitätswert verknüpft sind und die Kameraeinstellungen bestimmt werden, um das Erfassen von mindestens einigen der extrahierte Sätze von Merkmalen basierend auf dem Qualitätsniveau zu verbessern.

10. System nach Anspruch 1, wobei die Kameraanordnung eine erste Kamera und eine zweite Kamera umfasst, und wobei die Befehle, die das System veranlassen, die Kameraeinstellungen basierend auf den Umgebungsfaktoren zu bestimmen, Befehle umfassen, die das System veranlassen zum:
Bestimmen von Hauptkameraeinstellungen basierend auf den Umgebungsfaktoren;
Anwenden eines negativen Versatzes auf die Hauptkameraeinstellungen, um Kameraeinstellungen mit negativem Versatz zu erzeugen;
Anwenden eines positiven Versatzes auf die Hauptkameraeinstellungen, um Kameraeinstellungen mit positivem Versatz zu erzeugen;
Anpassen der ersten Kamera basierend auf den Kameraeinstellungen mit negativem Versatz; und
Anpassen der zweiten Kamera basierend auf den Kameraeinstellungen mit positivem Versatz.

11. System nach Anspruch 10, wobei die Befehle, die das System veranlassen, die Kameraeinstellungen basierend auf den Umgebungsfaktoren zu bestimmen, weiter Befehle umfassen, die das System veranlassen zum:
Bestimmen einer Anzahl an verwendbaren Merkmalen, die durch die erste Kamera erfasst werden, und einer Anzahl an verwendbaren Merkmalen, die durch die zweite Kamera erfasste werden;
ansprechend auf das Bestimmen, dass die Anzahl an verwendbaren Merkmalen, die durch die erste Kamera erfasst werden, größer ist als die Anzahl an verwendbaren Merkmalen, die durch die zweite Kamera erfasst werden:
Erzeugen angepasster Hauptkameraeinstellungen basierend auf den Hauptkameraeinstellungen und den Kameraeinstellungen mit negativem Versatz;
Anwenden des negativen Versatzes auf die angepassten Hauptkameraeinstellungen, um angepasste Kameraeinstellungen mit negativem Versatz zu erzeugen;
Anwenden des positiven Versatzes auf die Hauptkameraeinstellungen, um angepasste Kameraeinstellungen mit positivem Versatz zu erzeugen;
Anpassen der ersten Kamera basierend auf den angepassten Kameraeinstellungen mit negativem Versatz; und
Anpassen der zweiten Kamera basierend auf den angepassten Kameraeinstellungen mit positivem Versatz.

12. System nach Anspruch 1, wobei die Kameraeinstellungen Belichtungseinstellungen umfassen.

13. System nach Anspruch 1, wobei die Befehle weiter Befehle umfassen, die das System veranlassen, eine Entität unter Verwendung von Bildern, die durch die Kameraanordnung erfasst wurden, nachzuverfolgen.

14. Nicht flüchtiges computerlesbares Speichermedium, das Befehle umfasst, die darauf gespeichert sind und bei Ausführung durch mindestens einen Prozessor konfiguriert sind, ein Computersystem mindestens zu Folgendem zu veranlassen:
Erfassen eines ersten Bildes mit einer Kamera einer sich bewegenden Kameraanordnung;
Vorhersagen eines zukünftigen Ortes der sich bewegenden Kameraanordnung;
Vorhersagen eines Lichtniveaus an dem vorhergesagten zukünftigen Ort;
Bestimmen von Belichtungseinstellungen basierend auf dem vorhergesagten Lichtniveau; und
Erfassen eines zweiten Bildes mit der Kamera unter Verwendung der bestimmten Belichtungseinstellungen.

15. Nicht flüchtiges computerlesbares Speichermedium nach Anspruch 14, weiter umfassend Befehle, die das Computersystem veranlassen zum:
Teilen eines vorhergesagten Sichtfeldes der Kamera in mehrere Regionen;
Vorhersagen von Lichtniveaus innerhalb von mindestens einiger der mehreren Regionen; und
Bestimmen der Belichtungseinstellungen basierend auf dem Kombinieren der vorhergesagten Lichtniveaus.

16. Nicht flüchtiges computerlesbares Speichermedium nach Anspruch 15, weiter umfassend Befehle, die das Computersystem veranlassen zum:
Abschätzen einer Anzahl an verwendbaren Merkmalen in mindestens einigen der mehreren Regionen; und
Kombinieren der vorhergesagten Lichtniveaus durch Gewichtung der Regionen basierend auf den abgeschätzten Anzahlen an verwendbaren Merkmalen.

17. Nicht flüchtiges computerlesbares Speichermedium nach Anspruch 16, weiter umfassend Befehle, die das Computersystem veranlassen, eine Karte zu verwenden, um die Anzahl an verwendbaren Merkmalen in mindestens einigen der mehreren Regionen abzuschätzen.

18. Nicht flüchtiges computerlesbares Speichermedium nach Anspruch 17, wobei ein verwendbares Merkmal basierend auf einer Qualitätspunktzahl, die dem Merkmal zugewiesen ist und die einen Schwellenwert überschreitet, bestimmt wird.

19. Nicht flüchtiges computerlesbares Speichermedium, das Befehle umfasst, die darauf gespeichert sind und bei Ausführung durch mindestens einen Prozessor konfiguriert sind, ein Computersystem mindestens zu Folgendem zu veranlassen:
Erfassen eines ersten Bildes mit einer Kamera einer sich bewegenden Kameraanordnung;
Vorhersagen eines zukünftigen Ortes der sich bewegenden Kameraanordnung;
Vorhersagen eines zukünftigen Sichtfeldes der Kamera basierend auf dem vorhergesagten Ort der sich bewegenden Kameraanordnung;
Vorhersagen von Umgebungsfaktoren innerhalb des vorhergesagten zukünftigen Sichtfeldes;
Bestimmen einer Kameraeinstellung basierend auf den vorhergesagten Umgebungsfaktoren; und
Erfassen eines zweiten Bildes mit der Kamera unter Verwendung der bestimmten Kameraeinstellungen.

20. Nicht flüchtiges computerlesbares Speichermedium nach Anspruch 19, wobei die Umgebungsfaktoren von einer Umgebungskarte abgerufen werden und ein Lichtniveau umfassen, und wobei die Kameraeinstellungen Belichtungseinstellungen umfassen.

Description:
ALLGEMEINER STAND DER TECHNIK

Ein erweitertes Realitäts-(Augmented Reality – AR)-System kann eine immersive erweiterte Umgebung für einen Benutzer erzeugen. Die immersive erweiterte Umgebung kann durch Überlagern von Computerbildern auf einem Sichtfeld der echten Welt eines Benutzers erzeugt werden. Die Computerbilder können beispielsweise Labels, Textinformationen, Sprites und dreidimensionale Entitäten umfassen.

Diese Bilder können an einer Position im Sichtfeld des Benutzers angezeigt werden, sodass diese ein Objekt in der echten Welt zu überlagern scheinen. Ein AR-System kann ein Nachverfolgungssystem umfassen, um den Ort des Benutzers oder anderer Objekte in der echten Welt zu identifizieren. Das Nachverfolgungssystem kann beispielsweise Bilder verwenden, die von der wirklichen Umgebung erfasst wurden, um zu bestimmen, wo sich eine Person oder ein Objekt befindet und/oder sich bewegt.

KURZDARSTELLUNG

Diese Beschreibung betrifft Kameraeinstellungsanpassungen basierend auf vorhergesagten Umgebungsfaktoren. In einem nicht begrenzenden Beispiel werden die vorhergesagten Umgebungsfaktoren basierend auf der Bewegung der Kamera bestimmt.

Eine beispielhafte Implementierung ist ein System, das eine Kameraanordnung, mindestens einen Prozessor und Speicher, der Befehle speichert, umfasst. Wenn die Befehle durch mindestens einen Prozessor ausgeführt werden, können die Befehle das System veranlassen, eine Bewegungsrichtung der Kameraanordnung zu bestimmen. Die Befehle veranlassen das System auch, Umgebungsfaktoren basierend auf der Bewegungsrichtung vorherzusagen. Zusätzlich veranlassen die Befehle das System, Kameraeinstellungen basierend auf den Umgebungsfaktoren zu bestimmen, und ein Bild zu erfassen, wobei die Kameraanordnung die bestimmten Kameraeinstellungen verwendet.

Eine weitere beispielhafte Implementierung ist ein nicht flüchtiges computerlesbares Speichermedium, das darauf gespeicherte Befehle umfasst. Die Befehle sind bei Ausführung durch mindestens einen Prozessor konfiguriert, ein Computersystem zu veranlassen, ein erstes Bild mit einer Kamera einer sich bewegenden Kameraanordnung zu erfassen. Die Befehle sind zudem konfiguriert, das Computersystem zu veranlassen, einen zukünftigen Ort der sich bewegenden Kameraanordnung vorherzusagen. Die Befehle sind zusätzlich konfiguriert, das Computersystem zu veranlassen, ein Lichtniveau an dem vorhergesagten zukünftigen Ort vorherzusagen. Die Befehle sind zudem konfiguriert, das Computersystem zu veranlassen, Belichtungseinstellungen basierend auf dem vorhergesagten Lichtniveau zu bestimmen und ein zweites Bild mit der Kamera unter Verwendung der bestimmten Belichtungseinstellungen zu erfassen.

Noch ein weiterer Aspekt ist ein Verfahren zum Nachverfolgen einer Entität. Das Verfahren umfasst den Schritt des Erfassens eines ersten Bildes mit einer Kamera einer sich bewegenden Kameraanordnung. Das Verfahren umfasst auch das Vorhersagen eines Ortes, der sich bewegenden Kameraanordnung. Zusätzlich umfasst das Verfahren die Schritte des Vorhersagens eines zukünftigen Sichtfelds der Kamera basierend auf dem vorhergesagten Ort der sich bewegenden Kameraanordnung und das Vorhersagen von Umgebungsfaktoren innerhalb des vorhergesagten zukünftigen Sichtfelds. Das Verfahren umfasst zudem die Schritte des Bestimmens einer Kameraeinstellung basierend auf den vorhergesagten Umgebungsfaktoren und des Erfassens eines zweiten Bildes mit der Kamera unter Verwendung der bestimmten Kameraeinstellungen.

Die Details einer oder mehrerer Implementierungen sind in den nachstehenden zugehörigen Zeichnungen und der Beschreibung dargelegt. Andere Merkmale werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist ein Blockdiagramm eines beispielhaften erweiterten Realitäts-(AR)-Systems mit einer physischen Umgebung und eines Nachverfolgungssystems zum Nachverfolgen von Bewegung in der physischen Umgebung gemäß dieser Offenbarung.

2 ist eine Veranschaulichung eines beispielhaften Bildes eines Abschnitts der Umgebung von 1 aufgenommen unter Verwendung einer Belichtungseinstellung.

3 ist eine Veranschaulichung eines weiteren beispielhaften Bildes des Abschnitts von 2 aufgenommen unter Verwendung einer anderen Belichtungseinstellung.

Die 4, 5 und 6 veranschaulichen gemeinsam eine Sequenz von beispielhaften Bildern, die von zwei unterschiedlichen Abschnitten der Umgebung von 1 mit unterschiedlichen Belichtungseinstellungen aufgenommen sind.

Die 7A und 7B veranschaulichen gemeinsam eine weitere Sequenz von beispielhaften Bildern, die von zwei unterschiedlichen Abschnitten der Umgebung von 1 mit unterschiedlichen Belichtungseinstellungen aufgenommen sind.

8 ist ein Diagramm, das beispielhafte Lichtniveauzonen eines Bildes veranschaulicht.

9 ist ein Diagramm, das eine Merkmalnachverfolgungskarte mit Belichtungsdaten veranschaulicht.

Die 10 und 11 veranschaulichen entsprechende Bilder, die von dem gleichen Abschnitt der Umgebung von 1 unter Verwendung entsprechender Kameras und entsprechender Belichtungseinstellungen aufgenommen sind.

12 ist eine grafische Darstellung, die eine beispielhafte Belichtungsnachverfolgung veranschaulicht.

13 ist eine schematische Darstellung, die eine beispielhafte Kameravorrichtung gemäß den Lehren dieser Offenbarung veranschaulicht.

14 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren darstellt, das zum Implementieren einer Kameravorrichtung gemäß den Lehren dieser Offenbarung verwendet werden kann.

15 ist ein Blockdiagramm einer beispielhaften Computervorrichtung und einer beispielhaften mobilen Computervorrichtung, die zum Implementieren der hier offenbarten Beispiele verwendet werden können.

AUSFÜHRLICHE BESCHREIBUNG

Während Beispiele in Verbindung mit Nachverfolgungssystemen und erweiterten Realitäts-(AR)-Systemen hier offenbart sind, können die hier offenbarten Beispiele auch in Verbindung mit virtuellen Realitäts-(VR)-Systemen, handgehaltenen AR- oder VR-Systemen, Kartierungssystemen, am Kopf befestigten Systemen, Nachverfolgungssystemen für Roboter (z. B. fliegende Roboter, sich bewegende Roboter, gehende Roboter, Fahrroboter usw.) usw. verwendet werden.

Ganz allgemein gesprochen verwenden Nachverfolgungssysteme in Bildern (z. B. 150 bis 300 Merkmale pro Bild) detektierte Merkmale (z. B. Ecken, Kanten, Begrenzungen, Objekte usw.) und die Bewegung von diesen Merkmalen von Bild zu Bild, um zu bestimmen, wo sich eine Person oder ein Objekt befindet und/oder ob sie bzw. es sich bewegt. Verschiedene Kameraeinstellungen können beeinflussen, wie gut Merkmale von durch die Kamera erfassten Bildern extrahiert werden können. Das Anpassen von mit der Belichtung in Zusammenhang stehenden Einstellungen, wie Verstärkung und Verschlusszeit, kann basierend auf Beleuchtungsbedingungen beispielsweise eine Merkmaldetektion verbessern. Andere nicht begrenzende Beispiele von Kameraeinstellungen, die angepasst werden können, umfassen Weißabgleich, Lichtempfindlichkeit, Bildschärfe, Zoom usw. Viele der Beispiele hierin betreffen das Anpassen einer Belichtungseinstellung einer Kamera, es sind aber Implementierungen möglich, die diese anderen Einstellungen auch anpassen.

Eine Merkmalextraktion von Bildern zum Zweck des Nachverfolgens kann durch Anpassen der Einstellungen einer Kamera (z. B. Einstellen einer Kamera für eine geeignete Belichtung), damit diese der Umgebung entsprechen, verbessert werden, um zu ermöglichen, dass nachverfolgbare Merkmale in einem Bild besser detektiert werden. Es gibt verschiedene Kompromisse beim Einstellen der Verstärkungs- und Verschlussparameter einer Kamera. Die Verstärkung erhöht die Helligkeit und den Kontrast, kann aber auch Rauschen in einem Bild erhöhen. Die Verschlusszeit kann die Helligkeit und den Kontrast beeinflussen, aber daraus können längere Belichtungszeiten in Bildern resultieren, die eine Bewegungsunschärfe während der Bewegung aufweisen, was das Detektieren von Merkmalen schwer oder gar unmöglich machen kann.

Wenn Kameras mit einem Nachverfolgungssystem in einer Umgebung verwendet werden, die Bereiche mit signifikanten Unterschieden im Lichtniveau aufweist (z. B. eine Umgebung mit einem Fenster und einer dunklen Ecke), kann die Verzögerung beim automatischen Anpassen der Kameraeinstellungen wie Belichtungseinstellungen zum Verlust von bildbasierter Merkmaldetektion während der Bewegung führen. Ein Verlust von Merkmaldetektion, wenn auch temporär, kann es erforderlich machen, eine Vorhersage der Bewegung während solcher Verzögerungen während der automatischen Bestimmung von Kameraeinstellungen zu verwenden. Bei einigen Fällen können einige Bildframes nötig sein, damit ein automatisches Anpassen erfolgt, was Drift zwischen dem, wo sich die Kamera tatsächlich befindet oder wohin sie zeigt, und dem was das Nachverfolgungssystem bestimmt, wo sich die Kamera befindet oder wohin sie zeigt, bewirken kann. Probleme können verschlimmert werden, wenn Farbkameras verwendet werden. Zusätzlich kann die konventionelle automatische Anpassung von Kameraeinstellungen auch zum Anpassen von Einstellungen auf eine Weise führen, die für eine Merkmalverfolgung nachteilig ist. Unter Verwendung konventioneller Auto-Anpassungstechniken kann beispielsweise eine Kamera, die ein Sichtfeld aufweist, das eine helle Fensterfläche in einem dunkleren Raum umfasst, Belichtungseinstellungen basierend auf der helleren Fensterfläche (die keine verwendbaren Merkmale umfassen kann) anpassen, selbst wenn diese Handlung zum Nachverfolgen verwendbarer Merkmale innerhalb des dunkleren Raums nachteilig ist.

Die beispielhafte vorhersagende Anpassung von Kameraeinstellungen, wie Belichtungseinstellungen und beispielhafte Nachverfolgungssysteme, welche diese einsetzen, die mindestens diese Herausforderungen überwinden, werden hier offenbart. Bei einigen Implementierungen wird ein vorhergesagter Ort einer sich bewegenden Kamera bestimmt und verwendet, um Kameraeinstellungen zu bestimmen. Diese Kameraeinstellungen werden dann verwendet, um ein oder mehrere Bilder zu erfassen. Als ein Beispiel wird ein erster Ort einer sich bewegenden Kamera vorhergesagt, während sich die Kamera bewegt, eine Belichtungseinstellung für den ersten Ort der Kamera wird bestimmt, und ein Bild wird mit der Kamera an einem zweiten Ort unter Verwendung der Belichtungseinstellung aufgenommen. Es kann zum Beispiel vorhergesagt werden, dass die Kamera von einem hellen Fenster nach unten hin zu einer dunklen Ecke bewegt wird. Als Reaktion auf das Bestimmen, dass sich die Kamera zu der dunklen Ecke bewegt, können eine Einstellung bzw. Einstellungen der Kamera wie Belichtungseinstellungen(en) vorhersagbar für weniger Licht angepasst werden, sogar bevor die Kamera auf den oder in Richtung des dunkleren Bereichs gerichtet wird, und bevor die Kamera automatisch angepasst hat. Da Kameraeinstellungen wie Belichtungseinstellungen vorhersagend vorzeitig eingestellt werden, können verlorene Frames, Drift und Lücken bei der Merkmalverfolgung reduziert werden.

Zusätzlich oder alternativ umfassen einige Implementierungen eine Kameraanordnung, die mehrere Kameras umfasst. Die Kameras können unterschiedliche Kameraeinstellungen wie Belichtungseinstellungen verwenden. Dunklere Teile einer Szene (z. B. eine dunkle Ecke) können durch eine auf weniger Licht angepasste Kamera gut abgebildet werden (z. B. eine hinreichende Anzahl an Merkmalen zeigen), während hellere Teile (z. B. ein hell erleuchtetes Fenster) durch eine andere auf mehr Licht angepasste Kamera gut abgebildet werden können. Da die Kameras auf unterschiedliche Lichtmengen angepasst sind, kann eine Merkmaldetektion über die Szene mit geringerem Lichtempfindlichkeitsniveau ausgeführt werden. Die Bewegung innerhalb der Szene kann zusätzlich ohne Verlust von Bildern und Merkmaldetektion ausgeführt werden. Diese Beispiele stehen im Gegensatz zu konventionellen Nachverfolgungssystemen, die stattdessen die gleichen Belichtungseinstellungen und/oder andere Kameraeinstellungen für beide Kameras verwenden. Kameraeinstellungen werden bei einigen Implementierungen basierend auf einem vorhergesagten zukünftigen Ort der Kameraanordnung bestimmt. Hauptkameraeinstellungen können beispielsweise basierend auf dem vorhergesagten zukünftigen Ort der Kameraanordnung bestimmt werden. Eine der Kameras kann konfiguriert sein, Kameraeinstellungen zu verwenden, die durch das Versetzen der Kameraeinstellungen in einer ersten Richtung bestimmt sind (z. B. ein negativer Versatz), und die andere Kamera kann konfiguriert sein, Kameraeinstellungen zu verwenden, die durch das Versetzen der Kameraeinstellungen in einer zweiten Richtung bestimmt sind (z. B. ein positiver Versatz).

Zusätzlich oder alternativ kann die Kameraanordnung eine Optimierungsroutine ausführen. Merkmale können beispielsweise von den durch die mehreren Kameras erfassten Bildern extrahiert werden. Qualitätspunktzahlen können für die Merkmale und/oder die Bilder berechnet werden. Dann können die Kameraeinstellungen für Kameras basierend darauf, welches der Bilder eine höhere Qualitätspunktzahl aufgewiesen hat, angepasst werden. Bei einigen Implementierungen wird dieser Prozess kontinuierlich oder in Intervallen wiederholt, um eine konstante Anpassung der Kameraeinstellungen zu ermöglichen, damit diese besser zu der Umgebung passen.

Es wird nun im Detail auf nicht einschränkende Beispiele dieser Offenbarung Bezug genommen, von der Beispiele in den begleitenden Zeichnungen veranschaulicht sind. Die Beispiele werden nachfolgend unter Bezugnahme auf die Zeichnungen beschrieben, wobei sich gleiche Bezugszeichen auf gleiche Elemente beziehen. Wenn gleiche Bezugszeichen dargestellt sind, werden entsprechende Beschreibungen nicht wiederholt und der interessierte Leser wird bezüglich einer Beschreibung der ähnlichen Elemente auf die vorher erörterten Figuren verwiesen.

Unter Bezugnahme auf 1 ist ein Blockdiagramm eines beispielhaften AR-Systems 100 zum Erzeugen einer dreidimensionalen (3D) AR-Umgebung 102 und um einem Benutzer zu ermöglichen, damit zu interagieren, gezeigt. Das AR-System 100 ermöglicht dem Benutzer 104 mit physischen (z. B. wirklichen) Objekten in der Umgebung 102 sowie mit virtuellen Objekten, die mit den physischen Objekten zusammen gesehen (z. B. miteinander arrangiert) werden, über beispielsweise ein Head Mounted Display (HMD) 106, einen Tablet-Computer, ein Smartphone, ein Laptop usw. zu interagieren. Das AR-System 100 ermöglicht dem Benutzer 104 die physischen Objekte mit den virtuellen Objekten zusammen zu betrachten (z. B. zu sehen), sodass die virtuellen Objekte die physischen Objekte in der Umgebung 102 erweitern. Informationen über ein physisches Objekt können beispielsweise innerhalb des Sichtfelds des Benutzers am oder nahe dem Ort des physischen Objekts dargestellt sein.

Die beispielhafte Umgebung 102 von 1 umfasst ein Fenster 110 auf einer Rückwand der Umgebung 102, mehrere andere Merkmale (z. B. Objekte, Begrenzungen, Kanten, Ecken usw.), von denen eines mit der Bezugsnummer 111 bezeichnet ist, und eine dunkle Ecke 112. Zum Zweck der Erörterung wird Bezug auf die beispielhafte Umgebung 102 genommen, es könnten jedoch auch andere Umgebungen verwendet werden. Desgleichen sind die hierin gezeigten und beschriebenen beispielhaften Bilder von unterschiedlichen Abschnitten der Umgebung 102 und/oder mit unterschiedlichen Kameraeinstellungen wie Belichtungseinstellungen reine Beispiele von Bildern, die aufgenommen werden könnten.

Wie in den 2 und 3 gezeigt, zeigen von der Rückwand der Umgebung 102 mit unterschiedlichen Belichtungseinstellungen aufgenommene Bilder unterschiedliche Merkmale und/oder sie zeigen die Merkmale unterschiedlich. In 2 wird eine Belichtungseinstellung verwendet, die es ermöglicht, dass die Aspekte des Fensters 110 und der Merkmale 205 (die mit einer gestrichelten Linie dargestellt sind, sodass diese identifiziert werden können) nahe dem Fenster 110 gesehen werden, aber Merkmale, die sich rechts vom Fenster 110 nahe der dunklen Ecke 112 befinden, nicht gesehen werden. In 3 wird eine Belichtungseinstellung verwendet, die es ermöglicht, dass die Merkmale 210 (die mit einer gestrichelten Linie dargestellt sind, sodass diese identifiziert werden können) nahe der dunklen Ecke 112 gesehen werden, während Details, die mit dem Fenster 110 verknüpft sind, und die Merkmale 205 nahe dem Fenster 110 nicht deutlich sichtbar sind (z. B. erheblich überbelichtet sind).

Die 4 bis 6 zeigen eine Sequenz von Bildern, die von unterschiedlichen Abschnitten der Umgebung 102 mit unterschiedlichen Einstellungen wie Belichtungseinstellungen aufgenommen sind. In 4 ist ein erstes Bild 401 von einem Abschnitt nach links der Rückwand der Umgebung 102 mit Kameraeinstellungen wie Belichtungseinstellungen aufgenommen, die denjenigen von 2 ähnlich sind. Die Kamera wird dann bewegt oder gedreht, um ein zweites Bild 402 eines Abschnitts nach rechts der Rückwand aufzunehmen. Da die Kamera das automatische Anpassen der Belichtungseinstellung(en) nicht begonnen hat, ist das zweite Bild 402 hauptsächlich dunkel und die Merkmale 210 (siehe 3) sind im zweiten Bild 402 nicht detektierbar. Während die Kamera damit fortfährt, die Belichtungseinstellung(en) automatisch anzupassen, wird ein drittes Bild 403 wie in 5 gezeigt aufgenommen. Da die Belichtungseinstellung(en) für weniger Licht angepasst wurden, beginnen die Merkmale 210 im dritten Bild 403 zu erscheinen, sind aber nicht vollständig detektierbar. Für ein viertes in 6 gezeigtes Bild 404 hat die Kamera Einstellungen einschließlich Belichtungseinstellungen automatisch angepasst, sodass sie denjenigen von 3 ähnlich sind, und die Merkmale 210 können genau detektiert werden. Da es im Beispiel der 4 bis 6 zwei zusätzliche Bilder für die Kamera erfordert, um Belichtungseinstellung(en) automatisch anzupassen, wird ein Nachverfolgungssystem, das von allen Bildern der 4 bis 6 abhängt, zwei unbenutzbare Bilder aufweisen, die unerwünschte Drift zwischen dem, wo sich die Kamera tatsächlich befindet oder wohin sie zeigt, und was das Nachverfolgungssystem bestimmt, wo sich die Kamera befindet oder wohin sie zeigt, bewirken können.

Die 7A und 7B zeigen eine Sequenz von Bildern, die von unterschiedlichen Abschnitten der Umgebung 102 unter Verwendung einer beispielhaften Implementierung der Kameraeinstellungsanpassung basierend auf vorhergesagten Umgebungsfaktoren wie hierin offenbart aufgenommen sind. In 7A wird ein erstes Bild 701 von einem Abschnitt nach links der Rückwand der Umgebung 102 mit Kameraeinstellungen einschließlich Belichtungseinstellungen aufgenommen, die denjenigen von 2 ähnlich sind. Die Kamera wird dann bewegt oder gedreht und ein zweites Bild 702 eines Abschnitts nach rechts der Rückwand aufgenommen. Die Richtung, in die sich die Kamera bewegt, wird bestimmt. Wie nachfolgend ausführlicher beschrieben wird in Verbindung mit den 8 und 9 die bestimmte Richtung verwendet, um Kameraeinstellungen wie Belichtungseinstellungen vorherzusagen, abzuschätzen oder zu bestimmen. Die vorhergesagten Einstellungen, welche die Belichtungseinstellungen umfassen, werden dann für das nächste Bild verwendet.

Im Beispiel der 7A und 7B wird bestimmt, dass sich die Kamera nach rechts bewegt. Wenn beispielsweise bekannt ist, dass die Umgebung rechts dunkler ist, kann bestimmt werden, die Kameraeinstellungen wie Belichtungseinstellungen für weniger Licht anzupassen. Derart angepasst basierend auf den vorhergesagten Einstellungen nimmt die Kamera das zweite Bild 702 von 7B auf, ohne auf automatische Anpassungen warten oder diese ausführen zu müssen, die in unannehmbaren Bildverlusten resultieren.

Bei einigen Beispielen werden Trägheitsmessungen, Gyroskope und/oder Beschleunigungsmesser verwendet, um Bewegung zu messen und/oder vorherzusagen. Zusätzlich oder alternativ kann basierend auf Geschwindigkeit und Richtung Dead Reckoning verwendet werden. Bei einigen Beispielen wird eine Vorhersage und/oder Detektion der Bewegung tiefpassgefiltert, um Bewegungsdithering, wie z. B. Bewegung von einigen Grad pro Sekunde vor und zurück zu reduzieren. Eine beispielhafte Kamera ist eine Graustufenfischaugenkamera mit 220º Sichtfeld.

Eine Vorhersage der Belichtung kann auf mehrere Arten ausgeführt werden. Beispielsweise unter Verwendung von Bereichen eines Bildes, unter Verwendung einer Karte eines Nachverfolgungssystems, unter Verwendung von Lichtmessungszonen einer Kamera, Kombinationen davon usw.

Bei einigen Implementierungen werden Bereiche eines Bildes verwendet, um einen Gradienten für einen Umgebungsfaktor zu bestimmen. Das Lichtniveau kann beispielsweise über das Bild hinweg horizontal ansteigen, sodass die rechte Seite des Bildes ein höheres Lichtniveau aufweist als die linke Seite des Bildes. Wenn dann bestimmt ist, dass sich das Sichtfeld der Kamera von links nach rechts bewegt, können die Kameraeinstellungen angepasst werden, sodass sie einem höheren Lichtniveau besser angepasst sind (d. h., besser angepasst an die vorhergesagten Umgebungsfaktoren des vorhergesagten Ortes des Sichtfeldes der Kamera).

8 zeigt das beispielhafte Bild 800, das in mehrere beispielhafte Bereiche eingeteilt ist (von denen zwei mit den Bezugsnummern 805 und 806 bezeichnet sind). Obwohl diese Bereiche als gleichförmige rechteckige Regionen in 8 gezeigt sind, weisen die Bereiche bei einigen Implementierungen andere Formen oder nicht einheitliche Formen auf. Jeder der Bereiche 805, 806 weist eine zugehörige Lichtmenge auf, die wie in 8 gezeigt als „hell“, „sehr hell“, „halbdunkel“, „dunkel“ und „sehr dunkel“ erfasst wurde. Indem bekannt ist, dass die Kamera auf den Bereich 805 gerichtet war, als das Bild 800 aufgenommen wurde, kann eine vorhergesagte Bewegung (z. B. nach rechts zum Bereich 806) verwendet werden, um zu bestimmen, dass die Belichtung von der, die mit einem hell belichteten Gegenstand verknüpft ist, zu einer, die mit einem dunkel beleuchteten Gegenstand verknüpft ist, geändert werden sollte.

Bei einigen Implementierungen werden die Bereiche eines Bildes verarbeitet, um Merkmale zu extrahieren, und die extrahierten Merkmale werden mit Qualitätswerten verknüpft. Merkmale, die für das Nachverfolgen weniger nützlich sind oder beim Nachverfolgen zu abweichenden Ergebnissen führen, können beispielsweise mit einem niedrigeren Qualitätswert verknüpft werden. Da Kameraeinstellungen basierend auf der Bewegung und den Umgebungsfaktoren eines vorhergesagten zukünftigen Sichtfeldes der Kamera bestimmt werden, können die Qualitätspunktzahlen verwendet werden. Die Umgebungsfaktoren von mehreren Bereichen im vorhergesagten zukünftigen Sichtfeld können beispielsweise auf eine Weise kombiniert werden, welche die Bereiche basierend auf den Qualitätspunktzahlen gewichtet. Die kombinierten Umgebungsfaktoren können dann verwendet werden, um Kameraeinstellungen zu bestimmen.

Bei einigen Implementierungen können Bereiche mit niedrigeren Qualitätspunktzahlen (z. B. Punktzahlen unter einem Schwellenwert) von der Berücksichtigung beim Bestimmen von Kameraeinstellungen ausgeschlossen werden. Ein Abschnitt eines Bildes kann beispielsweise eine Ansicht durch ein Fenster umfassen. Jegliche Merkmale, die von den Außenumgebungen extrahiert sind (z. B. wie durch das Fenster gesehen), sind wahrscheinlich beim Nachverfolgen von Bewegung innerhalb Innenumgebung weniger nützlich wie Merkmale, die von der Innenumgebung extrahiert sind. Dementsprechend können extrahierten Merkmalen vom Abschnitt des Bildes, der die Außenumgebung zeigt, niedrigere Qualitätspunktzahlen zugewiesen werden. Zusätzlich kann dieser Abschnitt des Bildes ein viel höheres Lichtniveau aufweisen als der Rest des Bildes (was das für das gesamte Bild bestimmte Lichtniveau verzerren kann, wenn ein einfacher Mittelwert verwendet wird). Basierend auf der niedrigeren Qualitätspunktzahl kann der Abschnitt des Bildes, der die äußere Umgebung zeigt, beim Bestimmen der Kameraeinstellungen von der Berücksichtigung ausgeschlossen werden. Auf diese Weise wird den Umgebungsfaktoren, die für die Regionen relevant sind, die nützliche Merkmale für Nachverfolgungszwecke bereitstellen, größere Berücksichtigung beim Bestimmen von Umgebungsfaktoren gegeben.

Bei mindestens einigen Implementierungen ist eine Karte 900 des Ortes der Merkmale F1, F2, F3, F4 in einer Umgebung bekannt (siehe 9). Die Karte wird zusammen mit der Extraktion von Merkmalen von einem Bild verwendet, um den Ort und/oder die Bewegungsrichtung eines Objekts und/oder einer Person zu bestimmen. Die Karte kann während eines Trainings oder eines Lernvorgangs oder einer Lernphase definiert und anschließend verwendet werden, um Orte oder eine Bewegung zu bestimmen. Die Karte kann auch von einem entfernten Computersystem abgerufen werden.

Bei offenbarten Beispielen wie dem in 9 gezeigten, werden die Umweltinformationen E1, E2, E3, E4, wie Lichtniveaus oder Belichtungsinformationen als Teil der Karte gespeichert, und können mit den Merkmalen F1, F2, F3, F4 verknüpft sein. Dadurch, dass ein gegenwärtiger Ort und eine Bewegungsrichtung bekannt sind, kann der Ort des nächsten Bildes vorhergesagt werden. Der vorhergesagte Ort kann verwendet werden, um ein Merkmal F1, F2, F3, F4 an oder nahe dem vorhergesagten Ort zu identifizieren, und die mit dem identifizierten Merkmal verknüpften Umweltinformationen können verwendet werden, um das nächste Bild aufzunehmen. Bei einigen Beispielen können mehrere Merkmale identifiziert werden und ihre entsprechenden Umweltinformationen verwendet werden, um Kameraeinstellungen wie Belichtungseinstellungen für das nächste Bild zu bestimmen. Es kann unterschiedliche Karten für unterschiedliche Tageszeiten, Jahreszeiten, Wetterbedingungen, Beleuchtungsbedingungen usw. geben. Die Umweltinformationen können während des Trainings oder des Lernvorgangs oder der Lernphase definiert oder gelernt werden, während Bilder während des Verwendens in einer Umgebung aufgenommen werden. Die Karte kann auch Qualitätspunktzahlen umfassen, die mit den Merkmalen verknüpft sind, die anzeigen, wie nützlich das Merkmal wahrscheinlich für Nachverfolgungszwecke ist.

Zusätzlich oder alternativ kann mehr als eine Kamera verwendet werden, um Bilder aufzunehmen. Jede der Kameras nimmt zur gleichen Zeit ein Bild auf, wobei jede der Kameras unterschiedliche Kameraeinstellungen einschließlich Belichtungseinstellungen verwendet. Bei einem Beispiel mit zwei Kameras nimmt eine Kamera ihr Bild 1005 (siehe 10) mit den ersten Kameraeinstellungen einschließlich Belichtungseinstellungen für mehr Licht verglichen mit einem Bild 1105 (siehe 11), das mit der anderen Kamera aufgenommen ist, auf. Die Kameraeinstellungen einschließlich der Belichtungseinstellungen, die verwendet werden, um das Bild 1005 zu erfassen, ermöglichen, dass das Fenster 110 und die Merkmale 205 gut abgebildet werden, sie ermöglichen aber nicht, die Merkmale 210 zu erfassen. Die Kameraeinstellungen einschließlich der Belichtungseinstellungen, die verwendet werden, um das Bild 1105 zu erfassen, ermöglichen, dass die Merkmale 210 gut abgebildet werden, sie ermöglichen aber nicht, dass das Fenster 110 und die Merkmale 205 gut abgebildet werden. Durch Erfassen und Verwenden beider Bilder 1005 und 1105 können das gesamte Fenster 110 und die Merkmale 205 und 210 gut abgebildet werden. Wie veranschaulicht kann etwas von dem Fenster 110 und den Merkmalen 205 und 210 in beiden Bildern 1005 und 1105 gut abgebildet werden. Unter Verwendung mehrerer Kameras, die Bilder zur gleichen Zeit mit unterschiedlichen Kameraeinstellungen wie Belichtungseinstellungen aufnehmen, können Merkmale über einen breiteren Bereich an Leuchtniveaus detektiert werden.

Bei einigen Beispielen verwenden Kameras Kameraeinstellungen, die um 3 bis 5 % variieren. Einige Implementierungen mit zwei Kameras verwenden beispielsweise Belichtungseinstellungen, die eine Belichtungsdifferenz von 3 bis 5 % bereitstellen. Die Kameras können in unterschiedlichen Positionen und/oder Ausrichtungen relativ zueinander angeordnet sein. Durch Trennen der Kameras können beispielsweise auch stereoskopische Informationen erlangt werden.

12 ist eine grafische Darstellung, die beispielhafte Änderungen der Belichtungszeiten E1 und E2 über der Zeit für erste und zweite Kameras zeigt, die die jeweiligen Bilder 1005 und 1105 der 10 und 11 aufnehmen. 12 zeigt, wie die Belichtungen E1 und E2 von den ersten und zweiten Kameras relativ zu einer Hauptbelichtung EM eingestellt werden können. Bei einigen Beispielen werden die Belichtungen E1 und E2 für die 2 Kameras bei festen entgegengesetzten Unterschieden von der Hauptbelichtung EM gehalten. Im Beispiel von 12 verfolgt die Hauptbelichtung EM die Belichtung der Kamera nach (d. h., sie wird geändert oder modifiziert, damit sie ähnlicher dazu ist), was Bilder mit nützlicheren Merkmalen bereitstellt. In 12 stellt die zweite Kamera zum Beispiel die meisten Merkmale bereit, und die Hauptbelichtung EM ist auf die Belichtung E2 geändert. Bei einigen Implementierungen werden Qualitätswerte der Merkmale auch beim Bestimmen verwendet, wie die Hauptbelichtung EM angepasst werden sollte.

Bei einigen Beispielen verfolgt eine Hauptbelichtung EM die Gesamtbelichtung der Bilder nach, wobei die Belichtungen E1 und E2 der Kameras relativ zur Hauptbelichtung EM eingestellt werden. Während sich die Menge an Licht in den Bildern ändert, ändert sich die Hauptbelichtung EM, um die Änderungen in den Bildern nachzuverfolgen (z. B. durch Anpassen, sodass sie einer der Belichtungen E1 und E2 ähnlicher ist, welche die meisten Merkmale, die nützlichsten oder verwendbarsten Merkmale, die Merkmale mit der höchsten Qualität usw. umfasste). Obwohl das Beispiel von 12 Belichtungseinstellungen betrifft, passen einige Implementierungen auch andere Kameraeinstellungen in ähnlicher Weise an.

Wie vorstehend beschrieben, kann eine Einstellungsanpassung einschließlich einer Belichtungseinstellungsanpassung basierend auf vorhergesagten Umgebungsfaktoren zusammen mit mehreren Kameras verwendet werden. Das Einstellen von Anpassungen basierend auf vorhergesagten Umgebungsfaktoren kann beispielsweise verwendet werden, um die Kameraeinstellungen einer ersten Kamera (wie vorstehend beschrieben) einzustellen, wobei eine zweite Kamera auf einen Versatz zu den Kameraeinstellungen für die erste Kamera eingestellt ist.

Bei einigen Implementierungen, die eine einzelne Kamera umfassen, kann eine ähnliche Technik wie die, die vorstehend für mehrere Kameras beschrieben ist, verwendet werden, um die Kameraeinstellungen durch Prüfen unterschiedlicher Kameraeinstellungen über Zeit und durch Vergleichen der Merkmale, die erfasst werden, anzupassen. Das System kann beispielsweise eine Hauptbelichtung EM aufrechterhalten. Das System kann dann eine Einstellungsprüfung ausführen, die das Erfassen eines ersten Bildes unter Verwendung einer Belichtung E1 einbezieht, die in einer ersten Richtung von der Hauptbelichtung EM versetzt ist, und dann ein zweites Bild unter Verwendung einer Belichtung E2 erfassen, die gegenüber der Hauptbelichtung EM in die entgegengesetzte Richtung versetzt ist. Die Merkmale, die in den zwei Bildern erfasst sind, können verglichen werden und die Hauptbelichtung EM kann an die Belichtung, die eine bessere Merkmalerfassung bereitgestellt hat, oder in Richtung davon angepasst werden. Dieser Prozess des Abwechselns zwischen dem Erfassen von Bildern mit Kameraeinstellungen, die einen positiven Versatz aufweisen, und Kameraeinstellungen, die einen negativen Versatz aufweisen, kann kontinuierlich verwendet werden. Alternativ kann dieser Prozess während bestimmter Messereignisse wie in verschiedenen Intervallen während des Nachverfolgungsprozesses verwendet werden.

13 ist eine schematische Darstellung einer beispielhaften Vorrichtung 1300 mit einer oder mehreren Kameras, die unter anderem verwendet werden können, um Kameraeinstellungsanpassungen basierend auf vorhergesagten Umgebungsfaktoren zu implementieren. Bei einigen Beispielen kann die vorhersagende adaptive Kameraeinstellungsanpassung als Teil eines Nachverfolgungssystems implementiert sein. Die beispielhafte Vorrichtung 1300 von 13 umfasst eine Kameraanordnung 1305 und ein Steuermodul 1320. Die Kameraanordnung 1305 weist eine oder mehrere Kameras 1310 und 1311 auf.

Das Modul 1320 und die Elemente darin können unter Verwendung irgendeiner Anzahl und/oder Art(en) von Komponenten und/oder maschinenlesbaren Befehlen implementiert sein. Bei einigen Beispielen ist das Steuermodul 1320 unter Verwendung einer mobilen Vorrichtung, wie einem Mobiltelefon, einem Smartphone oder einem Tablet, implementiert, die kommunikativ und/oder physisch beispielsweise mit einer am Kopf befestigten Vorrichtung gekoppelt ist, welche die Kamera(s) 1310, 1311 bereitstellt.

Um die Vorrichtung 1300 zu steuern, umfasst das beispielhafte Steuermodul 1320 von 13 einen Prozessor 1325 in Form eines Mikrocontrollers, einer Zentraleinheit (CPU), eines ASIC, eines Digitalsignalprozessors (DSP), eines FPGA, eines Grafikprozessors (GPU) usw., der programmiert oder konfiguriert ist, maschinenlesbare Befehle auszuführen, die in einem Speicher 1330 gespeichert sind. Bei einigen Beispielen veranlassen die Befehle bei Ausführung den Prozessor 1325 unter anderem dazu, Kameraeinstellungsanpassungen basierend auf vorhergesagten Umgebungsfaktoren einschließlich vorhersagenden adaptiven Belichtungseinstellungsanpassungen zu implementieren. Bei einigen Beispielen implementiert die Vorrichtung 1300 ein Nachverfolgungssystem, wie ein Nachverfolgungssystem zum Erzeugen einer Umgebung mit erweiterter Realität, basierend mindestens teilweise auf nachverfolgten Merkmalen in der Umgebung. Bei einigen Beispielen ist mehr als ein Prozessor 1325 und/oder Speicher 1330 vorgesehen. Das Modul 1320 kann kommunikativ mit anderen Vorrichtungen gekoppelt sein, die Kameras 1310, 1311 über beispielsweise ein Kommunikationsmodul umfassen, das Kommunikationssignale und/oder -protokolle, wie Bluetooth®, Wi-Fi® und universeller serieller Bus (USB) implementiert.

Um Bewegung zu messen oder vorherzusagen, umfasst das beispielhafte Steuermodul 1320 eine Trägheitsmesseinheit (IMU) 1335. Eine beispielhafte IMU 1335 ist ein in sich geschlossenes System, das Linearbeschleunigung und/oder Winkelbewegung misst. Die beispielhafte IMU 1335 umfasst eine Triade von Gyroskopen 1336 und eine Triade von Beschleunigungsmessern 1337. Bei einigen Implementierungen umfasst die IMU 1335 einen oder mehrere Beschleunigungsmesser, Gyroskope, Magnetometer und andere solcher Sensoren. Die IMU 1335 kann Bewegung, Fortbewegung und/oder Beschleunigung detektieren.

Um eine zukünftige Lichtmenge in einem Bild vorherzusagen, weist das beispielhafte Modul 1320 eine Einstellungsvorhersagevorrichtung 1340 auf. Unter Verwendung des gegenwärtigen Ortes und der Trägheitsdaten von der IMU 1335 sagt die Einstellungsvorhersagevorrichtung 1340 den Ort vorher, an dem antizipiert wird, dass das nächste Bild dort aufzunehmen ist, und/oder das Sichtfeld des nächsten Bildes. Die Einstellungsvorhersagevorrichtung 1340 erlangt bei einigen Beispielen Kameraeinstellungen wie Belichtungseinstellungen für den vorhergesagten Ort von einer Nachverfolgungskarte 1345. Die Einstellungsvorhersagevorrichtung 1340 verwendet bei einigen Beispielen Zonen eines Bildes, um die Kameraeinstellungen für den vorhergesagten Ort vorherzusagen (siehe z. B. 8). Die Einstellungsvorhersagevorrichtung 1340 extrapoliert in einigen Fällen über das Bild hinaus, wenn der vorhergesagte Ort aus der Begrenzung des Bildes herausfällt. Wenn der vorhergesagte Ort (z. B. ein Bereich rechts vom Bereich 806) in 8 sich beispielsweise über die Begrenzung des Bildes 800 hinaus befindet, kann die Einstellungsvorhersagevorrichtung 1340 bestimmen, dass sich die Kamera vom Bereich 805, der „hell“ ist, an einem Bereich 806 vorbei, der „dunkel“ ist, bewegt, und daher wird der vorhergesagte Ort angesichts des Fortschreitens von „hell“ zu „dunkel“ wahrscheinlich „sehr dunkel“ sein.

Um die Kamera(s) 1310, 1311 zu steuern, weist das beispielhafte Modul 1320 eine Kamerasteuerung 1350 auf. Unter Verwendung von beispielsweise einer Anwendungsprogrammierschnittstelle (API), die von einem Hersteller oder Lieferanten der Kamera(s) 1310, 1311 bereitgestellt ist, stellt die Kamerasteuerung 1350 die Einstellungen (z. B. Belichtungseinstellung(en)) der Kamera(s) 1310, 1311 ein, löst die Bilderfassung aus, und liest ein Bild bzw. Bilder von der bzw. den Kameras 1310, 1311. Die Bilder können (z. B. im Speicher 1330) gespeichert und/oder auf eine andere Vorrichtung weitergeleitet werden. Bei einigen Beispielen sind das Modul 1320 und die Kamera(s) 1310, 1311 separat implementiert und die Kamerasteuerung 1350 kommuniziert mit der bzw. den Kameras 1310, 1311 über verdrahtete oder drahtlose Kommunikation.

Bei einigen Beispielen umfasst das Modul 1320 einen Merkmalextraktor 1355, der Merkmale von Bildern unter Verwendung irgendeiner Anzahl und/oder irgendwelcher Art(en) von Algorithmen, Verfahren und/oder Schaltungen extrahiert. Zusätzlich oder alternativ können Bilder zur Merkmalextraktion an eine andere Vorrichtung gesendet werden.

14 ist ein Ablaufdiagramm eines beispielhaften Verfahrens, das beispielsweise als maschinenlesbare Befehle implementiert sein kann, die durch einen oder mehrere Prozessoren, wie die beispielhaften Prozessoren P00 und P50 von 15 ausgeführt werden, um die beispielhafte Kameraeinstellungsanpassung und die hier offenbarten Nachverfolgungssysteme zu implementieren. Das beispielhafte Verfahren von 14 umfasst das Vorhersagen eines Ortes, von dem ein Bild aufgenommen wird, wie beispielsweise die Einstellungsvorhersagevorrichtung 1340 von 13 (Block 1405). Das Vorhersagen oder Bestimmen von Kameraeinstellung(en) für den vorhergesagten Ort durch beispielsweise die Einstellungsvorhersagevorrichtung 1340 (Block 1410). Kameraeinstellungen werden auf die Kamera(s) (Block 1415) angewandt und Bilder werden beispielsweise durch die Kamerasteuerung 1350 aufgenommen (Block 1420), welche die Kamera(s) steuert. Die Bilder werden gesendet und/oder gespeichert (Block 1425). Wenn zwei Kameras verwendet werden (Block 1430), dann wird eine Hauptbelichtung basierend auf der Kamera, welche die bessere Merkmalextraktion bereitstellt, angepasst (Block 1435). Die Steuerung beendet dann das beispielhafte Verfahren von 14.

Ein oder mehrere der hierin dargestellten Elemente und Schnittstellen können dupliziert, parallel implementiert, in der Einzahl implementiert, kombiniert, geteilt, neu angeordnet, ausgelassen, beseitigt und/oder auf irgendeine andere Weise implementiert werden. Weiter kann irgendeines bzw. irgendeine der offenbarten Elemente und Schnittstellen durch die beispielhaften Prozessorplattformen P00 und P50 von 15 und/oder eine oder mehrere Schaltungen, programmierbare Prozessoren, Sicherungen, anwenderspezifisch integrierte Schaltungen (ASICs), programmierbare Logikbaugruppen (PLDs), feldprogrammierbare Logikvorrichtungen (FPLDs) und/oder anwenderprogrammierbare Gatearrays (FPGAs) usw. implementiert werden. Jegliche der hier offenbarten Elemente und Schnittstellen können beispielsweise als durch einen oder mehrere Prozessoren ausgeführte maschinenlesbare Befehle implementiert werden. Ein Prozessor, eine Steuerung und/oder jede andere geeignete Verarbeitungsvorrichtung, wie z. B. solche, die in 15 gezeigt sind, können verwendet, konfiguriert und/oder programmiert werden, um die hierin offenbarten Beispiele auszuführen und/oder durchzuführen. Beispielsweise können jegliche dieser Schnittstellen und Elemente in Programmcode und/oder maschinenlesbaren Befehlen verkörpert sein, die auf einem greifbaren und/oder nicht flüchtigen, computerlesbaren Medium gespeichert sind, auf das durch einen Prozessor, einen Computer und/oder eine andere Maschine mit einem Prozessor zugegriffen werden kann, wie z. B. das nachfolgend in Verbindung mit 15 erörterte. Maschinenlesbare Befehle umfassen beispielsweise Befehle, die einen Prozessor, einen Computer und/oder eine Maschine mit einem Prozessor veranlassen, einen oder mehrere bestimmte Prozesse auszuführen. Die Ausführungsreihenfolge von Verfahren kann geändert werden und/oder ein oder mehrere von den beschriebenen Blöcken und/oder Interaktionen können geändert, eliminiert, aufgeteilt oder kombiniert werden. Außerdem können sie nacheinander und/oder parallel durchgeführt werden, wie z. B. durch getrennte Verarbeitungsthreads, Prozessoren, Vorrichtungen, diskrete Logik, Schaltungen usw.

Die hierin offenbarten beispielhaften Verfahren können beispielsweise als durch einen oder mehrere Prozessoren ausgeführte maschinenlesbare Befehle implementiert werden. Ein Prozessor, eine Steuerung und/oder jede andere geeignete Verarbeitungsvorrichtung, wie z. B. die in 15 gezeigte, kann verwendet, konfiguriert und/oder programmiert werden, um die beispielhaften Verfahren auszuführen und/oder durchzuführen. Sie können beispielsweise in Programmcode und/oder maschinenlesbaren Befehlen verkörpert sein, die auf einem greifbaren und/oder nicht flüchtigen, computerlesbaren Medium gespeichert sind, auf das durch einen Prozessor, einen Computer und/oder eine andere Maschine mit einem Prozessor zugegriffen werden kann, wie z. B. das nachfolgend in Verbindung mit 15 erörterte. Maschinenlesbare Befehle umfassen beispielsweise Befehle, die einen Prozessor, einen Computer und/oder eine Maschine mit einem Prozessor veranlassen, einen oder mehrere bestimmte Prozesse auszuführen. Es können viele andere Verfahren zum Implementieren der beispielhaften Verfahren eingesetzt werden. Die Reihenfolge der Ausführung kann zum Beispiel geändert werden und/oder ein oder mehrere beschriebene Blöcke und/oder Interaktionen können geändert, eliminiert, aufgeteilt oder kombiniert werden. Außerdem kann jedes beliebige oder das gesamte Beispiel nacheinander und/oder parallel durchgeführt werden, wie z. B. getrennte Verarbeitungsthreads, Prozessoren, Vorrichtungen, diskrete Logik, Schaltungen usw.

Wie hierin verwendet, ist der Begriff „computerlesbares Medium“ ausdrücklich so definiert, dass er jede beliebige Art von computerlesbarem Medium umfasst und die Ausbreitung von Signalen ausdrücklich ausschließt. Beispiele für ein computerlesbares Medium beinhalten in nicht einschränkender Form einen flüchtigen und/oder nicht flüchtigen Speicher, ein flüchtiges und/oder nicht flüchtiges Speichergerät, eine Compact Disc (CD), eine Digital Versatile Disc (DVD), einen Nur-Lese-Speicher (ROM), einen Direktzugriffsspeicher (RAM), einen programmierbaren ROM (PROM), einen elektronisch programmierbaren ROM (EPROM), einen elektronisch löschbaren PROM (EEPROM), eine optische Speicherplatte, ein optisches Speichergerät, eine Magnetspeicherplatte, ein Magnetspeichergerät, einen Zwischenspeicher und/oder jedes beliebige andere Speichermedium, auf dem Informationen für eine Dauer (z. B. für längere Zeiträume, dauerhaft, kurze Instanzen, für das vorübergehende Puffern und/oder für das Zwischenspeichern von Informationen) gespeichert sind, und auf die durch einen Prozessor, einen Computer und/oder eine andere Maschine mit einem Prozessor zugegriffen werden kann.

Unter erneuter Bezugnahme auf 1 umfasst das beispielhafte AR-System 100 jegliche Anzahl von Computer- und/oder elektronischen Vorrichtungen, die Daten über ein Netzwerk 120 austauschen können. Die Vorrichtungen können Clients oder Server darstellen und sie können über das Netzwerk 120 oder ein anderes zusätzliches und/oder ein alternatives bzw. alternative Netzwerke kommunizieren. Beispielhafte Clientvorrichtungen umfassen, sind aber nicht beschränkt auf, eine mobile Vorrichtung 131 (z. B. ein Smartphone, einen Personal Digital Assistant, einen tragbaren Mediaplayer usw.), ein Grafiktableau (nicht gezeigt), ein Laptop oder Netbook 132, eine Kamera (nicht gezeigt), das HMD 106, einen Desktopcomputer 133, eine Handsteuerung, eine Spielevorrichtung (nicht gezeigt) und irgendwelche anderen elektronischen Vorrichtungen oder Computervorrichtungen, die unter Verwendung des Netzwerks 120 oder eines anderen Netzwerks bzw. von Netzwerken mit anderen Computer- oder elektronischen Vorrichtungen oder Systemen kommunizieren können, oder die verwendet werden können, um auf AR-Inhalt zuzugreifen oder innerhalb einer AR-Umgebung agieren zu können. Die Vorrichtungen 131 bis 133 können Client- oder Servervorrichtungen darstellen. Das HMD 106 und die Computervorrichtungen 131 bis 133 können ein Client-Betriebssystem und eine oder mehrere Client-Anwendungen ausführen, die auf AR-Inhalt auf einer Anzeigevorrichtung, die in oder in Verbindung mit jeder entsprechenden Vorrichtung 106 und 131 bis 133 umfasst ist, zugreifen, diesen rendern, bereitstellen oder anzeigen kann.

Das AR-System 100 kann jegliche Anzahl von AR-Inhaltssystemen 140, die Inhalt speichern, und/oder AR-Softwaremodule (z. B. in der Form von AR-Anwendungen 144) umfassen, die AR-Szenen erzeugen, modifizieren und/oder ausführen können. Bei einigen Beispielen umfassen das HMD 106, die Vorrichtungen 131 bis 133 und das AR-Inhaltssystem 140 einen oder mehrere Prozessoren und eine oder mehrere Speichervorrichtungen, die ein Clientbetriebssystem und eine oder mehrere Kundenanwendungen ausführen können. Das HMD 106, die anderen Vorrichtungen 131 bis 133 oder das AR-Inhaltssystem 140 können durch die beispielhaften Computervorrichtungen P00 und P50 von 15 implementiert werden.

Die AR-Anwendungen 144 können konfiguriert sein, auf dem HMD 106 und/oder irgendwelchen oder allen der Vorrichtungen 131 bis 133 ausgeführt zu werden. Das HMD 106 kann mit den Vorrichtungen 131 bis 133 verbunden sein, um beispielsweise auf AR-Inhalt auf dem AR-Inhaltssystem 140 zuzugreifen. Die Vorrichtungen 131 bis 133 können mit dem HMD 106 (verdrahtet oder drahtlos) verbunden sein, das AR-Inhalt zum Anzeigen bereitstellen kann. Ein AR-System eines Benutzers kann das HMD 106 allein oder eine Kombination der Vorrichtungen 131 bis 133 und des HMD 106 sein.

Das HMD 106 kann ein AR-HMD, eine Brille, ein Okular oder jede andere tragbare Vorrichtung darstellen, die fähig ist, AR-Inhalt anzuzeigen. In einigen Fällen umfasst das HMD 106 Kameras. Im Betrieb kann das HMD 106 eine AR-Anwendung 144 ausführen, die für einen Benutzer empfangene, gerenderte und/oder verarbeitete Bilder wiedergeben kann. In einigen Fällen kann die AR-Anwendung 144 durch eine oder mehrere der Vorrichtungen 131 bis 133 gehostet sein.

Bei einigen Implementierungen können ein oder mehrere Inhaltsserver (z. B. AR-Inhaltssystem 140) und eine oder mehrere computerlesbare Speichervorrichtungen mit dem HMD 106 und den Computervorrichtungen 131134 mithilfe des Netzwerks 120 kommunizieren, um AR-Inhalt und an das HMD 106 und die Vorrichtungen 131134 bereitzustellen.

Bei einigen Implementierungen kann die mobile Vorrichtung 131 die AR-Anwendung 144 ausführen und den Inhalt für die AR-Umgebung bereitstellen. Bei einigen Implementierungen kann die Laptopcomputervorrichtung 132 die AR-Anwendung 144 ausführen und Inhalt von einem oder mehreren Inhaltsservern (z. B. AR-Inhaltsserver 140) bereitstellen. Der eine oder die mehreren Inhaltsserver und eine oder mehrere computerlesbare Speichervorrichtungen können mit der mobilen Vorrichtung 131 und/oder der Laptop-Computervorrichtung 132 unter Verwendung des Netzwerks 120 kommunizieren, um Inhalt zum Anzeigen im HMD 106 bereitzustellen.

Für den Fall, dass das HMD 106 mit einigen der Vorrichtungen 131 bis 133 drahtlos gekoppelt ist, kann das Koppeln die Verwendung irgendeines drahtlosen Kommunikationsprotokolls umfassen. Eine nicht erschöpfende Liste von drahtlosen Kommunikationsprotokollen, die individuell oder in Kombination verwendet werden können, umfasst, ist aber nicht beschränkt auf, die Institute of Electrical and Electronics Engineers-(IEEE®)-Familie von 802.x-Standards auch bekannt als Wi-Fi oder drahtloses lokales Netzwerk (WLAN), Bluetooth, Transmission Control Protocol/Internet Protocol (TCP/IP), ein Satellitendatennetzwerk, ein Datenverbindungsnetzwerk, ein Wi-Fi-Hotspot, das Internet und ein Wireless Wide Area Network (WWAN).

Für den Fall, dass das HMD 106 mit irgendeiner der Vorrichtungen 131 bis 133 elektrisch gekoppelt ist, kann ein Kabel mit einem geeigneten Anschluss an jedem Ende zum Einstecken in die Vorrichtungen 131 bis 133 verwendet werden. Eine nicht erschöpfende Liste von verdrahteten Kommunikationsprotokollen, die individuell oder in Kombination verwendet werden können, umfasst, ist aber nicht beschränkt auf, IEEE 802.3x (Ethernet), ein Powerline-Netzwerk, das Internet, ein Koaxialkabeldatennetzwerk, ein Glasfaserdatennetzwerk, ein Breitband- oder ein Wählmodem über ein Telefonnetz, ein privates Kommunikationsnetzwerk (z. B. ein privates lokales Netzwerk (LAN), eine Mietleitung usw.).

Ein Kabel kann einen Universal Serial Bus-(USB)-Anschluss an beiden Enden umfassen. Die USB-Anschlüsse können der gleiche Typ von USB-Anschluss sein oder die USB-Anschlüsse können jeweils unterschiedliche Typen von USB-Anschlüssen sein. Die verschiedenen Typen von USB-Anschlüssen können u. a. USB-Anschlüsse des Typs A, USB-Anschlüsse des Typs B, Micro-USB A-Anschlüsse, Micro-USB B-Anschlüsse, Micro-USB AB-Anschlüsse, fünfpolige USB Mini-b-Anschlüsse, vierpolige USB Mini-b-Anschlüsse, USB 3.0-Anschlüsse des Typs A, USB 3.0 B-Anschlüsse des Typs B, USB 3.0 Micro B-Anschlüsse und USB-Anschlüsse des Typs C beinhalten. Ähnlich kann die elektrische Verbindung ein Kabel mit einem geeigneten Anschluss an jedem Ende zum Einstecken in das HMD 106 und jede der Vorrichtungen 131 bis 133 umfassen. Das Kabel kann zum Beispiel einen USB-Anschluss an beiden Enden beinhalten. Die USB-Anschlüsse können der gleiche Typ von USB-Anschluss sein oder die USB-Anschlüsse können jeweils unterschiedliche Typen von USB-Anschlüssen sein. Jedes Ende eines Kabels, das verwendet wird, um die Vorrichtung 131 bis 133 mit dem HMD 106 zu koppeln, kann mit der Vorrichtung 131 bis 133 und/oder dem HMD 106 fest verbunden werden.

15 zeigt ein Beispiel einer generischen Computervorrichtung P00 und einer generischen mobilen Computervorrichtung P50, die mit den hier beschriebenen Techniken verwendet werden können. Die Computervorrichtung P00 soll verschiedene Formen von Digitalrechnern wie Laptops, Desktops, Tablets, Arbeitsstationen, Personal Digital Assistants, Fernseher, Server, Blade-Server, Mainframes und andere geeignete Computervorrichtungen darstellen. Die Computervorrichtung P50 soll verschiedene Formen mobiler Vorrichtungen, wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computervorrichtungen darstellen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sollen nur beispielhaft sein und sollen Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen nicht einschränken.

Die Computervorrichtung P00 umfasst einen Prozessor P02, einen Speicher P04, eine Speichervorrichtung P06, eine Hochgeschwindigkeitsschnittstelle P08, die mit Speicher P04 und Hochgeschwindigkeitserweiterungsanschlüssen P10 verbindet, und eine Niedergeschwindigkeitsschnittstelle P12, die mit dem Niedergeschwindigkeitsbus P14 und der Speichervorrichtung P06 verbindet. Der Prozessor P02 kann ein halbleiterbasierter Prozessor sein. Der Speicher P04 kann ein halbleiterbasierter Speicher sein. Alle Komponenten P02, P04, P06, P08, P10 und P12 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einem gängigen Motherboard oder gegebenenfalls in anderer Weise angebracht sein. Der Prozessor P02 kann Befehle zur Ausführung innerhalb der Computervorrichtung P00 verarbeiten, die Befehle umfassen, die in dem Speicher P04 oder auf der Speichervorrichtung P06 gespeichert sind, um grafische Informationen für eine GUI auf einer externen Eingabe-/Ausgabevorrichtung wie die Anzeige P16, die mit der Hochgeschwindigkeitsschnittstelle P08 verbunden ist, anzuzeigen. Bei anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse, wie jeweils anwendbar, zusammen mit mehreren Speichern und Speicherarten verwendet sein. Es können außerdem auch mehrere Computervorrichtungen P00 verbunden sein, wobei jede Vorrichtung Teile der notwendigen Vorgänge bereitstellt (z. B. als eine Serverbank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem).

Der Speicher P04 speichert Informationen innerhalb der Computervorrichtung P00. Bei einer Implementierung ist der Speicher P04 eine nicht flüchtige Speichereinheit oder -einheiten. Bei einer anderen Implementierung ist der Speicher P04 eine nicht flüchtige Speichereinheit oder -einheiten. Der Speicher P04 kann auch eine andere Form von computerlesbarem Medium sein, wie beispielsweise ein magnetischer oder optischer Datenträger.

Die Speichervorrichtung P06 ist in der Lage, Massenspeicher für die Computervorrichtungen P00 bereitzustellen. Bei einer Implementierung kann die Speichervorrichtung P06 ein computerlesbares Medium sein oder beinhalten, wie ein Floppy-Disk-Laufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, eine Magnetbandeinheit, ein Flash-Speicher oder eine andere ähnliche Solid-State-Speichervorrichtung oder eine Reihe von Vorrichtungen, einschließlich Vorrichtungen in einem Speichernetzwerk oder anderen Konfigurationen. Ein Computerprogrammprodukt kann greifbar in einem Informationsträger verkörpert sein. Das Computerprogrammprodukt kann auch Befehle enthalten, die bei Ausführung ein oder mehrere Verfahren wie diejenigen, die vorstehend beschrieben sind, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium wie der Speicher P04, die Speichervorrichtung P06 oder Speicher auf Prozessor P02.

Die Hochgeschwindigkeitssteuerung P08 verwaltet bandbreitenintensive Operationen für die Computervorrichtung P00, während die Niedergeschwindigkeitssteuerung P12 niedrigere bandbreitenintensive Operationen verwaltet. Eine solche Zuordnung von Funktionen ist nur beispielhaft. Bei einer Implementierung ist die Hochgeschwindigkeitssteuerung P08 mit Speicher P04, Display P16 (z. B. über einen Grafikprozessor oder -beschleuniger) und mit den Hochgeschwindigkeitserweiterungsanschlüssen P10, die verschiedene Erweiterungskarten (nicht gezeigt) aufnehmen können, gekoppelt. Bei der Implementierung ist die Niedergeschwindigkeitssteuerung P12 mit der Speichervorrichtung P06 und dem Niedergeschwindigkeitserweiterungsanschluss P14 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss, der verschiedene Kommunikationsanschlüsse (z. B. USB, B, Ethernet, Funkethernet) umfassen kann, kann an ein oder mehrere Eingabe-/Ausgabevorrichtungen wie eine Tastatur, eine Zeigevorrichtung, einen Scanner oder eine Netzwerkvorrichtung wie einen Switch oder Router z. B. durch einen Netzwerkadapter gekoppelt sein.

Die Computervorrichtung P00 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. So kann sie beispielsweise als ein Standardserver P20 oder in einer Gruppe solcher Server mehrfach implementiert sein. Sie kann außerdem als Teil eines Rackserversystems P24 implementiert sein. Zusätzlich kann sie in einem Personal Computer wie einem Laptop P22 implementiert sein. Alternativ können Komponenten von Computervorrichtung P00 mit anderen Komponenten in einer mobilen Vorrichtung (nicht dargestellt), wie z. B. Vorrichtung P50, kombiniert sein. Jede dieser Vorrichtungen kann eine oder mehrere der Computervorrichtungen P00, P50 enthalten und ein gesamtes System kann aus mehreren Computervorrichtungen P00, P50, die miteinander kommunizieren, zusammengesetzt sein.

Die Computervorrichtung P50 umfasst neben anderen Komponenten einen Prozessor P52, einen Speicher P64, eine Eingabe-/Ausgabevorrichtung wie eine Anzeige P54, eine Kommunikationsschnittstelle P66 und einen Transceiver P68. Die Vorrichtung P50 kann ebenfalls mit einer Speichervorrichtung, wie z. B. einem Microdrive, oder einer anderen Vorrichtung ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Alle Komponenten P50, P52, P64, P54, P66 und P68 sind unter Verwendung verschiedener Busse miteinander verbunden und mehrere der Komponenten können auf einem gängigen Motherboard oder gegebenenfalls in anderer Weise angebracht sein.

Der Prozessor P52 kann Befehle in der Computervorrichtung P50 ausführen, einschließlich im Speicher P64 gespeicherter Befehle. Der Prozessor kann als ein Chipsatz von Chips implementiert sein, die separate und mehrere analoge und digitale Prozessoren umfassen. Der Prozessor kann beispielsweise die Koordination der anderen Komponenten der Vorrichtung P50 bereitstellen, wie beispielsweise die Steuerung von Benutzerschnittstellen, von Anwendungen, die von Vorrichtung P50 ausgeführt werden, und von drahtloser Kommunikation durch die Vorrichtung P50.

Der Prozessor P52 kann mit einem Benutzer über die Steuerschnittstelle P58 und die Anzeigeschnittstelle P56, die mit einer Anzeige P54 gekoppelt ist, kommunizieren. Die Anzeige P54 kann beispielsweise eine TFT-LCD-(Dünnschichttransistor-Flüssigkristallanzeige) oder eine OLED-(organische Leuchtdiode)-Anzeige oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle P56 kann geeignete Schaltungen zum Ansteuern der Anzeige P54 umfassen, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle P58 kann Befehle von einem Benutzer empfangen und sie zur Eingabe in den Prozessor P52 konvertieren. Zusätzlich kann eine externe Schnittstelle P62 in Verbindung mit dem Prozessor P52 vorgesehen sein, um Nahbereichskommunikation von Vorrichtung P50 mit anderen Vorrichtungen zu ermöglichen. Die externe Schnittstelle P62 kann beispielsweise bei manchen Implementierungen eine drahtgestützte Verbindung oder bei anderen Implementierungen eine drahtlose Verbindung sein, und es können auch mehrere Schnittstellen verwendet werden.

Der Speicher P64 speichert Informationen innerhalb der Computervorrichtung P50. Der Speicher P64 kann als ein oder mehrere von einem computerlesbaren Medium oder Medien, einem flüchtigen Speicher oder Speichern oder einem nicht flüchtigen Speicher oder Speichern implementiert sein. Der Erweiterungsspeicher P74 kann ebenfalls bereitgestellt und mit der Vorrichtung P50 über die Erweiterungsschnittstelle P72 verbunden werden, die zum Beispiel eine SIMM-(Single In Line Memory Module)-Kartenschnittstelle umfassen kann. Ein solcher Erweiterungsspeicher P74 kann zusätzlichen Speicherplatz für die Vorrichtung P50 bereitstellen oder kann auch Anwendungen oder andere Informationen für die Vorrichtung P50 speichern. Insbesondere kann der Erweiterungsspeicher P74 Befehle zum Ausführen oder Ergänzen der vorstehend beschriebenen Prozesse umfassen und er kann außerdem sichere Informationen umfassen. Demnach kann der Erweiterungsspeicher P74 beispielsweise als ein Sicherheitsmodul für Vorrichtung P50 bereitgestellt und mit Befehlen programmiert werden, die eine sichere Benutzung von Vorrichtung P50 erlauben. Zusätzlich dazu können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie dem Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise, die nicht gehackt werden kann, bereitgestellt werden.

Der Speicher kann zum Beispiel Flashspeicher und/oder NARAM-Speicher umfassen, wie nachstehend beschrieben. Bei einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger greifbar verkörpert. Das Computerprogrammprodukt enthält Befehle, die bei Ausführung ein oder mehrere Verfahren wie die vorstehend beschriebenen durchführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie der Speicher P64, die Speichererweiterung P74 oder der Prozessorspeicher P52, das beispielsweise über den Transceiver P68 oder die externe Schnittstelle P62 empfangen werden kann.

Die Vorrichtung P50 kann über die Kommunikationsschnittstelle P66 drahtlos kommunizieren, die bei Bedarf eine digitale Signalverarbeitungsschaltung umfassen kann. Die Kommunikationsschnittstelle P66 kann Kommunikationen mit verschiedenen Kommunikationstypen oder -protokollen, wie beispielsweise unter anderen GSM-Sprachanrufe, SMS, EMS oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS, bereitstellen. Eine solche Kommunikation kann beispielsweise durch Funkfrequenztransceiver P68 stattfinden. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie unter Verwendung eines Bluetooth-, Wi-Fi- oder anderen solchen Transceivers (nicht gezeigt). Außerdem kann das GPS-(Global Positioning System)-Empfängermodul P70 zusätzliche navigations- und ortsbezogene drahtlose Daten für die Vorrichtung P50 bereitstellen, die gegebenenfalls von Anwendungen verwendet werden können, die auf der Vorrichtung P50 ausgeführt werden.

Die Vorrichtung P50 kann ebenfalls unter Verwendung des Audiocodec P60, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Der Audiocodec P60 kann ebenfalls hörbaren Ton für einen Benutzer erzeugen, wie beispielsweise durch einen Lautsprecher zum Beispiel in einer Handvorrichtung von Vorrichtung P50. Ein derartiger Ton kann einen Ton von Sprachanrufen beinhalten, kann aufgenommene Töne (z. B. Sprachnachrichten, Musikdateien usw.) beinhalten und kann auch Töne, beinhalten, die von Anwendungen erzeugt werden, die auf Vorrichtung P50 betrieben werden.

Die Computervorrichtung P50 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. Sie kann beispielsweise als ein Mobiltelefon P80 implementiert sein. Sie kann außerdem als Teil eines Smartphones P82, Personal Digital Assistant oder einer anderen ähnlichen mobilen Vorrichtung implementiert sein.

Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen davon realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen umfassen, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor umfasst, der ein spezieller oder für allgemeine Zwecke sein kann und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens eine Eingabevorrichtung und mindestens eine Ausgabevorrichtung gekoppelt ist.

Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) umfassen Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenbefehle als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenanweisungen und/oder Daten bereitzustellen.

Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der eine Displayvorrichtung (wie z. B. einen CRT-(Kathodenstrahlröhre) oder LCD-(Flüssigkristallanzeige)-Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, und eine Tastatur und eine Zeigeeinrichtung (z. B. eine Maus oder ein Trackball) mittels denen der Benutzer eine Eingabe an den Computer bereitstellen kann. Es können auch andere Arten von Einrichtungen verwendet werden, um für eine Interaktion mit einem Benutzer zu sorgen; beispielsweise kann eine an den Benutzer bereitgestellte Rückkopplung eine beliebige Form von sensorischer Rückkopplung sein, wie z. B. eine visuelle Rückkopplung, auditive Rückkopplung oder taktile Rückkopplung; und die Eingabe vom Benutzer kann in beliebiger Form empfangen werden, einschließlich akustischer, Sprach- oder taktiler Eingabe.

Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. als einen Datenserver) umfasst, oder das eine Middlewarekomponente (z. B. einen Applikationsserver) umfasst, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzerschnittstelle oder einem Webbrowser umfasst, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder jeder Kombination aus solchen Backend-, Middleware- oder Frontendkomponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein). Beispiele von Kommunikationsnetzwerken umfassen ein lokales Netzwerk („LAN“), ein Fernnetzwerk („WAN“) und das Internet.

Das Computersystem kann Clients und Server umfassen. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander aufweisen.

In dieser Spezifikation und den angehängten Ansprüchen schließen die Singularformen „ein“, „eines“, „einer“ und „die“, „der“, „das“ die Pluralreferenz nicht aus, sofern der Kontext nicht eindeutig etwas Anderes diktiert. Weiter sind Konjunktionen wie „und“, „oder“ und „und/oder“ einschließend, sofern der Kontext nicht eindeutig etwas Anderes diktiert. Beispielsweise umfasst „A und/oder B“ A alleine, B alleine und A mit B. Weiter ist beabsichtigt, dass Verbindungsleitungen oder Anschlüsse, die in verschiedenen dargestellten Figuren gezeigt sind, beispielhafte funktionale Zusammenhänge und/oder physische oder logische Kupplungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative und/oder zusätzliche funktionelle Beziehungen, physische Verbindungen oder logische Verbindungen in einer praktischen Vorrichtung vorhanden sein können. Darüber hinaus ist kein Element und keine Komponente für die Umsetzung der Ausführungsformen hierin wesentlich, außer das Element ist speziell als „wesentlich“ oder „kritisch“ beschrieben.

Auch wenn bestimmte beispielhafte Verfahren, Vorrichtungen und Artikel der Herstellung hierin beschrieben wurden, ist der Umfang des Geltungsbereichs dieses Patentes nicht auf diese beschränkt. Im Gegensatz deckt dieses Patent alle Verfahren, Vorrichtungen und Artikel der Herstellung ab, die weitestgehend in den Umfang der Ansprüche dieses Patentes fallen.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Nicht-Patentliteratur

  • 802.x-Standards [0065]
  • IEEE 802.3x [0066]