# US 11,310,558 B2 · Buffer processing method, apparatus, device and computer storage medium

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

- Number: US 11,310,558 B2
- Document ID: US11310558B2
- Status: Granted
- Kind: B2
- Application number: 16/911,777
- Filed: 2020-06-25
- Published: 2021-01-21
- Granted: 2022-04-19
- Earliest claimed: 2019-07-17
- Assignees: Beijing Baidu Netcom Science Technology Co., Ltd.
- Applicants: Beijing Baidu Netcom Science and Technology Co., Ltd.
- Inventors: Yongxing Li
- Web page: https://patentgrep.com/patent/US11310558B2

## CPC

- H04L 65/80: Responding to QoS
- H04N 21/44004: {involving video buffer management, e.g. video decoder buffer or video display buffer}
- H04N 21/23406: {involving management of server-side video buffer}
- H04N 21/2401: {Monitoring of the client buffer}
- 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/4331: {Caching operations, e.g. of an advertisement for later insertion during playback}
- H04N 21/440281: {by altering the temporal resolution, e.g. by frame skipping (television signal recording using magnetic recording on tape for reproducing at a rate different from the recording rate H04N5/783)}
- H04N 21/44227: {Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network (configuring of peripheral devices in general G06F9/4411; monitoring connectivity in data switched networks H04L43/0811)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure provides a buffer processing method, apparatus, device and computer storage medium, where the method comprises: if it is detected that a drop of an available bandwidth of a receiving terminal exceeds a preset first threshold, detecting whether a drop of a video frame rate of the receiving terminal exceeds a preset second threshold, the second threshold being smaller than the first threshold; if YES, adjusting a buffer size of the receiving terminal; and if NO, keeping the buffer size of the receiving terminal unchanged. The manner provided by the present disclosure can optimize the buffer of the receiving terminal and reduce the delay.

## Claims

### Claim 1

A buffer processing method, wherein the method comprises:
determining an amplitude of a drop of an available bandwidth of a receiving terminal, and comparing the determined amplitude of the drop of the available bandwidth to a preset first threshold,
if the determined amplitude of the drop of the available bandwidth exceeds the preset first threshold, determining an amplitude of a drop of a video frame rate of the receiving terminal, and comparing the determined amplitude of the drop of the video frame rate to a preset second threshold, the second threshold being smaller than the first threshold, wherein the available bandwidth of the receiving terminal is determined according to a time when the receiving terminal receives a data frame and a size of the data frame;
if the amplitude of the drop of the video frame rate of the receiving terminal exceeds the preset second threshold, adjusting a buffer size of the receiving terminal; and
if the amplitude of the drop of the video frame rate of the receiving terminal does not exceed the preset second threshold, keeping the buffer size of the receiving terminal unchanged,
wherein the adjusting a buffer size of the receiving terminal comprises:
adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal, where the buffer size is negatively correlated with the available bandwidth of the receiving terminal, and
wherein the adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal comprises:
determining a maximum and average frame size of data frames received by the receiving terminal within a preset time window, and determining a noise delay after performing Kalman filtering for the noise already received by the receiving terminal;
estimating a value of a desired buffer size using the available bandwidth of the receiving terminal, the maximum value, the average value and the noise delay; and
adjusting the buffer size of the receiving terminal to the estimated value.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the second threshold is smaller than or equal to one half of the first threshold.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the second threshold is 10%, and the first threshold is 20%.

### Claim 4

A device, wherein the device comprises:
one or more processors;
a storage for storing one or more programs,
the one or more programs, when executed by said one or more processors, enable said one or more processors to implement a buffer processing method, wherein the method comprises:
determining an amplitude of a drop of an available bandwidth of a receiving terminal, and comparing the determined amplitude of the drop of the available bandwidth to a preset first threshold,
if the determined amplitude of the drop of the available bandwidth exceeds the preset first threshold, determining an amplitude of a drop of a video frame rate of the receiving terminal, and comparing the determined amplitude of the drop of the video frame rate to a preset second threshold, the second threshold being smaller than the first threshold, wherein the available bandwidth of the receiving terminal is determined according to a time when the receiving terminal receives a data frame and a size of the data frame;
if the amplitude of the drop of the video frame rate of the receiving terminal exceeds the preset second threshold, adjusting a buffer size of the receiving terminal; and
if the amplitude of the drop of the video frame rate of the receiving terminal does not exceed the preset second threshold, keeping the buffer size of the receiving terminal unchanged,
wherein the adjusting a buffer size of the receiving terminal comprises:
adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal, where the buffer size is negatively correlated with the available bandwidth of the receiving terminal, and
wherein the adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal comprises:
determining a maximum and average frame size of data frames received by the receiving terminal within a preset time window, and determining a noise delay after performing Kalman filtering for the noise already received by the receiving terminal;
estimating a value of a desired buffer size using the available bandwidth of the receiving terminal, the maximum value, the average value and the noise delay; and
adjusting the buffer size of the receiving terminal to the estimated value.

### Claim 5 (depends on 4)

The device according to claim 4, wherein the second threshold is smaller than or equal to one half of the first threshold.

### Claim 6 (depends on 5)

The device according to claim 5, wherein the second threshold is 10%, and the first threshold is 20%.

### Claim 7

A non-transitory storage medium containing computer executable instructions which, when executed by a computer processor, perform a buffer processing method, wherein the method comprises:
determining an amplitude of a drop of an available bandwidth of a receiving terminal, and comparing the determined amplitude of the drop of the available bandwidth to a preset first threshold,
if the determined amplitude of the drop of the available bandwidth exceeds the preset first threshold, determining an amplitude of a drop of a video frame rate of the receiving terminal, and comparing the determined amplitude of the drop of the video frame rate to a preset second threshold, the second threshold being smaller than the first threshold, wherein the available bandwidth of the receiving terminal is determined according to a time when the receiving terminal receives a data frame and a size of the data frame;
if the amplitude of the drop of the video frame rate of the receiving terminal exceeds the preset second threshold, adjusting a buffer size of the receiving terminal; and
if the amplitude of the drop of the video frame rate of the receiving terminal does not exceed the preset second threshold, keeping the buffer size of the receiving terminal unchanged,
wherein the adjusting a buffer size of the receiving terminal comprises:
adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal, where the buffer size is negatively correlated with the available bandwidth of the receiving terminal, and
wherein the adjusting the buffer size of the receiving terminal according to the available bandwidth of the receiving terminal comprises:
determining a maximum and average frame size of data frames received by the receiving terminal within a preset time window, and determining a noise delay after performing Kalman filtering for the noise already received by the receiving terminal;
estimating a value of a desired buffer size using the available bandwidth of the receiving terminal, the maximum value, the average value and the noise delay; and
adjusting the buffer size of the receiving terminal to the estimated value.

### Claim 8 (depends on 7)

The non-transitory storage medium according to claim 7, wherein the second threshold is smaller than or equal to one half of the first threshold.

### Claim 9 (depends on 8)

The non-transitory storage medium according to claim 8, wherein the second threshold is 10%, and the first threshold is 20%.
