International Journal of Distributed Sensor Networks

Volume 2012 (2012), Article ID 565604, 13 pages

doi:10.1155/2012/565604

Research Article

An Adaptive Opportunistic Network Coding Mechanism in Wireless Multimedia Sensor Networks

Hang Shen,1,2 Guangwei Bai,1,2,3 Lu Zhao,¹ and Zhenmin Tang¹

¹Key Laboratory of Intelligent Perception and System for High-Dimensional Information of Ministry of Education, Nanjing University of Science and Technology, Nanjing 210094, China

²State Key Laboratory of Novel Software Technology, Nanjing University, Nanjing 210093, China

³Department of Computer Science and Technology, Nanjing University of Technology, Nanjing 210009, China

Received 5 September 2012; Accepted 21 November 2012

Academic Editor: Ruchuan Wang

Copyright © 2012 Hang Shen et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

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.

(a) Data packets in output queue (assume that data packets in any two sets meet coding condition)

(b) XOR operation in 1 : 1 symmetric mode (a node needs to transmit three times)

(c) XOR operation in asymmetric mode (a node only needs to transmit once)

Figure 1: 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.

(a) Network coding scenario (- meets coding condition)

(b) The amount of queued data of different flows in output queue at

(c) Arriving traffic volume from different flows during (,

Figure 2: Data scheduling mechanism analyses (Case 1).

(a) Network coding scenario (- and - meet coding condition)

(b) The amount of queued data of different flows in output queue at

(c) Arriving traffic volume of different flows during (,

Figure 3: 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, , , and , and only - meets coding condition. There has no coding possibility at current time , if the amount of queued data of different flows is shown in Figure 2(b). We assume that arriving traffic volume from different flows during the next short interval    is shown in Figure 2(c). In this case, some potential coding opportunities may be lost if data packets of    are sent more during interval  .

Figure 3(a) shows another general network scenario where there are five wireless nodes. Suppose that there exist four different flows, that is, , , , and . Under this scenario, - and - meet coding condition. In accordance with the amount of queued data from different flows shown in Figure 3(b), node has no coding possibility. We assume that arriving traffic volume of different flows of the next short interval    is shown in Figure 3(c). In this case, some potential coding opportunities may be lost if data packets of    are sent more during interval  .

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 , , where denotes the number of flows in . Let , be the th flow in , where and , respectively, represent the th data packet of and corresponding number of packets in it. Let be the length of , where denotes the length of maximum transmission unit. Each sensor node monitors flow information in real time and deletes when in a period of time.

Figure 4: 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 , , where represents the number of groups of coding flows in . The th group of coding flows is defined as , , where represents the number of flows in . Let and be next-hop receiver and previous forwarder of . The set of neighboring nodes of is defined as . The relationship between any two flows in a group of coding flows must satisfy

The set of signs of nonempty flows in is defined by . Let , be the set of flows that cannot be encoded, where represents corresponding number of flows. The set of signs of nonempty flows in is defined by .

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.

Table 1: Notations used in this work.

Symbols
Definition

The set of signs of flows in output queue

The mth flow in output queue, represents the number of packet belonging to ,

The set of signs of mth flow in output queue,

The nth packet of mth flow

The length of

The length of maximum transmission unit

The set of groups of coding flows, represents corresponding number of groups

The set of signs of groups of coding flows, represents corresponding number of signs

The kth group of coding flows, represents the number of flows in ,

The set of signs of kth group of coding flows, represents corresponding number of signs,

The set of signs of nonempty flows belonging to kth group of coding flows, represents corresponding number of signs,

The set of flows that can not be encoded, represents corresponding number of flows

The set of signs of flows that cannot be encoded

The set of signs of nonempty flows in , represents corresponding number of signs

Set to be 1 if network coding conditions are met and is set to be 0 otherwise

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:

Here, we refer to the space length limit as . The random variable is set to be 1 if is selected and is set to 0 otherwise.

Let be the optimal length of the splicing unit according to (3). We define the set of signs of data packets in the splicing unit as follows:

Definition 1. Space utilization is 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., ) in a group of coding flows will be selected for transmission. Therefore, we can express the space utilization based on traditional symmetric coding method as

Among all possible candidate data packets, AONC selects appropriate parameters    and    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() and SSG(), respectively, be the data exchange gain based on asymmetric and symmetric coding method

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.

Input:  ,

Output:  , ,

  set i, J and ASURmax to be 0

  for

         for each

                   calculate and record

         end for

  end for

  for

         for

                   calculate ASUR()

                  if  (ASUR() > ASURmax) then

                          ASURmax = ASUR()

                end if

       end for

  end for

Algorithm 1: Packet selection algorithm based on asymmetric coding method.

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.

Figure 5: 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 , 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 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 nearest neighbors of the center reference point in the reconstructed phase space and carry out single-step prediction in accordance with the evolution law of these neighbor points. Suppose that we have a time series of a traffic flow, and the state vector in reconstruction of phase space can be expressed as . The , and , respectively, represent the number of phase points, embedded dimension number, and time interval. Then the values around can be fitted by formula: .

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 .   represents traffic prediction value of the next time interval . Let be current time. The traffic volume during time interval    can be denoted as

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 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  .

Figure 6: 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 are selected for transmission if . Otherwise, we need to select a appropriate flow to schedule so as to reduce the loss of coding opportunities if . The flow selection algorithm is as follows.

Let be the amount of queued data belonging to a data flow at

We estimate the amount of queued data belonging to at as follows:

Note that we set to be 1 in our experiments. Thus, we can obtain a relatively accurate estimation value with respect to the amount of queued data.

The mean and variance of    can be expressed as follows:

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.

Input:  ,

Output:  flow sign i

  set i and to be 0

  if  () then

         selects according to FIFO

         return;

  end if

  for

         if  ()

                 calculate

                if  () then

                        for

                                if  () then

                                end if

                        end for

                end if

        end if

  end for

Algorithm 2: Flow selection algorithm.

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 (, ). The video source delivers video data to receiver at 30 fps. We fix the data rate at 2 Mbps, without any rate adaptation. Our PHY layer model adopts bit-error-rate (BER), which is set to be 2 × 10⁻⁶, to introduce random packet loss to simulate more realistic.

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.

(a) Cross topology

(b) 3-tier topology

(c) 5 × 5 mesh topology

Figure 7: 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).

(a) Cross topology

(b) 3-tier topology

(c) 5 × 5 mesh topology

Figure 8: 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.

(a) AONC

(b) BEND

(c) COPE

(d) 802.11

Figure 9: 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.

(a) Average receiving data rate

(b) Throughput gain

Figure 10: 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.

Figure 11: 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.

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.

References

I. F. Akyildiz, T. Melodia, and K. R. Chowdury, “Wireless multimedia sensor networks: a survey,” IEEE Wireless Communications, vol. 16, no. 6, pp. 32–39, 2007.

H. D. Ma and D. Tao, “Multimedia sensor network and its research progresses,” Journal of Software, vol. 17, no. 9, pp. 2013–2028, 2006.

R. Dai, P. Wang, and I. F. Akyildiz, “Correlation-aware QoS routing with differential coding for wireless video sensor networks,” IEEE Transactions on Multimedia, vol. 14, no. 5, pp. 1469–1479, 2012.

T. Melodia and I. F. Akyildiz, “Cross-layer QoS-aware communication for ultra wide band wireless multimedia sensor networks,” IEEE Journal on Selected Areas in Communications, vol. 28, no. 5, pp. 653–663, 2010.

R. Ahlswede, N. Cai, S. Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–1216, 2000.

S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, “XORs in the air: practical wireless network coding,” in Proceedings of ACM SIGCOMM, pp. 243–254, Pisa, Italy, 2006.

H. Seferoglu, A. Markopoulou, and K. K. Ramakrishnan, “I²NC: intra- and inter-session network coding for unicast flows in wireless networks,” in Proceedings of the IEEE INFOCOM 2011, pp. 1035–1043, Shanghai, China, April 2011.

S. Rayanchu, S. Sen, J. Wu, S. Baneriee, and S. Senqupta, “Loss-aware network coding for unicast wireless sessions: design, implementation, and performance evaluation,” in Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS '08), pp. 85–96, Annapolis, Md, USA, June 2008.

J. Zhang, Y. P. Chen, and I. Marsic, “MAC-layer proactive mixing for network coding in multi-hop wireless networks,” Computer Networks, vol. 54, no. 2, pp. 196–207, 2010.

Y. Yan, B. Zhang, J. Zheng, and J. Ma, “CORE: a coding-aware opportunistic routing mechanism for wireless mesh networks,” IEEE Wireless Communications, vol. 17, no. 3, pp. 96–103, 2010.

S. Han, Z. Zhong, H. Li, G. Chen, E. Chan, and A. K. Mok, “Coding-aware multi-path routing in multi-hop wireless networks,” in Proceedings of the IEEE International Performance Computing and Communications Conference (IPCCC '08), pp. 93–100, Austin, Tex, USA, December 2008.

J. Le, J. C. S. Lui, and D. M. Chiu, “DCAR: distributed coding-aware routing in wireless networks,” IEEE Transactions on Mobile Computing, vol. 9, no. 4, pp. 596–608, 2010.

S. Sengupta, S. Rayanchu, and S. Banerjee, “Network coding-aware routing in wireless networks,” IEEE/ACM Transactions on Networking, vol. 18, no. 4, pp. 1158–1170, 2010.

H. Seferoglu, A. Markopoulou, and U. Kozat, “Network coding-aware rate control and scheduling in wireless networks,” in Proceedings of the IEEE International Conference on Multimedia and Expo (ICME '09), pp. 1496–1499, New York, NY, USA, July 2009.

K. Chi, X. Jiang, and S. Horiguchi, “Joint design of network coding and transmission rate selection for multihop wireless networks,” IEEE Transactions on Vehicular Technology, vol. 59, no. 5, pp. 2435–2444, 2010.

C. S. Hwang and H. Moon, “Rate adaptation for wireless network coding using partial overhearing,” IEEE Communications Letters, vol. 13, no. 12, pp. 890–892, 2009.

H. Seferoglu and A. Markopoulou, “Video-aware opportunistic network coding over wireless networks,” IEEE Journal on Selected Areas in Communications, vol. 27, no. 5, pp. 1–16, 2009.

H. Seferoglu and A. Markopoulou, “Delay-optimized network coding for video streaming over wireless networks,” in Proceedings of the IEEE International Conference on Communications (ICC '10), Cape Town, South Africa, May 2010.

Y. Xuan and C. T. Lea, “Network-coding multicast networks with QoS guarantees,” IEEE/ACM Transactions on Networking, vol. 19, no. 1, pp. 265–274, 2011.

S. Yang and J. Wu, “Efficient broadcasting using network coding and directional antennas in MANETs,” IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 2, pp. 148–161, 2010.

A. Asterjadhi, E. Fasolo, M. Rossi, J. Widmer, and M. Zorzi, “Toward network coding-based protocols for data broadcasting in wireless Ad Hoc networks,” IEEE Transactions on Wireless Communications, vol. 9, no. 2, pp. 662–673, 2010.

IEEE Standard for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, 802. 11 Standard, 1997

IEEE Standard 802. 15. 4, Part 15. 4: Wireless Medium Access Control and Physical Layer Specification for Low Rate Wireless Personal Area Networks. IEEE Std. 802. 15. 4, December 2003

I. F. Akyildiz, T. Melodia, and K. R. Chowdhury, “Wireless multimedia sensor networks: applications and testbeds,” Proceedings of the IEEE, vol. 96, no. 10, pp. 1588–1605, 2008.

Video Trace Library, http://trace.eas.asu.edu/yuv

“The Network Simulator-ns,” http://nsnam.isi.edu/nsnam/index.php/Main_Page