Pour rendre l'accès à la carte rapide, l'utilisation d'un driver VXD (Virtual Device Driver) est une solution appropriée. De plus, il s'agit de la politique des OS modernes qui veulent donner l'accès au "hardware " via des interfaces standardisées qu'offrent les drivers. Cette séparation en module d'un logiciel entraîne une fiabilité accrue ainsi qu'une maintenance plus aisée. Le but initial fixé par l'équipe de Microgyna était de concevoir un pilote moderne de type virtuel (VxD) pour Windows 95 et bien sûr de communiquer avec la carte d'acquisition.
Les objectifs atteints
Il a été mis en place le module *.VXD dit module bas niveau, très simplement grâce aux outils et codes-sources de Win-Driver [par KRF-Tech]. Le problème du driver se rapporte dès lors à la programmation d'un driver aussi simplement que sous Dos. Ce module de bas niveau offre les fonctions élémentaires telles que lecture / écriture sur les ports, détection automatique des cartes Pci, registration automatique des cartes Plug N Play Isa et Pci. Win Driver nous donne de plus un driver virtuel pour Win NT (fichier *.SyS, chargé lors du démarrage)
Par ailleurs, un module haut niveau (fichier *.DLL) permet d'envoyer les images numérisées vers l'interface utilisateur, à l'aide d' un transfert par DMA. La Dll recherche également le meilleur seuillage grâce à une routine d'autofocus. Cette fonctionalité a été entièrement développée par Microgyna et fait appel à l'analyse de l'entropie des images.
Enfin, dans le but de tester le marériel et de prévenir
un dysfonctionnement éventuel de la carte, une routine de simulation
de la carte a été implantée dans la Dll pour l'interface
utilisateur.
Description du travail effectué
Le driver Virtuel (.VxD / . SyS) permet l'accès simultané
de plusieurs programmes au même hardware en même temps. Cela
permet l'exploitation de la caméra et de la carte par d'autre utilitaires,
au même moment, sans qu'il y ait de gêne.
L'utilisation du contrôleur de DMA a permis un gain de temps au niveau du transfert de données. Effectivement, le DMA évite l'utilisation du microprocesseur lors du transfert.
La dll effectue: les allocations de mémoire, la compression Lempel-Ziv utilisée pour le calcul d'entropie topologique, puis, l'analyse par dérivation les courbes obtenues pour en tirer la valeur du meilleur seuillage.
Enfin, elle permet de simuler le comportement de la carte d'acquisition
vidéo, grâce à une image en niveau de gris que l'on
place d'avance sur disque dur.
Critiques
Pour l'utiliation du kit de codes-source de Win-Driver, une licence
de 2250 $Cn est
à créditer devant la société Israélienne
KRF-Tech.
La recherche automatique de seuillage fonctionne à la perfection avec les exemples d'images fournies sur l'Internet. En outre, le temps de calcul peut être assez long - 30 secondes sur un P150, 32 Mo -
L'architecture du driver rend impossible l'homologation auprès de Microsoft, qui nous aurait permis d'obtenir le label "Designed for Windows95" pour l'ensemble du projet Mystrium.
Améliorations possibles
Elaboration de deux algorithmes supplémentaires d'analyse pour
les images sur ou sous exposées en provenance de la caméra,
pour la commande de seuillage automatique.
Enfin, les codes-sources de Win-Driver permettent de faire très
facilement un driver plug-n-play. Cela demande une autre architecture de
carte.
Remerciements
- Sylvain Comtois du Lab de LVSN
pour sa contribution sur les VxD (DDK).
- Service technique de Krf-Tech.
Download
Downloader la partie la Dll et les sources de la simulation du driver et de calculs d'entropie. (version de la Dll sans la VxD)