Skalierung (Computergrafik)


In der Bildbearbeitung wird bei der Skalierung (Vergrößerung oder Verkleinerung) einer Rastergrafik die Bildauflösung geändert. Das heißt, dass aus einem vorgegebenen Bild ein neues Bild mit einer höheren beziehungsweise niedrigeren Anzahl von Bildpunkten (Pixeln) erzeugt wird.
Die Skalierung wird häufig in Benutzerschnittstellen angewandt, zum Beispiel um Vorschaubilder zu erzeugen oder bei Softwarelupen. In der 3D-Computergrafik findet die Skalierung von Bildern beim Texture Mapping Anwendung. Im Gegensatz zur verlustfreien Skalierung von Vektorgrafiken ist die Skalierung von Rastergrafiken meist mit einem sichtbaren Qualitätsverlust verbunden.
Vom Standpunkt der digitalen Signalverarbeitung ist die Skalierung von Bildern ein Beispiel für die Abtastratenkonvertierung, die Umwandlung eines diskreten Signals von einer Abtastrate (hier der örtlichen Abtastrate) in eine andere.
Skalierung durch Rekonstruktion
Bildbearbeitungsprogramme bieten üblicherweise mehrere Skalierungsmethoden an. Die am häufigsten unterstützten Verfahren – Pixelwiederholung, bilineare und bikubische Interpolation – skalieren das Bild durch Rekonstruktion mittels eines Rekonstruktionsfilters.
Allgemeines
Bei der Skalierung muss das vorgegebene Bildraster auf ein unterschiedlich großes Ausgaberaster übertragen werden. Die Skalierung lässt sich daher anschaulich darstellen, indem über das Pixelraster des Eingabebildes das Pixelraster des zu berechnenden Ausgabebildes gelegt wird. Jedem Pixel des Ausgabebildes wird ein Farbwert zugewiesen, der aus den in der Nähe liegenden Pixeln des Eingabebildes berechnet wird. Der verwendete Rekonstruktionsfilter bestimmt, welche Pixel des Eingabebildes zur Berechnung herangezogen werden, und wie ihre Farbwerte gewichtet werden.

1) Eingabebild; die Pixel sind hier als Kreise dargestellt.
2) Das Pixelraster des Ausgabebildes, hier als gelbe Kreuze dargestellt, wird über das Eingabebild gelegt.
3) Die Farbwerte des Ausgabebildes werden aus den nahegelegenen Pixeln des Eingabebildes berechnet.
4) Ausgabebild.

Bei der Skalierung durch Rekonstruktion wird über jedes Pixel des Ausgabebildes ein zweidimensionaler Rekonstruktionsfilter gelegt. Der Farbwert berechnet sich als Summe der Farbwerte der vom Träger des Rekonstruktionsfilters überlappten Pixel des Eingabebildes, gewichtet durch den Wert des Rekonstruktionsfilters an diesen Pixeln. Diese Operation ist eine Faltung.
Üblicherweise nehmen Rekonstruktionsfilter mit zunehmender Entfernung vom Mittelpunkt ab. Dadurch werden nahe am Ausgabepixel gelegene Farbwerte stärker, und weiter entfernter liegende schwächer gewichtet. Die Größe des Trägers eines Rekonstruktionsfilters bemisst sich bei der Vergrößerung am Raster des Eingabebildes und bei der Verkleinerung am Raster des Ausgabebildes.
Manche Rekonstruktionsfilter weisen negative Teilbereiche auf; solche Filter führen zu einer Schärfung des Bildes ähnlich der Unscharfmaskierung. Dabei können Farbwerte außerhalb des erlaubten Wertebereichs entstehen, die dann üblicherweise auf den minimalen bzw. maximalen Wert gesetzt werden. Außerdem muss berücksichtigt werden, dass an den Bildrändern weniger Pixel vom Rekonstruktionsfilter überlappt werden als im restlichen Bild. Um dunkle Pixel an den Bildrändern zu verhindern, muss der Filter hier renormalisiert werden. Dabei wird der ermittelte Farbwert des Ausgabebildes durch die Summe der Werte des Rekonstruktionsfilters an den überlappten Pixeln des Eingabewertes geteilt. Eine weitere Möglichkeit besteht darin, für außerhalb des Bildes fallende Punkte den nächstgelegenen Farbwert am Rand des Bildes zu verwenden.
Konstruktion zweidimensionaler Filter
Beim Vergleich unterschiedlicher Rekonstruktionsfilter können zunächst die eindimensionalen Filter betrachtet werden. Rekonstruktionsfilter, die als Polynome definiert sind, werden auch Splines genannt. Weitere bekannte Filter sind der Lanczos-Filter und der Gauß-Filter.
Es gibt zwei Möglichkeiten, wie aus einem eindimensionalen Rekonstruktionsfilter ein zweidimensionaler erzeugt werden kann, nämlich durch radiale Symmetrie und durch Separation.
- Konstruktion durch radiale Symmetrie
- Ein zweidimensionaler, radial symmetrischer Rekonstruktionsfilter kann als Rotationsfläche eines eindimensionalen Filters erzeugt werden. Dabei hängt der Filterwert alleine von der Entfernung vom Mittelpunkt ab. Um radial symmetrische Rekonstruktionsfilter anzuwenden, muss daher der euklidische Abstand zu den Pixeln des Eingabebildes berechnet werden. Radial symmetrische Filter führen zu Abtastfrequenz-Welligkeit: bei der Vergrößerung einer einfarbigen Fläche können die Farbwerte von Pixel zu Pixel variieren, es sei denn, bei jedem Pixel wird der Filter renormalisiert.
- Konstruktion durch Separation
- Bei den meisten Skalierungmethoden werden separable Filter mit quadratischem Träger verwendet. Bei separablen Filtern kann die Berechnung mittels zweidimensionalem Filter durch eine Reihe von Interpolationen mit einem eindimensionalen Rekonstruktionsfilter ersetzt werden. Hierbei wird zunächst in einem Zwischenschritt für jede der vom Filter überlappten Bildzeilen der interpolierte Punkt an der x-Koordinate des Ausgabepixels berechnet. Anschließend wird aus den so erzeugten vertikalen Punkten der interpolierte Farbwert am Ausgabepixel berechnet.
- Separable Filter führen zu Anisotropie: Bildartefakte, die durch separable Filter entstehen, sind nicht isotropisch (in alle Richtungen gleichmäßig) verteilt, sondern bevorzugt horizontal und vertikal ausgerichtet. Da bei separablen Filtern nur eine Folge von eindimensionalen Interpolationen durchgeführt werden muss und keine euklidischen Abstände berechnet werden, sind sie schneller zu berechnen als radial symmetrische Filter.
Der Gauß-Filter ist der einzige radial symmetrische Rekonstruktionsfilter, der zugleich separabel ist. Bei allen anderen Filtern führt die separable und die radial symmetrische Erzeugung zu unterschiedlichen Ergebnissen.
Verfahren
Pixelwiederholung
Bei der Pixelwiederholung, auch Nearest neighbor („nächster Nachbar“) genannt, wird jedem Pixel des Ausgabebildes der Farbwert des nächstgelegenen Pixels des Eingabebildes zugewiesen. Die Verkleinerung von Bildern mit dieser Methode kann zu starken Alias-Effekten führen, die sich als Bildartefakte äußern. Bei der Vergrößerung mittels Pixelwiederholung kommt es zu einer klötzchenartigen, „pixeligen“ Darstellung.
Die Pixelwiederholung entspricht der Rekonstruktion mit einem 1×1 Pixel großen Box-Filter. Ein solcher Filter überlappt nur ein Pixel des Eingangsbildes, nämlich das nächstgelegene.

Bilineare Interpolation

Bei der bilinearen Interpolation wird der Farbwert eines Pixels des Ausgabebildes aus den vier benachbarten Farbwerten des Eingabebildes interpoliert.
Dieser Filter ist separabel und kann als eine Reihe von Interpolationen mit einem eindimensionalen Rekonstruktionsfilter (dem Dreiecksfilter) berechnet werden. Dabei wird erst für jede der zwei beteiligten Bildzeilen ein interpolierter Farbwert berechnet, und anschließend wird zwischen diesen beiden vertikalen Punkten interpoliert. Nach dieser Methode berechnet sich der Farbwert des Ausgabepixels wie folgt:
Die bilineare Interpolation entspricht der Rekonstruktion mit einem Filter der Funktionsgleichung für und in .

Bikubische Interpolation
Bei der bikubischen Interpolation wird ein Farbwert des Ausgabebildes aus den benachbarten Farbwerten des Eingabebildes mittels kubischen Splines interpoliert. Es gibt mehrere gebräuchliche kubische Splines mit unterschiedlichen Eigenschaften; der Begriff „bikubische Interpolation“ ist daher mehrdeutig.
Das Bildbearbeitungsprogramm GIMP (Version 2.7) verwendet Catmull-Rom-Splines. Bei diesem Spline-Typ kommt es zum Überschwingen der Farbwerte an Kanten, was sich als Schärfung des Bildes äußert. Das Bildbearbeitungsprogramm Paint.NET (Version 3.36) hingegen verwendet kubische B-Splines, welche zu einer verschwommeneren Darstellung führen. Catmull-Rom-Splines sind außerdem nur -glatt, während kubische B-Splines -glatt sind.[1] Beide Programme verwenden die separable Variante des zweidimensionalen Rekonstruktionsfilters mit 4×4 Pixel großem Träger.
Wie auch bei der bilinearen Interpolation kann der zweidimensionale Filter durch eine Reihe von Interpolationen mit einem eindimensionalen Filter ersetzt werden. Catmull-Rom- und B-Splines sind Spezialfälle aus der Familie der Mitchell-Netravali-Filter, auch BC-Splines genannt. Aus den Farbwerten der vier benachbarten Pixel , , , berechnet sich der Farbwert folgendermaßen:
liegt hierbei zwischen und ; ist der Abstand zwischen und .
Bei Catmull-Rom-Splines sind die Parameter (B=0, C=½), bei kubischen B-Splines (B=1, C=0). Die Entwickler der Mitchell-Netravali-Filter empfahlen (B=⅓, C=⅓).[2]


Skalierung durch Super-Resolution-Verfahren
Neben der Skalierung durch Rekonstruktion gibt es so genannte Single-Image-Super-Resolution-Verfahren. Diese aufwändigen Methoden versuchen, durch eine Analyse von Beispielbildern in verschiedenen Auflösungen statistische Informationen zu ermitteln, die bei der Skalierung angewandt werden. Eine andere Technik ist die Erkennung von im Bild sich wiederholenden Details in unterschiedlichen Größen, die dann basierend auf dem größten Detail skaliert werden.[3]
Skalierung von Pixel-Art
Zur Vergrößerung von Pixel-Art-Bildern mit harten Kanten wurden spezielle Algorithmen entwickelt, die bei diesen Bildtypen bessere Ergebnisse als die oben beschriebenen Methoden liefern. Derartige Algorithmen können Bilder üblicherweise nur auf ein Zwei-, Drei- oder Vierfaches der Originalgröße skalieren.
![]() |
![]() |
Literatur
- Stephen Marschner, Richard Lobb: An Evaluation of Reconstruction Filters for Volume Rendering. In Proceedings of the conference on Visualization ’94, S. 100–107. IEEE Computer Society Press, Los Alamitos 1994, ISBN 0-7803-2521-4 (Der Artikel beschäftigt sich mit der Rekonstruktion von 3D-Voxeldaten, ist aber auch auf zweidimensionale Rastergrafiken anwendbar.)
- Peter Shirley u.a.: Fundamentals of Computer Graphics, S. 99–104. AK Peters, Wellesley 2005, ISBN 1-568-81269-8
- Ken Turkowski, Steve Gabriel: Filters for Common Resampling Tasks. In Andrew Glassner: Graphics Gems I, S. 147–165. Academic Press, Boston 1990, ISBN 0-12-286165-5 (PDF, 160 KB)
Einzelnachweise
- ↑ James Foley u.a.: Computer Graphics: Principles and Practice, S. 515. Addison-Wesley, Reading 1996, ISBN 0-201-84840-6
- ↑ Don Mitchell, Arun Netravali: Reconstruction Filters in Computer Graphics. ACM SIGGRAPH Computer Graphics 22, 4 (Aug. 1988): 221–228, ISSN 0097-8930
- ↑ Siehe etwa Daniel Glasner u.a.: Super-Resolution From a Single Image. ICCV (IEEE International Conference on Computer Vision) 2009
- ↑ hq3x Magnification Filter

