# US 2014/0153431 A1 · Method and device for determining a jitter buffer level

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

- Number: US 2014/0153431 A1
- Document ID: US20140153431A1
- Status: Published application
- Kind: A1
- Application number: 14/174,916
- Filed: 2014-02-07
- Published: 2014-06-05
- Earliest claimed: 2009-09-23
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Henrik Fahlberg Lundin; Stefan Holmer
- Web page: https://patentgrep.com/patent/US20140153431A1

## CPC

- H04L 43/087: Jitter
- H04L 43/0852: Delays
- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- H04L 49/9005: using dynamic buffer space allocation
- H04L 49/9023: for implementing a jitter-buffer
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A buffer level for jitter data buffer is determined. A frame payload size difference is determined for a plurality of video frames encoded into data packets sequentially received from a network. The difference is a difference in a payload size of a current frame and a previous frame. A frame network transit delay is determined as a difference in a transport time between the current frame and the previous frame and an expected transport time between the current frame and the previous frame. A slope and a variance of a linear relationship between the frame payload size difference and the frame network transit delay are determined for the plurality of video frames. Finally, a buffer level of a jitter data buffer is determined using a maximum frame payload size, an average frame payload size, the slope and the variance.

## Claims

### Claim 1

A method, comprising:
determining, using a processing unit, a frame payload size difference for a plurality of video frames encoded into data packets sequentially received from a communications network, wherein a frame payload size difference is a difference in a payload size of a current frame and a payload size of a previous frame;
determining, using the processing unit, a frame network transit delay for the plurality of video frames, wherein the frame network transit delay is a difference in a transport time between the current frame and the previous frame and an expected transport time between the current frame and the previous frame;
determining, using the processing unit, a slope and a variance of a linear relationship between the frame payload size difference and the frame network transit delay for at least some of the plurality of video frames; and
determining a buffer level of a jitter data buffer using a maximum frame payload size, an average frame payload size, the slope and the variance, the jitter data buffer located in memory associated with the processing unit.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
calculating the expected transport time between the current frame and the previous frame by comparing timestamp information of the previous frame with timestamp information of the current frame.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
calculating the transport time between the current frame and the previous frame by comparing a measured arrival time of the current frame with a measured arrival time of the previous frame.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
calculating the transport time between the current frame and the previous frame by comparing a measured arrival time of the current frame with a measured arrival time of the previous frame.

### Claim 5 (depends on 1)

The method of claim 1 wherein determining the slope and the variance comprises:
performing an adaptive filter algorithm updated upon arrival of each frame.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
before determining the slope and the variance, identifying whether a frame of the plurality of frames has an absolute value of a difference between its frame network transit delay and a portion of frame network transit delay attributable to payload size variation between previous frames that exceeds a threshold value.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
updating the linear relationship differently based on whether or not the absolute value exceeds the threshold.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
sensing a discontinuous change in a parameter of the communications network, the parameter being indicative of traffic conditions in the communications network; and
adjusting at least one parameter used to determine the slope and the variance of the linear relationship based on the discontinuous change.

### Claim 9 (depends on 8)

The method of claim 8 wherein adjusting at least one parameter comprises resetting the at least one parameter.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining whether the current frame was transmitted earlier than the previous frame with regards to a transmission order of the plurality of frames.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
omitting the current frame from determining the slope and the variance of the linear relationship when the current frame was transmitted earlier with regards to the transmission order.

### Claim 12

An apparatus, comprising:
memory; and
a processing unit configured to execute instructions stored in the memory to:
determine a frame payload size difference for a plurality of video frames encoded into data packets sequentially received from a communications network, wherein a frame payload size difference is a difference in a payload size of a current frame and a payload size of a previous frame;
determine a frame network transit delay for the plurality of video frames, wherein the frame network transit delay is a difference in a transport time between the current frame and the previous frame and an expected transport time between the current frame and the previous frame;
determine a slope and a variance of a linear relationship between the frame payload size difference and the frame network transit delay for the plurality of video frames; and
determine a buffer level of a jitter data buffer using a maximum frame payload size, an average frame payload size, the slope and the variance, the jitter data buffer located in the memory.

### Claim 13 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to:
calculate the expected transport time between the current frame and the previous frame by comparing timestamp information of the previous frame with timestamp information of the current frame.

### Claim 14 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to:
calculate the transport time between the current frame and the previous frame by comparing a measured arrival time of the current frame with a measured arrival time of the previous frame.

### Claim 15 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to determine the slope and the variance by:
performing an adaptive filter algorithm updated upon arrival of each frame.

### Claim 16 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to, before determining the slope and the variance, identify whether a frame of the plurality of frames has an absolute value of a difference between its frame network transit delay and a portion of frame network transit delay attributable to payload size variation between previous frames that exceeds a threshold value.

### Claim 17 (depends on 16)

The apparatus of claim 16 wherein the processing unit is configured to:
update the linear relationship differently based on whether or not the absolute value exceeds the threshold.

### Claim 18 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to:
sense a discontinuous change in a parameter of the communications network, the parameter being indicative of traffic conditions in the communications network; and
reset at least one parameter used to determine the slope and the variance of the linear relationship based on the discontinuous change.

### Claim 19 (depends on 12)

The apparatus of claim 12 wherein the processing unit is configured to:
determine whether the current frame was transmitted earlier that the previous frame with regards to a transmission order of the plurality of frames.

### Claim 20 (depends on 19)

The apparatus of claim 19 wherein the processing unit is configured to:
omit the current frame from determining the slope and the variance of the linear relationship when the current frame was transmitted earlier with regards to the transmission order.
