通用编码是对于统计特性未知的信源所进行的有效编码。一类以估计信源的概率统计特性为基础;另一类以序列复杂度理论为基础。
起源
信源的统计特性不确知或者完全不知时的信源编码问题,是美国学者L.D.戴维森于1966年提出的,后来他的研究集中于给出一类信源,并将这类信源中的每一个都假定出其统计特性。遇到的实际信源,其统计特性将是假定出的这一类信源中的某一个,这就可找出一种匹配码表,以完成编码。这个结果可用于多用户数据处理中的数据通信。
分类
通用编码的研究,基本上可分为两类:一类是以估计信源的概率统计特性为基础,即边统计、边编码,以使完成的编码与信源概率统计特性近似地匹配;另一类是从序列复杂度理论入手,并以它作为单个序列进行通用编码,以求得平均码长的极限。对于平稳信源,以上两类研究方法都可以从理论上证明达到渐近最优。对于非平稳信源,通用编码的性能好坏主要体现在自适应性能上。
信源编码
信源编码的主要目的:提高传输效率;
信源编码的基本思想:根据信源的统计特性,去除消息中的冗余成分;
信源编码的主要类别:
(1)无失真的信源编码:编码和译码是可逆的,译码后可无失真地恢复原来的信息;
(2)限失真的信源编码:研究如何在满足失真不大于某一值的条件下,任何获得最有效的传输效率;
信源的分类
离散信源:只有有限种符号(状态)的信源:如文字、数据、抽样量化后的样值;
连续信源:取值连续或有无限多种状态的信源:未经抽样量化(数字化)的信号,如模拟的语音、图像和视频等。
(1)离散信源编码定理
A. 等长编码定理
假定信源的统计特性满足离散、无记忆、平稳和遍历条件。
设信源是长度为L的矢量/分组序列,每一位有n种取值
编码器输出是长度为K的矢量/码字,每一位有m种取值
无失真编码要求:
每个不同输入序列均可找到不同的输出序列与其对应;
有效性编码要求:
每一个编码输出序列没有冗余。
编码的有效性和无失真要求有矛盾。
根据无失真编码要求如图1 。
典型序列与非典型序列
可以证明,当L足够大时,某些序列的集合会以趋于1的概率
出现,每个这些序列以相同的概率出现,称这些序列为典型序列,典型序列的个数 。
B. 变长编码定理香农(Shannon)第一变长编码定理当L足够大式,给定任意的,若,其中 k是平均的编码长度,则可以找到一种编码方法,使译码的差错 。
编码效率定义:通常变长编码通常比等长编码有更高的效率。
C. 等长编码
(1)简单的等长编码
简单地根据信源不同符号的个数,用等长码字表示的一种编码方式。
编码效率的分析:
因为信源符号出现不等概,所以效率降低;
只有信源符号等概出现,效率才有可能达到100%。
(2)对信源序列进行等长编码
考虑对信源输出符号进行某种变换,使其具体“等概”特性,对每L个信源符号构成的序列联合进行编码,若序列足够长,每个序列中所包含的各种不同符号的个数趋于一致(典型序列),成为等概的序列,其余的小概率的序列可以不予考虑。
D. 变长编码
对出现概率大的符号用较短的码字,概率小的符号用较长的码字,使平均的码字长度尽可能的短,以提高编码效率。
(2)哈夫曼(Huffman)编码
哈夫曼编码应用的条件:信源的统计特性已知
哈夫曼编码是一种最佳的不等长编码
哈夫曼编码的步骤:
a.将M信源符号按概率大小,以递减次序,从上到下排成一列;
b.对处于最下面的概率最小的r个信源符号,一一对应地分别赋予码符号a1、a2、…、ar,把这r个概率最小的信源符号相应的概率相加,所得的值用一个虚拟的符号代表,与余下的M-r个符号组成含有(M-r)+1个符号的第一次缩减信源S1;
c.对缩减信源S1仍按其概率大小以递减次序从上到下排列,按照步骤(2)的方法处理,得到一个含有[(M-r)+1]-r+1个符号的第二次缩减信源S2;
d.按照上述的方法,依次继续下去,每次缩减所减少的符号数是r-1个;只要缩减后的信源Si符号的个数大于r,缩减就继续进行;
e.当进行第k次缩减后信源Sk符号个数刚好等于r,即有,则对最后这r个符号分别赋予符号a1、a2、…、ar;
f.从最后赋予的码符号开始,沿着每一信源符号在各次缩减过程中得到的码符号进行路线前向返回,达至每一信源符号,按前后次序,把返回路途中所遇到的码符号排成符号序列,这个序列,就是相应终点信源符号对应的码字;
意义
通用编码是一类具有现实意义、并很有发展前途的信源编码方法与理论。