PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   DVD 討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=5)
-   -   《VirtualDubMod + AviSynth 簡易教學》DVD 轉 XviD 公認最簡單,轉檔速度最快,品質最好,挑片率0的方法! (https://www.pcdvd.com.tw/showthread.php?t=222652)

cclong730116 2004-10-17 04:05 PM

引用:
作者sswroom
他說的Interlaced,應該是指MPEG-2的編碼模式,用交錯的編碼模式,畫面不一定有交錯。你看看在高動態的畫面上有沒有一條條水平的橫線,有的才需要用去交錯。
如果設定得好,用MPEG也幾乎看不到雜訊,而且清晰度比H.263高。
不過,MPEG壓最高品質會比H.263最高品質的流量大2-3倍。你看看我近來壓的影片,幾乎全都是用MPEG壓,用硬體YUV->RGB或高品質的YUV->RGB也幾乎看不到雜訊。

Cartoon模式是用來提升靜態地方的品質,但在捲動的畫面出現一些奇怪的現象。

這個看起來很像是順序掃瞄的YV12訊號當成交錯掃瞄的YV12訊號處理,你是用Progressive模式還是用Interlace模式壓縮?Interlace好像會出現一些問題,不建議使用。

沒錯 我寫的interlaced有加上完全兩字 意味畫面其實沒交錯 所以根本不用去交錯囉?

就算是壓動畫,Cartoon模式就是不推薦使用就是了對吧...

我是有把xvid裡interlaces那邊打勾 可是我記得shade大有說過那個選項不代表用interlace壓制 而是提升interlace的壓縮率 是我記錯了嗎?難道這選項也有bug...
我試試看好了
試過了 果然是interlace這選項的問題 不打勾就解決了 難道是因為我有加IT(FPS=30)
輸出 就去交錯的把interlace還原成progressive 然後等於是在progressive上開啟xvid的interlace?...意味若是要用到xvid的interlace 就是訊源真的要是interlace的就對了(所以一開始我就錯了 這部片本來就沒有交錯的畫面 就算有沒用IT都一樣 根本不需要打勾...)

在此就覺得很奇怪 同樣的影片放到ffdshow叫xvid出來解就是不會有這種問題...

snic 2004-10-17 04:29 PM

引用:
作者sswroom
如果設定得好,用MPEG也幾乎看不到雜訊,而且清晰度比H.263高。

這點真的要請教 sswroom 大神了^^"
要怎樣設定的好?
我試過各種設定組合都一樣差耶...
難道要動量化矩陣@@...不是每部片子設定都不一樣嗎?
這種事情還是交給大神吧^^"

Shade 2004-10-17 05:06 PM

引用:
作者cclong730116
沒錯 我寫的interlaced有加上完全兩字 意味畫面其實沒交錯 所以根本不用去交錯囉?

Seed 前期幾乎都是 30fps 作畫,每秒 30 張,張張都沒有交錯,所以你不用去交錯。
DVD2AVI 顯示 Interlaced 是指 MPEG-2 的編碼方式,和畫面上實際有沒有交錯無關,實際有沒有交錯必須靠人眼做辨認。
但是如果要求完美的話,Seed 前期還是有一些畫面其實是 30i(60i?),在淡入淡出的畫面(由暗轉亮、由亮轉暗的畫面),是 30fps 交錯的畫面,畫面上會有細微的橫線,如果要完美的話,這裡必須轉成 60fps。
Seed 到後期可能是製作經費花光了(?),變成不是純 30fps 作畫,中間摻雜 24fps 的部分越來越多,所以就變成 24fps/30fps 混合,必須轉成 120fps。
如果不是非常講究的話,前期可以就當成全部是 30fps Progressive,直接轉不用去交錯,後期開始有較多的 24fps pulldown -> 30fps 的畫面的時候,再對這些畫面做去交錯,也是一律轉成 30fps。
去交錯你可以指定範圍,單獨對有交錯的部分去交錯,或者更懶一點,乾脆全部去交錯,交給 filter 去判斷。不過這樣做的缺點是判斷的時間要花比較久,處理的速度會比較慢,還有 filter 對畫面有無交錯的判斷無法做到 100% 準確,可能會有無交錯的完美畫面也被誤認為是交錯畫面,而被去交錯,這樣會造成部分畫面線條出現不連續的斷層現象,或者畫面變模糊,清晰度下降。
您可以自己取捨,看要不要花這麼多時間去做到完美。
引用:
就算是壓動畫,Cartoon模式就是不推薦使用就是了對吧...

Cartoon mode 會降低 codec 對雜訊的敏感度,由於動畫通常是靜態畫面比較多,前後畫面的一點點差異,通常是雜訊造成的,而不是真的在這兩個畫面之間有真實的「運動」發生。Cartoon mode 會降低 codec 動作搜尋時將雜訊誤認為是「運動」的機率,可以減少 codec 花費不必要的流量在記錄「假」的運動上,讓靜態的畫面比較穩定,減少靜態背景在「流動」、「騷動」的現象。還有 Cartoon mode 會捨棄比較多的細微的訊號,也就是把這些訊號當成是雜訊,節省記錄這些細微雜訊的流量,也可以提升畫質的穩定。
不過缺點就是,通常很難判斷這些一點點的細微差異,是真的畫面在緩緩地移動呢,還是雜訊造成的。捨棄的細微訊號,到底是畫面的細節呢,還是真的是雜訊。由於沒有辦法做到 100% 準確的判斷,所以 Cartoon mode 有時候會造成畫面上出現奇怪的瑕疵。
由於 Cartoon mode 帶來的壓縮率提升通常不高,而且有時會造成瑕疵,所以一般比較少建議使用。不過這個當然還是要看您壓縮的影片的畫面特性,所以還是要您自己斟酌判斷。
如果您有先對畫面做很強的濾雜訊處理,那麼畫面剩下來的雜訊通常不多,這時候再開 Cartoon mode,往往捨棄掉的都是不該捨棄的細節,所以這時最好不要再開啟 Cartoon mode。
引用:
我是有把xvid裡interlaces那邊打勾 可是我記得shade大有說過那個選項不代表用interlace壓制 而是提升interlace的壓縮率 是我記錯了嗎?難道這選項也有bug...
我試試看好了

天啊,那個選項不能開 ^^;
你壓的是 Progressive 的畫面,用 Interlace 壓縮畫質會很差,而且會造成 Chroma upsample 的錯誤,就是你看到的紅色階層不平滑的現象。
XviD 的 Interlace 確實是使用 Interlace 模式壓縮,只是它的交錯壓縮模式不完全,它只有做 Interlaced DCT,沒有做交錯畫面的動作搜尋,所以它對交錯畫面的壓縮效率仍然是很差的,比不上真正完全實作交錯壓縮模式的 MPEG-2 Encoder,我以前講的是這個 :)
引用:
在此就覺得很奇怪 同樣的影片放到ffdshow叫xvid出來解就是不會有這種問題...

可能是因為 ffdshow 輸出使用 YV12,XviD 輸出使用 YUY2,這個要實際研究一下才知道,不過大致上應該是輸出色彩格式的關係,你在 XviD 的 Decoder 設定裡面,更改輸出的色彩格式,如果原來是 YV12 改成 YUY2,如果原來是 YUY2 改成 YV12,切換一下,看看畫面會有什麼變化 :)

cclong730116 2004-10-17 05:13 PM

引用Shade 大神:
Seed 前期幾乎都是 30fps 作畫,每秒 30 張,張張都沒有交錯,所以你不用去交錯。
DVD2AVI 顯示 Interlaced 是指 MPEG-2 的編碼方式,和畫面上實際有沒有交錯無關,實際有沒有交錯必須靠人眼做辨認。
但是如果要求完美的話,Seed 前期還是有一些畫面其實是 30i(60i?),在淡入淡出的畫面(由暗轉亮、由亮轉暗的畫面),是 30fps 交錯的畫面,畫面上會有細微的橫線,如果要完美的話,這裡必須轉成 60fps。
Seed 到後期可能是製作經費花光了(?),變成不是純 30fps 作畫,中間摻雜 24fps 的部分越來越多,所以就變成 24fps/30fps 混合,必須轉成 120fps。
如果不是非常講究的話,前期可以就當成全部是 30fps Progressive,直接轉不用去交錯,後期開始有較多的 24fps pulldown -> 30fps 的畫面的時候,再對這些畫面做去交錯,也是一律轉成 30fps。
去交錯你可以指定範圍,單獨對有交錯的部分去交錯,或者更懶一點,乾脆全部去交錯,交給 filter 去判斷。不過這樣做的缺點是判斷的時間要花比較久,處理的速度會比較慢,還有 filter 對畫面有無交錯的判斷無法做到 100% 準確,可能會有無交錯的完美畫面也被誤認為是交錯畫面,而被去交錯,這樣會造成部分畫面線條出現不連續的斷層現象,或者畫面變模糊,清晰度下降。
您可以自己取捨,看要不要花這麼多時間去做到完美。


-----
Shade 大神...你會不會太強悍了一點 連Seed前期是30張後來偷工減料的事都知道...我咧...天啊....今天上了好重的一課!!!把錯誤觀念都校正了!!!謝謝各位大大的指導!!!

Shade 2004-10-17 05:30 PM

引用:
作者cclong730116
看到這裡關於GMC還是有點疑問 XVID的GMC規格太好所以只有XVID的能解 意思是說我只能用XVID的DECODER?還是我可以用FFDSHOW叫XVID1出來解?(因為直接用XVID的DECODER怪怪的...)

是的你也可以用 ffdshow 叫 XviD 出來解,此時真正在負責解碼的是 XviD,所以當然和 XviD 自己解的情況是一樣的,當然可以支援 XviD 使用的 3-points GMC。
還有 ffdshow 也可以解 XviD 的 3-points GMC,所以你用 ffdshow 解也是可以的。
ffdshow(ffmpeg) 可以解碼 3-points 的 GMC,不過不能編碼 GMC。
解碼方面倒是沒有什麼問題,你可以完全放心。
DivX 的 Decoder 就不行了。

關於 GMC 和 Qpel 的壓縮效率。
GMC 大概都可以提升壓縮效率,根據畫面運動的類型,有時候提升的壓縮效率十分驚人,不過 GMC 的解碼負擔比較重,再加上硬體相容性的問題,所以除非你壓的是很低的流量,否則我是覺得沒有必要去開 GMC。

至於 Qpel,Qpel 對於畫面壓縮率的提升不一定,要看畫面的類型,有很多細微複雜細節的畫面,這種畫面使用 Qpel 通常能提升非常多的壓縮效率,但是對於其他畫面,使用 Qpel 反而會降低壓縮效率。
再加上您壓的是 DVD 壓縮過的畫面,MPEG-2 壓縮是使用 Half Pixel,所以 Qpel 的運動資訊可能在第一次壓縮時就捨棄掉了,這種情況下 Qpel 的幫助就會減小。如果是壓無壓縮的原始訊源,則 Qpel 幾乎都能幫助壓縮效率。不過我們一般壓的都不是原始無壓縮的畫面。
其二,動畫訊源本身用 Qpel 可能不太適合,沒什麼細節需要用到 Qpel 的精度 :p,所以開了壓縮率通常下降,我曾看過有開了 PSNR 訊噪比會降低整整 1dB 的例子。

所以使用 Qpel 的目的應該不在提升壓縮率,主要是因為 Qpel 會帶來比較銳利的畫面,因為視覺提升的目的,所以才使用 Qpel。所以使用 Qpel 的時候,要確定你的目標流量足夠,即使 Qpel 降低壓縮率,畫面也不至於降低得太慘。此時 Qpel 帶來銳利化的效果,反而有助於視覺品質的提升。

所以我個人是建議:
1. 如果你沒有對訊源作銳利化的處理,那麼用 H.263 + Qpel 提升銳利度
MPEG + Qpel 會更銳利,但是雜訊會很多

2. 如果你有對訊源作銳利化的處理,那麼其實不一定需要使用 Qpel

3. 如果你沒有對訊源作銳利化處理,又不想用 Qpel,那麼單獨使用 MPEG Quantization 可能也是個不錯的選擇

Shade 2004-10-17 05:41 PM

引用:
作者cclong730116
Shade 大神...你會不會太強悍了一點 連Seed前期是30張後來偷工減料的事都知道...我咧...天啊....今天上了好重的一課!!!把錯誤觀念都校正了!!!謝謝各位大大的指導!!!

cclong730116 兄:

呃,大神是我的職業,不過那其實是一句玩笑話,當初因為一些事情隨便亂填的,您這樣稱呼我實在是太抬舉我了,還是叫我 Shade 就好了 :D

真正的大神,呃,是這個名字真正的主人,在 AliceSoft 公司上班,我是紀念他所以才填這個稱號做為職業的..... 所以大神是指他,不是指我 :p

會知道 Seed 前後期 fps 變化的原因,只是剛好有看過,我想詳細 sswroom 兄比我更清楚,因為他才真正的有壓過這部作品 :D

逃~~~~

Shade 2004-10-17 05:48 PM

引用:
作者cclong730116
6.B-frame 的sensitive是不是越平靜的影片就設越高?(反正沒在動...) B-frame的q比例若真的要強調品質 是不是設1.5倍就好了?設兩倍夠用嗎?(以i/p 1~4而言)

B-frame 的 ratio 和 offset 設得越高,品質越差,所以要提高 B-frame 的品質,要降低 ratio 和 offset。

Shade 2004-10-17 06:04 PM

引用:
作者snic
另外問一下 Post-Processing 這個選項功能是做什麼的?
在用 DIVX 壓縮時跟解碼時都...

Post-Processing 後製處理,DivX 主要是兩個 filter,一個 De-block filter,去方塊濾波器,一個 De-ring filter,去.. ringing 濾波器。
ringing 是常常出現在銳利線條周圍的那種斑斑點點的雜訊,或者在花紋複雜的區域,會以一直不停閃爍的雜點的型態出現。
這兩個 filter 就是在播放時對畫面作加工,把畫面弄模糊一點,掩飾這些壓縮瑕疵。
講是這樣講,不過其實原理很複雜 :p
總之畫面會變糊就對了 XD

DivX 壓縮時不是用這兩個 filter,壓縮時的那個叫做 Psycho-visual model,根據人眼的視覺特性,將人眼不容易注意到的區域壓爛一點,或者對畫面作一些 filtering,把畫面弄糊,使得壓縮比較好壓。
5.2 版名稱好像改成 Pre-Processing,壓縮前先對畫面作一些前製處理。

不管是前製處理還是後製處理,對壓縮效率和視覺品質的幫助,都比不上 RV10/VP6.2/WMV-9/H.264 等規格使用的,「壓縮中」用的 In-loop filter。缺少 In-loop filter,DivX 就不太可能在低流量的時候擊敗這些 codec。
但是 DivX 要加這個功能也無法加,因為這個功能是在「壓縮中」做的,牽涉到 Codec 壓縮、解碼的流程,會更改到 MPEG-4 制訂的規格。而 MPEG-4 ASP 的規格中並沒有這個 In-loop filter 的設計,所以 DivX 也不能用。
除非他們要作不相容於 MPEG-4 ASP 的 Codec,自己獨立一個新的規格。

sswroom 2004-10-17 06:24 PM

引用:
作者Shade
不管是前製處理還是後製處理,對壓縮效率和視覺品質的幫助,都比不上 RV10/VP6.2/WMV-9/H.264 等規格使用的,「壓縮中」用的 In-loop filter。缺少 In-loop filter,DivX 就不太可能在低流量的時候擊敗這些 codec。
但是 DivX 要加這個功能也無法加,因為這個功能是在「壓縮中」做的,牽涉到 Codec 壓縮、解碼的流程,會更改到 MPEG-4 制訂的規格。而 MPEG-4 ASP 的規格中並沒有這個 In-loop filter 的設計,所以 DivX 也不能用。
除非他們要作不相容於 MPEG-4 ASP 的 Codec,自己獨立一個新的規格。

DivX的確不能用In-loop filter,但可以進行動態參數調整,令畫質提升,但不建議自行調整。我很久以前測試的n-Pass CPSNR壓縮法便是用動態壓縮參數調整來實現的,目視品質不錯。

Shade 2004-10-18 07:16 AM

引用:
作者sswroom
這個看起來很像是順序掃瞄的YV12訊號當成交錯掃瞄的YV12訊號處理,你是用Progressive模式還是用Interlace模式壓縮?Interlace好像會出現一些問題,不建議使用。

你看一眼就猜到了,真是厲害 :D
引用:
作者sswroom
DivX的確不能用In-loop filter,但可以進行動態參數調整,令畫質提升,但不建議自行調整。我很久以前測試的n-Pass CPSNR壓縮法便是用動態壓縮參數調整來實現的,目視品質不錯。

XviD 將來的 lambda 參數也可以動態調整,而且是以 Macroblock 為單位,sysKin 會把它做成 HVS 的 plug-in,根據該巨方塊在人眼中看起來的重要性,修改 R-D 容許的誤差代價,也就是 lambda 參數,視情況對 lambda 做動態調整。
不過這個判斷完全是由 Encoder 內部控制,使用者不能隨意修改,當然自己改原始碼的例外 :D
另外 Trellis 也會做成自適應的動態調整,根據係數所在的位置,誤差產生的雜訊對人眼的敏感度,做動態的調整。
不過還沒完全寫好,目前測出來,目視品質有沒有提升見仁見智,不過測 PSNR 最低 frame 的 PSNR 倒是有進步。

還有 DivX 5.2 壓出來好像比 5.1 差?


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

vBulletin Version 3.0.1
powered_by_vbulletin 2025。