IP Library Patent Application 17349494
Patent Application
App. No. 17/349,494

SYSTEMS AND METHODS FOR SELECTING EFFICIENT ENCODERS FOR STREAMING MEDIA

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 None
App. No.
17/349,494
Abstract

A computer-implemented method for selecting efficient encoders for streaming media may include (i) predicting that an expected download demand for a higher-demand segment of a media file is higher than an expected download demand for a lower-demand segment, (ii) encoding each segment of the media file with an encoder that correlates to the expected download demand of the segment by (a) encoding the higher-demand segment with a more computationally intensive encoder that produces a more efficiently compressed segment compared to a less computationally intensive encoder that produces a less efficiently compressed segment and (b) encoding the lower-demand segment with the less computationally intensive encoder, and (iii) enabling streaming of the media file by providing the more efficiently compressed encoding of the higher-demand segment and the less efficiently compressed encoding of the lower-demand segment. Various other methods, systems, and computer-readable media are also disclosed.

Claims (67)

1 . A computer-implemented method comprising:

predicting that an expected download demand for a higher-demand segment of a media file is higher than an expected download demand for a lower-demand segment of the media file, wherein each segment of the media file comprises a non-overlapping time-bounded portion of the media file;

encoding each segment of the media file with an encoder that correlates to the expected download demand of the segment by:

encoding the higher-demand segment with a more computationally intensive encoder that produces a more efficiently compressed segment compared to a less computationally intensive encoder that produces a less efficiently compressed segment; and

encoding the lower-demand segment with the less computationally intensive encoder; and

enabling streaming of the media file by providing the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file.

2 . The computer-implemented method of claim 1 , wherein the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file are both encoded at a same level of quality.

3 . The computer-implemented method of claim 1 , wherein the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file are both encoded at a same resolution.

4 . The computer-implemented method of claim 1 , wherein predicting that the expected download demand for the higher-demand segment of a media file is higher than the expected download demand for the lower-demand segment of the media file comprises:

predicting that the expected download demand for the higher-demand segment meets a predetermined threshold for high download demand; and

predicting that the expected download demand for the lower-demand segment does not meet the predetermined threshold for high download demand.

5 . The computer-implemented method of claim 1 , wherein predicting the expected download demand for the higher-demand segment of a media file comprises:

identifying a segment type of the higher-demand segment; and

retrieving historical download data for the segment type that indicates that the segment type experiences high download demand.

6 . The computer-implemented method of claim 1 , wherein encoding each segment of the media file with the encoder that correlates to the expected download demand of the segment comprises:

determining a segment type of the segment; and

selecting an encoder that is optimized to encode the segment type.

7 . The computer-implemented method of claim 6 , wherein determining a segment type of the segment comprises determining at least one of:

an amount of change between each video frame of the segment;

a distribution of colors of pixel within each video frame of the segment; or

a type of change between each video frame within the segment.

8 . The computer-implemented method of claim 1 , wherein encoding each segment of the media file with the encoder that correlates to the expected download demand of the segment comprises:

detecting a source of the segment of the media file; and

selecting the encoder based at least in part on the source of the segment.

9 . The computer-implemented method of claim 8 , wherein the source of the segment of the media file comprises at least one of:

a virtual camera within an artificial reality environment;

a virtual camera within a game;

a physical camera in an indoor environment; or

a physical camera in an outdoor environment.

10 . The computer-implemented method of claim 1 , further comprising:

receiving a request from a device to download the higher-demand segment;

streaming the higher-demand segment to the device in response to the request to download the higher-demand segment;

failing to receive a request from the device to download the lower-demand segment; and

declining to stream the lower-demand segment to the device in response to failing to receive the request to download the lower-demand segment.

11 . The computer-implemented method of claim 1 , further comprising:

predicting that an expected download demand for a moderate-demand segment of the media file is higher than the expected download demand for the lower-demand segment of the media file and lower than the expected download demand for the higher-demand segment of the media file; and

encoding the moderate-demand segment with a moderate computationally intensive encoder that produces a more efficiently compressed segment compared to the less computationally intensive encoder and a less efficiently compressed segment compared to the more computationally intensive coder.

12 . The computer-implemented method of claim 1 , wherein each segment comprises a scene of a video.

13 . A system comprising:

at least one physical processor;

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

predict that an expected download demand for a higher-demand segment of a media file is higher than an expected download demand for a lower-demand segment of the media file, wherein each segment of the media file comprises a non-overlapping time-bounded portion of the media file;

encode each segment of the media file with an encoder that correlates to the expected download demand of the segment by:

encoding the higher-demand segment with a more computationally intensive encoder that produces a more efficiently compressed segment compared to a less computationally intensive encoder that produces a less efficiently compressed segment; and

encoding the lower-demand segment with the less computationally intensive encoder; and

enable streaming of the media file by providing the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file.

14 . The system of claim 13 , wherein the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file are both encoded at a same level of quality.

15 . The system of claim 13 , wherein the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file are both encoded at a same resolution.

16 . The system of claim 13 , wherein predicting that the expected download demand for the higher-demand segment of a media file is higher than the expected download demand for the lower-demand segment of the media file comprises:

predicting that the expected download demand for the higher-demand segment meets a predetermined threshold for high download demand; and

predicting that the expected download demand for the lower-demand segment does not meet the predetermined threshold for high download demand.

17 . The system of claim 13 , wherein predicting the expected download demand for the higher-demand segment of a media file comprises:

identifying a segment type of the higher-demand segment; and

retrieving historical download data for the segment type that indicates that the segment type experiences high download demand.

18 . The system of claim 13 , wherein encoding each segment of the media file with the encoder that correlates to the expected download demand of the segment comprises:

determining a segment type of the segment; and

selecting an encoder that is optimized to encode the segment type.

19 . The system of claim 18 , wherein determining a segment type of the segment comprises determining at least one of:

an amount of change between each video frame of the segment;

a distribution of colors of pixel within each video frame of the segment; or

a type of change between each video frame within the segment.

20 . A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

predict that an expected download demand for a higher-demand segment of a media file is higher than an expected download demand for a lower-demand segment of the media file, wherein each segment of the media file comprises a non-overlapping time-bounded portion of the media file;

encode each segment of the media file with an encoder that correlates to the expected download demand of the segment by:

encoding the higher-demand segment with a more computationally intensive encoder that produces a more efficiently compressed segment compared to a less computationally intensive encoder that produces a less efficiently compressed segment; and

encoding the lower-demand segment with the less computationally intensive encoder; and

enable streaming of the media file by providing the more efficiently compressed encoding of the higher-demand segment of the media file and the less efficiently compressed encoding of the lower-demand segment of the media file.

Assignments (2)
CHANGE OF NAME Recorded Jan 11, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058685/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2021
From: HENRY, COLLEEN KELLY
To: FACEBOOK, INC.
Reel/Frame 056781/0404 →