Philippe Ratajczak

Christophe Leboeuf

Li Wang

Josette Brière

Irmine Loisel-Ferreira

Catherine Thiéblemont

Wei-Li Zhao

Professor Anne Janin
email: anne.janin728@gmail.com

Irmine Loisel- Ferreira

BCL2 expression in CD105 positive neoangiogenic cells and tumor progression in angioimmunoblastic

Keywords: Angioimmunolbastic T-Cell Lyphoma, BCL2, CD105, endothelial cell, neoangiogenesis, VEGF

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.

Introduction

The angiogenic microenvironment has been known to be a component of angioimmunoblastic Tcell lymphoma since its initial characterization [START_REF] Koster | Angiogenesis in malignant lymphoma[END_REF][START_REF] Passalidou | Vascular patterns in reactive lymphoid tissue and in non-Hodgkin's lymphoma[END_REF] . We have shown that endothelial cells in invasive areas of angioimmunoblastic T-cell lymphoma produce vascular endothelial growth factor-A (VEGFA), and participate in tumor progression by an autocrine effect involving the VEGF-R1 receptor [START_REF] Zhao | Vascular endothelial growth factor-A is expressed both on lymphoma cells and endothelial cells in angioimmunoblastic T-cell lymphoma and related to lymphoma progression[END_REF] . The importance of highlighting the association of VEGFA with angioimmunoblastic Tcell lymphoma is its potential role for anti-angiogenic therapy in this disease [START_REF] Bujanda | Complete response of relapsed angioimmunoblastic T-cell lymphoma following therapy with bevacizumab[END_REF][START_REF] Alizadeh | Evaluation and management of angioimmunoblastic T-cell lymphoma: a review of current approaches and future strategies[END_REF][START_REF] Bruns | Complete remission in a patient with relapsed angioimmunoblastic T-cell lymphoma following treatment with bevacizumab[END_REF][START_REF] Dunleavy | Angioimmunoblastic T cell lymphoma: pathobiological insights and clinical implications[END_REF] .

In oral squamous cell carcinoma, a crosstalk between endothelial and tumor cells mediated by BCL2 through VEGF and its receptors has been recently identified [START_REF] Kaneko | BCL2 orchestrates a cross-talk between endothelial and tumor cells that promotes tumor growth[END_REF] . In a murine model of xenografted human squamous cell carcinoma cell lines, BCL2-transfected endothelial cells increase: i) tumor growth [START_REF] Kaneko | BCL2 orchestrates a cross-talk between endothelial and tumor cells that promotes tumor growth[END_REF] , ii) tumor invasion, as measured on matrigel, and iii) lung metastases number [START_REF] Kumar | Endothelial cells expressing BCL2 promotes tumor metastasis by enhancing tumor angiogenesis, blood vessel leakiness and tumor invasion[END_REF] . In this model, BCL2 expression by endothelial cells of tumor areas induces VEGFA overexpression by the same endothelial cells.

Hypoxia can also induce BCL2 expression in human aortic endothelial cells through p38 MAPK pathway [START_REF] Zhang | Hypoxia-induced BCL2 expression in endothelial cells via p38 MAPK pathway[END_REF] . In vitro, BCL2 expression is able to protect human dermal endothelial cells from apoptosis, independently of cytochrome c release, by increasing survivin expression, and inhibiting p53 and p38 MAPK accumulation [START_REF] Kumar | BCL2 protects endothelial cells against gammaradiation via a Raf-MEK-ERK-survivin signaling pathway that is independent of cytochrome c release[END_REF] . Moreover, blocking BCL2 activity alters in vitro endothelial cell growth and tubular morphogenesis [START_REF] Stein | an anti-BCL2 antisense oligomer that binds heparin-binding growth factors and collagen I, alters in vitro endothelial cell growth and tubular morphogenesis[END_REF] .

Neoangiogenic endothelial cells can be characterized in solid tumor by expression of CD105, a TGF-βR type III auxiliary receptor [START_REF] Fonsatti | Targeting cancer vasculature via endoglin/CD105: a novel antibody-based diagnostic and therapeutic strategy in solid tumours[END_REF] . In meningiomas, glioblastomas, and squamous cell carcinoma, CD105 expression on endothelial cells is related to neoangiogenesis and to tumor progression [START_REF] Barresi | Density of microvessels positive for CD105 (endoglin) is related to prognosis in meningiomas[END_REF][START_REF] Behrem | Endoglin is a better marker than CD31 in evaluation of angiogenesis in glioblastoma[END_REF][START_REF] Kyzas | Endoglin (CD105) as a prognostic factor in head and neck squamous cell carcinoma[END_REF] . CD105 is also expressed by endothelial cells in the primary central nervous system lymphomas and correlates with survival [START_REF] Sugita | Endoglin (CD 105) is expressed on endothelial cells in the primary central nervous system lymphomas and correlates with survival[END_REF] .

inserm-00682931, version 1 -27 Mar 2012

Here, we studied BCL2 and VEGFA expression in neoangiogenic endothelial cells and lymphoma cells in angioimmunoblastic T-cell lymphoma.

inserm-00682931, version 1 -27 Mar 2012

Design and Methods

Patient selection

30 patients with angioimmunoblastic T-cell lymphoma (14M/16F, 33-84 years, median 60 years), were included in this study. Histological diagnoses were established according to the WHO classification [START_REF] Swerdlow | WHO classification of tumours of hematopoietic and lymphoid tissues[END_REF] . Induction chemotherapy was six cycles of CHOP and CHOP-like regimen followed by consolidation and maintenance chemotherapies as previously reported [START_REF] Pautier | Angioimmunoblastic-like T-cell non Hodgkin's lymphoma: outcome after chemotherapy in 33 patients and review of the literature[END_REF] . Eight age-and sexmatched patients with lymph node hyperplasia were referred as controls. Approval was obtained from the Institut Universitaire d'Hématologie-Hôpital Saint-Louis institutional review board. All patients gave their informed consent.

Tissue Specimen

Lymph nodes, surgically removed for diagnostic purpose, were immediately cut: one part was fixed in formaldehyde and further processed for paraffin embedding, another part was snap-frozen. Bone marrow biopsies were performed in all 30 patients with angioimmunoblastic T-cell lymphoma, and skin biopsies in 11 patients with angioimmunoblastic T-cell lymphoma with skin rash.

Microvessel density

The microvessel density was evaluated by endothelial cell immunostaining with CD34 antibody (clone QBEnd10, Beckman Coulter). Angiogenesis assessment was based on the method of Weidner et al. [START_REF] Weidner | Tumor angiogenesis and metastasis-correlation in invasive breast carcinoma[END_REF] and international consensus criteria for angiogenesis quantification [START_REF] Vermeulen | Second international consensus on the methodology and criteria of evaluation of angiogenesis quantification in solid human tumours[END_REF][START_REF] Vermeulen | Quantification of angiogenesis in solid human tumours: an international consensus on the methodology and criteria of evaluation[END_REF] .

Microvessels were counted at x400 magnification on five different fields. The microvessel density of each specimen was calculated as the mean value of the different counts. Five normal lymph nodes were used as controls for microvessel density measurement.

MKI67 labelling index assessment

MKI-67 labelling index was assessed using mouse monoclonal MIB1 antibody (Dako, France) with an indirect immunoperoxidase method. MKI-67 labelling index was calculated as the percentage of inserm-00682931, version 1 -27 Mar 2012 positive nuclei for MKI67 staining at x400 magnification on five different fields. In the case of heterogeneous staining, areas containing the largest and smallest number of positive cells were selected and the percentages were averaged to give the MKI-67 labelling index.

Triple Immunofluorescent Labelings

Triple immunofluorescent labelings were performed to assess co-expression of BCL2/CD34/CD3 and BCL2/CD34/VEGFA. Since three of the four primary antibodies were mouse antibodies of the IgG1 isotype, they each required binding to different fluorophores using Apex-Alexa or Zenon kits (Invitrogen, France

Laser-microdissection combined to molecular analyses

Laser-microdissection was performed on 7µm-thick lymph node frozen sections after immunofluorescent staining; after acetone post-fixation 5 min at 4°C, sections were incubated for 5 minutes with antibodies bound to fluorophores, using Zenon kits (Invitrogen, France). CD34 antibody (clone QBEnd10, Beckman Coulter), CD105 (clone SN6h, Abcam), CD3 (rabbit polyclonal, Biocare Medical) were bound to Alexa 488, and CD10 (clone 56C6, Novocastra) to Alexa 594.

In the 30 angioimmunoblastic T-cell lymphoma lymph node sections, laser-microdissection was performed: i) for lymphoma cells, identified as CD3 + CD10 + medium-sized cells [START_REF] Konstantinou | Angiogenic mediators of the angiopoietin system are highly expressed by CD10-positive lymphoma cells in angioimmunoblastic Tcell lymphoma[END_REF][START_REF] Laurent | A novel subset of T-helper cells: follicular T-helper cells and their markers[END_REF][START_REF] Went | Marker expression in peripheral T-cell lymphoma: a proposed clinical-pathologic prognostic score[END_REF] , ii) for CD34 + endothelial cells, and iii) for CD105 + neoangiogenic endothelial cells, on different successive frozen sections.

A quantitative assessment was achieved by PALM Robo software (Zeiss-Palm, Germany). For each patient, approximately 500 CD3 + CD10 + lymphoma cells corresponding to an average surface of 170 000 µm², 500 CD34 + endothelial cells, and 500 CD105 + neoangiogenic endothelial cells, corresponding to an average surface of 100 000µm², were microdissected and catapulted into tubes for RNA extraction.

In the 8 lymph node hyperplasia frozen sections, laser-microdissection was performed to select: i) for CD3 + small-lymphocyte cells in interfollicular areas and ii) CD34 + endothelial cells, on different successive frozen sections.

Total RNA was extracted using Trizol reagent (Invitrogen, Carlsbad, CA). First-strand cDNA was synthesized using Superscript II reverse transcriptase (Invitrogen, Carlsbad, CA) according to the manufacturer's instructions.

Ascertainment of the specificity of laser microdissected cells was systematically performed using quantitative real-time PCR:

-CD34 + microdissected cells from angioimmunoblastic T-cell lymphoma and lymph node hyperplasia were considered as endothelial cells since they expressed CD31 mRNA but not CD3ε or CD10 mRNA.

-CD3 + CD10 + microdissected cells from angioimmunoblastic T-cell lymphoma were considered as lymphoma cells since they expressed CD10 mRNA but not CD31 mRNA.

inserm-00682931, version 1 -27 Mar 2012

-CD3 + microdissected cells from lymph node hyperplasia were considered as lymphocytes since they expressed CD3ε but not CD31 mRNA.

Quantitative real-time PCR was performed on an ABI PRISM 7700 system using the Pre-Developed TaqMan Assay Reagent specific for human CD3ε (Hs01062241_m1), CD10 (Hs00153510_m1), CD31 (Hs00169777_m1), BCL2 (Hs00608023_m1) and VEGFA (Hs00900055_m1), and for human transcription factor IID/TATA-binding protein (TBP) gene expression quantification (PE Applied Biosystems, UK). The TBP gene was used as an internal control. Results were quantified using the comparative cycle threshold (Ct) method. Jurkat and MCF7 cells, which respectively express the BCL2 and VEGFA genes, were used as calibrators [START_REF] Zhao | Vascular endothelial growth factor-A is expressed both on lymphoma cells and endothelial cells in angioimmunoblastic T-cell lymphoma and related to lymphoma progression[END_REF][START_REF] Soltani-Arabshahi | Bcl-xL gene expression correlated with lower apoptotic cell numbers and shorter progression-free survival in PCFCL[END_REF] .

CD3ε, CD10 and CD31 mRNA expressions were first assessed, to check the laser-microdissection selection of cell populations.

Statistical Analyses

Patient characteristics were compared using chi square and Fisher's exact tests for categorical variables, and Wilcoxon's test for continuous variables. Event-free survival was calculated from the date of diagnosis to the date of progression, relapse, or death. Overall survival was measured from the date of diagnosis to either death from any cause or the stopping date of January 1, 2008.

Survival rates were estimated using the Kaplan-Meier method and compared by log-rank test.

Multivariate survival analysis was performed using a Cox regression model. Difference were considered significant when the two-sided P-value was <0.05. Difference were considered significant when the two-sided P-value was <0.05. All statistical analyses were performed using SAS 8.2 software (SAS Institute Inc, Cary, NC, USA).

Results

BCL2 expression in AITL endothelial cells

Using two different methods, multiple fluorescent immunostainings for BCL2 and CD34 (Figure 1), and laser-microdissection combined with molecular quantitative analyses (Figure 2, Table 1), we identified BCL2 protein in angioimmunoblastic T-cell lymphoma CD34 + endothelial cells (Figure 1) and showed a significantly higher expression of BCL2 mRNA in angioimmunoblastic T-cell lymphoma endothelial cells (3.27+/-0.31) than in lymph node hyperplasia endothelial cells (1.34+/-0.17) (p=0.009). With the same methods used for laser-microdissected CD3 + CD10 + lymphoma cells, we showed a significantly higher expression of BCL2 mRNA in angioimmunoblastic T-cell lymphoma cells (28.34+/-2.34) than in lymph node hyperplasia CD3 + lymphocytes (17.47+/-1.07) (p=0.007).

In the 30 patients with angioimmunoblastic T-cell lymphoma, 27.4+/-5.3% of CD34 + endothelial cells expressed CD105 neoangiogenic marker but were not detected in the eight patients with lymph node hyperplasia (Figure 3). With BCL2/CD34/CD105 triple immmunofluorescent labelling (Figures 4 and5), in the 30 patients with angioimmunoblastic T-cell lymphoma, BCL2 was only identified in CD34 + CD105 + neoangiogenic endothelial cells (Figures 4 and5). In these patients, 24.7+/-4.1% of CD34 + endothelial cells were double positives for CD105 and BCL2 (Figure 3).

To get further insight into BCL2 expression by angioimmunoblastic T-cell lymphoma endothelial cells, CD105 + neoangiogenic endothelial cells were laser-microdissected and quantitative molecular analyses performed (Figure 6, Table 1). There was a significantly higher expression of BCL2 mRNA in angioimmunoblastic T-cell lymphoma neoangiogenic CD105 + endothelial cells (8.62+/-2.87) than in laser-microdissected CD34 + endothelial cells (3.27+/-0.31) (p=0.027).

inserm-00682931, version 1 -27 Mar 2012

BCL2 and VEGFA coexpression in angioimmunoblastic T-cell lymphoma endothelial cells

Using BCL2/VEGFA/CD34 triple immmunofluorescent labelling, we found a co-expression of BCL2 and VEGFA proteins in endothelial cells of angioimmunoblastic T-cell lymphoma (Figure 1), but not of lymph node hyperplasia endothelial cells.

Further qRT-PCR performed laser-microdissected cells showed a significant difference of VEGFA mRNA expression i) between CD34 + endothelial cells of angioimmunoblastic T-cell lymphoma and of lymph node hyperplasia (7.54+/-2.74 versus 2.99+/-0.79, p=0.023), and ii) between CD3 + CD10 + angioimmunoblastic T-cell lymphoma cells and CD3+lymph node hyperplasia lymphocytes (4.00+/-1.67 versus 0.51+/-0.06, p=0.012) (Table 1).

The coexpression of BCL2 and VEGFA in endothelial cells of angioimmunoblastic T-cell

lymphoma was also confirmed qRT-PCR of laser-microdissected cells. BCL2 and VEGFA mRNA levels were significantly related in endothelial cells of angioimmunoblastic T-cell lymphoma (R²=0.745, p<0.0001), but not of lymph node hyperplasia (R²=0.091, p=0.2572). Moreover, BCL2 and VEGFA mRNA levels are not correlated in CD3 + CD10 + angioimmunoblastic T-cell lymphoma cells (R²=0.072, p=0.1602) (Figure 2C,D).

AITL Endothelial BCL2 expression and tumor progression

In the 30 angioimmunoblastic T-cell lymphoma cases (Table 1, Figure 7), endothelial BCL2 mRNA expression was not linked with proliferation index, but it was significantly related with i) microvessel density, ii) International Prognostic Index [START_REF]A predictive model for aggressive non-Hodgkin's lymphoma. The International Non-Hodgkin's Lymphoma Prognostic Factors Project[END_REF] , iii) signs of tumor progression and extension (Bone marrow involvement, Ann Arbor Stage, elevated lactate dehydrogenase level). This contrasts with the absence of any clinical correlation with lymphoma cell BCL2 mRNA expression.

Further statistical analyses showed that BCL2 levels for CD34 + and CD105 + laser-microdissected angioimmunoblastic T-cell lymphoma endothelial cells correlated with the same clinical data. However the statistical significance was higher for CD105 + neoangiogenic endothelial cells than for CD34 + endothelial cells regarding i) microvessel density (R²=0.6412, p<0.0001 versus R²=0.5444, p=0.0017) (Figure 7) , ii) International Prognostic Index (p<0.0001 versus p=0.0002), iii) signs of tumor progression and extension (Bone marrow involvement (p<0.0001 versus p=0.0004), Ann Arbor Stage (p=0.0006 versus p=0.0018), elevated lactate dehydrogenase level (p=0.0094 versus p=0.0397).

Within a median follow-up of 61 months, 17 patients (56%) relapsed and 16 of them (53%) died.

The 2-year EFS and OS rate were, respectively, 41.3 and 72.9%, with median EFS and OS at 18.5 and 39 months. Poor EFS and OS were correlated with high BCL2 levels, in microdissected CD34 + endothelial cells (p=0.0129 and 0.0231, respectively) and in microdissected CD34 + CD105 + neoangiogenic endothelial cells (p=0.0092 and 0.0104, respectively) but not in microdissected CD3 + CD10 + lymphoma cells (p=0.0612 and 0.0783, respectively).

Multivariate analyses revealed that BCL2 levels in microdissected CD34+CD105+ neoangiogenic endothelial cells were independent adverse prognostic factors for event-free survival and overall survival (P=0.0091 and 0.0145, respectively).

inserm-00682931, version 1 -27 Mar 2012

Discussion

We showed the coexpression of BCL2 and VEGFA in endothelial and lymphoma cells of angioimmunoblastic T-cell lymphoma, and the significant relation of BCL2 expression in neoangiogenic endothelial cells with microvessel density, International Prognostic Index, and signs of tumor progression.

BCL2 overexpression is a hallmark of follicular lymphoma cells [START_REF] Hoefnagel | BCL2, Bcl-6 and CD10 expression in cutaneous B-cell lymphoma: further support for a follicle centre cell origin and differential diagnostic significance[END_REF] . It has also been reported in lymphoma cells of few angioimmunoblastic T-cell lymphoma [START_REF] Jung | Clinical role of BCL2, Bax, or p53 overexpression in peripheral T-cell lymphomas[END_REF] . However, BCL2 overexpression in endothelial cells has not been reported so far in angioimmunoblastic T-cell lymphoma.

The role of BCL2 in endothelial cells has been demonstrated by experimental studies. The specific blocking of BCL2 activity by anti-BCL2 antisense G3139, alters in vitro endothelial cell growth and tubular morphogenesis [START_REF] Stein | an anti-BCL2 antisense oligomer that binds heparin-binding growth factors and collagen I, alters in vitro endothelial cell growth and tubular morphogenesis[END_REF] . In BCL2 deficient mice, isolated retinal endothelial cells have reduced capacities of migration, tenascin-C expression, and adhesion to vitronectin and fibronectin.

They also fail to form capillaries in Matrigel [START_REF] Kondo | Attenuation of retinal endothelial cell migration and capillary morphogenesis in the absence of BCL2[END_REF] . On the contrary, experimental induction of BCL2 overexpression in HDMEC endothelial cells results in an enhanced angiogenic phenotype [START_REF] Karl | Unidirectional crosstalk between Bcl-xL and BCL2 enhances the angiogenic phenotype of endothelial cells[END_REF] . BCL2transduction in HUVEC endothelial cells induces the formation of chimeric vessels, and arteriogenic remodeling in immunodeficient mice [START_REF] Enis | Induction, differentiation, and remodeling of blood vessels after transplantation of BCL2-transduced endothelial cells[END_REF] . Moreover, the antiapoptotic activities of BCL2 correlate with vascular maturation and transcriptional modulation of HUVEC endothelial cells [START_REF] Enis | Antiapoptotic activities of BCL2 correlate with vascular maturation and transcriptional modulation of human endothelial cells[END_REF] .

BCL2 and VEGFA proteins were coexpressed in endothelial and lymphoma cells of the 30 angioimmunoblastic T-cell lymphoma cases we studied. However, a significant relation between BCL2 and VEGFA mRNA levels was only found in endothelial cells. Controls with lasermicrodissected endothelial cells from lymph node hyperplasia showed that this correlation between BCL2 and VEGFA mRNA levels was specific for angioimmunoblastic T-cell lymphoma endothelial cells. Such a correlation for endothelial cells but not for tumor cells has also been identified in oral squamous cell carcinoma [START_REF] Kaneko | BCL2 orchestrates a cross-talk between endothelial and tumor cells that promotes tumor growth[END_REF][START_REF] Nor | Vascular endothelial growth factor (VEGF)-mediated angiogenesis is associated with enhanced endothelial cell survival and induction of BCL2 expression[END_REF] , where in vitro studies further demonstrated that BCL2 expression level in endothelial cells controls VEGFA expression in tumor cells [START_REF] Kaneko | BCL2 orchestrates a cross-talk between endothelial and tumor cells that promotes tumor growth[END_REF] . In xenografted squamous cell carcinoma cell lines, BCL2 cross-talk between endothelial and tumor cells through VEGFA leads to tumor growth and metastatic development 8-9, 11, 35 .

A neoangiogenic subtype of endothelial cells, expressing CD105, a TGFβ-Receptor type III auxiliary receptor [START_REF] Fonsatti | Targeting cancer vasculature via endoglin/CD105: a novel antibody-based diagnostic and therapeutic strategy in solid tumours[END_REF] , has been identified [START_REF] Kumar | Breast carcinoma: vascular density determined using CD105 antibody correlates with tumor prognosis[END_REF][START_REF] Wikstrom | Endoglin (CD105) is expressed on immature blood vessels and is a marker for survival in prostate cancer[END_REF][START_REF] Duff | CD105 is important for angiogenesis: evidence and potential applications[END_REF] . CD105 expression on endothelial cells is related to tumor progression in squamous cell carcinoma [START_REF] Kyzas | Endoglin (CD105) as a prognostic factor in head and neck squamous cell carcinoma[END_REF] , glioblastomas [START_REF] Behrem | Endoglin is a better marker than CD31 in evaluation of angiogenesis in glioblastoma[END_REF] and meningiomas [START_REF] Barresi | Density of microvessels positive for CD105 (endoglin) is related to prognosis in meningiomas[END_REF] . It correlates with survival in primary central nervous system lymphomas [START_REF] Sugita | Endoglin (CD 105) is expressed on endothelial cells in the primary central nervous system lymphomas and correlates with survival[END_REF] . In our study using immunostainings and laser-microdissection combined with molecular analyses, we demonstrate that in angioimmunoblastic T-cell lymphoma, only CD34 + CD105 + neoangiogenic endothelial cells expressed BCL2.

The fact that BCL2 expression by these neoangiogenic endothelial cells is significantly related with microvessel density in the 30 angioimmunoblastic T-cell lymphoma cases we studied is coherent with the role of VEGFA production by endothelial cells in tumoral angiogenesis [START_REF] Carmeliet | Angiogenesis in life, disease and medicine[END_REF] . The further significant relations of BCL2 expression by neoangiogenic endothelial with International Prognostic Index and signs of tumor extension, as well as an independent prognostic factor also underline the role of angiogenesis in lymphoma progression, a fact recently identified by stromal gene signatures in large-B-cell lymphomas [START_REF] Lenz | Stromal gene signatures in large-B-cell lymphomas[END_REF] . Tumor development is characterized by a defective control of cellular homeostasis. The neoangiogenic endothelial BCL2 positives relations with International prognostic Index and signs of tumor extension, as well as an independent prognostic factor, and the absence of relation with the global Proliferation Index (i.e. stromal and tumoral cells) can be interpreted as an anti-apoptotic action of neoangiogenic endothelial BCL2 on lymphoma cells. inserm-00682931, version 1 -27 Mar 2012 Molecular evaluation of laser-microdissected CD3 + cells in lymph node hyperplasia: they express CD3ε and not CD31, thus confirming the molecular profile of lymphocytes (right).

C) The expression of BCL2 mRNA in laser-microdissected CD34 + angioimmunoblastic T-cell lymphoma endothelial cells is significantly correlated with VEGFA mRNA expression levels in the same laser-microdissected cell population (left). BCL2 and VEGFA mRNA expression levels are not correlated in the same laser-microdissected cell population of CD3 + CD10 + lymphoma cells of angioimmunoblastic T-cell lymphoma (right). D) In lymph node hyperplasia controls, no correlations are found between BCL2 and VEGFA mRNA expression levels whether for laser-microdissected CD34 + cells (left) or for lasermicrodissected CD3 + lymphocytes (right). Figure 4 BCL2 expression in CD105 + neoangiogenic endothelial cells of angioimmunoblastic T-cell lymphoma.

In the CD34+ angioimmunoblastic T-cell lymphoma endothelial population, BCL2 is co-expressed with CD105, a marker of neoangiogenic endothelial cells (Triple immunofluorescent staining: CD34 in red, CD105 in blue and BCL2 in green). A) In microdissected CD34 + endothelial cells from angioimmunoblastic T-cell lymphoma lymph node, BCL2 mRNA expression level is significantly correlated with microvessel density (left). In CD105 + neoangiogenic endothelial cells of angioimmunoblastic T-cell lymphoma, BCL2 mRNA expression is highly related with microvessel density.

In contrast, BCL2 CD34 + endothelial mRNA level is not correlated with microvascular density in reantive lymph node hyperplasia. B) In AITL, CD34 + endothelial as well as CD105 + neoangiogenic endothelial cell BCL2 mRNA levels are not correlated with KI-67 proliferating index. In CD34 + endothelial cells of lymph node hyperplasia, no correlation was observed either.

Figure 1 BCL2

 1 Figure 1

Figure 2 A

 2 Figure 2 A) Molecular evaluation of laser-microdissected CD34 + cells in angioimmunoblastic T-cell lymphoma: they express CD31 and not CD10, thus confirming the molecular profile of endothelial cells (left).Molecular evaluation of laser-microdissected CD3 + CD10 + cells in angioimmunoblastic T-cell lymphoma: they express CD10 and not CD31, thus confirming the molecular profile of lymphoma cells (right). B) Molecular evaluation of laser-microdissected CD34 + cells in lymph node hyperplasia: they express CD31 and not CD10, thus confirming the molecular profile of endothelial cells (left).

Figure 3 Proportion

 3 Figure 3

Figure 5 Absence

 5 Figure 5 Absence of BCL2 expression in CD105 -neoangiogenic endothelial cells of angioimmunoblastic Tcell lymphoma.No co-expression of BCL2 is found in angioimmunoblastic T-cell lymphoma areas where CD34 + endothelial cells do not express CD105 (Triple immunofluorescent staining: CD34 in red, CD105 in blue and BCL2 in green).

Figure 6 A

 6 Figure 6 A) Molecular evaluation of laser-microdissected CD105 + cells in angioimmunoblastic T-cell lymphoma: they express CD31 and not CD10, thus confirming the molecular profile of endothelial cells.B) The expression of BCL2 mRNA in laser-microdissected CD105 + endothelial cells of angioimmunoblastic T-cell lymphoma is significantly correlated with VEGFA mRNA expression levels in the same laser-microdissected cell population.

Figure 7 BCL2

 7 Figure 7

Table 1

 1 BCL2 and VEGFA gene expression in microdissected CD34 + or CD105 + endothelial and microdissected CD3 + CD10 + lymphoma cells according to clinical and biological characteristics in angioimmunoblastic T-cell lymphoma patients (n=30) inserm-00682931, version 1 -27 Mar 2012

Acknowledgment

The authors thank Mrs Angela Swaine Verdier reviewed the English language of the manuscript.

Fundings

Institut National du Cancer, Cancéropôle Ile de France, Conseil Régional Ile de France, Agence Nationale de la Recherche, Programme Hospitalier de Recherche Clinique, and the Shanghai Commission of Science and Technology (08410708800; 09QH1401700).

Autorship and Disclosures

Study design: PR, AJ; clinical data collection: JB, CT, WLZ; assessment of experiment: CL, ILF; analysis of data: PR, WL, AJ; manuscript writing: PR, AJ. All authors declare no conflict of interest.


Nicolas Ngan
email: nicolas.ngan@sagem.com

E Dokladalova

M Akil

F Contou-Carrère

Fast and efficient FPGA implementation of connected operators

Keywords: Image processing, connected component tree, connected filters, graph, hardware implementation, FPGA, embedded architecture

The Connected Component Tree (CCT)-based operators play a central role in the development of new algorithms related to image processing applications such as pattern recognition, video-surveillance or motion extraction. The CCT construction, being a time consuming task (about 80% of the application time), these applications remain far-off mobile embedded systems. This paper presents its efficient FPGA implementation suited for embedded systems. Three main contributions are discussed: an efficient data structure proposal adapted to representing the CCT in embedded systems, a memory organization suitable for FPGA implementation by using on-chip memory and a customizable hardware accelerator architecture for CCT-based applications.

Introduction

Nowadays, speaking about the design of modern architectures for computer vision systems automatically means addressing the performance and the reuse problem. Algorithms in computer vision systems are asked to furnish a high performance and be capable of supporting the entire processing chain: from low-level to high-level processing in various applications. This is a never-ending problem in hardware design. If the performance is achieved by an optimization effort which means high system specialization, it will (by definition) limit its flexibility.

Obviously, the source of the problem is computational disparity: an application needs a variety of mathematical and algorithmic domains. It involves respecting different computing models. To overcome this problem, many researchers investigate the domain of reconfigurable/adaptable computing in order to find the alternative to the performance/flexibility trade-off [START_REF] Hartenstein | A decade of reconfigurable computing: a visionary retrospective[END_REF]. Nevertheless, they remain optimized, in the majority of cases, for low level image processing [START_REF] Miyamori | Remarc: Reconfigurable multimedia array coprocessor[END_REF][START_REF] Copen Goldstein | Piperench: A reconfigurable architecture and compiler[END_REF]. Several generalized coarse-grained systems can be adapted to high level processing [START_REF] Reiner | Mapping applications onto reconfigurable kress arrays[END_REF][START_REF] Mei | Adres: An architecture with tightly coupled vliw processor and coarse-grained reconfigurable matrix[END_REF].

In our research, we study if the unified formalism which uses the tools from computational geometry (connectivity, data adjacency and proximity, graph transformation, etc.) allows the algorithm disparity problem to be overcome. We focus on the applications using graph theory as they could allow to bridge the gap between low-level [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF][START_REF] Michael | Concurrent computation of attribute filters on shared memory parallel machines[END_REF] and high-level [START_REF] Couprie | Quasi-linear algorithms for the topological watershed[END_REF][START_REF] Soille | Constrained connectivity for hierarchical image decomposition and simplification[END_REF] processing implementations. In addition, many useful application domains are organized around graphs: image processing, data and knowledge bases, CAD optimization, digital problems, simulations.

In this paper, we focus on image processing operators using the Connected Components Tree (CCT). CCT plays a central role in the development of new algorithms related to image processing problems [START_REF] Salembier | Binary partition tree as an efficient representation for image processing, segmentation, and information retrieval[END_REF]. From the practical point of view, the advantage of these methods is that once the CCT is constructed, the processing is performed on the tree by graph transformation(s), and only one data structure is used from low-level to high-level processing (Fig. 1). In addition, the graph transformations are applicable to any dimension (1D, 2D, 3D, ...).

Note that these algorithms have been successively used for filtering [START_REF] Jones | Component trees for image filtering and segmentation[END_REF][START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF], motion extraction [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] and watershed segmentation [START_REF] Najman | Watershed algorithms and contrast preservation[END_REF]. Besides, numerous practical applications exploit CCT data representation: pattern recognition of astronomical images [START_REF] Jalba | Morphological hat-transform scale spaces and their use in pattern classification[END_REF][START_REF] Berger | Effective component tree computation with application to pattern recognition in astronomical imaging[END_REF], microscopic image analysis [START_REF] Cuisenaire | Automatic segmentation and measurement of axones in microscopic images[END_REF], video-surveillance applications [START_REF] Piscaglia | High level description of video surveillance sequences[END_REF], image registration [START_REF] Mattes | Tree representation for image matching and object recognition[END_REF], data visualisation [START_REF] Chiang | Simple and optimal output-sensitive construction of contour trees using monotone paths[END_REF].

Connected

Filtering / Image component tree building

Filtering / Segmentation

Image restitution

Fig. 1. Three main phases of connected component tree-based application

On the other hand, time efficient CCT construction is a challenging problem. It consumes about 80% of the application execution time 1 , which is penalizing for a lot of the mentioned practical applications. This is because the graph structures can be very large and, for each operation, the applications need to access a large, data-dependent portion of the graph. Several algorithms have been proposed in order to solve the problem. In the majority of cases, they remain sequential and algorithm improvement relies on fast data structures (fifo-like) [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] or on optimization of computational complexity [START_REF] Mattes | Efficient algorithms to implement the confinement tree[END_REF][START_REF] Chiang | Simple and optimal output-sensitive construction of contour trees using monotone paths[END_REF][START_REF] Couprie | Quasi-linear algorithms for the topological watershed[END_REF][START_REF] Berger | Using connected operators to manipulate[END_REF][START_REF] Wilkinson | Fast morphological attribute operations using tarjan 's union-find algorithm[END_REF].

The problem of efficient connected component labelling have attracted the attention of hardware designers for many past decades [START_REF] Alnuweiri | Parallel architectures and algorithms for image component labeling[END_REF][START_REF] Moga | Parallel image component labeling with watershed transformation[END_REF][START_REF] Jean | A new algorithm and its vlsi architecture design for connected component labelling[END_REF][START_REF] Johnston | Fpga implementation of a single pass connected components algorithm[END_REF][START_REF] Flatt | A parallel hardware architecture for connected component labeling based on fast label merging[END_REF]. However, to our knowledge, no efficient hardware implementation has been proposed so far (up to recently in [START_REF] Ngan | Efficient Hardware Implementation of Connected Component Tree Algorithm[END_REF]) for connected component tree algorithms due to its complexity. If any parallelization effort has been made on shared-memory computers by [START_REF] Meijster | Efficient Sequential and Parallel Algorithms for Morphological Image Processing[END_REF][START_REF] Michael | Concurrent computation of attribute filters on shared memory parallel machines[END_REF][START_REF] Matas | Parallel algorithm for concurrent computation of connected component tree[END_REF], there are few studies targeting hardware acceleration of computing CCT. Among them, we should mention Associative nets [START_REF] Mérigot | Associative nets: A graph-based parallel computing model[END_REF] allowing direct CCT computation or multi-FPGA Step-Based Architecture [START_REF] Michael Delorimier | Graphstep: A system architecture for sparse-graph algorithms[END_REF] where the authors present a distributed computing system based on a general graph. Nevertheless, these solutions are not ready yet for mobile embedded applications. This paper presents an efficient FPGA implementation of CCT based computing suited for embedded systems. The three main contributions of the proposed concept have been validated on an FPGA platform:

• Adaptation of the CCT data structure allowing efficient data mapping in memory • Proposal of an on-chip memory organization suited for CCT processing • Proposal of a hardware accelerator architecture for an embedded system for CCT based applications

The paper is organized as follows: Section 2 Connected Component tree algorithms presents the algorithmical issues of the CCT-based applications. Here, we also discuss the data structures used to represent CCT and the adaptation of CCT allowing efficient data mapping in the FPGA memory. We focus on Computing tasks dependency analysis in Section 3 followed by a proposal of an efficient Hardware implementation in Section 4. Finally, the Experimental results are summarized in Section 5.

Connected Component Tree algorithms

CCT operators work on flat zones (connected components) of images, rather than on individual pixels. We call a connected operator an operator merging only flat zones. Hence, it cannot introduce any new contour. It simplifies and preserves the contour information [START_REF] Salembier | Flat zones filtering, connected operators, and filters by reconstruction[END_REF][START_REF] Crespo | Theoretical aspects of morphological filters by reconstruction[END_REF]. In the context of segmentation techniques, such as region growing or watershed, they rely on iterative merging strategies [START_REF] Meyer | Morphological segmentation[END_REF]. The CCT construction requires a global image analysis in order to respect the relationship of the adjacent flat zones.

Basic mathematical notions

Let us consider a 2D greyscale image f : D → Z, D = Z 2 and suppose that D is equipped with the neighbourhood mapping N : D → P(D). P denotes the power set (the set of subsets). Then, ∀x, y ∈ D, we say that x and y are connected if x ∈ N (y). Hereafter, let us assume that N is the 4-neighbourhood N 4 , i.e. the set of the north, south, east and west neighbours. The associated connectivity is therefore the 4-connectivity.

For some A ⊂ D, we say that

A is a connected set if ∀a, b ∈ A there is a sequence of points (a = x 1 , ..., x n = b) ⊂ A, such that x i+1 ∈ N 4 (x i ), 1 < i < n.
For some A, CC(A) ⊂ P(A) shall denote the set of connected subsets of A.

For some k ∈ Z, the set

C k = {x | f (x ) ≥ k } is the set of points above the threshold k. The set {c k i } = CC(C k ) denotes the set of connected components above k. For some k, l ∈ Z, and k > l, it holds that C k ⊆ C l . The set of all connected components is called C = ∪ k C k .
Let us consider a graph G = G(V, E) where V , such as V → C, is the set of nodes and E ⊂ V × V the set of edges. The nodes are tied by the relation child-parent. For some v i , v j ∈ V , there is an edge e ij ∈ E if c i ⊂ c j and there is no c k that c i ⊂ c k ⊂ c j . We say that v j is the parent of v i and v i the child of v j . Notice that the graph is oriented, i.e. e ij = e ji .

Note that such a graph is an acyclic, oriented graph called connected component tree. There are special nodes called leaves and roots. The leaves do not have any children and the root does not have any parents.

Due to the inclusion relation on the connected components, the graph nodes are organized in a tree structure suitable for filtering or segmentation [START_REF] Endre | Efficiency of a good but not linear set union algorithm[END_REF].

CCT representations

To represent the CCT structure in memory, different data organization leading to different memory requirements, have been proposed : i) "Native" CCT (Figure 2(b)) [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] or ii) its "compressed" version Canonical CCT (Figure 2(c)) where one node point represents a component and each pixel belonging to a component points toward its representative node [START_REF] Najman | Building the component tree in quasi-linear time[END_REF]; or Point Tree (Figure 2(d)), the burst version of the CCT where each node of a point-tree represents a pixel in the picture [START_REF] Berger | Using connected operators to manipulate[END_REF]. 1-D tree computation is a special case [START_REF] Menotti-Gomes | 1d component tree in linear time and space and its application to gray-level image multithresholding[END_REF], where intermediate results have to be gradually merged as described in [START_REF] Michael | Concurrent computation of attribute filters on shared memory parallel machines[END_REF].

According to the definition of c k i , some set of connected components are shown in Figure 2 for different tree structures. In this figure, connected components from level two to five are shown (encircled) as an example picture with six grey levels. The reader can refer to Table 1 for evaluation of memory requirements. Based on the algorithm definitions, the memory requirements are roughly estimated as the sum of memory allocated for input/output and the overall working memory needed for intermediate results. Those estimations have been discussed in [START_REF] Matas | Parallel algorithm for concurrent computation of connected component tree[END_REF][START_REF] Berger | Effective component tree computation with application to pattern recognition in astronomical imaging[END_REF]. Table 1 also contains the estimation of algorithm complexity. For the sake of clarity, we consider the classical O notation, where the worstcase scenario is given for a considered algorithm. Data type column means the data type for an input image pixel coding allowed by the algorithm.

Table 1

Comparison of algorithms: n is the total number of pixels in the image, G is number of grey levels of the image, α is a very slow-growing diagonal inverse of Ackermanns function [START_REF] Couprie | Quasi-linear algorithms for the topological watershed[END_REF].

Tree type Complexity Data type Memory requirements

Native CCT [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] O(nG) int 4n

Canonical CCT [START_REF] Najman | Building the component tree in quasi-linear time[END_REF] O(nα(n)) int, float 6n

Point tree [START_REF] Berger | Using connected operators to manipulate[END_REF] O(n log(n)) int, float 4n

1-D [26] O(n) int, float n 2.

Data structure adaptation: Parent Point-Tree

The data structures proposed in the above mentioned theoretical papers has not been designed for an efficient FPGA implementation. Neither is the number of nodes nor the size of each node, known beforehand and one has to manage complex memory allocations. This difficulty is evident in the case of native CCT structure or canonical CCT since the number and the size of the nodes depend on the image content.

From this point of view, the Point Tree (PT) presented in [START_REF] Berger | Using connected operators to manipulate[END_REF] seems to be an appropriate structure due to a fixed number of nodes. Originally, PT is an oriented graph where the parent node points toward the child node (Figure 2(d)), note that this is a common orientation of the discussed structures (Figure 2). In such a case, the issue is that the number of child nodes for each parent node can only be known at the end of the tree construction. Thus, the number of link memory allocations for each node is not predictable. As shown in Figure 3, we propose to reverse the PT orientation and we call it Parent Point Tree (PPT). Thus, each node has at most, a unique parent node. Consequently, we only need to store the parent address for each child node to create tree connections and the number of nodes is equal to the number of pixels in the image. The next section presents the PPT construction algorithm followed by its FPGA implementation.

Parent Point Tree construction algorithm

The proposed Parent Point Tree construction algorithm (Alg. 1) is a combination of Tarjan's Union-Find [START_REF] Endre | Efficiency of a good but not linear set union algorithm[END_REF] as used in [START_REF] Berger | Using connected operators to manipulate[END_REF] with an acceleration technique inspired by the Najman-Couprie algorithm [START_REF] Couprie | Quasi-linear algorithms for the topological watershed[END_REF].

We define a branch as a subset representing a group of nodes that are connected to each other in the complete tree. A branch can then be composed of only one node or several nodes. A node which represents the extremity of a branch (i.e. a node without any child nodes in the tree) is called a leaf. As the tree is gradually built with leaves, we call local root, the temporary root node for each branch that is not yet connected to the main tree.

We recall that in a Point Tree or a Parent Point Tree, a node is associated to only one pixel in the picture. Then, let us consider p a pixel of the image f , and q an adjacent pixel of p according to the considered neighbourhood N 4 (p) such as q ∈ N 4 (p).

In this algorithm, the tree is gradually built with leaves to the root. Consequently, it starts by building several branches that are not necessarily connected to each other. They become a partial tree which then contains several local roots.

The tree construction is divided into two parts: the first part involves the sorting of all the pixels in the image in increasing or decreasing order, depending on the type of tree. In order to build a Max-Tree, pixels are sorted in decreasing order and the leaves then represent the highest pixel values. The second part is building the tree by processing those pixels sequentially in this order. The algorithm presented in Alg. 1 corresponds to that second part, assuming a correct sorting of pixels p in a queue memory. The most costly part of the algorithm is to find the local root in order to link the components. At each neighbour node, it needs to explore the tree until it finds the root.

As described in Alg. 1, each pixel q from the neighbourhood N 4 of a pixel p is processed. The first step is to check its processed status. If it has already been processed from the pixel queue, it means that this pixel already belongs to a branch from partial tree (tree links parent). The aim is to find the local root of the branch where the neighbour pixel q belongs, to link the current pixel p to it (function Link ). The following procedure is to jump from node to node in the branch (function Jump), starting from pixel q, and check successively if the node is the local root of the branch. As a consequence, this loop is very time consuming and depends on the branch length.

Thus, we propose to accelerate this process by gradually linking the current local root during the construction for each node in a fake and temporary tree so that the next access would point directly to it. We then create a compression of the tree. However, this technique is costly in terms of memory because we need to allocate a "mirror copy" of the original tree links parent tree. This copy called tree links root is stored in a memory only dedicated to the tree construction and it can be modified at will for accelerating the construction.

This shortcut technique works mainly in the tree links root memory by first checking the last registered local root node associated to the pixel q (function Check ). If this registered node is not a real root node, then we have to jump from node to node starting from this last registered node in the compressed tree to find the root. During that searching process, encountered nodes are stored in a temporary buffer (function Store) to be all updated by linking them to the last root node found (function Update). This update then accelerates the searching process for future node access.

When any pixel is linked to its local root, we mark it as processed.

The following operations are necessary to build the PPT: Check(x,T) returns the local root of the node associated with pixel x in the tree T , Jump(x,T) returns the parent node of the node associated with pixel x in the tree T , Store(x) stores the current parent node associated with pixel x to be updated in buffer, Link(x,y,T) links the current node associated with pixel x to the local root node for pixel y in the tree T , Update(x,T) updates the local root node x for all the parent nodes in buffer for the tree T .

Algorithm 1 Parent Point Tree construction

Require: queue: pixels ordered in decreasing order Ensure: Root-Stored P P T while (queue not empty) do for all (q ∈ N 4 (p)) do if (q == processed) then root ← Check(q, tree links root) while (root not found) do parent node ← Jump(q, tree links root) q ← parent node Store(parent node) root ← Check(q, tree links root) end while Link(p, root, tree links parent) Update(root, tree links root) end if end for p <= processed end while Note that the construction algorithm is sequential and its execution is datadependent. The more complex in terms of components the image is, the longer the algorithm execution will be. A noisy picture for example, produced directly from an image sensor is represented by a more complex Point Tree in terms of number of leaves because of numerous un-representative high pixel values caused by the noise. Then, one possible solution is to pre-process the picture (low-pass filters such as denoising, smoothing filters) to remove those unuseful small high values.

CCT filtering

In the Introduction, we have presented the general scheme of the CCT-based application (Fig. 1). Once a tree construction is completed, the filtering step is performed. In practice, the filtering step analysis each node and it evaluates some criteria [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF]. It makes a decision whether the node is preserved or removed.

In this paper, an attribute denotes supplementary information associated with each node allowing to measure a given criterion. We can quote for instance some classical criteria: area, height [START_REF] Fabrizio | Fast implementation of the ultimate opening[END_REF], opening by reconstruction or λ-max operators [START_REF] Vincent | Morphological area openings and closings for grey-scale images[END_REF] and other examples can be found in [START_REF] Salembier | Flat zones filtering, connected operators, and filters by reconstruction[END_REF].

When the complete CCT is available, with associated node attributes, the filtering can begin. This step is also called CCT pruning [START_REF] Salembier | Connected operators based on region-tree pruning[END_REF], the branches of the tree structure are removed or preserved according to the decision rule. In this paper, we use the direct decision rule as defined in [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF].

Let us consider the maxima of the image represented by the leaves of the CCT and some parameter λ. Starting from the leaves, we scan all the sequence of their ancestors going down to the root. The examined node is only preserved when the associated attribute value is higher than λ. Otherwise, the node is removed. When one node is removed, its content is merged with its nearest preserved ancestor.

Computing task dependency

As illustrated in Figure 4, we can see that there are four steps to complete an application. It starts with pixel sorting. The tree construction can only begin when all image pixels are sorted. In general, attribute computation can be done parallel (AC1) to the tree construction. Hence, the pixel values accessed for tree construction can be immediately reused for attribute computation. It allows to minimize memory accesses and to parallelize the computing tasks. If it cannot be done in parallel, it has to be executed after the complete tree construction (AC2). Only after that, the tree filtering can be done.

We might want to start the tree filtering process parallel to the tree construction by using attributes (i.e. height) that can be computed along with the construction. It is actually feasible when a pixel node has been identified as a leaf of the tree. The partial branch is read and could be processed step by step during its construction. However, it requires switching between branches during the tree construction as they are built gradually starting with the leaves. It obviously results in higher memory requirements to stand by the filtering process because branches are not always complete. As a consequence, it is more efficient to start the filtering process after the complete tree construction and the attributes computation as depicted in Figure 4.

Architecture proposal for embedded system

The global architecture (see Figure 5) of the system reflects the four presented execution steps. Hence, it consists of four main computing blocks: pixel sorting block, tree construction block, attribute computing block and filtering block.

For readability reasons, we indicate the address datapath by the symbol @ in Figure 5.

The main controller supervises an application execution and it manages the data flow between the computing blocks and the memory system. Finally, the computing blocks are interconnected by the switch fabric allowing the memory address and data paths to be redirected dynamically.

As shown in Figure 5, the global control is provided by the main controller which is composed of three command units : a block selector (which can activate or deactivate a computing block reporting its status -busy or not), a multi-switch controller (which can dynamically modify the Switch Fabric containing several mutiplexers) and a sequencer (which orders computing block activations and datapath modifications). Thus, each computing block receives commands from the main controller. It contains an intelligent core: a controller that sequences local computing block operations. Fig. 5. Global architecture

Switch Fabric

In order to allow the memory address and data paths to be redirected dynamically, all the blocks share the memory and are plugged into the backbone of this architecture. The switch fabric is composed of selectors like multiplexer and demultiplexer basic components which are controlled by a multi-switch controller inside the main controller. It is therefore configurable before implementation and programmable after synthesis. The Switch Fabric is configured to the correct data path dynamically. Figure 6 shows one configuration example at runtime. The dashed lines represent data paths that are disabled at a specific time in the application.

Memory system

A CCT application works with six main types of data: original and filtered image, pixel queue, CCT, attributes and construction buffers needed during the processing (the tree status for instance). The designed memory system is based on the principle of shared memory constituted by several small independent memory blocks that can be accessed in parallel due to the Switch Fabric. By combinating those memory blocks to the Switch Fabric, we are able to reuse the memory blocks dynamically. However, we have added a dedicated memory for the pixel queue and the output image to buffer pixels more efficiently. We recall that the tree construction time is not deterministic and depends on the image content (Section 2.3.1).

At the beginning of the processing, the filtered image memory section is the exact copy of the original. The filtering is based on the built component tree. Depending on the given application (a segmentation, for instance with pixel extractions or deletions), we only modify the filtered image memory in the desired pixel position. A pixel queue memory (or pixel address queue) is a simple FIFO structure storing the output of the pixel sorting block. In fact, this memory has to store the different pixel positions in increasing or decreasing order.

The input image, CCT, attribute and construction buffers are placed in the shared memory. The original picture memory has to be shared with the other blocks because it contains the greyscale pixel value information contrary to the filtered image memory which is reserved to the filtering block. CCT is constructed in the link memory storing only the child/parent node relationships and the original picture is necessary for navigating between different components in the tree. Then, we have a part of memory dedicated to storing the different attributes (the height, the volume, etc.) as the output of the attribute computing block. During all the processing, some information might need to be buffered like the pixel positions for pruning the tree (the filtering process) by modifying the value or additional buffered addresses to eventually accelerate the processing. Finally, we need to temporarily store the status of each pixel node during the tree construction. We can call it "Tree status memory" and it contains bit flags which are detailed in Section 4.4.

Memory size

Let us consider an image with a width of M and a height of N . The pixel size is fixed to k bits. ADDR SIZE is defined as equal to ceil(log2(M ) + log2(N )) (ceil() function rounds to the next largest integer). The memory sizing is presented in Table 2.

Pixel sorting block

The pixel sorting block operates on the original picture and fills a pixel queue for the tree construction block. This queue can be considered as a FIFO. The tree construction block computes the different links of the tree and stores them in a memory (tree link memory) which is shared with the other blocks (attribute computing block and filtering block in particular).

Let us take a simple example like a 3x3 picture with five levels of grey. For readability reasons in the following figures, each pixel is designated by a letter instead of its coordinates as shown in Figure 7(a).The corresponding parent point-tree of this example is presented in Figure 7 As mentioned in the previous section, pixel sorting is not the "time consumer" procedure compared to the creation of the connections between nodes (pixels in the parent point-tree). However, it can create high memory requirements.

To avoid high consumption of memory blocks, we choose to use a counting sort method [START_REF] Thomas | Introduction to Algorithms[END_REF]. This technique is divided into two passes: the queue partitioning pass and the queue filling pass. In the first pass, we want to partition the queue memory by level sector and each size of the sector can easily be determined by building a histogram (Figure 8(a)). In our example, we can see that the number of pixels in each value is equal to the number of slots reserved in the queue memory. This pass can be done "on the fly" during the picture storage in the image memory. In the following pass, the picture is read from the image memory and the pixels are distributed in the queue memory according to their value.

Number of pixels

In each level, the pixels are ordered according to the direction of reading. This order has an impact on the final parent point tree connections between the pixel nodes but it does not change the structure of the corresponding component tree when the pixels are grouped by component (See set c k i in Figure 2). In our example (Figure 8(b)), the reading of the queue starts with pixel B when we want to build a Max-Tree (decreasing pixel value order) or with pixel G for a Min-Tree (increasing pixel value order).

Tree construction block

The tree construction block implements the algorithm 1 presented in Section 2. As illustrated in Figure 9, this computing block contains five main processing units that can be associated to specific functions in the algorithm. The functions Check(x,T) and Jump(x,T) can be associated to the Root Finder unit returning the parent or root nodes. This unit works with the Bit checking unit by testing the status bits, corresponding to the if and while conditions in the algorithm. The function Link(x,y,T) is associated to the Linker unit by writing the origin pixel considered as the new local root in the tree link parent memory. The Store(x) and Update(x,T) functions corresponds to the Root Updater unit storing nodes in a temporary buffer to update them in the tree links root memory. Finally, the Neighbour Addresses Generator unit computes the adjacent pixels q ∈ N 4 (p) memory addresses.

The pixel sorting block provides the input data queue through the pixel queue containing all the pixel addresses ordered with respect to the decreasing pixel value. As shown in Figure 9, the neighbour address is verified with the Bit Checking and the Root Finder units to get the status of the pixel node and to eventually get any parent address. If the bit status for the current pixel neighbour is processed , the Bit Checking unit notifies the Root Finder unit to loop. The parent address is then loaded to the current neighbour address register in order to get its parent pixel. This parent adress is also stored in the FIFO Buffer of the Root Updater unit (= Store(x) function). The checking loop ends when the bit status for the parent presence is un-processed . It means that we reach the current root in our tree under construction. Consequently, the Linker unit can update the identified current root by the origin pixel address (= Link(x,y,T) function). The origin pixel node becomes the new pixel parent node and its status bits are updated. All buffered pixel addresses that have been met, are updated to be linked to the origin pixel node (= Update(x,T) function). Thus, that node becomes the latest local root and the tree construction block can request the following origin address from the pixel queue (queue). Tree construction example: Each pixel node has three bit flags: "Is Processed" (IP) bit to check if the pixel node has been processed, the Parent Checking (PC) bit, meaning that the pixel node has a parent node and the Child Checking (CC) bit, meaning that the pixel node has at least one child node. Let us begin with the pixel B whose coordinates are (1, 0) in Figure 7(a). This pixel is located on the edge of the picture and its neighbours N 4 (B) are C, E and A. According to the pixel coordinates, nonexistent pixel neighbours (represented by XXXX in Figure 10) are just skipped from analysis in the Root Finder knowing the image dimension. At the beginning, none of the pixels are processed and all the "processed " -IP bit flags in the tree status table are down. Consequently, all pixel B neighbours are not processed yet. Pixel B becomes a leaf of the tree and is temporarily linked to itself meaning that it is a current root of the tree in construction. Then, the IP bit flag for pixel B is up (Figure 12(a)) and the tree construction block can request the following origin pixel in the queue which is pixel C in our example.

When pixel F is reached (Figure 11), some pixels have already been processed (B, C, D, A, H, and I -See pixel queue in Figure 8(b)) and they might be linked to this pixel. Thus, we are only interested in processing the neighbour N1 (I) and N3 (C) (Figure 11) Pixel I is already a current root and it is directly linked to pixel F by updating the tree status table (the CC bit to 1) and the tree link table (F address for pixel I).

Pixel C is not a current root because its PC bit flag is up. The Root Finder unit in the tree construction block replaces the current address (pixel C) by its direct parent address (pixel A). Pixel A is a current root because its PC bit flag is down (Figure 12(b)). After linking it to pixel F, its tree status bits will be updated from [1 0 1] to [1 1 1].

Shortcut technique example:

Let us illustrate the shortcut technique by a simple example. From the Figure 13(a), let us assume that we want to link the G node in the tree beginning with its neighbour D node. The current root E is therefore linked to itself for the time being. The tree is explored starting with the D node and the nodes A, F and E are met before linking. When the "finding root process" is triggered, all the nodes that have been met during the exploration, are linked to the pixel point to be attached. In other words, the origin pixel will be the current root of the tree branch. If we consider that this root becomes the parent of all the pixel nodes that have been met, the following accesses would be faster by making large node jumps. In our example, we can store the nodes A, F and E in a temporary memory and update their "virtual" parent node G in the root memory as shown in Figure 13(b). Note that the exploring accesses are consequently made on the root memory.

Attribute computing block

As mentioned in section 2.4, attributes are additional node characteristics that can be used for filtering an image depending on user criteria (conditions on height, area, depth or volume of a component for example). Some of them can be computed during the tree construction and others have to be computed when the tree is complete. The depth of a node can be computed, for instance, on-the-fly with a counter and additional logics (min-max) during the tree construction.

Depending on the complexity of required attributes, the computing block might be time consuming. The study of attributes is beyond the scope of this paper and one can find some attribute computations in [START_REF] Meijster | Efficient Sequential and Parallel Algorithms for Morphological Image Processing[END_REF][START_REF] Najman | Building the component tree in quasi-linear time[END_REF].

Note that an attribute computing block is not mandatory to complete an application. In order to save memory and time, the simplest implementation can be done without attributes but the criteria have to be chosen so that they are merely based on components and pixel values. Some basic criteria could amount to conditions on the contrast between two components by subtracting consecutive component levels. Nevertheless, computing attributes allows to apply more complex criteria on the tree for better results in the filtering process.

Filtering block

The component tree can be used as a new working base for filtering the associated picture. Thus, pixels or components of the picture can be manipulated by changing the value or the node positions in the tree. The component tree is particularly interesting compared to the classic 2-D matrix picture representation because it gives the hierarchical layer disposition, in addition to the spatial pixel position. Traditionally, a greyscale picture can be viewed as a set of hills (highest values) and valleys (lowest values) with a layer organisation.

Flattening hills means removing the highest layers and leaving the last implied underlayer apparent.

In a tree-based application, a picture is usually simplified by pruning the corresponding component tree. Back in Figure 2, pruning the tree at C 3 0 is removing the upper nodes (2,0) and (2,1) to leave the underlayer value apparent (level 3). Thus, pruning the component tree can be understood as flattening hills. Note that a tree pruning application can be found in [START_REF] Berger | Effective component tree computation with application to pattern recognition in astronomical imaging[END_REF] and [START_REF] Berger | Using connected operators to manipulate[END_REF] for an astronomical context where the aim is to clean the sky from stars in greyscale pictures.

In our context, we propose an original tree-based filtering application based on the component tree pruning. Instead of merging components (i.e. flattening hills) with a traditional tree pruning process, we propose to give an arbitrary value for all the identified nodes to be removed from the tree. Thus, it results in an original local thresholding by using the component tree. It can be efficient for simplifying pictures from an infrared camera because the most interesting parts are the highest local values in the image. Those local parts can have different levels of grey and using an arbitrary global level threshold would be obviously inefficient.

Consequently, a specific tree pruning block has been designed for this purpose.

Flattening the hills of a greyscale picture can be done technically by replacing the removed pixel value nodes with the pixel value of their parent nodes. In our case, we replace any removed pixel value nodes with an arbitrary value.

A tree pruning process consists in exploring the tree from each leaf to the root in order to cut down branches when proposed criteria are not respected as explained in section 2.4. Those criteria are based on previously computed attributes (height, volume, depth, etc.) and by combining them, we can obtain original results. One can find some examples in [START_REF] Meijster | Efficient Sequential and Parallel Algorithms for Morphological Image Processing[END_REF].

The leaves of the tree are the starting points for the filtering process. They can be identified with the Child Checking (CC) bit from the tree status table. We recall that a CC bit flag down means that the pixel node does not have a child node. Notice that the reading direction of the tree, from its tops to its root, is well suited considering the proposed tree link structure (a parenttree where child nodes point at its parent node) and the targeted application (local thresholding). Since we know that we need the leaves, they can be stored during the tree construction in a buffer (i.e. a FIFO for instance) to feed the tree pruning block. In particular, we can note that, during the tree construction, a current processed origin pixel node, which is not linked to any other nodes, becomes a leaf node.

The tree pruning block architecture is presented in Figure 14 with two criteria in input. It contains three main processing units: a Tree explorer unit, an Attribute collector unit and an Image updater unit.

Notice that, in addition to the tree links parent table, the block has to refer to the original image to identify the component values.

As illustrated in Figure 14, each leaf node address is loaded in the Tree explorer unit. This unit works parallel to the Attribute collector unit which reads successively the associated attributes for each processed node. The Tree explorer unit explores each tree branch by several reading loops in the tree links parent table until one of the criteria is not valid according the comparison units.

When the criteria are respected, the pixel node is stored in a temporary "Zone FIFO" buffer located in the Image Updater unit, until the end of a tree branch exploration. When one of the criteria is not respected, the branch is modified by overwriting the pixel value of the nodes stored in "Zone FIFO" with a specific value. Note that the use of this FIFO is optional in our case because we impose a value. Thus, the overwriting can be done gradually. The FIFO is only necessary for a tree pruning block that requires to merge components.

Experimental results

The proposed generic system architecture has been implemented and validated on ALTERA Stratix II 2S60 Development board [START_REF]Stratix ii ep2s60 dsp development board data sheet[END_REF]. To the best of our knowledge, there is no other FPGA implementation of a complete application based on tree construction. For our hardware implementation, we propose a simple infrared (IR) hot spot image filtering application based on pruning the tree. To maximize the memory bandwidth, we choose to use the on-chip memory directly available on the FPGA chip. These RAM Memory blocks are very limited resources and in our case, we had a budget of 2,544,192 Onchip RAM bits for the 2S60 version. Moreover, Stratix II devices features a particular memory system called TriMatrix based on three sizes of embedded RAM blocks (M512, M4K and M-RAM) which can be configured in different addressing structures. Further information can be found in [START_REF] Altera | Trimatrix memory in stratix ii devices[END_REF].

In particular, we used M4K (4 Kbits) and M-RAM (512 Kbits) memory blocks to fit our memory system and we used an input image resolution of 160x120 coded with 8 bits pixels. Thus, the different tables (Tree Links and Tree Roots) must have 15-bit-wide data words and the Tree Status table has 3-bit-wide data words (IP, PC and CC bits). Additional memory is needed for the pixel address queue, the two images (one for keeping the original picture and the other for storing the filtered picture) and several buffers (Root, Zone and Leaf FIFOs).

The FIFOs (Root, Leaf and Zone) size is defined according to the free memory space left. Smaller FIFOs decrease the overall performance. Note that it is possible to share the same FIFO for the Root FIFO and the Zone FIFO because they are not used at the same time. It is also possible to decrease the number of level counters by only taking the four most significant bits of the input pixel value.

One can notice that the Attribute Table is not really necessary for our first implementation. The pruning can simply be tested on the basis of pixel values and specified by an arbitrary threshold. Our focus is on the tree processing time and we want to validate our architecture conception.

Four types of pictures have been selected for the test (Fig. 15 and16): a gradient picture with smooth grey level transitions (Fig. 15(a)) and three infrared (IR) image camera outputs. 3. In this table, the man IR picture is the most complex scene to process because of the number of connected components resulting from the high noise in the image sensor.

The results (Fig. As shown in the pie (Figure 17), the architecture uses 78 % of memory space available and only 30 % represents the tree information (Original image and Tree Links). The remaining memory is dedicated to compute the tree, to accelerate the construction and to buffer intermediate data. Table 4 contains the results in terms of resource utilization obtained after the synthesis on the Stratix II FPGA. The logic utilization is very small as all the work is based on memory management, extremely important for the FPGA implementation. Note that our implementation has a maximum frequency of about 100 MHz for an Altera Stratix II FPGA EP2S60F484C4 target [START_REF]Stratix ii ep2s60 dsp development board data sheet[END_REF]. That maximum frequency is limited by the logic elements required to make the Switch Fabric.

For the FPGA prototype, the system runs at 50 MHz as shown in Table 5 for measuring timing performance.

The 160 × 120 images are low resolution and come from a 320 × 240 IR image input downscaled by 2. That resolution is acceptable as it aims at low resolution display screens embedded in portable systems. The global architecture in Figure 5 shows that the memory, required for computing a picture, scales linearly according to its resolution. Thus, by keeping the same algorithm and the same architecture, there are only two options for a higher image resolution implementation. Firstly, to keep the memory performance, the simplest way is to upgrade the FPGA target for a higher on-chip memory capacity (such as Altera Stratix III or IV). Secondly, in order to keep the same FPGA target (for area constraint), the memory tables have to be stored in external memories. That second option greatly impact the timing performance because of the external memory access time and it also needs additional logics such as memory controllers. However, it remains relevant for applications without any critical real-time constraint such as photo applications which require image quality and higher resolution. Since the tree construction depends on the image content, the execution time is not known beforehand. This complexity is not only based on the number of grey levels and the connected components but also on their mutual relations (adjacency). The proposed algorithm is inspired from by already discussed quasi-linear algorithm [START_REF] Najman | Building the component tree in quasi-linear time[END_REF], hence the execution times do not vary significantly even if the number of connected components is very different; see the Table 5 for the execution time for the tree construction. Note that in the test pictures (Fig. 15), even if the number of connected components for the Man test picture is nine times higher than the others, the tree construction time overhead is just about 10 %. That performance results from the shortcut technique which allows to reduce the construction time dependency from the picture complexity. Note that even if the Gradient test picture has the lowest tree construction time, the shortcut technique is less efficient because the pixels are already spatially ordered and the Tree Root table is therefore less requested. Table 5 gives the execution time for the filtering. Note that the filtering time is longer for the Rooftop picture because more pixels are detected. Those timings depends on the tree complexity (number of leaves), the attributes used (contrast and height for this case) and the number of modified pixels (thresholding). Considering those variable parameters in practice, the complete application can run from 50 to 120 frames per second.

Finally, the proposed implementation allows to obtain an acceleration up to 3 on the Stratix II at 50 MHz for the tree construction compared to a standard desktop PC with Intel Pentium IV HT (3GHz) processor running under Linux. We obtain, for instance, respectively 16 ms and 21 ms for the Gradient and Man IR test images with Najman-Couprie algorithm on Pentium IV. Note that we use the C-implementation of the Salembier [START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] and Najman-Couprie [START_REF] Najman | Building the component tree in quasi-linear time[END_REF] algorithms for this comparison.

Conclusion

This paper presents an efficient FPGA implementation of CCT algorithms suited for embedded systems. The main contributions are: the adaptation of the CCT data structure allowing efficient data mapping in the memory, the proposal of an on-chip memory organization suited for CCT processing and a proposal of an overall embedded system for CCT-based application. After the introduction of state-of-the-art CCT algorithms and implementation, the design issues in terms of data structure and memory are discussed. The proposed architecture is then presented in detail. Assuming that this study is motivated by the search for a new approach to the flexibility of embedded systems, it demonstrates the FPGA implementation feasibility of relatively complex algorithms. In future, we will concentrate on the tree merging methods and implementation of the data parallelization by merging several 1D trees. Concerning the design challenges, the main objective is to explore and improve the interconnections between computing and memory resources.

Fig. 2 .

 2 Fig. 2. Illustration of different data structures

Fig. 3 .

 3 Fig. 3. Parent Point Tree orientation

Fig. 4 .

 4 Fig. 4. Execution steps of a complete tree-based application

Fig. 6 .

 6 Fig. 6. Switch Fabric

Fig. 7 .

 7 Fig. 7. 3x3 picture example

Fig. 8 .

 8 Fig. 8. Counting sort method

Fig. 9 .

 9 Fig. 9. Tree construction block

Fig. 10 .

 10 Fig. 10. Pixel B neighbours

Fig. 11 .

 11 Fig. 11. Pixel F neighbours

Fig. 13 .

 13 Fig. 12. Tree tables

Fig. 14 .

 14 Fig. 14. Tree pruning block

Fig. 16 .

 16 Fig. 15. Test images

Fig. 17 .

 17 Fig. 17. On-chip memory block occupation in Stratix II 2s60

Table 2

 2 Memory size (qSIF = 160x120 test image format); H=15 (height attribute); k=8

	Storage element	Memory space (bits)	qSIF Application (bits)
	Original image	(2 ADDR SIZE ) × k	262144
	Filtered image	(2 ADDR SIZE ) × k	262144
	Pixel queue	ADDR SIZE × M × N	288000
	Tree links 1 st part (parents) 2 ADDR SIZE × ADDR SIZE	491520
	Tree links 2 nd part (roots)	2 ADDR SIZE × ADDR SIZE	491520
	Tree status	(2 ADDR SIZE ) × 3	98304
	Attributes	(2 ADDR SIZE ) × H	491520

  15(b),15(d),16(b) and16(d)) represent the detection of the highest local components in the test pictures by combining attributes. In this case, we use an arbitrary max pixel value threshold λ applied to two attributes : contrast (component intensity difference) and height (number of pixel value component layers). It then creates a satisfying local thresholding for our prototype.

Table 4

 4

	Synthesis report STRATIX II 2S60
		Resources	Quantity Occupation 2S60
	Combinational ALUTs	2680	6%
		Logic Registers	3564	7%
		Total RAM bits	1984470	78%
	Table 5
	Measured execution time (clock: 50 MHz)
	Image	Size (pixels) Tree construction (ms) Filtering (ms)
	Man	160 × 120	8.25	0.12
	Gradient	160 × 120	7.41	0.22
	Cars	160 × 120	7.75	0.55
	Rooftop	160 × 120	7.93	6.55

It is a mean estimation obtained by profiling of two CCT construction methods published by P. Salembier[START_REF] Salembier | Anti-extensive connected operators for image and sequence processing[END_REF] and L. Najman and M. Couprie[START_REF] Najman | Building the component tree in quasi-linear time[END_REF]