失真理论(第四章)

失真矩阵、率失真函数与转移概率矩阵

第4章 失真理论


〇、本章导读

核心问题

允许一定失真的情况下,最少需要多少比特来编码?

在实际应用中,我们常常不需要完全无损的重构,而是允许一定程度的失真来换取更高的压缩率。率失真理论就是研究这个权衡关系的。

知识框架

失真矩阵 [D]          →  度量工具:量化"输入→输出"的代价
    ↓
最小失真 D_min         →  理论下界:能达到的最小平均失真
    ↓
率失真函数 R(D)        →  核心结论:失真约束 D 下的最小编码率
    ↓
转移概率矩阵 [P]      →  实现工具:描述编码/信道的随机特性

两个关键极值

极值点失真编码率物理含义
无损编码\(D_{\min} = 0\)\(R(D_{\min}) = H(X)\)不允许任何失真,需传输全部信息
固定输出\(D_{\max}\)\(R(D_{\max}) = 0\)允许最大失真,无需传输任何信息

一、失真矩阵:量化"差异"的工具

1.1 基本概念

失真(Distortion):信源符号经编码或传输后,输出与原始输入之间的差异程度。

失真函数 \(d(x_i, y_j)\) :度量输入 \(x_i\) 被重构为 \(y_j\) 时产生的失真大小。

1.2 符号约定

符号含义示例
\(X = \{x_1, x_2, \ldots, x_n\}\)信源输入符号集\(X = \{x_1, x_2\}\)
\(Y = \{y_1, y_2, \ldots, y_m\}\)重构输出符号集\(Y = \{y_1, y_2, y_3\}\)
\(P(x_i)\)输入符号的概率分布\(P(x_1) = \frac{1}{2}\)
\(d(x_i, y_j)\)失真函数\(d(x_1, y_2) = 1\)
\([D]\)失真矩阵\(n \times m\) 阶矩阵

1.3 失真矩阵的结构

将所有失真函数值排列为 \(n \times m\) 阶矩阵\(n\) 个输入, \(m\) 个输出):

\[ [D] = \begin{bmatrix} d(x_1, y_1) & d(x_1, y_2) & \cdots & d(x_1, y_m) \\ d(x_2, y_1) & d(x_2, y_2) & \cdots & d(x_2, y_m) \\ \vdots & \vdots & \ddots & \vdots \\ d(x_n, y_1) & d(x_n, y_2) & \cdots & d(x_n, y_m) \end{bmatrix} \tag{1} \]

读法:第 \(i\) 行第 \(j\) 列 = 输入 \(x_i\) 重构为 \(y_j\) 的失真值

1.4 失真矩阵的性质

性质说明备注
非负性\(d(x_i, y_j) \geq 0\)失真不可能为负
对角线为零(方阵)\(d(x_i, x_i) = 0\)完全匹配时无失真
非对角线为正\(x_i \neq y_j\) 时, \(d(x_i, y_j) > 0\)不匹配时存在失真

1.5 常见失真度量

失真类型公式适用场景特点
汉明失真\(d(x_i, y_j) = \begin{cases} 0, & x_i = y_j \\ 1, & x_i \neq y_j \end{cases}\)离散符号只关心"对不对",不关心"差多少"
平方误差\(d(x_i, y_j) = (x_i - y_j)^2\)连续信源对大误差惩罚更重
绝对误差\(d(x_i, y_j) = \lvert x_i - y_j \rvert\)连续信源线性惩罚

二、贯穿全章的示例

为便于理解,我们将在各节使用同一个失真矩阵示例。

2.1 失真矩阵

信源\(X = \{x_1, x_2\}\) ,概率分布 \(P(x_1) = P(x_2) = \frac{1}{2}\)

重构集\(Y = \{y_1, y_2, y_3\}\)

失真矩阵

\[ [D] = \begin{bmatrix} 0 & 1 & \frac{1}{4} \\[6pt] 1 & 0 & \frac{1}{4} \end{bmatrix} \tag{2} \]

2.2 失真矩阵的读法

表格形式

\(y_1\)\(y_2\)\(y_3\)
\(x_1\)01\(\frac{1}{4}\)
\(x_2\)10\(\frac{1}{4}\)

逐项解读

映射失真值含义
\(x_1 \to y_1\)\(d(x_1, y_1) = 0\)最佳选择:无失真
\(x_1 \to y_2\)\(d(x_1, y_2) = 1\)最差选择:失真最大
\(x_1 \to y_3\)\(d(x_1, y_3) = \frac{1}{4}\)折中选择:有失真,但可接受
\(x_2 \to y_1\)\(d(x_2, y_1) = 1\)最差选择:失真最大
\(x_2 \to y_2\)\(d(x_2, y_2) = 0\)最佳选择:无失真
\(x_2 \to y_3\)\(d(x_2, y_3) = \frac{1}{4}\)折中选择:有失真,但可接受

观察

  • 每个输入都有一个"无失真"的对应输出( \(x_1 \leftrightarrow y_1\)\(x_2 \leftrightarrow y_2\)
  • \(y_3\) 是"通用输出":对两个输入的失真都是 \(\frac{1}{4}\)

三、最小失真 \(D_{\min}\) :理论下界

3.1 定义

最小失真 \(D_{\min}\) :在最优编码策略下,能够达到的最小平均失真。

3.2 计算公式

简化形式(每个输入选择失真最小的输出):

\[ \boxed{D_{\min} = \sum_{i=1}^{n} P(x_i) \cdot \min_{j}\, d(x_i, y_j)} \tag{3} \]

一般形式(通过转移概率优化):

\[ D_{\min} = \min_{p(y_j|x_i)} \left[ \sum_{i} \sum_{j} P(x_i)\, p(y_j|x_i)\, d(x_i, y_j) \right] \tag{4} \]

3.3 计算步骤

以式 \((2)\) 的失真矩阵为例:

第一步:对每个输入,找出最小失真值

输入各输出的失真最小失真最优输出
\(x_1\)\(0,\; 1,\; \frac{1}{4}\)\(\min = 0\)\(y_1\)
\(x_2\)\(1,\; 0,\; \frac{1}{4}\)\(\min = 0\)\(y_2\)

第二步:按概率加权求和

\[ D_{\min} = P(x_1) \times 0 + P(x_2) \times 0 = \frac{1}{2} \times 0 + \frac{1}{2} \times 0 = \boxed{0} \]

3.4 \(D_{\min} = 0\) 的充要条件

关键结论\(D_{\min} = 0\) \(\Leftrightarrow\) 失真矩阵 \([D]\)每一行至少有一个零元素

物理含义

  • \(D_{\min} = 0\) 时,每个输入都能找到一个无失真的输出
  • 意味着理论上可以实现完全无损编码
  • 此时编码系统不允许有任何信息损失

在我们的示例中

  • \(x_1\) 可以无失真地重构为 \(y_1\)\(d(x_1, y_1) = 0\)
  • \(x_2\) 可以无失真地重构为 \(y_2\)\(d(x_2, y_2) = 0\)
  • 因此 \(D_{\min} = 0\) ,可以实现无损编码

四、率失真函数 \(R(D)\) :核心理论

4.1 定义

率失真函数 \(R(D)\) :在平均失真不超过 \(D\) 的约束下,所需的最小编码速率(单位:比特/符号)。

\[ \boxed{R(D) = \min_{\substack{p(y_j|x_i) \\ \bar{D} \leq D}} I(X; Y)} \tag{5} \]

其中:

  • \(I(X; Y)\) 是互信息,表示编码速率
  • \(\bar{D} = \sum_i \sum_j P(x_i) p(y_j|x_i) d(x_i, y_j)\) 是平均失真
  • 约束条件: \(\bar{D} \leq D\)

核心思想:在所有满足失真约束的编码策略中,找到需要传输信息量最少的那个。

4.2 直观理解

\(R(D)\) 曲线的性质

失真约束 \(D\)编码率 \(R(D)\)物理含义
\(D = D_{\min}\) (最小)\(R(D)\) 最大几乎不允许失真 → 需要传输更多信息
\(D\) 逐渐增大\(R(D)\) 递减允许更多失真 → 可以更大程度压缩
\(D = D_{\max}\) (最大)\(R(D) = 0\)失真无所谓 → 不需要传输信息

权衡关系

失真 D ↓ (更低失真)  →  编码率 R(D) ↑ (需要更多比特)
失真 D ↑ (更高失真)  →  编码率 R(D) ↓ (需要更少比特)

4.3 两个极值点

(1) 极值点一: \(R(D_{\min})\) (无损编码)

\(D = D_{\min} = 0\) 时(完全无失真重构):

\[ \boxed{R(D_{\min}) = H(X)} \tag{6} \]

计算示例(沿用式 \((2)\) 的失真矩阵):

\[ H(X) = -\frac{1}{2}\log_2\frac{1}{2} - \frac{1}{2}\log_2\frac{1}{2} = 1 \text{ bit} \]

因此:

\[ R(D_{\min}) = R(0) = \boxed{1 \text{ bit/符号}} \]

物理含义

  • 不允许任何失真时,必须传输信源的全部信息
  • 每个信源符号至少需要 \(H(X)\) 比特来编码
  • 这正是香农信源编码定理的结论

(2) 极值点二: \(R(D_{\max})\) (固定输出)

最大失真 \(D_{\max}\) :当允许的失真大到某个程度后,不再需要传输任何信息。

计算公式

\[ \boxed{D_{\max} = \min_{j} \sum_{i} P(x_i)\, d(x_i, y_j)} \tag{7} \]

计算步骤(沿用式 \((2)\) 的失真矩阵):

假设接收端固定输出某个 \(y_j\) ,不管输入是什么,计算每个策略的平均失真:

策略 1:固定输出 \(y_1\)

\[ D(y_1) = P(x_1) \cdot d(x_1, y_1) + P(x_2) \cdot d(x_2, y_1) = \frac{1}{2} \times 0 + \frac{1}{2} \times 1 = \frac{1}{2} \]

策略 2:固定输出 \(y_2\)

\[ D(y_2) = P(x_1) \cdot d(x_1, y_2) + P(x_2) \cdot d(x_2, y_2) = \frac{1}{2} \times 1 + \frac{1}{2} \times 0 = \frac{1}{2} \]

策略 3:固定输出 \(y_3\)

\[ D(y_3) = P(x_1) \cdot d(x_1, y_3) + P(x_2) \cdot d(x_2, y_3) = \frac{1}{2} \times \frac{1}{4} + \frac{1}{2} \times \frac{1}{4} = \frac{1}{4} \]

选择最小失真的策略

\[ D_{\max} = \min\left(\frac{1}{2}, \frac{1}{2}, \frac{1}{4}\right) = \boxed{\frac{1}{4}} \]

此时的编码率

\[ \boxed{R(D_{\max}) = R\left(\frac{1}{4}\right) = 0} \tag{8} \]

物理含义

  • 当允许的失真达到 \(D_{\max} = \frac{1}{4}\)
  • 接收端可以直接固定输出 \(y_3\) ,不需要知道输入是什么
  • 因此无需传输任何信息,编码率为 0

五、转移概率矩阵:实现编码策略

5.1 定义

转移概率 \(p(y_j \mid x_i)\) :已知输入为 \(x_i\) 时,输出为 \(y_j\) 的概率。

转移概率矩阵 \([P]\) :描述编码器或信道的随机特性。

\[ [P] = \begin{bmatrix} p(y_1 \mid x_1) & p(y_2 \mid x_1) & \cdots & p(y_m \mid x_1) \\ p(y_1 \mid x_2) & p(y_2 \mid x_2) & \cdots & p(y_m \mid x_2) \\ \vdots & \vdots & \ddots & \vdots \\ p(y_1 \mid x_n) & p(y_2 \mid x_n) & \cdots & p(y_m \mid x_n) \end{bmatrix} \tag{9} \]

约束条件:每一的元素之和为 1(给定输入后,输出必定是 \(Y\) 中的某一个)

\[ \sum_{j=1}^{m} p(y_j \mid x_i) = 1, \quad \forall\, i \tag{10} \]

5.2 两个极值点的转移概率矩阵

(1) \(D = D_{\min} = 0\) 时(无损编码)

最优策略: \(x_1 \to y_1\)\(x_2 \to y_2\) (确定性映射)

\[ [P_{\min}] = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} \tag{11} \]

含义

  • \(p(y_1 \mid x_1) = 1\) :输入 \(x_1\) 时,100% 输出 \(y_1\)
  • \(p(y_2 \mid x_2) = 1\) :输入 \(x_2\) 时,100% 输出 \(y_2\)
  • 输出完全由输入决定, \(I(X; Y) = H(X) = 1\) bit

(2) \(D = D_{\max} = \frac{1}{4}\) 时(固定输出)

最优策略:不管输入是什么,都输出 \(y_3\)

\[ [P_{\max}] = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 1 \end{bmatrix} \tag{12} \]

含义

  • \(p(y_3 \mid x_1) = 1\) :输入 \(x_1\) 时,100% 输出 \(y_3\)
  • \(p(y_3 \mid x_2) = 1\) :输入 \(x_2\) 时,100% 输出 \(y_3\)
  • 输出不携带任何关于输入的信息, \(I(X; Y) = 0\)

5.3 经典示例:二进制对称信道(BSC)

信道模型:输入输出均为 \(\{0, 1\}\) ,交叉错误概率为 \(p\)

\[ [P_{\text{BSC}}] = \begin{bmatrix} 1-p & p \\ p & 1-p \end{bmatrix} \tag{13} \]
输入输出 0输出 1
0\(1-p\)\(p\)
1\(p\)\(1-p\)

信道质量分析

\(p\) 的值信道特性互信息 \(I(X;Y)\)
\(p \to 0\)信道质量好,几乎无错传输接近 1 bit
\(p = 0.5\)信道完全随机,信息全部丢失\(I(X;Y) = 0\)
\(p = 1\)确定性反转(可通过取反纠正)\(I(X;Y) = 1\) bit

六、失真矩阵 vs 转移概率矩阵

6.1 对比表

对比维度失真矩阵 \([D]\)转移概率矩阵 \([P]\)
元素含义失真值(代价)概率值
元素范围\([0, +\infty)\)\([0, 1]\)
行/列约束无约束每行之和 = 1
角色设计目标实现手段
用途度量编码质量描述编码策略
关注点“偏了多少”“变成什么的概率”

6.2 两者的关系

失真矩阵 \([D]\) 定义了"代价函数",告诉我们每种映射的失真有多大。

转移概率矩阵 \([P]\) 定义了"编码策略",告诉我们实际采用哪种映射方式。

联系:通过选择合适的转移概率矩阵 \([P]\) ,可以在失真矩阵 \([D]\) 约束下最小化编码率。

平均失真的计算

\[ \bar{D} = \sum_{i} \sum_{j} P(x_i)\, p(y_j|x_i)\, d(x_i, y_j) \tag{14} \]

七、本章核心总结

7.1 关键概念一览

概念符号公式/定义物理含义
失真矩阵\([D]\)\(n \times m\) 矩阵度量工具
最小失真\(D_{\min}\)\(\sum_i P(x_i) \min_j d(x_i, y_j)\)理论下界
最大失真\(D_{\max}\)\(\min_j \sum_i P(x_i) d(x_i, y_j)\)固定输出策略
率失真函数\(R(D)\)\(\min I(X;Y)\) s.t. \(\bar{D} \leq D\)失真-速率权衡
转移概率矩阵\([P]\)\(p(y_j \mid x_i)\)编码策略

7.2 两个极值点

\[ \begin{cases} D = D_{\min} = 0 & \Rightarrow & R(D_{\min}) = H(X) & \text{(无损编码)} \\[6pt] D = D_{\max} = \frac{1}{4} & \Rightarrow & R(D_{\max}) = 0 & \text{(固定输出)} \end{cases} \]

7.3 率失真函数的单调性

  R(D)
    ↑
H(X)|●                    (D_min, H(X))
    |  ╲
    |    ╲___
    |        ╲___
    |            ╲___
    |                ╲___
  0 |____________________●______> D
                      D_max

性质

  • \(R(D)\)\(D\)单调递减凸函数
  • \(D\) 越小(允许失真越小) → \(R(D)\) 越大(需要更多比特)
  • \(D\) 越大(允许失真越大) → \(R(D)\) 越小(需要更少比特)
  • \(D \geq D_{\max}\) 时, \(R(D) = 0\)

7.4 关键要点

  1. 失真矩阵是率失真理论的基础,量化了"输入→输出"的代价
  2. \(D_{\min}\) 是理论下界:每行选最小值,按概率加权
  3. \(D_{\min}=0\) 的充要条件:失真矩阵每行至少有一个零元素
  4. 率失真函数 \(R(D)\) 给出了失真约束下的最小编码率
  5. 转移概率矩阵描述编码/信道的随机特性,是实现 \(R(D)\) 的工具
  6. 选择不同的失真度量(汉明/平方误差/绝对误差)会影响系统设计

7.5 本章示例的完整结果

基于失真矩阵:

\[ [D] = \begin{bmatrix} 0 & 1 & \frac{1}{4} \\[6pt] 1 & 0 & \frac{1}{4} \end{bmatrix}, \quad P(x_1) = P(x_2) = \frac{1}{2} \]

我们得到:

参数对应策略
\(D_{\min}\)\(0\)\(x_1 \to y_1, x_2 \to y_2\) (确定映射)
\(R(D_{\min})\)\(1\) bit无损编码,需传输全部信息
\(D_{\max}\)\(\frac{1}{4}\)固定输出 \(y_3\)
\(R(D_{\max})\)\(0\) bit无需传输任何信息

附录:常用符号总结

符号含义
\(X, Y\)输入和输出符号集
\(P(x_i)\)输入符号的概率分布
\(d(x_i, y_j)\)失真函数
\([D]\)失真矩阵
\(p(y_j \mid x_i)\)转移概率
\([P]\)转移概率矩阵
\(\bar{D}\)平均失真
\(D_{\min}, D_{\max}\)最小/最大失真
\(R(D)\)率失真函数
\(I(X;Y)\)互信息
\(H(X)\)信源熵

GitHub Discussions

评论区

使用 GitHub 登录,欢迎友好交流。