业界 | Facebook刚刚定义了一个新的时间单位Flicks,造福程序猿

今天凌晨,Facebook推出了一款新"产品"——Flicks,一种新的时间单位。是的,一个新的时间单位,和“秒”或“分钟”或“小时”一样的时间单位。

业界 | Facebook刚刚定义了一个新的时间单位Flicks,造福程序猿

Facebook开源官方发推特发布了这一消息

不少人可能会对此感到奇怪,为什么Facebook突然弄出这么个东西来。据悉,Flick这个名字本身是“frame-tick”的混成词,Flick这个时间单位旨在帮助测量视频帧速率的单个帧持续时间。所以无论视频是24hz, 25hz, 30hz, 48hz, 50hz, 60hz, 90hz, 100hz还是120hz,都可以使用整数的Flicks来进行表示。

程序员已经在使用C ++中的内置工具来管理这些精确的帧同步,特别是在CGI中设计视觉效果的时候,但是C ++中最精确的时间是纳秒,并不能精准表示大多数帧速率,只能四舍五入。

创建一个新的时间单位来解决这个问题的想法可以追溯到2016年,当时,开发者Christopher Horvath在Facebook上提出了这个问题,他是Facebook Story Studio前架构师,曾凭借之前在Oculus制作的电影“Henry”拿到艾美奖,现在他已经离开Facebook。

业界 | Facebook刚刚定义了一个新的时间单位Flicks,造福程序猿

实际上,这是一种非常聪明的时间分配方式,理论上来说,它的使用可以使视频和音频制作更加和谐。

那么,如何定义“一个flick”?

如果你喜欢数字,一个flick是七千五百六十万分之一秒(1 / 705,600,000),如果你更喜欢小数,则flick是1.417233560090703e-9秒。

这种新的时间单位有什么用途呢?

让我们举个数字的例子说明一下。

下面是一个可以被1 / 706,600,000均分的数字列表:8,16,22.05,24,25,30,32,44.1,48,50,60,90,100,120。注意到它们的排列模式了吗?

即使你不从事媒*作,其中一些数字可能还是看起来很熟悉。这是因为它们都是用于编码或显示电影和音乐等的帧率或频率。每秒24帧,120赫兹电视,44.1KHz采样率音频。

这些分数解决了十进制的不便——使用十进制时通常需要四舍五入。例如,整个电影业所使用的帧数1/24秒等于0.0416666666666666...秒(无限循环),所以为了方便起见可以缩写为0.04167。更容易记住,但不确切,谁知道什么时候这个“额外”的0.00000333333...秒可能会破坏什么?

而如果使用flicks,几乎所有这些重要的分数频率将变成一个确切的整数,你不需要再进行预估:例如,1/24秒是2,940万个flicks。 1/120秒是5,880,000个flicks。 1 / 44,100秒是16,000个flicks。

这些数字对你来说可能并不是那么容易记住,但是它使得它们在系统彼此匹配时更加简单,而不会产生某种格式间的分数,而这种分数又必须用另一个调整频率来解决。

电脑爱整数,我们也是如此。

啊!一切事物的本来面貌终于被还原了!涉及到视频和音频编辑和效果,调整时间和帧速率总是让人很痛苦,而采用这一新的时间单位显然能带我们实现一种宇宙之大和谐~

祝贺Facebook团队找到这个惊人的数字,并创造这个可能超有用的时间单位。


原文发布时间为:2018-01-23

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

上一篇:《Cocos2D-x权威指南》——第2章 搭建跨平台的开发环境


下一篇:《Cocos2D-x权威指南》——3.10 时间调度