IP Library Granted Patent US 10,165,245
Granted Patent B2
US 10,165,245 · App. 13/934,446 · Granted Dec 25, 2018

Pre-fetching video content

Inventor: Christopher Douglas Hayes (Boulder, CO)
Assignee: KALTURA, INC.
H04N9/87G11B20/10527G11B27/105H04N5/76H04N21/4331H04N21/442H04N21/4622H04N21/47202H04N21/8456
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,165,245
App. No.
13/934,446
Granted
Dec 25, 2018
Kind
B2
Abstract

A computing device plays at least one first video content segment. The video content segment may be a portion of an interactive video content sequence including multiple segments that may each be selected during play of one or more of the other segments. The computing device determines one or more second video content segments that are associated with the first video content segment. Such determination may be made by analyzing information describing an interactive video content sequence of which the video content segment is a part. The computing device attempts to load one or more second video content segments. In this way, play of the video content segments may reduce and/or avoid delays in changing the video content being played.

Claims (53)

1. A system for pre-fetching video content, comprising:

at least one processing unit; and

at least one non-transitory storage medium storing instructions;

wherein the at least one processing unit executes the instructions to:

play at least one first video content segment, the first video content segment being a member of a set of video content segments that together define an interactive video, the interactive video including a predetermined information structure that defines relationships between the video content segments of the interactive video including, for each particular video content segment in the set of video content segments, a subset of video content segments that are selectable from the particular video content segment through a selection mechanism that is presented and enabled at a particular point during a display of the particular video content segment, wherein the relationships defined by the information structure are independent of user selections made through the selection mechanism;

determine, based on the predetermined information structure, at least one second video content segment is associated with the at least one first video content segment, the at least one second video content segment being a member of the set of video content segments that together define the interactive video;

determine, based on the predetermined information structure, that the at least one second video is a member of the subset of video content segments that are selectable from the first video content segment through the selection mechanism; and

in response to determining that the at least one second video is selectable from the first video content segment, attempt to load the at least one second video content segment during play of the first video content segment.

2. The system of claim 1 , wherein the at least one processing unit determines the at least one second video content segment is associated with the at least one first video content segment by analyzing information that describes the interactive video content sequence.

3. The system of claim 2 , wherein the information is at least one of:

separate from the at least one first video content segment and the at least one second video content segment; or

embedded in the at least one first video content segment.

4. The system of claim 1 , wherein the at least one second video content segment comprises a plurality of video content segments that are each associated with the at least one first video content segment.

5. The system of claim 4 , wherein the at least one processing unit attempts to load the plurality of video content segments according to a priority scheme.

6. The system of claim 5 , wherein the priority scheme specifies to load a first of the plurality of video content segments before loading a second of the plurality of video content segments.

7. The system of claim 5 , wherein the priority scheme specifies to give preference to loading of a first of the plurality of video content segments over loading of a second of the plurality of video content segments.

8. The system of claim 4 , wherein the priority scheme is at least based on at least one of:

statistical information regarding selection of at least one of the plurality of video content segments;

a size of at least one of the plurality of video content segments; or

an estimated load time of at least one of the plurality of video content segments.

9. The system of claim 4 , wherein the processing unit further:

plays a first video content segment of the plurality of video content segments; and

determines whether to retain other video content segments of the plurality of video content segments.

10. The system of claim 9 , wherein the processing unit determines to retain at least a first of the other video content segments because the first of the other video content segments is fully loaded.

11. The system of claim 9 , wherein the processing unit determines not to retain at least a first of the other video content segments because at least one of:

the first of the other video content segments is not fully loaded;

available storage for video content segments is below a threshold; or

the first of the other video content segments is not selectable from the first video content segment of the plurality of video content segments.

12. The system of claim 9 , wherein the at least one processing unit:

determines not to retain at least a first of the other video content segments that is not fully loaded; and

ceases loading the first of the other video content segments.

13. The system of claim 4 , wherein the plurality of video content segments are each associated with the at least one first video content segment because each of the plurality of video content segments are selectable from at least one of the at least one first video content segment or at least one other of the plurality of video content segments.

14. The system of claim 4 , wherein the plurality of video content segments are a subset of video content segments that are associated with the at least one first video content segment and the processing unit selects the plurality of video content segments as the subset based at least on:

available storage;

available communication bandwidth;

statistical information regarding selection of at least one of the video content segments.

15. The system of claim 1 , wherein attempting to load the at least one second video content segment comprises attempting to move the at least one second video content segment into a cache.

16. The system of claim 1 , further comprising playing the at least one second video content after selecting the at least one second video content from the at least one first video content for loading, wherein the at least one second video content segment is associated with the at least one first video content segment because the at least one second video content segment is selectable from the at least one first video content segment.

17. The system of claim 1 , wherein the processing unit further:

plays the at least one second video content segment;

determines at least one third video content segment is associated with the at least one second video content segment; and

attempts to load the at least one third video content segment.

18. A method for pre-fetching video content, comprising:

playing at least one first video content segment utilizing at least one processing unit, the first video content segment being a member of a set of video content segments that together define an interactive video content sequence, the interactive video content sequence including a predetermined information structure that defines relationships between the video content segments of the interactive video including, for each particular video content segment in the set of video content segments, a subset of video content segments that are selectable from the particular video content segment through a selection mechanism that is presented and enabled at a particular point during a display of the particular video content segment, wherein the relationships defined by the information structure are independent of user selections made through the selection mechanism;

determining, based on the predetermined information structure and utilizing the at least one processing unit, at least one second video content segment is associated with the at least one first video content segment, the at least one second video content segment being a member of the set of video content segments that together define the interactive video;

determining, based on the predetermined information structure and utilizing the at least one processing unit, that the at least one second video is a member of the subset of video content segments that are selectable from the first video content segment through the selection mechanism; and

in response to determining that the at least one second video is selectable from the at least one first video, attempting to load the at least one second video content segment utilizing the at least one processing unit during play of the first video content segment.

19. The system of claim 1 , wherein the processing unit attempts to load the at least one second video content segment before the at least one second video is selected through the selection mechanism.

20. A computer program product, comprising:

a first set of instructions, stored in at least one non-transitory storage medium, executable by at least one processing unit to play at least one first video content segment, the first video content segment being a member of a set of video content segments that together define an interactive video content sequence, the interactive video content sequence including a predetermined information structure that defines relationships between the video content segments of the interactive video including, for each particular video content segment in the set of video content segments, a subset of video content segments that are selectable from the particular video content segment through a selection mechanism that is presented and enabled at a particular point during a display of the particular video content segment, wherein the relationships defined by the information structure are independent of user selections made through the selection mechanism;

a second set of instructions, stored in the at least one non-transitory storage medium, executable by the at least one processing unit to determine, based on the predetermined information structure, at least one second video content segment is associated with the at least one first video content segment, the at least one second video content segment being a member of the set of video content segments that together define the interactive video

a third set of instructions, stored in the at least one non-transitory storage medium, executable by the at least one processing unit to determine, based on the predetermined information structure, that the at least one second video is a member of the subset of video content segments that are selectable from the first video content segment through the selection mechanism; and

a fourth set of instructions, stored in the at least one non-transitory storage medium, executable by the at least one processing unit to attempt to load the at least one second video content segment in response to determining that the at least one second video is selectable from the at least one first video during play of the first video content segment.

Assignments (7)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (RELEASES RF 052638/0892) Recorded Jan 22, 2021
From: ORIX GROWTH CAPITAL, LLC (F/K/A ORIX VENTURE FINANCE LLC AND ORIX VENTURE FINANCE, LC)
To: KALTURA, INC.
Reel/Frame 055085/0501 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 14, 2021
From: KALTURA, INC.; KALTURA EUROPE LIMITED
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 054994/0216 →
SECURITY INTEREST Recorded May 12, 2020
From: KALTURA, INC.; NEWROW, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 052638/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2018
From: RAPT MEDIA, INC.
To: KALTURA, INC.
Reel/Frame 045779/0146 →
SECURITY INTEREST Recorded Apr 5, 2017
From: RAPT MEDIA, INC.
To: SILICON VALLEY BANK
Reel/Frame 041861/0383 →
CHANGE OF NAME Recorded Aug 20, 2013
From: FLIXMASTER, INC.
To: RAPT MEDIA, INC.
Reel/Frame 031049/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2013
From: HAYES, CHRISTOPHER DOUGLAS
To: FLIXMASTER, INC.
Reel/Frame 030944/0086 →
Continuity (3)
Provisional Application 61813531 · Apr 18, 2013
Provisional Application 61668931 · Jul 6, 2012
Related Publication 20140010519A1 · Jan 9, 2014