DE112021000208T5 - Multi-Kamera Videostabilisierung - Google Patents

Multi-Kamera Videostabilisierung Download PDF

Info

Publication number
DE112021000208T5
DE112021000208T5 DE112021000208.2T DE112021000208T DE112021000208T5 DE 112021000208 T5 DE112021000208 T5 DE 112021000208T5 DE 112021000208 T DE112021000208 T DE 112021000208T DE 112021000208 T5 DE112021000208 T5 DE 112021000208T5
Authority
DE
Germany
Prior art keywords
camera
video
image
zoom level
view
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.)
Pending
Application number
DE112021000208.2T
Other languages
English (en)
Inventor
Youyou Wang
Fuhao Shi
Chia-Kai Liang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112021000208T5 publication Critical patent/DE112021000208T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Cameras In General (AREA)

Abstract

Verfahren, Systeme und Vorrichtung, umfassend Computerprogramme, die auf Computerspeichermedien codiert sind, zur Multikamera-Videostabilisierung. In einigen Implementierungen weist ein Videoerfassungsgerät eine erste und eine zweite Kamera auf. Das Videoerfassungsgerät stellt eine digitale Zoom-Fähigkeit bereit, die benutzerspezifische Vergrößerungsänderungen innerhalb eines digitalen Zoombereichs während der Videoaufzeichnung ermöglicht. Das Videoerfassungsgerät ist so konfiguriert, dass es Videodaten von verschiedenen Kameras über verschiedene Abschnitte des digitalen Zoombereichs verwendet. Das Videoerfassungsgerät kann Bilddaten verarbeiten, die unter Nutzung der zweiten Kamera erfasst wurden, durch Anwenden eines Satzes von Transformationen, einschließlich (i) einer ersten Transformation in einen kanonischen Bezugsraum für die zweite Kamera, (ii) einer zweiten Transformation in einen kanonischen Bezugsraum für die erste Kamera und (iii) einer dritten Transformation, um eine elektronische Bildstabilisierung auf Bilddaten in dem kanonischen Bezugsraum für die erste Kamera anzuwenden.

Description

  • HINTERGRUND
  • Einige Geräte, beispielsweise Smartphones, umfassen mehrere Kameramodule. Diese Kameras können zur Aufzeichnung von Bildern oder Videos verwendet werden. In vielen Situationen können Handbewegungen und andere Bewegungen des Geräts die Qualität der aufgenommenen Bilder und Videos verringern. Daher umfassen einige Geräte Bildstabilisierungsfunktionen, um die Qualität der aufgenommenen Bilddaten zu verbessern.
  • KURZDARSTELLUNG
  • In einigen Implementierungen umfasset ein Gerät ein Multiview-Kamerasystem, z. B. ein Gerät mit mehreren Kameramodulen, die unterschiedliche Sichtfelder aufweisen. Das Gerät stellt eine Videostabilisierung für Videos bereit, die mit einem oder mehreren der Kameramodule des Geräts aufgenommen wurden. Dies kann das Bereitstellen verschiedener Pegel der Bildstabilisierung bei verschiedenen Zoom-Stufen (z. B. Vergrößerung oder Verkleinerung) und das Verwalten des Bildstabilisierungsverhaltens umfassen, um für verschiedene Zoom-Stufen und für die verschiedenen Kameramodule konsistent zu sein. Selbst wenn die Kameramodule feste Sichtfelder aufweisen, kann das Gerät eine Zoomfunktion bereitstellen, z. B. durch Implementieren oder Annähern eines kontinuierlichen oder sanften Zooms über einen Bereich von Sichtfeldern unter Nutzung digitaler Zoomtechniken. Das Gerät kann Funktionen bereitstellen, um konsistent stabilisierte Videos über einen Bereich von Zoom-Einstellungen zu erfassen, auch wenn während der Videoaufzeichnung zwischen Videoaufnahmen verschiedener Kameramodule gewechselt wird. In einigen Implementierungen erkennt das Gerät während der Videoaufzeichnung, wenn zwischen Kameras für die Bilderfassung gewechselt werden soll. Das Gerät führt den Übergang durch und verarbeitet die erfassten Daten, um eine Ausgabe zu erzeugen, die während des Übergangszeitraums nahtlos ist, wie z. B. ein Ausgabevideo, das Parameter wie Sichtfeld, Bildstabilisierung, Belichtung, Schärfe, Rauschen und so weiter beibehält oder gleichmäßig anpasst. Damit kann das System ein Video erzeugen, das Videos von verschiedenen Kameras in unterschiedlichen Abschnitten verwendet, mit Übergängen zwischen den Kameras, die für den Betrachter nicht störend sind, z. B. ohne monokulare Unterschiede, sichtbares Stottern, Pause im ersichtlichen Zoom oder andere Störungen.
  • Ein primäres Ziel des Systems ist es, die den Benutzern dargestellte Videoszene glatter zu gestalten. Mit anderen Worten versucht das System, sowohl eine zeitliche Kontinuität der Szene (z. B. die Reduzierung unerwünschter Kameraverwacklungen im Verlauf der Zeit) als auch eine räumliche Kontinuität der Szene (z. B. die Reduzierung der Unterschiede zwischen den von verschiedenen Kameras aufgenommenen Videos) zu erreichen. Dies schließt zwei wichtige Technologien ein: (1) die elektronische Bildstabilisierung (EIS), die eine Kontinuität der Szene auf einer einzigen Kamera im Verlauf der Zeit bereitstellt und somit eine zeitliche Glättung für eine in einem Video-Feed dargestellte Szene ermöglicht, und (2) einen verbesserten digitalen Multikamera-Zoom (z. B. einen stufenweisen, inkrementellen oder im Wesentlichen kontinuierlichen Zoom unter Nutzung der Ausgabe mehrerer Kameras), der eine Kontinuität der Szene zwischen verschiedenen Kameras bereitstellt und somit ein Verfahren zur räumlichen Glättung bereitstellt, um Störungen oder Unterbrechungen bei Übergängen zwischen Kameras zu vermeiden.
  • Die EIS und der Multikamera-Digitalzoom können wirksam kombiniert werden, indem verschiedene Techniken und Transformationen verwendet werden, die weiter unten erläutert werden, einschließlich der Verwendung eines „kanonischen“ Kameraraums zur Darstellung von Bilddaten. Der kanonische Raum kann die Sicht auf eine konzeptionelle Kamera darstellen, die feste Charakteristika aufweist, die sich im Verlauf der Zeit nicht ändern. Der kanonische Raum kann beispielsweise ein Raum sein, der nicht von Faktoren wie z. B. der optischen Bildstabilisierung (OIS) oder der Position des Voice Coil Motors (VCM) und Rolling-Shutter-Effekten beeinflusst wird.
  • Als Beispiel kann ein Gerät eine erste und eine zweite Kamera umfassen, die unterschiedliche Sichtfelder auf eine Szene bereitstellen. Das Gerät kann eine Zoomfunktion aktivieren, die es dem Benutzer ermöglicht, den durch das ausgegebene Video dargestellten Zoom oder die Vergrößerung stufenlos zu ändern, auch wenn ein oder mehrere Kameramodule ein festes Sichtfeld aufweisen. In einigen Implementierungen können zwei oder mehr Kameramodule mit Objektiven fester Brennweite verwendet werden, um einen kontinuierlichen Zoom über einen Bereich zu simulieren, indem (1) der Digitalzoom (z. B. Beschneidung und/oder Vergrößerung) basierend auf Bildern der ersten Kamera für einen ersten Abschnitt des Zoombereichs und (2) der Digitalzoom basierend auf Bildern der zweiten Kamera für einen zweiten Abschnitt des Zoombereichs verwendet wird. Um die Gesamtqualität des Videos zu verbessern, kann die Verarbeitung der Bildstabilisierung dynamisch an die aktuell angewandte Stufe des digitalen Zooms angepasst werden. So kann beispielsweise jede Änderung des Zooms entlang des simulierten kontinuierlichen Zoombereichs eine entsprechende Änderung der Bildstabilisierungsparameter aufweisen.
  • Die Bildverarbeitung durch das Gerät kann die Übergänge zwischen den Bilderfassungen der verschiedenen Kameras verwalten, um einen im Wesentlichen nahtlosen Übergang zu ermöglichen, wobei die Konsistenz der EIS-Anwendung und anderer Bilderfassungsaspekte, beispielsweise Fokusabstand, Belichtung und so weiter, beibehalten wird. Die Zoomfunktion kann einen digitalen Zoom umfassen, der die Ausgabe der ersten Kamera verwendet, z. B. wenn das Gerät die von der ersten Kamera aufgenommenen Bilder zunehmend beschneidet. Sobald ein bestimmter Schwellenwert für die Zoomstufe erreicht ist und der vergrößerte Bereich im Sichtfeld der zweiten Kamera liegt, schaltet das Gerät auf die Verwendung der zweiten Kamera für die Videoaufzeichnung um.
  • Um zu veranlassen, dass das aufgezeichnete Video einen fließenden Übergang zwischen den Ausgaben der verschiedenen Kameras darstellt, kann das Gerät eine Reihe von Transformationen verwenden, um die Ausgabe der zweiten Kamera mit der Ausgabe der ersten Kamera in Beziehung zu setzen. Diese Transformationen können unter Nutzung von Homographiematrix oder in anderen Formen implementiert werden. In einigen Implementierungen schließen die Transformationen ein, dass das Bild von der zweiten Kamera auf einen kanonischen Kameraraum abgebildet wird, indem kameraspezifische und zeitabhängige Beiträge der zweiten Kamera entfernt werden, wie z. B. Rolling-Shutter-Effekte, OIS-Objektivbewegung und so weiter. Eine zweite Transformation kann die Bilddaten im kanonischen Bildraum der zweiten Kamera auf den kanonischen Bildraum der ersten Kamera projizieren. Dadurch kann das Sichtfeld der zweiten Kamera mit dem Sichtfeld der ersten Kamera abgeglichen und räumliche Unterschiede (z. B. Offsets) zwischen den Kameras im Gerät berücksichtigt werden. Die Verarbeitung der elektronischen Bildstabilisierung (EIS) kann dann auf die Bilddaten im kanonischen Bildraum der ersten Kamera angewendet werden. Diese Reihe von Transformationen stellt einen weitaus wirksameren Prozess bereit als beispielsweise der Versuch, EIS-verarbeitete Bilddaten der zweiten Kamera mit EISverarbeiteten Bilddaten der ersten Kamera in Beziehung zu setzen und auszurichten. Die EIS-Verarbeitung kann in einem einzigen Kameraraum oder Bezugsrahmen durchgeführt werden, obwohl die Bilder mit verschiedenen Kameras mit unterschiedlichen Sichtfeldern, unterschiedlichen Charakteristika während der Bilderfassung und so weiter aufgenommen werden. Die Ausgabe der EIS-Verarbeitung im kanonischen Bildraum für die erste Kamera kann dann zur Speicherung als Videodatei (lokal und/oder entfernt) und/oder als Datenstrom zum Anzeigen (lokal und/oder entfernt) bereitgestellt werden.
  • Die Techniken können Bildstabilisierungsstufen anwenden, die auf die aktuelle Zoomstufe zugeschnitten sind, um Verwacklungen und andere unbeabsichtigte Kamerabewegungen effektiver zu steuern. Darüber hinaus kann die Möglichkeit, während der Videoaufnahme nahtlos zwischen den Kameras zu wechseln, die Auflösung der Videoaufnahme ohne störende Übergänge erhöhen. Wird zum Beispiel der Digitalzoom zunehmend auf die Ausgabe der Kamera mit dem größeren Sichtfeld angewendet, nimmt die Auflösung tendenziell ab. Wenn der Digitalzoom erhöht wird, gibt das resultierende Bild einen kleineren Abschnitt des Bildsensors wieder und verwendet somit weniger Pixel des Bildsensors, um das Bild zu erzeugen. Eine zweite Kamera kann ein Objektiv mit einem engeren Sichtfeld aufweisen, so dass das engere Sichtfeld mit der Gesamtheit des Bildsensors erfasst werden kann. Wenn das Video so weit herangezoomt wird, dass das Ausgabe-Einzelbild in das Sichtfeld der zweiten Kamera fällt, kann die Kamera die Videoerfassung auf die Verwendung von Bilddaten umstellen, die von der zweiten Kamera aufgenommen wurden. Somit kann die Kamera, während sie weiterhin eine Videodatei erfasst und aufzeichnet und EIS kontinuierlich und konsistent angewendet wird, im Wesentlichen nahtlos zwischen der Verwendung der verschiedenen Kameras zur Videoerfassung wechseln. Das Umschalten kann für den Benutzer transparent gemacht werden, sodass der Wechsel zwischen den Kameras im erfassten Videomaterial oder wahlweise in der Benutzeroberfläche für den Benutzer nicht erkennbar ist.
  • Im Allgemeinen kann der Prozess zum Durchführen der Bilderfassung und der damit verbundenen Bildverarbeitung sehr rechenaufwändig sein, insbesondere bei hochauflösenden Videoaufnahmen. Die hierin erläuterten Techniken stellen rechnerisch wirksame Techniken zum Verwalten der Bildstabilisierungsverarbeitung und der Übergänge zwischen den Kameramodulen bereit, indem unter anderem die Bilddaten beider Kameras auf einen einzigen, gemeinsamen Bezugsraum abgebildet werden, bevor dieselbe Art der EIS-Verarbeitung auf die Bilddaten in diesem Bezugsraum angewendet wird. Der Bezugsraum kann einen Raum darstellen, der keine zeitabhängigen Effekte aufweist, was die Berechnungen zum Ausrichten von Bildern von verschiedenen Kameras und zum Anwenden der EIS-Verarbeitung weiter reduziert.
  • In einigen Implementierungen werden die hierin erläuterten Techniken auf batteriebetriebenen Geräten mit begrenztem Energiebudget und begrenzten Rechenressourcen implementiert, wie z. B. auf Mobiltelefonen, Tablet-Computern und anderen Mobilgeräten. Das erläuterte Verarbeiten kann von einem batteriebetriebenen Gerät wirksam durchgeführt werden, das die Stabilisierungsverarbeitung im Wesentlichen in Echtzeit durchführt, und zwar gleichzeitig mit der laufenden Bilderfassung, z. B. mit einer durch die Bildstabilisierung verarbeiteten Videoausgabe, die gespeichert oder als Datenstrom übertragen wird, während die Videoaufnahme fortgesetzt wird. Wie nachfolgend erläutert, können die Techniken auch die Aufnahme von Videos unter Nutzung der Kameramodule anpassen, z. B. um die Einstellungen der Kameramodule für Schärfe, Belichtungszeit usw. einzustellen und um umzuschalten, welches Kameramodul zu verschiedenen Zeitpunkten verwendet wird. Diese Techniken sind auch wirksam ausführbar, sodass sie in Echtzeit durchgeführt werden können, während das Video erfasst, verarbeitet und aufgezeichnet wird, während weiterhin weitere Videos aufgenommen werden.
  • In einem allgemeinen Aspekt umfasset ein Verfahren: Bereitstellen, durch ein Videoaufnahmegerät mit einer ersten Kamera und einer zweiten Kamera, einer digitalen Zoomfähigkeit, die benutzerspezifizierte Vergrößerungsänderungen innerhalb eines digitalen Zoombereichs während der Videoaufzeichnung ermöglicht, wobei das Videoaufnahmegerät konfiguriert ist, um (i) Videodaten zu verwenden, die durch die erste Kamera über einen ersten Abschnitt des digitalen Zoombereichs aufgenommen wurden, und (ii) Videodaten zu verwenden, die durch die zweite Kamera über einen zweiten Abschnitt des digitalen Zoombereichs aufgenommen wurden; und während des Erfassens von Video unter Nutzung der zweiten Kamera des Videoaufnahmegeräts, um eine Zoomstufe in dem zweiten Abschnitt des Zoombereichs bereitzustellen, Verarbeiten von erfassten Bilddaten unter Nutzung der zweiten Kamera durch Anwenden eines Satzes von Transformationen, der (i) eine erste Transformation in einen zweiten kanonischen Bezugsraum für die zweite Kamera, (ii) eine zweite Transformation in einen ersten kanonischen Bezugsraum für die erste Kamera und (iii) eine dritte Transformation umfasset, um elektronische Bildstabilisierung auf Bilddaten in dem ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  • In einigen Implementierungen umfasset das Verfahren, während der Aufnahme von Video unter Nutzung der ersten Kamera des Videoaufnahmegeräts, um eine Zoomstufe im ersten Abschnitt des Zoombereichs bereitzustellen, die Verarbeitung von Bilddaten, die unter Nutzung der zweiten Kamera erfasst wurden, durch Anwenden eines Satzes von Transformationen, einschließlich (i) einer Transformation zum ersten kanonischen Bezugsraum für die erste Kamera, und (ii) einer Transformation, um eine elektronische Bildstabilisierung auf Daten im ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  • In einigen Implementierungen weisen die erste Kamera und die zweite Kamera unterschiedliche Sichtfelder auf, wobei (i) das Sichtfeld der zweiten Kamera im Sichtfeld der ersten Kamera umfasset ist oder (ii) das Sichtfeld der ersten Kamera im Sichtfeld der zweiten Kamera umfasset ist.
  • In einigen Implementierungen umfassen die erste Kamera und die zweite Kamera jeweils eine Objektivanordnung mit fester Brennweite.
  • In einigen Implementierungen sind der kanonische Bezugsraum für die zweite Kamera und der kanonische Bezugsraum für die erste Kamera konzeptionelle Kameraräume, die durch einen vorbestimmten, festen Satz von intrinsischen Eigenschaften der Kamera definiert sind, sodass die Projektion von Bilddaten auf die kanonischen Bezugsräume zeitabhängige Effekte während der Erfassung eines Videobildes beseitigt.
  • In einigen Implementierungen umfasset die erste Kamera ein optisches Bildstabilisierungssystem (OIS) und der erste kanonische Bezugsraum für die erste Kamera ist einer, in dem Bilddaten dargestellt werden, die eine konsistente, vorbestimmte OIS-Position aufweisen.
  • In einigen Implementierungen umfasset die zweite Kamera ein optisches Bildstabilisierungssystem (OIS) und der zweite kanonische Bezugsraum für die zweite Kamera ist einer, in dem Bilddaten dargestellt werden, die eine konsistente, vorbestimmte OIS-Position aufweisen.
  • In einigen Implementierungen stellt die erste Kamera Bilddaten bereit, die Bildabtastlinien eines Bildausschnitts progressiv erfassen, und der erste kanonische Bezugsraum für die erste Kamera ist einer, in dem die Bilddaten korrigiert wurden, um Verzerrungen aufgrund der progressiven Erfassung für die Bildabtastlinien zu entfernen.
  • In einigen Implementierungen stellt die zweite Kamera Bilddaten bereit, die Bildabtastlinien eines Bildausschnitts progressiv erfassen, und der zweite kanonische Bezugsraum für die zweite Kamera ist einer, in dem die Bilddaten korrigiert wurden, um Verzerrungen aufgrund der progressiven Erfassung für die Bildabtastlinien zu entfernen.
  • In einigen Implementierungen richtet die zweite Transformation ein Sichtfeld der zweiten Kamera an einem Sichtfeld der ersten Kamera aus und passt einen räumlichen Offset zwischen der ersten Kamera und der zweiten Kamera an.
  • In einigen Implementierungen weisen die erste Transformation, die zweite Transformation und die dritte Transformation jeweils eine entsprechende Homographie-Matrize auf, und die Verarbeitung der Bilddaten umfasset das Anwenden der Homographie-Matrizen.
  • In einigen Implementierungen umfasset das Verfahren: während der Erfassung von Videodaten mit der ersten Kamera und der Verarbeitung der Videodaten von der ersten Kamera, um eine elektronische Bildstabilisierung anzuwenden, das Empfangen von Eingaben des Benutzers, die eine Änderung der Zoomstufe auf eine bestimmte Zoomstufe im zweiten Abschnitt des Zoombereichs angeben. Das Verfahren kann, in Reaktion auf das Empfangen der Eingaben des Benutzers Folgendes umfassen: Aufzeichnen einer Sequenz von Videobildern, in der eine Vergrößerung der mit der ersten Kamera aufgenommenen Videobilder schrittweise erhöht wird, bis eine vorbestimmte Zoomstufe erreicht ist, Einleiten der Videoaufnahme mit der zweiten Kamera, und Aufzeichnen einer zweiten Sequenz von Videobildern, die mit der zweiten Kamera aufgenommen wurden, wobei die zweite Sequenz von Videobildern die vorbestimmte Zoomstufe bereitstellt und eine zunehmende Vergrößerung der mit der zweiten Kamera aufgenommenen Videobilder bereitstellt, bis die bestimmte Zoomstufe erreicht ist.
  • In einigen Implementierungen wird die zweite Transformation zumindest teilweise basierend auf einem Fokusabstand der zweiten Kamera ermittelt.
  • In einigen Implementierungen umfasset die erste Transformation eine Vielzahl verschiedener Anpassungen für verschiedene Abtastzeilen der mit der zweiten Kamera erfassten Bilddaten.
  • In einigen Implementierungen umfasset die dritte Transformation eine elektronische Bildstabilisierung für Videobilder, die für jedes bestimmte Videobild der Videobilder ein oder mehrere Videobilder vor dem bestimmten Videobild und ein oder mehrere Videobilder nach dem bestimmten Videobild verwendet.
  • In einigen Implementierungen weist die zweite Kamera ein kleineres Sichtfeld auf als die erste Kamera. Das Verfahren kann umfassen: während der Bilderfassung mit der ersten Kamera, Empfangen einer Benutzereingabe, die eine Änderung der Zoomstufe für die Videoerfassung angibt; und in Reaktion auf das Empfangen der Benutzereingabe das Ermitteln, ob die geänderte Zoomstufe größer als oder gleich einer vorbestimmten Übergangs-Zoomstufe ist, wobei die vorbestimmte Übergangs-Zoomstufe ein Sichtfeld darstellt, das kleiner ist als das Sichtfeld der zweiten Kamera.
  • In einigen Implementierungen umfasset das Verfahren: Speichern von Daten, die (i) eine erste Übergangs-Zoomstufe für den Übergang von der Videoerfassung unter Nutzung der ersten Kamera zur Videoerfassung unter Nutzung der zweiten Kamera angeben, und (ii) eine zweite Übergangs-Zoomstufe für den Übergang von der Videoerfassung unter Nutzung der zweiten Kamera zur Videoerfassung unter Nutzung der ersten Kamera, wobei sich die erste Übergangs-Zoomstufe von der zweiten Übergangs-Zoomstufe unterscheidet; und Ermitteln, ob zwischen den Kameras für die Videoerfassung umgeschaltet werden soll, durch (i) Vergleichen einer angeforderten Zoomstufe mit der ersten Übergangs-Zoomstufe, wenn die angeforderte Zoomstufe einer Verringerung des Sichtfelds entspricht, und (ii) Vergleichen der angeforderten Zoomstufe mit der zweiten Übergangs-Zoomstufe, wenn die angeforderte Zoomstufe einer Erhöhung des Sichtfelds entspricht.
  • In einigen Implementierungen entspricht die erste Übergangs-Zoomstufe einem kleineren Sichtfeld als die zweite Übergangs-Zoomstufe.
  • In einigen Implementierungen umfasset das Verfahren: während der Aufzeichnung einer Videodatei, Ermitteln des Umschaltens von der Erfassung von Video unter Nutzung einer bestimmten Kamera der Kameras zum Erfassen von Video unter Nutzung der anderen der Kameras; und in Reaktion auf das Ermitteln des Umschaltens: Ermitteln eines Werts für einen Videoerfassungsparameter, der für die Bilderfassung unter Nutzung der bestimmten Kamera verwendet wird, Einstellen eines Werts für einen Videoerfassungsparameter für die andere Kamera basierend auf dem ermittelten Videoerfassungsparameter, und nach dem Einstellen des Werts für den Videoerfassungsparameter für die andere Kamera, Einleiten der Videoerfassung von der zweiten Kamera und Aufzeichnen des erfassten Videos von der zweiten Kamera in der Videodatei. Das Einstellen des Videoerfassungsparameters umfasset das Anpassen, für die zweite Kamera, eines oder mehrere von Belichtung, Bildsensorempfindlichkeit, Verstärkung, Bilderfassungszeit, Blendengröße, Objektivfokusabstand, OIS-Status oder OIS-Niveau.
  • Weitere Ausführungsformen dieses und anderer hierin erörterter Aspekte umfassen entsprechende Systeme, Vorrichtungen und Computerprogramme, die dafür konfiguriert sind, die auf Computerspeichergeräten kodierten Handlungen des Verfahrens auszuführen. Ein System, bestehend aus einem oder mehreren Computern oder anderen Geräten, kann per Software, Firmware, Hardware oder einer im System installierten Kombination aus diesen so konfiguriert werden, dass es im Betrieb das System veranlasst, die Aktionen auszuführen. Ein oder mehrere Computerprogramme können durch die Verfügung über Anweisungen so konfiguriert sein, dass sie, wenn sie vom Datenverarbeitungsgerät ausgeführt werden, das Gerät dazu veranlassen, die Aktionen durchzuführen.
  • In einem weiteren allgemeinen Aspekt speichern ein oder mehrere maschinenlesbare Medien Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren eine Ausführung von Operationen veranlassen, umfassend: Bereitstellen, durch ein Videoaufnahmegerät mit einer ersten Kamera und einer zweiten Kamera, einer digitalen Zoomfähigkeit, die benutzerspezifizierte Vergrößerungsänderungen innerhalb eines digitalen Zoombereichs während der Videoaufzeichnung ermöglicht, wobei das Videoaufnahmegerät konfiguriert ist, um (i) Videodaten zu verwenden, die durch die erste Kamera über einen ersten Abschnitt des digitalen Zoombereichs aufgenommen wurden, und (ii) Videodaten zu verwenden, die durch die zweite Kamera über einen zweiten Abschnitt des digitalen Zoombereichs aufgenommen wurden; und während des Erfassens von Video unter Nutzung der zweiten Kamera des Videoaufnahmegeräts, um eine Zoomstufe in dem zweiten Abschnitt des Zoombereichs bereitzustellen, Verarbeiten von erfassten Bilddaten unter Nutzung der zweiten Kamera durch Anwenden eines Satzes von Transformationen, der (i) eine erste Transformation in einen zweiten kanonischen Bezugsraum für die zweite Kamera, (ii) eine zweite Transformation in einen ersten kanonischen Bezugsraum für die erste Kamera und (iii) eine dritte Transformation umfasset, um elektronische Bildstabilisierung auf Bilddaten in dem ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  • In einem weiteren allgemeinen Aspekt umfasset ein Videoaufnahmegerät: eine erste Kamera mit einem ersten Sichtfeld; eine zweite Kamera mit einem zweiten Sichtfeld; einen oder mehrere Positions- oder Orientierungssensoren; einen oder mehrere Prozessoren; und eine oder mehrere Datenspeichervorrichtungen, die Anweisungen speichern, die bei Ausführung durch einen oder mehrere Prozessoren eine Ausführung von Operationen veranlassen, umfassend:: Bereitstellen, durch ein Videoaufnahmegerät mit einer ersten Kamera und einer zweiten Kamera, einer digitalen Zoomfähigkeit, die benutzerspezifizierte Vergrößerungsänderungen innerhalb eines digitalen Zoombereichs während der Videoaufzeichnung ermöglicht, wobei das Videoaufnahmegerät konfiguriert ist, um (i) Videodaten zu verwenden, die durch die erste Kamera über einen ersten Abschnitt des digitalen Zoombereichs aufgenommen wurden, und (ii) Videodaten zu verwenden, die durch die zweite Kamera über einen zweiten Abschnitt des digitalen Zoombereichs aufgenommen wurden; und während des Erfassens von Video unter Nutzung der zweiten Kamera des Videoaufnahmegeräts, um eine Zoomstufe in dem zweiten Abschnitt des Zoombereichs bereitzustellen, Verarbeiten von erfassten Bilddaten unter Nutzung der zweiten Kamera durch Anwenden eines Satzes von Transformationen, der (i) eine erste Transformation in einen zweiten kanonischen Bezugsraum für die zweite Kamera, (ii) eine zweite Transformation in einen ersten kanonischen Bezugsraum für die erste Kamera und (iii) eine dritte Transformation umfasset, um elektronische Bildstabilisierung auf Bilddaten in dem ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  • In einigen Implementierungen weisen die erste Kamera und die zweite Kamera unterschiedliche Sichtfelder auf, und das Sichtfeld der zweiten Kamera im Sichtfeld der ersten Kamera umfasset ist. Die erste Kamera und die zweite Kamera können jeweils eine Objektivanordnung mit fester Brennweite umfassen.
  • Die Details einer oder mehrerer Ausführungsformen von der Erfindung sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich.
  • Figurenliste
    • 1A-1B sind Diagramme, die ein Beispiel eines Geräts darstellen, das eine Multikamera-Videostabilisierung bereitstellt.
    • 2 ist ein Blockdiagramm, das ein Beispiel von Komponenten des Geräts der 1A-1B veranschaulicht.
    • 3 ist ein Diagramm, das exemplarische Techniken zur Videostabilisierung veranschaulicht.
    • 4 ist ein Blockdiagramm, das weitere Beispiele zur Verarbeitung durch das Gerät der 1A-1B angibt.
    • 5A-5C sind Diagramme, die Beispiele von Techniken zur Multikamera-Videostabilisierung veranschaulichen.
    • 6 ist ein Diagramm, das exemplarische Transformationen darstellt, die verwendet werden können, um eine wirksame Multikamera-Videostabilisierung bereitzustellen.
  • In den verschiedenen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1A-1B sind Diagramme, die ein Beispiel eines Geräts 102 darstellen, das eine Multikamera-Videostabilisierung bereitstellt. Die Videostabilisierung ist häufig ein wichtiges Merkmal für Kamerasysteme von Mobilgeräten. Bei der herkömmlichen Videostabilisierung mit einer Kamera können Videobilder von den Bilddaten, die während einer verwackelten realen Kameratrajektorie erfasst wurden, in eine stabilisierte Ausgabe für eine zeitlich geglättete virtuelle Kameratrajektorie umgewandelt werden. Mit einer einzigen Kamera können Einzelbilder, die während der realen Kameratrajektorie erfasst wurden, auf geänderte Ausgabe-Einzelbilder projiziert werden, die Einzelbilder entlang einer geglätteten virtuellen Kameratrajektorie darstellen.
  • Einige Geräte umfassen mehrere Kameras, die in die gleiche Richtung zeigen (z. B. auf der gleichen Seite des Geräts) und so angeordnet sind, dass sie verschiedene Sichtfelder einer Szene erfassen können. Im Multikamerasystem kann das Gerät während der Aufnahme eines Videos zwischen den Kameras wechseln, so dass ein einziges Video Segmente umfasset, die mit verschiedenen Kameras erfasst wurden. Beim Umschalten zwischen den Kameras gibt es keine einzige reale Kameratrajektorie mehr, da verschiedene reale Kameras verwendet werden. Dennoch sollte das Gerät die gleiche virtuelle Kameratrajektorie beibehalten, um die Kontinuität und den reibungslosen Ablauf des erfassten Filmmaterials auch während der Übergangsphase zwischen den Kameras beizubehalten. Wie hierin erläutert, kann die virtuelle Kameratrajektorie zwischen mehreren Kameras beibehalten und im Verlauf der Zeit geglättet werden, sodass das Umschalten zwischen den Kameras keine ablenkenden oder störenden Effekte veranlasst (z. B. Ruckeln, Bildverschiebungen oder abrupte Änderung des Sichtfelds, Unterbrechung der Stabilisierung oder abrupte Änderung des angewandten Stabilisierungsniveaus usw.).
  • Das Multikamera-Videostabilisierungssystem kann implementiert werden, um verschiedene Vorteile bereitzustellen. Neben der Glättung von Videos im Verlauf der Zeit können auch die Übergänge zwischen den Zeitpunkten der Videoerfassung verschiedener Kameras geglättet werden. Darüber hinaus kann die Technik so wirksam sein, dass sie zu einem bestimmten Zeitpunkt betrieben werden kann, z. B. um die Glättung auf das erfasste Video gleichzeitig mit der fortlaufenden Videoerfassung anzuwenden und Energie zu sparen, um eine längere Verwendung durch batteriebetriebene Geräte zu ermöglichen.
  • In dem Beispiel von 1A ist das Gerät 102 als Telefon veranschaulicht, es kann jedoch auch ein anderer Gerätetyp, wie z. B. ein Tablet-Computer, eine Kamera usw. sein. Das Gerät 102 umfasset ein Multi-Kamera-Modul 108, das eine erste Kamera 110a und eine zweite Kamera 110b umfasset. Die beiden Kameras 110a, 110b sind auf derselben Seite des Geräts 102 angeordnet, sodass beide so angeordnet sind, dass sie Bilder derselben Szene 105 erfassen, die dem Gerät 102 zugewandt ist (z.B. auf der Rückseite des veranschaulichten Telefons). Die Kameras 110a, 110b können starr miteinander und mit dem Gerät 102 gekoppelt sein, sodass sich die Kameras 110a, 110b gleichermaßen und in der gleichen Bewegung wie das Gerät 102 bewegen.
  • Die Kameras weisen unterschiedliche Sichtfelder auf. Die erste Kamera 110a weist beispielsweise ein erstes Sichtfeld 120 auf, und die zweite Kamera 110b weist ein zweites Sichtfeld 122 auf, das kleiner ist als das erste Sichtfeld 120. Obwohl sich die Sichtfelder 120, 122 erheblich unterscheiden können, können die beiden Kameras 110a, 110b eine ähnliche Bildauflösung aufweisen. Die beiden Sichtfelder 120, 122 können sich überschneiden. Insbesondere kann das Sichtfeld 122 der zweiten Kamera 110b vollständig innerhalb des Sichtfelds 120 der ersten Kamera 110a enthalten sein. Als Beispiel kann das erste Sichtfeld im Bereich von 77 Grad und das zweite Sichtfeld im Bereich von 52 Grad liegen, wobei das 52-Grad-Sichtfeld 122 größtenteils oder vollständig innerhalb des 77-Grad-Sichtfelds 120 liegt. In dem Beispiel verwenden die Kameras 110a, 110b jeweils Objektive mit fester Brennweite, z. B. Linsenanordnungen ohne optischen Zoom. Mit anderen Worten kann die Brennweite des Objektivs für jede Kamera 110a, 110b festgelegt werden, abgesehen von fokusbezogenen Effekten wie z. B. dem Fokusatmen.
  • Eine oder mehrere der Kameras 110a, 110b können optische Bildstabilisierungsmodule (OIS) umfassen, um die Auswirkungen von Kameraverwacklungen und anderen unerwünschten Bewegungen des Geräts 102 zu reduzieren. Unabhängig davon, ob die Kameras 110a, 110b OIS-Module umfassen oder nicht, kann das Gerät 102 eine elektronische Bildstabilisierung (EIS) verwenden, um das erfasste Video im Verlauf der Zeit zu glätten. Wie nachfolgend weiter erläutert, kann die EIS-Verarbeitung Transformationen auf die erfassten Bilder anwenden, um die erfassten Bilder, die entlang einer wackeligen tatsächlichen Kameratrajektorie aufgenommen wurden, auf stabilisierte Ausgabe-Einzelbilder zu projizieren, welche die geglättete oder gefilterte Trajektorie einer virtuellen Kamera darstellen.
  • Das Gerät 102 verwendet die Kameras 110a, 110b, um einen effektiven Zoombereich bereitzustellen, der die Bilderfassung von verschiedenen Kameras 110a, 110b mit unterschiedlichen Vergrößerungsstufen verwendet. Das Gerät 102 kann einen Zoombereich bereitstellen, indem es digitale Zoomtechniken verwendet, die auf die Ausgaben verschiedener Kameras 110a, 110b in verschiedenen Abschnitten des Zoombereichs angewendet werden. Als Beispiel kann das Gerät einen Gesamtzoombereich von 1,0x bis 3,0x bereitstellen. Die Kamera 110a, die das größere Sichtfeld 120 bereitstellt, kann verwendet werden, um Bilder für einen ersten Abschnitt des Zoombereichs, z. B. 1,0x bis 1,8x, zu erfassen. Sobald der Zoom eine bestimmte Stufe erreicht, wie z. B. einen vorbestimmten Übergangspunkt, z. B. das 1,8-fache, schaltet das Gerät 102 vom Erfassen von Videos mit der ersten Kamera 110a zum Erfassen von Videos mit der zweiten Kamera 110b um. Die Kamera 110b, die das engere Sichtfeld 122 bereitstellt, kann verwendet werden, um Bilder für den zweiten Abschnitt des Zoombereichs, z. B. 1,8x bis 3,0x, zu erfassen.
  • Das veranschaulichte Beispiel zeigt, dass das Gerät 102 eine Anzeige umfasset, die es einem Benutzer ermöglicht, das erfasste Video 130 zu betrachten, während es von dem Gerät 102 erfasst und aufgezeichnet wird. Das Gerät 102 kann einem Benutzer mit einer Steuerung 132 bereitgestellt werden, um die Zoomstufe während der Videoerfassung dynamisch anzupassen. In dem Beispiel ist die Steuerung 132 ein Schieberegler auf dem Bildschirm, der auf einem Touchscreen des Geräts 102 dargestellt wird und mit dem ein Benutzer den Zoom auf eine gewünschte Position entlang des Zoombereichs einstellen kann. In einigen Implementierungen lässt sich die Zoomstufe in feinen Abstufungen anpassen, z.B. in Schritten von 0,2x, 0, 1x oder kleiner, sodass sich der Benutzer schrittweise durch den unterstützten Zoombereich bewegen kann, was im Wesentlichen einem kontinuierlichen Zoom über den Zoombereich entspricht.
  • 1B stellt ein Beispiel dar, wie verschiedene Zoomstufen bereitgestellt werden können, indem die Ausgaben der Kameras 110a, 110b verwendet werden. Dargestellt sind die jeweiligen Sichtfelder 120, 122 sowie abgeschnittene Abschnitte 140a-140e, die zum Bereitstellen verschiedener Zoomstufen verwendet werden können. Die Ausgabe-Einzelbilder 150a-150e zeigen Beispiele für Ausgabe-Einzelbilder, die in verschiedenen Zoomstufen bereitgestellt werden können. Zu beachten ist, dass die beiden Kameras 110a, 110b physisch zueinander versetzt im Gerät 102 angebracht sind, was zu Unterschieden in der Sicht auf die Szene führt. Auch wenn die beiden Kameras dieselbe Szene betrachten, weisen die Objekte in der Szene aufgrund der monokularen Disparität leicht unterschiedliche Positionen in den Ausgaben der Kameras auf. Die nachfolgend erläuterten Bildtransformationen können diese Disparität und andere Unterschiede zwischen den Ausgabedaten der Kameras 110a und 110b korrigieren.
  • Die Ausgabe-Einzelbilder 150a-150c werden jeweils von Bilddaten der ersten Kamera 110a abgeleitet, die das größere Sichtfeld 120 bereitstellt. Wenn die Zoomstufe einen Schwellenwert erreicht, wie z. B. 1,8x, schaltet das Gerät 102 auf die Verwendung von Bilddaten um, die von der zweiten Kamera 110b erfasst wurden, die das kleinere Sichtfeld 122 bereitstellt. Der Übergang zwischen den Kameras 110a, 110b kann bei einer Zoomstufe erfolgen, bei der die Zoomstufe vollständig im Sichtfeld 122 der zweiten Kamera 110b enthalten ist, sodass ausreichend Bilddaten vorhanden sind, um das Ausgabe-Einzelbild bei der gewünschten Zoomstufe zu füllen. In einigen Implementierungen ist das Gerät 102 so konfiguriert, dass es den Übergang durchführt, sobald die Zoomstufe einem Bereich entspricht, der kleiner ist als die volle Ausgabe der zweiten Kamera 110b, um einen Spielraum an erfassten Daten beizubehalten, der für die EIS-Verarbeitung verwendet werden kann.
  • Im Allgemeinen ist es, um die Ausgabequalität zu maximieren, vorteilhaft, in der Nähe der Zoomstufe, bei der das Sichtfeld 122 das Ausgabe-Einzelbild ausfüllen kann, zum engeren Sichtfeld 122 zu wechseln. Dies liegt daran, dass das kleinere Sichtfeld 122 eine höhere Auflösung für diesen Bereich der Szene bereitstellt. Obwohl die beiden Kameras 110a, 110b ähnliche Auflösungen aufweisen können, kann die Kamera 110b im kleineren Sichtfeld 122 ihre volle Auflösung verwenden, um die Szene zu erfassen, während dieselbe Ansicht nur mit einem Bruchteil der Auflösung der breiteren Kamera 110a erfasst werden würde. In dem Beispiel gibt es eine Zoomstufe, z. B. 1,7x, bei der das gezoomte Sichtfeld 140c der ersten Kamera 110a mit dem vollen Sichtfeld 122 der zweiten Kamera 110b übereinstimmt. Zu diesem Zeitpunkt wird nur ein relativ kleiner Abschnitt des Bildsensors der ersten Kamera 110a verwendet, um das Ausgabe-Einzelbild 150c bereitzustellen, sodass das Ausgabe-Einzelbild 150c eine geringere Auflösung oder Qualität aufweisen kann als bei größeren Zoomstufen bereitgestellt wird. Im Gegensatz dazu kann die volle Auflösung des Bildsensors der zweiten Kamera 110b verwendet werden, um diese effektive Zoomstufe oder Vergrößerung bereitzustellen, was zu einer höheren Qualität der Ausgabe führt. Durch Umschalten auf die zweite Kamera 110b am oder kurz nach dem Gleichgewichtspunkt (z. B. 1,7x) kann das Gerät 102 eine höhere Qualität in dieser Zoomstufe und in weiteren Zoomstufen bereitstellen.
  • In einigen Implementierungen wird die Zoomstufe, die für das Umschalten zwischen den Kameras 110a-110b eingestellt ist, nach dem Punkt eingestellt, an dem die zweite Kamera 110b den Bildausschnitt ausfüllen kann. Der Übergangspunkt kann beispielsweise auf eine Zoomstufe eingestellt werden, die einen Spielraum bereitstellt, um die monokulare Disparität zu berücksichtigen, die sich aus den unterschiedlichen physischen Positionen der Kameras 110a, 110b ergibt. Folglich kann das Gerät 102, wenn die zweite Kamera 110b das Bild bei einer Zoomstufe von 1, 7x ausfüllen könnte, dennoch das Umschalten auf das Erfassen unter Nutzung der zweiten Kamera 110b bis zu einem Zoom von z. B. 1,8x oder 1,9x verzögern, sodass die vollständige Sensorausgabe von der Kamera 110b einen Pufferbereich mit Bilddaten bereitstellt (z. B. an den Rändern, die den Bereich umgeben, der den gewünschten Bilderfassungsbereich darstellt), sodass alle Offsets oder andere Anpassungen, die zur Korrektur der monokularen Disparität erforderlich sind, vorgenommen werden können, z. B. um das Sichtfeld 122 an den vergrößerten Bereichen des Sichtfelds 120 auszurichten und das Ausgabe-Einzelbild dennoch zu füllen.
  • Das Gerät 102 wendet die Videostabilisierung an, z. B. die Glättung von Kamerabewegungen, die in Einzelbildern im Verlauf der Zeit sichtbar werden, um die Auswirkungen von Bewegungen des Geräts 102 zu reduzieren oder zu beseitigen. Das Gerät 102 kann den Prozess der Videostabilisierung, z. B. die EIS-Verarbeitung, in Echtzeit oder nahezu in Echtzeit durchführen, z. B. gleichzeitig mit der laufenden Videoerfassung für das zu stabilisierende Video. Die Glättung der Videostabilisierung im Verlauf der Zeit (z. B. über mehrere Einzelbilder) kann mit den Übergängen zwischen den Kameras 110a, 110b koordiniert werden, wenn sich die Zoomeinstellungen ändern. Dennoch können, wie nachfolgend erläutert, Bilddatentransformationen verwendet werden, welche die Ausgabe der zweiten Kamera 110b auf einen kanonischen Raum für die erste Kamera 110a abbilden, wodurch ein einziges EIS-Verarbeitungsschema konsistent für die Ausgabe beider Kameras 110a, 110b verwendet werden kann.
  • Die hierin erläuterten Techniken können effektiv mit zwei oder mehr Linsen mit fester Brennweite verwendet werden. Wahlweise können die hierin erläuterten Techniken auch mit einer oder mehreren Linsen verwendet werden, die einen optischen Zoom bereitstellen. Die Techniken können beispielsweise verwendet werden, um eine nahtlose effektive Zoomfunktion über einen Bereich bereitzustellen, der die Bilderfassung von (i) mehreren Kameras mit unterschiedlichen optischen Zoombereichen umfasset, die sich überschneiden oder überlappen können, oder (ii) von einer oder mehreren Kameras, die einen optischen Zoom bieten, und einer oder mehreren Kameras mit fester Brennweite.
  • 2 ist ein Diagramm, das ein Beispiel des Geräts 102 veranschaulicht, das eine Videostabilisierung bereitstellt. Wie vorstehend erläutert, umfasset das Gerät 102 eine erste Kamera 110a und eine zweite Kamera 110b. Eine oder mehrere der Kameras 110a-110b können wahlweise ein OIS-Modul 215a-215b umfassen. Das Gerät 102 kann Videobilder erfassen und dabei das/die OIS-Modul(e) 215a-215b verwenden, um Bewegungen des Geräts 102 während der Bilderfassung zumindest teilweise entgegenzuwirken, sofern diese verwendet werden. Das Gerät 102 umfasset auch einen oder mehrere Gerätepositionssensoren 220, eine oder mehrere Datenspeichergeräte 230 und ein EIS-Modul 255.
  • Bei dem Gerät 102 kann es sich um einen der verschiedenen Typen handeln, die ein Kameramodul umfassen, wie z. B. ein Mobiltelefon, einen Tablet-Computer, eine Kamera usw. In einigen Implementierungen kann das Computergerät 102 ein Computersystem zum Ausführen der Operationen des EIS-Moduls 255 umfassen, das in Software, Hardware oder einer Kombination davon ausgeführt werden kann. Das Gerät 102 kann beispielsweise verschiedene Verarbeitungskomponenten umfassen, z. B. einen oder mehrere Prozessoren, ein oder mehrere Datenspeichergeräte, in denen ausführbare Anweisungen gespeichert sind, einen Speicher, Eingabe-/Ausgabekomponenten und so weiter. Die Prozessoren, welche die EIS verarbeiten, können Universalprozessoren (z. B. die Haupt-CPU eines Mobiltelefons oder eines anderen Geräts), einen Grafikprozessor, einen Co-Prozessor, einen Bildprozessor, einen EIS-Prozessor mit fester Funktion oder eine beliebige Kombination davon umfassen.
  • Das EIS-Modul 255 verwendet Positionsdaten sowohl von den Gerätepositionssensoren 220 als auch von den OIS-Modulen 215a-215b, um das vom Aufnahmegerät erfasste Video zu stabilisieren. Die Positionsdaten von den OIS-Modulen 215a-215b können beispielsweise verwendet werden, um die Offsets zu ermitteln, welche die Auswirkungen der OIS-Bewegung in Bezug auf die erwartete Kamerasicht darstellen, die aus den Positionsdaten des Geräts abgeleitet würde. Dadurch ist das EIS-Modul 215 in der Lage, eine effektive Kameraposition zu schätzen, die der tatsächlichen Sicht des Bildsensors entspricht, auch wenn die OIS-Module 215a-215b die Sicht der Kamera auf eine Szene relativ zu der Geräteposition verändern. Neben anderen hierin erläuterten Merkmalen können diese Techniken es dem Gerät 102 ermöglichen, OIS- und EIS-Prozesse effektiv gleichzeitig zu verwenden und die Vorteile beider Technologien zu nutzen.
  • Im Allgemeinen kann OIS Unschärfe innerhalb einzelner Bilder aufgrund von Kameraverwacklungen sehr effektiv reduzieren, und OIS kann Bewegungen, die über eine Reihe von Bildern sichtbar sind, einigermaßen effektiv reduzieren. Allein verwendetes OIS ist jedoch häufig mit verschiedenen Einschränkungen verbunden. OIS-Module können in der Geschwindigkeit, mit der sie auf Bewegungen reagieren, und in der Größe der Bewegungen, die kompensiert werden können, eingeschränkt sein. Darüber hinaus bewirkt die Operation von OIS-Modulen mitunter Verzerrungen, wie z. B. verwackelte Videos, und kann gewünschten Bewegungen, wie z. B. Schwenkbewegungen, fälschlicherweise entgegenwirken. Das EIS-Modul 255 kann die Auswirkungen dieser Einschränkungen verringern, indem es die Positionsdaten verwendet, welche die internen Bewegungen des OIS-Moduls beschreiben.
  • Da die OIS-Module 215a-215b versuchen, Bewegungen des Aufnahmegeräts zu kompensieren, kann es sein, dass die Bewegung des Geräts allein nicht die wahre Kameraansicht angibt, die während der Videoaufnahme verwendet wird. Wenn die EIS-Verarbeitung versucht, Bewegungen allein basierend auf der Gerätebewegung zu kompensieren, kann die EIS-Verarbeitung versuchen, Bewegungen zu korrigieren, die bereits durch das OIS-System kompensiert wurden. Ferner werden die Auswirkungen von Gerätebewegungen durch OIS im Allgemeinen nur teilweise beseitigt, und der Betrag der Kompensation kann von einem Bild zum nächsten variieren. Um eine qualitativ hochwertige Stabilisierung bereitzustellen, verwendet das EIS-Modul 255 neben den Positionsdaten auf Geräteebene auch OIS-Positionsdaten, um den Betrag der Stabilisierung zu variieren, der für jedes Einzelbild und in einigen Implementierungen sogar für einzelne Abtastlinien von Einzelbildern angewendet wird. Diese Verarbeitung kann eine wirksame Stabilisierung bereitstellen und Verzerrungen im Videomaterial reduzieren oder beseitigen. Wenn beispielsweise die Position der OIS-Position der Linsenverschiebung während des Erfassens eines Bilds verändert wird, kann dies zu Verzerrungen führen, insbesondere wenn die für viele Kameramodule typischen Rolling-Shutter eingesetzt werden. Mit den Informationen über die OIS-Linsenverschiebungen zu verschiedenen Zeitpunkten während der Bilderfassung kann das EIS-Modul 255 die Linsenpositionen schätzen, wenn verschiedene Abschnitte des Einzelbilds erfasst wurden, und das Bild korrigieren. Das EIS-Modul 255 kann auch die Auswirkungen von OIS-Linsenverschiebungen reduzieren, die beim Schwenken stören oder anderweitig unerwünscht sind.
  • Eine weitere Möglichkeit, wie das EIS-Modul 255 das Video verbessern kann, ist die Analyse der Daten für nachfolgend erfasste Einzelbilder. Um ein bestimmtes Einzelbild zu verarbeiten, kann das EIS-Verarbeitungsmodul eine Reihe von Kamerapositionen in einem Zeitfenster bewerten, das Zeitpunkte umfasset, wenn ein oder mehrere künftige Einzelbilder erfasst wurden. Die Informationen über zukünftige Einzelbilder und die entsprechenden Positionen können auf unterschiedliche Weise verwendet werden. Zunächst kann das EIS-Modul 255 eine Filterung auf die eingestellten Kamerapositionen anwenden, um das Bewegungsmuster zu glätten, das zum Definieren der Bildtransformationen zum Verändern der Einzelbilder verwendet wird. Zum anderen kann das EIS-Modul 255 den Satz von Kamerapositionen verwenden, um die Wahrscheinlichkeit zu bewerten, dass eine konsistente Bewegung (z. B. ein Schwenken) vorliegt oder versucht wird, und dann die Einzelbilder entsprechend dieser Bewegung anpassen, wenn dies voraussichtlich ist. Drittens kann das EIS-Modul 255 die Kameraposition für ein Einzelbild im Hinblick auf künftige Kamerapositionen bewerten und eine Anpassung an große künftige Bewegungen vornehmen. Wenn beispielsweise eine starke, schnelle Bewegung für zukünftige Einzelbilder identifiziert wird, kann das EIS-Modul 255 damit beginnen, den Inhalt der Einzelbilder anzupassen, bevor die Bewegung beginnt. Anstatt eine starke scheinbare Bewegung über wenige Einzelbilder zuzulassen, kann das EIS-Modul 255 die Bewegung über größere Einzelbilder verteilen, sodass gestaffelte Bildverschiebungen während früherer Einzelbilder auftreten und die Bewegung allmählich über eine größere Anzahl an Einzelbildern verteilt wird.
  • Das EIS-Modul 255 führt eine regionale Synthese der Ausgabe-Einzelbilder durch, indem es zum Beispiel die auf jede Abtastzeile eines Bildes angewendeten Transformationen variiert. Dadurch kann das System die Rolling-Shutter-Verzerrung, die Bewegung der OIS-Module 215a-215b und verschiedene Gerätebewegungen korrigieren, die innerhalb der Erfassungsdauer für ein Einzelbild auftreten.
  • Noch einmal unter Bezugnahme auf 2, kann das Gerät 102 jedes geeignete Gerät sein, das eine Kamera zum Erfassen von Videodaten aufweist, z. B. eine Kamera, ein Mobiltelefon, ein Smartphone, ein Tablet-Computer, ein tragbarer Computer oder ein anderes Gerät. Während das Beispiel in 2 ein einzelnes Gerät zum Erfassen und Verarbeiten von Videos veranschaulicht, können die Funktionen wahlweise auch auf mehrere Geräte oder Systeme verteilt werden. Zum Beispiel kann ein erstes Gerät Videobilder erfassen und auch Positionsdaten und andere Parameter als Metadaten aufzeichnen. Das erste Gerät kann die Videobilder und Metadaten einem zweiten Gerät, z. B. einem lokalen Computersystem oder einem entfernten Server, bereitstellen, das die EIS-Verarbeitung wie hierin erläutert durchführen kann.
  • Die erste Kamera 110a kann ein Linsenelement, einen Bildsensor, eine Sensorleseschaltung und andere Komponenten umfassen. Die OIS-Module 215a-215b können Sensoren, ein bewegliches Element, einen Prozessor und einen Antriebsmechanismus umfassen, um das bewegliche Element zu bewegen. Das bewegliche Element befindet sich im optischen Pfad der ersten Kamera 110a. Das bewegliche Element kann zum Beispiel ein reflektierendes oder brechendes Element sein, zum Beispiel eine Linse, ein Spiegel oder ein Prisma. In einigen Implementierungen ist das bewegliche Element der Bildsensor der ersten Kamera 110a. Die Sensoren können ein oder mehrere Gyroskope oder andere Sensoren umfassen, um Bewegungen zu erkennen. Der Prozessor ermittelt den Betrag und die Richtung der Bewegung, die das bewegliche Element benötigt, um die von den Sensoren angegebene Bewegung zu kompensieren, und weist dann den Antriebsmechanismus an, das bewegliche Element zu bewegen.
  • Das Gerät 102 umfasset einen oder mehrere Positionssensoren 220, die Ihre Änderungen in der Ausrichtung des Geräts 102 messen. In einigen Implementierungen sind die Positionssensoren 220 für das Gerät 102 getrennt von den Sensoren, die von den OIS-Modulen 215a-215b verwendet werden. Die Positionssensoren 220 können die Drehung des Geräts 102 um eine oder mehrere Achsen erkennen. Beispielsweise kann der Sensor 220 zur Positionierung des Geräts ein 3-Achsen-Gyroskop oder eine Trägheitsmesseinheit (IMU) sein. Zusätzlich oder alternativ können andere Sensoren verwendet werden, um die Geräteposition zu ermitteln. Zum Beispiel können ein oder mehrere Beschleunigungsmesser, einachsige Gyroskope, zweiachsige Gyroskope usw. verwendet werden, um eine Position des Geräts 102 zu ermitteln. Im Allgemeinen kann jeder geeignete Sensor oder eine beliebige Kombination von Sensoren verwendet werden, mit denen sich eine Drehposition des Geräts 102 zur Drehung ermitteln lässt.
  • In einigen Instanzen können Positionsdaten von Gyroskopsensoren der OIS-Module 215a-215b zusätzlich zu oder anstelle der Verwendung von separaten Positionssensoren 220 des Aufzeichnungsgeräts 220 erfasst und gespeichert werden. Dennoch kann es für das Gerät 102 von Vorteil sein, Gyroskopsensoren zu verwenden, die andere Charakteristika aufweisen als OIS-Sensoren. Zum Beispiel können Gyroskopsensoren in dem Gerät 102 Messungen mit einer Rate von etwa 400 Hz bereitstellen, wobei der Drehbereich größer als 100 Grad pro Sekunde ist. Im Vergleich zu Sensoren auf Geräteebene können typische Gyroskopsensoren von OIS-Modulen Messungen mit einer anderen Rate und einem anderen Bereich bereitstellen, z. B. mit einer Rate von 5000 Messungen pro Sekunde oder mehr, mit einem sensiblen Drehbereich von etwa 10 Grad pro Sekunde. In einigen Implementierungen ist es von Vorteil, den größeren sensiblen Drehbereich von Sensoren auf Geräteebene aufzuweisen (z. B. zum Beschreiben großer Bewegungen), ebenso wie die häufigeren Messungen von OIS-Modulsensoren (z. B. zum Erkennen kleiner Änderungen oder hochfrequenter Muster). Somit können beide Datentypen zusammen verwendet werden, um die Positionen des Geräts 102 zu ermitteln.
  • Das Gerät 102 umfasset ein oder mehrere Datenspeichergeräte 230, die Informationen über die erste Kamera 110a und den Bilderfassungsprozess speichern. Die gespeicherten Daten können zum Beispiel Kalibrierungsdaten 232 umfassen, die Beziehungen zwischen den Positionen der OIS-Module 215a-215b und die damit auftretenden Offsets in den Bilddaten angeben. In ähnlicher Weise können die Kalibrierungsdaten 232 eine Entsprechung von Kameramodul-Linsenfokuspositionen und effektiven Brennweiten für diese Fokuspositionen angeben (z. B. mit unterschiedlichen Zuordnungen für jede Kamera 110a, 110b), wodurch das System die Fokusatmung berücksichtigen kann. Darüber hinaus können die Kalibrierungsdaten 232 oder andere gespeicherte Daten eine Entsprechung zwischen den Fokuspositionen der Kameralinse und den Objektabständen angeben, was eine Übersetzung von den durch das Autofokussystem ausgewählten Fokuspositionen der Linse in Objektabstände ermöglicht, die den Abstand des fokussierten Objekts von der Sensorebene der Kamera angeben. Die Kalibrierungsdaten 232 geben auch die relative räumliche 3D-Position der einen Kamera 110a im Verhältnis zur anderen Kamera 110b an. Dies schließt in der Regel Kalibrierungsdaten ein, die eine 3D-Drehung und eine 3D-Verschiebung der einen Kamera gegenüber der anderen angeben. Normalerweise wird die Kalibrierung für jedes hergestellte Gerät durchgeführt, um die beste Benutzererfahrung zu gewährleisten. Folglich können die Kalibrierungsdaten 232 die Charakteristika des jeweiligen Kameramoduls (z. B. die Kameras 110a, 110b, ihre Befestigungsstrukturen usw.) und den Zustand des Moduls nach der Herstellung mit hoher Genauigkeit berücksichtigen. Die gespeicherten Daten können Abtastmusterdaten 234 umfassen, welche die Ausleseeigenschaften des Bildsensors in der ersten Kamera 110a angeben können. Die Abtastmusterdaten 234 können beispielsweise eine Richtung des Abtastens angeben (z. B. die Abtastlinien werden von oben nach unten gelesen), ob die Abtastlinien einzeln oder in Gruppen gelesen werden, und so weiter.
  • Während der Videoerfassung können die Kameras 110a-110b, die OIS-Module 215a-215b und der Gerätepositionssensor 220 jeweils Informationen über den Videoerfassungsprozess bereitstellen. Die erste Kamera 110a stellt Videobilddaten 242a bereit, beispielsweise eine Sequenz von Einzelbildern des Videos. Die zweite Kamera 110b stellt ebenfalls Videobilddaten 242b bereit. Die Kameras 110a-110b stellen auch Bildbelichtungsdaten 244a-244b bereit, die für jedes erfasste Bild eine Angabe zur Dauer der Belichtungszeit und einen Bezugszeitpunkt umfassen können, der angibt, wann die Belichtung stattgefunden hat (z. B. eine Start- oder Endzeit für die Belichtung). Die Kameras 110a-110b stellen auch Linsenfokus-Positionsdaten 246a-246b bereit, die eine Linsenfokus-Positionsdaten für jedes erfasste Einzelbild angeben.
  • Die OIS-Module 215a-215b stellen OIS-Positionsdaten 248a-248b bereit, welche die Position des oder der beweglichen Elemente der OIS-Module 215a-215b zu verschiedenen Zeitpunkten während der Videoerfassung angeben. Wenn es sich bei dem beweglichen Element beispielsweise um eine bewegliche Linse handelt, die sich zum Ausgleich von Bewegungen verschiebt, können die OIS-Module 215a-215b eine Auslesung der Linsenverschiebung bereitstellen, die jeweils die aktuelle Position der beweglichen Linse angibt. Das Gerät 102 kann die Verschiebungspositionen der Linsen und die Zeitpunkte, zu denen die Positionierung aufgetreten ist, aufzeichnen. In einigen Implementierungen werden die OIS-Positionsdaten 248a-248b mit einer hohen Frequenz erfasst, zum Beispiel mit einer Rate, die höher ist als die Bildaufzeichnungsrate der Bilderfassung, sodass mehrere Messungen über die Dauer jeder Videobildbelichtung durchgeführt werden.
  • Die Gerätepositionssensoren 220 stellen Gerätepositionsdaten 250 bereit, die eine Drehung und/oder andere Bewegung des Geräts 102 während der Videoerfassung angeben. Die Geräteposition kann mit einer hohen Frequenz gemessen werden, zum Beispiel mit 200 Hz oder mehr. Somit können in vielen Instanzen Messungen zu mehreren verschiedenen Zeitpunkten während der Erfassung der einzelnen Videobilder erhalten werden.
  • Die Linsenfokuspositionsdaten 246, die OIS-Positionsdaten 248 und die Gerätepositionsdaten 250 können alle mit Zeitstempeln aufgezeichnet werden, die Zeitpunkte angeben, zu denen die angegebenen Positionen aufgetreten sind. Die Zeitstempel können zum Beispiel auf eine Millisekunde genau erstellt werden, sodass die aus den verschiedenen Positionsmessungen erhaltenen Daten zeitlich abgestimmt werden können. Darüber hinaus können die Positionen eines Geräts, eines OIS-Systems oder eines Linsenfokusmechanismus interpoliert werden, um Werte zu Zeitpunkten zwischen den Messungen zu ermitteln.
  • Ein Beispiel für einen möglichen Zeitpunkt der Datenerfassung ist in Diagramm 252 dargestellt. Wie veranschaulicht, können Gerätepositionsdaten 250 (z. B. Gyroskopdaten) und OIS-Positionsdaten 248 (z. B. Linsenverschiebungspositionsdaten) mit höheren Raten als die Bilderfassungsrate für die Videoerfassung (z. B. 30 Bilder pro Sekunde, 60 Bilder pro Sekunde usw.) erfasst werden, sodass mehrere Positionen des Geräts und des OIS-Systems für jedes Videobild ermittelt werden können. Folglich können für jede Abtastlinie, die je nach Richtung des Verschlusses horizontal oder vertikal sein kann, eine andere Geräteposition und OIS-Einstellungen verwendet werden, um die Transformationen dieser Abtastlinie zu ermitteln. Die Linsenfokuspositionsdaten 246 können zumindest einmal pro Bild erfasst werden. Die Positionsdaten können relativ zu der Bildbelichtung asynchron erfasst werden, z. B. indem die Sensordaten des Gyroskops und die OIS-Positionsdaten mit einer Rate abgetastet werden, die den Beginn oder das Ende der Bildbelichtung überschreitet und nicht unbedingt mit dieser synchronisiert ist.
  • Die von den Kameras 110a-110b und anderen Komponenten erhaltenen Daten werden dem EIS-Modul 255 zum Verarbeiten bereitgestellt. Diese Verarbeitung kann bei einer laufenden Videoerfassung auftreten. Die EIS-Verarbeitung kann zum Beispiel im Wesentlichen in Echtzeit verarbeitet werden, sodass die Videodatei, die dem Benutzer am Ende der Videoerfassung zugänglich gemacht wird, eine Stabilisierung durch das EIS-Modul 255 aufweist. In einigen Implementierungen kann die EIS-Verarbeitung zu einem späteren Zeitpunkt, zum Beispiel nach der Fertigstellung der Videoerfassung, oder von einem anderen Gerät als dem, welches das Video aufgezeichnet hat, durchgeführt werden. Das EIS-Modul 255 kann in Hardware, Firmware, Software oder einer Kombination oder Unterkombination davon implementiert werden.
  • 2 veranschaulicht nur einen Teil der Funktionalität des EIS-Moduls 255. Das Beispiel in 2 veranschaulicht die EIS-Verarbeitung für Videobilder, die Einzelbilder einschließen, die von einer einzigen der Kameras 110a-110b erfasst wurden, und beschreibt nicht die Funktionen, die verwendet werden, um den digitalen Zoom bereitzustellen oder die EIS-Verarbeitung für die Zoom-Stufe anzupassen. Wie nachfolgend beschrieben, kann das Gerät 102 jedoch die von beiden Kameras erfassten Bilderdaten verwenden, um während der Videoerfassung und -aufzeichnung einen digitalen Zoom bereitzustellen. Sobald ein Benutzer beispielsweise bis zu einem bestimmten Schwellenwert heranzoomt, kann das Gerät 102 von der Verwendung von Bildern, die von der ersten Kamera 110a erfasst wurden, auf die Verwendung von Bildern umschalten, die von der zweiten Kamera 110b erfasst wurden. Darüber hinaus können mit der Zoomstufe die Transformationen und andere Operationen des EIS-Moduls 225 angepasst werden, z. B. um mit zunehmender Zoomstufe eine stärkere Stabilisierung anzuwenden, da ein Heranzoomen das offensichtliche Verwackeln des Videos verstärken kann. Die Anpassung der EIS-Verarbeitung zur Berücksichtigung des digitalen Zooms und der Übergänge zwischen den Kameras wird in den 4-6 erläutert. In einigen Implementierungen können die Transformationen durch Anwenden verschiedener Transformationen für jede Linie eines erfassten Bildes erreicht werden. Für jede Linie des Bildes kann das Gerät 102 einen spezifischen Zeitstempel für diese Linie berechnen, sodass diese Linie mit den entsprechenden OIS- und Gerätepositionsdaten assoziiert ist.
  • Weiterhin unter Bezugnahme auf 2 umfasset das EIS-Modul 255 einen Gerätepositionsdaten-Handler 256, der periodisch oder kontinuierlich aktualisierte Gerätepositionsdaten 250 von dem/den Gerätepositionssensor(en) 220 erhält. Der Bewegungsdaten-Handler schätzt die aktuelle Pose der Kamera anhand der Gerätepositionsdaten 250. Zum Beispiel kann ein Gyroskopsignal erhalten und verwendet werden, um die Geräteposition des Geräts 102 mit einer hohen Frequenz, zum Beispiel 200 Hz, zu schätzen. Diese Geräteposition zu einem gegebenen Zeitpunkt t wird nachfolgend als R(t) bezeichnet. Diese Geräteposition kann eine Drehposition des Geräts 102 in Bezug auf beispielsweise eine, zwei oder drei Achsen angeben. Die Geräteposition kann als Rotationsmatrix, in Bezug auf ein Koordinatensystem oder in einer anderen Form ausgedrückt werden. Jede berechnete Geräteposition kann mit einer Zeitangabe versehen werden, die den Zeitpunkt angibt, wenn diese Position des Geräts 102 aufgetreten ist.
  • Das EIS-Modul 255 umfasset einen OIS-Positionsdaten-Handler 258, der periodisch oder kontinuierlich die als OIS-Positionsdaten 248 veranschaulichte OIS-Positionsauslesung erhält. Der OIS-Positionsdaten-Handler 258 wandelt die OIS-Auslesewerte in Offsets um, die mit den Gerätepositionen verwendet werden können. So kann beispielsweise die Position einer OIS-Linse in einen zweidimensionalen Pixel-Offset umgewandelt werden. Zum Erzeugen des Offsets kann der OIS-Positionsdaten-Handler 258 die gespeicherten Kalibrierungsdaten 232 verwenden, die Umrechnungskoeffizienten oder -matrizen bereitstellen können, um von einer OIS-Position in den entsprechenden Offset zu übersetzen. Beim Erzeugen des Offsets aufgrund der OIS-Position können Änderungen der effektiven Brennweite der Kamera im Verlauf der Zeit berücksichtigt werden, z. B. aufgrund von Änderungen der Fokusposition der Linse und/oder der Zoomposition der Linse, wenn die erste Kamera 110a mit optischem Zoom ausgestattet ist. Ebenso wie der Bewegungsdaten-Handler 256 kennzeichnet der OIS-Positionsdaten-Handler 258 jede Messung und jeden Offset mit der Zeitangabe, welche die Daten darstellen.
  • Das EIS-Modul umfasset einen Bewegungsmodell-Konstruktor 260, der die vom Gerätepositionsdaten-Handler 256 berechneten Gerätepositionen und die vom OIS-Positionsdaten-Handler 258 berechneten OIS-Offsets empfängt. Mit diesen Daten und den Bildbelichtungsdaten 244 und den Linsen-Fokuspositionsdaten 246 erzeugt der Bewegungsmodell-Konstruktor 260 eine erste Transformation 262 für ein Einzelbild. Die erste Transformation 262 kann zum Beispiel eine Projektionsmatrix sein, welche die reale Szene im Sichtfeld der Kamera auf das erfasste Einzelbild abbildet. Dieser Prozess wird für jedes Einzelbild wiederholt. Wenn die erste Transformation 262 für ein Einzelbild erzeugt wird, können die Positionen der OIS-Module 215a-215b als Offsets von den aus den Gyroskopdaten ermittelten Hauptgerätepositionen modelliert werden. Wie weiter unten erläutert, können die Offsets eine effektive Brennweite der Kamera zum Zeitpunkt des Erfassens berücksichtigen, indem sie die effektive Brennweite für die Fokusposition der Linse zu diesem Zeitpunkt nachschlagen. Die erste Transformation 262 kann die Beziehungen zwischen verschiedenen Teilmengen oder Regionen eines einzelnen Bildes separat beschreiben. Zum Beispiel können verschiedene Abschnitte oder Komponenten der ersten Transformation 262 beschreiben, wie verschiedene Abtastlinien eines Bildes auf die reale Szene abgebildet werden. Gerätepositionen, OIS-Modulpositionen, Objektabstände (z. B. der Abstand eines von der Kamera fokussierten Objekts) und Fokuspositionen der Linse können anhand von Messzeitstempeln ausgerichtet und bei Bedarf interpoliert werden, um genaue Positionen zum Zeitpunkt der Belichtung für einzelne Abtastlinien eines Einzelbildes bereitzustellen. Bei einer Linse mit Autofokus wird die Fokusposition abhängig davon eingestellt, wie weit das Objekt von der Kamera entfernt ist. Dementsprechend gibt es eine Karte, welche die Beziehungen zwischen der Linsenfokusposition und dem Objektabstand angibt. Die Zuordnung kann erzeugt und kalibriert werden, und der Objektabstand wird bei der späteren Berechnung für den räumlichen Übergang verwendet.
  • Die erste Transformation 262, die von dem Bewegungsmodell-Konstruktor 260 erzeugt wird, wird einer nicht-linearen Bewegungsfilter-Engine 270 bereitgestellt, die eine zweite Transformation 272 ermittelt. Diese zweite Transformation 272 kann eine zweite Projektionsmatrix P'i,j sein, die Bilddaten für ein Einzelbild auf ein Ausgabe-Frame projiziert, das eine stabilisierte Version des Einzelbilds darstellt. Insbesondere kann die zweite Transformation 272 die mit der ersten Transformation 262, Pi,j, erstellte Bildprojektion auf das Ausgabe-Frame abbilden, anstatt die Bilddaten in der erfassten Form zu verwenden. In einigen Implementierungen können die beiden Transformationen 262, 272 dann zu einer einzigen Transformation kombiniert werden, welche die anfänglich erfassten Bilddaten eines Einzelbildes betreibt und diese direkt auf ein stabilisiertes Ausgabe-Frame abbildet.
  • Um die Bewegung effektiv zu stabilisieren, kann die nicht-lineare Bewegungsfilterungs-Engine 270 die zweite Transformation 272 erzeugen, um Bewegungen zu berücksichtigen, die in der Zukunft, nach dem Erfassen des zu verarbeitenden Einzelbilds, auftreten werden. Zum Beispiel kann es sein, dass sich die Position des Aufzeichnungsgeräts für ein aktuelles Einzelbild, das analysiert wird, seit dem vorherigen Einzelbild nicht wesentlich bewegt hat. Wenn die Engine 270 jedoch ermittelt, dass in zukünftigen Einzelbildern eine signifikante Bewegung auftritt, kann die zweite Transformation 272 erzeugt werden, um das aktuelle Einzelbild zu verschieben oder anderweitig zu verändern, um eine scheinbare Bewegung in das Video einzuführen, sodass eine große zukünftige Bewegung als eine Reihe allmählicher Änderungen und nicht als eine abrupte Änderung verteilt werden kann. Ebenso kann die zweite Transformation 272 erzeugt werden, wenn die Stabilisierung zukünftiger Einzelbilder Beschneidungen oder andere Änderungen mit sich bringt, um diese Änderungen zumindest teilweise auf frühere Einzelbilder zu übertragen und so eine allmählichere und konsistentere Änderung über die Reihe der Einzelbilder zu erreichen.
  • Die nicht-lineare Filter-Engine 270 kann die zweite Transformation 272 aus einer virtuellen Kameraposition für ein Einzelbild erzeugen. Anstatt die tatsächliche Position der Kamera bei der Belichtung darzustellen, kann die virtuelle Kameraposition eine angepasste oder hypothetische Stellung des Geräts 102 darstellen, die das aufgezeichnete Video stabilisieren würde. Eine virtuelle Position kann eine gewünschte Position darstellen, um eine virtuelle Kamera zu platzieren, z. B. eine Position, die eine bestimmte Ansicht oder Perspektive einer Szene simulieren würde. Im Allgemeinen kann jede Kameraposition durch ihre Drehung und Verschiebung in Bezug auf ein globales Bezugsbild dargestellt werden. Die virtuelle Kameraposition kann als Rotationsmatrix ausgedrückt werden, z. B. als eine Matrix, die Rotationsoffsets relativ zu einer Bezugsposition angibt. Dabei kann es sich um eine 3x3-Matrix handeln, die Rotationsoffsets in Bezug auf 3 Drehachsen angibt. In einigen Implementierungen definiert die Stabilisierungsverarbeitung des EIS-Moduls Positionen nur in Bezug auf die Rotationskomponenten, da diese im Allgemeinen die größten Auswirkungen auf die Stabilität von Handheld-Videos aufweisen.
  • Die virtuelle Kameraposition für ein Einzelbild kann Anpassungen an den geschätzten Kamerapositionen widerspiegeln, um die Videostabilisierung zu verbessern, Verzerrungen und Operationen zu korrigieren, Schwenken zu erleichtern und das Video anderweitig zu verbessern. Das Ermitteln der virtuellen Kameraposition für ein Einzelbild kann durch Erzeugen einer anfänglichen Kameraposition erfolgen, die basierend auf einer Vielzahl von Faktoren angepasst wird. Die virtuelle Kameraposition kann beispielsweise durch Filterung der Gerätepositionen basierend auf der vor und nach einem Einzelbild erkannten Bewegung, basierend auf dem Betrag der Unschärfe im Einzelbild, basierend auf der Wahrscheinlichkeit eines Schwenkens, durch Anpassungen zur Vorbereitung auf Bewegungen in zukünftigen Einzelbildern und/oder zur Sicherstellung, dass die Bilddaten ein gesamtes Ausgabe-Frame abdecken, angepasst werden. Die verschiedenen Faktoren können berücksichtigt werden, indem eine Reihe von virtuellen Kamerapositionen für ein Einzelbild erzeugt wird, die verändert, überlagert oder anderweitig verwendet werden, um eine endgültige virtuelle Kameraposition für das Einzelbild zu ermitteln.
  • So wie die Transformationen 262, 272 unterschiedliche Zuordnungen für unterschiedliche Abtastlinien aufweisen können, können auch unterschiedliche virtuelle Kamerapositionen für unterschiedliche Abtastlinien eines Einzelbildes ermittelt werden, um Änderungen der Geräteposition, der Position der OIS-Module 215a-215b und/oder der Linsenfokusposition während der Bilderfassung auszugleichen. Somit können unterschiedliche virtuelle Kamerapositionen für verschiedene Teile eines Einzelbilds verwendet werden. Um wirksam zu sein, können virtuelle Kamerapositionen und die entsprechenden Komponenten der zweiten Transformation 272 für eine geeignete Teilmenge der Abtastlinien eines Bildsensors berechnet und die entsprechenden Daten dann für die verbleibenden Abtastlinien interpoliert werden. In verschiedenen Beispielen wird der Einfachheit halber eine einzelne Abtastlinie, beispielsweise die mittlere Abtastlinie des Bildsensors, erläutert. Die Techniken zum vollständigen Berechnen der virtuellen Kamerapositionen und der entsprechenden Komponenten der Projektionsmatrix können für mehrere Abtastlinien eines Einzelbildes und sogar für jede Abtastlinie einzeln verwendet werden, falls gewünscht.
  • Wie hierin verwendet, bezieht sich eine Geräteposition auf eine Position des Geräts 102, z. B. wie durch die Gerätepositionsdaten 250 (z. B. Gyroskopdaten) und die Ausgabe des Gerätepositionsdaten-Handlers 256 angegeben. Diese Position auf Geräteebene gibt die Stellung oder Ausrichtung des Geräts 102 an, ohne die interne Bewegung der Linsen der ersten Kamera 110a oder die Bewegung der OIS-Module 215a-215b zu berücksichtigen. Wie hierin verwendet, gibt eine Kameraposition eine Position an, die einer effektiven oder geschätzten Sicht der Kamera entspricht. Unter Berücksichtigung von Verschiebungen aufgrund der Operation der OIS-Module 215a-215b, der Linsenatmung und anderer Faktoren kann die Kameraposition von der Geräteposition abweichen. Ferner können Kamerapositionen virtuelle Positionen sein, z. B. Annäherungen oder hypothetische Positionen, die eine erweiterte oder veränderte Sicht auf die Kamera widerspiegeln, anstatt eine tatsächliche Sicht auf die Kamera.
  • Das EIS-Modul 255 verwendet dann eine Bildverzerrungs-Engine 280, um die Ausgabe der nicht-linearen Bewegungsfilter-Engine 270 abzubilden und jedes erfasste Einzelbild in ein Ausgabe-Frame umzuwandeln. Die zweite Projektion 272 kann Komponenten umfassen, die jeder Abtastlinie eines Einzelbildes entsprechen, sodass jeder Teil des Einzelbildes auf den Ausgaberaum abgebildet wird und jedes der Pixel des Ausgabe-Frames definiert wird. Die Verarbeitung des EIS-Moduls 255 kann für jedes Einzelbild des Videos ausgeführt werden.
  • 3 ist ein Diagramm, das ein Beispiel von Daten veranschaulicht, die zur Videostabilisierung verwendet werden. Das Diagramm stellt eine Reihe von Einzelbildern 310 dar, die von dem Gerät 102 erfasst werden. Jedes Einzelbild ist mit einem entsprechenden Satz von Metadaten 312 gekennzeichnet, die beispielsweise die Belichtungsdauer, einen Bezugszeitpunkt für die Belichtung (z. B. eine Startzeit, eine Stoppzeit oder einen anderen Bezugspunkt für die Belichtung), eine Linsenfokusposition und so weiter angeben. Obwohl nicht veranschaulicht, werden die Gerätepositionsdaten und die Positionsdaten des OIS-Moduls zu verschiedenen Zeitpunkten während der einzelnen Belichtungen erfasst und mit einem Zeitstempel versehen.
  • Um eine stabilisierende Verarbeitung für ein Einzelbild 311 durchzuführen, wird ein Zeitbereich um das Erfassen des Einzelbildes 311 definiert. Dieser Zeitbereich oder dieses Fenster von Einzelbildern wird analysiert, um zu ermitteln, wie das Einzelbild 311 umgewandelt werden soll. Wie hierin verwendet, bezieht sich die Zeit „t“ für ein Einzelbild im Allgemeinen auf den Zeitpunkt der Erfassung der mittleren Abtastlinie, die verwendet wird, um den Bezugszeitpunkt der Erfassung für das Einzelbild darzustellen. Beim Bezug auf einen Zeitpunkt einer einzelnen Abtastlinie (z. B. um eine Zeit zu berücksichtigen, die sich von der Haupterfassungszeit für die mittlere Abtastlinie des Einzelbildes unterscheiden kann), wird der Zeitpunkt mit tL bezeichnet, wobei L ein Index oder Identifizierer für die spezifische Abtastlinie ist. Die Belichtungszeit t der mittleren Abtastlinie des zu analysierenden Einzelbildes 311 kann als Mittelpunkt des für die Analyse verwendeten Zeitbereichs verwendet werden. Ein vorbestimmter zeitlicher Versatz, Q, kann verwendet werden, um den Bereich einzustellen, z. B. einen Zeitbereich von [t-Q, t+Q]. In einigen Implementierungen beträgt dieser zeitliche Versatz Q etwa 200 ms. Folglich würde der Bereich etwa 7 Einzelbilder vor und etwa 7 Einzelbilder nach dem Einzelbild 311 umfassen. Größere und kleinere zeitliche Versätze, Q, können verwendet werden. Da das EIS-Modul 255 bei der Verarbeitung den Kontext zukünftiger Einzelbilder verwendet, wird die Verarbeitung eines Einzelbildes so lange verzögert, bis die entsprechende Anzahl von nachfolgenden Einzelbildern erfasst wurde.
  • In 3 ist das Einzelbild 311 so dargestellt, wie es von einem Bildsensor (z. B. einer der beiden Kameras 110a-110b) erfasst wurde. Wie vorstehend erläutert, definiert das EIS-Modul 255 eine erste Transformation 262 aus Daten, welche die realen Positionen des Geräts 102 während der Erfassung des Einzelbildes 311 sowie die Positionen von Kameraelementen wie den OIS-Modulelementen und der Linsenfokusposition angeben. Das Ergebnis des Anwendens der ersten Transformation 262 ist ein projiziertes Bild 330, das in Bezug auf ein Ausgabe-Frame-Ziel 335 dargestellt wird. In einigen Implementierungen wird die erste Transformation 262 nur unter Verwendung der Daten ermittelt, die der Erfassung des Einzelbildes 311 entsprechen. Die Transformation 262 entspricht der realen Linsenposition der Kamera, sodass das projizierte Bild 330 eine Zuordnung zwischen den Bilddaten und der tatsächlichen Szene im Blickfeld der Kamera abbildet.
  • Das EIS-Modul 255 verwendet eine zweite Transformation 272, um ferner die Bilddaten des Einzelbildes 311 anzupassen. Diese zweite Transformation 272 entspricht einer virtuellen Linsenposition, z. B. einer hypothetischen Position, die ein stabileres Video ergeben hätte, wenn sie zur Verwendung des Einzelbildes 311 verwendet worden wäre. Diese zweite Transformation 272 erzeugt, wenn sie auf das Einzelbild 311 angewendet wird, das projizierte Bild 340, das die Daten für das Ausgabe-Frame 335 vollständig definiert.
  • Die zweite Transformation 272, die das projizierte Bild 340 erzeugt, kann aus Daten erzeugt werden, die jedem der Einzelbilder im Zeitbereich von [t-Q, t+Q] entsprechen. Für eine gleichmäßige Bewegung im Verlauf der Zeit können die Positionen R(t) des Geräts 102 gefiltert werden, z. B. unter Verwendung eines Gauß-Filters. Der hier angeführte Satz von Positionen R(t) umfasset die Position des Geräts 102 zu jedem der Bezugszeitpunkte der Abtastlinie, die im Bereich [t-Q, t+Q] liegen. Bei einem Beispiel, bei dem der Bereich die Erfassungszeit der mittleren Abtastlinie für das aktuell verarbeitete Einzelbild, to, und die Erfassungszeiten der mittleren Abtastlinie für sieben Einzelbilder vor und nach dem aktuell verarbeiteten Einzelbild umfasst. Der gefilterte Satz von Positionen wäre der Satz {R(t-7), R(t-6), ... , R(t-1), R(t0), R(t1), ... , R(t6), R(t-7)}. Das Ergebnis der Filterung zum Zeitpunkt t, die Belichtung der mittleren Abtastlinie des Einzelbildes 311, kann als anfängliche virtuelle Kameraposition, V0(t), verwendet werden. Auch mit Filterung kann es zu unerwünschten Bewegungen in den Gerätepositionen oder anderen Faktoren kommen, die zu unerwünschten Bewegungen führen. Dadurch kann die anfängliche virtuelle Kameraposition, V0(t), durch eine Reihe weiterer Operationen aktualisiert werden. In einigen Implementierungen handelt es sich bei den gefilterten Positionen R(t) um Positionen, die keine OIS-Bewegung voraussetzen, weshalb die Positionen auf Gerätepositionsdaten 250 ohne Berücksichtigung der OIS-Positionsdaten 248 basieren können. In anderen Implementierungen können die OIS-Bewegung und die Offsets in den Satz von Positionen einfließen, die gefiltert werden, um die anfängliche virtuelle Kameraposition V0(t) zu erzeugen.
  • Zum Beispiel kann eine zweite virtuelle Kameraposition V1(t) erzeugt werden, indem die Position V0(t) mit einer endgültigen Kameraposition VF(tpre) für das vorherige Einzelbild basierend auf einem Bewegungsbetrag, der in zukünftigen Einzelbildern auftritt, interpoliert wird. Die endgültige Kameraposition VF(tpre) kann die virtuelle Kameraposition (z. B. verwendet zum Erzeugen des aufgezeichneten Ausgabe-Frames) für die mittlere Abtastlinie des unmittelbar vor dem Einzelbild 311 erfassten Einzelbildes sein. Die Kameraposition für das vorherige Einzelbild kann eine endgültige virtuelle Kameraposition sein, z. B. die Position, die den Transformationen entspricht, die verwendet wurden, um die stabilisierte Ausgabe-Version des vorherigen Einzelbildes zu erzeugen. Durch die Interpolation kann die scheinbare Änderung der Bewegung zwischen dem Einzelbild 311 und dem vorherigen Einzelbild an die scheinbare Änderung der Bewegung zwischen dem Einzelbild 311 und den zukünftigen Einzelbildern angepasst werden.
  • Eine dritte virtuelle Kameraposition, V2(t), kann durch Interpolation von V1(t) mit der realen Geräteposition R(t) erzeugt werden, basierend auf der im Einzelbild 311 vorliegenden Bewegungsunschärfe der Kamera. Dadurch kann der Betrag der angewandten Stabilisierung reduziert werden, um die Wahrnehmung der Unschärfe durch den Betrachter zu verringern. Da Bewegungsunschärfe im Allgemeinen nicht entfernt werden kann, kann dies die Stabilität des Videos verringern, wenn dies sinnvoll ist, um ein natürlicheres Ergebnis zu erzielen.
  • Eine vierte virtuelle Kameraposition, V3(t), kann erzeugt werden, um einen Zeitpunkt zu simulieren oder darzustellen, der während einer gleichmäßigen Bewegung des Geräts 102 im Verlauf der Zeit [t-Q, t+Q] auftritt. Das Ermitteln dieser Position kann durch Anwenden eines stabilen Filters, wie z. B. eines Domänentransformationsfilters, auf die geschätzten tatsächlichen Gerätepositionen R(t) im Verlauf der Zeit erfolgen. Obwohl der Filter auf denselben Satz von Gerätepositionen angewendet wird, die zum Erzeugen von V0(t) verwendet wurden, stellt dieser Schritt eine andere Art von Filterung dar. Zum Beispiel kann V0(t) durch eine Filterung erzeugt werden, die Änderungen der geschätzten tatsächlichen Gerätepositionen im Verlauf der Zeit glättet, aber im Allgemeinen folgt, ohne eine vorbestimmte Form oder ein Muster vorzugeben. Im Gegensatz dazu wird V3(t) erzeugt, indem die Gerätemuster so gefiltert werden, dass sie einem vorbestimmten, konsistenten Bewegungsmuster entsprechen, wie z. B. einem im Wesentlichen linearen Schwenken oder einer anderen Bewegung, die möglicherweise von einem Benutzer des Geräts 102 beabsichtigt ist.
  • Eine fünfte virtuelle Kameraposition, V4(t), kann als Interpolation von V3(t) und V2(t) erzeugt werden. Das EIS-Modul 255 kann bewerten, ob die Änderungen der Geräteposition im Verlauf der Zeit voraussichtlich ein Schwenken des Geräts 102 darstellen, und kann die Interpolation entsprechend gewichten oder anpassen. Wenn eine hohe Wahrscheinlichkeit für ein Schwenken ermittelt wird, liegt V4(t) nahe an der geschätzten Schwenkposition V3(t). Wenn die Wahrscheinlichkeit eines Schwenkens als gering ermittelt wird, liegt V4(t) näher an der Position V2(t).
  • Anhand der fünften virtuellen Kameraposition, V4(t), kann das EIS-Modul 255 die Abdeckung bewerten, die eine entsprechende Transformation für das Ausgabe-Frame 335 bereitstellen würde. Da es erwünscht ist, das gesamte Ausgabe-Frame 335 auszufüllen und keine Pixel undefiniert zu lassen, kann das EIS-Modul 255 eine Transformation ermitteln, wie z. B. eine Projektionsmatrix, die eine Ansicht der Szene von der virtuellen Kameraposition V4(t) darstellt, und überprüfen, ob das projizierte Bild das Ausgabe-Frame 335 abdecken würde. Um Bewegungen in zukünftigen Einzelbildern zu berücksichtigen, kann die Transformation auf den Abschnitt der Szene angewendet werden, der durch die zukünftigen Einzelbilder erfasst wird. Die Transformation und die entsprechende virtuelle Kameraposition V4(t) können so angepasst werden, dass das aktuelle Einzelbild und jedes einer Reihe von zukünftigen Einzelbildern das Ausgabe-Frame 335 vollständig definieren, wenn es unter Nutzung der Transformation abgebildet wird. Die resultierende Transformation kann als Transformation 272 eingestellt und zum Erzeugen des stabilisierten Ausgabe-Frames 335 für das Einzelbild 311 verwendet werden.
  • In einigen Implementierungen umfasset das Erzeugen des stabilisierten Ausgabe-Frames 335 für das Einzelbild 311 das Durchführen der EIS-Verarbeitungstechniken, die für die Abtastlinie L, die zum Zeitpunkt tL belichtet wird, für eine oder mehrere andere Abtastlinien des Einzelbildes 311 erläutert wurden. Die Verarbeitung kann zum Beispiel für Abtastlinien in bestimmten Abständen (z. B. alle 100 Abtastlinien, alle 500 Abtastlinien usw.) oder an bestimmten Bezugspunkten (z. B. ein Viertel und drei Viertel des Einzelbildes oder am oberen und unteren Rand des Einzelbildes) ausgeführt werden. Wenn die virtuellen Kamerapositionen und die zweite Transformation 272 nur für eine geeignete Teilmenge der Abtastlinien des Einzelbildes 311 ermittelt werden, werden die Transformationen (z. B. die entsprechenden Abschnitte einer Projektionsmatrix) für die Abtastlinien zwischen den berechneten Positionen interpoliert. Auf diese Weise wird für jede Abtastlinie eine geeignete Transformation ermittelt, und jede Abtastlinie kann als Ergebnis eine andere Transformation aufweisen. In einigen Implementierungen kann das vollständige Verarbeiten des Erzeugens virtueller Kamerapositionen und einer zweiten Transformation 272 für jede Abtastlinie jedes Einzelbildes erfolgen, ohne dass eine Interpolation zwischen Daten für verschiedene Abtastlinien erforderlich ist.
  • Sobald das Einzelbild 311 auf das Ausgabe-Frame 335 abgebildet ist, wird das Ergebnis gespeichert und das EIS-Modul 255 beginnt mit dem Verarbeiten des nächsten Einzelbildes. Der Prozess wird fortgesetzt, bis jedes Einzelbild des Videos verarbeitet ist.
  • Die verschiedenen Faktoren, die zum Erzeugen der virtuellen Kamerapositionen und der daraus resultierenden Transformation verwendet werden, können in Kombination oder einzeln verwendet werden. Abhängig von der Implementierung können beispielsweise einige der Interpolationen und Anpassungen, die zum Erstellen der virtuellen Kamerapositionen V0(t) bis V4(t) verwendet werden, weggelassen werden. In verschiedenen Implementierungen kann beispielsweise eine der gefilterten Kamerapositionen V0(t) bis V3(t) verwendet werden, um eine Transformation zu ermitteln, mit der die Daten auf ein Ausgabe-Frame projiziert werden, anstatt V4(t) zu diesem Zweck zu verwenden. Dementsprechend kann das Verwenden einer der gefilterten Kamera- Positionen V0(t), V1(t)und V2(t) zum Erzeugen einer stabilisierenden Transformation die Stabilität des Videos noch verbessern. Ebenso kann V3(t) wirksam sein, um Videos zu stabilisieren, wobei Schwenkbewegungen auftreten. Viele weitere Variationen sind im Umfang der Offenbarung möglich, selbst wenn nur eine Teilmenge der verschiedenen erläuterten Faktoren berücksichtigt wird.
  • Die erläuterten Techniken lassen sich auf verschiedene Weise anwenden. Anstatt die beiden Transformationen 262, 272 sequenziell auf die Bilddaten anzuwenden, kann das Aufzeichnungsgerät beispielsweise eine einzige kombinierte Transformation erzeugen, welche die kombinierten Effekte beider Transformationen widerspiegelt. Somit kann das Erzeugen von stabilisierten Bilddaten unter Nutzung der Transformationen 262, 272 das Erzeugen von weiteren Transformationen oder Beziehungen einschließen, die letztendlich zur Stabilisierung der Bilddaten verwendet werden, anstatt die Transformationen 262, 272 direkt zu verwenden. Es werden verschiedene Techniken zur Bildstabilisierung beschrieben, und andere Techniken können zusätzlich oder alternativ verwendet werden, wie z. B. die Techniken, die in dem US-Patent Nr. 10,462,370 erläutert werden, das am 29. Oktober 2019 erteilt wurde und hierin durch Bezugnahme aufgenommen ist.
  • 4 ist ein Blockdiagramm, das weitere Beispiele zur Verarbeitung durch das Gerät 102 der 1A-1B angibt. Zusätzlich zu den in 2 dargestellten Elementen, von denen einige in 4 erneut dargestellt sind, kann das Gerät 102 Hardware- und/oder Softwareelemente umfassen, um die in 4 dargestellten zusätzlichen Funktionen bereitzustellen.
  • Das Gerät 102 kann ein Zoom-Eingabeverarbeitungsmodul 410 umfassen, um Benutzereingaben an das Gerät 102 zu verarbeiten, die eine angeforderte Änderung der Zoomstufe angeben. Während das Gerät 102 Videos erfasst, kann es auch bei aktiviertem EIS Benutzereingaben zum Ändern der Zoomstufe empfangen. Dies kann Eingaben zum Bewegen eines Schiebereglers auf dem Bildschirm, eine Geste auf einem Touchscreen oder andere Eingaben umfassen. Eine Zoomstufe von 1,0x kann das breiteste Sichtfeld darstellen, das bei Verwendung der Kamera 110a mit aktiviertem EIS zur Verfügung steht. Dabei kann es sich um einen Ausschnitt aus der nativen Auflösung des Bildsensors handeln, um einen Spielraum für die EIS-Verarbeitung bereitzustellen. Das Modul 410 kann basierend auf der Benutzereingabe die gewünschte Zoomstufe ermitteln, beispielsweise, um von einer aktuellen Zoomstufe (z. B. 1,0x) zu einer geänderten oder gewünschten Zoomstufe (z. B. 2,0x) zu bewegen.
  • Die Daten, welche die angeforderte Zoomstufe angeben, werden einem Kameraselektor-Modul 420 bereitgestellt, das ermittelt, ob die für die Videoaufzeichnung verwendete Kamera umgeschaltet werden soll. Zum Beispiel kann das Kameraauswahlmodul 420 gespeicherte Kameraübergangsschwellenwerte 430 empfangen und verwenden, welche die Zoomstufen angeben, wobei die Übergänge zwischen den Kameras erfolgen sollten. Das Modul 410 kann basierend auf der Benutzereingabe die gewünschte Zoom-Stufe ermitteln, beispielsweise, um von einer aktuellen Zoom-Stufe (z. B. 1,0x) zu einer geänderten oder gewünschten Zoom-Stufe (z. B. 2,0x) zu bewegen. Der Kamera-Selektor 420 ermittelt, dass die gewünschte Zoomstufe von 2,0 den Schwellenwert von 1,8x erfüllt (z. B. größer oder gleich dem Schwellenwert ist), sodass eine Änderung der Kamera von der Erfassung an, die eine Zoomstufe von 1,8x darstellt, angemessen ist. Es können mehrere Schwellenwerte definiert werden, beispielsweise ein erster Schwellenwert für die Vergrößerung (z. B. Verengung des Sichtfelds) und ein zweiter Schwellenwert für die Verkleinerung (z. B. Erweiterung des Sichtfelds). Diese Schwellenwerte können unterschiedlich sein. Zum Beispiel kann der erste Schwellenwert 1,8 und der zweite Schwellenwert 1,7 betragen, sodass der Übergangspunkt abhängig davon ist, ob der Benutzer hinein- oder herauszoomt.
  • In einigen Implementierungen wird der Wechsel zwischen den Kameras 110a, 110b durch mehr als nur einen Schwellenwert gesteuert. In einer Situation, in der das Gerät Videos mit der Kamera 110b aufzeichnet, veranlasst der Benutzer das Herauszoomen auf eine Stufe, die bewirkt, dass stattdessen die breitere Kamera 110a verwendet wird. Unter der Annahme, dass der Schwellenwert für das Umschalten von der Kamera 110a auf die Kamera 110b beim Heranzoomen auf 1,8x eingestellt ist und die niedrigste Zoomstufe, die von der Kamera 110b verwendet werden kann, 1,7x ist (z. B. die Zoomstufe, die das volle maximale Sichtfeld der aktuellen Kamera 110b darstellt). Wenn also herausgezoomt wird, muss der Übergang über die Zoomstufe 1,7x erfolgen, da die zweite Kamera 110b kein breiteres Sichtfeld bereitstellen kann als dieses. Wenn die Zoomstufe auf 1,9x reduziert wird, beginnt die Kamera 110a mit dem Datenstrom, obwohl das Ausgabe-Frame immer noch auf den von der Kamera 110b ausgegebenen aktuellen Bilddaten basiert. Dadurch wird eine Zeitspanne bereitgestellt, z.B. während des Übergangs von der Zoomstufe von 1,9x auf 1,8x, in der beide Kameras 110a, 110b Bilddaten der Szene erfassen und streamen. Dies stellt eine Anpassungszeit zum anfänglichen Erfassen mit der Kamera 110a bereit, sodass die Kamera 110a „warmlaufen“ kann und die automatische Fokussierung, die automatische Belichtung und andere Prozesse zu konvergieren beginnen. Dieser Anpassungszeitraum kann einen Spielraum für die Einstellungen der Kamera 110a bereitstellen, damit ihre Einstellungen und die Erfassung anfänglich mit denen übereinstimmen, die von der Kamera 110a vor dem Wechsel verwendet wurden.
  • Auf diese Weise kann das Gerät 102 basierend auf Faktoren wie der aktuellen Zoomstufe, der Richtung der Zoomänderung und der Interaktion des Benutzers mit dem Gerät 102 die Notwendigkeit eines Wechsels zwischen den Kameras vorhersehen und sich darauf vorbereiten. Sobald erkannt wird, dass voraussichtlich ein Kamerawechsel erforderlich ist, z. B. basierend auf Benutzereingaben, die eine Verringerung der Zoom-Stufe auf 1,9x anweisen, kann das Gerät 102 Einstellungen anweisen, die mit dem Erfassen mit der nächsten zu verwendenden Kamera 110a beginnen, bevor der Benutzer eine Zoom-Stufe anweist, wenn ein Übergang angestrebt wird oder wenn dieser notwendig wird. Wenn das Gerät 102 zum Beispiel mit der Videoerfassung und Einstellungsanpassung beginnt, wenn der Benutzer eine Zoom-Stufe von 1,9x anweist, und die Kamera 110a zu dem Zeitpunkt, an dem der Benutzer eine Zoom-Stufe von 1,8x anweist, bereit ist und mit den gewünschten Einstellungen arbeitet, dann kann das Gerät 102 die Kamera umschalten, sobald die Zoom-Stufe von 1,8x angewiesen wird. Wenn jedoch aus irgendeinem Grund die Konvergenz oder die Implementierung der Einstellungen zu dem Zeitpunkt, an dem die Zoom-Stufe von 1,7x angewiesen wird (z. B. das maximale Sichtfeld der aktuellen Kamera 110b), nicht abgeschlossen ist, erzwingt das Gerät 102 ein Umschalten, wenn die Zoom-Stufe 1,7x erreicht.
  • Der Kamera-Selektor 420 stellt einem Kamerasteuerungsmodul 440 ein Kameraauswahlsignal oder andere Steuerdaten bereit. Das Kamerasteuerungsmodul 440 liest die Videoerfassungsparameter von den Kameras 110a, 110b und sendet auch Anweisungen oder Einstellungen zum Einstellen der Videoerfassungsparameter. Die Videoerfassungsparameter können zum Beispiel umfassen, welche Kamera 110a, 110b die Bilddaten erfasst, die Bildaufzeichnungsrate (z. B. 24 Bilder pro Sekunde (fps), 30fps, 60fps usw.), Belichtungseinstellungen, die Empfindlichkeit des Bildsensors, die Verstärkung (z. B. vor oder nach der Bilderfassung angewendet), die Bilderfassungszeit (z. B. die effektive „Verschlusszeit“ oder die Dauer, in der jede Abtastlinie während eines Einzelbildes Licht einfängt), die Größe der Blendenöffnung, der Objektabstand (z. B. der Abstand eines fokussierten Objekts von der Kamera), die Linsenfokusposition oder der Fokusabstand, der OIS-Status (z. B. ob OIS aktiviert ist oder nicht, ein OIS-Modus verwendet wird usw.), die OIS-Linsenposition (z. B. horizontale und vertikale Offsets, Drehposition usw.), die Stärke oder das Niveau des angewandten OIS usw. Das Kamerasteuerungsmodul 440 kann diese und andere Videoerfassungsparameter für die allgemeine Videoerfassung einstellen, z. B. Belichtung, Bildrate usw. Das Kamerasteuerungsmodul 232 kann auch die Kalibrierungsdaten 232 empfangen oder darauf zugreifen. Für jedes Gerät, z. B. für das Gerät 102, kann als Teil der Herstellung und Qualitätssicherung des Geräts ein Kalibrierungsverfahren durchgeführt werden. Die Kalibrierungsdaten können beispielsweise Daten zur Feinabstimmung der Beziehungen der Kameras 110a, 110b relativ zueinander, der Beziehungen zwischen Linsenfokuspositionen und Objektabstand (z. B. Abstand der Brennebene) für verschiedene Linsenpositionen und so weiter angeben.
  • Das Kamerasteuerungsmodul 440 kann auch die Kameras 110a, 110b zu den entsprechenden Zeiten aktivieren und deaktivieren, um das Umschalten der Kamera zu veranlassen, das durch den Kamera-Selektor 420 angegeben wird. Wenn beispielsweise die Eingabedaten eine Änderung der Zoomstufe von 1,0x auf 2,0x angeben und die Daten des Kameraauswahlmoduls 420 einen Wechsel zur zweiten Kamera 110b ab 1,8x veranlassen, kann das Kamerasteuerungsmodul 440 die entsprechenden Anweisungen erzeugen, um diesen Übergang zu veranlassen. Das Kamerasteuerungsmodul 440 ermittelt anhand der gespeicherten Informationen über die angeforderte Zoomgeschwindigkeit und etwaiger Einschränkungen der Geschwindigkeit, mit der das Zoomen durchgängig ausgeführt werden kann, einen Zeitpunkt für den Wechsel, z. B. einen Zeitpunkt, an dem der inkrementelle oder graduelle Zoom, der sich in der Bildausgabe widerspiegelt, den 1,8x Kameraübergangspunkt erreicht. Diese Zeit für den Übergang kann auf einer Dauer oder einer Anzahl an Einzelbildern basieren, um die Datenerfassung mit der ersten Kamera 110a fortzusetzen, bis der digitale Zoom reibungslos die 1,8-fache Zoom-Stufe erreichen kann, oder auf einem Zeitpunkt, der durch die Benutzereingabe festgelegt wird, dass die 1,8-fache Zoom-Stufe erreicht ist.
  • In Erwartung des Kameraübergangs kann das Kamerasteuerungsmodul 440 Videoerfassungsparameter von der aktuellen Kamera (z. B. der ersten Kamera 110a) lesen und entsprechende Videoerfassungsparameter für die Kamera einstellen, die nach dem Übergang verwendet werden soll (z. B. die zweite Kamera 110b). Dies kann das Einstellen der gleichen Bildrate, der gleichen Belichtungsstufe, der gleichen Blendenöffnung, des gleichen Fokusabstands, des gleichen OIS-Modus oder -Status (z. B. ob aktiviert oder nicht) und so weiter umfassen. Im Allgemeinen gibt es vor einem Übergang zwischen den Kameras eine Zeitspanne, in der beide Kameras 110a, 110b aktiv und gleichzeitig Videodaten erfassen. So wird beispielsweise beim Umschalten von der ersten Kamera 110a auf die zweite Kamera 110b, bevor die Zoom-Stufe den Schwellenwert zum Umschalten erreicht, um die Ausgabe der Kamera 110b für das aufgezeichnete Video zu verwenden, die Kamera 110b geöffnet und die Videoerfassung begonnen. Die anfänglichen Werte für die Einstellungen basieren auf den Werten von Einstellungen, die zur Zeit für die Kamera 110a verwendet werden. Die Kamera 110b beginnt, ihre Operation auf die angewiesenen Einstellungen anzupassen, z. B. zur Annäherung an den gewünschten Betriebsmodus (z. B. geeignete Blendeneinstellung, korrekte Einstellung des Fokusabstands, richtige OIS-Einstellung usw.). Dieser Prozess kann das Ermitteln der geeigneten Einstellungen durch die Kamera 110b oder das Gerät 102 umfassen, wie z.B. mit einem Autofokus-Prozess, um den richtigen Fokusabstand zu ermitteln. Nachdem die Konvergenz oder das Berechnen von Einstellungen für die Kamera 110b erfolgt ist, wird der für die Aufzeichnung verwendete Video-Stream auf den von der Kamera 110b ausgegebenen Video-Stream umgeschaltet. In einigen Fällen sind die Parameter der Kameras 110a und 110b möglicherweise nicht gleich, aber die Parameter für die Kamera 110b können dennoch basierend auf den von der Kamera 110a verwendeten Parametern zur Erfassung eingestellt werden und können zur Förderung oder Beibehaltung der Konsistenz zwischen den Ausgaben eingestellt werden. Die Kameras 110a, 110b weisen beispielsweise möglicherweise nicht dieselben Blendenbereiche auf, sodass das Kamerasteuerungsmodul 440 für die beiden Kameras 110a, 110b gleichwertige oder annähernd gleichwertige Belichtungsstufen einstellen kann, dies jedoch mit unterschiedlichen Kombinationen von Einstellungen für Empfindlichkeit/Verstärkung, Belichtungszeit (z. B. Verschlusszeit) und Blende tun kann. Das Kamerasteuerungsmodul 440 kann die Kamera, auf die übergegangen werden soll, mit den entsprechenden Einstellungen vor dem Übergang zur Verwendung dieser Kamera für die aufgezeichneten endgültigen Ausgabe-Frames aktivieren, sodass die Bilderfassung und eine eingehende Videoeingabe zum oder vor dem Zeitpunkt des Übergangs verfügbar sind.
  • Die Videodaten werden unter Nutzung eines Bildverarbeitungsmoduls 450 verarbeitet. Dieses Modul 450 kann erfasste Videobilder, die von der Kamera 110a, 110b, die gerade für die Videoerfassung ausgewählt ist, gestreamt werden, empfangen. Das Modul 450 empfängt auch Sensordaten von Gerätepositionssensoren, wie z. B. Gyroskop(en), Trägheitsmesseinheit(en) (IMUs), Beschleunigungsmesser usw. Das Modul 450 empfängt auch Werte für Videoerfassungsparameter (z. B. von dem Kamerasteuerungsmodul oder vom Speicher), welche die Parameter angeben, die zum Erfassen der Videobilder verwendet werden. Dies kann Metadaten umfassen, die OIS-Elementpositionen, Kamerafokuspositionen, Objektabstände, Bilderfassungszeiten, Verschlusszeit/Erfassungsdauer und so weiter für jedes Einzelbild und auch für verschiedene Abschnitte von Einzelbildern angeben, sogar für bestimmte Abtastlinien oder Zeiten innerhalb des Prozesses zum Erfassen oder Lesen eines Einzelbildes (siehe 2, Tabelle 252). Das Modul 450 empfängt auch Daten, welche die digitalen Zoom-Stufen angeben (z. B. in Form einer Vergrößerungsstufe, einer gleichwertigen Objektivbrennweite, eines resultierenden Sichtfelds, eines Ausschnitts, usw.). Das Bildverarbeitungsmodul 450 wendet Transformationen auf die erfassten Bilder an, um Artefakte zu entfernen, die durch Rolling-Shutter, Bewegungen des OIS-Systems, Fokusatmung und so weiter entstehen. Das Modul 450 kann beispielsweise ein Videobild erhalten und es in einen kanonischen Raum für die Kamera transformieren oder projizieren, die das Einzelbild erfasst hat, wobei in dem kanonischen Raum zeitlich variierende Aspekte der Erfassung des Einzelbildes (z. B. die Bewegung der OIS-Elemente, Rolling-Shutter usw.) entfernt werden.
  • Das Modul 450 kann das Einzelbild in den kanonischen Kameraraum für die erste Kamera 110a transformieren, unabhängig davon, ob das Einzelbild mit der ersten Kamera 110a oder der zweiten Kamera 110b erfasst wurde. Beispielsweise transformiert das Modul 450 bei Bildern, die mit der zweiten Kamera 110b erfasst wurden, Daten aus einem kanonischen Raum für die zweite Kamera 110b in einen kanonischen Raum für die erste Kamera 110a, indem es räumliche Unterschiede zwischen den Positionen der Kameras 110a, 110b auf dem Gerät und andere Faktoren wie die fokussierte Position der Kamera 110b korrigiert. Dadurch können die mit der zweiten Kamera 110b erfassten Bilddaten auf den Abschnitt des Sichtfelds der ersten Kamera ausgerichtet werden, sodass die Ansicht der Szene über das aufgezeichnete Video beider Kameras 110a, 110b konsistent ist. Diese Technik wird ferner in den 5A-5C und 6 erläutert.
  • Das Gerät 102 kann ein EIS-Verarbeitungsmodul 460 umfassen, das die in den kanonischen Raum der Hauptkamera transformierten Bilddaten empfängt und verarbeitet. Die „Hauptkamera“ bezieht sich auf eine der mehreren Kameras, die im Voraus so ausgelegt ist, dass sie als Referenz für die anderen Kameras dient. Die Hauptkamera kann beispielsweise die erste Kamera 110a sein, die das größte Sichtfeld aufweist, und die Ausgaben aller anderen Kameras (z. B. der zweiten Kamera 110b) können in den kanonischen Raum der ersten Kamera 110a transformiert oder dort abgebildet werden. Das Modul 450 bildet die Bilddaten beider Kameras 110a, 110b auf einen gemeinsamen, standardisierten kanonischen Raum ab, der eine zeitabhängige Variation innerhalb des Einzelbildes aufweist (z. B. Unterschiede beim Zeitpunkt der Erfassung, der Geräteposition, der OIS-Position usw. der verschiedenen Abtastlinien des Einzelbildes). Dies vereinfacht die EIS-Verarbeitung erheblich, da das EIS-Verarbeitungsmodul 460 nicht mehr die zeitlich variierenden Eigenschaften des Einzelbildes berücksichtigen muss. Außerdem kann ein einziger EIS-Verarbeitungs-Workflow für Videodaten verwendet werden, die mit einer der Kameras 110a oder 110b erfasst wurden. Das EIS-Verarbeitungsmodul 460 empfängt auch die Zoom-Einstellungen, z. B. die Zoom-Stufe oder das Sichtfeld, die möglicherweise für jedes Einzelbild gewünscht werden. Dies ermöglicht es dem EIS-Verarbeitungsmodul, eine angemessene Stabilisierung für jedes Einzelbild gemäß der für das Einzelbild verwendeten Zoom-Stufe anzuwenden. Wenn die Zoom-Stufe erhöht und das Bild vergrößert wird, werden auch die Auswirkungen der Kamerabewegung vergrößert. Dementsprechend kann das EIS-Verarbeitungsmodul 460 eine stärkere Stabilisierung anwenden, wenn die Zoom-Stufe erhöht wird, um ein im Allgemeinen einheitliches Stabilitätsniveau im ausgegebenen Video beizubehalten. Das EIS-Verarbeitungsmodul kann eine oder alle der vorstehend in den 2 und 3 erläuterten EIS-Verarbeitungstechniken verwenden. Die Stabilisierung kann als Projektion der Bilddaten aus dem kanonischen Bildraum der Hauptkamera in den virtuellen Kameraraum betrachtet werden, wobei die Bilddaten transformiert werden, um die Ausgabe so zu simulieren, als ob die Kamera bei der Videoerfassung eine sanftere Trajektorie der Bewegung aufgewiesen hätte als die reale Kamera.
  • Nachdem das EIS-Verarbeitungsmodul 460 die Bilddaten für ein Einzelbild stabilisiert hat, werden die Bilddaten für das Einzelbild ausgegeben und/oder auf einem Datenspeichergerät (z. B. einem nichtflüchtigen Speichermedium wie einem Flash-Speicher) aufgezeichnet. Die von den Modulen 410, 440 für das Einzelbild ermittelte Zoom-Stufe kann zum Beschneiden, Hochskalieren oder anderweitigen Anwenden der für das Einzelbild erforderlichen digitalen Zoom-Stufe verwendet werden. Dank dieser Techniken kann das Gerät 102 während der Erfassung nahtlos zwischen den beiden Kameras 110a, 110b übergehen, wobei der Übergang automatisch von dem Gerät 102 basierend auf der vom Benutzer eingestellten Zoom-Stufe verwaltet wird. Die resultierende Videodatei kann somit Videosegmente umfassen, die mit verschiedenen Kameras 110a, 110b erfasst wurden und über die Videodatei eingestreut sind, wobei die Daten ausgerichtet und umgewandelt werden, um sanfte Zoomübergänge darzustellen und gleichzeitig eine konsistente EIS-Verarbeitung über die Segmente von beiden Kameras 110a, 110b beizubehalten.
  • Das Gerät 102 kann ein Videoausgabe- und/oder Aufzeichnungsmodul 470 umfassen. Das Videoausgabe- und/oder Aufzeichnungsmodul 470 kann so konfiguriert sein, dass es die Ausgabe des EIS-Verarbeitungsmoduls 460 empfängt und diese zur Speicherung als Videodatei lokal am Gerät und/oder entfernt bereitstellt. Zusätzlich oder alternativ kann das Videoausgabe- und/oder Aufzeichnungsmodul 470 die Ausgabe zur lokalen Anzeige auf dem Gerät 102 und/oder entfernt auf einem anderen Anzeigegerät, z. B. über ein Netzwerk, streamen.
  • 5A-5C sind Diagramme, die Beispiele von Techniken zur Multikamera-Videostabilisierung veranschaulichen. In den nachfolgend erläuterten Beispielen wird eine der Kameras 110a, 110b als Hauptkamera bezeichnet, während die andere als Sekundärkamera bezeichnet wird. Durch die nachfolgend erläuterte Verarbeitung und Transformation wird die Ausgabe der Sekundärkamera in den kanonischen Raum der Hauptkamera abgebildet, wenn das aufgezeichnete Video unter Nutzung der Sekundärkamera erfasst wird. Aus Gründen der Klarheit in der Beschreibung wird die erste Kamera als Hauptkamera und die zweite Kamera als Sekundärkamera verwendet. Das bedeutet, dass in diesen Beispielen die Kamera, die das breitere Sichtfeld aufweist, als die Hauptkamera bezeichnet wird. In einigen Implementierungen ist dies zwar wünschenswert, aber nicht erforderlich. Die Techniken können alternativ auch mit der Kamera verwendet werden, die ein kleineres Sichtfeld als die Hauptkamera aufweist.
  • Im Allgemeinen ist eine Homographie-Transformation eine Transformation, die verwendet wird, um von einem Kameraraum in einen anderen Kameraraum zu wechseln. Die Notation AHB stellt einen Homographen dar, der Punkte vom Kameraraum B in den Kameraraum A transformiert. Eine virtuelle Kamera bezieht sich auf eine synthetische Kameraansicht, beispielsweise die virtuelle Kamera, von der aus die endgültige Szene (die dem Benutzer weitergegeben und/oder in einer Videodatei aufgezeichnet wird) erzeugt wird. Diese effektive Kameraposition wird stabilisiert (z. B. erscheint in Position und Orientierung so stationär wie möglich), normalerweise für die Dauer des gesamten Videos, um eine möglichst große zeitliche und räumliche Kontinuität bereitzustellen. Wie hierin verwendet, ist die „Haupt“-Kamera die primäre Kamera, die verwendet wird, um das Referenz-Frame zum Erzeugen des Ausgabevideos zu definieren. Die Hauptkamera kann so definiert werden, dass sie räumlich mit der virtuellen Kamera zusammenliegen, muss aber nicht unbedingt zeitlich zusammenliegen. In den meisten folgenden Beispielen wird die erste Kamera 110a als Hauptkamera verwendet. Die Sekundärkamera ist mit der Hauptkamera gekoppelt. Die Sekundärkamera wird so definiert, dass sie räumlich von der virtuellen Kamera entfernt ist, und die Ausgabe der Sekundärkamera wird in den virtuellen Kameraraum verzerrt, wenn die Sekundärkamera die führende Kamera ist. In den meisten nachfolgenden Beispielen wird die zweite Kamera 110b als Sekundärkamera verwendet. Die „führende Kamera“ bezieht sich auf die Kamera, die gerade für die Videoerfassung geöffnet ist, z. B. die Kamera, deren aktuelle Bilddaten verwendet werden, um das gespeicherte Ausgabevideo zu erzeugen. Die „Nachfolgekamera“ ist mit der Hauptkamera gekoppelt. Die Nachfolgekamera ist zur Zeit nicht geöffnet oder für die Videoerfassung aktiv. Es kann jedoch eine Anlaufphase geben, in der die Nachfolgekamera mit der Videoerfassung beginnt, um den Status der führenden Kamera zu erlangen, bevor die Kameraausgabe tatsächlich in der Ausgabekamera verwendet oder gespeichert wird. Eine kanonische Kamera ist eine Kamera, die feste Parameter aufweist, die sich im Verlauf der Zeit nicht ändern, sodass die kanonische Kamera beispielsweise nicht von der Operation des OIS oder der Linsenverschiebung durch einen Schwingspulenmotor (Voice Coil Motor, VCM) (wie z. B. zur Fokussierung) betroffen ist. Für jede der Kameras gibt es eine kanonische Kamera (und einen entsprechenden Bildraum), z. B. einen kanonischen Hauptkameraraum und einen kanonischen Sekundärkameraraum.
  • Diese Parameter führen zu zwei unterschiedlichen Verwendungszwecken, abhängig davon, welche der Kameras 110a, 110b zur Erfassung verwendet wird. Wenn die Hauptkamera führend ist, ist kein räumliches Verzerren erforderlich, um die Bilddaten zwischen den Räumen der physischen Kameras abzubilden. Der synthetische Zoom und die EIS-Verarbeitung können einfach mit der EIS-Verarbeitung für die Hauptkamera verarbeitet werden. Andererseits, wenn die Sekundärkamera führend ist, wendet das System die räumliche Verzerrung an, um die Ausgabe auf die Perspektive der Hauptkamera abzubilden, um die Konsistenz zwischen den Erfassungen mit den beiden Kameras 110a, 110b zu gewährleisten. Dabei werden Änderungen des Fokus in der Szene berücksichtigt, die den Fokusabstand oder den Objektabstand verändern, um wiederum die Konsistenz zwischen den Ausgaben der beiden Kameras 110a, 110b beizubehalten.
  • Eine der Herausforderungen beim Bereitstellen von digitalem Zoom während der Aufzeichnung ist die wirksame Einbindung der EIS-Verarbeitung in die digitale Zoom-Funktionalität, insbesondere bei der Art von inkrementellem oder kontinuierlichem Zoom, bei dem mehrere Kameras verwendet werden, wie vorstehend erläutert. Während der Videoerfassung kann das Gerät 102 Videos mit aktivierter EIS-Verarbeitung aufzeichnen, um eine Reihe von zeitlich stabilisierten Bildsequenzen zu erhalten. Das Gerät 102 kann Homographien für die Zoomfunktionalität und die EIS-Funktionalität verketten, um diesen Effekt zu erreichen.
  • Die Homographie für EIS und die Homographie für digitalen Zoom unter Nutzung mehrerer Kameras dienen unterschiedlichen Zwecken. Die Homographie für EIS transformiert Bilddaten aus dem aktuellen (z. B. realen) Ausgabe-Frame eines Bildsensors (durch den Index „R“ oder „real“ bezeichnet) in das virtuelle Einzelbild (durch den Index „V“ oder „virt“ bezeichnet). In den verschiedenen Gleichungen und Ausdrücken nachfolgend ist die Variable t (z. B. Kleinbuchstabe t) der Zeitstempel des Einzelbildes, der sich in der Regel auf den Zeitpunkt der Erfassung der Abtastlinie in der Mitte des Bildes bezieht. Da jedoch verschiedene Abtastlinien zu unterschiedlichen Zeitpunkten erfasst werden, können die Zeitstempel für die anderen Abtastlinien variieren. Unter Bezugnahme auf den Zeitpunkt einer einzelnen Abtastlinie (z. B. um einen Zeitpunkt zu berücksichtigen, der sich von dem Hauptzeitpunkt der Erfassung der mittleren Abtastlinie des Einzelbildes unterscheiden kann), wird der Zeitpunkt mit tL bezeichnet, was den Zeitstempel der Erfassung für die Abtastlinie L darstellt. Bei Verwendung einer Kamera mit Rolling-Shutter unterscheidet sich der Zeitstempel für jede Abtastlinie des Einzelbildes geringfügig, daher kann der Begriff tL für verschiedene Abtastlinien leicht unterschiedlich sein, und auch die Kamerapositionen können für verschiedene Abtastlinien leicht unterschiedlich sein. Zu beachten ist, dass sich der andere Begriff TE auf die extrinsische Translation zwischen der Haupt- und der Sekundärkamera 110a, 110b bezieht und keinen Zeitstempel darstellt. In ähnlicher Weise ist nT eine Ebenennorm, die weiter unten erläutert wird und in keinem Zusammenhang mit den extrinsischen Translations- und Zeittermen steht.
  • Die EIS-Homographie wird als VHR oder Heis bezeichnet. Die Homographie von EIS ist konfiguriert, um Daten aus dem aktuellen oder „realen“ Einzelbild in das virtuelle Einzelbild zu transformieren, indem die Punkte aus dem aktuellen oder realen Einzelbild in den 3D-Raum entprojiziert werden, um sie dann in den virtuellen Raum zurückzuprojizieren. Diese Homographie lässt sich wie folgt darstellen: H e i s = P r o j v i r t P r o j c u r 1 = K V R V ( t ) R C 1 ( t ) K C 1 ( t )
    Figure DE112021000208T5_0001
  • In Gleichung 1 stellt RV eine 3x3-Rotationsmatrix für die virtuelle Kamera dar und RC eine 3x3-Rotationsmatrix für die zur Zeit verwendete reale Kamera 110a-110b, wobei sowohl RC als auch RV aus den Positionsdaten der Kamera (z. B. Gyroskopdaten) erhalten werden können. K ist die intrinsische Matrix, KV ist die intrinsische Matrix der virtuellen Kamera und KC ist die intrinsische Matrix der aktuellen Kamera (z. B. diejenige der Kameras 110a-110b, die verwendet wird). Die intrinsischen Daten der Kamera (z. B. basierend auf der Kamerageometrie, den Kalibrierungsdaten und den Kameraeigenschaften) können in einem oder mehreren Datenspeichergeräten 230 gespeichert und von dort abgerufen werden. Die intrinsische Matrix kann in Gleichung 2 wie folgt dargestellt werden. K ( t ) = [ ƒ ( t ) 0 o x 0 ƒ ( t ) o y 0 0 1 ]
    Figure DE112021000208T5_0002
  • In Gleichung 2 ist ƒ die Brennweite und ox und oy die Hauptpunkte. In den vorstehenden Gleichungen sind RC, RV und KC -1 zeitabhängig und werden als Funktion der Zeit t dargestellt. Diese Werte können Informationen über frühere Einzelbilder oder frühere Prozesse zum Erzeugen von Ausgabe-Frames beibehalten oder darauf basieren, um die zeitliche Kontinuität zu gewährleisten. RV ist eine 3x3-Rotationsmatrix für den virtuellen Raum und wird basierend auf dem Filter der Trajektorie der vergangenen virtuellen Einzelbilder und möglicherweise auch für einige zukünftige Einzelbilder berechnet, wenn eine Verzögerungs- und „Look-Ahead“-Strategie verwendet wird. RC eine 3x3-Rotationsmatrix für das aktuelle Einzelbild und wird basierend auf den Daten des Gyroskops oder des Gerätepositionssensors 220 berechnet, die das aktuelle Einzelbild in das erste Einzelbild transformiert. Ke -1 wird basierend auf dem optischen Hauptzentrum und dem aktuellen OIS-Wert berechnet.
  • Die Homographie für die Zoomverarbeitung transformiert von der Ansicht einer Kamera 110a zur Ansicht einer anderen Kamera 110b. Zum Beispiel transformiert die Homographie vom aktuellen Einzelbild der Hauptkamera 110a zu einem Einzelbild der Sekundärkamera 110b, bezeichnet als mainHsec Zum Berechnen dieser Homographie kann ein Vier-Punkte-Ansatz verwendet werden, aber durch Vereinfachung der Homographie als euklidische Homographie kann die Matrix selbst auch wie folgt aufgelöst werden: s P m a i n = H m a i n s e c P s e c
    Figure DE112021000208T5_0003
  • Geht man von einer euklidischen Homographie-Transformation aus, die den Punkt Psec auf dem Bild der Sekundärkamera (z. B. der Telekamera 110b) zu dem entsprechenden Punkt Pmain auf dem Bild der Hauptkamera (z. B. der Weitwinkelkamera 110a) bringt, und zwar bis zu einem beliebigen Skalar von S, dann kann diese Homographie-Matrix wie folgt aufgelöst werden: H m a i n s e c = K m a i n ( t ) E x t ( t ) K s e c 1 ( t )
    Figure DE112021000208T5_0004
  • In dieser Gleichung ist Ext(t) die extrinsische Transformation, eine Matrix, die von der Tiefe der Ebene abhängig ist: E x t ( t ) = ( R E 1 D ( t ) T E n T )
    Figure DE112021000208T5_0005
  • Dadurch wird die Kombination wie folgt dargestellt: H m a i n s e c = K m a i n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t )
    Figure DE112021000208T5_0006
  • In Gleichung 4 ist nT die Ebenennorm (z. B. der Vektor senkrecht zur Fokusebene) und D ist die Tiefe oder der Abstand, in dem sich die Fokusebene befindet. Die Variablen RE und TE bezeichnen die extrinsische Rotation bzw. die extrinsische Translation zwischen der Haupt- und Sekundärkamera 110a-110b.
  • Die Variablen Kmain und Ksec sind die intrinsischen Matrizen der Haupt- und Sekundärkameras 110a-110b, die das gleiche Format aufweisen wie in der oben erläuterten EIS-Homographie. In Gleichung 4 sind Kmain, Ksec und D zeitabhängig. Allerdings, im Gegensatz zu den entsprechenden Versionen in der EIS-Formulierung, halten Kmain, Ksec und D in der Zoom-Formulierung keine vergangenen Informationen zurück. Kmain und Ksec werden beide basierend auf den aktuellen VCM- und OIS-Werten (z. B. unter Nutzung der OIS-Positionsdaten 248a-248b) berechnet, die sich für jedes Einzelbild ändern. Die Variable D entspricht dem Objektabstand, der sich auf den Wert des Fokusabstands bei der Autofokussierung bezieht und sich im Verlauf der Zeit während der Videoerfassung und -aufzeichnung ändern kann. Wie vorstehend erläutert, bezieht sich der Objektabstand auf den Abstand der Brennebene von dem Gerät 102 für den aktuell für eine Kamera ausgewählten Fokus. Das Ermitteln des Objektabstands kann unter Nutzung der Fokusposition einer Kamera, z. B. aus den Sensordaten 246a-246b, und Kalibrierungsdaten wie z. B. einer Nachschlagetabelle erfolgen, die Zugehörigkeit von Fokuseinstellungen oder Fokuselementpositionen zu Objektabständen angibt, sodass ersichtlich wird, wie weit fokussierte Objekte von der Kamerasensorebene entfernt sind. Angesichts des Offsets in der Position zwischen den Kameras 110a, 110b kann die Beziehung zwischen den erfassten Bildern abhängig vom Objektabstand etwas variieren, und die Transformationen können diese Effekte unter Nutzung des Objektabstands, der Linsenfokusposition und/oder anderer Daten berücksichtigen.
  • Die beiden vorstehenden Homographie-Zerlegungen lassen sich als eine Sequenz von Operationen zusammenfassen: (1) Entprojektion von der Quellkamera, (2) Transformation von der Quellkamera in das dreidimensionale Weltreferenzbild, (3) Transformation vom Welt- zum dreidimensionalen Zielreferenzbild, (4) Rückprojizierung in die Zielkamera. Diese sind in der nachfolgenden Tabelle 1 zusammengefasst und werden auch in Bezug auf die 5A-5C und 6 erläutert. Tabelle 1
    Homographie Entprojektion Transformation von der Quelle zur Welt Transformation von der Welt zum Ziel Rückprojektio n
    EIS KC -1(t) Als die aktuelle Kamera, entweder Haupt- oder Sekundärkamera RC -1(t) Akkumulierte Rotation aus Gyroskopdaten RV(t) Die gefilterte virtuelle Kamera KV Virtuelle Kamera mit festen Parametern
    Zoom Ksec -1(t) Die aktuelle Sekundärkamera (RE -1 - D(t) *TE*nT) Extrinsisch zwischen Sekundär- und Welt Identität als Hauptkamera befindet sich in der Welt Kmain(t) Die aktuelle Hauptkamera
  • Im nächsten Abschnitt werden Techniken beschrieben, mit denen die Zoom-Homographie und die EIS-Homographie auf effektive und wirksame Weise kombiniert werden können. Eine der Techniken, die verwendet werden können, ist das Einstellen einer Kamera, normalerweise der Kamera mit dem breitesten Sichtfeld, als Hauptkamera und das Abbilden der verarbeiteten Ausgabe in Bezug auf die Hauptkamera.
  • Wenn die Hauptkamera (z.B. die Weitwinkelkamera 110a) zur Videoerfassung verwendet wird, ist der Begriff mainHsec gleichbedeutend. Folglich kann die kombinierte Homographie einfach die EIS-Homographie Heis sein, wie in Gleichung 7 dargestellt. H c o m b i n e d = H e i s = K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t )
    Figure DE112021000208T5_0007
  • Der Begriff RD gibt die auf der Grundlage von Daten eines Gyroskops oder eines anderen Bewegungssensors berechnete Drehung des Geräts an, die sowohl für die Hauptkamera 110a als auch für die Sekundärkamera 110b den gleichen Wert aufweist.
  • Insbesondere sind die drei Homographie-Transformationen:
    • sec_canHsec: Transformation von der realen Sekundärkamera in den kanonischen Raum der Sekundärkamera mit (0, 0) OIS-Bewegung, 0 Rolling-Shutter-Zeit, fester Brennweite und Drehung zur Bildmitte. H s e c _ c a n s e c = K s e c _ c a n R s e c _ c a n ( t ) R s e c 1 ( t ) K s e c 1 ( t )
      Figure DE112021000208T5_0008
      wobei Rsec -1 (t) *Ksec -1(t) von jeder Abtastlinie oder der Bildmitte erhalten wird, abhängig davon, was benötigt wird, was mit den gegebenen OIS/VCM-Werten übereinstimmt. Rsec_can(t) ist die Drehung in der Bildmitte, im Gegensatz zu Rsec -1(t) in jeder Abtastlinie.
    • main_canHsec_can : Transformation von der kanonischen Sekundärkamera in den kanonischen Raum der Hauptkamera. H m a i n _ c a n s e c _ c a n = K m a i n _ c a n E x t ( t ) K s e c _ c a n 1
      Figure DE112021000208T5_0009
  • In diesem Ausdruck ist Ext(t) eine extrinsische Transformation, eine Matrix, die vom Objektabstand abhängig ist (z. B. räumliche Tiefe der Fokusebene vom Kamerasensor): E x t ( t ) = ( R E 1 D ( t ) T E n T )
    Figure DE112021000208T5_0010
    wobei nT die Ebenennorm ist, D die Tiefe der Ebene nT, RE und TE die extrinsische Drehung und Verschiebung zwischen Sekundär- und Hauptkamera sind.
    • virtHmain_can: Transformation von der kanonischen Sekundärkamera zum stabilisierten virtuellen Kameraraum, dessen Drehung durch den EIS-Algorithmus gefiltert wird. H v i r t m a i n _ c a n = K v i r t R e i s ( K m a i n _ c a n R m a i n _ c a n ) 1
      Figure DE112021000208T5_0011
  • Zu beachten ist, dass Rmain_can = Rsec_can die aktuelle reale Kameradrehung in der Bildmitte ist, da die Haupt- und Sekundärkamera starr miteinander befestigt sind.
  • Wenn die drei Homographien miteinander verkettet sind, erhält man die endgültige Homographie: H f i n a l = H v i r t m a i n _ c a n H m a i n _ c a n s e c _ c a n H s e c _ c a n s e c
    Figure DE112021000208T5_0012
    H f i n a l = K v i r t R e i s ( t ) ( K m a i n _ c a n R m a i n _ c a n ( t ) ) 1 H m a i n _ c a n s e c _ c a n K s e c _ c a n R s e c _ c a n ( t ) R s e c 1 ( t ) K s e c 1 ( t )
    Figure DE112021000208T5_0013
  • Wobei der mittlere Begriff main_canHsec_can aus der Zoom-Verarbeitung stammt.
  • Für den Fall, dass die Hauptkamera führend ist, vereinfacht sich die endgültige Homographie auf die Homographie für die EIS-Verarbeitung. Die vorstehende Gleichung ergibt sich wie folgt: H f i n a l = H v i r t m a i n _ c a n H m a i n _ c a n m a i n _ c a n H m a i n _ c a n m a i n H f i n a l = H v i r t m a i n _ c a n H m a i n _ c a n m a i n
    Figure DE112021000208T5_0014
  • Was bedeutet, dass, wenn main_canHsec_can = identity, eingestellt wird, die vorstehende Gleichung zur ursprünglichen Gleichung Heis wird: H f i n a l = K v i r t R e i s ( t ) ( K m a i n _ c a n R m a i n _ c a n ( t ) ) 1 I d e n t i t y K m a i n _ c a n R m a i n _ c a n ( t ) R m a i n 1 ( t ) K m a i n 1 ( t ) H f i n a l = K v i r t R e i s ( t ) R m a i n 1 ( t ) K m a i n 1 ( t ) H f i n a l = K v i r t R e i s ( t ) R m a i n 1 ( t ) K m a i n 1 ( t )
    Figure DE112021000208T5_0015
    H f i n a l = H e i s
    Figure DE112021000208T5_0016
  • Aus den vorstehenden Abschnitten ergeben sich im Allgemeinen zwei Gleichungen: Wenn die Sekundärkamera führend ist, lautet die Gleichung: H v i r t s e c = H v i r t m a i n _ c a n H m a i n _ c a n s e c _ c a n H s e c _ c a n s e c
    Figure DE112021000208T5_0017
  • Wenn die Hauptkamera führend ist, lautet die Gleichung: H v i r t m a i n = H v i r t m a i n _ c a n H m a i n _ c a n m a i n = H e i s
    Figure DE112021000208T5_0018
  • Aus technischer Sicht gibt es während des Implementierens von EIS keine Sekundärkamera, daher sind alle virtuellen Kameras auf der aktuell führenden Kamera implementiert, was für die ursprüngliche EIS-Pipeline bedeutet:
  • Wenn die Hauptkamera führend ist: H e i s = P r o j v i r t _ m a i n P r o j m a i n 1
    Figure DE112021000208T5_0019
  • Wenn die Sekundärkamera führend ist: H e i s = P r o j v i r t _ s e c P r o j s e c 1
    Figure DE112021000208T5_0020
  • Ausgehend von der Basisgleichung von EIS, wobei
    Projcur -1 = RC -1(t) *KC-1(t) - Die Entprojektion auf die aktuelle reale Kameraansicht
    Projvirt= KV*RV(t) - Die Projektion auf die aktuelle virtuelle Kamera.
  • Der Begriff K1V ist stets gleich definiert wie die aktuelle Kamera, und per Definition ist der einzige Unterschied zwischen Kv_main und Kv_sec das FOV zwischen den beiden Kameras (die Hauptpunkte sind gleich, da die virtuelle Kamera in der Mitte des Bildes platziert ist).
  • Zur Anpassung an den vorstehend beschriebenen Fall kann das System bewusst dafür sorgen, dass das Sichtfeld der Haupt- und Sekundärkamera am Umschaltpunkt übereinstimmt. Diese Anpassung des Sichtfelds erfolgt wirksam durch Hardware-Zuschnitt, der allen Operationen vorausgeht, die das Sichtfeld von der Sekundärkamera auf die Hauptkamera skalieren, wobei die Matrix S in den folgenden Gleichungen verwendet wird. S = ( f sec / f main 0 0 0 0 f sec / f main 0 0 1 )
    Figure DE112021000208T5_0021
  • Softwareseitig passt sich die Gleichung für die Homographie wie folgt an: H f i n a l = K v i r t _ s e c R e i s ( t ) ( K s e c _ c a n R s e c _ c a n ( t ) ) 1 S H m a i n _ c a n s e c _ c a n K s e c _ c a n R s e c _ c a n ( t ) R s e c 1 ( t ) K s e c 1 ( t )
    Figure DE112021000208T5_0022
  • Die endgültig angewandte Homographie kann wie folgt sein: H m a i n _ c a n ' s e c _ c a n = S H m a i n _ c a n s e c _ c a n = H s e c _ c a n ' s e c _ c a n
    Figure DE112021000208T5_0023
  • Diese Transformation bildet den kanonischen Sekundärraum auf einen normalisierten kanonischen Sekundärraum ab, der das gleiche Sichtfeld (z. B. den gleichen Maßstab) wie der kanonische Sekundärraum aufweist, aber alle durch die extrinsischen Faktoren der Kamera veranlassten Übersetzungen/Drehungen neutralisiert hat.
  • Wenn die als Sekundärkamera bezeichnete Kamera (z. B. die Telekamera 110b) zur Videoerfassung verwendet wird, gibt es eine Reihe von Transformationen, die verwendet werden, um die Ansicht der Sekundärkamera auf die Ansicht der Primärkamera zu konvertieren oder zu projizieren, damit konsistente Bildmerkmale über mehrere Erfassungszeiträume hinweg beibehalten werden können, wenn die verschiedenen Kameras 110a, 110b verwendet werden. Diese Transformationen können (1) Entprojizieren von der Quellkamera (z. B. der zweiten Kamera 110b) umfassen, um kameraspezifische Effekte wie OIS-Bewegung und Rolling-Shutter zu entfernen; (2) Transformieren in ein kanonisches Einzelbild, beispielsweise eine dreidimensionale Welt; (3) Transformieren vom kanonischen Referenzbild in das Hauptkamerareferenzbild (z. B. Ausrichtung auf das Einzelbild, das von der ersten Kamera 110a aufgenommen werden würde), und (4) Neuprojektion vom Einzelbild der Hauptkamera 110a auf ein virtuelles Kamerabild, das eine elektronische Stabilisierung aufweist. Basierend auf der Reihenfolge der Transformationen kann die Technik zum Durchführen der ersten Rektifikation oder der ersten Stabilisierung verwendet werden, was zu unterschiedlichen Leistungsergebnissen führt. Die 5A-5C stellen verschiedene Techniken zur Transformation der von der zweiten Kamera 110b erfassten Bilder in eine stabilisierte Ansicht dar, die an der für die erste Kamera 110a erzeugten stabilisierten Ansicht ausgerichtet ist und mit dieser übereinstimmt.
  • 5A ist ein Diagramm, das eine exemplarische Technik zur Multikamera-Videostabilisierung veranschaulicht, die zuerst eine Entzerrung durchführt. Diese Technik korrigiert die Sicht von der zweiten Kamera 110b (z. B. der Telekamera in diesem Beispiel) auf die erste Kamera 110a (z. B. die Weitwinkelkamera in diesem Beispiel) und wendet dann die Stabilisierung an. Diese Technik bietet den Vorteil, dass sie durch eine einfache Verkettung der EIS-Homographie und der primären Sekundär-Haupt-Homographie dargestellt wird, was die Effizienz der Verarbeitung des Videomaterials erhöht. Dies ist in der folgenden Gleichung dargestellt: H c o m b i n e d = K V R V ( t ) R D 1 ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t )
    Figure DE112021000208T5_0024
  • Durch Anbringen des Paares Kmain -1(t)Kmain(t) ergibt sich: H c o m b i n e d = K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t ) K m a i n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t ) H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t ) ) ( K m a i n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t ) ) H c o m b i n e d = H e i s H m a i n s e c
    Figure DE112021000208T5_0025
  • 5B ist ein Diagramm, das eine exemplarische Technik zur Multikamera-Videostabilisierung veranschaulicht, die zuerst eine Stabilisierung durchführt. Diese Option stabilisiert das Bild aus dem Einzelbild der Sekundärkamera in ein stabilisiertes virtuelles Einzelbild der Hauptkamera und wendet dann die Entzerrung an, um das virtuelle Einzelbild der Sekundärkamera auf das Einzelbild der Hauptkamera zu projizieren. Diese Technik ist jedoch nicht so einfach wie der Ansatz in 5A, da die Transformation von der Sekundärkamera zur Hauptkamera im Koordinatensystem des Einzelbildes der Hauptkamera definiert ist. Daher, um die gleiche Transformation durchzuführen, muss das stabilisierte virtuelle Einzelbild der Hauptkamera aus dem virtuellen Einzelbild der Sekundärkamera zurückgedreht werden. Dies wird in der folgenden Gleichung ausgedrückt, wobei sich „virt_main“ auf das virtuelle Einzelbild der Hauptkamera (stabilisiert), „virt_sec“ auf das virtuelle Einzelbild der Sekundärkamera (stabilisiert), „real_main“ auf das reale Einzelbild der Hauptkamera (nicht stabilisiert) und „real_sec“ auf das reale Einzelbild der Sekundärkamera bezieht. H virt_main virt_sec = H virt_sec real_sec H real_main real_sec H real_sec virt_sec H virt_main virt_sec = R V ( t ) R D 1 ( t ) ( R E 1 D ( t ) T E n T ) R D 1 ( t ) R V ( t ) )
    Figure DE112021000208T5_0026
  • Durch die Verkettung der Elemente ergibt sich die gleiche Gesamttransformation wie in 5A. Obwohl es eine unterschiedliche geometrische Definition gibt, ist der Gesamteffekt auf das Bild gleich. H c o m b i n e d = K V R V ( t ) R D 1 ( t ) ( R E 1 D ( t ) T E n T ) R D 1 ( t ) R V ( t ) ) R V ( t ) R D 1 ( t ) K s e c 1 ( t ) H c o m b i n e d = K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t ) K m a i n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t ) H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t ) ) ( K m a i n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t ) ) H c o m b i n e d = H e i s H m a i n s e c
    Figure DE112021000208T5_0027
  • 5C ist ein Diagramm, das eine exemplarische Technik zur Multikamera-Videostabilisierung veranschaulicht, die zuerst auf eine kanonische Kamera ausgerichtet ist. Unter Nutzung der vorstehend erläuterten Geometriedefinitionen kann die Implementierung wirksamer gestaltet werden, indem von der aktuellen realen Kameraperspektive auf eine kanonische Kameraperspektive korrigiert wird, wobei die kanonische Kameraperspektive als eine virtuelle Kamera der aktuellen Hauptkamera definiert ist, jedoch mit festem OIS (OIS_X = 0, OIS Y = 0) und festem VCM (VCM = 300).
  • Das Ergebnis ist ähnlich wie bei der Gleichung in dem ersten Fall von 5A. Zum Beispiel wird folgendes bereitgestellt: H c o m b i n e d = K V R V ( t ) R D 1 ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t )
    Figure DE112021000208T5_0028
  • In diesem Fall wird jedoch anstatt des Paares Kmain -1(t)Kmain(t) das Paar Kmain_can -1(t) *Kmain_can(t), eingesetzt, wobei Kmain_can die intrinsischen Charakteristika der kanonischen Hauptkamera bezeichnet. Die Begriffe H'eis und mainH'sec werden zum Berechnen von Kmain_can verwendet. H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n 1 ( t ) ) ( K m a i n _ c a n ( t ) ( R E 1 D ( t ) T E n T ) K s e c 1 ( t ) ) H c o m b i n e d = H ' e i s H m a i n ' s e c
    Figure DE112021000208T5_0029
  • Dieser Ansatz stellt einen wesentlichen Vorteil dar, da das System nicht gleichzeitig die Metadaten der Sekundärkamera und der Hauptkamera abfragen muss.
  • Die kombinierte Homographie, Hcombined, kann mit kanonischen Positionsdarstellungen und pro Abtastlinie verwendet werden. Zunächst wird die kanonische Position erläutert. Ausgehend von der erläuterten ursprünglichen Definition von Heis und mainHsec verwendet das System OIS- und VCM-Informationen für die beiden Begriffe Ksec und Kmain die in der Homographie für die Verarbeitung des digitalen Zooms verwendet wurden. Das System verwendet auch den Begriff KC, der in der EIS-Homographie verwendet wurde.
  • In der folgenden Gleichung sind bestimmte Variablen zeitabhängige Variablen, die von den aktuellen OIS- und VCM-Werten für Haupt- bzw. Sekundärkamera abhängen. Diese zeitabhängigen Variablen umfassen Kmain -1(t), Kmain(t), und Ksec -1(t). Die Zeitabhängigkeit dieser Begriffe bedeutet, dass das System sowohl die OIS/VCM-Metadaten für beide Kameras 110a, 110b gleichzeitig streamen müsste. Die Verwendung einer kanonischen Darstellung kann jedoch die Anforderungen an die Datenerfassung erheblich reduzieren. Nachfolgend ist ein Beispiel dargestellt, das die Begriffe Ksec Cund Kmain C umfasset, die als das kanonische Kameramodell definiert sind, wobei sowohl OIS als auch VCM an einer vorbestimmten Standard- oder kanonischen Position platziert sind, wobei zum Beispiel die kanonische Position eine vorbestimmte Position mit OISX = OISY = 0, und VCM = 300 ist. Für das Original Hcombined = Heis * mainHsec, kann die Darstellung wie folgt zerlegt werden: H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n C 1 ) ( K m a i n C ( R E 1 D ( t ) T E n T ) K s e c C 1 ) C s e c ( t )
    Figure DE112021000208T5_0030
  • In der vorstehenden Gleichung ist der Begriff Csec(t) eine Korrekturmatrix, welche die aktuelle Kameraansicht in die kanonische Kameraansicht umwandelt (z. B. um die Auswirkungen der Position der OIS-Linse zu entfernen). Da die digitale Zoom-Homographie nur aktiv ist, wenn Videos von der zweiten Kamera 110b (z. B. der Telekamera) erfasst werden, wobei nur ein Korrekturmatrixterm Csec(t) erforderlich ist, der die aktuelle Ansicht der Sekundärkamera in eine kanonische Ansicht der Sekundärkamera transformiert. In dieser neuen Gleichung sind Kmain C und Ksec C im Verlauf der Zeit für die Homographie des digitalen Zooms beide konstant: H m a i n s e c = K m a i n C ( R E 1 D ( t ) T E n T ) K s e c C 1
    Figure DE112021000208T5_0031
  • Infolgedessen ist die einzige zeitabhängige Komponente D(t), die vom Objektabstand für die Fokussierung abhängt, der ein Abstand von der Kamera zur Fokusebene sein kann. Somit wären die einzigen neuen Metadaten, die benötigt werden, der Abstand des Objekts.
  • Die Korrekturen für die einzelnen Abtastlinien werden nun erläutert. Die Korrektur pro Abtastlinie kann die Verwendung einer weiteren Matrix, S(tL, L), rechts neben den oben erläuterten Gleichungen umfassen. Diese zusätzliche Matrix kann verwendet werden, um Abtastlinien-spezifische Korrekturen vorzunehmen, wobei für jede Abtastlinie L eine andere Anpassung angegeben wird. Die Korrekturmatrix pro Abtastlinie, S(tL, L), ist abhängig vom aktuellen Zeitpunkt tL einer Abtastlinie (z. B. um Gyroskop-Sensordaten für den entsprechenden Zeitpunkt zu erhalten, zu dem die Abtastlinie erfasst wurde) und von der Nummer der Abtastlinie L (z. B. zur Korrektur von Verformungen oder Verschiebungen, um jede Abtastlinie mit der mittleren Abtastlinie auszurichten). Infolgedessen kann die Matrix S(tL, L) die Korrekturen für jede Abtastlinie L und den entsprechenden Zeitpunkt der Erfassung tL umfassen.
  • Aus der ursprünglichen zerlegten Gleichung wird durch Hinzufügen der Korrekturmatrix pro Abtastlinie Folgendes bereitgestellt: H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n C 1 ) ( K m a i n C ( R E 1 D ( t ) T E n T ) K s e c C 1 ) C s e c ( t ) S ( t L , L )
    Figure DE112021000208T5_0032
  • Eine endgültige Homographie kann durch Hinzufügen der kanonischen Position und der Begriffe pro Abtastlinie ermittelt werden: H c o m b i n e d = ( K V R V ( t ) R D 1 ( t ) K m a i n C 1 ) ( K m a i n C ( R E 1 D ( t ) T E n T ) K s e c C 1 ) C s e c ( t ) S ( t L , L ) H c o m b i n e d = H C e i s H m a i n C s e c C s e c ( t ) S ( t L , L )
    Figure DE112021000208T5_0033
  • In diesem Beispiel stellt HC eis = KV*RV(t) * RD -1(t) * Kmain C-1 die Stabilisierungsmatrix nur auf einer kanonischen Hauptkamera dar. Darüber hinaus stellt der Begriff mainHC sec = Kmain C * (RE -1 - D(t)*TE*nT) * KsecC-1 die Homographie von der kanonischen sekundären Ansicht zur kanonischen Hauptansicht dar. Der Begriff Csec(t) ist die Homographie, welche die aktuelle Ansicht der Sekundärkamera mit der kanonischen Ansicht der Sekundärkamera verbindet. Der Begriff S(tL, L) ist die Korrektur pro Abtastlinie, welche die Deformation jeder Abtastlinie auf die Referenzposition der Mittellinie bringt.
  • 6 ist ein Diagramm, das exemplarische Transformationen darstellt, die verwendet werden können, um eine wirksame Multikamera-Videostabilisierung bereitzustellen. Die Kombination von EIS und stufenlosem Zoom kann als eine Kombination von drei Homographien oder Transformationen interpretiert werden.
  • In dem Beispiel stellt ein Bild 611 das von der zweiten Kamera 110b erfasste Bild als Einzelbild dar. Durch die in der Figur dargestellten mehrfachen Transformationen werden die Bilddaten verarbeitet, um visuelle Artefakte zu entfernen (z. B. Rolling-Shutter, OIS-Bewegung usw.), auf das Sichtfeld der ersten Kamera 110a ausgerichtet und mit den vorstehend erläuterten EIS-Techniken stabilisiert. Die separaten Transformationen 610, 620, 630 sind zur Veranschaulichung dargestellt, ebenso die verschiedenen Bilder 611-614. Implementierungen können die erläuterten Operationen und Funktionen kombinieren, ohne dass die Zwischenbilder separat erzeugt werden müssen.
  • Die erste Transformation 610 wird auf ein von der realen Sekundärkamera 110b (z. B. der Telekamera) erfasstes Bild 611 angewendet und transformiert das Bild 611 in ein kanonisches Bild der zweiten Kamera 612. Die Transformation 610 passt die Bilddaten für das Bild 611 so an, dass das kanonische zweite Kamerabild 612 keine OIS-Bewegung, keinen Rolling-Shutter, eine feste Brennweite und eine Drehung zur Bildmitte umfasset. In einigen Implementierungen kann die erste Transformation 610 jede Abtastlinie des Bildes 611 einzeln anpassen, um die Auswirkungen der Bewegung der zweiten Kamera 110b im Verlauf des Erfassens des Bildes 611, der Änderung des Fokusabstands im Verlauf des Erfassens des Bildes 611, der Bewegung des OIS-Systems während der Erfassung des Bildes 611 und so weiter zu entfernen oder zu reduzieren. Diese Transformation 610 wird als sec_canHsec, oder als Transformation von der zweiten Kameraansicht („sec“) zu der kanonischen zweiten Kameraansicht („sec_can“) dargestellt. Obwohl die OIS-Stabilisierung während der Erfassung des Bildes 611 verwendet werden kann, wurde weder das Bild 611 noch das Bild 612 unter Nutzung der EIS-Verarbeitung stabilisiert.
  • Die zweite Transformation 620 ist eine Transformation von dem kanonischen zweiten Kamerabild 612 zu einem kanonischen ersten Kamerabild 613. Dadurch können die Bilddaten im gleichen kanonischen Raum des Bildes 612 beibehalten werden, wobei die Bilddaten jedoch auf die von der Hauptkamera, z. B. der ersten (z. B. Weitwinkelkamera) 110a, erfasste Szene ausgerichtet werden. Diese Transformation 620 kann die räumlichen Unterschiede zwischen der zweiten Kamera 110b und der ersten Kamera 110a korrigieren. Die beiden Kameras 110a, 110b befinden sich an einem Telefon oder einem anderen Gerät mit einem räumlichen Versatz dazwischen und möglicherweise anderen Abweichungen in Position oder Ausrichtung. Die zweite Transformation 612 kann diese Unterschiede korrigieren, um das Bild 612 auf den entsprechenden Abschnitt des Sichtfelds der ersten Kamera 110a zu projizieren. Darüber hinaus können die Unterschiede zwischen den Ansichten der Kameras 110a, 110b abhängig von der aktuellen Tiefenschärfe variieren. Zum Beispiel kann bei einer oder beiden Kameras 110a, 110b eine Fokusatmung auftreten, die das effektive Sichtfeld abhängig vom Fokusabstand anpasst. Die zweite Transformation 620 kann diese Unterschiede berücksichtigen und ermöglicht es dem Gerät 102, den Fokusabstand zur Feineinstellung der Ausrichtung des Bildes 612 in Bezug auf das kanonische Sichtfeld der Hauptkamera zu verwenden. Normalerweise werden für die kanonischen Darstellungen der Hauptkamera und der Sekundärkamera dieselben kanonischen Parameter für die OIS-Position usw. verwendet, doch wenn Unterschiede bestehen, können diese mit der zweiten Transformation 620 korrigiert werden.
  • Die dritte Transformation 620 wendet EIS auf das Bild 613 an, um ein stabilisiertes Bild 614 zu erzeugen. Zum Beispiel kann diese Transformation 620 Bilddaten von der kanonischen Ansicht der Hauptkamera in eine Ansicht der virtuellen Kamera umwandeln, in der die Kamerapositionen geglättet oder gefiltert sind. Diese Transformation 630 kann beispielsweise die vorstehend in 3 erläuterte zweite Projektion sein, wobei virtuelle Kamerapositionen im Verlauf der Zeit gefiltert werden, Positionsänderungen zwischen Einzelbildern verwendet werden, Bewegungen aufgrund von Unschärfe potenziell zugelassen werden, die Wahrscheinlichkeit von Schwenkbewegungen bzw. zufälligen Bewegungen berücksichtigt wird, Anpassungen für künftige Bewegungen oder Anpassungen zum Füllen des Ausgabe-Frames vorgenommen werden und so weiter. Die EIS-Verarbeitung kann zum Durchführen des aktuellen Einzelbildes sowie eines Fensters mit früheren und eines Fensters mit zukünftigen Einzelbildern verwendet werden. Selbstverständlich kann die EIS-Verarbeitung hinter dem Zeitpunkt der Bilderfassung liegen, um die für die Verarbeitung benötigten „zukünftigen Einzelbilder“ zu sammeln.
  • Wie zuvor erwähnt, können die Transformationen 610, 620, 630 aus Gründen der Effizienz kombiniert oder integriert werden, und die Zwischenbilder 612 und 613 müssen nicht erzeugt werden. Vielmehr kann das Gerät 102 die geeigneten Transformationen 610, 620, 630 ermitteln und direkt ein stabilisiertes Bild 614 erzeugen, das an den stabilisierten Bilddaten ausgerichtet ist, die aus den mit der ersten Kamera 110a erfassten Bildern erzeugt wurden, und mit diesen übereinstimmt.
  • Das Beispiel von 6 stellt die Transformationen von Videobildern der zweiten Kamera 110b in den stabilisierten Raum der ersten Kamera 110a dar, die verwendet wird, wenn die Zoom-Stufe einem Sichtfeld entspricht, das gleich groß oder kleiner ist als das Sichtfeld der zweiten Kamera 110b. Wenn die erste Kamera 110a verwendet wird, z. B. wenn das Sichtfeld größer ist als das der zweiten Kamera 110b, werden nur zwei Transformationen benötigt. Ähnlich wie bei der ersten Transformation 610 wird eine Transformation angewendet, um zeitabhängige Effekte aus einem erfassten Bild zu entfernen, sodass sich beispielsweise die Bedingungen für verschiedene Abtastlinien eines Videobilds ändern. Wie bei der Transformation 610 werden dadurch Rolling-Shutter, OIS-Positionen und so weiter kompensiert. Die Transformation projiziert die Bilddaten jedoch direkt in den kanonischen Kameraraum der Hauptkamera (z. B. der Kamera 110a). Aus dem kanonischen Kameraraum für die Hauptkamera wird nur die EIS-Transformation benötigt, z. B. die Transformation 630. Somit besteht, wenn die Bilddaten unter Nutzung der Hauptkamera erfasst werden, keine Notwendigkeit, die räumlichen Eigenschaften der beiden Kameras 110a, 110b in Beziehung zu setzen, da die gesamte Bilderfassung und EIS-Verarbeitung durchgängig in einem Bezugsrahmen für die Hauptkamera erfolgt, z. B. aus dem kanonischen, zeitunabhängigen Bezugsrahmen für die Hauptkamera.
  • Die Verarbeitung von 6 stellt verschiedene Prozesse dar, die verwendet werden können, um die Ausgabe der zweiten Kamera 110b in die stabilisierte Ausgabe der ersten Kamera 110a umzuwandeln oder abzubilden. Dies stellt eine konsistente Ansicht bereit, wenn während der Videoerfassung und -aufzeichnung zwischen der Verwendung von Videos, die von den verschiedenen Kameras 110a, 110b erfasst wurden, umgeschaltet wird. So wird beispielsweise das Video der zweiten Kamera 110b mit dem Video der ersten Kamera 110a abgeglichen - nicht nur, um das Sichtfeld in der richtigen Position zu positionieren, sondern auch, um die EIS-Eigenschaften zu korrigieren. Infolgedessen kann das Umschalten zwischen den Kameras (z. B. aufgrund eines digitalen Zooms über oder unter einem Schwellenwert für die Zoom-Stufe) während der Bilderfassung mit aktivierter EIS erfolgen, wobei die Videoeinspeisung so übereinstimmt, dass Ruckeln, plötzliche Bildverschiebungen oder Verschiebungen in der Ansicht und Verschiebungen in der vermeintlichen Glätte des Videos (z. B. Änderungen in der EIS-Anwendung) am Übergangspunkt zwischen den Kameras 110a, 110b minimiert oder vermieden werden. Ein weiterer Vorteil dieser Technik ist, dass das Video von der Kamera 110a zur Übereinstimmung mit der zweiten Kamera 110b ohne jegliche Anpassung oder Verarbeitung verwendet werden kann. Es wird nur die Ausgabe der zweiten Kamera 110b angepasst, und diese wird konsistent in Bezug auf die Ansicht und die Charakteristika der ersten Kamera 110a ausgerichtet.
  • Das Gerät 102 kann auch die Einstellungen für die Videoerfassung während der Videoerfassung einstellen, um die Eigenschaften der mit den verschiedenen Kameras 110a, 110b erfassten Videos besser anzupassen. Beim Übergang von der Erfassung unter Nutzung der ersten Kamera 110a zur Erfassung unter Nutzung der zweiten Kamera 110b kann das Gerät 102 beispielsweise Eigenschaften wie z. B. den Fokusabstand, OIS-Parameter (z. B. ob OIS aktiviert ist, Stärke oder Niveau des angewandten OIS usw.), Belichtungseinstellungen (z. B. ISO, Sensorempfindlichkeit, Verstärkung, Bilderfassungszeit oder Verschlusszeit usw.) und so weiter ermitteln, die für die erste Kamera 110a kurz vor dem Übergang verwendet werden. Das Gerät 102 kann dann veranlassen, dass die zweite Kamera 110b diese Einstellungen oder Einstellungen, die ein vergleichbares Ergebnis aufweisen, für die Erfassung für die zweite Kamera 110b verwendet werden.
  • Dies kann die Einstellungsänderungen vor dem Übergang einschließen, um das Video von der zweiten Kamera 110b in dem aufgezeichneten Video zu umfassen. Um einen Zeitpunkt für die Anpassungen im Betrieb bereitzustellen, kann das Gerät 102 beispielsweise erkennen, dass ein Kamerawechsel angebracht oder erforderlich ist, und in Reaktion darauf die aktuellen Einstellungen für die erste Kamera 110a ermitteln und die zweite Kamera 110b anweisen, mit gleichwertigen Einstellungen zu beginnen, wie sie von der ersten Kamera 110a verwendet werden. Dies kann ausreichend Zeit bieten, um beispielsweise die zweite Kamera 110b einzuschalten, das OIS-System für die zweite Kamera 110b zu aktivieren und zu stabilisieren, die Belichtung der zweiten Kamera 110b an die der ersten Kamera 110a anzupassen, die Fokusposition der zweiten Kamera 110b an die der ersten Kamera 110a anzupassen und so weiter. Sobald die zweite Kamera 110b im geeigneten Modus betrieben wird, z.B. mit Videoerfassungsparametern, die mit den Videoerfassungsparametern der ersten Kamera 110a übereinstimmen, wechselt das Gerät 102 von der Verwendung der ersten Kamera 110a zur Verwendung der zweiten Kamera 110b für die Videoerfassung. In ähnlicher Weise kann das Gerät 102 beim Übergang von der zweiten Kamera 110b zur ersten Kamera 110a die von der zweiten Kamera 110b verwendeten Werte für die Videoerfassungsparameter ermitteln und entsprechende Werte für die Videoerfassungsparameter der ersten Kamera 110a einstellen, bevor der Übergang erfolgt.
  • Es wurde eine Anzahl von Implementierungen beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Zum Beispiel können verschiedene Formen der vorstehend dargestellten Abläufe verwendet werden, wobei Schritte neu geordnet, hinzugefügt oder entfernt werden. Eine weitere exemplarische Modifizierung, obwohl die vorstehende Beschreibung primär beschreibt, dass die Verarbeitung der Bilddaten während der Videoerfassung durch die erste und/oder zweite Kamera erfolgt, ist, dass in einigen Implementierungen die erste Transformation in den zweiten kanonischen Bezugsraum für die zweite Kamera, die zweite Transformation vom zweiten kanonischen Bezugsraum in den ersten kanonischen Bezugsraum für die erste Kamera und die dritte Transformation zur Anwendung der elektronischen Bildstabilisierung auf Bilddaten im ersten kanonischen Bezugsraum für die erste Kamera stattdessen angewendet werden können (durch das Gerät 102 oder ein anderes z. B. entferntes Gerät) zu einem späteren Zeitpunkt angewendet werden, z. B. wenn das Video nicht mehr erfasst wird.
  • Ausführungsformen der Erfindung und die in dieser Spezifikation beschriebenen Funktionsvorgänge können in digitalen elektronischen Schaltungen oder in Computersoftware, -Firmware oder -Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. Ausführungsformen der Erfindung können als ein oder mehrere Computerprogrammprodukte implementiert werden, d. h. als ein oder mehrere Module von Computerprogrammbefehlen, die auf einem computerlesbaren Medium zur Ausführung codiert sind, oder um den Betrieb von Datenverarbeitungsvorrichtungen zu steuern. Das computerlesbare Medium kann ein maschinenlesbares Datenspeichergerät, ein maschinenlesbares Speichersubstrat, ein Arbeitsspeicher, eine Stoffzusammensetzung, die ein maschinenlesbares verbreitetes Signal bewirkt, oder eine Kombination aus einem oder mehreren derselben sein. Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Vorrichtungen, Geräte und Maschinen zum Verarbeiten von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Die Vorrichtung kann neben der Hardware auch einen Code umfassen, der eine Ausführungsumgebung für das betreffende Computerprogramm bildet, z. B. einen Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbank-Managementsystem, ein Betriebssystem oder eine Kombination einer oder mehrerer der genannten darstellt. Ein propagiertes Signal ist ein künstlich erzeugtes Signal, wie z. B. ein maschinengeneriertes elektrisches, optisches oder elektromagnetisches Signal, das erzeugt wird, um Informationen für die Übertragung zu einer geeigneten Empfangsvorrichtung zu codieren.
  • Ein Computerprogramm (auch als Programm, Software, Software-Anwendung, Script oder Code bekannt) kann in jeder Form von Programmiersprache, darunter auch in kompilierten oder interpretierten Sprachen, geschrieben und in jeder Form angewendet werden, darunter auch als eigenständiges Programm oder als Modul, Komponente, Subroutine oder andere Einheit, die für die Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm entspricht nicht unbedingt einer Datei in einem Dateisystem. Ein Programm kann in einem Teil einer Datei, die andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem Dokument in Markup-Sprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern) gespeichert sein. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und Logikabläufe können durch einen oder mehrere programmierbare Prozessoren ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch Verarbeiten von Eingabedaten und Erzeugen von Ausgaben auszuführen. Die Prozesse und Logikabläufe können zudem durch eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder eine ASIC (anwendungsspezifische integrierte Schaltung) ausgeführt, und das Gerät in Form derselben implementiert werden.
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, umfassen beispielsweise sowohl Universal- als auch Spezialmikroprozessoren, sowie einen oder mehrere Prozessoren einer beliebigen Art von digitalem Computer. Im Allgemeinen empfängt ein Prozessor Befehle und Daten von einem Festwertspeicher oder einem wahlfreien Zugriffsspeicher oder von beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor für das Ausführen von Befehlen und ein oder mehrere Speichergeräte für das Speichern von Befehlen und Daten. Im Allgemeinen umfasset ein Computer außerdem ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. Magnet-, magneto-optische oder optische Disketten, um Daten zu empfangen und/oder zu senden, oder derselbe ist operativ an ein solches Speichergerät gekoppelt. Ein Computer muss jedoch nicht über diese Geräte verfügen. Des Weiteren kann ein Computer in einem anderen Gerät, wie z. B. einem Tabletcomputer, einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audioplayer, einem globalen Positionsbestimmungssystem-(GPS)-Empfänger integriert sein, um nur einige Beispiele zu nennen. Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen von nicht flüchtigem Speicher, Medien und Speichergeräten, darunter auch beispielsweise Halbleiterspeichergeräte, wie z. B. EPROM, EEPROM und Flash-Speichergeräte, Magnetplatten, wie z. B. eingebaute Festplattenlaufwerke oder Wechselplatten, magneto-optische Platten sowie CD-ROMs und DVD-ROMs. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können Ausführungsformen der Erfindung auf einem Computer implementiert werden, der ein Anzeigegerät (wie z. B. einen CRT(Kathodenstrahlröhren)- oder LCD(Flüssigkristallanzeige)-Monitor), um dem Benutzer Informationen anzuzeigen, sowie eine Tastatur und ein Zeigegerät (z. B. eine Maus oder einen Trackball) aufweist, mittels derer der Benutzer eine Eingabe an dem Computer vornehmen kann. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; zudem können die Eingaben des Benutzers in beliebiger Form, darunter auch akustisch, sprachlich oder taktil, empfangen werden.
  • Ausführungsformen der Erfindung können in einem Computersystem implementiert sein, das eine Backendkomponente, wie z. B. einen Datenserver, oder eine Middlewarekomponente, wie z. B. einen Applikationsserver, oder eine Frontendkomponente, wie z. B. einen Clientcomputer, der eine grafische Benutzeroberfläche oder einen Web-Browser aufweist, durch den ein Benutzer mit einer Implementierung der Erfindung interagieren kann, oder eine Kombination aus einer oder mehreren dieser Backend-, Middleware- oder Frontendkomponenten umfasset. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. So umfassen beispielsweise Kommunikationsnetzwerke ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“), z. B. das Internet.
  • Das Computersystem kann Clients und Server umfassen. Ein Client und ein Server sind im Allgemeinen voneinander entfernt und interagieren normalerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander aufweisen.
  • Während diese Beschreibung viele Details enthält, sollten diese nicht als Einschränkungen bezüglich des Umfangs der Erfindung oder ihren Ansprüchen ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die spezifisch für bestimmte Ausführungsformen der Erfindung sind. Bestimmte Merkmale, die in dieser Spezifikation im Kontext der unterschiedlichen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Andererseits können verschiedene Merkmale, die im Kontext einer einzelnen Ausführungsform beschrieben werden, in mehreren Ausführungsformen oder in einer geeigneten Teilkombination implementiert werden. Außerdem können ein oder mehrere Merkmale einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgelöst werden, auch wenn die Merkmale vorstehend als in gewissen Kombinationen funktionierend beschrieben oder gar als eine Kombination beansprucht werden, und die beanspruchte Kombination kann an eine Teilkombination oder eine Variation einer Teilkombination gerichtet sein.
  • Gleichermaßen soll dies, obwohl die Abläufe in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Abläufe in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle dargestellten Abläufe durchgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und eine Parallelbearbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den oben beschriebenen Ausführungsformen nicht in allen Ausführungsformen als erforderlich aufgefasst werden, zudem versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte zusammengefasst werden können.
  • Bestimmte Ausführungsformen der Erfindung wurden beschrieben. Weitere Ausführungsformen liegen innerhalb des Umfangs der folgenden Ansprüche. Die in den Ansprüchen ausgeführten Vorgänge können beispielsweise in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 10462370 [0092]

Claims (15)

  1. Verfahren, umfassend: Bereitstellen, durch ein Videoerfassungsgerät mit einer ersten Kamera und einer zweiten Kamera, einer digitalen Zoom-Fähigkeit, die benutzerspezifische Vergrößerungsänderungen innerhalb eines digitalen Zoom-Bereichs während der Videoaufzeichnung ermöglicht, wobei das Videoerfassungsgerät konfiguriert ist, (i) Videodaten zu verwenden, die von der ersten Kamera über einen ersten Abschnitt des digitalen Zoom-Bereichs erfasst werden, und (ii) Videodaten zu verwenden, die von der zweiten Kamera über einen zweiten Abschnitt des digitalen Zoom-Bereichs erfasst werden; und während des Erfassens eines Videos unter Nutzung der zweiten Kamera des Videoerfassungsgeräts, um eine Zoom-Stufe im zweiten Abschnitt des digitalen Zoombereichs bereitzustellen, Verarbeiten von Bilddaten, die unter Nutzung der zweiten Kamera erfasst wurden, durch Anwenden eines Satzes von Transformationen, einschließlich (i) einer ersten Transformation in einen zweiten kanonischen Bezugsraum für die zweite Kamera, (ii) einer zweiten Transformation aus dem zweiten kanonischen Bezugsraum für die zweite Kamera in einen ersten kanonischen Bezugsraum für die erste Kamera, und (iii) einer dritten Transformation, um eine elektronische Bildstabilisierung auf Bilddaten im ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  2. Verfahren nach Anspruch 1, wobei das Verfahren ferner umfasst: während des Erfassens eines Videos unter Nutzung der ersten Kamera des Videoerfassungsgeräts, um eine Zoom-Stufe im ersten Abschnitt des digitalen Zoombereichs bereitzustellen, Verarbeiten von Bilddaten, die unter Nutzung der zweiten Kamera erfasst wurden, durch Anwenden eines Satzes von Transformationen, einschließlich (i) der ersten Transformation in den ersten kanonischen Bezugsraum für die erste Kamera, und (ii) der dritten Transformation, um elektronische Bildstabilisierung auf die Bilddaten im ersten kanonischen Bezugsraum für die erste Kamera anzuwenden.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei die erste Kamera und die zweite Kamera unterschiedliche Sichtfelder aufweisen, und wobei (i) ein Sichtfeld der zweiten Kamera in einem Sichtfeld der ersten Kamera umfasst ist oder (ii) das Sichtfeld der ersten Kamera in dem Sichtfeld der zweiten Kamera umfasst ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die erste Kamera und die zweite Kamera jeweils eine Linsenanordnung mit fester Brennweite umfassen.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der zweite kanonische Bezugsraum für die zweite Kamera und der erste kanonische Bezugsraum für die erste Kamera konzeptionelle Kameraräume sind, die durch einen vorbestimmten, festen Satz von intrinsischen Eigenschaften der Kamera definiert sind, sodass das Projizieren von Bilddaten auf die kanonischen Bezugsräume zeitabhängige Effekte während des Erfassens eines Videobildes beseitigt.
  6. Verfahren nach Anspruch 5, wobei die erste Kamera ein optisches Bildstabilisierungssystem (OIS) umfasset und der erste kanonische Bezugsraum für die erste Kamera einer ist, in dem Bilddaten dargestellt werden, die eine konsistente, vorbestimmte OIS-Position aufweisen; oder wobei die zweite Kamera ein optisches Bildstabilisierungssystem (OIS) umfasst und der zweite kanonische Bezugsraum für die zweite Kamera einer ist, in dem Bilddaten dargestellt werden, die eine konsistente, vorbestimmte OIS-Position aufweisen.
  7. Verfahren nach Anspruch 6, wobei die erste Kamera Bilddaten bereitstellt, die Bildabtastlinien eines Bildausschnitts progressiv erfassen, und der erste kanonische Bezugsraum für die erste Kamera einer ist, in dem die Bilddaten korrigiert wurden, um Verzerrungen aufgrund der progressiven Erfassung für die Bildabtastlinien zu beseitigen; oder wobei die zweite Kamera Bilddaten bereitstellt, die Bildabtastlinien eines Bildausschnitts progressiv erfassen, und der zweite kanonische Bezugsraum für die zweite Kamera einer ist, in dem die Bilddaten korrigiert wurden, um Verzerrungen aufgrund der progressiven Erfassung für die Bildabtastlinien zu beseitigen.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die zweite Transformation ein Sichtfeld der zweiten Kamera an einem Sichtfeld der ersten Kamera ausrichtet und einen räumlichen Offset zwischen der ersten Kamera und der zweiten Kamera ausgleicht.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die erste Transformation, die zweite Transformation und die dritte Transformation jeweils eine entsprechende Homographie-Matrix aufweisen, und die Verarbeitung der Bilddaten das Anwenden der Homographie-Matrix umfasst.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Verfahren ferner umfasst: während der Erfassung von Videodaten mit der ersten Kamera und der Verarbeitung der Videodaten von der ersten Kamera, um eine elektronische Bildstabilisierung anzuwenden, Empfangen von Eingaben des Benutzers, die eine Änderung der Zoom-Stufe auf eine bestimmte Zoom-Stufe im zweiten Abschnitt des digitalen Zoombereichs angeben; und in Reaktion auf das Empfangen der Benutzereingabe: Aufzeichnen einer Sequenz von Videobildern, in der eine Vergrößerung von Videobildern, die unter Nutzung der ersten Kamera erfasst wurden, schrittweise erhöht wird, bis eine vorbestimmte Zoom-Stufe erreicht ist, Initiieren der Videoerfassung unter Nutzung der zweiten Kamera, und Aufzeichnen einer zweiten Sequenz von Videobildern, die unter Nutzung der zweiten Kamera erfasst wurden, wobei die zweite Sequenz von Videobildern die vorbestimmte Zoom-Stufe bereitstellt und eine zunehmende Vergrößerung der unter Nutzung der zweiten Kamera erfassten Videobilder bereitstellt, bis die bestimmte Zoom-Stufe erreicht ist.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei: die erste Transformation eine Vielzahl verschiedener Anpassungen für verschiedene Abtastzeilen der mit der zweiten Kamera erfassten Bilddaten umfasst; die zweite Transformation zumindest teilweise basierend auf einem Fokusabstand der zweiten Kamera ermittelt wird; und die dritte Transformation eine elektronische Bildstabilisierung für Videobilder umfasst, die für jedes bestimmte Videobild der Videobilder ein oder mehrere Videobilder vor dem bestimmten Videobild und ein oder mehrere Videobilder nach dem bestimmten Videobild verwendet wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die zweite Kamera ein kleineres Sichtfeld aufweist als die erste Kamera; wobei das Verfahren ferner umfasst: während der Bilderfassung unter Nutzung der ersten Kamera, Empfangen von Benutzereingaben, die eine Änderung der Zoom-Stufe für die Videoerfassung angeben; und in Reaktion auf das Empfangen der Benutzereingabe, Ermitteln, ob die geänderte Zoom-Stufe größer als oder gleich einer vorbestimmten Übergangs-Zoomstufe ist, wobei die vorbestimmte Übergangs-Zoomstufe ein Sichtfeld darstellt, das kleiner ist als das Sichtfeld der zweiten Kamera.
  13. Verfahren nach einem der Ansprüche 1 bis 12, wobei das Verfahren ferner umfasst: Speichern von Daten, die (i) eine erste Übergangs-Zoomstufe für den Übergang von der Videoerfassung unter Nutzung der ersten Kamera zur Videoerfassung unter Nutzung der zweiten Kamera und (ii) eine zweite Übergangs-Zoomstufe für den Übergang von der Videoerfassung unter Nutzung der zweiten Kamera zur Videoerfassung unter Nutzung der ersten Kamera angeben, wobei sich die erste Übergangs-Zoomstufe von der zweiten Übergangs-Zoomstufe unterscheidet; und Ermitteln, ob für die Videoerfassung zwischen Kameras umgeschaltet werden soll, indem (i) eine angeforderte Zoom-Stufe mit der ersten Übergangs-Zoomstufe verglichen wird, wenn die angeforderte Zoom-Stufe einer Verringerung des Sichtfelds entspricht, und (ii) die angeforderte Zoom-Stufe mit der zweiten Übergangs-Zoomstufe verglichen wird, wenn die angeforderte Zoom-Stufe einer Vergrößerung des Sichtfelds entspricht.
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei das Verfahren ferner umfasst: während des Aufzeichnens einer Videodatei, Ermitteln des Umschaltens von der Videoerfassung unter Nutzung einer bestimmten Kamera der ersten Kamera und der zweiten Kamera zum Erfassen eines Videos unter Nutzung einer anderen Kamera der ersten Kamera und der zweiten Kamera; und in Reaktion auf das Ermitteln eines Umschaltens: Ermitteln eines Werts für einen Videoerfassungsparameter, der für die Bilderfassung unter Nutzung der bestimmten Kamera verwendet wird, Einstellen eines Werts für einen Videoerfassungsparameter für die andere Kamera, basierend auf dem ermittelten Videoerfassungsparameter, und nach dem Einstellen des Werts für den Videoerfassungsparameter für die andere Kamera, Initiieren der Videoerfassung von der zweiten Kamera und Aufzeichnen des erfassten Videos von der zweiten Kamera in der Videodatei; wobei das Einstellen des Videoerfassungsparameters ein Anpassen, für die zweite Kamera, eines oder mehrere von Belichtung, Bildsensorempfindlichkeit, Verstärkung, Bilderfassungszeit, Blendengröße, Linsenfokusabstand, OIS-Status, oder OIS-Niveau umfasst.
  15. Videoerfassungsgerät, umfassend: eine erste Kamera mit einem ersten Sichtfeld; eine zweite Kamera mit einem zweiten Sichtfeld; einen oder mehrere Positions- oder Orientierungssensoren; einen oder mehrere Prozessoren; und eine oder mehrere Datenspeichergeräte, die Anweisungen speichern, die bei Ausführung durch den einen oder die mehreren Prozessoren, die Ausführung des Verfahrens nach einem der Ansprüche 1 bis 14 veranlassen.
DE112021000208.2T 2020-07-29 2021-07-02 Multi-Kamera Videostabilisierung Pending DE112021000208T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/941,775 US11190689B1 (en) 2020-07-29 2020-07-29 Multi-camera video stabilization
US16/941,775 2020-07-29
PCT/US2021/040378 WO2022026126A1 (en) 2020-07-29 2021-07-02 Multi-camera video stabilization

Publications (1)

Publication Number Publication Date
DE112021000208T5 true DE112021000208T5 (de) 2022-09-08

Family

ID=77168422

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000208.2T Pending DE112021000208T5 (de) 2020-07-29 2021-07-02 Multi-Kamera Videostabilisierung

Country Status (7)

Country Link
US (3) US11190689B1 (de)
EP (1) EP4052456A1 (de)
JP (1) JP2023536674A (de)
KR (1) KR20230044137A (de)
CN (1) CN114788260A (de)
DE (1) DE112021000208T5 (de)
WO (1) WO2022026126A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220058769A1 (en) * 2020-08-24 2022-02-24 Samsung Electronics Co., Ltd. Method and apparatus for generating image

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462370B2 (en) 2017-10-03 2019-10-29 Google Llc Video stabilization
US10171738B1 (en) 2018-05-04 2019-01-01 Google Llc Stabilizing video to reduce camera and face movement
US11190689B1 (en) 2020-07-29 2021-11-30 Google Llc Multi-camera video stabilization
CN116679419A (zh) * 2020-08-12 2023-09-01 核心光电有限公司 用于光学防抖的装置和方法
KR102274270B1 (ko) * 2020-12-10 2021-07-08 주식회사 케이티앤씨 홍채인식범위 확장을 위한 홍채 영상 획득시스템
US11610338B2 (en) * 2021-03-26 2023-03-21 Fotonation Limited Method of controlling a camera
KR20230023506A (ko) * 2021-08-10 2023-02-17 삼성전자주식회사 이미지 안정화를 수행하는 전자 장치 및 그의 동작 방법
US20230222754A1 (en) * 2022-01-07 2023-07-13 Sony Interactive Entertainment Inc. Interactive video playback techniques to enable high fidelity magnification
WO2023139528A1 (en) * 2022-01-21 2023-07-27 Swiss Rig Gmbh Algorithmic camera zoom controller method
WO2024025182A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 복수 개의 카메라를 이용하여 영상을 획득하는 전자 장치 및 그 방법
WO2024072722A1 (en) * 2022-09-29 2024-04-04 Google Llc Smooth continuous zooming in a multi-camera system by image-based visual features and optimized geometric calibrations
WO2024076363A1 (en) * 2022-10-04 2024-04-11 Google Llc Field of view correction techniques for shutterless camera systems
WO2024076176A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 카메라를 제어하는 방법 및 전자 장치
CN116320784B (zh) * 2022-10-27 2023-11-28 荣耀终端有限公司 图像处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462370B2 (en) 2017-10-03 2019-10-29 Google Llc Video stabilization

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637571A (en) 1985-09-03 1987-01-20 The United States Of America As Represented By The Secretary Of The Army Electronic image stabilization
GB2220319B (en) 1988-07-01 1992-11-04 Plessey Co Plc Improvements in or relating to image stabilisation
US20030038927A1 (en) 2001-08-27 2003-02-27 Alden Ray M. Image projector with integrated image stabilization for handheld devices and portable hardware
WO2003107090A1 (en) 2002-06-12 2003-12-24 Silicon Optix, Inc. Automatic keystone correction system and method
KR20040077240A (ko) 2003-02-28 2004-09-04 주식회사 대우일렉트로닉스 타임랩스 영상 녹화/재생장치에서 움직임 검출에 따른녹화 속도 제어방법
US8199222B2 (en) 2007-03-05 2012-06-12 DigitalOptics Corporation Europe Limited Low-light video frame enhancement
US7420592B2 (en) 2004-06-17 2008-09-02 The Boeing Company Image shifting apparatus for enhanced image resolution
US7643062B2 (en) 2005-06-08 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for deblurring an image based on motion tracking
JP4340915B2 (ja) 2006-02-01 2009-10-07 ソニー株式会社 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置
US7697725B2 (en) 2006-04-03 2010-04-13 Sri International Method and apparatus for autonomous object tracking
US7952612B2 (en) 2006-06-22 2011-05-31 Nokia Corporation Method and system for image construction using multiple exposures
US8781162B2 (en) 2011-01-05 2014-07-15 Ailive Inc. Method and system for head tracking and pose estimation
JP4702233B2 (ja) 2006-09-11 2011-06-15 ソニー株式会社 画像データ処理装置および画像データ処理方法
KR100819301B1 (ko) 2006-12-20 2008-04-03 삼성전자주식회사 모바일 기기용 카메라 모듈의 손떨림 보정 방법 및 장치
US7559017B2 (en) * 2006-12-22 2009-07-07 Google Inc. Annotation framework for video
CA2674830A1 (en) 2007-01-05 2008-07-17 Nestor, Inc. Video speed detection system
US7796872B2 (en) 2007-01-05 2010-09-14 Invensense, Inc. Method and apparatus for producing a sharp image from a handheld device containing a gyroscope
WO2008114264A2 (en) 2007-03-21 2008-09-25 Mantis Vision Ltd A method and apparatus for video image stabilization
JP5111088B2 (ja) 2007-12-14 2012-12-26 三洋電機株式会社 撮像装置及び画像再生装置
JP4539729B2 (ja) 2008-02-15 2010-09-08 ソニー株式会社 画像処理装置、カメラ装置、画像処理方法、およびプログラム
JP5075757B2 (ja) 2008-08-05 2012-11-21 オリンパス株式会社 画像処理装置、画像処理プログラム、画像処理方法、および電子機器
US8102428B2 (en) 2008-08-28 2012-01-24 Adobe Systems Incorporated Content-aware video stabilization
JP5144487B2 (ja) 2008-12-15 2013-02-13 キヤノン株式会社 主顔選択装置、その制御方法、撮像装置及びプログラム
KR101547556B1 (ko) 2009-02-06 2015-08-26 삼성전자주식회사 이미지 표시 방법 및 장치
US8970690B2 (en) 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
CN102656876A (zh) 2009-10-14 2012-09-05 Csr技术公司 用于图像稳定的方法和装置
US8599238B2 (en) 2009-10-16 2013-12-03 Apple Inc. Facial pose improvement with perspective distortion correction
US8553275B2 (en) * 2009-11-09 2013-10-08 Xerox Corporation Architecture for controlling placement and minimizing distortion of images
US8416277B2 (en) 2009-12-10 2013-04-09 Apple Inc. Face detection as a metric to stabilize video during video chat session
US8558903B2 (en) 2010-03-25 2013-10-15 Apple Inc. Accelerometer / gyro-facilitated video stabilization
US10614289B2 (en) 2010-06-07 2020-04-07 Affectiva, Inc. Facial tracking with classifiers
US20120050570A1 (en) 2010-08-26 2012-03-01 Jasinski David W Audio processing based on scene type
WO2012041492A1 (en) 2010-09-28 2012-04-05 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Method and device for recovering a digital image from a sequence of observed digital images
WO2012064106A2 (en) 2010-11-12 2012-05-18 Samsung Electronics Co., Ltd. Method and apparatus for video stabilization by compensating for view direction of camera
US9077890B2 (en) 2011-02-24 2015-07-07 Qualcomm Incorporated Auto-focus tracking
GB2492529B (en) 2011-05-31 2018-01-10 Skype Video stabilisation
US8913140B2 (en) 2011-08-15 2014-12-16 Apple Inc. Rolling shutter reduction based on motion sensors
US8493459B2 (en) 2011-09-15 2013-07-23 DigitalOptics Corporation Europe Limited Registration of distorted images
TWI469062B (zh) 2011-11-11 2015-01-11 Ind Tech Res Inst 影像穩定方法及影像穩定裝置
FR2982678B1 (fr) 2011-11-14 2014-01-03 Dxo Labs Procede et systeme de capture de sequence d'images avec compensation des variations de grandissement
US9246543B2 (en) 2011-12-12 2016-01-26 Futurewei Technologies, Inc. Smart audio and video capture systems for data processing systems
US8743222B2 (en) 2012-02-14 2014-06-03 Nokia Corporation Method and apparatus for cropping and stabilization of video images
US9998659B2 (en) 2012-03-01 2018-06-12 Geo Semiconductor Inc. Method and system for adaptive perspective correction of ultra wide-angle lens images
US9503645B2 (en) 2012-05-24 2016-11-22 Mediatek Inc. Preview system for concurrently displaying multiple preview images generated based on input image generated by image capture apparatus and related preview method thereof
EP2680616A1 (de) 2012-06-25 2014-01-01 LG Electronics Inc. Mobiles Endgerät und Audiozoomverfahren dafür
US9280810B2 (en) 2012-07-03 2016-03-08 Fotonation Limited Method and system for correcting a distorted input image
US8928730B2 (en) 2012-07-03 2015-01-06 DigitalOptics Corporation Europe Limited Method and system for correcting a distorted input image
US8736692B1 (en) 2012-07-09 2014-05-27 Google Inc. Using involuntary orbital movements to stabilize a video
JP6097522B2 (ja) 2012-10-22 2017-03-15 キヤノン株式会社 像ブレ補正装置及び像ブレ補正方法、撮像装置
US9288395B2 (en) 2012-11-08 2016-03-15 Apple Inc. Super-resolution based on optical image stabilization
CN105556944B (zh) 2012-11-28 2019-03-08 核心光电有限公司 多孔径成像***和方法
CN103853908B (zh) 2012-12-04 2017-11-14 中国科学院沈阳自动化研究所 一种自适应交互式多模型的机动目标跟踪方法
US9071756B2 (en) 2012-12-11 2015-06-30 Facebook, Inc. Systems and methods for digital video stabilization via constraint-based rotation smoothing
JP5997645B2 (ja) 2013-03-26 2016-09-28 キヤノン株式会社 画像処理装置及び方法、及び撮像装置
US9232138B1 (en) 2013-06-03 2016-01-05 Amazon Technologies, Inc. Image stabilization techniques
CN109194849B (zh) 2013-06-13 2021-01-15 核心光电有限公司 双孔径变焦数字摄影机
US10474921B2 (en) 2013-06-14 2019-11-12 Qualcomm Incorporated Tracker assisted image capture
KR101757101B1 (ko) 2013-07-04 2017-07-12 코어포토닉스 리미티드 소형 망원 렌즈 조립체
US9857568B2 (en) 2013-07-04 2018-01-02 Corephotonics Ltd. Miniature telephoto lens assembly
WO2015015383A2 (en) 2013-08-01 2015-02-05 Corephotonics Ltd. Thin multi-aperture imaging system with auto-focus and methods for using same
US9898856B2 (en) 2013-09-27 2018-02-20 Fotonation Cayman Limited Systems and methods for depth-assisted perspective distortion correction
US9952756B2 (en) 2014-01-17 2018-04-24 Intel Corporation Dynamic adjustment of a user interface
US9357132B2 (en) 2014-05-30 2016-05-31 Apple Inc. Video rolling shutter correction for lens movement in optical image stabilization cameras
US9413963B2 (en) 2014-05-30 2016-08-09 Apple Inc. Video image stabilization
US20150362989A1 (en) 2014-06-17 2015-12-17 Amazon Technologies, Inc. Dynamic template selection for object detection and tracking
WO2015198478A1 (ja) 2014-06-27 2015-12-30 株式会社 市川ソフトラボラトリー 画像歪み補正装置、情報処理装置および画像歪み補正方法
US9674438B2 (en) 2014-07-06 2017-06-06 Apple Inc. Low light video image stabilization strength modulation
US20160012430A1 (en) 2014-07-11 2016-01-14 Google Inc. Hands-free offline communications
CN105306804B (zh) 2014-07-31 2018-08-21 北京展讯高科通信技术有限公司 智能终端及其视频稳像方法及装置
US9392188B2 (en) 2014-08-10 2016-07-12 Corephotonics Ltd. Zoom dual-aperture camera with folded lens
US9596411B2 (en) 2014-08-25 2017-03-14 Apple Inc. Combined optical and electronic image stabilization
WO2016061565A1 (en) 2014-10-17 2016-04-21 The Lightco Inc. Methods and apparatus for using a camera device to support multiple modes of operation
EP3234908A4 (de) 2014-12-19 2018-05-23 Nokia Technologies OY Verfahren, vorrichtung und computerprogrammprodukt zur kalkulation von unschärfe
JP6530602B2 (ja) 2014-12-22 2019-06-12 キヤノン株式会社 撮像装置及びその制御方法
WO2016107635A1 (en) 2014-12-29 2016-07-07 Metaio Gmbh Method and system for generating at least one image of a real environment
GB2533788A (en) 2014-12-30 2016-07-06 Nokia Technologies Oy Method for determining the position of a portable device
WO2016108093A1 (en) 2015-01-03 2016-07-07 Corephotonics Ltd. Miniature telephoto lens module and a camera utilizing such a lens module
US9426362B2 (en) 2015-01-16 2016-08-23 Mems Drive, Inc. Three-axis OIS for super-resolution imaging
CN107431825A (zh) 2015-01-27 2017-12-01 汤姆逊许可公司 用于图像和视频的电光和光电转换的方法、***和装置
US10015384B2 (en) 2015-04-02 2018-07-03 Corephotonics Ltd. Dual voice coil motor structure in a dual-optical module camera
US20160309065A1 (en) 2015-04-15 2016-10-20 Lytro, Inc. Light guided image plane tiled arrays with dense fiber optic bundles for light-field and high resolution image acquisition
KR102088603B1 (ko) 2015-04-16 2020-03-13 코어포토닉스 리미티드 소형 접이식 카메라의 오토 포커스 및 광학 이미지 안정화
KR102007379B1 (ko) 2015-05-28 2019-08-05 코어포토닉스 리미티드 이중-조리개 디지털 카메라의 광학식 손떨림 방지 및 자동-초점을 위한 양-방향성 강성
US10126633B2 (en) 2015-06-24 2018-11-13 Corephotonics Ltd. Low profile tri-axis actuator for folded lens camera
KR102214287B1 (ko) 2015-08-13 2021-02-09 코어포토닉스 리미티드 비디오 지원 및 스위칭/비스위칭 동적 제어 기능이 있는 듀얼-애퍼처 줌 카메라
CN109901342B (zh) 2015-09-06 2021-06-22 核心光电有限公司 紧凑型折叠式相机中带有滚动补偿的自动对焦和光学图像稳定
KR102457617B1 (ko) 2015-09-16 2022-10-21 한화테크윈 주식회사 영상 움직임 추정 방법 및 장치, 영상 안정화 방법 및 장치, 및 컴퓨터 기록매체
US9967461B2 (en) 2015-10-14 2018-05-08 Google Inc. Stabilizing video using transformation matrices
CN106709932B (zh) 2015-11-12 2020-12-04 创新先进技术有限公司 一种人脸位置跟踪方法、装置和电子设备
US9953217B2 (en) 2015-11-30 2018-04-24 International Business Machines Corporation System and method for pose-aware feature learning
US9674439B1 (en) 2015-12-02 2017-06-06 Intel Corporation Video stabilization using content-aware camera motion estimation
CN109946832B (zh) 2015-12-29 2021-01-19 核心光电有限公司 具有自动可调节长焦视场的双孔径变焦数字摄影机
US9773196B2 (en) 2016-01-25 2017-09-26 Adobe Systems Incorporated Utilizing deep learning for automatic digital image segmentation and stylization
US10194089B2 (en) * 2016-02-08 2019-01-29 Qualcomm Incorporated Systems and methods for implementing seamless zoom function using multiple cameras
US9743001B1 (en) 2016-02-19 2017-08-22 Fotonation Limited Method of stabilizing a sequence of images
JP6640620B2 (ja) 2016-03-17 2020-02-05 ソニーモバイルコミュニケーションズ株式会社 画像安定化装置、画像安定化方法及び電子機器
US10482663B2 (en) 2016-03-29 2019-11-19 Microsoft Technology Licensing, Llc Virtual cues for augmented-reality pose alignment
KR102469567B1 (ko) 2016-04-11 2022-11-22 삼성전자주식회사 이미징 장치 및 그 동작 방법
CN105741789B (zh) 2016-05-06 2018-06-01 京东方科技集团股份有限公司 一种高动态对比度显示屏的驱动方法及驱动装置
US10027893B2 (en) 2016-05-10 2018-07-17 Nvidia Corporation Real-time video stabilization for mobile devices based on on-board motion sensing
EP3758356B1 (de) 2016-05-30 2021-10-20 Corephotonics Ltd. Antrieb
EP3381181B1 (de) 2016-06-19 2022-04-06 Corephotonics Ltd. Rahmensynchronisation in einem kamerasystem mit dualer blende
CN106101535B (zh) 2016-06-21 2019-02-19 北京理工大学 一种基于局部及整体运动差异补偿的视频稳定方法
US9774798B1 (en) 2016-06-29 2017-09-26 Essential Products, Inc. Apparatus and method for a wide field of view image sensor
CN107770433B (zh) * 2016-08-15 2020-08-04 广州立景创新科技有限公司 影像获取装置及其影像平顺缩放方法
US9888179B1 (en) 2016-09-19 2018-02-06 Google Llc Video stabilization for mobile devices
CN106780674B (zh) 2016-11-28 2020-08-25 网易(杭州)网络有限公司 镜头移动方法和装置
KR20180073327A (ko) 2016-12-22 2018-07-02 삼성전자주식회사 영상 표시 방법, 저장 매체 및 전자 장치
US10104334B2 (en) 2017-01-27 2018-10-16 Microsoft Technology Licensing, Llc Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content
KR102212611B1 (ko) 2017-02-23 2021-02-05 코어포토닉스 리미티드 폴디드 카메라 렌즈 설계
CN110582724B (zh) 2017-03-15 2022-01-04 核心光电有限公司 具有全景扫描范围的照相装置
CN106954024B (zh) 2017-03-28 2020-11-06 成都通甲优博科技有限责任公司 一种无人机及其电子稳像方法、***
US10957297B2 (en) 2017-07-25 2021-03-23 Louis Yoelin Self-produced music apparatus and method
US10979814B2 (en) 2018-01-17 2021-04-13 Beijing Xiaoniao Tingling Technology Co., LTD Adaptive audio control device and method based on scenario identification
US10171738B1 (en) 2018-05-04 2019-01-01 Google Llc Stabilizing video to reduce camera and face movement
KR102509466B1 (ko) 2018-08-08 2023-03-14 구글 엘엘씨 장면의 초해상도 이미지를 생성하기 위한 광학 이미지 안정화 움직임
US10665250B2 (en) 2018-09-28 2020-05-26 Apple Inc. Real-time feedback during audio recording, and related devices and systems
CN109788089B (zh) 2018-10-16 2021-05-18 华为技术有限公司 微距成像的方法及终端
US10665204B1 (en) 2019-10-08 2020-05-26 Capital One Services, Llc Automatically adjusting screen brightness based on screen content
US10726579B1 (en) * 2019-11-13 2020-07-28 Honda Motor Co., Ltd. LiDAR-camera calibration
US11190689B1 (en) 2020-07-29 2021-11-30 Google Llc Multi-camera video stabilization
CN111738230B (zh) 2020-08-05 2020-12-15 深圳市优必选科技股份有限公司 一种人脸识别方法、人脸识别装置及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462370B2 (en) 2017-10-03 2019-10-29 Google Llc Video stabilization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220058769A1 (en) * 2020-08-24 2022-02-24 Samsung Electronics Co., Ltd. Method and apparatus for generating image
US11715178B2 (en) * 2020-08-24 2023-08-01 Samsung Electronics Co., Ltd. Method and apparatus for generating image

Also Published As

Publication number Publication date
EP4052456A1 (de) 2022-09-07
US11856295B2 (en) 2023-12-26
CN114788260A (zh) 2022-07-22
WO2022026126A1 (en) 2022-02-03
US11190689B1 (en) 2021-11-30
US20220053133A1 (en) 2022-02-17
KR20230044137A (ko) 2023-04-03
US20240107163A1 (en) 2024-03-28
JP2023536674A (ja) 2023-08-29

Similar Documents

Publication Publication Date Title
DE112021000208T5 (de) Multi-Kamera Videostabilisierung
DE69930986T2 (de) Hochauflösende Kamera
DE102014204905B4 (de) Bildaufnahmevorrichtung und zugehöriges Steuerverfahren
EP2030433B1 (de) Verfahren und anordnung zur behandlung von datensätzen bildgebender sensoren sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE112010005151B4 (de) Bildaufnahmevorrichtung und bildverwacklungskorrekturverfahren
DE112013005334B4 (de) Superauflösung auf der Basis von optischer Bildstabilisierung
DE69635436T2 (de) Videokamera mit auswechselbarer Linsenvorrichtung
DE4102196C2 (de) Abbildungsvorrichtung zum Nachführen eines Objektes
DE68928126T2 (de) Einrichtung zur Feststellung von Bildzittern
DE102007037310A1 (de) Netzwerkkamera und Steuerungsverfahren hierfür
EP3427474B1 (de) Bildverarbeitungsverfahren, bildverarbeitungsmittel und bildverarbeitungsvorrichtung zur erzeugung von abbildungen eines teils eines dreidimensionalen raums
DE102012006493A1 (de) Kameraimplementierung des Wählens und Stitchens von Einzelbildern für Panoramaaufnahmen
DE112013004507T5 (de) Bildverarbeitungsvorrichtung, Bilderfassungsvorrichtung, Bildverarbeitungsverfahren, Programm und Aufzeichnungsmedium
DE112013000762T5 (de) Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren
DE102011006272A1 (de) Bildverarbeitungsvorrichtung und Verfahren des Steuerns von dieser
DE102018107950A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und bildaufnahmevorrichtung
DE112012005330T5 (de) Verfahren und Vorrichtung zur Kompensation einer Überschreitung eines gewünschten Sichtbereichs durch eine ferngesteuerte Bilderfassungsvorrichtung
DE102015110326A1 (de) Bildverarbeitungsvorrichtung, Verfahren zum Steuern derselben und Speichermedium
DE102017118714A1 (de) Mehrstufiges Kameraträgersystem für die stereoskope Bildaufnahme
DE102008001076A1 (de) Verfahren, Vorrichtung sowie Computerprogramm zur Auflösungsreduktion eines Eingangsbilds
DE102013201980A1 (de) Verfahren zur Fokuseinstellung und entsprechendes Bilderfassungsgerät Kreuzverweis auf verwandte Anmeldungen
DE102015110026B4 (de) Bildverarbeitungsvorrichtung, zugehöriges steuerverfahren und speichermedium
DE69925696T2 (de) Bildaufnahmevorrichtung, Bildanzeigevorrichtung und Informationsaufzeichnungsmedium mit einem Fischaugenobjektiv
CN110784642B (zh) 图像处理装置及其控制方法以及存储介质、摄像装置
DE102020113972A1 (de) Videoanalyse- und -managementtechniquen für medienerfassung und -aufbewahrung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0005232000

Ipc: H04N0023600000