Gladka interpolacija ključnih sličic

Ste se kdaj vprašali, zakaj lahko v Kdenlive način gladke interpolacije preseže vrednosti med ključnimi sličicami? In kako povedati programu Kdenlive, naj se izogne takšnim situacijam?

Poglejmo v zakulisje in se seznanimo s čudnim svetom gladkosti. Ne skrbite, ne boste se morali učiti in razumeti matematike. Samo opazujte številke. Pokazali vam bomo tudi, kako se izogniti takšnim prekomernostim v tistih situacijah, ko si tega ne želite. Za resnično radovedneže, ki želijo vedeti, kakšna matematika se skriva za »gladko« interpolacijo, pa je na voljo nekaj dodatnega branja v razdelku Opombe na dnu te strani.

Klančina odtemnitve

kkdenlive2308_smooth_keyframes_1a.webp

Ključne sličice v učinku Svetlost (s ključnimi sličicami)

Začnimo s preprosto rampo, kot je prikazana tukaj. Uporabimo ključni sličici[1], eno z nastavitvijo nizke vrednosti in drugo z nastavitvijo visoke vrednosti. Dejanske vrednosti niso pomembne. Ključni sličici nastavimo na način interpolacije gladko.


kdenlive2308_smooth_keyframes_1b.webp

Prikaz ključnih sličic barvnega posnetka

Prikaz učinka znotraj posnetka časovnice je videti kot enakomerna klančina. Če pa med drsenjem po časovnici pozorno opazujete interpolirane vrednosti, morate opaziti, da se naklon klančine spreminja. Na koncu in začetku je naklon manjši kot na sredini, kjer je višji.

Kaj točno se tukaj dogaja?


kdenlive2308_catmull-rom_1.webp

Vizualizacija GeoGebra za interpolacijo Catmull-Rom

Na voljo je spletno odprto-kodno orodje GeoGebra za preizkušanje matematike v pogonu MLT programa Kdenlive.

Ta slika prikazuje ključni sličici P1=0 in P2=1, kar je dokaj tipična nastavitev povečanja. Če se že sprašujete: ni pomembno, pri katerih sličicah so posamezne ključne sličice.

Gladka interpolacija, ki jo bo izračunal MLT, je narisana kot debela zelena črta. Upognjena je podobno kot velika črka S, vendar ne preveč.

In če pogledate pozorno, potem začetni in končni naklon zelene črte nista vodoravna ‒ kar smo morda pričakovali na začetku.

Morda se sprašujete, za kaj sta dobri drugi dve ključni sličici P0 in P3? No, matematika v ozadju vedno zahteva štiri ključne sličice, da bi interpolirali po segmentih med poljubnima dvema sosednjima ključnima sličicama. In če ni predhodne (P0) ali sledeče (P1) ključne sličice, potem bomo preprosto ponovili levo (P1) ali desno (P2) ključno sličico.

Klančina navzgor in … prekoračitev

kdenlive2308_smooth_keyframes_2a.webp

Ključne sličice v učinku Svetlost (s ključnimi sličicami)

Zdaj pa dodajmo še tretjo ključno sličico, tako da je to videti kot klančina s platojem. To je prikazano na posnetkih zaslona.





kdenlive2308_smooth_keyframes_2b.webp

Prikaz ključnih sličic barvnega posnetka

In zdaj, klančina navzdol dobi jasno vidno izboklino namesto ostrega naklona. No, to je videti gladko, vendar ne ravno tisto, kar smo morda želeli? Zakaj je torej tako?

kdenlive2308_catmull-rom_2.webp

Vizualizacija GeoGebra za interpolacijo Catmull-Rom

To je zdaj naša klančina s platojem: P0=0, P1=1, P2=2. Ne skrbite glede oštevilčenja ključnih sličic.

Ali ste pričakovali, da bo plato tudi raven plato? Seveda ste pričakovali. Toda morda ste že opazili, da se Kdenlive ne obnaša ravno tako. Namesto tega matematika interpolacije povzroči, da interpolirane vrednosti ponorijo, kot lahko zlahka vidite na sliki.

V zaodrju počne matematika počne naslednje: interpolacija je gladka, tako da je naklon na levo od P1 enak desnemu od P1. Ja, to je nekoliko drugačno »gladko« od tega, kar ste morda pričakovali.

Če želite, da je namesto tega plato raven, morate nastaviti način interpolacije ključne sličice P1 na linearno. Mimogrede, to ne spremeni prejšnjega gladkega segmenta na noben način. In to ima za rezultat »grobo ukrivljeno« pri P1, na srečo pa v večini primerov verjetno tega ne boste opazili.

Klančina navzgor-ravno-navzdol

kdenlive2308_smooth_keyframes_3a.webp

Ključne sličice v učinku Svetlost (s ključnimi sličicami)

kdenlive2308_smooth_keyframes_3b.webp

Prikaz ključnih sličic barvnega posnetka

Dodajmo še eno, četrto ključno sličico, tako da imamo: najprej klančino navzgor, nato plosko, nato klančino navzdol. Dokaj tipična predloga ključnih sličic za odtemnitev in zatemnitev.




In poglejte, kaj se zgodi: dobili smo grbo, ne pa lepega in ravnega srednjega dela.

kdenlive2308_catmull-rom_3.webp

Vizualizacija GeoGebra za interpolacijo Catmull-Rom

Tokrat si ogledamo osrednji del P1-P2. Na levi strani vidimo klančino navzgor, desno klančino navzdol.

Gladko zdaj pomeni, da v segmentih ni ostrega zavoja oz. kolena. Namesto tega sta levi in desni naklon zvezna pri P1 in P2; to je v srednjem delu. In to povzroča, da je naša interpolirana vrednost presežna.

Naredi plosko znova krasno

kdenlive2308_smooth_keyframes_4a.webp

Gladke ključne sličice v učinku Svetlost (s ključnimi sličicami)

kdenlive2308_smooth_keyframes_4b.webp

Kako bomo dobili raven vrh? Na srečo je to enostavno doseči, kot lahko vidite na posnetkih zaslona.

1. keyframe: smooth,
2. keyframe: linear (interpolated!),
3. keyframe: smooth,
4. keyframe: smooth (albeit that does not really matter if there are no further keyframes).

Opombe

Nadaljnje branje

Kot se morda (ali pa tudi ne) spomnite, je mehanizem za upodabljanje Kdenlive MLT Multimedia Framework. Medtem ko ima MLT že približno od sredine leta 2013 gladko interpolacijo (smooth interpolation), ga je Kdenlive šele pozneje dohitel in zdaj podpira vse tri načine interpolacije linearno, diskretno in gladko. Kot je razvidno iz izvorne kode MLT (source code), se gladka interpolacija izvaja z uporabo Catmull-Rom spline. MLT uporablja zlasti t. i. enakomerno različico, ker je tako preprosta. Slaba stran je, da ima to glajenje včasih nezaželeno lastnost pretiravanja, zlasti takrat, ko to najmanj pričakujete.

Viri

Izvirno besedilo je uporabnik TheDiveO poslal na zdaj že ukinjen blog kdenlive.org. Za to dokumentacijo je bilo povzeto iz kdenlive.org, posodobljeno in prilagojeno, da ustreza splošnemu slogu.