Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).

 
CONTINUER À LIRE
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Université de Mons
                      Faculté des Sciences
                     Institut d’Informatique

Développement d’outils de navigation hypermedia
   (sons) pour dispositifs mobiles (Android).

    Mémoire réalisé par Daniel DZIAMSKI en vue de l’obtention
   du grade de Master en Sciences Informatiques finalité spécialisée

                  Directeur : Mr Stéphane DUPONT

                    Année académique 2010-2011
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
i
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Remerciements

     En préambule de ce mémoire, je souhaite adresser mes remerciements les plus sincères aux
personnes qui m’ont apporté leur aide et qui ont contribué à l’élaboration de ce travail.

     Je tiens tout d’abord à remercier Monsieur Stéphane Dupont, mon Directeur de mémoire,
pour m’avoir permis de réaliser ce travail et pour sa disponibilité tout au long de cette année.

       Je remercie également Messieurs Xavier Siebert et Christian Frisson, ainsi que mes Rappor-
teurs, pour les nombreux conseils avisés dont ils m’ont fait part et l’aide précieuse qu’ils m’ont
apportée.

                                                ii
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Table des matières

1   Introduction                                                                                                                                            1

2   Etat de l’art                                                                                                                                          3
    2.1 Technologies mobiles . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
         2.1.1 Téléphonie mobile . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
         2.1.2 Tablette PC . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   4
    2.2 Types de médias . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   5
         2.2.1 Média . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   5
         2.2.2 Multimédia . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   5
         2.2.3 Hypermédia . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   6
         2.2.4 Rich média . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
    2.3 Solutions existantes . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
         2.3.1 Shazam . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
         2.3.2 Midomi-SoundHound           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
    2.4 MediaCycle . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   9
    2.5 Les apports du mémoire . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   9

3   Fingerprinting                                                                                                                                         10
    3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
    3.2 Concepts et définition . . . . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
         3.2.1 Définition . . . . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
         3.2.2 Caractéristiques . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
         3.2.3 Représentation de l’audio en images . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
    3.3 Extraction d’empreinte . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
         3.3.1 Introduction . . . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
         3.3.2 Extraction d’empreintes . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
    3.4 Recherche et correspondance dans une base de données                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   26
         3.4.1 LookUp table . . . . . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
         3.4.2 Hachage . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   28
         3.4.3 Locality Sensitive Hashing (LSH) . . . . . . .                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   31
         3.4.4 Min-Hash . . . . . . . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   31
         3.4.5 Motivation de nos choix . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
    3.5 Protocole expérimental . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
         3.5.1 Mise en place du protocole . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
         3.5.2 Implémentation du prototype . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
         3.5.3 Résultats obtenus avec le prototype . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40

                                                       iii
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
4   Présentation de l’application                                                                                                    47
    4.1 Android . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   47
    4.2 Protocole REST . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49
         4.2.1 REST . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49
         4.2.2 Avantages et inconvénients de REST . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
    4.3 Base de données SQLite . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
         4.3.1 SQLite pour Android . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
    4.4 Serveur Apache . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
         4.4.1 Apache . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
    4.5 Base de données du serveur et de MediaCycle . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
    4.6 MediaCycle-AudioCycle . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.6.1 MediaCycle . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.6.2 AudioCycle . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
         4.6.3 Visualisation . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   56
    4.7 Présentation des différents modules de l’application     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
         4.7.1 Interface d’accueil . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
         4.7.2 Informations de l’application . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
         4.7.3 Enregistrer un son . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   60
         4.7.4 Tagging et géolocalisation . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   61
         4.7.5 Lister les sons . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   62
         4.7.6 Envoyer des données . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
         4.7.7 Visualiser les clusters . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69

5   Conclusion                                                                                                                       71

Annexes                                                                                                                              77

A HashTable et HashList                                                                                                              77

B Commandes SoX                                                                                                                      80

C Utilisation du prototype de recherche d’empreintes                                                                                 82
  C.1 Interface d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                        82
  C.2 Traitement des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                         83
  C.3 Recherche d’empreintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                         84

D Différents résultats obtenus grâce au prototype                                                                                    86

                                                iv
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Chapitre 1

Introduction

      Le contenu de ce rapport est ciblé sur le processus d’extraction d’empreinte et l’analyse des
algorithmes de recherche de correspondance dans une base de données. Ce document est réalisé
en suivant plusieurs objectifs. D’une part, il a pour but d’expliquer les différentes phases du pro-
cessus d’extraction et d’étudier l’efficacité des différents algorithmes de recherche. D’autre part, il
présente le développement d’un prototype de recherche d’empreinte basé sur ces théories et l’im-
plémentation d’une application Android fonctionnant à partir de ces éléments.

       Le laboratoire de Théorie des Circuits et Traitement du Signal (TCTS) a développé un logi-
ciel d’analyse de données multimédias appelé MediaCycle. Ces données peuvent par exemple être
des sons, des images ou encore des vidéos. Le fonctionnement de MediaCycle et les résultats que
l’on obtient grâce à son utilisation sont présentés de façon détaillée dans la suite de ce rapport. La
volonté du TCTS est de pouvoir profiter des fonctionnalités de ce logiciel au travers de nouveaux
terminaux mobiles s’exécutant sous Android.

       L’idée est d’exploiter au maximum les équipements des smartphones et tablettes interactives.
Ceux-ci, étant munis de nombreux senseurs (GPS, audio, vidéo, ...) et de possibilités d’actions mul-
titactiles, offrent un potentiel important pour le développement d’applications pervasives. Grâce à
l’utilisation de ces outils et des multiples fonctionnalités qu’ils offrent, il est possible aujourd’hui
de lier plus aisément le monde réel au contenu numérique présent sur internet. Le but est de déve-
lopper un système qui tire parti de ces senseurs et qui permet de rechercher des éléments multimé-
dias dans une base de données par l’intermédiaire de MediaCycle.

       Les objectifs principaux du mémoire sont donc dans un premier temps : se focaliser sur une
composante des algorithmes de recherche par similarité et fingerprinting, le hachage perceptuel. Le
but est d’étudier l’impact du hachage sur la vitesse et la qualité de la recherche, ainsi que l’impact
perturbateur du bruit sur le "hash code" obtenu. Dans un second temps, nous développons une ap-
plication fonctionnant sous Android. Celle-ci permet d’exploiter les fonctionnalités et les résultats
de MediaCycle sur les différentes surfaces tactiles, gsm ou tablette. L’application a pour utilité de
traiter des données audio dans le but de trouver des éléments sonores ayant des caractéristiques
similaires.

      A la fin de son développement, l’application est évaluée et testée. Si les résultats obtenus
sont convaincants, l’application peut éventuellement trouver sa place sur l’Android Market 1 et être
disponible gratuitement pour les utilisateurs désirant l’acquérir. Le souhait est d’offrir un logiciel
     1. https://market.android.com/

                                                   1
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
libre, gratuit, mais aussi innovant afin de concurrencer les différentes applications similaires qui
sont déjà présentes sur le marché.

      La suite de ce document est organisée comme suit.

       Au chapitre 2, nous présentons une description de l’état de l’art. Nous y abordons notamment
les différentes technologies mobiles qui regroupent principalement la téléphonie mobile et les ta-
blettes PC. Nous donnons également un rappel sur les types de médias qui existent dans le monde
actuel. Enfin, nous y présentons les solutions qui réalisent un travail similaire à l’application que
nous développons et les apports de ce mémoire par rapport à ces solutions.

       Au chapitre 3, nous nous focalisons sur le hachage perceptuel qui est une composante des al-
gorithmes de recherche par similarité et fingerprinting. On y énonce une définition de fingerprinting
et les concepts qui lui sont liés. Par la suite, nous expliquons en détails les différentes phases qui
constituent le processus d’extraction d’empreinte. L’analyse des algorithmes de recherche de cor-
respondance dans une base de données permet de clôturer ces éléments théoriques. Nous concluons
ce chapitre, en exposant le protocole expérimental mis en place. Nous y présentons le prototype
que nous avons développé et les résultats que nous avons obtenus à partir de celui-ci.

       Le chapitre 4 est consacré à l’implémentation de l’application Android. Nous y présentons
dans un premier temps les différents éléments nécessaires au bon fonctionnement de l’application.
Il s’agit tout d’abord du protocole REST. Ensuite, nous expliquons le serveur Apache et la base de
données que nous utilisons. Enfin, nous exposons de façon avancée le fonctionnement de Media-
Cycle. La suite du chapitre est dédiée à la présentation et à l’explication de l’ensemble des modules
qui composent l’application Android que nous avons développée.

      Enfin, nous clôturons ce rapport par une conclusion dans laquelle nous rappelons l’essentiel
du travail accompli et les résultats obtenus. Nous y présentons également les perspectives futures.

                                                  2
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Chapitre 2

Etat de l’art

      Dans ce chapitre, nous faisons tout d’abord le point sur les différentes technologies mobiles
qui existent et avec lesquelles nous travaillons afin de réaliser ce mémoire. Nous parlons ensuite des
données que nous traitons. Celles-ci peuvent être de différents types (multimédia, hypermédia, ...).
Au cours de la réalisation de ce mémoire, nous nous appuyons également sur un logiciel existant :
MediaCycle. Nous allons expliquer de façon brève et claire en quoi il consiste. Celui-ci est détaillé
de manière beaucoup plus précise dans la Section 4.6. Pour terminer, nous parlons des solutions
et des applications qui existent déjà sur le marché, ainsi que des apports supplémentaires que ce
mémoire peut offrir en comparaison à ces applications.

2.1      Technologies mobiles
       Selon les articles publiés par le CNUCED 1 [10] et le Forum du Commerce International [23],
les technologies mobiles changent le monde plus rapidement et plus profondément que toute autre
innovation. Les tendances observées durant l’année précédente, montrent une croissance rapide et
continue de l’utilisation de ces technologies. Aujourd’hui, elles sont devenues la principale forme
de connectivité et d’accès aux TIC 2 . A l’heure actuelle, nous pouvons les distinguer suivant deux
grandes catégories : la téléphonie mobile qui est présente depuis de nombreuses années et les
tablettes qui envahissent les marchés.

2.1.1     Téléphonie mobile
       La téléphonie mobile, comme son nom l’indique, est un moyen de communication par télé-
phone sans fil. Elle fut inventée dans les années 40 par le docteur Martin Cooper [43], Directeur
de la recherche et du développement chez Motorola. Cependant, il faut attendre l’année 1983 pour
voir le premier téléphone mobile commercialisé par cette même marque.

       Ce moyen de communication s’est largement répandu à la fin des années 90, grâce aux amé-
liorations des composants électroniques et notamment leur miniaturisation. Bien que sa fonction
d’usage soit la communication vocale, cette évolution permet alors aux téléphones d’acquérir des
fonctions plus évoluées tels que l’appareil photo, le Web, le GPS, ... On parle alors de smartphone.
Ces appareils font désormais logiquement partie de notre quotidien.

      1. Conférence des Nations Unies sur le Commerce et le Développement
      2. Technologies d’information et de communication

                                                      3
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
Grâce aux informations annoncées par le CNUCED [10], nous pouvons résumer l’utilisation des
téléphones mobiles en quelques chiffres par :

      • Huit fois plus de téléphones mobiles que de lignes fixes.
      • Trois fois plus de téléphones mobiles que d’ordinateurs personnels.
      • Près de deux fois plus de téléphones mobiles que de téléviseurs.

2.1.2    Tablette PC
     La dénomination de tablette PC [42] sert en général à désigner un ordinateur mobile de la
forme d’une ardoise. Celui-ci est équipé d’un écran tactile et ne possède pas de clavier physique.

      Ce terme a été rendu populaire grâce à un produit mis sur le marché en 2001 par Microsoft,
un stylo-ordinateur. Celui-ci a tiré avantage des évolutions technologiques pour remettre au goût
du jour un concept existant depuis de nombreuses années via Apple et Atari. Différent des PDA
par la taille et des tablettes graphiques par son côté "PC", il n’arrive cependant pas à s’imposer,
jusqu’en 2010 et l’arrivée de l’iPad.

      L’iPad d’Apple a eu pour effet de revigorer le marché de la tablette PC. Dès lors, une guerre
entre les différentes grandes marques du monde informatique a été déclenchée afin de conquérir
ce nouveau domaine. Parmi celles-ci, nous pouvons citer comme étant le principal concurrent de
l’iPad, le Samsung Galaxy Tab sous Android.

Volume des ventes de tablettes en 2010 :

      Selon Strategy Analytics [24], le volume des ventes de tablettes pour l’année 2010 s’élève à
17, 6 millions d’unités, dont 14, 8 millions sont à mettre à l’actif de l’iPad. Cela représente 84% du
marché. Avec 2, 1 millions de tablettes vendues au cours du dernier trimestre 2010 (T4), le Galaxy
Tab semble offrir une alternative crédible à l’iPad. Cependant, toujours d’après Strategy Analytics,
Apple devrait conserver plus de 70% du marché des tablettes en 2011 grâce au lancement de sa
nouvelle perle : l’iPad2. On estime les ventes de tablettes à 55 millions en 2011 dont 40 millions
pour Apple. Les Figures 2.1 et 2.2 montrent le résultat des ventes en 2010.

F IGURE 2.1 – Nombre, en million d’unités, de tablettes vendues au cours du 3ème et 4ème trimestres
de 2010 (respectivement T3 et T4) ainsi que sur l’ensemble de l’année écoulée [24].

                                                  4
Développement d'outils de navigation hypermedia (sons) pour dispositifs mobiles (Android).
F IGURE 2.2 – Pourcentage des ventes au cours du 3ème et 4ème trimestres de 2010 (respectivement
T3 et T4) ainsi que sur l’ensemble de l’année écoulée [24]

2.2     Types de médias
      Dans le Chapitre 1, nous avons affirmé que le logiciel MediaCycle pouvait travailler sur
diverses données multimédias. Dans cette section, nous donnons une définition de ce que représente
un média dans le monde d’aujourd’hui. En réalité, il existe des données multimédias, hypermédias
et des rich médias. Nous allons définir ces trois types de données et voir les différences qui existent
entre eux.

2.2.1    Média
       De façon générale en 2.2.1, nous allons définir ce qu’est un média. Grâce à cela, il sera plus
facile de comprendre les différents éléments mentionnés ci-dessus.

Définition 2.2.1. Un média [35] correspond à un moyen impersonnel de diffusion d’informations.
Il est utilisé pour communiquer avec un grand nombre d’individus. Cependant, aucune personna-
lisation du message ou du contenu n’est possible, on parle alors parfois de médias de masse.

      Les médias sont devenus un moyen de communication extrêmement important dans la société
contemporaine. Ils sont, par exemple, le fondement du marketing et de la publicité. Actuellement,
les sept principaux médias sont le langage, la presse, l’affichage, le cinéma, la radio, la télévision
et dernièrement Internet mais il en existe beaucoup d’autres. Les trois premiers représentent des
moyens de diffusion naturels, tandis que les autres sont des moyens de diffusion techniques.

2.2.2    Multimédia
       Le terme multimédia [36] a fait son apparition vers la fin des années 1980 avec la popu-
larisation des CD-ROM et des bornes interactives. Il servait alors à désigner les applications qui
mélangeaient différents médias simultanément tels que le son, la musique, l’image ou la vidéo.
Cela était désormais possible grâce à la capacité de stockage des CD-ROM et aux performances
grandissantes des ordinateurs.

      Cependant, il faut attendre la fin des années 90 avec l’arrivée des méthodes de compression
audio et vidéo, liée à une croissance significative du nombre et de la puissance des ordinateurs,
pour obtenir une qualité semblable aux divers autres médias réunis. Aujourd’hui, le multimédia est
considéré comme la convergence de médias textuels, d’images, de vidéos et de sons dans un seul
et même élément.

      D’un point de vue informatique, une donnée multimédia fait appel à deux techniques proches,
l’hypertexte et l’hypermédia. L’hypertexte consiste à lier un ensemble de fichiers par un réseau de

                                                  5
relations non séquentiel. Grâce à ce réseau de liens, l’utilisateur peut naviguer parmi les différents
sujets sans se soucier de l’ordre dans lequel ils sont rangés. On parle de navigation non-linéaire,
contrairement à un fichier vidéo qui offre un contenu linéaire.

2.2.3    Hypermédia
      Un hypermédia [46] est un hypertexte présentant une différence essentielle. Il représente un
média dans lequel les données ne sont pas seulement de type texte mais aussi de type image, son,
vidéo ou même multimédia. De manière simple, un hypermédia est une combinaison de l’hyper-
texte à des données multimédias, permettant d’inclure des liens entre des éléments textuels, visuels
et sonores.

       Comme nous l’avons dit dans la Sous-Section 2.2.2, grâce au mécanisme d’hypertexte, l’en-
tièreté des informations sont liées et offrent une navigation non-linéaire et interactive dans un
ensemble de données textuelles, visuelles et sonores. La Figure 2.3 représente un exemple de do-
cument hypermédia où l’utilisateur peut naviguer de page en page en cliquant sur les différents
éléments multimédia.

                      F IGURE 2.3 – Exemple de document hypermédia [19]

      Le document hypermédia le plus simple et le plus connu à l’heure actuelle n’est autre que le
World Wide Web. La quasi totalité des applications disponibles sur Internet optent désormais pour
une architecture où l’information est présentée en suivant cette approche.

                                                  6
2.2.4    Rich média
      La famille du rich média [5] est une appellation générique pour tous les formats permettant
une interaction poussée avec l’internaute. De ce fait, il est souvent associé à la notion d’interfaces
riches. Généralement, le rich média définit un format publicitaire Internet remplissant au moins
une des conditions suivantes :

      • Proposer aux utilisateurs une interaction au delà du clic habituel.
      • Utiliser une technologie d’affichage dynamique hors des espaces classiques prédéfinis.
      • Intégrer du son ou de la vidéo.

2.3     Solutions existantes
       Comme énoncé dans le Chapitre 1, le but de notre application est d’analyser des éléments
sonores afin d’extraire d’une base de données du contenu audio ayant des caractéristiques simi-
laires. Dans cette section, nous présentons les différentes applications existantes sur le marché des
technologies mobiles et qui réalisent un travail similaire.

     Après quelques recherches, deux applications semblent se détacher des autres. La première
se nomme Shazam et la seconde porte le nom de Midomi-SoundHound. Ces deux logiciels sont
disponibles gratuitement sur l’Android Market.

2.3.1    Shazam
      Shazam [31] est une application disponible pour les technologies mobiles dont le principe se
base sur la reconnaissance musicale. L’idée, développée en 2002 par Avery Li-Chun Wang, était
uniquement disponible au Royaume-Uni. Aujourd’hui, Shazam se décline dans tous les pays et sur
tous les appareils mobiles. Il est l’outil d’identification musicale le plus utilisé et existe en deux
versions. La version gratuite donne cinq identifications par mois à un utilisateur, contrairement à
la payante qui offre un usage total.

Fonctionnement
      De manière simple, Shazam [7] consiste à utiliser le microphone intégré aux dispositifs mo-
biles afin de capturer un morceau de musique (environ 30 secondes). Ensuite, des techniques de
hachage et de fingerprinting sont appliquées sur le spectrogramme de l’échantillon obtenu. Nous
expliquons celles-ci de façon approfondie dans le Chapitre 3.

      Lorsque ces méthodes ont été appliquées, nous comparons les caractéristiques extraites avec
celles disponibles dans une base de données. A l’origine, la base de données utilisée pour Shazam
contenait 1, 8 millions d’entrées. Aujourd’hui, on en compte plus de 8 millions. Si une corres-
pondance est trouvée dans la base de données, des informations telles que l’artiste, le titre de la
chanson, le nom de l’album, ... sont retournées à l’utilisateur.

                                                  7
Résultat
       La qualité de la recherche dépend de la qualité de l’échantillon enregistré. Cependant, Sha-
zam est réputé pour fonctionner de manière efficace même avec des morceaux sonores de qualité
moyenne ou avec des bruits de fond. Les réponses obtenues sont correctes et rapidement affichées
à l’utilisateur.

2.3.2      Midomi-SoundHound
       Midomi-SoundHound a été développé il y a peu d’années par un groupe de chercheurs ca-
liforniens. Le principe de base est identique à celui proposé par Shazam. Cependant, Midomi-
SoundHound va plus loin et offre non seulement une identification des musiques à partir d’échan-
tillons enregistrés mais aussi via des sifflements ou des fredonnements de la part de l’utilisateur. Le
fonctionnement des deux applications et les résultats obtenus sont similaires. Un bref comparatif
est proposé en [4].

      La Figure 2.4 montre le fonctionnement de Midomi-SoundHound suivant quatre étapes prin-
cipales. A noter qu’il en va de même pour Shazam.
   1. A la première étape, un utilisateur à le choix entre capturer un extrait sonore, indiquer le nom
      d’un artiste ou le titre d’une chanson.
   2. L’extrait capturé est ensuite envoyé sur un serveur afin d’être traité. L’objectif est d’extraire
      certaines caractéristiques qui seront utilisées pour effectuer la recherche dans la base de
      données.
   3. La troisième étape consiste à faire correspondre les caractéristiques obtenues à celles pré-
      sentes dans la base de données dans le but de trouver une correspondance.
   4. Enfin, si une correspondance est trouvée, des informations telles que le titre, l’artiste ou les
      paroles de la chanson sont retournées à l’utilisateur.

            F IGURE 2.4 – Fonctionnement de Midomi-SoundHound suivant 4 étapes [4]

                                                  8
2.4     MediaCycle
       MediaCyle est un logiciel d’analyse de données multimédias. Celui-ci a été principalement
développé par le laboratoire de Théorie des Circuits et Traitement du Signal (TCTS). Les méthodes
utilisées pour son fonctionnement sont différentes de celles employées pour Shazam ou Midomi-
SoundHound. A savoir, MediaCycle n’intègre pas des techniques de hachage et de fingerprinting.
Pour faire face à cet inconvénient, nous avons développé un prototype qui permet de réaliser de la
recherche d’empreinte. Celui-ci est détaillé dans la Section 3.5. D’autres différences sont à énon-
cer, notamment au niveau de son utilisation.

       Premièrement, contrairement à Shazam et Midomi-SoundHound, MediaCycle n’est pas li-
mité à un seul type de média. Il peut être utilisé pour des données sonores ou visuelles sans néces-
siter de changement. Evidemment, l’analyse se fait suivant des descripteurs différents selon le type
de données mais cette globalisation a pour avantage de rendre MediaCycle plus générique.

      Deuxièmement, nous savons que les deux applications présentées dans la Section 2.3 sont
spécialisées dans la recherche de contenu identique. L’utilisateur veut retrouver le titre de la chan-
son qu’il entend et rien d’autre. L’idée de MediaCycle est plutôt axée sur une recherche des conte-
nus "similaires".

      MediaCycle a déjà trouvé sa place dans de nombreux projets réalisés par Numédiart pour
différents clients. Nous pouvons par exemple citer Laughter Cycle [14], Audio Cycle [13] ou encore
le projet Dancers [34] dont nous pouvons voir le résultat en [1].

2.5     Les apports du mémoire
      Le but est de développer une application Android afin de pouvoir profiter des avantages cités
ci-dessus qu’intègre Mediacycle par rapport à Shazam ou Midomi. L’idée est évidemment d’utili-
ser cette application sur les nouvelles technologies mobiles.

      Ensuite, l’application sera développée de façon à offrir aux utilisateurs un outil de recherche
novateur. Nous exposons dans le Chapitre 4 les différentes vues et méthodes de recherche qu’il est
possible d’utiliser.

      Enfin, nous désirons offrir une application libre et gratuite aux utilisateurs. Comme nous
l’avons dit précédemment, MediaCycle peut travailler sur plusieurs types de médias. La nouveauté
à ce niveau résidera dans le fait que les bases de données contenant ces médias seront constituées
grâce à la contribution des utilisateurs.

                                                  9
Chapitre 3

Fingerprinting

      Dans ce chapitre, nous développons l’ensemble des éléments théoriques liés à la technique
du fingerprinting. Tout d’abord, nous introduisons le sujet en le situant historiquement et dans dif-
férents domaines. Ensuite, nous proposons une définition de ce qu’est le fingerprinting et dans la
Section 3.3, nous parlons du principe d’extraction d’empreinte. Nous expliquons les différentes
phases qui composent le processus d’extraction et les descripteurs sonores que nous utilisons. Les
méthodes de recherche d’empreinte dans une base de données sont quant à elles expliquées en
Section 3.4. La Section 3.5 permet de clôturer ce chapitre en présentant le protocole expérimental
que nous avons mis en place.

      Afin d’être le plus complet et le plus clair possible dans ce chapitre, nous nous basons prin-
cipalement sur deux documents reconnus dans le milieu. Il s’agit des articles publiés par J.A.
Haitsma [21] et Yan Ke [48].

3.1     Introduction
      Lorsque nous parlons d’empreinte ou de fingerprint, nous pensons directement aux em-
preintes digitales. Cela vient inévitablement du fait qu’il s’agisse du système d’empreinte le plus
connu à ce jour. Il a été mis en place à partir de 1893 par Sir Francis Galton, qui a été le premier
à prouver qu’une empreinte digitale est unique et de ce fait qu’il n’existe pas deux humains ayant
des empreintes identiques. Dès lors, même si parfois ces dernières possèdent des similarités, nous
pouvons identifier n’importe quel être humain via ses empreintes digitales.

      Récemment, au niveau du monde scientifique, nous notons à nouveau un intérêt croissant
dans le domaine du fingerprinting. Ce soudain regain d’intérêt n’est pas provoqué cette fois par
les empreintes digitales, mais par les empreintes de données multimédias, notamment audio. Les
chercheurs croient que certains problèmes du domaine audio peuvent être naturellement dérivés en
une forme accessible par les techniques informatiques. La principale idée est de transformer des si-
gnaux audio à une dimension dans le temps en des représentations visuelles 2D temps-fréquences.
De manière simple, il s’agit de transformer un son en une ou plusieurs images appelées spectro-
grammes.

      Le principal objectif de la recherche d’empreintes sur des données multimédias est de dé-
terminer si deux données sont perceptivement équivalentes. Par perceptivement équivalent, nous
entendons que la comparaison entre les deux objets multimédias ne s’effectue pas au niveau de

                                                 10
leur contenu mais grâce aux empreintes associées.

      Aujourd’hui, dans la plupart des systèmes qui utilisent la technologie de fingerprinting, les
empreintes ainsi que les meta-data (nom de l’artiste, titre de la chanson, ...) d’un grand nombre
de données multimédias sont stockées conjointement dans la base de données. Dans ce type de
base de données, les empreintes servent d’index et sont utilisées pour effectuer des requêtes. Nous
pouvons citer trois avantages à l’utilisation de ces empreintes et non du contenu multimédias :

   1. Diminution de la mémoire et des espaces de stockage nécessaires. En effet, nous ne gardons
      que les empreintes et celles-ci sont de plus petite taille que le contenu.
   2. Comparaison efficace étant donné que les caractéristiques perceptives non pertinentes ont
      déjà été retirées des empreintes.
   3. Recherche plus efficace et plus rapide de données car celles-ci sont plus petites.

      Deux grands domaines se partagent principalement cette technologie. Il s’agit du contrôle
de la diffusion des médias et de la reconnaissance de contenu audio. Le premier consiste à vérifier
les données audio émises aussi bien à la télévision ou à la radio. Cela a pour avantage d’examiner
les droits de diffusion et de collecter des statistiques. Un exemple de site Web qui réalise cela est
Yacast 1 . Le second domaine trouve son intérêt dans le monde scientifique, pour les traitements so-
nores, mais aussi grâce à des applications telles que Shazam ou Midomi-SoundHound présentées
dans la Section 2.3.

      Pour conclure cette introduction, nous pouvons dire d’après ce que nous avons énoncé ci-
dessus, qu’un système de fingerprint est constitué de deux éléments principaux : une méthode
d’extraction d’empreinte et une méthode efficace de recherche d’empreinte dans une base de don-
nées.

3.2     Concepts et définition
       Dans cette section, nous définissons en quoi consiste une fonction de fingerprint, les carac-
téristiques nécessaires au fonctionnement d’un système basé sur cette méthode et finalement, nous
illustrons les différentes représentations que peut prendre une donnée audio.

3.2.1    Définition
     Si nous prenons en considération ce que nous avons décrit dans la section précédente, et
que nous gardons à l’esprit qu’une empreinte audio peut être vue comme le "résumé" d’un média
sonore, nous pouvons énoncer la définition suivante :

Définition 3.2.1. Une fonction de fingerprint F devrait faire correspondre une donnée audio X,
composée d’un grand nombre de bits, à une empreinte de cette donnée, composée d’un nombre
limité de bits.

     Nous pourrions naturellement penser que les fonctions de hachage cryptographique sont de
bons candidats pour les fonctions de fingerprint. Cependant, en considérant la Définition 3.2.2,
      1. http://www.yacast.fr/fr/index.html

                                                 11
l’égalité mathématique au sens "strict" exclu cette possibilité car nous sommes intéressé par des si-
milarités perceptives et non de contenu identique. L’Exemple 3.2.1 illustre le concept de similarités
perceptives.

Définition 3.2.2. Une fonction de hachage cryptographique permet de comparer deux objets, X
et Y, de taille conséquente, en comparant les valeurs de hachage H(X) et H(Y). Si H(X) = H(Y)
alors X = Y.

Exemple 3.2.1. Si l’on prend une chanson de Michael Jackson - "Smooth Criminal". La version
originale sur CD et la version MP3 à 128Kb/s vont être perçues de façon identique par l’oreille
humaine. Néanmoins, leurs structures internes (spectrogramme) peuvent être différentes. Bien que
ces deux versions soient perceptivement similaires, elles sont mathématiquement différentes.

       Le dernier concept nécessaire pour finaliser notre définition est énoncé dans la Propriété 3.2.1.
Elle se base sur le fait que deux données audio perceptivement similaires ont des empreintes simi-
laires.

Propriété 3.2.1. Afin de pouvoir faire une distinction entre deux données audio différentes, il doit
y avoir une très forte probabilité que ces données différentes se traduisent par des empreintes
différentes. De façon mathématique, nous pouvons dire que pour une fonction de fingerprint F,
nous définissons un seuil T tel qu’il existe une forte probabilité que X et Y soient similaires si
||F (X) − F (Y )|| ≤ T et différentes si ||F (X) − F (Y )|| > T

      Dans la propriété ci-dessus, || · || définit une norme. Une norme est une fonction qui assigne
une longueur strictement positive à tous les vecteurs dans un espace vectoriel. Cependant, elle peut
aussi définir une distance entre deux vecteurs. Dans notre cas, nous pouvons donc considérer que
||F (X) − F (Y )|| est la distance entre deux spectres ou deux empreintes binaires.

      Il existe différents types de normes dont les plus connues sont : la norme euclédienne, la
norme de Manhattan ou encore la ρ-norme. Si nous prenons comme exemple les séquences de bits
ci-dessous, nous pouvons définir la norme euclédienne et la norme de Manhattan de la manière
suivante :

                                         séquence 1     0     0
                                         séquence 2     0     1
                                         séquence 3     1     0
                                         séquence 4     1     1

      • Norme euclédienne : la norme euclédienne est définie comme suit :
                                                 v
                                                 u n
                                                 uX
                                        ||x||2 = t     |xi |2                                     (3.1)
                                                            i=1

        Nous obtenons donc comme résultats pour les différentes séquences :

                                             séquence 1 → 0
                                             séquence 2 → 1
                                             séquence
                                                √     3 → 1√
                                   séquence 4 → 12 + 12 = 2 ≈ 1.41

                                                  12
• Norme de Manhattan : la norme de Manhattan est définie comme suit :
                                                         n
                                                         X
                                              ||x||1 =         |xi |                            (3.2)
                                                         i=1
        Nous obtenons dans ce cas ci pour les différentes séquences :

                                              séquence 1 → 0
                                              séquence 2 → 1
                                              séquence 3 → 1
                                              séquence 4 → 2

     A partir de cet exemple, nous pouvons dire que les différentes normes présentées ci-dessus
peuvent convenir et être employées dans la propriété 3.2.1.

       Grâce à la Définition 3.2.1 et la Propriété 3.2.1, nous avons maintenant une définition claire
et précise de ce qu’est une fonction de fingerprinting ainsi que la principale propriété sur laquelle
elle repose.

3.2.2    Caractéristiques
     Suite à notre définition de fingerprint, nous pouvons nous focaliser sur les caractéristiques
nécessaires au bon fonctionnement d’un système basé sur cette méthode.

      • Robustesse : dans le but d’avoir un système efficace, la recherche d’empreinte doit être
        réalisée sur des caractéristiques perceptives invariantes à la dégradation des signaux. Idéa-
        lement, des données audio fortement dégradées devraient mener à des empreintes quasi-
        ment similaires.

      • Fiabilité : elle correspond au nombre de comparaisons d’empreintes qui ont réussi. Ce
        phénomène se produit lorsqu’une identification retourne un résultat qui est celui attendu.
        Pour caractériser la fiabilité, nous pouvons mettre en avant les concepts de vrai positif et
        de faux positif. Ceux-ci seront développés dans la Section 3.5.3

      • Taille de l’empreinte : pour augmenter la rapidité de la recherche d’empreintes, celles-ci
        sont généralement stockées en mémoire vive (RAM). La taille des empreintes, qu’elles
        soient en bits par seconde ou bits par chanson, détermine fortement les ressources néces-
        saires pour la mise en place d’une base de données d’empreintes.

      • Granularité : nous pouvons considérer la granularité comme étant la taille de la donnée,
        de l’extrait à fournir à l’application. Ce paramètre dépend du type d’application mis en
        place et des données que celle-ci traite.

      • Vitesse et croissance : ces deux critères sont essentiels lors d’un déploiement commercial
        d’un système de recherche d’empreinte sonore. La vitesse de recherche dépend de la crois-
        sance de la base de données. Nous savons que la taille de celle-ci deviendra relativement
        importante avec le temps. Si la recherche effectuée par un utilisateur prend trop de temps,
        celui-ci délaissera le système pour un autre plus performant.

                                                 13
La mise en place d’un tel système peut représenter un "challenge", car il requiert un équilibre
entre ces cinq paramètres. Ces éléments ont une forte influence les uns sur les autres. Par exemple
un système exigeant une haute fiabilité demande une empreinte de taille plus importante et une
granularité plus élevée. L’augmentation de la taille de l’empreinte a pour effet de diminuer les
performances de recherche dans la base de données où elle est stockée.

3.2.3    Représentation de l’audio en images
      Dans cette sous-section, nous prenons le temps d’illustrer les différentes représentations qui
existent pour un média audio. Nous expliquons chacune d’elles afin d’avoir un aperçu et une bonne
idée des données sur lesquelles nous travaillons dans la suite.

Onde sonore
     Quand nous parlons de représenter un son, nous pensons directement à une onde sonore
comme nous pouvons le voir dans la Figure 3.1. Ce graphique illustre l’amplitude en fonction du
temps. Cette vision du son est la plus courante car elle est fortement utilisée dans le monde de la
musique, notamment des mixeurs et des ingénieurs du son pour ajuster leurs compositions.

          F IGURE 3.1 – Représentation 2D d’une onde sonore pour un extrait audio [2]

      Néanmoins, bien que couramment utilisée, cette représentation sera inutile car elle ne permet
pas de réaliser des comparaisons d’empreintes.

Spectrogramme
      Comme nous l’avons énoncé dans la Section 3.1, la seconde façon de représenter des données
audio à une dimension, sous la forme d’une image en deux dimensions, est le spectrogramme. Ceci
est possible grâce à une technique appelée Transformée de Fourier. La Définition 3.2.3 explique
de manière plus technique en quoi consiste un spectrogramme.

Définition 3.2.3. Un spectrogramme [41] est une représentation spectrale des facteurs temps-
fréquence (sous forme d’une image) qui montre comment la densité spectrale d’un signal varie
avec le temps. Dans le domaine du traitement des signaux "temps-fréquence", il est l’une des
représentations les plus couramment utilisées. Aussi connu sous le nom de sonogramme ou encore
empreinte vocale, ils sont utilisés pour identifier des sons, de la musique ou pour effectuer du
traitement vocal.

                                                 14
Aujourd’hui, il existe deux façons d’illustrer un spectrogramme : une image en deux ou en
trois dimensions. La Figure 3.2 montre une représentation en deux dimensions qui reste l’approche
majoritairement utilisée à l’heure actuelle.

F IGURE 3.2 – Spectrogramme d’un morceau de musique d’une durée de 5 secondes et dont la
fréquence est comprise entre 0 et 5000 Hertz [8]

Exemple
      Nous clôturons cette sous-section en réalisant une analogie entre la visualisation d’un même
son sous la forme d’une onde et d’un spectrogramme. Cela permet de mieux observer les effets que
produisent une modification de la fréquence sur les deux types de représentations. Nous voyons,
par exemple, dans la Figure 3.3 que la fin du morceau analysé subit des variations de rythme
importantes et cela se remarque très clairement dans son spectrogramme.

             F IGURE 3.3 – Onde sonore et spectrogramme d’un même extrait audio

      La zone encadrée de rouge de la figure ci-dessus, possède un spectrogramme de couleur plus
foncée, plus intense. Dans cette zone se produit un changement de rythme musical important et la
fréquence devient brusquement élevée.

                                               15
En réalité, la notion de fréquence est directement liée à une autre notion que nous appelons
longueur d’onde. Cette dernière, correspond à la distance qui sépare deux pics ou deux creux suc-
cessifs de la courbe de l’onde sonore.

      Ces deux notions sont inversement proportionnelles. Ainsi, plus la longueur d’onde est courte
plus la fréquence est élevée, et inversement. Une longueur d’onde courte signifie donc une vibra-
tion de l’air, dans lequel se propage le son, plus rapide et par conséquent un son plus aigu. Les
Figures 3.4 et 3.5 illustrent différents exemples de longueur d’onde.

          F IGURE 3.4 – Différentes longueurs d’onde pour des sons graves ou aigus [26]

          F IGURE 3.5 – Vibration des molécules d’air en fonction de l’onde sonore [22]

      Nous pouvons conclure que la zone mise en évidence dans la Figure 3.3, correspond à un
extrait de la chanson où le son devient particulièrement aigu.

      Afin de réaliser les illustrations 3.2 et 3.3, nous avons utilisé le logiciel Praat développé par
Paul Boersma et David Weenink [8]. Il s’agit d’un logiciel libre et gratuit qui permet d’analyser,
synthétiser et manipuler des données audio. Il offre en sortie des représentations graphiques de
haute qualité de ces sons.

                                                  16
3.3     Extraction d’empreinte
3.3.1    Introduction
       Comme nous l’avons dit dans les sections précédentes, l’objectif principal des empreintes
audio est de permettre une extraction efficace des caractéristiques perceptives. Cette action doit
être facile et rapide à réaliser pour ne pas ajouter des contraintes supplémentaires à l’ensemble du
processus.

     Si nous nous basons sur ce qui est écrit dans la littérature actuelle, nous pouvons de façon
générale séparer l’ensemble des caractéristiques perceptives suivant deux grandes catégories :

      • Caractéristiques sémantiques : cela peut être le genre, le rythme ou encore l’ambiance.
        Ces caractéristiques sont facilement identifiables par l’oreille humaine et servent à classi-
        fier la musique.

      • Caractéristiques non-sémantiques : elles ont une nature plus mathématique et il est dif-
        ficile pour les humains d’arriver à les interpréter directement à partir de la musique.

      Parmi ces deux catégories, uniquement la seconde nous intéresse. Nous nous basons donc
sur les caractéristiques perceptives non-sémantiques d’extraits audio pour effectuer notre travail.
Le choix d’utiliser cette deuxième catégorie a été motivé par les inconvénients que présentent les
caractéristiques sémantiques. A savoir :
   1. Elles peuvent parfois être ambigües. Par exemple, le genre d’une chanson peut dépendre de
      l’opinion de la personne qui l’écoute. Il peut aussi varier selon les époques.
   2. Elles sont généralement plus compliquées à calculer que les non-sémantiques.
   3. Elles ne sont pas universellement applicables. Si nous prenons par exemple une chanson de
      musique classique, il n’est pas approprié de calculer le nombre de battements par minute.

3.3.2    Extraction d’empreintes
      La majorité des algorithmes d’extraction d’empreintes suivent la même approche. Dans un
premier temps, le signal audio est divisé en plusieurs trames. Ensuite, une représentation spectrale
de ces dernières est calculée en appliquant une transformée de Fourier. L’étape suivante consiste
à créer un banc de filtre afin d’obtenir les sous-empreintes ou sub-fingerprints. La phase finale a
pour but d’obtenir l’empreinte binaire.

     L’ensemble de ces étapes est détaillé dans la suite de cette sous-section. Pour ce faire, nous
nous basons sur l’article écrit pas Jaap Haitsma [21] car nous implémenterons la méthode qu’il
propose afin d’obtenir une empreinte binaire de nos extraits musicaux.

1. Framing
      Le framing consiste à scinder chaque signal audio en blocs superposés de plus petite taille
que l’on appelle trames. Habituellement, nous utilisons un taux de recouvrement de 1/2 et des
trames d’une durée de 30ms. Le taux de recouvrement correspond à la superposition des différentes
trames. Lorsque la valeur vaut 1/2, cela signifie qu’arrivé à la moitié de la première trame, la
seconde débute. La Figure 3.6 illustre ce que nous venons de dire.

                                                 17
F IGURE 3.6 – Représentation du phénomène de recouvrement avec un taux de 1/2

      Haitsma propose quant à lui, d’utiliser un taux de recouvrement de 31/32 ce qui nous permet
d’obtenir une sous-empreinte toutes les 11.6ms comme représenté dans la Figure 3.7. En effet,
nous voyons que la durée totale des trames superposées est de 371ms. Nous obtenons :

                                        371ms
                                                 ≈ 11.6ms
                                       32 trames

      Nous avons donc 32 sous-empreintes toutes les 371ms et par conséquent 256 sous-empreintes
après 3 secondes (371ms ∗ 8 ≈ 3 secondes) ce qui est l’objectif recherché.

     Un taux de recouvrement élevé garantit que même dans le pire des cas, c’est à dire des si-
gnaux fortement dégradés, les sous-empreintes du morceau à identifier restent similaires aux sous-
empreintes d’origine. Cela vient du fait qu’avec un tel taux de recouvrement, les sous-empreintes
successives ont de nombreuses similarités entre elles et qu’elles varient très peu au cours du temps.

                              F IGURE 3.7 – Superposition des trames

                                                 18
2. Transformation de Fourier
      Tout d’abord, nous allons définir précisément en quoi consiste la transformée de Fourier
en 3.3.1. Nous expliquons par la suite pourquoi nous l’utilisons. Cette action sert à préparer la
phase 3 dans laquelle nous allons créer un banc de filtre.

Définition 3.3.1. La transformée de Fourier discrète (TFD) [44] est un outil mathématique de
traitement du signal numérique. Nous avons tendance à le confondre avec la transformée de Fou-
rier rapide (Fast Fourier Transform) définit en 3.3.2, qui n’est pourtant qu’un algorithme particu-
lier de calcul de la transformée de Fourier discrète. Sa définition mathématique pour un signal s
de N échantillons est la suivante :
                               N −1
                                                   n
                               X
                      S(k) =          s(n) · e−2iπk N         pour        06k
Pour les différentes valeurs de k, nous allons multiplier les valeurs du signal échantillonné
par celles illustrées dans la Figure 3.8. Plus la valeur de k augmente plus on accentue les hautes
fréquences (les périodes sont plus courtes).

          F IGURE 3.8 – Partie réelle de l’exponentielle complexe suivant la valeur de k

     Nous pouvons dire que la transformée de Fourier discrète peut-être vue comme une transfor-
mation linéaire appliquée au vecteur s(n) afin de retourner le vecteur S(k).

      L’intérêt d’effectuer cette transformation est que les caractéristiques perceptives les plus im-
portantes pour l’extraction d’empreinte se trouvent au niveau de la fréquence. Dès lors, nous ap-
pliquons sur chaque trame produite à l’étape précédente une transformée de Fourier rapide, afin
d’obtenir une représentation spectrale du signal audio (c.f. Figure 3.2). La Figure 3.9 montre un
spectrogramme ou les points de forte densité sont en rouge. Ils représentent les points les plus
importants du spectrogramme.

             F IGURE 3.9 – Spectrogramme montrant des points de forte densité [37]

                                                 20
La Figure 3.10 schématise les deux premières étapes du processus. Nous y voyons les diffé-
rentes phases ainsi que les résultats obtenus à chaque niveau.

                     F IGURE 3.10 – Schéma des deux premières phases [29]

3. Division en bandes
      Grâce aux transformées de Fourier effectuées à l’étape précédente, nous pouvons désormais
créer un banc de filtres. Le but est d’obtenir une représentation compacte d’une seule trame appe-
lée sous-empreinte ou sub-fingerprint. Le signal audio initial est décomposé en sous-signaux de
manière à ce que chaque bande ne comporte qu’une seule fréquence. Ce processus de décomposi-
tion porte le nom d’analyse.

      Cependant, une seule de ces sous-empreintes ne suffit pas pour identifier un morceau audio
car elle ne contient pas assez de données. Si nous nous basons une nouvelle fois sur l’article de
Haitsma [21], nous allons travailler dans la suite de ce chapitre avec des blocs d’empreintes com-
posés, par exemple, de 256 sous-empreintes.

     Il existe plusieurs échelles lors de la réalisation d’un banc de filtres. Nous pouvons principa-
lement citer l’échelle Bark ou encore l’échelle Mel. Nous allons expliquer en quoi elles consistent.

Echelle de Bark :

      Le Bark [29] est une unité de psychoacoustique, et non physique, proposé par Eberhard Zwi-
cker en 1961. L’échelle de Bark consiste à diviser l’échelle des fréquences en 24 bandes dites
bandes critiques comprises entre 0 et 15500 Hz. Ce système permet de modéliser une meilleure
approximation de l’audition humaine. Les bandes de Bark sont utilisées pour calculer l’intensité,
la netteté ou la propagation du son. La Figure 3.11 montre la répartition des bandes de Bark de
manière graphique. Les valeurs précises correspondantes, peuvent être lues dans le Tableau 3.1.

      La conversion d’une fréquence en Hertz vers des Bark se fait à l’aide de la formule suivante,
dans laquelle B exprime la fréquence en Bark et f en Hertz.

                                                                                    
                                                f                                f
                        B = 13 · arctan                    + 3.5 · arctan
                                              1315.8                            7518

                                                   21
Vous pouvez aussi lire