test.1
XviD 自訂 CG 矩陣,搭配 Cartoon Mode,做 2-pass 壓縮。
這個 CG 矩陣的品質非常高,q=4 的品質相當於 H.263 q=2,所以壓出來 quantizer 會提高一倍。
這種超高品質矩陣的好處是,量化位階切得非常細,encoder 可以有更彈性的量化選擇,在高流量時壓縮品質會比較好。如果你檢查的話會發現,許多 DVD 也是用這種高品質的量化矩陣,而不用預設的量化矩陣。
缺點是,流量低的話用這種矩陣會爛得很快,尤其 MPEG-4 的 dc_scale 會隨 quantizer 做 non-linear 的爬升,畫面劣化非常快。再加上 MPEG-4 的量化方式和 MPEG-2 有異,又不像 MPEG-2 的 encoder 會根據 activity(區域複雜度)做 Adaptive Quantization,所以不完全適用在 MPEG-4 上。
沒有用 B-frame/GMC/Qpel 等其他特殊工具,動作搜尋的相關選項選最高品質。
代碼:
Komugi cg matrix with cartoon mode 2-pass 1st-pass size 70,197,248
Minimum Average Maximum File Size(bytes)
Y-PSNR: 40.3537 46.0814 58.3204
U-PSNR: 44.4375 49.1506 59.8588
V-PSNR: 43.9286 48.6988 60.4062
Sum PSNR: 41.4219 46.8380 58.6416 39,491,584
1st-pass 壓出來檔案大小 70,197,248 bytes。
Cartoon Mode 會造成在平坦、純色塊的背景上緩慢移動的銳利物體,後面會拖著一條長長的「尾巴」,留下髒髒的移動軌跡沒有清除乾淨。
或者快速跳動的銳利線條的端點,可能會殘留在後面的畫面上沒有消失,造成畫面上出現原本不存在的雜點。
同時它會減少細節,不過在這部影片中由於影片本身原來就沒有什麼細節,都是純色塊,所以看不太出來。
quantizer 分佈:
代碼:
q=2: 40 1.9%
q=3: 719 33.8%
q=4: 1071 50.3%
q=5: 115 5.4%
q=6: 96 4.5%
q=7: 17 0.8%
q=8: 38 1.8%
q=9: 34 1.6%
平均 quantizer=3.937
test.2
不用 Cartoon Mode,結果 1st-pass 壓出來檔案大小增大,可以預測 2nd-pass 會比較難壓。
代碼:
Komugi cg matrix w/o cartoon mode 2-pass 1st-pass size 72,282,112
Minimum Average Maximum File Size(bytes)
Y-PSNR: 39.7008 46.0626 59.2347
U-PSNR: 45.3015 49.3074 61.0771
V-PSNR: 43.5609 48.7915 63.1570
Sum PSNR: 40.8207 46.8482 59.9751 39,491,584
尾巴瑕疵消失,同時平均 PSNR 稍微提昇一點點,不過這種增幅可以視為沒差,但是最低 PSNR 下降,代表最差的畫面更加劣化,容易被注意到有明顯壓縮瑕疵。
代碼:
q=2: 16 0.8%
q=3: 623 29.3%
q=4: 1157 54.3%
q=5: 172 8.1%
q=6: 85 4.0%
q=7: 24 1.1%
q=8: 20 0.9%
q=9: 28 1.3%
q>9: 4 0.2%
平均 quantizer=3.995
果然比較難壓,平均 quantizer 上升。
視覺品質,沒有 Cartoon Mode 造成的尾巴瑕疵,但是高動態畫面的壓縮瑕疵增加,畫面劣化。
test.3
改用 H.263 quantization,1-pass 固定 quantizer=2 壓縮,不使用 Cartoon Mode。
代碼:
Komugi H.263 q=2 w/o cartoon mode
Minimum Average Maximum File Size(bytes)
Y-PSNR: 42.7477 46.4732 62.6539
U-PSNR: 46.4586 49.5689 63.6218
V-PSNR: 46.0206 49.0561 66.8183
Sum PSNR: 44.0262 47.2287 63.2892 40,067,072
結果平均 PSNR 上升,最低和最高 PSNR 上升極多,視覺品質明顯大幅進步。
動畫訊源用 H.263 壓縮真是王道
test.4
限制 I/P-frame 的 quantizer 範圍只能為 1~2,1st-pass 改用 quantizer=1 壓縮一次(預設是用 q=2 壓縮,而非 q=1,這個設定在 Zone 裡面,可以強制指定 quantizer)產生 q=1 的 stats 檔,做 2-pass 壓縮。
代碼:
Komugi H.263 cap q=1~2 w/o cartoon mode 2-pass 1st-pass q=1 size 112,992,256
Minimum Average Maximum File Size(bytes)
Y-PSNR: 42.7477 46.4821 62.6539
U-PSNR: 46.4586 49.5829 63.6218
V-PSNR: 46.0206 49.0674 66.8183
Sum PSNR: 44.0262 47.2384 63.2892 40,204,288
結果幫助不大。
平均 quantizer=1.998
test.5
開啟 Trellis 功能,1st-pass 檔案縮小非常多,可以預期 2nd-pass 會好壓非常多。
代碼:
Komugi H.263 cap q=1~2 Trellis w/o cartoon mode 2-pass 1st-pass q=1 size 91,697,152
Minimum Average Maximum File Size(bytes)
Y-PSNR: 43.8353 46.7262 62.4227
U-PSNR: 46.4309 49.5945 63.1248
V-PSNR: 45.9532 49.0888 66.4845
Sum PSNR: 44.7222 47.4346 63.0082 40,097,792
Average Vqm= 0.260569
Average SSIM= 94.76
喔喔,結果平均 PSNR 和最低 PSNR 狂升 ^^
最高 PSNR 因為 Trellis 的原理天性的關係,一定會下降一點。
視覺品質是到目前為止最好的。
平均 quantizer=1.987