Abstract:
A method for associating a link to web content with a multimedia content element are provided. The method includes identifying at least one multimedia content element in a web-page; generating, by a signature generator system, a signature for the at least one multimedia content element, wherein the signature generator system includes a plurality of computational cores enabled to receive the multimedia content element and to generate a signature for at least a portion of the multimedia content element, each computational core having properties that are at least partly statistically independent of the other computational cores; matching the generated signature to signatures of web content existing on at least one web server to determine matching web content; determining a link to the matching web content; and modifying the at least one multimedia content by adding the link.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 13/685,182 filed on Nov. 26, 2012, now allowed, which is a continuation-in-part (CIP) of: 
         [0002]    (a) U.S. patent application Ser. No. 13/624,397 filed on Sep. 21, 2012, now U.S. Pat. No. 9,191,626, which is a CIP of the below-referenced U.S. patent application Ser. Nos. 13/344,400, 12/084,150, and 12/195,863; 
         [0003]    (b) U.S. patent application Ser. No. 13/344,400 filed on Jan. 5, 2012, now U.S. Pat. No. 8,959,037, which is a continuation of U.S. patent application Ser. No. 12/434,221, filed May 01, 2009, now U.S. Pat. No. 8,112,376. The Ser. No. 13/344,400 Application is also a CIP of the below-referenced U.S. patent application Ser. Nos. 12/084,150 and 12/195,863; 
         [0004]    (c) 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 29 Jan. 2006; and, 
         [0005]    (d) U.S. patent application Ser. No. 12/195,863 filed on 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. 
         [0006]    All of the applications referenced above are herein incorporated by reference for all that they contain. 
     
    
     TECHNICAL FIELD 
       [0007]    The present invention relates generally to the analysis of multimedia content, and more specifically to a system for providing links of information to multimedia content displayed as part of a web-page. 
       BACKGROUND 
       [0008]    The Internet, also referred to as the worldwide web (WWW), has become a mass media where the content presentation is largely supported by paid advertisements that are added to the web-page content. Typically, advertisements are displayed using portions of code written in, for example, hyper-text mark-up language (HTML) or JavaScript that is inserted into, or otherwise called up by documents also written in HTML and which are sent to a user node for display. A web-page typically contains text and multimedia elements that are intended for display on the user&#39;s display device. 
         [0009]    One of the most common types of advertisements on the Internet is in a form of a banner advertisement. Banner advertisements are generally images or animations that are displayed within a web-page. Other advertisements are simply inserted at various locations within the display area of the document. A typical web-page displayed today is cluttered with many advertisements, which frequently are irrelevant to the content being displayed, and as a result the user&#39;s attention is not given to them. Consequently, the advertising price of potentially valuable display area is low because its respective effectiveness is low. 
         [0010]    It would therefore be advantageous to provide a solution that would overcome the deficiencies of the prior art by matching an advertisement to an already existing image. 
       SUMMARY 
       [0011]    Certain embodiments disclosed herein include a method for associating a link to web content with a multimedia content element. The method comprises identifying at least one multimedia content element in a web-page; generating, by a signature generator system, a signature for the at least one multimedia content element, wherein the signature generator system includes a plurality of computational cores enabled to receive the multimedia content element and to generate a signature for at least a portion of the multimedia content element, each computational core having properties that are at least partly statistically independent of the other computational cores; matching the generated signature to signatures of web content existing on at least one web server to determine matching web content; determining a link to the matching web content; and modifying the at least one multimedia content by adding the link. 
         [0012]    Certain embodiments disclosed herein also include a system for associating a link to web content with a multimedia content element. The system comprises a processing unit; and a memory, the memory containing instructions that, when executed by the processing unit, configure the system to: identify at least one multimedia content element in a web-page; generate, by a signature generator system, a signature for the at least one multimedia content element, wherein the signature generator system includes a plurality of computational cores enabled to receive the multimedia content element and to generate a signature for at least a portion of the multimedia content element, each computational core having properties that are at least partly statistically independent of the other computational cores; match the generated signature to signatures of web server content existing on at least one web server to determine matching web server content; determine a link to the matching web server content; and modify the at least one multimedia content by adding the link. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    The subject matter that is regarded as the invention 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. 
           [0014]      FIG. 1  is a schematic block diagram of a system for processing multimedia content displayed on a web-page according to an embodiment. 
           [0015]      FIG. 2  is a flowchart describing the process of matching an advertisement to multimedia content displayed on a web-page according to an embodiment. 
           [0016]      FIG. 3  is a block diagram depicting the basic flow of information in the signature generator system. 
           [0017]      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. 
           [0018]      FIG. 5  is a flowchart describing a process for adding a link to multimedia content displayed on a web-page according to an embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0019]    It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings 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. 
         [0020]      FIG. 1  shows an exemplary and non-limiting schematic diagram of a system  100  for providing advertisements for matching multimedia content displayed in a web-page in accordance with one embodiment. A network  110  is used to communicate between different parts of the system. The network  110  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 other networks capable of enabling communication between the elements of the system  100 . 
         [0021]    Further connected to the network  110  are one or more client applications, such as web browsers (WB)  120 - 1  through  120 -n (collectively referred to hereinafter as web browsers  120  or individually as a web browser  120 , merely for simplicity purposes). A web browser  120  is executed over a computing device including, for example, a personal computer (PC), a personal digital assistant (PDA), a mobile phone, a smart phone, a tablet computer, and other kinds of wired and mobile appliances, equipped with browsing, viewing, listening, filtering, and managing capabilities, etc., that are enabled as further discussed herein below. 
         [0022]    A server  130  is further connected to the network  110  and may provide to a web browser  120  web-pages containing multimedia content, or references therein, such that upon request by a web browser, such multimedia content is provided to the web browser  120 . The system  100  also includes a signature generator system (SGS)  140 . In one embodiment, the SGS  140  is connected to the server  130 . The server  130  is enabled to receive and serve multimedia content and causes the SGS  140  to generate a signature respective of the multimedia content. The process for generating the signatures for multimedia content, is explained in more detail herein below with respect to  FIGS. 3 and 4 . The various elements of the system  100  as depicted in  FIG. 1  are also described in a co-pending U.S. patent application Ser. No. 13/344,400 (hereinafter the &#39;400 Application) to Raichelgauz, et al., which is assigned to common assignee, and is incorporated hereby by reference for all that it contains. 
         [0023]    It should be noted that each of the server  130  and the SGS  140 , typically comprises a processing unit (not shown), such as a processor, a CPU, and the like that is coupled to a memory. The memory contains instructions that can be executed by the processing unit. The server  130  also includes an interface (not shown) to the network  110 . 
         [0024]    A plurality of web servers  150 - 1  through  150 -m are also connected to the network  110 , each of which is configured to generate and send online advertisements to the server  130 . The web servers  150 - 1  through  150 -m typically receive the advertised content from advertising agencies that set the advertising campaign. In one embodiment, the advertisements may be stored in a data warehouse  160  which is connected to the server  130  (either directly or through the network  110 ) for further use. 
         [0025]    The system  100  may be configured to generate customized channels of multimedia content. Accordingly, a web browser  120  or a client channel manager application (not shown), available on either the server  130 , on the web browser  120 , or as an independent or plug-in application, may enable a user to create customized channels of multimedia content. Such customized channels of multimedia content are personalized content channels that are generated in response to selections made by a user of the web browser  120  or the client channel manager application. The system  100 , and in particular the server  130  in conjunction with the SGS  140 , determines which multimedia content is more suitable to be viewed, played or otherwise utilized by the user with respect to a given channel, based on the signatures of selected multimedia content. These channels may optionally be shared with other users, used and/or further developed cooperatively, and/or sold to other users or providers, and so on. The process for defining, generating and customizing the channels of multimedia content are described in greater detail in the co-pending &#39;400 application referenced above. 
         [0026]    According to the embodiments disclosed herein, a user visits a web-page using a web-browser  120 . When the web-page is uploaded on the user&#39;s web-browser  120 , the server  130  analyzes the multimedia content elements contained in the web-page. A multimedia content element may include, for example, an image, a graphic, a video stream, a video clip, an audio stream, an audio clip, a video frame, a photograph, and an image of signals (e.g., spectrograms, phasograms, scalograms, etc.), and/or combinations thereof and portions thereof. 
         [0027]    It should be noted that the server  130  may analyze all or a sub-set of the multimedia content elements contained in the web-page. The SGS  140  generates for each multimedia content element provided by the server  130  at least one signature. The generated signature(s) may be robust to noise and distribution as discussed below. Then, using the generated signature(s) the server  130  is capable of determining a link to content respective of the signatures. Such links may be extracted from the data warehouse  160 . For example, if the signature of an image indicates the city of New York then a link to the municipal website of the city of New York may be determined. 
         [0028]    For instance, in order to provide a matching advertisement for a sport car it may be desirable to locate a car of a particular model. However, in most cases the model of the car would not be part of the metadata associated with the multimedia content (image). Moreover, the car shown in an image may be at angles different from the angles of a specific photograph of the car that is available as a search item. The signature generated for that image would enable accurate recognition of the model of the car because the signatures generated for the multimedia content elements, according to the disclosed embodiments, allow for recognition and classification of multimedia elements, such as, content-tracking, video filtering, multimedia taxonomy generation, video fingerprinting, speech-to-text, audio classification, element recognition, video/image search and any other application requiring content-based signatures generation and matching for large content volumes such as, web and other large-scale databases. 
         [0029]    In one embodiment, the signatures generated for more than one multimedia content element are clustered. The clustered signatures are used to search for a matching advertisement. The one or more selected matching advertisements are retrieved from the data warehouse  160  and uploaded to the web-page on the web browser  120  by means of one of the web servers  150 . 
         [0030]      FIG. 2  depicts an exemplary and non-limiting flowchart  200  describing the process of matching an advertisement to multimedia content displayed on a web-page according to an embodiment. At S 205 , the method starts when a web-page is uploaded to one of the web-browsers (e.g., web-browser  120 - 1 ). In S 210 , a request to match at least one multimedia content element contained in the uploaded web-page to an appropriate advertisement item is received. The request can be received from a web server (e.g., a server  150 - 1 ), a script running on the uploaded web-page, or an agent (e.g., an add-on) installed in the web-browser. S 210  can also include extracting the multimedia content elements for a signature that should be generated. 
         [0031]    In S 220 , a signature to the multimedia content element is generated. The signature for the multimedia content element generated by a signature generator is described below. In S 230 , an advertisement item is matched to the multimedia content element respective of its generated signature. In one embodiment, the matching process includes searching for at least one advertisement item respective of the signature of the multimedia content and a display of the at least one advertisement item within the display area of the web-page. In one embodiment, the matching of an advertisement to a multimedia content element can be performed by the computational cores that are part of a large scale matching discussed in detail below. 
         [0032]    In S 240 , upon a user&#39;s gesture the advertisement item is uploaded to the web-page and displayed therein. The user&#39;s gesture may be: a scroll on the multimedia content element, a press on the multimedia content element, and/or a response to the multimedia content. This ensures that the user attention is given to the advertized content. In S 250  it is checked whether there are additional requests to analyze multimedia content elements, and if so, execution continues with S 210 ; otherwise, execution terminates. 
         [0033]    As a non-limiting example, a user uploads a web-page that contains an image of a sea shore. The image is then analyzed and a signature is generated respective thereto. Respective of the image signature, an advertisement item (e.g., a banner) is matched to the image, for example, a swimsuit advertisement. Upon detection of a user&#39;s gesture, for example, a mouse scrolling over the sea shore image, the swimsuit ad is displayed. 
         [0034]    The web-page may contain a number of multimedia content elements; however, in some instances only a few advertisement items may be displayed in the web-page. Accordingly, in one embodiment, the signatures generated for the multimedia content elements are clustered and the cluster of signatures is matched to one or more advertisement items. 
         [0035]      FIGS. 3 and 4  illustrate the generation of signatures for the multimedia content elements by the SGS  140  according to one embodiment. An exemplary high-level description of the process for large scale matching is depicted in  FIG. 3 . In this example, the matching is for a video content. 
         [0036]    Video content segments  2  from a Master database (DB)  6  and a Target DB  1  are processed in parallel by a large number of independent computational Cores  3  that constitute an architecture for generating the Signatures (hereinafter 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 . Finally, Target Robust Signatures and/or Signatures are effectively matched, by a matching algorithm  9 , to Master Robust Signatures and/or Signatures database to find all matches between the two databases. 
         [0037]    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 cores generation. The Matching System is extensible for signatures generation capturing the dynamics in-between the frames. 
         [0038]    The Signatures&#39; generation process will now be described with reference to  FIG. 4 . The first step in the process of signatures generation from a given speech-segment is to breakdown the speech-segment to K patches  14  of random length P and random position within the speech segment  12 . The breakdown is performed by the patch generator component  21 . The value of the number of patches K, random length P and random position parameters is determined based on optimization, considering the tradeoff between accuracy rate and the number of fast matches required in the flow process of the server  130  and SGS  140 . Thereafter, all the K patches are injected in parallel into all computational Cores  3  to generate K response vectors  22 , which are fed into a signature generator system  23  to produce a database of Robust Signatures and Signatures  4 . 
         [0039]    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) by the Computational Cores  3  a frame “i” is injected into all the Cores  3 . Then, 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. 
         [0040]    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 i ={n i } (1≦i≦L) may consist of a single leaky integrate-to-threshold unit (LTU) node or more nodes. The node n i  equations are: 
         [0000]    
       
         
           
             
               V 
               i 
             
             = 
             
               
                 ∑ 
                 j 
               
                
               
                   
               
                
               
                 
                   w 
                   ij 
                 
                  
                 
                   k 
                   j 
                 
               
             
           
         
       
       
         
           
             
               n 
               i 
             
             = 
             
               • 
                
               
                 ( 
                 
                   Vi 
                    
                   
                     - 
                   
                    
                   
                     Th 
                     x 
                   
                 
                 ) 
               
             
           
         
       
     
         [0041]    where, □ is a Heaviside step function; w ij  is a coupling node unit (CNU) between node i and image component j (for example, grayscale value of a certain pixel j); k j  is an image component “j” (for example, grayscale value of a certain pixel j); Th x  is a constant Threshold value, where x is ‘S’ for Signature and ‘RS’ for Robust Signature; and Vi is a Coupling Node Value. 
         [0042]    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: 
         [0043]    1: For: V i &gt;Th Rs    
         [0044]    1−p(V&gt;Th S )−1−(1−ε) l &lt;&lt;1 
         [0000]    i.e., given that l 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&#39;s specified accuracy). 
         [0045]    2: p(V i &gt;Th RS )≈l/L 
         [0000]    i.e., approximately l out of the total L nodes can be found to generate a Robust Signature according to the above definition. 
         [0046]    3: Both Robust Signature and Signature are generated for certain frame i. 
         [0047]    It should be understood that the generation of a signature is unidirectional, and typically yields lossless compression, where the characteristics of the compressed data are maintained but the uncompressed data cannot be reconstructed. Therefore, a signature can be used for the purpose of comparison to another signature without the need of comparison to the original data. The detailed descriptions of the Signature generation is discussed in more detail in the co-pending patent applications of which this patent application is a continuation-in-part, and are hereby incorporated by reference. 
         [0048]    A Computational Core generation is a process of definition, selection, and tuning of the parameters of the cores for a certain realization in a specific system and application. The process is based on several design considerations, such as: 
         [0049]    (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&#39; projections into a high-dimensional space. 
         [0050]    (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. 
         [0051]    (c) The Cores should be optimally designed with regard to invariance to a set of signal distortions, of interest in relevant applications. 
         [0052]      FIG. 5  depicts an exemplary and non-limiting flowchart  500  describing the process of adding an overlay to multimedia content displayed on a web-page according to an embodiment. In S 510 , the method starts when a web-page is uploaded to a web-browser (e.g., web-browser  120 - 1 ). In another embodiment, the method starts when a web-server (e.g., web-server  150 - 1 ) receives a request to host the requested web-page. In S 515 , the server  130  receives the uniform resource locator (URL) of the uploaded web-page. In another embodiment, the uploaded web-page includes an embedded script. The script extracts the URL of the web-page, and sends the URL to the server  130 . In another embodiment, an add-on installed in the web-browser  120  extracts the URL of the uploaded web-page, and sends the URL to the server  130 . In yet another embodiment, an agent is installed on a user device executing the web browser  120 . The agent is configured to monitor web-pages uploaded to the web-site, extract the URLs, and send them to the server  130 . In another embodiment, a web-server (e.g., server  150 ) hosting the requested web-page, provides the server  130  with the URL of the requested web-page. It should be noted only URLs of selected web sites can be sent to the server  130 , for example, URLs related to web-sites that paid for the additional information. 
         [0053]    In S 520 , the server  130  downloads the web-page respective of each received URL. In S 525 , the server  130  analyzes the web-page in order to identify the existence of one or more multimedia content elements in the uploaded web-page. It should be understood that a multimedia content, such as an image or a video, may include a plurality of multimedia content elements. In S 530 , the SGS  140  generates for each multimedia content element identified by the server  130 , at least one signature. The signatures for the multimedia elements are generated as described in greater detail above. 
         [0054]    In S 540 , respective of each signature, the server  130  determines one or more links to content that exists on a web server, for example, each of the web servers  150 - 1  through  150 - m  that can be associated with the multimedia element. A link may be a hyperlink, a URL, and the like. The content accessed through the link may be, for example, informative web-pages such as Wikipedia® website. The determination of the link may be made by identification of the context of the signatures generated by the server  130 . For example, if a multimedia content element was identified as a football player, a signature is generated respective thereto, and a link to a sports website that contains information about the football player is determined. In S 550 , the determined link to the content is added as an overlay to the web-page by the server  130 , respective of the corresponding multimedia content element. According to one embodiment, a link that contains the overlay may be provided to a web browser respective of a user&#39;s gesture. A user&#39;s gesture may be: a scroll on the multimedia content element, a click on the at least one multimedia content element, and/or a response to the at least one multimedia content or portion thereof. 
         [0055]    The modified web-page that includes at least one multimedia element with the added link can be sent directly to the web browser (e.g., browser  120 - 1 ) requesting the web-page. This requires establishing a data session between the server  130  and the web browsers  120 . In another embodiment, the multimedia element including the added link is returned to a web server (e.g., server  150 - 1 ) hosting the requested web-page. The web server (e.g., server  150 - 1 ) returns the requested web-page with the multimedia element containing the added link to the web browser (e.g., browser  120 - 1 ) requesting the web-page. Once the “modified” web page is displayed over the web browser, a detected user&#39;s gesture over the multimedia element would cause the browser to upload the content (e.g., a Wikipedia web page) addressed by the link added to the multimedia element. 
         [0056]    In S 560 , it is checked whether the one or more multimedia content elements contained in the web-page has changed, and if so, execution continues with S 525 ; otherwise, execution terminates. 
         [0057]    As a non-limiting example, a web-page related to cinema is uploaded and an image of the movie “Pretty Woman” is identified within the web-page by the server  130 . A signature is generated by the SGS  140  respective of the actor Richard Gere and the actress Julia Roberts, both shown in the image. A link to Richard Gere&#39;s biography and Julia Roberts&#39; biography on the Wikipedia® website is then determined respective of the signatures and the context of the signatures as further described herein above. The context of the signatures according to this example may be “American Movie Actors”. An overlay containing the links to Richard Gere&#39;s biography and Julia Roberts&#39; biography on the Wikipedia® website is added over the image such that upon detection of a user&#39;s gesture, for example, a mouse clicking over the part of the image where Richard Gere is shown, the link to Richard Gere&#39;s biography on Wikipedia® is provided to the user. 
         [0058]    According to another embodiment, a web-page that contains an embedded video clip is requested by a web browser  120 - 1  from a web server  150 - 1 . The server  130  receives the requested URL. The server  130  analyzes the video content within the requested web-page and a signature is generated by the SGS  140  respective of the entertainer Madonna that is shown in the video content. A link to Madonna&#39;s official web-page hosted on a web-server  150 - n  is then determined respective of the signature as further described herein above. An overlay containing the link to Madonna&#39;s official web-page is then added over the video content. The web-page together with the link to Madonna&#39;s official web-page is then sent to the web server  150 - 1 , which then uploads the requested web-page with the modified video element to the web-browser  120 - 1 . 
         [0059]    The web-page may contain a number of multimedia content elements; however, in some instances only a few links may be displayed in the web-page. Accordingly, in one embodiment, the signatures generated for the multimedia content elements are clustered and the cluster of signatures is matched to one or more advertisement items. 
         [0060]    The various embodiments disclosed herein can 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 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 a 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. 
         [0061]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention 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.