Dolby Digital 解碼品質比較 WinDVD vs AC3Filter

音效卡的問題在此討論。

版主: DearHoney

BL
大師
文章: 134
註冊時間: 2002-10-10 08:00

文章 BL »

我的先前發表的測試數據用的是最新版的PowerDVD5,而且已經安裝在CyberLink的網頁上抓到的更新程式了。

我也有測過PowerDVDXP,解碼品質更差,數據應該不需要公布了。

理論上MPC設定完成後WMP應該也會以AC3Filter解碼。我不推薦使用WMP的理由很多。

1.WMP的MPEG decoder很爛,常會解出難看的壓縮瑕疵。
2.WMP採用Windows內建的MP3 Decoder,MPC採用MAD,完全是不同水準的表現。
3.WMP的工具列又醜又肥又難用,每次開啟還會連上MSN,浪費時間也浪費網路資源。
4.WMP的playlist設計很白爛,Winamp與foobar的設計好多了,而且又可以搭配SSRC提升音質。
5.最大的缺點是WMP要調整filter的參數要經過好幾個視窗,而且影片資訊常常跟沒寫一樣。相較之下MPC可以方便地選擇解碼的filter,要更改filter設定又方便。
6.MPC在暫停的時候可以按方向鍵一格一格播放,要觀察各個畫格的壓縮詳疵或是抓圖很方便。
7.MPC可以設定Output Video Renderer,不同時代的顯示卡都可以找到適合的播放方式。
8.MPC的filter部分可以顯示音效卡接收到的取樣率與位元流量,要分辨解碼精度很方便。
9.MPC可以播放QuickTime與RealMedia,還可以調整播放大小,比QuickTime Player還方便。
10.MPC播放影片時可以按數字鍵4,6調整影片寬度,2,8調整影片高度,對於尺寸比例錯誤的影片很好用。

結論是除非我要聽HDCD,否則絕對不會用WMP。
LIBIDO
初學者
文章: 32
註冊時間: 2002-07-01 08:00

文章 LIBIDO »

我昨天回來後越想越不對,因為 TotalRecorder 和 DMX6Fire loopback 數位錄音錄回來的成績竟然差那麼多,我覺得很奇怪,所以剛剛趁弄完工作後抽空做了一點驗證。
我決定用以前提過的 graphedit,直接將 DS Filter 輸出的資料寫入檔案,也就是直接將 Decoder 解碼輸出的結果,原封不動地 dump 寫入硬碟,我想這樣所受到的干擾變數最小,應該是最準確的。

我用 RMAA 5.1 將測試訊號寫成 wav 檔,然後用 Soft Encode 轉成 448kbps 的 ac3,設定一樣,DialNorm -31dB, DRC 關閉。
DialNorm 設為 -31dB 的用意是,不要讓 Decoder 降低解碼輸出的音量,保持原來的音量大小輸出。

各 Decoder 解碼輸出的設定,能關閉 DRC 的關閉,能跳過 DialNorm 的跳過,所有改變音量大小,添加音場效果的選項一律關閉,務求 Decoder 以最原始的方式輸出測試訊號。
以前提過,AC3Filter 輸出的音量比其他 Decoder 都低,經過計算,剛好低了 6.02dB 整,所以 AC3Filter 輸出時有設定 Gain 提高 6.02dB,或者 Matrix 的設定左右聲道 *2。
BL 大大提到音量降低的現象只有在 ac3 是兩聲道的時候才會出現,多聲道則不會。

結果是
圖檔
由左到右,原始測試訊號,WinDVD 5,AC3Filter 0.70b 16bit 輸出,AC3Filter 24bit 輸出。
和 DMX6Fire 錄音結果的最大差異是,WinDVD 的 THD 下降非常多,而這個結果和 TotalRecorder 在系統內以數位錄音的方式錄下來的結果接近。
但是其他項目和 TotalRecoder 錄下來的結果也不同。
由於這邊沒有公布 TotalRecorder 的成績,我大概說一下,其中最大的差異是頻譜圖形的部分,和數位 dump 出來的結果很不一樣。數位 dump 的結果圖形和原始 wav 幾乎一樣,而 TotalRecorder 錄音的頻譜則和原始頻譜有很大的差異。令人驚訝的是,這個頻譜圖形的長相我很熟悉,我當初曾比較過 WIN98 和 WINXP 音效驅動程式的差異,我發現在 WINXP 下,頻譜圖形會有一些特別的形狀,同一張卡,在 WIN98 和 XP 底下會有截然不同的頻譜,我當時把這種現象歸因於 XP 系統內部不知道對聲音訊號作了什麼處理。
而 TotalRecorder 錄出來的頻譜,也出現了這種類似的圖形形狀。
所以我認為 TotalRecorder 的錄音仍然會受到 XP 系統內部處理音訊的路徑影響。
BL 大大提供的 TotalRecorder 的錄音
圖檔
原始訊號的圖形,和 Decoder 直接數位 dump 的圖形
圖檔
請看 1KHz 左邊那一排頻率,是不是截然不同?

接下來令我感到有趣的是 AC3Filter 16bit 輸出的 Noise level 和 Stereo crosstalk 這兩項成績,如您所見,AC3Filter 的這兩項成績高得離譜,不但比自身 24bit 輸出時的成績高,甚至比原訊號 wav 檔的成績還高!
這怎麼有可能?

RMAA 5.1 測試 Noise level 時不是用靜音,而是用一個很低的雜訊聲音,這個雜訊從頻譜上看是平整地分佈在所有頻率的底部,大約 -130dB 的地方,這個雜訊的"總音量",是 -98.1dB。

我覺得可能是因為 AC3Filter 解碼的時候降低了音量 6.02dB,這些位於最末位元的資訊(雜訊)在降低音量的過程中被捨去,雖然事後我們放大音量 6.02dB 回來,但是已經丟掉的資訊是無法再生回來的,所以"雜訊"變小了,從頻譜上看,雜訊很平整的往下平移:
圖檔
剩下來的雜訊應該是 AC3 Decoder 解碼時做的 dither。
所以 AC3Filter 16bit 輸出的 Noise level 成績異常地高,比原本的訊號還高。
而 24bit 輸出時,雖然音量一樣降低了 6.02dB,但是 24bit 末尾的位元比 16bit 多了 8bit,降低音量 6.02dB 只是捨棄最末尾的一個 bit,等於資料往右平移:
16bit 降低音量 6.02dB
0000000000000001 -> 往右平移一個 bit,前面補 0 =>
0000000000000000 -> 再放大回來
0000000000000000

24bit 降低音量 6.02dB
0000000000000001 00000000 -> 往右平移一個 bit,前面補 0 =>
0000000000000000 10000000 -> 再放大回來
0000000000000001 00000000

所以沒有影響。
Stereo crosstalk 測試是先左聲道產生一個測頻率響應用的全頻域訊號,右聲道則是測 Noise level 用的雜訊,比較全頻訊號和雜訊的差距,接下來相反,右聲道全頻訊號,左聲道雜訊,比較差距。
所以如果雜訊越低,差距越大,crosstalk 算出來的成績就越好。而如上所述,AC3Filter 的 Noise level 很低,當然 crosstalk 的成績也會離譜的高。

那如果我們也把 WinDVD 輸出的結果先降低音量 6.02dB,再放大回來,結果會怎麼樣?
結果會很慘,re-quant 造成的量化失真會產生非常大的 THD,而 AC3Filetr 則沒有那麼大的失真,我猜測是因為 AC3ilter 是在解碼階段降低音量,浮點數的失真較小,WinDVD 則是我們事後以整數降低音量,所以失真較大。
圖檔
如果我們用 AC3Filter 24bit 輸出,再自行轉為 16bit,和 AC3Filter 直接 16bit 輸出相比,結果會怎麼樣?
圖檔
由左到右,WinDVD 5,WinDVD5 降低音量再放大,AC3Filter 16bit 輸出,AC3Filter 24bit 輸出再轉 16bit
AC3Filter 24bit 輸出再轉 16bit 過程中沒有加入 dither,直接丟掉後面 8bit。
由上圖可知,如果用 AC3Filter 24bit 輸出,再經由自行轉為 16bit,其成績比 AC3Filter 直接 16bit 輸出好。
所以雖然音效卡不支援 24bit,如果系統可以接受 24bit 的音訊,由作業系統做 BDC 轉成 16bit,或者音效驅動程式可以做 BDC 轉成 16bit,那麼 AC3Filter 選 24bit 輸出,音質還是會比直接 16bit 輸出好。

其他成績
圖檔
由以上,總結:
1. 和 BL 大做的測試相比,數值差非常多,我不明白為什麼用 DMX6Fire 數位錄音,和 TotalRecorder 直接軟體數位錄音,和 Graphedit 直接數位 dump,結果差距會這麼多。
2. 那麼該相信哪一個?我覺得 BL 大做的 DMX6Fire -> CardDeluxe 類比錄音的結果最準 ^^; 因為 CardDeluxe 類比錄到的聲音,就是最後音效卡真正類比輸出的聲音,也就是最終的結果
3. 那麼我想作業系統,音效卡驅動程式可能會造成很大的影響,用 98 測說不定會和 XP 有很大的不同
4. AC3Filter 24bit 輸出成績非常好

有些表現可能無法用 RMAA 測出來,例如音場深度、實際音樂波形複雜時的高頻表現.... 等等,這些恐怕還是要用人耳去聽才能比較出來。
LIBIDO
初學者
文章: 32
註冊時間: 2002-07-01 08:00

文章 LIBIDO »

BL 大大:
有一個好玩的東西可以測,一般播放時的 graph 是
file.ac3 -> AC3 Parser Filter -> AC3 Decoder(WinDVD/AC3Filter... etc.)-> Default DirectSound Device

Decoder 有些有設定可以選擇用 waveOut 輸出或者是 DirectSound 輸出。
用 MPC 播放也可以選擇 waveOut 或 DirectSound 輸出。

而用 graphedit dump 的結果是
file.ac3 -> AC3 Parser Filter -> AC3 Decoder(WinDVD/AC3Filter... etc.)-> Dump -> file(RAW)

也就是拿掉 DirctSound 輸出,直接寫到硬碟。
那麼我把 RAW file 傳給您,你用軟體播放,以 DMX6Fire 或 Total Recorder 數位錄音,看看錄下來結果和您原先做的一不一樣。
我懷疑是 WINXP 系統搞的鬼。

同時,您還可以測試同一個 RAW file 用 waveOut, DirectSound, ASIO... etc 輸出有什麼不一樣。
說不定 ASIO 的輸出會正常。
也許可以解開長久以來,ASIO 輸出音質"好像"比較好的謎 :P
Nyserq
初學者
文章: 3
註冊時間: 2001-08-24 08:00
來自: 新竹
聯繫:

文章 Nyserq »

是用MPC在電腦上播放DVD嗎?
問題是MPC播放DVD的順暢度和畫質比WinDVD和PowerDVD都來得差
當然這和"音質"無關
Millennia
初學者
文章: 46
註冊時間: 2003-03-17 11:01

文章 Millennia »

BL大大...我用MPC在我的NOTEBOOK上放DVD結果DELAY非常嚴重,我的NOTEBOOK是NEC S260(PIII 1.06G)想請問您是如同 Nyserq大大說的"MPC播放DVD的順暢度和畫質比WinDVD和PowerDVD都來得差"這樣嗎...?我在NOTEBOOK上用Power DVD看都不會耶...?
請問您這樣是何問題...?
BL
大師
文章: 134
註冊時間: 2002-10-10 08:00

文章 BL »

我的電腦是Athlon 1GHz,MPC搭配WinDVD5 Video decoder播放DVD完全沒有順暢度的問題,至於畫質是否比較差由於我不是專家所以沒有辦法給您答覆。因為我看不出來MPC搭配WinDVD5 Video decoder畫面有什麼不妥的地方,能不能請您講得更明確一點?

另外由於我的電腦用MPC搭配PowerDVD5的Audio decoder會當機,而且PowerDVD的Video decoder的畫面雖然比較銳利但是雜訊比較多,我個人比較不喜歡,所以並沒有與MPC一起使用過。而也由於我個人的經驗,不建議使用PowerDVD搭配MPC。
BL
大師
文章: 134
註冊時間: 2002-10-10 08:00

文章 BL »

我測試了一下,PowerDVD5在我這邊如果開啟硬體加速播放時會不順,聲音偶而會破音,關閉硬體加速後就順了。搭配MPC的時候也有同樣的現象,只要開啟硬體加速就會頓。

WinDVD5的話無論開不開硬體加速都不會頓。

MPC搭配CyberLink Video/SP Decoder的畫面確實比MPC搭配InterVideo Video Decoder來得銳利,尤其在看實攝場景時細節增加,材質也比較細膩。但在看動畫的時候色塊內的騷動感比較明顯。

也就是說,其實InterVideo Video Decoder的畫面是比較模糊的,而且filter部分沒有其他選項可以調整。

所以影片的部分到底要用MPC搭配那個Video decoder就看個人喜好吧。反正Audio Decoder不要選到CyberLink就對了,運氣好的話只是聲音鳥,運氣不好的話會當機。

關於以上LIBIDO大大的文章延續討論在此。
http://forums.dearhoney.idv.tw/viewtopic.php?t=33991
BL
大師
文章: 134
註冊時間: 2002-10-10 08:00

文章 BL »

由於有網友來信提到為什麼我說Audigy的使用者採用Audigy內建的DD decoder就好了,不需要安裝AC3Filter,故這邊把測試數據附上。

這是將Audigy2ZS之類比輸出訊號接到DAL CardDeluxe錄音,再把錄音結果以RMAA5.1解析。WinDVD5與AC3Filter的數據來自用MPC呼叫IntelVideo Audio Decoder以及AC3Filter來播放同樣的ac3檔。

Audigy2ZS類比輸出測試結果如下
圖檔

詳細資料在此
http://mp3.dearhoney.idv.tw/RMAA/DolbyD ... decode.htm

由數據分析可知Audigy內建的DD decoder頻響、crosstalk與noise level比較糟,但是與音質非常相關的THD與IMD表現都是最好的

然而我這邊的Audigy2ZS無論是MME或DirectSound,RMAA5.1與WaveSpectra都回報不支援24bit播放,只有靠Audigy的ASIO 24/96才能以24bit播放。所以AC3Filter數據不好有很大的可能是因為Audigy把24bit轉成16bit的dither做得太差,反而是不需要再處理的16bit輸出數據比較好。

以下是用GraphEdit將AC3檔案解碼後存成raw再丟給RMAA5.1解析的結果。

這是當訊源為16bit 48kHz來壓縮後的播放結果:
圖檔

詳細資料在此
http://mp3.dearhoney.idv.tw/RMAA/DolbyD ... r16bit.htm

這是當訊源為24bit 48kHz來壓縮後的播放結果:
圖檔

詳細資料在此
http://mp3.dearhoney.idv.tw/RMAA/DolbyD ... r24bit.htm

由這兩個網頁的測試數據可以發現AC3Filter 16bit解碼與WinDVD的測試數據相當接近,而AC3Filter 24bit解碼的效果非常好,幾乎取得壓倒性勝利。

這是壓縮前的原始檔以及用SoftEncode 24bit解碼的結果:
圖檔

詳細資料在此
http://mp3.dearhoney.idv.tw/RMAA/DolbyD ... Encode.htm

於前面兩個頁面比較,SoftEncode的數據還是比AC3Filter 24bit差,但是勝過WinDVD5、PowerDVD5與AC3Filter 16bit,考慮SoftEncode輸出格式只有16bit,其實已經非常優良了,只有靠24bit輸出的AC3Filter能勝過。

其實SoftEncoder無論Decode Settings選16bit、24bit、24bit float,內容都是一樣的,只是檔案格式不同而已。如24bit只是16bit補8個0而已。所以以上SoftEncode的數據就也等於16bit解碼的數據。
最後由 BL 於 2003-11-27 17:10 編輯,總共編輯了 3 次。
Millennia
初學者
文章: 46
註冊時間: 2003-03-17 11:01

文章 Millennia »

BL大大謝謝您的幫忙,我現在忙於期中報告及考試,可以的話要等到下下星期考完再仔細使用一次,再告知您結果,再請您幫忙...謝...
suaaa
大師
文章: 113
註冊時間: 2001-01-24 08:00
來自: 台灣

文章 suaaa »

BL 寫:2.WMP採用Windows內建的MP3 Decoder,MPC採用MAD,完全是不同水準的表現。
請問一下,如何得知它是採用MAD?我找不到MAD的設定選項
BL 寫:3.WMP的工具列又醜又肥又難用,每次開啟還會連上MSN,浪費時間也浪費網路資源。
這部份,請打開設定,裡面有{開始的時候啟動媒體導覽},把它取消掉就OK了
BL 寫:結論是除非我要聽HDCD,否則絕對不會用WMP。
這倒是真的...可是偏偏大部分有HDCD的CD都有CCCD防拷,逼得我又去買了那台SONY的燒錄機來[正常]播放><
回覆文章