Menü

flick: 1/705.600.000 s – Facebooks Zeiteinheit für Audio/Video-Formate

Wer mit Audio- und Videoformaten und Spezialeffekten arbeitet, schlägt sich mit zig Sample- und Bildwiederholraten herum. Facebooks Tochter Oculus hat sich eine neue Zeiteinheit "flick" ausgedacht, um Programmierern den Umgang zu erleichtern.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 59 Beiträge
Von

Wenn Facebook in Zeiteinheiten rechnet, würde man die durchschnittliche Länge einer Interaktion in sozialen Netzwerken erwarten. Doch tatsächlich geht es bei der von der Facebook-Tochter Oculus vorgeschlagenen Zeitbasis um Audio- und Videoformate, deren Definition Facebook nun auf Github veröffentlichte und als Header-Datei für C++ bereitstellte.

flick ist definiert als die kleinste Zeiteinheit größer als eine Nanosekunde, in der sich gängige Bildwiederholraten und Samplingfrequenzen wie 8 Hz, 16 Hz, 22,05 Hz, 24 Hz, 25 Hz, 60 Hz, 44,1 kHz, 192 kHz ... als ganzzahlige Vielfache ausdrücken lassen. 1 entspricht dabei

1/705.600.000 s = 1,41723356 ns

Typische Frequenzen bei Audio- und Videobearbeitung kann man somit wie folgt in flicks darstellen:

  • 1/24 fps: 29400000 flicks
  • 1/25 fps: 28224000 flicks
  • 1/30 fps: 23520000 flicks
  • 1/48 fps: 14700000 flicks
  • 1/50 fps: 14112000 flicks
  • 1/60 fps: 11760000 flicks
  • 1/90 fps: 7840000 flicks
  • 1/100 fps: 7056000 flicks
  • 1/120 fps: 5880000 flicks
  • 1/8000 fps: 88200 flicks
  • 1/16000 fps: 44100 flicks
  • 1/22050 fps: 32000 flicks
  • 1/24000 fps: 29400 flicks
  • 1/32000 fps: 22050 flicks
  • 1/44100 fps: 16000 flicks
  • 1/48000 fps: 14700 flicks
  • 1/88200 fps: 8000 flicks
  • 1/96000 fps: 7350 flicks
  • 1/192000 fps: 3675 flicks

So lassen sich Ungenauigkeiten und Rundungsfehler bei Simluationen und Umrechnungen vermeiden, mit denen man es sonst ständig zu tun bekommt – nicht zuletzt, weil die höchste Auflösung der std::chrono-Bibliothek nur auf 1 ns genau arbeitet.

Selbst traditionell "krumme" Bildwiederholraten wie 23,976 fps = 24 × 1000/1001 fps lassen sich zwar als 29.429.400 flicks darstellen, aber trotzdem nicht exakt auf Sekundenbasis umrechnen.

Aber wie kommt man auf so eine Zahl? Tatsächlich ist 705.600.000 praktisch ein gemeinsames Vielfaches der verschiedenen benötigten Frequenzen, die sich mit Ausnahme der Samplingfrequenzen 22,05 Hz und 44,1 Hz alle aus Potenzen von 2 (8, 16, 32) respektive Vielfachen von 3 und 5 darstellen lassen:

705.600.000 = 29 × 32 × 55 × 72

Um die "krummen" Audiosamplingfrequenzen darstellen zu können, benötigt man 72. Denn die Ziffernfolge lässt sich als 32 × 72 = 441 schreiben; mit 5 multipliziert ergibt sich 2205, sodass auch 22,05 Hz mit von der Partie ist.

Die flicks sind schon seit einiger Zeit in der Diskussion. Die Idee für die Zeiteinheit stammt ursprünglich vom damaligen Oculus-Mitarbeiter Christopher Horvath, der flicks bei Facebook postete. (vza)