## Prokládané (Interlaced) a na polích založené (Field-based)video

V současnosti (v2.5x a starší verze) AviSynth nemá znak prokládání, který může být použit pro prokládané video. Existuje znak pro video založené na polích (fieldbased flag), ale proti vašemu očekávání, se tento znak nevztahuje k prokládanému videu. Ve skutečnosti je každé video (progresivní nebo prokládané) založené na snímcích (framebased), pokud nevyužijete speciální filtry AviSynthu, aby jste to změnili. Jsou dva filtry, které převádí video založené na snímcích na video zalozené na polích: SeparateFields a AssumeFieldBased.

- SeparateFields / Weave
  - SeparateFields (oddělit pole): Pokud je potřeba (například odstraňovače šumu vyžadují progresivní vstup), můžete oddělit prokládané streamy na pole použitím SeparateFields. Výstupní klip bude mít dvojnásobnou snímkovou frekvenci oproti originálnímu klipu.
  - Weave (spojit pole): Po použití prostorových odstraňovačů šumu (pro časové odstraňovače je situace trochu [složitější]), může být filtr Weave použit pro opětovné spojení polí do prokládaných snímků.
- AssumeFieldBased / AssumeFrameBased
  - AssumeFieldBased (předpokládej založené na polích): Použití tohoto filtru vytvoří klip založený na polích. Může to být užitečné pro vytváření "umělých" na polích založených klipů.
  - AssumeFrameBased (předpokládej založené na snímcích): Použití tohoto filtru vytvoří klip založený na snímcích. Může to být užitečné pro vytváření "umělých" na snímcích založených klipů.

### Převody barev a prokládané / na polích založené video

Předpokládejme, že máte prokládané video, chcete pracovat v režimu založeném na polích (například pro aplikování některých filtrů) a také k tomu potřebujete některý z převodů barev. Potřebujete udělat převod na videu založeném na snímcích nebo na videu založeném na polích? Tedy, to závisí na tipu převodu barev , který použijete:

*YUY2<->RGB převody mohou být prováděny v obou režimech. (Všimněte si, že v tomto případě, nastavení interlaced= true/false (prokládané= ano/ne) nedělá nic. Je prostě ignorováno).
*YV12<->YUY2/RGB převody mohou být prováděny v klipu založeném na snímcích (s nastavením interlaced=true ). Provedením převodu v klipu založeném na polích povede k nesprávným výsledkům. Přesná příčina je mimo rámec tohoto pojednání, ale obecně je to důsledek toho jak je definován formát YV12. Hlavním problémem je, že barva je sdílena dvěma pixely ze dvou různých řádků snímku. Více informací naleznete zde.

Zkušenější uživatelé by se měli zamyslet nad následujícím. Obecně, prokládané video má části, ve kterých není a nebo je málo pohybu. Proto, sotva uvidíte nějaké prokládané efekty (také nazývané combing) v těchto částech. Můžeme na ně pohlížet jako na progresivní, a při provádění převodu YV12<->YUY2/RGB na progresivním videu by jste měli použít nastavení interlaced=false pro dosažení lepších výsledků. Je možné provádět převody YV12<->YUY2/RGB na klipech založených na snímcích při přepínání nastavení interlaced=true a interlaced= false. Zde je ukázka jak to provést (budete potřebovat nainstalovaný plugin decomb pro možnost použití funkce IsCombed)

    function ConvertHybridToYUY2(clip a, int "threshold", bool "debug")
    {
    debug = default(debug, false)
    global threshold = default(threshold, 20)

    b = ConvertToYUY2(a, interlaced=false)
    c = ConvertToYUY2(a, interlaced=true)
    ConditionalFilter(a, b, c, "IsCombed(threshold)", "equals", "true", show=debug)
    }

    function ConvertHybridToRGB(clip a, int "threshold", bool "debug")
    {
    debug = default(debug, false)
    global threshold = default(threshold, 20)

    b = ConvertToYUY2(a, interlaced=false)
    c = ConvertToYUY2(a, interlaced=true)
    ConditionalFilter(a, b, c, "IsCombed(threshold)", "equals", "true", show=debug)
    }

    AviSource("D:\captures\interlaced-clip.avi") # prokládané YV12
    #ConvertHybridToYUY2(debug=true)
    ConvertHybridToYUY2()

Nicméně, stinnou stránkou tohoto je, že to může vést k [chroma shimmering] při přechodech od "roztřepeného-combed" (prokládaného) snímku k progresivnímu. Takže to není dokonalé řešení.

### Převody barev, prokládaného / na polích založeného videa a znak prokládání z dvd2avi

Pro zkušenější uživatele. Dvd2avi informuje je-li snímek prokládaný nebo progresivní (s použitím znaku prokládání). V principu, může být dvd2avi modifikován k ukládání údajů do textového souboru a AviSynth je může číst a použít je po snímcích. Nicméně to není užitečné. Problém je v tom, že progresivní video je někdy zakódováno jako prokládané, a tak ho dvd2avi detekuje jako prokládané. V předchozí kapitole je vysvětleno, že v takovém případě musíte použít interlaced= false při převodu YV12<->YUY2/RGB (protože zde není pohyb) pro dosažení přesnějších výsledků. Takže, pro převod YV12<->YUY2/RGB je důležité brát v úvahu skutečnou přítomnost roztřepení obrazu (hřebínkový obraz), a ne to že se snímek zdá prokládaný podle znaku ve snímku.

### Změna pořadí polí v klipu

Existuje filtr který prohodí sudá/lichá pole SwapFields , a plugin který obrací dominanci (pořadí) polí [ReverseFieldDominance ]. První mění prostorové pořadí a druhý mění časové pořadí.

#### Prohození polí:

před použitím SwapFields:

řádek | snímek 0
0 | t0
1 | b1
2 | t2
3 | b3
4 | t4
5 | b5

pořadí polí (horní pole první, spodní pole druhé):

řádek | pole 0 | pole 1
0 | t0 |
1 |  | b1
2 | t2 |
3 |  | b3
4 | t4 |
5 |  | b5

po použití SwapFields:

řádek | snímek 0
0 | b1
1 | t0
2 | b3
3 | t2
4 | b5
5 | t4

pořadí polí (horní pole první, spodní druhé):

řádek | pole 0 | pole 1
0 |  | b1
1 | t0 |
2 |  | b3
3 | t2 |
4 |  | b5
5 | t4 |

Všimněte si, že sudá a lichá pole jsou prohozena, takže můžete horní pole nazvat spodním a naopak.

#### Obrácení dominance pole:

před obrácením dominance pole:

řádek | snímek 0
0 | t0
1 | b1
2 | t2
3 | b3
4 | t4
5 | b5

pořadí polí (horní pole první, spodní druhé):

řádek | pole 0 | pole 1
0 | t0 |
1 |  | b1
2 | t2 |
3 |  | b3
4 | t4 |
5 |  | b5

po obrácení dominance pole (předpokládáme, že řádky jsou posunuty nahoru a poslední řádek bude duplikován):

řádek | snímek 0
0 | b1
1 | t2
2 | b3
3 | t4
4 | b5
5 | b5

pořadí polí (spodní pole první, horní druhé):

řádek | pole 0 | pole 1
0 | b1 |
1 |  | t2
2 | b3 |
3 |  | t4
4 | b5 |
5 |  | b5

Všimněte si, že horní a spodní pole jsou prohozena, ale sudé a liché řádky nejsou prohozeny.

### Hodnota (= order) polí v AviSynthu

Je-li klip založený na polích AviSynth dohlíží na hodnotu pozice (parity) každého pole (tj., zda je pole ve snímku horní nebo spodní). Je-li klip založen na snímcích dohlíží na dominanci polí v každém snímku (tj., které pole snímku bude první při oddělení).

Nicméně, tato informace nemusí být správná, protože informace o plích se obvykle u video souborů neuchovává, zdrojové filtry AviSynthu normálně předpokládají spodní pole jako první (s výjimkou MPEG2Source pluginu, který to dělá správně!).

### O formátech DV / DVD ve vztahu k dominanci polí

Dominance polí není stejná pro každý zdroj. DV (s prokládaným obsahem) má vždy spodní pole jako první, zatímco DVD (nebo CVD/SVCD) má jako první horní pole. Proto při převodu mezi těmito dvěma formáty, musíte změnit dominanci polí. Můžete to udělat v AviSynthu (viz níže), ale také v enkodéru samotném (pro bff materiálu jako DV video, musíte nastavit Upper field first). Některé komentáře k [jiným metodám].

### Odkazy

[ DV / DVD a dominance polí]
O [ dominancipolí].
[Vlákna na Doom] o prohozených polích a dominanci polí.
[ReverseFieldDominance plugin]

`$English Date: 2006/12/15 19:29:25 $`

`Český překlad:4.5.2008`