1 Introduction

In recent years, video streaming over wireless mesh networks (WMNs) has been of great interest due to the popularity of this application among users [1]. Self-organization, self-configuration, low up-front cost, easy network maintenance and resilience in peer churning are the most important characteristics of WMNs [2, 3]. On the other hand, existing challenges such as node mobility, interference, contention, limited available resources (e.g. bandwidth) and battery energy sources are some important open issues which can affect the perceived video quality on wireless nodes (e.g. gadgets). In order to overcome these challenges, recent studies have introduced different solutions. Analyzing the limitations and the performance of the previous studies such as [1, 46], we can conclude that an enhanced framework for P2P live video streaming over hybrid WMNs needs define four key aspects to guarantee a smooth video playback on gadgets. These aspects are: an efficient video compression standard, a network communication approach, a suitable streaming method and a routing protocol. In this regard, this study presents a brief survey on each of these requirements in the following sections.

1.1 The First Requirement: Video Compression Standard

Based on the first requirement, the H.264/MPEG-4 [7] is introduced as an efficient video compression standard. Using this standard, wireless nodes consume less bandwidth for uploading/downloading video frames. These video frames are arranged in some group-of-pictures (GoPs). Each GoP consists of three types of frames: I, P and B. I-Frame is a reference frame and can be independently decoded. On the other hand, successfully decoding of a P-frame depends on the decoding of previous frame I/P. A B-frame is playable if both the following and the previous frames I/P are successfully received and decoded. This clearly shows that there are decoding dependencies among these video frames which can noticeably affect the perceived video quality by increasing video distortion on receivers.

1.2 The Second Requirement: Communication Approach

Recent studies such as [8, 9] show that peer-to-peer (P2P) networks [5] not only can be considered a possible answer for fulfilling the second requirement, but they also address the problem of frame decoding dependency [10]. In this regard, a peer can easily receive a missed video frame from its nearest neighbor in the overlay instead of requesting it from the video source. This not only reduces end-to-end delay and required upload bandwidth in video source side, but it also decreases the amount of the exchanged traffic in the network, which is very important in wireless communications. Basically, based on the topology, P2P networks are categorized into two classes: tree and mesh. Although tree-based P2P networks are simple to implement, low network throughput and resilience in peer churning [11] are two significant problems derived from this topology. On the other hand, mesh-based P2P networks efficiently address these challenges, because each node has enough redundancy links to others [12]. As a result, mesh-based P2P overlay networks can be considered as a feasible solution for the second requirement: wireless nodes can organize a P2P overlay [13] on top of the underlying network and exchange video frames.

1.3 The Third Requirement: Streaming Method

In a mesh-based P2P network, a peer may simultaneously download from multiple upstream peers and serve multiple downstream peers. Therefore, there are always risks that the same content may be unnecessarily delivered by multiple upstream peers. As a result, the peer needs to make the contents held by different upstream peers consistent before downloading. This refers to content reconciliation concept, which not only wastes the limited available resources in peers, but it also increases the video distortion. Recent studies have shown that random network coding (RNC) [14] is suitable for P2P streaming since it omits the need for content reconciliation among peers [15] and it considerably increases the network resilience in peer churning [16]. In other words, in a simple streaming method, when a peer downloads parts of a video stream from a seed, it should download all of these already downloaded parts from another seed if the current seed leaves the network. However, using RNC, this peer can receive any other independent linear part from other seeds without requesting the just received parts again [17]. Furthermore, according to recent studies, network coding can noticeably increase the perceived video quality on peers in a P2P network [18, 19]. RNC, contrary to XoR-based network coding [20], is topology independent and does not need global knowledge about the entire network [21]. This means that RNC can fulfill the third mentioned requirement for providing better video quality on wireless nodes. We refer interested researchers to [14, 18, 19] for more information about RNC.

1.4 The Fourth Requirement: Routing Protocol

According to our previous studies [4, 22], the necessity of employing an efficient routing protocol for providing high video quality on peers is inevitable because interference, node mobility, contention and collision reduce the performance of the generated P2P overlay over hybrid WMN [23, 24]. For example, capacity reduction is a well-known issue derived from the interference problem in multi-hop WMNs [25]. Node mobility increases the path failure probability, which leads to additional routing operations to find an alternative path. This not only increases the required time for successfully delivering a video frame, but it also results in high routing overhead in hybrid WMNs. The perceived video quality can be noticeably affected by these challenges. As a result, it is necessary to employ an efficient routing protocol, which considers node mobility in the underlying network. This routing protocol should impose low routing overhead, low end-to-end delay and reduced video distortion while providing high network throughput [26]. Concerning the routing protocol, transferring the routing capabilities to the link layer in the IP stack offers a range of advantages as stated in [27]. For example, equipping STA nodes with routing capabilitiesimposes a high cost and sometimes it is not feasible on small gadgets [28].

1.5 An Enhanced Framework

What can be concluded is that providing high video quality on peers in P2P live video streaming over hybrid WMNs needs an enhanced framework, which includes efficient methods for meeting these four requirements. This study proposes and evaluates the efficiency of an enhanced framework, named GAZELLE, for meeting this goal. GAZELLE is generated based on a zonate vision for efficient peer-to-peer live video streaming over hybrid wireless mesh networks with low video distortion and high network throughput among end-users (peers). In summary, this framework exploits the advantages of the H.264/MPEG-4 standard and mesh-based P2P overlay networks. Moreover, it includes an efficient random network coding based approach (MATIN [18]) and a hybrid routing protocol for WMNs (GREENIE [22]). Based on various performance metrics, we precisely and completely evaluate the performance of GAZELLE using OMNET++ simulator [29]. The results show that it considerably outperforms other frameworks in terms of video distortion, frame dependency distortion, initial start-up delay and end-to-end delay.

The remainder of the paper is organized as follows. An overview of related works is presented in Sect. 2. The proposed framework with MIMC capability and simulation results are explained in Sects. 3 and 4, respectively. Finally, the paper is concluded in Sect. 5.

2 Related Work

Recent studies show an evident trend towards video streaming over wireless networks using RNC. Therefore, we present an overview of some important works, which exploit the advantages of RNC in video streaming over wireless network. A survey on the performance provided by RNC is performed in [30] and the results show that RNC can be useful for multimedia streaming over ad-hoc wireless mesh networks. Actually, it considerably increases the network performance in terms of packet delivery ratio, jitter and delay. This study shows that XoR-based network coding negatively affects the video quality and the network performance. This is due to the fact that it adds higher latency and jitter. In order to provide reliable broadcasting in WMNs, R-Code proposes a distributed scheme. In this scheme, a source disseminates the broadcast traffic to some guardian peers using RNC [31]. In this regard, RNC not only reduces the average number of transmissions, but it also decreases the overall latency up to 65% in comparison with a pure reliable broadcast protocol. In another research, a packetized model based on RNC is proposed for Scalable Video Coding (SVC) [32] streaming over wireless channels. The results show that RNC outperforms standard store-and-forward method in WLANs [33]. RNC method is also used in a pipeline network coding for decreasing the decoding delay and increasing the throughput of UDP streaming in a multi-hop wireless network with high loss rate [34]. The proposed approach is easy to implement. However, it is too aggressive in the encoding process, which can lead to a high linear dependency among the packets received in the receivers. The obtained results in [35] show that although RNC can significantly increase the network throughput in a wireless mesh network, it imposes a high transmission overhead and a considerable computational complexity on the network. These challenges are also propounded for video streaming over Smartphones [36]. As can be observed, the mentioned study introduces some strategies for applying in nodes in which they do not need to perform RNC on all received packets. Although it slightly decreases the complexity of RNC, the performance of these strategies can be affected by time-varying channels in WMNs. Moreover, analyzing them in each node requires more CPU power and it leads to longer processing times. Multiple orthogonal channels [37] and network coding are introduced as two main solutions for addressing the problem of low throughput in wireless networks [6]. According to the fact that it is very difficult to efficiently assign channels to interfaces, network coding seems to be a better solution for increasing the network throughput.

Table 1 shows some recent and relevant studies which use network coding (XoR or RNC) for video streaming over P2P networks and WMNs since 2010. What can be inferred from this table is that there is a meaningful trend towards using RNC in video streaming. In contrast to our present research, none of these works generates a P2P overlay over wireless mesh network.

Table 1 Recent studies based on RNC for video streaming since 2010

3 The Gazelle Framework

3.1 Overview

Figure 1 shows that GAZELLE consists of two tiers including MATIN and GREENIE in the first and the second tier, respectively. In this figure, solid lines indicate video stream, while dash lines show the control messages exchanged among different components within a peer or between two peers. As we will check, an integration of these tiers can provide smooth video playback in a hybrid WMN. Important operations such as peer joining/leaving, downloading/uploading video blocks and encoding/decoding processes based on the random network coding are performed in the first tier. This research uses the proposed method in [38] for Tracker server in order to handle the peer joining and leaving processes. Each new joined peer sends a message to the Tracker to get a partial list of active peers in the network using peer manager component. Then, the peer randomly sends connection request messages to the existing peers in the list to select them as its neighbors.

Fig. 1
figure 1

GAZELLE framework

Based on Xie et al. [39], P2P systems generate the P2P overlay randomly (gossip algorithm) because it is more realistic. The RNC-Encoder generates n k-byte encoded video blocks using RNC. In fact, RNC employs an efficient method in encoding and decoding processes. In this study, we call this method EMGIM. In the second tier, in addition to providing efficient routing among peers, transferring video stream to/from neighbors can be performed. The GREENIE routing protocol finds the most stable path for delivering the generated encoded blocks to their destinations. The RNC-Decoder in each receiver progressively decodes the received encoded blocks in cooperation with the EMGIM component before sending them to the buffer. A media player in each peer is responsible for receiving all the required video frames from the buffer and playing them for user. If it cannot get a frame before its playback time, video distortion will be increased due to a higher number of playback skips. In this framework, the video source disseminates a live video steam based on the H.264/MPEG-4 standard among the existing peers in the constructed mesh-based P2P overlay over the underlying hybrid WMN. Although MATIN and GREENIE are completely described in our previous studies, next sections briefly explain their important operations.

3.2 MATIN Framework

A novel coefficients matrix generation and inversion method exists in MATIN. This study denotes it as EMGIM (Efficient coefficients Matrix Generation and Inversion Method). Using EMGIM, MATIN efficiently addresses some limitations present in RNC. MATIN generates the coefficients matrix using n instead on n^2 random values and attaches one instead of n-byte to each k-byte encoded block as its header. This sharply decreases the transmission overhead (sections A.2.2 and A.3 in [18]).

MATIN introduces a simple method for obtaining the inverted coefficients matrix (section A.4 in [18]). The inverted matrix includes many zero values which results in a very low computational complexity as depicted in Fig. 4 in [18]. Moreover, similarly to the Gauss-Jordan elimination method, MATIN provides a progressive decoding process (Table 2 in [18]). MATIN generates the coefficients matrix in which there is no linear dependency among its vectors. This completely removes the computational complexity imposed by the Gauss-Jordan elimination method. In addition, the number of innovative encoded blocks can be increased. The performance of RNC considerably decreases when less than 66% blocks are selected for encoding, because linear dependency increases [40]. MATIN efficiently addresses this challenge (section A.2.2 in [18]). As a conclusion, MATIN considerably improves the performance of a random network coding, especially for video streaming over wireless networks (e.g. WMNs) even if it includes gadgets with limited resources (e.g. CPU power, bandwidth and battery energy source).

3.3 GREENIE: A Hybrid Routing Protocol

GREENIE is a hybrid routing protocol based on reactive and proactive schemes. Using GREENIE, fixed nodes (e.g. mesh routers) use both reactive and proactive routing protocols, while mobile mesh nodes use a reactive protocol. Actually, the backbone of the WMN is restricted to the proactive scheme. Mesh routers keep one routing cache for the reactive protocol and one for the proactive routing protocol (Sections 6.1, 6.3 and 6.4 in [22]) with are looked-up according to specific criteria. This combination makes GREENIE consider the mobility behaviors of nodes (Section 6.1 in [22]) efficiently. GREENIE performs the routing operations atthe link-layer (Section 6.2 in [22]). As a result, there are no concerns about the difficulty of implementing a combined routing protocol in the IP-layer. Finally, it conveniently supports STA nodes using a distributed locator mechanism (Section 6.5 in [22]). Thus, GREENIE is an efficient routing protocol for live video streaming over hybrid WMNs.

4 Evaluation

4.1 Experimental Setup

Random network coding uses the Gauss-Jordan elimination, the most recently used method in the decoding step (RNC-GJE), because it progressively decodes the received encoded blocks [18, 41]. Therefore, it is significant to compare MATIN, which includes EMGIM, with RNC-GJE. Moreover, according to previous studies [22, 42], AODV, as a reactive routing protocol, provides a higher performance than that of proactiveAODV-ST and HWMP routing protocols. Thus, AODV is assumed to be more suitable where there are mobile nodes in a hybrid WMN.

In this regard, comparing GREENIE with reactive routing protocol is more meaningful. As a result, four different cases can be considered in our evaluation processes as depicted in Table 2. In all figures, the related results to cases 1 and 3 are the same as our previous study in [43]. However, in this study, we evaluate cases 2 and 4 for the first time. In these evaluations, STAR WAR IV, a collsingle-layer live video stream based on the H.264/MPEG-4 standard available from [44], which has a G16B1 structure, quantized parameter (QP) = 8 and frame per second (FPS) = 30, is disseminated among peers. Each simulation scenario was run seven times based on the simulation parameters mentioned in Table 3 and the averaged results are depicted in Figs. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 and 15 with 95% confidence interval (CI). INETMANET and OVERSIM, two frameworks in OMNET++, are employed for generating the hybrid WMN and the mesh-based P2P overlay, respectively. Moreover, this study uses some features from DENACAST [45] which is based on the OVERSIM. Finally, in order to have fair comparisons, both GREENIE and AODV exploit the advantages of the designed distributed locator for STA nodes.

Table 2 Different evaluation cases
Table 3 Simulation parameters for EMGIM evaluation over hybrid WMNs
Fig. 2
figure 2

Comparison of VD in percent in four integration cases (scenario 1)

Fig. 3
figure 3

Comparison of DD in percent in four integration cases (scenario 1)

Fig. 4
figure 4

Comparison of ISD in percent in four integration cases (scenario 1)

Fig. 5
figure 5

Comparison of EED in percent in four integration cases (scenario 1)

Fig. 6
figure 6

Comparison of VD in percent in four integration cases (scenario 2)

Fig. 7
figure 7

Comparison of DD in percent in four integration cases (scenario 2)

Fig. 8
figure 8

Comparison of ISD in percent in four integration cases (scenario 2)

Fig. 9
figure 9

Comparison of EED in percent in four integration cases (scenario 2)

Fig. 10
figure 10

Comparison of VD in percent in four integration cases (scenario 3)

Fig. 11
figure 11

Comparison of DD in percent in four integration cases (scenario 3)

Fig. 12
figure 12

Comparison of ISD in percent in four integration cases (scenario 3)

Fig. 13
figure 13

Comparison of EED in percent in four integration cases (scenario 3)

Fig. 14
figure 14

Comparison of improvements based on the metric

Fig. 15
figure 15

Comparison of improvements based on the node type

4.2 Simulation Results Discussion

Network density is one of the most important parameters which can considerably affect the performance of a routing protocol. Moreover, previous studies showed that the efficiency of a suitable RNC method can be only achieved when the number of nodes increases. In this regard, this study considered three different scenarios including different number of STA and mesh nodes. The obtained results of these scenarios are discussed in the following sections. We considered four important metrics in these simulations as follows:

  • Video distortion (VD) The capacity of the frames which are not playback divided by the capacity of all video frames. The capacity is measured in bytes while the VD metric is shown in percent in all figures.

  • Dependency distortion (DD) As mentioned before, there are dependencies among video frames. In this regard, it is possible that a frame arrives, but the decoder cannot decode it because of its dependency on previous/next erroneous or not received frames. For instance, suppose that peer Q completely and correctly receives frame B1, while frames I and P1 from the same GoP have not been received yet. Under these circumstances, the video decoder and the media player neither decode nor does playback B1, respectively, because successful decoding of frame B1 is dependent on successfully receiving and decoding frame I and P1. The Dependency Distortion indicates the capacity of frames such as B1 divided by the total capacity of video frames. FDD is also shown in percent.

  • Initial startup delay (ISD) When a peer joins the network, it starts to buffer a part of the video stream before starting to playback. This takes time to finish. ISD refers to this time in seconds.

  • End-to-end delay (EED) Transmitting a video frame from the video source to a peer needs time. EED refers to this time in seconds elapsed from the time the source generated the frame until it reaches the destination.

4.2.1 Scenario 1: Results and Discussion

In this scenario, 8 STA and 7 mesh nodes playback the live video stream. Figures 2, 3, 4 and 5 show the obtained results for VD, DD, ISD, and EED metrics, respectively. According to Fig. 2, GAZELLE provides better video quality in STA and mesh nodes by introducing less video distortion. For example, in case of a 128-byte block size, GAZELLE gives 70.30, 29.41 and 67.69% improvements in video distortion metric in STA nodes in comparison with the Gauss.JE-Reactive, EMGIM-Reactive, and Gauss.JE-GREENIE, respectively. These values are 66.92, 22.25, and 64.32% in mesh nodes for the same block size. These trends are also the same for other block sizes. In summary, GAZELLE on average gives 43.91 and 36.67% improvement in VD in STA and mesh nodes in comparison with other integration cases in the first scenario, respectively. DD metric is also improved 50.71 and 45.53% on average in STA and mesh nodes using GAZELLE. This clearly shows that GREENIE efficiently supports STA nodes. What can be inferred from Fig. 2 is that EMGIM has considerably effect on the perceived video quality when the block size is 128-byte. The main reason is that high network overhead due to using small block size can lead to noticeable amount of video distortion, which can affect the performance of a routing protocol. This is why EMGIM-Reactive case provides better video quality in comparison with the Gauss.JE-GREENIE. On the other hand, this big difference in the introduced amounts of the video distortion cannot be seen in block sizes of 512 and 1024 bytes, because less transmission overhead is imposed on the network. Aggregation approach can also help the network to experience less video distortion. In this scenario, ISD and EED are two other measured performance metrics, which are improved 12.63 and 33.83% on average in STA nodes using GAZELLE in comparison with other integration cases. These values are 10.98 and 22.52% in mesh nodes, respectively.

4.2.2 Scenario 2: Results and Discussion

Figures 6, 7, 8 and 9 show the obtained results for VD, DD, ISD and EED metrics in the second scenario, respectively. Similar to the first scenario, GAZELLE provides better video quality in STA and mesh nodes in comparison with other three integration cases including the Gauss.JE-reactive, EMGIM-reactive and Gauss.JE-GREENIE. In this regard, GAZELLE improves VD metric 41.50% in STA and 40.50% in mesh nodes in comparison with other integration cases in this scenario. DD, ISD and EED metrics are also improved by GAZELLE 50.06, 16.57 and 32.65% in STA nodes, respectively. These values are 48.63, 13.94 and 40.32% in mesh nodes, respectively.

4.2.3 Scenario 3: Results and Discussion

In order to have a more comprehensive evaluation and comparison, the number of STA and mesh nodes increases in this scenario. Figures 10, 11, 12, 13, 14 and 13 show the obtained results for VD, DD, ISD and EED metrics in the third scenario, respectively. Similar to the first two scenarios, GAZELLE again provides better video quality in STA and mesh nodes by decreasing the amount of all metrics for all block sizes in comparison with the other three integration cases. In this regard, GAZELLE gives 43.44% improvement in VD metric in STA and 39.28% in mesh nodes in comparison with other integration cases in this scenario. DD, ISD and EED metrics are also improved by GAZELLE 51, 16.21, and 32.72% in STA nodes, respectively. These values are 50.66, 18.69, and 36.59% in mesh nodes, respectively. As a result, GAZELLE provides better video quality on nodes, while permitting the network to be scalable.

4.2.4 Complimentary Discussion

In order to have more comprehensive comparisons on the performance provided by GAZELLE and other integration cases, this section precisely compares the achieved improvements in different scenarios based on the considered performance metrics and types of the nodes (STA or mesh). In this regard, Fig. 14 compares the improvements achieved by GAZELLE in comparison with other three integration cases based on the VD, DD, ISD and EED metrics. As can be seen, the highest improvements are achieved for the DD metric. Frame dependency distortion can considerably affect the perceived video quality.

According to Sect. 2.2.2, it is impossible to playback a successfully received video frame (e.g. frame B3) if its reference frame (e.g. frame P1) is not received yet. Another deduction is that GAZELLE introduces the highest amount of improvement for the first integration case (Gauss.JE-Reactive), while the proposed framework introduces the least amount of improvement for the second integration case (EMGIM-Reactive) for all metrics. For example, VD is improved by an average of 54.42 in comparison with the Gauss.JE-Reactive in STA nodes, while it is improved 32.31 and 42.11% on average compared to the second and the third cases, respectively. This trend is also the same for other performance metrics in all scenarios. For example, DD metric is improved by an average of 62.18 and 58.58% in STA and mesh nodes in comparison with Gauss.JE-Reactive, respectively.

Figure 15 depicts the achieved improvements by GAZELLE from another point of view based on the node type. What can be inferred from this figure is that STA nodes exploit the advantages of GAZELLE to a greater extent in comparison with mesh nodes. For example, GAZELLE gives 32.31% improvement in VD metric in STA nodes, while mesh nodes experienced 27.12% improvement in EMGIM-Reactive case. Based on this figure, using GAZELLE, STA and mesh nodes in the Gauss.JE-Reactive and the EMGIM-Reactive cases deliver the highest and the lowest amounts of improvements for VD metric, respectively. This is also the same for DD metric. Moreover, Fig. 16 clearly shows how GAZELLE improves different metrics in different scenarios in percent.

Fig. 16
figure 16

Comparison of improvements by GAZELLE in different scenarios

However, GAZELLE gives the highest and the lowest amounts of improvements for EED metric in (mesh) Gauss.JE-Reactive and (STA) EMGIM-Reactive cases, respectively. The reason is the transmission overhead problem. Actually, mesh nodes move with a high speed and RNC-GJE imposes a high transmission overhead on the network. Therefore, mesh nodes in the Gauss.JE-Reactive experience more EED whereas the reactive routing protocol also imposed additional overhead due to exchanging many RREQ and RREP packets in the network. On the other hand, STA node, which has a low mobility speed, experienced lower amounts of EEDs when EMGIM attaches one instead of n coefficient entries to each encoded block. In this case, reactive routing protocol imposes less routing overhead, because STA nodes do not have a high mobility rate. Although Fig. 15 shows that ISD is improved by approximately the same extent in different nodes, those integration cases which are based on the RNC-GJE method are improved more by GAZELE. ISD refers to the required time for finishing the initial buffer step. Nodes can finish this step as soon as possible thanks to the RNC method, because it increases video frame diversity in the network. However, these nodes may not receive the required video frames as soon as they start the playback step. Therefore, the probability of playback skip can be augmented. This results in more video distortion (VD) and dependency distortion (DD).

5 Conclusion

Video streaming over wireless mesh networks needs efficient streaming and video encoding methods. Moreover, the effect of the employed routing protocol on the video quality perceived on the wireless nodes cannot be ignored. In this regard, this study proposed GAZELLE, an enhanced random network coding based framework for efficient video streaming over wireless mesh networks. This framework consists of two tiers. The first tier, MATIN, includes a novel coefficients matrix generation and inversion method in which the performance provided by a random network coding considerably increases. MATIN noticeably decreases the imposed computational complexity and transmission overhead on wireless nodes. GREENIE, in tier 2, is a hybrid routing protocol which efficiently routes video packets among wireless nodes. The obtained results from a precise simulation leading to various performance metrics show that GAZELLE provides high video quality on nodes by decreasing the amount of video distortion.