数字视频的编解码的原理的深度学习
@TOC
</font>
<hr style=” border:solid; width:100px; height:1px;” color=#000000 size=1”>
视频编码中熵编码的目标是去除信源符号在信息表达上的表示冗余,也称为信息熵冗余或者编码冗余。 熵编码技术是视频编码系统中的基础性关键技术之一。
信息量: 表示该符号所需要的位数
考虑用‘0’和‘1’组成的二进制数字
举例说明:
列一 : 输入信源字符串: aabbaccbac
a、b、c出现的概率分别为0.5,0.3和0.2, 他们的信息量分别为
${E_a = - log_2(0.5) = 1 }$
${E_b = -log_2(0.3) = 1.737}$
${E_c = -log2(0.2) = 2.322}$
${E = E_a * 5 + E_b * 3 + E_c * 2 ≈ 14.855位}$
列二: 输入信源字符串: aabbaccbac => 如果使用二进制等长编码需要多少位?
解: 字符串有3个不同的字符串,又因为2位二进制数能表示4个不同的字符,所以对每个字符用二位二进制数表示
列如:
符号 | a | b | c |
---|---|---|---|
等长编码 | 00 | 01 | 10 |
数据压缩的基石是 香农信息论的信源编码(Shannon)第一定律(失真信源定律)
如果对字符${A_i}$ 的编码长度为 ${L_j}$, 则信号${L}$的平均码长为
\[L_{avg}= \sum_{j=1}^{M} P_j * L_j\]设M: 信号中所出现不同字符的个数
编码的基本思想就是使用较少的比特数表示出现概率较大的码源符号, 使用较多的比特数表示出现概率小的码源的符号
最常用算法 : 霍夫曼编码(Buffman)
熵 ${H(x)}$ 除以平均码长 ${L_{avg}}$ 即表示编码效率
\[H(x) = - \sum_{j=1}^{M} P_j * log_2(P_j)\]\(n = H(x)/L_{avg}\)