DE102011078662B4 - Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich - Google Patents

Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich Download PDF

Info

Publication number
DE102011078662B4
DE102011078662B4 DE102011078662.7A DE102011078662A DE102011078662B4 DE 102011078662 B4 DE102011078662 B4 DE 102011078662B4 DE 102011078662 A DE102011078662 A DE 102011078662A DE 102011078662 B4 DE102011078662 B4 DE 102011078662B4
Authority
DE
Germany
Prior art keywords
image
images
luma
pixels
values
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.)
Expired - Fee Related
Application number
DE102011078662.7A
Other languages
English (en)
Other versions
DE102011078662A1 (de
Inventor
Garrettt M. Johnson
Guy Cote
James Edmund Orr IV
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE102011078662A1 publication Critical patent/DE102011078662A1/de
Application granted granted Critical
Publication of DE102011078662B4 publication Critical patent/DE102011078662B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/12Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths with one sensor only
    • 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/62Control of parameters via user interfaces
    • 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/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/72Combination of two or more compensation controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/743Bracketing, i.e. taking a series of images with varying exposure conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10144Varying exposure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

Mobile Vorrichtung, die Bilder aufnimmt, wobei die Vorrichtung umfasst:eine Kamera zum Aufnehmen von zumindest drei Bildern mit unterschiedlichen Bildbelichtungsdauern; undein Bildverarbeitungsmodul zum Zusammensetzen der drei aufgenommenen Bilder, um ein erstes zusammengesetztes Bild zu erzeugen und zum Modifizieren des ersten zusammengesetzten Bildes, um ein zweites zusammengesetztes Bild zu erzeugen, durch das Ausdehnen eines Bereiches von Pixelwerten in einer ersten Auswahl von Regionen des ersten zusammengesetzten Bildes und das Komprimieren des Bereiches von Pixelwerten in einer zweiten Auswahl von Regionen des ersten zusammengesetzten Bildes, wobei das Bildverarbeitungsmodul die zumindest drei Bilder unter Verwendung von Masken zusammensetzt, die für jedes der aufgenommenen Bilder erzeugt wurden und die Teile der jeweiligen aufgenommenen Bilder spezifizieren, die in dem ersten zusammengesetzten Bild zu verwenden sind, wobei eine Maske für eines der zumindest drei aufgenommenen Bilder von jeweiligen Masken von anderen der zumindest drei aufgenommenen Bilder abgeleitet wird.

Description

  • Hintergrund
  • In den letzten Jahren gab es eine starke Zunahme von Digitalkameras, als selbstständige Geräte und als Teile von komplexeren Vorrichtungen, wie Mobiltelefonen, Smartphones, anderen mobilen Rechenvorrichtungen, etc. Mit dieser Zunahme haben die Hersteller schnell die technischen Merkmale der Digitalkameras auf diesen Vorrichtungen erhöht. Zum Beispiel beinhalten viele mobile Vorrichtungen heute typischerweise fünf Megapixel Kameras, welche oft benötigt werden um hoch qualitative Bilder zu erzeugen.
  • Leider können diese Kameras, obwohl die technischen Eigenschaften solcher Kameras verbessert wurden, keine hoch qualitativen Bilder aufnehmen und erzeugen, weil die Bildverarbeitungsfähigkeiten dieser Kameras nicht mit den verbesserten Hardwarefähigkeiten gleichgezogen haben. Zum Beispiel sind viele Kameras heute immer noch nicht gut darin Bilder mit einem hohen Dynamikbereich (high dynamic range, HDR) aufzunehmen und zu erzeugen.
  • Ein klassisches Beispiel einer HDR Szene ist eine Person, die im Gebäude vor einem Fenster während des Tages steht. Viele Kameras, die solch eine Szene aufnehmen erzeugen ein Bild, das einen hellen Hintergrund hat mit einem dunklen Vordergrund, der nicht alle Merkmale der Person zeigt. Das Problem der Aufnahme solch einer HDR-Szene durch die Kamera einer mobilen Vorrichtung (zum Beispiel durch die Kamera eines Telefons) wird verstärkt durch die kleinen Bildsensoren, die von solch einer Kamera verwendet werden.
  • Das Dokument US 2008/0316354 A1 offenbart ein Verfahren und eine Vorrichtung zur Erzeugung von HDR-Bildern von mehreren Aufnahmen. Dieses Dokument offenbart insbesondere ein Verfahren zur Erzeugung eines verbesserten Bildes mit Hilfe von verschiedenen aufeinanderfolgenden Aufnahmen. Die Aufnahmen werden kombiniert, um Bilder mit verbesserten Eigenschaften zu erzeugen, insbesondere mit besserem Farb- und Lichtinhalt. Es wird ausreichend Licht erhalten, indem eine Serie von ersten Aufnahmen zusammen mit einer zweiten Aufnahme in schneller Szenenfolge durchgeführt wird. Die ersten Aufnahmen werden kombiniert, um ausreichend Lumineszenz und Schärfe zu bieten. Die zweite Aufnahme wird gemacht, um Farbinformationen zu sammeln. Die ersten Aufnahmen werden mit der zweiten Aufnahme kombiniert, um ein verbessertes Bild zu liefern.
  • Das Dokument US 2009/0033755 A1 offenbart ein Bilderfassungs- und Verarbeitungsengine für Computergrafiken. In einer beispielhaften Ausführungsform wird ein Bildverarbeitungssystem zur Verfügung gestellt. Das Bildverarbeitungssystem umfasst eine CPU, die derart angeordnet und konfiguriert ist, dass sie eine Bildeingabe empfängt, wobei die Bildeingabe eine Szene darstellt, und wobei die CPU weiter derart angeordnet und konfiguriert ist, dass sie eine Routine ausführt, um die Bildeingabe zu empfangen und eine voreingestellte räumlich-spektrale Analyse des Bildes durchführt, um eine für die Analyse der Szene optimierte Version des Bildes zu erzeugen.
  • Das Dokument WO 2010/123923 A1 offenbart Techniken zur Erzeugung eines HDR-Bildes innerhalb einer Digitalkamera der Verbraucherklasse von einer Serie von Bildern einer Szene, die bei verschiedenen Belichtungsniveaus aufgenommen wurden, und Anzeigen des HDR-Bildes auf der in der Kamera eingebauten Anzeige.
  • Das Dokument „High dynamic ränge imaging on mobile devices", Radu C.B. et al., Media laboratory/Nokia Research Center, IEEE 2008, Seiten 1312-1315, befasst sich mit dem Dynamikumfang von Bildsensoren und insbesondere Multi-Frame-Ansätzen, bei denen mehrere Aufnahmen derselben Szene kombiniert werden, die zu unterschiedlichen Belichtungszeiten aufgenommen wurden. Das Dokument offenbart einen Multi-Frame-Ansatz für mobile Implementierungen.
  • Das Dokument„A Novel Tone Mapping Method for Image Contrast Enhancement", Radu C.B., Vehvilainen M., Nokia Research Center, Proceedings of the 5th International Symposium on image and Signal Processing an analysis 2007, Seiten 268 bis 273, befasst sich mit der Kontrastverbesserung von Bildern. Das Dokument offenbart eine histogrammbasierte Methode zur Verbesserung des Bildkontrasts.
  • Kurze Zusammenfassung
  • Die Erfindung ist in den unabhängigen Ansprüchen definiert. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
  • Einige Ausführungsformen der Erfindung stellen eine mobile Vorrichtung bereit, die Bilder mit hohen Dynamikbereichen aufnimmt und erzeugt. Um ein Bild mit hohem Dynamikbereich aufzunehmen und zu erzeugen beinhaltet die mobile Vorrichtung von einigen Ausführungsformen neue Bildaufnahme- und Verarbeitungsmodule. In einigen Ausführungsformen erzeugt die mobile Vorrichtung ein Bild mit hohem Dynamikbereich (HDR) durch (1) Veranlassen ihres Bildaufnahmemoduls schnell eine Folge von Bildern mit unterschiedlichen Bildbelichtungsdauern aufzunehmen und (2) veranlassen ihres Bildverarbeitungsmoduls diese Bilder zusammenzufügen, um das HDR Bild zu erzeugen.
  • Um schnell eine Folge von Bildern aufzunehmen unternimmt das Bildaufnahmemodul von einigen Ausführungsformen zwei Handlungen. Erstens, nachdem die mobile Vorrichtung ihren HDR-Modus einnimmt oder nachdem sie einen Bildaufnahmemodus einnimmt (unten auch als ein Kameramodus bezeichnet), beginnt sie Bilder mit einer bestimmten Bildfrequenz aufzunehmen. In einigen Ausführungsformen ist die Bildfrequenz ungefähr 15 Bilder pro Sekunde (frames per second, fps). In anderen Ausführungsformen ist die ursprüngliche Bildrate unterschiedlich in unterschiedlichen Beleuchtungsbedingungen (zum Beispiel 15 FPS unter normalen Beleuchtungsbedingungen, 10 FPS für dunklere Bedingungen, usw.). Diese Bildfrequenz ermöglicht es der Kamera Bilder mit der normalen Belichtungseinstellung für die aktuellen Beleuchtungsbedingungen aufzunehmen (d.h., ermöglicht es der Kamera, jedes Bild mit einer Belichtungsdauer aufzunehmen, die das Bildaufnahmemodul als die normale Belichtungsdauer für die gegenwärtigen Beleuchtungsbedingung berechnet). Das Bildaufnahmemodul speichert jedes Bild, das es aufnimmt mit einer bestimmten Bildfrequenz in einem Bildpuffer der Vorrichtung. In einigen Ausführungsformen schreibt das Aufnahmemodul auf eine kreisförmige Weise in diesen Bildpuffer, was es dem Modul ermöglicht, früher gespeicherte Bilder vor später gespeicherten Bildern zu löschen, wenn der Puffer seine maximale Speicherkapazität erreicht.
  • Zweitens, wenn die mobile Vorrichtung einen hohen Dynamikbereichs-(HDR) Modus einnimmt, berechnet das Bildaufnahmemodul die Belichtungsdauern zum Aufnehmen eines unterbelichteten Bildes und eines überbelichteten Bildes für die Beleuchtungsbedingung, unter denen die Kamera die Bilder aufnimmt (unten als die aktuelle Beleuchtungsbedingung bezeichnet). Unterschiedliche Ausführungsformen der Erfindung verwenden verschiedene Techniken zum Berechnen der Dauern der überbelichteten und unterbelichteten Bildern. Zum Beispiel berechnen einige Ausführungsformen die Dauer des überbelichteten und unterbelichteten Bildes basierend auf einem Histogramm der normal belichteten Bilder, die die Vorrichtung mit der bestimmten Bildfrequenz aufnimmt.
  • Nachdem die Vorrichtung ihren HDR-Modus einnimmt kann die Vorrichtung angewiesen werden ein HDR Bild aufzunehmen (zum Beispiel durch den Benutzer der Vorrichtung, durch einen Zeitgeber auf der Vorrichtung, durch einen entfernten Benutzer oder Zeitgeber, etc.). Wenn die Vorrichtung angewiesen wird das HDR Bild aufzunehmen nimmt das Bildaufnahmemodul einer Ausführungsform dann zwei Bilder in schneller Folge auf. Ein Bild ist ein überbelichtetes Bild, das sie basierend auf der überbelichteten Dauer aufnimmt, die sie vorher für die aktuelle Beleuchtungsbedingung berechnet hat, während das andere Bild das unterbelichtete Bild ist, das sie basierend auf der unterbelichteten Dauer aufnimmt, die sie vorher für die aktuelle Beleuchtungsbedingung berechnet hat. In verschiedenen Ausführungsformen nimmt das Bildaufnahmemodul das überbelichtete und unterbelichtete Bild in unterschiedlichen Reihenfolgen auf (zum Beispiel nehmen einige Ausführungsformen das überbelichtete Bild zuerst auf, während andere Ausführungsformen das unterbelichtete Bild zuerst aufnehmen).
  • Zusätzlich zum Aufnehmen des überbelichteten und unterbelichteten Bildes ruft das Bildaufnahmemodul auch ein Bild auf, das es früher mit der normalen Belichtungsdauer aufgenommen hat und in seinem Bildpuffer gespeichert hat. Dieses Modul stellt jedes der drei Bilder dem Bildverarbeitungsmodul bereit. In einigen Ausführungsformen stellt das Bildaufnahmemodul die drei Bilder in dem Farbraum bereit, in welchem die Kamera die Bilder aufnimmt. Zum Beispiel nimmt das Bildaufnahmemodul einiger Ausführungsformen diese Bilder in dem Y'CbCr (luma, blau-chroma und rot-chroma) Farbraum auf. Einige Ausführungsformen korrigieren rückwärts die Y'CbCr (luma) Bilder zu YCbCr (Luminanz, blau-chroma, rot-chroma) Bilder bezüglich gamma vor dem Ausführen verschiedener Bildbearbeitungsoperationen und korrigieren dann bezüglich Gamma das entstehende YCbCr (Luminanz) Bild zu einem Y'CbCr (luma) Bild.
  • Das Bildverarbeitungsmodul führt dann zwei Operationen aus. Die erste Operation ist eine Ausrichtung von allen drei Bildern miteinander, da sich die Kamera zwischen den Zeiten, zu denen sie die drei Bilder aufgenommen hat, bewegt haben kann. Unterschiedliche Ausführungsformen führen dieses Ausrichten unterschiedlich aus. Zum Beispiel, um zwei Bilder auszurichten, führen einige Ausführungsformen eine hierarchische Suche aus, die versucht übereinstimmende Merkmale in den zwei Bildern zu identifizieren. Um übereinstimmende Merkmale zu identifizieren, untersuchen einige Ausführungsformen nur die Luma Komponente (zum Beispiel Y'-Kanal Komponente für einen Y'CbCr Farbraum) der zwei Bilder. Die Lumakomponente von einem Bild wird hierin manchmal auch als ein „Luma Bild“ oder als ein „Bild“ bezeichnet. Die zwei Luma Bilder werden mit einem bestimmten Faktor (zum Beispiel zwei) in jeder Richtung mehrere Male (zum Beispiel sechs mal) dezimiert bis verschiedene Paare von Lumabildern identifiziert sind. Jedes Paar von Lumabildern wird zum Ausführen der Suche auf einem unterschiedlichen Niveau in der Suchhierarchie verwendet. Auf jedem Niveau wird ein Bitmap erzeugt für jedes Luma Bild (zum Beispiel unter Verwendung des Medianlumawertes für das Niveau um Pixelwerte auf 1 oder 0 zu erzeugen, basierend darauf, ob sie größer oder kleiner als der Medianwert sind).
  • Auf jedem Niveau ist zumindest ein Bitmap in mehrere Kacheln unterteilt, wobei jede Kachel mehrere Pixel umfasst. Die Kacheln werden verwendet, um entsprechende übereinstimmende Kacheln in dem anderen Bitmap zu identifizieren und damit eine Verschiebung zwischen den zwei Bitmaps zu identifizieren. In einigen Ausführungsformen werden einige der Kacheln verworfen, wenn die Kacheln nur weiße Pixel umfassen, nur schwarze Pixel, weniger als ein Schwellwert von weißen Pixeln oder weniger als ein Schwellwert von schwarzen Pixeln. Diese Kacheln sind Kacheln, die keine ausreichende Anzahl von Merkmalen (z. B. Kanten) haben, die verwendet werden können, um in Übereinstimmung mit anderen Kacheln gebracht zu werden. Diese Kacheln werden verworfen, um den Vorgang des Vergleichens der Kacheln zu beschleunigen und damit die Verschiebung zwischen den zwei Paaren von Bitmaps zu identifizieren.
  • Basierend auf den verbleibenden Kacheln werden die zwei Bitmaps mit verschiedenen unterschiedlichen Verschiebungen verglichen, um die Verschiebung zu identifizieren, die die zwei Bitmaps auf dem aktuellen Auflösungsniveau der Hierarchie am besten ausrichtet. Wenn das aktuelle Auflösungsniveau der Hierarchie nicht das höchste Auflösungsniveau der Hierarchie ist, verwendet das Bildverarbeitungsmodul von einigen Ausführungsformen dann die berechnete Verschiebung für das aktuelle Auflösungsniveau der Hierarchie als den Ausgangspunkt zum Suchen in dem nächsten Niveau der Hierarchie. Auf diesem nächsten Niveau erzeugt das Modul wiederum zwei Bitmaps für die zwei unterschiedlichen Luma-Bilder für dieses Niveau der Hierarchie und sucht dann nach einer Verschiebung, die bei dem spezifizierten Startpunkt für die Suche beginnt.
  • Bei dem hierarchischen Vergleich der Luma-Komponente der zwei Bilder ist die Verschiebung, die auf dem höchsten Niveau der Hierarchie identifiziert ist, die Verschiebung zwischen den zwei Bildern. Sobald das Bildverarbeitungsmodul diese Verschiebung zwischen einem Bild (z. B. dem normal belichteten Bild) und jedem der anderen Bilder (z. B. das überbelichtete Bild und das unterbelichtete Bild) bestimmt hat, verwendet es diese Verschiebungen, um die drei Bilder auszurichten. Zum Beispiel verwendet es in einigen Ausführungsformen diese zwei Verschiebungen, um die drei Bilder zuzuschneiden, so dass sie alle nur überlappende Abschnitte derselben Szene umfassen. Alternativ schneiden einige Ausführungsformen nur die überbelichteten und unterbelichteten Bilder zu anstelle des Zuschneidens von allen drei Bildern und verwenden für die Abschnitte dieser Bilder, die zugeschnitten werden, die Daten von dem normal belichteten Bild, um das zusammengesetzte HDR-Bild zu erzeugen. Ebenfalls können andere Ausführungsformen andere Operationen verwenden (z. B. sie könnten die Vereinigung der Bilder identifizieren) anstelle des Zuschneidens der Bilder, um nicht überlappende Bereiche der Bilder anzugehen. Einige Ausführungsformen schneiden nicht zu und wiederholen stattdessen Kantenpixel. Das Wiederholen von Kantenpixeln führt zu akzeptablen Resultaten, da die Verschiebung zwischen Bildern typischerweise klein ist.
  • Weiterhin ist das Chroma typischerweise in einem Y'CbCr 4:2:2 oder 4:2:0 Format. Dies bedeutet, dass das Abtasten von Chroma sich von dem Abtasten von Luma unterscheidet. In 4:2:2 ist das Chroma die Hälfte der horizontalen Größe von Luma, während in 4:2:0 das Chroma die Hälfte der horizontalen Größe und die Hälfte der vertikalen Größe von Luma ist. Demgemäß passen einige Ausführungsformen beim Ausrichten der Bilder den Vektor für das Chroma basierend auf diesem Format an.
    Nach dem Ausrichten der Bilder führt das Bildverarbeitungsmodul seine zweite Operation aus, welche das Zusammensetzen der drei ausgerichteten Bilder ist, um ein zusammengesetztes HDR-Bild zu erzeugen. In unterschiedlichen Ausführungsformen verwendet das Bildverarbeitungsmodul unterschiedliche Techniken zum Zusammensetzen der drei Bilder. Zum Beispiel setzen einige Ausführungsformen die drei Bilder durch das Ausführen verschiedener Sätze von Operationen für den Luma-Kanal dieser Bilder aus, als für den Chroma-Kanal dieser Bilder. Ebenso könnten einige Ausführungsformen beim Erzeugen des HDR-zusammengesetzten Bildes Luma- und Chroma-Werte erzeugen, die einen gewünschten Bereich an Werten übersteigen. Demgemäß führen einige Ausführungsformen gleichzeitig, während des Erzeugens des HDR-Bildes, Skalierungsoperationen aus, um sicher zu stellen, dass die Luma- und Chroma-Werte des HDR-Bildes innerhalb ihrer gewünschten Bereiche erzeugt werden.
    Der Fachmann wird erkennen, dass die Bildaufnahme- und Verarbeitungsoperationen anders als jene oben beschriebene implementiert sein können. Zum Beispiel gibt das Bildverarbeitungsmodul von einigen Ausführungsformen anstelle des Ausgebens von nur einem normal belichteten Bild von dem Bildpuffer, verschiedene normal belichtete Bilder an das Bildverarbeitungsmodul aus. Aus dieser Gruppe wählt das Bildverarbeitungsmodul dann das normal belichtete Bild, das das schärfste ist und das am besten mit dem aufgenommenen überbelichteten und aufgenommenen unterbelichteten Bild übereinstimmt. Alternativ gibt das Bildaufnahmemodul in einigen Ausführungsformen nur ein normal belichtetes Bild aus, aber versucht sicherzustellen, dass dieses ausgegebene Bild nicht verschwommen ist (d. h. scharf ist). In anderen Ausführungsformen versucht das Bildaufnahmemodul auf verschiedene Weisen sicherzustellen, dass das Bild scharf ist. Zum Beispiel verwendet das Bildaufnahmemodul in Ausführungsformen, in denen die Vorrichtung einen Beschleunigungsmesser und/oder Gyroskop hat, Daten, die von dem Beschleunigungsmesser und/oder Gyroskop aufgenommen sind, um die Wahrscheinlichkeit des Verschwimmens der normal belichteten Bilder festzustellen, um ein normal belichtetes Bild auszuwählen, das scharf ist. Alternativ nimmt die mobile Vorrichtung in einigen Ausführungsformen, anstelle des Verwendens eines normal belichteten Bildes von dem Bildpuffer, nachdem ein HDR-Befehl empfangen wurde, ein oder mehrere Bilder mit einer normalen Belichtung sowie das überbelichtete und unterbelichtete Bild auf. In einigen solchen Ausführungsformen wählt das Bildverarbeitungsmodul eines der normal belichteten Bilder (z. B. das schärfste, das letzte, etc.) zur Verwendung zum Erzeugen eines zusammengesetzten HDR-Bildes aus.
  • Die vorhergehende Zusammenfassung soll als eine kurze Einführung in einige Ausführungsformen der Erfindung dienen. Sie soll nicht eine Einführung oder Übersicht über alle erfinderischen Gegenstände sein, die in diesem Dokument offenbart sind. Die detaillierte Beschreibung, die folgt, und die Zeichnungen, auf die sich in der detaillierten Beschreibung bezogen wird, werden die Ausführungsformen weiter beschreiben, die in der Zusammenfassung beschrieben sind, sowie andere Ausführungsformen. Demgemäß, um alle Ausführungsformen zu verstehen, die in diesem Dokument beschrieben sind, ist ein ganzes Studium der Zusammenfassung, der detaillierten Beschreibung und der Zeichnungen nötig. Weiterhin sind die beanspruchten Gegenstände nicht durch die beispielhaften Details in der Zusammenfassung, detaillierten Beschreibung und den Zeichnungen begrenzt, sondern sind stattdessen durch die beigefügten Ansprüche definiert, weil die beanspruchten Gegenstände in anderen spezifischen Formen ausgeführt sein können, ohne von dem Geist der Gegenstände abzuweichen.
  • Figurenliste
    • 1 stellt eine mobile Vorrichtung dar, die Bilder mit hohen Dynamikbereichen aufnimmt und erzeugt.
    • 2A stellt den Aufruf eines hohem Dynamikbereichs- (HDR) Modus dar und die Aufnahme eines HDR-Bildes in diesem Modus in einer mobilen Vorrichtung einiger Ausführungsformen.
    • 2B stellt die Anzeige eines Vorschaubildes während des Aufrufes eines hohen Dynamikbereichs- (HDR) Modus dar und die Aufnahme eines HDR-Bildes in diesem Modus in einer mobilen Vorrichtung einiger Ausführungsformen.
    • 3 stellt konzeptionell die Software-Architektur der mobilen Vorrichtung einiger Ausführungsformen dar.
    • 4 stellt den Betrieb eines Bildverarbeitungsmoduls während einer HDR-Bildaufnahmesitzung dar.
    • 5A stellt das Bildaufnahmemodul einiger Ausführungsformen der Erfindung dar.
    • 5B stellt das Bildaufnahmemodul einiger anderer Ausführungsformen der Erfindung dar.
    • 6 stellt ein Verfahren dar, das konzeptionell eine Folge von Operationen des Bildaufnahmemoduls während einer HDR-Bildaufnahmesitzung darstellt.
    • 7 stellt ein Verfahren einiger Ausführungsformen zum Erzeugen einer Folge von Bitmaps zum Ausrichten von Bildern dar.
    • 8 stellt Beispiele von Bitmaps dar, die von dezimierten Bildern von einigen Ausführungsformen gemacht werden.
    • 9 stellt ein Verfahren einiger Ausführungsformen dar, zum Bestimmen eines Verschiebungsvektors, der zwei Bilder ausrichtet.
    • 10 stellt ein Verfahren zum Bestimmen eines Verschiebungsvektors zum Ausrichten von zwei Bitmaps dar.
    • 11 zeigt ein Beispiel des Bestimmens eines finalen Verschiebungsvektors.
    • 12 zeigt ein Verfahren zum Zusammenstellen der Luma-Kanalbilder von drei unterschiedlichen Belichtungen derselben Szene und Anpassen von verschiedenen Luma-Werten des resultierenden zusammengesetzten Bildes.
    • 13A zeigt ein Beispiel des Ausführens eines Zusammensetzungsverfahrens auf einer bestimmten Szene.
    • 13B zeigt ein Beispiel des Ausführens des Zusammensetzungsverfahrens beim Erzeugen von Masken von verschiedenen Bildern.
    • 14 stellt ein Verfahren von verschiedenen Ausführungsformen dar zum Zusammensetzen von Chroma-Kanalbildern.
    • 15 zeigt ein Beispiel eines Zusammensetzens von Chroma-Kanalbildern in einigen Ausführungsformen.
    • 16 ist ein Beispiel einer mobilen Rechenvorrichtung 1600 einiger Ausführungsformen.
    • 17 stellt eine Berührungs-I/O-Vorrichtung dar.
  • Detaillierte Beschreibung
  • In der folgenden detaillierten Beschreibung der Erfindung werden zahlreiche Details, Beispiele und Ausführungsformen der Erfindung hervorgehoben und beschrieben. Jedoch wird es dem Fachmann klar sein und ersichtlich, dass die Erfindung nicht auf die Ausführungsformen, die beschrieben sind, begrenzt ist, und dass die Erfindung praktiziert werden kann ohne einige der spezifischen Details und Beispiele, die diskutiert werden.
    Einige Ausführungsformen der Erfindung stellen eine mobile Vorrichtung bereit, die Bilder mit hohen Dynamikbereichen aufnimmt und erzeugt. 1 stellt eine solche mobile Vorrichtung 100 dar. Diese mobile Vorrichtung kann eine Kamera, ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Tablet-Personalcomputer (wie ein iPad ®), ein Laptop oder irgendein anderer Typ von mobiler Rechenvorrichtung sein. 1 stellt die mobile Vorrichtung 100 dar, die ein digitales Bild einer Szene mit einem hohen Dynamikbereich aufnimmt. In dieser Szene steht eine Person vor einem Fenster an einem sonnigen Tag, während ein Auto in dem Hintergrund vorbeifährt.
  • 1 stellt auch dar, dass die mobile Vorrichtung 100 ein Bild 180 mit einem hohen Dynamikbereich erzeugt durch das Aufnehmen, Ausrichten und Zusammensetzen von drei Bildern 135, 140 und 145, die mit drei unterschiedlichen Belichtungseinstellungen aufgenommen werden. Wie in dieser Figur gezeigt umfasst die mobile Vorrichtung 100 ein Bildaufnahmemodul 105 und ein Bildverarbeitungsmodul 110, welche Operationen ausführen, die es der mobilen Vorrichtung ermöglichen, ein Bild mit einem hohen Dynamikbereich aufzunehmen und zu erzeugen. In einigen Ausführungsformen erzeugt die mobile Vorrichtung ein Bild mit einem hohen Dynamikbereich (HDR) durch (1) Veranlassen, dass ihr Bildaufnahmemodul schnell eine Folge von Bildern mit unterschiedlichen Bildbelichtungsdauern aufnimmt und (2) Veranlassen ihres Bildverarbeitungsmoduls diese Bilder zusammenzusetzen, um das HDR-Bild zu erzeugen. Während die Beschreibung hierin nur drei Bilder umfasst, wird der Fachmann erkennen, dass einige Ausführungsformen mehr als drei Bilder verwenden (z. B. einige Ausführungsformen verwenden fünf Bilder: sehr überbelichtet, überbelichtet, normal, unterbelichtet, und sehr unterbelichtet). Einige Ausführungsformen verwenden verschiedene Anzahlen von Bildern unter verschiedenen Bedingungen.
  • Um eine Folge von Bildern schnell aufzunehmen, nimmt das Bildaufnahmemodul einiger Ausführungsformen zwei Handlungen vor, wenn die Kamera einen Modus für hohen Dynamikbereich (HDR) einnimmt. Erstens, es beginnt Bilder mit einer bestimmten Bildfrequenz aufzunehmen. In einigen Ausführungsformen ist die Bildfrequenz ungefähr 15 Bilder pro Sekunde (fps). In einigen Ausführungsformen ist die anfängliche Bildfrequenz in unterschiedlichen Beleuchtungsbedingungen unterschiedlich (z. B. 15 fps für normale Beleuchtungsbedingungen, 10 fps für dunklere Bedingungen, etc.). Die Bildfrequenz ermöglicht es der Kamera, Bilder mit der normalen Belichtungseinstellung für die aktuelle Beleuchtungsbedingung aufzunehmen (d. h. es ermöglicht der Kamera jedes Bild mit einer Belichtungsdauer aufzunehmen, die das Bildaufnahmemodul als die normale Belichtungsdauer für die aktuellen Beleuchtungsbedingungen berechnet). Das Bildaufnahmemodul speichert jedes Bild, das es aufnimmt mit einer bestimmten Bildfrequenz in einem Bildpuffer (nicht gezeigt) der Vorrichtung. In einigen Ausführungsformen schreibt das Aufnahmemodul auf eine kreisförmige Weise in diesen Bildpuffer, was es dem Modul ermöglicht, früher gespeicherte Bilder vor später gespeicherten Bildern zu löschen, wenn der Puffer seine maximale Speicherkapazität erreicht.
  • Zweitens berechnet das Bildaufnahmemodul für die Beleuchtungsbedingungen, unter denen die Kamera die Bilder aufnimmt (unten als die aktuelle Beleuchtungsbedingung bezeichnet), die Belichtungsdauern für die Aufnahme eines unterbelichteten Bildes und eines überbelichteten Bildes. Zum Beispiel berechnen einige Ausführungsformen die Dauer der überbelichteten und unterbelichteten Bilder basierend auf dem Histogramm der normal belichteten Bilder, die die Vorrichtung mit der bestimmten Bildfrequenz aufnimmt. Zum Beispiel, wenn das normal belichtete Bild eine große Anzahl an gesättigten Pixeln hat, wird die Dauer des überbelichteten Bildes auf ein kleineres Vielfaches der normalen Belichtungsdauer eingestellt, als sie würde, wenn das normal belichtete Bild weniger gesättigte Pixel hätte.
  • Nachdem die Vorrichtung ihren HDR-Modus einnimmt, kann die Vorrichtung dazu veranlasst werden, ein HDR-Bild aufzunehmen (z. B. durch den Benutzer der Vorrichtung, durch einen Zeitgeber auf der Vorrichtung, durch einen entfernten Benutzer oder Zeitgeber, etc.). Wenn die Vorrichtung dazu veranlasst wird das HDR-Bild aufzunehmen, nimmt das Bildaufnahmemodul einiger Ausführungsformen dann zwei Bilder in schneller Folge auf. Ein Bild ist ein überbelichtetes Bild, das es basierend auf der überbelichteten Dauer aufnimmt, die es vorher für die aktuelle Beleuchtungsbedingung berechnet hat, während das andere Bild das unterbelichtete Bild ist, das es basierend auf der unterbelichteten Dauer aufnimmt, die es vorher für die aktuelle Beleuchtungsbedingung berechnet hat. In verschiedenen Ausführungsformen nimmt das Bildaufnahmemodul die überbelichteten und unterbelichteten Bilder in unterschiedlichen Reihenfolgen auf (z. B. einige Ausführungsformen nehmen das überbelichtete Bild zuerst auf, während andere Ausführungsformen das unterbelichtete Bild zuerst aufnehmen).
    Zusätzlich zum Aufnehmen der überbelichteten und unterbelichteten Bilder ruft das Bildaufnahmemodul auch ein Bild ab, das es vorher mit der normalen Belichtungsdauer aufgenommen hat und in seinem Bildpuffer gespeichert hat (z. B. das letzte Bild, das vor dem HDR-Aufnahmebefehl aufgenommen wurde). Das Bildaufnahmemodul 105 stellt jedes der drei Bilder dem Bildverarbeitungsmodul 110 bereit. 1 stellt diese drei Bilder als ein überbelichtetes Bild 135, ein normal belichtetes Bild 140 und ein unterbelichtetes Bild 145 an dem Ausgang des Bildaufnahmemoduls 105 dar. In einigen Ausführungsformen stellt das Bildaufnahmemodul die drei Bilder in dem Farbraum dar, in welchem die Kamera die drei Bilder aufnimmt. Zum Beispiel nimmt das Bildaufnahmemodul einiger Ausführungsformen diese Bilder in dem Y'CbCr-Farbraum auf und stellt diese bereit.
  • Die obige Beschreibung schließt das Aufnehmen von mehreren Bildern mit einer normalen Belichtungsdauer ein, bevor ein HDR-Aufnahmebefehl empfangen wird, und das Aufnehmen des überbelichteten und unterbelichteten Bildes, nachdem der HDR-Aufnahmebefehl empfangen wurde. Jedoch werden in einigen Ausführungsformen mehrere unterbelichtete Bilder aufgenommen, bevor der HDR-Aufnahmebefehl empfangen wird und das normal belichtete und überbelichtete Bild wird aufgenommen, nachdem der HDR-Aufnahmebefehl empfangen wird. Zusätzlich werden in einigen Ausführungsformen mehrere überbelichtete Bilder aufgenommen, bevor der HDR-Aufnahmebefehl empfangen wird und das normal belichtete und unterbelichtete Bild wird aufgenommen, nachdem der HDR-Aufnahmebefehl empfangen wird.
  • Wie in 1 gezeigt umfasst das Bildverarbeitungsmodul 110 in einigen Ausführungsformen (1) ein Ausrichtungsmodul 115, das die drei Bilder ausrichtet, die es empfängt, und (2) ein Zusammensetzungsmodul 120, das die drei Bilder zusammensetzt, die es empfängt um das HDR-Bild 180 zu erzeugen. Das Ausrichtungsmodul richtet alle drei Bilder bezogen aufeinander aus, da die Kamera sich während der Zeit, während sie die drei Bilder aufgenommen hat, bewegt haben könnte.
  • Wie weiter in 1 gezeigt umfasst das Ausrichtungsmodul 115 in einigen Ausführungsformen (1) ein Suchmodul 125, das die Bilder vergleicht, um sie auszurichten, und (2) ein Zuschneidemodul 130, das eines oder mehrere der ausgerichteten Bilder zuschneidet, um nur die Bereiche einzuschließen, in denen sich die Bilder überlappen. Um die zwei Bilder auszurichten, führt das Suchmodul 125 eine Suche aus, die versucht übereinstimmende Merkmale in den zwei Bildern zu identifizieren. Um dies zu tun, untersuchen einige Ausführungsformen nur die Luma-Komponente (z. B. Y'-Kanalkomponente für einen Y'CbCr-Farbraum) der zwei Bilder.
  • In einigen Ausführungsformen führt das Suchmodul 125 eine hierarchische Suche aus, die am Anfang zwei Luma-Bilder um einen bestimmten Faktor (z. B. zwei) in jeder Richtung mehrere Male (z. B. sechsmal) dezimiert, bis verschiedene Paare von Luma-Bildern identifiziert sind. Jedes Paar von Luma-Bildern wird zum Ausführen der Suche auf einem unterschiedlichen Niveau in der Suchhierarchie verwendet. Auf jedem Niveau wird ein Bitmap erzeugt für jedes Luma-Bild (z. B durch Verwendung des Median-Luma-Wertes für das Niveau, um Pixelwerte auf 1 oder 0 zu erzeugen, basierend darauf, ob sie größer oder kleiner als der Medianwert sind).
  • Auf jedem Niveau unterteilt das Suchmodul zumindest ein Bitmap in unterschiedliche Kacheln, wobei jede Kachel mehrere Pixel umfasst. Das Modul verwendet die Kacheln, um entsprechende übereinstimmende Kacheln in dem anderen Bitmap zu identifizieren und damit eine Verschiebung zwischen den zwei Bitmaps zu identifizieren. In einigen Ausführungsformen verwirft das Suchmodul einige der Kacheln, wenn die Kacheln nur weiße Pixel, nur schwarze Pixel, weniger als ein Schwellwert an weißen Pixeln oder weniger als ein Schwellwert an schwarzen Pixeln enthalten. Diese Kacheln sind Kacheln, die keine ausreichende Anzahl an Merkmalen (z. B. Kanten) aufweisen, die verwendet werden können zum Finden von Übereinstimmungen mit anderen Kacheln. Diese Kacheln werden verworfen, um das Verfahren des Vergleichens der Kacheln zu beschleunigen und damit die Verschiebung zwischen den zwei Paaren von Bitmaps zu identifizieren.
    Basierend auf den verbleibenden Kacheln vergleicht das Suchmodul die zwei Bitmaps mit verschiedenen unterschiedlichen Verschiebungen, um die Verschiebung zu identifizieren, die die zwei Bitmaps auf dem aktuellen Auflösungsniveau der Hierarchie am besten ausrichtet. Wenn das aktuelle Auflösungsniveau der Hierarchie nicht das höchste Auflösungsniveau der Hierarchie ist, dann verwendet das Suchmodul die berechnete Verschiebung für das aktuelle Auflösungsniveau der Hierarchie als den Ausgangspunkt zum Suchen in dem nächsten Niveau der Hierarchie. In diesem nächsten Niveau erzeugt das Modul wiederum zwei Bitmaps für die zwei unterschiedlichen Luma-Bilder für das Niveau der Hierarchie und sucht dann nach einer Verschiebung beginnend mit dem spezifizierten Anfangspunkt für die Suche.
  • In dem hierarchischen Vergleich der Luma-Komponente der zwei Bilder ist die Verschiebung, die auf dem höchsten Niveau der Hierarchie identifiziert ist, die Verschiebung zwischen den zwei Bildern. Sobald das Suchmodul 125 seine hierarchische Suche der zwei Paare an Bildern abschließt, identifiziert es zwei Verschiebungen, die die Translation von zwei der Bilder definieren, so dass alle drei Bilder ausgerichtet sind. In dem in 1 dargestellten Beispiel vergleicht das Suchmodul in einigen Ausführungsformen die Luma-Komponente des unterbelichteten/überbelichteten Bildes mit der Luma-Komponente des normal belichteten Bildes. Dieser Vergleich identifiziert zwei Verschiebungen, wobei eine die Translation zwischen dem unterbelichteten Luma-Bild und dem normal belichteten Bild definiert und die andere die Translation zwischen dem überbelichteten Luma-Bild und dem normal belichteten Bild definiert. Diese zwei Verschiebungen identifizieren wiederum wie die drei Bilder ausgerichtet werden können, wie durch die gestrichelten Linien in 1 angezeigt, die die übereinstimmenden Bereiche in den drei Luma-Bildern 150, 155 und 160 identifizieren.
  • Sobald das Suchmodul 125 zwischen einem Bild (z. B. dem normal belichteten Bild) und jedem der anderen Bilder (z. B. das überbelichtete Bild und das unterbelichtete Bild) bestimmt hat, verwendet das Zuschneidemodul 130 diese Verschiebungen, um die drei Bilder zuzuschneiden. Insbesondere verwendet es in einigen Ausführungsformen diese zwei Verschiebungen, um die drei Bilder so zuzuschneiden, dass sie alle nur überlappende Abschnitte derselben Szene umfassen. 1 stellt das Ergebnis dieses Zuschneidens dar durch das Darstellen der zugeschnittenen, ausgerichteten Bilder 165, 170 und 175. Anstelle des Zuschneidens von allen drei Bildern schneiden einige Ausführungsformen nur die überbelichteten und unterbelichteten Bilder zu und benutzen für die Abschnitte dieser Bilder, die zugeschnitten werden, die Daten von dem normal belichteten Bild, um das zusammengesetzte HDR-Bild zu erzeugen. Alternativ, anstelle des Zuschneidens der Bilder, könnten andere Ausführungsformen andere Operation verwenden (z. B. könnten sie die Vereinigung der Bilder identifizieren), um nicht überlappende Bereiche in den Bildern anzugehen. Einige Ausführungsformen schneiden nicht zu und wiederholen stattdessen Kantenpixel. Das Wiederholen von Kantenpixeln führt zu akzeptablen Resultaten, da die Verschiebung zwischen den Bildern typischerweise klein ist.
    Weiterhin ist das Chroma typischerweise in einem Y'CbCr 4:2:2 oder 4:2:0 Format. Dies bedeutet, dass das Abtasten des Chroma unterschiedlich ist als das des Luma. In 4:2:2 ist das Chroma die Hälfte der horizontalen Größe von Luma, während in 4:2:0 das Chroma die Hälfte der horizontalen Größe und die Hälfte der vertikalen Größe von Luma ist. Demgemäß, beim Ausrichten der Bilder passen einige Ausführungsformen den Vektor für das Chroma basierend auf diesem Format an. Wie in dieser Figur gezeigt empfängt das Zusammensetzungsmodul 120 die zugeschnitten, ausgerichteten Bilder, welche es dann zusammensetzt, um das zusammengesetzte HDR-Bild 180 zu erzeugen. In unterschiedlichen Ausführungsformen verwenden die unterschiedlichen Module unterschiedliche Techniken, um die drei Bilder zusammenzusetzen. Beispielsweise setzen einige Ausführungsformen die drei Bilder durch das Ausführen von unterschiedlichen Sätzen von Operationen für den Luma-Kanal dieser Bilder als für die Chroma-Kanäle dieser Bilder aus. Ebenfalls könnten einige Ausführungsformen beim Erzeugen des HDR-zusammengesetzten Bildes Luma- und Chroma-Werte erzeugen, die einen gewünschten Bereich von Werten überschreiten. Demgemäß führt das Zusammensetzungsmodul 120 einiger Ausführungsformen beim Erzeugen des HDR-Bildes gleichzeitig Skalierungsoperationen aus, um sicherzustellen, dass die Luma- und Chroma-Werte des HDR-Bildes innerhalb der gewünschten Bereiche erzeugt werden.
  • Der Fachmann wird erkennen, dass die Bilderzeugungs- und -verarbeitungsoperationen anders als jene oben beschriebenen implementiert sein können. Zum Beispiel, anstelle des Ausgebens von nur einem normal belichteten Bild von dem Bildpuffer (z. B. das letzte Bild), gibt das Bildaufnahmemodul einiger Ausführungsformen verschiedene normal belichtete Bilder an das Bildverarbeitungsmodul aus. Aus dieser Gruppe wählt dann das Bildverarbeitungsmodul das normal belichtete Bild aus, das das schärfste ist und/oder das am besten mit dem aufgenommenen überbelichteten und aufgenommenen unterbelichteten Bild übereinstimmt. Alternativ gibt das Bildaufnahmemodul in einigen Ausführungsformen nur ein normal belichtetes Bild aus aber versucht sicherzustellen, dass dieses ausgegebene Bild nicht verschwommen ist (d. h. scharf ist). In einigen Ausführungsformen versucht das Bildaufnahmemodul auf verschiedene Weisen sicherzustellen, dass das Bild scharf ist. Zum Beispiel verwendet das Bildaufnahmemodul, in einigen Ausführungsformen, in denen die Vorrichtung einen Beschleunigungsmesser und/oder Gyroskop hat, Daten, die von dem Beschleunigungsmesser und/oder Gyroskop aufgezeichnet sind, um die Wahrscheinlichkeit des Verschwommenseins der normal belichteten Bilder zu bestimmen (z. B. quantifizieren einer oder mehrerer bewegungsbezogener Attribute), um ein normal belichtetes Bild auszuwählen, das scharf ist. In einigen Ausführungsformen wählt das Bildaufnahmemodul das letzte Bild, das wahrscheinlich nicht verschwommen ist (z. B. bewegungsbezogene Attribute hat, die unterhalb eines bestimmten Bewegungsschwellwertes sind). Anstelle von oder zusätzlich zu dem Verwenden von bewegungserfassenden Sensoren, bestimmen einige Ausführungsformen, welches der mehreren Bilder das schärfste ist durch Verwendung von digitalen Signalverarbeitungstechniken, um den Frequenzinhalt von jedem Bild zu bestimmen. In solchen Ausführungsformen wird das Bild mit dem höchsten Frequenzinhalt als das schärfste Bild identifiziert.
  • Alternativ nimmt in einigen Ausführungsformen die mobile Vorrichtung anstelle des Verwendens von normal belichteten Bildern von dem Bildpuffer nachdem ein HDR-Aufnahmebefehl empfangen wurde, ein oder mehrere Bilder mit einer normalen Belichtung auf sowie das überbelichtete und das unterbelichtete Bild. In einigen solcher Ausführungsformen wählt das Bildverarbeitungsmodul eines der normal belichteten Bilder (z. B. das schärfste, letzte, etc.) zur Verwendung zur Erzeugung eines zusammengesetzten HDR-Bildes.
  • Einige weitere detaillierte Ausführungsformen der Erfindung werden unten beschrieben. Abschnitt I beschreibt, wie die Benutzerschnittstelle von einigen Ausführungsformen es einem Benutzer ermöglicht, einen HDR-Modus aufzurufen und ein HDR-Bild aufzunehmen. Abschnitt II beschreibt dann die Software-Architektur, die die Medienvorrichtung in einigen Ausführungsformen verwendet, um HDR-Bilder aufzunehmen und zu verarbeiten. Als nächstes beschreibt Abschnitt III weiter das Bildaufnahmemodul der mobilen Vorrichtung einiger Ausführungsformen. Der Abschnitt IV beschreibt dann das Bildausrichtungsverfahren des Bildverarbeitungsmoduls der mobilen Vorrichtung einiger Ausführungsformen. Der Abschnitt V beschreibt als nächstes das Bildzusammensetzungsverfahren des Bildverarbeitungsmoduls der mobilen Vorrichtung einiger Ausführungsformen. Als letztes beschreibt der Abschnitt VI eine Systemarchitektur der mobilen Vorrichtung einiger Ausführungsformen.
  • Aufrufen des HDR-Modus und der HDR-Aufnahme
  • In einigen Ausführungsformen wird der HDR-Modus angezeigt durch die Auswahl in einer Benutzerschnittstelle (User Interface, UI) einer mobilen Vorrichtung. 2A stellt den Aufruf des HDR-Modus und das Aufnehmen von einem HDR-Bild während dieses Modus, in einer mobilen Vorrichtung 200 einiger Ausführungsformen dar. Diese Figur zeigt diese Operationen in sechs Schritten, 245, 250, 255, 257, 260 und 265 der Benutzerschnittstelle der Vorrichtung 200.
    Wie in 2A gezeigt beinhaltet die mobile Vorrichtung 200 eine Anzeigenfläche 220, ein Bildaufnahme-UI-Element 215 und ein Blitzlicht-UI-Element 210. Die Anzeigenfläche 220 stellt in einigen Ausführungsformen ein Bild einer Szene dar, das durch einen Sensor der mobilen Vorrichtung aufgenommen wird, wenn die mobile Vorrichtung in einen Modus versetzt wurde als eine Kamera zu arbeiten. Das Bildaufnahme-UI-Element 215 ist ein benutzerwählbares Element, das, wenn es von einem Benutzer ausgewählt wird, die mobile Vorrichtung anweist, ein oder mehrere Bilder aufzunehmen.
    In einigen Ausführungsformen umfasst die mobile Vorrichtung ein Blitzlicht für die Kamera. Demgemäß ermöglicht es das Blitzlicht-UI-Element 210 dem Benutzer in einigen Ausführungsformen das Blitzlicht an oder aus zu schalten. Wie weiter unten beschrieben ermöglicht das Blitzlicht-UI-Element 210 einem Benutzer, die Kamera der mobilen Vorrichtung in einen HDR-Modus einzustellen.
    Die Arbeitsweise der mobilen Vorrichtung 200 beim Aufnehmen eines HDR-Bildes wird nun beschrieben. Der erste Schritt 245 zeigt die Benutzerschnittstelle der mobilen Vorrichtung nachdem die Vorrichtung in einen Bildaufnahmemodus versetzt wurde. In einigen Ausführungsformen kann ein Benutzer die Vorrichtung in diesen Modus versetzen durch das Auswählen eines Kamera-Icons, das in der Anzeigenfläche 220 angezeigt wird. In einigen Ausführungsformen, wenn die Vorrichtung den Kameramodus einnimmt, beginnt die Vorrichtung Bilder aufzunehmen, diese Bilder temporär in ihrem Bildpuffer zu speichern und diese Bilder vorrübergehend in der Anzeigenfläche 220 anzuzeigen. Jedoch, zeigen der erste bis vierte Schritt 245 bis 257 in 2A nicht alle der Bilder, die vorrübergehend in der Anzeigenfläche 220 angezeigt werden, um das Blitzlichtelement 210 und die Folge von UI-Elementen, die angezeigt werden, und die ausgeführten Operationen hervorzuheben. Der zweite Schritt 250 zeigt, wie der Benutzer das Blitzlicht-UI-Element 210 auswählt. Wie in 2A gezeigt kann der Benutzer diese Auswahl treffen durch das Berühren (z. B. mit einem Finger 225) der Anzeigenfläche des Berührungsbildschirms der Vorrichtung an dem Ort des Blitzlichtelements 210. Der Benutzer kann dieses Element auch wählen durch andere UI-Auswahltechniken, in einigen Ausführungsformen.
  • Der dritte Schritt 255 zeigt, dass die Auswahl des Blitzlichtelements in der Anzeige eines Blitzlichtmenüs 230 resultiert. Dieses Menü hat ein wählbares UI-Element 280 zum Anschalten des Blitzes, ein wählbares UI-Element 285 zum Ausschalten des Blitzes, ein wählbares UI-Element 290 zum Setzen des Blitzlichts auf einen Autoblitzlichtmodus und ein wählbares UI-Element 235 zum Anschalten des HDR-Bildaufnahmemodus. Während das wählbare HDR-Modus-Element 235 für einige Ausführungsformen als Teil des Blitzlichtmenüs 230 in 2A gezeigt ist, wird der Fachmann erkennen, dass dieses Element 235 eine andere Platzierung in der UI der Vorrichtung in einigen Ausführungsformen hat.
  • Der vierte Schritt 257 stellt eine Auswahl eines Benutzers des HDR-Moduswahl-Elements 235 dar. Diese Auswahl wird durch Berührung (z. B. mit einem Finger 240) des Ortes des Elements auf dem Anzeigenberührungsbildschirm der mobilen Vorrichtung getroffen. In einigen Ausführungsformen kann der Benutzer auch diesen Modus durch andere UI-Auswahltechniken auswählen.
    Der fünfte Schritt 260 stellt dar, wie ein Benutzer das Bildaufnahmeelement 215 auswählt durch das Berühren (z. B. mit einem Finger 270) des Ortes dieses Elements auf dem Anzeigenberührungsbildschirm der mobilen Vorrichtung. Ebenso wie mit anderen wählbaren Elementen in der Anzeigenfläche kann der Benutzer das Bildaufnahmeelement in einigen Ausführungsformen durch andere UI-Auswahltechniken auswählen. Die Auswahl des Elements 215 veranlasst die Vorrichtung ein HDR-Bild der HDR-Szene aufzunehmen (von einer Person, die vor einem Fenster steht an einem sonnigen Tag), die der Benutzer in der Anzeigenfläche 220 betrachtet. Wiederum, sogar vor dem Einnehmen des HDR-Modus und dem Empfangen der Auswahl des Bildaufnahmeelements zeigt die Anzeigenfläche vorrübergehend die Bilder an, wie ein Vorschaubild 226, das die Kamera temporär und wiederholt aufnimmt, wenn sie den Kameramodus einnimmt. Jedoch, wie oben bemerkt, werden diese vorrübergehend angezeigten Bilder nicht in den Schritten 245 bis 257 von 2A gezeigt, um nicht die Anzeige der UI-Elemente und die Auswahl der verschiedenen UI-Elemente zu verschleiern.
  • Die sechste Schritt 265 stellt das HDR-Bild 267 dar, das die Kamera aufnimmt und speichert nach der Auswahl des Bildaufnahmeelements 215. Dieses Bild ist das bildverarbeitete digitale Bild in einigen Ausführungsformen, das die Vorrichtung erzeugt, nachdem sie ihr Bildaufnahmemodul verschiedene Bilder mit unterschiedlichen Belichtungen in Folge hat aufnehmen lassen und ihre Bildzusammensetzungsmodule hat diese Bilder zusammensetzen lassen. In einigen Ausführungsformen umfasst das HDR-Bild 267 Details, die nicht in dem Vorschaubild 262 sichtbar sind. Zum Beispiel umfasst das HDR-Bild 267 Vögel 275.
  • Wie oben bemerkt wird das Vorschaubild 262 nicht in der Anzeige in 2A gezeigt, um nicht die Anzeige der UI-Elemente und ihrer Auswahl zu verschleiern. Demgemäß zeigt 2B die Anzeige eines Vorschaubildes 262 während der Schritte der HDR-Aufnahmeoperation, die mit Bezug auf 2A beschrieben sind.
  • Software-Architektur
  • 3 zeigt konzeptionell die Software-Architektur 300 der mobilen Vorrichtung einiger Ausführungsformen. In einigen Ausführungsformen kann diese Vorrichtung Bilder von HDR-Szenen aufnehmen, kann diese Bilder verarbeiten, um HDR-Bilder zu erzeugen und kann diese Bilder (z. B. als JPEG-Bilder) kodieren. Um diese Operationen auszuführen, beinhaltet diese Vorrichtung einen Aufnahmemodul-(Capture Module, CM)-Treiber 305, ein Medienaustauschmodul 310, einen Kodiertreiber 320 und ein Bildverarbeitungsmodul 325, wie in 3 gezeigt.
  • In einigen Ausführungsformen ermöglicht es das Medienaustauschmodul 310 Programmen auf der Vorrichtung, die Konsumenten und Erzeuger von Medieninhalt sind, Medieninhalt und Anweisungen auszutauschen, bezüglich der Verarbeitung des Medieninhalts. Demgemäß leitet das Medienaustauschmodul 310 in einigen Ausführungsformen Anweisungen und Medieninhalt zwischen dem Bildverarbeitungsmodul 325 und dem CM-Treiber 305 und zwischen dem Bildverarbeitungsmodul 325 und dem Kodiertreiber 320 weiter. Um das Weiterleiten von solchen Anweisungen und Medieninhalt zu ermöglichen, stellt das Medienaustauschmodul 310 von einigen Ausführungsformen einen Satz von Anwendungsprogrammierschnittstellen (Application Programming Interfaces, APIs) für die Konsumenten und Produzenten von Medieninhalt zur Verwendung bereit. In einigen solchen Ausführungsformen ist das Medienaustauschmodul 310 ein Satz von einem oder mehreren Rahmenwerken, die Teil eines Betriebssystems sind, das auf der mobilen Vorrichtung läuft. Ein Beispiel eines solchen Medienaustauschmoduls 310 ist das „Core Media“-Rahmenwerk, das von Apple Inc. bereitgestellt wird.
    Das Bildverarbeitungsmodul 325 führt eine Bildverarbeitung der Bilder aus, die durch die Kamera der Vorrichtung aufgenommen sind. Beispiele solcher Operationen umfassen Belichtungsanpassungsoperationen, Fokusanpassungsoperationen, perspektivische Korrektur, Größenanpassung des Bildes, etc. Zusätzlich zu diesen Operationen führt das Bildverarbeitungsmodul 325 HDR-Bildverarbeitungsoperationen aus. Insbesondere beinhaltet in manchen Ausführungsformen das Modul 325 das HDR-Bildverarbeitungsmodul 110 von 1. Mit diesem Modul 110 führt das Modul 325 die Ausrichtung und Zusammenfügungsoperationen aus, die oben mit Bezug auf 1 beschrieben sind.
  • Durch das Medienaustauschmodul 310 tritt das Bildverarbeitungsmodul 325 mit dem CM-Treiber 305 und dem Kodiertreiber 320 wie oben beschrieben in Verbindung. Der CM-Treiber 305 dient als eine Kommunikationsschnittstelle zwischen einem Bildaufnahmemodul (Image Capture Module, ICM) 330 und dem Medienaustauschmodul 310. Das ICM 330 ist die Komponente der mobilen Vorrichtung, die verantwortlich ist für die Aufnahme einer Sequenz von Bildern mit unterschiedlichen Auflösungen, die benötigt werden um ein HDR-Bild zu erzeugen.
    Von dem Bildverarbeitungsmodul 325 über das Medienaustauschmodul 310 empfängt der CM-Treiber 305 Anweisungen, dass die Vorrichtung einen HDR-Modus eingenommen hat und dass eine HDR-Bildaufnahmeanfrage gemacht wurde. Der CM-Treiber 305 leitet solche Anfragen an das ICM 330 weiter und empfängt als Antwort den notwendigen Satz an Bildern mit unterschiedlichen Auflösungen zum Erzeugen des HDR-Bildes. Der CM-Treiber 305 sendet dann diese Bilder zu dem Bildverarbeitungsmodul 325 durch das Medienaustauschmodul 310.
  • Der Kodiertreiber 320 dient als eine Kommunikationsschnittstelle zwischen dem Medienaustauschmodul 310 und einer Kodier-Hardware 335 (z. B. ein Kodier-Chip, eine Kodierkomponente auf einem System-on-Chip, etc.). In einigen Ausführungsformen empfängt der Kodiertreiber 320 Bilder (z. B. erzeugte HDR-Bilder) und stellt durch das Medienaustauschmodul 310 eine Anfrage, die Bilder von dem Bildverarbeitungsmodul 325 kodieren zu lassen. Der Kodiertreiber 320 sendet die zu kodierenden Bilder an den Kodierer 335, welcher dann Bildkodierungen (z. B. JPEG-Kodierungen) der Bilder ausführt. Wenn der Kodiertreiber 320 kodierte Bilder von dem Kodierer 335 empfängt, sendet der Kodiertreiber 320 die kodierten Bilder zurück zu dem Bildverarbeitungsmodul 325 durch das Medienaustauschmodul 310. In einigen Ausführungsformen kann das Bildverarbeitungsmodul 325 unterschiedliche Operationen auf den kodierten Bildern ausführen, die es von dem Kodierer empfängt. Beispiele von solchen Operationen beinhalten das Speichern der kodierten Bilder in einem Speicher der Vorrichtung, Übertragen der kodierten Bilder durch eine Netzwerkschnittstelle der Vorrichtung an eine andere Vorrichtung, etc.
    In einigen Ausführungsformen sind einige oder alle der Module 305, 310, 320 und 325 Teile des Betriebssystems der Vorrichtung. Andere Ausführungsformen implementieren das Medienaustauschmodul 310, den CM-Treiber 305 und den Kodiertreiber 320 als Teil des Betriebssystems der Vorrichtung, während das Bildverarbeitungsmodul 325 als eine Anwendung ausgeführt ist, die auf dem Betriebssystem läuft. Andere Implementierungen des Moduls 300 sind weiterhin möglich.
  • Der Betrieb des Bildverarbeitungsmoduls 325 während einer HDR-Bildaufnahmesitzung wird nun mit Bezug auf 4 beschrieben. Diese Figur stellt konzeptionell ein Verfahren 400 dar, das eine Serie von Operationen repräsentiert, die das Bildverarbeitungsmodul 325 in einigen Ausführungsformen ausführt, um ein kodiertes HDR-Bild zu erzeugen. Das Bildverarbeitungsmodul 325 führt dieses Verfahren 400 jedes Mal aus, wenn die Vorrichtung den HDR-Modus einnimmt (z. B. nach Auswahl des HDR-Auswahlelements 235 in dem Beispiel, das in 2A dargestellt ist. Demgemäß, wie in 4 gezeigt, nimmt das Bildverarbeitungsmodul 325 zu Anfang (bei 405) den HDR-Modus ein.
    Als nächstes weist das Modul 325 das Bildaufnahmemodul 330 an (bei 410), seinen HDR-Bildaufnahmemodus einzunehmen durch das Medienaustauschmodul 310 und den CM-Treiber 305. Nach dem Empfang dieser Anweisung berechnet das Bildaufnahmemodul 330 die Belichtungsdauern zum Erzeugen eines überbelichteten und eines unterbelichteten Bildes bei den gegenwärtigen Beleuchtungsbedingungen, wie oben bemerkt und weiter unten beschrieben. Ebenfalls in diesem Schritt nimmt das Bildaufnahmemodul 330 normal belichtete Bilder auf und speichert diese temporär in einem Bildpuffer. Um solche Bilder aufzunehmen, berechnet das Bildaufnahmemodul 330 wiederholt Belichtungsdauern, während die Vorrichtung in ihrem Kameramodusbetrieb ist.
  • Nach dem Anweisen des Bildaufnahmemoduls 330, seinen HDR-Modus einzunehmen, weist das Bildverarbeitungsmodul 325 das Bildaufnahmemodul 330 an (bei 415), dass es einen Befehl empfangen hat, ein HDR-Bild aufzunehmen und zu erzeugen (z. B. nach der Auswahl des Bildaufnahmeelements 215 in dem in 2A dargestellten Beispiel). Diese Anweisung wird an das Bildaufnahmemodul 330 durch das Medienaustauschmodul 310 und den CM-Treiber 305 weitergeleitet.
    In Antwort auf diese Anweisung nimmt das Bildaufnahmemodul 330 in schneller Folge ein überbelichtetes Bild auf, das es basierend auf der Überbelichtungsdauer aufnimmt, die es vorhergehend für die gegenwärtige Beleuchtungsbedingung berechnet hat und nimmt ein unterbelichtetes Bild auf, das es basierend auf der Unterbelichtungsdauer aufnimmt, die es vorhergehend für die gegenwärtige Beleuchtungsbedingung berechnet hat. Zusätzlich zu diesen Bildern empfängt das Bildaufnahmemodul auch ein Bild, das es früher mit der normalen Belichtungsdauer aufgenommen hat und in seinem Bildpuffer gespeichert hat.
    Durch den CM-Treiber 305 und das Medienaustauschmodul 310 empfängt das Bildverarbeitungsmodul 325 (bei 415) jedes der drei Bilder von dem Bildaufnahmemodul 330. In einigen Ausführungsformen empfängt das Bildverarbeitungsmodul 325 die drei Bilder in dem Farbraum, in welchem die Kamera die Bilder aufgenommen hat. Zum Beispiel nimmt das Bildaufnahmemodul 330 in einigen Ausführungsformen die Bilder in dem Y'CbCr-Farbraum auf und stellt diese in diesem bereit.
  • Das Bildverarbeitungsmodul richtet dann (bei 420) alle drei Bilder aneinander aus, da sich die Kamera während der Zeit, während der sie die drei Bilder aufgenommen hat, bewegt haben könnte. Wie oben bemerkt und weiter unten beschrieben verwendet das Bildverarbeitungsmodul eine hierarchische Suchtechnik, um das überbelichtete und das unterbelichtete Bild paarweise mit dem normal belichteten Bild auszurichten.
  • Nach dem Ausrichten der Bilder setzt das Bildverarbeitungsmodul (bei 425) die Bilddaten in den drei Bildern zusammen, um ein zusammengesetztes HDR-Bild zu erzeugen. In anderen Ausführungsformen verwendet das Bildverarbeitungsmodul andere Techniken, um die drei Bilder zusammenzusetzen. Zum Beispiel setzen einige Ausführungsformen die drei Bilder zusammen durch das Ausführen anderer Sätze von Operationen für den Luma-Kanal dieser Bilder als für die Chroma-Kanäle dieser Bilder. Weiterhin könnten, beim Erzeugen des HDR-zusammengesetzten Bildes, einige Ausführungsformen Luma- und Chroma-Werte erzeugen, die einen gewünschten Bereich an Werten übersteigen. Demgemäß führen einige Ausführungsformen beim Erzeugen des HDR-Bildes gleichzeitig Skalierungsoperationen aus, um sicherzustellen, dass die Luma- und Chroma-Werte des HDR-Bildes innerhalb ihrer gewünschten Bereiche erzeugt werden.
  • Nach dem Erzeugen des HDR-Bildes zeigt das Bildverarbeitungsmodul (bei 425) das erzeugte HDR-Bild an. Als nächstes weist dieses Modul (bei 430) den Kodierer 335 (durch das Medienaustauschmodul 310 und den Kodiertreiber 320) an, das HDR-Bild zu kodieren. Der Kodierer kodiert in einigen Ausführungsformen dieses Bild (z. B. kodiert es in ein JPEG-Format) und gibt das kodierte HDR-Bild aus. Das Bildverarbeitungsmodul speichert dann in einigen Ausführungsformen (bei 430) das kodierte HDR-Bild auf einem Speicher der Vorrichtung. Das Bildverarbeitungsmodul von einigen Ausführungsformen kann auch andere Operationen mit dem kodierten HDR-Bild ausführen. Zum Beispiel überträgt das Bildverarbeitungsmodul in manchen Fällen das kodierte erzeugte Bild zu einer anderen Vorrichtung über eine Netzwerkverbindung, die über eine Netzwerkschnittstelle der Vorrichtung hergestellt ist.
  • Fachleute werden erkennen, dass die Bildverarbeitungsoperationen anders als die oben beschriebenen implementiert sein können. Zum Beispiel untersucht das Bildverarbeitungsmodul von einigen Ausführungsformen, anstatt nur ein normal belichtetes Bild zu verarbeiten, mehrere normal belichtete Bilder, die das Bildverarbeitungsmodul ausgibt. Aus dieser Gruppe wählt das Bildverarbeitungsmodul das normal belichtete Bild, das das schärfste ist und das am besten mit dem aufgenommenen überbelichteten und aufgenommenen unterbelichteten Bild übereinstimmt. Alternativ nimmt die mobile Vorrichtung in einigen Ausführungsformen, anstelle des Verwendens von normal belichteten Bildern von dem Bildpuffer, nachdem ein HDR-Aufnahmebefehl empfangen wird, ein oder mehrere Bilder mit einer normalen Belichtung auf sowie das überbelichtete und unterbelichtete Bild. In einigen solcher Ausführungsformen wählt das Bildverarbeitungsmodul eines der normal belichteten Bilder (z. B. das schärfste, das letzte, etc.) zur Verwendung zum Erzeugen eines zusammengesetzten HDR-Bildes. In einigen Ausführungsformen werden die normal belichteten Bilder nach dem HDR-Aufnahmebefehl aufgenommen anstelle des Nehmens von dem Bildpuffer.
    Der Fachmann wird verstehen, dass jedes Verfahren, Nehmen des normalen Bildes von einem Bildpuffer und Aufnehmen des normalen Bildes, nachdem der HDR-Befehl empfangen wird, einige Vorteile gegenüber dem jeweils anderen hat. Die Handlung des Berührens des HDR-Aufnahmebefehl-Icons bewegt die mobile Vorrichtung weg, von wo sie war, als die Bilder in den Bildpuffer genommen wurden. Wenn ein Bild von dem Bildpuffer verwendet wird, wird die Bewegung der mobilen Vorrichtung, die durch das Berühren des HDR-Aufnahmebefehl-Icons verursacht ist, zwischen dem Aufnehmen des normal belichteten Bildes und des überbelichteten und unterbelichteten Bildes stattfinden. Wenn stattdessen ein frisches normal belichtetes Bild aufgenommen wird, nachdem das HDR-Aufnahmebefehl-Icon berührt wird, wird die Bewegung, die durch die Berührung verursacht ist, geschehen, bevor das normale Bild aufgenommen wird, anstelle von zwischen der Aufnahme der Bilder. Demgemäß kann das Aufnehmen eines frischen normal belichteten Bildes den Betrag der Bewegung der Vorrichtung während der Aufnahme der drei Belichtungen reduzieren. Eine Reduzierung der Bewegung während der Aufnahme der Bilder erhöht den überlappenden zusammenzusetzenden Bereich.
    Wie oben bemerkt stellen einige Ausführungsformen letzte Bilder von dem Seitenpuffer als Vorschaubilder dar und verwenden eines der Vorschaubilder als das normal belichtete Bild. Ein möglicher Vorteil des Verwendens eines normal belichteten Bildes von dem Seitenpuffer ist, dass das Bild eher wie das Vorschaubild aussehen würde, das angezeigt wird, bevor der HDR-Aufnahmebefehl empfangen wird. Ein anderer möglicher Vorteil das normale Bild von dem Seitenpuffer abzurufen ist, dass die Zeit zwischen der Aktivierung des HDR-Befehls und dem Anzeigen des zusammengesetzten HDR-Bildes kürzer sein kann (z. B. um die Belichtungsdauer des normal belichteten Bildes).
  • Weil einige Ausführungsformen eine neu aufgenommene normale Aufnahme verwenden statt ein Bild von dem Seitenpuffer, nehmen einige dieser Ausführungsformen keine normal belichteten Vorschaubilder auf und speichern sie in dem Seitenpuffer, während die mobile Vorrichtung in dem HDR-Modus ist. Jedoch nehmen einige Ausführungsformen, selbst unter Ausführungsformen, die normal belichtete Bilder verwenden, die aufgenommen werden nachdem der HDR-Befehl empfangen wird, weiterhin normal belichtete Vorschaubilder auf, um Daten über die Beleuchtungsbedingungen zu sammeln, um zu bestimmen was die normale zu verwendende Belichtungsdauer ist, welche Belichtungswerte zu verwenden sind, etc.
  • Bildaufnahmemodul
  • 5A stellt das Bildaufnahmemodul 330 von einigen Ausführungsformen der Erfindung dar. Auf die Anweisung des Bildverarbeitungsmoduls 325 hin weist das Bildaufnahmemodul 330 die Kamera der Vorrichtung an, Bilder aufzunehmen. Zum Beispiel, wie oben bemerkt, weist das Bildaufnahmemodul 330 in einigen Ausführungsformen die Kamera an, damit zu beginnen, normal belichtete Bilder mit einer bestimmten Bildfrequenz aufzunehmen, wenn die Vorrichtung ihren Kamerabetriebsmodus einnimmt. Ebenfalls, wenn die Vorrichtung ihren HDR-Modus einnimmt, nimmt das Modul 330 seinen HDR-Modus ein (auf die Anweisung des Bildverarbeitungsmoduls 325 hin) durch das Berechnen von Belichtungsdauern zum Aufnehmen von des überbelichteten und unterbelichteten Bildes. Nachfolgend, wenn es einen Bildaufnahmebefehl empfängt, während es in seinem HDR-Modus ist, nimmt das Bildaufnahmemodul 330 in einigen Ausführungsformen (1) zwei aufeinander folgende Bilder auf, eines mit der Überbelichtungsdauer und eines mit der Unterbelichtungsdauer, und (2) gibt diese zwei Bilder zusammen mit einem oder mehreren normal belichteten Bildern von seinem Bildpuffer aus.
  • Wie in 5A gezeigt umfasst das Bildaufnahmemodul 330 ein Sensormodul 515, einen Bildpuffer 520, eine Bildverarbeitungspipeline 525, eine Statistikmaschine 530 und ein Steuermodul 535. In einigen Ausführungsformen wird alle der Module des Bildaufnahmemoduls 330 in Hardware implementiert (z. B. ASIC, FPGA, SOC mit einem Mikro-Controller, etc.), während in anderen Ausführungsformen einige oder alle Module des Bildaufnahmemoduls 330 in Software implementiert sind.
    Das Sensormodul 515 koppelt sich kommunikativ mit einer Sensorschnittstelle 510 und einem Kamerasensor 505 der Kamera der Vorrichtung. In einigen Ausführungsformen ist der Kamerasensor 505 ein CMOS-Sensor und die Sensorschnittstelle 510 ist Teil des Kamerasensors 505. Das kommunikative Koppeln zwischen dem Sensormodul und dem Kamerasensor/der Sensorschnittstelle wird durch irgendeine Anzahl von bekannten Sensorschnittstellen ermöglicht. Durch dieses kommunikative Koppeln kann das Sensormodul 515 Anweisungen an die Kamera weiterleiten, um verschiedene Aspekte der Operationen der Kamera, wie ihr Energieniveau, Zoom-Niveau, Fokus, Belichtungsniveau, etc. zu steuern. In einigen Ausführungsformen kommen diese Anweisungen typischerweise von dem Steuermodul 535. Ebenfalls, kann das Sensormodul 515 durch sein kommunikatives Koppeln mit der Kamera den Kamerasensor anweisen, mit der Aufnahme von Bildern zu beginnen, wenn das Bildverarbeitungsmodul 325 die Kamera anweist, mit dem Aufnehmen von Bildern zu beginnen und das Sensormodul 515 empfängt diese Anweisung durch das Steuermodul 535 wie weiter unten beschrieben.
  • In einigen Ausführungsformen sind Bayer-Filter über den Kamerasensor überlagert und damit gibt der Kamerasensor Bayer-Musterbilder aus, welche in der Sensorschnittstelle, die mit dem Kamerasensor assoziiert ist, gespeichert werden. Ein Bayer-Musterbild ist ein Bild, in dem jeder Pixel nur einen Farbwert speichert: rot, blau oder grün. Durch seine Kopplung mit der Sensorschnittstelle 510 empfängt das Sensormodul 515 hohe Bayer-Musterbilder, die in der Kamerasensorschnittstelle 510 gespeichert sind. Durch das Steuern der Frequenz, mit welcher das Sensormodul 515 Bilder von einer Sensorschnittstelle der Kamera abruft kann das Sensormodul 515 die Bildfrequenz der Bilder steuern, die durch eine bestimmte Kamera aufgenommen werden.
  • Das Sensormodul 515 speichert Bilder, die es von der Sensorschnittstelle 510 in dem Bildpuffer 520 abruft. Die Bilder, die in dem Bildpuffer 520 gespeichert sind, sind rohe, unverarbeitete Bilder. Bevor das Bildverarbeitungsmodul 325 diese Bilder verarbeiten kann, muss die Bildverarbeitungspipeline 525 des Bildaufnahmemoduls 330 verschiedene Vorverarbeitungsoperationen auf ihnen ausführen. Unterschiedliche Ausführungsformen führen unterschiedliche Sätze von Vorverarbeitungsoperation aus. Zum Beispiel beinhaltet in einigen Ausführungsformen die Bildverarbeitungspipeline 525 ein Demosaic-Modul (nicht gezeigt) das ein rot, grün, blau (RGB) Bild von einem Bayer-Musterbild rekonstruiert, das in dem Bildpuffer 520 gespeichert ist, durch Interpolation der Farbwerte von jedem Satz an Farben in dem Bayer-Musterbild. Ebenfalls beinhaltet die Bildverarbeitungspipeline 525 einiger Ausführungsformen ein Farbraumumwandlungsmodul (nicht gezeigt), das das RGB-Bild in ein Y'CbCr-Bild umwandelt.
    Beispiele von anderen Modulen, die in der Bildverarbeitungspipeline 525 von einigen Ausführungsformen umfasst sind, umfassen Module, die (1) schlechte-Pixel-Entfernung ausführen, um zu versuchen schlechte Pixel in den Bildern, die von dem Bildpuffer abgerufen werden, zu korrigieren, (2) Linsentönungskorrektur ausführen, um Bilddefekte, die durch die Kameralinse verursacht sind, zu korrigieren, (3) Weißabgleichkorrektur ausführen, um Farben des Bildes anzupassen, um neutrale Farben korrekt wiederzugeben, etc. Wie hierin verwendet bezieht sich das Umwandeln von einem Format in ein anderes auf die Verwendung von Daten von einem Bild in einem Format, um ein Bild in einem anderen Format zu erzeugen. In einigen Ausführungsformen ersetzt die neue Version des Bildes die alte Version; in anderen Ausführungsformen werden sowohl die alte als auch die neue Version des Bildes beibehalten.
  • Die Statistikmaschine 530 sammelt Bilddaten auf verschiedenen Schritten der Bildverarbeitungspipeline 525. Weiterhin sammelt diese Maschine in anderen Ausführungsformen Daten auf andere Weise von anderen Schritten der Bildverarbeitungspipeline 525. Die Statistikmaschine 530 verarbeitet die gesammelten Daten und passt, basierend auf den verarbeiteten Daten, die Operationen des Kamerasensors 505 durch das Steuermodul 535 und das Sensormodul 515 an. Beispiele solcher Operationen beinhalten Belichtung und Fokus. In einigen Ausführungsformen wird die Belichtungsdauer durch eine Kombination der Sensorintegrationsdauer und der Sensor-/Aufnahmemodul-Analog-/Digitalverstärkungen bestimmt. Obwohl 5A die Statistikmaschine 530 zeigt als den Kamerasensor 505 durch das Steuermodul 535 steuernd, steuert die Statistikmaschine 530 in anderen Ausführungsformen den Kamerasensor jedoch durch das Sensormodul 515. Ebenso, obwohl die Statistikmaschine 530 als separat von dem Steuermodul 535 gezeigt ist, wird die Operation dieser Maschine durch das Steuermodul 535 ausgeführt. Mit anderen Worten, die Modularisierung der Statistikmaschine in 5A ist eine Konzeptualisierung einer Folge von Operationen, die durch das Bildverarbeitungsmodul 330 ausgeführt werden.
  • Das Steuermodul 535 von einigen Ausführungsformen ist ein Mikro-Controller, der den Betrieb des Bildaufnahmemoduls 330 steuert. Zum Beispiel weist das Steuermodul 535 in einigen Ausführungsformen den Kamerasensor 505 über das Sensormodul 515 an, Bilder aufzunehmen. Ebenso steuert das Steuermodul 535 in einigen Ausführungsformen (1) den Betrieb der Kamerasensoren (z. B. Belichtungsniveau) durch das Sensormodul 515, (2) den Betrieb der Bildverarbeitungspipeline 525 und (3) ein Blitzlicht/Stroboskop (nicht gezeigt), welches Teil der mobilen Vorrichtung einiger Ausführungsformen ist. Anstelle des Empfangens von Belichtungseinstellungen von dem Steuermodul 535 oder in Verbindung mit diesen Einstellungen verwenden der Kamerasensor 505 oder das Sensormodul 515 einiger Ausführungsformen Standardwerte für die Kamerasensoroperationen.
  • Einige Ausführungsformen des Steuermoduls 535 verarbeiten Anweisungen, die von der Statistikmaschine 530 und dem Aufnahmemodultreiber 305 empfangen werden. In einigen Ausführungsformen sind die Anweisungen, die von dem Aufnahmemodultreiber 305 empfangen werden, Anweisungen von der mobilen Vorrichtung (d. h. von der lokalen Vorrichtung empfangen) während in anderen Ausführungsformen die Anweisungen, die von dem Aufnahmemodultreiber 305 empfangen werden Anweisungen von einer anderen Vorrichtung sind. Basierend auf den verarbeiteten Anweisungen kann das Steuermodul 535 den Betrieb des Bildverarbeitungsmoduls 330 anpassen.
  • 5B stellt das Bildaufnahmemodul 330 von einigen anderen Ausführungsformen der Erfindung dar. In 5B steuert das Sensormodul 515 nicht den Kamerasensor 505 direkt und empfängt nicht Befehle von dem Steuermodul 535. In dieser Figur steuert das Steuermodul 535 den Kamerasensor 505. In 5B leitet das Sensormodul 515 Daten von der Sensorschnittstelle 510 an den Bildpuffer 520 weiter, genauso wie es das Sensormodul 515 in 5A tut.
  • 6 stellt ein Verfahren 600 dar, das konzeptionell eine Folge von Operationen des Bildaufnahmemoduls 330 während einer HDR-Bildaufnahmesitzung darstellt. Dieses Verfahren beginnt jedes Mal damit, dass die Vorrichtung ihren Bildaufnahmemodus einnimmt. Wie in 6 gezeigt beginnt dieser Prozess am Anfang (bei 605) mit dem Aufnehmen von Bildern mit einer bestimmten Standardfrequenz. Basierend auf einer oder mehreren Eigenschaften (z. B. ein Histogramm oder ein Gesamtbeleuchtungsniveau) von einem oder mehreren der aufgenommenen Bilder erfasst das Steuermodul 535 in einigen Ausführungsformen (bei 605) die gegenwärtige Beleuchtungsbedingung. Basierend auf der gegenwärtigen Beleuchtungsbedingung definiert das Steuermodul (bei 605) die Belichtungsdauer zum Aufnehmen eines normal belichteten Bildes (unten als ein EVo-Bild bezeichnet) und leitet (bei 605) diese Belichtungsdauer an das Sensormodul 515 weiter. In anderen Ausführungsformen erfasst Steuerlogik, die mit dem Kamerasensor 505 oder dem Sensormodul 515 assoziiert ist, die Beleuchtungsbedingung und definiert die Belichtungsdauer für die normale Belichtung (als die EVo-Belichtung bezeichnet). In einigen Ausführungsformen beinhaltet diese Steuerlogik Lichtdetektionsschaltkreise, die die Menge an Licht, unter der die Vorrichtung arbeitet, quantifizieren können.
    Unabhängig davon wo und wie die normale Belichtungsdauer berechnet wird, beginnt das Verfahren 600 Bilder mit der normalen Belichtungsdauer aufzunehmen und speichert die aufgenommenen Bilder in dem Bildpuffer. In einigen Ausführungsformen berechnet das Verfahren 600 die normale Belichtungsdauer wiederholt während der Bildaufnahmesitzung, um die normale Belichtungsdauer zu identifizieren, während sich die Beleuchtungsbedingung ändert.
  • Nach 605 empfängt das Steuermodul 535 (bei 610) eine Anweisung, dass es einen HDR-Modusbefehl von dem Bildverarbeitungsmodul 325 durch den CM-Treiber 305 und das Medienaustauschmodul 310 empfangen hat. Basierend auf diesem Befehl berechnet das Steuermodul 535 (bei 615) die Belichtungsdauern zum Aufnehmen eines überbelichteten und unterbelichteten Bildes (Aufnehmen eines EV+ und EV--Bildes) während der gegenwärtigen Beleuchtungsbedingungen. In einigen Ausführungsformen führt das Steuermodul die Operation 615 wiederholt während der HDR-Aufnahmesitzung aus, um die Über- und Unterbelichtungsdauer zu identifizieren, wenn sich die Beleuchtungsbedingung ändert. Als nächstes, bei 620, empfängt das Steuermodul 535 eine Anweisung ein Bild aufzunehmen. Als Antwort weist das Steuermodul 535 (bei 625 und 630) das Sensormodul an, ein überbelichtetes Bild mit der Überbelichtungsdauer und ein unterbelichtetes Bild mit der Unterbelichtungsdauer aufzunehmen. Das Steuermodul 535 weist dann (bei 635) die Bildverarbeitungspipeline 525 an, das aufgenommene EV+ und aufgenommene EV--Bild von dem Bildpuffer zusammen mit einem oder mehreren EVo-Bildern in dem Bildpuffer abzurufen. Wie oben bemerkt gibt das Bildaufnahmemodul verschiedene EVo-Bilder an das Bildverarbeitungsmodul 325 in einigen Ausführungsformen aus, um dem Modul 325 zu ermöglichen, das beste EVo-Bild zur Ausrichtung mit dem EV+ und EV--Bild auszuwählen. Alternativ gibt das Bildaufnahmemodul 330 in einigen Ausführungsformen nur ein normal belichtetes Bild aus, aber versucht sicherzustellen, dass dieses ausgegebene Bild nicht verschwommen ist (d. h. scharf ist). In anderen Ausführungsformen versucht das Bildaufnahmemodul 330 sicherzustellen, dass das Bild auf verschiedene Weisen scharf ist. Zum Beispiel verwendet das Bildaufnahmemodul, in einigen Ausführungsformen, in denen die Vorrichtung einen Beschleunigungsmesser und/oder Gyroskop hat, Daten, die von dem Beschleunigungsmesser und/oder Gyroskop aufgenommen sind, um die Wahrscheinlichkeit des Verschwommenseins der normal belichteten Bilder zu ermitteln, um ein normal belichtetes Bild auszuwählen, das scharf ist.
  • In anderen Ausführungsformen weist das Steuermodul 535 (bei 635) die Bildverarbeitungspipeline 525 an, das überbelichtete, unterbelichtete und normal belichteten Bilder unterschiedlich abzurufen. In einigen Ausführungsformen benachrichtigt das Steuermodul 535 einfach die Verarbeitungspipeline 525, dass das überbelichtete und unterbelichtete Bild aufgenommen werden, und die Verarbeitungspipeline 525 ruft die korrekten Bilder von dem Bildpuffer 520 ab.
  • Die Bildverarbeitungspipeline 525 vorverarbeitet (bei 640) jedes Bild, das von dem Bildpuffer 520 abgerufen wird. Das Bildaufnahmemodul 330 gibt jedes abgerufene und vorverarbeitete Bild an das Bildverarbeitungsmodul 325 zur HDR-Bilderzeugung aus (bei 640).
    Nach 640 endet das Verfahren, wenn die Vorrichtung nicht länger in dem HDR-Aufnahmemodus ist und kehrt zu 620 zurück, um auf einen anderen „Bildaufnahme“-Befehl zu warten.
  • Die obige Beschreibung identifiziert die aufgenommenen Bilder als die Quelle(n) von Information über Beleuchtungsbedingungen. Jedoch bestimmt der Kamerasensor 505 in einigen Ausführungsformen die Beleuchtungsbedingungen ohne das Erzeugen von Bilddaten. Die mobilen Vorrichtungen einiger Ausführungsformen verwenden zusätzliche Sensoren anstelle von oder zusätzlich zu dem Kamerasensor 505, um die Beleuchtungsbedingungen zu bestimmen.
  • BILDAUSRICHTUNG
  • Einleitung
  • Um ein zusammengesetztes Bild aus drei Bildern herzustellen, die von einer Szene durch eine mobile Vorrichtung aufgenommen wurden, müssen die Pixel in jedem Bild, die einen bestimmten Teil der Szene zeigen, mit den Pixeln in jedem der anderen Bilder zusammengesetzt werden, die denselben Teil der Szene zeigen. Wenn sich die mobile Vorrichtung nicht bewegt, während die Bilder aufgenommen werden, dann werden die Pixel, die einen bestimmten Teil einer Szene in jedem Bild repräsentieren, dieselben Koordinaten in dem Bild haben, wie die Pixel, die denselben Teil der Szene in jedem der anderen Bilder repräsentieren, haben. Solche Bilder können als ausgerichtet charakterisiert werden. Jedoch, wenn sich die mobile Vorrichtung während der Aufnahme der Bilder bewegt, werden die Pixel, die einen bestimmten Teil einer Szene in einem Bild repräsentieren, leicht andere Koordinaten haben, als die Pixel, die denselben Teil der Szene in den anderen Bildern repräsentieren. Mit anderen Worten, Bilder, die mit einer sich bewegenden Vorrichtung aufgenommen werden, werden nicht ausgerichtet sein.
  • Vor dem Zusammensetzen der Bilder kompensieren manche Ausführungsformen die Bewegung der mobilen Vorrichtung durch ein Ausrichten der Bilder, bevor sie zusammengesetzt werden. Das bedeutet, die Anzahl der Pixel, um welche die Rohbilder voneinander in vertikaler und in horizontaler Richtung verschoben sind, wird bestimmt, sodass die mobile Vorrichtung dann Pixel von jedem Bild kombinieren kann, die zu demselben Teil der Szene korrespondieren, obwohl die korrespondierenden Pixel nicht in jedem der Rohbilder dieselben Koordinaten haben. Die Verschiebung, die entsprechende Pixel in 2 Bildern ausrichtet, kann als ein Verschiebungsvektor, gemessen in Pixel, charakterisiert werden.
  • Eine Verschiebung zwischen zwei Bildern, die von derselben Szene aufgenommen sind, kann durch Rotation oder Translation der mobilen Vorrichtung, während die Bilder aufgenommen werden, verursacht sein. Wenn ein Benutzer eine mobile Vorrichtung einiger Ausführungsformen anweist, ein Bild mit hohem Dynamikbereich aufzunehmen, nimmt die mobile Vorrichtung drei Bilder in schneller Folge mit sehr wenig Zeit zwischen der Aufnahme von jedem Bild auf. Jedoch, trotz der kurzen Zeit zwischen der Aufnahme von jedem der Bilder wird sich die handgehaltene mobile Vorrichtung höchstwahrscheinlich leicht während der Aufnahme der 3 Bilder bewegen. Zum Beispiel kann die Handlung des Berührens der mobilen Vorrichtung, um sie anzuweisen, ein HDR Bild aufzunehmen, die Vorrichtung bewegen. Aufgrund der Bewegung der mobilen Vorrichtung wird jedes Bild aus einer leicht anderen Position aufgenommen. Aufgrund der leichten Änderungen der Position werden die Rohbilder nicht aneinander ausgerichtet sein. Bevor der Hochdynamikbereichsprozess die Bilder, die mit unterschiedlichen Belichtungen aufgenommen sind, zusammensetzen kann, müssen die Bilder aneinander (zum Beispiel durch die mobile Vorrichtung) ausgerichtet werden durch das Herausfinden der spezifischen Verschiebungsvektoren, die die Bilder in Übereinstimmung bringen werden. Solche Ausrichtungen sind Teil eines Verfahrens, das manchmal „Deckung“ genannt wird.
  • Die Anzahl an Pixeln, die ein Bild von einem anderen verschoben ist, hängt davon ab, wie weit sich die Kamera bewegt (durch Translation und Rotation) beim Aufnehmen der Bilder und dem Maßstab der Bilder (zum Beispiel wie viele Zentimeter oder Grad der Szene werden durch jeden Pixel in einem Bild repräsentiert). Zum Beispiel könnte die Rotations- oder Translationsbewegung der Kamera dazu führen, dass 2 Bilder der Szene 10 cm verschoben sind (zum Beispiel zeigt ein Bild 10cm mehr von der linken Seite der Szene und 10cm weniger von der rechten Seite der Szene als das andere Bild). In solch einem Fall, wenn der Maßstab des Bildes die Länge von 1 Pixel in einem Bild 1 cm in der Szene gleichsetzt, dann werden die Bilder um 10 Pixel verschoben sein. Dieser Maßstab wird bereitgestellt, um zu erklären, wie eine Änderung der Position des Bildes bezogen auf Gegenstände der echten Welt in der Szene sich in eine Änderung in dem Bild bezogen auf die Pixel, die das Bild darstellen, übersetzt. In einigen Ausführungsformen misst die mobile Vorrichtung nicht den tatsächlichen Maßstab des Bildes.
  • Die mobile Vorrichtung einiger Ausführungsformen hat kein exaktes Maß, wie weit die Vorrichtung sich während der Aufnahme des Bildes bewegt hat. Deshalb ist die Verschiebung, die die Bilder ausrichten wird, in solchen Ausführungsformen unbekannt, wenn die Bilder aufgenommen werden. Die mobile Vorrichtung einiger Ausführungsformen wird Verschiebungen identifizieren, die 2 Bilder ausrichten, durch das Testen eines Bereichs an Verschiebungsvektoren. Der Satz an Verschiebungsvektoren in dem Bereich, der durch eine mobile Vorrichtung getestet wird, um zu bestimmen, ob sie ein gegebenes Paar an Bildern ausrichten, wird hierin als „potenzielle Verschiebungsvektoren“ oder „potenzielle Verschiebungen“ bezeichnet. Die mobile Vorrichtung einiger Ausführungsformen bestimmt, welcher potenzielle Verschiebungsvektor die Bilder ausrichten wird durch ein Vergleichen der Bilder (oder Bitmaps, die von den Bildern abgeleitet sind) bei unterschiedlichen Werten der Verschiebungsvektoren. Der Bereich der potenziellen Verschiebungen ist in einigen Ausführungsformen auf jene Verschiebungen begrenzt, die eine wesentliche Überlappung zwischen den Bildern bestehen lassen würden. Verschiebungen, die nicht eine wesentliche Überlappung bestehen lassen würden, werden in solchen Ausführungsformen nicht getestet, weil das Zusammensetzungsverfahren primär auf den überlappenden Abschnitten der Bilder arbeitet. Die Bewegung einer mobilen Vorrichtung in den Händen eines Benutzers, der versucht, sie stabil zu halten beim Aufnehmen eines Bildes, ist wahrscheinlich relativ klein; deshalb wird die Ausrichtungsverschiebung oft klein sein verglichen mit der Größe der Bilder. Jedoch testen einige Ausführungsformen einen größeren Bereich von Verschiebungen, nur im Fall, dass die Bewegung größer als gewöhnlich war. In einigen Ausführungsformen werden ein oder mehrere externe Sensoren (zum Beispiel Gyroskope, Bewegungssensoren, etc.) verwendet, um die Verschiebung und/oder Rotation der mobilen Vorrichtung zu schätzen. Solch eine Schätzung wird in einigen Ausführungsformen verwendet, um einen Startpunkt zum Suchen nach Verschiebungsvektoren zu bestimmen. In einigen Ausführungsformen wird die Schätzung verwendet, um einen Bereich von zu untersuchenden Verschiebungsvektoren zu bestimmen (zum Beispiel, wenn die mobile Vorrichtung sehr stabil gehalten wird, ist der Suchbereich geringer, als wenn die mobile Vorrichtung weniger stabil gehalten wird).
  • Selbst in Ausführungsformen, die den Bereich von potenziellen Verschiebungen begrenzen auf jene, die eine wesentliche Überlappung zwischen den Bildern bestehen lassen, kann die Anzahl von potenziellen Verschiebungen groß sein. Zum Beispiel, wenn die potenzielle Verschiebung sich von 0% bis 6,4 % der Breite und Höhe eines Bildes erstreckt, das 1000 Pixeln im Quadrat ist, könnte der potenzielle Verschiebungsvektor zwischen 0 und 64 Pixeln in jeder Richtung (hoch, runter, links oder rechts) sein. Mit diesem Bereich von potenziellen Verschiebungsvektoren ist die Gesamtanzahl der möglichen Verschiebungsvektoren ungefähr 16000 (ungefähr 128 vertikale Pixel mal 128 horizontale Pixel). Wenn es tausende von potenziellen Verschiebungsvektoren zu testen gibt, benötigt das Testen der potenziellen Verschiebungsvektoren durch das direkte Vergleichen großer Bilder (oder großer Bitmaps) bei jedem möglichen Verschiebungsvektor eine sehr große Anzahl an Berechnungen.
    Um die Anzahl an Berechnungen zu reduzieren, die ausgeführt werden, um die tatsächliche Verschiebung zu finden, führen einige Ausführungsformen ein hierarchisches Ausrichtungsverfahren aus. Das hierarchische Ausrichtungsverfahren einiger Ausführungsformen erzeugt Versionen des Bildes mit geringeren Auflösungen. Das Bild mit geringerer Auflösung enthält dieselbe Szene, aber mit einem größeren Maßstabsfaktor. Zum Beispiel, wenn ein 1000×1000 (Pixel × Pixel) Bild eine Szene repräsentiert, die 10 m breit ist, dann repräsentiert eine Pixellänge in dem Bild 1 cm in der Szene. Eine Pixellänge in einem 500×500 Auflösungsbild, das von dem 1000×1000 Bild erzeugt wurde, repräsentiert 2 cm in der Szene. Ähnlich repräsentiert eine Pixellänge in einem 250×250 Auflösungsbild, das von dem 500×500 Bild erzeugt wurde, 4 cm in der Szene.
  • Aufgrund der Unterschiede im Maßstab (das heißt weniger Pixel repräsentieren dieselbe Szene) decken die potenziellen Verschiebungsvektoren bei geringeren Auflösungen denselben Anteil des Bildes ab, aber die absolute Anzahl von potenziellen Verschiebungsvektoren ist kleiner. In dem obigen Beispiel würde das Verringern der Auflösung um einen Faktor von 4 (von 1000 Pixel im Quadrat zu 250 Pixel im Quadrat) den Bereich von möglichen Verschiebungen von plus oder minus 64 Pixel auf plus oder minus 16 Pixel (das heißt 64 Pixel geteilt durch 4) reduzieren. Solch eine Reduzierung verringert die Anzahl von möglichen Verschiebungsvektoren um einen Faktor von 16 (das heißt, von ungefähr 16000 möglichen Verschiebungsvektoren zu ungefähr 1000 möglichen Verschiebungsvektoren). Solch ein Verfahren findet den Verschiebungsvektor durch das Starten mit einer ersten Näherung bzw. Schätzungen und dann dem Bestimmen des tatsächlichen Verschiebungsvektors durch nacheinander folgende feinere Annäherungen bzw. Schätzungen.
  • Die Verfahren einiger Ausführungsformen berechnen die nachfolgenden Annäherungen eines Verschiebungsvektors, der 2 Bilder ausrichtet, durch das Erzeugen von Versionen mit reduzierter Auflösung der Rohbilder, Erzeugen von 1-Bit-Bitmaps von den Versionen der Bilder mit niedrigerer Auflösung und Ausrichten der Bitmaps. Die Bitmaps werden beginnend mit den Bitmaps mit niedrigster Auflösung ausgerichtet. Um die Bitmaps auszurichten, vergleichen die Verfahren 2 Bitmaps miteinander unter Verwendung von verschiedenen Testverschiebungsvektoren, um den tatsächlichen Verschiebungsvektor zwischen den Bitmaps zu bestimmen. Die Verfahren einiger Ausführungsformen vergleichen einen Untersatz der Pixel in den Bitmaps anstelle des Vergleichens aller Pixel in den Bitmaps. In einigen solcher Ausführungsformen unterteilen die Verfahren vor dem Vergleichen zweier Bitmaps eines oder beide der Bitmaps in Kacheln und verwerfen Kacheln, die mehr als einen Schwellwertprozentsatz von schwarzen Pixel oder mehr als einen Schwellwertprozentsatz von weißen Pixeln enthalten. Solche Verfahren vergleichen dann die Pixel in den verbleibenden Kacheln, um den Verschiebungsvektor zwischen den Bitmaps zu bestimmen. Der Verschiebungsvektor, der für jede Auflösung der Bitmaps identifiziert wird, wird als ein Startpunkt zum Testen von Verschiebungsvektoren für die nächsthöhere Auflösung von Bitmaps verwendet. Diese Verfahren werden weiter mit Bezug auf 7-11 unten beschrieben.
  • Erzeugung von Bitmaps zur Ausrichtung
  • Einige Ausführungsformen erzeugen mehrere Bitmaps zur Verwendung, um nach dem Verschiebungsvektor zu suchen, der 2 Bilder ausrichten wird. 7 stellt ein Verfahren 700 einiger Ausführungsformen zum Erzeugen solch einer Folge von Bitmaps zum Ausrichten von Bildern dar. Wie hierin verwendet, bezieht sich der Begriff „Bitmap“ auf eine Version eines Bildes mit einer Farbtiefe von einem Bit pro Pixel. Jeder Pixel in solch einer Bitmap kann entweder als schwarz oder weiß repräsentiert werden.
  • Das Verfahren 700 empfängt (bei 710) ein Originalbild. In einigen Ausführungsformen werden die Bilder von der Kamera der mobilen Vorrichtung empfangen. Die Kameraoperationen der mobilen Vorrichtung einiger Ausführungsformen werden durch ein Programm gesteuert, das unabhängig ist von einem Programm, das das Verfahren 700 ausführt. In einigen solcher Ausführungsformen wird das Bild von dem Programm empfangen, das die Kameraoperationen steuert. In anderen Ausführungsformen steuert ein einzelnes Programm sowohl die Kameraoperationen und führt das Verfahren 700 aus. In einigen solcher Operationen empfängt das Programm, das sowohl das Bitmap-Erzeugungsverfahren 700 als auch die Kameraoperationen der mobilen Vorrichtung implementiert, die Bilder von der Kamerahardware. Die Programme einiger Ausführungsformen empfangen Bilder von einem Speicher der mobilen Vorrichtung anstelle von oder zusätzlich zu dem Empfangen von Bildern von der Kamerahardware. Unterschiedliche Ausführungsformen der mobilen Vorrichtung stellen das Bild in unterschiedlichen Formaten bereit. In einigen Ausführungsformen werden die Bilder mittels eines Helligkeitswerts und einem Satz von Farbwerten für jeden Pixel dargestellt. Zum Beispiel, in einigen Ausführungsformen, empfängt das Verfahren die Bilder in einem Y'CbCr (Luma, Blau-Chroma und Rot-Chroma) Format. In einigen Ausführungsformen werden die Bilder mittels anderer Farbkomponentenwerte repräsentiert. Anstelle von oder zusätzlich zu dem Bereitstellen von Bildern in einem Luma/Chroma Format stellt die mobile Vorrichtung einiger Ausführungsformen Bilder mittels verschiedener Farbkomponentenwerte bereit. Die Farbkomponentenwerte einiger Ausführungsformen werden in einem RGB Format (zum Beispiel ein sRGB-Bild) bereitgestellt. In solchen Ausführungsformen wandelt das Verfahren 700 die Bilder in ein Luma Bild um, als Teil der Empfangsoperation.
  • Das Verfahren dezimiert (bei 720) das Original Luma Bild. Die Dezimierung des Originalbildes erzeugt eine Kopie des Bildes mit der Hälfte der Auflösung (in jeder Dimension) des Originals. Zum Beispiel, wenn das Originalbild eine Auflösung von 1920×1280 hat, wird die Kopie eine Auflösung von 960×640 haben.
  • Das Verfahren 700 führt die Dezimierung eine bestimmte Anzahl von Malen aus, um eine Anzahl von Bildern mit unterschiedlichen Auflösungsniveaus zu erzeugen, zur Verwendung für nacheinander folgende Annäherungen des Verschiebungsvektors, zum Beispiel in dem Verfahren von 9 bis 10. Verschiedene Ausführungsformen dezimieren die Bilder verschiedene Anzahl von Malen. In einigen Ausführungsformen beeinflusst die Anzahl von Dezimierungen den Bereich von potenziellen Verschiebungen. Je niedriger die Auflösung eines gegebenen Bildes ist, desto niedriger ist die Anzahl von potenziellen Verschiebungsvektoren für einen gegebenen Prozentsatz des Bildes. Demgemäß werden in einigen Ausführungsformen umso mehr Niveaus an Dezimierung verwendet, je größer der Bereich von potenziell zu testenden Verschiebungen ist. Die Anzahl der Niveaus an Dezimierung ist in einigen Ausführungsformen vorprogrammiert. Zum Beispiel stellen einige Ausführungsformen ein Originalbild und 5 Niveaus an Dezimierung bereit, wobei das dezimierte Bild mit der niedrigsten Auflösung 1/32 der Auflösung des Originalbildes (in jeder Dimension) ist und 1/1024 der Anzahl an Pixeln hat. Einige Ausführungsformen stellen ein Originalbild und 6 Niveaus an Dezimierung bereit, wobei das dezimierte Bild mit der niedrigsten Auflösung 1/64 der Auflösung des Originalbildes (in jeder Dimension) ist und 1/4096 der Anzahl an Pixeln hat. Die Abnahme der Auflösung resultiert in einer entsprechenden Abnahme der Anzahl von potenziellen Verschiebungsvektoren in einem gegebenen Bruchteil des Bildes. Deshalb verringert eine 1-zu - 4096-Verringerung der Pixel die Anzahl von potenziellen Verschiebungsvektoren in einem gegebenen Bruchteil des Bildes um einen Faktor von 4096.
  • Die Anzahl an Dezimierungen ist in einigen Ausführungsformen voreingestellt. Jedoch können lokale Bedingungen, wie eine zittrige Hand oder niedrige Lichtniveaus, die Bewegung der mobilen Vorrichtung beeinflussen. Deshalb ermöglichen es einige Ausführungsformen dem Benutzer, zusätzlich zu oder anstelle von dem Verwenden einer voreingestellten (Standard) Anzahl an Dezimierungen die Anzahl an Dezimierungsniveaus zu bestimmen oder die mobile Vorrichtung die Anzahl an Dezimierungsniveaus dynamisch bestimmen zu lassen in Antwort auf eine oder mehrere Variablen, die zu den Zeiten verfügbar sind, zu denen die Originalbilder aufgenommen werden. Zum Beispiel, beim Aufnehmen der drei HDR Bilder mit längeren Gesamtbelichtungsdauern (zum Beispiel in Wenig-Licht-Bedingungen) hat die Hand des Benutzers mehr Zeit sich zu bewegen und kann sich deshalb weiter bewegen bei der gleichen Geschwindigkeit. Einige Ausführungsformen gleichen die zusätzliche Bewegung durch ein Erhöhen der Niveaus an Dezimierung aus, um die zusätzliche Zeit zur Bewegung auszugleichen. Die mobilen Vorrichtungen einiger Ausführungsformen umfassen Bewegungssensoren, die zumindest einen Hinweis liefern, wie schnell die Hände des Benutzers sich bewegen. In einigen solcher Ausführungsformen gibt eine schnellere Bewegung der mobilen Vorrichtung während der Aufnahme der Bilder der mobilen Vorrichtung Anlass, mehrere Dezimierungsniveaus zu erzeugen.
    Unabhängig davon, wie die Anzahl an Dezimierungen bestimmt wird, gibt es eine endliche Anzahl an Dezimierungen. Demgemäß bestimmt das Verfahren (bei 730), ob die Dezimierung oft genug wiederholt wurde, um die gewünschte Anzahl an dezimierten Bildern zu erzeugen. Wenn die Dezimierung nicht oft genug wiederholt wurde, dann kehrt das Verfahren nach 720 zurück, um das Bild zu dezimieren, das in der vorherigen Runde der Dezimierung erzeugt wurde. Jede Wiederholung der Dezimierung (bei 720) erzeugt eine neue Kopie des Bildes mit nacheinander folgend kleineren Auflösungen. Zum Beispiel, wenn die Dezimierung 6mal ausgeführt wird, beginnend mit einem Originalbild mit einer Auflösung von 1920×1280, dann würde die Gesamtzahl von Bildern 7 sein (inklusive dem Originalbild) mit Auflösungen von 1920×1280 (Originalbild), 960×640 (erstes dezimiertes Bild), 480×320 (zweites dezimiertes Bild), 240×160 (drittes dezimiertes Bild), 120×80 (viertes dezimiertes Bild), 60×40 (fünftes dezimiertes Bild) und 30×20 (sechstes dezimiertes Bild).
  • Die Dezimierung wird in einigen Ausführungsformen durch irgendein bekanntes Verfahren des Dezimierens von Bildern ausgeführt. Zum Beispiel verwenden einige Ausführungsformen eine oder mehrere der folgenden Techniken: (1) Gruppieren der Pixel in n-x-n Quadrate, wobei n der Dezimierungsfaktor (zum Beispiel 2) ist, dann Mitteln der Werte der Pixel in den Quadraten, (2) ein gleitender Mittelwertfilter, (3) ein gewichteter gleitender Mittelwertfilter, (4) Auswählen eines Pixelwertes in jeder n-x-n Gruppe (zum Beispiel der Medianpixelwert oder der Pixelwert an einem bestimmten Ort in der Gruppe, (5) Verwenden einer Analysetechnik der kleinsten Quadrate, (6) Unterabtastung, (7) andere Dezimierungsverfahren.
  • Sobald das Verfahren 700 bestimmt (bei 730), dass die korrekte Anzahl an dezimierten Bildern erzeugt worden ist von jedem Bild (das heißt, das Original Luma Bild und jedes Bild, das von den Dezimierungen resultiert), erzeugt das Verfahren ein 1 Bit-Bitmap. Bitmap Bilder werden von den Bildern erzeugt, da das Finden einer Verschiebung zwischen zwei Bitmaps rechnerisch weniger intensiv ist, als ein direktes Finden einer Verschiebung zwischen den Bildern selbst. Die Operationen einiger Ausführungsformen zum Erzeugen von Bitmaps gleichen Unterschiede in Lumawerten aus, die von den unterschiedlichen Belichtungsniveaus der Bilder, die zu vergleichen sind, herrühren. Trotz der unterschiedlichen Lumawerte in jeder Aufnahme wird jede Aufnahme die helleren Teile der Szene als heller als die dunkleren Teile der Szene darstellen. Insbesondere wird die hellere (und dunklere) Hälfte der Pixel in einer Aufnahme den Gestalten und Positionen der helleren (und dunkleren) Hälfte der Pixel in der anderen Aufnahme gleichkommen. Der Median-Lumawert von jedem Bild wird verwendet, um die hellere Hälfte der Pixel in dem Bild von der dunkleren Hälfte der Pixel in dem Bild zu separieren. Der Median-Lumawert eines Bilds ist der Lumawert, für welchen die Hälfte der Pixel in dem Bild einen niedrigeren Lumawert (oder denselben Lumawert haben) und die Hälfte der Pixel in dem Bild einen höheren Lumawert (oder denselben Lumawert) haben. Deshalb wird eine Schwellwertoperation, die auf jedem Bild ausgeführt wird, unter Verwendung des Median-Lumawertes diese Bildes, ein Bitmap erzeugen, das ungefähr dasselbe ist, wie die Bitmaps, die durch die anderen Bilder erzeugt werden, unabhängig von den unterschiedlichen Belichtungsdauern.
  • Demgemäß, um sich auf die Erzeugung eine Bitmaps von einem Lumabild vorzubereiten, identifiziert das Verfahren 700 (bei 740) einen Median-Lumawert für jedes Bild (inklusive des Originals und allen dezimierten Bildern). Der Median-Lumawert wird zur Erzeugung der Bitmaps verwendet werden. Wie oben bemerkt, gleicht das Ausrichtungsverfahren 700 unter Verwendung des individuellen Median-Lumawertes für jedes Bild die unterschiedlichen Bereiche von Lumawerten in den unterschiedlichen Aufnahmen aus. Der Fachmann wird verstehen, dass einige Ausführungsformen andere Verfahren zum Erzeugen der Bitmaps verwenden könnten. Zum Beispiel wird der Schwellwert von einigen Ausführungsformen von dem Median-Lumawert abgleitet (zum Beispiel der Schwellwert ist der Median-Lumawert geteilt durch 2), ist aber nicht der Median-Lumawert. Der Schwellwert einiger anderer Ausführungsformen wird bestimmt von einigen anderen Charakteristiken des Bildes (zum Beispiel der Schwellwert ist der Mittelwert des Lumabereichs, anstelle des Medians der Lumas).
  • Das Verfahren erzeugt dann (bei 750) eine 1-Bit-Bitmap Version von jedem Bild durch das Ausführen einer Schwellwertoperation unter Verwendung des Median-Lumawertes des Bildes als den Schwellwert. Eine Schwellwertoperation auf einem Pixel in einem Lumabild erzeugt ein entsprechendes Pixel in dem Bitmap. Die Schwellwertoperation erzeugt ein weißes Pixel in dem Bitmap, wenn der entsprechende Pixel in dem Bild heller als der Schwellwert-Lumawert ist, und erzeugt ein schwarzes Pixel in dem Bitmap, wenn der entsprechende Pixel in dem Bild dunkler ist als der Schwellwert-Lumawert. Weil der Schwellwert-Lumawert, der in dieser Operation verwendet wird, der Median-Lumawert des Bildes ist, das zur Erzeugung des Bitmaps verwendet wird, wird ungefähr die Hälfte der Pixel in den Bitmaps schwarz sein und ungefähr die Hälfte der Pixel wird weiß sein. Das Verfahren 700 endet dann.
  • Das Verfahren 700 wurde oben als verschiedene Merkmale umfassend beschrieben. Der Fachmann wird verstehen, dass nicht alle der oben beschriebenen Merkmale in jeder Ausführungsform gefunden werden. Ebenso haben verschiedene Ausführungsformen des Verfahrens 700 andere Merkmale zusätzlich zu oder anstelle von einem oder mehreren der oben beschriebenen Merkmale. Der Fachmann wird erkennen, dass einige individuelle Ausführungsformen mehrere Merkmale umfassen, die als Alternativen zueinander implementiert sind, anstatt in derselben Operation implementiert zu sein. Zum Beispiel agiert das oben beschriebene Verfahren auf Lumabildern. Jedoch wird der Fachmann verstehen, dass einige Ausführungsformen Luminanzbilder verwenden (die Luminanzkomponente eines YCbCr-Bildes) anstelle von Lumabildern. Weiter verwenden andere Ausführungsformen Lumabilder in manchen Fällen und Luminanzbilder als eine Alternative in anderen Fällen. Das oben beschriebene Verfahren erzeugt ein separates Bitmap von einem Lumabild, aber in anderen Ausführungsformen überschreibt ein Bitmap das entsprechende Lumabild. Die dezimierten Bilder werden in manchen Ausführungsformen während des Bitmap-Erzeugungsverfahren überschrieben oder gelöscht, nachdem ihre entsprechenden Bitmaps erzeugt worden sind, um Speicher zu sparen.
  • Obwohl das oben beschriebene Verfahren 700 die Bitmaps von den dezimierten Bildern erzeugt, nachdem alle dezimierten Bilder erzeugt worden sind, wird der Fachmann verstehen, dass einige Ausführungsformen ein Bitmap von einem dezimierten Bild erzeugen, nachdem das dezimierte Bild erzeugt ist, aber bevor alle dezimierten Bilder erzeugt worden sind. Die oben beschriebenen Ausführungsformen dezimieren die Bilder um den Faktor 2, jedoch wird der Fachmann verstehen, dass einige Ausführungsformen die Bilder um andere Faktoren als 2 dezimieren. In dem oben beschriebenen Verfahren wird jedes dezimierte Bild von dem dezimierten Bild mit der nächsten höheren Auflösung erzeugt, jedoch, in einigen Ausführungsformen, werden dezimierte Bilder erzeugt mit Hilfe von anderen Bildern als die dezimierten Bilder mit der nächst höheren Auflösung (zum Beispiel ein dezimiertes Bild kann von dem Original-Lumabild oder von einem 2 Auflösungsniveaus höheren dezimierten Bild erzeugt werden). In dem oben beschrieben Verfahren entspricht ein schwarzer Pixel in dem Bitmap einem dunkler-als-der-Median Pixel in dem Lumabild und ein weißer Pixel in dem Bitmap entspricht einem heller-als-der-Median Pixel in dem Lumabild. Jedoch wird der Fachmann verstehen, dass „schwarz“ und „weiß“ eine willkürliche Wahl von Farben repräsentiert, um die 2 möglichen binären Werte eines Pixels in dem Bitmap zu repräsentieren. In einigen Ausführungsformen wird ein dunklerer Pixel in dem Bild in dem Bitmap als ein binärer Wert „0“ repräsentiert und ein hellerer Pixel in dem Bild wird in dem Bitmap als ein binärer Wert „1“ repräsentiert. In anderen Ausführungsformen wird ein dunklerer Pixel in dem Bild in dem Bitmap als ein binärer Wert „1“ repräsentiert und ein hellerer Pixel wird in dem Bild in dem Bitmap als ein binärer Wert „0“ repräsentiert.
  • 8 stellt Beispiele von Bitmaps einiger Ausführungsformen dar, die zur Suche nach Ausrichtungen verwendet werden können. Die Bitmaps wurden von einem Bild eines Autos erzeugt. Die Bitmaps in 8 sind nicht maßstabsgetreu gezeichnet. Die Figur beinhaltet Originalbilder 800 und 805, Bitmaps 810A-810C und 815A-815C und gekachelte Bitmaps 820 und 825. Das Originalbild 800 ist ein Bild, das mit einer mittleren Belichtungsdauer von der mobilen Vorrichtung aufgenommen wurde. Das Originalbild 805 ist ein Bild, das von derselben mobilen Vorrichtung aufgenommen wurde mit einer kürzeren Belichtungsdauer. Die Bitmaps 810A-810C sind Bitmaps, die von Kopien (mit unterschiedlichen Auflösungen) von dem Originalbild 800 erzeugt wurden. Die Bitmaps 815A-815C sind Bitmaps, die von Kopien (mit unterschiedlichen Auflösungen) des Originalbildes 805 erzeugt wurden. Das gekachelte Bitmap 820 ist eine Kopie von Bitmap 810C, das konzeptionell in Kacheln aufgeteilt wurde. Das gekachelte Bitmap 820 ist eine Kopie von Bitmap 815C, das konzeptionell in Kacheln aufgeteilt wurde.
  • Die Bitmaps in dieser Figur mit derselben Auflösung können miteinander verglichen werden, um nach der Verschiebung der Originalbilder 800 und 805 zu suchen. Die Verschiebung der Bilder 800 und 805 ist ein Vektor, der, wenn er auf eines der Bilder angewandt wird, es dazu veranlasst, sich mit dem anderen Bild auszurichten. In diesem Fall ist das Auto in dem Bild 800 näher an der rechten Seite des Bildes, wohingegen das Auto in dem Bild 805 näher zu der linken Seite seines Bildes ist. Deshalb würde die Anwendung einer Verschiebung auf das Bild 805, die seine Pixel nach rechts um den korrekten Betrag verschiebt, es mit dem Bild 800 ausrichten.
  • Die Bitmaps 810A und 815A sind um denselben Betrag wie die Bilder 800 und 805 verschoben, da die Bitmaps 810A und 815A direkt von den Originalbildern erzeugt wurden. Die Verschiebung der Bilder 800 und 805 könnte durch das Auffinden der Verschiebung der Bitmaps 810A und 815A gefunden werden. Jedoch würde das Auffinden der Verschiebung der Bitmaps 810A und 815A einfach durch das Versuchen jeder möglichen Verschiebung, um zu schauen, ob sie die Bitmaps ausrichtet, rechenmäßig aufwändig, aufgrund der großen Anzahl an möglichen Verschiebungen, die zu prüfen sind, um zwei hochaufgelöste Bitmaps auszurichten. Deshalb suchen die Verfahren einiger Ausführungsformen nach der korrekten Ausrichtung über ein hierarchisches Verfahren von nacheinander folgenden Annäherungen anstelle des Ausprobierens aller möglichen Verschiebungsvektoren für die hochaufgelösten Bitmaps.
  • Die niedrigere Auflösung der Bitmaps 810C und 815C resultiert in weniger möglichen Verschiebungen, die zu prüfen sind beim Ausrichten der Bitmaps 810C und 815C. Jedoch bedeutet die niedrigere Anzahl von möglichen Verschiebungen, die zu prüfen sind, auch geringere Genauigkeit der Verschiebung, die bei der Auflösung gefunden wird. Insbesondere repräsentiert eine Verschiebung von einem Pixel zwischen den Bitmaps 810C und 815C eine Verschiebung von mehreren Pixeln (zum Beispiel 64 Pixel) zwischen den Originalbildern 800 und 805, somit wird eine Verschiebung, die die Bitmaps 810 C und 815C ausrichtet, eine Verschiebung, die die Bitmaps 810A und 815A ausrichtet, nicht genau spezifizieren. Jedoch kann eine Verschiebung, die die Bitmaps 810C und 815C ausrichtet, als eine erste Annäherung der Verschiebung verwendet werden, die die Bitmaps 810A und 815A ausrichtet. Die Verschiebung, die die Bitmaps 810C und 815C ausrichtet, ist ein Startpunkt in dem hierarchischen Verfahren zum Auffinden von verschiedenen höher aufgelösten Bitmaps.
    Die Sätze von aufeinander folgend größeren Bitmaps erlauben es, den Wert für die Verschiebung zu verfeinern mit Hilfe jedes nachfolgend höher aufgelösten Bitmaps. In 8 repräsentiert jedes nachfolgende Bitmap in einer gegebenen Spalte der Bitmaps konzeptionell ein Bitmap, das von einem Bild mit der Hälfte der Auflösung des Bildes erzeugt wird, das verwendet wird, um das vorhergehende Bitmap in der Spalte zu erzeugen, damit ist die Verschiebung von jedem Bitmap die Hälfte der Verschiebung der nächst höheren Auflösung. Zum Beispiel wurde das Bitmap 810A von einem Originalbild 800 mit der Auflösung 1920×1280 (Original) erzeugt, und das Bitmap 810B wurde von einer dezimierten Kopie (nicht gezeigt) des Originalbildes 800 mit einer Auflösung von 960×640 (das erste dezimierte Bild) erzeugt. Eine Verschiebung von 10 Pixeln nach rechts zwischen den Bitmaps 810B und 815B repräsentiert eine Verschiebung von 20 Pixeln (plus oder minus 1 Pixel) nach rechts zwischen den Bitmaps 810A und 815A. Wenn die Verschiebung für die höher aufgelösten Bitmaps 810A und 815A gefunden ist, wäre der Startpunkt für die Suche 20 Pixel nach rechts. Wie weiter mit Bezug auf die 9 bis 11 unten beschrieben, würde das Ausrichtungsverfahren dann mögliche Verschiebungen innerhalb eines Pixels von dem Startpunkt bewerten, um nach der tatsächlichen Verschiebung bei 19 Pixeln, 20 Pixeln und 21 Pixeln nach rechts zu suchen.
  • In 8 lässt die Auslassung zwischen den Bitmaps 810B und 810C Bitmaps von nacheinander folgenden kleineren Auflösungen aus, die von dezimierten Bildern erzeugt werden, von denen jedes die Hälfte der Auflösung (in jeder Dimension) des vorhergehenden dezimierten Bildes hat. Wie mit Bezug auf 7 beschrieben, fährt die Dezimierung und Erzeugung von Bitmaps für einige bestimmte Anzahlen von Niveaus von Auflösungen (zum Beispiel 6 Niveaus) fort. In 8 sind die Bitmaps 810A-810C und 815A-815C und die Originalbilder 800 und 805 nicht maßstabsgetreu gezeichnet.
  • Die oben beschriebenen Ausführungsformen erzeugen jedes Bitmap von einem dezimierten Bild mit derselben Auflösung wie das erzeugte Bitmap. Alternativ kann in einigen Ausführungsformen ein Bitmap einer niedrigeren Auflösung von einem Bitmap mit höherer Auflösung erzeugt werden, anstelle von einem dezimierten Bild. Das Erzeugen von Bitmaps von höher aufgelösten Bitmaps ist in einigen Ausführungsformen schneller, als das Erzeugen von Bitmaps von dezimierten Bildern. Jedoch tendiert das Erzeugen von Bitmaps von höher aufgelösten Bitmaps statt von dezimierten Bildern dazu, Artefakte in den Bitmaps zu erzeugen, die die Effizienz und/oder Genauigkeit der Suchen nach Verschiebungsvektoren verringern. Deshalb wird diese Technik nicht in allen Ausführungsformen verwendet.
    Einige Ausführungsformen richten Bitmaps durch das Teilen eines oder beider Bitmaps in Kacheln und das Vergleichen der Pixel in einigen oder allen der Kacheln zu entsprechenden Pixeln in dem anderen Bitmap aus, um einen Verschiebungsvektor zu finden, der hervorruft, dass sich die Merkmale jedes Bildes überlagern. Die kurze Beschreibung unten ist für eine Ausführungsform, die ein Bitmap auf jeder Auflösung in Kacheln aufteilt.
  • Das Verfahren einiger Ausführungsformen vergleicht die zwei Bitmap Bilder mehrere Male unter Verwendung von mehreren Testverschiebungsvektoren. Die Vergleich vergleicht systematisch Pixel in einem Bitmap (das „gekachelte Bitmap“) mit dem entsprechenden Pixel in einem zweiten Bitmap (das „Zielbitmap“). Das Verfahren vergleicht Pixel in dem gekachelten Bitmap mit Pixeln in dem Zielbitmap, die um den Verschiebungsvektor verschoben sind. Für jeden Testverschiebungsvektor zählt das Verfahren einiger Ausführungsformen die Anzahl von entsprechenden Pixeln, die sich voneinander unterscheiden. Je näher der Testverschiebungsvektor zu der tatsächlichen Verschiebung zwischen den zwei Bildern ist, desto kleiner ist die Anzahl von Pixeln in den zwei Bitmaps, die sich von dem gekachelten Bitmap zu dem (verschobenen) Zielbitmap unterscheiden.
    Einige Bitmaps, die von dezimierten Bildern erzeugt werden, umfassen Kacheln, die fast ganz schwarz oder fast ganz weiß sind. Die Auslassung der Kacheln, die ganz schwarz, fast ganz schwarz, ganz weiß oder fast ganz weiß sind, von dem Vergleich, beschleunigt den Vergleich, ohne den identifizierten Verschiebungsvektor in einigen Ausführungsformen zu ändern. Deshalb verwerfen einige Ausführungsformen die schwarzen, fast ganz schwarzen, weißen, und fast ganz weißen Kacheln von dem Vergleich.
  • Demgemäß sind die Bitmaps einiger Ausführungsformen konzeptionell in Kacheln geteilt, wie die gekachelten Bitmaps 820 und 825 als Teil eines Verfahrens (das mit Bezug auf 9 und 10 unten beschrieben wird) zum Auffinden des Verschiebungsvektors. Jede Kachel umfasst eine Anzahl an Pixeln. In dem Verfahren einiger Ausführungsformen zum Auffinden des Verschiebungsvektors von 2 Bitmaps werden Kacheln, die ganz schwarz oder fast ganz schwarz sind (zum Beispiel die obere Hälfte des Frontrades in dem gekachelten Bitmap 820) mit weniger als einer Schwellwertanzahl von weißen Kacheln, ignoriert, und Kacheln, die ganz weiß sind (zum Beispiel die linken und oberen Kantenkacheln des gekachelten Bitmaps 820) oder fast ganz weiß sind (zum Beispiel die vordere Windschutzscheibe des gekachelten Bitmaps 820) mit weniger als einer Schwellwertanzahl von schwarzen Kacheln werden ignoriert. Das bedeutet, die Pixel innerhalb dieser Kacheln werden nicht in die Vergleiche der 2 Bitmaps einbezogen, die ausgeführt werden bei der Suche nach einem Verschiebungsvektor, der diese 2 Bitmaps in Übereinstimmung bringt.
  • Hierarchische Ausrichtung der Bilder
  • Sobald Bitmaps mit mehreren Auflösungen erzeugt sind, verwenden einige Ausführungsformen die Bitmaps, um Verschiebungsvektoren aufzufinden, die diese Bilder ausrichten. 9 bis 10 stellen ein Verfahren 900 und ein Verfahren 1000 einiger Ausführungsformen zum Auffinden eines Verschiebungsvektors dar, der 2 Bilder ausrichtet. Der Klarheit halber beschreibt die Beschreibung des Verfahrens 900 die Ausrichtung von 2 Bildern miteinander. Jedoch empfängt das Verfahren 900 in einigen Ausführungsformen 3 Sätze von Bitmaps für die 3 Originalbilder mit unterschiedlichen Belichtungen und richtet die 3 Bilder aus. Beim Ausrichten der 3 Bilder richtet das Verfahren 900 zuerst 2 Bilder aus und richtet dann das dritte Bild mit einem der anderen 2 Bilder aus. Das Verfahren 900 ist ein hierarchisches Verfahren, das die Verschiebung zwischen 2 Bildern auffindet durch das Auffinden einer groben Näherung für die Verschiebung mithilfe eines niedrig aufgelösten Bitmaps, dann Annähern an den tatsächlichen Verschiebungswert durch das Auffinden nacheinander folgend näherer Annäherungen an den tatsächlichen Verschiebungsvektor mithilfe nacheinander folgender höher aufgelöster Bitmaps. Das Verfahren testet 9 Kandidatenverschiebungsvektoren bei jeder Auflösung, um herauszufinden, welcher Offsetvektor die Bitmaps am nächsten zur Ausrichtung bei der Auflösung bringt.
  • 9-10 werden mit Bezug auf 11 beschrieben. 11 zeigt ein Beispiel des Auffindens eines Verschiebungsvektors, der 2 Bilder ausrichtet, in einigen Ausführungsformen. Diese Figur zeigt, mit je einem hierarchischen Niveau, wie ein Verschiebungsvektor zwischen 2 Bildern durch das Verfahren 900 gefunden wird. Die Figur umfasst Reihen/Stufen 1110-1140 und Spalten 1165-1180. Jede der Stufen 1110-1140 repräsentiert konzeptionell ein hierarchisches Niveau in der Identifikation eines Verschiebungsvektors zwischen 2 Bildern. Jede der Spalten 1165-1180 repräsentiert eine wichtige Eigenschaft von jeder Stufe. Die Stufen 1110-1140 umfassen jeweils eine dezimierte Auflösung (in Spalte 1165), einen Startverschiebungsvektor (in Spalte 1170), eine identifizierte Hinzufügung zu dem Verschiebungsvektor (in Spalte 1175) und einen neuen Verschiebungsvektor (in Spalte 1180).
  • Die dezimierten Auflösungswerte von Spalte 1165 identifizieren die Auflösung der Bitmaps, die zu vergleichen sind, in jeder Stufe. Dies illustriert konzeptionell die Auswahl von Auflösungen in dem Verfahren 900 (bei 920 und 970). Die Startverschiebungsvektoren der Spalte 1170 repräsentieren einen Verschiebungsvektor, der als ein Ursprung agiert, um welchen die Kandidatenvektoren getestet werden. Jede Reihe der Spalte 1175 umfasst 9 Kandidatenvektoren. Die Pfeile (und Kreise) in den verschiedenen Stufen der Spalte 1175 illustrieren konzeptionell einen Kandidatenvektor, der von dem Verfahren 1000 als der Kandidatenverschiebungsvektor gewählt wird, der die beste Ausrichtung der Bitmaps bei der Auflösung erzeugt. Die neuen Verschiebungsvektoren der Spalte 1180 repräsentieren die Vektorsummen des Startverschiebungsvektors und des Vektors, der in Spalte 1175 in derselben Stufe identifiziert wird. Der Verschiebungsvektor in der Spalte 1180, in der Endstufe 1140, repräsentiert die Verschiebung der 2 originalen, voll aufgelösten Bilder.
  • In einigen Ausführungsformen verwendet das Verfahren 900 Bitmaps, die durch ein Verfahren, wie das Verfahren 700 von 7 erzeugt wurden. Das Verfahren 900 beginnt mit dem Empfangen (bei 910) von zwei Sätzen von Bitmaps. Jeder Satz von Bitmaps wurde von einem Originalbild von der mobilen Vorrichtung erzeugt. Die empfangenen Sätze von Bitmaps umfassen einen Bereich von Auflösungen, von denen jede um einen Faktor 2 kleiner ist als die nächstgrößere Auflösung. Das Verfahren 900 wählt (bei 920) die am niedrigsten aufgelösten Bitmaps als das aktuelle Paar an Bitmaps, mit dem gearbeitet wird (zum Beispiel, um einen Verschiebungsvektor zu finden, der die Bitmaps ausrichtet). In dem Beispiel in 11 repräsentiert die Stufe 1110 das niedrigste hierarchische Niveau. Die Auflösung des Bitmaps in der Stufe 1110 ist 30×20, wie in Spalte 1165 gezeigt.
  • Wie oben mit Bezug auf die gekachelten Bitmaps 820 und 825 beschrieben, können die Bitmaps konzeptionell in Kacheln aufgeteilt werden. Das Verfahren 900 teilt (bei 930) das aktuelle Bitmap in jedem Satz in Kacheln auf. Einige Ausführungsformen teilen nur ein Bitmap in jedem Paar von Bitmaps (mit einer gemeinsamen Auflösung) in Kacheln auf. Jede Kachel umfasst einen bestimmten Satz an Pixeln. In diesem Kontext wird eine Kachel betrachtet als einen Pixel umfassend, wenn der Pixel innerhalb eines Bereiches von Orten ist, die durch diese Kachel identifiziert werden. Zum Beispiel könnte eine bestimmte Kachel unter Verwendung des unteren linken Pixels eines Bitmaps als Koordinate (0, 0) alle Kacheln mit x-Koordinaten zwischen 10 Pixeln und 19 Pixeln und y-Koordinaten zwischen 20 Pixeln und 29 Pixeln umfassen. Ein Pixel mit den Koordinaten (13, 25) würde ein Pixel in der Kachel sein und ein Pixel mit den Koordinaten (22, 25) würde ein Pixel in einer anderen Kachel sein. Der Fachmann wird verstehen, dass Kacheln unterschiedliche Größen in unterschiedlichen Ausführungsformen haben können und sogar unterschiedliche Größen in derselben Ausführungsform haben können. Zum Beispiel könnten Kacheln in verschiedenen Auflösungen unterschiedliche Größen haben. Kacheln einiger Ausführungsformen haben unterschiedliche Größen bezogen auf die Auflösung der Bitmaps.
  • Einige Kacheln enthalten eine signifikante Anzahl von sowohl schwarzen Pixeln als auch weißen Pixeln. Andere Kacheln enthalten insgesamt (oder fast insgesamt) schwarze Pixel oder insgesamt (oder fast insgesamt) weiße Pixel. Um spätere Vergleiche zu beschleunigen, die den Verschiebungsvektor finden, der 2 Kacheln ausrichtet, verwirft das Verfahren einiger Ausführungsformen (bei 940) alle Kacheln, die hauptsächlich eine Farbe von Pixeln (schwarz oder weiß) enthalten. Das bedeutet, beim Ausführen späterer Vergleiche, um herauszufinden, wie gut ein Kandidatenverschiebungsvektor die 2 Bitmaps ausrichtet, wird das Verfahren 900 die Pixel von den verworfenen Kacheln in jenen Vergleichen nicht mit einbeziehen. In einigen Ausführungsformen werden die Kacheln verworfen, wenn sie weniger als eine Schwellwertanzahl der Minderheitenfarbe haben. Die Schwellwertanzahl ist in einigen Ausführungsformen 5% von der Gesamtanzahl der Pixel in der Kachel. In anderen Ausführungsformen ist die Schwellwertanzahl der Minderheitenfarbe ein anderer Prozentsatz der Pixel in der Kachel. In einigen Ausführungsformen werden Kacheln von nur einem von dem Paar von Bitmaps verworfen. In anderen Ausführungsformen werden Kacheln von beiden Bitmaps verworfen.
  • Das Verfahren 900 identifiziert (bei 950) einen Verschiebungsvektor zum Ausrichten der 2 Bitmaps der aktuellen Auflösung. Eine Operation 950 zum Auffinden des Verschiebungsvektors wird weiter als das Verfahren 1000 von 10 beschrieben. 11 stellt konzeptionell die Operation 950 in der Spalte 1175 dar. Zum Beispiel, wie in Spalte 1175, Stufe 1110 gezeigt, bewertet die Operation 950 alle Vektoren innerhalb eines Pixels von dem Ursprung, um den Verschiebungsvektor zu finden, der die nächste Ausrichtung zwischen den Bitmaps bei dieser Auflösung (30×20) bereitstellt. Der Pfeil in Spalte 1175 auf Stufe 1110 zeigt an, dass die nächste Ausrichtung durch die Verschiebung (1, 1) erzeugt wird. In der niedrigsten Auflösungsstufe 1110, richtet die Operation 950 Bitmaps aus, die 1/64 der Auflösung (in jeder Dimension) des Originalbildes haben. Die Werte der identifizierten Verschiebungsvektoren verdoppeln sich auf jeder Stufe, weshalb sich der Beitrag eines Kandidatenverschiebungsvektors in einer Stufe mit jeder nachfolgenden Stufe verdoppelt. Zum Beispiel ist der ausgewählte Kandidatenverschiebungsvektor in Stufe 1110, Spalte 1180 (1, 1). Dieser Vektor verdoppelt sich in jeder der nachfolgenden Stufen (6mal), was seinen Gesamtbeitrag zu dem Endverschiebungsvektor zu (64, 64) macht. Auf ähnliche Weise verdoppelt sich der ausgewählte Kandidatenverschiebungsvektor in Stufe 1120 (-1, -1) 4mal, was seinen Gesamtbeitrag zu dem Endverschiebungsvektor zu einem Vektor von (-16,-16) macht.
    Tatsächlich, bezüglich des tatsächlichen Verschiebungsvektors zwischen den voll aufgelösten (1920×1280) Bildern, findet die Operation 950 in Stufe 1110, dass die Verschiebung zwischen den 2 voll aufgelösten Bildern (64, 64) ist (das heißt 64mal der identifizierte Verschiebungsvektor). Die Verschiebung (64, 64) ist eine grobe Bestimmung, die in späteren Stufen verfeinert werden wird. Zum Beispiel könnte die Operation 950 in der Stufe 1115 den Verschiebungsvektor um 0 oder ± 32 in jeder Richtung (vertikal und horizontal) ändern; in der Stufe 1120 könnte sie den Verschiebungsvektor um 0 oder ± 16 in jeder Richtung ändern, und so weiter, bis zur Stufe 1140, die den Verschiebungsvektor um 0 oder ± 1 in jeder Richtung ändern kann. Demgemäß, unter der Annahme eines ganzen Bereiches von möglichen Verschiebungen in der späteren Stufe, statt den spezifischen Verschiebungsvektoren, die in 11 gezeigt sind, könnte die Operation 950 in späteren Stufen unter einer gegebenen Verschiebung von (1, 1) auf der niedrigsten Auflösung eine Endverschiebung für die Bilder von zwischen 1 und 127 Pixeln in der horizontalen Richtung und zwischen 1 und 127 Pixeln in der vertikalen Richtung finden. Auf ähnliche Weise richtet die Operation 950 in der Stufe 1115 Bitmaps aus, die 1/32 der Auflösung (in jeder Dimension) des tatsächlichen Bildes haben. Bezüglich des tatsächlichen Verschiebungsvektors zwischen den voll aufgelösten (1920×1280) Bildern, findet die Operation 950 in der Stufe 1115, dass die Verschiebung zwischen den zwei voll aufgelösten Bildern (96, 64) ist (das heißt 32mal der identifizierte Verschiebungsvektor). Die Verschiebung (96, 64) ist immer noch eine grobe Bestimmung, die in den späteren Stufen 1120 bis 1140 verfeinert werden wird. Die späteren Stufen könnten jeden der Werte des Vektors nach oben oder unten um bis zu 31 Pixel anpassen. Unter der Annahme eines ganzen Bereiches von möglichen Verschiebungen in der späteren Stufe, statt den spezifischen Verschiebungsvektoren, die in 11 gezeigt sind, könnte das Verfahren 900 in den späteren Stufen unter der Annahme, dass die Verschiebung (3, 2) ist bei dieser Auflösung (60, 40), eine Endverschiebung für die Bilder von zwischen 33 und 95 Pixeln in der horizontalen Richtung und zwischen 65 und 127 Pixeln in der vertikalen Richtung finden. Sobald ein Verschiebungsvektor bei einer gegebenen Auflösung gefunden wurde, bestimmt das Verfahren 900 (bei 960), ob weitere Bitmaps zum Ausrichten verbleiben. Wenn das Verfahren bestimmt (bei 960), dass weitere Bitmaps bewertet werden müssen, dann wählt das Verfahren (bei 970) das nächste am niedrigsten aufgelöste Bitmap als das aktuelle Bitmap. Zum Beispiel, in 11, nach der Stufe 1110, wählt die Operation 970 die nächsten am niedrigsten aufgelösten Bitmaps, 60×40. Das Verfahren verdoppelt dann (bei 980) den Verschiebungsvektor, der in der Operation 950 identifiziert wird zur Verwendung als ein Startpunkt zum Bewerten von Kandidatenverschiebungsvektoren für die Bitmaps mit der neuen Auflösung. Zum Beispiel wird in 11 der Verschiebungsvektor (1, 1) in Stufe 1110, Spalte 1180 verdoppelt von (1, 1) auf (2, 2) in Spalte 1170 von Stufe 1115. In jeder Stufe ist der Startverschiebungsvektor das Doppelte des neuen Verschiebungsvektors von der vorhergehenden Stufe, um der Tatsache Rechnung zu tragen, dass die Auflösung von einer Stufe das Doppelte der Auflösung der vorhergehenden Stufe ist. Tatsächlich verdoppelt sich jede Koordinate des Bitmaps von einer Auflösung zur nächsten und der neue Startverschiebungsvektor verdoppelt sich entsprechend.
  • Wenn das Verfahren bestimmt (bei 960), dass keine weiteren Bitmaps bewertet werden müssen (das heißt, wenn die zuletzt verglichenen Bitmaps die voll aufgelösten Bitmaps sind), hat das Verfahren 900 den Verschiebungsvektor aufgefunden, der die 2 Originalbilder ausrichten wird. Zum Beispiel gibt es in 11, nach der Stufe 1140, keine weiteren zu bewertenden Bitmaps. Demgemäß ist der Verschiebungsvektor in Stufe 1140, Spalte 1180, genau (87, 48) der Verschiebungsvektor, der die zwei Bilder ausrichtet. Das Verfahren 900 endet dann mit der erfolgreichen Ausrichtung der Bilder.
  • Wie oben bemerkt, wird die Operation 950, welche ein bestimmtes Paar von Bitmaps bei einer gegebenen Auflösung ausrichtet, in größerem Detail in 10 gezeigt. 10 zeigt ein Verfahren 1000 zum Auffinden eines Verschiebungsvektors zum Ausrichten von 2 Bitmaps. Das Verfahren 1000 vergleicht Pixel der 2 Bitmaps, wie durch verschiedene Kandidatenverschiebungsvektoren verschoben (und einen Startverschiebungsvektor, wenn vorhanden) und findet heraus, welcher Kandidatenverschiebungsvektor die beste Ausrichtung erzeugt. Das Verfahren 1000 ist Teil des Verfahrens 900 einiger Ausführungsformen.
  • Das Verfahren 1000 wählt (bei 1010) einen Kandidatenverschiebungsvektor. Der Kandidatenverschiebungsvektor ist ein Vektor, der von einem Satz von möglichen Verschiebungsvektoren ausgewählt wird. Die möglichen Verschiebungsvektoren sind alle Vektorverschiebungen vom Ausgangspunkt um 0 oder plus oder minus einen Pixel vertikal und um 0 oder plus oder minus einen Pixel horizontal. Die Kandidatenverschiebungsvektoren sind (-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 0), (0, 1), (1, -1), (1, 0) und (1, 1). Die Kandidatenverschiebungsvektoren sind in Spalte 1175 von 11 dargestellt.
  • Das Verfahren fügt (bei 1020) den Kandidatenverschiebungsvektor zu einem Startverschiebungsvektor hinzu, um einen kombinierten Vektor zu erzeugen. Der Startverschiebungsvektor ist der Verschiebungsvektor, der durch das Verfahren 1000 gefunden wurde beim Ausrichten der Bitmaps der vorherigen Auflösung (wenn vorhanden). In 11, im Schritt 1110, werden die am niedrigsten aufgelösten Bitmaps ausgerichtet. Es gibt keine vorherige Auflösung, sodass der Startverschiebungsvektor (0, 0) ist. In der ersten Stufe mit einem nicht-null Startverschiebungsvektor (zum Beispiel Stufe 1115) bewertet das Verfahren 1000 alle möglichen Verschiebungsvektoren innerhalb eines Pixels von dem Startverschiebungsvektor (2, 2). Das bedeutet, in der Stufe 1115 testet das Verfahren 1000 die Vektoren (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2) und (3, 3).
  • Wie oben bemerkt, identifizieren die Pfeile (und der Kreis in Stufe 1130) in Spalte 1175 konzeptionell, welche Kandidatenverschiebungsvektoren die geringste Anzahl an Differenzen erzeugen beim Vergleichen der 2 Bitmaps in dem in 11 gezeigten Beispiel. Der Pfeil in Spalte 1175 in Stufe 1115 zeigt an, dass die beste Ausrichtung erzeugt wird, wenn der Kandidatenverschiebungsvektor (1, 0) zu dem Startverschiebungsvektor (2, 2) hinzugefügt wird. Wenn der Kandidatenverschiebungsvektor (1, 0) zu dem Startverschiebungsvektor (2, 2) hin- zugefügt wird, ist das Ergebnis ein Verschiebungsvektor (3, 2) wie in Spalte 1180 in Stufe 1115 gezeigt.
  • Das Verfahren vergleicht dann (bei 1030) die 2 Bitmaps mit Hilfe des kombinierten Vektors als ein Testverschiebungsvektor. Der Vergleich vergleicht systematisch jeden Pixel in jeder nicht verworfenen Kachel in dem gekachelten Bitmap mit dem entsprechenden Pixel in dem Zielbitmap. Der entsprechende Pixel in dem Zielbitmap ist der Pixel, dessen Koordinaten in dem Zielbitmap um den Testverschiebungsvektor von den Koordinaten des Pixels in dem gekachelten Bitmap verschoben sind. Zum Beispiel wird ein Pixel bei Koordinaten (x, y) des gekachelten Bitmaps bei einem Testverschiebungsvektor von (25, 30) mit einem Pixel bei den Koordinaten (x+25, y+30) des Zielbitmaps verglichen. Eine XOR-Operation wird verwendet in einigen Ausführungsformen, um zwei 1-Bit Werte zu vergleichen (zum Beispiel die Werte der Pixel in den 2 Bitmaps), um herauszufinden, ob sie voneinander unterschiedlich sind. Wenn die verglichenen Pixel unterschiedlich sind (das heißt, ein Pixel ist schwarz, und der andere Pixel ist weiß), dann erzeugt die XOR Operation eine Ausgabe von 1, wenn die Pixel dieselben sind (das heißt, beide Pixel sind schwarz oder beide Pixel sind weiß), dann erzeugt die XOR Operation eine Ausgabe von o. Für jeden Testverschiebungsvektor zählt das Verfahren 1000 einiger Ausführungsformen die Anzahl der entsprechenden Pixel, die sich voneinander unterscheiden. Je näher der Testverschiebungsvektor zu der tatsächlichen Verschiebung zwischen den 2 Bitmaps ist, desto kleiner wird die Anzahl von Pixeln in den 2 Bitmaps, die sich von den gekachelten Bitmaps zu dem (verschobenen) Zielbitmap unterscheiden.
  • Durch das Vergleichen der Bitmaps durch das Zählen, wie viele Pixel von einem Bitmap zu dem (verschobenen) anderen Bitmap verschieden sind, schließt das Verfahren 1000 einiger Ausführungsformen nicht die Pixel in den verworfenen Kacheln in den Vergleich ein. Nur Pixel, die in Kacheln mit einem signifikanten Prozentsatz (zum Beispiel mehr als 5% in manchen Ausführungsformen) von sowohl schwarzen als auch weißen Pixeln sind, werden in die Vergleiche einbezogen. In einigen Ausführungsformen, die Kacheln von nur einem der Bitmaps verwerfen, spezifizieren die nicht verworfenen Kacheln von dem gekachelten Bitmap, welche Pixel verglichen werden. Zum Beispiel wird, bei einem Testverschiebungsvektor von (25, 30) ein Pixel an den Koordinaten (x, y) des gekachelten Bitmaps gewöhnlich mit 1 Pixel an den Koordinaten (x+25, y+30) des Zielbitmaps verglichen. Jedoch, wenn die Koordinaten (x, y) innerhalb einer verworfenen Kachel des gekachelten Bitmaps liegen, wird der Pixel des gekachelten Bitmaps an diesen Koordinaten nicht mit irgendeinem Pixel des Zielbitmaps verglichen. Mit anderen Worten, wenn die Koordinaten (x, y) innerhalb einer verworfenen Kachel des gekachelten Bitmaps liegen, wird das Verfahren einiger Ausführungsformen einfach keinen Vergleich des Pixels bei (x, y) des gekachelten Bitmaps mit dem Pixel bei (x+25, y+30) des Zielbitmaps oder irgendeinem anderen Pixel des Zielbitmaps ausführen.
  • In einigen Ausführungsformen ist der Grund des Verwerfens der Kacheln, die fast ganz schwarz oder fast ganz weiß sind, dass diese Kacheln die Resultate nicht signifikant beeinflussen. Zum Beispiel, wenn eine ganz weiße Kachel in einer ganz weißen Region ist, dann würde jede kleine Verschiebung die weißen Pixel in dieser Kachel mit einer anderen Gruppe von insgesamt weißen Pixeln in dem entsprechenden Bereich des anderen Bitmaps ausrichten. Wenn jeder der Kandidatenvektoren hervorrufen würde, dass eine weiße Kachel mit einer anderen Gruppe von insgesamt weißen Pixeln verglichen wird, dann würden die Vergleiche der Pixel in der weißen Kachel mit entsprechenden Pixeln in dem Zielbitmap keine Daten bereitstellen, die verwendet werden könnten, um den Verschiebungsvektor von den anderen Kandidatenvektoren zu unterscheiden.
  • Das Verfahren speichert (bei 1040) einen Wert, der durch die Anzahl von Pixeln bestimmt wird, die als unterschiedlich von einem Bitmap zu dem anderen Bitmap mit dem gegebenen Testverschiebungsvektor bestimmt werden. In einigen Ausführungsformen ist der Wert einfach die Anzahl der Pixel, die unterschiedlich sind. In anderen Ausführungsformen ist der Wert nicht die tatsächliche Anzahl von Pixeln, die unterschiedlich sind, aber wird von der Anzahl der Pixel, die unterschiedlich sind, abgeleitet.
    Das Verfahren bestimmt dann (bei 1050), ob mehr Kandidatenvektoren bewertet werden müssen. Wenn weitere Kandidatenvektoren bewertet werden müssen, kehrt das Verfahren nach 1010 zurück und wählt einen neuen Kandidatenvektor. Wenn alle Kandidatenvektoren bewertet worden sind, identifiziert das Verfahren (bei 1060) den Kandidatenvektor, der die beste Ausrichtung des Bitmaps bereitstellt, basierend auf den gespeicherten Werten für jeden. Zum Beispiel, wird der Kandidatenvektor in einigen Ausführungsformen, der in der niedrigsten Anzahl von Unterschieden zwischen dem gekachelten Bitmap und dem verschobenen Zielbitmap resultierte, als der Kandidatenvektor identifiziert, der die beste Ausrichtung bereitstellt. Der beste Kandidatenvektor wird zu dem Startverschiebungsvektor hinzugefügt (bei 1070), um einen neuen Verschiebungsvektor bereitzustellen. Das Verfahren 1000 endet dann und das Verfahren 900 fährt bei 960 fort.
  • Das nächste am höchsten aufgelöste Paar von Bitmaps repräsentiert dasselbe Bild wie die aktuelle Auflösung, aber mit einer feineren Skala. Aufgrund der feineren Skala identifiziert der neue Verschiebungsvektor nicht die exakte Verschiebung des nächsten am höchsten aufgelösten Paares an Bitmaps. Jedoch kreist das Auffinden des neuen Verschiebungsvektors, der Bitmaps bei einer Auflösung am besten ausrichtet, den Bereich von Verschiebungsvektoren ein, die möglicherweise die beste Ausrichtung der Bitmaps auf der nächsthöheren Auflösung bereitstellen könnten. In Ausführungsformen, die die Auflösung auf jedem Niveau verdoppeln, ist die Präzision einer Ausrichtung bei einer gegebenen Auflösung die Hälfte der Präzision einer Ausrichtung der nächsthöheren Auflösung. Der neue Verschiebungsvektor, der durch das Verfahren 1000 identifiziert wird, ist bis auf weniger als einen Pixel bei der aktuellen Auflösung genau. Demgemäß, wenn der neue Verschiebungsvektor zu der nächsten Auflösung hochskaliert wird (zum Beispiel in Operation 980) wird auch die Unsicherheit in dem Wert der Ausrichtung hochskaliert. Das bedeutet, wenn die nächste Auflösung doppelt so hoch ist wie die aktuelle Auflösung, dann wird der Startverschiebungsvektor innerhalb von weniger als 2 Pixeln (in jeder Richtung) der aktuellen Verschiebung bei dieser Auflösung sein. Der Satz von allen Verschiebungsvektoren, die weniger als 2 Pixel entfernt von dem Startverschiebungsvektor sind, beinhaltet 9 Vektoren. Insbesondere sind die 9 Vektoren die Vektorsummen des Startverschiebungsvektors und der neuen Kandidatenverschiebungsvektoren.
  • Der Startverschiebungsvektor für jede Auflösung wird von dem neuen Verschiebungsvektor abgeleitet, der die 2 Bitmaps bei der nächsten niedrigeren Auflösung ausrichtet. Es gibt keine nächste niedrigere Auflösung für die Bitmaps mit der niedrigsten Auflösung. Demgemäß hat das Verfahren 1000 keinen Startverschiebungsvektor, wenn es die am niedrigsten aufgelösten Bitmaps ausrichtet. Für die am niedrigsten aufgelösten Bitmaps ist der Bereich der möglichen Verschiebungen nicht verringert, deshalb kann der Verschiebungsvektor, der die Bitmaps auf der niedrigsten Auflösung ausrichtet, mehr als 1 Pixel entfernt von dem Startpunkt der Suche sein. Demgemäß bewertet das Verfahren 1000 in einigen Ausführungsformen einen größeren Bereich von Kandidatenverschiebungsvektoren für die am niedrigsten aufgelösten Bitmaps als für die höher aufgelösten Bitmaps.
  • Abhängig davon, welche Kandidatenvektoren auf welcher Stufe gewählt werden in einer Ausführungsform mit 6 Niveaus an Dezimierung, sind die möglichen Werte der Verschiebungsvektoren, die von der hierarchischen Suche des Verfahrens 900 gefunden werden, von -127 bis 127 horizontal und -127 bis 127 vertikal. Jede nachfolgende Stufe kreist den Bereich von möglichen Verschiebungsvektoren ein um ungefähr einen Faktor von 2. Ein Wert von 127 für die horizontale Komponente der Verschiebung wird erreicht, wenn der Kandidatenverschiebungsvektor, der auf jedem Niveau gewählt wird, einen Wert von 1 hat. In solch einem Fall trägt das am niedrigsten aufgelöste Niveau 64 Pixel zu der Gesamtheit bei; das nächste am niedrigsten aufgelöste Niveau trägt 32 Pixel zu der Gesamtheit bei usw., bis das am höchsten aufgelöste Niveau 1 Pixel zu der Gesamtheit beiträgt.
  • Während die vorhergehende Beschreibung 9 Kandidatenvektoren auf jeder Auflösung umfasste, wird der Fachmann verstehen, dass andere Ausführungsformen andere Anzahlen von Kandidatenvektoren verwenden. Einige Ausführungsformen dezimieren um Faktoren anders als 2. In solchen Ausführungsformen erhöht sich die Anzahl der Kandidatenvektoren, um die größere Zunahme der Auflösung auszugleichen, beim Fortschreiten von einer niedrigeren Auflösung zu einer höheren Auflösung. Zum Beispiel werden die Bilder um einen Faktor von 4 in jeder Richtung in einigen Ausführungsformen dezimiert. In einigen solcher Ausführungsformen wird der Startverschiebungsvektor um einen Faktor von 4 (von einer Auflösung zur nächsten) skaliert und die Kandidatenvektoren umfassen alle Vektoren innerhalb von 3 Pixeln von dem Startverschiebungsvektor. Einige solcher Ausführungsformen verwenden 49 Kandidatenvektoren.
    Während die vorhergehende Beschreibung das Verwerfen von hauptsächlich weißen Kacheln und hauptsächlich schwarzen Kacheln auf jedem Auflösungsniveau beinhaltete, verwerfen einige Ausführungsformen Kacheln nur auf höheren Auflösungsniveaus. Bei niedrigen Auflösungen ist die Anzahl von Pixeln in einem Bild kleiner, sodass das Entfernen von Kacheln wahrscheinlicher das Ergebnis der Suche beeinflusst. Zusätzlich ist die Suche nach Verschiebungsvektoren, die niedrig aufgelöste Bitmaps ausrichten, selbst ohne das Verwerfen von Kacheln angemessen schnell. Aufgrund des erhöhten Risikos von Fehlern beim Verwerfen von Kacheln auf niedrigen Auflösungen und dem verringerten Gewinn der Geschwindigkeit der Suche nach Verschiebungsvektoren, verwerfen einige Ausführungsformen Kacheln nur für Bitmaps oberhalb eines gewissen Auflösungsniveaus. Zum Beispiel verwerfen einige Ausführungsformen Kacheln nur für Bitmaps, die von Bildern innerhalb von 5 Niveaus der Dezimierung erzeugt werden. Auf ähnliche Weise verwerfen einige Ausführungsformen Kacheln nur für Bitmaps, die von Bildern innerhalb von 4, 3, 2, 1 oder 0 Niveau(s) der Dezimierung erzeugt werden. Einige Ausführungsformen, die Kacheln nur für höher aufgelöste Bilder verwerfen, teilen die niedriger aufgelösten Bitmaps nicht in Kacheln. Einige solcher Ausführungsformen vergleichen die gesamten Bitmaps auf niedrigen Auflösungsniveaus. Einige Ausführungsformen schließen Pixel in der Nähe einer oder mehrerer Kanten von einem oder mehreren der Bitmaps aus, um dieselbe Anzahl von Pixeln für jede Verschiebung zu vergleichen.
  • BILDVERARBEITUNG: HDR-BILDERZEUGUNG UND SKALIERUNG
  • Einleitung
  • In der Fotografie werden verschiedene Szenen mit unterschiedlichen Belichtungsdauern fotografiert. Lange Belichtungsdauern stellen ein hohes Niveau von Details für dunkle Objekte bereit. Kurze Belichtungsdauern stellen ein hohes Niveau von Details für helle Objekte bereit. Jedoch kann eine Belichtungsdauer, die nicht auf die Helligkeit eines Objektes, das fotografiert wird, angepasst wird, schlechte Resultate erzeugen. Zum Beispiel, beim Aufnehmen eines Bildes eines hellen Objektes, resultiert eine zu lange Belichtungsdauer in der Sättigung der Sensoren, auf welche das Bild dieses hellen Objektes fokussiert ist. Details werden in diesem Fall verloren, weil jedes Lichtniveau oberhalb des Sättigungsniveaus einfach als Weiß (mit dem maximalen Wert) erscheint. Wenn alle Pixel als weiß erscheinen, werden die Unterschiede in Lichtniveaus, die ansonsten Details bereitstellen würden, nicht aufgenommen. Ein anderes Beispiel für schlechte Resultate resultiert daher, dass ein Bild eines dunklen Objektes mit einer zu kurzen Belichtungsdauer aufgenommen wird. Eine zu kurze Belichtungsdauer stellt unzureichendes Licht für die Sensitivität der Sensoren bereit, auf welche das Bild des dunklen Objektes fokussiert ist. Das Detail wird verloren, da die Sensoren nicht akkurat kleine prozentuale Unterschiede in dem schon geringen Betrag von empfangenem Licht identifizieren können. Da unterschiedliche Szenen besser aussehen bei unterschiedlichen Belichtungsdauern, passen Fotografen und automatische Kameras Belichtungsdauern an, um Beleuchtungsbedingungen anzupassen. Die mobilen Vorrichtungen einiger Ausführungsformen passen die Belichtungsdauern auch in Übereinstimmung mit den Beleuchtungsbedingungen der Szene an, die sie fotografieren. Lange Belichtungsdauern werden verwendet, um Details von dunklen Szenen aufzunehmen; kurze Belichtungsdauern werden verwendet, um Details von hellen Szenen aufzunehmen; und mittlere Belichtungsdauern nehmen die Details von Szenen auf, die zwischen hell und dunkel (Mitteltöne) sind.
    Jedoch, wenn eine Szene helle und dunkle Objekte sowie Mitteltonobjekte beinhaltet, wird eine Belichtungsdauer, die lang genug ist, um die Details des dunklen Objektes aufzunehmen, das helle Objekt in dem Bild sättigen lassen und das Mitteltonobjekt übermäßig hell lassen.
  • Eine Belichtungsdauer, die kurz genug ist, um die Details des hellen Objekts aufzunehmen, wird das dunkle Objekt hauptsächlich schwarz lassen und das Mitteltonobjekt zu dunkel. Eine Belichtungsdauer, die gerade richtig ist, um die Mitteltongegenstände aufzunehmen, wird die dunklen Objekte zu dunkel und die hellen Objekte zu hell lassen.
  • Um die Sättigung von hellen Objekten und wenig Details von dunklen Objekten zu vermeiden, nehmen einige Ausführungsformen drei Bilder mit unterschiedlichen Belichtungen (überbelichtet, unterbelichtet, und normal belichtet) auf und setzen die Bilder auf eine Weise zusammen, die die Details in jeder der Aufnahmen hervorhebt, die diese bestimmte Aufnahme gut aufnimmt. Das überbelichtete Bild zeigt gute Details in den dunklen Bereichen; deshalb wird die Zusammensetzung so gewichtet, dass Pixel von dem überbelichteten Bild verwendet werden, um Pixel in den dunklen Bereichen des Bildes zu erzeugen. Das unterbelichtete Bild zeigt gute Details in den hellen Bereichen; deshalb wird die Zusammensetzung so gewichtet, dass Pixel von dem unterbelichteten Bild verwendet werden, um Pixel in den hellen Bereichen des Bildes zu erzeugen. Das normal belichtete Bild zeigt gute Details in den Mitteltonbereichen; deshalb wird die Zusammensetzung so gewichtet, dass Pixel von dem normal belichteten Bild verwendet werden für die Mitteltonbereiche des Bildes.
  • Nach dem Ausrichten der Bilder, wie in Abschnitt IV gezeigt, führt das Bildverarbeitungsmodul einiger Ausführungsformen das Zusammensetzen der drei ausgerichteten Bilder aus, um ein zusammengesetztes HDR-Bild zu erzeugen. In einigen Ausführungsformen verwendet das Bildverarbeitungsmodul unterschiedliche Techniken, um die drei Bilder zusammenzusetzen. Einige Ausführungsformen setzen die drei Bilder zusammen durch das Ausführen von unterschiedlichen Sätzen von Operationen für einen Lumakanal dieser Bilder, als für die Chromakanäle dieser Bilder. In einigen Ausführungsformen sind die separaten Operationen auf den Chromakanalbildern dieselben wie oder ähnlich zu den Operationen auf den Lumabildern. Ebenfalls könnten einige Ausführungsformen beim Erzeugen des HDRzusammengesetzten Bildes Luma- und Chromawerte erzeugen, die einen gewünschten Bereich von Werten übersteigen. Weiterhin führen einige Ausführungsformen beim Erzeugen des HDR-Bildes gleichzeitig Skalierungsoperationen aus, um sicherzustellen, dass die Luma- und Chromawerte des HDR-Bildes innerhalb ihrer gewünschten Bereiche erzeugt werden. In einigen Ausführungsformen wird die Erzeugung eines finalen HDR-Bildes konzeptionell in HDR-Aufnahmeoperationen und HDR-Bearbeitungsoperationen aufgeteilt. In den HDR-Aufnahmeoperationen wird ein ursprüngliches HDR-Bild von mehreren Bildern erzeugt, die mit unterschiedlichen Belichtungszeiten aufgenommen sind. In den HDR- Bearbeitungsoperationen von einigen Ausführungsformen wird das ursprüngliche HDR-Bild durch eine oder mehrere Operationen angepasst, die Hervorheben der Schatten des Bildes, Abschwächen der Highlights des Bildes, Histogramm-Strecken des Bildes und Chromasättigung der Chromakomponenten des Bildes umfassen.
  • Um zu identifizieren, welche Bereiche jedes Bildes verwendet werden sollten, um die entsprechenden Bereiche eines zusammengesetzten Lumabildes zu erzeugen, erzeugen einige Ausführungsformen drei Masken. Die drei Masken entsprechen den drei Belichtungsniveaus. Um die Bereiche von jeder Aufnahme zu identifizieren, die in der Zusammensetzung zu verwenden sind, stellt jede Maske einen Gewichtungsfaktor für jeden Punkt ihrer entsprechenden Belichtung bereit. In einigen Ausführungsformen wird das normal belichtete Bild verwendet, um helle, dunkle und Mitteltonbereiche des Bildes zu identifizieren, um die drei Masken zu erzeugen. Ein zusammengesetztes Bild wird dann erzeugt, Pixel um Pixel, mit Hilfe der Masken als ein Gewichtungsfaktor für jeden Pixel. Ein hoher Wert in einer bestimmten Maske für einen bestimmten Pixel bedeutet, dass der Pixel in der Aufnahme, die zu der Maske korrespondiert, den entsprechenden Pixel in dem zusammengesetzten Bild stark beeinflussen wird. Ein niedriger Wert in einer bestimmten Maske für einen bestimmten Pixel bedeutet, dass der Pixel in der Aufnahme, die zu der Maske korrespondiert, den entsprechenden Pixel in dem zusammengesetzten Bild schwach beeinflussen wird. An den extremen Enden der Skala bedeutet ein Wert von 1 für einen bestimmten Pixel in einer Maske einer bestimmten Aufnahme, dass der Wert des entsprechenden Pixels in der Zusammensetzung vollständig von dem Wert des entsprechenden Pixels in dieser Aufnahme abhängen wird. Auf gleiche Weise bedeutet ein Wert von o für einen bestimmten Pixel in einer Maske von einer bestimmten Aufnahme, dass der Wert des entsprechenden Pixels in der Zusammensetzung überhaupt nicht von dem Wert des entsprechenden Pixels in dieser Aufnahme abhängen wird.
  • Während die Masken die individuellen Pixel gewichten, gewichten einige Ausführungsformen auch alle Pixel in jedem Bild mit einem Faktor, der die relativen Belichtungsdauern von jeder Aufnahme ausgleicht. In einigen Ausführungsformen werden die Belichtungsdauern, die in diesen Berechnungen verwendet werden, durch die Kamera der mobilen Vorrichtung bereitgestellt.
  • In einigen Ausführungsformen werden die Chromawerte der Bilder, um die Farbskala mit den Lumawerten richtig zu machen, ebenfalls mit einem ähnlichen Gewichtungsschema wie die Lumawerte zusammengesetzt. Das heißt, die Chromakanäle (Cb und Cr) der Aufnahmen werden mit denselben Masken und derselben Skalierung wie die Lumakanäle der Aufnahmen zusammengesetzt. Die Farben und die Mitteltöne des Bildes werden in solchen Ausführungsformen verbessert, entweder während des Zusammensetzens oder nach dem Zusammensetzen.
  • Zusammensetzen von Luma oder Luminanz
  • Die mobilen Vorrichtungen einiger Ausführungsformen erzeugen HDR-Bilder durch ein Zusammensetzen von mehreren Bildern, die mit unterschiedlichen Belichtungsdauern aufgenommen sind. Das Zusammensetzen von Bildern erzeugt, in einigen Ausführungsformen, ein Bild, in welchem der Wert von jedem Pixel ein gewichteter Mittelwert der Werte von entsprechenden Pixeln in jedem der drei Bilder ist. In einigen Ausführungsformen ist die Zusammensetzung ein gewichteter Mittelwert von Lumakomponenten der Bilder. In einigen Ausführungsformen ist die Zusammensetzung ein gewichteter Mittelwert von Luminanzkomponenten der Bilder. Das bedeutet, dass verschiedene Ausführungsformen Bilder in verschiedenen unterschiedlichen Bildformaten zusammensetzen. Einige Ausführungsformen führen alle Operationen auf Bildern in einem Luma (Y') Format aus. In anderen Ausführungsformen werden alle Operationen auf Bildern in einem Luminanz (Y) Format ausgeführt. In weiter anderen Ausführungsformen beginnen die mobilen Vorrichtungen mit Bildern in einem Luma (Y') Format und wandeln die Luma (Y') Komponenten zu Luminanz (Y) Komponenten um, führen dann Operationen auf den Luminanz (Y) Komponenten aus. Nachdem Luminanzbilder zusammengesetzt sind, wandeln die mobilen Vorrichtungen einiger Ausführungsformen die resultierenden zusammengesetzten Bilder von Luminanz (Y) nach Luma (Y'). Die folgende Beschreibung identifiziert einige Stellen in dem Zusammensetzungsverfahren, wo solche Umwandlungen stattfinden können; jedoch wird der Fachmann verstehen, dass die Umwandlungen in anderen Ausführungsformen während anderen Abschnitten des Verfahrens stattfinden können.
    12 stellt ein Verfahren 1200 zum Zusammensetzen der Lumakanalbilder von drei unterschiedlichen Aufnahmen derselben Szene und Anpassen verschiedener Lumawerte des resultierenden zusammengesetzten Bildes dar. Das Verfahren 1200 wird jedes Mal ausgeführt, wenn das Zusammensetzungsmodul 120 drei (in einigen Ausführungsformen zusammengeschnittene) Bilder von dem Ausrichtungsmodul 115 empfängt. Dieses Verfahren wird mit Bezug auf 13A beschrieben, welche ein Beispiel des Ausführens des Verfahrens 1200 auf einer bestimmten Szene darstellt. Das Verfahren 1200 wird mit Bezug auf Gegenstände in der 13A beschrieben, jedoch wird der Fachmann verstehen, dass dieses zum Zwecke der Erklärung ist und dass die Berechnungen nicht auf die bestimmte Szene in dieser Figur beschränkt sind.
  • Die Szene in 13A ist ein Auto, das auf einer Bergstraße steht. Die Szene beinhaltet einen hellen Himmel und Hintergrund-beleuchtete Berge, die dunkel sind, sowie ein Auto und eine Straße, die im Mitteltonbereich sind. 13A beinhaltet drei Bilder (z.B. Farbbilder), die mit unterschiedlichen Belichtungen 1310A-1310C aufgenommen sind. Die Lumakanalbilder (manchmal als Lumabilder bezeichnet) 1320A-1320C von jedem der Bilder, Masken 1330A-1330C, zusammengesetzte Lumabilder 1340, Gauß-weichgezeichnete Zusammensetzungen 1350, Bild 1360A mit abgeschwächten Highlights und Bild 1360B mit Schattenkorrektur, zusammengesetztes Bild 1370 und finales Lumabild 1380. Diese drei Bilder, die bei unterschiedlichen Belichtungen aufgenommen sind, 1310A-1310C, repräsentieren die Farbbilder, die mit unterschiedlichen Belichtungsniveaus aufgenommen sind. Das Bild 1310A ist das unterbelichtete Bild, 1310B ist das normal belichtete Bild, und 1310C ist das überbelichtete Bild. In einigen Ausführungsformen wird das Bild 1310A ¼-mal so lang wie Bild 1310B belichtet, und das Bild 1310C wird viermal so lang wie das Bild 1310B belichtet. Die Belichtungszeitverhältnisse können andere Zahlen als 4 sein in derselben Ausführungsform oder in anderen Ausführungsformen. Die Lumakanalbilder 1320A-1320C repräsentieren nur die Lumainformation der Farbbilder 1310A-1310C. In einigen Ausführungsformen werden die Lumakanaldaten separat von Chromakanaldaten bereitgestellt, während in anderen Ausführungsformen die Lumakanaldaten von den Farbbildern extrahiert werden.
    Wie mit Bezug auf 1 beschrieben, erzeugt die mobile Vorrichtung einiger Ausführungsformen die drei Bilder (z.B. 1310A-1310C) unter Verwendung von unterschiedlichen Belichtungsdauern für jedes Bild. In einigen Ausführungsformen werden die Belichtungsdauern mittels der Belichtungswertkompensation (Exposure Value Compensation, EV) gemessen. Für eine gegebene Blende einer Kamera auf einer mobilen Vorrichtung ist der Betrag der Belichtungsdauer proportional zu zwei hoch EV. Zum Beispiel erhöht ein EV von 3 die Belichtungsdauer um einen Faktor von 8. In einigen Ausführungsformen wird das überbelichtete Bild, bezogen auf das normal belichtete Bild mit einem EV von +2 aufgenommen und das unterbelichtete Bild wird mit einem EV von -2 aufgenommen. In solchen Ausführungsformen wird das überbelichtete Bild viermal so lang wie das normal belichtete Bild belichtet und das unterbelichtete Bild wird ¼-mal so lang wie das normal belichtete Bild belichtet. Verschiedene Ausführungsformen verwenden unterschiedliche EV-Werte als plus oder minus 2. Einige Ausführungsformen passen EVs für unterschiedliche Beleuchtungsbedingungen an. Zum Beispiel bestimmen einige Ausführungsformen, welche Belichtungswerte verwendet werden sollen, basierend auf einem Histogramm des normal belichteten Bildes (z.B. ein Histogramm, das von einem normal belichteten Vorschaubild erzeugt wird). Einige solcher Ausführungsformen behalten eine konstante Differenz zwischen dem EV+ Wert und dem EV- Wert bei. In einigen Ausführungsformen kann die EV der Überbelichtung einen unterschiedlichen Betrag von der EV der Unterbelichtung haben in einigen Beleuchtungsbedingungen. Zum Beispiel verwenden einige Ausführungsformen EV -3 und EV +1 für das unterbelichtete beziehungsweise überbelichtete Bild in sehr hellen Szenen. Einige Ausführungsformen verwenden EV -1 und EV +3 für das unterbelichtete beziehungsweise überbelichtete Bild in sehr dunklen Szenen.
    Das Zusammensetzungsverfahren 1200 von 12 führt zu Beginn die HDR- Aufnahmeoperationen aus, beginnend mit drei Lumabildern, die mit unterschiedlichen Belichtungsdauern aufgenommen sind (z.B. Lumabilder 1320A-1320C). Das Verfahren erzeugt (bei 1210) drei Masken, die den drei Lumabildern 1320A-1320C entsprechen, von dem normal belichteten Lumabild 1320B. Das normal belichtete Lumabild 1320B wird verwendet, um zu identifizieren, welche Teile der Szene, die fotografiert wird, hell sind, welche Teile im Mitteltonbereich liegen, und welche Teile der Szene dunkel sind. In 13A beinhalten die hellen Bereiche des normal belichteten Lumabildes 1320B den Himmel und die Räder des Autos, die dunklen Bereiche beinhalten die Berge und die Mitteltonbereiche beinhalten den Körper des Autos und die Straße. Die Masken sind ein Satz von Gewichtungen zum Zusammensetzen der Pixel. In einigen Ausführungsformen hat jede Maske dieselbe Auflösung wie die zu zusammensetzenden Bilder. Die Masken können als ein Bild repräsentiert werden und es ist bequem, die Werte in einer Maske als Pixelwerte zu beschreiben, jedoch sind die Daten in den Masken zur Verwendung in Zusammensetzungsberechnungen bestimmt, nicht primär zur visuellen Anzeige.
  • Die drei Masken entsprechen den drei Lumabildern 1320A-1320C. Das unterbelichtete Lumabild 1320A stellt die besten Details in hellen Bereichen dar. Deshalb hat die Maske 1330A für das unterbelichtete Lumabild 1320A hohe Werte für Pixel, die hellen Pixeln entsprechen in dem normal belichteten Lumabild 1320B, und niedrige Werte für Pixel, die zu mittleren und dunklen Pixeln in dem normal belichteten Lumabild 1320B korrespondieren. Das überbelichtete Lumabild 1320C stellt die besten Details in dunklen Bereichen dar. Deshalb hat die Maske 1330C für das überbelichtete Lumabild 1320C hohe Werte für Pixel, die dunklen Pixeln in dem normal belichteten Lumabild 1320B entsprechen, und niedrige Werte für Pixel, die mittleren und hellen Pixeln in dem normal belichteten Lumabild 1320B entsprechen. Das normal belichtete Lumabild 1320B stellt die besten Details in Mitteltonbereichen dar. Deshalb hat die Maske 1330B für das normal belichtete Lumabild 1320B hohe Werte für Pixel, die Mitteltonpixeln in dem normal belichteten Lumabild 1320B entsprechen, und niedrige Werte für Pixel, die hellen und dunklen Pixeln in dem normal belichteten Lumabild 1320B entsprechen.
  • Einige Ausführungsformen stellen Masken mit einem Bereich an Werten bereit, um die Pixel von unterschiedlichen Lumabildern 1320A-1320C übereinander zu blenden, anstelle des Verwendens von separaten Pixeln für jedes Bild. Je höher der Wert eines Pixels in einer Maske ist, desto mehr Einfluss hat der entsprechende Pixel in dem entsprechenden Bild auf den Wert des entsprechenden Pixels in dem zusammengesetzten Bild. Um die Identifikation der Bereiche von jedem Bild zu vereinfachen, haben die Masken 1330A-1330C nur schwarze Bereiche und weiße Bereiche in 13A. Jedoch würde eine visuelle Repräsentation der Masken einiger Ausführungsformen graue Pixel umfassen. Solche grauen Pixel würden Pixel repräsentieren, die den Wert des entsprechenden Pixels in dem zusammengesetzten Bild beeinflussen, aber nicht komplett bestimmen.
    Die folgenden Gleichungen (1)-(3) werden in einigen Ausführungsformen verwendet, um die Masken zu erzeugen. Diese Gleichungen resultieren in drei Kurven, basierend auf hyperbolischen Tangenten, die drei Sätze an Gewichtungsfaktoren bereitstellen, die einen ursprünglichen Bias bereitstellen zum Zusammensetzen des HDR-Bildes durch das Nehmen von Details von dunklen Bereichen von dem überbelichteten Bild, das Nehmen von Details von hellen Bereichen von dem unterbelichteten Bild, und das Nehmen von Details von Mitteltönen von dem normal belichteten Bild, wie oben ausgeführt. Statt dem Verwenden von Gleichungen/Kurven basierend auf hyperbolischen Tangenten verwenden andere Ausführungsformen andere Typen von sigmoidalen oder anderen nichtlinearen Funktionen/Kurven, um die Maskierungswerte zu spezifizieren, die verwendet werden zum selektiven Gewichten der Bilder, um ein zusammengesetztes Bild zu erzeugen.
  • Die Gleichungen hierin folgen einer Konvention, dass jede Variable durch einen einzigen großen Buchstaben repräsentiert wird, in manchen Fällen folgt dem Großbuchstaben ein einziger Kleinbuchstabe, insbesondere, wenn Variablen, die derselben Funktion für unterschiedliche Masken oder Bilder dienen, verwendet werden. Variablen, die unterschiedliche Werte für unterschiedliche individuelle Pixel in den Bildern haben, werden durch ein [x,y] bezeichnet, die den Anfangsbuchstaben folgen, um anzuzeigen, dass ihr Wert in der Gleichung auf einer pro-Pixel-Basis bestimmt wird, wobei x und y die Koordinaten von dem Pixel in dem Bild repräsentieren. Die Variablen mit unterschiedlichen Werten für unterschiedliche Pixel werden für jeden Pixel über den gesamten Bereich von Pixeln in dem Bild berechnet. Die Gleichungen werden mit Bezug auf Gegenstände in der 13A erklärt, jedoch wird der Fachmann verstehen, dass dies zum Zwecke der Erklärung ist und dass die Berechnungen nicht auf die bestimmte Szene in dieser Figur beschränkt sind.
  • In einigen Ausführungsformen werden die Werte für die Pixel in den Masken 1330A-1330C mit Hilfe der folgenden Gleichungen erzeugt: Mb [ x ,y ] = 0,5 * ( tanh ( Sb* ( Ln [ x ,y ] Tb ) ) + 1 )
    Figure DE102011078662B4_0001
    Mu [ x ,y ] = 0,5 * ( tanh ( Su* ( Ln [ x ,y ] Tu ) ) + 1 )
    Figure DE102011078662B4_0002
    Mn [ x ,y ] = 1 Mb [ x ,y ] Mu [ x ,y ]
    Figure DE102011078662B4_0003
  • In Gleichung (1), repräsentiert Mb[x,y] den Wert der überbelichteten Maske 1330C an den Koordinaten [x,y] und ist eine Funktion des Lumawertes Ln[x,y] des entsprechenden Pixels des normal belichteten Lumabildes 1320B. Tb ist ein Schwellwertlumawert für das überbelichtete Bild. Sb beeinflusst die Steigung der Funktion. In jeder Gleichung, in welcher es hierin erscheint, ist tanh der hyperbolische Tangens. Anstelle des Ausführens einer tanh Berechnung in Echtzeit verwenden einige Ausführungsformen eine Nachschlagetabelle, um Werte zu identifizieren, die durch tanh für eine gegebene Eingabe erzeugt werden. Einige Ausführungsformen verwenden Nachschlagetabellen anstelle von anderen Berechnungen anstelle von oder zusätzlich zu tanh.
  • In Gleichung (2) repräsentiert Mu[x,y] den Wert der unterbelichteten Maske 1330A bei Koordinaten [x,y]. Wie Mb[x,y] ist es auch eine Funktion des Lumawertes Ln[x,y] des entsprechenden Pixels des normal belichteten Lumabildes 1320B. Tu ist ein Schwellwertlumawert für das unterbelichtete Bild. Su beeinflusst die Steigung der Funktion. In Gleichung (3) repräsentiert Mn[x,y] den Wert der Maske 1330B für die normal belichtete Maske bei Koordinaten [x,y].
  • Der Zweck der Überbelichtungsmaske 1330C ist es, den Einfluss der Pixel in dunklen Bereichen zu erhöhen (wo das überbelichtete Lumabild 1320C gute Details bereitstellt) und den Einfluss der Pixel in hellen Bereichen (wo das überbelichtete Lumabild 1320C höchstwahrscheinlich gesättigt ist) zu verringern. Demgemäß ist die Gewichtung eines Pixels von dem überbelichteten Lumabild 1320C in Gleichung 1 eine glatte, fallende Funktion des Lumawertes des entsprechenden Pixels in dem normal belichteten Lumabild 1320B. Sb hat ein negatives Zeichen vor sich, was anzeigt, dass positive Werte von Sb, wie sie in manchen Ausführungsformen verwendet werden, in einer Funktion resultieren, die mit dem Lumawert fällt. Für einen positiven Wert von Sb gilt, je heller ein Pixel in dem normal belichteten Lumabild 1320B ist, desto weniger Gewicht wird dem entsprechenden Pixel in dem überbelichteten Bild gegeben, beim Erzeugen des zusammengesetzten Bildes.
  • Wie oben bemerkt, ist Tb ein Schwellwertlumawert für das überbelichtete Bild. Wenn ein Pixel in dem normal belichteten Lumabild 1320B einen Wert unter Tb (dunkler als der Schwellwert) hat, hat der entsprechende Pixel der Überbelichtungsmaske 1330C einen Wert von mehr als ½. Wenn ein Pixel in dem normal belichteten Lumabild 1320B einen Wert von Tb (beim Schwellwert) hat, hat der entsprechende Pixel der Überbelichtungsmaske 1330C einen Wert von ½. Wenn ein Pixel in dem normal belichteten Lumabild 1320B einen Wert über Tb (heller als der Schwellwert) hat, hat der entsprechende Pixel der Überbelichtungsmaske 1330C einen Wert von weniger als ½. In einigen Ausführungsformen wird der Wert von Tb bestimmt durch das Teilen von 0,015 durch den Medianwert des Lumas der Pixel in dem normal belichteten Lumabild 1320B. Zum Beispiel, wenn der Medianwert für die Lumas der Pixel in dem normal belichteten Lumabild 1320B 0,1 ist, dann würde der Wert von Tb 0,15 sein. In einigen Ausführungsformen wird der Wert von Tb bestimmt durch das Teilen von 0,02 (oder einem anderen Wert) durch den Medianwert des Lumas der Pixel in dem normal belichteten Lumabild 1320B. Einige Ausführungsformen haben verschiedene Arten des Berechnens von Tb abhängig von Eigenschaften der Bilder. Zum Beispiel berechnen einige Ausführungsformen Tb basierend auf dem Durchschnitts- (Mittelwert-) Luma von einem Lumabild (z.B. 1320B) anstelle von dem Medianluma.
  • Sb bestimmt, wie schnell die Funktion Mb [x,y] sich um den Schwellwert Tb herum ändert. Ein sehr hoher Wert für Sb resultiert in einer schnellen Änderung. Für einen hohen Wert von Sb werden Pixel in dem normal belichteten Lumabild 1320B mit einem Lumawert gerade oberhalb des Schwellwertes Tb in einem entsprechenden Pixel in der Maske 1330C resultieren, das einen sehr niedrigen Wert hat. Der niedrige Wert des Pixels in der Maske bedeutet, dass der entsprechende Pixel in dem überbelichteten Lumabild 1320C nahezu keinen Einfluss auf den Wert des entsprechenden Pixels des zusammengesetzten Bildes 1340 hat. Pixel in dem normal belichteten Lumabild 1320B mit einem Lumawert gerade unterhalb des Schwellwertes werden in dem korrespondierenden Pixel in der Maske 1330 resultieren, der einen sehr hohen Wert hat (mit einem Maximum von 1). Der Wert des entsprechenden Pixels in dem überbelichteten Lumabild 1320C wird fast vollständig den Wert des entsprechenden Pixels in dem zusammengesetzten Bild 1340 bestimmen. Im Gegensatz dazu wird ein niedriger Wert von Sb in einem allmählichen Umschalten des Einflusses resultieren beim Kreuzen des Schwellwertes. Für einen niedrigen Wert von Sb werden Pixel in dem normal belichteten Lumabild 1320B mit einem Lumawert gerade unterhalb des Schwellwertes in dem korrespondierenden Pixel in der Maske 1330C resultieren, der gerade mehr als 50% Einfluss auf den entsprechenden Pixel in dem zusammengesetzten Bild 1340 hat. Für einen niedrigen Wert von Sb werden Pixel in dem normal belichteten Lumabild 1320B mit einem Lumawert gerade oberhalb des Schwellwertes in dem entsprechenden Pixel in der Maske 1330C resultieren, der gerade weniger als 50% Einfluss auf den entsprechenden Pixel in dem zusammengesetzten Bild 1340 hat. In einigen Ausführungsformen ist der Wert von Sb 10.
  • Der Zweck der unterbelichteten Maske 1330A ist es, den Einfluss der Pixel in hellen Bereichen (wo das unterbelichtete Lumabild 1320A gute Details bereitstellt) zu erhöhen und den Einfluss der Pixel in dunklen Bereichen (wo das unterbelichtete Lumabild 1320A höchstwahrscheinlich zu dunkel ist, um Details zu zeigen) zu verringern. Demgemäß sollten in Gleichung (2) die Werte der Pixel in der Unterbelichtungsmaske 1330A eine steigende Funktion des Lumawertes des entsprechenden Pixels in dem normal belichteten Lumabild 1320B sein. Der Steigungsbestimmer Su hat kein minus vor sich, deshalb resultieren positive Werte von Su in einer positiven Funktion von Luma. Der Schwellwert Tu in Gleichung (2) unterscheidet sich von dem Schwellwert Tb in Gleichung (1). In einigen Ausführungsformen wird der Wert von Tu bestimmt durch das Multiplizieren des Medianlumawertes des normal belichteten Lumabildes 1320B mit 6 (oder einem anderen Wert). In einigen Ausführungsformen, wenn das Produkt des Medianlumawertes und der Faktor (z.B. 6) größer ist als 1, wird der Wert von Tu auf 1 gesetzt. Einige Ausführungsformen haben unterschiedliche Arten, Tu zu berechnen, abhängig von Eigenschaften des Bildes. Ähnlich wie für den Fall von Sb, bestimmt der Betrag von Su, wie schnell der Einfluss (auf das zusammengesetzte Bild 1340) von Pixeln des unterbelichteten Lumabildes 1320A sich ändert, als eine Funktion des Lumawertes des entsprechenden Pixels in dem normal belichteten Lumabild 1320B. Ein hoher Wert für Su stellt eine schnelle Änderung von keinem Einfluss zu großem Einfluss bereit, wenn der Lumawert der Pixel des normal belichteten Lumabildes 1320B von unterhalb des Schwellwertes Tu nach oberhalb des Schwellwertes läuft. Ein niedriger Wert für Su stellt eine graduelle Änderung von keinem Einfluss zu großem Einfluss bereit, wenn der Lumawert der Pixel des normal belichteten Lumabildes 1320B von unterhalb des Schwellwertes Tu nach oberhalb des Schwellwertes läuft.
  • Die Pixel der Normalbelichtungsmaske 1330B haben einen Wert von 1 minus dem Wert der entsprechenden Pixel in den anderen Masken 1330A und 1330C. Die normale Belichtungsmaske 1330B hat höhere Werte, wo beide der anderen Masken niedrigere Werte haben, und niedrigere Werte, wo eine der anderen Masken (oder ihre Summe) höhere Werte haben. Zum Beispiel, angenommen, der Su Wert ist gleich dem Sb Wert, der verwendet wird, um die anderen Masken zu erzeugen, dann sind die kombinierten Werte von den anderen zwei Masken am niedrigsten für Pixel bei dem Durchschnittswert von Tb und Tu. Deshalb hat die Normalbelichtungsmaske 1330B ihren höchsten Wert für Pixel, die Pixeln in dem normal belichteten Lumabild 1320B mit Lumawerten beim Mittelwert von Tb und Tu entsprechen.
  • Eine visuelle Repräsentation einer Maske, die einen graduellen Übergang hat (z.B. mit einem niedrigen Betrag von Su oder Sb) von einer Maske, die den Wert eines Pixels dominiert, zu einer anderen Maske, die den Wert des Pixels dominiert, hätte graue Bereiche, die Bereichen der Zusammensetzung entsprechen, die teilweise durch eine Maske und teilweise durch eine andere Maske beeinflusst wären. Im Gegensatz dazu hätte eine visuelle Repräsentation einer Maske, die abrupte Übergänge hat (z.B. mit einem hohen Betrag von Su oder Sb) von einer Maske zu einer anderen, fast vollständig schwarze Pixel und weiße Pixel, mit wenigen grauen Pixeln (wenn überhaupt). Die Masken 1330A-1330C werden erzeugt mit Hilfe sehr hoher Werte von Su und Sb, deshalb haben sie keine grauen Pixel. Ein Pixel in dem normal belichteten Lumabild 1320B, der ein bisschen dunkler als der Schwellwert Tb ist, resultiert in einem weißen Pixel in der Überbelichtungsmaske 1330C. Ein Pixel in dem normal belichteten Lumabild 1320B, der ein bisschen heller als der Schwellwert Tb ist, resultiert in einem schwarzen Pixel in der Überbelichtungsmaske 1330C. Ein Pixel in dem normal belichteten Lumabild 1320B, der ein bisschen dunkler als der Schwellwert Tu ist, resultiert in einem schwarzen Pixel in der Unterbelichtungsmaske 1330A. Ein Pixel in dem normal belichteten Lumabild 1320B, der ein bisschen heller als der Schwellwert Tu ist, resultiert in einem weißen Pixel in der Überbelichtungsmaske 1330A. Ein Pixel in dem normal belichteten Lumabild 1320B, der zwischen den Schwellwerten Tu und Tb ist, resultiert in einem weißen Pixel in der Normalbelichtungsmaske 1330B. Ein Pixel in dem normal belichteten Lumabild 1320B, der nicht zwischen den Schwellwerten Tu und Tb ist, resultiert in einem schwarzen Pixel in der Normalbelichtungsmaske 1330B. In Summe stellt die Unterbelichtungsmaske 1330A die gesamte Gewichtung (in der Zusammensetzung) der hellen Pixel bereit, die Normalbelichtungsmaske 1330 B stellt die gesamte Gewichtung der Mitteltonpixel bereit und die Überbelichtungsmaske stellt die gesamte Gewichtung der dunklen Pixel bereit. Die extremen Abschneidungen in den Masken 1330A-1330C werden bereitgestellt, weil diese es einfach machen, die verschiedenen Bereiche von hoher und niedriger Gewichtung in einer schwarzen und weißen Figur zu identifizieren. Jedoch würden in einigen Ausführungsformen mit niedrigeren Werten von Sb und Su die entsprechenden Masken einen Bereich an Werten umfassen. Visuell beschrieben würden die Masken graue Bereiche umfassen, die einen geteilten Einfluss auf das Luma der Pixel in der Zusammensetzung repräsentieren.
  • Um eine Überbelichtungsbildmaske zu erzeugen, passen einige Ausführungsformen den Schwellwert Lumawert Tb von dem oben beschriebenen Wert an. Einige Ausführungsformen passen den Schwellwert Lumawert Tb an, weil das Signal-zu-Rausch-Verhältnis des überbelichteten Bildes sich mit steigender Belichtungsdauer verringert (z. B. verursachen längere Belichtungsdauern mehr Rauschen in dem Bild). Demgemäß, um das Rauschen in dem zusammengesetzten Bild zu verringern, passen einige Ausführungsformen den Schwellwert Lumawert Tb an, um weniger des überbelichteten Bildes in der finalen Zusammensetzung zu erfassen. In einigen Ausführungsformen wird die folgende Gleichung verwendet, um den Schwellwert anzupassen: Tb = Tb*0 .5* ( tanh ( 4 * ( Fb Ft ) ) + 1 )
    Figure DE102011078662B4_0004
  • In Gleichung (4) ist das erste Tb der Schwellwert Lumawert nach der Anpassung; das zweite Tb ist der Schwellwert Lumawert vor der Anpassung. Fb ist das Signal-zu-Rausch-Verhältnis in Dezibel (dB) des überbelichteten Bildes. Ft ist ein Schwellwert Signal-zu-Rausch-Verhältnis. Signal-zu-Rausch-Verhältnisse über dem Ft-Schwellwert erhöhen das Schwellwert-Luma des überbelichteten Bildes, was die Anzahl von Pixeln in dem überbelichteten Bild erhöht, die einen hohen Einfluss auf das zusammengesetzte Bild 1340 haben. In einigen Ausführungsformen ist Ft 24 dB. Während der Kalibrierung der mobilen Vorrichtung (oder eines Prototyps der mobilen Vorrichtung) wird in einigen Ausführungsformen das Signal-zu-Rausch-Verhältnis für eine Serie von Lichtniveaus gemessen (z. B. fünf Lichtniveaus). Diese gemessenen Signal-zu-Rausch-Verhältnisse werden verwendet, um das Signal-zu-Rausch-Verhältnis für ein gegebenes Bild zu bestimmen. In einigen Ausführungsformen wird die Kalibrierung auf jeder mobilen Vorrichtung ausgeführt. In anderen Ausführungsformen wird die Kalibrierung auf einem Testgerät (eines oder mehrere) der mobilen Vorrichtung ausgeführt, um die Kalibrierungspunkte für diesen Typ der mobilen Vorrichtung zu bestimmen, diese Kalibrierungspunkte werden dann für andere mobile Vorrichtung desselben Typs verwendet. Einige Ausführungsformen haben Standardkalibrierungspunkte, aber erlauben, dass neue Kalibrierungspunkte für eine bestimmte mobile Vorrichtung berechnet werden. Das Lichtniveau eines bestimmten Bildes wird durch die mobile Vorrichtung bestimmt, wenn das Bild aufgenommen wird. In Ausführungsformen mit einer kalibrierten mobilen Vorrichtung, basierend auf dem Lichtniveau wird das Signal-zu-Rausch-Verhältnis des Bildes von dem Signal-zu-Rausch-Verhältnis der Kalibrierungspunkte interpoliert.
  • In einigen Ausführungsformen kann das Maskieren basierend auf individuellen Pixeln in einem Verlust von Kontrast resultieren. Mehr Details werden beibehalten, wenn Pixel, die nicht mit Pixeln in der Nähe übereinstimmen (helle Pixel in ansonsten dunklen Bereichen, usw.), stärker durch die Bilder, die die meisten Details für diesen Bereich bereitstellen, beeinflusst werden, anstelle des Bildes, das das beste Detail für diesen Pixelwert bereitstellt. Zum Beispiel wäre in solchen Ausführungsformen der zusammengesetzte Wert für einen dunklen Pixel in einem hellen Hintergrund am meisten durch den entsprechenden Pixel des unterbelichteten Bildes beeinflusst, das besser ist zum Bereitstellen von Details für helle Pixel (wie der Hintergrund) anstelle des überbelichteten Bildes, welches besser ist zum Bereitstellen von Details für dunkle Pixel. Weiterhin kann ein Zusammensetzen ohne Weichzeichnen der Maske zu Hochfrequenzübergängen in der Zusammensetzung führen zwischen Pixeln, die von unterschiedlichen Aufnahmen abgeleitet werden, weil die Gewichte räumlich nicht glatt sind. Deshalb weichzeichnen einige Ausführungsformen die Masken, um Hochfrequenzübergänge in der Zusammensetzung zu reduzieren durch das räumliche Glätten der Gewichte zusätzlich oder anstelle des Weichzeichnens der Masken, um Kontrast an den Grenzen zwischen hellen und dunklen Bereichen zu verbessern. Deshalb passt das Verfahren 1200 in einigen Ausführungsformen (bei 1215) die Masken an, um den Kontrast an den Grenzen zwischen hellen und dunklen Bereichen zu verbessern und/oder um Hochfrequenzübergänge in der Zusammensetzung zu verringern. Demgemäß werden die Masken von einigen Ausführungsformen weichgezeichnet vor dem Anwenden als Gewichtungen für das zusammengesetzte Bild 1340. In einigen solchen Ausführungsformen werden die Masken weichgezeichnet mithilfe einer Gleichung wie: Mb [ x ,y ] = filter ( Mb [ x ,y ] ,  k )
    Figure DE102011078662B4_0005
    Mu [ x ,y ] = filter ( Mu [ x ,y ] ,  k )
    Figure DE102011078662B4_0006
  • In Gleichung (5) repräsentiert das erste Mb[x,y] die Maske, nachdem der Weichzeichnungsfilter angewandt wird, das zweite Mb[x,y] repräsentiert die Maske bevor der Weichzeichnungsfilter angewandt wird. Der Filter in Gleichung (5) und (6) ist eine 2D-Filteroperation mithilfe eines Filters k. Das Element k ist ein 2D Gaußscher Filterkernel. In einigen Ausführungsformen wird ein 7×7 oder ein 9×9-Filterkernel verwendet mit einer Pixelvarianz von 3. In Gleichung (6) repräsentiert das erste Mu[x,y] die Maske, nachdem der Weichzeichnungsfilter angewandt wurde; das zweite Mu[x,y] repräsentiert die Maske, bevor der Weichzeichnungsfilter angewandt wird.
  • Die Größe des Filterkernels (k) kann die Resultate der Weichzeichnungsoperation beeinflussen. Große Werte von k können in großen Halo-Effekten resultieren aber kleine Werte von k können in einem Verlust von Kontrast innerhalb eines Bereiches resultieren. Das Weichzeichnen stellt sicher, dass die Masken Gewichte bereitstellen, basierend auf der Helligkeit des Bereiches, in dem sich ein Pixel befindet, anstelle des Bereitstellens von Gewichten basierend auf der Helligkeit des individuellen Pixels. In einigen Ausführungsformen verbessert dies den Kontrast innerhalb von Bereichen, die Pixel von mehreren Bereichen haben (dunkel, Mittelton und/oder hell). Die Gleichungen (5) und (6) werden ausgeführt vor der Gleichung (3), in einigen Ausführungsformen, so dass die Normalbelichtungsmaske 1330B von den weichgezeichneten Masken erzeugt wird, die durch Gleichungen (5) und (6) erzeugt werden, anstelle durch die Masken, die durch die Gleichungen (1) und (2) erzeugt wurden.
  • Die obige Beschreibung von Maskenerzeugung beschreibt die Erzeugung von Masken mithilfe von Daten von einem normal belichteten Lumabild 1320B, aber nicht der anderen Lumabilder 1320A und 1320C. Jedoch kann das Verwenden des normal belichteten Lumabildes 1320B, um alle drei Masken 1330A - 1330C zu erzeugen, zu Situationen führen, in denen überlastete (z. B. gesättigte Bereiche) von dem überbelichteten Bild verwendet werden. Es kann auch zu Situationen führen, in denen Bereiche des unterbelichteten Bildes, die zu dunkel sind, verwendet werden. Deshalb werden in einigen Ausführungsformen Masken von Lumabildern erzeugt, die Lumawerte von dem überbelichteten und dem unterbelichteten Bild verwenden anstelle von oder zusätzlich zu Lumawerten von dem normalen Bild. 13B zeigt ein Beispiel des Ausführens des Verfahrens 1200 und Erzeugens von Masken 1330A- 1330C von jedem Bild. In 13B wird die unterbelichtete Maske 1330A von dem unterbelichteten Lumabild 1320A erzeugt, die überbelichtete Maske 1330C wird von dem überbelichteten Lumabild 1320C und die Normalbelichtungsmaske 1330B wird von dem überbelichteten Lumabild 1320C und unterbelichteten Lumabild 1320A erzeugt. Obwohl 13B die Normalbelichtungsmaske als mithilfe des unterbelichteten Lumabildes 1320A und des überbelichteten Lumabildes 1320C erzeugt zeigt, wird in manchen Ausführungsformen die Normalbelichtungsmaske 1330B von der Unterbelichtungsmaske 1320A und der Überbelichtungsmaske 1320C erzeugt mithilfe der Gleichung (3). In einigen Ausführungsformen wird die Normalbelichtungsmaske 1330B von der Unterbelichtungsmaske 1320A und der Überbelichtungsmaske 1320C erzeugt, nachdem die Unterbelichtungsmaske 1320A und die Überbelichtungsmaske 1320C unscharf gemacht wurden.
  • In einigen Ausführungsformen, die Masken von den unterbelichteten und überbelichteten Bildern erzeugen, werden die Masken mit zu Gleichungen (1)-(6) ähnlichen Gleichungen erzeugt, aber die Lumawerte (Lb[x,y]) von den überbelichteten Bildern ersetzen die Ln[x,y] für die Überbelichtungsmaske, die Lumawerte (Lu[x,y]) von dem unterbelichteten Bild ersetzen die Ln[x,y] für die Unterbelichtungsmaske und die Schwellwerte werden entsprechend angepasst. In einigen solcher Ausführungsformen werden die Schwellwertwerte zum Berechnen der Überbelichtungs- und Unterbelichtungsmasken von den Median-Lumawerten der entsprechenden Bilder abgeleitet. In einigen Ausführungsformen werden die Schwellwertwerte von dem Median-Lumawert des normal belichteten Bildes abgeleitet (z. B. auf dieselbe Art wie in den oben beschriebenen Ausführungsformen, die Masken von dem normal belichteten Bild erzeugen). In einigen Ausführungsformen werden die Schwellwertwerte auf Standardwerte von 0,4 für Tb (für die Überbelichtungsmaske) und 0,5 für Tu (für die Unterbelichtungsmaske) gesetzt. In weiteren anderen Ausführungsformen werden die Schwellwertwerte auf Standardwerte von 0,5 für Tb (für die Überbelichtungsmaske) und 0,5 für Tu (für die Unterbelichtungsmaske) gesetzt.
  • Nachdem das Verfahren 1200 (bei 1210) die Masken erzeugt hat (z. B. Masken 1330A-1330C), erzeugt das Verfahren (bei 1220) ein zusammengesetztes Lumabild (z. B. Lumabild 1340), welches Details umfasst, die von jeder individuellen Lumaaufnahme genommen sind (z. B. 1320A-1320C). In dem zusammengesetzten Lumabild 1340 sind alle Details von dem Autokörper und der Straße des normal belichteten Lumabildes 1320B vorhanden, alle Details von den Bergen des überbelichteten Lumabildes 1320C vorhanden und alle Details von dem Himmel und Rädern des unterbelichteten Lumabildes 1320A vorhanden. In einigen Ausführungsformen werden die Lumabilder 1330A-1330C mithilfe der folgenden Gleichung zusammengesetzt: Lc [ x ,y ] = Eb*Lb [ x ,y ] * Mb [ x ,y ] +  En*Ln [ x ,y ] * Mn [ x ,y ] +  Eu*Lu [ x ,y ] * Mu [ x ,y ]
    Figure DE102011078662B4_0007
  • In Gleichung (7A) ist Lc[x,y] der Lumawert für den Pixel an den Koordinaten [x,y] in dem zusammengesetzten Bild 1340. Lb[x,y] ist der Lumawert für den Pixel an den Koordinaten [x,y] in dem überbelichteten (hellen) Lumabild 1320C. Ln[x,y] und Lu[x,y] sind die Lumawerte für das normal belichtete Lumabild 1320B bzw. das unterbelichtete Lumabild 1320A. Eb ist ein Belichtungsskalierungsfaktor für die Belichtung des überbelichteten Lumabildes 1320C. En und Eu sind die entsprechenden Skalierungsfaktoren für das normal belichtete Lumabild 1320B bzw. das unterbelichtete Lumabild 1320A. Mb[x,y] repräsentiert den Wert für die Überbelichtungsmaske 1330C an den Koordinaten [x,y]. Mn[x,y] und Mu[x,y] repräsentieren die Werte für die Normalbelichtungsmaske 1330B bzw. Unterbelichtungsmaske 1330A. Der Wert eines Pixels in der Maske 1330C bestimmt wie viel Einfluss der entsprechende Pixel in dem überbelichteten Lumabild 1320C auf das zusammengesetzte Bild hat. Der Wert eines Pixels in der Maske 1330B bestimmt wie viel Einfluss der entsprechende Pixel in dem normal belichteten Lumabild 1320B auf das zusammengesetzte Bild hat. Der Wert eines Pixels in der Maske 1330A bestimmt, wie viel Einfluss der entsprechende Pixel in dem unterbelichteten Lumabild 1320A auf das zusammengesetzte Bild hat. In jeder Maske 1330A-1330C bedeuten höhere Werte mehr Einfluss auf das zusammengesetzte Bild.
  • Die Belichtungsskalierungsfaktoren (Eu, En und Eb) gleichen die unterschiedlichen Belichtungsdauern des Bildes aus (z. B. wenn das überbelichtete Bild 4-mal mehr Belichtungsdauer hat als das normal belichtete Bild, dann ist Eb=En/4). Die länger belichteten Bilder haben höhere Lumawerte, weil sie länger belichtet werden, nicht weil ihre Daten „besser“ sind oder weil sie hellere Teile des Bildes repräsentieren. Ohne das Ausgleichen der längeren Belichtungsdauer würden die Daten von dem überbelichteten Bild das Ergebnis mehr dominieren als ihr Informationswert anzeigen würde. In einigen Ausführungsformen ist das Verhältnis der Belichtungsdauern ein anderes als 4. Die Verhältnisse von Unterbelichtungsdauer zu normaler Belichtungsdauer sind verschieden von den Verhältnissen von normaler Belichtungsdauer zu Überbelichtungsdauer in einigen Ausführungsformen. In solchen Ausführungsformen würden die Belichtungsskalierungsfaktoren angepasst werden, um die unterschiedlichen Verhältnisse der Belichtungsdauern widerzuspiegeln.
  • In Ausführungsformen, die Formate verwenden, in welchen die Werte der Pixel eine lineare Funktion des Lichts sind, das die entsprechenden Sensoren erreicht, kompensieren die Belichtungsskalierungsfaktoren gleichmäßig die Unterschiede der Pixelwerte, die durch die unterschiedlichen Belichtungsdauern hervorgerufen werden. Wenn der Wert der Pixel eine lineare Funktion des Lichts ist, das die Sensoren erreicht, dann würde, bei Abwesenheit anderer Faktoren (z. B. variierende Helligkeit des Teils der Szene, die durch einen bestimmten Sensor aufgenommen wird), der Wert eines Pixels 4-mal größer in einem überbelichteten Bild mit 4-mal der Normalbelichtungsdauer sein, als der Wert für den entsprechenden Pixel in einem normal belichteten Bild derselben Szene. In solch einem Format haben die Pixel in jeder Aufnahme derselben Szene dieselben Werte bezogen aufeinander. D. h., wenn ein Pixel in dem normal belichteten Bild das Doppelte des Wertes eines anderen Pixels in dem normal belichteten Bild ist, wird der Pixel des überbelichteten Bildes, der dem ersten Pixel in dem normalen Bild entspricht, den doppelten Wert des Pixels in dem überbelichteten Bild haben, der dem zweiten Pixel in dem normalen Bild entspricht.
  • Einige mobile Vorrichtungen nehmen Bilder in einem Format auf, das eine Komponente (Luminanz) umfasst, die eine lineare Funktion des Betrags von Licht ist, das die Sensoren erreicht (bis zu einem Sättigungspunkt). Jedoch wandeln einige solcher Vorrichtungen automatisch die Luminanzbilder in Lumabilder mithilfe einer nichtlinearen Transformation (z. B. Gammakorrektur). Aufgrund der nichtlinearen Transformierung von Luminanz zu Luma sind Lumawerte nicht eine lineare Funktion der Belichtungsdauer. Die Lumawerte sind keine lineare Funktion, da die Gammakorrektur die Werte in der Nähe des Bodens des Luminanzbereichs mehr als Werte in der Nähe der Mitte und des oberen Endes des Luminanzbereichs ändert. Überbelichtete Bilder, welche mit langen Belichtungsdauern aufgenommen sind, sind heller als normal belichtete Bilder und haben Luminanzwerte, die in der Nähe des oberen Bereiches des Luminanzbereichs der Kamera gehäuft sind. Unterbelichtete Bilder, welche mit kurzen Belichtungsdauern aufgenommen sind, sind dunkler als der Durchschnitt und haben Luminanzwerte, die in der Nähe des Bodens des Luminanzbereichs der Kamera gehäuft sind. Die Bilder, die mit normalen Belichtungen aufgenommen sind, haben Luminanzwerte, die in der Mitte des Luminanzbereichs der Kamera gehäuft sind. Aufgrund der unterschiedlichen Niveaus der Helligkeit der unterschiedlichen Belichtungen kann die Gammakorrektur die Werte der relativen Helligkeit der entsprechenden Objekte in den unterschiedlichen Aufnahmen unterschiedlich ändern. Das Ändern der relativen Helligkeit der Objekte in den unterschiedlichen Aufnahmen beeinflusst das Ergebnis des Zusammensetzens der Bilder.
  • Demgemäß, um die Bilder in ein Format zurückzubringen, in welchem die Werte eine lineare Funktion der Belichtungsdauer sind, kehren einige Ausführungsformen die Gammakorrektur der Luma-(Y')-Komponenten des Bildes um, um Luminanz-(Y)-Bilder zu erzeugen. Einige solcher Ausführungsformen führen Operationen auf den Luminanzbildern aus, wenden dann eine neue Gammakorrektur nach den Operationen an, um ein finales Bild mit einer Luma-(Y')-Komponente zu erzeugen. Die inverse Gammakorrektur wird ausgeführt während des Zusammensetzens in einigen Ausführungsformen. Einige solcher Ausführungsformen erzeugen das zusammengesetzte Bild mithilfe der folgenden Gleichung (7B) anstelle des Verwendens der Gleichung (7A). Lc [ x ,y ] = Eb*Lb [ x ,y ] ( 1 / γ ) Mb [ x ,y ] +  En*Ln [ x ,y ] ( 1 / γ ) Mn [ x ,y ] +  Eu*Lu [ x ,y ] ( 1 / γ ) Mu [ x ,y ]
    Figure DE102011078662B4_0008
  • Gleichung (7B) ist fast dieselbe wie Gleichung (7A), außer dass die Lumawerte Lb[x,y], Ln[x,y] und Lu[x,y] mit der Potenz (1/γ) versehen sind. Und die Lc[x,y]-Werte sind Luminanzwerte anstelle von Lumawerten. In einigen Ausführungsformen stellt die mobile Vorrichtung Lumawerte bereit, die auf Luminanzwerten eines aufgenommen Bildes basieren, das mit der Potenz Gamma (γ) versehen ist (in einigen Ausführungsformen ist Gamma = 1/2,2).
  • Die mobilen Vorrichtungen von einigen Ausführungsformen stellen den Wert von Gamma als Metadaten des bereitgestellten Bildes bereit. In einigen solcher Ausführungsformen wird das bereitgestellte Gamma in der Gleichung (7B) verwendet, um die original Luminanzwerte wieder herzustellen, während die Bilder zusammengesetzt werden. Andere solcher Ausführungsformen führen die inverse Gammakorrektur aus vor dem Zusammensetzen der Bilder und verwenden Gleichung (7A) für Luminanzwerte, die in einer separaten Operation von der Zusammensetzungsoperation erzeugt werden.
  • Ähnlich, während die obigen Gleichungen mithilfe von Masken beschrieben werden, die von Lumabildern erzeugt werden, wird der Fachmann verstehen, dass die Masken von einigen Ausführungsformen von Bildern in anderen Formaten erzeugt werden. Zum Beispiel werden die Masken in einigen Ausführungsformen von Luminanzversionen von einem oder mehreren der Bilder erzeugt anstelle von Lumaversionen. In einigen Ausführungsformen ist der Typ des Bildes, der verwendet wird, um die Masken zu erzeugen (z. B. Luma oder Luminanz), derselbe wie der Typ des Bildes, der verwendet wird, um die Zusammensetzung zu erzeugen. In anderen Ausführungsformen ist der Typ des Bildes, der verwendet wird, die Masken zu erzeugen (z. B. Luma oder Luminanz) unterschiedlich von dem Typ von Bild, das verwendet wird, um die Zusammensetzung zu erzeugen.
  • Um das zusammengesetzte Bild mithilfe der Gleichung (7A) oder (7B) zu erzeugen, wird der Skalierungsfaktor des überbelichteten Bildes (Eb) von dem tatsächlichen Verhältnis von Belichtungszeiten angepasst, in einigen Ausführungsformen. Einige Ausführungsformen verwenden die folgende Gleichung, um den Skalierungsfaktor des überbelichteten Bildes anzupassen, um die Schatten zu verbessern: Eb = En / ( Er + ( 2 / 3 * ( Ts-0 .25 ) ( 1 Er ) * ( 1 tanh ( 12 N 3.5 ) ) ) )
    Figure DE102011078662B4_0009
  • In Gleichung (8) ist Eb der Skalierungsfaktor des überbelichteten Bildes; En ist der Skalierungsfaktor des normal belichteten Bildes. Er ist das Verhältnis der Belichtungszeit des normal belichteten Bildes zu der Belichtungszeit des überbelichteten Bildes (z. B. 1/4 wenn das überbelichtete Bild eine 4-mal so lange Belichtung hat wie das normal belichtete Bild), Ts ist ein Schwellwertfaktor. In einigen Ausführungsformen wird Ts auf 0,4 gesetzt. N ist der Median-Luma (auf einer Lumaskala von 0 bis 1). Die Median-Luminanz wird für N verwendet anstelle des Median-Lumas in einigen Ausführungsformen.
  • In einigen Ausführungsformen wird, sobald Gleichung (7A) oder (7B) ausgeführt wurde, das errechnete zusammengesetzte Bild zurück abgebildet (z. B. neu skaliert) auf einen bestimmten Bereich (z. B. 0-1 oder 0-255) durch eine Normalisierung. Lc [ x ,y ] = Ec *  Lc [ x ,y ] / max ( Lc )
    Figure DE102011078662B4_0010
  • In Gleichung (9A) ist das erste Lc[x,y] das Luma des Pixels bei Koordinaten [x,y] in dem zusammengesetzten Bild 1340 nach der Normalisierung, das zweite Lc[x,y] ist das Luma des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild vor der Normalisierung, max(Lc) ist der maximale Lumawert für irgendeinen Pixel in dem zusammengesetzten Bild vor der Normalisierung und Ec ist ein Skalierungsfaktor, der den Bereich spezifiziert. Einige Ausführungsformen normalisieren mit dem höchsten möglichen Pixelwert, welcher 1*Eu ist. Dies wird ausgeführt, um das Ändern der Überhelligkeit des HDR-Bildes verglichen mit EVo zu vermeiden.
  • Einige Ausführungsformen wenden einen anderen Normalisierungsfaktor an als max(Lc). Gleichung (9B) stellt eine alternative Gleichung zum Normalisieren des zusammengesetzten Bildes bereit. Lc [ x ,y ] = Ec *  Lc [ x ,y ] / Eu
    Figure DE102011078662B4_0011
  • In Gleichung (9B) ist das erste Lc[x,y] das Luma des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild 1340 nach der Normalisierung, das zweite Lc[x,y] ist der Lumawert des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild vor der Normalisierung, En/Eb ist ein Belichtungsskalierungsfaktor für die Belichtung des überbelichteten Bildes (z. B. wenn das überbelichtete Bild 4-mal die Belichtungsdauer der normalen Belichtung hat, dann ist En/Eb=4) und Ec ist ein Skalierungsfaktor, der den Bereich spezifiziert. In einigen Ausführungsformen wird Ec auf 1 gesetzt, in anderen Ausführungsformen wird Ec auf 1,2 gesetzt, in anderen Ausführungsformen wird Ec auf andere Werte gesetzt.
  • In einigen Ausführungsformen enden die Aufnahmeoperationen nach dem Neuskalieren von Gleichungen (9A) oder (9B). In solchen Ausführungsformen beginnen die Bearbeitungsoperationen dann, wenn das Verfahren 1200 eine zusammengesetzte 1350 Version des zusammengesetzten Lumabildes 1340 mit Gaußscher Weichzeichnung erzeugt (bei 1230). Die Gauß-weichgezeichnete Zusammensetzung 1350 wird aus einem Grund erzeugt, der ähnlich ist zu dem Grund des Erzeugens der Gauß-Weichzeichung der individuellen Masken. Die Gauß-weichgezeichnete Zusammensetzung 1350 wird als eine Gewichtung zum Anpassen anderer Bilder in anderen Teilen des Verfahrens 1200 verwendet und die Unschärfe verbessert die Effekte (auf den finalen Bildern) von Pixeln, die sehr unterschiedliche Werte von den sie umgebenden Pixeln haben. Die Gauß-Weichzeichnung wird durch ein ähnliches Verfahren erzeugt, wie das Masken-Unscharfmachen der Gleichungen (5) und (6). G [ x ,y ] = filter ( Lc [ x ,y ] ,  k )
    Figure DE102011078662B4_0012
  • In Gleichung (10) repräsentiert G[x,y] die Gauß-weichgezeichnete Zusammensetzung 1350. Lc[x,y] repräsentiert das Luma eines Pixels bei [x,y] des zusammengesetzten Bildes 1340. Der Filter ist eine 2D-Filteroperation mithilfe des Filters k. Das Element k ist ein 2D Gaußscher Filter. In einigen Ausführungsformen wird ein 7×7 oder ein 9×9-Filter verwendet mit einer Pixelvarianz von 3. Derselbe Filter und Kernel werden in einigen Ausführungsformen zum Weichzeichnen der Masken in den Gleichungen (5) und (6) verwendet und dem Weichzeichnen des Gauß-weichgezeichneten Bildes in Gleichung (10), in anderen Ausführungsformen, werden verschiedene Filter und/oder Kernel verwendet.
  • Wie mit den Masken können große Werte von k in großen Halo-Effekten resultieren, aber kleine Werte von k können in einem Kontrastverlust innerhalb eines Bereiches resultieren. Das Weichzeichnen stellt sicher, dass die Gauß-weichgezeichnete Zusammensetzung 1350 gewichtet wird basierend auf der Helligkeit des Bereiches, in dem ein Pixel ist, anstelle des Gewichtens basierend auf der Helligkeit eines individuellen Pixels. In einigen Ausführungsformen verbessert das Gewichten basierend auf dem Bereich den Kontrast innerhalb von Bereichen, die Pixel von mehreren Bereichen (dunkel, mittel und/oder hell) aufweisen.
  • Sobald die Gauß-weichgezeichnete Zusammensetzung 1350 erzeugt wird, erzeugt das Verfahren 1200 (bei 1240) ein Hervorhebungen-abgeschwächtes Bild 1360A und ein schattenverbessertes Bild 1360B. Das schattenverbesserte Bild 1360B beinhaltet einen ausgedehnten Bereich von Lichtniveaus in den dunklen Bereichen des Bildes und einen komprimierten Bereich von Lichtniveaus in den hellen Bereichen. Mit anderen Worten, in den dunklen Bereichen wird der Unterschied zwischen Lumawerten in dem schattenverbesserten Bild vergräö-ßert. Zum Beispiel könnte ein Pixel in dem zusammengesetzten Bild 1340 mit einem Luma von 0,02 in einen Pixel in dem schattenverbesserten Bild von 0,14 umgewandelt werden und ein Pixel in dem zusammengesetzten Bild 1340 mit einem Lumawert von 0,03 könnte in einen Pixel in dem schattenverbesserten Bild von 0,19 umgewandelt werden. In jedem Fall erhöht sich der Betrag der Lumawerte der Pixel, aber wichtiger ist, dass die Differenz der Beträge der Lumawerte sich erhöht. Für Pixel in den helleren Bereichen erhöht sich der Betrag der Lumawerte für die Pixel auch, aber die Differenz zwischen den Beträgen der Lumawerte von zwei Pixeln verringert sich. Mit anderen Worten erhöht die Schattenverbesserung die Helligkeitswerte über den ganzen Bereich hinweg, aber in dem unteren Ende des Bereichs ist die Zunahme zwischen benachbarten Pixeln mehr als am oberen Ende des Bereichs (z. B. die Erhöhung der Helligkeit in dunklen Bereichen ist mehr als die Erhöhung der Helligkeit in hellen Bereichen).
  • Ähnlich erweitert das Hervorhebungen-abgeschwächte Bild 1360A den Bereich der Lumas für die helleren Pixel und zieht den Bereich von Lumas für die dunkleren Pixel des zusammengesetzten Bildes 1340 zusammen. Mit anderen Worten, die Hervorhebungsabschwächung verringert die Helligkeitswerte über den ganzen Bereich hinweg, aber in dem oberen Ende des Bereichs ist die Abnahme zwischen benachbarten Pixeln größer als am unteren Ende des Bereichs (z. B. die Abnahme der Helligkeit der hellen Regionen ist größer als die Abnahme der Helligkeit der dunklen Regionen).
  • In einigen Ausführungsformen wird das schattenverbesserte Bild 1360B durch die folgende Gleichung erzeugt: Ls [ x ,y ] = Lc [ x ,y ] / ( Bs*G [ x ,y ] + ( 1 Bs ) )  
    Figure DE102011078662B4_0013
  • In Gleichung (11) ist Ls[x,y] der Lumawert des Pixels an den Koordinaten [x,y] in dem schattenverbesserten Bild 1360B. G[x,y] ist der Wert des Pixels an Koordinaten [x,y] in der Gauß-weichgezeichneten Zusammensetzung 1350. Bs ist ein Skalierungsfaktor. Bs ist gleich 0,83 in einigen Ausführungsformen. In anderen Ausführungsformen werden andere Werte verwendet.
  • Das Hervorhebungen-abgeschwächte Bild 1360A wird durch die folgende Gleichung in einigen Ausführungsformen erzeugt: Lh [ x ,y ] = 1 ( ( 1 Lc [ x ,y ] ) / ( ( 1 Bh ) * ( 1 G [ x ,y ] ) + Bh ) )  
    Figure DE102011078662B4_0014
  • In Gleichung (12) ist Lh[x,y] der Lumawert des Pixels an Koordinaten [x,y] in dem Hervorhebungen-abgeschwächten Bild 1360A. G[x,y] ist der Wert des Pixels an den Koordinaten [x,y] in der Gauß-weichgezeichneten Zusammensetzung 1350. Bs ist ein Skalierungsfaktor. In einigen Ausführungsformen ist Bs gleich 0,7. In anderen Ausführungsformen werden andere Werte für den Skalierungsfaktor verwendet.
  • Das Verfahren 1200 setzt das schattenverbesserte Bild 1360B und das Hervorhebungen-abgeschwächte Bild 1360A zusammen (bei 1250), um ein zusammengesetztes Bild 1370 zu erzeugen. Das zusammengesetzte Bild 1370 einiger Ausführungsformen wird durch die folgende Gleichung erzeugt: Lc [ x ,y ] = ( Ls [ x ,y ] * ( 1 G [ x ,y ] ) ) + ( Lh [ x ,y ] * G [ x ,y ] )  
    Figure DE102011078662B4_0015
  • In Gleichung (13) ist Lc[x,y] der Lumawert des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild 1370. Lh[x,y] ist der Lumawert des Pixels an den Koordinaten [x,y] in dem Hervorhebungen-abgeschwächten Bild 1360A. G[x,y] ist der Wert des Pixels an den Koordinaten [x,y] in der Gauß-weichgezeichneten Zusammensetzung 1350. Ls[x,y] ist der Lumawert des Pixels an den Koordinaten [x,y] in dem schattenverbesserten Bild 1360B. Die Kombination des schattenverbesserten Bildes 1360B und des Hervorhebungen-abgeschwächten Bildes 1360A, wie in Gleichung (13) gewichtet hat den resultierenden Effekt des Hervorhebens von Details in sowohl den hellen, als auch den dunklen Bereichen des Bildes. In einigen Ausführungsformen, als Teil der Zusammensetzung des schattenverbesserten Bildes 1360B und des Hervorhebungen-abgeschwächten Bildes 1360A werden alle Pixel, die einen Luma größer als die Grenze des erlaubten Bereichs aufweisen, auf den Grenzwert des erlaubten Bereichs reduziert (z. B. ein Luma von 1,1 in einem Bereich von 0 bis 1 würde auf einen Luma von 1 reduziert).
    Einige Ausführungsformen beenden das Verbessern und Abschwächen von Lumawerten an diesem Punkt und fahren mit Operation 1260 fort. Jedoch, in einigen Ausführungsformen umfasst das Zusammensetzen der Bilder 1360A und 1360B auch das Verbessern der Mitteltonpixel. Einige solcher Ausführungsformen implementieren die folgende Gleichung, um die Mitteltöne zu verbessern: Lc [ x ,y ] = Lc [ x ,y ] ( 2 ( ( Bm*G [ x ,y ] * ( 1 G [ x ,y ] ) ) 2 )  
    Figure DE102011078662B4_0016
  • In Gleichung (14) ist das erste Lc[x,y] das Luma des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild 1370 nach dem Verbessern der Mitteltonpixel. Das zweite Lc[x,y] ist das Luma der Pixel an den Koordinaten [x,y] in dem zusammengesetzten Bild vor dem Verbessern der Mitteltonpixel. G[x,y] ist der Wert der Pixel an den Koordinaten [x,y] in der Gauß-weichgezeichneten Zusammensetzung 1350. Bm ist ein Skalierungsfaktor, der die Verbesserungskurve bestimmt. Einige Ausführungsformen verwenden andere Gleichungen, um die Mitteltöne zu verbessern. Wie oben beschrieben verbessern einige Ausführungsformen die Mitteltöne nicht.
  • In einigen Ausführungsformen, die ein zusammengesetztes Luminanzbild 1340 erzeugen (z. B. mithilfe von Gleichung (7B)) anstelle eines zusammengesetzten Lumabildes 1340 (z. B. mithilfe von Gleichung (7A)) ist das schattenverbesserte Bild 1360B und Hervorhebungen-abgeschwächte Bild 1360A und das zusammengesetzte Bild 1370 ein Luminanzbild anstelle eines Lumabildes. D.h., die Bilder 1360A und 1360B und 1370 sind alles Luminanzbilder, weil sie (direkt oder indirekt) von einem Luminanzbild 1340 erzeugt werden anstelle von einem Lumabild 1340. In einigen Ausführungsformen wird das Luminanzbild 1370 in ein Lumabild 1370 umgewandelt durch eine Gammakorrektur (z. B. durch Erhöhen der Luminanzwerte von dem Bild 1370 mit der Potenz von Gamma). Die mobile Vorrichtung von einigen Ausführungsformen stellt den Gammawert bereit, der verwendet wird, das Luminanzbild 1370 in das Lumabild 1370 umzuwandeln. Der Gammawert ist 1/2,2 in einigen Ausführungsformen.
  • Die verschiedenen Zusammensetzungsverfahren können zu Bildern mit Lumawerten führen, die sich in einem kleinen Bereich des verfügbaren Bereiches von Werten häufen. Zum Beispiel kann das Bild Pixel aufweisen, die fast alle dunkler als 50 % der verfügbaren Skala sind oder Pixel haben, die fast alle heller als 50 % der verfügbaren Skala sind. Um den Bereich von Lumawerten in dem Bild zu vergrößern, um die verfügbare Skala auszunutzen, wendet das Verfahren 1200 von einigen Ausführungsformen (bei 1260) ein Histogrammstrecken auf die Lumaversion des zusammengesetzten Bildes 1370 an, um es auf die ungefähre Lumaverteilung des original normal belichteten Lumabildes 1320B zurückzuführen. Das Histogrammstrecken erzeugt ein Histogramm der Lumas des zusammengesetzten Bildes 1370 und bestimmt den Lumabereich zwischen dem 0,5-te Perzentil und dem 99,5-te Perzentil für Bild 1370. Das Verfahren trifft dann dieselben Bestimmungen für die Pixel des normal belichteten Lumabildes 1320B. Das Verfahren wendet die folgende Gleichung auf die Pixel des zusammengesetzten Bildes 1370 an: Lf [ x ,y ] = ( Lc [ x ,y ] L1 ) * ( ( H2 L2 ) / ( H1 L1 ) ) + L2
    Figure DE102011078662B4_0017
  • In Gleichung (15) ist Lf[x,y] das Luma der Pixel an den Koordinaten [x,y] in dem finalen zusammengesetzten Bild 1380. Das Lc[x,y] ist der Luma des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Bild 1370. L1 ist ein Lumawert, der dunkler als 99,5 % der Pixel in dem zusammengesetzten Bild 1370 ist. H1 ist ein Lumawert, der heller als 99,5 % der Pixel in dem zusammengesetzten Bild 1370 ist. L2 ist ein Lumawert, der dunkler als 99,5 % der Pixel in dem normal belichteten Lumabild 1320B ist. H2 ist ein Lumawert, der heller als 99,5 % der Pixel in dem normal belichteten Lumabild 1320B ist. In einigen Ausführungsformen können die Perzentile unterschiedlich sein. Das Histogrammstrecken gibt dem Bild denselben gesamten Lichtbereich wie das normal belichtete Lumabild 1320B. Der Grund für den Perzentilabschnitt ist es, zu vermeiden, dass irgendwelche Pixel mit weitabliegenden Lumas ein Bild mit einem zu zusammengedrückten oder zu breiten Bereich erzeugen, verglichen mit dem original normal belichteten Lumabild 1320B. Einige Ausführungsformen ändern dann die Lumawerte der Pixel mit Lumawerten oberhalb der Grenze des verfügbaren Bereichs zu dem oberen Grenzwert des Bereichs. Einige Ausführungsformen ändern die Lumawerte der Pixel mit Lumawerten unterhalb der Grenze des verfügbaren Bereichs zu dem unteren Grenzwert des Bereichs.
  • Einige Ausführungsformen verbreitern die Lumawerte auf einen beliebigen Bereich (z. B. den gesamten verfügbaren Bereich), um den gesamten Bereich der verfügbaren Lumas vorteilhaft auszunutzen. Zum Beispiel verbreitern einige Ausführungsformen das Luma des gesamten Bereiches, wenn das originale normal belichtete Lumabild 1320B einen engen Bereich von Lumas hat. Nach dem Histogrammstrecken endet der Prozess 1200.
  • Die obige Beschreibung des Histogrammstreckens beschreibt Ausführungsformen, die das Histogramm auf ein Luma-zusammengesetztes Bild 1370 anwenden. Jedoch wird in einigen Ausführungsformen das Histogrammstrecken auf das Luminanz-zusammengesetzte Bild 1370 angewandt und die Gammakorrektur wird auf eine Luminanzversion des finalen zusammengesetzten Bildes 1380 angewandt, um eine Lumaversion des zusammengesetzten Bildes 1380 zu erzeugen.
  • Zusammensetzung von Chromakanalbildern
  • Bilder in einem Luma-, Blauchroma-, Rotchroma- (Y'CbCr-) Format oder Luminanz, Blauchroma-, Rotchroma- (YCbCr-) Format haben Chrominanzkomponenten (Cb und Cr), die Farbinformationen enthalten. Das Verfahren 1200 setzt die Luma- (oder Luminanz-) Komponenten der Bilder in diesen Formaten zusammen, aber andere Ausführungsformen setzen die Chrominanzkanalbilder der Bilder 1310A-1310C separat von dem Zusammensetzen der Lumakomponenten zusammen. In einigen Ausführungsformen werden dieselben Masken, die beim Zusammensetzen der Lumabilder verwendet werden, verwendet beim Zusammensetzen der Chrominanzbilder. 14 stellt das Verfahren 1400 einiger Ausführungsformen zum Zusammensetzen von Chromakanalbildern dar. 14 wird beschrieben mit Bezug auf 15. 15 zeigt ein Beispiel des Zusammensetzens von Chromakanalbildern in einigen Ausführungsformen. 15 beinhaltet unterbelichtete Chromakanalbilder 1520A, normalbelichtete Chromakanalbilder 1520B, überbelichtete Chromakanalbilder 1520C, zusammengesetzte Chromakanalbilder 1530C, und importierte Daten 1540 von dem Lumazusammensetzen. Die unterbelichteten Chromakanalbilder 1520A enthalten Chromawerte (z.B. Cr und Cb) von dem Bild 1310A. Normal belichtete Chromakanalbilder 1520B enthalten Chromawerte (z.B. Cr und Cb) von dem Bild 1310B. Überbelichtete Chromakanalbilder 1520C enthalten Chromawerte (z.B. Cr und Cb) von dem Bild 1310C. In einigen Ausführungsformen werden dieselben Operationen auf jedem Satz von Chromakanalbildern (Cb und Cr) ausgeführt. Das zusammengesetzte Chromabild 1530 von einigen Ausführungsformen umfasst auch zwei Kanäle von Chromadaten. Der Fachmann wird verstehen, dass in einigen solcher Ausführungsformen der Zusammensetzungsprozess separat auf jedem Chromakanal ausgeführt wird. Jedoch bezieht sich aus Gründen der Klarheit die Beschreibung des Chromazusammensetzungsprozesses unten manchmal auf „Pixel des zusammengesetzten Bildes“ anstelle von „Pixel eines Kanals des zusammengesetzten Bildes“.
  • Das Verfahren 1400 beginnt mit dem Empfangen (bei 1410) von überbelichteten, unterbelichteten und normalbelichteten Masken (z.B. die Masken, die während des Lumazusammensetzungsprozesses 1200 erzeugt wurden). In 15 enthalten die importierten Daten 1540 diese Masken. In einigen Ausführungsformen werden diese Masken separat für das Verfahren 1400 erzeugt, statt Kopien der Masken in den Lumazusammensetzungsverfahren zu sein. Unterschiedliche Masken werden für die Chromazusammensetzung verwendet, statt für die Lumazusammensetzung in einigen Ausführungsformen. Z.B. werden die Masken für die Chromazusammensetzung von dem finalen Lumazusammensetzungsbild erzeugt. Einige Ausführungsformen erzeugen einen Satz von Masken von dem normalbelichteten Lumabild, und einen anderen Satz von Masken von den individuellen Lumabildern, und verwenden jeden Satz zum Zusammensetzen eines unterschiedlichen Typs von Bildkomponente (z.B. einen für Luma und den anderen für Chroma).
  • Nachdem die Masken empfangen (oder erzeugt) wurden, erzeugt das Verfahren 1400 (bei 1420) einen Chromakanal eines zusammengesetzten Bildes von den Masken (z.B. Masken 1330A-1330C) und einen Kanal (d.h. entweder den Cb oder Cr) der Chromabilder 1520A-1520C. In einigen Ausführungsformen wird der Kanal der Chromabilder 1520A-1520C mithilfe der folgenden Gleichung zusammengesetzt: Cc [ x ,y ] = Eb*Cb [ x ,y ] * Mb [ x ,y ] +  En*Cn [ x ,y ] * Mn [ x ,y ] +  Eu*Cu [ x ,y ] * Mu [ x ,y ]
    Figure DE102011078662B4_0018
  • In Gleichung (16) ist Cc[x,y] der Chromawert des Pixels an den Koordinaten [x,y] in dem zusammengesetzten Chromakanalbild 1530 (von 15). Cb[x,y] ist der Chromawert des Pixels an den Koordinaten [x,y] in dem überbelichteten (hellen) Chromakanalbild 1520C. Cn[x,y] und Cu[x,y] sind die Chromawerte für das normale Chromakanalbild 1520B bzw. unterbelichtete Chromakanalbild 1520A. Eb ist ein Belichtungsskalierungsfaktor für die Belichtung des überbelichteten Chromakanalbildes 1520C. En und Eu sind die Belichtungsskalierungsfaktoren für das normale Chromakanalbild 1520B bzw. unterbelichtete Chromakanalbild 1520A. Mb[x,y] repräsentiert den Wert der Überbelichtungsmaske 1330C bei Koordinaten [x,y]. Mn[x,y] und Mu[x,y] repräsentieren die Werte für die Normalbelichtungsmaske 1330B bzw. Unterbelichtungsmaske 1330A. Der Wert eines Pixels in der Maske 1330C bestimmt, wie viel Wirkung der entsprechende Pixel in dem überbelichteten Chromakanalbild 1520C auf das zusammengesetzte Chroma hat. Der Wert eines Pixels in der Maske 1330B bestimmt, wie viel Wirkung der entsprechende Pixel in dem normalen Chromakanalbild 1520B auf das zusammengesetzte Chroma hat. Der Wert eines Pixels in der Maske 1330A bestimmt, wie viel Wirkung der entsprechende Pixel in dem unterbelichteten Chromakanalbild 1520A auf das zusammengesetzte Chroma hat. In jeder Maske 1330A-1330C bedeuten höhere Werte mehr Wirkung. Durch das Verwenden derselben Masken wie für die Lumabilder stellt die Chromaanpassung sicher, dass die Farbdaten von jedem Pixel in den Chromakanalbildern 1520A-1520C die entsprechenden Lumadaten für jeden Pixel in den Lumabildern übereinstimmen werden. Z.B. ein bestimmter Pixel, der 62% seines Lumawertes von dem entsprechenden Pixel in dem überbelichteten Lumabild 1320C erhält, wird auch 62% seines Chromawertes von dem entsprechenden Pixel der überbelichteten Chromakanalbilder 1520C erhalten.
  • Das Verfahren 1400 empfängt (bei 1430) eine Gauß-weichgezeichnete Maske. In einigen Ausführungsformen ist dies eine Kopie derselben Gauß-weichgezeichneten Zusammensetzung 1350, die von dem Lumazusammensetzungsbild 1340 erzeugt wurde. Der Fachmann wird verstehen, dass die Gauß-weichgezeichnete Zusammensetzung 1350 auch an einem früheren oder späteren Punkt in Verfahren 1400 empfangen werden kann. Das Verfahren 1400 empfängt (bei 1440) einen Histogrammstreckwert (z.B. (H2-L2)/(H1-L1), wie in Gleichung (15) gesehen). Dieser Wert wird unabhängig in einigen Ausführungsformen während des Verfahrens 1400 berechnet, anstelle während des Verfahrens 1200 gespeichert zu werden, und während des Verfahrens 1400 empfangen zu werden.
  • Das Verfahren 1400 verwendet die Gauß-weichgezeichnete Zusammensetzung 1350 und den Histogrammstreckwert, um das zusammengesetzte Chroma anzupassen (bei 1450). Diese Anpassung beinhaltet auch das Multiplizieren des zusammengesetzten Chromabildes mit einem Sättigungsfaktor in einigen Ausführungsformen. Einige Ausführungsformen stellen einen vorprogrammierten Sättigungsfaktor bereit. Ein Benutzer-anpassbarer Sättigungsfaktor wird zusätzlich zu dem oder anstelle des vorprogrammierten Sättigungsfaktors in einigen Ausführungsformen bereitgestellt. In weiter anderen Ausführungsformen wird die Chromabildanpassung bestimmt durch Gleichungen (17)-(19): F [ x ,y ] = 1 + ( H2-L2 ) / ( H1-L1 ) * X*G [ x ,y ] * ( 1 G [ x ,y ] ) )
    Figure DE102011078662B4_0019
  • Der Sättigungsfaktor F[x,y] in Gleichung (17) wird in einigen Ausführungsformen verwendet, um das Chroma eines Pixels bei den Koordinaten [x,y], wie in Gleichung (19) gezeigt, anzupassen. L1 ist ein Lumawert, der dunkler als 99,5% der Pixel in dem zusammengesetzten Bild 1370 (von 13A oder 13B) ist. H1 ist ein Lumawert, der heller als 99,5% der Pixel in dem zusammengesetzten Bild 1370 ist. L2 ist ein Lumawert, der dunkler als 99,5% der Pixel in dem normalbelichteten Lumabild 1320B ist. H2 ist ein Lumawert, der heller als 99,5% der Pixel in dem normalbelichteten Lumabild 1320B ist. X ist ein Sättigungsfaktor (z.B. 1,2), der in verschiedenen Ausführungsformen unterschiedlich ist und verändert werden kann (z.B. durch den Benutzer der mobilen Vorrichtung) in einigen Ausführungsformen. In einigen Ausführungsformen können die Perzentile, die verwendet werden, den Histogrammstreckungsfaktor zu berechnen, unterschiedlich von denen sein, die oben gezeigt sind. G[x,y] ist der Wert des Pixels an den Koordinaten [x,y] in der Gauß-weichgezeichneten Zusammensetzung 1350. Der Faktor G*(1-G) wird maximiert für G=0,5 und minimiert, wenn G=1 oder G=0. Demgemäß verbessert die Verwendung der Gauß-weichgezeichneten Zusammensetzung 1350 auf diese Weise die Chromawerte von jenen Teilen des Bildes, die Mitteltonlumas haben, mehr als die Chromawerte von jenen Teilen des Bildes, die helle oder dunkle Pixel haben. Das Verbessern der Farben der Mitteltonpixel stellt ein anderes Endbild bereit als das gleichmäßige Verbessern der Farben.
  • In einigen Ausführungsformen wird das zusammengesetzte Chroma normalisiert (bei 1460) durch das Teilen der Chromawerte durch einen Normalisierungsfaktor, der mithilfe der folgenden Gleichung erzeugt wird: N [ x ,y ] = ( Eb*Mb [ x ,y ] ) + ( En*Mn [ x ,y ] ) + ( Eu*Mu [ x ,y ] )
    Figure DE102011078662B4_0020
  • Der Normalisierungsfaktor N[x,y] in Gleichung (18) wird in manchen Ausführungsformen verwendet, um das Chroma eines Pixels bei Koordinaten [x,y] anzupassen, wie in Gleichung (19) gezeigt. Eb ist ein Belichtungsskalierungsfaktor für das überbelichtete Chromakanalbild 1520C. En und Eu sind die Belichtungsskalierungsfaktoren für das normale Chromakanalbild 1520B bzw. das unterbelichtete Chromakanalbild 1520A. Mb[x,y] repräsentiert den Wert für eine Überbelichtungsmaske 1330C bei den Koordinaten [x,y]. Mn[x,y] und Mu[x,y] repräsentieren die Werte der Normalbelichtungsmaske 1330B bzw. Unterbelichtungsmaske 1330A.
  • Demgemäß wird in einigen Ausführungsformen das finale zusammengesetzte Chromakanalbild 1530 durch die folgende Gleichung bestimmt: Cf [ x ,y ] = Cc [ x ,y ] * F [ x ,y ] / N [ x ,y ]
    Figure DE102011078662B4_0021
  • In Gleichung (19) ist Cf[x,y] der Chromawert des Pixels bei Koordinaten [x,y] in dem zusammengesetzten Chromakanalbild 1530 (nach der Sättigung). N[x,y] ist ein Normalisierungsfaktor (z.B. der Normalisierungsfaktor von Gleichung (18)), der verwendet wird, um die Chromawerte des zusammengesetzten Chromabildes zu teilen. Cc[x,y] ist der Chromawert des Pixels bei Koordinaten [x,y] in dem zusammengesetzten Chromakanalbild 1530. F[x,y] ist ein Sättigungsfaktor (z.B. der Sättigungsfaktor von Gleichung (17)), der verwendet wird, um das Chroma eines Pixels bei Koordinaten [x,y] zu multiplizieren. In Ausführungsformen, die diese Anpassungen machen, erzeugen die Anpassungen das finale zusammengesetzte Chromakanalbild 1530. Der Fachmann wird verstehen, dass einige Ausführungsformen, die die Gleichung (19) verwenden, F[x,y] oder N[x,y] mithilfe von Gleichungen berechnen, die von Gleichungen (17) und (18) abweichen.
  • Das Verfahren 1400 bestimmt dann (bei 1470), ob es ein anderes Chromakanalbild zum Zusammensetzen gibt. Wenn es ein anderes Chromakanalbild zum Zusammensetzen gibt (z.B., wenn das Verfahren 1400 das Zusammensetzen des Cb-Chromabildes beendet hat, aber nicht des Cr-Chromabildes, dann wird es das Cr-Chromabild anpassen), kehrt das Verfahren 1400 zu Operation 1420 zurück, um die Masken auf die neuen Chromakanalbilder anzuwenden. In einigen Ausführungsformen werden die einzelnen Operationen der Reihe nach auf jedes Chromakanalbild angewandt, anstelle des Ausführens der Operationen 1420-1460 auf einem Chromakanalbild und dann des Ausführens von 1420-1460 auf dem anderen Chromakanalbild. Das Verfahren 1400 wird auf allen Chromakanälen in einigen Ausführungsformen ausgeführt.
  • Während die Chroma-bezogenen Gleichungen oben das Zusammensetzen von Chromakomponenten von Bildern beschreiben, die dieselbe Auflösung wie die entsprechenden Luma-(oder Luminanz-) Komponenten der Bilder haben, wird der Fachmann verstehen, dass in einigen Ausführungsformen die Chromakomponenten der Bilder eine andere Auflösung als die Luma- (oder Luminanz-) Komponenten der Bilder haben. In einigen solcher Ausführungsformen werden die Masken angepasst, um den Unterschieden in der Auflösung Rechnung zu tragen. Z.B. verwenden einige Ausführungsformen ein 4:2:2-Format, wobei jeder Pixel in der Chromakomponente des Bildes zwei horizontal angrenzenden Pixel in der Luma-/Luminanzkomponente des Bildes entspricht. Weil die Masken von solchen Ausführungsformen dieselbe Auflösung wie die Luma-/Luminanzkomponenten des Bildes haben, entspricht jedes Pixel in einer Chromakomponente des Bildes zwei horizontal angrenzenden Pixel in der entsprechenden Maske. In einigen solcher Ausführungsformen wird der Wert eines Chromapixels eines Bildes durch den Mittelwert des entsprechenden Paares von horizontal angrenzenden Pixeln in der entsprechenden Maske gewichtet. In anderen solcher Ausführungsformen wird der Wert eines Chromapixels durch den Wert des einen oder des anderen des entsprechenden Paares von horizontal angrenzenden Pixeln in der Maske gewichtet (z.B. der Wert des am weitesten linken Pixels des Paares). Auf ähnliche Weise verwenden einige Ausführungsformen ein 4:2:0-Format, in welchem jeder Chromapixel einem zwei-malzwei-Quadrat von Pixeln in der Luma-/Luminanzkomponente (und in den Masken) entspricht. In einigen solcher Ausführungsformen wird der Wert eines Chromapixels mit dem Mittelwert der entsprechenden vier Pixel in der Maske gewichtet. In anderen solcher Ausführungsformen wird der Wert eines Chromapixels durch den Wert von einem der vier entsprechenden Pixel in der Maske gewichtet (z.B. der Wert des Pixels oben links der vier Pixel). Alternativ wird die Zusammensetzung der Chromakomponenten mit der Auflösung der Maske erzeugt, was eine zusammengesetzte Chromakomponente mit derselben Auflösung, wie die zusammengesetzte Luma-/Luminanzkomponente. In einigen solcher Ausführungsformen wird die zusammengesetzte Chromakomponente zurück auf die Auflösung der Originalchromakomponente gewandelt, an irgendeiner Stelle.
    Das Zusammensetzungsmodul von einigen Ausführungsformen führt das finale Lumabild 1380 (von 13A oder 13B) und jeden Kanal des finalen zusammengesetzten Chromakanalbildes 1530 (von 15) zusammen, um ein finales HDR-Bild zu erzeugen. Alternativ konvertiert das Zusammensetzungsmodul in einigen Ausführungsformen das finale Lumabild 1380 und das finale zusammengesetzte Chromakanalbild 1530 in ein RGB-Format (z.B. sRGB), um ein finales HDR-Bild zu erzeugen.
  • Anpassen für Belichtungsbedingungen
  • Die mobilen Vorrichtungen einiger Ausführungsformen passen automatisch die Belichtungszeit der normal belichteten Bilder an, um den lokalen Beleuchtungsbedingungen zu der Zeit, als die mobile Vorrichtung Bilder aufgenommen hat, Rechnung zu tragen. In einigen Ausführungsformen ist die Belichtungsdauer die Zeit zwischen den Auffrischungen des CMOS-Sensors der Kamera. Die mobile Vorrichtung gleicht niedrigere Beleuchtungsbedingungen aus durch das Erhöhen der Beleuchtungsdauer der normalen Belichtungsdauer. In einigen solcher Ausführungsformen hat die mobile Vorrichtung auch eine obere Grenze der Dauer einer Belichtung. Die Belichtungsdauer für das überbelichtete Bild ist in einigen Ausführungsformen ein Vielfaches der normalen Belichtungsdauer (z.B. viermal die normale Belichtungsdauer). In Wenig-Licht-Bedingungen kann die erhöhte Dauer der normalen Belichtung und der Standardmultiplizierer für die Belichtungsdauer des überbelichteten Bildes in einer Belichtungszeit für das überbelichtete Bild resultieren, die länger als die obere Grenze ist, die durch die mobile Vorrichtung erlaubt wird. Um sich an diese Bedingungen anzupassen, verwenden manche Ausführungsformen einen Belichtungsmultiplizierer für das überbelichtete Bild, der unterhalb des Standardwertes ist (z.B. einen Multiplizierer von 2 anstelle eines Standardmultiplizierers von 4). Die Zusammensetzungsprozesse von einigen Ausführungsformen erhöhen den Skalierungsfaktor Eb entsprechend.
  • In einigen Fällen ist das Licht so dunkel, dass die normale Belichtungsdauer auf oder nahe der oberen Grenze der erlaubten Belichtungszeiten ist. In solchen Fällen wird die Überbelichtungsdauer gezwungen, nicht länger als dieselbe Länge (oder fast dieselbe Länge) zu sein wie die normale Belichtungsdauer. Die mobile Vorrichtung einiger Ausführungsformen nimmt das überbelichtete Bild mit demselben Betrag an Zeit (oder fast demselben Betrag an Zeit) auf wie das normal belichtete Bild und führt die Zusammensetzung trotzdem aus. Der Fachmann wird verstehen, dass in Fällen, in denen das normal belichtete Bild und das überbelichtete Bild mit derselben Belichtungsdauer aufgenommen werden, die Bilder als zwei normal belichtete Bilder bezeichnet werden könnten, anstelle eines normal belichteten Bildes und eines überbelichteten Bildes.
    In Fällen, in denen die normale Belichtungsdauer die maximal erlaubte Belichtung der mobilen Vorrichtung ist, setzen einige Ausführungsformen zwei normal belichtete Bilder, die mit derselben Belichtungsdauer aufgenommen sind zusammen, um Rauschniveaus in dem finalen Bild zu reduzieren. In Fällen, in denen die normale Belichtungsdauer in der Nähe der maximal erlaubten Dauer der mobilen Vorrichtung ist, ist das überbelichtete Bild mit einer Belichtungsdauer aufgenommen, welche nur leicht länger als die Belichtungsdauer des normal belichteten Bildes ist. Aufgrund des geringen Verhältnisses der Belichtungsdauern erhöht das überbelichtete Bild in solchen Fällen den dynamischen Bereich nicht so sehr, wie es dies normalerweise tun würde. Jedoch setzen einige Ausführungsformen das überbelichtete Bild und das normal belichtete Bild wegen der kleinen Erhöhung des dynamischen Bereiches und/oder, um Rauschniveaus in dem finalen Bild zu verringern, zusammen.
  • In Ausführungsformen, die die Belichtungsdauer begrenzen, wird der Skalierungsfaktor Eb erhöht, in Übereinstimmung mit dem geänderten Verhältnis der Belichtungszeiten, wenn die Überbelichtungsdauer begrenzt ist. In einigen der gleichen oder anderen Ausführungsformen verwendet die mobile Vorrichtung ein Blitzlicht beim Aufnehmen des überbelichteten Bildes und verwendet den Blitz nicht beim Aufnehmen des normal belichteten Bildes, um das Fehlen einer längeren Belichtungsdauer für das überbelichtete Bild zu kompensieren. In einigen Ausführungsformen wird der Blitz verwendet, wenn die normale Belichtungsdauer innerhalb eines speziellen Schwellwertes der maximalen Belichtungsdauer liegt. Z.B. wird in einigen Ausführungsformen das Blitzlicht verwendet, wenn die normale Belichtungsdauer mehr als 50% der maximalen Belichtungsdauer ist. In anderen Ausführungsformen werden andere Prozentsätze als Schwellwert verwendet. In einigen Ausführungsformen, wenn die normale Belichtungsdauer oberhalb des Schwellwertes ist, wird die Überbelichtungsdauer auf die maximale Belichtungsdauer gesetzt (z.B. ein niedrigerer Multiplizierer der normalen Belichtungsdauer, als er in helleren Beleuchtungsbedingungen verwendet würde) und das Blitzlicht wird für die Überbelichtungsdauer verwendet, aber nicht für die normale Dauer oder die Unterbelichtungsdauer. In einigen Ausführungsformen, in Fällen, in denen das Blitzlicht verwendet wird, nimmt die mobile Vorrichtung die überbelichteten und normal belichteten Bilder auf und fügt diese zusammen, aber nimmt kein unterbelichtetes Bild auf und/oder setzt kein unterbelichtetes Bild mit den anderen zwei Bildern zusammen.
  • Die mobilen Vorrichtungen einiger Ausführungsformen haben eine niedrigere Grenze für die Länge einer Belichtung. In solchen Ausführungsformen kann, in hellen Beleuchtungsbedingungen, der Standardmultiplizierer für die Belichtungsdauer des unterbelichteten Bildes in einer Belichtungsdauer resultieren, die kürzer als die untere Grenze ist, die die mobile Vorrichtung erlaubt. In einigen solcher Ausführungsformen verwendet das unterbelichtete Bild einen Belichtungsmultiplizierer, der höher ist als er ansonsten wäre (z.B. einen Belichtungsmultiplizierer von ½ anstelle eines Standard-Belichtungsmultiplizierers von ¼). In manchen Fällen ist das Licht so hell, dass die normale Belichtungszeit an der unteren Grenze der erlaubten Belichtungszeiten ist. In solchen Fällen wird die Unterbelichtung für denselben Betrag an Zeit aufgenommen wie das normal belichtete Bild (was in zwei normal belichteten Bildern resultiert) und beim Zusammensetzen verwendet, um Rauschniveaus in dem finalen Bild zu verringern. In einigen solcher Ausführungsformen ist der Skalierungsfaktor Eu verringert, in Übereinstimmung mit dem geänderten Verhältnis von Belichtungsdauern.
  • Während die Beschreibung von vielen der hierin beschriebenen Ausführungsformen sich auf das Aufnehmen und Zusammensetzen von drei Bildern (z.B. eines unterbelichteten Bildes, eines normal belichteten Bildes und eines überbelichteten Bildes) bezieht, wird der Fachmann verstehen, dass in anderen Ausführungsformen andere Anzahlen von Bildern aufgenommen und/oder zusammengesetzt werden können. Z.B. setzen einige Ausführungsformen zwei Bilder (z.B. ein unterbelichtetes Bild und ein normal belichtetes Bild) anstelle von drei Bildern zusammen.
  • Weiterhin nehmen einige Ausführungsformen andere Anzahlen von Bildern auf, abhängig von den Beleuchtungsbedingungen. Z.B. setzen einige solcher Ausführungsformen drei Bilder zusammen, wenn die mobile Vorrichtung Bilder einer Szene mit sowohl dunklen Bereichen als auch hellen Bereichen aufnimmt, und setzt zwei Bilder zusammen, wenn die mobile Vorrichtung Bilder mit wenigen oder keinen dunklen Bereichen oder wenigen oder keinen hellen Bereichen aufnimmt. Wenn eine Szene wenige oder keine dunklen Bereiche aufweist, setzen einige dieser Ausführungsformen ein normal belichtetes und ein unterbelichtetes Bild zusammen. Wenn eine Szene wenige oder keine hellen Bereiche hat, setzen einige solcher Ausführungsformen ein normal belichtetes und ein unterbelichtetes Bild zusammen. Einige solcher Ausführungsformen verwenden ein Histogramm von einem oder mehreren Bildern (z.B. ein Vorschaubild), um zu bestimmen, ob eine Szene wenige oder keine hellen Bereiche aufweist oder wenige oder keine dunklen Bereiche aufweist. Einige Ausführungsformen, die zwei Bilder zusammensetzen, wenn entweder helle oder dunkle Bereiche klein sind oder fehlen, verwenden weiterhin drei Bilder, wenn sowohl helle als auch dunkle Bereiche klein sind oder fehlen (z.B. eine Szene, die hauptsächlich Mitteltöne aufweist). Alternativ, anstelle des Ausschließens von Typen von Bildern, basierend auf Qualitäten der individuellen Bereiche einer Szene, die aufzunehmen ist, schließen einige Ausführungsformen das überbelichtete Bild aus, beim Aufnehmen von Szenen, die über einem bestimmten Gesamtlichtniveau sind, und einige Ausführungsformen schließen das unterbelichtete Bild aus beim Aufnehmen von Szenen, die unterhalb eines bestimmten Gesamtlichtniveaus sind.
  • Während die obigen Beschreibungen den Begriff „Bild“ oder „Bilder“ für viele Sätze von Daten (z.B. ein Gauß-weichgezeichnetes Bild, schattenverbessertes Bild, überbelichtetes Bild, usw.) einschließen, wird der Fachmann verstehen, dass in einigen Ausführungsformen die Daten in diesen „Bildern“ nicht in einer visuellen Form bei der normalen Ausführung der Ausführungsform angezeigt werden. In solchen Ausführungsformen werden die Daten in den „Bildern“ verwendet, um andere Daten zu manipulieren und anzupassen, die schließlich in visueller Form angezeigt werden. Einige Ausführungsformen zeigen nur das finale Produkt, das HDR-Bild, an. Weiterhin zeigen andere Ausführungsformen eines oder mehrere der anderen Bilder, sowie das finale HDR-Bild an.
  • Die Ausführungsformen, die ein Blitzlicht-belichtetes Bild mit einem oder mehreren Nicht-Blitzlicht-belichteten Bildern kombinieren, ermöglichen es dem HDR-Bildaufnahmemodus der Vorrichtung, gemeinsam mit dem Blitzlichtmodus der Vorrichtung zu operieren. Andere Ausführungsformen jedoch ermöglichen der Vorrichtung, nur entweder im Blitzlichtmodus oder dem HDR-Modus zu operieren. Demgemäß, wenn der automatische Blitzlichtmodus aktiviert ist, deaktivieren diese Ausführungsformen den HDR-Bildaufnahmemodus.
  • Bildformate
  • Viele der oben beschriebenen Ausführungsformen werden mittels einem oder mehrerer Bildformate beschrieben. Der Fachmann wird verstehen, dass verschiedene Ausführungsformen Bilder in verschiedenen Formaten bereitstellen und manipulieren. In einigen Ausführungsformen werden Farbbilder als drei Informationskanäle bereitgestellt, sowie als ein Lumakanal und zwei Chromakanäle. Ein Farbformat, das in diesem Typ von Information verwendet wird, ist das Y'CbCr- (Luma-, Blauchroma-, und Rotchroma-) Farbformat. Die Kamerafunktion der mobilen Vorrichtung von einigen Ausführungsformen stellt automatisch die Bilder in einem Y'CbCr-Format bereit. Lichtsensoren (z.B. eine ladungsgekoppelte Vorrichtung) der mobilen Vorrichtung misst die Intensität des Lichts, das jeden Sensor erreicht, und erzeugt einen Luminanzwert (Y) proportional zu der Intensität. Die mobile Vorrichtung erzeugt die Y'-Komponente des Bildes durch Aufnehmen von Luminanzdaten, die von Lichtsensoren der Kamera empfangen werden, und durch Anwenden einer Gammakorrektur auf die Luminanzdaten (z.B. mathematisches Erhöhen des Luminanzwertes durch eine Potenz wie 1/2,2). In dem Y'CbCr-Format trägt der Luma- (Y'-) Kanal die Helligkeitsinformation des Bildes; der Cb- (manchmal in anderen Referenzen als CB-) Kanal trägt die Information, um wie viel die Blauwerte des Bildes von dem Luma- (Y'-) Wert abweichen; und der Cr- (manchmal in anderen Referenzen als CR-) Kanal trägt die Information, um wie viel die Rotwerte des Bildes von dem Luma- (Y'-) Wert abweichen. Tatsächlich stellt der Lumakanal (Y') ein Schwarz-und-Weiß- (und Grau-) Bild bereit und die Chromakanäle (Cb und Cr) fügen Farbe zu dem Bild hinzu. In einigen Ausführungsformen kann die Skala der Y'CbCr-Werte willkürlich geändert werden. Für die hierin beschriebenen Berechnungen ist das Luma (Y') auf ein Maximum von 1 und ein Minimum von 0 skaliert für die Berechnungen und die Chroma (Cb und Cr) sind von -0,5 bis 0,5 skaliert. Jedoch sind andere Skalen innerhalb des Bereiches einiger Ausführungsformen möglich. Z.B. wird das Luma (Y') von o bis 255 in einigen Ausführungsformen skaliert. Andere Ausführungsformen skalieren Luma von 16 bis 235 und skalieren Chroma von 16 bis 240. Andere Farbformate, wie YUV, usw., werden in einigen Ausführungsformen verwendet.
  • Einige mobile Vorrichtungen nehmen Bilder in dem YCbCr-Farbformat direkt auf und wandeln die Bilder in RGB-Bilder (z.B. Standard-RGB) oder in Y'CbCr-Bilder um. In einigen Ausführungsformen werden die oben beschriebenen Operationen auf den Bildern wie im Y'CbCr-Format aufgenommen ausgeführt (mit jedem notwendigen Umskalieren von der Skala der mobilen Vorrichtung). In anderen Ausführungsformen werden die Operationen auf Bildern ausgeführt, die ursprünglich in einem RGB-Format empfangen wurden und in Y'CbCr umgewandelt wurden. Die Operationen und mathematischen Gleichungen unten nehmen ein Y'CbCr-Farbformat an, jedoch verwenden andere Ausführungsformen andere Formate (z.B. YUV, usw.). In einigen Ausführungsformen mit anderen Farbformaten werden die Operationen und Gleichungen entsprechend angepasst. Ähnlich verwenden einige Ausführungsformen Luminanzwerte anstelle von Lumawerten beim Erzeugen der dezimierten Bilder und der Bitmaps, die verwendet werden, um die Bilder wie oben beschrieben auszurichten.
  • Während die Verfahren und Gleichungen, die oben beschrieben sind, mittels spezifischer Bildformate beschrieben sind, wird der Fachmann verstehen, dass die Verfahren und Gleichungen auf anderen Bildformaten in einigen Ausführungsformen verwendet werden können. Z.B. bezieht sich die obige Beschreibung an einigen Stellen auf Lumadaten und an anderen Stellen auf Luminanzdaten. Jedoch, wenn nicht anders spezifiziert, werden die Gleichungen und Verfahren, die hierin als angewandt auf Lumawerte in einigen Ausführungsformen beschrieben sind, auf Luminanzwerte in anderen Ausführungsformen angewandt und umgekehrt. Der Fachmann wird verstehen, dass Luma und Luminanz nur zwei Beispiele von Formaten für Bildintensitätsdaten sind, und dass die beschriebenen Prozesse und Gleichungen, die hierin beschrieben sind, in Bezug auf Luminanz und Luma in einigen Ausführungsformen auf andere Formate angewendet werden können, die Intensitätsinformation speichern. Z.B. führen einige Ausführungsformen die oben beschriebenen Operationen auf den roten, blauen, und grünen Komponenten der Bilder in einem RGB-Format aus, einem sRGB-Format, einem R'G'B'-Format (d.h. einem Gamma-korrigierten RGB-Format), oder anderen Formaten, die keine Intensitätsdaten und Farbdaten als separate Komponenten bereitstellen. Einige Ausführungsformen, die solche Operationen auf roten, blauen, und grünen Komponenten ausführen, wandeln zwischen Gamma-korrigierten und nicht-Gamma-korrigierten Formaten hin und her mithilfe derselben Operationen wie oben beschrieben oder ähnlichen Operationen.
  • Auf ähnliche Weise können die Gleichungen und Verfahren, die hierin als auf Chromadaten angewandt beschrieben sind in einigen Ausführungsformen auf andere Formate angewandt werden, die Farbdaten separat von Intensitätsdaten speichern. Weiterhin, obwohl die obige Beschreibung spezifische Teile von Verfahren darstellt, in denen eine Umwandlung von einem Format in ein anderes stattfinden kann (z.B. Luma nach Luminanz oder RGB nach Luma), wird der Fachmann verstehen, dass diese Umwandlungen von einem Bildformat in ein anderes auf jeder Stufe oder Stufen der Verfahren in einigen Ausführungsformen stattfinden können.
  • MOBILE VORRICHTUNG
  • 16 ist ein Beispiel einer mobilen Rechenvorrichtung 1600 einiger Ausführungsformen. Die Implementierung einer mobilen Rechenvorrichtung beinhaltet eine oder mehrere Verarbeitungseinheiten 1605, Speicherschnittstelle 1610 und Peripheriegeräteschnittstelle 1615. Jede dieser Komponenten, die die Rechenvorrichtungsarchitektur ausmachen, können separate Komponenten sein oder in einen oder mehrere integrierte Schaltkreise integriert sein. Diese verschiedenen Komponenten können auch durch einen oder mehrere Kommunikationsbusse oder Signalleitungen zusammen gekoppelt sein.
  • Die Peripheriegeräteschnittstelle 1615 koppelt mit verschiedenen Sensoren und Untersystemen, umfassend ein Kamerasubsystem 1620, ein drahtloses Kommunikationssubsystem/- subsysteme 1625, Audiosubsystem 1630, I/O-Subsystem 1635, usw. Die Peripheriegeräteschnittstelle 1615 ermöglicht Kommunikation zwischen Prozessoren und Peripheriegeräten. Peripheriegeräte, wie ein Orientierungssensor 1645 oder ein Beschleunigungssensor 1650 können mit der Peripheriegeräteschnittstelle 1615 gekoppelt sein, um die Orientierungs- und Beschleunigungsfunktionen zu ermöglichen.
  • Das Kamerasubsystem 1620 kann mit einem oder mehreren optischen Sensoren 1640 (z. B. eine ladungsgekoppelte Vorrichtung (Charged Coupled Device, CCD) optischer Sensor, ein komplementärer Metalloxid Halbleiter (Aufnahmemodule/ optischer Sensor) für eine oder mehrere Kameras der Vorrichtung gekoppelt sein. In einigen Ausführungsformen hat die Vorrichtung nur eine Kamera, während die Vorrichtung mehr als eine (z. B. zwei) Kameras in anderen Ausführungsformen hat. In einigen Ausführungsformen hat die Vorrichtung auf verschiedenen Seiten der Vorrichtung Kameras (z. B. eine Kamera auf der Vorderseite der Vorrichtung und eine Kamera auf der Rückseite der Vorrichtung). Das Kamerasubsystem 1620, das mit den Sensoren gekoppelt ist, kann Kamerafunktionen bereitstellen, wie Bild- und/oder Videodatenaufnahme. Die drahtlosen Kommunikationssubsysteme 1625 können dazu dienen, Kommunikationsfunktionen zu ermöglichen. Die drahtlosen Kommunikationssubsysteme 1625 können Funkfrequenzempfänger und -sender und optische Empfänger und Sender umfassen. Diese können so implementiert sein, dass sie über ein oder mehrere Kommunikationsnetzwerke, wie ein GSM-Netzwerk, ein WiFi-Netzwerk, ein Bluetooth-Netzwerk, usw. arbeiten. Die Audiosubsysteme 1630 sind mit einem Lautsprecher 1631 und einem Mikrofon 1632 gekoppelt, um sprachbasierte Funktionen, wie Spracherkennung, digitales Aufzeichnen, usw. zu ermöglichen.
  • Das I/O-Subsystem 1635 beinhaltet den Transfer zwischen Eingabe-/Ausgabeperipheriegerätevorrichtungen, wie eine Anzeige, einen Berührungsbildschirm, usw. und dem Datenbus der CPU durch die Peripheriegeräteschnittstelle 1615. Das 1/0-Subsystem 1635 kann einen Berührungsbildschirmcontroller 1655 und andere Eingabecontroller 1660 umfassen, um diese Funktionen zu ermöglichen. Der Berührungsbildschirmcontroller 1655 kann mit dem Berührungsbildschirm 1665 gekoppelt sein und Kontakt und Bewegung auf dem Bildschirm detektieren mithilfe irgendeiner von Mehrfach-Berührungsempfindlichkeitstechnologien. Andere Eingabecontroller 1660 können mit anderen Eingabe-/Steuervorrichtungen gekoppelt sein, wie einem oder mehreren Knöpfen.
  • Die Speicherschnittstelle 1610 kann mit dem Speicher 1670 gekoppelt sein, welcher Hochgeschwindigkeits-Wahlfreierzugriffs-Speicher und/oder nicht volatilen Speicher wie Flash-Speicher umfassen kann. Der Speicher kann ein Betriebssystem (Operating System, OS) 1672 speichern. Das OS 1672 kann Anweisungen zum Handhaben von Basissystemdiensten umfassen und zum Ausführen von Hardware-abhängigen Aufgaben.
  • Der Speicher kann auch Kommunikationsanweisungen 1674 umfassen, um die Kommunikation mit einer oder mehreren zusätzlichen Vorrichtungen zu ermöglichen; graphische Benutzerschnittstellenanweisungen 1676 um graphische Benutzerschnittstellenverarbeitung zu ermöglichen, Bildverarbeitungsanweisungen 1678, um bildbezogene Verarbeitung und Funktionen zu ermöglichen; Telefonanweisungen 1680, um telefonbezogene Verarbeitung und Funktionen zu ermöglichen; Medienaustausch- und -verarbeitungsanweisungen 1682, um Medienkommunikation und verarbeitungsbezogene Prozesse und Funktionen zu ermöglichen; Kameraanweisungen 1684, um kamerabezogene Verarbeitung und Funktionen zu ermöglichen und HDR-Bilderzeugungsanweisungen 1686, um die HDR-Erzeugungsprozesse und -funktionen zu ermöglichen. Die oben identifizieren Anweisungen müssen nicht als separate Softwareprogramme oder -module implementiert sein. Verschiedene Funktionen von mobilen Rechenvorrichtungen können in Hardware und/oder in Software implementiert sein, umfassend in einem oder mehreren Signalverarbeitungs- und/oder - anwendungsspezifischen integrierten Schaltkreis.
  • 17 zeigt eine Berührungs-I/O-Vorrichtung. Die oben beschriebenen Ausführungsformen können die Berührungs-I/O-Vorrichtung 1701 umfassen, die Berührungseingaben zum Interagieren mit einem Rechensystem 1703 empfangen kann, wie in 17 gezeigt, über einen drahtgebundenen oder drahtlosen Kommunikationskanal 1702. Die Berührungs-I/O-Vorrichtung 1701 kann verwendet werden, um Nutzereingaben an das Rechensystem 1703 bereitzustellen anstelle von oder in Kombination mit anderen Eingabevorrichtungen, wie eine Tastatur, Maus, usw. Eine oder mehrere Berührungs-I/O-Vorrichtungen 1701 können verwendet werden, um Benutzereingabe an das Rechensystem 1703 bereitzustellen. Die Berührungs-I/O-Vorrichtung 1701 kann ein integraler Teil des Rechensystems 1703 sein (z. B. Berührungsbildschirm auf einem Laptop) oder kann von der Rechenvorrichtung 1703 separat sein.
  • Die Berührungs-I/O-Vorrichtung 1701 kann eine berührungsempfindliche Tafel umfassen, die ganz oder teilweise transparent, halbtransparent, nichttransparent, lichtundurchlässig oder jede Kombination davon ist. Die Berührungs-I/O-Vorrichtung 1701 kann als ein Berührungsbildschirm, ein Berührungsfeld, ein Berührungsbildschirm, der wie ein Berührungsfeld funktioniert (z. B. ein Berührungsbildschirm, der das Berührungsfeld eines Laptops ersetzt), ein Berührungsbildschirm oder Berührungsfeld, das mit irgendeiner anderen Eingabevorrichtung kombiniert ist oder darin integriert ist (z. B. ein Berührungsbildschirm oder Berührungsfeld, das auf einer Tastatur angeordnet ist) oder irgendein mehrdimensionales Objekt, das eine berührungsempfindliche Oberfläche zum Empfangen von Berührungseingaben hat, ausgeführt sein.
  • In einem Beispiel kann die Berührungs-I/O-Vorrichtung 1701, die als ein Berührungsbildschirm ausgeführt ist, eine transparente und/oder halbtransparente berührungsempfindliche Tafel umfassen, die teilweise oder ganz über zumindest einem Teil einer Anzeige positioniert ist. Gemäß dieser Ausführungsform arbeitet die Berührungs-I/O-Vorrichtung 1701 so, dass sie graphische Daten, die von dem Rechensystem 1703 (und/oder einer anderen Quelle) übertragen werden, anzeigt und auch Benutzereingaben empfängt. In anderen Ausführungsformen kann die Berührungs-I/O-Vorrichtung 1701 als ein integrierter Berührungsbildschirm ausgeführt sein, in dem berührungsempfindliche Komponenten/Vorrichtungen in die Anzeigenkomponenten/-vorrichtungen integriert sind. In weiter anderen Ausführungsformen kann ein Berührungsbildschirm als ein zusätzlicher oder ergänzender Anzeigenbildschirm verwendet werden zum Anzeigen von zusätzlichen oder denselben graphischen Daten wie eine primäre Anzeige und zum Empfangen von Berührungseingaben.
  • Die Berührungs-I/O-Vorrichtung 1701 kann dazu konfiguriert sein, den Ort von einer oder mehreren Berührungen oder Fastberührungen auf der Vorrichtung 1701 zu erfassen basierend auf kapazitiven, resistiven, optischen, akustischen, induktiven, mechanischen, chemischen Messungen oder jedem Phänomen, das bezogen auf die Auftritte von einem oder mehreren Berührungen oder Fastberührungen in der Nähe der Vorrichtung 1701 gemessen werden können. Software, Hardware, Firmware oder jede Kombination davon kann verwendet werden, um die Messungen der erfassten Berührungen zu identifizieren und eine oder mehrere Gesten zu verfolgen. Eine Geste kann stationären oder nichtstationären, einzelnen oder mehreren Berührungen oder Fastberührungen auf der Berührungs-I/O-Vorrichtung 1701 entsprechen. Eine Geste kann durch das Bewegen von einem oder mehreren Fingern oder anderen Objekten auf eine bestimmte Weise auf der Berührungs-I/O-Vorrichtung 1701 ausgeführt werden, wie antippen, drücken, schwenken, wischen, drehen, ändern der Orientierung, drücken mit unterschiedlichem Druck und ähnlichem bei zumindest derselben Zeit, angrenzend nacheinander oder nacheinander folgend. Eine Geste kann charakterisiert werden durch, aber ist nicht begrenzt auf kneifen, gleiten, wischen, rotieren, biegen, ziehen oder Antipp-Bewegung zwischen oder mit irgendeinem der Finger oder Fingern. Eine einzelne Geste kann mit einer oder mehreren Händen, durch einen oder mehrere Benutzer oder eine Kombination davon ausgeführt werden.
  • Das Rechensystem 1703 kann eine Anzeige mit graphischen Daten treiben, um eine graphische Benutzerschnittstelle (GUI) anzuzeigen. Die GUI kann dazu konfiguriert sein, Berührungseingaben über die Berührungs-I/O-Vorrichtung 1701 zu empfangen. Als ein Berührungsbildschirm ausgeführt kann die Berührungs-I/O-Vorrichtung 1701 die GUI anzeigen. Alternativ kann die GUI auf einer Anzeige angezeigt werden, die separat ist von der Berührungs-I/O-Vorrichtung 1701 ist. Die GUI kann graphische Elemente umfassen, die an bestimmten Orten innerhalb der Schnittstelle angezeigt werden. Die graphischen Elemente können umfassen, ohne darauf begrenzt zu sein, eine Vielzahl von angezeigten virtuellen Eingabevorrichtungen, darunter virtuelle Scrollräder, eine virtuelle Tastatur, virtuelle Knäufe, virtuelle Tasten oder irgendein virtuelles UI und ähnliches. Ein Benutzer kann Gesten auf einem oder mehreren bestimmten Orten auf der Berührungs-I/O-Vorrichtung 1701 ausführen, welche mit den graphischen Elementen der GUI assoziiert sein können. In anderen Ausführungsformen kann der Benutzer Gesten an einem oder mehreren Orten ausführen, die unabhängig von den Orten der graphischen Elemente der GUI sind. Gesten, die auf der Berührungs-I/O-Vorrichtung 1701 ausgeführt werden, können direkt oder indirekt graphische Elemente, wie Cursor, Icons, Mediendateien, Listen, Text, alles oder Teile von Bildern oder ähnliches innerhalb der GUI manipulieren, steuern, modifizieren, bewegen, aktivieren, initiieren oder allgemein beeinflussen. Zum Beispiel, im Fall eines Berührungsbildschirms kann ein Benutzer direkt mit einem graphischen Element interagieren durch das Ausführen einer Geste über dem graphischen Element auf dem Berührungsbildschirm. Alternativ stellt ein Berührungsfeld allgemein indirekte Interaktion bereit. Gesten können auch nicht angezeigte GUI Elemente beeinflussen (z. B. hervorrufen, dass Benutzerschnittstellen erscheinen) oder können andere Aktionen innerhalb des Rechensystems 1703 beeinflussen (z. B. einen Zustand oder Modus einer GUI, Anwendung, oder Betriebssystems beeinflussen). Gesten können auf einer Berührungs-I/O-Vorrichtung 1701 im Zusammenhang mit einem angezeigten Cursor ausgeführt werden oder nicht. Zum Beispiel, in dem Fall, in dem Gesten auf einem Berührungsfeld ausgeführt werden, kann ein Cursor (oder Zeiger) auf einem Anzeigenbildschirm oder Berührungsbildschirm angezeigt werden und der Cursor kann über Berührungseingaben auf dem Berührungsfeld gesteuert werden, um mit graphischen Objekten auf dem Anzeigenbildschirm zu interagieren. In anderen Ausführungsformen, in welchen Gesten direkt auf einem Berührungsbildschirm ausgeführt werden, kann ein Benutzer direkt mit Objekten auf dem Berührungsbildschirm interagieren mit oder ohne der Anzeige eines Cursors oder Zeigers auf dem Berührungsbildschirm.
  • Rückmeldung kann dem Benutzer über den Kommunikationskanal 1702 in Antwort auf oder basierend auf der Berührung oder Fastberührungen auf der Berührungs-I/O-Vorrichtung 1701 bereit gestellt werden. Die Rückmeldung kann optisch, mechanisch, elektrisch, durch Gerüche, akustisch, oder ähnliches oder jede Kombination davon und in einer variablen oder nichtvariablen Weise übertragen werden.
  • Diese oben beschriebenen Funktionen können durch digitale elektronische Schaltkreise, in Computer-Software, Firmware oder Hardware implementiert sein. Die Techniken können implementiert sein mithilfe eines oder mehrerer Computerprogrammprodukte. Programmierbare Prozessoren und Computer können in mobilen Vorrichtungen umfasst sein oder als mobile Vorrichtungen gepackt sein. Die Verfahrens- und Logikflüsse können durch einen oder mehrere programmierbare Prozessoren und durch einen oder mehrere programmierbare Logikschaltkreise ausgeführt werden. Allgemeine und auf einen bestimmten Zweck ausgerichtete Rechenvorrichtungen und Speichervorrichtungen können durch Kommunikationsnetzwerke verbunden sein.
  • Einige Ausführungsformen umfassen elektronische Komponenten wie Mikroprozessoren, Speicher und Speicherkapazität, die Computerprogrammanweisungen in einem maschinenlesbaren oder computerlesbaren Medium speichern (alternativ als ein computerlesbares Speichermedium, maschinenlesbares Medium oder maschinenlesbares Speichermedium bezeichnet). Solche Beispiele von computerlesbaren Medien umfassen RAM, ROM, Read-Only Compact Discs (CD-ROM), beschreibbare Compact Discs (CD-R), wiederbeschreibbare Compact Discs (CD-RW), Read-Only Digital Versatile Discs (z. B. DVD-ROM, Zweischicht-DVD-ROM), eine Vielzahl von beschreibbaren/wiederbeschreibbaren DVDs (z. B. DVD-RAM, DVD-RW, DVD+RW, etc.), Flash-Speicher (z. B. SD-Karten, Mini-SD-Karten, Mikro-SD-Karten, etc.), magnetische und/oder Festkörperfestplatten, Nur-Lese und beschreibbare Blu-Ray®-Discs, Ultradensity Optical Discs und jedes andere optische und magnetische Medium und Disketten. Das computerlesbare Medium kann einen Computercode speichern, der durch zumindest eine Verarbeitungseinheit ausführbar ist und Sätze von Instruktionen umfasst zum Ausführen von verschiedenen Operationen. Beispiele von Computerprogrammen oder Computercode umfassen Maschinencode, wie durch einen Compiler erzeugt und Dateien, die Code auf höherem Niveau umfassen, die durch einen Computer, eine elektronische Komponente oder einen Mikroprozessor mithilfe eines Interpreters ausgeführt werden.
    Während die obige Beschreibung sich primär auf Mikroprozessoren oder Mehrkernprozessoren bezieht, die Software ausführen, werden einige Ausführungsformen durch einen oder mehrere integrierte Schaltkreise, wie anwendungsspezifische integrierte Schaltkreise (ASICS) oder feldprogrammierbare Gatterlogik (FPGAs) ausgeführt. In einigen Ausführungsformen führen solche integrierten Schaltkreise Anweisungen aus, die in dem Schaltkreis selbst gespeichert sind.
  • Wie in dieser Spezifikation und irgendwelchen Ansprüchen dieser Anmeldung verwendet bezeichnen die Wörter „Computer“, „Server“, „Prozessor“ und „Speicher“ alle elektronische oder anderen technologische Vorrichtungen. Diese Begriffe schließen Menschen oder Gruppen von Menschen aus. Für die Zwecke dieser Beschreibung bedeuten die Wörter Anzeige oder anzeigen das Anzeigen auf einer elektronischen Vorrichtung. Wie in dieser Spezifikation verwendet und in irgendwelchen Ansprüchen dieser Anmeldung sind die Begriffe „Computerlesbares Medium“, „computerlesbare Medien“, „maschinenlesbares Medium“ oder „maschinenlesbare Medien“ alle insgesamt auf körperliche physikalische Objekte beschränkt, die Informationen in einer Form speichern, die durch einen Computer, Rechenvorrichtung oder andere elektronische Vorrichtungen mit einer oder mehreren Verarbeitungseinheiten gelesen werden können. Diese Begriffe schließen jegliche drahtlosen Signale, drahtgebundene heruntergeladene Signale, und irgendwelche anderen flüchtigen Signale aus.
  • Während diese Erfindung mit Bezug auf verschiedene spezifische Details beschrieben wurde, wird der Fachmann verstehen, dass die Erfindung in anderen spezifischen Formen ausgeführt sein kann, ohne von dem Geist der Erfindung abzuweichen. Zum Beispiel, obwohl verschiedene Ausführungsformen oben für mobile Vorrichtungen beschrieben sind, wird der Fachmann verstehen, dass die Vorrichtung in anderen Ausführungsformen nicht mobile Vorrichtungen, wie ein Desktop-Computer sein können.
    Zusätzlich zeigt eine Anzahl von Figuren (umfassend 4, 6, 7, 9, 10, 12 und 14) konzeptionell Verfahren. Die spezifischen Operationen dieser Verfahren müssen nicht in der genauen gezeigten und beschriebenen Reihenfolge ausgeführt werden. Die spezifischen Operationen müssen nicht in einer kontinuierlichen Serie von Operationen ausgeführt werden und unterschiedliche Operationen können in unterschiedlichen Ausführungsformen ausgeführt werden. Weiterhin könnte das Verfahren mithilfe verschiedener Unterprozesse oder als ein Teil eines größeren Makroverfahrens implementiert sein. Ebenfalls könnten Operationen, die sequenziell erscheinen, in einer durchwürfelten Weise ausgeführt werden. Deshalb würde der Fachmann verstehen, dass die Erfindung nicht durch die vorgehenden illustrativen Details begrenzt ist, sondern stattdessen durch die beigefügten Ansprüche definiert wird.

Claims (15)

  1. Mobile Vorrichtung, die Bilder aufnimmt, wobei die Vorrichtung umfasst: eine Kamera zum Aufnehmen von zumindest drei Bildern mit unterschiedlichen Bildbelichtungsdauern; und ein Bildverarbeitungsmodul zum Zusammensetzen der drei aufgenommenen Bilder, um ein erstes zusammengesetztes Bild zu erzeugen und zum Modifizieren des ersten zusammengesetzten Bildes, um ein zweites zusammengesetztes Bild zu erzeugen, durch das Ausdehnen eines Bereiches von Pixelwerten in einer ersten Auswahl von Regionen des ersten zusammengesetzten Bildes und das Komprimieren des Bereiches von Pixelwerten in einer zweiten Auswahl von Regionen des ersten zusammengesetzten Bildes, wobei das Bildverarbeitungsmodul die zumindest drei Bilder unter Verwendung von Masken zusammensetzt, die für jedes der aufgenommenen Bilder erzeugt wurden und die Teile der jeweiligen aufgenommenen Bilder spezifizieren, die in dem ersten zusammengesetzten Bild zu verwenden sind, wobei eine Maske für eines der zumindest drei aufgenommenen Bilder von jeweiligen Masken von anderen der zumindest drei aufgenommenen Bilder abgeleitet wird.
  2. Mobile Vorrichtung nach Anspruch 1, wobei die drei aufgenommenen Bilder Bilder, einer Szene mit hohem Dynamikbereich (High Dynamic Range, HDR) sind, die helle und dunkle Bereiche aufweist und wobei das erste zusammengesetzte Bild ein Bild ist, das Details innerhalb der hellen und dunklen Bereiche der HDR-Szene anzeigt.
  3. Mobile Vorrichtung nach Anspruch 1, wobei das Bildverarbeitungsmodul die drei aufgenommenen Bilder zusammensetzt durch das Identifizieren von Gewichtungswerten für Pixel in den drei aufgenommenen Bildern und selektivem Kombinieren von Komponentenfarbwerten der Pixel basierend auf den identifizieren Gewichtungswerten.
  4. Mobile Vorrichtung nach Anspruch 1, wobei die drei aufgenommenen Bilder Lumakanaldaten umfassen, wobei das Bildverarbeitungsmodul weiter eine Linearisierungsoperation ausführt, die die Lumakanaldaten in Luminanzkanaldaten umwandelt.
  5. Mobile Vorrichtung nach Anspruch 1, wobei zumindest ein aufgenommenes Bild in einem Intervall aufgenommen wird, nach dem die mobile Vorrichtung angewiesen wird, ein Bild einer Szene aufzunehmen.
  6. Mobile Vorrichtung nach Anspruch 1, wobei das Bildverarbeitungsmodul umfasst: ein Ausrichtungsmodul zum Ausrichten der drei aufgenommenen Bilder; und ein Zusammensetzungsmodul zum Zusammensetzen der drei aufgenommenen Bilder nachdem die drei Bilder ausgerichtet sind.
  7. Mobile Vorrichtung nach Anspruch 1, wobei die Kamera umfasst: einen Kamerasensor zum Detektieren von Licht von einer Szene; und ein Bildaufnahmemodul, um mit dem Kamerasensor zu interagieren, um die drei Bilder aufzunehmen.
  8. Nichtflüchtiges maschinenlesbares Medium von einer Vorrichtung, die Bilder aufnimmt, wobei das Medium ein Programm speichert zum Erzeugen eines Bildes mit hohem Dynamikbereich (High Dynamic Range, HDR), wobei das Programm Sätze von Anweisungen umfasst zum: Aufnehmen eines ersten Bildes mit einer ersten Belichtungsdauer, eines zweiten Bildes mit einer zweiten Belichtungsdauer, die länger ist als die erste Belichtungsdauer, und eines dritten Bildes mit einer dritten Belichtungsdauer, die länger ist als die zweite Belichtungsdauer; für jedes Bild Erzeugen einer Maske, die Teile des Bildes spezifiziert, die zur Erzeugung des HDR-Bildes zu verwenden sind; und Verwenden der Masken, um die aufgenommenen Bilder zusammenzusetzen, um das HDR-Bild zu erzeugen, wobei die Maske für das zweite Bild von dem ersten Bild und dem dritten Bild abgeleitet wird.
  9. Nichtflüchtiges maschinenlesbares Medium nach Anspruch 8, wobei jede Maske eine Mehrzahl von Maskenwerten umfasst, die die Teile des Bildes spezifiziert, die zur Erzeugung des HDR-Bildes zu verwenden sind, wobei der Satz von Anweisungen zum Verwenden der Masken um die Bilder zusammenzusetzen einen Satz von Anweisungen umfasst zum Verwenden der Maskenwerte als Gewichtungsfaktoren um Komponentenfarbwerte von Pixeln in den Bildern selektiv zu kombinieren.
  10. Nichtflüchtiges maschinenlesbares Medium nach Anspruch 9, wobei die Maskenwerte für das erste Bild auf der Helligkeit der Pixel in dem ersten Bild basieren und Maskenwerte für das dritte Bild auf der Helligkeit der Pixel in dem dritten Bild basieren.
  11. Nichtflüchtiges maschinenlesbares Medium nach Anspruch 8, wobei das Programm weiter einen Satz von Anweisungen zum Ausrichten der aufgenommenen Bilder vor dem Zusammensetzen der Bilder umfasst.
  12. Verfahren zum Erzeugen eines Bildes mit hohem Dynamikbereich (High Dynamic Range, HDR), wobei das Verfahren umfasst: Empfangen eines ersten Bildes, das mit einer ersten Belichtungsdauer aufgenommen ist, eines zweiten Bildes, das mit einer zweiten Belichtungsdauer aufgenommen ist, die länger ist als die erste Belichtungsdauer, und eines dritten Bildes, das mit einer dritten Belichtungsdauer aufgenommen ist, die länger als die zweite Belichtungsdauer ist; für jedes Bild, Verwendung des zweiten Bildes , unabhängig von dem ersten Bild und dem dritten Bild, zur Erzeugung einer Maske, die einen Maskenwert für jeden Pixel aus einer Mehrzahl von Pixeln des Bildes umfasst; für jedes Bild, Anpassen eines Komponentenfarbwertes von jedem Pixel in der Mehrzahl von Pixeln des Bildes basierend auf den entsprechenden Maskenwerten des Pixels und einem Faktor, der mit der Belichtungsdauer verbunden ist, mit der das Bild aufgenommen wurde; und Erzeugen eines zusammengesetzten HDR-Bildes durch Kombinieren der angepassten Komponentenfarbwerte von entsprechenden Pixeln von jedem der Bilder.
  13. Verfahren nach Anspruch 12, wobei die Verwendung des zweiten Bildes , unabhängig von dem ersten Bild und dem dritten Bild,zur Erzeugung der Maske umfasst: Verwendung von Helligkeitswerten von Pixeln des zweiten Bildes, unabhängig von den Helligkeitswerten des ersten Bildes und des dritten Bildes.
  14. Verfahren nach Anspruch 12, wobei die Verwendung des zweiten Bildes , unabhängig von dem ersten Bild und dem dritten Bild, zur Erzeugung der Maske für jedes Bild umfasst: Verwendung von Helligkeitswerten der Pixel in dem zweiten Bild, unabhängig von den Helligkeitswerten des ersten Bildes und des dritten Bildes, zur Erzeugung der Masken für die ersten und die dritten Bilder.
  15. Verfahren nach Anspruch 12 weiter umfassend Weichzeichnen von jeder der Masken, um die maskierenden Werte räumlich weich zu machen, um Hochfrequenzübergänge in dem zusammengesetzten HDR-Bild zu verringern.
DE102011078662.7A 2010-07-05 2011-07-05 Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich Expired - Fee Related DE102011078662B4 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US36151610P 2010-07-05 2010-07-05
US61/361,516 2010-07-05
US36152510P 2010-07-06 2010-07-06
US61/361,525 2010-07-06
US37893310P 2010-08-31 2010-08-31
US61/378,933 2010-08-31
US12/876,095 2010-09-03
US12/876,095 US8760537B2 (en) 2010-07-05 2010-09-03 Capturing and rendering high dynamic range images

Publications (2)

Publication Number Publication Date
DE102011078662A1 DE102011078662A1 (de) 2012-06-21
DE102011078662B4 true DE102011078662B4 (de) 2020-09-24

Family

ID=45399445

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011078662.7A Expired - Fee Related DE102011078662B4 (de) 2010-07-05 2011-07-05 Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich

Country Status (6)

Country Link
US (6) US8699821B2 (de)
JP (2) JP5615973B2 (de)
KR (2) KR101428427B1 (de)
CN (2) CN103069454B (de)
DE (1) DE102011078662B4 (de)
WO (3) WO2012006251A1 (de)

Families Citing this family (410)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7978925B1 (en) 2005-04-16 2011-07-12 Apple Inc. Smoothing and/or locking operations in video editing
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7912337B2 (en) 2005-11-02 2011-03-22 Apple Inc. Spatial and temporal alignment of video sequences
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9633426B2 (en) 2014-05-30 2017-04-25 General Electric Company Remote visual inspection image capture system and method
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
JP5436367B2 (ja) * 2009-09-29 2014-03-05 富士フイルム株式会社 グラフィック配置決定方法ならびにそのプログラムおよび情報処理装置
KR20110052124A (ko) * 2009-11-12 2011-05-18 삼성전자주식회사 파노라마 이미지 생성 및 조회 방법과 이를 이용한 휴대 단말기
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8699821B2 (en) 2010-07-05 2014-04-15 Apple Inc. Aligning images
JP2012109900A (ja) * 2010-11-19 2012-06-07 Aof Imaging Technology Ltd 撮影装置、撮影方法、およびプログラム
US9900522B2 (en) * 2010-12-01 2018-02-20 Magna Electronics Inc. System and method of establishing a multi-camera image using pixel remapping
CN103053163A (zh) * 2010-12-16 2013-04-17 松下电器产业株式会社 图像生成装置、图像生成***、方法及程序
DE102010055974A1 (de) * 2010-12-23 2012-06-28 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Bestimmung eines Klassenreferenzdatensatzes für die Klassifizierung von Wertdokumenten
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
JP5655667B2 (ja) * 2011-03-31 2015-01-21 カシオ計算機株式会社 撮像装置及び撮像制御方法、画像処理装置及び画像処理方法、並びにプログラム
US8836816B2 (en) * 2011-05-19 2014-09-16 Foveon, Inc. Method of adjusting the brightness of a digital camera image
US8823745B2 (en) * 2011-06-02 2014-09-02 Yoostar Entertainment Group, Inc. Image processing based on depth information and color data of a scene
US8989492B2 (en) * 2011-06-03 2015-03-24 Apple Inc. Multi-resolution spatial feature extraction for automatic handwriting recognition
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
JP5787648B2 (ja) * 2011-07-11 2015-09-30 キヤノン株式会社 画像処理装置及び画像処理装置の制御方法
US20130044237A1 (en) * 2011-08-15 2013-02-21 Broadcom Corporation High Dynamic Range Video
GB201114591D0 (en) * 2011-08-23 2011-10-05 Tomtom Int Bv Methods of and apparatus for displaying map information
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8781238B2 (en) * 2011-09-08 2014-07-15 Dolby Laboratories Licensing Corporation Efficient decoding and post-processing of high dynamic range images
CN103002195B (zh) * 2011-09-09 2016-03-30 中磊电子(苏州)有限公司 运动检测方法及运动检测装置
US8200020B1 (en) 2011-11-28 2012-06-12 Google Inc. Robust image alignment using block sums
JP5713885B2 (ja) * 2011-12-26 2015-05-07 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム、並びに記憶媒体
JP6136086B2 (ja) * 2011-12-28 2017-05-31 ソニー株式会社 撮像装置および画像処理装置
JP5798497B2 (ja) * 2012-01-20 2015-10-21 ルネサスエレクトロニクス株式会社 移動量検出装置、移動体検出装置及び移動量検出方法
US8965120B2 (en) 2012-02-02 2015-02-24 Canon Kabushiki Kaisha Image processing apparatus and method of controlling the same
US9075975B2 (en) * 2012-02-21 2015-07-07 Andrew Bud Online pseudonym verification and identity validation
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
JP5978949B2 (ja) * 2012-03-16 2016-08-24 富士通株式会社 画像合成装置及び画像合成用コンピュータプログラム
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9031319B2 (en) * 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
TWI523500B (zh) * 2012-06-29 2016-02-21 私立淡江大學 影像的動態範圍壓縮方法與影像處理裝置
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9030571B2 (en) * 2012-07-11 2015-05-12 Google Inc. Abstract camera pipeline for uniform cross-device control of image capture and processing
RU2580093C2 (ru) 2012-08-08 2016-04-10 Долби Лабораторис Лайсэнзин Корпорейшн Обработка изображений для изображений с расширенным динамическим диапазоном (hdr)
US9676207B2 (en) * 2012-08-08 2017-06-13 Tabletop Media, LLC Printer control mechanism for a device having a mobile operating system
KR101207343B1 (ko) * 2012-08-30 2012-12-04 재단법인대구경북과학기술원 영상 밝기 조절 방법 및 그 장치와, 스테레오 카메라
US9531961B2 (en) 2015-05-01 2016-12-27 Duelight Llc Systems and methods for generating a digital image using separate color and intensity data
US9154708B1 (en) * 2014-11-06 2015-10-06 Duelight Llc Image sensor apparatus and method for simultaneously capturing flash and ambient illuminated images
US9918017B2 (en) 2012-09-04 2018-03-13 Duelight Llc Image sensor apparatus and method for obtaining multiple exposures with zero interframe time
US8446481B1 (en) 2012-09-11 2013-05-21 Google Inc. Interleaved capture for high dynamic range image acquisition and synthesis
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
TWI479362B (zh) * 2012-09-19 2015-04-01 Wistron Corp 雙模式遙控方法
FR2996034B1 (fr) * 2012-09-24 2015-11-20 Jacques Joffre Procede pour creer des images a gamme dynamique etendue en imagerie fixe et video, et dispositif d'imagerie implementant le procede.
US9846958B1 (en) 2012-10-04 2017-12-19 Aftershock Services, Inc. System and method for display object bitmap caching
TWI548284B (zh) * 2012-10-18 2016-09-01 鴻海精密工業股份有限公司 白平衡調整方法
KR101767094B1 (ko) * 2012-12-03 2017-08-31 한화테크윈 주식회사 영상 처리 장치 및 방법
US9087391B2 (en) 2012-12-13 2015-07-21 Google Inc. Determining an image capture payload burst structure
US8866927B2 (en) 2012-12-13 2014-10-21 Google Inc. Determining an image capture payload burst structure based on a metering image capture sweep
WO2014099320A1 (en) * 2012-12-17 2014-06-26 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for high dynamic range imaging
US8866928B2 (en) 2012-12-18 2014-10-21 Google Inc. Determining exposure times using split paxels
US9247152B2 (en) 2012-12-20 2016-01-26 Google Inc. Determining image alignment failure
US9307207B2 (en) * 2013-01-07 2016-04-05 GM Global Technology Operations LLC Glaring reduction for dynamic rearview mirror
US8995784B2 (en) 2013-01-17 2015-03-31 Google Inc. Structure descriptors for image processing
CN103973958B (zh) * 2013-01-30 2018-04-03 阿里巴巴集团控股有限公司 图像处理方法及设备
US9491366B2 (en) * 2013-02-01 2016-11-08 Htc Corporation Electronic device and image composition method thereof
US20140218410A1 (en) * 2013-02-05 2014-08-07 Sirui Hu System And Method For Efficiently Generating Device-Dependent Anaglyph Images
US9686537B2 (en) * 2013-02-05 2017-06-20 Google Inc. Noise models for image processing
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9509919B2 (en) 2014-11-17 2016-11-29 Duelight Llc System and method for generating a digital image
US10558848B2 (en) 2017-10-05 2020-02-11 Duelight Llc System, method, and computer program for capturing an image with correct skin tone exposure
US9807322B2 (en) 2013-03-15 2017-10-31 Duelight Llc Systems and methods for a digital image sensor
US10477087B2 (en) 2017-11-16 2019-11-12 Duelight Llc System, method, and computer program for capturing a flash image based on ambient and flash metering
US10088989B2 (en) 2014-11-18 2018-10-02 Duelight Llc System and method for computing operations based on a first and second user input
US9819849B1 (en) 2016-07-01 2017-11-14 Duelight Llc Systems and methods for capturing digital images
US9215433B2 (en) 2014-02-11 2015-12-15 Duelight Llc Systems and methods for digital photography
US9741150B2 (en) 2013-07-25 2017-08-22 Duelight Llc Systems and methods for displaying representative images
US9202129B2 (en) 2013-03-12 2015-12-01 Qualcomm Incorporated Reducing object detection time by utilizing space localization of features
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US8902328B2 (en) * 2013-03-14 2014-12-02 Konica Minolta Laboratory U.S.A., Inc. Method of selecting a subset from an image set for generating high dynamic range image
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9117134B1 (en) 2013-03-19 2015-08-25 Google Inc. Image merging with blending
US9066017B2 (en) 2013-03-25 2015-06-23 Google Inc. Viewfinder display based on metering images
CN104125408B (zh) 2013-04-28 2018-06-12 比亚迪股份有限公司 一种高动态范围图像处理方法及装置
KR101805629B1 (ko) * 2013-05-07 2017-12-07 삼성전자주식회사 영상의 상태에 따라 적응적인 영상 처리를 위한 방법 및 장치
US9413992B2 (en) * 2013-05-20 2016-08-09 Omnivision Technologies, Inc. High dynamic range image sensor with full resolution recovery
US9077913B2 (en) 2013-05-24 2015-07-07 Google Inc. Simulating high dynamic range imaging with virtual long-exposure images
US9131201B1 (en) 2013-05-24 2015-09-08 Google Inc. Color correcting virtual long exposures with true long exposures
RU2536675C1 (ru) * 2013-05-27 2014-12-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Южно-Российский государственный университет экономики и сервиса" (ФГБОУ ВПО "ЮРГУЭС") Устройство объединения изображений в единую композицию сцены
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
GB2516883B (en) 2013-08-02 2017-01-18 Anthropics Tech Ltd Image manipulation
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
TWI464526B (zh) * 2013-08-08 2014-12-11 Quanta Comp Inc 高動態範圍影像曝光時間控制方法
US20150063694A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Techniques for combining images with varying brightness degrees
US9767521B2 (en) * 2013-08-30 2017-09-19 The Climate Corporation Agricultural spatial data processing systems and methods
US9615012B2 (en) 2013-09-30 2017-04-04 Google Inc. Using a second camera to adjust settings of first camera
US9460118B2 (en) 2014-09-30 2016-10-04 Duelight Llc System, method, and computer program product for exchanging images
US9565416B1 (en) 2013-09-30 2017-02-07 Google Inc. Depth-assisted focus in multi-camera systems
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
EP2887645A1 (de) * 2013-12-19 2015-06-24 Thomson Licensing Verfahren und Vorrichtung zur Erfassung einer Gruppe von mit einem Blitzlicht beleuchteten Bildern
KR102209066B1 (ko) * 2014-01-17 2021-01-28 삼성전자주식회사 다수의 초점거리를 이용한 이미지 합성 방법 및 장치
US10057483B2 (en) * 2014-02-12 2018-08-21 Lg Electronics Inc. Mobile terminal and method thereof
CN104077759A (zh) * 2014-02-28 2014-10-01 西安电子科技大学 一种基于色觉感知及全局质量因子的多曝光度图像融合方法
US10554967B2 (en) * 2014-03-21 2020-02-04 Futurewei Technologies, Inc. Illumination compensation (IC) refinement based on positional pairings among pixels
US9544505B2 (en) * 2014-04-11 2017-01-10 Hanwha Techwin Co., Ltd. Image processing apparatus for synthesizing images based on a plurality of exposure time periods and image processing method thereof
EP2933999B1 (de) * 2014-04-14 2018-02-21 Alcatel Lucent Verfahren und Vorrichtung zur Erzeugung eines Bildes mit Bewegungsunschärfe
US10222824B2 (en) * 2014-05-12 2019-03-05 Intel Corporation Dual display system
CN103973941B (zh) * 2014-05-14 2017-05-10 深圳市大疆创新科技有限公司 数码影像的动态对比度调整方法和***
US10178329B2 (en) 2014-05-27 2019-01-08 Rambus Inc. Oversampled high dynamic-range image sensor
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9344636B2 (en) 2014-05-30 2016-05-17 Apple Inc. Scene motion correction in fused image systems
US9342871B2 (en) 2014-05-30 2016-05-17 Apple Inc. Scene motion correction in fused image systems
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
CN103997590B (zh) * 2014-06-13 2018-04-20 广州广电运通金融电子股份有限公司 一种图像校准方法及装置
CN105323493B (zh) * 2014-06-25 2018-11-06 恒景科技股份有限公司 局部增强装置、多重曝光影像***以及局部增强方法
JP6444073B2 (ja) * 2014-06-25 2018-12-26 キヤノン株式会社 画像処理装置
US9979894B1 (en) * 2014-06-27 2018-05-22 Google Llc Modifying images with simulated light sources
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
WO2016017987A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Method and device for providing image
KR102301231B1 (ko) * 2014-07-31 2021-09-13 삼성전자주식회사 영상 제공 방법 및 이를 위한 장치
US20160037043A1 (en) * 2014-08-01 2016-02-04 Omnivision Technologies, Inc. High dynamic range (hdr) images free of motion artifacts
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9613408B2 (en) * 2014-09-25 2017-04-04 Intel Corporation High dynamic range image composition using multiple images
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
CN104320576B (zh) * 2014-09-30 2018-11-13 百度在线网络技术(北京)有限公司 一种用于便携式终端的图像处理方法及图像处理装置
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10924688B2 (en) 2014-11-06 2021-02-16 Duelight Llc Image sensor apparatus and method for obtaining low-noise, high-speed captures of a photographic scene
US11463630B2 (en) 2014-11-07 2022-10-04 Duelight Llc Systems and methods for generating a high-dynamic range (HDR) pixel stream
US9998935B2 (en) 2014-11-18 2018-06-12 Duelight Llc System and method for sharing data based on a combined bandwidth consumption
CN106464815B (zh) 2014-11-21 2020-01-14 深圳市大疆创新科技有限公司 高动态范围成像的快速自适应混合的***以及方法
US9378688B2 (en) * 2014-11-24 2016-06-28 Caterpillar Inc. System and method for controlling brightness in areas of a liquid crystal display
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9607366B1 (en) * 2014-12-19 2017-03-28 Amazon Technologies, Inc. Contextual HDR determination
US9430457B2 (en) 2014-12-24 2016-08-30 Xerox Corporation Ambiguity reduction for image alignment applications
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10055672B2 (en) 2015-03-11 2018-08-21 Microsoft Technology Licensing, Llc Methods and systems for low-energy image classification
US10268886B2 (en) 2015-03-11 2019-04-23 Microsoft Technology Licensing, Llc Context-awareness through biased on-device image classifiers
JP6380986B2 (ja) * 2015-03-12 2018-08-29 富士フイルム株式会社 撮影装置および方法
CN104639845B (zh) * 2015-03-17 2017-12-26 上海兆芯集成电路有限公司 高动态范围图像产生方法以及使用该方法的装置
CN104683779B (zh) * 2015-03-17 2017-08-29 上海兆芯集成电路有限公司 自动白平衡补偿方法以及使用该方法的装置
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
TWI537875B (zh) * 2015-04-08 2016-06-11 大同大學 影像合成方法與影像處理裝置
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
EP3286915B1 (de) 2015-04-23 2021-12-08 Apple Inc. Benutzerschnittstelle für digitalen sucher für mehrere kameras
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
JP6390512B2 (ja) 2015-05-21 2018-09-19 株式会社デンソー 車載カメラ装置
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
JP6282303B2 (ja) * 2015-05-29 2018-02-21 キヤノン株式会社 撮像素子および撮像装置
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10176553B2 (en) * 2015-06-26 2019-01-08 Sony Corporation Image processing system with three-dimensional viewing and method of operation thereof
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US9654699B2 (en) * 2015-07-02 2017-05-16 Omnivision Technologies, Inc. High dynamic range imaging with reduced frame buffer
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
CN105163047B (zh) * 2015-09-15 2018-11-06 厦门美图之家科技有限公司 一种基于色彩空间转换的hdr图像生成方法、***及拍摄终端
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
CN105227856A (zh) * 2015-09-28 2016-01-06 广东欧珀移动通信有限公司 一种图像处理的方法及移动终端
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
CN106558034A (zh) * 2015-09-30 2017-04-05 北京奇虎科技有限公司 一种在移动设备中清理图像数据的方法和装置
US9552626B1 (en) * 2015-10-07 2017-01-24 Adobe Systems Incorporated Digital image blemish removal
US9936151B2 (en) * 2015-10-16 2018-04-03 Capsovision Inc Single image sensor for capturing mixed structured-light images and regular images
KR102519288B1 (ko) 2015-10-27 2023-04-07 삼성전자주식회사 콘텐츠 에코시스템에서 콘텐츠의 명암비 제어 장치 및 방법
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
CN105657244A (zh) * 2015-11-06 2016-06-08 乐视移动智能信息技术(北京)有限公司 防抖拍照方法、装置及移动终端
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
TWI546772B (zh) * 2015-11-18 2016-08-21 粉迷科技股份有限公司 影像疊層處理方法與系統
CN105450939A (zh) * 2015-11-19 2016-03-30 上海斐讯数据通信技术有限公司 一种高动态范围图像的显示方法及移动终端
KR102446442B1 (ko) 2015-11-24 2022-09-23 삼성전자주식회사 디지털 촬영 장치 및 그 동작 방법
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
CN105516696A (zh) * 2015-12-18 2016-04-20 广东欧珀移动通信有限公司 图像传感器、成像方法、成像装置和电子装置
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
JP6762714B2 (ja) * 2015-12-28 2020-09-30 ブリルニクス インク 固体撮像装置およびその駆動方法、電子機器
US10264196B2 (en) 2016-02-12 2019-04-16 Contrast, Inc. Systems and methods for HDR video capture with a mobile device
US10257394B2 (en) 2016-02-12 2019-04-09 Contrast, Inc. Combined HDR/LDR video streaming
US9864925B2 (en) * 2016-02-15 2018-01-09 Ebay Inc. Digital image presentation
CN105744159B (zh) * 2016-02-15 2019-05-24 努比亚技术有限公司 一种图像合成方法及装置
US12008034B2 (en) 2016-02-15 2024-06-11 Ebay Inc. Digital image presentation
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10281378B2 (en) * 2016-05-05 2019-05-07 Honeywell Federal Manufacturing & Technologies, Llc System and method for testing true stress and true strain
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
CN105959591A (zh) * 2016-05-30 2016-09-21 广东欧珀移动通信有限公司 局部hdr的实现方法及***
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
EP3610452B1 (de) * 2016-06-08 2024-04-24 Google LLC Erzeugen eines zusammengesetzten bildes aus einem physischen objekt
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
KR102603426B1 (ko) 2016-06-27 2023-11-20 삼성전자주식회사 이미지 처리장치 및 방법
US10070109B2 (en) * 2016-06-30 2018-09-04 Apple Inc. Highlight recovery in images
US10757344B2 (en) * 2016-07-01 2020-08-25 Maxell, Ltd. Imaging apparatus, imaging method and imaging program
WO2018006390A1 (en) * 2016-07-08 2018-01-11 SZ DJI Technology Co., Ltd. System and method for image processing
JP7081835B2 (ja) 2016-08-09 2022-06-07 コントラスト, インコーポレイテッド 車両制御のためのリアルタイムhdrビデオ
CN106204513B (zh) * 2016-08-15 2019-07-05 厦门美图之家科技有限公司 图像处理的方法、装置和***
JP6762806B2 (ja) * 2016-08-26 2020-09-30 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体
US10097766B2 (en) 2016-08-31 2018-10-09 Microsoft Technology Licensing, Llc Provision of exposure times for a multi-exposure image
WO2018044314A1 (en) 2016-09-01 2018-03-08 Duelight Llc Systems and methods for adjusting focus based on focus target information
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US9916644B1 (en) * 2016-09-09 2018-03-13 Omnivision Technologies, Inc. Ghost artifact removal system and method
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10565966B2 (en) * 2016-10-06 2020-02-18 Arm Limited Display controllers
US10070098B2 (en) * 2016-10-06 2018-09-04 Intel Corporation Method and system of adjusting video quality based on viewer distance to a display
US10284761B2 (en) * 2016-11-17 2019-05-07 Motorola Mobility Llc Multi-camera capture of a high dynamic range image
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
KR20180078961A (ko) * 2016-12-30 2018-07-10 삼성전자주식회사 이미지 촬상 장치 및 이의 구동 방법
US10250794B2 (en) 2017-01-04 2019-04-02 Motorola Mobility Llc Capturing an image using multi-camera automatic focus
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN106709888B (zh) * 2017-01-09 2019-09-24 电子科技大学 一种基于人眼视觉模型的高动态范围图像产生方法
US10169671B2 (en) 2017-02-17 2019-01-01 Motorola Mobility Llc Face detection with temperature and distance validation
US10057499B1 (en) 2017-02-21 2018-08-21 Motorola Mobility Llc Automatic exposure control convergence procedure by auxiliary camera
US10706512B2 (en) * 2017-03-07 2020-07-07 Adobe Inc. Preserving color in image brightness adjustment for exposure fusion
US10250795B2 (en) 2017-03-15 2019-04-02 Motorola Mobility Llc Identifying a focus point in a scene utilizing a plurality of cameras
US10158797B2 (en) * 2017-03-31 2018-12-18 Motorola Mobility Llc Combining images when a face is present
JP6887853B2 (ja) * 2017-04-03 2021-06-16 キヤノン株式会社 撮像装置、その制御方法、プログラム
US10122943B1 (en) 2017-05-05 2018-11-06 Motorola Mobility Llc High dynamic range sensor resolution using multiple image sensors
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
WO2018223882A1 (en) 2017-06-08 2018-12-13 Zhejiang Dahua Technology Co., Ltd. Methods and devices for processing images of traffic light
CN109035181B (zh) * 2017-06-08 2022-02-08 小元感知(北京)科技有限公司 一种基于图像平均亮度的宽动态范围图像处理方法
US10863105B1 (en) * 2017-06-27 2020-12-08 Amazon Technologies, Inc. High dynamic range imaging for event detection and inventory management
CN107343130B (zh) * 2017-08-17 2019-07-05 中国人民解放军国防科技大学 一种基于dmd动态分光的高动态成像模块
JP7057079B2 (ja) * 2017-09-01 2022-04-19 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
CN107820022A (zh) * 2017-10-30 2018-03-20 维沃移动通信有限公司 一种拍照方法及移动终端
CN107864317B (zh) * 2017-11-07 2020-03-13 西北核技术研究所 一种基于衰减掩膜的瞬态成像动态范围扩展方法
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
KR102650217B1 (ko) * 2017-12-07 2024-03-21 삼성전자주식회사 이미지를 제공하기 위한 방법 및 이를 지원하는 전자 장치
WO2019118319A1 (en) * 2017-12-15 2019-06-20 Gopro, Inc. High dynamic range processing on spherical images
US10757320B2 (en) 2017-12-28 2020-08-25 Waymo Llc Multiple operating modes to expand dynamic range
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11112964B2 (en) 2018-02-09 2021-09-07 Apple Inc. Media capture lock affordance for graphical user interface
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
WO2019209694A1 (en) * 2018-04-23 2019-10-31 Wrapped Llc High-resolution animated raster artwork for display
US10554902B2 (en) * 2018-05-01 2020-02-04 Hanwha Techwin Co., Ltd. Apparatus and method for processing images
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
CN108665510B (zh) * 2018-05-14 2022-02-08 Oppo广东移动通信有限公司 连拍图像的渲染方法、装置、存储介质及终端
CN108777786A (zh) * 2018-05-16 2018-11-09 长春理工大学 一种基于相机转移特性曲线的图像融合方法
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US10951888B2 (en) 2018-06-04 2021-03-16 Contrast, Inc. Compressed high dynamic range video
US10447942B1 (en) 2018-06-07 2019-10-15 Qualcomm Incorporated Flash control for video capture
US11423514B2 (en) * 2018-08-14 2022-08-23 Contrast, Inc. Image processing noise reduction
US10855964B2 (en) 2018-08-29 2020-12-01 Apple Inc. Hue map generation for highlight recovery
US11100620B2 (en) 2018-09-04 2021-08-24 Apple Inc. Hue preservation post processing for highlight recovery
TWI695622B (zh) 2018-09-06 2020-06-01 華晶科技股份有限公司 影像處理方法及影像處理裝置
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
CN109388457B (zh) * 2018-09-21 2022-02-25 杨立群 一种多场景的远程快速界面交互方法及装置
CN109298806B (zh) * 2018-09-21 2022-01-11 杨立群 一种基于对象识别的远程快速界面交互方法及装置
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10674072B1 (en) 2019-05-06 2020-06-02 Apple Inc. User interfaces for capturing and managing visual media
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US10867392B2 (en) * 2018-10-03 2020-12-15 Apical Limited Spatially multiplexed exposure
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN113170158B (zh) * 2018-11-19 2023-07-11 杜比实验室特许公司 视频编码器和编码方法
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
CN109788207B (zh) * 2019-01-30 2021-03-23 Oppo广东移动通信有限公司 图像合成方法、装置、电子设备及可读存储介质
DE102019102484A1 (de) * 2019-01-31 2020-08-06 Carl Zeiss Smt Gmbh Verarbeitung von dreidimensionalen Bilddatensätzen
US10554890B1 (en) * 2019-02-18 2020-02-04 Samsung Electronics Co., Ltd. Apparatus and method for generating low-light images with improved bokeh using mobile electronic device
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110149484B (zh) 2019-04-15 2020-07-10 浙江大华技术股份有限公司 图像合成方法、装置及存储装置
WO2020214966A1 (en) * 2019-04-19 2020-10-22 Direct Electron, Lp Apparatus and method for high dynamic range counting by pixelated detectors
JP7007324B2 (ja) * 2019-04-25 2022-01-24 ファナック株式会社 画像処理装置、画像処理方法、及びロボットシステム
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
CN111901475A (zh) * 2019-05-06 2020-11-06 苹果公司 用于捕获和管理视觉媒体的用户界面
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
CN112887586B (zh) * 2019-05-06 2022-05-10 苹果公司 用于捕获和管理视觉媒体的用户界面
US11062436B2 (en) 2019-05-10 2021-07-13 Samsung Electronics Co., Ltd. Techniques for combining image frames captured using different exposure settings into blended images
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2020250163A1 (en) * 2019-06-11 2020-12-17 Nerkar Sarang Dilip Methods, systems and computer program products for generating high dynamic range image frames
CN110177221B (zh) * 2019-06-25 2021-02-26 维沃移动通信有限公司 高动态范围图像的拍摄方法及装置
CN110290323B (zh) * 2019-06-28 2021-09-07 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
CN110445989B (zh) * 2019-08-05 2021-03-23 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
IL268612A (en) * 2019-08-08 2021-03-01 HYATT Yonatan Using an HDR image in a visual inspection process
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US20230138331A1 (en) * 2019-10-07 2023-05-04 Inspekto A.M.V. Ltd. Motion in images used in a visual inspection process
CN110784645B (zh) * 2019-10-09 2021-01-01 中国航空工业集团公司洛阳电光设备研究所 基于单色双通道sCMOS摄像机的灰度调制图像融合方法
US11297286B1 (en) 2019-11-13 2022-04-05 Facebook Technologies, Llc Monochrome cameras with sparsely arranged clusters of color filters for coloration of content
US20210152791A1 (en) * 2019-11-19 2021-05-20 Facebook Technologies, Llc Correction for lateral chromatic aberration in images
CN111031254B (zh) * 2020-01-15 2021-02-26 浙江大华技术股份有限公司 摄像模式的切换方法及装置、计算机装置及可读存储介质
CN113364964B (zh) * 2020-03-02 2023-04-07 RealMe重庆移动通信有限公司 图像处理方法、图像处理装置、存储介质与终端设备
US11265469B1 (en) * 2020-04-10 2022-03-01 Amazon Technologies, Inc. System to mitigate image jitter by an actuator driven camera
EP3902240B1 (de) 2020-04-22 2022-03-30 Axis AB Verfahren, vorrichtung, kamera und software zur durchführung einer elektronischen bildstabilisierung eines bildes mit hohem dynamikbereich
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11054973B1 (en) 2020-06-01 2021-07-06 Apple Inc. User interfaces for managing media
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11430094B2 (en) 2020-07-20 2022-08-30 Samsung Electronics Co., Ltd. Guided multi-exposure image fusion
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
KR20220015114A (ko) * 2020-07-30 2022-02-08 삼성전자주식회사 이미지를 처리하기 위한 전자 장치 및 그의 동작 방법
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11906895B2 (en) * 2020-10-06 2024-02-20 Mediatek Inc. Method and system for blending images captured under different strobe conditions
US11671715B2 (en) 2021-01-14 2023-06-06 Qualcomm Incorporated High dynamic range technique selection for image processing
US12014478B2 (en) * 2021-01-22 2024-06-18 Arm Limited Image adjustment based on local contrast
WO2022216295A1 (en) * 2021-04-09 2022-10-13 Zeku, Inc. Method and apparatus for operating an image signal processor
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US20230021726A1 (en) * 2021-07-15 2023-01-26 Samsung Electronics Co., Ltd. System and method for multi-exposure, multi-frame blending of red-green-blue-white (rgbw) images
US11961206B2 (en) 2021-09-09 2024-04-16 Samsung Electronics Co., Ltd. Image generation using non-linear scaling and tone-mapping based on cubic spline curves
CN113962915B (zh) * 2021-10-20 2022-04-29 哈尔滨工业大学 非均匀照明条件下的自适应非线性超动态图像合成方法
WO2023094871A1 (en) * 2021-11-29 2023-06-01 Weta Digital Limited Increasing dynamic range of a virtual production display
WO2023094872A1 (en) * 2021-11-29 2023-06-01 Weta Digital Limited Increasing dynamic range of a virtual production display
US11671714B1 (en) * 2022-01-24 2023-06-06 Qualcomm Incorporated Motion based exposure control
US11863880B2 (en) * 2022-05-31 2024-01-02 Microsoft Technology Licensing, Llc Image frame selection for multi-frame fusion
US11526990B1 (en) * 2022-08-10 2022-12-13 Bio-Marketing-T, Ltd. (BMT) Computer systems and computer-implemented methods for rapid diagnostic test result interpretation platform utilizing computer vision
WO2024096308A1 (ko) * 2022-11-02 2024-05-10 삼성전자 주식회사 광원 객체 이미지 처리 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080316354A1 (en) * 2005-02-03 2008-12-25 Johan Nilehn Method and Device for Creating High Dynamic Range Pictures from Multiple Exposures
US20090033755A1 (en) * 2007-08-03 2009-02-05 Tandent Vision Science, Inc. Image acquisition and processing engine for computer vision
WO2010123923A1 (en) * 2009-04-23 2010-10-28 Zoran Corporation Multiple exposure high dynamic range image capture

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3450536A (en) 1961-03-24 1969-06-17 Eg & G Inc Silver halide photographic film having increased exposure-response characteristics
US3620747A (en) 1968-05-20 1971-11-16 Eastman Kodak Co Photographic element including superimposed silver halide layers of different speeds
BE754842A (fr) 1969-08-14 1971-01-18 Eastman Kodak Co Produit photographique aux halogenures d'argent positif direct a latitude d'exposition amelioree
US3888676A (en) 1973-08-27 1975-06-10 Du Pont Silver halide films with wide exposure latitude and low gradient
US4647975A (en) 1985-10-30 1987-03-03 Polaroid Corporation Exposure control system for an electronic imaging camera having increased dynamic range
IT1188553B (it) 1986-02-24 1988-01-20 Minnesota Mining & Mfg Materiale fotografico multistrato a colori agli alogenuri d'argento
US5162914A (en) 1987-06-09 1992-11-10 Canon Kabushiki Kaisha Image sensing device with diverse storage fumes used in picture composition
IL87306A0 (en) 1988-08-02 1989-01-31 Technion Res & Dev Foundation Wide dynamic range camera
US5325449A (en) 1992-05-15 1994-06-28 David Sarnoff Research Center, Inc. Method for fusing images and apparatus therefor
US5323204A (en) 1992-11-03 1994-06-21 Eastman Kodak Company Automatic optimization of photographic exposure parameters for non-standard display sizes and/or different focal length photographing modes through determination and utilization of extra system speed
US5627905A (en) 1994-12-12 1997-05-06 Lockheed Martin Tactical Defense Systems Optical flow detection system
JPH09107499A (ja) 1995-10-11 1997-04-22 Canon Inc 撮像装置及びその画像処理方法
US5828793A (en) 1996-05-06 1998-10-27 Massachusetts Institute Of Technology Method and apparatus for producing digital images having extended dynamic ranges
US6459451B2 (en) 1996-06-24 2002-10-01 Be Here Corporation Method and apparatus for a panoramic camera to capture a 360 degree image
JPH10262182A (ja) 1997-03-17 1998-09-29 Ricoh Co Ltd 画像合成装置
US6160913A (en) * 1998-03-25 2000-12-12 Eastman Kodak Company Method and apparatus for digital halftone dots detection and removal in business documents
DK0947955T3 (da) 1998-04-03 2001-12-17 Da Vinci Systems Inc Fremgangsmåder og apparatur til frembringelse af kundespecifikke gammakurver for farvekorrektionsudstyr
US6104441A (en) 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
US6535650B1 (en) 1998-07-21 2003-03-18 Intel Corporation Creating high resolution images
US6459822B1 (en) 1998-08-26 2002-10-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Video image stabilization and registration
US7023913B1 (en) 2000-06-14 2006-04-04 Monroe David A Digital security multimedia sensor
JP4163353B2 (ja) 1998-12-03 2008-10-08 オリンパス株式会社 画像処理装置
US6549643B1 (en) 1999-11-30 2003-04-15 Siemens Corporate Research, Inc. System and method for selecting key-frames of video data
US6900840B1 (en) 2000-09-14 2005-05-31 Hewlett-Packard Development Company, L.P. Digital camera and method of using same to view image in live view mode
US6731821B1 (en) 2000-09-29 2004-05-04 Hewlett-Packard Development Company, L.P. Method for enhancing compressibility and visual quality of scanned document images
US6792160B2 (en) * 2001-07-27 2004-09-14 Hewlett-Packard Development Company, L.P. General purpose image enhancement algorithm which augments the visual perception of detail in digital images
US7221776B2 (en) 2001-10-31 2007-05-22 Arcsoft, Inc. Video stabilizer
US7061524B2 (en) * 2001-11-13 2006-06-13 The Board Of Trustees Of The Leland Stanford Junior University Motion/saturation detection system and method for synthesizing high dynamic range motion blur free images from multiple captures
US7009636B2 (en) * 2001-11-13 2006-03-07 The Board Of Trustees Of The Leland Stanford Junior University Photocurrent estimation from multiple captures for simultaneous SNR and dynamic range improvement in CMOS image sensors
US7277580B2 (en) 2001-12-12 2007-10-02 Sony Corporation Multiple thresholding for video frame segmentation
US7409104B2 (en) * 2002-07-18 2008-08-05 .Sightic Vista Ltd Enhanced wide dynamic range in imaging
US7734144B2 (en) 2002-10-30 2010-06-08 Koninklijke Philips Electronics N.V. Method and apparatus for editing source video to provide video image stabilization
US20040240562A1 (en) * 2003-05-28 2004-12-02 Microsoft Corporation Process and system for identifying a position in video using content-based video timelines
JP2004357202A (ja) * 2003-05-30 2004-12-16 Canon Inc 撮影装置
US7280753B2 (en) 2003-09-03 2007-10-09 Canon Kabushiki Kaisha Display apparatus, image processing apparatus, and image processing system
US7561731B2 (en) * 2004-12-27 2009-07-14 Trw Automotive U.S. Llc Method and apparatus for enhancing the dynamic range of a stereo vision system
US7239805B2 (en) 2005-02-01 2007-07-03 Microsoft Corporation Method and system for combining multiple exposure images having scene and camera motion
US7612804B1 (en) 2005-02-15 2009-11-03 Apple Inc. Methods and apparatuses for image processing
US7626614B1 (en) * 2005-02-15 2009-12-01 Apple Inc. Transfer function and high dynamic range images
EP1701536A1 (de) * 2005-03-08 2006-09-13 Sony Ericsson Mobile Communications AB Verfahren und Vorrichtung zur Bilderzeugung mit globalem Verschluss und mehreren Belichtungen
US7978925B1 (en) 2005-04-16 2011-07-12 Apple Inc. Smoothing and/or locking operations in video editing
US7480421B2 (en) 2005-05-23 2009-01-20 Canon Kabushiki Kaisha Rendering of high dynamic range images
US7443443B2 (en) 2005-07-28 2008-10-28 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for enhancing flash and ambient images
US7912337B2 (en) 2005-11-02 2011-03-22 Apple Inc. Spatial and temporal alignment of video sequences
WO2008022005A2 (en) * 2006-08-09 2008-02-21 Fotonation Vision Limited Detection and correction of flash artifacts from airborne particulates
TW200820123A (en) 2006-10-20 2008-05-01 Primax Electronics Ltd Method and system of generating high dynamic range image corresponding to specific scene
JP4821626B2 (ja) 2007-01-23 2011-11-24 株式会社ニコン 画像処理装置、電子カメラ、および画像処理プログラム
US8184926B2 (en) * 2007-02-28 2012-05-22 Microsoft Corporation Image deblurring with blurred/noisy image pairs
US7884871B2 (en) * 2007-06-15 2011-02-08 Aptina Imaging Corporation Images with high speed digital frame transfer and frame processing
US7969475B2 (en) * 2007-07-17 2011-06-28 Seiko Epson Corporation Low memory auto-focus and exposure system for large multi-frame image acquisition
CN101420531A (zh) * 2007-10-23 2009-04-29 鸿富锦精密工业(深圳)有限公司 高动态范围图片撷取装置及方法
US7949249B2 (en) * 2007-11-28 2011-05-24 Bowei Gai Software based photoflash synchronization of camera equipped portable media device and external lighting apparatus
US8098957B2 (en) * 2008-02-13 2012-01-17 Qualcomm Incorporated Shared block comparison architechture for image registration and video coding
KR101257942B1 (ko) * 2008-04-23 2013-04-23 고려대학교 산학협력단 광역 역광보정 영상처리에서의 전처리 방법 및 장치
US8724921B2 (en) * 2008-05-05 2014-05-13 Aptina Imaging Corporation Method of capturing high dynamic range images with objects in the scene
EP2289235A4 (de) * 2008-05-20 2011-12-28 Pelican Imaging Corp Aufnahme und verarbeitung von bildern mittels monolithischer kamera anordnung mit heterogenem bildwandler
US8090184B2 (en) * 2008-07-23 2012-01-03 Seiko Epson Corporation Fault detection of a printed dot-pattern bitmap
US8339475B2 (en) * 2008-12-19 2012-12-25 Qualcomm Incorporated High dynamic range image combining
US8437537B2 (en) * 2009-03-27 2013-05-07 Mitsubishi Electric Research Laboratories, Inc. Method and system for estimating 3D pose of specular objects
US8228400B2 (en) * 2009-04-17 2012-07-24 Sony Corporation Generation of simulated long exposure images in response to multiple short exposures
KR101604068B1 (ko) * 2009-09-22 2016-03-17 삼성전자주식회사 고대비 영상 생성 장치 및 방법
US8699821B2 (en) 2010-07-05 2014-04-15 Apple Inc. Aligning images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080316354A1 (en) * 2005-02-03 2008-12-25 Johan Nilehn Method and Device for Creating High Dynamic Range Pictures from Multiple Exposures
US20090033755A1 (en) * 2007-08-03 2009-02-05 Tandent Vision Science, Inc. Image acquisition and processing engine for computer vision
WO2010123923A1 (en) * 2009-04-23 2010-10-28 Zoran Corporation Multiple exposure high dynamic range image capture

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RADU C. B. ET AL: "High dynamic range imaging on mobile devices", Media Laboratory/Nokia Research Center, Visiokatu 1, 33720 Tampere, Finland, IEEE 2008, Seiten 1312-1315, ISBN 978-1-4244-2182-4 *
RADU C. B., VEHVILAINEN M.: "A Novel Tone Mapping Method for Image Contrast Enhancement", Nokia Research Center, Interaction Core Technology Center, Proceedings of the 5th International Symposium on image and Signal Processing and Analysis 2007, Seiten 268 bis 273 *

Also Published As

Publication number Publication date
US20150062382A1 (en) 2015-03-05
CN103069453B (zh) 2015-06-03
JP2013533706A (ja) 2013-08-22
US20180338078A1 (en) 2018-11-22
CN103069453A (zh) 2013-04-24
WO2012006251A4 (en) 2012-02-23
US9420198B2 (en) 2016-08-16
KR101433542B1 (ko) 2014-08-22
US20120002898A1 (en) 2012-01-05
US20120002082A1 (en) 2012-01-05
CN103069454A (zh) 2013-04-24
US8885978B2 (en) 2014-11-11
US10341574B2 (en) 2019-07-02
JP2013530657A (ja) 2013-07-25
DE102011078662A1 (de) 2012-06-21
KR20130033446A (ko) 2013-04-03
JP5530563B2 (ja) 2014-06-25
US8760537B2 (en) 2014-06-24
WO2012006251A1 (en) 2012-01-12
JP5615973B2 (ja) 2014-10-29
WO2012006252A1 (en) 2012-01-12
US20120002899A1 (en) 2012-01-05
WO2012006253A1 (en) 2012-01-12
KR20130033445A (ko) 2013-04-03
US8699821B2 (en) 2014-04-15
CN103069454B (zh) 2015-05-06
US20170048442A1 (en) 2017-02-16
WO2012006253A4 (en) 2012-02-23
KR101428427B1 (ko) 2014-08-07
US10038855B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
DE102011078662B4 (de) Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich
DE112018002228B4 (de) Konfigurierbare faltungsmaschine für verschachtelte kanaldaten
US8606042B2 (en) Blending of exposure-bracketed images using weight distribution functions
EP2987135B1 (de) Referenzbildauswahl für bewegungs-ghost-filterung
DE102013017122B4 (de) Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung
US9639956B2 (en) Image adjustment using texture mask
DE602006000400T2 (de) Bildsegmentierungsverfahren und -system
US8982251B2 (en) Image processing apparatus, image processing method, photographic imaging apparatus, and recording device recording image processing program
US8526057B2 (en) Image processing apparatus and image processing method
KR20140093237A (ko) 화상 합성 장치, 화상 합성 방법 및 기록 매체
US20200128167A1 (en) Image acquisition method and apparatus
DE112021006769T5 (de) Schaltung zur kombinierten heruntertaktung und korrektur von bilddaten
DE102009027692A1 (de) Bildverarbeitungsverfahren und Bildverarbeitungsvorrichtung sowie Digitalfotografievorrichtung, die Letztere verwendet
CN115471413A (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
JP2007151094A (ja) 画像の階調変換装置、プログラム、電子カメラ、およびその方法
DE112021002288T5 (de) Inhaltsbasierte bildverarbeitung
DE102012007838A1 (de) Hochdynamikbereich-Bildaufnahme mit Mehrfachbelichtung
JP5881350B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
CN113487513A (zh) 一种图片的亮度调节方法及其调节设备和存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102011123112

Country of ref document: DE

R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee