網誌文章分布

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

SVP官方似乎把SVP 4 Free拿掉了,取而代之的是SVP 4 pro試用30天,有興趣的可以試試。

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  略為修改部分內文

34 則留言:

  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都有可能,要依實際狀況來設定。

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

    所附的圖片 要怎麼更改設定 我找不到 我是W10的
    謝謝

    回覆刪除
    回覆
    1. 您好,有些螢幕的確是沒有50丶59Hz可以選的,尤其是筆電型號。
      文章中的截圖是從顯示卡驅動內的設定,如果使用不同品牌可能會在不同地方。

      下圖為Windows 10內調整的地方(與驅動內的效果一樣)
      https://i.imgur.com/tezxL7p.png

      刪除
  4. 您好,我想請問您是如何將螢幕調整到71.928Hz的?參考您的文章,我嘗試了在Nvdia的控制面板裡調整到71Hz或是72Hz,但是播放視頻時可以發現,都是71.000Hz或是72.000Hz,不是我想要的71.928Hz。請問可以告知一下 具體的設置嗎?不勝感激。

    回覆刪除
    回覆
    1. 即使强行设置到71.928Hz,实际也并不像您文章中的截图那样
      我设置后的截图: https://i.loli.net/2018/11/03/5bdd04e133ecf.png

      刪除
    2. 當時我在設定的時候madVR尚未推出CustomResTutorial設定,
      所以我是進入Nvidia控制面板中自行微調時序參數以達到最佳更新率的。

      不過現在有madVR的CustomResTutorial可以自動選擇參數,方便很多,
      可以參考官方說明: http://madvr.com/crt/CustomResTutorial.html
      或者萬年冷凍庫: http://lysandria1985.blogspot.com/2018/04/3reclock-madvr.html

      另外聽聞Custom Resolution Utility (CRU)這軟體也可以達到類似效果。

      以上設定涉及硬體超頻,有機率會造成硬體故障,請三思而後行。

      刪除
    3. 謝謝解答,指明了我的方向。

      實驗了一下CustomResTutorial遇到一個問題,當我設置過59這一檔的微調之後,
      如果開啟switch to matching display mode when playback starts,
      再去設置71時,哪怕用23.976幀的視頻,也會自動調用59
      反之如果把這個選項改為when media player goes fullscreen,微調這個過程似乎就不會觸發

      我的疑問還是在如何得到一個比較好的71.928Hz。

      還沒來得及實驗Custom Resolution Utility (CRU)這個軟體。準備換個時間試一下。

      刪除
    4. 這部分我就不清楚了,switch to matching display mode這部分沒用過,這功能不知道為甚麼在我的設備上完全不起作用...
      至於為甚麼開啟when media player goes fullscreen後會無法自動變更,會不會是沒進入fullscreen exclusive mode?

      刪除
  5. 所以到nv面板改成59.940
    掛madvr渲染+開啟sommth motion播放23.976片源是正確的方式嗎

    回覆刪除
    回覆
    1. 大致上看起來是OK的。Smooth motion依喜好自行決定是否開啟。

      刪除
  6. 樓主想請問一下
    我螢幕更新率調整到59.94赫茲 看23.976fps的影片.....我使用madvr的全螢幕獨佔模式.ctrl+j查看資訊的時候螢幕是顯示60赫茲
    縮小視窗使用新視窗模式或是其他模式 ctrl+j一樣顯示59.94,不知道是什麼問題~

    回覆刪除
    回覆
    1. 剛試了一下,的確有這情況發生,我不確定是madVR還是顯示卡驅動造成的。

      我很少用FSE模式,因為FSE模式沒有特殊優勢,過去很多FSE的優點都被移植到視窗模式下了,而且FSE搭配部分顯卡驅動會有黑屏的問題,所以我目前基本不使用FSE了。

      刪除
    2. 23.976fps影片
      使用59.94赫茲更新率下去做觀賞雖說避免掉了重複幀....但還是會有judder問題
      解決方案除了使用電視觀看外
      有辦法使用軟件將源"完全"改為30fps 直接在60fps螢幕觀看 11 22 33 44 55 66
      或是29.97 直接在59.94螢幕觀看 11 22 33 44 55 66
      這樣技術上來說有辦法嗎?

      刪除
    3. 當然可以,不過您想用哪種方式來補上那些"不存在"的畫面呢?不論哪一種都有其代價的。
      比較容易想到的方法為 調整播放速度丶內插 ,不過這都有各自不同的缺點。

      刪除
    4. 電視切到23p會不會可以改善這問題呢
      雖說還是會顯示10分鐘左右重複一幀
      不過應該不會有judder的問題了吧?

      刪除
  7. Black Mickey 想問一下你是否嘗試過4K SVP的補禎? 我的CPU 6700K、顯示卡380X,調整SVP設定卡頓嚴重似乎沒辦法,最近在考慮是否更換RX570。

    回覆刪除
    回覆
    1. 有試過,不過很消耗處理器資源,我不知道你SVP或者渲染器怎麼設定的,
      如果是卡處理器,換RX570不一定會改善。

      刪除
    2. 謝謝板大的建議,看樣子我應該先來嘗試SVP的調教看看

      刪除

熱門文章