System and method for generation of signatures for multimedia data elements
09886437 ยท 2018-02-06
Assignee
Inventors
Cpc classification
G06F16/40
PHYSICS
Y10S707/99948
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S707/99943
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S707/913
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06F16/48
PHYSICS
International classification
Abstract
A method, non-transitory computer readable medium, and system for generating a complex signature. In an embodiment, the method includes: generating at least one signature for each of a plurality of different minimum size multi-media data elements (MMDEs), wherein generation of each of the at least one signature is performed by a plurality of computational cores, each computational core having at least one configurable property characterizing the core, and wherein configuration of the at least one configurable property respective of each core results in statistical independence among the plurality of cores; and assembling at least a complex signature including the generated signatures.
Claims
1. A method for generating a complex signature, comprising: generating at least one signature for each of a plurality of different minimum size multi-media data elements (MMDEs), wherein generation of each of the at least one signature is performed by a plurality of computational cores, each computational core having at least one configurable property characterizing the core, and wherein configuration of the at least one configurable property respective of each core results in statistical independence among the plurality of cores; and assembling at least a complex signature including the generated signatures.
2. The method of claim 1, wherein each MMDE is any of: an image, graphics, a video stream, a video clip, an audio stream, an audio clip, a video frame, a photograph, images of signals, and a portion thereof.
3. The method of claim 2, wherein the images of signals are images of any of: medical signals, geophysical signals, subsonic signals, supersonic signals, electromagnetic signals, and infrared signals.
4. The method of claim 1, wherein each of the minimum size MMDEs is associated with signatures respective of at least four permutations of the minimum size MMDE.
5. The method of claim 4, wherein the at least four permutations include at least four angular permutations.
6. The method of claim 5, wherein the at least four angular permutations include rotation of an element by 0 degrees, rotation of an element by 90 degrees, rotation of an element by 180 degrees, and rotation of an element by 270 degrees.
7. The method of claim 1, wherein the plurality of minimum size MMDEs of the MMDE represent all portions of the MMDE.
8. The method of claim 1, further comprising: partitioning a plurality of input MMDEs into the plurality of minimum size MMDEs.
9. The method of claim 8, wherein the partitioning is into at least a higher partition level and a lower partition level, wherein assembling the complex signature further comprises: assembling at least one partition level complex signature for each partition level, wherein the at least one partition level complex signature of the higher partition level includes any of: the at least one partition level complex signature of the lower partition level, and the plurality of generated signatures of the plurality of minimum size MMDEs.
10. A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute a method, the method comprising: generating at least one signature for each of a plurality of different minimum size multi-media data elements (MMDEs), wherein generation of each of the at least one signature is performed by a plurality of computational cores, each computational core having at least one configurable property characterizing the core, and wherein configuration of the at least one configurable property respective of each core results in statistical independence among the plurality of cores; and assembling at least a complex signature including the generated signatures.
11. A system for generating a complex signature, comprising: a processing system; and a memory, the memory containing instructions that, when executed by the processing system configured the processing system to: generate at least one signature for each of a plurality of different minimum size multi-media data elements (MMDEs), wherein generation of each of the at least one signature is performed by a plurality of computational cores, each computational core having at least one configurable property characterizing the core, and wherein configuration of the at least one configurable property respective of each core results in statistical independence among the plurality of cores; and assemble at least a complex signature including the generated signatures.
12. The system of claim 11, wherein each MMDE is any of: an image, graphics, a video stream, a video clip, an audio stream, an audio clip, a video frame, a photograph, images of signals, and a portion thereof.
13. The system of claim 12, wherein the images of signals are images of any of: medical signals, geophysical signals, subsonic signals, supersonic signals, electromagnetic signals, and infrared signals.
14. The system of claim 11, wherein each of the minimum size MMDEs is associated with signatures respective of at least four permutations of the minimum size MMDE.
15. The system of claim 14, wherein the at least four permutations include at least four angular permutations.
16. The system of claim 15, wherein the at least four angular permutations include rotation of an element by 0 degrees, rotation of an element by 90 degrees, rotation of an element by 180 degrees, and rotation of an element by 270 degrees.
17. The system of claim 11, wherein the plurality of minimum size MMDEs of the MMDE represent all portions of the MMDE.
18. The system of claim 11, further comprising: partitioning a plurality of input MMDEs into the plurality of minimum size MMDEs.
19. The system of claim 18, wherein the partitioning is into at least a higher partition level and a lower partition level, wherein assembling the complex signature further comprises: assembling at least one partition level complex signature for each partition level, wherein the at least one partition level complex signature of the higher partition level includes any of: the at least one partition level complex signature of the lower partition level, and the plurality of generated signatures of the plurality of minimum size MMDEs.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The subject matter that is regarded as the disclosure is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features and advantages of the disclosed embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) The embodiments disclosed herein are only examples of the many possible advantageous uses and implementations of the innovative teachings presented herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.
(9) A method implemented according to the disclosed embodiments enables the association of metadata to a multimedia content based on finding matches to similar, partially-similar and/or related multimedia content. An input given multimedia content is matched to at least another multimedia content with corresponding metadata. Upon determination of a match, the corresponding metadata is processed and then used as metadata of the given multimedia content. When a large number of multimedia data is compared, a ranked list of metadata is provided. The most appropriate metadata is associated to the input given multimedia content based on various criteria. The method can be implemented in any applications which involve large-scale content-based clustering, recognition and classification of multimedia data, such as, content-tracking, video filtering, multimedia taxonomy generation, video fingerprinting, speech-to-text, audio classification, object recognition, video search and any other application requiring content-based signatures generation and matching for large content volumes such as, web and other large-scale databases.
(10) Certain embodiments include a framework, a method, and a system, and their technological implementations and embodiments, for large-scale matching-based multimedia Deep Content Classification (DCC). In accordance with an embodiment, the system is based on the Architecture which is an implementation of a computational architecture described in patent application publication number WO 2007/049282. As mentioned above, the Architecture consists of a large ensemble of randomly, independently, generated, heterogeneous processing computational cores, mapping in parallel data-segments onto a high-dimensional space and generating compact signatures for classes of interest.
(11) In accordance with the principles of the disclosed embodiments, a realization of The Architecture embedded in large-scale video matching system (hereinafter the Matching System) for multimedia DCC is disclosed. The Architecture receives an input stream of multimedia content segments, injected in parallel to all computational cores. The computational cores generate compact signatures of a specific content segment, and/or of a certain class of equivalence and interest of content-segments. For large-scale volumes of data, the signatures are stored in a conventional way in a database of size N, allowing match between the generated signatures of a certain content-segment and the signatures stored in the database, and accomplishing it with a low-cost, in terms of complexity, i.e. O(log N), and response time.
(12) An embodiment of the Matching System used for the purpose of explaining the principles of the embodiments disclosed therein is now demonstrated. Other embodiments are described in the co-pending patent applications of which this patent application is a continuation-in-part of, which are incorporated herein by reference. Moreover, it is appreciated that other embodiments will be apparent to one of ordinary skill in the art.
(13) Characteristics and advantages of the Matching System include, but are not limited to: the Matching System is flat and generates signatures at an extremely high throughput rate; the Matching System generates robust natural signatures, invariant to various distortions of the signal; the Matching System is highly-scalable in high-volume signatures generation; the Matching System is highly scalable in matching against large volumes of signatures; the Matching System generates Robust Signatures for exact match with low cost, in terms of complexity and response time; the Matching System accuracy is scalable versus the number of computational cores, with no degradation effect on the throughput rate of processing; the throughput of the Matching System is scalable with the number of computational threads, and is scalable with the platform for computational cores implementation, such as FPGA, ASIC, etc.; and, the Robust Signatures produced by the Matching System are task-independent, thus the process of classification, recognition and clustering can be done independently from the process of signatures generation, in the superior space of the generated signatures.
(14) The goal of the Matching System is to effectively find matches between members of a large scale Master Database (DB) of video content-segments and a large scale Target DB of video content-segments. The match between two video content segments should be invariant to a certain set of statistical distortions performed independently on two relevant content-segments. Moreover, the process of matching between a certain content-segment from the Master DB to the Target DB consisting of N segments, cannot be done by matching directly from the Master content-segment to all N Target content-segments, for large-scale N, since the corresponding complexity of O(N), will lead to a non-practical response time. Thus, the representation of content-segments by both Robust Signatures and Signatures is crucial application-wise. The Matching System embodies a specific realization of the Architecture for large scale video matching purposes.
(15) A high-level description of the process for large scale video matching performed by the Matching System is depicted in
(16) To demonstrate an example of signature generation process, it is assumed, merely for the sake of simplicity and without limitation on the generality of the disclosure, that the signatures are based on a single frame, leading to certain simplification of the computational cores generation. The Matching System is extensible for signatures generation capturing the dynamics in-between the frames and the information of the frame's patches.
(17) The signatures generation process will now be described with reference to
(18) In order to generate Robust Signatures, i.e., Signatures that are robust to additive noise L (where L is an integer equal to or greater than 1) computational cores are utilized in the Matching System. A frame i is injected into all the Cores. The Cores generate two binary response vectors: {right arrow over (S)} which is a Signature vector, and {right arrow over (RS)} which is a Robust Signature vector.
(19) For generation of signatures robust to additive noise, such as White-Gaussian-Noise, scratch, etc., but not robust to distortions, such as crop, shift and rotation, etc., a core C.sub.i={n.sub.i} (1iL) may consist of a single leaky integrate-to-threshold unit (LTU) node or more nodes. The node n.sub.i equations are:
(20)
is a Heaviside step function; w.sub.ij is a coupling node unit (CNU) between node i and image component j (for example, grayscale value of a certain pixel j); k.sub.j is an image component j (for example, grayscale value of a certain pixel j); Th.sub.x is a constant Threshold value, where x is S for Signature and RS for Robust Signature; and V.sub.i is a Coupling Node Value.
(21) The Threshold values Th.sub.x are set differently for Signature generation and for Robust Signature generation. For example, for a certain distribution of V.sub.i values (for the set of nodes), the thresholds for Signature (Th.sub.S) and Robust Signature (Th.sub.RS) are set apart, after optimization, according to at least one or more of the following criteria:
(22)
i.e., given that I nodes (cores) constitute a Robust Signature of a certain image I, the probability that not all of these I nodes will belong to the Signature of same, but noisy image, is sufficiently low (according to a system's specified accuracy).
p(V.sub.i>Th.sub.RS)l/LII:
i.e., approximately/out of the total L nodes can be found to generate Robust Signature according to the above definition. III: Both Robust Signature and Signature are generated for certain frame i.
(23) It should be understood that the creation of a signature is a unidirectional compression where the characteristics of the compressed data are maintained but the compressed data cannot be reconstructed. Therefore, a signature can be used for the purpose of comparison to another signature without the need of comparison of the original data. Detailed description of the signature generation process can be found in the co-pending patent applications of which this patent application is a continuation-in-part, and are hereby incorporated by reference.
(24) Computational Core generation is a process of definition, selection and tuning of the Architecture parameters for a certain realization in a specific system and application. The process is based on several design considerations, such as:
(25) (a) The Cores should be designed so as to obtain maximal independence, i.e. the projection from a signal space should generate a maximal pair-wise distance between any two cores' projections into a high-dimensional space.
(26) (b) The Cores should be optimally designed for the type of signals, i.e. the Cores should be maximally sensitive to the spatio-temporal structure of the injected signal, for example, and in particular, sensitive to local correlations in time and space. Thus, in some cases a core represents a dynamic system, such as state in space, phase space, edge of chaos, etc., which is uniquely used herein to exploit their maximal computational power.
(27) (c) The Cores should be optimally designed with regard to invariance to a set of signal distortions, of interest in relevant applications.
(28) A system and method for generating complex signatures for a multimedia data element (MMDE) based on signatures of minimum size multimedia data elements are now discussed. Accordingly, a partitioning unit partitions the multimedia data content into minimum size multimedia data elements and selects a reduced set of MMDEs, based on generic low-level characteristics of MMDEs. A signature generator generates signatures for each of the selected minimum size multimedia data elements. An assembler unit assembles a complex signature for a higher level partition multimedia data element by assembling respective complex signatures or signatures of minimum size multimedia data elements of an immediately lower partition level. Multimedia data elements include, but are not limited to, images, graphics, video streams, video clips, audio streams, audio clips, video frames, photographs, images of signals, combinations thereof, and portions thereof. This process generates a hologram-like relationship within the complex-signature set of signatures, i.e., each signature contains some information of the complete set of multimedia data elements. While the original signature represents some local information about relevant multimedia data elements, the complex signature structure enables distributed representation of the information of the entire set of multimedia data elements.
(29) According to certain embodiments of the disclosed embodiments, complex signatures, for example but without limitation, signatures as described hereinabove, are generated for the multimedia data elements.
(30) A complex signature is a signature which is a combination of lower level signatures. In the exemplary case, the signature of the multimedia element 310 is therefore the following combination: S310={S310-a, S310-b . . . S310-i}. Each of the signatures S310-a through S310-i is also a complex signature of lower level signatures, for example, the signature S310-c is a complex signature that is a combination of: S310-c={S310-c-a, S310-c-b . . . S310-c-i}. As explained above, this may continue such that a signature S310-c-b may be a complex signature of lower level signatures. In one embodiment, at least the lowest level multimedia data elements have signatures respective of at least four angular permutations of the element, i.e., rotated by 0, rotated by 90, rotated by 180 and rotated by 270. While degrees of permutations are shown herein, other permutations may be used depending on the type of the multimedia data element. The rationale for having such image permutations is to enable better matching between multimedia data elements. The matching process is explained in detail herein below.
(31)
(32)
(33) A complex signature may be generated by an exemplary and non-limiting system 600 depicted in
(34) In accordance with another embodiment, the system 600 can be utilized to compare input multimedia data elements against stored multimedia data elements. In this embodiment, a comparison unit 650 connected to the storage unit 640 and the assembler unit 630 is used to compare the signatures comprising the complex signature of an input multimedia data element to the signatures of at least one stored multimedia data element. The comparison unit 650 further generates a match indication when a match between the input multimedia data element and the stored multimedia data element is found.
(35) The principles of the disclosed embodiments may be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPUs), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.
(36) All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosure, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.