IP Library Granted Patent US 8,462,984
Granted Patent B2
US 8,462,984 · App. 13/039,554 · Granted Jun 11, 2013

Data pattern recognition and separation engine

Inventor: Tyson LaVar Edwards (Harrisville, UT)
Assignee: Cypher, LLC
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,462,984
App. No.
13/039,554
Granted
Jun 11, 2013
Kind
B2
Abstract

Embodiments disclosed herein extend to methods, systems, and computer program products for analyzing digital data. A source of digital data is analyzed and separated into segments, each segment having an identifiable characteristic. The separated segments are copied into planes of a higher dimension. The separated segments are compared to determine a resemblance factor. A fingerprint is generated for segments having a resemblance factor above a particular threshold. Based upon the generated fingerprint, a data source may be filtered to block or to pass data corresponding to the generated fingerprint. The digital data may be audio data, video data, or other data.

Claims (51)

1. A method for analyzing data for determining related portions within the data itself, the method performed by a computer system including one or more processors and data storage, the method comprising:

accessing data from a source;

identifying a plurality of segments within the data itself, each segment being identified by a common characteristic;

comparing each of the plurality of segments to each other of the plurality of segments within the data itself, and determining resemblance values between each of the plurality of segments relative to each other of the plurality of segments;

storing the resemblance values for each pair of the plurality of segments of the data itself; and

storing one or more sets of segments, each of the one or more sets of segments including only segments of the data itself having resemblance values above a determined threshold.

2. The method of claim 1 wherein the data comprises archived audio or video data, or real-time streaming audio or video data.

3. The method of claim 1 , wherein identifying a plurality of segments within the data includes, for each of the plurality of segments:

identifying a frequency progression above a baseline, a window of the segment beginning at a deviation from the baseline and ending at a falloff into the baseline.

4. The method of claim 1 , wherein comparing each of the plurality of segments to each other of the plurality of segments within the data itself includes:

detecting segments following similar frequency progressions along lengths thereof; and

detecting segments which are harmonics.

5. The method of claim 1 , wherein a length of each of the plurality of segments is dependent upon a length of the common characteristic as defined by the data itself.

6. The method of claim 1 , wherein comparing each of the plurality of segments to each other of the plurality of segments within the data itself, includes:

determining a fingerprint of each of the plurality of segments.

7. The method of claim 6 , wherein comparing each of the plurality of segments to each other of the plurality of segments includes:

overlaying tracings of frequency progressions, wherein overlaying tracings includes:

stretching the segments in any of at least three dimensions; and

determining resemblance values of segments following stretching in any of the at least three dimensions.

8. A computer storage medium storing a computer program product for performing a method for analyzing data and identifying like and not like segments within the data, the computer program product comprising:

computer storage media; and

computer executable-instructions stored on the computer storage media, which computer-executable instructions, when executed by a computing system, cause the computing system to perform the method of claim 1 .

9. A method for separating samples found within audio data, the method comprising:

at a computing system, receiving audio data;

detecting a plurality of windows, wherein detecting the plurality of windows includes:

identifying a baseline of the audio data; and

defining a plurality of windows, each of the plurality of windows having a length dependent upon a length of corresponding segment, each segment being a continuous deviation from the baseline within the audio data;

comparing segments within windows of the audio data to obtain resemblance values between segments; and

grouping the segments into one or more sets, each of the one or more sets including only segments of the received audio data having resemblance values above a predetermined threshold.

10. The method recited in claim 9 , wherein receiving audio data includes receiving audio data in a first representation, and detecting the plurality of windows includes detecting the plurality of windows using the audio data in a second representation.

11. The method recited in claim 10 , wherein:

the first representation includes time-amplitude data; and

the second representation includes time-frequency data.

12. The method recited in claim 9 , wherein each continuous deviation follows a frequency progression, the full frequency progression being above the baseline.

13. The method recited in claim 9 , wherein comparing segments within windows of the audio data includes:

fingerprinting the segments within windows of the audio data; and

comparing the fingerprints.

14. The method recited in claim 13 , wherein comparing segments within windows of the audio data includes:

overlaying fingerprints of different segments;

stretching the fingerprints of the different segments in any of three dimensions; and

determining resemblance values based on stretched fingerprints.

15. The method recited in claim 9 , wherein grouping the segments into one or more sets includes grouping the segments into one or more sets each representing a sample within the audio data, each sample including segments likely originating from a same audio source.

16. The method recited in claim 9 , wherein each of the one or more sets is a sample, and the method further including:

identifying dominance of each different sample within the audio data.

17. The method recited in claim 16 , further comprising:

filtering the audio data based on dominance of the different samples within the audio data.

18. The method recited in claim 9 , further comprising:

reassembling a portion of the audio data by outputting only the segments of a single one of the one or more sets, the outputted segments defining a single sample isolated from all other samples of the audio data.

19. The method recited in claim 9 , wherein defining a plurality of windows includes:

defining first and second windows corresponding to separate first and second frequency progressions which deviate from the baseline, the second window having start and end times equal to, or fully within, the start and end times of the first window.

20. The method recited in claim 19 , wherein the second frequency progression is a harmonic of the first frequency progression.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2017
From: CYPHER LLC
To: CIRRUS LOGIC INC.
Reel/Frame 042430/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2012
From: EDWARDS, TYSON L.
To: CYPHER INNOVATIONS, LLC
Reel/Frame 028122/0949 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2012
From: CYPHER INNOVATIONS, LLC
To: CYPHER FOUNDERS, LLC
Reel/Frame 028122/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2012
From: CYPHER FOUNDERS, LLC
To: CYPHER, LLC
Reel/Frame 028122/0976 →
Continuity (1)
Related Publication 20120224741A1 · Sep 6, 2012