PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   DVD 討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=5)
-   -   DivX Video 5.0.4 (https://www.pcdvd.com.tw/showthread.php?t=202171)

Shade 2003-05-07 11:42 PM

引用:
Originally posted by LOCK.LAI
廢柴公主基本上在下也有在壓,那位日本人壓的我也有看過,他的壓法是:
1.過很強的去雜訊filter。
2.不計檔案大小,用divx5的quality-based 100去壓
所以他的檔案都不小,約在260MB~330MB之間遊移

而我的目標是檔案大小不大於250MB,在不使用B-FRAME的情況下,用XVID來壓出一樣或是更好的畫質。

不曉得Shade兄有沒有什麼必勝的建議^_^。

LOCK.LAI 兄
我沒有壓過,問我不準 ^^;
如果那位職人壓的 DivX 5 也沒有用 B-frame 的話,以只用 P-frame 來說,目前 XviD 壓出來檔案大小會小 DivX 5,大約 90% 上下。
所以他一話壓 260~330MB,XviD 大概會在 234~297MB 之間,離您的目標檔案大小還有一段差距。
廢材公主的雜訊是隨機雜訊,可以開時間軸雜訊濾掉。
對了,您是用哪些軟體製作的?

Shade 2003-05-07 11:56 PM

引用:
Originally posted by snic
我試過最新版的2003.04.24版跟舊版的2002.12版都一樣
但只要移除後只用divx5.03本身解就沒問題

不用移除,只要 ffdshow 的 Codec 解碼選項中,不要勾選 DivX5,自然就不會用 ffdshow 來解 DivX5 的檔案。
引用:

另外mpeg4 tools就三個選項...
反覆排列組合測試後發現這瑕疵跟有沒有合併使用 Qpel + B-frame無關
但是只要勾選了Qpel鐵定出事
可是只要不勾Qpel的話...
壓(n-pass)出來的動畫在畫面上很明顯看到會有線條浮動的現象的很奇怪...
不曉得5.05版會不會這樣...還沒試過:p

那或許是 DivX 5.03 還是有問題沒修正。
(我沒辦法用 5.03,只能看官方宣稱的 bug 修正)
5.05 的 Qpel 放起來還是怪怪的。

這幾篇好難回啊,按下去好久討論區都沒有反應....

snic 2003-05-08 01:50 PM

引用:
Originally posted by Shade
廢材公主的雜訊是隨機雜訊,可以開時間軸雜訊濾掉。

兩位大大說的去雜訊是調哪裡阿...是用什麼軟體?

去雜訊只是針對來源嗎?或是連YUV跟RGB之間的轉換也有用?

還是對於轉出來的avi也有去瑕疵的功效?

因為我只轉 dvd to avi...

不曉得開去雜訊對轉出來的品質會不會有益^^"

LOCK.LAI 2003-05-09 01:33 AM

引用:
Originally posted by Shade
LOCK.LAI 兄
我沒有壓過,問我不準 ^^;
如果那位職人壓的 DivX 5 也沒有用 B-frame 的話,以只用 P-frame 來說,目前 XviD 壓出來檔案大小會小 DivX 5,大約 90% 上下。
所以他一話壓 260~330MB,XviD 大概會在 234~297MB 之間,離您的目標檔案大小還有一段差距。
廢材公主的雜訊是隨機雜訊,可以開時間軸雜訊濾掉。
對了,您是用哪些軟體製作的?


謝謝回應^_^。
我都是使用Aviutl來作最後一站,雖然它真的很慢。去雜訊是用內建的〞抑制雜訊〞及〞抑制雜訊(時間軸)〞,至於傳說中很強的waveletNR_Type G + wavelet_CbNR + wavelet_CrNR + 二重化去交錯 系列,很可惜我天資不夠,實在是不會用。

至於要限定檔案大小跟日本職人比…老實說我已經看開放棄了,廢材有24話,不想花太多時間在這上面了。

silentlain 2003-05-24 08:10 PM

引用:
Originally posted by Shade
壓出來檔案大小

DivX 5.0.5 2-pass: 14,501,888 bytes ( 100%)
DivX 5.0.5 3-pass: 14,508,032 bytes ( 100%) <- 檔案偷偷變大一點
DivX 5.0.5 4-pass: 14,510,080 bytes ( 100%) <- 再變大一點
XviD VHQ-1 2-pass: 14,489,600 bytes (99.9%)
XviD VHQ-4 2-pass: 14,485,504 bytes (99.9%)


代碼:

PSNR (dB)

                          Y         Y         Y
                         Min       Avg       Max
========================================================
DivX 5.0.5 2-pass:     33.5968   43.3420   99.9947  <- Max 99.9947dB 是全黑的畫面
DivX 5.0.5 3-pass:     35.1456   43.4162   99.9947  <- 最低 PSNR 上升,平均 PSNR 上升
DivX 5.0.5 4-pass:     35.1456   43.4328   99.9947  <- 平均 PSNR 再上升
XviD VHQ-1 2-pass:     36.2034   43.8934   99.9947  
XviD VHQ-4 2-pass:     36.0888   43.8367   99.9947  <- 最低、平均 PSNR 皆下降



============== 無關主題,順便一提 開始 ==============>

也許有人有疑問。
這個測試裡的原始檔案大家都一樣,都是由 Avisynth 做的 YV12 原始檔。
avisource("Kiddy Grade NCOP_aup_vfapi.avi").ConvertToYV12()

所以測試保證公平。

然而 Avisynth 載入的 Kiddy Grade NCOP_aup_vfapi.avi 這個檔是 RGB24 的 VFAPI,
為什麼不乾脆用全程 Avisynth,做全程 YV12 的製程?
因為:
1. 我需要用到 TMPGEnc 做 IVTC。
2. 全程 YV12 製程有所限制,不是每種訊源都可以使用。

有什麼限制?

對了 Nic 寫的 MPEGDecoder.dll 的 Chroma upsampling 是錯的,不要用。

<============== 無關主題,順便一提 結束 ==============


雖然平均 PSNR 大家都有 43dB,但是最低 PSNR 則在 35dB 上下,因為是動畫,銳利線條周圍的 ringing effect 瑕疵看起來已經非常明顯,已經在我忍耐的極限邊緣 :P
下面是幾張抓圖

關於Avisynth YV12 在INTERLACE 時所產生Chroma upsampling ,我在這裡有看到一些討論http://forum.doom9.org/showthread.p...+for+your+Anime
不過根據他們的看法,Avisynth YV12似乎是沒問題的,有問題的是DVD本身!!??
可以煩請shade兄解釋一下嗎??因為我已經有點被搞混了.....:confused:

silentlain 2003-05-24 08:12 PM

引用:
Originally posted by Shade
壓出來檔案大小

DivX 5.0.5 2-pass: 14,501,888 bytes ( 100%)
DivX 5.0.5 3-pass: 14,508,032 bytes ( 100%) <- 檔案偷偷變大一點
DivX 5.0.5 4-pass: 14,510,080 bytes ( 100%) <- 再變大一點
XviD VHQ-1 2-pass: 14,489,600 bytes (99.9%)
XviD VHQ-4 2-pass: 14,485,504 bytes (99.9%)


代碼:

PSNR (dB)

                          Y         Y         Y
                         Min       Avg       Max
========================================================
DivX 5.0.5 2-pass:     33.5968   43.3420   99.9947  <- Max 99.9947dB 是全黑的畫面
DivX 5.0.5 3-pass:     35.1456   43.4162   99.9947  <- 最低 PSNR 上升,平均 PSNR 上升
DivX 5.0.5 4-pass:     35.1456   43.4328   99.9947  <- 平均 PSNR 再上升
XviD VHQ-1 2-pass:     36.2034   43.8934   99.9947  
XviD VHQ-4 2-pass:     36.0888   43.8367   99.9947  <- 最低、平均 PSNR 皆下降



============== 無關主題,順便一提 開始 ==============>

也許有人有疑問。
這個測試裡的原始檔案大家都一樣,都是由 Avisynth 做的 YV12 原始檔。
avisource("Kiddy Grade NCOP_aup_vfapi.avi").ConvertToYV12()

所以測試保證公平。

然而 Avisynth 載入的 Kiddy Grade NCOP_aup_vfapi.avi 這個檔是 RGB24 的 VFAPI,
為什麼不乾脆用全程 Avisynth,做全程 YV12 的製程?
因為:
1. 我需要用到 TMPGEnc 做 IVTC。
2. 全程 YV12 製程有所限制,不是每種訊源都可以使用。

有什麼限制?

對了 Nic 寫的 MPEGDecoder.dll 的 Chroma upsampling 是錯的,不要用。

<============== 無關主題,順便一提 結束 ==============


雖然平均 PSNR 大家都有 43dB,但是最低 PSNR 則在 35dB 上下,因為是動畫,銳利線條周圍的 ringing effect 瑕疵看起來已經非常明顯,已經在我忍耐的極限邊緣 :P
下面是幾張抓圖

奇怪,一直重複,再刪~~~

silentlain 2003-05-24 08:14 PM

引用:
Originally posted by Shade
壓出來檔案大小

DivX 5.0.5 2-pass: 14,501,888 bytes ( 100%)
DivX 5.0.5 3-pass: 14,508,032 bytes ( 100%) <- 檔案偷偷變大一點
DivX 5.0.5 4-pass: 14,510,080 bytes ( 100%) <- 再變大一點
XviD VHQ-1 2-pass: 14,489,600 bytes (99.9%)
XviD VHQ-4 2-pass: 14,485,504 bytes (99.9%)


代碼:

PSNR (dB)

                          Y         Y         Y
                         Min       Avg       Max
========================================================
DivX 5.0.5 2-pass:     33.5968   43.3420   99.9947  <- Max 99.9947dB 是全黑的畫面
DivX 5.0.5 3-pass:     35.1456   43.4162   99.9947  <- 最低 PSNR 上升,平均 PSNR 上升
DivX 5.0.5 4-pass:     35.1456   43.4328   99.9947  <- 平均 PSNR 再上升
XviD VHQ-1 2-pass:     36.2034   43.8934   99.9947  
XviD VHQ-4 2-pass:     36.0888   43.8367   99.9947  <- 最低、平均 PSNR 皆下降



============== 無關主題,順便一提 開始 ==============>

也許有人有疑問。
這個測試裡的原始檔案大家都一樣,都是由 Avisynth 做的 YV12 原始檔。
avisource("Kiddy Grade NCOP_aup_vfapi.avi").ConvertToYV12()

所以測試保證公平。

然而 Avisynth 載入的 Kiddy Grade NCOP_aup_vfapi.avi 這個檔是 RGB24 的 VFAPI,
為什麼不乾脆用全程 Avisynth,做全程 YV12 的製程?
因為:
1. 我需要用到 TMPGEnc 做 IVTC。
2. 全程 YV12 製程有所限制,不是每種訊源都可以使用。

有什麼限制?

對了 Nic 寫的 MPEGDecoder.dll 的 Chroma upsampling 是錯的,不要用。

<============== 無關主題,順便一提 結束 ==============


雖然平均 PSNR 大家都有 43dB,但是最低 PSNR 則在 35dB 上下,因為是動畫,銳利線條周圍的 ringing effect 瑕疵看起來已經非常明顯,已經在我忍耐的極限邊緣 :P
下面是幾張抓圖

重複,刪~~~~

Shade 2003-05-25 04:13 PM

引用:
Originally posted by silentlain
關於Avisynth YV12 在INTERLACE 時所產生Chroma upsampling ,我在這裡有看到一些討論http://forum.doom9.org/showthread.p...+for+your+Anime
不過根據他們的看法,Avisynth YV12似乎是沒問題的,有問題的是DVD本身!!??
可以煩請shade兄解釋一下嗎??因為我已經有點被搞混了.....:confused:

感謝您 post 這則消息讓我知道,我很訝異 sh0dan 和 trbarry 兩位竟然沒有指正 mf 的說法,他的說法是錯誤的。
sh0dan 大大是不是非常清楚我不知道,不過 trbarry 大大應該非常了解這個錯誤。
chroma upsampling 錯誤,是由於 YV12 沒有辦法指示哪些 Frame 是 Interlaced 哪些是 Progressive。在 MPEG2 解碼的時候,decoder 可以根據 progressive_frame 這個旗標來知道要怎麼做 upsampling 到 YUY2,但是輸出 YV12 的時候,這個情報就消失了。使用單一一種 upsampling 方法,遇到 Hybird 的訊源,就會發生 chroma upsampling 錯誤。

關於 chroma 的問題,過去 Doom9 討論過很多次,有一次 sh0dan 和 neuron2 還差點吵起來,我想他們大概是對說明這個議題感到疲累了吧 :p
我舉過去的一個討論做例子(也沒多久,就在今年三月)
http://forum.doom9.org/showthread.p...8163&perpage=20

首先是 kilg0r3 發現他做的 encoded 會發生"色階"的現象,顏色會有很明顯的階梯狀,尤其是紅色特別明顯。他反覆實驗了許多次,發現這個現象不論是 MPEGDecoder, MPEG2Dec3 做 YV12 輸出的時候都有,但是用 DVD2AVI 卻沒有這個問題。
sh0dan 對這個問題很感興趣,他提供了一些解決的辦法,不過都沒有奏效。kilg0r3 繼續尋找問題的根源。這時大家的結論是這是 YV12 格式的缺陷,因為 YV12 格式兩行共用一個 chroma,很容易造成顏色呈階梯狀的現象。解決的辦法是用比較好的 FIR filter 做 upsampling 到 YUY2/RGB,例如 DVD2AVI,這樣會使 chroma 變得模糊,但是可以解決明顯的色階現象。
OK, 事情至此似乎告一段落,不過 trbarry 大大突然插進來,提供了一個連結

http://www.hometheaterhifi.com/volu...bug-4-2001.html

相信這個連結 silentlain 兄應該看過很多次 :p
這個連結裡面說明了,部分硬體的 DVD Player 只有 Interlaced chroma upsampling 的方法,所以遇到 Progressive 的訊源,就會發生明顯的色階現象。這裡面提到了兩個重要的觀念:
1. DVD 存的 Frame,有 Interlaced 和 Progressive 兩種,由一個旗標叫做 progressive_frame 來指示
2. decoder 要根據這個旗標,切換 YV12 -> YUY2 的 upsampling 方法,upsampling 的結果才會正確

所以 DVD2AVI 能解決色階現象,不只是因為它用了比較好的 FIR filter,更是因為它能根據 progressive_frame 旗標,做正確的 upsampling 解碼。

The Croma Upsampling Problem 的網頁上,往下拉,搜尋 "Toy Story" Menu 這一段,有提供範例圖片。上下左右四張圖,左邊的那兩張是有用正確 upsampling 解碼的結果,上面是沒有 filtering,下面是使用 6-tap FIR filter,畫質最好。右邊的那兩張是錯誤的 upsampling 解碼的結果,上面沒有 filtering 的,色階很明顯,而下面用 6-tap FIR filter 處理的,色階就比較沒有那麼明顯,但是畫質還是不如正確解碼的結果。

看了這個連結之後,sh0dan 的結論是「I think the conclusion is "there is no better quality in YV12". Chroma is subsampled and in extreme cases like this it shows. The only thing that will help is smoothing chroma - even though what also has sideeffects.」。

smoothing chroma 的意思就是使用高 tap 數的 FIR filter 做 upsampling,能讓 chroma 比較平滑,不會有那麼明顯的色階。

於是最後 kilg0r3 就提了一個問題「how do you determine if a vob is interlaced/progressive on the chroma/luma plane?」。
這個問題問得不太對,luma 沒有 Interlaced 的問題,只有 chroma 才有 Interlaced 的問題,不過就不管他了 :p
trbarry 大大的回答是「I guess if you have problem material and you don't know if it is coded progressive/interlaced (or it's mixed) then you could always use MPEG2DEC2. There is a version around somewhere here that even works with Avisynth 2.5.

But MPEG2DEC2 will return YUY2 that has been converted on a frame by frame basis looking at the MPEG-2 flags and deciding which type of conversion to do.」

我就是看了這個討論串才知道 trbarry 大大寫的 MPEG2Dec2/MPEG2Dec 的 YV12 版本仍然是輸出 YUY2,所以不會有 chroma upsampling error 的問題,可見這是 trbarry 了解這個問題,故意做的設計 :D
當然 chroma upsampling error 的問題,我們則是早在 99 年的時候就因為 jackei 大大的關係,所以早就知道了 :p
http://bbs.irradiance.net/txtVersio.../M.941483882.A/

Shade 2003-05-25 04:16 PM

那麼為什麼 mf 說錯了卻不指正呢?
我想這是因為
1. 懶得指正 :p
2. 大家熟識,不好意思指正 :p
3. mf 大說的也不能說是完全錯

如果你後面有接 Decomb 等 IVTC 的 plugin,Decomb 可以偵測畫面是否交錯,重新排列組合 YV12,還原回 Progressive 的畫面,這在大部分的 DVD 上,結果都會正確,除非遇到
1. 畫面無交錯但是仍然是 Interlaced Frame
2. 畫面有交錯但仍然是 Progressive Frame
3. 不能做 IVTC,例如 30p 的訊源,且全部都是 Interlaced Frame
4. 其他我沒想到的情況...

大部分的人是看不出來無交錯畫面的 chroma upsampling 錯誤。
而使用 YV12 的好處
1. 速度快
2. 沒有 upsampling,chroma 不會變糊,可以保留比較多的細節
3. 部分 plugin 例如 Decomb 在 YV12 下工作效果較好

所以這就是取捨的問題。
就我而言,因為我不用 Decomb(我只用 AviUtl 和 TMPGEnc 做 IVTC),所以我如果要用 Avisynth 的 plugin 解碼,我會用 MPEG2Dec/MPEG2Dec2 解碼,如果要用其他 YV12 的 filter,解碼輸出後再轉為 YV12
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\MPEG2Dec.dll")
MPEG2Source("sample.d2v")
ConvertToYV12()
.....

事實上,我從來不用 MPEG2Dec/MPEG2Dec2 解碼 :p
當真不需要 IVTC 的話,為求快速,我只有偶而用
LoadPlugin("c:\Program Files\AviSynth2\plugins\LoadPluginEx.dll")
LoadPlugin("c:\Program Files\AviSynth2\plugins\loadaui.dll")
LoadAviUtlInputPlugin("c:\AviUtl\98d\m2v.aui", "MPEG2VIDEO")
MPEG2VIDEO("sample.vob")

這樣 MPEG-2 VIDEO VFAPI Plug-In 就會輸出 YUY2 ;)

重點要把握的是
1. 不能全程 YV12,退而求其次,用部分 YV12,部分處理在 YV12 上處理,最少可以加快處理速度
2. 色空間轉換能減少盡量減少,最好只做一次

silentlain 2003-05-28 07:07 PM

引用:
Originally posted by Shade
那麼為什麼 mf 說錯了卻不指正呢?
我想這是因為
1. 懶得指正 :p
2. 大家熟識,不好意思指正 :p
3. mf 大說的也不能說是完全錯

如果你後面有接 Decomb 等 IVTC 的 plugin,Decomb 可以偵測畫面是否交錯,重新排列組合 YV12,還原回 Progressive 的畫面,這在大部分的 DVD 上,結果都會正確,除非遇到
1. 畫面無交錯但是仍然是 Interlaced Frame
2. 畫面有交錯但仍然是 Progressive Frame
3. 不能做 IVTC,例如 30p 的訊源,且全部都是 Interlaced Frame
4. 其他我沒想到的情況...

大部分的人是看不出來無交錯畫面的 chroma upsampling 錯誤。
而使用 YV12 的好處
1. 速度快
2. 沒有 upsampling,chroma 不會變糊,可以保留比較多的細節
3. 部分 plugin 例如 Decomb 在 YV12 下工作效果較好

所以這就是取捨的問題。
就我而言,因為我不用 Decomb(我只用 AviUtl 和 TMPGEnc 做 IVTC),所以我如果要用 Avisynth 的 plugin 解碼,我會用 MPEG2Dec/MPEG2Dec2 解碼,如果要用其他 YV12 的 filter,解碼輸出後再轉為 YV12
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\MPEG2Dec.dll")
MPEG2Source("sample.d2v")
ConvertToYV12()
.....

事實上,我從來不用 MPEG2Dec/MPEG2Dec2 解碼 :p
當真不需要 IVTC 的話,為求快速,我只有偶而用
LoadPlugin("c:\Program Files\AviSynth2\plugins\LoadPluginEx.dll")
LoadPlugin("c:\Program Files\AviSynth2\plugins\loadaui.dll")
LoadAviUtlInputPlugin("c:\AviUtl\98d\m2v.aui", "MPEG2VIDEO")
MPEG2VIDEO("sample.vob")

這樣 MPEG-2 VIDEO VFAPI Plug-In 就會輸出 YUY2 ;)

重點要把握的是
1. 不能全程 YV12,退而求其次,用部分 YV12,部分處理在 YV12 上處理,最少可以加快處理速度
2. 色空間轉換能減少盡量減少,最好只做一次

感謝您熱心的回答~
請讓我整理一下重點(如有錯誤煩請指證):
也就是說因為目前MPEG2Dec3(YV12)在source interlace(我這邊所指的source只是指DVD中存放的形式,和真正的source是否為lnterlace無關)時的chroma upsampling是錯誤的,而MPEG2Dec2(YUY2)是正確的,所以當source不是progressive時,我們應該使用MPEG2Dec2(YUY2),而不是MPEG2Dec3(YV12),這樣才能得到正確的chroma upsampling.請問是這樣的嗎?

那麼如果我們今天的source是以interlace形式存放在DVD中(如大部分的ANIME..),又想用decomb過IVTC,比較正確的做法應該是:
DVD(interlaced(like anime..))-->MPEGdec2(YUY2)-->ConvertToYV12(正確的chroma upsampling)-->Decomb IVTC,其他的filters...-->output Xvid(YU12).....請問這樣子正確嗎?
又,請問一下,現在有哪些版本的MPEGdec2(YUY2)可以做ConvertToYV12的輸出?
再次感謝shade兄的回答~~~


所有的時間均為GMT +8。 現在的時間是09:54 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。