唯一可译码
若码的任意一串有限长的码符号序列只能被唯一地译成所对应的信源符号序列,称为唯一可译码或单义可译码
即时码
无需参考后续码符号就可以即时作出译码判断的码,称为即时码
定理:即时码的充要条件是其中任何一个码字都不是其他码字的前缀。
T1
将下表所列的信源进行六种不同的二进制编码,试问:
消息 | 概率 | $\mathrm{C}_{1}$ | $\mathbb{C}_2$ | $\mathrm{C}_{3}$ | $C_4$ | $C_5$ | $C_6$ |
---|---|---|---|---|---|---|---|
$a_1$ | 1/2 | 000 | 0 | 0 | 0 | 1 | 01 |
$a_2$ | 1/4 | 001 | 01 | 10 | 10 | 000 | 001 |
$a_3$ | 1/16 | 010 | 011 | 110 | 1101 | 001 | 100 |
$a_4$ | 1/16 | 011 | 0111 | 1110 | 1100 | 010 | 101 |
$a_5$ | 1/16 | 100 | 01111 | 11110 | 1001 | 110 | 110 |
$a_6$ | 1/16 | 101 | 011111 | 111110 | 1111 | 110 | 111 |
(2) 哪些码是非延长码(即时码)?
(3) 对所有唯一可译码求出其平均码长和编码效率。
解:
(1) C 1 、 C 2 、 C 3 、 C 6 C_1、C_2、C_3、C_6 C1、C2、C3、C6是唯一可译码。
(2) C 1 , C 3 , C 6 C_1,C_3,C_6 C1,C3,C6是非延长码(即时码)。
(3)唯一可译码平均码长为: L ‾ = ∑ i = 1 q p ( s i ) l i \overline {L}= \sum _{i= 1}^qp( s_i) l_i L=i=1∑qp(si)li
所 以 : L ‾ c 1 = 3 ( 码符号 / 信源符号 ) \overline {L}_{
{c_{1}}}= 3 (码 符 号 / 信 源 符 号 ) Lc1=3(码符号/信源符号)
L ‾ c 2 = 2.125 ( 码符号 / 信源符号 ) \overline {L}_{
{c_{2}}}= 2. 125 (码 符 号 / 信 源 符 号 ) Lc2=2.125(码符号/信源符号)
L ‾ c 3 = 2.125 ( 码符号 / 信源符号 ) \overline {L}_{
{c_{3}}}= 2. 125 (码 符 号 / 信 源 符 号 ) Lc3=2.125(码符号/信源符号)
L ‾ c 5 = 2 ( 码符号 / 信源符号 ) \overline {L}_{
{c_{5}}}= 2 (码 符 号 / 信 源 符 号 ) Lc5=2(码符号/信源符号)
η c 1 = H ( S ) I ‾ = 0.667 \eta _{c_{1}}= \frac {H( S) }{\overline {I}}= 0. 667 ηc1=IH(S)=0.667
η c 2 = 0.94 \eta _{c_{2}}= 0. 94 ηc2=0.94
η c 3 = 0.94 \eta _{c_{3}}= 0. 94 ηc3=0.94
η c 6 = 0.8 \eta _{c_{6}}= 0. 8 ηc6=0.8
T2
下面的码是否是即时码?是否是惟一可译码?
(1) C = { 0 , 10 , 1100 , 110 , 11110 , 111 } ; C= \{ 0, 10, 1100, 110, 11110, 111\} ; C={
0,10,1100,110,11110,111};
(2) C = { 0 , 10 , 110 , 1110 , 10 , 1011 , 11101 } . C= \{ 0, 10, 110, 1110, 10, 1011, 11101\} . C={
0,10,110,1110,10,1011,11101}.
解:
(1)是即时码,唯一可译码。
(2)不是即时码,也不是唯一可译码。
T3
判断是否存在满足下列要求的即时码,如果有,试构造出一个这样的码:
(1) r=2,长度:1,3,3,3,4,4;
(2) r=3,长度:1,1,2,2,3,3,3;
(3)r=5,长度:1,1,1,1,1,8,9;
(4)r=5,长度:1,1,1,1,2,2,2,3,3,4.
解:
(1)满足。构造的码字:1,011,010,001,0000,0001。
(2)满足。构造的码字:0,1,20,21,220,221,222。
(3)不满足。
(4)满足。构造的码字:0,1,2,3,40,41,42,440,441,4440.