DE102013020611B4 - Ein Ansatz für eine Kamerasteuerung - Google Patents

Ein Ansatz für eine Kamerasteuerung Download PDF

Info

Publication number
DE102013020611B4
DE102013020611B4 DE102013020611.1A DE102013020611A DE102013020611B4 DE 102013020611 B4 DE102013020611 B4 DE 102013020611B4 DE 102013020611 A DE102013020611 A DE 102013020611A DE 102013020611 B4 DE102013020611 B4 DE 102013020611B4
Authority
DE
Germany
Prior art keywords
user
camera
user interface
image
revision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102013020611.1A
Other languages
English (en)
Other versions
DE102013020611A1 (de
Inventor
Dawid STANISLAW PAJAK
Jongmin Baek
Kari Pulli
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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
Priority claimed from US13/782,863 external-priority patent/US20140176745A1/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102013020611A1 publication Critical patent/DE102013020611A1/de
Application granted granted Critical
Publication of DE102013020611B4 publication Critical patent/DE102013020611B4/de
Active 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/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

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

Abstract

Ein Verfahren für eine Anwenderschnittstelle zur Ermöglichung einer Steuerung einer Kamera, wobei das Verfahren umfasst:Anzeigen eines farbtonzugeordneten Bildes mit hohem Dynamikbereich (HDR) auf einer Anwenderschnittstelleneinrichtung der Kamera, wobei die Anwenderschnittstelle mehrere Pixel, die eine Anzeigeoberfläche bilden, enthält, und wobei das farbtonzugeordnete HDR-Bild eine Interpretation einer Szene enthält, auf die eine Kameralinse der Kamera gerichtet ist;Empfangen von Anwenderüberarbeitungen über eine Eingabeeinrichtung, die mit der Anwenderschnittstelleneinrichtung verbunden ist;Senden der Anwenderüberarbeitungen zu einer oder mehreren nachgeordneten Einrichtungen in der Kamera, um Verarbeitungsoperationen auf der Grundlage der Anwenderüberarbeitungen auszuführen;Empfangen eines aktualisierten farbtonzugeordneten HDR-Bildes von der einen oder den mehreren nachgeordneten Einrichtungen, wobei das aktualisierte farbtonzugeordnete HDR-Bild aus den Verarbeitungsoperationen erzeugt ist, die auf der Grundlage der Anwenderüberarbeitungen ausgeführt wurden; undAnzeigen des aktualisierten farbtonzugeordneten HDR-Bildes auf der Anwenderschnittstelle, während die Kameralinse weiterhin Bilder der Szene für die eine oder die mehreren nachgeordneten Einrichtungen aufnimmt, um Operationen auszuführen, die iterativ das aktualisierte farbtonzugeordnete HDR-Bild beeinflussen.Anzeigen eines Auswahlgebiets auf der Anwenderschnittstelleneinrichtung in Reaktion auf den Empfang einer Anwendereingabe über die Eingabeeinrichtung, wobei das Auswahlgebiet durch ein oder mehrere Pixel, die in den mehreren Pixel enthalten sind, gebildet ist, wobei die eine oder die mehreren nachgeordneten Einrichtungen Aktionen ausführen mit:Empfangen einer Anwenderüberarbeitung über eine Anwenderschnittstelleneinrichtung, die eine Interpretation einer Szene anzeigt, auf die eine Kameralinse der Kamera gerichtet ist, wobei die Anwenderüberarbeitung auf einer Anwendereingabe beruht, die mit einem Auswahlgebiet auf der Anwenderschnittstelleneinrichtung verknüpft ist; undErzeugen einer Überarbeitungsmaske auf der Grundlage eines oder mehrerer übereinstimmender Bildabschnitte, die auf der Anwenderüberarbeitungen und einem Bild mit hohem Dynamikbereich (HDR), das von der Kamera erzeugt ist, beruhen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft generell die Bildaufnahme mit einer Kamera und insbesondere einen Ansatz für eine Kamerasteuerung.
  • Beschreibung des Stands der Technik
  • Mobilgeräte mit einer digitalen Kamera, einer Anzeige, einer adäquaten Rechenleistung und einer berührungsempfindlichen Schnittstelle werden zunehmend Allgemeingut und zunehmend leistungsfähig. Aktuell werden Fotos in nie gekannt Zahl durch Mobilgeräte aufgenommen und viele davon werden direkt auf dem Gerät überarbeitet und direkt von diesem Gerät für die gemeinsame Benutzung freigegeben, ohne in PCs eingeladen zu werden. Dieses Phänomen spiegelt sich auch in der jüngsten Hinwendung zu Kamerasteuerungen und Bildverarbeitung auf mobilen Plattformen und auch in der Popularität der Foto-Anwendungen auf intelligenten Telefonen wider.
  • Eine typische Digitalkamera beruht, unabhängig davon, ob eine digitale Kamera mit einzelner Linse und Reflex (DSLR) mit vielen Merkmalen oder eine Zielen-und-Abdrücken-Kamera betrachtet wird, auf einer Anzeige von Drehknöpfen und Tasten, um die Aufnahmeparameter zu steuern. In einer autarken fotografischen Pipeline wählt der Anwender einen vordefinierten Aufnahmemodus aus, der die Kamerajustierstrategie spezifiziert (beispielsweise Tageslicht, Nachtmodus, Punktmodus, Panorama, Makro-Fotografie, usw.), ein Bild aufnimmt, während möglicher Weise Aufnahmeparameter mit Schiebereglern oder Drehknöpfen eingestellt werden. Anschließend führt der Anwender, als einen Schritt einer optionalen Nachbehandlung, Überarbeitungen aus, um unerwünschte Justiereinstellungen zu korrigieren(beispielsweise ist Bild oder sind spezielle Bereiche überbelichtet/unterbelichtet, Hinzufügung einer synthetischen Unschärfe zum Hintergrund, um den Vordergrund zu betonen, usw.). Diese Vorgehensweise, die sich aus nahezu einem Jahrhundert der Entwicklung der Fotografie ergibt, ist effektiv, bringt aber einige Schwierigkeiten für unerfahrene Kamerabenutzer mit sich. Kameras mit Zielen-und-Abdrücken neigen dazu, nicht optimierte Bilder aufgrund der einfachen Justierstrategien zu erzeugen, die nicht die Absichten des Anwenders wiedergeben, während DSLR schwierig sind, um ohne eine fundierte Kenntnis der Fotografie bedient zu werden. Dazu kommt noch, dass eine direkte Anbindung einer Drehknopf-und Tasten-Schnittstelle nicht vollständig die Möglichkeit der berührungsempfindlichen Schnittstelle ausnutzt, die auf Mobilgeräten verfügbar ist.
  • Fotografen in früheren Zeiten konnten die Ergebnisse nicht direkt sehen, wenn sie die Bilder aufnahmen, sondern mussten sich die Ergebnisse in Abhängigkeit der diversen Bilderzeugungsparameter, etwa Belichtung, Fokus, sogar der Auswahl des Filmes und des Papiers, die verwendet wurden, vorstellen. Digitale Kameras mit digitalen Echtzeitanzeigen, die eine Bildvorschau präsentieren, haben die Fotografie wesentlich einfacher in dieser Hinsicht gemacht. Die Einstellung der Größe des Bildes und die Auswahl des Zeitpunkts der Aufnahme sind wesentlich einfacher und vergnüglicher, wenn die Kamera eine Vorschau davon bietet, wie das aufgenommene Bild aussehen wird. Wenn jedoch viele rechengestützte Fotografiertechniken eingesetzt werden, muss der Anwender dennoch sich das Ergebnis von beispielsweise der Kombination eines Belichtungsblitzes in einem Bild mit hohem Dynamikbereich (HDR) und die Farbzuordnung in dem HDR-Bild in einer Rückwärtsbetrachtung auf die Anzeige mit dem geringen dynamischen Bereich (LDR) vorstellen, anstatt dass er näherungsweise das Endergebnis in einem digitalen Bildsucher sehen kann. Ähnliche Beschränkungen gelten auch für die traditionelle digitale Fotografie. Viele Fotografen bearbeiten ihre Fotos nach der Aufnahme unter Verwendung von Werkzeugen, etwa Fotoshop oder Lightroom. Unvorteilhafterweise müssen Anwender das Bild erst vor Ort aufnehmen, bevor sie die Auswirkungen derartiger späterer Überarbeitungen kennen, die sich daraus ergeben können. Der Aufnahmevorgang bleibt separat zu dem Bildüberarbeitungsprozess, was möglicherweise zu einer nicht adäquaten Datensammlung führt (beispielsweise falsche Zusammensetzung oder unzureichendes Signal-zu-Rauschen-Verhältnis (SNR)) oder zu einer übermäßigen Datensammlung führt (beispielsweise längere Aufnahmezeit, übermäßige Unschärfe durch zitternde Hand oder Bewegung und erhöhte Kosten für die Speicherung und Übertragung).
  • Daher stellen typische Digitalkameras einen digitalen Bildsucher mit einer gewissen tatsächlichen Darstellung des endgültigen Bildes bereit. Wenn jedoch das Bild aus einer Sequenz unterschiedlich aufgenommener Bilder erzeugt wird, oder nicht lineare interaktive Überarbeitungen einen wesentlichen Beitrag zu dem Endergebnis liefern, kann der Fotograf nicht direkt die Ergebnisse sehen, sondern muss sich die Effekte der Nachverarbeitung vorstellen.
  • Die US 2012/0307112 A1 beschreibt einen Fotoapparat mit einer Anzeigevorrichtung, in der Bilder auf eine Anzeige angezeigt werden können.
  • Die US 2010/0141784 A1 zeigt ein Mobiltelefon mit einer Anzeige, wobei zusätzliche Merkmale in ein Foto hinein projiziert werden können.
  • Die US 2008/0297596 A1 beschreibt Verfahren zur Erstellung eines Bildes, wobei ein Dynamikbereich mit minimaler und maximaler Helligkeit bestimmt wird und in Abhängigkeit von dem Dynamikbereich entweder ein auflösungsverbessertes Bild oder ein Bild mit breiterem Dynamikbereich erstellt wird.
  • Es gibt daher ein Bedarf, für eine Kamera, die die Aufnahme einer Szene ermöglicht, die genauer die Absicht des Anwenders zum Zeitpunkt der Betätigung des Auslösers wiedergibt.
  • ÜBERBLICK DIE ERFINDUNG
  • Eine Realisierung der vorliegenden Vorgehensweise umfasst ein Verfahren für eine Anwenderschnittstelle zur Ermöglichung der Steuerung einer Kamera gemäß Anspruch 1 und eine Anwenderschnittstelleneinrichtung nach Anspruch 8. In einem Beispiel umfasst das Verfahren folgendes: Anzeigen eines farbtonzugeordneten Bildes mit hohem Dynamikbereich (HDR) auf einer Anwenderschnittstelleneinrichtung der Kamera, wobei die Anwenderschnittstelle mehrere Pixel enthält, die eine Anzeigeoberfläche bilden, und wobei das farbtonzugeordnete HDR-Bild eine Interpretation einer Szene enthält, auf die die Kameralinse der Kamera gerichtet ist; Empfangen von Anwenderüberarbeitungen über eine Eingabeeinrichtung, die mit der Anwenderschnittstelleneinrichtung verbunden ist; Senden der Anwenderüberarbeitungen zu einer oder mehreren nachgeordneten Einrichtungen in der Kamera, um Verarbeitungsoperationen auf der Grundlage der Anwenderüberarbeitungen auszuführen; Empfangen eines aktualisierten farbtonzugeordneten HDR-Bildes aus der einen oder den mehreren nachgeordneten Einrichtungen, wobei das aktualisierte farbtonzugeordnete HDR-Bild aus den Verarbeitungsoperationen erzeugt ist, die auf der Grundlage der Anwenderüberarbeitungen ausgeführt wurden; und Anzeigen des aktualisierten farbtonzugeordneten HDR-Bildes auf der Anwenderschnittstelle, wobei die Kameralinse weiterhin Bilder der Szene für die eine oder die mehreren nachgeordneten Einrichtungen aufnimmt, um Operationen auszuführen, die iterativ das aktualisierte farbtonzugeordnete HDR-Bild beeinflussen.
  • Die vorliegende Vorgehensweise liefert mindestens zwei Vorteile gegenüber konventionellen Vorgehensweisen. Ein Vorteil besteht darin, dass das Kamerasteuersystem es dem Anwender ermöglicht, bessere Entscheidungen im Hinblick auf die Bildzusammensetzung zu treffen, da das Kamerasteuersystem es dem Anwender ermöglicht, sich darüber im klaren zu sein, wie die gerade vorgenommenen Überarbeitungen des Anwenders das Bild beeinflussen werden, das zum Zeitpunkt aufgenommen wird, wenn der Auslöser betätigt wird. Der Bildsucher dient als ein Werkzeug in dieser Hinsicht zur vorläufigen Visualisierung, wodurch ein verbessertes Anwendererleben bereitgestellt wird. Ein weiterer Vorteil besteht darin, dass das Kamerasteuersystem Routinen ausführt, die die Aufnahmeparameter, etwa Fokus, Belichtung, Verstärkung, Weiß-Balance, usw. besser nutzen.
  • Figurenliste
  • Um die Art und Weise, in der die oben genannten Merkmale der Erfindung detailliert verstanden werden können, anzugeben, wird eine speziellere Beschreibung der Erfindung, die zuvor kurz zusammengefasst ist, mit Bezugnahme zu Ausführungsformen angegeben, wovon einige in den angefügten Zeichnungen dargestellt sind. Es ist jedoch zu beachten, dass die angefügten Zeichnungen nur typische Ausführungsformen dieser Erfindung darstellen, und daher nicht als Einschränkung ihres Schutzbereichs zu betrachten sind, da die Erfindung andere gleichermaßen wirksame Ausführungsformen zulässt.
    • 1 ist eine Blockansicht, die ein Kamerasystem darstellt, das ausgebildet ist, einen oder mehrere Aspekte der vorliegenden Erfindung zu realisieren.
    • 2 ist eine Blockansicht, die ein Parallelverarbeitungssubsystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 3 ist eine Blockansicht des Kamerasystems mit einem Kamerasteuersystem gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4A ist eine Konzeptansicht eines Kamerasystems während einer anfänglichen Phase der Kamerasteueroperationen gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4B ist eine Konzeptansicht des Kamerasystems, während ein Anwender eine Echtzeitüberarbeitung an der Anwenderschnittstelleneinrichtung ausführt, gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4C ist eine Konzeptansicht des Kamerasteuersystems während einer Echtzeitüberarbeitung nach der Operation aus 4B gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4D ist eine Konzeptansicht eines Kamerasteuersystems während einer Echtzeitüberarbeitung nach den Operationen der 4C gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4E ist eine Konzeptansicht des Kamerasteuersystems während Echtzeitüberarbeitungen im Anschluss an Operationen der 4B gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 5 ist ein Flussdiagramm von Verfahrensschritten zur Steuerung einer Kamera gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6A ist ein Diagramm, das einen Fall (a) einer überarbeitungsbasierten Justierung durch Analyse pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 6B ist ein Diagramm, das einen Fall (b) einer überarbeitungsbasierten Justierung durch Analyse pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 6C ist ein Diagramm, das eine Vereinigung der Vorgaben pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG VON ANSCHAULICHEN AUSFÜHRUNGSFORMEN
  • In der folgenden Beschreibung sind zahlreiche spezielle Details angegeben, um ein gründlicheres Verständnis der vorliegenden Erfindung zu ermöglichen. Der Fachmann erkennt jedoch, dass die vorliegende Erfindung auch ohne eines oder mehrere dieser speziellen Details umgesetzt werden kann. In anderen Fällen sind gut bekannte Merkmale nicht beschrieben, um eine Verdunkelung der vorliegenden Erfindung zu vermeiden.
  • Unter anderem richten sich Ausführungsformen der vorliegenden Erfindung an eine Kamerasteuerung einschließlich einer neuen Klasse von Algorithmen zur Ermittelung von Kameraaufnahmeparameter (Autofokus, Autobelichtung, Auto-Weiß-Balance, usw.). Bestehende Kamerasysteme beruhen auf Schieberegler, Drehknöpfen und heuristischen Algorithmen, um Parameter einzustellen. Eine derartige Vorgehensweise, obwohl diese funktioniert, ist wenig optimal für Anwenderschnittstellen auf Grundlage einer berührungsempfindlichen Eingabeeinrichtung und unterstützt nur globale Änderungen in dem Datenstrom für den Bildsucher. Ausführungsformen der vorliegenden Erfindung ermöglichen andererseits eine lokalisierte Justierung bzw. Einstellung und versetzen den Anwender in die Lage, das Aussehen und den Eindruck der Fotografie durch eine Gruppe von Überarbeitungen zusammenzusetzen, die direkt auf das Bild im Bildsucher angewendet werden. Die zu Grunde liegende Optimierungsplattform stellt sicher, dass die Echtzeitausführung der Kameraverarbeitung sowohl eine anwenderdefinierte Erscheinung als auch die Randbedingungen der Bildqualität erfüllt.
  • Hardware-Überblick
  • 1 ist eine Blockansicht, die ein Kamerasystem 100 zeigt, das ausgebildet es, einen oder mehrere Aspekte der vorliegenden Erfindung zu realisieren. 1 beschränkt keineswegs den Schutzbereich der vorliegenden Erfindung oder beabsichtigt dies. Das System 100 kann eine Digitalkamera, ein Tablett-Computer, ein mobiler Computer, ein intelligentes Telefon, ein Mobiltelefon, ein Mobilgerät, ein persönlicher digitaler Assistent, ein Personalcomputer oder ein anderes Gerät sein, das zur Ausführung einer oder mehrerer Ausführungsformen der vorliegenden Erfindung geeignet ist. Ein Gerät bzw. eine Einrichtung ist Hardware oder eine Kombination aus Hardware und Software. Eine Komponente ist typischerweise ein Teil eines Geräts bzw. einer Einrichtung und ist Hardware oder eine Kombination aus Hardware und Software.
  • Das Kamerasystem 100 umfasst eine zentrale Recheneinheit (CPU) 102 und einen Systemspeicher 104, der einen Gerätetreiber 103 enthält. Das Computersystem 100 umfasst eine zentrale Recheneinheit (CPU) 102 und einen Systemspeicher 104, der einen Gerätetreiber 103 enthält. Die CPU 102 und der Systemspeicher 104 kommunizieren über einen Verbindungspfad, der eine Speicherbrücke 105 umfassen kann. Die Speicherbrücke 105, die beispielsweise ein Nordbrücken-Chip sein kann, ist über einen Bus oder einen anderen Kommunikationspfad 106 (beispielsweise eine HyperTransport-Verbindung) mit einer Eingabe/Ausgabe-(I/O-) Brücke 107 verbunden. Die I/O-Brücke 107, die beispielsweise ein Südbrücken-Chip sein kann, empfängt eine Anwendereingabe aus einem oder mehreren Anwender-Eingabegeräten 108 (beispielsweise Tastatur, Maus) und leitet die Eingabe an die CPU 102 über den Pfad 106 und die Speicherbrücke 105 weiter. Ein Parallelverarbeitungssubsystem 112 ist mit der Speicherbrücke 105 über einen Bus oder einen anderen Kommunikationspfad 113 (beispielsweise ein peripherer Komponenten-Verbindung-(PCI) Express, ein beschleunigter Graphikport (AGP), oder eine HyperTransport-Verbindung) verbunden; in einer Ausführungsform ist das Parallelverarbeitungssubsystem 112 ein Grafiksubsystem, das Pixel an ein Anzeigegerät 110 (beispielsweise ein Monitor auf Basis einer konventionellen Kathodenstrahlröhre (CRT) oder einer Flüssigkristallanzeige) liefert. Eine Systemdiskette 114 ist ebenfalls mit der I/O-Brücke 107 verbunden. Ein Schalter 116 stellt Verbindungen zwischen der I/O-Brücke 107 und anderen Komponenten, etwa einem Netzwerkadapter 118 und diversen Zusatzkarten 120 und 121 bereit. Andere Komponenten (nicht explizit gezeigt), wozu ein universeller serieller Bus (USB) oder andere Portverbindungen, Kompaktdisketten-(CD) Laufwerke, Laufwerke für digitale Videodisketten (DVD), Filmaufzeichnungsgeräte und dergleichen gehören, können ebenfalls mit der I/O-Brücke 107 verbunden sein. Kommunikationspfade, welche die diversen Komponenten in 1 miteinander verbinden, können unter Anwendung beliebiger geeigneter Protokolle realisiert werden, etwa durch PCI, PCI-Express (PCIe), AGP, HyperTransport, oder durch ein oder mehrere andere Bus-oder Punkt-Zu-Punkt-Kommunikationsprotokolle, und Verbindungen zwischen unterschiedlichen Einrichtungen können unterschiedliche Protokolle verwenden, wie dies im Stand der Technik bekannt ist.
  • Wie nachfolgend detaillierter mit Bezug zu 2 - 5 beschrieben ist, umfasst das Parallelverarbeitungssubsystem Parallelverarbeitungseinheiten (PPUs), die ausgebildet sind, eine Softwareanwendung auszuführen, etwa den Gerätetreiber 103, wobei eine Schaltung verwendet wird, die eine Kamerasteuerung ermöglicht. Diese Paketarten sind durch das von dem Kommunikationspfad 113 verwendete Kommunikationsprotokoll spezifiziert. In Situationen, in denen eine neue Paketart in dem Kommunikationsprotokoll eingeführt wird (beispielsweise aufgrund einer Erweiterung des Kommunikationsprotokolls), kann das Parallelverarbeitungssubsystem 112 ausgebildet sein, Pakete auf der Grundlage der neuen Paketart zu erzeugen und Daten mit der CPU 102 (oder anderen Verarbeitungseinheiten) über den Kommunikationspfad 113 unter Anwendung der neuen Paketarten auszutauschen.
  • In einer Realisierung enthält das Parallelverarbeitungssubsystem 112 eine Schaltung, die für Grafik-und Videoverarbeitung optimiert ist, wozu beispielsweise eine Video-Ausgabeschaltung gehört, und sie bildet eine grafische Verarbeitungseinheit (GPU). In einer weiteren Ausführungsform enthält das Parallelverarbeitungssubsystem 112 eine Schaltung, die für eine Verarbeitung für Allgemeinzwecke optimiert ist, während die zu Grunde liegende Rechenarchitektur beibehalten wird, die nachfolgend detaillierter beschrieben ist. In einer noch weiteren Ausführungsform kann das Parallelverarbeitungssubsystem 112 mit einem oder mehreren anderen Systemelementen, etwa der Speicherbrücke 105, der CPU 102 und der I/O-Brücke 107 integriert sein, um ein System-auf-einem-Chip (SoC) zu bilden.
  • Zu beachten ist, dass das hierin gezeigte System anschaulicher Natur ist und dass Änderungen und Modifizierungen möglich sind. Die Verbindungstopologie, einschließlich der Anzahl und der Anordnung von Brücken, die Anzahl an CPUs 102 und die Anzahl an Parallelverarbeitungssubsystemen 112 kann nach Bedarf modifiziert werden. Beispielsweise ist in einigen Ausführungsformen der Systemspeicher 104 mit der CPU 102 direkt anstatt über eine Brücke verbunden, und andere Einrichtungen kommunizieren mit dem Systemspeicher 104 über die Speicherbrücke 105 und die CPU 102. In anderen alternativen Topologien ist das Parallelverarbeitungssubsystem 112 mit der I/O-Brücke 107 oder direkt mit der CPU 102 anstatt mit der Speicherbrücke 105 verbunden. In noch anderen Ausführungsformen können die I/O-Brücke 107 und die Speicherbrücke 105 in einem einzelnen Chip integriert sein. Große Ausführungsformen können zwei oder mehr CPUs 102 und zwei oder mehr Parallelverarbeitungssubsysteme 112 enthalten. Die speziellen hierin gezeigten Komponenten sind optional; beispielsweise kann eine beliebige Anzahl an Zusatzkarten oder peripheren Geräten unterstützt werden. In einigen Ausführungsformen ist der Schalter 116 weggelassen, und der Netzwerkadapter 118 und die Zusatzkarten 120, 121 sind direkt mit der I/O-Brücke 107 verbunden.
  • 2 ist eine Blockansicht, die ein Parallelverarbeitungssubsystem 112 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Wie gezeigt, umfasst das Parallelverarbeitungssubsystem 112 eine oder mehrere Parallelverarbeitungseinheiten (PPUs) 202, wovon jede mit einem lokalen Parallelverarbeitungs-(PP-) Speicher 204 verbunden ist. Generell enthält ein Parallelverarbeitungssubsystem eine Anzahl U von PPUs, wobei U ≥ 1 ist. (Hierin werden mehrere Instanzen der gleichen Objekte mit Bezugszeichen bezeichnet, die das Objekt angeben, und Zahlen in Klammern kennzeichnen die Instanz, wenn dies erforderlich ist.) Die PPUs 202 und die Parallelverarbeitungsspeicher 204 können unter Anwendung einer oder mehrerer integrierter Schaltungseinrichtungen, etwa durch programmierbare Prozessoren, anwendungsspezifische integrierte Schaltungen (ASIC) oder Speichereinrichtungen oder in einer beliebigen anderen technisch machbaren Weise realisiert werden.
  • Es sei wieder auf 1 verwiesen; in einigen Ausführungsformen sind einige oder alle PPUs 202 in dem Parallelverarbeitungssubsystem 112 Grafikprozessoren mit Bilderzeugungs-Pipelines, die ausgebildet sein können, diverse Aufgaben auszuführen, die mit der Erzeugung von Pixeldaten aus Grafikdaten zusammenhängen, die von der CPU 102 und/oder dem Systemspeicher 104 über die Speicherbrücke 105 und den Bus 113 zugeleitet werden, um mit dem lokalen Parallelverarbeitungsspeicher 204 zu interagieren (der als Grafikspeicher verwendet werden kann, und beispielsweise einen konventionellen Blockpuffer bzw. Bildpuffer enthält), um Pixeldaten zu speichern und zu aktualisieren, wobei Pixeldaten an das Anzeigegerät 110 geliefert werden, und dergleichen. In einigen Ausführungsformen kann das Parallelverarbeitungssubsystem 112 eine oder mehrere PPUs 202 enthalten, die als Grafikprozessoren arbeiten, und kann eine oder mehrere andere PPUs 202 enthalten, die für Berechnungen für Allgemeinzwecke verwendet werden. Die PPUs können identisch oder unterschiedlich sein, und jede PPU kann eine oder mehrere eigene zugeordnete Parallelverarbeitungsspeichereinrichtungen oder keine spezielle zugewiesene Parallelverarbeitungsspeichereinrichtung aufweisen. Eine oder mehrere PPUs 202 können Daten an das Anzeigegerät 110 ausgeben, oder es kann jede PPU 202 Daten an ein oder mehrere Anzeigegeräte 110 ausgeben.
  • Während des Betriebs ist die CPU 102 der übergeordnete Prozessor des Kamerasystems 100 und steuert und koordiniert den Betrieb anderer Systemkomponenten. Insbesondere gibt die CPU 102 Befehle aus, die den Betrieb der PPUs 202 steuern. In einigen Ausführungsformen schreibt die CPU 102 einen Strom aus Befehlen für jede PPU 202 in einen Schiebepuffer (in 1 oder 2 nicht explizit gezeigt), der in dem Systemspeicher 104, dem Parallelverarbeitungsspeicher 204 oder einem anderen Speicherplatz liegen kann, auf den sowohl die CPU 102 als auch die PPU 202 zugreifen können. Die PPU 202 liest den Befehlsstrom aus dem Schiebepuffer aus und führt dann Befehle asynchron relativ der Arbeitsweise der CPU 102 aus.
  • Es sei nun wieder zurückverwiesen auf 2; jede PPU 202 umfasst eine I/O-Einheit 205, die mit dem Rest des Kamerasystems 100 über den Kommunikationspfad 113 kommuniziert, der mit der Speicherbrücke 105 (oder in einer alternativen Ausführungsform direkt mit der CPU 102) verbunden ist. Die Verbindung der PPU 202 mit dem Rest des Kamerasystems 100 kann auch anders sein. In einigen Ausführungsformen ist das Parallelverarbeitungssubsystem 112 als eine Zusatzkarte realisiert, die in einen Erweiterungssteckplatz des Kamerasystems 100 eingeführt werden kann. In anderen Ausführungsformen kann eine PPU 202 in einem einzelnen Chip mit einer Busbrücke, etwa der Speicherbrücke 105 oder der I/O-Brücke 107 integriert sein. In noch anderen Ausführungsformen können einige oder alle Elemente der PPU 202 zusammen mit der CPU 102 in einem einzelnen Chip integriert sein.
  • In einer Ausführungsform ist der Kommunikationspfad 113 eine PCIe-Verbindung, in der spezielle Bahnen jeder PPU 202 zugewiesen sind, wie dies im Stand der Technik bekannt ist. Es können auch andere Kommunikationspfade verwendet werden. Wie zuvor dargelegt ist, kann die Gegenstrom-Zwischenverbindung ebenfalls verwendet werden, um den Kommunikationspfad 113 sowie einen beliebigen anderen Kommunikationspfad in dem Kamerasystem 100, der CPU 102 oder der PPU 202 zu realisieren. Eine I/O-Einheit 205 erzeugt Pakete (oder andere Signale) für die Übertragung über den Kommunikationspfad 113 und empfängt auch alle eintreffenden Pakete (oder andere Signale) aus dem Kommunikationspfad 113, und leitet die eintreffenden Pakete zu geeigneten Komponenten der PPU 202. Beispielsweise können Befehle, die Verarbeitungsaufgaben betreffen, einer Hauptschnittstelle 206 zugeleitet werden, während Befehle, die Speicheroperationen (beispielsweise lesen aus oder schreiben in den Parallelverarbeitungsspeicher 204) betreffen, einer Speicherkreuzungseinheit 210 zugeleitet werden können. Die Hauptschnittstelle 206 liest jeden Schiebepuffer aus und gibt die von dem Schiebepuffer angegebene Arbeit an einen Frontbereich 212 aus.
  • Jede PPU 202 realisiert vorteilhafterweise eine äußerst parallele Verarbeitungsarchitektur. Wie detailliert gezeigt ist, umfasst die PPU 202(0) ein Verarbeitung-Cluster-Array 230, das eine Anzahl C an allgemeinen Verarbeitungs-Clustern (GPCs) 208 enthält, wobei C ≥ 1 ist. Jeder GPC 208 ist in der Lage, eine große Anzahl (beispielsweise hunderte oder tausende) Stränge gleichzeitig auszuführen, wobei jeder Strang eine Instanz eines Programms ist. In diversen Anwendungen können unterschiedliche GPCs 208 für unterschiedliche Arten von Programmen oder zur Ausführung unterschiedlicher Arten von Berechnungen reserviert werden. Die Zuweisung von GPCs 208 kann sich in Abhängigkeit von der Arbeitslast, die für jede Art von Programm oder Berechnung auftritt, ändern.
  • Die GPCs 208 empfangen auszuführende Verarbeitungsaufgaben über eine Arbeitsverteilungseinheit 200, die Befehle, die Verarbeitungsaufgaben definieren, von einer Frontbereichseinheit 212 empfängt. Der Frontbereich 212 stellt sicher, dass die GPCs 208 in einen geeigneten Zustand konfiguriert werden, bevor die durch die Schiebepuffer spezifizierte Verarbeitung begonnen wird.
  • Wenn die PPU 202 beispielsweise für eine grafische Verarbeitung verwendet wird, dann wird die Arbeitslast für die Verarbeitung für jeden Flecken in ungefähr gleich große Aufgaben unterteilt, um eine Verteilung der Parkettierungs-Schattierungs-Verarbeitung auf mehrere GPCs 208 zu ermöglichen. Eine Arbeitsverteilungseinheit 200 ist gegebenenfalls ausgebildet, Aufgaben mit einer Frequenz zu erzeugen, die es erlaubt, dass Aufgaben an mehrere GPCs 208 für die Verarbeitung ausgegeben werden. Im Gegensatz dazu wird in konventionellen Systemen typischerweise die Verarbeitung durch eine einzelne Verarbeitungseinheit ausgeführt, während die anderen Verarbeitungseinheiten untätig bleiben und darauf warten, dass die einzelne Verarbeitungseinheit ihre Aufgaben abgeschlossen hat, bevor sie ihre Verarbeitungsaufgaben beginnen. In einigen Ausführungsformen der vorliegenden Erfindung sind Teile der GPCs 208 ausgebildet, unterschiedliche Arten der Verarbeitung auszuführen. Beispielsweise kann ein erster Teil ausgebildet sein, eine Vertex-Schattierung und eine Topologie-Erzeugung auszuführen. Ein zweiter Teil kann ausgebildet sein, eine Parkettierung bzw. eine mosaikartige Unterteilung und eine Geometrie-Schattierung auszuführen. Ein dritter Teil kann ausgebildet sein, eine Pixel-Schattierung in dem Bildschirm-Raum auszuführen, um ein erzeugtes Bild zu schaffen. Zwischendaten, die von den GPCs 208 erzeugt werden, können in Puffern gespeichert werden, so dass die Zwischendaten unter den GPCs 208 für die weitere Verarbeitung ausgetauscht werden können.
  • Die Speicherschnittstelle 214 enthält eine Anzahl D an Partitionseinheiten 215, die jeweils direkt mit einem Bereich des Parallelverarbeitungsspeichers 204 verbunden sind, wobei D ≥ 1 ist. Wie gezeigt, ist die Anzahl an Partitionseinheiten 215 gleich der Anzahl an DRAM 220. In anderen Realisierungen ist die Anzahl an Partitionseinheiten 215 nicht gleich der Anzahl an Speichereinrichtungen. Die dynamischen Speicher mit wahlfreiem Zugriff (DRAM) 220 können durch andere geeignete Speichereinrichtungen ersetzt werden und können von allgemein konventioneller Gestaltung sein. Bilderzeugungsziele, etwa Blockpuffer bzw. Bildpuffer oder Texturabbildungen können in den DRAM 220 gespeichert werden, wodurch die Partitionseinheiten 215 in der Lage sind, Bereiche jedes Bilderzeugungsziels parallel zu beschreiben, um die verfügbare Bandbreite des Parallelverarbeitungsspeichers 204 effizient zu nutzen.
  • Jeder der GPCs 208 kann Daten verarbeiten, die in einen der DRAMs 220 innerhalb des Parallelverarbeitungsspeichers 204 zu schreiben sind. Die Kreuzungseinheit 210 ist ausgebildet, die Ausgabe jedes GPC 208 zum Eingang einer Partitionseinheit 215 oder einem weiteren GPC 208 für die weitere Verarbeitung zuzuleiten. Die GPCs 208 kommunizieren mit der Speicherschnittstelle 214 über die Kreuzungseinheit 210, um aus diversen externen Speichereinrichtungen zu lesen oder in diese zu schreiben. In einer Ausführungsform hat die Kreuzungseinheit 210 eine Verbindung zu der Speicherschnittstelle 214, um mit der I/O-Einheit 205 zu kommunizieren, und hat auch eine Verbindung zu dem lokalen Parallelverarbeitungsspeicher 204, wodurch es den Verarbeitungskernen in den unterschiedlichen GPCs 208 möglich ist, mit dem Systemspeicher 104 oder einem anderen Speicher, der nicht lokal in der PPU 202 angeordnet ist, in Verbindung zu treten. In der in 2 gezeigten Ausführungsform ist die Kreuzungseinheit 210 direkt mit der I/O-Einheit 205 verbunden. Die Kreuzungseinheit 210 kann virtuelle Kanäle verwenden, um Verkehrsströme zwischen den GPCs 208 und den Partitionseinheiten 215 zu trennen.
  • Die GPCs 208 können wiederum programmiert sein, um Verarbeitungsaufgaben auszuführen, die eine Fülle von Anwendungen betreffen, wozu gehören, ohne einschränkend zu sein, lineare und nicht-lineare Datentransformationen, die Filterung von Video-und/oder Audiodaten, Modellierungsoperationen (beispielsweise die Anwendung physikalischer Gesetze zur Bestimmung der Position, Geschwindigkeit und anderer Attribute von Objekten), Bilderzeugungsoperationen (beispielsweise Programme zur Parkettierungs-Schattierung, Vertex-Schattierung, Geometrie-Schattierung und/oder Pixel-Schattierung), usw. Die PPUs 202 können Daten aus dem Systemspeicher 104 und/oder den lokalen Parallelverarbeitungsspeichern 204 in einen internen (Chip internen) Speicher übertragen, die Daten verarbeiten und die Ergebnisdaten zurück in den Systemspeicher 104 und/oder in die lokalen Parallelverarbeitungsspeicher 204 schreiben, wo auf derartige Daten von anderen Systemkomponenten einschließlich der CPU 102 oder einem weiteren Parallelverarbeitungssubsystem 112 zugegriffen werden kann.
  • Eine PPU 202 kann mit einer beliebigen Größe an lokalem Parallelverarbeitungsspeicher 204 ausgestattet sein, wobei auch kein lokaler Speicher mit eingeschlossen ist, und sie kann den lokalen Speicher und den Systemspeicher in beliebiger Kombination verwenden. Beispielsweise kann eine PPU 202 in einer Ausführungsform einer vereinheitlichten Speicherarchitektur (UMA) ein Grafikprozessor sein. In derartigen Ausführungsformen wird wenig oder kein spezieller graphischer (Parallelverarbeitungs-) Speicher bereitgestellt, und die PPU 202 würde ausschließlich oder nahezu ausschließlich den Systemspeicher benutzen. In UMA-Ausführungsformen kann eine PPU 202 in einem Brückenchip oder einem Prozessorchip integriert sein oder kann als ein diskreter Chip mit einer Hochgeschwindigkeitsverbindung bereitgestellt sein (beispielsweise PCIe), die die PPU 202 in dem Systemspeicher über einen Brückenchip oder eine andere Kommunikationseinrichtungen verbindet.
  • Wie zuvor ausgeführt ist, kann eine beliebige Anzahl an PPUs 202 in einem Parallelverarbeitungssubsystem 112 enthalten sein. Beispielsweise können mehrere PPUs 202 auf einer einzelnen Zusatzkarte vorgesehen sein, oder es können mehrere Zusatzkarten mit dem Kommunikationspfad 113 verbunden werden, oder eine oder mehrere PPUs 202 können in einem Brückenchip integriert sein. Die PPUs 202 in einem Multi-PPU-System können identisch oder unterschiedlich zueinander sein. Beispielsweise können unterschiedliche PPUs 202 eine unterschiedliche Anzahl an Verarbeitungskernen, eine unterschiedliche Größe an lokalem Parallelverarbeitungsspeicher usw. aufweisen. Wenn mehrere PPUs 202 vorhanden sind, können diese PPUs parallel betrieben werden, um Daten mit einem höheren Durchsatz zu verarbeiten, als dies mit einer einzelnen PPU 202 möglich wäre. Systeme mit einer oder mehreren PPUs 202 können in einer Vielzahl von Konfigurationen und Formfaktoren realisiert werden, wozu Tischrechner, mobile Rechner oder Personalcomputer in Form von Handgeräten, Dienstleister-Rechner, Arbeitsplatzrechner, Spielekonsolen, eingebettete Systeme und dergleichen gehören.
  • Eine Ausführungsform der Erfindung kann als ein Programmprodukt zur Verwendung in einem Computersystem, etwa in dem Kamerasystem 100 aus 1 beispielsweise realisiert werden. Ein oder mehrere Programme des Programmprodukts definieren Funktionen der Ausführungsformen (einschließlich der hierin beschriebenen Verfahren) und können auf eine Vielzahl von computerlesbaren Speichermedien enthalten sein. Zu anschaulichen computerlesbaren Speichermedien gehören, ohne Einschränkung: (i) nicht-beschreibbare Speichermedien (beispielsweise Nur-Lese-Speichereinrichtungen in einem Computer, etwa als CD-ROM-Disketten, die von einem CD-ROM-Laufwerk gelesen werden können, Flash-Speicher, ROM-Chips oder andere Arten von nicht-flüchtigen Halbleiterspeichern), auf denen Information permanent gespeichert ist; und (ii) beschreibbare Speichermedien (beispielsweise Disketten in einem Diskettenlaufwerk oder ein Festplattenlaufwerk oder eine andere Art eines Halbleiterspeichers mit wahlfreiem Zugriff), auf welchen änderbare Information gespeichert ist.
  • Überblick über einen Kamerasteuersystem
  • Die vorliegende Vorgehensweise nutzt die Verarbeitungsleistung von Mobilgeräten, um einen Arbeitsablauf ähnlich einem Tischrechner auf Digitalkameras und Mobilgeräten (beispielsweise Funktelefonen) mit Digitalkameras zu ermöglichen. Das Kamerasteuersystem verwendet diese Verarbeitungsfähigkeiten, um das Konzept einer Echtzeitüberarbeitung im Bildsucher einzuführen, was den Anwender in die Lage versetzt, Überarbeitungen direkt an dem Bildsucher vor der Aufnahme auszuführen. Das Kamerasteuersystem dringt die WYSIWYG-Schnittstelle mit Rechner gestützten Fotografieanwendungen und mit der Fähigkeit für den Anwender zusammen, direkt die Auswirkungen einer interaktiven Überarbeitung in dem Bildsucher zu sehen. Unter Verwendung dieser Schnittstelle sammelt das Kamerasteuersystem auch Information, welche Aspekte des Bildes für den Anwender wichtig sind, die wiederum die Auswahl von Aufnahmeparametern, etwa die Anzahl an aufzunehmenden Bilder, die Werte für die Belichtung, den Fokus, die Weiß-Balance usw. beeinflussen. Um diese Strategie zu realisieren, verwendet das Kamerasteuersystem eine vereinheitlichte Plattform, in der der Anwender eine Angabe (beispielsweise eine sparsame Strich-basierte Eingabe usw.) bereitstellt, um lokal oder global Farbtönung, Farbe, Sättigung und Fokus oder andere Parameter zu steuern. Der Anwender erhält eine unmittelbare Rückwirkung auf dem Bildsucher.
  • Die Auswahlen, die der Anwender bereitstellt, beruhen auf Neigung. Das Kamerasteuersystem speichert die Auswahlen als eine spärlich abgetastete Funktion über den Raum des Bildabschnitts. Das Kamerasteuersystem verbreitet dann die Auswahlen durch Übereinstimmung von Bildabschnitten an nachfolgende Bilder des Bildsuchers. Das Kamerasteuersystem wendet die Überarbeitungen sowohl auf das Bild im Bildsucher als auch auf das bzw. die hochauflösenden Bilder an, für die sich der Anwender letztlich entscheidet, sie aufzunehmen (beispielsweise durch Betätigung des Auslösers). Ferner verwendet das Kamerasteuersystem intern die Überarbeitungen, um die Kamerasteueroperationen anzusteuern, die die geeigneten Belichtung-und/oder Fokuswerte, usw. bestimmen. Der Anwender kann sogar inkonsistente Abstufungen bereitstellen, die dann erfüllt werden können, indem zwei Bilder mit unterschiedlichen Einstellungen verwendet werden und das Ergebnis kombiniert wird.
  • Das Steuersystem ermöglicht es dem Anwender ferner, bessere Entscheidungen im Hinblick auf die Zusammensetzung zu machen, da das Kamerasteuersystem dem Anwender bewusst macht, wie die anhängigen Überarbeitungen des Anwenders das aufgenommene Foto beeinflussen werden. Das Kamerasteuersystem dient als ein Vor-Visualisierungswerkzeug in dieser Hinsicht, wodurch eine neuartige Erfahrung für den Anwender bereitgestellt wird. Ferner ermöglicht das System, dass die Kamerasteueroperationen die Aufnahmeparameter, etwa Fokus, Belichtung, Verstärkung und Weiß-Balance besser optimieren. Der Anwender drückt aus, wie er das Bild ändern will, wodurch die Algorithmen in die Lage versetzt werden, den Rauschpegel Schwellwert, die Feldtiefe und den dynamischen Bereich, die zur Ausführung der Transformation erforderlich sind, zu reduzieren. Wenn beispielsweise der Anwender wünscht, ein dunkles Gebiet der Szene aufzuhellen, sollte die Eingabe des Anwenders zu einer anderen Entscheidung für die Justierung bzw. Einstellung führen; oder wenn der Anwender damit zufrieden ist, dass der Himmel auf der Anzeige gesättigt ist, sollte eine volle Belichtungsdosis nicht erforderlich sein. In diesem Zusammenhang finden stapelbasierte rechnergestützte Fotografie und traditionelle Fotografie nahtlos zusammen, wobei eingegriffen wird und im wesentlichen nur eingegriffen wird, wenn dies erforderlich ist.
  • Das Kamerasteuersystem liefert einen schnellen Algorithmus zur Umsetzung von Überarbeitung, eine Bildsucher-Schnittstelle, die die Überarbeitungen, eine Farbtonzuordnung und die Mischung einer Mehrfachbelichtung und Kamerasteuerungsroutinen visualisiert, um vorteilhaft die Kenntnis der Visualisierung auszunutzen, wobei diese zusammen ein System bilden, das mit interaktiven Raten auf einer mobilen Plattformen und/oder auf der Plattform eines Tischrechners oder anderen Plattformen laufen kann.
  • 3 ist eine Blockansicht des Kamerasystems 101 mit einem Kamerasteuersystem 302 gemäß einer Ausführungsform der vorliegenden Erfindung. Wie gezeigt, umfasst das Kamerasteuersystem 302, ohne Einschränkung, eine Anwenderschnittstelleneinrichtung 306, eine Maskengeneratoreinrichtung 304 und eine Justiereinrichtung 302, die jeweils miteinander verbunden sind. Die Anwenderschnittstelleneinrichtung 306 umfasst ohne Einschränkung eine Echtzeitüberarbeitungseinrichtung bzw. Editor-Einrichtung 322 und eine Bildsuchereinrichtung mit was-du-siehst-ist-was-du-bekommst (WYSIWYG) 308.
  • Die Anwenderschnittstelleneinrichtung 306 ist eine Entrichtung im Frontbereich, die eine schnelle räumlich-zeitlich-Plattform zur Ausbreitung der Überarbeitungen verwendet, um strichbasierte bzw. wischbasierte Überarbeitung des Bildsuchers mit interaktiven Geschwindigkeit zu ermöglichen. Das Kamerasteuersystem 302 modelliert Überarbeitungen als eine Funktion über einem Bildabschnitts-Raum und speichert die Überarbeitungen in einer hoch-dimensionalen Datenstruktur.
  • Die Justiereinrichtung 305 ist eine nachgeordnete Einrichtung, die HDR-Justierung bzw. Messung verwendet, um die Qualität des überarbeiteten Bildsucher-Bildes zu optimieren, das auf dem Bildschirm angezeigt wird. Für gegebene Anwenderüberarbeitungen und eine Szene (die beispielsweise durch ein farbzugeordnetes HDR-Bild, das in Echtzeit aufgebaut wird, repräsentiert ist) erzeugt die Justiereinrichtung 305 die Justierparameter (beispielsweise Belichtungszeit, usw.), die die Erscheinungsqualität des HDR-Bildes für die Anzeige maximieren. Insbesondere führt die Justiereinrichtung 305 einen durch Wahrnehmung motivierten Schwellwert für jedes angezeigte Pixel ein, bildet den Schwellwert rückwärts gerichtet durch die Bildverarbeitungs-Pipeline (einschließlich der Anwenderüberarbeitungen und der Farbtonzuordnung) ab, um den akzeptablen Rausch-Schwellwert in dem Bildsensor zu berechnen, und berechnet die Gruppe an Belichtungszeiten, die den berechneten Schwellwerten entsprechen würden, für das gesamte Bild. Dieses Schema ist gegenläufig zu bestehenden HDR-Justieralgorithmen, die darauf abzielen, die Leuchtstärke der physikalischen Szene möglichst wirklichkeitstreu aufzunehmen.
  • Die Maskengeneratoreinrichtung 402 ist eine nachgeordnete Einrichtung, die eine Maske aus Überarbeitungen erzeugt, indem die Textur einer Szene eingestuft wird, eine dünnbesetzte Maske für Überarbeitungen erzeugt wird, eine kantenbewahrende Glättung ausgeführt wird und dann die Maske der Überarbeitungen aufgebaut wird. Die Aktionen sind detaillierter mit Bezug zu 5 erläutet.
  • Das Kamerasteuersystem 302 kann unter anderem auf einer speziellen Digitalkamera, einem Tischrechner, einem mobilen Rechner, einem Tablett-Computer und/oder einem Mobiltelefon ausgeführt werden. Das Kamerasteuersystem 302 ist detaillierter nachfolgend mit Bezug zu den 4A-5 beschrieben.
  • Anschauliche Überarbeitung im Bildsucher
  • 4A-4E zeigen eine Sequenz von Diagrammen, die die Überarbeitung auf einer Bildsuchereinrichtung 308 einer Anwenderschnittstelleneinrichtung 306 gemäß diversen Ausführungsformen der vorliegenden Erfindung zeigen. Das Kamerasteuersystem verarbeitet Bildsucher-Überarbeitungen, um in genauerer Weise ein Bild anzuzeigen, das der Anwender aufzunehmen beabsichtigt. Die Kamera nimmt kontinuierlich Bilder der Szene auf, auf die die Kameralinse zeigt, und verwendet die Bilder kontinuierlich für die Verarbeitung in nachgeordneten Operationen. Die nachgeordneten Operationen beinhalten Operationen, die die Bildsucher-Überarbeitungen mit den aufgenommenen Bildern der Kamera kombinieren. Daher umfasst die Kamerasteuerung dieses Ansatzes Operationen, die gerade ablaufen, iterativ und stark abhängig voneinander sind. Somit erfolgt die Bildsucher-Überarbeitung in Echtzeit (beispielsweise während die Kamera Bilder der Szene für die nachgeordnete Verarbeitung aufnimmt).
  • 4A ist eine Konzeptansicht eines Kamerasystems 302 während einer anfänglichen Phase von Kamerasteueroperationen gemäß einer Ausführungsform der vorliegenden Erfindung. Das Kamerasteuersystem 302 wird eingeschaltet und umfasst eine Anwenderschnittstelleneinrichtung 306 mit einer WYSIWYG-Bildsuchereinrichtung 308. Ein Anwender 410 richtet die Kameralinse (nicht gezeigt) auf eine reale Szene 404. Die reale Szene 404 ist „real“, da die Szene Objekte (beispielsweise Menschen, Landschaften, Tiere und/oder andere Objekte, usw.) enthält, die sich möglicherweise bewegen und die Kamera bewegt sich möglicherweise auch, zumindest ein wenig. Alternativ kann ein Objekt in der realen Szene 404 im wesentlichen stillstehen und relativ zu der Kameraposition unbewegt bleiben.
  • In dieser anfänglichen Phase zeigt das Kamerasteuersystem 302 die reale Szene 404 als ein nicht überarbeitetes Bild 412 auf der WYSIWYG-Bildsuchereinrichtung 308 einer Anwenderschnittstelleneinrichtung 306. In diesem Beispiel ist das Kamerasteuersystem 302 als Teil einer Kamera eines Tablett-Computers gezeigt. Zu anderen Beispielen neben einem Tablett-Computer gehören ein intelligentes Telefon, eine spezielle Digitalkamera, ein mobiler Computer, ein Mobiltelefon, ein Mobilgerät, ein persönlicher digitaler Assistent, ein Personalcomputer oder ein anderes Gerät, das geeignet ist, um eine oder mehrere Ausführungsformen der vorliegenden Erfindung umzusetzen.
  • 4B ist eine Konzeptansicht des Kamerasystems 302, während ein Anwender 410 eine Überarbeitung in Echtzeit auf der Anwenderschnittstelleneinrichtung 306 gemäß einer Ausführungsform der vorliegenden Erfindung ausführt. In einer Realisierung kann das Kamerasteuersystem 302 sparsame Striche (nicht gezeigt) von dem Anwender 410 auf der Anwenderschnittstelleneinrichtung 306 empfangen, als ob die Anwenderschnittstelleneinrichtung 306 eine Leinwand wäre. Wenn das Kamerasteuersystem 302 die Striche auf der Anwenderschnittstelleneinrichtung 306 empfängt, markiert das Kamerasteuersystem 302 entsprechende Bildabschnitte eines ausgewählten Gebiets 420. Das Kamerasteuersystem 302 kann eine Bestätigung des ausgewählten Gebiets 420 empfangen, indem eine Berührung (oder ein Mausklick usw.) innerhalb des Gebiets des ausgewählten Gebiets 420 empfangen wird. Alternativ kann das Kamerasteuersystem 302 eine Löschung des Auswahlgebiets 420 empfangen, indem beispielsweise eine Berührung (oder Mausklick usw.) außerhalb des Bereichs des Auswahlgebiets 420 empfangen wird.
  • Das Auswahlgebiet 420 umfasst einen Bereich und/oder alle Pixel der Anwenderschnittstelleneinrichtung 308. In diesem Beispiel ist das Auswahlgebiet 420 ein Rechteck. Alternativ kann das Auswahlgebiet eine andere Form, etwa beispielsweise einen Kreis, ein Oval, eine Art von Polygon, oder eine andere Form aufweisen. Das Auswahlgebiet 420 kann ferner oder alternativ auf einer Textur beruhen. Beispielsweise kann ein Himmel eine andere Textur als das Gesicht einer Person besitzen. Folglich kann in einer Ausführungsform das Kamerasteuersystem 302 Unterschiede in der Textur erkennen und kann das Auswahlgebiet auf der Grundlage einer Texturübereinstimmung (beispielsweise Übereinstimmung mit der Textur eines Himmels, um den Himmel als das Auswahlgebiet auszuwählen, oder eine Übereinstimmung mit der Textur einer Person vornehmen, um die Person als das Auswahlgebiet auszuwählen, usw.) auswählen.
  • Das Kamerasteuersystem 302 speichert Bilderabschnitte des Auswahlgebiets 420 in einer Datenstruktur, die den Vergleich im Hinblick auf eine Übereinstimmung von Bildabschnitten unterstützt. In nachfolgenden Bildern der realen Szene 404 (die sich ständig verändert und nicht stillsteht) wählt das Kamerasteuersystem 302 Pixel mit entsprechenden Bildabschnitten aus, die mit den zuvor ausgewählten Abschnitten übereinstimmen. Da keine Verfolgung beinhaltet es, ist das Kamerasteuersystem 302 robust in Bezug auf Bewegungen und/oder Einflüssen der Szene und/oder der Kameralinse.
  • Bei Bestätigung des Auswahlgebiets 420 zeigt die Echtzeitüberarbeitungseinrichtung 323 diverse Überarbeitungsoptionen an. In diesem Beispiel enthalten die Überarbeitungsoptionen Helligkeit, Sättigung, Kontrast und Farbton. Zu anderen Beispielen von Überarbeitungsoptionen (nicht gezeigt) gehören, ohne Einschränkung, Weiß-Balance, Farbe, Farbton, Fokus, Belichtung, Verstärkung und Graustufen. Das Kamerasteuersystem 302 ist ausgebildet, eine Auswahl einer der Überarbeitungsoptionen von dem Anwender 410 zu empfangen.
  • 4C ist eine Konzeptansicht des Kamerasteuersystems 302 während der Echtzeitüberarbeitung nach den Operationen der 4B gemäß einer Ausführungsform der vorliegenden Erfindung. In diesem Beispiel ist das Auswahlgebiet 421 so gezeigt, dass es das Gesicht eines Kleinkindes enthält. Das Kamerasteuersystem 302 ist Kanten bewahrend (beispielsweise Kanten-bewusst) und ist in der Lage, zwischen Textur des Objekts (beispielsweise Gesicht des Kleinkinds oder Haut des Kleinkinds) und der Textur eines weiteren Teils der realen Szene 404 zu unterscheiden. Die Anwenderschnittstelleneinrichtung 306 hat von dem Anwender 410 eine Auswahl für die Überarbeitungsoption Sättigung in der Echtzeitüberarbeitungseinrichtung 323 empfangen. Die Echtzeitüberarbeitungseinrichtung 323 zeigt auf der Anwenderschnittstelle 306 einen Schieberegler an, der es dem Kamerasteuersystem 302 ermöglicht, von dem Anwender 410 eine Auswahl des Betrags der Sättigung zu empfangen. In diesem Beispiel aktualisiert die Echtzeitüberarbeitungseinrichtung 323 sich entsprechend, wenn das Kamerasteuersystem 302 eine Strich-Geste bzw. Wisch-Geste von dem Anwender 410 empfängt, um einen Betrag der Sättigung anzugeben. In einem weiteren Beispiel kann die Echtzeitüberarbeitungseinrichtung 323 ausgebildet sein,eine Strich-Geste auf dem Auswahlgebiet 321 ohne einen sichtbaren Schieberegler zu empfangen.
  • 4D ist eine Konzeptansicht des Kamerasteuersystems 302 während der Echtzeitüberarbeitung nach den Operationen der 4C gemäß einer Ausführungsform der vorliegenden Erfindung. Das Gebiet des Auswahlgebiets 421 (4C), von dem das Kamerasteuersystem 302 gerade Überarbeitungen im Hinblick auf die Sättigung erhält, wird verrauscht, wie in 4D gezeigt ist, wenn das Kamerasteuersystem die Verarbeitung für die Auswahl ausführt. Das verrauschte Gebiet 424 kann ein nützliches Merkmal des Kamerasteuersystems 302 sein. Beispielsweise kann durch die Darstellung eines überarbeiteten Bildes 432 das Kamerasteuersystem 302 den Anwender in Kenntnis setzen, dass die Verarbeitung für die angeforderten Anwenderüberarbeitungen erfolgt. Dieser Schritt der Anzeige von Rauschen ist ein alternativer Schritt und kann eine Eigenschaft des Kamerasteuersystems 302 ein oder auch nicht, wobei dies von der Ausführungsform abhängt. Beispielsweise kann die Verarbeitung des Kamerasteuersystems 302 ausreichend schnell sein, so dass der Anwender 410 nicht durch die Darstellung einer verrauschten Ausgabe benachrichtigt werden muss.
  • 4E ist eine Konzeptansicht des Kamerasteuersystems 302 während der Echtzeitüberarbeitung, die auf die Operationen der 4D folgt, gemäß einer Ausführungsform der vorliegenden Erfindung. Nach Auswahl und Überarbeitungen des Anwenders 410 wird ein überarbeitetes und eingestelltes Bild 442 in 4E gezeigt. Das Kamerasteuersystem 302 führte das die Verarbeitung an dem Auswahlgebiet 420, wie dies zuvor mit Bezug zu den 4B-4D beschrieben ist, an den Stellen, an denen die Sättigung von dem Anwender überarbeitet wurde, unter Anwendung einer Echtzeitjustierung in Kenntnis der Überarbeitung aus. Das angezeigte Bild 442 auf der Bildsuchereinrichtung 308 ist im wesentlichen das gleiche Bild, das aufgenommen werden kann, wenn der Anwender 410 eine Anforderung eingibt, den Auslöser zu betätigen. Das angezeigte Bild 442 ist das Ergebnis einer Anwendung von Transformationen, die ansonsten während der Anwendung von Nachverarbeitungsschritten angewendet würden. In der vorliegenden Technik hat jedoch das Kamerasteuersystem 302 die Transformationen während der Echtzeitbenutzung der Kamera angewendet im Hinblick auf die reale Szene 404 statt der Anwendung dieser Verarbeitungen während nach Verarbeitungsoperationen. Eine derartige Echtzeitverarbeitung führt zu einem aufgenommenen Bild 442, das in genauerer Weise die Absicht des Anwenders zeigt.
  • Daher versetzt das Kamerasteuersystem 302 den Anwender in die Lage, anzugeben, was wichtig ist, indem die lokale Erscheinung einschließlich, ohne Einschränkung, der Helligkeit, der Sättigung, des Kontrasts, der Farbschattierung, des Farbtons, der Farbe, der Sättigung und/oder des Fokus durch eine strichbasierte bzw. Wisch-basierte Eingabe geändert wird. Das Kamerasteuersystem 302 liefert eine Visualisierung dieser Modifizierungen für den Anwender 410 mit einer interaktiven Geschwindigkeit und steuert die Kamerasteuerungsroutinen an, um bessere Aufnahmeparameter (beispielsweise Belichtung, Verstärkung, Fokus, Weiß-Balance, usw.) auszuwählen, wobei Bildsequenzen nach Bedarf aufgenommen werden. Eine derartige Verarbeitung erfordert eine Echtzeitverfolgung mehrerer interessierender Gebiete, die Echtzeitvisualisierung von Überarbeitungen auf dem Bildsucher und eine Bestimmung der optimalen Aufnahmeparameter unter Berücksichtigung der Überarbeitungen. Wie nachfolgend mit Bezug zu 4 und 5 detaillierter beschrieben ist, liefert das Kamerasteuersystem 302 Lösungen für jedes dieser Probleme, durch eine interaktive Überarbeitungen auf dem Bildsucher sowohl auf der Plattform eines Tischrechners als auch auf einer mobilen Plattform. Die Bildsucher-Überarbeitung des Kamerasteuersystems 302 verbessert die Auswahl von Aufnahmeparametern und bietet eine besser einbezogenen Erfahrung im Hinblick auf die Fotografie für den Anwender 410.
  • Zusätzliche Architektur-Details
  • Es sei wieder auf 3 verwiesen; für die Bildaufnahme sendet die Justiereinrichtung 305 einen Datenstrom von rohen Bilddaten von dem Sensor (nicht gezeigt) in einen Datenstapel, der die aktuellsten Bilder zwischenspeichert, die von einem Verarbeitungsstrang zu vereinigen und zu verarbeiten sind. Das Kamerasteuersystem 302 erhält intern einen vollständigen Belichtungs-oder Fokusstapel zur Anzeige auf dem Bildsucher der Anwenderschnittstelleneinrichtung 306. Ansonsten kann ein zurechtgeschnittenes, unscharfes oder unterbelichtetes Gebiet später die Auswahl des Anwenders stören. Daher werden die Aufnahmeparameter auf einer Basis einzelner Bilder wie folgt aktualisiert: das Kamerasteuersystem 302 berechnet die gewünschte Belichtung für das k-te Bild, indem das Histogramm des logarithmischen Leuchtstärkekanals der aktuellen HDR-Szenenabschätzung genommen wird, indem Abschnitte entfernt werden, von denen erwartet wird, dass sie von Bildern bis zu dem (k -1)-ten Bild abgedeckt sind, und die verbleibenden Abschnitte justiert werden. Für Fokusstapel vollführt das Kamerasteuersystem 302 eine Iteration vom minimalen bis zum maximalen Fokusabstand in festgelegten Schritten.
  • Für die Verbreitung der Überarbeitungen in der Bildsuchereinrichtung 308 holt der Verarbeitungsstrang der Justiereinrichtung 305 die N jüngsten Bilder (beispielsweise N = 3 für Belichtungsstapel, und N = 4 für Fokusstapel) ab und vereinigt die Bilder eine eine HDR-Leuchtstärkenkarte oder ein Bild mit Gesamtfokus. Das Kamerasteuersystem 302 kann eine ähnliche Formel benutzen, wie sie dem Fachmann bekannt ist, um LDR-Bilder in ein HDR-Bild zu kombinieren. In einer Realisierung kann das Kamerasteuersystem 302 die resultierende Szenenabschätzung in einem Logluv-Format (beispielsweise LogLuv-TIFF) speichern. Die Verwendung eines Formats, das auf einer kanonischen Einheit beruht, ist wünschenswert, da Auswahlen und Überarbeitungen, die auf Bildabschnitten beruhen, robust gegenüber Änderungen der Aufnahmeparameter sein sollten.
  • Die Maskengeneratoreinrichtung 304 modelliert die Auswahl und die Überarbeitungen als Funktionen über den Raum eines Bildabschnitts-Deskriptors. Die Maskengeneratoreinrichtung 304 berechnet diese Funktionen über jedem Bildabschnitt der Szene und erzeugt Masken, wie dies nachfolgend detaillierter mit Bezug zu 5 beschrieben ist. Die Justiereinrichtung 305 wendet dann die Masken auf die kodierten Daten (beispielsweise LogLuv-kodierte Daten) an, führt eine Farbtonzuordnung an der resultierenden Ausgabe aus und zeigt die Ausgabe auf der Bildsuchereinrichtung 308 an. LogLuv ist Kodierung, die zur Speicherung von HDR-Abbildungsdaten innerhalb eines weiteren Abbildungsormat (beispielsweise TIFF) verwendet wird. Wenn die Anwenderschnittstelleneinrichtung 306 Fokus-Überarbeitungen empfängt, kann die Justiereinrichtung 305 die Bilder aus dem Fokusstapel wieder zusammensetzen.
  • Auf der Grundlage des angezeigten Ergebnisses kann die Justiereinrichtung 305 die optimale Gruppe an Belichtungs-und/oder Fokuswerten erneut berechnen, wie dies nachfolgend mit Bezug zu 5 beschrieben ist. Die Justiereinrichtung 305 verwendet diese Parameter, um Bilder zu beeinflussen, die die Kamera aufnimmt. Die Justiereinrichtung 305 führt das bzw. die aufgenommenen Bilder durch die zuvor genannte Verarbeitungs-Pipeline und erzeugt ein einzelnes HDR-Bild. Die Justiereinrichtung 305 führt eine Farbtonzuordnung an dem HDR-Bild aus, um eine endgültige Ausgabe zur Anzeige auf der Bildsuchereinrichtung 308 zu erzeugen.
  • Die Anwenderschnittstelleneinrichtung 306 präsentiert dem Anwender eine anscheinend normale Bildsuchereinrichtung 308. Intern jedoch nimmt das Kamerasteuersystem 302 regelmäßig einen Belichtungs-und/oder Fokusstapel aus der nachgeordneten Richtung an. In einer Ausführungsform, wie zuvor mit 4B beschrieben ist, wählt der Anwender ein Gebiet mittels Strichgesten aus. Der Anwender kann dann die Auswahlen löschen, indem er den Bereich außerhalb des ausgewählten Gebiets antippt, oder er kann die Auswahl bestätigen, indem er das Gebiet antippt, wodurch eine Überlagerung mit Symbolen ausgelöst wird, die diverse Arten von Überarbeitungen repräsentieren (beispielsweise Helligkeit, Sättigung, Kontrast, Farbschattierung usw.). Sobald der Anwender die Art der Überarbeitungen auswählt, die auf das ausgewählte Gebiet anzuwenden ist, macht der Anwender eine Wischgeste horizontal nach links nach rechts, um die zugeordnete Eigenschaft zu verschieben (beispielsweise dunkler oder heller, schärfer oder Unschärfe kommen usw.).
  • Überblick über das Verfahren
  • 5 ist ein Flussdiagramm von Verfahrensschritten zur Steuerung einer Kamera gemäß einer Ausführungsform der vorliegenden Erfindung. In einigen Realisierungen können die Verfahrensschritte von dem Kamerasteuersystem 302 aus 3 ausgeführt werden, das eine Anwenderschnittstelleneinrichtung 306, eine Maskengeneratoreinrichtung 304 und eine Justiereinrichtung 305 aufweist. Wie der Fachmann erkennt, sind die Verfahrensschritte fließend, iterativ und äußerst abhängig voneinander. Nur zum Zwecke der Erläuterung beginnt die Beschreibung der Verfahrensschritte nachfolgend bei der Anwenderschnittstelleneinrichtung 306. In anderen Beispielen kann die Beschreibung der Verfahrensschritte auch bei der Justiereinrichtung 305 oder an irgendeiner anderen Stelle in der Architektur beginnen. Unabhängig davon, sind die Verfahrensschritte in Verbindung mit den Systemen der 1-3 beschrieben, wobei jedoch der Fachmann versteht, dass ein beliebiges System, das zur Ausführung der Verfahrensschritte in beliebiger Reihenfolge geeignet ist, innerhalb des Schutzbereichs der vorliegenden Erfindung liegt.
  • Wie gezeigt, beginnt ein Verfahren 500 mit einer Aktion 502, in der die Anwenderschnittstelleneinrichtung 306 ein Bild auf einem Bildsucher (beispielsweise WYSIWYG-Bildsucher 308 aus 3) anzeigt. Beispielsweise wird die Kamera eingeschaltet; die Kameralinse ist auf eine Szene gerichtet und empfängt permanent eine Eingabe davon. Folglich umfasst das Bild zumindest teilweise die Interpretation der Kamera im Hinblick auf eine Szene, auf die die Kameralinse gerichtet ist. Mittlerweile empfängt die Bildsuchereinrichtung eine Echtzeitangabe aus der Justiereinrichtung 305 in einer Aktion 520, die nachfolgend detaillierter beschrieben ist. Daher ist das auf der Anwenderschnittstelleneinrichtung 306 angezeigte Bild eine Echtzeit-Kombination von Bildern, die von der Kameralinse aufgenommen werden, und aus einer Verarbeitung, die an den Bildern in Bezug auf die Überarbeitungen des Anwenders ausgeführt wird. Wie nachfolgend in anderen Schritten beschrieben ist, ist die Kombination der Eingabe eine Echtzeiteingabe und kann sich ständig ändern, wenn sich die Szene ändert und/oder wenn sich die Überarbeitung des Anwenders ändert.
  • In einer Entscheidungsoperation 504 ermittelt die Anwenderschnittstelleneinrichtung 504, ob eine Anforderung empfangen wird, den Auslöser zu betätigen. Wenn dies der Fall ist, sendet in einer Aktion 506 die Anwenderschnittstelleneinrichtung 306 eine Anforderung an die geeignete Komponente, um den Auslöser zu betätigen. Das Kamerasteuersystem 302 kann dann den Auslöser betätigen und ein endgültiges Bild aufnehmen, das auf dem WYSIWYG-Bildsucher der Anwenderschnittstelleneinrichtung 504 angezeigt wird.
  • Wenn jedoch in dem Entscheidungsschritt 504 die Anwenderschnittstelleneinrichtung 306 ermittelt, dass es keine Forderung gibt, den Auslöser zu betätigen, geht das Verfahren 500 zu einer Entscheidungsoperation 508 weiter, in der die Anwenderschnittstelleneinrichtung 306 ermittelt, ob Anwenderüberarbeitungen empfangen werden. Wenn dies nicht der Fall ist, dann ist das Verfahren 500 beendet und kann für eine Wiederholung zum Start zurückgehen.
  • Wenn im Entscheidungsschritt 508 die Anwenderschnittstelleneinrichtung 306 ermittelt, dass Anwenderüberarbeitungen empfangen werden, dann geht das Verfahren 500 zu einer Aktion 510 weiter, in der die Anwenderschnittstelleneinrichtung 306 die Anwenderüberarbeitungen empfängt. Beispielsweise übermittelt der Anwender seine Absicht, indem er ein Gebiet auswählt und/oder den gesamten Bildsucher auswählt und Überarbeitungen eintippt (beispielsweise heller oder dunkler, Farbverschiebung, die Änderung der Sättigung, des Kontrasts, usw.), wobei dies über schriftartige Gesten erfolgt.
  • In einer Aktion 511 sendet die Anwenderschnittstelleneinrichtung 306 die eine oder die mehreren Anwenderüberarbeitungen an die Maskengeneratoreinrichtung 304.
  • In einer Aktion 512 klassifiziert die Maskengeneratoreinrichtung 304 Bildabschnitte des Auswahlgebiets in Bezug auf die eine oder die mehreren Anwenderüberarbeitungen. Beispielsweise beginnt die Maskengeneratoreinrichtung 304 den Prozess, das Auswahlgebiet in ein Datenformat zu transformieren (beispielsweise Bildabschnitte), die das Kamerasteuersystem über mehrere Bilder hinweg auf Übereinstimmung prüfen kann. Mittlerweile empfängt die Maskengeneratoreinrichtung 304 eine Rückkopplung aus der Justiereinrichtung 305 während einer Aktion 526, wie dies nachfolgend detaillierter erläutert ist.
  • In einer Aktion 514 spezifiziert die Maskengeneratoreinrichtung 304 eine dünnbesetzte Überarbeitungsmaske. Beispielsweise ermöglicht es die Maskengeneratoreinrichtung 304, dass Bildabschnitte in nachfolgenden Bildsucher-Bildern auf Übereinstimmung geprüft werden, so dass die Gesten permanent verbleiben. Übereinstimmende Bildabschnitte über mehrere Bildsucher-Bilder hinweg können erreicht werden durch übereinstimmende Bildabschnitte, die ähnlich aussehen (beispielsweise wenn jeder 8 Pixel mal 8 Pixel Texturabschnitt oder eine Texturabschnitt mit beliebiger Größe übereinstimmt). Jeder Abschnitt enthält eine Teilgruppe an Pixel des Auswahlgebiets. Wann immer der Anwender über den Bildabschnitt schreibartig fährt, um den Abschnitt auszuwählen oder um Überarbeitungen anzuwenden, aktualisiert das Kamerasteuersystem das angezeigte Bild, um die Änderung wiederzugeben. Die Ausbreitung wird erreicht, indem die Abschnitte in jedem Bildsucher-Bild übereinstimmen, um eine Auswahl und die Anwendung von Überarbeitungen abzuleiten.
  • In einer Aktion 516 führt die Maskengeneratoreinrichtung 304 eine kantenbewahrende Aufwärts-Abtastung an der Überarbeitungsmaske aus. Eine kantenbewahrende Glättung ist zu folgendem Abschnitt beschrieben, der die Überarbeitungen spezifiziert.
  • In einer Aktion 518 erzeugt die Maskengeneratoreinrichtung 518 eine Überarbeitungsmaske für die Verwendung durch die Justiereinrichtung 305. Die Überarbeitungsmaske berücksichtigt dabei
    in einer Aktion 520 führt die Justiereinrichtung 305 eine Farbtonzuordnungsoperation 520 aus. Unterdessen führt in einer Aktion 522 die Justiereinrichtung 305 Justier bzw. Einstellvorgänge aus. Auf der Grundlage der Überarbeitungsmaske und des farbtonzugeordneten HDR-Bildes erzeugt die Justiereinrichtung 305 die Justierparameter (beispielsweise Belichtungszeit, usw.), die die Erscheinungsqualität des HDR-Bildes für die Anzeige maximieren. Beispielsweise gibt die Justiereinrichtung 305 quantitativ Anforderungen für die Einstellung auf der Grundlage einer Überarbeitungsmaske und eines farbtonzugeordneten HDR-Bildes an, stellt das farbtonzugeordnete HDR-Bild entsprechend ein, um Einstellungsparameter zu berechnen, und liefert für die Kamera die Justierparameter, die Bildaufnahmevorgänge beeinflussen, um damit die Erscheinung des aufgenommenen HDR-Bildes für die Anzeige zu maximieren (beispielsweise anzeigen der nachgeordneten Überarbeitungen).
  • Beispielsweise ist die Justiereinrichtung 305 ausgebildet, auf die Anwenderüberarbeitungen zu reagieren, beispielsweise durch Einführung einer justierten Ausgabe, die eine Klammer (beispielsweise Belichtungsklammern und/oder Fokusklammern, usw.) enthalten, um den Randbedingungen Rechnung zu tragen, die durch die Anwenderüberarbeitungen auferlegt werden. Die Justiereinrichtung 305 analysiert das farbtonzugeordnete HDR-Bild und die Bearbeitungsmaske, um die Justierparameter zu ermitteln. Die Justiereinrichtung 305 wählt dann die Aufnahmeparameter für das nächste Bildsucher-Bild aus, das angefordert wird. Abhängig von der Art und dem Ausmaß der Überarbeitungen werden gewisse Bereiche der Leuchtstärke und/oder Tiefe mehr oder weniger wichtig für die Aufnahme, so dass die Anforderungen für die Algorithmen der Justiereinrichtung 305 entschärft und/oder verschärft werden. Die Justiereinrichtung 305 speist die Justierung für die Anzeige zurück in die Justiereinrichtung 305, um aufgenommene Bilder zu beeinflussen.
  • In einer Aktion 524 nimmt die Justiereinrichtung 305 Bilder aus der realen Szene auf. In diesem Beispiel der 5 nimmt die Justiereinrichtung 305 das Bild eines gleitenden Fensters 530 mit einer vorbestimmten Anzahl an Bildern auf. Das gleitende Fenster 530 enthält eine Sequenz aus drei Bildern pro Zeit. Beispielsweise zu einer Zeit tk-1 enthält das gleitende Fenster eine Sequenz aus benachbarten Bildern mit einem Bild N -5, Bild N -4 und Bild N-3. Zu einem Zeitpunkt tk enthält das gleitende Fenster eine Sequenz aus benachbarten Bildern mit einem Bild N -2, Bild N-1 und Bild N, usw. Die Größe des gleitenden Fensters kann durch die Anwenderüberarbeitungen beeinflusst werden. Beispielsweise können die Überarbeitungsmasken, die in der Aktion 518 erzeugt wurden, die Größe des gleitenden Fensters beeinflussen. Wenn beispielsweise das Kamerasteuersystem 302 eine Eingabe von dem Anwender empfängt, um ein sehr wenig beleuchtetes Auswahlgebiet der Szene aufzuhellen, dann können die Überarbeitungen eine weitere Aufnahme erfordern (beispielsweise ein weiteres Bild des gleitenden Fensters 530) mit einer längeren Belichtung und/oder eine höhere Verstärkung, um die Daten in diesem Auswahlgebiet wiederherzustellen. Derartige Anwenderüberarbeitungen beeinflussen den Grad des akzeptablen Signal-zu-Rauschen (SNR), was direkt mit der optimalen Wahl der Belichtung und/oder der Verstärkung verknüpft ist.
  • In einer Aktion 526 erzeugt die Justiereinrichtung 305 ein einzelnes HDR-Bild. Beispielsweise mischt, richtet aus und/oder vereinigt die Justiereinrichtung 305 Bilder des gleitenden Fensters 530, um eine einzelne Abschätzung eines Bildes mit hohem Dynamikbereich (HDR) zu erzeugen. In einem weiteren Beispiel (nicht gezeigt) umfasst das Kamerasystem einen Kamerasensor, der direkt HDR-Bilder aufnimmt. In einem derartigen Fall muss die Justiereinrichtung 305 nicht notwendigerweise mehrere Bilder mischen, wie in 5 gezeigt ist. Generell muss die Justiereinrichtung 305 nur ein einzelnes HDR-Bild erzeugen. Die spezielle Art, in der die Justiereinrichtung 305 das HDR-Bild erzeugt, ist typischerweise nicht so wichtig.
  • Es sei wieder auf Aktion 520 verwiesen; die Justiereinrichtung 305 kombiniert die Bearbeitungsmaske uns das HDR-Bild, um die Farbtonzuordnungsoperation auszuführen. Die Justiereinrichtung 305 liefert dann ein überarbeitetes und eingestelltes Bild für die Anzeige auf der Bildsuchereinrichtung der Anwenderschnittstelleneinrichtung 306. Beispielsweise speichert das Kamerasteuersystem die Anwenderüberarbeitungen der Anwenderschnittstelleneinrichtung 306, die Ausgabemaske der Maskengeneratoreinrichtung 304 und die Abschätzungen für die Szenenleuchtstärke der Justiereinrichtung 305 asynchron in Texturen.
  • Es sei wieder zurückverwiesen auf die Aktion 502; die Anwenderschnittstelleneinrichtung 306 zeigt das überarbeitete und eingestellte Bild, das von der Justiereinrichtung 305 empfangen wird, an. Beispielsweise setzt die Anwendung im Frontbereich (beispielsweise die Android-Anwenderschnittstelle) das endgültige Bild zusammen und führt dann die abschließende Bilderzeugung für die Anzeige aus. Wie zuvor beschrieben ist, sind die Aktionen des Verfahrens 500 iterativ. Daher aktualisiert das Kamerasteuersystem regelmäßig das angezeigte Bild, wenn das Kamerasteuersystem Anwenderüberarbeitungen empfängt, erhält Änderungen in der Szene und/oder empfängt eine Kamerabewegung, neben anderen Eingabedaten.
  • Das Verfahren 500 kann andere Aktionen und/oder Details beinhalten, die in dieser Verfahrensübersicht nicht erläutert sind. Beispielsweise ist das Verfahren 500 in gleicher Weise auf Video als auch auf unbewegte Bilder anwendbar. Ein Unterschied für Video besteht darin, dass die Betätigung des Verschlusses bewirkt, dass eine Sequenz an Bildern über eine gewisse Zeitdauer hinweg aufgenommen wird, im Gegensatz zu einem einzelnen unbewegten Bild zu einem bestimmten Zeitpunkt. Für Video ist die genaue Steuerung von Aufnahmeparametern ohne das Hervorrufen unerwünschter zeitlicher Bildfehler eine noch größere Herausforderung (beispielsweise wird eine zu starke Änderung der Belichtungseinstellungen vom menschlichen Auge als flackern wahrgenommen). Als weiteres Beispiel sei genannt, dass mindestens einige Verfahrensschritte unter Anwendung des Parallelverarbeitungssubsystems 112 aus den 1 und 2 ausgeführt werden können. Es kann wünschenswert sein für das Kamerasteuersystem, einige Verfahrensschritte parallel im Hinblick auf Geschwindigkeit auszuführen, und auch dahingehend, dass ein optimales Anwendererleben vermittelt wird. Andere Aktionen und/oder Details, die hierin beschrieben sind, können ein Teil des Verfahrens 500 sein, wobei dies von der Realisierung abhängt. Der Fachmann erkennt, dass ein beliebiges System, das zur Ausführung der Verfahrensschritte in beliebiger Reihenfolge geeignet ist, innerhalb des Schutzbereichs der vorliegenden Erfindung liegt.
  • Weitere Details über die Bildsucher-Überarbeitung
  • Die Bildüberarbeitung auf der Bildsuchereinrichtung 308 muss eine zeitlich beibehaltene Auswahl von Objekten mittels sparsamer Anwendereingaben handhaben. Gleichzeitig verarbeitet das Kamerasteuersystem 302 jedes Bildsucher-Bild unabhängig, ohne auf der Vorverarbeitung oder einem Training eines aufwändigen Klassifizierers zu beruhen.
  • Unter Ausleihe einer konventionellen Arbeit über neigungssbasierte Ausbreitung der Überrarbeitung auf Bildsequenzen modelliert das Kamerasteuersystem 302 Überarbeitungen und die Auswahl als Funktionen, die in einem Raum lokaler Abschnitts-Deskriptoren liegen: S i : n [ 1,   1 ]
    Figure DE102013020611B4_0001
    wobei n (beispielsweise, 8) die Dimension des Abschnitts-Deskriptor ist und wobei jedes S1, S2, . . . einer speziellen Art an Überarbeitung entspricht, etwa Farbton, Farbe, Sättigung, Unschärfe. Der Wert von 0 entspricht keiner Überarbeitung. Das Kamerasteuersystem 302 reserviert S0 : ℝn → [0,1] als eine weiche Auswahlmaske.
  • In einem Beispiel kann das Kamerasteuersystem 302 einen 8-dimensionalen Deskriptor (beispielsweise n = 8) auf der Grundlage eines Bildabschnitts mit 8 Pixel x 8 Pixel verwenden, der aus dem Mittelwert und den Ableitungen der ersten Ordnung und der zweiten Ordnung des logarithmischen Leuchtstärkekanals plus mittlerer CIELUV-Farbstärke zusammengesetzt ist. (CIELUV ist ein Farbraum, der von der Internationalen Kommission für Beleuchtung (CIE) 1976 eingeführt wurde.) Um zu entscheiden, welche Merkmale zu verwenden sind, führt das Kamerasteuersystem 302 eine Hauptkomponentenanalyse (PCA) an einer Gruppe generischer Bildabschnitte aus. Die stärkste PCA-Komponente hat sich als ähnlich zu dem Mittelwert des Abschnitts erwiesen, während die nächsten Komponenten in vernünftiger Weise durch die Ableitungen der logarithmischen Leuchtstärke usw. abgeschätzt werden können. Zu beachten ist, dass als eine Abweichung zu der vorhergehenden Arbeit das Kamerasteuersystem 302 die (x, y)-Koordinate aus dem Deskriptor verwirft, um im Hinblick auf eine Bewegung in der Szene oder der Kamera robust zu sein.
  • Bestehende Verfahren versuchen, S i
    Figure DE102013020611B4_0002
    auf der Grundlage von vom Anwender bereitgestellten Abtastwerten global zu optimieren oder zu interpretieren, und als Folge davon steigt der Aufwand für die Abschätzung von S i
    Figure DE102013020611B4_0003
    linear mit der Anzahl und dem Ausmaß an Überarbeitungen an, die der Anwender bereits ausgeführt hat. Stattdessen speichert das Kamerasteuersystem 302 S i
    Figure DE102013020611B4_0004
    in einer dünbesetzten Datenstruktur und behandelt diese Problematik als ein Nachschlage-Problem. Daher gibt die inkrementale Aktualisierung von S i
    Figure DE102013020611B4_0005
    einen Aufwand in der Größenordnung O(1).
  • Da das Kamerasteuersystem 302 eine explizite Optimierung oder Interpolationsaktion vermeidet, breiten sich Überarbeitungen möglicherweise nicht so aggressiv wie in anderen Verfahren aus. Jedoch wird diese Problematik auf zwei Weisen abgeschwächt: erstens, das Kamerasteuersystem 302 wendet eine kantenbewahrende Glättung an Si im Hinblick auf das Themenfeld an, sobald ein Bildsucher-Bild erzeugt wird. Zweitens, da das Kamerasteuersystem eine Rückkopplung interaktiv sendet, wenn das Kamerasteuersystem die Stricheingabe des Anwenders empfängt, wird die Ausbreitung einfach steuerbar und intuitiv für den Anwender. Beispielsweise malt der Anwender interaktiv (beispielsweise stellt durch Bewegungen für) Si bereit.
  • Zur Speicherung von S i
    Figure DE102013020611B4_0006
    verwendet das Kamerasteuersystem 302 das allgemein bekannte permutohedrale Gitter, das einen hoch dimensionalen Raum mit Grundelementen aufteilt und speichert die Abtastwerte an den Vertices. Das Kamerasteuersystem 302 verwendet das Gitter, um eine barizentrische Interpolation für die Einfügung und für das Nachschlagen auszuführen, die auch dazu dienen, die gespeicherten Daten lokal weiter zu verbreiten. Während das Gitter verwendet werden kann, um die hoch dimensionalen Filteralgorithmen zu unterstützen, kann das Kamerasteuersystem 302 das Gitter auch verwenden, um die hoch dimensionalen Funktionen sehr effizient aufzunehmen.
  • Anstatt das Gitter mit allen in einem gegebenen Bild vorhandenen Abschnitten zu initialisieren, wie man es bei der hoch dimensionalen Filterung machen könnte, wendet das Kamerasteuersystem 302 einen Datenstromansatz an: wenn der Anwender über die Szene wischt und Abschnitte auswählt (beispielsweise Auswahlgebiet 420), ermittelt das Kamerasteuersystem 302 nur jene Vertices, die diesen Abschnitten entsprechen, und aktualisiert deren Werte. Zu beachten ist, dass nicht ausgewählte Abschnitte niemals in das Gitter geschrieben werden. Wenn die Suche nach einem Abschnitt an einem beliebigen Punkt fehlschlägt, wird ein Ersatzwert für S i
    Figure DE102013020611B4_0007
    angenommen.
  • Um die Zuleitung von Überarbeitungen in Form eines Datenstroms weiter zu unterstützen, kann das Kamerasteuersystem 302 das Gitter mit einem Zerfallsschema ähnlich zu jenen erweitern, das in einem üblicherweise verfügbaren Video-Filteralgorithmus eingesetzt wird. Das Kamerasteuersystem 302 verknüpft mit jedem Vertex ein Wahrnehmungsbedeutungsmaß, das das Kamerasteuersystem 302 jedes Mal vergrößert, wenn das Kamerasteuersystem 302 auf den Vertex zugreift, wobei ein exponentieller Abfall im Laufe der Zeit erfolgt. Daher hat ein Bildabschnitt, der in dem Bildsucher verbleibt, eine hohe Bedeutung, wohingegen ein Abschnitt, der längere Zeit außer Sicht ist, eine geringe Bedeutung besitzt. Das Kamerasteuersystem 302 verfolgt die Zeit, bei der jeder Vertex das letzte Mal aktualisiert wurde. Wann immer ein Vertex für eine Leseoperation oder Schreiboperation angesprochen wird, führt das Kamerasteuersystem 302 einen Verfall für die Bedeutung des Vertex in geeigneter Weise aus. Wenn das Gitter voll besetzt ist und ein neuer Vertex eingefügt werden muss, prüft das Kamerasteuersystem 302 diese Knoten mit klein unterteilter Kollision und verdrängt die Vertices mit der geringsten Bedeutung.
  • Bildsucher-Überarbeitung: Spezifizieren von Überarbeitungen
  • Das Kamerasteuersystem 302 ist ausgebildet, Überarbeitungen zu spezifizieren, wie dies zuvor mit Bezug zu 4A - 4E beschrieben ist. Das Kamerasteuersystem 302 empfängt Wischbewegungen über das interessierende Gebiet und empfängt die Bestätigung der Auswahl (beispielsweise Antippen und/oder ein Mausklick auf das ausgewählte Gebiet). Anschließend präsentiert das Kamerasteuersystem 302 eine Einrichtung für den Anwender (beispielsweise eine Echtzeitüberarbeitungseinrichtung 322), die die diversen Arten von Überarbeitungen auflistet, die unterstützt werden, und das Kamerasteuersystem 302 empfängt eine Auswahl (beispielsweise ein Antippen) der Wahl des Anwenders. Als nächstes empfängt das Kamerasteuersystem 302 eine Eingabe (beispielsweise wischt der Anwender horizontal oder links oder rechts), die eine Größe und eine Richtung der Überarbeitung angibt. Alle Aktionen zur Spezifizierung von Überarbeitungen sind interaktiv. Beispielsweise führt, wenn der Anwender seinen Finger (oder Stift, Mauszeiger, usw.) auf dem Bildschirm bewegt, das Kamerasteuersystem 302 eine nachgeordnete Verarbeitung aus und aktualisiert Überarbeitungen, die auf dem Bildsucher angezeigt sind.
  • Für die Auswahl eines Bildabschnitts (beispielsweise Auswahlgebiet 420) wandelt das Kamerasteuersystem 302, wenn die Strichbewegung des Anwenders registriert wird, Bildabschnitte mit Mittelpunkten, die innerhalb eines keinen festgelegten Abstands zu dem Ursprung des Ereignis angeordnet sind, in Deskriptoren um und sucht nach dem Deskriptor in dem Gitter (beispielsweise das zuvor beschriebene permutohedrale Gitter). Wenn die entsprechenden Knoten nicht existieren, erzeugt das Kamerasteuersystem 302 die entsprechenden Knoten und initialisiert diese. Das Kamerasteuersystem 302 erhöht den Wert von S0 für diese Knoten. Somit ist der Aufwand für die Anwendung einer Auswahl O(1), unabhängig von den Abmessungen des Bildsuchers und dem Verlauf der Überarbeitung.
  • Zur Visualisierung auf der Bildsuchereinrichtung 308 wandelt das Kamerasteuersystem 302 für jedes Bildsucher-Bild die Bildabschnitte, die in dem Bild enthalten sind, in Deskriptoren um, und sucht nach jedem Deskriptor, der mit Überarbeitungen verknüpft ist, in dem Gitter. Wenn der Anwender in der dritten Phase ist und aktuell eine Überarbeitung des Typs j mit dem Ausmaß k anwendet, dann stellt für jeden Deskriptor-Abschnitt p ,
    Figure DE102013020611B4_0008
    das Kamerasteuersystem 302 S j ( p )
    Figure DE102013020611B4_0009
    wie folgt ein: S j ( p ) : = S j ( p ) + k S 0 ( p )
    Figure DE102013020611B4_0010
  • Diese Einstellung geschieht dynamisch und wird nicht in das Gitter geschrieben. Das Kamerasteuersystem wendet dann S j ( p )
    Figure DE102013020611B4_0011
    an. Somit steigt der Aufwand der Visualisierung für jedes Bildsucher-Bild linear mit den Abmessungen des Bildsuchers an und ist unabhängig vom Inhalt des Gitters.
  • Zur Finalisierung einer Überarbeitung faltet das Kamerasteuersystem 302, sobald das Kamerasteuersystem 302 eine Größe und eine Richtung einer Überarbeitungsoption empfängt, die aktuelle Überarbeitungsoperation in das Gitter, indem die Gleichung 2 auf jeden Abschnitt p
    Figure DE102013020611B4_0012
    in dem Gitter anwendet und S 0 ( p )
    Figure DE102013020611B4_0013
    auf null zurücksetzt. Somit ist der Aufwand zum Abschluss einer Überarbeitung proportional zur Größe des entsprechenden Gitters und unabhängig von den Abmessungen des Bildsuchers.
  • Für eine kantenbewahrende Glättung verarbeitet in einer Realisierung der Visualisierung das Kamerasteuersystem 302 eine Teil-abgetastete Gruppe an Bildabschnitten. Diese Einschränkung spart eine beträchtliche Menge an Zeit, ergibt aber Überarbeitungsmasken mit einer Auflösung, die kleiner als jene des Bildsuchers ist. Das Kamerasteuersystem 302 kann eine kantenbewahrende Aufwärts-Abtastung an einer vorläufigen Überarbeitungsmaske vornehmen, indem eine Transformation von Bereichen (beispielsweise Transformation im Zeitbereich und/oder Transformation im Frequenzbereich) vorgenommen wird in Bezug auf die Kanten des Inhalts des Bildsuchers (Kanten von Objekten in Bildern, die von der Kameralinse aufgenommen werden). Diese Operation ermöglicht es dem Kamerasteuersystem 302 nicht nur, Prozesse zu beschleunigen, sondern die Operation ermöglicht es dem Kamerasteuersystem 302 auch, Masken mit höherer Qualität bei verbesserter räumlicher Ausbreitung der Überarbeitungen zu erzeugen. Beispielsweise liefert eine kantenbewahrende Aufwärts-Abtastung ein Datenformat für einen Prozessor, das den Prozessor veranlasst, mit einer höheren Rate als ein Prozessor zu arbeiten, der ohne die kantenbewahrende Aufwärts-Abtastung arbeitet. Als weiteres Beispiel sei angeführt, dass die kantenbewahrende Aufwärts-Abtastung ein Datenformat für den Prozessor liefert, das dazu führt, dass die Verarbeitungsmaske einen höheren Grad an räumlicher Ausbreitung der Überrarbeitung bietet. Wenn der Anwender eine Vollbildaufnahme angeordnet hat, erzeugt das Kamerasteuersystem 302 Überarbeitungsmasken mit voller Auflösung aus dem Gitter, wendet aber weiterhin kantenbewahrende Glättung mit Bereichstransformation an.
  • Auf Überarbeitung beruhende Kamerasteuerung
  • Zuvor sind eine Schnittstelle und zu Grunde liegende Algorithmen zur Ausführung von Überarbeitungen direkt an dem Bildsucher des Kamerasteuersystems 302 und die Ausbreitung von Überarbeitungen im Laufe der Zeit beschrieben. Obwohl diese Merkmale vorteilhaft für den Anwender sind, indem der Anwender in der Lage ist, die Zusammensetzung auf der Grundlage der Überarbeitungen zu überdenken, liefern diese Merkmale auch zusätzliche Information für das Kamerasteuersystem 302, die das Kamerasteuersystem 302 verwenden kann, um Aufnahmejustierparameter besser auszuwählen. Nachfolgend sind Kamerasteuerungstechniken zur Berechnung zweier Arten von Parametern beschrieben: (1) Belichtung und (2) Fokus für jedes Pixel auf der Grundlage der beabsichtigten Erscheinungsform des Pixel. Diese zwei Arten von Parametern werden zum Zwecke der Erläuterung bereitgestellt. Wie zuvor beschrieben ist, umfassen andere Parameter die Helligkeit, die Sättigung, den Kontrast, die Farbschattierung, die Weiß-Balance, Farbe, Farbton und Verstärkung, neben anderen Arten von Parametern. Ferner ist nachfolgend eine Vorgehensweise zur Zusammenfassung der Ergebnisse von nachgeordneten Operationen für Pixel in dem Bildsucher angegeben, um eine Gruppe an Justier- und/oder Fokusparametern für die Szene zu erzeugen.
  • Auf Überarbeitung beruhende Kamerasteuerung: HDR-Justierung für die Anzeige
  • Konventionelle HDR-Justieralgorithmen arbeiten so, dass eine Szenenbeleuchtung möglichst echt aufgenommen wird, wobei versucht wird, das Signal-zu-Rauschen-Verhältnis (SNR) zu maximieren. Diese Philosophie ist sinnvoll, wenn die an den Leuchstärkedaten vorzunehmende Nachverarbeitung unbekannt ist, und es keine zusätzliche Information über die Bedeutung der unterschiedlichen Szenenelemente gibt.
  • Demgegenüber kann in der vorliegenden Technik das Kamerasteuersystem 302 vorteilhaft die Tatsache ausnutzen, dass die gesamte Nachverarbeitungs-Pipeline einschließlich der Farbtonzuordnung bekannt ist. Der Anwender sieht in dem Bildsucher ein farbtonzugeordnetes HDR-Bild, und wenn einige Bereiche zu dunkel sind, kann er Überarbeitungen zum Aufhellen der Bereiche in Gang setzen. Eine Anforderung zur Aufhellung gibt, dass längere Belichtungen erforderlich sind. Eine Anforderung zur Verdunklung gesättigter Bereiche, um den Kontrast zu erhöhen, zeigt an, dass kürzere Belichtungen erforderlich sind. Das Bildsucher-Bild gibt diese Überarbeitungen wieder, und sobald der Anwender mit dem Ergebnis zufrieden ist, kann der Anwender die Betätigung des Auslösers anfordern und somit kann die Kamera das HDR-Bild mit hoher Auflösung aufnehmen.
  • Das Kamerasteuersystem 302 kann die Anforderungen der Belichtung pro Pixel quantitativ angeben. Das L berücksichtigt die Bildwiedergabetreue jedes Pixel und leitet die Belichtung ab, die zum Erfüllen eines speziellen Schwellwerts erforderlich ist. Sei L die Leuchtstärke der physikalischen Szene, die von der Kamera abgeschätzt wird, möglicherweise aus mehreren Belichtungen; und sei I das Ergebnis der k-Bit-Farbtonzuordnung unter einem globalen streng monotonen Farbzuordnungs-Operator T. Die Überarbeitungen des Anwenders ergeben dann eine Überarbeitungsabbildung E, die in einer räumlich variierenden Weise die Leuchtstärkeabschätzung L moduliert. In einer Implementierung legt das Kamerasteuersystem 302 E ( x ,   y ) = 2 6 S 1 ( p x , y )
    Figure DE102013020611B4_0014
    fest, entsprechend einer Einstellung von bis zu +/ -Stopps. Das Kamerasteuersystem 302 legt schließlich das Ergebnis in k-Bits fest: I ( x ,   y ) = min ( 2 k 1,   T ( L ( x ,   y ) E ( x ,   y ) ) ) .
    Figure DE102013020611B4_0015
  • Für jede der 2k Anzeigestufen ordnet das Kamerasteuersystem 302 einen Schwellwert für eine akzeptable visuelle Verzerrung zu, die als Gauß'sches Rauschen moduliert wird: σ d : { 0, ,2 k 1 } +
    Figure DE102013020611B4_0016
  • Anders ausgedrückt, der Pixelwert I(x,y) auf der Anzeige sollte eine Standardabweichung σd(I(x,y)) oder weniger haben. Dieser Schwellwert hängt von den Betrachtungsbedingungen, der Anzeigeauflösung und der visuellen Anpassung des Anwenders ab, aber für eine helle Anzeige (beispielsweise photopische Vision) ist σd näherungsweise für einen gegebenen Intensitätspegel konstant.
  • Unter Annahme, dass keine Sättigung vorliegt, sollte dann das Kamerasteuersystem 302 den Justieralgorithmus verwenden, um zu versuchen, die physikalische Leuchtstärke L(x,y) jedes Pixel aufzuzeichnen, so dass die zu jedem Pixel zugehörige Unsicherheit σw nach der Verarbeitung für die Bilderzeugung und Farbtonzuordnung eine Standardabweichung von nicht größer als σd(I(x,y)) hat. Für eine ausreichend kleine Unsicherheit kann das Kamerasteuersystem 302 zunächst eine Approximation erster Ordnung auf den Vorgang der Farbtonzuordnung anwenden, um zu erhalten, σ w ( x ,   y ) Δ L ( x ,   y ) σ d ( I ( x ,   y ) ) Δ I ( x ,   y ) σ w ( x ,   y ) σ d ( I ( x ,   y ) ) E ( x ,   y ) T ' ( L ( x ,   y ) E ( x ,   y ) ) ,
    Figure DE102013020611B4_0017
    über die Kettenregel, wobei T'(·) die Ableitung von T(·) in Bezug auf L ist.
  • Schließlich nimmt das Kamerasteuersystem 302 eine c-Bit-lineare Kamera an, die die Szene aufnimmt und rohe Pixelwerte aufzeichnet: p ( x ,   y ) = min ( 2 c 1,   L ( x ,   y ) t K + N ( 0 ;   σ r ) )
    Figure DE102013020611B4_0018
    wobei t die Belichtungszeit; Keine Kalibrierkonstante; N(0; σr) additives (beispielsweise Gauß'sches) Lese-Rauschen ist; und das Kamerasteuersystem 302 legt die Messung fest, um die Sättigung zu simulieren.
  • Das Kamerasteuersystem 302 verwendet den HDR-Rekonstruktionsalgorithmus, um jeden Pixelwert durch t·K zu teilen, um L(x,y) zu erhalten, wodurch die Standardabweichung des Rauschens auf (σr/(t · K) abgesenkt wird. Dieses Rauschen sollte unter σw(x, y) aus Gleichung 4 liegen, wodurch eine Untergrenze für die Belichtungszeit festgelegt ist: σ r K E ( x ,   y ) T ' ( L ( x ,   y ) E ( x ,   y ) ) σ d ( I ( x ,   y ) ) t .
    Figure DE102013020611B4_0019
  • Das Kamerasteuersystem 302 wendet auch eine obere Grenze an, um eine Sensorsättigung zu vermeiden: t < 2 c 1 K L ( x ,   y ) .
    Figure DE102013020611B4_0020
  • Für Pixel, die in dem Sensor sättigen, muss die Abschätzung L(x,y) so sein, dass wenn sie mit E(x,y) multipliziert wird und eine Farbtonzuordnung erfolgt, das Ergebnis die Anzeige sättigen sollte. Dies gibt eine zusätzliche Bedingung t ( 2 c 1 ) E ( x ,   y ) K T 1 ( 2 k 1 ) .
    Figure DE102013020611B4_0021
  • Diese Analyse kann leicht erweitert werden, um nicht-lineare Kameras zu handhaben, indem die inverse Kamera-Antwortfunktion in T hinein gefaltet wird. Das Kamerasteuersystem 302 kann andere Quellen des Rauschens, etwa Protonenrauschen, in das Lese-Rauschen falten, indem zugelassen wird, dass σr in Gleichung 6 als Funktion des Pixelwerts variiert.
  • Das Kamerasteuersystem 302 kann den HDR-Stapel optimieren. Nachdem nun das Kamerasteuersystem 302 die notwendigen Bedingungen für jedes Pixel abgeleitet hat, kann das Kamerasteuersystem 302 die erforderlichen Randbedingungen kombinieren, um eine Lösung für eine Gruppe von Belichtungen zu erhalten, die die Randbedingungen am besten erfüllen. Typischerweise wird eine Szene durch nicht mehr als 3 Belichtungen gehandhabt, und die meisten Kameras bieten eine begrenzte Anzahl möglicher Belichtungswerte.
  • 6A - 6C sind Ansichten eines Beispiels einer auf Überarbeitung beruhenden Justierung durch Analyse pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung. Für jedes Pixel auf dem Bildschirm berechnet die Justiereinrichtung 305 den minimalen und maximalen zulässigen Gewichtungswert, wobei lokale und globale Transformationen berücksichtigt sind, denen die rohen Sensorwerte unterliegen.
  • 6A ist eine Ansicht, die einen beispielhaften Fall (a) einer auf Überarbeitung beruhenden Justierung durch Analyse pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Für die Justierung ergibt jedes Pixel eine Zielfunktion J(x,y,t) auf der Grundlage des minimalen und des maximalen Gewichtungswerts pro Pixel B*(x,y) und B*(x,y).
  • 6B ist ein Diagramm, das einen beispielhaften Fall (b) einer Justierung auf Basis von Überarbeitungen mit einer Analyse pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • 6C ist ein Diagramm, das eine anschauliche Zusammenfassung der Objekte pro Pixel gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Das Kamerasteuersystem 302 vereinigt die Objekte pro Pixel in ein einzelnes Objekt. Dieses Beispiel zeigt eine Zusammenfassung für einen konventionellen Farbtonzuordnungsoperator.
  • Das Kamerasteuersystem 302 implementiert einen erfolgshungrigen Ansatz, der danach strebt, iterativ die zusammengefasste Zielfunktion Σx,y J(x,y,t) im Hinblick auf die Belichtungszeit t zu maximieren. Die Zielfunktion sollte Belichtungszeiten außerhalb der unteren und der oberen Grenze B*(x,y) und B*(x,y) benachteiligen, die für das Pixel abgeleitet sind, wobei Gleichungen 6-8 verwendet werden, wobei das Kamerasteuersystem 3022 J = 0 setzt. Wenn ansonsten das Ausgabepixel P(x,y) gesättigt ist, favorisiert das Kamerasteuersystem 302 kürzere Belichtungszeiten. Das Kamerasteuersystem 302 verwendet die Zielfunktion J ( x ,   y ,   t ) = { 0, if  t [ B * ( x ,   y ) ,   B * ( x ,   y ) ] , 1 + α ( x ,   y ) log 2 t B * ( x ,   y ) ,
    Figure DE102013020611B4_0022
    die in 6A und 6B in einer logarithmischen Zeitachse gezeigt ist, mit a(x,y) = -0.3, wenn das Pixel gesättigt ist, und mit 0,0 ansonsten.
  • Wenn t auf den logarithmischen Bereich abgebildet wird, wird das Ziel in Gleichung (9) eine Summe von stückweise linearen Funktionen, die das Kamerasteuersystem 302 in linearer Zeit unter Anwendung einer dynamischen Programmierung maximiert, indem die Ableitungen der ersten und zweiten Ordnung des Ziels im Voraus berechnet und zwischengespeichert werden. Das Kamerasteuersystem 302 findet rasch Belichtungszeiten, die das Ziel maximieren, wobei abgebrochen wird, wenn das Kamerasteuersystem 302 die maximale Größe des Stapels erreicht oder ein gewisser Prozentsatz von Anforderungen pro Pixel erfüllt ist, was auch immer zuerst auftritt. 6C zeigt die Zielfunktionen für zwei unterschiedliche Farbzuordnungsoperatoren.
  • Kamerasteuerung auf Basis von Überarbeitung: Stapelfokussierung für die Anzeige
  • Ein weiteres populäres Ziel zur Manipulation ist die Tiefe des Felds. Das Kamerasteuersystem 302 kann eine konventionelle Technik einsetzen, um einen Fokusstapel (beispielsweise eine Gruppe von Bildern, die mit unterschiedlichen Tiefen fokussiert sind) zu kombinieren, um eine erweiterte Tiefe des Feldes zu simulieren. Das Kamerasteuersystem 302 kann die Tiefe des Feldes in ähnlicher Weise reduzieren, oder kann eine konventionelle Technik einsetzen, um eine Unschärfe bzw. Verwaschung im Bildschirm-Raum auszuführen. Wenn der Anwender interaktiv die gewünschte Manipulation angeben kann, bevor ein Bild aufgenommen und durch Visualisierung in dem Bildsucher die Manipulation verifiziert ist, kann das Kamerasteuersystem 302 eine konventionelle Autofokus-Routine verwenden, um den minimalen Fokusstapel zu erschließen, der für die Zusammensetzung erforderlich ist, anstatt, dass der vollständige Fokusstapel aufgenommen wird, was aufwändig ist.
  • Das Kamerasteuersystem 302 kann die Fokusanforderungen pro Pixel quantitativ angeben. Unter Anwendung der zuvor mit Bezug zu 4A - 4B beschriebenen Schnittstelle zeichnet der Anwender eine Maske F: {(x,y)} →[-1,1], die angibt, beispielsweise welche Gebiete schärfer oder unschärfer in Bezug auf eine Referenzfotografie sein sollen, die bei einer Tiefe z0 ∈ [zmin, zmax] fokussiert ist. Das Kamerasteuersystem 302 misst die Tiefen in Dioptrien. In einem einfachen konventionellen Modell einer dünnen Linse ändert sich die unscharfe Größe linear mit dem Abstand in Dioptrien. Gleichzeitig durchläuft der Bildsucherstrom eine Anzahl von Fokuseinstellungen, um kontinuierliche Szene mit unterschiedlichen Tiefen aufzunehmen, und er erzeugt eine grobe Tiefenkarte auf der Grundlage einer lokalen Kontrastmessung. Unter Anwendung der Maske pro Pixel F verwendet bei F = 0 das Kamerasteuersystem 302 die Referenztiefe z0. Bei 1 verwendet das Kamerasteuersystem 302 die maximal scharfe Tiefe z*. Bei -1 verwendet das Kamerasteuersystem 302 die maximal verwaschene Tiefe zext an dem Pixel (entweder zmin oder zmax, was auch immer veranlassen würde, dass die Formel von z* durch Interpolation weggeführt); bei anderen Werten interpoliert das Kamerasteuersystem 302 linear: z ^ = | F | z t + ( 1 | F | ) z 0 ,
    Figure DE102013020611B4_0023
    wobei zt entsprechend zt ist, wenn F≥ 0 und zext sonst.
  • Nachdem Z mit einem kreuz-bilateralen Filter unter Anwendung des Szenenbildes ein geregelt ist, erhält das Kamerasteuersystem 302 die synthetisierte Szene, indem aus dem geeigneten Abschnitt des Fokusstapels bei jedem Pixel abgetastet wird. Wenn die geeignete Tiefe nicht verfügbar ist, interpoliert das Kamerasteuersystem 302 linear zwischen den zwei nächsten Abschnitten. Das Kamerasteuersystem 302 aktualisiert den Bildsucher kontinuierlich mit dem synthetisierten Bild.
  • Das Kamerasteuersystem 302 kann den Fokusstapel optimieren. Die Abbildung bzw. Zuordnung ẑ, die in den vorhergehenden Abschnitt erhalten wurde, gilt für einen kontinuierlichen Bereich von Tiefen, der unpraktisch für die Aufnahme ist. Um Z in diskrete und wenige repräsentative Werte einzuteilen, verwendet das Kamerasteuersystem 302 erneut die mit Bezug zu den Gleichungen 3-9 beschriebene Technik, um die Summe der stückweise linearen Funktionen zu optimieren. Das Ziel pro Pixel ist 1 bei der gewünschten Tiefe ẑ(x,y), und wird linear zu null bei einem Tefenfehler ∈ (das Kamerasteuersystem 302 verwendet ∈ = 1,0 für eine Linse mit einem Tiefenbereich von 0,0 ≈ 10,0 Dioptrien): J ( x ,   y ,   z ) = max ( 0, ε z z ^ ( x ,   y ) ε ) .
    Figure DE102013020611B4_0024
  • Das Kamerasteuersystem 302 fasst dieses Ziel pro Pixel für alle betrachteten Pixel auf dem Bildsucher zusammen. Da Gleichung 11 stückweise lineare ist, kann das Kamerasteuersystem 302 das zusammengefasste Objekt rasch optimieren, wie mit Bezug zu den Gleichungen 3-9 beschrieben ist. Wiederum gilt, dass das Kamerasteuersystem 302 erfolgshungrig Fokusabstände auswählt, um das Ziel zu maximieren, wobei angehalten wird, wenn das Kamerasteuersystem 302 10 Abschnitte anfordert, oder wenn für die meisten Pixel ẑ nahe an einem der Fokusabstände in der Gruppe liegt.
  • Eine Ausführungsform der Erfindung kann als ein Programmprodukt zur Verwendung in einem Computersystem, z.B. in dem Kamerasystem 100 aus 1 realisiert werden. Das bzw. die Programme des Programmprodukts definieren Funktionen der Ausführungsformen (einschließlich der hierin beschriebenen Verfahren) und können in einer Vielzahl von computerlesbaren Speichermedien enthalten sein. Zu anschaulichen computerlesbaren Speichermedien gehören, ohne Einschränkung: (i) nicht-beschreibbare Speichermedien (beispielsweise Nur-Lese-Speichereinrichtungen in einem Computer, etwa CD-ROM-Disketten, die von einem CD-ROM-Laufwerk lesbar sind, Flash-Speicher, ROM-Chips oder eine andere Art eines nicht flüchtigen Halbleiterspeichers), auf welchen Information permanent gespeichert ist; und (ii) beschreibbare Speichermedien (beispielsweise Disketten in einem Diskettenlaufwerk oder ein Festplattenlaufwerk oder eine andere Art eines Halbleiterspeichers mit wahlfreiem Zugriff), auf welchen änderbare Information gespeichert ist.
  • Die Erfindung ist mit Bezug zu speziellen Ausführungsformen beschrieben worden. Die vorhergehende Beschreibung und die Zeichnungen sind daher als anschaulich und nicht als beschränkend zu betrachten.

Claims (8)

  1. Ein Verfahren für eine Anwenderschnittstelle zur Ermöglichung einer Steuerung einer Kamera, wobei das Verfahren umfasst: Anzeigen eines farbtonzugeordneten Bildes mit hohem Dynamikbereich (HDR) auf einer Anwenderschnittstelleneinrichtung der Kamera, wobei die Anwenderschnittstelle mehrere Pixel, die eine Anzeigeoberfläche bilden, enthält, und wobei das farbtonzugeordnete HDR-Bild eine Interpretation einer Szene enthält, auf die eine Kameralinse der Kamera gerichtet ist; Empfangen von Anwenderüberarbeitungen über eine Eingabeeinrichtung, die mit der Anwenderschnittstelleneinrichtung verbunden ist; Senden der Anwenderüberarbeitungen zu einer oder mehreren nachgeordneten Einrichtungen in der Kamera, um Verarbeitungsoperationen auf der Grundlage der Anwenderüberarbeitungen auszuführen; Empfangen eines aktualisierten farbtonzugeordneten HDR-Bildes von der einen oder den mehreren nachgeordneten Einrichtungen, wobei das aktualisierte farbtonzugeordnete HDR-Bild aus den Verarbeitungsoperationen erzeugt ist, die auf der Grundlage der Anwenderüberarbeitungen ausgeführt wurden; und Anzeigen des aktualisierten farbtonzugeordneten HDR-Bildes auf der Anwenderschnittstelle, während die Kameralinse weiterhin Bilder der Szene für die eine oder die mehreren nachgeordneten Einrichtungen aufnimmt, um Operationen auszuführen, die iterativ das aktualisierte farbtonzugeordnete HDR-Bild beeinflussen. Anzeigen eines Auswahlgebiets auf der Anwenderschnittstelleneinrichtung in Reaktion auf den Empfang einer Anwendereingabe über die Eingabeeinrichtung, wobei das Auswahlgebiet durch ein oder mehrere Pixel, die in den mehreren Pixel enthalten sind, gebildet ist, wobei die eine oder die mehreren nachgeordneten Einrichtungen Aktionen ausführen mit: Empfangen einer Anwenderüberarbeitung über eine Anwenderschnittstelleneinrichtung, die eine Interpretation einer Szene anzeigt, auf die eine Kameralinse der Kamera gerichtet ist, wobei die Anwenderüberarbeitung auf einer Anwendereingabe beruht, die mit einem Auswahlgebiet auf der Anwenderschnittstelleneinrichtung verknüpft ist; und Erzeugen einer Überarbeitungsmaske auf der Grundlage eines oder mehrerer übereinstimmender Bildabschnitte, die auf der Anwenderüberarbeitungen und einem Bild mit hohem Dynamikbereich (HDR), das von der Kamera erzeugt ist, beruhen.
  2. Das Verfahren nach Anspruch 1, wobei die nachgeordneten Einrichtungen weitere Aktionen ausführen, mit: Ausführen einer oder mehrerer Farbtonzuordnungsoperationen auf der Grundlage der Überarbeitungsmaske und des HDR-Bildes, um ein farbtonzugeordnetes HDR-Bild zu erzeugen; und Ausführen einer oder mehrerer Justieroperationen auf der Grundlage der Überarbeitungsmaske und des farbtonzugeordneten HDR-Bildes, um Justierparameter für Bildaufnahmeoperationen zu berechnen.
  3. Das Verfahren nach Anspruch 1, wobei der eine oder die mehreren Bildabschnitte für eine Übereinstimmung mit Objektstexturen geeignet sind, indem ein Bildabschnitt verwendet wird, der eine Teilgruppe an Pixel enthält, die in dem Auswahlgebiet enthalten ist.
  4. Das Verfahren nach Anspruch 1, das ferner umfasst: Anzeigen einer Echtzeitüberarbeitungseinrichtung auf der Anwenderschnittstelleneinrichtung, die Überarbeitungsoptionen enthält, die es einem Anwender ermöglichen, eine spezielle Überarbeitungsoption auszuwählen; und Empfangen einer Anwenderüberarbeitung über die Echtzeitüberarbeitungseinrichtung und in Reaktion darauf Initiieren einer oder mehrerer nachgeordneter Verarbeitungsoperationen, die mit dem Auswahlgebiet verknüpft sind.
  5. Das Verfahren nach Anspruch 1, das ferner umfasst: Anzeigen einer Echtzeitüberarbeitungseinrichtung auf der Anwenderschnittstelleneinrichtung, die eine Überarbeitungsoption zum Empfang einer Anwendereingabe enthält, die die Größe einer Änderung angibt für: Helligkeit und/oder Sättigung und/oder Kontrast und/oder Farbschattierung und/oder Weiß-Balance und/oder Farbe und/oder Farbton und/oder Fokus und/oder Belichtung und/oder Verstärkung.
  6. Das Verfahren nach Anspruch 1, wobei die eine oder die mehreren nachgeordneten Einrichtungen Aktionen ausführen, mit: Empfangen einer Anwenderüberarbeitung über eine Anwenderschnittstelleneinrichtung, die eine Interpretation einer Szene zeigt, auf die eine Kameralinse der Kamera gerichtet ist, wobei die Anwenderüberarbeitung auf einer Anwendereingabe beruht, die mit einem Auswahlgebiet auf der Anwenderschnittstelleneinrichtung verknüpft ist; und Einstellen eines Fokus an dem Auswahlgebiet im Vergleich zu einem oder mehreren anderen Gebieten der Szene.
  7. Das Verfahren nach Anspruch 6, wobei Einstellen des Fokus in dem Auswahlgebiet umfasst: quantitative Festlegen einer Fokusanforderung pro Pixel für mindestens Pixel des Auswahlgebiets.
  8. Eine Anwenderschnittstelleneinrichtung zur Ermöglichung einer Steuerung einer Kamera, wobei die Anwenderschnittstelleneinrichtung umfasst: eine Bildsuchereinrichtung, die ausgebildet ist, ein farbtonzugeordnetes Bild mit einem hohem Dynamikbereich (HDR) auf einer Anwenderschnittstelleneinrichtung der Kamera anzuzeigen, wobei die Anwenderschnittstelle mehrere Pixel enthält, die eine Anzeigeoberfläche bilden, wobei das farbtonzugeordnete HDR-Bild eine Interpretation einer Szene enthält, auf die eine Kameralinse der Kamera gerichtet ist; und eine Verarbeitungseinrichtung, die ausgebildet ist, Anwenderüberarbeitungen über eine Eingabeeinrichtung, die mit der Anwenderschnittstelleneinrichtung verbunden ist, zu empfangen, und um die Anwenderüberarbeitungen an eine oder mehrere nachgeordnete Einrichtungen in der Kamera zu senden, um Operationen auf der Grundlage der Anwenderüberarbeitungen auszuführen, wobei die Bildsuchereinrichtung ferner ausgebildet ist, ein aktualisiertes farbtonzugeordnete HDR-Bild aus der einen oder den mehreren nachgeordneten Einrichtungen zu empfangen, wobei das aktualisierte farbtonzugeordnete HDR-Bild aus den Verarbeitungsoperationen erzeugt ist, die auf der Grundlage der Anwenderüberarbeitungen ausgeführt wurden, und um das aktualisierte farbtonzugeordnete HDR-Bild auf der Anwenderschnittstelle zu aktualisieren, wobei die Kameralinse weiterhin Bilder der Szene für die eine oder die mehreren nachgeordneten Einrichtungen aufnimmt, um Operationen auszuführen, die iterativ das aktualisierte farbtonzugeordnete HDR-Bild beeinflussen, wobei die Anwenderschnittstelleneinrichtung ausgebildet ist, die Schritte auszuführen: Anzeigen eines Auswahlgebiets auf der Anwenderschnittstelleneinrichtung in Reaktion auf den Empfang einer Anwendereingabe über die Eingabeeinrichtung, wobei das Auswahlgebiet durch ein oder mehrere Pixel, die in den mehreren Pixel enthalten sind, gebildet ist, wobei die eine oder die mehreren nachgeordneten Einrichtungen Aktionen ausführen mit: Empfangen einer Anwenderüberarbeitung über die Anwenderschnittstelleneinrichtung, die eine Interpretation einer Szene anzeigt, auf die eine Kameralinse der Kamera gerichtet ist, wobei die Anwenderüberarbeitung auf einer Anwendereingabe beruht, die mit einem Auswahlgebiet auf der Anwenderschnittstelleneinrichtung verknüpft ist; und Erzeugen einer Überarbeitungsmaske auf der Grundlage eines oder mehrerer übereinstimmender Bildabschnitte, die auf der Anwenderüberarbeitungen und einem Bild mit hohem Dynamikbereich (HDR), das von der Kamera erzeugt ist, beruhen.
DE102013020611.1A 2012-12-21 2013-12-15 Ein Ansatz für eine Kamerasteuerung Active DE102013020611B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261745198P 2012-12-21 2012-12-21
US61/745,198 2012-12-21
US13/782,863 2013-03-01
US13/782,863 US20140176745A1 (en) 2012-12-21 2013-03-01 Approach for camera control

Publications (2)

Publication Number Publication Date
DE102013020611A1 DE102013020611A1 (de) 2014-06-26
DE102013020611B4 true DE102013020611B4 (de) 2019-05-29

Family

ID=50878807

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013020611.1A Active DE102013020611B4 (de) 2012-12-21 2013-12-15 Ein Ansatz für eine Kamerasteuerung

Country Status (2)

Country Link
CN (1) CN103888669A (de)
DE (1) DE102013020611B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998720B2 (en) * 2016-05-11 2018-06-12 Mediatek Inc. Image processing method for locally adjusting image data of real-time image
CN107707819B (zh) * 2017-09-29 2021-04-13 北京小米移动软件有限公司 图像拍摄方法、装置及存储介质
EP3661188B1 (de) * 2018-11-27 2020-10-28 Axis AB Verfahren zur reduzierung von helligkeitsvariationen in einem videobild-stream, der eine szene darstellt
CN110689497B (zh) * 2019-09-27 2020-05-12 信通达智能科技有限公司 基于目标识别的数据提取装置及方法
KR102664723B1 (ko) * 2019-11-01 2024-05-09 삼성전자주식회사 프리뷰를 제공하는 방법 및 프리뷰를 표시하는 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080297596A1 (en) 2007-06-01 2008-12-04 Keyence Corporation Magnification Observation Apparatus and Method For Creating High Tone Image File
US20100141784A1 (en) 2008-12-05 2010-06-10 Yoo Kyung-Hee Mobile terminal and control method thereof
US20120307112A1 (en) 2011-05-31 2012-12-06 Olympus Imaging Corp. Imaging apparatus, imaging method, and computer readable recording medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7492375B2 (en) * 2003-11-14 2009-02-17 Microsoft Corporation High dynamic range image viewing on low dynamic range displays
US8330830B2 (en) * 2006-04-13 2012-12-11 Eastman Kodak Company Camera user input based image value index
JP5760324B2 (ja) * 2010-03-19 2015-08-05 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラム並びにこの画像処理プログラムが記録された記録媒体
JP5872834B2 (ja) * 2011-10-06 2016-03-01 オリンパス株式会社 撮像装置、撮像方法および撮像プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080297596A1 (en) 2007-06-01 2008-12-04 Keyence Corporation Magnification Observation Apparatus and Method For Creating High Tone Image File
US20100141784A1 (en) 2008-12-05 2010-06-10 Yoo Kyung-Hee Mobile terminal and control method thereof
US20120307112A1 (en) 2011-05-31 2012-12-06 Olympus Imaging Corp. Imaging apparatus, imaging method, and computer readable recording medium

Also Published As

Publication number Publication date
DE102013020611A1 (de) 2014-06-26
CN103888669A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
DE102013020611B4 (de) Ein Ansatz für eine Kamerasteuerung
DE69735488T2 (de) Verfahren und vorrichtung zum ausrichten von bildern
DE102020002964A1 (de) Verwenden eines neuronalen Netzwerks mit einer Zwei-Strom Encoder-Architektur zur Erzeugung digitaler Kompositbilder
DE10234137B4 (de) System und Verfahren, um Benutzern zu ermöglichen, graphische Bilder zu editieren
DE102018008217A1 (de) Intelligente Anleitung zum Aufnehmen von Digitalbildern, die mit einem Zielbildmodell in Übereinstimmung gebracht sind
DE102019005938A1 (de) Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts
DE69828974T2 (de) Verfahren und system zur veränderung und aufbereitung dreidimensionaler animationen in einer nicht-linearen editionsumgebung
DE102015010096A1 (de) Konfigurationseinstellungen einer Digitalkamera zur Tiefenkarten-Erzeugung
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102021118479A1 (de) Einbetten von komplexen 3d-objekten in eine erweiterte realitätsszene unter verwendung einer bildsegmentierung
DE102011078662A1 (de) Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich
DE102013016872A1 (de) System und ein Verfahren zur Optimierung einer Bildqualität in einer Digitalkamera
DE102006048221A1 (de) Vorrichtungen, Systeme und Verfahren zum Verbessern der Bildbeschaffenheit
EP2030433B1 (de) Verfahren und anordnung zur behandlung von datensätzen bildgebender sensoren sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
CN106027851A (zh) 基于图像梯度的图像滤波
DE112013004457T5 (de) System und Verfahren zum Erzeugen von bearbeiteten Bildern unter Nutzung eines eingebetteten Plug-ins
DE112006001017T5 (de) Verfahren und Vorrichtung zum Eingliedern von Irisfarbe in eine Rotes-Auge-Korrektur
DE102020007465A1 (de) Steuern bzw. Regeln eines neuronalen Netzwerkes durch zwischengeschaltete Latenträume
DE102007025670A1 (de) Intelligente Bildqualitäts-Funktionseinheit
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
WO2020021121A1 (de) Verfahren und datenverarbeitungssystem zur synthese von bildern
Khan et al. A deep hybrid few shot divide and glow method for ill-light image enhancement
DE102018009313A1 (de) Erzeugen selektiver virtueller Langzeitbelichtungsbilder
DE102014007023A1 (de) Bildeffektextraktion
DE202013012450U1 (de) System für die Identifizierung von Tiefendaten, die mit einem Objekt verbunden sind

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0005232000

Ipc: H04N0023600000