Brevet FR3046269A1 — publié le 20170630

PROCEDE DE SELECTION AUTOMATIQUE D'UN CONTENU MULTIMEDIA DANS UNE BASE DE DONNEES [1] L'invention concerne un procédé de sélection automatique d'un contenu 5 multimédia parmi une multitude de contenus multimédias C. L'invention a également pour objet un support d'enregistrement d'informations ainsi qu'un serveur électronique pour la mise en oeuvre de ce procédé. [2] Typiquement, les contenus multimédias sont enregistrés dans une base de données. 10 [003] Des procédés connus de sélection automatique d'un contenu multimédia comporte : a) l'acquisition par un serveur électronique d'un identifiant d'un contenu multimédia Cu choisi, par exemple, par un utilisateur, b) le calcul d'une distance tu, entre le contenu multimédia Cu correspondant à 15 l'identifiant acquis lors de l'étape a) et chaque contenu multimédia C, contenu dans la base de données, plus cette distance tu, entre les contenus multimédias Cu et C, est grande, plus les contenus multimédias sont considérés comme différents, c) le choix automatique d'une borne inférieure t1 et d'une borne supérieure t2, et d) la sélection automatique, en tant que contenu multimédia un peu similaire au 20 contenu multimédia Cu, de chaque contenu multimédia C, pour lequel la distance tu, calculée lors de l'étape b) est comprise entre les bornes inférieure t1 et supérieure t2 choisies lors de l'étape c), [4] Par exemple, un tel procédé est décrit dans la demande US6201176 B1 dans le cas particulier où les contenus multimédias sont des contenus audio tels que des 25 musiques. [5] Par la suite, cette demande de brevet US6201176 B1 est référencée sous le terme de « document Al ». Plus précisément, le document Al enseigne comment sélectionner un contenu audio Cm,r, le plus similaire (« similar to » dans Al) a un contenu audio Cu identifié lors de l'étape a). Pour cela, le document Al enseigne qu'il 30 faut sélectionner, dans la base de données, le contenu audio pour lequel la distance tui est la plus faible. Par la suite, cette distance tui la plus faible est notée tmin. [6] Le document Al enseigne aussi comment sélectionner automatiquement le contenu audio Cmax le plus différent (« note at all like » dans Al). Pour cela, il faut sélectionner le contenu audio C, pour lequel la distance tui est maximale. La distance 35 tui maximale est notée tmax par la suite. [7] Enfin, le document Al propose aussi de sélectionner automatiquement dans la base de données des contenus multimédias « un peu similaires » c'est-à-dire qui sont un peu différents du contenu Cu mais pas trop. Cela correspond au critère de recherche notée « a little bit like » dans le document Al. Le document Al enseigne à 3046269 2 ce sujet qu'il faut alors sélectionner les contenus audio pour lesquels la distance tu, est comprise entre les distances tmin et tmax. L'homme du métier comprend donc qu'il faut sélectionner les contenus multimédias pour lesquels la distance tu, est comprise entre la borne inférieure t1 et la borne supérieure t2 avec train et t _2__max- Toutefois, le document Al ne décrit pas comment choisir les bornes t1 et t2. Or, en pratique, ceci est un problème technique très difficile à résoudre. [008] La difficulté de ce problème est illustrée par l'exemple simplifié suivant dans le cas particulier des contenus audio. On suppose que les bornes t1 et t2 sont choisies égales, respectivement, à tmin et tmax. Dans ce cas, le procédé de sélection n'est pas 10 satisfaisant car : - le nombre de contenus audio sélectionnés est alors beaucoup trop grand puisqu'on sélectionne tous les contenus audio sauf le plus similaire et le plus différent, - cette sélection peut comprendre des contenus audio pour lesquels la distance tu, est très proche de la distance tmin et donc des contenus audio qui sont trop similaires aux 15 contenus multimédias Cu, et - cette sélection peut comprendre des contenus audio pour lesquels la distance tu, est très proche de la distance tmax et donc des contenus audio qui sont trop différents du contenu multimédia Cu. [009] On comprend donc qu'il faut soigneusement choisir les bornes t1 et t2 car 20 sinon le nombre de contenus multimédias sélectionnés risque d'être trop grand et les contenus multimédias sélectionnés risquent de ne pas être considérés comme étant pertinents soit parce qu'ils sont trop proches ou trop différents du contenu multimédia Cu. Il faut aussi que les bornes t1 et t2 ne soient pas trop rapprochées l'une de l'autre sinon cela risque de conduire à une sélection d'un trop petit nombre de contenus 25 multimédias un peu similaires. Le document Al ne donne aucune indication sur la façon de choisir ces bornes t1 et t2 pour que le procédé de sélection fonctionne correctement, ni dans un cas particulier, ni dans le cas général. [0010] De plus, la sélection des contenus multimédias un peu similaires doit se faire automatiquement. En particulier, il ne faut pas que le procédé développé fonctionne 30 avec une intervention humaine et cela, quel que soit le contenu multimédia Cu sélectionné. [0011] Aucun procédé connu à ce jour ne permet de choisir automatiquement et correctement les bornes t1 et t2 pour que le nombre de contenus multimédias sélectionnés soit adapté à l'utilisation que l'utilisateur veut en faire et pour que ces 35 contenus sélectionnés ne soient pas trop similaires ou trop différents du contenu multimédia Cu. [0012] L'invention vise donc à proposer un procédé de sélection automatique d'un contenu multimédia dans lequel les bornes t1 et t2 sont automatiquement et systématiquement correctement choisies. 3046269 3 [0013] Elle a donc pour objet un procédé de sélection d'un contenu multimédia dans lequel l'étape c) comporte: - le calcul de l'écart type o- de la distribution des distances tu, calculées lors de l'étape b), et 5 - la sélection automatique d'une valeur Vmin systématiquement comprise entre o- et une valeur ts, et d'une valeur Vmax systématiquement comprise entre ts et 2t, - o-, la valeur ts étant la valeur positive pour laquelle la fonction Mi définie par la relation suivante est maximale : - l'affectation des valeurs Vain, et Vmax automatiquement sélectionnées, 10 respectivement, aux bornes t1 et t2 pour la réalisation de l'étape d). [0014] Dans le procédé ci-dessus, les bornes t1 et t2 sont automatiquement choisies en utilisant la fonction Mi. La fonction Mi est l'inverse de la fonction connue sous le terme de « ondelette de Ricker ». L'ondelette de Ricker est la dérivée seconde d'une fonction gaussienne normalisée. On rappelle qu'une fonction gaussienne normalisée 15 est définie par la relation suivante : f (x où o- etµ sont, respectivement, l'écart type et la moyenne de la distribution gaussienne, µ étant égal à zéro dans le cas d'une fonction gaussienne normalisée. [0015] L'ondelette de Ricker présente de nombreuses propriétés qui permettent de systématiquement choisir correctement les bornes t1 et t2. 20 [0016] Par exemple, la fonction IP dépend de l'écart type o- des distances tu, et donc de la distribution statistique des distances t.. Grâce à cela, les bornes t1 et t2 automatiquement choisies par le procédé revendiqué permettent systématiquement de sélectionner une proportion, adaptée à l'utilisation souhaitée de contenus multimédias dans la base de données en tant que contenus multimédias un peu 25 similaires. De plus, en sélectionnant systématiquement les valeurs Vm,r, et Vmax 5 respectivement, entre o- et ts, et entre ts et 2t, - o-, les bornes t1 et t2 ne sont jamais trop proches des distances train et Liax. Ces écarts sont donc systématiquement adaptés à la distribution statistique des distances t.. Ainsi, les contenus multimédias automatiquement sélectionnés par le procédé revendiqué ne sont jamais ni trop 30 similaires ni trop différents du contenu multimédia Cu. 3046269 4 [0017] Cette capacité de l'ondelette de Ricker à améliorer la discrimination entre différents éléments a été mise en évidence et validée dans d'autres domaines techniques éloignés mais pas dans celui de la recherche et de la sélection de contenus multimédias. Par exemple, l'ondelette de Ricker est utilisée dans les cartes 5 auto-adaptatives de Kohonen (« Self-organizing map »). Le fonctionnement général de ces cartes est le suivant. Une carte est composée de neurones, similaires au cortex dans le cerveau. Les neurones produisent des réponses en fonction des entrées présentées. Une phase d'apprentissage permet de spécialiser les neurones et leur voisinage, afin que des entrées similaires (distance faible) reçoivent des réponses proches issues de neurones voisins. Dans ce contexte, l'intérêt d'utiliser l'ondelette de Ricker par rapport à une loi normale, est qu'elle permet d'accentuer les contrastes : avec une très petite distance, les valeurs de l'ondelette sont importantes (voire maximales) et donc les entrées sont associées aux mêmes neurones ou à des neurones voisins. Si la distance est un peu plus importante (sans être très éloignée), les valeurs issues de l'ondelette de Ricker deviennent négatives, et donc les neurones qui répondent pour ces entrées seront éloignés sur la carte, renforçant la "différentiation" entre les neurones ciblés et les neurones non-ciblés par cette entrée. Enfin, si la distance est très importante, les valeurs issues de l'ondelette de Ricker sont proches de zéro, c'est à dire sans bonification ni pénalisation quant à la position des neurones concernés sur la carte. On remarquera toutefois que dans le contexte des cartes auto-adaptatives de Kohonen, c'est l'ondelette de Ricker qui est utilisée et non pas son inverse. [0018] L'ondelette de Ricker est également utilisée dans l'analyse d'image pour augmenter la visibilité des contours sur cette image. Dans ce contexte, l'ondelette de Ricker est utilisée pour discriminer des pixels et accentuer le contraste au niveau des zones frontières telles que celles rencontrées sur le contour d'une forme. Là aussi, c'est l'ondelette de Ricker qui est utilisée et non pas son inverse. [0019] En résumé, il a déjà été validé que l'ondelette de Ricker est particulièrement efficace pour traiter des zones frontières dans le but d'accentuer des différentiations, tels que le renforcement de contraste. Dans le procédé revendiqué, cette propriété est exploitée pour identifier la zone frontière entre des contenus multimédias similaires et des contenus multimédias différents. Toutefois, ici, la zone frontière n'est pas utilisée pour séparer les contenus multimédias similaires des contenus multimédias différents. Dans le procédé revendiqué, elle est utilisée pour identifier les contenus multimédias peuplant exactement la zone frontière entre les contenus multimédias similaires et différents. Le procédé revendiqué permet donc la sélection 3046269 5 de façon précise et sûre des contenus multimédias un peu similaires à un contenu multimédia donné. [0020] Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes : 5 ^ l'étape c) comporte : - le calcul de la valeur ts, et - le calcul des valeurs Vmin et Vmax à l'aide des relations suivantes : Vmin = ts - aoet Vmax = ts [36, où a et [3 sont des constantes comprises entre 0,5 et 1,5 ; ^ les constantes a et [3 sont égales ; 10 ^ les constantes a et [3 sont égales à un à plus ou moins 5 % près ; ^ l'étape c) comporte le calcul des valeurs Vmin et V. en résolvant l'équation suivante : 1P(Vmin) = 1P(Vmax) = p x 1P(ts), où p est une constante prédéterminée comprise entre 0,5 et 2/3 ; ^ l'étape c) comporte le calcul des valeurs Vmin et V. à l'aide des relations 15 suivantes : Vmin = o- et Vmax = 2ts _ o- ; ^ l'étape c) comporte : - l'acquisition d'un nombre n de contenus multimédias à sélectionner automatiquement, - le calcul de la valeur ts, 20 - l'identification de la plus petite distance tui calculée à l'étape b) qui est séparée de la valeur ts par n/2 distances tui, cette distance étant notée tuimin, - l'identification de la plus grande distance tu; calculée à l'étape b) qui est séparée de la valeur ts par n/2 distances tui, cette distance étant notée tuimax, - le calcul des valeurs Vmin et Vmax à l'aide des relations suivantes : Vmin 25 Max{o- ; tuimin} et Vmax = Min{2ts _ o- ; tuimax}, où Min{...} et Max{...} sont les fonctions qui retournent, respectivement, le plus petit et le plus grand des éléments contenus entre les accolades ; ^ plus la distance tui entre les contenus multimédias Cu et Ci est grande, plus les contenus multimédias sont considérés comme différents, et chaque contenu 30 multimédia Ci pour lequel la distance tui calculée lors de l'étape b) est comprise entre les bornes inférieure t1 et supérieure t2, est sélectionné en tant que contenu multimédia un peu similaire au contenu multimédia Cu. [0021] Ces modes de réalisation du procédé de sélection présentent en outre les avantages suivants : 35 - Calculer les valeurs Vmin et Vmax à partir de la valeur ts à laquelle est soustraite ou ajoutée une partie de l'écart type o- permet de calculer ces valeurs sans avoir à calculer le maximum 1P(ts). De plus, le nombre de constantes prédéterminées à initialiser est extrêmement réduit et le réglage de ces constantes est très simple 3046269 6 puisque la plage de valeurs possibles pour chacune de ces constantes est très étroite. - Calculer les valeurs Vmin et Vmax en résolvant l'équation (-1-)(t) = p x 1P(ts) permet de calculer ces valeurs sans avoir nécessairement à calculer la valeur ts. De plus, 5 comme dans le cas précédent, le nombre de constantes prédéterminées à ajuster au départ est extrêmement réduit et se limite à une seule constante p. De plus, étant donné que la plage de valeurs possibles pour cette constante p est extrêmement réduite, le réglage du procédé s'en trouve extrêmement simplifié. [0022] L'invention a également pour objet un support d'enregistrement d'informations 10 comportant des instructions pour l'exécution du procédé revendiqué, lorsque ces instructions sont exécutées par un microprocesseur. [0023] L'invention a également pour objet un serveur pour la mise en oeuvre du procédé revendiqué. Ce serveur comporte : - un microprocesseur programmable, et 15 - une mémoire dans laquelle est enregistrée une base de données contenant des contenus multimédias C,, le microprocesseur (10) étant programmé pour exécuter les étapes suivantes : a) acquérir un identifiant d'un contenu multimédia Cu, b) calculer une distance tu, entre le contenu multimédia Cu correspondant à l'identifiant 20 acquis lors de l'étape a) et chaque contenu multimédia C, contenu dans la base de données, c) choisir automatiquement une borne inférieure t1 et une borne supérieure t2, et d) sélectionner automatiquement chaque contenu multimédia C, pour lequel la distance tu, calculée lors de l'étape b) est comprise entre les bornes inférieure t1 et 25 supérieure t2 choisies lors de l'étape c), dans lequel le microprocesseur est également programmé pour, lors de l'exécution de l'étape c) : - calculer l'écart type o- de la distribution des distances tu, calculées lors de l'étape b), et 30 - sélectionner automatiquement une valeur Vmin systématiquement comprise entre o-et une valeur ts, et une valeur Vmax systématiquement comprise entre ts et 2t, - o-, la valeur ts étant la valeur positive pour laquelle la fonction définie par la relation suivante est maximale: 3046269 7 - affecter les valeurs Vmin et Vmax automatiquement sélectionnées, respectivement, aux bornes t1 et t2 pour la réalisation de l'étape d). [0024] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins 5 sur lesquels : - la figure 1 est une illustration schématique d'un système de sélection d'un contenu multimédia dans une base de données ; - la figure 2 est un organigramme d'un procédé de sélection d'un contenu multimédia à l'aide du système de la figure 1 ; 10 - la figure 3 est un organigramme des différentes opérations mises en oeuvre lors d'une étape de recherche d'un contenu multimédia dans le système 2, et - la figure 4 est un graphique représentant la partie positive de l'inverse d'une ondelette de Ricker. [0025] Dans ces figures, les mêmes références sont utilisées pour désigner les 15 mêmes éléments. Dans la suite de cette description, les caractéristiques et fonctions bien connues de l'homme du métier ne sont pas décrites en détail. [0026] La figure 1 représente un système 2 de sélection automatique d'un contenu multimédia dans une base de données. Ce système 2 comporte à cet effet : - un serveur informatique 4, 20 - un réseau 6 de transmission d'informations, et - des terminaux 8 raccordés au serveur 4 par l'intermédiaire du réseau 6. [0027] Le serveur 4 est typiquement un serveur Internet ou http (hypertext transfer protocol). Un tel serveur 4 est également connu sous le terme de « serveur web ». Il peut s'agir d'un serveur Apache® par exemple. Ce serveur 4 est capable de générer 25 des pages HTML (Hyper-Text Markup Language) dynamiques en réponse à des requêtes des terminaux 8. A cet effet, il comprend un microprocesseur programmable 10 et une mémoire 12. Le microprocesseur 10 est programmé pour mettre en oeuvre le procédé de la figure 2. Ce microprocesseur 10 est capable d'exécuter des instructions enregistrées, par exemple, dans la mémoire 12. Par exemple, le 30 microprocesseur 10 est un microprocesseur de la marque INTEL® ou MOTOROLA®. [0028] La mémoire 12 contient les instructions nécessaires pour l'exécution du procédé de la figure 2. Elle contient également une base de données 14 de contenus multimédias. La base de données 14 contient typiquement plus de 1000 ou 10,000 contenus multimédias différents. Un contenu multimédia est un contenu destiné à être 35 affiché ou joué par une interface homme-machine des terminaux 8. Typiquement, les contenus multimédias appartiennent au groupe composé de : - contenus audio tels que de la musique ou des paroles, - contenus vidéo tel que des films ou des émissions de télévision ou des jeux vidéo, et 40 - contenus textuels tels que des livres. 3046269 8 [0029] Le logiciel de base de données utilisé pour extraire des données de la base de données 14 est par exemple le logiciel MySQL® et le langage utilisé pour produire les pages HTML est par exemple le langage PHP® (Hypertext Preprocessor). [0030] Par la suite, le système 2 est décrit dans le cas particulier où les contenus 5 multimédias sont des contenus audio et plus précisément de la musique associée, par exemple, à des métadonnées. Les métadonnées associées à chaque contenu audio comportent des informations supplémentaires sur la musique comme par exemple, le nom de l'auteur, le genre, le titre de la chanson... etc. [0031] Le réseau 6 est typiquement la toile d'araignée mondiale plus connue sous 10 l'acronyme WEB (Word Wide Web). [0032] Les terminaux 8 sont capables d'interagir avec le serveur 4 pour sélectionner un ou plusieurs contenus audio à écouter. [0033] L'architecture de ces terminaux 8 est bien connue et seule l'architecture d'un de ces terminaux 8 est schématiquement représentée et décrite plus en détail. Les 15 autres terminaux ont une architecture similaire ou identique. [0034] Le terminal 8 comporte une interface homme-machine 20 avec laquelle l'utilisateur du terminal 8 interagit pour sélectionner un contenu audio dans la base de données 14 et, ensuite, l'écouter. [0035] Par exemple, l'interface homme-machine 20 comprend un écran 22, un 20 dispositif de pointage 24, un clavier 26 et un haut-parleur 28. Le dispositif de pointage 24 est typiquement une souris ou un écran tactile. [0036] Le terminal 8 comporte aussi une unité centrale 30 raccordée à l'interface homme-machine 20. Cette unité centrale 30 comporte un microprocesseur 32 programmable et une mémoire 34. Le microprocesseur 32 est programmé pour 25 mettre en oeuvre le procédé de la figure 2. A cet effet, la mémoire 34 comporte les instructions nécessaires à l'exécution du procédé de la figure 2 par le microprocesseur 32. [0037] Typiquement, la mémoire 34 comporte le code d'un navigateur Internet pour afficher et interagir avec les pages HTML téléchargées depuis le serveur 4 à travers 30 le réseau 6. [0038] Le fonctionnement du système 2 va maintenant être décrit plus en détail en référence au procédé de la figure 2. [0039] Initialement, lors d'une étape 38, des contenus audio sont enregistrés dans la base 14. 35 [0040] Par exemple, l'enregistrement et la construction de la base 14 sont réalisés comme décrits dans le document Al. En particulier, à chaque fois qu'un contenu audio est enregistré dans la base 14, des caractéristiques de ce contenu audio sont extraites et associées à ce contenu audio dans la base 14. Par exemple, les caractéristiques suivantes sont extraites et enregistrées dans la base 14 pour chaque contenu audio : 3046269 9 - des caractéristiques représentatives de la puissance de la musique de ce contenu audio (« loudness features » dans A1), - des caractéristiques représentatives du rythme de la musique (« tempo features » dans A1) du contenu audio, 5 - la hauteur du son de la musique du contenu audio (« pitch features » dans A1), - la finesse de la musique du contenu audio (« sharpness features » dans A1), et - des caractéristiques représentatives des percussions dans la musique du contenu audio (« percusivity features » dans A1). [0041] L'extraction de ces caractéristiques est décrite en détail dans Al et n'est donc 10 pas reprise ici. [0042] De préférence, une grande variété de contenus multimédias est enregistrée dans la base de données 14 de sorte que pour chacune de ces caractéristiques extraites, la répartition statistique de cette caractéristique en prenant en compte l'ensemble des contenus audio de la base 14 suit une loi gaussienne. 15 [0043] Lors d'une étape 40, un utilisateur déclenche l'exécution du navigateur Internet sur le terminal 8 et l'adresse du serveur 4 est entrée dans ce navigateur. Le terminal 8 se connecte alors au serveur 4 à travers le réseau 6. [0044] Lors d'une étape 42, en réponse, le serveur 4 génère une page HTML de recherche d'un contenu audio dans la base 14 et la transmet au terminal 8 qui 20 l'affiche sur l'écran 22. [0045] Lors d'une étape 44, la page HTML de recherche permet à l'utilisateur de saisir un ou plusieurs critères de recherche pour sélectionner le contenu audio souhaité. Les critères de recherche saisis sont ensuite transmis et acquis par le serveur 4. 25 [0046] Par exemple, le contenu audio peut être sélectionné à partir du nom du chanteur, du titre de la chanson, ou d'autres critères de recherche. En particulier, l'utilisateur peut aussi sélectionner l'un des trois critères de recherche suivants : « similaire à », « un peu similaire à » ou « différent de ». [0047] Ces trois critères de recherche correspondent, respectivement, aux critères 30 nommés « very similar to », « a little bit like » et « not at all like » du document A1. Comme dans le document A1, ces critères peuvent être combinés ensemble pour former une requête plus complexe. [0048] Les traitements par le serveur 4 des critères « similaire à » et « différent de » sont, par exemple, identiques à ceux décrits dans le document A1. La description de 35 ces traitements n'est donc pas reprise ici. Par la suite, parce qu'il diffère significativement du traitement décrit dans le document A1, seul le traitement du critère « un peu similaire à » est décrit plus en détail en référence à la figure 3. [0049] Ensuite, lors d'une étape 46, le serveur 4 recherche dans la base 14 le ou les contenus audio qui satisfont aux différents critères de recherche acquis et transmis 40 lors de l'étape 44. En réponse, lors de cette étape 46, il renvoie au terminal 8 une 3046269 10 page HTML contenant la liste des contenus audio trouvés. Cette liste contient donc les contenus audio automatiquement sélectionnés par le serveur 4 en réponse aux critères de recherche acquis. [0050] Ensuite, lors d'une étape 48, l'utilisateur sélectionne le contenu audio qu'il 5 souhaite écouter dans la liste reçue à l'étape 46. Par exemple, il clique sur le contenu audio de cette liste qu'il souhaite écouter. [0051] Lors d'une étape 50, en réponse à cette sélection, le terminal 8 télécharge depuis le serveur 4 le contenu audio sélectionné puis le joue à l'aide du haut-parleur 28. 10 [0052] Les traitements mis en oeuvre par le serveur 4 lors de l'exécution de l'étape 46 de recherche vont maintenant être décrits plus en détail en référence au procédé de la figure 3. [0053] Plus précisément, on suppose ici que lors de l'étape 44, l'utilisateur a sélectionné le critère de recherche « un peu similaire à» et l'identifiant d'un contenu 15 audio Cu. Le contenu audio Cu est par exemple sélectionné par l'utilisateur, au préalable, à partir de son titre et du nom du chanteur ou par tout autre moyen possible. En réponse à l'acquisition de ces critères de recherche, le microprocesseur 10 doit automatiquement sélectionner les contenus audio de la base 14 un peu similaires au contenu audio Cu. 20 [0054] Pour commencer, lors d'une opération 60, le microprocesseur 10 calcule les distances tu, entre le contenu audio Cu correspondant à l'identifiant acquis lors de l'étape 44 et chacun des contenus audio C, de la base 14. La distance tu, est d'autant plus grande que la différence entre le contenu audio Cu et le contenu C, est grande. Autrement dit, cette distance tu, est d'autant plus grande que la différence entre les 25 contenus audio Cu et C, est grande. Par exemple, chacune des distances tu, est calculée comme décrit pour la distance D dans le document Al (voir en particulier la figure 17 et les passages de la colonne 12, lignes 1 à 16, et de la colonne 13, lignes 16, à la colonne 14, ligne 26, de Al). Comme indiqué dans Al, pour calculer la distance tu,, il est possible d'utiliser soit la méthode des différences entre 30 histogrammes (« histogram difference » dans Al) ou la méthode de comparaison des moments (« comparison of moments » dans Al). Ici, l'une ou l'autre de ces méthodes est utilisée. Notons que quelle que soit la mesure de distance employée, la distribution statistique de ces distances calculées suit une loi normale ou est considérée comme étant proche d'une loi normale. 35 [0055] Ensuite, le microprocesseur 10 choisit automatiquement des bornes t1 et t2 utilisées par la suite pour sélectionner automatiquement les contenus audio C, de la base 14 un peu similaires au contenu audio Cu. [0056] Pour cela, lors d'une opération 62, le microprocesseur 10 calcule l'écart type o- de la distribution statistique des distances tu, calculées à l'étape 60. Par exemple, 40 l'écart type 6 est calculé à l'aide de la relation suivante 30462 6 9 11 = où . - n est le nombre total de distances tu, calculées lors de l'étape 60, et - tm est la moyenne des distances tu, calculées lors de l'étape 60. [0057] Typiquement, la moyenne tm est calculée à l'aide de la relation suivante : ur 5 [0058] Lors d'une étape 64, une valeur positive ts pour laquelle une fonction Y atteint un maximum 11-)(ts) est calculée par le microprocesseur 10. Ici, la fonction Y est l'inverse de l'ondelette de Ricker (« Ricker wavelet » en anglais). L'ondelette de Ricker est également connue sous l'expression de « ondelette chapeau mexicain ». La fonction Y est donc définie par la relation suivante : 10 [0059] La partie positive de cette fonction Y est représentée sur la figure 4. [0060] Ensuite, lors d'une opération 66, le microprocesseur 10 sélectionne automatiquement des valeurs \in', et Vmax. La valeur Vmin est une valeur comprise entre o- et ts. La valeur Vmax est une valeur strictement supérieure à ts et comprise entre ts et 2t,_ o-. Dans ce premier mode de réalisation, les valeurs Vmin et Vmax sont 15 en plus sélectionnées de manière à ce que 1P(Vm,n) et 1P(Vmax) soient systématiquement compris entre 0,5 x 1P(ts) et 2/3 x 1P(ts). A cet effet, dans ce mode de réalisation, les valeurs Vmin et V. sont calculées à l'aide des relations suivantes : Vmin = ts - a x o- et Vmax = ts - [3 x a, où a et (3 sont des constantes prédéterminées, chacune comprise entre 0,5 et 1,5. Dans toute cette demande, le symbole « x » 20 désigne l'opération de multiplication de deux nombres scalaires. De préférence, les constantes a et [3 sont égales. Ici, les constantes a et [3 sont égales à 1 à plus ou moins 30 % ou à plus ou moins 10 % près. Par la suite, les constantes a et (3 sont prises égales à 1 dans cet exemple. Les valeurs Vmin et V. sélectionnées lors de cette opération sont représentées sur la figure 4. 25 [0061] Lors d'une opération 68, le microprocesseur 10 affecte les valeurs Vmin et Vmax précédemment sélectionnées respectivement aux bornes t1 et t2. [0062] Enfin, lors d'une opération 70, le microprocesseur 10 sélectionne dans la base 14 tous les contenus audio pour lesquels la distance tui calculée lors de l'étape 3046269 12 60 est comprise entre les bornes t1 et t2. Seuls les contenus audio ainsi sélectionnés sont incorporés à la liste renvoyée au terminal 8 à l'issue de l'étape 46. En effet, seuls ces contenus audio sont considérés comme étant un peu similaires au contenu audio Cu. 5 [0063] De nombreuses autres modes de réalisation sont possibles. Par exemple, d'autres méthodes pour calculer la distance tu, entre deux contenus audio existent. A titre d'illustration, les méthodes décrites dans les documents suivants peuvent aussi être utilisées pour calculer la distance tu, : - une méthode basée sur une décomposition en ondelette comme cela est décrit dans 10 la demande W02002029610, - la méthode divulguée dans la demande US5918223, ou - la méthode divulguée dans l'article de Jonathan T. Footes et al, « Content-based retrieval of music and audio » Multimedia storage and archiving systems II, Proc. of SPIE, page 138-147, 1997. 15 [0064] Les méthodes de calcul de la distance tu, décrites jusqu'à présent sont particulièrement adaptées aux contenus audio. Dans le cas où la base de données 14 contient des contenus vidéo d'autres méthodes sont plus adaptées. Par exemple, dans le cas des contenus vidéo, l'une des méthodes décrites dans les articles suivants peut être utilisée pour calculer la distance tu, : 20 - Sen-ching S. Cheung and Avideh Zakhor. "EFFICIENT VIDEO SIMILARITY MEASUREMENT AND SEARCH" In Proceedings of the 7th IEEE International Conference on Image Processing, pages 85-88, Vancouver, British Columbia. September 2000. - M. M. Yeung, Bede Liu. "Efficient matching and clustering of video shots". In 25 Proceedings of the International Conference on Image Processing (Volume 1). pp. 338-341. 1995. [0065] Dans le cas où les contenus multimédias sont des images, les distances tu, sont calculées, par exemple, à l'aide de la méthode décrite dans l'article suivant : Lei Wu, Xian-sheng Hua, Nenghai Yu, Wei-ying Ma, Shipeng Li. Flickr distance In ACM 30 Multimedia Conference. pp. 31-40. 2008. [0066] Si les contenus multimédias enregistrés dans la base de données 14 sont des contenus textuels, alors, l'une des méthodes décrites dans les articles suivants est de préférence utilisée pour calculer la distance tu, : - Wael H. Gomaa, Aly A. Fahmy. "A Survey of Text Similarity Approaches". 35 International Journal of Computer Applications. Vol.68- No.13, 2013. - Buttler, David. "A short survey of document structure similarity algorithms." International Conference on Internet Computing. 2004. - G. Kondrak, "N-Gram Similarity and Distance". SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval, pp. 115-126 40 (2005). 3046269 13 [0067] Si les contenus multimédias sont des fichiers codants des objets en 3D (trois dimensions), alors l'une des méthodes décrites dans les articles suivants est de préférence utilisée pour calculer la distance tu, : - Benjamin Bustos, Daniel A. Keim, Dietmar Saupe, Tobias Schreck, Dejan V. Vranie. 5 "Feature-based similarity search in 3D object databases". In ACM Computer Survey. pp. 345-387. Vol.37, 2005 - Thomas Funkhouser, Patrick Min, Michael Kazhdan, Joyce Chen, Alex Halderman, David Dobkin, David Jacobs. "A search engine for 3D models" In ACM Transactions on Graphics. pp. 83-105. Vol.22. 2003. 10 [0068] Si les contenus multimédias sont des contenus multimédias complexes, c'est-à-dire qu'ils se composent chacun d'une combinaison de plusieurs composants multimédias choisis chacun, par exemple, dans le groupe composé d'une image, d'une vidéo, d'un texte, de l'audio et d'un fichier codant un objet 3D, alors l'une des méthodes décrites dans les articles suivants est de préférence utilisée pour calculer 15 la distance tu, : -Tao Mei, Yong Rui, Shipeng Li, and Qi Tian, Multimedia Search Reranking: « A Literature Survey », in ACM Computing Surveys, 2014, - Shih-Fu Chang, Qian Huang, Thomas Huang, Atul Puri, and Behzad Shahraray. "Multimedia Search and Retrieval" In Advances in Multimedia: Systems, Standards, 20 and Networks, A. Puri and T. Chen (eds.). New York: Marcel Dekker, 1999. [0069] La distance utilisée peut aussi être obtenue en combinant plusieurs distances intermédiaires calculées selon des algorithmes différents entre le contenu Cu et les autres contenus de la base de données. Par exemple, si les contenus multimédias de la base de données sont des contenus multimédias complexes, une distance 25 intermédiaire peut être calculée pour chacun des composants multimédias de ce contenu multimédia. Ensuite, la distance est, par exemple, le résultat d'une somme pondérée de ces distances intermédiaires. [0070] Dans d'autres modes de réalisation, à la place d'utiliser exactement la fonction on utilise une approximation de la fonction Mi. Par exemple, l'ondelette de 30 Ricker peut être est approximée par une différence de gaussienne appelée « DoG ». La différence de gaussienne DoG est typiquement définie par la relation suivante : , 1 tm)2 1 -(tw- XDOG -e p x,-e p( 2c 2 a2V2n 202 où : - 61 et 62 sont des écarts types, respectivement, d'une courbe gaussienne étroite et d'une courbe gaussienne large de sorte que 62 est strictement supérieure à ai, et 35 - « exp » désigne la fonction exponentielle. 3046269 14 [0071] L'approximation de la fonction par l'inverse de la différence de gaussienne DoG facilite et accélère les calculs. [0072] L'ondelette de Ricker peut aussi être approximée par la dérivée d'une fonction « cardinale B. Spline ». Dès lors, la fonction peut aussi être approximée 5 par l'inverse de cette fonction « cardinale B. Spline ». [0073] Une autre approximation connue et utilisable de la fonction 4P est définie par la relation suivante : [0074] [0075] L'utilisation de telles approximations de la fonction 4P donne des résultats très 10 proches de ceux obtenus en utilisant directement la fonction précédemment décrite. Typiquement, les valeurs Vmin et V'max obtenues en utilisant de telles approximations de la fonction sont égales respectivement, aux valeurs Vmin et Vmax à plus ou moins 10 % ou 5 % près. [0076] Il existe de nombreuses autres méthodes qui permettent de calculer 15 automatiquement et systématiquement deux valeurs positives Vmin et Vmax tel que Vmin est compris entre o- et ts et Vmax est compris entre entre ts et 2ts - o-. Par exemple, le microprocesseur 10 calcule automatiquement les deux valeurs positives Vmin et Vmax qui sont la solution de l'équation suivante : 1P(tu,) = p1P(ts), où p est une constante prédéterminée comprise entre 0,5 et 2/3. Par exemple, p est égale à 0,58 à plus ou 20 moins 10 % près ou 5 % près. Dans ce mode de réalisation, le microprocesseur 10 n'a pas besoin de calculer la valeur ts. Il suffit simplement qu'il puisse calculer le maximum 1P(ts) pour pouvoir calculer les valeurs Vmin et Vmax. [0077] Dans un autre mode de réalisation, pour trouver la valeur Vmin, le microprocesseur 10 peut aussi résoudre l'équation suivante (tu) = piY(ts), où pl est 25 une constante comprise entre 0,5 et 2/3. Ensuite, pour déterminer la valeur Vmax, le microprocesseur 10 résout l'équation suivante 1P(tui) = p24'(ts), où 132 est une constante comprise entre 0,5 et 2/3 et différente de la constante p,. [0078] Il peut aussi calculer la valeur Vmax directement à partir de la valeur Vmin. Par exemple, le microprocesseur 10 calcule la valeur Vmax à l'aide de la relation suivante 30 Vmax = Vmin + 2 ao-, où a est une constante comprise entre 0,5 et 1,5. [0079] Dans un autre mode de réalisation simplifié, les valeurs Vmin et Vmax sont calculées à l'aide des relations suivantes : Vmin = o- et Vmax = 2ts_ G. [0080] Le choix automatique des valeurs Vmin et Vmax peut aussi tenir compte d'un nombre n prédéterminé de contenus multimédias un peu similaires à sélectionner. 35 Par exemple, ce nombre n est une constante fixée une fois pour toute. Le nombre n 3046269 15 peut aussi être modifié par l'utilisateur avant de lancer sa recherche. Enfin, le nombre n peut être automatiquement adapté en fonction de l'utilisation qui sera faite par l'utilisateur des contenus multimédias un peu similaires à sélectionner. Par exemple, le serveur 4 affecte un faible valeur au nombre n, c'est-à-dire par exemple une valeur 5 inférieure à dix ou quinze, si les contenus multimédias à sélectionner sont destinés à être écoutés par l'utilisateur. Par contre, si les contenus multimédias un peu similaires sont destinés à peupler une liste de contenus multimédias favoris, le nombre n est automatiquement choisi plus grand, par exemple supérieur à vingt. [0081] Ensuite, le serveur 4 tient compte de ce nombre n lors de la sélection des 10 valeurs Vmin et Vmax. Par exemple, le serveur 4 calcule la valeur ts. Ensuite, il identifie la plus petite distance tuimin calculée à l'étape 60 qui est séparée de la valeur ts par n/2 distances tu,. De même, il identifie la plus grande distance tuimax calculée à l'étape 60 qui est séparée de la valeur ts par n/2 distances tu,. Par exemple, le serveur 4 classe par ordre croissant les distances tu, calculées à l'étape 60 puis compte, à partir de la 15 valeur ts et en allant vers zéro, n/2 distances tu,. La valeur Vmin est alors choisie égale à la n/2-ième distances ainsi comptées si celle-ci est plus grande que l'écart type o-. Dans le cas contraire, la valeur Vmin est choisie égale à l'écart type o-. [0082] Le serveur 4 procède de-même pour la valeur Vmax sauf que cette fois-ci il compte les n/2 distances tu, en sens inverse, c'est-à-dire en partant de la valeur ts 20 mais en s'éloignant de zéro. [0083] Lors de l'affectation des valeurs Vmin et Vmax aux bornes t1 et t2, les valeurs Vmin et Vmax peuvent être arrondies. Toutefois, cela n'affecte que très légèrement les valeurs des bornes t1 et t2, c'est-à-dire que les valeurs des bornes t1 et t2 sont égales, respectivement, aux valeurs Vmin et Vmax à plus ou moins 5 % près ou plus ou moins 25 2 % près. [0084] La base de données 14 n'est pas nécessairement contenue dans le serveur 4. Par exemple, elle peut être délocalisée ou répartie dans une multitude de sites différents et géographiquement éloignés les uns des autres. Par exemple, dans un cas particulier, la base de données 14 comprend de multiples serveurs Web 30 contenant chacun une partie des contenues multimédias susceptibles d'être sélectionnés. Dans ce cas, le logiciel de base de données est par exemple un moteur de recherche de contenus multimédias sur le Web. [0085] Il existe également de nombreux modes de réalisation différents du logiciel de base de données. Par exemple, si la base de données comprend une multitude de 35 fichiers, le logiciel de base de données peut prendre la forme d'un système de gestion de fichiers. 3046269 16 [0086] Dans une variante, le contenu multimédia Cu n'est pas choisi par l'utilisateur mais automatiquement choisi. Par exemple, le serveur 4 choisit automatiquement en tant que contenu multimédia Cu, le dernier contenu multimédia téléchargé ou joué par le terminal de l'utilisateur. 5 [0087] Les différentes fonctions décrites comme étant réalisées par le serveur 4 peuvent être implémentées et exécutées sur différents ordinateurs qui coopèrent et communiquent entre eux. Dans ce cas, le serveur 4 est formé de cet ensemble d'ordinateurs qui coopèrent et communiquent entre eux. REVENDICATIONS1. Procédé de sélection automatique d'un contenu multimédia dans une base de données contenant une multitude de contenus multimédias C,, ce procédé 5 comportant : a) l'acquisition (44) par un serveur électronique d'un identifiant d'un contenu multimédia Cu, b) le calcul (60), par le serveur électronique, d'une distance tu, entre le contenu multimédia Cu correspondant à l'identifiant acquis lors de l'étape a) et chaque contenu 10 multimédia C, contenu dans la base de données, c) le choix automatique, par le serveur électronique, d'une borne inférieure t1 et d'une borne supérieure t2, et d) la sélection (70) automatique, par le serveur électronique, de chaque contenu multimédia C, pour lequel la distance tu, calculée lors de l'étape b) est comprise entre 15 les bornes inférieure t1 et supérieure t2 choisies lors de l'étape c), caractérisé en ce que l'étape c) comporte: - le calcul (62) de l'écart type o- de la distribution des distances tu, calculées lors de l'étape b), et - la sélection (66) automatique d'une valeur Vmin systématiquement comprise entre 620 et une valeur ts, et d'une valeur Vmax systématiquement comprise entre ts et 2ts - a, la valeur ts étant la valeur positive pour laquelle la fonction 1I définie par la relation suivante est maximale : - l'affectation (68) des valeurs Vmin et Vmax automatiquement sélectionnées, respectivement, aux bornes t1 et t2 pour la réalisation de l'étape d). 25 2. Procédé selon la revendication 1, dans lequel l'étape c) comporte : - le calcul (64) de la valeur ts, et - le calcul (66) des valeurs Vmin et Vmax à l'aide des relations suivantes : Vmin = ts - a630 et Vmax = ts + [36, où a et p sont des constantes comprises entre 0,5 et 1,5. 3. Procédé selon la revendication 2, dans lequel les constantes a et p sont égales. 3046269 18 4. Procédé selon la revendication 3, dans lequel les constantes a et [3 sont égales à un à plus ou moins 5 % près. 5. Procédé selon la revendication 1, dans lequel l'étape c) comporte le calcul des 5 valeurs V. et Vmax en résolvant l'équation suivante : 1P(Vm,u) = 1P(Vm') = p x 1P(ts), où p est une constante prédéterminée comprise entre 0,5 et 2/3. 6. Procédé selon la revendication 1, dans lequel l'étape c) comporte le calcul des valeurs Vmin et Vmax à l'aide des relations suivantes : Vmin = o- et Vmax = 2ts_ G. 10 7. Procédé selon la revendication 1, dans lequel l'étape c) comporte : - l'acquisition d'un nombre n de contenus multimédias à sélectionner automatiquement, - le calcul (64) de la valeur ts, 15 - l'identification de la plus petite distance tu, calculée à l'étape b) qui est séparée de la valeur ts par n/2 distances tut, cette distance étant notée tuimin, - l'identification de la plus grande distance tu, calculée à l'étape b) qui est séparée de la valeur ts par n/2 distances tui, cette distance étant notée tuimax, - le calcul des valeurs Vmin et Vmax à l'aide des relations suivantes : Vmin = Max{o- ; 20 tuimin} et Vmax = Minets _ o- ; tuimax}, où Min{...} et Max{...} sont les fonctions qui retournent, respectivement, le plus petit et le plus grand des éléments contenus entre les accolades. 25 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel plus la distance tui entre les contenus multimédias Cu et C, est grande, plus les contenus multimédias sont considérés comme différents, et chaque contenu multimédia C, pour lequel la distance tui calculée lors de l'étape b) est comprise entre les bornes inférieure t1 et supérieure t2, est sélectionné en tant que contenu 30 multimédia un peu similaire au contenu multimédia Cu. 9. Support (12) d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre d'un procédé conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un 35 microprocesseur (10). 10. Serveur pour la mise en oeuvre d'un procédé conforme à l'une quelconque des revendications 1 à 8, dans lequel ce serveur comporte : 3046269 19 - un microprocesseur programmable (10), et - une mémoire (12) dans laquelle est enregistrée une base de données (14) contenant des contenus multimédias C,, le microprocesseur (10) étant programmé pour exécuter les étapes suivantes : a) acquérir un identifiant d'un contenu multimédia Cu, b) calculer une distance tu, entre le contenu multimédia Cu correspondant à l'identifiant acquis lors de l'étape a) et chaque contenu multimédia C, contenu dans la base de données, c) choisir automatiquement une borne inférieure t1 et une borne supérieure t2, et d) sélectionner automatiquement chaque contenu multimédia C, pour lequel la distance tu, calculée lors de l'étape b) est comprise entre les bornes inférieure t1 et supérieure t2 choisies lors de l'étape c), caractérisé en ce que le microprocesseur (10) est également programmé pour, lors de l'exécution de l'étape c) : - calculer l'écart type o- de la distribution des distances tu, calculées lors de l'étape b), et - sélectionner automatiquement une valeur Vmin systématiquement comprise entre o-et une valeur ts, et une valeur Vmax systématiquement comprise entre ts et 2t, - o-, la valeur ts étant la valeur positive pour laquelle la fonction définie par la relation suivante est maximale: - affecter les valeurs Vmin et Vmax automatiquement sélectionnées, respectivement, aux bornes t1 et t2 pour la réalisation de l'étape d).