'사전 크기'는 압축에 어떤 영향을 줍니까?


39

크기가 클수록 압축 비율이 높아지고 그 반대도 마찬가지입니다. 하지만 더 나은 결정을 내릴 수있는 방법이 있습니까? 7zip


지금까지 사전 크기 ≈ 파일 크기가 최적의 압축을 생성한다는 것을 알았습니다. 파일 크기
여기서 ~ 8mb 파일 test.avi은 8mb 보다 큰 모든 사전 크기에 대해 동일한 압축 비율을 갖습니다. 그런 다음 떨어지기 시작합니다.


2
예, 전체 파일이 메모리에 있기 때문입니다. 그러나 다중 기가 파일을 처리하는 경우에는 불가능할 수 있습니다. 투자 수익률이 높을수록 줄어 듭니다. 마지막 1 %가 필요한 경우 size = file size입니다. 참고 : 더 큰 데이터 세트를 사용하면 128MB 이상의 사전 크기로 파일을 압축하는 데 걸리는 시간이 늘어납니다.
cybernard

답변:


28

반복 가능한 항목은 사전에 저장되고 코드는 대체 항목으로 지정됩니다.

이것은 매우 단순화입니다

aaaaaaaaaaaaaaaaaaaaaaaa  0001
bbbbbbbbbbbbbbbbbbbbbbbb  0002
alsdjl;asjdfkl;asdfjkljj  0003

전체 줄 대신 코드를 그 자리에 넣습니다. 사전이 클수록 더 많은 코드를 처리 할 수 ​​있습니다. 일반적으로 사전이 가득 차면 즉시 새 사전을 시작합니다. 새로 시작하면 비어 있고 새로운 패턴이 감지 된 패턴에 할당됩니다.

일반적으로 포인트가 클수록 좋습니다. 전체 사전은 메모리에 저장되므로 사전 크기보다 많은 RAM이 필요합니다.

사전 크기는 데이터의 압축성, 파일 수, 크기 및 전체 크기에 따라 다릅니다.

일반적으로 32MB이면 충분하지만 여러 개의 멀티 기가 파일을 압축하는 경우 훨씬 더 많은 수를 사용할 수 있습니다. 사전이 클수록 프로세스 속도가 느려지지만 파일 크기는 작아집니다.


2
사전 크기 또는 실제 크기에 대한 제한을 설정 한 크기입니까? 프로그램 (특히 7-zip)은 일반적으로 허용 된 전체 사전을 실제로 채워야하는지 지능적으로 결정합니까?
Stan

1
예, 한계입니다. 가득 차면 새로운 사전을 시작하거나 오래된 데이터를 지능적으로 밀어냅니다. 압축 할 데이터가 채워지는 사전의 크기보다 크지 않으면
cybernard

@cybernard "만들 것"? 명확하게하기 위해, 사전 크기가 채워지지 않을 때 한계보다 작게 유지됩니까?
LonnieBest

1
@LonnieBest 예, 사전은 완전히 비어 있습니다. 너무 많은 비트 / 바이트가 가득 찰 때까지 새로운 사전 항목을 만듭니다.
버나드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.