IP Library Granted Patent US 8,639,040
Granted Patent B2
US 8,639,040 · App. 13/206,856 · Granted Jan 28, 2014

Method and apparatus for comparing videos

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 8,639,040
App. No.
13/206,856
Granted
Jan 28, 2014
Kind
B2
Abstract

A method for comparing videos includes detecting local features in frames of a video and determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame. For at least some of the detected local features, a movement indicator is generated representing the position of a local feature in the first frame relative to the position of that local feature in the second frame, the movement indicator including an orientation, to obtain a plurality of movement indicators. Movement indicators are grouped by orientation ranges. The number of grouped movement indicators in an orientation range are summed to obtain a value for that orientation range. A time series of values for at least one given orientation range is obtained by determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame for a plurality of pairs of frames. For at least one orientation range, a first time series of values for a first video is compared with a second time series of values for a second video to determine the similarity of the first and second videos.

Claims (67)

1. A method for comparing videos including:

detecting local features in frames of a video;

determining positions of the detected local features in a first frame compared to their respective positions in a succeeding second frame;

for at least some of the detected local features, generating a movement indicator representing the position of a local feature in the first frame relative to the position of said local feature in the second frame, the movement indicator including an orientation, to obtain a plurality of movement indicators;

grouping the movement indicators into orientation ranges;

summing the movement indicators grouped in at least one orientation range to obtain an integer quantity of movement indicators for the corresponding orientation range;

obtaining a time series of values for at least one orientation range by determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame for a plurality of pairs of frames; and

for at least one orientation range, comparing a first time series of values for a first video with a second time series of values for a second video to determine the similarity of the first and second videos;

wherein the method is performed using a computer or processor.

2. The method as claimed in claim 1 wherein the plurality of pairs of frames are separated by intervals of other frames that are not processed for use in comparing the videos.

3. The method as claimed in claim 1 wherein the movement indicator includes a distance parameter and the movement indicator is included in a grouping by orientation range if its distance parameter is within a predetermined size range and not included in a grouping by orientation range if its distance parameter is outside said predetermined size range.

4. The method as claimed in claim 1 wherein movement indicators are grouped into one of four to ten orientation ranges.

5. The method as claimed in claim 1 , further including

obtaining a plurality of first time series of values for a plurality of respective orientation ranges for the first video;

combining said plurality of first time series of values to produce a first time series signature;

obtaining a plurality of second time series of values for a plurality of respective orientation ranges for a second video;

combining said plurality of second time series of values to produce a second time series signature; and

comparing the first time series signature and the second time series signature to determine the similarity of the first and second videos.

6. The method as claimed in claim 1 wherein the detected local features are keypoints extracted using a at least one of scale-invariant feature transform (SIFT) algorithm, a Harris corner detection algorithm, a FAST feature detector algorithm, and an ORB feature detector algorithm.

7. The method as claimed in claim 1 , further including

using major incline matching in comparing the first time series with the second time series to determine the similarity of the first and second videos.

8. The method as claimed in claim 1 , further including

performing alignment of the first time series with the second time series;

calculating a similarity distance between the aligned first time series and second time series; and

comparing the similarity distance with a predetermined threshold value to determine if the first video and the second video are duplicates.

9. The method as claimed in claim 1 , further including

storing the second video in a video database holding the first video when the second video is determined not to be a duplicate of the first video.

10. A device programmed or configured to perform a method for comparing videos, the method comprising

detecting local features in frames of a video;

determining positions of the detected local features in a first frame compared to their respective positions in a succeeding second frame;

for at least some of the detected local features, generating a movement indicator representing the position of a local feature in the first frame relative to the position of said local feature in the second frame, the movement indicator including an orientation, to obtain a plurality of movement indicators;

grouping the movement indicators by orientation ranges;

summing the movement indicators grouped in at least one orientation range to obtain an integer quantity of movement indicators for the corresponding orientation range;

obtaining a time series of values for at least one orientation range by determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame for a plurality of pairs of frames; and

for at least one orientation range, comparing a first time series of values for a first video with a second time series of values for a second video to determine the similarity of the first and second videos.

11. The device as claimed in claim 10 , the method further including

obtaining a plurality of first time series of values for a plurality of respective orientation ranges for the first video;

combining said plurality of first time series of values to produce a first time series signature;

obtaining a plurality of second time series of values for a plurality of respective orientation ranges for a second video;

combining said plurality of second time series of values to produce a second time series signature; and

comparing the first time series signature and the second time series signature to determine the similarity of the first and second videos.

12. The device as claimed in claim 10 , the method further including

performing alignment of the first time series with the second time series;

calculating a similarity distance between the aligned first time series and second time series; and

comparing the similarity distance with a predetermined threshold value to determine if the first video and the second video are duplicates.

13. A non-transitory computer readable medium storing program instructions that, when executed by a processor, cause a corresponding processor-controlled device to perform a method for comparing videos, the method including:

detecting local features in frames of a video;

determining positions of the detected local features in a first frame compared to their respective positions in a succeeding second frame;

for at least some of the detected local features, generating a movement indicator representing the position of a local feature in the first frame relative to the position of said local feature in the second frame the movement indicator including an orientation, to obtain a plurality of movement indicators;

grouping the movement indicators by orientation ranges;

summing the movement indicators grouped in at least one orientation range to obtain an integer quantity of movement indicators for the corresponding orientation range;

obtaining a time series of values for at least one orientation range by determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame for a plurality of pairs of frames; and

for at least one orientation range, comparing a first time series of values for a first video with a second time series of values for a second video to determine the similarity of the first and second videos.

14. An apparatus for comparing videos, comprising:

a feature detector configured to detect local features in frames of a video;

a motion vector processor configured to determine positions of the detected local features in a first frame compared to their respective positions in a succeeding second frame, to generate a movement indicator representing the position of a local feature in the first frame relative to the position of the local feature in the second frame for at least some of the detected local features to obtain a plurality of movement indicators including an orientation, wherein the motion vector processor is configured to group the movement indicators by orientation ranges for storage in orientation bins;

an orientation bin processor configured to sum the movement indicators grouped in at least one orientation range to obtain an integer quantity of movement indicators for the corresponding orientation range;

a time series processor configured to obtain a time series of values for at least one orientation range by determining the positions of detected local features in a first frame compared to their respective positions in a succeeding second frame for a plurality of pairs of frames; and

a comparator configured to compare a first time series of values for a first video with a second time series of values for a second video for at least one orientation range to determine the similarity of the first and second videos.

15. The apparatus as claimed in claim 14 wherein the movement indicator includes a distance parameter and the motion vector processor is configured to include the movement indicator in a grouping by orientation range if its distance parameter is within a predetermined size range and configured to not include the motion indicator in a grouping by orientation range if its distance parameter is outside the predetermined size range.

16. The apparatus as claimed in claim 14 wherein the time series processor is configured to obtain a plurality of first time series of values for a plurality of respective orientation ranges for a first video, to combine the plurality of first time series of values to produce a first time series signature, to obtain a plurality of second time series of values for a plurality of respective orientation ranges for a second video, and to combine the plurality of second time series of values to produce a second time series signature;

wherein the comparator is configured to compare the first time series signature and the second time series signature to determine the similarity of the first and second videos.

17. The apparatus as claimed in claim 14 wherein the feature detector is configured to detect keypoints extracted using at least one of a scale-invariant feature transform (SIFT) algorithm, a Harris corner detection algorithm, a FAST feature detector algorithm, and an ORB feature detector algorithm.

18. The apparatus as claimed in claim 14 wherein the comparator is configured to use major incline matching in comparing the first time series with the second time series to determine the similarity of the first and second videos.

19. The apparatus as claimed in claim 14 wherein the comparator is configured to perform alignment of the first time series with the second time series, to calculate a similarity distance between the aligned first time series and second time series, and to compare the similarity distance with a predetermined threshold value to determine if the first video and the second video are duplicates.

20. The apparatus as claimed in claim 14 , further comprising:

a video store configured to store the first video in a video database and configured to store the second video in the video database when the second video is determined not to be a duplicate of the first video.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028969/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2011
From: ZHANG, JOHN R.; REN, YANSONG; CHANG, FANGZHE; WOOD, THOMAS L.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 027250/0216 →