Nesrine Changuel
email: nesrine.changuel@alcatel-lucent.com

Bessem Sayadi
email: bessem.sayadi@alcatel-lucent.com

Michel Kieffer
email: kieffer@lss.supelec.fr

Control of Multiple Remote Servers for Quality-Fair Delivery of Multimedia Contents

Keywords: Command and control systems, Decentralized control, Multimedia communication, Quality of service, Stability analysis

This paper proposes a control scheme for the quality-fair delivery of several encoded video streams to mobile users sharing a common wireless resource. Video quality fairness, as well as similar delivery delays are targeted among streams. The proposed controller is implemented within some aggregator located near the bottleneck of the network. The transmission rate among streams is adapted based on the quality of the already encoded and buffered packets in the aggregator. Encoding rate targets are evaluated by the aggregator and fed back to each remote video server (fully centralized solution), or directly evaluated by each server in a distributed way (partially distributed solution). Each encoding rate target is adjusted for each stream independently based on the corresponding buffer level or buffering delay in the aggregator. Communication delays between the servers and the aggregator are taken into account.

The transmission and encoding rate control problems are studied with a control-theoretic perspective. The system is described with a multi-input multi-output model. Proportional Integral (PI) controllers are used to adjust the video quality and control the aggregator buffer levels. The system equilibrium and stability properties are studied. This provides guidelines for choosing the parameters of the PI controllers.

Experimental results show the convergence of the proposed control system and demonstrate the improvement in video quality fairness compared to a classical transmission rate fair streaming solution and to a utility max-min fair approach 1 .

I. INTRODUCTION

With the development of wireless networks and widespread of smartphones, delivery of compressed videos (video-ondemand or mobile TV broadcast services) to mobile users is increasing rapidly. This trend is likely to continue in the coming years [START_REF]Cisco visual networking index: Forecast and methodology, 2008-2013[END_REF]. To satisfy the related increasing demand for resources, operators have to expand their network capacity with as limited as possible infrastructure investments. In parallel, they have to optimize the way multimedia contents are 1 Parts of this work have been presented at ACM Multimedia conference, 2012. This work has been partly supported by ANR ARSSO project, contract number ANR-09-VERS-019-02 and by ANR project LimICoS, contract number ANR-12-BS03-005-01. delivered to users while satisfying application-layer qualityof-service (QoS) constraints, which are more challenging to address than traditional network-layer QoS constraints.

Delivered videos have a large variety of quality-rate characteristics, whatever the considered quality metric, e.g., Peak Signal-to-Noise Ratio (PSNR), Structural SIMilarity (SSIM) [START_REF] Wang | Image quality assessment: from error visibility to structural similarity[END_REF], etc. These characteristics are time-varying and depend on the content of the videos. Provisioning some constant transmission rate to mobile users for video delivery is in general inappropriate. If videos are encoded at a constant bitrate, the quality may fluctuate with the variations of the characteristics of the content. If they are encoded at a variable bitrate, targeting a constant quality, buffering delays may fluctuate significantly.

This paper proposes a controller for the quality-fair delivery of several encoded video streams to mobile users sharing a common wireless resource. Video-on-demand or multicast/broadcast transmission are typical applications for this scenario. Video encoding rate adaptation and wireless resource allocation are performed jointly within some Media Aware Network Element (MANE) using feedback control loops. The aim is to provide users with encoded videos of similar quality and with controlled delivery delay, without exchanging information between remotely located video servers.

A. Related work

When controlling the parallel delivery of several video streams, their rate-distortion (R-D) trade-off may be adjusted by selectively discarding frames as in [START_REF] Zhang | Efficient selective frame discard algorithms for stored video delivery across resource constrained networks[END_REF], [START_REF] Lin | Perceptual quality based packet dropping for generalized video gop structures[END_REF] or via an adaptation of their encoding parameters as in [START_REF] Ma | Rate-distortion analysis for H.264/AVC video coding and its application to rate control[END_REF], [START_REF] He | Linear rate control and optimum statistical multiplexing for H.264 video broadcast[END_REF]. With scalable video encoders, such as H.264/SVC, the R-D tradeoff may be adjusted via packet filtering [START_REF] Srinivasan | The effects of priority levels and buffering on the statistical multiplexing of singlelayer H.264/AVC and SVC encoded video streams[END_REF], [START_REF] Maani | Unequal error protection for robust streaming of scalable video over packet lossy networks[END_REF]. In this case, the control parameter is the number of transmitted enhancement layers for each frame.

If several video streams are transmitted to different users in a dedicated broadcast channel with limited capacity, a blind source rate allocation could lead to unacceptable quality for high-complexity video contents compared to low-complexity ones. Therefore, providing fairness is an important issue that must be addressed.

Video quality fairness among encoded streams may be obtained by sharing quality information, or R-D characteristics via a central controller providing to each server quality or rate targets, as in [START_REF] Li | Content-aware distortion-fair video streaming in congested networks[END_REF], [START_REF] Changuel | Joint encoder and buffer control for statistical multiplexing of multimedia contents[END_REF]. This technique enables the encoders to adjust their bit rate or to drop frames or quality layers depending on the complexity of the videos and on the available transmission rate.

Control-theoretic approaches have been considered to address the problem of rate control in the context of video streaming, see, e.g., [START_REF] Wong | PID-based real-time rate control[END_REF], [START_REF] Guo | Analysis of a flow control system for a combined input-crosspoint buffered packet switch[END_REF], [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], [START_REF] Huang | A control-theoretic approach to rate control for streaming videos[END_REF], [START_REF] Huang | Analysis and design of a proportional-integral rate controller for streaming videos[END_REF]. In [START_REF] Wong | PID-based real-time rate control[END_REF], a real-time rate control based on a Proportional Integral Derivative (PID) controller is proposed for a single video stream. The main idea is to determine the encoding rate per frame based on the buffer level to maximize video quality and minimize quality variations over frames. In [START_REF] Guo | Analysis of a flow control system for a combined input-crosspoint buffered packet switch[END_REF], a flow control mechanism with active queue management and a proportional controller is considered. A flow control is used to reduce the buffer size and avoid buffer overflow and underflow. The flow control mechanism is shown to be stable for small buffer sizes and non-negligible round-trip times. In [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], a rate allocation algorithm, performed at the Group of Picture (GoP) level, is performed at the sender to maximize the visual quality according to the overall loss and the receiver buffer occupancy. This target is achieved using a Proportional Integral (PI) controller in charge of determining the transmission rate to drain the buffers. Later, [START_REF] Zhou | PID-based bit allocation strategy for h.264/avc rate control[END_REF] introduces a rate controller that uses different bit allocation strategies for Intra and Inter frames. A PID controller is adopted to minimize the deviations between the target and the current buffer level. Buffer management is performed at the bit level and delivery delay is not considered. Moreover, [START_REF] Wong | PID-based real-time rate control[END_REF], [START_REF] Guo | Analysis of a flow control system for a combined input-crosspoint buffered packet switch[END_REF], [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], [START_REF] Zhou | PID-based bit allocation strategy for h.264/avc rate control[END_REF] address single flow transmission.

For multi-video streaming, in [START_REF] Cho | Utility max-min flow control using sloperestricted utility functions[END_REF], a distributed utility max-min flow control in the presence of round-trip delays is proposed. The distributed link algorithm performs utility max-min bandwidth sharing while controlling the link buffer occupancy around a target value at the cost of link under utilization using a PID controller. Stability analysis in case of a single bottleneck and homogeneous delay is conducted. In [START_REF] Li | Content-aware distortion-fair video streaming in congested networks[END_REF], a content-aware distortion-fair video delivery scheme is proposed to deliver video streams based on the characteristics of video frames. It provides a max-min distortion fair resource sharing among video streams. The system uses temporal prediction structure of the video sequences with a frame drop strategy based on the frame importance to guide resource allocation. The proposed scheme is for video on-demand services, where the rate and the importance of each frame are assumed calculated in advance. A proportional controller is considered in [START_REF] Huang | A control-theoretic approach to rate control for streaming videos[END_REF] to stabilize the received video quality as well as the bottleneck link queue for both homogeneous and heterogeneous video contents. A PI controller is considered in [START_REF] Huang | Analysis and design of a proportional-integral rate controller for streaming videos[END_REF]. Robustness and stability properties are studied. In [START_REF] Huang | A control-theoretic approach to rate control for streaming videos[END_REF] and [START_REF] Huang | Analysis and design of a proportional-integral rate controller for streaming videos[END_REF], the rate control is performed in a centralized way, exploiting the rate and distortion characteristics of the considered video flows to determine the encoding rate for the next frame of each flow. In [START_REF] Cicalo | Cross-layer algorithms for distortion-fair scalable video delivery over OFDMA wireless systems[END_REF], a cross-layer optimization framework for scalable video delivery over OFDMA wireless systems is proposed, aiming at maximizing the sum of the achievable rates while minimizing the distortion difference among multiple videos. The optimization problem is described by a Lagrangian constrained sum-rate maximization to achieve distortion fairness among users. However the communication delay between the control block and the controlled servers is not addressed.

Remotely implemented control laws are also considered in [START_REF] Witrant | Remote stabilization via communication networks with a distributed control law[END_REF] leading to the problem of stabilizing an open-loop system with time-varying delay. The problem of remote stabilization via communication networks is considered with an explicit use of the average network dynamics and an estimation of the average delay in the control law. The control law does not address video transmission issues, so no quality constraint on the transmitted data is considered.

The commercial products described in [START_REF] Motorola | Statistical multiplexing over IP StatmuxIP solution[END_REF], [START_REF] Harmonic | IP-based distributed statistical multiplexing solution[END_REF] propose statistical multiplexing systems enabling encoders to adapt their outputs to the available channel rate. Connecting encoders and multiplexers via a switched IP network allows collocated and distributed encoders to be part of the multiplexing system. Nevertheless, in these solutions, quality fairness constraints between programs appear not to be considered among the video quality constraints.

B. Main contributions

In this paper, we propose a control system to perform jointly (i) encoding rate control of spatially spread video servers without information exchange between them and (ii) transmission rate control of the encoded streams through some bottleneck link. A MANE, located near the bottleneck link derives the average video quality of the data stored in dedicated buffers fed by the remote servers. This average video quality is compared by each individual transmission rate controller to the quality of its video flow to adjust the draining rate of the corresponding buffer (first control input). For that purpose, programs with low quality are drained faster than programs with high quality. Dedicated encoding rate controllers observe the buffer levels to adjust the video encoding rates (second control input). The encoding rate control targets a similar buffer level for all programs. The buffer level in bits or the buffering delay can be adjusted via an adaptation of the video encoding rates, e.g., by scalability layer filtering when a scalable video coder is involved.

In a fully centralized version of the controller, the MANE is in charge of sending the encoding rate target to each video server. In a partly distributed version, only the individual buffer level discrepancies are transmitted to the servers, which are then in charge of computing their own encoding rate target. Communication delays between the MANE and the servers are considered in both directions. A discrete-time statespace representation of the system is introduced. The buffer level (in bits) or the buffering delay has to be controlled and quality fairness between video streams has to be obtained. For that purpose, feedback loops involving PI controllers are considered. The quality fairness constraint among streams leads to a coupling of the state equations related to the control of the delivery of each stream. The system equilibrium and stability properties are studied. This provides guidelines for choosing the parameters of the PI controllers. This paper extends preliminary results obtained in [START_REF] Changuel | Control of distributed servers for quality-fair delivery of multiple video streams[END_REF], where control of the buffer level in bits is not addressed and the communication delay between the MANE and the servers is not explicitly considered.

Section II introduces the considered system and the constraints that have to be satisfied. The proposed solution is described in Section III. The required hypotheses are listed and a discrete-time state-space representation of the system is provided, emphasizing the coupling between equations induced by the fairness constraint among video streams. The equilibrium and stability analyses are performed in Section IV. Finally, a typical application context is described in Section V and experimental results are detailed. Robustness of the proposed control system to variations of the channel rate and of the number of video streams is shown. II. SYSTEM DESCRIPTION Consider a communication system in which N encoded video streams provided by N remote servers arrive to some network bottleneck where they have to share a communication channel providing a total transmission rate R c , see Figure 1. The servers deliver encoded Video Units (VUs) representing a single picture or a Group of Pictures (GoP). All VUs are assumed to be of the same duration T and the frame rate F is assumed constant over time and identical for all streams. Time is slotted and the j-th time index represents the time interval [jT, (j + 1) T ).

In the proposed system, a Media Aware Network Element (MANE) is located close to the bottleneck of the network, see Figure 1. The MANE aims at providing the receivers with video streams of similar (objective or subjective) quality and with similar delivery delays. For that purpose, two feedback loops are considered to control (i) the encoding rate and (ii) the transmission rate of each video stream, see Figure 2.

Encoded and packetized VUs are temporarily stored in dedicated buffers in the MANE. We assume that a utility U i (j) measures the quality of each VU j for each stream i (in terms of PSNR, SSIM, or any other video quality metric [START_REF] Seshadrinathan | Study of subjective and objective quality assessment of video[END_REF]). The MANE has access to U i (j), stored, e.g., in the packet headers. The transmission rate controllers are in charge of choosing the draining rates from each buffer so that all utilities within the N buffers are as close as possible. The encoding rate controllers are in charge of choosing the video encoding rates so that the buffer levels in the MANE are adjusted around some reference level B 0 in bits or reference delay τ 0 in seconds. This control is performed at each discrete time index.

Encoders

Buffers

Transmission rate controller

Encoding rate controllers R j eS i ( ) The MANE evaluates the average utility and each transmission rate controller allocates more rate to streams with a utility below average. The buffers of these streams are drained faster than those with utility above average. This control, done within the MANE, is thus centralized. The discrepancy of each buffer level in bits (respectively delay in seconds) with respect to the reference level B 0 (respectively delay τ 0 ) is processed individually by an encoding rate controller. The encoding rate for the next VU of each video stream is then evaluated to regulate the buffer level around the reference level. The encoding rate may be evaluated at the MANE, in which case, the control is fully centralized and the video encoders/servers receive only the evaluated target bit rate. Alternatively, the encoding rates may be evaluated in a decentralized way at each video encoder/server. For the latter case, the MANE only feeds back to each server the buffer level (respectively delay) discrepancy. This solution requires all video encoders/servers to host individually an encoding rate controller, which is mainly possible for managed video servers. In this paper, the encoding rate target is evaluated within the MANE, but the encoding parameters are evaluated in a distributed way by each server [START_REF] Wiegand | Rate-constrained coder control and comparison of video coding standards[END_REF].

B i ( ) j R t i ( ) j U M R eM R eS R eM U S i ( ) j i ( ) j i ( ) j i ( ) j i ( ) j
The interaction of both control loops (transmission rate control and encoding rate control) allows getting a qualityfair video delivery. Videos with a quality below average have a buffer in the MANE that is drained faster, and thus is likely to be below B 0 or τ 0 . The encoding rate of such streams is then increased, to improve their quality.

Feedback delays between the MANE and the video servers are considered. They correspond to the delays introduced when the servers deliver encoded packets to the MANE and when the MANE feeds back signalization to carry encoding rate targets to the servers. To account for the delayed utility available at the MANE and the delayed encoding rate targets sent by the MANE to the servers, two state variables representing the delayed encoding rates and the delayed utilities are introduced

R eS i (j) = R eM i (j -δ 1 ) , (1)
and

U M i (j) = U S i (j -δ 2 ) , (2)
where R eM i (j) is the encoding rate evaluated at the MANE for the j-th VU of program i. This encoding rate target reaches the server with some delay δ 1 , where it is denoted by R eS i (j). On the other hand, the server sends the utility of the j-th VU of program i, denoted by U S i (j). It arrives at the MANE with some delay δ 2 and is denoted U M i (j), see Figure 2. The M superscript refers to the information available at the MANE and the S superscript refers to the information available at the server for both rate and utility. In what follows, the stability of both control loops is studied.

III. STATE-SPACE REPRESENTATION

A state-space representation of the system presented in Section II is introduced to study its stability. Several additional assumptions are needed to get a tractable representation.

A. Assumptions 1) Feedback delay:

In what follows, a VU represents a GoP. All encoded VUs processed by the video servers during the (j -1)-th time slot [(j -1)T, jT ) are assumed to have reached the MANE during the j-th time slot [jT, (j + 1) T ). The encoding rate targets sent by the MANE to the servers R e i (j) at the beginning of the j-th time slot are assumed to have reached all video servers at the beginning of the (j + 1)th time slot. This rate is used to encode the (j + 1)-th VU which will be placed in the buffer in the MANE during the (j + 2)-th time slot, etc., see Figure 3 when

δ 1 = δ 2 = 1.
The transmission delays between the MANE and the servers may vary. The previous assumptions allow to cope with forward and backward delays upper bounded by T . This is reasonable, since the network transmission and buffering delays are of the order of tens of milliseconds, provided that it is not too congested. This is less than the duration of VUs when they represent GoPs (typically 0.25 s to 1 s). Following the bounded-delay assumption, during the j-th time slot, the MANE has only access to the utilities U S i (j -2), i = 1, . . . , N of the (j -2)-th encoded VUs.

In the rest of the paper the superscripts S and M are omitted. Then U i (j) is the utility of the j-th VU of the i-th stream encoded during time slot j, transmitted to the MANE during time slot j + 1, and fully buffered in the MANE at the beginning of time slot j + 2. R e (j) is the encoding rate target evaluated by the MANE during the j-th time slot. R e (j) reaches the server at the beginning of time slot j + 1, see Figure 3.

2) Source model: The following parametric rate-utility model is used to describe the evolution of the utility U i (j) as a function of the rate R e i (j) used to encode the j-th VU of the i-th stream

U i (j) = f (a i (j) , R e i (j)) , (3)
where a i (j) ∈ A ⊂ R Na is a time-varying and programdependent parameter vector. Note that this model is only used to define the controller parameters so that the system is stable. Once these parameters are set, the rate-utility model is no more needed. For all values of a belonging to the set of admissible parameter values A, f (a, R) is assumed to be a continuous and strictly increasing function of R, with f (a, 0) = 0. The variation with time of a i (j) is described by

Server MANE R j e ( ) R j t ( ) R j e ( ) U j ( ) R j e ( +2) R j t ( +2) U j ( ) U j ( -2) R j e ( -2) j j+2 j+1 j+3 R j e ( -1) U( -1) j R j e ( +1)
a i (j + 1) = a i (j) + δa i (j), (4)
where δa i (j) represents the uncontrolled variations of the source characteristics.

The model ( 3) may represent the variation with the encoding rate of the SNR, the PSNR, the SSIM, or any other strictly increasing quality metric.

3) Buffer model: As introduced in Section II, the MANE contains dedicated buffers for each of the N encoded video streams. The evolution of the level in bits of the i-th buffer between time slot j and j + 1 is

B i (j + 1) = B i (j) + R e i (j -2) -R t i (j) T, (5)
where R t i (j) is the transmission rate for the i-th stream and R e i (j -2) is the encoding rate of the (j -2)-th VU evaluated at the MANE at time slot j. In [START_REF] Ma | Rate-distortion analysis for H.264/AVC video coding and its application to rate control[END_REF], R e i (j -2) accounts for the communication delay between the server and the MANE, see Figure 3.

Buffers are controlled in two different ways. A control of the buffer level in bits B i (j) maintains an averaged level in bits to prevent buffer overflow and underflow. This is appropriate for applications with buffers of limited size. A control of the buffering delay helps adjusting the end-to-end delivery delay. This type of control is better suited for delay-sensitive applications. Buffering delay control within the MANE also allows implicitly controlling the buffering delay at the client for live and broadcast applications. This is due to the fact that the end-to-end delay between the transmission of a VU by the server and its playback by the client is constant over time for live video 2 .

Let h i (j) be the number of VUs in the i-th MANE buffer at time j, the corresponding buffering delay is

τ i (j) = h i (j)T. (6)
Assume that packets containing encoded VUs are segmented to allow a fine granularity of the draining rate. Then h i (j) becomes quite difficult to evaluate accurately and directly within the MANE using only information stored in packet headers.

The corresponding buffering delay is then approximatively evaluated as

τ i (j) = B i (j) Re i (j) , (7)
where

Re i (j) = 1 hi(j) ⌊hi(j)⌋ ℓ=2 R e i (j -ℓ) + 1 hi(j) R e i (j -⌈h i (j)⌉) (h i (j) -⌊h i (j)⌋) (8)
is the average encoding rate of the VUs stored in the i-th buffer at time j and ⌊•⌋ and ⌈•⌉ denote rounding towards -∞ and +∞. Since (8) still requires the availability of h i (j), we propose to estimate it as follows

Ri e (j) = R e i (j), if j 2, Ri e (j) = αR e i (j -2) + (1 -α) Ri e (j -1), if j > 2, (9)
where 0 < α < 1 is some tuning parameter. Then, one gets an estimate of the buffering delay ( 6) using ( 9)

τi (j) = B i (j) Re i (j) . ( 10
)
B. Rate controllers N coordinated transmission rate controllers and N (possibly distributed) encoding rate controllers are considered in the video delivery system described in Section II. A PI control of the transmission rate is performed. At time j, each PI controller takes as input the average utility evaluated by the MANE and the utility U i (j -2) of the VU j -2 of the controlled stream. PI controllers are also used to evaluate the target encoding rate of each program in order to regulate the buffer level around B 0 or the buffering delay around τ 0 .

1) Transmission rate control: At time j, the available channel rate R c is shared between the N video streams. The delayed utility of the VU available at the MANE at time j for the i-th stream is

U dd i (j) = U d i (j -1) = U i (j -2) (11)
and the utility discrepancy δU dd i (j) with the average utility Ū (j) over the N programs at time j is

δU dd i (j) = 1 N N ℓ=1 U dd ℓ (j) -U dd i (j) = Ū (j) -U dd i (j). (12)
The PI transmission rate controller for the i-th program uses δU dd i (j) to evaluate the transmission rate allocated to each video stream

R t i (j) = R 0 + K t P + K t I δU dd i (j) + K t I φ i (j) , (13)
where K t P and K t I are the proportional and integral correction gains. All rates are evaluated with respect to R 0 = R c /N , the average encoding rate per stream that would be used when the N streams represent the same encoded video. In [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], φ i (j) is the cumulated utility discrepancy (used for the integral term) evaluated as

φ i (j) = 0, if j 2, φ i (j + 1) = φ i (j) + δU dd i (j), if j > 2. ( 14
)
R t i (j) represents the draining rate of the i-th MANE buffer at time j. One may easily verify that

N i=1 R t i (j) = R c . (15)
According to [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], in a first approximation, more (resp. less) transmission rate is allocated to programs with a utility below (resp. above) average.

2) Encoding rate control: The encoding rate control is performed independently for each video stream. This allows a distributed implementation of this part of the global controller.

For the control of the buffer level or of the buffering delay, the buffer level ( 5) is needed. Let R edd i (j) be the delayed encoding rate of the VU reaching the MANE at time j for the i-th program

R edd i (j) = R ed i (j -1) = R e i (j -2). (16)
Using ( 5) and ( 16), one gets

B i (j + 1) = B i (j) + R edd i (j) -R t i (j) T. (17)
In case of buffer level control, the encoding rate for the j-th VU of each video program is controlled to limit the deviations of B i (j) from the reference level B 0 . At time j, the discrepancy δB i (j) between B i (j) and B 0 is

δB i (j) = B i (j) -B 0 . (18)
In case of buffering delay control, the encoding rate for the j-th VU of each video program is controlled to limit the deviations of τi (j) from the reference level τ 0 . At time j, the discrepancy δτ i (j) between τi (j) and τ 0 is

δτ i (j) = τi (j) -τ 0 = Bi(j) Redd i (j) -τ 0 . ( 19
)
Buffers with positive δB i (j) or δτ i (j) contain more than B 0 bits or τ 0 seconds of encoded videos. The encoding rate R e i (j) has thus to be decreased. This part of the control process is very similar to back-pressure algorithms [START_REF] Kim | Back-pressure buffering scheme to improve the cell loss property on the output buffered atm switch[END_REF].

R e i (j) is evaluated as the output of a PI controller

R e i (j) = R 0 - K e P + K e I T δτ i (j) - K e I T Π i (j) . ( 20
)
where K e P and K e I are the proportional and integral gains and Π i (j) is the cumulated buffer discrepancy in seconds evaluated as

Π i (j) = 0, if j 3, Π i (j + 1) = Π i (j) + δτ i (j) , if j > 3. ( 21
)
For a control of the buffer level, δτ i (j) is replaced by δB i (j) in ( 20) and [START_REF] Harmonic | IP-based distributed statistical multiplexing solution[END_REF].

Taking into account the communication delay between the MANE and the server, the encoding rate target R e i (j) evaluated at the MANE at time j reaches the video server at time j +1. Thus, R e i (j) represents the encoding rate for the j +1-th VU. The encoding rate increases (resp. decreases) when the buffer is below (resp. above) its reference level. The sum of the encoding rates is not necessarily equal to R c . This allows to compensate for the variations of the video characteristics.

Considering simultaneously ( 5), [START_REF] Zhang | Joint rate allocation and buffer management for robust transmission of VBR video[END_REF], and [START_REF] Motorola | Statistical multiplexing over IP StatmuxIP solution[END_REF], one sees that buffers corresponding to programs producing video with lower utility than average are drained faster. As a consequence, the encoding rate allowed to encode the next VU of such programs is increased, potentially increasing the utility.

C. State-space representation

The state-space representation facilitates the study of the system equilibrium and stability properties. Two representations are considered, depending on whether the buffer level or the buffering delay is controlled.

In the case of a control of the buffering delay, combining (3), ( 4), ( 11), ( 13), ( 14), ( 17), [START_REF] Motorola | Statistical multiplexing over IP StatmuxIP solution[END_REF], and ( 21) leads to the following discrete-time nonlinear state-space representation for the i-th video stream, i = 1, . . . , N

a i (j + 1) = a i (j) + δa i (j) (22a)
a d i (j + 1) = a i (j) (22b)
φ i (j + 1) = φ i (j) + 1 N N k=1 U dd k (j) -U dd i (j) (22c)
Π τ i (j + 1) = Π τ i (j) + B i (j) Re i (j) -τ 0 (22d) Ri e (j + 1) = αR edd i (j) + (1 -α) Ri e (j) (22e)
R ed i (j + 1) = R 0 - K eτ P + K eτ I T B i (j) Re i (j) -τ 0 - K e I τ T Π i (j) (22f) R edd i (j + 1) = R ed i (j) (22g) U dd i (j + 1) = f a d i (j) , R ed i (j) (22h) B i (j + 1) = B i (j) + R edd i (j)T -R 0 T -K t P + K t I ( 1 N N k=1 U dd k (j) -U dd (j)) + K t I φ i (j) T (22i)
where a d i (j) is the delayed video characteristic vector of the (j -1)-th VU. The utilities U dd k (j) of all video streams appear in [START_REF] Changuel | Control of distributed servers for quality-fair delivery of multiple video streams[END_REF], leading to a coupling of the state-space representations related to the control of the individual video streams.

When buffer level control is addressed, B i (j) / Re i (j) is replaced by B i (j) in (22d) and (22f), and the state (22e) does not appear anymore.

In the remainder of the paper, the subscript b is for buffer level control and the subscript τ is for buffering delay control.

IV. EQUILIBRIUM AND STABILITY

The steady-state behavior and the stability of the video delivery system described by [START_REF] Changuel | Control of distributed servers for quality-fair delivery of multiple video streams[END_REF] for buffering delay control as well as the simpler system for buffer level control are studied. Due to the coupling between controllers induced by the constraint that the discrepancy between the average utility and the utility of each program has to be as small as possible, both characterizations have to be done on the whole system. In the rest of this section, we derive the equilibrium and perform the stability analysis for the control system where buffering delays are controlled. The technique is similar when for the control of the buffer level.

A. Equilibrium analysis

The system reaches an equilibrium when all terms on the left of the state-space representation [START_REF] Changuel | Control of distributed servers for quality-fair delivery of multiple video streams[END_REF] do not change with time. This leads to a system of (N a + 6) × N equations with (N a + 6) × N unknowns.

                     δa eq i = 0 U eq i = 1 N N k=1 U eq k B eq i = τ 0 Ri e,eq

Ri

e,eq = R e,eq i R e,eq i = R 0 -

K eτ I T Π τ eq i U eq i = f a eq i , R e,eq i R e,eq i = K t I φ eq i , (23)
The second equation in [START_REF] Seshadrinathan | Study of subjective and objective quality assessment of video[END_REF] imposes that U eq 1 = • • • = U eq N = U eq ; all programs have thus the same utility at equilibrium. Moreover, one has Ri e,eq = R e,eq i and B eq i = τ 0 R e,eq i , which leads to B eq i /R e,eq i = τ 0 , for i = 1, . . . , N meaning that at equilibrium, the buffering delay is equal to τ 0 for all streams.

The target encoding rates at equilibrium R e,eq i and the utility U eq are obtained as the solution of a system of N +1 equations

f a eq 1 , R e,eq 1 = • • • = f a eq N , R e,eq N = U eq N i=1 R e,eq i = R c , (24)
depending of the values a eq i ,i = 1, . . . , N of the parameter vector of the rate-utility model. At equilibrium, they are assumed constant in time and well-estimated, see Section V. Since f is strictly increasing with R, the rate at equilibrium as a function of U eq is

R e,eq i = f -1 R a eq i , U eq , i = 1, . . . , N, (25)
with f -1 R is the inverse of f seen as a function of R only. The value of U eq is determined from the channel rate constraint

N i=1 R e,eq i = N i=1 f -1 R a eq i , U eq = R c . ( 26
)
Since f (a, R) is a continuous and strictly increasing function of R, f -1 R (a, U ) and

N i=1 f -1 R (a i , U
) are also continuous and strictly increasing functions of U , with

N i=1 f -1 R (a i , 0) = 0. Provided that lim U→∞ N i=1 f -1 R (a i , U ) > R c , (27)
(26) admits a unique solution. Π eq i and φ eq i ,i = 1, . . . , N , are deduced from ( 23) and [START_REF] Kim | Back-pressure buffering scheme to improve the cell loss property on the output buffered atm switch[END_REF], provided that K e I = 0 and

K t I = 0.
The equilibrium is thus unique and satisfies the control targets considered in Section II. Similar conclusions can be obtained when the buffer level is controlled.

B. Linearized model

We study the local stability of the system around an equilibrium point evaluated in Section IV-A. Linearizing [START_REF] Changuel | Control of distributed servers for quality-fair delivery of multiple video streams[END_REF] around the equilibrium characterized in [START_REF] Seshadrinathan | Study of subjective and objective quality assessment of video[END_REF] one gets for i = 1, . . . , N

                                       ∆a i (j + 1) = ∆a (j) + δa i (j) ∆a d i (j + 1) = ∆a i (j) ∆φ i (j + 1) = ∆φ i (j) + 1 N N k=1 ∆U dd k (j) -∆U dd i (j) ∆Π τ i (j + 1) = ∆Π τ i (j) -1 R e,eq i τ 0 ∆ Ri e (j) -∆B i (j)
∆ Ri e (j + 1) = (1 -α)∆ Ri e (j) + α∆R edd i (j) ∆R ed i (j + 1) =

K e P +K e I T 1 R e,eq i τ 0 ∆ Ri e (j) -∆B i (j) - K e I T ∆Π τ i (j) ∆R edd i (j + 1) = ∆R i ed (j) ∆U dd i (j + 1) = ∂f ∂a a d,eq i , R ed,eq i ∆a d i (j) + ∂f ∂R a d,eq i , R ed,eq i ∆R ed i (j) ∆B i (j + 1) = ∆B i (j) + ∆R edd i (j)T -(K t P + K t I ) 1 N N k=1 ∆U dd k (j) -∆U dd i (j) + K t I ∆φ i (j) T. ( 28
) Consider the N × (N × N a ) block diagonal matrix Ξ = diag ∂f ∂a T a d,eq 1 , R e,eq 1
, . . . , ∂f ∂a T a d,eq N , R
e,eq N , (29) gathering the sensitivities with respect to a of the rate-utility characteristics of each stream and the N × N diagonal matrix

Γ = diag ∂f ∂R a d,eq 1 , R e,eq 1 , . . . , ∂f ∂R a d,eq N , R e,eq N (30)
gathering the sensitivity to R of the rate-utility characteristics of each stream. Putting all coupled linearized state-space representations (28) together, one gets a linear discrete-time state-space representation

x τ (j + 1) = A τ x τ (j) + w(j) [START_REF] Zhu | Rate allocation for multi-user video streaming over heterogenous access networks[END_REF] with state vector

x τ = ∆a, ∆a d , ∆φ, ∆Π τ , ∆ Re , ∆R ed , ∆R edd , ∆U dd , ∆B T (32)
and noise input

w = ( δa 0 . . . 0 ) T , (33)
representing the fluctuations of the value of the parameter vector for the rate-utility model. In [START_REF] Michiels | Stability and Stabilization of Time-Delay Systems: An Eigenvalue-Based Approach[END_REF] and (33), boldface letters represent vectors and time indexes have been omitted. For example ∆a (j) is a vector N × N a components and ∆B (j) = (∆B 1 (j) , . . . , ∆B N (j))

T is a vector of N components. From ( 28) and ( 31), one deduces

A τ =               I 0 0 0 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 0 I 0 0 0 0 -L 0 0 0 0 I -τ 0 V 0 0 0 V 0 0 0 0 (1 -α)I 0 αI 0 0 0 0 0 - K τ e I T I K τ e T τ 0 V 0 0 0 -K τ e T V 0 0 0 0 0 I 0 0 0 0 Ξ 0 0 0 Γ 0 0 0 0 0 -K t I T I 0 0 0 T I K t T L I               (34) with V = diag 1/R e,eq
1 , . . . , 1/R e,eq N a diagonal matrix containing the inverse of the encoding rates at equilibrium and K τ e = K τ e P + K τ e I , K t = K t P + K t I . I and 0 are identity and null matrices of appropriate size.

When studying the roots of det(zI -A) = 0, N a × N roots at z = 1 are obtained. They correspond to the variations of the rate-utility parameter vector (4). The matrix Ξ, representing the sensitivity with respect to a of the rate-utility characteristics f , does not appear in the expressions of A τ . Only the sensitivity of f with respect to R, represented by Γ, impacts the stability around equilibrium. The system stability is also influenced by the encoding rates at equilibrium via V and determined by the PI controller gains K t P , K t I , K e P , and K e I . In Section V, values of K t P , K t I , K e P , and K e I are chosen so that the system is robust to various realizations of the rateutility parameters. The same values of the PI gains are chosen for all programs. A similar analysis can be done when buffer levels are controlled.

V. EXPERIMENTAL TESTS

A. Example of application context

A typical application scenario for the proposed rate control system is Mobile TV using the evolved MBMS standard [START_REF] Etsi | Multimedia Broadcast/Multicast service. (MBMS); UTRAN/GERAN requirements[END_REF]. The MBMS architecture is composed of three main entities: BM-SC, MBMS-GW and MCE. The Multicast/Broadcast Service Center (BM-SC) is a node that serves as entry point for the content providers delivering the video sources, used for service announcements, session management. The MANE, considered in the paper in charge of choosing the encoding and the transmission rates, may be located at the Broadcast/Multicast source at the entrance of the BM-SC node. The MBMS-Gateway (GW) is an entity responsible for distributing the traffic across the different eNBs belonging to the same broadcast area. It ensures that the same content is sent from all the eNBs by using IP Multicast. The Multicell/multicast Coordination Entity (MCE) is a logical entity, responsible for allocation of time and frequency resources for multi-cell MBMS transmission. As in [START_REF] Vukadinovic | Statistical multiplexing gains of H.264/AVC video in E-MBMS[END_REF], we assume that the MBMS-GW periodically notifies the MCE about the resource requirements of video streams so that the resources at eNBs can be re-allocated accordingly. Therefore, the BM-SC should ensure that the encoding rate of the multiplex does not violate the already allocated resources. This is obtained thanks to the proposed rate control scheme.

B. Simulation environment

To illustrate the properties of the proposed controllers, this section describes a simulation of mobile TV delivery in the previously described context. We consider N = 6 video streams, each of 100 s long, extracted from real TV programs. Interview3 (Prog 1), Sport4 (Prog 2), Big Buck Bunny5 (Prog 3), Nature Documentary6 (Prog 4), Video Clip7 (Prog 5), and an extract of Spiderman8 (Prog 6) in 4CIF (704 × 576) format are encoded with x.264 [START_REF]x264 Home Page[END_REF] at a frame rate F = 30 fps. GoPs of 10 frames are considered, thus the GoP duration is T = 0.33 s. The videos, already encoded using MPEG-4, have been converted to YUV format using ffmpeg [ The videos are then processed with the proposed control system operating at the GoP level. Initially, all buffers contain three encoded GoPs corresponding to a buffering delay of 1 s. The size B max of the buffers is taken large enough to support the variations of its level, occurring, e.g., during scene changes. Here, their size in bits is B max = 4 Mbits. The reference buffer level in bits is B 0 = 400 kbits and the reference delay is τ 0 = 1.5 s. This reference delay is consistent with a typical switching time of less than 2 s, as expected in MBMS Television services [START_REF]Multimedia Broadcast/Multicast Service (MBMS) user services stage 1 (release 8)[END_REF]. The channel rate is R c = 4 Mbps. The encoding rates are initially considered equal to R 0 = R c /N . These rates correspond to the output value of the rate control process provided to each video server. The encoder is then in charge of adjusting its encoding parameters to achieve the target bit rate.

The encoding/transcoding rates are sent to the video encoders which have to choose the encoding parameters for the next VU. In the considered simulation, the video quality is in terms of PSNR or of SSIM of the encoded VUs. This quality metric is transmitted to the MANE in the packet headers. Note that the utility model ( 3) is only required to characterize the stability of the system and to tune the control parameters. Once the parameters have been chosen off-line, there is no need to know precisely the model (3) within the MANE.

The proposed quality fair (QF) video delivery system is compared to a transmission rate fair (TRF) controller which provides equal transmission rate to the N video streams. In the TRF scheme, the encoding rate is controlled to limit the buffer level/delay discrepancy.

A comparison is also performed with a utility max-min fair (UMMF) approach [START_REF] Cho | Utility max-min flow control using sloperestricted utility functions[END_REF], with a proportional transmission rate control limiting the buffer level discrepancy. In the UMMF approach, the MANE tries to find the set of encoding rates for the next VU that maximizes the minimum utility. The following constrained optimization problem is then considered

R e (j + 1) = arg max R e 1 ,...,RN min {f (a 1 (j), R e 1 ) , . . . , f (a N (j), R e N )} (35) such that N i=1 R e i = R c .
Solving (35) requires the availability at the MANE of all rate-utility characteristics (or at least all vectors of parameters a i (j)) of the previously encoded VUs, contrary to the QF approach, where only the actual utility of the VUs is needed. The fact that a i (j) is used in (35) for the evaluation of the encoding rate at time j + 1 accounts for the possibility for the MANE to get only rate-utility characteristics of previously encoded and already received VUs. Once the value of the encoding rates R e 1 , . . . , R N are derived, a proportional (P) controller for the transmission rate is applied to evaluate the transmission rate allocated to each video stream

R t i (j) = R 0 + K t P (B i (j) -B 0 ), (36)
where K t P is the proportional correction gain. In this section different cases are considered: Both buffer level and buffering delay are addressed separately including stability analysis and results for different utility metrics. Then, the robustness of the proposed control system is analyzed by considering variations of the channel rate as well as of the number of video programs.

C. Control of the buffer level

We first focus on the system performance when the buffer level (in bits) is used to update the encoding rate.

1) PSNR-rate model: To tune the PI controllers of the QF system, the first utility function considered is the PSNR of each GoP. As in [START_REF] Zhu | Rate allocation for multi-user video streaming over heterogenous access networks[END_REF], a logarithmic PSNR-rate model is used

U i (j) = P i (j) = f (a i (j) , R e i (j)) (37) = a (1) i (j) log(a (2)
i (j)R e i (j)), with P i (j) the PSNR of the GoP at time j for the i-th stream. For the N = 6 considered programs, the entries of a i (j) are estimated for each GoP using four encoding trials. An example of the accuracy of the PSNR-rate model (38) Figure 4. PSNR-rate characteristics and models for the first GoP of the N = 6 considered programs is shown in Figure 4, when applied on the first GoP of the six considered programs, with parameters estimated from encoding trials performed at 80 kb/s, 200 kb/s, 800 kb/s, and 2 Mb/s. Figure 4 illustrates the ability of (38) to predict the PSNR over a wide range of rates. In addition, the correlation coefficient r 2 between experimental and predicted PSNR-rate points is evaluated as

r 2 = σ 2 xy σ 2 x σ 2 y (38) with σ 2 x = n k=1 (x k -x) 2 , σ 2 y = n k=1 (y k -ȳ) 2 , and σ 2 xy = n k=1 (y k -ȳ)(x k -x),
where n is the number of rates for each program at which the PSNR has been evaluated (x k ) and predicted (y k ) using (38), and where x and ȳ are the average values of the x k 's and of the y k 's. For the six programs, for n = 7, the rate values are 80 kb/s, 130 kb/s, 200 kb/s, 500 kb/s, 800 kb/s, 1.4 Mb/s, and 2 Mb/s, the correlation coefficients are r 2 = [0.998, 0.996, 0.997, 0.996, 0.992, 0.985] illustrating to good fit by (38) of the PSNR-rate characteristics.

2) Controller design and stability analysis: The values of the parameter vector a i (1), i = 1, . . . , 6, obtained for the first GoP of the N = 6 programs are Once f is specified, one may characterize the system equilibrium. The vector of rates at equilibrium R e,eq 1 , . . . , R e,eq N T is obtained by solving the system of equations in the state-space representation at equilibrium. Ξ and Γ are derived from (29), ( 30) and (38) as follows

Ξ =           log(a1,2 (1) R e,eq 1 ) a1,1(1) a1,2(1)
0 0 . . . 0 0 0 0 log(a2,2 (1) R e,eq 2 ) a2,1 (1) a2,2(1
          (1) aN,2(1)
(39) and

Γ = diag a 1,1 (1) R e,eq 1 (1)
, . . . , a N,1 (1) R e,eq N (1)
.

The gains of the PI controllers have to be chosen so that the roots of

d(z) = det (zI -A) (41)
remains within the unit circle, for various rate-utility characteristics of the VUs. In (41), A may correspond to A b , the linearized state matrix when considering buffer level control, or to A τ with buffering delay control.

To increase the robustness of the proposed approach to variations of the rate-utility characteristics, K = 10 realizations of N = 4 random parameter vectors of the PSNR-rate model obtained as follows

a (k) i,1 = 1 N N i=1 a i,1 (1) + η (k) i,1 , (42) a (k) i,2 = 1 N
N i=1 a i,2 (1) + η (k) i,2 , for k = 1, . . . , K. In (43), η (k) i,1 and η (k)
i,2 are realizations of zero-mean Gaussian variables with variance σ 2 1 = 6.25×10 -2 and σ 2 2 = 2.25×10 -4 . The resulting PSNR-rate characteristics obtained using (43) are represented in Figure 5. These random realizations describe quite well the variability of actual PSNRrate characteristics represented in Figure 4. Location of the roots of det zI -A b for the K = 10 realizations of the N = 4 random PSNR-rate characteristics A random search of the control parameters is then performed. Among the values providing stability for the K random PSNR-rate characteristics, the one with the roots farthest away from the unit circle is selected to provide good transients.

The tuning is performed for N = 4. Good transient behaviors have been obtained with K e,b P = 666, K e,b I = 33, K t P = 66 × 10 3 , and K t I = 1300. The position of the roots corresponding to the video characteristic represented in Figure 5 are in Figure 6.

Figure 6 shows that all roots remain within the unit circle. This result does not prove the robustness of the proposed choice of the control parameters, but shows that this choice leads to a system reasonably robust to changes of the characteristics of the transmitted programs. Nevertheless, some of the roots are located quite near the stability limit, which will lead to quite long transients.

3) Simulation results: The x.264 video encoder is used to perform on-line compression of the different programs with the rate targets provided by the encoding rate controllers. Within the video coder, a two-pass rate control is performed to better fit the target encoding rate. The target and obtained encoding rates may however be slightly different. The system performance is first measured in terms of average buffer level discrepancy ∆ B (in bits) with respect to B 0 , variance of the buffer level σ 2 B (in bits 2 ), PSNR discrepancy ∆ P (in dB), and PSNR variance σ 2 P (in dB 2 ), with The results with N = 6 and R c = 4 Mbit/s are summarized in Table II When N = 2, the average PSNR of Prog 2, characterized by high activity level, is improved from 36 dB to 41 dB, leading to a significant improvement of the video quality. This is at the price of PSNR degradation of Prog 1, characterized by low activity level, from 45 dB to 41 dB. This still corresponds to a very good quality. PSNR fairness improvements are also obtained when N = 4 and N = 6.

∆ B = 1 N M N n=1 M l=1 (B n (l) -B 0 ) , σ 2 B = 1 N N M n=1 M l=1 (B n (l) -B 0 -∆ B ) 2 , ∆ P SN R = 1 N M N n=1 M l=1 P n (l) -P (l) , σ 2 P SN R = 1 N N M n=1 M l=1 P n (l) -P (l) -∆ P SN R 2 , ( 43
Figure 8 shows the evolution of the buffer level of the N programs over 300 GoPs using the TRF (left) and the QF (right) controllers for N = 2, N = 4, and N = 6. The discrepancy between the buffer level and the reference level B 0 remains limited for most of the time. When only the encoding rate is controlled, corresponding to the TRF controller, the buffer level stabilizes around B 0 . The buffer level variations increase using the QF controller due to the interactions of the encoding rate and transmission rate control loops.

Figure 9 shows the evolution of the buffer level (left) and of the PSNR (right) of the N programs over 300 GoPs when the UMMF technique is used. The choice of the proportional gain for the transmission rate controller has no significant impact on the quality fairness, provided that the buffers remain full.

A reference buffer level of 400 kbits has been used to allow a satisfying behavior of the transmission rate control loop. The PSNR remains around 40 dB, but the average variance is of the same order of magnitude as that of the TRF solution, see Table II. This mainly comes from the target encoding rate evaluation on (one step) outdated PSNR-rate characteristics.

4) SSIM-rate model:

The quality fairness is also addressed considering the SSIM metric. To tune the PI controllers, an Figure 9. Evolution of the buffer level and of the PSNR (right) for N = 6 using the UMMF technique (left) and using the QF controllers (right) with a transmission rate control using the buffer levels arctan SSIM-Rate utility model is considered

U i (j) = S i (j) = f (a i (j) , R e i (j)) (44) = a (1) i (j)atan(a (2)
i (j)R e i (j)) where S i (j) is the SSIM of program i at time j. As before, the two entries of each a i (j) are derived from four encoding trials performed on each of the N considered programs. The resulting values of the parameters are 45) is able to predict accurately the SSIM over a large range of rates. The correlation coefficient for the six programs is r 2 = [0.99, 0.97, 0.99, 0.98, 0.99, 0.99] using the same rate values in the PSNR-rate model estimation, which confirms the accuracy of the SSIM-rate model.

Using the SSIM-rate utility function (45), one is able to get the vector R e,eq 1 , . . . , R e,eq N T of encoding rates as the solution of [START_REF] Wiegand | Rate-constrained coder control and comparison of video coding standards[END_REF]. Ξ and Γ are derived from (29), ( 30) and (45) as follow

Ξ =          atan(a (2)
1 R e,eq 1 )

a (1) 1 R e,eq 1
1+(a (2)
1 R e,eq 1 ) 2

N R e,eq N ) a

N R e,eq N 1+(a

N R e,eq N )

2         
(45) and

Γ = diag a (1) 1 a (2) 1 1+(a (2)
1 R e,eq 1 ) 2

. . .

a (1) N a (2) N 1+(a (2)
N R e,eq N ) 2

(46)

The choice of the parameters of the controllers is done as in Section V-C2. 1.3×10 4 . For this choice of the control gains, Figure 11 shows the minimum, average, and maximum values of the PSNR (left) and SSIM (right) over all GoPs of the N = 6 programs.

The QF controller improves quality fairness especially for the most demanding videos, such as Prog 2. The proposed QF controller improves also the minimum achieved quality for these programs. In fact, even if events corresponding to these minimum quality happens only few times, the user perception is sometime dominated by the worst experience, rather than the average. The price to be paid is, as expected, a decrease of the quality of the less demanding programs.

D. Control of the buffering delays

This part focuses on the system performance when the buffering delays are used to evaluate the encoding rates.

1) Controller design: The same PSNR-rate utility model as in (38) is considered in this section. Thus the matrices Ξ and Γ are those in (39) and (40).

The choice of the parameters of the two PI controllers is again done as in Section V-C2. Now, the roots of det (zI -A τ ) have to remain within the unit circle. Good transient behaviors have been obtained for N = 2, N = 4, and N = 6 with K t P = 66 × 10 3 , K t I = 2600 K eτ P = 66 × 10 3 , and K eτ I = 1300. In parallel, the parameter α in ( 9) is tuned to provide the best estimate of the buffering delay. Figure 12 represents the means square error MSE(τ , τ ) between the actual buffering delay τ and the estimated one τ as a function of α. The value α = 0.2 provides the best estimate. The evolution with time of the actual buffering delay τ and of its estimate τ is represented in Figure 13 for N = 4 using α = 0.2 and the QF controller for the PSNR faireness. For this choice of α, the estimate provided by [START_REF] Li | Content-aware distortion-fair video streaming in congested networks[END_REF] for the four video sequences is quite good for most of the time.

2) Results: The performance of the QF controller using N = 2, N = 4, and N = 6 programs is evaluated in all cases with a transmission rate R c = 4 Mps. We evaluate the PSNR discrepancy ∆ P (in dB) and the PSNR variance σ 2 P (in dB 2 ) defined in (43). Additional performance measures are the average delay discrepancy

∆ τ = 1 N N n=1 1 M M l=1 (τ n (l) -τ 0 ) (47)
of the buffering delay with respect to τ 0 and the variance of the buffering delay

σ 2 τ = 1 N N n=1 1 M M l=1 (τ n (l) -τ 0 -∆ τ ) 2 , ( 48
)
where M is the number of GoPs in the video streams. Results with N = 6 are summarized in controllers for the transmission rate control loop reduces the PSNR discrepancy between the programs at the price of some increase of the buffering delay discrepancy and variance. Figure 14 represents the evolution of the PSNR when considering the TRF controller (left) and the proposed QF controller (right) N = 2, N = 4, and N = 6 programs. The proposed QF controller reduces the PSNR discrepancy between the N programs compared to the TRF controller. Compared to Figure 7, the control with the buffer level appears to be less reactive. For example, when N = 2, to improve the PSNR of the second program, the PSNR of the first program has to be decreased. In Figure 7, the PSNRs are almost immediately adjusted. This is done with some delay in Figure 14. This may be due to the difficulty to accurately estimate the buffering delay. A better response could be obtained by increasing K e,τ P , which relates the buffering delay and the encoding rate. This, however, would be at the price of a loss in robustness of the global system to variations of the PSNR-rate characteristics of the programs. Figure 15 represents the evolution of the buffering delays of N programs of 300 GoPs using the TRF (left) and the QF (right) controllers for N = 2, N = 4, and N = 6. With the TRF controller, the buffering delays reach rapidly τ 0 and show a reduced variance compared to a system with a QF controller. The larger variations of the buffering delay for the QF controller are due to the interactions of both control loops (encoding rate and transmission rate). Again, K e,τ P appears to be too low: large deviations of the buffering delay are required to reach PSNR fairness.

E. Robustness of the proposed solution to variations of the number of users and of the channel rate

In this section, the robustness of the proposed control system (buffering delay control) is evaluated with respect to variations of the channel rate and of the number of transmitted video programs. Similar results are obtained when buffer levels are controlled.

First, the number N of transmitted video programs evolves with time (left). Second, the rate of the channel switches between R c = 3.5 Mbits/s and R c = 5 Mbits/s (right), see Figure 16. The PSNR is used as quality measure. When a new video program is transmitted, initially, it has no transmission rate allocated by the MANE (since at time j the controller derives the encoding rate for time j + 1). Thus, we choose to set the encoding rate at that time as R c /N . In Figure 16 (left), Prog 4 is not transmitted between GoP 35 and 65. The same values for the gains of the PI controllers are used here as in Section V-D. When the channel rate increases or when a video program is no more transmitted, the bandwidth allocation adapts rapidly to this change by providing more rate to programs with low video quality (here Prog 2). When the channel rate decreases or when a new video program is transmitted, the bandwidth allocation performs well, showing the robustness of the proposed control system to variations of the channel rate and to the number of transmitted video programs.

VI. CONCLUSIONS AND PERSPECTIVES

In this paper, we propose encoding and transmission rate controllers for the transmission of several video streams targeting similar video quality between streams as well as efficient control of the buffering delay. The controlled system is modeled with a discrete-time non-linear state-space representation. PI controllers for the transmission rate and the encoding rate control are considered. The delay introduced by the network propagation between the MANE and the encoders is taken into account. This allows to test the stability of the control system in presence of feedback delay. Simulation results show that the quality fairness (measured with PSNR or SSIM) is improved compared to a solution providing an equal transmission rate allocation. Moreover, the jitter of the buffering delay remains reasonable. The robustness to variations of the characteristics of the channel and of the number of transmitted programs has been shown experimentally.

Simulations are performed at the GoP granularity. Control at the frame level should be considered, however this may require a better consideration of the communication delay between the MANE and the encoders which may be variable with the time. This would also require to better account for the delay, which significantly impedes the behavior of the global control system, especially when controlling the buffering delay. Tools devoted to the control of time-delay systems may be useful in this context, see, e.g., [START_REF] Michiels | Stability and Stabilization of Time-Delay Systems: An Eigenvalue-Based Approach[END_REF].

Figure 2 .

 2 Figure 2. Feedback control loops in the proposed quality-fair video delivery system.

Figure 3 .

 3 Figure 3. Communication delays between a video server and the MANE.

  log(aN,2 (1) R e,eq N ) aN,1

Figure 5 .

 5 Figure 5. Superposition of the K = 10 realizations of the N = 4 random PSNR-rate characteristics

  ) where P (l) = 1 N N n=1 P n (l) and M is the number of GoPs in the video streams.

Figure 7

 7 Figure 7 represents the evolution of the PSNR of the N programs over 300 GoPs using the TRF (left) and the QF (right) controllers when N = 2, N = 4, and N = 6 with a constant channel rate R c = 4 Mbit/s. The same controller parameters K e,b P = 666, K e,b I = 33, K t P = 66 × 10 3 , and K t I = 1300 are used for N = 2, N = 4, and N = 6.When N = 2, the average PSNR of Prog 2, characterized by high activity level, is improved from 36 dB to 41 dB, leading to a significant improvement of the video quality. This is at the price of PSNR degradation of Prog 1, characterized by low activity level, from 45 dB to 41 dB. This still corresponds to a very good quality. PSNR fairness improvements are also obtained when N = 4 and N = 6.Figure8shows the evolution of the buffer level of the N programs over 300 GoPs using the TRF (left) and the QF (right) controllers for N = 2, N = 4, and N = 6. The discrepancy between the buffer level and the reference level B 0 remains limited for most of the time. When only the encoding rate is controlled, corresponding to the TRF controller, the buffer level stabilizes around B 0 . The buffer level variations increase using the QF controller due to the interactions of the encoding rate and transmission rate control loops.Figure9shows the evolution of the buffer level (left) and of the PSNR (right) of the N programs over 300 GoPs when the UMMF technique is used. The choice of the proportional gain

Figure 7 .Figure 8 .

 78 Figure 7. Evolution of the PSNR for N = 2, N = 4, and N = 6 using TRF (left) and QF (right) controllers when controlling the buffer levels

Figure 10

 10 Figure10compares the actual SSIM-Rate characteristics and those obtained using the model (45) for the first GoP of the six considered programs. The model (45) is able to predict accurately the SSIM over a large range of rates. The correlation coefficient for the six programs is r 2 = [0.99, 0.97, 0.99, 0.98, 0.99, 0.99] using the same rate values in the PSNR-rate model estimation, which confirms the accuracy of the SSIM-rate model.Using the SSIM-rate utility function (45), one is able to get the vector R e,eq 1 , . . . , R e,eq

Figure 10 .

 10 Figure 10. SSIM-Rate model for the six considered programs

Figure 11 .Figure 12 .

 1112 Figure 11. Minimum, average, and maximum values of the PSNR (left) and SSIM (right) over all GoPs for the TRF and the QF controllers using N = 6 programs when controlling the buffer levels

Figure 13 .

 13 Figure 13. Evolution of the actual buffering delay τ and of its estimate τ for N = 4 using α = 0.2.

Figure 14 .

 14 Figure 14. Evolution of the PSNR for N = 2, N = 4, and N = 6 using TRF (left) and QF (right) controllers when controlling the buffer delays.

Figure 15 .

 15 Figure 15. Evolution of the buffering delay for N = 2, N = 4, and N = 6 using TRF (left) and QF (right) controllers when controlling the buffer delays.

Figure 16 .

 16 Figure 16. System performance using PI controllers while multiplexing four video programs using the proposed QF controller when considering variations of the channel rate (left) and of the number of programs (right).

  29]. The average rate and PSNR of the streams encoded by x.264 with a constant quantization parameter QP = 3 are provided in TableI.

	Video	Rate (kbit/s)	PSNR (dB)	Activity
	Prog 1	1669.9	46.06	low
	Prog 2	4929.1	44.23	high
	Prog 3	3654.6	44.56	high
	Prog 4	2215.1	44.61	low
	Prog 5	2811.4	46.37	medium
	Prog 6	3315.9	46.53	high
		Table I
	AVERAGE RATE AND PSNR OF THE SIX CONSIDERED VIDEO STREAMS
	(ENCODING WITH X.264 AND CONSTANT QP = 3.

  in the three cases: TRF, UMMF, and QF where ∆ B are in kbits and σ 2 B in kbit 2 . The PI controllers used for the transmission rate control loop reduce the PSNR discrepancy between the programs at a price of some increase of the buffer level discrepancy and variance.

	TRF	K e,b P , K e,b I 666, 0	K t P , K t I 0, 0	|∆ B | 31.5	σ 2 B 2.1	|∆ P | 3.1	σ 2 P 9.8
	UMMF	0, 0	3, 0	75	2	2.7	13.9
	QF	666, 33	(66, 1.3)10 3	53.07	6.1	1.5	6.7
			Table II
	PERFORMANCE WHEN USING TRF AND QF CONTROLLERS WHEN
		CONTROLLING THE BUFFER LEVELS FOR N = 6.

  Table III in the two cases: QF and TRF controllers. Here again, one notices that using PI

	TRF	K e,τ P , K e,τ I 66 × 10 3 , 0	K t P , K t I 0, 0	∆τ 0.25	σ 2 τ 0.12	∆ P 3.8	σ 2 P 10.5
	QF	66 × 10 3 , 1300	66 × 10 3 , 2600	0.6	0.35	2	10
			Table III
	PERFORMANCE OF QF AND TRF CONTROLLERS WHEN CONTROLLING
		THE BUFFERING DELAYS FOR N = 6.

Some periodic feedback may nevertheless be useful to verify that the system actually behaves nominally.

http://www.youtube.com/watch?v=l2Y5nIbvHLs

http://www.youtube.com/watch?v=G63TOHluqno

http://www.youtube.com/watch?v=YE7VzlLtp-4

http://www.youtube.com/watch?v=NNGDj9IeAuI

http://www.youtube.com/watch?v=rYEDA3JcQqw

http://www.youtube.com/watch?v=SYFFVxcRDbQ

His research interests are in signal processing for multimedia, communications, and networking, distributed source coding, network coding, joint source-channel coding and decoding techniques, joint source-network coding. Applications are mainly in the reliable delivery of multimedia contents over wireless channels. He is also interested in guaranteed and robust parameter and state bounding for systems described by non-linear models in a boundederror context.

Michel Kieffer is co-author of more than 120 contributions in journals, conference proceedings, or books.