信源编码(五)矢量量化

一、   trvqsp_img:获得图像矢量量化的码书。

这个程序可以用来训练矢量量化器。使用LBG算法获得图像压缩码书,初始化使用Linde,  Buzo, and Gray提出的分割方法。用作。这个项目可以  很长一段时间来运行特别是所需的大小  码书很大。因此这是一个好主意来运行  项目背景。

图像的尺寸可以由用户指定或者由程序直接获得。但是image_size只支持少量的图像标准,如果想要支持更多格式的文件需通过编辑文件image_size.c来实现。或者可以在运行时指定图像的尺寸(使用选项- x – y)。

 

1.      调用参数格式:

trvqsp_img ts_img codefile [-b cb_size] [ -t block_height][-w block_width] [-x row_size][-y col_size] [-h]

ts_img:是训练图像,也即待量化压缩的图像,假定为8位灰度级,使用光栅扫描顺序存储。

Codefile:以二进制格式存放码书的文件,有一个包含12个字节的文件头记录:向量的维度,以及码书的大小。

-b cb_size:码书的大小

-t block_height:块的高度(以像素为单位)

-w block_width:块的宽度(以像素为单位)

实际上由block_width 、block_height决定着码书向量的大小,也即每个输出块的大小。因此向量的维数是block_height *block_width。

-x row_size:输入图像的宽

-y col_size:输入图像的高

-h 帮助

 

2.      码书构造流程

信源编码(五)矢量量化_第1张图片


一、   vqimg_enc:根据码书对图像进行矢量量化。

这个程序可以使用矢量量化来压缩图像。需使用trvqsp_img获得的码书文件,码书的大小以及码块的大小包含在指定的码书文件中。这个程序使用的是定长编码,所以可以使用变长编码来优化程序。如果没有指定一个输出文件则从命令框中输出。

 

1.      调用格式:

vqimg_enc [-i imagein] [-o cmpfile] [-ccodebook] [-x row_size] [-y col_size] [-h]

-i imagein:输入的待编码的图像文件名

-o cmpfile:输出的量化压缩后的文件名

-c cmpfile:码书文件

-x row_size:输入图像的宽

-y col_size:输入图像的高

-h 帮助

 

2.      量化流程:


信源编码(五)矢量量化_第2张图片

一、   vqimg_dec:根据码书文件和压缩后的文件重构原始图像。

重建压缩图像使用vqimg_enc。解码需要提供码书文件,而码书文件则通过压缩文件的文件头提供其名称,不需要人为输入。图像是8位灰度级图像,使用光栅扫描顺序存储。

 

1.      调用格式:

vqimg_dec[-i cmpfile] [-o imageout] [-h]

-icmpfile:压缩文件名

-oimageout:重建图像文件名

-h 帮助

 

2.      重构流程



你可能感兴趣的:(信源编码)