H.264编码实验
本實驗使用JM 18.6編解碼
一、解碼
修改decoder.cfg,將輸入文件與輸出文件改為自己所用的文件和想要的文件,將程序運行目錄設置到bin中,運行程序解碼.264文件,根據.264文件生成.yuv文件。
解碼完成
二、編碼
修改encoder.cfg,將輸入文件與輸出文件改為自己所用的文件和想要的文件,同時調整輸入輸出分辨率、編碼幀數、GOP長度、連續B幀數、碼率,將程序運行目錄設置到bin中。
調整GOP長度:
連續B幀長度:
碼率:(調整碼率時要把RateControlEnable打開)
GOP與連續B幀數對圖像質量的影響
GOP=15,2B幀:
Y分量的PSNR為39.975dB
該視頻中較明顯的運動處:
P幀:
紅色為前向預測,綠色為后向預測,P幀只有前向預測。
B幀:
既有前向預測也有后向預測
I、B、P幀的宏塊類型:
(紅色與橙色均為幀內編碼,黃色為與上一幀相同不用編碼,藍色為前向預測編碼,綠色為雙向編碼)
更多測試:
| P幀運動矢量 | |||||
| B幀運動矢量 | 無 | 無 | |||
| I幀宏塊類型 | |||||
| P幀宏塊類型 | 無 | ||||
| B幀宏塊類型 | 無 | 無 | |||
| PSNR(dB) | 40.174 | 40.129 | 40.735 | 40.904 | 41.177 |
不同碼率的PSNR:
分別對各個情況測試最小碼率、60kbps、100kbps、140kbps、180kbps、最大碼率,記錄數據。
使用matlab繪圖:
不統計最大碼率情況時:
統計最大碼率情況時:
各情況的趨勢接近,由統計最大碼率的情況可知GOP=12,無B幀的壓縮質量最好,GOP=1,全I幀質量最差,其他情況排序為GOP=12,2B > GOP=9,2B > GOP=4,1B
由結果可知相同碼率時,連續B幀數相同時GOP越大質量越好,GOP相同時連續B幀數越大越好,即B幀占比越大時質量越好。
總結
- 上一篇: H.264文件分析
- 下一篇: iis websocket同时连线人数_