IP Library Granted Patent US 9,571,549
Granted Patent B2
US 9,571,549 · App. 15/002,618 · Granted Feb 14, 2017

Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network

Inventors: Yiliang Bao (San Diego, CA); David Gell (San Diego, CA); Kenneth L. Stanwood (Vista, CA); Ahmed ElArabawy (San Diego, CA)
H04L65/60H04L65/605H04L65/80H04L69/22H04N21/23406H04N21/2401H04N21/2402H04N21/44004
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,571,549
App. No.
15/002,618
Granted
Feb 14, 2017
Kind
B2
Abstract

Systems and methods can use client-side video buffer occupancy for enhanced quality of experience in a communication network. The systems and methods provided herein can drive changes in the communication system using control responses. Example control responses include responses for scheduling of packets under capacity constrained conditions. An access node, such as a base station, may transmit video from a server to a client in a user device. The access node can estimate client-side video buffer occupancy and predict video playback stalls. The client-side video buffer occupancy can be estimated by emulating behavior of the client. The buffer occupancy can be used to enhance quality of experience for the user. For example, when the buffer occupancy is low, the access node may increase scheduling priority of packets conveying the video.

Claims (32)

1. A network node, comprising:

a first interface configured to provide communications with a terminal node;

a second interface configured to provide communications with a video server; and

a processor coupled to the first interface and the second interface, the processor arranged for

parsing a metadata portion of a video stream to be delivered to the terminal node to determine characteristics of the video stream, the characteristics of the video stream including a mapping from byte locations in the video stream to corresponding decoding time stamps,

estimating occupancy of a video buffer in the terminal node using the mapping from byte locations in the video stream to corresponding decoding time stamps, and

generating one or more performance metrics based at least in part on the estimated occupancy of the video buffer in the terminal node.

2. The network node of claim 1 , wherein the processor is further arranged for:

analyzing packets to be delivered to the terminal node to detect characteristics of the packets and classifying the packets using the detected characteristics;

analyzing packets associated with the video stream to determine timing information related to the video stream; and

using the timing information in estimating occupancy of the video buffer in the terminal node.

3. The network node of claim 2 , wherein the processor is further arranged for analyzing packets from the terminal node to detect information about which parts of the video stream have been delivered to the terminal node.

4. The network node of claim 1 , wherein the processor is further arranged for detecting traffic congestion by analyzing the one or more performance metrics.

5. The network node of claim 1 , wherein the estimated occupancy of the video buffer is in units of time.

6. The network node of claim 1 , wherein the characteristics of the video stream further include an initial buffer delay, and wherein the processor is further arranged for using the initial buffer delay in estimating occupancy of the video buffer in the terminal node.

7. The network node of claim 1 , wherein the processor is further arranged for emulating behavior of a video client in the terminal node for use in estimating the occupancy of the video buffer.

8. The network node of claim 7 , wherein the processor is further arranged for determining a current decoding time of the video stream for use in emulating behavior of the video client in the terminal node.

9. A method for use in operating a network node that provides communications to and from a terminal node, the communications including packets conveying a video stream, the method comprising:

receiving packets associated with the video stream;

parsing a metadata portion of the video stream to determine characteristics of the video stream, the characteristics of the video stream including a mapping from byte locations in the video stream to corresponding decoding time stamps;

estimating occupancy of a video buffer in the terminal node using the mapping from byte locations in the video stream to corresponding decoding time stamps; and

generating one or more performance metrics based at least in part on the estimated occupancy of the video buffer in the terminal node.

10. The method of claim 9 , further comprising:

analyzing packets to be delivered to the terminal node to detect characteristics of the packets and classifying the packets using the detected characteristics;

analyzing packets associated with the video stream to determine timing information related to the video stream; and

using the timing information in estimating occupancy of the video buffer in the terminal node.

11. The method of claim 10 , further comprising analyzing packets from the terminal node to detect information about which parts of the video stream have been delivered to the terminal node.

12. The method of claim 9 , further comprising detecting traffic congestion by analyzing the one or more performance metrics.

13. The method of claim 9 , wherein the estimated occupancy of the video buffer is in units of time.

14. The method of claim 9 , wherein the characteristics of the video stream further include an initial buffer delay, and wherein the method further comprises using the initial buffer delay in estimating occupancy of the video buffer in the terminal node.

15. The method of claim 9 , further comprising emulating behavior of a video client in the terminal node for use in estimating the occupancy of the video buffer.

16. The method of claim 15 , further comprising determining a current decoding time of the video stream for use in emulating behavior of the video client in the terminal node.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2016
From: BAO, YILIANG; GELL, DAVID; STANWOOD, KENNETH L.; ELARABAWY, AHMED
To: CYGNUS BROADBAND, INC.
Reel/Frame 037544/0814 →
CHANGE OF NAME Recorded Jan 21, 2016
From: CYGNUS BROADBAND, INC.
To: WI-LAN LABS, INC.
Reel/Frame 037568/0254 →
Continuity (3)
Continuation 13789462 · Mar 7, 2013
Provisional Application 61658854 · Jun 12, 2012
Related Publication 20160156942A1 · Jun 2, 2016