Reliable Video Transmission over Fading Wireless Channel with Joint Source-Channel Adaptation Wuttipong Kumwilaisak, JongWon Kim, and C.-C. Jay Kuo Integrated Media Systems Center and Department of Electrical Engineering-Systems University of Southern California, Los Angeles, CA 90089-2564 E-mail:
[email protected],
fjongwon,
[email protected]
ABSTRACT
This research presents a robust video transmission scheme over fading wireless channels that relies on a coordinated protection eort in handling channel and source variations dynamically. Given the priority of each source packet and the estimated channel condition, an adaptive protection scheme based on joint source-channel criteria is investigated via proactive forward error correction (FEC). A product code is developed based on both the Reed-Solomon (RS) code and rate-compatible punctured convolutional (RCPC) codes. We explore the dynamic programming algorithm in matching the relative priority of source packets to instantaneous channel conditions. To obtain a realistic joint source-channel adaptation scheme, special attention has been paid to the channel status feedback in terms of accuracy and delay, the product code tradeo, and the involved packetization eÆciency. The performance improvement due to adaptation via a dynamic programming solution is demonstrated by simulating the wireless transmission of error resilient ITU-T H.263+ video. 1. INTRODUCTION
Reliable video transmission over fading wireless channels relies heavily on a dynamic and coordinated protection eort in response to time-varying channel and source variations. From the channel viewpoint, a video stream should be adaptively delivered under the time-varying channel with variations in the bit error probability, the power consumption, and/or the minimum sustainable bandwidth to reach a desired level of satisfaction. A certain channel quality metric such as the signal strength is often used as an indicator of the channel condition. The metric should be estimated and tracked in a real-world wireless operating environment. A video transmission scheme should be developed accordingly to provide a robust performance in response to the estimated channel status. Several adaptive feedback-based systems for rate adaptation (source and channel rates), modulation, power control, hando management, and diversity antenna have been studied recently [1{3]. Channel adaptation schemes depend on the accuracy of estimated channel status and the underlying time-scale of the estimate. For example, adaptation can be performed based on the long-term fading estimation that re ects an average of the short-term fading over a reasonable window size. It also depends on reliability and timely availability (i.e., delay) of feedbacks. It is worthwhile to point out that ideal estimate of the fading channel without feedback delay has often been assumed in previous work. In wireless visual communication, rate adaptation such as forward error correction (FEC), automatic repeat request (ARQ), and a hybrid of the above are major trends to enhance end-to-end video quality. Adding redundancy via FEC such as the RCPC (rate-compatible punctured convolutional) code [4] helps to combat the worst-case channel errors, for which adaptive modulation alone is not suÆcient. It can be further accompanied with the progressive rate-update feature of RCPC, and utilized in the ARQ mode (limited to low-latency applications). Similar to [13], special attention has been paid to accuracy, time-scale match, and feedback delay of the channel status estimation in this work.
Compressed video packets are assumed to convey the importance of each packet with respect to loss and delay, which will be used in network adaptation module here. The priority assigned to a video packet would be best if it can accurately represent its loss eect on the receiving visual quality. For example, one may assign the priority based on an error corruption model [8], which estimates the eect of packet loss by tracking error propagation for each packet. Given the source priority represented by the Relative Priority Index (RPI) and the estimated channel condition, a proactive FEC adaptation is developed in this research. A product FEC, which is composed of both RS (Reed-Solomon) [5] and RCPC error correcting codes, is utilized to protect video packets of varying priorities and sizes as well as instantaneous channel status. As done in [6], two concatenated lters are used to estimate the channel status by the long-term fading eect (in terms of the averaged SNR over a preset window) for the Rayleigh at fading wireless channel. With the product-code RS/RCPC, we develop an algorithm that uses dynamic programming to nd the best match between the source priority and instantaneous channel conditions. To achieve realistic joint source-channel adaptation, special attention will be paid to the channel status feedback in terms of accuracy and delay, the product code tradeo, and the involved packetization eÆciency. Furthermore, a packetized transmission scenario is set up by following the ITU-T H.324M wireless video framework. In the experiment, error resilient H.263+ video multiplexed by a variant of H.223 Annex B is adaptively protected. The overall gain is demonstrated by the simulated end-to-end video quality. This paper is organized as follows. The system con guration and the video codec in use are described in Section 2. The assignment of RPI to each packet based on the corruption model is given in Section 3. The wireless channel model and its associated parameters are presented in Section 4. In Section 5, the product code utilization is discussed. The formulation of the optimization problem and the dynamic programming-based solution are presented in Section 6. Experimental results are then given in Section 7, followed by conclusion in Section 8. 2. SYSTEM CONFIGURATION AND VIDEO PACKETIZATION
H.263+ Video Encoder
MUX
Adaptive FEC with RS/RCPC
Wireless Channel (Rayleigh Flat Fading + Gaussian noise)
RS/RCPC Channel Decoder with Channel Estimation and Prediction
DEMUX
H.263+ Video Decoder
Clean Packet
Feedback Channel with delay Source Priority
Header/Payload OK Corrupted Packet Fatal Packet
Figure 1.
Wireless video system with FEC-based rate adaptation via channel state feedback.
The ITU-T H.324M wireless video delivery framework is depicted in Fig. 1. At the sender, H.263+ video with error resilience and compression eÆciency options (Annexes D, F, I, J, T plus random intra refresh with F = 5) is adopted [7]. A variable-size packet is generated for every GOB that contains a xed number of macroblocks (MB). Each packet is assigned a source priority index denoted by RPI (relative priority index). It is then multiplexed by a variant of H.223 Annex B. The header, the synchronous eld, and the control eld are strongly protected with the BCH (Bose-Chaudhuri-Hocquenghem) code. The I
cyclic redundancy code (CRC) is calculated to check its payload and appended for error detection. Our scheme is aligned with the H.223 MUX scheme except that the channel packet size is xed in the latter. Based on RPI and the size of each video packet along with the feedback channel state information, unequal error protection (UEP) is conducted with the RS/RCPC product code. Finally, the resulting channel packet is modulated and transmitted to the underlying wireless channel. At the receiver, the received signal is decoded by the ML (maximum likelihood)-based scheme and the long-term fading parameter is estimated. The calculated fading parameter is then fed back via a reliable channel to the sender. Decoded packets after the de-multiplexing stage are classi ed into three types: clean, corrupted (CRC check failure) and fatal (unrecoverable error in the header, the synchronization or the control elds of multiplexing packet). Finally, to provide the end-to-end performance in both subjective and objective measures, a decoder capable of handling the corrupted video stream is used for video decoding. Priority Assignment RPI calculation Channel Condition Different size GOB
Joint source channel design for packetizing video packet for wireless transmission
Wireless channel variation
GOB packet Channel packet overhead Header
Syn
RS code ratio
Optimal Allocation rate to RS/RCPC
CF Packetization scheme
RCPC code ratio Variation of size channel packets relying on RPI value and size of GOB,CRC as well as RS parity
Figure 2.
GOB packet and CRC with RS parity
RCPC parity
GOB packet and CRC with RS parity
RCPC parity
GOB packet and CRC with RS parity
RCPC parity
Changeable RCPC parity to fit with fixed size of channel packet
Multiplexing and packetization of video packets into a group of channel packets.
As depicted in Fig. 2, source video packets of a variable size from a group of video frames are reorganized into a group of channel packets of a xed size, which is called the channel slot. Since each channel slot consists of xed-size channel packets, the payload and the redundancy should be negotiated to maintain a xed total amount. To be more speci c, the level of protection is chosen to give the maximum protection to the video packet stream with both the bandwidth and the packetization constraints. In order to provide the best adaptation under these constraints, a solution based on dynamic programming is devised and its gain is explored in the following sections. 3. CORRUPTION MODEL FOR PRIORITY ASSIGNMENT
To implement unequal error protection (UEP), we would like to assign RPI to each video packet under the assumption that it can re ect the loss eect to the received video well. The corruption model is the tool used to estimate the impact of the video packet loss to the overall received video quality [8]. This impact can be measured by the induced distortion (e.g., in terms of mean square error, MSE). For a motioncompensated video coder, MB-based corruption can be modeled by taking into account error concealment, temporal dependency, and loop ltering. By assuming that the loss impact of each MB is independent, the total impact of one MB loss is expressed as the sum of the initial error and the propagation error energy. In addition, the propagation error of MBs in subsequent frames should be weighted. If Intra-MB refresh
is used, error propagation will be con ned and a pre-de ned number of frames, denoted by M , is often suÆcient to estimate the total impact of a MB loss. As a result, the total energy of errors due to a MB loss in frame n can be expressed as 2 = u2 +
XX M
N
wn;j (m; j )v2 (m; j );
(1)
m=1 j =1
where 2 is the intial error due to a MB loss (which depends on error concealment), w (m; j ) and 2 (m; j ) stand for the propagation weight and eect to the j th MB (among N MB's) of the mth frame, respectively. In addition, 2 (m; j ) = 2 =(1 + ), where is a parameter governed by loop ltering. n;j
u
v
m;j
u
v
m;j
1
0.9
0.8
Normalized RPI
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Figure 3.
0
10
20
30
40
50 GOB number
60
70
80
90
100
The plot of normalized RPI of each GOB packet for the `Silent Voice' sequence.
The fundamental notion behind RPI is the decoupling of compression details from the network adaptation task. By assigning RPI to each packet in an appropriate manner, we attempt to accommodate the demand of each packet to achieve best end-to-end video experience via network adaptation. Since the video codec has several options to trade the compression eÆciency for exible delay manipulation, error resilience, and network friendliness, the proposed coordination framework has to provide a simpli ed interaction process between the video encoder and the target adaptive protection. Thus, the corruption model is utilized for the RPI assignment to each packet. As an example, the resulting normalized RPI for the `Silient Voice' sequence is depicted in Fig. 3. 4. WIRELESS CHANNEL MODEL
The wireless channel model used to simulate the real-world situation includes the short-term fading, the long-term fading (shadowing), and the path loss. The multi-path phenomenon generates an amplitude variation of the transmitted channel signal which leads to the short-term fading. The path loss re ects the degradation of the signal strength over a distance. Fluctuation of the expected power level based on the path loss model is called the long-term fading eect. For simplicity, it is assumed that power degradation due to the path loss is perfectly compensated by the power control method, and the SNR operational point is maintained throughout the wireless communication process. In this paper, all simulations have been conducted in an urban micro-cell wireless environment. The carrier frequency f is set to 2 GHz and the mobile unit moves at a moderate velocity of 34 km/hr. Based on these conditions, we can determine the wavelength to be 0.15m since v = f =, where v is the light speed. The normalized Doppler frequency used to construct the short-term fading is set to 10 3 while the c
c
c
c
short-term fading is modeled as the Rayleigh at fading channel. Thus, for BPSK-modulated transmission, the short-term fading model can be written as r =a s +n ; (2) where r is the received signal symbol k at the decoder, a is the variation of the Rayleigh at fading amplitude (i.e., the short-term fading parameter), s is the BPSK-modulated signal, and n is the additive white Gaussian noise (AWGN), respectively. Also, the BPSK-modulated signal is assumed to have a unit power for simplicity. The long-term fading is obtained by averaging the short-term fading SNR (i.e., E =N0 derived from (2), where E is the received energy per symbol at time k) with a reasonable window size such as 10 20 [9, 10]. The long-term channel SNR variation S (i) in dB at the i window is of the normal distribution characterized by the rst-order Markov process S (i + 1) = S (i) + N (0; 1); (3) where is a spatial correlation between shadowing samples, is the standard deviation of the log normal, and N (0; 1) is the Gaussian random variable with zero mean and unit variance, respectively. In general, the long-term fading in a micro-cell has low to moderate deviations. Typically, we choose the standard deviation to be 4.3 dB as in [9, 10]. With the assumed velocity of a mobile unit and the time-scale of the long-term fading, which corresponds to 0.1565 sec for the 10 case, we get a spatial correlation of 0.8348 to simulate the shadowing model. Also, in this work, we set the averaging window length according to one channel slot that consists of 5 channel packets. To obtain the channel status for feedback, two lters (the Kalman and the LMS lters) are concatenated. The Kalman lter is rst used to estimate the short-term fading parameter due to its fast convergence and low estimation error. Then, the averaged power of the short-term fading over a certain window gives the long-term fading parameter, which can be tracked by using the LMS algorithm. For details and results comparing the eect of imperfect channel estimation with the ideal case, we refer to [6]. k
k
k
k
k
k
k
k
k
k
th
dB
dB
dB
5. PRODUCT CODE UTILIZATION 5.1. Rate-Compatible Punctured Convolutional (RCPC) Code
RCPC is a family of convolutional codes derived from a mother code rate 1=N , a set of generating polynomials with memory M , and a puncture table. The rate can be changed by puncturing the bit at the encoder. The possible set rRCPC of the code-ratio fr g is P=(P + l), l = 1; : : : ; (N 1)P , where P is the puncturing period. Due to the exibility in changing the code ratio, RCPC has been widely used in unequal error protection and hybrid ARQ/FEC protection [4]. That is, by changing the puncture table to obtain dierent ratios, the level of protection can be altered by following the channel status feedback. In the case of the Rayleigh fading with the AWGN environment, the performance of Viterbi decoding with the maximum likelihood sequence estimation (MLSE) for RCPC can be bounded [4]. With estimated long-term fading parameter S , the bit error probability P is bounded as 1 1 X P (r ; S) c P (r ; S ); (4) RC P C
RC P C
RC P C
BE RC P C
BE RC P C
where
RC P C
P
Pd (rRC P C ; S ) (
d
d
RC P C
free
d=d
1
): (5) 1+Sr P is the probability that a weighted path has a higher metric than the all zero-path (assuming to be the correct one). The resulting bounds on the bit error rate is then compared to the actual measurement as shown in Fig. 4. d
d
RC P C
0
0
10
10
−1
−1
10
10
Probability of bit error
8/9
8/9
−2
10
−2
10
8/10
8/10
−3
10
−3
10
−4
10
−4
10
8/12
8/12
8/14
8/14 8/16
−5
10
10
11
12
13
14
15 SNR (dB)
16
17
18
19
−5
20
10
10
11
12
13
14
(Measured)
15
16
17
18
19
20
(Bounds)
Performance comparison of RCPC for the Rayleigh at fading channel with code-ratios ranging from 8/9 to 8/20 with the BPSK modulation, where the horizontal axis is channel SNR and the vertical axis is the corresponding bit error rate.
Figure 4.
5.2. Reed-Solomon (RS) Code and Product Code
The Reed-Solomon (RS) code is a non-binary block code with codewords of a xed length [5]. It is a maximum-distance separable (MDS) code. Let us use RS(N , K ) to denote a RS code of code-ratio r = K =N , whichj consists ofkK information symbols and N K parity symbols. This RS (1 ) RS RS symbol errors. In our work, a new version of the RS code called the code can correct up to 2 shortened RS code is utilized since it supports a shortened length while keeping the same MDS property. By combining the inner code (RCPC) and the outer code (RS), we are led to a product code (or serially concatenated code). The product code has the potential to serve as a real-world implementation of the long block-code mentioned by Shannon. In addition, the product code is suitable for joint source-channel coding design as in our case. By assuming that the BSC channel eect is obtained after RCPC decoding (with perfect interleaving for fading compensation), the upper bound to codeword (i.e., packet) error probability P + for given N constraint can be expressed as RS
RS
RS
RS
N
PE RS RC P C
RS
RS
RS
RS
r
RS
P
PE RS +RC P C
(r ; r RS
RC P C
; S)
N
RS X
N
jN
i=
RS
k RS (1 rRS ) +1
i
P (1 i M
PM )NRS i ;
(6)
2
where P = 1 (1 P ) is the probability of the RS symbol error and b is the number of bits per RS symbol. The resulting probability of the codeword error based on the product code combination is depicted in Fig. 5. M
BE RC P C
b
5.3. Product Code Rate Selection
To gure out the best product code in terms of dierent code ratio combination ( r , r ), the best ratio combination is searched from the product set of the RCPC code-ratio set rRCPC and the RS coderatio set rRS . The best ratio combination, which minimizes the expected packet error probability, can be expressed as (r ; r ; S ): (7) min P + RC P C
PE
r
RCPC RS ;r
RS
RC P C
RS
RC P C
A practical algorithm to nd the solution of (7) is given below.
RS
0
10
−2
10
−4
10
Probability of packet error
−6
10
−8
10
−10
10
−12
10
Product Product Product Product Product
−14
10
Code Code Code Code Code
Rate Rate Rate Rate Rate
8/14 8/16 8/18 8/20 8/24
−16
10
−18
10
0.2
0.3
0.4
0.5
0.6 Inner code ratio
0.7
0.8
0.9
1
The bit error probability with dierent inner code ratios and total product code ratios with channel SNR equal to 7 dB and N equal to 50 bytes. Figure 5.
RS
Initialization. Initialize the minimum probability P initialize r and r . RC P C
PE min
of the packet error at a large value. Also,
RS
Step 1. According to the given overall product code-ratio and the channel state information, set
BE rRC P C and calculate the upper bound PRC of the bit error probability. PC
Step 2. Apply the size constraint to compute the RS code-ratio r calculate the upper bound of packet error probability denoted by P
RS
from selected r (r ; r
RC P C
PE RS +RC P C
RS
Step 3. If minimum packet error probability P is larger than P + (r ; r P , r and r by P + (r ; r ; S ), r , and r , respectively. PE min
PE min
PE
RC P C
RS
RS
RC P C
RS
RC P C
PE
RS
RC P C
RC P C
RS
. Then,
RC P C ; S ).
RC P C
; S ), update
RS
Step 4. Go back to Step 1 until all possible RCPC code-ratios in set rRCPC are searched. 6. OPTIMIZED ADAPTATION MECHANISM
6.1. Problem Formulation
The averaged distortion of received video can be expressed as Dtotal = Dencoding + Dpropagation ;
(8)
where D is the averaged distortion from the encoding process and D is the averaged propagation distortion, respectively. Since we are interested only in the loss impact due to the transmission error, the xed encoding distortion is not considered further. The variable D can be derived from the corruption model with the independent loss eect of each packet as propagation
encoding
propagation
total X
N
Dpropagation =
PE RP I (i) PRS +RC P C (rRS (i); rRC P C (i); S (i))
(9)
i=1
where N is the whole number of packets and RP I (i) is the priority assignment re ecting error propagation due to loss. Given the size of the video packet and the predicted channel state, several combinations of RCPC and RS code ratios are possible. With the expected video distortion of (9), the optimal product code selection f(rRCPC ; rRS ) j (r (i); r (i)); i = 1; : : : ; N g can be formulated as follows. total
RC P C
RS
total
Find the optimal product code selection, f(rRCPC ; rRS )g, such that total X
N
min
rRCPC rRS ;
Dpropagation =
min
rRCPC rRS ;
PE RP I (i) PRS +RC P C (rRS (i); rRC P C (i); S (i));
(10)
i=1
subject to the total bit budget constraint expressed by total X
N
[b(i) 1=r (i) 1=r RS
RC P C
(i)] B
total
(11)
;
i=1
where b(i) is the size of packet i in bits and B is the total bit budget . Even though independent propagation of loss is assumed in (10), the dependency among packets is implicitly included through RPI assignment, which can re ect the multiple-packet losses as well as its own loss. However, the solution to (10) is not straightforward, since the product code selection f(rRCPC ; rRS) j (r (i); r (i)); i = 1; : : : ; N g is aecting each other. Under the given size constraint, the overall optimization may be attempted if the channel state is known in advance. Since the knowledge on the future channel state is impossible, the above problem has to be converted to optimized adaptation over some prede ned interval (either xed or variable). Under the circuit-oriented wireless transmission (e.g., H.324M), multiplexed source packets of a variable size have to be accommodated by xed-size channel packets. The straightforward way to enforce this channel-packet size constraint is to chop the concatenated source packets into xed channel packets, which however renders the coordinated protection impractical. That is, since there is no established alignment between the source packet size and the channel packet size, it is diÆcult to assign RPI to channel packets. Note however that this scheme is the most eÆcient one in terms of packetization eÆciency. The other extreme is to align each source packet to one or more channel packets and to protect the packet based on its RPI. Although network adaptation can be best coordinated in the sense of UEP eÆciency, we suer from the loss in packetization eÆciency. Thus, an interval should be prede ned to control the tradeo of packetizatoin eÆciency and UEP eÆciency . In our previous work [6], the source packet has not been packed across channel slots to enable exible packetization while keeping it xed and simple. The resulting xed interval (i.e., channel slot interval) corresponds to the time-scale of the channel state change and hence the time-scale of adaptive protection. However, although it is helpful in coordinating adaptive error protection, the channel slot scheme still suers some level ineÆciency in terms of packetization (especially when the number of channel packets is small). Thus, in this work, we use N source packets as the interval for packet alignment, which will occupy a variable number of channel packets. Note that, N may or may not correspond to the number of source packets in a frame of video. This slightly improves packetization eÆciency while maintaining the proposed channel-based adaptation framework. This consideration imposes another constraint expressed as total
RC P C
RS
total
group
group
group X
N
[b(i) 1=r (i) 1=r RS
RC P C
(i)] k B
channel
;
(12)
i=1
where B
channel
The
is the bit budget for a channel packet and k denotes the used channel packet number.
source packet size b(i) is slightly dierent from the video packet size since it incorporates other elds for multiplexing. Also, the CRC eld size is excluded in this formulation, which is however included in the actual simulation.
6.2. Dynamic Programming-based Adaptation and Packetization
Dynamic programming is used to verify the potential advantage of the optimized solution for the intervalbased independent optimization problem. It would be best if the optimization process is performed with respect to each video packet. However, due to the high complexity of dynamic programming, it is applied only to group of video packets. Currently it is set to the unit of video frame and thus N is set to xed 9 packets. The set of combined product code-ratio is also restricted to several choices. In the following, each stage of dynamic programming denoted by index j represents the group of video packets to be optimized. Branches connecting nodes represent the possible product code ratio combination. Each node in dynamic programming contains the number of used bits and distortion. The overall number of used bits and overall distortion can be obtained through the sum of used bits and distortion along the path. Due to the reasons discussed above, total N video packets are divided into groups of N packets and optimized via the dynamic programming. The bit budget to be allocated for these N video packets is bounded by the total number of channel packets available. In addition, N video packets are aligned with channel packets while the channel adaptation is handled per each channel slot. At j th stage corresponding to j th group, the amount of used bits for j th group, U B (j ), is group
group
window
window
group
group X
N
U B (j ) =
b(j; k ) 1=rRC P C (j; k ) 1=rRS (j; k );
(13)
k =1
where b(j; k), r (j; k), and r (j; k) are the source bits, the inner code-ratio, and the outer coderatio for kth packet of j th group, respectively. The corresponding propagation distortion of j th group, D (j ), is RC P C
RS
propagation
group X
N
Dpropagation (j ) =
PE RP I (j; k ) PRS +RC P C (rRS (j; k ); rRC P C (j; k ); S (j; k ));
(14)
k =1
where S (j; k) is the estimated channel state for kth packet of j th group. At each transition stage, the accumulated used P bit till j th group should not violate the total bit budget constraint of this optimization window, i.e., =0 U B (i) B . The accumulated distortion at the j th node is also calculated in the same way. When these paths of trellis are merged, the path providing the smallest accumulated distortion will be chosen. The resulting algorithm can be stated as follows. j i
total
window
Initialization. Initialize the tree for the optimization procedure. Set the overall used bit U B and the overall distortion to 0. Divide N video packets into groups of N packets. Estimate channel states for the optimization window. Proceed to Step 1-1 with the rst group of packets. window
group
Step 1-1. Choose the combined product code-ratio from the available set. If all code-ratio combinations are searched, go to Step 1-5.
Step 1-2. Calculate the average RPI and the average size of packets in current group. Also calculate the number of channel packets available for packing in current channel slot. Step 1-3. Use the averaged RPI and size to nd the best product code-ratio combination (r , r ).
RC P C
RS
Step 1-4. Calculate the required bit budget for transmission and check whether the resulting packet can be accommodated in current channel slot. If not, divide packets across channel slot and repeat from Step 1-2. If all packets in current group are accommodated, go to Step 1-1 and proceed with next combined product code-ratio.
Step 1-5. For each combined product code-ratio, create a node in dynamic programming tree. Allocate redundancy to each video source packet based on its RPI and size as well as channel state. Calculate the expected distortion D and the overall used bit U B for each node. If U B of a product code-ratio combination exceeds the bit budget, prune the corresponding node. propagation
Step 2. Repeat from Step 1-1 to Step 1-5 iteratively for all groups in the optimization window. If done, go to Step 3.
Step 3. Search the nal node for the minimum distortion and trace back the tree path to get the set of the optimal product code-ratio combination. 7. SIMULATION RESULTS
The optimized FEC allocation and the packetization scheme proposed in this work were simulated by employing the variable size packets of H.263+ video with error resilience options. Also, a variants of H.223 Annex B multiplexing was implemented. To reduce implementation complexity of dynamic programming, the combined product code-ratio are con ned to the possible code-ratio set f8=10; 8=14; 8=24g with RCPC code in the code-ratio set f8=9; 8=10; 8=12; 8=14; 8=16; 8=18; 8=20; 8=22; 8=24; 8=26; 8=28; 8=32g (by the RCPC puncture table based on H.223 Annex C with mother code rate 8/32). To evaluate the performance of the proposed adaptive FEC video transmission, 4000 frames (circulated) of QCIF `Silent Voice' sequence is used. 20 Long Term Fading Variation (dB) 10
0
0
20
40
60
80
100
120
140
160
180
200
160
180
200
160
180
200
160
180
200
0.8 RCPC Inner Code Ratio 0.6
0.4
0
20
40
60
80
100
0
20
40
60
80
100
0
20
40
60
80
120
140
1 0.8 0.6 0.4
RS Outer Code Ratio 120
140
0.6
0.4 Product Code Ratio 0.2
100 120 GOB Number
140
The sample trace for selected RCPC (inner) and RS (outer) code ratios with the SNR operation point equal to 10 dB and 417.5 kbytes transmission bit budget.
Figure 6.
An example with the RCPC inner code and the RS outer code for each video packet is shown with channel variation in Fig. 6. By using the rate allocation scheme and the packetization algorithm presented in Sections 5 and 6, selected code ratios are exhibited in Fig. 6 for an SNR operation point of 10 dB. Next, the dierence w.r.t. the error free situation in terms of PSNR is depicted in Fig. 7 to illustrate the performance variation due to the transmission bit budget. In addition, the feedback delay eect is shown by comparing no delay situation to 2 channel slot delay. Note that delay in feedback can deteriorate the end-to-end video performance. Finally, the benchmark performance of transmitted video over the wireless channel with 417.5 kbyte transmission bit budget is evaluated with no-delay feedback as shown in Figs. 8 and 9. In Fig. 8, the proposed unequal error protection is compared with xed protection. Result shows a clear improvement in exploiting the proposed adaptive product code and the packetization scheme. Fig. 9 shows the averaged
2.4
2.2
2
δ PSNR Distortion (dB)
1.8
1.6
1.4
1.2
1 No delay 2 unit delay
0.8
0.6 350
400
450
500
550 600 650 700 Transmission budget (kByte)
750
800
850
The PSNR dierence w.r.t. error free transmission for varying bit budgets and with dierent feedback delay, where the operational SNR value is equal to 16 dB.
Figure 7.
29.5
29
28.5
Averaged PSNR (dB)
28
27.5
27
26.5
26
25.5
Suboptimized product code w/RPI Product code rate 8/10 w/ RCPC code rate 8/9
25
24.5 10
11
12
13
14 15 16 Operation SNR (dB)
17
18
19
20
Performance comparison in the averaged PSNR with dierent operational SNR values by using the proposed protection scheme and the xed protection scheme (where the total product code rate 8/10 and the RCPC inner code rate 8/9).
Figure 8.
PSNR of the proposed system with the same product code rate but a xed inner code-ratio at 8=10. Equal error protection using RCPC without RPI is given for comparison. It is worthwhile to note that the above evaluated performance results are subject to ineÆciency arising from the packetization constraint, which may be magni ed due to the variable size GOB packets of the H.263+ video stream. To address this issue, sizes of source packets have to be regulated to match the size of the channel packet. For example, with embedded coding, it can be performed without any overhead. In case of H.263+, the most promising choice is the sliced data partitioning scheme (Annex V) that allows the regulation of each packet based on the preset bits. The sliced data partitioning also allows internal three-level layering (i.e., the header, the motion vector, and DCT coeÆcients), which may be utilized for size adjustment. 8. CONCLUSION AND FUTURE WORK
A reliable video transmission scheme that provides a tradeo between the source priority and the channel status was investigated in this paper. An adaptation framework that incorporates the RS/RCPC product code with respect to time-varying channel conditions as well as the source priority assignment through RPI was developed. Experiment results show the PSNR improvement of received video through the adaptive product code-ratio selection based on dynamic programming. We are currently re ning our adaptation
29.5
29
Averaged PSNR (dB)
28.5
28
27.5
27
26.5
Suboptimized product code w/RPI Product code with inner code rate 0.8 w/RPI RCPC w/o RPI
26
25.5 10
11
12
13
14 15 16 Operation SNR (dB)
17
18
19
20
Performance comparison in the averaged PSNR with dierent operational SNR values by using a protection solution computed by dynamic programming under equal/unequal error protection and with/without RPI. Figure 9.
framework to cover the adjustable size source (e.g., the sliced data partitioned packet), where the tradeo relationship of size and RPI for packetization eÆciency can be exibly controlled. REFERENCES
1. A. Goldsmith and S.-G. Chua, \Variable-rate variable-power MQAM for fading channels", IEEE Trans. on Communications, vol. 45, no. 10, Oct. 1997. 2. D. Goeckel, \Adaptive coding for time-varying channels using outdated fading estimates", IEEE Trans. on Communications, vol. 47, no. 6, June 1999. 3. K. Balachandran, K. Kadaba, and S. R. Nanda, \Channel quality estimation and rate adaptation for cellular mobile radio," IEEE Trans. on Selected Areas in Communications, vol. 17, no. 7, July 1999. 4. J. Hagenauer, \Rate-compatible punctured convolution codes (RCPC codes) and their applications," IEEE Trans. on Communications, vol. 36, no. 4, April 1988. 5. S. B. Wicker, Error control systems for digital communication and storage. Prentice Hall, NJ, 1995. 6. W. Kumwilaisak, J. Kim, and C.-C. J. Kuo, \Reliable wireless video transmission via fading channel estimation and adaptation", in Proc. Second IEEE Wireless Communication and Networking Conference, Sep. 2000. 7. G. Cote, B. Erol, M. Gallant, and F. Kossentini, \H.263+: video coding at low bit rates", IEEE Trans. on Circuits and Systems for Video Technology, vol. 8, no. 7, Nov. 1998. 8. J.-G. Kim, J. Kim, and C.-C. J. Kuo, \Corruption model of loss propagation for relative prioritized packet video", in SPIE Proc. Applications of Digital Image Processing XXIII, July, 2000. 9. M. Gudmundson, \Correlation model for shadowing fading in mobile radio systems," Electronics Letters, vol. 27, no. 23, Nov. 1999. 10. M. Zonoozi and P. Dassanayake, \Correlation model for shadowing fading in mobile radio systems," Personal, Indoor and Mobile Radio Communications, vol. 2, Nov. 1996. 11. J. Shin, J. Kim and C.-C. J. Kuo, \Content-based packet video forwarding mechanism in dierentiated service networks," in Proc. Packet Video Workshop '2000, May 2000. 12. A. Anastasopoulos and K. Chugg, \An eÆcient method for simulation of frequency selective isotropic Rayleigh fading," in Proc. IEEE 47th Vehicular Technology Conference, vol. 3, 1997. 13. L. Hanzo, C. H. Wong, and P. Cherriman, \Channel-adaptive wideband wireless video telephony," IEEE Signal Processing Magazine, vol. 17, no. 4, July 2000.