信源编码课程实验三:量化

实验要求

(1)使用uqimg_enc.c和uqimg_dec.c对图像进行均匀量化编解码。

(2)使用vqimg_enc.c和vqimg_dec.c对图像进行矢量量化编解码。

实验内容

1、均匀量化

        uqimg_enc.c程序获取灰度图像(8  bits/pixel)和使用均匀量化以有损方式压缩它。量化器标签使用固定长度代码编码。可以使用可变长度对输出进行进一步编码进一步压缩的编码器。量化器的步长是最大值和最小值之间的差值除以级别数。最大值和最小值可由用户指定。默认值为255和0。

        uqimg_en.c该程序提供图像的重建。输出是一个灰度(8位/像素)图像,可以写入一个文件或一个标准。

2、矢量量化

        trvqsp_img这个程序可以用来训练矢量量化器在图像压缩中使用LBG算法。密码本由Linde,  Buzo, 和Gray提出的方法得到的。ts_img是用作图像的图像训练集。向量实际上是块高像素乘以块宽像素宽的矩形阵列。因此,向量的维数为块高度X块宽度。假定图像为8位灰度级使用光栅扫描顺序存储的图像。

        vqimg_enc.c这个程序可以用来压缩图像使用矢量量化。使用trvqsp_img获取码本程序向量的维数和向量的大小代码本在包含代码本的文件中指定。向量的索引使用固定长度编码密码因此,如果输出使用可变长度编码器对该程序的所有部分进行编码。如果未指定输出文件,则会将输出写入标准输出。此功能可用于管道输出将此程序直接发送到可变长度编码器。

        使用vqimg_enc这个程序重建一个被压缩的图像。用于压缩图像的码本为需要与压缩图像一起使用。名称从压缩文件中读取代码本。如果输入文件未指定从中的标准读取输入。如果未指定输出文件,将以标准输出。

实验结果

1、均匀量化

量化编码后输出文件

解码后文件

分别1bit,2bit,4bit 量化后得到的图像以及原图(64kB)如下:

 

 

量化比特数量化后文件大小kB压缩率%
18.0212.53
216.025
432.050

        1比特量化后图像的细节几乎都消失了。使用2比特量化,相比于1比特会多出许多细节。细节级别随着所用比特数的增加而增加。从压缩率上可以明显看出,量化级数越低,压缩效果越好。

2、矢量量化

构建2*2像素块的不同码矢数量的矢量

量化编码后的文件

 

解码后的文件

 

量化后的图像,分别为原图和码矢数量为16、32、64、128、256的图像。

 

 

码矢数量量化后文件大小kB压缩率%
168.0412.6
3210.015.6
6412.018.7
12814.021.9
25616.025

       由结果可以看出,码矢数量越少压缩率越低,压缩效果越好。从解码结果看,量化后的图像与原图差异不大。与标量量化结果比较,性能提升最为明显。矢量量化在保证较低的压缩率下还能解码出高质量的图像。这是因为矢量量化考虑了像素之间的相关性。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值