在其他地方的一些後續討論
==
........
抓圖得等一會兒,現在要先吃飯 :P
PSNR 越高,質量越好,代表和原檔案的誤差越小。
所以我也覺得很奇怪,怎麼我壓出來的 PSNR 那麼高,可是我看起來已經覺得很爛,爛的快受不了 :P
最主要動畫銳利線條周圍很容易出現斑斑點點的壓縮瑕疵,很難看。
讓我驚訝的是,這部影片開了 B-frame 之後,PSNR 竟然只下降 1dB,我之前的經驗,動畫類的影片一用 B-frame,PSNR 通常會狂跌。
等吃完飯再把測試四的結果貼上來,測試四是用接近人眼主觀測試的評鑑方法做的,用的是 ITS 的演算法,也就是 ANSI Rec. 使用的視覺品質評鑑法,用來做視訊廣播品質的測試,計算的是畫面的模糊程度、馬賽克(方塊)的程度、邊緣雜訊的程度... 等等接近人眼視覺品質的測試法。
使用這個測試,可以推知影片看起來的視覺品質,同時也可以看看測試結果是否符合一般的印象,以及和 PSNR 的相關程度,蠻有趣的
==
........
其實我已經把 XviD 的相關設置選項的選擇方法都寫在上面的測試報告裡面了,您沒有注意到嗎?

上面的測試報告與其說是測試報告,倒不如說是心得報告 :P
因為 XviD 壓出來的結果會贏已經是這些日子以來大家都知道的事實,所以如果只是做單純的測試數據報告,似乎有點無聊,所以小弟把製作時的想法,為什麼這麼選擇,這麼選擇有哪些缺點,改進調整的方向和方法都寫在上面的說明裡面了。
例如為什麼要提高 B-frame 的壓縮率? 促進整體品質。
提高 B-frame 的壓縮率將流量分給 I/P Frame 有什麼好處? 參考的 I/P Frame 畫質好,B-frame 的瑕疵會看不出來,整體品質提高。
B-frame quantizer 設得太高會有什麼缺點? B-frame 會出現一堆瑕疵。
B-frame quantizer 設得太低會有什麼缺點? 壓縮率下降,連帶整體品質下降。
B-frame 連續個數設得太多會有什麼缺點? 靜態畫面會出現瑕疵。
什麼時候判斷考慮限制 quantizer? 視 1st pass 壓出的檔案大小和目標大小判斷。
限制 quantizer 的範圍要設多少才好? 視預測的 quantizer 使用情況判斷。
限制 quantizer 太極端會有什麼缺點? 會變成都用同樣的 quantizer 壓縮,變成固定品質壓縮,那麼用 1-pass quantizer 壓縮即可,還做 2-pass 幹嘛。
......
等等。
這些都是小弟的使用心得,其實都寫在裡面了
至於 DivX 5.0.5 的設置,其實沒什麼好設的,大部分的選項 DivX Networks 都已經從使用者介面中拿掉了,如果你還是要控制,可以從 CLI 命令列中下指令控制,不過我找不到需要特別這麼做的理由,DivX 5.0.5 預設的 RC 演算法已經工作得相當好,幾乎可以說只要 bitrate 指定好,開始壓就可以去睡了,商業軟體就是要做得這麼好用才行
以上小弟使用的方法,並不是最好的設置,例如 XviD B-frame 的 quantizer 一定要和 DivX 5 一樣設為兩倍才可以嗎?用 ratio 150, offset 100 會不會更好一點?這個可以再實驗研究。B-frame 的 quantizer 下降,那麼 I/P Frame 的限制範圍可以放得寬鬆一點嗎?這個也可以再實驗研究。
同理,DivX 5.0.5 的設定這樣是最好的嗎?如果把 Bitrate modulation 不要設在固定品質,還是設給低動態的畫面多一點 bitrate,或是設給高動態畫面多一點 bitrate,看起來會不會比較好?
這些,都要再實驗研究、歸納、整理,找出不同類型的訊源、不同的流量,適合的使用方法 ^^;
而這些就需要常常壓製影片的人,才能作這樣的整理與報告了。
小弟只能從原理上,提供一些思考的方向

==
好恐怖,gruel 完成了 Trellis Quant(天啊,我盼了好久了),現在已經加到 dev-api-4 裡面,而 dev-api-4 也已經完成得差不多了,看起來很穩定,XviD 的首頁發佈了以下的新聞
引用:
Homepage: Release 1.0 around the corner
Posted by: gruel on Monday, April 28, 2003 - 11:22 AM CET (119 Reads)
Hi,
good news everyone! Things are moving fast.
The new API (dev-api-4) is now close to final. We got a new rate-distorsion optimized quantization mode (Trellis Quant) and differential Global Motion Estimation (GME) is ready to be included into the code as well.
When these features have proved to be stable, it's time for XVID 1.0. Stay tuned!
|
3 warp points 的 GMC(Global Motion Compensation)也已經完成(DivX 只有 1 warp point,等於沒用,1 warp point 做得到的事情,用一般的 Local MC 也可以做得到,用 GMC 不一定會比較省 bit),另外 gruel 用 skal 寫的 GME(Global Motion Estimation,GMC 的前置作業,就像一般的動作搜尋 (L)ME,ME 的結果做補償補上誤差叫做 (L)MC)程式碼做參考,改寫了原本的 GME 的演算法,現在的 GME 更有效率,開啟 GMC 功能檔案不會變大。(還在測試中,gruel 在找什麼情況下使用 GMC 會最有效率,encoder 會判斷,只有當 GMC 可以省 bit 時才使用 GMC)
Trellis Quant 初步測試可以提高 PSNR 大約 0.1~0.3dB 左右。
XviD 1.0 差不多快出來了
Things are moving fast!!

==
測試四和五(?)六....(還有嗎 ^^;),以及抓圖,晚點才能放上來,大概會是明天吧....