01.24 扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒

昨日,Facebook開源官方發推特:Facebook發明了一個新的時間單位Flicks,意在重新定義時間。一時間引發多方關注,Flicks是什麼?為什麼能夠重新定義時間?

扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒

圖片源自網絡

Flick是“frame tick”的簡寫,用來測量數字音頻和視頻速度。Facebook在Git Hub上定義“1 flick = 1/705600000 second”,即相當於7.056億分之一秒,大小介於微秒(10^-6 s)和納秒(10^-9 s)之間。

Flicks可能成為繼秒、分、小時後又一新的標準時間單位。

Facebook推出Flicks造福程序員

其實換算下來,1 Flick≈1.41723356 ns,Flicks遠遠快於我們眨眼的時間(每一次眨眼的時間約為0.2~0.4秒),那麼這樣一個超小的時間單位有什麼用呢?

早先,在電影業所使用的幀數1/24秒等於0.0416666666666666...秒(無限循環),大家通常將之縮寫為0.04167。為了方便起見,十進制通常需要四捨五入,但是四捨五入仍會存在一些不便,於是大家又想出一些分數,用於編碼或顯示電影和音樂等的幀率或頻率。比如,這組可被1 / 706600000均分的數列:8,16,22.05,24,25,30,32,44.1,48,50,60,90,100,120。相信從事媒體制作的朋友對其中的一些數據比較熟悉,如每秒24幀,120赫茲電視,44.1KHz採樣率音頻。

在CGI視覺特效領域,程序員們利用C++工具來管理某些類型的幀同步。但是同樣存在一些問題,針對大多數幀率的分配並不平均,這是由於C++裡面的時間是以納秒(10^-9 s)為單位造成的。

和人一樣,電腦也是喜歡整數的。正如Facebook在Git Hub上的解釋:“在為電影、電視和其他媒體創建視覺效果時,通常會運行模擬或其他時間整合過程,將單個時間幀細分為固定的整數分區。由於各種各樣的原因,能夠將這些子分區積累起來以創建精確的1幀和1秒的間隔是很方便的。”

扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒

圖片源自網絡

Facebook前架構師最先提出Flicks

事實上,Flicks的想法是Facebook前架構師Christopher Horvath最先提出的。

2016年他在Facebook上提出創建一個新的時間單位來解決C++中不能精準表示大多數幀速率的問題,並首次提出了Flicks這個時間單位。

扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒

圖片源自網絡

既然不願將就,那就重新定義

這兩天大家可能會看到許許多多的關於Facebook推出Flicks的相關新聞,吃瓜看客們雖然不懂Flicks對視頻和音頻製作的價值,但也會不由自主地感嘆一下Facebook重新定義時間的勇氣。

不是整數,這個問題已在CGI視覺特效領域紮根多年,但太多的人將就著得過且過,隨大流忍著幀率分配不平均的問題。

這不禁讓人想起幾年前看到的一個關於清華畢業生談買房的故事。

幾個清華畢業生在乘車時閒聊,說起某某同學在北京買房的事,他們皆認為該同學是人生贏家。聽完幾人的談話後,出租車司機忍不住說:“如果你們北大、清華畢業,人生目標就是在北京買套房,而不是思考國家的未來,那這個國家就真的沒有希望了。”

可惜,太多人沒有這位司機一樣高的思想覺悟,隨大流、將就、得過且過已在現實中成為主流,高等學府畢業的學生也不例外。

正如心理學中的巴納姆效應:絕大多數人都傾向於成為處於“平均值”的人,不願意與別人有任何不同,甚至都不願出類拔萃。

扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒

圖片源自網絡

可是,完全不想著衝破世俗、追求更多元化的生活和工作方式,那何來發展何來進步可言?做出格的人,代價很大,但人生一定精彩。

沒有誰規定了微秒(10^-6 s)和納秒(10^-9 s)之間不能有其他的時間單位存在,只要你敢,時間都可以重新定義,Facebook做到了。

扎克伯格再添史記!Facebook創新時間單位Flick—7.056億分之一秒


分享到:


相關文章: