(信源四)矢量量化算法--LBG

矢量量化是一种有损数据压缩技术,利用矢量中各分量的关联性减少冗余度。LBG算法是码书设计的关键,涉及最佳划分和码书设计。程序调试包括图像矢量量化的码书获取、根据码书重构原始图像和图像的矢量量化过程。在调试过程中,遇到unistd.h文件无法打开的问题,解决方案是创建一个空的unistd.h文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

矢量量化,是70年代后期发展起来的一种数据压缩技术是一种高效的有损数据压缩技术,它具有压缩比大、解码简单和失真较小等优点。其基本思想是将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损失多少信息。矢量量化是香浓信息论在信源编码理论方面的发展,它的理论基础是香浓的率失真理论,率失真理论是一个存在性定理,并非是一个构造性定理,它未给出如何构造,矢量量化器的方法,矢量量化总是优于标量量化,这是因为矢量量化能有效地应用矢量中各,分量之间的4种相互关联性质来消除数据中的冗余度。自从1980年提出矢量量化器码书设计的LBG以来,矢量量化技术已经成功地应用到图像压缩和语音编码中。

LBG算法中的最佳矢量量化器设计的关键是最佳划分和最佳码书的设计。一是给定码书条件下寻找信源空间的最佳划分,使平均失真最小,由码书 和NNR得最佳划分,信源空间中的任一点矢量,如果它和码字的失真小于它和其它码字的失真;二是在给定划分条件下,寻找最佳码书,使平均失真最小。其思想如下所示: 

(1)随意选取n个图像块作为码字; 

(2)由这n个码字对所有的图像块进行划分,即分成n个集合,使每个集合中的图像块,都是与各码字距离中与对应的码字的距离        最小的; 
(3)由这n个集合的重心,得到n个新的码字; 

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

程序调试:

运行环境win10 VS2015

打开源代码运行是出现错误:无法打开unistd.h文件。

解决方案:在头文件库中新建一个unistd.h文件

#ifndef _UNISTD_H
#define _UNISTD_H 
#include <io.h> 
#include <process.h> 
#endif /* _UNISTD_H */#pragma once

  


此程序调试共分为3个部分:

1. trvqsp_img—获得图像矢量量化的码书(码数以分裂法初始化)

其命令参数为 ts_img codefile [-b cb_size] [-t block_height] [-w block_width] [-x row_size] [-y col_size]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值