1 Introduction

With the development of wireless access and multimedia compression technologies, great attention has been devoted to wireless video communications. Advances in electronics and computer industry bring us more and more powerful wireless terminals. Consequently, many applications of video communications via wireless terminals and wireless networks have emerged in recent years, such as wireless video calls and video surveillance. Compared to the wireless networks with infrastructures, multihop wireless networks are more flexible to be constructed so that it can support more applications. Therefore, many researchers focus on the field of wireless video transmission over multihop wireless networks.

In multihop wireless networks, limited bandwidth and ubiquitous interference degrade the performance of video transmission. Since videos require tremendous bandwidth, packet loss is inevitable. It is essential to identify the importance of video packets so as to ensure the transmission of high priority packets. Therefore, ideas of unequal protection [1] were addressed. At application layer, packet importance is calculated and packet priority is marked. At network or MAC layer, unequal scheduling which will drop less-important packet and frame under congestion condition is performed to reduce video transmission distortion.

Unequal protection also employs the idea of cross-layer optimization [11, 20] because it combines the mechanisms of application layer and network/MAC layer. Other cross-layer optimizations include: (1) make routing decision according to link-layer status of each forwarding node; (2) adjust coding strategy according to link layer or network layer status; etc.

Since multiple wireless hops are needed from video source to destination, multihop routing becomes a key issue. In multihop wireless networks, more than one path may be detected for the same source-destination pair, leading to studies on multipath routing.

In this paper, we propose a priority based, routing and scheduling combined scheme for video transmission over IEEE 802.11e multihop networks. Characteristics and contributions of this work are summarized in the following.

  1. (1)

    An integrated routing metric is proposed to evaluate path quality. This metric combines hop count, congestion bottleneck and other two parameters of a path. The purpose for designing such a metric is to evaluate path quality exactly, taking interference, congestion and hop count into account.

  2. (2)

    Traffic assignment and traffic adjustment modules are combined with path evaluation module to provide flexibility to different traffic modes. Simulation results show that the proposed network layer scheme always achieves a good performance.

  3. (3)

    Link layer scheduling algorithm proposed in [21] is reformed to adapt itself to multihop wireless video transmission. Compared to EDCA standard, the new algorithm provides significant promotion of video decoding quality.

The rest of the paper is organized as follows. Section 2 introduces related work. Section 3 discusses some considerations related to multihop routing. Details of network layer scheme are presented in Section 4. Link layer scheduling algorithm is explained in Section 5. Then Section 6 verifies the performance of proposed cross-layer video transmission scheme. Finally, Section 7 concludes the paper and points out future work.

2 Related work

There are many papers which discussed multipath video transmission in wireless networks [14, 18, 23, 25]. Some studies proposed to use the best path as forwarding path and regard the others as backup paths. Many studies suggested using multiple paths simultaneously. Other studies considered joint optimization of rate allocation and multipath routing. When multiple paths are simultaneously adopted for packet forwarding, traffic assignment for video streams becomes an important issue to be solved.

Before traffic assignment is performed, the quality of all available paths should be evaluated according to a simple or an integrated metric. Actually, the key issue of routing is to choose a suitable routing metric. Some link or path parameters are combined as routing metric in existing studies [2, 5, 17]. For example, Frias et al. [2] took dropping probability, delay, end-to-end bandwidth, jitter, reliability and mobility as routing parameters. Hsieh combined delay and lifetime as the metric of path quality [5]. Besides these parameters, more attention should be paid to interference because it affects the performance of multipath routing in multihop networks significantly. Niculescu [16] discussed interference in details. However, the overall interference that a path encounters is difficult to estimate. In addition, we find that multipath routing does not show its distinct advantage compared to single path routing. We’ll discuss this issue in Section 3. In this paper, a new routing metric which consists of several link or path parameters is proposed to evaluate path quality. In addition, traffic assignment and traffic adjustment are also performed in network layer.

As for link layer scheduling, many algorithms have been proposed. A commonly used link layer protocol is IEEE 802.11e [7]. In the past decade, IEEE 802.11 has shown its deficiency of not be capable of providing differentiated guarantees for different services. To satisfy the distinct Quality of Service (QoS) requirements of multimedia service and data service, IEEE 802.11e which is composed of Enhanced Distributed Channel Access (EDCA) and HCF Controlled Channel Access (HCCA) was proposed. QoS support in EDCA is realized with the introduction of four access categories (ACs), among which AC2 is defined for video service. Each AC has its own transmission queue and a set of parameters to contend for transmission opportunities.

Existing works on improving video transmission performance over IEEE 802.11e networks can be divided into two categories. On one hand, a lot of papers proposed enhanced scheduling mechanisms to reduce video frame dropping probability [4, 12, 13, 15, 22]. On the other hand, researchers explored adaptive algorithms to tune EDCA parameters in order to improve system throughput and/or reduce video transmission distortion [3, 6, 8, 24]. We have proposed a fuzzy logic based scheduling algorithm in IEEE 802.11e WLAN [21], which is flexible to the variation of video data rate, coding structure and network load. However, performance under multihop IEEE 802.11e networks is not evaluated.

3 Considerations in multihop routing

In this section we discuss two issues through analysis and simulation: (1) single path routing vs. multipath routing; (2) performance of minimum hop count routing.

3.1 Single path routing vs. multipath routing

Simulations are based on the integrated platform of ns-2 [19] and Evalvid [10], implemented by C. H. Ke [9]. Figure 1 shows two simulation scenarios, in which seven nodes constitute the multihop network. Let N i denote node i. The difference between these two scenarios is the coordinates of N 2 and N 3. The distance between N 0 and N 3 in scenario I is longer than that in scenario II. Accordingly, the distance between N 2 and N 4/N 6 in scenario I is longer than that in scenario II to avoid direct connection between N 2 and N 3. We plan to originate a foreman sequence with QCIF resolution (400 frames, 13.3 s) from N 0 to node N 2. There are two available paths in scenario I: (N 0, N 5, N 6, N 2) and (N 0, N 1, N 3, N 4, N 2), having 3 hops and 4 hops respectively. We call it 3/4 hops scenario. In scenario II, two 3-hops paths (N 0, N 5, N 6, N 2) and (N 0, N 3, N 4, N 2) are available from the video source to the destination. Scenario II is called 3/3 hops scenario.

Fig. 1
figure 1

Simulation topology

Besides the video stream, two background data streams are added. One is from N 5 to N 2 and the other is from N 3 to N 2. Priorities of both streams are set to 2 so that their packets will be assigned to AC1. Data rates of these streams are varied to produce different congestion level on both paths. Bandwidth of IEEE 802.11e links is set to 1Mbps. In both scenarios, three routing mechanisms for the video stream are evaluated: (1) choose path (N 0, N 5, N 6, N 2) as AODV routing protocol does, denoted as “AODV”; (2) choose path (N 0, N 3, N 4, N 2) in 3/3 hops scenario or choose path (N 0, N 1, N 3, N 4, N 2) in 3/4 hops scenario, called “Opposite AODV” and denoted as OAODV; (3) choose both paths, called “Multipath AODV” and denoted as “MAODV”. In the last mechanism, I frame packets are transmitted through path (N 0, N 5, N 6, N 2) and P/B frame packets are assigned to path (N 0, N 3, N 4, N 2) or (N 0, N 1, N 3, N 4, N 2).

Figure 2 presents simulation results. The x-axis represents data rates of two data streams. For example, “150–50” means that data stream (5,2) has a data rate of 150 kbps and data stream (3,2) has a data rate of 50 kbps. The y-axis represents the number of received bytes of video stream at N 2. From the figure we can find that AODV or OAODV chooses the right path and MAODV can only achieve a moderate performance.

Fig. 2
figure 2

Single path routing vs. multipath routing

Let us discuss the reason. Although intermediate nodes of two available paths are different, they have the same source and destination. Since N 0 has the largest amount of packets to be sent and it has to compete for transmission opportunity with N 1 and N 5, congestion occurs at this node definitely. Thus, both paths are experiencing congestion and a lot of packets have been dropped by N 0 before they can arrive at N 1 or N 5. Assigning packets to both paths increases inter-path interference [16], resulting in bad performance. Therefore, multipath routing is not the best choice.

3.2 Performance of minimum hop count routing

As shown in Fig. 2(a), AODV outperforms OAODV when the congestion level of path (N 0, N 5, N 6, N 2) is equal to or lower than that of path (N 0, N 1, N 3, N 4, N 2). The difference between two mechanisms is slight when path (N 0, N 5, N 6, N 2) encounters heavier congestion. But if we continue to increase the data rate of stream (5,2) in Fig. 2(b), the performance of OAODV will be better than that of AODV finally.

Since the hop count difference between two paths is 1, we can draw the conclusion that in most cases the path with the minimum hop count should be chosen. The path with a larger hop count should be adopted only when its congestion level is much lower than that of the path with the minimum hop count.

4 Network layer scheme

Firstly, abbreviations and symbols frequently used in this paper are presented in Tables 1 and 2.

Table 1 Abbreviation description
Table 2 Symbol definitions

4.1 Framework of the proposed scheme

Figure 3 presents the framework of the proposed video transmission scheme in network layer. It is composed of three modules. The first module is path ranking, which is performed periodically according to the real-time parameters of all paths. The second one is traffic assignment, invoked by a new video stream. The third one is traffic adjustment, which is used to adjust traffic assignment according to the variations of environments. Operations in the three modules depend on the real-time statuses of available paths. The working procedures of the network layer scheme are as follows:

Fig. 3
figure 3

Framework of network layer scheme

  1. (1)

    Path ranking module evaluates the qualities of available paths periodically according to the network layer and link layer parameters collected by routing protocol.

  2. (2)

    When a new video arrives, traffic assignment module assigns packets to one or more available paths according to the path ranking result. Packets should be transmitted according to the assignment until it is adjusted. Traffic assignment should be checked periodically during the lifetime of the video stream.

  3. (3)

    If it is the time to make adjustment decision, traffic adjustment module will check the statuses of all available paths and the previous assignment to determine whether an adjustment is needed.

  4. (4)

    If a video stream is ended, traffic assignment becomes invalid and its corresponding adjustment timer should be deleted immediately.

4.2 Path ranking

Two important parameters are used to evaluate path quality. One is hop count and the other is bottleneck of congestion level. The former is often considered in multihop routing algorithms. Actually, the path with a smaller hop count always shows better performance if congestion does not occur. As discussed in section 3, the path with a smaller hop count experiences less intra-path interference. Furthermore, total traffic introduced by a stream remains the least if the path with the minimum hop count is chosen.

However, if congestion occurs in the path with the minimum hop count, packets should not be transmitted through this path any more. It is necessary to find an alternate path which is not congested. Since a path consists of many nodes, probably several nodes are experiencing congestion simultaneously. And congestion levels of different nodes may be distinct. How to define the congestion level of a path? Use the average congestion level of all nodes or the bottleneck of node congestion level? Most references choose the latter.

There are four ACs in an IEEE 802.11e node, and they always have different congestion levels. Then which parameter should be used to represent the congestion level of a single node? In this paper queue length of AC2 is adopted as the congestion level of a node. The bottleneck of node congestion level of a path is denoted by the maximum queue length of AC2 among all nodes.

Another two parameters are used to help path evaluation: (1) the number of congested nodes; (2) bottleneck of node leisure level. Only when its congestion level becomes larger than a certain threshold, will the node be counted as a congested node. The meaning of bottleneck in leisure level is the same as that in congestion level. Leisure level of node i (L i ) can be computed as follows:

$$ {L_i}=\frac{{Tx{B_i}}}{{RcvB_i^2}} $$
(1)

where TxB i and RcvB i denote the number of sent and received bytes during the last period, respectively. Leisure level is useful to choose the better path when two paths have the same hop count and none of them is experiencing congestion.

The above parameters are calculated in different nodes separately and collected by routing protocol which can be implemented on the basis of commonly used AODV or DSR. When all these parameters are transmitted from the destination to the source, path ranking could be started. The module evaluates path quality and sorts available paths accordingly.

The key component of path ranking algorithm is to compare the qualities of two paths and to decide if their location should be switched. Switch decision depends on bottleneck of node congestion level (denoted as “bot_con”), hop count (denoted as “hops”), bottleneck of node leisure level (denoted as “bot_lei”) and the number of congested nodes (denoted as “con_nodes”) of both paths. Among the four parameters, bot_con is the most important.

figure d

The process of path comparing described in Algorithm I uses three additional parameters: threshold, HOP_DIFF and MAX_CON_DIFF. Parameter threshold is used to evaluate bot_con. Parameters HOP_DIFF and MAX_CON_DIFF are the difference thresholds of hops and bot_con between two paths. The value range of bot_con is divided into three parts: 0, (0, threshold) and [threshold, up limit]. If bot_con of both paths are 0, the path with smaller hops and smaller bot_lei is considered as the better path. If bot_con of both paths are within (0, threshold), the differences of bot_con and hops between two paths will be used to evaluate path quality. If bot_con of both paths are larger than threshold, path quality depends on con_nodes and bot_lei. Otherwise, bot_con of two paths do not locate in the same range, so the path with smaller bot_con has better quality.

With path comparing function, we can sort all available paths for each destination in the routing table.

4.3 Traffic assignment

When a video stream is originated, the source node must assign one or more paths to it. Traffic assignment module compares performance between single path routing and multipath routing. Multipath routing is used on condition that bot_con of the first two paths in the path list (we only consider two paths to avoid tremendous inter-path interference) are within (0, threshold). Otherwise, only the path with the best quality will be used. If multipath routing is employed, I frames will be assigned to the first path and P/B frames will be assigned to the second path. The process of traffic assignment is described in Algorithm II.

figure e

4.4 Traffic adjustment

The key issue of traffic adjustment is to determine if it is the time to adjust. From Algorithm III we know that the adjustment decision depends mainly on con_nodes. Notice that the source node is not counted in con_nodes. That is to say, only when the remaining part of a path is experiencing congestion or the quality difference between two paths is distinct, should traffic assignment be adjusted. Note that in many cases of Algorithm III, although incPath and decPath are determined, actual adjustment will not happen. For example, if the first path already holds all video frame types, no more packets could be assigned to this path.

figure f

5 Link layer scheme

In [21] we proposed an adaptive scheduling scheme for video transmission over IEEE 802.11e networks. Contributions of this work include:

  1. (1)

    Provide a relative queuing delay (D R ) based AC selection mechanism. D R is an approximate value of actual queuing delay. Inserting video frame into the AC with minimum D R will reduce the transmission delay of each frame as well as overall distortion of the video stream.

  2. (2)

    Integrate the D R based AC selection mechanism with a dynamic frame assignment algorithm (DFAA). DFAA takes video frame priority, D R and queue length (the number of packets in a queue) of each AC as inputs to differentiate frames with different priorities effectively and to provide efficient and dynamic protection of video frames according to the real-time network load. Simulation results show that DFAA reduces video distortion significantly, compared with other reformed schemes.

  3. (3)

    The fuzzy logic controller (abbr. as “FL controller”) is designed to produce appropriate adjustment of DFAA parameter so as to provide flexibility to the variation of environments. An FL controller decides parameter adjustment according to queue length of certain AC and the frame loss rates of certain frame priorities. Experiments validate that DFAA with FL controller could achieve a near optimal performance when the DFAA parameter is initialized with an arbitrary value.

As shown in Fig. 4, the proposed scheduling scheme utilizes AC1 and AC0 to decrease video decoding distortion. Congestion level of each AC is recognized by queue length. Video frame priority, D R , queue length of each AC and parameter adjustment are collected to help DFAA to be aware of network conditions so as to decide which AC should the video frame be thrown in. Queue length and statistical information within a time cycle are used as inputs by the FL controller to determine quantitative adjustment of DFAA parameter for the next cycle.

Fig. 4
figure 4

Framework of scheduling scheme

More details can be referred in our paper [21].

When applied to multihop 802.11e networks, we perform several experiments and find that it is not suitable to use D R as AC priority. So we use the default AC priority, i.e., AC2>AC1>AC0.

6 Performance evaluations

6.1 Performance of network layer scheme

Four routing algorithms are evaluated in this sub-section: (1) choose the path with the minimum bottleneck of AC2 length, denoted as “MBAL”; (2) adopt the path with the minimum hop count, AODV; (3) employ multipath AODV described in Section 3 which transmits packets in both paths simultaneously (I frames belongs to the first path and P/B frames belongs to the second path), denoted as “MAODV”; (4) use the integrated multihop routing metric to choose forwarding path, which is proposed in this paper, denoted as “IMRM”.

Similar to Section 3 there are two fixed data streams: one is from N 5 to N 2 and the other is from N 3 to N 2. Data rates of both streams are set to be 250 kbps. In addition, there is a flexible data stream whose data rate is 300 kbps. During the experiment, the source and the destination of this stream will be set to any possible node pair in the network to produce different traffic modes. Although simulation topology remains similar to the 3/4 hop scenario of Section 3, two nodes are added to provide more node pair choices for the flexible data stream. Qualities of the two paths from video source to video destination change with the flexible data stream accordingly. Thus, we can measure the routing algorithms’ flexibility to the environments. To achieve more forwarding opportunity, the priorities of all the data streams are the same as that of the video stream. And all data streams remain synchronous and have a packet length of 1000 bytes.

Foreman (400 frames, 13.3 s) with QCIF resolution is still adopted as video sequence, which is originated from N 0 to N 2. Bandwidth of IEEE 802.11e links is set to 2.5Mbps. Simulation parameters in this experiment are summarized in Table 3. In this table N node means the number of nodes, src v and dst v denote the source and the destination of video stream. R di is the data rate of data stream i.

Table 3 Simulation parameters

Simulation results are shown in Fig. 5(a) to (f), and each figure presents the result of a fixed src d3 with various dst d3. The y-axis represents the number of received bytes (RecvBytes) of video stream at N 2. The x-axis represents the destination node, i.e., “1” means N 1. The last one “avg” gives the average RecvBytes of all destinations. Results when src d3 = N 1/N 3/N 8 are absent because the difference among various routing algorithms under these conditions are negligible.

Fig. 5
figure 5

Received bytes under various traffic modes

Since different dst d3 impose different influences on video stream, we find from the figures that none of the four routing algorithms can provide steady performance when dst d3 varies. In addition, we get the same comparison conclusions from Fig. 5(a) to (c): (1) AODV is the best choice; (2) the performance difference between IMRM and AODV is slight; (3) MBAL achieves the worst performance in most cases. Recall the discussion in Section 3 and notice that the two forwarding paths available for video stream are (N 0, N 5, N 6, N 2) and (N 0, N 1, N 3, N 4, N 2). N 0, N 1 and N 5 are competing for transmission opportunity and N 0 always has the largest amount of packets to be sent. Even if the third data stream is not originated, congestion would occur at N 0 in certain period when the data rate of video stream reaches some threshold. In the case that src d3 = N 0/N 2/N 4, congestion occurs at N 0 definitely. Most packets are dropped at N 0 and packets arriving or waiting to be sent at N 5 and N 1 will not bring congestion to the remaining parts of both forwarding paths. Thus, the main difference between the two paths is the hop count. Remember that a large hop count always causes serious intra-path interference, and then we can get the conclusion that quality of path (N 0, N 5, N 6, N 2) is better than that of path (N 0, N 1, N 3, N 4, N 2). In some cases the third data stream imposes relatively large influence on path (N 0, N 5, N 6, N 2), leading to a larger bot_con length in this path and the wrong choice for MBAL. On the other hand, IMRM will always choose the right path because it takes the hop count, bot_con and bot_lei level into account. Moreover, MAODV shows poor performance because it doesn’t alleviate the congestion level of N 0 but increases inter-path interference between two paths.

In Fig. 5(d) src d3 stays in the former part of path (N 0, N 5, N 6, N 2), causing new congestion to the remaining part of this path in most cases. Therefore, the quality of path (N 0, N 5, N 6, N 2) is worse than that of path (N 0, N 1, N 3, N 4, N 2) in these cases. From the figure we can find that: (1) IMRM always obtains the best performance; (2) MBAL outperforms AODV in most cases; and (3) MAODV still provides poor performance.

In Fig. 5(e) and (f), src d3 stays in or near the latter part of path (N 0, N 5, N 6, N 2), causing new congestion to the remaining part of this path in some cases. Consequently, MBAL outperforms AODV in some cases and in the other cases we get the opposite result. The average results of both algorithms are comparative. Anyway, proposed IMRM algorithm remains the best one.

Then let us discuss the cases that are not shown in Fig. 5. For src d3 = N 1/N 3, new congestion may probably occur at the remaining part of path (N 0, N 1, N 3, N 4, N 2) in most cases. MBAL, AODV and IMRM provide equivalent performance. Similar conclusion appears in the situation when src d3 = N 8. Since N 8 is far from N 2, the influence of the third data stream is not significant.

From the six figures, we can draw the conclusion that IMRM always achieves the best or near the best performance no matter which nodes do src d3 and dst d3 choose. On the contrary, the performances of MBAL and AODV depend on the traffic mode.

Then we come to the video decoded quality, measured by average PSNR (avgPSNR). Figure 6(a) to (d) gives the results. Compared to Fig. 5, the results when src d3 = N 4/N 7 are eliminated because the difference among various routing algorithms in these scenarios are not distinct. From these figures we can find that comparison results of both RecvBytes and avgPSNR are accordant. Notice that in several cases, the video cannot be decoded at N 2. In these cases we set the avgPSNR to a minimum value of 12.

Fig. 6
figure 6

avgPSNR under various traffic modes

6.2 Performance of cross-layer scheme

This sub-section focuses on the performance of cross-layer mechanism, i.e., various routing algorithms are combined with our enhanced fuzzy logic based scheduling algorithm in IEEE 802.11e MAC layer. Queue length thresholds of DFAA-FL are set to 50 and 25. To decrease the number of similar figures, we further eliminate the results when src d3 = N 2/N 6. RecvBytes results when src d3 = N 0/N 5 are presented in Fig. 7. From Figs. 5(a) and 7(a) we can find that the performance of each routing algorithm is improved significantly by using DFAA-FL. And the difference among various routing algorithms remains unchanged. Table 4 gives the improving percentage of Fig. 7(a) compared to Fig. 5(a) and shows that the minimum and the maximum promotions are 14.41 % and 102.86 % respectively.

Fig. 7
figure 7

Results of combining scheduling scheme

Table 4 Improving percentage of DFAA-FL compared to EDCA

Again let us analyze the reason. First, notice that the priority of three data streams is set to 1 which is equal to the priority of video stream. If applying standard EDCA in IEEE 802.11e MAC protocol, all the packets of video stream and three data streams are assigned to AC2. Since queue length of AC2 is limited to 50, many packets including video packets and data packets are dropped at congestion nodes (especially at N 0). Using DFAA-FL, a lot of video packets could be assigned to AC1 and AC0. Although AC1 and AC0 have less scheduling opportunity than AC2, they are owned only by video stream. Capacities of both ACs are used to hold more video packets. Although video packets assigned to AC2 have to compete with data packets all the time, the number of this kind of packets is decreased significantly. Compared to EDCA, more video packets could arrive at the receiver.

Besides the above advantage, Fig. 7(b) shows another characteristic of DFAA-FL. Compared to Fig. 5(d), the difference among various routing algorithms are reduced. Recall that in this scenario path (N 0, N 5, N 6, N 2) encounters serious congestion. Thus the performance of AODV accompanied with EDCA is very poor. When applying DFAA-FL, most video packets are assigned to AC1 and AC0 even if the node encounters serious congestion. Therefore, more improvement is obtained by AODV. Such a characteristic is valuable because we could achieve a fairly good performance even if an unsuitable routing algorithm is chosen when applying DFAA-FL.

Furthermore, we find that the performance of MAODV is improved significantly too in both figures. This is because that both paths are mainly utilized to transmit video packets, leading to a higher dropping probability of data packets.

7 Conclusion

In this paper we propose a cross-layer video transmission scheme for IEEE 802.11e multihop networks, which is composed of two parts. One is the network layer scheme, including path ranking, traffic assignment and traffic adjustment modules. The other is the enhanced link layer scheduling algorithm based on our previous work. Simulation results show that compared to commonly used schemes, proposed routing scheme provides better performance under various traffic modes. Combined with scheduling algorithm, the performance could be further improved.

Next, we plan to consider the region-of-interest coding method to improve subjective video quality and try to solve multi-stream video transmission problem over IEEE 802.11e multihop networks.