什么样的比特串好?
为了使编码唯一可译,可译码的基本要求有以下三条。
必要条件1
比特码组的长度必须大于或等于相应消息符号概率对数的负值
必要条件2
长的消息码比短的消息码概率低
必要条件3
消息符号越多,平均每个消息符号的比特码组长度也越短
以上三条必要条件是基于信源扩展以后的码组提出来的,我们主要关注的是平均编码长度。一般情况下,信源扩展的越大,就越容易构造编码(符合以上三条必要条件)。从数学上证明,当信源扩展到任意大的时候,只要消息符号的个数大于编码符号的个数,就一定存在符合这三条必要条件的码组。但实际中,信源扩展到多大的时候,就具有了“最佳”编码,这需要我们进一步研究。
在所有符合必要条件的编码中,有一种特殊的编码,叫定长编码。
定长编码
码组中每个消息符号采用同等数目的编码头,也就是说码组的长度是固定的。
容易根据必要条件知道,如果采用定长编码,则比特编码长度n必须满足2^n>=m,m是消息源符号的个数。定长编码的优点在于解码容易,不需要等待冗长的码组的结束,就可以立刻进行单独解码。但是在消息编码时候,造成资源的浪费,其平均编码长度一定不是最小的。