-
TECHNISCHES GEBIET
-
Die vorliegende Technologie betrifft eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Programm und insbesondere eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Programm, das erweiterte Realität (Augmented Reality, AR) erzielt.
-
BISHERIGER STAND DER TECHNIK
-
In den letzten Jahren wurde die Entwicklung von Technologien, die AR nutzen, aktiv vorangetrieben (siehe beispielsweise Patentdokument 1).
-
ZITIERTE DOKUMENTE
-
PATENTDOKUMENT
-
Patentdokument 1:
Japanische Offenlegungsschrift Nr. 2017-508200
-
KURZFASSUNG DER ERFINDUNG
-
DURCH DIE ERFINDUNG ZU LÖSENDE AUFGABE
-
In der AR wird ein virtuelles Objekt, also eine virtuelle visuelle Information, so angezeigt, dass sie der realen Welt überlagert ist. Dementsprechend ist es wichtig, das virtuelle Objekt an einer geeigneten Position in der realen Welt anzuzeigen.
-
Die vorliegende Technologie wurde im Hinblick auf eine solche Situation entwickelt und ermöglicht es, ein virtuelles Objekt an einer geeigneten Position in der realen Welt anzuzeigen.
-
MITTEL ZUM LÖSEN DER AUFGABE
-
Eine Informationsverarbeitungsvorrichtung gemäß einem Aspekt der vorliegenden Technologie weist auf: eine Positionsschätzeinheit, die eine aktuelle Position in einem ersten Koordinatensystem schätzt; eine Anzeigeposition-Einstellungseinheit, die eine Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank einstellt, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten; eine Metainformationen-Erzeugungseinheit, die Beobachtungs-Metainformationen erzeugt, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und eine Umgebungsdatenbank-Verwaltungseinheit, die Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und die Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank vergleicht, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
-
Ein Informationsverarbeitungsverfahren gemäß einem Aspekt der vorliegenden Technologie beinhaltet: durch eine Informationsverarbeitungsvorrichtung, Schätzen einer aktuellen Position in einem ersten Koordinatensystem; Einstellen einer Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten; Erzeugen von Beobachtungs-Metainformationen, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und Vergleichen von Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und der Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
-
Ein Programm gemäß einem Aspekt der vorliegenden Technologie veranlasst einen Computer, die folgende Verarbeitung durchzuführen: Schätzen einer aktuellen Position in einem ersten Koordinatensystem; Einstellen einer Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten; Erzeugen von Beobachtungs-Metainformationen, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und Vergleichen von Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und der Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
-
In einem Aspekt der vorliegenden Technologie wird eine aktuelle Position in einem ersten Koordinatensystem geschätzt, wird eine Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank festgelegt, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei die Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten, werden Beobachtungs-Metainformationen, d. h. Metainformationen, die dem beobachteten Bild entsprechen, erzeugt und werden Beobachtungsdaten, die das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und die Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank verglichen, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
-
EFFEKTE DER ERFINDUNG
-
Gemäß einem Aspekt der vorliegenden Technologie kann ein virtuelles Objekt an einer geeigneten Position in der realen Welt angezeigt werden.
-
Es ist zu beachten, dass der hier beschriebene Effekt nicht notwendigerweise begrenzt ist und jeder der in der vorliegenden Offenbarung beschriebenen Effekte sein kann.
-
Figurenliste
-
- 1 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems einer ersten Ausführungsform der vorliegenden Technologie zeigt.
- 2 ist ein Blockschaltbild, das ein Konfigurationsbeispiel des Informationsverarbeitungssystems der ersten Ausführungsform der vorliegenden Technologie zeigt.
- 3 ist ein Flussdiagramm zum Beschreiben der Verarbeitung zur Datenerzeugung.
- 4 ist ein Flussdiagramm zum Beschreiben der Verarbeitung zur Anzeige virtueller Objekte.
- 5 ist ein Flussdiagramm zum Beschreiben der Verarbeitung zum Einfügen von Umgebungsdaten.
- 6 ist ein Flussdiagramm zum Beschreiben der Verarbeitung zum Löschen von Umgebungsdaten.
- 7 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems einer zweiten Ausführungsform der vorliegenden Technologie zeigt.
- 8 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems einer dritten Ausführungsform der vorliegenden Technologie zeigt.
- 9 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems einer vierten Ausführungsform der vorliegenden Technologie zeigt.
- 10 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems einer fünften Ausführungsform der vorliegenden Technologie zeigt.
- 11 ist ein Diagramm, das ein Beispiel der Umgebungsdaten zeigt.
- 12 ist ein Diagramm, das ein Beispiel eines virtuellen Objekts zeigt.
- 13 ist ein Diagramm, das ein Beispiel für einen Bestätigungsbildschirm für die Zustimmung zum Übertragen von Messergebnissen zeigt.
- 14 ist ein Diagramm, das ein Beispiel eines Bildschirms zum Einstellen eines Bereichs zur Erfassung von Umgebungsdaten und Informationen virtueller Objekte zeigt.
- 15 ist ein Diagramm, das ein Beispiel eines Bildschirms zum Einstellen eines Bereichs zur Erfassung von Umgebungsdaten und Informationen virtueller Objekte zeigt.
- 16 ist ein Diagramm, das ein Beispiel eines Bildschirms zum Einstellen eines Bereichs zur Erfassung von Umgebungsdaten und Informationen virtueller Objekte zeigt.
-
ARTEN DER AUSFÜHRUNG DER ERFINDUNG
-
Nachfolgend werden Arten der Ausführung der vorliegenden Technologie beschrieben. Die Beschreibung wird in der folgenden Reihenfolge gegeben.
- 1. Erste Ausführungsform
- 2. Zweite Ausführungsform
- 3. Dritte Ausführungsform
- 4. Vierte Ausführungsform
- 5. Fünfte Ausführungsform
- 6. Modifikation
- 7. Andere
-
«1. Erste Ausführungsform»
-
Zunächst wird eine erste Ausführungsform der vorliegenden Technologie unter Bezugnahme auf 1 bis 6 beschrieben.
-
<Konfigurationsbeispiel des Informationsverarbeitungssystems 1>
-
1 ist ein Blockschaltbild, das ein Konfigurationsbeispiel eines Informationsverarbeitungssystems 1 zeigt, auf das die vorliegende Technologie angewandt wird.
-
Das Informationsverarbeitungssystem 1 ist ein System, das eine Umgebungsdatenbank (DB) sowie Informationen virtueller Objekte erzeugt, die von einem Informationsverarbeitungssystem 101, das an späterer Stelle beschrieben wird, genutzt werden.
-
Die Umgebungs-DB ist hier eine Datenbank, die vom Informationsverarbeitungssystem 101 verwendet wird, um seine aktuelle Position (Eigenposition) zu schätzen. Informationen virtueller Objekte sind Informationen, die vom Informationsverarbeitungssystem 101 verwendet werden, um ein virtuelles Objekt anzuzeigen.
-
Das Informationsverarbeitungssystem 1 weist eine Datenerfassungseinheit 11, eine Informationsverarbeitungseinheit 12, eine Umgebungs-DB-Speichereinheit 13 und eine Speichereinheit für Informationen virtueller Objekte 14 auf.
-
Die Datenerfassungseinheit 11 erfasst Daten, die zum Erzeugen der Umgebungs-DB und der Informationen virtueller Objekte verwendet werden. Die Datenerfassungseinheit 11 weist eine Bilderfassungseinheit 21 und eine Sensoreinheit 22 auf.
-
Die Bilderfassungseinheit 21 weist eine Kamera auf und liefert ein Bild (im Folgenden Referenzbild genannt), das durch Aufnehmen der Umgebung gewonnen wurde, an eine Bildverarbeitungseinheit 31 der Informationsverarbeitungseinheit 12. Ein Referenzbild ist ein Bild, auf das in der Verarbeitung zur Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 Bezug genommen wird, die an späterer Stelle beschrieben wird. Zusätzlich liefert die Bilderfassungseinheit 21 Parameter zum Erfassen des Referenzbildes (im Folgenden Bilderfassungsparameter genannt) an eine Metainformationen-Erzeugungseinheit 32 der Informationsverarbeitungseinheit 12.
-
Es ist zu beachten, dass die Bilderfassungseinheit 21 mehrere Kameras aufweisen kann.
-
Die Sensoreinheit 22 weist verschiedene Sensoren auf, die zum Erzeugen einer Umgebungs-DB verwendet werden, etwa eine Trägheitsmesseinheit (Inertial Measurement Unit, IMU), einen Empfänger des globalen Satellitennavigationssystems (Global Navigation Satellite System, GNSS) und einen Geomagnetsensor. Die Sensoreinheit 22 liefert Daten, die das Erfassungsergebnis jedes Sensors anzeigen (im Folgenden Sensordaten genannt), an die Bildverarbeitungseinheit 31 und die Metainformationen-Erzeugungseinheit 32 der Informationsverarbeitungseinheit 12.
-
Die Informationsverarbeitungseinheit 12 erzeugt die Umgebungs-DB und die Informationen virtueller Objekte basierend auf dem Referenzbild und den Sensordaten. Die Informationsverarbeitungseinheit 12 weist die Bildverarbeitungseinheit 31, die Metainformationen-Erzeugungseinheit 32, eine Umgebungs-DB-Erzeugungseinheit 33 und eine Erzeugungseinheit für Informationen virtueller Objekte 34 auf.
-
Die Bildverarbeitungseinheit 31 schätzt die Bilderfassungsposition jedes Referenzbildes angeben, und erzeugt Punktwolkendaten basierend auf jedem Referenzbild. Die Bildverarbeitungseinheit 31 liefert Daten, die die Bilderfassungsposition jedes Referenzbildes an die Metainformationen-Erzeugungseinheit 32, liefert jedes Referenzbild an die Umgebungs-DB-Erzeugungseinheit 33 und liefert Punktwolkendaten an die Erzeugungseinheit für Informationen virtueller Objekte 34.
-
Zusätzlich führt die Bildverarbeitungseinheit 31 eine Verarbeitung zur Objekterkennung an jedem Referenzbild durch und liefert Daten, die das Erkennungsergebnis anzeigen (im Folgenden als Objekterkennungsdaten bezeichnet), an die Metainformationen-Erzeugungseinheit 32.
-
Die Metainformationen-Erzeugungseinheit 32 erzeugt für jedes Referenzbild Metainformationen (im Folgenden als Referenz-Metainformationen bezeichnet), die Bilderfassungsparameter, Sensordaten, Objekterkennungsdaten, Bilderfassungsposition sowie Bilderfassungsdatum und -uhrzeit entsprechend jedem Referenzbild beinhalten. Die Metainformationen-Erzeugungseinheit 32 liefert die Referenz-Metainformationen, die jedem Referenzbild entsprechen, an die Umgebungs-DB-Erzeugungseinheit 33.
-
Die Umgebungs-DB-Erzeugungseinheit 33 erzeugt eine Umgebungs-DB basierend auf dem Referenzbild und den Referenz-Metainformationen und speichert die Umgebungs-DB in der Umgebungs-DB-Speichereinheit 13.
-
Die Erzeugungseinheit für Informationen virtueller Objekte 34 erzeugt Informationen virtueller Objekte basierend auf Punktwolkendaten und dergleichen und speichert die Informationen virtueller Objekte in der Speichereinheit für Informationen virtueller Objekte 14.
-
<Konfigurationsbeispiel des Informationsverarbeitungssystems 101>
-
1 ist ein Blockschaltbild, das ein Konfigurationsbeispiel des Informationsverarbeitungssystems 101 zeigt, auf das die vorliegende Technologie angewandt wird.
-
Das Informationsverarbeitungssystem 101 ist ein System, das AR implementiert. Beispielsweise wird das Informationsverarbeitungssystem 101 an einem sich bewegenden Körper bereitgestellt, oder während sich das Informationsverarbeitungssystem 101 selbstständig bewegt, zeigt das Informationsverarbeitungssystem 101 ein virtuelles Objekt an, um das virtuelle Objekt der realen Welt oder einem Bild der realen Welt im Sichtfeld des Benutzers des Informationsverarbeitungssystems 101 zu überlagern. Das Informationsverarbeitungssystem 101 weist eine Datenerfassungseinheit 111, eine Informationsverarbeitungseinheit 112 und eine Anzeigeeinheit 113 auf.
-
Es ist zu beachten, dass es sich bei dem mobilen Körper, der mit dem Informationsverarbeitungssystem 101 ausgestattet ist, um einen vom Benutzer gefahrenen mobilen Körper, etwa ein Fahrzeug, oder um den Benutzer selbst handeln kann. Wenn zum Beispiel das Informationsverarbeitungssystem 101 eine am Körper tragbare Vorrichtung bildet, ist der Benutzer, der das Informationsverarbeitungssystem 101 trägt, der mobile Körper.
-
Außerdem handelt es sich bei dem virtuellen Objekt um virtuelle visuelle Informationen zum Erweitern der realen Welt, und der Inhalt ist nicht speziell beschränkt.
-
Die Datenerfassungseinheit 111 erfasst Daten, die zum Schätzen der aktuellen Position des Informationsverarbeitungssystems 101 sowie zum Aktualisieren der Umgebungs-DB und der Informationen virtueller Objekte verwendet werden. Die Datenerfassungseinheit 111 weist eine Bilderfassungseinheit 121 und eine Sensoreinheit 122 auf.
-
Die Bilderfassungseinheit 121 weist eine Kamera auf, bildet die Umgebung ab und liefert ein durch die Bilderfassung gewonnenes Bild (im Folgenden als beobachtetes Bild bezeichnet) an eine Bildverarbeitungseinheit 131, eine Anzeigeposition-Einstellungseinheit 133 und eine Umgebungs-DB-Verwaltungseinheit 135 der Informationsverarbeitungseinheit 112. Die Bilderfassungseinheit 121 liefert Parameter (Bilderfassungsparameter)in Bezug auf die Erfassung des beobachteten Bildes an eine Metainformationen-Erzeugungseinheit 134.
-
Es ist zu beachten, dass die Bilderfassungseinheit 121 mehrere Kameras aufweisen kann.
-
Die Sensoreinheit 122 weist verschiedene Sensoren auf, die zum Schätzen der aktuellen Position des Informationsverarbeitungssystems 101 und zum Aktualisieren der Umgebungs-DB verwendet werden, etwa eine IMU, einen GNSS-Empfänger und einen Geomagnetsensor. Die Sensoreinheit 122 liefert Sensordaten, die das Erfassungsergebnis jedes Sensors anzeigen, an eine Positionsschätzeinheit 132 und die Metainformationen-Erzeugungseinheit 134 der Informationsverarbeitungseinheit 112.
-
Die Bildverarbeitungseinheit 131 führt eine Verarbeitung zur Objekterkennung an dem beobachteten Bild durch und liefert Daten, die das Erkennungsergebnis anzeigen (im Folgenden als Objekterkennungsdaten bezeichnet), an die Metainformationen-Erzeugungseinheit 134.
-
Die Positionsschätzeinheit 132 schätzt die aktuelle Position des Informationsverarbeitungssystems 101 basierend auf den Sensordaten und liefert Daten, die das Schätzergebnis anzeigen, an die Anzeigeposition-Einstellungseinheit 133.
-
Die Anzeigeposition-Einstellungseinheit 133 stellt die Anzeigeposition des virtuellen Objekts basierend auf dem Schätzergebnis der aktuellen Position des Informationsverarbeitungssystems 101, dem beobachteten Bild, der Umgebungs-DB und den Informationen virtueller Objekte ein. Die Anzeigeposition-Einstellungseinheit 133 liefert Daten, die die Anzeigeposition des virtuellen Objekts anzeigen, an eine Wiedergabeeinheit für virtuelle Objekte 139. Zusätzlich liefert die Anzeigeposition-Einstellungseinheit 133 an die Metainformationen-Erzeugungseinheit 134 Daten, die die Bilderfassungsposition des beobachteten Bildes angeben, die im Zuge der Einstellung der Anzeigeposition des virtuellen Objekts erhalten wurde. Außerdem fügt die Anzeigeposition-Einstellungseinheit 133 ein Referenzdatum und eine Referenzzeit, die das referenzierte Datum und die referenzierte Uhrzeit angeben, den Umgebungsdaten der Umgebungs-DB, die zum Einstellen der Anzeigeposition des virtuellen Objekts referenziert wird, hinzu.
-
Die Metainformationen-Erzeugungseinheit 134 erzeugt Metainformationen (im Folgenden Beobachtungs-Metainformationen genannt), die dem beobachteten Bild entsprechen, basierend auf Bilderfassungsparametern, Sensordaten, Objekterkennungsdaten, der Bilderfassungsposition des beobachteten Bildes und dergleichen, und liefert die Metainformationen an die Umgebungs-DB-Verwaltungseinheit 135.
-
Die Umgebungs-DB-Verwaltungseinheit 135 aktualisiert die Umgebungs-DB, die in einer Umgebungs-DB-Speichereinheit 136 gespeichert ist, basierend auf dem beobachteten Bild und den Beobachtungs-Metainformationen.
-
Die Umgebungs-DB-Speichereinheit 136 speichert die Umgebungs-DB, die vom Informationsverarbeitungssystem 1 erzeugt wird. Die in der Umgebungs-DB-Speichereinheit 136 gespeicherte Umgebungs-DB wird in geeigneter Weise durch die Anzeigeposition-Einstellungseinheit 133 und die Umgebungs-DB-Verwaltungseinheit 135 aktualisiert.
-
Eine Verwaltungseinheit für Informationen virtueller Objekte 137 aktualisiert Informationen virtueller Objekte, die in einer Speichereinheit für Informationen virtueller Objekte 138 gespeichert sind, basierend auf einer Umgebungs-DB oder dergleichen, die in der Umgebungs-DB-Speichereinheit 136 gespeichert ist.
-
Die Speichereinheit für Informationen virtueller Objekte 138 speichert Informationen virtueller Objekte, die vom Informationsverarbeitungssystem 1 erzeugt werden. Die Informationen virtueller Objekte, die in der Speichereinheit für Informationen virtueller Objekte 138 gespeichert sind, werden in geeigneter Weise durch die Verwaltungseinheit für Informationen virtueller Objekte 137 aktualisiert.
-
Die Wiedergabeeinheit für virtuelle Objekte 139 erzeugt Bilddaten zum Anzeigen des virtuellen Objekts an der Anzeigeposition, die durch die Anzeigeposition-Einstellungseinheit 133 eingestellt wurde, basierend auf den Informationen virtueller Objekte, die in der Speichereinheit für Informationen virtueller Objekte 138 gespeichert sind, und liefert die Bilddaten an die Anzeigeeinheit 113.
-
Die Anzeigeeinheit 113 zeigt das virtuelle Objekt basierend auf den Bilddaten an der Anzeigeposition an, die von der Anzeigeposition-Einstellungseinheit 133 eingestellt wurde.
-
<Verarbeitung zur Datenerzeugung>
-
Als Nächstes wird eine Verarbeitung zur Datenerzeugung, die vom Informationsverarbeitungssystem 1 durchgeführt wird, unter Bezugnahme auf das Flussdiagramm in 3 beschrieben.
-
Diese Verarbeitung wird beispielsweise gestartet, wenn das Informationsverarbeitungssystem 1 einen Befehl erhält, die Umgebungs-DB und Informationen virtueller Objekte zu erzeugen.
-
In Schritt S1 erfasst die Datenerfassungseinheit 11 umfassend Referenzbilder und Sensordaten.
-
Beispielsweise bildet die Bilderfassungseinheit 21 das Innere eines Raums als Ziel für die Anzeige des virtuellen Objekts (im Folgenden als Anzeigezielraum bezeichnet) umfassend ab und liefert die erhaltenen mehreren Referenzbilder an die Bildverarbeitungseinheit 31. Zusätzlich liefert die Bilderfassungseinheit 21 Bilderfassungsparameter, die die Bilderfassungsbedingungen und dergleichen jedes Referenzbildes angeben, an die Metainformationen-Erzeugungseinheit 32.
-
Zu den Bilderfassungsparametern gehören beispielsweise Verschlusszeit, Weißabgleichswert, F-Wert, ISO-Wert und dergleichen.
-
Zusätzlich erfasst jeder Sensor der Sensoreinheit 22 zusammen mit jedem Referenzbild Sensordaten, indem er zum Zeitpunkt der Aufnahme und vor und nach der Aufnahme jedes Referenzbildes eine Erkennungsverarbeitung durchführt, und liefert die erfassten Sensordaten an die Bildverarbeitungseinheit 31 und die Metainformationen-Erzeugungseinheit 32.
-
Zu den Sensordaten gehören z. B. Beschleunigung, Winkelgeschwindigkeit, Geomagnetismus, GNSS-Signale, Funkfeldstärke verschiedener Signale (z. B. Wi-Fi-Signale, Bluetooth (eingetragenes Warenzeichen)-Signale und Beacon-Signale) und dergleichen.
-
In Schritt S2 führt die Bildverarbeitungseinheit 31 eine Bildverarbeitung durch.
-
Beispielsweise schätzt die Bildverarbeitungseinheit 31 die Bilderfassungsposition jedes Referenzbildes, indem sie eine SfM/MVS-Verarbeitung (Structure from Motion/Multi-View Stereo, Struktur aus Bewegung/multiperspektivisches Stereo) an einer Referenzbildgruppe durchführt und außerdem Punktwolkendaten erzeugt, die ein 3D-Modell des Anzeigezielbereichs darstellen.
-
Die Bilderfassungsposition eines Referenzbildes wird beispielsweise durch die Position und Orientierung einer Vorrichtung (z. B. Kamera), die das Referenzbild aufnimmt, im 3D-Koordinatensystem (Weltkoordinatensystem) der realen Welt zum Zeitpunkt der Aufnahme repräsentiert. Zusätzlich wird die Position jedes Punktes in den Punktwolkendaten beispielsweise durch die Koordinaten des 3D-Koordinatensystems dargestellt.
-
Zusätzlich erfasst die Bildverarbeitungseinheit 31 Daten, die sich auf Objekte in jedem Referenzbild beziehen, indem sie eine Verarbeitung zur Objekterkennung an jedem Referenzbild durchführt. Beispielsweise führt die Bildverarbeitungseinheit 31 an jedem Referenzbild eine semantische Segmentierung durch, um die Arten von Objekten (z. B. Person, Gebäude, Auto, Pflanze und dergleichen) in jedem Referenzbild sowie den prozentualen Anteil der von jeder Objektart eingenommenen Fläche zu bestimmen.
-
Die Bildverarbeitungseinheit 31 liefert an die Metainformationen-Erzeugungseinheit 32 Daten, die die Bilderfassungsposition jedes Referenzbildes angeben, und Daten (Objekterkennungsdaten), die die Arten von Objekten in jedem Referenzbild und den prozentualen Anteil der von jeder Objektart eingenommenen Fläche enthalten. Zusätzlich liefert die Bildverarbeitungseinheit 31 Punktwolkendaten an die Erzeugungseinheit für Informationen virtueller Objekte 34. Weiterhin liefert die Bildverarbeitungseinheit 31 jedes Referenzbild an die Umgebungs-DB-Erzeugungseinheit 33.
-
In Schritt S3 erzeugt die Metainformationen-Erzeugungseinheit 32 Metainformationen. Konkret erzeugt die Metainformationen-Erzeugungseinheit 32 für jedes Referenzbild Referenz-Metainformationen mit Bilderfassungsparametern, Objekterkennungsdaten, Bilderfassungsposition, Bilderfassungsdatum und -uhrzeit, die jedem Referenzbild entsprechen, sowie Sensordaten, die zusammen mit jedem Referenzbild erfasst wurden. Die Metainformationen-Erzeugungseinheit 32 liefert die Referenz-Metainformationen, die jedem Referenzbild entsprechen, an die Umgebungs-DB-Erzeugungseinheit 33.
-
In Schritt S4 erzeugt die Umgebungs-DB-Erzeugungseinheit 33 eine Umgebungs-DB. Konkret erzeugt die Umgebungs-DB-Erzeugungseinheit 33 für jedes Referenzbild Umgebungsdaten, die das Referenzbild und Referenz-Metainformationen, die dem Referenzbild entsprechen, enthalten. Anschließend erzeugt die Umgebungs-DB-Erzeugungseinheit 33 eine Umgebungs-DB, die die Umgebungsdaten enthält, die jedem Referenzbild entsprechen, und speichert die Umgebungs-DB in der Umgebungs-DB-Speichereinheit 13.
-
In Schritt S5 erzeugt die Erzeugungseinheit für Informationen virtueller Objekte 34 Informationen virtueller Objekte. Konkret legt die Erzeugungseinheit für Informationen virtueller Objekte 34 den Inhalt und die Position der Anzeige des virtuellen Objekts in den Punktwolkendaten fest.
-
Es ist zu beachten, dass die Anzeigeposition und der Inhalt der Anzeige des virtuellen Objekts vom Benutzer eingestellt werden können oder automatisch beispielsweise durch die Erzeugungseinheit für Informationen virtueller Objekte 34 eingestellt werden. Zusätzlich wird die Anzeigeposition jedes virtuellen Objekts durch dessen Position und Orientierung (Richtung) in den Punktwolkendaten dargestellt, d. h. durch dessen Position und Orientierung im 3D-Koordinatensystem.
-
Anschließend erzeugt die Erzeugungseinheit für Informationen virtueller Objekte 34 Informationen virtueller Objekte einschließlich Punktwolkendaten und Anzeigeposition sowie Inhalt der Anzeige jedes virtuellen Objekts und speichert die Informationen virtueller Objekte in der Speichereinheit für Informationen virtueller Objekte 14.
-
Danach endet die Verarbeitung zur Datenerzeugung.
-
<Verarbeitung zur Anzeige virtueller Objekte>
-
Als Nächstes wird eine Verarbeitung zur Anzeige virtueller Objekte, die vom Informationsverarbeitungssystem 101 durchgeführt wird unter Bezugnahme auf das Flussdiagramm in 4 beschrieben.
-
Diese Verarbeitung wird beispielsweise gestartet, wenn das Informationsverarbeitungssystem 101 den Befehl erhält, die Anzeige des virtuellen Objekts zu starten, und endet, wenn das Informationsverarbeitungssystem 101 den Befehl erhält, die Anzeige des virtuellen Objekts zu beenden.
-
In Schritt S101 erfasst die Datenerfassungseinheit 111 ein beobachtetes Bild und Sensordaten.
-
Konkret bildet die Bilderfassungseinheit 121 die Umgebung ab und liefert das erhaltene beobachtete Bild an die Bildverarbeitungseinheit 131, die Anzeigeposition-Einstellungseinheit 133 und die Umgebungs-DB-Verwaltungseinheit 135. Zusätzlich liefert die Bilderfassungseinheit 121 Bilderfassungsparameter, die die Bilderfassungsbedingungen und dergleichen des beobachteten Bildes angeben, an die Metainformationen-Erzeugungseinheit 134.
-
Es ist zu beachten, dass die Arten der Bilderfassungsparameter des beobachteten Bildes die gleichen sind wie die Arten von Bilderfassungsparametern des Referenzbildes.
-
Zusätzlich erfasst jeder Sensor der Sensoreinheit 122 Sensordaten zusammen mit dem beobachteten Bild, indem er eine Erkennungsverarbeitung zum Zeitpunkt der Aufnahme des beobachteten Bildes sowie vor und nach der Aufnahme durchführt. Die Sensoreinheit 122 liefert die erfassten Sensordaten an die Positionsschätzeinheit 132 und die Metainformationen-Erzeugungseinheit 134.
-
Es ist zu beachten, dass die Art der Sensordaten, die zusammen mit dem beobachteten Bild erfasst werden, dieselbe ist wie die Art von Sensordaten, die zusammen mit dem Referenzbild erfasst werden.
-
In Schritt S102 schätzt die Positionsschätzeinheit 132 die aktuelle Position. Beispielsweise schätzt die Positionsschätzeinheit 132 die aktuelle Position des Informationsverarbeitungssystems 101 mit Hilfe eines vorbestimmten Verfahrens zur Eigenpositionsschätzung (z. B., simultane Lokalisierung und Abbildung (Simultaneous Localization And Mapping, SLAM)) basierend auf den Sensordaten. Die aktuelle Position des Informationsverarbeitungssystems 101 wird beispielsweise durch die Position und Orientierung eines vorbestimmten Abschnitts des Informationsverarbeitungssystems 101 im Eigenpositions-Koordinatensystem dargestellt. Es ist zu beachten, dass das Eigenpositions-Koordinatensystem ein anderes Koordinatensystem als das 3D-Koordinatensystem ist.
-
Da die Position der Bilderfassungseinheit 121 im Informationsverarbeitungssystem 101 bekannt ist, berechnet die Positionsschätzeinheit 132 zusätzlich die Bilderfassungsposition des beobachteten Bildes im Eigenpositions-Koordinatensystem basierend auf der aktuellen Position des Informationsverarbeitungssystems 101.
-
Es ist zu beachten, dass die Bilderfassungsposition eines beobachteten Bildes hier beispielsweise durch die Position und Orientierung einer Vorrichtung (z. B. Kamera) repräsentiert wird, die das beobachtete Bild im Eigenpositions-Koordinatensystem zum Zeitpunkt der Bildaufnahme aufnimmt.
-
In Schritt S103 erfasst die Anzeigeposition-Einstellungseinheit 133 die Umgebungsdaten, auf die verwiesen werden soll. Beispielsweise erfasst die Anzeigeposition-Einstellungseinheit 133 aus der Umgebungs-DB Umgebungsdaten, die einem Referenzbild entsprechen, wofür die Differenz zur Bilderfassungsposition des beobachteten Bildes innerhalb eines vorbestimmten Bereichs liegt (aufgenommen nahe der Bilderfassungsposition des beobachteten Bildes). Zu diesem Zeitpunkt kann die Anzeigeposition-Einstellungseinheit 133 eine Mehrzahl von Umgebungsdaten erfassen.
-
In Schritt S104 berechnet die Anzeigeposition-Einstellungseinheit 133 die Bildähnlichkeit zwischen dem beobachteten Bild und dem Referenzbild jedes Teils der Umgebungsdaten. Beispielsweise extrahiert die Anzeigeposition-Einstellungseinheit 133 Merkmalspunkte des beobachteten Bildes und des Referenzbildes jedes Teils der Umgebungsdaten. Dann berechnet die Anzeigeposition-Einstellungseinheit 133 die Bildähnlichkeit zwischen dem beobachteten Bild und jedem Referenzbild, indem sie Merkmalspunkte des beobachteten Bildes mit Merkmalspunkten jedes Referenzbildes vergleicht.
-
Es ist zu beachten, dass die Bildähnlichkeit beispielsweise basierend auf dem Reprojektionsfehler zwischen korrespondierenden Merkmalspunkten, der Anzahl gemeinsamer Merkmalspunkte und der Differenz im Gesamtwert der Merkmalsbeträge von Merkmalspunkten im beobachteten Bild und im Referenzbild berechnet wird. Beispielsweise wird durch Gewichtung und Addition der obigen Datenwerte die Bildähnlichkeit als ein skalarer Wert berechnet.
-
In Schritt S105 bestimmt die Anzeigeposition-Einstellungseinheit 133, ob es ein Referenzbild gibt, dessen Bildähnlichkeit gleich oder größer als ein vorbestimmter Schwellenwert ist, oder nicht. Wenn bestimmt wird, dass es ein Referenzbild gibt, dessen Bildähnlichkeit gleich oder größer als der vorbestimmte Schwellenwert ist, wird die Verarbeitung mit Schritt S106 fortgesetzt.
-
In Schritt S106 führt die Anzeigeposition-Einstellungseinheit 133 eine Koordinatenumrechnung der aktuellen Position basierend auf dem Referenzbild durch.
-
Konkret ermittelt die Anzeigeposition-Einstellungseinheit 133 die relative Beziehung zwischen den Bilderfassungspositionen des beobachteten Bildes und eines Referenzbildes, das die maximale Bildähnlichkeit mit dem beobachteten Bild aufweist, basierend auf der relativen Beziehung zwischen Positionen gemeinsamer Merkmalspunkte des beobachteten Bildes und des Referenzbildes, das die maximale Bildähnlichkeit mit dem beobachteten Bild aufweist. Als nächstes berechnet die Anzeigeposition-Einstellungseinheit 133 die Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem basierend auf der erhaltenen relativen Beziehung. Als nächstes ermittelt die Anzeigeposition-Einstellungseinheit 133 basierend auf dem beobachteten Bild und der Bilderfassungsposition im Eigenpositions-Koordinatensystem und der Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem die relative Beziehung zwischen den beiden Koordinatensystemen. Anschließend rechnet die Anzeigeposition-Einstellungseinheit 133 die aktuelle Position im Eigenpositions-Koordinatensystem des Informationsverarbeitungssystems 101 in die aktuelle Position im 3D-Koordinatensystem um, basierend auf der relativen Beziehung zwischen den beiden Koordinatensystemen.
-
Die Anzeigeposition-Einstellungseinheit 133 liefert Daten, die die Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem angeben, an die Metainformationen-Erzeugungseinheit 134. Zusätzlich fügt die Anzeigeposition-Einstellungseinheit 133 das/die aktuelle Datum und Uhrzeit als Referenzdatum und -uhrzeit in die Umgebungsdaten, die für die Koordinatenumrechnung der aktuellen Position verwendet werden, unter den in der Umgebungs-DB-Speichereinheit 136 gespeicherten Umgebungsdaten ein.
-
Danach wird die Verarbeitung mit Schritt S108 fortgesetzt.
-
Wenn andererseits in Schritt S105 bestimmt wird, dass es kein Referenzbild gibt, dessen Bildähnlichkeit gleich oder größer als der vorbestimmte Schwellenwert ist, wird die Verarbeitung mit Schritt S107 fortgesetzt.
-
In Schritt S107 führt die Anzeigeposition-Einstellungseinheit 133 eine Koordinatenumrechnung der aktuellen Position basierend auf dem Betrag einer Bewegung seit der letzten Schätzung der aktuellen Position durch. Beispielsweise bezieht die Anzeigeposition-Einstellungseinheit 133 von der Positionsschätzeinheit 132 Daten, die die Differenz zwischen dem Ergebnis dieser Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 im Eigenpositions-Koordinatensystem und dem Ergebnis der letzten Schätzung der aktuellen Position im Eigenpositions-Koordinatensystem angeben. Diese Differenzdaten zeigen den Betrag der Bewegung des Informationsverarbeitungssystems 101 seit dem Zeitpunkt der letzten Schätzung der aktuellen Position. Die Anzeigeposition-Einstellungseinheit 133 berechnet die aktuelle Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem basierend auf dem Ergebnis der letzten Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem und den erfassten Differenzdaten.
-
Da Position und Orientierung der Bilderfassungseinheit 121 im Informationsverarbeitungssystem 101 bekannt sind, berechnet die Anzeigeposition-Einstellungseinheit 133 zusätzlich die Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem basierend auf der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem. Die Anzeigeposition-Einstellungseinheit 133 liefert Daten, die die Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem angeben, an die Metainformationen-Erzeugungseinheit 134.
-
Danach wird die Verarbeitung mit Schritt S108 fortgesetzt.
-
In Schritt S108 bestimmt die Anzeigeposition-Einstellungseinheit 133, ob ein anzuzeigendes virtuelles Objekt vorhanden ist oder nicht. Beispielsweise berechnet die Anzeigeposition-Einstellungseinheit 133 den Gesichtsfeldbereich des Benutzers im 3D-Koordinatensystem basierend auf der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem. Als nächstes sucht die Anzeigeposition-Einstellungseinheit 133 nach einem virtuellen Objekt, dessen Anzeigeposition innerhalb des Gesichtsfeldbereichs des Benutzers liegt, anhand der Informationen virtueller Objekte, die in der Speichereinheit für Informationen virtueller Objekte 138 gespeichert sind. Wenn dann die Anzeigeposition-Einstellungseinheit 133 ein virtuelles Objekt findet, dessen Anzeigeposition innerhalb des Gesichtsfeldbereichs des Benutzers liegt, bestimmt die Anzeigeposition-Einstellungseinheit 133, dass ein anzuzeigendes virtuelles Objekt vorhanden ist, und die Verarbeitung wird mit Schritt S109 fortgesetzt.
-
In Schritt S109 stellt die Anzeigeposition-Einstellungseinheit 133 die Anzeigeposition des virtuellen Objekts ein. Beispielsweise berechnet die Anzeigeposition-Einstellungseinheit 133 die Anzeigeposition des virtuellen Objekts im Anzeigekoordinatensystem der Anzeigeeinheit 113 basierend auf dem Gesichtsfeldbereich des Benutzers und der Anzeigeposition des virtuellen Objekts im 3D-Koordinatensystem. Die Anzeigeposition-Einstellungseinheit 133 liefert Daten, die die Anzeigeposition des virtuellen Objekts im Anzeigekoordinatensystem anzeigen, an die Wiedergabeeinheit für virtuelle Objekte 139.
-
In Schritt S110 zeigt das Informationsverarbeitungssystem 101 das virtuelle Objekt an. Konkret erzeugt die Wiedergabeeinheit für virtuelle Objekte 139 Bilddaten, um das anzuzeigende Objekt an einer eingestellten Anzeigeposition anzuzeigen. Die Wiedergabeeinheit für virtuelle Objekte 139 liefert die erzeugten Bilddaten an die Anzeigeeinheit 113.
-
Die Anzeigeeinheit 113 zeigt ein virtuelles Objekt basierend auf den erfassten Bilddaten an einer eingestellten Anzeigeposition an. Als Ergebnis wird das virtuelle Objekt an einer geeigneten Position in der realen Welt innerhalb des Gesichtsfelds des Benutzers angezeigt.
-
Danach wird die Verarbeitung mit Schritt S111 fortgesetzt.
-
Wenn andererseits in Schritt S108 die Anzeigeposition-Einstellungseinheit 133 kein virtuelles Objekt findet, dessen Anzeigeposition innerhalb des Gesichtsfeldbereichs des Benutzers liegt, bestimmt die Anzeigeposition-Einstellungseinheit 133, dass kein anzuzeigendes virtuelles Objekt vorhanden ist, die Verarbeitung in Schritt S109 und S110 wird übersprungen und die Verarbeitung wird mit Schritt S111 fortgesetzt.
-
In Schritt S111 führt die Informationsverarbeitungseinheit 112 eine Verarbeitung zum Einfügen von Umgebungsdaten durch, anschließend wird die Verarbeitung wieder auf Schritt S101 zurückgesetzt, und die Verarbeitung nach Schritt S101 wird durchgeführt.
-
Hier werden nun Einzelheiten der Verarbeitung zum Einfügen von Umgebungsdaten unter Bezugnahme auf das Flussdiagramm in 5 beschrieben.
-
In Schritt S151 erzeugt die Informationsverarbeitungseinheit 112 Metainformationen.
-
Konkret erfasst die Bildverarbeitungseinheit 131 Daten, die sich auf Objekte im beobachteten Bild beziehen, indem sie eine Verarbeitung zur Objekterkennung an dem beobachteten Bild durchführt. Beispielsweise erkennt die Bildverarbeitungseinheit 131 die Arten von Objekten im beobachteten Bild und den prozentualen Anteil der von jeder Objektart eingenommenen Fläche, indem sie eine semantische Segmentierung des beobachteten Bildes durchführt. Die Bildverarbeitungseinheit 131 liefert an die Metainformationen-Erzeugungseinheit 134 Objekterkennungsdaten, die die Arten von Objekten in dem beobachteten Bild und den prozentualen Anteil der von jeder Objektart eingenommenen Fläche enthalten.
-
Die Metainformationen-Erzeugungseinheit 134 erzeugt Beobachtungs-Metainformationen einschließlich Bilderfassungsparametern, Objekterkennungsdaten, Bilderfassungsposition, Bilderfassungsdatum und -uhrzeit, die dem beobachteten Bild entsprechen, sowie Sensordaten, die zusammen mit dem beobachteten Bild erfasst wurden. Die Metainformationen-Erzeugungseinheit 134 liefert die Beobachtungs-Metainformationen an die Umgebungs-DB-Verwaltungseinheit 135.
-
In Schritt S152 bestimmt die Umgebungs-DB-Verwaltungseinheit 135, ob ein Referenzbild, das in der Nähe der Bilderfassungsposition des beobachteten Bildes aufgenommen wurde, in der Umgebungs-DB registriert ist oder nicht. Beispielsweise sucht die Umgebungs-DB-Verwaltungseinheit 135 in der Umgebungs-DB nach einem Referenzbild, dessen Differenz zur Bilderfassungsposition des beobachteten Bildes innerhalb eines vorbestimmten Bereichs liegt. Wenn die Umgebungs-DB-Verwaltungseinheit 135 ein Referenzbild findet, dessen Differenz zur Bilderfassungsposition des beobachteten Bildes innerhalb des vorbestimmten Bereichs liegt, dann bestimmt die Umgebungs-DB-Verwaltungseinheit 135, dass ein Referenzbild, das in der Nähe der Bilderfassungsposition des beobachteten Bildes aufgenommen wurde, in der Umgebungs-DB registriert ist, und die Verarbeitung wird mit Schritt S153 fortgesetzt.
-
In Schritt S153 erfasst die Umgebungs-DB-Verwaltungseinheit 135 die Umgebungsdaten, auf die verwiesen werden soll. Beispielsweise gewinnt die Umgebungs-DB-Verwaltungseinheit 135 aus der Umgebungs-DB-Speichereinheit 136 Umgebungsdaten (im Folgenden als Referenz-Umgebungsdaten bezeichnet), die dem Referenzbild entsprechen, das an der Position aufgenommen wurde, die der Position des beobachteten Bildes am nächsten liegt.
-
In Schritt S154 berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Bildähnlichkeit. Konkret berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Bildähnlichkeit zwischen dem beobachteten Bild und dem in den Referenz-Umgebungsdaten enthaltenen Referenzbild durch eine ähnliche Verarbeitung wie in Schritt S104.
-
In Schritt S155 berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Ähnlichkeit der Metainformationen. Konkret berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Ähnlichkeit der Metainformationen, also die Ähnlichkeit zwischen den Beobachtungs-Metainformationen, die dem beobachteten Bild entsprechen, und den Referenz-Metainformationen, die in den Referenz-Umgebungsdaten enthalten sind. Beispielsweise berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Ähnlichkeit der Metainformationen basierend auf der Differenz der einzelnen Daten (z. B. Verschlusszeit, Beschleunigung und dergleichen) der Metainformationen unter Ausschluss der Bilderfassungsposition. Beispielsweise berechnet die Umgebungs-DB-Verwaltungseinheit 135 die Ähnlichkeit der Metainformationen als einen skalaren Wert, indem sie den Differenzwert für jede in den Metainformationen enthaltene Dateneinheit gewichtet und addiert.
-
In Schritt S156 bestimmt die Umgebungs-DB-Verwaltungseinheit 135, ob die Bildähnlichkeit gleich oder größer als ein vorbestimmter Schwellenwert ist oder nicht. Wenn bestimmt wird, dass die Bildähnlichkeit gleich oder größer als der vorbestimmte Schwellenwert ist, wird die Verarbeitung mit Schritt S157 fortgesetzt.
-
In Schritt S157 bestimmt die Umgebungs-DB-Verwaltungseinheit 135, ob die Ähnlichkeit der Metainformationen gleich oder größer als ein vorbestimmter Schwellenwert ist oder nicht. Wenn bestimmt wird, dass die Ähnlichkeit der Metainformationen kleiner als der vorbestimmte Schwellenwert ist, wird die Verarbeitung mit Schritt S158 fortgesetzt.
-
Es ist zu beachten, dass die Umgebungs-DB-Verwaltungseinheit 135 die Bestimmungsverarbeitung in Schritt S157 beispielsweise basierend auf der Ähnlichkeit der einzelnen in den Metainformationen enthaltenen Daten statt auf der Ähnlichkeit der gesamten Metainformationen durchführen kann. Beispielsweise kann die Umgebungs-DB-Verwaltungseinheit 135 die Bestimmungsverarbeitung in Schritt S157 basierend auf der Anzahl der Daten, deren Ähnlichkeit kleiner als ein vorbestimmter Schwellenwert ist, unter den in den Metainformationen enthaltenen Daten durchführen.
-
Wenn andererseits in Schritt S156 bestimmt wird, dass die Bildähnlichkeit kleiner als ein vorbestimmter Schwellenwert ist, wird die Verarbeitung von Schritt S157 übersprungen und wird die Verarbeitung mit Schritt S158 fortgesetzt.
-
Das heißt, wenn wenigstens entweder die Bildähnlichkeit und/oder die Ähnlichkeit der Metainformationen kleiner als der vorbestimmte Schwellenwert ist, das heißt, wenn die Beobachtungsdaten einschließlich des beobachteten Bildes und der Beobachtungs-Metainformationen und die Referenz-Umgebungsdaten nicht ähnlich sind, wird die Verarbeitung mit Schritt S158 fortgesetzt.
-
In Schritt S158 fügt die Umgebungs-DB-Verwaltungseinheit 135 die Umgebungsdaten in die Umgebungs-DB ein. Konkret fügt die Umgebungs-DB-Verwaltungseinheit 135 die Beobachtungsdaten einschließlich des beobachteten Bildes und der Beobachtungs-Metainformationen als neue Umgebungsdaten in die Umgebungs-DB ein, die in der Umgebungs-DB-Speichereinheit 136 gespeichert ist. Danach werden das beobachtete Bild und die Beobachtungs-Metainformationen, die in den eingefügten Umgebungsdaten enthalten sind, als Referenzbild und Referenz-Metainformationen behandelt.
-
Wenn, wie oben beschrieben, keine Umgebungsdaten ähnlich den Beobachtungsdaten einschließlich des beobachteten Bildes und der erfassten Beobachtungs-Metainformationen diesmal in der Umgebungs-DB vorhanden sind, werden die Beobachtungsdaten als neue Umgebungsdaten in die Umgebungs-DB eingefügt. Genauer gesagt, wenn Umgebungsdaten, die die Kombination aus einem Referenzbild und Referenz-Metainformationen enthalten, die der Kombination aus dem beobachteten Bild und den in den Beobachtungsdaten enthaltenen Beobachtungs-Metainformationen ähnlich sind, nicht in der Umgebungs-DB vorhanden sind, werden die Beobachtungsdaten als neue Umgebungsdaten in die Umgebungs-DB eingefügt.
-
In Schritt S159 aktualisiert die Verwaltungseinheit für Informationen virtueller Objekte 137 die Informationen virtueller Objekte. Beispielsweise aktualisiert die Verwaltungseinheit für Informationen virtueller Objekte 137 Punktwolkendaten basierend auf den Umgebungsdaten (Beobachtungsdaten), die in die Umgebungs-DB eingefügt wurden. Konkreter aktualisiert beispielsweise die Verwaltungseinheit für Informationen virtueller Objekte 137 Punktwolkendaten basierend auf Merkmalspunkten des beobachteten Bildes. Zusätzlich fügt beispielsweise die Verwaltungseinheit für Informationen virtueller Objekte 137 bei Bedarf das anzuzeigende virtuelle Objekt hinzu oder löscht es.
-
Danach wird die Verarbeitung mit Schritt S160 fortgesetzt.
-
Wenn andererseits in Schritt S157 bestimmt wird, dass die Ähnlichkeit der Metainformationen gleich oder größer als ein vorbestimmter Schwellenwert ist, wird die Verarbeitung von Schritt S158 und S159 übersprungen und wird die Verarbeitung mit Schritt S160 fortgesetzt.
-
Das bedeutet, wenn Umgebungsdaten ähnlich den Beobachtungsdaten einschließlich des beobachteten Bildes und der erfassten Beobachtungs-Metainformationen diesmal in der Umgebungs-DB vorhanden sind, werden die Beobachtungsdaten nicht in die Umgebungs-DB eingefügt. Genauer gesagt, wenn Umgebungsdaten, die die Kombination aus einem Referenzbild und Referenz-Metainformationen enthalten, die der Kombination aus dem beobachteten Bild und den in den Beobachtungsdaten enthaltenen Beobachtungs-Metainformationen ähnlich ist, in der Umgebungs-DB vorhanden sind, werden die Beobachtungsdaten nicht in die Umgebungs-DB eingefügt.
-
In Schritt S160 speichert die Umgebungs-DB-Verwaltungseinheit 135 das Vergleichsergebnisprotokoll. Konkret erzeugt die Umgebungs-DB-Verwaltungseinheit 135 ein Vergleichsergebnisprotokoll, das die Bildähnlichkeit, die zur Berechnung der Bildähnlichkeit verwendeten Daten, die Ähnlichkeit der Metainformationen, die zur Berechnung der Ähnlichkeit der Metainformationen verwendeten Daten und die Bilderfassungsposition des beobachteten Bildes im 3D-Koordinatensystem enthält. Die Umgebungs-DB-Verwaltungseinheit 135 fügt das erzeugte Vergleichsergebnisprotokoll in die Referenz-Umgebungsdaten ein, die in der Umgebungs-DB-Speichereinheit 136 gespeichert sind.
-
Danach endet die Verarbeitung zum Einfügen von Umgebungsdaten.
-
Andererseits bestimmt in Schritt S152, wenn die Umgebungs-DB-Verwaltungseinheit 135 kein Referenzbild findet, dessen Differenz zur Bilderfassungsposition des beobachteten Bildes innerhalb des vorbestimmten Bereichs liegt, die Umgebungs-DB-Verwaltungseinheit 135, dass ein Referenzbild, das in der Nähe der Bilderfassungsposition des beobachteten Bildes aufgenommen wurde, in der Umgebungs-DB nicht registriert ist, und die Verarbeitung wird mit Schritt S161 fortgesetzt.
-
In Schritt S161 werden die Umgebungsdaten in die Umgebungs-DB eingefügt wie in der Verarbeitung von Schritt S158. Das bedeutet, dass die Beobachtungsdaten als neue Umgebungsdaten in die Umgebungs-DB eingefügt werden.
-
In Schritt S162 werden die Informationen virtueller Objekte aktualisiert wie in der Verarbeitung von Schritt S159.
-
Das heißt, wenn ein Referenzbild, das in der Nähe der Bilderfassungsposition des beobachteten Bildes aufgenommen wurde, nicht in der Umgebungs-DB registriert ist, werden die Beobachtungsdaten unbedingt als Umgebungsdaten in die Umgebungs-DB aufgenommen, und die Informationen virtueller Objekte werden aktualisiert.
-
Danach endet die Verarbeitung zum Einfügen von Umgebungsdaten.
-
<Verarbeitung zum Löschen von Umgebungsdaten>
-
Als Nächstes wird eine Verarbeitung zum Löschen von Umgebungsdaten, die vom Informationsverarbeitungssystem 101 durchgeführt wird, unter Bezugnahme auf das Flussdiagramm in 6 beschrieben.
-
Diese Verarbeitung wird beispielsweise zu einem vorbestimmten Zeitpunkt durchgeführt. Beispielsweise wird diese Verarbeitung in jedem vorbestimmten Zeitraum durchgeführt, etwa wenn der Betrag des Zuwachses der Daten der Umgebungs-DB seit der letzten Verarbeitung zum Löschen von Umgebungsdaten einen vorbestimmten Schwellenwert überschreitet, oder auf Anweisung des Benutzers.
-
In Schritt S201 wählt die Umgebungs-DB-Verwaltungseinheit 135 die Umgebungsdaten aus, die einer Löschungsbestimmung unterzogen werden sollen. Konkret wählt und liest die Umgebungs-DB-Verwaltungseinheit 135 Umgebungsdaten, die die Löschungsbestimmung nicht durchlaufen haben, unter den Umgebungsdaten in der Umgebungs-DB.
-
In Schritt S202 bestimmt die Umgebungs-DB-Verwaltungseinheit 135 die Notwendigkeit, die Umgebungsdaten zu löschen.
-
Wenn beispielsweise ein Protokoll, das anzeigt, dass die Bildähnlichkeit mit dem Referenzbild (beobachteten Bild) der in die Umgebungs-DB eingefügten Umgebungsdaten (Beobachtungsdaten) kleiner als ein vorbestimmter Schwellenwert ist, im Referenzergebnisprotokoll der Umgebungsdaten aufgezeichnet ist, bestimmt die Umgebungs-DB-Verwaltungseinheit 135, dass die Umgebungsdaten gelöscht werden müssen. Das heißt, wenn beim Einfügen von Beobachtungsdaten als Umgebungsdaten in die Umgebungs-DB die Umgebungsdaten, die der Löschungsbestimmung zu unterziehen sind, als Referenz-Umgebungsdaten bezeichnet werden und das Referenzbild der Referenz-Umgebungsdaten nicht ähnlich dem beobachteten Bild der Beobachtungsdaten ist, wird bestimmt, dass die Umgebungsdaten gelöscht werden müssen.
-
Ein Beispiel für einen solchen Fall ist, wenn Umgebungsdaten (Beobachtungsdaten), die ein Referenzbild (beobachtetes Bild) enthalten, das an nahezu derselben Position wie das Referenzbild der Umgebungsdaten, die der Löschungsbestimmung unterzogen werden sollen, aufgenommen wurde und dem aufgenommenen Bild nicht ähnlich ist, neu in die Umgebungs-DB aufgenommen werden. Dadurch werden beispielsweise Umgebungsdaten, die ein Referenzbild enthalten, in dem sich der Zustand des Bilderfassungsbereichs gegenüber dem Zeitpunkt der Bilderfassung wesentlich geändert hat, aus der Umgebungs-DB gelöscht.
-
Darüber hinaus bestimmt beispielsweise, wenn ein Protokoll, das anzeigt, dass die Ähnlichkeit der Metainformationen mit den Metainformationen (Beobachtungs-Metainformationen) der in die Umgebungs-DB eingefügten Umgebungsdaten (Beobachtungsdaten) kleiner als ein vorbestimmter Schwellenwert ist, im Referenzergebnisprotokoll der Umgebungsdaten aufgezeichnet ist, die Umgebungs-DB-Verwaltungseinheit 135, dass die Umgebungsdaten gelöscht werden müssen. Das heißt, wenn beim Einfügen von Beobachtungsdaten als Umgebungsdaten in die Umgebungs-DB auf die Umgebungsdaten, die der Löschungsbestimmung zu unterziehen sind, als Referenz-Umgebungsdaten verwiesen wird und die Referenz-Metainformationen der Referenz-Umgebungsdaten nicht ähnlich Beobachtungs-Metainformationen der Beobachtungsdaten sind, wird bestimmt, dass die Umgebungsdaten gelöscht werden müssen.
-
Denn wenigstens entweder die Bilderfassungsparameter, die Sensordaten, die Objekterkennungsdaten und/oder das/die Bilderfassungsdatum und -uhrzeit können sich beispielsweise zwischen dem Zeitpunkt der Registrierung der Umgebungsdaten, die der Löschungsbestimmung unterzogen werden sollen, und dem Zeitpunkt des Einfügens neuer Umgebungsdaten stark unterscheiden. Dadurch werden beispielsweise Umgebungsdaten, die ein Referenzbild enthalten, dessen Bilderfassungsdatum vor einem vorbestimmten Zeitraum liegt, aus der Umgebungs-DB gelöscht. Zusätzlich werden beispielsweise Umgebungsdaten gelöscht, bei denen sich die Arten von Objekten im Bilderfassungsbereich des aufgenommenen Bildes, die im Bilderfassungsbereich belegte Fläche und dergleichen seit der Erzeugung der Umgebungsdaten signifikant verändert haben.
-
Darüber hinaus bestimmt die Umgebungs-DB-Verwaltungseinheit 135 beispielsweise, dass Umgebungsdaten gelöscht werden müssen, wenn die Anzahl der Verweise auf die Umgebungsdaten innerhalb eines vorbestimmten Zeitraums, d. h. die Verweishäufigkeit, unter einem vorbestimmten Schwellenwert liegt. Dadurch werden beispielsweise Umgebungsdaten gelöscht, die selten verwendet werden.
-
Es ist beispielsweise zu beachten, dass die Umgebungs-DB-Verwaltungseinheit 135 einen Parameter durch Gewichten und Addieren der Bildähnlichkeit, der Ähnlichkeit der Metainformationen und der Anzahl der Verweise berechnen und basierend auf dem berechneten Parameter die Notwendigkeit des Löschens der Umgebungsdaten bestimmen kann.
-
Zusätzlich kann die Umgebungs-DB-Verwaltungseinheit 135 die Notwendigkeit des Löschens der Umgebungsdaten beispielsweise basierend auf der Ähnlichkeit der einzelnen in den Metainformationen enthaltenen Daten statt auf der Ähnlichkeit der gesamten Metainformationen bestimmen. Beispielsweise kann die Umgebungs-DB-Verwaltungseinheit 135 bestimmen, dass Umgebungsdaten gelöscht werden müssen, wenn die Ähnlichkeit bestimmter Daten in den Metainformationen (z. B. Bilderfassungsdatum des Referenzbildes) gering ist.
-
In Schritt S203 bestimmt die Umgebungs-DB-Verwaltungseinheit 135, ob die Umgebungsdaten gelöscht werden sollen oder nicht, basierend auf dem Ergebnis der Verarbeitung in Schritt S202. Wenn bestimmt wird, dass die Umgebungsdaten gelöscht werden sollen, wird die Verarbeitung mit Schritt S204 fortgesetzt.
-
In Schritt S204 löscht die Umgebungs-DB-Verwaltungseinheit 135 die Umgebungsdaten aus der Umgebungs-DB.
-
Danach wird die Verarbeitung mit Schritt S205 fortgesetzt.
-
Wenn andererseits in Schritt S203 bestimmt wird, dass die Umgebungsdaten nicht gelöscht werden sollen, wird die Verarbeitung von Schritt S204 übersprungen und wird die Verarbeitung mit Schritt S205 fortgesetzt.
-
In Schritt S205 bestimmt die Umgebungs-DB-Verwaltungseinheit 135, ob alle Umgebungsdaten einer Löschungsbestimmung unterzogen wurden oder nicht. Wenn bestimmt wird, dass die Löschungsbestimmung noch nicht für alle Umgebungsdaten durchgeführt wurde, wird die Verarbeitung wieder auf Schritt S201 zurückgesetzt.
-
Danach wird in Schritt S205 die Verarbeitung der Schritte S201 bis S205 wiederholt durchgeführt, bis bestimmt wird, dass die Löschungsbestimmung für alle Umgebungsdaten durchgeführt wurde. Als Ergebnis wird die Notwendigkeit des Löschens aller Umgebungsdaten in der Umgebungs-DB bestimmt, und die zur Löschung bestimmten Umgebungsdaten werden aus der Umgebungs-DB gelöscht.
-
Wenn andererseits in Schritt S205 bestimmt wird, dass die Löschungsbestimmung für alle Umgebungsdaten durchgeführt wurde, endet die Verarbeitung zum Löschen von Umgebungsdaten.
-
Wie oben beschrieben, erfolgt die Aktualisierungsverarbeitung (Einfügen und Löschen von Umgebungsdaten) der Umgebungs-DB nicht nur anhand des Referenzbildes, sondern auch der Metainformationen. Dadurch werden Änderungen im Anzeigezielraum in der realen Welt schnell und genau in der Umgebungs-DB widergespiegelt, und die Differenz zwischen dem Anzeigezielraum in der realen Welt und dem durch die Umgebungs-DB repräsentierten Anzeigezielraum wird klein. Das bedeutet, dass die Genauigkeit der Umgebungs-DB verbessert wird. Dadurch wird die Genauigkeit der Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem verbessert, und das virtuelle Objekt kann an einer geeigneten Position in der realen Welt angezeigt werden.
-
«2. Zweite Ausführungsform»
-
Als Nächstes wird eine zweite Ausführungsform der vorliegenden Technologie unter Bezugnahme auf 7 beschrieben.
-
7 zeigt ein Konfigurationsbeispiel eines Informationsverarbeitungssystems 200 der zweiten Ausführungsform der vorliegenden Technologie. Es ist zu beachten, dass Teile, die dem Informationsverarbeitungssystem 101 von 2 entsprechen, an den letzten beiden Stellen die gleichen Bezugsnummern erhalten und auf eine Beschreibung der Teile mit gleicher Verarbeitung gegebenenfalls verzichtet wird.
-
Das Informationsverarbeitungssystem 200 weist eine AR (Augmented Reality, erweiterte Realität)-Vorrichtung 201 und einen Server 202 auf.
-
Die AR-Vorrichtung 201 ist eine Vorrichtung, die dem Informationsverarbeitungssystem 101 von 2 entspricht. Beispielsweise beinhaltet die AR-Vorrichtung 201 eine Brille oder dergleichen. Dann überlagert und zeigt die AR-Vorrichtung 201 ein virtuelles Objekt in der realen Welt, die der Benutzer durch die AR-Vorrichtung 201 sieht.
-
Die AR-Vorrichtung 201 weist eine Datenerfassungseinheit 211, eine Informationsverarbeitungseinheit 212 und eine Anzeigeeinheit 213 auf. Die Datenerfassungseinheit 211 weist eine Bilderfassungseinheit 221 und eine Sensoreinheit 222 auf. Die Informationsverarbeitungseinheit 212 weist auf: eine Bildverarbeitungseinheit 231, eine Positionsschätzeinheit 232, eine Anzeigeposition-Einstellungseinheit 233, eine Metainformationen-Erzeugungseinheit 234, eine Umgebungs-DB-Verwaltungseinheit 235, eine Umgebungs-DB-Speichereinheit 236, eine Verwaltungseinheit für Informationen virtueller Objekte 237, eine Speichereinheit für Informationen virtueller Objekte 238 und eine Wiedergabeeinheit für virtuelle Objekte 239.
-
Der Server 202 weist eine Umgebungs-DB-Verwaltungseinheit 251, eine Umgebungs-DB-Speichereinheit 252, eine Verwaltungseinheit für Informationen virtueller Objekte 253 und eine Speichereinheit für Informationen virtueller Objekte 254 auf.
-
Die AR-Vorrichtung 201 unterscheidet sich vom Informationsverarbeitungssystem 101 von 2 signifikant dadurch, dass die Umgebungs-DB und die Informationen virtueller Objekte vom Server 202 heruntergeladen und verwendet werden.
-
Konkret speichert die Umgebungs-DB-Speichereinheit 252 des Servers 202 die gesamten Daten der Umgebungs-DB. Zusätzlich wird die Umgebungs-DB, die in der Umgebungs-DB-Speichereinheit 252 gespeichert ist, von mehreren Vorrichtungen, einschließlich der AR-Vorrichtung 201, geteilt und verwendet.
-
Anschließend kommuniziert die Umgebungs-DB-Verwaltungseinheit 235 der AR-Vorrichtung 201 mit der Umgebungs-DB-Verwaltungseinheit 251 des Servers 202, lädt eine Teilmenge der Umgebungs-DB (einen Teil der Umgebungsdaten der Umgebungs-DB), die für die Verarbeitung der AR-Vorrichtung 201 erforderlich ist, vom Server 202 herunter und speichert die Teilmenge der Umgebungs-DB in der Umgebungs-DB-Speichereinheit 236. Anschließend wird die in der Umgebungs-DB-Speichereinheit 236 gespeicherte Umgebungs-DB für die Verarbeitung der AR-Vorrichtung 201 verwendet.
-
Darüber hinaus speichert die Speichereinheit für Informationen virtueller Objekte 254 des Servers 202 die gesamten Daten der Informationen virtueller Objekte. Die Informationen virtueller Objekte, die in der Speichereinheit für Informationen virtueller Objekte 254 gespeichert sind, werden von mehreren Vorrichtungen, einschließlich der AR-Vorrichtung 201, geteilt und verwendet.
-
Anschließend kommuniziert die Verwaltungseinheit für Informationen virtueller Objekte 237 der AR-Vorrichtung 201 mit der Verwaltungseinheit für Informationen virtueller Objekte 253 des Servers 202, lädt eine Teilmenge der Informationen virtueller Objekte, die für die Verarbeitung der AR-Vorrichtung 201 erforderlich ist, vom Server 202 herunter und speichert die Teilmenge der Informationen virtueller Objekte in der Speichereinheit für Informationen virtueller Objekte 238. Anschließend werden die in der Speichereinheit für Informationen virtueller Objekte 238 gespeicherten Informationen virtueller Objekte für die Verarbeitung der AR-Vorrichtung 201 verwendet.
-
Hier kann, wie oben beschrieben, die Umgebungs-DB in der AR-Vorrichtung 201 aktualisiert werden. Das heißt, Umgebungsdaten der Umgebungs-DB können eingefügt oder gelöscht werden. In einem solchen Fall kann der aktualisierte Inhalt der Umgebungs-DB der AR-Vorrichtung 201 entweder in der Umgebungs-DB des Servers 202 widergespiegelt oder nicht widergespiegelt sein.
-
In dem Fall, dass die aktualisierten Inhalte der Umgebungs-DB der AR-Vorrichtung 201 in der Umgebungs-DB des Servers 202 widergespiegelt sind, überträgt beispielsweise die Umgebungs-DB-Verwaltungseinheit 235 eine Anfrage mit der Anforderung einer Aktualisierung der Umgebungs-DB an die Umgebungs-DB-Verwaltungseinheit 251. Dann aktualisiert die Umgebungs-DB-Verwaltungseinheit 251 die Umgebungs-DB, die in der Umgebungs-DB-Speichereinheit 252 gespeichert ist, basierend auf der empfangenen Anfrage.
-
Es ist beispielsweise zu beachten, dass, wenn die Umgebungs-DB-Verwaltungseinheit 251 die Umgebungs-DB als Reaktion auf eine Anfrage unbedingt aktualisiert, die Genauigkeit der Umgebungs-DB abnehmen kann oder die Umgebungs-DB manipuliert werden kann. Angesichts solcher Probleme kann die Umgebungs-DB-Verwaltungseinheit 251 dafür ausgelegt sein, die Umgebungs-DB basierend auf einer Anfrage zu aktualisieren, wenn die Umgebungs-DB-Verwaltungseinheit 251 eine Anfrage mit demselben Inhalt beispielsweise von einer vorbestimmten Anzahl oder mehr Vorrichtungen empfängt.
-
Um zu verhindern, dass die AR-Vorrichtung 201 häufig eine Anfrage an den Server 202 sendet, kann beispielsweise zusätzlich einen Zeitraum, in dem das Senden einer Anfrage verboten ist, wie folgt vorgesehen werden.
-
Beispielsweise kann die AR-Vorrichtung 201 das Senden einer Anfrage verbieten, bis eine vorbestimmte Zeit seit dem letzten Senden einer Anfrage verstrichen ist.
-
Beispielsweise kann die AR-Vorrichtung 201 das Senden einer Anfrage so lange verbieten, bis der Betrag der Bewegung der AR-Vorrichtung 201 (mobiler Körper, der die AR-Vorrichtung 201 aufweist) nach dem letzten Senden einer Anfrage einen vorbestimmten Schwellenwert überschreitet.
-
Beispielsweise kann die AR-Vorrichtung 201 die Übertragung einer Anfrage verbieten, bis eine Überlappungsrate zwischen einem neu aufgenommenen beobachteten Bild und einem beobachteten Bild zum Zeitpunkt der letzten Übertragung einer Anfrage einen vorbestimmten Schwellenwert überschreitet.
-
Zusätzlich können, wie oben beschrieben, die Informationen virtueller Objekte in der AR-Vorrichtung 201 aktualisiert werden. Hier kann der aktualisierte Inhalt der Informationen virtueller Objekte der AR-Vorrichtung 201 entweder in den Informationen virtueller Objekte des Servers 202 widergespiegelt oder nicht widergespiegelt sein.
-
In dem Fall, dass die aktualisierten Inhalte der Informationen virtueller Objekte der AR-Vorrichtung 201 in den Informationen virtueller Objekte des Servers 202 widergespiegelt sind, überträgt beispielsweise die Verwaltungseinheit für Informationen virtueller Objekte 237 eine Anfrage mit der Anforderung einer Aktualisierung der Informationen virtueller Objekte an die Verwaltungseinheit für Informationen virtueller Objekte 253. Dann aktualisiert die Verwaltungseinheit für Informationen virtueller Objekte 253 die Informationen virtueller Objekte, die in der Speichereinheit für Informationen virtueller Objekte 254 gespeichert sind, basierend auf der empfangenen Anfrage.
-
Es ist zu beachten, dass zur Verhinderung einer Abnahme der Genauigkeit oder Manipulation der Informationen virtueller Objekte eine Anfragebeschränkung beispielsweise ähnlich derjenigen der Umgebungs-DB vorgesehen werden kann.
-
«3. Dritte Ausführungsform»
-
Als Nächstes wird eine dritte Ausführungsform der vorliegenden Technologie unter Bezugnahme auf 8 beschrieben.
-
8 zeigt ein Konfigurationsbeispiel eines Informationsverarbeitungssystems 300 der dritten Ausführungsform der vorliegenden Technologie. Es ist zu beachten, dass Teile, die dem Informationsverarbeitungssystem 101 von 2 und dem Informationsverarbeitungssystem 200 von 7 entsprechen, an den letzten beiden Stellen die gleiche Bezugsnummer oder die gleichen Bezugsnummern erhalten, und auf eine Beschreibung der Teile mit gleicher Verarbeitung gegebenenfalls verzichtet wird.
-
Das Informationsverarbeitungssystem 300 unterscheidet sich vom Informationsverarbeitungssystem 200 von 7 dadurch, dass es eine Virtual-Reality (VR)-Vorrichtung 301 anstelle der AR-Vorrichtung 201 aufweist.
-
Die VR-Vorrichtung 301 ist eine Vorrichtung, die dem Informationsverarbeitungssystem 101 von 2 entspricht. Beispielsweise beinhaltet die VR-Vorrichtung 301 eine auf dem Kopf montierte Anzeige (Head Mount Display, HMD) oder dergleichen. Dann überlagert und zeigt die VR-Vorrichtung 301 ein virtuelles Objekt in einem beobachteten Bild, in dem beispielsweise die reale Welt innerhalb des Gesichtsfelds des Benutzers aufgenommen ist.
-
Die VR-Vorrichtung 301 weist eine Datenerfassungseinheit 311, eine Informationsverarbeitungseinheit 312 und eine Anzeigeeinheit 313 auf. Die Datenerfassungseinheit 311 weist eine Bilderfassungseinheit 321 und eine Sensoreinheit 322 auf. Die Informationsverarbeitungseinheit 312 weist auf: eine Bildverarbeitungseinheit 331, eine Positionsschätzeinheit 332, eine Anzeigeposition-Einstellungseinheit 333, eine Metainformationen-Erzeugungseinheit 334, eine Umgebungs-DB-Verwaltungseinheit 335, eine Umgebungs-DB-Speichereinheit 336, eine Verwaltungseinheit für Informationen virtueller Objekte 337, eine Speichereinheit für Informationen virtueller Objekte 338 und eine Wiedergabeeinheit für virtuelle Objekte 339.
-
Der Hauptunterschied zwischen der VR-Vorrichtung 301 und der AR-Vorrichtung 201 besteht darin, dass die Wiedergabeeinheit für virtuelle Objekte 339 ein Bild erzeugt, in dem ein virtuelles Objekt einem beobachteten Bild überlagert wird, das von der Bilderfassungseinheit 321 aufgenommen wird.
-
Beispielsweise ist die Bilderfassungseinheit 321 so installiert, dass sie einen Bereich einschließlich des Gesichtsfelds des Benutzers abbildet, die reale Welt in dem Bereich einschließlich des Gesichtsfelds des Benutzers abbildet und das aufgenommene beobachtete Bild an die Wiedergabeeinheit für virtuelle Objekte 339 liefert.
-
Die Anzeigeposition-Einstellungseinheit 333 schätzt durch die oben beschriebene Verarbeitung die aktuelle Position der VR-Vorrichtung 301 im 3D-Koordinatensystem und stellt die Anzeigeposition des virtuellen Objekts im beobachteten Bild basierend auf der geschätzten aktuellen Position ein.
-
Die Wiedergabeeinheit für virtuelle Objekte 339 erzeugt Bilddaten, in denen das virtuelle Objekt an der von der Anzeigeposition-Einstellungseinheit 333 eingestellten Position des beobachteten Bildes überlagert wird, und liefert die Bilddaten an die Anzeigeeinheit 313.
-
Basierend auf den erfassten Bilddaten zeigt die Anzeigeeinheit 413 ein Bild, in dem das virtuelle Objekt der realen Welt überlagert ist, in dem Bereich einschließlich des Gesichtsfelds des Benutzers, an.
-
Als Ergebnis sieht der Benutzer ein Bild, in dem das virtuelle Objekt der realen Welt überlagert ist, d. h. ein Bild, in dem die reale Welt erweitert ist.
-
«4. Vierte Ausführungsform»
-
Als Nächstes wird eine vierte Ausführungsform der vorliegenden Technologie unter Bezugnahme auf 9 beschrieben.
-
9 zeigt ein Konfigurationsbeispiel eines Informationsverarbeitungssystems 400 der vierten Ausführungsform der vorliegenden Technologie. Es ist zu beachten, dass Teile, die dem Informationsverarbeitungssystem 101 von 2 und dem Informationsverarbeitungssystem 300 von 8 entsprechen, an den letzten beiden Stellen die gleiche Bezugsnummer oder die gleichen Bezugsnummern erhalten und auf eine Beschreibung der Teile mit gleicher Verarbeitung gegebenenfalls verzichtet wird.
-
Das Informationsverarbeitungssystem 400 unterscheidet sich vom Informationsverarbeitungssystem 300 von 8 dadurch, dass es ein Fahrzeugnavigationssystem 401 anstelle der VR-Vorrichtung 301 aufweist.
-
Das Fahrzeugnavigationssystem 401 ist eine Vorrichtung, die dem Informationsverarbeitungssystem 101 von 2 entspricht. Das Fahrzeugnavigationssystem 401 ist beispielsweise in einem Fahrzeug (nicht abgebildet) bereitgestellt und zeigt ein virtuelles Objekt an, das einem beobachteten Bild, das die reale Welt vor dem Fahrzeug aufnimmt, überlagert ist.
-
Das Fahrzeugnavigationssystem 401 weist eine Datenerfassungseinheit 411, eine Informationsverarbeitungseinheit 412 und eine Anzeigeeinheit 413 auf. Die Datenerfassungseinheit 411 weist eine Bilderfassungseinheit 421 und eine Sensoreinheit 422 auf. Die Informationsverarbeitungseinheit 412 weist auf: eine Bildverarbeitungseinheit 431, eine Positionsschätzeinheit 432, eine Anzeigeposition-Einstellungseinheit 433, eine Metainformationen-Erzeugungseinheit 434, eine Umgebungs-DB-Verwaltungseinheit 435, eine Umgebungs-DB-Speichereinheit 436, eine Verwaltungseinheit für Informationen virtueller Objekte 437, eine Speichereinheit für Informationen virtueller Objekte 438 und eine Wiedergabeeinheit für virtuelle Objekte 439.
-
Wie oben beschrieben, ist das Fahrzeugnavigationssystem 401 ähnlich aufgebaut wie die VR-Vorrichtung 301.
-
Dann ist beispielsweise die Bilderfassungseinheit 421 so im Fahrzeug installiert, dass sie die Front des Fahrzeugs abbildet, die reale Welt vor dem Fahrzeug abbildet und das aufgenommene beobachtete Bild an die Wiedergabeeinheit für virtuelle Objekte 439 liefert.
-
Die Anzeigeposition-Einstellungseinheit 433 schätzt durch die oben beschriebene Verarbeitung die aktuelle Position des Fahrzeugnavigationssystems 401 im 3D-Koordinatensystem und stellt die Anzeigeposition des virtuellen Objekts im beobachteten Bild basierend auf der geschätzten aktuellen Position ein.
-
Die Wiedergabeeinheit für virtuelle Objekte 439 erzeugt Bilddaten, in denen das virtuelle Objekt an der von der Anzeigeposition-Einstellungseinheit 433 eingestellten Position des beobachteten Bildes überlagert wird, und liefert die Bilddaten an die Anzeigeeinheit 413.
-
Basierend auf den erfassten Bilddaten zeigt die Anzeigeeinheit 413 ein Bild an, in dem das virtuelle Objekt der realen Welt vor dem Fahrzeug überlagert ist.
-
Als Ergebnis kann der Benutzer ein Bild sehen, in dem das virtuelle Objekt der realen Welt überlagert ist, d. h. ein Bild, in dem die reale Welt erweitert ist.
-
Diese vierte Ausführungsform kann auch für den Fall Anwendung finden, dass ein Karten- oder Navigationsanwendungsprogramm auf einer Vorrichtung, etwa einem Smartphone, ausgeführt wird.
-
«5. Fünfte Ausführungsform»
-
Als Nächstes wird eine fünfte Ausführungsform der vorliegenden Technologie unter Bezugnahme auf 10 beschrieben.
-
10 zeigt ein Konfigurationsbeispiel eines Informationsverarbeitungssystems 500 der fünften Ausführungsform der vorliegenden Technologie. Es ist zu beachten, dass Teile, die dem Informationsverarbeitungssystem 101 von 2 und dem Informationsverarbeitungssystem 200 von 7 entsprechen, an den letzten beiden Stellen die gleiche Bezugsnummer oder die gleichen Bezugsnummern erhalten und auf eine Beschreibung der Teile mit gleicher Verarbeitung gegebenenfalls verzichtet wird.
-
Das Informationsverarbeitungssystem 500 weist ein Überwachungssystem 501 und einen Server 502 auf.
-
Das Überwachungssystem 501 ist eine Vorrichtung, die dem Informationsverarbeitungssystem 101 von 2 entspricht. Das Überwachungssystem 501 ist ein System, das einen vorbestimmten Überwachungsbereich überwacht und ein Bild anzeigt, in dem der Überwachungsbereich aufgenommen ist. Es ist zu beachten, dass das Überwachungssystem 501 im Gegensatz zu den anderen oben beschriebenen Systemen nicht über eine Funktion zum Anzeigen eines virtuellen Objekts verfügt.
-
Das Überwachungssystem 501 weist eine Datenerfassungseinheit 511, eine Informationsverarbeitungseinheit 512 und eine Anzeigeeinheit 513 auf. Die Datenerfassungseinheit 511 weist eine Bilderfassungseinheit 521 und eine Sensoreinheit 522 auf. Die Informationsverarbeitungseinheit 512 weist eine Bildverarbeitungseinheit 531, eine Positionsschätzeinheit 532, eine Koordinatenumrechnungseinheit 533, eine Metainformationen-Erzeugungseinheit 534, eine Umgebungs-DB-Verwaltungseinheit 535 und eine Umgebungs-DB-Speichereinheit 536 auf.
-
Der Server 502 weist eine Umgebungs-DB-Verwaltungseinheit 251 und eine Umgebungs-DB-Speichereinheit 252 auf.
-
Die Bilderfassungseinheit 521 weist beispielsweise mehrere Kameras auf, und jede Kamera ist so installiert, dass sie den Überwachungsbereich umfassend fotografiert.
-
Dann liefert die Bilderfassungseinheit 521 jedes aufgenommene beobachtete Bild an die Anzeigeeinheit 513, und die Anzeigeeinheit 513 zeigt jedes beobachtete Bild an. Dadurch kann der Benutzer den Überwachungsbereich überwachen.
-
Zusätzlich ist die Sensoreinheit 522 in der Nähe der Bilderfassungsposition jeder Kamera der Bilderfassungseinheit 521 bereitgestellt und liefert die erfassten Sensordaten an die Informationsverarbeitungseinheit 512.
-
Die Informationsverarbeitungseinheit 512 aktualisiert die Umgebungs-DB durch eine Verarbeitung ähnlich derjenigen der Informationsverarbeitungseinheit 112 des Informationsverarbeitungssystems 101 wie oben beschrieben. Es ist jedoch zu beachten, dass, da die Informationsverarbeitungseinheit 512 keine Verarbeitung zur Anzeige virtueller Objekte durchführt, die Koordinatenumrechnungseinheit 533 anstelle der Anzeigeposition-Einstellungseinheit bereitgestellt ist und dass die Verwaltungseinheit für Informationen virtueller Objekte, die Speichereinheit für Informationen virtueller Objekte und die Wiedergabeeinheit für virtuelle Objekte nicht bereitgestellt sind.
-
Die Positionsschätzeinheit 532 schätzt die Bilderfassungsposition im Eigenpositions-Koordinatensystem jeder Kamera der Bilderfassungseinheit 521 und liefert Daten, die das Schätzergebnis anzeigen, an die Koordinatenumrechnungseinheit 533.
-
Die Koordinatenumrechnungseinheit 533 rechnet die Bilderfassungsposition des Eigenpositions-Koordinatensystems jeder Kamera der Bilderfassungseinheit 521 basierend auf der Umgebungs-DB in die Bilderfassungsposition im 3D-Koordinatensystem um und liefert Daten, die das Umrechnungsergebnis anzeigen, an die Metainformationen-Erzeugungseinheit 534.
-
Es ist zu beachten, dass, da das Überwachungssystem 501 normalerweise einen weiten Bereich abbildet, die Umgebungs-DB über einen weiten Bereich aktualisiert werden kann. Durch Widerspiegeln der aktualisierten Inhalte der Umgebungs-DB in der Umgebungs-DB des Servers 502 kann dann die Aktualisierungsverarbeitung der Umgebungs-DB des Servers 502 effizienter gestaltet werden. Beispielsweise können Umgebungsdaten, die jedem Bereich im Überwachungsbereich entsprechen, periodisch aktualisiert werden.
-
Zusätzlich hat jede Kamera des Überwachungssystems 501 normalerweise eine feste Bilderfassungsposition und einen festen Abbildungsbereich. So können beispielsweise die Positionsschätzeinheit 532 und die Koordinatenumrechnungseinheit 533 entfallen, und die Bilderfassungsposition des 3D-Koordinatensystems jeder Kamera kann als Parameter an die Metainformationen-Erzeugungseinheit 534 übergeben werden.
-
«6. Modifikation»
-
Nachfolgend werden Modifikationen der oben beschriebenen Ausführungsformen der vorliegenden Technologie beschrieben.
-
Beispielsweise ist es in der zweiten bis fünften Ausführungsform möglich, die Verarbeitung jeder Vorrichtung und des Servers auf unterschiedliche Weise zu teilen. Beispielsweise kann der Server einen Teil der Verarbeitung jeder Vorrichtung übernehmen. Beispielsweise kann der Server die Verarbeitung zum Schätzen der aktuellen Position, die Verarbeitung zum Einstellen der Anzeigeposition des virtuellen Objekts, die Verarbeitung zum Wiedergeben des virtuellen Objekts und dergleichen durchführen.
-
Zusätzlich kann die Vorrichtung in einem Fall, in dem die Serverseite die Verarbeitung zum Schätzen der aktuellen Position oder zum Einstellen der Anzeigeposition des virtuellen Objekts durchführt, beispielsweise die Auflösung des beobachteten Bildes, das an den Server geliefert wird, gemäß der erforderlichen Genauigkeit ändern.
-
Darüber hinaus können das Informationsverarbeitungssystem 1 von 1, das Informationsverarbeitungssystem 101 von 2, die AR-Vorrichtung 201 von 7, die VR-Vorrichtung 301 von 8, das Fahrzeugnavigationssystem 401 von 9 und das Überwachungssystem 501 von 10 eine einzelne Vorrichtung oder mehrere Vorrichtungen aufweisen.
-
Zusätzlich wurde in der obigen Beschreibung ein Beispiel für die Trennung des Systems (z. B. Informationsverarbeitungssystem 1) zum Erzeugen der Umgebungs-DB und der Informationen virtueller Objekte und des Systems (z. B. Informationsverarbeitungssystem 101) zum Anzeigen virtueller Objekte gezeigt. Es kann jedoch ein einzelnes System (z. B. Informationsverarbeitungssystem 101) die Umgebungs-DB und Informationen virtueller Objekte erzeugen und virtuelle Objekte anzeigen.
-
Außerdem können die Umgebungs-DB und die Informationen virtueller Objekte basierend auf dem Ergebnis der Verarbeitung zur Objekterkennung an dem beobachteten Bild aktualisiert werden.
-
Beispielsweise können die Bedingungen für das Einfügen der Beobachtungsdaten in die Umgebungs-DB basierend auf Objekten im beobachteten Bild geändert werden.
-
Konkret führt beispielsweise die Bildverarbeitungseinheit 131 des Informationsverarbeitungssystems 101 von 2 eine Verarbeitung zur Objekterkennung an dem beobachteten Bild durch und liefert Daten, die das Erkennungsergebnis anzeigen, an die Umgebungs-DB-Verwaltungseinheit 135.
-
Beispielsweise lockert in einem Fall, in dem das beobachtete Bild eine Gefahrenstelle wie etwa eine Kreuzung enthält, die Umgebungs-DB-Verwaltungseinheit 135 die Bedingungen für das Einfügen der dem beobachteten Bild entsprechenden Beobachtungsdaten in die Umgebungs-DB im Vergleich mit anderen Beobachtungsdaten. Mit dieser Konfiguration werden Beobachtungsdaten, die beobachteten Bildern mit Gefahrenstellen entsprechen, häufiger in der Umgebungs-DB registriert. Dadurch wird beispielsweise die Genauigkeit der Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem in der Nähe von Gefahrenstellen verbessert, und ein virtuelles Objekt, das die Aufmerksamkeit des Benutzers weckt, kann an einer geeigneteren Position angezeigt werden.
-
Zusätzlich kann die Verwaltungseinheit für Informationen virtueller Objekte 137 beispielsweise automatisch ein virtuelles Objekt erzeugen, das die Aufmerksamkeit des Benutzers für eine solche Gefahrenstelle weckt.
-
11 zeigt ein Beispiel für Umgebungsdaten einer Gefahrenstelle. Die Umgebungsdaten von 11 enthalten ein Referenzbild 601 und Referenz-Metainformationen 602.
-
Im Referenzbild 601 ist ein Bahnübergang als Gefahrenstelle dargestellt.
-
Zu den Referenz-Metainformationen 602 gehören das Bilderfassungsdatum und die Uhrzeit des Referenzbildes 601, Einstellungsinformationen einer Kamera, die das Referenzbild 601 aufgenommen hat (Bilderfassungsparameter), und die Arten der im Referenzbild enthaltenen Objekte. Ein Bahnübergang ist in der Art des Objekts enthalten.
-
12 zeigt ein Beispiel für ein virtuelles Objekt 611, das in einem Fall, in dem das Referenzbild 601 von 11 erfasst wird, automatisch erzeugt wird.
-
Das virtuelle Objekt 611 enthält ein Zeichen und eine Meldung, die den Benutzer zum Anhalten auffordern. Dann wird die Anzeigeposition des virtuellen Objekts 611 auf die Position eingestellt, die in 11 mit Pos. = ZZZ angegeben ist.
-
Dadurch kann der Benutzer Gefahren vermeiden.
-
Zusätzlich besteht in der zweiten bis fünften Ausführungsform der vorliegenden Technologie die Möglichkeit, dass die von jeder Vorrichtung erzeugten Umgebungsdaten an den Server übertragen werden können. Vor diesem Hintergrund ist es wünschenswert, vor der Benutzung jeder Vorrichtung beispielsweise einen Bestätigungsbildschirm wie in 13 dargestellt anzuzeigen und vom Benutzer vorab die Zustimmung zum Senden von Umgebungsdaten, insbesondere von Erfassungsergebnissen (z. B. beobachtetes Bild und Sensordaten), an den Server einzuholen.
-
Wenn beispielsweise der Benutzer das Senden der Erfassungsergebnisse an den Server zulässt, drückt der Benutzer eine OK-Taste 621. Andererseits, zum Beispiel, wenn der Benutzer nicht zulässt, dass die Erfassungsergebnisse an den Server übertragen werden, drückt der Benutzer eine Abbruchtaste 622.
-
Dadurch wird verhindert, dass persönliche Daten des Benutzers und dergleichen willkürlich an den Server übertragen werden und später ein Problem verursachen.
-
In der zweiten bis vierten Ausführungsform der vorliegenden Technologie empfängt und verwendet zudem jede Vorrichtung eine Teilmenge der erforderlichen Umgebungs-DB und Informationen virtueller Objekte vom Server, während sie sich bewegt. Dabei kann jede Vorrichtung die Umgebungsdaten und Informationen virtueller Objekte, die vom Server bezogen werden sollen, beispielsweise basierend auf der Bewegung der jeweiligen Vorrichtung oder des bewegten Körpers, der die jeweilige Vorrichtung aufweist, auswählen.
-
14 zeigt ein Beispiel eines Bildschirms zum Einstellen eines Bereichs zur Erfassung von Umgebungs-DB und Informationen virtueller Objekte. In diesem Beispiel verwendet der Benutzer die AR-Vorrichtung 201, die VR-Vorrichtung 301 oder das Fahrzeugnavigationssystem 401, während er sich im Fahrzeug bewegt. In diesem Fall stellt der Benutzer beispielsweise einen Bereich 631 zum Erfassen von Umgebungsdaten und Informationen virtueller Objekte mit Bezug auf die Position des Fahrzeugs ein. Dann werden beispielsweise die dem Bereich 631 entsprechenden Umgebungsdaten und Informationen virtueller Objekte vom Server 202 bezogen und in der Vorrichtung vorgehalten.
-
Dadurch wird das Volumen von in der Vorrichtung vorgehaltenen Umgebungsdaten und Informationen virtueller Objekte reduziert, und die notwendigen Umgebungsdaten und Informationen virtueller Objekte werden sicher in der Vorrichtung vorgehalten. Im Beispiel von 14 ist der Erfassungsbereich 631 in Fahrtrichtung des Fahrzeugs breiter, und die Umgebungsdaten und Informationen virtueller Objekte, die dem Bereich entsprechen, in dem das Fahrzeug voraussichtlich fahren wird, werden sicher im Voraus erfasst.
-
Zusätzlich kann in einem Fall, in dem die AR-Vorrichtung 201 oder die VR-Vorrichtung 301 eine tragbare Vorrichtung ist, die von einem Benutzer am Körper getragen wird, beispielsweise kann jede Vorrichtung die Umgebungsdaten und Informationen virtueller Objekte, die vom Server 202 bezogen werden sollen, basierend auf dem Benutzer auswählen, der die tragbare Vorrichtung trägt.
-
15 zeigt ein Beispiel für einen Einstellungsbildschirm in einem Fall, in dem die AR-Vorrichtung 201 eine AR-Brille beinhaltet.
-
Auf dem Einstellungsbildschirm von 15 werden ein Listenfeld 641, ein Listenfeld 642, ein Kontrollkästchen 643, eine OK-Schaltfläche 644 und eine Abbruch-Schaltfläche 645 angezeigt.
-
Das Listenfeld 641 dient dazu, den Körperbau des Benutzers, genauer gesagt die Körpergröße des Benutzers, einzugeben.
-
Das Listenfeld 642 dient dazu, die Bewegungsgeschwindigkeit des Benutzers einzugeben.
-
Mit dem Kontrollkästchen 643 wird ausgewählt, wie der Benutzer unterwegs ist, genauer gesagt, ob er mit dem Fahrrad fährt oder nicht.
-
Die OK-Schaltfläche 644 ist eine Schaltfläche zum Bestätigen des Einstellungsinhalts.
-
Die Abbruch-Schaltfläche 645 ist eine Schaltfläche zum Abbrechen des Einstellungsinhalts und Schließen des Einstellungsbildschirms.
-
Beispielsweise wird die Höhe der Sichtlinie des Benutzers in Abhängigkeit von der Körpergröße des Benutzers angenommen. So wird beispielsweise ein Bereich in Höhenrichtung für das bevorzugte Beziehen von Umgebungsdaten und Informationen virtueller Objekte vom Server 202 basierend auf der Körpergröße des Benutzers eingestellt.
-
Zusätzlich wird der Bewegungsbereich des Benutzers innerhalb einer vorbestimmten Zeit in Abhängigkeit von der Bewegungsgeschwindigkeit angenommen. Außerdem wird die Bewegungsrichtung des Benutzers in gewissem Maße angenommen, je nachdem, ob der Benutzer Fahrrad fährt oder zu Fuß geht. Beispielsweise wird in einem Fall, in dem der Benutzer mit dem Fahrrad fährt, davon ausgegangen, dass die Strecke zum Geradeausfahren länger ist als die beim Gehen. Dann wird ein horizontaler Bereich für das bevorzugte Beziehen von Umgebungsdaten und Informationen virtueller Objekte vom Server 202 basierend auf der Bewegungsgeschwindigkeit und darauf, ob der Benutzer Fahrrad fährt oder nicht, eingestellt.
-
Dann werden die Umgebungsdaten und die Informationen virtueller Objekte, die dem eingestellten Bereich in Höhenrichtung und horizontaler Richtung entsprechen, bevorzugt vom Server 202 bezogen und vorgehalten. Dadurch wird das Volumen von in der Vorrichtung vorgehaltenen Umgebungsdaten und Informationen virtueller Objekte reduziert, und die notwendigen Umgebungsdaten und Informationen virtueller Objekte werden sicher in der Vorrichtung vorgehalten.
-
Außerdem wurde in der obigen Beschreibung ein Beispiel gezeigt, bei alle Umgebungsdaten ein Referenzbild aufweisen. Allerdings können alle Umgebungsdaten anstelle des Referenzbildes oder zusätzlich zum Referenzbild beispielsweise Merkmalspunktdaten enthalten, die sich auf die Merkmalspunkte des Referenzbildes beziehen. Die Merkmalspunktdaten enthalten beispielsweise die Position und den Merkmalsbetrag jedes aus dem Referenzbild extrahierten Merkmalspunkts.
-
Zusätzlich wurde in der obigen Beschreibung ein Beispiel gezeigt, bei dem die aktuelle Position des Informationsverarbeitungssystems 101 vom Eigenpositions-Koordinatensystem in das 3D-Koordinatensystem umgerechnet wird und die Anzeigeposition eines virtuellen Objekts basierend auf der aktuellen Position des Informationsverarbeitungssystems 101 im 3D-Koordinatensystem eingestellt wird. Umgekehrt kann beispielsweise die Anzeigeposition eines virtuellen Objekts im Eigenpositions-Koordinatensystem basierend auf der Korrelation zwischen dem Eigenpositions-Koordinatensystem und dem 3D-Koordinatensystem erhalten werden und kann die Anzeigeposition des virtuellen Objekts im Bildkoordinatensystem erhalten werden.
-
Außerdem sind die Arten von Daten, die in Metainformationen (Referenz-Metainformationen und Umgebungs-Metainformationen) enthalten sind, nicht auf die oben genannten Beispiele beschränkt und können geändert werden. Beispielsweise kann die Genauigkeit der Schätzung der aktuellen Position des Informationsverarbeitungssystems 101 in den Metainformationen enthalten sein. Zusätzlich können beispielsweise die Arten von Bilderfassungsparametern, Sensordaten und Objekterkennungsdaten geändert werden.
-
Darüber hinaus ist die Art von Daten, die in den Informationen virtueller Objekte enthalten sind, nicht auf das oben genannte Beispiel beschränkt und kann geändert werden. Beispielsweise kann ein von den Punktwolkendaten abweichendes 3D-Modell des Anzeigezielbereichs in den Informationen virtueller Objekte enthalten sein.
-
Außerdem wurde in der obigen Beschreibung ein Beispiel gezeigt, in dem die Positionsschätzeinheit 132 die aktuelle Position des Informationsverarbeitungssystems 101 schätzt. Es kann jedoch beispielsweise die aktuelle Position des bewegten Körpers, der das Informationsverarbeitungssystem 101 aufweist, geschätzt werden.
-
«1. Andere»
-
<Beispiel einer Computerkonfiguration>
-
Die oben beschriebene Reihe von Verarbeitungen kann durch Hardware oder Software durchgeführt werden. In einem Fall, in dem die Reihe von Verarbeitungen von einer Software durchgeführt wird, ist ein Programm, das in der Software enthalten ist, auf einem Computer installiert. Hier beinhaltet der Computer einen in dedizierter Hardware eingebauten Rechner, einen Universal-Personalcomputer, der beispielsweise verschiedene Funktionen ausführen kann, indem verschiedene Programme installiert werden, und dergleichen.
-
16 ist ein Blockdiagramm, das ein Beispiel für die Hardwarekonfiguration eines Computers zeigt, der die oben beschriebene Reihe von Verarbeitungen gemäß einem Programm ausführt.
-
In einem Computer 1000 sind eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) 1001, ein Festwertspeicher (Read Only Memory, ROM) 1002 und ein Direktzugriffsspeicher (Random Access Memory, RAM) 1003 durch einen Bus 1004 miteinander verbunden.
-
Eine Ein-/Ausgabeschnittstelle 1005 ist ebenfalls mit dem Bus 1004 verbunden. Eine Eingabeeinheit 1006, eine Ausgabeeinheit 1007, eine Speichereinheit 1008, eine Kommunikationseinheit 1009 und ein Laufwerk 1010 sind mit der Ein-/Ausgabeschnittstelle 1005 verbunden.
-
Die Eingabeeinheit 1006 beinhaltet einen Eingabeschalter, eine Taste, ein Mikrofon, einen Bildsensor und dergleichen. Die Ausgabeeinheit 1007 beinhaltet eine Anzeige, einen Lautsprecher und dergleichen. Die Speichereinheit 1008 beinhaltet eine Festplatte, einen nichtflüchtigen Speicher und dergleichen. Die Kommunikationseinheit 1009 beinhaltet eine Netzschnittstelle und dergleichen. Das Laufwerk 1010 treibt ein Wechselmedium 1011, etwa eine Magnetplatte, eine optische Platte, eine magneto-optische Platte oder einen Halbleiterspeicher an.
-
In dem wie oben beschrieben konfigurierten Computer 1000 lädt beispielsweise die CPU 1001 ein in der Speichereinheit 1008 aufgezeichnetes Programm über die Ein-/Ausgabeschnittstelle 1005 und den Bus 1004 in den RAM 1003 und führt die oben beschriebene Reihe von Verarbeitungen aus.
-
Das vom Computer 1000 (CPU 1001) ausgeführte Programm kann dadurch bereitgestellt werden, dass es auf dem Wechselmedium 1011, etwa einem Paketmedium, aufgezeichnet wird. Zusätzlich kann das Programm über ein drahtgebundenes oder drahtloses Übertragungsmedium, etwa ein lokales Netz (Local Area Network, LAN), das Internet oder digitale Satellitenübertragung, bereitgestellt werden.
-
Im Computer 1000 kann das Programm über die Ein-/Ausgabeschnittstelle 1005 in der Speichereinheit 1008 installiert werden, indem das Wechselmedium 1011 am das Laufwerk 1010 angeordnet wird. Zusätzlich kann das Programm durch die Kommunikationseinheit 1009 über ein drahtgebundenes oder drahtloses Übertragungsmedium empfangen und in der Speichereinheit 1008 installiert werden. Außerdem kann das Programm vorab im ROM 1002 oder in der Speichereinheit 1008 installiert werden.
-
Es ist zu beachten, dass es sich bei dem vom Computer ausgeführten Programm um ein Programm handeln kann, das die Verarbeitung in chronologischer Reihenfolge gemäß der in der vorliegenden Spezifikation beschriebenen Reihenfolge durchführt, oder um ein Programm, das die Verarbeitung parallel oder zu einem erforderlichen Zeitpunkt, etwa wenn ein Aufruf erfolgt, durchführt.
-
Es ist zu beachten, dass in der vorliegenden Spezifikation ein System eine Zusammenstellung von mehreren Komponenten (Vorrichtungen, Modulen (Teilen) und dergleichen) bedeutet, und es spielt keine Rolle, ob sich alle Komponenten in demselben Gehäuse befinden oder nicht. Aus diesem Grund sind sowohl mehrere Vorrichtungen, die in separaten Gehäusen untergebracht und über ein Netz verbunden sind, als auch eine Vorrichtung, die mehrere Module in einem Gehäuse beherbergt, Systeme.
-
Darüber hinaus ist die Ausführungsform der vorliegenden Technologie nicht auf die oben beschriebenen Ausführungsformen beschränkt, und es können verschiedene Modifikationen vorgenommen werden, ohne vom Schutzbereich der vorliegenden Technologie abzuweichen.
-
Beispielsweise kann die vorliegende Technologie eine Cloud-Computing-Konfiguration aufweisen, bei der eine Funktion von mehreren Vorrichtungen über ein Netz geteilt und verarbeitet wird.
-
Zusätzlich kann jeder Schritt, der im oben beschriebenen Flussdiagramm beschrieben ist, von einer einzelnen Vorrichtung ausgeführt werden oder von mehreren Vorrichtungen gemeinsam ausgeführt werden.
-
Außerdem können in einem Fall, in dem mehrere Prozesse in einem einzelnen Schritt enthalten sind, die mehreren in einem Schritt enthaltenen Prozesse von einer einzelnen Vorrichtung ausgeführt werden oder von mehreren Vorrichtungen gemeinsam ausgeführt werden.
-
<Beispielhafte Kombination von Konfigurationen>
-
Die vorliegende Technologie kann auch wie folgt konfiguriert sein.
-
- (1) Informationsverarbeitungsvorrichtung, aufweisend:
- eine Positionsschätzeinheit, die eine aktuelle Position in einem ersten Koordinatensystem schätzt;
- eine Anzeigeposition-Einstellungseinheit, die eine Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank einstellt, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten;
- eine Metainformationen-Erzeugungseinheit, die Beobachtungs-Metainformationen erzeugt, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und
- eine Umgebungsdatenbank-Verwaltungseinheit, die Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und die Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank vergleicht, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
- (2) Informationsverarbeitungsvorrichtung gemäß (1) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit die Beobachtungsdaten in die Umgebungsdatenbank einfügt, wenn die Umgebungsdaten, die ähnlich den Beobachtungsdaten sind, in der Umgebungsdatenbank nicht vorhanden sind.
- (3) Informationsverarbeitungsvorrichtung gemäß (1) oder (2) oben, ferner aufweisend
eine Bildverarbeitungseinheit, die eine Erkennungsverarbeitung an einem Objekt im beobachteten Bild durchführt, wobei
die Umgebungsdatenbank-Verwaltungseinheit eine Bedingung für das Einfügen der Beobachtungsdaten in die Umgebungsdatenbank basierend auf dem Objekt im beobachteten Bild ändert.
- (4) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (3) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit die Beobachtungsdaten mit Referenz-Umgebungsdaten, d. h. den Umgebungsdaten, die dem Referenzbild entsprechen, das in der Nähe einer Bilderfassungsposition des beobachteten Bildes aufgenommen wurde, vergleicht, um zu bestimmen, ob die Referenz-Umgebungsdaten aus der Umgebungsdatenbank gelöscht werden sollen.
- (5) Informationsverarbeitungsvorrichtung gemäß (4) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit die Referenz-Umgebungsdaten aus der Umgebungsdatenbank löscht, wenn die Beobachtungsdaten und die Referenz-Umgebungsdaten einander nicht ähnlich sind.
- (6) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (5) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit bestimmt, ob die Umgebungsdaten aus der Umgebungsdatenbank gelöscht werden sollen, basierend auf einer Häufigkeit des Verweises auf die Umgebungsdaten.
- (7) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (6) oben, wobei
die Referenz-Metainformationen ferner wenigstens entweder einen Bilderfassungsparameter des Referenzbildes, ein(e) Bilderfassungsdatum und -uhrzeit des Referenzbildes, Daten, die sich auf ein Objekt im Referenzbild beziehen, und/oder Sensordaten, die zusammen mit dem Referenzbild erfasst wurden, enthalten, und
die Beobachtungs-Metainformationen ferner wenigstens entweder einen Bilderfassungsparameter des beobachteten Bildes, ein(e) Bilderfassungsdatum und - uhrzeit des beobachteten Bildes, Daten, die sich auf ein Objekt im beobachteten Bild beziehen, und/oder Sensordaten, die zusammen mit dem beobachteten Bild erfasst wurden, enthalten.
- (8) Informationsverarbeitungsvorrichtung gemäß (7) oben, wobei
der Bilderfassungsparameter wenigstens entweder eine Verschlusszeit, einen Weißabgleichswert, einen F-Wert und/oder einen ISO-Wert beinhaltet,
die Daten, die sich auf ein Objekt im beobachteten Bild beziehen, und die Daten, die sich auf ein Objekt im Referenzbild beziehen, wenigstens entweder eine Art von Objekt und/oder oder ein Flächenverhältnis jeder Objektart beinhalten, und
die Sensordaten wenigstens entweder eine Beschleunigung, eine Winkelgeschwindigkeit, Geomagnetismus, ein Signal des globalen Navigationssatellitensystems (Global Navigation Satellite System, GNSS) und/oder die Funkfeldstärke eines vorbestimmten Signals beinhalten.
- (9) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (8) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit wenigstens einen Teil der Umgebungsdaten der Umgebungsdatenbank von einem Server bezieht.
- (10) Informationsverarbeitungsvorrichtung gemäß (9) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit die Umgebungsdaten, die vom Server bezogen werden sollen, basierend auf der Bewegung der Informationsverarbeitungsvorrichtung oder eines beweglichen Körpers, der die Informationsverarbeitungsvorrichtung aufweist, auswählt.
- (11) Informationsverarbeitungsvorrichtung gemäß (9) oder (10) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit die Umgebungsdaten, die vom Server bezogen werden sollen, basierend auf wenigstens entweder einem Körperbau, einer Bewegungsgeschwindigkeit und/oder einer Bewegungsart eines Benutzers, der die Informationsverarbeitungsvorrichtung am Körper trägt, auswählt.
- (12) Informationsverarbeitungsvorrichtung gemäß einem von (9) bis (11) oben, wobei
die Umgebungsdatenbank-Verwaltungseinheit das Einfügen der Beobachtungsdaten in die Umgebungsdatenbank beim Server anfordert.
- (13) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (12) oben, ferner aufweisend
eine Verwaltungseinheit für Informationen virtueller Objekte, die die Informationen virtueller Objekte basierend auf den Beobachtungsdaten, die in die Umgebungsdatenbank eingefügt wurden, aktualisiert.
- (14) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (13) oben, wobei
die Informationen virtueller Objekte ein 3D-Modell im zweiten Koordinatensystem eines Bereichs zum Anzeigen des virtuellen Objekts, eine Anzeigeposition des virtuellen Objekts im 3D-Modell und einen Anzeigeinhalt des virtuellen Objekts enthalten.
- (15) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (14) oben, wobei
die Anzeigeposition-Einstellungseinheit eine relative Beziehung zwischen dem ersten Koordinatensystem und dem zweiten Koordinatensystem basierend auf einer relativen Beziehung zwischen einer Position eines Merkmalspunkts des beobachteten Bildes und einer Position eines Merkmalspunkts des Referenzbildes, das dem beobachteten Bild ähnlich ist, erhält und die Anzeigeposition des virtuellen Objekts im dritten Koordinatensystem basierend auf der relativen Beziehung zwischen dem ersten Koordinatensystem und dem zweiten Koordinatensystem einstellt.
- (16) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (15) oben, ferner aufweisend
eine Wiedergabeeinheit für virtuelle Objekte, die Bilddaten zum Anzeigen des virtuellen Objekts an der Anzeigeposition im dritten Koordinatensystem erzeugt.
- (17) Informationsverarbeitungsvorrichtung gemäß einem von (1) bis (16) oben, wobei
das dritte Koordinatensystem ein Koordinatensystem einer Anzeigeeinheit ist, die das virtuelle Objekt anzeigt.
- (18) Informationsverarbeitungsverfahren, beinhaltend:
- durch eine Informationsverarbeitungsvorrichtung,
- Schätzen einer aktuellen Position in einem ersten Koordinatensystem;
- Einstellen einer Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten;
- Erzeugen von Beobachtungs-Metainformationen, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und
- Vergleichen von Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und der Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
- (19) Programm, um einen Computer zu veranlassen, Verarbeitung durchzuführen, die die folgenden Schritte beinhaltet:
- Schätzen einer aktuellen Position in einem ersten Koordinatensystem;
- Einstellen einer Anzeigeposition eines virtuellen Objekts in einem dritten Koordinatensystem basierend auf einer Umgebungsdatenbank, in der eine Vielzahl von Umgebungsdaten einschließlich eines Referenzbildes oder Referenz-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des Referenzbildes und Referenz-Metainformationen, d. h. Metainformationen, die dem Referenzbild entsprechen, enthalten, registriert sind, wobei Informationen virtueller Objekte die Anzeigeposition des virtuellen Objekts in einem zweiten Koordinatensystem und ein beobachtetes Bild, das in der Nähe der aktuellen Position aufgenommen wurde, enthalten;
- Erzeugen von Beobachtungs-Metainformationen, d. h. Metainformationen, die dem beobachteten Bild entsprechen; und
- Vergleichen von Beobachtungsdaten, welche das beobachtete Bild enthalten, oder Beobachtungs-Merkmalspunktdaten, die Daten in Bezug auf einen Merkmalspunkt des beobachteten Bildes enthalten, und der Beobachtungs-Metainformationen mit den Umgebungsdaten der Umgebungsdatenbank, um zu bestimmen, ob die Beobachtungsdaten in die Umgebungsdatenbank eingefügt werden sollen.
-
Es ist zu beachten, dass der in der vorliegenden Spezifikation beschriebene Effekt lediglich eine Veranschaulichung darstellt und nicht einschränkend zu verstehen ist. Demzufolge können andere Effekte erzielt werden.
-
Bezugszeichenliste
-
- 1
- Informationsverarbeitungssystem
- 12
- Informationsverarbeitungseinheit
- 31
- Bildverarbeitungseinheit
- 32
- Metainformationen-Erzeugungseinheit
- 33
- Umgebungs-DB-Erzeugungseinheit
- 34
- Erzeugungseinheit für Informationen virtueller Objekte
- 101
- Informationsverarbeitungssystem
- 112
- Informationsverarbeitungseinheit
- 113
- Anzeigeeinheit
- 131
- Bildverarbeitungseinheit
- 132
- Positionsschätzeinheit
- 133
- Anzeigeposition-Einstellungseinheit
- 134
- Metainformationen-Erzeugungseinheit
- 135
- Umgebungs-DB-Verwaltungseinheit
- 137
- Verwaltungseinheit für Informationen virtueller Objekte
- 139
- Wiedergabeeinheit für virtuelle Objekte
- 200
- Informationsverarbeitungssystem
- 201
- AR-Vorrichtung
- 202
- Server
- 212
- Informationsverarbeitungseinheit
- 213
- Anzeigeeinheit
- 231
- Bildverarbeitungseinheit
- 232
- Positionsschätzeinheit
- 233
- Anzeigeposition-Einstellungseinheit
- 234
- Metainformationen-Erzeugungseinheit
- 235
- Umgebungs-DB-Verwaltungseinheit
- 237
- Verwaltungseinheit für Informationen virtueller Objekte
- 239
- Wiedergabeeinheit für virtuelle Objekte
- 251
- Umgebungs-DB-Verwaltungseinheit
- 253
- Verwaltungseinheit für Informationen virtueller Objekte
- 300
- Informationsverarbeitungssystem
- 301
- VR-Vorrichtung
- 312
- Informationsverarbeitungseinheit
- 313
- Anzeigeeinheit
- 331
- Bildverarbeitungseinheit
- 332
- Positionsschätzeinheit
- 333
- Anzeigeposition-Einstellungseinheit
- 334
- Metainformationen-Erzeugungseinheit
- 335
- Umgebungs-DB-Verwaltungseinheit
- 337
- Verwaltungseinheit für Informationen virtueller Objekte
- 339
- Wiedergabeeinheit für virtuelle Objekte
- 400
- Informationsverarbeitungssystem
- 401
- Fahrzeugnavigationssystem
- 412
- Informationsverarbeitungseinheit
- 413
- Anzeigeeinheit
- 431
- Bildverarbeitungseinheit
- 432
- Positionsschätzeinheit
- 433
- Anzeigeposition-Einstellungseinheit
- 434
- Metainformationen-Erzeugungseinheit
- 435
- Umgebungs-DB-Verwaltungseinheit
- 437
- Verwaltungseinheit für Informationen virtueller Objekte
- 439
- Wiedergabeeinheit für virtuelle Objekte
- 500
- Informationsverarbeitungssystem
- 501
- Überwachungssystem
- 502
- Server
- 512
- Informationsverarbeitungseinheit
- 513
- Anzeigeeinheit
- 531
- Bildverarbeitungseinheit
- 532
- Positionsschätzeinheit
- 533
- Koordinatenumrechnungseinheit
- 534
- Metainformationen-Erzeugungseinheit
- 535
- Umgebungs-DB-Verwaltungseinheit
-
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 Patentliteratur
-