허프만 부호화, 범위 부호화와 산술 부호화
엔트로피 인코딩 혹은 엔트로피 부호화(entropy encoding)는 심볼이 나올 확률에 따라 심볼을 나타내는 코드의 길이를 달리하는 부호화 방법이다. 보통 엔트로피 인코더는 모든 심볼에 대해 같은 길이를 갖는 코드를 심볼이 나올 확률값의 음의 로그에 비례하는 서로 다른 길이의 코드로 바꾸어 부호화한다. 즉 가장 자주 나오는 심볼에 대한 코드가 가장 짧다. 새넌 정리(Shannon's source coding theorem)에 따르면, 가장 좋은 코드 길이는 b를 부호화할 진수(2진수로 부호화 할 경우에는 b=2가 된다), P를 심볼이 나올 확률이라고 할 때 −logP 라고 한다. 엔트로피 코딩 중에 가장 자주 쓰이는 세 가지는 허프만 부호화, 범위 부호화와 산술 부호화이다. 이 부호화 기술들은 입력 데이터의 값 분포에 따라 할당 방법이 동적으로 변화하기 때문에, 별도로 분포에 대한 정보를 가지고 있거나 보내 주어야 한다는 부담이 있다. 데이터 스트림의 대략적인 엔트로피 성질을 미리 알고 있을 때에는(특히 신호 압축에서) 범용 부호 기술로서 단항 부호, 엘리어스 감마 부호, 피보나치 부호, 골롬 부호, 라이스 부호등을 쓰기도 한다.
엔트로피 코딩 중에 가장 많이 쓰이는 세가지는
엔트로피_부호화