IP Library Granted Patent US 9,538,220
Granted Patent B2
US 9,538,220 · App. 13/931,245 · Granted Jan 3, 2017

Video streaming quality of experience degradation control using a video quality metric

Inventors: Ahmed ElArabawy (San Diego, CA); David Gell (San Diego, CA); Kenneth L. Stanwood (Vista, CA)
Assignee: WI-LAN Labs, Inc.
H04N21/26208H04L47/2416H04L47/30H04L65/1083H04L65/80H04W28/0231H04W28/0289H04L47/33H04W72/1242
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,538,220
App. No.
13/931,245
Granted
Jan 3, 2017
Kind
B2
Abstract

Degradation control management is provided for a plurality of video streams associated with a plurality of user terminals in a communication network, based at least in part on an overall video quality metric, by determining a video quality metric for each video stream based on at least a set of video quality metric input parameters, and calculating an overall video quality metric based on the determined video quality metrics for the video streams, determining, with an objective function, at least one objective parameter based on at least the overall video quality metric, calculating a scheduling parameter for each video stream using a degradation control algorithm based on at least the determined video quality metric for the respective video stream and on the at least one objective parameter, and scheduling network resources for each video stream based on at least the scheduling parameter for the video stream.

Claims (63)

1. A method for degradation control management of a plurality of video streams associated with a plurality of user terminals in a communication network based at least in part on an overall video quality metric, the method comprising:

determining a video quality metric for each of the plurality of video streams based on at least a set of video quality metric input parameters, and calculating an overall video quality metric based on the determined video quality metrics for the plurality of video streams;

determining, with an objective function, at least one objective parameter based on at least the overall video quality metric, wherein the objective function determines the at least one objective parameter in a manner that maximizes a sum of the determined video quality metrics for all of the plurality of video streams;

calculating a scheduling parameter for each of the plurality of video streams using a degradation control algorithm that is based on at least the determined video quality metric for the respective video stream and on the at least one objective parameter; and

scheduling network resources for each of the plurality of video streams based on at least the scheduling parameter for the respective video stream.

2. The method of claim 1 , wherein the objective function determines the at least one objective parameter in a manner that targets a maximum value of the overall video quality metric.

3. The method of claim 1 , wherein the objective function determines the at least one objective parameter in a manner that targets a minimum variance among the determined video quality metrics for all of the plurality of video streams.

4. The method of claim 1 , wherein the sum of the determined video quality metrics for all of the plurality of video streams is maximized by applying a weight factor to the determined video quality metric for each of the plurality of video streams.

5. A method for degradation control management of a plurality of video streams associated with a plurality of user terminals in a communication network based at least in part on an overall video quality metric, the method comprising:

inspecting packets associated with each of a plurality of video streams to determine video stream characteristic information for each of the plurality of video streams; and

calculating a set of video quality metric input parameters based on at least the video stream characteristic information;

determining a video quality metric for each of the plurality of video streams based on at least a set of video quality metric input parameters, and calculating an overall video quality metric based on the determined video quality metrics for the plurality of video streams;

determining, with an objective function, at least one objective parameter based on at least the overall video quality metric;

calculating a scheduling parameter for each of the plurality of video streams using a degradation control algorithm that is based on at least the determined video quality metric for the respective video stream and on the at least one objective parameter; and

scheduling network resources for each of the plurality of video streams based on at least the scheduling parameter for the respective video stream,

wherein the determined video stream characteristic information includes the calculation of an estimated client-side buffer occupancy value for each of the plurality of video streams, and wherein the estimated client-side buffer occupancy value is utilized in the determination of the video quality metric for each of the plurality of video streams.

6. The method of claim 5 , wherein the video quality metric input parameters are determined for each of the plurality of video streams based on at least the estimated client-side buffer occupancy value for each of the plurality of video streams.

7. The method of claim 6 , wherein the determined video quality metric input parameters include at least one of a freezing instance data and a skipping instance data corresponding to each of the plurality of video streams.

8. The method of claim 1 , wherein the video quality metric input parameters include at least one of a freezing instance data and a skipping instance data corresponding to each of the plurality of video streams.

9. The method of claim 1 , wherein, in the step of determining video quality metrics for the plurality of video streams, one of multiple video quality metric algorithms is utilized, based on the set of video quality metric input parameters, to determine the video quality metric for each video stream.

10. The method of claim 1 , wherein the step of determining the video quality metrics is conducted on a periodic basis, and the set of video quality metric input parameters is determined in a current time period.

11. The method of claim 1 , wherein, in the step of calculating a scheduling parameter for each of the plurality of video streams, the degradation control algorithm further utilizes at least one of an estimated client-side buffer occupancy value, a served bit rate value, a required bit rate value, a channel quality indication value, or a guaranteed bit rate utilization value for the corresponding video stream.

12. The method of claim 1 , wherein the at least one objective parameter determined by the objective function includes a delay duration value and an scheduling parameter adjustment percentage indicator, and wherein the step of calculating a scheduling parameter for each of the plurality of video streams is conducted periodically based on the delay duration value, and wherein the step of calculating a scheduling parameter for each of the plurality of video streams further includes the steps of:

calculating a video stream weight value for each of the plurality of video streams using the degradation control algorithm; and

determining the scheduling parameter for each video stream by applying the scheduling parameter adjustment percentage indicator to a previous value of the scheduling parameter for the video stream based on the respective video stream weight value.

13. The method of claim 1 , further including the steps of:

detecting a request for a new video stream session from one of the plurality of user terminals; and

determining whether to accept the new video stream session based on whether the plurality of video streams associated with the plurality of user terminals can be maintained with the overall video quality metric above a threshold level.

14. The method of claim 13 , wherein the step of determining whether to accept the new video stream session is further based on a current modulation and coding scheme being utilized on a communication channel over which the new video stream is requested.

15. The method of claim 13 , wherein the step of determining whether to accept the new video stream session is further based on a score that is calculated for the new video stream using a utility function that is based on at least one of a channel condition indicator value, a service level agreement indicator value, a user admission and retention priority (ARP policy value, a bearer guaranteed bit rate value, or a current overall video metric value.

16. An access node for communicating with a plurality of user terminals in a communication network, the access node comprising:

a transceiver module configured to communicate with the plurality of user terminals; and

a processor coupled to the transceiver module and configured to:

determine a video quality metric for each of a plurality of video streams respectively associated with each of the plurality of user terminals, the determination of the video quality metric being based on at least a set of video quality metric input parameters, and calculating an overall video quality metric based on the determined video quality metrics for the plurality of video streams;

determine, with an objective function, at least one objective parameter based on at least the overall video quality metric in a manner that maximizes a sum of the determined video quality metrics for all of the plurality of video streams;

calculate a scheduling parameter for each of the plurality of video streams using a degradation control algorithm that is based on at least the determined video quality metric for the respective video stream and on the at least one objective parameter; and

schedule network resources for each of the plurality of video streams based on at least the scheduling parameter for the respective video stream.

17. The access node of claim 16 , wherein the processor is further configured to determine, with the objective function, the at least one objective parameter in a manner that targets a maximum value of the overall video quality metric.

18. The access node of claim 16 , wherein the processor is further configured to determine, with the objective function, the at least one objective parameter in a manner that targets a minimum variance among the determined video quality metrics for all of the plurality of video streams.

19. The access node of claim 16 , wherein the processor is further configured to maximize the sum of the determined video quality metrics for all of the plurality of video streams by applying a weight factor to the determined video quality metric for each of the plurality of video streams.

20. The access node of claim 16 , wherein the video quality metric input parameters include at least one of a freezing instance data and a skipping instance data corresponding to each of the plurality of video streams.

21. The access node of claim 16 , wherein the processor is further configured to determine the video quality metric for each of the plurality of video streams by utilizing one of multiple video quality metric algorithms that is based on the set of video quality metric input parameters.

22. The access node of claim 16 , wherein the processor is further configured to determine the video quality metrics on a periodic basis, and the set of video quality metric input parameters is determined in a current time period.

23. The access node of claim 16 , wherein the processor is further configured to calculate a scheduling parameter for each of the plurality of video streams by the degradation control algorithm utilizing at least one of an estimated client-side buffer occupancy value, a served bit rate value, a required bit rate value, a channel quality indication value, or a guaranteed bit rate utilization value for the respective video stream.

24. The access node of claim 16 , wherein the processor is further configured to determine the at least one objective parameter by the objective function includes utilizing a delay duration value and an scheduling parameter adjustment percentage indicator, and to calculate a scheduling parameter for each of the plurality of video streams periodically based on the delay duration value, and to calculate a scheduling parameter for each of the plurality of video streams by:

calculating a video stream weight value for each of the plurality of video streams using the degradation control algorithm; and

determining the scheduling parameter for each video stream by applying the scheduling parameter adjustment percentage indicator to a previous value of the scheduling parameter for the video stream based on the respective video stream weight value.

25. The access node of claim 16 , wherein the processor is further configured to:

detect a request for a new video stream session from one of the plurality of user terminals; and

determine whether to accept the new video stream session based on whether the plurality of video streams associated with the plurality of user terminals can be maintained with the overall video quality metric above a threshold level.

26. The access node of claim 25 , wherein the processor is further configured to determine whether to accept the new video stream is based on a current modulation and coding scheme being utilized on a communication channel over which the new video stream is requested.

27. The access node of claim 25 , wherein the processor is further configured to determine whether to accept the new video stream based on a score that is calculated for the new video stream using a utility function that is based on at least one of a channel condition indicator value, a service level agreement indicator value, a user ARP policy value, a bearer guaranteed bit rate value, or a current overall video metric value.

28. An access node for communicating with a plurality of user terminals in a communication network, the access node comprising:

a transceiver module configured to communicate with the plurality of user terminals; and

a processor coupled to the transceiver module and configured to:

inspect packets associated with each of a plurality of video streams to determine video stream characteristic information for each of the plurality of video streams by calculating an estimated client-side buffer occupancy value for each of the plurality of video streams;

calculate a set of video quality metric input parameters based on at least the video stream characteristic information;

determine a video quality metric for each of the plurality of video streams respectively associated with each of the plurality of user terminals, the determination of the video quality metric being based on at least the set of video quality metric input parameters and utilizing the estimated client-side buffer occupancy value, and calculate an overall video quality metric based on the determined video quality metrics for the plurality of video streams;

determine, with an objective function, at least one objective parameter based on at least the overall video quality metric in a manner that maximizes a sum of the determined video quality metrics for all of the plurality of video streams;

calculate a scheduling parameter for each of the plurality of video streams using a degradation control algorithm that is based on at least the determined video quality metric for the respective video stream and on the at least one objective parameter; and

schedule network resources for each of the plurality of video streams based on at least the scheduling parameter for the respective video stream.

29. The access node of claim 28 , wherein the processor is further configured to determine the video quality metric input parameters for each of the plurality of video streams based on at least the estimated client-side buffer occupancy value for the respective one of the plurality of video streams.

30. The access node of claim 29 , wherein the determined video quality metric input parameters include at least one of a freezing instance data and a skipping instance data corresponding to each of the plurality of video streams.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2017
From: WI-LAN LABS, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 041627/0873 →
CHANGE OF NAME Recorded Sep 12, 2014
From: CYGNUS BROADBAND, INC.
To: WI-LAN LABS, INC.
Reel/Frame 033730/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2013
From: ELARABAWY, AHMED; GELL, DAVID; STANWOOD, KENNETH L
To: CYGNUS BROADBAND, INC.
Reel/Frame 031472/0879 →
Continuity (23)
Continuation In Part 13607559 · Sep 7, 2012
Continuation In Part 13549106 · Jul 13, 2012
Continuation In Part 13396503 · Feb 14, 2012
Continuation In Part 13236308 · Sep 19, 2011
Continuation In Part 13166660 · Jun 22, 2011
Continuation In Part 13155102 · Jun 7, 2011
Continuation In Part PCTUS2012043888 · Jun 22, 2012
Continuation In Part 12813856 · Jun 11, 2010
Continuation In Part 13931245
Continuation In Part 13761645 · Feb 7, 2013
Continuation In Part 13789462 · Mar 7, 2013
Continuation In Part 13744101 · Jan 17, 2013
Continuation In Part 13653239 · Oct 16, 2012
Provisional Application 61421510 · Dec 9, 2010
Provisional Application 61186707 · Jun 12, 2009
Provisional Application 61187113 · Jun 15, 2009
Provisional Application 61187118 · Jun 15, 2009
Provisional Application 61625459 · Apr 17, 2012
Provisional Application 61640984 · May 1, 2012
Provisional Application 61658854 · Jun 12, 2012
Provisional Application 61658774 · Jun 12, 2012
Provisional Application 61579324 · Dec 22, 2011
Related Publication 20130286879A1 · Oct 31, 2013