본문 바로가기

일상

동영상 압축

요즘 올림픽 수영경기 녹화하느라 정신이 없다.
다행히 박태환이 잘 하고 있는 바람에 수영중계 비중이 높아진 것 같아 기분이 좋다.
(솔직히 그래도 더 많이 보여줬으면....)
덕분에 올림픽을 예상하고 구입했었던 HDTV카드가 제 기능을 다 하고 있다.

문제는 HD방송을 녹화하게 되면 용량이 엄청나다는 것이다.
무조건 '1920 x 1080'해상도, 17,200kbps의 화질, AC3 5.1ch의 MPEG2 코덱으로만 녹화가 되기 때문에 약 10분 녹화에 1GB라는 ㅎㄷㄷ한 용량의 압박이 생긴다.
물론 그만큼 화질은 좋지만 테라바이트급의 하드를 가지고 있지 않은 이상 압축은 필수다.
기존에는 그냥 xvid로 압축했었는데, 화질이 만족스럽지 못했다.
스포츠 경기라 동작이 상당히 빠르기 때문에 압축을 하게 되면 깍두기 현상이 심해지기 때문이다.
물론 화질을 높이면 그런 문제는 없어지지만, 당연히 용량도 같이 올라가기 때문에 둘 중에 하나는 포기해야 한다.
그래서 용량과 화질이라는 두 마리 토끼를 잡기 위해 연구하다 결국 h264코덱으로 압축하기로 했다.

h264는 최근에 떠오르는 코덱인데 압축률이 뛰어나 같은 용량이라면 다른 코덱에 비해 화질이 좋고, 같은 화질이라면 용량이 작다.
하지만 아직 개발 중인 코덱이라 불안정하고, 범용성도 적으며(아직도 대다수 PMP에서는 지원하지 않는다.), 컴퓨터 사양도 많이 탄다는 단점은 있다.

몇몇 장면으로 비교해 보았다.


사용자 삽입 이미지
[xvid, 2000kbps, single pass]

사용자 삽입 이미지
[h264, 2000kbps, two pass]
일단 동일한 파일로 압축할 시간이 없어 비슷한 장면으로 비교해 보았다.
참고로 single pass와 two pass에도 화질의 차이가 있는데 그냥 패스....
(이럼 공정한 비교가 아닌데....쩝)
동일한 bps인데도 xvid를 보면 레인 주변부가 굉장히 거칠게 표현되어 있고, 물살 튀는 부분에서도 깍두기도 보이고 거칠다는게 느껴진다.
h264의 경우는 레인이 깔끔하게 표현되어 있고, 물살도 꽤 부드럽게 나타난다.
'Beijing'글자만 비교해봐도 알 수 있다.



사용자 삽입 이미지
[xvid, 2000kbps, single pass]
이건 비교가 아니라 화질이 얼마나 좋지 않은지 보여주기 위한 것이다.
약간이라도 움직이는 부분에서는 저렇게 화면에 엄청난 노이즈가 발생한다.
(테두리 부분에 각이 져서 보이기 때문에 흔히들 깍두기 현상이라고 말한다.)
정지된 장면이 많은 영상이라면 문제가 없겠지만, 수영처럼 끊임없이 움직이는 장면이 많은 영상에서는 상당히 눈에 거슬린다.



사용자 삽입 이미지
[xvid, 2000kbps, single pass]

사용자 삽입 이미지
[h264, 2000kbps, two pass]
역시 비슷한 장면으로 비교해보았다.
레인 주변부를 보면 화질의 차이를 알 수 있다.
물론 h264라고 깍두기가 생기지 않는 것은 아니지만 xvid에 비하면 훨씬 깔끔한 느낌을 준다.


그래서 결론은 h264라는 것이다.
동일한 bps인데도 화질이 더 좋고, 심지어 용량은 xvid에 비해 더 적다.
그렇다면 동일한 용량이라면 가능한한 최대한 좋은 화질로 압축하는게 정답인 것 같다.
(문제는 엄청난 시간이 걸린다는게 문제....게다가 two pass이니 걸리는 시간은 두배라는....)
한동안 컴퓨터가 꺼질 일이 없을 듯....