mini|Rastergrafik in Originalgröße 218px|mini|Rastergrafik nach zweifacher Vergrößerung mittels Pixelwiederholung
In der Computergrafik und digitalen Bildbearbeitung bezeichnet Skalierung ( scalae (Pl.), dt. „Leiter, Treppe“) die Größenänderung eines digitalen Bildes. In der Videotechnik wird die Vergrößerung von digitalem Material auch als Hochskalierung (Upscaling) oder Resolution-Enhancement bezeichnet.
Bei der Skalierung einer Vektorgrafik werden vor der Rasterung die grafischen Primitive, aus denen sich die Vektorgrafik zusammensetzt, durch geometrische Transformation gestreckt, was keinen Verlust an Bildqualität verursacht.
Bei der Skalierung einer vorgegebenen Rastergrafik wird deren Bildauflösung geändert: aus ihr wird ein neues Bild mit einer höheren oder niedrigeren Anzahl von Bildpunkten (Pixeln) erzeugt. Das ist im Fall der Erhöhung der Pixelzahl (Hochskalierung) in der Regel mit einem sichtbaren Qualitätsverlust verbunden. Vom Standpunkt der digitalen Signalverarbeitung ist die Skalierung von Rastergrafiken ein Beispiel für die Abtastratenkonvertierung, die Umwandlung eines diskreten Signals von einer Abtastrate (hier der örtlichen Abtastrate) in eine andere.
Anwendungen Die Skalierung von Bildern findet unter anderem Anwendung in Webbrowsern, Bildbearbeitungsprogrammen, Bild- und Dateibetrachtern, Softwarelupen, beim Digitalzoom, der Ausschnittvergrößerung und Erzeugung von Vorschaubildern sowie bei der Ausgabe von Bildern durch Bildschirme oder Drucker.
Die Vergrößerung von Bildern ist auch für den Heimkinobereich von Bedeutung, bei dem HDTV-fähige Ausgabegeräte mit Material in PAL-Auflösung betrieben werden, das z. B. von einem DVD-Player kommt. Das Hochskalieren wird dabei von speziellen Chips (Video scaler) in Echtzeit durchgeführt, wobei das Ausgangssignal nicht gespeichert wird. Die Hochskalierung steht also im Gegensatz zum Hochkonvertieren eines Materials, bei dem das Ausgangssignal nicht zwingend in Echtzeit erstellt werden muss, aber dafür gespeichert wird.
Skalierungsmethoden bei Rastergrafiken Skalierung mit Rekonstruktionsfilter Bildbearbeitungsprogramme bieten üblicherweise mehrere Skalierungsmethoden an. Die am häufigsten unterstützten Verfahren – Pixelwiederholung, bilineare und bikubische Interpolation – skalieren das Bild mittels eines Rekonstruktionsfilters.
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.
750px|mini|links|Vergrößerung einer 6×6 Pixel großen Rastergrafik auf 11×11 Pixel (die geringen Bildauflösungen in diesem Beispiel wurden zur besseren Verdeutlichung gewählt; das Prinzip ist bei höheren Auflösungen das gleiche).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.
mini|Skalierung mittels radial symmetrischem Rekonstruktionsfilter (Träger grün dargestellt). Ein Farbwert des Ausgabebildes wird als durch den Rekonstruktionsfilter gewichtete Summe von Farbwerten des Eingabebildes berechnet.
Bei der Skalierung 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.
Ü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 eines Rekonstruktionsfilters bemisst sich 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 Skalierungsmethoden 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.
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.
Bei der Vergrößerung entspricht die Pixelwiederholung 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.
gerahmt|links|Vergrößerung durch Pixelwiederholung
Bilineare Interpolation mini|Bei der Skalierung mittels bilinearer Interpolation wird ein Farbwert des Ausgabebildes aus den vier nächstgelegenen Farbwerten des Eingabebildes berechnet.
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 .
gerahmt|links|Vergrößerung durch bilineare Interpolation
Bikubische Interpolation Bei der bikubischen Interpolation wird ein Farbwert des Ausgabebildes aus den benachbarten Farbwerten des Eingabebildes mittels kubischen Splines (siehe Mitchell-Netravali-Filter) 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.James Foley u. a.: Computer Graphics: Principles and Practice, S. 515. Addison-Wesley, Reading 1996, ISBN 0-201-84840-6
Sowohl GIMP als auch Paint.NET 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.
gerahmt|links|Vergrößerung mit einem separablen Catmull-Rom-Filter gerahmt|links|Vergrößerung mit einem separablen kubischen B-Spline-Filter
Weitere Skalierungsmethoden mini|Beispiel für Vergrößerung durch ein Super-Resolution-Verfahren. Das linke Bild zeigt ein mit Pixelwiederholung zweifach vergrößertes Originalbild aus einer Reihe von neun Bildern. Das rechte Bild zeigt das Resultat einer zweifachen Vergrößerung nach Kombination der neun Ausgangsbilder durch SR. Super-Resolution-Verfahren Bei der Skalierung durch so genannte Super-Resolution- (SR-)Methoden werden Informationen aus den Nachbarbildern eines Einzelbildes aus einer Sequenz verwendet. Dabei wird eine höhere Qualität bei höherem Rechenaufwand erreicht. Derartige Methoden sind insbesondere für die Medizin, Astrofotografie und forensische Analyse von Aufnahmen aus Überwachungskameras relevant.Siehe etwa Video-to-Video Dynamic Super-Resolution for Grayscale and Color Sequences. In: EURASIP Journal on Applied Signal Processing, 2006, Article ID 61859, doi:10.1155/ASP/2006/61859, people.duke.edu (PDF; 2,7 MB) Diese Verfahren sind auch für die Hochskalierung im Heimkinobereich interessant; für solche Echtzeitanwendungen werden einfachere Algorithmen verwendet. In Computerspielen kommen Verfahren der Grafikkartenhersteller wie FidelityFX Super Resolution (FSR) zum Einsatz.