Not Applicable
Not Applicable
1. Field of the Invention
This invention relates to the identification and retrieval of digital data by a computing device.
2. Prior Art
A method for the computation finding similar sets of digital data (SDD), such as text, binaries, audio, images, graphics, video, and the like, that have been assigned equivalence signatures, is invented here. The determination of similarity leverages a metric, on the space of equivalence signatures, that manifests isometrics of the space of signatures. By design, similar sets of data will have the same lengths on the space of equivalence signatures.
The definition of “similarity”, and thus the features and method used to compute it, is idiosyncratic to the retrieval application [O'Connor]. In the case of image retrieval [Gonzalez], methods using entropy, moments, etc. as signatures, have been invented [U.S. Pat. Nos. 5,933,823; 5,442,716]. Another invention [U.S. Pat. No. 7,246,314], uses closeness to a Gaussian model as a similarity measure for identifying similar videos. Methods for the assignment of signatures for all media types which change in a bounded manner when small alterations are made to a SDD have also been invented [Brooks]. The latter are also invariant to certain classes of transformations of the data, which are typical of the changes between similar sets of data, leading to equivalence classes of sets of data. Thus those signatures are referred to as “equivalence signatures”.
The cost of implementing these methods is typically proportional to the product of the number of SDDs in the database with the cost of computing the distance between the target SDD and another SDD. The latter often [Raghavan] involves the computation of the projection angle between two vectors that represent the features (e.g., histogram of the text elements) of the SDDs. For large databases, this process can be both resource and time expensive. A two step method is required wherein, during the retrieval phase, definitely dissimilar SDDs are first weeded out thereby significantly reducing the number of candidates for similarity. This first step should be computationally inexpensive thus significantly reducing the resource requirements and latency in computing the results of the second step, the application of traditional features.
Intuitively, if two SDDs are similar, then they should be locally deformable into each other. For example, if two images are rescalings of each other, then they are similar. This invention leverages elementary results from the differential geometry of symmetric spaces [Helgason] to address this problem. In particular, we use the fact that the equivalence signatures change by diffeomorphisms when infinitesimal changes, that do not leave the equivalence signatures invariant, are made to the SDDs. A class of metrics for which these diffeomorphisms are isometries is used to compute the distance on the space of signatures.
We interpret each SDD as a sampling of maps from an n-dimensional space, N, with coordinates, (θ1,θ2 . . . ,θn) or collectively θ, to an m-dimensional space, M, with coordinates σA(θ), for A=1, . . . , m. Each σA(θ) is referred to as a plane; for example, images typically have three color planes of data, red, green and blue. If objects have been segmented from the SDD then the data for these objects are themselves SDDs.
For each SDD, a point on the space of equivalence signatures is computed. Each equivalence signature ξ[σ], is a functional of the SDD. Consider an infinitesimal variation of a SDD,
σA(θ)→σ1A(θ)=σA(θ)+ερA(θ), Eqn. 1
where the σ1A are the planes of the SDD formed as result of the changes to the original SDD's planes σA, ε is an infinitesimal constant such that contributions of order ε2 can be neglected, and the ρA(θ) are functions which represent the changes to the original SDD at each point in the presentation space. Under these changes, the equivalence signatures transform into functions on the space of equivalence signatures,
ξα[σ+ε]=ξα[σ]+εƒα(ξ[σ]), Eqn. 2
Here α is a label for the coordinates in the r-dimensional space of equivalence signatures, α=1, . . . r. The εα[σ] are points on the space of equivalence signatures. The vectors to those points from the origin of the latter space, are equivalence signature vectors.
As an example, take the equivalence signature for the dynamics of data in two-dimensional presentation spaces [Brooks] with (summation over repeated indices is implied)
an i=1,2
ε[σ]≡∫0L
Note that different choices for the metric, GAB, lead to different equivalence signatures for the same SDD. Applying the change in Eqn. 1, this equivalence signature changes to an expression of the form given in Eqn. 2, with the function ƒ given by its argument, ƒ(ξ[σ])=ξ[σ], but with a new metric on the data space as GAB(σ) is replaced by
The transformation in Eqn. 2 is a diffeomorphism of the space of signatures. If we have a metric on the space of equivalence signatures that is preserved by such a diffeomorphism, then the distances of the points in that space that differ by Eqn. 1 will be the same. Distances in Euclidean space are preserved under the full set of isometries of the space. Thus SDDs, whose equivalence signatures are at points in the space of equivalence signatures that are equidistance from the origin of that space, are similar. Euclidean spaces are the best known example of maximally symmetric spaces. The metrics of, and hence distances on, maximally symmetric spaces are preserved under the full set of isometrics of the space. Here we parameterize such metrics in terms a constant, K, and a constant r×r matrix Kαβ as [Weinberg]
For simplicity we will choose Kαβ=δαβ then the case K=0 yields Euclidean space. In terms of the metric Cαβ the distance, in the space of equivalence signatures is
in terms of the a dummy path parameter τ. This distance is invariant under a
parameter group of isometrics (see Ref. [Weinberg] for examples):
Let the SDDs in a corpus be such that their points in the space of equivalence signatures are uniformly distributed. Furthermore, let the distances of those points from the origin fall between Dmax and Dmin. Then the number of candidate similar SDDs is reduced down from the size of the corpus by a factor of
Similar SDDs lie on the surface of a sphere whose radius is the length of any representative member of the set of similar SDDs.
The objects of the current invention include taking, as input, previously computed equivalence signatures for SDDs and using their distances from the origin on the space of equivalence signatures to find all SDDs that are similar to a target SDD
The advantages of the current invention include the fact that the computational and resource expense of using feature comparison methods to discover those SDDs that are candidates for similarity to a target SDD is reduced to that required to find those SDDs with signature vector lengths that are equal to that of the target. Furthermore, for said discovery, no one-to-one comparison of the data of SDDs or even projections of their signature vectors is required.
In accordance with the present invention, a method for determining those sets of digital data (SDD) that are similar to each other finds those SDDs whose distances of their points from the origin in the space of equivalence signatures is the same. The output from this method can be used to significantly reduce the computational expense, time and resources required to find candidates for similar SDDs.
In the drawings, closely related figures have the same numerically close numbers.
A preferred embodiment of the method of the present invention is illustrated in
A SDD is pre-assigned a set of equivalence signatures through previously invented methods [Brooks]. Each equivalence signature is a number. Collectively, the equivalence signatures are input as a linear buffer of these numbers.
SDDs that are candidates for similarity with a target SDD can be identified, in a database, by requiring that the distances of their equivalence signatures from the origin of the space of equivalence signatures be equal to the distances of the target's equivalence signatures from the origin of the space of equivalence signatures.
In
The Main Memory 1100 typically consists of random access memory (RAM) embodied as integrated circuit chips and is used for temporarily storing configuration data, database records and intermediate and final results processed and produced by the instructions implementing the method invented here as well as the instructions implementing the method, the operating system and the functions of other components in the computing device 1000.
Zero or more external audio and/or video interfaces 1200 convert digital and/or analog A/V signals from external A/V sources into digital formats that can be reduced to PCM/YUV values and the like. Video frame YUV values form the SDDs.
Storage sub-system interface 1300 manages the exchange of data between the computing device 1000 and one or more internal and/or one or more external storage devices such as hard drives which function as tangible media for storage of the data processed by the instructions embodying the method of this invention as well as the computer program files containing those instructions, and the instructions of other computer programs directly or indirectly executed by the instructions, embodying the method of this invention.
The bus 1400 embodies a channel over which data is communicated between the components of the computing device 1000.
The processing unit 1500 is typically one or more chips such as a CPU or ASICs, that execute instructions including those instructions embodying the method of this invention.
The network interface 1600 typically consists of one or more wired or wireless hardware devices and software drivers such as NIC cards, 802.11x cards, Bluetooth interfaces and the like, for communication over a network to other computing devices.
The human interface subsystem 1700 typically consists of a graphical input device, a monitor and a keyboard allowing the user to select files that contain SDDs that are to be analyzed by the method.
In
The Isometric Distance Calculator 1580 computes the length of equivalence signature vectors in accordance with Eqn. 5 and Eqn. 6 by looping over the equivalence signatures and summing their squares to form a temporary result which was set to zero prior to the first roll of said loop. At the completion of the last roll of said loop, the square of the temporary result is taken as the result for the length of the equivalence signature vector.
The Signature Database 1560 is pre-populated with one record for each SDD in the corpus. Said record includes fields containing the identifiers, such as URLs to the files containing the SDDs and the like, of the SDD. In a second embodiment, said record also contains other fields populated with the values of the equivalence signatures. In a third embodiment, said record also contains other fields populated with other feature data about the SDD. In a fourth embodiment, said record also contains other fields populated with meta data about the SDD. The most significant half of the key of said record is set to the length of the equivalence vector of the SDD associated with said record. The least significant half of the key of said record is set to the updated count of records in the database with the same length for the equivalence signature vector, as those records are sequentially written into the database.
In a second embodiment, the Isometric Distance Calculator 1580 computes the length of equivalence signature vectors in accordance with Eqn. 5 and Eqn. 6 by
1) reading the equivalence signatures the length of whose vector is to be computed,
2) introducing and setting a variable, with name such as LEN, to zero,
3) introducing a variable with name such as DELTALEN2,
4) reading the values of Kαβ and K from the configuration data,
5) looping over the path parameter from the origin to the point with coordinate given by the equivalence signatures of the SDD,
6) setting the value of the variable DELTALEN2 to zero,
7) looping over a loop variable y from y=0 to y=(r−1) incrementing by one at each roll of the loop,
8) rolling the next loop over the path parameter
9) upon completion of the last roll of the loops over the path parameters, return the value of the variable LEN as the value of the length of the equivalence signature vector.
Conclusion, Ramifications, and Scope
Accordingly, the reader will see that the method invented here significantly reduces the number of SDDs that must be compared to produce a final set of SDDs that are similar to a target SDD. Said reduction finds candidates for similar SDDs by reading those records from the database of SDDs for which the most significant halves of the keys of said records are equal to the length of the equivalence signature vector of the target. Subsequently, more computationally intensive feature comparison techniques such as [U.S. Pat. Nos. 7,031,980; 5,933,823; 5,442,716] can be utilized to produce a final list of similar SDDs from the reduced list produced by this method.
The present invention has been described by a limited number of embodiments. However, anyone skilled in the art will recognize numerous modifications of the embodiments. It is the intention that the following claims include all modifications that fall within the spirit and scope of the present invention.
This application claims the benefit of PPA Ser. No. 60/883,001, filed Dec. 31, 2006 by the present inventor and PPA Ser. No. 60/882,838, filed Dec. 29, 2006 by the present inventor.
Number | Date | Country | |
---|---|---|---|
60883001 | Dec 2006 | US | |
60882838 | Dec 2006 | US |