查看單個文章
舊 2005-01-23, 01:59 PM   #7 (permalink)
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 金幣
Post

Q:
我按你說的,更新45.23版驅動後,亮度功能能正常使用了!不過,經試用,只能在VMR7(視窗化)模式下可以,VMR7(無轉換)下不行!那看來我的TNT2顯示卡只支持關於 overlay 的視瀕調節,而不支持關於VMR的視瀕調節!

/embig16


非常感謝~~

A:
VMR7(無轉換)不行是正常的,因為沒有用到 overlay 嘛!∼∼

45.23 只支持關於 overlay 的視瀕調節

選項所說的VMR7(視窗化)的方法
尋找
DSVidRen=3
值改成3
mpc 在 win2000 中為什麼不可以直接選項
也許是裝我的是dx9而不是dx7差別吧∼?Win2000 內裝 dx7 。。
你系統的dx版本相關的,記得好像沒裝dx9的時候dx9的選項是不可選的
可能是由於一般的顯示卡都是支持dx7的硬體加速所以占的資源才小的
如果顯示卡支持dx9硬體加速的化應該也是一樣的
照如微軟聲稱 VMR7 只存在於 XP 以上的系統中。
我覺得實際上Dx9b 中也有包含 VMR7,只是隱藏了罷了...

用 dsf 做成

看那個 theora 文件的辦法:
1、 https://helixcommunity.org/download.php/507/xiphplins_win32_0_4.zip(內有安裝說明)
2、mpc 的ogg vorbis 設為 realmedia.


Summary: v0.3 Ogg Vorbis and Ogg Theora Plugins for RealPlayer 10
New versions of the Vorbis and Theora plugins are now available for RealPlayer 10. This release fixes the following bugs.

- A SMIL related bug caused by playing the middle of an .ogg file
- HTTP playback of static .ogg files
- A math overflow caused by large FPS numerators and denominators
- A few Icecast related bugs



Q:
regsvr32 某個文件之後不就寫入註冊表了嗎,哪裡還有綠色?


A:
那是使裡面的 dsf 可以供其他播放器使用而做的;

我的 GreenMPC 完全沒有 regsvr32 過任何 dsf 即可支持各種主流體格式;

所有的 mplayerc 的組態 包括 各種插件的使用完全是寫在 mplayerc.ini ,還有各種文件的使用方式,完全沒有動過註冊表;
3gp 格式 mympc 早已支持,至於 h.264,因為沒有統一的標準,又互不相容,所以沒有加入。對於大部分人來說,網頁內嵌在線播放還是經常用到的。
所以本播放器只是面對本機播放,網頁內嵌在線播放 需要改動註冊表,綠色是不可能的;

另外,這一個 ogg theora視瀕文件我一直無法用 dsf 弄好了,版主可以幫我一下嗎?

http://www.untwtv.com/aflymedia/theora_6.ogg



Q:
那你是用什麼方法增加的∼?
增加濾鏡∼?

A:
正是。

dsf 的就增加濾鏡
qt 和 real 都是使用同目錄下的核心文件而已



Q:

請教一個問題:
暴風影音Custom Matrices資料夾內的文件有何作用?如何用?謝謝!
http://www.sbtop.com/bbs/uploadsx/post-154-1090548479.jpg

A:
自訂 table ,壓片用的,與解碼無關


Q:
音瀕方面有foobar還是喜歡那個!∼
這個版本和real安裝版本有衝突嗎?

A:
經試用,與RealPlayer完全沒有衝突!

Q:
mov不能放的啊,放出來是這個效果,聲音沒問題

http://www.sbtop.com/bbs/uploadsx/post-154-1090558510.jpg

手機視瀕也不能放呀 !


A:
因為Quicktime的視瀕在全螢幕的時候用 dx7 (VMR) 輸出較好,我預設啟用了它

螢幕花掉證明您的顯示卡或者顯示卡驅動支持 dx7 不好,請修改這裡為系統預設:




http://www.sbtop.com/bbs/uploadsx/po...1090578980.png



Q:

按您說的改了之後,真的可以了,這個軟體對系統硬體軟體沒別的要求吧?
我是2003系統,原有的是directx8.1,顯示卡TNT2 M64
對了,請問有了您這個,是不是不用安裝WMP9和Realone了呢?
還就是不支持APE、Flac、MPC,不過有音瀕播放器了



A:

WIN2003 已經內裝了 WMP9 了吧? 而且內裝 dx8.1 已經足夠了 。

Realone 和 Quicktime 和任何其他的視瀕插件都不需要了即可播放。

你唯一要做的就是更新你的驅動,W2KXP-4523-WHQL 是我推薦的;

下載位址:

http://www.mydrivers.com/dir75/d30256.htm


我覺得沒有必要使 MPC 或者 WMP支持 APE、FLAC、MPC 、TTA等不會被用於視瀕中的非主流音瀕格式;

我選項還有更好的 foobar ;
2、至於第二個,一目瞭然:

RealG2這種已經沒人用的格式就沒必要支持了吧?

http://www.sbtop.com/bbs/uploadsx/post-154-1090583382.png

divx3+4+5 通過 DivXdec.ax 支持了
個軟體如果一定要說只有一個地方不是綠色的--dsf的組態還是要放到註冊表的,例如 「disable logo」之類,還有文件的關聯,這是不可避免的;

我這裡的指的綠色的意思是沒有 regsvr32 dsf ,沒有加入關於 real 和 quicktime 的註冊表內容,沒有把mpc 的組態放到註冊表中

這樣最主要是不會引起 dsf 之間的衝突(專門調低內裝插件的merit ), 不會引起 mpc 和realplayer 、quicktime 的衝突,安裝(解壓就好)和卸載都很方便(直接移除就好了);


如果一定要試不妨用一個乾淨的系統配合 AVIcodec 來試驗;

也歡迎網友在這裡說出試驗的結果;

再說一句:我自己用的 mpc 並不「綠色」,因為我經常要壓片。

我的系統 regsvr32 的插件有:

CoreAAC.ax、avi2ac3filter.ax、dtsac3source.ax、mpgaudio.ax、iviaudio.ax、ivivideo.ax、CoreVorbis.ax、vp6dec.ax、dvobsub.ax+vobsub.dll、Mpgdec.ax、RealMediaSplitter.ax、MatroskaSplitter.ax

外加一個 ffdshow ,用來解碼 divx3+4+5 ,xvid ,3ivx,h264

還有gk;

這樣已經可以滿足大部分播放和壓片的需要


兩個版本的優缺點很顯而易見,最直觀的就是lean的版本不用安裝,解壓縮後就可使用,且本機播放基本可以滿足絕大多數朋友的需要,更新解碼器新版本也很方便,直接取代即可;而風姐的版本功能更強大,除可以本機播放外,還可以播放網頁上的流媒體,但體積較大,更新較麻煩,另外,還要安裝,在註冊表寫入大量訊息。
兩個版本各有利弊,各位各取所需了。總之,對廣大網友來說,這絕對是一件大好事,因為大家有更多的選項!

Q:
想請教幾個問題:
請問暴風影音新增的大量自訂 Matrix要配合什麼壓片軟體來用?
PS:現在大家用得最多的壓片軟體是哪個?
還有,MPC的濾鏡管理頁面內,每個濾鏡的賦值是什麼意思?增加濾鏡後需要更改嗎?謝謝!!

A:
1、ffdshow和xvid 等 mpeg4 壓片的時候用 mpeg 方式量化時用,新手不必接觸太多;

有關詳細上 http://gb.doom9.org/ 看吧,這裡的人不會知道的太多的;

http://www.sbtop.com/bbs/uploadsx/post-154-1090586752.png


2、那個是 dsf 的 merit 值,即使用插件的優先權值;

例如你安裝了 Elecard 和 WinDVD 的兩個 MPEG2 解碼dsf,它們預設的 merit 值都是 00700000 ,那現在你想優先用 WINDVD 的來解碼,WINDVD 解碼不了的才用 Elecard 來解碼,那麼你可以在這裡把 WINDVD 的解碼的merit 調為00800000 就可以了;

這裡更改 merit 只有在 mpc 播放是才有效,用系統中其他播放器例如 wmp 是無效的。更改系統的 dsf 的merit值要用到 FilterManager 這個軟體;

http://www.sbtop.com/bbs/uploadsx/post-154-1090587590.png


Q:

第二個問題完全明白了!感謝!!
第一個問題還不是很清楚,請釋疑~~

請問暴風影音新增的大量自訂 Matrix要配合哪個壓片軟體來用?

PS:您現在用的壓片軟體叫什麼名字?

A:

FilterManager

圖中可以看出Subtitle VMR9 Filter ,即微軟 VMR 9 的字幕插件的 merit 值為 00000000 ,即永遠禁用,呵呵∼∼
http://www.sbtop.com/bbs/uploadsx/post-154-1090587949.png

您真的要學嗎?

先看懂下面的文章吧:

『 XviD中的精彩技術 』 ---- 作者:Silky

Quarter Pel = Quarter Pixel = 1/4 Pixel = QPel:


MPEG 壓縮的時候,P-Frame 會參考前一個畫面壓縮,B-Frame 會參考前面或後面,或前後的畫面壓縮。


此時只要紀錄和參考畫面之間的差異,也就是預測的誤差,還有物體移動的方向(動作向量 MV),


不用重新壓縮整個畫面,所以可以節省很多 bits,達到很高的壓縮率。





其中又以 B-Frame 的壓縮效率最高,因為 B-Frame 可以同時參考前面和後面的畫面,


以前後畫面的平均值((前+後)/2)做為參考畫面,可以大幅減少預測的誤差。


(預測的誤差越小,所需花費的紀錄誤差的 bits 數就越少,檔案就越小,壓縮效率就越高)





同時 MPEG-4 的 B-VOP 還有第四種預測模式,叫做 Direct Mode,直接拿後面的 P-Frame 的 MV


除以二作為動作向量,省去記錄 MV 的空間,也可以達到很高的壓縮效率。


如:


I B P





我們可以預測,B 的物體移動必然是介於 I 和 P 之間,所以 B 的 MV 大概會接近 P 的 MV 的一半。





以上是大致的壓縮原理,我們回過頭來看什麼是 QPel。


前面說到 P/B Frame 會在參考畫面上尋找最接近的區塊,然後記錄和這個區塊的誤差值,


以及相距的方向和位置(MV)。


MPEG 壓縮的時候是以 16x16 的方塊為服務機構,稱為 MacroBlock(MB),


一個 MB 一個 MB 地搜尋最匹配、誤差最小的參考方塊在哪裡。


(也就是搜尋這個物體移動到哪裡)





搜尋會在一定的範圍內搜尋,譬如說在週圍 32x32 的範圍內搜尋,而不會無限制的擴大搜尋下去。


所以當畫面上動態很大的時候,物體移動距離較遠,超出搜尋範圍,或是畫面變化的差異太大,


我們就找不到誤差很小的參考方塊,此時壓縮率就會下降,需要較多的 bits 來記錄。





很明顯的,物體的移動和像素(Pixel)的精確度無關,物體不會按照像素的格子,一格一格的移動,


每次都移動整數的格子點,剛好落在像素上。


所以我們以整數像素的服務機構做搜尋、比對,顯然無法找到最匹配、最相似、誤差最小的參考方塊。





為了克服這個問題,MPEG-2 壓縮的時候,會先將要參考的畫面做內插補值(interpolation),


補出像素和像素之間的次像素的數值,如:


A x B


x x x


C x D





像素 A 的值為 11,像素 B 的值為 13,則我們可以預測 A 和 B 之間的次像素 x 的值為 12。


依此類推,補出所有的 x 的數值,也就是 1/2 Pixel 的值,再以此 1/2 Pixel 精確度的畫面做為


參考畫面,於其上搜尋最近似的參考方塊。


這樣,我們就可以找到誤差更小的參考方塊,壓縮率就更高,同品質下檔案就更小,同容量下品質就更高。


根據測試,使用 1/2 Pixel 精確度的 ME(動作估計),PSNR(Peak Signal to Noise Ratio,訊噪比,


一般的一種客觀測試影像品質的方法)可以上升 3~5dB。


而 MPEG-4 用的 Quarter Pixel = 1/4 Pel,就是比 1/2 Pel 更精確,再補出 1/2 像素和像素之間


的 1/4 Pel,以此做為參考畫面。理論上 1/4 Pel 可以再提升 PSNR 2~3dB。


AoxoB


ooooo


xoxox


ooooo


CoxoD





o: 1/4 Pel





但是,如果 1/4 Pel 沒有良好的實作出來,導致用了 1/4 Pel 也沒有找到更好的參考方塊,


那麼因為 1/4 Pel 所使用的動作向量 MV 需要原本 1/2 Pel 的雙倍精度來記錄(如:1.5 --> 1.25),


所以壓出來的檔案反而會變大。(同容量下品質就更差)





早期 XviD 的 QPel 就是沒有良好的實作,同時有一些錯誤,所以對於壓縮效率沒有助益,


使用之後檔案反而更大。


但是現在 XviD 的 QPel 已經修正完畢,完全符合 MPEG-4 的標準規範,同時也達到理論上它的壓縮助益。


您可以做一個測試,以同品質壓縮(類BIOS Quantizer),開了 QPel 之後,檔案大約會減小 ~3%。


這代表同檔案大小下,開 QPel 的品質會比沒開 QPel 的品質好。








有了以上這些 MPEG 壓縮的基礎說明,我補充一下上次提到的幾個名詞說明:


Chroma ME 這個選項


ME = Motion Estimation 動作估計


在參考畫面上搜尋最近似的方塊,找出相距的距離和方向 => 動作向量 MV = Motion Vector 的程序叫做 ME。


MC = Motion Compensation 動作補償


將目前要壓縮的方塊和找到的參考方塊相減,紀錄它們之間的誤差值,以便在解壓縮的時候能夠


補上這個誤差值,這個程序叫做 MC。





MPEG 壓縮的時候將像素分為 YUV 三個平面,一般只在 Y(亮度)的平面上做 ME,搜尋 Y 誤差最小的 MV。


而 UV(色度,Chroma)的動作向量則是直接拿 Y 找到的動作向量除以二,作為 UV 的動作向量。


(當 MPEG 以 YUV 4:2:0 記錄時,UV 的解析度只有 Y 的一半,也就是畫面大小只有 Y 的一半。


如 Y: 640x480,UV 則只有 320x240。所以動作向量直接拿 Y 除以二,可以得到近似值)





這是因為人眼對 Y 亮度比較敏感,對 C 色度比較不敏感。色度解析度差一點,人眼也看不出來。


減少 C 所佔的空間,給 Y 使用多一點空間,可以在有限的流量大小下,增進視覺看起來的品質。


然而做 ME 的時候偷懶,只精確的求 Y 的 MV,而 C 的 MV 就直接拿 Y 的 MV/2 來使用,


這樣雖然可以加快壓縮的速度,但是品質也會下降。(C 沒有精確的求出誤差最小的參考方塊,


需要花較多的 bits 紀錄,使得壓縮率下降)





XviD 現在加入了 Chroma ME 的這個選項,會同時搜尋 Y/C 平面上,誤差最小的 MV,


速度會慢一點,但是品質會較好。


尤其是壓動畫類影片,效果最明顯。








為什麼動態越大的時候要減少連續 B-Frame 的個數?B-Frame 不是壓縮率最高,越多越好嗎?





MPEG-1 裡面,有三種 Frame 型態:


I-Frame: 不參考其它畫面,獨立壓縮,壓縮率最差,需要最多 bits,Frame size 最大。


P-Frame: 參考前一張 I 或 P Frame 壓縮,壓縮率次之。


B-Frame: 參考前後的 I 或 P Frame 壓縮,壓縮率最高。B-Frame 不能被其它 Frame 拿來當作參考畫面。





B-Frame(在 MPEG-4 裡面正確的名稱是 B-VOP)的預測模式有四種:


a. Forward 順向預測,參考前一張畫面,記錄和前一張畫面的差距。


和 P-Frame 的預測方法一樣。


b. Backward 逆向預測,參考下一張畫面,記錄和下一張畫面的的差距。


c. Bi-Directionally 雙向預測,參考前面和後面兩張畫面,記錄的是


和「前後兩張畫面的平均值」的差距。也叫做內插預測,壓縮率最高。


d. Direct Mode,不搜尋、紀錄動作向量,直接由下一張的 P Frame


推匯出動作向量。譬如說 I B P,我們可以預測 B 畫面的動作必然


是介於 I 和 P 兩個畫面之間,所以我們可以直接用 P 的 MV/2 作為


B 的動作向量,這樣可以省去記錄 MV 的空間。





壓縮 B-Frame 的時候會從上面幾種預測模式中選壓出來最小的一個模式來使用。





當把最大 B Frame 的個數設得太多的時候,如果 XviD 的動態 Frame Type 決策


沒有好好發揮它的功能,會造成誤判,在高動態的地方還是插入過多的 B-frame。


如:


大動態畫面


I B B B B P


P 距離參考的 I Frame 太遠,誤差太大,容量暴增。而第一個 B-frame,因為 I 和 P 的差距


很大,(I+P)/2 兩個 Frame 的平均值和 B Frame 的差異還是很大,倒不如只用 I Frame


來預測。此時 B 只參考前一張 I 壓縮,等於 P-frame。


中間的 B 參考 (I+P)/2 壓縮,因為差異量大,還是無法取得很好的壓縮率。


最後一個 B 只參考後面的 P 壓縮。


最後這四張 B-frame 都無法取得很好的壓縮率,大小都變成和 P 差不多大,





此時如果改成


0 1 2 3 4 5


I P P P P P


反而可以得到更好的壓縮率。


(因為 1P 參照 0I,差距小。2P 又可以參照 1P,差距也小。以此類推....)





現在 XviD 的動態分配決策已經比以前好很多,最大 B-frames 個數可以放心設到 4 沒有問題。


至於 DivX 5 的 B-frame,最多連續個數只能為 1,只能是 I B P B P B P B... 這種型態,


更別提 XviD 現在使用的先進 I/P/B Frame 分配決策,DivX 5 已經完全比不上 XviD。











最後,關於 XviD 保留的細節比較多的問題。





MPEG 壓縮的時候,以每個 16x16 像素方塊大小的 MacroBlock 為服務機構作 ME,然後量化的時候


會切成 4 個 8x8 的 Block(微方塊),做一種稱為 DCT 的轉換。


經過 DCT 轉換以後,8x8 方塊裡的 64 個像素點的 YUV 值,就變成代表空間頻率的係數。


人眼對高頻比較不敏感,相對的低頻的係數就比較重要,所以我們利用量化把高頻的係數削掉多一點,


保留比較重要的低頻係數,在有限的流量的情況下,可以增進肉眼看起來的品質。





XviD 可以使用兩種不同的量化方法(Quantization Type),一種是 H.263,另一種是 MPEG。


H.263 的量化方法,顧名思義,就是使用 H.263 這個壓縮規格所使用的量化方法,量化的時候,


8x8 的像素方塊內的所有 DCT 係數,全部除以同一個數位。(這個動作就叫做量化)


例如全部都除以 32,如果有一個 DCT 係數為 15,小於 32,經過相除之後,會被量化為 0,


如此便可以省下很多記錄的 bits。





當然,除的數位越大,量化的誤差也就越大,品質也就越差,但是壓縮率會越高,壓出來檔案會越小。


我們會利用另一個參數來調整量化的誤差,控制最後量化的品質和檔案的大小,這個參數叫做 Quantizer。


量化的係數會再乘上這個 Quantizer 的倍數,例如原本要除的量化係數是 32,Quantizer 是 2,


對應的放大倍數也是 2,最後真正要除的量化係數就變成 32*2 = 64。


所以 Quantizer 越大,要除的量化係數就越大,量化誤差就越大,品質就越差,但是檔案也越小。





H.263 的量化方法還規定,相鄰的兩個 MacroBlock 的 Quantizer 不能相差超過 2。





而另一種 MPEG 的量化方法,高低頻係數可以除以不同的量化係數,可以視情況將高頻削多一點。


這個 8x8 的量化係數,也就是 Quantize Matrix(量化矩陣)。


XviD 還可以讓你自訂、編輯這個矩陣的量化係數,你可以依照影片內容、使用碼率,自訂最適當的量化矩陣。


(量化方法要選 MPEG-Custom,同時更改 Edit Quantizer Matrix... 裡面的預設量化矩陣,


目前這個功能無法和 B-Frame 同時共享)





MPEG 的量化方法對相鄰的 MB 使用的 Quantizer 差距並沒有限制。





根據經驗,使用均勻量化矩陣(uniform quantization)的 H.263 量化法,壓出來的畫面會較模糊。


MPEG 量化方法的畫面會比較銳利。(不過銳利線條的週圍、物體的邊緣,會產生一些噪聲)





MS MPEG-4,也就是 DivX 3.11,使用的是 MPEG 的量化方式,所以一直以來,大家的評價都是 MS MPEG-4


的畫面比較銳利,保留比較多的細節。


DivX 4, DivX 5 都是使用 H.263 的量化方法,尤其是 DivX 4,畫面非常模糊。


雖然表面上看起來壓縮瑕疵較少,但是細節都被削光光了。


(可以參考上面 net1999 兄提供的圖片)


(DivX 5 其實可以藉由修改 registry 的方法,改成以 MPEG 的量化方式壓縮,但是顯然有 bug,


壓出來的東西慘不忍睹)





XviD 則可以讓使用者自行選項要類BIOS使用哪種量化方法,或者是視情況切換量化的方法。


(量化方法選項 Modulated,Quantizer 小於或等於 3 時會使用 MPEG 量化,


大於 3 時使用 H.263 量化。New Modulated HQ 則反過來)





GMC,也就是 S(GMC)-VOP,只有在整個畫面上,有大部分的區塊都往同一個方向移動時,


才能派上用場。譬如說鏡頭做 pan(由左往右 或 由右往左 平移)的時候,全體由上往下,


或由下往上移動,以及 zoom in/zoom out(物體放大縮小)的時候,才會使用 S(GMC)-VOP。


(其實還有其他功能,例如變形、旋轉的時候,不過目前 DivX 和 XviD 都沒有完整的作出這些功能)





使用 GMC 的時候,那個 Frame 會使用 MPEG-4 才有的 Frame Type,叫做 S-VOP。


(因為 MPEG-4 是以物件 Object 為服務機構壓縮,所以叫做 Video Object Plane,VOP,


視訊物件平面。有 I-VOP/P-VOP/B-VOP 和特別的 S-VOP 這幾種 VOP)


為了要和 Stripe 做區分,我們又把它叫做 S(GMC)-VOP。


所以要比較 GMC 的使用情形,必須找兩個相同的畫面,而且是 S(GMC)-VOP


(也就是有使用 GMC 的 VOP),才能看出 GMC 的使用結果。





目前 XviD 的 GMC 只有非常簡單的功能,現在使用 Global MC 不會比原來的 Local MC 有效率,


對壓縮沒有助益,用了之後檔案反而會更大(壓縮效率更差,同容量下品質更差)。


而且還有一些正確性的問題要修正(要符合 ISO 制訂的 MPEG-4 的標準規格,否則便是做錯,


壓出來的東西將來無法為其他標準的 MPEG-4 decoder 解碼),所以不建議使用。





XviD 的編程人員每個人都是學富五車,而且是世界上頂尖的編程高手,


目前Codec中的問題他們不是不知道,而是還在思考解決的方法。


譬如說目前 B-frame 一定要勾選 DX50 B-VOP compatibility,這個 Closed GOV


(等於 MPEG-1/2 的 Closed GOP)的問題開發人員不是不知道,而是很困難解決。


(我們來想的話會覺得很簡單。沒錯,理論上很簡單,實作就知道有多困難 )





而且開發人員每個人都還有自己的學業、工作要忙,僅能利用一點的閒餘時間


來從事這項編程工作,所以無法說改就改,立刻就解決這些問題。


不過儘管如此,XviD 仍然是目前世界上,品質最好的 MPEG-4 編碼軟體... 之一


(話不能說得太滿,要留一點進步的空間 )





XviD 這麼優秀,您還要繼續用 DivX 5 嗎 ^^
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次