DE112016006833T5 - Verbesserung von kanten in bildern unter verwendung von tiefeninformationen - Google Patents

Verbesserung von kanten in bildern unter verwendung von tiefeninformationen Download PDF

Info

Publication number
DE112016006833T5
DE112016006833T5 DE112016006833.6T DE112016006833T DE112016006833T5 DE 112016006833 T5 DE112016006833 T5 DE 112016006833T5 DE 112016006833 T DE112016006833 T DE 112016006833T DE 112016006833 T5 DE112016006833 T5 DE 112016006833T5
Authority
DE
Germany
Prior art keywords
sharpening
depth
color
mask
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112016006833.6T
Other languages
English (en)
Inventor
Yunbiao Lin
Yadong Li
Changliang Wang
Gang Hu
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.)
Intel Corp
Original Assignee
Intel 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
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112016006833T5 publication Critical patent/DE112016006833T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • G06T5/75Unsharp masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

Ein Verfahren zur Verbesserung von Kanten in Bildrahmen unter Verwendung von Tiefeninformationen weist das Empfangen eines Farbbildrahmens und eines Tiefenkartenrahmens auf (510). Das Verfahren weist auch das Erzeugen einer Schärfemaske zum Steuern der Anwendung von Bildschärfung auf die Farbpixel auf (520). Die Schärfemaske basiert auf dem Wert der Tiefenpixel, die den Farbpixeln entsprechen, und auf Eigenschaften der Tiefenkamera (104), die den Farbbildrahmen erzeugt hat, einschließlich Schärfentiefe, Fokaldistanz und hyperfokale Distanz. Das Verfahren weist ferner das Berechnen von Schärfestärke für die Farbpixel auf (530). Die Schärfestärke ist proportional zum Wert des Tiefenpixels, das dem Farbpixel entspricht. Das Verfahren weist ferner das Anwenden eines Schärfungsfilters auf den Farbbildrahmen zum Verbessern von Kantenbildmerkmalen auf (540). Das Schärfungsfilter basiert auf der Schärfemaske und der Schärfestärke.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Mobile Geräte, wie beispielsweise Smartphones und Tablets, sind mittlerweile ein beliebter Mechanismus zur Bild- und Videoaufnahme. Die durch die Kameras in diesen Geräten gelieferte Bildqualität verbessert sich ständig und ist mittlerweile ein Schlüsselproduktunterscheidungsmerkmal für Verbraucher dieser Geräte. An sich spielt Bildsignalverarbeitung (engl. Image Signal Processing - ISP) in Kameras und mobilen Plattformen eine zunehmend wichtige Rolle und die ISP-Pipeline kann relativ komplex sein. Kantenverbesserung ist eine der Operationen, die typischerweise in der ISP-Pipeline durchgeführt werden, und beinhaltet allgemein die Anwendung eines Bildschärfungsfilters. Unglücklicherweise können Schärfungsfilter auch unerwünschte Bildfehler in einigen Bildrahmenregionen erzeugen.
  • Figurenliste
  • Die Patent- oder Anmeldungsakte enthält mindestens eine in Farbe ausgeführte Zeichnung. Kopien dieser Patentschrift oder Patentanmeldungsveröffentlichung mit Farbzeichnung/en werden durch das Amt auf Anfrage und gegen Entrichtung der entsprechenden Gebühr bereitgestellt.
  • Merkmale und Vorteile von Ausführungsformen des beanspruchten Erfindungsgegenstands gehen aus der folgenden detaillierten Beschreibung unter Bezugnahme auf die Zeichnungen hervor, wobei gleiche Bezugszeichen gleiche Teile zeigen.
    • 1 ist ein Blockdiagramm einer obersten Ebene einer Ausführung eines tiefenbasierten Kantenverbesserungssystems, das gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist.
    • 2 veranschaulicht Beispiele für Bildschärfung zur Kantenverbesserung gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung.
    • 3 veranschaulicht Fokaldistanz und Schärfentiefe gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung.
    • 4 ist ein detaillierteres Blockdiagramm einer tiefenbasierten Kantenverbesserungsschaltung, die gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist.
    • 5 ist ein Ablaufdiagramm, das eine Methodologie für tiefenbasierte Kantenverbesserung von Bildrahmen gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 6 ist ein Blockdiagramm, das schematisch eine Systemplattform zum Durchführen von tiefenbasierter Kantenverbesserung von Bildrahmen veranschaulicht, die gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist.
  • Obgleich die folgende detaillierte Beschreibung unter Bezugnahme auf veranschaulichende Ausführungsformen erfolgt, sind angesichts der vorliegenden Offenbarung viele Alternativen, Abwandlungen und Varianten davon ersichtlich.
  • DETAILLIERTE BESCHREIBUNG
  • Allgemein stellt die vorliegende Offenbarung Techniken zur Verbesserung von Kanten in Bildrahmen unter Verwendung von Tiefeninformationen bereit. Solche Bildrahmen können zum Beispiel durch eine Tiefenkamera oder 3D-Kamera oder ein Mehrkamerasystem erzeugt werden, von der/dem sowohl Farbpixel als auch Tiefenpixel erhalten werden können. In einigen Ausführungsformen können die Farbpixel Rot-Grün-Blau-Werte (RGB) darstellen. In einigen Ausführungsformen können die Farbpixel Luminanz- und Chrominanzwerte (als YUV bezeichnet) darstellen. Die offenbarten Techniken können zum Beispiel verwendet werden, um die Bildqualität durch selektives Anwenden eines Schärfungsfilters auf Regionen des Bildes basierend auf der Distanz der Kamera von Objekten oder Landschaften innerhalb dieser Regionen zu verbessern.
  • Bestehende Kantenverbesserungstechniken wenden typischerweise die gleiche Schärfestärke auf sämtliche Pixel in einem Bildrahmen an, was unerwünschte Bildfehler in einigen Regionen des Bildes zur Folge haben kann. Die offenbarten Techniken setzen räumliche Informationen ein, die durch Tiefenkarten bereitgestellt werden, um die Distanzbeziehung von Objekten zu berechnen und die Kantenverbesserung oder Schärfungsstärke basierend auf der Objekttiefe, der Fokaldistanz und der Schärfentiefe anzupassen. Größere Schärfefaktoren oder -stärken werden auf weiter entfernte Objekte angewandt und die Stärken können dynamisch basierend auf Tiefenkarten angepasst werden.
  • Gemäß einer Ausführungsform können die offenbarten Techniken zum Beispiel in einem Rechensystem oder einem Bildaufnahme- und Verarbeitungssystem oder einem Software-Produkt ausgeführt werden, das durch solche Systeme ausführbar oder auf eine andere Weise steuerbar ist. Das System oder Produkt ist ausgestaltet, um einen Farbbildrahmen und einen Tiefenkartenrahmen zu empfangen und eine Schärfemaske zu erzeugen, um die Anwendung von Bildschärfung auf die Farbpixel des Farbbildrahmens zu steuern. Die Schärfemaske basiert auf dem Wert der Tiefenpixel, die den Farbpixeln entsprechen, und auf Eigenschaften der Tiefenkamera, die den Farbbildrahmen erzeugt hat, einschließlich Schärfentiefe, Fokaldistanz und hyperfokale Distanz, wie in der Folge mit mehr Details erklärt. Zusätzlich werden Schärfestärken für die Farbpixel berechnet. Die Schärfestärke ist proportional zum Wert des Tiefenpixels, das dem Farbpixel entspricht. Dann wird ein Schärfungsfilter auf den Farbbildrahmen angewandt, um Kantenbildmerkmale zu verbessern. Das Schärfungsfilter basiert auf der Schärfemaske und der Schärfestärke.
  • Die hier beschriebenen Techniken können gemäß einer Ausführungsform für ein im Vergleich zu bestehenden Verfahren, die gleichförmige Schärfefilterung anwenden, verbessertes Bild sorgen. Darüber hinaus können diese Techniken auf einer breiten Palette von Rechen- und Kommunikationsplattformen ausgeführt werden, die mobile Geräte aufweisen, da Tiefenkamerafähigkeiten auf solchen Plattformen in zunehmendem Maße verfügbar werden. Diese Techniken können ferner in Hardware oder Software oder einer Kombination davon ausgeführt werden.
  • 1 ist ein Blockdiagramm 100 einer obersten Ebene einer Ausführung eines tiefenbasierten Kantenverbesserungssystems, das gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist. Eine Tiefenkamera 104 ist ausgestaltet, um einen oder mehrere Farb- und Tiefenbildrahmen eines Aufnahmegegenstands 102 zu erzeugen. Der Aufnahmegegenstand kann einen Gegenstand aufweisen, der Menschen, Objekte von Interesse und Hintergrundregionen in variierender Distanz von der Kamera aufweist. Die Bildrahmen werden einer Bildverarbeitungs-Pipeline 106 bereitgestellt. Die Pipeline weist eine Anzahl von Bildverarbeitungsschaltungen 108, 110, 112 auf, die ausgestaltet sind, um Operationen, wie zum Beispiel Rauschminderung, Sensormuster-Demosaicing, Farbverbesserung und Kantenverbesserung, durchzuführen, um nur einige zu nennen. Die Tiefenbasierte-Kantenverbesserungsschaltung 110 ist ausgestaltet, um selektiv Schärfefilterung auf Regionen des Farbbildrahmens basierend auf Tiefeninformationen und Kameraparametern anzuwenden, um die Kanten in dem Bild zu verbessern, wie in der Folge mit mehr Details beschrieben. Der verarbeitete Farbbildrahmen kann dann auf dem Anzeigeelement 114 für den Benutzer angezeigt werden.
  • 2 veranschaulicht Beispiele für Bildschärfung zur Kantenverbesserung gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung. In dem oberen Bild 210 wurde kein Schärfungsfilter angewandt. Zwei Regionen von Interesse werden beachtet: ein Vordergrundbereich 202a mit Blättern und ein Hintergrundbereich 204a mit Gras. In dem unteren Bild 220 wurde ein Schärfungsfilter einheitlich mit einem Schärfungsfaktor (oder einer Stärke) von 64 auf den gesamten Bildrahmen angewandt. Wie ersichtlich, wurde der Hintergrundbereich 204b mit Gras aufgrund der Tatsache, dass die Kanten der visuellen Merkmale verbessert oder geschärft wurden, visuell verbessert. Die Blätter in der Vordergrundregion 202b weisen indes nun unerwünschte Bildfehler auf und erscheinen körniger und weniger natürlich.
  • 3 veranschaulicht Fokaldistanz und Schärfentiefe gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung. In dem ersten Beispiel 300a ist die Kamera auf ein Objekt (Laubhaufen) vor den Bäumen fokussiert. Die Fokusebene (oder Fokaldistanz f) 308a befindet sich daher an diesem Objekt. Eine Schärfentiefe (engl. Depth of Field - DoF) 302a definiert einen Bereich von Abständen um die Brennebene 308a, über die hinweg das Bild sich in einem annehmbaren Fokus befinden wird, und kann sich bei wechselnder Fokaldistanz ändern. Die Schärfentiefe 302a liegt in einem Bereich von einer nahen Grenze 304a mit annehmbarem Fokus bis zu einer fernen Grenze 306a mit annehmbarem Fokus. Die nahe Grenze 304a liegt typischerweise ein Drittel der DoF von der Brennebene in Richtung der Kamera, während die ferne Grenze 306a typischerweise etwa zwei Drittel der DoF von der Brennebene von der Kamera entfernt liegt, wie gezeigt. Die genaue Beziehung zwischen diesen Grenzen 304a, 306 und der DoF 302a ist abhängig von Eigenschaften der Kameralinse und kann im Voraus von Herstellerspezifikationen oder Kalibrierungsverfahren usw. bestimmt werden.
  • Es kann indes eine andere Situation entstehen, wie im zweiten Beispiel 300b veranschaulicht, wo die Kamera in einer größeren Distanz 308b fokussiert ist, die als die hyperfokale Distanz bekannt ist, in diesem Fall an der Vorderkante der Bäume. Wenn die Kameralinse sich auf größere Distanzen fokussiert, nimmt die DoF allgemein zu und an irgendeinem Punkt erreicht die ferne annehmbare Grenze die Unendlichkeit.
  • 4 ist ein detaillierteres Blockdiagramm einer Tiefenbasierten-Kantenverbesserungsschaltung 110, die gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist. Die gezeigte Tiefenbasierte-Kantenverbesserungsschaltung 110 weist eine Normalisierungsschaltung 404, eine Schärfemasken-Erzeugungsschaltung 406 und eine Schärfestärken-Berechnungsschaltung 408 auf. Darüber hinaus bildet die gezeigte Tiefenbasierte-Kantenverbesserungsschaltung 110 eine Schnittstelle mit einer Rahmensynchronisierungsschaltung 402, einer Bildschärfungsfilterschaltung 410 und einer Ausgabecodiererformatschaltung 412. Auf einer oberen Ebene kann die Bildverarbeitungs-Pipeline Kantenschärfe unter Verwendung der Tiefenkarteninformationen verbessern, um die Distanz von Objekten oder Regionen in dem Bild zu erhalten. Für Objekte, die innerhalb der Schärfentieferegion liegen, kann die Schärfestärke für Objekte verringert werden (oder der Schärfeprozess kann beseitigt werden). Eine größere Schärfestärke kann auf Objekte angewandt werden, die außerhalb der Schärfentieferegion liegen. Nachdem die Schärfestärke bestimmt wurde, kann angesichts der vorliegenden Offenbarung irgendeine bekannte Bildschärfentechnik verwendet werden.
  • Die Normalisierungsschaltung 404 kann ausgestaltet sein, um den Tiefenkartenrahmen derart zu normalisieren, dass die Werte der Tiefenpixel in dem Bereich von 0 bis 255 oder irgendeinem anderen Bereich liegen, der sich für anschließende Berechnungen eignet.
  • Die Schärfemasken-Erzeugungsschaltung 406 kann ausgestaltet sein, um eine Schärfemaske zum Steuern der Anwendung von Bildschärfung auf jedes von den Farbpixeln zu erzeugen. Die Schärfemaske basiert auf einem Wert des Tiefenpixels, das jedem von den Farbpixeln entspricht. Die Schärfemaske basiert ferner auf einer Schärfentiefe, einer Fokaldistanz, einer hyperfokalen Distanz einer Kamera (oder Kameralinse), die den Farbbildrahmen erzeugt hat.
  • In einigen Ausführungsformen ist die Schärfemasken-Erzeugungsschaltung ausgestaltet, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz f liegt, wobei der Bereich auf der Schärfentiefe DoF basiert. Zum Beispiel S c h ä r f e _ m a s k e ( u , v ) = 0 ,   w e n n ( T i e f e ( u , v ) > f D o F / 3 ) u n d   w e n n   ( T i e f e ( u , v ) < f + D o F * 2 / 3 ) u n d   w e n n   ( f h y p e r f o k a l e   D i s t a n z ) s o n s t = 1
    Figure DE112016006833T5_0001
    wo u, v die Koordinaten des Farb- und zugehörigen Tiefenpixels darstellen und ein Maskenwert von 0 das Sperren angibt. Die Werte 1/3 und 2/3 werden als Beispiele verwendet und können in der Praxis basierend auf Eigenschaften der Kamera und Linse variieren.
  • Die Schärfemaske-Erzeugungsschaltung kann auch ausgestaltet sein, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist. Zum Beispiel S c h ä r f e _ m a s k e ( u , v ) = 0 ,   w e n n   ( T i e f e ( u , v ) > h y p e r f o k a l / 2 ) u n d   w e n n   ( f = h y p e r f o k a l e   D i s t a n z )
    Figure DE112016006833T5_0002
  • In einigen Ausführungsformen kann die Schärfemasken-Erzeugungsschaltung ausgestaltet sein, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines oder mehrerer durch den Benutzer auswählbarer Segmente oder Bereiche liegt. Wenn zum Beispiel die normalisierten Tiefenpixelwerte in einem Bereich von 0 bis 255 liegen, kann der Benutzer bestimmte Teilmengen innerhalb dieses Bereichs von Tiefenwerten auswählen, für die die Schärfung durchgeführt werden wird.
  • Die Schärfestärken-Berechnungsschaltung 408 kann ausgestaltet sein, um die Schärfestärke für jedes von den Farbpixeln zu berechnen. Die Schärfestärke ist proportional zum Wert des Tiefenpixels, das dem Farbpixel entspricht. Zum Beispiel S c h ä r f e _ s t ä r k e ( u , v ) = S t a n d a r d _ s t ä r k e * S c h ä r f e _ m a s k e ( u , v ) * T i e f e ( u , v ) / N o r m
    Figure DE112016006833T5_0003
    wo Standard_stärke eine Standard-Schärfestärke ist, die angesichts der vorliegenden Offenbarung durch andere bekannte Verfahren berechnet werden kann, und Norm der Tiefenwert-Normalisierungsfaktor ist, der durch die Normalisierungsschaltung 404 eingesetzt wird (z. B. 255) .
  • Die Bildschärfungsfilterschaltung 410 kann ausgestaltet sein, um ein Schärfungsfilter auf den Farbbildrahmen anzuwenden, um Kantenbildmerkmale zu verbessern. Das Schärfungsfilter basiert auf der Schärfemaske und der Schärfestärke.
  • Die Rahmensynchronisierungsschaltung 402 kann ausgestaltet sein, um die Eingänge von dem Farbbildsensor und dem Tiefenkartensensor zu synchronisieren, die nicht unbedingt aufeinander ausgerichtet sind. Die Synchronisierung des Farbbildrahmens und des Tiefenkartenrahmens erleichtert das Verbinden der Farbpixel von dem Farbbildrahmen mit ihren zugehörigen Tiefenpixeln von der Tiefenkarte für die vorhergehend beschriebenen Berechnungen.
  • Die Ausgabecodierer-Formatschaltung 412 kann ausgestaltet sein, um den verarbeiteten Farbbildrahmen mit verbesserter Kante in ein Format zu codieren, das sich für Vorschau, Anzeige, Druck, Speicherung oder weitere Verarbeitung eignet. In einigen Ausführungsformen kann das codierte Ausgabeformat ein JPEG-Format (Joint Photographic Experts Group) sein.
  • In einigen Ausführungsformen können die ISP-Schaltungen ausgestaltet sein, um die tiefenkartenbasierte Kantenverbesserung zu deaktivieren, zum Beispiel auf eine Anforderung durch den Benutzer oder basierend auf einer Konfigurationseinstellung. In einem solchen Fall können herkömmliche Schärfungstechniken eingesetzt werden oder die Schärfung kann vollständig deaktiviert werden.
  • Methodologie
  • 5 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 500 für tiefenbasierte Kantenverbesserung von Bildrahmen gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Wie ersichtlich ist, weist das beispielhafte Verfahren 500 eine Anzahl von Phasen und Unterprozessen auf, deren Folge von einer Ausführungsform zur anderen variieren kann. Wenn diese indes zusammen betrachtet werden, bilden diese Phasen und Unterprozesse einen Prozess für tiefenbasierte Kantenverbesserung gemäß bestimmten von den hier offenbarten Ausführungsformen. Diese Ausführungsformen können zum Beispiel unter Verwendung der Systemarchitektur ausgeführt werden, die in den vorhergehend beschriebenen 1 und 4 veranschaulicht ist. Wie angesichts der vorliegenden Offenbarung ersichtlich, können indes in anderen Ausführungsformen andere Systemarchitekturen verwendet werden. Zu diesem Zweck werden mit der Korrelation der verschiedenen Funktionen, die in 1 und 4 gezeigt sind, mit den spezifischen Komponenten, die in den anderen Figuren veranschaulicht sind, keine strukturellen und/oder Verwendungseinschränkungen beabsichtigt. Stattdessen können andere Ausführungsformen zum Beispiel verschiedene Integrationsgrade aufweisen, wobei mehrere Funktionalitäten effektiv durch ein System durchgeführt werden. Zum Beispiel kann in einer alternativen Ausführungsform ein einzelnes Modul verwendet werden, um sämtliche Funktionen des Verfahrens 500 durchzuführen. So können andere Ausführungsformen in Abhängigkeit von der Granularität der Ausführung weniger oder mehr Module und/oder Untermodule aufweisen. In noch anderen Ausführungsformen kann die bildlich dargestellte Methodologie als ein Computerprogrammprodukt ausgeführt werden, das ein oder mehrere nicht flüchtige maschinenlesbare Datenträger aufweist, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, bewirken, dass die Methodologie durchgeführt wird. Zahlreiche Varianten und alternative Ausgestaltungen sind angesichts der vorliegenden Offenbarung ersichtlich.
  • Wie in 5 veranschaulicht, beginnt in einer Ausführungsform das Verfahren 500 zur tiefenbasierten Kantenverbesserung beim Vorgang 510 durch Empfangen eines Farbbildrahmens und eines Tiefenkartenrahmens von einer Abbildungsquelle, wie zum Beispiel einer Tiefenkamera. Der Farbbildrahmen weist ein Array von Farbpixeln auf und der Tiefenkartenrahmen weist ein Array von Tiefenpixeln auf.
  • Als Nächstes wird im Vorgang 520 eine Schärfemaske erzeugt, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern. Die Schärfemaske basiert auf dem Wert der Tiefenpixel, die den Farbpixeln entsprechen, und auf Eigenschaften der Tiefenkamera, die den Farbbildrahmen erzeugt hat, einschließlich Schärfentiefe, Fokaldistanz und hyperfokale Distanz. In einigen Ausführungsformen ist die Schärfemaske eingestellt, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des zugehörigen Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz ist, wobei der Bereich auf der Schärfentiefe basiert. In einigen Ausführungsformen ist die Schärfemaske ausgestaltet, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  • Beim Vorgang 530 wird die Schärfestärke für jedes von den Farbpixeln berechnet. Die Schärfestärke ist proportional zum Wert des Tiefenpixels, das dem Farbpixel entspricht. Beim Vorgang 540 wird ein Schärfungsfilter auf den Farbbildrahmen angewandt, um Kantenbildmerkmale zu verbessern. Das Schärfungsfilter wird auf Regionen des Bildes basierend auf der Schärfemaske mit einem Grad an Schärfung basierend auf der Schärfestärke angewandt.
  • Selbstverständlich können in einigen Ausführungsformen zusätzliche Vorgänge durchgeführt werden, wie vorhergehend in Verbindung mit dem System beschrieben. Diese zusätzlichen Vorgänge können zum Beispiel das Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens zum Erleichtern der Verbindung von Farbpixeln mit zugehörigen Tiefenpixeln aufweisen. Weitere zusätzliche Vorgänge können das Normalisieren des Tiefenkartenrahmens aufweisen, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  • Beispielsystem
  • 6 veranschaulicht ein Beispielsystem 600 zum Durchführen von tiefenbasierter Kantenverbesserung von Bildrahmen, das gemäß bestimmten Ausführungsformen der vorliegenden Offenbarung ausgestaltet ist. In einigen Ausführungsformen weist das System 600 eine Plattform 610 auf, die gehostet oder auf irgendeine andere Weise in einen Personal Computer, einen Arbeitsplatz, Laptop-Computer, Ultra-Laptop-Computer, ein Tablet, Touchpad, einen tragbaren Computer, Handheld-Computer, Palmtop-Computer, Personal Digital Assistant (PDA), ein Mobiltelefon, eine Kombination von Mobiltelefon und PDA, intelligentes Gerät (zum Beispiel Smartphone oder Smart Tablet), mobiles Internetgerät (Mobile Internet Device - MID), Messaging-Gerät, Datenkommunikationsgerät, einen Fernseher (TV), Smart-TV, TV-Empfänger/Wandler und so weiter aufgenommen werden kann. In bestimmten Ausführungsformen kann irgendeine Kombination von verschiedenen Geräten verwendet werden.
  • In einigen Ausführungsformen kann die Plattform 610 irgendeine Kombination von einem Prozessor 620, einem Speicher 630, einer Tiefenbasierten-Kantenverbesserungsschaltung 110, einer Netzwerk-Schnittstelle 640, eines Eingabe/Ausgabesystems (E/A) 650, einer Tiefenkamera 104, eines Anzeigeelements 114, einer Benutzeroberfläche 660 und eines Speichersystems 670 aufweisen. Wie ferner ersichtlich, ist auch ein Bus und/oder eine Zusammenschaltung 692 bereitgestellt, um die Kommunikation zwischen den verschiedenen vorhergehend aufgelisteten Komponenten und/oder anderen Komponenten, die nicht gezeigt sind, zu ermöglichen. Die Plattform 610 kann über eine Netzwerk-Schnittstelle 640 an ein Netzwerk 694 gekoppelt sein, um Kommunikationen mit anderen Rechengeräten, Plattformen oder Ressourcen zu ermöglichen. Andere Komponenten und Funktionalitäten, die sich nicht in dem Blockdiagramm von 6 widerspiegeln, gehen angesichts der vorliegenden Offenbarung hervor und es versteht sich, dass andere Ausführungsformen nicht auf irgendeine bestimmte Hardware-Ausgestaltung beschränkt sind.
  • Der Prozessor 620 kann irgendein geeigneter Prozessor sein und kann eine/n oder mehrere Coprozessoren oder Steuereinrichtungen aufweisen, wie beispielsweise einen Audio-Prozessor oder eine Grafikverarbeitungseinheit, um die Steuerungs- und Verarbeitungsvorgänge, die mit dem System 600 verbunden sind, zu unterstützen. In einigen Ausführungsformen kann der Prozessor 620 als irgendeine Anzahl von Prozessorkernen ausgeführt sein. Der Prozessor (oder die Prozessorkerne) kann irgendein Typ von Prozessor sein, zum Beispiel ein Mikroprozessor, ein eingebetteter Prozessor, ein digitaler Signalprozessor (DSP), ein Grafikprozessor (GPU), ein Netzwerkprozessor, ein Field Programmable Gate Array oder eine andere Vorrichtung, die ausgestaltet ist, um Code auszuführen. Die Prozessoren können multithreadingfähige Kerne sein, da sie mehr als einen Hardware-Thread-Kontext (oder „logischen Prozessor“) pro Kern aufweisen können. Der Prozessor 620 kann als ein Complex Instruction Set Computer (CISC) oder ein Reduced Instruction Set Computer (RISC) Prozessor ausgeführt sein. In einigen Ausführungsformen kann der Prozessor 620 als ein mit dem x86-Befehlssatz kompatibler Prozessor ausgestaltet sein.
  • Der Speicher 630 kann unter Verwendung irgendeines geeigneten Typs von digitalem Speicher ausgeführt werden, der zum Beispiel Flash-Speicher und/oder Random Access Memory (RAM) umfasst. In einigen Ausführungsformen kann der Speicher 630 verschiedene Schichten von Speicherhierarchie und/oder Speicher-Caches aufweisen, wie dem Fachmann bekannt. Der Speicher 630 kann als flüchtige Speichervorrichtung, wie beispielsweise eine RAM-, dynamische RAM- (DRAM) oder statische RAM-Vorrichtung (SRAM), ausgeführt sein, ist aber nicht darauf beschränkt. Das Speichersystem 670 kann als eine nichtflüchtige Speichervorrichtung ausgeführt sind, wie beispielsweise eines oder mehrere von einer Festplatte (HDD), einem Solid-State-Laufwerk (SSD), einem Universal-Serial-Bus-Laufwerk (USB), einem optischen Festplattenlaufwerk, einem Bandlaufwerk, einer internen Speichervorrichtung, einer angebrachten Speichervorrichtung, einem Flash-Speicher, synchronem DRAM (SDRAM) mit Batterie-Backup, und/oder einer über ein Netzwerk zugänglichen Speichervorrichtung, ist aber nicht darauf beschränkt. In einigen Ausführungsformen kann der Speicher 670 Technologie aufweisen, um den durch Speicherleistung verbesserten Schutz für wertvolle Datenträger zu erhöhen, wenn mehrere Festplatten aufgenommen sind.
  • Der Prozessor 620 kann ausgestaltet sein, um ein Betriebssystem (Operating System - OS) 680 auszuführen, das irgendein geeignetes Betriebssystem aufweisen kann, wie beispielsweise Google Android (Google Inc., Mountain View, CA), Microsoft Windows (Microsoft Corp., Redmond, WA) oder Apple OS X (Apple Inc., Cupertino, CA). Wie angesichts der vorliegenden Offenbarung ersichtlich, können die hier bereitgestellten Techniken ohne Rücksicht auf das bestimmte Betriebssystem ausgeführt werden, das in Verbindung mit dem System 600 bereitgestellt wird, und können daher auch unter Verwendung einer beliebigen bestehenden oder später entwickelten Plattform ausgeführt werden.
  • Die Netzwerk-Schnittstellenschaltung 640 kann irgendein geeigneter Netzwerk-Chip oder Chipsatz sein, der drahtgebundene und/oder drahtlose Verbindung zwischen anderen Komponenten des Rechensystems 600 und/oder Netzwerks 694 bereitstellt, wodurch es dem System 600 ermöglicht wird, mit anderen lokalen und/oder entfernten Rechensystemen, Servern und/oder Ressourcen zu kommunizieren. Drahtgebundene Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards, wie zum Beispiel Ethernet, aufweisen. Drahtlose Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards entsprechen, wie beispielsweise Mobilfunkkommunikationen, die LTE (Long Term Evolution), Wireless Fidelity (Wi-Fi), Bluetooth, und/oder Nahbereichskommunikation (Near Field Communication - NFC) entsprechen. Beispielhafte drahtlose Netze weisen drahtlose lokale Netze, drahtlose Netze für den persönlichen Bereich, drahtlose regionale Netze, Mobilfunknetze und Satellitennetze auf.
  • Das E/A-System 650 kann ausgestaltet sein, um eine Schnittstelle zwischen verschiedenen E/A-Geräten und anderen Komponenten des Rechensystems 600 zu bilden. E/A-Vorrichtungen können eine Tiefenkamera 104, ein Anzeigeelement 114 und andere Vorrichtungen, die nicht gezeigt sind, wie beispielsweise eine Tastatur, eine Maus, ein Mikrofon, einen Lautsprecher usw. aufweisen, sind aber nicht darauf beschränkt.
  • Das E/A-System 650 kann ein Grafik-Untersystem aufweisen, das ausgestaltet ist, um die Verarbeitung von Bildern für das Anzeigeelement 114 durchzuführen. Das Grafik-Untersystem kann zum Beispiel eine Grafikverarbeitungseinheit oder eine Visual Processing Unit (VPU) sein. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Grafik-Untersystem und das Anzeigeelement 114 kommunikativ zu koppeln. Zum Beispiel kann die Schnittstelle irgendeine von einer High Definition Multimedia Interface (HDMI), Display-Port, wireless HDMI, und/oder irgendeine andere geeignete Schnittstelle sein, die drahtlose Techniken verwendet, die die Voraussetzungen für hohe Auflösung erfüllen. In einigen Ausführungsformen könnte das Grafik-Untersystem in den Prozessor 620 oder irgendeinen Chipsatz der Plattform 610 integriert sein. In einigen Ausführungsformen kann das Anzeigeelement 114 irgendeine/n Monitor oder Anzeige vom Typ Fernseher sein. Das Anzeigeelement 114 kann zum Beispiel einen Computer-Anzeigebildschirm, berührungsempfindlichen Bildschirm, Video-Monitor, ein fernsehähnliches Gerät und/oder einen Fernseher aufweisen. Das Anzeigeelement 114 kann digital und/oder analog sein. Unter der Steuerung des Betriebssystems OS 680 (oder einer oder mehrerer Software-Anwendungen) kann die Plattform 610 Bilder mit verbesserten Kanten auf dem Anzeigeelement 114 anzeigen. Die Bilder können durch die Tiefenkamera 104 bereitgestellt werden und gemäß tiefenbasierten Kantenverbesserungstechniken verarbeitet werden, wie hier beschrieben.
  • Es versteht sich, dass in einigen Ausführungsformen die verschiedenen Komponenten des Systems 600 mit einer System-on-a-Chip-Architektur (SoC) kombiniert oder darin integriert werden können. In einigen Ausführungsformen können die Komponenten Hardware-Komponenten, Firmware-Komponenten, Software-Komponenten oder irgendeine geeignete Kombination von Hardware, Firmware oder Software sein.
  • Die Tiefenbasierte-Kantenverbesserungsschaltung 110 ist ausgestaltet, um selektiv Schärfefilterung auf Regionen eines Bildrahmens basierend auf Tiefeninformationen und Kameraparametern anzuwenden, um die Kanten in dem Bild zu verbessern. Die Tiefenbasierte-Kantenverbesserungsschaltung 110 kann irgendeine oder sämtliche von den in 1 und 4 veranschaulichten Komponenten aufweisen, wie vorhergehend beschrieben. Die Tiefenbasierte-Kantenverbesserungsschaltung 110 kann in Verbindung mit einer Vielzahl von geeigneter Software und/oder Hardware, die an die Plattform 610 gekoppelt ist oder auf eine andere Art einen Teil davon bildet, ausgeführt oder auf eine andere Art verwendet werden. Die Tiefenbasierte-Kantenverbesserungsschaltung 110 kann zusätzlich oder alternativ in Verbindung mit anderen Benutzer-E/-A-Vorrichtungen ausgeführt oder auf eine andere Weise verwendet werden, die in der Lage sind, einem Benutzer Informationen bereitzustellen und Informationen und Befehle von ihm zu empfangen. Diese E/A-Vorrichtungen können das Anzeigeelement 114 und andere Vorrichtungen aufweisen, die gemeinsam als Benutzeroberfläche 660 bezeichnet werden. In einigen Ausführungsformen kann die Benutzeroberfläche 660 eine Texteingabevorrichtung, wie beispielsweise eine Tastatur, und eine zeigerbasierte Eingabevorrichtung, wie beispielsweise eine Maus, aufweisen. Andere Eingabe/Ausgabevorrichtungen, die in anderen Ausführungsformen verwendet werden können, weisen einen berührungsempfindlichen Bildschirm, ein Touchpad, einen Lautsprecher und/oder ein Mikrofon auf. In anderen Ausführungsformen können noch andere Eingabe/Ausgabevorrichtungen verwendet werden.
  • In einigen Ausführungsformen kann die Tiefenbasierte-Kantenverbesserungsschaltung 110 lokal im System 600 eingerichtet werden, wie in dem Ausführungsbeispiel von 6 gezeigt. Alternativ kann das System 600 in einer Client-Server-Anordnung ausgeführt werden, wobei mindestens einige Funktionalitäten, die diesen Schaltungen zugehörig sind, dem System 600 unter Verwendung eines Applets, wie beispielsweise eines JavaScript-Applets oder eines anderen herunterladbaren Moduls, bereitgestellt werden. Ein solches entfernt zugängliches Modul oder Untermodul kann in Echtzeit als Reaktion auf eine Anforderung von einem Client-Rechensystem für den Zugriff auf einen gegebenen Server bereitgestellt werden, der Ressourcen aufweist, die für den Benutzer des Client-Rechensystems von Interesse sind. In solchen Ausführungsformen kann der Server lokal im Netzwerk 694 sein oder über ein/en oder mehrere andere Netzwerke und/oder Kommunikationskanäle entfernt an das Netzwerk 694 gekoppelt sein. In einigen Fällen kann der Zugriff auf Ressourcen auf einem gegebenen Netzwerk oder Rechensystem Anmeldedaten, wie beispielsweise Benutzernamen, Passwörter und/oder die Erfüllung eines anderen geeigneten Sicherheitsmechanismus erfordern.
  • In verschiedenen Ausführungsformen kann das System 600 als ein drahtloses System, ein drahtgebundenes System oder eine Kombination von beidem ausgeführt werden. Wenn es als ein drahtloses System ausgeführt wird, kann das System 600 Komponenten und Schnittstellen aufweisen, die sich zur Kommunikation über ein gemeinsam verwendetes drahtloses Medium, wie beispielsweise eine oder mehrere Antennen, Sender, Empfänger, Sende/Empfangsvorrichtungen, Verstärker, Filter, Steuerungslogik und so weiter, eignen. Ein Beispiel für gemeinsam verwendete drahtlose Medien können Abschnitte eines drahtlosen Spektrums, wie beispielsweise des Funkfrequenzspektrums und so weiter, aufweisen. Wenn es als ein drahtloses System ausgeführt wird, kann das System 600 Komponenten und Schnittstellen aufweisen, die sich zur Kommunikation über drahtlose Kommunikationsmedien eignen, wie beispielsweise Eingangs/Ausgangsadapter, physikalische Verbinder zum Verbinden des Eingangs/Ausgangsadapters mit einem entsprechenden drahtgebundenen Kommunikationsmedium, eine Netzwerk-Schnittstellenkarte (Network Interface Card - NIC), Plattensteuereinrichtung, Video-Steuereinrichtung, Audio-Steuereinrichtung und so weiter aufweisen. Beispiele für drahtgebundene Kommunikationsmedien können einen Draht, Kabelmetallleitungen, gedruckte Leiterplatten (Printed Circuit Board - PCB), Backplane, Schaltmatrix, Halbleitermaterial, verdrilltes Drahtpaar, Koaxialkabel, Faseroptik und so weiter aufweisen.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination von beiden ausgeführt werden. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (zum Beispiel Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, ASICs, programmierbare Logikbausteine, digitale Signalprozessoren, FPGAs, logische Gatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter aufweisen. Beispiele für Software können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen, Befehlssätze, Rechencode, Computer-Code, Code-Segmente, Computer-Code-Segmente, Wörter, Werte, Symbole oder irgendeine Kombination davon aufweisen. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen ausgeführt wird, kann gemäß irgendeiner Anzahl von Faktoren variieren, wie beispielsweise gewünschte Rechengeschwindigkeit, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklus-Budget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Gestaltungs- oder Leistungseinschränkungen.
  • Einige Ausführungsformen können unter Verwendung des Ausdrucks „gekoppelt“ und „verbunden“ gemeinsam mit ihren Ableitungen beschrieben werden. Diese Begriffe sind nicht als Synonyme voneinander zu verstehen. Zum Beispiel können einige Ausführungsformen unter Verwendung der Begriffe „verbunden“ und/oder „gekoppelt“ beschrieben werden, um anzugeben, dass zwei oder mehr Elemente in direktem physikalischem oder elektrischem Kontakt miteinander sind. Der Begriff „gekoppelt“ kann indes auch bedeuten, dass zwei oder mehr Elemente sich nicht in direktem Kontakt miteinander befinden aber dennoch miteinander zusammenwirken oder interagieren.
  • Die verschiedenen hier offenbarten Ausführungsformen können in verschiedenen Formen von Hardware, Software, Firmware und/oder Spezialprozessoren ausgeführt werden. Zum Beispiel weist in einer Ausführungsform mindestens ein nicht flüchtiger maschinenlesbarer Datenträger darauf codierte Befehle auf, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, bewirken, dass eine oder mehrere von den hier offenbarten tiefenbasierten Kantenverbesserungsmethodologien ausgeführt werden. Die Befehle können unter Verwendung einer geeigneten Programmiersprache, wie beispielsweise C, C++, Object Oriented C, Java, JavaScript, Visual Basic, .NET, Beginner's All-Purpose Symbolic Instruction Code (BASIC), oder alternativ unter Verwendung kundenspezifischer oder proprietärer Befehlssätze codiert werden. Die Befehle können in der Form von einer oder mehreren Computer-Software-Anwendungen und/oder Applets bereitgestellt werden, die greifbar auf einer Speichervorrichtung ausgeführt sind und die durch einen Computer ausgeführt werden können, der irgendeine geeignete Architektur aufweist. In einer Ausführungsform kann das System auf einer gegebenen Website gehostet und zum Beispiel unter Verwendung von JavaScript oder einer anderen geeigneten browserbasierten Technologie ausgeführt werden. Zum Beispiel kann das System sich in bestimmten Ausführungsformen Verarbeitungsressourcen zunutze machen, die durch ein entferntes Computer-System bereitgestellt werden, das über das Netzwerk 694 zugänglich ist. In anderen Ausführungsformen können die hier offenbarten Funktionalitäten in andere Software-Anwendungen aufgenommen werden, wie beispielsweise Video-Bearbeitungsanwendungen, Video-Analyseanwendungen, Video-Präsentationsanwendungen oder andere Anwendungen zur Erzeugung, Änderung und/oder Verwaltung von Inhalten. Die hier offenbarten Computer-Software-Anwendungen können irgendeine Anzahl von verschiedenen Modulen, Untermodulen oder anderen Komponenten mit unterschiedlicher Funktionalität aufweisen und können Informationen für noch andere Komponenten bereitstellen oder Informationen davon empfangen. Diese Module können zum Beispiel verwendet werden, um mit Eingabe- und/oder Ausgabevorrichtungen, wie beispielsweise einem Anzeigebildschirm, einer berührungsempfindlichen Fläche, einem Drucker, und/oder irgendeiner anderen geeigneten Vorrichtung zu kommunizieren. Andere Bauelemente und Funktionalitäten, die sich nicht in den Veranschaulichungen widerspiegeln, gehen angesichts der vorliegenden Offenbarung hervor und es versteht sich, dass andere Ausführungsformen nicht auf irgendeine bestimmte Hardware- oder Software-Ausgestaltung beschränkt sind. So kann in anderen Ausführungsformen das System 600 im Vergleich zu denjenigen, die das Ausführungsbeispiel von 6 aufweist, zusätzliche, weniger oder alternative Unterkomponenten aufweisen.
  • Der vorhergehende nicht flüchtige maschinenlesbare Datenträger kann irgendein geeigneter Datenträger zum Speichern digitaler Informationen, wie beispielsweise eine Festplatte, ein Server, ein Flash-Speicher und/oder ein Speicher mit wahlfreiem Zugriff (RAM) oder eine Kombination von Speichern sein. In alternativen Ausführungsformen können die hier offenbarten Komponenten und/oder Module mit Hardware ausgeführt werden, die Logik auf Gatterebene, wie beispielsweise ein Field-Programmable Gate Array (FPGA), oder alternativ einen zu diesem Zweck aufgebauten Halbleiter, wie beispielsweise eine anwendungsspezifische integrierte Schaltung (Application-Specific Integrated Circuit - ASIC) aufweisen. Noch andere Ausführungsformen können mit einem Mikrocontroller, der eine Anzahl von Eingangs/Ausgangsanschlüssen zum Empfangen und Ausgeben von Daten aufweist, und einer Anzahl von eingebetteten Routinen zum Durchführen der verschiedenen, hier offenbarten Funktionalitäten ausgeführt werden. Es versteht sich, dass irgendeine geeignete Kombination von Hardware, Software und Firmware verwendet werden kann und dass andere Ausführungsformen nicht auf irgendeine bestimmte Systemarchitektur beschränkt sind.
  • Einige Ausführungsformen können zum Beispiel unter Verwendung eines maschinenlesbaren Datenträgers oder Gegenstands ausgeführt werden, der einen Befehl oder einen Satz von Befehlen speichern kann, die, wenn sie durch eine Maschine ausgeführt werden, bewirken können, dass die Maschine ein Verfahren und/oder Vorgänge gemäß den Ausführungsformen durchführt. Eine solche Maschine kann zum Beispiel irgendein/e/n geeignete/s/n Verarbeitungsplattform, Rechenplattform, Rechenvorrichtung, Verarbeitungsvorrichtung, Rechensystem, Verarbeitungssystem, Rechner, Prozess oder dergleichen aufweisen und kann unter Verwendung von irgendeiner geeigneten Kombination von Hardware und/oder Software ausgeführt werden. Der maschinenlesbare Datenträger oder Gegenstand kann zum Beispiel irgendeine geeignete Art von Speichereinheit, Speichervorrichtung, Speichergegenstand, Speichermedium, Speicherungsvorrichtung, Speicherungsgegenstand, Speicherungsmedium und/oder Speicherungseinheit, wie beispielsweise Speicher, auswechselbare oder nichtauswechselbare Träger, löschbare oder nicht löschbare Träger, beschreibbare oder wiederbeschreibbare Träger, digitale oder analoge Träger, Festplatte, Floppy-Disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R) Speicher, Compact Disk Rewriteable (CR-RW) Speicher, optische Platte, magnetische Träger, magnetooptische Träger, auswechselbare Speicherkarten oder Platten, verschiedene Arten von Digital Versatile Disk (DVD), ein Band, eine Kassette oder dergleichen aufweisen. Die Befehle können irgendeine geeignete Art von Code, wie beispielsweise Quellcode, kompilierter Code, interpretierter Code, ausführbarer Code, statischer Code, dynamischer Code, verschlüsselter Code und dergleichen aufweisen, der unter Verwendung von irgendeiner High-Level-, Low-Level-, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache ausgeführt ist.
  • Sofern nicht spezifisch etwas anderes angegeben ist, versteht sich, dass Begriffe, wie beispielsweise „Verarbeitung“, „Rechnen“, „Berechnung“, „Bestimmung“ oder dergleichen sich auf die Handlung und/oder den Prozess eines Computer- oder Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten, die als physikalische Mengen (zum Beispiel Elektronik) innerhalb der Register und/oder Speichereinheiten des Computersystems dargestellt sind, handhabt und/oder in andere Daten umwandelt, die auf ähnliche Weise als physikalische Mengen innerhalb der Register, Speichereinheiten oder anderen solchen Informationsspeicherübertragung oder Anzeigen des Rechensystems dargestellt sind. Die Ausführungsformen sind nicht auf diesen Zusammenhang beschränkt.
  • Die Begriffe „Schaltung“ oder „Schaltungen“, wie sie hier in irgendwelchen Ausführungsformen verwendet werden, sind funktionell und können zum Beispiel einzeln oder in irgendeiner Kombination fest verdrahtete Schaltungen, programmierbare Schaltungen, wie beispielsweise Computerprozessoren, die einen oder mehrere einzelne Befehlsverarbeitungskerne aufweisen, Zustandsmaschinenschaltungen und/oder Firmware aufweisen, die Befehle speichern, die durch programmierbare Schaltungen ausgeführt werden. Die Schaltungen können einen Prozessor und/oder eine Steuereinrichtung aufweisen, der/die ausgestaltet ist, um einen oder mehrere Befehle auszuführen, um einen oder mehrere hier beschriebene Vorgänge durchzuführen. Die Befehle können zum Beispiel als eine Anwendung, Software, Firmware usw. ausgeführt werden, die ausgestaltet ist, um zu bewirken, dass die Schaltungen einen der vorhergehenden Vorgänge durchführen. Software kann als ein Software-Paket, Code, Befehle, Befehlssätze und/oder Daten ausgeführt sein, die auf einem maschinenlesbaren Datenträger aufgezeichnet sind. Software kann ausgeführt oder implementiert sein, um irgendeine Anzahl von Prozessen aufzuweisen und Prozesse können wiederum ausgeführt oder implementiert sein, um irgendeine Anzahl von Threads usw. auf eine hierarchische Art und Weise aufzuweisen. Firmware kann als Code, Befehle oder Befehlssätze und/oder Daten ausgeführt sein, die in Speichervorrichtungen fest programmiert (z. B. nichtflüchtig) sind. Die Schaltungen können gemeinsam oder einzeln als Schaltungen ausgeführt werden, die einen Teil eines größeren Systems bilden, zum Beispiel einer integrierten Schaltung (IC), einer anwendungsspezifischen integrierten Schaltung (ASIC), eines System-on-Chip (SoC), Desktop-Computers, Laptop-Computers, Tablet-Computers, Servers, Smartphones usw. Andere Ausführungsformen können als Software ausgeführt werden, die durch eine programmierbare Steuervorrichtung ausgeführt wird. In solchen Fällen wird beabsichtigt, dass die Begriffe „Schaltung“ oder „Schaltungen“ eine Kombination von Software und Hardware aufweisen, wie beispielsweise eine programmierbare Steuervorrichtung oder einen Prozessor, der in der Lage ist, die Software auszuführen. Wie hier beschrieben, können verschiedene Ausführungsformen unter Verwendung von Hardware-Elementen, Software-Elementen oder irgendeiner Kombination davon ausgeführt werden. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikbausteine (PLD), digitale Signalprozessoren (DSP), Field Programmable Gate Arrays (FPGA), logische Gatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter aufweisen.
  • Es wurden hier zahlreiche spezifische Details dargelegt, um ein eingehendes Verständnis der Ausführungsformen bereitzustellen. Der Durchschnittsfachmann wird indes verstehen, dass die Ausführungsformen ohne diese spezifischen Details in der Praxis angewandt werden können. In anderen Fällen wurden gut bekannte Vorgänge, Komponenten und Schaltungen nicht im Detail beschrieben, um die Ausführungsformen nicht unverständlich zu machen. Es versteht sich, dass die spezifischen strukturellen und funktionellen Details, die hier offenbart sind, stellvertretend sein können und den Schutzbereich der Ausführungsformen nicht unbedingt einschränken. Darüber hinaus versteht sich, dass, obgleich der Gegenstand in Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodologische Vorgänge spezifisch ist, der in den beiliegenden Ansprüchen definierte Gegenstand nicht unbedingt auf die spezifischen, hier beschriebenen Merkmale oder Vorgänge beschränkt ist. Stattdessen werden die hier beschriebenen Merkmale und Vorgänge als beispielhafte Formen der Ausführung der Ansprüche beschrieben.
  • Weitere Ausführungsbeispiele
  • Die folgenden Beispiele betreffen weitere Ausführungsformen, von denen zahlreiche Vertauschungen und Ausgestaltungen ersichtlich sind.
  • Beispiel 1 ist ein prozessorimplementiertes Verfahren zur Kantenverbesserung in Bildrahmen. Das Verfahren weist Folgendes auf: Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist, durch einen Prozessor; Erzeugen einer Schärfemaske durch den Prozessor, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; Berechnen einer Schärfestärke für jedes von den Farbpixeln durch den Prozessor, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und Anwenden eines Schärfungsfilters auf den Farbbildrahmen durch den Prozessor, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  • Beispiel 2 weist den Gegenstand von Beispiel 1 auf und weist ferner das Einstellen der Schärfemaske zum Sperren der Anwendung von Bildschärfung auf ein Farbpixel auf, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  • Beispiel 3 weist den Gegenstand von Beispiel 1 oder 2 auf und weist ferner das Einstellen der Schärfemaske auf, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  • Beispiel 4 weist den Gegenstand von einem der Beispiele 1 bis 3 auf und weist ferner das Einstellen der Schärfemaske auf, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  • Beispiel 5 weist den Gegenstand von einem der Beispiele 1 auf 4 und weist ferner das Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens auf, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  • Beispiel 6 weist den Gegenstand von einem der Beispiele 1 bis 5 auf und weist ferner das Normalisieren des Tiefenkartenrahmens auf, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  • Beispiel 7 weist den Gegenstand von einem der Beispiele 1 bis 6 auf, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  • Beispiel 8 ist ein System zur Kantenverbesserung in Bildrahmen. Das System weist Folgendes auf: eine Bildverarbeitungsschaltung zum Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist; eine Schärfemasken-Erzeugungsschaltung zum Erzeugen einer Schärfemaske, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; eine Schärfestärken-Berechnungsschaltung zum Berechnen einer Schärfestärke für jedes von den Farbpixeln, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und eine Bildschärfungsfilterschaltung zum Anwenden eines Schärfungsfilters auf den Farbbildrahmen wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  • Beispiel 9 weist den Gegenstand von Beispiel 8 auf, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  • Beispiel 10 weist den Gegenstand von Beispiel 8 oder 9 auf, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  • Beispiel 11 weist den Gegenstand von einem der Beispiele 8 bis 10 auf, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  • Beispiel 12 weist den Gegenstand von einem der Beispiele 8 bis 11 auf und weist ferner eine Rahmensynchronisierungsschaltung zum Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens auf, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  • Beispiel 13 weist den Gegenstand von einem der Beispiele 8 bis 12 auf und weist ferner eine Normalisierungsschaltung zum Normalisieren des Tiefenkartenrahmens auf, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  • Beispiel 14 weist den Gegenstand von einem der Beispiele 8 bis 13 auf, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  • Beispiel 15 weist den Gegenstand von einem der Beispiele 8 bis 14 auf, wobei das System eine mobile Rechenvorrichtung ist.
  • Beispiel 16 ist mindestens ein nicht flüchtiger maschinenlesbarer Datenträger, der darauf codierte Befehle aufweist, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, die folgenden Vorgänge zur Kantenverbesserung in Bildrahmen zur Folge haben. Die Vorgänge weisen Folgendes auf: Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist; Erzeugen einer Schärfemaske, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; Berechnen einer Schärfestärke für jedes von den Farbpixeln, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und Anwenden eines Schärfungsfilters auf den Farbbildrahmen, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  • Beispiel 17 weist den Gegenstand von Beispiel 16 auf, wobei die Vorgänge ferner das Einstellen der Schärfemaske zum Sperren der Anwendung von Bildschärfung auf ein Farbpixel aufweisen, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  • Beispiel 18 weist den Gegenstand von Beispiel 16 oder 17 auf, wobei die Vorgänge ferner das Einstellen der Schärfemaske aufweisen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  • Beispiel 19 weist den Gegenstand von einem der Beispiele 16 bis 18 auf, wobei die Vorgänge ferner das Einstellen der Schärfemaske aufweisen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  • Beispiel 20 weist den Gegenstand von einem der Beispiele 16 bis 19 auf, wobei die Vorgänge ferner das Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens aufweisen, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  • Beispiel 21 weist den Gegenstand von einem der Beispiele 16 bis 20 auf, wobei die Vorgänge ferner das Normalisieren des Tiefenkartenrahmens aufweisen, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  • Beispiel 22 weist den Gegenstand von einem der Beispiele 16 bis 21 auf, wobei die Farbpixelwerte entweder Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  • Beispiel 23 ist eine mobile Rechenvorrichtung, die den maschinenlesbaren Datenträger von Anspruch 16 aufweist.
  • Beispiel 24 ist ein System zur Kantenverbesserung in Bildrahmen. Das System weist Folgendes auf: Mittel zum Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist; Mittel zum Erzeugen einer Schärfemaske, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; Mittel zum Berechnen einer Schärfestärke für jedes von den Farbpixeln, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und Mittel zum Anwenden eines Schärfungsfilters auf den Farbbildrahmen, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  • Beispiel 25 weist den Gegenstand von Beispiel 24 auf und weist ferner Mittel zum Einstellen der Schärfemaske zum Sperren der Anwendung von Bildschärfung auf ein Farbpixel auf, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  • Beispiel 26 weist den Gegenstand von Beispiel 24 oder 25 auf und weist ferner Mittel zum Einstellen der Schärfemaske auf, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  • Beispiel 27 weist den Gegenstand von einem der Beispiele 24 bis 26 auf und weist ferner Mittel zum Einstellen der Schärfemaske auf, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  • Beispiel 28 weist den Gegenstand von einem der Beispiele 24 bis 27 auf und weist ferner Mittel zum Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens auf, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  • Beispiel 29 weist den Gegenstand von einem der Beispiele 24 bis 28 auf und weist ferner Mittel zum Normalisieren des Tiefenkartenrahmens auf, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  • Beispiel 30 weist den Gegenstand von einem der Beispiele 24 bis 29 auf, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  • Die hier verwendeten Begriffe und Ausdrücke werden als beschreibende Begriffe und nicht zur Einschränkung verwendet und es besteht keine Absicht, mit der Verwendung solcher Begriffe und Ausdrücke irgendwelche Äquivalente der gezeigten und beschriebenen Merkmale (oder Teile davon) auszuschließen, und es versteht sich, dass verschiedene Abwandlungen innerhalb des Schutzumfangs der Ansprüche möglich sind. Dementsprechend wird mit den Ansprüchen die Abdeckung aller solcher Äquivalente beabsichtigt. Hier wurden verschiedene Merkmale, Gesichtspunkte und Ausführungsformen beschriebenen. Wie der Fachmann verstehen wird, können die Merkmale, Gesichtspunkte und Ausführungsformen miteinander kombiniert sowie variiert und abgewandelt werden. Die vorliegende Offenbarung sollte somit als solche Kombinationen, Varianten und Abwandlungen umfassend betrachtet werden. Es wird beabsichtigt, dass der Schutzbereich der vorliegenden Offenbarung nicht durch die vorliegende detaillierte Beschreibung, sondern durch die beigefügten Ansprüche begrenzt ist. Zukünftig eingereichte Anmeldungen, die die Priorität der vorliegenden Anmeldung in Anspruch nehmen, können den offenbarten Gegenstand auf eine unterschiedliche Weise beanspruchten und können allgemein irgendeine Menge von einem oder mehreren von auf verschiedene Arten offenbarten oder auf eine andere Weise hier dargelegten Elementen aufweisen.

Claims (23)

  1. Prozessorausgeführtes Verfahren zur Kantenverbesserung in Bildrahmen, wobei das Verfahren Folgendes aufweist: Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist, durch einen Prozessor; Erzeugen einer Schärfemaske durch den Prozessor, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; Berechnen einer Schärfestärke für jedes von den Farbpixeln durch den Prozessor, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und Anwenden eines Schärfungsfilters auf den Farbbildrahmen durch den Prozessor, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  2. Verfahren nach Anspruch 1, das ferner das Einstellen der Schärfemaske zum Sperren der Anwendung von Bildschärfung auf ein Farbpixel aufweist, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  3. Verfahren nach Anspruch 1, das ferner das Einstellen der Schärfemaske aufweist, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  4. Verfahren nach Anspruch 1, das ferner das Einstellen der Schärfemaske aufweist, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das ferner das Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens aufweist, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  6. Verfahren nach einem der Ansprüche 1 bis 4, das ferner das Normalisieren des Tiefenkartenrahmens aufweist, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  7. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  8. System zur Kantenverbesserung in Bildrahmen, wobei das System Folgendes aufweist: eine Bildverarbeitungsschaltung zum Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist; eine Schärfemasken-Erzeugungsschaltung zum Erzeugen einer Schärfemaske, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; eine Schärfestärken-Berechnungsschaltung zum Berechnen einer Schärfestärke für jedes von den Farbpixeln, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und eine Bildschärfungsfilterschaltung zum Anwenden eines Schärfungsfilters auf den Farbbildrahmen, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  9. System nach Anspruch 8, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  10. System nach Anspruch 8, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  11. System nach Anspruch 8, wobei die Schärfemasken-Erzeugungsschaltung ferner vorgesehen ist, um die Schärfemaske einzustellen, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  12. System nach einem der Ansprüche 8 bis 11, das ferner eine Rahmensynchronisierungsschaltung zum Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens aufweist, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  13. System nach einem der Ansprüche 8 bis 11, das ferner eine Normalisierungsschaltung zum Normalisieren des Tiefenkartenrahmens aufweist, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  14. System nach einem der Ansprüche 8 bis 11, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
  15. System nach einem der Ansprüche 8 bis 11, wobei das System eine mobile Rechenvorrichtung ist.
  16. Mobile Rechenvorrichtung, die den maschinenlesbaren Datenträger von Anspruch 16 aufweist.
  17. System zur Kantenverbesserung in Bildrahmen, wobei das System Folgendes aufweist: Mittel zum Empfangen eines Farbbildrahmens, der mehrere Farbpixel aufweist, und eines Tiefenkartenrahmens, der mehrere Tiefenpixel aufweist; Mittel zum Erzeugen einer Schärfemaske, um die Anwendung von Bildschärfung auf jedes von den Farbpixeln zu steuern, wobei die Schärfemaske auf einem Wert des Tiefenpixels basiert, das dem Farbpixel entspricht, wobei die Schärfemaske ferner auf einer Schärfentiefe, einer Fokaldistanz und einer hyperfokalen Distanz einer Kamera basiert, die den Farbbildrahmen erzeugt hat; Mittel zum Berechnen einer Schärfestärke für jedes von den Farbpixeln, wobei die Schärfestärke proportional zum Wert des Tiefenpixels ist, das dem Farbpixel entspricht; und Mittel zum Anwenden eines Schärfungsfilters auf den Farbbildrahmen, wobei das Schärfungsfilter auf der Schärfemaske und der Schärfestärke basiert, wobei das Schärfungsfilter zum Verbessern von Kantenbildmerkmalen vorgesehen ist.
  18. System nach Anspruch 17, das ferner Mittel zum Einstellen der Schärfemaske zum Sperren der Anwendung von Bildschärfung auf ein Farbpixel aufweist, wenn der Wert des Tiefenpixels innerhalb eines ausgewählten Bereichs um die Fokaldistanz liegt, wobei der Bereich auf der Schärfentiefe basiert.
  19. System nach Anspruch 17, das ferner Mittel zum Einstellen der Schärfemaske aufweist, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels größer als die Hälfte der hyperfokalen Distanz ist und die Fokaldistanz größer als oder gleich der hyperfokalen Distanz ist.
  20. System nach Anspruch 17, das ferner Mittel zum Einstellen der Schärfemaske aufweist, um die Anwendung von Bildschärfung auf ein Farbpixel zu sperren, wenn der Wert des Tiefenpixels innerhalb eines durch den Benutzer auswählbaren Bereichs liegt.
  21. System nach einem der Ansprüche 17 bis 20, das ferner Mittel zum Synchronisieren des Farbbildrahmens und des Tiefenkartenrahmens aufweist, um das Verbinden von Farbpixeln mit zugehörigen Tiefenpixeln zu erleichtern.
  22. System nach einem der Ansprüche 17 bis 20, das ferner Mittel zum Normalisieren des Tiefenkartenrahmens aufweist, derart dass die Werte der Tiefenpixel im Bereich von 0 bis 255 liegen.
  23. System nach einem der Ansprüche 17 bis 20, wobei die Farbpixelwerte Pegel von Rot, Grün und Blau oder Luminanz- und Chrominanzpegel darstellen.
DE112016006833.6T 2016-07-01 2016-07-01 Verbesserung von kanten in bildern unter verwendung von tiefeninformationen Pending DE112016006833T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/088161 WO2018000427A1 (en) 2016-07-01 2016-07-01 Enhancement of edges in images using depth information

Publications (1)

Publication Number Publication Date
DE112016006833T5 true DE112016006833T5 (de) 2019-01-24

Family

ID=60785808

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016006833.6T Pending DE112016006833T5 (de) 2016-07-01 2016-07-01 Verbesserung von kanten in bildern unter verwendung von tiefeninformationen

Country Status (4)

Country Link
US (1) US10915996B2 (de)
CN (1) CN109219833B (de)
DE (1) DE112016006833T5 (de)
WO (1) WO2018000427A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018000427A1 (en) 2016-07-01 2018-01-04 Intel Corporation Enhancement of edges in images using depth information
CN110942427A (zh) * 2018-09-21 2020-03-31 西安中兴新软件有限责任公司 一种图像降噪的方法及装置、设备、存储介质
US11259006B1 (en) 2019-01-08 2022-02-22 Avegant Corp. Encoded depth data for display
US11109010B2 (en) * 2019-06-28 2021-08-31 The United States of America As Represented By The Director Of The National Geospatial-Intelligence Agency Automatic system for production-grade stereo image enhancements
CN115619683B (zh) * 2022-11-07 2023-07-11 腾讯科技(深圳)有限公司 图像处理方法、装置、设备、存储介质和计算机程序产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896725B2 (en) * 2007-06-21 2014-11-25 Fotonation Limited Image capture device with contemporaneous reference image capture mechanism
TWI383332B (zh) * 2009-05-08 2013-01-21 Chunghwa Picture Tubes Ltd 影像處理裝置及其方法
US9378542B2 (en) * 2011-09-28 2016-06-28 The United States Of America As Represented By The Secretary Of The Army System and processor implemented method for improved image quality and generating an image of a target illuminated by quantum particles
US8750639B2 (en) * 2011-10-25 2014-06-10 Microsoft Corporation Automatic sharpening of images
CN103163716B (zh) 2011-12-19 2017-02-22 鸿富锦精密工业(深圳)有限公司 立体摄像装置
CN102436306A (zh) 2011-12-30 2012-05-02 四川虹欧显示器件有限公司 3d显示系统的控制方法和装置
US8983176B2 (en) * 2013-01-02 2015-03-17 International Business Machines Corporation Image selection and masking using imported depth information
WO2014130019A1 (en) * 2013-02-20 2014-08-28 Intel Corporation Real-time automatic conversion of 2-dimensional images or video to 3-dimensional stereo images or video
WO2014159779A1 (en) * 2013-03-14 2014-10-02 Pelican Imaging Corporation Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
JP2015022458A (ja) * 2013-07-18 2015-02-02 株式会社Jvcケンウッド 画像処理装置、画像処理方法及び画像処理プログラム
CN103514580B (zh) * 2013-09-26 2016-06-08 香港应用科技研究院有限公司 用于获得视觉体验优化的超分辨率图像的方法和系统
US9300857B2 (en) * 2014-04-09 2016-03-29 International Business Machines Corporation Real-time sharpening of raw digital images
US9779491B2 (en) * 2014-08-15 2017-10-03 Nikon Corporation Algorithm and device for image processing
US20170061586A1 (en) * 2015-08-28 2017-03-02 Nokia Technologies Oy Method, apparatus and computer program product for motion deblurring of image frames
CN105245774B (zh) * 2015-09-15 2018-12-21 努比亚技术有限公司 一种图片处理方法及终端
US11024047B2 (en) * 2015-09-18 2021-06-01 The Regents Of The University Of California Cameras and depth estimation of images acquired in a distorting medium
WO2018000427A1 (en) 2016-07-01 2018-01-04 Intel Corporation Enhancement of edges in images using depth information
US10462445B2 (en) * 2016-07-19 2019-10-29 Fotonation Limited Systems and methods for estimating and refining depth maps
US10839535B2 (en) * 2016-07-19 2020-11-17 Fotonation Limited Systems and methods for providing depth map information
US11120536B2 (en) * 2018-12-12 2021-09-14 Samsung Electronics Co., Ltd Apparatus and method for determining image sharpness

Also Published As

Publication number Publication date
CN109219833B (zh) 2023-10-17
US10915996B2 (en) 2021-02-09
WO2018000427A1 (en) 2018-01-04
CN109219833A (zh) 2019-01-15
US20190147570A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
DE112016006873T5 (de) Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
DE112016006833T5 (de) Verbesserung von kanten in bildern unter verwendung von tiefeninformationen
DE102020125207A1 (de) Unbeaufsichtigtes training von neuronalem netz zur bildkompression mit hohem dynamikumfang
DE102019213184A1 (de) Verfahren und system zum automatischen weissabgleich auf basis von tiefem lernen
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE60132278T2 (de) Rauschverminderungsverfahren unter Verwendung von Farbinformationen, einer Vorrichtung und eines Programms zur Digital-Bildverarbeitung
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE112018007721T5 (de) Aufnehmen und modifizieren von 3D-Gesichtern unter Verwendung neuronaler Bild-und Zeitverfolgungsnetze
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
DE112013005851T5 (de) Verfahren und System zum Ermitteln und Auswählen der besten Fotos
DE102013016872A1 (de) System und ein Verfahren zur Optimierung einer Bildqualität in einer Digitalkamera
DE112019007677T5 (de) Posenvorhersageverfahren, Modelltrainingsverfahren und Vorrichtung
DE102016011877A1 (de) Enttrüben von Fotos und Videos unter Verwendung einer visuellen Artefaktunterdrückung
CN108604369A (zh) 一种去除图像噪声的方法、装置、设备及卷积神经网络
DE112012005827T5 (de) Bearbeiten von Medien unter Verwendung von graphischer Darstellung der Medien
DE102017102952A1 (de) Eine Vorrichtung zum Erzeugen eines dreidimensionalen Farbbildes und ein Verfahren zum Produzieren eines dreidimensionalen Farbbildes
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112016006922T5 (de) Erkennung einer Aktivität in einer Videobildfolge anhand von Tiefeninformationen
DE102016122790A1 (de) Unterstützter automatischer Weißabgleich
JP2021531571A (ja) 証明書画像抽出方法及び端末機器
DE102015114651B4 (de) Bildskalierungstechniken
DE112015003626T5 (de) System und verfahren zum erhöhen der bittiefe von bildern
Huang et al. A color multi-exposure image fusion approach using structural patch decomposition
DE112019007550T5 (de) Automatisches segmentieren und anpassen von bildern
DE102020200310A1 (de) Verfahren und System zur Dunstreduzierung für die Bildverarbeitung

Legal Events

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

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE

R016 Response to examination communication