Abstract
The network coding technique is promising for improving the performance of video communication in wireless multimedia sensor networks. However, some special characteristics of existing wireless network coding mechanisms degrade the performance of video data delivery. This work begins with a thorough investigation and understanding of the performance limitations of existing wireless network coding mechanisms. On this basis, we propose an Adaptive Opportunistic Network Coding mechanism (AONC) to improve the transmission quality of video stream in wireless multimedia sensor networks. First, we propose a novel asymmetric coding method to process the video data of different lengths. The aim is to improve data exchange gain. Second, we design an opportunistic forwarding strategy based on dynamic priority to ensure that packets have a better chance to be coded and transmitted, thus achieving much higher throughput. Finally, we present a traffic-aware data scheduling algorithm, working together with the above network coding mechanism, to reduce the loss of potential coding opportunities. Our simulation results demonstrate that, compared with the existing typical network coding mechanisms, AONC can greatly enhance video transmission quality and efficiently utilize bandwidth and energy resources.
1. Introduction
As the bandwidth of wireless channels increases and low-cost hardware device such as CMOS cameras appears, wireless multimedia sensor networks (WMSNs), that is, networks of wireless embedded devices that allow retrieving video and audio streams in real time from the physical environment, have drawn tremendous attention from academia and industry [1–3]. WMSNs can enhance a lot of potential applications such as video surveillance, traffic enforcement, control systems, remote health monitoring, and industrial process control. Multimedia sensors in WMSNs have severe resource constraints including bandwidth, energy, storage, processing capability, and achievable data rate [4], while the delivery of multimedia data is resource demanding. These constraints and challenges, in combination with the transmission reliability required by video applications, make video communication in such environment a challenging proposition.
Network coding is one of the most important achievements on the theory of information processing and transmission. The concept is first proposed for achieving the min-cut capacity in the context of multicast communication [5]. Since then, there are various studies concerning theoretical limitations and practical applications of network coding. COPE [6] is the first practical network coding mechanism for supporting efficient unicast communication in wireless network. Motivated by COPE, recent research includes loss-aware coding mechanism [7, 8], opportunistic forwarding strategy [9, 10], coding-aware routing [11–13], rate-adaptive transmission scheme [14–16], QoS-aware scheduling algorithm [17–19], data broadcast protocol [20, 21], and so forth. These studies demonstrate that network coding has an excellent performance in terms of network throughput, energy efficiency, robustness, and so forth. As a result, network coding is a promising technique for supporting video streaming over WMSNs. However, real-time video data transmission is fundamentally different from traditional data communication. Some special characteristics of existing network coding mechanisms degrade the performance of wireless video delivery. In recent years, the existing typical network coding mechanisms proposed in literature do not take the characteristics of video streaming into account and cannot be used directly in wireless video delivery.
This work focuses on performance improvement of video communication in WMSNs. We begin with a thorough investigation and understanding of the performance limitations of existing typical wireless network coding mechanisms. On this basis, we propose an Adaptive Opportunistic Network Coding mechanism (AONC) in WMSNs. The main mechanisms of the AONC consist of three parts. First, unlike these traditional network coding methods, AONC adopts a novel asymmetric coding method to improve data exchange gain efficiently. Second, an opportunistic forwarding strategy with dynamic priority is designed to ensure that packets have a better chance to be coded and transmitted by one forwarder, thus achieving much higher throughput. Finally, we present a traffic-aware data scheduling algorithm, working together with above network coding mechanism. The purpose is to reduce the loss of potential coding opportunities. Our simulation results show that, compared with the existing typical network coding mechanisms, AONC improves the video transmission quality greatly and achieves significant gains in terms of bandwidth and energy efficiency.
The remainder of this paper is organized as follows. Section 2 presents a thorough investigation and understanding of the performance limitations of combining network coding and video streaming. In Section 3, we propose the AONC and present the details of its implementation. Section 4 involves thorough analysis and evaluation of the AONC performance in simulation methodology. Finally, Section 5 concludes this paper and outlines some perspectives for future work.
2. Problem Description
Although these existing wireless network coding mechanisms have demonstrated its capability of improving the network throughput, they still cannot efficiently support video communication. The aim of this paper is to overcome these limitations. We now describe the limitations from the following three aspects.
(1) Traditional Symmetric Coding Method Degrades the Performance of Video Communication
To illustrate the performance limitation of traditional symmetric coding method, we consider two simple examples shown in Figure 1. As shown in Figure 1(a), the data packets of different lengths saved in the output queue are divided into three sets, and we assume that data packets in any two sets meet coding condition. We will present the model of output queue later in Section 3.1. Figure 1(b) provides an example of a simple network coding method, that is, XOR operation in 1 : 1 symmetric mode, to demonstrate the restriction of this coding method. The length of an encoded packet is approximately equal to the size of the largest packet. Due to the difference in the length of video data packets, the coding space utilization is maintained at a low level. A node needs to transmit three times. Obviously, this method is inefficient, and the throughput gain is hard to be improved greatly. Considering the above severe limitation, we propose a novel asymmetric coding method. Figure 1(c) shows the advantage of XOR operation in asymmetric mode. A node only needs to transmit once. The method can adapt the video data of different lengths and has great potential to improve the performance of video communication. We will present the details of its implementation later in Section 3.2.

Packet mixing of different methods.
(2) The Priority Assignment of Coded Packets May Be Unreasonable
To maximize coding opportunities for throughput gain, a mechanism is needed to assign coded transmissions higher priority in scheduling. A common method to assign priority for a coded packet is based on the number of original packets. The greater the number of original packets is, the higher the priority of a coded packet is assigned. However, due to the difference in the length of video data, this method could not accurately indicate the actual amount of original data carried in a coded packet of a certain length. In addition, for the reason that there are only a few priority levels, collisions are most likely to occur. This property enables us to consider an opportunistic forwarding strategy based on dynamic priority. We will discuss it later in Section 3.3.
(3) With Traditional Data Scheduling Mechanism, Some Potential Coding Opportunities May Be Lost
Compression algorithms such as MPEG that are widely used in low-bitrate videos employ coding prediction, motion compensation, and varied length coding technologies to achieve a high efficient compression. However, the compressed video stream is a variable bitrate (VBR) and has very complex traffic characteristics. As a general queue scheduling mechanism, FIFO does not take these factors into account, resulting in loss of potential coding opportunities. Here we, respectively, give two examples, illustrated in Figures 2 and 3, to explain the reason why some potential coding opportunities are lost.

Data scheduling mechanism analyses (Case 1).

Data scheduling mechanism analyses (Case 2).
Figure 2(a) shows a general network scenario where there are five wireless nodes. Suppose that there exist three different flows, that is,
Figure 3(a) shows another general network scenario where there are five wireless nodes. Suppose that there exist four different flows, that is,
AONC is designed to seize these potential coding opportunities effectively. The design details will be present later in Section 3.4.
3. Adaptive Opportunistic Network Coding Mechanism
We first describe our network coding model and introduce the notations used in this section. On this basis, the main mechanisms of the AONC are comprised of the following three parts: (1) an asymmetric coding method is used to improve data exchange gain; (2) an opportunistic forwarding strategy with dynamic priority is designed to achieve higher throughput; (3) a traffic-aware data scheduling algorithm is used to reduce the loss of coding opportunities.
3.1. Network Coding Model
We consider the application of network coding in WMSNs. We assume that intermediate nodes can perform network coding operations and combine packets from multiple incoming flows into a single outgoing packet. This packet is broadcasted to the entire neighborhood, thus reaching corresponding neighboring nodes. We assume that node network interface is set in promiscuous mode. The sensor nodes can snoop on all transmissions in their neighborhood and store the overheard data packets, whether they are intended for them or not. In this way, the sensor nodes can know the overheard and routed packets that each neighboring node possesses, such that it can make network coding operations based on this information.
As shown in Figure 4, each sensor node groups data packets in the output queue into data flows, assembling data packets of the same previous forwarder and next-hop receiver into one flow. The set of data flows is expressed as

Flow-oriented virtual queue structure.
We define “coding flows” as flows that transmit via an intermediate node, and their packets have opportunities to be encoded. The set of groups of coding flows is defined as
The set of signs of nonempty flows in
We define parameter φ to determine whether network coding conditions are met or not. If yes, φ is set to be 1, and otherwise, φ is set to be 0
The summarized notations in this paper are listed in Table 1.
Notations used in this work.
3.2. Asymmetric Network Coding Mechanism
3.2.1. Algorithm Design and Analysis
When a sensor node wants to send data, according to (2), if φ is set to be 1, the proposed asymmetric coding method can be used. The core idea is as follows. We, respectively, select the appropriate data packets from each flow in a predetermined group of coding flows and then splice these data packets belonging to the same flow. Finally, we combine corresponding splicing units in a single broadcast transmission. This method can greatly increase the amount of original data carried of a coded packet, thus increasing the information content per transmission. We believe that it is beneficial to provide better quality of video in network bandwidth constrained environments. The optimal selection for data packets belonging to one flow in a group of coding flows with maximize utilization can be formulated as follows:
Let
Definition 1.
Space utilizationis a metric which is used to measure the amount of original data carried of a coded packet of a certain length.
This metric accurately reflects the enhancement of transmission efficiency that can be achieved during the transmission period of encoded packet. The space utilization based on asymmetric coding method can be expressed as
Traditional symmetric coding method uses FIFO queue scheduling mechanism; that is, the first data packet belonging to one flow (i.e.,
Among all possible candidate data packets, AONC selects appropriate parameters k and S that maximizes space utilization
Theorem 2.
The proposed asymmetric coding method can provide higher space utilization than symmetric coding method can.
The proof is as follows:
Definition 3.
Data exchange gain indicates that the number of transmissions reduced by a successful encoded packet exchange.
Let ASG(
Combining (9) and (10), we have
The throughput provided by a successful coded packet exchange, which is based on asymmetric coding method, can be expressed as follows:
According to (8) and (11), we determine that asymmetric coding method has great potential to improve the performance of wireless video communication.
Algorithm 1 shows the pseudocode for the packet selection algorithm based on proposed asymmetric coding method.
(1) set i, J and ASURmax to be 0 (2) for (3) for each (4) calculate (5) end for (6) end for (7) for (8) for (9) calculate ASUR( (10) if (ASUR( (11) ASURmax = ASUR( (12) (13) (14) end if (15) end for (16) end for
3.2.2. Design Details
The communication modules of sensor node are based typically either on IEEE 802.11 [22] standard or on IEEE 802.15.4 [23] standard. IEEE 802.15.4 compliant radio can only support a maximum rate of 250 kbps. At such low data rates, video streaming is possible only if sufficient preprocessing steps, such as dimensional reduction and descriptive representations (color histograms, object shape) are undertaken [24]. As a result, it cannot provide acceptable real-time video transmission in WMSN. Our solution is implemented on IEEE 802.11.
AONC performs packet coding and tagging at the MAC layer. It requires a modification to the DATA and ACK frame headers of the existing 802.11 MAC standard. Figure 5 shows the header fields modified or added for AONC. If encoded, it has a list RA[CFN] about receiver addresses, where CFN denotes the number of coding flows in a coded packet. PktNum[CFN] represents the number of original packets belonging to corresponding flow. For all the encoded packets, the corresponding list PktInfo[CFN][PktNum[CFN]] is used to record packet ID and packet length. The packet ID is generated by creating a 4-byte hash value out of the address of source node and the sequence number carried by the packet, similar to COPE [6]. The packet length is used to obtain the original data packets of a splicing unit. In order to efficiently acknowledge a splicing unit, we extend the structure of original ACK frame to include a new field, that is, PktID[PktNum]. In this way, a single ACK frame can acknowledge multiple data packets of a splicing unit.

MAC headers of AONC.
3.3. Opportunistic Forwarding Strategy Based on Dynamic Priority
The diversity among the intended forwarder or potential forwarder helpers provides the packet various options to be combined with different numbers of and flows of packets, or not coded at all. To maximize throughput provided by a coded packet, AONC adopts opportunistic forwarding strategy based on a dynamic priority assignment strategy. The priority settings should take data exchange gains and other factors into account. BEND [9] assigns coded transmissions higher priority, based on the number of the original packets, in packet scheduling. However, due to the difference in the length of video data, it cannot accurately indicate the actual amount of original data carried in a coded packet of a certain length. Considering the characteristics of video data, we propose a dynamic priority transmission strategy. When the forwarder nodes contend with each other to transmit their scheduled packets, AONC prioritizes them by assigning them dynamic back-off durations before medium access based on the metric; that is, parameter Z, defined in (7), used to indicate the degree of importance of a coded packet. The prioritization is achieved as follows:
In this way, an encoded packet with higher space utilization is transmitted with a higher priority, thus achieving enhancement of transmission efficiency. For the noncoded data packets, parameter Z in (13) is set to be 1. On the one hand, it coordinates potential forwarders' accesses to make best use of the coding repository. The nodes with more efficient combination (i.e., an encoded packet with higher space utilization) can capture the media with higher possibilities. This is beneficial for improving data exchange gain and throughput gain. On the other hand, this method is necessary to effectively alleviate such contention and reduce the collision probability, thereby improving the video transmission reliability.
3.4. Traffic-Aware Data Scheduling Algorithm
3.4.1. Traffic Prediction Method
A prediction method is introduced to predict arriving traffic volume. On this basis, we design a traffic-aware data scheduling mechanism. The aim is to reduce the loss of coding opportunities.
In this work, we make use of adding-weight one-rank local-region method, based on chaos time series theory, to predict the arriving traffic volume in a short period of time. The essence of this method is to find
The above prediction method can be used to predict traffic volume for each fixed interval of time. We refer to the interval of time as I.
A simulation experiment was designed to verify the applicability of the predicted method. Four different YUV QCIF video clips, that is, foreman, hall, coastguard, and mother-daughter [25], are used as video sources in WMSNs. We randomly select a video forwarding node and then collect the traffic information received from a video flow in a period of time. Data in successive intervals is collected. The interval I is set to be 0.1 s. We use the above prediction method to obtain predicted traffic volume and compare the bursty characteristic of it with that of original traffic volume. Figure 6 shows the comparison of the original traffic data and the predicted data. We can observe that there is no significant difference between original data and predicted data in the first 30 points, while the difference gradually increases in subsequent 30 points. The chaotic sequence is highly sensitive to the initial value. As time goes by, the prediction error is getting larger and larger. In order to obtain a relatively accurate data, we set δ to be 1 in our experiments, that is, predicted traffic volume within neighboring time interval

Comparison of bursty nature of original data and prediction data.
3.4.2. Algorithm Design
We define parameter ω to determine whether the traffic-aware packet scheduling mechanism can be used when a sensor node needs to send data. The mechanism can be used if ω is set to be 1 and is set to be 0, otherwise
The main idea of data scheduling algorithm is as follows. Data packets belonging to U are selected for transmission if
Let
We estimate the amount of queued data belonging to
The mean and variance of
Reducing the variance is conducive to reduce the loss of coding opportunities. A natural step is to select appropriate flow that minimizes the variance. As a result, the corresponding flow to be selected can be denoted as follows:
The pseudocode for flow selection is summarized as Algorithm 2.
(1) set iand (2) if ( (3) selects (4) (5) return; (6) end if (7) for (8) if ( (9) calculate (10) if ( (12) for (13) if ( (15) end if (16) end for (17) end if (18) end if
4. Performance Evaluation
This section involves thorough performance analyses and evaluation of AONC in simulation methodology. We design and conduct a series of simulation experiments. Section 4.1 describes the evaluation metrics and detailed simulation parameter settings. Section 4.2 presents and analyses the simulation results.
4.1. Performance Metrics
In this work, we use network simulator NS-2 [26] to implement the proposed algorithms. We now evaluate the AONC performance for supporting video communication in various scenarios, and compare it with typical network coding mechanisms, that is, COPE and BEND. Four different YUV QCIF video clips, that is, foreman, hall, coastguard, and mother-daughter [25], are used as video sources for our experiments. Each video clip is encoded as a standard MPEG-4 sequence, which consists of 300 video frames. Each video frame is fragmented into packets before transmission, and the maximum transmission packet size is 1000 bytes. The structure of the group of pictures (GOP) is IBBPBBPBB (
Three case studies are designed and conducted for evaluating the video transmission performance. We begin with a cross topology. Each peripheral node has three neighbors (the center and two other orthogonal peripheral nodes) and the center node has four neighbors (the peripheral nodes). We place four video flows originating from each of the peripheral nodes and terminating at the opposite node. Next, we use a 3-tier scenario, where tiers 1, 2 and 3 each consist of 3 nodes, referred to as 3-3-3 topologies, respectively. We set the separation distance between tiers, so that video flows between tiers 1 and 3 must use tier 2 node(s) as forwarders.
The distance among nodes of the same tier is small. We place four video flows randomly between tiers 1 and 3, two in the forward direction and two in the reverse direction. Then we generalize to a 5 × 5 mesh topology to test the performance of AONC in supporting video streaming in larger networks. Under this scenario, a nonperipheral node has eight neighbors, and a corner node has three neighbors. The diameter of the network is four hops. There are two video flows (using foreman and hall as video sources) and three constant bitrate (CBR) flows in the scenarios. The packet rate of these CBR flows is set to be 10 packets per second.
4.2. Simulation Experiments and Analyses
We now analyze and evaluate the performance of proposed AONC in terms of video transmission quality, network throughput, and energy utilization efficiency.
Figures 7(a)–7(c), respectively, provide PSNR value for each video frame in different scenarios. Note that the value is the average of each video frame of different video sequences. As shown in the result, AONC provides the best video transmission quality, next is BEND, followed by COPE. The 802.11 scheme, as expected, performs poorly. When using AONC, the PSNR values fluctuate little, and the average is higher. These adaptive schemes in AONC are not only able to achieve higher network throughput, but also improve the stability of the video transmission.

PSNR value for each video frame.
Figures 8(a)–8(c) show the average PSNR value of each video clip in different scenarios. On the one hand, the average PSNR of AONC is higher than that of the other three schemes. On the other hand, when using AONC, we can see that there is a little difference between the average PSNR values of different video clips. Therefore, it can be concluded that AONC can provide higher quality of video and higher reliability of video transmission. Actually, the video quality (in PSNR) of received sequences, achieved by AONC, is close to that of the original encoded sequences (no Error).

Average PSNR value for each video clip.
Figure 9 illustrates the reconstructed foreman video in 3-tier scenario, demonstrating that the received video quality of our proposed AONC is better than that obtained with the other three schemes. It is well known that video transmission has a high bandwidth requirement. However, the coding method and data scheduling scheme of existing network coding mechanisms degrade the network bandwidth utilization. As shown in Figures 9(b)–9(d), a large amount of packets are lost when BEND, COPE, and 802.11 are used to transmit video data, thereby causing interruptions, freezes, or jerkiness in the received video signal.

Visual comparison of the reconstructed video (foreman).
The bursty is one of the characteristics of video streaming. With the symmetric coding method, these traditional network coding mechanisms could not efficiently absorb video traffic and thus have limitations on the enhancement of throughput when available bandwidth is limited and insufficient to meet demand. Using traffic-aware data scheduling algorithm, AONC has the capability to capture these potential coding opportunities, thus eliminating the performance limitation in BEND and COPE. Figure 10 compares the throughput achieved of different mechanisms under corresponding scenarios, where cross and 3-tier topology may provide much more coding opportunities than 5 × 5 mesh topology. As shown in Figure 10(a), the difference of average receiving data rate between the cross topology and the 3-tier topology is the greatest, and AONC always performs better than the other three mechanisms. The throughput gains of AONC, BEND and COPE over 802.11 are plotted in Figure 10(b). We can observe that the throughput gain of AONC is obviously larger than that of BNED, and COPE. The gain we have is in the improvement of end-to-end throughput and reduction in bandwidth consumption.

Throughput.
Figure 11 shows the energy utilization efficiency of different mechanisms. Here we define the energy utilization efficiency as the number of obtained decodable video frames per unit of energy consumption. In WMSNs, sensor nodes consume most energy for data transmission and reception. Obviously, the enhancement of data exchange gain can greatly reduce energy consumption for data transmission. Comparing with the other three schemes, AONC achieves significant improvement in energy utilization efficiency.

Energy utilization efficiency.
5. Conclusion
The limited resources identify significant challenges for the reliable video transmission over WMSNs. There is great potential for network coding to enhance the performance of video transmission and bandwidth utilization. Recent studies demonstrate that network coding is a promising technique for performance improvement of video communication over WMSNs. However, these existing wireless network coding mechanisms have three limitations: (1) traditional symmetric coding method degrades the performance of video communication; (2) the priority assignment of coded packets may be unreasonable; (3) some potential coding opportunities may be lost when using traditional data scheduling mechanism. The aim of this paper is to overcome these limitations. In particular, we propose an Adaptive Opportunistic Network Coding mechanism (AONC).
The main contributions in our work are as follows. First, considering the characteristics of compressed video stream, we introduce a novel asymmetric coding method to improve data exchange gain. Second, an opportunistic forwarding strategy with dynamic priority is designed to ensure that packets have a better chance to be coded and transmitted. The purpose is to achieve higher throughput. Finally, we present a traffic-aware data scheduling algorithm, working together with above network coding mechanism, to reduce the loss of potential coding opportunities. We implement the AONC in NS-2 and carry out extensive evaluation. The simulation results demonstrate that, compared with the existing typical network coding mechanisms, AONC greatly improves the video transmission quality and achieves significant gains in terms of bandwidth and energy efficiency. As a result, we determine that the proposed new techniques are feasible for video communication in WMSNs.
Our ongoing work focuses on the implementation and validation of the proposed algorithms on the prototype system. In addition, one possible future direction of this work is how to provide resiliency network coding opportunity when traffic congestion occurs.
Footnotes
Acknowledgments
The authors would like to thank the anonymous reviewers for the constructive and valuable comments. The authors gratefully acknowledge the support and financial assistance provided by the National Natural Science Foundation of China under Grant no. 60673185 and 61073197, the Natural Science Foundation of Jiangsu Province under Grant no. BK2010548, the Scientific and Technological Support Project (Industry) of Jiangsu Province under no. BE2011186, the State Key Laboratory Program for Novel Software Technology (Nanjing University) under Grant no. KFKT2010 B08, and the Research Innovation Program for College Graduates in Jiangsu Province under Grant no. CXLX11 0262.
