-
Bereich
-
Der hier offenbarte Gegenstand bezieht sich allgemein auf eine Stereo-Rekonstruktion durch Bilder aus mehreren Blickwinkeln.
-
Stand der Technik
-
Die Anwendung von Grafik- und visuellem Rechnen wächst in Bereichen, wie zum Beispiel dreidimensionale (3D) Spiele, virtuelle Welten, Spiegelwelten (z. B. Google Earth) und immersive Benutzerschnittstellen. Stereo-Rekonstruktion ist darauf gerichtet, kompakte und/oder dicht platzierte 3D-Szenen aus Bildern von zwei oder mehr separat angeordneten Kameras oder entsprechend aus Bildern, die von derselben Kamera, jedoch aus unterschiedlichen Sichtpositionen aufgenommen sind, wiederherzustellen. Bei der Stereo-Rekonstruktion sind die (internen und externen) Parameter der Kamera durch eine Kamerakalibrierung bekannt. Traditionelle Stereo-Rekonstruktionsverfahren sind entweder durch Genauigkeit oder Verarbeitungsgeschwindigkeit stark beschränkt. Entsprechend besteht eine wachsende Nachfrage nach einer schnellen und genauen Stereo-Rekonstruktion.
-
Kurzbeschreibung der Zeichnungen
-
Ausführungsformen der vorliegenden Erfindung werden beispielhaft und nicht beschränkend in den Zeichnungen dargestellt, in denen sich gleiche Bezugszeichen auf ähnliche Elemente beziehen.
-
1 stellt eine Patch-Projektion auf ein Stereo-Bildpaar dar.
-
2 gibt ein Verfahren zur Stereo-Rekonstruktion eines Stereo-Bildpaars in Übereinstimmung mit einer Ausführungsform wieder.
-
3 gibt ein Verfahren zur inversen Kompositionsbildausrichtung (Inverse Compositional Image Alignment, ICIA) in Übereinstimmung mit einer Ausführungsform wieder.
-
4 gibt ein Verfahren wieder, das zur Multi-View-Stereo-Rekonstruktion in Übereinstimmung mit einer Ausführungsform verwendet werden kann.
-
5A und 5B geben einen Vergleich von Ergebnissen einer Stereo-Rekonstruktion wieder.
-
6 gibt eine Ausführungsform eines Computersystems in Übereinstimmung mit einer Ausführungsform wieder.
-
Detaillierte Beschreibung
-
Bezüge in dieser Beschreibung auf „(genau) eine Ausführungsform” oder „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, Struktur oder Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Erfindung aufgenommen ist. Somit beziehen sich die Vorkommen der Formulierung „in (genau) einer Ausführungsform” oder „einer Ausführungsform” an verschiedenen Stellen in dieser Beschreibung nicht notwendigerweise alle auf dieselbe Ausführungsform. Des weiteren können die bestimmten Merkmale, Strukturen oder Eigenschaften in einer oder mehreren Ausführungsformen kombiniert sein.
-
Zwei bekannte existierende Lösungen zur Stereo-Rekonstruktion weisen (1) eine Stereo-Rekonstruktion mit Stereo-Abgleich (z. B. normalisierte Kreuzkorrelation (NCC)) und (2) eine Stereo-Rekonstruktion, die auf einer Farb- oder Fotokonsistenzoptimierung basiert. Ein Beispiel für Lösung (2) ist in Y. Furukawa und J. Ponce, „Accurate, Dense, and Robust Multi-View Stereopsis", CVPR (2007) (nachfolgend „Furukawas Verfahren”) beschrieben.
-
Fotokonsistenz misst die Ähnlichkeit von Korrespondenzpunkten in einem Stereo-Bildpaar. Die Fotokonsistenz kann über Regionen in der Nähe von korrespondierenden Punkten definiert werden als:
wobei A eine Region ist, die an einem korrespondierenden Punkt zentriert ist,
I
L und I
Rsich auf ein linkes (Grund-) und rechtes (translatiertes) Bild beziehen,
f() eine Metrikfunktion ist, die f(x) = ||x||
2 sein kann,
x eine Bildpunktposition ist und
I(x) sich auf den Grauwert am Punkt x bezieht.
-
1 stellt eine Patch-Projektion auf ein Stereo-Bildpaar dar. Nachfolgend ist eine Beschreibung der Begriffe aus 1 aufgeführt:
- C1 und C2:
- Kameras
- O1 und O2:
- Kameramittelpunkt von zwei Kameras (der Schnittpunkt der Achsen)
- b:
- Basislinie zwischen zwei Kameras
- I1 und I2:
- Bilder, die von C1 bzw. C2 erfasst werden
- P:
- 3D-Punkt
- P1, P2:
- Projektionen von 3D-Punkt P auf Bildebene
- E1, E2:
- Epipol-Linie, die durch P1 und P2 führt
- π:
- Tangentialebene der 3D-Modelloberfläche am Punkt P
- n:
- der Normalenvektor (Richtung) bei P der Tangentialebene
- H:
- Homographietransformation, die von der Ebene π induziert ist
x = P1
- T(x):
- Template-Fenster im Grundbild
- W(x, p):
- Homographie-Warp-Fenster im translatierten Bild
-
Furukawas Verfahren projiziert einen Patch um einen 3D-Punkt P in ein Stereo-Bildpaar und berechnet eine Fotokonsistenzmetrik von korrespondierenden Projektionspunkten p1, p2. Die Position P ist jedoch nicht genau und Furukawas Verfahren nimmt an, dass die Position entlang einer Richtung oder innerhalb eines Würfels in der Nähe von der Position P verändert werden kann. Für jede Position existiert eine Fotokonsistenzabmessung und die Position mit der größten Fotokonsistenzabmessung kann das optimierte Ergebnis sein. Die Geschwindigkeit der Berechnung, die Furukawas Verfahren verwendet, kann aufgrund von Rückprojektion von 3D-Patches in Bildebenen inakzeptabel sein und ihre Genauigkeit leidet an der Abtastrate in der Nähe der ursprünglichen Position.
-
Verschiedene Ausführungsformen stellen eine Fotokonsistenzoptimierung nach einem traditionellen NCC-basierten Stereo-Abgleichverfahren bereit, um die Genauigkeit des Stereo-Angleichs und der Stereo-Rekonstruktion zu verbessern. Verschiedene Ausführungsformen, die eine Homographie-Anpassung verwenden, konvertieren das Fotokonsistenzmaß in eine implizite Funktion von Pixelkoordinaten und leiten analytische Gradienten ab. Die Optimierung basiert auf einer Homographieanpassung zwischen Bildebenen, die einen analytischen Gradienten hat und effizient gelöst werden kann.
-
Im Vergleich zu dem NCC-Abgleich-basierten Verfahren, kann eine Fotokonsistenzoptimierung aus verschiedenen Ausführungsformen, die eine Homographieanpassung verwendet, viel genauere Stereo-Rekonstruktionsergebnisse durch die Korrespondenzoptimierung liefern.
-
Verschiedene Farb- oder Fotokonsistenzoptimierungsverfahren (z. B. Furukawas Verfahren) verwenden eine Rückprojektion von 3D-Patches in eine Bildebene. Die Rückprojektion von 3D-Patches in eine Bildebene ist jedoch berechnungsintensiv und zeitaufwändig. Entsprechend bieten mindestens im Vergleich zu Furukawas Verfahren verschiedene Ausfühnungsformen eine reduzierte Berechnungszeit.
-
2 gibt ein Verfahren zur Stereo-Rekonstruktion von Stereobildpaaren in Übereinstimmung mit einer Ausführungsform wieder. Block 202 weist ein Empfangen eines Eingabe-Stereo-Bildpaars auf. Das Stereo-Bildpaar kann an ein Computersystem von einer oder mehreren digitalen Kameras oder einer Stereo-Kamera durch eine Eingabe/Ausgabe-Schnittstelle bereitgestellt sein. Das Eingabe-Stereo-Bildpaar hat das gleiche Format eines allgemeinen Bildes. Jedes Bild ist zum Beispiel ein 2D-Rechteck, das (x, y) als Koordinaten verwendet, um einen Grauwert oder eine Farbe von Pixeln zu indizieren.
-
Block 204 weist ein Begradigen des Eingabe-Stereo-Bildpaars auf, so dass ihre Epipolarlinien horizontal oder vertikal werden.
-
Block 206 weist ein Anwenden von Stereo-Abgleichverfahren auf dem begradigten Eingabe-Stereo-Bildpaar auf. Block 206 kann zum Beispiel ein Anwenden einer normalisierten Kreuzkorrelation (NCC) aufweisen, um die initialen Korrespondenzen zwischen Pixeln aus diesem Stereo-Bildpaar aufzubauen. Eine Grafikverarbeitungseinheit (GPU) eines Computersystems kann die Bildpaarbegradigung und den Stereo-Abgleich durchführen.
-
Block 208 weist für jedes Pixel in dem Grundbild ein Verwenden einer Homographanpassung auf, um die Fotokonsistenz zwischen einem Pixel in dem Grundbild und dem korrespondierenden Pixel in dem translatierten Bild zu optimieren. Das Grundbild ist zum Beispiel das linke Bild in 1, wobei das translatierte Bild das rechte Bild in 1 ist. Eine zentrale Verarbeitungseinheit eines Computersystems kann die Homographanpassung durchführen.
-
Block 210 weist triangulierende optimierte Korrespondenzpunkte auf, um eine 3D-Szene aus einer einzelnen Perspektive zu erhalten. Geeignete Techniken, um die Blöcke 202, 204, 206 und 210 durchzuführen, werden zum Beispiel in H. Hirschmfuller et al., „Real-Time Correlation-Based Stereo Vision with Reduced Border Errors", Seiten 229–246, Band 47, IJCV 2002, beschrieben. Eine GPU eines Computersystems kann die Triangulation von Korrespondenzpunkten durchführen, um eine dreidimensionale Ansicht aus einer einzelnen Perspektive zu erhalten.
-
Die Rechenprozedur zur Stereo-Rekonstruktion in dem Verfahren nach 2 kann auf einer zentralen Verarbeitungseinheit (CPU) oder einer Grafikverarbeitungseinheit (GPU) ausgeführt werden. Allgemein weist der am meisten berechnungskomplexe Teil des Stereo-Abgleichs eine massive Parallelität auf Datenebene auf, die durch Verwenden von Vektorverarbeitungs- oder Multi-Threaded-Verarbeitungsfähigkeiten einer GPU beschleunigt werden kann. Die Homographieanpassung ist eine nachfolgende Aktualisierungsprozedur, die auf einer CPU ausgeführt werden kann.
-
Im Folgenden wird ein beispielhaftes Verfahren beschrieben, das in Block 208 durchgeführt wird. Homographie ist das Abbilden zwischen zwei Punktmengen, die denselben 3D-Punktmengen entsprechen, die jedoch von unterschiedlichen Kameras aus betrachtet werden. Die Homographie wird als eine Transformation zum Aufeinanderbeziehen von zwei korrespondierenden Punktmengen in zwei Bildebenen verwendet. Gegeben ein Punkt P1 in einer Grundbildebene, wird mit Bezug auf 1 eine Homographie H, die durch eine Tangentialebene π (n ist die Normale der Tangentialebene) induziert ist, verwendet, um den korrespondierenden Punkt P2 in der translatierten Bildebene zu finden. Anders ausgedrückt, überführt die Homographie H P1 auf P2 über die Tangentialebene π. Die Ebene π ist eine Tangentialebene der Objektoberfläche an dem korrespondierenden 3D-Punkt P.
-
Verschiedene Ausführungsformen wenden eine Homographieanpassung von zwei Regionen in Bezug auf Homographieparameter in der Optimierung der Fotokonsistenz an. Bezug nehmend auf 1 wird für jedes Pixel P1 in dem Grundbild ein m × m-Fenster T(x) an dem Pixel P1 zentriert platziert, wobei x die Bildkoordinaten der Pixel in dem Grundfenster T(x) bezeichnet. Das korrespondierende Pixel von x in dem translatierten Bild wird als W(x; p) = H(p)·x bezeichnet, wobei H(p) die Homographietransformation ist. In verschiedenen Ausführungsformen ist H(p) eine 3×3-Matrix, die durch interne und externe Parameter einer Stereokamera gegeben ist und p ist ein 3-Element-Parameter, der sich auf die Tiefe und Normale des korrespondierenden 3D-Punkts bezieht. Andere Typen von Homographietransformationen können verwendet werden.
-
Die Homographietransformation kann dargestellt werden als: H(p) = Kl·(R – tpT )K –1 / r, wobei Kl und Kr die intrinsischen Matrizen einer entsprechenden linken und rechten Kamera sind,
R die Rotationsmatrix zwischen den zwei Kameras ist,
t der Translationsvektor zwischen den zwei Kameras ist,
p = n/d ist, wobei n der Normalenvektor der Ebene π ist und d die Distanz zwischen dem Mittelpunkt der linken Kamera und der Ebene π ist.
-
Die Fotokonsistenz zwischen einem Pixel x in dem Grundbild und dem Warp-Fenster, W(x; p) des translatierten Bildes, I, ist definiert als:
T(x) ein Template-Fenster in dem Grundbild ist,
I ein translatiertes Bild ist und
W(x; p) ein Homographie-Warp-Fenster in dem translatierten Bild ist.
-
Die Fotokonsistenz ist eine implizite und nichtlineare Funktion des Homographieparameters p. In verschiedenen Ausführungsformen wird ein inverses Kompositionsbildausrichtungs(ICIA)-Verfahren verwendet, um die Fotokonsistenz zu verbessern. Das ICIA-Verfahren wird modifiziert, um eine optimierte Homographiematrix H(p) und ein optimiertes korrespondierendes Pixel in dem translatierten Bild bereitzustellen. Ein geeignetes ICIA-Verfahren ist zum Beispiel in S. Baker, I. Matthews, Lucas-Kanade: „20 Years On: A Unifying Framework", IJCV (2004), beschrieben. Ein beispielhaftes ICIA-Verfahren zur Homographieanpassung ist mit Bezug auf ein Verfahren 300 aus 3 beschrieben.
-
Block 302 weist ein Empfangen eines Pixelpunkts x = (u, v, 1) sowie von Parametern von Kamerapaaren und eines initialen Werts eines Homographieparameters, p, auf. Die Parameter können eine intrinsische Matrix K einer Kamera und Extrinsisches (z. B. Rotationsmatrix R und Translationsvektor t) und einen initialen Wert eines Homographieparameters, p (der später definiert wird), aufweisen. Der Parameter p kann durch ein traditionelles NCC-basiertes Verfahren in Übereinstimmung mit seiner Definition p = n/d initialisiert werden.
-
Block 304 weist ein Bestimmen der Hesse-Matrix für das translatierte Bild auf Der Block 304 kann zum Beispiel aufweisen: (1) Evaluieren des Gradienten ∇T des Grundfensters T(x); (2) Evaluieren der Jacobi-Determinante für das rechte Bild W bezüglich p bei (x; p0), wobei die Jacobi-Determinante als ∇J = ∂W/∂p ausgedrückt wird; und (3) Bestimmen der Hesse-Matrix von W bezüglich p. Die Hesse-Matrix kann als H = Σx[∇T∇J]T[∇T∇J] ausgedrückt werden. Die Hesse-Matrix entspricht einer verbesserten Homographie-Matrix.
-
Block 306 weist ein Bestimmen eines Pixels in dem translatierten Bild W(x; p) auf. Der Block 306 kann zum Beispiel aufweisen (1) Bestimmen von I(W(x; p)) durch Warping des translatierten Bildes I mit W(x; p); (2) Bestimmen des Fehlerbildes I(W(x; p)) – T(x); (3) Berechnen des Inkrementierungsschritts Δp = H–1Σx[∇T∇J]T[I(W(x; p)) – T(x)]; und (4) Aktualisieren des Warps W(x; p) durch Bestimmen von W(x; p) = W(x; p)·W(x; Δp)–1. Die Elemente (1) bis (4) von Block 306 werden wiederholt, bis ein Absolutwert des Inkrementierungsschritts, |Δp|, weniger als ein Grenzwert ist. Der Grenzwert kann zum Beispiel ungefähr 0,00001 sein. Das Verfahren 300 bestimmt ein optimiertes Warp-Fenster (W(x, p)), das verwendet werden kann, um eine optimierte Homographiematrix H = ∑x[∇T∇J]T[∇T∇J] zu bestimmen. Die optimierte Homographiematrix H(p) kann verwendet werden, um ein korrespondierendes Pixel in dem translatierten Bild W(x; p)·[u, v, l]T zu bestimmen.
-
Die mit Bezug auf 2 beschriebenen Stereo-Homographieanpassungstechniken können zur Anwendung mit Mehrfachansicht-Stereo-Rekonstruktion erweitert werden. Multi-View-Stereo kann als die Kombination von Ergebnissen aus mehreren Stereo-Paaren betrachtet werden. 4 gibt ein Verfahren wieder, das in Übereinstimmung mit einer Ausführungsform für eine Multi-View-Stereo-Rekonstruktion verwendet werden kann. Block 402 empfängt mehrere dreidimensionale Szenen aus unterschiedlichen Stereo-Ansichten. Gemäß einem Beispiel liegen drei Ansichten vor, namentlich Ansichten C1, C2 und C3. Binoculare Stereo-Paare können von den Ansichten C1–C2, C2–C3 und C1–C3 sein.
-
Block 404 führt eine Stereo-Homographie und eine Multi-View-Ausrichtung und Integration für jedes Stereo-Paar durch. Für jedes Stereo-Paar wird eine Stereo-Homographie angewendet, die mit Bezug auf 2 und 3 beschrieben worden ist. Die durch Homographieanpassung optimierte Korrespondenz kann als (x1, x2 = w(x1)) definiert werden. Nachdem das optimierte Paar (x1, x2 = w(x1)) erhalten wurde, kann das Paar mit den bekannten Kameraparametern gemäß dem Verfahren trianguliert werden, das zum Beispiel in R. Hartley und A. Zisserman: „Multiple View Geometry in Computer Vision", Kapitel 12, Cambridge Press, 2. Version (2003), beschrieben worden ist. Triangulation kann einen dreidimensionalen Punkt X12 aus der Korrespondenz von jedem Stereo-Paar erzeugen, X12 = triangulate(x1, x2).
-
Angenommen, X12 ist das triangulierte Ergebnis von C1–C2, X23 ist das Ergebnis von C2–C3 und X13 ist das Ergebnis von C1–C3 und X12, X13 und X23 entsprechen demselben 3D-Punkt. Ein 3D-Punkt, X, ist eine Funktion von X12, X13 und X23, namentlich X = (X12, X13, X23), wobei f() eine Multi-View-Ausrichtungs- und Integrationsfunktion ist und X12, X13 und X23 jeweils dreidimensionale Punkte in Weltkoordinaten sind. In einigen Ausführungsformen kann die Multi-View-Ausrichtungs- und Integrationstechnik eine Durchschnittsfunktion oder eine Best-Fit-Funktion sein, obwohl andere Funktionen verwendet werden können.
-
Zum Beispiel ist der 3D-Punkt gegeben durch: X = (X12 + X13 + X23)/3, wenn f() als die Durchschnittsfunktion definiert ist.
-
Wenn f() als die Best-Fit-Funktion definiert ist, wird derjenige 3D-Punkt gewählt, bei dem (1) der normalisierte Vektor ni fast senkrecht zu der Kameraebene steht oder (2) nij einen kleinsten Winkel zu der Richtung PO aufweist. Somit wird f() als eine Auswahlfunktion: X = Xi definiert, wobei i = arg min Angle(POi, ni).
-
Block 406 stellt eine dreidimensionale Szene basierend auf mehreren Perspektiven bereit. Die 3D-Punkte, die in Block 404 als X bestimmt sind, bilden eine dreidimensionale Szene.
-
5A gibt Ergebnisse einer Stereo-Rekonstruktion mit dem Standard Middlebury-Stereo-Evaluierungssatz wieder, der zum Beispiel unter http://vision.middlebury.edu/ beschrieben ist. 5B gibt ein Ergebnis von Techniken wieder, die eine Homographanpassung-basierte Fotokonsistenzoptimierung verwenden. Es ist ersichtlich, dass die Techniken, die eine Homographanpassung-basierte Fotokonsistenzoptimierung verwenden, das traditionelle NCC-Matching-basierte Verfahren zumindest bezüglich der Bildklarheit deutlich übertreffen.
-
Techniken, die eine Homographanpassung-basierte Fotokonsistenzoptimierung verwenden, liefern ähnliche Ergebnisse wie Furukawas Verfahren, sind jedoch schneller fertig. Tabelle 1 zeigt die Ausführungszeit der zwei Verfahren für die Stereo-Rekonstruktionsaufgabe. Tabelle 1. Vergleich der Ausführungszeitleistung
Verfahren | Anzahl von optimierten korrespondierenden Patches | Zeit |
Techniken, die Homographanpassung-basierte Fotokonsistenzoptimierung verwenden | ~958 K | 2 s |
Furukawas Verfahren | ~972 K | 158 s |
-
6 gibt ein Blockdiagramm eines Computersystems 600 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wieder. Das Computersystem 600 kann ein Host-System 602, einen Bus 616 und eine Netzwerkschnittstelle 620 aufweisen. Das Computersystem 600 kann in einem handgehaltenen Personal Computer, einem mobilen Telefon, einer Set-Top-Box oder einer beliebigen Rechenvorrichtung implementiert sein. Das Host-System 602 kann einen Chipsatz 605, einen Prozessor 610, einen Host-Speicher 612, einen Storage-Speicher 612 und ein Grafiksubsystem 615 aufweisen. Der Chipsatz 605 kann eine Zwischenkommunikation zwischen dem Prozessor 610, dem Host-Speicher 612, dem Storage-Speicher 614, dem Grafiksubsystem 615 und dem Bus 616 bereitstellen. Der Chipsatz 605 kann zum Beispiel einen Storage-Adapter (nicht gezeigt) aufweisen, der in der Lage ist, eine Zwischenkommunikation mit dem Storage-Speicher 614 bereitzustellen. Der Storage-Adapter kann zum Beispiel in der Lage sein, mit dem Storage-Speicher 614 konform zu einem der folgenden Protokolle zu kommunizieren: Small Computer Systems Interface (SCSI), Fibre Channel (FC) und/oder Serial Advanced Technology Attachment (S-ATA).
-
In einigen Ausführungsformen kann der Chipsatz 605 eine Datenbewegungslogik aufweisen, die in der Lage ist, Transfers von Informationen innerhalb des Host-Speichers 612 oder zwischen der Netzwerkschnittstelle 620 und dem Host-Speicher 612 oder im Allgemeinen zwischen irgendeinem Satz von Komponenten in dem Computersystem 600 durchzuführen.
-
Der Prozessor 610 kann als ein Complex Instruction Set Computer (CISC) oder ein Reduced Instruction Set Computer(RISC)-Prozessor, ein Mehrfachkern- oder irgendein anderer Mikroprozessor oder eine zentrale Verarbeitungseinheit implementiert sein.
-
Der Host-Speicher 612 kann als eine flüchtige Speichervorrichtung implementiert sein, wie zum Beispiel, jedoch nicht beschränkt auf Random Access Memory (RAM), Dynamic Random Access Memory (DRAM) oder Static RAM (SRAM). Der Storage-Speicher 614 kann als eine nichtflüchtige Storage-Vorrichtung implementiert sein, wie zum Beispiel, jedoch nicht beschränkt auf ein Laufwerk für magnetische Disks, ein Laufwerk für optische Disks, ein Bandlaufwerk, eine interne Storage-Vorrichtung, eine angeschlossene Storage-Vorrichtung, ein Flash-Speicher, ein batterieabgesicherter SDRAM (Synchronous DRAM) und/oder eine von einem Netzwerk aus zugängliche Storage-Vorrichtung.
-
Das Grafiksubsystem 615 kann ein Verarbeiten von Bildern zur Darstellung durchführen, wie zum Beispiel stehende Bilder oder Video. Das Grafiksubsystem 615 kann zum Beispiel eine Videocodierung oder -decodierung durchführen. Das Grafiksubsystem 615 kann zum Beispiel Aktivitäten einer Grafikverarbeitungseinheit durchführen, die mit Bezug auf irgendeine Aktivität beschrieben worden ist, die mit Bezug auf 2 bis 4 beschrieben worden ist. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Grafiksubsystem 615 und eine Anzeige 622 kommunikativ zu koppeln. Die Schnittstelle kann zum Beispiel irgendeine aus High-Definition Multimedia Interface, DisplayPort, drahtloses HDMI und/oder drahtlose HD-konforme Techniken sein. Das Grafiksubsystem 615 kann im Prozessor 610 oder dem Chipsatz 605 integriert sein. Das Grafiksubsystem 615 kann eine freistehende Karte sein, die an den Chipsatz 605 kommunikativ gekoppelt ist.
-
Der Bus 616 kann eine Zwischenkommunikation zwischen mindestens dem Host-System 602 und der Netzwerkschnittstelle 620 sowie anderen Peripherievorrichtungen (nicht gezeigt) bereitstellen. Der Bus 616 kann serielle oder parallele Kommunikationen unterstützen. Der Bus 616 kann Knoten-zu-Knoten- oder Knoten-zu-Mehrfachknoten-Kommunikationen unterstützen. Der Bus 616 kann mindestens mit Peripheral Component Interconnect (PCI), das zum Beispiel in der Peripheral Component Interconnect (PCI) Local Bus-Spezifikation, Rev. 3.0, 2. Februar 2004, beschrieben ist, die von der PCI Special Interest Group, Portland, Oregon, USA erhältlich ist (sowie Revisionen davon); PCI Express, das in der PCI Express Basisspezifikation der PCI Special Interest Group, Revision 1.0a beschrieben ist (sowie Revisionen davon); PCI-x, das in der PCI-X-Spezifikation, Rev. 1.1, 28. März 2005, beschrieben ist, die von der vorgenannten PCI Special Interest Group, Portland, Oregon, USA erhältlich ist (sowie Revisionen davon); und/oder Universal Serial Bus (USB) (und verwandten Standards) sowie anderen Zwischenverbindungsstandards kompatibel sein.
-
Die Netzwerkschnittstelle 620 kann in der Lage sein, eine Zwischenkommunikation zwischen dem Host-System 602 und einem Netzwerk konform zu irgendeinem anwendbaren Protokoll bereitzustellen, wie zum Beispiel drahtgebundene oder drahtlose Techniken. Die Netzwerkschnittstelle kann zum Beispiel irgendeiner Vielfalt von IEEE 802.3, 802.11 oder 802.16 entsprechen. Die Netzwerkschnittstelle 620 kann mit dem Host-System 602 unter Verwendung des Busses 616 zwischenkommunizieren. In einer Ausführungsform kann die Netzwerkschnittstelle 620 im Chipsatz 605 integriert sein.
-
Die hier beschriebenen Grafik- und/oder Videoverarbeitungstechniken können in verschiedenen Hardwarearchitekturen implementiert sein. Die Grafik- und/oder Videofunktionalität kann zum Beispiel innerhalb eines Chipsatzes integriert sein. Alternativ kann ein separater Grafik- und/oder Videoprozessor verwendet werden. In einer noch weiteren Ausführungsform können die Grafik- und/oder Videofunktionen von einem Allzweckprozessor implementiert sein, der einen Mehrfachkernprozessor aufweist. In einer weiteren Ausführungsform können die Funktionen in einer elektronischen Endkundenvorrichtung implementiert sein.
-
Ausführungsformen der vorliegenden Erfindung können zum Beispiel als ein Computerprogrammprodukt bereitgestellt sein, das ein oder mehrere maschinenlesbare Medien mit darauf gespeicherten maschinenausführbaren Befehlen aufweisen kann, die, wenn sie von einer oder mehreren Maschinen, wie zum Beispiel einem Computer, einem Netzwerk von Computern oder anderen elektronischen Vorrichtungen ausgeführt werden, dazu führen können, dass die eine oder mehreren Maschinen Operationen in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung ausführen. Ein maschinenlesbares Medium kann aufweisen, ist jedoch nicht beschränkt auf Floppy-Disketten, optische Disks, CD-ROMs (Compact Disc-Read Only Memories) und magneto-optische Disks, ROMs (Read Only Memories), RAMs (Random Access Memories), EPROMs (Erasable Programmable Read Only Memories), EEPROMs (Electrically Erasable Programmable Read Only Memories), magnetische oder optische Karten, Flash-Speicher oder andere Typen von Medien oder eines maschinenlesbaren Mediums, das zum Speichern von maschinenausführbaren Befehlen geeignet ist.
-
Die Zeichnungen und die vorhergehende Beschreibung gaben Beispiele der vorliegenden Erfindung an. Obwohl sie als eine Anzahl von ganz verschiedenen funktionalen Gegenständen wiedergegeben wurden, weiß der Fachmann, dass ein oder mehrere solcher Elemente ebenfalls in einzelnen funktionalen Elementen kombiniert werden können. Alternativ können bestimmte Elemente in mehrere funktionale Elemente aufgeteilt werden. Elemente aus einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. So kann zum Beispiel die Reihenfolge von hier beschriebenen Verfahren geändert werden und ist nicht auf die hier beschriebene Art und Weise beschränkt. Darüber hinaus müssen Aktionen von irgendeinem Flussdiagramm weder in der gezeigten Reihenfolge implementiert sein; noch müssen alle Tätigkeiten notwendigerweise durchgeführt werden. Ferner können diejenigen Tätigkeiten, die nicht von anderen Tätigkeiten abhängen, mit den anderen Tätigkeiten parallel durchgeführt werden. Der Umfang der vorliegenden Erfindung ist jedoch keinesfalls durch diese spezifischen Beispiele beschränkt. Zahlreiche Variationen, ob sie nun in der Beschreibung explizit angegeben sind oder nicht, wie zum Beispiel Unterschiede in der Struktur, Dimension und Verwendung eines Materials, sind möglich. Der Umfang der Erfindung ist mindestens so breit, wie er durch die folgenden Ansprüche gegeben ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Y. Furukawa und J. Ponce, „Accurate, Dense, and Robust Multi-View Stereopsis”, CVPR (2007) [0011]
- H. Hirschmfuller et al., „Real-Time Correlation-Based Stereo Vision with Reduced Border Errors”, Seiten 229–246, Band 47, IJCV 2002 [0022]
- S. Baker, I. Matthews, Lucas-Kanade: „20 Years On: A Unifying Framework”, IJCV (2004) [0028]
- R. Hartley und A. Zisserman: „Multiple View Geometry in Computer Vision”, Kapitel 12, Cambridge Press, 2. Version (2003) [0033]
- Peripheral Component Interconnect (PCI) Local Bus-Spezifikation, Rev. 3.0, 2. Februar 2004, beschrieben ist, die von der PCI Special Interest Group, Portland, Oregon, USA [0045]
- PCI-X-Spezifikation, Rev. 1.1, 28. März 2005, beschrieben ist, die von der vorgenannten PCI Special Interest Group, Portland, Oregon, USA [0045]
- IEEE 802.3 [0046]
- 802.11 [0046]
- 802.16 [0046]