PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   DVD 討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=5)
-   -   請問xvid和divx誰好? (https://www.pcdvd.com.tw/showthread.php?t=262538)

暴君 2003-11-02 01:58 AM

請教一下Shade大大或各位知道的人
我查之前的文章
VHQ mode模式Shade說2~4會降低畫質,但是相對縮小檔案大小
可是我這篇文章又說數字愈高,品質越好,似乎前後矛盾
誰知道這到底是?

另外壓動畫不適合MPEG改用H.263
那如果是壓電影的話呢?

big3413 2003-11-02 02:05 AM

引用:
Originally posted by joinfire
另外請問一下

我有一些Divx及Xvid的檔案
是16:9的格式
有辦法讓播放時變成4:3的格式嗎?


那不就畫面都變形了???
這樣看的下去???

Shade 2003-11-02 12:44 PM

引用:
Originally posted by 暴君
請教一下Shade大大或各位知道的人
我查之前的文章
VHQ mode模式Shade說2~4會降低畫質,但是相對縮小檔案大小
可是我這篇文章又說數字愈高,品質越好,似乎前後矛盾
誰知道這到底是?

在這個討論串的第一頁,有一個叫 LIBIDO 的人說:
「注意 XviD 新版的 VHQ 已經不用以前的 BIT 動作搜尋法,現在用的是 R-D 動作搜尋法,VHQ "永遠"可以提高品質,同時縮小檔案。VHQ=4 花費時間最久,品質最高。」

以前 XviD 的 VHQ 用的是 BIT 搜尋,BIT 搜尋法會縮小檔案大小,但同時也降低 PSNR(畫質),後來 VHQ 改用 R-D 動作搜尋,現在的 VHQ 會縮小檔案大小,同時提昇 PSNR。
所以現在 VHQ 數字越高,品質越好,同時檔案越小。
以前是以前,現在是現在。
引用:

另外壓動畫不適合MPEG改用H.263
那如果是壓電影的話呢?

壓動畫不適合用 MPEG Quant 的原因是銳利線條會產生雜訊,但是這是指使用預設 MPEG Quant 的情況,如果是自訂量化矩陣,定一個可以抑制雜訊的矩陣,那麼 MPEG Quant 也可以和 H.263 一樣沒有雜訊,同時保留 MPEG Quant 畫面細節較多,較銳利的優點。
我自己壓動畫也還是都是用 MPEG Quant。
實攝訊源相鄰像素的值通常很接近,比較沒有對比差異極大的現象,所以用 MPEG Quant 量化很合適,如果你說的電影是指實攝訊源,那麼用 MPEG 量化是不錯的選擇。

snic 2003-11-02 01:55 PM

引用:
Originally posted by Shade
如果是自訂量化矩陣,定一個可以抑制雜訊的矩陣,那麼 MPEG Quant 也可以和 H.263 一樣沒有雜訊,同時保留 MPEG Quant 畫面細節較多,較銳利的優點。
我自己壓動畫也還是都是用 MPEG Quant。

莫非Shade兄是用自訂量化矩陣壓動畫的!?
那可以請Shade兄傳授一下嗎:p
"動畫用"的 MPEG Quant 量化矩陣是長什麼樣子呢?

暴君 2003-11-02 02:24 PM

引用:
Originally posted by snic
莫非Shade兄是用自訂量化矩陣壓動畫的!?
那可以請Shade兄傳授一下嗎:p
"動畫用"的 MPEG Quant 量化矩陣是長什麼樣子呢?


我也很好奇
MPEG Quant 量化矩陣是?

Shade 2003-11-02 03:25 PM

引用:
Originally posted by snic
莫非Shade兄是用自訂量化矩陣壓動畫的!?
那可以請Shade兄傳授一下嗎:p
"動畫用"的 MPEG Quant 量化矩陣是長什麼樣子呢?

這個,因為不同流量,不同訊源,最佳的 MPEG 量化矩陣就會有所不同,我目前也沒有找出一個通用的最佳解。
總之預設矩陣(也就是 Quantization Method 選 MPEG 時用的那一個矩陣)用來壓動畫不太適合,換別的試試看。
例如如果換成 TMPGEnc 的 CG/Animation 矩陣
intra:
08 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
inter:
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16

量化出來的特性就會很像 H.263,畫面很乾淨,有點模糊,銳利線條周圍的雜訊少,但是容易出現方塊。
因為這個矩陣非常接近 H.263 的量化方式。
H.263 量化
不用量化矩陣,全部 DCT 係數除以同一個量化係數
F[u][v] 是量化前的 DCT 係數
QF[u][v] 是量化後的係數
intra:
QF[u][v]=F[u][v] / 2*quantizer_scale
inter:
QF[u][v]=F[u][v]-quantizer_scale / 4*quantizer_scale

MPEG 量化
DCT 係數分別除以量化矩陣中對應的量化係數
W[u][v] 是量化矩陣中的加權的(Weighting)量化係數
intra:
QF[u][v]=F[u][v]*16 / W[u][v]*2*quantizer_scale
inter:
QF[u][v]=F[u][v]*16 / (W[u][v](+/-)quantizer_scale)*2*quantizer_scale

intra dc(intra 最左上角的係數)則是
QF[0][0]=F[0][0]/dc_scale

dc_scale 會根據 quantizer 做 non-linear scale
代碼:
quantizer_scale(Qp): 1~4      5~8      9~24      25~31
dc_scale Y         :  8       2Qp      Qp+8      2Qp-16
dc_scale C         :  8    (Qp+13)/2   同左      Qp-6


這個解釋起來很複雜.....
總之,換別的矩陣試試看。

那個 CG/Animation 矩陣也不適合用在 XviD 上,我上面只是舉例,這個矩陣壓出來的品質很差,除非流量超高,否則壓出來畫面很慘。而且就算流量超高,這個矩陣因為高頻(右下角)砍得少(除的少),所以壓縮某些訊源時,如果訊源有特殊的雜訊,例如訊源本身已經壓縮過,是 MPEG-2,原本就有一些壓縮瑕疵,再經過這個矩陣量化,用超高流量,也就是低 quantizer 壓縮,會保留部分高頻下來,這些高頻反而會變成一些雜訊,用這個矩陣超高流量壓縮,反而整個畫面都是灰茫茫的一片雜訊。
此時如果降低一點品質(流量),這些雜訊會被削掉,畫面會變乾淨,視覺品質反而提高。
我又扯遠了,總之就是
1. 視情況最佳矩陣會有所不同
2. 就算用同一個矩陣,根據設定的流量,表現也會不同
3. 所以..... 你問我適合動畫的矩陣..... 我也沒辦法肯定的答覆你

非常抱歉 ^^;
引用:
Originally posted by 暴君
我也很好奇
MPEG Quant 量化矩陣是?

就是 Quantization Method 選 Custom MPEG,然後在 Quantization Matrix 設定裡面自訂量化矩陣。
在尚未更改之前,Quantization Matrix 裡面顯示的那個矩陣就是預設的量化矩陣,也就是 Quantization Method 你選 MPEG 時使用的矩陣。
這個矩陣是 MPEG-4 standard 制訂的預設量化矩陣,當使用 "MPEG" 壓縮時,會自動使用這個矩陣量化,VOL Header 不用記錄使用的矩陣資訊,Decoder 端都內建這個矩陣,知道該怎麼解碼。
也就是說
1. 使用預設矩陣,VOL Header 不用額外記錄矩陣資訊,較節省容量(雖然這個資訊所花費的容量很小很小)
2. 如果自訂矩陣,檔案的 VOL Header 就要記錄使用的自訂量化矩陣是什麼樣子,Decoder 才能知道要怎麼解碼
3. 所以使用的矩陣資訊都藏在 VOL Header 裡

Shade 2003-11-02 03:29 PM

引用:
Originally posted by Shade
3. 所以使用的矩陣資訊都藏在 VOL Header 裡

我寫得這麼含蓄,我想大概沒有人知道我這麼寫的意思是什麼.... ^^;;

暴君 2003-11-02 08:45 PM

請教一下snic兄
請問怎麼把VCD上的DAT檔轉成XVID
我用VirtualDubMod自已亂試的結果是檔案變的更大
300MB變成400MB
我有找過你之前的文章,不過都是DVD轉各種格式
想請問一下怎麼把DAT轉成XVID?

LOCK.LAI 2003-11-02 09:19 PM

引用:
Originally posted by 暴君
請教一下snic兄
請問怎麼把VCD上的DAT檔轉成XVID
我用VirtualDubMod自已亂試的結果是檔案變的更大
300MB變成400MB
我有找過你之前的文章,不過都是DVD轉各種格式
想請問一下怎麼把DAT轉成XVID?


我是路人L...
不太能夠理解你為什麼要這麼作...
作法:用Tmpegenc讀入vcd的dat檔,然後File-->Output to file-->avi,codec選擇xvid。

silentlain 2003-11-02 09:27 PM

引用:
Originally posted by Shade
這個,因為不同流量,不同訊源,最佳的 MPEG 量化矩陣就會有所不同,我目前也沒有找出一個通用的最佳解。
總之預設矩陣(也就是 Quantization Method 選 MPEG 時用的那一個矩陣)用來壓動畫不太適合,換別的試試看。
例如如果換成 TMPGEnc 的 CG/Animation 矩陣
intra:
08 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32
inter:
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16

量化出來的特性就會很像 H.263,畫面很乾淨,有點模糊,銳利線條周圍的雜訊少,但是容易出現方塊。
因為這個矩陣非常接近 H.263 的量化方式。
H.263 量化
不用量化矩陣,全部 DCT 係數除以同一個量化係數
F[u][v] 是量化前的 DCT 係數
QF[u][v] 是量化後的係數
intra:
QF[u][v]=F[u][v] / 2*quantizer_scale
inter:
QF[u][v]=F[u][v]-quantizer_scale / 4*quantizer_scale

MPEG 量化
DCT 係數分別除以量化矩陣中對應的量化係數
W[u][v] 是量化矩陣中的加權的(Weighting)量化係數
intra:
QF[u][v]=F[u][v]*16 / W[u][v]*2*quantizer_scale
inter:
QF[u][v]=F[u][v]*16 / (W[u][v](+/-)quantizer_scale)*2*quantizer_scale

intra dc(intra 最左上角的係數)則是
QF[0][0]=F[0][0]/dc_scale

dc_scale 會根據 quantizer 做 non-linear scale
代碼:
quantizer_scale(Qp): 1~4      5~8      9~24      25~31
dc_scale Y         :  8       2Qp      Qp+8      2Qp-16
dc_scale C         :  8    (Qp+13)/2   同左      Qp-6


這個解釋起來很複雜.....
總之,換別的矩陣試試看。

那個 CG/Animation 矩陣也不適合用在 XviD 上,我上面只是舉例,這個矩陣壓出來的品質很差,除非流量超高,否則壓出來畫面很慘。而且就算流量超高,這個矩陣因為高頻(右下角)砍得少(除的少),所以壓縮某些訊源時,如果訊源有特殊的雜訊,例如訊源本身已經壓縮過,是 MPEG-2,原本就有一些壓縮瑕疵,再經過這個矩陣量化,用超高流量,也就是低 quantizer 壓縮,會保留部分高頻下來,這些高頻反而會變成一些雜訊,用這個矩陣超高流量壓縮,反而整個畫面都是灰茫茫的一片雜訊。
此時如果降低一點品質(流量),這些雜訊會被削掉,畫面會變乾淨,視覺品質反而提高。
我又扯遠了,總之就是
1. 視情況最佳矩陣會有所不同
2. 就算用同一個矩陣,根據設定的流量,表現也會不同
3. 所以..... 你問我適合動畫的矩陣..... 我也沒辦法肯定的答覆你

非常抱歉 ^^;

就是 Quantization Method 選 Custom MPEG,然後在 Quantization Matrix 設定裡面自訂量化矩陣。
在尚未更改之前,Quantization Matrix 裡面顯示的那個矩陣就是預設的量化矩陣,也就是 Quantization Method 你選 MPEG 時使用的矩陣。
這個矩陣是 MPEG-4 standard 制訂的預設量化矩陣,當使用 "MPEG" 壓縮時,會自動使用這個矩陣量化,VOL Header 不用記錄使用的矩陣資訊,Decoder 端都內建這個矩陣,知道該怎麼解碼。
也就是說
1. 使用預設矩陣,VOL Header 不用額外記錄矩陣資訊,較節省容量(雖然這個資訊所花費的容量很小很小)
2. 如果自訂矩陣,檔案的 VOL Header 就要記錄使用的自訂量化矩陣是什麼樣子,Decoder 才能知道要怎麼解碼
3. 所以使用的矩陣資訊都藏在 VOL Header 裡

您好~
印象中,使用costom matrix不是會有相容性的問題嗎??
變成一定得用XVID來解才行,FFDSHOW會無法正確的解碼...
煩請說明,謝謝~


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

vBulletin Version 3.0.1
powered_by_vbulletin 2025。