IP Library Granted Patent US 9,607,223
Granted Patent B2
US 9,607,223 · App. 14/682,425 · Granted Mar 28, 2017

Systems and methods for defining and analyzing video clusters based on video image frames

Inventor: Ladislav Prosek (Redmond, WA)
Assignee: Facebook, Inc.
G06K9/00718G06K9/00758G06K9/6218
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 9,607,223
App. No.
14/682,425
Granted
Mar 28, 2017
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can identify a first video represented based on a first set of image frames. A first subset of image frames can be extracted from the first set of image frames. The first subset of image frames can be compared to one or more image frames associated with a collection of video clusters. It can be determined that at least a threshold quantity of image frames in the first subset matches, within an allowable deviation, at least some image frames associated with a first video cluster included the collection of video clusters. The first video cluster can be defined to include the first video.

Claims (74)

1. A computer-implemented method comprising:

identifying, by a computing system, a first video represented based on a first set of image frames;

extracting, by the computing system, a first subset of image frames from the first set of image frames;

comparing, by the computing system, the first subset of image frames to one or more image frames associated with a collection of video clusters;

determining, by the computing system, that at least a threshold quantity of image frames in the first subset matches, within an allowable deviation, at least some image frames associated with a first video cluster included the collection of video clusters;

defining, by the computing system, the first video cluster to include the first video; and

storing, by the computing system, a second subset of image frames associated with a second video into a data store based on a determination that less than the threshold quantity of image frames in the second subset of image frames matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters.

2. The computer-implemented method of claim 1 , wherein the storing the second subset of image frames associated with the second video into a data store further comprises:

identifying a second video represented based on a second set of image frames;

extracting a second subset of image frames from the second set of image frames;

comparing the second subset of image frames to the one or more image frames associated with the collection of video clusters;

determining that less than the threshold quantity of image frames in the second subset matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters; and

storing, at least temporarily, the second subset of image frames associated with the second video into a data store.

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

comparing the second subset of image frames associated with the second video to a third subset of image frames stored, at least temporarily, in the data store, wherein the third subset of image frames is extracted from a third set of image frames associated with a third video;

determining that at least a threshold number of image frames in the second subset matches, within the allowable deviation, at least some image frames in the third subset of image frames associated with the third video;

associating the second video with a group of videos including the third video;

determining that the group of videos includes at least a specified minimum number of videos; and

defining a second video cluster to include the second video and the third video.

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

selecting a fourth set of image frames to represent the second video cluster; and

extracting a fourth subset of image frames from the fourth set of image frames, wherein each of a first quantity of image frames in the first subset, a second quantity of image frames in the second subset, and a third quantity of image frames in the third subset is less than a fourth quantity of image frames in the fourth subset.

5. The computer-implemented method of claim 1 , wherein the at least some image frames associated with the first video cluster includes at least a portion of image frames in a second subset of image frames extracted from a second set of image frames representing the first video cluster, and wherein a first quantity of image frames in the first subset is less than a second quantity of image frames in the second subset.

6. The computer-implemented method of claim 1 , wherein comparing the first subset of image frames to the one or more image frames associated with the collection of video clusters further comprises applying one or more image analysis processes to the first subset of image frames.

7. The computer-implemented method of claim 6 , wherein the one or more image analysis processes is associated with at least one of an image hashing algorithm, an image fingerprinting algorithm, an image classification algorithm, or an image clustering algorithm.

8. The computer-implemented method of claim 1 , wherein each image frame in the first set of image frames and the at least some image frames are representable by one or more hash values.

9. The computer-implemented method of claim 1 , wherein each image frame in the first subset of image frames is extracted, from the first set of image frames, at a respectively specified time interval.

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

receiving a request to upload the first video, wherein the first video is identified based on the request to upload the first video; and

providing, subsequent to receiving the request to upload the first video, at least one of 1) a decrease in a relevance ranking of the first video for presentation via a feed or 2) a connection to the first video cluster.

11. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

identifying a first video represented based on a first set of image frames;

extracting a first subset of image frames from the first set of image frames;

comparing the first subset of image frames to one or more image frames associated with a collection of video clusters;

determining that at least a threshold quantity of image frames in the first subset matches, within an allowable deviation, at least some image frames associated with a first video cluster included the collection of video clusters;

defining the first video cluster to include the first video; and

storing a second subset of image frames associated with a second video into a data store based on a determination that less than the threshold quantity of image frames in the second subset of image frames matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters.

12. The system of claim 11 , wherein the storing the second subset of image frames associated with the second video into a data store further comprises:

identifying a second video represented based on a second set of image frames;

extracting a second subset of image frames from the second set of image frames;

comparing the second subset of image frames to the one or more image frames associated with the collection of video clusters;

determining that less than the threshold quantity of image frames in the second subset matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters; and

storing, at least temporarily, the second subset of image frames associated with the second video into a data store.

13. The system of claim 12 , wherein the instructions cause the system to further perform:

comparing the second subset of image frames associated with the second video to a third subset of image frames stored, at least temporarily, in the data store, wherein the third subset of image frames is extracted from a third set of image frames associated with a third video;

determining that at least a threshold number of image frames in the second subset matches, within the allowable deviation, at least some image frames in the third subset of image frames associated with the third video;

associating the second video with a group of videos including the third video;

determining that the group of videos includes at least a specified minimum number of videos; and

defining a second video cluster to include the second video and the third video.

14. The system of claim 11 , wherein comparing the first subset of image frames to the one or more image frames associated with the collection of video clusters further comprises applying one or more image analysis processes to the first subset of image frames.

15. The system of claim 14 , wherein the one or more image analysis processes is associated with at least one of an image hashing algorithm, an image fingerprinting algorithm, an image classification algorithm, or an image clustering algorithm.

16. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform:

identifying a first video represented based on a first set of image frames;

extracting a first subset of image frames from the first set of image frames;

comparing the first subset of image frames to one or more image frames associated with a collection of video clusters;

determining that at least a threshold quantity of image frames in the first subset matches, within an allowable deviation, at least some image frames associated with a first video cluster included the collection of video clusters;

defining the first video cluster to include the first video; and

storing a second subset of image frames associated with a second video into a data store based on a determination that less than the threshold quantity of image frames in the second subset of image frames matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the storing the second subset of image frames associated with the second video into a data store further comprises:

identifying a second video represented based on a second set of image frames;

extracting a second subset of image frames from the second set of image frames;

comparing the second subset of image frames to the one or more image frames associated with the collection of video clusters;

determining that less than the threshold quantity of image frames in the second subset matches, within the allowable deviation, the one or more image frames associated with the collection of video clusters; and

storing, at least temporarily, the second subset of image frames associated with the second video into a data store.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions cause the system to further perform:

comparing the second subset of image frames associated with the second video to a third subset of image frames stored, at least temporarily, in the data store, wherein the third subset of image frames is extracted from a third set of image frames associated with a third video;

determining that at least a threshold number of image frames in the second subset matches, within the allowable deviation, at least some image frames in the third subset of image frames associated with the third video;

associating the second video with a group of videos including the third video;

determining that the group of videos includes at least a specified minimum number of videos; and

defining a second video cluster to include the second video and the third video.

19. The non-transitory computer-readable storage medium of claim 16 , wherein comparing the first subset of image frames to the one or more image frames associated with the collection of video clusters further comprises applying one or more image analysis processes to the first subset of image frames.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the one or more image analysis processes is associated with at least one of an image hashing algorithm, an image fingerprinting algorithm, an image classification algorithm, or an image clustering algorithm.

Assignments (2)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058235/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: PROSEK, LADISLAV
To: FACEBOOK, INC.
Reel/Frame 035493/0348 →
Continuity (1)
Related Publication 20160300110A1 · Oct 13, 2016