# US 9,438,853 B2 · Receiver driven up-switching in video telephony

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

- Number: US 9,438,853 B2
- Document ID: US9438853B2
- Status: Granted
- Kind: B2
- Application number: 14/811,569
- Filed: 2015-07-28
- Published: 2016-02-04
- Granted: 2016-09-06
- Earliest claimed: 2014-07-29
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Geert Van der Auwera; Muhammed Zeyd Coban; Marta Karczewicz; Nikolai Konrad Leung
- Web page: https://patentgrep.com/patent/US9438853B2

## CPC

- H04L 43/0852: Delays
- H04L 43/0894: Packet rate
- H04L 47/12: Avoiding congestion; Recovering from congestion
- H04L 47/2416: Real-time traffic
- H04L 47/263: Rate modification at the source after receiving feedback
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04N 7/148: {Interfacing a video terminal to a particular transmission medium, e.g. ISDN}
- H04N 7/15: Conference systems
- H04N 7/152: {Multipoint control units therefor}
- H04N 19/40: using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
- H04N 19/61: in combination with predictive coding
- H04N 21/2365: Multiplexing of several video streams
- H04N 21/23655: {Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization}
- 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 21/4347: {Demultiplexing of several video streams}
- H04L 43/0864: Round trip delays
- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- H04L 43/16: Threshold monitoring
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

In an example, a method of processing data includes determining, by a receiver device, an allowable excess delay parameter based on a difference between a time at which received data is received by the receiver device and a time at which the received data is scheduled to be played out, where the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device. The method also includes determining, by the receiver device, a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, and transmitting an indication of the sender bit rate increase to the sender device.

## Claims

### Claim 1

A method of processing data, the method comprising:
determining, by a receiver device, an allowable excess delay parameter based on a difference between a time at which received data is received by the receiver device and a time at which the received data is scheduled to be played out, wherein the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device;
determining a receiving rate at which data has been received by the receiver device;
determining a round trip time for transmission of data between the receiver device and the sender device;
determining, by the receiver device, a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, the receiving rate, and the round trip time; and
transmitting an indication of the sender bit rate increase to the sender device.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the sender bit rate increase comprises determining the sender bit rate increase only when the time at which data is received is earlier than the time at which the received data is scheduled to be played out, such that the allowable excess delay parameter is greater than zero.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time comprises determining a sending rate step increase based on a ratio of the allowable excess delay parameter multiplied by the receiving rate to the round trip time.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining the sender bit rate increase based on a time for detecting a delay at the receiver device, such that determining the sender bit rate increase comprises determining the sender bit rate increase based on a ratio of the allowable excess delay parameter multiplied by the receiving rate to a sum of the round trip time and the time for detecting a delay at the receiver device.

### Claim 5 (depends on 1)

The method of claim 1, wherein transmitting the indication of the sender bit rate increase comprises transmitting a rate step increase to be added to the sender bit rate.

### Claim 6 (depends on 1)

The method of claim 1, wherein transmitting the indication of the sender bit rate increase comprises transmitting a requested sending rate to the sender device, the requested sending rate comprising a combination of the sender bit rate increase and the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 7 (depends on 6)

The method of claim 6, wherein transmitting the requested sending rate comprises transmitting the requested sending rate only when the sender bit rate increase exceeds a predetermined threshold.

### Claim 8 (depends on 7)

The method of claim 7, wherein the predetermined threshold is greater than approximately five percent of the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 9 (depends on 7)

The method of claim 7, wherein the predetermined threshold is greater than approximately 15 percent of the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 10 (depends on 6)

The method of claim 6, wherein transmitting the requested sending rate comprises generating a Temporary Maximum Media Stream Bit rate Request (TMMBR) message that includes an indication of the requested sending rate.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining the receiving rate comprises determining an average receiving rate, and wherein determining the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time comprises determining a sender rate step increase based on the following equation:
rate_increase
⁢
_step
=
excess_delay
⁢
_allowable
*
avg_receiving
⁢
_rate
(
RTT
+
receiver_detection
⁢
_delay
)
wherein rate_increase_step comprises the sending rate step increase, excess_delay_allowable comprises the allowable excess delay parameter, avg_receiving_rate comprises the average receiving rate, RTT comprises the round trip time, and receiver_detection_delay comprises a time for detecting a delay at the receiver device.

### Claim 12

A receiver device for processing data, the receiver device comprising:
a memory configured to store data; and
one or more processors configured to:
determine an allowable excess delay parameter based on a difference between a time at which the data is received by the receiver device and a time at which the data is scheduled to be played out, wherein the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device;
determine a receiving rate at which data has been received by the receiver device;
determine a round trip time for transmission of data between the receiver device and the sender device;
determine a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, the receiving rate, and the round trip time; and
transmit an indication of the sender bit rate increase to the sender device.

### Claim 13 (depends on 12)

The device of claim 12, wherein to determine the sender bit rate increase, the one or more processors are configured to determine the sender bit rate increase only when the time at which data is received is earlier than the time at which the received data is scheduled to be played out, such that the allowable excess delay parameter is greater than zero.

### Claim 14 (depends on 12)

The device of claim 12, wherein to determine the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time, the one or more processors are configured to determine a sending rate step increase based on a ratio of the allowable excess delay parameter multiplied by the receiving rate to the round trip time.

### Claim 15 (depends on 12)

The device of claim 12, wherein the one or more processors are further configured to determine the sender bit rate increase based on a time for detecting a delay at the receiver device, such that determining the sender bit rate increase comprises determining the sender bit rate increase based on a ratio of the allowable excess delay parameter multiplied by the receiving rate to a sum of the round trip time and the time for detecting a delay at the receiver device.

### Claim 16 (depends on 12)

The device of claim 12, wherein to transmit the indication of the sender bit rate increase, the one or more processors are configured to transmit a rate step increase to be added to the sender bit rate.

### Claim 17 (depends on 12)

The device of claim 12, wherein to transmit the indication of the sender bit rate increase, the one or more processors are configured to transmit a requested sending rate to the sender device, the requested sending rate comprising a combination of the sender bit rate increase and the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 18 (depends on 17)

The device of claim 17, wherein to transmit the requested sending rate, the one or more processors are configured to transmit the requested sending rate only when the sender bit rate increase exceeds a predetermined threshold.

### Claim 19 (depends on 18)

The device of claim 18, wherein the predetermined threshold is greater than approximately five percent of the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 20 (depends on 18)

The device of claim 18, wherein the predetermined threshold is greater than approximately 15 percent of the receiving rate at which data has been received by the receiver device prior to determining the sender bit rate increase.

### Claim 21 (depends on 17)

The device of claim 17, wherein to transmit the requested sending rate, the one or more processors are configured to generate a Temporary Maximum Media Stream Bit rate Request (TMMBR) message that includes an indication of the requested sending rate.

### Claim 22 (depends on 12)

The device of claim 12, wherein the device comprises at least one of:
an integrated circuit;
a microprocessor; or
a wireless communication device.

### Claim 23 (depends on 12)

The device of claim 12, wherein to determine the receiving rate, the one or more processors are configured to determine an average receiving rate, and wherein to determine the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time, the one or more processors are configured to determine a sender rate step increase based on the following equation:
rate_increase
⁢
_step
=
excess_delay
⁢
_allowable
*
avg_receiving
⁢
_rate
(
RTT
+
receiver_detection
⁢
_delay
)
wherein rate_increase_step comprises the sending rate step increase, excess_delay_allowable comprises the allowable excess delay parameter, avg_receiving_rate comprises the average receiving rate, RTT comprises the round trip time, and receiver_detection_delay comprises a time for detecting a delay at the receiver device.

### Claim 24

An apparatus for processing data, the apparatus comprising:
means for determining an allowable excess delay parameter based on a difference between a time at which received data is received by the receiver device and a time at which the received data is scheduled to be played out, wherein the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device;
means for determining a receiving rate at which data has been received by the receiver device;
means for determining a round trip time for transmission of data between the receiver device and the sender device;
means for determining a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, the receiving rate, and the round trip time; and
means for transmitting an indication of the sender bit rate increase to the sender device.

### Claim 25 (depends on 24)

The apparatus of claim 24, wherein the means for determining the receiving rate comprises means for determining an average receiving rate, and wherein the means for determining the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time comprises means for determining a sender rate step increase based on the following equation:
rate_increase
⁢
_step
=
excess_delay
⁢
_allowable
*
avg_receiving
⁢
_rate
(
RTT
+
receiver_detection
⁢
_delay
)
wherein rate_increase_step comprises the sending rate step increase, excess_delay_allowable comprises the allowable excess delay parameter, avg_receiving_rate comprises the average receiving rate, RTT comprises the round trip time, and receiver_detection_delay comprises a time for detecting a delay at the receiver device.

### Claim 26

A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause one or more processors to:
determine an allowable excess delay parameter based on a difference between a time at which received data is received by the receiver device and a time at which the received data is scheduled to be played out, wherein the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device;
determine a receiving rate at which data has been received by the receiver device;
determine a round trip time for transmission of data between the receiver device and the sender device;
determine a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, the receiving rate, and the round trip time; and
transmit an indication of the sender bit rate increase to the sender device.

### Claim 27 (depends on 26)

The non-transitory computer readable medium of claim 26, wherein to determine the receiving rate, the instructions cause the one or more processors to determine an average receiving rate, and wherein to determine the sender bit rate increase based on the allowable excess delay parameter, the receiving rate, and the round trip time, the one or more processors are configured to determine a sender rate step increase based on the following equation:
rate_increase
⁢
_step
=
excess_delay
⁢
_allowable
*
avg_receiving
⁢
_rate
(
RTT
+
receiver_detection
⁢
_delay
)
wherein rate_increase_step comprises the sending rate step increase, excess_delay_allowable comprises the allowable excess delay parameter, avg_receiving_rate comprises the average receiving rate, RTT comprises the round trip time, and receiver_detection_delay comprises a time for detecting a delay at the receiver device.
