[Anime] Akira 1080i nach 720p

  • Hi,

    ich möchte eine 1080i HDTV-Aufnahme von Akira in 720p encoden.
    Da ich mich bisher kaum bis gar nicht mit Anime beschäftigt habe, habe ich gerade erst angefangen mich einzulesen.
    Ich will mal darlegen wie ich die Filterung generell angehen würde und welche Filter ich dafür angedacht habe.
    Über konstruktive Verbesserungsvorschläge würde ich mich freuen.:)

    Code
    Mpeg2source()
    IVTC()          #tfm().tedcimate()
    Deblocking()    #Deblock_qed
    Denoising       #puh, keine Idee, normal verwende ich FFT3DFilter
    cropping()     
    Resizing()      #Resizen (und Schärfen) mit Limitedsharpenfaster oder mit Spline36?
    Sharpening()    #siehe vorherige Zeile
    Dehaloing()     #Dehalo_alpha?
    Linedarkening() #FastLineDarken
    AntiAliasing    #ist hier nicht nötig, oder?

    Wie würdet ihr vorgehen? Welche Filter würdet ihr mit welchen Parametern verwenden? Wäre natürlich toll, wenn ihr noch erklären würdet warum ihr den Filter XY in dieser Weise einsetzt.
    Generell ist wohl festzustellen, dass die Details nicht grossartig mehr sein werden als die DVD, aber zumindest sollte man saubere Kanten Linien bekommen, ohne den Film auf Teufel komm' raus zu filtern und somit den Look allzustark verändern, denke ich.
    Da dieser Film schon sicher schon tausende Male kodiert wurde, bin ich mir sicher, dass einige dazu ein paar gute Ideen haben werden.

    Hier mal ein paar Screenshots, vielleicht könnt ihr ja schon etwas damit anfangen:

    [Blockierte Grafik: http://img508.imageshack.us/img508/1034/pdvd0019ly1.th.png] [Blockierte Grafik: http://img507.imageshack.us/img507/504/pdvd0029ie5.th.png] [Blockierte Grafik: http://img81.imageshack.us/img81/884/pdvd0007qu0.th.png] [Blockierte Grafik: http://img81.imageshack.us/img81/3003/pdvd0016mx6.th.png]
    [Blockierte Grafik: http://img155.imageshack.us/img155/8669/pdvd0028hm4.th.png] [Blockierte Grafik: http://img143.imageshack.us/img143/680/pdvd0038vs3.th.png] [Blockierte Grafik: http://img89.imageshack.us/img89/5866/pdvd0047yw0.th.png] [Blockierte Grafik: http://img89.imageshack.us/img89/9871/pdvd0094rv9.th.png]

    Morgen kann ich auch ein kleines Sample zur Verfügung stellen, sagt mir am besten von welcher Stelle, der Film ist ja sicher hinreichend bekannt...

    Postet eure Ideen, gerne auch mal eine richtig extreme Filterung, ich bin mal gespannt was man da so machen kann. :ja:

    Gruss
    McCauley

  • Zitat

    Morgen kann ich auch ein kleines Sample zur Verfügung stellen, sagt mir am besten von welcher Stelle, der Film ist ja sicher hinreichend bekannt...


    Tetzuooooooooooooooooooooooooooooooooooooooooooooh's ausbruch aus dem Labor wäre gut.

    Und das Motorrad Rennen. Und wie wäre es mit mit der Scene am anfang bei der der "Fluchthelfer" erschossen wird.

    Nimm bitte:
    http://www.mediafire.com/

    Die schnipsel konnen ruig etwas länger/größer sein. vorallen Scenenwechsel sind wichtig.

    Zitat

    Postet eure Ideen, gerne auch mal eine richtig extreme Filterung, ich bin mal gespannt was man da so machen kann.


    Garnicht so einfach... Akira ist ziemlich detailert gezeichnet, hat aber auch starkes Film-Grain.

  • Hi Redfox,

    schön, dass Du dich meldest, offengesagt hatte ich gehofft, dass Du etwas dazu schreiben würdest, nachdem ich deine tollen Beiträge in den oben genannten Threads gelesen hatte.

    Hier das Motoradrennen:
    http://www.mediafire.com/?fzz933ggmsr
    Achte besonders auf den Schwenk über die Hochhausfront am Ende des Clips, da verliere ich feine Details an den Fenstern, wenn ich mit dem Filterhammer zuschlage.

    Hier die Fluchthelferszene:
    http://www.mediafire.com/?3ykuugxwxj1

    Die Quelle ist im großen und ganzen recht gut wie ich denke: hohe Bitrate (13Mbit), erträgliches Blocking mittleres Ringing, keine erwähnenswerten Halos, aber sehr starker Grain.

    In den Szenen mit wenig Bewegeng ist jedes zweite Frame doppelt, in Szenen mit viel Bewegung, ist jedes Frame einzigartig.

    Hier mal ein erster sehr grober und bescheidener Versuch eines Scriptes:


    FastLineDarken() macht mir manche Linien zu fett, da bin ich noch nicht zufrieden.

    Jetzt stellt sich natürlich die Frage ob beim Einsatz von Dup(blend=true) ein temporaler Denoiser noch viel Sinn macht, oder ob es nicht verschwendete Rechenzeit ist (allerdings sind da ja noch viele Actionszenen mit einzigartigen Frames). Bei aktiviertem Blending sollte man Dup vor dem Deblocking platzieren, oder?
    Gibt es eigentlich eine Möglichkeit, mit eine Funktion zu bauen, die das erneute (aufwendige) Filtern von Dupframes verhindert? Das könnte bestimmt 5-7% Rechenzeit einsparen

    Alles in allem bin ich gar nicht so unzufrieden (Referenz ist immer Quelle/crop/spline36resize), allerdings gibt es noch vieles was besser werden muss. Der Hochhausschwenk ist allerdings eine Katastrophe und mit Sicherheit eine der härtesten Nüsse des Films, wie ich so langsam glaube.

    Ein Derainbowing muss ich wohl auch noch einbauen, aber das stelle ich erst mal zurück.

    Da die ganze Filterei die Farben ja schon etwas verändert, würde ich am Ende evtl. noch versuchen den Huffyuv Clip mit Colourlike() wieder an die Quelle anzupassen. Aber ich denke, dass das nicht nötig sein wird.


    Zitat

    Garnicht so einfach... Akira ist ziemlich detailert gezeichnet, hat aber auch starkes Film-Grain.


    Wenn es so einfach wäre würde ich ja nicht fragen, mit den Standardvorschlägen bin ich auf jeden Fall nicht zurechtgekommen.

    Gruss und schonmal Danke im Vorraus
    McCauley

    PS: Qualität hat absoluten Vorrang, Geschwindigkeit spielt keine wesentliche Rolle.

  • Zitat

    aktiviertem Blending sollte man Dup vor dem Deblocking platzieren, oder?
    Gibt es eigentlich eine Möglichkeit, mit eine Funktion zu bauen, die das erneute (aufwendige) Filtern von Dupframes verhindert?

    Manche Frames werden aber erst durch das Filtern zu dup-frames,...
    -> persönlich würde ich dup und dergleichen als letztes im Skript platzieren,...
    Würde auch eher DeDup verwenden,...

    Wenn es nicht auf die Zeit ankommt, könnte man sich auch GrainOptimizer und die RemoveNoiseMC Skripte mal angucken,...

    Zitat

    Alles in allem bin ich gar nicht so unzufrieden (Referenz ist immer Quelle/crop/spline36resize), allerdings gibt es noch vieles was besser werden muss.


    Ich hoffe Du vergleichst da nicht nur Orginal.resized und GefilterteQuelle.resized, sondern auch das Neuencodete Material,.. (h264/vc-1 schlucken i.d.R. beide nochmal einiges an Details bei 720p auf 4GB)

    Cu Selur

  • Hi Selur,

    danke für den Tip mit RemoveNoiseMC, das Script ist auf meinem Zweitrechner (2,4GHz P4) nun nicht mehr praktisch ausführbar (Preview in AVSP dauert ca 15min...), aber die Qualität scheint besser zu sein. Die Denoising Parameter müssen noch angepasst werden (weil noch etwas zu schwach), was nicht so einfach ist, wenn man in Dunkeln stochert...
    Die Hochaus Einstellung sieht aber damit toll aus! hier mal ein Vergleich (filtered/resized):
    [Blockierte Grafik: http://img220.imageshack.us/img220/6559/filterhu7.th.png] [Blockierte Grafik: http://img204.imageshack.us/img204/4853/resizewb4.th.png]
    Lediglich die seitliche Fahrbahnbeleuchtung ist etwas posterisiert, aber noch halbwegs erträglich wie ich finde.

    Wenn ich jetzt dran denke, dass das noch nicht alles ist, wird mir ganz anders...

    Code
    MPEG2Source("C:\xxx.d2v").tfm.tdecimate()addborders(0,0,0,8).deblock_qed(quant1=30,quant2=36,aOff1=2,bOff1=4,aOff2=4,bOff2=8)function custom_filter(clip c) {  c=c.RemoveNoiseMC(rdlimit=18,rgrain=3,denoise=14)  c=c.fft3dfilter(sigma=1.0)  c=c.deen("a3d",3,6,8)  return c}custom_filter()crop(2,0,0-10) dx = 1280dy = 720dull = last.spline36resize( dx, dy )sharp = last.LSFmod( ss_x=1.0, ss_y=1.0, smode=3, undershoot=1,strength=200, dest_x = dx, dest_y = dy )SootheX( sharp, dull, 30)#fastlinedarken() #mal schauen...removegrain()

    Fehlt noch DeRainbowing, aber da muss ich mich erst mal einlesen, sowie Dehaloing (Dehalo_alpha scheint ja recht gut zu sein), das war bei dem ersten von mir geposteten Script nicht notwendig.
    Wobei ich mir gar nicht sicher, ob nach dem Dehaloing soviel mehr Details hängenbleiben, als mit dem ersten Script, dass immerhin um ein mehrfaches schneller ist.
    Dann wäre noch zu testen ob Grainoptimizer bei diesem Film etwas bringt (vlt. in Kombination mit ein wenig Addgrain(), um wieder etwas vom entfernten Grain hinzuzugeben und dem Auge somit mehr Detail vorzugaukeln)
    Ein DeDot ganz am Anfang des Scriptes könnte vlt. auch noch etwas helfen?!

    2. Script für das erstellte Huffyuv:

    Code
    Avisource:("C:\Akira.avi")
    Dup() #oder DeDup, deswegen erst im 2.Script (auch weil es eine auslagerbare Funktion ist)
    Colourlike()   # wenn die Farben nicht mehr stimmen sollten. Weil das Ergebnis mit der Quelle.resized verglichen wird muss es aus Geschwindigkeitsgründen auch in den zweiten Avisynth Pass


    Zitat

    Ich hoffe Du vergleichst da nicht nur Orginal.resized und GefilterteQuelle.resized, sondern auch das Neuencodete Material,.. (h264/vc-1 schlucken i.d.R. beide nochmal einiges an Details bei 720p auf 4GB)


    Aus oben genannten Gründen kann ich im Moment nur den AVS Output betrachten, aber ich hoffe/denke zumindest ungefähr abschätzen zu können was dann nach dem Encodieren mit x264 rauskommt. Glücklicherweise verschluckt der Encoder ja auch noch mal etwas Grain/Ringing, das der Details zuliebe nicht wegefiltert wurde.

    Gruss
    McCauley

  • FastLineDarken() macht mir manche Linien zu fett, da bin ich noch nicht zufrieden.


    FLD biete die Option "thinning" um Linien filigraner zu machen.
    LSF bieten ebenfalls Einstellungen für schwarze Linien.

    Dann wäre noch zu testen ob Grainoptimizer bei diesem Film etwas bringt (vlt. in Kombination mit ein wenig Addgrain(), um wieder etwas vom entfernten Grain hinzuzugeben und dem Auge somit mehr Detail vorzugaukeln)


    GrainOptimser ist kein Denoiser.

    aWarpSharp statt Deen probieren. Persönlich finde ich den "Plastik Look" etwas zu stark (mehr Grain erhalten/schwächeres Deen?).

    Über den Einsatz von Dup-Filtern kann man streiten. Persönlich würde ich ihn nicht benutzen da ich der Meinung bin, das heutige Encoder so gut arbeiten das ich ihnen keine Frames vorenthalten muss.

  • Hi naito,

    FLD biete die Option "thinning" um Linien filigraner zu machen.
    LSF bieten ebenfalls Einstellungen für schwarze Linien.


    Werde ich mir genauer anschauen, Danke.

    Zitat


    Das weiss ich, da habe ich mich wohl etwas unklar ausgedrückt:
    Ich meinte man könnte entweder nach dem sowieso nötigen Grunddenoising/Deringing den Grainoptimizer verwenden um den verbleibenden Grain zu erhalten, oder aber stärker Denoisen und dann mit Addgrain wieder künstlichen (und somit exzellent für den Grainoptimizer zu handhabenden) Grain hinzufügen, um dem Auge etwas mehr Details vorzugaukeln.

    Zitat

    aWarpSharp statt Deen probieren. Persönlich finde ich den "Plastik Look" etwas zu stark (mehr Grain erhalten/schwächeres Deen?).


    Tja, da bich ich hin und hergerissen, einerseits bin ich auch ein Fan von Grain, andererseits stören mich die damit verbundenen MPEG-Quantisierungsfehler bei diesem Film schon enorm.

    Zitat

    Über den Einsatz von Dup-Filtern kann man streiten. Persönlich würde ich ihn nicht benutzen da ich der Meinung bin, das heutige Encoder so gut arbeiten das ich ihnen keine Frames vorenthalten muss.


    Guter Punkt, da ich Dup (oder DeDup...) sowieso erst im zweiten Pass verwendet hätte, werde ich mir mal anschauen, ob es dem generellen Filmeindruck sehr abträglich ist, wenn man Frames doppelt.

    Gruss
    McCauley

  • Das weiss ich, da habe ich mich wohl etwas unklar ausgedrückt:
    Ich meinte man könnte entweder nach dem sowieso nötigen Grunddenoising/Deringing den Grainoptimizer verwenden um den verbleibenden Grain zu erhalten, oder aber stärker Denoisen und dann mit Addgrain wieder künstlichen (und somit exzellent für den Grainoptimizer zu handhabenden) Grain hinzufügen, um dem Auge etwas mehr Details vorzugaukeln.


    "Versuch macht kluch."
    Verstehen. Dafür hab ich leider nicht genug Erfahrung/Wissen ob das funktioniert. Da müsste Redfox, Momonster, Didee & Co. vllt. was dazu sagen.

    Guter Punkt, da ich Dup (oder DeDup...) sowieso erst im zweiten Pass verwendet hätte, werde ich mir mal anschauen, ob es dem generellen Filmeindruck sehr abträglich ist, wenn man Frames doppelt.


    :huh: Jetzt komm ich nicht mehr hinterher.
    Dup-Filter sind für mich Filter, die bei einer Abweichung < 0,15% (Konfigurierbar) des Frames 2 zu Frame 1 das Frame 2 verwirft (Um Bitrate zu "sparen"). Für eine Verdoppelung der Framerate kenne ich nur Bobbing. Ich bitte um Aufklärung. :ichdoof:

  • Hi,

    nach ersten einfachen Tests kann ich sagen, dass die Idee mit Addgrain genial war (*mir selbst auf die Schulter klopf*), der Plastik-Look ist weg und es sieht für mein Erachten wesentlich detaillierter aus. Desweiterern habe ich versucht schwächer zu denoisen mit:

    Code
    c=c.RemoveNoiseMC(rdlimit=16,rgrain=3,denoise=12)
      c=c.fft3dfilter(sigma=0.8)
      c=c.deen("a3d",3,4,4)


    Rest wie oben...
    und hatte komischerweise bei der Skyline weniger Details nach der restlichen Filterung (beachte die Spritzlichter/Fenster), warum weiss ich auch nicht.
    Hier mal wieder das gleiche Beispiel:
    Reihenfolge: schwächeres Denoising/gleiche Filterung wie oben/gleiche Filterung wie oben +Addgrain(20)/ungefiltert.resized

    [Blockierte Grafik: http://img207.imageshack.us/img207/5937/rennendulllowerdenoisemg4.th.png] [Blockierte Grafik: http://img220.imageshack.us/img220/6559/filterhu7.th.png] [Blockierte Grafik: http://img221.imageshack.us/img221/9007/graintesttw0.th.jpg] [Blockierte Grafik: http://img204.imageshack.us/img204/4853/resizewb4.th.png]
    Beachten: "gleiche Filterung wie oben +Addgrain(20)" ist jpeg 100%! Sorry, aber Imageshack lässt keine grösseren Dateien zu.

    Zweites und drittes Beispiel, hier sieht man sehr schön wie der künstliche Grain wirkt:
    Reihenfolge: gleiche Filterung wie oben/gleiche Filterung wie oben +Addgrain(20)/ungefiltert.resized
    [Blockierte Grafik: http://img65.imageshack.us/img65/8273/bazfilterwv2.th.png] [Blockierte Grafik: http://img141.imageshack.us/img141/3245/bazfiltergrainet9.th.png] [Blockierte Grafik: http://img132.imageshack.us/img132/2374/bazresek0.th.png]
    [Blockierte Grafik: http://img266.imageshack.us/img266/7730/fabricfilterdc4.th.png] [Blockierte Grafik: http://img513.imageshack.us/img513/8030/fabricfiltergrainml8.th.png][Blockierte Grafik: http://img136.imageshack.us/img136/9370/fabricresvc1.th.png]
    Anzumerken wäre, dass Addgrain(20) schon etwas stark ist, sowohl visuell, als auch möglicherweise für den Encoder, allerdings verschluckt der ja auch noch mal einiges. Ziel ist es, dass das fertige Video etwa den auschaut als wäre Addgrain(10) über das das gefilterte Video gelaufen.Hier wäre nun interessant zu sehen, wie sich das ganze mit dem Grainoptimiser verhält.

    Zitat

    Dup-Filter sind für mich Filter, die bei einer Abweichung < 0,15% (Konfigurierbar) des Frames 2 zu Frame 1 das Frame 2 verwirft (Um Bitrate zu "sparen"). Für eine Verdoppelung der Framerate kenne ich nur Bobbing. Ich bitte um Aufklärung.


    Das hast Du falsch verstanden, oder ich mich schlecht ausgedrückt (das liegt ja immer im Auge des Betrachters...)
    Ich meinte, dass ich nicht weiss ob, die entfernten Frames (die ja zumindest etwas unterschiedlich sind) nicht doch dazu beitragen könnten den Filmlook zu erhalten, und wenn es nur dadurch ist, dass ein etwas anderes Rauschmuster vorliegt, was dann eben nicht diesen "Standbildeindruck" erweckt.

    Wobei Du mich auf eine interessante Idee gebracht hast....

    Gruss
    McCauley

  • Kukuck, ich bin auch noch da! ;) :ani_lol:

    Die gute Nachricht ist: Der Film scheint ein kostantes NTSC-Telecine-Pattern zu haben!
    Deshalb ist der Automatische IVTC mit tfm().tdecimate() wohl nicht nötig. das ist deshalb gut, weil die Automatiken immer auch potenzelle Fehlerquellen sind.

    Um das zu Testen lade mal den Film mit diesem Skript:

    Code
    LoadPlugin("C:\PROGRA~1\AviSynth 2.5\new_plugins\loaddll.dll")LoadPlugin("C:\PROGRA~1\DGMPGDec\DGDecode.dll")LoadDll("C:\PROGRA~1\AviSynth 2.5\avs_system_dlls\MSVCP71.DLL")LoadDll("C:\PROGRA~1\AviSynth 2.5\avs_system_dlls\msvcr71.dll")mpeg2source("c:\Eigene Dateien\skripte\AKIRA.d2v")doubleweave()a = Pulldown(0,2).Subtitle("0,2 = a")b = Pulldown(1,3).Subtitle("1,3 = b")c = Pulldown(2,4).Subtitle("2,4 = c")d = Pulldown(0,3).Subtitle("0,3 = d")e = Pulldown(1,4).Subtitle("1,4 = e")f = BlankClip(a)StackHorizontal(StackVertical(a,b,c), StackVertical(d,e,f)).ReduceBy2().ReduceBy2()

    Und poste ein Bild vor und nach einem Scenenwechsel, aber kommentiere das letzte ReduceBy2() aus und aktuallisere das Skript(dadurch wird sich das bild vervierfachen).
    Die letzte Zeile müßte dafür dann so aussehen:

    Code
    StackHorizontal(StackVertical(a,b,c), StackVertical(d,e,f)).ReduceBy2()#.ReduceBy2()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!