-
HINTERGRUND DER ERFINDUNG
-
Die vorliegende Erfindung betrifft im Allgemeinen digitale Bildverarbeitung und im Besondern Interpolationsverfahren, die zum räumlichen und/oder zeitlichen Skalieren von Videosequenzen verwendet werden.
-
Digitales Video wird typischerweise repräsentiert als eine Serie von Bildern oder Rahmen (bzw. Frames), von denen jedes bzw. jeder ein Feld aus Pixeln (bzw. Bildelementen) enthält. Jedes Pixel enthält Informationen, derart wie Intensitäts- und/oder Farbinformationen. Wenn die Bildrahmen im Raum, in der Zeit oder sowohl im Raum und der Zeit skaliert werden, fehlen Informationen für neue Pixel und Werte für solche Pixel müssen aus Eingabepixelwerten interpoliert werden.
-
In verschiedenen Hochauflösungsbildprozessoren, wie z. B. offengelegt in
WO 2007/115583 A1 , wird ein Satz von Richtungskandidaten für jeden Ausgangspixel berücksichtigt. Jeder Richtungskandidat ist einem richtungsabhängigen Interpolatorkandidat zugeordnet, der verwendet wird, um einen Verlustwert basierend auf Eingangspixelwerten in der Umgebung des Ausgangspixels zu berechnen. Eine Standardentscheidung zum Ableiten des Endpixelwerts besteht im Auswählen der Richtung mit dem kleinsten Verlustwert. Der Ausgangspixelwert wird dann unter Verwendung des richtungsabhängigen Interpolators, welcher der ausgewählten Richtung zugeordnet ist, berechnet.
-
Eine derartige Standardumsetzung hat Nachteile.
-
Zum Beispiel kann es im Fall von Ecken, in denen im Wesentlichen verschiedene Richtungen mit Verlustwerten gleicher Größe wettstreiten, abrupte Wechsel von einer Entscheidung zu einer anderen Entscheidung geben. Dies führt dazu, dass in den Ausgangsbildern Diskontinuitäten auftreten. Struktur, die es in den Eingabebildern nicht gab, kann außerdem sichtbar werden und durch den Betrachter als Artefakte wahrgenommen werden. Diese Art von Problem kann es bei 2D(Stand-)Bildern oder bei 3D(Video-)Sequenzen geben.
-
Eine andere Art von Problem wird mit Standardinterpolationstechniken im Falle von Videosequenzen angetroffen, die Einblendungs- oder Ausblendungseffekte aufweisen. Der Interpolationsprozessor kann inkonsistente Entscheidungen während der Einblendungs- oder Ausblendungszeit treffen, und von einer Entscheidung zu einer anderen wechseln. In diesem Fall kann sich die Form des interpolierten Bildes einfach mit einer Änderung des Kontrasts ändern, was für den Betrachter befremdlich erscheint.
-
Daher besteht Bedarf an Interpolationsverfahren, die diverse Artefakte vermeiden, die bei bestehenden Verfahren zu sehen sein können.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es wird ein Bildinterpolationsverfahren vorgeschlagen, welches aufweist:
- – Empfangen eines Eingangssignals mit Pixelwerten auf einem Eingangsgitter;
- – für ein Pixel auf einem Ausgangsgitter, welcher sich nicht auf dem Eingangsgitter befindet, Bestimmen eines jeweiligen Verlustwerts für einen jeden einer Vielzahl von Interpolatorkandidaten durch Analysieren der Pixelwerte des Eingangsgitters entlang einer Richtung, die dem Interpolatorkandidaten zugeordnet ist;
- – Auswählen wenigstens eines Interpolators der Vielzahl von Interpolatorkandidaten für das besagte Pixel des Ausgangsgitters durch Minimieren des Verlustwerts; und
- – Bestimmen eines Ausgangspixelwerts für das besagte Pixel des Ausgangsgitters.
-
Wenigstens zwei Interpolationsmodi werden vorgeschlagen, welche aufweisen:
- • einen ersten Modus, bei dem ein Interpolator durch Minimieren des Verlustwerts ausgewählt wird und der Ausgangspixelwert als ein interpolierter Wert bestimmt wird, der durch lokales Anwenden des ausgewählten Interpolators auf Pixelwerte des Eingangsgitters erhalten wird; und
- • einen zweiten Modus, bei dem mehr als ein Interpolator durch Minimieren des Verlustwerts ausgewählt wird und der Ausgangspixelwert als eine gedichtete Summe einer Vielzahl von interpolierten Werten bestimmt wird, die jeweils durch lokales Anwenden der ausgewählten Interpolatoren auf Pixelwerte des Eingangsgitters erhalten werden.
-
Ein Glättungsentscheidungsplan kann so gebildet werden, um die besten Kandidaten in dem zweiten Modus unter Verwendung von Gewichten zu kombinieren, d. h. typischerweise, wenn der Vergleich der Verluste nicht einen eindeutigen Gewinner ergibt. Die Berechnungsregel zum Bestimmen dieser Gewichte kann derart ausgelegt werden, dass der Entscheidungsplan (oder der Gewichtsvektor, der allen Kandidaten zugeordnet wird) eine Glättungsfunktion des Eingangsbilds ist. Auf diese Weise werden Wechseln sowie die zugeordneten Artefakte vermieden.
-
Das Verfahren ist generisch und auf beliebige Interpolationssysteme anwendbar, die erdacht wurden, um eine adaptive Interpolation abhängig von den Bildinhalten durchzuführen und zwischen den unterschiedlichen Interpolationskandidaten zu vermitteln, indem jeder Richtung ein Verlust zugeordnet wird. Es wird typischerweise auf Interpolationen von Videosequenzen angewendet, aber kann auch auf 2D-Bilder angewendet werden.
-
In einem Ausführungsbeispiel wird die Summe der Vielzahl von interpolierten Werten in dem zweiten Modus durch Koeffizienten, die ungleich Null sind, gewichtet, die als homogene Funktionen des Grades 0 der Pixelwerte des Eingangssignals bestimmt werden. Der Entscheidungsplan ist dann invariant im Hinblick auf eine Kontraständerung in dem Eingangsbild, sodass Artefakte, die sonst auftreten könnten, z. B. bei Einblende- oder Ausblendevideosequenzen, vermieden werden.
-
Die Vielzahl von Interpolatorkandidaten kann aufweisen einen Rückfallinterpolator mit einer günstigen Verzerrung (bias) bei der Bestimmung des Ausgangspixelwerts. Insbesondere, wenn der Verlustwert, der für den Rückfallinterpolator bestimmt wird, unter den Interpolatorkandidaten für ein Pixel des Ausgangsgitters minimal ist, kann der Rückfallinterpolator ausgewählt werden und das erste Interpolationsmodus wird dann für dieses Pixel des Ausgangsgitters verwendet.
-
In einem Ausführungsbeispiel weist Bestimmen des Ausgangspixelwerts für das Pixel des Ausgangsgitters in dem zweiten Modus auf:
- – Berechnen eines jeweiligen Verzerrungswerts für jedes Paar von Interpolatoren unter den Interpolatoren, die durch Minimieren des Verlustwerts ausgewählt wurden; und
- – Berechnen jeweiliger Mischgewichte für die ausgewählten Interpolatoren als Funktionen der Verzerrungswerte zur Verwendung bei der gewichteten Summe.
-
Der Verzerrungswert für ein Paar ausgewählter Interpolatoren kann berechnet werden als eine Funktion der Verlustwerte, die jeweils den ausgewählten Interpolatoren des Paars zugeordnet sind, und der interpolierten Werte, die jeweils durch lokales Anwenden der ausgewählten Interpolatoren des Paars erhalten wurden. Wo die Vielzahl der Interpolatorkandidaten wenigstens einen Rückfallinterpolator und eine Vielzahl von Nicht-Rückfallinterpolatoren aufweist, kann die Berechnung der Verzerrungswerte durchgeführt werden mit dem Verlustwert, der einem ausgewählten Nicht-Rückfallinterpolator zugeordnet ist, der ist wie bestimmt durch Analysieren der Pixelwerte des Eingangsgitters entlang der Richtung, die dem Nicht-Rückfallinterpolator zugeordnet ist, während der Verlustwert, der dem Rückfallinterpolator zugeordnet ist, der größte der Verlustwerte ist, die durch Analysieren der Pixelwerte des Eingangsgitters entlang der Richtungen, die jeweiligen Interpolatoren der Vielzahl von Interpolatorkandidaten zugeordnet sind, die nicht ausgewählte Nicht-Rückfallinterpolatoren sind, bestimmt wurden.
-
Die Verzerrungswerte sind bevorzugt homogene Funktionen vom Grad 0 der Pixelwerte des Eingangssignals. Zum Beispiel kann der Verzerrungswert β
Y/Z für ein Paar der ausgewählten Interpolatoren, die den jeweiligen Interpolationsrichtungen Y und Z zugeordnet sind, definiert werden als:
wobei L
Y und L
Z jeweilige Verlustwerte sind, die den ausgewählten Interpolatoren zugeordnet sind, die den Richtungen Y und Z zugeordnet sind, und J
Y und J
Z die interpolierten Werte sind, die jeweils durch lokales Anwenden der ausgewählten Interpolatoren, die den Richtungen Y und Z zugeordnet sind, erhalten wurden. Falls ein Rückfallinterpolator, der einer Richtung F zugeordnet ist, und eine Anzahl M von Nicht-Rückfallinterpolatoren, die jeweiligen Richtungen D1, ..., DM zugeordnet sind, für ein Pixel des Ausgangsgitters (M ≥ 1) ausgewählt sind, kann Berechnen der Mischgewichte für die ausgewählten Interpolatoren aufweisen Berechnen eines Gewichts W
Di einen Nicht-Rückfallinterpolator, der einer Richtung D
i (1 ≤ i ≤ M) zugeordnet ist, als:
und das Gewicht W
F für den Rückfallinterpolator als:
wobei σ eine zunehmende Funktion mit Werten zwischen 0 und 1 derart ist, dass σ(β) = 0 für β ≤ 0 ist, und τ eine zunehmende Funktion mit Werten zwischen 0 und 1 derart ist, dass τ(–β) = 1 – τ(β) für jeden Wert von β ist.
-
Ein weiterer Aspekt der Erfindung betrifft eine Bildinterpolationseinrichtung aufweisend:
- – einen Eingang zum Aufnehmen eines Eingangssignals mit Pixelwerten auf einem Eingangsgitter;
- – eine Analyseeinrichtung zum Bestimmen eines jeweiligen Verlustwerts für ein Pixel eines Ausgangsgitters, der sich nicht auf dem Eingangsgitter befindet, und für jeden einer Vielzahl von Interpolatorkandidaten durch Analysieren der Pixelwerte des Eingangsgitters entlang einer Richtung, die dem Interpolatorkandidat zugeordnet ist;
- – einer Auswahleinrichtung zum Auswählen wenigstens eines Interpolators der Vielzahl von Interpolatorkandidaten für das Pixel des Ausgangsgitters durch Minimieren des Verlustwerts; und
- – eine Interpolationseinheit zum Bestimmen eines Ausgangspixelwerts für das Pixel des Ausgangsgitters.
-
Die Interpolationseinheit weist wenigstens den ersten und zweiten Interpolationsmodus wie oben erwähnt auf.
-
Noch ein weiterer Aspekt der Erfindung betrifft ein Computerprogrammprodukt mit einem computerlesbaren Medium mit einem darauf gespeicherten Programm, welches Programmbefehle aufweist, die angepasst sind, um, wenn geladen in und ausgeführt auf einem Prozessor, den Prozessor veranlasst, die Schritte des Bildinterpolationsverfahrens wie oben definiert umzusetzen.
-
Andere Merkmale und Vorteile des Verfahrens und der Vorrichtung, die hier offengelegt werden, werden anhand der folgenden Beschreibung der nicht beschränkenden Ausführungsbeispiele mit Bezug auf die angefügten Zeichnungen verständlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm einer Interpolationseinrichtung gemäß einem Ausführungsbeispiel der Erfindung.
-
2A–B sind Graphen von σ-Funktionen, die in Umsetzungen des Interpolationsverfahrens verwendbar sind.
-
3A–B sind Graphen von τ-Funktionen, die in Umsetzungen des Interpolationsverfahrens verwendbar sind.
-
4 ist ein Blockdiagramm einer Videoverarbeitungsvorrichtung, die eine Einrichtung gemäß der Erfindung aufweisen kann.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE
-
Bildinterpolationsverfahren bestehen hauptsächlich im Berechnen eines Ausgangsbildfeldes I(X, t), wobei (X, t) über ein Ausgangsgitter definiert ist, als eine Skalierung eines Eingangsbildfeldes I(X', t'), wobei (X', t') über ein Eingangsgitter definiert ist. Ein Bildelement bzw. Pixel (X, t) besitzt einen Ort, der durch zwei räumliche Koordinaten x, y entlang horizontaler und vertikaler Richtungen, d. h. X = (x, y), und einen Zeitindex t definiert ist. Wenn nur ein Bild betrachtet wird, kann der Zeitindex t weggelassen werden. Für jeden Pixel ist ein Pixelwert als ein Realwert definiert, der ein Grauskalenwert oder eine Koordinate in einem Farbkoordinatensystem, wie beispielsweise RGB, YCbCr etc. sein kann.
-
Das Skalieren kann entlang der räumlichen Koordinaten (Skalieren, Deinterlacing bzw. Zeilenentflechtung) oder entlang der Zeit (Bild- bzw. Frame-Ratenwandlung) oder beidem sein.
-
Für jedes zu berechnende Ausgangspixel (X, t) (oder eine Gruppe davon) wird ein Satz von Richtungskandidaten D = {Di}i=1,...,imax betrachtet. Der Satz kann für jedes Pixel (oder eine Gruppe davon) unterschiedlich sein. Um die Erläuterungen unten zu vereinfachen, sei angenommen, dass der Satz immer der gleiche ist. Fachleute können leicht eine Abwandlung finden, bei welcher der Satz D von einem Pixel (S, t) zu dem nächsten verschieden ist.
-
Jeder Richtungskandidat D
i ist gewöhnlich ein Vektor mit 2 oder 3 Koordinaten, abhängig davon, ob die betrachtete Interpolation rein räumlich oder in Raum und Zeit erfolgt. Im in der
WO 2007/115583 A1 offengelegten Fall ist der Vektor dreidimensional. Ein Beispiel, bei dem der Vektor zweidimensional ist, ist in der parallel anhängigen Anmeldung
PCT/EP2011/053508 offengelegt.
-
Einrichtungsabhängiger Interpolator oder Interpolatorkandidat ist jedem Richtungskandidat D
i zugeordnet. Jeder richtungsabhängige Interpolator ist eine andere (oder potenziell andere) Funktion F
i der Werte I(X', t') das Pixel (X', t') des Eingangsbildfeldes, welche Nachbarn des Ausgangspixels (X, t), der betrachtet wird, sind. Zum Beispiel kann der Interpolator einfach eine Form wie z. B.
annehmen, wobei K
i eine Kernfunktion entlang der Richtung D
i ist.
-
Eine Verlustfunktion ist auch jedem Richtungskandidaten Di zugeordnet. Sie kann direkt aus Eingangspixelwerten in einer Nachbarschaft des Ausgangspixels berechnet oder nach einer Berechnung des interpolierten Werts Ji(X, t) durch den korrespondierenden Interpolatorkandidat Fi erhalten werden. Die Verlustfunktion gibt einen Verlustwert Li(X, t) für jedes Pixel (X, t) und jeden Richtungskandidaten Di aus.
-
In der Praxis sind die üblichen Verlustfunktionen homogen vom Grad 1. Dies gilt für die Verlustfunktionen, die in
WO 2007/115583 A1 und in der parallel anhängigen Anmeldung
PCT/EP2011/053508 offenbart sind, die typischerweise verwendet werden können, wenn das vorliegende Verfahren ausgeführt wird. So, wenn das Eingangsbild I(X', t') ersetzt wird durch etwas der Art α + β × I(X', t'), wobei α und β zwei Konstanten sind, dann werden die Verlustwerte L
i(X, t) ersetzt durch β × L
i(X, t). Sie sind nicht empfindlich für Offsets im Bild, aber skalieren in Proportion zu der Erhöhung im Kontrast.
-
Einige bestimmte Richtungen Di (gewöhnlich eine, aber es können mehr sein) werden als ”Rückfall”-Richtungen bezeichnet. Sie entsprechen den Interpolatoren mit ”kleinstem Risiko” unter den Interpolatorkandidaten. Zum Beispiel entspricht dies im Fall des Deinterlacing einer einfachen Vertikalinterpolation, die gewöhnlich den Spitznamen ”BOB”-Skalierung hat. Im Falle einer Rahmen- bzw. Frame-Ratenwandlung kann es Interpolation entlang der Zeitachse sein, d. h. unter der Annahme von keiner Bewegung, wobei Pixel von einem oder zwei nächsten Eingangs-Rahmen verwendet werden.
-
Rückfallinterpolatoren entsprechen einer akzeptierten Grundlinie, die eine begrenzte Qualität bereitstellt, aber selbst im schlimmsten Fall kein abnormes oder hässliches Ergebnis produziert. Die Ambition beim Finden von adaptiven Interpolationssystemen liegt darin, Regionen in den Ausgangsbildern zu finden, in denen Nicht-Rückfallinterpolation angewendet werden kann. Wenn die Entscheidung korrekt getroffen wird, haben die Ergebnisse eine höhere Qualität. Wenn die Entscheidung falsch getroffen wird, können Artefakte sichtbar sein.
-
Gewöhnlich gibt es einen einzelnen Rückfallinterpolator. In bestimmten Fällen kann er verschiedenen Richtungen und verschiedenen Verlustfunktionen zugeordnet sein. Zum Beispiel kann in dem Fall, der in der parallel anhängigen Anmeldung
PCT/EP2011/053508 beschrieben ist, der einzelne Rückfallinterpolator zwei Richtungen zugeordnet sein, die jeweils einer jeweiligen Verlustfunktion zugeordnet sind: rein horizontal und rein vertikal.
-
Eine übliche Umsetzung eines adaptiven Interpolators ist es, für jedes Pixel, den Interpolatorkandidat auszuwählen, der am geeignetsten ist, d. h. der den kleinsten Verlustwert bereitstellt. Eine derartige Strategie hat jedoch den Nachteil, dass sie in einigen bestimmten Zusammenhängen abrupt von einem Pixelwert zu einem anderen bei nur sehr leichten Änderungen am Eingangsbild wechseln kann. Das Ausgangspixel ist dann eine nicht kontinuierliche Funktion des Eingangsbilds.
-
Beim vorliegenden Verfahren wird ein derartig unregelmäßiges Verhalten vermieden durch Berechnen eines interpolierten Pixels in bestimmten Fällen als eine Kombination von Werten, die mit richtungsabhängigen Interpolatoren berechnet werden, die gemäß dem zugeordneten Verlust ausgewählt sind.
-
Ein Blockdiagramm einer Bildinterpolationseinrichtung gemäß einem Ausführungsbeispiel der Erfindung ist in 1 gezeigt. Eine Analyseeinrichtung 10 empfängt die Pixelwerte I(X', t'), die in dem Eingangsgitter definiert sind, und berechnet, für ein bestimmtes Ausgangspixel bei (X, t) (oder eine Gruppe von Ausgangspixel) die Verlustwerte Li(X, t), die jeweils den Richtungskandidaten Di und Interpolatorkandidaten Fi zugeordnet sind. Eine Auswahleinrichtung 11 führt eine Minimierung der Verlustwerte für das Pixel (X, t) durch, um eine Anzahl N der Richtungen Di1, Di2, ..., DiN auszuwählen. Im Prinzip wird der Richtungskandidat ausgewählt, für den der Verlustwert am geringsten ist. Eine oder mehrere andere Richtungen können auch ausgewählt werden, gemäß den Regeln, die weiter unten beschrieben werden.
-
Ein Interpolator 12 berechnet die interpolierten Pixelwerte Ji1(X, t), Ji2(X, t), ..., JiN(X, t) durch Anwenden der Interpolatoren Fi1, Fi2, ..., FiN, die den ausgewählten Richtungen Di1, Di2, ..., DiN zugeordnet sind. Der Interpolator 12 kann nicht stromabwärts von der Auswahleinrichtung 11 angeordnet sein, wenn die interpolierten Pixelwerte bereits durch Anwenden der Interpolatorkandidaten berechnet sind, wenn die Verlustwerte in der Analyseeinrichtung 10 ausgewertet werden.
-
Der Ausgangspixelwert I(X, t) wird letztlich durch eine Kombinationseinheit 13 als eine gewichtete Summe der interpolierten Pixelwerte Ji1(X, t), ..., JiN(X, t) erhalten. Die Gewichte werden durch eine Einheit 14 als eine Funktion der Verlustwerte Li1(X, t), ..., LiN(X, t) berechnet, die durch die Auswahleinrichtung 11 und von den interpolierten Pixelwerten Ji1(X, t), ..., JiN(X, t) minimiert werden.
-
Die Bildinterpolationseinrichtung weist eine Vielzahl von Interpolationsmodi auf mit einem ersten Modus, in dem N = 1 und einem zweiten Modus, in dem N > 1 ist. Der Interpolationsmodus wird unabhängig für jedes Ausgangspixel (oder eine Gruppe von Ausgangspixel) ausgewählt.
-
Der erste Modus wird ausgewählt, wenn die Auswahleinrichtung 11 beobachtet, dass, für ein Ausgangspixel (X, t), einer der Richtungskandidaten ein klarer Gewinner beim Minimierungsprozess ist. Dies kann z. B. auftreten, wenn der Verlustwert durch einen Rückfallinterpolator FF minimiert wird. In solch einem Fall wird der Rückfallinterpolator ausgewählt und stellt direkt den Ausgangspixelwert I(X, t) = JF(X, t) zur Verfügung. Mit anderen Worten besitzt der Rückfallinterpolator ein Gewicht 1, während die anderen Interpolatoren angenommen werden können, als wenn sie ein Gewicht 0 in der Kombinationseinheit 13 für das Ausgangspixel (X, t) besäßen. Der erste Modus kann auch ausgewählt werden, wenn ein richtungsabhängiger Nicht-Rückfallinterpolator den Verlustwert mit einer relativ großen Spanne minimiert.
-
In einem ersten Ausführungsbeispiel beträgt in dem zweiten Interpolationsmodus N = 2. Für jedes Zielpixel (X, t) werden ein bester Nicht-Rückfallinterpolator FD und ein bester Rückfallinterpolator FF ausgewählt, jeder mit einem jeweiligen Verlustwert LD, LF, wie folgt:
- – der beste Nicht-Rückfallinterpolator FD, der einen interpolierten Pixelwert JD = JD(X, t) bereitstellt, ist der richtungsabhängige Nicht-Rückfallinterpolator, welcher der Richtung D mit dem kleinsten Verlustwert LD = LD(X, t) zugeordnet ist, wie durch den Auswahleinrichtung 11 identifiziert;
- – der Rückfallinterpolator FF, der einen interpolierten Pixelwert JF = JF(X, t) zur Verfügung stellt, ist der Rückfallinterpolator und der zugeordnete Verlustwert LF ist der kleinste Verlustwert für das Pixel (X, t) unter allen Rückfall- und Nicht-Rückfallrichtungen, die von der Richtung D unterschiedlich sind.
-
Dies stellt eine günstige Verzerrung für den Rückfallinterpolator dar, der dem besten (kleinsten) Verlustwert aller Richtungen, die mit D wettstreiten, zugeordnet ist, anstelle eines einfach dem besten Verlust unter allen Rückfallrichtungen zugeordnet zu sein.
-
Eine Verzerrung zwischen den zwei Interpolatoren F
D und F
L wird dann durch die Gewichtsberechnungseinheit
14 wie folgt bestimmt:
Die Verzerrung β
D/F misst, wie viel besser die Richtung D als die Rückfalllösung beim Pixel (X, t) ist. Die Verzerrungsfunktion ist eine homogene Funktion vom Grad 0 des Eingangsbildes. Sie ist daher invariant im Hinblick auf ein Skalieren oder einen Offset des Bildes. Die Mischgewichte können aus dem Verzerrungswert β
D/F durch Anwenden einer sigma-Profilfunktion bestimmt werden:
WD = σ(βD/F) (2) WF = 1 – σ(βD/F) (3)
-
Der Endpixelwert I(X, t) ist dann eine Mischung der Werte von JF(X, t) und JD(X, t) mit den obigen Gewichten: I(X, t) = WD × JD + WF × JF (4)
-
Der erste Interpolationsmodus entspricht σ = 0 (Auswahl des Rückfallinterpolators) oder σ = 1 (Auswahl des Nicht-Rückfallinterpolators). Der zweite Interpolationsmodus entspricht 0 < σ < 1, wobei die Ergebnisse des Rückfall- und des Nicht-Rückfallinterpolators gemischt werden.
-
Das sigma-Profil ist eine monotone Funktion mit Werten, die sich von 0 bis 1 bewegen. Diese Funktionen haben nichtsymmetrische Graphen. Die sigma-Funktion σ(β) kann jede monotone Funktion sein, die Werte nahe oder gleich 0 für negative Werte von β und Werte nahe oder gleich 1 für größere Werte von β annimmt. Beispiele sind in 2A und 2B gezeigt, wo σ(β) = 1 für β größer als ein positiver Wert β0, während σ(β) = 0, wenn β negativ ist. Die Asymmetrie in der Definition von σ hat eine Auswirkung auf die Aushandlung zwischen der Rückfall- und der Nicht-Rückfalllösung: Der Nicht-Rückfalllösung, die einen riskanteren Kandidatenwert bereitstellt, muss ein Verlust zugewiesen sein, der deutlich günstiger ist als bei der Rückfalllösung (d. h. die Verzerrung βD/F muss größer sein als ein irgendein Wert β0), damit sein Gewicht gleich 1 ist. Insbesondere, wenn die Rückfall- und die Nicht-Rückfalllösungen auf gleicher Augenhöhe (identische Verluste) sind, wird alles Gewicht der Rückfalllösung zugeschrieben: WD = 0 und WF = 1.
-
Falls der Nenner in (1) 0 ist, ist der Wert von βD/F schlecht definiert. Dies entspricht dem Fall, in dem JF(X, t) und JD(X, t) gleich sind, und jede Mischung dieser zwei Werte wird denselben gleichen Pixelwert I(X, t) erzielen. So kann in diesem bestimmten Fall βD/F jeden Wert annehmen. Falls ein bestimmter Wert aus Umsetzungszwecken bevorzugt ist, kann dieser gewählt werden.
-
Diese Mischentscheidung kann durch Berücksichtigen einer großen Anzahl von Nicht-Rückfalllösungskandidaten verallgemeinert werden.
-
Insbesondere kann ein Verzerrungswert β
Y/Z = R
Y/Z(X, t) definiert werden, um zwei Interpolatoren Y und Z zu vergleichen, die beibehalten wurden durch die Auswahleinrichtung
11 basierend auf ihren jeweiligen Verlustwerten L
Y = L
Y(X, t) und L
Z = L
Z(X, t) und Bereitstellen interpolierter Pixelwerte J
Y = J
Y(X, t) und J
Z = J
Z(X, t) bei Pixel (X, t). Der Verzerrungswert β
Y/Z misst, wie viel Interpolieren entlang einer Richtung Y besser ist als Interpolieren entlang einer Richtung Z. Ein möglicher Ausdruck des Verzerrungswerts β
Y/Z (von dem (1) ein bestimmter Fall ist) ist:
-
Dieser Ausdruck von βY/Z ist eine homogene Funktion vom Grad 0 der Pixelwerte des Eingangssignals. In der Tat ist jeder der LY, LZ, JY und JZ eine homogene Funktion vom Grad 1 des Eingangssignals. Daher bleibt während einer Einblendungssequenz z. B. βY/Z identisch.
-
In einem zweiten Ausführungsbeispiel ist in dem zweiten Interpolationsmodus N = 2 oder 3. Drei Interpolationskandidaten werden zuerst ausgewählt:
- – zwei beste richtungsabhängige (Nicht-Rückfall)-Richtungskandidaten D1, D2 werden ausgewählt, sodass sie die kleinsten Verlustwerte bei dem Ausgangspixel (X, t) unter allen Nicht-Rückfallkandidaten aufweisen. Diese werden jeweiligen Interpolatoren FD1 und FD2 zugeordnet, die interpolierte Pixelwerte JD1 = JD1(X, t) und JD2 = JD2(X, t) bereitstellen, und deren Verlustwerte bei (X, t) als LD1 = LD1(X, t) und LD2 = LD2(X, t) mit LD1 ≤ LD2 bezeichnet sind;
- – der Rückfallinterpolator FF ist einem Verlust LF zugeordnet, welcher der kleinste Verlust bei (X, t) unter allen Rückfall- oder Nicht-Rückfallrichtungen unterschiedlich zu den Richtungen D1 und D2 ist.
-
Drei Verzerrungswerte βD1/F, βD2/F, βD1/D2 werden gemäß (5) durch die Gewichtsberechnungseinheit 14 geschätzt, welche die Gewichte ableitet: WD1 = σ(βD1/F) × τ(βD1/D2) (6) WD2 = σ(βD2/F) × τ(βD2/D1) = σ(βD2/F) × [1 – τ(βD1/D2) (7) WF = 1 – WD1 – WD2 (8) wobei τ eine Funktion ist, die Werte nahe oder gleich 0 für große negative Werte von β und Werte nahe oder gleich 1 für große positive Werte von β annimmt, mit der Symmetrieeigenschaft: τ(–β) = 1 – τ(β). Zwei Beispiele der Funktion τ sind in den 3A und 3B gezeigt.
-
Der Endpixelwert bei (X, t) kann dann durch die Kombinationseinheit 13 erhalten werden als: I(X, t) = WD1 × JD1 + WD2 × JD2 + WF × JF (9)
-
Es ist zu sehen, dass wenn LF ≤ LD2, die Richtung D2 verworfen (WD2 = 0) und das zweite Ausführungsbeispiel ähnlich dem ersten Ausführungsbeispiel wird, das vorstehend beschrieben wurde, mit N = 1, wenn LF ≤ LD1 und N = 2, wenn LD1 < LF (oder identisch dem ersten Ausführungsbeispiel, wenn die Funktion τ definiert ist als τ(β) = 0 für β ≤ 0 und τ(β) = 1 für β > 0). Andererseits, wenn LF größer als sowohl LD1 und LD2 ist, werden drei interpolierte Pixelwerte gemischt (N = 3).
-
Um die vorstehenden Beispiele auf potenziell mehr Interpolatoren zu verallgemeinern, können wir N = 2, 3, ... oder M + 1 in dem zweiten Interpolationsmodus haben. Eine Anzahl M + 1 (M ≥ 1) von Interpolatoren wird dann durch die Auswahleinrichtung 11 für jedes Ausgangspixel (X, t) ausgewählt:
- – die M besten richtungsabhängigen Nicht-Rückfallinterpolatoren FD1, FD2, ..., FDM, die jeweils Richtungen D1, D2, ..., DM und Verlustwerten LD1, LD2, ..., LDM zugeordnet sind, welche die M kleinsten Verlustwerte unter allen Verlustwerten sind, die für Nicht-Rückfallkandidaten erhalten wurden, und Bereitstellen interpolierter Pixelwerte JD1 = JD1(X, t), JD2 = JD2(X, t), JDM = JDM(X, t); und
- – der beste Rückfallinterpolator FF mit dem kleinsten Verlustwert LF unter allen Rückfall- oder Nicht-Rückfallrichtungen unterschiedlich von Richtung D1, D2, ..., DM.
-
Der Endpixelwert für (X, t) kann definiert werden als:
-
Es ist klar, dass die Verallgemeinerung (10–12) von (2–4) oder (6–9) ein Beispiel bleibt, da viele andere Formeln verwendet werden können, um die Gewichte WD1, ..., WDM und WF zu berechnen.
-
Das vorstehend beschriebene Verfahren stellt eine gute Qualität der interpolierten Bilder bereit. In einer Videointerpolationseinrichtung wird die Verbesserung bei marginalen Chipflächen(Die)-Kosten mit wenig zusätzlicher Logik und nahezu keinem Speicher oder Speicherbandbreite erreicht.
-
Das Interpolationsverfahren kann umgesetzt werden unter Verwendung verschiedener Hardwareplattformen. Es ist anwendbar insbesondere, um Videosignale zu verarbeiten in anwenderspezifischen integrierten Schaltkreisen (Application Specific Integrated Circuits, ASIC) oder feldprogrammierbaren Gatterfeldern (Field Programmable Gate Arrays, FPGA). Eine Verwendung eines Mehrzweckrechners, auf dem geeignete Programme laufen, ist außerdem möglich.
-
4 zeigt die Gesamtarchitektur einer beispielhaften Verarbeitungseinrichtung
48, die verwendet werden kann, um derartige Verfahren umzusetzen, wenn die Eingangsbilder Rahmen (bzw. Frames) eines Videosignals sind. Die Eingangspixel
41, die an einem Eingangstor
42 empfangen werden, werden in einem Rahmen- bzw. Frame-Zwischenspeicher
44 gespeichert, der typischerweise als ein oder mehrere externe Speicher mit wahlfreiem Zugriff(DRAM)-Chips über eine DRAM-Schnittstelle
43 umgesetzt ist. Dann ruft ein Videoprozessor
46 Zeilen aus dem DRAM
44 durch die DRAM-Schnittstelle
43 ab, speichert sie temporär in einem Zeilenzwischenspeicher
45. Der Ausgang
49 des Prozessors
46 wird dem Ausgangstor
47 zugeführt, um zu der nächsten Einrichtung übertragen zu werden, mit der die Videoverarbeitungseinrichtung
48 verbunden ist. Alle Bildübertragungen erfolgen typischerweise in einer Rasterreihenfolge, d. h. jeder Rahmen ganze Zeile um ganze Zeile und jede Zeile eines Rahmens bzw. Frames Pixel um Pixel von links nach rechts. Der Prozessor
46 lässt Software ablaufen, die in einer geeigneten Sprache, wie im Stand der Technik üblicherweise verwendet, geschrieben ist, um digital ein Ausführungsbeispiel des vorstehend beschriebenen Interpolationsverfahrens umzusetzen. Architekturen, wie sie in
WO 2010/091930 A2 beschrieben sind, können auch verwendet werden.
-
Selbstverständlich sind die vorstehend beschriebenen Ausführungsbeispiele illustrativ für die Erfindung, die hier offenbart wurde, und es können verschiedene Modifikationen ausgeführt werden, ohne vom Bereich, wie er in den beigefügten Ansprüchen definiert ist, abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2007/115583 A1 [0003, 0028, 0031]
- EP 2011/053508 [0028, 0031, 0034]
- WO 2010/091930 A2 [0061]