Facebook Programátoři právě vynalezli Flick, novou jednotku času

$config[ads_kvadrat] not found

Facebook Hacker Cup 2020 Qual' (2nd place)

Facebook Hacker Cup 2020 Qual' (2nd place)
Anonim

Nespokojuje se s dobýváním všech sociálních médií, získáváním rád Instagramu a Oculus VR, rozšiřováním do místních zpravodajských a spotřebitelských technologií a možná Založena fáze pro prezidentský běh zakladatele Marka Zuckerberga, Facebook pokračoval a vymyslel vlastní jednotku času.

I když to může znít jako další úroveň tech hubris - jsme zde, abychom narušili samotný čas a to vše - opravdu existuje opravdu dobrý důvod, proč Facebook programátoři na své stránce s otevřeným zdrojovým kódem vydali novou jednotku známou jako film. Řeší šokující základní problém v tom, jak počítačový kód pojednává o videu, konkrétně o jeho frekvenci snímků.

Rychlost je definována jako 1 / 705,600,000 sekund nebo asi 1,42 nanosekund. Oznámení Facebooku - technicky provedené prostřednictvím dceřiné společnosti Oculus VR, i když Facebook Open Source tweetuje zprávy - poznamenává, že se jedná o nejmenší jednotku času větší než nanosekunda a je určena pro použití v programovacím jazyce C ++ při práci s video aplikacemi.

„Při vytváření vizuálních efektů pro film, televizi a další média je běžné provádět simulace nebo jiné procesy integrující čas, které rozdělují jeden časový rámec na pevný celočíselný počet dělení,“ vysvětluje stránka jako motivaci. pro tuto novou jednotku. „Je užitečné, když budete moci tyto subdivize hromadit a vytvořit přesné intervaly 1 snímku a 1 sekundu z různých důvodů.“

To není vlastně možné dělat s nanosekundou, nebo miliardtinou sekundy, protože se nerozdělí rovnoměrně do běžných filmových snímků, jako je 1/24, 1/30, 1/48, 1/60 nebo 1 / 120 snímků za sekundu. To znamená, že programy se musí vypořádat s desetinnou aproximací přesně toho, kolik nanosekund spadá do těchto snímků.

A programy nemají rád desetinná místa vůbec. Povaha binárního kódu ho činí masivně neúčinným zpracovávat i velmi jednoduchá desetinná místa, protože to vyžaduje rozdělení čísla na koeficient a exponent, aby bylo možné je správně vyjádřit.To, co bychom mohli napsat například jako 0,01, je třeba zapsat a uložit jako binární (0 01111000 01000111101011100001010).

Za těchto okolností je vlastně jednodušší a přímočařejší vytvořit novou jednotku času, která se rovnoměrně rozdělí do všech společných snímků za sekundu, které má film dělat. Rámec pro video 1/24 fps je například 29 400 000 rychlých pohybů, zatímco dokonce i směšně vysoká snímková frekvence jako 1/192 000 fps se rovnoměrně dělí na 3 665 pohybů.

Stránka Oculus VR GitHub má více informací o tom, jak je to možné pro zvědavé programátory, kteří chtějí vidět, jak ji nainstalovat pro vlastní použití v C ++. Nebojte se, toto není první náznak celospolečenského přechodu na standardní čas na Facebooku - je to opravdu vážný nápad, jak video a audio aplikace běžet hladce.

$config[ads_kvadrat] not found