System and method for caching of concept structures

Information

  • Patent Grant
  • 9767143
  • Patent Number
    9,767,143
  • Date Filed
    Monday, November 3, 2014
    9 years ago
  • Date Issued
    Tuesday, September 19, 2017
    6 years ago
Abstract
A method and system for caching concept structures in a cache memory of a computing device are provided. The method includes collecting metadata related to the user of the computing device; fetching at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; and, storing the at least one fetched concept structures in the cache memory, such that responsive to a request to analyze at least one multimedia content element, a cached concept structure matching the at least one multimedia content element is provided.
Description
TECHNICAL FIELD

The present invention relates generally to the analysis of multimedia content, and more specifically to a system for caching concept structures in a cache memory of a computing device for an analysis of the multimedia content.


BACKGROUND

The ubiquity of access availability to information using the Internet and the worldwide web (WWW) has naturally drawn the focus of advertisers. As a result, the Internet has also become a popular medium for advertising, where commercials are included in web pages, and the advertisers try to understand where to best place their advertisements in order to draw the attention of the users. Targeting advertisements based on the content being consumed or viewed by the users is a key in successful advertising.


With the abundance of multimedia content made available through various means in general, and the internet in particular, there is also a need to provide effective ways for analyzing the multimedia content in order for advertisers to target an audience or a user that would be more interested in their advertised product. Analyzing multimedia content, such as pictures, video/audio clips stored or viewed on the user device may be challenging at best due to the huge amount of data that needs to be processed. Typically, such processing and analysis is performed by remote systems, i.e., not locally on the mobile devices due to the computing resources required for such task. In cases where the analysis is performed using a mobile device, such as a smart phone, or a wearable computing device, the processing of multimedia content may not be feasible due to the relatively limited computing resources of such devices.


There is therefore a need in the art to overcome the deficiencies of the prior art solutions and to provide a solution for efficiently analyzing multimedia content over mobile devices.


SUMMARY

A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments nor delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “some embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.


The various disclosed embodiments include a method for caching concept structures in a cache memory of a computing device. The method comprises collecting metadata related to the user of the computing device; fetching at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; and, storing the at least one fetched concept structures in the cache memory, such that responsive to a request to analyze at least one multimedia content element, a cached concept structure matching the at least one multimedia content element is provided.


The various disclosed embodiments also include a system for caching concept structures in a cache memory of a computing device. The system comprises a processor; and a memory connected to the processor, the memory contains instructions that when executed by the processor, the system is configured to: collect metadata related to the user of the computing device; fetch at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; and, store the at least one fetched concept structures in the cache memory, such that responsive to a request to analyze at least one multimedia content element, a cached concept structure matching the at least one multimedia content element is provided.





BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter that is disclosed herein 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 invention will be apparent from the following detailed description taken in conjunction with the accompanying drawings.



FIG. 1 is a diagram of a deep-content classification (DCC) system for creating concept structures.



FIG. 2 is a flowchart illustrating the operation of the patch attention processor of the DCC system.



FIG. 3 is a block diagram depicting the basic flow of information in a large-scale video matching system.



FIG. 4 is a diagram showing the flow of patches generation, response vector generation, and signature generation in a large-scale speech-to-text system.



FIG. 5 is a flowchart illustrating the operation of the clustering processor of the DCC system.



FIG. 6 is a flowchart illustrating the operation of the concept generator of the DCC system.



FIG. 7 is a diagram of a network system utilized to describe certain disclosed embodiments.



FIG. 8 is a flowchart describing the process of caching concept structures in a cache memory of a computing device.



FIG. 9 is a flowchart describing the process of analyzing multimedia content element using the cache memory of the computing device.





DETAILED DESCRIPTION

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 inventions. 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.



FIG. 1 shows an exemplary and non-limiting diagram of a DCC system 100 for creating concept structures. The DCC system 100 is configured to receive multimedia data elements (MMDEs), for example from the Internet via the network interface 160. The MMDEs 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. The images of signals are images such as, but not limited to, medical signals, geophysical signals, subsonic signals, supersonic signals, electromagnetic signals, and infrared signals.


The MMDEs may be stored in a database (DB) 150 or kept in the DB 150 for future retrieval of the respective multimedia data element. Such a reference may be, but is not limited to, a universal resource locator (URL). Every MMDE in the DB 150, or referenced therefrom, is then processed by a patch attention processor (PAP) 110 resulting in a plurality of patches that are of specific interest, or otherwise of higher interest than other patches. A more general pattern extraction, such as an attention processor (AP) may also be used in lieu of patches. The AP receives the MMDE that is partitioned into items; an item may be an extracted pattern or a patch, or any other applicable partition depending on the type of the MMDE. The functions of the PAP 110 are described herein below in more detail.


Those patches that are of higher interest are then used by a signature generator (SG) 120 to generate signatures respective of the patch. The operation of the SG 120 is described in more detail herein below. A clustering process (CP) 130 initiates a process of inter-matching of the signatures once it determines that there are a number of patches that are above a predefined threshold. The threshold may be defined to be large enough to enable proper and meaningful clustering. With a plurality of clusters a process of clustering reduction takes place so as to extract the most useful data about the cluster and keep it at an optimal size to produce meaningful results. The process of cluster reduction is continuous. When new signatures are provided after the initial phase of the operation of the CP 130, the new signatures may be immediately checked against the reduced clusters to save on the operation of the CP 130. A more detailed description of the operation of the CP 130 is provided herein below.


A concept generator (CG) 140 operates to create concept structures from the reduced clusters provided by the CP 130. Each concept structure comprises a plurality of metadata associated with the reduced clusters. The result is a compact representation of a concept that can now be easily compared against a MMDE to determine if the received MMDE matches a concept structure stored, for example, in the DB 150 by the CG 140. This can be done, for example and without limitation, by providing a query to the DCC system 100 for finding a match between a concept structure and a MMDE. A more detailed description of the operation of the CG 140 is provided herein below.


It should be appreciated that the DCC system 100 can generate a number of concept structures significantly smaller than the number of MMDEs. For example, if one billion (109) MMDEs need to be checked for a match against another one billon MMDEs, typically the result is that no less than 109×109=1018 matches have to take place, a daunting undertaking. The DCC system 100 would typically have around 10 million concept structures or less, and therefore at most only 2×106×109=2×1015 comparisons need to take place, a mere 0.2% of the number of matches that have had to be made by other solutions. As the number of concept structures grows significantly slower than the number of MMDEs, the advantages of the DCC system 100 would be apparent to one with ordinary skill in the art.


The operation of the PAP 110 will now be provided in greater detail with respect to an image as the MMDE. However, this should not be understood as to limit the scope of the invention; other types of MMDEs are specifically included herein and may be handled by the PAP 110.



FIG. 2 depicts an exemplary and non-limiting flowchart 200 of the operation of the PAP 110. In S210 the PAP 110 receives a MMDE from a source for such MMDEs. Such a source may be a system that feeds the DCC system 100 with MMDEs or other sources for MMDEs, for example the world-wide-web (WWW). In S220 the PAP 110 creates a plurality of patches from the MMDE. A patch of an image is defined by, for example, its size, scale, location and orientation. A patch may be, for example and without limitation, a portion of an image of a size 20 pixels by 20 pixels of an image that is 1,000 pixels by 500 pixels. In the case of audio, a patch may be a segment of audio 0.5 seconds in length from a 5 minute audio clip. In S230 a patch not previously checked is processed by the PAP 110 to determine its entropy. The entropy is a measure of the amount of interesting information that may be present in the patch. For example, a continuous color of the patch has little interest while sharp edges, corners or borders, will result in higher entropy representing a lot of interesting information. The plurality of statistically independent cores, the operation of which is discussed in more detailed herein below, is used to determine the level-of-interest of the image and a process of voting takes place to determine whether the patch is of interest or not.


In S240, it is checked whether the entropy was determined to be above a predefined threshold, and if so execution continues with S250; otherwise, execution continues with S260. In S250 the patch having entropy above the threshold is stored for future use by the SG 120 in, for example, DB 150. The preconfigured threshold level may be configured based on, for example, the sensitivity of the detection. For example, a lower threshold value may be set for a security application than would be set for an entertainment application. In S260 it is checked whether there are more patches of the MMDE to be checked, and if so execution continues with S220; otherwise execution continues with S270. In S270 it is checked whether there are additional MMDEs, and if so execution continues with S210; otherwise, execution terminates. It would be appreciated by those of skill in the art that this process reduces the information that must be handled by the DCC system 100 by focusing on areas of interest in the MMDEs rather than areas that are less meaningful for the formation of a concept structure.


A high-level description of the process for large scale video matching performed by the Matching System is depicted in FIG. 3. Video content segments 2 from a Master DB 6 and a Target DB 1 are processed in parallel by a large number of independent computational cores 3 that constitute the architecture. Further details on the computational cores generation are provided below. The independent cores 3 generate a database of Robust Signatures and Signatures 4 for Target content-segments 5 and a database of Robust Signatures and Signatures 7 for Master content-segments 8. An exemplary and non-limiting process of signature generation for an audio component is shown in detail in FIG. 4. Referring back to FIG. 3, at the final step, Target Robust Signatures and/or Signatures database 4 are effectively matched, by a matching algorithm 9, to Master Robust Signatures and/or Signatures database 7 to find all matches between the two databases.


A brief description of the operation of the SG 120 is therefore provided, this time with respect to a MMDE which is a sound clip. However, this should not be understood as to limit the scope of the invention and other types of MMDEs are specifically included herein and may be handled by SG 120. 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 disclosed embodiments, that the signatures are based on a single frame, leading to certain simplification of the computational core's generation. The Matching System shown in FIG. 3 is extensible for signatures generation capturing the dynamics in-between the frames and the information of the frame's patches.


The signatures generation process will be described with reference to FIG. 4. The first step in the process of signatures generation from a given speech-segment is to break-down the speech-segment to K patches 14 of random length P and random position within the speech segment 12. The break-down is performed by the patch generator component 21. The value of K is determined based on optimization, considering the tradeoff between accuracy rate and the number of fast matches required in the flow process of the Matching System. In the next step, all the K patches are injected in parallel to all L computational Cores 3 to generate K response vectors 22. The vectors 22 are fed into the SG 120 to produce a Signatures and Robust Signatures 4.


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 computational cores 3 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.


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 Ci={ni} (1≦i≦L) may consist of a single leaky integrate-to-threshold unit (LTU) node or more nodes. The node ni equations are:







V
i

=



j




w
ij



k
j








ni=(Vi−Thx); is a Heaviside step function; wij is a coupling node unit (CNU) between node i and image component j (for example, grayscale value of a certain pixel j); kj is an image component j (for example, grayscale value of a certain pixel j); Thx is a constant Threshold value, where x is ‘S’ for Signature and ‘RS’ for Robust Signature; and Vi is a Coupling Node Value.


The Threshold values Thx are set differently for Signature generation and for Robust Signature generation. For example, for a certain distribution of vi values (for the set of nodes), the thresholds for Signature (ThS) and Robust Signature (ThRS) are set apart, after optimization, according to at least one or more of the following criteria:

I: For: Vi=ThRS 1−p(V>ThS)−1−(1−ε)1<<1

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).

II: p(Vi<ThRS)≈l/L

i.e., approximately I 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.


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. The detailed description of the Signature generation can be found U.S. Pat. Nos. 8,326,775 and 8,312,031, assigned to common assignee, which are hereby incorporated by reference for all the useful information they contain.


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: (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; (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 in state space, phase space, edge of chaos, etc., which is uniquely used herein to exploit their maximal computational power, and, (c) The cores should be optimally designed with regard to invariance to a set of signal distortions, of interest in relevant applications. Detailed description of the computational core generation, the computational architecture, and the process for configuring such cores is discussed in more detail in the issued U.S. Pat. No. 8,655,801 referenced above.


Hence, signatures are generated by the SG 120 responsive of patches received either from the PAP 110, or retrieved from the DB 150, as discussed hereinabove. It should be noted that other ways for generating signatures may also be used for the purpose the DCC system 100. Furthermore, as noted above, the array of computational cores may be used by the PAP 110 for the purpose of determining if a patch has an entropy level that is of interest for signature generation according to the principles of the invention. The generated signatures are stored, for example, in the DB 150, with reference to the MMDE and the patch for which it was generated thereby enabling back annotation as may be necessary.


Portions of the CP 130 have been discussed in detail in the co-pending U.S. patent application Ser. No. 12/507,489, entitled “Unsupervised Clustering of Multimedia Data Using a Large-Scale Matching System”, filed Jul. 22, 2009, assigned to common assignee (the “'489 Application”), and which is hereby incorporated for all that it contains. In accordance with an embodiment, an inter-match process and clustering thereof is utilized. The process can be performed on signatures provided by the SG 120. It should be noted though that this inter-matching and clustering process is merely an example for the operation of the CP 130 and other inter-matching and/or clustering processes may be used for the purpose of the invention.


Following is a brief description of the inter-match and clustering process. The unsupervised clustering process maps a certain content-universe onto a hierarchical structure of clusters. The content-elements of the content-universe are mapped to signatures, when applicable. The signatures of all the content-elements are matched to each other, and consequently generate the inter-match matrix. The described clustering process leads to a set of clusters. Each cluster is represented by a small/compressed number of signatures, for example signatures generated by SG 120 as further explained hereinabove, which can be increased by variants. This results in a highly compressed representation of the content-universe. A connection graph between the multimedia data elements of a cluster may be stored. The graph can then be used to assist a user searching for data to move along the graph in the search of a desired multimedia data element.


In another embodiment, upon determination of a cluster, a signature for the whole cluster may be generated based on the signatures of the multimedia data elements that belong to the cluster. It should be appreciated that using a Bloom filter may be used to reach such signatures. Furthermore, as the signatures are correlated to some extent, the hash functions of the Bloom filter may be replaced by simpler pattern detectors, with the Bloom filter being the upper limit.


While signatures are used here as the basic data elements, it should be realized that other data elements may be clustered using the techniques discussed above. For example, a system generating data items is used, where the data items generated may be clustered according to the disclosed principles. Such data items may be, without limitation, multimedia data elements. The clustering process may be performed by dedicated hardware or by using a computing device having storage to store the data items generated by the system and then performing the process described herein above. Then, the clusters can be stored in memory for use as may be deemed necessary.


The CP 130 further uses an engine designed to reduce the number of signatures used in a structure, in a sense extracting only the most meaningful signatures that identify the cluster uniquely. This can be done by testing a removal of a signature from a cluster and checking if the MMDEs associated with the cluster still are capable of being recognized by the cluster through signature matching.


The process of signature extraction is on-going as the DCC system 100 operates. It should be noted that after initialization, upon signature generation by the SG 120 of a MMDE, its respective signature is first checked against the clusters to see if there is a match and if so it may not be necessary to add the signature to the cluster or clusters but rather simply associate the MMDE with the identified cluster or clusters. However, in some cases where additional refinement of the concept structure is possible, the signature may be added, or at times even replace one or more of the existing signatures in the reduced cluster. If no match is found then the process of inter-matching and clustering may take place.



FIG. 5 depicts an exemplary and non-limiting flowchart 500 of the operation of the CP 130. In S510 a signature of a MMDE is received, for example from the SG 120. In S520 it is checked whether the signature matches one or more existing clusters and if so execution continues with S550; otherwise, execution continues with S530. In S530 an inter-match between a plurality of signatures previously received by the DCC system 100 is performed, for example in accordance with the principles of the '489 Application. As may be necessary the DB 150 may be used to store results or intermediate results as the case may be, however, other memory elements may be used. In S540 a clustering process takes place, for example in accordance with the principles of the '489 Application. As may be necessary the DB 150 may be used to store results or intermediate results as the case may be, however, other memory elements may be used.


In S550, the signature identified to match one or more clusters is associated with the existing cluster(s). In S560 it is checked whether a periodic cluster reduction is to be performed, and if so execution continues with S570; otherwise, execution continues with S580. In S570 the cluster reduction process is performed. Specifically, the purpose of the operation is to ensure that in the cluster there remains the minimal number of signatures that still identify all of the MMDEs that are associated with the signature reduced cluster (SRC). This can be performed, for example, by attempting to match the signatures of each of the MMDEs associated with the SRC having one or more signatures removed therefrom. The process of cluster reduction for the purpose of generating SRCs may be performed in parallel and independently of the process described herein above. In such a case, after either S560 or S570 the operation of S580 takes place. In S580 it is checked whether there are additional signatures to be processed and if so execution continues with S510; otherwise, execution terminates. SRCs may be stored in memory, such as DB 150, for the purpose of being used by other elements comprising the DCC system 100.


The CG 140 performs two tasks, it associates metadata to the SRCs provided by the CP 130 and it associates between similar clusters based on commonality of metadata. Exemplary and non-limiting methods for associating metadata with MMDEs is described in U.S. patent application Ser. No. 12/348,888, entitled “Methods for Identifying Relevant Metadata for Multimedia Data of a Large-Scale Matching System”, filed on Jan. 5, 2009, assigned to common assignee (the “'888 Application”), and which is hereby incorporated for all that it contains. One embodiment of the '888 Application includes a method for identifying and associating metadata to input MMDEs. The method comprises comparing an input first MMDE to at least a second MMDE; collecting metadata of at least the second MMDE when a match is found between the first MMDE and at least the second MMDE; associating at least a subset of the collected metadata to the first MMDE; and storing the first MMDE and the associated metadata in a storage.


Another embodiment of the '888 Application includes a system for collecting metadata for a first MMDE. The system comprises a plurality of computational cores enabled to receive the first MMDE, each core having properties to be statistically independent of each other core, each generating responsive to the first MMDE a first signature element and a second signature element, the first signature element being a robust signature; a storage unit for storing at least a second MMDE, metadata associated with the second MMDE, and at least one of a first signature and a second signature associated with the second MMDE, the first signature being a robust signature; and a comparison unit for comparing signatures of MMDEs coupled to the plurality of computational cores and further coupled to the storage unit for the purpose of determining matches between multimedia data elements; wherein responsive to receiving the first MMDE the plurality of computational cores generate a respective first signature of said first MMDE and/or a second signature of said first MMDE, for the purpose of determining a match with at least a second MMDE stored in the storage and associating metadata associated with the at least second MMDE with the first MMDE.


Similar processes to match metadata with a MMDE or signatures thereof may be used. Accordingly, each SRC is associated with metadata which is the combination of the metadata associated with each of the signatures that are included in the respective SRC, preferably without repetition of metadata. A plurality of SRCs having metadata may now be associated to each other based on the metadata and/or partial match of signatures. For example, and without limitation, if the metadata of a first SRC and the metadata of a second SRC overlap more than a predetermined threshold level, for example 50% of the metadata match, they may be considered associated clusters that form a concept structure. Similarly, a second threshold level can be used to determine if there is an association between two SRCs where at least a number of signatures above the second threshold are identified as a match with another SRC. The preconfigured threshold level may be configured based on, for example, the sensitivity of the detection. For example, a lower threshold value may be set for a security application than would be set for an entertainment application. As a practical example one may want to consider the concept of Abraham Lincoln where images of the late President and features thereof, appear in a large variety of photographs, drawings, paintings, sculptures and more and are associated as a concept structure of the concept “Abraham Lincoln”. Each concept structure may be then stored in memory, for example the DB 150, for further use.



FIG. 6 shows an exemplary and non-limiting flowchart 600 of the operation of the CG 140. In S610 the CG 140 receives a SRC from either the CP 130 or by accessing memory, for example, the DB 150. In S620 metadata are generated for the signatures of the SRC, for example in accordance with the principles described hereinabove. A list of the metadata is created for the SRC preferably with no metadata duplication. In one embodiment the commonality of metadata is used to signify the strength of the metadata with respect to a signature and/or the SRC, i.e., a higher number of metadata repetitions is of more importance to the SRC than a lower number of repetitions. Furthermore, in one embodiment a threshold may be used to remove those metadata that have a significantly low rate of repetition as not being representative of the SRC. The threshold can be preconfigured based on, for example, the sensitivity of the detection. For example, a lower threshold value may be set for a security application than would be set for an entertainment application.


In S630 the SRC is matched to previously generated SRCs to attempt to find various matches, as described, for example, hereinabove in more detail. In S640, it is checked if at least one match was found and if so, execution continues with S650; otherwise, execution continues with S660. In S650 the SRC is associated with one or more of the concept structures to which the SRC has been shown to match. In S660 it is checked whether additional SRCs are to be received and if so execution continues with S610; otherwise, execution terminates.


A person skilled in the art would now appreciate the advantages of the DCC system 100 and methods thereof. The DCC system 100 is configured to create automatically and in an unsupervised fashion concept structures of a wide variety of MMDEs. When checking a new MMDE it may be checked against the concept structures stored, for example, in the DB 150, and upon detection of a match providing the concept information about the MMDE. With the number of concept structures being significantly lower than the number of MMDEs the solution is cost effective and scalable for the purpose of identification of content of a MMDE.



FIG. 7 shows an exemplary and non-limiting schematic diagram of a network system 700 utilized to describe various disclosed embodiments. A network 710 is used as a means for communication between different elements of the system 700. The network 710 may be the Internet, the world-wide-web (WWW), a local area network (LAN), a wide area network (WAN), a metro area network (MAN), and the like.


At least one computing device 720 is connected to the network 710. The computing device 720 includes at least a program to access the WWW, such as but not limited to a web browser 721. The computing device 720 also includes one or more physical sensors 722-1 through 722-n (collectively referred hereinafter as sensors 722 or individually as a sensor 722, merely for simplicity purposes) configured to capture sensory information. In a preferred embodiment, the sensory information is captured with respect to a MMDE displayed over the web browser 721. Each one of the sensors 722 may be, for example, but not limited to, a camera, a web camera, a microphone, a Global Positioning System (GPS), an image analyzer, a speech recognizer, and the like. The sensors 722 are configured to generate metadata related multimedia content captured by the computing device 720. Such metadata may be, for example, environmental variables related to the captured multimedia content. Such variables may include, but are not limited to, time of capture, location, motion information, weather information within the location, and more.


The computing device 720 may be, for example, a personal computer (PC), a personal digital assistant (PDA), a mobile phone, a smartphone, a tablet computer, a wearable computing device and other kinds of wired and mobile appliances, equipped with browsing, viewing, listening, filtering, storing and managing capabilities. The computing device 720 is configured to collect metadata related to the user of the computing device 720. According to one embodiment, the metadata related to the user of the computing device 720 may be collected by the sensors 722. Such metadata may be, for example, demographic information related to the user, user's experience, content viewed and/or stored by the user, etc.


Also connected to the network 710 is a server 730 configured to at least fetch concept structures respective of the collected metadata. The concept structures are fetched from a data warehouse 760. To this end, the server 730 is connected to a DCC system 740 and a signature generator 750. The DCC system 740 is configured and operates as the DCC system 100 discussed in detail above. The signature generator 750 is configured and operates as the SG 120. In certain configurations, the SG 120 of the DCC system 100 is utilized as the signature generator 750. The DCC system 740 and signature generator 750 may be connected through the server 730 to the network 710 or through a direct connection. In certain configurations, the DCC system 740 and signature generator 750 may be embedded in the server 730.


It should be noted that the DCC system 100 typically comprises a processing unit and a memory (not shown). The processor is coupled to the memory, which is configured to contain instructions that can be executed by the processor.


According to the embodiments disclosed herein, metadata related to a user of the computing device 720 is collected. Using the collected metadata, at least one concept structure is fetched by the server 730 from the data warehouse using the DDC system 740. The fetched concept structure is sent to the computing device 720 and stored in the cache memory of the device 720. As a non-limiting example, a user of the computing device 720 is identified as 18 years old that is located in New York City, USA. Respective thereto, concept structures are identified that were commonly used by users with similar demographic information. Respective thereto, such concept structures are fetched and stored in the cache memory of the computing device 720.


In an embodiment, concept structures matching the metadata can be retrieved directly by the computing device 720. To this end, a device 720 sends the collected metadata to the DCC system to retrieve matching concept structures. Such matching can be performed respective of the metadata associated with a concept structure. The matching concept structures are cached in the user device.


Upon receiving a request to analyze at least one multimedia content element, metadata related to at least one multimedia content element is identified. Typically, metadata of a content element is saved as part of the element included attributes and/or attributes of the element. The metadata can identify owner of the element, keywords about the element, data of creation, technical specification of the element. It should be noted that the metadata of the content element, concept structures, and metadata collected by the sensors are different.


Respective of the content element metadata a matching at least one concept structure existing in the cache memory of the computing device 720 is identified. The matching concept structure is associated with a metadata that is similar current metadata.


In another embodiment, a matching concept can be retrieved based on an input multimedia content element that does not include any metadata. As an example, such an element is a picture captured by the computing device 720. In this embodiment, at least one signature is generated for the input multimedia content element, such signatures can be processed locally by the computing device 720. Then the generated signature is compared to each concept structure cached in the computing device 720. A process for identifying a matching concept structure based on the generated signature is discussed above.



FIG. 8 is a non-limiting and exemplary flowchart 800 describing a method for fetching concept structures respective of metadata related to user of the computing device 720 according to one embodiment. In an embodiment the method is performed by the computing device 720. In S810, metadata related to the user of the computing device 720 is collected. The metadata related to the user may be collected by any one of the sensors 722 as further described hereinabove.


In S820, at least one concept structure is fetched using the collected metadata. In one embodiment, the metadata is sent to a DCC system 100 that returns matching concept structures. In another embodiment, the metadata is sent to a remote server that fetches matching concepts respective of the metadata. In S830, a featured concept structure is stored in the cache memory of the computing device 720 for future analysis of multimedia content elements received from the computing device 720. In S840, it is checked whether additional metadata was collected and if so, execution continues with S820; otherwise, execution terminates.



FIG. 9 is a flowchart describing the process of analyzing multimedia content element using the cached concept structure according to one embodiment. In an exemplary implementation the method is performed by the computing device 720.


In S910, a request to analyze at least one multimedia content element is received. Such a request may be generated by a software application (e.g., a browser and/or a mobile app) installed on the computing device 720. The request may include a multimedia content element to be analyzed, a URL of a web-page with an identifier of the input multimedia content element, a URL of the element to be analyzed, and so on.


In S920, metadata respective to the at least one multimedia content element is identified.


In S930, the metadata of the at least one multimedia content element is matched to the cached concept structures. As noted above, a concept structure is associated with its own metadata, therefore a comparison would be based on the respective metadata.


In S940, it is checked if such a match is found, and if so execution continues with S960; otherwise, execution continues with S950. In S950, if a match was not found, the at least one multimedia content element is input to the cache memory to create a new concept structure as discussed above and execution continues with S970. In S960, the matching concept structure is returned. The matching concept structure can be utilized for a variety of applications, such as providing matching advertisements or search queries. In S970, it is checked whether there are additional requests and if so, execution continues with S920, otherwise, execution terminates.


The embodiments disclosed herein 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 non-transitory computer readable medium consisting of parts, or of certain devices and/or a combination of devices. 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. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.


All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the several embodiments 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 invention, 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.

Claims
  • 1. A method for caching concept structures in a cache memory of a computing device, comprising: collecting metadata related to a user of the computing device;fetching at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; andstoring the at least one fetched concept structure in the cache memory such that, responsive to a request to analyze at least one multimedia content element, a cached concept structure matching the at least one multimedia content element is provided.
  • 2. The method of claim 1, wherein the metadata is collected by at least one sensor of the computing device.
  • 3. The method of claim 1, wherein the metadata is at least one of: demographic information related to the user, a user's experience, content viewed by the user, and content stored in the computing device by the user.
  • 4. The method of claim 1, wherein the at least one concept structure is fetched from at least one of: a deep content classification system, and a data storage.
  • 5. The method of claim 1, wherein analyzing the at least one multimedia content element further comprises: identifying cached concept structures that match metadata associated with the at least one multimedia content element.
  • 6. The method of claim 5, wherein analyzing the at least one multimedia content element further comprising: generating a signature to the at least one multimedia content element; andmatching the generated signature to signatures representing the cached concept structures.
  • 7. The method of claim 1, wherein the multimedia content element is at least one of: an image, graphics, a video stream, a video clip, an audio stream, an audio clip, a video frame, a photograph, images of signals, medical signals, geophysical signals, subsonic signals, supersonic signals, electromagnetic signals, and infrared signals.
  • 8. The method of claim 1, wherein the method is performed locally by the computing device.
  • 9. The method of claim 1, wherein each concept structure includes a plurality of signature-reduced clusters and associated metadata.
  • 10. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process comprising: collecting metadata related to a user of the computing device;fetching at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; andstoring the at least one fetched concept structure in the cache memory such that, responsive to a request to analyze at least one multimedia content element, a cached concept structure matching the at least one multimedia content element is provided.
  • 11. A system for caching concept structures in a cache memory of a computing device, comprising: a processing circuitry; anda memory connected to the processing circuitry, the memory containing instructions that when executed by the processing circuitry configure the system to:collect metadata related to a user of the computing device;fetch at least one concept structure that matches the collected metadata, wherein each concept structure comprises a concept metadata; andstore the at least one fetched concept structure in the cache memory such that, responsive to a request to analyze at least one multimedia content element, cached concept structure matching the at least one multimedia content element is provided.
  • 12. The system of claim 11, wherein the metadata is collected by at least one sensor of the computing device.
  • 13. The system of claim 11, wherein the metadata is at least one of: demographic information related to the user, user's experience, content viewed by the user, and content stored in the computing device.
  • 14. The system of claim 11, wherein the at least one concept structure is fetched from at least one of: a deep content classification system, and a data storage.
  • 15. The system of claim 11, wherein the system is further configured to: identify cached concept structures that match metadata associated with the at least one multimedia content element.
  • 16. The system of claim 15, wherein the system is further configured to: generate a signature to the at least one multimedia content element; andmatch the generated signature to signatures representing the cached concept structures.
  • 17. The system of claim 11, wherein the multimedia content element is at least one of: an image, graphics, a video stream, a video clip, an audio stream, an audio clip, a video frame, a photograph, images of signals, medical signals, geophysical signals, subsonic signals, supersonic signals, electromagnetic signals, and infrared signals.
  • 18. The system of claim 11, wherein each concept structure includes a plurality of signature-reduced clusters and associated metadata.
Priority Claims (3)
Number Date Country Kind
171577 Oct 2005 IL national
173409 Jan 2006 IL national
185414 Aug 2007 IL national
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. 61/899,224 filed on Nov. 3, 2013, and is a continuation-in-part (CIP) of U.S. patent application Ser. No. 14/013,636 filed on Aug. 29, 2013, now pending. The Ser. No. 14/013,636 application is a CIP of U.S. patent application Ser. No. 13/602,858 filed Sep. 4, 2012, now U.S. Pat. No. 8,868,619, which is a continuation of U.S. patent application Ser. No. 12/603,123 filed on Oct. 21, 2009, now U.S. Pat. No. 8,266,185. The Ser. No. 12/603,123 application is a continuation-in-part of: (1) U.S. patent application Ser. No. 12/084,150 having a filing date of Apr. 7, 2009, now U.S. Pat. No. 8,655,801, which is the National Stage of International Application No. PCT/IL2006/001235, filed on Oct. 26, 2006, which claims foreign priority from Israeli Application No. 171577 filed on Oct. 26, 2005 and Israeli Application No. 173409 filed on Jan. 29, 2006;(2) U.S. patent application Ser. No. 12/195,863, filed Aug. 21, 2008, now U.S. Pat. No. 8,326,775, which claims priority under 35 USC 119 from Israeli Application No. 185414 filed on Aug. 21, 2007, and which is also a continuation-in-part of the above-referenced U.S. patent application Ser. No. 12/084,150;(3) U.S. patent application Ser. No. 12/348,888, filed Jan. 5, 2009, now pending, which is a CIP of the above-referenced U.S. patent application Ser. No. 12/084,150 and the above-referenced U.S. patent application Ser. No. 12/195,863; and(4) U.S. patent application Ser. No. 12/538,495 filed Aug. 10, 2009, now U.S. Pat. No. 8,312,031, which is a CIP of the above-referenced U.S. patent application Ser. No. 12/084,150; the above-referenced U.S. patent application Ser. No. 12/195,863; and the above-referenced U.S. patent application Ser. No. 12/348,888. All of the applications referenced above are herein incorporated by reference.

US Referenced Citations (327)
Number Name Date Kind
4733353 Jaswa Mar 1988 A
4932645 Schorey et al. Jun 1990 A
4972363 Nguyen et al. Nov 1990 A
5307451 Clark Apr 1994 A
5568181 Greenwood Oct 1996 A
5806061 Chaudhuri et al. Sep 1998 A
5852435 Vigneaux et al. Dec 1998 A
5870754 Dimitrova et al. Feb 1999 A
5873080 Coden et al. Feb 1999 A
5887193 Takahashi et al. Mar 1999 A
5940821 Wical Aug 1999 A
5978754 Kumano Nov 1999 A
5987454 Hobbs Nov 1999 A
6038560 Wical Mar 2000 A
6052481 Grajski et al. Apr 2000 A
6076088 Paik et al. Jun 2000 A
6122628 Castelli et al. Sep 2000 A
6137911 Zhilyaev Oct 2000 A
6144767 Bottou et al. Nov 2000 A
6147636 Gershenson Nov 2000 A
6240423 Hirata May 2001 B1
6243375 Speicher Jun 2001 B1
6243713 Nelson et al. Jun 2001 B1
6329986 Cheng Dec 2001 B1
6363373 Steinkraus Mar 2002 B1
6381656 Shankman Apr 2002 B1
6411229 Kobayashi Jun 2002 B2
6422617 Fukumoto et al. Jul 2002 B1
6493692 Kobayashi et al. Dec 2002 B1
6493705 Kobayashi et al. Dec 2002 B1
6523022 Hobbs Feb 2003 B1
6523046 Liu Feb 2003 B2
6524861 Anderson Feb 2003 B1
6526400 Takata et al. Feb 2003 B1
6550018 Abonamah et al. Apr 2003 B1
6560597 Dhillon et al. May 2003 B1
6594699 Sahai et al. Jul 2003 B1
6601060 Tomaru Jul 2003 B1
6611628 Sekiguchi et al. Aug 2003 B1
6611837 Schreiber Aug 2003 B2
6618711 Ananth Sep 2003 B1
6643620 Contolini et al. Nov 2003 B1
6643643 Lee et al. Nov 2003 B1
6675159 Lin et al. Jan 2004 B1
6704725 Lee Mar 2004 B1
6728706 Aggarwal et al. Apr 2004 B2
6732149 Kephart May 2004 B1
6751363 Natsev et al. Jun 2004 B1
6754435 Kim Jun 2004 B2
6763069 Divakaran et al. Jul 2004 B1
6763519 McColl et al. Jul 2004 B1
6774917 Foote et al. Aug 2004 B1
6795818 Lee Sep 2004 B1
6804356 Krishnamachari Oct 2004 B1
6819797 Smith et al. Nov 2004 B1
6836776 Schreiber Dec 2004 B2
6845374 Oliver et al. Jan 2005 B1
6901207 Watkins May 2005 B1
6938025 Lulich et al. Aug 2005 B1
6970881 Mohan et al. Nov 2005 B1
6978264 Chandrasekar et al. Dec 2005 B2
7006689 Kasutani Feb 2006 B2
7013051 Sekiguchi et al. Mar 2006 B2
7043473 Rassool et al. May 2006 B1
7124149 Smith et al. Oct 2006 B2
7199798 Echigo et al. Apr 2007 B1
7215828 Luo May 2007 B2
7260564 Lynn et al. Aug 2007 B1
7277928 Lennon Oct 2007 B2
7296012 Ohashi Nov 2007 B2
7302117 Sekiguchi et al. Nov 2007 B2
7313805 Rosin et al. Dec 2007 B1
7346629 Kapur et al. Mar 2008 B2
7392238 Zhou et al. Jun 2008 B1
7406459 Chen et al. Jul 2008 B2
7450740 Shah et al. Nov 2008 B2
7523102 Bjarnestam et al. Apr 2009 B2
7536384 Venkataraman et al. May 2009 B2
7542969 Rappaport et al. Jun 2009 B1
7548910 Chu et al. Jun 2009 B1
7555477 Bayley et al. Jun 2009 B2
7555478 Bayley et al. Jun 2009 B2
7562076 Kapur Jul 2009 B2
7574436 Kapur et al. Aug 2009 B2
7574668 Nunez et al. Aug 2009 B2
7577656 Kawai et al. Aug 2009 B2
7657100 Gokturk et al. Feb 2010 B2
7660468 Gokturk et al. Feb 2010 B2
7694318 Eldering et al. Apr 2010 B2
7836054 Kawai et al. Nov 2010 B2
7920894 Wyler Apr 2011 B2
7921107 Chang et al. Apr 2011 B2
7974994 Li et al. Jul 2011 B2
7987194 Walker et al. Jul 2011 B1
7987217 Long Jul 2011 B2
7991715 Schiff et al. Aug 2011 B2
8000655 Wang et al. Aug 2011 B2
8036893 Reich Oct 2011 B2
8098934 Vincent et al. Jan 2012 B2
8112376 Raichelgauz et al. Feb 2012 B2
8266185 Raichelgauz et al. Sep 2012 B2
8312031 Raichelgauz et al. Nov 2012 B2
8315442 Gokturk et al. Nov 2012 B2
8316005 Moore Nov 2012 B2
8326775 Raichelgauz et al. Dec 2012 B2
8345982 Gokturk et al. Jan 2013 B2
8548828 Longmire Oct 2013 B1
8655801 Raichelgauz et al. Feb 2014 B2
8677377 Cheyer et al. Mar 2014 B2
8682667 Haughay Mar 2014 B2
8688446 Yanagihara Apr 2014 B2
8706503 Cheyer et al. Apr 2014 B2
8775442 Moore et al. Jul 2014 B2
8799195 Raichelgauz et al. Aug 2014 B2
8799196 Raichelquaz et al. Aug 2014 B2
8818916 Raichelgauz et al. Aug 2014 B2
8868619 Raichelgauz et al. Oct 2014 B2
8880539 Raichelgauz et al. Nov 2014 B2
8880566 Raichelgauz et al. Nov 2014 B2
8886648 Procopio et al. Nov 2014 B1
8898568 Bull et al. Nov 2014 B2
8922414 Raichelgauz et al. Dec 2014 B2
8959037 Raichelgauz et al. Feb 2015 B2
8990125 Raichelgauz et al. Mar 2015 B2
9009086 Raichelgauz et al. Apr 2015 B2
9031999 Raichelgauz et al. May 2015 B2
9087049 Raichelgauz et al. Jul 2015 B2
9104747 Raichelgauz et al. Aug 2015 B2
9165406 Gray et al. Oct 2015 B1
9191626 Raichelgauz et al. Nov 2015 B2
9197244 Raichelgauz et al. Nov 2015 B2
9218606 Raichelgauz et al. Dec 2015 B2
9235557 Raichelgauz et al. Jan 2016 B2
9256668 Raichelgauz et al. Feb 2016 B2
9323754 Ramanathan et al. Apr 2016 B2
9330189 Raichelgauz et al. May 2016 B2
9438270 Raichelgauz et al. Sep 2016 B2
20010019633 Tenze et al. Sep 2001 A1
20010038876 Anderson Nov 2001 A1
20010056427 Yoon et al. Dec 2001 A1
20020019881 Bokhari et al. Feb 2002 A1
20020038299 Zernik et al. Mar 2002 A1
20020059580 Kalker et al. May 2002 A1
20020087530 Smith et al. Jul 2002 A1
20020099870 Miller et al. Jul 2002 A1
20020107827 Benitez-Jimenez et al. Aug 2002 A1
20020123928 Eldering et al. Sep 2002 A1
20020126872 Brunk et al. Sep 2002 A1
20020129296 Kwiat et al. Sep 2002 A1
20020143976 Barker et al. Oct 2002 A1
20020147637 Kraft et al. Oct 2002 A1
20020152267 Lennon Oct 2002 A1
20020157116 Jasinschi Oct 2002 A1
20020159640 Vaithilingam et al. Oct 2002 A1
20020161739 Oh Oct 2002 A1
20020163532 Thomas et al. Nov 2002 A1
20020174095 Lulich et al. Nov 2002 A1
20020178410 Haitsma et al. Nov 2002 A1
20030028660 Igawa et al. Feb 2003 A1
20030041047 Chang et al. Feb 2003 A1
20030050815 Seigel et al. Mar 2003 A1
20030078766 Appelt et al. Apr 2003 A1
20030086627 Berriss et al. May 2003 A1
20030089216 Birmingham et al. May 2003 A1
20030126147 Essafi et al. Jul 2003 A1
20030182567 Barton et al. Sep 2003 A1
20030191764 Richards Oct 2003 A1
20030200217 Ackerman Oct 2003 A1
20030217335 Chung et al. Nov 2003 A1
20030229531 Heckerman et al. Dec 2003 A1
20040003394 Ramaswamy Jan 2004 A1
20040025180 Begeja et al. Feb 2004 A1
20040068510 Hayes et al. Apr 2004 A1
20040107181 Rodden Jun 2004 A1
20040111465 Chuang et al. Jun 2004 A1
20040117367 Smith et al. Jun 2004 A1
20040128142 Whitham Jul 2004 A1
20040128511 Sun et al. Jul 2004 A1
20040133927 Sternberg et al. Jul 2004 A1
20040153426 Nugent Aug 2004 A1
20040215663 Liu et al. Oct 2004 A1
20040249779 Nauck et al. Dec 2004 A1
20040260688 Gross Dec 2004 A1
20040267774 Lin et al. Dec 2004 A1
20050021394 Miedema et al. Jan 2005 A1
20050114198 Koningstein et al. May 2005 A1
20050131884 Gross et al. Jun 2005 A1
20050144455 Haitsma Jun 2005 A1
20050177372 Wang et al. Aug 2005 A1
20050238238 Xu et al. Oct 2005 A1
20050245241 Durand et al. Nov 2005 A1
20050262428 Little et al. Nov 2005 A1
20050281439 Lange Dec 2005 A1
20050289163 Gordon et al. Dec 2005 A1
20050289590 Cheok et al. Dec 2005 A1
20060004745 Kuhn et al. Jan 2006 A1
20060013451 Haitsma Jan 2006 A1
20060020860 Tardif et al. Jan 2006 A1
20060020958 Allamanche et al. Jan 2006 A1
20060026203 Tan et al. Feb 2006 A1
20060031216 Semple et al. Feb 2006 A1
20060041596 Stirbu Feb 2006 A1
20060048191 Xiong Mar 2006 A1
20060064037 Shalon et al. Mar 2006 A1
20060112035 Cecchi et al. May 2006 A1
20060129822 Snijder et al. Jun 2006 A1
20060143674 Jones et al. Jun 2006 A1
20060153296 Deng Jul 2006 A1
20060159442 Kim et al. Jul 2006 A1
20060173688 Whitham Aug 2006 A1
20060184638 Chua et al. Aug 2006 A1
20060204035 Guo et al. Sep 2006 A1
20060217818 Fujiwara Sep 2006 A1
20060217828 Hicken Sep 2006 A1
20060224529 Kermani Oct 2006 A1
20060236343 Chang Oct 2006 A1
20060242139 Butterfield et al. Oct 2006 A1
20060242554 Gerace et al. Oct 2006 A1
20060247983 Dalli Nov 2006 A1
20060248558 Barton et al. Nov 2006 A1
20060253423 McLane et al. Nov 2006 A1
20070009159 Fan Jan 2007 A1
20070011151 Hagar et al. Jan 2007 A1
20070019864 Koyama et al. Jan 2007 A1
20070033163 Epstein et al. Feb 2007 A1
20070038608 Chen Feb 2007 A1
20070038614 Guha Feb 2007 A1
20070042757 Jung et al. Feb 2007 A1
20070061302 Ramer et al. Mar 2007 A1
20070067304 Ives Mar 2007 A1
20070067682 Fang Mar 2007 A1
20070071330 Oostveen et al. Mar 2007 A1
20070074147 Wold Mar 2007 A1
20070083611 Farago et al. Apr 2007 A1
20070091106 Moroney Apr 2007 A1
20070130112 Lin Jun 2007 A1
20070130159 Gulli et al. Jun 2007 A1
20070168413 Barletta et al. Jul 2007 A1
20070174320 Chou Jul 2007 A1
20070195987 Rhoads Aug 2007 A1
20070244902 Seide et al. Oct 2007 A1
20070253594 Lu et al. Nov 2007 A1
20070255785 Hayashi et al. Nov 2007 A1
20070268309 Tanigawa et al. Nov 2007 A1
20070282826 Hoeber et al. Dec 2007 A1
20070294295 Finkelstein et al. Dec 2007 A1
20070298152 Baets Dec 2007 A1
20080046406 Seide et al. Feb 2008 A1
20080049629 Morrill Feb 2008 A1
20080072256 Boicey et al. Mar 2008 A1
20080091527 Silverbrook et al. Apr 2008 A1
20080152231 Gokturk et al. Jun 2008 A1
20080163288 Ghosal et al. Jul 2008 A1
20080165861 Wen et al. Jul 2008 A1
20080172615 Igelman et al. Jul 2008 A1
20080201299 Lehikoinen et al. Aug 2008 A1
20080204706 Magne et al. Aug 2008 A1
20080237359 Silverbrook et al. Oct 2008 A1
20080253737 Kimura et al. Oct 2008 A1
20080263579 Mears et al. Oct 2008 A1
20080270373 Oostveen et al. Oct 2008 A1
20080313140 Pereira et al. Dec 2008 A1
20090013414 Washington et al. Jan 2009 A1
20090022472 Bronstein et al. Jan 2009 A1
20090037408 Rodgers Feb 2009 A1
20090043637 Eder Feb 2009 A1
20090089587 Brunk et al. Apr 2009 A1
20090119157 Dulepet May 2009 A1
20090125544 Brindley May 2009 A1
20090148045 Lee et al. Jun 2009 A1
20090157575 Schobben et al. Jun 2009 A1
20090175538 Bronstein et al. Jul 2009 A1
20090245573 Saptharishi et al. Oct 2009 A1
20090245603 Koruga et al. Oct 2009 A1
20090277322 Cai et al. Nov 2009 A1
20100042646 Raichelgauz et al. Feb 2010 A1
20100082684 Churchill et al. Apr 2010 A1
20100104184 Bronstein et al. Apr 2010 A1
20100125569 Nair et al. May 2010 A1
20100162405 Cook et al. Jun 2010 A1
20100173269 Puri et al. Jul 2010 A1
20100268524 Nath et al. Oct 2010 A1
20100306193 Pereira et al. Dec 2010 A1
20100318493 Wessling Dec 2010 A1
20100322522 Wang et al. Dec 2010 A1
20110052063 McAuley et al. Mar 2011 A1
20110055585 Lee Mar 2011 A1
20110145068 King et al. Jun 2011 A1
20110202848 Ismalon Aug 2011 A1
20110246566 Kashef et al. Oct 2011 A1
20110251896 Impollonia et al. Oct 2011 A1
20110313856 Cohen et al. Dec 2011 A1
20120082362 Diem et al. Apr 2012 A1
20120131454 Shah May 2012 A1
20120150890 Jeong et al. Jun 2012 A1
20120167133 Carroll et al. Jun 2012 A1
20120185445 Borden et al. Jul 2012 A1
20120197857 Huang et al. Aug 2012 A1
20120239694 Avner et al. Sep 2012 A1
20120299961 Ramkumar et al. Nov 2012 A1
20120330869 Durham Dec 2012 A1
20120331011 Raichelgauz et al. Dec 2012 A1
20130031489 Gubin et al. Jan 2013 A1
20130066856 Ong et al. Mar 2013 A1
20130067035 Amanat et al. Mar 2013 A1
20130067364 Berntson et al. Mar 2013 A1
20130086499 Dyor et al. Apr 2013 A1
20130089248 Remiszewski et al. Apr 2013 A1
20130104251 Moore et al. Apr 2013 A1
20130159298 Mason et al. Jun 2013 A1
20130173635 Sanjeev Jul 2013 A1
20130325550 Varghese et al. Dec 2013 A1
20130332951 Gharaat et al. Dec 2013 A1
20140019264 Wachman et al. Jan 2014 A1
20140025692 Pappas Jan 2014 A1
20140147829 Jerauld May 2014 A1
20140152698 Kim et al. Jun 2014 A1
20140176604 Venkitaraman et al. Jun 2014 A1
20140188786 Raichelgauz et al. Jul 2014 A1
20140250032 Huang et al. Sep 2014 A1
20140282655 Roberts Sep 2014 A1
20140300722 Garcia Oct 2014 A1
20140310825 Raichelgauz et al. Oct 2014 A1
20140330830 Raichelgauz et al. Nov 2014 A1
20150286742 Zhang et al. Oct 2015 A1
20150289022 Gross Oct 2015 A1
20160026707 Ong et al. Jan 2016 A1
Foreign Referenced Citations (7)
Number Date Country
0231764 Apr 2002 WO
03005242 Jan 2003 WO
2003067467 Aug 2003 WO
2004019527 Mar 2004 WO
2007049282 May 2007 WO
2014137337 Sep 2014 WO
2016040376 Mar 2016 WO
Non-Patent Literature Citations (74)
Entry
Burgsteiner et al.: “Movement Prediction From Real-World Images Using a Liquid State Machine”, Innovations in Applied Artificial Intelligence Lecture Notes in Computer Science, Lecture Notes in Artificial Intelligence, LNCS, Springer-Verlag, BE, vol. 3533, Jun. 2005, pp. 121-130.
Cernansky et al., “Feed-forward Echo State Networks”; Proceedings of International Joint Conference on Neural Networks, Montreal, Canada, Jul. 31-Aug. 4, 2005.
Fathy et al., “A Parallel Design and Implementation for Backpropagation Neural Network Using NIMD Architecture”, 8th Mediteranean Electrotechnical Corsfe rersce, 19'96, Melecon '96, Date of Conference: May 13-16, 1996, vol. 3, pp. 1472-1475.
Foote, Jonathan et al., “Content-Based Retrieval of Music and Audio”; 1997, Institute of Systems Science, National University of Singapore, Singapore (Abstract).
Freisleben et al., “Recognition of Fractal Images Using a Neural Network”, Lecture Notes in Computer Science, 1993, vol. 6861, 1993, pp. 631-637.
Howlett et al., “A Multi-Computer Neural Network Architecture in a Virtual Sensor System Application”, International Journal of Knowledge-based Intelligent Engineering Systems, 4 (2). pp. 86-93, 133N 1327-2314; first submitted Nov. 30, 1999; revised version submitted Mar. 10, 2000.
International Search Authority: “Written Opinion of the International Searching Authority” (PCT Rule 43bis.1) including International Search Report for International Patent Application No. PCT/US2008/073852; Date of Mailing: Jan. 28, 2009.
International Search Authority: International Preliminary Report on Patentability (Chapter I of the Patent Cooperation Treaty) including “Written Opinion of the International Searching Authority” (PCT Rule 43bis. 1) for the corresponding International Patent Application No. PCT/IL2006/001235; Date of Issuance: Jul. 28, 2009.
International Search Report for the corresponding International Patent Application PCT/IL2006/001235; Date of Mailing: Nov. 2, 2008.
IPO Examination Report under Section 18(3) for corresponding UK application No. GB1001219.3, dated Sep. 12, 2011.
Iwamoto, K.; Kasutani, E.; Yamada, A.: “Image Signature Robust to Caption Superimposition for Video Sequence Identification”; 2008 IEEE International Conference on Image Processing; pp. 3185-3188, Oct. 8-11, 2006; doi: 10.1109/ICIP.2006.313046.
Jaeger, H.: “The “echo state” approach to analysing and training recurrent neural networks”, GMD Report, No. 148, 2001, pp. 1-43, XP002466251. German National Research Center for Information Technology.
Lin, C.; Chang, S.: “Generating Robust Digital Signature for Image/Video Authentication”, Multimedia and Security Workshop at ACM Multimedia '98; U.K., Sep. 1998; pp. 49-54.
Lyon, Richard F.; “Computational Models of Neural Auditory Processing”; IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP '84, Date of Conference: Mar. 1984, vol. 9, pp. 41-44.
Maass, W. et al.: “Computational Models for Generic Cortical Microcircuits”, Institute for Theoretical Computer Science, Technische Universitaet Graz, Graz, Austria, published Jun. 10, 2003.
Morad, T.Y. et al.: “Performance, Power Efficiency and Scalability of Asymmetric Cluster Chip Multiprocessors”, Computer Architecture Letters, vol. 4, Jul. 4, 2005 (Jul. 4, 2005), pp. 1-4, XP002466254.
Natsclager, T. et al.: “The “liquid computer”: A novel strategy for real-time computing on time series”, Special Issue on Foundations of Information Processing of Telematik, vol. 8, No. 1, 2002, pp. 39-43, XP002466253.
Ortiz-Boyer et al., “CIXL2: A Crossover Operator for Evolutionary Algorithms Based on Population Features”, Journal of Artificial Intelligence Research 24 (2005) 1-48 Submitted Nov. 2004; published Jul. 2005.
Raichelgauz, I. et al.: “Co-evolutionary Learning in Liquid Architectures”, Lecture Notes in Computer Science, [Online] vol. 3512, Jun. 21, 2005 (Jun. 21, 2005), pp. 241-248, XP019010280 Springer Berlin / Heidelberg ISSN: 1611-3349 ISBN: 978-3-540-26208-4.
Ribert et al. “An Incremental Hierarchical Clustering”, Visicon Interface 1999, pp. 586-591.
Verstraeten et al., “Isolated word recognition with the Liquid State Machine: a case study”; Department of Electronics and Information Systems, Ghent University, Sint-Pietersnieuwstraat 41, 9000 Gent, Belgium, Available online Jul. 14, 2005.
Verstraeten et al.: “Isolated word recognition with the Liquid State Machine; a case study”, Information Processing Letters, Amsterdam, NL, col. 95, No. 6, Sep. 30, 2005 (Sep. 30, 2005), pp. 521-528, XP005028093 ISSN: 0020-0190.
Ware et al., “Locating and Identifying Components in a Robot's Workspace using a Hybrid Computer Architecture”; Proceedings of the 1995 IEEE International Symposium on Intelligent Control, Aug. 27-29, 1995, pp. 139-144.
Xian-Sheng Hua et al.: “Robust Video Signature Based on Ordinal Measure” In: 2004 International Conference on Image Processing, ICIP '04; Microsoft Research Asia, Beijing, China; published Oct. 24-27, 2004, pp. 685-688.
Zeevi, Y. et al.: “Natural Signal Classification by Neural Cliques and Phase-Locked Attractors”, IEEE World Congress on Computational Intelligence, IJCNN2006, Vancouver, Canada, Jul. 2006 (Jul. 2006), XP002466252.
Zhou et al., “Ensembling neural networks: Many could be better than all”; National Laboratory for Novel Software Technology, Nanjing University, Hankou Road 22, Nanjing 210093, PR China; Received Nov. 16, 2001, Available online Mar. 12, 2002.
Zhou et al., “Medical Diagnosis With C4.5 Rule Preceded by Artificial Neural Network Ensemble”; IEEE Transactions on Information Technology in Biomedicine, vol. 7, Issue: 1, pp. 37-42, Date of Publication: Mar. 2003.
Boari et al. “Adaptive Routing for Dynamic Applications in Massively Parallel Architectures”, 1995 IEEE, Spring 1995.
Cococcioni, et al. “Automatic Diagnosis of Defects of Rolling Element Bearings Based on Computational Intelligence Techniques”, University of Pisa, Pisa, Italy, 2009.
Emami, et al. “Role of Spatiotemporal Oriented Energy Features for Robust Visual Tracking in Video Surveillance, University of Queensland”, St. Lucia, Australia, 2012.
Garcia, “Solving the Weighted Region Least Cost Path Problem Using Transputers”, Naval Postgraduate School, Monterey, California, Dec. 1989.
Mahdhaoui, et al. “Emotional Speech Characterization Based on Multi-Features Fusion for Face-to-Face Interaction”, Universite Pierre et Marie Curie, Paris, France, 2009.
Marti, et al. “Real Time Speaker Localization and Detection System for Camera Steering in Multiparticipant Videoconferencing Environments”, Universidad Politecnica de Valencia, Spain, 2011.
Nagy et al. “A Transputer, Based, Flexible, Real-Time Control System for Robotic Manipulators”, UKACC International Conference on Control '96, Sep. 2-5, 1996, Conference 1996, Conference Publication No. 427, IEE 1996.
Scheper, et al. “Nonlinear dynamics in neural computation”, ESANN'2006 proceedings—European Symposium on Artificial Neural Networks, Bruges (Belgium), Apr. 26-28, 2006, d-sided publi, ISBN 2-930307-06-4.
Theodoropoulos et al. “Simulating Asynchronous Architectures on Transputer Networks”, Proceedings of the Fourth Euromicro Workshop on Parallel and Distributed Processing, 1996, PDP '96.
Li, et al., “Matching Commercial Clips from TV Streams Using a Unique, Robust and Compact Signature,” Proceedings of the Digital Imaging Computing: Techniques and Applications, Feb. 2005, vol. 0-7695-2467, Australia.
May et al., “The Transputer”, Springer-Verlag, Berlin Heidelberg, 1989, teaches multiprocessing system.
Nam, et al., “Audio Visual Content-Based Violent Scene Characterization”, Department of Electrical and Computer Engineering, Minneapolis, MN, 1998, pp. 353-357.
Vailaya, et al., “Content-Based Hierarchical Classification of Vacation Images,” I.E.E.E.: Multimedia Computing and Systems, vol. 1, 1999, East Lansing, MI, pp. 518-523.
Vallet, et al., “Personalized Content Retrieval in Context Using Ontological Knowledge,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 17, No. 3, Mar. 2007, pp. 336-346.
Whitby-Strevens, “The Transputer”, 1985 IEEE, Bristol, UK.
Yanai, “Generic Image Classification Using Visual Knowledge on the Web,” MM'03, Nov. 2-8, 2003, Tokyo, Japan, pp. 167-176.
Liu, et al., “Instant Mobile Video Search With Layered Audio-Video Indexing and Progressive Transmission”, Multimedia, IEEE Transactions on Year: 2014, vol. 16, Issue: 8, pp. 2242-2255, DOI: 10.11091/TMM.2014.2359332 IEEE Journals & Magazines.
Mladenovic, et al., “Electronic Tour Guide for Android Mobile Platform with Multimedia Travel Book”, Telecommunications Forum (TELFOR), 2012 20th Year: 2012, pp. 1460-1463, DOI: 10.1109/TELFOR.2012.6419494 IEEE Conference Publications.
Park, et al., “Compact Video Signatures for Near-Duplicate Detection on Mobile Devices”, Consumer Electronics (ISCE 2014), The 18th IEEE International Symposium on Year: 2014, pp. 1-2, DOI: 10.1109/ISCE.2014.6884293 IEEE Conference Publications.
Wang et al. “A Signature for Content-based Image Retrieval Using a Geometrical Transform”, ACM 1998, pp. 229-234.
Zang, et al., “A New Multimedia Message Customizing Framework for Mobile Devices”, Multimedia and Expo, 2007 IEEE International Conference on Year: 2007, pp. 1043-1046, DOI: 10.1109/ICME.2007.4281832 IEEE Conference Publications.
Guo et al. “AdOn: An Intelligent Overlay Video Advertising System”, SIGIR, Boston, Massachusetts, Jul, 19-23, 2009.
Mei, et al., “Contextual In-Image Advertising”, Microsoft Research Asia, pp. 439-448, 2008.
Mei, et al., “VideoSense—Towards Effective Online Video Advertising”, Microsoft Research Asia, pp. 1075-1084, 2007.
Semizarov et al. “Specificity of Short Interfering RNA Determined through Gene Expression Signatures”, PNAS, 2003, pp. 6347-6352.
Clement, et al. “Speaker Diarization of Heterogeneous Web Video Files: A Preliminary Study”, Acoustics, Speech and Signal Processing (ICASSP), 2011, IEEE International Conference on Year: 2011, pp. 4432-4435, DOI: 10.1109/ICASSP.2011.5947337 IEEE Conference Publications, France.
Gong, et al., “A Knowledge-based Mediator for Dynamic Integration of Heterogeneous Multimedia Information Sources”, Video and Speech Processing, 2004, Proceedings of 2004 International Symposium on Year: 2004, pp. 467-470, DOI: 10.1109/ISIMP.2004.1434102 IEEE Conference Publications, Hong Kong.
Lin, et al., “Robust Digital Signature for Multimedia Authentication: A Summary”, IEEE Circuits and Systems Magazine, 4th Quarter 2003, pp. 23-26.
Lin, et al., “Summarization of Large Scale Social Network Activity”, Acoustics, Speech and Signal Processing, 2009, ICASSP 2009, IEEE International Conference on Year 2009, pp. 3481-3484, DOI: 10.1109/ICASSP.2009.4960375, IEEE Conference Publications, Arizona.
Nouza, et al., “Large-scale Processing, Indexing and Search System for Czech Audio-Visual Heritage Archives”, Multimedia Signal Processing (MMSP), 2012, pp. 337-342, IEEE 14th Intl. Workshop, DOI: 10.1109/MMSP.2012.6343465, Czech Republic.
Brecheisen, et al., “Hierarchical Genre Classification for Large Music Collections”, ICME 2006, pp. 1385-1388.
Lau, et al., “Semantic Web Service Adaptation Model for a Pervasive Learning Scenario”, 2008 IEEE Conference on Innovative Technologies in Intelligent Systems and Industrial Applications Year: 2008, pp. 98-103, DOI: 10.1109/CITISIA.2008.4607342 IEEE Conference Publications.
McNamara, et al., “Diversity Decay in Opportunistic Content Sharing Systems”, 2011 IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks Year: 2011, pp. 1-3, DOI: 10.1109/WoWMoM.2011.5986211 IEEE Conference Publications.
Santos, et al., “SCORM-MPEG: an Ontology of Interoperable Metadata for Multimedia and e-Leaming”, 2015 23rd International Conference on Software, Telecommunications and Computer Networks (SoftCOM) Year 2015, pp. 224-228, DOI: 10.1109/SOFTCOM.2015.7314122 IEEE Conference Publications.
Wilk, et al., “The Potential of Social-Aware Multimedia Prefetching on Mobile Devices”, 2015 International Conference and Workshops on Networked Systems (NetSys) Year: 2015, pp. 1-5, DOI: 10.1109/NetSys.2015.7089081 IEEE Conference Publications.
Chuan-Yu Cho, et al., “Efficient Motion-Vector-Based Video Search Using Query by Clip”, 2004, IEEE, Taiwan, pp. 1-4.
Gomes et al., “Audio Watermaking and Fingerprinting: for Which Applications?” University of Rene Descartes, Paris, France, 2003.
Ihab Al Kabary, et al., “SportSense: Using Motion Queries to Find Scenes in Sports Videos”, Oct. 2013, ACM, Switzerland, pp. 1-3.
Jianping Fan et al., “Concept-Oriented Indexing of Video Databases: Towards Semantic Sensitive Retrieval and Browsing”, IEEE, vol. 13, No. 7, Jul. 2004, pp. 1-19.
Shih-Fu Chang, et al., “VideoQ: A Fully Automated Video Retrieval System Using Motion Sketches”, 1998, IEEE New York, pp. 1-2.
Wei-Te Li et al., “Exploring Visual and Motion Saliency for Automatic Video Object Extraction”, IEEE, vol. 22, No. 7, Jul. 2013, pp. 1-11.
Zhu et al., Technology-Assisted Dietary Assessment. Computational Imaging VI, edited by Charles A. Bauman, Eric L. Miller, Ilya Pollak, Proc. of SPIE-IS&T Electronic Imaging, SPIE vol. 6814, 681411, Copyright 2008 SPIE-IS&T. pp. 1-10.
Odinaev, et al., “Cliques in Neural Ensembles as Perception Carriers”, Technion—Israel Institute of Technology, 2006 International Joint Conference on Neural Networks, Canada, 2006, pp. 285-292.
The International Search Report and the Written Opinion for PCT/US2016/054634 dated Mar. 16, 2017, ISA/RU, Moscow, RU.
Johnson, John L., “Pulse-Coupled Neural Nets: Translation, Rotation, Scale, Distortion, and Intensity Signal Invariance for Images.” Applied Optics, vol. 33, No. 26, 1994, pp. 6239-6253.
The International Search Report and the Written Opinion for PCT/US2016/050471, ISA/RU, Moscow, RU, dated May 4, 2017.
The International Search Report and the Written Opinion for PCT/US2017/015831, ISA/RU, Moscow, Russia, dated Apr. 20, 2017.
Related Publications (1)
Number Date Country
20150052166 A1 Feb 2015 US
Provisional Applications (1)
Number Date Country
61899224 Nov 2013 US
Continuations (1)
Number Date Country
Parent 12603123 Oct 2009 US
Child 13602858 US
Continuation in Parts (12)
Number Date Country
Parent 14013636 Aug 2013 US
Child 14530918 US
Parent 13602858 Sep 2012 US
Child 14013636 US
Parent 12084150 US
Child 12603123 US
Parent 12195863 Aug 2008 US
Child 12603123 US
Parent 12348888 Jan 2009 US
Child 12195863 US
Parent 12084150 Apr 2009 US
Child 12348888 US
Parent 12195863 US
Child 12084150 US
Parent 12538495 Aug 2009 US
Child 12603123 US
Parent 12084150 US
Child 12538495 US
Parent 12195863 US
Child 12084150 US
Parent 12348888 US
Child 12195863 US
Parent 12084150 US
Child 12195863 US