작업중 필요에 의해서 vp8 과 h264 의 화질을 벤치마크를 했는데 고생한게 아까와서 여기에 결과물 공개.



* 테스트 방법


2. ffmpeg 으로 vp80 동영상 샘플 인코딩 (옵션은 디폴트 - profile 은 모르겠다..)
3. mencoder 로 h.264 동영상 샘플 인코딩 (옵션은 디폴트 - 하고 보니 main profile 로 인코딩 되더라..)

4. ffmpeg 으로 원본, 인코딩된 동영상의 모든 프레임을 png 로 추출

5. 직접만든 psnr 비교툴로 각 결과물을 비교

※ raw 원본이 있으면 좋겠지만 ... 그냥 고화질 wmv 를 사용했다
※ 인코딩시 소리는 전부 녹음하지 않았다.
※ 인코딩시 2pass 인코딩을 하였으며, h.264 는 당연시 x264 로 인코딩을 했다.
※ 키프레임 옵션도 중요한데... 실수로 제대로 처리를 못했다. h.264 는 2~3 개의 키프레임이 나왔고 vp8 은 4개의 키프레임이 나왔다.



* 결과물

1. 1700k

평균 PSNR 
- H.264 : 40.8
- VP8 : 40.4

2. 2500k 

평균 PSNR 
- H.264 : 42.6
- VP8 : 43.1


3. 4100k

평균 PSNR 
- H.264 : 44.7
- VP8 : 45.0


* 결론 
- vp8 은 main profile h.264 와 비슷한 화질을 보여준다. 



* 참고사항
- vp8 인코딩 속도는 h.264(x264) 보다 몇배(한 다섯배 정도 됬던가?) 느렸다.
- psnr 수치는 높을수록 좋은 화질임을 의미한다. 
- psnr 수치는 log10 을 씌운값이기 때문에 10db 정도 차이가 나면 무지하게 큰 차이이다.
- 이상하게 vp8 은 중간중간 psnr 값이 위로 튀는 그래프가 나온다. 실질적으로 아래로 튀지 않으면 별 상관없기는 하지만.

* 이 테스트는 몇가지 중요한 사항을 고려하지 않았기 때문에 vp8 과 h264 의 정확한 비교자료가 될 수 없습니다. 그냥 vp8 이 h264 만큼 화질이 좋다는 정도만 참고하면 될듯합니다.





Posted by 키플러
,