CHANNEL AND COMPLEXITY SCALABLE IMAGE ... - Semantic Scholar

1 downloads 0 Views 111KB Size Report
Eng. (LNT), Munich University of Technology, tom, chris @lnt.ei.tum.de. ABSTRACT ..... [4] S. Lin and D. J. Costello, Jr., Error Control Coding – Funda- mentals ...
CHANNEL AND COMPLEXITY SCALABLE IMAGE TRANSMISSION Thomas Stockhammer and Christian Weiß Inst. for Comm. Eng. (LNT), Munich University of Technology, ftom, [email protected] ABSTRACT

decoding unit (e.g. Fano algorithm [4]) with a scalable complexity

In this paper we present a source-channel coding system which is well suited for transmission over channels with varying channel states as common in mobile environments or broadcast scenarios. The system consists of a progressive source coder, a high-memory convolutional code (CC) with puncturing for unequal error protection (UEP) and a sequential decoding unit referred to as far end error decoder (FEED). In contrast to the conventional design goal of channel coding systems to minimize the bit error probability the presented system aims on maximizing the contiguously error-free part of the source message. Additionally, FEED allows to localize the first error in the decoded message and only the virtually errorfree part is delivered to the source decoder. For image transmission gains up to 1:2 dB in average PSNR can be obtained compared to the best known system with the same channel decoder complexity. Finally, FEED allows a trade-off between receiver complexity and quality. 1. INTRODUCTION AND MOTIVATION 1.1. System Overview Fig. 1 shows the transmission system considered in [1] for transmitting progressively coded sources. The channel is stationary for one realization, i.e., one code block, with the channel state known to the receiver, but not to the transmitter. However, the design of the transmitter can be based on the probability density function (pdf) of the channel state p ( ). Recent investigations, e.g., [2, 3] have shown that the reconstruction quality of efficient progressive source coding schemes is severely affected by residual errors. Due to the properties of progressive coding any data after the first decoding error cannot be interpreted anymore, in fact usually the reconstruction quality even decreases due to effects like synchronization loss [2], etc. Thus, it is vital for progressive coding only to deliver error-free data to the source decoder, i.e., to detect and localize the first decoding error. To achieve this goal in [1] an error protection system is proposed consisting of very high-memory (e.g, M = 96) systematic CC with regressive redundancy profile over the frame, a sequential progressive source coding distortion D n

( )

convolutional channel coding variable redundancy ri channel state

source decoding

shortening required reliability

p ( )

Cmax per frame, combined with a method to localize the first error.

Only the error-free part of the decoded path [1] (see “shortening” in Fig. 1) is delivered to the source decoder. The regressive redundancy profile is implemented applying puncturing [5, 1] to the original encoder of rate Rmin = 1=nmc . The rate of the punctured CC is Ri = k=ni = k=(k + i), i = 0; : : : ; (nmc 1)k. Hence, the minimum rate is given by the rate of the original encoder, Rmin = k=nmax = k=(knmc ) while the maximum rate corresponds to puncturing all parity symbols, Rmax = k=nmin = k=k = 1. 1.2. Expected Distortion To evaluate and compare different schemes we will derive the expected distortion of the presented system. The total number of transmitted bits per image is fixed to Nt , but the allocation of this bit budget to source and channel coding can be varied to optimize system performance. Let us assume to have given a distortion-rate characteristic D(s) for the message to be encoded where s is the rate in bits. Additionally, let us define the event that exactly the first s bits of the message are decoded error-free and delivered to the progressive source decoder as As with s = 0; 1; : : : ; Ns and Ns the overall source rate. Then, for a progressive transmission scenario where possibly each of the Ns source bits gives some additional information (e.g., with each additional decoded bit the details of an image are represented clearer) the expected overall distortion  at the decoder is given as

=

Fig. 1. Transmission system: Current channel state only known to the receiver.

s=0

D(s) Pr(As )

(1)

It can be shown [6] that an equivalent expression for the distortion given in (1) can be derived as

 = D(0) +

XNs s=1

(D(s) D(s 1)) Pr(Bs )

(2)

with Bs , s = 1; : : : ; Ns , the event that at least the first n bits can be decoded error-free delivered to the progressive source Pand s Pr(A ). decoder, i.e. Pr(Bs ) = sN s^ ^=s Let us assume a layered transmission such that k source bits are grouped and transmitted in one layer. Therefore, we assume that either all bits or none of the bits in this layer can be decoded. Let us denote the event that at least all bits up to layer l can be decoded as Cl with l = 0; 1; : : : ; L and L = Ns =k. With (2) the expected distortion can be derived as XL

sequential decoder

FEED

XNs

where

 = D(0) + l=1 dl Pr(Cl ) (3) dl = D(lk) D((l 1)k); l = 1; : : : ; L: (4)

We will now derive an estimate of Pr(Cl ) which describes the characteristics of the transmission system, i.e., the performance

of the channel coding system for a specific channel characterized by a channel state . We introduce a channel code vector n = n1 ; : : : ; nL denoting the amount of channel symbols assigned to each layer. The channel coding rate of layer l is therefore given as k=nl . For notational convenience we define the channel coding vector up to layer l as nl = n1 ; : : : ; nl with l = 1; : : : ; L and P the sum over all components of vector nl as Nl = li=1 ni with l = 1; : : : ; L and N0 = 0. The probability Pr(Cl ) = Pl ( ; nl ) depending on the channel code vector nl and the channel state for statistically independent layers can be derived as

f

g

f

Pl ( ; nl ) =

g

Yl

i=1

p ( ; ni );

(5)

with p ( ; ni ) the probability that a channel coded block with assigned channel code rate k=ni and block length ni can be decoded correctly given a channel state . This probability of error could be determined by extensive experiments. However, due to the property of sequential decoders error-free decoding is achieved as long as the the channel coding rate is below the cutoff rate [4]. Hence, we can estimate the decoding probability as 

1 0



R0 ( ) (6) otherwise with R0 ( ) the cutoff rate for a given channel state . The validity of this property has been shown by extensive simulations [1]. In a progressively coded source the data of layer l can only be interpreted if all previous layers have been correctly decoded and, hence, with (5) and (6) we derive for the probability that layer l can be decoded in a progressive transmission scenario as p ( ; ni ) =

if nki

Pl ( ; nl ) = p ( ; mini=1;:::;l ni ):

(7)

With (3) and (7) we estimate the expected distortion ( ; n) for a given channel state and a given channel code vector n as

( ; n) = D(0) +

XL

l=1

dl p ( ; mini=1;:::;l ni ):

(8)

Therefore, for each channel state we are able to decode a certain number of layers which results in a corresponding distortion. Hence, the distortion given in (8) is deterministic for a given channel state. Now let us assume that the channel state is varying for each message to be transmitted or for each receiver to be considered. Additionally, we assume that the channel state is not known to the transmitter. This channel is usually referred to as compound channel. Time-variance might occur due to fading in a mobile environment, receiver variance might occur due to different attenuation in a broadcast environment. Therefore, the channel state becomes a random variable . Let us assume that the distribution P ( ) = Pr < of the channel state and the corresponding pdf p ( ) are known with . Additionally, let us assume that the cutoff rate R0 ( ) is monotonically decreasing with increasing channel state . For example, this is the case if

represents a certain bit error probability or a certain noise level. Then, we can estimate the expected distortion for a given channel code vector as

f

g

(nL ) = E f( ; n)g = =

Z

S

D(0) +

= D(0) +

XL

2S

Z

L X l=1

l=1

dl

( ; n)p ( ) d

S

!

dl p ( ; min ni ) p ( ) d i=1;:::;l

Z

S

p ( ; min ni )p ( ) d i=1;:::;l

= D(0) + = D(0) + = D(0) +



XL l=1

XL l=1

XL l=1

dl

Z R0 = k mini=1;:::;l ni

1

 

dl P

R0 =

dl mini=1;:::;l P

 p ( ) d 

k

mini=1;:::;l ni

 

R0 =

k ni



(9)

with (R0 = r) the inverse of the cutoff rate function R0 ( ). By defining the probability for correct decoding of a layer with channel coding rate k=n as

p(n) = P

 

R0 =

k n



(10)

we obtain the expected distortion of the presented progressive transmission scheme for a given channel code vector nL as

(nL ) = D(0) +

XL

l=1

dl mini=1;:::;l p(ni ):

(11)

with dl according to (4) and p(ni ) according to (10). 2. OPTIMIZED RATE ALLOCATION The objective is now to find a vector distortion in (11) is minimized, i.e.,

nL

such that the expected

nL = arg minnL (nL ):

(12) Note, that L is included in the optimization process as the length of the vector L can be adjusted. However, a brute force search would be prohibitively complex and can not be carried out for a typical setup. Fortunately, it can be shown that that this minimization problem can be solved exactly by a framework based on dynamic programming if the distortion-rate function is monotonically decreasing and convex. Additionally, it can be shown that the optimal channel code vector nL which minimizes the distortion in (11) is monotonically decreasing, i.e., l=2;:::;L n l n l 1 . With the definition

8



Æl (nL ) = D(0) +

Xl

i=1

dl p(nl )

(13)

we can reduce the problem defined in (12) with overall channel coding constraint N to

minnL Æl (nL ) subject to N (l; nL )  N (14) where N (l; nL ) = Nl and for l = L and N = Nt . From (4) and the definition of the rate constraint the following two recursions are obvious for l = 1; : : : ; L:

Æl (nL ) N (l; nL )

= Æl 1 (nL ) + dl p(nl ) (15) = N (l 1; nL ) + nl (16) with Æ0 (nL ) = D(0) and N (0; nL ) = 0. Note, that for a channel code vector nL , Æl (nL ) and N (l; nL ) do not depend on nl+1 ; : : : ;

nL . Therefore, the solution of the minimization problem in (14) needs to be determined only over a subsequence of channel codes, namely, the vector nl . With (15) and (16) we can solve (14) with a dynamic programming approach.

Proposition 1 Let nl be the solution for Pthe minimization problem in (14) and let Æ  (l; N ) with N = li=1 nl;i denote the optimal value of the objective function in (14). Therefore, nl is the subsequence of channel codes achieving the minimum in (14) for a layer index l and a rate constraint N . Then the following results hold.

n) + dl p(n)) : (17)

2. The channel code nl (N ) is the channel code achieving the minimum in (17).

3. The subsequence nl+1 solves (14) for layer index l + 1 and channel coding constraint N + nl (N ).

4. We know that the optimal channel code vector is monotonic increasing. Therefore, we can introduce one further condition for the source rate nl (N ) to reduce the number of possibilities. Then, Æ  (l; N ) satisfies

Æ  (l; N ) =

min

n:nmin nnmax ^ nnl 1 (N n)

(Æ  (l 1; N

5. Finally the minimum distortion is found by selecting the number of layers L, i.e. the source rate which minimizes the distortion.

(nL ) = minL:Lmin LLmax Æ  (L; N ) (19) with Lmin = dN=nmax e the minimum number of layers and Lmax = bN=nmin the maximum number of layers. The optimal channel code vector nL is the vector achieving the minimum in (19).

The proof is obvious as we have formulated the recursion in (17) and (18) and as for any nL , Æl (nL ) and N (l; nL ) do not depend on the l + 1st channel code nl+1 . Of course, this algorithm can be modified to obtain a maximum quality or to obtain the maximum average rate. The appropriate notation can be derived from [7]. Additionally, the algorithm can be modified if the source rate and therefore the number of layers L is fixed by just setting Lmin = Lmax = L in step 5. Comments on non-convex distortion measures can be found in [6]. 3. EXPERIMENTAL RESULTS 3.1. Simulation Environment In [3] a product code (PC) is presented for the protection of SPIHT coded images transmitted over a channel with memory. Simulations were performed for BPSK transmission over a flat-fading Rayleigh channel. The channel is characterized by the average signal-to-noise ratio of 10 dB and the normalized Doppler spread of fD = 10 5 . SPIHT coded images (512 512, grey-scale) were transmitted with a total bit budget of 0:25 bit per pixel which results in a total amount of bits Nt = 65536 for source and channel coding. In the simulations at least Ne = 3000 independent experiments have been carried out each with test image ’Lenna’. Several coding schemes have been investigated and the best performance was achieved by a PC with unequal error protection (UEP). Additionally, results for a PC with equal error protection (EEP) have been reported. Two measures are commonly used to estimate the overall performance of a source-channel coding system. The average peak signal-to-noise ratio (PSNR) PSNR is computed as



7 A: PSNR optimized, Ns fixed B: PSNR optimized, Ns fixed C: PSNR and Ns optimized D: PSNR and Ns optimized

6 5 4 3 2 1 0 0

5000

10000

15000

20000

25000

30000

source bit number s Fig. 2. Rate Allocation for different scenarios.

n) + dl p(n))

(18) where nl 1 (N n) is the optimal channel code vector for the previous layer and with n0 (0) = nmax .

6.

1 channel coding rate

(Æ  (l 1; N min n:nmin nnmax

=

Æ  (l; N ) =

n(s) k

1. Æ  (l; N ) satisfies the dynamic programming equation

PSNR =

1

Ne

XNe

10 log10 i=1



2552 i



(20)

with i the squared distortion for transmission i. The second measure is the PSNR of the average distortion PSNR which is computed as ! 2552 PSNR = 10 log 10 (21) 1 PNe i : i=1 Ne Both measures are used as objective function in the rate allocation procedure and to report the results. Additionally, it is suggested in [3] to report results using not only the expected distortion but also the cumulative distribution of the PSNR for each decoded image  10 log10 2552 =i . We also adopt this scheme to present our results. To achieve a fair comparison we base our simulations on the same channel as in [3]. However, in our case a quadratic block interleaver of dimension 256 is used to spread deep fades in contrast to the PC which has the interleaver inherent. Additionally, we apply a systematic CC with memory M = 96, mother code rate nmc = 1=7 and puncturing period k = 32. Hence, we have nmin = 32, nmax = 224, Lmin = 230 and Lmax = 2048. Since the channel delivers hard outputs only we can represent this channel as a BSC with varying bit error probability for each transmitted block. The channel state is represented by the bit error probability and p the cutoff rate is given as R0 ( ) = 1 log2 (1 + 2 (1 )). With the distribution of the bit error probability P ( ) given in [1] we can estimate the expected distortion for a given channel code vector n. 3.2. Rate Allocation With these preliminaries we perform the rate allocation according to Section 2. For the rate allocation we used the distortion D(s) for the SPIHT coded image ’Lenna’. Figure 2 shows results of the rate allocation procedure for four different scenarios. The bandwidth expansion nl =k is shown over the source rate s = lk. For scenario A and B the source bit rate Ns was fixed such that it is equal to the PC UEP in [3]. Therefore, for error-free transmission both systems result in the same quality. The optimization in case A is based on the maximization of the average decoded PSNR. For scenario B the optimization is based on minimizing the average distortion . Similarly, in scenario C and D the optimization is based on the average PSNR and the expected distortion, respectively. However, here the total number of layers L and therefore the overall source rate Ns = Lk can be adjusted. In general, the

Scheme PC EEP [3], Ns = 19648 PC UEP [3], Ns = 16928 FEED A Ns = 16928 PSNR optimized FEED B Ns = 16928 PSNR optimized FEED C Ns = 23808 PSNR optimized FEED D, Ns = 28512 PSNR optimized

work

PSNR

64 > 64

28:23 dB 28:19 dB 28:37 dB 27:85 dB 28:38 dB 27:82 dB 29:25 dB 28:78 dB 28:84 dB 28:87 dB 29:54 dB 29:25 dB 29:32 dB 29:36 dB

>

bound

16

bound

16

bound

4 16 64

bound

4 16 64

PSNR 28:05 dB 28:15 dB 28:16 dB 27:53 dB 28:14 dB 27:41 dB 28:70 dB 28:25 dB 28:34 dB 28:37 dB 28:11 dB 28:59 dB 28:61 dB 28:76 dB

optimization based on the expected distortion tends to protect the earlier bits better than the one based on the average PSNR. This is obvious as for the expected distortion the decoding of a low bit rate image contributes much more to the overall degradation than in the case of the average PSNR. 3.3. Simulation Results Simulations have been carried out according to the simulation environment described in Section 3.1 for all rate allocation schemes of Section 3.2. Additionally, the receiver complexity was varied by specifying the amount of operations used in the channel decoder per information bit. A conventional Viterbi decoder [4] has a fixed workload of 2M operations per information bit. For the FEED decoder the complexity can be adjusted. The results for the average PSNR and the PSNR of the average distortion PSNR are shown in Table 1. Also included are the results for the PC presented in [3] for EEP and UEP. For equal source rate the PC UEP outperforms the FEED approach by about 0:2 0:6 dB for both measures. This is because the sequential decoder is more sensitive to a burst of bit errors than the product code. This behavior is explained in more detail in [1]. However, it is also shown that for soft decision decoding or with the introduction of an outer code, e.g. RS code, this drawback of the FEED decoder is easily overcome. Additionally, these methods will help to close the gap between the bounds and the simulations. For the adapted source rate schemes C and D we can see significant gains of the proposed system when compared to the product code. For equal complexity gains up to 1:2 dB are possible. An additional effect is the complexity scalability of our receiver. If we reduce the number of operations per information bit to about 10 % of the product code, the gain to the high complexity receiver is reduced by at most 0:2 dB. This means that our system is capable to trade off receiver complexity and decoded quality. This novel property is very interesting for applications where different types of receivers are present in the system. Finally, in Fig. 3 we show the distribution of the decoded PSNR for several scenarios. The PC has lower probability for low decoded PSNR. However, in the medium and high performance range the proposed system performs significantly better. Additionally, the rate allocation bound based on the average distortion promises better results than achieved by the product code in almost all ranges as the curve is always below and right of the product code curve. Therefore, by introducing soft decoding and outer

P(Decoded PSNR ¡ x)

Table 1. Expected performance for different coding schemes and work loads compared to bounds and existing solutions [3]

0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0

PC EEP PC UEP FEED C, Work 64 FEED C, bound FEED D, Work 64

14

16

18

20

22

24

26

28

30

32

psnr in dB Fig. 3. Distribution of PSNR for different allocation schemes and comparison to bounds and to existing solutions [3] . channel codes we can expect increased performance for the entire range of decoded images. This will be subject of further study. 4. CONCLUSIONS We have presented a novel source-channel coding scheme for progressively coded sources transmitted over varying channels where the instantaneous channel state is known only to the receiver. This coding scheme is based on UEP CCs which are not optimized for low average error probability, but rather for maximizing the contiguously error-free decoded part of the code block. As a key feature of this channel coding system, we introduced the FEED decoder. This decoder is able to localize the first decoding error without spending any additional overhead for error detection as required in classical UEP approaches. An optimum rate allocation was presented. Experimental results demonstrated that our method leads to substantial performance improvements over the best previously known methods even with a lower computational complexity. As an additional advantage, our method is self adaptive to varying channels and fully complexity scalable. 5. REFERENCES [1] J. Hagenauer, T. Stockhammer, C. Weiß, and A. Donner, “Progressive source coding combined with regressive channel coding on varying channels,” in Proc. 3rd ITG Conf. Source and Channel Coding, Munich, Germany, Jan. 2000, pp. 123–130. [2] D. Mukherjee and S. K. Mitra, “A vector set partitioning noisy channel image coder with unequal error protection,” IEEE J. Select. Areas Commun., vol. 18, pp. 829–840, June 2000. [3] P.G. Sherwood and K. Zeger, “Error protection for progressive image transmission over memoryless and fading channels,” IEEE Trans. Commun., pp. 1555–1559, Dec. 1998. [4] S. Lin and D. J. Costello, Jr., Error Control Coding – Fundamentals and Applications, Prentice-Hall, 1983. [5] J. Hagenauer, “Rate-compatible punctured convolutional codes and their applications,” IEEE Trans. Commun., vol. 36, pp. 389–400, April 1988. [6] T. Stockhammer and C. Buchner, “Progressive texture video streaming for lossy packet networks,” in PV Workshop, Korea, 2001, p. 57. [7] V. Chande and N. Farvardin, “Progressive transmission of images over memoryless noisy channels,” IEEE J. Select. Areas Commun., vol. 18, no. 6, pp. 850–860, June 2000.

Suggest Documents