업로드 없음, 100% 로컬, 계정 없음

아티클

이미지가 저장할 때마다 화질을 잃는 이유

카메라 롤에서는 선명해 보였던 사진이 몇 번의 단체 채팅을 거쳐 전달되고 몇 차례 다시 게시되고 나면 각지고 흐릿하게 나옵니다. 누구도 일부러 편집하지 않았습니다; 그저 여러 번의 재인코딩을 거쳤을 뿐이고, 그때마다 세부 정보를 조금씩 더 버렸습니다. 이것은 세대 손실이라 불리는, 오래되고 잘 알려진 손실 압축의 특성이며, 널리 재공유된 이미지가 점점 더 나빠 보이는 경향이 있는 이유를 설명해 줍니다. 손실 재인코딩이 실제로 버리는 것은 무엇인지, 그것이 왜 누적되는지, 그리고 파일이 더 나빠지는 것을 멈추는 방법을 알아봅니다.

'손실'이 실제로 버리는 것

온라인에서 공유되는 대부분의 사진을 뒷받침하는 형식인 JPEG는 설계상 손실 압축입니다: 그 배경이 되는 표준 ITU-T T.81은 픽셀 블록을 주파수 데이터로 변환한 다음 품질 설정에 따라 그 데이터를 어느 정도 적극적으로 반올림하는 방식으로 작동하며, 이 단계를 양자화라고 합니다. 반올림은 정확히 되돌릴 수 없습니다; 버려진 세부 정보는 파일 어딘가에 숨어 있는 것이 아니라 진짜로 사라진 것입니다. 높은 품질 설정은 부드럽게 반올림해 손실을 알아채기 어렵고, 낮은 설정은 거칠게 반올림해 파일이 눈에 띄게 각지지만, JPEG로 한 번만 저장해도 항상 무언가는 버려집니다.

다시 인코딩할 때마다 새로운 세대가 생긴다

사진을 처음 JPEG로 저장할 때 카메라의 픽셀 데이터는 한 번 양자화됩니다. 그 JPEG를 다시 열어 전혀 편집하지 않고 다시 저장해도, 이미 근사된 픽셀을 디코딩해 두 번째로 양자화하는데, 이는 첫 번째 반올림 대신이 아니라 그 위에 더해지는 것입니다. 저장을 추가할 때마다 또 다른 세대가 생기며, 매번 이전 세대가 이미 만들어 낸 각짐과 색 밴딩이 누적됩니다. 적절한 품질 설정으로 한 번 하는 것은 거의 눈에 띄지 않지만, 같은 파일에 같은 설정을 대여섯 번 연달아 적용하면 사진이 눈에 띄게 나빠집니다, 다음 세대가 다시 반올림할 때 이전의 모든 세대에서 온 오차가 여전히 그대로 있기 때문입니다.

다섯 세대에 걸친 JPEG 연쇄: 각 재인코딩은 이전 세대에서 이미 반올림된 픽셀에서 시작하며, 다섯 번째 세대에 이르면 이미지가 눈에 띄게 각져집니다

널리 재공유된 이미지가 더 나빠 보이는 이유

여러 채팅, 피드, 재업로드를 거치는 사진은 거의 모든 단계마다 새로운 세대를 얻습니다: 메신저 앱이 채팅용으로 재압축하고, 소셜 플랫폼이 자체 전달 과정을 위해 다시 재인코딩하며, 누군가 그 결과를 스크린샷 찍어 재업로드하는데, 이는 이미 나빠진 이미지를 또 한 번 완전히 재인코딩하는 것입니다. 이 효과가 누적되는 데 이런 단계 중 어느 것도 부주의하거나 유난히 낮은 품질 설정을 쓸 필요가 없습니다; 본질적으로 누적되는 성질이며, 이것이 바로 오랫동안 널리 퍼진 이미지가 같은 사진의 새로운 사본보다 흔히 눈에 띄게 더 많은 각짐과 색 밴딩을 보이는 이유입니다.

무손실 형식에는 이런 문제가 없다

PNG와 무손실 WebP는 다르게 작동합니다: 정확한 픽셀 데이터에서 패턴을 찾아 더 효율적으로 압축할 뿐 무엇도 반올림해 버리지 않으므로, 편집 없이 같은 무손실 파일을 디코딩하고 다시 인코딩해도 세대를 거듭해도 픽셀을 정확히 재현합니다. 이 보장이 스크린샷이나 선명한 가장자리와 텍스트가 있는 그래픽이 보통 JPEG 대신 PNG로 저장되는 이유입니다. 대가도 있습니다: 줄여 줄 반올림이 없으므로 일반적인 사진의 무손실 파일은 적당한 품질의 JPEG보다 훨씬 큽니다.

열 번의 재저장 비교: JPEG는 눈에 띄는 블록 잡음이 쌓이는 반면, 무손실 PNG는 원본과 픽셀 단위로 동일하게 유지됩니다

파일의 화질을 관리하기

세대 손실의 연쇄는 각 저장이 이전 저장에서 이미 나빠진 픽셀에서 시작할 때만 누적됩니다. 무손실 원본(원본 카메라 파일이나 PNG)을 보관하고 매번 그 원본에서 새 JPEG를 내보내면 오래된 반올림 위에 새로운 반올림을 쌓는 것을 피할 수 있습니다. 저희 이미지 압축 도구는 무언가를 보내기 전에 품질 설정을 고르고 결과 파일 크기를 볼 수 있게 해 주며, 저희 이미지 비교 슬라이더는 원본과 압축된 사본을 슬라이더와 함께 나란히 놓아 파일을 전달하고 또 다른 세대를 시작하기 전에 나쁜 설정을 잡아낼 수 있게 해 줍니다. 두 도구 모두 전적으로 브라우저에서 실행됩니다: 확인하는 사진은 절대 기기를 벗어나지 않습니다.

이 아티클의 도구

자주 묻는 질문

JPEG 파일을 복사하거나 옮기면 화질이 나빠지나요?

아닙니다. 파일을 복사하거나, 이메일에 첨부하거나, 폴더 사이에 옮기는 것은 정확히 같은 바이트를 복사합니다; 아무것도 디코딩되거나 재인코딩되지 않으므로 다시 양자화되는 것도 없습니다. 세대 손실은 픽셀이 실제로 다시 열리고 저장될 때만 일어나며, 파일 자체가 이리저리 옮겨질 때는 일어나지 않습니다.

세대 손실을 되돌리고 잃어버린 세부 정보를 복구할 수 있나요?

아닙니다. 양자화는 진짜로 손실입니다: 이전 저장이 버린 반올림된 주파수 데이터는 파일 어디에도 기록되어 있지 않으므로, 어떤 필터나 알고리즘도 그것을 복원할 수 없습니다. 나빠진 JPEG를 선명하게 하거나 노이즈를 줄이면 잡음이 시각적으로 덜 두드러지게 만들 수는 있지만, 원래의 세부 정보를 되살리지는 못합니다.

나빠진 JPEG를 PNG로 변환하면 문제가 멈추나요?

손상이 이미 일어난 후에 변환하면 새로운 반올림 단계를 더하지 않고 그 시점의 JPEG 모습을 픽셀 단위로 보존하지만, 이전 저장에서 잃어버린 세부 정보를 되살리지는 못합니다. 해결책은 연쇄의 뒤늦은 단계에서 사진을 변환하는 것이 아니라, 더 많은 세대가 생기기 전에 무손실 원본을 보관하기 시작하는 것입니다.

출처