# US 2013/0159495 A1 · Controlling Bit-Rates for Media Streaming Sessions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159495 A1
- Document ID: US20130159495A1
- Status: Published application
- Kind: A1
- Application number: 13/326,411
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: Cisco Technology, Inc.
- Inventors: Wenyi Wang; Jing Hu; Juiping Liao; Rong Wang; Duanpei Wu; Shih-Cheng Stan Yan
- Web page: https://patentgrep.com/patent/US20130159495A1

## CPC

- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 19/146: Data rate or code amount at the encoder output
- H04N 19/164: Feedback from the receiver or from the transmission channel
- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/44209: {Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896)}
- H04N 21/6373: for rate control {, e.g. request to the server to modify its transmission rate (flow control in packet networks H04L47/10)}
- H04N 21/64738: {Monitoring network characteristics, e.g. bandwidth, congestion level (data switched network analysis H04L41/14; monitoring functioning in data switched networks H04L43/0817; flow control in packet networks H04L47/10)}
- H04N 21/64792: {Controlling the complexity of the content stream, e.g. by dropping packets (intermediate media network packet handling H04L65/765; proxy provisioning conversion or adaptation for reducing the amount or size of exchanged application data H04L67/5651; negotiation of resources in wireless networks H04W28/16)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In one embodiment, a method includes (a) discerning whether an average packet delay in a media streaming session is increasing or decreasing over a first defined time window, (b) discerning whether an average jitter in the media streaming session is increasing or decreasing over a second defined time window, (c) in response to (a) and (b), calculating a specific bit-rate quantity corresponding to a change in bit-rate, and (d) controlling a bit-rate of the media streaming session in accordance with the specific bit-rate quantity.

## Claims

### Claim 1

A method comprising:
(a) discerning whether an average packet delay in a media streaming session is increasing or decreasing over a first defined time window;
(b) discerning whether an average jitter in the media streaming session is increasing or decreasing over a second defined time window;
(c) in response to (a) and (b), calculating a specific bit-rate quantity corresponding to a change in bit-rate; and
(d) controlling a bit-rate of the media streaming session in accordance with the specific bit-rate quantity.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
building a table that includes a plurality of entries, wherein each entry includes a value for packet delay, jitter, and bit-rate for the media streaming session at a given time.

### Claim 3 (depends on 2)

The method of claim 2 in which (c) comprises:
determining that the bit-rate of the media streaming session should be increased or decreased;
using at least one of a current value of delay or a current value of jitter as an index to match to a previous bit-rate in the table; and
calculating a difference between a current bit-rate and the previous bit-rate in the table to generate a specific up-speed or down-speed value.

### Claim 4 (depends on 1)

The method of claim 1 in which (c) comprises:
calculating a specific bit-rate for an up-speed adjustment in response to discerning that the average packet delay is decreasing in (a) and that the jitter is decreasing in (b).

### Claim 5 (depends on 1)

The method of claim 1 in which (c) comprises:
calculating a specific bit-rate for an up-speed adjustment in response to discerning that the average packet delay is decreasing in (a) and that the jitter is not increasing in (b).

### Claim 6 (depends on 1)

The method of claim 1 in which (c) comprises:
calculating a specific bit-rate for a down-speed adjustment in response to discerning that the average packet delay is increasing in (a) and that the jitter is increasing in (b).

### Claim 7 (depends on 1)

The method of claim 1 in which the method is performed by an encoding end point to adjust an encoding bit-rate thereof.

### Claim 8 (depends on 1)

The method of claim 1 in which the method is performed by a decoding endpoint, further in which (d) comprises:
sending an indication of the specific bit-rate quantity to an encoding endpoint.

### Claim 9 (depends on 1)

The method of claim 1 in which the method is performed by a network device analyzing feedback from a decoding endpoint, further in which (c) comprises:
calculating the specific bit-rate quantity by taking into account at least one of a session priority of the media streaming session, a video entropy level, or a video performance baseline; and further in which (d) comprises:
sending an indication of the specific bit-rate quantity to an encoding endpoint.

### Claim 10

An apparatus comprising:
a network input/output;
a processor, and
a memory in communication with the processor, the memory including instructions executable by the processor to perform the following operations:
a first operation that analyzes data received through the network input/output to calculate an average packet delay trend for a media streaming session and a jitter trend for the media streaming session;
a second operation that calculates a quantified up-speed or down-speed value in response average packet delay trend and the jitter trend; and
a third operation that controls a bit-rate of the media streaming session according to the quantified up-speed or down-speed value.

### Claim 11 (depends on 10)

The apparatus of claim 10, in which the apparatus is included in a decoding endpoint, further in which the third operation sends feedback over a network to an encoding endpoint.

### Claim 12 (depends on 10)

The apparatus of claim 10, in which the apparatus is included in a network device, further in which the third operation sends feedback over a network to an encoding endpoint.

### Claim 13 (depends on 10)

The apparatus of claim 10, in which the apparatus is included in an encoding endpoint that adjusts an encoding bit-rate thereof.

### Claim 14 (depends on 10)

The apparatus of claim 10 further comprising:
at least one processor executing computer-readable code to provide the functionality of the first, second, and third operations.

### Claim 15

Logic encoded in one or more tangible media for execution and when executed operable to:
(a) calculate whether an average packet delay in a media streaming session is moving lower or higher;
(b) calculate whether a jitter in the media streaming session is improving or worsening;
(c) store a record of historical values for jitter and average packet delay and historical values for streaming bit-rate correlated with respective historical values for jitter and average packet delay;
(d) in response to (a) and (b), calculate a difference between a current streaming bit-rate and a specific one of the historical values for streaming bit-rate to generate an up-speed or down-speed value; and
(e) control a bit-rate of the media streaming session according to the up-speed or down-speed value.

### Claim 16 (depends on 15)

The logic of claim 15 in which (d) comprises:
calculating a specific bit-rate for an up-speed adjustment in response to discerning that the average packet delay is moving lower in (a) and that the jitter is decreasing in (b).

### Claim 17 (depends on 15)

The logic of claim 15 in which (d) comprises:
calculating a specific bit-rate for an up-speed adjustment in response to discerning that the average packet delay is moving lower in (a) and that the jitter is not increasing in (b).

### Claim 18 (depends on 15)

The logic of claim 15 in which (d) comprises:
calculating a specific bit-rate for a down-speed adjustment in response to discerning that the average packet delay is moving up in (a) and that the jitter is increasing in (b).

### Claim 19 (depends on 15)

The logic of claim 15, in which (e) comprises:
sending an indication of up-speed or down-speed value to an encoding endpoint.

### Claim 20 (depends on 15)

The logic of claim 15, in which (a) comprises analyzing feedback from a decoding endpoint, and further in which (e) comprises sending an indication of the up-speed or down-speed value to an encoding endpoint.

### Claim 21

A method comprising:
in a network device conveying packets for multiple streams, in which the network device is included in a feedback loop with a sending endpoint, determining by the network device desired relative bit rates among the multiple streams; and
controlling the multiple streams to achieve the relative bit rates by manipulating a packet drop rate of at least one of the multiple streams.

### Claim 22 (depends on 21)

The method of claim 21 in which the packet drop rate is determined using at least one of stream priority, video entropy, and video performance baseline.

### Claim 23

A method comprising:
in a network device conveying packets for multiple streams, in which the network device is included in a feedback loop with a sending endpoint, determining by the network device desired relative bit rates among the multiple streams; and
controlling the multiple streams to achieve the relative bit rates by manipulating a congestion marking ratio of at least one of the multiple streams.

### Claim 24 (depends on 23)

The method of claim 23 in which the congestion marking ratio is determined using at least one of stream priority, video entropy, and video performance baseline.

### Claim 25 (depends on 23)

The method of claim 23 in which the congestion marking ratio includes at least one of Explicit Congestion Notification (ECN) marking ratio and a Pre-Congestion Notification (PCN) marking ratio.
