IP Library Granted Patent US 11,449,545
Granted Patent B2
US 11,449,545 · App. 15/930,127 · Granted Sep 20, 2022

Deduplication of media file search results

Inventors: Jeffrey Harris (Alberta, CA); Kenneth Au (Edmonton, CA); Richard Rabbat (Palo Alto, CA); Ernestine Fu (Northridge, CA)
Assignee: Snap Inc.
G06F16/7328G06F16/137G06F16/174G06F16/71G06F16/738G06F16/75
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,449,545
App. No.
15/930,127
Granted
Sep 20, 2022
Kind
B2
Abstract

In a method for identifying visually similar media content items, perceptual hashes for video frames of media content items are received. The perceptual hashes are compared for at least a portion of video frames. Based on the comparing the perceptual hashes for at least a portion of video frames, it is determined whether media content items are matching. The media content items indicated as matching are grouped.

Claims (54)

1. A method for identifying visually similar media content items, the method comprising:

receiving perceptual hashes for video frames of media content items;

partitioning each of the perceptual hashes into segments including a first segment and a second segment;

comparing the first segments of the perceptual hashes for at least a portion of video frames;

determining, based on the comparing the first segments of the perceptual hashes for at least a portion of video frames, that media content items having perceptual hashes with identical first segments are candidate matches;

grouping media content items indicated as being candidate matches together by first segment in a key value database;

receiving a search query comprising a search query media content item; determining at least one perceptual hash for one or more video frames of the search query media content item;

partitioning the at least one perceptual hash for the search query media content item into segments including a first segment and a second segment;

identifying a group of potential match media content items for the search query media content item by comparing the first segment of the at least one perceptual hash for the search query media content item with the key value database;

comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the search query media content item; and

providing a subset of the group of potential match media content items as search results in response to the search query, based on the comparison between the perceptual hashes of the group of potential match media content items with the at least one perceptual hash for the search query media content item.

2. The method of claim 1 , wherein the comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the search query media content item comprises:

determining distances between the perceptual hashes in the group of potential match media content items and the at least one perceptual hash for the search query media content item.

3. The method of claim 2 , further comprising:

based on a distance between the perceptual hash of a particular media content item in the group of potential match media content items and the at least one perceptual hash for the search query media content item satisfying a distance threshold, including the particular media content item as search results in the subset of the group of potential match media content items.

4. The method of claim 1 , wherein the media content items are stored within a media content item library.

5. The method of claim 1 , further comprising:

ranking the subset of the group of potential match media content items in the search results according to at least one factor.

6. The method of claim 1 , wherein the grouping the media content items indicated as matching comprises:

marking media content items that are matching as duplicates within a search index, such that media content items marked as duplicates are not included in the search results.

7. The method of claim 5 , wherein the search results are ranked according to resolution or quality.

8. A non-transitory computer readable storage medium having computer readable program code stored thereon for causing a computer system to perform a method for identifying visually similar media content items, the method comprising:

receiving perceptual hashes for video frames of media content items;

partitioning each of the perceptual hashes into segments including a first segment and a second segment;

scanning the first segments of the perceptual hashes of the media content items to identify media content items having perceptual hashes with identical first segments as candidate matches;

grouping media content items indicated as being candidate matches together by first segment in a key value database;

receiving a search query comprising a search query media content item;

determining at least one perceptual hash for one or more video frames of the search query media content item;

partitioning the at least one perceptual hash for the search query media content item into segments including a first segment and a second segment;

identifying a group of potential match media content items for the search query media content item by comparing the first segment of the at least one perceptual hash for the search query media content item with the key value database;

comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the search query media content item; and

providing a subset of the group of potential match media content items as search results in response to the search query, based on the comparison between the perceptual hashes of the group of potential match media content items with the at least one perceptual hash for the search query media content item.

9. The non-transitory computer readable storage medium of claim 8 , wherein the comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the search query media content item comprises:

determining distances between the perceptual hashes in the group of potential match media content items and the at least one perceptual hash for the search query media content item.

10. The non-transitory computer readable storage medium of claim 9 , wherein the method further comprises:

based on a distance between the perceptual hash of a particular media content item in the group of potential match media content items and the at least one perceptual hash for the search query media content item satisfying a distance threshold, including the particular media content item as search results in the subset of the group of potential match media content items.

11. The non-transitory computer readable storage medium of claim 8 , wherein the media content items are stored within a media content item library.

12. The non-transitory computer readable storage medium of claim 8 , the method further comprising:

ranking the subset of the group of potential match media content items in the search results according to at least one factor.

13. The non-transitory computer readable storage medium of claim 8 , wherein the grouping the media content items indicated as matching comprises:

marking media content items that are matching as duplicates within a search index, such that media content items marked as duplicates are not included in the search results.

14. A computer system comprising:

a data storage unit; and

a processor coupled with the data storage unit, the processor configured to:

receive perceptual hashes for video frames of media content items;

partition each of the perceptual hashes into segments including a first segment and a second segment;

scan the first segments of the perceptual hashes of the media content items to identify media content items having perceptual hashes with identical first segments as candidate matches;

group media content items indicated as being candidate matches together by first segment in a key value database;

receive a search query comprising a search query media content item;

determine at least one perceptual hash for one or more video frames of the search query media content item;

partition the at least one perceptual hash for the search query media content item into segments including a first segment and a second segment;

identify a group of potential match media content items for the search query media content item by comparing the first segment of the at least one perceptual hash for the search query media content item with the key value database;

compare the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the search query media content item; and

provide a subset of the group of potential match media content items as search results in response to the search query, based on the comparison between the perceptual hashes of the group of potential match media content items with the at least one perceptual hash for the search query media content item.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2022
From: GFYCAT, INC.
To: SNAP INC.
Reel/Frame 060760/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: HARRIS, JEFFREY; AU, KENNETH; RABBAT, RICHARD; FU, ERNESTINE
To: GFYCAT, INC.
Reel/Frame 052640/0715 →
Continuity (2)
Provisional Application 62847204 · May 13, 2019
Related Publication 20200364262A1 · Nov 19, 2020