+

WO2000045293A1 - Method for generating multimedia document descriptions and device associated therewith - Google Patents

Method for generating multimedia document descriptions and device associated therewith Download PDF

Info

Publication number
WO2000045293A1
WO2000045293A1 PCT/FR2000/000184 FR0000184W WO0045293A1 WO 2000045293 A1 WO2000045293 A1 WO 2000045293A1 FR 0000184 W FR0000184 W FR 0000184W WO 0045293 A1 WO0045293 A1 WO 0045293A1
Authority
WO
WIPO (PCT)
Prior art keywords
descriptors
descriptor
processing unit
function
user
Prior art date
Application number
PCT/FR2000/000184
Other languages
French (fr)
Inventor
Pascal Faudemay
Claude Seyrat
Cédric Thienot
Philippe Joly
Original Assignee
Universite Pierre Et Marie Curie (Paris Vi)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universite Pierre Et Marie Curie (Paris Vi) filed Critical Universite Pierre Et Marie Curie (Paris Vi)
Publication of WO2000045293A1 publication Critical patent/WO2000045293A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures

Definitions

  • the invention relates to the field of generating descriptions of multimedia documents, such as, in particular, audiovisual documents, video sequences, etc.
  • multimedia objects can be video or film sequences, a shot of a film, a musical phrase, etc.
  • the subject of the invention is in particular a method for generating descriptions of multimedia documents in accordance with one or more description schemes, whatever the language used to describe these schemes, provided that said language has the desired expressiveness and properties.
  • the subject of the invention is also a method of this type which makes it possible to extract a maximum quantity of useful semantic information from a multimedia document from audiovisual content and ontologies, while minimizing the cost and the complexity of the calculation. necessary, this must converge into a finite number (which can be arbitrarily limited) of calculation steps.
  • the invention also relates to a method of the aforementioned type, comprising steps of defining a user profile making it possible to personalize the descriptions of the multimedia documents according to a body of knowledge relating to a user or to a group of users. , so as to be able to offer this user or group of users a personalized selection of a certain number of multimedia documents and allow the production of a document in accordance with the wishes of the user or group of users.
  • the invention provides a method for generating descriptions of multimedia documents in a first processing unit (for example housed in a server) comprising a working memory and coupled to a second processing unit (for example housed in a external "client" type system (in this case the coupling is carried out via a data transmission network) also comprising a working memory and making it possible to respond to a request formed by a user with a view to accessing one at least of these documents, and / or to navigate among these documents and / or to interpret them.
  • a first processing unit for example housed in a server
  • a second processing unit for example housed in a external "client" type system (in this case the coupling is carried out via a data transmission network) also comprising a working memory and making it possible to respond to a request formed by a user with a view to accessing one at least of these documents, and / or to navigate among these documents and / or to interpret them.
  • This method comprises in a known manner a first step of analysis and temporal and / or spatial segmentation of a multimedia document into a plurality of multimedia objects with which likelihoods are associated, and it is characterized in that it also comprises a second step of generating descriptor objects by applying functions to the multimedia objects of the plurality, these descriptor objects being stored in at least one of the working memories of the first and second processing units in correspondence of likelihoods and comprising descriptors information, action descriptors and abstract descriptors, the latter each containing a reference to a described object and functions defining reflex mechanisms, the descriptor generation functions comprising at least one of the functions consisting in:
  • the method also consists in:
  • a procedural code such as for example an algorithmic method of segmentation or information extraction, for the segmentation of a multimedia document in the first step or the generation of descriptors in the second step, - the triggering of a reflex mechanism of an abstract descriptor causing the triggering of reflex mechanisms of other abstract descriptors, use a mechanism of marking these abstract descriptors to avoid activations in closed loop of two or more of these descriptors abstract,
  • - define a user profile by a graph of nodes connected by arcs and by a working memory containing an organized set of descriptors with a function for deleting descriptors, the establishment of the user profile consisting in filling the working memory of the one and / or the other of the first and second processing units by a set of descriptors, in real time or in deferred time, to delete from memory a set of previous descriptors, to calculate input values of the nodes of the profile, to calculate activation values of the nodes, to generate a new set of descriptors and to enter it into the working memory, each node containing an aggregate function of the inputs, an input value, a function of activation or transition, an output function, a descriptor generation function and a value of interest, digital weighting values being assigned to the arcs connecting the s knots.
  • the method can include an arbitration function determining, among nodes which are candidates for activation, those which are activated at a given time, as a function of a descriptor of the number of nodes which can be activated and of the activation parameters associated with each node.
  • a weighting value of an arc can for example correspond to the probability that the user who has seen a descriptor contained in a first node of the graph wishes to see another descriptor contained in another node of the graph connected to the first node by the arc in question, or the probability that the user thinks of the other descriptor when he has seen the descriptor contained in the first node.
  • this method can also consist in adding information of an emotional nature to the user profile, by associating with each node a vector of sensitivity to affects for each of the functions of the node and a vector of increment of global affect, a vector of sensitivity to affects at each arc and a context of affects or vector of affects global to the whole graph, the input, activation or transition and descriptor generation functions contained in the nodes being modified to take into account the global affect vector and affect sensitivity vectors.
  • the descriptor generation function generates the descriptors from the activation value of the node, from the affect sensitivity vector of this function and from the global affect vector.
  • the weighting values of the arcs and the vectors of sensitivity to the affects of the nodes can be obtained by automatic capture of the user profile. To do this, we can record the user's reactions to a document viewing session during which he can, each time, move more or less quickly from one document to another or view an entire document. document.
  • the frequency of passage from a document containing a certain descriptor to a document containing another descriptor and the display time of each document are used to weight the graph as follows: - the weighting values of the arcs are initialized to the values given by the transition probabilities between two descriptors obtained from the frequencies of passage between the descriptors, the vectors of sensitivity to affects of the nodes are obtained from the viewing times of the documents by the user, for example by multiplying the context of affect of the user during viewing by the ratio viewing time / total duration of the document.
  • the user profile can be acquired by any other appropriate means.
  • Means can also be provided to anonymize the user profile in particular with a view to its transmission by the second processing unit to the first processing unit. This applies particularly to the case where the second processing unit is housed in an external client-type system and it must be transmitted to an external system such as, for example, a server in a data transmission network. .
  • the method is arranged to perform the description operations on the first processing unit, the operations for responding to user requests on the second processing unit, the latter being identical to the first processing unit , and document navigation operations in a third processing unit.
  • the first and second processing units can be housed in a server and the third processing unit in a client.
  • the method according to the invention can be executed by iteration, the constraint of accepting exceptions guaranteeing its convergence.
  • This process can take into account several user profiles, constituted in the aforementioned manner and of which a copy of the state is saved in working memory, a selection and arbitration function determining the user profiles active at a given time.
  • the method according to the invention makes it possible to generate personalized descriptions of multimedia documents of all types (films, video sequences, video images supplied by video surveillance cameras, video images supplied by an optoelectronic vision system of a robot, sound signals, etc.) and has the essential advantage of providing an optimized description of a document multimedia, adapted to a given user at a given time.
  • the invention also relates to a device for generating multimedia document descriptions, comprising in a known manner a first processing unit coupled to a second processing unit arranged to transmit to the first processing unit requests made by a user for the purpose of access at least one of the multimedia documents, and / or navigate among these documents and / or interpret them.
  • the device according to the invention is characterized in that the first processing unit comprises: * clock means making it possible to define cycles,
  • a first calculation module making it possible to calculate a similarity function between objects from the outside world, an image of which is contained in a multimedia document, and the collections of examples, and to deliver a primary descriptor representative of the calculated similarity function (some of these primary descriptors may be exceptions introduced by a user), * means for managing the addressing, in writing, of the registers of the working memory, arranged to supply all the N cycles (N being greater than or equal at 1) a first address for storing the primary descriptor in the working memory,
  • a second computing module supplied with at least two descriptors stored at selected addresses in the main memory and for generating at least a first and a second secondary descriptors received from these descriptors, and * a third calculation module for calculating a derived descriptor from the first secondary descriptor generated by the second calculation module, the address management means being further capable of addressing the second secondary descriptor and the derived descriptor respectively to registers of the working memory M placed at second and third addresses chosen, with a view to their memorization in the following cycle, and the second calculation module being further capable of determining, from the secondary and derived descriptors, a descriptor d action forming control information for external equipment.
  • the second calculation module is capable of delivering the first secondary descriptor in the form of an affect increment
  • the processing unit comprises, between the second and third calculation modules, a adder used to add the increment of affect to the current derivative descriptor in the third module and to transmit the result of this addition to the third calculation module, so that it can determine a new derived descriptor intended to be stored in the register placed at the third address chosen during the next cycle.
  • the second calculation module can be subdivided into a multiplicity of sub-modules, and the first processing unit can include a selection module making it possible to select one of the sub-modules to supply the register with the second secondary descriptor. placed at the second address.
  • This selection module can be arranged so as to select a sub-module by applying a selected function to the increments of affect delivered by each of the sub-modules.
  • these calculation sub-modules and the selection module can be arranged in parallel on a bus.
  • the device may also include the second processing unit, which in this case is substantially identical to the first processing unit.
  • the first processing unit is then preferably arranged to carry out the document description operations while the second processing unit is arranged to perform the response operations to user requests.
  • a third processing unit can also be provided to perform document navigation operations.
  • the first and second processing units can be housed respectively in server and client type systems each comprising a communication interface, the first and second processing units then being coupled by a data transmission network, via the communication interfaces.
  • these first and second processing units can also be housed in a server comprising a communication interface, while the third processing unit is housed in an external “client” type system also comprising a communication interface, the clients and server being coupled by a data transmission network, via their respective communication interfaces.
  • FIG. 1 illustrates the mode of detection of a movement in images of a film
  • FIG. 2 illustrates the concept of pseudo-inheritance
  • FIG. 3 is a diagram for weighting the arcs of a graph of user profile
  • FIG. 4 schematically represents a node of this profile
  • FIG. 5 represents an operating mode of a user profile
  • FIG. 6 shows a node of a user profile with the addition of an emotional profile
  • FIG. 7 represents an operating mode of the user profile comprising an emotional profile
  • FIG. 8 illustrates a first embodiment of a processing device implementing the method according to the invention
  • FIG. 10 illustrates a variant of the embodiment of the figure
  • FIG. 11 illustrates a variant of the embodiment of FIG. 10.
  • the method according to the invention aims to generate a description of multimedia objects, in particular digitized audiovisual documents
  • a multimedia object is in its most general acceptance an entity of a real, imaginary or virtual world, which can be perceived.
  • the perceptions involved are not limited to visual or auditory perceptions and also include tactile, olfactory and gustatory perceptions.
  • This process makes it possible to generate descriptors from basic information (a digitized document, a core of descriptors, etc.) or from an information flow, in this case in "real time", the information for example from a surveillance camera.
  • basic information a digitized document, a core of descriptors, etc.
  • real time the information for example from a surveillance camera.
  • the information describing the users is very varied in nature. It is possible to model tastes, moods, habits, associations of classic ideas, etc. With such expressiveness, these models contain very sensitive data relating to privacy. It is therefore necessary to protect them and prevent their disclosure if it is not desired, which conditions the acceptance and use of systems based on these models. This problem is all the more important as these systems will certainly be connected to computer networks.
  • the invention proposes in this context, a method the aim of which is to generate a personalized description of a multimedia object, thanks to a body of knowledge on the object and on the world in which it evolves. We have methods for segmenting multimedia objects, knowledge provided in the form of production rules, knowledge provided by a set of examples (prototypes), and knowledge of users (user profiles).
  • An object either a descriptor object or a multimedia object.
  • a collection of objects is an object.
  • a multimedia object a multimedia object is in its most general acceptance an entity of a real, imaginary or virtual world, which can be perceived (tactile, olfactory, gustatory, visual and / or auditory perceptions).
  • a descriptor object is an informative descriptor or an action descriptor.
  • An action descriptor triggers an action on the outside world as soon as it is generated (recording a sequence, saving to tape, showing or hiding, etc.). It has the distinction of not being able to be contradicted by an exception. It has a type and a value.
  • Information descriptors represent a description of an object. They have a type, a target object (a reference to the described object) and a value.
  • a prototype is an object (multimedia or descriptor) which serves as an example.
  • a function any application of a set into another set.
  • An aggregate function is a multivalued function that provides a result value. For example, it can be a function of several vectors which returns a vector.
  • the aggregation functions are used in particular to calculate the value of a node from the inputs of this node, or the value of the global affect vector from the increment vectors of the activated nodes.
  • a preferential realization is a sum of the source values.
  • Collections are either an object or a collection plus a weight.
  • a collection of multimedia objects is also a multimedia object.
  • An interaction any input of data into the program, carried out by an agent external to the system (a user or an IT agent).
  • a similarity function it is a function which makes it possible to establish a similarity between two collections of objects.
  • the preferential realization will return a degree of similarity, i.e. a real value between 0 and 1.
  • An abstract descriptor it is a descriptor which contains a reference to the described object and a set of functions defining reflex behaviors. He reacts to a change in his state or to a request on his state.
  • Likelihood one or more values representing, for example, the credibility, plausibility, usefulness or weight of an object, an interaction or a user. Likelihoods can be combined using logical operators of gradual logic. A preferential realization is to use a real value (likelihood) or two real values (plausibility, importance) with calculations based on fuzzy logic or possibilistic logic.
  • a description is defined as a set of descriptors and multimedia objects linked together.
  • a descriptor is a mini-description of one of the objects of the global description.
  • a descriptor is generally composed of a type, a value and a reference to the object described.
  • Abstract descriptors incorporate reflex behaviors.
  • the generation of an action descriptor involves actions on the outside world such as, for example, the recording by a video recorder of a scene from a film.
  • Transient descriptors are removed from the description periodically or on a fixed date.
  • a likelihood value measures the credibility of each descriptor.
  • the main process loop It consists of incrementally completing the description of the multimedia object with a set of functions which, when applied to the description, generate new descriptors or new multimedia objects.
  • the process is broken down into three main stages:
  • Step 1 The segmentation of multimedia objects
  • An extended version also generates a descriptor.
  • This descriptor describes the relationship between multimedia objects: spatial, temporal composition, etc.
  • This specialization of the first stage of the process can be illustrated by the methods of segmenting films into shots, which attempt, algorithmically, to identify all the shots in a film. They present their results in the form of a set of images called characteristic images and they associate the shots of a film with a film by a relation of composition. These methods do produce a set of multimedia objects and a set of descriptors by applying a procedural code to another multimedia object.
  • This specific form proposes to create an abstract descriptor, a specific version of a descriptor object defined by the conjunction of a descriptor, a reference to an object and a set of reflex behaviors. These reflexes can be triggered when one modifies his state or makes a request on his state.
  • the function that generates a descriptor object from objects can be a procedural code:
  • This specialization of the second step of the process can be illustrated by methods of extracting movement information from films. These methods extract, in an algorithmic way, information such as “traveling”, “zoom in”, “zoom out”, etc.
  • each image of a film can be divided into areas of nxn elementary points called "pixels".
  • Each of the areas of image i is searched for in image i + 1 around the initial area. This gives a displacement vector for each pixel area between two images, from which a particularly conventional camera movement can be detected.
  • each zone of image i, found in image i + 1 has been numbered. We deduce a map of the movement and we isolate the most probable camera movement, here a "traveling". Specialization by production rules:
  • the function that generates a descriptor object from objects can be a production rule.
  • the function that generates a descriptor object from objects can be an external function that interacts with the system.
  • An interaction is any input of data into the program, carried out by an agent external to the system (a user or an IT agent).
  • the spatial segmentation of images into objects is a problem dealt with in particular in the MPEG-4 standard. Their segmentation is generally based on movement information (cf. Overview of the MPEG-4 Standard ", Rob Koenen, ISO / IEC JTC1 / SC29 / WG11 N2459).
  • the integration of common sense knowledge is dealt with in the related articles in the field of ontologies, an approach of which is presented in "Formai Ontology in Information Systems", N. Guarino,
  • the ontologies are based on one or more taxonomies of concepts, object properties (inheritance, composition) and axioms.
  • the method according to the invention provides for the application of ontologies to multimedia descriptions by integrating therein mechanisms of abstract descriptors, annotations and exceptions.
  • Step 3 activation of the abstract descriptors
  • An abstract descriptor reacts to a change in its state or to a request on its state. This reaction is comparable to a reflex mechanism.
  • the abstract descriptor then performs an action which can possibly induce reflex mechanisms in other abstract descriptors (creation of descriptor objects, change of values of a descriptor, ). This action can be carried out either directly by calling another abstract descriptor, or indirectly by creating one or more transient descriptors triggering other abstract descriptors.
  • a marking mechanism prevents looping of the activation of reflexes, for example: if D_A 1 stimulates D_A 2 then if D_A 2 stimulates D_A., For the same action, the reflex mechanism is stopped.
  • - Consistency check if the value of a descriptor is modified, a check can be carried out: for example, checking that the start date of a plan is well before the end date.
  • the transitivity property of a descriptor can be implemented by an abstract descriptor.
  • the capacity property is: "if contains (x, y) and contains (y, z) then contains (x, z)".
  • the scene will be able to answer positively by propagating the question to the plans it contains. This propagation can be done either during the initial creation of the descriptors (by transitive closure on the abstract descriptors), or to reduce the initial calculation time, during a specific request from a user or the system.
  • the descriptors generated during steps 2 and 3 can call into question descriptors already present in the description. These "new" descriptors are called exceptions. To be accepted, an exception must have a higher likelihood than that of the descriptor that it contradicts and the difference of the two likelihoods must be greater than a certain value. This constraint verifies that a descriptor is not going to be contradicted indefinitely and makes it possible to ensure the convergence of the system. In addition, there is a mechanism for maintaining consistency: when a descriptor is generated and it is contradictory with a descriptor D ,, all the descriptors from D are then deleted.
  • a pseudo-inheritance is an inheritance where the descriptors are transferred along the composition relationships.
  • the notion of pseudo-inheritance is opposed to that of inheritance from object languages where inheritance takes place along "class / subclass" relationships.
  • Pseudo-inheritance occurs along relationships between descriptors, preferably of the "content / container” type. However, other relationships between descriptors can be envisaged.
  • the descriptor "producer” is distributed according to the property "contains”.
  • the function that generates a descriptor object from an object can be replaced by a measure of similarity with a collection of prototypes.
  • a prototype is an object (multimedia or descriptor) or a collection of objects which serves as an example for a concept.
  • step 2 The functions of step 2 can take into account knowledge specific to the user for whom the description is intended.
  • the generation of descriptors then becomes a generation of personalized descriptions.
  • the invention proposes a method for modeling user profiles, some of which operating modes and some examples of use are described below.
  • the profile consists of two main components: a user profile graph and a working memory.
  • the user profile graph is a set of nodes linked together by arcs.
  • the whole preferably forms a lattice, that is to say an acyclic graph of nodes.
  • the detailed description of the nodes is given in the following paragraph.
  • the working memory is an organized memory of descriptors.
  • each node of the user graph contains an input function g ⁇ which is an aggregation function of the inputs, an input value e, an activation or transition function fa, a function output g-, a descriptor generation function fd and a value of interest Int ;.
  • the arcs are weighted by numerical values a, a ', b, b'.
  • the node is sensitive to the presence of descriptors in the profile memory.
  • step 2 of Figure 5 given a node, its input value is calculated according to the output values of the incoming nodes, the weighting of the arcs and the likelihood of the descriptors to which the node is sensitive:
  • the activation value of the node is calculated according to its input value by the activation function:
  • the activation function has an arbitration role. This means that it depends on the input values of all the nodes and that it can decide to activate one of them accordingly. Thus it can activate only a finite number n of nodes. This parameter n is a global system variable.
  • the arbitration function can for example keep only the n nodes with the largest input values. Other examples are given in the following.
  • the activation function determines the activation value in two stages.
  • a local transition function at each node determines a possible activation value of the node, for example by comparison of the input value with a transition threshold.
  • a global arbitration function activates a finite number n of nodes, for example by sorting the nodes according to their possible activation value, after having added if necessary a random value.
  • the parameters of the arbitration function depend on one or more descriptors.
  • the vector of descriptors to generate is given by the descriptor generation function.
  • the calculation is done according to the activation of the node and its interest for the user:
  • the descriptors generated can be action descriptors and information descriptors.
  • the first generate an action on the world (for example recording of a sequence by a video recorder).
  • the two types of descriptors are placed in the working memory.
  • the generation of a descriptor may depend on a second global arbitration function. This function determines which descriptors, among those generated in the previous step, are actually transferred in the working memory. In this case, only the descriptors present in the working memory are used by the system, either as information descriptors, or as action descriptors.
  • this second arbitration function chooses a second number, m, of descriptors to be produced, or else a second number m1 of information descriptors and a third number m2 of action descriptors, for example as a function of likelihood of these descriptors.
  • the method can be extended to the selection of descriptors for any number of descriptor classes.
  • the parameters of the second arbitration function depend on one or more descriptors.
  • the erase function removes certain descriptors from the working memory. This function can for example remove the n oldest descriptors. Other examples are given in the following.
  • the output vector s (i.e. the set of values that will be propagated along the arcs) is calculated according to the activation of the node and the output weights:
  • the generation function uses an a priori probability of generation by a given activated node of one or more descriptors.
  • the probability of generating the descriptor can be a function, for example, of the reference value of this a priori probability, of its previous value and of whether or not descriptors were generated during the 'previous step.
  • the generation function reduces the a priori probability by a value which can depend on product descriptors. This a priori probability is then brought back to the reference value, for example asymptotically.
  • This mechanism improves, for example, the quality of audiovisual programs generated from a user profile.
  • the generation of a sport sequence (descriptor "sport") will weaken the probability that it will be generated again during the same session.
  • a sports program will be produced with the same probability the next day.
  • the a priori probability can also be replaced by a likelihood coefficient.
  • the probability of descriptor generation can for example be a non-linear function of the likelihood coefficient.
  • the input function performs the scalar product norm of the input weights and output values of the incoming nodes, adds the maximum likelihood among those of the descriptors present in the memory to which the node is sensitive .
  • the output function is a function which randomly decides to propagate the activation value towards only one of the output nodes. The random drawing is done on the basis of the values of the arcs.
  • the output function propagates the activation value identically across all arcs. - The output function propagates the activation value on all the arcs in proportion to their value.
  • the activation function thresholds the input value of the node.
  • the activation function activates only the n nodes with the largest input values.
  • the activation function chooses n nodes randomly with probabilities calculated according to the input values.
  • the descriptor generation function only generates descriptors if the weighted sum of the node activation and node interest values is above a certain threshold.
  • the likelihood of the descriptors generated can be equal to the activation value of the node.
  • the erase function can remove the n oldest descriptors, n being equal to the number of descriptors added to the working memory during step 4.
  • the erase function can remove the n least recently used descriptors.
  • the method according to the invention is an extension of the representation methods in the form of a graph such as neural or connectionist networks, Bayesian networks, Sowa graphs or Markov networks which constitute four possible embodiments of the invention.
  • a graph such as neural or connectionist networks, Bayesian networks, Sowa graphs or Markov networks which constitute four possible embodiments of the invention.
  • it brings three main originalities in relation to these processes: its purpose is to generate descriptors, it has a working memory, and it uses one or more configurable arbitration functions (the activation function or first arbitration function, possibly a second arbitration function), in particular in terms of the number of nodes or of descriptors activated, and of the choice function.
  • Each node of the graph described above (figure 4) is enriched as represented in figure 6 by two vectors called vector of sensitivity to affects and vector of increment of affects. Each arc is also enriched with a vector of sensitivity to affects. Another vector called the global affect vector represents the user's current context. The interest value is removed from the node.
  • An affect increment function modifies the value of the global affect according to its old value and all the increment vectors of all the activated nodes.
  • a second time evolution function modifies the value of the global affect as a function of time.
  • the input vector is calculated according to the output values of the incoming nodes, the weighting of the arcs, the sensitivity to affects of the incoming arcs, the global affect vector and the likelihood vector descriptors to which the node is sensitive:
  • the activation value of node i is calculated as a function of the input values of all nodes, the vector of sensitivity to affects of the node and the global vector of affects:
  • Valeur_actJvation 4 The vector of descriptors to generate is given by the trigger function. The calculation is done according to the activation of the node, its vector of sensitivity to affects and the global vector of affects:
  • Affectjgbbal Function j3volution_temporelle > Affectjgbbal
  • the mechanism of variation of generation probabilities is a function of the same type as that described in the absence of affects.
  • the evolution of the probability of production of a descriptor as well as the function of modification of this probability depend on the global vector of affects, for example through coefficient of sensitivity to this vector of affects. o
  • a similar mechanism can be obtained by decrementing the global affect following the activation of the node.
  • the input function can be broken down as follows:
  • a sensitivity value 'S' of arc 5 is calculated for current affects.
  • S is equal to the norm of a vector V. This vector is obtained by the scalar product of the sensitivity to affects of the arc and the global affect vector.
  • the activation function can perform a thresholding of the input value. 5
  • the thresholding depends on the sensitivity vector of the node and the global affect vector.
  • the activation function can arbitrate and allow only the nodes most sensitive to current affects to activate.
  • the descriptor generation function only generates descriptors if the node's sensitivity to affects is above a certain threshold.
  • the global affect increment function adds the average of the node increment vectors to the global affect vector.
  • the temporal evolution function asymptotically tends the global affect vector towards a particular state.
  • the weights of the arcs and the vectors of sensitivity to the affects of the nodes are obtained by automatic capture of the user profile.
  • the user tends to jump (“zap”) from multimedia documents to multimedia documents.
  • zap the following two pieces of information can be obtained from an interface for access to multimedia content which monitors the actions of the user, this interface possibly being a video player or music, a web browser, etc:
  • the vectors of sensitivity to the affects of the nodes are obtained from the viewing times of the documents by the user.
  • Some systems work in cooperation with more than one user. Several user profiles can be integrated into a single
  • the memory space is shared between all user profiles.
  • An additional function makes it possible to generate descriptors denoting the state of one or more of the user profiles.
  • the description can therefore for example 1 be supplemented with information on the mood of a user.
  • the "system" profile can use these descriptors.
  • This function is a permanent function. Each modification of the user profile on which the system focuses is immediately reported in the associated descriptors. In a preferred embodiment, the selection function will only focus on user profiles with significant weight.
  • the values of the interest weights associated with user profiles can be modified by the presence of descriptors.
  • these descriptors will have been generated by the "system" profile.
  • a household robot like the robot vacuum cleaner described above will often be confronted with several people. He must have a user model for each person whose actions he must plan and know the mood. By allowing the generation of descriptors describing the affects of the user, we make it possible for the robot to take this information into account. Thus, it can be "discreet” if its owner is “upset”.
  • the method allows the dynamic addition or deletion of nodes and the modification of the parameters of each node and each arc in use.
  • the dynamic addition or deletion of nodes can be carried out by the arbitration function in particular according to the number of descriptors, the presence of new types of descriptors in the working memory, or the creation or not of new descriptors by the system for a period.
  • the modification of the various parameters of the user profile such as the valuation of the arcs or the probability of transition of a node, is possible in particular by increasing or decreasing these parameters, depending on user interaction or by strengthening the arcs and nodes traversed and weakening of the others, or by a combination of this mechanism with the value of affects, or randomly, or according to the state of the following nodes in the graph.
  • User profiles are part of the world descriptions. They must be transported on the networks with the descriptions of the multimedia objects. They will also be useful in other contexts, for example for the proposal of personalized programs by multimedia content providers.
  • the invention proposes a network architecture with three components: a server providing a user profile (for example a personal video recorder), an anonymization server and a server consuming a profile (for example a provider of personalized content).
  • the anonymization server maintains an anonymization table, that is to say a correspondence table between user profiles and the network addresses of the people they represent.
  • This anonymization server is a trusted third party.
  • the protocol between the various servers is as follows: - the profile provider sends the profile server, its network address, personal information and its request to the anonymization server,
  • the anonymization server filters this information and transmits the request as well as a part of the personal information, but not the network address of the sender, - the profile consumer uses the information he receives to best respond to the request,
  • the result of the request is directed to the anonymization server which, thanks to its correspondence table, redirects the result to the user.
  • the part of the information transmitted to profile consumers is dependent on the number of profiles registered with the anonymization server. Statistical measurements on samples ensure the maximum transmission of information with the minimum of risk.
  • This device comprises at least a first processing unit coupled to a second processing unit comprising at least one working memory and capable of responding to a request formed by a user in order to access at least one document and / or to navigate among these documents and / or to interpret them.
  • the first processing unit is housed in a server comprising a communication interface coupled to an external system comprising the second processing unit, via a data transmission network.
  • the first processing unit comprises a first external calculation module F coupled to a communication interface and to a memory L in which collections of examples X are stored.
  • This first processing unit also comprises a working memory M comprising addressable registers and an address management module C, such as a counter making it possible to increment the current address, in writing, of the working memory M, for example every N cycles (defined by a clock). N is here an integer greater than or equal to 1. In this counter C, when the incrementation reaches a maximum value, an increment causes said value to return to its minimum value.
  • the first processing unit further comprises a second calculation module B intended to generate descriptors from descriptors stored in registers of the working memory M at selected addresses.
  • the first processing unit also comprises a third calculation module A intended for calculating affects, from descriptors generated by the second calculation module B. This third module A can also serve, alternatively, as a generator of abstract nodes .
  • FIG. 8 to describe a first embodiment of the device.
  • the first external calculation module F calculates a similarity function between objects Oi from the outside world, the image of which is contained in a multimedia document D, and the collections of examples X which are found stored in the memory L. It then delivers a first descriptor e (or primary descriptor) which is stored in the working memory M at the address c provided by the counter C.
  • the working memory M therefore includes a descriptor in each of its registers.
  • This working memory M supplies descriptors (e ', d', a ') to the input of the second calculation module B.
  • the second calculation module B has at least two inputs, preferably three, which are supplied in descriptors respectively by the two or three registers of the working memory M whose addresses are c, d and c2. But this is only an example, B can be fed by more than three descriptors.
  • the second module B delivers two or more scondary descriptors as output (or two copies of the same secondary descriptor). It is for example an information descriptor d.
  • This information descriptor d is supplied, on the one hand to the third calculation module A and, on the other hand, to the register of the working memory M whose address is d, with a view to its storage in the following cycle.
  • the third calculation module A delivers a derivative descriptor value d1 on its output which feeds the register of the working memory M whose address is c2, with a view to its memorization in the following cycle, at the same time as the memorization of d at address d.
  • the descriptor e which is supplied to the working memory M by the first external calculation module F can be either a descriptor obtained by similarity between an object and a prototype, as indicated previously, or an exception introduced by a user.
  • the address management module C can be arranged so that the user can choose the address of the register of the working memory M in which e must be stored.
  • FIG. 9 is illustrated a variant of the embodiment illustrated in FIG. 8.
  • the second calculation module B delivers at output an increment of affect i (or first secondary descriptor), an information descriptor d, (or second secondary descriptor) and an action descriptor k.
  • the information descriptor d is supplied at the input of the working memory M (address register d) to be stored and used in the next cycle, as indicated above.
  • the action descriptor k is control information delivered at the input of the external hardware G.
  • the increment of affect i is delivered at the input of the adder H where it is added to the value of the current affect in the third calculation module A. The result of this addition (a + i) feeds the input of the third calculation module A.
  • This affect calculation module A then delivers as output a new affect value "a" to the register of the working memory M whose address is c2, with a view to its storage and its use in the following cycle, as explained previously.
  • the second calculation module B in FIG. 9 is replaced by several modules B1, ..., Bn.
  • a selection module S making it possible to determine which of the calculation modules Bi must be used to supply the working memory M with the information descriptor d.
  • This selector S is a specific calculation module which receives as input, for example, the increments of affect coming from each calculation module Bi and which calculates a function of its inputs.
  • This selection module S outputs the address (or number) of the calculation module Bi, the results of which are written to the working memory M. In other words, only the selected module Bi has write access to the memory of work M.
  • the module Bi chosen by the selection module S becomes the bus master.
  • calculation modules A, B and S which have been described previously can be produced in the form of calculation microprocessors equipped with a memory. But this is only an example of implementation. In fact, the calculation modules A and B could be components of neural calculation, the types of which can be chosen according to the specific specification of the structure. Furthermore, the calculation modules A, B and S could also be made up of software modules.
  • a device comprising a first processing unit, coupled to a second external processing unit.
  • This second processing unit is preferably substantially identical to the first processing unit. It preferably includes in its working memory the user profile which was described in a previous part, relating to the method according to the invention. But of course, in a variant each processing unit may include user profiles. On the other hand, the device may include the first and second units in one place.
  • the invention is not limited to the embodiments of methods and devices described above, only by way of example, but it encompasses all the variants that a person skilled in the art may envisage within the framework of the claims below. -after.
  • methods and devices have been described in which the first and second processing units are housed respectively in separate systems of the server and client type communicating via a data transmission network.
  • these two processing units can be housed in the same system; in this case they communicate via an internal link, for example of the bus type.
  • a third processing unit can also be envisaged for carrying out document navigation operations, the first and second processing units then being respectively arranged for carrying out the document description operations and the response operations to the requests of the 'user.
  • the first and second processing units are housed in one place, for example the server, while the third unit is housed in another location (outside), for example in the client.
  • the third processing unit acts as a browser, while the second processing unit acts as a search engine.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for generating multimedia document descriptions, comprising an analysis step and a step whereby a document is segmented into a plurality of objects that are associated with various plausbilities; a feature description step whereby functions are applied to said objects, the feature descriptions comprise abstract descriptions containing a reference to a described object and functions describing reflex mechanisms; in addition to a step in which the abstract feature descriptions are activated. The feature description generation functions consist of the following: a similarity function with a pre-established collection of prototypes is applied to a multimedia object, exceptions are created by accepting new feature descriptions that contradict the feature descriptions that are already obtained, the feature description generation functions are modified by a user profile comprising a modeled set of knowledge data specific to a user for whom said description is designed in the form of an Or node graph that is linked by means of arcs, stored in a work area containing an organized feature description set with a delete function for said feature descriptions and which can be transmitted by a server to an external system that is capable of responding to a request from a user via a data transmission network.

Description

PROCEDE DE GENERATION DE DESCRIPTIONS DE DOCUMENTS MULTIMEDIA, ET DISPOSITIF ASSOCIE METHOD FOR GENERATING MULTIMEDIA DOCUMENT DESCRIPTIONS, AND ASSOCIATED DEVICE
L'invention concerne le domaine de la génération de descriptions de documents multimédia, tels que, notamment, des documents audiovisuels, des séquences vidéo, etc..The invention relates to the field of generating descriptions of multimedia documents, such as, in particular, audiovisual documents, video sequences, etc.
Il est déjà connu (norme MPEG-4) de représenter un document audiovisuel comme un ensemble d'objets, de comportement de ces objets et de relations entre ces objets, un objet pouvant être le document lui- même ou une partie de ce document. De façon typique, les objets multimédia peuvent être des séquences vidéo ou de films, un plan d'un film, une phrase musicale, etc..It is already known (MPEG-4 standard) to represent an audiovisual document as a set of objects, of behavior of these objects and of relations between these objects, an object being able to be the document itself or a part of this document. Typically, multimedia objects can be video or film sequences, a shot of a film, a musical phrase, etc.
Il a été proposé dans les spécifications initiales du projet de norme MCDI (Multimedia Content Description Interface) appelé également MPEG-It was proposed in the initial specifications of the draft standard MCDI (Multimedia Content Description Interface) also called MPEG-
7, de définir la structure d'un document multimédia au moyen d'un schéma de description qui représente le document comme un graphe d'objets, d'un langage de définition du schéma de description et de descripteurs, mais les contenus et les propriétés des schémas de description et les langages de définition de ces schémas restent encore à définir.7, to define the structure of a multimedia document by means of a description schema which represents the document as a graph of objects, a language for defining the description schema and descriptors, but the contents and the properties description schemes and the definition languages of these schemes have yet to be defined.
L'invention a notamment pour objet un procédé pour générer des descriptions de documents multimédia conformément à un ou plusieurs schémas de description, quel que soit le langage utilisé pour décrire ces schémas, dès lors que ledit langage possède l'expressivité et les propriétés voulues.The subject of the invention is in particular a method for generating descriptions of multimedia documents in accordance with one or more description schemes, whatever the language used to describe these schemes, provided that said language has the desired expressiveness and properties.
L'invention a également pour objet un procédé de ce type qui permette d'extraire une quantité maximale d'information sémantique utile d'un document multimédia à partir de contenus audiovisuels et d'ontologies, tout en minimisant le coût et la complexité du calcul nécessaire, celui-ci devant converger en un nombre fini (pouvant être limité de façon arbitraire) d'étapes de calcul. L'invention a encore pour objet un procédé du type précité, comprenant des étapes de définition d'un profil utilisateur permettant de personnaliser les descriptions des documents multimédia en fonction d'un ensemble de connaissances relatives à un utilisateur ou à un groupe d'utilisateurs, de façon à pouvoir offrir à cet utilisateur ou ce groupe d'utilisateurs une sélection personnalisée d'un certain nombre de documents multimédia et permettre la production d'un document conforme aux souhaits de l'utilisateur ou du groupe d'utilisateurs.The subject of the invention is also a method of this type which makes it possible to extract a maximum quantity of useful semantic information from a multimedia document from audiovisual content and ontologies, while minimizing the cost and the complexity of the calculation. necessary, this must converge into a finite number (which can be arbitrarily limited) of calculation steps. The invention also relates to a method of the aforementioned type, comprising steps of defining a user profile making it possible to personalize the descriptions of the multimedia documents according to a body of knowledge relating to a user or to a group of users. , so as to be able to offer this user or group of users a personalized selection of a certain number of multimedia documents and allow the production of a document in accordance with the wishes of the user or group of users.
A cet effet, l'invention propose un procédé de génération de descriptions de documents multimédia dans une première unité de traitement (par exemple logée dans un serveur) comprenant une mémoire de travail et couplée à une seconde unité de traitement (par exemple logée dans un système extérieur de type « client » ; dans ce cas le couplement s'effectue via un réseau de transmission de données) comprenant également une mémoire de travail et permettant de répondre à une requête formée par un utilisateur en vue d'accéder à l'un au moins de ces documents, et/ou de naviguer parmi ces documents et/ou de les interpréter. Ce procédé comprend de manière connue une première étape d'analyse et de segmentation temporelle et/ou spatiale d'un document multimédia en une pluralité d'objets multimédia auxquels sont associées des vraisemblances, et il se caractérise par le fait qu'il comprend également une deuxième étape de génération d'objets descripteurs par application de fonctions aux objets multimédia de la pluralité, ces objets descripteurs étant stockés dans l'une au moins des mémoires de travail des première et seconde unités de traitement en correspondance de vraisemblances et comprenant des descripteurs informations, des descripteurs actions et des descripteurs abstraits, ces derniers contenant chacun une référence à un objet décrit et des fonctions définissant des mécanismes de réflexe, les fonctions de génération de descripteurs comprenant au moins une des fonctions consistant à :To this end, the invention provides a method for generating descriptions of multimedia documents in a first processing unit (for example housed in a server) comprising a working memory and coupled to a second processing unit (for example housed in a external "client" type system (in this case the coupling is carried out via a data transmission network) also comprising a working memory and making it possible to respond to a request formed by a user with a view to accessing one at least of these documents, and / or to navigate among these documents and / or to interpret them. This method comprises in a known manner a first step of analysis and temporal and / or spatial segmentation of a multimedia document into a plurality of multimedia objects with which likelihoods are associated, and it is characterized in that it also comprises a second step of generating descriptor objects by applying functions to the multimedia objects of the plurality, these descriptor objects being stored in at least one of the working memories of the first and second processing units in correspondence of likelihoods and comprising descriptors information, action descriptors and abstract descriptors, the latter each containing a reference to a described object and functions defining reflex mechanisms, the descriptor generation functions comprising at least one of the functions consisting in:
- appliquer à un objet multimédia une fonction de similarité avec une collection préétablie de prototypes d'objets multimédia ou de descripteurs, - créer des exceptions par acceptation de nouveaux descripteurs qui contredisent des descripteurs déjà obtenus quand la vraisemblance d'un nouveau descripteur est supérieure à celle du descripteur déjà obtenu et que la différence de leurs vraisemblances est supérieure ou égale à un seuil prédéterminé,- apply a similarity function to a multimedia object with a pre-established collection of multimedia object prototypes or descriptors, - create exceptions by accepting new descriptors which contradict descriptors already obtained when the likelihood of a new descriptor is greater than that of the descriptor already obtained and the difference in their likelihood is greater than or equal to a predetermined threshold,
- modifier les fonctions de génération de descripteurs par un profil utilisateur comprenant un ensemble modélisé de connaissances spécifiques à un utilisateur destinataire d'une description, le profil utilisateur étant constitué d'un graphe de noeuds reliés par des arcs, stocké dans l'une au moins des mémoires de travail des première et seconde unités de traitement, contenant un ensemble organisé de descripteurs avec une fonction d'effacement des descripteurs, et étant propre à être établi par l'une et/ou l'autre des première et seconde unités de traitement. Selon d'autres caractéristiques de l'invention, pouvant être prises séparément et en combinaison, le procédé consiste également à :- modify the descriptor generation functions by a user profile comprising a modeled set of knowledge specific to a user receiving a description, the user profile consisting of a graph of nodes connected by arcs, stored in one at less working memories of the first and second processing units, containing an organized set of descriptors with a function for deleting descriptors, and being suitable for being established by one and / or the other of the first and second processing units treatment. According to other characteristics of the invention, which can be taken separately and in combination, the method also consists in:
- dans la première étape, ajouter aux objets multimédia des descripteurs de référence décrivant les relations entre les objets multimédia et les objets dont ils sont issus, - dans une troisième étape, activer des descripteurs abstraits par déclenchement d'un mécanisme de réflexe d'un descripteur abstrait en réponse à une modification de son état ou à une requête sur son état, cette activation permettant de générer d'autres descripteurs,- in the first step, add to the multimedia objects reference descriptors describing the relationships between the multimedia objects and the objects from which they come, - in a third step, activate abstract descriptors by triggering a reflex mechanism of a abstract descriptor in response to a change in its state or to a request on its state, this activation making it possible to generate other descriptors,
- utiliser une ou plusieurs ontologies dans les mécanismes de réflexe des descripteurs abstraits,- use one or more ontologies in the reflex mechanisms of abstract descriptors,
- activer des descripteurs abstraits en vue de réaliser un pseudohéritage, consistant en un transfert d'un descripteur le long d'une relation entre descripteurs, de préférence une relation de type contenu/contenant,- activate abstract descriptors in order to achieve a pseudo-inheritance, consisting of a transfer of a descriptor along a relationship between descriptors, preferably a relationship of type content / container,
- utiliser un code procédural, tel par exemple qu'un procédé algorithmique de segmentation ou d'extraction d'informations, pour la segmentation d'un document multimédia dans la première étape ou la génération de descripteurs dans la deuxième étape, - le déclenchement d'un mécanisme de réflexe d'un descripteur abstrait provoquant le déclenchement de mécanismes de réflexe d'autres descripteurs abstraits, utiliser un mécanisme de marquage de ces descripteurs abstraits pour éviter des activations en boucle fermée de deux ou plusieurs de ces descripteurs abstraits,- use a procedural code, such as for example an algorithmic method of segmentation or information extraction, for the segmentation of a multimedia document in the first step or the generation of descriptors in the second step, - the triggering of a reflex mechanism of an abstract descriptor causing the triggering of reflex mechanisms of other abstract descriptors, use a mechanism of marking these abstract descriptors to avoid activations in closed loop of two or more of these descriptors abstract,
- créer dans la première étape une collection de prototypes par application à un ou plusieurs objets multimédia d'interactions (ou introduction de données par un agent extérieur) associées à un poids expert ou vraisemblance, - utiliser des règles de production dans les fonctions de génération de descripteurs de la deuxième étape, et éventuellement créer des règles par application de métarègles à d'autres règles,- create in the first stage a collection of prototypes by application to one or more multimedia objects of interactions (or introduction of data by an external agent) associated with an expert weight or plausibility, - use production rules in the generation functions descriptors of the second step, and possibly create rules by applying meta-rules to other rules,
- utiliser des interactions, permettant la production d'annotations, dans les fonctions de génération de descripteurs de la deuxième étape, - maintenir la cohérence des descripteurs générés dans la deuxième étape, par suppression des descripteurs issus d'un descripteur contredit par une exception,- use interactions, allowing the production of annotations, in the descriptor generation functions of the second step, - maintain the consistency of the descriptors generated in the second step, by deleting the descriptors from a descriptor contradicted by an exception,
- définir un profil utilisateur par un graphe de noeuds reliés par des arcs et par une mémoire de travail contenant un ensemble organisé de descripteurs avec une fonction d'effacement des descripteurs, l'établissement du profil utilisateur consistant à remplir la mémoire de travail de l'une et/ou l'autre des première et seconde unités de traitement par un ensemble de descripteurs, en temps réel ou en temps différé, à supprimer de la mémoire un ensemble de descripteurs précédents, à calculer des valeurs d'entrée des noeuds du profil, à calculer des valeurs d'activation des noeuds, à générer un nouvel ensemble de descripteurs et à le rentrer dans la mémoire de travail, chaque noeud contenant une fonction d'agrégat des entrées, une valeur d'entrée, une fonction d'activation ou de transition, une fonction de sortie, une fonction de génération de descripteurs et une valeur d'intérêt, des valeurs numériques de pondération étant affectées aux arcs reliant les noeuds. Le procédé peut comporter une fonction d'arbitrage déterminant, parmi des noeuds candidats à une activation, ceux qui sont activés à un moment donné, en fonction d'un descripteur du nombre de noeuds qui peuvent être activés et des paramètres d'activation associés à chaque noeud.- define a user profile by a graph of nodes connected by arcs and by a working memory containing an organized set of descriptors with a function for deleting descriptors, the establishment of the user profile consisting in filling the working memory of the one and / or the other of the first and second processing units by a set of descriptors, in real time or in deferred time, to delete from memory a set of previous descriptors, to calculate input values of the nodes of the profile, to calculate activation values of the nodes, to generate a new set of descriptors and to enter it into the working memory, each node containing an aggregate function of the inputs, an input value, a function of activation or transition, an output function, a descriptor generation function and a value of interest, digital weighting values being assigned to the arcs connecting the s knots. The method can include an arbitration function determining, among nodes which are candidates for activation, those which are activated at a given time, as a function of a descriptor of the number of nodes which can be activated and of the activation parameters associated with each node.
Une valeur de pondération d'un arc peut par exemple correspondre à la probabilité que l'utilisateur qui a vu un descripteur contenu dans un premier noeud du graphe souhaite voir un autre descripteur contenu dans un autre noeud du graphe relié au premier noeud par l'arc en question, ou bien à la probabilité que l'utilisateur pense à l'autre descripteur quand il a vu le descripteur contenu dans le premier noeud.A weighting value of an arc can for example correspond to the probability that the user who has seen a descriptor contained in a first node of the graph wishes to see another descriptor contained in another node of the graph connected to the first node by the arc in question, or the probability that the user thinks of the other descriptor when he has seen the descriptor contained in the first node.
Avantageusement, ce procédé peut également consister à ajouter des informations à caractère émotionnel au profil utilisateur, en associant à chaque noeud un vecteur de sensibilité aux affects pour chacune des fonctions du noeud et un vecteur d'incrément d'affect global, un vecteur de sensibilité aux affects à chaque arc et un contexte d'affects ou vecteur d'affects global à l'ensemble du graphe, les fonctions d'entrée, d'activation ou de transition et de génération de descripteurs contenues dans les noeuds étant modifiées pour tenir compte du vecteur d'affects global et des vecteurs de sensibilité aux affects.Advantageously, this method can also consist in adding information of an emotional nature to the user profile, by associating with each node a vector of sensitivity to affects for each of the functions of the node and a vector of increment of global affect, a vector of sensitivity to affects at each arc and a context of affects or vector of affects global to the whole graph, the input, activation or transition and descriptor generation functions contained in the nodes being modified to take into account the global affect vector and affect sensitivity vectors.
La fonction de génération de descripteurs génère les descripteurs à partir de la valeur d'activation du noeud, du vecteur de sensibilité aux affects de cette fonction et du vecteur d'affects global.The descriptor generation function generates the descriptors from the activation value of the node, from the affect sensitivity vector of this function and from the global affect vector.
Les valeurs de pondération des arcs et les vecteurs de sensibilité aux affects des noeuds peuvent être obtenus par capture automatique du profil utilisateur. On peut pour cela enregistrer les réactions de l'utilisateur à une séance de visualisation de documents au cours de laquelle il peut, à chaque fois, passer plus ou moins vite d'un document à l'autre ou visualiser l'intégralité d'un document. La fréquence de passage d'un document contenant un certain descripteur vers un document contenant un autre descripteur et la durée de visualisation de chaque document sont utilisées pour pondérer le graphe de la façon suivante : - les valeurs de pondération des arcs sont initialisées aux valeurs données par les probabilités de transition entre deux descripteurs obtenus à partir des fréquences de passage entre les descripteurs, les vecteurs de sensibilité aux affects des noeuds sont obtenus à partir des durées de visualisation des documents par l'utilisateur, par exemple par multiplication du contexte d'affects de l'utilisateur lors de la visualisation par le rapport durée de visualisation/durée totale du document.The weighting values of the arcs and the vectors of sensitivity to the affects of the nodes can be obtained by automatic capture of the user profile. To do this, we can record the user's reactions to a document viewing session during which he can, each time, move more or less quickly from one document to another or view an entire document. document. The frequency of passage from a document containing a certain descriptor to a document containing another descriptor and the display time of each document are used to weight the graph as follows: - the weighting values of the arcs are initialized to the values given by the transition probabilities between two descriptors obtained from the frequencies of passage between the descriptors, the vectors of sensitivity to affects of the nodes are obtained from the viewing times of the documents by the user, for example by multiplying the context of affect of the user during viewing by the ratio viewing time / total duration of the document.
Mais le profil utilisateur peut être acquis par tout autre moyen approprié. Des moyens peuvent être en outre prévus pour rendre anonyme le profil utilisateur en particulier en vue de sa transmission par la seconde unité de traitement à la première unité de traitement. Cela s'applique tout particulièrement au cas où la seconde unité de traitement est logée dans un système extérieur de type client et qu'il doit être transmis à un système extérieur tel, par exemple, qu'un serveur dans un réseau de transmission de données.However, the user profile can be acquired by any other appropriate means. Means can also be provided to anonymize the user profile in particular with a view to its transmission by the second processing unit to the first processing unit. This applies particularly to the case where the second processing unit is housed in an external client-type system and it must be transmitted to an external system such as, for example, a server in a data transmission network. .
Dans une application particulière, le procédé est agencé pour effectuer les opérations de descriptions sur la première unité de traitement, les opérations de réponse aux requêtes de l'utilisateur sur la seconde unité de traitement, celle-ci étant identique à la première unité de traitement, et des opérations de navigation dans les documents dans une troisième unité de traitement. Dans ce cas, les première et seconde unités de traitement peuvent être logées dans un serveur et la troisième unité de traitement dans un client. Le procédé selon l'invention peut être exécuté par itération, la contrainte d'acceptation des exceptions garantissant sa convergence.In a particular application, the method is arranged to perform the description operations on the first processing unit, the operations for responding to user requests on the second processing unit, the latter being identical to the first processing unit , and document navigation operations in a third processing unit. In this case, the first and second processing units can be housed in a server and the third processing unit in a client. The method according to the invention can be executed by iteration, the constraint of accepting exceptions guaranteeing its convergence.
Ce procédé peut prendre en compte plusieurs profils utilisateurs, constitués de la façon précitée et dont une copie de l'état est enregistrée en mémoire de travail, une fonction de sélection et d'arbitrage déterminant les profils utilisateurs actifs à un moment donné.This process can take into account several user profiles, constituted in the aforementioned manner and of which a copy of the state is saved in working memory, a selection and arbitration function determining the user profiles active at a given time.
De façon générale, le procédé selon l'invention permet de générer des descriptions personnalisées de documents multimédia de tout type (films, séquences vidéo, images vidéo fournies par des caméras de vidéosurveillance, images vidéo fournies par un système optoélectronique de vision d'un robot, signaux sonores, etc..) et a pour avantage essentiel de fournir une description optimisée d'un document multimédia, adaptée à un utilisateur donné à un instant donné.In general, the method according to the invention makes it possible to generate personalized descriptions of multimedia documents of all types (films, video sequences, video images supplied by video surveillance cameras, video images supplied by an optoelectronic vision system of a robot, sound signals, etc.) and has the essential advantage of providing an optimized description of a document multimedia, adapted to a given user at a given time.
L'invention concerne également un dispositif de génération de descriptions de documents multimédia, comprenant de façon connue une première unité de traitement couplée à une seconde unité de traitement agencée pour transmettre à la première unité de traitement des requêtes formées par un utilisateur en vue d'accéder à l'un au moins des documents multimédia, et/ou de naviguer parmi ces documents et/ou de les interpréter.The invention also relates to a device for generating multimedia document descriptions, comprising in a known manner a first processing unit coupled to a second processing unit arranged to transmit to the first processing unit requests made by a user for the purpose of access at least one of the multimedia documents, and / or navigate among these documents and / or interpret them.
Le dispositif selon l'invention se caractérise par le fait que la première unité de traitement comporte : * des moyens d'horloge permettant de définir des cycles,The device according to the invention is characterized in that the first processing unit comprises: * clock means making it possible to define cycles,
* une mémoire de travail subdivisée en registres adressables et propres à contenir des descripteurs, * a working memory subdivided into addressable registers and capable of containing descriptors,
* une mémoire auxiliaire capable de stoker des collections d'exemples, * an auxiliary memory capable of storing collections of examples,
* un premier module de calcul permettant de calculer une fonction de similarité entre des objets du monde extérieur, dont une image est contenue dans un document multimédia, et les collections d'exemples, et de délivrer un descripteur primaire représentatif de la fonction de similarité calculée (certains de ces descripteurs primaires pouvant être des exceptions introduites par un utilisateur), * des moyens de gestion de l'adressage, en écriture, des registres de la mémoire de travail, agencés pour fournir tous les N cycles (N étant supérieur ou égal à 1 ) une première adresse pour stocker le descripteur primaire dans la mémoire de travail, * a first calculation module making it possible to calculate a similarity function between objects from the outside world, an image of which is contained in a multimedia document, and the collections of examples, and to deliver a primary descriptor representative of the calculated similarity function (some of these primary descriptors may be exceptions introduced by a user), * means for managing the addressing, in writing, of the registers of the working memory, arranged to supply all the N cycles (N being greater than or equal at 1) a first address for storing the primary descriptor in the working memory,
* un second module de calcul alimenté en au moins deux descripteurs stockés à des adresses choisies de la mémoire de travail et permettant de générer au moins un premier et un second descripteurs secondaires à partir de ces descripteurs reçus, et * un troisième module de calcul permettant de calculer un descripteur dérivé à partir du premier descripteur secondaire généré par le second module de calcul, les moyens de gestion d'adresse étant en outre capables d'adresser respectivement le second descripteur secondaire et le descripteur dérivé à des registres de la mémoire de travail M placés en des seconde et troisième adresses choisies, en vue de leur mémorisation au cycle suivant, et le second module de calcul étant en outre capable de déterminer, à partir des descripteurs secondaire et dérivé, un descripteur d'action formant information de contrôle pour un matériel extérieur. * A second computing module supplied with at least two descriptors stored at selected addresses in the main memory and for generating at least a first and a second secondary descriptors received from these descriptors, and * a third calculation module for calculating a derived descriptor from the first secondary descriptor generated by the second calculation module, the address management means being further capable of addressing the second secondary descriptor and the derived descriptor respectively to registers of the working memory M placed at second and third addresses chosen, with a view to their memorization in the following cycle, and the second calculation module being further capable of determining, from the secondary and derived descriptors, a descriptor d action forming control information for external equipment.
Dans un mode de réalisation particulièrement avantageux, le second module de calcul est capable de délivrer le premier descripteur secondaire sous la forme d'un incrément d'affect, et l'unité de traitement comprend, entre les second et troisième modules de calcul, un additionneur permettant d'additionner l'incrément d'affect au descripteur dérivé en cours dans le troisième module et de transmettre le résultat de cette addition au troisième module de calcul, de sorte qu'il puisse déterminer un nouveau descripteur dérivé destiné à être stocké dans le registre placé à la troisième adresse choisie lors du cycle suivant. Par ailleurs, le second module de calcul pourra être subdivisé en une multiplicité de sous-modules, et la première unité de traitement pourra comprendre un module de sélection permettant de sélectionner l'un des sous-modules pour alimenter avec le second descripteur secondaire le registre placé à la seconde adresse. Ce module de sélection peut être agencé de manière à sélectionner un sous-module par application d'une fonction choisie aux incréments d'affect délivrés par chacun des sous- modules. Avantageusement, ces sous-modules de calcul et le module de sélection pourront être agencés en parallèle sur un bus.In a particularly advantageous embodiment, the second calculation module is capable of delivering the first secondary descriptor in the form of an affect increment, and the processing unit comprises, between the second and third calculation modules, a adder used to add the increment of affect to the current derivative descriptor in the third module and to transmit the result of this addition to the third calculation module, so that it can determine a new derived descriptor intended to be stored in the register placed at the third address chosen during the next cycle. Furthermore, the second calculation module can be subdivided into a multiplicity of sub-modules, and the first processing unit can include a selection module making it possible to select one of the sub-modules to supply the register with the second secondary descriptor. placed at the second address. This selection module can be arranged so as to select a sub-module by applying a selected function to the increments of affect delivered by each of the sub-modules. Advantageously, these calculation sub-modules and the selection module can be arranged in parallel on a bus.
Dans un mode de réalisation le dispositif pourra comporter également la seconde unité de traitement, qui est dans ce cas sensiblement identique à la première unité de traitement. La première unité de traitement est alors préférentiellement agencée pour effectuer les opérations de descriptions de documents tandis que la seconde unité de traitement est agencée pour effectuer les opérations de réponse aux requêtes de l'utilisateur. Une troisième unité de traitement peut également être prévue pour effectuer des opérations de navigation dans les documents.In one embodiment, the device may also include the second processing unit, which in this case is substantially identical to the first processing unit. The first processing unit is then preferably arranged to carry out the document description operations while the second processing unit is arranged to perform the response operations to user requests. A third processing unit can also be provided to perform document navigation operations.
Les première et seconde unités de traitement peuvent être logées respectivement dans des systèmes de type serveur et client comportant chacun une interface de communication, les première et seconde unités de traitement étant alors couplées par un réseau de transmission de données, via les interfaces de communication. Mais, ces première et seconde unités de traitement peuvent être également logées dans un serveur comportant une interface de communication, tandis que la troisième unité de traitement est logée dans un système extérieur de type « client » comportant également une interface de communication, les client et serveur étant couplés par un réseau de transmission de données, via leurs interfaces de communication respectives.The first and second processing units can be housed respectively in server and client type systems each comprising a communication interface, the first and second processing units then being coupled by a data transmission network, via the communication interfaces. However, these first and second processing units can also be housed in a server comprising a communication interface, while the third processing unit is housed in an external “client” type system also comprising a communication interface, the clients and server being coupled by a data transmission network, via their respective communication interfaces.
L'invention sera mieux comprise et d'autres caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement à la lecture de la description qui suit de divers modes de réalisation de l'invention, faite à titre d'exemple en référence aux dessins annexés dans lesquels :The invention will be better understood and other characteristics, details and advantages thereof will appear more clearly on reading the following description of various embodiments of the invention, given by way of example with reference to the drawings annexed in which:
- la figure 1 illustre le mode de détection d'un mouvement dans des images d'un film,FIG. 1 illustrates the mode of detection of a movement in images of a film,
- la figure 2 illustre la notion de pseudo-héritage,FIG. 2 illustrates the concept of pseudo-inheritance,
- la figure 3 est un schéma de pondération des arcs d'un graphe de profil utilisateur,FIG. 3 is a diagram for weighting the arcs of a graph of user profile,
- la figure 4 représente schématiquement un noeud de ce profil,FIG. 4 schematically represents a node of this profile,
- la figure 5 représente un mode opératoire d'un profil utilisateur,FIG. 5 represents an operating mode of a user profile,
- la figure 6 représente un noeud d'un profil utilisateur avec ajout d'un profil émotionnel, . - la figure 7 représente un mode opératoire du profil utilisateur comprenant un profil émotionnel, - la figure 8 illustre un premier mode de réalisation d'un dispositif de traitement mettant en oeuvre le procédé selon l'invention,- Figure 6 shows a node of a user profile with the addition of an emotional profile,. FIG. 7 represents an operating mode of the user profile comprising an emotional profile, FIG. 8 illustrates a first embodiment of a processing device implementing the method according to the invention,
- la figure 9 illustre une variante du mode de réalisation de la figure- Figure 9 illustrates a variant of the embodiment of Figure
8, la figure 10 illustre une variante du mode de réalisation de la figure8, FIG. 10 illustrates a variant of the embodiment of the figure
9, et la figure 11 illustre une variante du mode de réalisation de la figure 10.9, and FIG. 11 illustrates a variant of the embodiment of FIG. 10.
Le procédé selon l'invention a pour but de générer une description d'objets multimédia, en particulier de documents audiovisuels numérisésThe method according to the invention aims to generate a description of multimedia objects, in particular digitized audiovisual documents
(films, documentaires, émissions télévisées, etc.), et aussi d'autres types d'objets, de différentes natures, disponibles sur différents formats ou supports, numérisés ou non, tels que les cassettes vidéos, les livres, les pages "web", et a priori tout objet d'un monde réel, imaginaire ou virtuel. Un objet multimédia est dans son acceptation la plus générale une entité d'un monde réel, imaginaire ou virtuel, qui peut être perçue. Les perceptions impliquées ne se limitent pas aux perceptions visuelles ou auditives et comprennent également les perceptions tactiles, olfactives et gustatives. Il existe des systèmes incorporant des capteurs d'odeurs et de toucher, auxquels le procédé selon l'invention est applicable.(films, documentaries, television programs, etc.), and also other types of objects, of different natures, available on different formats or supports, digital or not, such as video cassettes, books, web pages ", and a priori any object of a real, imaginary or virtual world. A multimedia object is in its most general acceptance an entity of a real, imaginary or virtual world, which can be perceived. The perceptions involved are not limited to visual or auditory perceptions and also include tactile, olfactory and gustatory perceptions. There are systems incorporating odor and touch sensors, to which the method according to the invention is applicable.
Ce procédé permet de générer des descripteurs à partir d'informations de base (un document numérisé, un noyau de descripteurs, etc..) ou à partir d'un flux d'informations, dans ce cas en "temps réel", les informations provenant par exemple d'une caméra de surveillance. Dans le cas "temps réel" on ne dispose pas d'une base d'objets multimédias que l'on doit analyser, mais d'un ensemble changeant d'objets multimédias et la description doit elle aussi évoluer avec le temps.This process makes it possible to generate descriptors from basic information (a digitized document, a core of descriptors, etc.) or from an information flow, in this case in "real time", the information for example from a surveillance camera. In the "real time" case, we do not have a database of multimedia objects that we must analyze, but a changing set of multimedia objects and the description must also evolve over time.
La description générée en temps réel ou en temps différé pourra servir à plusieurs classes d'applications. On distingue les applications "pull", les applications "push" et les applications spécialisées. Les applications "pull" répondent à une requête faite explicitement par un utilisateur. Les applications "push" anticipent les désirs des utilisateurs et leur font des propositions. Les applications spécialisées ne sont pas directement classables dans l'une des deux catégories précédentes et touchent des domaines aussi variés que l'imagerie médicale, la surveillance de routes ou de lieux sensibles, les systèmes mobiles autoguidés (missiles, automobiles à conduite assistée, etc.), la domotique (capteurs intelligents), et la robotique : les robots "intelligents" analysent le monde perçu et doivent donc disposer d'une description de ce monde à partir d'objets multimédia (images et sons des capteurs). Dans le cas des applications "push", le système doit avoir un modèle de la personne qui l'utilise et ce modèle est une partie d'une description du monde réel. La quasi totalité des applications informatiques doivent également incorporer ce type d'informations, y compris les applications "pull" et les applications spécialisées. Un exemple concret peut être le cas d'un robot aspirateur qui, afin de déranger le moins possible son propriétaire, devra se servir d'un modèle le décrivant. Il pourra alors connaître le moment idéal pour son déclenchement et les chemins qu'emprunte classiquement son propriétaire dans l'appartement, savoir que lorsque son propriétaire est en colère, il vaut mieux ne pas se déclencher, mais que s'il va recevoir des amis chez lui, il doit se déclencher. Les descriptions du monde nécessaires sont de nature très différentes : modèle de l'utilisateur, modèle des pièces de l'appartement, etc..The description generated in real time or in deferred time can be used for several classes of applications. A distinction is made between "pull" applications, "push" applications and specialized applications. "Pull" applications respond to a request made explicitly by a user. The push applications anticipate the wishes of the users and make proposals to them. Specialized applications cannot be directly classified into one of the two preceding categories and touch on fields as varied as medical imaging, surveillance of roads or sensitive places, mobile guided systems (missiles, assisted driving cars, etc. .), home automation (intelligent sensors), and robotics: "intelligent" robots analyze the perceived world and must therefore have a description of this world from multimedia objects (sensor images and sounds). In the case of push applications, the system must have a model of the person using it and this model is part of a description of the real world. Almost all computer applications must also incorporate this type of information, including pull and specialized applications. A concrete example can be the case of a robot vacuum cleaner which, in order to disturb its owner as little as possible, will have to use a model describing it. He will then be able to know the ideal moment for its triggering and the paths that its owner conventionally takes in the apartment, to know that when its owner is angry, it is better not to trigger, but that if he is going to receive friends at home, he must go off. The descriptions of the world necessary are very different in nature: model of the user, model of the rooms in the apartment, etc.
Les informations décrivant les utilisateurs (et plus généralement les êtres humains) sont de nature très variées. Il est possible de modéliser les goûts, les humeurs, les habitudes, les associations d'idées classiques, etc.. Avec une telle expressivité, ces modélisations contiennent des données très sensibles touchant à la vie privée. Il est donc nécessaire de les protéger et d'en empêcher la divulgation si elle n'est pas souhaitée, ce qui conditionne l'acceptation et l'utilisation des systèmes basés sur ces modélisations. Ce problème est d'autant plus important que ces systèmes seront certainement connectés à des réseaux informatiques. L'invention propose dans ce contexte, un procédé dont le but est de générer une description personnalisée d'un objet multimédia, grâce à un ensemble de connaissances sur l'objet et sur le monde dans lequel il évolue. On dispose pour cela de méthodes de segmentation d'objets multimédias, de connaissances fournies sous forme de règles de production, de connaissances fournies par un ensemble d'exemples (les prototypes), et de connaissances sur les utilisateurs (les profils utilisateurs).The information describing the users (and more generally human beings) is very varied in nature. It is possible to model tastes, moods, habits, associations of classic ideas, etc. With such expressiveness, these models contain very sensitive data relating to privacy. It is therefore necessary to protect them and prevent their disclosure if it is not desired, which conditions the acceptance and use of systems based on these models. This problem is all the more important as these systems will certainly be connected to computer networks. The invention proposes in this context, a method the aim of which is to generate a personalized description of a multimedia object, thanks to a body of knowledge on the object and on the world in which it evolves. We have methods for segmenting multimedia objects, knowledge provided in the form of production rules, knowledge provided by a set of examples (prototypes), and knowledge of users (user profiles).
La description du procédé selon l'invention fait appel à un certain nombre d'expressions spécialisées, dont les définitions sont données ci- dessous.The description of the process according to the invention calls upon a certain number of specialized expressions, the definitions of which are given below.
Un objet : soit un objet descripteur soit un objet multimédia. Une collection d'objets est un objet.An object: either a descriptor object or a multimedia object. A collection of objects is an object.
Un objet multimédia : un objet multimédia est dans son acceptation la plus générale une entité d'un monde réel, imaginaire ou virtuel, qui peut être perçue (perceptions tactiles, olfactives, gustatives, visuelles et/ou auditives).A multimedia object: a multimedia object is in its most general acceptance an entity of a real, imaginary or virtual world, which can be perceived (tactile, olfactory, gustatory, visual and / or auditory perceptions).
Un objet descripteur (ou descripteur) est un descripteur informatif ou un descripteur action. Un descripteur action déclenche une action sur le monde extérieur dès qu'il est généré (enregistrement d'une séquence, sauvegarde sur bande, affichage ou masquage, etc.). Il a la particularité de ne pas pouvoir être contredit par une exception. Il dispose d'un type et d'une valeur.A descriptor object (or descriptor) is an informative descriptor or an action descriptor. An action descriptor triggers an action on the outside world as soon as it is generated (recording a sequence, saving to tape, showing or hiding, etc.). It has the distinction of not being able to be contradicted by an exception. It has a type and a value.
Les descripteurs informations représentent une description d'un objet. Ils disposent d'un type, d'un objet cible (une référence à l'objet décrit) et d'une valeur.Information descriptors represent a description of an object. They have a type, a target object (a reference to the described object) and a value.
Un prototype : un prototype est un objet (multimédia ou descripteur) qui sert d'exemple.A prototype: a prototype is an object (multimedia or descriptor) which serves as an example.
Une fonction : toute application d'un ensemble dans un autre ensemble. Une fonction d'agrégation est une fonction de plusieurs valeurs qui fournit une valeur résultat. Par exemple, il peut s'agir d'une fonction de plusieurs vecteurs qui renvoie un vecteur. Les fonctions d'agrégations sont notamment utilisées pour calculer la valeur d'un nœud à partir des entrées de ce nœud, ou la valeur du vecteur d'affects global à partir des vecteurs d'incréments des nœuds activés. Une réalisation préférentielle est une somme des valeurs sources.A function: any application of a set into another set. An aggregate function is a multivalued function that provides a result value. For example, it can be a function of several vectors which returns a vector. The aggregation functions are used in particular to calculate the value of a node from the inputs of this node, or the value of the global affect vector from the increment vectors of the activated nodes. A preferential realization is a sum of the source values.
Les collections : une collection est soit un objet soit une collection plus une pondération. Une collection d'objets multimédia est aussi un objet multimédia.Collections: a collection is either an object or a collection plus a weight. A collection of multimedia objects is also a multimedia object.
Une interaction : n'importe quelle introduction de données dans le programme, effectuée par un agent extérieur au système (un utilisateur ou un agent informatique).An interaction: any input of data into the program, carried out by an agent external to the system (a user or an IT agent).
Une fonction de similarité : c'est une fonction qui permet d'établir une similarité entre deux collections d'objets. La réalisation préférentielle retournera un degré de similarité c'est à dire une valeur réelle comprise entre 0 et 1.A similarity function: it is a function which makes it possible to establish a similarity between two collections of objects. The preferential realization will return a degree of similarity, i.e. a real value between 0 and 1.
Un descripteur abstrait : c'est un descripteur qui contient une référence vers l'objet décrit et un ensemble de fonctions définissant des comportements de réflexe. Il réagit à une modification de son état ou à une requête sur son état.An abstract descriptor: it is a descriptor which contains a reference to the described object and a set of functions defining reflex behaviors. He reacts to a change in his state or to a request on his state.
Une vraisemblance : une ou plusieurs valeurs représentant par exemple la crédibilité, la plausibilité, l'utilité ou le poids d'un objet, d'une interaction ou d'un utilisateur. Les vraisemblances peuvent être combinées grâce à des opérateurs logiques d'une logique graduelle. Une réalisation préférentielle est d'utiliser une valeur réelle (vraisemblance) ou deux valeurs réelles (plausibilité, importance) avec des calculs basés sur la logique floue ou la logique possibiliste.Likelihood: one or more values representing, for example, the credibility, plausibility, usefulness or weight of an object, an interaction or a user. Likelihoods can be combined using logical operators of gradual logic. A preferential realization is to use a real value (likelihood) or two real values (plausibility, importance) with calculations based on fuzzy logic or possibilistic logic.
Les étapes du procédé peuvent être présentées sous une forme synthétique dont la sémantique des opérateurs est la suivante : Θ signifie "associé à", ® signifie "composé avec", => signifie "génère" et * signifie "un ou plusieurs" et - signifie "retrait".The steps of the process can be presented in a synthetic form whose operator semantics is as follows: suivante means "associated with", ® means "composed with", => means "generates" and * means "one or more" and - means "withdrawal".
La description et les descripteurs :Description and descriptors:
Une description est définie comme un ensemble de descripteurs et d'objets multimédias liés entre eux. Un descripteur est une mini-description d'un des objets de la description globale. Un descripteur est généralement composé d'un type, d'une valeur et d'une référence à l'objet décrit. Les descripteurs abstraits incorporent des comportements de réflexe. La génération d'un descripteur action entraîne des actions sur le monde extérieur comme, par exemple, l'enregistrement par un magnétoscope d'une scène d'un film. Les descripteurs transitoires sont ôtés de la description périodiquement ou à date fixe. Enfin, une valeur de vraisemblance mesure la crédibilité de chaque descripteur.A description is defined as a set of descriptors and multimedia objects linked together. A descriptor is a mini-description of one of the objects of the global description. A descriptor is generally composed of a type, a value and a reference to the object described. Abstract descriptors incorporate reflex behaviors. The generation of an action descriptor involves actions on the outside world such as, for example, the recording by a video recorder of a scene from a film. Transient descriptors are removed from the description periodically or on a fixed date. Finally, a likelihood value measures the credibility of each descriptor.
La boucle principale du procédé : Elle consiste à compléter incrémentalement la description de l'objet multimédia, par un ensemble de fonctions qui, en s'appliquant sur la description, génèrent de nouveaux descripteurs ou de nouveaux objets multimédias. Le procédé se décompose en trois étapes principales :The main process loop: It consists of incrementally completing the description of the multimedia object with a set of functions which, when applied to the description, generate new descriptors or new multimedia objects. The process is broken down into three main stages:
Etape 1 : La segmentation des objets multimédiasStep 1: The segmentation of multimedia objects
Elle consiste à produire des objets multimédias à partir d'un objet multimédia. Les objets produits décrivent généralement l'objet dont ils sont issus. Sa forme synthétique est :It consists in producing multimedia objects from a multimedia object. The objects produced generally describe the object from which they come. Its synthetic form is:
(Objet_MM Vraisemblance) (Fonction Vraisemblance) (Objet_MM Vraisemblance)* (Objet_MM Likelihood) (Likelihood Function) (Objet_MM Likelihood) *
Une version étendue génère aussi un descripteur. Ce descripteur permet de décrire la relation qui lie les objets multimédias : composition spatiale, temporelle, etc.. (Objet_MM Vraisemblance) (Fonction Vraisemblance) ((Objet_MM Vraisemblanœ ) (Objet_Descripteur Vraisemblanœ))* An extended version also generates a descriptor. This descriptor describes the relationship between multimedia objects: spatial, temporal composition, etc. (Objet_MM Likelihood) (Likelihood Function) ((Objet_MM Vraisemblanœ) (Objet_Descripteur Vraisemblanœ)) *
Une collection d'objets multimédias étant aussi un objet multimédia, les deux règles précédentes peuvent donc générer des collections d'objets multimédia.Since a collection of multimedia objects is also a multimedia object, the two preceding rules can therefore generate collections of multimedia objects.
Spécialisation par un code procédural :Specialization by a procedural code:
(Objet_MM Vraisemblanœ)
Figure imgf000017_0001
Vraisemblanœ) (Objet_MM Vraisemblanœ) (Objet_Desαipteur Vraisemblanœ)
(Objet_MM Vraisemblanœ)
Figure imgf000017_0001
Vraisemblanœ) (Objet_MM Vraisemblanœ) (Objet_Desαipteur Vraisemblanœ)
Cette spécialisation de la première étape du procédé peut être illustrée par les méthodes de segmentation des films en plans, qui tentent, de manière algorithmique, de repérer tous les plans d'un film. Elles présentent leurs résultats sous la forme d'un ensemble d'images appelées images caractéristiques et elles associent les plans d'un film à un film par une relation de composition. Ces méthodes produisent bien un ensemble d'objets multimédias et un ensemble de descripteurs par l'application d'un code procédural à un autre objet multimédia.This specialization of the first stage of the process can be illustrated by the methods of segmenting films into shots, which attempt, algorithmically, to identify all the shots in a film. They present their results in the form of a set of images called characteristic images and they associate the shots of a film with a film by a relation of composition. These methods do produce a set of multimedia objects and a set of descriptors by applying a procedural code to another multimedia object.
Exemple de segmentation en plans par une méthode algorithmique :Example of segmentation into plans by an algorithmic method:
Chaque image d'un film est caractérisée par son intensité moyenne et l'intensité de chaque image est comparée à celles des n images précédentes. Dès que l'on repère une irrégularité trop grande on suppose qu'il y a eu changement de plan. Cette méthode simpliste permet la détection de plans dans un flux vidéo. On caractérise les plans détectés par une des images qu'ils contiennent et on segmente le film en un ensemble d'images caractéristiques. Etape 2 : La génération de nouveaux descripteursEach image of a film is characterized by its average intensity and the intensity of each image is compared with those of the n previous images. As soon as you spot too large an irregularity, you assume that there has been a change of plan. This simplistic method allows the detection of clips in a video stream. The planes detected are characterized by one of the images they contain and the film is segmented into a set of characteristic images. Step 2: Generating new descriptors
Cette étape a pour but de générer des descripteurs à partir d'autres descripteurs. Sa forme synthétique générale est :The purpose of this step is to generate descriptors from other descriptors. Its general synthetic form is:
(Objet Vraisemblanœ)* (Fonction Vraisemblanœ) (Objet descripteur Vraisemblanœ) Une version spécifique de cette forme synthétique sera employée assez fréquemment :(Vraisemblanœ object) * (Vraisemblanœ function) (Vraisemblanœ descriptor object) A specific version of this synthetic form will be used quite frequently:
(Objet Vraisemblanœ)* (Fonction Vraisemblanœ) (Descripteur_abstrait Vraisemblanœ)(Vraisemblanœ object) * (Vraisemblanœ function) (Descripteur_abstrait Vraisemblanœ)
Cette forme spécifique propose de créer un descripteur abstrait, version spécifique d'un objet descripteur définie par la conjonction d'un descripteur, d'une référence à un objet et d'un ensemble de comportements de réflexes. Ces réflexes peuvent se déclencher lorsque l'on modifie son état ou l'on fait une requête sur son état. Spécialisation par un code procédural :This specific form proposes to create an abstract descriptor, a specific version of a descriptor object defined by the conjunction of a descriptor, a reference to an object and a set of reflex behaviors. These reflexes can be triggered when one modifies his state or makes a request on his state. Specialization by a procedural code:
La fonction qui génère un objet descripteur à partir d'objets peut être un code procédural :The function that generates a descriptor object from objects can be a procedural code:
(Objet Vraisemblance) (Code jrccédural Vraisemblanœ) (Objet_Descripteur Vraisemblanœ)(Likelihood object) (Vraisemblanœ jrccédural code) (Vraisemblanœ descriptor object)
Cette spécialisation de la deuxième étape du procédé peut être illustrée par des méthodes d'extraction d'information de mouvements à partir des films. Ces méthodes extraient, de manière algorithmique, des informations comme "travelling", "zoom avant", "zoom arrière", etc..This specialization of the second step of the process can be illustrated by methods of extracting movement information from films. These methods extract, in an algorithmic way, information such as "traveling", "zoom in", "zoom out", etc.
Comme représenté en figure 1 , chaque image d'un film peut être découpée en zones de n x n points élémentaires appelés "pixels". Chacune des zones de l'image i est recherchée dans l'image i+1 aux alentours de la zone initiale. On obtient ainsi un vecteur de déplacement de chaque zone de pixels entre deux images, duquel on peut détecter un mouvement de caméra particulièrement classique. Dans l'exemple de la figure 1 , chaque zone de l'image i, retrouvée dans l'image i+1 , a été numérotée. On en déduit une carte du mouvement et on isole le mouvement de caméra le plus probable, ici un "travelling". Spécialisation par des règles de production :As shown in FIG. 1, each image of a film can be divided into areas of nxn elementary points called "pixels". Each of the areas of image i is searched for in image i + 1 around the initial area. This gives a displacement vector for each pixel area between two images, from which a particularly conventional camera movement can be detected. In the example in FIG. 1, each zone of image i, found in image i + 1, has been numbered. We deduce a map of the movement and we isolate the most probable camera movement, here a "traveling". Specialization by production rules:
La fonction qui génère un objet descripteur à partir d'objets peut être une règle de production.The function that generates a descriptor object from objects can be a production rule.
(Descripteur Vraisemblanœ)* (règle Vraisemblanœ) (Descripteur Vraisemblanœ)(Vraisemblanœ descriptor) * (Vraisemblanœ rule) (Vraisemblanœ descriptor)
Les connaissances de sens commun peuvent être modélisées par des règles de production.Common sense knowledge can be modeled by production rules.
Exemple d'inférence de connaissances par des règles :Example of knowledge inference by rules:
Par exemple, la présence simultanée des descripteurs "sport", "mer", "ski" permettent d'inférer le descripteur "ski nautique" avec une bonne vraisemblance. L'intégration de connaissances de sens commun peut être faite grâce à des règles de production qui produisent des descripteurs à partir d'un ou plusieurs descripteurs déjà présents dans la description. Soient les descripteurs :For example, the simultaneous presence of the descriptors "sport", "sea", "ski" make it possible to infer the descriptor "water skiing" with good likelihood. The integration of common sense knowledge can be done through production rules which produce descriptors from one or more descriptors already present in the description. Let the descriptors:
(mer 0,99) (sport 0,95)(sea 0.99) (sport 0.95)
Et la règle: si mer et sport inférer (min-vraisemblance) ski-nautique. La description se complète avec le descripteur :And the rule: if sea and sport infer (min-likelihood) water-skiing. The description is completed with the descriptor:
(ski-nautique 0,95)(water skiing 0.95)
Spécialisation par des annotations :Specialization by annotations:
La fonction qui génère un objet descripteur à partir d'objets peut être une fonction extérieure qui interagit avec le système. Une interaction est n'importe quelle introduction de données dans le programme, effectuée par un agent extérieur au système (un utilisateur ou un agent informatique).The function that generates a descriptor object from objects can be an external function that interacts with the system. An interaction is any input of data into the program, carried out by an agent external to the system (a user or an IT agent).
(Descripteur Vraisemblanœ)* (Interaction poids_expert) (Descripteur Vraisemblanœ) L'ajout de descripteurs via une interface graphique en est un exemple. Ces descripteurs sont appelés des annotations.(Vraisemblanœ descriptor) * (Weight_expert interaction) (Vraisemblanœ descriptor) Adding descriptors via a graphical interface is an example. These descriptors are called annotations.
Références :References :
La segmentation spatiale des images en objets est un problème traité notamment dans la norme MPEG-4. Leur segmentation est généralement fondée sur des informations de mouvement (cf. Overview of the MPEG-4 Standard", Rob Koenen, ISO/IEC JTC1/SC29/WG11 N2459). L'intégration de connaissances de sens commun est traitée dans les articles relatifs au domaine des ontologies dont une approche est présentée dans « Formai Ontology in Information Systems », N. Guarino,The spatial segmentation of images into objects is a problem dealt with in particular in the MPEG-4 standard. Their segmentation is generally based on movement information (cf. Overview of the MPEG-4 Standard ", Rob Koenen, ISO / IEC JTC1 / SC29 / WG11 N2459). The integration of common sense knowledge is dealt with in the related articles in the field of ontologies, an approach of which is presented in "Formai Ontology in Information Systems", N. Guarino,
Proceedings of the first international conférence on Formai Ontology and Information Systems (FOIS'98), IOS Press. Les ontologies sont basées sur une ou plusieurs taxonomies de concepts, des propriétés objets (héritage, composition) et des axiomes. Le procédé selon l'invention prévoit l'application d'ontologies aux descriptions multimédia en y intégrant des mécanismes de descripteurs abstraits, d'annotations et d'exceptions.Proceedings of the first international conference on Formai Ontology and Information Systems (FOIS'98), IOS Press. The ontologies are based on one or more taxonomies of concepts, object properties (inheritance, composition) and axioms. The method according to the invention provides for the application of ontologies to multimedia descriptions by integrating therein mechanisms of abstract descriptors, annotations and exceptions.
Etape 3 : l' activation des descripteurs abstraitsStep 3: activation of the abstract descriptors
Un descripteur abstrait réagit à une modification de son état ou à une requête sur son état. Cette réaction est comparable à un mécanisme de réflexe. Le descripteur abstrait effectue alors une action qui peut éventuellement induire elle-même des mécanismes de réflexes chez d'autres descripteurs abstraits (création d'objets descripteurs, changement de valeurs d'un descripteur, ...). Cette action peut s'effectuer soit directement par l'appel d'un autre descripteur abstrait, soit indirectement par la création d'un ou plusieurs descripteurs transitoires déclenchant d'autres descripteurs abstraits.An abstract descriptor reacts to a change in its state or to a request on its state. This reaction is comparable to a reflex mechanism. The abstract descriptor then performs an action which can possibly induce reflex mechanisms in other abstract descriptors (creation of descriptor objects, change of values of a descriptor, ...). This action can be carried out either directly by calling another abstract descriptor, or indirectly by creating one or more transient descriptors triggering other abstract descriptors.
Un mécanisme de marquage évite un bouclage de l'activation des réflexes, par exemple : si D_A1 stimule D_A2 alors si D_A2 stimule D_A., pour la même action, le mécanisme de réflexe est arrêté. Forme synthétiqueA marking mechanism prevents looping of the activation of reflexes, for example: if D_A 1 stimulates D_A 2 then if D_A 2 stimulates D_A., For the same action, the reflex mechanism is stopped. Synthetic shape
(Descripteur_abstrait Vraisemblanœ) (fonction Vraisemblanœ) (Objet_descripteur Vraisemblanœ)(Descripteur_abstrait Vraisemblanœ) (function Vraisemblanœ) (Objet_descripteur Vraisemblanœ)
(Objet_descripteur Vraisemblanœ)(Vraisemblanœ descriptor object)
Les descripteurs abstraits permettent de disposer de nombreuses propriétés très utiles grâce à ce mécanisme de réflexe, telles par exemple que :Abstract descriptors provide many very useful properties thanks to this reflex mechanism, such as for example:
- Vérification de cohérence: si la valeur d'un descripteur est modifiée, une vérification peut être effectuée : par exemple, vérifier que la date de début d'un plan est bien antérieure à la date de fin.- Consistency check: if the value of a descriptor is modified, a check can be carried out: for example, checking that the start date of a plan is well before the end date.
- Propriétés particulières des descripteurs : par exemple, la propriété de transitivite d'un descripteur peut être mise en oeuvre par un descripteur abstrait. La propriété de contenance est : "si contient(x, y) et contient(y, z) alors contient(x, z)". Dans l'exemple d'un plan qui contient un objet X et qui est contenu dans une scène d'un film, à la question "contiens-tu l'objet X ?", la scène pourra répondre positivement en propageant la question aux plans qu'elle contient. Cette propagation pourra se faire soit lors de la création initiale des descripteurs (par fermeture transitive sur les descripteurs abstraits), soit pour réduire le temps de calcul initial, lors d'une requête spécifique d'un utilisateur ou du système.- Special properties of descriptors: for example, the transitivity property of a descriptor can be implemented by an abstract descriptor. The capacity property is: "if contains (x, y) and contains (y, z) then contains (x, z)". In the example of a plan which contains an object X and which is contained in a scene of a film, to the question "do you contain the object X?", The scene will be able to answer positively by propagating the question to the plans it contains. This propagation can be done either during the initial creation of the descriptors (by transitive closure on the abstract descriptors), or to reduce the initial calculation time, during a specific request from a user or the system.
- Intégration de connaissances ontologiques : par exemple, un descripteur "lieu" dont la valeur est "Paris", s'il est relié à une ontologie, peut répondre "vrai" à la requête "es-tu en France ?".- Integration of ontological knowledge: for example, a descriptor "place" whose value is "Paris", if it is linked to an ontology, can answer "true" to the request "are you in France?".
Exceptions et maintien de la cohérence :Exceptions and maintaining consistency:
Les descripteurs générés lors des étapes 2 et 3 peuvent remettre en cause des descripteurs déjà présents dans la description. Ces "nouveaux" descripteurs sont appelés des exceptions. Pour être acceptée une exception doit avoir une vraisemblance supérieure à celle du descripteur qu'elle contredit et la différence des deux vraisemblances doit être supérieure à une certaine valeur. Cette contrainte vérifie qu'un descripteur ne va pas être contredit indéfiniment et permet d'assurer la convergence du système. De plus, il existe un mécanisme de maintien de la cohérence : lorsqu'un descripteur est généré et qu'il est contradictoire avec un descripteur D,, tous les descripteurs issus de D, sont alors supprimés.The descriptors generated during steps 2 and 3 can call into question descriptors already present in the description. These "new" descriptors are called exceptions. To be accepted, an exception must have a higher likelihood than that of the descriptor that it contradicts and the difference of the two likelihoods must be greater than a certain value. This constraint verifies that a descriptor is not going to be contradicted indefinitely and makes it possible to ensure the convergence of the system. In addition, there is a mechanism for maintaining consistency: when a descriptor is generated and it is contradictory with a descriptor D ,, all the descriptors from D are then deleted.
Forme synthétique :Synthetic form:
Ajout d'une exception : (Objet_Descripteur Vraisemblanœ!)Addition of an exception: (Objet_Descripteur Vraisemblanœ ! )
(Descripteur_exœption Vraisemblance^(Exception Likelihood Descriptor ^
si Vraisemblance, -Vraisemblanœ! >if Likelihood, -Likelihood ! >
(Descripteur_exœptJon Vraisemblance^(Descriptor_exœptJon Likelihood ^
Maintien de la cohérence : (Objet_Descripteur Vraisemblanœ)*Maintaining consistency: (Objet_Descripteur Vraisemblanœ) *
(Fct_maintien_∞herenœ Vraisemblanœ) -(Descripteur Vraisemblanœ)*(Fct_maintien_∞herenœ Vraisemblanœ) - (Descriptor Vraisemblanœ) *
le signe - signifie que l'on ôte un ensemble de descripteurs de la description. Exemple d'exceptions :the sign - means that we remove a set of descriptors from the description. Example of exceptions:
Le descripteur suivant est présent dans la description : (ski-nautique 0,90)The following descriptor is present in the description: (water ski 0.90)
Un utilisateur avec un poids expert de 0,95 ajoute le descripteur suivant par annotation : (windsurf 0,95)A user with an expert weight of 0.95 adds the following descriptor by annotation: (windsurf 0.95)
Ce descripteur est une exception et vient remplacer le descripteur "ski-nautique". Exemple de maintien de cohérence :This descriptor is an exception and replaces the descriptor "ski-nautique". Example of maintaining consistency:
Le descripteur "ski-nautique" avait entraîné la génération du descripteur "peu-de-vent" par l'application de la règle "si ski-nautique inférer peu-de-vent". L'arrivée de l'exception "windsurf" entraîne la disparition du fait "peu-de-vent".The descriptor "ski-nautique" had led to the generation of the descriptor "little wind" by the application of the rule "if ski-nautique infer little wind". The arrival of the exception "windsurf" leads to the disappearance of the fact "little wind".
Descripteurs abstraits spécifiquesSpecific abstract descriptors
Modélisation d'un pseudo-héritageModeling a pseudo-inheritance
Un pseudo-héritage est un héritage où les descripteurs sont transférés le long des relations de composition. La notion de pseudo- héritage s'oppose à celle d'héritage des langages à objets où l'héritage se fait le long des relations de "classe/sous-classe". Le pseudo-héritage se produit le long des relations entre descripteurs, de préférence de type "contenu/contenant". Mais, d'autres relations entre descripteurs peuvent être envisagées. Exemple :A pseudo-inheritance is an inheritance where the descriptors are transferred along the composition relationships. The notion of pseudo-inheritance is opposed to that of inheritance from object languages where inheritance takes place along "class / subclass" relationships. Pseudo-inheritance occurs along relationships between descriptors, preferably of the "content / container" type. However, other relationships between descriptors can be envisaged. Example:
Dans l'exemple représenté en figure 2, le descripteur "réalisateur" se distribue suivant la propriété "contient". Les plans issus des séquences d'un film possèdent le descripteur "réalisateur = M. Dupont", par activation de descripteurs abstraits.In the example shown in FIG. 2, the descriptor "producer" is distributed according to the property "contains". The plans resulting from the sequences of a film have the descriptor "director = Mr. Dupont", by activation of abstract descriptors.
Codes procéduraux spécifiques :Specific procedural codes:
Utilisation de collections de prototypesUse of prototype collections
Lors de la deuxième étape, la fonction qui génère un objet descripteur à partir d'un objet peut être remplacée par une mesure de similarité avec une collection de prototypes. Un prototype est un objet (multimédia ou descripteur) ou une collection d'objets qui sert d'exemple à un concept. Forme synthétiqueIn the second step, the function that generates a descriptor object from an object can be replaced by a measure of similarity with a collection of prototypes. A prototype is an object (multimedia or descriptor) or a collection of objects which serves as an example for a concept. Synthetic shape
- Création d un prototype :- Creation of a prototype:
(Objet_MM Vraisemblanœ) (Interaction Poids_expert) (Prototype Vraisemblanœ)(Objet_MM Vraisemblanœ) (Interaction Poids_expert) (Prototype Vraisemblanœ)
- Utilisation de prototypes :- Use of prototypes:
(Objet_MM Vraisemblanœ) (Fct_de_similarité Vraisemblanœ) (prototypes Vraisemblanœ)* (Objet_Descripteur Vraisemblanœ)(Objet_MM Vraisemblanœ) (Fct_de_similarité Vraisemblanœ) (Vraisemblanœ prototypes) * (Objet_Descripteur Vraisemblanœ)
- Création d'une collection- Creation of a collection
(prototype Vraisemblanœ)* (Interaction Poids_expert) (Prototype Vraisemblanœ)(Vraisemblanœ prototype) * (Weight_Expert Interaction) (Vraisemblanœ Prototype)
- Utilisation des collections- Use of collections
(Objet Vraisemblanœ) (Fonction_de_similarité Vraisemblanœ) ∞llectionjDrototypes (Descripteur Ref_objet_MM Vraisemblanœ)(Vraisemblanœ object) (Vraisemblanœ similarity function) ∞llectionjDrototypes (Descriptor Ref_objet_MM Vraisemblanœ)
(collection de prototypes = arborescence de prototypes + poids). La recherche d'images par l'exemple est un domaine déjà largement traité. Le premier système a avoir présenté ce genre d'approche est QBIC (Myron Flicker and al., "Query By Image And Video Content: the QBIC System", Computer vol 28, Number 9, Septembre 1995). Dans ce cas là un seul exemple était fourni au système. Par la suite, d'autres équipes ont proposé d'établir des mesures de similarités entre un objet et un ensemble d'exemples ("Indexing and retrieval of multimédia objects at différent levels of granularity", P. Faudemay, G. Durand, C. Seyrat and N. Tondre, Multimedia Storage and Archiving Systems III, Proceedings of SPIE, November 1998). Les ensembles de prototypes présentés n'étaient ni hiérarchisés, ni pondérés par le poids de l'objet et de l'expert.(collection of prototypes = tree of prototypes + weight). Image research by example is an area that has already been widely covered. The first system to have presented this kind of approach is QBIC (Myron Flicker and al., "Query By Image And Video Content: the QBIC System", Computer vol 28, Number 9, September 1995). In this case only one example was provided to the system. Subsequently, other teams proposed to establish measures of similarities between an object and a set of examples ("Indexing and retrieval of multimedia objects at different levels of granularity", P. Faudemay, G. Durand, C Seyrat and N. Tondre, Multimedia Storage and Archiving Systems III, Proceedings of SPIE, November 1998). The sets of prototypes presented were neither prioritized nor weighted by the weight of the object and the expert.
Profil utilisateur : Les fonctions de l'étape 2 peuvent prendre en compte des connaissances spécifiques à l'utilisateur à qui la description est destinée.User profile: The functions of step 2 can take into account knowledge specific to the user for whom the description is intended.
On peut modéliser par exemple les associations d'idées de l'utilisateur, ses centres d'intérêts ou son humeur. La génération des descripteurs devient alors une génération de descriptions personnalisées.One can model for example the associations of ideas of the user, his centers of interests or his mood. The generation of descriptors then becomes a generation of personalized descriptions.
Forme synthétique :Synthetic form:
(Descripteur Vraisemblanœ)* ((Fonct n_Utilisateur Profil utilisat ur) Vraisemblanœ) => Descripteur Vraisemblanœ(Vraisemblanœ Descriptor) * ((User Profile User Profile) Vraisemblanœ) => Descriptor Vraisemblanœ
Le profil utilisateur sans profil émotionnel :User profile without emotional profile:
L'invention propose une méthode de modélisation des profils utilisateurs, dont quelques modes opératoires et quelques exemples d'utilisation sont décrits ci-dessous.The invention proposes a method for modeling user profiles, some of which operating modes and some examples of use are described below.
Le profil est constitué de deux composants principaux : un graphe de profil utilisateur et une mémoire de travail.The profile consists of two main components: a user profile graph and a working memory.
Le graphe de profil utilisateur est un ensemble de nœuds liés entre eux par des arcs. Le tout forme préférentieliement un treillis, c'est à dire un graphe acyclique de nœuds. La description détaillée des nœuds est faite dans le paragraphe suivant. La mémoire de travail est une mémoire organisée de descripteurs.The user profile graph is a set of nodes linked together by arcs. The whole preferably forms a lattice, that is to say an acyclic graph of nodes. The detailed description of the nodes is given in the following paragraph. The working memory is an organized memory of descriptors.
Une fonction d'effacement ôte régulièrement de cette mémoire un ensemble de descripteurs. Un exemple privilégié de la fonction d'effacement consiste à associer une estampille à chaque descripteur, pour conserver en mémoire les n plus récents descripteurs. Comme représenté aux figures 3 et 4, chaque nœud du graphe utilisateur contient une fonction d'entrée g^ qui est une fonction d'agrégation des entrées, une valeur d'entrée e, une fonction d'activation ou de transition fa, une fonction de sortie g-, une fonction de génération de descripteurs fd et une valeur d'intérêt Int;. Les arcs sont pondérés par des valeurs numériques a, a', b, b'. Le nœud est sensible à la présence de descripteurs dans la mémoire du profil.An erase function regularly removes a set of descriptors from this memory. A privileged example of the erase function consists in associating a stamp with each descriptor, to keep in memory the n most recent descriptors. As shown in Figures 3 and 4, each node of the user graph contains an input function g ^ which is an aggregation function of the inputs, an input value e, an activation or transition function fa, a function output g-, a descriptor generation function fd and a value of interest Int ;. The arcs are weighted by numerical values a, a ', b, b'. The node is sensitive to the presence of descriptors in the profile memory.
Le mécanisme général de modélisation représenté en figure 5 est décomposé en plusieurs étapes pour des soucis de clarté. Certaines de ces étapes peuvent cependant se dérouler en parallèle.The general modeling mechanism shown in Figure 5 is broken down into several stages for the sake of clarity. Some of these steps can however take place in parallel.
1 : La mémoire de travail du profil est remplie par un sous-ensemble de la description du document. Ce remplissage peut se faire en temps réel (lorsque la description du document se modifie avec le temps) ou en temps différé (lorsque l'on dispose déjà d'une description complète). 2 : Les valeurs d'entrée des nœuds du profil sont calculées.1: The working memory of the profile is filled with a subset of the description of the document. This filling can be done in real time (when the description of the document changes over time) or in deferred time (when a complete description is already available). 2: The input values of the nodes of the profile are calculated.
3 : Les valeurs d'activation des nœuds sont calculées.3: The activation values of the nodes are calculated.
4 : Un ensemble de descripteurs est généré et placé dans la mémoire de travail du profil.4: A set of descriptors is generated and placed in the working memory of the profile.
5 : Certains descripteurs sont ôtés de la mémoire par la fonction d'effacement.5: Some descriptors are removed from memory by the erase function.
6 : Le processus reprend à l'étape 2.6: The process resumes at step 2.
A l'étape 2 de la figure 5, étant donné un nœud, sa valeur d'entrée est calculée en fonction des valeurs de sortie des nœuds entrants, de la pondération des arcs et de la vraisemblance des descripteurs auxquels le nœud est sensible :In step 2 of Figure 5, given a node, its input value is calculated according to the output values of the incoming nodes, the weighting of the arcs and the likelihood of the descriptors to which the node is sensitive:
Valeur_sortie_arc_eπtranf Vraisemblanœ_descripteur* porκlération_arc_entranf Fonction_entrée =>Valeur_entréeValue_output_arc_eπtranf Vraisemblanœ_descripteur * porκleration_arc_entranf Input_function => Input_value
La valeur d'activation du nœud est calculée en fonction de sa valeur d'entrée par la fonction d'activation :The activation value of the node is calculated according to its input value by the activation function:
Valeur entrée* Fonction activation => Valeur activation La fonction d'activation a un rôle d'arbitrage. Cela signifie qu'elle dépend des valeurs d'entrées de tous les nœuds et qu'elle peut décider de l'activation de l'un d'eux en conséquence. Ainsi elle peut n'activer qu'un nombre fini n de nœuds. Ce paramètre n est une variable globale du système. La fonction d'arbitrage peut par exemple ne conserver que les n nœuds dont les valeurs d'entrées sont les plus grandes. D'autres exemples sont donnés dans ce qui suit.Input value * Activation function => Activation value The activation function has an arbitration role. This means that it depends on the input values of all the nodes and that it can decide to activate one of them accordingly. Thus it can activate only a finite number n of nodes. This parameter n is a global system variable. The arbitration function can for example keep only the n nodes with the largest input values. Other examples are given in the following.
De façon préférentielle, la fonction d'activation détermine la valeur d'activation en deux étapes. Dans une première étape, une fonction de transition locale à chaque noeud détermine une valeur d'activation possible du noeud, par exemple par comparaison de la valeur d'entrée à un seuil de transition.Preferably, the activation function determines the activation value in two stages. In a first step, a local transition function at each node determines a possible activation value of the node, for example by comparison of the input value with a transition threshold.
Dans une deuxième étape, une fonction d'arbitrage globale active un nombre fini n de noeuds, par exemple en triant les noeuds d'après leur valeur d'activation possible, après y avoir ajouté le cas échéant une valeur aléatoire.In a second step, a global arbitration function activates a finite number n of nodes, for example by sorting the nodes according to their possible activation value, after having added if necessary a random value.
Dans une réalisation préférentielle, les paramètres de la fonction d'arbitrage dépendent d'un ou plusieurs descripteurs.In a preferred embodiment, the parameters of the arbitration function depend on one or more descriptors.
Le vecteur des descripteurs à générer est donné par la fonction de génération de descripteurs. Le calcul se fait en fonction de l'activation du nœud et de son intérêt pour l'utilisateur :The vector of descriptors to generate is given by the descriptor generation function. The calculation is done according to the activation of the node and its interest for the user:
Valeur_activation Intérêt Fonctionjgénération_descripteur => (Descripteur Vraisemblanœ)*Activation_Value Interest Function_generation_descriptor => (Descriptor Vraisemblanœ) *
Les descripteurs générés peuvent être des descripteurs actions et des descripteurs informations. Les premiers engendrent une action sur le monde (par exemple enregistrement d'une séquence par un magnétoscope). Les deux types de descripteurs sont placés dans la mémoire de travail.The descriptors generated can be action descriptors and information descriptors. The first generate an action on the world (for example recording of a sequence by a video recorder). The two types of descriptors are placed in the working memory.
La génération d'un descripteur peut dépendre d'une deuxième fonction d'arbitrage global. Cette fonction détermine quels descripteurs, parmi ceux générés à l'étape précédente, sont effectivement transférés dans la mémoire de travail. Dans ce cas, seuls les descripteurs présents dans la mémoire de travail sont utilisés par le système, soit comme descripteurs information, soit comme descripteurs action.The generation of a descriptor may depend on a second global arbitration function. This function determines which descriptors, among those generated in the previous step, are actually transferred in the working memory. In this case, only the descriptors present in the working memory are used by the system, either as information descriptors, or as action descriptors.
Dans une réalisation préférentielle, cette deuxième fonction d'arbitrage choisit un deuxième nombre, m, de descripteurs à produire, ou bien un deuxième nombre m1 de descripteurs information et un troisième nombre m2 de descripteurs d'action, par exemple en fonction de la vraisemblance de ces descripteurs.In a preferred embodiment, this second arbitration function chooses a second number, m, of descriptors to be produced, or else a second number m1 of information descriptors and a third number m2 of action descriptors, for example as a function of likelihood of these descriptors.
Le procédé peut être étendu à la sélection de descripteurs pour un nombre quelconque de classes de descripteurs.The method can be extended to the selection of descriptors for any number of descriptor classes.
Dans une réalisation préférentielle, les paramètres de la deuxième fonction d'arbitrage dépendent d'un ou plusieurs descripteurs.In a preferred embodiment, the parameters of the second arbitration function depend on one or more descriptors.
La fonction d'effacement ôte certains descripteurs de la mémoire de travail. Cette fonction peut par exemple ôter les n descripteurs les plus anciens. D'autres exemples sont donnés dans ce qui suit.The erase function removes certain descriptors from the working memory. This function can for example remove the n oldest descriptors. Other examples are given in the following.
Le vecteur de sortie s, (c'est-à-dire l'ensemble de valeurs qui vont être propagées le long des arcs) est calculé en fonction de l'activation du nœud et des poids de sortie :The output vector s, (i.e. the set of values that will be propagated along the arcs) is calculated according to the activation of the node and the output weights:
Valeur_activation Poids_arc_sortanf Fonction_sortie => Valeur_sortie_arc_sortanfActivation_value Weight_arc_sortanf Function_output => Value_output_arc_sortanf
La probabilité de génération des descripteurs générés :The probability of generation of the descriptors generated:
La fonction de génération utilise une probabilité a priori de génération par un nœud activé donné d'un ou plusieurs descripteurs. Pour un nœud et un descripteur donnés, la probabilité de générer le descripteur peut être fonction, par exemple, de la valeur de référence de cette probabilité a priori, de sa valeur précédente et du fait que des descripteurs ont été générés ou non lors de l'étape précédente.The generation function uses an a priori probability of generation by a given activated node of one or more descriptors. For a given node and descriptor, the probability of generating the descriptor can be a function, for example, of the reference value of this a priori probability, of its previous value and of whether or not descriptors were generated during the 'previous step.
Lorsqu'un nœud activé génère un ou plusieurs descripteurs, la fonction de génération diminue la probabilité a priori d'une valeur qui peut dépendre des descripteurs produits. Cette probabilité a priori est ensuite ramenée à la valeur de référence par exemple de façon asymptotique.When an activated node generates one or more descriptors, the generation function reduces the a priori probability by a value which can depend on product descriptors. This a priori probability is then brought back to the reference value, for example asymptotically.
Ce mécanisme permet d'améliorer par exemple la qualité des programmes audiovisuels générés à partir d'un profil utilisateur. Dans ce contexte, la génération d'une séquence de sport (descripteur "sport") affaiblira la probabilité qu'il soit à nouveau généré au cours de la même session. Par contre, un programme de sport sera produit avec la même probabilité le jour suivant.This mechanism improves, for example, the quality of audiovisual programs generated from a user profile. In this context, the generation of a sport sequence (descriptor "sport") will weaken the probability that it will be generated again during the same session. However, a sports program will be produced with the same probability the next day.
Dans ce procédé, la probabilité a priori peut être également remplacée par un coefficient de vraisemblance. Dans ce cas, la probabilité de génération de descripteur peut être par exemple une fonction non linéaire du coefficient de vraisemblance.In this process, the a priori probability can also be replaced by a likelihood coefficient. In this case, the probability of descriptor generation can for example be a non-linear function of the likelihood coefficient.
Exemples préférentiels des différentes fonctions :Preferential examples of the different functions:
Plusieurs réalisations préférées sont proposées : - La fonction d'entrée effectue la norme du produit scalaire des poids d'entrées et des valeurs de sortie des nœuds entrants, y ajoute la vraisemblance maximum parmi celles des descripteurs présents dans la mémoire auxquels le nœud est sensible. - La fonction de sortie est une fonction qui aléatoirement décide de propager la valeur d'activation vers un seul des nœuds de sortie. Le tirage aléatoire se fait sur la base des valeurs des arcs.Several preferred embodiments are proposed: - The input function performs the scalar product norm of the input weights and output values of the incoming nodes, adds the maximum likelihood among those of the descriptors present in the memory to which the node is sensitive . - The output function is a function which randomly decides to propagate the activation value towards only one of the output nodes. The random drawing is done on the basis of the values of the arcs.
La fonction de sortie propage de manière identique la valeur d'activation sur tous les arcs. - La fonction de sortie propage la valeur d'activation sur tous les arcs proportionnellement à leur valeur.The output function propagates the activation value identically across all arcs. - The output function propagates the activation value on all the arcs in proportion to their value.
La fonction d'activation effectue un seuillage de la valeur d'entrée du nœud.The activation function thresholds the input value of the node.
La fonction d'activation n'active que les n nœuds dont les valeurs d'entrée sont les plus grandes. La fonction d'activation choisit n nœuds aléatoirement avec des probabilités calculées en fonction des valeurs d'entrée.The activation function activates only the n nodes with the largest input values. The activation function chooses n nodes randomly with probabilities calculated according to the input values.
La fonction de génération des descripteurs ne génère les descripteurs que si la somme pondérée des valeurs d'activation du nœud et d'intérêt du nœud est supérieure à un certain seuil. La vraisemblance des descripteurs générés peut être égale à la valeur d'activation du nœud.The descriptor generation function only generates descriptors if the weighted sum of the node activation and node interest values is above a certain threshold. The likelihood of the descriptors generated can be equal to the activation value of the node.
La fonction d'effacement peut ôter les n plus vieux descripteurs, n pouvant être égal au nombre de descripteurs ajoutés à la mémoire de travail lors de l'étape 4.The erase function can remove the n oldest descriptors, n being equal to the number of descriptors added to the working memory during step 4.
La fonction d'effacement peut ôter les n descripteurs les moins récemment utilisés.The erase function can remove the n least recently used descriptors.
Le procédé selon l'invention est une extension des procédés de représentation sous forme de graphe comme les réseaux neuronaux ou connectionistes, les réseaux bayésiens, les graphes de Sowa ou les réseaux markoviens qui constituent quatre réalisations possibles de l'invention. Cependant, celle-ci apporte trois principales originalités par rapport à ces procédés : elle a pour vocation de générer des descripteurs, elle dispose d'une mémoire de travail, et elle utilise une ou plusieurs fonctions d'arbitrage paramétrables (la fonction d'activation ou première fonction d'arbitrage, éventuellement une deuxième fonction d'arbitrage), notamment en termes de nombres de noeuds ou de descripteurs activés, et de fonction de choix.The method according to the invention is an extension of the representation methods in the form of a graph such as neural or connectionist networks, Bayesian networks, Sowa graphs or Markov networks which constitute four possible embodiments of the invention. However, it brings three main originalities in relation to these processes: its purpose is to generate descriptors, it has a working memory, and it uses one or more configurable arbitration functions (the activation function or first arbitration function, possibly a second arbitration function), in particular in terms of the number of nodes or of descriptors activated, and of the choice function.
Ajout du profil émotionnel au profil utilisateur La structure décrite ci-dessus est enrichie d'informations à caractère émotionnel, qui caractérisent l'état d'esprit ou l'humeur de l'utilisateur et ont une influence sur la génération des descripteurs.Adding an emotional profile to the user profile The structure described above is enriched with emotional information, which characterizes the mood or mood of the user and has an influence on the generation of descriptors.
La structure du profil utilisateur avec des informations d'affects :The structure of the user profile with affect information:
Chaque nœud du graphe décrit ci-dessus (figure 4) est enrichi comme représenté en figure 6 de deux vecteurs appelés vecteur de sensibilité aux affects et vecteur d'incrément des affects. Chaque arc est aussi enrichi d'un vecteur de sensibilité aux affects. Un autre vecteur appelé vecteur d'affects global représente le contexte actuel de l'utilisateur. La valeur d'intérêt est ôtée du nœud.Each node of the graph described above (figure 4) is enriched as represented in figure 6 by two vectors called vector of sensitivity to affects and vector of increment of affects. Each arc is also enriched with a vector of sensitivity to affects. Another vector called the global affect vector represents the user's current context. The interest value is removed from the node.
Les fonctions ge, fa et fd sont modifiées de manière à ce qu'elles tiennent compte des différents vecteurs d'affects. Une fonction d'incrément des affects modifie la valeur de l'affect global en fonction de son ancienne valeur et de tous les vecteurs d'incréments de tous les nœuds activés. Une deuxième fonction d'évolution temporelle modifie la valeur de l'affect global en fonction du temps. Mécanisme général :The functions ge, fa and fd are modified so that they take into account the different vectors of affects. An affect increment function modifies the value of the global affect according to its old value and all the increment vectors of all the activated nodes. A second time evolution function modifies the value of the global affect as a function of time. General mechanism:
Le mécanisme représenté en figure 7 a été décomposé en plusieurs étapes pour des soucis de clarté. Certaines de ces étapes peuvent cependant se dérouler en parallèle (des références semblables à celles de la figure 5 sont utilisées pour faciliter la comparaison des figures ) : 1 : La mémoire du profil est remplie par un sous ensemble de la description du document. Ce remplissage peut se faire en temps réel (lorsque la description du document se modifie avec le temps) ou en temps différé (lorsque l'on dispose déjà d'une description complète). Un ensemble de descripteurs est ôté par la fonction d'effacement. 2 : Les valeurs d'entrée des nœuds du profil sont calculées.The mechanism shown in Figure 7 has been broken down into several stages for the sake of clarity. Some of these steps can however take place in parallel (references similar to those of FIG. 5 are used to facilitate the comparison of the figures): 1: The memory of the profile is filled with a subset of the description of the document. This filling can be done in real time (when the description of the document changes over time) or in deferred time (when a complete description is already available). A set of descriptors is removed by the erase function. 2: The input values of the nodes of the profile are calculated.
3 : Les valeurs d'activation des nœuds sont calculées.3: The activation values of the nodes are calculated.
4 : Un ensemble de descripteurs est généré et replacé dans la mémoire utilisateur.4: A set of descriptors is generated and replaced in the user memory.
5 : Le vecteur d'affects global est modifié en fonction de tous les vecteurs d'incréments des nœuds activés.5: The global affect vector is modified according to all the increment vectors of the activated nodes.
6 : Le vecteur d'affects global est modifié.6: The global affect vector is modified.
Certains descripteurs sont ôtés de la mémoire par la fonction d'effacement.Some descriptors are removed from memory by the erase function.
7 : Le processus reprend à l'étape 2. Détail des étapes :7: The process resumes at step 2. Detail of the stages:
2 : Pour un nœud i, le vecteur d'entrée est calculé en fonction des valeurs de sortie des nœuds entrants, de la pondération des arcs, de la sensibilité aux affects des arcs entrants, du vecteur d'affects global et du vecteur des vraisemblances des descripteurs auxquels le nœud est sensible :2: For a node i, the input vector is calculated according to the output values of the incoming nodes, the weighting of the arcs, the sensitivity to affects of the incoming arcs, the global affect vector and the likelihood vector descriptors to which the node is sensitive:
Valeur_sortie_nœud_entranEntrance_Node_Value
Pondération_arc*Arc_weighting *
Sensibilité_affects_arc* AffectjgbbalSensitivity_affects_arc * Affectjgbbal
Vraisemblanœ_descripteur*Really_descriptor *
Fonction_entrée =>Valeur_eπtréeInput_function => input_value
3 : La valeur d'activation du nœud i est calculée en fonction des valeurs d'entrée de tous les noeuds, du vecteur de sensibilité aux affects du nœud et du vecteur d'affects global :3: The activation value of node i is calculated as a function of the input values of all nodes, the vector of sensitivity to affects of the node and the global vector of affects:
Valeurjentrée* Sensibilité_affects_noeud AffectjgbbalInputvalue * Sensitivity_affects_node Affectjgbbal
Fonction_activationActivation_function
=> Valeur_actJvation 4 : Le vecteur des descripteurs à générer est donné par la fonction de déclenchement. Le calcul se fait en fonction de l'activation du nœud, de son vecteur de sensibilité aux affects et du vecteur d'affects global :=> Valeur_actJvation 4: The vector of descriptors to generate is given by the trigger function. The calculation is done according to the activation of the node, its vector of sensitivity to affects and the global vector of affects:
Valeur_activationActivation_Value
Sensibiiité_affects_nceud AffectjgbbalSensibiiité_affects_nceud Affectjgbbal
Fonction jgénérationjdescripteurs => (Descripteur Vraisemblanœ)*Jgenerationjdescripteurs function => (Descriptor Vraisemblanœ) *
5 : Le vecteur d'affects global est modifié en fonction du vecteur d'incrément de tous les nœuds activés : Affectjgbbal lncrément_affects Fonction_incrément=> Affectjgbbal 6 : Le vecteur d'affects global se modifie avec le temps :5: The global affect vector is modified according to the increment vector of all the activated nodes: Affectjgbbal lncrément_affects Function_incrément => Affectjgbbal 6: The global affect vector changes over time:
Affectjgbbal Fonction j3volution_temporelle => AffectjgbbalAffectjgbbal Function j3volution_temporelle => Affectjgbbal
La probabilité de génération des descripteurs générés :The probability of generation of the descriptors generated:
Le mécanisme de variation des probabilités de génération est une s fonction du même type que celle décrite en l'absence d'affects. Cependant, l'évolution de la probabilité de production d'un descripteur ainsi que la fonction de modification de cette probabilité dépendent du vecteur d'affects global, par exemple à travers des coefficient de sensibilité à ce vecteur d'affects. o On peut observer qu'un mécanisme similaire peut être obtenu en décrémentant l'affect global à la suite de l'activation du nœud.The mechanism of variation of generation probabilities is a function of the same type as that described in the absence of affects. However, the evolution of the probability of production of a descriptor as well as the function of modification of this probability depend on the global vector of affects, for example through coefficient of sensitivity to this vector of affects. o We can observe that a similar mechanism can be obtained by decrementing the global affect following the activation of the node.
Exemples préférentiels des différentes fonctions :Preferential examples of the different functions:
La fonction d'entrée peut se décomposer comme suit :The input function can be broken down as follows:
. pour chaque arc, on calcule une valeur de sensibilité 'S' de l'arc 5 aux affects courants. S est égal à la norme d'un vecteur V. Ce vecteur est obtenu par le produit scalaire de la sensibilité aux affects de l'arc et du vecteur d'affects global.. for each arc, a sensitivity value 'S' of arc 5 is calculated for current affects. S is equal to the norm of a vector V. This vector is obtained by the scalar product of the sensitivity to affects of the arc and the global affect vector.
.. On calcule un vecteur de pondération des arcs 'P' dont chaque composante est obtenue par la moyenne de 'S' et du poids de l'arc 0 ... La valeur d'entrée du nœud est égale à la norme du produit scalaire de 'P' avec le vecteur des valeurs de sortie des nœuds entrants, auquel on ajoute la vraisemblance maximum parmi celles des descripteurs sensibles présents dans la mémoire... We calculate a weighting vector for the arcs 'P', each component of which is obtained by the average of 'S' and the weight of the arc 0 ... The input value of the node is equal to the product standard scalar of 'P' with the vector of the output values of the incoming nodes, to which we add the maximum likelihood among those of the sensitive descriptors present in the memory.
- La fonction d'activation peut effectuer un seuillage de la valeur d'entrée. 5 Le seuillage dépend du vecteur de sensibilité du nœud et du vecteur d'affects global.- The activation function can perform a thresholding of the input value. 5 The thresholding depends on the sensitivity vector of the node and the global affect vector.
- La fonction d'activation peut faire un arbitrage et ne laisser s'activer que les nœuds les plus sensibles aux affects courants. - La fonction de génération des descripteurs ne génère les descripteurs que si la sensibilité aux affects du nœud est supérieure à un certain seuil.- The activation function can arbitrate and allow only the nodes most sensitive to current affects to activate. - The descriptor generation function only generates descriptors if the node's sensitivity to affects is above a certain threshold.
- La fonction d'incrément de l'affect global ajoute la moyenne des vecteurs d'incrément des nœuds au vecteur d'affects global. - La fonction d'évolution temporelle fait tendre de manière asymptotique le vecteur d'affects global vers un état particulier.- The global affect increment function adds the average of the node increment vectors to the global affect vector. - The temporal evolution function asymptotically tends the global affect vector towards a particular state.
Un des premiers articles évoquant l'intégration d'information sur les humeurs des utilisateurs est "Architecting Personalized Delivery of Multimedia Information", Shoshana Loeb, Communication of the ACM, Décembre 1992. La vocation de ce système est de proposer des morceaux de musique à un utilisateur. Ce système n'a qu'un modèle simpliste de l'utilisateur qui comporte 5 humeurs différentes. Dans « Affective Computing », MIT Press, 1997, Rosalind Picard traite des systèmes intégrant des profils émotionels. Elle s'intéresse tout particulièrement à la fonction de modification des affects (étape 6). Une originalité de l'invention réside dans la sensibilité aux affects des diverses fonctions du procédé et dans leur utilisation pour contrôler la génération des descriptions.One of the first articles evoking the integration of information on the moods of the users is "Architecting Personalized Delivery of Multimedia Information", Shoshana Loeb, Communication of the ACM, December 1992. The vocation of this system is to propose pieces of music to an user. This system has only a simplistic model of the user which comprises 5 different moods. In "Affective Computing", MIT Press, 1997, Rosalind Picard deals with systems integrating emotional profiles. She is particularly interested in the affect modification function (step 6). An originality of the invention resides in the sensitivity to affects of the various functions of the process and in their use to control the generation of descriptions.
Apprentissage du profil utilisateur et du profil émotionnel :User profile and emotional profile learning:
Les pondérations des arcs et les vecteurs de sensibilité aux affects des nœuds sont obtenus par capture automatique du profil utilisateur. Lors d'une séance de visualisation, l'utilisateur à tendance à sauter (« zapper ») de documents multimédias en documents multimédias. Il visualise à chaque fois tout ou partie de ces documents. Etant donné que chacun de ces documents possède une description, les deux informations suivantes peuvent être obtenues à partir d'une interface d'accès à des contenus multimédias qui surveille les actions de l'utilisateur, cette interface pouvant être un lecteur de vidéo ou de musique, un navigateur "web", etc :The weights of the arcs and the vectors of sensitivity to the affects of the nodes are obtained by automatic capture of the user profile. During a viewing session, the user tends to jump (“zap”) from multimedia documents to multimedia documents. Each time he views all or part of these documents. Since each of these documents has a description, the following two pieces of information can be obtained from an interface for access to multimedia content which monitors the actions of the user, this interface possibly being a video player or music, a web browser, etc:
- la fréquence de passage ("zapping") d'un document contenant un descripteur X vers un document contenant un descripteur Y - la durée de visualisation de chacun des documents. Dans le cas d'un navigateur "web", on pourra distinguer les temps de chargement de la page, le temps de visualisation après chargement, le nombre d'accès à la page durant un intervalle de temps.- the frequency of passage ("zapping") from a document containing a descriptor X to a document containing a descriptor Y - the duration of viewing each document. In the case of a "web" browser, we can distinguish the page loading times, the viewing time after loading, the number of times the page was accessed during a time interval.
5 Ces informations sont utilisées pour pondérer le graphe du profil de la manière suivante :5 This information is used to weight the profile graph as follows:
- la pondération des arcs reliant les nœuds est fonction de la probabilité de transition entre les deux descripteurs. Cette probabilité est obtenue à partir des fréquences de passage entre descripteurs : i o Probabilrté_de_transrtion ® fonction => pondération arcs- the weighting of the arcs connecting the nodes is a function of the probability of transition between the two descriptors. This probability is obtained from the frequencies of passage between descriptors: i o Probabilrté_de_transrtion ® function => weighting arcs
- les vecteurs de sensibilité aux affects des nœuds sont obtenus à partir des durées de visualisation des documents par l'utilisateur.- the vectors of sensitivity to the affects of the nodes are obtained from the viewing times of the documents by the user.
15 Affectjgbbal temps_visualisation fonction =>15 Affectjgbbal temps_visualisation function =>
Vecteur affectsVector affects
Plusieurs profils dans un système :Several profiles in a system:
Certains systèmes travaillent en coopération avec plus d'un utilisateur. Plusieurs profils utilisateurs peuvent être intégrés à un uniqueSome systems work in cooperation with more than one user. Several user profiles can be integrated into a single
20 système de génération de descripteurs. Pour faciliter les interactions hommes - machines, il est même parfois utile que l'application elle-même dispose d'un profil "utilisateur". Ce profil particulier est appelé profil "système". Il est construit sur le même modèle que les profils utilisateurs. Il peut provenir du profil du propriétaire ou bien caractériser l'état propre du20 descriptor generation system. To facilitate human-machine interactions, it is sometimes even useful that the application itself has a "user" profile. This particular profile is called a "system" profile. It is built on the same model as user profiles. It can come from the owner's profile or characterize the proper state of the
25 système. L'espace mémoire est partagé entre tous les profils utilisateurs.25 system. The memory space is shared between all user profiles.
Une fonction supplémentaire permet de générer des descripteurs dénotant l'état d'un ou de plusieurs des profils utilisateurs. La description peut donc par exemple1 être complétée d'informations sur l'état d'humeur d'un utilisateur. Le profil "système" peut se servir de ces descripteurs. 30 Cette fonction est une fonction permanente. Chaque modification du profil utilisateur sur lequel le système se focalise est immédiatement reportée dans les descripteurs associés. Dans une réalisation préférentielle, la fonction sélection ne se focalisera que sur les profils utilisateurs ayant un poids important.An additional function makes it possible to generate descriptors denoting the state of one or more of the user profiles. The description can therefore for example 1 be supplemented with information on the mood of a user. The "system" profile can use these descriptors. 30 This function is a permanent function. Each modification of the user profile on which the system focuses is immediately reported in the associated descriptors. In a preferred embodiment, the selection function will only focus on user profiles with significant weight.
(Profilj tilisateur Poidsjntérêtjjtilisateur) Fonction ^sélection => (Descripteur Vraisemblanœ)* (User profile Weight User interest) Function ^ selection => (Likewise descriptor) *
Les valeurs des poids intérêts associés aux profils utilisateurs peuvent être modifiées par la présence de descripteurs.The values of the interest weights associated with user profiles can be modified by the presence of descriptors.
(Descripteur Vraisemblanœ)* Fonction_modification θids => PoJdsJntérêtj tilisateur(Descriptor Vraisemblanœ) * Function_modification θids => PoJdsJntinterestj user
Dans une réalisation de l'invention, ces descripteurs auront été générés par le profil "système".In one embodiment of the invention, these descriptors will have been generated by the "system" profile.
Exemple d'application :Application example:
Un robot ménager comme le robot aspirateur décrit plus haut sera souvent confronté à plusieurs personnes. Il doit disposer d'un modèle utilisateur pour chaque personne dont il doit prévoir les actions et connaître l'humeur. En permettant la génération de descripteurs décrivant les affects de l'utilisateur, on rend possible la prise en compte de ces informations par le robot. Ainsi, il pourra se montrer "discret" si son propriétaire est "énervé".A household robot like the robot vacuum cleaner described above will often be confronted with several people. He must have a user model for each person whose actions he must plan and know the mood. By allowing the generation of descriptors describing the affects of the user, we make it possible for the robot to take this information into account. Thus, it can be "discreet" if its owner is "upset".
Adaptation dynamique du profil :Dynamic adaptation of the profile:
Le procédé permet l'ajout ou la suppression dynamique de nœuds et la modification des paramètres de chaque nœud et de chaque arc en cours d'utilisation.The method allows the dynamic addition or deletion of nodes and the modification of the parameters of each node and each arc in use.
L'ajout ou la suppression dynamique de nœuds peut être effectué par la fonction d'arbitrage notamment en fonction du nombre de descripteurs, de la présence de nouveaux types de descripteurs dans la mémoire de travail, ou de la création ou non de nouveaux descripteurs par le système pendant une période. La modification des différents paramètres du profil utilisateur, comme la valuation des arcs ou la probabilité de transition d'un noeud, est possible notamment par augmentation ou diminution de ces paramètres, en fonction d'une interaction de l'utilisateur ou par renforcement des arcs et des nœuds parcourus et affaiblissement des autres, ou par une combinaison de ce mécanisme avec la valeur des affects, ou de façon aléatoire, ou en fonction de l'état des nœuds suivants dans le graphe.The dynamic addition or deletion of nodes can be carried out by the arbitration function in particular according to the number of descriptors, the presence of new types of descriptors in the working memory, or the creation or not of new descriptors by the system for a period. The modification of the various parameters of the user profile, such as the valuation of the arcs or the probability of transition of a node, is possible in particular by increasing or decreasing these parameters, depending on user interaction or by strengthening the arcs and nodes traversed and weakening of the others, or by a combination of this mechanism with the value of affects, or randomly, or according to the state of the following nodes in the graph.
Sécurisation des profils utilisateurs :Securing user profiles:
Les profils utilisateurs font partie des descriptions du monde. Ils devront être transportés sur les réseaux avec les descriptions des objets multimédias. Ils seront aussi utiles dans d'autres contextes comme par exemple pour la proposition de programmes personnalisés par les fournisseurs de contenus multimédias.User profiles are part of the world descriptions. They must be transported on the networks with the descriptions of the multimedia objects. They will also be useful in other contexts, for example for the proposal of personalized programs by multimedia content providers.
Ces données sont sensibles et la résolution des problèmes liés à leur confidentialité conditionne leur acceptation. Pour cela, l'invention propose une architecture réseau à trois composants : un serveur fournisseur de profil utilisateur (par exemple un magnétoscope personnel), un serveur d'anonymisation et un serveur consommateur de profil (par exemple un fournisseur de contenus personnalisés). Le serveur d'anonymisation tient à jour une table d'anonymisation, c'est à dire une table de correspondance entre des profils utilisateurs et les adresses réseaux des personnes qu'ils représentent. Ce serveur d'anonymisation est un tiers de confiance.These data are sensitive and the resolution of problems related to their confidentiality conditions their acceptance. For this, the invention proposes a network architecture with three components: a server providing a user profile (for example a personal video recorder), an anonymization server and a server consuming a profile (for example a provider of personalized content). The anonymization server maintains an anonymization table, that is to say a correspondence table between user profiles and the network addresses of the people they represent. This anonymization server is a trusted third party.
Le protocole entre les différents serveurs est le suivant : - le fournisseur de profil envoie au serveur d'anonymisation son profil, son adresse réseau, des informations personnelles et sa requête,The protocol between the various servers is as follows: - the profile provider sends the profile server, its network address, personal information and its request to the anonymization server,
- le serveur d'anonymisation filtre ces informations et transmet la requête ainsi qu'une sous-partie des informations personnelles, mais pas l'adresse réseau de l'émetteur, - le consommateur de profil utilise les informations qu'il reçoit pour répondre au mieux à la requête,- the anonymization server filters this information and transmits the request as well as a part of the personal information, but not the network address of the sender, - the profile consumer uses the information he receives to best respond to the request,
- le résultat de la requête est dirigé vers le serveur d'anonymisation qui grâce à sa table de correspondance redirige le résultat vers l'utilisateur.- the result of the request is directed to the anonymization server which, thanks to its correspondence table, redirects the result to the user.
La partie des informations transmises aux consommateurs de profils est dépendante du nombre de profils enregistrés auprès du serveur d'anonymisation. Des mesures statistiques sur des échantillons permettent d'assurer la transmission maximale d'informations avec le minimum de risque.The part of the information transmitted to profile consumers is dependent on the number of profiles registered with the anonymization server. Statistical measurements on samples ensure the maximum transmission of information with the minimum of risk.
Le procédé qui vient d'être décrit peut être mis en œuvre dans un dispositif de génération de descriptions de documents multimédia, du type de ceux illustrés sur les figures 8 à 11. Ce dispositif comporte au moins une première unité de traitement couplée à une seconde unité de traitement comprenant au moins une mémoire de travail et capable de répondre à une requête formée par un utilisateur en vue d'accéder à au moins un document et/ou de naviguer parmi ces documents et/ou de les interpréter.The method which has just been described can be implemented in a device for generating descriptions of multimedia documents, of the type of those illustrated in FIGS. 8 to 11. This device comprises at least a first processing unit coupled to a second processing unit comprising at least one working memory and capable of responding to a request formed by a user in order to access at least one document and / or to navigate among these documents and / or to interpret them.
Dans ce qui suit, on considère que la première unité de traitement est logée dans un serveur comprenant une interface de communication couplée à un système extérieur comportant la seconde unité de traitement, via un réseau de transmission de données.In what follows, it is considered that the first processing unit is housed in a server comprising a communication interface coupled to an external system comprising the second processing unit, via a data transmission network.
La première unité de traitement comporte un premier module de calcul externe F couplé à une interface de communication et à une mémoire L dans laquelle sont stockés des collections d'exemples X. Cette première unité de traitement comprend en outre une mémoire de travail M comprenant des registres adressables et un module de gestion d'adresses C, tel qu'un compteur permettant d'incrémenter l'adresse courante, en écriture, de la mémoire de travail M, par exemple tous les N cycles (définis par une horloge). N est ici un entier supérieur ou égal à 1. Dans ce compteur C, lorsque l'incrémentation atteint une valeur maximale, un incrément fait retourner ladite valeur à sa valeur minimale. La première unité de traitement comporte en outre un second module de calcul B destiné à générer des descripteurs à partir de descripteurs stockés dans des registres de la mémoire de travail M à des adresses choisies. Enfin, la première unité de traitement comporte également un troisième module de calcul A destiné à calculer des affects, à partir des descripteurs générés par le second module de calcul B. Ce troisième module A peut également servir, en variante, de générateur de nœuds abstraits.The first processing unit comprises a first external calculation module F coupled to a communication interface and to a memory L in which collections of examples X are stored. This first processing unit also comprises a working memory M comprising addressable registers and an address management module C, such as a counter making it possible to increment the current address, in writing, of the working memory M, for example every N cycles (defined by a clock). N is here an integer greater than or equal to 1. In this counter C, when the incrementation reaches a maximum value, an increment causes said value to return to its minimum value. The first processing unit further comprises a second calculation module B intended to generate descriptors from descriptors stored in registers of the working memory M at selected addresses. Finally, the first processing unit also comprises a third calculation module A intended for calculating affects, from descriptors generated by the second calculation module B. This third module A can also serve, alternatively, as a generator of abstract nodes .
On se réfère maintenant, plus particulièrement, à la figure 8 pour décrire un premier mode de réalisation du dispositif.Reference is now made, more particularly, to FIG. 8 to describe a first embodiment of the device.
A chaque cycle défini par une horloge, le premier module de calcul externe F calcule une fonction de similarité entre des objets Oi du monde extérieur, dont l'image est contenue dans un document multimédia D, et les collections d'exemples X qui se trouvent stockés dans la mémoire L. Il délivre alors un premier descripteur e (ou descripteur primaire) qui est stocké dans la mémoire de travail M à l'adresse c fournie par le compteur C.At each cycle defined by a clock, the first external calculation module F calculates a similarity function between objects Oi from the outside world, the image of which is contained in a multimedia document D, and the collections of examples X which are found stored in the memory L. It then delivers a first descriptor e (or primary descriptor) which is stored in the working memory M at the address c provided by the counter C.
La mémoire de travail M comporte donc un descripteur dans chacun de ses registres. Cette mémoire de travail M alimente en descripteurs (e', d', a') l'entrée du second module de calcul B. Plus précisément, le second module de calcul B comporte au moins deux entrées, de préférence trois, qui sont alimentées en descripteurs respectivement par les deux , ou trois, registres de la mémoire de travail M dont les adresses sont c, d et c2. Mais il ne s'agit que d'un exemple, B pouvant être alimenté par plus de trois descripteurs.The working memory M therefore includes a descriptor in each of its registers. This working memory M supplies descriptors (e ', d', a ') to the input of the second calculation module B. More specifically, the second calculation module B has at least two inputs, preferably three, which are supplied in descriptors respectively by the two or three registers of the working memory M whose addresses are c, d and c2. But this is only an example, B can be fed by more than three descriptors.
En réponse à cette alimentation en descripteurs, le second module B délivre en sortie deux descripteurs scondaires, ou plus, (ou encore deux copies d'un même descripteur secondaire). Il s'agit par exemple d'un descripteur d'informations d. Ce descripteur d'informations d est fourni, d'une part au troisième module de calcul A et, d'autre part, au registre de la mémoire de travail M dont l'adresse est d , en vue de sa mémorisation au cycle suivant. Le troisième module de calcul A délivre sur sa sortie une valeur de descripteur dérivé d1 qui alimente le registre de la mémoire de travail M dont l'adresse est c2, en vue de sa mémorisation au cycle suivant, en même temps que la mémorisation de d à l'adresse d . Les descripteurs d et d1 dont utilisés, lors du cycle suivant précité, par le second module de calcul B pour déterminer la valeur d'un descripteur d'action k, qui est une information de contrôle fournie en entrée d'un matériel extérieur G, comme par exemple un magnétoscope.In response to this supply of descriptors, the second module B delivers two or more scondary descriptors as output (or two copies of the same secondary descriptor). It is for example an information descriptor d. This information descriptor d is supplied, on the one hand to the third calculation module A and, on the other hand, to the register of the working memory M whose address is d, with a view to its storage in the following cycle. The third calculation module A delivers a derivative descriptor value d1 on its output which feeds the register of the working memory M whose address is c2, with a view to its memorization in the following cycle, at the same time as the memorization of d at address d. The descriptors d and d1 of which used, during the aforementioned following cycle, by the second calculation module B to determine the value of an action descriptor k, which is control information supplied at the input of an external material G, like for example a video recorder.
Dans ce mode de réalisation, le descripteur e qui est fourni à la mémoire de travail M par le premier module de calcul externe F, peut être soit un descripteur obtenu par similarité entre un objet et un prototype, comme indiqué précédemment, soit une exception introduite par un utilisateur. Dans ce cas, le module de gestion d'adresses C peut être agencé de manière à ce que l'utilisateur puisse choisir lui-même l'adresse du registre de la mémoire de travail M dans lequel e doit être stocké.In this embodiment, the descriptor e which is supplied to the working memory M by the first external calculation module F, can be either a descriptor obtained by similarity between an object and a prototype, as indicated previously, or an exception introduced by a user. In this case, the address management module C can be arranged so that the user can choose the address of the register of the working memory M in which e must be stored.
Sur la figure 9 se trouve illustrée une variante du mode de réalisation illustré sur la figure 8. Dans cette variante, on prévoit en amont du troisième module de calcul A, c'est-à-dire entre les second B et troisième A modules de calcul, un additionneur H dont l'utilité va être précisée ci-après.In FIG. 9 is illustrated a variant of the embodiment illustrated in FIG. 8. In this variant, provision is made upstream of the third calculation module A, that is to say between the second B and third A modules of calculation, an adder H whose usefulness will be specified below.
Dans cette variante de réalisation, le second module de calcul B délivre en sortie un incrément d'affect i (ou premier descripteur secondaire), un descripteur d'informations d, (ou second descripteur secondaire) et un descripteur d'action k. Le descripteur d'informations d est fourni en entrée de la mémoire de travail M (registre d'adresse d ) pour être stocké et utilisé au cycle suivant, comme indiqué précédemment. Le descripteur d'actions k est une information de contrôle délivrée en entrée du matériel extérieur G. L'incrément d'affect i est délivré en entrée de l'additionneur H où il est additionné à la valeur de l'affect en cours dans le troisième module de calcul A. Le résultat de cette addition (a+i) alimente l'entrée du troisième module de calcul A. Ce module de calcul d'affect A délivre alors en sortie une nouvelle valeur d'affect « a » au registre de la mémoire de travail M dont l'adresse est c2, en vue de son stockage et de son utilisation au cycle suivant, comme expliqué précédemment. Dans une autre variante illustrée sur la figure 10, le second module de calcul B de la figure 9 est remplacé par plusieurs modules B1 , ..., Bn. On prévoit en outre un module de sélection S permettant de déterminer lequel des modules de calcul Bi doit être utilisé pour fournir à la mémoire de travail M le descripteur d'informations d. Ce sélecteur S est un module de calcul spécifique qui reçoit en entrée, par exemple, les incréments d'affect en provenance de chaque module de calcul Bi et qui calcule une fonction de ses entrées.In this variant embodiment, the second calculation module B delivers at output an increment of affect i (or first secondary descriptor), an information descriptor d, (or second secondary descriptor) and an action descriptor k. The information descriptor d is supplied at the input of the working memory M (address register d) to be stored and used in the next cycle, as indicated above. The action descriptor k is control information delivered at the input of the external hardware G. The increment of affect i is delivered at the input of the adder H where it is added to the value of the current affect in the third calculation module A. The result of this addition (a + i) feeds the input of the third calculation module A. This affect calculation module A then delivers as output a new affect value "a" to the register of the working memory M whose address is c2, with a view to its storage and its use in the following cycle, as explained previously. In another variant illustrated in FIG. 10, the second calculation module B in FIG. 9 is replaced by several modules B1, ..., Bn. There is further provided a selection module S making it possible to determine which of the calculation modules Bi must be used to supply the working memory M with the information descriptor d. This selector S is a specific calculation module which receives as input, for example, the increments of affect coming from each calculation module Bi and which calculates a function of its inputs.
Ce module de sélection S délivre en sortie l'adresse (ou le numéro) du module de calcul Bi dont les résultats sont écrits dans la mémoire de travail M. En d'autres termes, seul le module Bi choisi accède en écriture à la mémoire de travail M.This selection module S outputs the address (or number) of the calculation module Bi, the results of which are written to the working memory M. In other words, only the selected module Bi has write access to the memory of work M.
Dans la variante illustrée sur la figure 11 , le module de calcul B est remplacé par plusieurs modules Bi (ici i = 1 à 3) placés en parallèle avec un module de sélection S, par exemple sur un bus. Dans ce mode de réalisation, le module Bi choisi par le module de sélection S devient le maître du bus.In the variant illustrated in FIG. 11, the calculation module B is replaced by several modules Bi (here i = 1 to 3) placed in parallel with a selection module S, for example on a bus. In this embodiment, the module Bi chosen by the selection module S becomes the bus master.
Les modules de calcul A, B et S qui ont été décrits précédemment peuvent être réalisés sous la forme de microprocesseurs de calcul équipés d'une mémoire. Mais il ne s'agit que d'un exemple de mise en œuvre. En effet, les modules de calcul A et B pourraient être des composants de calcul neuronal, dont les types peuvent être choisis en fonction de la spécification propre de la structure. Par ailleurs, les modules de calcul A, B et S pourraient être également constitués par des modules logiciels.The calculation modules A, B and S which have been described previously can be produced in the form of calculation microprocessors equipped with a memory. But this is only an example of implementation. In fact, the calculation modules A and B could be components of neural calculation, the types of which can be chosen according to the specific specification of the structure. Furthermore, the calculation modules A, B and S could also be made up of software modules.
Par ailleurs, on a décrit un dispositif comprenant une première unité de traitement, couplée à une seconde unité de traitement externe. Cette seconde unité de traitement est de préférence sensiblement identique à la première unité de traitement. Elle comprend préférentiellement dans sa mémoire de travail le profil utilisateur qui a été décrit dans une précédente partie, relative au procédé selon l'invention. Mais bien entendu, dans une variante chaque unité de traitement pourra comprendre les profils utilisateurs. D'autre part, le dispositif pourra comprendre les première et seconde unités dans un même endroit.Furthermore, a device has been described comprising a first processing unit, coupled to a second external processing unit. This second processing unit is preferably substantially identical to the first processing unit. It preferably includes in its working memory the user profile which was described in a previous part, relating to the method according to the invention. But of course, in a variant each processing unit may include user profiles. On the other hand, the device may include the first and second units in one place.
L'invention ne se limite pas aux modes de réalisation de procédés et de dispositifs décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes que pourra envisager l'homme de l'art dans le cadre des revendications ci-après. Ainsi, on a décrit des procédés et dispositifs dans lesquels les première et seconde unité de traitement étaient logées respectivement dans des systèmes séparés de type serveur et client communiquant via un réseau de transmission de données. Mais, ces deux unités de traitement peuvent être logées dans un même système ; dans ce cas elles communiquent par une liaison interne, par exemple de type bus.The invention is not limited to the embodiments of methods and devices described above, only by way of example, but it encompasses all the variants that a person skilled in the art may envisage within the framework of the claims below. -after. Thus, methods and devices have been described in which the first and second processing units are housed respectively in separate systems of the server and client type communicating via a data transmission network. However, these two processing units can be housed in the same system; in this case they communicate via an internal link, for example of the bus type.
Par ailleurs, une troisième unité de traitement peut être également envisagée pour effectuer des opérations de navigation dans les documents, les première et seconde unités de traitement étant alors respectivement agencées pour effectuer les opérations de description de documents et les opérations de réponse aux requêtes de l'utilisateur. Dans ce cas, il est avantageux que les première et seconde unité de traitement soient logées dans un même endroit, par exemple le serveur, tandis que la troisième unité est logée dans un autre endroit (extérieur), par exemple dans le client. Ici, la troisième unité de traitement agit comme un navigateur, tandis que la seconde unité de traitement agit comme un moteur de recherche. Furthermore, a third processing unit can also be envisaged for carrying out document navigation operations, the first and second processing units then being respectively arranged for carrying out the document description operations and the response operations to the requests of the 'user. In this case, it is advantageous that the first and second processing units are housed in one place, for example the server, while the third unit is housed in another location (outside), for example in the client. Here, the third processing unit acts as a browser, while the second processing unit acts as a search engine.

Claims

REVENDICATIONS
1 - Procédé de génération de descriptions de documents multimédia dans une première unité de traitement comprenant une mémoire de travail et couplée à au moins une seconde unité de traitement comprenant une mémoire de travail et propre à répondre à une requête formée par un utilisateur en vue d'accéder à l'un au moins de ces documents, et/ou de naviguer parmi ces documents et/ou de les interpréter, et ledit procédé comprenant une première étape d'analyse et de segmentation temporelle et/ou spatiale d'un document multimédia en une pluralité d'objets multimédia auxquels sont associées des vraisemblances, caractérisé en ce qu'il comprend également une deuxième étape de génération d'objets descripteurs par application de fonctions auxdits objets multimédia de la pluralité, ces objets descripteurs étant stockés dans l'une au moins des mémoires de travail des première et seconde unités de traitement en correspondance de vraisemblances et comprenant des descripteurs informations, des descripteurs actions et des descripteurs abstraits, ces derniers contenant chacun une référence à un objet décrit et des fonctions définissant des mécanismes de réflexe, lesdites fonctions de génération de descripteurs comprenant au moins une des fonctions consistant à :1 - Method for generating multimedia document descriptions in a first processing unit comprising a working memory and coupled to at least a second processing unit comprising a working memory and suitable for responding to a request formed by a user with a view to '' access at least one of these documents, and / or navigate among these documents and / or interpret them, and said method comprising a first step of analysis and temporal and / or spatial segmentation of a multimedia document in a plurality of multimedia objects with which likelihoods are associated, characterized in that it also comprises a second step of generating descriptor objects by applying functions to said multimedia objects of the plurality, these descriptor objects being stored in one at least working memories of the first and second likelihood processing units and comprising d information descriptors, action descriptors and abstract descriptors, the latter each containing a reference to a described object and functions defining reflex mechanisms, said descriptor generation functions comprising at least one of the functions consisting in:
- appliquer à un objet multimédia une fonction de similarité avec une collection préétablie de prototypes d'objets multimédia ou de descripteurs,- apply a similarity function to a multimedia object with a pre-established collection of multimedia object prototypes or descriptors,
- créer des exceptions par acceptation de nouveaux descripteurs qui contredisent des descripteurs déjà obtenus quand la vraisemblance d'un nouveau descripteur est supérieure à celle du descripteur déjà obtenu et que la différence de leurs vraisemblances est supérieure ou égale à un seuil prédéterminé,- create exceptions by accepting new descriptors which contradict descriptors already obtained when the likelihood of a new descriptor is greater than that of the descriptor already obtained and the difference in their likelihood is greater than or equal to a predetermined threshold,
- modifier les fonctions* de génération de descripteurs par un profil utilisateur comprenant un ensemble modélisé de connaissances spécifiques à un utilisateur destinataire d'une description, le profil utilisateur étant constitué d'un graphe de noeuds reliés par des arcs, stocké dans l'une au moins des mémoires de travail des première et seconde unités de traitement, contenant un ensemble organisé de descripteurs avec une fonction d'effacement des descripteurs, et étant propre à être établi par l'une et/ou l'autre des première et seconde unités de traitement.- modify the functions * for generating descriptors by a user profile comprising a modeled set of knowledge specific to a user receiving a description, the user profile consisting of a graph of nodes connected by arcs, stored in at least one of the working memories of the first and second processing units, containing an organized set of descriptors with a function for deleting descriptors, and being suitable for being established by one and / or the other of the first and second processing units.
2 - Procédé selon la revendication 1 , caractérisé en ce qu'il est adaptée à un environnement de type client/serveur dans lequel le serveur comporte la première unité de traitement et le client comporte la seconde unité de traitement, lesdites première et seconde unités de traitement étant alors couplées par un réseau de transmission de données.2 - Method according to claim 1, characterized in that it is adapted to a client / server type environment in which the server comprises the first processing unit and the client comprises the second processing unit, said first and second processing units. processing then being coupled by a data transmission network.
3 - Procédé selon l'une des revendications 1 et 2, caractérisé en ce qu'il comprend une troisième étape d'activation de descripteurs abstraits par déclenchement d'un mécanisme de réflexe d'un descripteur abstrait en réponse à une modification de son état ou à une requête sur son état, cette activation permettant de générer d'autres descripteurs.3 - Method according to one of claims 1 and 2, characterized in that it comprises a third step of activation of abstract descriptors by triggering a reflex mechanism of an abstract descriptor in response to a change in its state or to a request on its state, this activation making it possible to generate other descriptors.
4 - Procédé selon l'une des revendications 1 à 3, caractérisé en ce que, dans la première étape, on ajoute aux objets multimédia des descripteurs de référence décrivant les relations entre les objets multimédia et les objets dont ils sont issus.4 - Method according to one of claims 1 to 3, characterized in that, in the first step, reference descriptors describing the relationships between the multimedia objects and the objects from which they are derived are added to the multimedia objects.
5 - Procédé selon la revendication 3 ou 4, caractérisé en ce que, dans la troisième étape, le déclenchement d'un mécanisme de réflexe d'un descripteur abstrait provoque le déclenchement de mécanismes de réflexe d'autres descripteurs abstraits, et en ce que ledit procédé comprend un mécanisme de marquage de ces descripteurs abstraits pour éviter des activations en boucle fermée de deux ou plusieurs descripteurs abstraits.5 - Method according to claim 3 or 4, characterized in that, in the third step, the triggering of a reflex mechanism of an abstract descriptor causes the triggering of reflex mechanisms of other abstract descriptors, and in that said method comprises a mechanism for marking these abstract descriptors to avoid closed-loop activations of two or more abstract descriptors.
6 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à utiliser une ou des ontologies dans les mécanismes de réflexe des descripteurs abstraits. 7 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à activer des descripteurs abstraits en vue de réaliser un pseudo-héritage, consistant en un transfert d'un descripteur le long d'une relation entre descripteurs.6 - Method according to any one of the preceding claims, characterized in that it consists in using one or more ontologies in the reflex mechanisms of the abstract descriptors. 7 - Method according to any one of the preceding claims, characterized in that it consists in activating abstract descriptors in view to achieve a pseudo-inheritance, consisting of a transfer of a descriptor along a relationship between descriptors.
8 - Procédé selon la revendication 7, caractérisé en ce que ladite relation est du type contenu/contenant. 9 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les fonctions utilisées pour la segmentation d'un document multimédia dans la première étape et/ou pour la génération de descripteurs dans la deuxième étape comprennent un code procédural, tel par exemple qu'un procédé algorithmique de segmentation ou d'extraction d'informations.8 - Method according to claim 7, characterized in that said relationship is of the content / container type. 9 - Method according to any one of the preceding claims, characterized in that the functions used for the segmentation of a multimedia document in the first step and / or for the generation of descriptors in the second step include a procedural code, such as example as an algorithmic process of segmentation or information extraction.
10 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, dans la première étape, on crée une collection de prototypes par application à un ou plusieurs objets multimédia d'une interaction, ou d'une introduction de données par un agent extérieur, associée à un poids expert ou vraisemblance.10 - Method according to any one of the preceding claims, characterized in that, in the first step, a collection of prototypes is created by application to one or more multimedia objects of an interaction, or of data input by a external agent, associated with an expert weight or plausibility.
11 - Procédé selon l'une des revendications précédentes, caractérisé en ce que dans la deuxième étape les fonctions de génération de descripteurs comprennent des règles de production.11 - Method according to one of the preceding claims, characterized in that in the second step the functions of generating descriptors include production rules.
12 - Procédé selon la revendication 11 , caractérisé en ce qu'il comporte une création de règles par application de métarègles à d'autres règles.12 - Method according to claim 11, characterized in that it comprises the creation of rules by applying metarules to other rules.
13 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que dans la deuxième étape les fonctions de génération de descripteurs comprennent des interactions, ou introductions de données par un agent extérieur, propres à permettre la production d'annotations.13 - Method according to any one of the preceding claims, characterized in that in the second step the functions of descriptor generation include interactions, or input of data by an external agent, suitable for allowing the production of annotations.
14 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend un mécanisme de maintien de la cohérence des descripteurs générés dans la deuxième étape, consistant à supprimer les descripteurs issus d'un descripteur contredit par une exception. 15 - Procédé selon l'une des revendications 1 à 14, caractérisé en ce que l'établissement du profil utilisateur consiste à remplir la mémoire de travail de l'une et/ou l'autre desdites première et seconde unités de traitement par un ensemble de descripteurs d'un document, en temps réel ou en temps différé, à supprimer de cette mémoire de travail un ensemble de descripteurs précédents, à calculer des valeurs d'entrée des noeuds dudit profil, à calculer des valeurs d'activation des noeuds, à générer un nouvel ensemble de descripteurs et à introduire ce nouvel ensemble dans la mémoire de travail. 16 - Procédé selon la revendication 15, caractérisé en ce que le graphe de noeuds précité est un graphe acyclique en treillis.14 - Method according to any one of the preceding claims, characterized in that it comprises a mechanism for maintaining the consistency of the descriptors generated in the second step, consisting in deleting the descriptors originating from a descriptor contradicted by an exception. 15 - Method according to one of claims 1 to 14, characterized in that the establishment of the user profile consists in filling the working memory of one and / or the other of said first and second processing units with a set descriptors of a document, in real time or in deferred time, to delete from this working memory a set of previous descriptors, to calculate input values of the nodes of said profile, to calculate activation values of the nodes, to generate a new set of descriptors and to introduce this new set into the working memory. 16 - Method according to claim 15, characterized in that the above-mentioned node graph is an acyclic lattice graph.
17 - Procédé selon la revendication 15 ou 16, caractérisé en ce que chaque noeud contient une fonction d'agrégat des entrées, une valeur d'entrée, une fonction d'activation ou de transition, une fonction de sortie, une fonction de génération de descripteurs et une valeur d'intérêt, et en ce que des valeurs numériques de pondération sont affectées aux arcs reliant les noeuds, une valeur de pondération d'un arc étant associée à une probabilité choisie au moins parmi une probabilité que l'utilisateur ayant vu un descripteur contenu dans un premier noeud souhaite voir un autre descripteur contenu dans un autre noeud relié par l'arc précité au premier noeud ou à une probabilité que l'utilisateur pense à l'autre descripteur quand il a vu le descripteur contenu dans le premier noeud.17 - Method according to claim 15 or 16, characterized in that each node contains an aggregate function of the inputs, an input value, an activation or transition function, an output function, a generation function of descriptors and a value of interest, and in that numerical weighting values are assigned to the arcs connecting the nodes, a weighting value of an arc being associated with a probability chosen at least from a probability that the user having seen a descriptor contained in a first node wishes to see another descriptor contained in another node connected by the aforementioned arc to the first node or to a probability that the user thinks of the other descriptor when he has seen the descriptor contained in the first node.
18 - Procédé selon la revendication 17, caractérisé en ce qu'il comporte une fonction d'arbitrage déterminant, parmi des noeuds candidats à une activation, ceux qui sont activés à un moment donné, en fonction d'un descripteur du nombre de noeuds pouvant être activés et des paramètres d'activation associés à chaque noeud.18 - Method according to claim 17, characterized in that it comprises an arbitration function determining, among nodes candidates for activation, those which are activated at a given time, according to a descriptor of the number of nodes which can be activated and activation parameters associated with each node.
19 - Procédé selon l'une des revendications 15 à 18, caractérisé en ce qu'il comprend un ajout des informations à caractère émotionnel au profil utilisateur, en associant à chaque noeud un vecteur de sensibilité aux affects pour chaque fonction du noeud et un vecteur d'incrément d'affect global, un vecteur de sensibilité aux affects à chaque arc et un contexte d'affects, ou vecteur d'affects global, à l'ensemble du graphe, les fonctions d'entrée, d'activation ou de transition et de génération de descripteurs contenues dans les noeuds étant modifiées pour tenir compte du vecteur d'affects global et des vecteurs de sensibilité aux affects. 20 - Procédé selon la revendication 19, caractérisé en ce que ladite fonction de génération de descripteurs génère les descripteurs à partir de la valeur d'activation du noeud, du vecteur de sensibilité aux affects du noeud et du vecteur d'affects global.19 - Method according to one of claims 15 to 18, characterized in that it comprises an addition of information of an emotional nature to the user profile, by associating with each node a vector of sensitivity to affects for each function of the node and a vector of global affect increment, a vector of sensitivity to affects at each arc and a context affect, or global affect vector, to the whole graph, the input, activation or transition and descriptor generation functions contained in the nodes being modified to take into account the global affect vector and vectors of sensitivity to affects. 20 - Method according to claim 19, characterized in that said descriptor generation function generates the descriptors from the activation value of the node, the vector of sensitivity to affects of the node and the vector of global affects.
21 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une itération desdites étapes.21 - Method according to any one of the preceding claims, characterized in that it comprises an iteration of said steps.
22 - Procédé selon la revendication 21 , caractérisé en ce qu'il comprend une prise en compte de plusieurs profils utilisateurs, constitués de la façon précitée et dont une copie de l'état est enregistrée dans ladite mémoire de travail, et une fonction de sélection et d'arbitrage déterminant les profils utilisateurs actifs à un moment donné.22 - Method according to claim 21, characterized in that it includes taking into account several user profiles, constituted as above and of which a copy of the state is saved in said working memory, and a selection function and arbitration determining the active user profiles at a given time.
23 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est agencé pour rendre anonyme un profil utilisateur, en particulier en vue de sa transmission par la seconde unité de traitement à la première unité de traitement.23 - Method according to any one of the preceding claims, characterized in that it is arranged to anonymize a user profile, in particular for its transmission by the second processing unit to the first processing unit.
24 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est agencé pour effectuer les opérations de descriptions sur la première unité de traitement, les opérations de réponse aux requêtes de l'utilisateur sur la seconde unité de traitement, celle-ci étant identique à ladite première unité de traitement, et des opérations de navigation dans les documents dans une troisième unité de traitement.24 - Method according to any one of the preceding claims, characterized in that it is arranged to perform the description operations on the first processing unit, the response operations to user requests on the second processing unit, the latter being identical to said first processing unit, and document navigation operations in a third processing unit.
25 - Dispositif de génération de descriptions de documents multimédia, du type comprenant une première unité de traitement propre à être couplée à une seconde unité de traitement agencée pour transmettre à cette première unité de traitement des requêtes formées par un utilisateur en vue d'accéder à l'un au moins des documents multimédia, et/ou de naviguer parmi ces documents et/ou de les interpréter, caractérisé en ce que ladite première unité de traitement comporte :25 - Device for generating multimedia document descriptions, of the type comprising a first processing unit suitable for being coupled to a second processing unit arranged to transmit requests formed by a user to this first processing unit in order to access at least one of the multimedia documents, and / or to navigate among these documents and / or to interpret them, characterized in that said first processing unit comprises:
* des moyens d'horloge propres à définir des cycles, * une mémoire de travail (M) subdivisée en registres adressables et propres à contenir des descripteurs,* clock means suitable for defining cycles, * a working memory (M) subdivided into addressable registers and suitable for containing descriptors,
* une mémoire auxiliaire (L) propre à stoker des collections d'exemples X,* an auxiliary memory (L) suitable for storing collections of examples X,
* un premier module de calcul (F) agencé pour calculer une fonction de similarité entre des objets Oi du monde extérieur, dont une image est contenue dans un document multimédia D, et lesdites collections d'exemples X, et à délivrer un descripteur primaire (e) représentatif de la fonction de similarité calculée,* a first calculation module (F) arranged to calculate a similarity function between objects Oi from the outside world, an image of which is contained in a multimedia document D, and said collections of examples X, and in delivering a primary descriptor ( e) representative of the calculated similarity function,
* des moyens (C) de gestion de l'adressage, en écriture, des registres de la mémoire de travail (M), agencés pour fournir tous les N cycles (N étant supérieur ou égal à 1 ) une première adresse (c) pour stocker ledit descripteur primaire (e) dans la mémoire de travail (M), * means (C) for managing the addressing, in writing, of the registers of the working memory (M), arranged to supply all the N cycles (N being greater than or equal to 1) a first address (c) for store said primary descriptor (e) in the working memory (M),
* un second module de calcul (B) alimenté en au moins deux descripteurs stockés à des adresses choisies (c, d , c2) de la mémoire de travail (M) et propre à générer au moins un premier (i ; d) et un second (d) descripteurs secondaires à partir de ces descripteurs reçus, * a second calculation module (B) supplied with at least two descriptors stored at selected addresses (c, d, c2) of the working memory (M) and suitable for generating at least a first (i; d) and a second (d) secondary descriptors from these received descriptors,
* un troisième module de calcul (A) agencé pour calculer un descripteur dérivé (d1 ; a) à partir du premier descripteur secondaire (i ; d) généré par le second module de calcul (B), lesdits moyens de gestion d'adresse étant en outre agencés pour adresser respectivement ledit second descripteur secondaire (d) et ledit descripteur dérivé (d1 ; a) à des registres de la mémoire de travail M placés en des seconde (d ) et troisième (c2) adresses choisies, en vue de leur mémorisation au cycle suivant, et en ce que ledit second module de calcul (B) est agencé pour déterminer, à partir desdits descripteurs secondaire et dérivé, un descripteur d'action (k) formant information de contrôle pour un matériel extérieur G. 26 - Dispositif selon la revendication 25, caractérisé en ce que certains desdits descripteurs primaires sont des exceptions introduites par un utilisateur. * a third calculation module (A) arranged to calculate a derived descriptor (d1; a) from the first secondary descriptor (i; d) generated by the second calculation module (B), said address management means being further arranged to address respectively said second secondary descriptor (d) and said derived descriptor (d1; a) to registers of the working memory M placed in second (d) and third (c2) chosen addresses, with a view to their storage in the next cycle, and in that said second calculation module (B) is arranged to determine, from said secondary and derived descriptors, an action descriptor (k) forming control information for an external material G. 26 - Device according to claim 25, characterized in that some of said primary descriptors are exceptions introduced by a user.
27 - Dispositif selon l'une des revendications 25 et 26, caractérisé en ce que lesdits premier et second descripteurs secondaires sont deux copies d'un même descripteur secondaire.27 - Device according to one of claims 25 and 26, characterized in that said first and second secondary descriptors are two copies of the same secondary descriptor.
28 - Dispositif selon l'une des revendications 25 et 26, caractérisé en ce que ledit second module de calcul (B) est propre à délivrer ledit premier descripteur secondaire, sous la forme d'un incrément d'affect (i), et en ce que ladite première unité de traitement comprend, entre les second (B) et troisième (A) modules de calcul, un additionneur (H) propre à additionner ledit incrément d'affect (i) au descripteur dérivé (a) en cours dans le troisième module (A) et à transmettre le résultat de cette addition audit troisième module de calcul (A), de sorte qu'il détermine un nouveau descripteur dérivé destiné à être stocké dans ledit registre placé à la troisième adresse choisie (c2) lors du cycle suivant.28 - Device according to one of claims 25 and 26, characterized in that said second calculation module (B) is adapted to deliver said first secondary descriptor, in the form of an affect increment (i), and in that said first processing unit comprises, between the second (B) and third (A) calculation modules, an adder (H) suitable for adding said increment of affect (i) to the derived descriptor (a) in progress in the third module (A) and to transmit the result of this addition to said third calculation module (A), so that it determines a new derived descriptor intended to be stored in said register placed at the third chosen address (c2) during the next cycle.
29 - Dispositif selon l'une des revendications 25 à 28, caractérisé en ce que ledit second module de calcul (B) est subdivisé en une multiplicité de sous-modules (B1 Bn), et en ce que ladite première unité de traitement comprend un module de sélection (S) agencé pour sélectionner l'un desdits sous-modules pour alimenter en ledit second descripteur secondaire (d) le registre placé à la seconde adresse (d ).29 - Device according to one of claims 25 to 28, characterized in that said second calculation module (B) is subdivided into a multiplicity of sub-modules (B1 Bn), and in that said first processing unit comprises a selection module (S) arranged to select one of said sub-modules to supply said second secondary descriptor (d) with the register placed at the second address (d).
30 - Dispositif selon la revendication 29, caractérisé en ce que ledit module de sélection (S) est agencé pour sélectionner ledit sous-module par application d'une fonction choisie aux incréments d'affect délivrés par chacun de ces sous-modules (Bi).30 - Device according to claim 29, characterized in that said selection module (S) is arranged to select said sub-module by application of a chosen function to the increments of affect delivered by each of these sub-modules (Bi) .
31 - Dispositif selon l'une des revendications 29 et 30, caractérisé en ce que lesdits sous-modules de calcul (Bi) et ledit module de sélection (S) sont agencés en parallèle sur un bus. 32 - Dispositif selon l'une quelconque des revendications 25 à 31 , caractérisé en ce qu'il comporte ladite seconde unité de traitement, et en ce que ladite seconde unité de traitement est sensiblement identique à ladite première unité de traitement.31 - Device according to one of claims 29 and 30, characterized in that said calculation sub-modules (Bi) and said selection module (S) are arranged in parallel on a bus. 32 - Device according to any one of claims 25 to 31, characterized in that it comprises said second processing unit, and in that said second processing unit is substantially identical to said first processing unit.
33 - Dispositif selon la revendication 32, caractérisé en ce que ladite première unité de traitement est agencée pour effectuer les opérations de description de documents et ladite seconde unité de traitement est agencée pour effectuer les opérations de réponse aux requêtes de l'utilisateur, et en ce qu'il comporte une troisième unité de traitement agencée pour effectuer des opérations de navigation dans les documents.33 - Device according to claim 32, characterized in that said first processing unit is arranged to perform document description operations and said second processing unit is arranged to perform operations in response to user requests, and in which it comprises a third processing unit arranged to carry out navigation operations in documents.
34 - Dispositif selon l'une des revendications 32 et 33, caractérisé en ce que lesdites première et seconde unités de traitement sont logées dans un serveur comportant une interface de communication, et ladite troisième unité de traitement est logée dans un système extérieur de type « client » comportant également une interface de communication, lesdits client et serveur étant couplés par un réseau de transmission de données, via leurs interfaces de communication respectives.34 - Device according to one of claims 32 and 33, characterized in that said first and second processing units are housed in a server comprising a communication interface, and said third processing unit is housed in an external system of type " client ”also comprising a communication interface, said client and server being coupled by a data transmission network, via their respective communication interfaces.
35 - Dispositif selon l'une des revendications 25 à 33, caractérisé en ce que ladite première unité de traitement est logée dans un serveur comportant une interface de communication, et ladite seconde unité de traitement est logée dans un système extérieur de type « client » comportant également une interface de communication, lesdites première et seconde unités de traitement étant couplées par un réseau de transmission de données, via leurs interfaces de communication respectives. 35 - Device according to one of claims 25 to 33, characterized in that said first processing unit is housed in a server comprising a communication interface, and said second processing unit is housed in an external system of “client” type also comprising a communication interface, said first and second processing units being coupled by a data transmission network, via their respective communication interfaces.
PCT/FR2000/000184 1999-01-28 2000-01-27 Method for generating multimedia document descriptions and device associated therewith WO2000045293A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/00966 1999-01-28
FR9900966A FR2789196B1 (en) 1999-01-28 1999-01-28 METHOD FOR GENERATING MULTIMEDIA DOCUMENT DESCRIPTIONS

Publications (1)

Publication Number Publication Date
WO2000045293A1 true WO2000045293A1 (en) 2000-08-03

Family

ID=9541330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/000184 WO2000045293A1 (en) 1999-01-28 2000-01-27 Method for generating multimedia document descriptions and device associated therewith

Country Status (2)

Country Link
FR (1) FR2789196B1 (en)
WO (1) WO2000045293A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256720A (en) * 2020-10-21 2021-01-22 平安科技(深圳)有限公司 Data cost calculation method, system, computer device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690413A2 (en) * 1994-06-27 1996-01-03 Institute of Systems Science A system for locating automatically video segment boundaries and for extraction of key-frames
WO1997040454A1 (en) * 1996-04-25 1997-10-30 Philips Electronics N.V. Video retrieval of mpeg compressed sequences using dc and motion signatures
EP0805405A2 (en) * 1996-02-05 1997-11-05 Texas Instruments Incorporated Motion event detection for video indexing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690413A2 (en) * 1994-06-27 1996-01-03 Institute of Systems Science A system for locating automatically video segment boundaries and for extraction of key-frames
EP0805405A2 (en) * 1996-02-05 1997-11-05 Texas Instruments Incorporated Motion event detection for video indexing
WO1997040454A1 (en) * 1996-04-25 1997-10-30 Philips Electronics N.V. Video retrieval of mpeg compressed sequences using dc and motion signatures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256720A (en) * 2020-10-21 2021-01-22 平安科技(深圳)有限公司 Data cost calculation method, system, computer device and storage medium

Also Published As

Publication number Publication date
FR2789196B1 (en) 2001-03-30
FR2789196A1 (en) 2000-08-04

Similar Documents

Publication Publication Date Title
Ebesu et al. Collaborative memory network for recommendation systems
CN111209440B (en) Video playing method, device and storage medium
WO2010070142A2 (en) Method and system for merging data or information
CN110442781B (en) Pair-level ranking item recommendation method based on generation countermeasure network
Davis et al. From context to content: leveraging context to infer media metadata
KR101944469B1 (en) Estimating and displaying social interest in time-based media
US20130091071A1 (en) Product catalog dynamically tailored to user-selected media content
CN102150163B (en) Interactive image selection method
CN111708941A (en) Content recommendation method, apparatus, computer equipment and storage medium
FR2822261A1 (en) Navigation procedure for multimedia documents includes software selecting documents similar to current view, using data associated with each document file
US11126682B1 (en) Hyperlink based multimedia processing
EP3267333A1 (en) Local processing of biometric data for a content selection system
Jeong et al. Ontology-based automatic video annotation technique in smart TV environment
CN114443916B (en) Supply and demand matching method and system for test data
AU2017280105A1 (en) Selectively playing videos
Goletto et al. AMEGO: Active Memory from long EGOcentric videos
Wei et al. Diffusion Models in Recommendation Systems: A Survey
US20240371164A1 (en) Video localization using artificial intelligence
WO2000045293A1 (en) Method for generating multimedia document descriptions and device associated therewith
CN116596093A (en) Training method and device for recommendation model
CN117216361A (en) Recommendation method, recommendation device, electronic equipment and computer readable storage medium
FR2939537A1 (en) SYSTEM FOR SEARCHING VISUAL INFORMATION
Kadam et al. Query-attentive video summarization: a comprehensive review
Bhute et al. System analysis and design for multimedia retrieval systems
Wood Exploiting semantics for personalized story creation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载