HAL Id: hal-00122552
https://hal.archives-ouvertes.fr/hal-00122552
Submitted on 19 Jan 2020
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de
Application d’un cache 2D prédictif à l’accélération de la rétroprojection TEP 2D
Stéphane Mancini, Nicolas Gac, Michel Desvignes, O. Bourrion, O. Rossetto
To cite this version:
Stéphane Mancini, Nicolas Gac, Michel Desvignes, O. Bourrion, O. Rossetto. Application d’un cache
2D prédictif à l’accélération de la rétroprojection TEP 2D. Traitement du Signal, Lavoisier, 2006, 23,
pp.Numéro 5-6. �hal-00122552�
Application d’un cache 2D pr´edictif ` a l’acc´el´eration de la r´etroprojection TEP 2D
2D PET backprojection acceleration through a 2D predictive cache
S. Mancini 1 , N. Gac 1 , M. Desvignes 1 , O. Bourrion 2 , O. Rossetto 2
1 Laboratoire des Images et des Signaux, Grenoble, France
2 Laboratoire de Physique Subatomique et Cosmologie, Grenoble, France
Mots cl´ es : imagerie TEP, Reconstruction, R´ etro-projection, Ad´ equation Algo- rithme Architecture, Partitionnement mat´ eriel/logiciel, System on Programmable Chip, Cache, FPGA
Key words : PET imaging, Reconstruction, Backprojection, Algorithm Architecture Adequacy, Hardware/software partitionning, System on Programmable Chip, Cache, FPGA
R´ esum´ e : Le d´ eveloppement et la diffusion des ´ equipements TEP passent par la r´ eduction des temps de calcul de la reconstruction des images acquises. Aussi cet article pr´ esente une solution mixte logicielle/mat´ erielle pour l’acc´ el´ eration de la reconstruction 2D sur une plateforme SOPC (System on Programmable Chip), la nouvelle g´ en´ eration de circuits reconfigurables. Le verrou technologique pos´ e par la latence des acc` es m´ emoire est lev´ e grˆ ace au cache 2D Adaptatif et Pr´ edictif (cache 2D-AP).
Abstract : Reduction of image reconstruction time is a key point for the development and spreading of PET scans. Thus this article presentes a hardware/software architecture which aims at accelerating the 2D reconstruction on a SoPC (System on Programmable Chip) plateform, the new generation of reconfigurable chip. Issue posed by the latency of memory accesses has been solved thanks to the 2D Aptative and Predictive cache (2D-AP cache).
1 Introduction
La tomographie d’´ emission de positons (TEP) est une imagerie nucl´ eaire fonc- tionnelle in vivo utilisant des marqueurs radioactifs qui permet de nombreuses explora- tions des syst` emes biologiques en raison de la vari´ et´ e des traceurs [6], compl´ ementaire aux autres techniques d’imagerie m´ edicale (IRM, Tomodensitom´ etrie X, etc ...). Cette imagerie consiste dans un premier temps ` a d´ etecter en co¨ıncidence les deux photons
´ emis dans des directions oppos´ ees apr` es annihilation du positon ´ emis lors du processus
de d´ esint´ egration du traceur. Puis, la reconstruction donne une estimation de la densit´ e
volumique du traceur qui est une mesure de l’activit´ e biologique associ´ ee au traceur.
De nombreux progr` es ont ´ et´ e r´ ealis´ es dans le domaine de l’imagerie nucl´ eaire mais la r´ esolution et la rapidit´ e de la reconstruction logicielle des images restent un frein majeur pour de nombreuses applications. Une reconstruction rapide, interactive, et de bonne qualit´ e est d’un int´ erˆ et essentiel pour les nombreuses applications de l’imagerie TEP mais reste difficile ` a atteindre avec les syst` emes actuels. Dans le domaine clinique, cela offre la possibilit´ e de repositionner le patient si besoin ou de diminuer les doses inject´ ees
`
a qualit´ e ´ egale. Dans le domaine ´ economique, cette am´ elioration r´ eduit les coˆ uts grˆ ace
`
a une meilleure disponibilit´ e du mat´ eriel. Dans le domaine de la recherche, les ´ etudes pharmacologiques sur le petit animal (micro TEP) dans de grandes s´ eries n´ ecessitent cette rapidit´ e.
L’acquisition des donn´ ees et la reconstruction d’image sont g´ en´ eralement effectu´ ees en deux ´ etapes distinctes, en ligne pour l’acquisition, hors ligne pour la reconstruction.
Les donn´ ees acquises sont des projections ou sinogrammes des donn´ ees physiologiques et la reconstruction d’images ou tomographie consiste ` a reconstruire l’image ` a partir de ces projections. La notion de tomographie se retrouve ´ egalement en imagerie X avec les scanners CT ou en imagerie mono photonique (SPECT). Deux grandes classes de m´ ethodes de tomographie existent :
– les m´ ethodes analytiques sont principalement bas´ ees sur la r´ etro-projection filtr´ ee et sont utilis´ ees dans les dispositifs commerciaux. Elles offrent un compromis ac- tuellement acceptable entre le temps de calcul et la qualit´ e d’image en terme de rapport signal ` a bruit et l’introduction des artefacts de reconstruction.
– les m´ ethodes alg´ ebriques et probabilistes mod´ elisent le probl` eme par un syst` eme lin´ eaire de grande dimension, dont la solution est obtenue de ce fait par une m´ e- thode it´ erative. Elles ont l’avantage de prendre en compte les ph´ enom` enes alt´ erant les hypoth` eses de base des m´ ethodes analytiques (diffusion, co¨ıncidences fortuites, etc..) et am´ eliore ainsi la qualit´ e des images reconstruites, au prix d’un coˆ ut de calcul important.
Nous nous sommes int´ eress´ es dans le cadre de cet article ` a l’algorithme classique de
r´ etro-projection, de la classe des m´ ethodes analytiques, pour sa diffusion actuelle sur les
diff´ erentes modalit´ es (X, PET, SPECT) et sa maturit´ e. Il est ` a la base de la reconstruc-
tion en 2D ou en 3D. Les m´ ethodes it´ eratives int` egrent une ´ etape de r´ etro-projection
filtr´ ee, dont le coˆ ut algorithmique est important dans le coˆ ut total. Il en existe de nom-
breuses impl´ ementations sur du mat´ eriel d´ edi´ e, sur des machines vectorielles, sur des
grappes de PC ou purement software. Notre objectif est de d´ emontrer l’int´ erˆ et des plates
formes SOPC dans ce cadre. L’analyse du probl` eme montre que la difficult´ e r´ eside prin-
cipalement dans la strat´ egie d’acc` es aux donn´ ees, non seulement de part le volume de
donn´ ees ` a utiliser mais aussi du fait de leur acc` es non s´ equentiel dans une structure
2D. Nous avons donc cherch´ e une solution efficace ` a ce goulot d’´ etranglement sur une
plate forme de test SOPC pour un algorithme de reconstruction 2D. Dans une premi` ere
partie, nous pr´ esentons un bilan de ces diff´ erentes approches pour la reconstruction par
r´ etro-projection filtr´ ee en TEP ou en Imagerie X, en 2D ou en 3D. Nous r´ esumons rapide-
ment l’algorithme de r´ etro-projection filtr´ ee et les points cl´ es de ce dernier. Les solutions
adapt´ ees sont alors propos´ ees avant d’ˆ etre ´ evalu´ ees.
Etat de l’art De nombreuses solutions ont d´ ej` a ´ et´ e ´ etudi´ ees pour acc´ el´ erer les temps d’acquisitions et de reconstruction. Le probl` eme essentiel de la reconstruction est celui de l’acc` es aux donn´ ees car la localit´ e spatiale en adresse et temporelle des donn´ ees (sino- gramme) utilis´ ees par la r´ etro-projection n’est en g´ en´ eral pas assur´ ee. En effet, lorsqu’une donn´ ee ` a l’adresse m´ emoire N est utilis´ ee, la donn´ ee suivante qui sera utilis´ ee n’est pas
`
a l’adresse N+1, et souvent, pas dans la mˆ eme page, ce qui g´ en` ere des d´ efauts de cache et ralentit le processeur. Les grandes voies ´ etudi´ ees sont l’optimisation algorithmique, la vectorisation ou parall´ elisation sur des machines sp´ ecifiques ou des grappes de calcul, les approches mat´ erielles utilisant des composants de type DSP ou plus r´ ecemment des cartes graphiques commerciales.
D’un point de vue algorithmique, en 2D, toutes les impl´ ementations de la r´ etro- projection ont une complexit´ e en O(N 3 ), o` u N est la taille de l’image ` a reconstruire.
Une version r´ ecursive [1] exploite une approche hi´ erarchique et it´ erative qui divise le probl` eme en sous probl` emes de tailles inf´ erieures plus simples ` a r´ esoudre et utilisant une interpolation. Bien que performantes, ces m´ ethodes introduisent des artefacts. Elles ne peuvent cependant prendre en compte les nombreuses g´ eom´ etries r´ eelles rencontr´ ees en pratiques [11]. Dans le cas tridimensionnel, les donn´ ees d’entr´ ees sont des sinogrammes 2D complets non disponibles dans le cadre de la TEP. La structure hi´ erarchique fortement non al´ eatoire complexifie l’acc` es aux donn´ ees et le gain r´ eel est de l’ordre de 50%, avec un choix des param` etres difficile et tr` es d´ ependant des images elles mˆ emes [15].
La vectorisation ou la parall´ elisation de la reconstruction a ´ et´ e et est un champ de recherche toujours tr` es actif. Les machines vectorielles pr´ esentent l’avantage de traiter avec une seule instruction (donc un seul cycle de chargement/d´ ecodage) un ensemble de donn´ ees bien localis´ ees, au sein d’un mˆ eme tableau. Quelques tentatives pour les exploiter en TEP ont ´ et´ e faites [8]. Elles pr´ esentent l’inconv´ enient d’ˆ etre peu ´ evolutives, ch` eres et peu nombreuses. Le principe dominant actuel dans la cat´ egorie SIMD est le Sym´ etrique Multiprocessing ou SMP. Le traitement des donn´ ees est distribu´ e sur plusieurs noeuds de calcul, permettant de r´ epartir la charge de calcul. Cette architecture est efficace lorsque les op´ erations r´ ealis´ ees en parall` eles sont ind´ ependantes et coˆ uteuses en temps devant les transmissions. Le volume des transactions ou ´ echanges doit ˆ etre limit´ e, sous peine de voir le canal de transmission satur´ e et r´ eduire consid´ erablement les performances. Ces noeuds de calculs sont localis´ es soit sur une mˆ eme machine et reli´ es par un bus (machine multi processeur) soit distribu´ es sur des machines distantes reli´ ees par un r´ eseau (grappes de PC).
Dans le cas des machines multi processeur, le nombre de noeuds de calcul est limit´ e, le coˆ ut de communication moyen, la m´ emoire est g´ en´ eralement partag´ ee. Notons que la rapidit´ e des bus n’a pas suivi la loi de Moore des processeurs et que ce d´ ecalage croissant exacerbe les probl` emes d’acc` es m´ emoires. Un des probl` emes majeurs, l’acc` es aux donn´ ees, n’est pas correctement pris en compte dans ce sch´ ema et la nature g´ en´ eraliste de cette architecture et des processeurs associ´ es limitent alors les gains de rapidit´ e [19].
Du fait de leur tr` es bon rapport prix/performance, la reconstruction sur des grappes
de PC a fait l’objet de nombreux travaux [17, 10]. L’avantage de cette architecture est l’ouverture vers un nombre ´ elev´ e de noeuds de calcul, potentiellement h´ et´ erog` ene. Le probl` eme majeur est celui de l’acc` es aux donn´ ees, le lien de communication ´ etant souvent physiquement un r´ eseau informatique classique qui limite alors les performances [21]. Sur les clusters, les communications sont souvent r´ ealis´ ees par passage de messages ` a l’aide de biblioth` eques telles que PVM, MPI ou autres. La diffusion d’une donn´ ee se fait par protocole de type unicast, une donn´ ee est transmise ` a un noeud unique. Dans le cadre de la reconstruction, une donn´ ee doit souvent ˆ etre utilis´ ee par plusieurs noeuds de calcul et les protocoles unicast g´ en` erent un trafic de contrˆ ole inutile. Bien que [18] ait montr´ e une faible efficacit´ e des broadcast MPI, [2] propose une reconstruction multicast efficace en UDP sur un faible nombre de noeuds (8). Augmenter le nombre de noeuds pose alors le probl` eme de la gestion des voxels reconstruits et du trafic g´ en´ er´ e. D’une mani` ere g´ en´ erale, les impl´ ementations vectorielles ou parall` eles classiques n’ont pas r´ esolu le probl` eme de l’acc` es aux donn´ ees.
Une solution originale a exploit´ e ces derni` eres ann´ ees les cartes graphiques standards de nos PC de bureau. L’id´ ee de base est d’utiliser le pipeline graphique haute perfor- mances inclus dans ces cartes [13]. Les premi` eres impl´ ementations avaient de fortes limi- tations, due ` a l’arithm´ etique enti` ere 8 bit de ces cartes, au manque de programmation interne au pipeline. Les nouvelles g´ en´ erations introduisent la possibilit´ e de r´ ealiser des op´ erations sur des tableaux en les programmant astucieusement [22]. Le principal pro- bl` eme reste la taille m´ emoire disponible sur les cartes, les communications m´ emoire/carte limitant alors les gains.
Les solutions mat´ erielles de type ASIC (TeraRecon) ont ´ et´ e implant´ e sur des machines commerciales, en g´ en´ eral sur les scanners CT de part de march´ e plus large que les scanners PET ou SPECT. [14, 9] sont des exemples de circuits d’acquisition. La difficult´ e de conception et le coˆ ut de ces dispositifs les rendent peu r´ eactifs aux avanc´ ees r´ ecentes et les d´ eveloppements sur ces cibles technologiques sont donc r´ eduits actuellement. Les solutions bas´ ees sur les DSP [16] sont efficaces mais pr´ esentent les mˆ emes limitations en puissance de calcul que les processeurs classiques, et le probl` eme de l’acc` es a des donn´ ees 2D reste complexe [7]. Au contraire, les FPGA, de part leur flexibilit´ e, leur reconfigurabilit´ e et les performances actuelles, sont un champ tr` es actif actuellement.
Leur premi` ere application en reconstruction concerne l’acquisition des donn´ ees [23], mais l’´ evolution technologique permet aujourd’hui d’envisager de porter les algorithmes de reconstruction sur FPGA [12, 4].
L’association de FPGA et de processeurs ` a usage g´ en´ eraux sur les plates formes SOPC
ouvre une voix prometteuse pour l’implantation et la maintenance des algorithmes mo-
dernes de reconstruction tomographique. Les performances temporelles attendues sont
proches des circuits d´ edi´ es, tout en conservant en grande partie la flexibilit´ e du logi-
ciel. Les points essentiels ` a prendre en compte lors de l’implantation sont les acc` es non
s´ equentiels et multiples aux donn´ ees, c’est ` a dire, les probl` emes de localit´ e spatiale et
temporelle.
2 Objectifs
2.1 L’algorithme
L’algorithme impl´ ement´ e effectue la r´ etro-projection des donn´ ees acquises par le scan- ner. Ces derni` eres, appel´ ees sinogrammes, forment la transform´ ee de Radon de la fonc- tion f repr´ esentant la densit´ e du taux d’´ emission radioactive du volume observ´ e. Le sinogramme est une matrice image ` a deux dimensions ` a K colonnes. Chaque colonne k correspond ` a la projection orthogonale de f sur r d´ etecteurs plac´ es orthogonalement sur une ligne inclin´ ee de l’angle θ k = k∗π K par rapport ` a l’axe x. Ainsi, le point du sino- gramme S(θ k , r) est la somme des pixels sur une Ligne De R´ eponse (LDR) du scanner qui est perpendiculaire ` a l’axe des d´ etecteurs et passe par le d´ etecteur r. A partir de ce sinogramme, l’algorithme reconstruit l’image f ∗ en r´ etro-projetant les K lignes du sinogramme dans l’espace image.
f ∗ (x, y) =
K
X
k=0
S(k, r k (x, y)) (1)
r k (x, y) = x cos( kπ
K ) − y sin( kπ
K ) + offset (2)
Cette m´ ethode n’est pas l’exacte transform´ ee de Radon inverse. En effet, elle produit des artefacts en ´ etoile et l’image reconstruite devient floue. Pour am´ eliorer la reconstruction, on peut filtrer le sinogramme mais cette ´ etape ´ etant ind´ ependante de la r´ etro-projection 2D, nous ne la d´ evelopperons pas dans cet article.
2.2 Le “challenge”
Le sinogramme ´ etant stock´ e en m´ emoire externe de type SDRAM, nous devons avoir une gestion efficace de la m´ emoire pour compenser la latence et permettre un haut degr´ e de parall´ elisme. Cette strat´ egie diff` ere de celle de [3] qui utilise plusieurs bancs de m´ emoires SRAM ind´ ependants avec une latence nulle pour am´ eliorer le d´ ebit m´ emoire.
Cette derni` ere constitue cependant une solution coˆ uteuse et il est possible d’obtenir de meilleures performances avec des m´ emoires SDRAM ` a faible coˆ ut malgr´ e leur latence importante.
Les caches standards ayant pour principe un acc` es lin´ eaire ` a la m´ emoire ne peuvent
ˆ etre une solution satisfaisante ´ etant donn´ e leur complexit´ e technologique et leur faible
taux de charge de donn´ ees utiles. En effet, les acc` es m´ emoires n´ ecessaires pour recons-
truire un pixel image f ∗ (x, y) suivent une sinuso¨ıde dans le sinogramme ce qui constitue
une faible localit´ e spatiale pour les adresses m´ emoire. Pour acc´ el´ erer ces acc` es m´ emoire,
un nouveau m´ ecanisme de cache est n´ ecessaire. Une pr´ ediction des points du sinogramme
dont a besoin l’unit´ e de calcul permettra au cache de charger les donn´ ees pendant le pro-
cessus de calcul.
2.3 Localit´ e temporelle et spatiale 2D
Reconstruction par blocs La localit´ e spatiale 2D et temporelle exploit´ ee par le cache 2D adaptatif et pr´ edictif est cr´ e´ ee en reconstruisant l’image f ∗ par blocs et en modifiant l’enchaˆınement des boucles de l’algorithme, le sinogramme ´ etant parcouru en phase. La reconstruction par blocs nous permet d’augmenter le taux de r´ eutilisation des donn´ ees du sinogramme selon r ` a k constant, ce qui est favorable ` a l’utilisation d’un cache. La taille du cache, qui correspond ` a la dur´ ee d’utilisation des donn´ ees, est r´ eduite en accroissant la localit´ e en k.
L’ensemble des donn´ ees n´ ecessaires ` a la reconstruction d’un bloc de f ∗ est l’union des sinuso¨ıdes n´ ecessaires ` a la reconstruction de chacun des pixels du bloc. Ces donn´ ees forment un “tube” de donn´ ees voisines du fait de la continuit´ e de la fonction qui associe
`
a chaque pixel de f ∗ l’ensemble de coordonn´ ees (k, r k (x, y)), k ∈ [0, π[. Lors de la recons- truction d’un bloc B, pour un k donn´ e, l’ensemble des donn´ ees (k, r k (x, y)), (x, y) ∈ B correspond ` a la projection du bloc B sur la ligne de d´ etecteur d’angle θ k .
Dans le cas particulier de la reconstruction d’un bloc carr´ e de taille n ∗ n, B n , (k, r k (x, y)), (x, y) ∈ B n est de hauteur maximale √
2n et minimale n. En moyenne, une donn´ ee du sinogramme est donc r´ eutilis´ ee au mieux n fois et √ n
2 au minimum. Le pre- mier cas correspond ` a θ k ∈ {0, π 2 }, le second ` a θ k ∈ { π 4 , 3 π 4 }. Dans ce dernier cas, au pire une donn´ ee sinogramme est utilis´ ee une fois et √
2n au mieux (c’est la projection d’un carr´ e sur sa diagonale). Bien entendu, toute forme de bloc qui permet un pavage de f ∗ convient (par exemple des hexagones, etc ...).
L’algorithme de reconstruction est maintenant le suivant : Pour chaque bloc B de f ∗
∀(x, y) ∈ B, f ∗ (x, y) = 0
∀k ∈ {0, K − 1}
∀(x, y) ∈ B, f ∗ (x, y)+ = S(k, r k (x, y))
Compromis localit´ e/ressources Nous avons donc ` a trouver un compromis sur n dont l’augmentation d’une part am´ eliore l’efficacit´ e du cache mais accroˆıt d’autre part les ressources mat´ erielles du cache et la quantit´ e de m´ emoire n´ ecessaire aux variables interm´ ediaires. En effet, la hauteur du sinogramme m´ emoris´ e en cache ´ evolue avec √
2n et il faut stocker les n 2 valeurs interm´ ediaires de f ∗ (x, y) pour (x, y) ∈ B.
La valeur optimale de n d´ epend aussi des performances du cache qui sont fonctions,
entre autre, des dimensions de la zone en cache, du d´ ebit, et de la latence des acc` es ` a la
m´ emoire principale, comme nous le verrons au chapitre 3.1.
SDRAM
Backprojection 2D
2D−AP Cache
Data Data Adresses
P=(x,y)
Sinogram
Cached zones Accessed pixels
Fig. 1 – Concept du cache 2D-AP
3 Architecture
3.1 Le cache 2D adaptatif et pr´ edictif 3.1.1 Objectifs du cache 2D-AP
Le cache 2D-AP est l’´ el´ ement original de l’architecture propos´ ee en permettant aux unit´ es de calculs d’acc´ eder aux donn´ ees sans temps mort. Ceci est rendu possible grˆ ace ` a un m´ ecanisme g´ en´ erique de pr´ ediction des prochaines donn´ ees utilis´ ees. Le cache 2D-AP anticipe les acc` es au sinogramme 2D par une analyse de la s´ equence des coordonn´ ees de pixels requis par l’unit´ e de calcul pour pr´ edire les prochains acc` es ` a partir d’une hypoth` ese ` a vitesse de d´ eplacement constante sur l’image (les donn´ ees), ce qui est le cas de notre application. La reconstruction d’un bloc de pixels permet de produire une s´ equence d’acc` es au sinogramme qui tire partie au mieux des caract´ eristiques du cache 2D-AP.
3.1.2 Fonctionnement
La pr´ ediction de la zone en cache permet de r´ eduire le taux de d´ efaut de cache lorsque les acc` es pixels suivant se d´ eplacent sur l’image. Le centre et la taille de la zone sont d´ etermin´ es par le calcul de la moyenne et du pseudo ´ ecart type (PSD=pseudo standard deviation) des acc` es pixels. La moyenne et le PSD sont calcul´ es ` a l’aide de filtres passe- bas r´ ecursifs du premier ordre. En supposant une distribution uniforme des acc` es pixels autour de la moyenne, nous pouvons estimer que, pour une courte dur´ ee, ils sont dans un rectangle centr´ e sur la moyenne et dont les demi-largeurs valent deux fois le PSD sur chaque axe. La zone ainsi calcul´ ee est mise ` a jour lorsque la moyenne varie.
Un m´ ecanisme de pr´ ediction permet d’anticiper la position du centre du cache lorsque
les acc` es pixels suivent un chemin complexe dans l’image et r´ eduit ainsi le coˆ ut de la
latence des acc` es m´ emoire. La mise ` a jour ne se produit que lorsque la moyenne a
suffisamment vari´ ee et la nouvelle zone est centr´ ee sur une anticipation de la moyenne,
suppos´ ee se d´ eplacer ` a vitesse constante. Ainsi, une zone de garde est d´ efinie autour du