DE102012006493B4 - 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
- DE102012006493B4 DE102012006493B4 DE102012006493.4A DE102012006493A DE102012006493B4 DE 102012006493 B4 DE102012006493 B4 DE 102012006493B4 DE 102012006493 A DE102012006493 A DE 102012006493A DE 102012006493 B4 DE102012006493 B4 DE 102012006493B4
- Authority
- DE
- Germany
- Prior art keywords
- frame
- constraints
- motion
- overlap
- frames
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000005286 illumination Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 238000003384 imaging method Methods 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Studio Devices (AREA)
- Stereoscopic And Panoramic Photography (AREA)
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 12/536,728 2010/0033553A1 12/549,254 2010/0054628A1 - 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 werden, 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 - 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.
- Figurenliste
-
-
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 - 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 Einzelbilder 100 und 110 gezeigt. Diese Einzelbilder weisen einen Überlappungsbereich 120 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 Erfassungsengine 210 empfängt bei jedem Zyklus ein Bild 250 als Eingabe, in der Regel von einer Bildgebungsvorrichtung wie etwa einer Digitalkamera. Für jedes eingegebene Einzelbild skaliert der Erfassungsengine 210 ein Bild herunter und speichert sowohl das Bild als auch seine herunterskalierte Version 260 im Speicher 240. Das herunterskalierte Bild 260 wird in einen Bewegungsschätzungsengine 220 gespeist, der die Bewegungsvektoren 270 des Bilds auswertet, wobei ein Referenzbild von dem Speicher 240 verwendet wird. Ein Entscheidungsengine 230 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 × 120 - 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 Schritt 310, Verwenden des nächsten Einzelbilds). Ansonsten geht die Ausführung des Algorithmus mit dem unten beschriebenen Schritt 370 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 Schritt 310 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 Schritt 310, 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 „eineleiner“ 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 (20)
- Verfahren zum Auswählen von Einzelbildern aus einer Bildsequenz zum Zusammenfügen eines Panoramabildes, umfassend: für wenigstens einige gewählte Einzelbilder der Bildsequenz: Auswerten von Einzelbildüberlappungsbeschränkungen, wobei die Einzelbildüberlappungsbeschränkungen einen spezifizierten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen; Auswerten von Einzelbildbewegungsbeschränkungen, wobei die Einzelbildbewegungsbeschränkungen eine größte zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsbereichs umfassen, wobei das Auswerten von Einzelbildbewegungsbeschränkungen umfasst: Durchführen einer Bewegungsschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen gewählten Einzelbilds zur Ermittlung von überlappenden Einzelbildbereichen; Unterteilen der überlappenden Einzelbildbereichen zwischen dem aktuellen Einzelbild und dem vorausgegangenen gewählten Einzelbild in Blöcke; Subtrahieren der Beleuchtungswerte des aktuellen Einzelbilds und des vorausgegangenen gewählten Einzelbilds in jedem Block; Summieren der Anzahl von Pixeln in jedem Block, deren Differenz der Beleuchtungswerte einen vordefinierten Schwellwert übersteigt; und selektives Bestimmen, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen verletzt, gemäß dem Prozentsatz von Blöcken mit hohen Pixelsummen, die hohe Beleuchtungswertdifferenzen anzeigen; selektives Speichern des 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 oder2 , 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 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 Kamera kippen erfolgt in einer beliebigen Orientierung und unzureichende sich qualifizierende Einzelbilder werden gespeichert.
- Verfahren nach
Anspruch 15 , 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, wobei die Einzelbildüberlappungsbeschränkungen einen spezifizierten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen; Einzelbildbewegungsbeschränkungen auswertet, wobei die Einzelbildbewegungsbeschränkungen eine größte zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsbereichs umfassen, wobei das Auswerten der Einzelbildbewegungsbeschränkungen umfasst: Durchführen einer Bewegungsschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen gewählten Einzelbilds zur Ermittlung von überlappenden Einzelbildbereichen; Unterteilen der überlappenden Einzelbildbereichen zwischen dem aktuellen Einzelbild und dem vorausgegangenen gewählten Einzelbild in Blöcke; Subtrahieren der Beleuchtungswerte des aktuellen Einzelbilds und des vorausgegangenen gewählten Einzelbilds in jedem Block; Summieren der Anzahl von Pixeln in jedem Block, deren Differenz der Beleuchtungswerte einen vordefinierten Schwellwert übersteigt; und selektives Bestimmen, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen verletzt, gemäß dem Prozentsatz von Blöcken mit hohen Pixelsummen, die hohe Beleuchtungswertdifferenzen anzeigen; 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 nichtvorü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, wobei die Einzelbildüberlappungsbeschränkungen einen spezifizierten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen; Einzelbildbewegungsbeschränkungen auswertet, wobei die Einzelbildbewegungsbeschränkungen eine größte zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsbereichs umfassen, wobei das Auswerten der Einzelbildbewegungsbeschränkungen umfasst: Durchführen einer Bewegungsschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen gewählten Einzelbilds zur Ermittlung von überlappenden Einzelbildbereichen; Unterteilen der überlappenden Einzelbildbereichen zwischen dem aktuellen Einzelbild und dem vorausgegangenen gewählten Einzelbild in Blöcke; Subtrahieren der Beleuchtungswerte des aktuellen Einzelbilds und des vorausgegangenen gewählten Einzelbilds in jedem Block; Summieren der Anzahl von Pixeln in jedem Block, deren Differenz der Beleuchtungswerte einen vordefinierten Schwellwert übersteigt; und selektives Bestimmen, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen verletzt, gemäß dem Prozentsatz von Blöcken mit hohen Pixelsummen, die hohe Beleuchtungswertdifferenzen anzeigen; 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, wobei die Einzelbildüberlappungsbeschränkungen einen spezifizierten Richtungsüberlappungsprozentsatz bezüglich eines vorausgegangenen sich qualifizierenden Einzelbilds umfassen; ein zweites Schaltungselement zum Auswerten von Einzelbildbewegungsbeschränkungen, wobei die Einzelbildbewegungsbeschränkungen eine größte zulässige lokale Bewegung innerhalb eines Einzelbildüberlappungsbereichs umfassen, wobei das Auswerten der Einzelbildbewegungsbeschränkungen umfasst: Durchführen einer Bewegungsschätzung eines aktuellen Einzelbilds bezüglich eines vorausgegangenen gewählten Einzelbilds zur Ermittlung von überlappenden Einzelbildbereichen; Unterteilen der überlappenden Einzelbildbereichen zwischen dem aktuellen Einzelbild und dem vorausgegangenen gewählten Einzelbild in Blöcke; Subtrahieren der Beleuchtungswerte des aktuellen Einzelbilds und des vorausgegangenen gewählten Einzelbilds in jedem Block; Summieren der Anzahl von Pixeln in jedem Block, deren Differenz der Beleuchtungswerte einen vordefinierten Schwellwert übersteigt; und selektives Bestimmen, dass eine große lokale Bewegung die Einzelbildbewegungsbeschränkungen verletzt, gemäß dem Prozentsatz von Blöcken mit hohen Pixelsummen, die hohe Beleuchtungswertdifferenzen anzeigen; 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 | 2012-01-26 | ||
US13/359,303 US8947502B2 (en) | 2011-04-06 | 2012-01-26 | In camera implementation of selecting and stitching frames for panoramic imagery |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012006493A1 DE102012006493A1 (de) | 2012-10-11 |
DE102012006493B4 true 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 (27)
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 |
EP3028443A2 (de) | 2013-08-01 | 2016-06-08 | Corephotonics Ltd. | Dünnes bildgebungssystem mit mehreren öffnungen und autofokus sowie verfahren zur verwendung davon |
EP3703001A1 (de) | 2013-08-31 | 2020-09-02 | ML Netherlands C.V. | Benutzerfeedback zur echtzeitüberwachung und verbesserung der qualität eines abgetasteten bildes |
JP6146278B2 (ja) * | 2013-11-28 | 2017-06-14 | 株式会社Jvcケンウッド | 画像接合装置、画像接合方法および画像接合プログラム |
EP3540683A1 (de) * | 2013-12-03 | 2019-09-18 | ML Netherlands C.V. | Benutzerfeedback zur echtzeitüberwachung und verbesserung der qualität eines abgetasteten bildes |
WO2015104236A1 (en) | 2014-01-07 | 2015-07-16 | Dacuda Ag | Adaptive camera control for reducing motion blur during real-time image capture |
EP4113457A1 (de) | 2014-01-07 | 2023-01-04 | ML Netherlands C.V. | Dynamische aktualisierung von zusammengestzten bildern |
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 |
EP3143596B1 (de) | 2014-05-12 | 2020-04-08 | ML Netherlands C.V. | Verfahren und vorrichtung zum abtasten und drucken eines 3d-objekts |
KR102206244B1 (ko) | 2014-08-27 | 2021-01-22 | 엘지전자 주식회사 | 디스플레이 디바이스 및 그 제어 방법 |
WO2016032054A1 (en) | 2014-08-27 | 2016-03-03 | Lg Electronics Inc. | Display device and method of controlling therefor |
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 |
US10325390B2 (en) | 2016-03-31 | 2019-06-18 | 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 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
CN114153107B (zh) | 2018-04-23 | 2024-07-02 | 核心光电有限公司 | 相机及致动器 |
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 | 杭州海康威视数字技术股份有限公司 | 一种图像处理方法、***及摄像机 |
CN114040096A (zh) * | 2021-10-27 | 2022-02-11 | 上海小零网络科技有限公司 | 针对货架图像的辅助拍摄方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100033553A1 (en) | 2008-08-08 | 2010-02-11 | Zoran Corporation | In-camera panorama image stitching assistance |
US20100054628A1 (en) | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US30693A (en) * | 1860-11-20 | Brush-making machine | ||
US20190A (en) * | 1858-05-11 | Dressing and sizing warps | ||
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 |
US6677981B1 (en) * | 1999-12-31 | 2004-01-13 | Stmicroelectronics, Inc. | Motion play-back of still pictures comprising a panoramic view for simulating perspective |
US6771304B1 (en) | 1999-12-31 | 2004-08-03 | Stmicroelectronics, Inc. | Perspective correction device for panoramic digital camera |
US6885392B1 (en) | 1999-12-31 | 2005-04-26 | Stmicroelectronics, Inc. | Perspective correction for preview area of panoramic digital camera |
US6717608B1 (en) * | 1999-12-31 | 2004-04-06 | Stmicroelectronics, Inc. | Motion estimation for 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 |
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 |
US7373017B2 (en) | 2005-10-04 | 2008-05-13 | 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 |
EP1683346A1 (de) | 2003-10-28 | 2006-07-26 | Koninklijke Philips Electronics N.V. | Digitalkamera mit panoorama oder mosaik-funktionalität |
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 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
CN101479767A (zh) | 2006-06-30 | 2009-07-08 | Nxp股份有限公司 | 视频缝合的方法和设备 |
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 |
US8106936B2 (en) * | 2007-03-16 | 2012-01-31 | Kollmorgen Corporation | Panoramic video imaging and display system |
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 | 富士通株式会社 | パノラマ撮影装置及び方法、パノラマ撮影装置を搭載したカメラユニット |
US8811771B2 (en) * | 2008-08-22 | 2014-08-19 | Adobe Systems Incorporated | Content aware slideshows |
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100033553A1 (en) | 2008-08-08 | 2010-02-11 | Zoran Corporation | In-camera panorama image stitching assistance |
US20100054628A1 (en) | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
Also Published As
Publication number | Publication date |
---|---|
DE102012006493A1 (de) | 2012-10-11 |
US8947502B2 (en) | 2015-02-03 |
GB2489791A (en) | 2012-10-10 |
GB201205402D0 (en) | 2012-05-09 |
US20130038680A1 (en) | 2013-02-14 |
US20150181115A1 (en) | 2015-06-25 |
GB2489791B (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012006493B4 (de) | Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen | |
DE112006000358B4 (de) | Verfahren und Vorrichtung zur Erstellung eines Panoramabildes | |
US10467729B1 (en) | Neural network-based image processing | |
DE102011078662B4 (de) | Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich | |
DE102013017122B4 (de) | Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung | |
DE602004005358T2 (de) | Objektdetektion in bildern | |
DE602006000400T2 (de) | Bildsegmentierungsverfahren und -system | |
DE69735488T2 (de) | Verfahren und vorrichtung zum ausrichten von bildern | |
DE102013226164B4 (de) | Bildverarbeitungsvorrichtung, Bildaufnahmevorrichtung, Bildverarbeitungsverfahren, Programm und Speichermedium | |
DE69930986T2 (de) | Hochauflösende Kamera | |
DE602004009702T2 (de) | Verfahren und System zur automatischen Reduzierung von Aliasing-Artefakten | |
DE102017126269B4 (de) | Vorrichtung und Verfahren zur hinterleuchteten Gesichtserkennung | |
DE102004007649A1 (de) | System und Verfahren zum Analysieren eines digitalen Bildes | |
DE10164540A1 (de) | System und Verfahren zum automatischen Beschneiden von graphischen Bildern | |
DE102004015806A1 (de) | Verfahren und Anordnung zur Aufnahme interessierender Bereiche von beweglichen Objekten | |
DE112010005189T5 (de) | Tiefe-Aus-Defokussierung-Kalibration | |
DE102015110326A1 (de) | Bildverarbeitungsvorrichtung, Verfahren zum Steuern derselben und Speichermedium | |
DE102013201980B4 (de) | Verfahren zur Fokuseinstellung und entsprechendes Bilderfassungsgerät | |
DE10240874B4 (de) | Digitalphotographie mit erweitertem Bild | |
DE102016121755A1 (de) | Verfahren zum Bestimmen eines zusammengesetzten Bilds eines Umgebungsbereichs eines Kraftfahrzeugs mit Anpassung von Helligkeit und/oder Farbe, Kamerasystem sowie Krafzfahrzeug | |
DE69809191T2 (de) | Vorrichtung und verfahren zur szenenbewegungsbasierten dynamischen anpassung der verschlussgeschwindigkeit einer videocamera | |
DE112017006779T5 (de) | Kamerasystem einschliesslich objektiv mit vergrösserungsgradient | |
DE202013012450U1 (de) | System für die Identifizierung von Tiefendaten, die mit einem Objekt verbunden sind | |
CN113837184B (zh) | 一种蚊虫检测方法、设备及存储介质 | |
DE102015003537B4 (de) | Blockierungsdetektionsverfahren für eine kamera und eine elektronische vorrichtung mit kameras |
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 |