Новая единица почти в миллион раз меньше секунды и называется флик.
Flik
Об изобретении сообщили в Facebook Open Source — структуре, которая занимается разработкой движка соцсети:
Facebook Open Source Twitter
We’ve launched Flicks, a unit of time, slightly larger than a nanosecond that exactly subdivides media frame rates and sampling frequencies. github.com/OculusVR/Flicks
Новая единица измерения
Как пишет Theverge, флик — больше наносекунды и составляет 1/705,600,000 секунды, тогда как сама наносекунда составляет 1/1,000,000,000 секунды. Новая единица измерения времени используется в языке C+ для улучшения синхронизации видеокадров:
Программисты уже используют эти инструменты в C++ для управления синхронизации в разработке эффектов в CGI. При этом наносекунды, которые ещё меньше, не могут одинаково поделить частоты в кадрах.
Теперь, независимо от того, какая чистота кадра используется, будь то 24 hz, 25hz или 120hz можно использовать флик для равной синхронизации между промежутками кадров, с целыми числами, а не десятичными дробями, как ранее. Это намного удобнее. На русский язык, флик переводится как «щелчок».
Идея изобрести новую единицу времени для разрешение подобных задач, появилась ещё в 2016 году, у разработчика из Oculus Кристофера Хорвата. По его словам, потребовался целый год, чтобы донести идею до самого Фейсбука.
Видео без флика
TechCrunch приводит ряд чисел, на которые 1/705600000 делится без остатка: 8, 16, 22,05, 24, 25, 30, 32, 44,1, 48, 50, 60, 90, 100, 120. Все это — частоты, которые используются для кодирования и показа аудио и видео: 24 кадра в секунду, 120-герцевое ТВ, частота дискретизации 44,1 КГц и т. д.
Многие из этих чисел образуют неудобные десятичные дроби, когда возникает необходимость соотнести их с секундой. Например, 1/24 секунды, на которой основана киноиндустрия, равна 0.0416666666666666… Даже использование наносекунд для ее исчисления заканчивается тем, что приходится делить на части наносекунды, поэтому дробь приходится округлять до 0,04167. Сейчас для синхронизация различных образцов аудио и видео используются специальные программные инструменты, написанные на C++, точность которых ограничивается наносекундами.
Зачем нужен флик
Использование флика превращает все важнейшие для производства видео и аудио дроби в целые числа. Например, 1/24 секунды равна 29400000 фликов, 1/120 секунды — 5880000 фликов. 1/44,1 секунды — 16000 фликов. Это должно помочь информационным системам точнее синхронизировать друг с другом различные образцы аудио и видео.
С помощью флика можно исчислять в целых числах даже стандарты Национального комитета по телевизионным системам (NTSC) США: стандарт 24*(1,000/1,001), который передается десятичной дробью 23,976023976230 с постоянным повтором последних шести цифр, равен в точности 29429400 фликов. То же самое происходит с приближениями 29,97, 59,94 и другими.