최근에 개발된 이미지 포맷이 많지만, 여전히 널리 쓰이는 포맷은 jpeg와 png이다.
아무래도 '바퀴를 다시 발명하는 것을 싫어하는' 본능도 한몫 했을 것 같고…
그리고, jpeg 압축률의 최강은 mozjpeg이었다. 적어도 어제까지는…
그런데, 구글이 또 뭔가를 저지른 것 같다…
2017.3.16 구글은 블로그를 통해 Guetzli라는 라이브러리를 공개했다.
jpeg 표준을 만족시키는 범위에서 더욱 높은 압축률을 보여주는 솔루션이다.
그런데, 이전의 Zopfli와 Brotli가 그랬듯, 이번에도 빵 종류에서 이름을 따왔다.
이것도 빵의 종류라고…
아직 초기 단계라 그런지 정상적으로 동작만 하는 수준이고 무척이나 느리다. (mozjpeg보다 120배 느리다고)
직접 돌려보니 대략 아래와 같은 결과를 볼 수 있었음.
1. 느린데, 느리고, 느리다
2. 메모리 짱짱 많이 먹음
3. Exif 정보를 복사하지 않음
4. 여튼 동작은 됨
Guetzli는 깃허브에서 소스가 관리되고 있고, 다운받을 수 있다.
Visual Studio 2017에서 Guetzli를 컴파일하려면 아래와 같은 절차를 밟으면 된다.
1. vcpkg를 설치한 뒤 이를 이용해서 libpng와 gflags를 설치 (좀 더 상세한 과정은 readme 참조)
2. guetzli.sln을 Visual Studio 2017에서 열기
3. 프로젝트 속성 수정: 링커-시스템-큰 주소 처리를 예(Yes)로 수정
4. guetzli.cc에서 #include <unistd.h> 를 #include <io.h> 로 변경