Optimal Video Streaming in Dense 5G Networks With D2D Communications

Mobile video traffic and mobile devices have now outpaced other data traffic and fixed devices. Global service providers are attempting to propose new mobile infrastructures and solutions for high performance of video streaming services, i.e., high quality of experience (QoE) at high resource efficiency. Although device-to-device (D2D) communications have been an emerging technique that is anticipated to provide a massive number of mobile users with advanced services in 5G networks, the management of resource and co-channel interference between D2D pairs, i.e., helper-requester pairs, and cellular users (CUs) is challenging. In this paper, we design an optimal rate allocation and description distribution for high performance video streaming, particularly, achieving high QoE at high energy efficiency while limiting co-channel interference over D2D communications in 5G networks. To this end, we allocate optimal encoding rates to different layers of a video segment and then packetize the video segment into multiple descriptions with embedded forward error correction before transmission. Simultaneously, the optimal numbers of descriptions are distributed to D2D helpers and base stations in a cooperative scheme for transmitting to the D2D requesters. The optimal results are efficiently in correspondence with intra-popularity of different segments of a video characterized by requesters’ behavior, characteristic of lossy wireless channels, channel state information of D2D requesters, and constraints on remaining energy of D2D helpers and target signal to interference plus noise ratio of CUs. Simulation results demonstrate the benefits of our proposed solution in terms of high performance video streaming.


I. INTRODUCTION
It is anticipated by 2021 that the number of mobile-connected devices will reach 11.6 billion, yielding an annual global mobile data traffic of more than half a zettabyte, over 78% of which is contributed by mobile video traffic [1].In addition, the video traffic associated with the proliferation of mobile users (MUs) is accounting for a significant portion of resource consumption in 5G networks.It is further posing a new landscape of challenges to service providers in providing MUs with high quality of experience (QoE) characterized by the following three rigorous features: 1) punctual arrival of received video segments to guarantee continuous playback, 2) high reconstructed peak signal-to-noise rate (PSNR) to gain high playback quality, and 3) low quality fluctuation among the received segments to ensure smooth playback [2], [3].Consequently, they need an immediate solution for a disruptive video streaming technique to address the requirements of quantity (i.e., tremendous number of MUs), quality (i.e., QoE), and resource consumption (i.e., energy, spectrum, and bandwidth).
Recently, device-to-device (D2D) communications has drawn tremendous interest from both the academia and industry as an emerging technology for 5G networks [4].Various issues in terms of the design and standardization of new solutions for D2D communications in 5G networks have been investigated, including power control [5]- [9], clustering [10]- [12], resource allocation/reuse/sharing [13]- [17]; cooperative schemes [18]- [20], and interference-awareness [21]- [24].In particular, in [5]- [9], power control schemes have been proposed to allocate proper transmission power to VOLUME 6, 2018 This work is licensed under a Creative Commons Attribution 3.0 License.For more information, see http://creativecommons.org/licenses/by/3.0/each D2D pair (i.e., helper and requester) 1 on each channel to increase the spectrum, energy, and coverage efficiency while ensuring the target signal to interference plus noise ratio (SINR).To fully utilize the existence of D2D pairs by guaranteeing high connectivity and low transmission time for D2D communications, clustering schemes have been proposed in [10]- [12].The important problem of how to mitigate the interference effects between D2D pairs and cellular users (CUs) 2 to enhance the capacity of D2D communications can be solved by using effective spectrum resource allocation [13].Furthermore, the capacity of D2D communications can be maximized while ensuring the quality of service (QoS) of CUs by utilizing all possible uplink/downlink resources of the CUs, i.e., sharing/reusing resources [14]- [17], or by applying cooperative schemes of relaying and multiple-input multiple-output (MIMO) precoding [18]- [20].Interferenceaware solutions are also considered to improve the energy efficiency [21] and achieve high system capacity based on optimizing the transmission power of each D2D helper while keeping a given SINR for the CUs [22]- [24].
The emergence of the envisioned future video streaming services has stimulated the need for high performance support for D2D communications in 5G networks.However, the aforementioned solutions cannot be directly applied to particular video streaming services.The reason is that many pivotal aspects of mobile wireless networks (e.g., resources, types of mobile devices, and conditions), requester behavior/experience (e.g., mobility, access rate, and QoE), and videos (e.g., rate-distortion (RD) characteristics, coding techniques, and resolutions) have not been considered.Despite the many studies in D2D video communications [26]- [36], these aspects and insightful techniques required to provide the requesters with high performance video streaming that simultaneously satisfy high QoE, D2D helpers' energy saving, and preservation of the CUs' interference condition, remain unsolved challenges.
In this paper, we extend our previous work in [37] by proposing a joint encoding rate allocation and description distribution optimization (RDO) to enhance the performance of video streaming services over D2D communications in dense 5G networks.To do so, for punctual arrival of video segments at the requesters, we exploit the available storage and energy resources of the D2D helpers, who have already cached the requested videos [25], [27].For high PSNR of received video segments, we adopt layered multiple description coding with embedded forward error correction (MDC-FEC) [2], [38], [39].The MDC-FEC enables each video segment in scalable video coding standard to be packetized into multiple descriptions for highest data protection against lossy transmission, and more fine-grained video streaming under varying bandwidth constraints and diverse playback capacities of mobile devices.Meanwhile, we formulate a constrained optimization problem, which is solved for optimal encoding rates allocated to different layers of each video segment and optimal numbers of descriptions distributed to D2D helpers and base stations (BS) for cooperative transmission.The optimal results are found according to the lossy features of wireless channels and the RD characteristics and the intrapopularity 3 of video segments to minimize the average reconstructed distortion of received video segments for the highest PSNR.We further investigate the third feature of QoE, i.e., quality fluctuation of received video segments, to fulfill the whole perspective of QoE.Importantly, due to high energy consumption of D2D helpers for video streaming and the co-channel interference effect of the D2D pairs on the CUs, we also take into account the constraints of the remaining energy of D2D helpers and the target SINR of CUs in the optimization problem for the purposes of high energy saving and co-channel interference limitation.
The rest of this paper is organized as follows.In Section II, related work is discussed.Section III presents assumptions, system models, and formulations, which enable us to formulate the constrained nonlinear RDO problem and propose its solution using genetic algorithms (GAs) in Section IV.In Section V, we introduce a distributed implementation strategy (DIS) to describe how all descriptions of a video can be cooperatively transmitted from the D2D helpers and BSs to the requesters.Section VI is dedicated to performance evaluation in order to demonstrate the benefits of the proposed solution.Finally, conclusions are drawn in Section VII.

II. RELATED WORKS
In this section, we identify some key techniques which are used to improve the performance of D2D communications [5]- [24].Afterwards, some crucial video streaming techniques for D2D communications are discussed [26]- [36].

A. D2D COMMUNICATIONS
In respect of power control in D2D communications, the authors in [5] derived the cumulative distribution function of the transmission power and SINR in order to analyze the power control implementation.Although the proposed approach is well investigated, more practical results of power control, which provide mobile devices with better distributions of transmission power and SINR, i.e., with different QoS provisions, should be considered.In practice, the overall power consumption of all D2D clusters is minimized under the constraints of received interference at the BS and the transmission rate required for each cluster [6].As a result, the energy consumption is efficiently reduced while the QoS requirements for both low and high rate services are fulfilled.
Similarly, the authors in [7] have proposed a utility function maximization approach to balance the spectrum efficiency and the total transmission power in a hybrid cellular-D2D network.In [8], the authors have proposed two algorithms of power control, namely centralized and distributed algorithms.The former ensures that the CUs have sufficient probability of coverage by preventing from the interference of the D2D pairs, while scheduling as many D2D pairs as possible.Then, the latter maximizes the capacity of the D2D pairs.In a different approach, a distributed power control scheme was proposed based on the distance between the D2D helpers and their associated BSs [9].In this way, the authors showed that the coverage gain can be achieved, but this does not significantly degrade the performance of the CUs.
With regard to clustering, a cluster-based interference management scheme is designed to meet a given target probability of D2D communications in [10].A power control scheme is subsequently applied to further improve the reliability of D2D communications.The key idea of this solution is that a cluster is determined as a frequency reuse unit for its own D2D pairs.Unlike in [10], a clustering selection mode is established to vote for the cluster heads (CH) out of all clusters in the whole system to minimize the average transmission time of the system [11].In addition, clustering solutions, i.e., hierarchical clustering and non-hierarchical clustering, presented in [12], can be applied to provide the MUs with reliable connectivity.
Resource efficiency to improve the performance of D2D communications has been reported in [13]- [17].In [13], the authors have applied iterative combinatorial auction, in which the spectrum resource is defined as a set of resource units for making bids and the D2D pairs are considered as the goods/services waiting to be sold.A spectrum resource allocation mechanism has been proposed to improve the sum rate for a D2D underlay network by reducing the interference effect between the D2D pairs and the CUs.Another approach to enhance the capacity for D2D communications is to exploit the available uplink/downlink resource of CUs, while certainly guaranteeing the quality of primary cellular communications [14], [15].To take full advantage of the available resources of both uplink and downlink, the reuse strategy has been formulated as a generic utility maximization problem to maximize the sum rate of D2D pairs under QoS constraints [16].Lately, a new resource allocation framework has been studied in [17], to maximize the overall system throughput, while satisfying a given SINR target for both CUs and D2D groups.
The cooperative technology has been feasibly applied to the context of D2D communications underlaying cellular networks [18]- [20].In particular, the authors in [18] have proposed two cooperative relaying schemes based on superposition coding to enhance the throughput capacity of D2D communications without deteriorating the CUs' performance.If the downlink resource of the cellular network is reused by the D2D pairs, the interference between the D2D pairs and the CUs may occur, which can be mitigated by MIMO precoding schemes to achieve high system throughput [19].Especially, in frequency division duplex MIMO systems, D2D communications can be exploited to share the same inner precoder, and thus reduce the amount of shared information [20].
Most of the aforementioned studies address the problem of interference between the D2D pairs and the CUs.If this interference is well canceled, many performance metrics of D2D communications can be enhanced.In [21], interference alignment is designed initially to mitigate the cross-tier interference between the D2D pairs and the CUs.Afterwards, a MIMO transmission scheme is proposed for high energy efficiency.In a similar vein with energy efficiency, but further taking the SINR constraint to preserve the performance of CUs, the transmit power levels of D2D pairs are optimized to maximize the system throughput in a cell [22].As a useful guideline on configuring the network parameters in practice, transmission capacity region, i.e., the enclosure of all feasible sets of CUs and D2D helpers, has been analyzed and investigated by utilizing two effective techniques of interference management, namely power control and successive interference cancelation [23].Interference management algorithm was further provided in both uplink and downlink phases to maximize the total throughput of D2D communications and ensure no interference of D2D communications is imposed on the CUs [24].

B. VIDEO TECHNIQUES FOR D2D COMMUNICATIONS
While most of the solutions in [5]- [24] cannot be directly applied to video streaming services, a number of other factors further make video streaming more troublesome.First of all, video traffic requested by MUs has quickly increased over cellular networks, causing considerable consumption of the already-limited network resources.Secondly, the MUs often require high quality of video streaming, but wireless channels are always involved in lossy and diverse transmission characteristics.Last but not least, video streaming services depend on the particular features of mobile devices (e.g., remaining energy and playback capacity), the behavior/experience of users (e.g., mobility, access rate, and QoE), and the video themselves (e.g., RD characteristics, coding techniques, and resolutions).Without considering these issues, we cannot achieve high performance of video streaming.Recently, the authors in [26]- [36] have studied specific techniques for video streaming, yet high QoE, high energy saving, and high performance of the CUs have not been satisfied simultaneously.
Particularly, in [26], a clustering algorithm has been proposed for real-time video streaming based on mobile-tomobile collaboration over LTE networks.A CH is voted for sending the requested videos in an optimal way with minimum energy consumption and reconstructed distortion.The objectives of the work in [26] are similar to ours, but we consider a more general scenario by further taking into account the collaboration between the BS and the D2D communications, the co-channel interference between D2D pairs and CUs, the skewed behavior of users, the layered MDC with embedded FEC to efficiently protect the descriptions of videos from transmission errors, and the QoE represented by playback quality and quality fluctuation instead of QoS represented by only reconstructed distortion.The authors in [27] only focused on minimizing the expected downloading time, i.e., one of the most important aspects of QoE, for video streaming by exploiting the skewed behavior of users and the cooperation between the BS and the small cells.However, the characteristics of wireless channels and encoding techniques of videos have not been studied to satisfy the other aspects of high QoE such as high playback quality and low quality fluctuation.While many studies have put more efforts into improving the aspects of QoE and reducing resource consumption, the work in [28] has solved the problem of how to balance the benefit among the cooperators, who want to join a cooperative video streaming session.This in turn avoids the unfairness since the cooperators with better downlinks, i.e., higher download rates, expend more cellular traffic and thus higher costs than the others.
In the context of small cell heterogeneous architectures, the low rate backhaul capacity may become exhausted.Fortunately, thanks to high storage capacity, the D2D pairs can work as helpers to cache more videos in advance to serve the future MUs' requests.The authors in [29] and [30] have respectively built an energy-efficient uplink and downlink resource sharing scheme for D2D multimedia communications by considering spectrum utilization of each user and QoS requirement.However, because of its main focus on gaining high energy and spectrum efficiency in green multimedia communications under a given QoS provisioning constraint/measurement, they have not investigated the performance metrics of QoE.Similar to our context, the skewed behavior of users and the collaboration between the BS and the D2D communications are exploited to propose a caching solution for high throughput of video transmission [31].But, only improving the throughput of video transmission cannot ensure high QoE, not to mention the lack of analysis of wireless channels, co-channel interference between the D2D pairs and the CUs, and encoding techniques of video, which leverage high QoE.In [32], a social-aware video multicast system based on D2D communications has been proposed.The main idea is that a video streaming session is divided into two phases.In the first phase, the BS multicasts all packets of each group of picture to the MUs.In the second phase, the MUs utilize inband or outband D2D communications to share the missing packets with each other for better playback quality.However, this system works as a retransmission scheme, which is not feasible in real-time video streaming compared to layered MDC with embedded FEC.Furthermore, this so-called reciprocal system does not work efficiently because the remaining energy of each MU is not taken into account during the sharing phase.
In [33], the authors considered only the sharing phase when all videos are assumed to be pre-cached in D2D system.Firstly, a scheduling algorithm is implemented to allow which D2D pairs to transmit at a given time.Then, a streaming algorithm is adaptively deployed to assign which device to send each video segment at which quality level.These two algorithms aim to schedule the D2D pairs and control the quality of each segment to maximize the playback quality of the received video.In a similar vein with [33] but considering power control scheme instead of qualityaware, the authors in [34] have proposed a source selection and power control solution for high playback quality with low latency.However, both [33] and [34] have not applied source video encoding techniques or utilized the behavior of users, which have important effect on video streaming performance.Even though taking into account QoE-aware in resource allocation for D2D video streaming, the authors in [35] and [36] have not evaluated the performance of energy saving or considered how the BS and the D2D communications can cooperate in video streaming services.

III. NOTATIONS, ASSUMPTIONS AND SYSTEM MODELS A. NOTATIONS AND ASSUMPTIONS
Table 1 introduces some notations used in our system models.Without loss of generality, we assume that: • The BS knows the energy level; number of video segments in each D2D helper and access rate of video segment; and characteristics of wireless channels between 1) D2D helpers and requesters and 2) itself and CUs, within its cell [25], [27].Thanks to MU density, the D2D helpers with the same characteristics of wireless channel to a requester are categorized into a group of D2D helpers (GoH).In the communication phase, a subchannel is allocated to one CU and one GoH so that the CU can share its subchannel with the GoH.The channel characteristics remain unchanged when sending a video segment.
• Due to the limited energy, all the D2D helpers in different GoHs have to cooperate with each other and with the BS to deliver the requested video.In a GoH, time slots are carefully scheduled to each D2D helper for transmission.

B. SYSTEM MODELS
To formulate the RDO problem, we prerequisitely define our system by five components.The D2D communication component is first presented to show the scenarios of video streaming.We then introduce source RD and video packetization components before transmission.Afterwards, by following the source components and taking the characteristic of lossy wireless channel into account, the end-to-end reconstructed distortion component of received video segments is derived as the objective function of the optimization problem.Finally, the energy consumption and co-channel interference control components are considered as the two important constraints of the RDO problem to save the energy of D2D helpers and guarantee the target SINR performance of CUs.

1) D2D COMMUNICATIONS
Consider a dense 5G network with D2D communications as shown in Fig. 1, when the i-th requester, i = 1, 2, . . ., I , makes a request for a particular video, there are two scenarios of communication as follows: • Scenario 1: If the GoHs or the requested video is not available in the cell, the BS will be in charge of delivering the video.
• Scenario 2: If the GoHs are found and they have already cached the requested video segments, both the BS and GoHs cooperate in delivering the video.

2) SOURCE RATE-DISTORTION AND VIDEO PACKETIZATION
We apply the rate-distortion (RD) given in [39] and [40] to scalable extensions of high efficiency video coding (SHVC) [41]- [43].Although SHVC yields a higher coding complexity than H.264/advanced video coding (AVC), it exploits the benefits of high efficiency video coding (HEVC) and significantly reduces the encoding bit rate to cope with the diverse wireless channel conditions (i.e., error and bandwidth) and the different resolution of mobile devices, respectively.Assume that the original video of V bits is divided into S segments, in the same size of v bits.The relationship between the reconstructed distortion D j (R m j ) of the j-th segment, j = 1, 2, . . ., S, and the encoding rate R m j when the first m layers, m = 1, 2, . . ., M , are decoded, is presented in the form of the following decaying exponential function: where γ j and β j are sequence-dependent parameters.It should be noted that this proposed RD model closely meets the experimental results for standard video sequences [39], [40].
For real-time video streaming without retransmission, we packetize the S segments into descriptions by layered MDC with embedded FEC (MDC-FEC) as shown in Fig. 2 [2], [38], [44], [45].In particular, there are three steps to packetize the j-th segment as described below.
• Step 1 (Layering): The j-th segment is partitioned into M layers separated from each other by M + 1 encoding rate points R m j measured in kbps, m = 0, 1, 2, . . ., M .The rate points are allocated such that 0 The m-th layer is then equally divided into m blocks.In the j-th segment, the sizes of the m-th layer where the floor operator . is used to round a given value to the nearest integer less than or equal to it.This operator certainly reduces the original bit size of each segment, i.e., M m=1 mb m j < v, which is infinitesimal and does not have a serious effect on the packetization performance.For convenience, we therefore do not dwell on a bit adjustment algorithm to cope with the bits truncated by the floor operator.j bits with embedded FEC.The problem is that the reconstructed quality of received segments depends on not only the priority order but also the number of correctly received layers.For example, if an arbitrary layer, k-th layer . ., m, out of the first m layers with embedded FEC, is not correctly received, the j-th segment cannot be decoded up to the m-th layer, nor can it be played back at the reconstructed quality corresponding to the rate R m j , even if the total number of correctly received layers is greater than m.This in turn decreases the performance of the video streaming services.
• Step 3 (Packetizing): Finally, to remove the priority order among the received layers for higher video streaming performance, we packetize the j-th segment with embedded FEC into M descriptions for transmission such that the m-th description is packetized by selecting the m-th blocks from all M layers.In this way, all descriptions have the same size of M m=1 b m j bits.The total bit size of the j-th segment with embedded FEC is given by With embedded FEC, the RS M × b m j , m × b m j can correct up to M − m erroneous blocks of the m-th layer.Therefore, if there are m out of M descriptions correctly received, the first m layers of the j-th segment are decoded and it is played back at the reconstructed quality corresponding to rate R m j .The reconstructed quality of received segments depends on only the number of descriptions correctly received.

3) END TO END RECONSTRUCTED DISTORTION
Assume that m out of the M descriptions of the j-th segment are correctly received.According to the layered MDC-FEC packetization model described in Fig. 2, the j-th segment is decoded for playing back at rate R m j .Let P m i,j,M be the probability of correctly receiving m out of the M descriptions of the j-th segment.Based on (1), by taking into account the access rate r j and transmission error, the average reconstructed distortion of received video with S segments is In (5), there are I requesters streaming S segments of the considered video, each has M descriptions.The M descriptions of the j-th segment are sent to the i-th requester by H i GoHs and the BS.The h-th GoH is responsible for sending d h i,j descriptions.The remaining descriptions, i.e., , are sent by the BS.And, P m i,j,M can be calculated as follows: where is the probability of correctly receiving m h out of d h i,j descriptions sent by the h-th GoH (h = 1, 2, . . ., H i ) and the BS (h = 0).Let ε h i,j be the description error rate over the common channel (or the channel) between the h-th GoH (or the BS) and the i-th requester, P m h d h i,j is given by For example, in (6), if m = 0 (i.e., m h = 0, h = 0, 1, 2, . . ., H i ), we have and if m = 1 (i.e., m h = 1; {m k } = 0, k = 0, 1, 2, . . ., H i , k = h), we obtain and so on, if m = M (i.e., m h = d h i,j ), we have For the sake of computational implementation, ( 5) can be rewritten in the form of As can be seen from ( 11), the access rate r j represents the popularity of the j-th segment such that S j=1 r j = 1.Statistical studies in the literature show that different access rates of segments are often defined by Zipf-like distribution [46] as given below here α is used to reflect the of requester's behavior, e.g., α = 0 corresponds to the case all the segments have equal access rate of 1/S, while higher values of α relate to the case the access rates are much more different between the segments.We can observe from (11) that D can be minimized for high quality playback by optimally allocating the rate R H i h=0 m h j (or actually R m j ) and the number of descriptions d h i,j in accordance with P m h d h i,j and r j .Furthermore, the optimal values of R M j , i.e., the maximum transmission rate, and d h i,j can be found such that they satisfy the constraints of average energy consumption of all D2D helpers and the target SINR of CUs for energy saving and co-channel interference limitation, respectively.These two constraints are presented as follows.

4) ENERGY CONSUMPTION
The energy consumption of the h-th GoH for sending d h i,j descriptions of the j-th segment to the i-th requester is given by where the time t h i,j is and P h,h i,j is the common transmission power of the h-th GoH and the transmission power of the BS (h = 0).Given the transmission rate R M j , by assuming the Gaussian channel with Shannon-like capacity between the h-th GoH/the BS and the i-th requester [22], [47], we have where W , P l,l i,j , P 0,0 i,j , P 0,0 CU ,h , G l,l i,j , G 0,0 i,j , and G 0,0 CU ,h are defined in Table 1 and N 0 is the additive white gaussian noise (AWGN) power at the i-th requester.The channel gain G h,h i,j , which is assumed unchanged during the transmission of all M descriptions of the j-th video segment, is represented by the path loss g h,h i,j and Rayleigh fading Finally, the overall average energy consumed per D2D helper to send S video segments to I requesters can be expressed by where n h i is the number of D2D helpers in the h-th GoH and we ignore the energy consumed by the BS because the available energy at the BS is extremely higher than that at the D2D helpers.
As illustrated in (17), to efficiently utilize the remaining energy of all D2D helpers, the average energy E must be less than a given threshold while minimizing D in (11).

5) CO-CHANNEL INTERFERENCE CONTROL
As assumed earlier, a subchannel is allocated to one CU to communicate with the BS at a fixed transmission power.Besides, more than one GoH transmit the requested video to the requesters as D2D pairs by utilizing the downlink resources of the CUs.In this scenario, the overall performance of D2D communications depends on the transmission powers of active D2D pairs.These transmission powers must be optimized to control the interference between the D2D pairs and the CUs.To this end, to protect the CUs, a threshold γ 0 for the instantaneous SINR should be given to guarantee the communications between the CUs and the BS.Based on this threshold, the transmission rate, R M j in ( 15), of the j-th segment is optimally found so that the transmission power of the h-th D2D helper satisfies the following constraint

IV. RDO PROBLEM AND SOLUTION A. RDO PROBLEM
For a requested video, we assume that the BS can contain the whole library of information of videos, MUs, and system, within its cell [25], [27], including 1) the requester's behavior when viewing the video represented by r j , 2) the RD models, 3) the channel characteristics such as gain, transmission error and interference effect, 4) system bandwidth and AWGN, and 5) the related D2D helpers and their remaining energy.The objective of formulating our RDO problem is to minimize the average reconstructed distortion of received video segments for high quality playback by finding the optimal matrices of encoding rate points R S×M = {R m j } (j = 1, 2, . . ., S; m = 1, 2, . . ., M ) and the number of descriptions d S×I ×H i = {d h i,j } (i = 1, 2, . . ., I ; h = 1, 2, . . ., H i ).Taking into account the constraints of encoding rate points, video and segment sizes, number of descriptions, remaining energy of D2D helpers, and target SINR of CUs, the RDO problem can be formulated as follows: min where D is calculated by (11), in ( 11) is defined by (7), and B m j in ( 20) is defined by (2).In particular, the first constraint in ( 20) is used to ensure that the optimal values of R strictly follow the allocation characteristic of rate points as discussed in III-B.2.In the second constraint, since the processing speed and display resolution of the requesters are often not sufficient to decode the received video at the full encoding rate or at full size V , a coefficient δ (0 < δ ≤ 1) is introduced to reduce the size of the video encoded and thus it meets the common display resolution of requesters.Obviously, the size of each segment encoded cannot exceed its given size v as shown in the third constraint.The fourth constraint is to make sure that the optimal number of descriptions d sent from all the GoHs and the BS cannot be greater than the total given number of descriptions of a segment M .In this constraint, whether the equality holds or not will depend on the remaining energy of D2D helpers.As such, the fifth constraint is to limit the average energy consumption of all D2D helpers.Finally, the last constraint, which comes from (18), is used to control the common transmission power of all GoHs so that by increasing γ 0 , the effect of interference of D2D pairs on the CUs is limited.
After solving the RDO problem, the BS informs the D2D helpers in each GoH how to encode and packetize video segments into descriptions and send them to the requesters as the D2D communications are controlled by the BS [25].However, the proposed RDO problem is very complicated if using Lagrange optimization approach or even traditional methods such as Karush-Kuhn-Tucker [2] because we cannot compute the gradient terms with respect to d S×I ×H i occurring as the upper limits of summations in the objective function.In practice, searching methods to obtain a good solution with reasonable processing time and low computational resource are preferable to that with global optimum but excessive time and resource.In this regard, genetic algorithms (GAs), i.e., a family of adaptive heuristic searching algorithms for exact or approximate optimal solution based on the evolutionary principles of nature selection and genetic variation, can be applied to solve (19) and (20).As opposed to conventional searching approaches, which may result in a local optimum if searching space is multimodal, GAs can utilize random property to avoid being trapped in local optimum and take into account many optimal peaks in parallel, despite unimodal or multimodal searching space [2], [48].The details of GAs implementation are described in the following.

B. GAS SOLUTION
In our proposed optimization problem, we can observe that the constraints are more complex than those with simple lower and upper bounds, to which GAs can be applied.This complexity in GAs may generate infeasible offspring that do not meet the constraints.To deal with this, we use the penalty function approach [48] to convert (19) and ( 20) to an unconstrained optimization problem.To do so, all the constraints in (20) are rewritten in the sequel We then obtain the penalty function with respect to all the above constraints as follows: where λs, i.e., λ 1 , λ 2 , λ 3 , λ 4 , λ 5 , and λ 6 , are the reflection parameters of the degree of constraint violation.To obtain the values of λs, we carefully increase them initially from small values to large values [48].At the beginning, we set them to 10 −3 and check the result of the penalty function.If the result is large and all elements in ( 22) associated to λs are not equal to zero, we increase λs by the factor of 10.A λ is kept not to increase if its corresponding element is equal to zero.The process is repeated until the penalty function converges on zero.It is noted that in the final steps, the factors are more fine-grained, i.e., 5 and 2 instead of 10, to ensure that they do not impact on the other elements with fixed λs in the previous steps and the penalty function gets closer to zero.Finally, by combining ( 19) and ( 22), we have the following unconstrained optimization problem min R,d D penalty = D + P penalty (23) Consequently, instead of solving (19) and ( 20), we implement GAs to solve (23) for optimal results of R and d.However, in GAs, the optimal results are generated in an array instead of in a matrix for the ease of Gray binary coding.Therefore, R S×M and d S×I ×H i are hereafter represented by R 1×SM and d 1×SIH i , or R and d for simplicity, respectively.The implementation of GAs is given in Algorithm 1.
Obviously, in Algorithm 1, the memory complexity is O(N P N B ) and the time complexity depends on the number of generations (N G ).In each generation, the time complexity further depends on the population size (N P ), the number of bits representing an individual (N B ), the genetic operators (i.e., selection, crossover, and mutation), and the fitness evaluation.Here, the time complexity of mutation can be neglected because it is rarely done with P m = 10 −6 .

V. DISTRIBUTED IMPLEMENTATION STRATEGY (DIS)
In order to deliver all descriptions of the video segments to the requesters in RDO manner, the DIS consisting of three stages (initial stage, distributed stage, and updated stage) is proposed as follows: • Initial Stage: The BS collects important information about the remaining energy, characteristics of wireless channel, cached videos of the MUs, and bandwidth and Selecting N P × P G best individuals with better fitness values, i.e., lower values of D penalty (C k ), for breeding next generation by applying stochastic universal sampling operator [49] 6: Continuing to select 2 parent individuals to generate 2 offspring by using single point crossover operator [50] with crossover probability P c 7: Mutating 2 new offspring with mutation probability P m to get back the good genetic characteristics that could be lost in the previous operators 8: Evaluating fitness values of all offspring and reinserting them into the current population 9: N G ← N G − 1 10: end while 11: Finding the best fitness value and the best corresponding individual C * in the last generation AWGN of system in the cell.If a video becomes popular, i.e., requested by a high number of requesters, the BS extracts the parameters of this video such as video size, RD model, and its intra-popularity.The information and parameters are stored in a stack profile for future use [51].
• Distributed Stage: When a new requester (e.g., the i-th requester) accesses the popular video, the BS selects a set of available D2D helpers who are able to communicate with the i-th requester as D2D pairs and have already cached the requested video before.The D2D helpers are then divided into H i GoHs, each has n h i D2D helpers with the same characteristics of wireless channel to the i-th requester.All information and parameters about the GoHs, requesters, requested video, and system are then extracted from the stack profile to implement Algorithm 1 for optimal results of R and d .The optimal results of R and d are sent to the D2D heads 4of each GoH so that they can packetize the video segments into descriptions and distribute optimal number of descriptions d h i,j n h i to other D2D helpers in the same GoHs.All D2D helpers (including the D2D heads) collaborate with the BS to transmit their own optimal number of descriptions to the i-th requester.It should be noted that if the quotient of is not an integer, the remainder of descriptions is transmitted to the i-th requester by the D2D head of the h-th GoH.
• Updated Stage: After delivering the descriptions of video segments, the BS keeps updating the related information and parameters to know whether there is any significant change.If there is a significant change (e.g., intra-popularity due to requester behavior, characteristics of wireless channel, or/and random leaving of D2D helpers, etc.), the distributed stage is executed again.Finally, information about a video is removed from the stack profile of the BS if it becomes old-fashioned or not popular.The proposed DIS including GAs in Algorithm 1 may introduce implementation cost and latency.The cost of running GAs at the BS is of less concern than the cost of packetizing the video segments at the D2D heads.To deal with the latter, a suitable clustering scheme [10], [11] is proposed to elect a D2D head.In this case, the D2D heads are also frequently updated in the updated stage if they run out of energy or suddenly leave their GoHs.On the other hand, with regard to latency, the requesters do not have to wait too long before getting the first frames for playing back thanks to the segment by segment packetization scheme and the powerful processing capacity of the BS to execute the GAs.

VI. PERFORMANCE EVALUATION A. SIMULATION SETUP
In this section, we perform representative simulation results to demonstrate the significance of our proposal.The system parameters are given in Table 2.In particular, without loss of generality, the system consists of 1 requester streaming 1 video (namely Foreman sequence) divided into 8 segments and 50 D2D helpers equally grouped into 5 GoHs.The distance from the BS to the requester is less than 1km in urban areas and it is set to 300m especially in dense 5G networks.The distance from the D2D helpers to the requester is randomly distributed from 50m to 100m.Correspondingly, the reasonable maximum powers of BS and D2D helpers are 15W and 0.5W, respectively.The description error rate is from 0.05 to 0.5 and the system bandwidth is 5MHz due to high amount of interference (i.e., relatively high description error rate) in dense 5G networks with D2D communications (i.e., relatively low shared bandwidth).We assume that all the segments of Foreman sequence have similar RD characteristic.

B. CONVERGENCE EVALUATION OF GAs
The convergence rate of GAs is depicted in Fig. 3.The convergence holds after approximately 25 generations, which clearly indicates the feasibility of using GAs in solving the proposed optimization problem.The best fitness value and the average fitness value of all individuals are getting closer and better from generation to generation as the principles of nature evolution and genetic variation.

C. PERFORMANCE METRICS
We first investigate the performance metrics such as playback quality and playback quality fluctuation represented by PSNR and standard deviation of PSNR, and average energy consumption of our proposed solution without the effect of interference constraint (18) on (19).In addition, we compare our proposed scheme RDO, with the other two nonoptimal rate and description schemes, i.e., EQU and RAN.For EQU, the rate and the number of descriptions are equal to , respectively, in which R M j and d h i,j are the optimal maximum encoding rate and the optimal number of descriptions found by solving (19) and (20).Meanwhile, for RAN, the rate and the number of descriptions are randomly allocated and distributed in the range of (0, R M j ] and (0, H i h=0 d h i,j ], respectively.

1) PERFORMANCE METRICS VERSUS α
To evaluate the performance metrics versus α in the range from 0 to 1, we set ε h i,j = 0.1, E * = 10 Joules, and H = 3.As shown in Fig. 4a, our RDO outperforms EQU and RAN on higher PSNR for better quality playback, i.e., up to 8.5dB and 8.1dB higher compared to EQU and RAN, respectively.Obviously, the performance of RDO gets better with a higher skewed access rate among the video segments.RDO also provides lower playback quality fluctuation for smoother playback than EQU and RAN, as can be seen in Fig. 4b.Importantly, the results in Fig. 4c demonstrates that RDO strictly follows the energy constraint (i.e., E ≤ E * = 10 Joules) to keep the overall average energy consumption of RDO lower for higher energy saving than EQU and RAN.It should be noted that the PSNR results are relatively high because all descriptions are protected by FEC.

2) PERFORMANCE METRICS VERSUS ε h i,j
We set α = 0.75, E * = 10 Joules, and H = 3 to evaluate the performance metrics versus ε h i,j in the range from 0.05 to 0.5.As shown in Fig. 5, our RDO outperforms EQU and RAN with higher PSNR for better quality playback (Fig. 5a), lower playback quality fluctuation for smoother playback (Fig. 5b), and less overall average energy consumption (Fig. 5c).
It should be noted in Fig. 5b that the playback quality fluctuation of RDO is not always lower than that of EQU and RAN.The reason is that, for the purpose of mitigating the complexity of GAs, we have not taken into account the fluctuation constraint in our optimization problem.

3) PERFORMANCE METRICS VERSUS E *
We evaluate the performance metrics under the effect of energy constraint E * in the range from 2.5 to 20 Joules by keeping α = 0.75, ε h i,j = 0.1, and H = 3.It can be observed in Fig. 6 that our RDO surpasses EQU and RAN, especially when E * increases, the D2D helpers and the BS transmit more descriptions to the requester, and thus provide higher PSNR performance.It shows that our proposed solution can adaptively change the energy constraint depending on the energy condition of D2D helpers and BS to serve high playback quality.

4) PERFORMANCE METRICS VERSUS γ 0 and H
To investigate how the interference constraint (γ 0 ) and the number of GoHs (H ) have effect on the performance metrics of system, we take into account the interference constraint    19) and (20); change threshold of SINR γ 0 from 0dB do 30dB and H from 1 to 5; and set α = 0.75, E * = 10 Joules, and ε h i,j = 0.1.As shown in Fig. 7a, if γ 0 increases, i.e., the effect of interference of GoHs on the CUs is more efficiently limited, the common transmission powers of all GoHs decrease proportionally to the optimal transmission rate R M j given in (15).The quality of received video therefore gets lower as γ 0 increases.Meanwhile, the increase of γ 0 does not have a significant effect on the quality fluctuation (Fig. 7b) and the energy consumption (Fig. 7c).Importantly, when the density of D2D helpers is higher, increasing H , the quality of received video is higher (Fig. 7a) and the quality fluctuation is lower (Fig. 7b) because more opportunities are given to distribute optimal number of descriptions to proper GoHs that have better characteristics of wireless channel to the requester.It should be noticed that the quality of received video gets saturated if we keep increasing H .In dense 5G networks, the number of GoHs is strictly selected to satisfy both the quality of received video and the complexity of GAs as shown in Algorithm 1.The average energy consumption obviously decreases versus the increase in the number of GoHs thanks to the fact that the total energy consumption is shared out between them.In comparison, the proposed RDO gains higher performance than EQU and RAN.

5) PERFORMANCE METRICS VERSUS ε 0 i,j
One of the contributions of this paper is that the proposed solution also provides an efficient cooperative transmission between the D2D helpers and the BS.To demonstrate how the D2D helpers and the BS cooperate in transmitting the descriptions, we change the lossy characteristic of wireless channel between the BS and the requester ε 0 i,j from 0.05 to 1, while keeping H = 3, the lossy characteristic of wireless channels between the D2D helpers and the requester ε h i,j = 0.75, h = 1, 2, 3; and α = 0.75.To fully observe this cooperative transmission, we further relax the energy constraint by setting E * = 100 Joules and do not consider the interference constraint (18) in (19) and (20).
As can be seen in Fig. 8a, when we increase the loss probability ε 0 i,j of the wireless channel between the BS and the requester, the number of descriptions sent by the BS decreases, meanwhile that sent by the D2D helpers increases, so as to minimize the average reconstructed distortion for high playback quality.Obviously, the PSNR (Fig. 8b) decreases and the quality fluctuation (Fig. 8c) increases with the increase of ε 0 i,j .In comparison, our RDO achieves higher PSNR than EQU and RAN, but suffers higher quality fluctuation when the loss probability of description is too high, i.e., ε h i,j > 0.5.It is noted in Fig. 8d that the proposed RDO consumes more energy when ε 0 i,j < 0.75 because if ε 0 i,j < ε h i,j , h = 1, 2, . . ., H i , a larger portion of energy is consumed by the BS rather than by the D2D helpers to minimize the average reconstructed distortion.But, when ε 0 i,j ≥ ε h i,j , the energy consumed by the D2D helpers to send one description is much less than that by the BS, and thus most of the descriptions are sent by the D2D helpers leading to the result that our RDO consumes less energy than EQU and RAN.

VII. CONCLUSION
In this paper, we have proposed a joint solution of optimal rate allocation and description distribution such that the D2D helpers can cooperate with the BS in dense 5G networks to provide the MUs with high QoE thanks to 1) punctual arrival of video segments sent in close proximity of D2D communications to guarantee continuous playbacks, 2) high PSNR for high playback quality, and 3) low quality fluctuation for smooth playback.Furthermore, the proposed solution consumes less energy and preserves the interference effect of the D2D communications on the CUs.The idea behind the benefits of the proposed solution is that we take into account many aspects of characteristic of lossy wireless channels, intra-popularity of different segments and RD characteristic of a video, video encoding technique with embedded FEC, and constraints on the remaining energy of the D2D helpers and target SINR of CUs, for high performance video streaming.

• Step 2 (
Embedding FEC): By using Reed-Solomon (RS) code, an RS M × b m j , m × b m j is applied across m blocks of size m × b m j bits of the m-th layer in order to generate M blocks of size M × b m

Algorithm 1
Implementation of GAs Input: Initial parameters of GA: N P = 500: Population size, i.e. number of individuals N B = M +H i +1: Number of bits to represent an individual of solution set {C k } = [R k , d k ], k = 1, 2, . . ., N P , it is equivalent to the number of rate points (i.e., layers or descriptions), GoHs, and BS as declared in Table 2 N G = 500: Number of generations P G = 0.9: Generation gap P c = 0.9: Crossover probability P m = 10 −6 : Mutation probability Output: C * = [R * , d * ] 1: Generating N P random individuals of solution {C k } 2: Calculating fitness values D penalty (C k ) in (23) corresponding to each individual in {C k } of current generation 3: while N G > 0 do 4: Putting {C k } and D penalty ({C k }) in mating pool 5: