QoE Optimization of Video Multicast with Heterogeneous Channels and Playback Requirements

We propose an application-layer forward error correction (AL-FEC) code rate allocation scheme to maximize the quality of experience (QoE) of a video multicast. The allocation dynamically assigns multicast clients to the quality layers of a scalable video bitstream, based on their heterogeneous channel qualities and video playback capabilities. Normalized mean opinion score (NMOS) is employed to value the client's quality of experience across various possible adaptations of a multilayer video, coded using mixed spatial-temporal-amplitude scalability. The scheme provides assurance of reception of the video layers using fountain coding and effectively allocates coding rates across the layers to maximize a multicast utility measure. An advantageous feature of the proposed scheme is that the complexity of the optimization is independent of the number of clients. Additionally, a convex formulation is proposed that attains close to the best performance and offers a reliable alternative when further reduction in computational complexity is desired. The optimization is extended to perform suppression of QoE fluctuations for clients with marginal channel qualities. The scheme offers a means to trade-off service utility for the entire multicast group and clients with the worst channels. According to the simulation results, the proposed optimization framework is robust against source rate variations and limited amount of client feedback.


Motivation
Multimedia delivery systems can be optimized to maximize the overall throughput (best-effort) or to satisfy client quality of experience (QOE) demands (QoSguaranteed ). QoE-guaranteed optimizations may suffer from being overly constrained, especially in large-scale multicasts. Tracking the media processing capability, QoE demand, and channel quality of every client can be daunting, prompting the search for better trade-offs between bandwidth usage efficiency and optimization complexity. Sometimes no feasible solution exists due to bandwidth limitations and/or clients with poor channels that require forward error correction (FEC) codes with exceedingly large overheads. Therefore, having a screening process to reduce excessive QoE demands is essential, especially in large-scale multicasts. One may utilize a mechanism to dynamically assign clients to available media quality levels in order to improve resource utilization efficiency. For example, using scalable bit arXiv:1511.08082v1 [cs.IT] 25 Nov 2015 streams, the multicast server may drop the highest enhancement layers when relatively few users with high quality channels and high resolution displays exist. The saved transmission resources could be redeployed to serve clients with poor channels. The multicast optimization needs to be performed repeatedly due to client channel and source bitstream variations, as well as to account for clients dynamically joining or leaving the multicast at random times. Thus, low complexity optimization methods are required.
In point-to-multipoint services such as multicast, the transmission to the multicast clients may traverse different paths. As a result, the end-to-end transmission channels may exhibit diverse behaviors and capacities. End-to-end QoE can be assured by providing sufficient error protection. Feedback based error correction such as automatic repeat request (ARQ) and Hybrid-ARQ [1] may not be feasible due to latency and possible feedback implosion at the multicast server. An alternative which avoids these problems is to employ FEC coding. In multicasting, we are faced with an ensemble of channels with different loss processes and require FEC that is "universally" efficient. Fortunately, fountain codes [2] have been demonstrated to well approximate the ideal. With fountain codes, the receiver can recover the source symbols with high probability when the number of correctly received code symbols is slightly larger than the number of source symbols. Crucially, this recovery capability is independent of the loss pattern or channel memory. One implication of this "independence" from channel memory is that clients connected to distinct channels with differing memory behaviors that inflict the same amount of loss will see the same throughput.
This paper is concerned with efficient application of fountain codes as an application-layer FEC (AL-FEC) code to meet the QoE demands of video multicast clients with heterogeneous channels and video quality requirements. This approach offers the following advantages : 1) service versatility since the service is agnostic to the underlying network infrastructures, enabling clients to join the multicast through a variety of network connections; 2) quick service deployment or reconfiguration, eliminating the wait for infrastructure upgrade and enabling quick launch of third-party services; and 3) extending the capability of an existing network (infrastructure) [3].

Related Approaches
Multicast schemes have evolved with advances in source and channel coding techniques. Receiver-driven layered multicast (RLM) [4] is a landmark technique for multicasting to clients with heterogeneous channels. RLM is a "client pulled" scheme suitable for large-scale multicast over the Internet. Subsequently, unequal error protection (UEP) was proposed [5] and its application to multimedia transmission was studied [6]. Further works largely fall into one of the following three categories: AL-FEC design for UEP [7][8][9][10][11][12][13], link layer scheduling [14][15][16][17][18], and joint source-channel coding [19]. In practice, system design and provisioning usually prefer separate source and channel coding as well as low computation complexity.
Fountain codes are employed in many current multimedia delivery standards [20,21] due to their structural benefits, e.g., linear time encoding/decoding algorithms and small overhead [22,23]. Digital fountain based approaches in the AL-FEC design category [8][9][10] mainly rely on altering the degree distribution and source symbol selection process, to provide UEP across different source layers. In [24] the fountain code degree distribution is optimized to provide short code length performance. The advantage of using rateless codes over conventional Reed-Solomon codes in providing graceful-degradation was reported in [12]. In [13] UEP and rateless coding are utilized in streaming a scalable video from multiple servers. This work aims to maximize the probability of successful decoding through proper rate allocation amongst video layers of different servers. Note that none of the above fountain code based works consider client channel heterogeneity in their design. Moreover, these schemes treat only one scalability dimension (PSNR) and do not optimize the visual perceptual quality.
There are a number of notable link-layer scheduling algorithms for multimedia multicast. A best-effort optimization framework is proposed in [14] for Internet protocol television broadcast over WiMax channels with consideration of capacity variation in the multicast channel. Sharangi et al. [17] proposed a scalable video transmission scheduling optimization scheme for multiple multicasts to share a set of WiMax timeslots such that the average utility of the multicasts is maximized. A similar work with a more elaborate model of physical layer parameters and channel effects is proposed by Vukadinovic et al. [18]. While our problem (described below) and [17,18] both strive to balance serving individual clients versus overall throughput, for our problem the individuals are clients with heterogeneous channels and playback requirements within a multicast, whereas for [17,18] the individuals are distinct multicasts each of which targeting one channel and one media quality.
Several multicast schemes benefiting from application-layer FEC and file delivery over unidirectional transport (FLUTE) [25] have been recently introduced [26,27]. Adoption of dynamic adaptive streaming over HTTP (DASH) to support multicast services is discussed in [28,29]. A hybrid multicast architecture based on FLUTE and DASH is proposed in [30] where FLUTE provides multicasting with application-layer FEC and DASH is utilized for retransmission of lost frames over a unicast channel. Bouras et al. [31] experimentally assessed the efficacy of using standard raptor [32] codes as application-layer FEC codes for multicasting video over 3GPP LTE (Long Term Evolution) wireless networks. The assessment employs non-scalable low-bit-rate video and no service optimization is performed.

Proposed Approach
In this paper, we formulate and solve an application-layer fountain code rate allocation optimization problem for multicasting a scalable coded video (SVC) stream with the aim to maximize service utility. We consider client heterogeneity in terms of channel quality diversity and media decoding capability. Application layer multicast obviates the need to access the lower network layers in order to control the transmission scheme. Clients may be connected to the service using different physical channels. For instance, mobile clients may be able to access multiple network infrastructures and engage in "vertical handoffs" across different networks. From the perspective of the multicast service, the end-to-end path to individual clients may traverse different network infrastructures with their underlying physical-layer error protection mechanisms. For the purpose of our AL-FEC coding optimization, the net effect of the end-to-end channel capacity is parameterized in the form of a "reception coefficient" (RC). The RC parameter enables the application layer to use a memoryless erasure channel model (see (10) below) to represent, for instance, lower layer FEC decoding performance in cellular networks or packet losses on the Internet. The diversity of client channel capacities is modeled using probability distributions. The utility is based on using an objective video quality measure to value client satisfaction across different possible adaptations of the video layers. A client may have a specific playback profile, which could be elastic in the sense that the client may be willing to accept (or even reject) playback of various layer adaptations, with corresponding degrees of utility gained. The allocation is performed to maximize a utility measure that permits balancing between individual client utility and serving as many clients as possible. Our problem provides an answer to the question: given an application-layer multicast service bandwidth, a population of clients with heterogeneous end-to-end channels and devices (with different video playback capabilities), determine how best to provision fountain codes across the video layers in order to serve as many clients as possible while meeting their video perceptualquality demands. A byproduct of our problem solution is indicating which clients cannot be served to meet their desired viewing quality.
Our problem is fashioned to enable using standard fountain codes or their equivalent. We believe this is a more attractive proposition for multicast equipment/service engineering than using customized fountain codes. A client utility measure is defined based on a visual perceptual model [33,34] that admits mixed spatial-temporalamplitude scalability. Our multicasting framework also offers the flexibility to admit other advanced video quality assessment models for mixed-scalability video. An advantageous feature of the proposed method is that the optimization complexity does not increase with the number of clients, a property particularly appealing for largescale multicasts. Moreover, by employing statistical modeling of client reception capabilities, the optimization can be performed with different resolutions to tradeoff complexity and performance. The reliability of decoding the video layers in terms of outage probability (OP) is enforced to be commensurate with the probabilistic decoding nature of rateless codes. Compared to the previous multicast optimization techniques based on fountain codes in [8,10,35], our work considers clients with heterogeneous channels and video-playback quality demands, and benefits from a simple yet accurate model [36] of the client decoding outage probability. The QoE of the proposed multicast scheme has both guaranteed and best-effort aspects. The qualities of the different video layers are guaranteed, provided the client's channel has commensurate capacities. The best layer the client can access also depends on the client population channel qualities and demand profiles. Another aspect of our framework is that it does not require altering the video bit stream or rateless code, avoiding compatibility issues with existing and future standards, e.g., [37][38][39].
Additionally, we extend our previous work on video multicast optimization [40] to suppress temporal quality fluctuations caused by source bit rate variation. By utilizing a quality-aware optimization that admits source scalability, the proposed scheme provides a range of trade-offs between transmission resource utilization efficiency and stable client video playback quality. With some simplifications, we obtain a convex optimization problem. It turns out that the solution of the convex problem is a highly accurate approximation.
The rest of this paper is organized as follows. Section 2 is devoted to the general problem formulation as well as a convex formulation that admits lower computation with moderate loss in accuracy. In Section 3 we extend our formulation to a dynamic optimization that considers client dissatisfaction due to video quality fluctuations. In Section 4 we assign values to the client utility parameters in our formulated problem using a recently developed video quality metric. The performance of the proposed optimization framework is evaluated in Section 5. Finally, conclusions are drawn in Section 6. The basic notations used in this paper are listed in Table 1. Fig. 1 illustrates the system setup. A media server is responsible to provide various terminal (user device) classes with a multilayer media, e.g., an H.264/SVC encoded video stream. A hybrid network of wired and wireless clients with heterogeneous channels is depicted. For encoding, a sequence of video frames is partitioned into consecutive time segments. Each segment, which may comprise the frames say over a one-second interval, is encoded into a scalable bitstream. The generated bitstream embeds L layers with S l source symbols per layer l, l = 1, ..., L. While the base-layer is essential, the enhancement layers introduce higher spatial or temporal resolution, or finer quantization resolution without altering the spatio-temporal resolution of the preceding layer. We assume that successful decoding of any layer relies on successful decoding of all of its preceding layers. This implies that layers with lower indices are more important in the decoding process. Fountain coding [2] in the form of raptor codes is applied to every layer of the bitstream to provide protection against erasures caused by channel errors in the physical layer. The code for layer l receives S l source symbols and generates N l encoded symbols. Unlike conventional Reed-Solomon codes, fountain codes can potentially generate an infinitely large code sequence, making the code rate S l /N l elastic, or the code "rateless". Generation of the rateless code sequence is determined by specifying a degree distribution and a random number generator. Here, we exploit the elastic property by choosing the code rate S l /N l to best suit an optimization objective. Standardized raptor codes [41] have been optimized so that a receiver that correctly receives K l = S l (1 + ) encoded symbols from the transmission can recover the message, with > 0 representing a small overhead typically below 2%. Successful decoding is probabilistically ensured by the total number of transmitted symbols successfully recovered by the receiver [36]. For practical considerations, we assume that N l encoded symbols are transmitted for the l th layer such that L l=1 N l ≤ N max . N max , which we call the "service bandwidth", is set as part of the service provisioning and may depend on the bandwidth available to the server, the temporal duration of the video segment, and other factors. For example, consider a video sequence which is partitioned into segments each with T seg second duration, and a server allocated bandwidth of Ω bit/s. Assuming that each symbol comprises B bits, the maximum number of available transmission symbols for each video segment is

System Setup
and can be chosen and even varied across segments to meet deadline requirements in streaming applications. The multicast clients are modeled by M classes of media players, each class comprising players that are capable of decoding the media up to layer h m ∈ {1, ..., L}, m = 1, . . . , M , and have commensurate display resolutions. Classes are indexed in increasing order h 1 < h 2 , ..., < h M . Clients with high definition (HD) displays may demand decoding up to a HD layer, while smart-screen and portable device users may demand standard definition (SD) or a lower resolution to suit their application memory capacity and/or power consumption policies. For example in Fig. 1, multicast transmission of a source with L = 8 layers to M = 3 classes of users is considered. Mobile and portable TV clients can potentially decode the video up to layers h 1 = 3 and h 2 = 6, respectively, while all 8 layers are decodable by HD clients (h 3 = L = 8). Clients may also have different reception capabilities, e.g., due to having different bandwidths, antenna systems, and radio propagation characteristics. A reception coefficient (RC) 0 ≤ δ ≤ 1 is used to model the client reception capability, where 1 − δ is the application-layer packet loss rate due to loss phenomena in the lower layers. We assume memoryless erasure channels (MECs) with independent and identically distributed (i.i.d.) erasures between the server and the clients. A client channel with RC δ c has an erasure rate of 1 − δ c and receives an expected number of δ c N max transmitted fountain symbols in a transmission period of one video segment. Note that the actual number of the correctly received symbols depends on the channel symbol erasure events. We define the cumulative distribution function (CDF) of the channel quality of class m clients as The media layers are not of the same importance to the clients. QoE for a client depends on the probability of successfully acquiring the layers the client desires. It is possible for one or more desired layers not to be served due to resource or channel limitations. For those clients that are served a particular layer l, the probability of failing to decode the layer can be limited by setting outage probability constraints P l out , 1 ≤ l ≤ L. While it is conceivable that the clients desiring the same layer might want different levels of decoding assurance, for simplicity we assign one assurance level, in the form of probability 1−P l out , to each media layer. Ideally, every additional encoded symbol drawn from a digital fountain improves the decoding probability of the code. Thus, if N max is allowed to be sufficiently large, all clients with nonzero RC will eventually achieve the targeted QoS. However, in a more realistic scenario with finite transmission resources N max , and any given set of N l , l = 1, ..., L with L l=1 N l = N max , we can find a set of minimum needed reception coefficients (MNRCs) δ l such that those clients with RC δ c < δ l and desiring the layer l media will not reach the layer-decoding assurance probability 1 − P l out . Since successful decoding of all layers j = 1, ..., l, is necessary in order to enjoy the media quality of layer l, we impose an unequal error protection (UEP) condition Later, we prove that this condition is necessary for optimal utilization of transmission resources while simplifying the utility function.

Utility Function
Let u m,l be the utility for class m clients decoding layer l with decoding failure probability guaranteed to be below a given outage probability threshold. Our "utility" differs from the conventional average utility found in best effort QoE formulations, wherein utilities associated with unacceptable decoding failure probabilities are included in the utility averaging. u m,l is a function of the number of clients who are able to decode layer l under the guarantee, as well as the amount of utility they gain, Here, f m (δ) is the RC probability distribution of clients in class m, I(.) is the indicator function, P (S j , N j , δ) is the probability of failing to decode the fountain code in layer j, with S j source symbols and N j transmitted symbols, for a client with RC δ, and α m,l is the incremental utility gained by a class m client after decoding layer l, provided that all preceding layers are successfully decoded. α m,l is obtained from the utility-rate function of each client class, U m (R l ), i.e., We show in Section 4 a specific way of using this function to optimize viewing experience. In (4), R l = l k=1 S k /T seg is the cumulative source symbol rate up to layer l with R 0 0 and U m (0) 0, ∀m. The product term within the indicator function in (3) provides the probability of successfully decoding all layers up to and including layer l. With the MNRCs δ l defined earlier, we can write l j=1 1 − P (S j , N j , δ l ) = (1 − P l out ) and then rewrite (3) as We obtain the utility of class m clients U m by accumulating the guaranteed utility of all useful layers. However, we should make sure that the incremental utilities α m,l for enhancement layer l contributes to U m only when the clients can reliably decode the preceding layers. The UEP conditions embodied in (2) represent the hierarchical decoding dependencies of the scalable video layers and provide the needed assurance.
Not all the video layers can be useful for the clients of a class due to screen resolution or other playback constraints. Therefore, in (6), h m ≤ L denotes the highest video layer which can contribute to the utility of class m clients.
Finally, the overall utility is obtained by summing over the utilities of all client classes using the prior class probabilities π m > 0, m = 1, ..., M , where π m is absorbed into α m,l by definingα m,l = π m α m,l and U max = M m=1 hm l=1α m,l . Note that U max is an upper bound on the deliverable utility, and only depends on the media source and the priors. This bound is achievable if the MNRCs δ hm , m = 1, ..., M , are small enough so that no client has to settle for a quality layer lower than their maximum desired quality. However, this may not be possible since the service bandwidth N max and the OP constraints prevent the MNRCs from becoming arbitrarily small. As a result, clients with poor RCs may end up being not served their most desired video quality, or even worse, being unable to decode the base layer. U total is to be maximized, as shown below. We emphasize that the problem at hand is efficient utilization of the multicast service bandwidth N max to provide guaranteed utility to individual multicast clients while serving as many clients as possible. However, for a given N max and set of client RC distributions, the problem solution may not be able to service a portion of the clients with exceedingly poor channels. These clients may be served by increasing N max or providing alternate solutions, e.g., unicast (re)transmission, peer-assisted repair [42]. Such solutions are outside the scope of this paper.

Outage Probability
Let P (S, N, δ) be the probability that a client fails to decode the S information symbols, given the client's RC δ and the number of transmitted symbols N . The performance of a rateless decoder in decoding a source with S information symbols after receiving K code symbols is given by the decoding failure probability function P f (S, K). Assuming interleaving is used if needed, we consider a memoryless erasure channel (MEC) with symbol erasure rate 1 − δ ∈ [0 , 1] assumed to be fixed during the transmission period of a video segment. For a given number of transmitted code symbols, the outage probability can be obtained from with erasure probability 1 − δ and i.i.d. erasure events, K is a binomial random variable. Moreover, the decoding failure probability of rateless codes can be modeled by [23] where a > 0 and 0 < b < 1 vary with the rateless code structure, particularly the degree distribution, and the precode rate. For example, a = 0.85 and b = 0.567 were used for the raptor code in [23]. Combining (8) with (9), we obtain the outage probability of a rateless coded source over a MEC Here, Bin N,δ (.) is the binomial CDF with parameters N and δ. Despite its accuracy, the closed-form representation in (10) is not convenient for optimization in which one needs to express other parameters as an explicit function of the OP. To deal with this shortcoming, the following parametric model that was previously derived in [36] offers a convenient approximation of (10): Note that H ≈ 1.8 for the rateless codes used in [23]. As shown in Fig. 2, this model accurately estimates the outage probability (10) for various channel parameters.
In summary, we aim to maximize the utility in (7) subject to the bandwidth and the UEP constraints defined in Section II.A. The first term in (7) is not a function of the optimization variables, MNRCs δ l , l = 1, ..., L. Hence, the utility maximization can be transformed into the following utility loss minimization problem: We first consider using exhaustive search to solve Problem 1. The set of all δ l , l = 1, ..., L satisfying the UEP constraints forms an L-simplex in L dimension. For exhaustive search, the simplex volume is discretized using a L dimensional cubic lattice L with |L| points. For each point in L, say δ l , l = 1, ..., L, we first obtain the required per layer transmission resources N j in a forward procedure using wherein P −1 (S, δ, p) is the inverse outage probability function which yields the required number of transmitted symbols N as a function of the number of source symbols S, the reception coefficient δ, and the designated outage probability constraint p. A convenient closed form expression of P −1 (S, δ, p) is obtained by rearranging the terms in the approximated OP model (11). Having N j , j = 1, ..., L in hand, the bandwidth constraint is checked. If the constraint is satisfied, the cost function is calculated; otherwise, the cost is set to infinity. For a sufficiently fine discretization, we regard the minimum cost point in L as the "optimal" solution. Note that by using the bandwidth constraint in the above manner, the exhaustive search can be conducted over L − 1 dimensions. The complexity O(D L−1 ) can be large, where D is the number of grid points on each dimension.
After obtaining the optimal MNRCs, δ * l , l = 1, .., L, the corresponding transmission resources per layer N * l , ∀l are obtained. Clients whose highest media quality demand is layer l but whose RCs are below δ * l have to settle for the lower quality of layer i where i is the largest layer index with δ * i no greater than the client's RC. Ultimately, clients with RCs below δ * 1 are dropped from the multicast as they cannot decode the base layer with the assured probability.
In contrast to other formulations such as [16] in which clients are individually represented in the optimization, here multicast clients are grouped and represented by the distributions F m (δ) and associated priors π m . Consequently, the complexity of the proposed optimization is independent of the number of clients. Moreover, client-to-server feedback for the purpose of updating the RC distributions could be managed without feedback implosion, e.g., the server could broadcast a threshold value and clients with a locally generated random number above the threshold would send their RCs to the server. This threshold is adapted to the multicast population size such that the server is not overwhelmed by excessive amount of feedback messages. The RC distributions could be parametrized or discretized with a suitably chosen resolution to trade-off between computational complexity and accuracy.

Simplified Formulation
Next, we exploit simplifications of the outage probability constraints to obtain a problem formulation that is amenable to solution using gradient search. Let Q l (δ) = l j=1 1 − P (S j , N j , δ) be the probability of receiving layers 1 to l. Q l (δ) is monotonically non-increasing with l and monotonically non-decreasing with δ. Moreover, due to the fast-decaying nature of the decoding failure probability (9), Q l (δ) exhibits an abrupt transition for δ in the neighborhood of δ l . This can be seen from Fig. 3 which shows Q l (δ) and [1 − P (S l , N l , δ)] for a closely spaced set of δ l 's. It can be seen from Fig. 3 that in the neighborhood of δ l , the factor Q l−1 (δ) = l−1 j=1 1 − P (S j , N j , δ) is nearly one, and the transition behavior of Q l (δ) is dominated by 1 − P (S l , N l , δ) . Hence, we can use the approximation l j=1 1 − P (S j , N j , δ l ) ≈ 1 − P (S l , N l , δ l ).
Consequently, for a given set of δ l , l = 1, ..., L, the per-layer transmission resources N j can be obtained from N l = P −1 S l , δ l , P l out , l = 1, ..., L.
Using (11) to estimate N l as a function of the outage probability we have where Using this the bandwidth constraint becomes As a result, a new optimization problem can be formulated.
Unlike Problem 1, first order derivatives of the BW constraint can now be easily obtained. Hence, gradient descent algorithms with O(L log(1/e)) complexity, where e is the required accuracy, can be deployed to solve Problem 2. Since Problem 2 may have multiple local minima, the quality of the gradient descent solution depends on the algorithm initialization. In the next section, a convex approximation to Problem 2 is obtained. In Section 5, we present numerical results demonstrating the effectiveness of the convex initialization to the gradient search.

Convex Formulation
Problem 2 is not convex. We show that, by making further simplifying approximations, the problem can be recast into a convex optimization problem. In the first step we propose the following parametric CDF approximations. For m = 1, ..., M , where p m and c m are model parameters obtained by regression. In Section 5, we investigate the ability of the above approximations to represent client RC distributions. Next, we further simplify the outage probability constraints. We use the following simpler model [36] for the outage probability in order to estimate N l for each layer: where a and b are obtained from the decoding failure probability function of the rateless code (9). Using this the bandwidth constraint becomes After introducing a parameter transformation θ l = 1/δ l , ∀l, we obtain We prove that Problem 3 is convex in the Appendix. In Section V we examine the three problem formulations numerically in different application scenarios and assess their accuracies.

Utility smoothing
Source rate and/or service bandwidth fluctuations across consecutive video segments could result in variations of the optimized MNRCs. Hence, clients with RCs close to the MNRCs may experience quality variations across successive segments. One may encode video segments of longer durations to reduce rate fluctuations at the cost of additional server/client-terminal complexity, memory requirements, and delay [43,44]. Below, we reformulate our problem to include suppression of client dissatisfaction due to quality variations. Major quality variations are due to unwanted switchings between different layers. This mainly results from the client's RC crossing the MNRC of a layer subscribed by the client. For example, if a client's RC is always above the MNRC for the base layer, no frame dropping would occur (within the statistical assurance of the base layer outage probability constraint). Below, we extend our problem formulation to include suppression of MNRC variation. Numerical results shown later demonstrate the effectiveness of the suppression in reducing quality switchings, and more specifically, base-layer outage occurrences.
Let us assume that the client RC distributions do not change significantly across consecutive video segments, i.e., F where k is the video segment index. Similar to (4), we define the incremental dissatisfaction coefficients β m,l ≥ 0 to model the client disappointment for not decoding layer l of the current video segment that was successfully decoded previously. Consequently, the disappointment of a class m client who enjoyed layer l of the previous video segment but can only decode the current video segment up to a lower layerl < l is proportional to l j=l+1 β m,j . Using β m,l , and considering the non-decreasing property (2) of the MNRCs δ l , the combined client dissatisfaction due to MNRC fluctuations is expressed by where,β m,l = π m β m,l , and δ (k−1) l and δ (k) l , l = 1, ..., h m , ∀m are the MNRCs for the previous and the current video segments, respectively. Subtracting D (k) from the total utility in (7) to instrument a variation-induced penalty term leads to the following optimization problem.
0 ≤ λ ≤ 1 effects a balance between the two utility loss terms. A small λ tends to prevent the MNRCs from increasing excessively across two consecutive video segments. However, longer term gradual increase of the MNRCs due to variations of the RC distributions F m (.) and source bit rate is still possible. However, an exceedingly small λ may significantly reduce the overall utility provided to the clients. Hence, a judicious choice of λ would avoid letting clients with the worst channels from unduly influencing the solution.

Utility optimization using a perceptual quality metric
The proposed multicast optimization scheme can be tailored to fit different application scenarios. Here, we aim to maximize the clients' subjective viewing experience by setting the marginal utility parameters α m,l using a perceptual quality model that was developed using subjective-viewing test results [33,34]. Although peak signal-to-noise ratio (PSNR) [45] has been widely used as a measure of video quality, low correlation between PSNR and video quality ratings provided by human viewers-commonly reported as mean opinion scores (MOSs)-is reported. The shortcomings of PSNR are more pronounced when comparing video playback at different spatial and temporal resolutions. More versatile objective quality measures have been proposed as estimates of subjective quality ratings. The objective video quality metric introduced in [33] and [34] provides a normalized MOS (NMOS) that can be used to quantify the quality between different spatial, temporal and quantization resolutions Here s and f represent the number of pixels and frame rate respectively, while s max and f max are their maximum values. b s , b f and b p are model parameters that depend on the video content [33,34]. This NMOS model is conveniently used to illustrate the method proposed herein. More elaborate quality estimation methods such as the video quality metric (VQM) [46] algorithm may be advantageously employed. We should mention that a slightly advanced version of the NMOS model used in this work was published in [47].
As an illustration, consider a scenario wherein the highest video layer successfully recovered by a terminal has a spatial resolution lower than the playback capability; specifically, a HD terminal receiving a SD video. The terminal may display the SD video as received in the middle of the HD display or adapt the video to the display by upsampling. The perceptual quality metric in (23) is used as a yardstick to compare the perceptual effects of various possible adaptations. NMOS m,l , non-decreasing with layer index l, represents the highest NMOS corresponding to the best possible adaptation-within the capabilities of the class m terminals-that can be performed on the media up to layer l ≤ h m . Recall that h m is the highest layer of the video stream that class m terminals can potentially decode. Furthermore, we may also model client playback preferences that can be set independently of the achieved video quality. For example, a certain application may require the spatial resolution not to be lower than some specific level. We may use preference weights 0 ≤ W m,l ≤ 1, non-decreasing with respect to index l, to map NMOS to multicast utility while accounting for clients' playback preferences. If class m users are unwilling to settle for media playback at any layer l < h m , then W m,l = 0 ∀l < h m . Thus, we define our utility-rate function as which can be applied to (4) to calculate the marginal utility coefficients α m,l ≥ 0.

Numerical Simulations
In the following, we evaluate the performance of the proposed optimization scheme when applied to multicasting a video sequence with L = 3 layers to heterogeneous clients. Bit stream parameters for three H.264/SVC encoded video sequences are summarized in Table 2. S l denotes the number of source symbols in each layer over a T seg = 1 second time segment and each symbol comprises 50 bytes. The bit rates given are for each layer. The OP constraints P out = {P 1 out , P 2 out , P 3 out } = {10 −4 , 4 × 10 −4 , 5 × 10 −4 } are enforced. An equal error protection (EEP) scheme is used as the base-line for the performance comparison. In the EEP scheme, the transmission resources allocated to each media layer is proportional to the relative size of that layer in the source bitstream, i.e., We use the following metrics to evaluate the performance gain and efficiency of different schemes, respectively, where U is the utility delivered to the clients, U opt is the maximum attained by using the optimal MNRCs, and U e corresponds to the utility of the EEP scheme. The interval 0 < δ ≤ 1 is partitioned into small sub-intervals and an exhaustive search is performed to find the MNRCs δ l , l = 1, . . . , L and subsequently U opt . Nevertheless, this process could be computationally expensive for large number of sub-intervals and source layers. To obtain a sub-optimal solution with much lower complexity, first, the convex problem (Problem 3) is solved. Next, a constrained gradient descent (GD) algorithm is deployed to solve the simplified formulation formulation (Problem 2), using the convex solution as a starting point. The performance measures of these two solutions are superscripted "CV" and "GD" respectively. The multicast clients may experience a wide variety of channel conditions depending on fading and their distance to the transmitting station [48]. For wide-area cells, the range of channel qualities can be expected to be broader than reported in [48]. Thus, the uniform distribution and truncated Gaussian mixtures in Fig. 4 are selected to reflect distinct types of client RC statistics with different balances between the number of clients with poor and good channels. 1,000 clients are considered for these scenarios. In the multi-class scenario, each class inherits a portion of clients based on the priors π m , m = 1, ..., M . Next, samples of the client reception coefficients (RCs) are generated for each distribution.

Single-class Scenario
In this scenario, all clients are assumed to be capable of decoding all three layers. Hence, M = 1 and h h 1 = L = 3. Table 3 exhibits the optimization results for N max = 13, 000 symbols. The performance metrics are evaluated over four crafted utility settings. On average, the proposed optimization manages to increase the utility by a factor of more than 2 compared to the EEP solution. The EEP solution is highly inefficient when the majority of clients experience poor channels, as in the ∆-III distribution in Fig.  4. Note that the solution of the convex optimization yields an average efficiency of 95.25%. Adding the GD search increases the efficiency to 99.50%. The optimization results as well as the solution of the EEP approach for different service bandwidth constraints N max are depicted in Fig. 5. The metric values are averaged over the four distributions and utility settings (the 16 cases in Table 3).
Due to the high efficiency of the initial convex solution, the GD step could be omitted in order to reduce computation without significant performance penalty.

Multi-class Scenario
Next, we consider a scenario with M = 2 client classes. The class 1 clients with CIF resolution displays may only decode the base layer and the first enhancement layer, i.e., h 1 = 2. The clients in class 2 have 4CIF resolution displays and decoders capable of decoding the entire video stream, i.e., h 2 = 3. The four sample distributions in Fig. 4 are used to model the client RC distributions of both client classes, resulting in 16 possible distribution pairings. For each pair of distributions, the simulation is performed with different prior values. The utility parameters are obtained using the perceptual quality metric in (24). The preference parameters are assumed to be W m,l = 0.9 hm−l , l ≤ h m . The NMOS parameters for the test video sequence are extracted from [33] and [34]. The simulation results are shown in Table 4 in terms of metric values averaged over the 16 pairings.
On average, the initial allocation provided by the convex approximation achieves 97.57% efficiency. Using the GD algorithm, the efficiency is increased to 99.80%. Similar to the single-class scenario, most of the potential performance gain can be obtained using the convex optimization.

Reduced-feedback Scenario
It is worthy to investigate the optimization performance when client RC statistics are collected only from a portion of the multicast clients. Limiting channel state information feedback could be an effective measure against feedback implosion at the server and for maintaining a low error rate for a multiple access feedback channel. For all 16 pairings of the RC distributions in Fig. 4 for the class 1 and 2 clients, an ensemble of size n m = 1, 000, m = {1, 2} samples are drawn from each distribution to represent 1,000 clients in each class (π 1 = π 2 = 1/2). The performance is evaluated as a function of the fraction of clients from each class that successfully send their RC and media player capability information to the server-in terms of client-to-server feedback ratio (CSFR), 0 ≤ CSFR ≤ 1. This experiment is repeated 100 times for every CSFR and distribution pairing to ensure accuracy, especially for small CSFR values. The histograms of the received RC feedback messages are used as estimates of the actual class RC distributions, and employed in the optimization. The performance is compared to the scenario in which full knowledge of all client RCs is revealed to the server, i.e., all clients successfully feed back their RCs to the server (CSFR=1). For each CSFR, the performance metrics of all three tested video sequences are combined (4800 simulation runs per CSFR) and the results are illustrated in Fig. 6.
The proposed optimization demonstrates good tolerance to limited RC feedback. Optimization based on RC feedback from only 5% of the clients still provides performance close to 100% feedback. Both convex optimization and the GD algorithm maintain their performance in the limited feedback regime. For a smaller pool of 100 clients per class, the CFSR needed goes up to about 20%. However, the small number of feedback clients, 20 in this example, should be manageable. We believe this robustness comes from the ability of the parametric CDF in (19) to capture the general characteristics of the client RC distributions.

Variable Rate Source Scenario
Performing a resource allocation optimization repeatedly for each video segment means that computation intensity depends on segment duration T seg . One way to reduce computation is to use a large T seg though T seg may be limited by other considerations such as media bit stream access and formatting requirements. Another way is to optimize the video less frequently by using longer term statistics. In this section we aim to quantify the performance penalty incurred when the optimization uses longer-term statistics as compared to segment by segment optimization. Note that a video bit stream may exhibit large bit rate variations due to intra-coded frames. Longer video segments can reduce the rate fluctuations at the cost of additional buffering. Let us consider R where S l is the average length of layer l obtained from Table 2, and γ (k) l , l = 1, .., L, ∀k are L independent and identically distributed uniform variables with support [−γ max , +γ max ]. For the special case γ max = 0, the source becomes a constant-rate source (CRS) and the optimal allocation is independent of any particular video segment k provided that the service bandwidth, the utility coefficients, and client RC distributions are fixed. The following efficiency measure quantifies the performance penalty due to performing the resource allocation optimization using average statistics, Here, . denotes averaging over segments. U CRS (k) is the utility achieved for the k th video segment when the resource allocation optimization is performed only once based on average rate-distortion statistics. Conversely, U (k) is the maximum attainable utility when a separate resource allocation optimization is conducted for each video segment. The maximum number of transmitted packets N max and the client RC distributions are assumed to remain unchanged during the entire multicast. For every γ max and 16 pairings of the candidate distributions, 100 samples of γ (k) l , ∀l are generated to represent variable source rates for 100 video segments. The results are plotted in Fig. 7 as a function of the max-to-min rate ratio (MRR) for the video rates generated by (26) where MRR 1+γmax 1−γmax . As expected, optimization based on long-term statistics results in lower efficiency. However, the performance penalty is moderate since ε CRS remains at above 90% efficiency even for a rate variation as large as MRR = 19. We should mention that the efficiency ε CRS of the EEP solution remains below 65% for N max = 15, 000 and N max = 19, 000, respectively, reconfirming the poor performance of the EEP solution for quality-aware multicast transmission.

Multi-Segment Quality Smoothing
In this scenario the proposed dynamic utility maximization (Problem 3) which penalizes quality fluctuations for clients with marginal RCs is studied. We consider 9 consecutive segments of an H.264-SVC coded multilayer (L = 3) Crew video sequence, each segment containing 32 frames with QCIF and CIF spatial layers, and the GOP size is 16 frames with one intra coded frame starting each GOP. The base-layer embeds the QCIF resolution with frame rate of 15 frames/s. The quantization parameter (QP) for the base layer is set to 44. The first enhancement layer increases the frame rate from 15 to 30 frames/s and additionally provides a better quantization resolution with QP=32. Finally, the last enhancement layer embeds the CIF resolution with frame rate and QP identical to the previous layer. The NMOS model parameter values for this video sequence are b f = 7.23, b s = 3.49, and b p = 29.68 dB [33,34]. We observed that the encoded sequence provides nearly steady PSNRs across the video segments. The achieved PSNRs are 30.5 dB, 35.1 dB, and 35.2 dB for the base layer and the enhancement layers, respectively. Based on these PSNR values and the model parameters [33,34], the average NMOS values are 0.31 for the base layer, 0.48 for the second layer, and 0.86 for the third layer. These scores manifest a peak variation of less than 5% across different video segments. Two client classes (M = 2) with equal population size (π 1 = π 2 = 0.5) are assumed. ∆-II and ∆-IV from Fig. 4 model the RC distributions of the class 1 and 2 clients with QCIF and CIF screen resolutions, respectively. The video decoders of the class 1 clients are assumed to be capable of decoding the base-layer as well as the first enhancement layer while class 2 clients are capable of decoding all video layers.
Here, we aim to optimize the provided utility under the constraint of limited service bandwidth N max . Additionally, failure in decoding the base layer is considered unacceptable for both classes. Therefore, we set the dissatisfaction coefficients β m,1 = 1 ∀m and the rest of the dissatisfaction coefficients to zero. The server is assumed to transmit N max = 11, 000 symbols for each segment, where each symbol consists of 16 bytes.
The video segment size, the optimized utility for various values of λ, and the optimized MNRCs δ (k) l , l = 1, ..., 3 are plotted as a function of the segment index k in Fig. 11. This video sequence exhibits a significant rate increase at the 4th segment. This raises the MNRC for the base layer δ (k) 1 when the quality fluctuation suppression term is nulled (λ = 1). By increasing λ, the optimization increasingly penalizes solutions that allow the base layer MNRC to increase. Hence, the portion of clients that face temporal outage is reduced and a more stable visual experience is provided. This is reflected in lower δ  Fig. 11(d-e). Note that the achieved utility is closer to the upper-bound U max for the video segments with fewer source symbols. U max depends on the video content and its viewing quality but not the source rate. However, the gap between the achieved utility and U max depends on the portion of clients who are unable to receive the video layers they desire. Hence, for a constant N max , increasing the source rate widens the gap, in proportion to the distribution of clients with marginal RCs. Additionally, we observe that the penalty term with different weights (1 − λ) hardly affects the utility traces except for the 4th segment that contains the sudden rate increase.
For the particular choice of β m,l values in this scenario, the average fraction of clients that successfully enjoys the base-layer in one video segment but fails to decode the base-layer in the next segment can be obtained by the averaging the dissatisfaction measure (22) over the video segments D = D (k) . This metric is the marginal probability that a satisfied user encounters frame drops or freezes in the next video segment. Table 5 illustrates D for various service bandwidths and λ. As expected, higher bandwidth and smaller λ both contribute towards a more stable video quality experience. Table 5 also provides data for Z which measures the percentage of clients that experience outage in decoding the base-layer at least once during the 9 video segments. Due to the client RC distributions modeling a significant portion of clients with poor channels, and a notable rate increase beyond the 4th segment, there is always a portion of clients that experience outage for a constant N max . When the variation suppression term D is disabled, the outage percentage remains stubbornly high even as the service bandwidth is substantially increased. However, a lower outage rate Z is attainable by increasing the penalty weight 1−λ. If segments 4 to 9 are excluded from the statistics for N max = 11, 000, Z is reduced from 16.03% to 3.24% for λ = 1. However, for λ = 0.3 exclusion of those segments reduces Z slightly from 3.6% to 2.85%. This signifies the performance of the proposed dynamic optimization in reducing the sensitivity of client dropout to high rate video segments.
The outage statistics based on the Z measure for the EEP solution is 19% to 30% higher than the proposed dynamic optimization. Fig. 8 provides the outage burst length statistics assuming that client channel quality is unchanged during the transmission of the 9 video segments. The results are normalized to the number of maximum length outage incidents for the EEP scenario. It is clear that the proposed optimization significantly reduces the number of outage incidents.
Furthermore, we investigate the performance of the proposed algorithm for a client with time-varying RC. We consider a client with a poor average RC δ c = 0.2. Based on the MNRC δ (k) 1 traces in Fig. 11(c), the viewing experience of this client would be disturbed by base layer outage. We use truncated normal distributions with mean µ = 0.2 and different standard variations σ to model the probability distribution of its RC during the transmission of all 9 segments. Examples of these distributions are depicted in Fig 9. We calculate the frame freeze rate (FFR), defined as the percentage of frames not received and may be replaced by the last decoded frame. The results are depicted in Fig. 10. Using the proposed optimization, the FFR is reduced by as much as 11% and 7% for narrow RC distributions (σ < 0.02) and wide distributions (σ > 0.02), respectively. Note that the FFR for the EEP solution is more than 99% for this client due to significantly higher values of the corresponding δ (k) 1 traces.
In practice, it may be possible to vary the service bandwidth N max with the source symbol rate. For instance, a server simultaneously serving multiple independent video streams can exploit a well-known advantage offered by statistical multiplexing: the total source rate fluctuates far less than the individual source rates. In such case, allowing N max to vary, in conjunction with the proposed method, would enable suppression of outage to negligible levels. The MNRCs can also be transmitted as a side information with negligible cost. Therefore, a client can select a video layer for playback whose MNRC is at a safe margin below the client's RC. The client may use the MNRCs for the previous segments as input to an algorithm that selects the actual enhancement layers for decoding and display, with the aim to produce the best viewing experience. MNRC smoothing helps the algorithm to achieve a good viewing experience.

Conclusions
Considering heterogeneity of client channels and their terminal capabilities, we introduced a QoE optimization framework for video multicast that benefits from the flexibility offered by scalable video coding and fountain coding. The client's ability to decode different video quality layers is exploited to maximize the overall utility of the multicast transmission. Utility is formulated based on a perceptual quality metric that can differentiate between various possible adaptations of a multilayer video stream with a combination of spatial, temporal and granular scalability. The optimization effects a balance between QoS-guaranteed service and best-effort service. Catering to the probabilistic decoding nature of rateless codes, outage probability constraints are applied to guarantee that the video quality layers are received with high level of assurance. Clients that cannot be served meeting such guarantees may be served with a lower playback quality from the lower video layers. Clients demanding high-quality playback but present in small numbers may be similarly treated. Clients with exceedingly poor channels may be dropped from the multicast. On the other hand, given a sufficient transmission rate, clients are served the highest quality playback level they desire. The optimization complexity is independent of the number of clients and scales only with the number of client classes. Additionally, a convex optimization approximation is proposed which has shown to attain closeto-optimal performance with even lower computational complexity. The proposed optimization framework is also shown to provide robust performance when limited client feedback information is available. Finally, by introducing a penalty term to the multicast utility, the QoE optimization is extended to suppress client playback quality variations due to source bit rate and/or service bandwidth fluctuations. Despite the above promising results, a possible future work would be to assess the efficacy of the proposed scheme in more full-fledged application scenarios similar to [49].

Appendix: Convexity Analysis of Problem 3
For the convexity analysis we form the Hessian matrix H from the second derivatives of the cost function with respect to the optimization variables θ l , l = 1, ..., L,          Figure 11 Dynamic optimization Statistics. Traces of (a) video segment size, (b) provided utility calculated using (7), and (c-e) optimized MNRCs for the base-layer and the enhancement layers after solving Problem 3 with Nmax = 11, 000. Highest video layer that clients in class m can potentially decode. 0 ≤ δ ≤ 1 Reception coefficient (RC) for a client. f m (δ)/F m (δ) RC probability distribution / cumulative distribution for class m. π m Prior probability for class m clients. P l out Outage probability constraint for layer l. P (S, N, δ) Outage probability. Ω Media server bandwidth (bit/s). B Size of the encoded symbols (bits). T seg Duration of each video segment (s). R l Cumulative source rate up to layer l (bit/s). U m (R) Utility-rate function of class m. α m,l Incremental utility of layer l for a client in class m. U m Total utility for class m.

NMOS
Normalized mean opinion score.