HAL Id: hal-00102907
https://hal.archives-ouvertes.fr/hal-00102907
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 teaching and research institutions in France or abroad, or from public or private research centers.
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 recherche français ou étrangers, des laboratoires publics ou privés.
Rétroprojection 2D sur plateforme SOPC
Stéphane Mancini, Nicolas Gac, Michel Desvignes
To cite this version:
Stéphane Mancini, Nicolas Gac, Michel Desvignes. Rétroprojection 2D sur plateforme SOPC.
GRETSI’05, Sep 2005, Louvain-la-neuve, Belgique. pp.783-786. �hal-00102907�
R´ etroprojection 2D sur plateforme SOPC
St´ ephane Mancini , Nicolas Gac , Michel Desvignes Laboratoire des Images et des Signaux
46 avenue F´ elix Viallet, 38031 Grenoble Cedex 1, France
{stephane.mancini, nicolas.gac, michel.desvignes}@lis.inpg.fr
R´ esum´ e – Le d´ eveloppement et la diffusion des ´ equipements TEP passent par la r´ eduction des temps de calcul de la re- construction des images acquises. Aussi cet arcticle 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 reconstruction d’images en tomographie ` a ´ emissions de positons (TEP) s’effectue ` a l’aide de processeurs clas- siques et demande un temps de calcul important. Elle est ainsi souvent d´ ecoupl´ ee du processus d’acquisition. Or une reconstruction rapide des donn´ ees acquises en imagerie TEP faciliterait le positionnement du patient et aiderait
`
a d´ etecter des probl` emes potentiels survenus lors de l’ac- quisition. L’obtention rapide d’une image permettrait de r´ eduire sensiblement la dur´ ee des examens cliniques TEP pour la d´ etection pr´ ecoce du cancer, l’´ evaluation de la pro- pagation de la maladie et de la r´ eponse au traitement.
Cela permettrait de r´ eduire les coˆ uts de ces examens et favoriserait la diffusion de cette technique efficace d’ima- gerie m´ edicale mol´ eculaire. De plus, son utilisation pour la mammographie ou pour l’´ etude des petits animaux (micro PET) n´ ecessite un syst` eme simple, flexible et rapide.
La reconstruction d’image s’effectue g´ en´ eralement en deux ´ etapes : acquisition des donn´ ees puis r´ etroprojection filtr´ ee. Les travaux de ces derni` eres ann´ ees portant sur l’acquisition en TEP humaine ont augment´ e la qualit´ e et la vitesse d’acquisition en utilisant du mat´ eriel d´ edi´ e [1].
En effet, les processeurs de traitement num´ erique (DSP) et/ou les nouvelles technologies de logique programmable (FPGA) offrent une solution modulaire, adaptable et pro- grammable, qui r´ eduit les coˆ uts et le temps en recherche et developpement. La r´ etroprojection n’est pas unique- ment utilis´ ee en TEP, elle l’est ´ egalement dans d’autres domaines de la tomographie que ce soit en tomodensito- m´ etrie ` a rayons X ou en Tomographie ` a Emission Mono- photonique (TEMP). Une autre famille d’algorithme se d´ eveloppe de plus en plus : les algorithmes it´ eratifs. Ils augmentent sensiblement la qualit´ e des images (art´ efacts, ratio signal sur bruit) mais n´ ecessitent un temps de recons- truction notablement sup´ erieur aux techniques classiques
de r´ etroprojection filtr´ ee.
Il existe plusieurs impl´ ementations de r´ etroprojection sur des clusters de PC [2, 3], sur du mat´ eriel d´ edi´ e comme les ASICS ou les FPGA [4] (pour les scanners X) ou avec une architecture logicielle/mat´ erielle [5]. Une autre stra- t´ egie est d’utiliser les processeurs 3D classiques comme les GPU (Graphic Processor Unit) pour acc´ el´ erer la recons- truction [6]. Le principal goulot d’´ etranglement de tels sys- t` emes est l’acc` es ` a la m´ emoire stockant les sinogrammes.
En effet, pour reconstruire un pixel il faut parcourir enti` e- rement tous les sinogrammes selon une courbe sinuso¨ıdale.
La recherche de parall´ elisation des calculs est rendu dif- ficile par la limitation des acc` es m´ emoire par la bande passante de la m´ emoire principale.
Cet article pr´ esente un syst` eme de reconstruction par r´ etroprojection 2D impl´ ement´ e sur une plateforme SOPC (System On Programmable Chip). L’originalit´ e de ce sys- t` eme r´ eside dans son architecture, solution efficace au pro- bl` eme soulev´ e par les acc` es aux m´ emoires externes. En effet, ces m´ emoires de type SDRAM sont peu coˆ uteuses mais lentes et cr´ eent ainsi un goulot d’´ etranglement. Le cache 2D adaptatif et pr´ edictif (cache 2D-AP) d´ ecrit en [7] constitue la base cette architecture. Cette strat´ egie s’est av´ er´ ee efficace : elle permet de r´ eduire le temps de recons- truction d’un ordre de magnitude par rapport aux solu- tions logicielles.
2 Objectifs
2.1 L’algorithme
L’algorithme impl´ ement´ e effectue la r´ etroprojcetion des
donn´ ees acquises par le scanner. 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 radioac-
tive 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´ e- tecteurs plac´ es orthogonalement sur une ligne inclin´ ee de l’angle θ k = k∗π K par rapport ` a l’axe x. Ainsi, le point du sinogramme 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´ etroprojetant les K lignes du sinogramme dans l’espace image.
f ∗ (x, y) =
K
X
k=0
S(k, r k ) (1)
r k = x ∗ cos( kπ
K ) − y ∗ sin( kπ
K ) + offset (2) Cette m´ ethode n’est pas l’exacte transform´ ee de Ra- don 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´ etroprojection 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´ e- moire pour compenser la latence et permettre un haut de- gr´ e de parall´ elisme. Cette strat´ egie diff` ere de celle de M.
Leeser [8] qui utilise plusieurs bancs de m´ emoires SRAM ind´ ependants avec une latence nulle pour am´ eliorer le d´ e- bit m´ emoire. Cette derni` ere constitue cependant une so- lution coˆ uteuse et il est possible d’obtenir de meilleures performances avec des m´ emoires SDRAM ` a faibles coˆ uts malgr´ e une latence plus importantes. 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 reconstruire un pixel image f ∗ (x, y) suivent une si- nuso¨ıde dans le sinogramme ce qui constitue une faible localit´ e spatialle pour les adresses m´ emoire. Pour acc´ el´ e- rer 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 processus de calcul.
3 Architecture
3.1 Architecture syst` eme
Une plateforme SoPC (System on Programmable Chip) a l’avantage de permettre une impl´ ementation efficace et
´ economique de la r´ etroprojection 2D. Pour davantage de flexibilit´ e, et ` a coˆ ut r´ eduit, le sinogramme et l’image re- construite sont stock´ ees en SDRAM, ou DDR-SDRAM, et la hi´ erarchie m´ emoire indispensable au recouvrement des calculs et acc` es m´ emoires, ` a grande latence, est construite
`
a l’aide des blocs de m´ emoire embarqu´ ee dans le circuit SoPC.
L’architecture pr´ esent´ ee figure 1 est ´ evalu´ ee sur une carte qui dispose d’une interface PCI avec une station hˆ ote pour permettre l’´ echange de donn´ ees avec le syst` eme.
Cette carte dispose d’un circuit Virtex 2 Pro 2VP20, de 32 MO de SDRAM et 128 MO de DDR-SDRAM et d’un bridge PCI, r´ ealis´ e sur un FPGA Spartan. Les donn´ ees sont ´ echang´ ees entre le PC hˆ ote et la carte grˆ ace ` a un m´ ecanisme de synchronisation.
PPC
Host PC
DOCM IOCM
SDRAM Ctl BRAM SRAM Ctl
Interupt Ctl
UART
Bridge PCI
SDRAM
SRAM
Switch RS232
OPB PLB
32 64
32 32
2D Back projection Virtex II Pro
PCI Avnet evaluation Board
2D−AP Cache
Fig. 1 – Architecture Syst` eme L’architecture syst` eme est constitu´ ee :
– d’un processeur PPC en charge de la synchronisation des calculs et des communications
– d’une unit´ e de r´ etro-projection avec son cache 2D-AP illustr´ e en figure 2.
– de m´ emoire externe
Cosinus p(x,y) IT
IPIF
Results Parameters (x,y) Data
Glue logic
Cache 2D−AP Master Slave
2D−BackProjection PLB
Fig. 2 – Unit´ e de r´ etro-projection
Pour b´ en´ eficier au maximum de la coh´ erence spatiale 2D et temporelle des calculs, l’unit´ e de r´ etroprojection re- construit un bloc de forme quelconque de pixels voisins de f ∗ . Par souci de simplicit´ e les blocs sont des carr´ es de pixels mais des hexagones pourraient ˆ etre utilis´ es. Les donn´ ees du sinogramme sont fournies ` a l’unit´ e de r´ etropro- jection par le cache 2D-AP qui se charge de leur transfert depuis la m´ emoire externe, le module ´ etant maˆıtre sur le bus PLB.
Pour r´ eduire les temps de calculs, l’unit´ e de r´ etroprojec-
tion est parall´ elis´ ee et une hi´ erarchie m´ emoire fournit les
SDRAM
Cache 2D−AP System bus
2D back projection
Cache 2D−AP 2D back
projection Cache 2D−AP
Fig. 3 – Architecture parall` ele et Cache 2D-AP hierar- chique
donn´ ees aux modules : chaque module obtient ses donn´ ees d’un cache 2D-AP qui lui mˆ eme les met ` a jour ` a partir d’un cache 2D-AP de niveau sup´ erieur. Dans notre exemple, nous nous arrˆ etons ` a un cache de niveau 2, comme illustr´ e figure 3.
Cette architecture m´ emoire originale permet de n’uti- liser qu’une seule m´ emoire externe qui contient tout le sinogramme, contrairement ` a la solution propos´ ee par [8], tout en autorisant :
– le recouvrement de la latence de la m´ emoire externe et du bus syst` eme
– la r´ eduction du d´ ebit ` a la m´ emoire externe
Les performances de cette hi´ erarchie m´ emoire sont am´ e- lior´ ees lorsque la latence se r´ eduit et une connexion directe de la m´ emoire ` a l’unit´ e de r´ etro-projection permettrait de parall´ eliser massivement les unit´ es de r´ etroprojection.
3.2 Le cache 2D-AP
3.2.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 pro- chaines donn´ ees utilis´ ees. Le cache 2D-AP anticipe les ac- c` es au sinogramme 2D par une analyse de la s´ equence des coordonn´ ees de pixels requis pour pr´ edire les pro- chains acc` es ` a partir d’une hypoth` ese ` a vitesse de d´ epla- cement constante sur l’image. La reconstruction d’un bloc de pixels permet de produire une s´ equence d’acc` es au si- nogramme qui tire partie au mieux des caract´ eristiques du cache 2D-AP.
La s´ equence produite par l’unit´ e de r´ etroprojection pour reconstruire un bloc est l’union de toutes les sinuso¨ıdes n´ ecessaires ` a la reconstruction de chaque pixel. Dans le cas d’un carr´ e de pixels, la s´ equence obtenue est une sorte de “tube” dont la figure 4 donne un exemple. Pour chaque angle θ, on acc` ede ` a tous les points du sinogramme, sur une mˆ eme colonne, n´ ecessaires ` a la reconstruction de chaque pixel du bloc.
3.2.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
SDRAM Sinogram
Accessed pixels Cached zones
Backprojection 2D 2D−AP Cache
Data Data Adresses
P=(x,y)
Fig. 4 – Concept du cache 2D-AP
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 distri- bution 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 posi- tion 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 suffisament vari´ ee et la nouvelle zone est centr´ ee sur une anticipation de la moyenne, sup- pos´ ee se d´ eplacer ` a vitesse constante. Ainsi, une zone de garde est d´ efinie autour du centre de la zone en cache et la mise ` a jour se fait lorsque la moyenne calcul´ ee sort de cette zone de garde, dans la direction de sortie, comme illustr´ ee figure 5.