DE102011012920A1 - System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung - Google Patents

System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung Download PDF

Info

Publication number
DE102011012920A1
DE102011012920A1 DE102011012920A DE102011012920A DE102011012920A1 DE 102011012920 A1 DE102011012920 A1 DE 102011012920A1 DE 102011012920 A DE102011012920 A DE 102011012920A DE 102011012920 A DE102011012920 A DE 102011012920A DE 102011012920 A1 DE102011012920 A1 DE 102011012920A1
Authority
DE
Germany
Prior art keywords
processor
phase
pixel
logic
iphase
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
DE102011012920A
Other languages
English (en)
Inventor
Ya-Ti Peng
Yi-Jen Chiu
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 DE102011012920A1 publication Critical patent/DE102011012920A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

System, Verfahren und Computerprogramm zum adaptiven Überblenden der Interpolationsergebnisse von einem 8-tap Lanczos-Filter und der Interpolationsergebnisse von einem bilinearen Filter, gemäß der lokalen Übergänge des Eingabeinhalts. Artefakte können auftreten, die als solche identifiziert und korrigiert werden können. Pixel, die Artefakte in der überblendeten Abbildung darstellen, können durch das Pixel für diesen Ort ersetzt werden, das von der bilinearen Interpolation genommen worden ist.

Description

  • HINTERGRUND
  • Abbildungsgrößenänderung ist eine herkömmliche Operation bei digitaler Abbildungs-/Videoverarbeitung. Ein Interpolationsprozess ist oftmals bei der Größenänderung involviert. Filter, wie z. B. Kasten (z. B. Interpolation des nächsten Nachbarn), Zelt (z. B. bilineare Interpolation), kubisches Spline (z. B. bikubische Interpolation), und eine Vielfalt von Kerneln, die sich der sinc-Funktion nähern, sind beliebte Lösungen für Abbildungsinterpolation. Unter diesen Ansätzen kann der Lanczos-Filter, eine befensterte Form des sinc-Filters, eine schärfere Ausgabe als herkömmliche bilineare oder bikubische Interpolation bereitstellen. Außerdem kann der Lanczos-Filter hinsichtlich Aliasing, Ringing und Schärfe verglichen mit anderen Ansätzen als ein effektiver Kompromiss erachtet werden.
  • Eine N-gelappte Lanczos-befensterte sinc-Funktion kann aufgrund ihrer Oszillationsnatur einen Ringing-Effekt induzieren, und die negativen Werte in dem resultierenden Kernel können Unterschwingung erzeugen (d. h. die Ausgabe ist niedriger als die Eingabe). Der Ringing-Effekt erscheint oftmals als künstliche Ringe in der Nähe von Kanten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN/FIGUREN
  • 1 ist ein Blockdiagramm, das die Verarbeitung des hierin beschriebenen Systems veranschaulicht, gemäß einer Ausführungsform.
  • 2 ist ein Blockdiagramm, das das hierin beschriebene System veranschaulicht, gemäß einer Ausführungsform.
  • 3 veranschaulicht den Größenänderungsprozess und die Verwendung eines Abtastfensters, gemäß einer Ausführungsform.
  • 4 ist ein Ablaufdiagramm, das einen Prozess zum Bestimmen eines Artefakts veranschaulicht, gemäß einer Ausführungsform.
  • 5 ist ein Blockdiagramm, das eine Software- oder Firmware-Ausführungsform des hierin beschriebenen Systems veranschaulicht, gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine bevorzugte Ausführungsform wird nun unter Bezugnahme auf die Figuren beschrieben, bei denen gleiche Bezugsnummern identische oder funktional ähnliche Elemente angeben. Ebenfalls bei den Figuren entspricht die ganz linke Ziffer einer jeden Bezugsnummer der Figur, bei der die Bezugsnummer zum ersten Mal verwendet wird. Obwohl spezifische Konfigurationen und Anordnungen erörtert werden, sollte es selbstverständlich sein, dass dies lediglich zum Zwecke der Veranschaulichung erfolgt. Ein Fachmann wird erkennen, dass weitere Konfigurationen und Anordnungen verwendet werden können, ohne vom Sinn und Umfang der Beschreibung abzuweichen. Für einen Fachmann ist es selbstverständlich, dass dies ebenfalls bei vielerlei anderen Systemen und Anwendungen, die sich von dem hierin beschriebenen unterscheiden, eingesetzt werden kann.
  • Hierin sind Verfahren und Systeme zum Überblenden der Interpolationsergebnisse eines Lanczos-Filters und der Interpolationsergebnisse eines bilinearen Filters offenbart. Das Überblenden kann gemäß der lokalen Übergänge des Eingabeinhalts adaptiv erfolgen. Unterschwingung kann auftreten, die Übergänge in Abbildungen unterstreicht, und kann beim Generieren von scharfer skalierten Abbildungen von Nutzen sein. Sie kann jedoch ebenfalls Artefakte in bestimmten Muster erzeugen. Es kann ein Erkennen und Korrigieren dieser Art Artefakt ausgeführt werden.
  • 1 veranschaulicht das Gesamtverarbeiten des hierin beschriebenen Systems, gemäß einer Ausführungsform. Bei 110 kann eine Eingabeabbildung unter Verwendung von bilinearem Filtern größenverändert werden. Bei 120 kann die Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern größenverändert werden. Die Ausgaben, d. h. größenveränderte Abbildungen, die von 110 und 120 erzeugt wurden, können bei 130 überblendet werden. Dies kann eine einzelne überblendete Abbildung erzeugen. Bei 140 können Artefakte in der überblendeten Abbildung erkannt werden. Bei 150 können jegliche erkannte Artefakte korrigiert werden. Der Prozess kann bei 160 enden.
  • Ein System, das diesen Prozess ausführen kann, ist in 2 gemäß einer Ausführungsform gezeigt. Die Pixel einer ursprünglichen Eingabeabbildung sind als Pixel 205 gezeigt. Diese Pixel können einem Abtastfenstermodul 210 bereitgestellt werden, das ein Abtastfenster in der Eingabeabbildung lokalisiert. Ein Abtastfenster kann auf einem spezifischen Punkt oder Ort in der Eingabeabbildung basieren. Solch ein Ort kann durch eine Mittelpixelkoordinate dargestellt sein, die Abtastfenstermodul 210 durch ein Abtastpunktlokatormodul 215 bereitgestellt werden kann. Das Abtastfenstermodul 210 kann sodann zwei Pixel an bilineares Filtermodul 220 bereitstellen. Das Abtastfenstermodul 210 kann ebenfalls acht Pixel an ein 8-tap Lanczos-Filtermodul 220 bereitstellen. Damit das Lanczos-Filtermodul 225 betrieben werden kann, kann dieses Modul Filterkoeffizienten erfordern. Solche Koeffizienten können durch Koeffizientenmodul 230 bereitgestellt werden. Bei der veranschaulichten Ausführungsform kann die Generation von Koeffizienten durch Modul 230 Phaseninformationen verwenden, die durch Abtastpunktlokatormodul 215 bereitgestellt werden. Abtastpunktlokatormodul 215 kann ebenfalls Phaseninformationen an bilineares Filtermodul 220 bereitstellen.
  • Bilineares Filtermodul 220 und Lanczos-Filtermodul 225 können jeweils entsprechende größenveränderte Abbildungen an Überblendmodul 240 bereitstellen. Um das Überblenden dieser Eingaben auszuführen, kann Überblendmodul 240 ebenfalls lokale Inhaltsinformationen erfordern, die von lokalem Inhaltsanalysemodul 245 bereitgestellt werden. Lokales Inhaltsanalysemodul 245 kann die lokalen Inhaltsinformationen auf der Basis von Pixeln generieren, die von einem Abtastfenstermodul 210 identifiziert werden. Diese Pixel können als das Fenster von Pixeln erachtet werden, die die Pixelkoordinate umgeben, die von Abtastpunktlokatormodul 215 identifiziert wird.
  • Das Überblendmodul 240 kann Filterergebnisse an Ausgabemodul 255 bereitstellen. Das Ausgabemodul 255 kann eine skalierte Abbildung generieren, die aus Pixeln 260 besteht. Um diese skalierte Abbildung zu generieren, kann sich Ausgabemodul 255 auf Informationen beziehen, die von Erkennungs- und Korrekturmodul 250 bereitgestellt werden. Dieses letztere Modul kann Artefakte identifizieren und korrigieren, die in der überblendeten Ausgabe von Modul 240 gefunden werden. Bei der veranschaulichten Ausführungsform kann Erkennungs- und Korrekturmodul 250 ebenfalls lokale Inhaltsinformationen vorteilhaft nutzen, die von lokalem Inhaltsanalysemodul 245 erzeugt wurden. Die skalierte Abbildung, die aus Pixeln 260 besteht, kann sodann an ein Display-Gerät zum Ansehen gesendet werden, oder kann an ein Speichergerät zum Speichern und/oder zum zusätzlichen nachfolgenden Verarbeiten gesendet werden.
  • 3 veranschaulicht einen Skalierungsprozess, gemäß einer Ausführungsform. Diese Figur zeigt einen Satz an Pixeln in einer skalierten Abbildung 310. Die verdunkelten Pixel können kollektiv ein Abtastfenster darstellen. Das angezeigte Pixel yi kann ein Mittelpixel für das Fenster darstellen. Die anderen Pixel in dem Fenster sind als xi-3, xi-2, xi-1, xi0, xi1, xi2, xi3 und xi4 markiert, wobei yi zwischen xi0 und xi1 fallen kann.
  • Es ist anzumerken, dass im Allgemeinen ein Interpolator zwei Komponenten beinhaltet, einen horizontalen Interpolator und einen vertikalen Interpolator. In 3 und in der restlichen Beschreibung wird das Verarbeiten hinsichtlich horizontaler Interpolation beschrieben. Es ist anzumerken, dass das Verarbeiten hinsichtlich vertikaler Interpolation analog sein kann. Die Konzepte, Prozesse und Systeme, die hierin hinsichtlich horizontaler Interpolation beschrieben sind, können direkt auf vertikale Interpolation angewendet werden.
  • Im Fall der horizontalen Interpolation, wie im Fall vertikaler Interpolation, bestimmt das Abtastpunktlokatormodul zuerst die zwei Pixel zwischen denen das Mittelpixel lokalisiert ist. In dem Beispiel von 3 sind diese zwei Pixel als xi0 und xi1 gezeigt. Die Phasenunterschiede zwischen xi0 und yi sowie zwischen yi und xi1 sind als iphase bzw. 1-iphase gezeigt. Angenommen, dass i0 ε int und iphase ε [0,1), dann kann das bilineare interpolierte Pixel yi B berechnet werden als yi B = xi0·(1 – iphase) + xi1·iphase.
  • Hier sind sowohl iphase als auch 1-iphase zwischen 0 und 1. yi B kann daher als gewichtete Summe von xi0 und xi1 erachtet werden.
  • Die Umsetzung von yi unter Verwendung eines 8-tap Lanczos-Filters kann berechnet werden als yi L = Σxikhk iphase wobei k = –3, –2, ..., 4.
  • Hier ist hk iphase die Abtastung der 4-gelappten Lanczos-befensterten Funktion hk iphase = (sinπ[(k – iphase)·sf]/π[(k – iphase)·sf])(sinπ[((k – iphase)/4)·sf]/π[((k – iphase)/4)·sf]) wenn |k – iphase)·sf| < 4, und hk iphase = 0 wenn|(k – iphase)·sf| >= 4.
  • In den vorstehenden Ausdrücken stellt sf den Skalierungsfaktor dar.
  • Überblenden von yi B und yi L kann die Schärfe aufrechterhalten, die von dem Lanczos-Filtern kommt, während der Ringing-Effekt verringert wird. Solches Überblenden kann resultieren in der Umsetzung von yi als yi BL = αi·yi L + (1 – αi)·yi B, wobei α = f(xi-3, xi-2, xi-1, xi0, xi1, xi2, xi3, xi4) und α eine Funktion eines lokalen Inhalts sein kann. Bei einer Ausführungsform kann αi wie folgt definiert werden: αi = max(D', D''), wobei D'' = max(|ik – ik+1|), wobei k ε –2, –1, 0, ... 4, D' = min(D1, D2), D1 = min[max(|Xi1 – Xi2|, |Xi0 – Xi1|), max(|Xi1 – Xi2|, |Xi2 – Xi3|)], und D2 = [Xi-1 + Xi1 – 2Xi0] + [2Xi2 – Xi1 – Xi3].
  • Sobald das Überblenden ausgeführt worden ist, kann bestimmt werden, ob ein Pixel yi BL ein Artefakt darstellt. Wenn das Pixel als Artefakt bestimmt wurde, kann das Pixel, für den gleichen Ort, durch das Pixel ersetzt werden, das aus der Anwendung des bilinearen Filterns, yi B, resultiert. In einer Implementierung kann das Erkennen eines Artefakts bei yi BL in dem Setzen eines Flag resultieren. Für jedes Pixel, für das solch ein Flag gesetzt wird, kann das Pixel durch das Pixel yi B ersetzt werden, das aus Anwendung des bilinearen Filters resultiert. Formaler ausgedrückt für das Ausgabepixel yi out, yi out = yi B wenn Flag(yi) = 1, und yi out = yi BL wenn Flag(yi) = 0
  • Bei einer Ausführungsform kann ein Pixel als ein Artefakt bestimmt werden, indem der Test angewandt wird, der veranschaulicht ist in 4. Diese Figur zeigt einen Satz an logischen Ausdrücken 410450, wobei, wenn irgendwelche davon falsch sind, das Pixel yi kein Artefakt ist, und das finale Ausgabepixel yi out den Wert yi BL behalten kann. Wenn all die Bedingungen 410450 gültig sind, kann das Pixel yi als ein Artefakt betrachtet werden, und yi out kann der Wert yi B zugeteilt werden.
  • Bei 410 kann bestimmt werden, ob das Folgende gilt: yi B| > f1(Xi-3, Xi-2, ..., Xi3, Xi4).
  • Wenn nicht, kann Flag(yi) bei 470 ein Wert 0 gegeben werden, und der Prozess ist bei 480 beendet. Wenn der Ausdruck gültig ist, kann der Prozess bei 420 fortfahren.
  • Bei 420 kann bestimmt werden, ob das Folgende gilt: |Xi0 – Xi1| < f2(Xi-3, Xi-2, ..., Xi3, Xi4).
  • Wenn nicht, kann Flag(yi) bei 470 ein Wert 0 gegeben werden, und der Prozess kann bei 480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei 430 fortfahren.
  • Bei 430 kann bestimmt werden, ob das Folgende gilt: |Xi0 – Xi-1| > f3(Xi-3, Xi-2, ..., Xi3, Xi4).
  • Wenn nicht, kann Flag(yi) bei 470 ein Wert 0 gegeben werden, und der Prozess kann bei 480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei 440 fortfahren.
  • Bei 440 kann bestimmt werden, ob das Folgende gilt: sign[(Xi0 – Xi1)·h-1 iphase] < 0.
  • Wenn nicht, kann Flag(yi) bei 470 ein Wert 0 gegeben werden, und der Prozess kann bei 480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei 450 fortfahren.
  • Bei 450 kann bestimmt werden, ob das Folgende gilt: !{[|Xik-1 – Xik| > f4(Xi-3, Xi-2, ..., Xi3, Xi4)] & [||Xik-1 – Xik| – |Xi0 – Xi-1|| > f5(Xi-3, Xi-2, ..., Xi3, Xi4)]} für alle k = –2, –1, 0, 1, 2, 3, 4
    oder |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4)
  • Wenn nicht, kann Flag(yi) bei 470 ein Wert 0 gegeben werden, und der Prozess kann bei 480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei 460 fortfahren. Bei 460 kann Flag(yi) ein Wert von 1 gegeben werden.
  • Die Funktionen f1 bis f6 können als Funktionen von (Xi-3, Xi-2, ..., Xi3, Xi4) definiert werden, wie vorstehend angezeigt. Alternativ können f1 bis f6 vorbestimmte konstante Werte gegeben werden. Bei einer Ausführungsform
    f1 = 64,
    f2 = 16,
    f3 = 20,
    f4 = 20,
    f5 = 10, und
    f6 = 1.
  • Es ist anzumerken, dass die Anwendung von 410440 interpolierte Pixel mit großen Unterschwingungswerten in bestimmten Abbildungsmustern, wie z. B. glatten Bereichen, mit einigen regulären dünnen Streifen festhalten kann. Die Anwendung von 450 kann, für andere Abbildungsmuster, Schutz von Unterschwingungswerten ausführen, um Schärfe aufrechtzuerhalten.
  • Ein oder mehr hierin offenbarte Merkmale können in Hardware, Software, Firmware und Kombinationen davon implementiert sein, einschließlich separater und integrierter Schaltkreislogik, anwendungsspezifischer integrierter Schaltkreis-(application specific integrated circuit, ASIC)-Logik und Mikrocontrollern, und können als Teil eines domainspezifischen integrierten Schaltkreisgehäuses oder einer Kombination von integrierten Schaltkreisgehäusen implementiert sein. Der Begriff Software, wie hierin verwendet, bezieht sich auf ein Computerprogrammprodukt, einschließlich eines computerlesbaren Mediums, in dem Computerprogrammlogik gespeichert ist, um ein Computersystem zu veranlassen, ein oder mehr Merkmale und/oder Kombinationen von Merkmalen, die hierin offenbart sind, auszuführen.
  • Eine Softwareausführungsform ist in dem Kontext eines Computersystems 500 in 5 veranschaulicht. System 500 kann einen Prozessor 520 und einen Speicherkörper 510 beinhalten, der ein oder mehr computerlesbare Medien beinhalten kann, die Computerprogrammlogik 540 speichern können. Speicher 510 kann beispielsweise als eine Festplatte und ein Laufwerk, ein Wechselmedium, wie z. B. Compact Disk und Compact Drive, oder ein ROM-(read-only memory)-Gerät implementiert sein. Prozessor 520 und Speicher 510 können unter Verwendung einer von vielen Technologien, die einem Fachmann bekannt sind, wie z. B. einem Bus, in Kommunikation stehen. In Speicher 510 enthaltene Computerprogrammlogik kann von Prozessor 520 gelesen und ausgeführt werden. Ein oder mehr I/O-(Eingabe-/Ausgabe)-Ports und/oder I/O-(Eingabe-/Ausgabe)-Geräte, kollektiv als I/O 530 gezeigt, können ebenfalls mit Prozessor 520 und Speicher 510 verbunden sein.
  • Computerprogrammlogik kann Module 550 und 560 beinhalten, gemäß einer Ausführungsform. Überblendlogik 550 kann für Überblenden der Ausgaben eines Interpolationsprozesses, der bilineares Filter verwendet, und eines Interpolationsprozesses, der 8-tap Lanczos-Filtern verwendet, verantwortlich sein. Der Überblendprozess ist vorstehend beschrieben, gemäß einer Ausführungsform. Artefakterkennungs- und -korrekturlogik 560 kann für das Auswerten von Pixeln verantwortlich sein, die von Überblendlogik 550 ausgegeben werden. Bei dieser Auswertung kann für jedes Pixel bestimmt werden, ob das Pixel ein Artefakt darstellt. Details dieser Bestimmung sind vorstehend unter Bezugnahme auf 4 beschrieben. Logik 560 kann sodann jegliche solcher Artefakte korrigieren.
  • Bei einer Ausführungsform kann die resultierende Abbildung, mit korrigierten Artefakten, an I/O 530 gesendet werden, die ein Display beinhalten kann, auf dem die Abbildung angezeigt werden kann. Alternativ kann die Abbildung an ein Speichergerät zum Speichern gesendet werden.
  • Verfahren und Systeme werden hierin mit Hilfe funktionaler Bausteine offenbart, die deren Funktionen, Merkmale und Beziehungen veranschaulichen.
  • Zumindest einige der Grenzen dieser funktionalen Bausteine wurden zum besseren Verständnis der Beschreibung hierin willkürlich definiert. Alternative Grenzen können definiert werden, solange deren spezifizierte Funktionen und Beziehungen angemessen durchgeführt werden.
  • Obwohl hierin verschiedene Ausführungsformen offenbart sind, sollte es selbstverständlich sein, dass diese lediglich beispielhaft und nicht einschränkend dargelegt wurden. Es ist für Fachleute offensichtlich, dass verschiedene Änderungen hinsichtlich Form und Detail daran vorgenommen werden können, ohne von dem Geist und Umfang der hierin offenbarten Verfahren und Systeme abzuweichen. Somit sollte die Bandbreite und der Umfang der Ansprüche nicht durch eine der beispielhaften Ausführungsformen, die hierin offenbart sind, eingeschränkt werden.

Claims (18)

  1. Verfahren, umfassend: Skalieren einer Eingabeabbildung unter Verwendung von bilinearem Filtern, wodurch eine erste Ausgabe generiert wird; Skalieren der Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern, wobei eine zweite Ausgabe generiert wird; Überblenden der ersten und zweiten Ausgabe, um eine überblendete Abbildung zu erzeugen; Erkennen von Artefakten in der überblendeten Abbildung; Korrigieren der erkannten Artefakte; und Anzeigen, auf einem Display-Gerät, einer Ausgabeabbildung, die aus dem Erkennen und Korrigieren der Artefakte resultiert, wobei das Verfahren unter Verwendung eines programmierbaren Prozessors ausgeführt wird.
  2. Verfahren nach Anspruch 1, wobei das Skalieren der Eingabeabbildung unter Verwendung von bilinearem Filtern umfasst: Berechnen eines Pixels der ersten Ausgabe als yi B = xi0·(1 – iphase) + xi1·iphase. wobei i0 und i1 x-Koordinaten entsprechender Pixel auf beiden Seiten des Pixels yi der Ausgabeabbildung sind, xi0 und xi1 Pixel an entsprechenden Orten i0 und i1 sind, ε int, und iphase ε [0,1).
  3. Verfahren nach Anspruch 2, wobei das Skalieren der Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern umfasst: Berechnen eines Pixels der zweiten Ausgabe als yi L = Σxikhk iphase wobei k = –3, –2, ..., 4, hk iphase eine Abtastung einer 4-gelappten Lanczos-befensterten Funktion ist hk iphase = (sinπ[(k – iphase)·sf]/π[(k – iphase)·sf])(sinπ[((k – iphase)/4)·sf]/π[((k – iphase)/4)·sf]) wenn |k – iphase)·sf| < 4, und hk iphase = 0 wenn |k – iphase)·sf| >= 4.
  4. Verfahren nach Anspruch 3, wobei ein Pixel yi BL der überblendeten Abbildung berechnet wird als yi BL= αi·yi L + (1 – αi)·yi B, wobei αi = f(xi-3, xi-2, xi-1, xi0, xi1, xi2, xi3 , xi4) und α eine Funktion von lokalem Inhalt ist.
  5. Verfahren nach Anspruch 3, wobei das Erkennen von Artefakten das Bestimmen umfasst, ob die folgenden Bedingungen erfüllt sind, |yi L yi B| > f1(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi1| < f2(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi-1| > f3(Xi-3, Xi-2, ..., Xi3, Xi4); sign[(Xi0 – Xi-1)·h-1 iphase] < 0; !{[|Xik-1 – Xik| > f4(Xi-3, Xi-2, ..., Xi3, Xi4)] & [||Xik-1 – Xik| – |Xi0 – Xi-1|| > f5(Xi-3, Xi-2, ..., Xi3, Xi4)]} für alle k = –2, –1, 0, 1, 2, 3, 4 oder |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), wobei, wenn die Bedingungen erfüllt sind, Pixel yi BL als ein Artefakt bestimmt wird.
  6. Verfahren nach Anspruch 5, wobei, wenn Pixel yi BL als ein Artefakt bestimmt wird, die Korrektur des Artefakts das Ersetzen von yi BL durch yi B umfasst.
  7. System, umfassend: einen Prozessor; und einen Speicher in Kommunikation mit dem Prozessor, wobei der Speicher speichert eine Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, eine Eingabeabbildung unter Verwendung von bilinearem Filtern zu skalieren, wobei eine erste Ausgabe generiert wird, eine Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, eine Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern zu skalieren, wobei eine zweite Ausgabe generiert wird, eine Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, die erste und zweite Ausgabe zu überblenden, um eine überblendete Abbildung zu erzeugen, eine Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, Artefakte in der überblendeten Abbildung zu erkennen, und eine Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor zu den erkannten Artefakten zu führen.
  8. System nach Anspruch 7, wobei die Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, die Eingabeabbildung unter Verwendung von bilinearem Filtern zu skalieren, umfasst: Verarbeiten von Befehlen, die konfiguriert sind, um den Prozessor anzuleiten, ein Pixel der ersten Ausgabe zu berechnen als yi B = xi0·(1 – iphase) + xi1·iphase. wobei i0 und i1 x-Koordinaten entsprechender Pixel auf beiden Seiten des Pixels yi der Ausgabeabbildung sind, xi0 und xi1 Pixel an entsprechenden Orten i0 und i1 sind, i0 ε int, und Phase ε [0,1).
  9. System nach Anspruch 8, wobei die Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, die Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern zu skalieren, umfasst: Verarbeiten von Befehlen, die konfiguriert sind, um den Prozessor anzuleiten, ein Pixel der zweiten Ausgabe zu berechnen als yi L = Σxikhk iphase wobei k = –3, –2, ..., 4. wobei hk iphase eine Abtastung einer 4-gelappten Lanczos-befensterten Funktion ist hk iphase = (sin π[(k – iphase)·sf]/π[(k – iphase)·sf])(sinπ[((k – iphase)/4)·sf]/π[((k – iphase)/4)·sf]) wenn |k – iphase)·sf| < 4, und hk iphase = 0 wenn|(k – iphase)·sf| >= 4.
  10. System nach Anspruch 9, wobei die Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, die erste und zweite Ausgabe zu überblenden, umfasst: Verarbeiten von Befehlen, die konfiguriert sind, um den Prozessor anzuleiten, ein Pixel yi BL der überblendeten Abbildung zu berechnen als yi BL = αi·yi L + (1 – αi)·yi B, wobei αi = f(xi-3, xi-2, xi-1, xi0, xi1, xi2, xi3, xi4) und α eine Funktion von lokalem Inhalt ist.
  11. System nach Anspruch 9, wobei die Vielzahl von Verarbeitungsbefehlen, die konfiguriert sind, um den Prozessor anzuleiten, Artefakte zu erkennen, umfasst: Verarbeitungsbefehle, die konfiguriert sind, um den Prozessor anzuleiten, zu bestimmen, ob die folgenden Bedingungen erfüllt sind, |yiL yi B| > f1(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi1| < f2(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi-1| > f3(Xi-3, Xi-2, ..., Xi3, Xi4); sign[(Xi0 – Xi-1)·h-1 iphase] < 0; !{[|Xik-1 – Xik| > f4(Xi-3, Xi-2, ..., Xi3, Xi4)] & [||Xik-1 – Xik| – |Xi0 – Xi-1|| > f5(Xi-3, Xi-2, ..., Xi3, Xi4)]} für alle k = –2, –1, 0, 1, 2, 3, 4 oder |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), wobei, wenn die Bedingungen erfüllt sind, Pixel yi BL als ein Artefakt bestimmt wird.
  12. System nach Anspruch 11, wobei die Verarbeitungsbefehle, die konfiguriert sind, um den Prozessor anzuleiten, die erkannten Artefakte zu korrigieren, umfasst: Verarbeitungsbefehle, die konfiguriert sind, um den Prozessor anzuleiten, yi BL durch yi B zu ersetzen, wenn yi BL als ein Artefakt bestimmt worden ist.
  13. Computerprogrammprodukt einschließlich eines computerlesbaren Mediums, in dem Computerprogrammlogik gespeichert ist, wobei die Computerprogrammlogik beinhaltet: Logik, um einen Prozessor zu veranlassen, eine Eingabeabbildung unter Verwendung von bilinearem Filter zu skalieren, wobei eine erste Ausgabe generiert wird; Logik, um den Prozessor zu veranlassen, eine Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern zu skalieren, wobei eine zweite Ausgabe generiert wird; Logik, um den Prozessor zu veranlassen, die erste und zweite Ausgabe zu überblenden, um eine überblendete Abbildung zu erzeugen; Logik, um den Prozessor zu veranlassen, Artefakte in der überblendeten Abbildung zu erkennen; und Logik, um den Prozessor zu veranlassen, die erkannten Artefakte zu korrigieren.
  14. Computerprogrammartikel nach Anspruch 13, wobei die Logik, die den Prozessor veranlassen soll, die Eingabeabbildung unter Verwendung von bilinearem Filter zu skalieren, umfasst: Logik, um den Prozessor zu veranlassen, ein Pixel der ersten Ausgabe zu berechnen als yi B = xi0·(1 – iphase) + xi1·iphase. wobei i0 und i1 x-Koordinaten entsprechender Pixel auf beiden Seiten des Pixels yi der Ausgabeabbildung sind, xi0 und xi1 Pixel an entsprechenden Orten i0 und i1 sind, i0 ε int, und iphase ε [0,1).
  15. Computerprogrammartikel nach Anspruch 14, wobei die Logik, die den Prozessor veranlassen soll, die Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern zu skalieren, umfasst: Logik, um den Prozessor zu veranlassen, ein Pixel der zweiten Ausgabe zu berechnen als yi L = Σxikhk iphase wobei k = –3, –2, ..., 4 wobei hk iphase eine Abtastung einer 4-gelappten Lanczos-befensterten Funktion ist hk iphase = (sin π[(k – iphase)·sf]/π[(k – iphase)·sf])(sinπ[((k – iphase)/4)·sf]/π[((k –iphase)/4)·sf]) wenn |k – iphase)·sf| < 4, und hk iphase = 0 wenn|(k – iphase)·sf| >= 4.
  16. Computerprogrammartikel nach Anspruch 15, wobei die Logik, die den Prozessor veranlassen soll, die erste und zweite Ausgabe zu überblenden, umfasst: Logik, um den Prozessor zu veranlassen, ein Pixel yi BL zu berechnen als yi BL = αi·yi L + (1 – αi)·yi B wobei αi = f(xi-3, xi-2, xi-1, xi0, xi1, xi2, xi3, xi4) und αeine Funktion von lokalem Inhalt ist.
  17. Computerprogrammartikel nach Anspruch 15, wobei die Logik, die den Prozessor veranlassen soll, Artefakte zu erkennen, umfasst: Logik, um den Prozessor zu veranlassen, zu bestimmen, ob die folgenden Bedingungen erfüllt sind: |yi L yi B| > f1(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi1| < f2(Xi-3, Xi-2, ..., Xi3, Xi4); |Xi0 – Xi-1| > f3(Xi-3, Xi-2, ..., Xi3, Xi4); sign[(Xi0 – Xi-1)·h-1 iphase] < 0; !{[|Xik-1 – Xik| > f4(Xi-3, Xi-2, ..., Xi3, Xi4)] & [||Xik-1 – Xik| – |Xi0 – Xi-1|| > f5(Xi-3, Xi-2, ..., Xi3, Xi4)]} für alle k = –2, –1, 0, 1, 2, 3, 4 oder |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), wobei, wenn die Bedingungen erfüllt sind, Pixel yi BL als ein Artefakt bestimmt wird.
  18. Computerprogrammartikel nach Anspruch 17, wobei die Logik, die den Prozessor veranlassen soll, Artefakte zu korrigieren, umfasst: Logik, um den Prozessor zu veranlassen, yi BL durch yi B zu ersetzen.
DE102011012920A 2010-03-05 2011-03-03 System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung Pending DE102011012920A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/718,033 US8249395B2 (en) 2010-03-05 2010-03-05 System, method, and computer program product for picture resizing
US12/718,033 2010-03-05

Publications (1)

Publication Number Publication Date
DE102011012920A1 true DE102011012920A1 (de) 2012-01-19

Family

ID=43881450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011012920A Pending DE102011012920A1 (de) 2010-03-05 2011-03-03 System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung

Country Status (4)

Country Link
US (1) US8249395B2 (de)
CN (1) CN102194214B (de)
DE (1) DE102011012920A1 (de)
GB (1) GB2478401B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101616874B1 (ko) * 2009-09-23 2016-05-02 삼성전자주식회사 다중 영상 합성 방법 및 그 장치
US20110298972A1 (en) * 2010-06-04 2011-12-08 Stmicroelectronics Asia Pacific Pte. Ltd. System and process for image rescaling using adaptive interpolation kernel with sharpness and de-ringing control
US20130162901A1 (en) * 2011-12-22 2013-06-27 Silicon Image, Inc. Ringing suppression in video scalers
CN108616701A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 一种基于Sinc滤波器的图像缩放方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456339B1 (en) * 1998-07-31 2002-09-24 Massachusetts Institute Of Technology Super-resolution display
US6424749B1 (en) * 1999-03-30 2002-07-23 Matsushita Electric Industrial Co., Ltd. System and method for scaling combined video and computer generated imagery
US6593925B1 (en) * 2000-06-22 2003-07-15 Microsoft Corporation Parameterized animation compression methods and arrangements
US7545957B2 (en) * 2001-04-20 2009-06-09 Avid Technology, Inc. Analyzing motion of characteristics in images
US7187811B2 (en) * 2003-03-18 2007-03-06 Advanced & Wise Technology Corp. Method for image resolution enhancement
KR100548206B1 (ko) * 2003-10-08 2006-02-02 삼성전자주식회사 디지털 영상 처리장치 및 그의 영상처리방법
US7502505B2 (en) * 2004-03-15 2009-03-10 Microsoft Corporation High-quality gradient-corrected linear interpolation for demosaicing of color images
KR100648308B1 (ko) * 2004-08-12 2006-11-23 삼성전자주식회사 해상도 변환방법 및 장치
JP4774736B2 (ja) * 2004-12-27 2011-09-14 カシオ計算機株式会社 画像拡大装置および撮像装置
US7519235B1 (en) * 2005-10-24 2009-04-14 Adobe Systems Incorporated Using nonlinear filtering while resizing an image to preserve sharp image detail
CN100563322C (zh) * 2007-02-07 2009-11-25 扬智科技股份有限公司 滤波动态补偿的非反馈插值器
US8594465B2 (en) * 2007-11-14 2013-11-26 Microsoft Corporation Adaptive filtering for image transform processes
US8233747B2 (en) * 2009-04-03 2012-07-31 Sony Corporation Method and apparatus for forming super resolution images from raw data representative of color filter array images
US20110150354A1 (en) * 2009-12-18 2011-06-23 Magor Communications Corporation Image up-sampling method using 2d wavelet filters
US8520971B2 (en) * 2010-09-30 2013-08-27 Apple Inc. Digital image resampling

Also Published As

Publication number Publication date
US8249395B2 (en) 2012-08-21
CN102194214A (zh) 2011-09-21
CN102194214B (zh) 2014-03-26
US20110216985A1 (en) 2011-09-08
GB201102996D0 (en) 2011-04-06
GB2478401B (en) 2013-09-04
GB2478401A (en) 2011-09-07

Similar Documents

Publication Publication Date Title
DE602004001483T2 (de) Verfahren und System zur automatischen Reduzierung von Aliasing-Artefakten
DE102016007215B4 (de) Kontrollieren der Glattheit eines Übergangs zwischen Bildern
DE60221757T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Entfernung des Mosaikeffekts und Grössenänderung von Rohbilddaten
CN103034973B (zh) 基于双三次插值的自适应图像缩放方法
DE102006038646B4 (de) Bildverarbeitungsvorrichtung für Farb-Bilddaten
DE102016121959A1 (de) Bildbearbeitungsvorrichtung und Bildbearbeitungsverfahren zur Vorverarbeitung zum Erhalten eines Bildes mit verbesserter Schärfe
CN108109109B (zh) 一种超分辨率图像重构方法、装置、介质及计算设备
CN112991165B (zh) 一种图像的处理方法及装置
DE102008032989A1 (de) Vorrichtung und Verfahren zur Randbetonung
CN105763768A (zh) 一种图像处理方法、装置和系统
DE102011012920A1 (de) System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung
DE102014008686B4 (de) Verfahren und Vorrichtung zur Farbinterpolation
DE112010005426T5 (de) Animationsanzeigevorrichtung
CN103700071A (zh) 一种深度图上采样边缘增强方法
DE69839079T2 (de) System und verfahren für 2-abgriff/3-abgriff flimmerfiltern
KR102550927B1 (ko) 데이터 처리 시스템에서 프레임을 처리하는 방법 및 장치
DE112021006769T5 (de) Schaltung zur kombinierten heruntertaktung und korrektur von bilddaten
DE202014010846U1 (de) Farbverlauf von Wasser auf einer digitalen Karte
DE102012201024A1 (de) Verfahren zum Verarbeiten eines Bildes zur Verdeutlichung von Text in dem Bild
CN109996085B (zh) 模型训练方法、图像处理方法、装置及电子设备
EP2955691B1 (de) Vorrichtung zur Bestimmung von Farbanteilen eines Bildpunktes einer BAYER-Matrix
KR102482454B1 (ko) Cnn 덴스 레이어를 이용한 영상 처리 장치 및 방법
DE102006053351A1 (de) Verfahren und Vorrichtungen zum Verschmelzen und Ausgeben von Bildern
EP3465608B1 (de) Verfahren und vorrichtung zum bestimmen eines übergangs zwischen zwei anzeigebildern, und fahrzeug
DE102017218072A1 (de) Verfahren zum Aufnehmen eines Bildes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication