지수 골롬 부호화

Exponential-Golomb coding

지수 골롬 코드(또는 Exp-Golomb 코드)는 범용 코드의 일종입니다.exp-Golomb 코드를 사용하여 음이 아닌 정수x 를 부호화하려면 다음 절차를 수행합니다.

  1. x+1을 바이너리로 적습니다.
  2. 쓴 비트를 세고 1을 뺀 후 이전 비트 문자열 앞에 있는 시작 0비트 수를 씁니다.

코드의 처음 몇 가지 값은 다음과 같습니다.

0 1 1 、 1 、 10 、 010 2 、 11 、 011 3 、 100 、 00100 4 、 101 、 00101 5 、 110 、 00110 6 、 111 、 00111 7 、 1000 、 0001000 8 、 1001 、 0001001 ...[1] 

위의 예에서는 대소문자 3을 고려합니다.3의 경우 x+1 = 3 + 1 = 4. 이진수에서 4는 '100'입니다.'100'에는 3비트가 있으며 3-1 = 2입니다.따라서 '100', 즉 '00100' 앞에 0을 2개 추가합니다.

마찬가지로 8을 생각해 봅시다. 이진법에서 '8 + 1'은 '1001'입니다.'1001'은 4비트로 4-1은 3입니다.따라서 1001 앞에 0을 3개 더하면 '0001001'이 됩니다.

이는 x+1Elias 감마 코드와 동일하기 때문에 [2]0을 부호화할 수 있습니다.

음수까지 확장

Exp-Golomb 부호화는 H.264/MPEG-4 AVC 및 H.265 고효율 비디오 부호화 표준에서 사용됩니다.이 표준에서는 값 0을 바이너리 코드워드 '0'에 할당하고 다음 코드워드를 signature의 증가치(및 부호 필드의 경우 대체)의 입력값에 할당함으로써 부호화된 숫자의 부호화에도 변화가 있습니다.a 음수 포함):

0 0 0 、 1 、 1 、 1 、 10 、 010 - 1 、 2 、 11 、 011 2 、 3 、 100 100 - 2 、 4 101 101 、 00101 3 、 5 110 110 、 001 - 3 、 110 、 6 、 0011 1 、 7 、 1000 - 000 4 

즉, 비정수 정수 x00은 짝수 정수 -2x에 매핑되고, 정의 정수 x>0은 홀수 정수 2x-1에 매핑된다.

Exp-Golomb 코딩은 Dirac [3]비디오코덱에서도 사용됩니다.

주문 k에 대한 일반화

더 적은 비트로 더 큰 숫자를 인코딩하려면(더 작은 숫자를 인코딩하기 위해 더 많은 비트를 사용하더라도), 음이 아닌 정수 파라미터 k를 사용하여 일반화할 수 있습니다.order-k exp-Golomb 코드로 음이 아닌 정수x 를 부호화하려면 , 다음의 순서를 실행합니다.

  1. 위에서 설명한 order-0 exp-Golomb 코드를 사용하여 "xk/2"를 인코딩합니다.
  2. x modk 2를 바이너리로 인코딩

이를 표현하는 동등한 방법은 다음과 같습니다.

  1. order-0 exp-Golomb 코드를 사용하여 x+2-1을k 인코딩합니다(즉, Elias 감마 코드를 사용하여 x+2를k 인코딩합니다).
  2. 인코딩 결과에서 k개의 선행 0비트 삭제
Exp-Golomb-k 코딩 예시
x k=0 k=1 k=2 k=3 x k=0 k=1 k=2 k=3 x k=0 k=1 k=2 k=3
0 1 10 100 1000 10 0001011 001100 01110 010010 20 000010101 00010110 0011000 011100
1 010 11 101 1001 11 0001100 001101 01111 010011 21 000010110 00010111 0011001 011101
2 011 0100 110 1010 12 0001101 001110 0010000 010100 22 000010111 00011000 0011010 011110
3 00100 0101 111 1011 13 0001110 001111 0010001 010101 23 000011000 00011001 0011011 011111
4 00101 0110 01000 1100 14 0001111 00010000 0010010 010110 24 000011001 00011010 0011100 00100000
5 00110 0111 01001 1101 15 000010000 00010001 0010011 010111 25 000011010 00011011 0011101 00100001
6 00111 001000 01010 1110 16 000010001 00010010 0010100 011000 26 000011011 00011100 0011110 00100010
7 0001000 001001 01011 1111 17 000010010 00010011 0010101 011001 27 000011100 00011101 0011111 00100011
8 0001001 001010 01100 010000 18 000010011 00010100 0010110 011010 28 000011101 00011110 000100000 00100100
9 0001010 001011 01101 010001 19 000010100 00010101 0010111 011011 29 000011110 00011111 000100001 00100101

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Richardson, Iain (2010). The H.264 Advanced Video Compression Standard. Wiley. pp. 208, 221. ISBN 978-0-470-51692-8.
  2. ^ Rupp, Markus (2009). Video and Multimedia Transmissions over Cellular Networks: Analysis, Modelling and Optimization in Live 3G Mobile Networks. Wiley. p. 149. ISBN 9780470747766.
  3. ^ "Dirac Specification" (PDF). BBC. Archived from the original (PDF) on 2015-05-03. Retrieved 9 March 2011.