# QoE-Oriented Cooperative Broadcast Optimization for Vehicular Video Streaming

Authors: Jingyao Liu; Guangsheng Feng; Jiayu Sun; Liying Zheng; Huiqiang Wang
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

The popularity of online vehicular video has caused enormous information requests in Internet of vehicles (IoV), which brings huge challenges to cellular networks. To alleviate the pressure of base station (BS), Roadside Units (RSUs) and vehicle peers are introduced to collaboratively provide broadcast services to vehicle requesters where vehicles act as both service providers and service requesters. In this paper, we propose an efficient framework leveraging scalable video coding (SVC) technique to improve quality of experience (QoE) from two perspectives: (1) maximizing the data volume received by all requesters and (2) determining buffer action based on playback fluency and average playback quality. For (1), potential providers cooperate to determine the precached video content and delivery policy with the consideration of vehicular mobility and wireless channel status. If one provider fails, other sources will complement to provide requested content delivery. Therefore, their cooperation can improve the QoE and enhance the service reliability. For (2), according to buffer occupancy status, vehicle requesters manage buffer action whether to buffer new segments or upgrade the enhancement level of unplayed segment. Furthermore, the optimization of the data volume is formulated as an integer nonlinear programming (INLP) problem, which can be converted into some linear integer programming subproblems through McCormick envelope method and Lagrange relaxation. Numerical simulation results show that our algorithm is effective in improving total data throughput and QoE.


---

## Body

## 1. Introduction

As forecasted by Cisco, mobile video will account for 79% of total mobile data traffic by 2022 [1]. Traditional data transmission mainly relies on cellular data; however, enormous information requests will bring huge challenge to BS suffering from bandwidth competition, transmission interference, and high transmission delay [2, 3]. In this case, the performance of HD video may be deteriorated. Hence, it is inevitable to leverage RSU and vehicles as alternative potential transmission sources to improve user’s QoE in vehicular networks. There are some issues faced in the transmission process, such as privacy protection [4–8] and task allocation [9–13]. Vehicle requesters are equipped with multiple network interfaces to support different transmission techniques [14–16], and multisources can compensate each other if one candidate path suffering congestion fails to provide service. Potential providers cooperate to provide desired content, overcoming the limitation of only relying on origin content server. Hence, designing a cooperative transmission mechanism is necessary for improving QoE in vehicular networks [17–20].It is noteworthy that there are two conditions that must be satisfied to be a potential provider: desired content is exactly cached and the distance is within transmission range. To address this issue, designing caching placement policies under the limitation of storage capacity has been extensively studied [21–26]. However, most previous caching strategies do not take the mobility of vehicles and cooperate broadcast into consideration, which is not suitable to deploy in vehicular ad hoc networks (VANET). In addition, different from the existing work where vehicle client can only receive content from one single source [27–29], we consider a cooperate broadcast mechanism where multisources can transmit different parts of one video segment simultaneously. Multisources cooperating to provide broadcast service can enhance the reliability of transmission, reduce transmission latency, and increase the received data volume.Considering the mobility characteristic of vehicular network, transmission channel status is variable with the frequent changes of connection with candidate providers. To overcome the disadvantages of bandwidth variation, SVC is an attractive technology with layered feature to support dynamic adaptive resolution [29–35]. According to the current buffer status, vehicle requesters make buffer action to adjust appropriate video quality level. To achieve the objective of maximizing QoE, there are several important parameters which need to be balanced: (1) maintaining adequate segments to avoid playback interruption, (2) achieving better playback smoothness to support high resolution, and (3) avoiding progressive download to reduce bandwidth competition and waste. Most of the previous works do not consider the cache and delivery cooperation among the transmission sources. Hence, the optimization scheme in above works is different from our case where the content caching and content delivery are coupled together. In this paper, we propose a cooperative broadcast mechanism where multisources provide desired content to vehicle requester simultaneously. In addition, vehicle clients can determine buffer actions supporting bit-rate adaption to improve QoE. The contributions of our work can be summarized in the following:
(i)
We propose a broadcast mechanism where multisources cooperatively provide service combining content caching and content delivery policy(ii)
We design an optimization model to not only maximize the volume of received data which is formulated as an INLP problem but also improve the QoE of desired content by dynamically determining buffer action(iii)
We apply the McCormick envelope method and Lagrange relaxation to convert the initial INLP problem into several decoupled subproblems which can be solved through a distributed algorithm(iv)
Simulation results show that our cooperative broadcast schemes, distributed algorithm, and buffer action determination algorithm can promote QoE of desired contentThe rest of the paper is organized as follows. In Section2, we provide detailed related works. In Section 3, we introduce the system model and formulate the problem. In Section 4, we propose distributed algorithm and buffer action determination algorithm to solve the integer nonlinear programming problem. Numerical experiments and result analysis are carried out in Section 5. Section 6 concludes this paper.


## 2. Related Work

We introduce the related work from three research directions. The first one focuses on content cache strategies, and the second one deals with the data delivery to vehicle clients, while the last one works on adaptive quality-level selections for video requesters. However, to the best of our knowledge, few works consider cooperative caching and content delivery to improve the QoE of vehicle users, which may reduce the utilization of cache capacity and limit transmission performance.


### 2.1. Content Caching

Due to the limited cache capacity, it is important to design appropriate content caching policy to satisfy user’s requests. Zhao et al. designed a dynamic probabilistic caching scheme and propose a caching vehicle selection method to reduce the average transmission delay and improve the cache hit ratio [21]. Kumar and Misra proposed an incentive mechanism to encourage users to share the cached content, which can minimize both users’ total cost and communication delay [22]. Zhang et al. predicted the requests of vehicle users applying autoregressive neural network and optimize the content cache aiming to minimize energy cost [23]. Li et al. presented a caching optimization model to minimize the average transmit power with the limited cache capacity [24]. Zhu et al. proposed a strategy combining power allocation and layer-wise caching to maximize users’ QoE [25]. Hu et al. explored an in-vehicle caching framework to keep the cached data survival in a designated region considering the vehicle mobility [26].


### 2.2. Content Delivery

Since multiple potential providers are available for transmission, there have been some researchers dealing with content delivery problem. Xu et al. analyzed content mobility and adopted multimedia content delivery approach to achieve high-quality multimedia services [14]. Su et al. developed a pricing model to maximize total utilities by determining content delivery from moving vehicles and RSUs according to the competition and cooperation [16]. Chen et al. proposed to rely on gathered vehicles for task execution, and the task offloading scheme could minimize the task executing time by cooperative computing among vehicles [27]. In [28], a pricing model is performed to motivate vehicle peers to cooperatively provide content delivery aiming to improve both RSU revenue and quality level of vehicle customers. Sun et al. introduced that vehicles and RSUs cooperatively distribute online video to vehicle users, where vehicle providers can be content carriers and relays [29]. Zhu et al. investigated a cooperative content delivery mechanism to motivate parking vehicles and RSUs to contribute cached contents with the auction game [36].


### 2.3. Adaptive Quality-Level Determination

Considering the fact that the playback buffer states are different for vehicle requesters, users can dynamically select the video quality according to their own situation. There are some works covering this topic. Kumar et al. presented an adaptive QoE management mechanism deciding whether to download a new video segment or smooth the definition level of unplayed video segments [37]. And the proposed strategy can improve delivery satisfactory QoE in highly varying bandwidth state conditions. Xing et al. introduced a best-action search algorithm to improve the quality of services from the perspectives of playback stall, average quality, clarity fluctuation, and service cost [38]. Zhao et al. developed a cross-layer optimization scheme to optimize the QoE of multiple clients by considering the video rate adaptation and the wireless resource allocation [39]. Cofano et al. designed a hybrid dynamical system to maximize the video bit rate while controlling the quality level switching frequency and minimizing the amount of playback buffer [40]. Bezerra et al. presented a control system estimating the ideal video quality and analyzing buffer state to improve QoE in mobile environment [41].


## 2.1. Content Caching

Due to the limited cache capacity, it is important to design appropriate content caching policy to satisfy user’s requests. Zhao et al. designed a dynamic probabilistic caching scheme and propose a caching vehicle selection method to reduce the average transmission delay and improve the cache hit ratio [21]. Kumar and Misra proposed an incentive mechanism to encourage users to share the cached content, which can minimize both users’ total cost and communication delay [22]. Zhang et al. predicted the requests of vehicle users applying autoregressive neural network and optimize the content cache aiming to minimize energy cost [23]. Li et al. presented a caching optimization model to minimize the average transmit power with the limited cache capacity [24]. Zhu et al. proposed a strategy combining power allocation and layer-wise caching to maximize users’ QoE [25]. Hu et al. explored an in-vehicle caching framework to keep the cached data survival in a designated region considering the vehicle mobility [26].


## 2.2. Content Delivery

Since multiple potential providers are available for transmission, there have been some researchers dealing with content delivery problem. Xu et al. analyzed content mobility and adopted multimedia content delivery approach to achieve high-quality multimedia services [14]. Su et al. developed a pricing model to maximize total utilities by determining content delivery from moving vehicles and RSUs according to the competition and cooperation [16]. Chen et al. proposed to rely on gathered vehicles for task execution, and the task offloading scheme could minimize the task executing time by cooperative computing among vehicles [27]. In [28], a pricing model is performed to motivate vehicle peers to cooperatively provide content delivery aiming to improve both RSU revenue and quality level of vehicle customers. Sun et al. introduced that vehicles and RSUs cooperatively distribute online video to vehicle users, where vehicle providers can be content carriers and relays [29]. Zhu et al. investigated a cooperative content delivery mechanism to motivate parking vehicles and RSUs to contribute cached contents with the auction game [36].


## 2.3. Adaptive Quality-Level Determination

Considering the fact that the playback buffer states are different for vehicle requesters, users can dynamically select the video quality according to their own situation. There are some works covering this topic. Kumar et al. presented an adaptive QoE management mechanism deciding whether to download a new video segment or smooth the definition level of unplayed video segments [37]. And the proposed strategy can improve delivery satisfactory QoE in highly varying bandwidth state conditions. Xing et al. introduced a best-action search algorithm to improve the quality of services from the perspectives of playback stall, average quality, clarity fluctuation, and service cost [38]. Zhao et al. developed a cross-layer optimization scheme to optimize the QoE of multiple clients by considering the video rate adaptation and the wireless resource allocation [39]. Cofano et al. designed a hybrid dynamical system to maximize the video bit rate while controlling the quality level switching frequency and minimizing the amount of playback buffer [40]. Bezerra et al. presented a control system estimating the ideal video quality and analyzing buffer state to improve QoE in mobile environment [41].


## 3. System Model and Problem Formulation

### 3.1. System Architecture

We consider a scenario combining cellular network and VANET, where vehicle peers and RSUs can be served as transmission sources to provide vehicle requesters with video streaming services. As depicted in Figure1, vehicles travel on a road where RSUs are deployed and the entire road is covered by BS (cellular network). Vehicle users request online video contents while driving along the road, and surrounding potential providers make decisions including content caching and delivery policy to improve the QoE of the video streaming. Due to the dynamic nature of VANET, we consider discretized time slots, t∈1,2,⋯, where content caching and transmission connection can be updated for every slot to cope with the changing position of vehicles. Compared with vehicular position, the content request is almost unchanged, so the content caching is updated less frequently than the transmission connection. Due to the time-varying channel qualities of users, we apply SVC technology to satisfy the various requirements of users for video definition. SVC video consists of a base layer and several enhancement layers, and video definition level increases with the increase of the number of enhancement layers. At the beginning of each slot, vehicle users determine the buffer action according to their current buffer states. Furthermore, the buffer action for each requester is determined depending on the number of video segments in playback buffer and the quality level. The object of buffer action determination is to maximize the quality level while ensuring playback fluency. No matter to continue buffering new segments or to improve quality, it is necessary to transmit as much data as possible.Figure 1
The cooperative broadcast model combining content caching and content delivery.To maximize the data volume received by all requesters, potential providers need to determine content caching and content delivery policy. RSUs can prefetch video files to provide transmission services for vehicle requesters under their coverage. Besides, the vehicle storage area is divided into two parts: video caching area (providing broadcast service for other vehicle requesters) and the playback buffer area (buffering desired video content to watch online). There are different wireless network interfaces on vehicles to support different transmission techniques. Hence, BS, RSUs, and vehicle peers all can serve as candidate transmission sources to provide broadcast services for target vehicles. Each vehicle requester can communicate with multisources simultaneously, and desired video cached on RSUs and vehicular peers can increase the number of candidate providers. When the number of transmission requests exceeds the service capacity, it will bring enormous transmission pressure on BS. The cooperative transmission of multiple alternative transmission sources can enhance the quality of transmission services. When transmitting through V2V links, multiple vehicle peers can transmit different parts of video segment to the same target vehicle; meanwhile, a vehicle provider can provide content transmission services for multiple vehicle requesters at the same time. However, there are some service/receive upper limitation on content delivery policy. On the one hand, each transmission source can only service a certain number of requesters; on the other hand, one requester can only receive desired content from limited number of vehicle peers. When large amount of vehicle users request the same video content, the broadcast strategy is more efficient in improving the average QoE of all vehicle clients.Hence, the following issues need to be resolved: (1) content cache strategy of potential providers, (2) content delivery policy of multisources, and (3) buffer action determination for vehicle requesters.LetK=1,2,⋯,K represent the set of RSU, M=1,2,⋯,M the set of vehicle providers, and N=1,2,⋯,N the set of vehicle requesters. Define F=1,2,⋯,f,⋯,F the whole content library in the content server, in which f is the fth content descending by popularity. Then, the probability of video file f requested by vehicle i is
(1)pif=f−r∑n=1Fn−r.The probability follows the Zipf distribution with the skewness parameterr, in which the larger r indicates the desired contents are more influenced by the concentration of the popularity. When r=0, the distribution of popularity follows the uniform distribution. The symbols mainly used in this paper are summarized in Table 1.Table 1
Notation table.
NotationContextKSet of RSUsMSet of vehicle providersNSet of vehicle requesterspifProbability of the vehiclei requests the video file fcifVIf video filef is cached in vehicle ickfRIf video filef is cached in RSU kCiVCaching capacity of vehicleiCkRCaching capacity of RSUkbijBLER from provideri to requester jvijmaxtMaximal transmission rate under definite distancevijtPractical transmission rate under definite distancev0jtPractical transmission rate from BS to requesterjrijfVtIf vehicle provideri delivers content f to requester jrkjfRtIf RSUk deliver content f to vehicle requester jBiVService upper limitation of vehicle provideriBkRService upper limitation of RSUkBreceiveReceive upper limitation of vehicle requesterΔtDuration of one-time slotΔt′Duration of one segmentwjtTotal data volume received by vehicle requesterjr′Bit rate of perceived video segmentrmaxThe highest bit rate of one segmentSitInitial state of the playback buffer in vehiclei for tth slotsitNumber of segments in current playback bufferai1t⋯ai4tVideo quality level in four regions, respectively


### 3.2. Content Caching Model

To mitigate the pressure of BS caused by generous transmission requests, RSUs and vehicle peers are served as potential providers, which collaborate to determine what to cache. LetcifVt⊆0,1 be a binary decision variable which represents whether fth file is cached in vehicle i, cifVt=1 if vehicle i caches fth file, and ci,fVt=0 otherwise. Let ckfRt⊆0,1 be a binary decision variable which represents whether fth file is cached in RSU k, ckfRt=1 if RSU k caches fth file, and ckfRt=0 otherwise. Due to the limitation of storage capacity, the content cached in RSU and vehicles can only occupy part of the content library. Therefore, cache policy must satisfy the following constraints:
(2)∑f=1FcifVt≤CiV,∀i∈M,(3)∑f=1FckfRt≤CkR,∀k∈K,where CiV represents the upper bound of the cache capacity of vehicle i and CkR represents the upper bound of the cache capacity of RSU k.


### 3.3. Content Delivery Model

Vehicle requesters can receive different information of one segment from different transmission sources (if a transmission source fails, the others can compensate the fault). In addition, an important condition as a potential provider is that the distance from the target vehicle must be within the transmission range, and the maximal transmission rate between them is a unary function of distance. The position of vehicle nodes can be approximately predicted by existing vehicular mobility models [42]. Multicandidate sources can simultaneously provide content delivery to the target vehicle within their transmission range.In addition, the two transmission modes of V2R and V2V are supported by 802.11p using a 6 GHz radio spectrum, where wireless links may suffer from shadowing, interference, and congestion. There is a block error rate (BLER) in the practical transmission rate between nodes. It has been widely acknowledged that the Gilbert channel model is used to describe the packet loss characteristics through wireless links. The wireless channel state is calculated through the Markov chain, where the state is only determined by its immediately previous state. The BLER from provideri to requester j, denoted by bij [43, 44], is
(4)bij=1−1−πijBadM,and we assume that the BLER will not be changed within one time slot. Hence, the practical transmission bit rate between provider i and requester j in each time slot is
(5)vijt=1−bij∗vijmaxt,where vijmax is the maximal transmission rate under the current node transmission distance.LetrijfVt,rkjfRt⊆0,1 be binary decision variables, which represent whether vehicular source i provides content f to vehicle requester j and whether RSU source k provides content f to vehicle requester j. Limited by the transmission bandwidth, each transmission source can only provide services for a certain amount of vehicle requesters. Meanwhile, the number of vehicle peers providing desired content to one vehicle requester is also limited, which is given by
(6)∑j=1NmaxrijfVt,∀f≤BiV,∀i∈M,(7)∑j=1NmaxrkjfRt,∀f≤BkR,∀k∈K,(8)∑i=1MrijfVt≤Breceive,∀j∈N,f∈F,where BiV and BkR are the upper bound of the number of requesters served by vehicle provider i or RSU k and Breceive is the upper bound of the number of vehicle peers providing content to one target vehicle.It is worth notice that one necessary prerequisite for potential provider vehiclei or RSU k to broadcast content f is
(9)cifVt≥rijfVt,∀i∈M,j∈N,f∈F,(10)ckfRt≥rkjfRt,∀k∈K,j∈N,f∈F,which means that content f being cached in candidate i is a necessary condition given that candidate i or k tends to provide transmission service.Therefore, in each time slot, the data volume received by vehicle requesterj can be expressed as
(11)wjt=∑f=1Fpjf∑i=1McifVtrijfVtvijVtΔt+∑k=1KckfRtrkjfRtvkjRtΔt+1−g∑i=1MrijfVt+∑k=1KrkjfRtv0jtΔt.In equation (11), gx is the function of x and equals to 1 if x>0 or 0 if x=0, and v0jt is the transmission rate of BS. The previous two polynomials represent the amount of data transmitted by neighboring vehicles and RSU, respectively. And the last polynomial means the data volume transmitted by BS if there is no other candidate provider.


### 3.4. QoE Calculation Model

In order to alleviate the pressure of the BS, vehicle sources and RSU sources are preferred to broadcast. If there are no well-conditioned channels from RSUs and vehicle peers to requesters, then BS steps in as candidate source to provide service. Considering the high dynamics characteristic of the IoV (Internet of vehicles) channel, the flexibility of SVC technology can be utilized to solve different resolution requirements of vehicle requesters. There is a significant advantage for SVC in that it allows quality upgradation of the video segments (unwatched in current time slot) in buffer blocks. SVC technology is adaptive and does not require decoding and reencoding of the signal. It supports buffering more enhancement layers to upgrade the quality of video on basis of the original buffered video layers.For each video segment, the video bit rate of different quality level is denoted byR=r1,r2,⋯,rl (l is the best possible enhancement level). We apply the mean opinion score (MOS) to measure the perceived video quality. Based on literature [45], the formula evaluating average QoE can be expressed as
(12)QoE=4∗exp−c1r′rmax−c2+c1+1,where r′ represents the bit rate of perceived video segment and rmax=rl is the highest bit rate of one segment.We mainly improve the QoE of video desired by vehicle requesters from the following parameters: (1) maintaining sufficient number of video segments in the playback buffer in order to reduce playback stall time, (2) maximizing the bit rates of video segments in the playback buffer to support better resolution, and (3) avoiding progressive download which will result in the waste of transmission resources and affect other vehicle requesters.


### 3.5. Buffer Action Model

The status of vehicular playback buffer is shown in Figure2. Each video is divided into several segments with the same duration Δt′, and the number of segments played in each time slot is fixed.Figure 2
Buffer action for vehicle requesters under a different status.The upper limit of the entire playback buffer length isL, which is divided into 4 regions. The video segments buffered in region 0,S1 are prepared for playing in the current time slot, the video segments buffered in region S1,S2 are reserved for the next time slot, and regions S2,S3 and S3,S4 are provided for the future time slots. The number of segments buffered in the region 0,S1, S1,S2, S2,S3, and S3,S4 is the same, whose duration is the length of video playback in each time slot. Let Sit denote the initial state of the playback buffer in vehicle i for tth time slot, and client i dynamically makes a decision whether to continue downloading a new segment or to enhance the quality level of the unplayed video segment according to its buffer state. The buffer status Sit contains two important factors: the number of video segments in playback buffer and the quality level of the video segments. si represents the number of segments in current playback buffer, and ai1,ai2,ai3,andai4 are the video quality level in the aforementioned four regions, respectively. It is noteworthy that the segments buffered in region 0,S1 are played in the current time slot, so in each time slot, the incremental data cannot change the state of video segments in this region.Since the video segments buffered in region0,S1 are played in the current time slot, when sit<S1, the current playback will be interrupted and the user’s perception will be seriously affected. Hence, buffer action a is taken: continuing to download new segments to prevent an interruption occurring in next time slots. When S1≤sit<S2, the current time slot can playback smoothly, but the next time slot video playback is at risk of interruption, so it is necessary to continue downloading new segments. When S2≤sit<S3, there is no possibility of interruption in current and next slots, so the buffer action determination is b: upgrading the quality level of video segments reserved for subsequent time slots and then downloading new segments. When sit≥S3, it means that there will be no playback interruption in a short time and the resolution quality is high. So buffer action decision is c: stopping the transmission service to vehicle requester i to prevent competition with other users for resource, which can be represented by the following constraint:
(13)∑j=1MrjifVt+∑k=1KrkifRt=0,ifsit≥S3.To maximize the average QoE of desired video required by all vehicle clients, we propose to maximize the received data volume first.(14)P1:Maxmize∑j=1Nwj′t=∑j=1N∑f=1Fpjf∑i=1McifVtrijfVtvijVtΔt+∑k=1Kck,fRtrkjfRtvkjRtΔt.As mentioned above, if neither RSU nor vehicle peers can provide transmission for the target vehicle, then the service source will be transferred to the BS. Therefore, after the optimization operation is performed, according to the result, if∑i=1MrijfVt+∑k=1KrkjfRt=0,sit<S3, wjft will be updated:
(15)wjft=pjfv0jtΔt.And we can obtain the final optimal data throughputwj. According to the initial status of playback buffer and the optimization result wj, the new buffer status after the execution of above buffer action is calculated:For buffer action a, the number of incremental video segments and the corresponding quality level can be represented by the following formulation:(16)sit+1=S1fwitr1Δt′S2−S1+S2−S1fwitrlΔt′S2−S1+r1Δt′S3−S2+S3−S2fwitrlΔt′S3−S1+r1Δt′S4−S3.In equation (16), fx is a function of x, where fx equals to 1 if x≥1 or 0 if x<1.
(17)ai2t=1,r1Δt′S2−S1≤wit<r2Δt′S2−S1,2,r2Δt′S2−S1≤wit<r3Δt′S2−S1,⋯l−1,rl−1Δt′S2−S1≤wit<rlΔt′S2−S1,l,otherwise.The calculation of quality levelai3,ai4 of video segments in region S2,S3,S3,S4 is similar to ai2.For buffer action b, according to the video quality level of the current buffer regionS1,S2, we need to compare the relationship between the received data wj and the bit rate required for additional enhancement. Users will buffer video data of the next enhancement layer in sequence until the highest definition is reached. After meeting the conditions of the highest quality layer, users continue to buffer new video segments in the next region. The specific calculation formula is similar to formula (17).For buffer action c, it means that the number of video segments in the playback buffer is sufficient and the quality level of video is high. In order to prevent resource waste caused by excessive buffering, it is necessary to stop providing transmission services to requesters. To decouple the two variables in the constraint (13), the formula can be equivalently transformed into the following constraint:
(18)∑j=1MrjifVt=0,ifsit≥S3,(19)∑k=1KrkifRt=0,ifsit≥S3.


## 3.1. System Architecture

We consider a scenario combining cellular network and VANET, where vehicle peers and RSUs can be served as transmission sources to provide vehicle requesters with video streaming services. As depicted in Figure1, vehicles travel on a road where RSUs are deployed and the entire road is covered by BS (cellular network). Vehicle users request online video contents while driving along the road, and surrounding potential providers make decisions including content caching and delivery policy to improve the QoE of the video streaming. Due to the dynamic nature of VANET, we consider discretized time slots, t∈1,2,⋯, where content caching and transmission connection can be updated for every slot to cope with the changing position of vehicles. Compared with vehicular position, the content request is almost unchanged, so the content caching is updated less frequently than the transmission connection. Due to the time-varying channel qualities of users, we apply SVC technology to satisfy the various requirements of users for video definition. SVC video consists of a base layer and several enhancement layers, and video definition level increases with the increase of the number of enhancement layers. At the beginning of each slot, vehicle users determine the buffer action according to their current buffer states. Furthermore, the buffer action for each requester is determined depending on the number of video segments in playback buffer and the quality level. The object of buffer action determination is to maximize the quality level while ensuring playback fluency. No matter to continue buffering new segments or to improve quality, it is necessary to transmit as much data as possible.Figure 1
The cooperative broadcast model combining content caching and content delivery.To maximize the data volume received by all requesters, potential providers need to determine content caching and content delivery policy. RSUs can prefetch video files to provide transmission services for vehicle requesters under their coverage. Besides, the vehicle storage area is divided into two parts: video caching area (providing broadcast service for other vehicle requesters) and the playback buffer area (buffering desired video content to watch online). There are different wireless network interfaces on vehicles to support different transmission techniques. Hence, BS, RSUs, and vehicle peers all can serve as candidate transmission sources to provide broadcast services for target vehicles. Each vehicle requester can communicate with multisources simultaneously, and desired video cached on RSUs and vehicular peers can increase the number of candidate providers. When the number of transmission requests exceeds the service capacity, it will bring enormous transmission pressure on BS. The cooperative transmission of multiple alternative transmission sources can enhance the quality of transmission services. When transmitting through V2V links, multiple vehicle peers can transmit different parts of video segment to the same target vehicle; meanwhile, a vehicle provider can provide content transmission services for multiple vehicle requesters at the same time. However, there are some service/receive upper limitation on content delivery policy. On the one hand, each transmission source can only service a certain number of requesters; on the other hand, one requester can only receive desired content from limited number of vehicle peers. When large amount of vehicle users request the same video content, the broadcast strategy is more efficient in improving the average QoE of all vehicle clients.Hence, the following issues need to be resolved: (1) content cache strategy of potential providers, (2) content delivery policy of multisources, and (3) buffer action determination for vehicle requesters.LetK=1,2,⋯,K represent the set of RSU, M=1,2,⋯,M the set of vehicle providers, and N=1,2,⋯,N the set of vehicle requesters. Define F=1,2,⋯,f,⋯,F the whole content library in the content server, in which f is the fth content descending by popularity. Then, the probability of video file f requested by vehicle i is
(1)pif=f−r∑n=1Fn−r.The probability follows the Zipf distribution with the skewness parameterr, in which the larger r indicates the desired contents are more influenced by the concentration of the popularity. When r=0, the distribution of popularity follows the uniform distribution. The symbols mainly used in this paper are summarized in Table 1.Table 1
Notation table.
NotationContextKSet of RSUsMSet of vehicle providersNSet of vehicle requesterspifProbability of the vehiclei requests the video file fcifVIf video filef is cached in vehicle ickfRIf video filef is cached in RSU kCiVCaching capacity of vehicleiCkRCaching capacity of RSUkbijBLER from provideri to requester jvijmaxtMaximal transmission rate under definite distancevijtPractical transmission rate under definite distancev0jtPractical transmission rate from BS to requesterjrijfVtIf vehicle provideri delivers content f to requester jrkjfRtIf RSUk deliver content f to vehicle requester jBiVService upper limitation of vehicle provideriBkRService upper limitation of RSUkBreceiveReceive upper limitation of vehicle requesterΔtDuration of one-time slotΔt′Duration of one segmentwjtTotal data volume received by vehicle requesterjr′Bit rate of perceived video segmentrmaxThe highest bit rate of one segmentSitInitial state of the playback buffer in vehiclei for tth slotsitNumber of segments in current playback bufferai1t⋯ai4tVideo quality level in four regions, respectively


## 3.2. Content Caching Model

To mitigate the pressure of BS caused by generous transmission requests, RSUs and vehicle peers are served as potential providers, which collaborate to determine what to cache. LetcifVt⊆0,1 be a binary decision variable which represents whether fth file is cached in vehicle i, cifVt=1 if vehicle i caches fth file, and ci,fVt=0 otherwise. Let ckfRt⊆0,1 be a binary decision variable which represents whether fth file is cached in RSU k, ckfRt=1 if RSU k caches fth file, and ckfRt=0 otherwise. Due to the limitation of storage capacity, the content cached in RSU and vehicles can only occupy part of the content library. Therefore, cache policy must satisfy the following constraints:
(2)∑f=1FcifVt≤CiV,∀i∈M,(3)∑f=1FckfRt≤CkR,∀k∈K,where CiV represents the upper bound of the cache capacity of vehicle i and CkR represents the upper bound of the cache capacity of RSU k.


## 3.3. Content Delivery Model

Vehicle requesters can receive different information of one segment from different transmission sources (if a transmission source fails, the others can compensate the fault). In addition, an important condition as a potential provider is that the distance from the target vehicle must be within the transmission range, and the maximal transmission rate between them is a unary function of distance. The position of vehicle nodes can be approximately predicted by existing vehicular mobility models [42]. Multicandidate sources can simultaneously provide content delivery to the target vehicle within their transmission range.In addition, the two transmission modes of V2R and V2V are supported by 802.11p using a 6 GHz radio spectrum, where wireless links may suffer from shadowing, interference, and congestion. There is a block error rate (BLER) in the practical transmission rate between nodes. It has been widely acknowledged that the Gilbert channel model is used to describe the packet loss characteristics through wireless links. The wireless channel state is calculated through the Markov chain, where the state is only determined by its immediately previous state. The BLER from provideri to requester j, denoted by bij [43, 44], is
(4)bij=1−1−πijBadM,and we assume that the BLER will not be changed within one time slot. Hence, the practical transmission bit rate between provider i and requester j in each time slot is
(5)vijt=1−bij∗vijmaxt,where vijmax is the maximal transmission rate under the current node transmission distance.LetrijfVt,rkjfRt⊆0,1 be binary decision variables, which represent whether vehicular source i provides content f to vehicle requester j and whether RSU source k provides content f to vehicle requester j. Limited by the transmission bandwidth, each transmission source can only provide services for a certain amount of vehicle requesters. Meanwhile, the number of vehicle peers providing desired content to one vehicle requester is also limited, which is given by
(6)∑j=1NmaxrijfVt,∀f≤BiV,∀i∈M,(7)∑j=1NmaxrkjfRt,∀f≤BkR,∀k∈K,(8)∑i=1MrijfVt≤Breceive,∀j∈N,f∈F,where BiV and BkR are the upper bound of the number of requesters served by vehicle provider i or RSU k and Breceive is the upper bound of the number of vehicle peers providing content to one target vehicle.It is worth notice that one necessary prerequisite for potential provider vehiclei or RSU k to broadcast content f is
(9)cifVt≥rijfVt,∀i∈M,j∈N,f∈F,(10)ckfRt≥rkjfRt,∀k∈K,j∈N,f∈F,which means that content f being cached in candidate i is a necessary condition given that candidate i or k tends to provide transmission service.Therefore, in each time slot, the data volume received by vehicle requesterj can be expressed as
(11)wjt=∑f=1Fpjf∑i=1McifVtrijfVtvijVtΔt+∑k=1KckfRtrkjfRtvkjRtΔt+1−g∑i=1MrijfVt+∑k=1KrkjfRtv0jtΔt.In equation (11), gx is the function of x and equals to 1 if x>0 or 0 if x=0, and v0jt is the transmission rate of BS. The previous two polynomials represent the amount of data transmitted by neighboring vehicles and RSU, respectively. And the last polynomial means the data volume transmitted by BS if there is no other candidate provider.


## 3.4. QoE Calculation Model

In order to alleviate the pressure of the BS, vehicle sources and RSU sources are preferred to broadcast. If there are no well-conditioned channels from RSUs and vehicle peers to requesters, then BS steps in as candidate source to provide service. Considering the high dynamics characteristic of the IoV (Internet of vehicles) channel, the flexibility of SVC technology can be utilized to solve different resolution requirements of vehicle requesters. There is a significant advantage for SVC in that it allows quality upgradation of the video segments (unwatched in current time slot) in buffer blocks. SVC technology is adaptive and does not require decoding and reencoding of the signal. It supports buffering more enhancement layers to upgrade the quality of video on basis of the original buffered video layers.For each video segment, the video bit rate of different quality level is denoted byR=r1,r2,⋯,rl (l is the best possible enhancement level). We apply the mean opinion score (MOS) to measure the perceived video quality. Based on literature [45], the formula evaluating average QoE can be expressed as
(12)QoE=4∗exp−c1r′rmax−c2+c1+1,where r′ represents the bit rate of perceived video segment and rmax=rl is the highest bit rate of one segment.We mainly improve the QoE of video desired by vehicle requesters from the following parameters: (1) maintaining sufficient number of video segments in the playback buffer in order to reduce playback stall time, (2) maximizing the bit rates of video segments in the playback buffer to support better resolution, and (3) avoiding progressive download which will result in the waste of transmission resources and affect other vehicle requesters.


## 3.5. Buffer Action Model

The status of vehicular playback buffer is shown in Figure2. Each video is divided into several segments with the same duration Δt′, and the number of segments played in each time slot is fixed.Figure 2
Buffer action for vehicle requesters under a different status.The upper limit of the entire playback buffer length isL, which is divided into 4 regions. The video segments buffered in region 0,S1 are prepared for playing in the current time slot, the video segments buffered in region S1,S2 are reserved for the next time slot, and regions S2,S3 and S3,S4 are provided for the future time slots. The number of segments buffered in the region 0,S1, S1,S2, S2,S3, and S3,S4 is the same, whose duration is the length of video playback in each time slot. Let Sit denote the initial state of the playback buffer in vehicle i for tth time slot, and client i dynamically makes a decision whether to continue downloading a new segment or to enhance the quality level of the unplayed video segment according to its buffer state. The buffer status Sit contains two important factors: the number of video segments in playback buffer and the quality level of the video segments. si represents the number of segments in current playback buffer, and ai1,ai2,ai3,andai4 are the video quality level in the aforementioned four regions, respectively. It is noteworthy that the segments buffered in region 0,S1 are played in the current time slot, so in each time slot, the incremental data cannot change the state of video segments in this region.Since the video segments buffered in region0,S1 are played in the current time slot, when sit<S1, the current playback will be interrupted and the user’s perception will be seriously affected. Hence, buffer action a is taken: continuing to download new segments to prevent an interruption occurring in next time slots. When S1≤sit<S2, the current time slot can playback smoothly, but the next time slot video playback is at risk of interruption, so it is necessary to continue downloading new segments. When S2≤sit<S3, there is no possibility of interruption in current and next slots, so the buffer action determination is b: upgrading the quality level of video segments reserved for subsequent time slots and then downloading new segments. When sit≥S3, it means that there will be no playback interruption in a short time and the resolution quality is high. So buffer action decision is c: stopping the transmission service to vehicle requester i to prevent competition with other users for resource, which can be represented by the following constraint:
(13)∑j=1MrjifVt+∑k=1KrkifRt=0,ifsit≥S3.To maximize the average QoE of desired video required by all vehicle clients, we propose to maximize the received data volume first.(14)P1:Maxmize∑j=1Nwj′t=∑j=1N∑f=1Fpjf∑i=1McifVtrijfVtvijVtΔt+∑k=1Kck,fRtrkjfRtvkjRtΔt.As mentioned above, if neither RSU nor vehicle peers can provide transmission for the target vehicle, then the service source will be transferred to the BS. Therefore, after the optimization operation is performed, according to the result, if∑i=1MrijfVt+∑k=1KrkjfRt=0,sit<S3, wjft will be updated:
(15)wjft=pjfv0jtΔt.And we can obtain the final optimal data throughputwj. According to the initial status of playback buffer and the optimization result wj, the new buffer status after the execution of above buffer action is calculated:For buffer action a, the number of incremental video segments and the corresponding quality level can be represented by the following formulation:(16)sit+1=S1fwitr1Δt′S2−S1+S2−S1fwitrlΔt′S2−S1+r1Δt′S3−S2+S3−S2fwitrlΔt′S3−S1+r1Δt′S4−S3.In equation (16), fx is a function of x, where fx equals to 1 if x≥1 or 0 if x<1.
(17)ai2t=1,r1Δt′S2−S1≤wit<r2Δt′S2−S1,2,r2Δt′S2−S1≤wit<r3Δt′S2−S1,⋯l−1,rl−1Δt′S2−S1≤wit<rlΔt′S2−S1,l,otherwise.The calculation of quality levelai3,ai4 of video segments in region S2,S3,S3,S4 is similar to ai2.For buffer action b, according to the video quality level of the current buffer regionS1,S2, we need to compare the relationship between the received data wj and the bit rate required for additional enhancement. Users will buffer video data of the next enhancement layer in sequence until the highest definition is reached. After meeting the conditions of the highest quality layer, users continue to buffer new video segments in the next region. The specific calculation formula is similar to formula (17).For buffer action c, it means that the number of video segments in the playback buffer is sufficient and the quality level of video is high. In order to prevent resource waste caused by excessive buffering, it is necessary to stop providing transmission services to requesters. To decouple the two variables in the constraint (13), the formula can be equivalently transformed into the following constraint:
(18)∑j=1MrjifVt=0,ifsit≥S3,(19)∑k=1KrkifRt=0,ifsit≥S3.


## 4. Algorithm Design and Algorithm Analysis

In this section, we introduce the proposed joint optimization algorithm and then analyze time complexity and convergence of the algorithm.


### 4.1. Distributed Algorithm Design

To simplify our algorithm design, we introduce a setI=K∪M=1,⋯,K,K+1,⋯,K+M, where the 1st to Kth elements represent RSUs, and the K+1-th to K+M-th elements represent vehicle providers. We denote variable cijft to replace cifVt,ckfRt, and variable rijft to replace rijfVt,rkjfRt. In the preceding section, since there are two variables in formula (P1) that are tightly coupled, the aforementioned optimization of received data volume is an integer nonlinear programming (INLP) problem which is well known NP-hard. To solve this problem, firstly, we employ the McCormick envelope method to relax problem (P1) by introducing a set of additional variables zijfti∈I,j∈N,f∈F to replace cifVtrijfVt and ckfRtrkjfRt. Secondly, we apply Lagrange relaxation to decompose the optimization problem into several subproblems.To convert the original problem (P1) into several integer linear problems, several constraints will be added with the introduced variableszijf [46, 47], which are given by
(20)zijft≥rijft+cift−1,∀i∈I,j∈N,f∈F,(21)zijft≤rijft,∀i∈I,j∈N,f∈F,(22)zijft≤cift,∀i∈I,j∈N,f∈F,(23)zijft≥0,∀i∈I,j∈N,f∈F.Therefore, P1 can be converted to the following formula:(24)P2:Maxmize∑j=1Nwj′t=∑j=1N∑f=1Fpjf∑i=1IzijftvijtΔts.t.23,6~9,1819,20~23.Hence, the Lagrangian function decoupling the associated variables of P2 is expressed as(25)Lλ,β,γ,μ,z,r,c=∑j=1N∑f=1Fpjf∑i=1I−zijftvijtΔt+λijfrijft+cift−1−zijft+βijfrijft−cift+γijfzijft−rijft+μijfzijft−cift,where λ,β,γ, and μ are the introduced Lagrange multipliers:
(26)λijf≥0,βijf≥0,γijf≥0,μijf≥0,∀i∈I,∀j∈N,∀f∈F.Correspondingly, the dual of P2 is(27)P3:maxλ,β,γ,μminz,r,cLλ,β,γ,μ,z,r,cs.t.23,6~10,1819,20~23,26.Then, P3 can be decomposed into three independent subproblems, which is given as follows:(28)Lλ,β,γ,μ,z,r,c=f1z+f2r+f3c,where f1z,f2r, and f3c are the objective functions of subproblems P3.1, P3.2, and P3.3, respectively. The subproblems are given as follows:
(29)P3.1:minz∑j=1N∑f=1F∑i=1I−pjfzijftvijtΔt−λijfzijft+γijfzijft+μijfzijfts.t.23,(30)P3.2:minr∑j=1N∑f=1F∑i=1Iλijfrijft+βijfrijft−γijfrijfts.t.6~8,1819,(31)P3.3:minc∑j=1N∑f=1F∑i=1Iλijfcift−βijfcift−μijfcifts.t.23.All of these subproblems are integer linear problems, which can be solved by the generic linear integer programming method [48]. We employ the subgradient method to update the Lagrangian multipliers λ,β,γ, and μ iteratively:
(32)λijfd+1=λijfd+σdrijft+cift−1−zijft+,(33)βijfd+1=βijfd+σdrijft−cift+,(34)γijfd+1=γijfd+σdzijft−rijft+,(35)μijfd+1=μijfd+σdzijft−cift+,where d is the iteration number, σd is the step size, and .+=max0,.. The formulation of step size σd is
(36)σd=ZUPd−ZLBdSd2φ,where Sd=dλd,dβd,dγd,dμdT, ZUPd is the upper bound which is a feasible solution of the primary problem, ZLBd is the received data volume in the dth iteration, and φ is a positive constant. Notice that the algorithm will converge when σd has no significant change anymore. The detailed method is summarized in Algorithm 1.The procedure of choosing suitable buffer action and calculating QoE of played video segments is illustrated in Algorithm2. According to the current buffer state, each time slot executes the following loop. It is easy to note that the initial state of each time slot is determined by the received data throughput and buffer action of the previous time slot. First, for each slot, the algorithm attains the initial buffer states of each requesters, and then users determine buffer action. There is a key part in line 4, if user i has already buffered relatively sufficient segments, we need to stop its transmission service. So it is necessary to add constraint (18) and (19) to Algorithm 1. Next, the actual received data volume of each vehicle requesters can be calculated through Algorithm 1. After that, from steps 10 to 20, each requester calculates the new buffered segments and updates the quality level ai2,ai3,ai4 in corresponding regions. Since each time slot can only play video segments in region 0,S1, it results in that QoE is determined by the quality level ai1. Finally, the QoE of video segments in region 0,S1 is calculated and buffer state is updated in each for loop.Algorithm 1: Distributed algorithm for primal optimization problem.
1:Input:pjf,bijlocam, ε=0.01,dmax=10002:Output:optcift,rijft,zijft,wjt3: Initializeλ,β,γ,μ,ZUPt4:whileSd≥ε and d≤dmaxdo5: SolveP3.1 and get the values of zijft;6: SolveP3.2 and get the values of rijft;7: SolveP3.3 and get the values of cift;8: Vehicle requesterj calculates its received data wj′ using (14);9: Update step sizeσd;10: UpdateSd;11: Update Lagrange Multipliersλ,β,γ,μ using (32)–(35);12:d=d+1;13:end while14: if∑i=1Irijft=0,sit<S3then15: Vehicle requesterj turns to be broadcasted by BS and updates received data wjt using (15);16:end if17: return the data volumewjt for vehicle requester;Algorithm 2: QoE-oriented buffer action determination mechanism.
1: Input: current buffer stateSit, received data throughput wi2: Output: buffer action, updated buffer stateSit+1,QoE of video segment in region0,S13:for each time slot tdodo4:ifsit≥S3then5:  choose buffer actionc, no buffer for vehicle requester i;6:  Adding constraints∑i=1Mrijft=0,∑k=1Krkjft=0 to algorithm 1;7:wit=0;8:end if9: obtain the data throughputwi through algorithm 1;10:ifsit<S2then11:  choose buffer actiona and calculate the new buffered segments and quality level;12:  updatesit and video quality level ai2t, ai3t, ai4t in next intervals respectively;13:end if14:ifS2≤sit<S3 then15:  choose buffer actionb and upgrade the quality level in region S1,S2 then buffer new segments;16:  updatesit and video quality level ai2t, ai3t, ai4t in next intervals respectively;17:end if18:ifsit≥S3then19:  no buffer state changed;20:end if21: calculate the QoE of video segment in region0,S1;22: update buffer states for next time slotai2t=ai1t+1,ai3t=ai2t+1,ai4t=ai3t+1;23:end for24: return buffer action and QoE for each time slot;


### 4.2. Algorithm Analysis

In this part, we analyze the convergence and computational complexity of the algorithm.


#### 4.2.1. Convergence

Based on the proof in [49, 50], the proposed algorithm can gradually improve the optimization result and converge after a limited number of iterations. Furthermore, different feasible solutions ZUPd affect the convergence speed but do not change the convergence result. The closer the feasible solution ZUPd is to the optimal solution, the faster the convergence speed of the algorithm.


#### 4.2.2. Computational Complexity

The proposed algorithm executesO1/ε2 iterations to satisfy the accuracy ε (ε>0 and is a small parameter) of the subgradient method [51]. Besides, the computational complexity of each subproblem solved by the generic linear integer programming method is ON3.5L2, where N is the dimension of the variable, and L is a positive constant [48]. Therefore, the computational complexity of the proposed algorithm is ON3.5L2/ε2.


## 4.1. Distributed Algorithm Design

To simplify our algorithm design, we introduce a setI=K∪M=1,⋯,K,K+1,⋯,K+M, where the 1st to Kth elements represent RSUs, and the K+1-th to K+M-th elements represent vehicle providers. We denote variable cijft to replace cifVt,ckfRt, and variable rijft to replace rijfVt,rkjfRt. In the preceding section, since there are two variables in formula (P1) that are tightly coupled, the aforementioned optimization of received data volume is an integer nonlinear programming (INLP) problem which is well known NP-hard. To solve this problem, firstly, we employ the McCormick envelope method to relax problem (P1) by introducing a set of additional variables zijfti∈I,j∈N,f∈F to replace cifVtrijfVt and ckfRtrkjfRt. Secondly, we apply Lagrange relaxation to decompose the optimization problem into several subproblems.To convert the original problem (P1) into several integer linear problems, several constraints will be added with the introduced variableszijf [46, 47], which are given by
(20)zijft≥rijft+cift−1,∀i∈I,j∈N,f∈F,(21)zijft≤rijft,∀i∈I,j∈N,f∈F,(22)zijft≤cift,∀i∈I,j∈N,f∈F,(23)zijft≥0,∀i∈I,j∈N,f∈F.Therefore, P1 can be converted to the following formula:(24)P2:Maxmize∑j=1Nwj′t=∑j=1N∑f=1Fpjf∑i=1IzijftvijtΔts.t.23,6~9,1819,20~23.Hence, the Lagrangian function decoupling the associated variables of P2 is expressed as(25)Lλ,β,γ,μ,z,r,c=∑j=1N∑f=1Fpjf∑i=1I−zijftvijtΔt+λijfrijft+cift−1−zijft+βijfrijft−cift+γijfzijft−rijft+μijfzijft−cift,where λ,β,γ, and μ are the introduced Lagrange multipliers:
(26)λijf≥0,βijf≥0,γijf≥0,μijf≥0,∀i∈I,∀j∈N,∀f∈F.Correspondingly, the dual of P2 is(27)P3:maxλ,β,γ,μminz,r,cLλ,β,γ,μ,z,r,cs.t.23,6~10,1819,20~23,26.Then, P3 can be decomposed into three independent subproblems, which is given as follows:(28)Lλ,β,γ,μ,z,r,c=f1z+f2r+f3c,where f1z,f2r, and f3c are the objective functions of subproblems P3.1, P3.2, and P3.3, respectively. The subproblems are given as follows:
(29)P3.1:minz∑j=1N∑f=1F∑i=1I−pjfzijftvijtΔt−λijfzijft+γijfzijft+μijfzijfts.t.23,(30)P3.2:minr∑j=1N∑f=1F∑i=1Iλijfrijft+βijfrijft−γijfrijfts.t.6~8,1819,(31)P3.3:minc∑j=1N∑f=1F∑i=1Iλijfcift−βijfcift−μijfcifts.t.23.All of these subproblems are integer linear problems, which can be solved by the generic linear integer programming method [48]. We employ the subgradient method to update the Lagrangian multipliers λ,β,γ, and μ iteratively:
(32)λijfd+1=λijfd+σdrijft+cift−1−zijft+,(33)βijfd+1=βijfd+σdrijft−cift+,(34)γijfd+1=γijfd+σdzijft−rijft+,(35)μijfd+1=μijfd+σdzijft−cift+,where d is the iteration number, σd is the step size, and .+=max0,.. The formulation of step size σd is
(36)σd=ZUPd−ZLBdSd2φ,where Sd=dλd,dβd,dγd,dμdT, ZUPd is the upper bound which is a feasible solution of the primary problem, ZLBd is the received data volume in the dth iteration, and φ is a positive constant. Notice that the algorithm will converge when σd has no significant change anymore. The detailed method is summarized in Algorithm 1.The procedure of choosing suitable buffer action and calculating QoE of played video segments is illustrated in Algorithm2. According to the current buffer state, each time slot executes the following loop. It is easy to note that the initial state of each time slot is determined by the received data throughput and buffer action of the previous time slot. First, for each slot, the algorithm attains the initial buffer states of each requesters, and then users determine buffer action. There is a key part in line 4, if user i has already buffered relatively sufficient segments, we need to stop its transmission service. So it is necessary to add constraint (18) and (19) to Algorithm 1. Next, the actual received data volume of each vehicle requesters can be calculated through Algorithm 1. After that, from steps 10 to 20, each requester calculates the new buffered segments and updates the quality level ai2,ai3,ai4 in corresponding regions. Since each time slot can only play video segments in region 0,S1, it results in that QoE is determined by the quality level ai1. Finally, the QoE of video segments in region 0,S1 is calculated and buffer state is updated in each for loop.Algorithm 1: Distributed algorithm for primal optimization problem.
1:Input:pjf,bijlocam, ε=0.01,dmax=10002:Output:optcift,rijft,zijft,wjt3: Initializeλ,β,γ,μ,ZUPt4:whileSd≥ε and d≤dmaxdo5: SolveP3.1 and get the values of zijft;6: SolveP3.2 and get the values of rijft;7: SolveP3.3 and get the values of cift;8: Vehicle requesterj calculates its received data wj′ using (14);9: Update step sizeσd;10: UpdateSd;11: Update Lagrange Multipliersλ,β,γ,μ using (32)–(35);12:d=d+1;13:end while14: if∑i=1Irijft=0,sit<S3then15: Vehicle requesterj turns to be broadcasted by BS and updates received data wjt using (15);16:end if17: return the data volumewjt for vehicle requester;Algorithm 2: QoE-oriented buffer action determination mechanism.
1: Input: current buffer stateSit, received data throughput wi2: Output: buffer action, updated buffer stateSit+1,QoE of video segment in region0,S13:for each time slot tdodo4:ifsit≥S3then5:  choose buffer actionc, no buffer for vehicle requester i;6:  Adding constraints∑i=1Mrijft=0,∑k=1Krkjft=0 to algorithm 1;7:wit=0;8:end if9: obtain the data throughputwi through algorithm 1;10:ifsit<S2then11:  choose buffer actiona and calculate the new buffered segments and quality level;12:  updatesit and video quality level ai2t, ai3t, ai4t in next intervals respectively;13:end if14:ifS2≤sit<S3 then15:  choose buffer actionb and upgrade the quality level in region S1,S2 then buffer new segments;16:  updatesit and video quality level ai2t, ai3t, ai4t in next intervals respectively;17:end if18:ifsit≥S3then19:  no buffer state changed;20:end if21: calculate the QoE of video segment in region0,S1;22: update buffer states for next time slotai2t=ai1t+1,ai3t=ai2t+1,ai4t=ai3t+1;23:end for24: return buffer action and QoE for each time slot;


## 4.2. Algorithm Analysis

In this part, we analyze the convergence and computational complexity of the algorithm.


### 4.2.1. Convergence

Based on the proof in [49, 50], the proposed algorithm can gradually improve the optimization result and converge after a limited number of iterations. Furthermore, different feasible solutions ZUPd affect the convergence speed but do not change the convergence result. The closer the feasible solution ZUPd is to the optimal solution, the faster the convergence speed of the algorithm.


### 4.2.2. Computational Complexity

The proposed algorithm executesO1/ε2 iterations to satisfy the accuracy ε (ε>0 and is a small parameter) of the subgradient method [51]. Besides, the computational complexity of each subproblem solved by the generic linear integer programming method is ON3.5L2, where N is the dimension of the variable, and L is a positive constant [48]. Therefore, the computational complexity of the proposed algorithm is ON3.5L2/ε2.


## 4.2.1. Convergence

Based on the proof in [49, 50], the proposed algorithm can gradually improve the optimization result and converge after a limited number of iterations. Furthermore, different feasible solutions ZUPd affect the convergence speed but do not change the convergence result. The closer the feasible solution ZUPd is to the optimal solution, the faster the convergence speed of the algorithm.


## 4.2.2. Computational Complexity

The proposed algorithm executesO1/ε2 iterations to satisfy the accuracy ε (ε>0 and is a small parameter) of the subgradient method [51]. Besides, the computational complexity of each subproblem solved by the generic linear integer programming method is ON3.5L2, where N is the dimension of the variable, and L is a positive constant [48]. Therefore, the computational complexity of the proposed algorithm is ON3.5L2/ε2.


## 5. Numerical Experiments and Results

In this section, we conduct comprehensive simulations to evaluate the effectiveness of our proposed cooperative broadcast optimization algorithm.


### 5.1. Simulation Scenarios

Similar to [29], we perform the simulation in a scenario with multilane road and RSUs whose coverage is 400 m located on road at equal distance. We assume the video library contains 50 video files, and each video is divided into fixed duration segments. Besides, each video segment is encoded into 4 layers, and the bit rate of each enhancement layer is set as w0,w1,w2, and w3 separately [37]. All the significant simulation parameters are collected in Table 2.Table 2
Simulation parameters.
ParameterValueNumber of vehicle requesters10Number of vehicle providers3Number of video content in library50Layers of video segment4Number of segments for each time slot6Duration of one time slotΔt6 sDuration of one video segmentΔt′1 sPopularity parameterr0.6Upper cache capacity for RSU10 video contentsUpper cache capacity for vehicle5 video contentsMax transmission rate for B2R2 MbpsMax transmission rate for R2V4 MbpsMax transmission rate for V2V6 MbpsAverage bit-rate for different layersw0,w1,w2,w32, 3, 4, 7 Mbpsc1,c20.16, 0.66We use several quantitative evaluations to measure the optimization result compared with other schemes including popularity-based caching and multiple transmission sources (PCMS), popularity-based caching and single transmission sources (PCSS), and cooperative caching and single transmission source (CCSS).(1)
Data volume received: according to Algorithm1, calculating the total amount of data successfully received by all requesters through joint optimization of caching and transmission association, users can decode corresponding resolution level video after receiving sufficient data(2)
Average QoE of all vehicle requesters: according to the total data volume received and Algorithm2, calculating QoE of video segments in buffer region 0,S1 which directly reflects the video definition level(3)
Proportion of V2V and V2R transmission: total volume of data received by vehicle requesters come from three kinds of sources, where a larger proportion of V2V and V2R transmission represents better to alleviate the pressure of BS(4)
Cache hit ratio: desired video content can be satisfied by vehicle and RSU cache, so it is not necessary to attain transmission service from a remote server


### 5.2. Impact of Popularity Parameterr

The tendency of above quantitative measurements under different popularity parameterr is shown in Figure 3. It can be found that the proposed algorithm outperforms the others. Furthermore, with the increase of popularity parameter r, all of the measurements, including the total data volume, average QoE of all vehicle requesters, and proportion of V2V and V2R transmission and cache hit ratio, will increase. The reason can be summarized as follows: as mentioned earlier, a larger r means requesters concentrate more on the most popular video contents. Therefore, the content cached in providers can hit more desired files and RSU and vehicle peers can broadcast more data. Furthermore, no coordination in cache scheme based on popularity causes it to perform worse. Every sources cache the most popular video files, so identical content in the cache cannot complement each other and content provided by vehicles is very limited. It can be found in Figure 3(b); the growth trend of QoE is not obvious as other measurements; it is because in order to avoid continuous fluctuations in definition per time slot, the incremental amount must reach a certain level; then, the value of QoE will increase with the increase of the enhancement layer.Figure 3
Impact of popularity parameterr.
(a)
Proportion of V2V and V2R transmission(b)
Average QoE(c)
The data volume(d)
Cache hit ratio


### 5.3. Impact of the Number of Vehicle Providers

The impact of the number of vehicle providers for various requesters over different BLERs is shown in Figure4. The BLERs of users are listed in Table 3, and users are sorted according to channel status. In order to analyze the extreme channel scenario, we set BLERs for different users with a large gap which is usually quite small in practice. It can be found that with the increase of vehicle providers, the data volume received and average QoE will increase. Furthermore, the worse the channel quality, the smaller the increasing degree. The reason is that our target is to maximize the data volume received, but the reward of providing transmission for users with poor channel quality is small under the condition of limited number of transmissions. Therefore, it will provide priority to users with good channel quality. And when the number of vehicle providers reaches 4, for users with good channel conditions, the video quality level can be the highest, and it does not make much sense to continue to increase the number of transmission sources.Figure 4
Impact of the number of vehicle providers.
(a)
The data volume(b)
QoETable 3
The BLER of users.
(a)User1User2User3User4User5[0.9,1][0.8,0.9][0.7,0.8][0.6,0.7][0.55,0.6](b)User6User7User8User9User10[0.5,0.55][0.45,0.5][0.4,0.45][0.2,0.3][0,0.1]


### 5.4. Impact of the Service Upper Limitation

To illustrate the impact of the service upper bound, we adjust the number of vehicle requesters that a vehicle provider can serve simultaneously from 5 to 8. Figure5(a) shows that when the upper bound increases from 6 to 7, the data volume received for most users increases obviously. Besides the fluctuation range of poor channel state, a user is bigger than that of good channel state user with service upper limitation changing. And the tendency of QoE in Figure 5(b) is more stable. The reason behind this phenomenon is that the increasing point is dependent on cache capacity and the number of vehicle providers. If the cache diversity and providers are sufficient, service upper limitation will become bottlenecks and the total data volume received will increase with that. Otherwise, the total data volume received will not increase over the change of service upper limitation. Furthermore, to attain more data, users with a good channel state take priority in the service quota; when the quota increases, the impact is less than other users.Figure 5
Impact of the service upper bound.
(a)
The data volume(b)
QoE


### 5.5. Impact of the Receive Upper Limitation

Receive upper bound means the max number of vehicle peers that one requester can receive at the same time. The impact of the receive upper bound over different popularity parameter is shown in Figure6. From these figures, it can be found that the data volume will increase with the increase of receive upper bound, and the smaller the popularity parameter r, the bigger the range of increase. The reason is that allowing a requester to receive from more vehicle peers can receive more data and ensure the adequacy of the playback buffer. Besides for users, the better the channel quality, the more obvious the data throughput will increase with the increase in the number of peers. When users’ preferences are concentrated and the receive upper bound reaches 3, the video quality received by users with good channel quality can attain the high-definition layers. So continuing to increase vehicle peers will not bring significant effects in improving video quality. However, in practical applications, a larger number of vehicle peers providing transmission services to requesters will cause higher cost. Therefore, it is necessary to achieve a good trade-off between high-definition level and the number of vehicle peers.Figure 6
Impact of the receive upper bound.
(a)
r=0.6(b)
r=0.8(c)
r=1.2(d)
r=0.6(e)
r=0.8(f)
r=1.2


### 5.6. Impact of Vehicle Cache Capacity

Figure7 shows the influence of vehicle cache capacity cc on different transmission strategies in terms of quantitative measurements. From the trend of increase, we can observe that total data throughput, proportion of V2V and V2R transmission, and cache hit ratio all increase with the increase of cc for different transmission strategies. Under the constraint that the received data throughput must reach a certain amount, the growth trend of QoE is slightly slower, but the overall trend is still on the rise. It is because with more caching capacity, more video contents can be satisfied by vehicle peers whose transmission rate is relatively high and less contents are requested from BS. And more cache capacity contributes to caching diversity which will improve the cache hit ratio. Besides, our proposed strategy always outperforms than others for all quantitative measurements regardless of the cache capacity. The reason is that, on the one hand, cache scheme based on popularity does not take coordination into consideration, and the identical content cache for all nodes cannot compensate for each other; on the other hand, the transmission capacity of single transmission source is limited and cannot support high-definition level video decoding. Furthermore, when it comes to the scenario where the capacity is adequate, the gap of QoE and proportion of V2V and V2R transmission for different caching strategy is not obvious. The larger the vehicle cache capacity cc, the closer the QoE value is to 5, the closer the transmission ratio is to 1, and the smaller the gap between different caching strategies.Figure 7
Impact of vehicle cache capacitycc.
(a)
The data volume(b)
Average QOE(c)
Proportion of V2V and V2R transmission(d)
Cache hit ratio


## 5.1. Simulation Scenarios

Similar to [29], we perform the simulation in a scenario with multilane road and RSUs whose coverage is 400 m located on road at equal distance. We assume the video library contains 50 video files, and each video is divided into fixed duration segments. Besides, each video segment is encoded into 4 layers, and the bit rate of each enhancement layer is set as w0,w1,w2, and w3 separately [37]. All the significant simulation parameters are collected in Table 2.Table 2
Simulation parameters.
ParameterValueNumber of vehicle requesters10Number of vehicle providers3Number of video content in library50Layers of video segment4Number of segments for each time slot6Duration of one time slotΔt6 sDuration of one video segmentΔt′1 sPopularity parameterr0.6Upper cache capacity for RSU10 video contentsUpper cache capacity for vehicle5 video contentsMax transmission rate for B2R2 MbpsMax transmission rate for R2V4 MbpsMax transmission rate for V2V6 MbpsAverage bit-rate for different layersw0,w1,w2,w32, 3, 4, 7 Mbpsc1,c20.16, 0.66We use several quantitative evaluations to measure the optimization result compared with other schemes including popularity-based caching and multiple transmission sources (PCMS), popularity-based caching and single transmission sources (PCSS), and cooperative caching and single transmission source (CCSS).(1)
Data volume received: according to Algorithm1, calculating the total amount of data successfully received by all requesters through joint optimization of caching and transmission association, users can decode corresponding resolution level video after receiving sufficient data(2)
Average QoE of all vehicle requesters: according to the total data volume received and Algorithm2, calculating QoE of video segments in buffer region 0,S1 which directly reflects the video definition level(3)
Proportion of V2V and V2R transmission: total volume of data received by vehicle requesters come from three kinds of sources, where a larger proportion of V2V and V2R transmission represents better to alleviate the pressure of BS(4)
Cache hit ratio: desired video content can be satisfied by vehicle and RSU cache, so it is not necessary to attain transmission service from a remote server


## 5.2. Impact of Popularity Parameterr

The tendency of above quantitative measurements under different popularity parameterr is shown in Figure 3. It can be found that the proposed algorithm outperforms the others. Furthermore, with the increase of popularity parameter r, all of the measurements, including the total data volume, average QoE of all vehicle requesters, and proportion of V2V and V2R transmission and cache hit ratio, will increase. The reason can be summarized as follows: as mentioned earlier, a larger r means requesters concentrate more on the most popular video contents. Therefore, the content cached in providers can hit more desired files and RSU and vehicle peers can broadcast more data. Furthermore, no coordination in cache scheme based on popularity causes it to perform worse. Every sources cache the most popular video files, so identical content in the cache cannot complement each other and content provided by vehicles is very limited. It can be found in Figure 3(b); the growth trend of QoE is not obvious as other measurements; it is because in order to avoid continuous fluctuations in definition per time slot, the incremental amount must reach a certain level; then, the value of QoE will increase with the increase of the enhancement layer.Figure 3
Impact of popularity parameterr.
(a)
Proportion of V2V and V2R transmission(b)
Average QoE(c)
The data volume(d)
Cache hit ratio


## 5.3. Impact of the Number of Vehicle Providers

The impact of the number of vehicle providers for various requesters over different BLERs is shown in Figure4. The BLERs of users are listed in Table 3, and users are sorted according to channel status. In order to analyze the extreme channel scenario, we set BLERs for different users with a large gap which is usually quite small in practice. It can be found that with the increase of vehicle providers, the data volume received and average QoE will increase. Furthermore, the worse the channel quality, the smaller the increasing degree. The reason is that our target is to maximize the data volume received, but the reward of providing transmission for users with poor channel quality is small under the condition of limited number of transmissions. Therefore, it will provide priority to users with good channel quality. And when the number of vehicle providers reaches 4, for users with good channel conditions, the video quality level can be the highest, and it does not make much sense to continue to increase the number of transmission sources.Figure 4
Impact of the number of vehicle providers.
(a)
The data volume(b)
QoETable 3
The BLER of users.
(a)User1User2User3User4User5[0.9,1][0.8,0.9][0.7,0.8][0.6,0.7][0.55,0.6](b)User6User7User8User9User10[0.5,0.55][0.45,0.5][0.4,0.45][0.2,0.3][0,0.1]


## 5.4. Impact of the Service Upper Limitation

To illustrate the impact of the service upper bound, we adjust the number of vehicle requesters that a vehicle provider can serve simultaneously from 5 to 8. Figure5(a) shows that when the upper bound increases from 6 to 7, the data volume received for most users increases obviously. Besides the fluctuation range of poor channel state, a user is bigger than that of good channel state user with service upper limitation changing. And the tendency of QoE in Figure 5(b) is more stable. The reason behind this phenomenon is that the increasing point is dependent on cache capacity and the number of vehicle providers. If the cache diversity and providers are sufficient, service upper limitation will become bottlenecks and the total data volume received will increase with that. Otherwise, the total data volume received will not increase over the change of service upper limitation. Furthermore, to attain more data, users with a good channel state take priority in the service quota; when the quota increases, the impact is less than other users.Figure 5
Impact of the service upper bound.
(a)
The data volume(b)
QoE


## 5.5. Impact of the Receive Upper Limitation

Receive upper bound means the max number of vehicle peers that one requester can receive at the same time. The impact of the receive upper bound over different popularity parameter is shown in Figure6. From these figures, it can be found that the data volume will increase with the increase of receive upper bound, and the smaller the popularity parameter r, the bigger the range of increase. The reason is that allowing a requester to receive from more vehicle peers can receive more data and ensure the adequacy of the playback buffer. Besides for users, the better the channel quality, the more obvious the data throughput will increase with the increase in the number of peers. When users’ preferences are concentrated and the receive upper bound reaches 3, the video quality received by users with good channel quality can attain the high-definition layers. So continuing to increase vehicle peers will not bring significant effects in improving video quality. However, in practical applications, a larger number of vehicle peers providing transmission services to requesters will cause higher cost. Therefore, it is necessary to achieve a good trade-off between high-definition level and the number of vehicle peers.Figure 6
Impact of the receive upper bound.
(a)
r=0.6(b)
r=0.8(c)
r=1.2(d)
r=0.6(e)
r=0.8(f)
r=1.2


## 5.6. Impact of Vehicle Cache Capacity

Figure7 shows the influence of vehicle cache capacity cc on different transmission strategies in terms of quantitative measurements. From the trend of increase, we can observe that total data throughput, proportion of V2V and V2R transmission, and cache hit ratio all increase with the increase of cc for different transmission strategies. Under the constraint that the received data throughput must reach a certain amount, the growth trend of QoE is slightly slower, but the overall trend is still on the rise. It is because with more caching capacity, more video contents can be satisfied by vehicle peers whose transmission rate is relatively high and less contents are requested from BS. And more cache capacity contributes to caching diversity which will improve the cache hit ratio. Besides, our proposed strategy always outperforms than others for all quantitative measurements regardless of the cache capacity. The reason is that, on the one hand, cache scheme based on popularity does not take coordination into consideration, and the identical content cache for all nodes cannot compensate for each other; on the other hand, the transmission capacity of single transmission source is limited and cannot support high-definition level video decoding. Furthermore, when it comes to the scenario where the capacity is adequate, the gap of QoE and proportion of V2V and V2R transmission for different caching strategy is not obvious. The larger the vehicle cache capacity cc, the closer the QoE value is to 5, the closer the transmission ratio is to 1, and the smaller the gap between different caching strategies.Figure 7
Impact of vehicle cache capacitycc.
(a)
The data volume(b)
Average QOE(c)
Proportion of V2V and V2R transmission(d)
Cache hit ratio


## 6. Conclusion

In this paper, we propose a cooperative broadcast optimization to improve the QoE for vehicular video streaming. The cooperative broadcast optimization takes content cache and transmission scheduling policy into account to maximize total data volume received by all requesters. In addition, from the perspective of improving quality level, requesters determine the buffer action according to its current buffer status. The total data throughput can be constructed as an INLP problem which can be converted into some linear integer programming subproblems through the McCormick envelope method and Lagrange relaxation. Numerical simulations demonstrate that our algorithm outperforms other strategies in terms of the data volume, average QoE of all vehicle requesters, and proportion of V2V and V2R transmission and cache hit ratio. For the future work, we will take energy consumption between the requesters and different broadcast candidates into consideration to manage the transmission scheduling association.



---

*Source: 8653083-2021-12-23.xml*