1 Introduction

Wireless multimedia sensor networks (WMSNs) are networks of wirelessly interconnected devices that are able to retrieve multimedia content such as video and audio streams, still images, and scalar data from the environment [13]. The emergence of WMSN enhances lots of potential applications. These applications employing low cost sensor nodes to capture rich multimedia content include surveillance, traffic enforcement and control systems, smart homes, remote health monitoring, and industrial process control. Unlike the traditional sensor networks which are aimed at maximizing network lifetime by decreasing energy consumption, the main objective of WMSNs is to optimize delivery of multimedia content with a predetermined level of quality of service (QoS), such as delay and reliability. However, multimedia communication is hindered by restrictive factors in WMSNs such as high bandwidth demand, severe energy constraints and application-specific QoS requirements [4, 5]. These characteristics identify significant challenges for providing QoS guarantees for multimedia communication in WMSNs.

In WMSNs, correlation exists among the observations of distributed video sensors with overlapped field-of-views (FoVs), leading to considerable data redundancy [2, 3, 6]. To address this problem, the joint compression/aggregation and routing approach has been studied for sensor networks that deal with multimedia data. The CAQR [3] protocol integrates the correlation-aware differential coding schemes, which is used to reduce redundant multimedia traffic, into an optimization QoS routing framework. However, the CAQR works in single sink mode. Redundancy elimination operations in such environment may be inefficient and the amount of redundant traffic is hard to be reduced greatly, since the nodes that participant in differential coding must satisfy some constraints so as to achieve an acceptable energy gain. Obviously, a multi-sink scenario can provide much more opportunities for reducing redundant multimedia data. However, mainstream WMSN routing protocols are generally designed to account for a single sink, and therefore can not take advantages of the benefits from multiple sinks.

Opportunistic routing is an emerging technique for multi-hop wireless networks and has great potential to enhance communication performance in WMSNs. By taking advantages of the broadcast nature of wireless communications, these nodes in a predetermined forwarder list that overhear the transmission are allowed to participate in packet forwarding. The routing path is selected opportunistically based on the current link quality situations. This deals with unreliable and unpredictable wireless links well. It has been shown to enhance network throughput [710], reliability [1114], and energy efficiency [1518]. However, most existing opportunistic routing mechanisms in multi-hop wireless networks can not meet the requirements in optimized delivery of multimedia data as well as energy efficiency simultaneously. As a result, an improved QoS-aware opportunistic routing protocol is needed to support multi-sink WMSNs.

In this paper, we propose a QoS-aware multi-sink opportunistic routing (QMOR) for WMSNs. The focus of this work is on selecting and prioritizing forwarder list to achieve an energy-efficient delivery of video data under QoS constraints. We first discuss how to efficiently reduce redundancy multimedia traffic using differential coding, by taking advantages of the benefits from multiple sinks. Then, we focus on selecting and prioritizing forwarder list such that the transmission efficiency could be enhanced. Finally, the multi-sink-aware operations are integrated into an optimization opportunistic routing framework, with an objective to minimize energy consumption subject to delay and reliability constraints. We conduct extensive simulations to study the performance of proposed algorithm by comparing it with the CAQR. It is shown that QMOR achieves significant performance improvement, in terms of the energy consumption, delay and reliability.

The remainder of this paper is organized as follows. Section 2 introduces the related work about routing algorithms in wireless sensor networks and the motivation that drives us to design a new WMSN routing algorithm. We then highlight the design objectives and the challenges in Sect. 3. In Sect. 4, we propose a QMOR algorithm and present the details of its implementation. Section 5 involves thorough analysis and evaluation of the proposed algorithm performance in simulation methodology. Finally, Sect. 6 concludes this paper and outlines some perspectives for future work.

2 Related Work

Most of the prior works on QoS routing protocols for wireless sensor networks are designed to support two performance metrics: delay and reliability. It is shown that the geographic routing protocols are more suitable for delay sensitive data delivery. The SPEED [19] protocol supports spatiotemporal communication service with a desired delivery speed across the sensor network by geographic forwarding. The SPEED does not consider any energy metric in its routing protocol, resulting in degradation in energy efficiency. The TPGF [20] scheme uses geographic greedy routing to support hole bypassing and minimizing end-to-end transmission delay. As an extension of SPEED, the MMSPEED [21] protocol provides probabilistic QoS guarantee for sensor networks. The reliability requirements are supported by probabilistic multipath forwarding. While MMSPEED lacks a method for alleviating the data redundancy, which leads to consuming a large amount of energy, an energy efficient and QoS aware multipath routing (EQSR) [22] protocol is designed that maximizes the network lifetime through balancing energy consumption across multiple nodes while satisfying QoS requirements. The distributed aggregate routing algorithm (DARA) [23], which is designed for multi-sink, multipath architecture, considers QoS requirement in reliability, delay and energy efficiency. However, multimedia information is the dominating part of traffic in WMSNs. These protocols can not be efficiently supported multimedia transmission in a resource constrained sensor network environment.

Recent studies demonstrate opportunistic routing, like ExOR [7] and MORE [8], has great potential for enhancing data communication performance in multi-hop wireless networks. For the reason that they do not explore the benefits of selecting the appropriate forwarding list, an energy-efficient opportunistic routing strategy (EEOR) [15] is proposed for wireless sensor networks, focusing on optimizing forwarder list to minimize energy consumption. In [16], a local metric, one-hop energy efficiency (OEE), is proposed to balance the packet advancement, reliability and energy consumption in opportunistic routing. While these protocols do not consider any QoS metric in its routing strategy, an energy-aware opportunistic routing protocol (EARTOR) [24] is designed for requests with QoS constraints, through striking the elegant balance between the energy consumption and the end-to-end latency. However, it lacks a method for supporting reliability requirements. Considering these factors, we believe it is necessary to design an efficient opportunistic routing for WMSNs, in consideration of optimized delivery of multimedia data as well as energy efficiency.

The visual information retrieved from adjacent video nodes usually exhibits high levels of correlation, which gives rise to considerable data redundancy in the network [25]. To encounter this problem, a correlation-aware QoS routing algorithm (CAQR) [3] is proposed to efficiently deliver visual information by exploiting the correlation of visual information observed by different camera sensors. The correlation-aware differential coding scheme, working together with routing protocol, is designed to reduce the amount of traffic in the network. As shown in Fig. 1, source node \(v_i\) needs to find a route, via intermediate node \(v_{j}\), for its intra frame to the sink. If the size of the intra frame is \(I\), the saved bits from differential coding can be estimated as \(I\times (1-\eta )\). Video sensors with large overlapped FoVs are likely to have high differential coding gains.

Fig. 1
figure 1

Correlation-aware differential coding

We believe the performance of CAQR can be further improved by involving multiple sinks and opportunistic routing. This motivates us to propose the QMOR.

3 Design Objectives and Challenges

The key design goal of the QMOR is to achieve energy-efficient delivery of video data while satisfying QoS constraints. More specifically, the design objectives of QMOR are as follows:

  1. 1.

    Multi-Sink-Aware Behavior: The operations, such as redundancy data elimination and forwarder list selection, should take advantages of the benefits from multiple sinks.

  2. 2.

    Redundant Data Elimination: QMOR should integrate redundancy elimination operations into routing protocol.

  3. 3.

    Energy-Efficient Communication: QMOR should minimize energy consumption subject to delay and reliability constraints.

  4. 4.

    QoS Provisioning: QMOR should meet QoS requirements in delay and reliability by selecting and prioritizing forwarder list.

To design such an efficient multi-sink opportunistic routing framework, a key problem is to select and prioritize forwarder list. Simply increasing the number of nodes in forwarder list may degrade energy efficiency and QoS satisfaction, since the number of possible duplicate transmissions and coordination overhead tend to increase.

In order to get the optimal forwarder list, we must address the following challenges:

  1. 1.

    Estimate Communication Cost: In our algorithm, both the sink node selection (when involving multiple sinks) and possible multipath transmissions (if opportunistic routing is performed) affect the total communication cost. We need to take these factors into account when estimating cost.

  2. 2.

    Assign Forwarder Priority: Priority assignment in forwarder list has significant impact on transmission efficiency. Without a considerate priority assignment, the potential overhead of opportunistic routing may offset its benefits. Therefore, we need to consider how to enhance forwarding efficiency.

  3. 3.

    Estimate Local Delay: A new method is needed to estimate local delay, when opportunistic routing is performed. Another important aspect is that we have to consider the characteristics and impacts of multiple sinks.

  4. 4.

    Adjust Required Reliability: Real-time video streaming is different from traditional data communication. Due to the dependency among different video frames, we need to consider how to adjust the required reliability.

4 QoS-Aware Multi-sink Opportunistic Routing

In this section, we explain the QMOR algorithm in detail. We first describe the network model and introduce the notations used in our algorithm. Then, we present the optimal path selection problem for reducing redundant multimedia traffic when involving multiple sinks. Finally, we focus on selecting and prioritizing forwarder list to minimize energy consumption while satisfying QoS requirements.

4.1 Network Model

We consider a WMSN with a certain number of wireless sensor nodes and multiple sink nodes arbitrarily distributed in a plane. Let \(V=\bigcup v_{i},\,i\in N\) denote the set of nodes, where \(N\) is the set of identities of nodes. The set \(N\) consists of two parts, i.e., the identities of wireless sensor nodes (say \(W\)) and the identities of sink nodes (say \(S\)). Assume that all sensor and sink nodes have distinctive identities. The set of one-hop neighbors of \(v_{i}\) is expressed as \(b(v_{i})=\bigcup v_{j},\,j\in B_{i}\), where \(B_{i}\) is the set of identities of neighbors of \(v_{i}\). Each sensor node is equipped with a radio with communication range. Let \((x_{i}, y_{i})\) be the coordinate of node \(v_{i}\) and \((x_{j}, y_{j})\) be the coordinate of node \(v_{j}\). The distance between two nodes is defined as

$$\begin{aligned} d(i,j) = \left| {({x_i},{y_i}) - ({x_j},{y_j})} \right| ,i,j \in N \end{aligned}$$
(1)

A multimedia sensor node can observe the objects within its field-of-view (FoV). As shown in Fig. 2a, the FoV of a multimedia sensor node is determined by four parameters: the location \((P)\), the sensing radius \((R)\), the sensing direction \((\varvec{V})\), and the offset angle \((\theta )\). We consider the case that all the video sensors in a network have the same values of FoV parameters. The overlapped area of FoVs for \(v_{i}\) and \(v_{j}\) is shown in Fig. 2b. It has been found that the observation from multimedia sensors with overlapped FoVs are correlated with each other, leading to substantial redundancy in the network traffic [2]. Here we use a centralized preprocessing step in [3], to cluster video sensors with large overlapped FoVs into correlation groups. On this basis, the correlation-aware differential coding scheme [2, 3] is used to reduce redundancy of network traffic. The differential coding is only performed on the intra coded frames (I-frames) among multimedia sensors that belong to the same correlation groups.

Fig. 2
figure 2

FoVs of video sensors. a parameters, b overlapped area

Assume that each sensor node has fixed transmission power. We use a model, shown in [26], for the data communication energy dissipation. Both the free space (\(d^{2}\) power loss) and the multipath fading (\(d^{4}\) power loss) channel models are used, depending on the distance between the transmitter and receiver. Suppose that one sensor node transmits \(l\) bits of data over a distance \(d\) to another node. The energy consumption for transmission is

$$\begin{aligned} {E_{tx}}(l,d) = l \cdot {E_{elec}} + l \cdot \varepsilon \cdot {d^\alpha } = \left\{ \begin{array}{l} l \cdot {E_{elec}} + l \cdot {\varepsilon _{fs}} \cdot {d^2},d < {d_0}\\ l \cdot {E_{elec}} + l \cdot {\varepsilon _{mp}} \cdot {d^4},d \ge {d_0} \end{array}\right. \end{aligned}$$
(2)

while the energy consumption for receiving these bits is

$$\begin{aligned} {E_{rx}}(l,d) = l \cdot {E_{elec}} \end{aligned}$$
(3)

The electronics energy, \(E_{elec}\), is the energy needed by the transceiver circuitry to transmit or receive one bit, whereas the amplifier energy, \(\varepsilon _{fs}d^{2}\) or \(\varepsilon _{mp}d^{4}\), depends on the transmission distance and the acceptable bit-error rate. The total energy consumption for transmitting and receiving \(l\) bits over a distance \(d\) is given by

$$\begin{aligned} E(l,d) = {E_{tx}}(l,d) + {E_{rx}}(l,d) = 2 \cdot l \cdot {E_{elec}} + l \cdot \varepsilon \cdot {d^\alpha } \end{aligned}$$
(4)

Let \(E_{proc}\{l\}\) denote the energy consumption for processing \(l\) bits data when performing differential coding, see detail in [3].

The summarized notations for this routing algorithm are listed in Table 1.

Table 1 Notations and variables

4.2 The Optimal Nodes Selection Problem for Reducing Data Redundancy

The multi-sink environment can provide much more opportunities to reduce data redundancy by differential coding. Figure 3 illustrates such an example. Sensor nodes \(v_{i}\) and \(v_{j}\) need to find a route for transmitting its I-frames to the sink. There are some constrains for the nodes participating in redundancy elimination to get an acceptable energy gain. If only one sink \(s_{1}\) exists, the redundancy elimination opportunities may be lost, because a sensor node needs to find a next-hop that is closer to the sink. Another important fact is that the redundancy elimination can be achieved when there are only two sinks \(s_{1}\) and \(s_{2}\). In this case, node \(v_i\) can find an acceptable path to \(v_j\) to transmit its I-frames to the sink.

Fig. 3
figure 3

An example of reducing data redundancy in a multi-sink sensor networks

The most important aspect of choosing the optimal nodes to reduce data redundancy is to determine the source node and its corresponding intermediate destination node in the same correlation groups with maximum energy gain. This corresponds to the following optimization problem:

Differential coding-based source and intermediate nodes selection (DCSIS) problem

$$\begin{aligned}&Given:i,{\delta _1},{\delta _2}\nonumber \\&Find:j\nonumber \\&Maximize:{G_E}(i,j)\nonumber \\&Subject~to: \end{aligned}$$
(5)
$$\begin{aligned}&{G_E}(i,j) > 1 \end{aligned}$$
(6)
$$\begin{aligned}&(i,j) \in {\delta _1} \cup {\delta _2} \end{aligned}$$
(7)

As mentioned previously, the nodes participating in differential coding must satisfy some constraints so as to achieve an acceptable energy gain, which mainly depends on the amount of data to be sent and the number of hops of transmission path. The average one-hop distance from node \(v_{i}\) to its neighbors is given by

$$\begin{aligned} {\widehat{d}_{hop}}(i) = \frac{{\sum _{j \in B_i} {d(i,j)} }}{{\left| {{B_i}} \right| }},i \in N \end{aligned}$$
(8)

The estimated number of hops from node \(v_{i}\) to node \(v_{j}\) is given by

$$\begin{aligned} \widehat{h}(i,j) = \max \left( {\left\lceil {\frac{{d(i,j)}}{{{{\widehat{d}}_{hop}}(i)}}} \right\rceil , 1} \right) ,i,j \in N \end{aligned}$$
(9)

The identity of the node that has the shortest number of hops to node \(v_{i}\) is given by

$$\begin{aligned} n_i^* = \arg \mathop {\min }\limits _{n \in S} \widehat{h}(i,n),i \in N \end{aligned}$$
(10)

Let \(I_{i}\) denote the size of an I-frame sent by \(v_{i}\). We define an energy gain, denoted by \(GE(i,j)\), to evaluate the energy efficiency of differential coding between video source \(v_{i}\) and intermediate node \(v_{j}\) for a multi-sink environment.

$$\begin{aligned} {G_{E}}(i,j) = \frac{{\widehat{h}(i,n_i^*) \cdot E({I_i},{{\widehat{d}}_{hop}}(i))}}{{\widehat{h}(j,n_j^*) \cdot E({I_i} \cdot {\eta _{ij}},{{\widehat{d}}_{hop}}(j)) + \widehat{h}(i,j) \cdot E({I_i},{{\widehat{d}}_{hop}}(i)) + {E_{proc}}\{ {I_i}\} }} \end{aligned}$$
(11)

The numerator in Eq. (11) is the communication energy from node \(v_i\) to sink nodes without redundant data elimination. The denominator in Eq. (11) consists of three parts. The first part is the communication energy for the bits that are saved from differential coding, not only depending on the number of saved bits, but also depending on the distance and number of hops from node \(v_{j}\) to sinks. The second part is the communication energy from node \(v_{i}\) to \(v_{j}\).

Two conditions (6) and (7) must be satisfied. On this basis, we select a path from a source to an intermediate node that generates the maximum energy gain.

Before we explain these conditions, we provide a simple example to illustrate the optimal nodes selection problem in such environment. Figure 4 shows a multi-sink scenario where there are two sink nodes (\(s_{1}\) and \(s_{2}\)) and two multimedia sensor nodes (\(v_{i}\) and \(v_{j}\)). Under this scenario, the roles between a video source and an intermediate node can be exchanged. There are two possible path selections from a source to an intermediate node towards sinks. One path selection is to transmit intra frames from source node \(v_{i}\) to intermediate node \(v_{j}\) towards sink \(s_{2}\). Another one is from source node \(v_{j}\) to intermediate node \(v_{i}\) towards sink \(s_{1}\). We can observe that the latter may be a better selection. Obviously, the optimal path selection problem is not only related to the distance between sensor node and sink, but also related to the energy gain towards different sinks.

Fig. 4
figure 4

Source and intermediate nodes selection for a multi-sink environment

Let \(g(v_{j})=\bigcup v_{i},\,i\in G_{j}\) represent the set of nodes belonging to the correlation group of \(v_{j}\), where \(G_{j}\) is the set of identities of corresponding correlation group. The relationship constraint between two candidate nodes \(v_{i}\) and \(v_{j}\) under a multi-sink scenario is given by

$$\begin{aligned} \psi = \left\{ {(i,j)|i \in {G_j} \wedge d(i,n_j^*) > d(j,n_j^*)} \right\} \end{aligned}$$
(12)

Based on Eq. (12), we first define the following relationship set, denoted by \(\delta _{1}\), indicating the case that the role of two candidate nodes \(v_i\) and \(v_j\) (i.e. acting as source and destination node for differential coding) cannot be exchanged.

$$\begin{aligned} {\delta _1} = \left\{ {(i,j)|(i,j) \in \psi \wedge (j,i) \notin \psi )} \right\} \end{aligned}$$
(13)

On the other hand, the relationship set, denoted by \(\delta _{2}\), indicating the case that the role of two candidate nodes \(v_i\) and \(v_j\) can be exchanged, is defined as

$$\begin{aligned} {\delta _2} = \left\{ {(i,j)|(i,j),(j,i) \in \psi \wedge {G_E}(i,j) > {G_E}(j,i)} \right\} \end{aligned}$$
(14)

Equation (6) is to guarantee that the energy gain for differential coding is larger than 1.

Like the CAQR, before performing differential coding, the determined source \(v_i\) sends a request message to its corresponding intermediate destination \(v_j\). Upon receiving it, \(v_j\) sends back an acknowledgement message. In this way, \(v_j\) becomes an intermediate destination for the intra frames generated by \(v_i\). The I-frames from \(v_i\) will be forwarded to \(v_j\), and then \(v_j\) will further compress the frame and then forward it to sinks.

4.3 The QoS Guaranteed Forwarder List Selection

Suppose that a node needs to forward video data to an intermediate node for differential coding or sinks. Consider current node \(v_c\) and its neighbors \(b(v_c)\). We focus on selecting and prioritizing a subset of \(b(v_c)\) as forwarder list in a localized way to achieve energy-efficient opportunistic routing, with the objective of minimizing energy consumption while satisfying QoS requirements in delay and reliability. The optimal forwarder list is selected and prioritized according to the following rules.

Distributed QoS-aware multi-sink opportunistic routing (DQOR) problem

$$\begin{aligned}&Given:S,{B_c},l\nonumber \\&Find:F\nonumber \\&Minimize:{C_E}(l,F)\nonumber \\&Subject~to: \end{aligned}$$
(15)
$$\begin{aligned}&F \subseteq \beta \end{aligned}$$
(16)
$$\begin{aligned}&C_{iS}(l) \le C_{jS}(l),1 \le i < j \le \left| F \right| \end{aligned}$$
(17)
$$\begin{aligned}&T_{cF}^{req} - {T_{cF}} > 0 \end{aligned}$$
(18)
$$\begin{aligned}&\frac{{\overline{{T_q}(i_F^*)} }}{{T_{cF}^{req} - {T_{cF}}}} \le 1 - \omega \end{aligned}$$
(19)
$$\begin{aligned}&pdr_{cS}(F) \ge pdr_{cS}^{req} \end{aligned}$$
(20)

The optimal forwarder list is the cooperative node unit that results in the minimum communication cost under local delay and local reliability requirements. Let \(f=\bigcup v_i,\,i\in F=\{1,2,\ldots ,|F|\}\) denote the forwarder list, where \(F\) is the set of identities of nodes belonging to \(f\). As shown in (15), the minimization term is the communication cost for transmitting a packet of \(l\) bits payload by opportunistic routing. Equation (16) consists of set \(\beta \), defined as follows, indicating that any node in forwarder list must be closer to at least one sink.

$$\begin{aligned} \beta = \arg \left( {\left| {\left\{ {n|d(i,n) < d(c,n) \wedge i \in \beta \subseteq {B_c}} \right\} } \right| \ge 1} \right) \end{aligned}$$
(21)

Equation (17) states the rule of node priority assignment in forwarder list. In this work, we sort all nodes in forwarder list in nondecreasing order by their expected data communication cost to sinks. Equations (18) and (19) are the local delay requirements. Equation (20) is the local reliability requirement.

4.3.1 Expected Communication Cost

In our algorithm, we encourage packets to flow to sinks through an energy-efficient route, with objective of minimizing the energy consumption. Here we extend the method in [15] to estimate data communication cost for a multi-sink scenario. The main factors that cause more energy consumed include the following three aspects.

  1. 1.

    Sink Selection: The energy consumption per unit data mainly depends on number of hops and transmission distance to a corresponding sink.

  2. 2.

    Multipath Transmission: Allowing more neighboring nodes to forward duplicates of the same packet to enhance reliability will consume extra energy.

  3. 3.

    Link Loss Ratio: High link loss ratio will cause energy to be consumed by retransmissions.

In the following expression, \(C_{E}(l,F)\) represents the expected data communication cost of transmitting a packet from current node \(v_c\) to sinks, when the data payload size is \(l\) and chosen forwarder list is \(F\).

$$\begin{aligned} {C_E}(l,F) = {C_{cF}}(l,F) + {C_{FS}}(l,F) \end{aligned}$$
(22)

Equation (22) consists of two parts. Next, let us discuss how to compute the cost.

The first part in Eq. (22) is the expected data communication cost that a sender to successfully transmit a packet to at least one node in \(F\), which is computed as

$$\begin{aligned} {C_{cF}}(l,F) = E{N_{cF}} \cdot {E_{tx}}(l,E{D_{cF}}) \end{aligned}$$
(23)

where \(EN_{cF}\) and \(ED_{cF}\) are the expected number of transmissions and the expected transmission distance for \(v_c\) to send a packet, when chosen forwarder list is \(F\). The probability that a packet sent by \(v_c\) can be received by at least one node in forwarder list is expressed as

$$\begin{aligned} pd{r_{cF}} = 1 - \prod \limits _{i = 1}^{\left| F \right| } {{e_{ci}}} \end{aligned}$$
(24)

Based on Eq. (24), we can express the expected number of transmissions \(EN_{cF}\) as

$$\begin{aligned} E{N_{cF}} = \frac{1}{{pd{r_{cF}}}} \end{aligned}$$
(25)

Consider a prioritized forwarder list \(f=\bigcup v_i\), where \(i\in F=\{1,2,\ldots ,|F|\}\). The probability that next-hop node \(v_1\) forwards the packet is \(1-e_{c1}\) and the transmission distance is \(d(c, 1)\). Next-hop \(v_2\) will forward the packet with probability \(e_{c1}\cdot (1-e_{c2})\) and the transmission distance is \(d(c, 2)\). On this basis, next-hop node \(v_i\) forwards the packet if it receives it and these nodes with higher priority did not receive the packet. Accordingly, the expected transmission distance, denoted by \(ED_{cF}\), can be computed as

$$\begin{aligned} E{D_{cF}} = \sum \limits _{i = 1}^{\left| F \right| } {\left( d(c,i) \cdot (1 - {e_{ci}}) \cdot \prod \limits _{j = 1}^{i - 1} {{e_{cj}}} \right) } \end{aligned}$$
(26)

The details of priority assignment and priority-based forwarding will be discussed later.

The second part in Eq. (22) is the expected data communication cost that there is only one node in forwarder list to relay the packet to the final sinks. A possible scenario that multiple forwarding nodes successfully receive the packet and decide to forward it may appear due to the fact that some nodes in forwarder list cannot hear from each other. We illustrate such an example. As shown in Fig. 5, the prioritized forwarder list is \(f\!=\!\bigcup v_i\), where \(i\in F=\{1,2,3,4\},\,(v_1, v_2)\) and \((v_3, v_4)\) are the neighboring pairs in the forwarding list. The two neighboring pairs can not hear from each other. On the other hand, communication cost per unit data mainly depends on the number of hops and transmission distance towards final sink. Node \(v_c\) estimates the number of hops from its next-hop \(v_i\) to sink \(s_n\) via a neighbor \(v_m\) by

$$\begin{aligned} \widehat{h}(c,i,n) = \max \left( {\left\lceil {\frac{{d(i,n)}}{{{{\widehat{d}}_{hop}}(c,i,n)}}} \right\rceil , 1} \right) ,i \in F,n \in S \end{aligned}$$
(27)

where \({{\widehat{d}}_{hop}}(c,i,n)\) is the projection of \(d(c,i)\) onto the line connecting node \(v_c\) with sink \(s_n\).

$$\begin{aligned} {\widehat{d}_{hop}}(c,i,n) = d(c,i) \cdot \cos (\angle {v_i}{v_c}{s_n}) = \frac{{d{{(c,i)}^2} + d{{(c,n)}^2} - d{{(i,n)}^2}}}{{2 \cdot d(c,n)}} \end{aligned}$$
(28)

According to Eq. (28), node \(v_c\) computes the identity of sink that has the shortest number of hops to its neighbor \(v_i\) as follows

$$\begin{aligned} n_{c,i}^{*} = \arg \mathop {\min }\limits _{n \in S} \widehat{h}(c,i,n) \end{aligned}$$
(29)

The expected data communication cost from next-hop \(v_i\) to sinks, denoted by \(C_{iS}(l)\), can be estimated by

$$\begin{aligned} C_{iS}(l) = E(l,{\widehat{d}_{hop}}(c,i,n_{c,i}^*)) \cdot \widehat{h}(c,i,n_{c,i}^*),i \in F \end{aligned}$$
(30)

A node in forwarder list will forward the packet only if it received it, and all its neighboring nodes with higher priority did not forward the packet. As a result, we can compute \(C_{FS}(l, F)\), defined in Eq. (22), as follows

$$\begin{aligned} {C_{FS}}(l,F) = E{N_{cF}} \cdot \sum \limits _{i = 1}^{\left| F \right| } {\left( {C_{iS}}(l) \cdot (1 - {e_{ci}}) \cdot \prod \limits _{j = 1,j \in {B_i}}^{i - 1} {{e_{cj}}} \right) } \end{aligned}$$
(31)
Fig. 5
figure 5

An example for expected communication cost calculation

4.3.2 Priority-Based Forwarding

As mentioned above, the nodes in forwarder list are sorted in nondecreasing order by their expected data communication cost to sinks, which corresponds to constraint (17). That is to say, the priority of a node is inversely proportional to its expected data communication cost to sinks.

We use priority-based forwarding to maximize transmission efficiency. We consider a contention-based IEEE802.11 [27] MAC protocol in our context. When a packet needs to be delivered, a node specifies a forwarder list sorted in a nondecreasing order by their priorities. All addresses of receivers in forwarder list are specified in a field of the DATA header in a nondecreasing order by the priorities of these receivers, and then a receiver sends its ACK to the sender without collision. The other nodes in the forwarder list hearing the ACK will cancel their forwarding timer and remove the packet from their queue, thereby avoiding duplicate forwarding. To do this, the ACK contains the address of the ACK sender instead of the receiver as in the regular 802.11. In this way, the node in forwarder list with higher priority forwards the packet earlier. If there are no replies at all from any receivers, it is very likely that there was a collision. Thus, it transmits the same packet again. This cycle repeats until the packet is delivered to the sinks. By selecting a different forwarder list in a different order, QMOR can effectively adapt to changes in network environment.

4.3.3 Local Delay Requirements

We use a geographic mechanism to compute the local delay constraint in a multi-sink environment. Suppose that a packet at node \(v_c\) needs to be delivered to sinks within time \(T_{cS}\). The local delay constraint, when chosen forwarder list is \(F\), is denoted as

$$\begin{aligned} T_{cF}^{req} = \left( {\frac{{E{D_{cS}} - E{D_{FS}}}}{{E{D_{cS}}}}} \right) \cdot {T_{cS}} \end{aligned}$$
(32)

where \(ED_{FS}\) is the expected distance from nodes in forwarder list to sinks,

$$\begin{aligned} E{D_{FS}} = \sum \limits _{i = 1}^{\left| F \right| } {\left( d(i,n_i^*) \cdot (1 - {e_{ci}}) \cdot \prod \limits _{j = 1}^{i - 1} {{e_{cj}}} \right) } \end{aligned}$$
(33)

and \(ED_{cS}\) is the expected distance from node \(v_c\) to sinks.

$$\begin{aligned} E{D_{cS}} = \sum \limits _{i = 1}^{\left| F \right| } {\left( d(c,n_i^*) \cdot (1 - {e_{ci}}) \cdot \prod \limits _{j = 1}^{i - 1} {{e_{cj}}} \right) } \end{aligned}$$
(34)

The basic access method of the IEEE 802.11 MAC layer is the distributed coordination function (DCF) based on the carrier sense multiple access with collision avoidance (CSMA/CA) scheme. In this paper, our delay estimation is based on the basic access mechanism. In such environment, the delay of a hop mainly consists of the transmission delay and the queuing delay. Next, we will estimate the local delay of opportunistic forwarding.

The transmission delay of a packet that fails on all nodes in forwarder list, when the set of identities of nodes in chosen forwarder list is \(F\), can be computed as follows

$$\begin{aligned} {T_{cF}} = E{N_{cF}} \cdot T_{cF}^{defer} + T_{cF}^{backoff} \end{aligned}$$
(35)

where \(T_{cF}^{defer}\) is the time period of a defer access and \(T_{cF}^{backoff}\) is the overall backoff time.

For the basic CSMA/CA access mechanism, we have

$$\begin{aligned} T_{cF}^{defer} = T_{cF}^{data} + {T_{DIFS}} + {T_H} + {T_{SIFS}} + T_{cF}^{ACK} \end{aligned}$$
(36)

where \(T_{cF}^{data}\) is the transmission time of the data payload,

$$\begin{aligned} T_{cF}^{data} = \frac{l}{R} \end{aligned}$$
(37)

and \(T_{cF}^{ACK}\) is the ACK transmission time when the priority-based forwarding is performed.

$$\begin{aligned} T_{cF}^{ACK} = \left| F \right| \cdot {T_{ACK}} \end{aligned}$$
(38)

The overall backoff time using opportunistic forwarding is still a random variable that is the sum of a series of independent random variables uniformly distributed in the range of \([0, W_i \cdot T_{slot}]\), where \(W_i\) is current contention window (CW) size in the ith retransmission, which is defined as

$$\begin{aligned} {W_i} = \left\{ \begin{array}{l} {2^i} \cdot (C{W_{\min }} + 1) - 1,\quad i \le r\\ {2^r} \cdot (C{W_{\min }} + 1) - 1,\quad i > r \end{array} \right. \end{aligned}$$
(39)

where \(r\) is the retransmission limit, \(CW_{min}\) is an initial value of contention window.

Based on the concept of uniform distribution, the backoff time in the ith retransmission can be expressed as

$$\begin{aligned} T_i^{backoff} = \frac{{{W_i} \cdot {T_{slot}}}}{2} \end{aligned}$$
(40)

According to Eq. (40), the overall backoff time can be computed as function of \(EN_{cf}\), if the set of identities of nodes in chosen forwarder list is \(F\).

$$\begin{aligned} T_{cF}^{backoff} = \sum \limits _{i = 0}^{\left\lfloor {E{N_{cF}}} \right\rfloor } {T_i^{backoff}} + (E{N_{cF}} - \left\lfloor {E{N_{cF}}} \right\rfloor ) \cdot T_{\left\lceil {E{N_{cF}}} \right\rceil }^{backoff} \end{aligned}$$
(41)

It is worth noting that the sequential backoff time for nodes in the forwarder list is considered.

Each node maintains the average queuing delay of packets in a recent period and periodically broadcasts the information to its neighbors. The identity of node in forwarder list with maximal queuing delay is given by

$$\begin{aligned} i_F^* = \arg \mathop {\max }\limits _{i \in F} {T_q}(i) \end{aligned}$$
(42)

where \(T_{q}(i)\) is the queuing delay of \(v_i\).

We provide probabilistic guarantee for one-hop delay, in which the probability that a packet is delivered within required delay should not be below \(\omega \), expressed by

$$\begin{aligned} P\left( {T_{cF}} + {T_q}(i_F^*) \le T_{cF}^{req}\right) \ge \omega \end{aligned}$$
(43)

It can also be expressed as

$$\begin{aligned} P\left( {T_q}(i_F^*) \ge T_{cF}^{req} - {T_{cF}}\right) \le 1 - \omega \end{aligned}$$
(44)

By applying the Markov’s inequality on Eq. (44), we have

$$\begin{aligned} P({T_q}(i_F^*) \ge T_{cF}^{req} - {T_{cF}}) \le \frac{{\overline{{T_q}(i_F^*)} }}{{T_{cF}^{req} - {T_{cF}}}} \end{aligned}$$
(45)

and

$$\begin{aligned} T_{cF}^{req} - {T_{cF}} > 0 \end{aligned}$$
(46)

Based on inequations (45) and (46), we have derived two constraints to satisfy the probabilistic delay guarantee in inequation (44), which are given in constraints (18) and (19). Condition (46) corresponds to constraint (18).

Comparing (44) and (45), if the following inequation holds,

$$\begin{aligned} \frac{{\overline{{T_q}(i_F^*)} }}{{T_{cF}^{req} - {T_{cF}}}} \le 1 - \omega \end{aligned}$$
(47)

the probabilistic delay guarantee inequation (44) could be satisfied, from which constraint (19) is obtained.

4.3.4 Local Reliability Requirements

The packet delivery ratio is a metric to evaluate reliability. The probability that a data packet delivered by node \(v_c\) is received correctly by at least one sink can be computed as a function of \(F\) by

$$\begin{aligned} pd{r_{cS}}(F) = 1 - \prod \limits _{i = 1}^{\left| F \right| } {\left( 1 - (1 - {e_{ci}})\cdot {{(1 - {e_{ci}})}^{\widehat{h}(c,i,n_i^*)}} \right) } \end{aligned}$$
(48)

A video frame is fragmented into packets before transmission. Let \(X\) denote the set of packets belonging to one video frame. The probability that all packets that belong to \(X\) are successfully delivered is given by

$$\begin{aligned} PD{R_{req}}\left( {pdr_{cS}^{req},X} \right) = 1 - {\left( {1 - pdr_{cS}^{req}} \right) ^{\left| X \right| }} \end{aligned}$$
(49)

where \(pdr_{cS}^{req}\) is the required packet delivery ratio from current node \(v_c\) to sinks.

Let \(\rho \) denote the required decodable frame ratio. If \(\rho \) is higher than the offered reliability, \(pdf_{cS}(F)\), then a feasible way to achieve the reliability is to select a different forwarder list in a different order.

To maintain the quality of video, the decodable probability for each frame should not be below the required value \(\rho \). Real-time video communication, however, is different from traditional data communication. The decodable probability from the first I-frame to the followed frames in a GOP may show a declining trend, if each video frame is assigned with the same required decodable probability. Consider MPEG-encoded video stream in our algorithm. The MPEG encoding algorithm defines three types of video frames, that is, intra coded frames I-frames, predictive coded frames P-frames and bidirectionally-predictive coded frames B-frames. The three frame types are organized in a so-called GOP defined by the distance between I-frames and the distance between an I-frame and the first P-frame. To decode a frame, its reference frames (if exist) should also be received and decoded. Therefore, the decodable probability of frames in a GOP will show a declining trend, if each frame is assigned with the same required decodable probability. Due to the dependency among different frames, we have to adjust the required frame decodable probability.

Figure 6 shows an example of GOP in MPEG compression, where \(N\) represents the number of pictures between two adjacent I-frames, and \(M\) denotes the number of pictures between two adjacent P-frames. Let \(I,\,P_k\), and \(B_t\) denote the I-frame, kth P-frame, and tth B-frame in a GOP. We refer to \(FDR(X)\) as the decodable probability of video frame \(X\). Since P-frames and B-frames were encoded using reference frames in the past or in the future, they cannot be decoded at receiver until all reference frames have been successfully received and decoded. According to the dependency, the decodable probability of \(P_k\) and \(B_t\) in a GOP can be expressed as

$$\begin{aligned} FDR({P_k})&= \rho \cdot \prod \limits _{i = 1}^k \rho , k \in \left[ 1,\frac{N}{M} - 1\right] \end{aligned}$$
(50)
$$\begin{aligned} FDR({B_t})&= {\rho ^2} \cdot \left( {\prod \limits _{i = 1}^{\left\lceil t / (M-1) \right\rceil } \rho } \right) ,t \in \left[ 1,\frac{{N \cdot \left( {M - 1} \right) }}{M}\right] \end{aligned}$$
(51)

To maintain the required reliability, the following rule must be satisfied.

$$\begin{aligned} FDR(Y)&\ge \rho , Y \in \left\{ {{P^*},{B^*}} \right\} \end{aligned}$$
(52)
$$\begin{aligned} {P^*} = {P_{\left( {{N \mathord {/ {} } M}} \right) - 1}}&= \arg \mathop {\min }\limits _{i \in [1,\left( {{N \mathord {/ {} } M}} \right) - 1]} FDR({P_i}) \end{aligned}$$
(53)
$$\begin{aligned} {B^*} = {B_{\left( {{N \mathord {/ {} } M}} \right) \cdot (M - 1)}}&= \arg \mathop {\min }\limits _{i \in [1,\left( {{N \mathord {/ {} } M}} \right) \cdot (M - 1)]} FDR({B_i}) \end{aligned}$$
(54)

According to above analysis, it is necessary to increase the required decodable probability of I-frame and P-frames to meet the rule defined in Eq. (50). For this purpose, we define the following rule to update the required decodable probability of frame \(X\) in a GOP.

$$\begin{aligned} FDR(X) = {\rho ^{\frac{1}{i}}},i = \left\{ \begin{array}{l} N,X = I\\ N - 1 - \frac{{N \cdot \left( {k - 1} \right) }}{M},X = {P_k},k \in [1,\frac{N}{M} - 1]\\ 1,X = {B_t},t \in [1,\frac{{N \cdot \left( {M - 1} \right) }}{M}] \end{array} \right. \end{aligned}$$
(55)

As shown in Eq. (55), I-frames have the highest required decodable probability. This is because all P-frames and B-frames in the same GOP cannot be decoded since these frames were encoded using the I-frame as reference, when an I-frame is lost or destroyed (due to partial packets of it are lost during transmission). The required decodable probability of P-frame changes according to its position in a GOP, since P-frames were encoded using reference frames in the past or in the future. B-frames, however, have the same required decodable probability, because a destroyed B-frame does not affect decoding of any other pictures.

Fig. 6
figure 6

An example of GOP in MPEG Compression (N\(\,=\,\)12, M\(\,=\,\)3)

Another important aspect should be considered. According to  [2, 3], after correlation-aware differential coding is performed, an I-frame becomes an inter frame, which may reduce the number of packets and increase dependency among frames. Consider the differential coding of I-frame (say \(I\)) using the prediction of I-frame (say \(I^{'}\)). We adjust the required decodable probabilities of \(I^{'}\) according to the following rule.

$$\begin{aligned} FDR({I^{'}}) = FDR(I) \cdot {\rho ^{ - 1}} \end{aligned}$$
(56)

Combining Eq. (55) and (56), we update required packet delivery ratio as follows:

$$\begin{aligned} pdr_{cS}^{req} = \arg \left( {PD{R_{req}}(X,pdr_{cS}^{req}) = FDR(X)} \right) \end{aligned}$$
(57)

These solutions are then used in constraint (20) in the QMOR algorithm.

4.3.5 Protocol Operation

The proposed QMOR routing algorithm is summarized as follows. If a sensor has a video packet that belongs to an inter frame to transmit, it directly send it to the sink through multi-hop opportunistic routing, where the forwarder list are selected by performing Algorithm 1 that solves the DCSIS problem in Sect. 4.2. If a video packet to be sent belongs to an intra frame, corresponding sensor selects the optimal intermediate node by solving the DQOR problem in Sect. 4.3. If no such intermediate node can be found, the sensor directly sends video packets to the sink. Note that Algorithm 1 is executed to find the QoS guaranteed forwarder list in both cases. We will explain it later. The difference is that the former needs to solve the DCSIS problem while the latter does not need to consider it.

So far we did not discuss how to select the forwarder list. A straightforward way to get the optimal forwarder list to minimize the expected cost is to search all the ordered subset of \(\beta \), where there are \((2^{|\beta |}-1)\) choices. It is, however, not suitable for resource and energy constrained WMSNs when \(|\beta |\) is large. As a result, we believe that it is necessary to design a low-complexity algorithm to get a solution that approaches the optimum. In [15] and [28], the authors investigated the properties of forwarder list. It is shown that, if a candidate node, whose expected cost is less than the expected cost of a given forwarder list, is added to the forwarder list, then the expected cost of the newly created forwarder list will decrease. Having this property, the search space can be reduced to size \(|\beta |\), and thus the forwarder list can be selected easily.

figure e

We extend the method in [15] to select forwarder list, in consideration of QoS requirements. A natural step in our algorithm is to exclude inappropriate candidate nodes. Algorithm 1 works as follows. A node first finds out all the next hop candidate nodes that meet the distance constraint in Eq. (21), and then sorts all candidate nodes in increasing order by their expected data communication cost to sinks [defined in Eq. (30)]. Before adding a candidate node into forwarder list, we first check whether the expected cost of the candidate node is less than the expected cost of a given forwarder list. If yes, we check whether the local delay constraints (18) and (19), and the local reliability constraint (20) are met. If so, these chosen candidate nodes meet all the constraints, the corresponding expected communication cost \(C_{E}(l,F)\) in (15) can be obtained. The candidate node that results in the smaller expected communication cost can be added into the forwarder list. It is worth noting that it is possible that some candidate nodes whose expected costs are less than the expected cost of a given forwarder list may be excluded due to QoS constraints. For the reason that we know whether it will decrease its expected cost before it adds a candidate node to its forwarder list, the selection process will terminate upon one candidate node does not meet the condition of cost reduction.

5 Performance Evaluation

This section involves thorough performance analyses and evaluation of the proposed QMOR in simulation methodology. We design and conduct a series of simulation experiments. Section 5.1 describes the evaluation metrics and detailed simulation parameter settings. Section 5.2 presents and analyses the simulation results.

5.1 Performance Metrics

In this work, we use network simulator NS-2 [29] to implement the proposed QMOR algorithm. We evaluate the QMOR performance in terms of decodable frame ratio, transmission delay, and energy utilization efficiency, and compare it with typical WMSN QoS routing algorithm, i.e. CAQR [3]. In a \(100\hbox { m }\times 100\hbox { m}\) region, 49 video sensors are deployed in a grid structure, and sink nodes are respectively placed in the corners of the field. The sensing directions of the video sensors are uniformly chosen. All video sensors share the same sensing parameters.

Video surveillance is a typical application of WMSNs. The video sensors will be triggered and the video traffic is generated when an event is detected within their vicinity. To make simulation more realistic, we place a target node within the field and let it move around according to the random waypoint mobility model and set the pause time to be 0. In this way, a sequence of events can be generated and the video nodes can detect them. We generate 5 sequences of events representing different network traffic scenarios, by launching the target from 5 different locations, and then measure the average performance. We use video clips in [30] to simulate the captured video frames. Each video clip is encoded as a standard MPEG-4 sequence, and each video frame is fragmented into packets before transmission. The structure of the group of pictures (GOP) is IBBPBBPBB \((N=9,\,M=3)\). We consider the fine-grained video surveillance in our simulation experiments, and thus each video source delivers video data to receiver at 30 fps.

Other key parameters in our experiments are given as follows. We use the IEEE802.11 standard for the MAC layer, and fix the data rate at 2Mbps, without any rate adaptation. The transmission range of each sensor node is set to be 15 m. Our PHY layer model adopts bit-error-rate (BER) of \(2\times 10^{-6}\), to introduce random packet loss such that the simulation could be more realistic.

We evaluate the performance of the QMOR algorithm under varying number of background traffic and different QoS requirements. In order to demonstrate the effectives and efficiency, we study the performace of the QMOR in a single sink network scenario (say QMOR-ssink) and a multi-sink network scenario (say QMOR-msink) respectively, and compare them with that of the CAQR. In the simulation, we vary the number of background traffic from 1 to 4. On the other hand, we set different levels of QoS in delay and reliability. On this basis, we test the networking performance of the proposed routing algorithm in terms of video transmission quality and energy utilization efficiency.

The detailed simulation parameter settings are illustrated in Table 2.

Table 2 Parameter settings

5.2 Analysis of Simulation Results

Figure 7 shows the video transmission quality under different background traffic scenarios, where the deadline is set to be 1s and the required decodable frame ratio \((\rho )\) is set to be 0.6. The video transmission quality includes two aspects, decodable frame ratio and average delay.

Fig. 7
figure 7

Video transmission quality (deadline = 1 s, \(\rho =0.6\)). a Decodable frame ratio, b average delay

It can be found in Fig. 7a that the decodable frame ratio of the three routing algorithms decreases as the number of background traffic increases. It can be observed that the QMOR-msink always provides the best quality of video. The reason is that multiple sinks can provide nodes with more opportunities to eliminate redundant data and offer more candidate nodes to form the forwarder list. As the number of background traffic increases, the packet loss ratio increases. The QMOR-ssink algorithm does not bring much performance enhancement compared to the CAQR algorithm for low-level background traffic. As the number of background traffic increases, the packet loss ratio increases. The QMOR-ssink selects a different forwarder list in a different order so as to achieve the reliability. This deals with wireless link errors well. The QMOR-ssink can provide a higher decodable frame ratio than the CAQR at high-level background traffic.

Figure 7b shows the average packet delay with respect to different background traffic levels. The QMOR-msink can provide the lowest delay for video transmissions among the three routing algorithms. By taking advantages of the benefits from multiple sinks, much more candidate nodes that meet delay requirement can be selected for forwarder list. The CAQR utilizes the dynamic channel coding technique to achieve a better error resilience performance when wireless link quality degrades, which leads to performance degradation in network bandwidth utilization. More importantly, this contributes negative effects on the average delay of transmission. Although the opportunistic forwarding mechanism may increases channel access delay, it still can reduce the transmission delay. Therefore, the QMOR-ssink performs better than the CAQR.

Next, we evaluate the energy utilization efficiency of the proposed routing algorithm, where the deadline is set to be 1s and the required decodable frame ratio \((\rho )\), is set to be 0.6. Figure 8a shows the simulation result of energy consumption. The main energy consumption consists of the communication energy for sending and receiving packets. As shown in the result, the minimal energy consumption is achieved by QMOR-ssink, next is CAQR, followed by QMOR-msink. Although the QMOR-msink can provide more opportunities to reduce data redundancy by taking advantages of the benefits from multiple sinks, a low percentage of packet loss is achieved, on the contrary increases the energy consumption. The channel coding technique in the CAQR increases the energy consumption, since more bits should be transmitted to combat the wireless link errors. When involving a single sink, the QMOR-ssink has the same ability with the CAQR to deal with redundant data so as to reduce energy consumption. More importantly, the QMOR-ssink may not increase the amount of data sending when dealing with unreliable wireless links. Unlike the QMOR-ssink, the CAQR always adds redundancy to a packet when the required decodable frame ratio is higher than the offered reliability, resulting in performance degradation in energy efficiency.

Fig. 8
figure 8

Energy utilization efficiency (deadline \(=\)1 s, \(\rho =0.6\)). a Energy consumption, b number of obtained decodable frames for unit of energy consumption

The dependency in MPEG-encoded video stream determines the importance of each frame. The subsequent video data can not be decoded correctly in case of data packet of an I-frame or a P-frame unable to be delivered, even if they are sent and received normally. The actual number of obtained decodable frames per unit of energy consumption can reflect the energy utilization efficiency. It is interesting to examine how many decodable frames are provided by different routing algorithms. As shown in Fig. 8b, although the QMOR-msink consumes more energy, it can provide the maximum number of decodable video frames per units of energy consumption. On the other hand, the QMOR-ssink performs better than the CAQR, since the opportunistic routing mechanism can enhance bandwidth utilization.

We now evaluate the quality of received video information after setting more strict constraints of delay and reliability. We decrease the deadline to be 0.7 s, and increase the required decodable frame ratio to 0.7. Figure 9 shows the simulation results on video transmission quality with respect to decodable frame ratio and average delay. Comparing the results in Fig. 7a, b, the proposed QMOR algorithm shows more advantages in video transmission. As shown in Fig. 9a, the CAQR can not meet the reliability requirement in most cases, while the achieved decodable frame ratio of the QMOR-ssink can meet the reliability requirement at low-level background traffic. In particular, the QMOR-msink can always provide reliability guarantee as the number of background traffic increases. As shown in Fig. 9b, these routing algorithms all can meet the delay requirement. We can observe that the change in delay constraint has little impact on the delay achieved by the QMOR-msink.

Fig. 9
figure 9

Video transmission quality (deadline\(\,=\,\)0.7s, \(\rho =0.7\)). a Decodable frame ratio, b average delay

From these results, we conclude that the proposed QMOR algorithm can enhance network performance, especially when the QoS requirements are stringent. By incorporating multi-sink-aware differential coding in the routing process, the QMOR algorithm provides an effective way to improve the quality of video transmission in WMSNs.

6 Conclusion

Multimedia communication in WMSNs has stringent requirements of delay and bandwidth. Fulfilling these constraints in resource and energy constrained WMSNs is a huge challenge. In this paper, we propose a QMOR to efficiently deliver multimedia information under QoS constraints. This work begins with an optimal nodes selection problem for differential coding to reduce redundant multimedia data in a multi-sink environment. We then focus on selecting and prioritizing forwarder list such that the transmission efficiency could be enhanced. Finally, we integrate the multi-sink-aware operations into an optimization opportunistic routing framework, with an objective to minimize energy consumption subject to delay and reliability constraints. We conduct extensive simulations to study the performance of our QMOR algorithm. From the simulation results on decodable frame ratio, transmission delay, and energy, it can be concluded that, compared with the CAQR algorithm, the proposed QMOR improves the video transmission quality and energy utilization efficiency greatly. As a result, we determine that the proposed new protocol is feasible for delivery of video data under QoS constraints in WMSNs.

WMSNs handle heterogeneous data which can consist of scalar, audio, video, image and acoustic data, all of which have varied QoS requirements. Due to heterogeneous traffic flows, and differentiated requirements of these flows, provision of service differentiation becomes crucial to achieving QoS in WMSNs. Our ongoing work focuses on QoS-aware opportunistic routing protocol for heterogeneous traffic over WMSNs.