Two-way Wireless Video Communication using Randomized Cooperation, Network Coding and Packet Level FEC
Abstract
Two-way real-time video communication in wireless networks requires high bandwidth, low delay and error resiliency. This paper addresses these demands by proposing a system with the integration of Network Coding (NC), user cooperation using Randomized Distributed Space-time Coding (R-DSTC) and packet level Forward Error Correction (FEC) under a one-way delay constraint. Simulation results show that the proposed scheme significantly outperforms both conventional direct transmission as well as R-DSTC based two-way cooperative transmission, and is most effective when the distance between the users is large.
I Introduction
Recently, with the enrichment of mobile terminal devices, real-time applications such as mobile video conferencing have become popular. The design of two-way communication systems for these applications requires a robust and low delay solution that can maintain high data rates. One approach is to allow two users exchange their data with the help of relays. An efficient way of using relays in two-way communication systems is network coding (NC), where the data sent by relays is a function of the data received from both users. The most commonly used NC algorithm sends the difference of two incoming packets from two users by using bit-wise “XOR” [1][2][3].
Simultaneous transmission by multiple relays is considered to be an efficient approach of user cooperation, and can be achieved using a distributed space-time coding (DSTC) [4]. The basic idea is to coordinate and synchronize the relays such that each relay acts as one antenna of a regular STC. However, DSTC places a high requirement on feedback and synchronization among nodes, which is a challenge in dynamic wireless environments where potential relays change over time. Scenarios using DSTC with a fixed number of relays are studied together with NC in [2][3]. To reduce the control overhead of DSTC, Randomized DSTC (R-DSTC) [5] provides a decentralized solution where a variable number of relays are used. In R-DSTC, relays do not need to be aware of the presence (or absence) of other relays and decide autonomously whether to forward or not. Furthermore, they can send packets simultaneously without the need for tight synchronization [6].
In the presence of packet losses, end-to-end feedback and retransmission can be introduced to recover possible errors [2]. However, the use of retransmission is usually avoided or limited for two-way real-time communication due to the stringent delay requirements. Instead, Forward Error Correction (FEC), which requires no feedback from the receiver, can be adopted.
In this paper we will address a two-way cooperative communication system design with delay constraint. As opposed to the approach in [2], we consider a low protocol overhead approach. We integrate R-DSTC [7], network coding and packet level FEC [8] to provide a robust and efficient two-way system with low delay. We analyze different proposed cooperative schemes in an IEEE 802.11g [9] based network and compare their performances with direct transmission.
The rest of this paper is organized as follows: Section II presents the proposed system; Section III gives the problem formulation and optimization; in Section IV simulation results are shown and discussed; Conclusions are addressed in Section V.
Ii System Model
We study a wireless network where two users exchange video sequences with each other. We assume these users are among a set of randomly distributed nodes, all of which are equipped with one antenna and can transmit at different transmission rates supported by the underlying physical layer. We assume the channel between each pair of nodes experience path loss and independent fading that is constant over the transmission time of a single packet. Also each node is only able to send or receive (but not both) at the same time.
In our system (see Fig. 1), after each user transmits a packet to the other user, the relays that can decode both source packets use NC to combine (XOR) the two packets and transmit the combination to both users at the same time. The XORed packet are sent using R-DSTC. This is done by passing the data in the XORed packet through an STC encoder at each relay. The output of the STC encoder is in the form of L parallel streams with each stream corresponding to an antenna in an L-antenna system. Each relay transmits a random linear weighted combination of all L streams. Each receiver estimates the equivalent channel gain using pilot signals, and decodes the R-DSTC signal using a conventionally designed decoder for STC reception. On receiving from relays, each user is able to decode the packet sent by the other user by making use of its own. Or, each user can also decode direct transmission from the other user.
To recover lost packets due to uncorrectable errors at the physical layer, each source estimates the end-to-end packet loss rate, including the effect of the relays, and uses packet level FEC (Reed-Soloman code) to append necessary parity packets when transmitting.
For the baseline direct transmission, we assume user 1 knows the average channel quality (in terms of the average received SNR) between user 2 and itself. User 1 transmits packets to user 2 at rate and FEC rate under a delay constraint. The FEC rate is chosen based on the channel packet error rate (PER) such that user 2 receives the packets with an FEC decoding failure rate less than . Similar considerations also apply to user 2. We refer this system as “Direct Transmission”.
We will also consider another baseline system that uses the relays, but for sequential transmission of each user’s packets, as opposed to NC. In this case, user 1 transmits packets to user 2 at rate . For each packet, a node that receives the packet correctly becomes a relay. Note that the set of relays can be different from one packet to another. All such nodes re-encode and relay the packet simultaneously to user 2 at a rate of using R-DSTC. User 2 also attempts to decode packets sent from user 1 directly. The FEC rate here is determined based on the end-to-end PER from user 1 to user 2 such that user 2 decodes all the source packets (from the received source and parity packets, from either user 1 directly or through the relays) with an FEC decoding failure rate less than . Similar considerations apply to that from user 2 to user 1. We refer this system as “R-DSTC”.
For the proposed R-DSTC+NC approach, we use the common relays that receive both users’ packets. In this case user 1 transmits a packet at rate to user 2 (decoded by some of the nodes, denoted as ) and user 2 transmits a packet at rate to user 1 (decoded by nodes ). Those nodes in form the relay set and send the XOR of the two received packets at a rate of to both users using R-DSTC. Each user can correctly recover the other user’s packet if it receives the packet directly from the other user or the XOR packet from the relay set. Similarly, we determine the end-to-end FEC rate from user 1 to user 2 such that user 2 receives the packets with an FEC failure rate less than . This system will be called as “R-DSTC+NC”.
Iii Optimization of Transmission Parameters
There are various system parameters that must be determined, including the transmission rates at each hop, the FEC rate at the source, FEC block size, and the transmission time of each hop. As mentioned earlier, the FEC rate is determined so that the end-to-end FEC decoding failure rate is below a threshold . We choose to be sufficiently low so that the packet loss effect in the decoded video is negligible. Under this strategy, video quality is directly proportional to the useful video rate from user 1 to user 2, and from user 2 to user 1, . We further require that the time duration of video data (corresponding to a certain number of video frames) that form an FEC block from each user to be under a delay threshold , which affects the total one-way delay. This is because a receiver can decode an FEC block only after all video data inside this block becomes available at the sender (which takes time), processed by the video encoder and then the FEC encoder, and finally transmitted. is the minimal one-way delay from video capture at the sender to video display at the receiver. In practice, video encoding, FEC encoding, transmission, FEC decoding and finally video decoding will add additional delay. Considering that maximum one way delay that is acceptable for video call applications is typically below 350 ms [10], is set to 150 ms in this work.
We determine optimum operating parameters (e.g. ) to maximize the average video rate, , under the delay constraint. While deriving the video rate, we assume that only a portion of the wireless transmission air time is allocated for the two-way video call, and denote this portion (called effective data ratio) by . We further assume the packet size is a constant, denoted by bits. We next derive the relation between the achievable video rates and the operating parameters of different schemes in Section II, and describe how to optimize the operating parameters.
Iii-a Scheme I: Direct Transmission
For the direct system, we consider a rate adaptive direct transmission scheme [8] under the delay constraint. Note that video packets in one FEC block from both senders must be delivered within time duration, to sustain the real-time two-way communications. Because we only use portion of the air time for the video call, the available transmission time is further reduced to . The total transmission time is divided into two phases. In the first phase (using portion of the total time ), user 1 transmits its data (both source and parity packets) to user 2; similarly in the second phase (using portion of ) user 2 transmits its data to user 1. The total number of packets that can be sent by user 1 with a transmission rate of is:
(1) |
Note that since , and are fixed, is a function of and . Among the packets, we must determine the number of source packets and the number of parity packets , so that . The ratio is the FEC rate. We assume the use of a perfect code (such as Reed-Solomon (RS) code) so that we can recover all the source packets as long as the number of lost packets is at most .
Let denote the average packet error rate (PER) from user 1 to user 2. It depends on the distance between two users, and transmission rate , and can be determined by channel simulations. For a given , and assuming the packet loss events are i.i.d., the probability of receiving at least packets out of packets at user 2 can be formulated as:
(2) |
The FEC decoding failure rate from user 1 to user 2 is . We find through numerical search the maximum , such that . Because is a function of , is a function of and , is also a function of and , denoted by .
After the computation of , the video rate from user 1 to user 2 can be expressed as:
(3) |
Similarly, the video rate from user 2 to user 1 is:
(4) |
For a given distance between the two users, we search over all sustainable (, , ) through an exhaustive search to choose the optimum set that maximizes the average video rate. Note that the candidate rates and time division in all simulations in this paper are from a discrete space, with the rates chosen from those provided in the IEEE 802.11g standard.
Iii-B Scheme II: R-DSTC
For the system using R-DSTC, we similarly divide into two phases. In phase I, using portion of , user 1 transmits packets (both source and parity) to user 2, using two hops transmission for each packet. In the first hop, user 1 sends the packet using rate . In the second hop, all nodes receiving this packet relay it to user 2 using R-DSTC at rate . The total time needed to transmit one packet is . Therefore the total number of packets that can be sent over the duration is:
(5) |
Similarly as in Scheme I, we can use (2) to get the maximum given . However, the in (2) now depends on , , the user distance and node distribution. This is because node distribution affects who can act as relays for given , and it also affects whether user 2 can receive from these relays, for given . For a given node placement, we determine from each pair of candidate and through channel simulations. The useful video rates can be found using equations similar as (3) and (4). We search over all candidate , , , , to maximize the average video rate.
Iii-C Scheme III: R-DSTC+NC
For the system using R-DSTC and NC, we let user 1 send a packet at rate , user 2 send a packet at rate , and those nodes who receive both packets XOR the two packets and send the resulting packet using R-DSTC at rate . The total time needed to transmit one packet from each sender is . The total number of packets that can be delivered by each sender over a duration of is:
(6) | |||||
Given , , , and the node placement, one can find the end-to-end PER, (from user 1 to user 2) and , which are different in general. Then (2) is used to determine the number of source packets and , for given . We note that although the total numbers of packets in each direction must be the same, the numbers of source packets can differ. For the direction with a better channel condition, more source packets can be sent. The useful video rates can be expressed using equations similar as (3) and (4). We search over all candidate , , to choose the optimum parameter set that maximizes the average video rate.
To ensure all schemes use the same amount of total power, we use the normalized power consumption at relays such that if K nodes act as relays, then 1/K power is assigned at each node. Due to the random nature of fading, the exact number of relay nodes at each fading realization of the network is unknown. To avoid information interchange between nodes and relays, we compute the average number of relays based on simulations for each ( and ) for each scheme (R-DSTC and R-DSTC+NC) and use this number to normalize the power.
Nodes who can receive packets from user 1 can be around the user in all directions. Those nodes who are far away from user 2 are not likely to transmit correctly to user 2. Assigning a fraction of power to them is not energy-efficient, especially when the nodes are densely distributed. Therefore, we re-arrange the transmission order for Scheme II such that two users transmit in the first two hops while only those nodes who received packets from both directions relay the packets to their destinations separately in the last two hops. We refer this scheme with hop reordering as “R-DSTC-HR”.
Iv Simulation Results
We use simulations to obtain the end-to-end PER under different scenarios. The bit error rate (BER) of a single link is first acquired through numerical simulations [7], for given transmission rate and fading level. The PER is then calculated following [7]. Given a fading level, the convolutionally coded bits of a packet are randomly flipped according to the channel BER and the reception of this packet is determined after channel decoding. We assume the fading level is constant over each packet duration, and it changes independently between packets. For each scheme, we simulate transmission of 1000 packets with independent fading levels for each node placement, and then determine the average PER.
In the simulations, we assume two users are placed among a set of randomly uniformly distributed nodes with two different node densities, each of which having 15 different node distributions. For each node density, simulations are done at several user distances. We assume Bytes, and set to 150 ms in our simulations. We study an IEEE 802.11g based network and choose transmission rates from [6 9 12 18 24 36 48 54] Mbps for both user transmission and relay transmission. We only consider transmission rates that lead to end-to-end PER less or equal to 25%, as a link becomes unreliable when the PER 25% [7].
For the FEC computations, we choose the number of parity packets such that the probability of packet level FEC decoding failure is below . This threshold is chosen based on the observation that when using an error-resilient video decoder, there is no observable quality degradation [7].
We search all possible combination of parameters (transmission rates and time partition) for each node placement to get their corresponding end-to-end PERs and find the parameter set yielding maximal average useful video rate. This rate is further averaged over different node placements under the same node density.
Fig. 2 compares the achievable average video rates by different schemes under different inter-user distances, for two assumed node densities. In Scheme II and III we allow the time slot for relay transmission to be 0, which reduces the system operation to direct transmission. We can see that the R-DSTC provides gain over direct transmission, with more gains at longer user distance and higher node density. It’s also observed that R-DSTC-HR improves the rate over R-DSTC when the user distance is large by concentrating its power. Finally R-DSTC+NC provides additional significant gain over R-DSTC-HR.
A major difference between R-DSTC+NC and R-DSTC systems is that the number of hops is reduced from 4 to 3. If the transmission rates at all hops are the same, a performance gain of 4/3 is expected (provided that the end-to-end packet loss rates are also the same under these same transmission rates). However, the optimal parameter set yielding maximum video rate does not always use the same transmission rate at all hops. When the rates are unequal, the ratio of for Schemes III and II (see (5) and (6)) can be different from 4/3. Results in Fig. 2 show that at user distance of 100 m, the gain of R-DSTC+NC over R-DSTC-HR is quite close to 4/3. At smaller distances, smaller gains are observed, whereas at larger distances, larger gains are observed.
To evaluate the video quality improvement due to the video rate increase, PSNR of decoded video versus user distance are plotted in Fig. 3. All the curves in Fig. 3 are acquired by mapping the sustainable video rates into their corresponding PSNR values, which are obtained from the experimental video coding results using H.264/AVC reference software JM [11] for 704x576 video “Terrace” and “Harbour”. We note that typically 1 dB gain in PSNR corresponds to noticeable visual improvements. From Fig. 3, as the user distance increases, video quality in all schemes decrease with schemes using relays having a slower rate of quality degradation. Note that at the longest distance considered, direct transmission gives PSNR at 26-27 dB, which corresponds to poor perceptual quality. R-DSTC-HR provides considerable gain over Scheme I, and R-DSTC+NC provides additional 1-2 dB gain, leading to significantly better quality.
V Conclusion
In this paper, we propose a two-way video communication scheme using NC and R-DSTC along with packet level FEC to enable error resilient video transmission without feedback. We search the transmission rates and time partition under the given delay constraint, to maximize the average useful video (data) rate at both users. We show that the proposed scheme significantly outperforms both rate-adaptive direct transmission and using R-DSTC scheme only. We also observe that relaying is more beneficial when the node density is high and the distance between users is large.
In the future, we plan to extend this work to next generation cellular networks, such as 3GPP LTE and IEEE 802.16. In particular, we will used tractable stochastic geometry models [12] to capture the effect of base station locations and user distributions in the network to the performance of randomized cooperation based video conferencing applications.
References
- [1] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard and J. Crowcroft, “XORs in the Air: Practical Wireless Network Coding”, IEEE/ACM Transactions on Networking, Vol. 16, Iss. 3, pp: 497-510, June 2008.
- [2] L. Lv, H. Yu and J. Yang, “Opportunistic Cooperative Network-Coding Based on Space-Time Coding for Bi-Directional Traffic Flows”, Fourth Workshop on Network Coding, Theory and Applications (NetCod 2008), 2008.
- [3] T. Cui, F. Gao, T. Ho and A. Nallanathan, “Distributed Space–Time Coding for Two-Way Wireless Relay Networks”, IEEE Trans. on Sig. Proc., Vol. 57, Iss. 2, pp: 658-671, 2009.
- [4] V. Tarokh, H. Jafarkhani, and A. Calderbank, “Space-time block codes from orthogonal designs”, IEEE Trans. on Information Theory, Vol. 45, No. 5, pp: 1456-1467, July 1999.
- [5] B. S. Mergen and A. Scaglione, “Randomized space-time coding for distributed cooperative communication”, IEEE Trans. on Sig. Proc., Vol. 55, Iss. 10, pp: 5003-5017, Oct. 2007.
- [6] M. Sharp, A. Scaglione and B. Sirkeci-Mergen, “Randomized Cooperation in Asynchronous Dispersive Links”, IEEE Trans. on Communication, Vol. 57, No. 1, pp: 64-68, Jan. 2009.
- [7] O. Alay, P. Liu, Y. Wang, E. Erkip and S. Panwar, ”Cooperative Layered Video Multicast using Randomized Distributed Space Time Codes”, IEEE Trans. on Multimedia, Vol. 13, No. 5, pp: 1127-1140, Oct. 2011.
- [8] O. Alay, T. Korakis, Y. Wang and S. Panwar, “Dynamic rate and FEC adaptation for video multicast in multi-rate wireless networks”, ACM/Springer Mobile Networks and Applications (MONET), Vol. 15, No. 3, pp: 425-434, June 2010.
- [9] LAN MAN Standards Committee of the IEEE Computer Society, ANSI/IEEE Std 802.11, “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: High-speed Physical Layer Extension in the 2.4 GHz Band”, IEEE 802.11 Standard, 1999.
- [10] J. Jansen, P. Cesar, D.C.A. Bulterman and et al, “Enabling composition-based video-conferencing for the home”, IEEE Trans. on Multimedia, Vol. 13, Iss. 5, pp: 869-881, Oct. 2011.
- [11] JM, H.264/AVC reference software, available online: http://iphome.hhi.de/suehring/tml/download/
- [12] J. G. Andrews, F. Baccelli and R. K. Ganti, “A tractable approach to coverage and rate in cellular networks”, IEEE Trans. on Communications, Vol. 59, Iss. 11, pp: 3122-3134, Nov. 2011