Programme de la journée du 22 octobre:Adéquation Algorithme-Architecture
pour le Codage et la Compression.
***********************************************************************
10h à 10h45: Architecture pour la compression-décompression d’images
grands formats par M. Akil, ESIEE
10h45 à 11h30: Transmission de flux vidéo sur systèmes de
télécommunications de 3ème et 4ème générations par Mickaël Raulet et
Olivier Deforges, INSA de Rennes
11h30 à 12h15: Encodage MPEG4 et détection de mouvement :
Adéquation Algorithme - Architecture
Auteurs: Khalil Hachicha, Sébastien Bouton, David Faura, Olivier Romain,
Patrick Garda, Universite Pierre et Marie Curie, LISIF - SYEL
12h15 à 13h: Architectures reconfigurables dédiées pour la
cryptographie: Crypto FPGA par Virgine Fresse et Victor Fischer, LTSI-
Saint-Etienne
14h15 à 15h: Expérimentation d'un flot système utilisant SystemC pour
l'intégration d'un turbo code en bloc
par Erwan Piriou, Christophe Jégo, Patrick Adde & Michel Jézéquel
Département électronique TAMCIC/CNRS, GET/ENST-Bretagne , Brest, France,
15h à 15h45: Adéquation- Algorithme- Architecture dans le cadre de
Reconfigurabilité: Égaliseur Reconfigurable d’un Système CDMA
par Ioannis Krikidis, Jean Luc Danger, Lirida Naviner - ENST
15h45 à 17h: Discussion sur les perspectives de recherches communes en
AAA pour le codage et la compression
************************************************************************
Résumés des interventions:
*************************
Architecture pour la compression-décompression d’images grands
formats par M. Akil, ESIEE
Dans le cadre des applications industrielles, les systèmes numériques
de traitement et de communication de l’informationdoivent répondre
essentiellement à des contraintes de performances et de coût. Le
contexte de notre étude se situe dans le domaine de la reprographie
professionnelle. Ce domaine se caractérise essentiellement par
l’impression d’images grand format. L’amélioration de la productivité
des plates-formes d’impression passe entre autres par la diminution
des temps de transfert des fichiers à imprimer. D’où l’importance de
la compression des données (transferts et manipulations) et
décompression (avant impression). La compression doit être sans
pertes, le taux de compression minimum requis est de 2. Une étude
algorithme nous permis de retenir l’algorithme GZIP. On présentera les
résultats de l’étude architecturale aussi bien du décompresseur que du
compresseur GZIP standard. Après une description des modes de codage
et des modes de compression du GZIP, nous présenterons l’architecture
du décodeur parallèle, bloc essentielle du décompresseur.
l’architecture complète du décompresseur ainsi que les résultats de
son implantation matérielle. Enfin, nous décrivons l’architecture
implantant l’algorithme de compression en mode « fixed » ainsi que
l’évaluation de sa complexité.
************************************************************************
Transmission de flux vidéo sur systèmes de télécommunications de 3ème et
4ème générations
par Mickaël Raulet et Olivier Deforges, INSA de Rennes
Le développement actuel des applications multimédia est à l'origine de
nouveaux standards de télécommunication. L'accroissement des échanges de
données numériques, quelle que soit leur nature, entre des appareils de
plus en plus répandus introduit de nouveaux enjeux aussi bien sur les
systèmes de communication que sur les contenus échangés.
Face au nombre croissant d'applications et d'appareils utilisant les
réseaux de communications, il s'agit maintenant de développer des
systèmes permettant l'accès multiple simultané de différents
utilisateurs et offrant une bande passante toujours plus importante.
C'est dans ce but que des recherches sont effectuées dans les
laboratoires Mitsubishi ITE et IETR groupe CPR afin de développer les
systèmes de télécommunication 3G et 4G.
Malgré l'augmentation des bandes passantes disponibles, il est toujours
nécessaireTransmission de flux vidéo sur systèmes de télécommunications
de 3ème et 4ème générations de compresser l'information à transmettre
pour occuper le moins possible les média de communication. Des méthodes
de compression vidéos on alors été développées, telles que la méthode
LAR de l'IETR, groupe Image, ou le standard de communications multimédia
MPEG 4.
Ces nouvelles applications de traitement du signal demandent de plus en
plus de quantités de calculs en un temps très cours. Les capacités de
calcul d'un processeur seul deviennent alors insuffisantes. Plusieurs
unités de calcul sont donc nécessaires sur les plates-formes de
développement. Le logiciel SynDEx basé sur la méthodologie AAA fournit
une aide au portage d'applications sur de telles architectures. La
programmation des différentes unités de calcul, notamment en ce qui
concerne les transferts et les synchronisations entre les processeurs
est rendue automatique et réalisée par l'outil.
Des démonstrateurs mettant en oeuvre la transmission de flux vidéo sur
des systèmes de télécommunication 3G et 4G sont réalisés en utilisant
SynDEx pour porter les applications sur plusieurs plate-formes de
développement SUNDANCE et PENTEK.
***********************************************************************
Architectures reconfigurables dédiées pour la cryptographie: Crypto
FPGA par Virgine Fresse et Victor Fischer, LTSI- Saint-Etienne
Dans notre exposé nous définissons d'abord le terme « la sécurité
souple » (flexible security) et nous montrons son rôle dans la sécurité
de l'information. Ensuite, nous introduisons le terme Crypto-FPGA et
nous démontrons l'importance de ce gendre de circuits. Et nous allons
montrer que, malgré ce fait, ce type de circuits n'existe pas. Suite à
cette analyse nous allons évoquer les problèmes essentiels liés à la
proposition de Crypto-FPGAs : problèmes liés à la conception au niveau
de leur macro-architecture et leur micro-architecture, problèmes
spécifiques liés à la synthèse de ces circuits, etc. Enfin, nous
discuterons les besoins spécifiques liés au différents niveaux de
sécurité à atteindre.
Expérimentation d'un flot système utilisant SystemC pour l'intégration
d'un turbo code en bloc
par Erwan Piriou, Christophe Jégo, Patrick Adde & Michel Jézéquel
Département électronique TAMCIC/CNRS, GET/ENST-Bretagne , Brest, France,
L’objectif de cette présentation est de décrire un flot de conception
remplaçant le flot traditionnel grâce à l’utilisation de description au
niveau système et du langage SystemC. Traditionnellement, pour les
communications numériques, les méthodes de conception de circuit
utilisent une spécification au niveau RTL. Cependant, ces méthodes sont
limitées et rendent fastidieuse la résolution de problèmes pour des
applications à forte complexité algorithmique. En particulier, les
applications de codage et de compression de signaux et images, telles
que les turbo codes, ont une très grande complexité qui rendent leur
intrégration difficile. Dans ce contexte, le flot proposé permet au
concepteur d'avoir dès le niveau système le contrôle sur l’architecture
de son circuit. Ce flot de conception a été validé sur un turbo décodeur
(128,120,4)2 . Les turbo codes sont une famille de codes correcteurs
d’erreurs construit par concaténation de codes élémentaires. Dans notre
cas, le processus de décodage itératif est utilisé avec des codes en
blocs appelés également codes produits. Ces derniers sont
particulièrement intéressants pour les applications haut débit et
offrent un très bon gain de codage à des taux de transfert élevés.
Dans un premier temps, nous décrirons brièvement, lors de la
présentation, le flot de conception utilisant le langage SystemC et
l'environnement de développement dédié aux SOPC, un acronyme pour
Système sur Puce Reprogrammable. Il s’agit d’une technologie novatrice
qui permet à un système de combiner l’utilisation simultanée d’éléments
logiques, de mémoires et de un ou plusieurs cœurs de processeurs. Ainsi,
le circuit, que nous avons réalisé, utilise un processeur gérant les
paramètres et les données du turbo décodeur. Les outils de Synopsys et
d’Altera sont les outils choisis pour modéliser et implémenter le
système.
Dans la suite de la présentation, l’algorithme du turbo décodeur et une
étude sur la complexité algorithmique au niveau comportementale,
permettant d’estimer grossièrement le nombre d’opérateurs utilisés, sont
décrits. Le bloc de décodage élémentaire BCH (128,120,4) est utilisé
pour les douze demi-itérations du processus de décodage. Une découpe de
ce bloc a été choisie pour obtenir une architecture relativement souple
(figure 3). Une simulation fonctionnelle, dans l'environnement Cocentric
System Studio, a été réalisée afin de vérifier les performances du bloc
élémentaire de turbo décodage.
La dernière partie de la présentation détaillera les résultats de
synthèse de l’implémentation complète du processeur et du module de
turbo décodage. Le rôle du processeur Nios est de reconstruire la
matrice 128x128 entre chaque décodage. Il utilise ainsi quatre blocs
mémoires de 245760 bits. La latence de l’architecture développée est
égale à 589.824 période d'horloge et le circuit occupe 13.616 éléments
logiques reconfigurables (CLB).
En résumé, une nouvelle méthodologie de conception, utilisant SystemC, a
été validée sur une application complexe. Ainsi, une architecture dédiée
au turbo décodeur (128,120,4)² a été conçue à partir de la technologie
SOPC. Actuellement, nous poursuivons cette étude afin de concevoir des
circuits flexibles haut débit dédiés aux turbo codes en bloc avec un
fort pouvoir de correction.
Adéquation- Algorithme- Architecture dans le cadre de Reconfigurabilité:
Égaliseur Reconfigurable d’un Système CDMA
par Ioannis Krikidis, Jean Luc Danger, Lirida Naviner - ENST
Dans cette étude, il est montré que l’Adéquation Algorithme Architecture
peut tirer profit du concept de reconfigurabilité. Un exemple est donné
pour l’égalisation d’un système de communication CDMA.
La reconfigurabilité sous entend la possibilité de modifier à la volée
une fonction par un changement non quantifiable, c'est-à-dire sans
représentation suffisante par une valeur numérique. En considérant
plusieurs algorithmes associés respectivement à une architecture propre,
la reconfigurabilité pourrait permettre de n’utiliser qu’une seule base
architecturale pour réaliser ces différents algorithmes.
Notre approche de reconfigurabilité considère que les différentes
fonctionnalités algorithmiques ont des recouvrements de calcul forts. Le
passage de l’un à l’autre n’implique donc pas de changement
architectural important et le temps de reconfiguration est en
conséquence très faible.. De plus, notre approche repose sur la
sérialisation des calculs, de façon à pouvoir moduler le temps de
traitement de chaque fonction. Les algorithmes s’appuyant sur cette
architecture reconfigurable doivent donc disposer de traitements proches
et de fonctions « sérialisables ». Ceci est particulièrement vrai dans
le domaine des télécommunications où les types de traitements sont très
similaires (produit de convolutions, traitements itératifs,
multiplications,…)
Ce point de vue de reconfigurabilité algorithmique débouche sur une
architecture très simple, facilement « implémentable » et surtout
permettant un grand niveau de flexibilité pour une complexité matérielle
donnée. L’architecture qui supporte ce type d’algorithmes est basée sur
un opérateur ayant une « granularité » fine dans lequel une fonction
peut boucler plusieurs fois et où le changement de fonction peut
s’effectuer en modifiant la connexion de quelques équipotentielles.
L’exemple choisi pour illustrer ce principe est la fonction de réception
d’un système CDMA haut débit. Le récepteur en râteau « RAKE »
reconfigurable dispose de la fonction de démodulation conventionnelle
mais aussi de la fonction d’annulation des termes d’interférence entre
symboles qui dégradent la performance. Des simulations pour un système
UMTS-FDD ont évalué l’intérêt algorithmique de l’approche.
L’architecture commune aux fonctions « RAKE » et « annulation » est
basée sur une cellule simple et reconfigurable dans laquelle le
traitement s’effectue d’une façon itérative. Les algorithmes sont
ajustables en terme de nombre d’itérations de traitement mais aussi de
temps alloué à chaque fonction. Un superviseur de reconfiguration permet
d’adapter à la volée la meilleure configuration possible en fonction du
canal et de la complexité architecturale de la cellule.