Re: [請問] MPC的ffdshow是不是比LAV的解碼效果好啊?
※ 引述《roex0608 (BorEXE)》之銘言:
: 會這麼說是因為我最近才知道ffdshow有所謂的一個去斷層(或叫色帶)的功能
: http://i.imgur.com/lX6VlpX.jpg

: 以往我看影片在進入畫面很昏暗的場景的時候,都會有很多色帶產生的現象,開啟這
: 功能後能夠有效減輕這個現象,見效果
: http://i.imgur.com/6w7ZQAN.jpg

: 有色帶↑
: http://i.imgur.com/lpp6vtH.jpg

: 去色帶後↑
: http://i.imgur.com/UyPtqu8.jpg

: 有色帶↑
: http://i.imgur.com/YH03OTb.jpg

: 去色帶↑
: http://i.imgur.com/KVUVMsJ.jpg

: 有色帶↑
: http://i.imgur.com/IZUYNx9.jpg

: 去色帶↑
: 這功能真是解決我長年以來的疑問,我一直以為這是我電腦配置太渣的問題,原來是可以
: 改善的
以動畫片源來說,主要是壓制時壓縮與量化造成漸層資訊失真,這可以透過調整
壓制參數與使用10-bit精度編碼來減少色帶的產生,但高壓縮設定時
能減少的色帶還是有限,所以除了選擇較好的片源(高壓制品質)外,可以透過
去色帶的後處理來進行修飾與還原,另外,有些片源是本身就包含色帶,
因此為避免色帶被直接壓進去,會在壓制串列前加一段前處理作業來去色帶與修復,
而有些壓制組則重視原始片源原始呈現,不做額外的"美工",所以您會看到壓制
出來的畫面縱使流量與壓制設定很高,還是會有色帶的出現。
: 我看LAV解碼器就沒有這種功能,那為何官方的安裝預設要用LAV呢?LAV有何優勢嗎?
首先,這個功能是屬於後處理(Post-processing),通常不在一般解碼的程序中,
解碼器做完視訊解碼後,才讓輸出的影像經過一連串filter進行後處理,
包括像是您ffdshow上看到的Resize,灰階調整等等,到SVP這類的東西
都可以稱作後處理。
ffdshow提供的去色帶與縮放兩個後處理功能可以完全由madVR取代,
除了算法較好提供更好品質之外,madVR直接負責最後rendering的工作,
角色上來看,madVR比ffdshow更適合進行後處理,且若您的顯卡不錯,
它能分攤CPU與GPU的使用率。
以下我做了測試來比較ffdshow與madVR的deband品質,
-ffdshow設定部分
http://i.minus.com/iEX8odZbOoyJ9.png

(去色帶使用預設值)
http://i.minus.com/ibtcmubjfzmNtk.png

(為了最好的效果,將ffdshow輸出強制指定為RGB32)
http://i.minus.com/ibfWwtqENJy7jr.png

(使用高品質YV12轉RGB,並套用混成(dithering))
-madVR設定部分
http://i.minus.com/ivjjDV5P9rJjM.png

(去色帶使用中等(適應性判定))
http://i.minus.com/iBZhEsdcg3hPE.png

(品質設定除了dither算法不使用OpenCL Error Diffusion外全開)
PS: 測試使用的madVR版本為0.87.4,非最新版本,但不會影響測試結果
Result
-原始影像
http://i.minus.com/ib24sZpa0QIVxs.png

(8bit YV12 BT709 1280x720 256灰階)
-ffdshow
http://i.minus.com/ifY5lK9ThLx89.png


ffdshow與madVR去色帶皆開大時,結果如下
Result
-ffdshow
http://i.minus.com/irnAS581JNyjJ.png

(門檻6,半徑16)
-madVR
http://i.minus.com/igdLOCmjoYNhW.png

(去色帶雙選項High)
您可以看到使用中等設定時,madVR的去色帶算法已將色帶去的差不多,
而ffdshow仍有一些未去乾淨。
使用較強設定時,madVR幾乎完全將色帶去除,而ffdshow也將色帶除的差不多,
但ffdshow出現了一些圖像失真(artifacts)。
您可以看到madVR去除色帶的品質較ffdshow自帶的去色帶功能好,
LAV雖然沒有ffdshow的一些後處理功能,但在單純輸出解碼影像的部分十分稱職,
且LAV的開源計劃目前處於活躍的狀態,新的版本持續在對解碼效率優化,並支援
更多功能,ffdshow則已成熟更新次數較少,基本上相對較不活躍,詳細您可以查看
LAV與ffdshow的changelog。
從結果來看欲獲得高品質輸出 madVR + LAV是最佳組合,若原PO GPU不夠力的話
再考慮使用ffdshow的後處理濾鏡,而除了ffdshow自帶的後處理濾鏡外,ffdshow
也可使用AviSynth腳本外掛做即時運算,您只要安裝AviSynth與需要的濾鏡即可,
其中比較接近madVR去色帶品質的AviSynth filter是flash3kyuu_deband,根據madVR
作者在討論版的說明,madVR去色帶是以flash3kyuu_deband的算法為基礎,因此您若
使用f3kdb(該濾鏡的簡稱),或許可以獲得類似madVR去色帶的效果,除了f3kdb外,您也
可以試試GradFun2db等,AviSynth有許多的處理filter可以玩,壓制影片時的前處理
也常會用到這些濾鏡,對於壓制影片的人來說,如何使用這些濾鏡壓出
最佳效果是一門學問xd
PS: 關於截圖中,應用程式的標題列內容會有 [#] 符號包起來是因為使用了
沙盒來執行程式,在沙盒中執行程式可以避免裡面的程式影響到沙盒外
"真實世界"的運作情況與設定,簡單來說就是試爆場,若怕一些奇怪的
軟體搞壞電腦,或者需要同個軟體多種不同設定互不干涉,可使用沙盒。
PS2: 測試使用的影片是透過AviSynth腳本以一張256灰階的PNG圖片檔為來源,
將其放大至1280x720,並由RGB轉為YV12連續影像,因為影像由
RGB full range壓縮成YV12 tv range,精度下降之下無法呈現原本的
256灰階,我們透過在這個過程中產生的色帶影像來進行去色帶測試。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.114.46
※ 文章網址: https://www.ptt.cc/bbs/AVEncode/M.1425841112.A.EE7.html
※ 編輯: web2312 (114.43.114.46), 03/09/2015 03:18:40
→
03/09 11:26, , 1F
03/09 11:26, 1F
→
03/09 11:26, , 2F
03/09 11:26, 2F

→
03/09 11:26, , 3F
03/09 11:26, 3F
推
03/09 21:40, , 4F
03/09 21:40, 4F
推
03/14 11:29, , 5F
03/14 11:29, 5F
→
03/14 11:30, , 6F
03/14 11:30, 6F
→
03/14 11:31, , 7F
03/14 11:31, 7F
推
03/14 11:33, , 8F
03/14 11:33, 8F
→
03/14 11:33, , 9F
03/14 11:33, 9F
推
03/14 18:01, , 10F
03/14 18:01, 10F
推
03/16 17:39, , 11F
03/16 17:39, 11F
噓
03/16 23:56, , 12F
03/16 23:56, 12F

討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
AVEncode 近期熱門文章
PTT數位生活區 即時熱門文章