NTSC, Nachbearbeitung

  • setmemorymax(384)
    import("c:\programme\avisynth 2.5\plugins\mvbob.avs")

    avisource("e:\ramtha.avi").Trim(67,194265)
    #fieldorder setzen
    assumetff()

    #chroma shiften
    mergechroma(crop(0,2,0,0).addborders(0,0,0,2))

    #verbliebene streifen wegschneiden, um auf mod-8 höhe zu kommen
    #und etwas breite wegcroppen :p
    crop(8,2,-8,-2)

    #farben und helligeit anpassen
    levels(40,1.1,240,0,255)
    tweak(hue=0,sat=0.95)


    ####deinterlacing und framerate conversion
    #motion compensated deinterlacing + framerate conversion
    converttoyv12(interlaced=true)
    mvbob()

    RemoveGrain(mode=2)
    Convolution3d(0,5 ,8,5,6,2.8,0)
    FFT3DFilter(sigma=1.6, plane=0, bt=2, bh=24 ,bw=24, sharpen=2.85)

    mvfps(50).converttoyuy2()

    bicubicresize(width,422)

    # gewünschte ziel-fieldorder setzen
    assumetff()

    #reinterlacing
    separatefields().selectevery(4,0,3).weave()

    #balken dranpappen
    addborders(8,80,8,72)

  • scharfis_brain:
    Kannst du mir das mit dem Resizen mal etwas genauer erklären bitte ?

    NTSC hat 720x480 also 1,5:1 auf dem PC.
    PAL hat 720x576 also 1,25:1 auf dem PC.

    Nach dem Entzerren haben beide 1,364:1
    NTSC entzerrt 655x480 also 1,364:1 auf TV
    PAL entzerrt 788x576 also 1,364:1 auf TV...

    Nur was sagt und das bezüglich WIE RESIZEN von NTSC auf PAL ?!?
    Nehmen wir an ich habe von NTSC (704x480) auf 688x352 gecropped (wegen schwarzer ränder etc.).
    WIE soll ich jetzt resizen und letterboxen um auf generetic PAL 720x576 zu kommen ?

    Ich habe jetzt hier das hier:

    Zitat


    bicubicresize(width,424)
    addborders(16,80,16,72)

    ---

  • Zitat von scharfis_brain

    ist ne einfache verhältnisgleichung!

    576/480 = 1.2

    352 (das ist die höhe deines videos) * 1.2 = 422.4
    also 422


    Ich verstehe das zwar überhaupt nicht mehr, aber Fit2Disc sagt da wiederum ganz was anderes...

    Also ich habe eingestellt: 688x352 (1:1 Monitor)
    auf DVD (PAL angekreutzt). Alles auf "round to 2" und dann kommt raus:
    BicubicResize(720,404,1/3,1/3,0,0,688,352)
    AddBorders(0,88,0,84)

    Also BicubicResize(720,404)...

    ---

  • ähm, ich habe die pixel so berechnet, dass das ergebnis auf DVD gemacht werden kann.
    Wenn Du das am PC betrachten willst, ist die ganze convertiererei hier fürn Arsch!

    ausserdem: ist FitCD überhaupt fähig NTSC - > PAL conversions zu berechnen?

  • Hmm also ich habe keine Ahnung was FitCD in der Lage ist... Ich schätze mal auch, dass der falsch liegt...

    Sag mal hast du das vielleicht einen Link zu NTSC to PAL Conversion, wie das sich mit der Umrechnung verhält und so ?

    Müsstest du nicht auch die Horizontale Auflösung beachte, denn ich habe ja statt 720 oder 704
    688x352.
    Du hattest ja nur das vertikale Verhältnis berechnet (also 576:480)

    /EDIT/
    Ziel ist PAL-DVD also schon für TV...
    :ichdoof:
    Sorry, für die ganzen Zwischenfragen bezüglich resizing, doch das habe ich noch überhaupt nicht verstanden und das wird nirgendswo erklärt wie ich von NTSC auf PAL resizen muss und mit welcher Formel ich die DAR und PAR ermittle und damit dann auf die Ziel PAR DAR komme...

    (So wie es in Karls Guide die Rede von DAR und PAR ist)
    Karl hätte mal ein Beispiel machen sollen, wie man NTSC to PAL resized :grübeln:

    ---

  • tach auch !

    FitCD kann das schon, man muß es nur richtig einstellen......
    Karl erklärt das schon richtig, man muß das nur 3-8 Mal lesen.
    Bei Karl ist von 2 Umrechnungen die Rede, DU machst aber 3.
    DAR/PAR UHHHHND NTSC > PAL


    Vereinfacht:
    Stell Dir vor Du hast ein Bild welches am PC dargestellt wird.
    Jetzt schaltest Du auf eine höhere VERTIKALE Auflösung (Die horizontal bleibt gleich)
    ==> Du mußt in der vertikalen mehr Zeilen "reinrechnen" um beim gleichen AR zu bleiben. Nichts anderes ist NTSC > PAL. eben 480>576 als 1,2 Mal mehr "Zeilen".
    Als wenn Du am PC von 640*320 auf 640*480 umschaltest.(O.K. hier ist der Faktor anders, aber das ist ja auch nur ein Beispiel) ;)

    Gruss BergH

  • Hi,

    ich werde mal ganz konkret:

    Zitat von namor82

    NTSC hat 720x480 also 1,5:1 auf dem PC.
    PAL hat 720x576 also 1,25:1 auf dem PC.


    wenn man entsprechendes NTSC oder PAL Material aufm PC richtig abspielt, dann wird auch korrekt entzerrt.

    Zitat von namor82


    Nur was sagt und das bezüglich WIE RESIZEN von NTSC auf PAL ?!?
    Nehmen wir an ich habe von NTSC (704x480) auf 688x352 gecropped (wegen schwarzer ränder etc.).
    WIE soll ich jetzt resizen und letterboxen um auf generetic PAL 720x576 zu kommen ?

    Folgendes muss man über die Auflösungen wissen:


    ein Teil fehlt noch: wie viel schwarzer Rand ITU konforme Auflösungen links und rechts haben, siehe dazu "Capture-Karten und aspect-ratio für Dummies ;-)"!

    Quelle: NTSC (704x480) Motion Area: 688x352 gecropped
    Ziel: PAL DVD 720*576 (mit 2*8 Pixel links/rechts overscan, also korrekt ITU konform)

    Rechnung:
    vorab die Rechnung mit nem Vollbild, damit kann man das besser nachvollziehen:
    Quelle entzerren:
    704*59/54=769,18518518518518518518518518519
    480*6/5=576
    zum Ziel hin wieder verzerren:
    769,18518518518518518518518518519*54/59=704
    704+2*8=720 <-- mit Addborders jeweils links und rechts 8 pixel schwärze hinzufügen!

    jetzt die Rechnung mit der motion Area 688x352:
    Quelle entzerren:
    688*59/54=751,7037037037037037037037037037
    352*6/5=422,4
    zum Ziel hin verzerren:
    751,7037037037037037037037037037*54/59=688
    720-688=32 <-- daraus folgt horizontal muss 32/2=16 pixel breite Balken hinzugefügt werden!
    422,4/8=52,8
    53*8=424
    576-424=152 <-- daraus folgt vertikal muss 152/2=76 pixel hohe Balken eingefügt werden!

    so ich glaub das wars schon.
    Unsinnig war an dieser stelle, die horizontale Auflösung zu ent- und verzerren, weil 704 und 720 laut "Capture-Karten und aspect-ratio für Dummies ;-)" nach ITU identisch sind, einmal halt mit overscan und einmal ohne.


    Aus der Rechnung geht dann hervor:
    die Auflösung
    688*352
    wird resized nach
    688*424
    und dann noch mit addbordes auf 720*576 gebracht
    AddBorders (16, 76, 16, 76)


    noch eine zusatzüberlegung:
    16/9=1,7777777777777777777777777777778
    751,7037037037037037037037037037/422,4=1,7796015712682379349046015712682
    so wie es ausschaut, lohnt sich hier eventuell ne anamorph 16:9 DVD :)


    ....cu

  • Zitat von ashyak


    Quelle entzerren:
    688*59/54=752 (gerundet)
    352*6/5=422,4


    Also entzerren, so sieht es dann auf TV aus... richtig ?
    Warum 352*6/5 ?


    Warum muss ich hier nicht die vertikale zum Ziel hin verzerren ?


    So hatte ich das auch verstanden, mehr oder weniger, nur wieso verzerre ich nicht die Vertikale zum Ziel hin ?!?

    Zitat von ashyak


    Also die

    noch eine zusatzüberlegung:
    16/9=1,78 (gerundet)
    752/422,4=1,78 (gerundet)
    so wie es ausschaut, lohnt sich hier eventuell ne anamorph 16:9 DVD :)


    Ok, wie mache ich das ? Stelle ich das im CCE beim encoden ein oder erst beim Authoring-Prog ?

    ---

  • Zitat von namor82

    Also entzerren, so sieht es dann auf TV aus... richtig ?
    Warum 352*6/5 ?


    weil NTSC vertikal 480 hat und PAL 576
    480/576=5/6
    du willst ja von NTSC nach PAL, also folgt daraus:
    480*6/5=576
    und was man fürs Vollbild machen muss, das muss man auch für das gecroppte Bild machen.

    Zitat von namor82


    Warum muss ich hier nicht die vertikale zum Ziel hin verzerren ?


    Die vertikale wurde doch einmal verzerrt mit 6/5.
    Die horizontale muss im Prinzip nicht verzerrt werden, da sie schon korrekt verzerrt vorliegt. Aber um den DAR zu betrachten (das mit der 16:9 Erkenntniss), ist diese Rechnung doch schon wichtig.
    Noch mal:
    704 <-- ist ITU mässig korrekt
    720 <-- ist ITU mässig auch korrekt, wenn 2*8 Pixel overscan links und rechts vorhanden ist und das sind dann letztlich 704.
    Wäre dein Ziel SVCD dann wäre die horizontale entzerrung und verzerrung wichtig.

    Zitat von namor82


    So hatte ich das auch verstanden, mehr oder weniger, nur wieso verzerre ich nicht die Vertikale zum Ziel hin ?!?

    siehe oben

    Zitat von namor82


    Ok, wie mache ich das ? Stelle ich das im CCE beim encoden ein oder erst beim Authoring-Prog ?


    da muss ich noch denken.....
    zum encoden kann ich sowieso nix sagen, da ich Xvid Freund bin.
    Ich weiss nur das ne anamorph DVD 720*576 hat und das ohne Overscan.
    Also generic pixel aspect ratio.

    ...cu

  • Hier die anamorph Rechnung:

    Quelle: NTSC (704x480) Motion Area: 688x352 gecropped
    Ziel: PAL anamorph DVD 720*576 (ohne Overscan)

    Rechnung:
    vorab die Rechnung mit nem Vollbild, damit kann man das besser nachvollziehen:
    Quelle entzerren:
    704*59/54=769,18518518518518518518518518519
    480*6/5=576
    zum Ziel hin wieder verzerren:
    769,18518518518518518518518518519*15/16=721,11111111111111111111111111111
    721,11111111111111111111111111111/8=90,138888888888888888888888888888
    90*8=720

    jetzt die Rechnung mit der motion Area 688x352:
    Quelle entzerren:
    688*59/54=751,7037037037037037037037037037
    352*6/5=422,4

    anamorph Betrachtung:
    751,7037037037037037037037037037*9/16=422,83333333333333333333333333333
    422,83333333333333333333333333333/8=52,854166666666666666666666666667
    53*8=424
    im Prinzip passt es schon, weil hier bei 16:9 424 herauskommt, man kann aber den Fehler noch minimieren:
    424*5/6=353,33333333333333333333333333333
    und man sieht, 1,3333 Pixel abweichung, lohnt sich also nicht.

    Diese Auflösung:
    751,7037037037037037037037037037 x 422,4
    ist die genaue square Pixel Auflösung, und hier kann man mit 4:3 oder 16:9 arbeiten.
    751,7037037037037037037037037037 * 9 / 16 = 422,83333333333333333333333333333
    das mit der Abweichung hatte ich ja schon gesagt.
    Wir müssen jetzt noch insgesamt die Auflösung aufblähen um auf 768*576 zu kommen, logisch, weil überall gecroppt wurde.
    576 / 422,4 = 1,3636363636363636363636363636364
    751,7037037037037037037037037037 * 1,3636363636363636363636363636364 = 1025,0505050505050505050505050502
    1025,0505050505050505050505050502 / 8 = 128,13131313131313131313131313128
    128 * 8 = 1024
    das ist eigentlich schon alles, beweiss:
    1024 * 9 / 16 = 576
    anamorph heisst nun, das eine Full PAL Auflösung 768*576 vom Player als 1024*576 angezeigt wird.
    Du willst aber ja ne PAL DVD und die hat 720 * 576 also wieder verzerren.
    Mit diesen Wissen brauchen wir uns weiter keine Gedanken über ITU oder generic PAR machen.
    Resize einfach von:
    688*352
    auf
    720*576
    das ergibt dann Eierköpfe die dann vom Player entzerrt werden, mal sollte das aber selber auch mit nem weiteren Resize auf:
    1024*576
    testen.

    Letzter Hinweiss:
    ich bin mir nicht ganz sicher, ob eine PAL anamorph DVD mit 720*576 Auflösung keinerlei Overscan hat!


    ....cu

  • Und hier die nicht-anamorphe Berechnung lt. englischem Analog Capture Guide v4, also unter Berücksichtigung des tats. aktiven Capture Window in µs der jeweiligen TV-Chip/Treiber-Kombination:

    SAA7134 mit WDM-Treiber hat aktives capture window von 52,15 µs (bei dieser Chip/Treiber-Kombo sowohl bei PAL als auch bei NTSC - das ist nicht bei allen Karten so!)

    NTSC TV hat 52,6555 µs

    Das Image Aspect Ratio berechnet sich bei NTSC zu
    IAR = 4/3 * (active capture window µs)/52,6555 * 486/480

    Also bei der SAA7134 ergibt sich für NTSC
    IAR = 4/3 * 52,15/52,6555 * 486/480 = 1,33704

    Das Source-PAR errechnet sich stets zu:
    PARs = IAR * (vertikale Capture Auflösung) / (horizontale Capture Auflösung)

    Gecapturt wurde mit 704x480, somit ergibt sich ein Source-PAR von
    PARs = 1,33704 * 480 / 704 = 0,91162

    Eine PAL-DVD hat ein PAR von 1,094 (sowohl bei 704x576 als auch 720x576).

    Es muss stets folgende Formel gelten (ich nenne das immer die "PAR-Formel" ;)):
    PARt * ht / vt = PARs * hs / vs
    mit
    PARt ... Target-PAR (PAR des Ziels)
    PARs ... Source-PAR (PAR der Quelle)
    hs ... horiz. Auflösung der Quelle
    vs ... vert. Auflösung der Quelle
    ht ... horiz. Auflösung des Ziels
    vt ... vert. Auflösung des Ziels

    Ich rechne jetzt zwei Varianten:

    Variante 1:
    Wir resizen nur vertikal, horizontal soll es bei den 688 bleiben, dann bleibt in der endgültigen DVD links und rechts ein wenig schwarzer Rand welcher bei Wiedergabe auf dem TV als Overscan nicht sichtbar ist. Somit wird am TV ca. das gesamte Bild dargestellt.
    Man kann dann in der PAR-Formel ht = hs setzen und es ergibt sich
    vt = vs * PARt / PARs = 352 * 1,094 / 0,91162 = 422

    Also zuerst resizen von 688x352 auf 688x422 und anschl. auf 704x576 od. 720x576 mit Rand auffüllen:
    Lanczos4Resize(688,422)
    AddBorders(8,74,8,80)
    Das ist im Grunde genau der Weg, welcher auch von meinen Vorrednern vorgeschlagen wurde.


    Variante 2:
    Es soll bei der DVD der Bildinhalt ohne Overscan bis zum Bildrand gehen, also das Bild tats. 704 breit werden. Die PAR-Formel nach vt umgeformt ergibt:
    vt = vs * PARt*ht / (PARs*hs) = 352 * 1,094*704 / (0,91162*688) = 432
    Also zuerst resizen von 688x352 auf 704x432 und anschl. auf 704x576 od. 720x576 mit Rand auffüllen:
    Lanczos4Resize(704,432)
    AddBorders(0,72,0,72)

  • Also ich habe es jetzt hinbekommen.
    Ich habe das "standart" resizing genommen, was von sharfis_brain, ashyak und grua vorgeschlagen wurden...

    Dann habe ich die filter noch etwas angepasst, da die von mir verwendeten etwas zu aggressiv waren...

    Hier mein verwendetes script, vielleicht kann es ja jemand brauchen.

    Danke nochmals an euch alle, vor allem an scharfis_brain, ashyak und grua

    ---

  • Zitat von scharfis_brain

    wieso ist da nen
    converttoyv12(interlaced=true)
    vorm leakkerneldeint?


    Das ist eine gute Frage *g*

    Also ich habe vorher deinen mvbob benutzt und der hat YV12 gebraucht (wenn ich mich nicht irre). Der war aber dann doch zu langsam, wodurch ich gezwungen war entweder auf TDeint oder leakkerneldeint umzusteigen. Habe mich für den leakkerneldeint entschieden...
    Also das ConvertToYV12() ist wohl warscheinlich noch von dem mvbob überiggeblieben. Geht aber auch ohne YV12, habe es gerade getestet. Ich hoffe, das die Convertierung nicht zu viel Qualität frisst. Der FTT3D Filter läuft im YV12 Farbraum glaub ich schneller, deshalb hätte ich das dann später convertiert...

    ---

Jetzt mitmachen!

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