Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

Resize Deutsch

( This site in flag-uk.gif english )

BicubicResize(clip, int "target_width", int "target_height", float "b", float "c")

BilinearResize(clip, int "target_width", int "target_height")

LanczosResize(clip, int "target_width", int "target_height")

PointResize(clip, int "target_width", int "target_height")

Bei allen diesen Filtern zur Gr��en�nderung kann eine erweiterte Syntax verwendet werden, die vor dem Verkleinern bzw. Vergr�ssern das Bild abschneidet. Die gleiche Operation wird durch Crop vor dem Resize erreicht.

Crop(10,10,200,300).BilinearResize(100,150)

ist das gleiche wie

BilinearResize(100,150,10,10,200,300)

BicubicResize(clip, int "target_width", int "target_height", float "b", float "c", float "src_left", float "src_top", float "src_width", float "src_height")

BilinearResize(clip, int "target_width", int "target_height", float "src_left", float "src_top", float "src_width", float "src_height")

LanczosResize(clip, int "target_width", int "target_height", float "src_left", float "src_top", float "src_width", float "src_height")

PointResize(clip, int "target_width", int "target_height", float "src_left", float "src_top", float "src_width", float "src_height")

Wichtig: AviSynth hat (intern) v�llig getrennte vertikale und horizontale Filter zur Gr��en�nderung. Wenn in einer Richtung keine �nderung notwendig ist, wird dieser Teil �bersprungen.

Es wird zuerst die Richtung mit dem kleineren Verh�ltnis bearbeitet, damit die bestm�gliche Qualit�t erhalten wird und der Filter f�r die zweite Richtung ein m�glichst gutes Eingangsbild bekommt.


BilinearResize

Der BilinearResize Filter skaliert die eingehenden Frames in eine beliebig andere Aufl�sung. Wenn man die optionalen source Argumente angibt, ist das Ergebnis das gleiche, als wenn man zuvor Crop angewendet h�tte mit diesen Argumenten. Allerdings w�re dies nicht so schnell.

BilinearResize verwendet einen Standard-Bilinear-Filter, der fast identisch mit dem VirtualDub-Filter "precise bilinear" ist. Nur "fast" deshalb, da VirtualDub hier einen winzigen Skalierungsfehler macht, bei dem die oberste und unterste Zeile abgeschnitten oder verdoppelt werden, was aber nur bei bei einer Vergr�sserung um 2 oder mehr auff�llt.

Beispiele:

Eine Video-Datei laden und die Gr��e auf 240x180 �ndern (egal wie gro� die Aufl�sung vorher war):

AVISource("Dateiname.avi").BilinearResize(240,180)

Ein 720x480 (CCIR601)-Video laden und die Gr�sse auf 352x240 (VCD-NTSC) �ndern, wobei das korrekte Seitenverh�ltnis beibehalten wird:

AVISource("Dateiname.avi").BilinearResize(352,240,8,0,704,480)

Das rechte obere Quadrat eines 320x240 Videos rausschneiden und auf den ganzen Frame vergr�ssern:

BilinearResize(320,240,160,0,160,120)


BicubicResize

BicubicResize ist �hnlich wie BilinearResize, es wird aber eine zweifach kubische Mitchell-Netravali-Filter-Funktion eingesetzt.

Mit den Parametern b und c kann die Eigenschaft dieser Funktion eingestellt werden, die Parameter werden auch manchmal als "blurring" (verwischen) und "ringing" (Ringe zeichnen) bezeichnet.

Mit b=0 und c=0.75 ist der Filter genau gleich wie der VirtualDub-Filter "precise bicubic" (bis auf das genannte Skalierungsproblem). Der Standardwert ist b=1/3 und c=1/3, das sind die von Mitchell und Netravali empfohlenen Werte, die das subjektiv sch�nste Bild ergeben. Mit gr�sseren Werten von b und c k�nnen interessante Effekte entstehen, z.B. mit b=0 und c=-5.

Beim Vergr�ssern eines Videos erh�lt man mit BicubicResize wesentlich bessere Ergebniss als mit BilinearResize. Beim Verkleinern kann BilinearResize gleich gut oder sogar besser sein. Ein bikubischer Filter erzeugt Bilder, die sch�ner aussehen, allerdings deswegen, da eine leichte Sch�rfung stattfindet und nicht wegen einer exakteren Abtastung. Scharfe Bilder schauen gut aus, solange man sie nicht komprimiert, dann k�nnen sie leicht h�sslich werden. Besonders beim Encoden mit niedriger (knapper) Bitrate gibt BilinearResize meist bessere Ergebnisse.

Man muss b + 2 * c = 1 setzen um einen numerisch genauen Filter zu erhalten.

Daher kann f�r b=0 ein maximales c=0.5 verwendet werden, das ist dann ein Catmull-Rom-Spline und ein guter Wert f�r maximale Sch�rfe.

Mit Werten c>0.6 f�ngt der Filter an, Ring-Artefakte zu produzieren. Es entsteht hier keine echte Sch�rfe mehr, vielmehr eine Kantenkorrektur wie beim Fernseher.

F�r b d�rfen keine negativen Werte verwendet werden. b muss mindesten 0 sein.


LanczosResize

LanczosResize ist eine Alternative f�r BicubicResize mit hohen Werten von c von 0.6 ... 0.75 und erzeugt relativ starke Sch�rfung.

Es bietet normalerweise eine h�here Qualit�t (weniger Artefakte) und gleichzeitig ein scharfes Bild.


PointResize

PointResize ist die denkbar einfachste Methode, die einen Punkt-Sampler oder einen n�chster-Nachbar-Algorithmus verwendet, was ein sehr geblocktes Bild erzeugt. Dieses Filter sollte daher nur verwendet werden, wenn man absichtlich eine "schlechte" Bildqualit�t erzeugen m�chte oder klare Pixel-Zeichnungen m�chte.

Weiter kann es auch zum probeweisen Vergr�ssern verwendet werden.

SourceForge Logo

 


Edit this document | View document history
Document last modified Wed, 06 Aug 2003 14:28:04