IVTC? - kein IVTC? - Deinterlacing?

  • Ich stehe hier gerade vor einem Problem, bei dem ich nicht mehr weiter weiß.


    Grundlage ist Folgendes:


    Frame rate : 23.976 fps
    Standard : NTSC
    Scan type : Progressive
    Scan order : 2:3 Pulldown


    Soweit so gut, klingt erstmal nach easy going, ABER, wenn ich das mit dgindex indiziere wird erkannt, dass es sich nicht um 100% Film handelt. Das stimmt mich schon mal sehr nachdenklich. (Quelle ist übrigens eine professionelle Produktion, also kein Stümperfehler.)


    Das Ergebnis hierbei:
    Film: 94,42%
    Sequence: Field/Frame,
    Frame Struct: Frame
    Frame Type: Progressive


    Wenn ich dann mal force FILM verwende, ergibt das viel progressives Material, aber dann finde ich mitten in Szenen plötzlich interlacing-Streifen. (Im Sample bei SMPTE 00:00:03:23)


    Was ist das blos, sowas hätte ich bei hard-telecined Material ja erwartet, dass es Patternwechsel gibt, aber bei soft-telecined, und dann auch noch progressiv encoded?


    TFM, Telecide & Konsorten beißen sich auch an dem Material die Zähne aus. In dem Moment, in dem Interlacing auftritt beginnt Ruckeln & Ghosting, die Lines wirken wie gedoppelt.


    Hab darauf hin mal das ganze mit separatefields() angeschaut, und da finde ich dann sowas:


    BFF korrekt für den progressiven Anteil
    vor, zurück, vor, vor, vor | vor, zurück, vor, vor, vor


    TFF ist auf genau dem Punkt wo bei BFF zurück vorkommt jedoch korrekt, ergo


    vor, vor, vor, vor, zurück, vor, zurück


    Spätestens ab hier: Bahnhof mit Durchzug.


    Hat jemand eine tolle Idee, wie man so etwas automatisiert retten kann?


    Sample: (Ist jedes mal die gleiche Datei)
    http://files.mail.ru/3O2QRM/sample.m2v
    http://ul.to/nwqc767o/sample.m2v
    http://netload.in/datei0RN5Vagu7f/sample.m2v.htm
    https://rapidshare.com/files/981738337/sample.m2v

  • Das Material wurde tatsächlich vermurkst. Kodiert sind "eigentlich" die progressiven 23.976 fps, mit pulldown flags für 29.97 Darstellung. Problem ist dass die 24p nicht immer 24p sind, in den betroffenen Sektionen liegt tasächlich 24p/i vor: in wechselnder Folge sind Dup-Fields enthalten, jeweils abwechselnd in der top- / bottom- Parität.


    Theoretisch sollte sich das reparieren lassen. Aber das schüttel' ich auch nicht aus dem linken Ärmel, da muss etwas experimentiert werden.


    Drohendes Problem ist natürlich Chroma-Blending in den betreffenden Sektionen, weil dort defacto interlacte Frames progressiv kodiert wurden. :hm:
    Aber das ist zweitrangig ... erst mal müssen die duplizierten Felder entdeckt, und mit einer Interpolation aus den zugehörigen Feldern der engegengesetzten Parität ersetzt werden.


    Schau' ich mir heut abend mal an, falls nix dazwischen kommt.

  • Also gut, konnte die Finger nicht weglassen und hab in der Mittagspause schon mal ein wenig gespielt ...


    Nachfolgend ein "mit der heißen Nadel" gestricktes Skript. Es erkennt ziemlich viel, aber (leider) nicht wirklich alles. Die Szene ist aber auch schwierig: sehr dunkel, und ziemlich wenig Bewegung. Da ja selbst ein "dupliziertes" Feld einen messbaren Unterschied zum Vorgänger-Feld aufweist (andere Quantisierung, da es sich ja auch in einem anderen Video-Frame befindet), ist der Unterschied zu "sehr kleinen" Bewegungen nicht einfach auszumachen (z.B. wenn alles statisch ist, und nur ein blinzelndes Augenlid stellt Bewegung dar...)


    FWIW ... nicht perfekt, aber schonmal halbwegs brauchbar:


  • Huch, das sind aber viele Links. :D


    Tippe auch am ehesten auf fehlerhafte HW-IVTC, oder sowas ähnliches, ja.


    Aus Avisynth-Perspektive ist es lästig, dass es alle möglichen Dezimierer bzw. Dup-Filter gibt, die aber alle eben genau dieses machen: Duplikate dezimieren. Hätte mir schon desöfteren gewünscht, dass z.B. TDecimate mit seiner guten Dup-Erkennung einen Modus hätte, um die gefundenen Duplikate einfach nur zu markieren, so dass man in der Folge seinen eigenen Schindluder damit treiben kann. Schaaadeee...
    (Vielleicht geht das sogar, über 2-pass, mit log-Datei im 1. und Einlesen+Auswerten im 2. Durchlauf - is' aber auch doof....)


    Womöglich könnte auch etwas in der Richtung von


    DoubleWeave()
    TFM()
    TDecimate()


    zum Erfolg führen, wenn man's Parameter-mäßig richtig einstellt. "Die Wege nach Rom sind unergründlich", oder wie ging der Spruch gleich noch ... ;)


  • Hätte mir schon desöfteren gewünscht, dass z.B. TDecimate mit seiner guten Dup-Erkennung einen Modus hätte, um die gefundenen Duplikate einfach nur zu markieren, so dass man in der Folge seinen eigenen Schindluder damit treiben kann. Schaaadeee...
    (Vielleicht geht das sogar, über 2-pass, mit log-Datei im 1. und Einlesen+Auswerten im 2. Durchlauf - is' aber auch doof....)


    Wen ich dich richtig verstehe ist es genau das wofür YATTA! gedacht ist, wen es mit TDecimate nicht möglich ist, ist es mit TDecimate oder Decimate ihn YATTA! möglich. (Ich hoffe ich nerve nicht.)


    Man sartet zuerst den Metrics Collector.Wen man es braucht cutet man hier schon. Sehr hilfreich kann es auch sein SCXvid zu laden um die Key-/I-frames zu haben, weil den die Automation versuchen kann Szenen basirenden zu arbeiten. Lädt und stellt hier seine IVTC/decimating Automation seiner wahl ein. Und lässt den Collector seine Arbeit tun.


    Erst dann öffnet sich der eigentlich YATTA! GUI mit dem Video und einer Darstelung desen was die Automation für richtig hält. Diese kann man den wen es nötig ist korigiren.



    http://ivtc.org/


    (Der Link sollte eigentlich kein Problem sein oder?)


    Einziger Wermutstropfen war als ich das letzte mal NTSC Region1 Realfilm Material ihn den händen hielt, liess YATTA! nur "no-decimate" Reihenfolgen für VFR ihn als Progresive markirten Sequenzen zu. Kommt meiner Anahme nach auch nur so ihn Region 2 Animation vor ;). Es macht unheimlich mehr arbeit die Szenen die durchgehend telecining haben (jeder Frame) als progresive zu markiren und den wieder das richtigr Muster einzustellen. Das ist aber ein reines Problem für VFR encoding ...

  • Yatta ist das praktische Eingeständnis des Users: "ich konnte das Problem nicht lösen.". ;)



    @TiLT: Ich krieg' hier gleich die KRIIIISEEEEE ...


    schei* feldbasiertes Video, schei* Paritäten. Der liebe Gott hat die Welt progressiv erschaffen - Feldbasiertheit ist Teufelswerk! :D


    Das gepostete Skript arbeitet insgesamt nicht korrekt. Aber: ich weiß nicht warum! - Schau' ich mir die Masken etc. an, dann sehe ich dass das Script zu >99% genau das macht was es soll, d.h. die Erkennung arbeitet korrekt und ziemlich gut. Aber schlussendlich werden irgendwie die falschen Felder zusammengesetzt, das Endergebnis ist großteils Murks.
    Irgendwo ist ein Fehler, aber ich sehe ihn nicht und finde ihn nicht.


    Lustig übrigens, dass die Samples teilweise BFF und teilweise TFF geflagged sind. Ist das alles aus dem gleichen Film? Ungut ....

  • >>> Feldbasiertheit ist Teufelswerk! <<<
    Sag ich ja schon ewig, interlactes Material sollte direkt mit den Leuten die es erstellen eingestampft werden,..


    Zitat

    Lustig übrigens, dass die Samples teilweise BFF und teilweise TFF geflagged sind. Ist das alles aus dem gleichen Film? Ungut ....


    und es ist nicht mal Anime Material :D

  • Jetzt habe ich schon ein schlechtes Gewissen, die Kriese kann ich nachempfinden, die hab ich auch bekommen.


    Die Samples 1-4 stammen aus einer Episode dieser Serie, 5 und 6 aus einer anderen.


    Derzeit mache ich mir Gedanken, ob ich sie einfach nochmal kaufe. Besitze die R1 DVDs davon, es gibt auch R2 in UK und Deutschland. Die deutsche DVD ist eine Normwandlung, daher unbrauchbar, nach allem was man so im Netz liest könnte die UK-DVD PAL-Speedup haben.


    Das wären dann nochmal knapp 40€ für einen Test, muss ich mir gut überlegen.


    Mit Yatta (heißt doch soviel wie "geschafft!" übersetzt, oder), komme ich irgendwie nicht zurecht. Gehe ich recht in der Annahme, dass es lediglich dabei hilft, schlechte Stellen manuell zu erkennen?

  • Inzwischen hatte ich noch einen "Geistesblitz": es könnte sein, dass in diesen komischen Sequenzen einzelne Bewegungszustände komplett fehlen. Muss das nochmal genauer nachprüfen, aber es würde erklären, warum nach erfolgreicher Ersetzung der Dup-Felder die Ersetzung häufig wiederum ein Duplikat des nachfolgenden Feldes ist.


    Wenn das stimmt, dann hilft YATTA auch nicht weiter. Dann müsste man nämlich komplett neue Bilder mit MVTools/MFlowFPS synthetisieren und irgendwie einbauen.

  • Yatta ist das praktische Eingeständnis des Users: "ich konnte das Problem nicht lösen.". ;)


    Den versteh ich jetzt nicht. Für mich ist Yatta! "Die dumme Automaion konnte das Problem nicht lösen, aber ich schon".


    Und ich dachte du wolltes einfach nur sehen können woran TFM/Tdecimate hier scheitert um besser deinen Voodoo vollzeihen zu können. Genau dafür wer es eben auch optimal.


    Ausserdem ist Yatta! auch andere Funktionen ... Segmentiertes Filtering ist wegen Kunst-grain effekten ihn Animes sehr wichtig geworden ... Zumindest ich will das Stillmittel nicht durch unnötiges soften zerstören ... Klar kann man alles auch mit dem Windows Editor machen wie auch Manuels IVTC und decimating xD ... dauert bloss länger. Ich sprech nun mal nicht so gut avisynth und versteh die Schwarze Magie nicht gut genug um 'nen neuen inverstelcing filter oder jedesmal 'nen custom skript zu schreiben xD.

  • Für mich ist Yatta! "Die dumme Automaion konnte das Problem nicht lösen, aber ich schon".


    Soweit durchaus zutreffend. Allerdings würde ich es etwas ausführlicher formulieren:


    "Der dumme Automat kommt damit nicht zurecht. Also setze ich mich stunden- oder tagelang hin, und bastel' ein paar hunderttausend Frames von Hand zusammen."


    Wer nix besseres zu tun hat als viel Zeit in solch stumpsinnige Arbeit hineinzustecken, bitte sehr. Für mich ist das hochgradig inakzeptabel - für Geld würde ich das vielleicht machen. Aber für umsonst würde ich nicht mal in meine eigenen Projekte diese Zeit investieren.


    Da versuch' ich lieber, die "Automaten" etwas schlauer zu machen. Wenn's klappt, wunderbar. Wenn nicht, habe ich immerhin wieder etwas dazugelernt und Erfahrung gewonnen.
    Durch YATTA lernt man herzlich wenig dazu ..... und wenn das nächste Problemvideo kommt, dann geht die ganze Stumpsinn-Arbeit wieder von vorne los. Lieben Gruß vom Herrn Sisyphus.


    Und wie gesagt ... es gibt auch reichlich Fälle, bei denen YATTA gar nicht zum Erfolg führen kann. Schon mal ein 24p- oder 25p-Video gehabt, das durch "IVTC" eines echten 60i-Videos entstanden ist? Da kannste YATTA in die Tonne kloppen, das wird so nix ....

  • Nicht das wir hier noch anfangen zu streiten:


    Du wolltest doch eigentlich sehen was TFM an dieser source so anstellt. Und da für hab ich nur YATTA! erwähnt. Es nutzt eben auch vorangehend eine Automation und zeigt dem nutzer was diese meint. Ich hab bei weitem nie gemeint du solltes diese source damit inverstelecinen xD.


    Dank Sceenchange Detektion kann die Automation auch Szennen basierend arbeiten, was die Zeit für VFR Encodes deutlich verkürzt als wen man es wirklich rein Manuel macht. So genante VFR Hybrid Automation hab damals bei meinen Tests combing reste gehabt. Und wen ich heute Timecodes von denen mit denen ihn Yatta erstellten vergleiche sind die ziemlich bogus ....


    Wen ich auf so 'ne Source stosse den komm ich heulend hier angerant und schrei um hilfe!

  • Jetzt bin ich drauf gekommen was Du meinst - Vorschau für den Fall von "DoubleWeave.TFM" usw. Bin inzwischen der Meinung dass das sowieso nicht funktionieren kann - es entstehen in dem [Zwischenresultat_mit_doppelter_Framerate] ja vorwärts-rückwärts-vorwärts Sequenzen, und damit kann das nachfolgende TDecimate ja sowieso nicht wunschgemäß umgehen.



    @TiLT: habe vorhin die Flinte offiziell ins Korn geworfen. Anhand der Sequenz von "Sample2" ein korrekt angepasstes Ersetzungsmuster erstellt, funktioniert gut. :ja:
    Selbiges bei den anderen Samples getestet: passt nicht, die brauchen ein anderes Ersetzungsmuster. :motz:


    (Heißt: das was da schiefgelaufen ist, ist noch nicht mal konsistent schiefgelaufen, sondern jedes Mal ein bisschen anders....)


    Feierabend.


    Abgesehen vom Kauf einer anderen DVD-Version bleibt Dir natürlich immer noch die Möglichkeit, alle Felder so gut wie möglich zu Fuß mit YATTA zusammenzubauen. :lol:

  • Hey Didée, ich bin dir trotzdem super dankbar, dass du dich des Problems angenommen hast.
    Für mich heißt das auch, dass es somit einfach keine Lösung gibt, wenn sich selbst Didée die Zähne dran ausbeist.


    Ich habs jetzt gewagt und die UK-DVDs geordert. Daumen drücken, dass diese von einem unabhängigen Studio aus den Mastern erstellt wurden.
    Die Zeichen jedenfalls sprechen dafür, dass diese DVDs besser sind.
    In einigen Shop-Kommentaren liest man aber, dass auf jeden Fall beim Intro geschlampt wurde. Scheinbar wieder interlaced aber progressiv encoded.
    Dafür gibts keine Berichte darüber, dass auch Szenen außerhalb des Intros betroffen sind.