Szerző: Gálffy Csaba

2018. január 23. 15:51

Flicks: új időegységet talált ki a Facebook

Elkerülhető a lebegőpontos időábrázolás a kódban a Flicks használatával - ha fontos a precizitás, ez jól jöhet.

Egy új időegységet vezetne be a Facebook (pontosabban annak VR-os fejlesztéssel foglalkozó divíziója, az Oculus. A "flick" definíciója szerint ez a másodperc mintegy 705 milliomod része (egész pontosan 1/705600000 másodperc). Amitől érdekes a koncepció: a flick kód szintű implementációt is kapott (meglehetősen triviálisat), amely lehetővé teszi, hogy az st::chrono::duration és std::ratio hívásokon keresztül elérhető legyen a nagy felbontású belső órával rendelkező számítógépes rendszereken. Ezzel a programozók kapnak egy olyan egységet, ami a nanoszekundumoktől eltérően egész osztója a népszerűbb videós és hangos felbontásoknak.

Jellemző egyébként, hogy a flicket a Facebookon belül az Oculus csapat találta ki és implementálta, a virtuális valóságnál ugyanis nagyon fontos a videós és hangos anyagok pontos időzítése és szinkronban tartása, így ezek a fejlesztők folyamatosan gondban vannak ezzel.

Közös osztó

A flick lényege, hogy a népszerűbb másodperctöredékeket egész számú többszörösként tudja megjeleníteni. Így például az 1/24 másodperc az 29400000 flick időtartamnak felel meg, az 1/44100 (vagy 44,1 kHz) az pontosan 16000 flick. Ahogy ebből a két példából is látszik, a flick elsősorban az audiovizuális média kezelésénél releváns, ahol a különböző szabványokat használó forrásanyagok eltérő mintavételezéssel készülnek, az ezek közötti váltás, illetve ezek összehangolása a flick bevezetésével könnyebb, egyszerűbb lehet.

Égbe révedő informatikusok: az Időkép-sztori

Mi fán terem az előrejelzés, hogy milyen infrastruktúra dolgozik az Időkép alatt, mi várható a deep learning modellek térnyerésével?

Égbe révedő informatikusok: az Időkép-sztori Mi fán terem az előrejelzés, hogy milyen infrastruktúra dolgozik az Időkép alatt, mi várható a deep learning modellek térnyerésével?

A flick egyébként az általánosan használt 24 Hz, 25 Hz, 30 Hz, 48 Hz, 60 Hz, 90 Hz, 100 Hz, 120 Hz frekvenciáknak egész osztója, sőt, az 1000 flick is az. Egy fontos formátumot viszont kihagyott a Facebook: az észak-amerikai televíziózásban általános NTSC által használt szokatlan frekvenciák, mint a 29.97 Hz támogatása már nem fért bele a flick definíciójába. A magyarázat: ez még a másodpercnek sem osztója, így esélytelen lett volna a flickkel kombinálni.

A gyakorlatban ez azt jelenti, hogy mind a másodperc, mind egy-egy frame kifejezhető egész flickekben úgy, hogy egyáltalán nem kell lebegőpontos számoláshoz nyúlni - ez is a projekt célja. Az eltelt és szimulált idő esetében ugyanis a lebegőpontos ábrázolás használata idővel egyre komolyabb pontosságvesztést hoz, ami csúszáshoz, szinkronvesztéshez vezet.

A kiadott kódot a Facebook a szabványos BSD licenc alatt nyújtja, amelyből ezúttal kihagyta a hírhedt szabadalmi kitételt. A kód használata meglehetősen egyszerű, a projekt GitHub oldalán részletesen is olvasható.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról