4 无失真信源编码

1 冗余度与数据压缩

1.1 冗余度

信源的实际熵与理论上可达到的最大熵存在差距,所以,我们将这个差距定义为冗余度
首先,我们知道熵的相对率为

\[\eta=\frac{H(x)}{H_{max}(X)}=\frac{H_{\infty}}{H_{0}} \]

根据定义,信息的冗余度为信源的最大熵减去实际熵 \(H_{max}(X)-H_{0}\)
将其归一化得到

\[\gamma=1-\frac{H(X)}{H_{max}(X)}=1-\frac{H_{\infty}}{H_{0}}=1-\eta \]

信息变差为 \(I_{0\infty}=H_{max}(X)-H(X)=H_{0}-H_{\infty}\)

1.2 数据压缩

1.2.1 基本概念

信源编码主要解决有效性问题,信道编码主要解决可靠性问题
数据压缩是以最少的数码表示信源所发出的信号,减少容纳给定信息集合或数据采样集合的信号空间

1.2.2 技术路径

  1. 可逆压缩
  2. 不可逆压缩

1.2.3 基本途径

  1. 概率匹配
  2. 对独立分量进行编码
  3. 利用条件概率

2 编码器

2.1 基本码型分类

  1. 二元码:若码符号集为 \(X=\{ 0,1 \}\),所得的码字都是二元序列,则称为二元码
  2. 等长码:若一组码中所有的码字长度都相同,则称为等长码
  3. 变长码:若一组码中码字各不相同,由不同的长度的码符号序列来表示码字,则称为变长码
  4. 非奇异码:若有一组码中所有的码字都不相同,则称码 \(C\) 为非奇异码
  5. 奇异码:若一组码中存在相同的码字,则称码 \(C\) 为奇异码
  6. 同价码:码符号集中每个码字所占传输时间相同,则称为同价码

2.2 唯一可译码

若码的任意一串有限长的码符号序列只能被唯一的译成对应的心愿符号序列,则此码称为唯一可译码或单义可译码
后文会阐述如何判断某组码是否为唯一可译码

3 等长码与等长信源编码定理

3.1 等长码的定义

等长码要求所有码字长度都相同
一般来说,想要实现无失真编码,不但要求信源符号与码字是一一对应的,而且要求码符号序列的反变换也是唯一的,即为唯一可译码
若等长码为非奇异码,则等长码的 \(N\) 次有限扩展码也一定是非奇异码

3.2 等长码的相关条件

我们讨论一般的 \(N\) 次有限扩展的等长码,无失真编码条件为

\[q^N\leq r^l \]

其中 \(q\) 为信源符号个数,\(r\) 为码符号集中的码元数,\(l\) 为等长码的码长,同时取对数得到

\[N\log q\leq l\log r \]

\[\frac{l}{N}\geq \frac{\log q}{\log r} \]

\(N=1\) 时,即为一阶等长码时,有

\[l\geq \frac{\log q}{\log r} \]

其中 \(\frac{\log q}{\log r}\) 表示等概率条件下信息熵 \(H(S)=\log q\) 与码字熵 \(H(C)=\log r\) 之比
不妨将信息熵替换为实际信息熵 \(H(S)\)

\[\frac{l}{N}\geq \frac{H(S)}{\log r} \]

即使 \(q=r\),只要满足了 \(\log r>H(S)\),也能实现 \(N>l\),此时同时满足无失真与有效性

3.3 等长信源编码定理

一个熵为 \(H(S)\) 的离散无记忆信源,弱队信源长为 \(N\) 的符号序列进行等长编码,从 \(r\) 个字母的码符号集中选取 \(l\) 个作为码元组成码字,对于任意的 \(\varepsilon>0\),只要满足

\[\frac{l}{N}\geq \frac{H(S)+\varepsilon}{\log r} \]

\(N\) 足够大时,可实现几乎无失真编码,即译码错误概率接近无穷小. 反之,若

\[\frac{l}{N}\leq \frac{H(S)-2\varepsilon}{\log r} \]

则不可能实现无失真编码,当 \(N\) 足够大时,译码错误概率接近于 \(1\)
该定理给出了无失真的等长信源编码所需要的码长的理论极限值
结合等长码的相关条件内容,我们可以知道当 \(N=1\)\(r=2\) 时 (一阶二元编码),有

\[l\geq \log q\ (bit) \]

所以,对于二元等长编码时,信源符号所需码长极限值为 \(\log q\ (bit)\)
但是注意到,在二元等长编码的码长 \(l\) 实际上可能远大于实际平均信息量,效率低下
值得注意的是,我们知道

\[l\log r>NH(S) \]

这说明:只要码字传输的信息量大于信源序列携带的信息量,总可以实现无失真编码

另外,我们知道

\[\frac{l}{N}\log r\geq H(S)+\varepsilon \]

令编码后的信源信息传输率 \(R\)

\[R=\frac{l}{N}\log r \]

编码效率 \(\eta\)

\[\eta=\frac{H(S)}{R}=\frac{H(S)}{\frac{l}{N}\log r} \]

代入 \(\frac{l}{N}\log r = H(S)+\varepsilon\) 的边界条件有最佳等长编码的效率为

\[\eta=\frac{H(S)}{H(S)+\varepsilon} \]

所以有

\[\varepsilon=\frac{1-\eta}{\eta}H(S) \]

自信息方差 \(D[I(s_{i})]\)

\[D[I(s_{i})]=\sum_{i=1}^N p_{i}(\log p_{i})^{2}-[H(S)]^{2} \]

可以求得信源序列长度 \(N\) 必须有

\[N\geq \frac{D[I(s_{i})]}{\varepsilon^{2}\delta}=\frac{D[I(s_{i})]}{H(S)^{2}} \frac{\eta^{2}}{(1-\eta)^{2}\delta} \]

其中 \(\delta\) 为允许错误概率

4 变长码与变长信源编码定理

4.1 唯一可译变长码

变长码必须要是唯一可译码,才能实现无失真编码。对于变长码的 \(N\) 次扩展,变长码是非奇异码,而其 \(N\) 次扩展也为非奇异码
逗号码:逗号码中有一个作为一个码字的结束标志

4.2 即时码

在唯一可译变长码中,在译码时无需参考后续的码符号即可立即译成对应的符号,则称此类码为即时码

4.3 前缀问题

设某个码字为 \(W_{i}=(x_{i_{1}}x_{i_{2}}\dots x_{i_{m}})\)\(x_{i_{k}}\in X(k=1,2,\dots,m)\),称码符号序列 \((x_{i_{1}}x_{i_{2}}\dots x_{i_{j}})(j\leq m)\),为码字 \(W_{i}\) 的前缀 (又称词头),或称 \(W_{i}\) 为码符号序列 \((x_{i_{1}}x_{i_{2}}\dots x_{i_{j}})\) 的延长
若码 \(C\) 中,没有任何完整的码字是其他码字的前缀,则称此码为非延长码或前缀条件码

4.4 构造即时码

类似于霍夫曼编码方式,只需要注意几元编码,不妨假设为 \(n\) 元编码,则每一个分支点的分支数最大为 \(n\)

4.5 克拉夫特不等式

Theorem 1:
对于码符号集为 \(X=\{ x_{1},x_{2},\dots,x_{r} \}\) 的任意 \(r\) 元即时码(非延长码),其码字为 \(W_{1}\)\(W_{2}\)\(\dots\)\(W_{q}\),所对应的码长为 \(l_{1}\)\(l_{2}\)\(\dots\)\(l_{q}\),则必定满足

\[\sum_{i=1}^q r^{-l_{i}}\leq 1 \]

若满足以上不等式,则一定存在这码长的 \(r\) 元即时码
Theorem 2:
对于码符号集为 \(X=\{ x_{1},x_{2},\dots,x_{r} \}\) 的任意 \(r\) 元唯一可译码,其码字为 \(W_{1}\)\(W_{2}\)\(\dots\)\(W_{q}\),所对应的码长为 \(l_{1}\)\(l_{2}\)\(\dots\)\(l_{q}\),则必定满足

\[\sum_{i=1}^q r^{-l_{i}}\leq 1 \]

若满足以上不等式,则一定存在这码长的 \(r\) 元唯一可译码
Theorem 3:
若存在一个码长为 \(l_{1}\)\(l_{2}\)\(\dots\)\(l_{q}\) 的唯一可译码,则一定存在一个具有相同码长的即时码

对于 Theorem 1Theorem 2,不妨举例说明:
Example 1:
对于下表所表示的信源

信源符号 \(s_{i}\) 码元
\(s_{1}\) \(0\)
\(s_{2}\) \(11\)
\(s_{3}\) \(00\)
\(s_{4}\) \(11\)
此时有

\[\sum_{i=1}^4 2^{-l_{i}} = 2^{-1}+2^{-2}+2^{-2}+2^{-2}=\frac{5}{4}>1 \]

故不能构成唯一可译码
\(l_{1}=1\)\(l_{2}=2\)\(l_{3}=3\)\(l_{4}=4\)
此时

\[\sum_{i=1}^4 2^{-l_{i}} = 2^{-1}+2^{-2}+2^{-3}+2^{-4}=\frac{15}{16}<1 \]

显然满足克拉夫特不等式,故该码元长度的条件会存在唯一可译码

4.6 唯一可以变长码的判断

信息论基础理论与应用一书中对其的描述为:

将码 \(C\) 中所有码字可能的尾随后缀组成一个集合 \(F\),当且仅当集合 \(F\) 中没有包含任一码字,则可以判断此码 \(C\) 为唯一可译变长码

上述内容的描述比较抽象,不妨举例说明
在此之前,先解释尾随后缀的含义:当某一码字的某一前缀为该码中的另一个码字时,其剩下的后缀称为尾随后缀
假设一个码 \(C=\{ 0,10,1100,1110,1011,1101 \}\),对于该码字,我们可以分析其中一个码字 \(1011\),该码字的一个前缀 \(10\) 为该码中的一个码字,则剩下的 \(11\) 为尾随后缀;此时对于该尾随后缀,可以将其作为前缀得到新的码字:\(1100\)\(1101\)\(1110\);此时得到的尾随后缀为:\(00\)\(01\)\(10\),而这三个尾随后缀,又可以作为前缀衍生出码 \(C\) 中的其他码字;重复这个衍生过程直到无法得到新的内容,此时所有出现过的尾随后缀组成的集合就称为集合 \(F\),当集合 \(F\) 中不存在码 \(C\) 中的内容时,就称码 \(C\) 为唯一可译变长码

4.7 变长信源编码定理

4.7.1 平均长度

设信源为

\[\begin{bmatrix} S \\ P(s) \end{bmatrix} = \begin{bmatrix} s_{1} & s_{2} & \dots & s_{q} \\ P(s_{1}) & P(s_{2}) & \dots & P(s_{q}) \end{bmatrix},\quad \sum_{i=1}^q P(s_{i})=1 \quad(P(s_{i})\geq 0) \]

编码后的码字为

\[W_{1},W_{2},\dots,W_{q} \]

其码长分别为

\[l_{1},l_{2},..,l_{q} \]

因为对于唯一可译码来说,信源符号与码字是一一对应的,所以有 \(P(W_{i})=P(s_{i})\)
则这个码的平均长度为

\[\overline{L}=\sum_{i=1}^q P(s_{i})l_{i} \quad (码符号/信源符号) \]

而平均每个码元所含信息量,即编码后信道的信息传输率 (码率) 为

\[R=H(X)=\frac{H(S)}{\overline{L}} \]

若传输一个符号平均所需时间为 \(t(s)\),则编码后信道每秒钟的信息传输率为

\[R_{t}=\frac{R}{t}=\frac{H(S)}{\overline{L}t} \]

所以当 \(\overline{L}\) 越短,\(R_t\) 越大,编码后信息传输效率越高
而对于某一个信源或某一个码符号集,若有一个唯一可译码,其平均长度 \(\overline{L}\) 小于所有其他唯一可译码的平均长度,则称该码为紧致码或最佳码
而对于无失真信源编码的主要问题就是找到这样一个紧致码,我们接下来考虑平均码长 \(\overline{L}\) 可能达到的理论极限

4.7.2 变长信源编码定理

若有一个离散无记忆信源 \(S\) 的熵为 \(H(S)\),并有 \(r\) 个码元的码符号集 \(X=\{ x_{1},x_{2},\dots,x_{r} \}\),则总可以找到一种无失真编码方法,来构成唯一可译码,使其平均码长满足下列不等式

\[\frac{H(S)}{\log r}\leq\overline{L}<1+\frac{H(S)}{\log r} \]

可以发现,平均码长 \(\overline{L}\) 不能小于 \(\frac{H(S)}{\log r}\),否则该唯一可译码不存在
proof:
上界证明

\[\begin{gather*} \overline{L}\geq \frac{H(S)}{\log r} \\ H(S)-\overline{L}\log r\leq 0 \\ \begin{aligned} H(S)-\overline{L}\log r &= -\sum_{i=1}^q P(s_{i})\log P(s_{i})-\log r\sum_{i=1}^q P(s_{i})l_{i} \\ &= -\sum_{i=1}^q P(s_{i})\log P(s_{i})+\sum_{i=1}^q P(s_{i})\log r^{-l_{i}} \\ &= \sum_{i=1}^q P(s_{i})\log \frac{r^{-l_{i}}}{P(s_{i})} \\ &我们知道有詹森不等式: \sum_{i} \frac{\log x_{i}}{n}\leq \sum_{i}\log \frac{x_{i}}{n} \\ &\leq \sum_{i=1}^q \log \left[ P(s_{i})\cdot \frac{r^{-l_{i}}}{P(s_{i})} \right] \\ &= \sum_{i=1}^q \log r^{-l_{i}} \end{aligned} \\ 根据克拉夫特不等式,对于唯一可译码,有r^{-l_{i}}\leq 1,故 \\ H(S)-\overline{L}\log r = \sum_{i=1}^q \log r^{-l_{i}} \leq 0 \\ 则\overline{L}\geq \frac{H(S)}{\log r}命题得证 \\ 当且仅当每个码长 l_{i} 等于 \log_{r} \frac{1}{P(s_{i})}时,\overline{L}才能达到这个下界 \end{gather*} \]

下界证明

不难发现上界是下界加 \(1\),那么不妨从理论上讨论一下,由于只要满足了下界,必然存在一个唯一可译码,而我们考虑效率的时候,显然差值不能大于 \(1\) 个码长、

4.7.3 无失真变长信源编码定理/香农第一定理

离散无记忆信源 \(S\)\(N\) 次扩展信源 \(S^{N}=\{ \alpha_{1},\alpha_{2},\dots,\alpha_{q^{N}} \}\),其熵为 \(H(S^{N})\),并有码符号 \(X=\{ x_{1},x_{2},\dots,x_{r} \}\). 对信源 \(S^{N}\) 进行编码,总可以找到一个编码方式构成唯一可译码,使得信源 \(S\) 种每个信源符号的平均码长满足下列不等式

\[\frac{H(S)}{\log r}+\frac{1}{N}> \frac{\overline{L}}{N}\geq \frac{H(S)}{\log r} 或 H_r(S)+\frac{1}{N} > \frac{\overline{L_{N}}}{N}\geq H_{r}(S) \]

\(N\to \infty\) 时,有

\[\lim_{ N \to \infty } \frac{\overline{L_{N}}}{N}=H_{r}(S) \]

此时信源平均长度 \(\overline{L_{N}}\),有

\[\overline{L_{N}}=\sum_{i=1}^{q^{N}} P(\alpha_{i})\lambda_{i} \]

而推广到平稳有记忆信源时,有

\[\lim_{ N \to \infty } \frac{\overline{L_{N}}}{N}=\frac{1}{\log r} \lim_{ N \to \infty } \frac{1}{N}H(S_{1}S_{2}\dots S_{N})=\frac{H_{\infty}}{\log r} \]

对于上面内容,我们可以发现当 \(N\to \infty\) 时,平均码长达到极限值,可见信源的信息熵时无失真信源压缩的极限值,亦可以认为信源的信息熵 (\(H(S)或H_{\infty}\)) 是描述信源每个符号平均所需的最少比特数
无失真信源编码定理又称无噪信道编码定理,显然,我们编码的目的就是为了使其平均码长更短,即编码后平均每一个码字都要等概率分布,此时就可以接近平均码长的下界

4.7.3 编码效率

为了考察变长码的编码效率,我们定义编码效率 \(\eta\) 为平均码长 \(\overline{L}\) 与极限值之比
对于平稳有记忆信源

\[\eta=\frac{\frac{H_{\infty}}{\log r}}{\overline{L}}=\frac{H_{\infty}}{\overline{L}\log r} \]

对于离散无记忆信源

\[\eta=\frac{H_{r}(S)}{\overline{L}}=\frac{H(S)}{\overline{L}\log r} \]

其中 \(\overline{L}=\frac{\overline{L_{N}}}{N}\)
另外,显然 \(\eta\leq 1\),而对于同一信源而言,若码的平均码长 \(\overline{L}\) 越短,越接近极限值 \(H_{r}(S)\),信道的信息传输率就越高,就越接近于无噪无损信道容量,此时 \(\eta\) 就越接近于 \(1\)
所以我们可以通过考察 \(\eta\) 的值来推断各种编码情况的优劣

4.7.4 编码的剩余度

为了衡量各种编码方式与最佳码的差距,我们定义码的剩余度为

\[1-\eta=1-\frac{H_{r}(S)}{\log r} \]

对于二元无噪无损信道 \(r=2\),此时的编码效率为 \(\eta=\frac{H(S)}{\overline{L}}\),信息传输率 \(R=\frac{H(S)}{\overline{L}}=\eta\)(实际上与 \(\eta\) 单位不同)

5 例题

5.1 等长信源编码的计算

现有一离散无记忆信源如下,对信源采用二元编码方式,要求编码效率 \(\eta=0.96\),允许错误概率 \(\delta\leq 10^{-5}\),求信源的序列长度

\[\begin{bmatrix} S \\ P(s) \end{bmatrix} = \begin{bmatrix} s_{1}, & s_{2} \\ \frac{3}{4} & \frac{1}{4} \end{bmatrix} \]

解:

\[\begin{gather*} H(S)=\frac{1}{4}\log \frac{1}{4} + \frac{3}{4}\log \frac{3}{4}=0.811 \quad 先求H(S) \\ \begin{aligned} D[I(s_{i})]&=\sum_{i=1}^2 p_{i}(\log p_{i})^{2}-H(S) \\ &=\frac{1}{4}\left( \log \frac{1}{4} \right)^{2}+\frac{3}{4}\left( \log \frac{3}{4} \right)^{2}-[H(S)]^{2} \\ &=0.4715 \qquad 再求D[I(s_{i})] \end{aligned} \\ N\geq \frac{D[I(s_{i})]}{\varepsilon^{2}\delta}=\frac{D[I(s_{i})]}{H(S)^{2}} \frac{\eta^{2}}{(1-\eta)^{2}\delta}\approx 4.13\times 10^{7} \end{gather*} \]

还没学完,边学边写/(ㄒoㄒ)/~~

1 信息论——基础理论与应用, 傅祖芸

posted @ 2025-03-25 23:02  WuPeiRu  阅读(105)  评论(0)    收藏  举报