Video basis begrippen
Als je probeert te begrijpen hoe video wordt opgeslagen en getoond moeten we terug gaan in de tijd een kijken naar een erg verouderde technologie: De cathode buis televisie. Zonder een natuurkunde les te geven, een TV buis is een groot stuk glas met geen lucht erin. Binnenin hebben we een cathode welke electronen uitzend als je hem verwarmt (dat is waarom het even duurt voordat het beeld opkomt als je de TV aanzet, de cathode moet eerst verwarmd worden tot de juiste temperatuur om electronen uit te zenden). Er is ook een sterk electromagnetisch veld wat de electronen versneld richting de voorkant van de buis en hetzelfde electromagnetische veld wordt ook gebruikt om de electronen straal te plaatsen (er worden heel veel electronen afgevuurd richting de voorkant van de buis). De voorkant van de buis bevat een fosfor laag en als de electronen deze raken zal er licht worden uitgezonden aan de andere kant (dat is de kant waar jij zit). Hieronder kun je een schema zien van een CRT.

In eerste instantie waren TV's alleen zwart/wit zodat één electronen straal genoeg was. Om nu een beeld te tonen moet je het over het hele scherm schrijven zodat de electronen straal over het scherm moet vegen. De veeg frequentie staat bekend als de "refresh rate" (verversings snelheid). de refersh rate is zo gekozen dat deze overeen komt met de cycli van het gebruikte electrische systeem: Noord Amerika en een deel van Japan gebruiken 60Hz, Europa en het midden oosten en delen van azië gebruiken 50Hz. Dit resulteerd in 2 concurerende TV systemen:
NTSC: National Television Standard Committee. Ook met de bijnaam Never The Same Color (nooit dezelfde kleur) omdat twee NTSC beelden er nooit hetzelfde uitzien. Het NTSC systeem heeft 525 horizontale lijnen waarvan er ruwweg 487 gezien kunnen worden op het scherm en heeft een refresh rate van 60Hz verweven (interlaced) (Hierover heb ik het later nog).
PAL: Phase Alternating Line. Het PAL systeem heeft 625 horizontale lijnen waarvan er ruwweg 540 gezien kunnen worden op het scherm en een refresh rate van 50 Hz verweven (interlaced).
Op het moement dat TV's voor het eerst op de markt kwamen was de technologie om 525 of 625 regels respectievelijk 60 of 50 keer per seconde te schrijven verschrikkelijk duur en niet geschikt voor de massa markt. Het verlagen van de refresh rate zou nog gecompliceerdere schakelingen nodig hebben en was ook geen optie - en de menselijke geest heeft een lagere limiet voor wat het beschouwd als een vloeiende beweging. Maar de TV ontwikkelaars hadden een idee: Wat als we alleen iedere tweede lijn van het beeld schrijven gedurende een veegactie, en de tweede helft gedurende de tweede veegactie? Als we dat doen hebben we maar respectievelijk 30 of 25 beelden per seconde nodig (dit betekend minder gebruikte bandbreedte, wat weer betekend meer TV kanalen op dezelfde frequentie band), en het menselijk oog zal het nog steeds accepteren als vloeiende beweging. Dit idee van het splitsen van het beeld in twee delen werdt bekend als "interlacing" en de opgesplitste beelden als "fields". Grafisch gezien is een veld in werkelijkheid een beeld met iedere 2de regel zwart (of wit, wat je het liefste hebt). Maar hier is een beeld zodat je je voor kunt stellen wat er gebeurd:
Gedurende
de eerste veegactie wodt het bovenste "field" geschreven op het scherm. Zoals
je kunt zien de eerste, derde, vijfde, enz. regel wordt geschreven en na het
schrijven van iedere regel beweegt de electronen straal opnieuw naar links
voordat hij de volgende regel schrijft.
Zoals je links kunt zien laat het beeld een "kam" (combing) effect zien, het lijkt erop dat je door een kam kijkt. Als mensen het over interlacing effect hebben of zeggen dat hun beeld geïnterlaced is, is dat waar zij meestal aan refereren.
Zodra alle oneven regels zijn geschreven reist de electronenstraal terug naar de
linker bovenhoek van het scherm en start met het schrijven van de even lijnen.
Omdat het een tijdje kost voordat het fosfor stopt met het uitzenden van licht
en hetmenselijk brein te traag is, zie je inplaats van twee velden een
combinatie van beide velden - in andere woorden het orginele beeld.
Toen TV's eindelijk kleuren gingen ondersteunen bleef de interlacing
technologie hetzelfde, maar een meer geavanceerde cathode straal buis was
nodig. Als je puntjes van veschillende kleuren dicht genoeg bij elkaar plaatst
zal het menselijke oof niet langer individuele puntjes zien maar een enkel
putnje en zal de punten samenvoegen om een nieuwe kleur te creëren.
Hieronder kun je het schema van een kleuren CRT zien.

TV's gebruiken een additatief kleuren systeem om alle soorten kleuren te tonen. Voor meer informatie over additatieve kleuren mixen kijk dan naar de RGB wereld Kleuren Informatie artikel.
In de NTSC wereld vereiste de overgang naar kleuren nog een andere verandering: De refresh rate moest een beetje verlaagd worden van 60Hz naar 59,97Hz (resulterend in 29.97 beelden per seconde) om de kleuren to ondersteunen - dat is waarom we nu van die vreemde framerates hebben in de NTSC wereld.
Nu voordat we doorgaan met te kijken hoe ze Hollywood films maken zullen we eerst een even kijken naar PC monitoren. De traditionele PC CRT schermen zijn fundamenteel anders dan TV schermen. Toen PC's voor het eerst op de markt kwamen was het eindelijk mogelijk om volledige beelden op te bouwen per veegactie - ook bekend as "progressive scanning" ("scanning" omdat de electronen straal ieder lijn "scant" van links naar rechts). Vroege PC monitoren ondersteunde nog interlaced modi maar het hogere contrast en heldere achtergronden gaven ons zo'n hoofdpijn dat we tegenwoordig zo gelukkig zijn det de meeste schermen zelfs al geen interlaced operaties meer ondersteunen. Tegenwoordig shrijven alle PC schermen als volgt:

Recentelijk zijn er TV schermen geweest die een progressieve scannin modus ondersteunen. Deze modellen zijn erg zeldzaam en vereisen dat zij door een ander signaal worden gevoed dan de traditionele manier om je VCR's, DVD spelers of camera's aan je TV te koppelen die geen progressieve beelden ondersteunen. LCD en plasma schermen kunnen alleen progressieve beelden schrijven - als je hen voed met een interlaced beeld vereist het wat technische truuks om een redelijk beeld te tonen. Deze technieken zijn algemeen bekend als "deinterlacing".
Een laatste woord over TV's voordat we doorgaan: Zoals je misschien herinnerd oudere TV's hadden buizen die verre van plat waren. Terwijl het steeds moeilijker word om geometrisch juiste en precieze beelden te schrijven hoe verder je weg bent van het midden van de buis (het punt waar de electronen straal recht op het fosfor komt zonder enige afbuiging) zelfs vandaag zie je niet de volledig buis, de laatste paar centimeter zijn verborgen achter de TV kast. Dat is de reden waarom beide TV fromaten meer lijnen hebben dan dat je kunt zien, de rest van de lijnen zijn en blijven verborgen. Maar deze lijnen worden nog wel gebruikt: TV kanalen zenden text pagina's in deze lijnen, zij kunne signalen bevatten die de automatische "gain" controller van je VCR in de war sturen (Het Macrovision analoog kopieer beveiligings systeem), etc.
Voordat we aan het deinterlacen toe zijn zijn er een paar dingen die je moet weten over hoe films worden geschoten.
De meeste films die bestemd zijn voor een bioscoop worden geschoten op een materiaal wat lijkt op het materiaal wat we voor fotografie gebruiken. In een seconden worden 24 foto's gemaakt van een scene. Dus theoretish kun je een film maken met een foto camera, behalve dat je rolletjes moet wisselen om de 1 of 1,5 seconden (en foto camera's ondersteunen gewoonlijk niet het maken van 24 foto's per seconde;). Als we deze films in de biscoop bekijken zijn we 24 beelden (ook bekend als frames) per seconde. Maar als we deze films kopenop VHS tape of DVD's om ze op onze 'slechte' TV schermen hebben we een probleem. PAL schermen vereisen 25 beelden per seconde en ieder beeld moet worden opgedeeld in 2 velden (fields). Maar omdat 25 niet zo veel meer is als 24 is hetgeen we in PAL landen gewoonlijk doen, dat we de orginele 24 fps (frames per seconde) film nemen en hem versnellen naar 25 fps. Dt betekend dat stemmen en muziek een hogere pitch hebben en dat de film een klein beetje korter is, maar behalve als je een één op één vergelijking doet zal niemand dit opvallen.
Nu gaan we naar NTSC. Hier hebben we 29,97 fps nodig. De film versnellen is geen optie omdat het snelheids verschil te goot is om niet meer op te vallen. Dus wat we hier doen is na het opsplitsen van de frames in velden (fields) worden bepaalde velden herhaald om tot de hogere framerate te komen. In essentie worden 4 frames omgezet naar 10 velden zoals hieronder getoond.
Zoals je
kunt zien op de afbeelding in tegenstelling tot wat je zou denken betekend een
hogere framerate niet een meer vloeiende beweging - net in tegenstellen NTSC
springt een beetje meer omdat sommige velden twee keer getoond worden (het
eerste veld van frame 2, en het 2de veld van frame 4).
op de TV is dit niet zo'n probleem omdat slechte kwalitiet ons behoed voor het opvallen dat er iets niet helemaal in orde is. Maar dingen veranderen zodra we naar de progressieve wereld gaan.
Om de dingen progressief te tonen moet je weergave of afspeel apparaat op een of andere manier het interlaced beeld terug omzetten naar een progressief beeld. De makkelijkste methode om dit te doen is de velden combineren.
Van de 10 velden voeg je de eerste twee velden samen om frame 1 te reconstrueren, dan het derde en het vierde veld voor frame 2. Maar dan als je het vijfde en het zesde veld samenvoegd krijg je niet frame 2 en niet frame 3. Dit is niet zo erg als er geen wijziging zou zijn tussen frame 2 en frame 3, maar als de camera beweegt kun je de kamlijnen in het beeld zien. En het kan zelfs nog erger worden. Stel je voor dat er geknipt is tussen de twee frames en frame 3 toont een compleet andere scene dan frame 2. Als je een veld van één scene combineert met één veld van een andere scene is wat je krijgt een ramp. Dus door het simpel samenvoegen van velden terug naar frames zullen twee van de 5 frames met hoge zekerheid verpest zijn, dan hebben we ook een 29.97 fps beeld in plaats van de orginele framrate van de film. Als we nu weten hoe dit proces werkt kunnen we het ongedaan maken door simpelweg de gedupliceerde velden te verwijderen. Dit proces wordt IVTC - "Inverse TeleCine (dus het proces om de dubbele velden in te voegen heet Telecine). Er zijn twee goede artikelen die telecine en IVTC in meer detail uitleggen: Video and Audio synching problems door Robshot wat de creatie van telecined inhoud in groter detail uitlegd, en Force Film, IVTC, and Deinterlacing - what is DVD2AVI trying to tell you and what can you do about it door hakko504, manono en jiggimi. Er is natuurlijk ook nog mijn eigen gids over Decomb, de waarschijnlijk meest populaire IVTC tool.
Nu dat we IVTC uit de weg hebben moeten we eens wat gedetaileerder naar deinterlacing kijken. Als eerste zal ik het probleem nog een keer presenteren.
Ten eerste hebben we twee velden van een interlaced video scene:


Zoals je kunt zien - geen interlacing effecten zichtbaar. Nu het corresponderende frame:

Ondanks de lage kwaliteit JPEG kun je zien dat er wat interlacing lijnen zichtbaar zijn, zeker op de kleren van de man en zijn armen.
En hier is het zelfs nog ergere voorbeeld waar we een veld hebben van één scne
en het tweede veld van een andere scene:

En het corresponderende frame:

Zoals je kunt zien is dat niet iets wat we willen ervaren. Wat ook interessant is is de groote van deze beelden. De linker is meer dan 3 keer zo groot als de resten en hij ziet er nog slechter uit.
Dit verklaard waarom opslag van interlaced beelden in progressieve mode geen goed idee is. Lijnen kosten een hoop ruimte.
VCD en de meeste MPEG-4 codecs (behalve XviD) ondersteunen alleen progressieve inhoud. Dus interlaced materiaal opslaan zoals links getoond gebruikmakend van zo'n compressie techniek is niet erg efficient en we kunnen beter zoeken naar methoden om interlaced materiaal om te zetten naar progressief materiaal middels een efficientere metode als het combineren van de volgende 2 velden van een frame.
MPEG-2 en MPEG-4 uitgebriede simpele profiel hebben een speciale interlaced modus. In die modus worden alle lijnen van veld 1 samengepakt (de blanke regels daarbuiten gelaten) en gecomprimeerd op die manier scheelt dat veel bits die anders verspild zouden zijn om de missende lijnen op te slaan.
Een laatste opmerking over deze screenshots: Omdat deze zijn genomen van een
interlaced DVD bron en opgeslagen zijn in interlaced mode moeten de
afbeeldingen van de velden uitgerekt worden naar hun orginele groote (onthoud
dat in de interlaced modus we alleen de werkelijke regels coderen en de blanke
regels weggooien) - in werkelijkheid zouden de velden de helft van de groote
zijn ten opzichte van de frames.
Nu we ons probleem hebben gevisualiseerd moeten we eens gaan kijken naar
mogelijke oplossingen. Zoals aangegeven de eerste twee velden nemen en
deze samenvoegen tot een frame is niet altijd mogelijk. Dit is helemaal waar
als we te maken hebben met inhoud die geedit is toen het al geïnterlaced was
(Dat is ook probleem nummer één als je IVTC probeert, speciaal Animaties
wordt geknipt na het telecineen van de film delen, wat resulteerd in een bijna
onoplosbaar IVTC probleem).
Een simpele en snelle manier om van het interlacing probleem af te komen zou zijn om de op velden gebaseerde inhoud te nemen, hiervan het formaat aan te passen naar volledige frame groote (onthoud dat een veld de helft van de vertikale resolutie heeft van een frame) en gooi ieder tweede veld weg. Deze methode wordt bijvoorbeeld gebrikt als je "Separate Fields" kiest in GordianKnot. Maar omdat een veld maar de halve resolutie heeft van een frame geven we gedurende dit proces de helft van de resolutie op.
Laten we nu eens gaan kijken naar andere deinterlacing technieken:
Weave(Weven): Neemt 2 opvolgende velden en zet ze in een frame. Dit haveert de framerate maar lost de problemen die hierboven genoemd zijn niet op, het frame wat velden heeft van twee scenes blijf hetzelfde.
Dan hebben we "blending" (mixen): Hier nemen we twee opeenvolgende velden, passen de groote aan naar frame formaat, en zetten ze op elkaar. Als we geen beweging hebben ziet dit er perfect uit, maar zodra de beweging start ziet het er onnatuurlijk uit en is het niet scherp en kan het een 'geest spoor' achterlaten.
Bob: Met bob vergroot je ieder veld naar frame groote en toon je het twee keer. Omdat het eerste en het tweede veld niet op exact dezelfde positie beginnen (onthoud dat a;s we beginnen met lijn 1 van veld 1 en lijn 2 voor veld 2) zal het beeld een klein beetje op en neer springen wat gezien kan worden als een glinstering in stilstaande scenes.
Er zijn een paar andere methodes, zoals "based deinterlacing", "motion blur" en
"adaptive deinterlacing". Elk heeft zijn voor en nadelen.
100fps.com heeft een mooie
vergelijking van alle methodes inclusief goede voorbeelden die je de effecten
toenen van iedere filter en heeft een leuke feature vergelijkings matrix. De
site helpt je ook om "true" 50fps progressief materiaal te maken van
interlaced bronnen. Als de site te veel voor je is om te lezen (Ik betwijfel of
er een Doom9 lezer is die dat ooit zou kunnen zeggen maar het is mogelijk)
Gunnar Thalin's area based deinterlacer en
DeinterlacePALInterpolation welke is gebaseerd io Thalin's filter zijn
er goede oplossingen als e 25fps nodig hebt. Dan is er ook Decomb
zijn field deinterlace wat zich erg effectief heeft getoond.
Voordat je gaat deinterlacen kun je eerst probeeren de veldvolgorde om te draaien. DVD2AVI heeft hier een functie voor (Video - Field Operations - Swap Field order) en ook AviSynth heeft hier een functie voor (SwapFields). Heel vaak kan dat je interlacing problemen al oplossen, zeker als de hoofdfilm geinterlaced blijkt te zijn.
Afscheidswoorden: Dit is in geen enkel opzicht een complete technische beschrijving en het is geschreven door het proberen te herinneren van de lessen in Natuurkune en video compressie die ik gekregen heb op High school en college. Ik hoop dan mijn geheugen mij niet te vreselijk in de steek heeft gelaten.
Dit document is het laatst geupdate op 6 Juli 2003
Vertaald op 30 juli 2003 door Feanor