scispace - formally typeset
Open AccessJournal ArticleDOI

Wireless image transmission using turbo codes and optimal unequal error protection

TLDR
A novel image transmission scheme for the communication of set partitioning in hierarchical trees image streams over wireless channels employs turbo codes and Reed-Solomon codes in order to deal effectively with burst errors.
Abstract
A novel image transmission scheme is proposed for the communication of set partitioning in hierarchical trees image streams over wireless channels. The proposed scheme employs turbo codes and Reed-Solomon codes in order to deal effectively with burst errors. An algorithm for the optimal unequal error protection of the compressed bitstream is also proposed and applied in conjunction with an inherently more efficient technique for product code decoding. The resulting scheme is tested for the transmission of images over wireless channels. Experimental evaluation clearly demonstrates the superiority of the proposed transmission system in comparison to well-known robust coding schemes.

read more

Content maybe subject to copyright    Report

1890 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 11, NOVEMBER 2005
Wireless Image Transmission Using Turbo Codes
and Optimal Unequal Error Protection
Nikolaos Thomos, Student Member, IEEE, Nikolaos V. Boulgouris, Member, IEEE, and
Michael G. Strintzis, Fellow, IEEE
Abstract—A novel image transmission scheme is proposed for
the communication of set partitioning in hierarchical trees image
streams over wireless channels. The proposed scheme employs
turbo codes and Reed–Solomon codes in order to deal effectively
with burst errors. An algorithm for the optimal unequal error
protection of the compressed bitstream is also proposed and
applied in conjunction with an inherently more efficient technique
for product code decoding. The resulting scheme is tested for
the transmission of images over wireless channels. Experimental
evaluation clearly demonstrates the superiority of the proposed
transmission system in comparison to well-known robust coding
schemes.
Index Terms—Channel coding, error resilience, turbo codes,
unequal error protection (UEP), wavelets.
I. INTRODUCTION
D
URING the past few years, mobile/wireless systems have
become a dominant means of communication. Their
advantages, however, come at the cost of significant additional
complexity in the design of suitable coding and transmis-
sion systems. The specific application of image transmission
over wireless channels poses a challenging research problem,
requiring among others, appropriate selection of the set of
channel codes for effective forward-error correction (FEC).
A variety of error-resilient techniques have been recently pro-
posed in the literature. Most are based on the state-of-the-art
set partitioning in hierarchical trees (SPIHT) [1] source coder
which generates embedded bitstreams, i.e., streams in which
lower rates are prefixes of higher rates. In [2] an ad-hoc ap-
proach was formulated for the protection of SPIHT streams,
using product codes that consist of concatenated rate compatible
punctured convolutional codes/cyclic redundancy check codes
(RCPC/CRC) [3], [4] and Reed–Solomon (RS) codes [5]. The
resulting scheme was shown to perform well for image transmis-
sion over wireless and memoryless channels. In [6], a multiple
description product code was presented, similar in many aspects
with that in [7], appropriate for image transmission over fading
Manuscript received March 13, 2003; revised September 16, 2004. This work
was supported in part by the European Commission under contract FP6-511568
3DTV and in part by the EU IST project OTELO. This work was presented at the
IEEE International Conference on Image Processing 2003. The associate editor
coordinating the review of this manuscript and approving it for publication was
Dr. John Apostolopoulos.
N. Thomos and M. G. Strintzis are with the Information Processing Labora-
tory, Electrical and Computer Engineering Department, Aristotle University of
Thessaloniki, Thessaloniki 541 24, Greece (e-mail: nthomos@iti.gr; strintzi@
eng.auth.gr).
N. V. Boulgouris is with the Electronic Engineering Department, King’s Col-
lege, London WC2R 2LS, U.K. (e-mail: boulgouris@ieee.org).
Digital Object Identifier 10.1109/TIP.2005.854482
channels. The product codes used consisted of an RCPC/CRC
concatenated channel code applied on a row-wise basis and a
source-channel column code based on the SPIHT coder and RS
erasure-correction codes. An algorithm for unequal error protec-
tion (UEP) was also proposed based on ideas initially explored
in [8].
In [9], a modified SPIHT algorithm was used for the robust
transmission of images over varying channels. Specifically,
the embedded zerotree stream was reordered into packets con-
taining a small set of wavelet coefficient trees. The modified
source stream was channel coded using the techniques in [10].
The resulting coding methodology was tested for the transmis-
sion of images over channels which suffer bit errors as well as
packet erasures.
In this paper, a novel methodology for the transmission of im-
ages over wireless channels is proposed. The proposed scheme
is based on the SPIHT source coder applied in conjunction with
the application of turbo codes [11] across rows of data in a
product code consisting of turbo codes and RS codes. Due to
the systematic form of turbo codes, immediate extraction and
decoding of source information from the channel-coded stream
is possible whenever the stream is not corrupted.
The optimal allocation of RS symbols is also examined in the
present paper and an algorithm for efficient UEP is proposed.
The UEP algorithm is based on the formulation of channel
blocks of constant size, i.e., blocks of information in which
the source bytes vary but the sum of source and channel bytes
is fixed. This approach admits a fast dynamic programming
implementation. Further, the streams received at the decoder
side are subjected to a successive decoding process which
is inherently more efficient than the conventional decoding
of product codes. The resulting robust transmission system
is evaluated and is shown to outperform the best-performing
known schemes for the transmission of images over wireless
channels.
This paper is arranged as follows. In Section II, the forward
error correction methodology used with the present system is
described. In Section III, a channel rate allocation technique
is presented. The technique used for the efficient successive
decoding of product codes is described in Section IV. Exper-
imental results are reported in Section V, and, finally, conclu-
sions are drawn in Section VI.
II. E
RROR-RESILIENT CODING USING TURBO CODES
In this section, we describe a product code based on turbo
codes and RS codes. A product code generates parity bits for
data arrays in both horizontal and vertical directions (across
1057-7149/$20.00 © 2005 IEEE

THOMOS et al.: WIRELESS IMAGE TRANSMISSION USING TURBO CODES AND OPTIMAL UNEQUAL ERROR PROTECTION 1891
Fig. 1. Arrangement of data in a turbo-coded packet. Unlike RCPC/CRC-
coded streams, info bits can be directly decoded if they are not corrupted.
rows and columns of the array, respectively). Product codes have
been recently used in wireless transmission applications [2], [6].
In the present product code, the row code consists of a cyclic
redundancy code (CRC) combined with a systematic turbo code
[12] (see Fig. 1) while the column code is an erasure-correction
punctured systematic RS code [5]. RS codes are effective when
errors occur in bursts and their location in the transmitted symbol
sequence is known. Moreover, RS codes are maximum distance
separable (MDS) codes. RS codes generated using symbol punc-
turing are still MDS codes [13]. RS codes are a subset of BCH [5]
codes and are denoted by a pair
, where is the number of
the information symbols and
is the length (in term of symbols)
of the resulting codeword. The error correction capability of RS
codes is
when the positions of the erasures are known;
otherwise, it is reduced to roughly half, since
erased symbols can be recovered and decoded [5].
The product code used for the protection of source symbols
is depicted in Fig. 2. A different amount of protection, provided
by RS codes, is allocated to each portion of the stream. A header
is placed at the beginning of the stream in order to declare the
RS protection levels of the blocks that follow. The header is es-
sentially a small block, with three columns, and is protected
using the same RS code rate that is used for the protection of
the rst block. The overhead has information about the number
of RS symbols used for the protection of each block. All rows
of the array are protected using systematic turbo codes of the
same code rate. The resulting turbo-coded row will be hereafter
termed packet. The CRC code is used because it is highly ef-
cient for error detection during the decoding of a packet. Such
errors occur quite often in wireless transmission due to deep
fades. Concatenated turbo/CRC codes are preferable for trans-
mission over slow fading channels compared to the commonly
used RCPC/CRC combination because of the better overall per-
formance of turbo codes, especially when large packets are used.
On the other hand, the use of many short packets would demand
a signicant increase in the transmitted overhead, i.e., the CRC
bytes.
During the turbo decoding of a received packet, the CRC indi-
cates if the packet is corrupted. On the occurrence of a corrupted
packet, the turbo codes are used to recover the corrupted infor-
mation. If, however, the packet is found not to contain errors,
due to the systematic form of the turbo codes, the source infor-
mation can be directly extracted without the need for channel
decoding. Specically, after turbo coding of a packet, the coded
information has the form shown in Fig. 1. As shown in [5] and
[13], the CRC check indicates the corruption of the informa-
tion bits with high reliability (99.99%). Therefore, if, during de-
coding, the CRC indicates no corruption of the information bit-
stream, then the information bits can be directly decoded using
the source decoder without the need to perform turbo decoding.
In this respect, the use of turbo codes in our system has a signif-
icant advantage over the RCPC/CRC coding approach followed
in [2] and [6], which requires decoding of convolutional codes
even for uncorrupted streams. This feature of our system par-
tially outbalances the additional decoding complexity that turbo
codes have in the cases of corrupted streams. A more detailed
analysis of the complexity issue is presented in Appendix I.
In the ensuing section, an algorithm for the optimal allocation
of protection to the source stream is presented.
III. F
AST CHANNEL RAT E ALLOCATION
A. Basic Problem Formulation
A UEP algorithm for channel rate allocation is presented in
this section. The amount of protection allocated to data varies in
the vertical direction (columns) of a data sub-array which will
be hereafter termed a block (see Fig. 2). The proposed algo-
rithm takes into account the importance of each block and al-
locates more channel symbols (RS symbols) to blocks carrying
important information and fewer to other blocks. In this way,
blocks that achieve higher quality improvement are better pro-
tected than the rest.
The rate allocation algorithm determines the number of
source symbols in each column of the block. Since a systematic
RS codeword consists of information symbols and parity sym-
bols, the remaining positions in each column of the block are
lled with parity RS symbols generated after the RS encoding
of the source symbols. The problem formulated as above can
be solved optimally under a specic target rate constraint using
dynamic programming. The optimization procedure is facili-
tated by the constant number of columns in each block due to
which many paths in the trellis merge yielding a much simpler
structure and, thus, reducing dramatically the computational
cost of the dynamic programming algorithm. In this way, every
block includes the same number of source+channel bytes,
namely
. The idea of keeping the size of channel packets
constant and varying the amount of protection according to the
importance of source information was originally proposed in
[14] and was subsequently used in [6][8], [15], and [16].
Another important issue in the design of an efcient transmis-
sion scheme, based on the structure of Fig. 2, is the choice of
the size of blocks. In general, the use of larger blocks would re-
sult in the reduction of the complexity of the allocation process
since the appropriate protection would have to be determined for
fewer blocks. On the other hand, blocks have to be small enough
so that they contain, as much as possible, source information of
equal importance. Consequently, we would like to form blocks in
which, after subtracting the bytes reserved for RS protection, the
remaining bytes are lled using information taken from the same
source layer
1
(and, therefore, having the same importance). In
the experimental results section, we use the above considera-
tions in order to make specic choices on the size of the block.
As mentioned in the previous section, the decoding of the
present scheme consists of a row-wise decoding of turbo-codes
(in case the CRC check indicates a packet is corrupted) and
then column-wise decoding of RS codes. Therefore, in order
1
A source layer is a portion of the bitstream which includes bits of approx-
imately the same importance, i.e., their transmission produces the same image
quality improvement. In many cases, a source layer coincides with an entire bit-
plane of wavelet coefcients.

1892 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 11, NOVEMBER 2005
Fig. 2. Product code based on turbo codes and RS codes.
Fig. 3. Decodable bitstream when the number of errors in the stream exceeds the error correction capability of RS codes.
to perform efcient allocation of RS symbols, we assume that
the probabilities
that exactly rows, out of the rows
in the product code array, are erased due to transmission errors
and turbo decoding failure are known in advance.
2
Since RS codes are used, the probability that the block is
lost is equal to the probability that the number of lost rows in
the
block is greater than the number of RS symbols in each
column of the block
(1)
where
denotes the number of RS symbols in each column
of the
block.
We shall assume that the total rate budget is
, where is the total number of blocks to be transmitted.
In this way, the computed allocation policy is optimal for the
specic target rate. A methodology for optimizing the allocation
in intermediate rates (wherever an embedded coder is used) was
proposed in [17].
2
The probabilities are evaluated via simulation for each possible channel con-
dition.
In order to facilitate the allocation of protection to the source
stream, we initially assume that whenever a block is plagued by
uncorrectable errors, all subsequent blocks are rendered useless
and do not further lower the distortion (see Fig. 3). Suppose that
packets are lost. Then, the expected distortion is trivially seen
to equal
(2)
where
is the resulting distortion after the successful trans-
mission of the rst
blocks. The last term in the summation
expresses the distortion when all blocks are decodable at the re-
ceiver side. Since the rate-distortion function for practical em-
bedded coders (such as the SPIHT coder that is used in the
present paper) is convex, we further assume that the RS protec-
tion allocated to the source bitstream is descending, i.e., for two
arbitrary blocks
and , , the block is always pro-
tected using at least as powerful codes as the codes used for the
protection of the
block. Due to the descending RS protection

THOMOS et al.: WIRELESS IMAGE TRANSMISSION USING TURBO CODES AND OPTIMAL UNEQUAL ERROR PROTECTION 1893
Fig. 4. If the second packet in (a) is unrecoverably corrupted, only source symbols 15 would be decodable. However, if the ordering in (b) is used, symbols
110 would be decodable. Note that, since both blocks are protected using the same number of RS symbols in each column, either both blocks will be corrupte
d
or both will be received correctly.
level across blocks, the probability that all blocks are decodable
is equal to the probability that the last (least protected) block is
correctly decoded. Note that
(3)
We dene
as
if
otherwise
(4)
Thus,
is the probability difference between the event of
losing the
block and the event of losing the block.
Thus, (2) can be equivalently expressed as
(5)
The minimization of the above average distortion
can be
achieved using dynamic programming based on the viterbi al-
gorithm [18]. Whenever two or more paths merge in one trellis
node, i.e., they represent the same cumulative total rate and the
same cumulative channel rate, the paths with the greatest distor-
tion are discarded and only the path having the minimum dis-
tortion is retained. The optimal solution of this problem will be
studied later in this section.
B. More Accurate Approach
The above formulation disregards the fact that, even in the
blocks containing uncorrectable errors, the information in the
packets preceding the occurrence of a corrupted packet is useful
since the information they contain is still decodable. This ob-
servation can be further exploited in practice by reordering in-
formation in blocks to which equal amounts of protection have
been allocated. The blocks that are protected equally attain the
obvious property that during transmission over wireless channel
either they will all be decoded successfully or will all fail. This
is due to the fact that the number of erased packets that renders
each block undecodable is the same for all such blocks. Re-
arranging the source bytes inside such blocks is advantageous
over the initial information ordering and results in lower distor-
tion, since more bytes are decodable in case of RS code failure,
whereas there is no change in the distortion when the blocks are
transmitted correctly. This is explained in the following.
Observation 1: The average distortion resulting in case of
RS protection failure is always lower if consecutive blocks that
are allocated equal amounts of protection are treated as a single
extended block.
Proof: Suppose that, in two consecutive blocks, block 1
and block 2 that are allocated the same amount of protection,
information is ordered so that the decoding of information in
packet 1 that also belongs in block 2 demands prior decoding of
the last source symbols in block 1 [see Fig. 4(a)]. This means
that in case of RS failure, only the information from block 1 that
lies in the rst packets (until the rst corrupted packet) will be
decodable. If, however, in each packet, information is ordered
so that block 2 contains symbols that appear right after the last
source symbol of block 1 [see Fig. 4(b)], then this information
would still be decodable if, say, the second or the third packet is
unrecoverably corrupted.
In practice, the above reordering of information can be seen
as merging the consecutive, equally protected blocks and then
ordering information in a conventional raster-scan way. The size
of the extended block
obtained after merging of consecutive
elementary blocks of size
is
(6)
where
, are the lengths of the elementary and the extended
blocks, respectively, and
is an integer greater or equal to 2.
Since the distortion function
is assumed to be monoton-
ically decreasing with respect to the source rate (this is a rea-
sonable assumption when the SPIHT source coder is used), the
resulting distortion after the merging will always be lower, i.e.,
(7)
where
is the source rate reached after the successful de-
coding of the
block and is the
number of initial packets that are received errorlessly in cases

1894 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 11, NOVEMBER 2005
Fig. 5. (a) Conventional tree growing. (b) Proposed tree growing. (c) Modied trellis.
where the decoding of the block fails. The equality holds for
.
The above observation dictates the use of an optimization
policy which is different in comparison to that expressed using
(5). Assuming that the
block is the rst one having
uncorrectable errors, i.e., decoding stops at the
block,
then taking into account the modied decodable rate for this
block, the average distortion when
blocks are correctly re-
ceived is
(8)
where
denotes the probability that the packet is the
rst packet (in a total of
erased packets) that is erased and is
trivially seen to be given by
if
otherwise
(9)
The outer summation in (8) declares that the current block is
unrecoverably corrupted but the previous blocks are correctly
received. In this case, the number of erased packets exceeds the
error correction capability
of the RS code used in
the
block but is less than , the error correction
capability of the code applied to the
block. In (8), the term
inside the brackets expresses the expected distortion when the
number of erased packets is between
and .
C. Optimal Selection of Channel Rates Using Dynamic
Programming
The problem of the channel rate allocation, as formulated
above, can be solved optimally using dynamic programming
techniques. We will rst describe the solution of the basic
problem of (5), i.e., disregarding partial block decoding and
extended blocks, as an introduction to our more general
methodology described later in this section. Our basic rate
allocation formulation is similar in many aspects to that in [15].
The trellis diagram corresponding to the minimization of
in (5) given a target transmission rate is shown in Fig. 5(a).
Each branch represents the application of a specic RS protec-
tion level for a block. Paths arriving to the same node represent
channel allocation policies which yield the same channel code
rates. In each node, only the path exhibiting the lowest distortion
is retained whereas the rest of the paths are pruned. In fact, the
nodes are the intermediate states in which a decision is taken
regarding the survivor path. The survivor path is the one with
the lowest total distortion cost reaching the examined node. The
cost metric
for a branch linking node and node in
the trellis diagram is equal to
(10)
where
is the block index and is the number of erased packets.
The two paths displayed with a dashed line in Fig. 5(a)
merged in node
. The upper path corresponds to the alloca-
tion of equal amounts of protection for blocks 2 and 3, whereas
the lower path corresponds to different RS protection. If block
merging is not permitted, the conventional tree growing shown
in Fig. 5(a) must be followed. If, however, block merging is
assumed, the trellis diagram in Fig. 5(a) must be modied.

Citations
More filters
Journal ArticleDOI

Optimized transmission of JPEG2000 streams over wireless channels

TL;DR: The transmission of JPEG2000 images over wireless channels is examined using reorganization of the compressed images into error-resilient, product-coded streams which are shown to outperform other algorithms which were recently proposed for the wireless transmission of images.
Journal ArticleDOI

Generalized Unequal Error Protection LT Codes for Progressive Data Transmission

TL;DR: A more generalized design for the first universal fountain code design, Luby transform (LT) codes, that make it particularly suited for progressive bit stream transmissions, and it is shown that it has better UEP properties than other published results in the literature.
Journal ArticleDOI

Turbo Product Codes: Applications, Challenges, and Future Directions

TL;DR: A comprehensive survey of the research that focuses on TPCs in terms of encoding, decoding, error performance, and complexity is presented and the pivotal open research issues in T PCs are presented and discussed.
Journal ArticleDOI

On the Unequal Error Protection for Progressive Image Transmission

TL;DR: This paper proves that, for the source code with convex rate-distortion function and practically used channel codes, the channel code rate for each packet in the optimal rate allocation is nondecreasing indeed, and gives an upper bound for theChannel code rate of the last packet so that the number of rate allocations in the exhaustive search can be predicted.
Journal ArticleDOI

Analysis of Decorrelation Transform Gain for Uncoded Wireless Image and Video Communication

TL;DR: This analysis reveals that the energy distribution among signal elements is critical for the efficiency of uncoded transmission, and a decorrelation transform can potentially bring a significant performance gain by boosting the energy diversity in signal representation.
References
More filters
Book

Wireless Communications: Principles and Practice

TL;DR: WireWireless Communications: Principles and Practice, Second Edition is the definitive modern text for wireless communications technology and system design as discussed by the authors, which covers the fundamental issues impacting all wireless networks and reviews virtually every important new wireless standard and technological development, offering especially comprehensive coverage of the 3G systems and wireless local area networks (WLANs).
Book

Microwave Mobile Communications

TL;DR: An in-depth and practical guide, Microwave Mobile Communications will provide you with a solid understanding of the microwave propagation techniques essential to the design of effective cellular systems.
Journal ArticleDOI

The viterbi algorithm

TL;DR: This paper gives a tutorial exposition of the Viterbi algorithm and of how it is implemented and analyzed, and increasing use of the algorithm in a widening variety of areas is foreseen.
Related Papers (5)
Frequently Asked Questions (15)
Q1. What contributions have the authors mentioned in the paper "Wireless image transmission using turbo codes and optimal unequal error protection" ?

In this paper, the authors proposed an image transmission scheme for the communication of set partitioning in hierarchical trees image streams over wireless channels. 

In general, the UEP algorithm without the extended block strategy overprotects the source information resulting in lower PSNR values in the case of errorless transmission. 

The injection of recovered information in a formerly undecodable packet may render the entire packet decodable using turbo decoding. 

Concatenated turbo/CRC codes are preferable for transmission over slow fading channels compared to the commonly used RCPC/CRC combination because of the better overall performance of turbo codes, especially when large packets are used. 

On the con-trary, the lowest iteration index for the turbo case is 0 since whenever no error is detected turbo decoding is not required. 

Their methodology, termed turbo-coded SPIHT (TCS), was implemented and tested in conjunction with two protection strategies, one using equal error protection (EEP) and the other using UEP. 

The size of the extended block obtained after merging of consecutive elementary blocks of size is(6)where , are the lengths of the elementary and the extended blocks, respectively, and is an integer greater or equal to 2. 

Due to the descending RS protectionlevel across blocks, the probability that all blocks are decodable is equal to the probability that the last (least protected) block is correctly decoded. 

This gain comes about because the extended block approach not only results in more decodable stream in the case of unrecoverable corruption (as shown in Fig. 4) but also allows UEP to be more efficient. 

Even if the authors assumed RCPC/CRC decoding with a reduced maximum number of paths (this would make the decoding less efficient in channel mismatch conditions), the associated complexity would be at least as much as that of the turbo-based scheme. 

The use of even smaller blocks (i.e., more blocks in each row) would not be a good choice since the complexity of allocation would increase without a significant performance gain. 

Note that despite the recovery of the entire fifth packet in Fig. 6(a), its rightmost information segment is still undecodable since it depends on the source segments above it which are corrupted. 

Using the approach described above, the optimal path in the sense of minimum reconstruction error at the decoder can be found directly. 

As stated in [26], the computation of the (or ) parameter of the BCJR-MAP decoder requires additions andmultiplications per time instance , where denotes the number of states in the trellis diagram and the number of inserted bits in the shift register. 

4Following the approach adopted in [2] and [6], the reported mean PSNR values are computed by averaging decoded MSE values and then converting the mean MSE to the corresponding PSNR value rather than averaging the PSNR values directly.