IP Library Granted Patent US 11,218,703
Granted Patent B2
US 11,218,703 · App. 16/577,481 · Granted Jan 4, 2022

Systems and methods for adaptively encoding video stream

Inventors: Sung Ho Choi (New York, NY); Thomas Symborski (New York, NY); Matthew Tretin (New York, NY)
Assignee: FuboTV Media Inc.
H04N19/146H04N19/12H04N19/184H04N19/40H04N21/2343H04N21/23439H04N21/24H04N21/25841H04N21/25858H04N21/25883H04N21/25891H04N21/2662H04N21/4402H04N21/44029H04N21/44209H04N21/44213H04N21/4532H04N21/4621H04N21/6582H04N21/8456H04N19/70H04N21/234309H04N21/440218
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,218,703
App. No.
16/577,481
Granted
Jan 4, 2022
Kind
B2
Abstract

The disclosed technology relates to adaptively encoding a video stream based on viewer engagement, content schedule and/or content characteristics. A system routes a video stream from a signal extractor to a first virtual encoder. The first virtual encoder is instantiated on a cloud platform and provides a first video output at a first bitrate. A second virtual encoder is instantiated on the cloud platform in response to a change in viewer count. The system routes the video stream from the signal extractor to the second virtual encoder. The second virtual encoder provides a second video output at a second bitrate. The second bitrate is different from the first bitrate.

Claims (40)

1. A computer-implemented method for providing adaptive video encoding, comprising:

routing a video stream to a first virtual encoder, wherein the first virtual encoder is instantiated on a cloud platform and configured to provide a first video output associated with a first plurality of profiles;

instantiating a second virtual encoder on the cloud platform in response to a decrease in viewer count; and

routing the video stream to the second virtual encoder, wherein the second virtual encoder is configured to provide a second video output associated with a second plurality of profiles, wherein a number of profiles of the second plurality of profiles is less than a number of profiles of the first plurality of profiles.

2. The computer-implemented method of claim 1 , wherein instantiating the second virtual encoder is further based on a predicted decrease in viewer count.

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

transitioning a subset of client devices of a plurality of client devices connected to the first virtual encoder, to the second virtual encoder;

confirming the subset of client devices receive the second video output from the second virtual encoder; and

transitioning a remaining set of client devices of the plurality of client devices connected to the first virtual encoder, to the second virtual encoder, wherein the remaining set of client devices do not include client devices from the first subset of client devices.

4. The computer-implemented method of claim 3 , further comprising disconnecting the video stream from the first virtual encoder after the remaining set of client devices of the plurality of client devices are connected to the second virtual encoder.

5. The computer-implemented method of claim 1 , further comprising instantiating a third virtual encoder on the cloud platform in response to a change in viewer count.

6. The computer-implemented method of claim 1 , further comprising collecting viewer data from a client device receiving the second video output.

7. The computer-implemented method of claim 6 , wherein the viewer data comprises at least one of a device type, an operating system, a network connection and a geographic location of the client device.

8. A non-transitory computer-readable medium comprising instructions stored therein, the instructions, when executed by a computing system, cause the computing system to:

route a video stream to a first virtual encoder, wherein the first virtual encoder is instantiated on a cloud platform and configured to provide a first video output associated with a first plurality of profiles;

instantiate a second virtual encoder on the cloud platform in response to a decrease in viewer count; and

route the video stream to the second virtual encoder, wherein the second virtual encoder is configured to provide a second video output associated with a second plurality of profiles, wherein a number of profiles of the second plurality of profiles is less than a number of profiles of the first plurality of profiles.

9. The non-transitory computer-readable medium of claim 8 , wherein the instructions further cause the computing system to instantiate the second virtual encoder based on a predicted decrease in viewer count.

10. The non-transitory computer-readable medium of claim 8 , wherein the instructions further cause the computing system to:

transition a subset of client devices of a plurality of client devices connected to the first virtual encoder, to the second virtual encoder;

confirm the subset of client devices receive the second video output from the second virtual encoder; and

transition a remaining set of client devices of the plurality of client devices connected to the first virtual encoder, to the second virtual encoder, wherein the remaining set of client devices do not include client devices from the first subset of client devices.

11. The non-transitory computer-readable medium of claim 10 , wherein the instructions further cause the computing system to disconnect the video stream from the first virtual encoder after the remaining set of client devices of the plurality of client devices are connected to the second virtual encoder.

12. The non-transitory computer-readable medium of claim 8 , wherein the instructions further cause the computing system to instantiate a third virtual encoder on the cloud platform in response to a change in viewer count.

13. The non-transitory computer-readable medium of claim 8 , wherein the instructions further cause the computing system to collect viewer data from a client device receiving the second video output.

14. The non-transitory computer-readable medium of claim 13 , wherein the viewer data comprises at least one of a device type, an operating system, a network connection and a geographic location of the client device.

15. A system comprising:

a processor; and

a non-transitory computer-readable medium storing instructions that, when executed by the system, cause the processor to:

route a video stream to a first virtual encoder, wherein the first virtual encoder is instantiated on a cloud platform and configured to provide a first video output associated with a first plurality of profiles;

instantiate a second virtual encoder on the cloud platform in response to a decrease in viewer count; and

route the video stream to the second virtual encoder, wherein the second virtual encoder is configured to provide a second video output associated with a second plurality of profiles, wherein a number of profiles of the second plurality of profiles is less than a number of profiles of the first plurality of profiles.

16. The system of claim 15 , wherein the instructions further cause the system to instantiate the second virtual encoder based on a predicted decrease in viewer count.

17. The system of claim 15 , wherein the instructions further cause the system to:

transition a subset of client devices of a plurality of client devices connected to the first virtual encoder, to the second virtual encoder;

confirm the subset of client devices receive the second video output from the second virtual encoder; and

transition a remaining set of client devices of the plurality of client devices connected to the first virtual encoder, to the second virtual encoder, wherein the remaining set of client devices do not include client devices from the first subset of client devices.

18. The system of claim 17 , wherein the instructions further cause the system to disconnect the video stream from the first virtual encoder after the remaining set of client devices of the plurality of client devices are connected to the second virtual encoder.

19. The system of claim 15 , wherein the instructions further cause the system to collect viewer data from a client device receiving the second video output.

20. The system of claim 19 , wherein the viewer data comprises at least one of a device type, an operating system, a network connection and a geographic location of the client device.

Assignments (5)
SECURITY INTEREST Recorded Jan 2, 2024
From: FUBOTV MEDIA INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 065998/0362 →
SECURITY INTEREST Recorded Sep 15, 2020
From: FUBOTV MEDIA INC.
To: AMC NETWORKS VENTURES LLC, AS COLLATERAL AGENT
Reel/Frame 053777/0557 →
CHANGE OF NAME Recorded Sep 9, 2020
From: FUBO TV INC.
To: FUBO TV MEDIA INC.
Reel/Frame 053741/0360 →
CHANGE OF NAME Recorded Sep 9, 2020
From: FUBOTV INC.
To: FUBOTV MEDIA INC.
Reel/Frame 053743/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2019
From: CHOI, SUNG HO; SYMBORSKI, THOMAS; TRETIN, MATTHEW
To: FUBOTV INC.
Reel/Frame 051178/0464 →
Continuity (2)
Continuation 15997388 · Jun 4, 2018
Related Publication 20200092562A1 · Mar 19, 2020