IP Library Granted Patent US 11,783,583
Granted Patent B2
US 11,783,583 · App. 17/817,218 · Granted Oct 10, 2023

System and method for digital fingerprinting of media content

Inventors: Olivier Hillman Beauchesne (Montreal, CA); Bertrand Chapleau (Montreal, CA); Jordan Pleet (Montreal, CA); Jose Maria Mateos Perez (Montreal, CA)
Assignee: 9219-1568 Quebec Inc.
G06V20/46G06V10/761G06V20/49G06V40/169G06V40/172G06V2201/07
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,783,583
App. No.
17/817,218
Granted
Oct 10, 2023
Kind
B2
Abstract

Systems, methods, and computer-readable storage media for digital fingerprinting of media content. The system does this by normalizing and pre-processing the media content into a standard format, then generating fingerprints for image, audio, and/or video aspects of the media. These fingerprints are mathematical vectors generated using one or more techniques, such as perceptual hashes coupled with machine learning. Once the fingerprints for new content is generated, the system can compare those fingerprints to fingerprints of known content to determine if the new content contains prohibited content.

Claims (58)

1. A method comprising:

training, via at least one processor of a computer system, a convolutional neural network (CNN) model such that the CNN model can receive an image as an input and output a vector fingerprint of the image, wherein the training of the CNN model comprises repeatedly:

receiving a training image and a non-training image;

generating, via the at least one processor executing the CNN model on the training image, a first fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the training image, a second fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the non-training image, a third fingerprint; and

modifying, via the at least one processor, the CNN model such that a first comparison between the first fingerprint and the second fingerprint are more similar than the first fingerprint and the third fingerprint,

until modifications to the CNN model cease to create additional differences between the second fingerprint and the third fingerprint;

receiving media comprising video;

executing the CNN model using the video as input, resulting in a plurality of vector fingerprints corresponding to frames of the video;

comparing, via the at least one processor, the plurality of vector fingerprints against stored video fingerprints, resulting in candidate matches within a distance threshold;

filtering, via the at least one processor, the candidate matches based on temporal coherence with the plurality of vector fingerprints, resulting in temporal coherence filtered matches; and

presenting, via a display, the temporal coherence filtered matches.

2. The method of claim 1 , wherein the transformed copy of the training image and the transformed copy of the non-training image are created using a transformation, wherein the transformation is randomly selected from a plurality of transformations.

3. The method of claim 2 , wherein the plurality of transformations comprise: cropping, padding, rotating, flipping, and a color change.

4. The method of claim 1 , further comprising:

receiving, at the computer system from a user, a selection of at least one of the temporal coherence filtered matches, the selection indicating the media matches known media corresponding to at least one of the stored video fingerprints.

5. The method of claim 1 , wherein the distance threshold is based on a Hamming distance between the plurality of vector fingerprints and the stored video fingerprints.

6. The method of claim 1 , wherein the distance threshold is based on at least one of a weighted correlation distance, a quadratic form distance, and a Hausdorff distance between the plurality of vector fingerprints and the stored video fingerprints.

7. A system, comprising:

at least one processor; and

a non-transitory computer-readable storage medium having instructions stored which, when executed by the at least one processor, causes the at least one processor to perform operations comprising:

training a convolutional neural network (CNN) model such that the CNN model can receive an image as an input and output a vector fingerprint of the image by repeatedly:

receiving a training image and a non-training image;

generating, via the at least one processor executing the CNN model on the training image, a first fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the training image, a second fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the non-training image, a third fingerprint; and

modifying, via the at least one processor, the CNN model such that a first comparison between the first fingerprint and the second fingerprint are more similar than the first fingerprint and the third fingerprint,

until modifications to the CNN model cease to create additional differences between the second fingerprint and the third fingerprint.

8. The system of claim 7 , wherein the transformed copy of the training image and the transformed copy of the non-training image are created using a transformation, wherein the transformation is randomly selected from a plurality of transformations.

9. The system of claim 8 , wherein the plurality of transformations comprise: cropping, padding, rotating, flipping, and a color change.

10. The system of claim 7 , the non-transitory computer-readable storage medium having additional instructions stored which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving media comprising video;

executing the CNN model using the video as input, resulting in a plurality of vector fingerprints corresponding to frames of the video;

comparing, via the at least one processor, the plurality of vector fingerprints against stored video fingerprints, resulting in candidate matches within a distance threshold;

filtering the candidate matches based on temporal coherence with the plurality of vector fingerprints, resulting in temporal coherence filtered matches; and

presenting, via a display, the temporal coherence filtered matches.

11. The system of claim 10 , wherein the distance threshold is based on a Hamming distance between the plurality of vector fingerprints and the stored video fingerprints.

12. The system of claim 10 , wherein the distance threshold is based on at least one of a weighted correlation distance, a quadratic form distance, and a Hausdorff distance between the plurality of vector fingerprints and the stored video fingerprints.

13. A non-transitory computer-readable storage medium having instructions stored which, when executed by at least one processor, cause the at least one processor to perform operations comprising:

training a convolutional neural network (CNN) model such that the CNN model can receive an image as an input and output a vector fingerprint of the image, wherein the training of the CNN model comprises repeatedly:

receiving a training image and a non-training image;

generating, via the at least one processor executing the CNN model on the training image, a first fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the training image, a second fingerprint;

generating, via the at least one processor executing the CNN model on a transformed copy of the non-training image, a third fingerprint; and

modifying, via the at least one processor, the CNN model such that a first comparison between the first fingerprint and the second fingerprint are more similar than the first fingerprint and the third fingerprint,

until modifications to the CNN model cease to create additional differences between the second fingerprint and the third fingerprint;

receiving media comprising video;

executing the CNN model using the video as input, resulting in a plurality of vector fingerprints corresponding to frames of the video;

comparing the plurality of vector fingerprints against stored video fingerprints, resulting in candidate matches within a distance threshold;

filtering the candidate matches based on temporal coherence with the plurality of vector fingerprints, resulting in temporal coherence filtered matches; and

presenting, via a display, the temporal coherence filtered matches.

14. The non-transitory computer-readable storage medium of claim 13 , having additional instructions stored which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving, from a user, a selection of at least one of the temporal coherence filtered matches, the selection indicating the media matches known media corresponding to at least one of the stored video fingerprints.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the distance threshold is based on a Hamming distance between the plurality of vector fingerprints and the stored video fingerprints.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the distance threshold is based on at least one of a weighted correlation distance, a quadratic form distance, and a Hausdorff distance between the plurality of vector fingerprints and the stored video fingerprints.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the transformed copy of the training image and the transformed copy of the non-training image are created using a transformation, wherein the transformation is randomly selected from a plurality of transformations.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the plurality of transformations comprise: cropping, padding, rotating, flipping, and a color change.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2024
From: 9219-1568 QUEBEC INC.
To: AYLO FREESITES LTD
Reel/Frame 068527/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2024
From: AYLO FREESITES LTD
To: INNOVASOFT TECH HOLDINGS LTD
Reel/Frame 068527/0326 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2022
From: HILLMAN BEAUCHESNE, OLIVIER; CHAPLEAU, BERTRAND; PLEET, JORDAN; MATEOS PEREZ, JOSE MARIA
To: 9219-1568 QUEBEC INC.
Reel/Frame 060711/0703 →