網誌文章分布

網誌文章分布
入門教程系列:2017年三月,主要是提些播放軟體的安裝。
基本教程系列:2017年四月,會提到一些播放流程丶驅動程式丶播放器設定。
進階教程系列:2017年五月,大多談些濾鏡的事項。
SmoothVideo Project 系列:2017年六月,部分關於SVP的文章
測試筆記:2017年七月~,就是一些相關測試的筆記,錯誤可能較多。
SmoothVideo Project(SVP)日系手繪動漫(Anime)適用參數:永久置頂

2017年5月15日 星期一

進階教程系列(八) - 螢幕更新率Hz與影片幀率fps(2018-02-05更新)

本篇來說說螢幕更新率Hz與影片幀率fps的一些細項,
首先必須要清楚明白螢幕更新率與影片幀率的差異,

螢幕更新率:螢幕每秒更新的頻率,通常採用赫茲(Hz)表示。
影片幀率:影片每秒顯示張數(Frame per Second,FPS),因此常以fps表示。

並不是有著120hz螢幕就能享受到120fps的影片,
反之,也不是有著120fps影片就等於在看120fps的影片,
而是取「螢幕更新率」和「影片幀率」之中的較小值,才是真正體驗到的感受。
例如:
48Hz螢幕 + 24fps影片 ---> 24fps觀感
60Hz螢幕 + 120fps影片 ---> 60fps觀感



一般來說,最常見的螢幕更新率為60Hz(當然還有75丶90丶120丶144Hz等...)

常見的影片幀率(fps)有23.976fps丶25fps丶29.97fps丶59.94fps(當然也有其他較不常見的)
而23.976fps常被稱為24fps,29.97fps常被稱為30fps,
但實際上23.976fps和24.000fps是不一樣的!! 29.97fps與30.000fps也不同。

25fps多見於PAL地區,而29.97fps常見於NTSC地區,(詳細可以自行至維基百科查詢)
至於電影或日系動畫則多為23.976fps的格式,
而不少網路串流會將影片轉為29.97fps,
從23.976fps轉成29.97fps的方式多為每4幀重複1幀來轉換,
(目前巴哈動漫瘋有些影片不是重複幀轉換,而是採用Blend的方式)

23.976fps:123456789...
29.970fps:123456789...

因此想要有較佳的觀感,會建議利用IVTC工具(TIVTC)先進行除幀,將29.970 -> 23.976 fps再觀看或後處理(補幀)


電腦中通常可以調整螢幕更新率為60丶59丶50Hz,
60hz是指60.000hz,
為了與60.000hz做區分,59.94hz通常以59hz表示,
而50hz是觀看PAL地區影片時會用到的(25fps)。




由於常見影片fps多為23.976fps (24000/1001),大多的電腦螢幕更新率多為60Hz,
這樣就有個問題需要解決:「如何在60Hz螢幕中顯示23.976fps影片?」

先假設影片是24fps,螢幕是60Hz,
由於撥放器要避免撕裂,所以每次顯示的畫面均為完整1幀,那麼問題就來了。
影片1秒顯示24個畫面,
螢幕1秒顯示60個畫面,
影片為了要對應螢幕,勢必要調整成1秒顯示60個畫面,
又不可能輸出「上半部0.5個前畫面 + 下半部0.5個後畫面」,這樣就有畫面撕裂的情況。

(圖片來源:https://zh.wikipedia.org/wiki/%E7%95%AB%E9%9D%A2%E6%92%95%E8%A3%82)


但也不能輸出「混合 0.5個前畫面 + 0.5個後畫面」,這樣會有Blend(重影)的現象
P.S. 
不過madvr的smooth motion就是利用類似技巧來抑制Judder,缺點是會有Blend的現象,
AMD的Fluid Motion也有類似現象,上圖就是AMD Fluid Motion的截圖。


那麼將24fps影片對應到60hz螢幕就會利用3:2 pull down的方式,如此一來就能完美對應了
(圖片來源:http://www.hdhead.com/?p=50)

但這樣又有一個新的問題,
60Hz又可以看成週期為16.66ms(1s/60hz=0.01666s),
影片中每個畫面顯示的時長不同,導致畫面不是很流暢,這現象就被稱為Judder(抖動)。

而23.976fps影片對應在60hz螢幕上又有點不太一樣了,
除了原先的Judder(抖動)外,還有repeated frame(重複幀)的情況,
因為23.976fps 在經過3:2 pull down之後是變成 59.940fps(23.976fps*5/2=59.940fps)
59.940fps影片對應到60hz螢幕會需要repeated frame(重複幀),才能完美對應
根據計算:1frame/(59.940fps-60hz)=-16.66s,
可以算出大約每16.67秒需要多1幀才能符合,
亦為每16.67秒便會重複一幀,當畫面在移動時,重複幀會使畫面會明顯地停頓一下,這就被稱為repeated frame,
在觀感上,repeated frame 造成的頓挫感比 3:2 pull down 還要更加明顯。(因為3:2 pull down的頻率較高)


以上文字可能較難以理解,下面用示意圖來輔助說明


3:2 pull down

上圖為發生3:2 pull down時的狀況,例:59.94Hz螢幕撥放23.976fps影片時
可以看到各幀所顯示的時間長度不同,會有抖動的感覺(Judder)


重影 Blend

上圖紅框處為發生 Blend 時的狀況,例:使用madVR內的smooth motion功能
可以看到會有時是同時顯示兩幀的情況。


重複幀 repeated frame

上圖紅框處為發生 重複幀 時的狀況,例:60Hz螢幕撥放59.940fps影片時
為了同步,會發生同幀顯示兩次的情況。


掉幀 Dropped frame

上圖紅框處為發生 掉幀 時的狀況,例:60Hz螢幕撥放120fps影片時
為了同步,會發生跳過部分幀的情況,另一種情形發生於效能不足。


因此,
常看23.976fps的影片,最佳選擇就是
更新率為23.976丶47.952丶71.928丶95.904丶119.88丶143.856...(hz)的顯示設備,
既可以避免drop/repeat frame(掉/重複幀),又不用pull down,有最佳流暢度。

如果有120hz丶144hz的螢幕,則可以改成119.88hz,
119.88hz的好處是剛好是 23.976*5 丶 29.970*4 也是 59.940*2 ,正好符合常見影片的fps。

再不濟也要設為59.94hz來避免drop/repeat frame(掉/重複幀)


額外一提,
如果使用Reclock也可以避免drop/repeat frame(掉/重複幀)的問題,
透過微幅加減速影片來達到其效果,(25fps->24fps丶59.940fps->60fps)
缺點是聲音也被加減速了,變成聲音有不bitperfact的疑慮。



也許會有人有疑問,
為什麼都已經完全排除drop/repeat frame丶pull down問題了,
但和在電影院中所觀看23.976fps電影時的觀感卻差很多,
這部分與顯示設備背光有關,
播放23.976fps影片時,背光閃光頻率必為fps的整數倍,
考慮到critical fusion frequency(閃光融合頻率,當閃光頻率高於此頻率時,將無法辨識出是否在閃爍),
電影院中的放映機的曝光頻率多為47.952Hz或71.928Hz,
現在不少電腦螢幕主打不閃頻恆亮,而曝光時間越長,運動會更模糊,動態解析度下降,
為了降低運動模糊,可以朝兩種方向改善

  • 背光掃描
  • 補幀

不少人認為CRT在這方面表現更好的原因,就是因為CRT採用背光掃描,
利用背光掃描的方式可以達到類似電影院中的觀感,
有許多主打低運動模糊的電競螢幕使用類似技術,
包含Ultra Low Motion Blur (ULMB)丶 NVIDIA LightBoost丶BENQ DyAc (Dynamic Accuracy)丶MotionFlow Impuse丶LG MOTION240丶EIZO TURBO240丶“Blur Reduction”等...
(參考資料:Blur Busters:Motion Blur Reduction (ULMB, LightBoost, etc)



以圖片來說明就是以下兩張圖,上圖代表螢幕,下圖表示投影機顯示的示意圖



兩張圖片中,哪一張比較平滑呢?明顯是下圖
上圖因為背光恆亮,使得呈現鋸齒狀,
當兩條藍線越接近丶曝光時間越短時,
其間距(紅色箭頭)越小,動態解析度便會越好,
這也是為甚麼投影機的觀感會比螢幕還要好的主因。

*普遍投影機/放映機的曝光頻率會比影片幀率還高,上圖為簡化成1幀曝光1次的示意圖,實際上每幀會曝光多次才正確。
**由於曝光時間是影響動態解析度的主因之一,因此即使螢幕液晶反應時間是0ms,依然會有模糊的情況。


但在部份情況下,即使有背光掃描但流暢度還是有些不足,
這是因為影片幀率低所造成的不連續感,
這時候就需要搭配補幀來獲得更高影片流暢度,
不過代價是破壞影片原始觀感,所以不少人不喜歡補幀效果,筆者也僅能接受動畫類影片補幀,高幀率真人影片不太能接受。



而補幀的示意圖則為下圖


由上圖可見,補幀過後的影片每幀曝光時間變短,動態解析度更好,
除外,因為有中間幀的因素,影片看起來會更加連續。


綜上所述,
其實看影片用的螢幕並不見得只有要求解析度丶色彩而已,
有些電競螢幕在這部分的表現也可以很不錯(高更新率及運動模糊減少技術),
當然最佳解還是高畫質的電視或投影機,
這也是現在高階電視機種很多都主打高Hz丶內建補幀丶背光掃描的原因。


在最後面稍微提個讓一般螢幕支援71.928hz的技巧,
不過就不附教學,由於修改出廠預設值,並非所有螢幕都能正常工作,使用前請三思。
可以藉由Nvidia驅動或者cru來修改螢幕更新率至71.928Hz,這行為屬於螢幕超頻,須注意。


至於會說改成71.928hz的原因是一般的電腦螢幕支援垂直更新率在50~75hz,剛好落在這區間內,成功率比較高



螢幕更新率71.928Hz



2017-07-12

更新內容
2017-10-09  添加部分說明圖片丶文字
2017-10-16  略為修改部分內文
2017-10-19  略為修改部分內文
2017-11-22  略為修改部分內文
2018-02-05  略為修改部分內文

13 則留言:

  1. 請問一下,您有用過madVR的Custom display modes嗎? 據說這個可以取代Reclock?
    請問Custom display modes可以跟Reclock一起使用嗎?因為N卡新版本的關係,導致無法微調成功(狀態有變成optimization data available,但實際上同步狀況沒變),可是我又不想換舊版本,所以想問說能不能和Reclock一起使用,而我還有使用SVP。
    如果不行,那取消Reclock的同步功能只進行WASAPI輸出,這樣的話可以一起用嗎?
    還有,要怎麼微調成47.952Hz呢?我只能微調成整數,無法用出小數位數。
    我的螢幕能微調成48Hz卻不能微調成72Hz,不過以同步狀況來說應該是48Hz比72Hz好吧?

    回覆刪除
    回覆
    1. 抱歉,回復晚了
      有的,我就是使用madVR的Custom display modes來微調螢幕更新率,
      這在一定程度上的確可以取代ReClock,
      ReClock算是自動調整,Custom display modes則是需要手動調整。

      Custom display modes和Reclock理論上應該是可以一起使用的,效果應該會更好,
      不過Reclock限制只能用於32Bit的播放軟體,無法使用64Bit解碼器,算是一大缺點。

      如果不使用Reclock的同步功能,那其實直接用撥放器內建的WASAPI輸出即可,應該沒必要執著於Reclock吧?

      通常設為47Hz丶71Hz,就會自動選成47.952Hz丶71.928Hz。


      以24fps影片來說,LCD 48Hz和72Hz的同步效果是一樣的,一個是重複顯示2次,另一個是3次,
      如果是搭配SVP使用的話,那72Hz的效果會比48Hz要來的優良,SVP官方有提過 奇數倍補幀效果較佳,其次是整數倍。

      刪除
    2. Custom display modes要投入時間試效果…都用它生成的最適化設定試…

      刪除
    3. 感謝回覆。
      我是使用MPC-BE(1.5.2 (build 3445) beta)的,都忘了有內建的WASAPI輸出。
      https://imgur.com/zgu148T
      在設定方面,聲音裝置該如何選擇呢?我有安裝音效卡Asus Xonar Essence STX II,然後只使用耳機。
      同步方法又該選擇哪個呢?

      刪除
    4. 聲音裝置依您所使用的連接方式來選擇即可,勾選獨佔模式音質會較為優異,
      另外可以自行決定是否勾選閒置時釋放裝置。

      同步方法這部分我沒有進行詳細測試,粗略比較後並無發現明顯差異之處,所以這方面沒辦法給您建議。

      如果對於同步要求非常嚴格的話,Custom display modes還有一點需要留意,
      常見動畫丶電影的fps多為23.976fps,但其實在經過壓制後還細分成兩種,
      一種為24000/1001 fps,實際上等於23.976023976...fps
      另一種是23.976fps,等於23976/1000 fps,略有不同,
      再調整Custom display modes建議使用24000/1001fps的mp4檔案來調整,會比較好一些。

      刪除
    5. 那麽我要怎麼判斷出mp4檔是否為24000/1001fps呢?

      刪除
    6. 我是使用Mediainfo來查詢
      https://i.imgur.com/pguHgmt.png

      有些 23976/1000 會顯示成 2997/125

      至於選用mp4格式而不是mkv,在以下網址有一些說明
      https://github.com/mpv-player/mpv/wiki/Display-synchronization#demuxer-mkv-fix-timestamps

      刪除
    7. 更正一下之前回覆錯誤之處,
      常見動畫丶電影的fps常被簡稱成 24p 丶 23.976fps,但實際上正確規格是 24000/1001 fps,
      但部分軟體或壓制者會壓成 24000/1000 丶 23976/1000 這兩種存在誤差的fps,導致幀率不夠精確。

      刪除
    8. 那麽59.94fps也跟23.976fps一樣有細分的fps嗎?

      刪除
    9. 抱歉打錯了,不是59.94fps,是29.97fps才對。

      刪除
    10. 一般來說,
      59.94fps是指 60000/1001 = 59.94006 fps
      29.97fps也多為30000/1001 = 29.97003 fps

      這幾個都是NTSC規範下的產物。

      刪除
  2. 播放23.976fps,電腦設置為71hz還是72hz

    回覆刪除
    回覆
    1. 選擇與71.928hz較為接近的,不一定是71hz或72hz,
      設定71hz,實際輸出71.000hz或71.928hz都有可能,要依實際狀況來設定。

      刪除

熱門文章