GeoQoE-Vanet: QoE-Aware Geographic Routing Protocol for Video Streaming over Vehicular Ad-hoc Networks

: Video streaming is one of the challenging issues in vehicular ad-hoc networks (VANETs) due to their highly dynamic topology and frequent connectivity disruptions. Recent developments in the routing protocol methods used in VANETs have contributed to improvements in the quality of experience (QoE) of the received video. One of these methods is the selection of the next-hop relay vehicle. In this paper, a QoE-aware geographic protocol for video streaming over VANETs is proposed. The selection process of the next relay vehicle is based on a correlated formula of QoE and quality of service (QoS) factors to enhance the users’ QoE. The simulation results show that the proposed GeoQoE-Vanet outperforms both GPSR and GPSR-2P protocols in providing the best end-user QoE of video streaming service.


Introduction
Vehicular ad hoc networks (VANETs) are a challenging class of mobile ad hoc networks (MANETs) [1]. They are designed for communication between vehicles (V2V) or between vehicles and road infrastructure (V2I) [2]. VANETs have attracted a great interest by car manufacturing industries, academia and government agencies [3]. They can provide a very wide variety of applications that overlay all the fields of our daily road life. These applications can be generally grouped into two main categories [4]: safety applications and comfort (non-safety) applications.
Researchers have achieved much great progress on many studies in the area of VANETs. However, there are still some challenges that need to be investigated and evaluated like, video transmission, security, communication, etc. Video streaming in particular has been considered as a big issue over VANETs due to the high mobility environment as well as the huge enrichment by the video data. Moreover, due to the strict of the quality of service (QoS) metrics (such as packet loss, delay, jitter, etc.) on the video transmission [5,6]. Figure 1 shows some applications of video streaming over VANETs.  [7].
The theory of qualtity of experience (QoE) has been widely used to represent user perception while the quality of service (QoS)-based approaches assess the streaming services quality through network-oriented metrics [8]. Consequently, adopting the QoE factors to control the video streams in VANETs is very essential in context of video applications [9]. For evaluating network service, many models and tools have been proposed for QoE modelling, monitoring, assessment and management with the exploration of many influencing QoS factors [10].
In VANETs environments, the routing task is a very challenging process because the mobility of the nodes themselves and routers at the same time. The way of exchanging information is determined by the routing protocol. Routing protocols in VANETs are generally classified into two categories: topology-based and position-based routing protocols [11]. Several studies confirm that the position-based routing protocols perform well in VANETs [12]. In these protocols, the routing of information from source to destination is based on selecting the nearest vehicle from the destination as the next hop. The greedy perimeter stateless protocol (GPSR) [13] is among these family of protocols, and considered the most known and studied geographic routing protocols.
The GPSR assumes that each node knows its own position and broadcasts it periodically. The next-hop forwarder node selection is based on geographical position [13]. It offers two modes for finding the next hop which are greedy forwarding and perimeter forwarding. In greedy forwarding, the packets are transmitted from one node to another by selecting the geographically closest node to the destination in the range of wireless transmission. When greedy forwarding fails, the protocol switches to perimeter forwarding, which consists of sending the packet to one neighbour of the current node by using the right-hand rule [12]. This paper proposes a new protocol that improves the greedy forwarding strategy used in many geographic routing protocols such as GPSR protocol. This new protocol is a QoE-aware geographic routing protocol for video streaming over VANETs called GeoQoE-Vanet. In the proposed protocol, the selection of relaying vehicles is not based only on the nearest to the destination, but should satisfy additional criteria to ensure better QoE. GeoQoE-Vanet evaluates the neighbouring vehicles based on correlated QoE factors and selects one that satisfies the best QoE. A correlation formula between the QoE and QoS factors has been developed. It allows evaluation of each nearby vehicle and selecting the most suitable next forwarding hop, as we stated in [14]. The proposed protocol is more suited for non-real-time applications such as advertisements and entertainment.
The rest of this paper is organized as follows. Section 2 gives an overview of the geographic routing protocols and how QoS and QoE are considered. Recent and relevant schemes and mechanisms that improve the QoE in VANETs are presented in Section 2. Section 3 describes the proposed QoE-aware geographic routing protocol. The performance evaluation and comparison are discussed in Section 4. Section 5 concludes the paper and presents some perspectives.

Related Work
Several researches have shown that position-based protocols are the most appropriate for VANETs [15]. In these protocols, the routing of information from source to destination is based on choosing the closest vehicle to the destination as the next hop. In the geographic routing protocols, the choice of the next-hop relay vehicle influences the quality of received information.
Many studies proposed various improvements to GPSR by using other information in addition to the position in the routing process. In these improvements, some researches consider the speed and the direction to estimate the distance in the next forwarding node selection process [16,17]. Others used predicted positions based on speed and direction [18][19][20]. Some studies introduced other factors as link lifetime [21], link reliability [22], link available time [23], link state [24], road density [25], buffer size [26], and social attributes [27]. Furthermore, the weighted numerical functions of many factors are used in [28,29]. The store and forward mode is used as an alternative to the perimeter farwarding in [30]. The selection of two different relays to forward information in order to enhance QoE has been proposed in [14].
Geographic protocols use various techniques and mechanisms in the routing process. Geographic source routing (GSR) is intended for use in urban scenarios [31]. In GSR, the source vehicle calculates the shortest path to the destination based on the street-map. On this path, it selects the sequence of intersections through which the data packet must be routed. Cross-layer weighted position-based routing (CLWPR) uses the prediction of the node's position, the navigation information and the quality of the links in the next-hop selection [32]. In CLWPR, links quality is estimated based on the SNIR (signal to noise-plus interference ratio) value and MAC frame error rate. This information is combined into a weighted function to obtain the weight of all neighbouring vehicles. Link state aware geographic opportunistic routing protocol (LSGO) combines the geographic location and the link state information as the routing metric [33]. In this protocol, link quality is measured using the enhanced expected transmission count (ETX) metric.
Moreover, some topology-based protocols use the location in their routing mechanism. Location aided routing protocol (LAR) is an on-demand routing protocol [34]. It uses vehicles location information to decrease the routing overhead. The flooding mechanism is used in a restricted area called "request zone" during route discovery. The route request packet for a destination in LAR is flooded in this zone instead of the whole ad hoc network. GEOADV is a hybrid protocol which combines both reactive and geographic routing [35]. Routes from the source to the destination are created reactively. In path construction, an intermediate vehicle is chosen in the path if it maximizes the path weight. The vehicle's weight is computed by a numerical formula including speed, movement direction and link quality.
In these mentioned protocols, video services are not considered in the routing mechanism. Few protocols are designed to manage video streaming. Video reactive tracking-based unicast protocol (VIRTUS) is a geographic routing protocol dedicated for video streaming in VANETs [36]. It uses the vehicle's predicted state (position, velocity and bearing) and the maximum waiting time in the relay selection process. 3MRP is a geographic multimedia multimetric map-aware routing protocol based on hop-by-hop forwarding decisions in a smart city [37]. The next-hop selection is based on a weighted numerical function of the distance to the destination, vehicles density, trajectory and available bandwidth. It uses the map to avoid sending packets to vehicles behind buildings. In the discussed related litterature, routing decisions can not satisfy the video services requirements. They should take into consideration the end-user QoE improvement in the selection of the relay vehicles.
However, there are some studies that focused on the user QoE in routing decisions for multimedia services. Distributed beaconless dissemination (DBD) is a geographic routing protocol for the dissemination of live video flows on multimedia highway VANETs [38]. It creates Vehicle to Vehicle (V2V) backbones for video packet relaying to enhance the end-user experience. QoE-driven and link-quality receiver based (QOALITE) is a protocol for live video dissemination with QoE in VANETs [39]. For relaying vehicle selection, it uses location and link quality. Distributed QoE-aware receiver based (DQORE) is a QoE-aware location-based protocol for the dissemination of real-time videos in VANETs [40]. It is a coupling of QoE-aware receiver based (QORE) mechanism and a distance-based statistical routing protocol. The election of relay nodes in video dissemination is based on QoE-driven parameters and vehicle position. These protocols are designed for video dissemination and cannot be used in unicast video services.
The distinction between the proposed scheme and the other geographic routing protocols lies in the selection of the next forwarder vehicle. In GeoQoE-Vanet, this process is based in addition to the QoE measured based on packet loss rate, delay and jitter, on the prediction of the distance to destination calculated according to the position, speed and direction, stored in the table of neighbours. Morever, a packet is sent twice using two different relays when the QoE of each neighbouring vehicle is low. For performance evaluation, three QoE objective metrics are used to measure the video quality level from the user point of view, which are peak signal-to-noise ratio (PSNR) [41], structural similarity (SSIM) [42], and, mean opinion score (MOS) [43].

QoE-Aware Geographic Routing Protocol for Video Streaming over VANETs
The GeoQoE-Vanet is a QoE aware geographic routing protocol for video streaming over VANETs, based on the selection of the best next forwarding vehicle from the neighbours of the current vehicle. The information used in the selection decision is collected by vehicles where each one records its state information, stores it locally and broadcasts it in beacon messages to surrounding vehicles. When a vehicle receives a beacon message, it inserts or updates the entry of the beacon sender vehicle in the neighbours' table. The factors used in the proposed protocol are position, direction, speed and link expiration time as mobility factors, and packet loss rate, delay and jitter as QoS factors to estimate the vehicle's MOS (MOS routing ). When a vehicle decides to send a video to a destination, it first selects the best forwarding vehicle based on information stored in its neighbours' table, then sends the video information to the selected vehicle. The selected vehicle resends the received video data to another vehicle in the same manner and this process is repeated until reaching the destination. An example of a vehicle neighbours' table is shown in Table 1. Figure 2 shows the selected relay vehicle based on the proposed next-hop selection mechanism. In this example, the vehicle 28 is selected by the source (S) despite the fact that it is not the closest to the destination (D). However, it ensures, better than other neighbours of (S), the perceived video quality. When the state of the sender's neighbours does not satisfy the QoE requirement and there is a risk of packet loss, a second different relay is used to send the same packet as proposed in the previous paper [14]. In the proposed protocol, only vehicle to vehicle(V2V) communication is used and the data is forwarded between vehicles without using the infrastructure to vehicle (V2I) communication.   The beacon message used in GeoQoE-Vanet is the usual beacon packet employed in vehicular networks. It is periodically droadcasted by each vehicle. It has been slightly modified by adding information needed by GeoQoE-Vanet as depicted in Figure 3. Each vehicle records its delay, jitter and packet loss rate. Before sending a beacon, it estimates its MOS routing then inserts it in the beacon message. In this protocol, the mobility factors are used to predict the future position and the link quality of all vehicles in the vicinity during the selection phase of the next relay.
The rest of this section is devoted to the presentation of the quality factors used in the proposed protocol, the developed correlation formula of these factors and the mechanism of the next-hop selection. For the remainder of this paper, the adopted notations are presented in Table 2. Table 2. Adopted notations.

Notation
Descriptions Set of neighbours of vehicle u w(u, v) Weight vector assigned to a link (u, v) w i Individual weight of metric i t, t cur , ∆t, T delay , T r , T s , δ Time The transmission range T delay (u) Mean of all vehicle links delays card(N(u)) Number of neighbours of the vehicle u J(u) Jitter of a vehicle u J (u, v) Jitter between the vehicles u and v PL(u) Packet Each link between two vehicles u and v is associated with a link weight vector w(u, v) = (w 0 , w 1 , . . . , w n ) in which w i is an individual weight component for a given factor, that is, a single metric such as MOS routing , link lifetime, and distance.

Mobility Metrics
The GeoQoE-Vanet protocol uses two mobility metrics which are: distance from the destination and the link expiration time. In computing these metrics, the predicted positions of neighbours are used to increase the probability to select the most stable relay vehicle. The detailed descriptions of these metrics are given in the following subsections.

Position Prediction
The proposed scheme assumes that vehicles broadcast periodically their information using beacons. Hence, each vehicle build and maintain updated its neighbours' table. To increase the possibility to select the best relay vehicle, GeoQoE-Vanet uses the predicted positions of neighbours based on their last known positions, velocities, and moving directions.
The predicted position of a vehicle u which has a position (x, y), absolute velocity s, and direction θ at time t can be computed using Formula (1): x p = x + s cos(θ)∆t y p = y + s sin(θ)∆t (1) where x p , y p represent the coordinates of the vehicle's predicted position. Time interval ∆t is calculated by ∆t = t cur − t, where t cur is the current time and t is the time of the past position.

Distance Calculation
In geographic protocols, the position of the destination vehicle is a crucial information. It is assumed that it is given by a service which is out of the scope of this paper. In the relay selection phase, the sender uses the predicted position of its neighbours to calculate the distance between neighbours and the destination using Equation (2): where (x p , y p ) is the predicted position of one of the neighbours and (x d , y d ) is the position of the destination vehicle.

Link Expiration Time
The high-speed of vehicles in VANETs is the source of fast topology changing, which leads to frequent link breakage. The protocol should select the vehicle which gives the longest connection time. To calculate the link expiration time (LET), the proposed scheme uses the formula proposed in [44]. LET is considered as the period of time during which two vehicles stay connected. Let (x i , y i ) and (x j , y j ) be the coordinates of two vehicles i and j which are moving in directions θ i , θ j where (0 ≤ θ i , θ j < 2π), having speeds v i and v j respectively and let r be the transmission range. LET is estimated using Equation (3):

QoS Metrics
In the proposed protocol, three QoS metrics are used: packet loss rate, end-to-end delay, and jitter. These factors may introduce distortions in the video that affect the quality of the received video. The delay affects the quality of the video, especially in the beginning by causing the start-up delay. In the rest of the video transmission, its effects could be avoided by the use of a buffer. Jitter makes video packets waiting in the queue to be displayed in the correct order which may freeze the most recent frame until the belated frame arrives. The belated frame would be played briefly to preserve the timing of other arrived frames. Packet loss degrades the quality of received video frames. It can cause frame loss, which produces the freezing of a recent frame and the jump to the next arrived frame. This may make the video useless. Packet loss is usually caused by congestion or corrupted packets [45]. The three metrics are used to estimate the MOS routing of the vehicle and serves together with mobility metrics for the selection of the next forwarding vehicle.

Delay
The link delay between two vehicles is the transmission time over their interconnecting link. It can be calculated using Equation (4) proposed in [46]: where T r is the reception time of the message and T s is its sending time.
The vehicle delay is the mean of all its links delays with the neighbouring vehicles and is calculated using Equation (5): where card(N(u)) is the number of neighbours of vehicle u.

Jitter
Jitter is considered as an important metric in many VANET applications [47]. It is defined as the average of delay variation between two consecutive packets received at the destination [48]. The jitter of a vehicle u is defined as the average of jitters of transmitted packets to the neighbouring vehicles [49]. It is calculated using Equation (6): where card(N(u)) is the number of neighbours of vehicle u and J(u, v) is the jitter between vehicles u and v.

Packet Loss Rate
The vehicle packet loss rate is the ratio between the number of lost packets and the total of packets sent or received during a period of time. For a given vehicle u, the packets can be either received correctly or received but dropped. Packets can be sent correctly or dropped while sending. Many reasons cause packets drop such as errors, discarding, packet's lifetime expiration, congestion or drop from the queue. The packet loss rate PL(u) of a vehicle u is calculated using Equation (7) proposed in [50]: PL(u) = (PKTs rd + PKTs sd ) (PKTs rc + PKTs sc + PKTs rd ) where PKTs rc is the number of packets received correctly. PKTs rd is the number of packets received but dropped. PKTs sc is the number of packets sent correctly and PKTs sd is the number of packets sent but dropped.

Next Hop Selection in GeoQoE-Vanet
The GeoQoE-Vanet protocol enhances the greedy forwarding to ensure better quality in each next-hop selection. Vehicles broadcast periodically a beacon message containing their information every δ time units. The exchanged beacons allow each vehicle to build and maintain a table of its neighbours. The beacon message contains the vehicle information (Id, position, moving direction, speed, MOS routing , Sending time). Before sending a beacon, each vehicle computes its QoE as given in Formula (8) then converts it to MOS routing using Formula (9). To compute its QoE, a vehicle uses packet loss rate, jitter and delay. These metrics have a significant influence on QoE. There are many models to calculate or predict the QoE in wired networks [51,52] or wireless and vehicular networks [7]. These models are generally used to calculate or predict end-user QoE. They are time consuming and need a lot of information. GeoQoE-Vanet uses Formula (8) proposed in [53]: where k 1 and k 2 are adjustment parameters for the weight of the other parameters. k 1 unit is millisecond (letting be the QoE parameter dimensionless) and k 2 gives higher importance to jitter against delay. T delay (u), J(u) and PL(u) are the vehicle delay, jitter and packet loss rate.
To obtain the mean opinion score MOS routing (u) by conversion of its QoE, the vehicle u uses Formula (9) proposed in [53]: where Q MI N and Q MAX are the low and the high threshold values respectively. Upon receiving a beacon message, the table of neighbours is updated. Algorithm 1 shows the actions taken by the vehicle when sending a beacon message to its neighbours while Algorithm 2 presents undertaken actions when receiving a beacon message.

Algorithm 1 Actions performed when sending a beacon message
//Actions performed when sending a beacon message to its neighbours' vehicles getPosition(&x, &y); //Getting its own coordinates s ← getVelocity(); //Getting its own velocity d ← getDirection(); //Getting its own direction //Calculating its own QoE using formula (8) QoE ← k1/(getDelay() + k2 * getJitter())e getPL() ; //getDelay() //Getting its own delay //getJitter() //Getting its own jitter //getPL() //Getting its own packet loss rated //Calculating its own MOS routing using formula (9) if QoE ≤ QMI N then When a vehicle decides to send a video to another vehicle, it first evaluates all its neighbours using the Formula (10), then selects one which has the greatest value and sends it the packet. The packet receiver uses the same process until reaching the destination. As presented in Figure 4, the next forwarding vehicles are selected from the source to the destination. Figure 5 shows a scenario for the selection of the last relay.
where α, β, γ ∈ [0, 1] and α + β + γ = 1. MOS routing i is the MOS routing of the neighbour vehicle i obtained from the neighbours table. Dist i is the distance between the vehicle i and the distinaition. Dist ← getDistance(xp, xy, xd, yd); //Calculating the distance between vehicle i and the destination using equation (2) LET ← getLET();//Calculating the Link Expiration Time between the current vehicle and the vehicle i using the equation (3) MOS ← i.getMOS routing (); //Getting the MOS routing of the vehicle i from neighboursTable W ← α * MOS routing + β * Dist + γ * LET; //Calculating the weight of the vehicle i using equation (10) if W > thMOS routing then //The vehicle i has a weight greater than the MOS routing threshold bMOS routing ← f alse; end if if W > wMax then //The weight of the vehicle i is greater than the weight of the previous vehicles FSV ← i; //Forwarding vehicle is i wMax ← W; end if end for if bMOS routing = f alse then //The vehicle can send the packet with acceptable weight sendVideoPacketTo(FSV); //Sending the packet to the selected next-hop vehicle else selectTwoBestVehicles(FSV1, FSV2); //Selecting the two vehicles having the best weights sendVideoPacketTo(FSV1); sendVideoPacketTo(FSV2); end if end if

Performance Evaluation
This section presents tools, metrics, and mythology used in the evaluation of GeoQoE-Vanet protocol. The VANETs simulation scenario used is an urban scenario generated by OpenStreetMap [54] and SUMO mobility traffic simulator [55]. The evaluation is made under NS-2.35 network simulator [56] and Evalvid tool [57].
For the simulation scenario, an area of Ouargla city is extracted from Open Street Maps (OSM) as shown in Figure 6, then SUMO is used to generate the mobility of vehicles for simulation scenarios as exposed in Figure 7. Thereafter, the mobility files are created for use in NS simulator.  EvalVid is a tool for evaluating the quality of transmitted video over a communication network [58]. The video stream used in the simulations is a YUV video sequence [59] with a resolution of 352 × 288 pixels in standard interface format (CIF). The main parameters are summarized in Table 3. • Peak signal to noise ratio: (PSNR) [41], is the most popular and widely accepted quality metric. It compares frame by frame the quality of the video received with the original one. • Structural similarity: (SSIM) [42], is frame-to-frame video quality metric. It is based on structural information, luminance and contrast. The values of SSIM are comprised between 0 and 1, where a higher SSIM value means better video quality.
The MSU video quality measurement tool [60] was used to measure the PSNR and the SSIM. It compares the quality of the received video with the original video. To obtain the MOS of received video, the mapping of PSNR to MOS given in Table 4 was used. Table 4. PSNR to MOS conversion [58].

PSNR (dB) MOS
≥37 5 (excellent) 31-36.9 4 (good) 25-30.9 3 (fair) 20-24.9 2 (poor) ≤19.9 1 (bad) In the simulation of each scenario, fifteen (15) runs (replications) are performed and then the mean value is used as a result. For each replication, the source vehicle, the destination vehicle and the time when streaming starts are randomly chosen.
The k 1 and k 2 values have been chosen by trial and error until the authors found the suitable k 1 and k 2 values that produce the highest PSNR. The more appropriate disincentive values (k 1 = k 2 = 1) that gives best PSNR results are used later in the simulations. The performance evaluation metrics used to measure the performance of the proposed protocol are PSNR, SSIM, frame loss, and end-to-end delay. The performance of GeoQoE-Vanet protocol is compared with GPSR [13] and GPSR-2P [14].

QoE Parameters
The simulation results show that the GeoQoE-Vanet protocol performs better than GPSR and GPSR-2P protocols. The received video quality at the destination has increased with the number of vehicles. This results from the flow of transmitted video data being shared between more vehicles as shown in Figure 8 and Table 5. Figure 8 represents the mean PNSR of results of all scenarios. Table 5 illustrates the mean MOS video of results of all scenarios. The proposed protocol can find better-relaying vehicles which allows it getting high MOS video values. MOS video for GPSR and GPSR-2P is less than GeoQoE-Vanet because they can not avoid bad relaying vehicles. Their next-hop selection mechanism is based only on distance.
When the number of vehicles is decreased, the MOS video is decreased also because alternatives here become limited and the load is shared between a limited number of vehicles. This may lead to congestion that induces packet loss, delay, and jitter which degrades the quality of the received video.
In all scenarios, GeoQoE-Vanet gives the best results because it adapts well to the network degradation and always select the best vehicles based on their quality factors and not only on their distance from the destination.  The results showen in Figure 8 and Table 5 are confirmed by SSIM results in Figure 9.   Figure 10 illustrates an example of the quality of received frames in one scenario of 40 vehicles. At the beginning of the simulation, the quality of the received frames is low. After a short period of time, a fast increase in the quality of received frames appears because the number of the received packets increases. There are a small packet loss and jitter which are the result of limited number of transmitted video packets. The shown decrease and increase at the beginning are the effect of initial delay which does not have a significant impact on the rest of the simulation.
The quality decreases again over time because packet loss and jitter occur when transmitted data between vehicles increases. The proposed protocol preserves a good quality of frames because it selects the vehicles that ensure the best quality. GPSR and GPSR-2P have a remarkable quality degradation because the relay vehicles selection is based only on distance from the destination and do not allow ovoiding vehicles that can not ensure quality. At the end of the video transmission, there is a decrease in the quality of frames. This is due to increased packets loss and jitter when the number of transmitted packets is high. It is shown in Figure 10 that GPSR and GPSR-2P have a high number of lost frames and the proposed protocol performs better.  Figure 11 illustrates the results of SSIM of one scenario of 40 vehicles and confirms the results in Figure 10. It shows a decrease in quality of received frames at the beginning of the simulation followed by a rapid increase. It shows that, over time, a decrease in the quality of frames received by the destination with an important frame loss in GPSR and GPSR-2P.

Frame Loss
Simulation results for the different tested scenarios show that GeoQoE-Vanet has lower frame loss values compared with GPSR and GPSR-2P as illustrated in Figure 12. This is due to the fact that GeoQoE-Vanet selects the next hop vehicle which can enhance the perceived quality of transmitted video. Figure 12 shows that the frame loss percentage inversely proportional to the number of vehicles. As the number of vehicles increases, the probability of finding a best candidate vehicle be the next forwarder becomes high which decreases the frame loss.

Average End-to-End Delay
In scenarios of 40 and 45 vehicles, the average end-to-end reaches a low value than other scenarios for the three protocols that have approximately the same values as shown in Figure 13. A high number of vehicles allows GeoQoE-Vanet to find the best paths to the destination with acceptable end-to-end delay. In scenarios of 10, 20 and 30 vehicles, GeoQoE-Vanet has an average end-to-end delay value greater than the other protocols. This is the result of following long paths to avoid congested vehicles and to decrease the frame loss.
In all scenarios, GPSR has the smallest mean value of end-to-end delay since it always selects the closest vehicles to the destination which does not ensure that the data reach the destination. Similarly, based only on distance, GPSR-2P uses two paths when sending data and thus increases the end-to-end delay without guarantee that the data reaches the destination. Therefore, the GeoQoE-Vanet protocol offers better end-user QoE than GPSR and GPSR-2P in all scenarios. The simulation also shows that GPSR performs better than GPSR-2P. This is justified by the duplicate video data packets being dropped by the receiver vehicle and are not used in the final video reconstruction.
All the three protocols suffer from major quality degradation in sparse environments, but GeoQoE-Vanet still provides better results compared to GPSR and GPSR-2P. In light of these results, further improvements of the proposed protocol are required to better adapt to sparse environments. The store and forward mechanism may be a promising candidate to explore. The estimation of a vehicle's QoE in GeoQoE-Vanet is based on delay, jitter and packet loss ratio. To enhance this estimation, many other factors may be included. The effects of these new factors on the end-user QoE of the received video must be thoroughly studied. Furthermore, many other QoE's formulas exist in the litterature and are interesting to use in testing GeoQoE-Vanet for a more accurate evaluation. In this paper, GeoQoE-Vanet has been tested in an urban scenario. It is important to consider, in the future, a more in-depth evaluation in a highway scenario subject to different constraints and challenges.

Conclusions
In this paper, a QoE-aware geographic routing protocol for video streaming over VANETs called GeoQoE-Vanet has been proposed. In this proposed protocol, the relaying vehicles should have a good quality to ensure end-user QoE. The selection decision of the next-hop vehicle in GeoQoE-Vanet is based on position, direction, speed, link expiration time, packet loss rate, delay and jitter. Neighbouring vehicles are avaluated based on correlated QoE factors and the selected relay is the best which satisfies the desired QoE. The simulation results showed a better end-user QoE in GeoQoE-Vanet compared to GPSR and GPSR-2P protocols in an urban environment. GeoQoE-Vanet has better results than GPSR and GPSR-2P protocols in terms of MOS, PSNR, and SSIM performance metrics. It can be further enhanced by using other quality factors which need new and better tailored QoE formulas. Furthermore, it can be improved with a store and forward mechanism, especially in a sparse environment.