엘리아스 감마 부호화

Elias gamma coding

Elias δ 코드 또는 Elias 감마 코드는 Peter Elias에 [1]: 197, 199 의해 개발된 양의 정수를 부호화하는 범용 코드입니다.상한을 미리 결정할 수 없는 정수를 코드화할 때 가장 일반적으로 사용됩니다.

부호화

숫자 x 11을 코드화하려면:

  1. N 2 display ( { N = \ \ _ \} )가 포함된 2의 최대 전력이므로N x < 2라고N+1 .
  2. N개의 0비트를 기입합니다.
  3. N+1비트 이진수인 x의 이진 형식을 추가합니다.

동일한 프로세스를 표현하는 동등한 방법:

  1. N을 단항으로 인코딩합니다.즉, N 뒤에 0이 1이 계속됩니다.
  2. 나머지 N자리 숫자 x를 이 N자리 표현에 추가합니다.

x(\ x를 나타내기 위해 Elias 감마(')는 2 2 ( )+ ( \ 2 \ \ _ (x) \ [1]: 199 )비트를 합니다.

코드가 시작됩니다(명확성을 위해 코드에 대한 묵시적 확률 분포가 추가됨).

번호 바이너리 § 부호화 암묵적
1 = 20 + 0 1 1 1/2
2 = 21 + 0 1 0 0 1 0 1/8
3 = 21 + 1 1 1 0 1 1 1/8
4 = 22 + 0 1 00 00 1 00 1/32
5 = 22 + 1 1 01 00 1 01 1/32
6 = 22 + 2 1 10 00 1 10 1/32
7 = 22 + 3 1 11 00 1 11 1/32
8 = 23 + 0 1 000 000 1 000 1/128
9 = 23 + 1 1 001 000 1 001 1/128
10 = 23 + 2 1 010 000 1 010 1/128
11 = 23 + 3 1 011 000 1 011 1/128
12 = 23 + 4 1 100 000 1 100 1/128
13 = 23 + 5 1 101 000 1 101 1/128
14 = 23 + 6 1 110 000 1 110 1/128
15 = 23 + 7 1 111 000 1 111 1/128
16 = 24 + 0 1 0000 0000 1 0000 1/512
17 = 24 + 1 1 0001 0000 1 0001 1/512

디코딩

Elias 감마 코드화된 정수를 디코딩하려면:

  1. 스트림에서 0을 읽고 첫 번째 1에 도달할 때까지 세어 보십시오. 이 0을 N이라고 합니다.
  2. 도달한 숫자가 정수의 첫 번째 자리라고 생각하고 값이 2인N 경우 나머지 N자리 정수를 읽습니다.

사용하다

감마 부호화는 가장 큰 부호화 값을 사전에 알 수 없는 애플리케이션 또는 작은 값이 큰 값보다 훨씬 더 빈번한 데이터를 압축하는 데 사용됩니다.

감마 부호화는 Elias 델타 코드의 구성 요소입니다.

일반화

감마 부호화는 0 또는 음의 정수를 코드화하지 않습니다.0을 처리하는 한 가지 방법은 부호화 전에 1을 더하고 복호화 후에 1을 빼는 것입니다.다른 방법은 0이 아닌 각 코드에 1을 프리픽스로 붙이고 코드0을 단일0으로 붙이는 것입니다.

모든 정수를 코드화하는 한 가지 방법은 부호화하기 전에 정수(0, -1, 1, -2, -3, 3, ...)를 (1, 2, 3, 4, 5, 6, 7, ...)에 매핑하는 바이젝션을 설정하는 것입니다.소프트웨어에서는 음이 아닌 입력을 홀수 출력에 매핑하고 음의 입력을 짝수 출력에 매핑함으로써 가장 쉽게 실행할 수 있으므로 최하위 비트는 반전 부호 비트가 됩니다.

지수-골롬 부호화는 골롬 부호화가 단항 코드를 일반화하듯이 감마 코드를 "더 평평한" 멱함수 분포를 가진 정수로 일반화합니다.이는 숫자를 양수(일반적으로 2의 거듭제곱)로 나누고, 몫보다 하나 더 많은 감마 코드를 쓰고, 나머지를 일반 이진 코드로 쓰는 것을 포함한다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Elias, Peter (March 1975). "Universal codeword sets and representations of the integers". IEEE Transactions on Information Theory. 21 (2): 194–203. doi:10.1109/tit.1975.1055349.

추가 정보