Chrome이 작은 JPEG를 다르게 보여주는 이유
Why Tiny JPEGs Look Different in Chrome

작은 로고가 Firefox와 Chrome에서 다르게 보이는 현상은 렌더링 버그가 아니라 Chrome의 JPEG 디코딩 최적화 때문이었습니다. Chrome은 Skia와 libjpeg-turbo를 통해 부분 IDCT 스케일링을 사용하여, 이미지를 1/8 크기로 디코딩할 때 고주파 성분을 건너뛰고 저주파 성분만 사용합니다. 이로 인해 작은 이미지가 더 두껍게 보일 수 있습니다. 이 글은 JPEG의 DCT 변환과 부분 IDCT 스케일링의 원리를 설명하며, 아이콘 같은 작은 이미지에는 JPEG 대신 SVG를 사용하라고 조언합니다.
정말로, 여기서의 교훈은 아이콘 같은 것에 JPEG을 사용하지 말라는 것입니다. 이 형식과 그 최적화는 우리의 사진 인식에 맞춰 설계되었습니다.