Resizing-Vergleich

Warnung: Dieser Artikel richtet sich nicht an Anfänger.

Neben den üblichen Methoden per FSAA, AF & co Die Bildqualität zu verbessern, gibt es noch den aufwändigeren Weg des Resizings. Der Grundgedanke ist einfach: Man captured die Bilder in einer möglichst hohen Auflösung. Diese hochauflösenden Bilder verkleinert man dann auf die endgültige Größe. Je nach benutzer Auflösung und Art der Filter kann die Bildqualität gegenüber einer “normalen” Aufnahme erheblich verbessert werden. Diese Technik kann in allen Spielen angewendet werden, die eine eingebaute capturing Funktion haben. In diesem Artikel wird getestet, welche Filter auf welcher Auflösung eine maximale Bildqualität ergeben, und in welchem Verhältnis sie zum betriebenen Aufwand stehen. Außerdem werden einige “Nebenwirkungen” beschrieben.

Testmethode

Für sämtliche Vergleiche werden Screenshots aus dem Half-Life Mod Public Enemy verwendet. Die selbe Szene wurde auf vier unterschiedlichen Auflösungen aufgenommen: 800*600, 1024*768, 1280*960, 1600*1200. Diese wurden dann jeweils mit verschiedenen Filtern auf 640*480 verkleinert. Für die Vergleiche wurden vier Ausschnitte auf dem Screenshots ausgewählt.

Die Screenshots wurden auf einer ATI Radeon 9700pro aufgenommen. Die Grafikeinstellungen sind maximal, bei dieser Karte also 16faches AF und 6faches FSAA. Public Enemy wurde im 32bit Modus und maximalen Grafikdetails gestartet.

Für das resizig sowie das ausschneiden der Bildteile wird AviSynth 2.5 alpha benutzt. Für das öffnen der Scripts kommt VirtualDub 1.6.2 zum Einsatz. Alle vergleiche und Bildbearbeitungen werden mit The GIMP 2.2.1 vorgenommen.

Die Avisynth-Scripts für das resizing sehen so oder so ähnlich aus:

ImageReader("source_1600.png")
BicubicResize(640,480)

Um die Bildausschnitte präzise auszuschneiden wird ebenfalls ein Avisynth Script benutzt. Dieses vergrößert die Ausschnitte auch 3fach, damit man die Unterschiede deutlich sehen kann. Die Scripts sehen so oder so ähnlich aus:

source = ImageReader("bicubic_1280.png")
source = Crop(source, 211,263,-373,-166)
streckfaktor = 3
source = PointResize(source, source.width()*streckfaktor,source.height()*streckfaktor)
Return source

Nun ein kurzes Wort zu den getesteten Filtern. Bicubic resizing ist der gebräuchlichste resizing Filter, und wird auch von den meisten Videoschnittprogrammen, sowie Photoshop verwendet. Alleine aus dem Grund der weiten Verbreitung wird er also mitgetestet. Bilineares Filtering funktioniert ähnlich, produziert jedoch meistens schärfere Bilder. Lanczos3 ist sowohl bei Avisynth, als auch bei VirtualDub verfügbar. Lanczos4 ist lediglich eine leicht veränderte Version von Lanczos3, der schärfere Bilder produzieren soll. Er ist allerdings nur in Avisynth verfügbar. Ob sich der zusätzliche Aufwand lohnt bleibt abzuwarten. Außerdem wurde das resizing von Vegas 5 mitgetestet, da es sich scheinbar von allen anderen Filtern unterscheidet.

Test1: Bildtextur

640*480

Dieser Bildausschnitt soll zeigen, wie sich das resizing auf Bildtexturen auswirkt. Die Textur ist weit weg und relativ klein - entsprechend groß ist der Qualitätsgewinn auf höheren Auflösungen.

vegas lanczos3 lanczos4
800
1024
1280
1600

bicubic bilinear
800
1024
1280
1600

Test2: Fadenkreuz

640*480

Vor allem für Fragmovies ist dieser Vergleich wichtig. Wie verhält sich die dünne Linie eines Fadenkreuzes wenn sie verkleinert wird? Die Tests zeigen, dass mit steigender Auflösung das Fadenkreuz immer schlechter zu sehen ist. Man sollte auch bedenken, dass eine anschließende Kompression diesen Effekt noch verstärkt. Ab einer Auflösung von über 1024*768 wird nach der Kompression das Fadenkreuz vermutlich nur noch schwer erkennbar sein. Die verschiedenen Filter scheinen im übrigen keine unterschiedlichen Auswirkungen zu haben, die Linien sehen überall in etwa gleich aus.

vegas lanczos3 lanczos4
800
1024
1280
1600

bicubic bilinear
800
1024
1280
1600

Test3: Gitter

640*480

Gitter sind immer eine besondere Schwierigkeit bei digitalen Darstellungen. Die einzelnen Gitterstäbe sind oft enger beieinander, als die begrenzte Pixelzahl es auflösen kann. Dann kommt es darauf an, wie die Filter das Gitter trotz der Schwierigkeit detailreich darstellen.

vegas lanczos3 lanczos4
800
1024
1280
1600

bicubic bilinear
800
1024
1280
1600

Test4: Scharfe Übergänge

640*480

Dieser Bildausschnitt zeigt relativ dünne Linien und scharfe Farbübergänge zwischen Texturen. Bei allen Filtern zeigte sich, dass der Treppeneffekt auf höheren Auflösungen deutlich schwächer wird. Dadurch ergibt sich ein “weicheres” Bild. An diesem Beispiel sieht man im übrigen die Eigenschaft der Half-Life 1 Engine, die Kanten von transparnten Texturen selbst bei aktiviertem Anti-Aliasing nicht zu glätten.

vegas lanczos3 lanczos4
800
1024
1280
1600

bicubic bilinear
800
1024
1280
1600

Fazit

Die beiden Lanczos Filter sind nahezu identisch, und geben sich auch zu dem Vegas resizing nicht viel. Die restlichen Filter sind dagegen weit abgeschlagen. Wegen des geringen Aufwandes von Lanczos3 (er ist in VirtualDub integriert), bleibt er die Referenz. Die Vorteile von Lanczos4 oder dem Vegas resize sind nur in ganz speziellen Situationen wahrnehmbar, und verkomplizierren den ganzen Capturingvorgang erheblich. Bei der Auflösung zeigt sich, dass 1024*768 der ideale Kompromiss aus Detailreichtum und Aufwand ist. Da der Aufwand mit der Auflösung überproportional steigt, lohnen sich höhere Auflösungen nur in Ausnahmefällen (z.B. Zooms).

 
verschiedenes\resizing\index.txt · Last modified: 12.07.2007, 15:53
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki