Interlaced erkennen - noch eine Frage...

  • Morgen allerseits,

    ich bin dank eurer Hilfe beim Thema Interlaced schon ein en guten Schritt nach vorne gekommen. An manchen Stellen bin ich aber noch etwas unsicher...

    Wenn ein Material progressiv codiert wurde, dürfen dann gar keine Kamm-Effekte auftreten? Ich habe manche Clips, da ist der Kamm-Effelt recht deutlich, bei manchen aber nur leicht an den Konturen. Kann ich dann trotzdem sicher sein, dass es interlaced ist (welche Art ist erst einmal egal).

    UND: Was passiert wenn ich einen Clip falsch erkenne und ein progressives Material deinterlace?

    Besten dank

    Lapje

  • Zitat

    Was passiert wenn ich einen Clip falsch erkenne und ein progressives Material deinterlace?

    Kommt auf den Deinterlacer an und was man sonst so damit macht,...
    Typische Effekte wären:
    1. Details gehen verloren
    2. Kanten werden stuffig
    3. Farbdarstellung wird gestört (Leute werden z.B. blau)
    4. Material wird asynchron

    Zitat

    Wenn ein Material progressiv codiert wurde, dürfen dann gar keine Kamm-Effekte auftreten?


    'Echtes' progressives Material hat keine Kamm-Effekte. Wenn man aber ehemals interlactes Material vor sich hat, was progressiv encoded wurde, dann sind die Kamm-Effekte auch mit einem Deinterlacer i.d.R. nicht einfach weg zu bekommen.

    Cu Selur

  • Didée hatte mir den "Trick" mit der avs und VDub empfohlen...

    PHP
    MPEG2Source("xxx.d2v")
    bob()

    Wenn bei Kammeffekten hier der Kamm aber duch bob() entfernt wird, dann dürfte das Material aber interlaced sein, oder? Oder besteht die Möglichkeit, dass das Material vorher so schlecht bearbeitet wurde dass es trotzdem progressiv ist?

  • Zitat

    Wenn bei Kammeffekten hier der Kamm aber duch bob() entfernt wird, dann dürfte das Material aber interlaced sein, oder?


    Ja

    Zitat

    Oder besteht die Möglichkeit, dass das Material vorher so schlecht bearbeitet wurde dass es trotzdem progressiv ist?


    Nein, wenn vorher Interlacingstreifen drinnen waren und bob() sie entfernt ist das Material definitiv interlaced. (was bob mach ist sich die Hablbilder schnappen und aus diesem Vollbilder interpolieren)

    Cu Selur

  • Aber auch wenn's nicht "interlaced" (genauer: combed) war, kommt bei Bob() am Ende Vollbild heraus... ;)

    Du schon wieder...musst Du mich immer wieder verwirren? Ich denke einen Moment lang ich hätte es kapiert und dann...:D:D:D

    Es fällt mir in manchen Momenten halt noch schwer zu erkennen, was für Material es ist...

    Z.B. mit dem avs-Script: Manchmal habe ich das Gefühl, dass das Bild wie in einem alten Stummfilm ruckelt, und soweit wie ich weiß ist es dann progressiv. Manchmal läuft es auch "flüssiger", dass sollte dann interlaced sein, oder? Aber manchmal weiß ich nicht ruckelt es noch oder fließt es schon? ;)

  • Sorry, aber so kann man das nicht stehen lassen ...



    Ja


    Nein! (Bzw. Aussage ist zu allgemein und zu ungenau.)


    Zitat von Selur


    Nein, wenn vorher Interlacingstreifen drinnen waren und bob() sie entfernt ist das Material definitiv interlaced.


    Doch! (Interlacingstreifen? Oder "Residual Combing"? Das ist ein Unterschied!)


    Es geht nicht darum, ob bob() irgendwelche Kammeffekte "entfernt". (Das macht er auf jeden Fall, so oder so.) (Wenn nicht zusätzlich resized wurde.)

    Wenn Material bereits deinterlaced wurde (und somit progressiv ist), dann kann das Material immer noch Restspuren von Interlacing enthalten. Auf gut Denglisch nennt man das dann "Residual Combing". (Kann vorkommen wenn der Deinterlacer zu hohe Tresholds verwendet hat, oder wenn er bei ungünstigen Textur/Bewegungskombinationen fälschlicherweise "Stillstand" erkannt hat, obwohl in Wahrheit "Bewegung" vorhanden war.)
    Wenn diese Art von "Residual Combing" in Progressiv-Material vorliegt, (und *nicht* zusätzlich resized wurde,) dann wird das durch Bob() natürlich auch entfernt, weil ja die Felder durch bob getrennt werden.

    Was ich mit der Bob-Untersuchung gemeint habe, hat einzig und allein auf "Bewegungszustände" abgezielt.

    Wenn Input.bob() ein Bewegungsmuster "Stop-Bewegung-Stop-Bewegung-Stop-Bewegung-..." erzeugt, dann ist das Material progressiv. Punkt, Feierabend. (Sonderfall "Phase Shift": Wenn dieses Bewegungsmuster da ist, aber der Input trotzdem "total viel ganz arg schlimm Interlaced aussehen tut". Phase-Shift aka. "2:2 Pulldown", -> wir verwenden TFM() oder Telecide(). )

    Wenn Input.bob() ein Bewegungsmuster "Bewegung-Bewegung-Bewegung-Bewegung-..." erzeugt, dann ist's reines Interlacing.

    Wenn Input.bob() ein Bewegungsmuster "Stop-Bewegung-RückwärtsBewegung-Bewegung-Stop-Bewegung-RückwärtsBewegung-Bewegung-..." erzeugt, dann ist's NTSC mit Telecine, aka "3:2 Pulldown".


    Lasst's nicht komplizierter werden als es ist. Es geht dabei wirklich nur um die Anzahl der Bewegunszustände.

    Progressiv hat 25 bzw. 24 (PAL/NTSC) verschiedene Bewegungszustände pro Sekunde.

    "Echtes" Interlacing hat 50 bzw. 60 (PAL/NTSC) verschiedene Bewegungszustände pro Sekunde.

    "Telecine" (NTSC) hat 24 Bewegungszustände pro Sekunde, mit zusätzlichen Rückwärts-Vorwärts-Sprüngen.

    "Fieldblending" erkennt man nach bob() sehr leicht an den häufigen Doppel-Bildern, bei denen zwei Bewegugszustände zusammengemischt sind.

  • Bob() stellt die vorher verzahnten Halbbilder nacheinander dar; wenn man mit den Cursortasten langsam Bild für Bild weitergeht, erkennt man dadurch leicht Muster in Bewegungen. Daraus, wie regelmäßig die Bewegung (Halb-)Bild für (Halb-)Bild fortschreitet, kann man nun erkennen, was man da eigentlich hatte:

    Progressiv:
    | 1
    | 2
    __| 1
    __| 2
    ____| 1
    ____| 2
    ______| 1
    ______| 2
    ... (bei phasenverschobenem Video erkennt man trotzdem Combing, das liegt aber nur an falscher Mischung zweier Halbbilder aus verschiedenen Vollbildern zu einem neuen Vollbild)

    Interlaced:
    | 1
    _| 1
    __| 1
    ___| 1
    ____| 1
    _____| 1
    ______| 1
    _______| 1
    ...

    Interlaced, Halbbild-Reihenfolge vertauscht:
    _| .
    | -1
    ___| +3
    __| -1
    _____| +3
    ____| -1
    _______| +3
    ______| -1
    ...

    Telecined (Film - NTSC):
    | 1
    | 2
    __| 1
    __| 2
    __| 3
    ____| 1
    ____| 2
    ______| 1
    ______| 2
    ______| 3
    ... -- wobei das ^laut Didée auch anders ausfallen kann, hier bin ich nicht so sicher. Habe aber auch nie NTSC.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    Einmal editiert, zuletzt von LigH (15. März 2010 um 11:11)


  • Wenn Material bereits deinterlaced wurde (und somit progressiv ist), dann kann das Material immer noch Restspuren von Interlacing enthalten. Auf gut Denglisch nennt man das dann "Residual Combing". (Kann vorkommen wenn der Deinterlacer zu hohe Tresholds verwendet hat, oder wenn er bei ungünstigen Textur/Bewegungskombinationen fälschlicherweise "Stillstand" erkannt hat, obwohl in Wahrheit "Bewegung" vorhanden war.)

    Beispiel:
    Bei einem Bild bewegt sich eine Hand: Bei dem einen Clip gehen die Streifen "durch" die ganze Hand. Beim anderen Clip treten die Streifen nur an den Konturen der Hand auf. Ist dass das was Du meinst?

    Wenn Input.bob() ein Bewegungsmuster "Stop-Bewegung-Stop-Bewegung-Stop-Bewegung-..." erzeugt, dann ist das Material progressiv. Punkt, Feierabend.

    Das ist ja das Problem: Du weisst wie so etwas aussieht...ich sehe hier ein Ruckeln (was vielleicht Dein "Stop-Bewegung-Stop-Bewegung-Stop-Bewegung" ist) oder es läuft flüssiger ("Bewegung-Bewegung-Bewegung-Bewegung-..." ???). Aber manchmal bin ich mir auch nicht so sicher...wenn in dem Clip z.B. nicht so viele wirkliche Bewegungen da sind...

  • Bob() stellt die vorher verzahnten Halbbilder nacheinander dar; wenn man mit den Cursortasten langsam Bild für Bild weitergeht, erkennt man dadurch leicht Muster in Bewegungen. Daraus, wie regelmäßig die Bewegung (Halb-)Bild für (Halb-)Bild fortschreitet, kann man nun erkennen, was man da eigentlich hatte:

    Ok, wie ich das jetzt verstanden habe:

    VDub -> Wenn das Bild bei jedem Druck auf die Pfeiltaste sich ändert ist es interlaced, wenn ich zweimal für das nächste Bild drücken muss progressiv?

  • Hallo, ich noch mal...

    habe jetzt ein kleines Problem:

    Musste mir meinen Rechner neu einrichten, und jetzt funktioniert oben genanntes Verfahren nicht mehr. Egal welches File ich kontroliere, es kommt immer erst nach 2 mal drücken der Pfeiltaste ein neues Bild, auch wenn ich ganz genau weiss das es interlaced ist (2 mal sollte ja eigentlich progressiv sein - und das File habe ich vorher genau auf diese Art als interlaced erkannt)...

    Zuerst konnte ich erst gar keine d2v-Dateien in VDub einfügen, da immer eine Fehlermeldung


    Avisynth open failure:
    Script Error: there is no function names "MPeg2Source"

    Dann habe ich die Datei DGDecode.dll in den PlugIn-Ordner von Avisynth (2.5) eingefügt (hatte da noch irgendas im Kopf), danach konnten die Dateien wenigstens eingefügt werden, aber dann kam obriges Problem.

    Was kann ich noch machen?

    Besten dank

    Lapje

  • Wie sieht den Dein Avisynthskript aktuell aus?

    PHP
    MPEG2Source("xxx.d2v")
    bob()

    Im Grunde genau so wie vorher...

    Ich habe hier Clipsin denen man deutlich die Kämme sieht, in VDub wurden sie vorher der Neuinstallation auch richtig angezeigt (1 Tastendruch, 1 Bild), jetzt 2 Tastendrücke, 1 Bild. Ich habe das Gefühl dass das ganze durch irgendwas deinterlaced wird...

    bob() scheint aber zu greifen, da die Clips langsamer laufen als ohne bob()...

Jetzt mitmachen!

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