여기에 "프로그레시브" 옵션이 있다는 것을 깨달을 때까지 일부 BMP 파일을 최고 품질(Q = 100)의 JPEG 형식으로 변환하려고 합니다.
내 BMP 파일 중 하나는 2.9MB입니다. 프로그레시브 없이 JPEG 형식으로 변환한 후 새 파일 크기는 338.2KB이고 프로그레시브를 사용하면 새 파일 크기가 283.2KB로 줄어듭니다.
이 프로그레시브 JPEG의 용도에 대한 Wikipedia 기사를 읽었지만 일반 JPEG와 비교하면 프로그레시브 JPEG의 품질이 더 나빠지거나 동일해질까 걱정됩니다.
답변1
좋은 글이 몇개 있네요여기이는 프로그레시브 압축이 더 나은 이유를 설명하는 것으로 보이며 프로그레시브 JPEG에서 압축된 데이터가 더 효율적으로 정렬되고 블록 이미지 데이터와 노이즈가 분리되어 별도로 압축된다는 사실로 귀결되는 것 같습니다.
아래에 중요한 부분을 강조했는데, 제가 할 수 있는 것보다 더 잘 설명되어 있습니다.
결과적으로 나는 프로그레시브 JPEG가더 나은압축되지만 이미지 품질에는 큰 변화가 없습니다.
프로그레시브 JPEG에는 두 가지 코딩 기능이 있습니다.
- 스펙트럼 선택
- 연속 근사
설명하신 내용은 첫 번째 기능(첫 번째 DC, 그다음 AC 대역)일 뿐입니다. 그러나 이는 Progressive JPEG의 코딩 효율성이 달라지는 주요 원인인 두 번째 기능입니다.연속 근사를 사용하면 먼저 계수의 높은 비트(낮은 정밀도, 거친 이미지)를 저장한 다음 낮은 비트(높은 정밀도, 상세한 이미지)를 저장합니다. 일반적인 이미지에서는 노이즈가 하위 비트에 집중됩니다. 따라서 허프만 인코더는 잡음이 적은 높은 비트 범위의 기호 코딩에 더 효율적일 수 있습니다.연속 근사 코딩은 다음과 같습니다.분리하다이미지의 노이즈가 줄어들어 코딩 효율이 향상됩니다(노이즈는 거의 압축되지 않음).
이미지에 노이즈(세부 사항)가 많을수록 프로그레시브 JPEG의 코딩 효율성이 높아집니다. 이미지에 노이즈(흐림)가 적을수록 순차(비프로그레시브) JPEG의 코딩 효율성이 높아집니다.
대부분의 Progressive JPEG 코더는 스펙트럼 선택 코딩과 연속 근사 코딩을 혼합하여 사용합니다. 더 나은 코딩 효율성을 위해서는 주로 연속 근사치가 관련되며 이미지 클래스에 대한 최적의 연속 근사치 매개변수(JPEG 표준의 정밀도(Ah/Al)를 구분하는 지점)를 찾으려고 노력할 수 있습니다. 예를 들어, 때때로 내 이미지에 대한 최적의 지점 Al=4를 찾았습니다(4개의 하위 비트가 별도로 코딩됨).
답변2
프로그레시브 JPEG의 장점은 이미지가 전송되는 동안 즉석에서 볼 경우 전체 이미지에 대한 근사치를 매우 빠르게 볼 수 있으며 오래 기다릴수록 품질이 점진적으로 향상된다는 것입니다. 이는 이미지를 위에서 아래로 천천히 표시하는 것보다 훨씬 좋습니다. 단점은 각 스캔이 전체 기본 JPEG 파일을 표시하는 데 거의 동일한 양의 계산을 필요로 한다는 것입니다.
이미지는 정확히 동일해야 하며 표시하는 데 더 많은 처리가 필요합니다.