史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 多媒體影音轉檔燒錄技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-03-02, 05:24 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 AVS自動偵測並記錄交錯畫格AVS自動偵測並記錄交錯畫格 V2

最近做手動IVTC,做完之後實在懶得檢查,就弄了個自動檢查的AVS指令碼。這個指令碼是受到某帖子裡面某大大回覆的啟發,改進了AVS我的文件的ConditionalFilter說明中的指令碼,寫出來的。去掉了原指令碼中關於畫格是否有動態的判定、並且只記錄被 判定為交錯的畫格。
LoadPlugin("F:\AviSynthPlugins\decomb.dll")

v=avisource("xxx.avi")

global sep="."
global combedthreshold=70

function CombingInfo(clip c)
{
file = "interlace.log"
global clip = c
c=SeparateFields(c)
c=c.Blur(0.0,1.58).Blur(0.0,1.58).Blur(0.0,1.58).Blur(0.0,1.58)
c=c.Blur(0.0,1.58).Blur(0.0,1.58).Blur(0.0,1.58)
c=c.Blur(0.0,1.58).Blur(0.0,1.58)
c=c.Blur(0.0,1.58)
c=weave(c)
c = FrameEvaluate(c, "global a = IsCombed(clip, combedthreshold)")
c = WriteFileIf(c, file, "a==true", "current_frame", "sep", "a")
return c
}
CombingInfo(v)

說明:
1.上面用紅色標記的v是片源,什麼源都行,mpeg2source、vfapi(記得轉成YV12)、AVISOURCE等等的。
2.需要修改的參數只有combedthreshold,指定被判定為交錯畫格的閾值,跟telecine的vthresh完全一樣。這個值越小,好畫格被判定為交錯的可能性越大,結果過多,篩選起來困難;值越大,壞畫格被判定為非交錯的可能性越大,造成本來交 錯的畫格發現不了。自己根據片子調整吧~滅哈哈哈哈~~~~~~~~我做的交響詩篇取70這個值剛好。
順便說一句,AVS我的文件中ConditionalFilter的例子裡面,這個值用了25,我覺得太小,很多好畫格都會被判定為交錯;Decomb手冊裡面Telecine中的vthresh的預設值是50,這個值還是比較合適的,能夠盡量避免濫殺無辜並且 不放過交錯畫格。

組態好指令碼之後,只要載入VDM,按播放鍵從頭到尾播放一遍,被判定為交錯的畫格就會被記錄在當前目錄的interlace.log這個文件中。開啟這個文件會看到類似下面的東西: 引用
32268.true
32375.true
32871.true
33048.true
33307.true
33564.true

其中,前半部分是被判定為交錯畫格的畫格號,後半部分不用管。這些就是被指令碼判定為交錯的畫格了,好好檢查吧~

注意事項:
1.輸入的片源一定要是YV12或者是YUY2的,否則IsCombed會不吃。如果通過VFAPI載入的片源,片源的顏色就是RGB,並且畫面是反的,要在「CombingInfo(v)」之前通過FlipVertical()將畫面轉正並用Conve rtToYV12轉換為YV12。
2.一定要將片子原汁原味地交給「CombingInfo(v)」。之前不要加任何濾鏡(轉換顏色空間和反轉畫面除外),尤其是切邊、resize千萬不要加(跟IVTC插件的要求相同)。
3.如果是老片噪聲特別嚴重,可能會誤判,這時可以在「CombingInfo(v)」之繼續行降噪。不過,除非發生很多很多誤判,否則盡量不要降噪比較好。

一點感想:
終於做到了手動IVTC+自動驗證,以前都是手動檢查,一邊檢查一邊昏昏欲睡效率很低反而容易出現漏網之魚。這樣,手動IVTC的準確率和效率都能夠有所提高,希望對大家有所說明 。
通過交響詩篇的測試,我發現有很多畫格無論如何用自動就是沒辦法正確匹配,結果走了PP(嘗試了很多插件,包括IT、傳統的Decomb、TIVTC),匹配的錯誤率甚至超過了sswroom統計的10場景,尤其是對話場景人物嘴部錯誤率更高。所以,對於我 自己喜歡的作品,我還是堅持會用手動來解決。

提示:
手動IVTC如果搭配「按鍵精靈」之類的鍵盤操作軟體,會快不少。比如,按數字鍵盤的0鍵會自動按ctrl+p並輸入10010、Enter鍵,按1會自動跳到下一畫格並10010等等。將常用的按鍵組合定義為快捷鍵,可以大幅提高製作效率。

更新:
V2:根據s大大的建議,用blur做了縱向低通,以減少誤判。 引用
這樣準確率會提高是因為我感覺decomb判斷comb畫格是看畫面縱向高頻的強弱, 如果正確的畫面的高頻本身很強, 就會誤判. 用了blur做低通後就把畫面縱向高頻砍掉了, 剩下的就只能是畫面comb所產生的高頻. 這樣就可以降低combedthreshold來抓comb的畫格了.
當然因為是在每個場單獨做blur, 所以頻率最高的那個砍不到(640x480的話就應該是240HZ?).
不過大部分情況應該夠了, 很少會碰到頻率這麼高的.........
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:13 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1