Software FRC (MEMC): SVP algorithm analysis 演算法分析

SVP (SVP4),才15鎂,手癢就買下去了,調一調參數大概歸類一下演算法

因為這樣又把許多以前的動畫翻出來看了一遍 XD...

 

 

簡單模式

基本上沒有 cadence detection ,靠影片的 metadata 決定,因為我直接用 60Hz film32 的影片偵測不出需要 FRC

有基本的 rim detection,黑邊偵測

切換 film & animate mode主要應該是影響 ME block 的大小,因為動畫的 uniform 區塊多,實驗看 animate mode 的 halo 明顯較大表示,ME 用比較大的 window size

自訂模式

可調參數不多,據說 SVP3 比較好玩 XD

在 MPC-HC 中格放可以看到 MC 的影像!!! 這簡直太令人開心了!!

官網的參數說明給了很多訊息,但很多俄文看無..

  • Frame interpolation: phase的差補位置,基本上越高補越多 frame,畫面也越順,補比較少則會用 pulldown 出圖。
  • SVP Shader: 大致上分三大類,原理猜同 H.264,一種是IP影像的 mesh deformation 補圖( fastest, animate ),IP影像的 block 內插 ( block ),另外就是 B 影像bi-directional 的方法 ( simple to complicated )。
    • mesh deformation 的優點是不會有破洞的問題,控制 mesh 採樣點的疏密可以輕鬆調整效能,但是 mesh deformation 容易造成奇怪的扭曲,逐格撥放快速移動影像可以容易看出。
    • block 內插容易會產生疊影或破洞,但東西不扭曲了 XD
    • bi-directional 則是看起來效果較好,但容易有空對空的物體消失問題,竿子或小東西之類的會閃爍。
  • Artifacts masking: 與原始 pulldown 影像作不同程度的 blending,抵銷 artifacts 同時當然會影像流暢度,所以預設是關
  • Motion vectors precision: MV 的取樣精度,最多到半個 pixel
  • Motion vectors grid: block 大小,影響東西太多,不一定是越小越好,預設是 16px
  • Decrease grid step: 有點難猜,似乎是在大 block size 時用小 block 改善
  • Search radius: MV 的搜尋範圍,fast mode會用普通 SAD 做 block compare 比較快,其他則是用 SADT (比較偏頻譜轉換,適用在光影變化大的場景,官網: Use SATD function instead of SAD on every coarse level, improves motion vector estimation at luma flicker and fades. )
  • Wide Search: 假設在 search radius 中找不到夠像的 block (這裡沒有給 threshold 調整),則與 pulldown 或線性內插影像 blending
  • Width of top coarse level: 這參數表示 MV 的搜尋是 multi-resolution 跑的,可以設定最 coarse 影像的大小,程式建議是在高解析度 ( 4K ) 下打開。根據文檔敘述,coarse 解析度的 ME 是 pixel based,而後在 finer 解析度拆分成 4 個 sub-block 再用 sub-pixel 跑 ME;為了避免 sub-block 破碎可能在 MV 差異不大時合併所以有一個 field 參數。

 

來自官網的 penalty 使用參數: 很大一部份來自 MVTools

有趣的是官網還自己提供了調整參數的說明,基本上 animate mode 就是幾組設定要改。

  • MC改成 mesh deformation
  • 加大 block size
  • 減少 search radius,當然結果會偏向 judder,但總比歪曲好
  • 減低 MV 精度到 2px,應該是怕 candidate 精度太高互相競爭,造成 MV 不一致性較高

 

AMD Fluid Motion 似乎也是另外一種選擇,但沒有 AMD 卡所以沒研究

Leave a Reply

Your email address will not be published. Required fields are marked *