-
ALLGEMEINER STAND DER TECHNIK
-
Die heutzutage mit einem Benutzergerät verbundene Kameratechnologie, wie z. B. die einer digitalen Spiegelreflexkamera (Digital Lens Single-Reflex, DLSR) oder die eines Smartphones mit einem Bildsensor, hat sich an mehreren Fronten weiterentwickelt. So kann beispielsweise das Benutzergerät ein optisches Bildstabilisierungs(OIS)-Kameramodul umfassen, das ein Kamerasystem mit dem Bildsensor mit einem OIS-System kombiniert, um die Bewegung des Benutzergerätes während der Bildaufnahme durch das Benutzergerät auszugleichen. Als ein weiteres Beispiel kann das Benutzergerät superauflösende Fähigkeiten umfassen, die ein superauflösendes Bild aus mehreren niedrig aufgelösten Bildern einer Szene erzeugen, wobei die mehreren niedrig aufgelösten Bilder der Szene mehrere Bilder sind, die unter Verwendung der ursprünglichen Auflösungsfähigkeiten des Kamerasystems aufgenommen wurden, und das superauflösende Bild eine Auflösung hat, die höher ist als die ursprünglichen Auflösungsfähigkeiten des Kamerasystems.
-
In einigen Fällen ist die Verwendung des OIS-Systems mit den superauflösenden Fähigkeiten des Benutzergerätes inkompatibel oder befindet sich in Konflikt mit diesen. Müssen z. B. die mehreren, niedrig aufgelösten Bilder einer Szene Positionsversätze (oder Unterschiede in den Pixelpositionen) der Bilder der Szene als Voraussetzung für das Funktionieren von Superauflösungs-Algorithmen widerspiegeln, kann die durch das OIS-System während der Aufnahme der mehreren, niedrig aufgelösten Bilder der Szene eingeführte Stabilität möglicherweise die erforderlichen Positionsversätze verhindern. Ein weiteres Beispiel: Wenn sich das Benutzergerät in einem stabilen Zustand ohne Bewegung befindet (und das OIS-System während der Aufnahme der mehreren Bilder mit niedriger Auflösung nicht funktioniert oder die während der Aufnahme der mehreren Bilder mit niedriger Auflösung entstandene Bewegung nicht ausgleicht), können die mehreren Bilder mit niedriger Auflösung identisch sein und nicht die erforderlichen Positionsversätze aufweisen.
-
Darüber hinaus kann das Benutzergerät die mehreren Bilder der Szene in verschiedenen Modi aufnehmen, einschließlich eines Serienaufnahmemodus, der vor und nach dem Betätigen eines Auslösers auftritt, sowie während eines Modus ohne Auslöseverzögerung, der fast gleichzeitig mit dem Betätigen des Auslösers auftritt. Die vorstehend erwähnten Inkompatibilitäten zwischen dem OIS-System und den superauflösenden Fähigkeiten des Benutzergerätes verstärken sich in solchen Fällen noch weiter.
-
KURZDARSTELLUNG
-
Die vorliegende Offenlegung beschreibt Systeme und Techniken, die auf optische Bildstabilisierungsbewegungen ausgerichtet sind, um ein superauflösendes Bild einer Szene zu erzeugen. Die Systeme und Techniken umfassen ein Benutzergerät, das ein optisches Bildstabilisierungssystem verwendet, um Bewegung einer oder mehrerer Komponenten eines Kamerasystems des Benutzergerätes einzuführen. Das Benutzergerät nimmt dann entsprechende und mehrere Einzelbilder eines Bildes einer Szene auf, wobei die entsprechenden und mehreren Einzelbilder des Bildes der Szene entsprechende Sub-Pixel-Versätze des Bildes der Szene über die mehreren Einzelbilder hinweg als Ergebnis der eingeführten Bewegung einer oder mehrerer Komponenten des Kamerasystems aufweisen. Das Benutzergerät führt basierend auf den jeweiligen Sub-Pixel-Versätzen des Bildes der Szene über die jeweiligen mehrere Einzelbilder hinweg Superauflösungsberechnungen durch und erzeugt das superauflösende Bild der Szene basierend auf den Superauflösungsberechnungen.
-
Das System und die Techniken können daher superauflösende Bilder erzeugen, ohne die Leistung des OIS-Systems zu beeinträchtigen. Darüber hinaus können die Systeme und Techniken eine oder mehrere Komponenten des Kamerasystems stabilisieren, ohne den Benutzer abzulenken, mit „Ohne Auslöseverzögerung“- Modi arbeiten und erfordern kein Warten, dass ein Benutzer die Auslöserbewegung betätigt, wodurch Eingabeverzögerungen und Latenzen minimiert werden, die sich nachteilig auf den Erhalt qualitativ hochwertiger Bilder und die Erfahrung des Benutzers auswirken können.
-
In einigen Aspekten wird ein Verfahren beschrieben, mit dem ein superauflösendes Bild einer Szene in Superauflösung erstellt werden kann. Das Verfahren umfasst ein Benutzergerät, das eine Bewegung eines oder mehrerer Komponenten eines Kamerasystems des Benutzergerätes einführt. Als Teil des Verfahrens nimmt das Benutzergerät entsprechende und mehrere Einzelbilder eines Bildes einer Szene auf, wobei die entsprechenden und mehreren Einzelbilder des Bildes der Szene entsprechende Sub-Pixel-Versätze des Bildes der Szene über die mehreren Einzelbilder hinweg als Ergebnis der in eine oder mehrere Komponenten des Kamerasystems eingeführten Bewegung aufweisen. Das Verfahren wird fortgesetzt, wobei das Benutzergerät basierend auf den jeweiligen Sub-Pixel-Versätzen des Bildes der Szene über die jeweiligen mehreren Einzelbilder hinweg Superauflösungsberechnungen durchführt und das superauflösende Bild der Szene basierend auf den Superauflösungsberechnungen erzeugt.
-
Unter weiteren Aspekten wird ein Benutzergerät beschrieben. Das Benutzergerät umfasst ein Kamerasystem, das über Bildsensoren und ein OIS-System, Prozessoren und eine Anzeige verfügt. Das Benutzergerät umfasst ebenfalls ein computerlesbares Speichermedium, auf dem Anweisungen einer Antriebsmanager-Anwendung eines optischen Bildstabilisierungssystems und einer Superauflösungsmanager-Anwendung gespeichert sind, die, wenn diese von den Prozessoren ausgeführt werden, komplementäre Funktionen ausführen, die das Benutzergerät anweisen, eine Reihe von Betriebsschritten durchzuführen.
-
Die Reihe von Betriebsschritten umfasst den Empfang eines Befehls durch einen oder mehrere Prozessoren, der das Benutzergerät anweist, ein Bild einer Szene aufzunehmen. Die Reihe von Betriebsschritten umfasst ebenfalls das Einführen einer Bewegung in eine oder mehrere Komponenten des Kamerasystems während der Aufnahme des Bildes der Szene, wobei die eingeführte Bewegung zur Aufnahme von entsprechenden und mehreren Einzelbildern des Bildes der Szene führt, die entsprechende Sub-Pixel-Versätze des Bildes über die mehreren Einzelbilder hinweg aufweisen, und die Durchführung von Superauflösungsberechnungen durch den einen oder die mehreren Prozessoren und basierend auf den entsprechenden Sub-Pixel-Versätzen des Bildes der Szene über die mehreren Einzelbilder. Die Reihe von Betriebsschritten umfasst ferner die Erzeugung eines Bildes der Szene in Superauflösung durch den einen oder die mehreren Prozessoren basierend auf den Superauflösungsberechnungen und die Wiedergabe des superauflösenden Bildes der Szene auf der Anzeige.
-
Die Details einer oder mehrerer Implementierungen sind in den zugehörigen Zeichnungen und der folgenden Beschreibung dargelegt. Weitere Merkmale und Vorteile werden aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen ersichtlich. Diese Kurzdarstellung dient der Einführung in die Thematik, die unter Ausführliche Beschreibung und Zeichnungen näher beschrieben wird. Ein Leser sollte daher die Kurzdarstellung weder als wesentliche Merkmale beschreibend noch sollte diese als Einschränkung des Umfangs der beanspruchten Thematik angesehen werden.
-
Figurenliste
-
Die vorliegende Offenlegung beschreibt Einzelheiten eines oder mehrerer Aspekte, die mit der optischen Bildstabilisierungsbewegung zur Erzeugung eines superauflösenden Bildes einer Szene in Zusammenhang stehen.
- 1 veranschaulicht eine beispielhafte Betriebsumgebung, in der verschiedene Aspekte der optischen Bildstabilisierungsbewegung zur Erzeugung eines superauflösenden Bildes durchgeführt werden.
- 2 veranschaulicht beispielhafte Aspekte der Bewegung, die durch ein OIS-System eingeführt wird.
- 3 veranschaulicht beispielhafte Aspekte im Zusammenhang mit der Erfassung eines Bewegungszustands und der Einführung von Bewegung in ein OIS-System.
- 4 veranschaulicht beispielhafte Aspekte der Verwendung von mehreren Einzelbildern mit Sub-Pixel-Versätzen, um Superauflösungsberechnungen durchzuführen und um ein superauflösendes Bild einer Szene zu erzeugen.
- 5 veranschaulicht ein beispielhaftes Verfahren, das zur optischen Bildstabilisierungsbewegung verwendet wird, um ein superauflösendes Bild einer Szene zu erzeugen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Offenlegung beschreibt Systeme und Techniken, die auf optische Bildstabilisierungsbewegungen ausgerichtet sind, um ein superauflösendes Bild einer Szene zu erzeugen.
-
Während Merkmale und Konzepte der beschriebenen Systeme und Techniken für die optische Bildstabilisierungsbewegung zur Erzeugung eines superauflösenden Bildes einer Szene in einer beliebigen Anzahl verschiedener Umgebungen, Systeme, Vorrichtungen und/oder verschiedener Konfigurationen implementiert werden können, werden Aspekte im Zusammenhang mit den folgenden Beispielvorrichtungen, -systemen und -konfigurationen beschrieben.
-
Beispielhafte Betriebsumgebung
-
1 veranschaulicht eine beispielhafte Betriebsumgebung 100, in der verschiedene Aspekte der optischen Bildstabilisierungsbewegung zur Erzeugung eines superauflösenden Bildes durchgeführt werden. Wie veranschaulicht, ist ein Benutzergerät 102 an einem Stativ 104 befestigt und rendert ein superauflösendes Bild 106 einer Szene, die dieses gerade aufnimmt. Obwohl als Smartphone veranschaulicht, kann das Benutzergerät 102 eine andere Art von Vorrichtung sein, die über Bildaufnahmefunktionen verfügt, wie z. B. eine DLSR-Kamera oder ein Tablet. Durch die Befestigung des Benutzergerätes 102 am Stativ 104 wird das Benutzergerät 102 so eingeschränkt, dass das Benutzergerät 102 stationär ist und sich nicht bewegt.
-
Das Benutzergerät 102 enthält eine Kombination von einem oder mehreren Bewegungssensor(en) 108 (z. B. ein Gyroskop, einen Beschleunigungsmesser), der/die einen Bewegungszustand des Benutzergerätes 102 erfasst/erfassen. In manchen Fällen, z. B. wenn das Benutzergerät 102 an dem Stativ 104 befestigt ist, kann der erfasste Bewegungszustand ein statischer Bewegungszustand sein (d. h., das Benutzergerät 102 bewegt sich nicht). In anderen Fällen, z. B. wenn das Benutzergerät 102 von dem Stativ 104 entfernt wird, kann der erfasste Bewegungszustand ein dynamischer Bewegungszustand sein, (d. h., jeder Bewegungszustand, der kein statischer Bewegungszustand ist).
-
Das Benutzergerät enthält ebenfalls ein optisches Bildstabilisierungs(OIS)-Kameramodul 110, das ein Kamerasystem 112 und ein OIS-System 114 umfasst. Das Kamerasystem 112 kann mehrere Komponenten wie eine Linse, eine Blende und einen oder mehrere Bildsensoren umfassen (z. B. 40 Megapixel (MP), 32 MP, 16 MP, 8 MP). Der/die Bildsensor(en) kann/können einen CMOS-Halbleiter-Bildsensor oder einen CCD-Bildsensor umfassen. In einigen Fällen kann der/die Bildsensor(en) ein Farbfilterarray (CFA) umfassen, das die Pixel des Bildsensors überlagert und die Intensitäten des durch die Pixel aufgezeichneten Lichts entsprechend den Farbwellenlängen begrenzt. Ein Beispiel für eine solche CFA ist eine Bayer-CFA, die Licht entsprechend einer roten Wellenlänge, einer blauen Wellenlänge und einer grünen Wellenlänge filtert.
-
Das OIS-System 114 bietet im Allgemeinen eine Mechanik zur Änderung der physikalischen Positionen oder Ausrichtungen einer oder mehrerer Komponenten des Kamerasystems 112. Das OIS-System 114 kann Mikromotoren und magnetisch-induktive Positionierungsmechanismen umfassen, die eine Position innerhalb der Ebene, eine Position außerhalb der Ebene, eine Neigung, ein Gieren oder ein Kippen einer oder mehrerer Komponenten des Kamerasystems 112 ändern können. Die Position innerhalb der Ebene kann eine Position sein, die innerhalb einer durch zwei Achsen definierten Ebene liegt, während die Position außerhalb der Ebene eine andere Position sein kann, die außerhalb der durch die beiden Achsen definierten Ebene liegt.
-
Das Benutzergerät 102 enthält ebenfalls eine Kombination aus einem oder mehreren Prozessor(en) 116. Der Prozessor 116 kann ein Einzelkernprozessor oder ein Mehrkernprozessor sein, der aus einer Vielzahl von Materialien besteht, wie z. B. Silizium, Polysilizium, Dielektrika mit hohem K, Kupfer usw. In einem Fall von mehreren Prozessoren 116 (z. B., eine Kombination von mehr als einem Prozessor), kann eine Vielzahl des Prozessors 116 eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen digitalen Signalprozessor (DSP) oder eine Bildverarbeitungseinheit (IPU) umfassen. Darüber hinaus, und in einem solchen Fall, kann die Vielzahl des Prozessors 116 zwei oder mehr Rechenoperationen mittels Pipeline-Verarbeitung durchführen.
-
Das Benutzergerät 102 enthält ebenfalls ein computerlesbares Speichermedium (CRM) 118, das ausführbare Anweisungen in Form eines OIS-Laufwerksmanagers 120 und eines Superauflösungs-Managers 122 enthält. Das hier beschriebene CRM 118 schließt Ausbreitungssignale aus. Das CRM 118 kann jede geeignete Speichervorrichtung enthalten, wie z. B. RAM (RAM), statisches RAM (SRAM), dynamisches RAM (DRAM), nichtflüchtiges RAM (NVRAM), Nur-Lese-Speicher (ROM) oder Flash-Speicher, der zur Speicherung des OIS-Laufwerksmanagers 120 und des Superauflösungs-Managers 122 verwendet werden kann.
-
In einigen Fällen können der OIS-Laufwerksmanager 120 und der Superauflösungs-Manager 122 vom Prozessor 116 ausgeführt werden, um das Benutzergerät 102 zu veranlassen, komplementäre Funktionen auszuführen, die wirksam sind, um eine OIS-Bewegung zu erzeugen (z. B., eine physische Bewegung oder Positionsänderung eines oder mehrerer Elemente des Kamerasystems 112), mehrere Einzelbilder eines Bildes einer Szene mit Sub-Pixel-Versätzen aufzunehmen und das superauflösende Bild (106) einer Szene zu berechnen. In einigen Fällen kann die OIS-Bewegung mit Positionsänderungen des Kamerasystems 112 korrespondieren, die sich durch eine natürliche, Handbewegung eines Benutzers, der das Benutzergerät bedient, (z. B., ein Handzittern oder andere natürliche Biomechanismen des Benutzers) manifestieren würden.
-
Der Code oder die Anweisungen des OIS-Laufwerksmanagers 120 können unter Verwendung des Prozessors 116 ausgeführt werden, um das OIS-System 114 zur Durchführung der OIS-Bewegung anzuweisen. In einigen Fällen kann die OIS-Bewegung eine unsynchronisierte Bewegung sein (z. B., eine Bewegung innerhalb eines vorbestimmten Bereichs von Positionsverschiebungen und ohne zeitliche Synchronisation). Eine solche unsynchronisierte Bewegung kann auf einen statischen Bewegungszustand anwendbar sein.
-
In anderen Fällen kann die OIS-Bewegung eine synchronisierte Bewegung sein (z. B., eine Bewegung, die einem Bereich von Positionsverschiebungen entspricht, die von den erfassten Bewegungen des Benutzergeräts 102 abhängig und zeitlich mit diesen synchronisiert sind). Eine solche synchronisierte Bewegung kann auf einen dynamischen Bewegungszustand anwendbar sein und über eine andere OIS-Bewegung gelegt werden, die in das OIS-System 114 eingeführt wird.
-
Der Code oder die Anweisungen des Superauflösungs-Managers 122 kann/können, wenn dieser/diese vom Prozessor 116 ausgeführt werden, das Benutzergerät 102 anweisen, mehrere Betriebsschritte durchzuführen, die zu den unter der Leitung des OIS-Laufwerksmanagers 120 durchgeführten Betriebsschritten komplementär sind. Zu diesen Betriebsschritten kann es gehören, das Kamerasystem 112 anzuweisen, in einer Serienaufnahme mehrere Einzelbilder eines Bildes einer Szene aufzunehmen, Superauflösungsberechnungen durchzuführen und unter Verwendung einer Anzeige 124 des Benutzergerätes das superauflösende Bild 106 der Szene wiederzugeben.
-
Aufgrund der OIS-Bewegung (z. B. die vom OIS-System 114 unter Leitung des OIS-Laufwerksmanagers 120 in das Kamerasystem 112 eingeführte Bewegung) kann das Kamerasystem 112 mehrere Variationen 126, 128 und 130 des Bildes der Szene aufnehmen, wobei die mehreren Variationen 126-130 mehreren Einzelbildern des Bildes der Szene entsprechen, die jeweils Sub-Pixel-Versätze des Bildes über die mehreren Einzelbilder aufweisen.
-
Während der OIS-Bewegung kann der OIS-Laufwerksmanager 120 Deckungsquoten, entweder analytisch oder numerisch durch gleichmäßiges Abtasten der mehreren Einzelbilder des Bildes der Szene berechnen. Die berechneten Deckungsquoten können in einigen Fällen zusätzliche oder ergänzende OIS-Bewegungen verursachen, um den Bildinhalt der aufgenommenen, mehreren Variationen 126 bis 130 zu definieren. Diese Bewegung kann eine vollständige Abdeckung des Bildes der Szene gewährleisten und ein qualitativ hochwertigeres Bild erzeugen.
-
Die Superauflösungsberechnungen können z. B. Gauß'sche radiale Basisfunktionsberechnungen (RBF) in Kombination mit Robustheitsmodellberechnungen umfassen, um das superauflösende Bild 106 der Szene zu erstellen. Die Superauflösungsberechnungen verwenden die Variationen 126 bis 130 des Bildes der Szene z. B., die mehreren Einzelbilder des Bildes der Szene, die entsprechende Sub-Pixel-Versätze des Bildes über die mehreren Einzelbilder aufweisen), um das superauflösende Bild 106 der Szene zu erzeugen.
-
2 veranschaulicht beispielhaft die Aspekte 200 der Bewegung, die durch ein OIS-System eingeführt werden. Zu den Aspekten 200 gehören das Kamerasystem 112 und das OIS-System 114 des Benutzergerätes 102 von 1.
-
Wie veranschaulicht, kann das OIS-System 114 Bewegung in das Kamerasystem 112 einführen. Eine Bewegung „in der Ebene“ kann eine Bewegung sein, die in einer durch die X-Achse 202 und die Y-Achse 204 definierten Ebene enthalten ist. Die Ebene, die durch die X-Achse 202 und die Y-Achse 204 definiert ist, entspricht (verläuft beispielsweise parallel zu) einer anderen Ebene des superauflösenden Bildes 106 der Szene. Eine Bewegung „außerhalb der Ebene“ kann eine Bewegung sein, die außerhalb der durch die X-Achse 202 und die Y-Achse 204 definierten Ebene liegt, und kann eine Bewegung entlang der Z-Achse 206 oder eine andere Bewegung sein, die eine Neigung, ein Gieren oder Rollen umfasst.
-
Die durch das OIS-System 114 eingeführte Bewegung kann durch einen oder mehrere Faktoren ausgelöst werden. Beispielsweise kann die in das OIS-System 114 eingeführte Bewegung in Reaktion auf den Eintritt des Benutzergerätes 102 in einen Suchermodus, in Reaktion auf den Empfang eines Aufnahmebefehls durch das Benutzergerät 102 oder in Reaktion auf die Erfassung eines Bewegungszustands durch die Bewegungssensoren 108 durch das Benutzergerät 102 ausgelöst werden. Die durch das OIS-System 114 eingeführte Bewegung kann ebenfalls durch eine Kombination eines oder mehrerer solcher Faktoren ausgelöst werden.
-
3 veranschaulicht die beispielhaften Aspekte 300 im Zusammenhang mit der Erfassung eines Bewegungszustands und der Einleitung einer Bewegung in ein OIS-System. Die beispielhaften Aspekte 300 können durch das Benutzergerät 102 von 1 und das OIS-Kameramodul 110 von 2 ausgeführt werden. Der OIS-Laufwerksmanager 120 (der vom Prozessor 116 ausgeführt wird) kann über das OIS-System 114 eine Bewegung in das Kamerasystem 112 einführen. In einigen Fällen kann die über das OIS-System 114 in das Kamerasystem 112 eingeführte Bewegung das Kamerasystem 112 während der Aufnahme eines Bildes einer Szene einfach stabilisieren, während in anderen Fällen die über das OIS-System 114 in das Kamerasystem 112 eingeführte Bewegung während der Aufnahme mehrerer Bilder einer Szene Sub-Pixel-Versätze zu mehreren Bildern einer Szene einführen kann. In wieder anderen Fällen kann die Bewegung, die durch das OIS-System 114 in das Kamerasystem 112 eingeführt wird, eine Kombination von Bewegungen sein, die die Aufnahme einiger Einzelbilder des Bildes der Szene stabilisieren (z. B., keine Sub-Pixel-Versätze aus Gründen der Klarheit) und auch Versätze während der Aufnahme anderer Einzelbilder des Bildes der Szene einführen (z. B., Erhaltung der Sub-Pixel-Versätze zu Superauflösungszwecken).
-
Die beispielhaften Aspekte 300 umfassen die Erfassung eines Bewegungszustands 302, die Einführung der Bewegung 304 und die Aufnahme mehrerer Einzelbilder 306 mit Sub-Pixel-Versätzen (die Bilder 308 bis 312 entsprechen den Variationen 126 bis 128 von 1). Die mehreren Einzelbilder 306 dienen als Grundlage für die Berechnung und Bildung des superauflösenden Bildes 106. Das Benutzergerät 102 kann die mehreren Einzelbilder 306 mit einer Auflösung aufnehmen, die niedriger ist als eine andere Auflösung des superauflösenden Bildes 106 der Szene, und zwar während einer Serienaufnahme.
-
Die Erfassung des Bewegungszustands 302 kann die Erfassung eines statischen Bewegungszustands 314 oder eines dynamischen Bewegungszustands 318 umfassen. Die Einführung der Bewegung 304 in das Kamerasystem 112 kann umfassen, dass der OIS-Laufwerksmanager 120 während der Serienaufnahme eine unsynchronisierte OIS-Bewegung 316 oder eine synchronisierte OIS-Bewegung 320 einführt.
-
Im Fall der synchronisierten OIS-Bewegung 320 kann das OIS-System 114 eine erste Bewegung einführen, die dazu dient, das Kamerasystem 112 gegenüber des aufgenommenen dynamischen Bewegungszustands 318 zu stabilisieren (z. B., stabilisiert es das Kamerasystem 112, um die Einzelbilder eines Bildes einer Szene mit Klarheit und ohne Sub-Pixel-Versätze aufzunehmen). Bei der synchronisierten Bewegung 320 kann es sich um eine zweite Bewegung handeln, die mit der ersten Bewegung synchronisiert ist und diese überlagert (z. B., eine Bewegung, bei der es sich um eine Gegenbewegung handelt, die mit dem erkannten dynamischen Bewegungszustand 318 assoziiert ist), mit der Absicht, Sub-Pixel-Versätze über die Einzelbilder des Bildes der Szene zu erzeugen oder zu erhalten. Je nach dem Umfang des ersten Satzes kann die Überlagerung des zweiten Satzes konstruktiver oder destruktiver Natur sein (z. B., „addieren“ oder „subtrahieren“ zu/von der ersten Bewegung). Darüber hinaus können einige Teile der zweiten Bewegung größer als ein Pixel sein, während andere Teile der zweiten Bewegung kleiner als ein Pixel sein können.
-
Die Serienaufnahme kann die Aufnahme der mehreren Einzelbilder 306 in einem festgelegten Zeitintervall umfassen, das z. B. von einer Millisekunde bis drei Millisekunden, von einer Millisekunde bis fünf Millisekunden oder von einer halben Millisekunde bis zehn Millisekunden reichen kann. Darüber hinaus, und in einigen Fällen, kann das Zeitintervall der Serienaufnahme basierend auf einer Bewegung des Benutzergerätes variabel sein (z. B., ein Zeitintervall kann während einer Bewegung des Benutzergerätes 102 mit hoher Geschwindigkeit „kürzer“ sein als ein anderes Zeitintervall während einer Bewegung des Benutzergerätes 102 mit niedriger Geschwindigkeit, um die Versätze auf weniger als einem Pixel zu halten).
-
Die Einführung der Bewegung 304 während der Serienaufnahme bewirkt, dass das Benutzergerät 102 die mehreren Einzelbilder 306 so erfasst, dass die mehreren Einzelbilder 306 entsprechende, relative Sub-Pixel-Versätze aufweisen. Wie veranschaulicht, ist das Bild von Einzelbild 310 gegenüber dem Bild von Einzelbild 308 jeweils um ein halbes Pixel horizontal und ein halbes Pixel vertikal versetzt. Wie veranschaulicht, ist das Bild von Einzelbild 312 gegenüber dem Bild von Einzelbild 308 jeweils um ein viertel Pixel horizontal versetzt. Entsprechend können relative Sub-Pixel-Versätze verschiedene Größen und Kombinationen von Sub-Pixel-Versätze umfassen (z. B., kann eine Sub-Pixel-Versatz, die einem Einzelbild zugeordnet ist, horizontal ein viertel Pixel und vertikal ein dreiviertel Pixel betragen, während eine andere Sub-Pixel-Verschiebung, die einem anderen Einzelbild zugeordnet ist, horizontal null Pixel und vertikal ein halbes Pixel betragen kann). Im Allgemeinen können die in dieser vorliegenden Offenlegung beschriebenen Techniken und Systeme Sub-Pixel-Versätze berücksichtigen, die zufälliger sind als die Abbildungen und Beschreibungen der Einzelbilder 308-312, einschließlich Sub-Pixel-Versätze, die nicht einheitlich sind.
-
4 veranschaulicht die beispielhaften Aspekte 400 der Verwendung von mehreren Einzelbildern 306 mit Sub-Pixel-Versätzen, wie diese durch die OIS-Bewegung eingeführt wurden, um Superauflösungsberechnungen durchzuführen und ein superauflösendes Bild einer Szene zu erzeugen. Die beispielhaften Aspekte 400 kann Elemente von 1 bis 3 verwenden, wobei die Superauflösungsberechnungen durch das Benutzergerät 102 von 1 durchgeführt wird, die Sub-Pixel-Versätze ein Ergebnis der OIS-Bewegung von 2 sind und die mehreren Einzelbilder mit den Sub-Pixel-Versätzen die mehreren Einzelbilder 306 von 3 sind.
-
Wie in 4 veranschaulicht, werden die mehreren Einzelbilder 306 in die Superauflösungsberechnungen 402 eingegeben, die von des Benutzergerätes 102 durchgeführt werden. Algorithmen, die die Superauflösungsberechnungen 402 unterstützen, können sich im Superauflösungs-Manager 122 des Benutzergerätes 102 befinden. In einigen Fällen kann das Benutzergerät 102 (z. B., mehrere des Prozessors 116) Teile der Superauflösungsberechnungen 402 unter Verwendung der Pipeline-Verarbeitung ausführen. Im Allgemeinen können die Superauflösungsberechnungen 402 eine Vielzahl von Algorithmen und Techniken verwenden.
-
Ein erstes Beispiel für die Superauflösungsberechnungen 402 umfasst Gauß'sche Radial-Basis-Funktion(RBF)-Kernel-Berechnungen. Um die Gauß'schen RBF-Kernel-Berechnungen durchzuführen, filtert das Benutzergerät 102 die Pixelsignale aus jedem Einzelbild der mehreren Einzelbilder 306, um entsprechende farbspezifische Bildebenen zu erzeugen, die den Farbkanälen entsprechen. Das Benutzergerät 102 richtet dann die entsprechenden farbspezifischen Bildebenen an einem ausgewählten Bezugseinzelbild aus.
-
Um mit dem ersten Beispiel der Superauflösungsberechnungen
402 fortzufahren, können die Gauß'schen RBF-Kernel-Berechnungen das Benutzergerät
102 umfassen, das lokale Gradienten-Struktur-Tensoren analysiert, um eine Kovarianzmatrix zu berechnen. Das Berechnen der Kovarianzmatrix kann auf der folgenden mathematischen Beziehung beruhen:
-
In der mathematischen Beziehung (1) stellt Ω eine Kernel-Kovarianzmatrix dar, e1 und e2 stellen orthogonale Richtungsvektoren und zwei zugehörige Eigenwerte λ1 und λ2, und k1 und k2 steuern eine gewünschte Kernel-Varianz.
-
Die Berechnung der lokalen Gradienten-Struktur-Tensoren kann sich auf die folgende mathematische Beziehung stützen:
-
In der mathematischen Beziehung (2) stellen Ix und Iy lokale Bildgradienten in horizontaler bzw. vertikaler Richtung dar.
-
Außerdem kann das Benutzergerät 102 als Teil des ersten Beispiels der Superauflösungsberechnungen 402 ein Robustheitsmodell unter Verwendung eines statistischen Nachbarschaftsmodells berechnen, das Berechnungen des Farbmittelwerts und der räumlichen Standardabweichung umfasst. Die Robustheitsmodellberechnungen können in einigen Fällen ebenfalls Rauschunterdrückungsberechnungen zum Ausgleich von Farbunterschieden umfassen.
-
Die Berechnungen superauflösender Bilder 402 sind effektiv, um für jedes der mehreren Einzelbilder 306 (z. B., für Bild 308, 310 und 312) den Beitrag von Pixeln zu Farbkanälen zu schätzen, die den jeweiligen Farbebenen zugeordnet sind
-
Um mit dem ersten Beispiel der Superauflösungsberechnungen
402 fortzufahren, können Farbebenen unter Verwendung der folgenden mathematischen Beziehung für Normalisierungsberechnungen akkumuliert werden:
-
In der mathematischen Beziehung (3) stellen x und y Pixelkoordinaten dar, die Summe Σn wirkt über (oder ist eine Summe von) beitragenden Einzelbildern, die Summe Σi ist eine Summe von Abtastwerten innerhalb einer lokalen Nachbarschaft, cn,i stellt einen Wert eines Bayer-Pixels bei einem gegebenen Einzelbild n und Abtastwert i dar, wn,i stellt ein lokales Abtastgewicht dar, und R̂̂n steht für eine lokale Robustheit. Die akkumulierten Farbebenen können kombiniert werden, um das superauflösende Bild 106 der Szene zu erzeugen.
-
Ein zweites Beispiel für die Superauflösungsberechnungen 402 kann die Analyse des Einflusses der Bewegungsunschärfe umfassen. Solche Superauflösungsberechnungen können den Einfluss der Bewegungsunschärfe mehrerer Bilder analysieren (z. B., die mehreren Einzelbilder 306), indem ein „Lösungsvolumen“-Berechnungsansatz, der Unsicherheiten bei Pixelmessungen aufgrund von Quantisierungsfehlern berücksichtigt, verwendet wird.
-
Ein drittes Beispiel für die Superauflösungsberechnungen 402 können Berechnungen sein, die einen Einzelbild-Wiederholungsansatz verwenden. Ein solcher Ansatz kann iterativ ein vorheriges niedrig auflösendes Einzelbild, ein zuvor berechnetes hochauflösendes Bild und ein aktuelles niedrig auflösendes Einzelbild verwenden, um ein aktuelles superauflösendes Bild zu erzeugen (z. B., das vorherige niedrig auflösende Einzelbild und das aktuelle niedrig auflösende Einzelbild können Einzelbild 308 bzw. Einzelbild 310 sein). Der Wiederholungsansatz kann Flussschätzungen umfassen, um eine normalisierte Flussabbildung mit niedriger Auflösung zu schätzen, die Hochskalierung der Flussabbildung mit niedriger Auflösung mit einem Skalierungsfaktor, um eine Flussabbildung mit hoher Auflösung zu erzeugen, die Verwendung der Flussabbildung mit hoher Auflösung, um ein vorheriges Bild mit hoher Auflösung zu verzerren, die Abbildung des verzerrten, vorhergehenden Bildes mit hoher Auflösung auf einen Raum mit niedriger Auflösung und die Verkettung der Abbildung des Raums mit niedriger Auflösung mit dem aktuellen superauflösenden Bild.
-
Die Superauflösungsberechnungen 402 von 4 können ebenfalls Algorithmen und Techniken verwenden, die andere oder zusätzliche zu den in den vorherigen Beispielen beschriebenen sind. Solche Algorithmen und Techniken können maschinell erlernte Algorithmen und Techniken umfassen. Ungeachtet dessen und in Übereinstimmung mit der vorliegenden Offenlegung ist die Einführung von Bewegung in eine oder mehrere Komponenten des Kamerasystems 112 auf die anderen Algorithmen und Techniken anwendbar.
-
Beispielhaftes Verfahren
-
Das beispielhafte Verfahren 500 wird unter Bezugnahme auf 5 in Übereinstimmung mit einem oder mehreren Aspekten beschrieben, die mit der optischen Bildstabilisierungsbewegung verbunden sind, um ein superauflösendes Bild einer Szene zu erzeugen. Im Allgemeinen kann jede der hier beschriebenen Komponenten, Module, Verfahren und Betriebsschritte mithilfe von Software, Firmware, Hardware (z. B. feste Logikschaltungen), manueller Verarbeitung oder einer beliebigen Kombination davon implementiert werden. Einige Betriebsverfahren der exemplarischen Verfahren können im allgemeinen Kontext der ausführbaren Anweisungen auf einem computerlesbaren Speicher gespeichert werden, der lokal und/oder entfernt von einem Datenverarbeitungssystem ist, und Implementierungen können Software-Anwendungen, Programme, Funktionen und dergleichen umfassen. Alternativ oder zusätzlich kann jede der hierin beschriebenen Funktionen mindestens teilweise von einer oder mehreren Hardwarelogikkomponenten ausgeführt werden, wie z. B. und ohne Einschränkung feldprogrammierbare Gate Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs), anwendungsspezifische Standardprodukte (ASSPs), System-auf-einem-Chip-Systeme (SoCs) oder komplexe programmierbare Logikbausteine(CPLDs).
-
5 veranschaulicht beispielhafte Aspekte eines Verfahrens 500, das als Teil der Erstellung eines superauflösenden Bildes einer Szene verwendet wird. Das Verfahren 500 wird in Form eines Satzes von Blöcken 502 bis 508 beschrieben, die die ausführbaren Betriebsschritte spezifizieren. Die Betriebsschritte sind jedoch nicht notwendigerweise auf die in 5 gezeigte oder hier beschriebene Reihenfolge beschränkt, denn die Betriebsschritte können in alternativen Reihenfolgen, auf vollständig oder teilweise überlappende Art und Weise oder in iterativer Weise, implementiert werden. Obwohl die durch das Verfahren 500 dargestellten Betriebsschritte im Rahmen der Ausführung von dem Benutzergerät 102 gemäß 1 unter Verwendung der Elemente der 2 bis 4 beschrieben werden, können die Betriebsschritte (oder Teile der Betriebsschritte) von einer oder mehreren anderen Vorrichtungen, die über rechnerische Fähigkeiten verfügen, wie z. B. einen Server oder eine Cloud-Rechenvorrichtung, die Befehle (oder Teile von Befehlen) des Superauflösungsmanagers 122 enthält, durchgeführt werden.
-
Im Block 502 führt das Benutzergerät 102 (z. B., Prozessor 116, der den Code des OIS-Laufwerksmanagers 120 ausführt) eine Bewegung in eine oder mehrere Komponenten eines Kamerasystems 112 ein (z. B., das OIS-System 114 führt die Bewegung in das Kamerasystem 112 ein). In einigen Fällen kann das Benutzergerät 102 die Bewegung in Reaktion auf den Eintritt in einen Suchermodus einführen, während in anderen Fällen das Benutzergerät 102 die Bewegung in Reaktion auf den Empfang eines Aufnahmebefehls einführen kann. Das Einführen der Bewegung kann das Einführen einer Bewegung innerhalb der Ebene oder das Einführen einer Bewegung außerhalb der Ebene für eine oder mehrere Komponenten des Kamerasystems 112 umfassen.
-
Bei Block 504 nimmt das Benutzergerät 102 jeweils mehrere Einzelbilder 306 eines Bildes einer Szene auf, das als Ergebnis der eingeführten Bewegung an einer oder mehreren Komponenten des Kamerasystems 112 entsprechende Sub-Pixel-Versätze des Bildes der Szene 306 über die mehreren Einzelbilder aufweist.
-
Bei Block 506 führt das Benutzergerät 102 (z. B., der Prozessor 116, der die Anweisungen des Superauflösungs-Managers 122 ausführt) Superauflösungsberechnungen 402 aus, die auf den jeweiligen Sub-Pixel-Versätze des Bildes der Szene über die mehreren Einzelbilder basieren. Beispiele für Superauflösungsberechnungen 402 umfassen (i) die Berechnung von Gauß'schen radialen Basisfunktionskernen und die Berechnung eines Robustheitsmodells, (ii) die Analyse des Einflusses der Bewegungsunschärfe über die mehreren Einzelbilder und (iii) die Verwendung eines Einzelbildwiederholungsansatzes, der aus den mehreren Einzelbildern ein vorheriges Bild mit niedriger Auflösung und ein aktuelles Bild mit niedriger Auflösung verwendet, um ein aktuelles superauflösendes Bild zu erzeugen.
-
Bei Block 508 erzeugt das Benutzergerät 102 (z. B., wobei der Prozessor 116 die Anweisungen des Superauflösungs-Managers 122 ausführt) basierend auf den Superauflösungsberechnungen 402 das superauflösende Bild 106 der Szene.
-
Das beispielhafte Verfahren 500 kann ebenfalls die Änderung der Bewegung basierend auf einer Deckungsquote umfassen, die durch eine Abtastung der mehreren Einzelbilder des Bildes der Szene berechnet wird.
-
Obwohl in der vorliegenden Offenlegung Systeme und Techniken beschrieben werden, die auf die optische Bildstabilisierungsbewegung ausgerichtet sind, um ein superauflösendes Bild einer Szene zu erzeugen, ist dieses zu verstehen, dass der Gegenstand der beigefügten Ansprüche nicht notwendigerweise auf die beschriebenen spezifischen Merkmale oder Verfahren beschränkt ist. Vielmehr werden die spezifischen Merkmale und Verfahren als beispielhafte Möglichkeiten offengelegt, wie die Verwendung der optischen Bildstabilisierungsbewegung zur Erzeugung eines superauflösenden Bildes einer Szene implementiert werden kann.
-
Zusätzlich zu den vorstehenden Beschreibungen können einem Benutzer Bedienelemente bereitgestellt werden, die es ihm ermöglichen, eine Entscheidung darüber zu treffen, ob und wann hierin beschriebene Systeme, Programme oder Merkmale die Sammlung von Benutzerinformationen (z. B. von einem Benutzer erfasste Bilder, von einem System berechnete superauflösende Bilder, Informationen über das soziale Netzwerk eines Benutzers, soziale Aktionen oder Aktivitäten, den Beruf, die Vorlieben eines Benutzers oder den aktuellen Standort eines Benutzers) ermöglichen, und ob dem Benutzer Inhalt oder Kommunikationen von einem Server gesendet werden. Darüber hinaus können bestimmte Daten auf eine oder mehrere Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Informationen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine personenbezogenen Informationen für den Benutzer ermittelt werden können, oder, wenn Standortinformationen (wie z. B. eine Stadt, eine Postleitzahl oder ein Bundesland) erfasst werden, kann ein geografischer Standort eines Benutzers verallgemeinert werden, sodass ein spezifischer Standort eines Benutzers nicht ermittelt werden kann. Somit kann der Benutzer Kontrolle darüber haben, welche Informationen über den Benutzer gesammelt, wie diese Informationen verwendet werden, und welche Informationen für den Benutzer bereitgestellt werden.
-
Im Folgenden werden einige Beispiele beschrieben:
- Beispiel 1: Ein Verfahren zum Erzeugen eines superauflösenden Bildes einer Szene, wobei das Verfahren von einem Benutzergerät ausgeführt wird und Folgendes umfasst: Einführen, durch ein optisches Bildstabilisierungssystem, einer Bewegung in eine oder mehrere Komponenten eines Kamerasystems des Benutzergerätes; Aufnehmen jeweiliger und mehrerer Einzelbilder des Bildes der Szene, wobei die jeweiligen und mehreren Einzelbilder des Bildes der Szene jeweilige Sub-Pixel-Versätze des Bildes der Szene über die mehreren Einzelbilder als Ergebnis der eingeführten Bewegung in die eine oder mehrere Komponenten des Kamerasystems aufweisen; Ausführen von Superauflösungsberechnungen basierend auf den jeweiligen Sub-Pixel-Versätzen des Bildes der Szene über die mehreren Einzelbilder; und Erzeugen des superauflösenden Bildes der Szene basierend auf den Superauflösungsberechnungen.
- Beispiel 2. Das in Beispiel 1 dargelegte Verfahren, bei dem das Einführen der Bewegung in eine oder mehrere Komponenten des Kamerasystems in Reaktion auf den Eintritt in einen Suchermodus erfolgt.
- Beispiel 3: Das in Beispiel 1 dargelegte Verfahren, bei dem das Einführen der Bewegung in die eine oder mehreren Komponenten des Kamerasystems in Reaktion auf den Empfang eines Aufnahmebefehls erfolgt.
- Beispiel 4: Das in jedem der Beispiele 1 bis 3 dargelegte Verfahren, wobei das Einführen der Bewegung in die eine oder mehreren Komponenten des Kamerasystems des Benutzergerätes das Einführen einer Bewegung in der Ebene in die eine oder mehreren Komponenten des Kamerasystems einschließt, wobei die Bewegung in der Ebene eine Bewegung ist, die in einer durch zwei Achsen definierten Ebene definiert ist.
- Beispiel 5: Das in jedem der Beispiele 1 bis 4 dargelegte Verfahren, wobei das Einführen der Bewegung in die eine oder die mehrere Komponenten des Kamerasystems des Benutzergerätes das Einführen einer Bewegung außerhalb der Ebene in die eine oder die mehreren Komponenten des Kamerasystems einschließt, wobei die Bewegung außerhalb der Ebene eine Bewegung außerhalb einer durch zwei Achsen definierten Ebene ist.
- Beispiel 6: Das in jedem der Beispiele 1 bis 5 dargelegte Verfahren, wobei die Durchführung der Superauflösungsberechnungen Folgendes umfasst: Berechnung von Gauß'schen radialen Basisfunktionskernen und Berechnung eines Robustheitsmodells.
- Beispiel 7: Das in jedem der Beispiele 1 bis 6 dargelegte Verfahren, wobei die Durchführung der Superauflösungsberechnungen die Analyse des Einflusses der Bewegungsunschärfe über die mehreren Einzelbilder umfasst.
- Beispiel 8: Das in jedem der Beispiele 1 bis 7 dargelegte Verfahren, wobei die Durchführung der Superauflösung einen Einzelbildwiederholungsansatz anwendet, der mehrere Einzelbilder, ein vorhergehendes Einzelbild mit niedriger Auflösung und ein aktuelles Einzelbild mit niedriger Auflösung verwendet, um ein aktuelles superauflösendes Bild zu erzeugen.
- Beispiel 9: Das in jedem der Beispiele 1 bis 8 dargelegte Verfahren, bei dem eine zusätzliche oder ergänzende Bewegung in eine oder mehrere Komponenten des Kamerasystems eingeführt wird, basierend auf einer Deckungsquote, die durch eine Abtastung der mehreren Einzelbilder des Bildes der Szene berechnet wird.
- Beispiel 10: Benutzergerät, umfassend: Ein Kamerasystem, ein optisches Bildstabilisierungssystem, einen oder mehrere Prozessoren, eine Anzeige und ein computerlesbares Speichermedium, das Befehle einer Laufwerk-Manager-Anwendung des optischen Bildstabilisierungssystems und einer Superauflösungs-Manager-Anwendung speichert, die, wenn diese von dem einen oder den mehreren Prozessoren ausgeführt werden, komplementäre Funktionen ausführen, die das Benutzergerät zu Folgendem veranlassen: Aufnehmen eines Bildes einer Szene, Einführen, basierend auf dem empfangenen Befehl und durch das optische Bildstabilisierungssystem, eine Bewegung in eine oder mehrere Komponenten des Kamerasystems, während der Erfassung des Bildes der Szene, wobei die eingeführte Bewegung zur Erfassung entsprechender und mehrerer Einzelbilder des Bildes der Szene führt, die entsprechende Sub-Pixel-Versätze des Bildes über die mehreren Einzelbilder aufweisen, Durchführen von Superauflösungsberechnungen durch den einen oder die mehreren Prozessoren, und basierend auf den entsprechenden Sub-Pixel-Versätzen des Bildes einer Szene über mehrere Bilder hinweg; Erstellen eines superauflösenden Bildes der Szene durch einen oder mehrere Prozessoren basierend auf den Superauflösungsberechnungen; und Rendern des superauflösenden Bildes der Szene durch die Anzeige.
- Beispiel 11: Das Benutzergerät wie in Beispiel 10 dargelegt, wobei das Benutzergerät ferner einen oder mehrere Bewegungssensoren umfasst, die einen statischen Bewegungszustand erkennen.
- Beispiel 12. Das in Beispiel 11 dargelegte Benutzergerät, wobei die Erfassung des statischen Bewegungszustands das Benutzergerät veranlasst, eine unsynchronisierte Bewegung, durch das optische Bildstabilisierungssystem und in eine oder mehrere Komponenten des Kamerasystems, einzuführen.
- Beispiel 13: Das Benutzergerät wie in Beispiel 10 dargelegt, wobei das Benutzergerät ferner einen oder mehrere Bewegungssensoren umfasst, die einen dynamischen Bewegungszustand erkennen.
- Beispiel 14. Das in Beispiel 13 dargelegte Benutzergerät, wobei die Erfassung des dynamischen Bewegungszustands das Benutzergerät veranlasst, durch das optische Bildstabilisierungssystem und in eine oder mehrere Komponenten des Kamerasystems, eine synchronisierte Bewegung einzuführen.
- Beispiel 15: Ein System zum Bereitstellen eines Mittels zum Ausführen eines der in den Beispielen 1 bis 9 dargelegten Verfahren.
- Beispiel 16: Ein Benutzergerät, das so konfiguriert ist, dass dieses das Verfahren wie in einem der Beispiele 1 bis 9 dargelegt durchführt.
- Beispiel 17: Ein computerlesbares Speichermedium, das Anweisungen umfasst, die, wenn diese ausgeführt werden, einen Prozessor so konfigurieren, dass dieser das in den Beispielen 1 bis 9 dargelegte Verfahren ausführt.