영상데이터나 음성데이터를 처리하는 과정에서 흔히 등장하는 것이 PSNR이라는 개념입니다.
PSNR을 비교한다는둥, PSNR이 얼마냐는둥의 표현이 여러군데에서 등장하는데,
PSNR이 무엇인지를 간단하게 소개하겠습니다.
PSNR은 SNR을 약간 변형해서 영상처리나 음성처리에서 사용하는 것입니다.
보통 SNR은 그대로 표현하기 보다는 log를 씌워서 dB 단위로 표현합니다.
이렇게 말이죠...
PSNR은 두 영상이나 음성의 차이를 숫자로 표현하는 것인데, 아래와 같은 식으로 표현됩니다.
(물론, 영상처리에서도 실제로는 1개를 사용합니다. 속도를 위해서요)
즉, MSE란 두 개의 같은 양의 데이터에 대해 동일한 위치에 대해 분산을 계산하는 것입니다.
(분산의 용도는 약간 다르지만, 수식적으로는 비슷합니다)
그런데, 대부분의 책자에서 "평균 제곱 오차"라고 표현하고 있습니다.
해석이 되지 않는 표현을 억지로 쓰는 것은 양복에 갓을 쓰는 것과 같지 않을까요?
Signal power을 noise power로 나누는 것은 기존 SNR과 유사한데, 문제는 모든 영상을 대표하는 signal power가 없다는 것입니다.
그래서, 255의 제곱(65025)으로 signal power를 대신합니다.
물론, 255는 8비트 픽셀의 최고값이구요.
(당연히 16비트 픽셀이라면 65535의 제곱으로 계산해야 합니다)
두 영상이 완벽하게 동일하다면 분자인 MSE가 0이므로 PSNR은 무한대가 됩니다.
일반적으로 30dB가 넘으면 두 영상의 차이를 눈으로 구분하기 어렵다고 합니다.
그리고, 내용기반 탐색으로 두 영상을 비교할 때는 11dB 이상이면 꽤 유사도가 있는 영상이라고 하구요.
비디오 코덱에 대해 평가할 때도 압축률을 얼마로 했을 때 원본 동영상과의 PSNR을 비교해서 코덱의 우열을 비교합니다.
왜냐하면 PSNR이 크다고 반드시 화질이 좋은 것은 아니기 때문입니다.
화질이 좋다는 것은 주관적인 판단이 포함될 수 있기도 하고, 화질이라는 것이 인간 인지능력의 영역이기 때문이기도 합니다.
또, 없어진 부분을 복원하는 경우 얼마나 원래의 영역을 잘 재구성했는지를 PSNR로 표현하기도 합니다.
아..설명 감사합니다..ㅜㅜ
답글삭제ㅎㅎㅎㅎ잘보고갑니당.ㅋ
제목에 오타군요.. ㅎㅎㅎㅎ
답글삭제그런데 제가 왜 이 페이지 까지 흘러 들어 왔지???
@JAFO - 2009/04/04 01:44
답글삭제ㅋㅋ 그렇네요.
급수정했습니다.
잘보고 갑니다.
답글삭제유용한 자료 감사합니다. ^^
안녕하세요 자료 잘 보았습니다. 그런데..
답글삭제내용기반 탐색으로 두 영상을 비교할 때는 11dB 이상이면 꽤 유사도가 있는 영상이라고 하구요.
--------------------------------------------------------------
위의 내용 관련으로 자료를 좀 더 보고싶은데 어떤 참고자료가 있는지 알려주실 수 있나요? 부탁드립니다.