DE202013012419U1 - Kameraeingabe zur Bestimmung der Rotationsachse und Navigation - Google Patents

Kameraeingabe zur Bestimmung der Rotationsachse und Navigation Download PDF

Info

Publication number
DE202013012419U1
DE202013012419U1 DE202013012419.9U DE202013012419U DE202013012419U1 DE 202013012419 U1 DE202013012419 U1 DE 202013012419U1 DE 202013012419 U DE202013012419 U DE 202013012419U DE 202013012419 U1 DE202013012419 U1 DE 202013012419U1
Authority
DE
Germany
Prior art keywords
mobile device
rotation
axis
user
virtual camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202013012419.9U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202013012419U1 publication Critical patent/DE202013012419U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Mobilgerät, das so konfiguriert ist, dass es eine virtuelle Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts schwenkt, wobei das Mobilgerät eine Bildebene der virtuellen, dreidimensionalen Umgebung aus Perspektive der virtuellen Kamera anzeigt, umfassend: ein Bewegungserkennungsmodul, so konfiguriert ist, dass es einen Hinweis von mindestens einem Sensor am Mobilgerät empfängt, dass das Mobilgerät um eine erste Rotationsachse geschwenkt wurde, worin die erste Rotationsachse parallel zu einer Ebene ist, die das Display des Mobilgeräts umfasst; ein Benutzerverfolgungsmodul, das so konfiguriert ist, dass es eine Änderung bei der Position eines Benutzers in Bezug auf das Mobilgerät verfolgt, während das Mobilgerät um die erste Rotationsachse geschwenkt wird, worin die Änderung bei der Position des Benutzers aus einer Vielzahl von Bildern des Benutzers bestimmt wird, die durch die Frontkamera des Mobilgeräts aufgenommen wurden; ein Rotationsachsensuchmodul, das so konfiguriert ist, dass es einen Ort der ersten Rotationsachse auf Basis der Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät bestimmt; ein Navigationsmodul, das so konfiguriert ist, dass es: eine erste Aktion ausführt, wenn der Ort der ersten Rotationsachse in der Nähe des Mobilgeräts ist, worin die erste Aktion die virtuelle Kamera innerhalb der dreidimensionalen Umgebung navigiert; und eine zweite Aktion ausführt, wenn der Ort der ersten Rotationsachse in der Nähe des Benutzers ist, worin die zweite Aktion die virtuelle Kamera innerhalb der dreidimensionalen Umgebung navigiert, wobei sich die zweite Aktion von der ersten Aktion unterscheidet; mindestens ein Speichergerät, das so konfiguriert ist, dass es mindestens das Bewegungserkennungsmodul, das Benutzerverfolgungsmodul, das Rotatationsachsensuchmodul oder das Navigationsmodul speichert; und mindestens einen Computerprozessor, der so konfiguriert ist, dass er mindestens das Bewegungserkennungsmodul, das Benutzerverfolgungsmodul, das Rotatationsachsensuchmodul oder das Navigationsmodul ausführt. Mobilgerät nach Anspruch 9, worin die erste Aktion das Schwenken der virtuellen Kamera um eine zweite Rotationsachse beinhaltet, wobei die zweite Rotationsachse parallel zur Bildebene ist, worin die zweite Rotationsachse sich zwischen der virtuellen Kamera und einem Objekt in einem Abstand von der virtuellen Kamera befindet, wobei sich die zweite Rotationsachse näher beim Objekt befindet als die virtuelle Kamera.

Description

  • GEBIET DER ERFINDUNG
  • Die hierin beschriebenen Ausführungsformen beziehen sich im Allgemeinen auf die Navigation in einer virtuellen, dreidimensionalen Umgebung.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • HINTERGRUND DER ERFINDUNG
  • Vielezurzeit verfügbare Mobilgeräte enthalten Bewegungssensoren, z. B. einen Beschleunigungsmesser, einen Kompass und ein Gyroskop, die zum Navigieren einer virtuellen Kamera in einer dreidimensionalen Umgebung verwendet werden können. Die Sensoren geben eine Änderung bei der Position des Mobilgeräts an, wenn das Mobilgerät von einem Benutzer bewegt wird. Die Sensoren können jedoch nicht die Position des Benutzers in Bezug auf das Mobilgerät verfolgen und die Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät in Kombination mit den Sensoren nutzen, um die virtuelle Kamera zu navigieren.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die hierin beschriebenen Ausführungsformen umfassen Systeme, Verfahren und Computerspeichermedien für das Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts, wobei das Mobilgerät eine Bildebene der virtuellen, dreidimensionalen Umgebung aus Perspektive der virtuellen Kamera anzeigt. Eine exemplarische Methode beinhaltet den Empfang eines Hinweises, dass das Mobilgerät um eine erste Rotationsachse geschwenkt wurde, von mindestens einem Sensor am Mobilgerät. Die erste Rotationsachse ist parallel zu einer Ebene, die den Anzeigebildschirm des Mobilgeräts umfasst. Eine Änderung bei der Position eines Benutzers in Bezug auf das Mobilgerät wird verfolgt, wenn das Mobilgerät um die erste Rotationsachse geschwenkt wird. Die Änderung bei der Position des Benutzers wird aus einer Vielzahl von Bildern des Benutzers bestimmt, die von der Frontkamera des Mobilgeräts aufgenommen werden. Anschließend wird die erste Rotationsachse auf Basis der Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät bestimmt. Wenn der Ort der ersten Rotationsachse in der Nähe des Mobilgeräts ist, wird eine erste Aktion zur Navigation innerhalb der dreidimensionalen Umgebung ausgeführt. Wenn der Ort der ersten Rotationsachse in der Nähe des Benutzers ist, wird jedoch eine zweite Aktion zur Navigation innerhalb der dreidimensionalen Umgebung ausgeführt.
  • Weitere Merkmale und Vorteile der hierin beschriebenen Ausführungsformen sowie die Struktur und Funktionsweise der verschiedenen Ausführungsformen sind unten in Bezug auf die begleitenden Zeichnungen genau beschrieben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN/FIGUREN
  • Ausführungsformen werden in Bezug auf die begleitenden Zeichnungen beschrieben. In den Zeichnungen können gleiche Bezugsnummern identische oder funktionell ähnliche Elemente angeben. Die Zeichnung, in der ein Element zum ersten Mal erscheint, ist normalerweise durch die Ziffer ganz links in der entsprechenden Bezugsnummer angegeben.
  • 1A ist ein Diagramm, das eine Bewegung eines Mobilgeräts veranschaulicht, das zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung verwendet werden kann.
  • 1B und 1C sind Diagramme, die eine Navigation einer virtuellen Kamera innerhalb der dreidimensionalen Umgebung veranschaulichen, wobei die Navigation auf dem Diagramm in 1A basiert.
  • 2A ist ein Diagramm, das eine Bewegung eines Mobilgeräts veranschaulicht, das zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung verwendet werden kann.
  • 2B und 2C sind Diagramme, die eine Navigation einer virtuellen Kamera innerhalb der dreidimensionalen Umgebung veranschaulichen, wobei die Navigation auf dem Diagramm in 2A basiert.
  • 3 veranschaulicht eine exemplarische Systemumgebung, die zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts verwendet werden kann.
  • 4 ist ein Ablaufdiagramm eines exemplarischen Verfahrens, das zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts verwendet werden kann.
  • 5 veranschaulicht einen exemplarischen Computer, in dem die hierin beschriebenen Ausführungsformen oder Teile davon als computerlesbarer Code implementiert sein können.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Mobilgeräte, die gemäß den hierin beschriebenen Ausführungsformen konfiguriert sind, können zum Navigieren einer virtuellen Kamera in einer dreidimensionalen Umgebung verwendet werden, die auf dem Mobilgerät angezeigt wird. Die virtuelle Kamera wird auf Basis von Daten navigiert, die vom Bewegungssensor im Mobilgerät empfangen werden, und Bildern, die von der Frontkamera des Mobilgeräts gestreamt werden, während das Mobilgerät von einem Benutzer bewegt wird. Die Daten vom Bewegungssensor werden zusammen mit Änderungen bei der Position des Benutzers in Bezug auf das Mobilgerät verwendet, um eine Navigationsaktion für die virtuelle Kamera zu bestimmen. Die Änderungen bei der Position des Benutzers in Bezug auf das Mobilgerät werden durch Verfolgen des Unterschieds bestimmt, wo der Benutzer in den Bildern erscheint, die von der Frontkamera des Mobilgeräts gestreamt werden.
  • Inder folgenden detaillierten Beschreibung geben Bezugnahmen auf „eine Ausführungsform”, „eine exemplarische Ausführungsform” usw. an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft enthalten kann. Es muss jedoch nicht jede Ausführungsform notwendigerweise dieses bestimmte Merkmal, diese bestimmte Struktur oder diese bestimmte Eigenschaft enthalten. Somit beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben ist, so wird weiterhin unterstellt, dass Fachleute die Kenntnis besitzt, ein solches Merkmal, eine Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob sie ausführlich beschrieben sind oder nicht.
  • Die folgende detaillierte Beschreibung erwähnt den Begriff „in der Nähe von”. Dieser Begriff wird verwendet, um eine Rotationsachse zu beschreiben, die sich ungefähr am gleichen Ort wie ein Objekt befindet. Die Rotationsachse ist in der Nähe des Objekts, wenn die Rotationsachse mindestens einen Teil des Objekts schneidet. Wenn ein Objekt zum Beispiel um Rotationsachse rotiert, ist die Rotationsachse in der Nähe des Objekts.
  • Die folgende detaillierte Beschreibung bezieht sich auf die begleitenden Zeichnungen, die exemplarische Ausführungsformen veranschaulichen. Andere Ausführungsformen sind möglich und es können Änderungen an den Ausführungsformen innerhalb des Geists und Umfangs dieser Beschreibung vorgenommen werden. Fachleute mit Zugang zu hierin angegebenen Anleitungen werden zusätzliche Änderungen, Anwendungen und Ausführungen innerhalb des Umfangs und zusätzliche Felder erkennen, in denen die Ausführungsformen von erheblicher Nützlichkeit wären. Daher soll die detaillierte Beschreibung die unten beschriebenen Ausführungsformen nicht begrenzen.
  • Die folgende detaillierte Beschreibung ist in Abschnitte aufgeteilt. Der erste Abschnitt beschreibt exemplarische Bewegungen und Navigationen, die durch hierin beschriebene Ausführungsformen genutzt werden können. Der zweite und dritte Abschnitt beschreiben exemplarische Ausführungsformen von Systemen bzw. Verfahren, die verwendet werden können, um eine virtuelle Kamera in einer virtuellen, dreidimensionalen Umgebung zu navigieren. Der vierte Abschnitt beschreibt ein exemplarisches Computersystem, das zur Implementierung der hierin beschriebenen Ausführungsformen verwendet werden kann.
  • Beispielhafte Bewegungen und Navigationen
  • 1A ist ein Diagramm 100, das eine Bewegung eines Mobilgeräts veranschaulicht, das zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung verwendet werden kann. Diagramm 100 beinhaltet einen Benutzer 102, ein Mobilgerät 104 und eine Rotationsachse 106. Diagramm 100 wird von Benutzer 102 durchgeführt, der ein Mobilgerät 104 um eine erste Rotationsachse 106 schwenkt. Während Benutzer 102 das Mobilgerät 104 schwenkt, ist das Mobilgerät 104 so konfiguriert, dass es den Ort der Rotationsachse 106 bestimmt. Der Ort der Rotationsachse 106 wird mithilfe von Daten bestimmt, die von den Sensoren am Mobilgerät 104 empfangen werden, und Bildern, die von der/den Kamera(s) des Mobilgeräts 104 gestreamt werden, die ein Bild des Benutzers aufnehmen kann/können, wenn der Benutzer auf das Display des Geräts blickt. Die Kamera, die in Richtung Benutzer zeigt, kann zum Beispiel eine „Frontkamera” sein, die ein oder mehrere Bildgebungssensoren enthält, die am oder im Mobilgerät 104 so positioniert sind, dass sich der Benutzer im Sichtfeld der Kamera befindet, wenn der Benutzer auf das Display des Geräts blickt. Auch wenn hier eine Frontkamera erörtert wird, kann in einigen Implementierungen der/die Bildgebungssensor(en) in eine andere Richtung weisen, wobei optische Elemente (z. B. Spiegel) verwendet werden, damit der/die Sensor(en) Bilder des Benutzers aufnehmen kann/können. In diesem Beispiel befindet sich Rotationsachse 106 in der Nähe des Mobilgeräts 104, d. h. die Rotationsachse ist dem Mobilgerät näher als dem Benutzer.
  • 1B ist ein Diagramm 150, das eine Navigation einer virtuellen Kamera innerhalb der dreidimensionalen Umgebung veranschaulicht, wobei die Navigation als Reaktion auf die Rotation erfolgt, die dargestellt ist in Diagramm 100 in 1A basiert. 1B zeigt die Navigation der virtuellen Kamera von der Seite, während 1C eine Ansicht entlang der Rotationsachse 156 zeigt. Diagramm 150 beinhaltet die virtuelle Kamera 152, das Sichtfeld 154, die Rotationsachse 156, die dreidimensionale Umgebung 158 und die Bildebene 160. Bildebene 160 wird auf dem Display des Mobilgeräts 104 angezeigt. Bildebene 160 nimmt die dreidimensionale Umgebung 158 aus der Perspektive der virtuellen Kamera 152 auf Basis des Sichtfelds 154 der virtuellen Kamera 152 auf. Ein Benutzer 102 führt eine Bewegung 100 aus, eine erste Navigationsaktion wird ausgeführt, sodass die virtuelle Kamera 152 in der dreidimensionalen Umgebung 158 durch Schwenken der virtuellen Kamera 152 um die Rotationsachse 156 navigiert wird. Hier befindet sich die Rotationsachse 156 in einem Abstand zwischen der Bildebene 160 und der Szene, die in der dreidimensionalen Umgebung 158 dargestellt wird.
  • Wie in 1C dargestellt, dreht sich die virtuelle Kamera 152 um die Achse 156 von einer ersten Position mit Sichtfeld 154 und entsprechender Bildebene 160 zu einer zweiten Position 152' mit Sichtfeld 154' und entsprechender Bildebene 160'. Wie in diesem Beispiel dargestellt, bleibt ein Objekt O bei oder in der Nähe der Rotationsachse 156 nach der Rotation im Blick, während andere Merkmale der dreidimensionalen Umgebung (nicht dargestellt) aufgrund der Rotation im Vordergrund und/oder Hintergrund sichtbar sein können. Objekt O könnte selbstverständlich jedes Merkmal in der dreidimensionalen Umgebung sein, z. B. (unter anderem) ein Gelände, ein Gebäude usw.
  • 2A ist ein Diagramm 200, das eine Bewegung eines Mobilgeräts veranschaulicht, das zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung verwendet werden kann. Wie Diagramm 100 enthält Diagramm 200 Benutzer 102 und Mobilgerät 104. Diagramm 200 stellt jedoch eine erste Rotationsachse 206 dar, die dem Benutzer näher ist als dem Mobilgerät 104, anders als Rotationsachse 106 (die in 1A dem Gerät 104 näher als dem Benutzer war). Als Folge wählt Mobilgerät 104 eineandere Navigationsaktion.
  • 2B ist ein Diagramm 250, das ein Beispiel einer Navigation einer virtuellen Kamera innerhalb der dreidimensionalen Umgebung als Reaktion auf die Reaktion, die veranschaulicht ist in 2A basiert. 2B zeigt die Navigation von der Seite, während 2C eine Ansicht entlang der Rotationsachse (256) zeigt. Wie Diagramm 150 beinhaltet Diagramm 250 die virtuelle Kamera 152, das Sichtfeld 154, die dreidimensionale Umgebung 158 und die Bildebene 160. Diagramm 250 beinhaltet jedoch Rotationsachse 256 statt Rotationsachse 156. Während Benutzer 102 die Rotation in Diagramm 200 ausführt, wird die virtuelle Kamera 152 in der dreidimensionalen Umgebung 158 durch Schwenken der virtuellen Kamera 152 um die Rotationsachse 256 navigiert. Hier ist Rotationsachse 256 in der Nähe der virtuellen Kamera 152.
  • Wie in 2C dargestellt, dreht sich die virtuelle Kamera 152 um die Achse 256 von einer ersten Position 152 mit Sichtfeld 154 und entsprechender Bildebene 160 zu einer zweiten Position 152'' mit Sichtfeld 154'' und entsprechender Bildebene 160''. Wie in diesem Beispiel dargestellt, ist ein Objekt O, das im Sichtfeld 154 war, nach der Rotation um Achse 256 nicht mehr sichtbar. Stattdessen können andere Objekte (nicht dargestellt) im Teil der dreidimensionalen Umgebung, der Sichtfeld 154'' entspricht, sichtbar sein. Somit kann durch Vergleichen der Beispiele von 1C und 2C gesehen werden, dass die verschiedenen Navigationsaktionen es einem Benutzer ermöglichen können, die Kamera am Ort der dreidimensionalen Umgebung (2C) zu drehen oder um eine Achse zu drehen, um einen Teil der dreidimensionalen Umgebung zu „umfahren” (1C) (z. B. um verschiedene Seiten von Objekt O zu sehen).
  • Ausführungsformen können zwischen den Bewegungen unterscheiden, die in den Diagrammen 100 und 200 veranschaulicht sind, indem sie einen Bildsensor verwenden, um die Position des Benutzers in Bezug auf das Mobilgerät zu verfolgen. Durch Unterscheidung zwischen den beiden Bewegungen können Ausführungsformen eine erste Aktion – zum Beispiel die in Diagramm 150 veranschaulichte Navigation – als Reaktion auf die in Diagramm 100 veranschaulichte Bewegung auslösen, und eine zweite Aktion – zum Beispiel die in Diagramm 250 veranschaulichte Navigation – als Reaktion auf die in Diagramm 200 veranschaulichte Bewegung. Die in Diagramm 100 dargestellte Bewegung ist zumindest teilweise durch das Analysieren von Bildmaterial für den Benutzer und Bestimmung, dass sich die Position des Benutzers in Bezug auf die Frontkamera geändert hat, identifizierbar. Andererseits bewegt sich der Benutzer in der in Diagramm 200 dargestellten Bewegung (im Großen und Ganzen) mit dem Gerät 104 und demgemäß bleibt die Position des Benutzers in Bezug auf die Frontkamera im Allgemeinen unverändert.
  • Diagramme 100, 150, 200 und 250 werden als Beispiele bereitgestellt und sollen die hierin beschriebenen Ausführungsformen nicht begrenzen.
  • Beispielhafte System ausführungsformen
  • 3 veranschaulicht eine exemplarische Systemumgebung, die zum Navigieren einer virtuellen Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts verwendet werden kann. System 300 beinhaltet ein Mobilgerät 302. In einigen Ausführungsformen kann System 300 auch Netzwerk 330 und GIS-Server 340 beinhalten. Mobilgerät 302 beinhaltet Bewegungserkennungsmodul 304, Benutzerverfolgungsmodul 306, Rotationsachsensuchmodul 308, Navigationsmodul 310 und Benutzerschnittstellenmodul 312, Frontkamera 314 und Bewegungssensoren 320. Die Bewegungssensoren 320 können zum Beispiel Kompass 322, Beschleunigungsmesser 324 oder Gyroskop 326 beinhalten.
  • Netzwerk 330 kann jedes beliebige Netzwerk oder jede Kombination von Netzwerken beinhalten, die Datenkommunikation übertragen können. Diese Netzwerke können z. B. ein Local Area Network (LAN) oder ein Wide Area Network (WAN), zum Beispiel das Internet, beinhalten. LAN- und WAN-Netzwerke können jede Kombination kabelgebundener (z. B. Ethernet) oder drahtloser (z. B. Wi-Fi, 3G oder 4G) Netzwerkkomponenten beinhalten.
  • GIS-Server 340 kann jedes geografische Informationssystem beinhalten, das Daten mit geografischem Bezug zur Verfügung stellen kann, die eine virtuelle, dreidimensionale Umgebung beinhalten. Die Daten mit geografischem Bezug können zum Beispiel Karten, Satellitenbilder, Informationsebenen, Geländedaten, dreidimensionale Globen und andere Arten geographischer Daten beinhalten. GIS-Server 340 kann aus einem einzigen Serversystem oder einem verteilten Netzwerk von Servern bestehen.
  • A. Mobilgerät
  • Mobilgerät 302 kann auf jedem Computergerät implementiert sein. Mobilgerät 302 kann zum Beispiel ein mobiles Computergerät (z. B. ein Mobiltelefon, ein Smartphone, ein Personal Digital Assistant (PDA), ein Navigationsgerät, ein Tablet oder ein anderes mobiles Computergerät) beinhalten. Computer können außerdem u. a. eine Zentraleinheit, eine anwendungsspezifische integrierte Schaltung, einen Computer, eine Workstation, ein verteiltes Computersystem, ein Computercluster, ein eingebettetes System, ein eigenständiges elektronisches Gerät, ein vernetztes Gerät, einen Rackserver, eine Settop-Box oder jede andere Art von Computersystem mit mindestens einem Prozessor und Speicher beinhalten. Ein von einer geclusterten Computerumgebung oder Serverfarm ausgeführter Rechenvorgang kann auf mehreren Prozessoren ausgeführt werden, die sich am selben oder an verschiedenen Orten befinden. Hardware kann u. a. einen Prozessor, einen Speicher und eine Benutzeroberflächenanzeige beinhalten. In einigen Ausführungsformen kann Mobilgerät 302 auch Computergeräte beinhalten, die mit einem GIS kommunizieren und eine virtuelle, dreidimensionale Umgebung wiedergeben können, die vom GIS erhalten wird.
  • Mobilgerät 302 ist so konfiguriert, dass es eine Bildebene einer virtuellen, dreidimensionalen Umgebung anzeigt. Die Bildebene ist einem fotografischen Bild eines physischen Raums, das von einer Kamera aufgenommen wurde, ähnlich. Die Bildebene wird aus der Perspektive einer virtuellen Kamera aufgenommen, während die virtuelle Kamera in der dreidimensionalen Umgebung navigiert wird. Die Bildebene wird auf dem Mobilgerät zum Beispiel mithilfe des Benutzeroberflächenmoduls 312 angezeigt.
  • Die vom Mobilgerät 302 angezeigte virtuelle, dreidimensionale Umgebung kann zum Beispiel vom GIS-Server 340 oder einem anderen Computerprozess oder System bereitgestellt werden, der/das so konfiguriert wird, dass er/es eine dreidimensionale Umgebung bereitstellt, wie zum Beispiel dreidimensionale Computerspiele oder virtuelle Simulatoren.
  • 1. Bewegungserkennungsmodul
  • Mobilgerät 302 beinhaltet Bewegungserkennungsmodul 304. Bewegungserkennungsmodul 304 ist so konfiguriert, dass es einen Hinweis empfängt, dass Mobilgerät 302 um eine Rotationsachse geschwenkt wurde. Die Rotationsachse ist eine Achse, die parallel zu einer Ebene ist, die den Anzeigebildschirm des Mobilgeräts 302 umfasst. Wenn ein Benutzer zum Beispiel Mobilgerät 302 so hält, dass das Display im Wesentlich parallel zur Richtung der Schwerkraft ist, ist die Rotationsachse im Wesentlichen parallel zur Richtung der Schwerkraft.
  • Die Bewegungssensoren 320 können verwendet werden, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wurde. Die Bewegungssensoren 320 können zum Beispiel Kompass 322, Beschleunigungsmesser 324 oder Gyroskop 326 beinhalten. In einigen Ausführungsformen wird Kompass 322 verwendet, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird. Kompass 322 ist so konfiguriert, dass er die Ausrichtung von Mobilgerät 302 auf Basis einer Reihe von Gradwerten in Bezug auf den magnetischen Norden bestimmt. Die Reihe von Gradwerten in Bezug auf den magnetischen Norden ändert sich, wenn Mobilgerät 302 um die Rotationsachse geschwenkt wird. Die Änderung bei der Reihe von Gradwerten kann verwendet werden, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird, und die Rate, mit der Mobilgerät 302 geschwenkt wird.
  • Ineinigen Ausführungsformen wird Beschleunigungsmesser 324 verwendet, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird. Beschleunigungsmesser 324 ist so konfiguriert, dass es die richtige Beschleunigung (z. B. Gravitationskraft) von Mobilgerät 302 bestimmt. Während Mobilgerät 302 von einem Benutzer in bestimmten Winkeln in Bezug auf die Schwerkraft gehalten wird, bestimmt Beschleunigungsmesser 324 die Richtung (und möglicherweise die Größe) der Gravitationskraft, die auf Mobilgerät 302 wirkt. Die Änderung bei der Gravitationskraft, die auf Mobilgerät 302 wirkt, kann verwendet werden, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird.
  • Ineinigen Ausführungsformen wird Gyroskop 326 verwendet, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird. Gyroskop 326 ist so konfiguriert, dass es die Bewegung von Mobilgerät 302 in drei Richtungen bestimmt. Während Mobilgerät 302 von einem Benutzer geschwenkt wird, gibt Gyroskop 326 die Rate und Richtung der Bewegung von Mobilgerät 302 an. Die Bewegungsrichtung kann verwendet werden, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird.
  • In einigen Ausführungsformen wird eine Kombination aus Kompass 322 und Beschleunigungsmesser 324 verwendet, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird. Zum Beispiel gibt, während der Benutzer Mobilgerät 302 um die Rotationsachse schwenkt, Kompass 322 die Änderung bei der Ausrichtung des Mobilgeräts 302 auf den magnetischen Norden an und Beschleunigungsmesser 324 gibt die Änderung bei der Gravitationskraft an, die auf Mobilgerät 302 wirkt. Eine Kombination dieser Daten kann dann verwendet werden, um zu bestimmen, ob Mobilgerät 302 um die Rotationsachse geschwenkt wird, und die Rate, mit der Mobilgerät 302 geschwenkt wird.
  • 2. Benutzerverfolgungsmodul
  • Mobilgerät 302 beinhaltet außerdem Benutzerverfolgungsmodul 306. Benutzerverfolgungsmodul 306 ist so konfiguriert, dass es eine Änderung bei der Position eines Benutzers in Bezug auf Mobilgerät 302 erkennt, während Mobilgerät 302 um die Rotationsachse geschwenkt wird. Die Änderung bei der Position des Benutzers wird aus einer Vielzahl von Bildern des Benutzers bestimmt, die von der Frontkamera 314 aufgenommen werden. Während zum Beispiel Mobilgerät 302 um die Rotationsachse geschwenkt wird, streamt Frontkamera 314 eine Vielzahl von Bildern. Benutzerverfolgungsmodul 306 analysiert dann die Bilder, um eine Änderung bei der Position des Benutzers zwischen den Bildern zu bestimmen.
  • Ineinigen Ausführungsformen ist Benutzerverfolgungsmodul 306 außerdem so konfiguriert, dass es eine Änderung bei der Position des Benutzers auf Basis der Position des Gesichts des Benutzers in der Vielzahl der Bilder bestimmt, die von der Frontkamera 314 gestreamt werden. Wenn Mobilgerät 302 zum Beispiel um die Rotationsachse geschwenkt wird, erkennt Benutzerverfolgungsmodul 306 eine Position des Gesichts des Benutzers in jedem Bild und bestimmt den Umfang der Änderung bei der Position des Gesichts des Benutzers in Bezug auf Mobilgerät 302. In einigen Ausführungsformen bestimmt Benutzerverfolgungsmodul 306 die Änderung auf Basis der Position der Augen des Benutzers in Bezug auf Mobilgerät 302. Der Vorgang der Verfolgung des Benutzers kann eine gewisse Filterung oder Festlegung von Schwellenwerten beinhalten, um der Tatsache Rechnung zu tragen, dass der Benutzer in Bezug auf das Mobilgerät relativ unbeweglich bleibt. Ein bestimmter Umfang von Bewegung im Bild kann trotzdem erfolgen.
  • 3. Rotationsachsensuchmodul
  • Mobilgerät 302 beinhaltet außerdem Rotationsachsensuchmodul 308. Rotationsachsensuchmodul 308 ist so konfiguriert, dass es einen Ort der Rotationsachse auf Basis des Umfangs der Änderung bei der Position des Benutzers in Bezug auf Mobilgerät 302 bestimmt. Wenn sich zum Beispiel die Position des Benutzers in Bezug auf Mobilgerät 302 erheblich ändert, während Mobilgerät 302 um die Rotationsachse geschwenkt wird, bestimmt Rotationsachsensuchmodul 308 den Ort der Rotationsachse als in der Nähe von Mobilgerät 302. Wenn sich die Position des Benutzers in Bezug auf Mobilgerät 302 nicht erheblich ändert, während Mobilgerät 302 um die Rotationsachse geschwenkt wird, bestimmt Rotationsachsensuchmodul 308 den Ort der Rotationsachse als in der Nähe des Benutzers.
  • Ineinigen Ausführungsformen kann der Ort der Rotationsachse als irgendwo zwischen dem Benutzer und Mobilgerät 302 bestimmt werden. Wenn die Rotationsachse dem Benutzer näher ist als Mobilgerät 302, bestimmt Rotationsachsensuchmodul 308 die Rotationsachse als in der Nähe des Benutzers befindlich. Wenn die Rotationsachse Mobilgerät 302 näher ist als dem Benutzer, bestimmt Rotationsachsensuchmodul 308 die Rotationsachse als in der Nähe von Mobilgerät 302 befindlich.
  • 4. Navigationsmodul
  • Mobilgerät 302 beinhaltet außerdem Navigationsmodul 310. Navigationsmodul 310 ist so konfiguriert, dass es eine erste Aktion ausführt, wenn der Ort der ersten Rotationsachse in der Nähe von Mobilgerät 302 ist. Navigationsmodul 310 ist außerdem so konfiguriert, dass es eine zweite Aktion ausführt, wenn der Ort der Rotationsachse in der Nähe des Benutzers ist. Die erste und zweite Aktion navigieren beide die virtuelle Kamera innerhalb der dreidimensionalen Umgebung, aber auf verschiedene Weise. In einigen Ausführungsformen schwenkt zum Beispiel die erste Aktion die virtuelle Kamera um eine Rotationsachse, die sich in einem Abstand von der virtuellen Kamera entfernt befindet. Der Ort der Rotationsachse kann zum Beispiel zwischen der Bildebene und einem Objekt sein, das in der dreidimensionalen Umgebung dargestellt ist. Die zweite Aktion schwenkt dagegen die virtuelle Kamera um eine Rotationsachse, die in der Nähe der virtuellen Kamera in der dreidimensionalen Umgebung ist.
  • Ineinigen Ausführungsformen entspricht die Geschwindigkeit, mit der die virtuelle Kamera um ihre Rotationsachse in der dreidimensionalen Umgebung geschwenkt wird, einer Geschwindigkeit, mit der Mobilgerät 302 um seine Rotationsachse geschwenkt wird. Während zum Beispiel Mobilgerät 302 um seine Rotationsachse geschwenkt wird, kann Bewegungserkennungsmodul 304 die Rate verfolgen, mit der Mobilgerät 302 geschwenkt wird. Die Schwenkrate von Mobilgerät 302 kann in eine Schwenkgeschwindigkeit übersetzt werden, die verwendet werden kann, um die Geschwindigkeit zu bestimmen, mit der die virtuelle Kamera geschwenkt wird. Die Geschwindigkeit, mit der die virtuelle Kamera geschwenkt wird, kann zum Beispiel auf Basis eines Zoomgrads skaliert werden, der zum Anzeigen der dreidimensionalen Umgebung verwendet wird, oder einer Benutzervoreinstellung.
  • Verschiedene Aspekte der hierin beschriebenen Ausführungsformen können durch Software, Hardware oder eine Kombination davon implementiert werden. Die Ausführungsformen oder Teile davon können außerdem als computerlesbarer Code implementiert werden. Die Ausführungsform in System 300 ist in keinster Weise als einschränkend gedacht.
  • Beispielhafte Verfahrensausführungsformen
  • 4 ist ein Ablaufdiagramm eines exemplarischen Verfahrens 400, das zum Navigieren einer virtuellen Kamera in einer virtuellen dreidimensionalen Umgebung mithilfe eines Mobilgeräts verwendet werden kann. Das Mobilgerät ist so konfiguriert, dass es eine Bildebene der Umgebung aus der Perspektive der virtuellen Kamera anzeigt. Auch wenn Verfahren 400 in Bezug auf eine Ausführungsform beschrieben ist, ist Verfahren 400 nicht als einschränkend gedacht und kann in anderen Anwendungen verwendet werden. Außerdem kann Verfahren 400 zum Beispiel von System 300 ausgeführt werden.
  • Verfahren 400 empfängt von mindestens einem Sensor am Mobilgerät einen Hinweis, dass das Mobilgerät um eine erste Rotationsachse geschwenkt wurde (Phase 410). Die erste Rotationsachse ist parallel zu einer Ebene, die den Anzeigebildschirm des Mobilgeräts umfasst. Die erste Rotationsachse kann außerdem entlang der Y-Achse des Displays positioniert sein. Ob das Mobilgerät um die erste Rotationsachse geschwenkt wurde, kann mithilfe von Bewegungssensoren bestimmt werden, zum Beispiel einem digitalen Kompass, einem digitalen Beschleunigungsmesser oder einem digitalen Gyroskop. Phase 410 kann zum Beispiel von Bewegungserkennungsmodul 304 ausgeführt werden, das in System 300 verkörpert ist.
  • Verfahren 400 verfolgt außerdem eine Änderung bei der Position eines Benutzers in Bezug auf das Mobilgerät, wenn das Mobilgerät um die erste Rotationsachse geschwenkt wird (Phase 420). Die Änderung bei der Position des Benutzers wird aus einer Vielzahl von Bildern des Benutzers bestimmt, die von der Frontkamera des Mobilgeräts aufgenommen werden. Die Vielzahl von Bildern kann direkt von der Frontkamera gestreamt werden und muss nicht auf dem Mobilgerät gespeichert werden. Die Änderung bei der Position des Benutzers kann zum Beispiel durch Verfolgung der Position der Gesichtsmerkmale des Benutzers (z. B. Augen) in Bezug auf das Mobilgerät bestimmt werden. Phase 420 kann zum Beispiel von Benutzerverfolgungsmodul 306 ausgeführt werden, das in System 300 verkörpert ist.
  • Verfahren 400 bestimmt dann einen Ort der ersten Rotationsachse auf Basis der Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät (Phase 430). Wenn die Position des Benutzers sich zwischen der Vielzahl der Bilder erheblich ändert, wird der Ort der Positionsachse als in der Nähe des Geräts befindlich bestimmt. Wenn die Position des Benutzers sich zwischen der Vielzahl der Bilder nicht erheblich ändert, wird der Ort der Positionsachse als in der Nähe des Benutzers befindlich bestimmt. Phase 430 kann zum Beispiel von Rotationsachsensuchmodul 308 ausgeführt werden, das in System 300 verkörpert ist.
  • Wenn der Ort der ersten Rotationsachse in der Nähe des Mobilgeräts ist, führt Verfahren 400 eine erste Aktion zur Navigation innerhalb der dreidimensionalen Umgebung aus (Phase 440). Die erste Aktion kann zum Beispiel das Schwenken der virtuellen Kamera in der dreidimensionalen Umgebung um eine zweite Rotationsachse beinhalten, die sich zwischen der virtuellen Kamera und einem Objekt befindet, das in der dreidimensionalen Umgebung dargestellt ist. Phase 440 kann zum Beispiel von Navigationsmodul 310 ausgeführt werden, das in System 300 verkörpert ist.
  • Wenn der Ort der ersten Rotationsachse in der Nähe des Benutzers ist, führt Verfahren 400 eine zweite Aktion zur Navigation innerhalb der dreidimensionalen Umgebung aus (Phase 450). Die zweite Aktion kann zum Beispiel ebenfalls das Schwenken der virtuellen Kamera in der dreidimensionalen Umgebung um eine zweite Rotationsachse beinhalten, aber statt dass die zweite Rotationsachse sich zwischen der virtuellen Kamera und einem Objekt befindet, das in der dreidimensionalen Umgebung dargestellt ist, befindet sich die zweite Rotationsachse in der Nähe der virtuellen Kamera. Phase 450 kann zum Beispiel von Navigationsmodul 310 ausgeführt werden, das in System 300 verkörpert ist.
  • Beispielhaftes Computersystem
  • 5 veranschaulicht einen exemplarischen Computer 500, in dem die hierin beschriebenen Ausführungsformen oder Teile davon als computerlesbarer Code implementiert sein können. Zum Beispiel können Bewegungserkennungsmodul 304, Benutzerverfolgungsmodul 306, Rotationsachsensuchmodul 308 und Navigationsmodul 310 in einem oder mehreren Computersystemen 500 mithilfe von Hardware, Software, Firmware, computerlesbaren Speichermedien, auf denen Anweisungen gespeichert sind, oder einer Kombination davon implementiert sein.
  • Fachleute wissen, dass Ausführungsformen des offenbarten Gegenstands mit verschiedenen Computersystemkonfigurationen umgesetzt werden können, z. B. Mehrkern-Multiprozessor-Systeme, Minicomputer, Mainframe-Computer, verknüpfte oder geclusterte Computer mit verteilten Funktionen sowie allgegenwärtige oder Mini-Computer, die in praktisch jedem Gerät eingebettet sein können.
  • Zum Beispiel kann ein Computergerät mit mindestens einem Prozessorgerät und einem Speicher zur Implementierung der oben beschriebenen Ausführungsformen verwendet werden. Ein Prozessorgerät kann ein einzelner Prozessor, eine Vielzahl von Prozessoren oder eine Kombination davon sein. Prozessorgeräte können einen oder mehrere Prozessor-„Kerne” haben.
  • Verschiedene Ausführungsformen sind in Bezug auf dieses Beispiel-Computersystem 500 beschrieben. Nach Lesen dieser Beschreibung wird für eine in der relevanten Technik fachkundigen Person offensichtlich, wie die Erfindung mithilfe anderer Computersysteme und/oder Computerarchitekturen implementiert wird. Auch wenn Vorgänge als aufeinanderfolgender Prozess beschrieben werden können, können einige der Vorgänge in der Tat parallel, gleichzeitig und/oder in einer verteilten Umgebung und mit Programmcode ausgeführt werden, der lokal oder remote für den Zugriff durch eine Ein- oder Mehrprozessor-Maschine gespeichert ist. Außerdem kann in einigen Ausführungsformen die Reihenfolge der Vorgänge neu geordnet sein, ohne vom Geist des offenbarten Gegenstands abzuweichen.
  • Wie für Fachleute offensichtlich, kann Prozessorgerät 504 ein einzelner Prozessor in einem Mehrkern-/Multiprozessor-System sein, zum Beispiel einem System, das allein betrieben wird, oder in einem Cluster von Computergeräten, die in einem Cluster oder einer Serverfarm betrieben werden. Prozessorgerät 504 ist mit einer Kommunikationsinfrastruktur 506 verbunden, zum Beispiel einem Bus, einer Nachrichtenwarteschlange, einem Netzwerk oder einem Mehrkern-Nachrichtenübermittlungsschema. Computersystem 500 kann außerdem Displayschnittstelle 502 und Displaygerät 530 beinhalten.
  • Computersystem 500 beinhaltet außerdem einen Hauptspeicher 508, zum Beispiel Random Access Memory (RAM), und kann außerdem einen sekundären Speicher 510 beinhalten. Der sekundäre Speicher 510 kann außerdem zum Beispiel ein Festplattenlaufwerk 512 und ein Wechselspeicherlaufwerk 514 enthalten. Wechselspeicherlaufwerk 514 kann ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Laufwerk für optische Datenträger, ein Flash-Speicher-Laufwerk oder ähnliches sein. Das Wechselspeicherlaufwerk 514 liest von einem und/oder schreibt auf ein Wechselspeichergerät 518 auf bekannte Weise. Wechselspeicherlaufwerk 518 kann eine Diskette, ein Magnetband, einen optischen Datenträger, ein Flash-Speicher-Laufwerk usw. beinhalten, von der/dem Wechselspeicherlaufwerk 514 liest und auf die/das/den es schreibt. Wie für Fachleute offensichtlich, beinhaltet Wechselspeichergerät 518 ein computerlesbares Speichermedium, auf dem Computersoftware und/oder Daten gespeichert sind.
  • In alternativen Implementierungen kann der sekundäre Speicher 510 andere ähnliche Mittel enthalten, die das Laden von Computerprogrammen oder anderen Anweisungen in Computersystem 500 ermöglichen. Solche Mittel können zum Beispiel ein Wechselspeichergerät 522 und einen Schnittstelle 520 umfassen. Beispiele solcher Mittel können ein Programmmodul und eine Modulschnittstelle (wie z. B. in Videospielgeräten zu finden), ein Wechselspeicher-Chip (z. B. ein EPROM oder PROM) und dazugehörige Anschlüsse und andere Wechselspeichergeräte 522 und Schnittstellen 520 beinhalten, die die Übertragung von Software und Daten vom Wechselspeichergerät 522 zum Computersystem 500 ermöglichen.
  • Computersystem 500 kann außerdem eine Kommunikationsschnittstelle beinhalten 524. Kommunikationsschnittelle 524 ermöglicht die Übertragung von Software und Daten zwischen Computersystem 500 und externen Geräten. Kommunikationsschnittelle 524 kann ein Modem, eine Netzwerkschnittstelle (zum Beispiel eine Ethernet-Karte), einen Kommunikationsanschluss, einen PCMCIA-Steckplatz mit Karte oder ähnliches beinhalten. Software und Daten, die über die Kommunikationsschnittstelle 524 übertragen werden, können in Form von Signalen sein, die elektronische, elektromagnetische, optische oder andere Signale sein können, die von Kommunikationsschnittstelle 524 empfangen werden können. Diese Signale können der Kommunikationsschnittstelle 524 über einen Kommunikationspfad 526 bereitgestellt werden. Kommunikationspfad 526 überträgt Signale und kann mithilfe von Draht oder Kabel, Glasfaser, eine Telefonleitung, eine Mobiltelefonverbindung, eine RF-Verbindung oder andere Kommunikationskanäle implementiert werden.
  • In diesem Dokument werden die Begriffe „Computerspeichermedium” und „computerlesbares Speichermedium” im Allgemeinen verwendet, um Medien, wie Wechselspeichergerät 518, Wechselspeichergerät 522 und eine Festplatte, die in Festplattenlaufwerk 512 installiert ist, zu bezeichnen. Computerspeichermedium und computerlesbares Speichermedium können sich außerdem auf Speicher, z. B. Hauptspeicher 508 und sekundärer Speicher 510, beziehen, die Speicherhalbleiter (z. B. DRAMs usw.) sein können.
  • Computerprogramme (auch Computersteuerlogik genannt) werden in Hauptspeicher 508 und/oder im sekundären Speicher 510 gespeichert. Computerprogramme können außerdem über Kommunikationsschnittstelle 524 empfangen werden. Wenn sie ausgeführt werden, ermöglichen es solche Computerprogramme Computersystem 500, die hierin beschriebenen Ausführungsformen zu implementieren. Insbesondere ermöglichen es die Computerprogramme, wenn sie ausgeführt werden, Prozessorgerät 504, die Prozesse der Ausführungsformen zu implementieren, zum Beispiel die Phasen in den Verfahren, die durch Ablaufdiagramm 400 von 4, wie oben erörtert, veranschaulicht sind. Demgemäß stellen solche Computerprogramme Steuerungen von Computersystem 500 dar. Wenn eine Ausführungsform mithilfe von Software implementiert ist, kann die Software in einem Computerspeichermedium gespeichert und in ein Computersystem 500 mithilfe von Wechselspeicherlaufwerk 514, Schnittstelle 520 und Festplattenlaufwerk 512 oder Kommunikationsschnittstelle 524 geladen werden.
  • Ausführungsformender Erfindung können auch auf Computerprogrammprodukte gerichtet sein, z. B. Software, die auf einem computerlesbaren Speichermedium gespeichert ist. Solche Software führt, wenn sie in einem oder mehreren Datenverarbeitungsgeräten ausgeführt wird, dazu, dass das/die Datenverarbeitungsgerät(e), wie hierin beschrieben, funktionieren. Beispiele computerlesbarer Speichermedium beinhalten u. a. primäre Speichergeräte (z. B. alle Arten von Random Access Memory) und sekundäre Speichergeräte (z. B. Festplatten, Disketten, CD ROMS, ZIP-Datenträger, Bänder, Magnetspeichergeräte und optische Speichergeräte, MEMS, Nanotechnologie-Speichergeräte usw.).
  • Schlussfolgerung
  • Die Zusammenfassungs- und Kurzfassungsabschnitte können eine oder mehrere, aber nicht alle exemplarischen Ausführungsformen, wie von den Erfindern betrachtet, erweitern und sollen daher die vorliegende Erfindung und die angehängten Ansprüche in keinster Weise einschränken.
  • Die vorstehende Beschreibung der spezifischen Ausführungsformen zeigt somit die allgemeine Natur der Erfindung vollständig, die andere durch Anwendung von Wissen nach fachgerechter Beurteilung problemlos ändern und/oder für verschiedene Anwendungen solcher spezifischer Ausführungsformen anpassen können, ohne unangemessenes Experimentieren und ohne vom allgemeinen Konzept der vorliegenden Erfindung abzuweichen. Daher sind solche Anpassungen und Modifikationen auf Basis der hierin präsentierten Lehre und Anleitung als innerhalb der Bedeutungen des Bereichs der Äquivalente der offenbarten Ausführungsformen zu betrachten. Es versteht sich, dass die hierin enthaltene Phraseologie oder Terminologie dem Zweck der Beschreibung und nicht der Einschränkung dient, sodass die Terminologie oder Phraseologie der vorliegenden Spezifikation von Fachleuten angesichts der Lehren und Anleitung zu interpretieren ist.
  • Die Breite und der Umfang der vorliegenden Erfindung sollen durch keinerlei der vorstehend beschriebenen exemplarischen Ausführungsformen eingeschränkt sein.

Claims (12)

  1. Mobilgerät, das so konfiguriert ist, dass es eine virtuelle Kamera in einer virtuellen, dreidimensionalen Umgebung mithilfe eines Mobilgeräts schwenkt, wobei das Mobilgerät eine Bildebene der virtuellen, dreidimensionalen Umgebung aus Perspektive der virtuellen Kamera anzeigt, umfassend: ein Bewegungserkennungsmodul, so konfiguriert ist, dass es einen Hinweis von mindestens einem Sensor am Mobilgerät empfängt, dass das Mobilgerät um eine erste Rotationsachse geschwenkt wurde, worin die erste Rotationsachse parallel zu einer Ebene ist, die das Display des Mobilgeräts umfasst; ein Benutzerverfolgungsmodul, das so konfiguriert ist, dass es eine Änderung bei der Position eines Benutzers in Bezug auf das Mobilgerät verfolgt, während das Mobilgerät um die erste Rotationsachse geschwenkt wird, worin die Änderung bei der Position des Benutzers aus einer Vielzahl von Bildern des Benutzers bestimmt wird, die durch die Frontkamera des Mobilgeräts aufgenommen wurden; ein Rotationsachsensuchmodul, das so konfiguriert ist, dass es einen Ort der ersten Rotationsachse auf Basis der Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät bestimmt; ein Navigationsmodul, das so konfiguriert ist, dass es: eine erste Aktion ausführt, wenn der Ort der ersten Rotationsachse in der Nähe des Mobilgeräts ist, worin die erste Aktion die virtuelle Kamera innerhalb der dreidimensionalen Umgebung navigiert; und eine zweite Aktion ausführt, wenn der Ort der ersten Rotationsachse in der Nähe des Benutzers ist, worin die zweite Aktion die virtuelle Kamera innerhalb der dreidimensionalen Umgebung navigiert, wobei sich die zweite Aktion von der ersten Aktion unterscheidet; mindestens ein Speichergerät, das so konfiguriert ist, dass es mindestens das Bewegungserkennungsmodul, das Benutzerverfolgungsmodul, das Rotatationsachsensuchmodul oder das Navigationsmodul speichert; und mindestens einen Computerprozessor, der so konfiguriert ist, dass er mindestens das Bewegungserkennungsmodul, das Benutzerverfolgungsmodul, das Rotatationsachsensuchmodul oder das Navigationsmodul ausführt. Mobilgerät nach Anspruch 9, worin die erste Aktion das Schwenken der virtuellen Kamera um eine zweite Rotationsachse beinhaltet, wobei die zweite Rotationsachse parallel zur Bildebene ist, worin die zweite Rotationsachse sich zwischen der virtuellen Kamera und einem Objekt in einem Abstand von der virtuellen Kamera befindet, wobei sich die zweite Rotationsachse näher beim Objekt befindet als die virtuelle Kamera.
  2. Mobilgerät nach Anspruch 1, worin die zweite Aktion das Schwenken der virtuellen Kamera um die zweite Rotationsachse beinhaltet, worin der Ort der zweiten Rotationsachse sich näher bei der virtuellen Kamera als das Objekt befindet.
  3. Mobilgerät nach Anspruch 2, worin das Benutzerverfolgungsmodul des Weiteren so konfiguriert ist, dass es die Änderung bei der Position der Augen des Benutzers aus der Vielzahl der Bilder bestimmt.
  4. Mobilgerät nach Anspruch 1, worin der mindestens eine Sensor am Mobilgerät einen Beschleunigungsmesser und einen Kompass beinhaltet.
  5. Mobilgerät nach Anspruch 4, worin der Prozessor ferner so konfiguriert ist, dass er Folgendes ausführt: Vor Empfang eines Hinweises, dass das Mobilgerät um die erste Rotationsachse geschwenkt wurde: durch Verwendung des Beschleunigungsmessers eine Änderung bei der Gravitationskraft verfolgt, die auf das Mobilgerät wirkt, verfolgt; durch Verwendung des Kompasses eine Änderung bei der Position des magnetischen Nordens in Bezug auf das Mobilgerät verfolgt; bestimmt, ob das Mobilgerät um die erste Rotationsachse geschwenkt wurde, auf Basis der Änderung bei der Gravitationskraft und der Änderung bei der Position des magnetischen Nordens.
  6. Mobilgerät nach Anspruch 1, worin der mindestens eine Sensor am Mobilgerät ein Gyroskop beinhaltet.
  7. Mobilgerät nach Anspruch 1, worin eine Geschwindigkeit, mit der die virtuelle Kamera um die zweite Rotationsachse geschwenkt wird, einer Geschwindigkeit entspricht, mit der das Mobilgerät um die erste Rotationsachse geschwenkt wird.
  8. Computerlesbares Speichermedium, auf dem Anweisungen codiert sind, die, wenn sie von einem Mobilgerät ausgeführt werden, dazu führen, dass das Mobilgerät Vorgänge ausführt, umfassend: das Empfangen eines Hinweises von mindestens einem Sensor am Mobilgerät, dass das Mobilgerät um eine erste Rotationsachse geschwenkt wurde, worin die erste Rotationsachse parallel zu einer Ebene ist, die das Display des Mobilgeräts umfasst; das Verfolgeneiner Änderung bei der Position eines Benutzers in Bezug auf das Mobilgerät, während das Mobilgerät um die erste Rotationsachse geschwenkt wird, worin die Änderung bei der Position des Benutzers aus einer Vielzahl von Bildern des Benutzers bestimmt wird, die durch die Frontkamera des Mobilgeräts aufgenommen wurden; das Bestimmeneines Orts der ersten Rotationsachse auf Basis der Änderung bei der Position des Benutzers in Bezug auf das Mobilgerät; wennder Ort der ersten Rotationsachse in der Nähe des Mobilgeräts ist, Ausführung einer ersten Aktion zur Navigation innerhalb der dreidimensionalen Umgebung; und wennder Ort der ersten Rotationsachse in der Nähe des Benutzers ist, Ausführung der zweiten Aktion zur Navigation der virtuellen Kamera innerhalb der dreidimensionalen Umgebung, wobei sich die zweite Aktion von der ersten Aktion unterscheidet.
  9. Ein Mobilgerät, das Folgendes umfasst: mindestens einen Computerprozessor; ein Displaymit einer Schnittstelle zu dem mindestens einen Computerprozessor; mindestens ein Sensorgerät mit einer Schnittstelle zu dem mindestens einen Computerprozessor; Bildgebungshardware mit einer Schnittstelle zu dem mindestens einen Computerprozessor und so konfiguriert, dass sie Bildmaterial eines Raums vor dem Display aufnimmt; und ein Gehäuse, das den mindestens einen Computerprozessor, das Display, das mindestens eine Sensorgerät und die Bildgebungshardware enthält, den mindestens einen Computerprozessor, der so konfiguriert ist, dass er: eine Rotation des Mobilgeräts um eine erste Rotationsachse mindestens mithilfe von Daten identifiziert, die vom Sensorgerät erzeugt wurden; und mithilfe der Daten, die durch die Bildgebungshardware erzeugt wurden, eine Änderung bei einer Position eines Benutzers des Mobilgeräts verfolgt, während das Mobilgerät rotiert; als Reaktionauf die Rotation und die Änderung bei der Position des Benutzers eine Vielzahl verschiedener Navigationsaktionen wählt, die eine Sicht einer virtuellen Kamera in einer dreidimensionalen Umgebung ändert, die auf dem Display angezeigt wird, eine erste Navigationsaktion, die ausgewählt wird, wenn die erste Rotationsachse dem Benutzer näher ist als dem Mobilgerät, und eine zweite Navigationsaktion, die die ausgewählt wird, wenn die Rotationsachse dem Mobilgerät näher ist als dem Benutzer.
  10. Mobilgerät nach Anspruch 9, worin die erste Navigationsaktion das Schwenken der virtuellen Kamera um eine zweite Rotationsachse umfasst, wobei die zweite Rotationsachse parallel zur Bildebene ist, die von der virtuellen Kamera aufgenommen wurde, worin die zweite Rotationsachse sich zwischen der virtuellen Kamera und einem Objekt in einem Abstand von der virtuellen Kamera befindet, wobei sich die zweite Rotationsachse näher beim Objekt befindet als die virtuelle Kamera.
  11. Mobilgerät nach 10, worin die zweite Navigationsaktion das Schwenken der virtuellen Kamera um die zweite Rotationsachse beinhaltet, worin der Ort der zweiten Rotationsachse sich näher bei der virtuellen Kamera als das Objekt befindet.
  12. Mobilgerät nach Anspruch 9, worin die Bildgebungshardware so konfiguriert ist, dass sie Daten erzeugt, die eine Änderung bei der Position der Augen des Benutzers in Bezug auf das Display des Mobilgeräts angeben.
DE202013012419.9U 2012-03-21 2013-03-21 Kameraeingabe zur Bestimmung der Rotationsachse und Navigation Expired - Lifetime DE202013012419U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/426,292 US8630458B2 (en) 2012-03-21 2012-03-21 Using camera input to determine axis of rotation and navigation
US13/426,292 2012-03-21

Publications (1)

Publication Number Publication Date
DE202013012419U1 true DE202013012419U1 (de) 2016-10-20

Family

ID=49211341

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202013012419.9U Expired - Lifetime DE202013012419U1 (de) 2012-03-21 2013-03-21 Kameraeingabe zur Bestimmung der Rotationsachse und Navigation

Country Status (4)

Country Link
US (1) US8630458B2 (de)
EP (1) EP2829150B1 (de)
DE (1) DE202013012419U1 (de)
WO (1) WO2013142682A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120314899A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Natural user interfaces for mobile image viewing
EP3189400A4 (de) * 2014-09-05 2018-07-04 Ballcraft, LLC Bewegungserkennung für tragbare vorrichtungen
WO2016173599A1 (en) * 2015-04-28 2016-11-03 Cb Svendsen A/S Object image arrangement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798429B2 (en) 2001-03-29 2004-09-28 Intel Corporation Intuitive mobile device interface to virtual spaces
JP2009500042A (ja) * 2005-07-07 2009-01-08 インジーニアス・ターゲティング・ラボラトリー・インコーポレーテッド ターゲットの運動行動の3dのモニタリング及び分析のためのシステム
DE602007003849D1 (de) * 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
EP2327010A2 (de) * 2008-08-22 2011-06-01 Google, Inc. Navigation in einer dreidimensionalen umgebung auf einem mobilgerät
CN105843396B (zh) * 2010-03-05 2019-01-01 索尼电脑娱乐美国公司 在共享的稳定虚拟空间上维持多视图的方法
US8913056B2 (en) 2010-08-04 2014-12-16 Apple Inc. Three dimensional user interface effects on a display by using properties of motion
US20120314899A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Natural user interfaces for mobile image viewing

Also Published As

Publication number Publication date
US8630458B2 (en) 2014-01-14
EP2829150A4 (de) 2016-01-13
WO2013142682A1 (en) 2013-09-26
EP2829150A1 (de) 2015-01-28
US20130249894A1 (en) 2013-09-26
EP2829150B1 (de) 2018-05-09

Similar Documents

Publication Publication Date Title
EP2491530B1 (de) Bestimmung der pose einer kamera
DE202011110924U1 (de) Geführte Navigation durch mit Geo-Tags versehene Panoramen
DE202015009198U1 (de) Auswahl der zeitlich verteilten Panoramabilder für die Anzeige
DE202014010935U1 (de) Aktualisierungen von 3D-Modellen mithilfe von Crowd-Sourcing-basiertem Videomaterial
DE202017104054U1 (de) 2D-Video mit der Option für projiziertes Betrachten in einem modellierten 3D-Raum
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE112011103221T5 (de) Erweitern von Bilddaten basierend auf zugehörigen 3D-Punktwolkendaten
DE112016004730T5 (de) Videostabilisierung
DE202012013412U1 (de) Systeme für die Steuerung einer Kamera
DE112013003257T5 (de) Verbesserte Informationsübertragung durch ein transparentes Display
DE102016209625A1 (de) Verfahren zur Auswertung von Bilddaten einer Fahrzeugkamera
DE212017000258U1 (de) Visionsbasiertes Navigationssystem
DE112015005191T5 (de) Ausrichten von Panoramaaufnahmen und Luftaufnahmen
DE112019003972T5 (de) Optische bildstabilisierungsbewegung zum erstellen eines superauflösenden bildes einer szene
DE202014010903U1 (de) System für die Angabe des Benutzerstandortes und der Blickrichtung einer digitalen Karte
DE102014204820A1 (de) Dreidimensionale Fingerspitzenverfolgung
EP1854083A1 (de) Kamera zum verfolgen von objekten
DE102018115849A1 (de) Anzeigesteuersystem, Anzeigesystem, mobiler Körper, Anzeigesteuerverfahren und Speichermedium
DE102018113992A1 (de) Verfahren und Gerät zum Erfassen einer Fahrspur
DE112016004195T5 (de) Navigation durch mehrdimensionale Bildräume
DE112015003263T5 (de) Bildmodifikation
JP7393374B2 (ja) 画像を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
DE112020001255T5 (de) Tiefes neurales netzwerk mit niedrigem leistungsverbrauch zur gleichzeitigen objekterkennung und semantischen segmentation in bildern auf einem mobilen rechengerät
DE202016006008U1 (de) Automatische Erkennung von Panoramagesten
DE102020110379A1 (de) Fahrassistenzsystem, elektronische vorrichtung und betriebsverfahren dafür

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
R071 Expiry of right