IP Library › Granted Patent US 12,177,104
Granted Patent B2
US 12,177,104 · App. 17/919,993 · Granted Dec 24, 2024

Method for estimating bandwidth between a video server and a video client

Inventors: Lieven Paulissen (Wilsele, BE); Pieter-Jan Speelmans (Diest, BE)
Assignee: THEO TECHNOLOGIES
H04L43/0894H04N21/44209H04N21/4621H04N21/8456
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 12,177,104
App. No.
17/919,993
Granted
Dec 24, 2024
Kind
B2
Abstract

A method for estimating bandwidth between a video server and a video client for playing back a video stream includes video packets. The method involves the following steps performed by the video client: receiving the video packets from the video server wherein the video packets are transmitted by the video server at predetermined time intervals; calculating a difference in a size of the video packets and a difference in a time of reception of the video packets; and estimating the bandwidth based on the calculated difference in size and the calculated difference in the time of reception. The present disclosure further relates to a media player configured to perform the disclosed method.

Claims (32)

1. A method for determining bandwidth between a video server and a video client for playing back a video stream comprising video packets, the method comprising the following steps performed by the video client:

receiving the video packets from the video server wherein the video packets are transmitted by the video server at predetermined time intervals;

calculating a difference in a size of the video packets and a difference in a time of reception of the video packets;

determining the bandwidth based on the calculated difference in size and the calculated difference in the time of reception and the predetermined time intervals between the video packets,

wherein the determining is performed for every received video packet and with respect to a previously received video packet, thereby obtaining bandwidth samples as a function in time; and

predicting the bandwidth for upcoming video packets based on the bandwidth samples,

wherein the predicting comprises fitting a parametrizable function to the bandwidth samples and predicting the bandwidth for upcoming video packets by extrapolating the fitted parametrizable function.

2. The method for determining bandwidth according to claim 1 , wherein the determining the bandwidth for every received video packet further comprises taking into account previously determined bandwidth samples in a weighted manner.

3. The method for determining bandwidth according to claim 1 , wherein the parametrizable function is selected from a set of predetermined parametrizable functions, and,

wherein the set of predetermined parametrizable functions comprise at least one of a linear function, a triangle-wave function, a block-wave, and a trapezoid-wave function.

4. The method for determining bandwidth according to claim 1 , further comprising re-fitting the parametrizable function by taking into account newly determined bandwidth samples.

5. The method for determining bandwidth according to claim 1 , wherein the predicting the bandwidth for upcoming video packets is by means of a probabilistic prediction.

6. The method for determining bandwidth according to claim 5 , wherein the predicting comprises deriving a minimally available bandwidth, BWMIN, within an upcoming time interval based on statistical information derived from the bandwidth samples.

7. The method for determining bandwidth according to claim 1 , wherein the predicting is based on a subset of the bandwidth samples, the subset comprising the latest bandwidth samples within a selected time interval.

8. The method for determining bandwidth according to claim 1 , further comprises requesting a transmission of a group of contiguous video frames from the video server, thereby ensuring reception of video packets comprising a group of contiguous video frames at predetermined time intervals.

9. The method for determining bandwidth according to claim 1 , wherein the video packet comprises a video segment comprising at least one video frame.

10. The method for determining bandwidth according to claim 1 , further comprising selecting subsequent video packets to be transmitted based on the predicted bandwidth.

11. The method for determining bandwidth according to claim 1 , wherein the video packet comprises a video segment comprising a group of contiguous video frames.

12. A non-transitory computer-readable media having computer-executable instructions stored thereon, which, when executed by one or more processors of a video player, cause the video player to perform at least the following:

receiving video packets from a video server wherein the video packets are transmitted by the video server at predetermined time intervals;

calculating a difference in a size of the video packets and a difference in a time of reception of the video packets;

determining the bandwidth based on the calculated difference in size and the calculated difference in the time of reception and the predetermined time intervals between the video packets,

wherein the determining is performed for every received video packet and with respect to a previously received video packet, thereby obtaining bandwidth samples as a function in time; and

predicting the bandwidth for upcoming video packets based on the bandwidth samples,

wherein the predicting comprises fitting a parametrizable function to the bandwidth samples and predicting the bandwidth for upcoming video packets by extrapolating the fitted parametrizable function.

13. A video client comprising at least one processor and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the video client to perform:

receiving video packets from a video server wherein the video packets are transmitted by the video server at predetermined time intervals;

calculating a difference in a size of the video packets and a difference in a time of reception of the video packets;

determining the bandwidth based on the calculated difference in size and the calculated difference in the time of reception and the predetermined time intervals between the video packets,

wherein the determining is performed for every received video packet and with respect to a previously received video packet, thereby obtaining bandwidth samples as a function in time; and

predicting the bandwidth for upcoming video packets based on the bandwidth samples,

wherein the predicting comprises fitting a parametrizable function to the bandwidth samples and predicting the bandwidth for upcoming video packets by extrapolating the fitted parametrizable function.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: THEO TECHNOLOGIES
To: DOLBY INTERNATIONAL AB
Reel/Frame 073499/0508 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2025
From: THEO TECHNOLOGIES
To: DOLBY INTERNATIONAL AB
Reel/Frame 069995/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2022
From: PAULISSEN, LIEVEN; SPEELMANS, PIETER-JAN
To: THEO TECHNOLOGIES
Reel/Frame 061478/0614 →
Priority Claims (1)
EP 20170595 · Apr 21, 2020 · regional
Continuity (1)
Related Publication 20230048428A1 · Feb 16, 2023