IP Library Granted Patent US 10,440,367
Granted Patent B1
US 10,440,367 · App. 15/997,388 · Granted Oct 8, 2019

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 Inc.
H04N19/146H04N19/12H04N19/184H04N19/40H04N19/70
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 10,440,367
App. No.
15/997,388
Granted
Oct 8, 2019
Kind
B1
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 (41)

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

routing a video stream from a signal extractor 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, each profile of the first plurality of profiles associated with a different bitrate;

instantiating a second virtual encoder on the cloud platform in response to a decrease in viewer count, a schedule of content associated with the video stream, and a characteristic of content associated with the video stream; and

routing the video stream from the signal extractor 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, each profile of the second plurality of profiles associated with a different bitrate, 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 at least one of a change in viewer count, a schedule of content associated with the video stream, and a characteristic of content associated with the video stream.

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, the instructions, when executed by a computing system, cause the computing system to:

route a video stream from a signal extractor 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, each profile of the first plurality of profiles associated with a different at a first bitrate;

instantiate a second virtual encoder on the cloud platform in response to a decrease in viewer count, a schedule of content associated with the video stream, and a characteristic of content associated with the video stream; and

route the video stream from the signal extractor 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, each profile of the second plurality of profiles associated with a different bitrate, 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 at least one of a change in viewer count, a schedule of content associated with the video stream, and a characteristic of content associated with the video stream.

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 system to:

route a video stream from a signal extractor 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, each profile of the first plurality of profiles associated with a different bitrate;

instantiate a second virtual encoder on the cloud platform in response to a decrease in viewer count, a schedule of content associated with the video stream, and a characteristic of content associated with the video stream; and

route the video stream from the signal extractor 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, each profile of the second plurality of profiles associated with a different bitrate, 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 change 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 (6)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 047811/0020 Recorded May 13, 2021
From: AMC NETWORKS VENTURES LLC, AS COLLATERAL AGENT
To: FUBOTV MEDIA, INC.(F/K/A FUBOTV INC.)
Reel/Frame 056226/0588 →
CHANGE OF NAME Recorded Sep 9, 2020
From: FUBO TV INC.
To: FUBO TV MEDIA INC.
Reel/Frame 053741/0308 →
CHANGE OF NAME Recorded Sep 9, 2020
From: FUBOTV INC.
To: FUBOTV MEDIA INC.
Reel/Frame 053743/0419 →
SECURITY INTEREST Recorded Dec 18, 2018
From: FUBOTV INC.
To: AMC NETWORKS VENTURES LLC
Reel/Frame 047811/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2018
From: CHOI, SUNG HO; SYMBORSKI, THOMAS; TRETIN, MATTHEW
To: FUBOTV INC.
Reel/Frame 046711/0675 →
Cited By (1)
US 12,676,906