2016-11-14 8 views
1

zlib 압축 수준을 고려 중이므로 zlib 명령에 지정할 수있는 여러 압축 수준의 압축률에 대해 궁금합니다. 높은 숫자가 더 나은 압축을 선호하면서, 분명히다른 zlib 압축 수준의 압축률

#define Z_NO_COMPRESSION   0 
#define Z_BEST_SPEED    1 
#define Z_BEST_COMPRESSION  9 
#define Z_DEFAULT_COMPRESSION (-1) 

, 낮은 수가 적은 압축 파일의 비용으로 압축과 디플레이션에 대한 낮은 대기 시간을 의미 다음 zlib manual 압축 수준을 지정하는 다음 상수를 더 높은 대기 시간의 비용.

내 질문은 다른 압축 수준에 대해 예상되는 압축 비율은 무엇입니까?zlib web page입니다. 최대 zlib 압축 비율은 최대 압축과 관련하여 2 : 1 ~ 5 : 1의 순서이며 다른 압축 요인에 대한 압축비/범위도 있습니까?

+0

압축하는 데이터에 상당히 달려 있습니다. 내 경험에 따르면 JSON과 같은 데이터는 일반적으로 압축을 사용하여 10 %와 같이 축소되지만 H.264 비디오와 같은 데이터는 전혀 이득이되지 않습니다. – mm759

+0

데이터에 따라 다르다는 것을 알고 있지만 주어진 데이터에 대해서는 "레벨 7은 레벨 8보다 작은 x로 데이터를 압축합니다"라고 말할 수 있습니다. 즉, 최대 압축 수준에 대한 일반적인 범위를 제공합니다. 범위가 다른 압축 수준에도 적용될 수 있는지 궁금합니다. – DIMMSum

답변

2

데이터에 독립적 인 질문에 대한 답변이 없습니다. 압축 비율이나 각 압축 수준에서 압축 비율 비율을 예측할 수 없습니다. 레벨은 압축기가 이전의 32K 데이터에서 일치하는 문자열을 찾는 정도를 반영합니다. 그게 다야.

+0

이것은 "pngcrush"가 존재하는 주된 이유입니다. 필자가 PNG 데이터 스트림의 "최상의"압축을 찾는 유일한 방법은 zlib 압축 수준과 전략, PNG 필터링 및 기타 등 다양한 조합을 사용하여 무차별 대폭 재판을 수행하는 것입니다. –