網誌文章分布

最新消息:
AviSynth/VapourSynth Filter 支援 YUV444P16 格式啦~ 這樣就有很多花樣可以玩了,像是Waifu2X, RIFE等RGB濾鏡可以幾乎無損輸出! 超開心
最近的腳本有提供RIFE實時撥放支援,等過段時間再把RIFE的相關資訊寫到Blog中 如果有時間的話...咕咕咕
DmitriRender迎來時隔年五年多的更新了(僅限NVIDIA Ampere, Turing, Pascal, Maxwell, Kepler顯示卡),同時也支援10Bit輸出。不過新版好像緩衝有點太少,容易卡頓
SVP最新版本已支援在DS系撥放器中透過Avisynth Filter輸出10Bit畫面,而且跳轉時卡頓狀況有大幅改善。
由AMD工程師回覆,AMD已徹底終止Fluid Motion技術,如有BFRC需求的用戶請多加留意。 (https://community.amd.com/thread/250830)

近期更新文章:
測試筆記:SVP最新測試版參數(beta script)(2023-12-17 腳本更新)
進階教程系列(十二) - 視訊解碼濾鏡 MPC Video Decoder(2022-06-11)
進階教程系列(三) - 字幕渲染濾鏡 XySubFilter丶AssFilterMod(2022-06-11更新)

2017年4月5日 星期三

基本教程系列(一) - 影片播放流程(2017-05-24更新)

在開始使用濾鏡之前,簡單介紹一下影片播放流程,以利於理解後續濾鏡的用途。

























上圖即為播放器播放的流程,
當開啟影片檔案時,
會先經過File Sourse(來源濾鏡)讀取檔案,
之後將內容傳給Splitter(分離器)將視訊丶音訊丶字幕分離,
分離之後的視訊丶音訊,分別交給對應的Video/Audio Decoder(視訊/音訊解碼器)解碼,
解碼完的視訊丶音訊,可以交由其餘Video/Audio Filter(視訊/音訊濾鏡)進行處理,
視訊/音訊濾鏡有很多,可以進行許多處理(例:銳化丶降噪丶升頻丶濾波丶補幀等...),
接著移交給各自的Renderer(渲染器)處理後,
最後輸出至對應的設備(視訊/字幕交給顯示卡輸出,音訊交給音效卡輸出)。


從上圖可以看到資料從原始檔案到最終輸出經過了許多濾鏡,
然而經過這麼多濾鏡,最終輸出的正確性會不會有影響呢?


很不幸地,這的確是一個大問題,
不同濾鏡的輸入丶內部處理丶輸出精度都有其限制,導致結果大不相同

舉例來說:
計算一個半徑為1.23456789 m的圓面積。
已知圓周率(π)是一個無理數(小數點後有無限位數),約為3.14159265

圓面積 = 半徑 * 半徑 * 圓周率

  1. 輸入精度為小數點後2位,內部處理精度為小數點後2位,輸出度為小數點後2位
    • 1.23 m * 1.23 m = 1.51 m^2
    • 1.51 m^2 * 3.14 = 4.74 m^2
  2. 輸入精度為小數點後2位,內部處理精度為小數點後8位,輸出精度為小數點後2位
    • 1.23 m * 1.23 m = 1.51290000 m^2
    • 1.51290000 m^2 * 3.14 = 4.75 m^2
  3. 輸入精度為小數點後4位,內部處理精度為小數點後8位,輸出精度為小數點後2位
    • 1.2346 m * 1.2346 m = 1.52423716 m^2
    • 1.52423716 m^2 * 3.1416 = 4.79 m^2
  4. 正確答案
    • 4.78828318 m^2
上述四種算法都沒錯,但是結果卻有些差異。

現在多數影片儲存方式多為YUV,
而最終輸出格式多為RGB(電腦螢幕),
所以勢必要轉換色彩空間,
以下為不同色深的YUV轉換到RGB24所能顯示色彩數量測試
goldenhige.cocolog-nifty.com/blog/2012/03/yuv8bit10bit-97.html
可以看到常見的8bit影片在8bit螢幕上只能顯示不到25%的顏色

僅僅是單純的YUV - 8bit轉換至RGB24就有如此之大的誤差,
高品質濾鏡的重要性在此體現,透過各種演算法盡可能地降低視覺失真,

所以需要更高品質的濾鏡來取代內建濾鏡,來達到更佳的視覺效果。

來比較一下下面幾張圖,
這幾張圖都是由同一個影片,同一個影格所擷取而成,
建議點圖放大比較。

原始:

推薦設置:(與原始相當接近,甚至色帶表現略勝)

Potplayer預設:(臉部顏色明顯偏綠,色帶較嚴重)

其他:(皆有些許問題)




除此之外,
使用此方案的各組件均由不同製作者製作出來的,
在相容性並不能保證絕對沒問題,
假設每項組件穩定性都有99%,
從 播放器 > 來源濾鏡 > 分離器 > 視訊解碼器 > 視訊濾鏡 > 視訊渲染器 > 顯示卡驅動
                                              > 音訊解碼器 > 音訊濾鏡 > 音訊渲染器 > 音效卡驅動
                                              > 字幕渲染器

最終穩定性只有(99%)^12 = 88.638%,
出錯機率還是不低的,
即使兩台電腦設定一模一樣,還是有可能異常,
原因不明,但有時候改個設定丶換個播放器就正常了,

使用此方案麻煩請先了解其風險,並有一定除錯能力,再繼續操作,謝謝。


這樣有稍微了解一點點了嗎?

還很混亂的話沒關係,
以後可以回來多看幾次,不要緊。


接下來的幾篇將簡單說明MPC-BE丶MPC-HC丶PotPlayer的推薦設置,
並教學如何套用濾鏡在播放器上。

敬請期待~

我們下回見 :

1 則留言:

熱門文章