DE102011012920A1 - System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung - Google Patents
System, Verfahren und Computerprogrammartikel zur Bildgrössenänderung Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 9
- 238000002156 mixing Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 238000005562 fading Methods 0.000 abstract description 3
- 230000007704 transition Effects 0.000 abstract description 3
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 238000005070 sampling Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image 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. Bei110 kann eine Eingabeabbildung unter Verwendung von bilinearem Filtern größenverändert werden. Bei120 kann die Eingabeabbildung unter Verwendung von 8-tap Lanczos-Filtern größenverändert werden. Die Ausgaben, d. h. größenveränderte Abbildungen, die von110 und120 erzeugt wurden, können bei130 überblendet werden. Dies kann eine einzelne überblendete Abbildung erzeugen. Bei140 können Artefakte in der überblendeten Abbildung erkannt werden. Bei150 können jegliche erkannte Artefakte korrigiert werden. Der Prozess kann bei160 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 Pixel205 gezeigt. Diese Pixel können einem Abtastfenstermodul210 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 Abtastfenstermodul210 durch ein Abtastpunktlokatormodul215 bereitgestellt werden kann. Das Abtastfenstermodul210 kann sodann zwei Pixel an bilineares Filtermodul220 bereitstellen. Das Abtastfenstermodul210 kann ebenfalls acht Pixel an ein 8-tap Lanczos-Filtermodul220 bereitstellen. Damit das Lanczos-Filtermodul225 betrieben werden kann, kann dieses Modul Filterkoeffizienten erfordern. Solche Koeffizienten können durch Koeffizientenmodul230 bereitgestellt werden. Bei der veranschaulichten Ausführungsform kann die Generation von Koeffizienten durch Modul230 Phaseninformationen verwenden, die durch Abtastpunktlokatormodul215 bereitgestellt werden. Abtastpunktlokatormodul215 kann ebenfalls Phaseninformationen an bilineares Filtermodul220 bereitstellen. - Bilineares Filtermodul
220 und Lanczos-Filtermodul225 können jeweils entsprechende größenveränderte Abbildungen an Überblendmodul240 bereitstellen. Um das Überblenden dieser Eingaben auszuführen, kann Überblendmodul240 ebenfalls lokale Inhaltsinformationen erfordern, die von lokalem Inhaltsanalysemodul245 bereitgestellt werden. Lokales Inhaltsanalysemodul245 kann die lokalen Inhaltsinformationen auf der Basis von Pixeln generieren, die von einem Abtastfenstermodul210 identifiziert werden. Diese Pixel können als das Fenster von Pixeln erachtet werden, die die Pixelkoordinate umgeben, die von Abtastpunktlokatormodul215 identifiziert wird. - Das Überblendmodul
240 kann Filterergebnisse an Ausgabemodul255 bereitstellen. Das Ausgabemodul255 kann eine skalierte Abbildung generieren, die aus Pixeln260 besteht. Um diese skalierte Abbildung zu generieren, kann sich Ausgabemodul255 auf Informationen beziehen, die von Erkennungs- und Korrekturmodul250 bereitgestellt werden. Dieses letztere Modul kann Artefakte identifizieren und korrigieren, die in der überblendeten Ausgabe von Modul240 gefunden werden. Bei der veranschaulichten Ausführungsform kann Erkennungs- und Korrekturmodul250 ebenfalls lokale Inhaltsinformationen vorteilhaft nutzen, die von lokalem Inhaltsanalysemodul245 erzeugt wurden. Die skalierte Abbildung, die aus Pixeln260 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 Abbildung310 . 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 alsyi 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, αi = max(D', D''), 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ücken410 –450 , 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 Bedingungen410 –450 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 bei480 beendet. Wenn der Ausdruck gültig ist, kann der Prozess bei420 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 bei480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei430 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 bei480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei440 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 bei480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei450 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)]}
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 bei480 beendet werden. Wenn der Ausdruck gültig ist, kann der Prozess bei460 fortfahren. Bei460 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
410 –440 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 von450 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 in5 veranschaulicht. System500 kann einen Prozessor520 und einen Speicherkörper510 beinhalten, der ein oder mehr computerlesbare Medien beinhalten kann, die Computerprogrammlogik540 speichern können. Speicher510 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. Prozessor520 und Speicher510 können unter Verwendung einer von vielen Technologien, die einem Fachmann bekannt sind, wie z. B. einem Bus, in Kommunikation stehen. In Speicher510 enthaltene Computerprogrammlogik kann von Prozessor520 gelesen und ausgeführt werden. Ein oder mehr I/O-(Eingabe-/Ausgabe)-Ports und/oder I/O-(Eingabe-/Ausgabe)-Geräte, kollektiv als I/O530 gezeigt, können ebenfalls mit Prozessor520 und Speicher510 verbunden sein. - Computerprogrammlogik kann Module
550 und560 beinhalten, gemäß einer Ausführungsform. Überblendlogik550 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 -korrekturlogik560 kann für das Auswerten von Pixeln verantwortlich sein, die von Überblendlogik550 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 auf4 beschrieben. Logik560 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)
- 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.
- 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. - 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 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. - 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.
- 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)]} |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), - 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.
- 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.
- 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. - 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. 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. - 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, - 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)]} |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), - 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.
- 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.
- 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. - 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 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. - 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 - 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)]} |yi L – yi B|/(yi L + yi B) > f6(Xi-3, Xi-2, ..., Xi3, Xi4), - 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.
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)
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)
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 |
-
2010
- 2010-03-05 US US12/718,033 patent/US8249395B2/en active Active
-
2011
- 2011-02-21 GB GB1102996.4A patent/GB2478401B/en active Active
- 2011-03-03 DE DE102011012920A patent/DE102011012920A1/de active Pending
- 2011-03-04 CN CN201110060574.4A patent/CN102194214B/zh active Active
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 |