Shannon 데이터 압축 한계보다 작은 크기로 데이터를 압축 할 수 있습니까?


17

데이터 압축 알고리즘과 데이터 압축의 이론적 한계에 대해 읽었습니다. 최근에 "Combinatorial Entropy Encoding"이라는 압축 방법이 발생했습니다.이 방법의 주요 아이디어는 파일에 표시된 문자, 해당 빈도 및 파일이 나타내는 이러한 문자 순열의 색인으로 파일을 인코딩하는 것입니다.

이 문서는이 방법을 설명하는 데 도움이 될 수 있습니다.

https://arxiv.org/pdf/1703.08127

http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf

https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019

그러나 첫 번째 문서에서는이 방법을 사용하여 일부 텍스트를 Shannon 제한보다 작게 압축 할 수 있음을 읽었습니다 (문자의 빈도를 저장하는 데 필요한 공간과 메타를 저장하는 데 필요한 공간은 고려하지 않았습니다) 파일의 데이터). 나는 그것에 대해 생각 했고이 방법이 매우 작은 파일에는 효과적이지 않지만 다른 한편으로는 큰 파일에서는 잘 작동한다는 것을 알았습니다. 실제로 나는이 알고리즘이나 Shannon 제한을 완전히 이해하지 못합니다. 각 문자의 확률에 확률의 역수의 를 곱한 값의 합이라는 것을 알고 있습니다 .log2

그래서 몇 가지 질문이 있습니다.

  1. 이 압축 방법은 실제로 파일을 Shannon 제한보다 작게 압축합니까?

  2. 파일을 Shannon 제한보다 작게 압축하는 압축 알고리즘이 있습니까? (이 질문에 대한 대답은 '아니요'인 경우)?

  3. 파일을 Shannon 제한보다 작게 압축하는 압축 방법이 존재할 수 있습니까?

  4. 조합 인코딩이 실제로 Shannon 제한을 초과하여 파일을 압축하는 경우 원하는 파일 크기에 도달 할 때까지 파일을 반복해서 압축 할 수 없습니까?


26
Shannon Shannon 한계 미만으로 압축 할 수 없음을 증명 했습니다.
Yuval Filmus

11
압축 손실이 발생 하면 Shannon 제한 아래로 내려갈 수 있습니다 . Shannon은 정보를 잃지 않고 는 한계 이하로 압축 할 수 없다는 것을 보여주었습니다 . @YuvalFilmus. 마찬가지로 RGB 이미지에서 R, G, B 구성 요소의 하위 비트를 버릴 수 있습니다.
smci


6
@smci 그것은 압축 이론에 대한 논의에서 크게 관련이 없습니다. 분명히 나는 ​​모든 비트를 버리고 압축이라고 부를 수 있습니다.
파이프

1
이미지와 같은 큰 파일이 있다고 가정 해 봅시다. 이제 모델에서 전체 이미지를 "1"ha로 매핑합니다. 전체 이미지가 "1"로 압축됨에 따라 Shannon 제한 이하로 압축되었습니다.
Pieter B

답변:


34

실제로 나는이 알고리즘이나 Shannon 한계를 완전히 이해하지 못합니다. 각 문자의 확률에 확률의 역수의 log2를 곱한 값의 합이라는 것을 알고 있습니다.

여기에 요점이 있습니다. Shannon 제한은 텍스트 문자열의 보편적 인 속성이 아닙니다. 텍스트 문자열 과 기호의 상황에 따라 확률을 제공하는 모델 속성입니다 . 그것은 그 얼마나 잘 말해 준다 모델 , 텍스트를 압축 할 수있는 모델을 가정하는 것은 정확 .

하나의 모델을 사용하여 Shannon 제한을 계산 한 다음 다른 모델을 압축하는 경우 두 번째 모델이 더 정확한 경우 계산 한 원래 Shannon 제한을 초과 할 수 있지만 실제로는 관련이 없습니다.


4
실제 예를 들어, 데이터가 N 번 반복되는 단일 문자로 구성되어 있다는 것을 알고 있다면 임의로 큰 압축률을 달성 할 수 있습니다 (예 : 100 억 'a'에서 튜플 ( 'a', 10000000))
Ant

12

Shannon 제한 이하로 압축 할 수 있음을 보여주는 것은 간단합니다. 토큰에 할당 된 공통 파일이 많은 부정 행위 압축기를 사용하십시오. 상기 파일들은 그 토큰 들로서 저장된다. (분명히, 압축기는 매우 크거나 매우 큰 라이브러리에 그려져 .

컴프레서는 본질적으로 라이브러리에없는 파일을 처리하는 데 본질적으로 효율성이 떨어질 것입니다.하지만 일반적인 압축과 토큰을 구별해야하기 때문입니다.

당신이 할 수없는 것은 모든 파일 에서 Shannon 제한 초과하는 압축기입니다 .


11

1/21/31/6p 이 필요합니다.영형2(1/)비트. 특정 모델이 주어지면이 특정 모델에서 생성 된 확률의 Shannon 엔트로피보다 데이터를 더 잘 압축 할 수 없습니다.

그러나 다른 모델을 적용하면 다른 확률 시퀀스를 얻게됩니다. Fe 문자 "u"는 다소 드물기 때문에 전체 텍스트에 대한 확률이 3 % 일 수 있으며 order-0 Markov 모델을 사용하여이 문자에 할당해야 할 확률 입니다.

그러나 영어 텍스트에서 "q"는 일반적으로 "u"가되므로 order-1 모델을 사용하면 "q"다음에 "u"가 될 확률이 훨씬 높아 지므로 압축 비율이 향상됩니다.

또한 일부 모델은 입력 된 것보다 적은 심볼을 출력하므로 fe LZ77은 텍스트 반복을 역 참조로 대체하므로 "abababab"은 "ab [2,8]"로 바뀝니다.

누군가 특정 모델에 의해 압축 된 데이터가 아닌 일부 데이터의 Shannon 엔트로피에 대해 이야기 할 때, 보통 그녀는 order-0 모델에 의해 생성 된 Shannon 엔트로피를 의미합니다. 즉, 전체 텍스트에 대한 확률을 각 심볼에 할당합니다. 더 정교한 모델을 데이터에 적용하면이 마진을 이길 수 있습니다.


3

텍스트에 대한 또 다른 해석은 주어진 압축 알고리즘을 사용하면 일부 텍스트를 더 잘 압축하고 다른 텍스트를 더 잘 압축하는 것입니다. 그러나 사용자는 일반적으로 어떤 종류의 파일 (영어로 된 HTML 페이지, 80386 기계 코드)보다 다른 종류 (정확히 임의의 숫자, 반복을 최소화하기 위해 의미없는 노이즈가 선택된 테이블)보다 더 많은 관심을 갖습니다. 모든 압축 체계는 실제 데이터를 압축 할 때 더 나은 성능을 발휘하여 다른 종류의 문자열을 압축 할 때 쓸모없는 것보다 나빠집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.