Publications

Polar type inference with intersection types and $\omega$

Sébastien Carlier

We present a type system featuring intersection types and omega, a type constant which is assigned to unused terms. We exploit and extend the technology of expansion variables from the recently developed System I, with which we believe our system shares many interesting properties, such as strong normalization, principal typings, and compositional analysis. Our presentation emphasizes a polarity discipline and shows its benefits. We syntactically distinguish positive and negative types, and give them different interpretations. We take the point of view that the interpretation of a type is intrinsic to it, and should not change implicitly when it appears at the opposite polarity. Our system is the result of a process which started with an extension of Trevor Jim’s Polar Type System.

Generic implementation of morphological image operators

Jérôme Darbon · Thierry Géraud · Alexandre Duret-Lutz

Several libraries dedicated to mathematical morphology exist. But they lack genericity, that is to say, the ability for operators to accept input of different natures —2D binary images, graphs enclosing floating values, etc. We describe solutions which are integrated in Olena, a library providing morphological operators. We demonstrate with some examples that translating mathematical formulas and algorithms into source code is made easy and safe with Olena. Moreover, experimental results show that no extra costs at run-time are induced.

Color image segmentation based on automatic morphological clustering

Thierry Géraud · Pierre-Yves Strub · Jérôme Darbon

We present an original method to segment color images using a classification in the 3-D color space. In the case of ordinary images, clusters that appear in 3-D histograms usually do not fit a well-known statistical model. For that reason, we propose a classifier that relies on mathematical morphology, and more precisely on the watershed algorithm. We show on various images that the expected color clusters are correctly identified by our method. Last, to segment color images into coherent regions, we perform a Markovian labeling that takes advantage of the morphological classification results.

Virtual reality and tele-operation: A common framework

Didier Verna

This paper proposes an overview of a study that conceptually unify the fields of virtual reality and tele-operation, by analyzing the notion of “assistance” to the operator of a virtual reality or tele-operation system. This analysis demonstrates that cases of assistance that are usually considered to belong to virtual reality are not conceptually different from what has been done in tele-operation since long before virtual reality appeared. With this common framework for virtual reality and tele-operation, we hope to provide a theoretical formalization of many ideas acquired empirically, and hence a basis onto which further discussion could be undertaken in a constructive manner.

Expression templates in Ada 95

Alexandre Duret-Lutz

High-order matrix or vector expressions tend to be penalized by the use of huge temporary variables. Expression templates is a C++ technique which can be used to avoid these temporaries, in a way that is transparent to the user. We present an Ada adaptation of this technique which - while not transparent - addresses the same efficiency issue as the original. We make intensive use of the signature idiom to combine packages together, and discuss its importance in generic programming. Finally, we express some concerns about generic programming in Ada.

Segmentation d’images en couleur par classification morphologique non supervisée

Thierry Géraud · Pierre-Yves Strub · Jérôme Darbon

In this paper, we present an original method to segment color images using a classification of the image histogram in the 3D color space. As color modes in natural images usually do not fit a well-known statistical model, we propose a classifier that rely on mathematical morphology and, more particularly, on the watershed algorithm. We show on various images that the expected color modes are correctly identified and, in order to obtain coherent region, we extend the method to make the segmentation contextual.

Visualization issues in virtual environments: From computer graphics techniques to intentional visualization

Alexis Angelidis · Geoffroy Fouquier

Rendering efficiently large virtual environment scenes composed of many elements, dynamic objects, and a highly moving viewpoint is a major issue. This paper focuses on the first of the two viewing stage operations: required elements determination, the second being shading/filtering. We propose a classification, extending the existing computer graphic techniques toward display scalability requirements, that distinguishes two key points: keeping only required elements (culling), and keeping only required details (which includes traditional LODs). The mechanisms needed for display scalability are presented.

Applying generic programming to image processing

Thierry Géraud · Yoann Fabre · Alexandre Duret-Lutz

This paper presents the evolution of algorithms implementation in image processing libraries and discusses the limits of these implementations in terms of reusability. In particular, we show that in C++, an algorithm can have a general implementation; said differently, an implementation can be generic, i.e., independent of both the input aggregate type and the type of the data contained in the input aggregate. A total reusability of algorithms can therefore be obtained; moreover, a generic implementation is more natural and does not introduce a meaningful additional cost in execution time as compared to an implementation dedicated to a particular input type.

Error correcting code performance for watermark protection

Jérôme Darbon · Bulent Sankur · Henri Maître

The watermark signals are weakly inserted in images due to imperceptibility constraints which makes them prone to errors in the extraction stage. Although the error correcting codes can potentially improve their performance one must pay attention to the fact that the watermarking channel is in general very noisy. We have considered the trade-off of the BCH codes and repetition codes in various concatenation modes. At the higher rates that can be encountered in watermarking channels such as due to low-quality JPEG compression, codes like the BCH codes cease being useful. Repetition coding seems to be the last resort at these error rates of 25% and beyond. It has been observed that there is a zone of bit error rate where their concatenation turns out to be more useful. In fact the concatenation of repetition and BCH codes judiciously dimensioned, given the available number of insertion sites and the payload size, achieves a higher reliability level.

Generic design patterns in C++

Alexandre Duret-Lutz · Thierry Géraud · Akim Demaille

Generic programming is a paradigm whose wide adoption by the C++ community is quite recent. In this approach most classes and procedures are parameterized, leading to the construction of general and efficient software components. In this paper, we show how some design patterns from Gamma et al. can be adapted to this paradigm. Although these patterns rely highly on dynamic binding. We show that, by making intensive use of parametric polymorphism in the context of generic programming, the method calls in these patterns can be resolved at compile-time. The speed-up achieved using these patterns is significant.