우리나라 hdtv 방송의 영상부분은 약 17mbps의 전송률을 가지고 있습니다

일반적인 hd화면을 송출하기에는 전혀 무리가 없는 전송률이지만

반짝거리는 조명 led배경이 많은 무대영상은

화면 자체가 보통의 화면들보다 몇배나 복잡하기 때문에 17mbps보다 훨씬 높은 전송률을 필요로 합니다

하지만 전송률은 제한되어 있으므로 어쩔수 없이 화질을 낮춰서 송출하게 됩니다

그결과 이런 깍두기로 가득찬 화면이 나옵니다




근데 이런 깍두기 가득한 화면들을 화질기준인코딩(CRF모드)으로 인코딩하면

저부분에서 원본인 17mbps 초과해서 인코딩해버리는데

이때 초과되는 부분은 근본적으로 완전 낭비죠

이때 vbv maxrate와 vbv buffer size를 설정해주면 원본의 전송률 이상으로 비트레이트가 상승하는것을 막을수 있습니다

원래 하드웨어 디코딩할때 원활한 재생을 위해 만든 옵션이지만 응용할수 있지요



x264 인코더 옵션에서 스샷처럼 설정해주시면 됩니다

buffer size는 maxrate보다 충분히 낮은 상태면 됩니다 걍 1000 ㄱㄱ

maxrate가 7500인건 720p로 리사이즈해서이빈다

720p로 줄이면 약 1/2.25로 줄일수 있으니 17000/2.25=7555.555라서 약 7500입니다

이렇게 제한을 걸어주면 영상에 따라 다르지만 약 5~10프로정도 용량을 줄일수 있습니다



단 어디까지나

1. 원본 비트레이트가 낮은 mpeg2 hdtv영상 소스

2. 화면이 복잡해서 깍두기가 발생하는 음악무대영상

3. 화질기준인코딩( crf ) 인코딩

1 2 3 모두 해당되는 경우에만 적용가능한 팁입니다
(2pass인코딩에서도 효과가 있긴있어요)


미국 hdtv녹화영상 샘플이 하나 있는데 전송률이 30mbps를 넘더군요 이런경우는 필요가 없겟죠

글고 캠영상이나 블루레이 소스는 전송률도 높고 mpeg2가 아닌 압축률이 훨씬 높은 h264를 쓰기때문에 위 방법을 사용하면 안됩니다

용량대비화질을 중요시한다면 수동 phy enhancement라 생각하시고 여러군데 응용하실수도 있습니다



마지막으로 이방법은 비트레이트를 전체적으로 낮추는게 아닙니다

18398156.png

18401578.png 

제가 인코딩해서 비트레이트 분석을 한 스샷인데요

보시다시피 확 치솟는 부분에만 영햐을 끼칩니다


참고링크

http://blog.naver.com/chbocoder/130030780235

http://blog.naver.com/chbocoder/130034921331

Posted by 아싸좋구나
,