Title:
Verbesserung der plenoptischen Kameraauflösung
Kind Code:
B4


Abstract:

Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Verfahren Folgendes umfasst:
Definieren von einem oder mehreren Testfeldpunkten, wobei jeder Testfeldpunkt eine Position auf dem Sensor der Lichtfeld-Bildaufnahmevorrichtung umfasst;
Definieren von einer oder mehreren Testrekonstruktionsebenenpositionen, wobei jede Testrekonstruktionsebenenposition in Bezug auf die Vielzahl von Mikrolinsen definiert wird;
Auswählen einer ersten Konfiguration der Lichtfeld-Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld-Bildaufnahmevorrichtung definieren;
in einem Prozessor, Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen, wobei das Anwenden der Gütefunktion die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen an den Testfeldpunkten und den Testrekonstruktionsebenenpositionen umfasst;
in dem Prozessor, iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
in einer Ausgabevorrichtung, Bereitstellen einer Ausgabe, umfassend die optimale Menge von Variablen. embedded image




Inventors:
Myhre, Graham Butler, Calif. (San Francisco, US)
Liang, Chia-Kai, Calif. (San Jose, US)
Pitts, Colvin, Wash. (Snohomish, US)
Craddock, Carl Warren, Calif. (San Francisco, US)
Ng, Yi-Ren, Calif. (Palo Alto, US)
Application Number:
DE112014005866T
Publication Date:
08/02/2018
Filing Date:
12/17/2014
Assignee:
LYTRO, INC. (Calif., Mountain View, US)
International Classes:



Foreign References:
EP25283212012-11-28
Attorney, Agent or Firm:
Stolmár & Partner Patentanwälte PartG mbB, 80331, München, DE
Claims:
Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Verfahren Folgendes umfasst:
Definieren von einem oder mehreren Testfeldpunkten, wobei jeder Testfeldpunkt eine Position auf dem Sensor der Lichtfeld-Bildaufnahmevorrichtung umfasst;
Definieren von einer oder mehreren Testrekonstruktionsebenenpositionen, wobei jede Testrekonstruktionsebenenposition in Bezug auf die Vielzahl von Mikrolinsen definiert wird;
Auswählen einer ersten Konfiguration der Lichtfeld-Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld-Bildaufnahmevorrichtung definieren;
in einem Prozessor, Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen, wobei das Anwenden der Gütefunktion die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen an den Testfeldpunkten und den Testrekonstruktionsebenenpositionen umfasst;
in dem Prozessor, iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
in einer Ausgabevorrichtung, Bereitstellen einer Ausgabe, umfassend die optimale Menge von Variablen.

Verfahren nach Anspruch 1, wobei das Anwenden der Gütefunktion Folgendes umfasst:
Auswählen eines ersten Testfeldpunkts der Testfeldpunkte;
Auswählen einer ersten Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem ersten Testfeldpunkt und der ersten Testrekonstruktionsebenenposition, um eine erste Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum;
Verwenden der ersten Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein erstes simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist; und
Berechnen des ersten Werts der Gütefunktion auf Grundlage des ersten simulierten aufgenommenen Lichtfelds.

Verfahren nach Anspruch 2, wobei das Anwenden der Gütefunktion ferner Folgendes umfasst:
Durchführen einer Vielzahl von Wiederholungen, wobei jede Wiederholung Folgendes umfasst:
Auswählen eines neuen Testfeldpunkts der Testfeldpunkte;
Auswählen einer neuen Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem neuen Testfeldpunkt und der neuen Testrekonstruktionsebenenposition, um eine neue Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum; und
Verwenden der neuen Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein neues simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist;
wobei das Berechnen des ersten Werts der Gütefunktion das Berechnen des ersten Werts der Gütefunktion auf Grundlage der neuen simulierten aufgenommenen Lichtfelder umfasst, die in den Wiederholungen erzeugt wurden.

Verfahren nach Anspruch 1, wobei der erste Wert der Gütefunktion auf einer zweidimensionalen Gütefunktion basiert, die ein Attribut misst, ausgewählt aus der Gruppe, bestehend aus:
Brennweite;
Hauptstrahlwinkel;
minimale Glasmittendicke;
maximale Glasmittendicke; und
Minimierung der chromatischen Aberration.

Verfahren nach Anspruch 1, ferner umfassend:
Identifizieren von einer oder mehreren Kombinationen von Testfeldpunkten und Testrekonstruktionsebenenpositionen mit niedriger Auflösung, die in Bezug auf andere Kombinationen von Testfeldpunkten und Testrekonstruktionsebenenpositionen eine niedrigere Auflösung bereitstellen;
Festlegen anderer Gewichtungen für die anderen Kombinationen; und
Festlegen von Gewichtungen für niedrige Auflösungen für die Kombinationen mit niedriger Auflösung, sodass Lichtfelddaten, die von den Kombinationen mit niedriger Auflösung gewonnen werden, weniger Einfluss haben als Lichtfelddaten, die von den anderen Kombinationen bei der Erzeugung eines Lichtfeldbilds durch die Lichtfeld Bildaufnahmevorrichtung gewonnen werden.

Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Verfahren Folgendes umfasst:
Auswählen einer ersten Konfiguration der Lichtfeld-Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld-Bildaufnahmevorrichtung definieren;
in einem Prozessor, Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration,
um einen ersten Wert der Gütefunktion zu berechnen;
in dem Prozessor, iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
in einer Ausgabevorrichtung, Bereitstellen einer Ausgabe, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Hauptlinsenattribut einer Hauptlinse der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse eine Aberration von einem idealen Hauptlinsendesign umfasst;
wobei die Aberration im Vergleich zu dem idealen Hauptlinsendesign eine größere Konsistenz der Auflösung von Lichtfelddaten liefert, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden.

Verfahren nach Anspruch 6, wobei das Hauptlinsenattribut aus der Gruppe ausgewählt wird, bestehend aus:
einer Dicke der Hauptlinse;
einem Radius der Hauptlinse;
einem Brechungsindex der Hauptlinse; und
einer Abbe Zahl der Hauptlinse.

Verfahren nach Anspruch 6, wobei die Hauptlinse konfiguriert ist, sodass ein Effektivwert der Punktgröße der Linse zwischen dem ein- und dreifachen Durchmesser einer Mikrolinse der Vielzahl von Mikrolinsen liegt.

Verfahren nach Anspruch 6, wobei die Aberration eine im Wesentlichen sphärische Aberration umfasst.

Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Verfahren Folgendes umfasst:
Auswählen einer ersten Konfiguration der Lichtfeld-Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld-Bildaufnahmevorrichtung definieren;
in einem Prozessor, Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen;
in dem Prozessor, iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
in einer Ausgabevorrichtung, Bereitstellen einer Ausgabe, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Phasenmaskenattribut einer Phasenmaske der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse ein im Wesentlichen ideales Hauptlinsendesign aufweist;
wobei die Phasenmaske eine Phasenverschiebung an einer Wellenfront von Licht vermittelt, das durch die Hauptlinse hindurchgeht, sodass die Phasenverschiebung als eine Funktion der Pupillenlage variiert;
und wobei die Phasenmaske im Vergleich zu dem idealen Hauptlinsendesign mit der Hauptlinse zusammenwirkt, um eine größere Konsistenz der Auflösung von Lichtfelddaten zu liefern, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden.

Verfahren nach Anspruch 10, wobei die Phasenmaske eine kubische Phasenmaske umfasst.

Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Verfahren Folgendes umfasst:
Auswählen einer ersten Konfiguration der Lichtfeld-Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld-Bildaufnahmevorrichtung definieren;
in einem Prozessor, Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen;
in dem Prozessor, iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren;
wobei das iterative Stören von mindestens einer der ersten Vielzahl von Variablen und das Anwenden der Gütefunktion die Durchführung einer Vielzahl von Wiederholungen umfassen, bis die optimale Menge von Variablen identifiziert wurde, wobei jede Wiederholung Folgendes umfasst:
Stören von mindestens einer der Vielzahl von Variablen, um eine zweite Konfiguration der Lichtfeld Bildaufnahmevorrichtung zu definieren, die sich von der ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung unterscheidet, wobei die zweite Konfiguration eine zweite Vielzahl von Variablen umfasst, welche die Attribute definieren;
Anwenden der Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der zweiten Konfiguration, um einen zweiten Wert der Gütefunktion zu berechnen;
Vergleichen des zweiten Werts der Gütefunktion mit dem ersten Wert der Gütefunktion, um Vergleichsergebnisse zu erhalten;
auf Grundlage der Vergleichsergebnisse, Ermitteln, ob die zweite Vielzahl von Variablen eine optimale Menge von Variablen ist; und
wenn die zweite Vielzahl von Variablen nicht die optimale Menge von Variablen ist, Gleichsetzen der ersten Vielzahl von Variablen mit der zweiten Vielzahl von Variablen, und
in einer Ausgabevorrichtung, Bereitstellen einer Ausgabe, umfassend die optimale Menge von Variablen.

Computerprogrammprodukt zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Computerprogrammprodukt Folgendes umfasst:
ein nicht transitorisches Speichermedium; und
Computerprogrammcode, der auf dem Medium kodiert ist, konfiguriert, um zu veranlassen, dass mindestens ein Prozessor die folgenden Schritte ausführt:
Definieren von einem oder mehreren Testfeldpunkten, wobei jeder Testfeldpunkt eine Position auf dem Sensor der Lichtfeld Bildaufnahmevorrichtung umfasst;
Definieren von einer oder mehreren Testrekonstruktionsebenenpositionen, wobei jede Testrekonstruktionsebenenposition in Bezug auf die Vielzahl von Mikrolinsen definiert wird;
Empfangen der Auswahl einer ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen, wobei das Anwenden der Gütefunktion die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen an den Testfeldpunkten und den Testrekonstruktionsebenenpositionen umfasst;
iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
Veranlassen, dass eine Ausgabevorrichtung eine Ausgabe bereitstellt, umfassend die optimale Menge von Variablen.

Computerprogrammprodukt nach Anspruch 13, wobei der Computerprogrammcode, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die Gütefunktion anwendet, Computerprogrammcode umfasst, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die folgenden Schritte ausführt:
Auswählen eines ersten Testfeldpunkts der Testfeldpunkte;
Auswählen einer ersten Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem ersten Testfeldpunkt und der ersten Testrekonstruktionsebenenposition, um eine erste Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum;
Verwenden der ersten Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein erstes simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist; und
Berechnen des ersten Werts der Gütefunktion auf Grundlage des ersten simulierten aufgenommenen Lichtfelds.

Computerprogrammprodukt nach Anspruch 13, wobei der Computerprogrammcode, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die Gütefunktion anwendet, Computerprogrammcode umfasst, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die folgenden Schritte ausführt:
Durchführen einer Vielzahl von Wiederholungen, wobei jede Wiederholung Folgendes umfasst:
Auswählen eines neuen Testfeldpunkts der Testfeldpunkte;
Auswählen einer neuen Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem neuen Testfeldpunkt und der neuen Testrekonstruktionsebenenposition, um eine neue Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum; und
Verwenden der neuen Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein neues simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist;
wobei der Computerprogrammcode, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor den ersten Wert der Gütefunktion berechnet,
Computerprogrammcode umfasst, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor den ersten Wert der Gütefunktion auf Grundlage der neuen simulierten aufgenommenen Lichtfelder berechnet, die in den Wiederholungen erzeugt wurden.

Computerprogrammprodukt zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Computerprogrammprodukt Folgendes umfasst:
ein nicht transitorisches Speichermedium; und
Computerprogrammcode, der auf dem Medium kodiert ist, konfiguriert, um zu veranlassen, dass mindestens ein Prozessor die folgenden Schritte ausführt:
Empfangen der Auswahl einer ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen;
iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und
Veranlassen, dass eine Ausgabevorrichtung eine Ausgabe bereitstellt, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Hauptlinsenattribut einer Hauptlinse der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse eine Aberration von einem idealen Hauptlinsendesign umfasst;
wobei die Aberration im Vergleich zu dem idealen Hauptlinsendesign eine größere Konsistenz der Auflösung von Lichtfelddaten liefert, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden.

Computerprogrammprodukt nach Anspruch 16, wobei das Hauptlinsenattribut aus der Gruppe ausgewählt wird, bestehend aus:
einer Dicke der Hauptlinse;
einem Radius der Hauptlinse;
einem Brechungsindex der Hauptlinse; und
einer Abbe Zahl der Hauptlinse.

Computerprogrammprodukt nach Anspruch 16, wobei die Aberration eine im Wesentlichen sphärische Aberration umfasst.

Computerprogrammprodukt zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Computerprogrammprodukt Folgendes umfasst:
ein nicht transitorisches Speichermedium; und
Computerprogrammcode, der auf dem Medium kodiert ist, konfiguriert, um zu veranlassen, dass mindestens ein Prozessor die folgenden Schritte ausführt:
Empfangen der Auswahl einer ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen;
iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren; und Veranlassen, dass eine Ausgabevorrichtung eine Ausgabe bereitstellt, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Phasenmaskenattribut einer Phasenmaske der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse ein im Wesentlichen ideales Hauptlinsendesign aufweist;
wobei die Phasenmaske eine Phasenverschiebung an einer Wellenfront von Licht vermittelt, das durch die Hauptlinse hindurchgeht, sodass die Phasenverschiebung als eine Funktion der Pupillenlage variiert;
wobei die Phasenmaske im Vergleich zu dem idealen Hauptlinsendesign mit der Hauptlinse zusammenwirkt, um eine größere Konsistenz der Auflösung von Lichtfelddaten zu liefern, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden;
und wobei die Phasenmaske eine kubische Phasenmaske umfasst.

Computerprogrammprodukt zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das Computerprogrammprodukt Folgendes umfasst:
ein nicht transitorisches Speichermedium; und
Computerprogrammcode, der auf dem Medium kodiert ist, konfiguriert, um zu veranlassen, dass mindestens ein Prozessor die folgenden Schritte ausführt:
Empfangen der Auswahl einer ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
Anwenden einer Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration, um einen ersten Wert der Gütefunktion zu berechnen;
iteratives Stören von mindestens einer der ersten Vielzahl von Variablen und Anwenden der Gütefunktion, um die optimale Menge von Variablen zu identifizieren;
wobei der Computerprogrammcode, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die mindestens eine der Vielzahl von Variablen iterativ stört und die Gütefunktion anwendet, Computerprogrammcode umfasst, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor eine Vielzahl von Wiederholungen durchführt, bis die optimale Menge von Variablen identifiziert wurde, wobei der Computerprogrammcode, der konfiguriert ist, um zu veranlassen, dass der mindestens eine Prozessor die Vielzahl von Wiederholungen durchführt, Computerprogrammcode umfasst, der konfiguriert ist, um zu veranlassen, dass der Prozessor bei jeder Wiederholung die folgenden Schritte ausführt:
Stören von mindestens einer der ersten Vielzahl von Variablen, um eine zweite Konfiguration der Lichtfeld Bildaufnahmevorrichtung zu definieren, die sich von der ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung unterscheidet, wobei die zweite Konfiguration eine zweite Vielzahl von Variablen umfasst, welche die Attribute definieren;
Anwenden der Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der zweiten Konfiguration, um einen zweiten Wert der Gütefunktion zu berechnen;
Vergleichen des zweiten Werts der Gütefunktion mit dem ersten Wert der Gütefunktion, um Vergleichsergebnisse zu erhalten;
auf Grundlage der Vergleichsergebnisse, Ermitteln, ob die zweite Vielzahl von Variablen eine optimale Menge von Variablen ist; und
wenn die zweite Vielzahl von Variablen nicht die optimale Menge von Variablen ist, Gleichsetzen der ersten Vielzahl von Variablen mit der zweiten Vielzahl von Variablen, und
Veranlassen, dass eine Ausgabevorrichtung eine Ausgabe bereitstellt, umfassend die optimale Menge von Variablen.

System zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das System Folgendes umfasst:
einen Prozessor, der konfiguriert ist, um:
eine erste Konfiguration der Lichtfeld Bildaufnahmevorrichtung auszuwählen, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
eine Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration anzuwenden, um einen ersten Wert der Gütefunktion zu berechnen; und
mindestens eine der ersten Vielzahl von Variablen iterativ zu stören und die Gütefunktion anzuwenden, um die optimale Menge von Variablen zu identifizieren; und
eine Ausgabevorrichtung, die kommunikativ mit dem Prozessor gekoppelt und konfiguriert ist, um:
eine Ausgabe bereitzustellen, umfassend die optimale Menge von Variablen,
wobei der Prozessor ferner konfiguriert ist, um:
einen oder mehrere Testfeldpunkte zu definieren, wobei jeder Testfeldpunkt eine Position auf dem Sensor der Lichtfeld Bildaufnahmevorrichtung umfasst; und
eine oder mehrere Testrekonstruktionsebenenpositionen zu definieren, wobei jede Testrekonstruktionsebenenposition in Bezug auf die Vielzahl von Mikrolinsen definiert wird;
wobei der Prozessor ferner konfiguriert ist, um die Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen an den Testfeldpunkten und den Testrekonstruktionsebenenpositionen anzuwenden.

System nach Anspruch 21, wobei der Prozessor ferner konfiguriert ist, um die Gütefunktion durch Folgendes anzuwenden:
Auswählen eines ersten Testfeldpunkts der Testfeldpunkte;
Auswählen einer ersten Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem ersten Testfeldpunkt und der ersten Testrekonstruktionsebenenposition, um eine erste Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum;
Verwenden der ersten Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein erstes simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist; und
Berechnen des ersten Werts der Gütefunktion auf Grundlage des ersten simulierten aufgenommenen Lichtfelds.

System nach Anspruch 22, wobei der Prozessor ferner konfiguriert ist, um die Gütefunktion durch Folgendes anzuwenden:
Durchführen einer Vielzahl von Wiederholungen, wobei jede Wiederholung Folgendes umfasst:
Auswählen eines neuen Testfeldpunkts der Testfeldpunkte;
Auswählen einer neuen Testrekonstruktionsebenenposition der Testrekonstruktionsebenenpositionen;
Simulieren des Empfangs von Licht an dem neuen Testfeldpunkt und der neuen Testrekonstruktionsebenenposition, um eine neue Funktion für die Strahlenkorrektur zu erzeugen;
Positionieren eines Ziels in einem Objektraum; und
Verwenden der neuen Funktion für die Strahlenkorrektur zur Strahlverfolgung der ersten Konfiguration, um ein neues simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf die erste Testrekonstruktionsebenenposition neu ausgerichtet ist;
wobei der Prozessor ferner konfiguriert ist, um den ersten Wert der Gütefunktion durch das Berechnen des ersten Werts der Gütefunktion auf Grundlage der neuen simulierten aufgenommenen Lichtfelder zu berechnen, die in den Wiederholungen erzeugt wurden.

System zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das System Folgendes umfasst:
einen Prozessor, der konfiguriert ist, um:
eine erste Konfiguration der Lichtfeld Bildaufnahmevorrichtung auszuwählen, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
eine Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration anzuwenden, um einen ersten Wert der Gütefunktion zu berechnen; und
mindestens eine der ersten Vielzahl von Variablen iterativ zu stören und die Gütefunktion anzuwenden, um die optimale Menge von Variablen zu identifizieren; und
eine Ausgabevorrichtung, die kommunikativ mit dem Prozessor gekoppelt und konfiguriert ist, um:
eine Ausgabe bereitzustellen, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Hauptlinsenattribut einer Hauptlinse der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse eine Aberration von einem idealen Hauptlinsendesign umfasst;
wobei die Aberration im Vergleich zu dem idealen Hauptlinsendesign eine größere Konsistenz der Auflösung von Lichtfelddaten liefert, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden.

System nach Anspruch 24, wobei das Hauptlinsenattribut aus der Gruppe ausgewählt wird, bestehend aus:
einer Dicke der Hauptlinse;
einem Radius der Hauptlinse;
einem Brechungsindex der Hauptlinse; und
einer Abbe Zahl der Hauptlinse.

System nach Anspruch 24, wobei die Aberration eine im Wesentlichen sphärische Aberration umfasst.

System zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das System Folgendes umfasst:
einen Prozessor, der konfiguriert ist, um:
eine erste Konfiguration der Lichtfeld Bildaufnahmevorrichtung auszuwählen, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
eine Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration anzuwenden, um einen ersten Wert der Gütefunktion zu berechnen; und
mindestens eine der ersten Vielzahl von Variablen iterativ zu stören und die Gütefunktion anzuwenden, um die optimale Menge von Variablen zu identifizieren; und
eine Ausgabevorrichtung, die kommunikativ mit dem Prozessor gekoppelt und konfiguriert ist, um:
eine Ausgabe bereitzustellen, umfassend die optimale Menge von Variablen,
wobei die Attribute ein Phasenmaskenattribut einer Phasenmaske der Bildaufnahmevorrichtung umfassen, wobei die Hauptlinse ein im Wesentlichen ideales Hauptlinsendesign aufweist;
wobei die Phasenmaske eine Phasenverschiebung an einer Wellenfront von Licht vermittelt, das durch die Hauptlinse hindurchgeht, sodass die Phasenverschiebung als eine Funktion der Pupillenlage variiert;
und wobei die Phasenmaske im Vergleich zu dem idealen Hauptlinsendesign mit der Hauptlinse zusammenwirkt, um eine größere Konsistenz der Auflösung von Lichtfelddaten zu liefern, die durch die Lichtfeld Bildaufnahmevorrichtung erfasst wurden;
und wobei die Phasenmaske eine kubische Phasenmaske umfasst.

System zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung, die einen Sensor, eine Hauptlinse und eine Vielzahl von Mikrolinsen aufweist, wobei das System Folgendes umfasst:
einen Prozessor, der konfiguriert ist, um:
eine erste Konfiguration der Lichtfeld Bildaufnahmevorrichtung auszuwählen, wobei die erste Konfiguration eine erste Vielzahl von Variablen umfasst, die Attribute der Lichtfeld Bildaufnahmevorrichtung definieren;
eine Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der ersten Konfiguration anzuwenden, um einen ersten Wert der Gütefunktion zu berechnen; und
mindestens eine der ersten Vielzahl von Variablen iterativ zu stören und die Gütefunktion anzuwenden, um die optimale Menge von Variablen zu identifizieren; und
eine Ausgabevorrichtung, die kommunikativ mit dem Prozessor gekoppelt und konfiguriert ist, um:
eine Ausgabe bereitzustellen, umfassend die optimale Menge von Variablen,
wobei der Prozessor ferner konfiguriert ist, um die mindestens eine der ersten Vielzahl von Variablen iterativ zu stören und die Gütefunktion anzuwenden, indem eine Vielzahl von Wiederholungen durchgeführt wird, bis die optimale Menge von Variablen identifiziert wurde, wobei der Prozessor in jeder Wiederholung ferner konfiguriert ist, um:
mindestens eine der ersten Vielzahl von Variablen zu stören, um eine zweite Konfiguration der Lichtfeld Bildaufnahmevorrichtung zu definieren, die sich von der ersten Konfiguration der Lichtfeld Bildaufnahmevorrichtung unterscheidet, wobei die zweite Konfiguration eine zweite Vielzahl von Variablen umfasst, welche die Attribute definieren;
die Gütefunktion durch die Simulation des Empfangs von Licht durch die Hauptlinse und die Vielzahl von Mikrolinsen der zweiten Konfiguration anzuwenden, um einen zweiten Wert der Gütefunktion zu berechnen;
den zweiten Wert der Gütefunktion mit dem ersten Wert der Gütefunktion zu vergleichen, um Vergleichsergebnisse zu erhalten;
auf Grundlage der Vergleichsergebnisse zu ermitteln, ob die zweite Vielzahl von Variablen eine optimale Menge von Variablen ist; und
wenn die zweite Vielzahl von Variablen nicht die optimale Menge von Variablen ist, die erste Vielzahl von Variablen mit der zweiten Vielzahl von Variablen gleichzusetzen.

Description:
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN

Die vorliegende Anmeldung beansprucht den Vorteil der vorläufigen U.S.-Patentanmeldung mit der laufenden Nr. 61/920,709 für „Plenoptic Camera Resolution Using an Aberrated Main Lens“, eingereicht am 24. Dezember 2013.

Die vorliegende Anmeldung beansprucht den Vorteil der vorläufigen U.S.-Patentanmeldung mit der laufenden Nr. 61/920,710 für „Light Field Aberration Correction“, eingereicht am 24. Dezember 2013.

TECHNISCHES GEBIET

Die vorliegende Offenbarung betrifft Systeme und Verfahren zur Gestaltung von Lichtfeld-Bildaufnahmevorrichtungen und im Besonderen Systeme und Verfahren zur Optimierung der Variablen von Hauptlinsen und/oder Phasenmasken für Lichtfeld-Bildaufnahmevorrichtungen.

STAND DER TECHNIK

Die Linse einer Kamera hat großen Einfluss auf die Fähigkeit der Kamera zur Aufnahme von Bildern. Im Besonderen beeinflusst die Kameralinse die Zoomfähigkeit der Kamera sowie die Schärfe und Auflösung des entstandenen Bildes. Bei einer herkömmlichen Kamera ist die Linse oftmals so konzipiert, dass sie das Licht fokussiert, das durch die Linse an dem Bildsensor empfangen wurde.

Das Linsendesign für Lichtfeldkameras unterscheidet sich wesentlich von dem einer herkömmlichen Kamera. Das Auflösungsvermögen einer herkömmlichen Kamera ist eine Funktion ihrer Linse und des Sensors. Damit die Linse das Auflösungsvermögen des Systems nicht einschränkt, muss die Fokuspunktgröße der Linse der Korngröße des Films oder der Pixelgröße des Detektors über die gesamte Größe der Bildebene entsprechen oder kleiner als diese sein.

Im Gegensatz dazu hängt das Auflösungsvermögen einer Lichtfeldkamera von einer Vielzahl von Faktoren ab, einschließend zum Beispiel die Hauptlinse, wobei die Hauptlinse fokussiert ist, das Mikrolinsen-Array, die Pixelgröße des Sensors und die Winkelempfindlichkeit der Pixel des Sensors. Die Optimierung von Linsen für Lichtfeldkameras bringt demnach einzigartige Herausforderungen mit sich: In vielen Fällen ist eine optimierte Hauptlinse für eine Lichtfeldkamera nicht zwangsläufig eine, welche die kleinstmögliche Punktgröße erzeugt.
Ein Verfahren zur Identifizierung einer optimalen Menge von Variablen für eine Lichtfeld Bildaufnahmevorrichtung ist aus EP 2 528 321 A1 bekannt. Jedoch erlaubt dieses bekannte Verfahren nur die Optimierung des Abstandes zwischen dem Subjekt, der Hauptlinse und einer Vielzahl von Mikrolinsen. Eine generische Optimierung anderer Variablen der Lichtfeld Bildaufnahmevorrichtung ist aus EP 2 528 321 A1 nicht bekannt.
Außerdem offenbart EP 2 528 321 A1 nur ein spezifisches Verfahren zur Identifizierung eines optimalen Abstandes zwischen dem Subjekt, der Hauptlinse und einer Vielzahl von Mikrolinsen, und zwar durch die Berechnung einer Hochfrequenzinhaltmetrik und einer Unklarheitsmetrik. Alternative Verfahren für die Optimierung der Variablen der Lichtfeld Bildaufnahmevorrichtung sind aus EP 2 528 321 A1 nicht bekannt.
Der Erfindung liegt damit die Aufgabe zugrunde, eine generische Optimierung anderer Variablen der Lichtfeld Bildaufnahmevorrichtung zu ermöglichen, sowie alternative Verfahren für die Optimierung der Variablen der Lichtfeld Bildaufnahmevorrichtung zu erlauben.
Diese Aufgabe wird mit den Merkmalen der Patentansprüchen 1, 6, 10, 12, 13, 16, 19, 20, 21, 24, 27 und 28 gelöst.

KURZDARSTELLUNG

Gemäß verschiedenen Ausführungsformen vereinfachen das System und das Verfahren der hierin beschriebenen Technologie die Optimierung von Lichtfeldkamerakomponenten und insbesondere Hauptlinsen- und Phasenmaskenkomponenten. Das Linsensystem kann optimiert werden, um die Kameraauflösung zu verbessern. Verschiedene Ausführungsformen stellen verbesserte Systeme und Verfahren zur Gestaltung und/oder Optimierung der Hauptlinse, Phasenmaske und/oder anderer Variablen bereit.

Gemäß einem Verfahren kann die Einrichtung vor der Einleitung des Optimierungsvorgangs durchgeführt werden. Ein oder mehrere Testfeldpunkte und/oder Testrekonstruktionsebenenpositionen können von einem Benutzer ausgewählt werden, um für die Bewertung der Effektivität jeder Kamerakonfiguration während der Durchführung des Optimierungsvorgangs verwendet zu werden. Ferner kann ein zu optimierendes Kameradesign eine Vielzahl von Attributen aufweisen. Eines oder mehrere davon können von dem Benutzer ausgewählt werden, um als Variablen in dem Optimierungsvorgang verwendet zu werden. Eine erste Menge von Variablen kann ausgewählt und als eine Ausgangskonfiguration verwendet werden.

Der Optimierungsvorgang kann die Berechnung eines Ausgangsgütewerts für die Ausgangskonfiguration einschließen. Das System kann dann durch die Veränderung von einer oder mehrerer der Variablen gestört werden, um eine neue Konfiguration zu erzeugen. Ein neuer Gütewert kann dann für die neue Konfiguration berechnet werden. Der neue Gütewert kann mit dem Ausgangsgütewert verglichen werden. Auf Grundlage von Ergebnissen des Vergleichs kann das System erneut gestört werden, um eine andere neue Konfiguration zu erzeugen. Das System kann durch Zyklen iterieren, sodass in jedem Zyklus eine neue Konfiguration erzeugt, bewertet und mit der vorherigen Konfiguration verglichen wird. Dieser Vorgang kann fortgesetzt werden, bis das Verfahren bei einer optimalen Konfiguration angelangt ist, bei der eine weitere Störung der Variablen nicht zu Verbesserungen der Leistungsfähigkeit führt.

Die Gütefunktion kann berechnet werden, indem ein Testfeldpunkt und eine Testrekonstruktionsebenenposition aus den Testfeldpunkten und Testrekonstruktionsebenenpositionen ausgewählt werden, die vom Benutzer spezifiziert wurden. Die Konfiguration kann zu einem Simulator weitergeleitet werden, der eine Funktion für die Strahlenkorrektur erzeugen kann, um Lichtfelddaten für die Konfiguration idealisierten Ergebnissen zuzuordnen. Ein Ziel kann in einem Objektraum platziert und skaliert werden, sodass sein Bild der verbundenen Feld- und Rekonstruktionsebenenposition im Bildraum entspricht. Für die Konfiguration kann eine Strahlverfolgung durchgeführt werden, um ein simuliertes aufgenommenes Lichtfeld zu erzeugen, das auf eine entsprechende Rekonstruktionsebenenposition neu ausgerichtet werden kann. Eine optische Übertragungsfunktion kann berechnet und verwendet werden, um die gewünschten Werte zu erhalten.

Andere Testfeldpunkte und/oder Testrekonstruktionsebenenpositionen können ausgewählt werden, bis sämtliche der Testfeldpunkte und Testrekonstruktionsebenenpositionen beurteilt wurden. Der resultierende Wert für die Gütefunktion kann auf Grundlage der Werte generiert werden, die von der Berechnung der optischen Übertragungsfunktionen erhalten wurden. Der Wert der Gütefunktion kann dann in dem Optimierungsvorgang, wie zuvor beschrieben, verwendet werden.

Figurenliste

Die beigefügten Zeichnungen veranschaulichen verschiedene Ausführungsformen. Zusammen mit der Beschreibung dienen sie zu der Erklärung der Prinzipien der Ausführungsformen. Ein Fachmann wird erkennen, dass die bestimmten Ausführungsformen, die in den Zeichnungen veranschaulicht werden, lediglich exemplarisch sind und nicht den Umfang einschränken sollen.

  • 1 zeigt einen Abschnitt eines Lichtfeldbildes.
  • 2 zeigt ein Beispiel einer Architektur für eine Lichtfeld-Aufnahmevorrichtung gemäß einer Ausführungsform.
  • 3 zeigt ein Beispiel einer Architektur zur Implementierung einer Nachbearbeitung in einem Nachbearbeitungssystem, das kommunikativ mit einer Lichtfeld-Aufnahmevorrichtung gekoppelt ist, gemäß einer Ausführungsform.
  • 4 zeigt ein Beispiel einer Architektur für eine Lichtfeldkamera gemäß einer Ausführungsform.
  • 5 ist ein Blockdiagramm, das eine Hardware-Architektur zur Durchführung des beschriebenen Verfahrens gemäß einer Ausführungsform zeigt.
  • 6 ist ein Schaubild, das ein Beispiel der Zuordnung von Koordinaten zwischen echten und idealisierten Linsensystemen veranschaulicht.
  • 7 ist ein Schaubild, das Strahlen, die von einer idealen Hauptlinse kommen und perfekt auf eine einzelne Mikrolinse in dem Lichtfeldsensor fokussiert sind, zeigt.
  • 8 ist ein Schaubild, das den Querschnitt eines Projektionsmusters für eine ideale Linse ohne Aberration veranschaulicht.
  • 9 ist ein Schaubild des Strahlenraums, das eine andere Visualisierung des 4D-Raums für eine ideale Linse ohne Aberration veranschaulicht.
  • 10 ist ein Schein-Diagramm der Systemauflösung mit einer idealen Hauptlinse gegenüber der ausgewählten Rekonstruktionsebene in Einheiten von Lambda.
  • 11 ist ein Diagramm der Auflösung gegenüber Lambda für Lichtfeldkameras mit idealen gegenüber aberrierten Hauptlinsen.
  • 12 ist ein schematisches Blockdiagramm, das die Datenbank 511 gemäß einer Ausführungsform veranschaulicht.
  • 13 ist ein Ablaufdiagramm, das ein Verfahren zur Durchführung eines Einrichtungsverfahrens für einen Lichtfeldkameradesignalgorithmus gemäß einer Ausführungsform zeigt.
  • 14 ist ein Ablaufdiagramm, das ein Verfahren zur Durchführung eines Lichtfeldkameradesignalgorithmus zeigt, um die Gestaltung von Kamerakomponenten zu optimieren, gemäß einer Ausführungsform.
  • 15 ist ein Ablaufdiagramm, das ein Verfahren zur Durchführung einer Berechnung der Gütefunktion wie in 14 gemäß einer Ausführungsform zeigt.
  • 16 ist ein Schaubild, das den Querschnitt eines Projektionsmusters wie in 8 veranschaulicht, jedoch mit einer Linse, die eine sphärische Aberration aufweist.
  • 17 ist ein Schaubild des Strahlenraums für eine Linse mit einer sphärischen Aberration.
  • 18 ist ein Schaubild, das den Querschnitt eines Projektionsmusters wie in 8 veranschaulicht, jedoch für eine ideale Linse, die mit einer kubischen Phasenmaske modifiziert wird.
  • 19 ist ein Schaubild des Strahlenraums für eine ideale Linse mit einer kubischen Phasenmaske an der Austrittspupille.

Definitionen

Zum Zwecke der hierin bereitgestellten Beschreibung werden die folgenden Definitionen verwendet:

  • • Aberration: ein versehentlich oder bewusst erzeugtes Merkmal einer Hauptlinse, das zur Abweichung der Hauptlinse von den Eigenschaften einer idealen Linse führt.
  • • Attribut: eine Eigenschaft eines Kameradesigns.
  • • Konfiguration: ein Kameradesign, das durch eine spezifische Menge von Werten für Variablen der Attribute des Kameradesigns definiert wird.
  • • Tiefe: eine Darstellung des Abstands zwischen einem Objekt und/oder einer entsprechenden Abtastung eines Bildes und einem Mikrolinsen-Array einer Kamera.
  • • Tiefenkarte: eine zweidimensionale Karte, die einem Lichtfeldbild entspricht und eine Tiefe für jede von mehreren Abtastungen von Pixeln innerhalb des Lichtfeldbildes anzeigt.
  • • Scheibe: ein Bereich in einem Lichtfeldbild, der durch Licht beleuchtet wird, das durch eine einzelne Mikrolinse hindurchgeht; kann kreisförmig sein oder eine beliebige andere geeignete Form aufweisen.
  • • Extended-Depth-of-Field (EDOF) Bild: ein Bild, das verarbeitet wurde, um Objekte aufzuweisen, die entlang eines größeren Tiefenbereichs scharf eingestellt sind.
  • • Feldpunkt: eine spezifische Position an einem Bildsensor.
  • • Bild: ein zweidimensionales Array von Pixelwerten oder Pixeln, die jeweils eine Farbe spezifizieren.
  • • Bildverarbeitungsalgorithmus: ein beliebiges computerimplementiertes Verfahren zur Modifizierung eines Bildes.
  • • Lambda (λ): ein Abstand, welcher der Brennweite einer Mikrolinse eines Mikrolinsen-Arrays entspricht.
  • • Lichtfeldbild: ein Bild, das eine Darstellung von Lichtfelddaten enthält, die an dem Sensor erfasst werden.
  • • Hauptlinse: die optische Struktur oder Strukturen, durch die Licht in eine Kamera eintritt, bevor es auf ein Mikrolinsen-Array oder einen Sensor auftrifft.
  • • Gütefunktion: ein Algorithmus, der an einem Kameradesign angewendet werden kann, um einen oder mehrere Werte der Gütefunktion zu generieren.
  • • Werte der Gütefunktion: Werte, die für die Leistungsfähigkeit eines Kameradesigns deskriptiv sind; bevorzugte Werte der Gütefunktion können größer oder kleiner sein.
  • • Mikrolinse: eine kleine Linse, üblicherweise eine in einem Array ähnlicher Mikrolinsen.
  • • Stören: ein Vorgang, durch den ein System, eine Konfiguration und/oder Variable auf gemessene Weise zu Vergleichszwecken verändert wird.
  • • Phasenmaske: eine Kamerakomponente, die in Verbindung mit einer Hauptlinse verwendet wird, um eine Phasenverschiebung an der Wellenfront von Licht zu vermitteln.
  • • Funktion für die Strahlenkorrektur: eine Funktion, die zwischen vierdimensionalen Lichtstrahlkoordinaten in einem tatsächlichen Bildraum, entsprechend der Verwendung einer tatsächlichen Hauptlinse und vierdimensionalen Lichtstrahlkoordinaten in einem idealen Raum, entsprechend der Verwendung einer idealen Hauptlinse umwandelt.
  • • Rekonstruktionsebene: eine Ebene innerhalb eines Lichtfelds, an der ein Lichtfeldbild erzeugt werden soll.
  • • Rekonstruktionsebenenposition: die Position einer Rekonstruktionsebene, üblicherweise mittels eines Abstands (in Vielfachen von Lambda) von einem Mikrolinsen-Array ausgedrückt.
  • • simuliertes aufgenommenes Lichtfeld: eine Darstellung eines Lichtfelds, das durch die Simulation der Leistung einer Konfiguration einer Lichtfeldkamera aufgenommen wird.
  • • Variable: eine Metrik, die verwendet werden kann, um ein Attribut zu messen und abgewandelt werden kann, um die Leistung der Kamera zu verändern.
  • • Gewichtung: eine numerische Darstellung der Wichtigkeit, die einer spezifischen Komponente in der Konstruktion einer Kombination von Komponenten zugewiesen wird.

Zusätzlich wird zur Erleichterung der Benennung der Begriff „Kamera“ hierin verwendet, um sich auf eine Bildaufnahmevorrichtung oder eine andere Datenerfassungsvorrichtung zu beziehen. Eine derartige Datenerfassungsvorrichtung kann eine beliebige Vorrichtung oder ein beliebiges System zur Erfassung, Aufzeichnung, Messung, Schätzung, Ermittlung und/oder Berechnung von Daten sein, die für einen Vorgang repräsentativ sind, einschließend unter anderem zweidimensionale Bilddaten, dreidimensionale Bilddaten und/oder Lichtfelddaten. Eine derartige Datenerfassungsvorrichtung kann Optik, Sensoren und Bildverarbeitungselektronik zur Erfassung von Daten einschließen, die für einen Vorgang repräsentativ sind, unter Verwendung von Methoden, die in der Technik wohlbekannt sind. Ein Fachmann wird erkennen, dass viele Arten von Datenerfassungsvorrichtungen in Verbindung mit der vorliegenden Offenbarung verwendet werden können und dass die Offenbarung nicht auf Kameras beschränkt ist. Demnach soll die Verwendung des Begriffs „Kamera“ hierin veranschaulichend und beispielhaft sein, soll jedoch nicht als Einschränkung des Umfangs der Offenbarung angesehen werden. Im Besonderen soll eine beliebige Verwendung eines derartigen Begriffs hierin so angesehen werden, dass er sich auf eine beliebige geeignete Vorrichtung zur Erfassung von Bilddaten bezieht.

In der folgenden Beschreibung werden verschiedene Methoden und Verfahren zur Gestaltung und/oder Auswahl von Lichtfeldkamerakomponenten beschrieben. Ein Fachmann wird erkennen, dass diese verschiedenen Methoden und Verfahren einzeln und/oder in einer beliebigen geeigneten Kombination miteinander durchgeführt werden können.

Architektur

In mindestens einer Ausführungsform können das hierin beschriebene System und Verfahren in Verbindung mit Lichtfeldbildern implementiert werden, die von Lichtfeld-Aufnahmevorrichtungen aufgenommen wurden, einschließend unter anderem diejenigen, die in Ng et al., Light-field photography with a hand-held plenoptic capture device, Technical Report CSTR 2005-02, Stanford Computer Science beschrieben wurden. Nun wird in Bezug auf 2 ein Blockdiagramm gezeigt, das eine Lichtfeld-Aufnahmevorrichtung, wie etwa eine Kamera 800, zeigt. Nun wird außerdem in Bezug auf 3 ein Blockdiagramm gezeigt, das eine Architektur zur Implementierung einer Nachbearbeitung in einem Nachbearbeitungssystem zeigt, das kommunikativ mit einer Lichtfeld-Aufnahmevorrichtung, wie etwa einer Kamera 800, gekoppelt ist, gemäß einer Ausführungsform. Ein Fachmann wird erkennen, dass die bestimmten Konfigurationen, die in 2 und 3 gezeigt werden, lediglich beispielhaft sind und dass andere Architekturen für die Kamera 800 möglich sind. Ein Fachmann wird ferner erkennen, dass verschiedene der Komponenten, die in den Konfigurationen aus 2 und 3 gezeigt werden, optional sind und weggelassen oder neu konfiguriert werden können.

In mindestens einer Ausführungsform kann die Kamera 800 eine Lichtfeldkamera sein, welche die Lichtfeld-Bilddatenerfassungsvorrichtung 809 einschließt, welche die Optik 801, den Bildsensor 803 (einschließend eine Vielzahl einzelner Sensoren zur Erfassung von Pixeln) und das Mikrolinsen-Array 802 aufweist. Die Optik 801 kann zum Beispiel die Apertur 812 einschließen, um zu ermöglichen, dass eine wählbare Menge von Licht in die Kamera 800 gelangt sowie die Hauptlinse 813, um Licht auf das Mikrolinsen-Array 802 zu fokussieren. In mindestens einer Ausführungsform kann das Mikrolinsen-Array 802 in dem optischen Pfad der Kamera 800 (zwischen Hauptlinse 813 und Sensor 803) angeordnet und/oder darin integriert werden, um die Erfassung, Aufnahme, Abtastung, Aufzeichnung und/oder Gewinnung von Lichtfeld-Bilddaten über den Sensor 803 vereinfachen. Nun wird ebenso in Bezug auf 4 ein Beispiel einer Architektur für eine Lichtfeldkamera 800 zur Implementierung des Verfahrens der vorliegenden Offenbarung gemäß einer Ausführungsform gezeigt. Die Figur wird nicht maßstäblich gezeigt. 4 zeigt in konzeptueller Form die Beziehung zwischen der Apertur 812, der Hauptlinse 813, dem Mikrolinsen-Array 802 und dem Sensor 803, da derartige Komponenten interagieren, um Lichtfelddaten für das Subjekt 901 aufzunehmen.

In mindestens einer Ausführungsform kann die Lichtfeldkamera 800 außerdem eine Benutzerschnittstelle 805 einschließen, um es einem Benutzer zu ermöglichen, eine Eingabe zur Steuerung des Betriebs der Kamera 800 zum Aufnehmen, Erfassen, Speichern und/oder Verarbeiten von Bilddaten bereitzustellen.

In mindestens einer Ausführungsform kann die Lichtfeldkamera 800 außerdem eine Steuerungsschaltung 810 einschließen, um die Erfassung, Abtastung, Aufzeichnung und/oder Gewinnung von Lichtfeld-Bilddaten zu vereinfachen. Zum Beispiel kann die Steuerungsschaltung 810 den Zeitpunkt der Erfassung, die Geschwindigkeit der Erfassung, die Abtastung, die Aufnahme, die Aufzeichnung und/oder die Gewinnung von Lichtfeld-Bilddaten verwalten und/oder steuern (automatisch oder als Reaktion auf Benutzereingaben).

In mindestens einer Ausführungsform kann die Kamera 800 den Speicher 811 zum Speichern von Bilddaten, wie etwa die Ausgabe von dem Bildsensor 803, einschließen. Ein derartiger Speicher 811 kann einen externen und/oder internen Speicher einschließen. In mindestens einer Ausführungsform kann der Speicher 811 an einer separaten Vorrichtung und/oder Position von der Kamera 800 bereitgestellt werden.

Zum Beispiel kann die Kamera 800 rohe Lichtfeld-Bilddaten als eine Ausgabe von dem Sensor 803 und/oder eine Darstellung davon, wie etwa eine komprimierte Bilddatei, speichern. Zusätzlich, wie in der verwandten U.S.-Utility-Patentanmeldung US 2010-0265385 A1 für „Light-field Camera Image, File and Configuration Data, and Method of Using, Storing and Communicating Same,“ (Az. des Anwalts LYT3003), eingereicht am 10. Februar 2010, beschrieben, kann der Speicher 811 außerdem Daten speichern, welche die Eigenschaften, Parameter und/oder Konfigurationen (gemeinsam „Konfigurationsdaten“) der Vorrichtung 809 darstellen.

In mindestens einer Ausführungsform werden die aufgenommenen Bilddaten der Nachbearbeitungsschaltung 804 bereitgestellt. Eine derartige Schaltung 804 kann in der Lichtfeld-Bilddatenerfassungsvorrichtung 809, wie in 2 gezeigt, angeordnet oder darin integriert werden oder sie kann in einer separaten Komponente außerhalb der Lichtfeld-Bilddatenerfassungsvorrichtung 809, wie in 3 gezeigt, vorliegen. Eine derartige Komponente kann in Bezug auf die Lichtfeld-Bilddatenerfassungsvorrichtung 809 lokal oder entfernt sein. Ein geeignetes drahtgebundenes oder drahtlos Protokoll kann für die Übertragung von Bilddaten 821 zu der Schaltung 804 verwendet werden; zum Beispiel kann die Kamera 800 Bilddaten 821 und/oder andere Daten über das Internet, ein zellulares Datennetzwerk, ein WLAN-Netzwerk, ein Bluetooth-Kommunikationsprotokoll und/oder beliebige andere geeignete Mittel übertragen.

Eine derartige separate Komponente kann beliebige einer großen Vielzahl von Rechenvorrichtungen einschließen, einschließend unter anderem Computer, Smartphones, Tablets, Kameras und/oder eine beliebige andere Vorrichtung, die digitale Informationen verarbeitet. Eine derartige separate Komponente kann zusätzliche Merkmale einschließen, wie etwa eine Benutzereingabe 815 und/oder einen Anzeigebildschirm 816. Falls gewünscht können Lichtfeld-Bilddaten für den Benutzer auf dem Anzeigebildschirm 816 angezeigt werden.

Das System und das Verfahren der vorliegenden Offenbarung können an der Kamera 800 aus 2 und/oder an dem Nachbearbeitungssystem aus 3 implementiert werden. Alternativ können das System und das Verfahren an einer beliebigen elektronischen Vorrichtung implementiert werden, die ausgestattet ist, um Informationen zu empfangen, zu speichern und zu präsentieren. Eine derartige elektronische Vorrichtung kann zum Beispiel ein Desktopcomputer, ein Laptop, ein Smartphone, ein Tablet oder Ähnliches sein.

Obwohl das System hierin in Verbindung mit einer Ausführung in einem Computer beschrieben wird, wird ein Fachmann erkennen, dass die hierin beschriebenen Methoden in anderen Zusammenhängen und tatsächlich in einer beliebigen geeigneten Vorrichtung implementiert werden können, die zum Empfang und/oder der Verarbeitung von Benutzereingaben in der Lage ist. Dementsprechend soll die folgende Beschreibung verschiedene Ausführungsformen exemplarisch veranschaulichen, anstatt den Umfang einzuschränken.

Mit Bezug auf 5 wird ein Blockdiagramm gezeigt, das eine Hardware-Architektur zur Durchführung des beschriebenen Verfahrens gemäß einer Ausführungsform zeigt. Eine derartige Architektur kann zum Beispiel verwendet werden, um die Methoden des Systems in einem Computer oder einer anderen Vorrichtung 501 zu implementieren. Die Vorrichtung 501 kann eine beliebige elektronische Vorrichtung sein, die ausgestattet ist, um Informationen zu empfangen, zu speichern und/oder zu präsentieren und um Benutzereingaben in Verbindung mit derartigen Informationen zu empfangen.

In mindestens einer Ausführungsform weist die Vorrichtung 501 eine Anzahl von Hardware-Komponenten, die einem Fachmann wohlbekannt sind, auf. Die Eingabevorrichtung 502 kann ein beliebiges Element sein, das Eingaben von dem Benutzer 500 empfängt, einschließend zum Beispiel eine Tastatur, eine Maus, einen Eingabestift, einen berührungsempfindlichen Bildschirm (Touchscreen), ein Touchpad, einen Trackball, einen Beschleunigungsmesser, einen Fünf-Wege-Schalter, ein Mikrofon oder Ähnliches. Eingaben können über einen beliebigen geeigneten Modus bereitgestellt werden, einschließend zum Beispiel eines oder mehrere der Folgenden: Zeigen, Klopfen, Tippen, Ziehen und/oder Sprache.

Der Datenspeicher 506 kann eine beliebige magnetische, optische oder elektronische Speichervorrichtung für Daten in digitaler Form sein; Beispiele schließen einen Flash-Speicher, eine Magnetfestplatte, eine CD-ROM, eine DVD-ROM oder Ähnliches ein. In mindestens einer Ausführungsform speichert der Datenspeicher 506 Informationen, die eine oder mehrere Datenbanken einschließen können, die gemeinsam als eine Datenbank 511 bezeichnet werden, die gemäß den nachfolgend beschriebenen Methoden verwendet und/oder angezeigt werden kann. In einer anderen Ausführungsform kann die Datenbank 511 an einer anderen Stelle gespeichert und von der Vorrichtung 501 abgerufen werden, wenn sie für die Präsentation für einen Benutzer 500 benötigt wird. Die Datenbank 511 kann einen oder mehrere Datensätze einschließen, die für eine Vielzahl von Zwecken verwendet werden können und eine große Vielzahl von Dateien, Metadaten und/oder anderen Daten einschließen können.

Der Anzeigebildschirm 503 kann ein beliebiges Element sein, das Informationen, wie etwa Elemente aus der Datenbank 511 und/oder die Ergebnisse von Schritten grafisch darstellt, die für derartige Elemente durchgeführt wurden, um Informationen bereitzustellen, die für einen Benutzer nützlich sind. Derartige Ausgaben können zum Beispiel Rohdaten, Datenvisualisierungen, Illustrationen von Lichtfeldkamerakomponenten oder Ähnliches einschließen. Derartige Informationen können von dem Anzeigebildschirm 503 in einer großen Vielzahl von Formaten angezeigt werden, einschließend unter anderem Listen, Tabellen, Graphen und Ähnliches. In mindestens einer Ausführungsform, bei der lediglich ein Teil der gewünschten Ausgaben auf einmal präsentiert wird, kann eine dynamische Steuerung, wie etwa ein Scroll-Mechanismus, über die Eingabevorrichtung 502 verfügbar sein, um zu ändern, welche Information momentan angezeigt wird und/oder um die Art und Weise der Anzeige der Informationen zu ändern.

Der Prozessor 504 kann ein herkömmlicher Mikroprozessor zur Durchführung von Operationen im Hinblick auf Daten unter der Leitung von Software, gemäß wohlbekannter Methoden, sein. Der Speicher 505 kann ein Schreib-Lese-Speicher sein, der eine Struktur und Architektur, wie sie in der Technik bekannt sind, zur Verwendung durch den Prozessor 504 im Laufe der Ausführung der Software aufweist.

Der Datenspeicher 506 kann in Bezug auf die anderen Komponenten der Vorrichtung 501 lokal oder entfernt sein. In mindestens einer Ausführungsform ist die Vorrichtung 501 konfiguriert, um Daten bei Bedarf von einer entfernten Datenspeichervorrichtung abzurufen. Eine derartige Kommunikation zwischen der Vorrichtung 501 und anderen Komponenten kann drahtlos, durch eine Ethernet-Verbindung, über ein Rechennetzwerk, wie etwa das Internet, über ein zellulares Netzwerk oder durch ein beliebiges anderes geeignetes Mittel erfolgen. Diese Kommunikation mit anderen elektronischen Vorrichtungen wird als ein Beispiel bereitgestellt und ist nicht notwendig.

In mindestens einer Ausführungsform ist der Datenspeicher 506 in Form einer CD-ROM, einer DVD, eines Flash-Laufwerks, einer USB-Festplatte oder Ähnlichem trennbar. Die Datenbank 511 kann von einer Quelle außerhalb der Vorrichtung 501 in einen Datenspeicher 506 eingespeist werden, der trennbar ist und kann später angezeigt werden, nachdem der Datenspeicher 506 mit der Vorrichtung 501 verbunden ist. In einer anderen Ausführungsform ist der Datenspeicher 506 innerhalb der Vorrichtung 501 fixiert.

In einer Ausführungsform kann das System der vorliegenden Offenbarung als Software implementiert werden, die in einer beliebigen geeigneten Computerprogrammiersprache geschrieben ist, egal ob in einer unabhängigen oder Client-/Server-Architektur. Alternativ kann es in Hardware implementiert werden und/oder eingebettet sein.

Lichtfeld Übersicht

Lichtfeldbilder schließen oftmals eine Vielzahl von Projektionen (die kreisförmig sein oder andere Formen aufweisen können) der Apertur 812 der Kamera 800 ein, wobei jede Projektion von einem anderen Blickwinkel an der Brennebene der Kamera ausgeht. Das Lichtfeldbild kann auf dem Sensor 803 aufgenommen werden. Die Zwischenschaltung des Mikrolinsen-Arrays 802 zwischen der Hauptlinse 813 und dem Sensor 803 führt dazu, das Bilder der Apertur 812 auf dem Sensor 803 geformt werden, wobei jede Mikrolinse in dem Array 802 ein kleines Bild der Hauptlinsenapertur 812 auf den Sensor 803 projiziert. Diese aperturförmigen Projektionen werden hierin als Scheiben bezeichnet, obwohl sie nicht kreisförmig sein müssen. Der Begriff „Scheibe“ soll nicht auf einen kreisförmigen Bereich beschränkt sein, kann sich jedoch auf einen Bereich mit beliebiger Form beziehen.

Lichtfeldbilder schließen vier Dimensionen von Informationen ein, die Lichtstrahlen beschreiben, die auf die Brennebene der Kamera 800 (oder einer anderen Aufnahmevorrichtung) auftreffen. Zwei räumliche Dimensionen (hierin als x und y bezeichnet) werden von den Scheiben selbst dargestellt. Zum Beispiel entspricht die räumliche Auflösung eines Lichtfeldbildes mit 120.000 Scheiben, die in einem kartesischen Muster 400 breit und 300 hoch angeordnet sind 400x300. Zwei Winkelmaße (hierin als u und v bezeichnet) werden als die Pixel innerhalb einer einzelnen Scheibe dargestellt. Zum Beispiel entspricht die Winkelauflösung eines Lichtfeldbilds mit 100 Pixeln innerhalb jeder Scheibe, angeordnet als ein 10×10 kartesisches Muster, 10×10. Dieses Lichtfeldbild weist eine 4-D- (x,y,u,v) Auflösung von (400,300,10,10) auf. Nun wird mit Bezug auf 1 ein Beispiel einer 2-Scheibe durch einen 2-Scheibenabschnitt eines derartigen Lichtfeldbildes gezeigt, einschließend Abbildungen der Scheiben 102 und der einzelnen Pixel 203; zum Zwecke der Veranschaulichung ist jede Scheibe 102 zehn Pixel 203 breit.

In mindestens einer Ausführungsform kann die 4-D-Lichtfelddarstellung durch einen Vorgang der Projektion und Rekonstruktion auf ein 2-D-Bild reduziert werden. Wie ausführlicher in der verwandten U.S.-Utility-Patentanmeldung US 2013-0222606 A1 für „Compensating for Variation in Microlens Position During Light-Field Image Processing,“ (Az. des Anwalts LYT021), eingereicht am 22. Februar 2013, beschrieben, kann eine virtuelle Projektionsfläche eingeführt werden, und die Überschneidungen repräsentativer Strahlen mit der virtuellen Fläche können berechnet werden. Die Farbe von jedem repräsentativen Strahl kann so gewählt werden, dass sie der Farbe seines zugehörigen Pixels entspricht.

Eine beliebige Anzahl von Bildverarbeitungsmethoden kann verwendet werden, um Farbartefakte zu reduzieren, Projektionsartefakte zu reduzieren, den Dynamikbereich zu vergrößern und/oder die Bildqualität anderweitig zu verbessern. Beispiele für derartige Methoden, einschließend zum Beispiel die Modulation, Demodulation und Demosaicing, werden in der verwandten U.S.-Patentanmeldung US 2013-0222652 A1 für „Compensating for Sensor Saturation and Microlens Modulation During Light-Field Image Processing“ (Az. des Anwalts LYT019), eingereicht am 22. Februar 2013, beschrieben.

Insbesondere kann die Verarbeitung für ein Enhanced Depth of Field (EDOF) Bild durchgeführt werden, wobei alle Teile des Bildes scharf eingestellt sind. Jedoch können derartige Verarbeitungsschritte bei herkömmlichen Operationen im Hinblick auf EDOF-Bilder von begrenztem Nutzen sein, da die Genauigkeit der Tiefenkarte sowie die Lichtfelddaten an sich eine stark tiefenabhängige Variation hinsichtlich der Abtastung, der Vorfilterung und des Rauschpegels aufweisen können. Die Verarbeitung der gesamten EDOF-Ausgabe als ein einziges 2D-Bild kann zu ungewollten Artefakten führen, besonders, wenn in hohem Maße räumlich instabile Verarbeitungsmethoden bei der Verbesserung des Bildes verwendet werden. Dementsprechend wird in mindestens einer Ausführungsform eine geschichtete Bildverarbeitungsmethode verwendet.

Lichtfeld-Strahlenkorrekturfunktionen

Wie in R. Ng, „Digital Light Field Photography,“ Dissertation, Institut für Informatik, Stanford University, Juni 2006 und in Ng et al., U.S.-Patentanmeldung US 2009-0128669 A1 für „Correction of Optical Aberrations“, eingereicht am 26. Januar 2009, erörtert, kann eine Lichtfeldkamera Aberrationen der Hauptlinse digital korrigieren. Bei einer herkömmlichen 2D-Kamera führt eine Aberration in der Linse dazu, dass die Linse auf eine große Punktgröße fokussiert ist, was zu einem verringerten Auflösungsvermögen führt.

Bei einer Lichtfeldkamera misst der Lichtfeldsensor jedoch kleine Strahlenbündel von unterschiedlichen Abschnitten der Austrittspupille. Eine vorherige Kenntnis des Linsensystems ermöglicht, dass die gemessenen Strahlenbündel digital neu sortiert werden, um eine beliebige gewünschte Linsenkonfiguration nachzuahmen. Zum Beispiel können die Strahlen neu sortiert werden, um mit einem idealen Linsensystem übereinzustimmen und demnach das Auflösungsvermögen des Systems zu maximieren. Dies hat außerdem den Effekt, dass andere Nichtidealitäten, wie etwa eine Verzerrung, von der Linse entfernt (oder verringert) werden.

Das Folgende ist ein Beispiel für ein Verfahren, das verwendet werden kann, um die Zuordnung zwischen den tatsächlichen und idealen Linsensystemen zu finden. Das, was die Kamera physikalisch aufzeichnet, wird als der aberrierte Strahlenraum bezeichnet, gekennzeichnet durch die Koordinaten (x', y', u', v'); diese Koordinaten können eindeutig in einen idealen Strahlenraum (x, y, u, v) neu eingeordnet werden. Die Zuordnung zwischen diesen beiden Räumen kann berechnet werden, indem die Gestaltung der Linse bekannt ist und Strahlen außerhalb des Zentrums jedes Pixels an dem Sensor verfolgt werden.

Ein Beispiel für die Zuordnung von Koordinaten zwischen realen und idealisierten Linsensystemen wird in einem Schaubild 600 in 6 in Bezug auf das zentrale Pixel veranschaulicht. Die Strahlen werden bei einem Ursprung 610 gestartet. Die Strahlen werden durch alle Elemente der realen Linse 620 in die reale Welt verfolgt. Die Strahlen werden dann durch ein entsprechendes ideales Modell der idealen Linse 630 verfolgt. Die Strahlen enden an einem Endpunkt 640 auf einer Sensorebene und die 4D-Koordinaten der Strahlen werden aufgezeichnet. Der Unterschied zwischen der 4D-Koordinate, bei welcher der Strahl gestartet wurde (d. h. an dem Ursprung 610) und der 4D-Koordinate, an der er endet (d. h. an dem Endpunkt 640), ist der Korrekturvektor für dieses spezifische Pixel. Dieser Vorgang definiert das, was als die Funktion für die Strahlenkorrektur bezeichnet wird.

Ideale Linsen

Eine ideale Linse weist die Eigenschaft der Zuordnung von Punkten in Weltkoordinaten zu Punkten in Bildkoordinaten auf. Das bedeutet, dass sie einen perfekten Fokus mit Nullbreite aufweist, wobei die Diffraktion außer Acht gelassen wird. 7 ist ein Schaubild 700, das Strahlen, die von einer idealen Hauptlinse (nicht gezeigt) kommen und perfekt auf eine einzelne Mikrolinse 710 in der Nähe des Lichtfeldsensors 720 fokussiert sind, zeigt. Ein Querschnitt der Mikrolinse wird gezeigt. Während der Projektion werden die Abtastungen auf Grundlage ihrer 4D-Koordinaten und der Rekonstruktionsebene in das rekonstruierte Bild gesplattet. Die Position der Rekonstruktionsebene wird in Einheiten von „Lambda“ (λ) definiert. Diese Einheit Lambda weist einen physikalischen Abstand auf, welcher der Brennweite der Mikrolinse entspricht. Der Ursprung des Systems befindet sich an der Ebene der Mikrolinsen und wird als λ = 0 definiert.

Querschnitte von Projektionsmustern stellen eine intuitive Möglichkeit dar, um die Projektionsmuster als eine Funktion von Lambda zu verstehen. 8 ist ein Schaubild 800, das den Querschnitt eines Projektionsmusters für eine ideale Linse ohne Aberration zeigt. Die horizontale Achse 810 zeigt das Muster mit Lambda und die vertikale Achse 820 ist ein Querschnitt durch die Mitte der Linse. Wie gezeigt, können viele Ebenen 830 schlechte (d. h. nicht einheitliche) Projektionsmuster aufweisen.

Wenn die Strahlen auf λ = 0 projiziert werden, sind alle Abtastungen degeneriert. Demnach liegen die einzigen Daten, die in dem rekonstruierten 2D-Ausgabebild vorhanden sind, an dem geometrischen Mittelpunkt jeder Mikrolinse vor. Dies schränkt die Auflösung des Bildes bei λ = 0 grundlegend auf die Auflösung des Strahls der Mikrolinse an sich ein. Dies wird als das „Lambda-Nullloch“ bei der Auflösung bezeichnet. Es gibt viele andere Lambda-Werte, bei denen die Abtastmuster äußerst degeneriert sind und die Auflösung der Rekonstruktion auf ähnliche Weise einschränken.

Eine andere Visualisierung des 4D-Raums, als Schaubild des Strahlenraums 900 bezeichnet, wird in 9 gezeigt. Eine Spalte von Kästchen 910 entspricht allen Strahlen, die eine einzelne Mikrolinse entlang ihres Durchmessers in der x-Richtung treffen. Jedes Kästchen in der Spalte entspricht einem einzelnen Pixel. Der Punkt 920 in der Mitte jedes Kästchens stellt den geometrischen Mittelpunkt des Pixels dar. Die Spalten sind aufgrund der hexagonalen Packung der Mikrolinsen leicht versetzt. Die Breite und Höhe jedes Kästchens entsprechen der räumlichen und Winkelbreite, über die das Pixel in dem echten Szenario integriert wird. Demnach entspricht ein breiteres/größeres Kästchen einem Pixel mit niedrigerer Auflösung, da es sich über eine größere physikalische Ausdehnung in dem Szenario integriert.

Das mittlere Schaubild 930 in 9 bildet eine ideale Hauptlinse mit der Rekonstruktionsebene bei λ = 0 ab. Bei dieser Ebene sind die Kästchen perfekte Rechtecke und haben die gleiche Höhe und Breite. Die Schaubilder links 940 und rechts 950 davon befinden sich jeweils an Rekonstruktionsebenen von λ = +10 und λ = -10. Eine Änderung der Position der Rekonstruktionsebene, eine Operation, die gemeinhin als Refokussierung bezeichnet wird, entspricht einer Abscherung der Schaubilder des Strahlenraums im Uhrzeigersinn oder entgegen dem Uhrzeigersinn für jeweils positive oder negative Veränderungen von Lambda. Der Bereich, über den sich jedes Pixel integriert, wird nun in gleichem Maße für die + 10- und - 10-Schaubilder in der x-Richtung verlängert. Diese Erweiterung entspricht wiederum einem größeren räumlichen Bereich in dem Szenario und demnach einer niedrigeren Auflösung. Dies ist eine grundlegende Eigenschaft von Lichtfeldkameras, die den Gesamtbereich der Refokussierbarkeit einschränkt, da sich, weil die Rekonstruktionsebene immer weiter von dem optischen Fokus bei λ = 0 wegbewegt wird, die Auflösung dementsprechend verschlechtert.

8 und 9 veranschaulichen unterschiedliche Einschränkungen der Verwendung idealer Linsen in Lichtfeldkameras. Das resultierende Auflösungsprofil der Lichtfeldkamera ist eine Kombination dieser Einschränkungen. 10 zeigt ein Schein-Diagramm 1000 der Systemauflösung an einer Y-Achse 1010 mit einer idealen Hauptlinse gegenüber der ausgewählten Rekonstruktionsebene an einer X-Achse 1020 in Einheiten von Lambda. Die Gesamthüllkurve der Funktion wird durch die Veränderung der Breite der Pixelintegration mit Lambda bestimmt. Der größere zentrale Abfall der Auflösung 1030 ist dem „Lambda-Nullloch“ geschuldet. Die anderen kleinen Absenkungen 1040 stammen von anderen äußerst degenerierten Projektionsmustern. Die Gesamtform des Musters zeigt, dass die Auflösung des Systems abnimmt, da es zu zunehmend größeren Lambda-Werten projiziert.

Mathematische Beschreibung der idealen Linse

Wenn die Hauptlinse eine ideale Linse ist, dann tastet die Lichtfeldkamera das Lichtfeld auf einem regelmäßigen Gitter in dem 4D-Raum ab. Die 4D-Koordinaten (si, ti, ui, vi) einer Abtastung pi sind:

  • si = Mikrolinse(pi).x(),
  • ti = Mikrolinse(pi).y(),
  • ui = Mitte(Mikrolinse(pi)).x()-pi.x(),
  • vi = Mitte(Mikrolinse(pi)).y()-pi.y(),

wobei (s, t) die räumlichen Koordinaten sind, die an der Ebene des Mikrolinsen-Arrays definiert werden und (u, v) die Winkelkoordinaten sind. Mikrolinse(pi) identifiziert die Mikrolinse, die pi abdeckt. Mitte() berechnet die Koordinate der Sensorebene an dem Mittelpunkt einer Mikrolinse. Die Funktion x() und y() gibt die räumlichen Koordinaten einer Mikrolinse/eines Sensors an der Ebene des Mikrolinsen-Arrays/Sensor-Arrays wieder.

Wenn die Abtastung des Lichtfelds auf eine spezifische Rekonstruktionsebene, λ, projiziert wird, entspricht die projizierte 2D-Koordinate einer Abtastung xi(¸)=siλ ui,embedded imageyi(¸)=tiλ vi.embedded image

Es ist ersichtlich, dass die Verteilung der projizierten Abtastungen in einigen Fällen nachteilig wäre, wie etwa wenn λ = 0, wie in 10 gezeigt.

Wenn jedoch die Aberration in das Linsensystem eingebracht wird, werden die 4D-Koordinaten weniger regelmäßig und ähnlich verhält es sich auch für die projizierten Koordinaten. Wenn zum Beispiel eine sphärische Aberration in der Linse hinzugefügt wird, werden die 4D-Koordinaten (si, ti, ui vi) zu Folgendem: si=Mikrolinse(pi).x()+α(ri)3,embedded imageti=Mikrolinse(pi).y()+α(ri)3,embedded imageui=Mitte(Mikrolinse(pi)).x()pi.x(),embedded imagevi=Mitte(Mikrolinse(pi)).y()pi.y(),embedded imagewobei ri = (ui*ui + vi*vi)0,5. Auf diese Weise wird die räumliche Koordinate zu einer nicht-linearen Funktion der Mikrolinsengeometrie und der Winkelkoordinate. Wenn die Winkelkoordinate groß genug ist, weicht die projizierte Koordinate ausreichend von der idealen Koordinate ab, was dazu führt, dass Abtastungen in der Rekonstruktionsebene quasi zufällig beabstandet sind. Insbesondere wird durch eine Veränderung, die groß genug ist, die nachteilige Rekonstruktionsebene bei λ = 0 eliminiert. 11 ist ein Diagramm 1100 der Auflösung gegenüber Lambda für Lichtfeldkameras mit einer idealen Linse 1110 gegenüber aberrierten Hauptlinsen 1120.

Gestaltung von Linsen für Lichtfeldkameras

Das Ziel des traditionellen Linsendesigns ist die Gestaltung von Linsen, die dem geometrischen Ideal so nah wie möglich kommen. Einem Gestalter von Linsen bieten sich viele Optionen zur Verbesserung der Leistung einer Linse. Übliche Optionen erhöhen die Anzahl von Elementen unter Verwendung von Gläsern mit höherem Index und geringerer Streuung und/oder unter Verwendung asphärischer Oberflächen. All diese Optionen haben den Effekt, dass mehr Variablen zu dem Design hinzugefügt werden, die optimiert werden können. Zusätzlich haben viele dieser Optionen den Effekt, dass sie die Kosten einer Linse erhöhen.

Das Linsendesign für Lichtfeldkameras unterscheidet sich von dem traditionellen, da, wie zuvor erörtert, eine ideale Linse tatsächlich eine nicht optimale Lösung ist. Das Hinzufügen der Aberration zu der Linse kann die Leistungsfähigkeit der Kamera verbessern, indem die Abtastungsverteilung bei allen Rekonstruktionsebenen quasi zufällig angeordnet wird und indem scharfe Pixel gleichmäßig über den refokussierbaren Bereich verteilt werden.

Die Menge und Art der Aberration, die für das Linsendesign eingeführt werden soll, hängt von vielen Faktoren ab, wie etwa der Blendenzahl des Systems, dem Durchmesser der Mikrolinsen, der Brennweite der Mikrolinsen und der Sensorpixelgröße. Eine Faustregel besagt, dass der Effektivwert der Punktgröße der Linse zwischen dem ein- und dreifachen Durchmesser der Mikrolinsen liegen sollte, obwohl andere Variationen möglich sind.

In mindestens einer Ausführungsform werden Tools für das automatische Linsendesign verwendet, um ein optimales Design zu finden. Diese Tools testen wiederholt Millionen von Designs sehr schnell im Vergleich zu einer definierten Gütefunktion. Das System stört automatisch verschiedene Systemvariablen, wie etwa die Dicke, Radien, den Brechungsindex, die Abbe-Zahl und Ähnliches. Für jede dieser Variationen berechnet das System einen Wert auf Grundlage einer Gütefunktion, die benutzerdefiniert sein kann. In mindestens einer Ausführungsform schließen die Designprogramme Algorithmen ein, die versuchen, die Systemvariablen in möglichst wenigen Zyklen zu der optimalen Konfiguration zu bewegen.

In mindestens einer Ausführungsform stützt sich die Gütefunktion auf eine Simulation von Zielbildern. Ein Beispielbild kann ein Ziel mit einer schrägen Kante sein, das aus einem Schwarz-Weiß-Übergang besteht. Indem die 2D-Fourier-Transformation senkrecht zu der Kante des resultierenden Bildes herangezogen wird, kann die optische Übertragungsfunktion des Systems berechnet werden. Aus der optischen Übertragungsfunktion können unterschiedliche Werte extrahiert werden, wie etwa die Modulationsübertragungsfunktion (MTF) bei spezifischen Frequenzen. Zum Beispiel kann der Gestalter an der MTF bei 10, 25 und 50 Linienpaaren pro Millimeter interessiert sein.

Die Größe des Zielbildes ist ein wichtiger Faktor. Je größer das Bild, desto langsamer ist die Simulation, da mehr Strahlen verfolgt werden müssen. Wenn das Ziel jedoch zu klein ist, ist die Messung nicht gültig, da das Lichtfeld nicht ausreichend aufgenommen wird, um eine genaue Rekonstruktion zu erzeugen. Die Größe des Ziels sollte sich außerdem mit dem absoluten Wert von Lambda vergrößern. In mindestens einer Ausführungsform ist das Bild des simulierten Ziels annähernd fünfmal so groß wie die Fokuspunktgröße bei dem gegebenen Lambda.

12 ist ein schematisches Blockdiagramm, das die Datenbank 511 gemäß einer Ausführungsform veranschaulicht. Die Datenbank 511 kann verschiedene Datenstrukturen einschließen, wobei Beispiele dafür in 12 veranschaulicht werden.

Im Besonderen kann die Datenbank 511 Attribute 1210, Konfigurationen 1220, Gütefunktionen 1230, Werte für Gütefunktionen 1240, Testfeldpunkte 1250, Testrekonstruktionsebenenpositionen 1260, Funktionen für die Strahlenkorrektur 1270, simulierte aufgenommene Lichtfelder 1280 und/oder Kombinationsgewichtungen 1290 einschließen. Diese Datenstrukturen betreffen hierin erörterte Informationen und/oder Algorithmen, von denen einige bereits beschrieben wurden.

Die Attribute 1210 können sich auf verschiedene Aspekte des Designs einer Lichtfeldkamera, wie etwa der Kamera 800, beziehen. Zum Beispiel können die Attribute 1210 Abmessungen, eine Materialauswahl, Leistungsspezifikationen, Toleranzen und/oder andere Metriken einschließen, die auf verschiedene Komponenten der Kamera 800 zutreffen. Die Attribute 1210 können vorteilhafterweise Aspekte der Kamera 800 einschließen, die gemäß dem Verfahren der vorliegenden Offenbarung modifiziert und/oder optimiert werden können.

Die Attribute 1210 können Attribute einschließen, die auf traditionelle zweidimensionale (2D) Kameras zutreffen und/oder Attribute, die für Lichtfeldkameras spezifisch sind. Attribute, die für Lichtfeldkameras spezifisch sind, können sich unter anderem auf die Konfiguration des Mikrolinsen-Arrays und die Position des Mikrolinsen-Arrays in Bezug auf die Hauptlinse und/oder den Bildsensor beziehen.

In einigen Ausführungsformen können die Attribute 1210 ein oder mehrere Hauptlinsenattribute 1212 einschließen, die sich auf das Design der Hauptlinse der Kamera 800 beziehen. Derartige Hauptlinsenattribute 1212 schließen unter anderem die Dicke, den Radius, den Brechungsindex und die Abbe-Zahl von einer oder mehreren Komponenten der Hauptlinse ein.

Zusätzlich oder alternativ können die Attribute 1210 ein oder mehrere Phasenmaskenattribute 1214 einschließen, die sich auf das Design einer Phasenmaske der Kamera 800 beziehen. Die Phasenmaske kann in Verbindung mit der Hauptlinse verwendet werden, wie nachfolgend beschrieben. Die Phasenmaskenattribute 1214 können zum Beispiel die Parameter der Phasenverschiebung einschließen, die durch die Phasenmaske angewendet wird.

Die Konfigurationen 1220 können Konfigurationen der Kamera 800 sein. Demnach kann jede der Konfigurationen 1220 eine Anzahl von Variablen 1222 einschließen, von denen jede auf eines der Attribute 1210 zutrifft. Die Variablen 1222 können gemäß dem Verfahren der vorliegenden Offenbarung rechnerisch variiert und/oder optimiert werden. Jede individuelle Kombination der Variablen 1222 kann eine Konfiguration 1220 sein. Die Konfigurationen 1220 können gegebenenfalls alle Konfigurationen der Kamera 800 einschließen, die durch das Verfahren der vorliegenden Offenbarung bewertet wurden oder alternativ können lediglich die besten Konfigurationen und/oder die Konfigurationen, die aktuell verglichen werden, in den Konfigurationen 1220 beibehalten werden.

Die Gütefunktionen 1230 können einen oder mehrere Algorithmen einschließen, die verwendet werden, um die Leistungsfähigkeit der Konfigurationen 1220 zu bewerten. Die Anwendung einer beispielhaften Gütefunktion wird im Folgenden gezeigt und beschrieben.

Die Werte der Gütefunktion 1240 können die Werte sein, die aus der Anwendung der Gütefunktionen 1230 für die Konfigurationen 1220 gewonnen werden. Demnach können die Werte für die Gütefunktion 1240 gegebenenfalls einen Wert für die Gütefunktion für jede Konfiguration der Konfigurationen 1220 speichern. Die Werte der Gütefunktion 1240 können als Bewertungen fungieren, durch welche die Leistungsfähigkeit der Konfigurationen 1220 beurteilt wird. Demnach können die Werte der Gütefunktion 1240 für zwei der Konfigurationen 1220 miteinander verglichen werden, um zu bestimmen, welche der Konfigurationen 1220 besser ist.

Insbesondere können die Werte der Gütefunktion 1240 jeweils auf Grundlage von lediglich einer Eigenschaft des Betriebs der Kamera 800 ermittelt werden, wie etwa der Brennweite, des Hauptstrahlwinkels, der minimalen Glasmittendicke der Hauptlinse oder einer Hauptlinsenkomponente, der maximalen Glasmittendicke der Hauptlinse oder einer Hauptlinsenkomponente, der Minimierung der chromatischen Aberration und/oder Ähnlichem. Alternativ können die Werte der Gütefunktion 1240 jeweils eine Zusammensetzung mehrerer Eigenschaften des Betriebs der Kamera 800 sein, wie etwa (unter anderem) beliebiger der oben aufgelisteten.

Die Testfeldpunkte 1250 können Definitionen von einer oder mehreren Positionen an dem Sensor der Kamera 800 einschließen, die getestet werden sollen. Die Testfeldpunkte 1250 können zum Beispiel kartesische Koordinaten für spezifische Sensorpixel sein, die während der Anwendung der Gütefunktionen 1230 simuliert werden sollen.

Gleichermaßen können die Testrekonstruktionsebenenpositionen 1260 Definitionen von einer oder mehreren Rekonstruktionsebenenpositionen der Kamera 800 einschließen, die getestet werden sollen. Die Testrekonstruktionsebenenpositionen 1260 können in Bezug auf die Position des Mikrolinsen-Arrays der Kamera 800 gespeichert und getestet werden. Im Besonderen können die Testrekonstruktionsebenenpositionen 1260 zum Beispiel gespeichert und in Vielfachen von Lambda wie in der vorliegenden Offenbarung verwendet werden.

Die Funktionen für die Strahlenkorrektur 1270 können einen oder mehrere Algorithmen einschließen, die für die Zuordnung zwischen Koordinaten aus realen und idealen Linsensystemen verwendet werden. Eine beispielhafte Funktion für die Strahlenkorrektur wird oben in der Erörterung von 6 dargelegt.

Die simulierten aufgenommenen Lichtfelder 1280 können Simulationen von Lichtfelddaten einschließen, die von der Kamera 800 in jeder Konfiguration der Konfigurationen 1220 aufgenommen wurden. Die simulierten aufgenommenen Lichtfelder 1280 können ein simuliertes aufgenommenes Lichtfeld für jede Konfiguration der Konfigurationen 1220 oder alternativ lediglich für die Konfigurationen 1220 einschließen, die aktuell bewertet und/oder verglichen werden.

Die Kombinationsgewichtungen 1290 können Gewichtungen einschließen, die für Kombinationen von Feldpunkten und Rekonstruktionsebenenpositionen angewendet werden. Jede der Kombinationsgewichtungen 1290 kann für eine Kombination gelten, die aus lediglich einem spezifischen Feldpunkt und einer spezifischen Rekonstruktionsebenenposition besteht. Alternativ kann jede der Kombinationsgewichtungen 1290 für eine Kombination gelten, die eine Reihe von Feldpunkten und/oder eine Reihe von Rekonstruktionsebenenpositionen einschließt. Die Kombinationsgewichtungen 1290 können bei der anschließenden Verarbeitung von Lichtfelddaten verwendet werden, um zu ermöglichen, dass Teile der Lichtfelddaten mit höherer Qualität bei der Erzeugung des endgültigen Lichtfeldbildes stärker gewichtet werden als Teile mit geringerer Qualität. Dies wird ferner nachfolgend beschrieben.

13, 14 und 15 veranschaulichen Verfahren zur Verbesserung und/oder Optimierung des Designs einer Lichtfeldkamera gemäß verschiedenen Ausführungsformen. Diese werden nachfolgend gezeigt und beschrieben.

Einrichtung

13 ist ein Ablaufdiagramm, das ein Verfahren 1300 zur Durchführung eines Einrichtungsverfahrens für einen Lichtfeldkameradesignalgorithmus gemäß einer Ausführungsform zeigt. Das Verfahren 1300 kann zum Beispiel in einer Rechenvorrichtung, wie etwa der Vorrichtung 501 aus 5, durchgeführt werden und kann für die Vorbereitung der Gestaltung einer Lichtfeld-Bildaufnahmevorrichtung, wie etwa der Kamera 800 aus 2 und 3, verwendet werden. Das Verfahren 1300 kann starten 1310 und wie folgt fortgesetzt werden:

  1. 1. In einem Schritt 1320 definiert der Benutzer die Feldpunkte oder die Position an dem Sensor, die getestet werden soll(en). Diese können die Testfeldpunkte 1250 aus 12 sein.
  2. 2. In einem Schritt 1330 definiert der Benutzer (einen oder mehrere) zu testende Lambda-Werte. Diese können den Testrekonstruktionsebenenpositionen 1260 aus 12 entsprechen, die, wie zuvor dargelegt, als Vielfache von Lambda ausgedrückt werden können.
  3. 3. In einem Schritt 1340 stellt der Benutzer eine anfängliche Form für das Linsendesign bereit und legt die gewünschten Parameter als Variablen (Radien, Dicken, Brechungsindex und Ähnliches) fest. Dieser Schritt kann das Bereitstellen der Attribute 1210 und der Konfigurationen 1220 aus 12 beinhalten. Das Verfahren 1300 kann dann enden 1390.

Optimierung

14 ist ein Ablaufdiagramm, das ein Verfahren 1400 zur Durchführung eines Lichtfeldkameradesignalgorithmus zeigt, um die Gestaltung von Kamerakomponenten, wie etwa der Hauptlinse und/oder einer optionalen Phasenmaske, zu optimieren, gemäß einer Ausführungsform. Das Verfahren 1400 kann zum Beispiel in einer Rechenvorrichtung, wie etwa der Vorrichtung 501 aus 5, durchgeführt werden und kann für die Gestaltung einer Lichtfeld-Bildaufnahmevorrichtung, wie etwa der Kamera 800 aus 2 und 3, verwendet werden. Das Verfahren 1400 kann starten 1410 und wie folgt fortgesetzt werden:

  1. 1. In einem Schritt 1420 wird ein Ausgangsgütewert aus einer definierten Lichtfeld-Gütefunktion berechnet. Dies kann die Anwendung einer Gütefunktion 1230 aus 12 auf Grundlage der Ausgangskonfiguration beinhalten, die in dem Schritt 1340 ausgewählt wird, um einen Wert der Gütefunktion 1240 zu erhalten, wie ebenso in 12 gezeigt.
  2. 2. In einem Schritt 1430 wird das System durch die Veränderung von einer der festgelegten Variablen gestört. Dies kann die Veränderung von einer der Variablen 1222 beinhalten, um eine neue Konfiguration 1220 der Kamera 800 zu erzeugen.
  3. 3. In einem Schritt 1440 wird ein neuer Wert für die Gütefunktion berechnet. Dies kann die Anwendung einer Gütefunktion 1230 aus 12 (zum Beispiel die gleiche Gütefunktion, die in dem Schritt 1420 verwendet wird) auf Grundlage der Konfiguration, die in dem Schritt 1430 erzeugt wird, beinhalten, um einen neuen Wert für die Gütefunktion 1240 zu erhalten.
  4. 4. In einem Schritt 1450 kann der neue Wert für die Gütefunktion 1240 mit dem Ausgangswert für die Gütefunktion 1240 verglichen werden.
  5. 5. In einem Schritt 1460, basierend darauf, ob sich der Wert für die Gütefunktion verbessert oder verschlechtert hat, generiert das System ein neues gestörtes System. Dies kann wiederum die Veränderung von einer der Variablen 1222 beinhalten, um eine neue Konfiguration 1220 der Kamera 800 zu erzeugen.
  6. 6. In einer Abfrage 1470 kann bestimmt werden, ob ein Endzustand erreicht wurde. Es können gleichzeitig mehrere Endzustände angewendet werden, und sie können unter anderem die Beendigung des Verfahrens 1400 durch einen Benutzer, das Erreichen eines Gleichgewichts durch das Verfahren 1400, um eine erfolgreiche Optimierung des Designs der Kamera 800 anzuzeigen, die Leistungsfähigkeit einer bestimmten Anzahl von Wiederholungen, die Dauer des Verfahrens 1400 für einen vorher festgelegten Zeitraum oder Ähnliches einschließen. Wenn ein Endzustand erreicht worden ist, kann das Verfahren 1400 enden 1490. Wenn nicht, kann das Verfahren 1400 zu Schritt 1440 zurückgehen und die Wiederholung durch den Schritt 1440, den Schritt 1450, den Schritt 1460 und die Abfrage 1470 fortsetzen, bis ein Endzustand erreicht worden ist.

Für das Verfahren 1400 kann angenommen werden, dass es ein Gleichgewicht erreicht hat, wenn das Stören des Systems, weg von einer Konfiguration, im Vergleich zu der Konfiguration zu einer weniger günstigen Leistung führt (wie über die Berechnung eines schlechteren Werts für die Gütefunktion 1240 bestimmt). Dann kann angenommen werden, dass die Konfiguration eine optimale Konfiguration für die Kamera 800 ist. In mindestens einer Ausführungsform, um das Trapping bei einer lokalen optimalen Lösung zu verhindern, kann das System viele unterschiedliche Störungen ausführen und die Optimierung entlang vieler Pfade parallel verfolgen. Sobald dies erledigt ist, kann die optimale Auswahl aus den verschiedenen erhaltenen optimalen Konfigurationen ausgewählt werden, zum Beispiel durch den Vergleich ihrer Werte für die Gütefunktion 1240 und die Auswahl der optimalen Konfiguration mit dem günstigsten Wert für die Gütefunktion 1240.

Berechnung der Lichtfeld-Gütefunktion

15 ist ein Ablaufdiagramm, das ein Verfahren zur Durchführung der Berechnung einer Gütefunktion zeigt, was ausgeführt werden kann, um den Schritt 1420 und/oder den Schritt 1440 aus 14 gemäß einer Ausführungsform auszuführen. Der Schritt 1420 kann zum Beispiel in einer Rechenvorrichtung, wie etwa der Vorrichtung 501 aus 5, durchgeführt werden. Der Schritt 1420 kann starten 1510 und wie folgt fortgesetzt werden:

  1. 1. In einem Schritt 1520 werden ein erster Feldpunkt und ein Lambda-Wert ausgewählt. Dies kann die Auswahl eines Testfeldpunkts 1250 und einer Testrekonstruktionsebenenposition 1260 aus denjenigen, die in dem Schritt 1320 und dem Schritt 1330 ausgewählt wurden, beinhalten.
  2. 2. In einem Schritt 1530 wird die Konfiguration zu einem Simulator weitergeleitet, welcher eine Funktion für die Strahlenkorrektur, wie in 6 gezeigt, erzeugt.
  3. 3. In einem Schritt 1540 wird ein Ziel in einem Objektraum platziert und skaliert, sodass sein Bild dem verbundenen Feld und Lambda (Rekonstruktionsebenenposition) im Bildraum entspricht.
  4. 4. In einem Schritt 1550 wird für die Konfiguration eine Strahlverfolgung durchgeführt, um ein simuliertes aufgenommenes Lichtfeld zu erzeugen; dies wird auf einen entsprechenden Lambda-Wert (d. h. eine entsprechende Rekonstruktionsebenenposition) neu ausgerichtet.
  5. 5. In einem Schritt 1560 wird eine optische Übertragungsfunktion berechnet; gewünschte Werte werden berechnet und zu der Software für das Linsendesign zurückgeschickt. Diese gewünschten Werte können schließlich verwendet werden, um den bzw. die zugehörigen Wert(e) für die Gütefunktion 1240 zu erhalten.
  6. 6. In einer Abfrage 1570 kann bestimmt werden, ob ein Endzustand erreicht wurde. Mehrere Endzustände können gleichzeitig angewendet werden, und sie können unter anderem eine eingeschränkte Ausschöpfung aller Kombinationen der Testfeldpunkte 1250 und der Testrekonstruktionsebenenpositionen 1260, eine Beendigung des Berechnungsvorgangs für die Gütefunktion durch den Benutzer oder Ähnliches einschließen. Wenn ein Endzustand erreicht worden ist, kann der Schritt 1420 enden 1590. Wenn ein Endzustand nicht erreicht worden ist, kann der Schritt 1420 mit einem Schritt 1580 fortfahren.
  7. 7. In dem Schritt 1580 kann eine neue Kombination eines Testfeldpunkts und einer Testrekonstruktionsebenenposition ausgewählt werden. Dies kann wie in dem Schritt 1520 erfolgen. Der Schritt 1420 kann zu dem Schritt 1530 zurückgehen und die Wiederholung durch den Schritt 1530, den Schritt 1540, den Schritt 1550, den Schritt 1560, die Abfrage 1570 und den Schritt 1580 fortsetzen, bis ein Endzustand erreicht worden ist.

Das Ergebnis des Verfahrens 1300 aus 13 und das Verfahren 1400 aus 14, einschließend die Durchführung des Schritts 1420 wie in 15, können eine oder mehrere optimale Konfigurationen der Kamera 800 darstellen. In einer derartigen optimalen Konfiguration können die von dem Benutzer 500 ausgewählten Variablen 1222 mit einem Niveau vorliegen, das den bestmöglichen Wert für die Gütefunktion 1240 ergibt. Die lichtfeldbeachtende Gütefunktion kann ebenso mit Gütefunktionen für das traditionelle Linsendesign kombiniert werden. Es gibt Hunderte von 2D-Variablen, gegenüber denen eine Optimierung vorgenommen werden kann, übliche Beispiele schließen jedoch Gütefunktionen für die Brennweite, den Hauptstrahlwinkel, die minimale und maximale Glasmittendicke, die Minimierung der chromatischen Aberration und Ähnliches ein.

Sphärisch aberrierte Lichtfeldlinse

Einige bestimmte Aberrationen sind für Linsen von Lichtfeldkameras gut geeignet. Insbesondere ist die sphärische Aberration eine nützliche Aberration, da ihre Stärke lediglich von der Position der Austrittspupille des Strahls abhängt.

16 bildet den Querschnitt eines Projektionsmusters 1600 wie in 8 ab, jedoch mit einer Linse, die eine sphärische Aberration aufweist. Die Modifizierung der Abtastungskoordinaten kann zu einer quasi zufälligen Abtastungsverteilung durch den Bereich von Lambda, wie gezeigt, führen. Wenn eine Linse lediglich eine sphärische Aberration aufweist, wäre dieses Abtastungsmuster über das gesamte Sichtfeld der Linse einheitlich. Dies kann für Aberrationen wie etwa Koma oder Astigmatismus nicht behauptet werden, da ihre Stärke von dem radialen Abstand des Felds von der optischen Achse der Linse abhängt.

17 bildet ein Schaubild des Strahlenraums 1700 für eine Linse mit einer sphärischen Aberration ab. Das Schaubild des Strahlenraums zeigt andere interessante Eigenschaften der sphärischen Aberration in Lichtfeldkameras. Bei λ = 0, wie in dem mittleren Schaubild 1710 gezeigt, ist jedes Pixel in dem Strahlenraum kein gleich großes Rechteck mehr. Stattdessen ist das Schaubild in ‚S‘-Form verformt. Folglich sind die Pixel in der Mitte des Schaubildes „scharf“ und die Pixel oben und unten sind „unscharf“, wie durch die Breite des Grenzbereichs jedes Pixels angezeigt. Bei λ = -10, wie in dem linken [sic] Schaubild 1720 [sic] gezeigt, wurde das Schaubild entgegen dem Uhrzeigersinn abgeschert. Hier wurden die unscharfen und scharfen Pixel umgekehrt, sodass die oberen und unteren Pixel scharf sind, während die Pixel in der Mitte verschwommener sind. Dies hat den Effekt, dass die Auflösung der Lichtfeldkamera bei negativen Lambda-Werten im Vergleich zu einer idealen Linse erhöht wird. Umgekehrt wurden alle Pixel bei λ = 10, wie in dem rechten [sic] Schaubild 1730 [sic] gezeigt, verschwommener und demnach ist die Auflösung bei positiven Lambda-Werten niedriger als bei einem System mit einer idealen Linse. Dieser Verlust hinsichtlich der Auflösung bei positiven Lambda-Werten kann ein annehmbarer Kompromiss sein, da positive Lambda-Werte realen Objektabständen entsprechen, die weiter von der Kamera entfernt sind. Eine übliche Kamerakonfiguration besteht im Fokussieren der Kamera, sodass eine optische Unendlichkeit bei einem konstanten Lambda-Wert, wie etwa λ = 7, liegt. Demnach ist die Auflösung des Systems, die über λ = 7 hinausgeht, irrelevant, da sich kein reales Objekt jemals auf diese Ebenen fokussieren wird.

Kubische Phasenmaske für eine Lichtfeldkamera

Eine Alternative zur spezifischen Gestaltung einer Linse für Lichtfeldkameras ist es, wenn stattdessen eine Phasenmaske in Verbindung mit einer idealen oder annähernd idealen Linse verwendet wird. Eine Phasenmaske vermittelt eine Phasenverschiebung an der Wellenfront, die als eine Funktion der Pupillenlage variiert. Demnach kann die Maske in einer beliebigen Position der Pupillenebene, wie etwa der Austrittspupille der Linse, platziert werden. Eine Beispielphasenmaske ist eine kubische Phasenmaske. Diese Art der Phasenmaske wird gemeinhin bei der Wellenfrontkodierung verwendet. Der Vorteil dieses Systems liegt darin, dass eine handelsübliche Linse verwendet werden kann, ohne dass ihre optische Verordnung oder ihre optischen Eigenschaften bekannt sein müssen.

18 zeigt den Querschnitt eines Projektionsmusters 1800 wie in 8, jedoch für eine ideale Linse, die mit einer kubischen Phasenmaske modifiziert wird. Die Modifizierung der Abtastungskoordinaten führt zu einer quasi zufälligen und nicht symmetrischen Abtastungsverteilung durch den Bereich von Lambda. Ähnlich wie bei dem Fall der sphärischen Aberration ist das Abtastungsmuster über das gesamte Sichtfeld einheitlich. Da die Aberration jedoch von einer ungeraden Potenz (d. h., die einen Exponenten aufweist, der eine ungerade Zahl ist) abhängt, ist sie nicht radialsymmetrisch wie die sphärische Aberration (da eine negative Zahl zu einer ungeraden Potenz negativ ist, während eine negative Zahl zu einer geraden Potenz immer positiv ist).

19 bildet ein Schaubild des Strahlenraums 1900 für eine ideale Linse mit einer kubischen Phasenmaske an der Austrittspupille ab. Anstelle der „S“-Form der sphärischen Aberration weist das Schaubild des Strahlenraums für die kubische Phasenmaske eine „U“-Form auf. Bei λ = 0, wie in dem mittleren Schaubild 1910 gezeigt, liegt wieder eine Mischung aus „unscharfen“ und scharfen Pixeln vor. Der Hauptunterschied im Vergleich zu dem Fall der sphärischen Aberration besteht darin, dass die „scharfen“ Pixel zwischen den positiven und negativen Lambda-Bereichen gleichmäßig ausbalanciert sind. Dies hat den Effekt, dass der scharf refokussierbare Bereich der Kamera sowohl im Vergleich zu einer idealen Linse als auch einer sphärisch aberrierten Linse zusätzlich erweitert wird.

Beliebige Aberrationen und Optimierung

Sphärische Aberration und eine kubische Phasenmaske stellen zwei einfache Beispiele für nicht ideale Linsensysteme dar, die in einer Lichtfeldkamera eine verbesserte Leistungsfähigkeit aufweisen. Jedoch wird das System in mindestens einer Ausführungsform über alle freien Variablen optimiert, die in dem System definiert sind, und weist nicht zwangsläufig Präferenzen für diese bestimmten Beispiele auf. Das resultierende Design, wenn eine Durchführung der Optimierung für eine ausreichende Zeitspanne ermöglicht wird, entspricht dem Minimum (oder Maximum) der definierten Gütefunktion.

Digitale Blende

Die drei oben stehenden Beispiele zeigen, dass Abtastungen mit variierenden (x,y,u,v) Koordinaten spezifische Bereiche von Lambda aufweisen, in denen sie am schärfsten sind. Ein weiterer Vorteil der Lichtfeldfotografie liegt darin, dass während der Projektion nicht nur Aberrationen sondern auch Gewichtungsabtastungen korrigiert werden können. Das bedeutet, dass wenn bekannt ist, dass ein bestimmtes Pixel fehlerhaft, verrauscht oder unscharf ist, seine Wichtigkeit weniger stark gewichtet werden kann oder dass es sogar aus der Rekonstruktion entfernt werden kann. Zum Beispiel können durch eine Rekonstruktion bei λ = 0 in dem Beispiel der Wellenfrontkodierung die Abtastungen oben und unten in dem Schaubild weniger stark gewichtet werden. Das resultierende Bild wäre schärfer als ein rekonstruiertes Bild, bei dem alle Abtastungen gleichmäßig verwendet wurden. Dies ist analog zu dem Abblenden einer Linse in der 2D-Fotografie. Ein Fotograf wird eine Linse üblicherweise von der maximalen Apertur abblenden, um die Schärfe des Bildes zu erhöhen. Gleichermaßen können Abtastungen an der oberen Hälfte oder unteren Hälfte bei einer Refokussierung auf λ = 10 oder λ = -10 jeweils weniger stark gewichtet werden, um die Schärfe der Rekonstruktion zu erhöhen.

In der oben stehenden Beschreibung und den referenzierten Zeichnungen werden bestimmte Details in Bezug auf mögliche Ausführungsformen dargelegt. Für einen Fachmann versteht es sich, dass die hierin beschriebenen Methoden in anderen Ausführungsformen umgesetzt werden können. Zunächst ist die bestimmte Namensgebung der Komponenten, die Großschreibung von Begriffen, der Attribute, der Datenstrukturen oder eines beliebigen anderen Programmierungs- oder strukturellen Aspekts nicht obligatorisch oder maßgebend und die Mechanismen, mit denen die hierin beschriebenen Methoden umgesetzt werden, können andere Namen, Formate oder Protokolle aufweisen. Ferner kann das System über eine Kombination von Hardware und Software, wie beschrieben oder vollständig in Hardware-Elementen oder vollständig in Software-Elementen implementiert werden. Außerdem ist die bestimmte Aufteilung der Funktionalität zwischen den verschiedenen hierin beschriebenen Systemkomponenten lediglich beispielhaft und nicht obligatorisch; Funktionen, die von einer einzelnen Systemkomponente ausgeführt werden, können stattdessen von mehreren Komponenten ausgeführt werden und Funktionen, die von mehreren Komponenten ausgeführt werden, können stattdessen von einer einzelnen Komponente ausgeführt werden.

Bezugnahmen in der Patentschrift auf „eine Ausführungsform“ bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, beschrieben in Verbindung mit den Ausführungsformen, in mindestens einer Ausführungsform eingeschlossen ist. Der Satz „in einer Ausführungsform“, der an verschiedenen Stellen in der Patentschrift vorkommt, verweist nicht unbedingt immer auf die gleiche Ausführungsform.

Einige Ausführungsformen können ein System oder ein Verfahren zur Durchführung der zuvor beschriebenen Methoden, entweder einzeln oder in einer beliebigen Kombination, einschließen. Andere Ausführungsformen können ein Computerprogrammprodukt einschließen, umfassend ein nicht transitorisches computerlesbares Speichermedium und Computerprogrammcode, der auf dem Medium kodiert ist, um zu veranlassen, dass ein Prozessor in einer Rechenvorrichtung oder einer anderen elektronischen Vorrichtung die zuvor beschriebenen Methoden ausführt.

Einige Teile des Obenstehenden werden mittels Algorithmen und symbolischen Darstellungen von Operationen im Hinblick auf Datenbits in einem Speicher einer Rechenvorrichtung dargestellt. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Fachkräften der Datenverarbeitung verwendet werden, um den Inhalt ihrer Arbeit anderen Fachleuten am wirksamsten zu übermitteln. Ein Algorithmus ist an dieser Stelle und im Allgemeinen als eine selbstkonsistente Sequenz von Schritten (Anweisungen) gedacht, die zu einem gewünschten Ergebnis führen. Die Schritte sind diejenigen, die physikalische Manipulationen physikalischer Größen erforderlich machen. Normalerweise, obwohl nicht zwangsläufig, nehmen diese Größen die Form von elektrischen, magnetischen oder optischen Signalen an, die dazu in der Lage sind, gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert zu werden. Manchmal ist es praktisch, vorwiegend aus Gründen der allgemeinen Nutzung, wenn diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder Ähnliches bezeichnet werden. Ferner ist es manchmal ebenso praktisch, wenn bestimmte Anordnungen von Schritten, die physikalische Manipulationen physikalischer Größen erforderlich machen, als Module oder Codevorrichtungen bezeichnet werden, ohne dass die Allgemeingültigkeit verlorengeht.

Es sollte jedoch beachtet werden, dass all diese und ähnliche Begriffe mit den geeigneten physikalischen Größen in Verbindung gebracht werden sollen und lediglich passende Bezeichnungen sind, die für diese Größen angewendet werden. Sofern nicht ausdrücklich anderweitig angegeben, wie aus der folgenden Erörterung ersichtlich, versteht es sich, dass sich in der Beschreibung Erörterungen, bei denen Begriffe, wie etwa „Verarbeitung“ oder „Berechnung“ oder „Anzeigen“ oder „Ermitteln“ oder Ähnliches verwendet werden, auf die Tätigkeit und die Vorgänge eines Computersystems oder eines bzw. einer ähnlichen elektronischen Rechenmoduls und/oder -vorrichtung beziehen, das bzw. die Daten manipuliert und umwandelt, die in den Speichern oder Registern des Computersystems oder anderen derartigen Informationsspeichern, Übertragungs- oder Anzeigevorrichtungen als physikalische (elektronische) Größen dargestellt werden.

Bestimmte Aspekte schließen hierin beschriebene Prozessschritte und Anweisungen in Form eines Algorithmus ein. Es sollte beachtet werden, dass die hierin beschriebenen Prozessschritte und Anweisungen in Software, Firmware und/oder Hardware umgesetzt werden können und dass sie, wenn sie in Software umgesetzt werden, heruntergeladen werden können, um auf verschiedenen Plattformen zu liegen, die von einer Vielzahl von Betriebssystemen verwendet werden und von diesen gesteuert zu werden.

Einige Ausführungsformen beziehen sich auf ein Gerät zur Durchführung der hierin beschriebenen Operationen. Dieses Gerät kann speziell für den geforderten Zweck entworfen werden, oder es kann eine Mehrzweck-Rechenvorrichtung umfassen, die von einem Computerprogramm, das in der Rechenvorrichtung gespeichert ist, selektiv aktiviert oder neu konfiguriert wird. Ein derartiges Computerprogramm kann in einem computerlesbaren Speichermedium, wie etwa unter anderem einer beliebigen Art einer Disk, einschließend Disketten, optischer Platten, CD-ROMs, magnetisch-optischer Disks, Read-Only Memories (ROMs), Random Access Memories (RAMs), EPROMs, EEPROMs, Flash-Speicher, Halbleiterlaufwerken, magnetischer oder optischer Karten, anwendungsspezifischen integrierten Schaltungen (ASICs) und/oder einer beliebigen Art eines Mediums gespeichert werden, das für die Speicherung elektronischer Anweisungen geeignet ist und jeweils mit einem Computersystembus gekoppelt ist. Ferner können die Rechenvorrichtungen, auf die hierin verwiesen wird, einen einzelnen Prozessor einschließen oder sie können Architekturen sein, bei denen Mehrprozessordesigns für eine verbesserte Rechenfähigkeit eingesetzt werden.

Die hierin dargestellten Algorithmen und Anzeigen beziehen sich nicht grundsätzlich auf eine bestimmte Rechenvorrichtung bzw. ein virtualisiertes System oder ein anderes Gerät. Verschiedene Mehrzwecksysteme können außerdem mit Programmen gemäß den Lehren hierin verwendet werden, oder es kann sich als praktisch erweisen, spezialisiertere Geräte zu entwerfen, um die geforderten Verfahrensschritte auszuführen. Die geforderte Struktur für eine Vielzahl dieser Systeme wird aus der hierin bereitgestellten Beschreibung ersichtlich. Zusätzlich werden die hierin dargelegten Methoden nicht in Bezug auf eine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die hierin beschriebenen Methoden zu implementieren und beliebige oben stehende Verweise auf spezifische Sprachen dienen lediglich zur Veranschaulichung.

Dementsprechend können die hierin beschriebenen Methoden in verschiedenen Ausführungsformen als Software, Hardware und/oder andere Elemente zur Steuerung eines Computersystems, einer Rechenvorrichtung oder einer anderen elektronischen Vorrichtung oder einer beliebigen Kombination oder Vielzahl davon implementiert werden. Eine derartige elektronische Vorrichtung kann zum Beispiel einen Prozessor, eine Eingabevorrichtung (wie etwa eine Tastatur, eine Maus, ein Touchpad, ein Trackpad, einen Joystick, einen Trackball, ein Mikrofon und/oder eine beliebige Kombination davon), eine Ausgabevorrichtung (wie etwa einen Bildschirm, einen Lautsprecher und/oder Ähnliches), einen Speicher, einen Langzeitspeicher (wie etwa einen Magnetspeicher, einen optischen Speicher und/oder Ähnliches) und/oder eine Netzwerkkonnektivität einschließen, gemäß Methoden, die in der Technik wohlbekannt sind. Eine derartige elektronische Vorrichtung kann tragbar oder nicht tragbar sein. Beispiele elektronischer Vorrichtungen, die für die Implementierung der hierin beschriebenen Methoden verwendet werden können, schließen Folgendes ein: ein Mobiltelefon, einen persönlichen digitalen Assistenten, ein Smartphone, einen Kiosk, einen Servercomputer, eine Firmenrechenvorrichtung, einen Desktopcomputer, einen Laptop, ein Tabletcomputer, eine Unterhaltungs- oder Haushaltselektronikvorrichtung, einen Fernseher, eine Set-Top-Box oder Ähnliches. Eine elektronische Vorrichtung zur Implementierung der hierin beschriebenen Methoden kann ein beliebiges Betriebssystem verwenden, wie zum Beispiel: Linux; Microsoft Windows, verfügbar von der Microsoft Corporation in Redmond, Washington; Mac OS X, verfügbar von Apple Inc. in Cupertino, Kalifornien; iOS, verfügbar von Apple Inc. in Cupertino, Kalifornien; Android, verfügbar von Google, Inc. in Mountain View, Kalifornien; und/oder ein beliebiges anderes Betriebssystem, das für die Verwendung in der Vorrichtung angepasst ist.

In verschiedenen Ausführungsformen können die hierin beschriebenen Methoden in einer verteilten Verarbeitungsumgebung, vernetzten Rechenumgebung oder web-basierten Rechenumgebung implementiert werden. Elemente können in Client-Rechenvorrichtungen, Servern, Routern und/oder anderen Netzwerk- oder Nicht-Netzwerkkomponenten implementiert werden. In einigen Ausführungsformen werden die hierin beschriebenen Methoden unter Verwendung einer Client-/Server-Architektur implementiert, wobei einige Komponenten in einer oder mehreren Client-Rechenvorrichtungen implementiert werden und andere Komponenten in einem oder mehreren Servern implementiert werden. In einer Ausführungsform werden im Laufe der Implementierung der Methoden der vorliegenden Offenbarung von (einem) Client(s) Inhalte von (einem) Server(n) angefordert und Inhalte werden von (einm) Server(n) als Antwort auf die Anforderungen zurückgeschickt. Ein Browser kann an der Client-Rechenvorrichtung installiert werden, um derartige Anfragen und Antworten zu ermöglichen und um eine Benutzerschnittstelle bereitzustellen, durch die der Benutzer derartige Interaktionen veranlassen und steuern und die präsentierten Inhalte betrachten kann.

Beliebige oder alle der Netzwerkkomponenten zur Implementierung der beschriebenen Technologie können in einigen Ausführungsformen unter Verwendung eines geeigneten elektronischen Netzwerks, egal ob verdrahtet oder drahtlos oder einer beliebigen Kombination davon und unter Verwendung eines geeigneten Protokolls zur Ermöglichung einer derartigen Kommunikation, kommunikativ miteinander gekoppelt sein. Ein Beispiel für ein derartiges Netzwerk ist das Internet, obwohl die hierin beschriebenen Methoden ebenso unter Verwendung anderer Netzwerke implementiert werden können.

Obwohl hierin eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, versteht es sich für eine Fachkraft, der die oben stehende Beschreibung zugute gekommen ist, dass andere Ausführungsformen entwickelt werden können, die nicht von dem Umfang der Patentansprüche abweichen. Zusätzlich sollte beachtet werden, dass die in der Patentschrift verwendete Sprache vorwiegend zum Zwecke der Lesbarkeit und Lehre ausgewählt wurde und nicht ausgewählt wurde, um den Erfindungsgegenstand abzugrenzen oder einzuschränken. Dementsprechend soll die Offenbarung der Veranschaulichung, jedoch nicht der Einschränkung dienen.