Facebook definieert nieuwe tijdseenheid: de Flick

Door , bron: GitHub, Twitter


Stel je voor dat je één videoframe precies de juiste tijd wilt weergeven. Met 24 fps zou je dan 1/24 s = 0,04166 seconde een videoframe weergeven, oftewel 41666666.66 nanoseconde. Dat is geen mooi rond getal en zal dus afgerond moeten worden, de nanoseconde is namelijk het kleinste getal wat in C++ gedefinieerd is. Door het afronden ontstaan miniscule fouten, die met heel veel frames op kunnen lopen.

De engineers bij Oculus waren dit zat en hebben dus maar een eigen tijdseenheid gedefinieerd: de flick. Een flick (frame-tick) is als volgt gedefinieerd: 

1 flick = 1/705600000 seconde

Daarmee noemt Oculus de flick de kleinste tijdseenheid groter dan de nanoseconde: een flick is namelijk ongeveer 1,41723356 nanoseconde. Voor deze specifieke lengte is gekozen omdat de tijd die een frame met zowel 24, 25 en 30 frames per seconde duurt nu in een geheel getal te benoemen is, een aantal flicks. Zonder af te ronden dus. Ook meervouden van deze frame-rates zoals 48, 60 en 90 fps en veelgebruikte audio-frequenties zijn uit te drukken in een geheel aantal flicks. 

Bij Oculus, tegenwoordig onderdeel van Facebook, kunnen ze nu met gerust hart naar bed wetende dat ze er geen picoseconde meer naast zitten als ze video met diverse frame-rates serveren. Of de rest van de industrie de tijdseenheid ook gaat gebruiken is nog maar de vraag, het geheel is in ieder geval open-source gepubliceerd op GitHub

Voorbeelden video

  • 1/24 fps frame: 29400000 flicks
  • 1/25 fps frame: 28224000 flicks
  • 1/30 fps frame: 23520000 flicks
  • 1/48 fps frame: 14700000 flicks
  • 1/50 fps frame: 14112000 flicks
  • 1/60 fps frame: 11760000 flicks
  • 1/90 fps frame: 7840000 flicks
  • 1/100 fps frame: 7056000 flicks
  • 1/120 fps frame: 5880000 flicks
  • 1/240 fps frame: 2940000 flicks
  • 1/480 fps frame: 1470000 flicks

Voorbeelden audio

  • 1/8000 fps frame: 88200 flicks
  • 1/16000 fps frame: 44100 flicks
  • 1/22050 fps frame: 32000 flicks
  • 1/24000 fps frame: 29400 flicks
  • 1/32000 fps frame: 22050 flicks
  • 1/44100 fps frame: 16000 flicks
  • 1/48000 fps frame: 14700 flicks
  • 1/88200 fps frame: 8000 flicks
  • 1/96000 fps frame: 7350 flicks
  • 1/192000 fps frame: 3675 flicks

Vandaag in het nieuws

*