• 大小: 2.64MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: Matlab
  • 标签: 图像压缩  

资源简介

文章作者写的matlab源代码,该文章发表在Digital Signal Processing: Ke-Kun Huang , Hui Liu, Chuan-Xian Ren, Yu-Feng Yu and Zhao-Rong Lai. Remote sensing image compression based on binary tree and optimized truncation. Digital Signal Processing, vol. 64, pp. 96-106, 2017. (http://dx.doi.org/10.1016/j.dsp.2017.02.008) 遥感图像数据非常广泛,因此需要通过空间设备上的低复杂度算法进行压缩。具有自适应扫描顺序(BTCA)的二叉树编码是一个的有效算法。然而,对于大规模遥感图像,BTCA需要大量的内存,而且不能随机存取。在本文中,我们提出了一种基于BTCA的新的编码方法。小波图像首先划分为几个块,并由BTCA单独编码的。根据BTCA的属性,仔细选择每个块的有效截断点,以优化速率失真的比例,从而获得更高的压缩比、更低的内存要求和随机访问性能。由于没有任何熵编码,所提出的方法简单快速,非常适合于空间设备。对三个遥感图像集进行实验,结果表明它可以显着提高PSNR、SSIM和VIF,以及主观视觉体验。 The remote sensing image data is so vast that it requires compression by low-complexity algorithm on space-borne equipment. Binary tree coding with adaptive scanning order (BTCA) is an effective algorithm for the mission. However, for large-scale remote sensing images, BTCA requires a lot of memory, and does not provide random access property. In this paper, we propose a new coding method based on BTCA and optimize truncation. The wavelet image is first divided into several blocks which are encoded individually by BTCA. According the property of BTCA, we select the valid truncation points for each block carefully to optimize the ratio of rate-distortion, so that a higher compression ratio, lower memory requirement and random access property are attained. Without any entropy coding, the proposed method is simple and fast, which is very suitable for space-borne equipment. Experiments are conducted on three remote sensing image sets, and the results show that it can significantly improve PSNR, SSIM and VIF, as well as subjective visual experience.

资源截图

代码片段和文件信息

function [I_DecRdlen] = decode(out_code blklen n_max n_min blksize row rate out_Sout_Rout_N)

% -------------------------------------------------------------

blkorder = get_blkorder(rowblksize);  % scanning order for the blocks
scanorder = get_blkorder(blksize1);    % scanning order for the coefficietns in a block
scanorder1 = (scanorder(:2)-1)*blksize + scanorder(:1); % 1-D scanning order

nbit = n_max - n_min + 1;  % the number of bit planes
tc = double(10*nbit); % suppose there are at most 10 bit planes 
% -------------------------------------------------------------
% rate-distortion optimization after compression
maxbits = (row*row)*rate; % max bit rate
blkCount = int32((row/blksize)^2);  % the number of blocks

trunR = zeros(blkCount1);
trunN = zeros(blkCount1);
[ssortsind] = sort(-out_S(:));
ssort = -ssort;
i=1;
while sum(trunR)    si = sind(i);
    if out_S(si)==0
        disp([‘Too few data and can not reach the compression ratio: ‘ num2str(maxbits/(row*row))]);
        break;
    end
    bi = floor((si-1)/tc)+1; 
    trunR(bi) = out_R(si);
    trunN(bi) = out_N(si);
    i = i + 1;
end

%% -----------------------------------------
dlen = 0; 
ci=1;
I_DecR = zeros(rowrow);
blkimg2 = zeros(blksizeblksize);
for bi=1:blkCount 
    
    blkcode = out_code(ci:ci+blklen(bi)-1);
    [blkimg_decblen] = decode_blk(blkcodescanorder n_max n_min trunN(bi));  

    dlen = dlen + blen;
    
    blkimg2(scanorder1) = blkimg_dec;
    I_DecR(blkorder(bi1):blkorder(bi1)+blksize-1blkorder(bi2):blkorder(bi2)+blksize-1) = blkimg2; % 当前要处理的码块
    
    ci = ci + blklen(bi);
end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     2600379  2017-03-19 08:46  BTOTcode\2017_DSP_BTOT.pdf
     文件        1754  2017-03-18 20:43  BTOTcode\decode.m
     文件        2525  2017-03-18 21:06  BTOTcode\decode_blk.m
     文件        1402  2017-03-18 20:39  BTOTcode\encode.m
     文件        6200  2017-03-19 09:31  BTOTcode\encode_blk.m
     文件         464  2017-03-18 21:15  BTOTcode\fun_Format.m
     文件         440  2017-03-18 21:14  BTOTcode\get_blkorder.m
     文件        1400  2017-03-19 09:44  BTOTcode\main.m
     文件         633  2017-03-19 09:45  BTOTcode\readme.txt
     文件      263222  2016-04-10 20:30  BTOTcode\SanDiego.bmp
     文件         896  2017-03-18 21:14  BTOTcode\TravDep_dec.m
     文件        1203  2017-03-18 21:18  BTOTcode\TravDep_enc.m
     文件        9578  2010-02-04 20:04  BTOTcode\wavecdf97.m
     文件        1312  2017-03-18 21:58  license.txt

评论

共有 条评论