2019-01-03 16:50:46

최대신호대잡음비(peak signal-to-noise ratio, PSNR)는 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타낸 것이다. 주로 영상 또는 동영상 손실 압축에서 화질 손실 정보를 평가할 때 사용된다. 

 

PSNR

PSNR은 다음과 같이 계산한다.

 

 

여기서 $MAX_I$는 해당 영상의 최댓값으로서, 8비트 그레이 스케일 영상의 경우는 255가 된다. 또한 MSE는 평균제곱오차로써 다음과 같이 계산할 수 있다.

 

 

여기서 I는 m x n 사이즈의 그레이스케일 이미지이고, K는 I에 잡음이 포함된 이미지, 즉 왜곡된 이미지를 의미한다. 공식1의 분모에 MSE가 있으므로, MSE(평균제곱오차)가 작을수록 더 큰 PSNR을 갖게 되는 것이다. 따라서 품질이 좋은 이미지는 비교적 큰 PSNR을 가질 것이고, 품질이 나쁜 이미지는 비교적 작은 PSNR을 가질 것이다.

 

PSNR과 이미지 품질 사이의 관계

동일한 원본 이미지에서 다른 정도로 JPEG 압축 손실된 이미지들의 PSNR을 구해보자. 

 

원본 이미지와 다른 정도로 JPEG 압축 손실된 이미지들.

 

JPEG 압축 손실된 이미지들의 PSNR을 보면 압축률이 클수록 PSNR도 작아진 것을 확인할 수 있다. 

34.8227dB -> 30.9394dB -> 25.8699dB

오른쪽으로 갈수록 왜곡 현상이 점점 심해짐을 우리 눈으로 확인할 수 있다. 

34.8227dB (품질이 괜찮다) -> 30.9394dB (품질이 조금 나쁘다) -> 25.8699dB (품질이 매우 나쁘다)

단, 이상의 세 개의 손상 이미지만 가지고 PSNR이 품질을 나타내는 지표로 적당한지 판단하기엔 부족하다. 그래서 779개의 원본 및 손상 이미지와 그에 대한 지각 품질 점수(DMOS)를 라벨 값을 갖고 있는 LIVE 데이터베이스에서 실험을 진행했다. PSNR 점수와 라벨 간 상관성이 클수록 PSNR이 품질을 잘 반영한다고 볼 수 있다. 라벨과 PSNR 점수간의 상관도를 파악하기 위해 스피어만 상관계수(SROCC)를 산출했다. 

SROCC = -0.8197

-1 또는 1이 완벽한 상관관계를 나타내므로, -0.8197은 꽤 강한 음상관관계를 갖고 있음을 나타낸다. 따라서 사람의 지각 품질을 PSNR이 어느 정도 잘 반영하고 있다고 볼 수 있다. 여기서 말하는 지각 품질 또는 인지 품질이란 우리가 어떤 이미지를 눈으로 보고 뇌로 처리해서 느끼는 품질을 의미한다. 

 

PSNR의 한계

PSNR은 위 첫번째 공식에서 보듯이 단순히 원본 이미지와 왜곡 이미지 사이의 수치적 차이로 이미지 품질을 평가하기 때문에, 종종 사람이 느끼는 것과 일치되지 않은 품질 점수를 산출한다. 아래 두 이미지와 그에 해당하는 PSNR을 확인하자. 우선 왼쪽이미지는 JPEG 압축 손실된 이미지이고, 오른쪽이미지는 blur된 이미지이다. 

 

비슷한 PSNR 값을 갖지만, 지각 품질은 사뭇 다르다

 

두 이미지의 PSNR은 유사하다. 그러나 우리는 왼쪽 이미지의 품질을 상대적으로 더 나쁘게 느낀다. 아마 100이면 100 모두 왼쪽 이미지의 지각 품질이 나쁘다고 평가할 것이다. 하지만 PSNR은 이러한 지각 품질을 제대로 반영하지 못한다. 이러한 한계를 극복하기 위해서 사람의 시각 시스템을 반영하기 위해 PSNR을 발전시켜 PSNR-HVS, PSNR-HVS-M등의 방법이 개발되었고, PSNR과 완전히 다른 접근법을 가진 SSIM, VIF와 같은 방법들도 제안되었다. 

참고로 위의 두 이미지에 대해 SSIM 점수를 구하면 다음과 같다. SSIM 경우 1에 가까울 수록 품질 점수가 좋은 것이다. 

 

지각 품질의 차이가 SSIM 점수에는 반영되었다

 

SSIM 방법은 오른쪽 이미지에 더 큰 점수를 주었다. 우리가 느끼는 지각 품질에 좀 더 가까운 결과를 냄을 알 수 있다. 또한 LIVE 데이터베이스의 779개 이미지에서 실험을 진행하면 아래와 같은 결과가 나온다. 

SROCC = -0.8522


SSIM이 PSNR보다(-0.8197의 SROCC를 산출했었다) 좀 더 나은 성능을 보임을 알 수 있다. (참고로 PSNR과 SSIM는 매트랩 내장 함수로 계산했다.)


<참고자료>
[1] https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio, 위키백과 "Peak signal-to-noise ratio"