3. 用來做測試的工具有沒有問題?
測 PSNR 測得很高興,有沒有想過計算 PSNR 的軟體可信度如何?
原本 Sagittaire 用來計算 PSNR 的工具是 Avisynth 內建的 compare(),compare 算的是平均 PSNR,它先個別算出每一張 frame 的 PSNR,最後再將每一張 frame 的 PSNR 平均之後求得最後的成績。這個做法有一個缺點,那就是算出來的平均 PSNR 會受到幾張 PSNR 超高的 frame 影響。例如有一個 codec A 大部分的畫面 PSNR 都贏 codec B,但是有幾張 frame 是全黑的畫面,很容易壓,PSNR 通常是九十幾 dB,codec B 正常壓出 九十幾,然而 codec A 因為某些原因,例如 chroma 有 filtering,造成這幾個畫面數字上沒有壓成全黑,雖然視覺上看不出來,但是這一個稍微的誤差,PSNR 就會狂跌到五十幾 dB。結果這個 codec A 大部分畫面都贏 codec B,就因為這幾個全黑的畫面,最後平均 PSNR 輸給 codec B。
因為原本的 compare 計算有這個缺點,所以後來的 compare 和 compareyv12 才做改良,改成先累積各個畫面的 MSE 誤差,最後再算 PSNR。這個做法等於是將整部影片視為是一個巨大的 frame,計算這個 frame 的整體 PSNR,這樣的數據就比原本的平均 PSNR 可信度高。
又例如,因為 PSNR 計算的是壓縮後和原本畫面之間的數學上的絕對誤差,有時不能反映人眼的視覺品質。PSNR 高的不一定看起來就比較好,有時 PSNR 較低的人眼看起來的壓縮瑕疵反而少。譬如雖然 codec A 的 PSNR 較低,但是它把畫面弄模糊一點,明顯的方塊瑕疵會比較少。
因為 PSNR 有這樣的缺點,所以 Sagittaire 又找了會考慮人眼視覺特性的評量方法 SSIM 和 VQM 來作為輔助。
然而 SSIM 和 VQM 的可信度如何?
Sagittaire 剛開始測的時候,VQM 程式有 bug,做出來的結果完全錯誤,您說能參考嗎?
好吧不翻舊帳

我們來說說這些會考慮人眼視覺特性的評量法。
所有考慮 HVS(Human Visual System) 的視訊評量方法都有一大堆理論,然而最後做出來沒人會去管理論,讀者(和評量法的作者)關心的是這個評量法做出來的結果是不是和視覺看起來的結果一致
由於人眼的視覺機制複雜,牽涉到的生理和心理層面很多,所以目前發展的 HVS 評量法很難做到完全和主觀測試的結果一致。VQEG 的網站上結論,評估過許多 HVS 評量法之後,他們覺得雖然 PSNR 有缺點,但是仍然是不可或缺的重要指標。
所以我們要先有一個觀念,這些 HVS 評量法可以做為參考,但是最後真正還是要由人眼來看,由人來下最後的判斷。
4. 那麼要由誰來看?
我想不論如何,絕對不能由一個會說出「1500kbps 以上各個 codec 壓出來的畫質都差不多,都很好,不用作 1500kbps 以上的測試」這樣的話的人來幫我們下主觀的判斷。
1500kbps 以上各個 codec 壓出來都差不多?我的老天爺.....
流量足不足夠是根據訊源來做變化,好壓的訊源,可能 500kbps 就已經足夠,難壓的訊源,9000kbps 都不夠用。
不能因為自己看不出來 RV9-EHQ 洗掉的細節,就說 RV9-EHQ 沒有洗掉太多的細節。在描述自己所得到的觀點的時候,要記得加上「我看起來....」,而不是說得斬釘截鐵,說得好像真理即是如此,我說的即是真理。
如果所做的測試接近公正,所得到的數據接近正確,由數據歸納出的結論接近中肯,由結論下的判斷接近客觀,那麼說得理直氣壯、義正嚴詞,倒也無所謂。
可是偏偏測試做得有許多瑕疵,所得到的結果也只限於局部的範圍,只是在那些流量、那幾個訊源有這樣的結果,就要擴大到說整個 codec 的表現全部就是如此,一定是如此,絕對是如此,那就令人哭笑不得了。
我不滿意的是,不能只丟出數據,卻不解釋數據背後的意義,不說明它可能會有哪些缺陷,不分析它涵蓋的範圍有多少,不給讀者充分的資訊去解讀數據,會誤導讀者做出偏頗的判斷。