IP Library Granted Patent US 11,622,140
Granted Patent B2
US 11,622,140 · App. 16/225,194 · Granted Apr 4, 2023

Selective streaming of video segments based on buffer data and download rate range

Inventors: Boris Kapchits (Yokneam, IL); Ohad Shacham (Kfar Monash, IL)
Assignee: YAHOO ASSETS LLC
H04N21/2402H04L65/764H04N21/234363H04N21/2401
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 11,622,140
App. No.
16/225,194
Granted
Apr 4, 2023
Kind
B2
Abstract

Technologies for selectively streaming video based on mapping buffer data to download rates. The technologies can include sampling download rates of a video player prior to or during downloading of a first video segment to the video player. The technologies can include determining a range of download rates of the video player based at least on the sampled download rates. The technologies can include determining an amount of accumulated video data in a buffer of the video player immediately prior to or during the downloading of the first video segment. Also, the technologies can include mapping the determined amount of accumulated video data to a download rate within the determined range of download rates using a mapping function, and determining a second video segment quality for a second video segment based at least on the mapped download rate.

Claims (58)

1. A method for streaming video, comprising:

sampling multiple actual download rates of a video player prior to or during downloading of a first video segment to the video player, the first video segment having a first video segment quality;

determining a range of actual download rates of the video player based at least on the multiple actual download rates of the video player, wherein determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

determining an upper percentile of the sampled actual download rates;

determining a lower percentile of the sampled actual download rates; and

limiting the range of actual download rates to sampled actual download rates within the upper percentile and at or above the lower percentile, wherein determinations of the upper and lower percentiles are configurable based on data associated with video downloads by the video player;

determining an amount of accumulated video data in a buffer of the video player immediately prior to or during the downloading of the first video segment;

mapping the determined amount of accumulated video data in the buffer to an actual download rate within the determined range of actual download rates using a mapping function; and

determining, based at least on the mapped actual download rate, a second video segment quality for a second video segment to be downloaded to the video player after the downloading of the first video segment.

2. The method of claim 1 , further comprising:

downloading over a network, by the video player, the first video segment with the first video segment quality;

sampling the actual download rates of the video player during the downloading of the first video segment;

determining the amount of accumulated video data in the buffer of the video player during the downloading of the first video segment;

determining the second video segment quality for the second video segment, based at least on the mapped actual download rate and video segment qualities available to the video player; and

downloading over the network, by the video player, the second video segment with the second video segment quality.

3. The method of claim 2 , further comprising sampling actual download rates of the video player prior to the downloading of the first video segment, wherein the determining the range of actual download rates is based at least on the sampled actual download rates sampled prior to and during the downloading of the first video segment.

4. The method of claim 2 , further comprising:

sampling actual download rates of the video player prior to the downloading of the first video segment; and

changing a sampling rate of the sampling of actual download rates of the video player during the downloading of the first video segment according to the sampled actual download rates sampled prior to the downloading of the first video segment.

5. The method of claim 2 , further comprising changing a sampling rate of the sampling of actual download rates of the video player during the downloading of the first video segment according to data associated with video downloads by the video player.

6. The method of claim 1 , wherein determinations of the upper and lower percentiles are configurable based on a user input into the video player.

7. The method of claim 1 , wherein determinations of the upper and lower percentiles are configurable by at least the determined second video segment quality acting as feedback.

8. The method of claim 1 , wherein determinations of the upper and lower percentiles are based on preselected upper and lower percentiles.

9. The method of claim 1 , wherein determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

determining an upper percentile of the sampled download rates; and

limiting the range of actual download rates to sampled actual download rates within the upper percentile.

10. The method of claim 1 , wherein determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

determining a lower percentile of the sampled actual download rates; and

limiting the range of actual download rates to sampled actual download rates at and above the lower percentile.

11. The method of claim 1 , wherein determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

determining respective frequencies of certain actual download rates or of certain ranges of actual download rates in the sampled actual download rates;

determining an upper percentile of the sampled actual download rates based on the determined frequencies;

determining a lower percentile of the sampled actual download rates based on the determined frequencies; and

limiting the range of actual download rates to sampled actual download rates within the upper percentile and at or above the lower percentile.

12. The method of claim 1 , wherein the mapping function is a linear mapping function or a stepwise mapping function.

13. The method of claim 1 , further comprising determining the second video segment quality for the second video segment is further based on data size of the second video segment.

14. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor of a computing device, performs a method, the method comprising:

sampling multiple actual download rates of a video player prior to or during downloading of a first video segment to the video player, the first video segment having a first video segment quality;

determining a range of actual download rates of the video player based at least on the multiple actual download rates of the video player, wherein determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

determining an upper percentile of the sampled actual download rates;

determining a lower percentile of the sampled actual download rates; and

limiting the range of actual download rates to sampled actual download rates within the upper percentile and at or above the lower percentile, wherein determinations of the upper and lower percentiles are configurable based on data associated with video downloads by the video player;

determining an amount of accumulated video data in a buffer of the video player immediately prior to or during the downloading of the first video segment;

mapping the determined amount of accumulated video data in the buffer to an actual download rate within the determined range of actual download rates using a mapping function; and

determining, based at least on the mapped actual download rate, a second video segment quality for a second video segment to be downloaded to the video player after the downloading of the first video segment.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the determining the second video segment quality for the second video segment is further based on video segment qualities available to the player.

16. A computing device, comprising:

a processor; and

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

executable logic for sampling multiple actual download rates of a video player prior to or during downloading of a first video segment to the video player, the first video segment having a first video segment quality;

executable logic for determining a range of actual download rates of the video player based at least on the multiple actual download rates of the video player, wherein the logic for determining the range of actual download rates based at least on the sampled actual download rates, further comprises:

executable logic for determining an upper percentile of the sampled actual download rates;

executable logic for determining a lower percentile of the sampled actual download rates; and

executable logic for limiting the range of actual download rates to sampled actual download rates within the upper percentile and at or above the lower percentile, wherein determinations of the upper and lower percentiles are configurable based on data associated with video downloads by the video player;

executable logic for determining an amount of accumulated video data in a buffer of the video player immediately prior to or during the downloading of the first video segment;

executable logic for mapping the determined amount of accumulated video data in the buffer to an actual download rate within the determined range of actual download rates using a mapping function; and

executable logic for determining, based at least on the mapped actual download rate, a second video segment quality for a second video segment to be downloaded to the video player after the downloading of the first video segment.

17. A computing device of claim 16 , wherein the mapping function is a linear mapping function.

Assignments (4)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: KAPCHITS, BORIS; SHACHAM, OHAD
To: OATH INC.
Reel/Frame 047815/0341 →
Continuity (1)
Related Publication 20200204842A1 · Jun 25, 2020