Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 21 mars 2012 (14h-16h).
Au programme:
* 14h: Le point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images
-- Laurent Najman
Une question fondamentale pour mes recherches est de savoir ce qu'est
une image. Cela peut sembler à première vue une question trop simple :
une image, c'est un ensemble de points. Mais ces points sont reliés
entre eux, c'est ce qu'on appelle une structure, et ils ont des données
de types multiples qui leur sont attachées. La bibliothèque Milena,
développée au LRDE, est une bibliothèque générique dédiée au traitement
d'images. Dans Milena, trois axes indépendants sont développés : l'axe
des structures, l'axe des données, et celui des algorithmes,
c'est-à-dire de ce qu'on peut faire avec une image.
Dans cet exposé, je vais développer plusieurs exemples dans lesquels je
choisirai un algorithme et un type de données, en faisant varier la
structure. Changer la structure, c'est penser les images d'une manière
différente, et c'est quelque chose d'extrêmement porteur en recherche.
- Un premier exemple est celui d'un algorithme classique de
segmentation : la ligne de partage des eaux. Originellement pensé sur
les pixels, sa traduction dans le cadre des arêtes donne le problème
classique d'arbre couvrant de poids minimum. Si la ligne de partage
des eaux est très connue en traitement d'images, les arbres de
poids minimum sont très utilisés en classification. Un pont naturel
est alors établi entre deux communautés différentes, et les idées
provenant de ces deux communautés peuvent être combinées.
- Un deuxième exemple est celui de la représentation arborescente des
images. Pour illustrer, tant les lignes de niveaux que les
composantes connexes des ensembles de niveaux (les coupes) des
images sont naturellement structurées en arbre : deux lignes ou deux
composantes sont soit disjointes soit emboîtées. On peut filtrer
une image en éliminant de l'arbre tous les nœuds qui ne vérifient
pas un critère. Mais on peut aussi considérer l'arbre lui-même comme
une image, et appliquer sur cet arbre un algorithme de traitement
d'images. C'est une idée récursive très riche.
D'autres exemples pourront être développés en fonction du temps : liens
entre ligne de partage des eaux topologique et segmentation
hiérarchique, topologie discrète dans divers cadres...
La bibliothèque Milena permet d’appliquer la plupart des algorithmes
existants à une nouvelle structure, ce qui est un gain de temps
incontestable. Cela permet de se concentrer sur ce qui fait le cœur de
mon métier: chercher un algorithme plus efficace, adapté à un type de
structure, ou encore chercher quelles sont les propriétés mathématiques
d’un algorithme sur une structure donnée.
-- Laurent Najman a reçu l’habilitation à diriger les recherches de
l'université de la Marne-La-Vallée en 2006, un doctorat en mathématiques
appliquées de l’université de Paris-Dauphine en 1994, et un diplôme
d’ingénieur de l'École des Mines de Paris en 1991.
-- Il a travaillé chez Thomson-CSF sur la segmentation d'images
infrarouges en utilisant la morphologie mathématique, chez Animation
Science sur des systèmes de particules pour l'infographie et de la
visualisation scientifique, puis chez OCÉ sur des problèmes d’analyse et
de traitement d'images pour l'impression.
-- Depuis 2002, il est enseignant-chercheur à l’ESIEE, actuellement
professeur, membre du Laboratoire d’Informatique Gaspard-Monge
(Université Paris-Est). Ses recherches portent sur la morphologie
mathématique discrète et l’optimisation discrète.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 14 mars 2012 (14h-16h).
Au programme:
* 14h: Reusable Generic Look Ahead Multithreaded Cache - a case study for a high resolution player
-- Guillaume Chatelet
L'industrie des effets spéciaux produit une grande quantité d'images
qu'il faut traiter et afficher. Dans le cadre de ses développements
internes, Mikros Image a développé et mis en Open Source un player
d'images temps réel : duke. Dans cet exposé je décrirai quels sont les
enjeux techniques d'un tel logiciel (allocation mémoire, accès disque,
multiplicité des formats, affichage, traitement...) puis j'expliquerai
plus en détails les étapes de la conception d'un composant essentiel
permettant de lire et décoder le plus rapidement possible les images à
afficher. Ce composant ayant pour but d'être intégré dans d'autres
outils, il doit être réutilisable.
-- Guillaume Chatelet est diplômé de l'ENSICaen et titulaire d'un DEA en
intelligence artificielle et algorithmique. Il travaille en qualité
d'ingénieur recherche et développement à Mikros Image depuis sept ans.
En 2007, il contribue à la bibliothèque Loki, initiée par Andrei
Alexandrescu, puis à la plateforme Eclipse.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 15 février 2012 (14h-17h). Nous sommes heureux de vous
annoncer qu'un second exposé est programmé !
Au programme:
* 14h: Des performances dans les nuages avec la virtualisation des langages
-- Yann Régis-Gianas
http://www.pps.jussieu.fr/~yrg/
«The effective exploitation of his powers of abstraction must be
regarded as one of the most vital activities of a competent programmer.»
disait Dijsktra.
En effet, pour aborder la complexité d'un problème, l'explicitation des
concepts utiles à sa formalisation et à sa résolution est bien souvent
une étape clé. Lorsque que l'on étend ce processus à une classe de
problèmes qui partagent les mêmes concepts, il est naturel de se doter
d'un langage le plus approprié possible pour manipuler ces abstractions
spécifiques à un domaine (en anglais, «Domain Specific Language»).
Comment implémenter ces DSLs? Une première approche classique reflète
les constructions du DSL sous la forme d'un jeu de fonctions de
bibliothèque. L'avantage de cette approche est d'utiliser directement
son langage généraliste préféré, et sa chaîne de compilation optimisée,
de façon à générer du code machine à moindre frais. Par contre, dans ce
cadre, l'écriture de passe d'optimisations spécifiques au DSL --- à
moins d'utiliser des techniques pointues de méta-programmation --- est a
priori impossible.
Une seconde approche, opposée, consiste à écrire un compilateur pour le
DSL à partir de zéro. Toute liberté est alors donnée à l'implémenteur
d'intégrer à son compilateur des passes d'optimisation spécifiques… mais
au prix d'une réimplémentation de passes de compilation déjà présentes,
et certainement plus abouties, dans le compilateur de son langage
généraliste favori.
Dans cet exposé, je présenterai les travaux de Martin Odersky et son
équipe sur la virtualisation de DSLs à l'intérieur du langage de
programmation Scala. La virtualisation de langage utilise intensivement
le polymorphisme et la composition mixin de Scala ainsi que des
techniques de génération de code à l'exécution pour embarquer des
langages spécifiques dans Scala dont la compilation peut réutiliser des
modules du compilateur mais aussi étendre ces derniers par des
optimisations spécifiques au domaine.
-- Yann Régis-Gianas est un ancien élève de l'EPITA, promo CSI 2003. À sa
sortie de l'école, il a poursuivi un troisième cycle en passant un DEA à
l'Université Paris Diderot et une thèse à l'INRIA Rocquencourt. Il est
aujourd'hui maître de conférence à Paris Diderot et travaille sur le
design des langages de programmation et de preuve.
* 15h30: Certification d'annotations de coût dans les compilateurs
-- Nicolas Ayache
Nous traitons du problème de la conception d'un compilateur où des
informations sur le coût à l'exécution du code objet sont retournées en
tant qu'annotations de coût sur le code source, et ce de façon certifiée
correcte. Pour cela, nous avons besoin d'une idée souple et précise :
(i) du sens donné aux annotations de coût, (ii) de la méthode pour les
prouver correctes et précises, et (iii) de la manière d'en composer les
preuves. Nous proposons ce que nous appelons une approche par étiquetage
pour répondre à ces trois questions. Dans un premier temps, nous
montrons son application sur un compilateur jouet. L'étude formelle qui
en découle suggère que l'approche par étiquetage a de bonnes propriétés
de compositionnalité et de passage à l'échelle. Afin de s'en convaincre
davantage, nous rapportons notre retour d'expérience sur
l'implémentation d'un compilateur prototype écrit en ocaml pour un large
sous-ensemble du langage C.
-- Nicolas Ayache, ancien doctorant Université Paris-Sud / CEA-LIST, est
actuellement Post-doc au laboratoire PPS (Preuves, Programmes et
Systèmes) à l'université Paris Diderot.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Hello,
we are pleased to inform you that the paper entitled
"Motion compensation based on Tangent Distance prediction for video
compression"
J. Fabrizio(1), S. Dubuisson(2) and D. Béréziat(2)
(1) LRDE-EPITA, www.lrde.epita.fr
(2) UPMC-LIP6, www.lip6.fr
has just been published in Signal Processing: Image Communication
Réference : SP:IC 27(2), pages 153--171.
The abstract is given below:
We present a new algorithm for motion compensation that uses a motion
estimation method based on tangent distance. The method is compared with
a Block-Matching based approach in various common situations. Whereas
Block-Matching algorithms usually only predict positions of blocks over
time, our method also predicts the evolution of pixels into these
blocks. The prediction error is then drastically decreased. The method
is implemented into the Theora codec proving that this algorithm
improves the video codec performances.
--
Daniela Becker
Responsable administrative du LRDE
Bonjour,
nous avons le plaisir de vous présenter le n°24 du bulletin du LRDE.
Nous y parlons des deux nouveaux projets auxquels le LRDE participe :
"eTourisme Augmenté" et "TerraRush".
Vous lirez sur les activités d'Etienne Renault, doctorant, et de
Benjamin Raynal, post-doc, tous les deux chez nous depuis 6 mois.
Vous trouverez également les dernières publications et sorties de
logiciels du LRDE dans ce numéro.
Et une autre date à retenir : le mercredi 15 février aura lieu le
prochain Séminaire LRDE.
Vous pouvez télécharger le bulletin en couleur à la page suivante :
http://publis.lrde.epita.fr/201202-l-air-de-rien-24
--
Daniela Becker
Responsable administrative du LRDE
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 15 février 2012 (14h-16h).
Au programme:
* 14h: Des performances dans les nuages avec la virtualisation des langages
-- Yann Régis-Gianas
http://www.pps.jussieu.fr/~yrg/
«The effective exploitation of his powers of abstraction must be
regarded as one of the most vital activities of a competent programmer.»
disait Dijsktra.
En effet, pour aborder la complexité d'un problème, l'explicitation des
concepts utiles à sa formalisation et à sa résolution est bien souvent
une étape clé. Lorsque que l'on étend ce processus à une classe de
problèmes qui partagent les mêmes concepts, il est naturel de se doter
d'un langage le plus approprié possible pour manipuler ces abstractions
spécifiques à un domaine (en anglais, «Domain Specific Language»).
Comment implémenter ces DSLs? Une première approche classique reflète
les constructions du DSL sous la forme d'un jeu de fonctions de
bibliothèque. L'avantage de cette approche est d'utiliser directement
son langage généraliste préféré, et sa chaîne de compilation optimisée,
de façon à générer du code machine à moindre frais. Par contre, dans ce
cadre, l'écriture de passe d'optimisations spécifiques au DSL --- à
moins d'utiliser des techniques pointues de méta-programmation --- est a
priori impossible.
Une seconde approche, opposée, consiste à écrire un compilateur pour le
DSL à partir de zéro. Toute liberté est alors donnée à l'implémenteur
d'intégrer à son compilateur des passes d'optimisation spécifiques… mais
au prix d'une réimplémentation de passes de compilation déjà présentes,
et certainement plus abouties, dans le compilateur de son langage
généraliste favori.
Dans cet exposé, je présenterai les travaux de Martin Odersky et son
équipe sur la virtualisation de DSLs à l'intérieur du langage de
programmation Scala. La virtualisation de langage utilise intensivement
le polymorphisme et la composition mixin de Scala ainsi que des
techniques de génération de code à l'exécution pour embarquer des
langages spécifiques dans Scala dont la compilation peut réutiliser des
modules du compilateur mais aussi étendre ces derniers par des
optimisations spécifiques au domaine.
-- Yann Régis-Gianas est un ancien élève de l'EPITA, promo CSI 2003. À sa
sortie de l'école, il a poursuivi un troisième cycle en passant un DEA à
l'Université Paris Diderot et une thèse à l'INRIA Rocquencourt. Il est
aujourd'hui maître de conférence à Paris Diderot et travaille sur le
design des langages de programmation et de preuve.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
We are happy to announce the publication of the following new technical
report, available for download and online reading:
JSPP: Morphing C++ into JavaScript
Christopher Chedeau, Didier Verna
EPITA Research and Development Laboratory, Technical Report #201201-TR
Abstract:
In a time where the differences between static and dynamic languages are
starting to fade away, this report brings one more element to the
"convergence" picture by showing that thanks to the novelties from the
recent C++0x standard, it is relatively easy to implement a JavaScript
layer on top of C++. By that, we not only mean to implement the language
features, but also to preserve as much of its original notation as
possible. In doing so, we provide the programmer with a means to freely
incorporate highly dynamic JavaScript-like code into a regular C++
program.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
L'IRILL organise une journée de conférences et de discussions sur
l'enseignement de technologies des logiciels libres dans l'enseignement
supérieur. Le LRDE participera à cet événement qui aura lieu le jeudi 2
février 2012 dans les locaux de l'IRILL à l'antenne parisienne de
l'INRIA, 23, avenue d'Italie, 75013 Paris.
Pour en savoir plus :
http://www.irill.org/events/lsoc-logiciels-libres-et-enseignement-superieur
--
Daniela Becker
Responsable administrative du LRDE
Hello,
I'm happy to announce the release of Patcher 4.0. This is a major
release introducing many new changes and enhancements.
Patcher is a tool designed to automate and ease the maintenance of
archive-based projects. It provides assistance in building, reporting
and committing patches, as well as in handling the corresponding
ChangeLog entries, for example by creating skeletons. Patcher is the
official tool for XEmacs development.
New in this release:
** NEW FEATURES
- Support floating projects and temporary relocation
allowing to use the same project descriptor for various directories.
- Support for automatic detection of submodules
via the :submodule-detection-function project option and the
patcher-detect-submodules function. Currently supported RCS submodules are
Mercurial and Git via the functions 'patcher-[hg|git]-detect-submodules.
- Support ephemeral ChangeLogs
thanks to a new :change-logs-status project option. Ephemeral ChangeLogs are
not stored in ChangeLog files, but exist only temporarily for mail or log
message insertion (See ChangeLogs Status in the documentation).
- ChangeLog minor mode
providing easy navigation through the mail/ChangeLog buffers cycle via C-c C-p
n, C-c C-p p, C-c C-p N, C-c C-p P and C-c C-p m (See ChangeLogs Navigation in
the documentation).
- Support for switching to mail buffer and inserting ChangeLogs at once
via C-c C-p l from ChangeLog buffers.
- patcher-mail-insert-change-logs gets a prefix argument
allowing to temporarily change the ChangeLogs appearance. It also supports
inserting ChangeLogs even when the project is set not to.
- Additional binding for patcher-logmsg-commit: C-c C-p c
- Commit command buffer is now editable
Commit is done via C-c C-p c or C-c C-c (patcher-cmtcmd-commit).
- Fontification of commit command and log message buffers
with comment syntax and initial informative help. See new Patcher faces.
- Support for commit or log message canceling
via C-c C-z.
- Support for project abortion
via C-c C-p k or C-c C-k in all relevant buffers, including ChangeLogs.
- Support Subject: header modification in mail adaptation routines
via a new project option :subject-rewrite-format.
- Support project-wide dynamic subject modification
via C-c C-p S in both mail and log message buffers.
- Implement :kill-source-files-after-sending project option
- Support for source file saving
- Support for CVS diff's broken exit code policy
via a new project option: :ignore-diff-status.
* FIXES AND IMPROVEMENTS
- Improved support for temporary subprojects
making them behave like permanent ones (with a specific subdirectory and set
of files).
- Much better error handling
including exit code checking for external processes.
- Improved support for overlapping Patcher instances
through buffer and file referencing for both ChangeLog and source files.
- Documentation rewrite and sections organization cleanup
- More checks for project consistency
including missing or spurious ChangeLog entries, source diffs, undiffable and
uncommittable projects etc.
- Improved project rediffing
including support for partially generated ChangeLog skeletons, and interactive
prompting for skeleton un/re-generation.
* BACKWARD INCOMPATIBLE CHANGES
- Mercurial themes renamed from 'mercurial to 'hg
in order to remain consistent with the other RCS theme names.
- ChangeLogs insertion in mail buffers rebound to C-c C-p l
- Compressed ChangeLogs insertion in logmsg buffers rebound to C-c C-p L
- Removed directory-sep-char hacks
until the need for it raises again. Probably better implemented via project
options anyway.
- Diff commands can no longer be changed from patcher-mail-[adapt]
but instead, the prefix argument allows for temporary subproject
specification.
- patcher-*-subproject entry points removed
since they are no longer needed (see above).
- Removed :kill-source-file-after-diffing option
- :kill-source-files-after-sending renamed to :kill-sources-after-sending
- patcher-mail-check-change-logs-insertion is now a project option
named :check-change-logs-insertion.
- patcher-mail-check-commit-action is now a project option
named :check-commit.
- :change-logs-diff-command option now understands nil instead of 'diff
- The 'packed ChangeLogs appearance has been renamed to 'pack
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Hello, and happy new year to all !
I'm pleased to announce that I will hold a 90 minutes session at the
next ACCU conference in Oxford, April 2012.
The session's topic is given below:
Impact of Extensibility on Domain Specific Language Design and Implementation
Domain-specific languages (DSLs) are usually very different from the
general purpose language (GPL) in which the embedding application is
written. The need for designing a DSL as a completely new language often
comes from the lack of extensibility of the chosen GPL. By imposing a
rigid syntax, a set of predefined operators and data structures, the
traditional GPL approach leaves no choice but to implement a DSL as a
different language, with its own lexical and syntactic parser, semantic
analyzer and possibly its own brand new interpreter or even compiler.
Some GPLs, however, are extensible or customizable enough to let one
implement a DSL merely as either a subset or an extension of the
original language. While the end-user does not see a difference with the
traditional approach, the gain for the developer is substantial. Since
the DSL is now just another entry point for the same original GPL, there
is essentially only one application written in only one language to
maintain. Moreover, no specific language infrastructure (parser,
interpreter, compiler etc.) is required for the DSL anymore, since it is
simply expressed in terms of the original GPL.
The purpose of this presentation is to illustrate the most important
factors that make a language truly extensible, and to show how
extensibility impacts the process of DSL design and implementation.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22