資源簡(jiǎn)介
文章作者寫的matlab源代碼,該文章發(fā)表在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)
遙感圖像數(shù)據(jù)非常廣泛,因此需要通過(guò)空間設(shè)備上的低復(fù)雜度算法進(jìn)行壓縮。具有自適應(yīng)掃描順序(BTCA)的二叉樹編碼是一個(gè)的有效算法。然而,對(duì)于大規(guī)模遙感圖像,BTCA需要大量的內(nèi)存,而且不能隨機(jī)存取。在本文中,我們提出了一種基于BTCA的新的編碼方法。小波圖像首先劃分為幾個(gè)塊,并由BTCA單獨(dú)編碼的。根據(jù)BTCA的屬性,仔細(xì)選擇每個(gè)塊的有效截?cái)帱c(diǎn),以優(yōu)化速率失真的比例,從而獲得更高的壓縮比、更低的內(nèi)存要求和隨機(jī)訪問性能。由于沒有任何熵編碼,所提出的方法簡(jiǎn)單快速,非常適合于空間設(shè)備。對(duì)三個(gè)遙感圖像集進(jìn)行實(shí)驗(yàn),結(jié)果表明它可以顯著提高PSNR、SSIM和VIF,以及主觀視覺體驗(yàn)。
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;?%?當(dāng)前要處理的碼塊
????
????ci?=?ci?+?blklen(bi);
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????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
評(píng)論
共有 條評(píng)論