矢量量化 vector quantization

帮忙用自己的语言解释一下什么是矢量量化?它与k-means等聚类有什么关系??谢谢!!... 帮忙用自己的语言解释一下什么是矢量量化?它与k-means等聚类有什么关系?? 谢谢!! 展开
 我来答
匿名用户
2014-07-04
展开全部

矢量量化(VQ —Vector Quantization)是70年代后期发展起来的一种数据压缩技术基本思想:将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损失多少信息。矢量量化编码也是在图像、语音信号编码技术中研究得较多的新型量化编码方法,它的出现并不仅仅是作为量化器设计而提出的,更多的是将它作为压缩编码方法来研究的。在传统的预测和变换编码中,首先将信号经某种映射变换变成一个数的序列,然后对其一个一个地进行标量量化编码。而在矢量量化编码中,则是把输入数据几个一组地分成许多组,成组地量化编码,即将这些数看成一个k维矢量,然后以矢量为单位逐个矢量进行量化。矢量量化是一种限失真编码,其原理仍可用信息论中的率失真函数理论来分析。而率失真理论指出,即使对无记忆信源,矢量量化编码也总是优于标量量化。 

 

  在矢量量化编码中,关键是码本的建立和码字搜索算法。 

 

  码本的生成算法有两种类型,一种是已知信源分布特性的设计算法;另一种是未知信源分布,但已知信源的一列具有代表性且足够长的样点集合(即训练序列)的设计算法。可以证明,当信源是矢量平衡且遍历时,若训练序列充分长则两种算法是等价的。 

 

  码字搜索是矢量量化中的一个最基本问题,矢量量化过程本身实际上就是一个搜索过程,即搜索出与输入最为匹配的码矢。矢量量化中最常用的搜索方法是全搜索算法和树搜索算法。全搜索算法与码本生成算法是基本相同的,在给定速率下其复杂度随矢量维数K以指数形式增长,全搜索矢量量化器性能好但设备较复杂。树搜索算法又有二叉树和多叉树之分,它们的原理是相同的,但后者的计算量和存储量都比前者大,性能比前者好。树搜索的过程是逐步求近似的过程,中间的码字是起指引路线的作用,其复杂度比全搜索算法显著减少,搜索速度较快。由于树搜索并不是从整个码本中寻找最小失真的码字,因此它的量化器并不是最佳的,其量化信噪比低于全搜索。

 

 

 

       矢量量化的使用:

 

 

       n如果一个2x2像素的小块,每像素有8位表示,则所有的像素块的可能取值有:232=4G种,可以选择一个远远小于这个数的数n,作为码书中码的个数,然后对图像中的每个块(矢量),用一个码书中的码来近似,这样只需用这个码的编号来编码这个图像矢量即可,因此每一个小块,最后都只需用log2n个位来表示,由此达到压缩的目的。 

 

 

n如果一个2x2像素的小块,每像素有8位表示,则所有的像素块的可能取值有:232=4G种,可以选择一个远远小于这个数的数n,作为码书中码的个数,然后对图像中的每个块(矢量),用一个码书中的码来近似,这样只需用这个码的编号来编码这个图像矢量即可,因此每一个小块,最后都只需用log2n个位来表示,由此达到压缩的目的。

 

 

n如果一个2x2像素的小块,每像素有8位表示,则所有的像素块的可能取值有:232=4G种,可以选择一个远远小于这个数的数n,作为码书中码的个数,然后对图像中的每个块(矢量),用一个码书中的码来近似,这样只需用这个码的编号来编码这个图像矢量即可,因此每一个小块,最后都只需用log2n个位来表示,由此达到压缩的目的。 

 

 

 

 图像块与码书中码的匹配:      

 

 

n设图像块B=(b1, b2, …, bn)

 

码矢量:C=(c1, c2, …, cn) 

 

n图像块与码矢量的匹配程度,由它们之间的“距离”来度量,一般d(B, C)可取如下之一: 

 

nΣ|bi - ci| 

 

nΣ(bi – ci)2 

 

nMax|bi - ci| 

 

nd(B, C) 可以看成失真程度的一种度量(B用C表示时)

 

 

 

LBG算法:

 

 

nLBG算法是由Linde, Buzo 和 Gray三位学者提出的方法。其主要的思想是:从一组码矢量出发,将所有的图像矢量进行划分,然后再重新计算码矢量,直到码矢量的变化收敛时,即完成了码书的选择。 

 

 

主要步骤: 

 

1.随意选取n个图像块作为码矢量 

 

2.由这n个码矢量对所有的图像块进行划分,即分成n个集合,使每个集合中的图像块,都是与各码矢量距离中,与对应的码矢量的距离最小的 

 

3.由这n个集合的重心,得到n个新的码矢量 

 

4.如果这些个码矢量与原来的码矢量变化不大(收敛),就完成码书的训练,否则重新进行2、3步 

 

 

 

例子:

 

 

n假设每像素8位,分成两个像素的小块。 

 

n图像共有24个像素,12个小块:

 

B1=(32,32), B2=(60,32), B3=(32,50), B4=(60,50), B5=(60,150), B6=(70,140), B7=(200,210), B8=(200,32), B9=(200,40), B10=(200,50), B11=(215,50), B12=(215,35) 

 

n初始码书:C1=(70,40), C2=(60,120), C3=(210,200), C4=(225, 50) 

 

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
缀俦河D7LA
2017-09-20
知道答主
回答量:1
采纳率:0%
帮助的人:948
展开全部
Since vector quantization is a natural application for k-means, information theory terminology is often used.
矢量量化是k-means的自然应用
refe: https://docs.scipy.org/doc/scipy/reference/cluster.vq.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式