Mozilla JPEG Encoder Project

This project's goal is to reduce the size of JPEG files without reducing quality or compatibility with the vast majority of the world's deployed decoders.


나는 jpeg 라이브러리로 mozjpeg을 사용한다.

이 라이브러리는 위에서 보는 것과 같이 같은 화질에서 품질의 저하 없이 파일의 크기를 줄이는 목적으로 시작된 프로젝트다.

첫 버전이 출시되었을 때는 libjpeg-turbojpegcrush 기능을 추가한 형태였는데, 이 때는 정말로 화질의 변화가 전혀 없었다.

그런데, 이제 3.0까지 업데이트되었고, 확인해보니 화질의 저하도 약간 발생[각주:1]했다.

이 테스트를 진행하는 과정에서 libjpeg-turbo와 mozjpeg로 번갈아가며 저장한 결과도 함께 확인해봤다.

Q=85로 설정하고 200번씩 저장한 결과는 아래 그래프와 같았다.


0123


이 그래프들에서 확인할 수 있는 결과는 아래와 같다.


1. libjpeg-turbo의 화질 저하가 제일 적음. 즉, 이 쪽이 속도도 가장 빠르며, 왜곡도 적음


2. Q=85에서는 40회 이상 반복 저장할 때까지 화질이 살짝 저하되다 수렴하는 경우도 있지만, 시종일관 일정한 경우가 대부분[각주:2]


3. 대부분의 경우에 mozjpeg의 화질이 윈도우의 JpegBitmapEncoder보다 살짝 높음[각주:3]


4. libjpeg-turbo와 mozjpeg로 번갈아 저장하는 경우가 가장 화질 저하가 크지만, 충분히 수용 가능한 범위의 양호한 화질



  1. 물론, 눈에 띌 정도의 저하는 결코 아님. 단순히 PSNR 수치 비교의 결과일 뿐. [본문으로]
  2. 다시 한 번 이전 포스팅들의 내용을 확인한 것임. jpeg로 아무리 반복 저장해도 심각한 화질 저하/열화는 없음. [본문으로]
  3. 다소 의외의 결과이긴 하지만, 이걸 보면서 MS 개객끼를 시전할 필요는 없음. 그야말로 간발의 차이임. [본문으로]

+ Recent posts