# US 11,899,715 B2 · Deduplication of media files

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,899,715 B2
- Document ID: US11899715B2
- Status: Granted
- Kind: B2
- Application number: 17/819,156
- Filed: 2022-08-11
- Published: 2022-12-01
- Granted: 2024-02-13
- Earliest claimed: 2019-05-13
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Jeffrey Harris; Kenneth Au; Richard Rabbat; Ernestine Fu
- Web page: https://patentgrep.com/patent/US11899715B2

## CPC

- G06F 16/7328: {Query by example, e.g. a complete video frame or video sequence (graphical querying G06F16/7335)}
- G06F 16/9014: {hash tables}
- G06F 16/137: {Hash-based (content-based indexing of textual data G06F16/31)}
- G06F 16/174: Redundancy elimination performed by the file system (error detection or correction of the data by redundancy in operations G06F11/14)
- G06F 16/71: Indexing; Data structures therefor; Storage structures
- G06F 16/738: Presentation of query results
- G06F 16/75: Clustering; Classification
- G06F 16/783: using metadata automatically derived from the content
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method for identifying visually similar media content items from media content items that have been indicated as being candidate matches by being grouped together by identical first segment of a perceptual hash, in a key value database, the method comprising:
receiving a new media content item;
determining at least one perceptual hash for one or more video frames of the new media content item;
partitioning the at least one perceptual hash for the new media content item into segments including a first segment and a second segment;
identifying a group of potential match media content items for the new media content item by comparing the first segment of the at least one perceptual hash for the new 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 new media content item; and
identifying a subset of the group of potential match media content items as matches for the new media content item, 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 new media content item.

### Claim 2 (depends on 1)

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 new 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 new media content item.

### Claim 3 (depends on 2)

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 new media content item satisfying a distance threshold, including the particular media content item in the subset of the group of potential match media content items.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
ranking the subset of the group of potential match media content items according to at least one factor.

### Claim 6 (depends on 1)

The method of claim 1, wherein media content items that have been matched as duplicates are marked as such within a search index, such that media content items marked as duplicates are not included in the subset of the group of potential match media content items.

### Claim 7 (depends on 5)

The method of claim 5, wherein the subset of the group of potential match media content items are ranked according to resolution or quality.

### Claim 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 from media content items that have been indicated as being candidate matches by being grouped together by identical first segment of a perceptual hash, in a key value database, the method comprising:
receiving a new media content item;
determining at least one perceptual hash for one or more video frames of the new media content item;
partitioning the at least one perceptual hash for the new media content item into segments including a first segment and a second segment;
identifying a group of potential match media content items for the new media content item by comparing the first segment of the at least one perceptual hash for the new 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 new media content item; and
identifying a subset of the group of potential match media content items as matches for the new media content item, 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 new media content item.

### Claim 9 (depends on 8)

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 new 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 new media content item.

### Claim 10 (depends on 9)

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 new media content item satisfying a distance threshold, including the particular media content item in the subset of the group of potential match media content items.

### Claim 11 (depends on 8)

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

### Claim 12 (depends on 8)

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 according to at least one factor.

### Claim 13 (depends on 8)

The non-transitory computer readable storage medium of claim 8, wherein media content items that have been matched as duplicates are marked as such within a search index, such that media content items marked as duplicates are not included in the subset of the group of potential match media content items.

### Claim 14 (depends on 12)

The non-transitory computer readable storage medium of claim 12, wherein the subset of the group of potential match media content items are ranked according to resolution or quality.

### Claim 15

A computer system comprising:
a data storage unit; and
a processor coupled with the data storage unit, the processor configured to perform a method for identifying visually similar media content items from media content items that have been indicated as being candidate matches by being grouped together by identical first segment of a perceptual hash, in a key value database, the method comprising:
receiving a new media content item;
determining at least one perceptual hash for one or more video frames of the new media content item;
partitioning the at least one perceptual hash for the new media content item into segments including a first segment and a second segment;
identifying a group of potential match media content items for the new media content item by comparing the first segment of the at least one perceptual hash for the new 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 new media content item; and
identifying a subset of the group of potential match media content items as matches for the new media content item, 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 new media content item.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the new 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 new media content item.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein the comparing the perceptual hashes in the group of potential match media content items with the at least one perceptual hash for the new 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 new media content item.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein media content items that have been matched as duplicates are marked as such within a search index, such that media content items marked as duplicates are not included in the subset of the group of potential match media content items.

### Claim 19 (depends on 15)

The computer system of claim 15, the method further comprising:
ranking the subset of the group of potential match media content items according to at least one factor.

### Claim 20 (depends on 19)

The computer system of claim 19, wherein the subset of the group of potential match media content items are ranked according to resolution or quality.
