一、信源编码概念

信源编码是以提高通信的有效性为目的编码。尽可能少的比特传递尽可能多的信息量。通常通过压缩信源的冗余度来实现。

采用的一般方法是压缩每个信源符号的平均比特数或信源的码率。同样多的信息用较少的码率来传送,使单位时间内传送的平均信息量增加,从而提高通信的有效性。

信源编码的基本途径有两个:

  • 使序列中的各个符号尽可能地互相独立,即解除相关性
  • 使编码中各个符号出现的概率尽可能地相等,即概率均匀化

信源编码的基础是信息论中的两个编码定理:

  • 无失真编码定理
  • 限失真编码定理

无失真编码只适用于离散信源;对于连续信源,只能在失真受限制的情况下进行限失真编码。本章首先介绍信源编码的相关概念以及信源编码定理,然后描述编码方法。

1. 无失真信源编码

无失真信源编码要求精确地复现信源的输出,并且保证信源的全部信息无损的送给信宿。

研究方法:

  • 只考虑有效性,不考虑可靠性
  • 将信道编解码看成一个无噪无损信道

解决两个问题:

  • 描述信源的输出,计算它产生的信息量;
  • 表示信源的输出,即信源编码(无失真/限失真)与信宿对通信质量的要求有关

因为,不考虑抗干扰问题。所以,数学描述比较简单。如下图所示

其中:

  • 信源符号集 ,是信源编码器的输入,共有 个信源符号
  • 码符号集 个码符号,码符号集中的元素称为码元或者码符号。
  • 码字集合 :与信源符号一一对应

编码器的作用:
将信源符号集 中的符号 变换成由码符号 的输出符号序列。
输出符号序列就是码字,与信源符号一一对应。

例 设有二元信道的信源编码器,其信源概率空间为

二元信道是常用信道,它的信道基本符号集为 。若将信源 通过一个二元信道传输,就必须把信源符号 变换成由 符号组成的码符号序列,即进行信源编码。可用不同的码符号序列,即二元序列 使其与信源符号 一一对应,这样可以有多种二元码,如下表所列

信源符号 信源符号概率 码 1(定长码) 码2(变长码) 码 3(奇异码) 码 4(奇异码)

2. 码的分类与性质

2.1 定长码和变长码

根据码长,可分为两类:

  • 定长码」:码中所有码字的长度都相同,如上例中的码 1
  • 变长码」:码字长短不一,即码符号个数不同,如上例中的码 2

2.2 奇异码

若一种码中的所有码字都互不相同,则称此分组码为「非奇异码」,否则称为「奇异码」。非奇异码只是正确译码的必要条件,因为当码字排在一起时还有可能出现奇异性。

表中, 是奇异码, 是非奇异码。但传送分组码 时,在信道输出端接收到 时,并不能确定发送端的消息时 还是

2.3 唯一可译性

设信源符号 映射为一个固定的码字 。则码

映射为

的码称为原码的「 次扩展」。换而言之,输入端输入 个符号,经过编码后的结果就是此信源的 次扩展。一个码若对于任意有限的整数 ,其 阶扩展码均为非奇异的,则称之为「唯一可译码」。

2.4 即时码

定义

无需考虑后续的码符号即可以从码符号序列中译出码字,这样的唯一可译码称为「即时码」。

信源符号

不是即时码, 是即时码

定理

为一个码字,对于任意的 ,称码符号序列的前 个元素 为码字 的「前缀」。

一个唯一可译码成为即时码的充要条件是其中任何一个码字都不是其它码字的前缀

证明

充分性:因为如果没有一个码字是其它码字的前缀,则在接收到一个相当于一个完整码字的码符号序列后,便可立即译码,而无须考虑其后的码符号。

必要性:用反证法。若设 的前缀,则在接收到相当于 的码符号序列后还不能立即判定它是一个完整的码字,若想正确译码,还必须参考后续的码符号,这与即时码的定义相矛盾。从而证明了必要性。

即时码的构造

对于 进制树图,有树根、树枝和节点。树图最顶部的节点称为「树根」;每一个分支称为树枝;树枝的尽头称为节点,每个节点生出的树枝数目等于码符号数 ;从树根到终端节点各树枝代表的码符号顺次连接,就得到了编码码字。例如

考虑一个树有 阶节点

  • 整树:码树的各个分支都延伸到最后一级端点,此时,将共有 个码字;
  • 非整树:码树中存在分支,没有延伸到最后一级端点,此时,将少于 个码字。

2.5 唯一可译定长码的存在条件

定长码中每个码字长度相等,所以只要定长码是非奇异码,则必为唯一可译码。对一个简单信源 进行定长编码,信源 存在唯一可译定长码的条件是:

其中, 是信源 的符号个数, 是信道输出端基本码符号数, 是定长码的码长。

2.6 次扩展信源的定长码

次扩展信源 进行定长编码,若要编得的定长码是唯一可译码,则必须满足

两边取以 为底的对数,有

注意,上面两边是编码前后,等概分布时的信息量。对于前者,我们不能保证,而后者,可以通过恰当的编码方式使其取最大。或写成

其中 为平均码长

例题

英文电报有 个符号, 个英文字母加上 个标点符号,即 。采用二元码时,则 。对信源 的逐个符号 进行二元编码,则

这就是说,每个英文电报符号至少要用 位二元符号进行编码才能得到唯一可译码。

3. 定长编码定理

满足

的定长编码虽然可以保证无失真的编码,但是平均码长很大,编码的效率很低。下面介绍的定长编码定理讨论了编码的有关参数对译码差错的限制关系。

3.1 定理

设离散无记忆信源

的熵为 ,其 次扩展信源为

码符号集 次扩展信源 进行长度为 的定长编码,对于 ,只要满足

则当 足够大时,必可使译码差错小于 。反之,若

则当 足够大时,译码错误概率趋于

3.2 渐进等分割性和 典型序列

由弱大数定理知:只要 足够大,趋近于 ;当有 限长时,在所有 长的信源序列中,必有一些 的自信息的均值与 之差小于 ;而另一些 的自信息的均值与 之差大于

故,扩展序列可分为两个互补的子集: 典型序列和非典型 序列

典型序列

长序列 ,对于任意小正数 ,满足

的序列称为「 典型序列」。当 足够大时, 典型序列有下列性质:

性质 1

对于任意小的正数 ,有

出现的概率趋近于

性质 2

如果 ,则

趋近于等概分布( ),即「渐进等分割性」(AEP)

性质 3

典型序列包含的序列个数满足不等式

典型序列在扩展序列中的占比为

随着 增大,占比趋近于零。说明 典型序列的数量很少

3.3 理解

  • :信源 次扩展后,每个信源符号对应的码符号数;
  • :信源扩展次数;
  • :扩展后信源符号对应的平均码符号数;
  • 长的码符号序列所能携带的最大信息量
  • :扩展前信源的熵;

定长信源编码定理的意义:

信源经过定长编码后,所能携带的最大信息量,一定要大于信源所携带的平均信息量

3.4 提高编码效率

一般情况下,信源符号并非等概率分布,而且相互关联,故信源极限熵 将大大小于

这时在定长编码中每个信源符号平均所需的二元码符号大大减少,从而提高了编码效率;

例如,以英文电报为例,资料显示,英文电报信源的极限熵 ,即 个二元符号来编码,这比由式 计算的需要 位二元符号减少了许多,从而提高了信息传输速率。

4. 编码信息率与信息传输率

4.1 编码信息率

编码后平均每个信源符号能载荷的最大信息量称为「编码信息率」。若对长为 的信源符号序列进行定长编码,每个序列对应的码字长度为 ,则编码信息率可以表示为

其中 是信道输出端基本码符号数, 是在理想情况下,经过某种编码方式,恰能让各个码字等概率分布,此时单个码字所携带的最大信息量。因此上式为 长码字的最大信息量,下式为信源符号序列长度。

4.2 信息传输率

平均每个码元载荷的信息量称为「信息传输率

单位为比特/码符号

4.3 编码效率

信源的每个符号载荷的信息量与编码后每个信源符号能荷载的最大信息量之比称为「编码效率」,即

对于等长编码有

编码效率一定是小于或等于 的数。对同一信源来说,若码的平均码长越短,信息传输率就越高,这时也越接近 。编码效率可以用来衡量各种编码方法在有效性方面的优劣。

4.4 编码效率与扩展次数 的关系

定长编码定理中,只有在 足够大的时候,编码效率才能趋近于$ 1 小于 时,信源序列长度 必满足

4.5 例

设离散无记忆信源

采取等长二元编码时,要求编码效率 ,允许错误概率 ,求得:

二、变长编码

考编码效率,信息传输率不好说。但是概念还是要搞清楚的,剩余度不考

1. 变长编码

定长编码在理论上可以达到很高的编码效率,但是从上例中可以看到,在编码效率、错误概率要求较高的情况下,扩展次数 需要非常大,这在实际工程中是无法实现的。

有限时,高传输效率的等长码往往要引入一定的失真和错误,它不像变长码那样可以实现无失真编码。

在实际过程中,普遍使用变长编码。

特点

在码符号序列长度 不很大的时候,就能达到很高的编码效率。

完全无失真的编码。

要求

变长码要满足唯一可译码的条件,它必须是非奇异码,而且任意有限长 次扩展码也应该是非奇异码。

为了能够即时译码,变长码必须是即时码。

2. 克拉夫特不等式

克拉夫特不等式描述了信源符号数和码字长度之间应满足什么条件才能构成即时码

设信源符号集 ,码符号及集为 ,对信源进行编码,相应的码字为 ,其分别对应的码长为 ,则即时码存在的充要条件

称上式为「克拉夫特不等式」。剪枝的总数不能超过总枝。

3. 麦克米伦不等式

可将克拉夫特不等式的结果推广到唯一可译码的情况:在前一定理所给定的条件下,唯一可译码存在的充要条件

称上式为「麦克米伦不等式」。其中, 为码符号个数, 为码子常数。如果码字长度和码符号数满足克拉夫特(或麦克米伦)不等式时,必可构造出即时码(或唯一可译码),否则不能构造出即时码(或唯一可译码)。但是,该定理并不能作为判别一种码是否为即时码(或唯一可译码)的判据。

例如:码字中有两个码字长度相同,则这两个码字无论是否相同,都可能使不等式成立。但是,当这两个码字相同时,显然不可能是唯一可译码。

4. 平均码长

设有信源

编码后的码字分别为 ,各码字相应的码长分别为 。因为是唯一可译码,信源符号 和码字 是一一对应的,则这个码的「平均长度」定义为:

5. 香农第一定理

5.1 定义

设离散无记忆信源为

其信源熵为

其熵为 ,码符号集 。现对信源 进行编码,总可以找到一种编码方法构成唯一可译码,使信源 中的每个信源符号所需的码字平均长度满足

,则上式化为

时,则

其中, 为码符号数, 是无记忆 次扩展信源 中每个信源符号 所对应的平均码长。 表示离散无记忆信源 中每个信源符号 所对应的平均码长。称此定理为「变长无失真信源编码定理」,即「香农第一定理」。变长无失真信源编码定理说明,只要平均码长 不小于信源的熵 ,即编码后的码符号序列所能携带的信息量不小于信源本身的信息量,就可以实现唯一可译码

5.2 推广到普通信源

变长无失真信源编码定理可以推广到平稳遍历的有记忆信源,一般离散信源或马尔可夫信源,有

其中,为有记忆信源的极限熵。定长编码是变长编码的一个特例,定长编码定理也可以统一到香农第一定理。

6. 变长编码的编码信息率

定义变长编码的「编码信息率」为:

它表示编码后平均每个信源符号能载荷的最大信息量。因为不是信道上的,所以用 而不是

香农第一定理又可以表述为:

  • ,就存在唯一可译的变长编码。
  • ,则不存在唯一可译的变长编码。不能实现无失真的信源编码。

7. 信息传输率

从信道角度看,信道的信息传输率

因为 ,所以

当平均码长 达到极限值 时,编码后的信道传输率 ,可见 等于无噪无损信道的信道容量 ,信息传输率最高。

8. 编码效率和剩余度

8.1 定义

定义

为「编码效率」。编码效率 一定是小于或等于 1 的数。平均码长越短,越接近它的极限值 ,那么编码效率就越高。定义

为码的「剩余度

8.2 例题

设有一离散无记忆信源

其熵为

用二元符号 来构造一个即时码

则平均码长为 ,编码效率为

对信源 的二次扩展信源 进行编码。其二次扩展信源 和即时码如下表所列

即时码

这个码的平均长度为

信源 中每个单个符号的平均码长为

其编码效率为

。可见编码虽然复杂了一些,但信息传输效率有了较大提高。同样方法可进一步对信源 的三次和四次扩展信源进行编码,并求出其编码效率为

对于同一信源,要求编码效率都达到 96%,比较:

  • 变长码只需要对二次扩展信源()进行编码
  • 而等长码则要求 大于

很明显,用变长码编码时, 不需要很大就可以达到相当高的编码效率,且可实现无失真编码。

三、三种常见的离散信源编码

只考虑三种编码方法就可以了。

1. 香农编码

1.1 过程

将信源发出的 个消息符号按其概率的递减次序依次排列

按下式计算第 个消息的二进制代码组的码长,并向上取整

对于上式而言,若乘 并求和,就可以得到

这是没有进行 次扩展的,若扩展过就是

为了编成唯一可译码,首先计算第 个消息的累加概率

特别的,。将累加概率 (为小数)变成二进制数,去除小数点,并根据码长 ,取小数点后 位数作为第 个消息的代码组。称这种编码方式为「香农编码

1.2 例题

消息序号 消息概率 累加概率 代码组长度 二进制代码组

先计算第 位信息的代码组。设 ,首先求第 4 个消息的二进制代码组的码长

取整,故 ,再计算累加概率

将累加概率 变为二进制数得到

故变换成二进制数为 取小数点后三位数作为第 个消息的代码组,即 100。其他位消息的代码组可用同样方法求得

由上表可以看出,一共有 个三位的代码组,各代码组之间至少有一位数字不相同,故是唯一可译码。还可以判断出,这 个代码组都属于即时码。

平均码长为

平均信息传输率

编码效率很低下,因此主要是理论意义,诠释了变长编码定理

2. 霍夫曼编码

2.1 过程

将信源发出的 个消息符号按其概率的递减次序依次排列

码符号分别代表概率最小的两个信源符号,并将这两个概率最小的信源合并成一个,从而得到只包含 个符号的新信源 ,称为「缩减信源」。

把缩减信源 的符号仍按概率大小依递减次序排列,再将最后两个概率最小的符号合并成一个符号,并分别用 码符号表示,这样又形成了 个符号的缩减信源

依次继续下去,直至信源最后只剩两个符号为止。将这最后两个信源符号分别用二进制符号“”和“”表示。

从最后一级缩减信源开始,向前返回,就得出各信源符号所对应的码符号序列,即相应的码字。这样的编码称为「霍夫曼编码」,这种编码方式在无记忆编码中是最佳的。

2.2 例题

设有离散无记忆信源

对其进行霍夫曼编码,编码过程如下表所示

该霍夫曼的平均码长为

其编码效率为

从编码表可以看出,霍夫曼码是即时码。

2.3 不唯一性

  • 每次对信源缩减时,赋予信源最后两个概率最小的符号,用 0 和 1 是可以任意的;
  • 对信源进行缩减时,两个概率最小的符号合并后的概率与其它信源符号的概率相同时,这两者在缩减信源中进行概率排序时,其位置放置次序是可以任意的。

合并后的概率与其它信源符号的概率相同时,改变这两者在缩减信源中的排序,可以得到另一种霍夫曼编码,见下表:

该霍夫曼码的平均码长

其编码效率

因此,编码效率与前一种霍夫曼码的效率相同。但后一种编码的码长方差

比第一种小,即码长变化小,简单,易实现。故在霍夫曼编码过程中,对缩减信源符号以概率重新排列时,应使合并符号尽量靠前,可使合并符号重复编码次数减少,使短码得到充分利用。

2.4 元霍夫曼编码

二进制霍夫曼码的编码方法可以很容易推广到 进制的情况。只是编码过程中构成缩减信源时,每次都是将 个概率最小的符号合并,并分别用 码符号表示。

例:设有离散无记忆信源

码符号集 ,试构造一种三进制霍夫曼码。

解:编码过程见下表,其中信源 是增补的,令其概率为零

其平均码长为

2.5 总结

  • 霍夫曼编码是最佳编码,用概率匹配方法进行信源的编码。它有两个明显特点:
  • 霍夫曼编码的编码方法保证了概率大的符号对应于短码,概率小的符号对应于长码,充分利用了短码;
  • 每次缩减信源的最后二个码字总是最后一位不同,从而保证了霍夫曼码是紧致即时码

3. 费诺编码

3.1 过程

将信源发出的 个消息符号按其概率的递减次序依次排列

将依次排列的信源符号依概率分为两大组,使两个组的概率和近于相同,并对各组赋予一个二进制代码符号“”和“”。(编 进制码就分成 组。)

将每一个大组的信源符号进一步再分成两组,使划分后的两个组的概率和近于相同,并又分别赋予两个组一个二进制符号“”和“”,如此重复,直至每个组只剩下一个信源符号为止。信源符号所对应的码符号序列即为「费诺码」。

3.2 例题

设有离散无记忆信源

进行费诺编码得到

该费诺码的平均码长

信源熵

编码效率为

这里费诺码有较高的编码效率。费诺码比较适合于每次分组概率都很接近的信源,特别是对每次分组概率都相等的信源进行编码时,可达到理想的编码效率

4. 小结

介绍了几种变长码的编码方法。包括:香农编码、哈夫曼编码和费诺编码

变长码的缺点是高概率符号和低概率符号出现的不均匀,与信源符号恒速输出的矛盾,需要很大的缓存。信道可能无信息可送,或信息溢出而丢失。

变长码的另一缺点是差错的扩散。因为它采用异前置码来分解码字,一旦传送中出现误码,则某个码字的前置部分可能成为另一个码字,因而错译为另一个符号。需要采用差错控制。