Facebook ввів нову одиницю часу

Американський проект Facebook Open Source розробив бібліотеку для мови програмування C++, за допомогою якої в код можна додати нову одиницю вимірювання часу - флік. Бібліотека та опис нової одиниці доступні на сторінці проекту на GitHub. Розробники стверджують, що нова одиниця часу дозволяє ідеально синхронізувати відео і аудіо крім невдалого стандарту NTSC.


У більшості існуючих сьогодні мов програмування відлік часу ведеться в мілісекундах (одна тисячна секунди). При цьому в C++ для роботи з відео і аудіо та їх синхронізації програмістам доводиться оперувати з десятковими частками секунди, вираховуючи такі інтервали, які б прив'язували певне місце аудіозапису до певного кадру.


Через те, що відео і аудіо використовують різні швидкості зміни даних, інакше звані частотами оновлення, домогтися ідеальної синхронізації звуку і картинки вдається не завжди. Саме з цієї причини Facebook Open Source і запропонував використовувати в C++ нову одиницю часу, яку ще в жовтні 2016 року придумав співробітник проекту Крістофер Хорват.

Нова одиниця вимірювання часу в C++ отримала назву флік, яка утворена від двох слів - frame (кадр) і tick (рахунок, позначка). З розмовної англійської слово flick можна перекласти як фільм. Один флік дорівнює 1/705600000 секунди, або 1,417 наносекунди. Саме така одиниця часу, запевняють у Facebook, дозволяє ідеально синхронізувати будь-які існуючі частоти відео та аудіо.

Наприклад, для поширених частот 24 і 25 кадрів на секунду тривалість кожного кадру можна виміряти в зрозумілих і цілих 29400000 і 28224000 фликів. Для рапіду з частотою 192000 кадрів на секунду тимчасова тривалість одного кадру складе 3675 фликів. Ці флики можна точно синхронізувати з фликами, розрахованими для «кадрів» аудіо популярних частот від 8 до 192 кілогерц.

При використанні стандартних підходів до поділу часу при синхронізації аудіо і відео в C++ тривалість показу одного кадру при частоті 24 кадри в секунду склала б 41,666666 мілісекунди. Виробляти математичні обчислення з такими числами незручно, а спроби їх округлити при великій тривалості відео будуть давати наростаючу розсинхронізацію з аудіо.

У жовтні 2015 року фізики з університетів Варшави та Ноттінгема з'ясували, що існування ідеального годинника, здатного наскільки завгодно точно вимірювати проміжки часу в будь-якій системі відліку, суперечить законам фізики. Порушення починають проявлятися при великих прискореннях, які могли спостерігатися, наприклад, у момент Великого Вибуху.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND