前言
这是我在学习数字图像处理这门课程时,从网络上以及相关书籍中搜集到的一些题目, 这些题目主要是针对期末考试的。 做题之前你需要注意以下几点:
- 这篇文章整理了第5种题型,即计算题的第2部分。
- 由于题目或答案中会出现许多的公式,重新编写很费时间,因此,我会将整个题目或答案截成图片来代替。
- 为了提高复习的效率,这篇文章从考试可能涉及到的各个考点出发, 将题目按照考点归类,每一个考点中包括知识点回顾、经典例题、举一反三这3个部分。
- 如果你需要举一反三中练习题的答案,可以前往我的个人主页下载对应的资源(整理不易,希望大家支持)。
考点11:直方图均衡化
知识点回顾
均衡化的目的
将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。
图像均衡化处理后,图像的直方图是平直的,即各灰度级具有相同的出现频数,那么由于灰度级具有均匀的概率分布,图像看起来就更清晰了。
均衡化的特点
直方图均衡化实质上是减少图像的灰度级以换取对比度的加大。在均衡过程中,原来的直方图上频数较小的灰度级被归入很少几个或一个灰度级内,故得不到增强。
若这些灰度级所构成的图像细节比较重要,则需采用局部区域直方图均衡。
均衡化的原理
首先假定连续灰度级的情况,推导直方图均衡化变换公式,令r 代表灰度级,P ( r ) 为概率密度函数。r 值已归一化,最大灰度值为1。
要找到一种变换 S=T ( r ) 使直方图变平直,为使变换后的灰度仍保持从黑到白的单一变化顺序,且变换范围与原先一致,以避免整体变亮或变暗。必须规定:
经典例题
已知一幅总像素为n=64×64的8bit数字图像(即灰度级数为8),各灰度级(出现的频率)分布列于表中。要求将此幅图像进行均衡化修正(变换),并画出修正(变换)前后的直方图。
r0=0 | 790 | 0.19 |
r1=1/7 | 1023 | 0.25 |
r2=2/7 | 850 | 0.21 |
r3=3/7 | 656 | 0.16 |
r4=4/7 | 329 | 0.08 |
r5=5/7 | 245 | 0.06 |
r6=6/7 | 122 | 0.03 |
r7=1 | 81 | 0.02 |
r0=0 | 790 | 0.19 | 0.19 |
r1=1/7 | 1023 | 0.25 | 0.44 |
r2=2/7 | 850 | 0.21 | 0.65 |
r3=3/7 | 656 | 0.16 | 0.81 |
r4=4/7 | 329 | 0.08 | 0.89 |
r5=5/7 | 245 | 0.06 | 0.95 |
r6=6/7 | 122 | 0.03 | 0.98 |
r7=1 | 81 | 0.02 | 1.00 |
② 把计算的就近安排到8个灰度级中。
r0=0 | 790 | 0.19 | 0.19 | 1/7 |
r1=1/7 | 1023 | 0.25 | 0.44 | 3/7 |
r2=2/7 | 850 | 0.21 | 0.65 | 5/7 |
r3=3/7 | 656 | 0.16 | 0.81 | 6/7 |
r4=4/7 | 329 | 0.08 | 0.89 | 6/7 |
r5=5/7 | 245 | 0.06 | 0.95 | 1 |
r6=6/7 | 122 | 0.03 | 0.98 | 1 |
r7=1 | 81 | 0.02 | 1.00 | 1 |
③ 重新命名,归并相同灰度级的像素数。并统计映射后各灰度级的像素数目
.
④ 画出前后图像的直方图
举一反三
1、一幅64X64像素的数字图像有8个灰度级,各灰度级出现的概率如下表,试将此图像进行直方图均衡化。
f(x,y) | nk | pk |
0 | 560 | 0.14 |
1/7 | 920 | 0.22 |
2/7 | 1040 | 0.26 |
3/7 | 705 | 0.17 |
4/7 | 356 | 0.09 |
5/7 | 267 | 0.06 |
6/7 | 170 | 0.04 |
1 | 78 | 0.02 |
2、已知一幅总像素为n=64×64的8bit数字图像(即灰度级数为8),各灰度级(出现的频率)分布列于表中。要求将此幅图像进行均衡化修正(变换),并画出修正(变换)前后的直方图。
原图像灰度级rk | 原各灰度级像素个数nk | 原分布概率pr(rk) |
r0=0 | 790 | 0.19 |
r1=1 | 1023 | 0.25 |
r2=2 | 850 | 0.21 |
r3=3 | 656 | 0.16 |
r4=4 | 329 | 0.08 |
r5=5 | 245 | 0.06 |
r6=6 | 122 | 0.03 |
r7=7 | 81 | 0.02 |
3、一幅图像共有8个灰度级,每一灰度级概率分布如下表所示,要求对其进行直方图均衡化处理,并画出均衡化后的图像的直方图。
| r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 |
| 0.29 | 0.24 | 0.17 | 0.12 | 0.09 | 0.06 | 0.02 | 0.01 |
4、假定有64×64大小的图像,灰度为16级,概率分布如下表,试用直方图均衡化方法处理之,并画出处理前后的直方图。
R | Nk | Pr(Rk) | R | Nk | Pr(Rk) |
R0=0 | 800 | 0.195 | R8=8/15 | 150 | 0.037 |
R1=1/15 | 650 | 0.160 | R9=9/15 | 130 | 0.031 |
R2=2/15 | 600 | 0.147 | R10=10/15 | 110 | 0.027 |
R3=3/15 | 430 | 0.106 | R11=11/15 | 96 | 0.023 |
R4=4/15 | 300 | 0.073 | R12=12/15 | 80 | 0.019 |
R5=5/15 | 230 | 0.056 | R13=13/15 | 70 | 0.017 |
R6=6/15 | 200 | 0.049 | R14=14/15 | 50 | 0.012 |
R7=7/15 | 170 | 0.041 | R15=1 | 30 | 0.007 |
6、一幅8灰度级图像具有如下所示的直方图,求直方图均衡后的灰度级和对应概率,并画出均衡后的直方图的示意图。(图中的8个不同灰度级对应的归一化直方图为[0.17 0.25 0.21 0.16 0.07 0.08 0.04 0.02])
考点12:直方图规定化
知识点回顾
经典例题
已知一幅总像素为n=64×64的8bit数字图像(即灰度级数为8),各灰度级(出现的频率)分布列于表中。要求将此幅图像进行规定化。
r0=0 | 790 | 0.19 | 0.00 |
r1=1/7 | 1023 | 0.25 | 0.00 |
r2=2/7 | 850 | 0.21 | 0.00 |
r3=3/7 | 656 | 0.16 | 0.15 |
r4=4/7 | 329 | 0.08 | 0.20 |
r5=5/7 | 245 | 0.06 | 0.30 |
r6=6/7 | 122 | 0.03 | 0.20 |
r7=1 | 81 | 0.02 | 0.15 |
① 先对直方图均衡化(具体步骤参照上一个考点的例题,这里不再赘述)
② 再对直方图规定化
举一反三
1、一幅图像共有8个灰度级,每一灰度级的概率分布如下表所示,要求对其进行直方图规定化处理,规定化直方图的数据如表所示。(画出规定化后的直方图)
原始直方图数据 | 规定直方图数据 | ||
rk | Pr(rk) | zk | Pz(zk) |
r0=0 | 0.29 | z0=0 | 0 |
r1=1/7 | 0.24 | z1=1/7 | 0 |
r2=2/7 | 0.17 | z2=2/7 | 0 |
r3=3/7 | 0.12 | z3=3/7 | 0 |
r4=4/7 | 0.09 | z4=4/7 | 0.27 |
r5=5/7 | 0.06 | z5=5/7 | 0.43 |
r6=6/7 | 0.02 | z6=6/7 | 0.19 |
r7=1 | 0.01 | z7=1 | 0.11 |
2、设一幅图像具有表1所示的概率分布,对其分别进行直方图均衡化和规定化,要求规定化的图像具有表2所示的灰度级分布。
表1
灰度级 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
各灰度级概率分布 | 0.14 | 0.22 | 0.25 | 0.17 | 0.10 | 0.06 | 0.03 | 0.03 |
表2
灰度级 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
各灰度级概率分布 | 0 | 0 | 0 | 0.19 | 0.25 | 0.21 | 0.24 | 0.11 |
3、设有一幅大小为,包含灰度值是的8个灰度级的数字图像,其各灰度级的像素个数如下表所示
灰度级(i) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
像素个数(ni) | 786 | 1020 | 852 | 650 | 333 | 245 | 130 | 80 |
(1)对其进行直方图均衡化,求出灰度变换关系和变换后的直方图
(2)对上述图像进行直方图规定化处理。给定的规定直方图如下表所示
灰度级j | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
规定直方图 | 0 | 0 | 0 | 0 | 0.2 | 0.3 | 0.3 | 0.2 |
4、下面是一幅 8×8 的灰度图像,灰度级别是 16。请给写出下列图像的规范化直方图并计算这幅图像的熵
考点13:其他直方图相关的题目
经典例题
以下是一个 32 级灰度图像(0 表示黑色),其中包含了在灰色背景上的,带有一个白色标记的,直径是 12 英寸的黑色留声机唱片。下面给出了图像的直方图。
[ 0 0 0 0 100 200 2000 6000 2000 200 100 0 0 200 3000 9000 3000 200 0 0 50 100 400 100 50 0 0 0 0 0 0 0 ]
试问像素间距是多大?标记的尺寸是多少?
举一反三
1、下面是两幅大小为 100×100,灰度极为 16 的图像的直方图。求它们相加后所得图像的直方图?
[0 0 0 10000 0 0 0 0 0 0 0 0 0 0 0 0]
[600 1000 1800 2500 1900 1100 800 200 0 0 0 0 0 0 0 0]
2、有一幅在灰色背景下的黑白足球的图像,直方图如下所示。足球的直径为 230mm,其像素间距为多少?
[0 520 920 490 30 40 5910 240 40 60 50 80 20 80 440 960 420 0 ]
3、画出下面两个 16 级的直方图。哪一个相应于梯度幅度图像(可能加了一个常数)?
[ 0 0 0 100 200 300 500 800 500 300 200 100 0 0 0 0 ]
[ 0 0 0 100 300 500 400 200 300 500 300 200 100 100 0 0 ]
4、假定你有两张相隔八个月拍摄的两个病人的胸部 X 光片。两张胶片都显示有一小瘤,该小瘤也许是良性的,也许是恶性的。小瘤的大小和密度在八个月期间都发生了变化,但仅凭视觉检查,放射学家不能肯定小瘤是变得更坏或更好了。下面是每幅图像的包含有小瘤的同一块区域的直方图。在胶片上,低灰度级代表黑色。问下列两组图像中的小瘤是变大还是变小?密度是变得更高还是更低?(记住 X 射线是负图像,越密的物体亮度越高。)
[1月] [0 500 8000 500 100 100 200 300 200 100 0 0 0 0 0 0]
[8月] [0 500 8000 500 100 0 0 100 200 300 200 100 0 0 0 0]
假设另一病人的相应直方图如下:
[ 4月 ] [0 0 0 500 5000 500 200 100 100 200 300 200 100 0 0 0]
[12月] [0 0 0 500 5250 500 200 100 100 150 200 150 50 0 0 0]
考点14:卷积运算
知识点回顾
经典例题
举一反三
考点15:傅里叶变换
知识点回顾

经典例题 
1、重复例4.1,但使用函数f(t)=2A(-W/4≤ t ≤ W/4)和f(t)=0,对于其他所有的t值。对您的结果和例子中的结果之间的任何不同,解释原因。
如果我们让T=W,这个结果和例子中的结果之间的唯一区别就是指数项。这是一个阶段术语,解释了功能的变化。在这两种情况下,傅里叶变换的幅度是相同的,正如预期的那样。
举一反三
考点16:彩色图像处理
知识点回顾
经典例题
假设你有一个白框内套一个黑框的测试目标。当你用一个特定的 RGB 三色系统量化此目标时,你在所有三个通道中均得到双峰直方图。峰点分别位于:R=[62,242],G=[31,251],B=[12,238]。系统需要彩色平衡吗?设计一个颜色点操作来实现它。其中应使黑色的灰度级为 16,而白色对应的灰度级为 242。
(1)需要。 (2)见图。三个点操作可以三个转换函数
举一反三
1、一幅 256×256 的彩色图像,若 R、G、B 三个颜色平面的强度级别均为256,则存储它所需的存储空间大小是多少?
【冈萨雷斯《数字图像处理》第2版 P272 习题6.2】
【冈萨雷斯《数字图像处理》第3版 P286 习题6.2】
2、考虑色度图中的两个颜色c1 和c2 ,它们在色度图中的坐标分别为(x1, y1 ) 和(x2 , y2 ) 。假设另一种颜色c 在这两种颜色的连线上(即颜色 c 可以由颜色c1 和c2 的线形组合产生),其坐标为(x0 , y0 ) 。推导出通用公式,给出颜色 c 中两种颜色c1 和c2 各占的百分比。
【冈萨雷斯《数字图像处理》第2版 P272 习题6.5】
【冈萨雷斯《数字图像处理》第3版 P286 习题6.5】
3、在一幅简单的RGB图像中,R,G 和B分量图像有下图所示的水平强度分布曲线。人们在该图像的中间一列能看到什么颜色?
4、已知某像素的RGB值分别为:200,100,200,求转换为YUV格式后的各值。
考点17:图像复原中的各种滤波器
知识点回顾
- 当d=0时:退化为算术均值滤波器。
- 当d=mn-1时:退化为中值滤波器。
- 当d取其他值时:在包括多种噪声的情况下很有用,例如高斯噪声和椒盐噪声混合的情况下
经典例题
【冈萨雷斯《数字图像处理》第2版 P221 习题5.10】
【冈萨雷斯《数字图像处理》第3版 P245 习题5.10】
两个子图像如右所示。左侧的子图像是使用一个大小为 3×3 的算术均值滤波器处理的结果,右侧的子图像是使用一个相同大小的几何均值滤波器处理的结果。
1、解释为什么使用几何均值滤波得到的子图像模糊较少。(可通过检查灰度的一维阶跃过渡来开始)
2、解释为什么右侧图像中黑色元件更粗了。
1、这个问题的关键是,只要任何像素为零,几何平均值就为零。绘制理想边的轮廓,其中几个点的值为0,几个点的值为1。几何平均值将只给出0和1的值,而算术平均值将给出中间值,所以会变模糊。
2、黑色为0,因此只要窗口中至少有一个像素为黑色,几何平均值将返回0。因为当这种情况发生时,遮罩的中心可以在原来的黑色区域之外,所以图形会变厚。例如下面这个例子
举一反三
【冈萨雷斯《数字图像处理》第2版 P221 习题5.1 - 5.9】
【冈萨雷斯《数字图像处理》第3版 P245 习题5.1 - 5.9】
(注:第3版中为3×3、5×5、9x9,其次Q = 1.5、Q = -1.5,其余与第2版均相同)
1、测试模式中的白色条带的大小为7 像素宽、210 像素高。两个白色条带之间的间距为17 像素。应用下面的处理后,该图像看起来像什么?(下面为第2版的题干)
- 分别使用3×3、7×7、9x9算术均值滤波器。
- 分别使用3×3、7×7、9x9几何均值滤波器。
- 分别使用3×3、7×7、9x9谐波均值滤波器。
- 分别使用3×3、7×7、9x9使用逆谐波均值滤波(Q = 1)
- 分别使用3×3、7×7、9x9使用逆谐波均值滤波(Q = -1)
- 分别使用3×3、7×7、9x9中值滤波器。
- 分别使用3×3、7×7、9x9最大值滤波器。
- 分别使用3×3、7×7、9x9最小值滤波器。
- 分别使用3×3、7×7、9x9中点滤波器。
注意∶与对该图像滤波相关的这一习题及后面几个习题看起来有点单调,然而,它们值得尝试,因为它们可帮助理解这些滤波器如何工作。理解了一个特殊滤波器对图像的影响后,您的回答可以是关于结果图像的简短描述。例如,"结果图像将由 3 个像素宽、206 个像素高的白色条带组成"。一定要描述白色条带的任何变形,例如圆角。您可以忽略模板仅包含了部分图像像素引起的图像边界效应
- 解释为什么当Q为正值时,该滤波器可有效去除“胡椒”噪声。
- 解释为什么当Q为负值时,该滤波器可有效去除“盐粒”噪声。
- 解释为什么选择的Q值不当时,该滤波器给出较差结果。
- 讨论当Q = - 1.5时该滤波器的特性。
- 讨论(对于Q为正和负的情况)恒定灰度级区域中该滤波器的特性。
考点18:图像压缩的基本概念
知识点回顾

经典例题
用编码 2 达到的压缩结果来自较大可能的灰度值分配较少的比特,较小可能的灰度值分配较多的比特。在得到的变长编码中:
r128:图像中最大可能出现的灰度,被分配 1 比特码字 1
r255:图像中最小可能出现的灰度,被分配3比特码字001
注意,可分配给图中图像的灰度的最好定长编码是自然的2比特计数序列{00,01,10,11},但得到的压缩率仅为8/2或4∶1,比变长编码的压缩率4.42∶1少约10%
举一反三
- 求如下的图像的熵、平均码长、编码效率和冗余度。
输入数据 | W1 | W2 | W3 | W4 |
概率 | 1/2 | 1/4 | 1/8 | 1/8 |
等长编码 | 00 | 01 | 10 | 11 |
不等长编码 | 0 | 10 | 110 | 111 |
【类似于 冈萨雷斯《数字图像处理》第3版 P399 习题8.4】
2、虽然量化导致信息损失、但对人眼来说有时它是不可见的。例如,当8比特像素被均匀量化为更少的比特/像素时,通常会出伪轮廓。使用改进的灰度缩放(IGS)量化方法,可以减少或消除它。 一个和值(开始时置0)是由当前的8比特灰度值和前一个生成的和的4个最低阶比特形成的。如果灰度值的4个最高阶比特是1111(2),而加0000(2),替换它。产生的和的4个最高阶比特被用做编码后的像素值。
- 对灰度数据{108, 139, 135,244, 172, 173, 56,99}构造 IGS 编码。
- 对解码后的IGS数据,计算均方根误差和均方根信噪比。
【类似于 冈萨雷斯《数字图像处理》第3版 P399 习题8.3】
3、考虑灰度数据为{108, 139, 135, 244, 172, 173, 56, 99}的一条8像素的线。如果使用4比特精度来均匀量化它,计算量化后的数据的均方根误差和均方根信噪比。
考点19:Huffman编码
知识点回顾
哈夫曼编码是一种利用信息符号概率分布特性的变字长的编码方法。
对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码。
编码步骤
- 将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,合成一个概率。
- 把这个符号的概率与其余符号的概率按从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。
- 重复上述做法,直到最后剩下两个概率为止。
- 从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码0,对概率小的赋予码1。
编码举例
对不同概率分布的信源,哈夫曼编码的编码效率有所差别。根据信息论中信源编码理论,对于二进制编码,当信源概率为2的负幂次方时,哈夫曼编码的编码效率可达100%,其平均码字长度也很短。信源概率为均匀分布时, 其编码效果明显降低。
在下表中,显然,第二种情况的概率分布也服从2的负幂次方,故其编码效率η也可以达到100%, 但由于它服从均匀分布,其熵最大,平均编码长度很大,因此从其他指标看(如, 压缩比r),其编码效率最低。也就是说,在信源概率接近于均匀分布时,一般不使用哈夫曼编码。
编码特点
霍夫曼编码过程对一组符号产生最佳编码,其概率服从一次只能对一个符号进行编码的限制。在编码建立之后,编码和/或无误差解码就简单地以查找表的方式完成。
霍夫曼编码本身是一种瞬时的、唯一可解码的块编码。
- 它是块编码,因为每个信源符号都映射到了一个编码符号的固定序列中。
- 它是瞬时的,因为编码符号串中的每个码字无须参考后续符号就可以进行解码。
- 它是唯一可解码的。因为任何编码符号串只能以一种方式进行解码。
因此,任何霍夫意编码符号串可以通过从左到右的方式对该串中的每个符号进行分析来解码。
经典例题
1、对下列信源符号进行Huffman编码,并计算其冗余度和压缩率。
(1)进行霍夫曼编码(要求大概率的赋码字0,小概率的赋码字1),给出码字;
(2)计算平均码长,信源熵和编码效率
编码步骤如下
① 缩减信源符号数量:将信源符号按出现概率从大到小排列,然后结合
② 对每个信源符号赋值:从最小的信源开始,逐步回到初始信源
③ 由此可得哈夫曼编码结果见下表
符号 | a1 | a2 | a3 | a4 | a5 | a6 |
概率 | 0.1 | 0.4 | 0.06 | 0.1 | 0.04 | 0.3 |
编码结果 | 011 | 1 | 01010 | 0100 | 01011 | 00 |
举一反三
1、设有一信源X={x1,x2,x3,x4},对应概率P={0.5,0.1875,0.1875,0.125}.
⑴ 进行霍夫曼编码(要求大概率的赋码字0, 小概率的赋码字1),给出码字,平均码长,编码效率;
⑵ 对码串10101011010110110000011110011解码.
2、设有一信源S,S1-S6对应概率P={ 0.4, 0.3, 0.1, 0.1, 0.06, 0.04 }.对其进行霍夫曼编码
4、设一幅灰度级为8(分别用S0、S1、S2、S3、S4、S5、 S6、S7表示)的图像中,各灰度所对应的概率分别为0.40、0.18、 0.10、 0.10、0.07、 0.06、 0.05、0.04。现对其进行哈夫曼编码
5、设有一信源X={x1,x2,x3,x4,x5,x6},对应概率P = { 0.40,0.20,0.12,0.11,0.09,0.08 }。进行霍夫曼编码(要求大概率的赋码字0,小概率的赋码字1),给出码字,平均码长,编码效率。
6、设有一信源X={x1,x2,x3,x4,x5,x6},对应概率P = { 0.25,0.25,0.20,0.15,0.10,0.05 }。进行霍夫曼编码(要求大概率的赋码字0,小概率的赋码字1),给出码字,平均码长。
【类似于 冈萨雷斯《数字图像处理》第3版 P400 习题8.9】
7、考虑如下大小为4x8的8比特图像:
- 计算该图像的熵。
- 用霍夫曼编码压缩该图像。
- 计算霍夫曼编码能达到的压缩率和效率。
- 考虑对一对像素而不是单个像素进行霍夫曼编码。也就是说,考虑由产生原图像的零记忆信源的第二 次扩展产生的图像。当作为像素对看待时,图像的熵是什么?
- 考虑对相邻像素间的差值进行编码。新的差值图像的熵是什么?关于压缩图像,它告诉我们做什么?
- 解释(1), (4)和(5)中熵的差别。
【冈萨雷斯《数字图像处理》第3版 P400 习题8.10】
8、用图8.8中的霍夫曼码,对编码串01010010000011101011进行解码
考点20:算术编码
知识点回顾
从理论上分析,采用哈夫曼编码可以获得最佳信源字符编码效果;实际应用中,由于信源字符出现的概率并非满足2的负幂次方,因此往往无法达到理论上的编码效率和信息压缩比;
与Huffman变长编码不同,算术编码生成的是非块码。信源符号和码字之间不存在一一对应的关系。相反,算术编码给信源符号(或消息)的整个序列分配了一个单一的算术码字。这个码字本身定义了—个介于0和1之间的实数间隔。
当消息中的符号数量增加时,用于表示消息的间隔会变小,而表示该间隔所需的信息单位(假设为比特)的数量则会变大。消息的每个符号根据其出现的概率来减小该区间的大小。因为这种技术不要求像霍夫曼编码方法那样将每个信源符号转换成这些编码符号的整数(即每次对一个符号进行编码),所以它(仅在理论上)达到了山农第一定理所设定的界限。
算数编码的特点
- 算术编码是信息保持型编码,它不像哈夫曼编码,无需为一个符号设定一个码字;
- 算术编码分为固定方式和自适应方式两种编码;
- 选择不同的编码方式,将直接影响到编码效率;
- 自适应算术编码的方式,无需先定义概率模型,适合于无法知道信源字符概率分布的情况;
- 当信源字符出现的概率比较接近时,算术编码效率高于哈夫曼编码的效率,在图像通信中常用它来取代 哈夫曼编码;
- 实现算术编码算法的硬件比哈夫曼编码复杂。
算数编码的原理
- 算术编码方法是将被编码的信源消息表示成0~1之间的一个间隔,即小数区间,消息越长,编码表示它 的间隔就越小;
- 以小数表示间隔,表示的间隔越小所需的二进制位数就越多,码字就越长。反之,间隔越大,编码所需 的二进制位数就少,码字就短。
- 算术编码将被编码的图像数据看作是由多个符号组成的字符序列,对该序列递归地进行算术运算后,成 为一个二进制分数;
- 接收端解码过程也是算术运算,由二进制分数重建图像符号序列。
经典例题
算术编码的基本过程:一个四符号信源的五符号序列或消息a1,a2,a3,a3,a4 进行编码。如下表所示,该区间开始时根据每个信源符号出现的概率被分为4个区域
在编码处理的开始,假设消息占据整个半开区间【0.1)。例如:
符号 a1与子区间【O.0.2)相联系。因为它是被编码的消息的第一个符号,所以该消息间隔开始时被缩窄为【0,0.2)。这样,在下图中,区间【0,0.2)就被扩展到该图形的全高度,且其端点用该窄区间的值来标注。
然后,这个缩窄的区间根据原始信源符号的概率进行细分,并继续对下一个消息符号进行这种处理。采用这种方式,符号 a2将该子区间变窄为【0.04,0.08)。
符号a3进一步将该子区间变窄为【0.056,0.072),依次类推。
必须保留最后的消息符号,以作为特定的消息结束指示符,它将子区间变窄为【0.06752,0.0688)。当然,在这个子区间内的任何数字(如 0.068)都可以用来表示该消息。
在上图的算术编码的消息中,使用了3个十进制数字来表示这个五符号消息。这就转换为每信源符号0.6 个十进制数字,与之相比的信源的熵为每个信源符号0.58个十进制数字。
当被编码的序列的长度增加时,得到的算术编码接近山农第一定理所设定的界限。实际上,有两个因素会使得编码性能无法达到这一界限∶
(1)为了将一个消息与其他消息分开,增加了消息结束指示符;
(2)所用算法的精度是有限的。
算术编码的实际实现通过引入一种缩放策略和一种舍入策略解决第二个问题。缩放策略是在根据符号出现的概率细分每个子区间之前,将每个子区间重新归一化到区间【0,1)。舍入策略则保证根据算法的有限精度进行截短,不会防碍被编码子区间的准确表示。
举一反三
1、编码来自1个4-符号信源{a1, a2, a3, a4}的由5个符号组成的符号序列:b1b2b3b4b5 = a1a2a3a3a4
2、设图像信源编码可用a、b、c、d这4个符号来表示,若图像信源字符集为{dacba},信源字符出现的概率分别如下表所示,采用算术编码对图像字符集编码。
【类似于 冈萨雷斯《数字图像处理》第3版 P400 习题8.18】
3、算术解码过程是编码过程的逆过程,对给出的编码模型信息0.23355进行解码4、已知符号 A、B、C 出现的概率分别为 0.4、0.2 和 0.4,请对符号串 BACCA 进行算术编码,写出编码过程,求出信息的熵、平均码长和编码效率。
【类似于 冈萨雷斯《数字图像处理》第3版 P400 习题8.17】
5、给定一个4符号信源{a,b, c,d},信源概率为{0.1,0.4,0.3,0.2),对序列bbadc进行算术编码
【冈萨雷斯《数字图像处理》第3版 P400 习题8.17】
6、给定一个4符号信源{a,b, c,d},信源概率为{0.1,0.4,0.3,0.2),对序列abcda进行算术编码。