Programmation

Modifications colorimétriques d’images et de vidéos

Les appareils imageurs grand-public (appareils numériques compacts, réflexes, photo-phones) ont pris ces dernières années une place croissante dans la vie quotidienne, et le développement d’algorithmes de restauration des images et des vidéo est un important enjeu industriel. Il s’agit également d’un domaine pour lequel les échanges entre recherche académique et applications sont particulièrement rapides.

Un harmoniseur automatique avec rectification de hauteur pour l’aide à la composition musicale

De nombreuses applications musicales permettent de générer un accompagnement dans un style bien défini à partir d’une suite d’accord (JamGrid, Band in a Box…), afin de permettre au musicien soliste de travailler son improvisation.

Dans ce projet, nous nous intéressons au problème inverse, qui consiste à proposer au musicien soliste une suggestion d’accords pour l’aider à créer un accompagnement à partir d’un thème qu’il aura trouvé.

Interpréteur Logo pour programmer une tortue graphique

Logo est un langage de programmation qui fut très populaire dans les années 1980 pour sa fonctionnalité de tortue graphique : le langage permet de décrire, de manière assez simple, des instructions à l'intention d'une tortue qui parcourt un espace de travail. Ainsi, pour dessiner une maison, on peut écrire le programme suivant :

 

POUR carré

 RÉPÈTE 4 [AVANCE 50 DROITE 90]

FIN

 

Test de Turing pour le générateur poïétique

Ce projet a été proposé par un groupe d'étudiants. Il leur sera donc attribué d'office, sauf en cas de désistement.

On observe généralement des phénomènes émergents. Au départ, chacun découvre les possibilités d’action sur sa zone. Puis les utilisateurs découvrent des régularités structurelles entre leur création et une autre zone, souvent une zone adjacente. On observe alors une simplification du tableau global. Lorsque la "logique" globale devient trop simple au goût de certains, ils se plaisent à réintroduire de la diversité.

Émergence d’une communication coûteuse dans les réseaux sociaux

Les réseaux sociaux reposent en partie sur le principe suivant: les individus réalisent des actes de communication (tweets, posts, discussions...) et établissent des liens sur la base des actes de communication des autres. Or les actes de communication ont un coût, ne serait-ce que par le temps qu’ils nécessitent (penser à la tenue d’un blog).

La question se pose de savoir quel est l’investissement optimal que chacun doit consentir à la communication, en fonction du gain social qu’il peut espérer.

TV3D

L’avenir de la visualisation en 3D passe par le développement de nouvelles technologies ne  nécessitant pas le port de lunettes et offrant une grande qualité d’image ainsi qu’une réelle sensation d’immersion. L'objectif de ce projet est l'exploration et la mise en oeuvre de techniques de capture, édition, diffusion et d'affichage permettant une visualisation en vraie 3D, sans nécessiter le port de lunettes.

LOOOK: Live MOOC Orchestration using Kinect

Massive Open Online Courses (MOOCs) are online courses accessible via a web interface. Traditionally they consist of digital material collections on a topic, such as slides, notes etc. and pre-recorded video lectures. In order to reduce the time required for a course to be accessible, we propose the live streaming of the lectures. This approach has many challenges – like the timing of the slides according to the lecture progress, and other functions that are available by post-production techniques on the recorded material.

Estimateur de probabilité de fautes pour circuit combinatoire

Depuis plusieurs années, nous bénéficions de systèmes électroniques de plus en plus compacts et puissants. Ceci est dû notamment aux formidables progrès effectués en technologie CMOS (cf. Loi de Moore) permettant la miniaturisation des composants. Cependant, la réduction d’échelle s’accompagne d’une augmentation de la probabilité de fautes dans les circuits (soft error rate) ce qui impacte négativement la sûreté de fonctionnement.

Simulateur d’un ordonnanceur temps réel pour multi-cœurs

Les systèmes embarqués temps réel se composent de tâches périodiques qui doivent respecter des échéances de temps, notamment que chaque exécution de la tâche soit terminée avant sa période et donc sa nouvelle activation. Pour assurer ces contraintes, l’algorithme d’ordonnancement doit être spécifique et notamment diffère de ceux que l’on peut trouver sur les systèmes d’exploitation à temps partagé comme Unix. Ces algorithmes sont très bien connus lorsque la plate-forme d’exécution est un mono-processeur.

Et si on jouait ?

Votre mission, si vous l'acceptez, consistera à créer un jeu complet (avec graphiques, musique, niveaux, etc.) qui devra être jouable à la fois depuis un navigateur web et depuis un téléphone mobile. Infaisable ? Non, avec les évolutions d'HTML, CSS et Javascript, et grâce à des bibliothèques open-source comme Phaser, il est possible de développer un jeu uniquement avec les technologies du web. Et pour le mobile ?

Pages

Subscribe to RSS - Programmation