Non Drop Frame Drop Frame

时间码中Non Drop Frame和Drop Frame是怎么回事?

電視的時間碼是以電視播放的速度為基礎;台灣所採用的美製NTSC電視每秒播放30格【Frame】,交錯式掃瞄【Interlace Scan】,每一格為525條掃瞄線,每一格畫面有兩個圖場【Field】,而第一個圖場【Field 1、upper field、Odd Field】為1、3、5...等等單數掃瞄線,而第二個圖場【Field 2、lower File、Even Field】為2、4、6...等等雙數掃瞄線。


到了數位影像的時代,所採用的時間碼跟類比時代大致相同。不過增加了所謂;序列式掃瞄【Progressive Scan】。它的工作方式分為每秒30格,每個呈現的畫面只有一個全畫像的圖場。因此大大增進了影像的品質,可以呈現細的線條而不至閃爍。


基本的時間碼計算方式與時鍾相同,只有增加了秒以下的格(每秒三十格)。每三十格進位唯一秒,每六十秒為一分鍾,每六十分鍾為一小時。它呈現的方式為:00:00:00:00


在以往類比時代每一秒30個含有六十個圖場,是為了與台灣的美製電力系統匹配,來避免來自電力的干擾【我們的電力每秒60赫茲】。但是電力系統並不是真的 60赫茲【KHz】,而是59.94赫茲。因此美國電影、電視工程學會(SMPTE)制定出概數時間碼:Drop Frame與精準時間碼:Non Drop Frame。


所謂概數時間碼Drop Frame;就是配合電力的週率來計算,每秒到了29.97格的下一格就自動進位成為下一秒,因此每一秒就多了0.03格 【30-29.97=0.03】,因為0.97格也是一個畫面。這樣一來到了一分鍾的時候就會有1.8格的誤差【0.03*60=1.8】,所以採用概數 算法,在每一分鍾都加上兩格,它呈現的一分鍾的時間碼:00:01:00:02,兩分鍾呈現:00:02:00:02。早期的電視系統為了處理電力干擾的 問題終於用這個方法解決。而後也成為一種時間碼的標準,只要式概數式的時間碼,它們看起來都是這樣:29.97(三十格)、59.94(六十格)、 23.98(二十四格)。


精準時間碼Non Drop Fram:之所以另外製定精準時間碼,主要是因為概數時間碼解決的電力干擾的問題,卻對後來數位化的製作產生困擾。數位化的電視、電影製作通常都在電腦與 軟體之間運作,當一段影片需要去背景、做特效,往往不知道該怎麼處理29.97格的那.97格,因此精準時間碼就是每秒三十格

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KeyError Traceback (most recent call last) Cell In[17], line 1 ----> 1 data = data.drop(['125','125.1'],axis=1) 2 data File D:\anaconda\envs\zuoye\lib\site-packages\pandas\core\frame.py:5268, in DataFrame.drop(self, labels, axis, index, columns, level, inplace, errors) 5120 def drop( 5121 self, 5122 labels: IndexLabel = None, (...) 5129 errors: IgnoreRaise = "raise", 5130 ) -> DataFrame | None: 5131 """ 5132 Drop specified labels from rows or columns. 5133 (...) 5266 weight 1.0 0.8 5267 """ -> 5268 return super().drop( 5269 labels=labels, 5270 axis=axis, 5271 index=index, 5272 columns=columns, 5273 level=level, 5274 inplace=inplace, 5275 errors=errors, 5276 ) File D:\anaconda\envs\zuoye\lib\site-packages\pandas\core\generic.py:4549, in NDFrame.drop(self, labels, axis, index, columns, level, inplace, errors) 4547 for axis, labels in axes.items(): 4548 if labels is not None: -> 4549 obj = obj._drop_axis(labels, axis, level=level, errors=errors) 4551 if inplace: 4552 self._update_inplace(obj) File D:\anaconda\envs\zuoye\lib\site-packages\pandas\core\generic.py:4591, in NDFrame._drop_axis(self, labels, axis, level, errors, only_slice) 4589 new_axis = axis.drop(labels, level=level, errors=errors) 4590 else: -> 4591 new_axis = axis.drop(labels, errors=errors) 4592 indexer = axis.get_indexer(new_axis) 4594 # Case for non-unique axis 4595 else: File D:\anaconda\envs\zuoye\lib\site-packages\pandas\core\indexes\base.py:6696, in Index.drop(self, labels, errors) 6694 if mask.any(): 6695 if errors != "ignore": -> 6696 raise KeyError(f"{list(labels[mask])} not found in axis") 6697 indexer = indexer[~mask] 6698 return self.delete(indexer) KeyError: "['125', '125.1'] not found in axis"
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值