IP Library Granted Patent US 10,631,024
Granted Patent B2
US 10,631,024 · App. 16/372,111 · Granted Apr 21, 2020

Intelligent video streaming system

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,631,024
App. No.
16/372,111
Granted
Apr 21, 2020
Kind
B2
Abstract

A system for intelligent video streaming a video controller having at least one processor and non-transitory computer readable media having a set of instructions executable by the at least one processor to receive a playback request from a user device for a live stream, determine, from the playback request, whether source streaming content for the live stream is being transcoded, and allocate an available transcoder to transcode the source streaming content. The system further includes a transcoding having at least one processor and non-transitory computer readable media having a set of instructions executable by the at least one processor to join the multicast stream, retrieve the source streaming content, and transcode the source streaming content, and provide transcoded streaming content for delivery to the user device.

Claims (42)

1. A system for intelligent video streaming comprising:

a user device in communication with a service provider network, the user device generating a playback request for a live stream in response to a user selection to view a channel associated with the live stream;

a video controller in communication with the user device and accessible over the service provider network, the video controller comprising:

at least one processor;

non-transitory computer readable media having encoded thereon computer software comprising a set of instructions executable by the at least one processor to:

allocate at least one first transcoder of a pool of transcoders to be continuously active transcoding source streaming content for the live stream based at least in part on an analysis of viewing history of one or more users;

receive, from the user device, the playback request for the live stream;

determine, from the playback request, whether the source streaming content for the live stream is being transcoded on the at least one first transcoder; and

cause, in response to determining that the source streaming content is being transcoded by the at least one first transcoder, the at least one first transcoder from the pool of transcoders to provide the source streaming content to the user device;

wherein the at least one first transcoder of the pool of transcoders further comprises:

at least one processor;

non-transitory computer readable media having encoded thereon a set of instructions executable by the at least one processor to:

transcode the source streaming content for viewing by the user device; and provide transcoded streaming content of the live stream for delivery to the user device.

2. The system of claim 1 , wherein the viewing history of one or more users comprises at least one of one or more commonly watched channels of one or more users or one or more commonly watched live streams of one or more users.

3. The system of claim 1 , wherein allocating at least one first transcoder of the pool of transcoders to be continuously active is based at least in part on a time of day, a day of a week, a specific time range, or a specific date range.

4. The system of claim 1 , wherein allocating at least one first transcoder of the pool of transcoders to be continuously active is based at least in part on viewing requests exceeding a threshold number of requests from the one or more users for one or more particular channels or viewing requests exceeding a threshold number of requests from the one or more users for one or more particular live streams.

5. The system of claim 1 , wherein the video controller further comprises instructions to track how many transcoders of the pool of transcoders are in use.

6. The system of claim 5 , wherein the video controller further comprises instructions to generate an alert if a number of available transcoders in the pool of transcoders falls below a threshold.

7. The system of claim 5 , further comprising at least one transcoder host machine, wherein the pool of transcoders comprise virtualized transcoder instances hosted on the transcoder host machine, wherein the video controller further comprises instructions to dynamically scale the number of virtualized transcoder instances provisioned on the at least one transcoder host machine according to load requirements.

8. The system of claim 1 , wherein the video controller further comprises instructions to assign idle transcoders in the pool of transcoders to transcode at least one of video on demand content or adaptive bitrate streaming content, wherein the idle transcoder is an available transcoder that may be dynamically requested by the video controller.

9. An intelligent video streaming controller comprising:

at least one processor;

non-transitory computer readable media having encoded thereon computer software comprising a set of instructions executable by the at least one processor to:

allocate at least one first transcoder of a pool of transcoders to be continuously active transcoding source streaming content for a live stream based at least in part on an analysis of viewing history of one or more users;

receive, from a user device, a playback request for the live stream;

determine whether the source streaming content for the live stream is being transcoded on the at least one first transcoder; and

based on a determination that the source streaming content for the live stream is being transcoded on the at least one first transcoder, provide, via the at least one first transcoder, transcoded streaming content of the live stream for delivery to the user device.

10. The system of claim 9 , wherein the viewing history of one or more users comprises at least one of one or more commonly watched channels of one or more users or one or more commonly watched live streams of one or more users.

11. The system of claim 9 , wherein allocating at least one first transcoder of the pool of transcoders to be continuously active is based at least in part on a time of day, a day of a week, a specific time range, or a specific date range.

12. The system of claim 9 , wherein allocating at least one first transcoder of the pool of transcoders to be continuously active is based at least in part on viewing requests exceeding a threshold number of requests from the one or more users for one or more particular channels or viewing requests exceeding a threshold number of requests from the one or more users for one or more particular live streams.

13. The video controller of claim 9 , further comprising instructions to return, to the user device, in response to receiving the playback request, a pre-roll video playlist, wherein the pre-roll video playlist indicates one or more videos to be played before the requested stream is provided to the user device.

14. The video controller of claim 9 , further comprising instructions to track how many transcoders of the pool of transcoders are in use.

15. The video controller of claim 14 , further comprising instructions to generate an alert if a number of available transcoders in the pool of transcoders falls below a threshold.

16. The video controller of claim 14 , wherein the pool of transcoders comprise virtualized transcoder instances hosted on a transcoder host machine including the available transcoder, wherein the video controller further comprises instructions to dynamically scale the number of virtualized transcoder instances provisioned on the at least one transcoder host machine according to load requirements.

17. The video controller of claim 9 , further comprising instructions to assign idle transcoders in the pool of transcoders to transcode at least one of video on demand content or adaptive bitrate streaming content, wherein the idle transcoder is an available transcoder that may be dynamically requested by the video controller.

18. A method for intelligent video streaming services comprising:

allocating at least a first transcoder of a pool of transcoders to be continuously active transcoding source streaming content for a live stream based on an analysis of viewing history of one or more users;

receiving, at a video controller, a playback request for a the live stream;

determining whether the source streaming content for the live stream is being transcoded on the at least one first transcoder; and

based on a determination that the source streaming content for the live stream is being transcoded on the at least one first transcoder, providing, via the at least one first transcoder, transcoded streaming content of the live stream for delivery to the user device.

19. The system of claim 18 , wherein the viewing history of one or more users comprises at least one of one or more commonly watched channels of one or more users or one or more commonly watched live streams of one or more users.

20. The system of claim 18 , wherein allocating at least one first transcoder of the pool of transcoders to be continuously active is based at least in part on a time of day, a day of a week, a specific time range, or a specific date range.

Assignments (6)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0073 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0270 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0339 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: CENTURYLINK INTELLECTUAL PROPERTY LLC
To: TIVO CORPORATION
Reel/Frame 057803/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: CASEY, STEVEN M.; KUDTARKAR, MAYUR; PARIKH, NIKHIL; CASTRO, FELIPE
To: CENTURYLINK INTELLECTUAL PROPERTY LLC
Reel/Frame 048786/0952 →