DE102012006493A1 - Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen - Google Patents
Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen Download PDFInfo
- Publication number
- DE102012006493A1 DE102012006493A1 DE102012006493A DE102012006493A DE102012006493A1 DE 102012006493 A1 DE102012006493 A1 DE 102012006493A1 DE 102012006493 A DE102012006493 A DE 102012006493A DE 102012006493 A DE102012006493 A DE 102012006493A DE 102012006493 A1 DE102012006493 A1 DE 102012006493A1
- Authority
- DE
- Germany
- Prior art keywords
- frame
- qualifying
- frames
- image
- overlap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2624—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Abstract
Description
- QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
- Diese Anmeldung basiert auf und beansprucht die Priorität der unter 35 U.S.C. 119(e) am 6. April 2011 eingereichten eigenen vorläufigen US-Anmeldung mit der laufenden Nummer 61/472,454 mit dem Titel ”In Camera Implementation of Selecting and Stitching Frames for Panoramic Imagery”, die hiermit durch Bezugnahme aufgenommen ist. Zu eigenen Patentanmeldungen mit einem verwandten Gegenstand zählen die folgenden: US mit der laufenden Nummer 12/536,728, eingereicht am 6. August 2009, mit dem Titel ”In-Camera Panorama Image Stitching Assistance”, veröffentlicht am 11. Februar 2010 als US-Patentanmeldungsveröffentlichung 2010/0033553 A1, und die US mit der laufenden Nummer 12/549,254, eingereicht am 27. August 2009, mit dem Titel ”Robust Fast Panorama Stitching in Mobile Phones Or Cameras”, veröffentlicht am 4. März 2010 als US-Patentanmeldungsveröffentlichung 2010/0054628 A1, die jeweils ausdrücklich ebenfalls in ihrer Gänze durch Bezugnahme aufgenommen sind.
- ERFINDUNGSGEBIET
- Die vorliegende Patentanmeldung betrifft allgemein das Stitchen einer Sequenz von Bildern von einer Digitalkamera aneinander, um ein einzelnes zusammengesetztes Panoramabild herzustellen, und insbesondere das Erfassen der Bilder, um die Wahrscheinlichkeit zu vergrößern, dass ein hochwertiges Panoramabild erzielt wird.
- ALLGEMEINER STAND DER TECHNIK
- Bei der Panorama- oder Breitformatfotografie wird eine Sequenz von Bildern erfasst, die zu einem einzelnen Bild rekonstruiert werden, das die Form eines breiten Streifens mit einem länglichen Blickfeld annimmt. Ein Panoramabild zeigt in der Regel ein Blickfeld, das größer ist als das einer mit einem Weitwinkelobjektiv ausgestatteten Kamera. Eine Möglichkeit zum Erfassen eines Panoramabilds besteht darin, eine Filmkamera auf einen Stativ zu montieren und eine Reihenfolge von Bildern einer Szene aufzunehmen, während die Kamera physisch gedreht wird. Die Bilder werden danach zusammengefügt (engl. ”stitched”), indem Streifen von belichtetem Film dort physisch geschnitten und zusammengeklebt werde, wo die Grenzen zwischen den Kanten des Films sorgfältig ausgerichtet werden.
- Die Vorzüge der elektronischen Fotographie haben jüngst zur allgemeinen Akzeptanz von Digitalkameras geführt, die erfasste Bilder in einem digitalen Speicher speichern. Einige Digitalkameras stellen auch eine ”Panorama”-Funktion bereit, die es einem Benutzer der Digitalkamera gestattet, eine Sequenz benachbarter Bildern aufzunehmen, die danach zu einem einzelnen Bild mit einer breiten Feldabdeckung digital zusammengefügt (”gestitcht”) werden. Beispielsweise können einige Digitalkameras mit einer Panoramafunktion an einen PC gekoppelt werden, der Software bereitstellt, um zwei oder mehr Bilder an ihren Kantengrenzen extern miteinander zu verbinden, um ein einzelnes Bild mit einem breiten Panoramaformat herzustellen.
- Auf dem Markt findet man heutzutage zwei grundlegende Arten von Panoramabildmontagelösungen für Kameras auf dem Verbraucherniveau. Eine basiert auf einer ”Unterstützungs”-Applikation, und die andere basiert auf einer Schwenkhandbewegung. Bei der unterstützungsbasierten Lösung muss der Benutzer die Bilder manuell aufnehmen, nachdem er mit der Hilfe einer Unterstützungs-Applikation entschieden hat, dass die richtige Überlappung zwischen den Bildern erzielt worden ist. Dieser Ablauf überlässt die Entscheidung darüber, welche Bilder für die Panoramabilderzeugung zu erfassen sind, dem Benutzer. Beispielsweise erfordert die existierende Lösung zum Herstellen eines Panoramabilds, wie in der eigenen US-Patentanmeldungsveröffentlichung 2010/0033553 beschrieben, dass der Benutzer einige wenige Bilder mit richtiger Überlappung aufnimmt (der Benutzer wird von der Kamera mit einer Unterstützungsapplikation geführt, um die Bilder mit der richtigen Überlappung aufzunehmen), und dann werden diese Bilder zu einem Panoramabild zusammengefügt. Dies ist für den Benutzer ein umständlicher Prozess, und er könnte auch dazu führen, dass die Zusammenfügung der Bilder aus mehreren Gründen scheitert. Erstens könnte die Überlappung zwischen den Bildern möglicherweise nicht innerhalb der erforderlichen Spielräume liegen. Zweitens kann sich die Szene beim Aufnehmen von aufeinanderfolgenden Bildern verändern; beispielsweise können sich die Beleuchtungsbedingungen ändern oder es kann eine Objektbewegung eingeführt werden.
- Neuere Kameras auf dem Markt stellen ein Merkmal bereit, bei dem beispielsweise durch Drücken eines Knopfs und Schwenken der Kamera über die Szene Bilder mit richtiger Überlappung automatisch erfasst werden. Einige Kameras können Bilder erfassen, bis der gedrückte Knopf losgelassen wird oder bis ein Speicher voll ist oder ein Gesamtbild vorbestimmter Größe erfasst ist oder eine vorbestimmte Anzahl von Bildern erfasst ist oder die Schwenkbewegung beendet ist usw. Dann wird unter Verwendung der erfassten Bilder eine Panoramaansicht hergestellt. Wie sich jedoch durch Versuche gezeigt hat, bringt dieser Ablauf unter Umständen keine zufriedenstellenden Ergebnisse hervor, wenn in der Sequenz erfasster Bilder eine große lokale Bewegung vorliegt (z. B. vorbeifahrende Wagen, Fußgänger oder Tiere). Einige der Lösungen, die man auf dem Markt findet, setzen das Panorama zusammen, indem schmale Streifen aus einer großen Anzahl von Bildern aus der Erfassungssequenz zusammengefügt werden. Manchmal ergibt sich ein weniger wünschenswertes Panoramabild mit einem streifenartigen Aussehen.
- Die vorliegende Patentanmeldung beschreibt eine Lösung für diese Herausforderungen.
- KURZE DARSTELLUNG DER AUSFÜHRUNGSFORMEN
- Systeme, Verfahren und Computerprogrammprodukte zum Auswählen sich qualifizierender Einzelbilder aus einer Bildsequenz zur Verwendung bei dem nachfolgenden Stitching zu einem zusammengesetzten Panoramabild werden hier offenbart und beansprucht.
- Wie unten ausführlicher beschrieben, gestatten die Vorrichtungen und Prozesse der offenbarten Ausführungsformen die Herstellung von verbesserten Panoramabildern. Weitere Aspekte, Aufgaben, wünschenswerte Merkmale und Vorteile der hier offenbarten Vorrichtungen und Verfahren lassen sich von dem Fachmann angesichts der ausführlichen Beschreibung und Zeichnungen, die folgen, in denen verschiedene Ausführungsformen beispielhaft dargestellt sind, besser verstehen und ergeben sich ihm. Es sei jedoch ausdrücklich gesagt, dass die Zeichnungen nur dem Zweck der Veranschaulichung dienen und nicht als Definition der Grenzen der beanspruchten Erfindung gedacht sind.
- Beim Beschreiben der vorliegenden Erfindung als eine beispielhafte Verfahrensausführungsform werden wenigstens einige der Einzelbilder einer Bildsequenz gewählt, um verarbeitet zu werden, um bestimmte sich qualifizierende Bilder zur Verwendung bei der Herstellung eines zusammengesetzten Panoramabilds zu wählen. Einzelbildüberlappungsbeschränkungen (engl. constraints) werden ausgewertet, und jene Einzelbilder, die diese Beschränkungen erfüllen, werden ebenfalls im Hinblick auf Einzelbildbewegungsbeschränkungen ausgewertet. Sich qualifizierende Einzelbilder, die alle die Beschränkungen erfüllen, werden selektiv gespeichert und ausgegeben.
- Das Verfahren kann in Echtzeit arbeiten und kann alle Einzelbilder einer Bildsequenz der Reihenfolge nach verarbeiten. Die Einzelbilder können herunterskaliert (engl. downscale) und geschnitten werden. Die Bildsequenz kann während der Bildsequenzerfassung oder nach der Bildsequenzerfassung verarbeitet werden. Die Bildsequenz kann eine beliebige Menge von aufeinanderfolgend erfassten Einzelbildern umfassen, wie etwa eine unkomprimierte oder komprimierte Videosequenz, und kann während eines Schwenks einer Zielszene von einer Digitalkamera erfasst werden.
- Ein Zählwert von für die Herstellung eines zusammengesetzten Panoramabilds erforderlichen Einzelbildern kann festgelegt werden. Die Einzelbildüberlappungsbeschränkungen können einen festgelegten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen. Beispielsweise kann der spezifizierte Richtungsüberlappungsprozentsatz wenigstens vierzig Prozent horizontale Überlappung betragen. Die Einzelbildbewegungsbeschränkungen umfassen eine maximal zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsgebiets. Die Einzelbildbewegungsbeschränkungen können ausgewertet werden, indem zuerst eine Bewegungsabschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen Einzelbilds durchgeführt wird, dann die überlappenden Einzelbildgebiete in Blöcke unterteilt werden, die Anzahl der Pixel in jedem Block summiert wird, wobei die Differenz bei den Pixelbeleuchtungswerten für das aktuelle Einzelbild und das vorausgegangene Einzelbild einen vordefinierten Schwellwert übersteigt, und schließlich selektiv bestimmt wird, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen gemäß dem Prozentsatz an Blöcken mit einem hohen Wert für die Pixel mit hohen Beleuchtungswertdifferenzen verletzt.
- Das erste Einzelbild in der Bildsequenz kann standardmäßig als ein sich qualifizierendes Einzelbild gespeichert und ausgegeben werden. Sich qualifizierende Einzelbilder können zur weiteren Verwendung als Referenzeinzelbilder während der weiteren Verarbeitung der Bildsequenz einbehalten werden. Die Ausführungsformen können die sich qualifizierenden Einzelbilder in ein zusammengesetztes Panoramabild zur Ausgabe und Speicherung zusammenfügen.
- Benutzer können gewarnt werden, falls ein Fehlerzustand auftritt, einschließlich beispielsweise, falls Einzelbildbewegungsbeschränkungen verletzt werden, Einzelbildüberlappungsbeschränkungen verletzt werden, es zu einer übermäßigen Kameraneigung in einer beliebigen Orientierung kommt oder falls unzureichende sich qualifizierende Einzelbilder gespeichert werden. Verletzungen der Einzelbildbewegungsbeschränkung können übermäßige lokale Bewegung, übermäßige oder unzureichende Schwenkgeschwindigkeit oder übermäßiges Handbewegungsabdriften in einer senkrechten Richtung zu der Schwenkrichtung umfassen.
- Bei einer Ausführungsform werden Einzelbildüberlappungsbeschränkungen für wenigstens zwei bestimmte Einzelbilder der Bildsequenz gegenüber einem vordefinierten Überlappungsspielraum ausgewertet und die lokale Bewegung innerhalb der Einzelbilder wird für die wenigstens zwei bestimmten Einzelbilder und wenigstens ein zusätzliches Einzelbild der Bildsequenz in dem vordefinierten Überlappungsspielraum ausgewertet.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt eine grafische Darstellung von überlappenden Einzelbildern gemäß einer Ausführungsform; -
2 zeigt eine grafische Darstellung einer Systemimplementierung gemäß einer Ausführungsform; -
3 zeigt eine grafische Darstellung einer Verfahrensimplementierung gemäß einer Ausführungsform. - AUSFÜHRLICHE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
- Ausführungsformen der vorliegenden Erfindung erfordern, dass der Fotograf die Kamera über die zu fotografierende Szene schwenkt. Während dieser Zeit erfasst die Kamera im Wesentlichen eine Videosequenz, d. h. eine Menge von periodisch oder ungefähr periodisch erfassten Einzelbildern, die jeweils einen Teil der Szene abdecken. Einzelne gewählte Bilder der Sequenz (d. h. wenigstens einige Bilder werden gewählt, aber bevorzugt alle) werden dann von einem Algorithmus betrachtet, der prüft um zu bestimmen, ob sie einer Menge von Anforderungen entsprechen, um sicherzustellen, dass sich die gewählten Bilder qualifizieren, um zu einem guten endgültigen Panoramabild beizutragen. Die Anforderungen sind wie folgt: richtige Bildüberlappung und keine lokale Bewegung. Jedes sich qualifizierende Bild in der Videosequenz, das diesen Anforderungen entspricht, wird in einem Speicher gespeichert, um später in der Stitchingphase verwendet zu werden. Es wird auch ein Protokoll der Überlappung jedes sich qualifizierenden Bilds mit dem vorausgegangenen sich qualifizierenden Bild gepflegt. Diese Daten sind in der Stitchingphase nützlich, wo die sich qualifizierenden Bilder nahtlos verbunden werden, um ein Panoramabild zu erzeugen.
- Die gegenwärtig eingesetzte Stitchingphase wird in der eigenen US-Patentanmeldungsveröffentlichung 2010/0054628 beschrieben, wobei die vorliegende Erfindung nicht auf dieses bestimmte Stitchingverfahren beschränkt ist. Bei diesem Verfahren muss die Transformation zwischen jedem aufeinanderfolgenden Paar von Bildern gefunden werden. Das Protokoll der Bildüberlappung wird als ein anfänglicher Hinweis für diese Transformation verwendet.
- Die Ausführungsformen der vorliegenden Erfindung bieten einen automatischen Echtzeitentscheidungsprozess, der jedes gewählte ankommende Einzelbild prüft, um zu bestimmen, ob es sich zur Verwendung in dem endgültigen Panoramabild eignet. Dieser Prozess kann mit jeder Kamera oder jeder Bildgebungsvorrichtung benutzt werden. Ein nachfolgendes Stitchingverfahren verkettet die sich qualifizierenden Bilder (oder Abschnitte davon) miteinander, um das Panoramabild herzustellen.
- Indem signifikant weniger Bilder zum Herstellen des Panoramabilds verwendet werden als bei einigen Literaturstellen im Stand der Technik, kommt es zu einer signifikanten Reduktion bei der ”Streifigkeit” des Panoramabilds, so dass es glatter und von höherer Ausgabequalität zu sein scheint. Ferner ermöglichen die Ausführungsformen eine zuverlässigere und zugänglichere Operation der eigenen Panoramabildproduktionsverfahren.
- Die vorliegende Patentanmeldung beschreibt somit eine Methodik zum Wählen der geeignetsten Bilder aus einem sequentiell ankommenden Strom von Videoeinzelbildern zum Herstellen eines Panoramabilds. Am Ende des Prozesses werden mehrere überlappende Bilder, die keine lokale Bewegung oder nur minimale lokale Bewegung enthalten, gespeichert. Jedes gewählte erfasste Bild wird herunterskaliert und gegenüber dem zuvor gewählten Bild registriert. Es wird auch auf lokale Bewegung in dem Einzelbild hin analysiert, indem das aktuelle Bild mit dem zuvor gewählten Bild verglichen wird. Falls sich das Bild innerhalb des erforderlichen Überlappungsbereichs mit dem vorausgegangenen gewählten Bild befindet und die lokale Bewegung gering ist, wird es zur weiteren Verarbeitung gespeichert; ansonsten wird es verworfen. Lokale Bewegung ist nur in überlappenden Gebieten wichtig, weshalb bei einer alternativen Ausführungsform lokale Bewegung in einem überlappenden Gebiet zusammen mit einem richtigen Überlappungsbereich als ein Kriterium für eine Bildqualifizierung dient.
- Nunmehr unter Bezugnahme auf
1 werden zwei gewählte Einzelbilder100 und110 gezeigt. Diese Einzelbilder weisen einen Überlappungsbereich120 auf. Bei dieser beispielhaften Figur ist das Panorama in einer horizontalen Orientierung gezeigt, doch ist die Erfindung nicht auf irgendeine bestimmte Orientierung und Richtung beschränkt. - Nunmehr unter Bezugnahme auf
2 wird ein Systemdiagramm vorgelegt, das die Grundlagen der Ausführungsformen der vorliegenden Erfindung zeigt, die mit gewählten ankommenden Videoeinzelbildern arbeiten und verwandte Behalten-Verwerfen-Entscheidungen und behaltene sich qualifizierende Einzelbilder ausgeben. Ein Erfassungsengine210 empfängt bei jedem Zyklus ein Bild250 als Eingabe, in der Regel von einer Bildgebungsvorrichtung wie etwa einer Digitalkamera. Für jedes eingegebene Einzelbild skaliert der Erfassungsengine210 ein Bild herunter und speichert sowohl das Bild als auch seine herunterskalierte Version260 im Speicher240 . Das herunterskalierte Bild260 wird in einen Bewegungsschätzungsengine220 gespeist, der die Bewegungsvektoren270 des Bilds auswertet, wobei ein Referenzbild von dem Speicher240 verwendet wird. Ein Entscheidungsengine230 schätzt, ob die Einzelbildüberlappung innerhalb der erforderlichen Überlappungsspielräume liegt und ob die lokale Bewegung klein genug ist und trifft als Reaktion eine Wahl dahingehend, ob das aktuelle Bild als sich für das Panoramabild qualifizierend gespeichert werden sollte oder verworfen werden sollte. Falls es behalten wird, kann es das Referenzeinzelbild für die aufeinanderfolgenden Einzelbilder werden. Die Daten bezüglich der resultierenden Überlappung zwischen dem aktuellen Bild und dem zuvor gespeicherten Bild werden an die Stitchingphase weitergeleitet, wo diese Daten das Bestimmen der Platzierung der sich qualifizierenden Bilder in dem Panoramabild unterstützen. - Der von dem Entscheidungsengine
230 durchgeführte Entscheidungsprozess verwendet die beiden folgenden Grundregeln: (a) falls die Überlappung mit dem letzten gewählten Einzelbild zwischen den erforderlichen Spielräumen liegt, Prüfen auf lokale Bewegung (im Vergleich mit dem vorausgegangenen gewählten Einzelbild) in dem Überlappungsgebiet, und (b) falls die lokale Bewegung gering ist, Behalten (engl. keep) des Einzelbilds, da es sich für das Panorama-Stitching qualifiziert. Alternative Ausführungsformen können ebenfalls Einzelbilder, die die Einzelbildüberlappungsanforderungen erfüllen, aber nicht die Anforderungen für lokale Bewegung, als Kandidateneinzelbilder zur Verwendung beim Panorama-Stitching ”festhalten” (engl. hold), falls keine nachfolgenden, sich voll qualifizierenden Kandidateneinzelbilder erfasst werden. Die ”festgehaltenen” Einzelbilder können verworfen werden, falls ein nachfolgendes Einzelbild erfasst wird, das alle qualifizierenden Anforderungen erfüllt. - Sich qualifizierende Einzelbilder werden zur weiteren Verwendung als Referenzeinzelbilder einbehalten; ansonsten kann der Prozess das sich nicht qualifizierende aktuelle Einzelbild verwerfen und prüft das nächste zu verarbeitende gewählte Einzelbild, das bevorzugt das nächste Einzelbild in der Bildsequenz ist. Dieser automatisierte Prozess verwendet signifikante Abschnitte eines erfassten Bilds, gemäß einem kleinsten Schwellwert, und reduziert dadurch die Anzahl der zum Generieren eines ganzen Panoramabilds erforderlichen Stitches. Außerdem wird ein höherwertiges Panoramabild dadurch erreicht, dass die Notwendigkeit vermieden wird, dass der Benutzer beim Erfassen der Sequenz von Bildern leitend eingreift. Somit werden durch die Ausführungsformen der vorliegenden Erfindung mehrere Mängel des oben beschriebenen Stands der Technik überwunden, zum Beispiel wird eine Bildqualitätsreduktion aufgrund einer großen Anzahl von Stitches vermieden, die Komplexität bei der Verwendung wird stark reduziert, durch das Stitching verursachte Fehler, die durch eine unzureichende Ausrichtung verursacht werden, werden stark reduziert und die Effekte einer lokalen Bewegung innerhalb des Panoramabilds werden im Wesentlichen eliminiert.
- Es folgt eine Beschreibung der Gesamtmethodik, die bei den Ausführungsformen der vorliegenden Erfindung verwendet wird. Eine Streaming-Videoeingabe kann mit einer beliebigen Rate ankommen, allgemein höher als 10 Einzelbilder pro Sekunde, in der Regel 30 Einzelbilder pro Sekunde, und mit einer beliebigen Auflösung. Der Algorithmus kann mit den folgenden Parametern konfiguriert werden:
- 1. Der zu verwendende Teil des ankommenden Bilds – die ankommenden Bilder können als Ganzes verwendet oder auf eine kleinere Größe zugeschnitten werden.
- 2. Das Ausmaß der gewünschten Überlappung zwischen zwei Bildern in dem Panoramabild.
- 3. Die Anzahl der Bilder, die das Panoramabild umfassen werden.
- Beispielsweise kann man bei einer Ausführungsform der Erfindung entscheiden, nur den mittleren Abschnitt jedes Einzelbilds zu verwenden (das können 50% des gesamten Einzelbilds sein), mit einer Überlappung von 50% zwischen den gewählten Halbbildern. Bei diesem Beispiel beträgt die erforderliche Gesamtüberlappung eines Einzelbilds mit einem vorausgegangenen gewählten Einzelbild somit 75%. Falls bei Verwendung der oben erwähnten beispielhaften Werte ein 1280×720-Pixel-Videostrom verwendet wird, wird somit, nachdem das aktuelle Einzelbild um 1280 × 0,25 = 320 Pixel horizontal bezüglich eines vorausgegangenen gewählten Einzelbilds verschoben ist, das aktuelle Einzelbild gespeichert. Dieses gespeicherte Einzelbild kann nun das gewählte Referenzeinzelbild werden. Bei einer weiteren Ausführungsform und nicht als Beschränkung kann man eine Überlappung zwischen den Halbbildern von 25% fordern, und dann beträgt die erforderliche Überlappung zwischen gewählten Einzelbildern 37,5%. Durch die Ausführungsformen mit diesen beispielhaften Einstellungen wird das signifikante Problem der lokalen Bewegung, das man in Panoramabildlösungen nach dem Stand der Technik sieht, überwunden.
- Nunmehr unter Bezugnahme auf
3 werden die folgenden Schritte durchgeführt, bevorzugt, aber nicht notwendigerweise, für jedes ankommende Einzelbild, um das Einzelbild mit der korrekten Überlappung bezüglich des vorausgegangenen gewählten Einzelbilds zu identifizieren: - In Schritt
310 wird das Einzelbild zur Bewegungsschätzung herunterskaliert. Dies gestattet, eine große Bewegung entlang der Bewegungsachse (X im Fall einer horizontalen Bewegung und Y im Fall einer vertikalen Bewegung) bei kürzerer Rechenzeit zu finden. - In Schritt
320 wird dann die Bewegungsschätzung (ME – Motion Estimation) bezüglich des zuvor gewählten Einzelbilds durchgeführt. Um eine Akkumulation von ME-Fehlern zu vermeiden, wird die ME bezüglich des zuvor gewählten Einzelbilds (anstatt des unmittelbar vorausgegangenen Einzelbilds in dem Videostrom, notwendigerweise) mit einer Anfangsvorhersage der Bewegung durchgeführt. So finden und korrigieren die Ausführungsformen nur den Fehler in der Vorhersage. Die Vorhersage der Bewegung des aktuellen Einzelbilds wird als die Bewegung des unmittelbar vorausgegangenen Einzelbilds bezüglich des vorausgegangenen gewählten Einzelbilds berechnet, mit einer Addition einer Bewegungsvorhersage des Schritts von dem unmittelbar vorausgegangenen Einzelbild zu dem aktuellen Einzelbild. Es wird angenommen, dass die vorhergesagte Bewegung die gleiche ist wie die Bewegung zwischen den beiden vorausgegangenen Einzelbildern. - In Schritt
330 wird nach dem Berechnen des Fehlers in der Vorhersage dieser Wert zu der Vorhersage addiert, um die korrekte Bewegung des aktuellen Einzelbilds bezüglich des vorausgegangenen gewählten Einzelbilds herzustellen. - In Schritt
340 beträgt die Ausgabe der ME-Vorhersage einige hunderte von Bewegungsvektoren (MV – Motion Vectors). Die robusten MVs werden aus diesem Pool gewählt. Dann wird ein 2D-Histogramm dieser MVs angelegt. Ein einzelner MV wird für jedes Einzelbild als derjenige gewählt, der dem größten Bin in dem Histogramm entspricht. Zusätzliche Regeln werden auf diesen MV angewendet, wie etwa, falls einige wenige MVs mit ähnlichen Richtungen sehr hohe Histogrammwerte aufweisen, dann wird ein einzelner MV als eine gewichtete Summe dieser berechnet. - In Schritt
350 ist im Fall einer horizontalen Bewegung die einzige, in der Regel interessierende Komponente die X-Komponente des MV (die Y-Komponente wird als ein Indikator eines unerwünschten senkrechten Abdriftens verwendet, der verwendet wird, um den Benutzer zu warnen, die Handbewegung des Benutzers zu korrigieren). Die X-Bewegung zeigt an, wann ein Einzelbild erreicht worden ist, das die gewünschte Überlappung mit einem vorausgegangenen gewählten Einzelbild aufweist. - In Schritt
360 wird das Einzelbild auf eine lokale Bewegung hin getestet, falls die erforderlichen Überlappungsspielräume erreicht worden sind. Durch Verwenden der Differenz zwischen den berechneten MVs der aktuellen und der vorausgegangenen Einzelbilder werden ihre Überlappungsbereiche gefunden und registriert. Die Bilder werden in entsprechende Blöcke zur Analyse unterteilt, und in jedem Block werden die Beleuchtungswerte der beiden Bilder subtrahiert und die Anzahl von Pixeln in jedem Block mit einer Differenz bei dem Pixelbeleuchtungswert für die beiden Bilder, der einen vordefinierten Schwellwert übersteigt, werden summiert. Falls ein großer Prozentsatz der Blöcke einen hohen Wert für die Anzahl von Pixeln mit hohen Beleuchtungswertdifferenzen aufweist, wird angenommen, dass das Einzelbild eine große lokale Bewegung enthält. Ein derartiges Einzelbild wird dann bevorzugt verworfen, und die Verarbeitung geht mit dem nächsten Einzelbild weiter (d. h. mit Schritt310 , Verwenden des nächsten Einzelbilds). Ansonsten geht die Ausführung des Algorithmus mit dem unten beschriebenen Schritt370 weiter. Eine Ausnahme bei dieser Phase tritt auf, falls das ferne Ende der Überlappungsspielräume erreicht worden ist. In diesem Fall wird das aktuelle Einzelbild trotz der lokalen Bewegung für die weitere Verarbeitung verwendet. Danach geht die Verarbeitung mit Schritt310 weiter, unter Verwendung des nächsten Einzelbilds. - In Schritt
370 wird das Einzelbild für die weitere Verarbeitung gespeichert, falls das Einzelbild den Anforderungen entspricht. Das Referenzeinzelbild wird durch dieses Einzelbild ersetzt und die Verarbeitung geht weiter mit Schritt310 , unter Verwendung des nächsten Einzelbilds. - Die Ausführung dieses Algorithmus wird wiederholt, bis die ganze Panoramaansicht erfasst ist, wie dies von dem Benutzer der Erfassungsvorrichtung gewünscht sein mag. Der Fotograf kann gewarnt werden, falls Probleme auftreten, falls beispielsweise Einzelbildbewegungsbeschränkungen verletzt werden, Einzelbildüberlappungsbeschränkungen verletzt werden, es zu einem übermäßigen Kamerakippen in einer beliebigen Orientierung kommt und/oder falls unzureichende sich qualifizierende Einzelbilder gespeichert werden. Die Einzelbildbewegungsbeschränkungen können beispielsweise durch übermäßige lokale Bewegung, übermäßige oder unzureichende Schwenkgeschwindigkeit und/oder übermäßiges Handbewegungsabdriften in einer senkrechten Richtung zu der Schwenkrichtung verletzt werden. Als Folge solcher Probleme können entsprechende Benutzernachrichten generiert werden.
- Eine mögliche Alternative besteht darin, mit der lokalen Bewegung in den Einzelbildern in der Stitchingphase fertig zu werden (d. h. eine lokale Bewegung in dem Überlappungsgebiet zwischen Bildern wird ein visuelles Artefakt in das endgültige Ergebnis einführen). In der Stitchingphase ist es möglich zu versuchen, die beiden überlappten Bilder an Stellen zusammenzufügen, die keine signifikante lokale Bewegung enthalten. Versuche haben jedoch gezeigt, dass das resultierende Panorama in diesem Fall unter Umständen immer noch einige Stitching-Artefakte aufweist.
- Ein weiteres alternatives Verfahren besteht darin, einfach die ganze Videosequenz zu speichern, falls genügend Speicherressourcen zur Verfügung stehen, und dann später die besten Einzelbilder für das Panorama zu wählen. In diesem Fall kann man sich effektiv zeitlich vor- und zurückbewegen, und die besten Einzelbilder werden gewählt, aber nicht nur auf der Basis von vorausgegangenen Einzelbildern. Bei einer derartigen Ausführungsform ist eine Warnung an den Fotografen über Probleme möglicherweise nicht machbar im Gegensatz zu Ausführungsformen der Echtzeitbildauswertung.
- Die Ausdrücke ”ein” oder ”eine/einer” sollen, wie sie hier verwendet werden, einen oder mehr als einen bedeuten. Der Ausdruck ”mehrere” soll zwei oder mehr als zwei bedeuten. Der Ausdruck ”ein anderer” ist als ein zweiter oder weiterer definiert. Die Ausdrücke ”enthaltend” und/oder ”mit” sind offen (z. B. umfassend). In diesem Dokument bedeutet eine Bezugnahme auf ”eine Ausführungsform”, ”gewisse Ausführungsformen”, ”eine Ausführungsform” oder einen ähnlichen Ausdruck durchweg, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die in Verbindung mit der Ausführungsform beschrieben sind, in wenigstens einer Ausführungsform enthalten ist. Somit bezieht sich das Auftreten von solchen Ausdrücken an verschiedenen Stellen in der gesamten Beschreibung nicht notwendigerweise immer auf die gleiche Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristika auf beliebige geeignete Weise an einer oder mehreren Ausführungsformen ohne Beschränkung kombiniert werden. Der Ausdruck ”oder”, wie er hier verwendet wird, ist als inklusiv auszulegen oder so, dass er eine oder eine beliebige Kombination bedeutet. Deshalb bedeutet ”A, B oder C” ”ein beliebiges der folgenden: A; B; C; A und B; A und C; B und C; A, B und C”. Eine Ausnahme dieser Definition tritt nur dann auf, wenn sich eine Kombination von Elementen, Funktionen, Schritten oder Handlungen auf gewisse Weise inhärent gegenseitig ausschließt.
- Gemäß den Praktiken von Fachleuten beim Computerprogrammieren werden unten Ausführungsformen unter Bezugnahme auf Operationen beschrieben, die von einem Computersystem oder einem ähnlichen Elektroniksystem durchgeführt werden. Solche Operationen werden manchmal als von einem Computer ausgeführt bezeichnet. Es versteht sich, dass Operationen, die symbolisch dargestellt sind, die Manipulation von elektrischen Signalen, die Datenbits darstellen, durch einen Prozessor wie etwa eine zentrale Verarbeitungseinheit sowie eine anderweitige Verarbeitung von Signalen und die Pflege von Datenbits an Speicherstellen wie etwa im Systemspeicher beinhalten. Die Speicherstellen, wo Datenbits gepflegt werden, sind physische Stellen, die den Datenbits entsprechende bestimmte elektrische, magnetische, optische oder organische Eigenschaften besitzen.
- Bei Implementierungen in Software sind die Elemente der Ausführungsformen im Wesentlichen die Codesegmente zum Ausführen der erforderlichen Aufgaben. Die nicht vorübergehenden Codesegmente können in einem prozessorlesbaren Medium oder computerlesbaren Medium gespeichert sein, was ein beliebiges Medium beinhalten kann, das Informationen speichern oder transferieren kann. Zu Beispielen für solche Medien zählen eine Elektronikschaltung, ein Halbleiterspeicherbauelement, ein Festwertspeicher (ROM), ein Flash-Speicher oder ein anderer nicht flüchtiger Speicher, eine Diskette, eine CD-ROM, eine optische Platte, eine Festplatte, ein faseroptisches Medium usw. Die Benutzereingabe kann eine beliebige Kombination aus einer Tastatur, Maus, einem Touchscreen, einer Sprachbefehlseingabe usw. umfassen. Die Benutzereingabe kann analog verwendet werden, um eine Browserapplikation, die auf der Rechenvorrichtung eines Benutzers ausgeführt wird, zu einer oder mehreren Netzwerkressourcen wie etwa Webseiten zu lenken, von denen aus auf Rechenressourcen zugegriffen werden kann. Ausführungsformen können auch eine integrierte Schaltungsanordnung umfassen, die Schaltungselemente enthält, die spezifische Systemoperationen ausführen kann.
- Während die Erfindung in Verbindung mit speziellen Beispielen und verschiedenen Ausführungsformen beschrieben worden ist, versteht der Fachmann ohne Weiteres, dass viele Modifikationen und Adaptionen der hier beschriebenen Erfindung ohne Abweichung von dem Gedanken und Schutzbereich der Erfindung, wie im Folgenden beansprucht, möglich sind. Somit ist deutlich zu verstehen, dass diese Anmeldung nur als Beispiel und nicht als Beschränkung des Schutzbereichs der unten beanspruchten Erfindung angefertigt wurde. Die Beschreibung soll alle Variationen, Verwendungen oder Adaptionen der Erfindung abdecken, die allgemein den Prinzipien der Erfindung folgen, und einschließlich solcher Abweichungen von der vorliegenden Offenbarung, wie sie in die bekannte und übliche Praxis innerhalb der Technik fallen, auf die sich die Erfindung bezieht.
Claims (23)
- Verfahren, umfassend: für wenigstens einige gewählte Einzelbilder einer Bildsequenz: Auswerten von Einzelbildüberlappungsbeschränkungen; Auswerten von Einzelbildbewegungsbeschränkungen; selektives Speichern eines aktuellen Einzelbilds als ein sich qualifizierendes Einzelbild, falls die Einzelbildüberlappungsbeschränkungen und die Einzelbildbewegungsbeschränkungen erfüllt sind; und Ausgeben der sich qualifizierenden Einzelbilder.
- Verfahren nach Anspruch 1, wobei das Verfahren in Echtzeit arbeitet.
- Verfahren nach Anspruch 1 oder 2, wobei alle Einzelbilder einer Bildsequenz der Reihe nach verarbeitet werden.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildsequenz während einer Bildsequenzerfassung verarbeitet wird.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildsequenz nach der Bildsequenzerfassung verarbeitet wird.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildsequenz eine Menge von aufeinanderfolgend erfassten Einzelbildern umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildsequenz eine unkomprimierte Videosequenz oder eine komprimierte Videosequenz ist.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildsequenz während eines Schwenks einer Zielszene von einer Digitalkamera erfasst wird.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Bereitstellen eines für die Herstellung eines zusammengesetzten Panoramabilds erforderlichen Zählwerts von Einzelbildern umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Einzelbildüberlappungsbeschränkungen einen spezifizierten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Einzelbildbewegungsbeschränkungen eine größte zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsbereichs umfassen.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Einzelbildbewegungsbeschränkungen ausgewertet werden durch: Durchführen einer Bewegungsschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen gewählten Einzelbilds; Unterteilen von überlappenden Einzelbildbereichen zwischen dem aktuellen Einzelbild und dem vorausgegangenen gewählten Einzelbild in Blöcke für die nachfolgende Analyse; Summieren der Anzahl von Pixeln in jedem Block mit einer Differenz bei dem Pixelbeleuchtungswert für das aktuelle Einzelbild und dem vorausgegangenen gewählten Einzelbild, die einen vordefinierten Schwellwert übersteigt; und selektives Bestimmen, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen gemäß dem Prozentsatz von Blöcken mit Pixelsummen, die hohe Beleuchtungswertdifferenzen anzeigen, verletzt.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei ein erstes Einzelbild in der Bildsequenz standardmäßig gespeichert und als ein sich qualifizierendes Einzelbild ausgegeben wird.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Einbehalten von sich qualifizierenden Einzelbildern zur weiteren Verwendung als Referenzeinzelbilder während einer weiteren Verarbeitung der Bildsequenz umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Stitching der ausgegebenen Einzelbilder zu einem zusammengesetzten Panoramabild für die Ausgabe und/oder Speicherung umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Herunterskalieren der zu verarbeitenden Einzelbilder umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Beschneiden der zu verarbeitenden Einzelbilder umfasst.
- Verfahren nach einem der vorhergehenden Ansprüche, welches ferner ein Warnen eines Benutzers umfasst, falls ein Fehlerzustand auftritt, der wenigstens eines umfasst aus: die Einzelbildbewegungsbeschränkungen werden verletzt, die Einzelbildüberlappungsbeschränkungen werden verletzt, ein übermäßiges Kamerakippen erfolgt in einer beliebigen Orientierung und unzureichende sich qualifizierende Einzelbilder werden gespeichert.
- Verfahren nach Anspruch 18, wobei die Einzelbildbewegungsbeschränkungen durch wenigstens eines der Folgenden verletzt werden: übermäßige lokale Bewegung, übermäßige Schwenkgeschwindigkeit, unzureichende Schwenkgeschwindigkeit und übermäßiges Handbewegungsabdriften in einer senkrechten Richtung zu einer Schwenkrichtung.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei Einzelbildüberlappungsbeschränkungen für zwei bestimmte Einzelbilder der Bildsequenz gegenüber einem vordefinierten Überlappungsspielraum ausgewertet werden und Einzelbildbewegungsbeschränkungen für die beiden bestimmten Einzelbilder und wenigstens ein zusätzliches Einzelbild der Bildsequenz innerhalb des vordefinierten Überlappungsspielraums ausgewertet werden.
- Kamera, die für wenigstens einige gewählte Einzelbilder einer Bildsequenz: Einzelbildüberlappungsbeschränkungen auswertet; Einzelbildbewegungsbeschränkungen auswertet; selektiv ein aktuelles Einzelbild als ein sich qualifizierendes Einzelbild speichert, falls die Einzelbildüberlappungsbeschränkungen und die Einzelbildbewegungsbeschränkungen erfüllt sind; und die sich qualifizierenden Einzelbilder ausgibt.
- Computerprogrammprodukt, umfassend ein maschinenlesbares Medium, das nicht-vorübergehende Programmanweisungen darauf berührbar verkörpert, die bei Ausführung durch die Maschine bewirken, dass die Maschine für wenigstens einige gewählte Einzelbilder einer Bildsequenz: Einzelbildüberlappungsbeschränkungen auswertet; Einzelbildbewegungsbeschränkungen auswertet; selektiv ein aktuelles Einzelbild als ein sich qualifizierendes Einzelbild speichert, falls die Einzelbildüberlappungsbeschränkungen und die Einzelbildbewegungsbeschränkungen erfüllt sind; und die sich qualifizierenden Einzelbilder ausgibt.
- Integrierte Schaltung, umfassend: für wenigstens einige gewählte Einzelbilder einer Bildsequenz: ein erstes Schaltungselement zum Auswerten von Einzelbildüberlappungsbeschränkungen; ein zweites Schaltungselement zum Auswerten von Einzelbildbewegungsbeschränkungen; ein drittes Schaltungselement zum selektiven Speichern eines aktuellen Einzelbilds als ein sich qualifizierendes Einzelbild, falls die Einzelbildüberlappungsbeschränkungen und die Einzelbildbewegungsbeschränkungen erfüllt sind; und ein viertes Schaltungselement zum Ausgeben der sich qualifizierenden Einzelbilder.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161472454P | 2011-04-06 | 2011-04-06 | |
US61/472,454 | 2011-04-06 | ||
US13/359,303 US8947502B2 (en) | 2011-04-06 | 2012-01-26 | In camera implementation of selecting and stitching frames for panoramic imagery |
US13/359,303 | 2012-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012006493A1 true DE102012006493A1 (de) | 2012-10-11 |
DE102012006493B4 DE102012006493B4 (de) | 2022-12-08 |
Family
ID=46087221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102012006493.4A Active DE102012006493B4 (de) | 2011-04-06 | 2012-03-30 | Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen |
Country Status (3)
Country | Link |
---|---|
US (2) | US8947502B2 (de) |
DE (1) | DE102012006493B4 (de) |
GB (1) | GB2489791B (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9307165B2 (en) * | 2008-08-08 | 2016-04-05 | Qualcomm Technologies, Inc. | In-camera panorama image stitching assistance |
WO2010025309A1 (en) * | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
WO2012150378A1 (en) * | 2011-05-02 | 2012-11-08 | Nokia Corporation | Methods and apparatuses for capturing an image |
US9654761B1 (en) | 2013-03-15 | 2017-05-16 | Google Inc. | Computer vision algorithm for capturing and refocusing imagery |
WO2015028587A2 (en) | 2013-08-31 | 2015-03-05 | Dacuda Ag | User feedback for real-time checking and improving quality of scanned image |
JP6146278B2 (ja) * | 2013-11-28 | 2017-06-14 | 株式会社Jvcケンウッド | 画像接合装置、画像接合方法および画像接合プログラム |
WO2015082572A2 (en) | 2013-12-03 | 2015-06-11 | Dacuda Ag | User feedback for real-time checking and improving quality of scanned image |
EP3092790B1 (de) | 2014-01-07 | 2020-07-29 | ML Netherlands C.V. | Adaptive kamerasteuerung zur verminderung der bewegungsunschärfe während der bildaufnahme in echtzeit |
US10410321B2 (en) | 2014-01-07 | 2019-09-10 | MN Netherlands C.V. | Dynamic updating of a composite image |
JP2015186015A (ja) * | 2014-03-24 | 2015-10-22 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法、プログラム及びカメラ |
US9813620B2 (en) * | 2014-03-31 | 2017-11-07 | JVC Kenwood Corporation | Image processing apparatus, image processing method, program, and camera |
WO2015173173A1 (en) | 2014-05-12 | 2015-11-19 | Dacuda Ag | Method and apparatus for scanning and printing a 3d object |
WO2016032054A1 (en) | 2014-08-27 | 2016-03-03 | Lg Electronics Inc. | Display device and method of controlling therefor |
KR102206244B1 (ko) | 2014-08-27 | 2021-01-22 | 엘지전자 주식회사 | 디스플레이 디바이스 및 그 제어 방법 |
US9363449B1 (en) * | 2014-11-13 | 2016-06-07 | Futurewei Technologies, Inc. | Parallax tolerant video stitching with spatial-temporal localized warping and seam finding |
US9612764B2 (en) | 2015-03-04 | 2017-04-04 | International Business Machines Corporation | Frame choosing during storage constraint condition |
US10198838B2 (en) * | 2016-03-31 | 2019-02-05 | Qualcomm Incorporated | Geometric work scheduling with dynamic and probabilistic work trimming |
US10257417B2 (en) | 2016-05-24 | 2019-04-09 | Microsoft Technology Licensing, Llc | Method and apparatus for generating panoramic images |
KR102609477B1 (ko) * | 2017-02-06 | 2023-12-04 | 삼성전자주식회사 | 파노라마 이미지 또는 동영상을 생성하는 전자 장치 및 그 방법 |
EP3404913B1 (de) * | 2017-05-16 | 2019-11-06 | Axis AB | System mit einer videokamera und einer client-vorrichtung und davon ausgeführtes verfahren |
JP6545229B2 (ja) * | 2017-08-23 | 2019-07-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
JP2020188349A (ja) * | 2019-05-14 | 2020-11-19 | キヤノン株式会社 | 撮像装置、撮像方法、コンピュータプログラム及び記憶媒体 |
US11949976B2 (en) | 2019-12-09 | 2024-04-02 | Corephotonics Ltd. | Systems and methods for obtaining a smart panoramic image |
CN115314627B (zh) * | 2021-05-08 | 2024-03-01 | 杭州海康威视数字技术股份有限公司 | 一种图像处理方法、系统及摄像机 |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190A (en) * | 1858-05-11 | Dressing and sizing warps | ||
US30693A (en) * | 1860-11-20 | Brush-making machine | ||
US6002430A (en) * | 1994-01-31 | 1999-12-14 | Interactive Pictures Corporation | Method and apparatus for simultaneous capture of a spherical image |
JP3832895B2 (ja) * | 1996-05-28 | 2006-10-11 | キヤノン株式会社 | 画像合成装置及び画像合成システム |
US6331869B1 (en) * | 1998-08-07 | 2001-12-18 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
US6075905A (en) | 1996-07-17 | 2000-06-13 | Sarnoff Corporation | Method and apparatus for mosaic image construction |
US6018349A (en) * | 1997-08-01 | 2000-01-25 | Microsoft Corporation | Patch-based alignment method and apparatus for construction of image mosaics |
US6044181A (en) * | 1997-08-01 | 2000-03-28 | Microsoft Corporation | Focal length estimation method and apparatus for construction of panoramic mosaic images |
US6009190A (en) * | 1997-08-01 | 1999-12-28 | Microsoft Corporation | Texture map construction method and apparatus for displaying panoramic image mosaics |
US6486908B1 (en) | 1998-05-27 | 2002-11-26 | Industrial Technology Research Institute | Image-based method and system for building spherical panoramas |
US6023588A (en) | 1998-09-28 | 2000-02-08 | Eastman Kodak Company | Method and apparatus for capturing panoramic images with range data |
US7292261B1 (en) * | 1999-08-20 | 2007-11-06 | Patrick Teo | Virtual reality camera |
US6717608B1 (en) * | 1999-12-31 | 2004-04-06 | Stmicroelectronics, Inc. | Motion estimation for panoramic digital camera |
US6771304B1 (en) | 1999-12-31 | 2004-08-03 | Stmicroelectronics, Inc. | Perspective correction device for panoramic digital camera |
US6677981B1 (en) * | 1999-12-31 | 2004-01-13 | Stmicroelectronics, Inc. | Motion play-back of still pictures comprising a panoramic view for simulating perspective |
US6885392B1 (en) | 1999-12-31 | 2005-04-26 | Stmicroelectronics, Inc. | Perspective correction for preview area of panoramic digital camera |
US7064783B2 (en) * | 1999-12-31 | 2006-06-20 | Stmicroelectronics, Inc. | Still picture format for subsequent picture stitching for forming a panoramic image |
US6798923B1 (en) * | 2000-02-04 | 2004-09-28 | Industrial Technology Research Institute | Apparatus and method for providing panoramic images |
US7373017B2 (en) | 2005-10-04 | 2008-05-13 | Sony Corporation | System and method for capturing adjacent images by utilizing a panorama mode |
US7133068B2 (en) | 2000-03-06 | 2006-11-07 | Sony Corporation | System and method for creating still images by utilizing a video camera device |
US6978051B2 (en) | 2000-03-06 | 2005-12-20 | Sony Corporation | System and method for capturing adjacent images by utilizing a panorama mode |
US6930703B1 (en) | 2000-04-29 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatically capturing a plurality of images during a pan |
US6834128B1 (en) | 2000-06-16 | 2004-12-21 | Hewlett-Packard Development Company, L.P. | Image mosaicing system and method adapted to mass-market hand-held digital cameras |
US6731305B1 (en) | 2000-07-17 | 2004-05-04 | Imove, Inc. | Camera system which records camera identification in image file |
US6785427B1 (en) | 2000-09-20 | 2004-08-31 | Arcsoft, Inc. | Image matching using resolution pyramids with geometric constraints |
JP3650578B2 (ja) * | 2000-09-28 | 2005-05-18 | 株式会社立山アールアンドディ | 画像の歪みを補正するためのニューラル・ネットワークを用いたパノラマ画像ナビゲーションシステム |
JP2002208005A (ja) | 2001-01-12 | 2002-07-26 | Minolta Co Ltd | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7583293B2 (en) | 2001-12-06 | 2009-09-01 | Aptina Imaging Corporation | Apparatus and method for generating multi-image scenes with a camera |
US7224382B2 (en) * | 2002-04-12 | 2007-05-29 | Image Masters, Inc. | Immersive imaging system |
US20040189849A1 (en) | 2003-03-31 | 2004-09-30 | Hofer Gregory V. | Panoramic sequence guide |
US7480001B2 (en) * | 2003-07-02 | 2009-01-20 | Sony Corporation | Digital camera with a spherical display |
US7409105B2 (en) | 2003-10-22 | 2008-08-05 | Arcsoft, Inc. | Panoramic maker engine for a low profile system |
JP4425278B2 (ja) | 2003-10-28 | 2010-03-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | パノラマ又はモザイク機能を有するデジタルカメラ |
US7746404B2 (en) | 2003-11-10 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | Digital camera with panoramic image capture |
US7289147B2 (en) | 2004-02-03 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Method for providing image alignment feedback for panorama (composite) images in digital cameras using edge detection |
US7656429B2 (en) * | 2004-02-04 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Digital camera and method for in creating still panoramas and composite photographs |
US7375745B2 (en) | 2004-09-03 | 2008-05-20 | Seiko Epson Corporation | Method for digital image stitching and apparatus for performing the same |
US20060182437A1 (en) | 2005-02-11 | 2006-08-17 | Williams Karen E | Method and apparatus for previewing a panoramic image on a digital camera |
TWI299463B (en) | 2005-04-13 | 2008-08-01 | Via Tech Inc | Method and device for dynamically displaying image by virtual plane coordinate conversion |
US7424218B2 (en) | 2005-07-28 | 2008-09-09 | Microsoft Corporation | Real-time preview for panoramic images |
US7460730B2 (en) * | 2005-08-04 | 2008-12-02 | Microsoft Corporation | Video registration and image sequence stitching |
US20070081081A1 (en) | 2005-10-07 | 2007-04-12 | Cheng Brett A | Automated multi-frame image capture for panorama stitching using motion sensor |
US7639897B2 (en) | 2006-01-24 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | Method and apparatus for composing a panoramic photograph |
US7860343B2 (en) | 2006-04-10 | 2010-12-28 | Nokia Corporation | Constructing image panorama using frame selection |
KR100827089B1 (ko) | 2006-04-25 | 2008-05-02 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
US20090257680A1 (en) | 2006-06-30 | 2009-10-15 | Nxp B.V. | Method and Device for Video Stitching |
KR101264804B1 (ko) | 2006-08-16 | 2013-05-15 | 삼성전자주식회사 | 최적의 촬영위치를 알릴 수 있는 파노라마 촬영 방법 및장치 |
KR100796849B1 (ko) | 2006-09-04 | 2008-01-22 | 삼성전자주식회사 | 휴대 단말기용 파노라마 모자이크 사진 촬영 방법 |
KR100800660B1 (ko) | 2006-09-21 | 2008-02-01 | 삼성전자주식회사 | 파노라마 영상 촬영 장치 및 방법 |
KR100790890B1 (ko) | 2006-09-27 | 2008-01-02 | 삼성전자주식회사 | 파노라마 영상 생성장치 및 방법 |
KR100800804B1 (ko) | 2006-12-27 | 2008-02-04 | 삼성전자주식회사 | 파노라마 영상 촬영 방법 |
US7783133B2 (en) | 2006-12-28 | 2010-08-24 | Microvision, Inc. | Rotation compensation and image stabilization system |
US8331725B2 (en) | 2007-01-12 | 2012-12-11 | Qualcomm Incorporated | Panoramic imaging techniques |
ES2633742T3 (es) * | 2007-03-16 | 2017-09-25 | L-3 Communications Corporation | Sistema para procesamiento de imagen panorámica |
US7995097B2 (en) | 2007-05-25 | 2011-08-09 | Zoran Corporation | Techniques of motion estimation when acquiring an image of a scene that may be illuminated with a time varying luminance |
JP4377932B2 (ja) | 2007-07-26 | 2009-12-02 | 株式会社モルフォ | パノラマ画像生成装置およびプログラム |
KR101354899B1 (ko) * | 2007-08-29 | 2014-01-27 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
KR101409653B1 (ko) | 2007-12-18 | 2014-06-19 | 삼성전자주식회사 | 파노라마 사진 자동 촬영 방법 |
US8103134B2 (en) | 2008-02-20 | 2012-01-24 | Samsung Electronics Co., Ltd. | Method and a handheld device for capturing motion |
US8339456B2 (en) * | 2008-05-15 | 2012-12-25 | Sri International | Apparatus for intelligent and autonomous video content generation and streaming |
US8350892B2 (en) | 2008-05-20 | 2013-01-08 | Sony Corporation | Image pickup apparatus, image pickup method, playback control apparatus, playback control method, and program |
JP5338174B2 (ja) | 2008-07-28 | 2013-11-13 | 富士通株式会社 | パノラマ撮影装置及び方法、パノラマ撮影装置を搭載したカメラユニット |
US9307165B2 (en) | 2008-08-08 | 2016-04-05 | Qualcomm Technologies, Inc. | In-camera panorama image stitching assistance |
US8811771B2 (en) * | 2008-08-22 | 2014-08-19 | Adobe Systems Incorporated | Content aware slideshows |
WO2010025309A1 (en) | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
US20100265313A1 (en) | 2009-04-17 | 2010-10-21 | Sony Corporation | In-camera generation of high quality composite panoramic images |
US8294748B2 (en) * | 2009-12-11 | 2012-10-23 | DigitalOptics Corporation Europe Limited | Panorama imaging using a blending map |
JP2011130327A (ja) * | 2009-12-21 | 2011-06-30 | Sony Corp | 画像処理装置および方法、並びにプログラム |
TWI506595B (zh) | 2011-01-11 | 2015-11-01 | Altek Corp | 全景影像產生方法及裝置 |
-
2012
- 2012-01-26 US US13/359,303 patent/US8947502B2/en active Active
- 2012-03-27 GB GB1205402.9A patent/GB2489791B/en active Active
- 2012-03-30 DE DE102012006493.4A patent/DE102012006493B4/de active Active
-
2014
- 2014-12-17 US US14/574,150 patent/US20150181115A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
GB2489791B (en) | 2017-04-26 |
US20130038680A1 (en) | 2013-02-14 |
GB2489791A (en) | 2012-10-10 |
GB201205402D0 (en) | 2012-05-09 |
US8947502B2 (en) | 2015-02-03 |
US20150181115A1 (en) | 2015-06-25 |
DE102012006493B4 (de) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012006493B4 (de) | Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen | |
US10467729B1 (en) | Neural network-based image processing | |
DE112006000358B4 (de) | Verfahren und Vorrichtung zur Erstellung eines Panoramabildes | |
DE102016105879B4 (de) | Anzeigesteuerungsvorrichtung und Steuerungsverfahren für diese | |
DE102011078662B4 (de) | Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich | |
DE102013017122B4 (de) | Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung | |
DE602006000400T2 (de) | Bildsegmentierungsverfahren und -system | |
DE102013226164B4 (de) | Bildverarbeitungsvorrichtung, Bildaufnahmevorrichtung, Bildverarbeitungsverfahren, Programm und Speichermedium | |
DE602004009702T2 (de) | Verfahren und System zur automatischen Reduzierung von Aliasing-Artefakten | |
DE102015121084A1 (de) | Zoomsteuerverfahren für Kamera und elektronische Vorrichtung mit Kamera | |
DE202014010969U1 (de) | Kamerafähiges Mobilgerät | |
DE102017126269B4 (de) | Vorrichtung und Verfahren zur hinterleuchteten Gesichtserkennung | |
DE102004015806A1 (de) | Verfahren und Anordnung zur Aufnahme interessierender Bereiche von beweglichen Objekten | |
DE102015110326A1 (de) | Bildverarbeitungsvorrichtung, Verfahren zum Steuern derselben und Speichermedium | |
DE112017004624B4 (de) | Bildaufnahmevorrichtung und Bildaufnahmesteuerverfahren | |
DE102008001076A1 (de) | Verfahren, Vorrichtung sowie Computerprogramm zur Auflösungsreduktion eines Eingangsbilds | |
EP2030433A1 (de) | Verfahren und anordnung zur behandlung von datensätzen bildgebender sensoren sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium | |
DE102013017099A1 (de) | Auf interpolation inverser brennpunktstatistiken basierende tiefenschätzung | |
DE102018101035A1 (de) | Bildstabilisierungsvorrichtung und steuerverfahren dafür, bildaufnahmevorrichtung und speichermedium | |
DE102018107950A1 (de) | Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und bildaufnahmevorrichtung | |
DE102013201980B4 (de) | Verfahren zur Fokuseinstellung und entsprechendes Bilderfassungsgerät | |
DE10240874B4 (de) | Digitalphotographie mit erweitertem Bild | |
DE102015119593A1 (de) | Techniken zur Bildvorschau und Aufnahme von Selbstportraitbildern | |
DE102021119882A1 (de) | Videohintergrundschätzung unter verwendung von räumlich-zeitlichen modellen | |
DE102018123402A1 (de) | Bildunschärfekorrekturvorrichtung und steuerverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |
Effective date: 20120814 |
|
R082 | Change of representative |
Representative=s name: OLSWANG GERMANY LLP, DE |
|
R081 | Change of applicant/patentee |
Owner name: QUALCOMM INC. (N.D.GES.D. STAATES DELAWARE), S, US Free format text: FORMER OWNER: CSR TECHNOLOGY INC., SUNNYVALE, CALIF., US Effective date: 20141112 Owner name: QUALCOMM TECHNOLOGIES, INC. (N.D.GES.D. STAATE, US Free format text: FORMER OWNER: CSR TECHNOLOGY INC., SUNNYVALE, CALIF., US Effective date: 20141112 |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Effective date: 20141112 Representative=s name: OLSWANG GERMANY LLP, DE Effective date: 20141112 Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE Effective date: 20141112 |
|
R081 | Change of applicant/patentee |
Owner name: QUALCOMM INC. (N.D.GES.D. STAATES DELAWARE), S, US Free format text: FORMER OWNER: QUALCOMM TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SAN DIEGO, CALIF., US |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |