섀넌-파노-엘리아스 부호화

Shannon–Fano–Elias coding

정보 이론에서, 섀넌-파노-엘리아스 부호화산술 부호화의 전조이며, 여기서 확률은 코드 워드를 [1]결정하기 위해 사용된다.

알고리즘 설명

부호화할 순서가 지정된 값의 이산 랜덤 변수 X가 주어지면 p() { p X 임의의 x에 대한 확률로 .함수의 정의

알고리즘:

X in X에 대해
Z를 F ( 의 바이너리 전개라고 합니다.
x, () { L ( ) 2p ( )+ \ \\ _ { } { \ { 1} { ( x ) } \ \ } 의 부호화 길이를 선택합니다.
x, de () \ code ( )\ L () choose choose after afterafter after after비트를 선택합니다.

X = {A, B, C, D}, 확률 p = {1/3, 1/4, 1/6, 1/4}이라고 가정합니다.

A의 경우
이진법에서 Z(A) = 0.0010101010...
L(A) = 2 1 1 + 1 {\ \ 2} {3 } \ \ += 3
코드(A)는 001입니다.
B의 경우
이진수에서 Z(B) = 0.0111010101...
L(B) 1 11 + { \ lceil \ _ 2 { } \ \ += 3
코드(B)는 011 입니다.
C의 경우
이진법에서 Z(C) = 0.101010101010...
L(C) = 2 1 + { \ lceil \ _ 2 { } \ \ + = 4
코드(C)는 1010입니다.
D의 경우
이진법에서 Z(D) = 0.120
L(D) 1 11 + { \ lceil \ _ 2 {\ } \ \ += 3
코드(D)는 111입니다.

알고리즘 분석

프리픽스 코드

Shannon-Fano-Elias 부호화는 바이너리 프리픽스코드를 생성하여 직접 디코딩을 가능하게 합니다.

bcode(x)는 바이너리 코드 앞에 소수점을 추가하여 형성되는 유리수라고 합니다.예를 들어 코드(C)=1010이면 bcode(C)= 0.1010입니다.모든 x에 대해, 그러한 y가 존재하지 않는 경우

모든 코드가 프리픽스 코드를 형성합니다.

F를 X의 CDF와 비교함으로써 이 성질은 섀넌-파노-엘리아스 부호화에 대해 그래픽으로 입증될 수 있다.

The relation of F to the CDF of X

L의 정의에 따르면 다음과 같다.

그리고 L(y) 뒤의 비트는 F(y)에서 잘려서 코드(y)를 형성하기 때문에 다음과 같이 된다.

따라서 bcode(y)는 CDF(x) 이상이어야 합니다.

위의 그래프는 e () - d ()> ( )≥ -L ( x ) 、 \ () - ( )> ( x )> p ( x )\ 2^ { - ( x이므로 프리픽스속성이 됩니다.

코드 길이

평균 코드 길이는 L (X ) x X ( ) ( ) x p () ( x ) ( 2p ( ) + ( X ) = \ _ { \ X( x \ ) _
따라서 랜덤 변수 X의 엔트로피인 H(X)에 대해서는

Shannon Fano Elias는 엔트로피보다 X에서 심볼당 1~2비트의 추가 비트를 코드하기 때문에 실제로는 사용되지 않습니다.

레퍼런스

  1. ^ T. M. Cover and Joy A. Thomas (2006). Elements of information theory (2nd ed.). John Wiley and Sons. pp. 127–128. ISBN 978-0-471-24195-9.