U nekoliko tema dotakli smo se problematike usporavanja videa s puno dezinformacija, pa me ponukalo da to objedinimo u jednu temu s realnim primjerima.
Dakle, video se sastoji od brzog prikaza slika koje radi tromosti oka tvore animaciju. Da bi usporili video potrebno je između postojećih slika/frame-ova ubaciti nove, nepostojeće frame-ove. Ovo je uvjetno rečeno, u situaciji kad je usporavanje 'cijeli' broj, npr. 50%. Princip je isti, ali je lakše za shvatiti/objasniti princip rada.
Hipotetski; želimo usporiti video za 50%, tada treba ubaciti jedan frame između dva postojeća, te ćemo dobiti duplo veći broj frame-ova, a video će prilikom play-a normalnom brzinom biti duplo sporiji i duplo duži. To možemo postići na 3 osnovna načina, bez blendanja, s blendanjem i motion interpolacijom. Ako uzmemo 3 frame-a usporenog videa, tada je ubačeni frame bez blendanja isti kao i prvi frame, u slučaju blendanja ubačeni frame je mix prvog i trećeg frame-a (1. i 2. frame originalnog streama), kod motion interpolacije radi se o vektorskom izračunu statičnih i pomičnih dijelova framea, tj. ubačeni frame je 'izračun pokreta' između ta dva framea. Nacrtao sam grafički prva dva načina. Blendanje je moguće izvesti na više načina, u osnovi se radi o 50-50 prozirnosti.
Prva dva načina nas ne interesiraju, stara priča, osvrnuti ću se na motion interpolaciju. Kao prvo za dobar rezultat potrebno je imati kameru s što više fps. Veći kontrast pomičnih objekata veći u odnosu na statičnu podlogu također pomaže. Pomicanje kamere i brzi objekt u pravilu ne daju dobre rezultate, ili - ili.
Sve više je klipića na youtubeu koji pokazuju jako dobre rezultate usporavanja, kada su zadovoljene osnovne predispozicije. Ja sam krenuo drugačijim pristupom; mali početni fps, mali kontrast, pomična kamera i objekt i veliko usporavanje, s ciljem da se nedostaci postupka bolje uoče, a to je i realniji primjer iz prakse. Koristio sam 3 načina/postupka motion interpolacije i zapravo cilj nije bio dobiti savršeni video, već vidjeti postoje li i kakve su razlike između postupaka koji su većinom na defaultnim postavkama ('igranjem' po postavkama bi vjerojatno i rezultat bio bolji).
Koristio sam 'Time Warp' filter u AP (sličan ili isti je u AE), Twixtor AP plugin i MVTools avisynth skriptu. Usporio sam video na 25% što je dovoljna granica za prikaz nesavršenosti. 6 kratkih klipova su za usporedbu; Original, 25%_NoBlend, 25%_Blend, 25%_MVTools, 25%_TimeWarp, 25%_Twixtor. Valjda je jasno iz imena što je što. Zapravo nema drastičnih razlika rezultata u postupcima motion interpolacije, barem pri ovim defaultnim postavkama. Dosta je to ujednačeno loše, kod sva 3 postupka. Za slijedeći test (kad nađem vremena) isprobati ću ta 3 načina s boljim klipom (više fps, kontrast, micanje) i promjenjenim postavkama, s ciljem što boljeg rezultata, pa se možda pokaže i način koji daje najbolji rezultat..
Korištena skripta za MVTools:
LoadPlugin("H:\Vtemp\mvtools2.dll")
AVISource("H:\Vtemp\Original.avi")
super = MSuper(pel=2)
backward_vec = MAnalyse(super, isb = true)
forward_vec = MAnalyse(super, isb = false)
MFlowFps(super, backward_vec, forward_vec, num=100, den=1, mask=2, ml=50)
AssumeFps(25)