基于多级SMVQ的图象编码算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基金项目:河南省教育厅基金项目(sp200303099)
作者简介:史红刚(1977-),硕士研究生,主要研究方向图像处理。周利莉(1971-),博士,研究生导师,主要研究方向为图像处理,模式识别等。
基于多级SMVQ 的图象编码算法
史红刚,周利莉,陈健,王继芳
(信息工程大学 信息工程学院,河南 郑州 450002)
摘要 边缘匹配矢量量化器(SMVQ)是有限状态矢量量化器(FSVQ)的一个分支。该量化器适合于对图像块间相关性高的图像进行压缩编码,其优点是在比特率相近的情况下,编码质量高于传统的穷尽搜索矢量量化编码器,但其缺点是计算量大和比特率固定。本文提出了一种改进的边缘匹配矢量量化器。测试结果表明,该算法是变比特率编码算法,它比边缘匹配矢量量化器的比特率低,编码速度快,编码质量得到提高。
关键词 有限状态 边缘匹配 图象编码 矢量量化
中图法分类号:TP391 文献标识码:A
An Image Encoding Algorithm Based on the Multilevel Side-Match
Vector Quantizer
Shi Hong-gang, Zhou Li-li, Chen Jian, Wang Ji-fang
(Dept.of Information Science, Information Engineering University, Zhengzhou 450002)
Abstract The Side-Match Vector Quantizer(SMVQ) is a branch of the Finite-State Vector Quantizer(FSVQ). This quantizer is suitable for encoding the image in which there is a high correlation between neighboring image blocks. The virtue of this quantizer is that it can obtain higher image encoding quality than the traditional full-search vector quantizer with nearly the same bit rate. However, it has the shortcomings of complex computation and fixed bit rate. A modified side-match vector quantizer is presented in this paper. The experimental result shows that the proposed vector quantizer is bit-rate variable. Compared with the SMVQ, the bit rate of the proposed algorithm is lower, its encoding time is shorter, and its encoding quality is a little better.
Key words Finite-State Side-Match Image coding Vector quantization
1 引言
图像编码是当今计算机领域的重要问题。图像常常需要进行压缩以便于存储和传输。矢量量化(VQ)是一种简单而有效的重要技术,已经成功地应用到图像压缩和语音编码中。矢量量化过程可以定义为从k 维欧几里得空间R k 到一个有限子集C 的一个映射,其中C={c i |i=1,2,…,N}称为码书,N 为码书长度。矢量量化包含两个部分:编码器和解码器。为了对一个图像进行编码,编码器首先将原始图像分成Nw×Nh 块,每块图象含k(k=w×h)个像素,即每块图像就是一个k 维矢量。对于每一个图像块x=(x 1,x 2,…,x k ),矢量量化器从码书C 中找出一个与该图像块最匹配的码字c p =(c p1,c p2,…,c pk )代替该图像块,这里c pj 代表码
字c p 的第j 个分量。欧几里得距离的平方常用来表征矢量x 和码字c p 之间的失真测度,即:
d(x,c p )=2p c x −=∑=−k j pj f c x
12)( (1)
找到最近码字以后,矢量量化器用码字c p 的标号p 代替矢量x 进行存储和传输。矢量量化解码器根据接收到的标号很容易从码书中查到相应的码字。找到所有输入矢量的代替码字后由这些码字拼成解码图像。
2 边缘匹配矢量量化(SMVQ )
图象编码的关键问题是如何减少编码时间以及如何降低编码速率(比特率),从而保证编码质量。为了降低比特率,Kim 在1992年提出了边缘匹配矢量量化器(SMVQ)的思想。SMVQ 是有限状态矢量量化器(FSVQ)的一个分支。假设原始图像被分成Nw×Nh 块,每块大
小为k(k=w×h),如图1所示,主码书为C={c i |i=1,2,…,N}。SMVQ 首先对主块(第1行和第1列的图像块),即[1,1],[1,2],…,[1,Nw]和[2,1],…,[N h ,1]用主码书C 进行穷尽搜索编码,这里[i,j]代表第i 行第j 列的图像块。图2所示的是在SMVQ 中相邻图像块的关系,设x 表示当前处理图像块,而u 和l 分别为已经编码完毕的上邻块的编码码字和左邻块的编码码字。因为SMVQ 是一行接一行从左到右进行编码,所以图像块x 的上邻块和左邻块已经编码完毕,即码字u 和码字l 在处理图像块x 之前已经从码书中选择好。我们可以分别定义矢量x 的边界矢量B(x)以及码字u 和l 的边缘矢量S(u,l)为:
B(x)=(x(1,1),x(1,2),…,x(1,w),x(2,1),…,x(h,1)) (2)
以及
S(u,l)=(u(h,1),u(h,2),…,u(h,w),l(1,w),l(2,w),…,l(h,w)) (3)
这里(i,j)表示一个图像块的第i 行第j 列的像素。SMVQ 假定相邻图像块存在极大的相关
性,即B(x)≈S(u,l),则矢量x 与码字c i 之间的边缘匹配失真测度dm(x,c i )可以定义为:
dm(x,c i )=2
)),((l u S c B i −
=[c i (1,1)-u(h,1)]2+[c i (1,2)-u(h,2)]2+…+[c i (1,w)-u(h,w)]2+
[c i (1,1)-l(1,w)]2+[c i (2,1)-l(2,w)]2+…+[c i (h,1)-l(h,w)]2 (4)
[1,1]
[1,2] … [1,Nw] [2,1]
[2,2] … [2,Nw] …
… … … [Nh,1]
[Nh,2] … [Nh,Nw]
图1 原始图象分块示意图
图2 边缘匹配示意图
如果c i 是矢量x 的最近码字,则B(c i )一定与S(u,l)很相近。SMVQ 根据各码字的边缘失真测度的大小对主码书C 进行从小到大排序,并选择排序后的前Ns(Ns 总的来说SMVQ 是一种有效的矢量器,它降低了编码效率。它的特点是:(1)它是固定比特率的量化器;(2)在相近比特率条件下,SMVQ(状态码书大小为Ns)的编码质量比传统的穷尽搜索编码器(码书大小为Ns)高,因为SMVQ 考虑了相关性而VQ 没有;(3)在同一主码书条件下,SMVQ (状态码书大小为Ns)的编码质量比传统的穷尽搜索矢量量化器(码书大小为N>Ns)差,因为在状态码书中找到的最近码字并不一定是主码书中最近码字;(4)该算法需要很多计算来产生每个输入矢量的状态码书,而且计算量比传统穷尽搜索矢量量化