Bilineare Interpolation

Bilineare Interpolation

Die Bilineare Filterung oder bilineare Interpolation ist eine Erweiterung der linearen Interpolation, um Zwischenwerte innerhalb eines zweidimensionalen, regulären Rasters zu bestimmen. Sie wird häufig als Grafikfilter zur Skalierung von Rastergrafiken und Darstellung von Texturen bei gerenderten Bildern verwendet.

Inhaltsverzeichnis

Mathematische Beschreibung

Bilineare Interpolation

Es wird angenommen, dass der Wert P = f(x,y) innerhalb einer Funktion f bestimmt werden soll. Dieser soll weiterhin von vier fixen Rasterpunkten Q11 = (x1,y1), Q12 = (x1,y2), Q21 = (x2,y1) und Q22 = (x2,y2) umgeben sein. Um den Wert P näherungsweise (durch lineare Interpolation) zu bestimmen, wird zunächst in eine festgelegte Richtung (horizontal oder vertikal, hier horizontal) zwischen den Rasterpunkten linear interpoliert. Dabei sind R1 und R2 Stützpunkte, zwischen den in horizontaler Richtung liegenden Rasterpunkten.

f(R_1) \ \approx \ \frac{x_2 - x}{x_2 - x_1} f(Q_{1 1}) + \frac{x - x_1}{x_2 - x_1} f(Q_{2 1}) \quad \text{ mit } R_1 = (x, y_1),
f(R_2) \ \approx \ \frac{x_2 - x}{x_2 - x_1} f(Q_{1 2}) + \frac{x - x_1}{x_2 - x_1} f(Q_{2 2}) \quad \text{ mit } R_2 = (x, y_2).

Nach dem gleichen Verfahren wird anschließend zwischen den Werten dieser beiden Punkte interpoliert.

f(P) \ \approx \ \frac{y_2 - y}{y_2 - y_1} f(R_1) + \frac{y - y_1}{y_2 - y_1} f(R_2).

Sind die Rasterpunkte der Funktion f in regelmäßiger Form (0,0), (0,1), (1,0) und (1,1) gegeben, so reduziert sich die Gleichung zu

f(x, y) \ \approx \ f(0, 0) (1-x) (1-y) + f(1, 0) x (1-y) + f(0, 1) (1-x) y + f(1, 1) x y.

Diese Gleichung lässt sich in Matrixschreibweise wie folgt zusammenfassen.

f(x, y) \ \approx \ \begin{bmatrix} 1-x & x \end{bmatrix} \begin{bmatrix} f(0, 0) & f(0, 1) \\ f(1, 0) & f(1, 1) \end{bmatrix} \begin{bmatrix} 1-y \\ y \end{bmatrix}

Eine Erweiterung dieses Verfahrens um eine zusätzliche dritte Dimension wird als trilineare Interpolation bezeichnet.

Anwendung in der Computergrafik

Bei bilinearer Filterung werden die der Sample-Mitte am nächsten liegenden vier Farben in jeder Achse (u und v) jeweils linear interpoliert. Dazu werden zunächst die beiden Werte zwischen den oberen und den unteren Texeln entlang der u-Achse linear interpoliert. Diese beiden Werte werden anschließend entlang der v-Achse linear interpoliert. Diese zweistufige lineare Interpolation gibt der bilinearen Interpolation ihren Namen. Die Anteile sind dabei nur von der Abtastposition abhängig, nicht jedoch von der Größe der Projektion des Pixels in den Texturraum. Dies führt zwar bei einer Minifikation (die Textur wird stark gestaucht) zu Abtastfehlern, weil zu wenige Texel beachtet werden, wirkt jedoch bei einer Maxifikation (die Textur wird stark vergrößert) glättend, da hierbei bei jedem Pixel dieselben vier Nachbartexel betrachtet, jedoch unterschiedlich gewichtet werden. Anschaulich gesprochen werden die Texel stärker gewichtet, deren Mittelpunkt näher an der Sample-Mitte liegt, wobei immer alle vier benachbarten Texel betrachtet werden.

Eine besondere Bedeutung kommt der bilinearen Filterung beim Echtzeitrendering auf modernen Grafikkarten zu. Hierbei ist die bilineare Filterung ein gebräuchliches Verfahren zum Antialiasing von Texturen. Bilineare Interpolatoren lassen sich durch kaskadierte lineare Interpolatoren schaltungstechnisch vergleichsweise einfach realisieren.

Würde man die Textur per Point Sampling skalieren, würde man die Texel als kleine Blöcke erkennen, sodass das Resultat sehr „pixelig“ und unschön wäre. Dieses Verfahren fand bei alten Computerspielen, deren Grafik rein von der CPU berechnet wurde, statt.

Grafikprogramme bieten in der Regel auch bikubische Filterung an. Dies vergrößert den Rechenaufwand erheblich, aber liefert in vielen Fällen bessere Qualität, da sich die Signalverarbeitung mit kubischer Interpolation eher am idealen Spalt-Rekonstruktionsfilter orientiert.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?
Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Interpolation (Fotografie) — Interpolation (wörtliche Übersetzung: „Zwischenrechnen“) bezeichnet in der digitalen Fotografie ein Verfahren zur Erzeugung von Bildinhalten zwischen verschiedenen Pixeln eines Bildes (Dichteinterpolation) innerhalb einzelner Pixel… …   Deutsch Wikipedia

  • Bilineare Filterung — Die Bilineare Filterung oder bilineare Interpolation ist eine Erweiterung der linearen Interpolation, um Zwischenwerte innerhalb eines zweidimensionalen, regulären Rasters zu bestimmen. Sie wird häufig als Grafikfilter zur Skalierung von… …   Deutsch Wikipedia

  • Bilineare Funktion — Im mathematischen Teilgebiet der linearen Algebra und verwandten Gebieten verallgemeinern die bilinearen Abbildungen die verschiedensten Begriffe von Produkten (im Sinne einer Multiplikation). Die Bilinearität entspricht dem Distributivgesetz bei …   Deutsch Wikipedia

  • Bilineare Abbildung — Im mathematischen Teilgebiet der linearen Algebra und verwandten Gebieten verallgemeinern die bilinearen Abbildungen die verschiedensten Begriffe von Produkten (im Sinne einer Multiplikation). Die Bilinearität entspricht dem Distributivgesetz bei …   Deutsch Wikipedia

  • Trilineare Interpolation — Trilineare Filterung oder trilineare Interpolation ist eine isotrope Interpolationsmethode, die als Texturfilter beim Rendern von 3D Computergrafik zum Einsatz kommt. Bei der Trilinearen Filterung handelt es sich um eine Erweiterung der… …   Deutsch Wikipedia

  • Lineare Interpolation — In der numerischen Mathematik bezeichnet der Begriff Interpolation eine Klasse von Problemen und Verfahren. Zu gegebenen diskreten Daten (z. B. Messwerten) soll eine kontinuierliche Funktion (die sogenannte Interpolante oder Interpolierende)… …   Deutsch Wikipedia

  • Bilineares Filtering — Die Bilineare Filterung oder bilineare Interpolation ist eine Erweiterung der linearen Interpolation, um Zwischenwerte innerhalb eines zweidimensionalen, regulären Rasters zu bestimmen. Sie wird häufig als Grafikfilter zur Skalierung von… …   Deutsch Wikipedia

  • Bilineares Filtern — Die Bilineare Filterung oder bilineare Interpolation ist eine Erweiterung der linearen Interpolation, um Zwischenwerte innerhalb eines zweidimensionalen, regulären Rasters zu bestimmen. Sie wird häufig als Grafikfilter zur Skalierung von… …   Deutsch Wikipedia

  • Skalierung (Computergrafik) — Rastergrafik in Originalgröße Rastergrafik nach zweifacher Vergrößerung mittels Pixelwiederholung In der Computergrafik und digitalen Bildbearbeitung bezeichnet Skalierung die Größenänderung eines digitalen Bildes, wobei zwischen Raster …   Deutsch Wikipedia

  • Bildinterpolation — bezeichnet die Erhöhung der Auflösung eines Bildes durch Hinzufügen neuer Bildpunkte bzw. Pixel im gesamten Bild. Für die Interpolation wird ein mathematisches Verfahren angewandt, bei dem zur Berechnung der hinzuzufügenden Bildpunkte… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”