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-turbo 에 jpegcrush 기능을 추가한 형태였는데, 이 때는 정말로 화질의 변화가 전혀 없었다.
그런데, 이제 3.0 까지 업데이트되었고, 확인해보니 화질의 저하도 약간 발생했다.
이 테스트를 진행하는 과정에서 libjpeg-turbo와 mozjpeg로 번갈아가며 저장한 결과도 함께 확인해봤다.
Q=85 로 설정하고 200번 씩 저장한 결과는 아래 그래프와 같았다.
0 1 2 3
이 그래프들에서 확인할 수 있는 결과는 아래와 같다.
1. libjpeg-turbo 의 화질 저하가 제일 적음. 즉, 이 쪽이 속도도 가장 빠르며, 왜곡도 적음
2. Q=85에서는 40회 이상 반복 저장할 때까지 화질이 살짝 저하되다 수렴하는 경우도 있지만, 시종일관 일정 한 경우가 대부분
3. 대부분의 경우에 mozjpeg 의 화질이 윈도우의 JpegBitmapEncoder보다 살짝 높음
4. libjpeg-turbo와 mozjpeg로 번갈아 저장하는 경우가 가장 화질 저하가 크지만, 충분히 수용 가능한 범위의 양호한 화질 임