development

품질을 100으로 설정하면 JPEG가 손실되지 않습니까?

big-blog 2020. 12. 4. 19:44
반응형

품질을 100으로 설정하면 JPEG가 손실되지 않습니까?


저는 JPEG가 손실 압축 표준이며 '품질'요소가 압축 정도와 데이터 손실량을 제어한다는 것을 알고 있습니다.

그러나 품질 수치가 100으로 설정되면 결과 jpeg는 무손실입니까?


위에서 올바르게 대답했듯이 품질 100의 "일반적인"JPEG 인코더를 사용하면 무손실 압축이 제공되지 않습니다. 무손실 JPEG 인코딩이 존재하지만 본질적으로 다르며 거의 사용되지 않습니다.

나는 왜 품질 100이 무손실을 의미하지 않는지 설명하기 위해 게시하고 있습니다.

JPEG에서 압축 정보는 대부분 DCT 계수 양자화 단계에서 손실됩니다 (8x8 계수 블록은 8x8 양자화 테이블로 분할되므로 더 작아짐-> '더 압축 가능'). JPEG 품질을 100으로 설정하면 실제 양자화가 발생하지 않으므로 (양자화 테이블은 최소한 표준 IJG-JPEG 테이블에서는 모두 1이되기 때문에) 실제로 여기서 정보를 잃지 않습니다.

그러나 양자화가 발생하지 않는 경우에도 정보 손실로 이어지는 주로 두 가지 요인이 있습니다.

  1. 일반적으로 JPEG 압축은 색상 정보를 줄입니다 (사람의 시각 시스템이 광도에 비해 덜 민감하기 때문). 따라서 품질 100에서도 색차 서브 샘플링을 수행 할 수 있습니다 (즉, Cb 및 Cr 계수를 절반 이상 떨어 뜨림). 이 경우 양자화가 발생하지 않더라도 정보가 손실됩니다. 그러나 인코더에 전체 색도를 유지하도록 지시 할 수 있습니다 (소위 4 : 4 : 4 색상 샘플링).
  2. 그럼에도 불구하고 JPEG 인코딩은 계수가 반올림되는 DCT 도메인으로가는 것을 의미합니다. 반올림은 일부 정보를 버립니다. 이것은 다른 모든 옵션에 관계없이 발생합니다.

Jpeg는 설정에 관계없이 손실이 있습니다. 100에서는 가능한 최소 손실을 얻습니다.

테스트하기는 쉽습니다. 간단한 .bmp를 작성하고 aq = 100 jpeg로 압축 한 다음 .bmp로 다시 추출합니다. Gimp / Photoshop을 사용하여 두 비트 맵의 ​​"차이"를 수행하면 손실을 확인할 수 있습니다. aq = 50 또는 q = 1 변환에서보다 훨씬 덜 눈에 띄지 만 여전히 존재합니다.


거기에있다 JPEG의 무손실 형태 지만 널리 지원되지 않으며 당신이 품질 설정을 조정하여 얻지 않는다 - 그것은 완전히 다른 과정이다.


wikipedia 에 따르면 No.

jpeg 100의 압축률은 2.6 : 1입니다. 압축 방법은 일반적으로 손실이 있습니다. 즉, 일부 원본 이미지 정보가 손실되어 복원 할 수 없어 이미지 품질에 영향을 미칠 수 있습니다.

JPEG 표준에 정의 된 선택적인 무손실 모드가 있습니다. 그러나이 모드는 제품에서 널리 지원되지 않습니다.

참고 URL : https://stackoverflow.com/questions/7982409/is-jpeg-lossless-when-quality-is-set-to-100

반응형