sprljan.com

Matlab image&video compression depot

Error-Robust SPIHT Toolbox (v1.10)
Download

Toolbox for simulation of transmission of SPIHT encoded images over unreliable channels, for instance wireless or packet-erasure channels. Requires Zerotree Coding and Quality Assessment toolboxes, and the MATLAB Communications Toolbox. Note that the toolbox contains more functions than that is listed here below, I yet have to check those for consistency before putting them on the list. Some of the functions are still missing an adequate help info, this will be done as soon my time allows. Please contact me directly if you need some info sooner than that.

Functions

This toolbox consists of the following functions:

There are also some scripts to measure the channel error rate, RCPC code characteristics and Rate-Distortion (R-D) curve of the SPIHT compression on the particular image:

Examples

get_channel (contents of the file 'AWGN1.txt'):

ch_handle=@awgn_EsN0;
parametar.EsN0=-0.8556;
parametar.state=-1;
parametar.Bch=128000;
parametar.Nch=256;

get_RCPC_code (one RCPC entry from the file 'Punct_codes.txt'):

8/9
[Hag88]
Memory=6
CodeGenerator=[133 171 145]
PunctCode=f78800
cd=[0,0,24,740,13321,217761,3315491,48278177]
%Punctcode=[f7,88,00]=[1 1 1 1 0 1 1 1,1 0 0 0 1 0 0 0,0 0 0 0 0 0 0 0]

get_RCPC_code, RCPC_encode:

>> signal=round(rand(1,8))
 signal =
      0     1     1     0     0     0     1     0
>> [Memory,Ib,Kb,t,PN,P,TotRate,PunctInd] = get_RCPC_code('8/9');
>> outsignal = RCPC_encode(signal,Memory,t,P,PunctInd)
 outsignal =
      1     1    -1    -1    -1     1    -1     1     1

RCPC_test_equal_data:

>> [diffvec,BER,PER]=RCPC_test_equal_data(100,128,'AWGN1','1/2',8,0);
 Mother code rate: 1/3
 Puncturing code rate: 16/24
 Total rate: 1/2
 Packet size: 284
 Number of packets: 100
 Transmitted data bits: 12800

 ***Errors Statistics***
 Errors = 52
 BER = 0.004063
 Packet errors = 12
 PER = 0.120000
 (CRC) Correctly detected packet errors = 12
 (CRC) Detected packet errors = 12

script_channel_performance:

>> script_channel_performance(@RCPC_test_equal_packet,100000,16,'GE1');
RCPC codes epsilon characteristic RCPC codes ro characteristic

optimal_RCPC_equal:

>> optimal_RCPC_equal(1000,16,'GE1','Lena512RD','draw_small');
RCPC total rate: 1/1 - average PSNR: 17.281731
RCPC total rate: 8/9 - average PSNR: 18.406105
RCPC total rate: 4/5 - average PSNR: 18.432578
RCPC total rate: 2/3 - average PSNR: 19.129653
RCPC total rate: 4/7 - average PSNR: 21.051831
RCPC total rate: 1/2 - average PSNR: 24.052347
RCPC total rate: 4/9 - average PSNR: 26.976499
RCPC total rate: 2/5 - average PSNR: 29.522427
RCPC total rate: 4/11 - average PSNR: 30.491567
RCPC total rate: 1/3 - average PSNR: 30.432119
***
Minimal distortion RCPC code: 4/11
PSNR: 30.491567
RCPC plots for AWGN1 and EEP