Received 12 February 2016; accepted 29 February 2016; published 3 March 2016
WMSN is an ad-hoc arrangement of wirelessly interconnected multifunctional sensor nodes, which allows retrieving video and audio streams, still images, and scalar sensor data. It is expected that there will be different multimedia applications  with different QoS metrics will exist; such as, industrial process control  , automated assistance and family monitors  , multimedia surveillance  , advanced healthcare delivery  and traffic monitor  . However, transmitting multimedia over such type of networks  has many challenges, due to limited nodes in terms of computational capabilities, constrained battery lifetime, limited memory and limited throughput. In addition, wireless channel for communication introduces interference, shadowing, multipath fading, and high signal attenuation effects, that causes fluctuated bandwidth due to link failures and congested packets.
In addition to multimedia QoS guarantees, Network lifetime and fair usage of battery power add additional challenges, due to sensors are battery powered, progress in battery technology shows limited advances and replacing such battery is costly or impossible.
Routing protocols tend to increase throughput and decreasing end-to-end delay. Where traditional single path routing protocols are not efficient for QoS requirements of video transmission such as delay and loss. Multipath routing  is the optimal approach that increases bandwidth, reliability, decreases delay, and evenly distribute energy consumption in the network.
Cross-layer design techniques  -  are widely used to handle multimedia transmission over WSN. Previously employed traditional OSI layered architecture, which organizes networking services into specific layers without sharing or communication between them. However, cross-layer design violates the traditional approach in many different ways such as allowing sharing information across layers, direct communication between non- adjacent layers, creating new interfaces between layers or merging adjacent layers, which optimize the performance of the network.
In this work, energy efficient and QoS aware framework for transmitting multimedia content over WSN is presented. It is an extension of previously introduced  , so that current framework includes four main characteristics: adaptive MPEG-4 video encoder, packet, queue scheduling and lately introduced path scheduling.
EQWSN is a cross-layer framework, where the physical layer sends current wireless channel state to the application layer, so that application layer configures video encoder parameters according to the current wireless state of the channel. Each video packet has different priority and effect on video transmitted, so for packet effect on video transmitted, Sink node evaluates and analyzes suitable video encoding parameters and sends it back to source node to apply it, while for packet priority it schedules packets so that in case of congestion, it drops less important packets without affecting video quality. Finally, framework extended to schedule different packet types on different paths according to packet type and suitable path’s evaluated cost considering network lifetime.
EQWSN is a promising framework that can optimize both bandwidth, multimedia quality and network lifetime. It combines cross layer design with multipath routing, packet and path scheduling in one single framework to transmit multimedia content over WSN.
The remainder of the paper is organized as follows: Section two presents a survey on cross layer protocols for WMSN. In Section three, the new framework is presented. In Section four, an evaluation of the newly introduced framework using extensive simulation scenarios is presented. In Section five, the paper is concluded.
2. Related Work
Path scheduling aims to establish path between source and destination node not only using optimal hop count as employed by traditional routing protocols but also using other application QoS metrics such as delay, bandwidth, loss and energy requirements, which depends on application of the WSN.
In this work  a video transmission scheme which is content aware that schedules different video packets over different paths, so that high priority packets are transmitted through high quality paths. Source nodes send control messages periodically to sink node to exchange state of each routing path. Sink node collects path status and ranks each path using (energy level, buffer status, hop count and path reliability) and reply to source node with new path rank. Therefore, that source nodes later route packets according to its type through suitable path. Similarly  uses Ants-based multi-QoS routing algorithm which rank paths using (loss ratio, available memory, queueing delay and remaining energy), Other work  apply AI technique for scoring paths, it uses link expiration time, probabilistic link reliable time, link packet error rate, link received signal strength and residual battery power to calculate score of each path using fuzzy logic. While this work  uses signal strength, remaining energy and available memory to score each path, while in  uses drain rate and delay for scoring path, other cross layer protocol  uses energy level and free buffer space.
In this work  it introduced a new architecture for video transmission over WSN, which is called energy efficient and high quality video transmission architecture (EQV-Architecture). This architecture affects application, transport and network layers of the communication protocol stack. It considers wireless video sensor nodes limitation like limited computing power and battery power in addition to preserving video quality at the receiver side. Application, transport, and network layers are the layers in which the compression protocol (Modified MPEG), transport protocol, routing and dropping scheme are proposed respectively.
In  a distortion minimization technique is introduced which used a strict energy budget through UEP (unequal error protection) approach by assigning different priority levels according to image-pixel position or value information. It is a position oriented resource allocation scheme across PHY, MAC, APP layers for image transmission over WMSN. It assumes that communication loss in p-data (position information) which contains structure and position information has significant impact on the overall quality of the received image than v-data (value information), which contains image pixel value information. It depends on wavelets to compress image data at APP layer as it can easily separate position and value information via coding pass partition, it is noted by this work that correct decoding of p-data depends only on correct decoding of previous p-data segment while correct decoding of v-data depends on successful decoding of previous p-data and v-data. Cross layer, approach was employed to maximize total distortion reduction and minimize energy consumption using optimization function, which considered BER (Bit error rate), ARQ (Automatic repeat request) and data transmission rate as resources for allocation, which used for transmitting each p-data and v-data segments.
The work of  introduce a unified cross layer scheme, which aggregates common protocol layers into a single cross layer protocol XLM for resource constrained sensor nodes. XLM provides high reliable communication with minimal energy consumption, adaptive communication and local congestion control. It is based on an initiative determination concept that allows each node to decide to participate in a communication based on four conditions (reliable links for communication, limits the traffic a node can relay to prevent congestion, buffer overflow avoidance, energy consumption distribution) that must be satisfied before a node decides to start communication.
While previous work focus on multimedia QoS, there are several work   aim to maximize network lifetime of each node and use battery fairly to prolong time before network partitioned, it recommends to transmit data at the minimum power level to maintain links or dynamically choose transmit range of each node to minimize energy consumption. While other work   balance energy usage of all mobile nodes by selecting under-utilized route other than shortest path. Other work  chooses inactive communication to minimize energy consumption where some nodes are scheduled to sleep to keep minimum number of nodes waken for transmission while others get sleep to minimize energy consumed while nodes is inactive.
In this work  LESOP (Low Energy Self-Organizing Protocol) for target tracking applications in large scale wireless sensor networks deployment is presented, it employs a cross layer approach where both Application and MAC layers cooperate directly while Transport and Network layers are excluded to simplify protocol design. It introduces a new localization algorithm that considers trade-off between energy consumption and tracking error. It is a connectionless networking protocol, which advocates consolidation of OSI layers headers and improving energy efficiency by excluding initial link acquisition and shared routing information. It implemented a new architecture called EWI (Embedded Wireless Interconnect) where only two layers exists, bottom wireless link layer that provides wireless transmission module to the upper system layer which exploits trade-off between QoS and energy consumption.
3. Proposed Energy Efficient and QoS Aware Framework for Video Transmission over WSN
EQWSN framework consists of four components (Adaptive Video Encoder, Packet Scheduling, Queue Scheduling, Path Scheduling) as will be explained in next subsections, that handle multimedia transmission challenges such as: wireless link failures, limited bandwidth, congested packets and constrained battery resources.
It uses cross-layer communication between Application, Network, Datalink and Physical layer as shown in Figure 1. At application, layer MPEG-4 encoder adjusts encoding parameters according to current wireless channel status, which is communicated from physical layer and recommendation from sink node  . Moreover,
Figure 1. Energy efficient and QoS aware framework for video transmission over WSN.
it apply path scheduling to route packets through different paths according to packet type and path’s QoS guarantees; finally it apply queue scheduling so that it can drop less important packets in case of network congestion without affecting the video quality.
There is a continuous feedback messages sent from Sink node to source nodes, to propagate back both recommended video encoding parameters and calculated path cost. Received video will be analyzed at sink node  and could be analyzed using PLSR (Partial Least Squares Regression)  or other video quality assessment techniques (such as VQM, MS-SSIM, …)   , so that, the optimum MPEG-4 encoding parameters optimized for current wireless channel state is communicated back to source nodes. Source node will configure MPEG-4 encoder using new video encoding parameters sent from sink, in addition, source node will select suitable path at time of sending new video packet according to current packet type and communicated path cost from sink node.
A. Packet Scheduling Component
MPEG (Moving Pictures Experts Group) MPEG is the video compression standard for the moving object, which reduces the quality of data used to represent the video images. It is an inter-frame video compression algorithm that exploits temporal correlation between frames to achieve the high level of compression by independently coding reference frames. It is found in  that the number of corrupted frames due to loss of I, P or B depends on the type and position of the lost frame. Where the I-Frame will cause distortion to (N + M − 1) frames; while P-Frame will cause distortion to (2M + N − 2)/2 and finally the B-Frame contains temporal information and is not used as a reference, as their loss only causes motion artifacts and it does not spread errors. Therefore, each packet type will need to be scheduled differently according to its type  , where I-Frames will need more protection than P-Frame and B-Frames to reduce its loss effect of video quality. EQWSN framework’s queue and path scheduling will use packet type information communicated from application layer so that higher priority packets such as I-Frame will be queued and routed in way better than lower priority packets as will be explained in next sub sections.
B. Adaptive Video Encoder Component
The structure of Group of Picture (GOP) affects video transmission over lossy wireless sensor network   . Parameter N specifies the I-frame interval and parameter M determines I or P frame interval. The higher frequency of I-Frame   will reduce error propagation and transmit video with better video quality, but on the other hand it will reduce compression ratio of the video which will produce large sized video file. Based on results found in  , EQWSN framework’s sink node periodically sends recommended video encoding parameters GOP total length (GL) and number of B-Frames (Bf) to source node after analyzing video received during previous period. It recommends optimum parameters according to current wireless channel status (Packet Loss Ratio, BER, …).
A. Queue Scheduling Component
EQWSN framework’ queue component differentiates between two types of packets, data and video packets, where data packets are less important than video packets. Video packets are further priotorized according to its frame type, so that I-Frame packets are the highest priority followed by P-Frame and B-Frame and finally data packets. After application layer classified packets, each intermediate node can schedule incoming packets as shown in Figure 2. Buffer is divided into high and low priority queues, and according to the priority of each packet, the scheduler will queue or drop according to priority of packet and the status of the buffer.
If the incoming packet has high priority then it will be queued in the high priority queue as long as there is a space for it. Otherwise, it will search low priority queue for lowest priority packet to replace it. While low priority packets is queued into the low priority queue in case there is a room for it; otherwise it will replace the lower priority packet in lower priority queue or be dropped, and at time of dequeue, it will dequeue higher priority packet then lower priority.
B. Path Scheduling Component
The new framework identifies packet type at the Application layer then communicates it with Network layer so that the path is scheduled according to packet type. Where higher priority packet will be routed through the path with higher QoS guarantees, while lower priority packets will be routed through lower QoS guarantee path.
It is based on AOMDV  multipath routing protocol which routes packets regardless its type, it uses optimal number of hops for routing packets; while EQWSN routing protocol which is a modified version of  that
Figure 2. Adaptive priority queue.
uses path cost function Equation (4) to rank each path based on network energy status, available buffer, number of hops, lost packet. EQWSN preserves power consumed in network by choosing paths with less power consumption until network reach the energy threshold value, and then it favors paths with better energy reserve regardless power consumed.
EQWSN introduces new messages “Metric-Update” to AOMDV protocol, which sent periodically from source node to sink node as “Forward-Metric-Update” message, which collects status of each node along different paths toward sink node. Sink node will evaluate each received message from different paths and generates “Backward-Metric-Update” message to be sent back through path which it came from, with calculated cost of such path.
Upon receiving “Forward-Metric-Update” message at intermediate nodes along path, it will update such message with its current energy level if it is less than minimum energy stored within message, otherwise no updates as shown in Equation (1), where re is remaining energy of node S along path P.
Intermediate nodes, which received “Forward-Metric-Update”, will updates message with its current free buffer count if it is less than minimum free buffer count within message, otherwise no updates as shown in Equation (2). Where bf is free buffer at node S along path P.
Upon receiving “Forward-Metric-Update” message at intermediate nodes along path, it updates message with Pw total average power consumed per each node along path whether at time of sending or receiving as shown in Equation (3). Where Tx is average power consumed at sending time at node S along path P, and Tr is average power consumed at receiving time at node S along path P.
Each message received along different paths at Sink node will be evaluated to calculate cost of each path as shown in Equation (4), where are weight factors for each term, so that it is configured by user according to current application of the network.
The first component ω is the network lifetime term, which is evaluated as shown in Equation (4.1), where is energy threshold. So that if minimum energy value along path p, is greater than energy threshold value, it uses power consumption term pw(p) (Equation (3) which is total average power consumed along path p, otherwise it uses Min.Energy(p) (Equation (1) term which is the minimum remaining energy found along path p.
For the second component it represents minimum buffer found along path p, while third component it measures hop count for this path where Max HC is maximum hop count in the network, while HC(p) is hop count of current evaluated path. Finally fourth component it measures path reliability as it measures ratio of packets delivered to sink node immediately to total packets received.
Sink node will evaluate each path’s cost after receiving “Forward-Metric-Update” message using Equation (4), then it sends back along such path a new corresponding message “Backward-Metric-Update”, which it came from, so that each intermediate node update its routing table with new cost for such evaluated path.
During data and video sending phase, source node will select path toward sink node according to type of packet and suitable path cost; so that higher priority packets will be routed through paths with higher cost value. Each packet is modified to carry path id that identify hops of the selected path, so that intermediate node will select next hop according to path selected previously by source node.
4. Simulation and Results
In this section EQWSN framework will be compared to non-adaptive QPS, QPS+  , which uses static encoding parameters GL = 7 and Bf = 2 regardless wireless channel state, while EQWSN framework uses optimal GL and Bf parameters  depending on wireless channel state; in addition it apply packet, queue and path scheduling as explained in previous section. QPS-Scheme  applies packet, path and queue scheduling techniques, where queue priority scheduling is used at data link layer that uses 4 different queues to priotorize packets in round robin way. Finally, it uses path scheduling that route packets according to its type but without considering fair usage of battery through network. QPS+ is similar to QPS scheme but it uses Equation (4.1), which considers energy at scheduling time similar to EQWSN.
The results in this work obtained using NS2 network simulator  to simulate packet transmission over the wireless network. The three schemes use similar settings as shown in Table 1. There are 150 nodes 2 of them are video nodes which sends video packets to sink node and every other node sends data packets of 255 bps to sink node. Nodes are uniformly distributed in rectangular field of dimension 1000 m × 1000 m.
Evalvid framework  -  used to generate MPEG-4 video traffic using ffmpeg  to transmit Paris video with 1065 frame. Our used performance metrics are PSNR, End-to-End Delay, Loss, Network Lifetime and energy usage among nodes.
Figure 3 shows that EQWSN gives better video quality of 30.40 dB than other schemes as it depends on communicated packet type that allow higher priority frames such as I-Frame to be kept without dropping in case of congestion and routed through more reliable paths in addition adaptively uses suitable encoding parameters according to current wireless channel. While other Schemes QPS, QPS+ show similar PSNR of 28 dB, where their queue scheduling does not keep high priority packets in case of congestion, in addition EQWSN reduces energy usage of the network so that more packets can be transmitted.
B. End-To-End Delay
Figure 4 shows that EQWSN scheme recorded an average of 24 milliseconds while other schemes recorded average 27 milliseconds. EQWSN, QPS and QPS+ schemes use path scheduling that depends on an overhead of Metric-Update messages to propagate network status and path cost to nodes, such overhead causes delay or loss of packets flow in the network.
C. Lost Frames
Figure 5 shows that EQWSN scheme recorded average loss ratio of 5.5, as EQWSN in congestion time keeps higher priority packets by replacing lower priority packets in adaptive priority queue; while QPS schemes just drop packets even they are high priority in case of overflow.
Table 1. Parameters of simulation scenario.
Figure 3. PSNR.
Figure 4. End-to-end delay.
In addition, EQWSN uses energy wisely among nodes to keep network lifetime long so that more packets can be transmitted without loss.
D. Network Energy
EQWSN not only maximized network lifetime by choosing paths with higher remaining energy, but also used energy fairly through the network by choosing paths with lower energy consumption. It is shown in Figure 6 that EQWSN and QPS+ schemes recorded better energy usage value 24.02 and 23.77 joules through simulation time, while QPS scheme is 23.72 joules as it only seeks to select paths, which has better reserve of energy. while EQWSN and QPS+ select paths with low cost of power consumption as explained earlier, in addition selecting paths with better reserve of energy in case network reach critical threshold energy value.
In Figure 7 shows minimum energy recorded through simulations, both EQWSN & QPS+ tries to save energy usage by using minimum energy cost of routing and that causes to lower their energy till network reach its energy threshold then it starts to switch back to avoid paths with nodes have lower energy values.
Figure 5. Lost frames.
Figure 6. Energy usage of nodes.
Transmitting video over WSN suffers from huge amount of bandwidth, which necessitates designing a single framework that combines different protocols to handle such challenge. In this work, EQWSN is an energy efficient and QoS aware framework for video transmission that adapts GOP structure/size according to the current wireless channel state, and an adaptive priority queue that schedules incoming packets and drop less important packets without affecting overall video quality. Finally, it modified AOMDV multi-path routing protocol to
Figure 7. Minimum energy through simulation time.
schedule paths according to packet type and balance traffic and energy over multiple paths instead of single path transmission. By comparing EQWSN to QPS schemes QPS+, it gave better video quality with average PSNR value 30.40 dB. In addition EQWSN showed great energy saving and balanced energy consumption scheme over other schemes, it recorded 24.02 joule as average energy consumed by all nodes through simulation while QPS recorded 23.72 joule.