Video hashing system and method
First Claim
1. A method of operating a first processing system that includes one or more processors and storage, the method comprising:
- providing as input to the processing system a reference video comprising an ordered time sequence of frames;
calculating using at least one of the processors global camera motion parameters for a plurality of the frames of the reference video;
identifying events using at least one of the processors, including identifying frames corresponding to scene-change-based and/or motion-based and/or sub-sampling-based events in the reference video, the identifying the frames of motion-based events using the global camera motion parameters calculated for the reference video;
generating using at least one of the processors hash values for the identified frames and their neighboring frames in the reference video, the hash values comprising, for each identified event, one or more binary descriptors for one or more frames of the frames that correspond to the identified event; and
storing in in the storage the identified frames of the reference video and the generated hash values for the reference video,wherein the identifying the frames in the reference video includes identifying frames corresponding to one or more of a change-of-motion-based reference-video event identified by detecting a change of motion in the sequence, a sub-sampling-based reference-video event determined by sub-sampling in time the ordered time sequence according to a pre-determined sampling profile, and a detected change-of-scene-based reference-video event,such that the stored identified frames and stored hash values are retrievable to be used for evaluating a measure of similarity of a video and the reference video.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method of operating a processing system includes receiving a reference video and calculating global camera motion parameters for a plurality of the reference video'"'"'s frames. The method further includes using the camera motion parameters to identify reference video frames corresponding to motion-based events, generating hash values for the identified and neighboring frames in the reference video; and storing the identified frames and hash values. In one version, the method also includes receiving a subject video, calculating global camera motion parameters for the frames of the subject video, using these parameters to identify frames of motion-based events in the subject video, and generating hash values for the identified and neighboring frames in the subject video. The identified frames and hash values of the subject can be compared with those stored for the reference video to evaluate similarity.
23 Citations
21 Claims
-
1. A method of operating a first processing system that includes one or more processors and storage, the method comprising:
-
providing as input to the processing system a reference video comprising an ordered time sequence of frames; calculating using at least one of the processors global camera motion parameters for a plurality of the frames of the reference video; identifying events using at least one of the processors, including identifying frames corresponding to scene-change-based and/or motion-based and/or sub-sampling-based events in the reference video, the identifying the frames of motion-based events using the global camera motion parameters calculated for the reference video; generating using at least one of the processors hash values for the identified frames and their neighboring frames in the reference video, the hash values comprising, for each identified event, one or more binary descriptors for one or more frames of the frames that correspond to the identified event; and storing in in the storage the identified frames of the reference video and the generated hash values for the reference video, wherein the identifying the frames in the reference video includes identifying frames corresponding to one or more of a change-of-motion-based reference-video event identified by detecting a change of motion in the sequence, a sub-sampling-based reference-video event determined by sub-sampling in time the ordered time sequence according to a pre-determined sampling profile, and a detected change-of-scene-based reference-video event, such that the stored identified frames and stored hash values are retrievable to be used for evaluating a measure of similarity of a video and the reference video. - View Dependent Claims (2)
-
-
3. A method of operating a processing system, comprising:
-
providing as input to the processing system a first fingerprint generated by a process comprising video hashing a first video data set, the set comprising a first ordered time sequence of frames of a first video, the first fingerprint comprising one or more video hash values of the first video data set, providing as input to the processing system a second video data set comprising a second ordered time sequence of frames of a second video; generating in the processing system a second fingerprint of the second video data set by a process comprising video hashing the second video data set, the second fingerprint comprising one or more video hash values of the second video data set; and comparing on the processing system the first and second fingerprints of the first and second video data sets, wherein the video hashing of a video data set that comprises an ordered time sequence of frames of video includes; analyzing the video data set to identify one or more events in the ordered time sequence, an identified event comprising one or more of a change-of-motion-based event identified by detecting a change of motion in the sequence, a sub-sampling-based event determined by sub-sampling in time the ordered time sequence according to a pre-determined sampling profile, and a detected change-of-scene-based event; and generating, for each identified event, one or more binary descriptors for one or more frames of the video data set that correspond to the identified event. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media comprising computer-readable instructions operative, when executed, to cause one or more processors of a processing system to:
-
accept as input to the processing system a first fingerprint generated by a process comprising video hashing a first video data set, the set comprising a first ordered time sequence of frames of a first video, the first fingerprint comprising one or more video hash values—
of the first video data set;accept as input to the processing system a second video data set comprising a second ordered time sequence of frames of a second video; generate a second fingerprint of the second video data set by a process comprising video hashing the second video data set, the second fingerprint comprising one or more video hash values of the second video data set; and compare the first and second fingerprints of the first and second video data sets, wherein the video hashing of a video data set that comprises an ordered time sequence of frames of video includes; analyzing the video data set to identify one or more events in the ordered time sequence, an identified event comprising one or more of a change-of-motion-based event identified by detecting a change of motion in the sequence, a sub-sampling-based event determined by sub-sampling in time the ordered time sequence according to a pre-determined sampling profile, and a detected change-of-scene-based event; and generating, for each identified event, one or more binary descriptors for one or more frames of the video data set that correspond to the identified event. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a hardware system comprising one or more processors and one or more non-transitory storage media; wherein the one or more storage media are configured with instructions that, when executed, cause the hardware system to be operative to; receive as input a reference video comprising a time sequence of frames; calculate global camera motion parameters for a plurality of the frames of the reference video; identify events using at least one of the processors, the identifying including including—
frames corresponding to scene-change-based and/or motion-based an/or sub-sampling-based events in the reference video, the identifying of the motion-based events using the global camera motion parameters calculated for the reference video;generate hash values for the identified frames and their neighboring frames in the reference video, the hash values comprising, for each identified event, one or more binary descriptors for one or more frames of the frames that correspond to the identified event; and store the identified frames of the reference video in and the generated hash values for the reference video, the storing in at least one of the one or more storage media, wherein the identifying the frames in the reference video includes identifying frames corresponding to one or more of a change-of-motion-based reference-video event identified by detecting a change of motion in the sequence, a sub-sampling-based reference-video event determined by sub-sampling in time the ordered time sequence according to a pre-determined sampling profile, and a detected change-of-scene-based reference-video event, such that the stored identified frames and stored hash values are retrievable to be used for evaluating a measure of similarity of a video and the reference video. - View Dependent Claims (20, 21)
-
Specification