PNG 형식에는 압축 매개 변수가 있으므로 무손실입니까?

PNG 형식은 무손실 형식이어야하지만 이미지를 PNG 파일로 저장할 때 압축 수준을 선택하라는 메시지가 표시됩니다. 이것은 결국 PNG 형식이 실제로 무손실이 아니라는 것을 의미합니까? 오늘의 수퍼 유저 Q & A 게시물은 호기심 많은 독자의 혼란을 해결하는 데 도움이됩니다.

오늘의 질문 및 답변 세션은 커뮤니티 중심의 Q & A 웹 사이트 그룹 인 Stack Exchange의 하위 부문 인 SuperUser가 제공 한 것입니다.

질문

수퍼 유저 리더 pkout은 PNG 이미지의 품질이 선택한 압축 수준의 영향을 받는지 알고 싶어합니다.

내가 알기로 PNG 파일은 무손실 압축을 사용합니다. 그러나 Gimp와 같은 이미지 편집기를 사용하고 이미지를 PNG 파일로 저장하려고하면 0에서 9 사이의 압축 수준을 요구합니다.

압축 된 이미지의 시각적 정밀도에 영향을주는 압축 매개 변수가있는 경우 PNG는 어떻게 무손실입니까? 누군가 나에게 이것을 설명해 주시겠습니까? 압축 수준을 9로 설정 한 경우에만 무손실 동작이 발생합니까?

선택한 압축 수준에 따라 이미지 품질에 차이가 있습니까?

대답

수퍼 유저 기여자 인 LordNeckbeard와 jjlin이 우리에게 해답을 제공합니다. 먼저 LordNeckbeard :

PNG는 압축되었지만 무손실

압축 수준은 파일 크기와 인코딩 / 디코딩 속도 간의 균형입니다. 지나치게 일반화하기 위해 FLAC와 같은 이미지가 아닌 형식도 유사한 개념을 가지고 있습니다.

다른 압축 수준, 동일한 디코딩 된 출력

압축 수준이 다르기 때문에 파일 크기가 다르지만 실제 디코딩 된 출력은 동일합니다. MD5 muxer를 사용하여 디코딩 된 출력의 MD5 해시를 ffmpeg와 비교할 수 있습니다. 이것은 몇 가지 예를 통해 가장 잘 보여집니다.

PNG 파일 만들기

  • 기본적으로 ffmpeg는 PNG 출력에 -compression_level 100을 사용합니다.
  • 빠르고 엉성한 테스트에서 100 (가장 높은 압축 수준)이이 예에서 인코딩하는 데 약 3 배, 디코딩하는 데 0 (가장 낮은 압축 수준)보다 5 배 더 오래 걸린 것으로 나타났습니다.

파일 크기 비교

PNG 파일 디코딩 및 MD5 해시 표시

두 해시가 동일하므로 디코딩 된 출력 (압축되지 않은 원시 파일)이 정확히 동일하다는 것을 확신 할 수 있습니다.

jjlin의 답변이 이어졌습니다.

PNG는 무손실입니다. 이 경우 김프는 최상의 단어 선택을 사용하지 않을 가능성이 큽니다.

압축 품질 또는 압축 수준 으로 생각하십시오 . 압축률이 낮을수록 파일 크기가 커지지 만 생성 시간이 더 적게 걸리는 반면 압축률이 높으면 파일 크기가 작아지고 생성 시간이 더 오래 걸립니다.

일반적으로 감소하는 수익을 얻습니다. 즉, 가장 높은 압축 수준으로 올라갈 때 걸리는 시간의 증가에 비해 크기가 크게 감소하지는 않지만 이는 귀하에게 달려 있습니다.

설명에 추가 할 것이 있습니까? 댓글에서 소리를 내세요. 기술에 정통한 다른 Stack Exchange 사용자의 답변을 더 읽고 싶으십니까? 여기에서 전체 토론 스레드를 확인하십시오.