图像编码基本方法(可编辑修改word版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
p p o ⎩ 一、霍夫曼编码(Huffman Codes)
最佳编码定理:在变长编码中,对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码,如果码字长度严格按照符号出现概率大小的相反的顺序排列,则平均码字长度一定小于按任何其他符号顺序排列方式的平均码字长度。
霍夫曼编码已被证明具有最优变长码性质,平均码长最短,接近熵值。 X = ⎧ x 1 x 2 x m ⎫ ⎨ p p p ⎬
霍夫曼编码步骤:设信源 X 有m 个符号(消息) ⎩ 1 2 m ⎭ ,
1. 1. 把信源 X 中的消息按概率从大到小顺序排列,
2. 2. 把最后两个出现概率最小的消息合并成一个消息,从而使信源的消息数减少,并同时再按信源符号(消息)出现的概率从大到小排列;
⎧ x o x o ⎫ 3. 3. 重复上述 2 步骤,直到信源最后为
X o = ⎨ 1 1 2 ⎬ 2 ⎭ 为止; 4. 4. 将被合并的消息分别赋予 1 和 0,并对最后的两个消息也相应的赋予 1 和 0;
通过上述步骤就可构成最优变长码(Huffman Codes)。
例:
X
P i 码字编码过程 x 1
0.25 10 x 2
0.25 01 x 3
0.20 11 x 4
0.15 000 x 5
0.10 0100 x 6 0.05 1100
则平均码长、平均信息量、编码效率、冗余度为分别为: N = 2 ⨯ 2 ⨯ 0.25 + 2 ⨯ 0.20 + 3⨯ 0.15 + 4 ⨯ 0.1+ 4 ⨯ 0.05 = 2.45
H = -(2 ⨯ 0.25⨯log 0.25 + 0.2 ⨯log 0.2 + 0.15⨯log 0.15 + 0.1⨯log 0.1+ 0.05⨯log 0.05) = 2.42
= 98%
Rd = 2%
o
∑ f x , y 二 预测编码(Predictive encoding )
在各类编码方法中,预测编码是比较易于实现的,如微分(差分) 脉冲编码调制(DPCM )方法。在这种方法中,每一个象素灰度值,用先前扫描过的象素灰度值去减,求出他们的差值,此差值称为预测误差,预测误差被量化和编码与传送。接收端再将此差值与预测值相加, 重建原始图像象素信号。由于量化和传送的仅是误差信号,根据一般扫描图像信号在空间及时间邻域内个象素的相关性,预测误差分布更加集中,即熵值比原来图象小,可用较少的单位象素比特率进行编码, 使得图象数据得以压缩。
当输入图象信号是模拟信号时,“量化”过程中的信息损失不可避免的。
预测器预测值 N -1
X ˆ = Q i X N -1
i =1 其中 Q i 应适当选择使预测误差最小,即使 e N = X N - X ˆ N 最小。 然后,非均匀量化此预测误差 e N ,就能产生最小均方误差的最 佳 e N ˊ,经编码后发送。接收端解码得到的 e N 加上预测值就能再现
X N ,它与原始图象的存在误差为 g N = X N - X ' 这里关键的问题是选择适当的值的方差最小。
Q i ,使预测效果最好,即预测差 对于隔行扫描的电视图象通常有
f (x , y ) = 1 f (x , y -1) + 1 f (x -1, y ) + 1 f (x -1, y -1)
2 4 4 或f (x , y ) = 1 f (x , y -1) + 1 f (x -1, y ) + 1 f (x -1, y -1) + 1 f (x -1, y +1)
2 4 8 8
其它预测方法有:
1. 1. 前值预测,用 f (x , y )同一行中临近前面一象素预测,即
^
( ) = f (x , y - 1) N 。
2.2. 一维预测,用同一行中前面若干象素预测;
3.3. 二维预测,用几行内象素预测;
4.4. 三维预测,利用相邻两帧图像信号的相关性预测。
三变换编码(Transform encoding)
前面图象变换章节已经说明图象变换会使图象信号能量在空间重新分布,其中低频成分占据能量的绝大部分,而高频成分所占比重很小,根据统计编码的原理,能量分布集中,熵值最小,可实现平均码长最短。
变换编码的基本原理是将原来在空域描述的图象信号,变换到另外一些正交空间中去,用变换系数来表示原始图象,并对变换系数进行编码。一般来说在变换域里描述要比在空域简单,因为图象的相关性明显下降。尽管变换本身并不带来数据压缩,但由于变换图象的能量大部分只集中于少数几个变换系数上,采用量化和熵编码则可以有效地压缩图象的编码比特率。
根据上面的原理变换编码的一般过程如下:
输入图象变换量化编码器 -- - 译码器逆变换输出
常用的变换编码所使用的变换有离散余弦变换(DCT)和沃尔什-- 哈达玛变换(WHT)。
变换后图象能量更加集中,在量化和编码时,结合人类视觉心理因素等,采用“区域取样”或“阈值取样”等方法,保留变换系数中幅值较大的元素,进行量化编码,而大多数幅值小或某些特定区域的变换系数将全部当作零处理。
四方块编码(Block encoding)
方块编码是静态图像编码的一种方法,它可将某一帧图象得以压
缩而不致使图象质量有明显的下降。它是将图象f (x, y)划分成N =n ⨯n 大小互不重叠的子块,由于子块内各临近象素间具有灰度相关性,可选用两个适当的灰度级来近似代表子块内各象素原来的灰度。通常可以利用均方误差最小的方法来逐个求出各子块的这两个代表灰度级,
= = ∑ ⎩0 N N 然后指明子块内各个象素分别属于哪个代表性灰级。
这两个代表性灰级称为灰度分量,而指明某象素属哪个代表性灰级的信息称为分辨率分量。
设子块内共有 N 个象素,其中第 i 个象素 p i 的灰值为 x i ,编 码后子块有两个代表性灰度分量 a 0 , a 1 ,用 i 表示象素 p i 的分辨率 分量, x r 为方块内阈值,则编码后 p i 象素的灰度级为 y i ,
-
y i = i ⨯ a 0 +i ⨯ a 1
= ⎧1 if x i ≥ x T i ⎨ if
x i < x T 子块内象素编码后为 {y 1 , y 2 , y N }可以由 {a 0 , a 1 }和 {1 ,2 , ,N } 的组合来表示。
这种编码方法每个象素所用比特数,比各象素独立编码所用比特数有大幅度降低。
设 a 0 , a 1 各用 P 比特, i 用 1 比特,则每个象素的比特数 B 为:
B = 1 + 2P N 。
当 N 取值 Y 越大, B 越小,压缩比越大,但图像质量也会相应下降,因为方块越大,该方块内个象素间的相关性也就越小,只用两个灰度级当然逼真度越差。
通常方块尺寸选为 N = 4 ⨯ 4 较好。当 N = 4 ⨯ 4 时, P = 8 比特, 则方块编码的每个象素的比特数 B = 2比特 象素,压缩比为 4 。
适当选择a 0 , a 1 和x r ,使编码后方块灰度值和方差与原始图象的灰度相同或近似相同,其中一种方法是设灰度阈值为 x ,则有
x - 1 N x a 0 = T x ∑ x i x i < x T 0 N i =1 a 1 = ∑ x i x i ≥ x T 1
即x r 为方块内象素的平均灰度,把象素分成比平均值x r 大和小的两组, a 0 是方块中灰度级低于 X T 的组内象素灰级的平均值, a 1 为灰度级高于x r 的一组各象素灰级的平均值。 i