The present invention relates to mobile video streaming, and more particularly, to network coding-based mobile video streaming over unreliable wireless links.
In past years, many techniques for the robust media streaming in a network-coding-capable wireless network have been proposed. One is to select the best network code for short-term high quality of video transmission among all possible codes. The other is to maximize long-term high quality of multimedia applications based on the MDP (Markov Decision Process) with a network coding. However, these techniques are infeasible due to the strong assumption of the perfect feedback information such as buffer status of all clients after each transmission of Access Point (AP), fixed clients within one AP and offline algorithms.
In this disclosure, we propose a practical online scheduling algorithm to suboptimize not only for network throughput but also for mobile video quality with the reliability gain of network coding (NC) over unreliable wireless links.
An exemplary embodiment of the present invention provides a method for mobile video streaming comprising: measuring information of a plurality of clients periodically for long-term channel quality and mobility patterns of each client; estimating buffer status, short-term channel quality, and mobility of each client based on only feedback from a target client; and performing an online scheduling to select a best network code set satisfying high Peak Signal-to-Noise Ratio (PSNR), a standard metric of video quality, during a GoP (Group of Picture) at all of the plurality of clients based on I-frame priority.
It is preferable that the information includes ETX (Expected Transmission count metric) and RSSI (Receive Signal Strength Indicator).
The best network code set may be selected utilizing Eq. (1) and Eq. (4) below.
The estimating short-term channel quality may comprise utilizing the feedback from the target client for updating ETX of the target client as short term channel quality.
The estimating mobility may comprises: predicting the mobility based on each L2 triggers occurred when the calculated RSSI of received beacon is smaller than the predefined RSSI threshold; and calculating possible locations of the target client.
Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience. The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.
Now, a network coding-based mobile video streaming over unreliable wireless links according to an exemplary embodiment of the present invention is described with reference to accompanying drawings.
As shown in
In a downlink scenario with arbitrary number of APs and MCs, as illustrated in
Each AP selects the best network code online-manner by estimating the buffer status, short-term channel quality and mobility detection at all MCs within the transmission range of each AP. The best among a different set of candidate network codes is to achieve the maximum throughput improvement, and potentially the maximum mobile video quality depending on the importance and urgency of all packets. To describe the remaining components and functions of the system, the terminology is summarized in Table I.
Each AP will construct and broadcast the best network code GNCp,k,i (GoP-aware Network Coding), which consists of the packet p of I-frame XOR-ed together with some other packets and is kth network code set at AP i. It is given by the following Eq. (1).
After defining the contribution of kth network code including packet p to the video quality of a single node cm at AP i during a GoP, Qp,k,i (Cm), we define the total video quality improvement of network code as the sum of the video quality improvements at all clients cm=1, . . . M, due to network code Qp,k,i. In general network coding, a target client cmεM can decode the network code and obtain wanted packet p. For this to be guaranteed, all other packets except the packet p must be among the packets that are already overheard at the target client cm. In the exemplary embodiment of the present invention, we also utilize the undecodable packets at each client because they can be useful for decoding another network code. Namely, the first part at the back of the Eq. (1) describes the decodable case of the network code at the target client cm. After decoding the network code, the improvement in video quality (PSNR) Δkp is calculated at client considering the loss probability lkp. The second part at the back of the Eq. (1) describes the undecodable case of the network code at the target client cm considering the undecodable probability ekp. Therefore, depending on the set π of the n packets at AP, the network code candidates are 2n.
To compute Δkp, we decode the corresponding GoP with this packet missing and we compute the resulting distortion with online-manner. Eq. (2) and Eq. (3) show the loss probability lkp and the estimating error probability ekp, respectively.
lpk=∫τ∞f(t)dt+(1−∫τ∞f(t)dt)·(pc(t)+pm(t)) (2)
epk=∫σ∞r(t)dt+(1−∫σ∞r(t)dt)·pf(t) (3)
Our objective function is to maximize Eq. (1) about all APs given in Eq. (4).
Whenever the target client receives the network code, it can only send the feedback to AP whether it can receive the network code or not. And then AP estimates what the clients have received after comparing ETXs of other clients with that of the target client. Namely, AP guesses the clients with lower ETX than the target client also have received the packet p while the clients with higher ETX than that have not received the packet p. In addition, AP utilizes the feedback from the target client for updating ETX of the target client as short term channel quality. The proposed scheme also predicts the clients mobility based on each L2 triggers occurred when the calculated RSSI (Receive Signal Strength Indicator) of received beacon is smaller than the predefined RSSI threshold. Based on that, AP calculates the possible locations of the target client when they move according to Random Walk Model mobility model with 2 m/s. It has total 9 states with the combination of each x and y states and each state means the direction (i.e. north, south, east, west, north-east, north-west, south-east, south-west and stay). Each state changes to the next state according to the given transition probability. We exemplify the client located in the outskirts of the transmission range of AP. This area is part out of link going down range of the transmission range of AP. The client randomly chooses one of initial 9 states with the same probability. And then the clients change to one of 4 next states according to each initial state. We assume that inner transmission range of AP is previous location of the client and AP predicts the client moves to outer transmission range of AP at once. In this case, let us say that AP predicts the client mobility correctly as the client will really move to outer transmission range of AP and otherwise it will fail.
The proposed scheme utilizes partial information from the target client and estimates the additional information about the rest of the clients. To achieve suboptimal solution, we give theoretical analysis with POMDP (Partially Observable Markov Decision Process) on how good the solution can achieve compared with optimal solution SNC based on MDP (Markov Decision Process). To model our proposed scheme with POMDP, we define the set of states S, the set of actions A, the immediate reward r(st, at), the transition probabilities P(st+1|st, at), and the cumulative rewards at each time epoch t. If there are M clients and N packets at any given time slot, state S is represented by an M×N matrix, S=[ai,j]M×N, with binary entries ai,jε{0,1}. ai,j=1 indicates the presence of packet pi at client cj, whereas ai,j=0 indicates otherwise. Possible actions by AP are the following: 1) Broadcast any packet; 2) broadcast any XOR packet; and 3) broadcast nothing. In case of the transition probability, we consider the Bernoulli model with packet loss probability at each client cm. Therefore, there is an associated transition probability matrix for each action. The immediate reward r(st, a) for each pair of a state and an action must be chosen such that the sum of these immediate rewards accurately models our objective. Since our objective is to optimize the quality of multimedia streaming applications, we model the immediate rewards as the PSNR sum by selecting the best network code GNCp,k,i for one or more receivers. In our setting, we know the explicit reward amount r(s′, s) when the system moves from state s to state s′. Namely, we can compute r(st, at) as the expected immediate reward by taking action a as
And we can get the cumulative rewards by using policy π, a sequence of actions at every time step, in Eq. (6).
Finally, the optimal policy
can be solved using the Backward Induction Algorithm (BIA) to produce the maximum final cumulative reward.
We implement GNC and the other schemes (no network coding, network coding optimized in terms of video quality and network throughput as in “Sachin Katti, et al., ‘XORs In The Air: Practical Wireless Network Coding,’ IEEE/ACM Transaction on Networking, 2008,” FNC, and SNC) with Android, a mobile device platform built on the Linux kernel version 2.6.
We consider a downlink topology with three fixed APs and nine MCs as shown in
We used standard sequences: Carphone, Foreman, Mother & Daughter, Claire, Coastguard, News, Grandma, Akiyo and Salesman. These were QCIF sequences encoded using the JM 8.6 version of the H.264/AVC codec. All encoded sequences had data rate 70 kbps and frame rate 30 fps. As a performance measure for the video quality of an encoded sequence, we use the average PSNR.
Implementation results show that GNC can significantly improve video quality and application-level throughput, without compromising MAC-level throughput as much as SNC as shown
As described above, we proposed a practical online scheduling algorithm to suboptimize not only for network throughput but also for mobile video quality with the reliability gain of network coding (NC) over unreliable wireless links.
The contribution of this disclosure include the following: 1) feedback overhead reduction: AP estimates the buffer information of each mobile client (MC) 2) mobile video streaming support: AP predicts client mobility based on RSSI 3) multiple APs environment 4) a practical online scheduling algorithm.
A number of exemplary embodiments have been described above. Nevertheless, it will be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
20030231655 | Kelton et al. | Dec 2003 | A1 |
20050083943 | Lee et al. | Apr 2005 | A1 |
20060268933 | Kellerer et al. | Nov 2006 | A1 |
20070248033 | Bejerano et al. | Oct 2007 | A1 |
20090147738 | Larsson et al. | Jun 2009 | A1 |
20100086024 | Zhang et al. | Apr 2010 | A1 |
20110002321 | Iwai et al. | Jan 2011 | A1 |
20120092991 | Jeong et al. | Apr 2012 | A1 |
20130114446 | Liu et al. | May 2013 | A1 |
20130128757 | Chowdhary et al. | May 2013 | A1 |
20130223229 | Hui et al. | Aug 2013 | A1 |
20130322277 | Vanganuru et al. | Dec 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20140196065 A1 | Jul 2014 | US |