Reclock & SVP & AMD Perfect Picture & Smooth Motion FRC of madVR
首先聲明,本文非原創,絕大多數內容為文末參考資料的精簡整合,所有圖片均為轉載。
主要談談Reclock、SVP、AMD Perfect Picture(主要是AMD Fluid Motion),以及madVR的Smooth Motion FRC的使用場景和利弊。
本文不提供任何軟體和功能安裝與開啟方法,有需要可以參考文末鏈接。
①Reclock
Reclock是播放器領域知名音效濾鏡之一,作為DirectShow Filter的一種,在MPC架構中通常被用作Audio Renderer。
其擁有兩大功能:
1.對視頻與音頻串流進行小幅度加、減速,使其幀率(FPS)與屏幕刷新率同步。
2.使音頻可以通過XP系統的Kernel Streaming或Windows 7系統的WASAPI輸出,減少聲音信號的延遲和失真。
先說說第一個功能。
眾所周知,每一塊屏幕都有自己的刷新率,即每秒鐘更新多少次畫面。大多數屏幕均為60Hz,許多高端屏幕支持120Hz、144Hz。但是,這並非一個精確數字,每一塊屏幕的實際刷新率都會有微小的偏差。
視頻的幀率(FPS)也是一個眾所周知的概念,動畫與電影多見24 FPS(實際為24/1.001=23.976023976......),電視劇多見30 FPS(實際為30/1.001=29.970......)。
再說說何謂「同步」:屏幕刷新率為視頻幀率的整數倍即為同步。例如60Hz屏幕播放30 FPS的視頻,此時即為「同步」。不同步的情況下(如60Hz屏幕播放24 FPS的視頻),沒有進行處理的話則會造成視頻畫面有輕微的「抖動(judder)」。
Reclock第一大功能的原理,是對視頻畫面的幀率進行加速或減速,並重採樣音頻,在音畫同步的情況下使之與屏幕刷新率完全同步。
但Reclock無法在音質幾乎無損的情況下使完全不同步的播放狀況達成完美同步(即24 FPS視頻在60Hz屏幕播放),只能將幾乎同步的播放狀況改善為完全同步(30 FPS視頻在60Hz屏幕播放)。
為什麼會出現「幾乎同步」的狀況?因為如前文所說屏幕的實際刷新率並非精確的60Hz,實際可能是59.9......Hz或60.01.......Hz等,由「System Clock」決定。視頻也並非30 FPS,而是29.970 FPS,播放速率由「Audio Hardware Clock」決定。兩者存在名為「Audio Clock Deviation」的誤差。
看似達成整數倍實則不然,這就是「幾乎同步」。其後果便是播放器每過一段時間都不得不重複(Repeat)一幀或丟棄(Drop)一幀以保證音畫同步,造成畫面上的卡頓與抖動。
Reclock第一大功能便是致力於改善這種狀況。
使用madVR,在播放過程中按下Ctrl+J打開OSD資訊面板。
不使用Reclock的情況下,在60Hz屏幕播放29.970 FPS的視頻,有如下信息。可以看到,紅框處提示「1 frame drop every 16.57 seconds」,表明根據系統計算,每16.57秒可能會丟棄1幀。同時下方「dropped frames」處數值呈周期性增加。
那麼開啟Reclock,可以看出幀率明顯穩定。
不開啟Reclock,在60Hz屏幕播放23.976 FPS的動畫。
開啟Reclock,可以看到在不同步的情況下依舊有明顯改善,但無法完全消除「抖動」。
現在說說Reclock的第二大功能。
使用WASAPI輸出音頻可以使信號繞過Windows系統自帶的混音處理,確實會減少信號延遲與失真,不可否認對音質有改善作用,許多知名音頻、視頻播放器,如Foobar 2000與Potplayer都自帶該功能。
但聲音畢竟是玄學嘛,你懂得~
談談Reclock的缺點
相當一部分人認為,如果視頻沒有出現影響觀感的嚴重的重複幀與掉幀現象,無需使用Reclock追求完美同步。因為這必須對音頻進行重採樣(Resample),對部分人來說是可以感知且無法接受的音質損失。
當然可以選擇關掉同步功能僅使用WASAPI輸出功能,但這種功能播放器都自帶了~
②SVP
SVP,全稱「SmoothVideo Project」,功能簡單明了:即時計算模擬畫面中間幀,插入視頻達成高幀率絲滑體驗。
使用場景:
1.在60Hz屏幕上觀看24 FPS視頻,深受「抖動感」困擾。
2.在部分屏幕上深受畫面殘影困擾。
3.部分張數不足的動畫同步了還是有「抖動感」。
4.想體驗高幀率的絲滑順暢。
5.CPU太強沒地方用。
SVP的優點即為解決上述問題,提高畫面動態解析度的同時解決各種「抖動」問題,不再存在「不同步」的困擾。網路上有許多經過SVP插幀處理過後的視頻,隨便找一個即可預覽效果,例如:【60幀】埃羅芒阿老師op&ed ——bilibili
缺點自然也是有:
1.Soap opera effect。因為電視肥皂劇多用60i拍攝,所以視頻看上去有點肥皂劇的感覺,算不算缺點因人而異。
2.Artefacts,也有人寫成Artifacts。大致的意思就是強行補幀造成畫面的不自然感。
3.破壞視頻本身有意傳達的效果,24 FPS的電影在運動場面自然產生的模糊與抖動或許是導演想要表達的效果。
4.SVP通過專用的avisynth進行補幀計算,只接受8bit的YV12輸入與輸出,浪費10bit壓制的視頻,造成處理精度的下降並影響最終畫質。
5.CPU毀滅者。
其中,第4點作為客觀硬體上的缺陷,對擁有10bit屏幕和收藏Ma10P壓制視頻的高端玩家們來說是不可接受的。
第2、3點則是大多數人排斥SVP的原因,就我個人站在動畫愛好者的立場而言,這兩點就是排斥SVP的最大原因。箇中理由可以參照知乎其他相關問題的高票回答,例如這個問題下的紅白老師的回答:日本大部分3D動畫為什麼動作不流暢,有丟幀的感覺? ——知乎
放一張SVP補幀補爛的時候的截圖,某些時候這種畫面撕裂、線條破碎和水波紋爛幀隨處可見真的相當難受。
但許多人用過之後都說好並紛紛表示回不到沒有SVP的日子,所以還是請各位自行體驗後再做決定,畢竟人各有所好,在沒有出現爛幀的時候部分場景的效果確實驚艷。
③AMD Perfect Picture
只是順帶一提,畢竟沒用過A卡體驗這項功能。
從官網的介紹上,不難看出AMD Perfect Picture的用途:銳化等等畫面改善類似madVR,名為AMD Fluid Motion的插幀技術類似SVP。
同樣放上網路上的效果預覽視頻:【AMD Fluid Motion補幀】番劇NCOP合集(720P,60FPS) 持續更新中 ——bilibili
個人的觀點是,既然madVR是天下第一且不可替代的,就沒有必要啟用這些功能。對於Fluid Motion的插幀,同SVP一樣諸位A卡用戶體驗過後再做決定。
放一張AMD Fluid Motion補爛幀時候的截圖。
④Smooth Motion FRC
作為madVR在v0.86.0版本添加入的功能,是我個人唯一推薦的解決幀率與屏幕刷新率不同步產生的「抖動」問題的利器。
具有如下優點:
1.可以讓任何幀率去對應屏幕刷新率,並保持視頻流暢。
2.如果硬體可以應付,無需Reclock也不會產生任何drop或repeat frame。
具有如下缺點:
1.略微增加GPU負擔。
2.使視頻的銳利度稍微下降。視頻幀率小於屏幕刷新率時較為輕微、不可見。幀率等於刷新率時銳利度損失較大。
Smooth Motion FRC的原理並非是SVP的補幀,而是利用了「幀融合(Frame Blending)」,官方的說法是「30% of frame A and 70% of frame B to calculate the output frame (pixelC = pixelA * 0.3 + pixelB * 0.7)」。
通過Blending達成同步,沒有SVP那樣在某些場景下的驚艷感,但最重要的是保持了視頻的原汁原味,不會產生任何不自然的感覺。
同時,個人站在動畫愛好者的立場,Smooth Motion FRC帶來的些許「動態模糊(motion blur)」對動畫畫面來說並非壞事。因為真人視頻在拍攝時自然有動態模糊,動畫的每一張畫理論上都是線條清晰的,一定的動態模糊可以改善「頓挫感」和「抖動感」,增加觀感上的流暢度。
放3張開啟Smooth Motion FRC後的Blending Frame,單拉出來並不好看,實際播放效果中並不差。
注意,開啟功能後,按下Tab打開狀態欄會顯示補幀到60 FPS。
按下Ctrl+J打開OSD資訊欄後,顯示「smooth motion on(settings)」即為功能開啟。同時儘管依舊顯示在一定周期內可能會drop frame,但只要觀察下方的「dropped frame」是否增加即可,如果沒有增加即證明功能有效。
視頻開始播放瞬間時顯示有一些dropped frame,屬於正常現象,後續播放沒有增加即可。
參考資料
[VCB-Studio 科普教程 2.5] 基於 PotPlayer 和 madVR 的播放器教程
萬年冷凍庫: 系列之3─最強渲染器-madVR
萬年冷凍庫: 系列之5─能讓你流暢播放影像的音效濾鏡-Reclock
萬年冷凍庫: 系列之6─令人驚豔的即時補幀軟體-SVP
推薦閱讀:
※《奧特曼》中形象的設計,是根據什麼設計的?
※灰太狼為什麼總是追不上喜羊羊呢,是因為灰太狼圖片上看起來腿比較短嗎?
※熊大熊二光頭強中光頭強有哪些角色經歷?
※《芭比公主》是?
※為什麼皮克特奧特曼還不如女奧特曼?