-
ERFINDUNGSGEBIET
-
Die vorliegende Offenbarung bezieht sich auf eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren und bezieht sich insbesondere auf eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren, die in der Lage sind, die Genauigkeit eines 3D-Modell-Tiefenbilds zu verbessern.
-
STAND DER TECHNIK
-
Es gibt eine Technologie, ein 3D-Modell eines Gegenstands anhand von Farbbildern und Tiefenbildern zu generieren, die durch mehrere Kameras erfasst werden (siehe zum Beispiel Nicht-Patent-Dokument 1).
-
ZITIERUNGSLISTE
-
NICHT-PATENT-DOKUMENT
-
Nicht-Patent-Dokument 1: Saied Moezzi, Li-Cheng Tai, Philippe Gerard „Virtual View Generation for 3D Digital Video“, University of California, San Diego
-
KURZE DARSTELLUNG DER ERFINDUNG
-
DURCH DIE ERFINDUNG ZU LÖSENDE PROBLEME
-
Allerdings ist die Verbesserung der Genauigkeit eines 3D-Modell-Tiefenbilds nicht betrachtet worden.
-
Die vorliegende Offenbarung erfolgt angesichts eines solchen Umstands und soll die Genauigkeit eines 3D-Modell-Tiefenbilds verbessern.
-
PROBLEMLÖSUNGEN
-
Eine Bildverarbeitungsvorrichtung gemäß einem ersten Aspekt der vorliegenden Offenbarung ist eine Bildverarbeitungsvorrichtung, die eine Tiefenbild-Generierungseinheit aufweist, die dazu ausgebildet ist, ein Tiefenbild von jedem von mehreren Blickpunkten für jedes Objekt zu generieren, das in einem 3D-Modell aufgewiesen ist.
-
Ein Bildverarbeitungsverfahren gemäß einem ersten Aspekt der vorliegenden Offenbarung entspricht der Bildverarbeitungsvorrichtung gemäß dem ersten Aspekt der vorliegenden Offenbarung.
-
Im ersten Aspekt der vorliegenden Offenbarung wird ein Tiefenbild von jedem von mehreren Blickpunkten für jedes Objekt generiert, das in einem 3D-Modell aufgewiesen ist.
-
Eine Bildverarbeitungsvorrichtung gemäß einem zweiten Aspekt der vorliegenden Offenbarung ist eine Bildverarbeitungsvorrichtung, die eine ObjektGenerierungseinheit aufweist, die dazu ausgebildet ist, ein Objekt auf der Basis eines Tiefenbilds von jedem von mehreren Blickpunkten für das Objekt zu generieren, das in einem 3D-Modell aufgewiesen ist.
-
Ein Bildverarbeitungsverfahren gemäß einem zweiten Aspekt der vorliegenden Offenbarung entspricht der Bildverarbeitungsvorrichtung gemäß dem zweiten Aspekt der vorliegenden Offenbarung.
-
Im zweiten Aspekt der vorliegenden Offenbarung wird ein Objekt auf der Basis eines Tiefenbilds von jedem von mehreren Blickpunkten für das Objekt generiert, das in einem 3D-Modell aufgewiesen ist.
-
Es sei angemerkt, dass die Bildverarbeitungsvorrichtungen gemäß dem ersten und zweiten Aspekt von einem Computer erreicht werden können, der ein Computerprogramm ausführt.
-
Um die Bildverarbeitungsvorrichtungen gemäß dem ersten und zweiten Aspekt zu erreichen, kann des Weiteren das vom Computer ausgeführte Computerprogramm bereitgestellt werden, indem es über ein Übertragungsmedium übertragen oder auf einem Aufzeichnungsmedium aufgezeichnet wird.
-
WIRKUNGEN DER ERFINDUNG
-
Gemäß einem ersten Aspekt der vorliegenden Offenbarung kann die Genauigkeit eines Tiefenbilds eines 3D-Modells verbessert werden.
-
Gemäß einem zweiten Aspekt der vorliegenden Offenbarung kann des Weiteren ein 3D-Modell auf der Basis eines Tiefenbilds eines 3D-Modells mit einer verbesserten Genauigkeit generiert werden.
-
Es sei angemerkt, dass die hier beschriebenen Wirkungen nicht notwendigerweise beschränkt sind und irgendwelche der in der vorliegenden Offenbarung beschriebenen Wirkungen sein können.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das eine beispielhafte Gestaltung eines Bildverarbeitungssystems gemäß einer ersten Ausführungsform veranschaulicht, auf das die vorliegende Offenbarung angewendet wird.
- 2 ist ein Blockdiagramm, das eine beispielhafte Gestaltung einer Konvertierungseinheit veranschaulicht.
- 3 ist ein Diagramm zur Beschreibung eines Bestimmungsverfahrens für einen virtuellen Kamerablickpunkt.
- 4 ist ein Blockdiagramm, das eine beispielhafte Gestaltung einer Tiefenbild-Generierungseinheit veranschaulicht.
- 5 ist ein Diagramm zur Beschreibung eines Tiefenbilds jedes Objekts einer vorbestimmten virtuellen Kamera.
- 6 ist ein Diagramm zur Beschreibung von Informationen der zweidimensionalen Positionen.
- 7 ist ein Diagramm zur Beschreibung eines
-
Minimalwerts zmin und eines Maximalwerts zmax.
- 8 ist ein Diagramm, das eine beispielhafte Objekttabelle in der ersten Ausführungsform veranschaulicht.
- 9 ist ein Flussdiagramm zur Beschreibung von Codierungsverarbeitung in der ersten Ausführungsform.
- 10 ist ein Flussdiagramm zur Beschreibung von Details einer Hauptobjekt-Auswahlverarbeitung.
- 11 ist ein Flussdiagramm zur Beschreibung von Details der Blickpunkt-Bestimmungsverarbeitung.
- 12 ist ein Flussdiagramm zur Beschreibung von Decodierungsverarbeitung.
- 13 ist ein Blockdiagramm, das eine beispielhafte Gestaltung der Konvertierungseinheit im Bildverarbeitungssystem gemäß einer zweiten Ausführungsform veranschaulicht, auf das die vorliegende Offenbarung angewendet wird.
- 14 ist ein Diagramm, das eine beispielhafte Objekt-Bounding-Box veranschaulicht.
- 15 ist ein Diagramm, das eine beispielhafte Objekttabelle in der zweiten Ausführungsform veranschaulicht.
- 16 ist ein Flussdiagramm zur Beschreibung von Codierungsverarbeitung in der zweiten Ausführungsform.
- 17 ist ein Blockdiagramm, das eine beispielhafte Computer-Hardware-Gestaltung veranschaulicht.
- 18 ist ein Blockdiagramm, das eine beispielhafte schematische Gestaltung eines Fahrzeugsteuersystems veranschaulicht.
- 19 ist ein Erläuterungsdiagramm, das beispielhafte Einbaupositionen eines Außenseiteninformations-Bestimmungsabschnitts und einer Bilderfassungseinheit veranschaulicht.
-
MODUS ZUM AUSFÜHREN DER ERFINDUNG
-
Hier werden nachstehend Modi (hier nachstehend als Ausführungsformen bezeichnet) zum Umsetzen der vorliegenden Offenbarung beschrieben. Es sei angemerkt, dass die Beschreibung in der folgenden Reihenfolge gegeben wird.
- 1. Erste Ausführungsform: Bildverarbeitungssystem (1 bis 12)
- 2. Zweite Ausführungsform: Bildverarbeitungssystem (13 bis 16)
- 3. Dritte Ausführungsform: Computer (17)
- 4. Beispielhafte Anwendung: Fahrzeugsteuersystem (18 und 19)
-
<Erste Ausführungsform>
-
(Beispielhafte Gestaltung des Bildverarbeitungssystems)
-
Die 1 ist ein Blockdiagramm, das eine beispielhafte Gestaltung eines Bildverarbeitungssystems gemäß einer ersten Ausführungsform veranschaulicht, auf das die vorliegende Offenbarung angewendet wird.
-
Ein Bildverarbeitungssystem 10 in der 1 weist eine Bilderfassungseinrichtung 11, eine Codiereinrichtung 12 (Bildverarbeitungsvorrichtung), eine Decodiereinrichtung 13 (Bildverarbeitungsvorrichtung) und eine Anzeigeeinrichtung 14 auf. Das Bildverarbeitungssystem 10 generiert ein Farbbild eines Anzeigeblickpunkts durch Verwenden eines Farbbilds und eines Tiefenbilds, die durch die Bilderfassungseinrichtung 11 erfasst werden, und zeigt das Farbbild an.
-
Insbesondere weist die Bilderfassungseinrichtung 11 des Bildverarbeitungssystems 10 zum Beispiel eine Multikamera, eine Abstandsmessungs-Messeinrichtung und eine Bildverarbeitungseinheit auf. Die Multikamera der Bilderfassungseinrichtung 11 weist mehrere Kameras auf und erfasst über die Kameras ein Bewegtbild von Farbbildern eines Gegenstands, denen wenigstens ein Teil gemeinsam ist. Die Abstandsmessungs-Messeinrichtung wird zum Beispiel jeder Kamera bereitgestellt und generiert ein Bewegtbild eines Tiefenbilds von einem Blickpunkt, der der gleiche wie der der Kamera ist.
-
Die Bildverarbeitungseinheit der Bilderfassungseinrichtung 11 generiert ein 3D-Modell eines Gegenstands, indem sie für jeden Frame eine visuelle Hülle (Visual Hull) oder Ähnliches berechnet, indem Bewegtbilder eines Farbbilds und eines Tiefenbilds vom Blickpunkt jeder Kamera und externe und interne Parameter im Weltkoordinatensystem (3D-Koordinatensystem) jeder Kamera verwendet werden. Die Bildverarbeitungseinheit generiert als 3D-Daten des Gegenstands Forminformationen (Geometrie), die die dreidimensionale Position jedes Apex (Vertex) jedes Polygonnetzes, das das 3D-Modell bildet, und die Verbindung zwischen den Apizes m und Farbinformationen des Polygonnetzes angeben.
-
Das Verfahren der 3D-Datengenerierung in der Bildverarbeitungseinheit kann ein Verfahren sein, das zum Beispiel im Nicht-Patent-Dokument 1 oder Ähnlichem offenbart wird. Es sei angemerkt, dass die 3D-Daten die Forminformationen und ein Farbbild vom Blickpunkt jeder Kamera aufweisen können. Die Bildverarbeitungseinheit liefert der Codiereinrichtung 12 die 3D-Daten.
-
Die Codiereinrichtung 12 weist eine Konvertierungseinheit 21, eine Codiereinheit 22, eine Speichereinheit 23 und eine Übertragungseinheit 24 auf.
-
Die Konvertierungseinheit 21 der Codiereinrichtung 12 teilt das 3D-Modell des Gegenstands in eines oder mehrere Objekte für jeden Frame auf der Basis der 3D-Daten auf, die von der Bilderfassungseinrichtung 11 geliefert werden. Für jeden Frame bestimmt die Konvertierungseinheit 21 des Weiteren auf der Basis der 3D-Daten des Frames und des vorhergehenden Frames den Blickpunkt jeder virtuellen Kamera entsprechend einem generierten Tiefenbild, so dass sich die zeitliche Änderung der Position eines Hauptobjekts im generierten Tiefenbild jeder virtuellen Kamera verringert. In diesem Beispiel sind die Blickpunkte von virtuellen Kameras entsprechend dem generierten Tiefenbild und einem Farbbild gleich, jedoch können sich virtuelle Kameras entsprechend dem Tiefenbild und dem Farbbild und die Anzahl virtueller Kameras unterscheiden.
-
Die Konvertierungseinheit 21 generiert externe und interne Parameter auf dem Weltkoordinatensystem der virtuellen Kamera von jedem bestimmten Blickpunkt. Des Weiteren wendet die Konvertierungseinheit 21 auf jede virtuelle Kamera eine Kamera-ID an, die für die virtuelle Kamera eindeutig ist. Die Konvertierungseinheit 21 generiert ein Farbbild jedes Objekts jedes Frames, der von der virtuellen Kamera erfasst wird, und ein dem Farbbild entsprechendes Tiefenbild auf der Basis von externen und internen Parametern der virtuellen Kamera und 3D-Daten des Objekts des Frames.
-
Zum Beispiel können Masayuki Tanimoto, „Toward the Ultimate Video Communication“, Technischer Bericht des IEICE, CS, Kommunikationsverfahren 110 (323), 73-78, 25.11.2010 und Ähnliche als ein Verfahren zum Generieren von Farbbildern und Tiefenbildern aus 3D-Daten eingesetzt werden.
-
Die Konvertierungseinheit 21 liefert der Codiereinheit 22 das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera. Des Weiteren liefert die Konvertierungseinheit 21 den externen Parameter, den internen Parameter und die Kamera-ID jeder virtuellen Kamera an die Speichereinheit 23 als Informationen des virtuellen Blickpunkts.
-
Zusätzlich generiert die Konvertierungseinheit 21 als Objektinformationen für jedes Objekt zum Beispiel Objektbereichsinformationen, die den Bereich des Objekts angeben, und eine dem Objekt entsprechende Farbbild-ID und Tiefenbild-ID. Die Farbbild-ID ist eine ID, die für das Farbbild eindeutig ist, und die Tiefenbild-ID ist eine ID, die für das Tiefenbild eindeutig ist. Die Konvertierungseinheit 21 generiert eine Objekttabelle, in der die Objektinformationen jedes Objekts registriert werden. Die Konvertierungseinheit 21 liefert die Objekttabelle an die Speichereinheit 23.
-
Die Codiereinheit 22 codiert das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera, die von der Konvertierungseinheit 21 geliefert werden. Das Codierschema kann zum Beispiel ein Advanced Video Coding (AVC-) Schema oder ein High Efficiency Video Coding (HEVC-) Schema sein. Die Codiereinheit 22 liefert der Speichereinheit 23 einen codierten Datenstrom, der über das Codieren ermittelt wird.
-
Die Speichereinheit 23 speichert die Informationen des virtuellen Blickpunkts und die Objekttabelle, die von der Konvertierungseinheit 21 geliefert werden, und den codierten Datenstrom, der von der Codiereinheit 22 geliefert wird.
-
Die Übertragungseinheit 24 liest als Metadaten die Informationen des virtuellen Blickpunkts und die Objekttabelle, die in der Speichereinheit 23 gespeichert sind, und überträgt die Metadaten an die Decodiereinrichtung 13 und liest ebenfalls den codierten Datenstrom und überträgt den codierten Datenstrom an die Decodiereinrichtung 13.
-
Die Decodiereinrichtung 13 weist eine Empfangseinheit 31, eine Decodiereinheit 32, eine Rekonstruktionseinheit 33 und eine Zeichnungseinheit 34 auf. Externe und interne Parameter im Weltkoordinatensystem eines Anzeigeblickpunkts werden durch einen Nutzer, der die Anzeigeeinrichtung 14 betrachtet, in die Decodiereinrichtung 13 eingegeben und der Zeichnungseinheit 34 als Informationen des Anzeigeblickpunkts geliefert.
-
Die Empfangseinheit 31 der Decodiereinrichtung 13 empfängt die Informationen des virtuellen Blickpunkts, die Objekttabelle und den codierten Datenstrom, die von der Übertragungseinheit 24 der Codiereinrichtung 12 übertragen werden. Die Empfangseinheit 31 liefert die Informationen des virtuellen Blickpunkts und die Objekttabelle an die Rekonstruktionseinheit 33 und liefert den codierten Datenstrom an die Decodiereinheit 32.
-
Die Decodiereinheit 32 decodiert den codierten Datenstrom, der von der Empfangseinheit 31 geliefert wird, durch ein dem Codierschema in der Codiereinheit 22 entsprechendes Schema. Die Decodiereinheit 32 liefert das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera, die als ein Ergebnis ermittelt werden, an die Rekonstruktionseinheit 33.
-
In gleicher Weise wie die Bildverarbeitungseinheit der Bilderfassungseinrichtung 11 rekonstruiert (generiert) die Rekonstruktionseinheit 33 (Objektgenerierungseinheit) 3D-Daten jedes Objekts auf der Basis der Objekttabelle, das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera und die Informationen des virtuellen Blickpunkts. Die Rekonstruktionseinheit 33 liefert die 3D-Daten jedes Objekts an die Zeichnungseinheit 34.
-
In gleicher Weise wie die Konvertierungseinheit 21 generiert die Zeichnungseinheit 34 auf der Basis der Informationen des Anzeigeblickpunkts und der 3D-Daten jedes Objekts, die von der Rekonstruktionseinheit 33 geliefert werden, ein Farbbild, das über Bilderfassung aller Objekte aus dem Anzeigeblickpunkt ermittelt wird, als ein Anzeigebild. Die Zeichnungseinheit 34 liefert das Anzeigebild an die Anzeigeeinrichtung 14.
-
Die Anzeigeeinrichtung 14 weist zum Beispiel ein zweidimensionales Head-Mounted Display (HMD) oder einen zweidimensionalen Monitor auf. Die Anzeigeeinrichtung 14 zeigt das Anzeigebild zweidimensional auf der Basis des von der Rekonstruktionseinheit 33 gelieferten Anzeigebildes an.
-
Es sei angemerkt, dass die Anzeigeeinrichtung 14 ein dreidimensionales Head-Mounted Display, einen dreidimensionalen Monitor oder Ähnliches aufweisen kann. In diesem Fall generiert die Zeichnungseinheit 34, ähnlich der Konvertierungseinheit 21, ein Tiefenbild vom Anzeigeblickpunkt auf der Basis der Informationen des Anzeigeblickpunkts und der 3D-Daten jedes Objekts und liefert das Tiefenbild an die Anzeigeeinrichtung 14. Die Anzeigeeinrichtung 14 zeigt das Anzeigebild dreidimensional auf der Basis des Anzeigebilds und des Tiefenbilds an, die von der Zeichnungseinheit 34 geliefert werden.
-
In dem in der 1 veranschaulichten Beispiel generiert die Rekonstruktionseinheit 33 des Weiteren die 3D-Daten aller Objekte, die im 3D-Modell aufgewiesen sind, kann aber auch nur die 3D-Daten eines vorbestimmten Objekts generieren, das durch einen Betrachter oder Ähnliches aus allen im 3D-Modell aufgewiesenen Objekten vorgegeben wird.
-
(Beispielhafte Gestaltung der Konvertierungseinheit)
-
Die 2 ist ein Blockdiagramm, das eine beispielhafte Gestaltung der Konvertierungseinheit 21 in der 1 veranschaulicht.
-
Die Konvertierungseinheit 21 in der 2 weist eine Objektbestimmungseinheit 51, eine Blickpunktbestimmungseinheit 52, eine Farbbild-Generierungseinheit 53, eine Tiefenbild-Generierungseinheit 54, eine Objektbereichsinformations-Generierungseinheit 55 und eine Objekttabellen-Generierungseinheit 56 auf.
-
Die Objektbestimmungseinheit 51 der Konvertierungseinheit 21 teilt das 3D-Modell des Gegenstands in eines oder mehrere Objekte für jeden Frame auf der Basis der 3D-Daten auf, die von der Bilderfassungseinrichtung 11 in der 1 geliefert werden. Des Weiteren wendet die Objektbestimmungseinheit 51 auf jedes Objekt eine Objekt-ID an, die für das Objekt eindeutig ist. Die Objektbestimmungseinheit 51 liefert der Blickpunktbestimmungseinheit 52, der Farbbild-Generierungseinheit 53 und der Tiefenbild-Generierungseinheit 54 für jeden Frame die 3D-Daten und die Objekt-ID jedes Objekts in Verknüpfung miteinander.
-
Die Blickpunktbestimmungseinheit 52 hält die 3D-Daten und die Objekt-ID jedes Objekts des vorhergehenden Frames des aktuellen Frames, während die 3D-Daten mit der Objekt-ID verknüpft werden. Des Weiteren hält die Blickpunktbestimmungseinheit 52 die Informationen des virtuellen Blickpunkts des vorhergehenden Frames des aktuellen Frames. Die Blickpunktbestimmungseinheit 52 wählt für jeden Frame ein Hauptobjekt aus allen Objekten auf der Basis der 3D-Daten jedes Objekts aus, die von der Objektbestimmungseinheit 51 geliefert werden. Dann erkennt die Blickpunktbestimmungseinheit 52 die Objekt-ID des ausgewählten Hauptobjekts auf der Basis der Korrespondenzbeziehung zwischen den 3D-Daten und der Objekt-ID jedes Objekts, die von der Objektbestimmungseinheit 51 geliefert werden.
-
Die Blickpunktbestimmungseinheit 52 liest 3D-Daten des Hauptobjekts des vorhergehenden Frames auf der Basis der erkannten Objekt-ID des Hauptobjekts und der gehaltenen Korrespondenzbeziehung zwischen den 3D-Daten und der Objekt-ID jedes Objekts des vorhergehenden Frames. Die Blickpunktbestimmungseinheit 52 bestimmt Blickpunkte mehrerer virtueller Kameras entsprechend dem Tiefenbild des aktuellen Frames, das durch die Tiefenbild-Generierungseinheit 54 generiert wird, auf der Basis der gelesenen 3D-Daten des Hauptobjekts des vorhergehenden Frames, der Informationen des virtuellen Blickpunkts und der 3D-Daten des Hauptobjekts des aktuellen Frames.
-
Insbesondere ändert die Blickpunktbestimmungseinheit 52 für jede virtuelle Kamera den Blickpunkt der virtuellen Kamera des vorhergehenden Frames, so dass sich die zeitliche Änderung der Position des Hauptobjekts des Tiefenbilds des aktuellen Frames, das von der Tiefenbild-Generierungseinheit 54 generiert wird, verringert, und bestimmt den geänderten Blickpunkt der virtuellen Kamera als den Blickpunkt der virtuellen Kamera des aktuellen Frames.
-
Die Blickpunktbestimmungseinheit 52 generiert Informationen des virtuellen Blickpunkts der virtuellen Kamera von jedem bestimmten Blickpunkt und liefert die Informationen des virtuellen Blickpunkts an die Farbbild-Generierungseinheit 53, die Tiefenbild-Generierungseinheit 54 und die Speichereinheit 23 in der 1. Des Weiteren hält die Blickpunktbestimmungseinheit 52 die Informationen des virtuellen Blickpunkts des aktuellen Frames. Des Weiteren hält die Blickpunktbestimmungseinheit 52 die 3D-Daten und die Objekt-ID jedes Objekts, während die 3D-Daten mit der Objekt-ID verknüpft werden.
-
Die Farbbild-Generierungseinheit 53 generiert ein Farbbild jeder virtuellen Kamera für jedes Objekt auf der Basis der 3D-Daten jedes Objekts, die von der Objektbestimmungseinheit 51 geliefert werden, und der Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden. Die Farbbild-Generierungseinheit 53 liefert das Farbbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22 in der 1. Des Weiteren wendet die Farbbild-Generierungseinheit 53 eine Farbbild-ID auf jedes Farbbild an. Die Farbbild-Generierungseinheit 53 liefert die Farbbild-ID des Farbbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 56.
-
Die Tiefenbild-Generierungseinheit 54 generiert ein Tiefenbild jeder von mehreren virtuellen Kameras für jedes Objekt auf der Basis der 3D-Daten jedes Objekts, die von der Objektbestimmungseinheit 51 geliefert werden, und der Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden.
-
Dieses Tiefenbild ist zum Beispiel ein Bild, in dem ein Wert, der durch Quantisieren eines Abstands z zwischen dem Objekt und der virtuellen Kamera entsprechend jedem Pixel in der Tiefenrichtung ermittelt wird, der Pixelwert dieses Pixels ist. Des Weiteren ist der Schritt der Quantisierung des Abstands z ein Wert, der durch Dividieren des Bereichs des Abstands z im Tiefenbild durch den zulässigen Bereich eines Pixelwerts des Tiefenbilds ermittelt wird.
-
Die Tiefenbild-Generierungseinheit 54 generiert ein Tiefenbild für jedes Objekt, und somit ist die Größe des Bereichs des Abstands z im Tiefenbild gleich oder kleiner als die Größe des Bereichs des Abstands z in den Tiefenbildern aller Objekte. Dementsprechend ist der Bereich des Abstands z im Tiefenbild für jedes Objekt ein Bereich, der für das Objekt geeignet ist. Somit verringert sich der Quantisierungsschritt des Tiefenbilds jedes Objekts im Vergleich zum Quantisierungsschritt der Tiefenbilder aller Objekte. Als Ergebnis verbessert sich die Genauigkeit des Tiefenbilds jedes Objekt im Vergleich zur Genauigkeit jedes Objekts in den Tiefenbildern aller Objekte.
-
Die Tiefenbild-Generierungseinheit 54 liefert das Tiefenbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22 in der 1. Des Weiteren wendet die Tiefenbild-Generierungseinheit 54 eine Tiefenbild-ID auf jedes Tiefenbild an. Die Tiefenbild-Generierungseinheit 54 liefert die Tiefenbild-ID des Tiefenbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 56.
-
Des Weiteren generiert die Tiefenbild-Generierungseinheit 54 Informationen der zweidimensionalen Position, die den Bereich der zweidimensionalen Position eines Objekts in jedem Tiefenbild angeben. Zusätzlich generiert die Tiefenbild-Generierungseinheit 54 einen Minimalwert zmin und einen Maximalwert zmax des Abstands z, die den Bereich des Abstands z angeben, der verwendet wird, um jedes Tiefenbild zu generieren. Die Tiefenbild-Generierungseinheit 54 liefert die Informationen der zweidimensionalen Position, den Minimalwert zmin und den Maximalwert zmax jedes Tiefenbilds an die Objektbereichsinformations-Generierungseinheit 55 in Verknüpfung mit der Objekt-ID und der Kamera-ID entsprechend dem Tiefenbild.
-
Die Objektbereichsinformations-Generierungseinheit 55 generiert als Objektbereichsinformationen für jede Objekt-ID und jede Kamera-ID die Informationen der zweidimensionalen Position, den Minimalwert zmin und den Maximalwert zmax, die von der Tiefenbild-Generierungseinheit 54 geliefert werden, und liefert die Objektbereichsinformationen an die Objekttabellen-Generierungseinheit 56.
-
Die Objekttabellen-Generierungseinheit 56 generiert eine Tabellenregistrierung in Verknüpfung mit einer Objekt-ID und einer Kamera-ID, der Farbbild-ID, der Tiefenbild-ID und den Objektbereichsinformationen, die der Objekt-ID und der Kamera-ID entsprechen. Die Objekttabellen-Generierungseinheit 56 liefert die generierte Tabelle an die Speichereinheit 23 in der 1 als eine Objekttabelle, die eine in Beziehung zu einem Objekt stehende Tabelle ist.
-
Wie oben beschrieben wird, ändert die Konvertierungseinheit 21 den Blickpunkt des Tiefenbilds, so dass sich die Variation der Position des Hauptobjekts im Tiefenbild zwischen Frames verringert. Sogar in einem Fall, in dem sich das Hauptobjekt bewegt, kann somit die Konvertierungseinheit 21 ein Tiefenbild generieren, in dem ein dem Hauptobjekt entsprechender Pixelwert immer an einer im Wesentlichen gleichen Position vorhanden ist. Als ein Ergebnis ist es wahrscheinlich, dass ein Bewegungsvektor, der im codierten Datenstrom aufgewiesen ist, wenn das Tiefenbild von der Codiereinheit 22 codiert wird, kleiner wird und sich das Komprimierungsverhältnis des Tiefenbilds verbessert.
-
(Beschreibung des Bestimmungsverfahrens für einen virtuellen Kamerablickpunkt)
-
Die 3 ist ein Diagramm zur Beschreibung des Verfahrens der Bestimmung des virtuellen Kamerablickpunkts durch die Blickpunktbestimmungseinheit 52 in der 2.
-
Die Blickpunktbestimmungseinheit 52 bestimmt auf der Basis von 3D-Daten der mehreren Objekte, die von der Objektbestimmungseinheit 51 geliefert werden, dass das Hauptobjekt eines von mehreren Objekten ist. Insbesondere bestimmt die Blickpunktbestimmungseinheit 52, dass das Hauptobjekt ein Objekt ist, das unter den mehreren Objekten eine größte Bounding Box aufweist. In dem in der 3 veranschaulichten Beispiel ist das Hauptobjekt ein Objekt 71.
-
Anschließend generiert die Blickpunktbestimmungseinheit 52 das Hauptobjekt 71 im Weltkoordinatensystem auf der Basis von 3D-Daten des Objekts 71, die von der Objektbestimmungseinheit 51 geliefert werden. In dem in der 3 veranschaulichten Beispiel ist der Blickwinkel der virtuellen Kamera in der x-Richtung zwischen dem aktuellen Frame und dem vorhergehenden Frame ein Winkel θ. Im aktuellen Frame bewegt sich des Weiteren das Objekt 71 in der x-Richtung (der Rechtsrichtung in der Zeichnung) im Kamerakoordinatensystem einer vorbestimmten virtuellen Kamera des vorhergehenden Frames, und eine dreidimensionale Position s eines Baryzentrums 71A des Objekts 71 im Weltkoordinatensystem bewegt sich zu einer dreidimensionalen Position s'. Das Kamerakoordinatensystem sind xyz-Koordinaten mit einem Ursprung o an einer dreidimensionalen Position im Weltkoordinatensystem der virtuellen Kamera und einer z-Richtung in der Tiefenrichtung der virtuellen Kamera.
-
Wie in A der 3 veranschaulicht wird, bewegt sich, wenn die virtuelle Kamera, die im Ursprung o des vorhergehenden Frames vorhanden ist, als die virtuelle Kamera des aktuellen Frames verwendet wird, in diesem Fall eine Position p1 des Objekts 71 in einem Tiefenbild 72 der virtuellen Kamera in der x-Richtung, um zur Position p1' zu werden.
-
Somit projiziert die Blickpunktbestimmungseinheit 52 das Baryzentrum 71A des Objekts 71 auf das Tiefenbild 72 auf der Basis der 3D-Daten des Objekts 71 des aktuellen Frames. Des Weiteren projiziert die Blickpunktbestimmungseinheit 52 das Baryzentrum 71A auf das Tiefenbild 72 auf der Basis der 3D-Daten des Objekts 71 des vorhergehenden Frames des aktuellen Frames. Dann berechnet die Blickpunktbestimmungseinheit 52 eine Translationsbewegung d von der Position p1 des Baryzentrums 71A des vorhergehenden Frames zur Position p1' des Baryzentrums 71A des aktuellen Frames im Tiefenbild 72 in der x-Richtung. Dann hebt die Blickpunktbestimmungseinheit 52 die Bewegung des Objekts 71 in der x-Richtung auf, indem sie bestimmt, dass der Blickpunkt der virtuellen Kamera des Tiefenbilds des aktuellen Frames ein Blickpunkt a ist, der durch die Translationsbewegungsgröße d vom Ursprung o in einer Richtung, entgegengesetzt zur x-Richtung, verschoben ist.
-
Als ein Ergebnis ist, wie in B der 3 veranschaulicht wird, die Differenz zwischen einer Position p2 des Baryzentrums 71A im Tiefenbild 72, die einen Blickpunkt im Ursprung o aufweist, und einer Position p2' des Baryzentrums 71A in einem Tiefenbild 73 vom Blickpunkt a im Wesentlichen null. Die Blickpunktbestimmungseinheit 52 bewegt den Blickpunkt jeder anderen virtuellen Kamera auf eine ähnliche Art und Weise.
-
Wie oben beschrieben wird, reduziert die Blickpunktbestimmungseinheit 52 die zeitliche Änderung der Position des Baryzentrums 71A in einem Tiefenbild, indem sie den Blickpunkt einer virtuellen Kamera auf der Basis von Bewegung des Objekts 71 bewegt, um die Bewegung aufzuheben.
-
(Beispielhafte Gestaltung der Tiefenbild-Generierungseinheit)
-
Die 4 ist ein Blockdiagramm, das eine beispielhafte Gestaltung der Tiefenbild-Generierungseinheit 54 in der 2 veranschaulicht.
-
Die Tiefenbild-Generierungseinheit 54 in der 4 weist eine z-Bereichs-Berechnungseinheit 81, eine Berechnungseinheit 82 für Informationen der zweidimensionalen Position und eine Bildgenerierungseinheit 83 auf. Die 3D-Daten und die Objekt-ID jedes Objekts, die von der Objektbestimmungseinheit 51 in der 2 geliefert werden, und die Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden, werden an die z-Bereichs-Berechnungseinheit 81, die Berechnungseinheit 82 für Informationen der zweidimensionalen Position und die Bildgenerierungseinheit 83 geliefert.
-
Die z-Bereichs-Berechnungseinheit 81 der Tiefenbild-Generierungseinheit 54 berechnet auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts jedes Objekts den Minimalwert zmin und den Maximalwert zmax in einem Tiefenbild jedes Objekts jeder virtuellen Kamera. Die z-Bereichs-Berechnungseinheit 81 liefert den Minimalwert zmin und den Maximalwert zmax in jedem Tiefenbild an die Objektbereichsinformations-Generierungseinheit 55 in der 2 in Verknüpfung mit der dem Tiefenbild entsprechenden Objekt-ID und Kamera-ID. Des Weiteren liefert die z-Bereichs-Berechnungseinheit 81 den Minimalwert zmin und den Maximalwert zmax für jedes Objekt und jede virtuelle Kamera an die Bildgenerierungseinheit 83.
-
Die Berechnungseinheit 82 für Informationen der zweidimensionalen Position berechnet auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts jedes Objekts Informationen der zweidimensionalen Position des Objekts im Tiefenbild des Objekts der virtuellen Kamera. Die Berechnungseinheit 82 für Informationen der zweidimensionalen Position liefert die Informationen der zweidimensionalen Position jedes Tiefenbilds an die Objektbereichsinformations-Generierungseinheit 55 in der 2 in Verknüpfung mit der dem Tiefenbild entsprechenden Objekt-ID und Kamera-ID. Des Weiteren liefert die Berechnungseinheit 82 für Informationen der zweidimensionalen Position die Informationen der zweidimensionalen Position für jedes Objekt und jede virtuelle Kamera an die Bildgenerierungseinheit 83.
-
Die Bildgenerierungseinheit 83 berechnet für jedes Objekt und jede virtuelle Kamera den Abstand z des Objekts projiziert auf jedes Pixel in einem Bereich, der durch die Informationen der zweidimensionalen Position angegeben wird, die von der Berechnungseinheit 82 für Informationen der zweidimensionalen Position geliefert werden, auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts des Objekts. Die Bildgenerierungseinheit 83 quantisiert für jedes Objekt und jede virtuelle Kamera den Abstand z jedes Pixels auf der Basis des Minimumwerts zmin und des Maximalwerts zmax, die von der z-Bereichs-Berechnungseinheit 81 geliefert werden, und generiert einen Pixelwert. Die Bildgenerierungseinheit 83 generiert für jedes Objekt und jede virtuelle Kamera ein Tiefenbild, in dem der Pixelwert jedes Pixels in dem Bereich im Tiefenbild, der durch die Informationen der zweidimensionalen Position angegeben wird, der generierte Pixelwert und der Pixelwert irgendeines anderen Pixel ein optionaler fester Wert ist, und liefert das Tiefenbild an die Codiereinheit 22 in der 1.
-
Des Weiteren wendet die Bildgenerierungseinheit 83 eine Tiefenbild-ID auf jedes Tiefenbild an. Dann liefert die Bildgenerierungseinheit 83 die Tiefenbild-ID eines Tiefenbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 56 in der 2.
-
(Beschreibung eines Tiefenbilds jedes Objekts einer vorbestimmten virtuellen Kamera)
-
Die 5 ist ein Diagramm zur Beschreibung eines Tiefenbilds jedes Objekts einer vorbestimmten virtuellen Kamera, das durch die Tiefenbild-Generierungseinheit 54 in der 2 generiert wird.
-
In dem in der 5 veranschaulichten Beispiel wird ein 3D-Modell 90 des Gegenstands in drei Objekte 91 bis 93 aufgeteilt. Des Weiteren ist ein Farbbild 100 ein Farbbild des gesamten 3D-Modells 90 der vorbestimmten virtuellen Kamera.
-
In diesem Fall generiert die Tiefenbild-Generierungseinheit 54 auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts des Objekts 91 ein Tiefenbild 101, von dem ein Pixelwert in einem Bereich, der dem Bereich des Objekts 91 im Farbbild 100 entspricht, eine vorbestimmte Größe (Auflösung) aufweist, die den Abstand z des Objekts 91 angibt. Der Pixelwert irgendeines Pixels des Tiefenbilds 101, das ein anderes Pixel als ein Pixel ist, dessen Pixelwert den Abstand z des Objekts 91 ausdrückt, ist ein optionaler fester Wert (null in dem in der 5 veranschaulichten Beispiel).
-
Gleichermaßen generiert die Tiefenbild-Generierungseinheit 54 ein Tiefenbild 102 mit einer vorbestimmten Größe auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts des Objekts 92 und generiert ein Tiefenbild 103 mit einer vorbestimmten Größe auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts des Objekts 93.
-
Es sei angemerkt, dass die Größe eines Tiefenbilds für jedes Objekt unterschiedlich sein kann. In diesem Fall generiert die Tiefenbild-Generierungseinheit 54 zum Beispiel ein Tiefenbild 111, von dem ein Pixelwert in einem Bereich, der dem Bereich des Objekts 91 im Farbbild 100 entspricht, den Abstand z des Objekts 91 angibt, und das eine kleinste rechteckige Form aufweist, die diesen Bereich aufweist. Gleichermaßen generiert die Tiefenbild-Generierungseinheit 54 ein Tiefenbild 112 mit einer kleinsten rechteckigen Form, die einen Bereich aufweist, der dem Bereich des Objekts 91 im Farbbild 100 entspricht, und ein Tiefenbild 113 mit einer kleinsten rechteckigen Form, die einen Bereich aufweist, der dem Bereich des Objekts 91 im Farbbild 100 entspricht.
-
In diesem Fall kann die Datenmenge eines Tiefenbilds im Vergleich zu einem Fall reduziert werden, in dem ein Tiefenbild des gesamten 3D-Modells generiert wird. Somit kann die Codiereinrichtung 12 die Übertragungsmenge des Tiefenbilds reduzieren.
-
(Beschreibung von Informationen der zweidimensionalen Position)
-
Die 6 ist ein Diagramm zur Beschreibung von Informationen der zweidimensionalen Position, die durch die Tiefenbild-Generierungseinheit 54 in der 2 generiert werden.
-
Wie in der 6 veranschaulicht wird, weisen die Informationen der zweidimensionalen Position eines Tiefenbilds 130 einen Minimalwert umin und einen Maximalwert umax der u-Koordinate und einen Minimalwert vmin und einen Maximalwert vmax der v-Koordinate im uv-Koordinatensystem eines Objekts 131 im Tiefenbild 130 auf. Das uv-Koordinatensystem ist ein zweidimensionales Koordinatensystem mit dem Ursprung o an der Position oben rechts des Tiefenbilds, der v-Richtung in der Linksrichtung und der u-Richtung in der Abwärtsrichtung.
-
(Beschreibung des Minimalwerts zmin und des Maximalwerts zmax)
-
Die 7 ist ein Diagramm zur Beschreibung des Minimalwerts zmin und des Maximalwerts zmax.
-
Wie in der 7 veranschaulicht wird, sind der Minimalwert zmin und der Maximalwert zmax, die verwendet werden, um den Pixelwert eines Tiefenbilds eines Objekts 151 einer vorbestimmten virtuellen Kamera zu quantisieren, der Minimalwert und der Maximalwert der z-Koordinate des Objekts 151 im Kamerakoordinatensystem der virtuellen Kamera.
-
(Erstes Beispiel für die Objekttabelle)
-
Die 8 ist ein Diagramm, das eine beispielhafte Objekttabelle veranschaulicht, die durch die Objekttabellen-Generierungseinheit 56 in der 2 generiert wird.
-
Wie in der 8 veranschaulicht wird, sind in der Objekttabelle eine Tiefenbild-ID, eine Farbbild-ID und Objektbereichsinformationen in Verknüpfung mit einer Kamera-ID und einer Objekt-ID registriert.
-
In dem in der 8 veranschaulichten Beispiel ist die Anzahl an virtuellen Kameras eines Farbbilds und eines Tiefenbilds zwei, und die Kamera-IDs der beiden virtuellen Kameras sind 0 und 1. Des Weiteren ist die Anzahl an Objekten drei, und die Objekt-IDs der drei Objekte sind 0, 1 und 2. Somit sind die Anzahl an Farbbildern und die Anzahl an Tiefenbildern jeweils sechs (= 2x3).
-
Des Weiteren sind die Tiefenbild-IDs der Tiefenbilder der Objekte mit den Objekt-IDs 0, 1 und 2 und der virtuellen Kamera mit der Kamera-ID 0 und die Farbbild-IDs der Farbbilder davon 0, 1 und 2. Zusätzlich sind die Tiefenbild-IDs der Tiefenbilder der Objekte mit den Objekt-IDs 0, 1 und 2 und der virtuellen Kamera mit der Kamera-ID 1 und die Farbbild-IDs der Farbbilder davon 3, 4 und 5.
-
Die Decodiereinrichtung 13 kann einen dreidimensionalen Bereich, der jedes Objekt im Kamerakoordinatensystem jeder virtuellen Kamera aufweist, auf der Basis der Bereichsinformationen jedes Objekts und der Informationen jedes virtuellen Blickpunkts erkennen, die in der Objekttabelle registriert sind. Somit kann die Decodiereinrichtung 13 einen dreidimensionalen Bereich, der jedes Objekt im Weltkoordinatensystem aufweist, auf der Basis der Informationen des virtuellen Blickpunkts und den dreidimensionalen Bereich, der das Objekt im Kamerakoordinatensystem jeder virtuellen Kamera aufweist, erkennen.
-
Somit kann die Decodiereinrichtung 13 jedes Objekt mit dem erkannten dreidimensionalen Bereich im Weltkoordinatensystem als einen Verarbeitungsbereich rekonstruieren, indem ein Tiefenbild und ein Farbbild des Objekts jeder virtuellen Kamera verwendet werden. Somit kann das Objekt einfach rekonstruiert werden, im Vergleich zu einem Fall, bei dem das Objekt mit dem gesamten Bilderfassungsbereich der virtuellen Kamera im Weltkoordinatensystem als einem Verarbeitungsbereich rekonstruiert wird.
-
Des Weiteren kann die Decodiereinrichtung 13 den Pixelwert eines Tiefenbilds jeder Tiefenbild-ID im Abstand z auf der Basis des Minimalwerts zmin und des Maximalwerts zmax, die in der Objekttabelle in Verknüpfung mit der Tiefenbild-ID registriert sind, invers quantisieren.
-
(Beschreibung der Verarbeitung des Bildverarbeitungssystems)
-
Die 9 ist ein Flussdiagramm zur Beschreibung von Codierungsverarbeitung durch die Codiereinrichtung 12 in der 1. Diese Codierungsverarbeitung wird zum Beispiel gestartet, wenn 3D-Daten jedes Frames von der Bilderfassungseinrichtung 11 geliefert werden.
-
Im Schritt S11 in der 9 teilt die Objektbestimmungseinheit 51 (2) der Konvertierungseinheit 21 der Codiereinrichtung 12 das 3D-Modell des Gegenstands in eines oder mehrere Objekte auf der Basis der 3D-Daten auf, die von der Bilderfassungseinrichtung 11 geliefert werden. Des Weiteren wendet die Objektbestimmungseinheit 51 auf jedes Objekt eine Objekt-ID an. Die Objektbestimmungseinheit 51 liefert der Blickpunktbestimmungseinheit 52, der Farbbild-Generierungseinheit 53 und der Tiefenbild-Generierungseinheit 54 die 3D-Daten und die Objekt-ID jedes Objekts.
-
Im Schritt S12 führt die Blickpunktbestimmungseinheit 52 die Hauptobjekt-Auswahlverarbeitung zum Auswählen eines Hauptobjekts aus allen Objekten auf der Basis der 3D-Daten jedes Objekts aus, die von der Objektbestimmungseinheit 51 geliefert werden. Die Hauptobjekt-Auswahlverarbeitung wird später ausführlich unter Bezugnahme auf die 10 beschrieben.
-
Im Schritt S13 führt die Blickpunktbestimmungseinheit 52 die Blickpunktbestimmungsverarbeitung zum Bestimmen des Blickpunkts jeder virtuellen Kamera entsprechend zu generierten Farb- und Tiefenbildern durch. Die Blickpunktbestimmungsverarbeitung wird später ausführlich unter Bezugnahme auf die 11 beschrieben.
-
Im Schritt S14 generiert die Farbbild-Generierungseinheit 53 ein Farbbild jeder virtuellen Kamera für jedes Objekt auf der Basis der 3D-Daten jedes Objekts, die von der Objektbestimmungseinheit 51 geliefert werden, und der Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden. Die Farbbild-Generierungseinheit 53 liefert das Farbbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22 in der 1. Des Weiteren wendet die Farbbild-Generierungseinheit 53 eine Farbbild-ID auf jedes Farbbild an. Die Farbbild-Generierungseinheit 53 liefert die Farbbild-ID des Farbbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 56.
-
Im Schritt S15 berechnet die z-Bereichs-Berechnungseinheit 81 (4) der Tiefenbild-Generierungseinheit 54 den Minimalwert zmin und den Maximalwert zmax in einem Tiefenbild jedes Objekts jeder virtuellen Kamera auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts jedes Objekts. Die z-Bereichs-Berechnungseinheit 81 liefert den Minimalwert zmin und den Maximalwert zmax in jedem Tiefenbild an die Objektbereichsinformations-Generierungseinheit 55 in Verknüpfung mit der dem Tiefenbild entsprechenden Objekt-ID und Kamera-ID. Des Weiteren liefert die z-Bereichs-Berechnungseinheit 81 den Minimalwert zmin und den Maximalwert zmax für jedes Objekt und jede virtuelle Kamera an die Bildgenerierungseinheit 83.
-
Im Schritt S16 berechnet die Berechnungseinheit 82 für Informationen der zweidimensionalen Position auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts jedes Objekts Informationen der zweidimensionalen Position des Objekts im Tiefenbild jedes Objekts jeder virtuellen Kamera. Die Berechnungseinheit 82 für Informationen der zweidimensionalen Position liefert die Informationen der zweidimensionalen Position jedes Tiefenbilds an die Objektbereichsinformations-Generierungseinheit 55 in Verknüpfung mit der dem Tiefenbild entsprechenden Objekt-ID und Kamera-ID. Des Weiteren liefert die Berechnungseinheit 82 für Informationen der zweidimensionalen Position die Informationen der zweidimensionalen Position für jedes Objekt und jede virtuelle Kamera an die Bildgenerierungseinheit 83.
-
Im Schritt S17 generiert die Bildgenerierungseinheit 83 ein Tiefenbild jedes Objekts jeder virtuellen Kamera auf der Basis der 3D-Daten und der Informationen des virtuellen Blickpunkts des Objekts und des Minimalwerts zmin, des Maximalwerts zmax und der Informationen der zweidimensionalen Position für das Objekt und die virtuelle Kamera. Die Bildgenerierungseinheit 83 liefert das Tiefenbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22. Des Weiteren wendet die Bildgenerierungseinheit 83 eine Tiefenbild-ID auf jedes Tiefenbild an. Dann liefert die Bildgenerierungseinheit 83 die Tiefenbild-ID des Tiefenbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 56.
-
Im Schritt S18 generiert die Objektbereichsinformations-Generierungseinheit 55 als Objektbereichsinformationen die Informationen der zweidimensionalen Position, den Minimalwert zmin und den Maximalwert zmax für jede Objekt-ID und jede Kamera-ID und liefert die Objektbereichsinformationen an die Objekttabellen-Generierungseinheit 56.
-
Im Schritt S19 generiert die Objekttabellen-Generierungseinheit 56 eine Objekttabelle, in der die Farbbild-ID, die Tiefenbild-ID und die Objektbereichsinformationen, die einer Objekt-ID und einer Kamera-ID entsprechen, in Verknüpfung mit der Objekt-ID und der Kamera-ID registriert werden. Die Objekttabellen-Generierungseinheit 56 liefert die Objekttabelle an die Speichereinheit 23.
-
Im Schritt S20 codiert die Codiereinheit 22 das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera. Die Codiereinheit 22 liefert der Speichereinheit 23 einen codierten Datenstrom, der über das Codieren ermittelt wird.
-
Im Schritt S21 speichert die Speichereinheit 23 die Informationen des virtuellen Blickpunkts, die Objekttabelle und den codierten Datenstrom.
-
Im Schritt S22 liest die Übertragungseinheit 24 die Informationen des virtuellen Blickpunkts, die Objekttabelle und den codierten Datenstrom, die in der Speichereinheit 23 gespeichert sind, und überträgt die Informationen des virtuellen Blickpunkts, die Objekttabelle und den codierten Datenstrom an die Decodiereinrichtung 13. Dann endet die Verarbeitung.
-
Die 10 ist ein Flussdiagramm zur Beschreibung von Details der Hauptobjekt-Auswahlverarbeitung im Schritt S12 in der 9.
-
Im Schritt S30 in der 10 erfasst die Blickpunktbestimmungseinheit 52 die 3D-Daten und die Objekt-ID jedes Objekts von der Objektbestimmungseinheit 51. Im Schritt S31 setzt die Blickpunktbestimmungseinheit 52 einen Zählwert P auf null.
-
Im Schritt S32 erstellt die Blickpunktbestimmungseinheit 52 auf der Basis der 3D-Daten eines Objekts, dessen Objekt-ID, die von der Objektbestimmungseinheit 51 erfasst wird, gleich dem Zählwert P ist, die Bounding Box des Objekts im Weltkoordinatensystem.
-
Im Schritt S33 bestimmt die Blickpunktbestimmungseinheit 52, ob die Größe der im Schritt S32 erstellten Bounding Box größer als ein Maximalwert MaxSize ist oder nicht. Es sei angemerkt, dass der Maximalwert MaxSize einen Anfangswert von null aufweist. In einem Fall, in dem die Verarbeitung im Schritt S34 noch durchzuführen ist, bestimmt somit die Verarbeitung im Schritt S33, dass die Größe der Bounding Box, die im Schritt S32 erstellt wird, größer als der Maximalwert MaxSize ist.
-
In einem Fall, in dem im Schritt S33 bestimmt wird, dass die Größe der im Schritt S32 erstellten Bounding Box größer als der Maximalwert MaxSize ist, fährt der Prozess mit dem Schritt S34 fort.
-
Im Schritt S34 setzt die Blickpunktbestimmungseinheit 52 die Größe der Bounding Box, die im Schritt S32 erstellt wird, des Objekts mit einer Objekt-ID, die gleich dem Zählwert P ist, als den Maximalwert MaxSize.
-
Im Schritt S35 setzt die Blickpunktbestimmungseinheit 52 das Hauptobjekt so, dass es das Objekt mit einer Objekt-ID ist, die gleich dem Zählwert P ist, und der Prozess fährt mit dem Schritt S36 fort.
-
In einem Fall, in dem im Schritt S33 bestimmt wird, dass die Größe der im Schritt S32 erstellten Bounding Box nicht größer als der Maximalwert MaxSize ist, fährt indessen der Prozess mit dem Schritt S36 fort.
-
Im Schritt S36 bestimmt die Blickpunktbestimmungseinheit 52, ob der Zählwert P gleich dem Maximalwert der Objekt-ID ist oder nicht. In einem Fall, in dem im Schritt S36 bestimmt wird, dass der Zählwert P nicht gleich dem Maximalwert der Objekt-ID ist, mit anderen Worten, in einem Fall, in dem die Verarbeitung in den Schritten S32 bis S35 noch für alle Objekte durchgeführt werden muss, fährt der Prozess mit dem Schritt S37 fort.
-
Im Schritt S37 inkrementiert die Blickpunktbestimmungseinheit 52 den Zählwert P um eins, und der Prozess kehrt zum Schritt S32 zurück. Dementsprechend wird die Verarbeitung in den Schritten S32 bis S37 wiederholt, bis der Zählwert P gleich dem Maximalwert der Objekt-ID wird.
-
In einem Fall, in dem im Schritt S36 bestimmt wird, dass der Zählwert P gleich dem Maximalwert der Objekt-ID ist, mit anderen Worten, in einem Fall, in dem die Verarbeitung in den Schritten S32 bis S35 für alle Objekte durchgeführt wird, wählt die Blickpunktbestimmungseinheit 52, als ein definitives Hauptobjekt, das gesetzte Objekt als das aktuelle Hauptobjekt aus. Dann kehrt der Prozess zum Schritt S12 in der 9 zurück und fährt mit dem Schritt S13 fort.
-
Die 11 ist ein Flussdiagramm zur Beschreibung von Details der Blickpunktbestimmungsverarbeitung im Schritt S13 in der 9. Die Blickpunktbestimmungsverarbeitung wird zum Beispiel für jede virtuelle Kamera durchgeführt.
-
Im Schritt S51 in der 11 berechnet die Blickpunktbestimmungseinheit 52 die dreidimensionale Position des Baryzentrums des Hauptobjekts des vorhergehenden Frames im Weltkoordinatensystem auf der Basis der gehaltenen 3D-Daten des Hauptobjekts des vorhergehenden Frames. Des Weiteren berechnet die Blickpunktbestimmungseinheit 52 die dreidimensionale Position des Baryzentrums des Hauptobjekts des aktuellen Frames im Weltkoordinatensystem auf der Basis der 3D-Daten des Hauptobjekts des aktuellen Frames (Verarbeitungsziel-Frame), die von der Objektbestimmungseinheit 51 geliefert werden.
-
Im Schritt S52 berechnet die Blickpunktbestimmungseinheit 52 auf der Basis der im Schritt S51 berechneten dreidimensionalen Position und der gehaltenen Informationen des virtuellen Blickpunkts des vorhergehenden Frames Positionen, an die die Baryzentren der Hauptobjekte des vorhergehenden Frames und des aktuellen Frames in einem Tiefenbild einer virtuellen Verarbeitungszielkamera projiziert werden.
-
Im Schritt S53 bestimmt die Blickpunktbestimmungseinheit 52 den Blickpunkt der virtuellen Verarbeitungszielkamera des aktuellen Frames, indem sie den Blickpunkt der virtuellen Verarbeitungszielkamera des vorhergehenden Frames um eine Bewegungsmenge von der Position des Baryzentrums des vorhergehenden Frames zu einer Position des Baryzentrums des aktuellen Frames bewegt, die im Schritt S52 berechnet werden.
-
Im Schritt S54 generiert die Blickpunktbestimmungseinheit 52 den externen Parameter, den internen Parameter und die Kamera-ID der virtuellen Kamera vom Blickpunkt, der im Schritt S53 bestimmt wird, und liefert den externen Parameter, den internen Parameter und die Kamera-ID an die Farbbild-Generierungseinheit 53, die Tiefenbild-Generierungseinheit 54 und die Speichereinheit 23.
-
Im Schritt S55 hält die Blickpunktbestimmungseinheit 52 den externen Parameter, den internen Parameter und die Kamera-ID, die im Schritt S54 generiert werden. Dann kehrt der Prozess zum Schritt S13 in der 9 zurück und fährt mit dem Schritt S14 fort.
-
Die 12 ist ein Flussdiagramm zur Beschreibung der Decodierungsverarbeitung durch die Decodiereinrichtung 13 in der 1. Die Decodierungsverarbeitung wird zum Beispiel gestartet, wenn der codierte Datenstrom, die Informationen des virtuellen Blickpunkts und die Objekttabelle von der Übertragungseinheit 24 der Codiereinrichtung 12 für jeden Frame übertragen werden.
-
Im Schritt S71 in der 12 empfängt die Empfangseinheit 31 der Decodiereinrichtung 13 die Informationen des virtuellen Blickpunkts, die Objekttabelle und den codierten Datenstrom, die von der Übertragungseinheit 24 der Codiereinrichtung 12 übertragen werden. Die Empfangseinheit 31 liefert die Informationen des virtuellen Blickpunkts und die Objekttabelle an die Rekonstruktionseinheit 33 und liefert den codierten Datenstrom an die Decodiereinheit 32.
-
Im Schritt S72 decodiert die Decodiereinheit 32 den codierten Datenstrom, der von der Empfangseinheit 31 geliefert wird, in ein dem Codierschema in der Codiereinheit 22 entsprechendes Schema. Die Decodiereinheit 32 liefert das Farbbild und das Tiefenbild jedes Objekts jeder virtuellen Kamera, die als ein Ergebnis ermittelt werden, an die Rekonstruktionseinheit 33.
-
Im Schritt S73 ermittelt die Rekonstruktionseinheit 33 den Abstand z durch Invers-Quantisieren des Pixelwerts jedes Tiefenbilds, das von der Decodiereinheit 32 geliefert wird, auf Basis des Minimalwerts zmin und des Maximalwerts zmax der Objekttabelle, die von der Empfangseinheit 31 geliefert wird.
-
Im Schritt S74 erkennt die Rekonstruktionseinheit 33 für jedes Objekt einen dreidimensionalen Bereich, der das Objekt im Weltkoordinatensystem aufweist, auf der Basis der Objekttabelle und der Informationen des virtuellen Blickpunkts.
-
Im Schritt S75 rekonstruiert die Rekonstruktionseinheit 33 jedes Objekt in dem im Schritt S74 erkannten dreidimensionalen Bereich auf der Basis des Abstands z entsprechend jedem Pixel des Tiefenbilds des Objekts, des Farbbilds und der Informationen des virtuellen Blickpunkts. Die Rekonstruktionseinheit 33 liefert 3D-Daten des rekonstruierten Objekts an die Zeichnungseinheit 34.
-
Im Schritt S76 generiert die Zeichnungseinheit 34, in gleicher Weise wie die Konvertierungseinheit 21, auf der Basis der Informationen des Anzeigeblickpunkts und der 3D-Daten jedes Objekts, die von der Rekonstruktionseinheit 33 geliefert werden, ein Farbbild, das über Bilderfassung aller Objekte aus dem Anzeigeblickpunkt ermittelt wird, als ein Anzeigebild. Die Zeichnungseinheit 34 liefert das Anzeigebild an die Anzeigeeinrichtung 14.
-
Wie oben beschrieben wird, generiert die Codiereinrichtung 12 das Tiefenbild jedes Objekts. Somit ist der Bereich des Abstands z in jedem Tiefenbild gleich oder kleiner als der Bereich des Abstands z im Tiefenbild des gesamten 3D-Modells. Dementsprechend verbessert sich die Genauigkeit eines 3D-Modell-Tiefenbilds im Vergleich zu einem Fall, in dem ein Tiefenbild des gesamten 3D-Modells generiert wird.
-
Des Weiteren generiert die Codiereinrichtung 12 die Objektbereichsinformationen jedes Objekts. Somit kann die Decodiereinrichtung 13 für jedes Objekt einen dreidimensionalen Bereich, der das Objekt im Weltkoordinatensystem aufweist, auf der Basis der Objektbereichsinformationen und der Informationen des virtuellen Blickpunkts des Objekts erkennen. Dementsprechend kann die Decodiereinrichtung 13 jedes Objekt rekonstruieren, mit dem dreidimensionalen Bereich, der das Objekt aufweist, als einem Verarbeitungsbereich. Als ein Ergebnis wird eine Last der Objektrekonstruktionsverarbeitung im Vergleich zu einem Fall reduziert, in dem der Verarbeitungsbereich der gesamte Bilderfassungsbereich einer virtuellen Kamera im Weltkoordinatensystem ist.
-
<Zweite Ausführungsform>
-
(Beispielhafte Gestaltung der Konvertierungseinheit)
-
Die Gestaltung des Bildverarbeitungssystems, auf das die vorliegende Offenbarung gemäß einer zweiten Ausführungsform angewendet wird, ist die gleiche wie die Gestaltung des Bildverarbeitungssystems 10 in der 1, außer der Gestaltung der Konvertierungseinheit 21 und der Gestaltung der Objekttabelle. Somit wird die Beschreibung von anderen Komponenten als der Konvertierungseinheit 21 nachstehend weggelassen, wie jeweils geeignet.
-
Die 13 ist ein Blockdiagramm, das eine beispielhafte Gestaltung der Konvertierungseinheit 21 im Bildverarbeitungssystem gemäß der zweiten Ausführungsform veranschaulicht, auf das die vorliegende Offenbarung angewendet wird.
-
In der in der 13 veranschaulichten Gestaltung wird jede Komponente, die die gleiche wie in der in der 2 veranschaulichten Gestaltung ist, mit dem gleichen Bezugszeichen bezeichnet. Eine doppelte Beschreibung wird weggelassen, wie jeweils geeignet.
-
Die Gestaltung der Konvertierungseinheit 21 in der 13 unterscheidet sich von der Gestaltung in der 2 darin, dass eine Blickpunktbestimmungseinheit 170, eine Tiefenbild-Generierungseinheit 171, eine Objektbereichsinformations-Generierungseinheit 172 und eine Objekttabellen-Generierungseinheit 173 anstelle der Blickpunktbestimmungseinheit 52, der Tiefenbild-Generierungseinheit 54, der Objektbereichsinformations-Generierungseinheit 55 bzw. der Objekttabellen-Generierungseinheit 56 bereitgestellt werden. Die Konvertierungseinheit 21 in der 13 generiert als die Objektbereichsinformationen Informationen, die den Bereich der Bounding Box jedes Objekts im Weltkoordinatensystem angeben.
-
Ähnlich der Blickpunktbestimmungseinheit 52 in der 2 führt die Blickpunktbestimmungseinheit 170 der Konvertierungseinheit 21 in der 13 insbesondere die Hauptobjekt-Auswahlverarbeitung in der 10 und die Blickpunktbestimmungsverarbeitung in der 11 durch. Die Blickpunktbestimmungseinheit 170 liefert Minimal- und Maximalwerte jeder der X-, Y- und Z-Koordinaten der Bounding Box jedes Objekts, das im Weltkoordinatensystem über die Verarbeitung im Schritt S32 in der 10 erstellt wird, an die Objektbereichsinformations-Generierungseinheit 172 in Verknüpfung mit der Objekt-ID des Objekts.
-
Die Tiefenbild-Generierungseinheit 171 generiert ein Tiefenbild jeder virtuellen Kamera für jedes Objekt auf der Basis der 3D-Daten des Objekts, die von der Objektbestimmungseinheit 51 geliefert werden, und der Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden. Die Tiefenbild-Generierungseinheit 171 liefert das Tiefenbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22 in der 1. Des Weiteren wendet die Tiefenbild-Generierungseinheit 171 eine Tiefenbild-ID auf jedes Tiefenbild an. Die Tiefenbild-Generierungseinheit 171 liefert die Tiefenbild-ID des Tiefenbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 173.
-
Die Objektbereichsinformations-Generierungseinheit 172 generiert als die Objektbereichsinformationen jedes Objekts einen Minimalwert Xmin und einen Maximalwert Xmax der X-Koordinate, einen Minimalwert Ymin und einen Maximalwert Ymax der Y-Koordinate und einen Minimalwert Zmin und einen Maximalwert Zmax der Z-Koordinate des Objekts, die von der Blickpunktbestimmungseinheit 170 geliefert werden. Die Objektbereichsinformations-Generierungseinheit 172 liefert die Objektbereichsinformationen jedes Objekts und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 173.
-
Die Objekttabellen-Generierungseinheit 173 generiert eine ID-Tabelle, in der die Farbbild-ID und die Tiefenbild-ID, die einer Objekt-ID und einer Kamera-ID entsprechen, in Verknüpfung mit der Objekt-ID und der Kamera-ID registriert werden. Des Weiteren generiert die Objekttabellen-Generierungseinheit 173 eine Bereichstabelle, in der die Objekt-ID und die Objektbereichsinformationen, die von der Objektbereichsinformations-Generierungseinheit 172 geliefert werden, registriert werden, während die Objekt-ID mit den Objektbereichsinformationen verknüpft wird. Die Objekttabellen-Generierungseinheit 173 liefert als die Objekttabelle die ID-Tabelle und die Bereichstabelle an die Speichereinheit 23 in der 1.
-
(Beispielhafte Objekt-Bounding-Box)
-
Die 14 ist ein Diagramm, das eine beispielhafte Objekt-Bounding-Box veranschaulicht, die durch die Blickpunkt-Bestimmungseinheit 170 in der 13 generiert wird.
-
Wie in der 14 veranschaulicht wird, ist eine Bounding Box 192 eines Objekts 191 ein rechteckiges Parallelepiped (einschließlich eines Würfels), das in Kontakt mit dem Objekt generiert wird und das zum Beispiel zwei Seiten parallel zu jeder der X-Richtung, der Y-Richtung und der Z-Richtung aufweist. Der Minimalwert Xmin und der Maximalwert Xmax der X-Koordinate, der Minimalwert Ymin und der Maximalwert Ymax der Y-Koordinate und der Minimalwert Zmin und der Maximalwert Zmax der Z-Koordinate der Bounding Box 192 sind die Objektbereichsinformationen des Objekts 191.
-
(Beispielhafte Objekttabelle)
-
Die 15 ist ein Diagramm, das eine beispielhafte Objekttabelle veranschaulicht, die durch die Objekttabellen-Generierungseinheit 173 in der 13 generiert wird.
-
Es sei angemerkt, dass eine Kamera-ID, eine Objekt-ID, eine Tiefenbild-ID und eine Farbbild-ID in dem Beispiel der 15 die gleichen wie diejenigen in dem Beispiel der 8 sind.
-
Wie in der 15 veranschaulicht wird, weist die Objekttabelle, die durch die Objekttabellen-Generierungseinheit 173 generiert wird, eine ID-Tabelle in A der 15 und eine Bereichstabelle in B der 15 auf.
-
Die ID-Tabelle in A der 15 ist ähnlich der Objekttabelle in der 8, außer dass keine Objektbereichsinformationen registriert sind. Mit anderen Worten: Die Tiefenbild-ID und die Farbbild-ID werden in der ID-Tabelle in A der 15 in Verknüpfung mit der Kamera-ID und der Objekt-ID registriert.
-
Der Minimalwert Xmin, der Maximalwert Xmax, der Minimalwert Ymin, der Maximalwert Ymax, der Minimalwert Zmin und der Maximalwert Zmax der Bounding Box des Objekts der Objekt-ID werden als die Objektbereichsinformationen in Verknüpfung mit der Objekt-ID in der Bereichstabelle in B der 15 registriert.
-
Die Decodiereinrichtung 13 kann den dreidimensionalen Bereich der Bounding Box jedes Objekts im Weltkoordinatensystem auf der Basis aller Objektbereichsinformationen, die in der Bereichstabelle registriert sind, erkennen. Des Weiteren kann die Decodiereinrichtung 13 das Farbbild und das Tiefenbild jedes Objekts auf der Basis der Farbbild-ID und der Tiefenbild-ID erkennen, die in der ID-Tabelle in Verknüpfung mit der Objekt-ID registriert sind.
-
Somit kann die Decodiereinrichtung 13 jedes Objekt mit dem erkannten dreidimensionalen Bereich im Weltkoordinatensystem als einen Verarbeitungsbereich rekonstruieren, indem sie das Tiefenbild und das Farbbild des Objekts verwendet. Dementsprechend kann ein Objekt im Vergleich zu einem Fall einfach rekonstruiert werden, in dem das Objekt mit dem gesamten Bilderfassungsbereich einer virtuellen Kamera im Weltkoordinatensystem als einem Verarbeitungsbereich rekonstruiert wird.
-
Des Weiteren kann die Decodiereinrichtung 13 den Minimalwert zmin und den Maximalwert zmax des Abstands z in jedem Tiefenbild auf der Basis aller Objektbereichsinformationen und aller Informationen des virtuellen Blickpunkts berechnen, die in der Bereichstabelle registriert sind. Somit kann die Decodiereinrichtung 13 den Pixelwert jedes Tiefenbilds in den Abstand z auf der Basis des berechneten Minimalwerts zmin und des Maximalwerts zmax invers quantisieren.
-
(Beschreibung der Verarbeitung des Bildverarbeitungssystems)
-
Die 16 ist ein Flussdiagramm zur Beschreibung der Codierungsverarbeitung durch die Codiereinrichtung 12 im Bildverarbeitungssystem gemäß der zweiten Ausführungsform, auf das die vorliegende Offenbarung angewendet wird. Diese Codierungsverarbeitung wird zum Beispiel gestartet, wenn 3D-Daten jedes Frames von der Bilderfassungseinrichtung 11 geliefert werden.
-
Die Verarbeitung in den Schritten S91 bis S94 in der 16 ist ähnlich der Verarbeitung in den Schritten S11 bis S14 in der 9, und somit wird die Beschreibung davon weggelassen.
-
Im Schritt S95 generiert die Tiefenbild-Generierungseinheit 171 ein Tiefenbild jeder virtuellen Kamera für jedes Objekt auf der Basis der 3D-Daten des Objekts, die von der Objektbestimmungseinheit 51 geliefert werden, und der Informationen des virtuellen Blickpunkts, die von der Blickpunktbestimmungseinheit 52 geliefert werden. Die Tiefenbild-Generierungseinheit 171 liefert das Tiefenbild jedes Objekts jeder virtuellen Kamera an die Codiereinheit 22. Des Weiteren wendet die Tiefenbild-Generierungseinheit 171 eine Tiefenbild-ID auf jedes Tiefenbild an. Die Tiefenbild-Generierungseinheit 171 liefert die Tiefenbild-ID des Tiefenbilds jedes Objekts jeder virtuellen Kamera, die Kamera-ID der virtuellen Kamera und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 173.
-
Im Schritt S96 generiert die Objektbereichsinformations-Generierungseinheit 172 als die Objektbereichsinformationen jedes Objekts den Minimalwert Xmin, den Maximalwert Xmax, den Minimalwert Ymin, den Maximalwert Ymax, den Minimalwert Zmin und den Maximalwert Zmax der Bounding Box des Objekts, die über die Verarbeitung im Schritt S92 erstellt wird. Die Objektbereichsinformations-Generierungseinheit 172 liefert die Objektbereichsinformationen jedes Objekts und die Objekt-ID des Objekts in Verknüpfung an die Objekttabellen-Generierungseinheit 173.
-
Im Schritt S97 generiert die Objekttabellen-Generierungseinheit 173 als die Objekttabelle eine ID-Tabelle und eine Bereichstabelle und liefert die ID-Tabelle und die Bereichstabelle an die Speichereinheit 23.
-
Die Verarbeitung in den Schritten S98 bis S100 ist ähnlich der Verarbeitung in den Schritten S20 bis S22 in der 9, und somit wird die Beschreibung davon weggelassen.
-
Es sei angemerkt, dass in der ersten und zweiten Ausführungsform die gleichen Informationen des virtuellen Blickpunkts für alle Objekte bestimmt werden, aber die Informationen des virtuellen Blickpunkts können für jedes Objekt bestimmt werden. In diesem Fall bestimmt die Blickpunktbestimmungseinheit 52 für jedes Objekt den Blickpunkt eines Tiefenbilds des aktuellen Frames auf der Basis von 3D-Daten des Objekts des aktuellen Frames, von 3D-Daten des vorhergehenden Frames und den Informationen des virtuellen Blickpunkts, so dass sich die zeitliche Änderung der Position des Objekts in einem Tiefenbild von jedem Blickpunkt verringert.
-
Des Weiteren kann die Blickpunktbestimmungseinheit 52 bestimmen, dass das Hauptobjekt ein Objekt ist, das unter mehreren Objekten die größte Anzahl an Oberflächen (Flächen) von Polygonen aufweist, die ein Objekt bilden.
-
<Dritte Ausführungsform>
-
(Beschreibung des Computers, auf den die vorliegende Offenbarung angewendet wird)
-
Die oben beschriebene Verarbeitungsreihe kann durch Hardware oder Software ausgeführt werden. In einem Fall, in dem die Verarbeitungsreihe durch Software ausgeführt wird, ist ein Computerprogramm, das die Software bildet, auf einem Computer installiert. Der Computer kann ein Computer sein, der in dedizierter Hardware integriert ist, oder ein Universal-Personal-Computer oder Ähnliches, der in der Lage ist, verschiedene Funktionen auszuführen, wenn zum Beispiel verschiedene Computerprogramme darauf installiert sind.
-
Die 17 ist ein Blockdiagramm, das eine beispielhafte Hardware-Gestaltung eines Computers veranschaulicht, um die oben beschriebene Verarbeitungsreihe über ein Computerprogramm auszuführen.
-
In einem Computer 200 sind ein Hauptprozessor (CPU) 201, ein Nur-Lese-Speicher (ROM) 202 und ein Direktzugriffsspeicher (RAM) 203 miteinander über einen Bus 204 verbunden.
-
Der Bus 204 ist des Weiteren mit einer Eingabe-Ausgabe-Schnittstelle 205 verbunden. Die Eingabe-Ausgabe-Schnittstelle 205 ist mit einer Eingabeeinheit 206, einer Ausgabeeinheit 207, einer Speichereinheit 208, einer Kommunikationseinheit 209 und einem Laufwerk 210 verbunden.
-
Die Eingabeeinheit 206 wird durch eine Tastatur, eine Maus, ein Mikrofon oder Ähnliches verwirklicht. Die Ausgabeeinheit 207 wird durch eine Anzeige, einen Lautsprecher oder Ähnliches verwirklicht. Die Speichereinheit 208 wird durch eine Festplatte, einen nichtflüchtigen Speicher oder Ähnliches verwirklicht. Die Kommunikationseinheit 209 wird durch eine Netzwerkschnittstelle oder Ähnliches verwirklicht. Das Laufwerk 210 treibt ein auswechselbares Medium 211 an, wie zum Beispiel eine Magnetplatte, eine optische Disk, eine magnetooptische Disc oder einen Halbleiterspeicher.
-
In dem Computer 200, der wie oben beschrieben ausgebildet ist, wird die oben beschriebene Verarbeitungsreihe durchgeführt, wenn die CPU 201 das Computerprogramm, das zum Beispiel in der Speichereinheit 208 gespeichert ist, in das RAM 203 über die Eingabe-Ausgabe-Schnittstelle 205 und den Bus 204 lädt und das Computerprogramm ausführt.
-
Das vom Computer 200 (CPU 201) ausgeführte Computerprogramm kann zum Beispiel in den auswechselbaren Medien 211 als ein Medienpaket oder Ähnliches aufgezeichnet sein und bereitgestellt werden. Des Weiteren kann das Computerprogramm über drahtgebundene und drahtlose Übertragungsmedien bereitgestellt werden, wie zum Beispiel ein Local Area Network, das Internet und digitale Satellitenausstrahlung.
-
Auf dem Computer 200 kann das Computerprogramm auf der Speichereinheit 208 über die Eingabe-Ausgabe-Schnittstelle 205 installiert werden, wenn das auswechselbare Medium 211 im Laufwerk 210 eingelegt wird. Des Weiteren kann das Computerprogramm von der Kommunikationseinheit 209 über drahtgebundene und drahtlose Übertragungsmedien empfangen und auf der Speichereinheit 208 installiert werden. Alternativ kann das Computerprogramm im ROM 202 oder der Speichereinheit 208 im Voraus installiert sein.
-
Es sei angemerkt, dass das vom Computer 200 ausgeführte Computerprogramm ein Computerprogramm sein kann, das in einer zeitlich sequentiellen Art und Weise in der Reihenfolge der Beschreibung in der vorliegenden Spezifikation verarbeitet wird, oder dass es ein Computerprogramm sein kann, das parallel oder zu einer erforderlichen Zeit bei einem Aufruf oder Ähnlichem verarbeitet wird.
-
<Beispielhafte Anwendung>
-
Die Technologie gemäß einer Ausführungsform der vorliegenden Offenbarung ist auf verschiedene Produkte anwendbar. Zum Beispiel kann die Technologie gemäß einer Ausführungsform der vorliegenden Offenbarung als eine Einrichtung verwirklicht werden, die in irgendwelchen Arten von sich bewegenden Objekten verbaut ist, wie zum Beispiel einem Automobil, einem Elektrofahrzeug, einem Hybridelektrofahrzeug, einem Motorrad, einem Fahrrad, einer persönlichen Mobilitätshilfe, einem Flugzeug, einer Drohne, einem Schiff, einem Roboter, einer Baumaschine und einer landwirtschaftlichen Maschine (Traktor).
-
Die 18 ist ein Blockdiagramm, das eine beispielhafte schematische Gestaltung eines Fahrzeugsteuersystems 7000 als ein beispielhaftes Steuersystem für ein sich bewegendes Objekt veranschaulicht, auf das die Technologie gemäß einer Ausführungsform der vorliegenden Offenbarung anwendbar ist. Das Fahrzeugsteuersystem 7000 weist mehrere elektronische Steuereinheiten auf, die über ein Kommunikationsnetzwerk 7010 miteinander verbunden sind. In dem in der 18 veranschaulichten Beispiel weist das Fahrzeugsteuersystem 7000 eine Antriebssystem-Steuereinheit 7100, eine Karosseriesystem-Steuereinheit 7200, eine Batterie-Steuereinheit 7300, eine Außenseiteninformations-Detektionseinheit 7400, eine Innenrauminformations-Detektionseinheit 7500 und eine Integrations-Steuereinheit 7600 auf. Das Kommunikationsnetzwerk 7010, das diese mehreren Steuereinheiten verbindet, kann ein On-Board-Kommunikationsnetzwerk sein, das konform mit einem optionalen Standard ist, wie zum Beispiel ein Controller Area Network (CAN), ein Local Interconnect Network (LIN), ein Local Area Network (LAN) oder ein FlexRay (eingetragene Marke).
-
Jede Steuereinheit weist einen Mikrocomputer, der dazu ausgebildet ist, arithmetische Verarbeitung gemäß verschiedenen Computerprogrammen durchzuführen, eine Speichereinheit, die dazu ausgebildet ist, zum Beispiel Computerprogramme, die durch den Mikrocomputer ausgeführt werden, und Parameter, die für verschiedene Berechnungen verwendet werden, zu speichern, und eine Ansteuerschaltung, die dazu ausgebildet ist, verschiedene Arten von Steuerzieleinrichtungen anzusteuern, auf. Jede Steuereinheit weist eine Netzwerkschnittstelle zum Durchführen von Kommunikation mit einer anderen Steuereinheit über das Kommunikationsnetzwerk 7010 und eine Kommunikationsschnittstelle zum Durchführen von Kommunikation mit einer Einrichtung, einem Sensor oder Ähnlichem innerhalb oder außerhalb eines Fahrzeugs über drahtgebundene Kommunikation oder drahtlose Kommunikation auf. Die 18 veranschaulicht als funktionelle Gestaltungen der Integrations-Steuereinheit 7600 einen Mikrocomputer 7610, eine Universalkommunikationsschnittstelle 7620, eine dedizierte Kommunikationsschnittstelle 7630, eine Positionsbestimmungseinheit 7640, eine Beacon-Empfangseinheit 7650, eine Innenrauminstrumentenschnittstelle 7660, eine Sprache-Bild-Ausgabeeinheit 7670, eine On-Board-Netzwerkschnittstelle 7680 und eine Speichereinheit 7690. Gleichermaßen weist irgendeine andere Steuereinheit einen Mikrocomputer, eine Kommunikationsschnittstelle, eine Speichereinheit und Ähnliches auf.
-
Die Antriebssystem-Steuereinheit 7100 steuert Einrichtungsoperationen in Bezug auf das Antriebssystem eines Fahrzeugs gemäß verschiedenen Computerprogrammen. Zum Beispiel funktioniert die Antriebssystem-Steuereinheit 7100 als eine Steuereinrichtung zum Beispiel für eine Antriebsleistungs-Generierungseinrichtung, wie zum Beispiel einen Brennkraft- oder Antriebsmotor, der dazu ausgebildet ist, Antriebsleistung des Fahrzeugs zu generieren, einen Antriebsleistungs-Übertragungsmechanismus, der dazu ausgebildet ist, die Antriebsleistung an die Räder zu übertragen, einen Lenkmechanismus, der dazu ausgebildet ist, den Winkel des Fahrzeugs einzustellen und eine Bremseinrichtung, die dazu ausgebildet ist, Bremskraft des Fahrzeugs zu generieren. Die Antriebssystem-Steuereinheit 7100 kann die Funktion einer Steuereinrichtung zum Beispiel eines Antiblockiersystems (ABS) oder einer elektronischen Stabilitätskontrolle (ESC) aufweisen.
-
Die Antriebssystem-Steuereinheit 7100 ist mit einer Fahrzeugzustands-Detektionseinheit 7110 verbunden. Die Fahrzeugzustands-Detektionseinheit 7110 weist zum Beispiel einen Gyrosensor, der dazu ausgebildet ist, die Winkelgeschwindigkeit der axialen Rotationsbewegung der Fahrzeugkarosserie zu detektieren, einen Beschleunigungssensor, der dazu ausgebildet ist, die Beschleunigung des Fahrzeugs zu detektieren, und wenigstens einen der folgenden Sensoren, die dazu ausgebildet sind, zum Beispiel die Betätigungsgröße des Gaspedals, die Betätigungsgröße des Bremspedals, den Lenkwinkel des Lenkrads, die Motordrehzahl und die Rotationsgeschwindigkeit der Räder zu detektieren, auf. Die Antriebssystem-Steuereinheit 7100 führt arithmetische Verarbeitung durch Verwenden einer Signaleingabe von der Fahrzeugzustands-Detektionseinheit 7110 durch und steuert eine innere Verbrennung, einen Antriebsmotor, eine elektrische Servolenkungseinrichtung, eine Bremseinrichtung und Ähnliches.
-
Die Karosseriesystem-Steuereinheit 7200 steuert Operationen verschiedener Einrichtungen, die an der Fahrzeugkarosserie montiert sind, gemäß verschiedenen Computerprogrammen. Zum Beispiel fungiert die Karosseriesystem-Steuereinheit 7200 als eine Steuereinheit eines schlüssellosen Zugangssystems, eines Smart-Key-Systems, einer Fensterhebereinrichtung und verschiedener Leuchten, wie zum Beispiel einer Frontleuchte, einer Rückleuchte, einer Bremsleuchte, eines Blinkgebers und einer Nebelleuchte. In diesem Fall kann die Karosseriesystem-Steuereinheit 7200 Funkwellen, die von einer transportierbaren Einrichtung als einem alternativen Schlüssel ausgestrahlt werden, oder verschiedene Schaltsignale empfangen. Die Karosseriesystem-Steuereinheit 7200 empfängt die Eingabe von Funkwellen oder Signalen und steuert eine Türschließeinrichtung, eine Fensterhebereinrichtung, eine Leuchte und Ähnliches des Fahrzeugs.
-
Die Batterie-Steuereinheit 7300 steuert eine Sekundärbatterie 7310 als eine elektrische Leistungsversorgungsquelle des Antriebsmotors gemäß verschiedenen Computerprogrammen. Zum Beispiel empfängt die Batterie-Steuereinheit 7300 Informationen, wie zum Beispiel die Batterietemperatur, die Batterieausgangsspannung oder die verbleibende Batteriekapazität von einer Batterieeinrichtung, die die Sekundärbatterie 7310 aufweist. Die Batterie-Steuereinheit 7300 führt arithmetische Verarbeitung durch Verwenden dieser Signale durch und steuert die Einstellung der Temperatur der Sekundärbatterie 7310 oder eine Kühleinrichtung oder Ähnliches, die in der Batterieeinrichtung aufgewiesen sind.
-
Die Außenseiteninformations-Detektionseinheit 7400 detektiert Informationen in Bezug auf die Außenseite des Fahrzeugs, in dem das Fahrzeugsteuersystem 7000 montiert ist. Zum Beispiel ist die Außenseiteninformations-Detektionseinheit 7400 mit wenigstens einem von Folgenden verbunden, einem Bilderfassungsabschnitt 7410 oder einem Außenseiteninformations-Detektionsabschnitt 7420. Der Bilderfassungsabschnitt 7410 weist wenigstens eine Laufzeit- (ToF-) Kamera, eine Stereokamera, eine Einfachkamera, eine Infrarotkamera oder irgendeine andere Kamera auf. Der Außenseiteninformations-Detektionsabschnitt 7420 weist zum Beispiel wenigstens eines von Folgenden, einen Umgebungssensor zum Detektieren von aktueller Witterung oder Klima oder einen Peripherieinformations-Detektionssensor zum Detektieren irgendeines anderen Fahrzeugs, eines Hindernisses, eines Fußgängers oder Ähnliches in der Nähe des Fahrzeugs, in dem das Fahrzeugsteuersystem 7000 montiert ist, auf.
-
Zum Beispiel kann der Umgebungssensor wenigstens einer von Folgenden sein, ein Regensensor, der dazu ausgebildet ist, Regen zu detektieren, ein Nebelsensor, der dazu ausgebildet ist, Nebel zu detektieren, ein Sonnensensor, der dazu ausgebildet ist, den Grad des Sonnenscheins zu detektieren, oder ein Schneesensor, der dazu ausgebildet ist, Schneefall zu detektieren. Der Peripherieinformations-Detektionssensor kann wenigstens einer von Folgenden sein, ein Ultraschallsensor, eine Radareinrichtung oder eine Light Detection And Ranging- bzw. Laser Imaging Detection And Ranging- (Lidar-) Einrichtung. Dieser Bilderfassungsabschnitt 7410 und der Außenseiteninformations-Detektionsabschnitt 7420 können als unabhängige Sensoren oder Einrichtungen bereitgestellt werden, oder sie können als Einrichtungen bereitgestellt werden, in denen mehrere Sensoren oder Einrichtungen integriert sind.
-
Hier veranschaulicht die 19 beispielhafte Installationspositionen des Bilderfassungsabschnitts 7410 und des Außenseiteninformations-Detektionsabschnitts 7420. Die Bilderfassungseinheiten 7910, 7912, 7914, 7916 und 7918 werden zum Beispiel an wenigstens einer der folgenden Positionen bereitgestellt, der Vordernase, den Seitenspiegeln, dem Heckstoßfänger, der Heckklappe und einem oberen Teil der Windschutzscheibe im Inneren eines Fahrzeugs 7900. Die Bilderfassungseinheit 7910, die an der Vordernase bereitgestellt wird, und die Bilderfassungseinheit 7918, die am oberen Teil der Windschutzscheibe im Inneren des Fahrzeugs bereitgestellt wird, erfassen hauptsächlich Bilder der Vorderseite des Fahrzeugs 7900. Die Bilderfassungseinheiten 7912 und 7914, die an den Seitenspiegeln bereitgestellt werden, erfassen hauptsächlich Bilder von Seiten des Fahrzeugs 7900. Die Bilderfassungseinheit 7916, die am Heckstoßfänger oder der Heckklappe bereitgestellt wird, erfasst ein Bild auf der Rückseite des Fahrzeugs 7900. Die Bilderfassungseinheit 7918, die am oberen Teil der Windschutzscheibe im Inneren des Fahrzeugs bereitgestellt wird, wird hauptsächlich verwendet, um zum Beispiel ein vorausfahrendes Fahrzeug, einen Fußgänger, ein Hindernis, eine Ampel, ein Verkehrszeichen und eine Fahrspur zu detektieren.
-
Es sei angemerkt, dass die 19 beispielhafte Bilderfassungsbereiche der Bilderfassungseinheiten 7910, 7912, 7914 und 7916 veranschaulicht. Der Bilderfassungsbereich a gibt den Bilderfassungsbereich der Bilderfassungseinheit 7910 an, die an der Vordernase bereitgestellt wird, die Bilderfassungsbereiche b und c geben die Bilderfassungsbereiche der Bilderfassungseinheiten 7912 und 7914 an, die an den Seitenspiegeln bereitgestellt werden, und der Bilderfassungsbereich d gibt den Bilderfassungsbereich der Bilderfassungseinheit 7916 an, die am Heckstoßfänger oder der Heckklappe bereitgestellt wird. Zum Beispiel werden Bilddaten, die durch die Bilderfassungseinheiten 7910, 7912, 7914 und 7916 erfasst werden, nach oben platziert, um ein Bild aus der Vogelperspektive vom Fahrzeug 7900, wenn es von oben gesehen wird, zu ermitteln.
-
Die Außenseiteninformations-Detektionsabschnitte 7920, 7922, 7924, 7926, 7928 und 7930, die am Vorder-, Heck-, Seiten-, Eck- und einem inneren oberen Teil der Windschutzscheibe des Fahrzeugs 7900 bereitgestellt werden, können jeweils zum Beispiel ein Ultraschallsensor oder eine Radareinrichtung sein. Die Außenseiteninformations-Detektionsabschnitte 7920, 7926 und 7930, die an der Vordernase, dem Heckstoßfänger, der Heckklappe und dem inneren oberen Teil der Windschutzscheibe des Fahrzeugs 7900 bereitgestellt werden, können jeweils zum Beispiel eine Lidar-Einrichtung sein. Diese Außenseiteninformations-Detektionsabschnitte 7920 bis 7930 werden hauptsächlich zur Detektion eines vorausfahrenden Fahrzeugs, eines Fußgängers, eines Hindernisses und Ähnlichem verwendet.
-
Die Beschreibung fährt damit fort, zur 18 zurückzukehren. Die Außenseiteninformations-Detektionseinheit 7400 bewirkt, dass der Bilderfassungsabschnitt 7410 ein Außenbild erfasst, und empfängt die erfassten Bilddaten. Zusätzlich empfängt die Außenseiteninformations-Detektionseinheit 7400 Detektionsinformationen vom Außenseiteninformations-Detektionsabschnitt 7420, der mit ihr verbunden ist. In einem Fall, in dem der Außenseiteninformations-Detektionsabschnitt 7420 ein Ultraschallsensor, eine Radareinrichtung oder eine Lidar-Einrichtung ist, emittiert die Außenseiteninformations-Detektionseinheit 7400 zum Beispiel Ultraschallwellen oder elektromagnetische Wellen und empfängt Informationen der empfangenen reflektierten Wellen. Die Außenseiteninformations-Detektionseinheit 7400 kann auf der Basis der empfangenen Informationen Objektdetektionsverarbeitung oder Abstandsdetektionsverarbeitung einer Person, eines Fahrzeugs, eines Hindernisses, eines Verkehrszeichens, eines Zeichens auf einer Straßenoberfläche und Ähnliches durchführen. Die Außenseiteninformations-Detektionseinheit 7400 kann auf der Basis der empfangenen Informationen Umgebungserkennungsverarbeitung von erkanntem Niederschlag, Nebel, eines Fahrbahnoberflächenzustands und Ähnliches durchführen. Die Außenseiteninformations-Detektionseinheit 7400 kann den Abstand zu einem außenliegenden Objekt auf der Basis der empfangenen Informationen berechnen.
-
Zusätzlich kann die Außenseiteninformations-Detektionseinheit 7400 auf der Basis der empfangenen Bilddaten Bilderkennungsverarbeitung oder Abstandsdetektionsverarbeitung zum Erkennen einer Person, eines Fahrzeugs, eines Hindernisses, eines Verkehrszeichens, eines Zeichens auf einer Fahrbahnoberfläche und Ähnliches durchführen. Die Außenseiteninformations-Detektionseinheit 7400 kann Verarbeitung durchführen, wie zum Beispiel Verzerrungskorrektur oder Positionsbestimmung anhand der empfangenen Bilddaten, und kann die Bilddaten mit Bilddaten synthetisieren, die durch einen anderen Bilderfassungsabschnitt 7410 erfasst werden, um ein Bild aus der Vogelperspektive oder ein Panoramabild zu generieren. Die Außenseiteninformations-Detektionseinheit 7400 kann Blickpunktkonvertierungsverarbeitung durch Verwenden von Bilddaten durchführen, die von einem anderen Bilderfassungsabschnitt 7410 erfasst worden sind.
-
Die Innenrauminformations-Detektionseinheit 7500 detektiert Innenrauminformationen. Die Innenrauminformations-Detektionseinheit 7500 ist zum Beispiel mit einer Fahrerzustands-Detektionseinheit 7510 verbunden, die dazu ausgebildet ist, den Zustand des Fahrers zu detektieren. Die Fahrerzustands-Detektionseinheit 7510 kann zum Beispiel eine Kamera aufweisen, die dazu ausgebildet ist, ein Bild des Fahrers zu erfassen, einen Lebendkörpersensor, der dazu ausgebildet ist, Lebendkörperinformationen des Fahrers zu detektieren, oder ein Mikrofon, das dazu ausgebildet ist, Sprache im Innenraum zu erfassen. Der Lebendkörpersensor wird zum Beispiel an einer Sitzoberfläche, dem Lenkrad oder Ähnlichem bereitgestellt und detektiert Lebendkörperinformation eines Insassen, der auf dem Sitz sitzt, oder des Fahrers, der das Lenkrad hält. Auf der Basis von Detektionsinformationen, die von der Fahrerzustands-Detektionseinheit 7510 eingegeben werden, kann die Innenrauminformations-Detektionseinheit 7500 den Ermüdungsgrad oder den Konzentrationsgrad des Fahrers berechnen oder kann bestimmen, ob der Fahrer eingeschlafen ist oder nicht. Die Innenrauminformations-Detektionseinheit 7500 kann Verarbeitung durchführen, wie zum Beispiel Rauschunterdrückungsverarbeitung auf einem erfassten Sprachsignal.
-
Die Integrations-Steuereinheit 7600 steuert den gesamten Betrieb im Fahrzeugsteuersystem 7000 gemäß verschiedenen Computerprogrammen. Die Integrations-Steuereinheit 7600 ist mit einer Eingabeeinheit 7800 verbunden. Die Eingabeeinheit 7800 wird durch eine Einrichtung verwirklicht, wie zum Beispiel ein Touch-Panel, einen Taster, ein Mikrofon, einen Schalter oder einen Hebel, über die eine Eingabeoperation von einem Insassen durchgeführt werden kann. Die Integrations-Steuereinheit 7600 kann Daten empfangen, die über Spracherkennung von Sprache, die durch ein Mikrofon eingegeben wird, erfasst werden. Die Eingabeeinheit 7800 kann zum Beispiel eine Fernsteuerungseinrichtung sein, die Infrarot- oder andere Funkwellen verwendet, oder ein externes Verbindungsinstrument, wie zum Beispiel ein zellenbasiertes Telefon oder ein Personal Digital Assistant (PDA), die in der Lage sind, gemäß dem Fahrzeugsteuersystem 7000 zu arbeiten. Die Eingabeeinheit 7800 kann zum Beispiel eine Kamera sein, die es dem Insassen ermöglicht, Informationen über Gesten einzugeben. Alternativ können Daten eingegeben werden, die durch Detektieren von Bewegung einer Wearable-Einrichtung ermittelt werden, die vom Insassen getragen wird. Des Weiteren kann die Eingabeeinheit 7800 zum Beispiel eine Eingabesteuerschaltung oder Ähnliches aufweisen, die dazu ausgebildet ist, ein Eingabesignal auf der Basis von Informationen zu generieren, die von einem Insassen oder Ähnlichem über die oben beschriebene Eingabeeinheit 7800 eingegeben werden, und das Eingabesignal an die Integrations-Steuereinheit 7600 ausgeben. Der Insasse oder Ähnliches bedient die Eingabeeinheit 7800, um verschiedene Arten von Daten einzugeben oder eine Anweisung für eine Verarbeitungsoperation an das Fahrzeugsteuersystem 7000 zu geben.
-
Die Speichereinheit 7690 kann einen Nur-LeseSpeicher (ROM), der dazu ausgebildet ist, verschiedene Computerprogramme zu speichern, die vom Mikrocomputer ausgeführt werden, und einen Direktzugriffsspeicher (RAM), der dazu ausgebildet ist, zum Beispiel verschiedene Parameter, Berechnungsergebnisse oder Sensorwerte zu speichern, aufweisen. Zusätzlich kann die Speichereinheit 7690 zum Beispiel durch eine Magnetspeichereinrichtung verwirklicht werden, wie zum Beispiel eine Festplatte (HDD), eine Halbleiterspeichereinrichtung, eine optische Speichereinrichtung oder eine magnetooptische Speichereinrichtung.
-
Die Universalkommunikationsschnittstelle 7620 ist eine Universalkommunikationsschnittstelle, die dazu ausgebildet ist, Kommunikation mit verschiedenen Instrumenten zu vermitteln, die in einer externen Umgebung 7750 vorhanden sind. Die Universalkommunikationsschnittstelle 7620 kann ein zellenbasiertes Kommunikationsprotokoll umsetzen, wie zum Beispiel Global System for Mobile Communications (GSM), WiMAX, Long Term Evolution (LTE) oder LTE-Advanced (LTE-A) oder irgendein anderes drahtloses Kommunikationsprotokoll eines drahtlos LAN (auch als Wi-Fi (eingetragene Marke) bezeichnet), Bluetooth (eingetragene Marke) oder Ähnliches. Die Universalkommunikationsschnittstelle 7620 kann mit einem Instrument (zum Beispiel einem Applikations-Server oder einem Steuer-Server) in einem externen Netzwerk (zum Beispiel dem Internet, einem Cloud-Netzwerk oder einem Netzwerk, das eindeutig für ein Unternehmen ist) zum Beispiel über eine Basisstation oder einen Zugangspunkt verbunden sein. Zusätzlich kann die Universalkommunikationsschnittstelle 7620 mit einem Endgerät (zum Beispiel einem Endgerät eines Fahrers, eines Fußgängers oder eines Ladens oder einem Endgerät für Machine-Type-Communication (MTC)) in der Nähe des Fahrzeugs zum Beispiel durch Verwenden einer Peer-to-Peer- (P2P-) Technologie verbunden sein.
-
Die dedizierte Kommunikationsschnittstelle 7630 ist eine Kommunikationsschnittstelle, die ein Kommunikationsprotokoll unterstützt, das zur Verwendung in einem Fahrzeug formuliert worden ist. Die dedizierte Kommunikationsschnittstelle 7630 kann ein Standardprotokoll umsetzen, wie zum Beispiel Wireless Access in Vehicular Environments (WAVE), Dedicated Short Range Communication (DSRC) oder ein zellenbasiertes Kommunikationsprotokoll als Kombination von IEEE802.11p der Lower-Level-Schicht und IEEE1609 der Higher-Level-Schicht. Die dedizierte Kommunikationsschnittstelle 7630 führt typischerweise V2X-Kommunikation als ein Konzept durch, das eines oder mehrere von Folgenden aufweist, Fahrzeug-Fahrzeug-Kommunikation, Fahrzeug-Infrastruktur-Kommunikation, Fahrzeug-Wohnsitz-Kommunikation und Fahrzeug-Fußgänger-Kommunikation.
-
Die Positionsbestimmungseinheit 7640 empfängt zum Beispiel Signale des Global Navigation Satellite Systems (GNSS) von GNSS-Satelliten (zum Beispiel Signale des Global Positioning Systems (GPS) von GPS-Satelliten), führt Positionsbestimmung aus und erzeugt Positionsinformationen, einschließlich des Breitengrads, des Längengrads und der Höhe des Fahrzeugs. Es sei angemerkt, dass die Positionsbestimmungseinheit 7640 die aktuelle Position über Signalaustausch mit einem drahtlosen Zugangspunkt vorgeben kann oder dass sie Positionsinformationen von einem Endgerät, wie zum Beispiel einem zellenbasierten Telefon, einem PHS oder einem Smartphone, mit einer Positionsbestimmungsfunktion erfassen kann.
-
Die Beacon-Empfangseinheit 7650 empfängt zum Beispiel Funkwellen oder elektromagnetische Wellen, die von einer drahtlosen Station oder Ähnlichem emittiert werden, die an einer Straße installiert ist, und erfasst Informationen wie zum Beispiel die aktuelle Position, einen Verkehrsstau, eine Straßensperrung oder eine erforderliche Fahrzeit. Es sei angemerkt, dass die Funktion der Beacon-Empfangseinheit 7650 in der oben beschriebenen dedizierten Kommunikationsschnittstelle 7630 aufgewiesen sein kann.
-
Die Innenrauminstrumentenschnittstelle 7660 ist eine Kommunikationsschnittstelle, die dazu ausgebildet ist, Verbindung zwischen dem Mikrocomputer 7610 und verschiedenen Innenrauminstrumenten 7760 im Fahrzeug zu vermitteln. Die Innenrauminstrumentenschnittstelle 7660 kann drahtlose Verbindung durch Verwenden eines drahtlosen Kommunikationsprotokolls, wie zum Beispiel Wireless LAN, Bluetooth (eingetragene Marke), Nahfeldkommunikation (NFC) oder drahtloses USB (WUSB) einrichten. Des Weiteren kann die Innenrauminstrumentenschnittstelle 7660 drahtgebundene Verbindung einrichten, wie zum Beispiel Universal Serial Bus (USB), High-Definition Multimedia Interface (HDMI) oder Mobile High-Definition Link (MHL), über ein Verbindungsendgerät (nicht dargestellt) (und ein Kabel, falls nötig). Die Innenrauminstrumente 7760 können zum Beispiel wenigstens eines von Folgenden aufweisen, eine Mobileinrichtung oder ein Wearable-Instrument, das einem Insassen gehört, oder ein Informationsinstrument, das im Fahrzeug transportiert wird oder am Fahrzeug angebracht ist. Zusätzlich können die Innenrauminstrumente 7760 eine Navigationseinrichtung aufweisen, die dazu ausgebildet ist, eine Strecke zu einem optionalen Zielort zu suchen. Die Innenrauminstrumentenschnittstelle 7660 tauscht mit den Innenrauminstrumenten 7760 ein Steuersignal oder ein Datensignal aus.
-
Die On-Board-Netzwerkschnittstelle 7680 ist eine Schnittstelle, die dazu ausgebildet ist, Kommunikation zwischen dem Mikrocomputer 7610 und dem Kommunikationsnetzwerk 7010 zu vermitteln. Die On-Board-Netzwerkschnittstelle 7680 kommuniziert ein Signal oder Ähnliches gemäß einem vorbestimmten Protokoll, das vom Kommunikationsnetzwerk 7010 unterstützt wird.
-
Der Mikrocomputer 7610 der Integrations-Steuereinheit 7600 steuert das Fahrzeugsteuersystem 7000 gemäß verschiedenen Computerprogrammen auf der Basis der Informationen, die über wenigstens eine von Folgenden erfasst worden sind, die Universalkommunikationsschnittstelle 7620, die dedizierte Kommunikationsschnittstelle 7630, die Positionsbestimmungseinheit 7640, die Beacon-Empfangseinheit 7650, die Innenrauminstrumentenschnittstelle 7660 oder die On-Board-Netzwerkschnittstelle 7680. Zum Beispiel kann der Mikrocomputer 7610 einen Steuerzielwert einer Antriebsleistungs-Generierungseinrichtung, eines Lenkmechanismus oder einer Bremseinrichtung auf der Basis von erfassten Innenraum- und Außenseiteninformationen berechnen und kann einen Steuerbefehl an die Antriebssystem-Steuereinheit 7100 ausgeben. Zum Beispiel kann der Mikrocomputer 7610 kooperatives Steuern durchführen, um die Funktion eines modernen Fahrerassistenzsystems (Advanced Driver Assistance System, ADAS) umzusetzen, die zum Beispiel Kollisionsvermeidung oder Aufprallreduzierung des Fahrzeugs, folgendes Fahren auf Basis des Zwischen-Fahrzeug-Abstands, Fahrzeuggeschwindigkeit aufrechterhaltendes Fahren, Fahrzeugkollisionswarnung oder Fahrzeugspurabweichungswarnung aufweist. Zusätzlich kann der Mikrocomputer 7610 kooperatives Steuern durchführen, um zum Beispiel automatisiertes Fahren, bei dem das Fahrzeug autonom, unabhängig von einer Betätigung durch den Fahrer fährt, durch Steuern der Antriebsleistungs-Generierungseinrichtung, des Lenkmechanismus, der Bremseinrichtung und Ähnlichem auf der Basis von in der Nähe des Fahrzeugs erfassten Informationen zu verwirklichen.
-
Der Mikrocomputer 7610 kann Informationen in Bezug auf den dreidimensionalen Abstand zwischen dem Fahrzeug und einem Objekt in der Umgebung, wie zum Beispiel einer Struktur oder einer Person, auf der Basis von Informationen, die über wenigstens eine von Folgenden erfasst worden sind, die Universalkommunikationsschnittstelle 7620, die dedizierte Kommunikationsschnittstelle 7630, die Positionsbestimmungseinheit 7640, die Beacon-Empfangseinheit 7650, die Innenrauminstrumentenschnittstelle 7660 oder die On-Board-Netzwerkschnittstelle 7680, generieren und kann lokale Karteninformationen erstellen, die Informationen in der Nähe der aktuellen Position des Fahrzeugs aufweisen. Des Weiteren kann der Mikrocomputer 7610 Gefahr, wie zum Beispiel eine Kollision des Fahrzeugs, das Näherkommen eines Fußgängers oder Ähnliches oder das Einfahren in eine gesperrte Straße, auf der Basis der erfassten Informationen prognostizieren und kann ein Warnsignal generieren. Das Warnsignal kann zum Beispiel ein Signal sein, um ein Warngeräusch zu generieren oder eine Warnleuchte anzuschalten.
-
Die Sprach-Bild-Ausgabeeinheit 7670 überträgt wenigstens eines von Folgenden, ein Sprachausgabesignal oder ein Bildausgabesignal, an eine Ausgabeeinrichtung, die in der Lage ist, einem Insassen im Fahrzeug oder außerhalb des Fahrzeugs visuell oder hörbar Informationen zu melden. In dem in der 18 veranschaulichten Beispiel ist die Ausgabeeinrichtung ein Audiolautsprecher 7710, eine Anzeigeeinheit 7720 und ein Armaturenbrett 7730. Die Anzeigeeinheit 7720 kann zum Beispiel wenigstens eines von Folgenden aufweisen, eine On-Board-Anzeige oder ein Head-up-Display. Die Anzeigeeinheit 7720 kann eine Augmented Reality (AR-) Anzeigefunktion aufweisen. Die Ausgabeeinrichtung kann anstelle dieser Einrichtungen eine andere Einrichtung sein, einschließlich einer Wearable-Einrichtung, wie zum Beispiel eines Kopfhörers oder einer Brillenanzeige, die vom Insassen getragen werden, eines Projektors, einer Leuchte oder Ähnliches. In einem Fall, in dem die Ausgabeeinrichtung eine Anzeigeeinrichtung ist, zeigt die Anzeigeeinrichtung visuell ein Ergebnis, das über verschiedene Arten von Verarbeitung ermittelt wird, die vom Mikrocomputer 7610 ausgeführt werden, oder Informationen, die von einer anderen Steuereinheit empfangen werden, in verschiedenen Formaten von Text, Bild, Tabelle, Kurvenbilder und Ähnliches an. In einem Fall, in dem die Ausgabeeinrichtung eine Geräuschausgabeeinrichtung ist, konvertiert die Geräuschausgabeeinrichtung ein Audiosignal, das zum Beispiel wiedergegebene Sprachdaten oder akustische Daten aufweist, in ein analoges Signal und gibt das Signal hörbar aus.
-
Es sei angemerkt, dass in dem in der 18 veranschaulichten Beispiel wenigstens zwei Steuereinheiten, die miteinander über das Kommunikationsnetzwerk 7010 verbunden sind, als eine Steuereinheit integriert sein können. Alternativ kann eine einzelne Steuereinheit mehrere Steuereinheiten aufweisen. Des Weiteren kann das Fahrzeugsteuersystem 7000 eine andere Steuereinheit (nicht dargestellt) aufweisen. Zusätzlich können ein Teil oder alle Funktionen irgendeiner Steuereinheit in der Beschreibung oben durch eine andere Steuereinheit verwirklicht werden. Mit anderen Worten: Die vorbestimmte arithmetische Verarbeitung kann in irgendeiner Steuereinheit durchgeführt werden, so lange wie Informationen über das Kommunikationsnetzwerk 7010 übertragen und empfangen werden. Gleichermaßen kann ein Sensor oder eine Einrichtung, die mit irgendeiner Steuereinheit verbunden ist, mit einer anderen Steuereinheit verbunden sein, und mehrere Steuereinheiten können wechselseitig Detektionsinformationen über das Kommunikationsnetzwerk 7010 übertragen und empfangen.
-
Es sei angemerkt, dass ein Computerprogramm zum Verwirklichen jeder Funktion des Bildverarbeitungssystems 10 gemäß der vorliegenden Ausführungsform, die mit Bezug auf die 1 bis 16 beschrieben wird, in irgendeiner Steuereinheit oder Ähnlichem verbaut sein kann. Des Weiteren kann ein computerlesbares Aufzeichnungsmedium, das solch ein Computerprogramm speichert, bereitgestellt werden. Das Aufzeichnungsmedium ist zum Beispiel eine Magnetplatte, eine optische Disk, eine magnetooptische Disc, ein Flash-Speicher oder Ähnliches. Des Weiteren kann das oben beschriebene Computerprogramm zum Beispiel über ein Netzwerk ohne Verwenden eines Aufzeichnungsmediums verteilt werden.
-
Das Bildverarbeitungssystem 10 gemäß der vorliegenden Ausführungsform, die mit Bezug auf die 1 bis 16 beschrieben wird, in dem Fahrzeugsteuersystem 7000, das oben beschrieben wird, kann auf das oben beschriebene Fahrzeugsteuersystem 7000 als die beispielhafte Anwendung, die in der 18 veranschaulicht wird, angewendet werden. Zum Beispiel entspricht die Bilderfassungseinrichtung 11 des Bildverarbeitungssystems 10 dem Bilderfassungsabschnitt 7410, die Codiereinrichtung 12 und die Decodiereinrichtung 13 entsprechen integriert dem Mikrocomputer 7610 und der Speichereinheit 7690 der Integrations-Steuereinheit 7600, und die Anzeigeeinrichtung 14 entspricht der Anzeigeeinheit 7720.
-
Des Weiteren können wenigstens einige Bestandteile des Bildverarbeitungssystems 10, das mit Bezug auf die 1 bis 16 beschrieben wird, in einem Modul (zum Beispiel einem integrierten Schaltungsmodul, das einen Die aufweist) für die Integrations-Steuereinheit 7600, die in der 18 veranschaulicht wird, verwirklicht werden. Alternativ kann das Bildverarbeitungssystem 10, das mit Bezug auf die 1 bis 16 beschrieben wird, durch die mehreren Steuereinheiten des Fahrzeugsteuersystems 7000, das in der 18 veranschaulicht wird, verwirklicht werden.
-
In der vorliegenden Spezifikation bedeutet ein System einen Satz mehrerer Bestandteile (wie zum Beispiel Einrichtungen und Module (Komponenten)), ob sich alle Bestandteile im gleichen Gehäuse befinden oder nicht, ist kein Problem. Somit sind sowohl mehrere Einrichtungen, die in separaten Gehäusen untergebracht und miteinander über ein Netzwerk verbunden sind, als auch eine Einrichtung, in der mehrere Module in einem Gehäuse untergebracht sind, Systeme.
-
Es sei angemerkt, dass die hier beschriebenen Wirkungen lediglich beispielhaft sind. Die vorliegende Technologie ist nicht auf diese Wirkungen beschränkt und kann irgendeine andere Wirkung verwirklichen.
-
Des Weiteren sind die Ausführungsformen der vorliegenden Offenbarung nicht auf die oben beschriebenen Ausführungsformen beschränkt, und verschiedene Modifikationen sind möglich, ohne von der Kernaussage der vorliegenden Offenbarung abzuweichen.
-
Zum Beispiel kann die vorliegende Offenbarung durch Cloud Computing verwirklicht werden, bei dem eine Funktion verteilt und kooperativ durch mehrere Einrichtungen über ein Netzwerk verarbeitet wird.
-
Des Weiteren kann jeder Schritt der oben beschriebenen Flussdiagramme durch eine Einrichtung ausgeführt werden, oder er kann durch mehrere Einrichtungen verteilt ausgeführt werden.
-
Zusätzlich können in einem Fall, in dem mehrere Prozesse in einem Schritt aufgewiesen sind, die mehreren, in dem einen Schritt aufgewiesenen Prozesse von einer Einrichtung ausgeführt werden, oder sie können verteilt von mehreren Einrichtungen ausgeführt werden.
-
Es sei angemerkt, dass die vorliegende Offenbarung, wie nachstehend beschrieben wird, ausgebildet sein kann.
- (1)
Eine Bildverarbeitungsvorrichtung, die eine Tiefenbild-Generierungseinheit aufweist, die dazu ausgebildet ist, ein Tiefenbild von jedem von mehreren Blickpunkten für jedes in einem 3D-Modell aufgewiesene Objekt zu generieren.
- (2)
Die Bildverarbeitungsvorrichtung nach (1), die des Weiteren eine Objektbereichs-Generierungseinheit aufweist, die dazu ausgebildet ist, Objektbereichsinformationen zu generieren, die einen Bereich des Objekts im Tiefenbild und einen Bereich eines Abstands zwischen einem Blickpunkt entsprechend dem Tiefenbild und dem Objekt in einer Tiefenrichtung angeben.
- (3)
Die Bildverarbeitungsvorrichtung nach (1), die des Weiteren eine Objektbereichsinformations-Generierungseinheit aufweist, die dazu ausgebildet ist, Objektbereichsinformationen zu generieren, die einen Bereich des Objekts in einem 3D-Koordinatensystem angeben.
- (4)
Die Bildverarbeitungsvorrichtung nach einem von (1) bis (3), die des Weiteren eine Blickpunktbestimmungseinheit aufweist, die dazu ausgebildet ist, die mehreren Blickpunkte auf der Basis des zeitlich sequentiellen 3D-Modells zu bestimmen, so dass sich die zeitliche Änderung der Position eines vorbestimmten Objekts im Tiefenbild von jedem Blickpunkt verringert.
- (5)
Die Bildverarbeitungsvorrichtung nach einem von (1) bis (3), die des Weiteren eine Blickpunktbestimmungseinheit aufweist, die dazu ausgebildet ist, für jedes Objekt die mehreren Blickpunkte auf der Basis des zeitlich sequentiellen Objekts zu bestimmen, so dass sich die zeitliche Änderung der Position des Objekts im Tiefenbild von jedem Blickpunkt verringert.
- (6)
Ein Bildverarbeitungsverfahren, das einen Tiefenbild-Generierungsschritt zum Generieren eines Tiefenbilds von jedem von mehreren Blickpunkten für jedes in einem 3D-Modell aufgewiesene Objekt durch eine Bildverarbeitungsvorrichtung beinhaltet.
- (7)
Eine Bildverarbeitungsvorrichtung, die eine Objekt-Generierungseinheit aufweist, die dazu ausgebildet ist, ein Objekt auf der Basis eines Tiefenbilds von jedem von mehreren Blickpunkten für das in einem 3D-Modell aufgewiesene Objekt zu generieren.
- (8)
Die Bildverarbeitungsvorrichtung nach (7), in der die Objekt-Generierungseinheit ein Objekt auf der Basis von Objektbereichsinformationen generiert, die einen Bereich eines Objekts im Tiefenbild und einen Bereich eines Abstands zwischen einem Blickpunkt entsprechend dem Tiefenbild und dem Objekt in einer Tiefenrichtung angeben.
- (9)
Die Bildverarbeitungsvorrichtung nach (7), in der die Objekt-Generierungseinheit das Objekt auf der Basis von Objektbereichsinformationen generiert, die einen Bereich des Objekts in einem 3D-Koordinatensystem angeben.
- (10)
Die Bildverarbeitungsvorrichtung nach einem von (7) bis (9), in der die mehreren Blickpunkte auf der Basis des zeitlich sequentiellen 3D-Modells bestimmt werden, so dass sich die zeitliche Änderung der Position eines vorbestimmten Objekts, das im 3D-Modell aufgewiesen ist, im Tiefenbild von jedem Blickpunkt verringert.
- (11)
Die Bildverarbeitungsvorrichtung nach einem von (7) bis (10), in der die mehreren Blickpunkte auf der Basis des zeitlich sequentiellen Objekts bestimmt werden, so dass sich die zeitliche Änderung der Position des Objekts im Tiefenbild von jedem Blickpunkt verringert.
- (12)
Die Bildverarbeitungsvorrichtung nach einem von (7) bis (11), in der das Objekt ein vorbestimmtes Objekt aus allen im 3D-Modell aufgewiesenen Objekten ist.
- (13)
Ein Bildverarbeitungsverfahren, das einen Objektgenerierungsschritt zum Generieren eines Objekts auf der Basis eines Tiefenbilds von jedem von mehreren Blickpunkten für das in einem 3D-Modell aufgewiesene Objekt durch eine Bildverarbeitungsvorrichtung aufweist.
-
Bezugszeichenliste
-
- 12
- Codiereinrichtung
- 13
- Decodiereinrichtung
- 33
- Rekonstruktionseinheit
- 52
- Blickpunktbestimmungseinheit
- 54
- Tiefenbild-Generierungseinheit
- 55
- Objektbereichsinformations-Generierungseinheit
- 90
- 3D-Modell
- 91 bis 93
- Objekt
- 101 bis 103
- Tiefenbild
- 170
- Blickpunktbestimmungseinheit
- 172
- Objektbereichsinformations-Generierungseinheit