Patent ID: 7849039

Claim:
A computer method of reducing the number of dissimilar candidate sets of digital data (SDD) before retrieving one or more similar candidate SDDS comprising: a) receiving, into a memory by a processor, one or more SDD which can be presented in one-dimension, each SDD comprises: i) data values organized in sequential addresses or at set intervals of addresses, ii) the number of data values per data point, iii) a specified starting address, and iv) a specified number of data points, called the length; b) computing a numerical similarity signature, of the received one or more SDD, wherein the similarity signature is referred to as the equivalence signature, with a value related to the kinetic energy of a point particle whose path is specified by the values of the SDD, c) populating a database with the calculated equivalence signature, d) computing a similarity distance between the calculated equivalence signature of the received SDD and equivalence signatures of one or more SDD stored in a database as the absolute value of the difference of their equivalence signatures, e) discarding dissimilar candidate SDD where there is a high similarity distance, and f) retrieving one or more similar SDD from the database, and wherein, for text, binaries, audio data and/or other SDD that may be presented in one-dimension, the method for computing an equivalence signature as the kinetic energy of a point particle whose path is specified by the values of the normalized digital data, further comprises the following steps: a) looping over each x-position, from the first x-position to the second to last x-position, and for each position, b) performing a loop over each plane and then a second loop over each plane, inner to the first loop over each plane, c) for the plane of the outer loop over planes, computing the difference of the data value at said x-position in the plane and the data value at said x-position shifted by one in the x-direction in the plane, d) for the plane of the inner loop over planes, computing the difference of the data value at said x-position in the plane and the data value at said x-position shifted by one in the x-direction in the plane, e) evaluating the component, with indices specified by the counters of the two loops over the planes, of the metric on the space of data for the data values at said at said (x,y)-position, f) forming the kinetic energy density at said x-position as the product of the result from step e with the result from step c and the result from step d, g) adding the result for the kinetic energy density from the previous step to the result for the kinetic energy from the previous roll of this innermost loop; if this is the first roll of said innermost loop over each plane, then the result for the kinetic energy is set to the value of the kinetic energy density from step f, and h) upon completion of said loop over the x-positions assigning the result for the kinetic energy as the value of the equivalence signature.