WO2000045293A1 - Procede de generation de descriptions de documents multimedia, et dispositif associe - Google Patents

Procede de generation de descriptions de documents multimedia, et dispositif associe 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
English (en)
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/fr

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

Un procédé de génération de descriptions de documents multimédia, comprend une étape d'analyse et de segmentation d'un document en une pluralité d'objets associés à des vraisemblances, une étape de génération de descripteurs par application de fonctions auxdits objets, ces descripteurs comprenant des descripteurs abstraits contenant une référence à un objet décrit et des fonctions définissant des mécanismes de réflexe, ainsi qu'une étape d'activation de descripteurs abstraits. Les fonctions de génération de descripteurs consistent notamment: à appliquer à un objet multimédia une fonction de similarité avec une collection préétablie de prototypes, à créer des exceptions par acceptation de nouveaux descripteurs qui contredisent des descripteurs déjà obtenus, à modifier les fonctions de génération des descripteurs par un profil utilisateur comprenant un ensemble modélisé de connaissances spécifiques à un utilisateur à qui une description est destinée, sous la forme d'un graphe de noeuds reliés par des arcs, stocké dans une mémoire de travail, contenant un ensemble organisé de descripteurs avec une fonction d'effacement des descripteurs, et transmissible par un serveur à un système extérieur susceptible de répondre à une requête d'utilisateur, via un réseau de transmission de données.

Description

PROCEDE DE GENERATION DE DESCRIPTIONS DE DOCUMENTS MULTIMEDIA, ET DISPOSITIF ASSOCIE
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..
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..
Il a été proposé dans les spécifications initiales du projet de norme MCDI (Multimedia Content Description Interface) appelé également 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.
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.
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.
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 à :
- 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é,
- 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 à :
- 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,
- utiliser une ou plusieurs ontologies dans les mécanismes de réflexe des descripteurs abstraits,
- 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,
- 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,
- 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,
- 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,
- 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.
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.
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.
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.
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.
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.
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.
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é.
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é.
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.
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,
* une mémoire de travail subdivisée en registres adressables et propres à contenir des descripteurs,
* une mémoire auxiliaire capable de stoker des collections d'exemples,
* 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,
* 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.
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.
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.
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.
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 :
- la figure 1 illustre le mode de détection d'un mouvement dans des images d'un film,
- la figure 2 illustre la notion de pseudo-héritage,
- la figure 3 est un schéma de pondération des arcs d'un graphe de profil utilisateur,
- la figure 4 représente schématiquement un noeud de ce profil,
- la figure 5 représente un mode opératoire d'un profil utilisateur,
- 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,
- la figure 9 illustre une variante du mode de réalisation de la figure
8, la figure 10 illustre une variante du mode de réalisation de la figure
9, et la figure 11 illustre une variante du mode de réalisation de la figure 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és
(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.
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.
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..
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).
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.
Un objet : soit un objet descripteur soit un objet multimédia. Une collection d'objets est un objet.
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).
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.
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.
Un prototype : un prototype est un objet (multimédia ou descripteur) qui sert d'exemple.
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.
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.
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).
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.
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.
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.
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".
La description et les descripteurs :
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.
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 :
Etape 1 : La segmentation des objets multimédias
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 :
(Objet_MM Vraisemblance) (Fonction Vraisemblance) (Objet_MM Vraisemblance)*
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œ))*
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.
Spécialisation par un code procédural :
(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.
Exemple de segmentation en plans par une méthode algorithmique :
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 descripteurs
Cette étape a pour but de générer des descripteurs à partir d'autres descripteurs. Sa forme synthétique générale est :
(Objet Vraisemblanœ)* (Fonction Vraisemblanœ) (Objet descripteur Vraisemblanœ) Une version spécifique de cette forme synthétique sera employée assez fréquemment :
(Objet Vraisemblanœ)* (Fonction Vraisemblanœ) (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 :
La fonction qui génère un objet descripteur à partir d'objets peut être un code procédural :
(Objet Vraisemblance) (Code jrccédural Vraisemblanœ) (Objet_Descripteur Vraisemblanœ)
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..
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 :
La fonction qui génère un objet descripteur à partir d'objets peut être une règle de production.
(Descripteur Vraisemblanœ)* (règle Vraisemblanœ) (Descripteur Vraisemblanœ)
Les connaissances de sens commun peuvent être modélisées par des règles de production.
Exemple d'inférence de connaissances par des règles :
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 :
(mer 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 :
(ski-nautique 0,95)
Spécialisation par des 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).
(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.
Références :
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,
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.
Etape 3 : l' activation des descripteurs abstraits
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.
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étique
(Descripteur_abstrait Vraisemblanœ) (fonction Vraisemblanœ) (Objet_descripteur Vraisemblanœ)
(Objet_descripteur Vraisemblanœ)
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 :
- 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.
- 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.
- 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 ?".
Exceptions et maintien de la cohérence :
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.
Forme synthétique :
Ajout d'une exception : (Objet_Descripteur Vraisemblanœ!)
(Descripteur_exœption Vraisemblance^
si Vraisemblance, -Vraisemblanœ! >
(Descripteur_exœptJon Vraisemblance^
Maintien de la cohérence : (Objet_Descripteur Vraisemblanœ)*
(Fct_maintien_∞herenœ Vraisemblanœ) -(Descripteur Vraisemblanœ)*
le signe - signifie que l'on ôte un ensemble de descripteurs de la description. Exemple d'exceptions :
Le descripteur suivant est présent dans la description : (ski-nautique 0,90)
Un utilisateur avec un poids expert de 0,95 ajoute le descripteur suivant par annotation : (windsurf 0,95)
Ce descripteur est une exception et vient remplacer le descripteur "ski-nautique". Exemple de maintien de cohérence :
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".
Descripteurs abstraits spécifiques
Modélisation d'un pseudo-héritage
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 :
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.
Codes procéduraux spécifiques :
Utilisation de collections de prototypes
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étique
- Création d un prototype :
(Objet_MM Vraisemblanœ) (Interaction Poids_expert) (Prototype Vraisemblanœ)
- Utilisation de prototypes :
(Objet_MM Vraisemblanœ) (Fct_de_similarité Vraisemblanœ) (prototypes Vraisemblanœ)* (Objet_Descripteur Vraisemblanœ)
- Création d'une collection
(prototype Vraisemblanœ)* (Interaction Poids_expert) (Prototype Vraisemblanœ)
- Utilisation des collections
(Objet Vraisemblanœ) (Fonction_de_similarité Vraisemblanœ) ∞llectionjDrototypes (Descripteur 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.
Profil utilisateur : Les fonctions de l'étape 2 peuvent prendre en compte des connaissances spécifiques à l'utilisateur à qui la description est destinée.
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.
Forme synthétique :
(Descripteur Vraisemblanœ)* ((Fonct n_Utilisateur Profil utilisat ur) Vraisemblanœ) => Descripteur Vraisemblanœ
Le profil utilisateur sans profil émotionnel :
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.
Le profil est constitué de deux composants principaux : un graphe de profil utilisateur et une mémoire de travail.
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.
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.
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.
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.
3 : Les valeurs d'activation des nœuds sont calculées.
4 : Un ensemble de descripteurs est généré et placé dans la mémoire de travail du profil.
5 : Certains descripteurs sont ôtés de la mémoire par la fonction d'effacement.
6 : Le processus reprend à l'étape 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 :
Valeur_sortie_arc_eπtranf Vraisemblanœ_descripteur* porκlération_arc_entranf Fonction_entrée =>Valeur_entrée
La valeur d'activation du nœud est calculée en fonction de sa valeur d'entrée par la fonction d'activation :
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.
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.
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.
Dans une réalisation préférentielle, les paramètres de la fonction d'arbitrage dépendent d'un ou plusieurs descripteurs.
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 :
Valeur_activation Intérêt Fonctionjgénération_descripteur => (Descripteur 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.
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.
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.
Le procédé peut être étendu à la sélection de descripteurs pour un nombre quelconque de classes de descripteurs.
Dans une réalisation préférentielle, les paramètres de la deuxième fonction d'arbitrage dépendent d'un ou plusieurs descripteurs.
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.
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 :
Valeur_activation Poids_arc_sortanf Fonction_sortie => Valeur_sortie_arc_sortanf
La probabilité de génération des descripteurs générés :
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.
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.
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.
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.
Exemples préférentiels des différentes fonctions :
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.
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.
La fonction d'activation effectue un seuillage de la valeur d'entrée du nœud.
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.
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.
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.
La fonction d'effacement peut ôter les n descripteurs les moins récemment utilisés.
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.
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.
La structure du profil utilisateur avec des informations d'affects :
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.
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 :
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.
3 : Les valeurs d'activation des nœuds sont calculées.
4 : Un ensemble de descripteurs est généré et replacé dans la mémoire utilisateur.
5 : Le vecteur d'affects global est modifié en fonction de tous les vecteurs d'incréments des nœuds activés.
6 : Le vecteur d'affects global est modifié.
Certains descripteurs sont ôtés de la mémoire par la fonction d'effacement.
7 : Le processus reprend à l'étape 2. Détail des étapes :
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 :
Valeur_sortie_nœud_entran
Pondération_arc*
Sensibilité_affects_arc* Affectjgbbal
Vraisemblanœ_descripteur*
Fonction_entrée =>Valeur_eπtrée
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 :
Valeurjentrée* Sensibilité_affects_noeud Affectjgbbal
Fonction_activation
=> 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_activation
Sensibiiité_affects_nceud Affectjgbbal
Fonction jgénérationjdescripteurs => (Descripteur 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 :
Affectjgbbal Fonction j3volution_temporelle => Affectjgbbal
La probabilité de génération des descripteurs générés :
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.
Exemples préférentiels des différentes fonctions :
La fonction d'entrée peut se décomposer comme suit :
. 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.
.. 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.
- 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.
- 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.
- 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.
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.
Apprentissage du profil utilisateur et du profil émotionnel :
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 :
- 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.
5 Ces informations sont utilisées pour pondérer le graphe du profil de la manière suivante :
- 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
- les vecteurs de sensibilité aux affects des nœuds sont obtenus à partir des durées de visualisation des documents par l'utilisateur.
15 Affectjgbbal temps_visualisation fonction =>
Vecteur affects
Plusieurs profils dans un système :
Certains systèmes travaillent en coopération avec plus d'un utilisateur. Plusieurs profils utilisateurs peuvent être intégrés à un unique
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 du
25 système. L'espace mémoire est partagé entre tous les profils utilisateurs.
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.
(Profilj tilisateur Poidsjntérêtjjtilisateur) Fonction ^sélection => (Descripteur Vraisemblanœ)*
Les valeurs des poids intérêts associés aux profils utilisateurs peuvent être modifiées par la présence de descripteurs.
(Descripteur Vraisemblanœ)* Fonction_modification θids => PoJdsJntérêtj tilisateur
Dans une réalisation de l'invention, ces descripteurs auront été générés par le profil "système".
Exemple d'application :
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é".
Adaptation dynamique du profil :
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.
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.
Sécurisation des profils utilisateurs :
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.
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.
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,
- 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,
- 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.
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.
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.
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.
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.
On se réfère maintenant, plus particulièrement, à la figure 8 pour décrire un premier mode de réalisation du dispositif.
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.
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.
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.
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é.
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.
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.
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.
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.
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.
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.
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.
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.

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 à :
- 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é,
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
21 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une itération desdites étapes.
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é.
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.
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.
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 :
* 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,
* une mémoire auxiliaire (L) propre à stoker des collections d'exemples 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,
* 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),
* 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,
* 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.
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.
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.
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 ).
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).
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.
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.
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.
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.
PCT/FR2000/000184 1999-01-28 2000-01-27 Procede de generation de descriptions de documents multimedia, et dispositif associe WO2000045293A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/00966 1999-01-28
FR9900966A FR2789196B1 (fr) 1999-01-28 1999-01-28 Procede de generation de descriptions de documents multimedia

Publications (1)

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

Family

ID=9541330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/000184 WO2000045293A1 (fr) 1999-01-28 2000-01-27 Procede de generation de descriptions de documents multimedia, et dispositif associe

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256720A (zh) * 2020-10-21 2021-01-22 平安科技(深圳)有限公司 数据成本计算方法、***、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690413A2 (fr) * 1994-06-27 1996-01-03 Institute of Systems Science Système de localisation automatique des limites de segment vidéo et d'extraction de trames-clefs
WO1997040454A1 (fr) * 1996-04-25 1997-10-30 Philips Electronics N.V. Extraction video de sequences comprimees mpeg a l'aide de signatures dc et de mouvement
EP0805405A2 (fr) * 1996-02-05 1997-11-05 Texas Instruments Incorporated Détection d'événements de mouvement pour l'indexation de vidéos

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690413A2 (fr) * 1994-06-27 1996-01-03 Institute of Systems Science Système de localisation automatique des limites de segment vidéo et d'extraction de trames-clefs
EP0805405A2 (fr) * 1996-02-05 1997-11-05 Texas Instruments Incorporated Détection d'événements de mouvement pour l'indexation de vidéos
WO1997040454A1 (fr) * 1996-04-25 1997-10-30 Philips Electronics N.V. Extraction video de sequences comprimees mpeg a l'aide de signatures dc et de mouvement

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256720A (zh) * 2020-10-21 2021-01-22 平安科技(深圳)有限公司 数据成本计算方法、***、计算机设备和存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
Ebesu et al. Collaborative memory network for recommendation systems
CN111209440B (zh) 一种视频播放方法、装置和存储介质
EP2370938A2 (fr) Procede et systeme pour la fusion de donnees ou d'information
KR101944469B1 (ko) 컴퓨터 실행 방법, 시스템 및 컴퓨터 판독 가능 매체
US9213989B2 (en) Product catalog dynamically tailored to user-selected media content
CN106796593A (zh) 基于社交数据和用户行为优先化媒体
FR2822261A1 (fr) Procede de navigation par calcul de groupes, recepteur mettant en oeuvre le procede, et interface graphique pour la presentation du procede
CA2110538A1 (fr) Systeme d'information multimedia
CN113254711B (zh) 一种互动图像的显示方法、装置、计算机设备和存储介质
Jeong et al. Ontology-based automatic video annotation technique in smart TV environment
EP3267333A1 (fr) Traitement local de données biométriques pour un système de sélection de contenu
Piergiovanni et al. Adversarial generative grammars for human activity prediction
WO2017219089A1 (fr) Lecture sélective de vidéos
Fan et al. Deepdiary: Automatically captioning lifelogging image streams
Elahi et al. Recommender systems: Challenges and opportunities in the age of big data and artificial intelligence
Zammali et al. How to select and weight context dimensions conditions for context-aware recommendation?
WO2016198635A1 (fr) Gestion de noms de domaine du reseau internet
CN114443916B (zh) 一种面向试验数据的供需匹配方法及***
WO2000045293A1 (fr) Procede de generation de descriptions de documents multimedia, et dispositif associe
Göring et al. Extended features using machine learning techniques for photo liking prediction
Ramzan et al. Analysing multimedia content in social networking environments
Haque Detection and classification of sensitive audio-visual content for automated film censorship and rating
Bhute et al. System analysis and design for multimedia retrieval systems
Chelcea et al. A personalized recommender system for travel information
US7904501B1 (en) Community of multimedia agents

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