Facebook程序员刚刚发明了电影,一个新的时间单位

$config[ads_kvadrat] not found

How to Pronounce AA [æ] - Lesson Excerpt: American English Pronunciation

How to Pronounce AA [æ] - Lesson Excerpt: American English Pronunciation
Anonim

不满足于征服所有社交媒体,获得Instagram和Oculus VR之类的东西,扩展到本地新闻和消费者技术,以及 也许 为创始人马克扎克伯格的总统竞选奠定基础,Facebook已经发展并发明了自己的时间单位。

虽然这听起来像是下一级技术狂妄自大 - 我们在这里扰乱时间本身 而且所有这一切 - 实际上有一个非常好的理由让Facebook程序员在他们的开源页面上发布了新单元,称为轻弹。它正在解决计算机代码处理视频的一个令人震惊的根本问题,特别是它们的帧速率。

轻弹定义为1 / 705,600,000秒,或约1.42纳秒。 Facebook的声明 - 通过其子公司Oculus VR在技术上完成,虽然Facebook开源推特上发布了新闻 - 指出它是大于纳秒的最小时间单位,并且它被设计用于处理视频应用程序时的编程语言C ++。

“在为电影,电视和其他媒体创作视觉效果时,通常会运行模拟或其他时间整合过程,将单个时间段细分为固定的整数个细分,”该页面解释为动机这个新单位。 “由于各种原因,能够累积这些细分来创建精确的1帧和1秒间隔是很方便的。”

这实际上不可能用纳秒或十亿分之一秒,因为它不能均匀地划分为常见的电影帧速率,如1 / 24,1 / 30,1 / 48,1 / 60或1 /每秒120帧。这意味着程序必须处理几十纳秒进入那些帧速率的十进制近似。

并且程序不喜欢小数 一点都不 。二进制代码的本质使得处理甚至非常简单的小数非常难以处理,因为它需要将数字拆分为系数和指数以便正确表达。例如,我们写成0.01的内容需要写出并以二进制形式存储为(深呼吸)0 01111000 01000111101011100001010。

在这种情况下,创建一个新的时间单元实际上更容易,更直接,该时间单元将均匀地划分为所有常见的帧速率,这就是电影的设计目标。例如,用于1/24 fps视频的帧是29,400,000个轻弹,而即使像1 / 192,000 fps这样可笑的高帧速率也可以均匀地划分为3,675个轻弹。

Oculus VR GitHub页面上有更多内容,包括想要了解如何为自己的C ++用途安装它的好奇程序员的操作方法。所以不要担心,这不是社会转向Facebook标准时间的第一个迹象 - 只是一个非常巧妙的想法,使视频和音频应用程序运行得更顺畅。

$config[ads_kvadrat] not found