R Alexandre

FRACTIONAL ORDER KINETIC EQUATIONS AND HYPOELLIPTICITY

Keywords: Mathematics Subject Classification. 35H10, 76P05, 84C40 Boltzmann equation, hypoellipticity, non-cutoff cross-sections

We give simple proofs of hypoelliptic estimates for some models of kinetic equations with a fractional order diffusion part. The proofs are based on energy estimates together with F. Bouchut and B. Perthame previous ideas.

Introduction

Recently, after the study initiated by Morimoto and Xu [START_REF] Morimoto | Hypoelliticity for a class of kinetic equations[END_REF], the paper of Lerner and all [START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF] was concerned with hypoelliptic effects related to a kinetic equation similar to the following one:

(1.1)

∂ t f (t, x, v, ) + v.∇ x f (t, x, v) + a(t, x, v)|D v | 2β f = g
Here we assume that (t, x, v) ∈ R 1+n+n for some integer n ≥ 1, that g ∈ L 2 , where L 2 = L 2 (R 1+2n ). We denote by . the associated norm. The usual interpretation from kinetic theory is that t plays the role of a time variable, x the position and v the velocity. The coefficient a is assumed for example to be smooth and strictly positive, see below for precise hypothesis. The parameter β is assumed to satisfy 0 < β ≤ 1.

As regards Fourier transformation, we shall denote by τ, k and ξ the Fourier variables dual to t, x and v respectively. Other notations used in (1.1) are standard, see for example [START_REF] Hormander | The analysis of linear Partial Differential Operators[END_REF][START_REF] Stein | Singular Integrals and Differentiability Properties of Functions[END_REF]. Let us note immediately that the third (elliptic) term on the l.h.s. of (1.1) is not exactly similar to the one considered in [START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF][START_REF] Morimoto | Hypoelliticity for a class of kinetic equations[END_REF] in that the behavior therein was taken as a |ξ| 2 for small frequency variables ξ, but this is not an important point from the point of view of L 2 theory. In the rest of the paper, we shall always assume that all functions such as f , g are smooth.

For β = 1, (1.1) is a well known model of Fokker Planck or Kolmogorov equation, for which one can find numerous methods for proving hypoellipticity, see for example [START_REF] Hormander | The analysis of linear Partial Differential Operators[END_REF][START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF][START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF][START_REF] Morimoto | Hypoelliticity for a class of kinetic equations[END_REF][START_REF] Perthame | Higher moments for kinetic equations: the Vlasov-Poisson and Fokker-Planck cases[END_REF] and the references therein.

We refer for example to [START_REF] Zaslavsky | The physics of chaos in hamiltonian systems[END_REF] for physical motivations for this type of kinetic equations. Another motivation is linked with the study of the spatially inhomogeneous Boltzmann equation without cutoff, see for example [START_REF]A review on Boltzmann equation with singular kernels[END_REF][START_REF] Villani | A review of mathematical topics in collisional kinetic theory[END_REF][START_REF] Alexandre | Some solutions of the Boltzmann equation without angular cutoff[END_REF][START_REF] Alexandre | Entropy dissipation and long-range interactions[END_REF][START_REF] Alexandre | On the Boltzmann equation for long-range interaction[END_REF][START_REF] Alexandre | Regularizing effect and local existence for non-cutoff Boltzmann equation[END_REF][START_REF] Alexandre | Global existence and full regularity of the Boltzmann equation without angular cutoff[END_REF][START_REF] Gressman | Global strong solutions of the Boltzmann equation without angular cut-off[END_REF], see also the recent results of [START_REF] Arsenio | Fron Boltzmann's equation to the incompressible Navier-Stokes-Fourier system with long-range interactions[END_REF] and references therein.

As far as we know, the study of hypoelliptic effects for problem (1.1) was initiated by Morimoto and Xu [START_REF] Morimoto | Hypoelliticity for a class of kinetic equations[END_REF] and they derive therein a partial and non optimal result. This study was then completed with optimal results by Lerner and all [START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF], where they proved typically that |D x | β 1+2β f ∈ L 2 and a similar estimate w.r.t. time variable. In both works, the authors used L 2 type methods.

While still working with an energy method, we want to show that a slight modification of the computations of Bouchut [START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF] can lead to the same results as Lerner and all [START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF], and therefore in comparison, we provide a very simple proof. One advantage is that it is very simple to keep track of the different constants depending on the given coefficients a, and furthermore, we avoid using any deep pseudo differential calculus. However, in order to study the model problem (1.1), we do use one result, namely Proposition 1.1 from Bouchut [START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF], whose proof is also elementary as it relies on averaging regularity type arguments. Bouchut's result is given by Proposition

1.1. [Proposition 1.1 of [9]] Assume f ∈ L 2 , g ∈ L 2 , |D v f | α f ∈ L 2 for some α ≥ 0 and (1.2) ∂ t + v.∇ x f = g, Then |D x | α 1+α f g α 1+α |D v | α f 1 1+α
The proof done in [START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF] uses both Fourier transform w.r.t. time and space variables (t, x), and arguments introduced in [START_REF] Bouchut | Averaging lemmas without time Fourier transform and application to discretized kinetic equations[END_REF]. It might be plausible to only use Fourier transform w.r.t. variable x by using the arguments of [START_REF] Bouchut | Averaging lemmas without time Fourier transform and application to discretized kinetic equations[END_REF]. For completeness, we give yet another proof which was used in Alexandre [START_REF] Alexandre | Some solutions of the Boltzmann equation without angular cutoff[END_REF] following arguments introduced by Perthame [START_REF] Perthame | Higher moments for kinetic equations: the Vlasov-Poisson and Fokker-Planck cases[END_REF] in his study of higher moments estimates. Our proof is also elementary, but uses this time both space and velocity variables Fourier transform. However, we do not use Fourier transform w.r.t. time variable, and therefore we can also deal with the Cauchy initial value problem associated with model problem (1.2). We refer also to [START_REF] Alexandre | Uncertainty principle and kinetic equations[END_REF] for another proof involving Fourier transform w.r.t. time and space variables and a certain kind of uncertainty principle. All in all, it is now clear that any other different and simple proof of the above Proposition would be of interest.

Once given Proposition 1.1, we can proceed to study hypoelliptic effects connected with (1.1). As usual, we shall begin to study the case of constant a, say 1, that is

(1.3) ∂ t f (t, x, v, ) + v.∇ x f (t, x, v) + |D v | 2β f = g.
Of course, a direct Fourier analysis is able to take care of this simple model, but recall that we are looking for energy type estimates.

Our main result is given by Theorem 1.2.

(1) Let f satisfy (1.3). Then one has

|D v | 2β f + |D x | 2β 1+2β f g .
(2) Let f satisfy (1.1). Assume that a = b 2 χ + a -for some strictly positive constant a -, a smooth positive function b and a compactly supported and positive function χ. Then one has

|D v | 2β f + |D x | 2β 1+2β f C a [ g + f ].
As it will appear clearly in the proof, similar estimate w.r.t. space variable also holds for time variable. Furthermore, the proofs given below can also be adapted to take into account the initial value problem. Finally, the assumption on a might appear strange, but this is one possible choice among many others. We mention that if a is assumed to be only locally bounded from below, then all proofs adapt up to introducing cutoff functions. Finally, the proof also shows that it is not necessary to have a diffusion term as above. One might consider instead an equation such as

∂ t + v.∇ x f + R n K(t, x, v) |h| n+2β [ f (v + h) -f (v)
]dh = g with good assumptions on the kernel K. This example is closer to a linear version of Boltzmann operator. Details are left to the interested reader. In any case, the main issue is concerned with the multipliers introduced in the proofs with the above kernel K.

The free transport equation: proof of Proposition 1.1

We are interested in the transport equation (1.2), under the assumptions of Proposition 1.1.

It is shown by Bouchut that we obtain |D

x | α 1+α f ∈ L 2 .
The method of proof was based on velocity arguments, see [START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF][START_REF] Bouchut | Averaging lemmas without time Fourier transform and application to discretized kinetic equations[END_REF] and references therein. In fact another proof is also provided in [START_REF] Alexandre | Uncertainty principle and kinetic equations[END_REF] using a kind of uncertainty principle, but which is more complex. Finally, another argument based on Perthame method [START_REF] Perthame | Higher moments for kinetic equations: the Vlasov-Poisson and Fokker-Planck cases[END_REF] is also possible, see for example Alexandre [START_REF] Alexandre | Some solutions of the Boltzmann equation without angular cutoff[END_REF]. As mentioned by Bouchut, the commutator method seems to require more derivatives w.r.t. variable v, but in that case, the proof is very easy (see the proof in [START_REF] Bouchut | Hypoelliptic regularity in kinetic equations[END_REF]).

We shall apply Perthame's argument for the usual Fokker Planck case below, following [START_REF] Alexandre | Some solutions of the Boltzmann equation without angular cutoff[END_REF]. Note that this a Fourier method, using characteristics associated on the Fourier side which is also somehow used in the paper by Lerner and all [START_REF] Lerner | Hypoelliptic Estimates for a Linear Model of the Boltzmann Equation without Angular Cutoff[END_REF].

If . denotes the Fourier transform with respect to the variables (x, v) and (k, ξ) the dual variables, one has

∂ t f -k.∇ ξ f = ĝ.
Multiplying by f , and taking the complex conjugate also, we obtain:

∂ t | f | 2 -k.∇ ξ | f | 2 = 2Re(ĝ, f ) |ĝ|| f |. Then | f (t, k, ξ) | 2 t -∞ (| f ĝ | (k, ξ + sk, t -s)ds.
Fix r ≥ 0 and D ≥ 0, and k. Then

∞ -∞ dt ξ |k| r | f (t, k, ξ) | 2 = ∞ -∞ dt |ξ|≥D |k| r | f (t, k, ξ) | 2 + ∞ -∞ dt |ξ|≤D |k| r | f (t, k, ξ) | 2 = A + B.
For B, one has:

B ∞ -∞ dt |ξ|≤D |k| r t -∞ (| f ĝ | (k, ξ + sk, t -s)ds. Changing variable in ξ, this gives B ∞ -∞ dt dξ|k| r ∞ -∞ 1 s≤t 1 |ξ-sk|≤D (| f ĝ | (k, ξ, t -s)ds
Change variables in t (for fixed s) to get

B ∞ 0 dt dξ|k| r ∞ -∞ 1 |ξ-sk|≤D (| f ĝ | (k, ξ, t)ds Since |ξ -sk| ≥ ||ξ| -s|k||, it follows that B ∞ 0 dt dξ|k| r-1 D(| f ĝ | (k, ξ, t) ε ∞ 0 dt dξ|k| 2(r-1) D 2 | f | 2 (k, ξ, t) + C ε ∞ 0 dt dξ|ĝ | 2 (k, ξ, t)
for any ε > 0.

Now for A, we get directly

A ∞ -∞ dt dξ|ξ m D -m |k| r | f (t, k, ξ) | 2 . Choose D = |k| r m . Then A ∞ -∞ dt dξ|ξ m | f (t, k, ξ) | 2 .
Then note that |k| 2(r-1) D 2 = |k| 2(r-1)+2 r m = |k| r , if we choose the value of r such that r = 2m m+2 . We choose m = 2α. Therefore r = 2α 1+α . In conclusion with all these choices, we get, for fixed k, by absorbing the right hand side with the left hand side:

∞ -∞ dt ξ |k| 2α 1+α | f (t, k, ξ) | 2 ∞ -∞ dt dξ|ξ 2α | f (t, k, ξ) | 2 +C ε ∞ 0 dt dξ|ĝ | 2 (k, ξ, t) and therefore |D x | α 1+α f |D v | α f + g .
It should be observed that we do not have the same scaling as in Bouchut. But this can fixed easily as follows. We proceed as above, replacing D by λD but use instead Cauchy Schwarz inequality for B, with the same choice of parameters:

B λ ∞ 0 dt dξ|k| r-1 D(| f ĝ | (k, ξ, t) λ{ ∞ 0 dt dξ|k| r | f | 2 (k, ξ, t)} 1 2 { ∞ 0 dt dξ|ĝ | 2 (k, ξ, t)} 1 2 while A λ -m ∞ -∞ dt dξ|ξ m | f (t, k, ξ) | 2 .
The we get an inequality such as:

U λU 1 2 V 1 2 + λ -m W.
If we choose λ such that the two terms on the r.h.s. coincide then we get, after some computations

U V m m+2 W 2 m+2 .

Now integrate w.r.t. k and use Holder inequality with exponent

p = m/(m + 2) to get U [ V] m m+2 [ W] 2 m+2
Recalling that m = 2α, we get exactly

D α 1+α x f g α 1+α |D v | α f 1 1+α .
Remark 2.1. On can also get estimations for the initial value problem, say if we consider the transport equation (1.2) for say positive time and a given initial value at time 0, f 0 . For example, in that case, the small frequency part gives an additional term which can be estimated as follows

III = ∞ 0 dt |ξ|≤D | k | r | F0 (k, ξ + tk) | 2 = ∞ 0 dt |ξ-tk|≤D | k | r | F0 (k, ξ) | 2 ≤ ∞ 0 dt R 3 ξ 1 |t-|ξ| |k| |≤ D |k| | F0 (k, ξ) | 2 | k | r-1 D R 3 ξ | F0 (k, ξ) | 2 .

Proof of the first part of Theorem 1.2: the constant coefficient case

Here we shall prove the first part of Theorem 1.2 related to f satisfying (1.3). We shall again adapt the ideas of Bouchut, except for a modification of the test multiplier in Step 4 below.

Step 1: We multiply (1.3) by f and integrate over all variables. Taking into account usual symmetry cancellation, we get

(3.4) |||D v | β f || ||g|| 1 2 || f || 1 2 .
Step 2: Now having in mind that we want to prove that |D v | 2β f ∈ L 2 and knowing that g ∈ L 2 , we note that

∂ t f + v.∇ x f = G ≡ -|D v | 2β f + g.
Therefore applying Proposition 1.1 of Bouchut (with the parameter α there replaced by 2β), it follows that

||D x | 2β 1+2β f || |||D v | 2β f || 1 1+2β .|| -|D v | 2β f + g|| 2β 1+2β |||D v | 2β f || 1 1+2β [|||D v | 2β f || + |||D v | 2β f || 1 1+2β .||g|| 2β 1+2β ]. Thus (3.5) |||D x | 2β 1+2β f || |||D v | 2β f || + |||D v | 2β f || 1 1+2β .||g|| 2β 1+2β .
Step

|D v | β |D x | β 1+2β f |D x | 2β 1+2β f 1 2 g 1 2 .
Step 4: This step is different from Bouchut's arguments, in that we choose another mutiplier, taking into account the control for large frequency variable associated with x.

Considering (1.

3), multiply it by

(|D v | 2 + |D x | 2 1+2β
) β f (see the remark below for the choice of this multiplier) and integrate to get

(|D v | 2 + |D x | 2 1+2β ) β f .|D v | 2β f = -Re((|D v | 2 + |D x | 2 1+2β ) β f , v.∇ x f ) + Re((|D v | 2 + |D x | 2 1+2β
) β f , g) = I + II Using Fourier transformation for example, it follows that

II ( |D v | 2β f + |D x | 2β 1+2β f ) g .
With the previous steps, we get

II |D v | 2β f g + |||D v | 2β f || 1 1+2β .||g|| 1+ 2β 1+2β
On the other hand, using Parseval relation

I = -Re((|D v | 2 + |D x | 2 1+2β ) β f , v.∇ x f ) = -Re(((|ξ| 2 + |k| 2 1+2β ) β f, k j ∂ ξ j f = Re(∂ ξ j [(|ξ| 2 + |k| 2 1+2β ) β ] f, k f ) + Re((|ξ| 2 + |k| 2 1+2β ) β ∂ ξ j f, k f ). Thus I = βRe(ξ j (|ξ| 2 + |k| 2 1+2β ) β-1 f, k f ) = Re f f (ξ.k)(|ξ| 2 + |k| 2 1+2β ) β-1 f f |ξ||k||ξ| β-1 |k| β-1 1+2β |ξ| β |k| β 1+2β f.|k| 2β 1+2β f |D v | β |D x | β 1+2β f . |D x | 2β 1+2β
f . Using the previous steps, it follows that

I |D v | 2β f 3 2 g 1 2 + |D v | 2β f 3 2 1 1+2β g 3 2 2β 1+2β + 1 2 .
Step 5: In conclusion, we get

I |D v | 2β f 3 2 g 1 2 + |D v | 2β f 3 2 1 1+2β g 3 2 2β 1+2β + 1 2 and II |D v | 2β f g + |||D v | 2β f || 1 1+2β .||g|| 1+ 2β 1+2β
Using Holder inequality, we get for example, for small ε > 0

|D v | 2β f g ε 2 |D v | 2β f 2 + C ε g 2 |D v | 2β f 3 2 g 1 2 ε 4 3 |D v | 2β f 2 + C ε g 2 |||D v | 2β f || 1 1+2β .||g|| 1+ 2β 1+2β ε 2(1+2β) |||D v | 2β f || 2 + C ε ||g|| 2 and therefore, it follows that |D v | 2β f C ε g . We get also from Step 2 that |D x | 2β 1+2β f g . Remark 3.1.
(1) To get also the same result for the derivative w.r.t. t, we repeat the above arguments, but with the multiplier

(|D t | 2 1+2β + |D v | 2 + |D x | 2 1+2β
) β . As well we could have done the computations from the beginning with this multiplier.

(2) We choose a mutiplier which is somehow singular near null value of the frequency variables.

It would have been better to choose (δ

+ |D v | 2 + |D x | 2 1+2β
) β , for a small δ. Nothing is changed, except that now the upper bound involves f . In fact an even better choice would have been to choose (δ

+ |D v | 2 + < D x > 2 1+2β
) β , whose symbol is smooth.

(3) For the initial value problem, it might be interesting to consider the above multiplier by also

(δ + |tD v | 2 + < tD x > 2 1+2β ) β .
4. Proof of the second part of Theorem 1.2: the non constant coefficient case

We now consider the model problem (1.1). As it should be clear now, the main issue is the estimation of the commutator of any smooth function with the operator (<

D v > 2 + < D x > 2 1+2β
) β , see the remarks in the previous section for the choice of this mutiplier. Recall that we assume a = b 2 χ 2 + a - with b ≥ 0 smooth and χ ≥ 0 compactly supported, and that we do not assume any lower bound on b.

Then, we write

(< D v > 2 + < D x > 2 1+2β ) β f .a.|D v | 2β f = (< D v > 2 + < D x > 2 1+2β ) β f .a -.|D v | 2β f + (< D v > 2 + < D x > 2 1+2β ) β f .b 2 χ 2 .|D v | 2β f = I + II.
The first term I is nice since it will give a lower bound as we wish. So we need to deal with II to make appear a positive term and commutators terms:

We write below

P = (< D v > 2 + < D x > 2 1+2β ) β and Q = |D v | 2β . Then II = (|D v | 2 + |D x | 2 1+2β ) β f .b 2 χ 2 .|D v | 2β f = bχP f.bχQ f = {[bχ, P] f + P(bχ f )}{[bχ, Q] f + Q(bχ f )} = [bχ, P] f.[bχ, Q] f + [bχ, P] f.Q(bχ f ) + P(bχ f ).[bχ, Q] f + P(bχ f )Q(bχ f )
The last term is positive. So we need to consider the first three terms, and in particular to study the commutator.

The easiest commutator is [bχ, Q], Indeed, we note that Lemma 4.1.

For β ≤ 1 2 , one has [bχ, Q] f c b f and for β ≥ 1 2 , one has [bχ, Q] f c b [ |D v | β-1/2 f + f ]
where the constant c b only depends on a finite number of derivatives of b.

Proof. This is a well know result, so we just sketch the main arguments. One possibility is to write (see for example Stein [START_REF] Stein | Singular Integrals and Differentiability Properties of Functions[END_REF]), for some constant

c n Q f = c n h [ f (v + h) -f (v)]/|h| n+2α . Then bχQ f = c n bχ h [ f (v + h) -f (v)]/|h| n+2α = c n h [bχ f (v + h) -bχ f (v)]/|h| n+2α + h [bχ(v) -bχ(v + h)] f (v + h)/|h| n+2α .
Therefore:

[bχ, Q] f = h [bχ(v) -bχ(v + h)] f (v + h)/|h| n+2α = z [[bχ(v) -bχ(z)] f (z)/|z -v| n+2α = z K(v, z) f (z)dz Note that: |K(v, z)| |z -v| n+2α-1 and |K(v, z)| 1/|z -v| n+2α
Thus if β < 1 2 , we can apply Shur's Lemma to see that [χ, Q] is a L 2 bounded operator. For larger values of β we need to use the symetrized version of the integral expression of Q. In fact another method is the following: write

|D v | 2α = [|D v | 2α -< D v > 2α ]+ < D v > 2α .
The first factor is clearly bounded in L 2 while the second one is dealt with the same method as the Lemma just below for the commutator with P. Proof.

Set P = p(D x , D v ) = (|D v | 2 + |D x | 2 1+2β ) β , with p(k, ξ) = (< ξ > 2 + < k > 2
= k ′ ,ξ ′ [p(k, ξ) -p(k ′ , ξ ′ )] b(k -k ′ , ξ -ξ ′ )û(k ′ , ξ ′ ) Set K(k, ξ, k ′ , ξ ′ ) = [p(k, ξ) -p(k ′ , ξ ′ )] b(k -k ′ , ξ -ξ ′ ) = K 1 + K 2 with K 1 = [p(k, ξ ′ ) -p(k ′ , ξ ′ )] b(k -k ′ , ξ -ξ ′ )
and

K 2 = [p(k, ξ) -p(k, ξ ′ )] b(k -k ′ , ξ -ξ ′ )
Ii is immediately seen that the second therm gives rise to a kernel for which we can apply Schur Lemma. That is we see that |K Thus, going back to the inverse Fourier transform, we have an operator K1 such that K1 f f . For the part related to K 2 , suppose first that β ≤ 1/2. Then using Taylor's formulae, it follows that

k,ξ |K 2 (k, ξ, k ′ , ξ ′ )| k,ξ |ξ -ξ ′ || b(k -k ′ , ξ -ξ ′ )| [ k,ξ < (k, ξ) > 2n+2δ | b| 2 ] 1 2
Schur Lemma applies and yields that it is a L 2 bounded operator. If β ≥ 1 2 , we have a upper bound on K 2 as |â||ξ -ξ ′ |[< ξ > β-1/2 + < ξ ′ > β-1/2 . Then, it's enough to use Petree's inequality to conclude.

Remark 4.3. The bound above depends on the norm of bχ is H m

x,v with m = n + 1 + δ for small δ > 0. It is likely not optimal. When a does not depend on variable x, one can obtain better bounds.

Putting together the two previous Lemma, we can conclude the proof of the second part of Theorem 1.2.

Lemma 4 . 2 .

 42 For β ≤ 1 2 , one has [bχ, P] f c b f and for β ≥ 1 2 , one has [bχ, P] f c b [ |D v | β-1/2 f + f ]where the constant c b only depends on a finite number of derivatives of b.

  1+2β ) β . Let b = bχ. Then [P, b]u = P( bu) -b(Pu). Therefore [P, b]u (k, ξ) = P( bu) -b(Pu) = p(k, ξ) b * û(k, ξ) -b * [pû]

  1 | | b(kk ′ , ξξ ′ )||kk ′ |, and then (for any small δ)k,ξ < k > | b|(k, ξ) [ < (k, ξ) > 2n+2+δ | b| 2 ] 1 2 .

3 :

 3 Now apply |D x |

	β 1+2β on (1.3), multiply by |D x |	β 1+2β f and integrate to get
	(3.6)


Hussain Nouri

Florent Ravelet

Farid Bakir

Christophe Sarraf

Experimental investigation on ducted counter-rotating axial flow fans

An experimental study on counter-rotating axial-flow fans was carried out. The fans of diameter D = 375 mm were designed using an inverse method. The counter-rotating fans operate in a ducted-flow configuration and the overall performances are measured in a normalized test bench. The rotation rate of each fan is independently controlled. The distance between the fans can vary from 10 to 50 mm by steps of 10 mm. The results show that the efficiency is strongly increased compared to a conventional rotor or to a rotor-stator stage. The effects of varying the rotation rates ratio on the overall performances are studied and show that the system is highly efficient on a wide range of flow-rates and pressure rises. However, the change of the axial distance between rotors from 10 to 50 mm does not seem to change the overall performances. This system has thus a very flexible use, with a large patch of high efficient operating points in the parameter space. Further local studies including velocity measurements and wall-pressure fluctuations in the space between the rotors are needed to better understand the interactions between the rotors and to optimize the system.

NOMENCLATURE

I. INTRODUCTION

Early studied in the 1930's [START_REF] Lesley | Experiments with a counter-propeller[END_REF][START_REF] Lesley | Tandem air propellers[END_REF] , the counter-rotating machines arouse a greater interest in the turbomachinery field, particularly for their potential improvement of the efficiency with respect to conventional machines by recovering more kinetic energy from the front rotor exit-flow [START_REF] Sharma | A study of some factors affecting the performance of a contra-rotating axial compressor stage[END_REF][START_REF] Sharma | A study of aeroacoustic performance of a contra-rotating axial flow compressor stage[END_REF][START_REF] Min | Study on the contra-rotating propeller system design and full-scale performance prediction method[END_REF][START_REF] Shigemitsu | Internal flow measurement with ldv at design point of contra-rotating axial flow pump[END_REF] . The first counter-rotating machines have appeared in aeronautic and marine applications, in open configuration. Nowadays, these machines with two coaxial axial-flow fans that rotate in opposite direction see a revival of interest in several distinct configurations -open and ducted flows, shrouded or not shrouded rotors-in various subsonic regime applications.

All previous studies concluded that the presence of the rear rotor improves the global efficiency [START_REF] Sharma | A study of some factors affecting the performance of a contra-rotating axial compressor stage[END_REF][START_REF] Sharma | A study of aeroacoustic performance of a contra-rotating axial flow compressor stage[END_REF] and also increases the operating flow-rate range. The counterrotating systems (CRS) moreover allow to reduce the fans radial compactness [START_REF] Shigemitsu | Internal flow measurement with ldv at design point of contra-rotating axial flow pump[END_REF] . A CRS requires more axial spacing compared to one simple fan, but not much more than a rotor-stator stage. Another interesting feature of CRS is that it makes it possible to design axial-flow fans with very low specific speed Ω = ω √ Q

(∆pt/ρ) 3/4 with ω the mean angular velocity, Q the flow rate, ∆p t the total pressure rise and ρ the fluid density.

With such advantages (radial compactness and efficieny improvement), the CRS becomes a very interesting solution and the interactions between the rotors needs to be better understood in order to design highly efficient CRS.

The general aim of the present study on ducted counter-rotating axial-flow fans in subsonic regime is to find out a design method of a CRS by investigating the global and the local performances and the interactions between the two rotors. We first present in § II the method that have been used to design the Front and the Rear Rotors. The experimental set-up is presented in § III. Then we report on the overall performances of the system in § IV. The Counter-Rotating system in its default configuration is studied in § IV A and the effects of varying the rotation ratio and the axial spacing between the rotors are presented in § IV B. We then give some conclusive remarks in § V.

II. DESIGN OF THE ROTORS

The design of the rotors is based on the use of the software MFT (Mixed Flow Turbomachinery) developed by the DynFluid Laboratory 7 to which an original method has been added specifically for the design of the Rear Rotor of the Counter-Rotating System. The design point of the CRS is given in Tab. I. The system is designed to achieve a total pressure rise ∆p t = 420 Pa at flow-rate Q = 1 m 3 .s -1 for a mean rotation rate around 1900 rpm. That would correspond to a specific speed Ω ≃ 2.46 which is far too low a value for an axial machine. The dimensions of the system, the number of blades for the Front Rotor (FR) and of the Rear Rotor (RR) and their rotation rates are then imposed. The system that is presented here has moreover been designed to have a pure axial exit-flow. In that case the static pressure rise of the CRS -that is the only pressure rise experimentally accessible-should be ∆p s = ∆p t -1/2 ρ Q/(πD 2 /4) 2 ≃ 373 Pa.

An iterative procedure is then performed. The pressure rise of the Front Rotor is then arbitrarily chosen and FR is designed and quickly analysed as explained in § II A. An estimate of the pressure rise that RR would made is then performed (see § II B), based on this analyse. If the total pressure rise of the CRS is not met, the design pressure rise of FR is varied and the calculus are made again. The drawback of this method is that the losses and interactions inbetween the two rotors are not taken into account. The effect of the axial spacing S is also not taken into account and is studied in the present Article.

The geometrical characteristics of the rotor blades obtained with this method are summarized in Tab. II. Pictures of the Front and Rear rotors are given in Fig. 1. The Front Rotor (FR) was designed as a conventional fan that meets the specifications reported in Tab. I, i.e. Q = 1 m 3 .s -1 , ∆p tF R = 260 Pa at N F R = 2000 rpm. The hub-to-tip radius ratio is R hub /R tip = 0.293 with tip radius R tip = 187.5 mm. The design is based on the inverse method with simplified radial equilibrium. Rotor is built up from blades of circular-arc camber lines, with NACA-65 profiles clipped at 0.95 x/c. To dimension a new axial machine, the design-point specifications must first be specified (total pressure rise ∆p t , flow rate Q, rotation rate N and radii R tip & R hub ). In a second step, the radial distribution of the circumferencial component of the velocity of fluid, C u2 (r), is imposed at the rotor outlet (the possible types of vortex model: free, constant, forced or mixed). Assuming a perfect fluid and taking into account a rough estimate of the total efficiency of η est = 60% and the equation of simplified radial equilibrium (radial momentum conservation), the velocity triangles at the inlet and outlet of the rotor can then be defined for each radius. The blades can then be defined by the local resolution of an inverse problem considering a two-dimensional flow and searching for the best suited cascade to the proposed velocity triangles. Precisely, this resolution is possible only if we impose the blade number and the local Lieblein's diffusion factor D which has an important influence on the optimization criteria. The behavior of the designed machine resulting from the above method can then be analyzed in order to answer the following questions: • What are the characteristics of the machine at the neighborhood of the design point ?

For the imposed speed of rotation, the direct method rules are applied in order to determine the velocity triangles corresponding to each flow discharge. The effects due to real fluid are taken partially into account with the introduction of an axial-velocity distribution which considers the boundary layers at the hub and casing. Thus, we can obtain the characteristics of the machine in the vicinity of the design-point discharge.

In the present case, this direct analysis predicts a mean absolute tangential velocity C u2F R ≃ 9.6 m.s -1 with a radial distribution uniform within ±5% (constant vortex design). The Reynolds number based on the inlet relative velocity varies from 0.6 × 10 5 at the hub to 3 × 10 5 at mid-span and 7 × 10 5 at the tip.

The blades of FR are stacked on the trailing edge in order to ease velocity measurements close to it. Please note that the blades of RR are stacked on the leading edge for the same reasons. The blades have moreover no sweep.

B. Design of the Rear Rotor

The method used for the design of the Rear Rotor (RR) is to considere the velocity and the flow angle at the trailing edge of the FR blades. Therefore, FR was analysed with MFT to retrieve the axial and tangential velocities (C a2F R = C a1RR and C u2F R = C u1RR respectively) and the angle α 2R1 in the absolute reference frame, at the exit along the blade as shown in Fig. 2.

Using a Matlab script and following an iterative procedure, the RR is drawn in such a way that the exit flow is axial, that is α 2RR = 0 o . The second hypothesis is that the axial velocity profile is kept constant accross RR, i.e. C a2RR (r) = C a1RR (r). Under these asump-FIG. 2. Velovity Triangles for the CRS. The fluid is flowing from left to right. Please see the Nomenclature for the meaning of the capital letters and subscripts. Please also note that this is a general case where the exit-flow is not constrained to be solely axial tions, the total pressure rise of RR should be ∆p tRR = η est ρ U mRR C u2F R ≃ 0.6 × 1.2 × 22.9 × 9.6 ≃ 160 Pa.

In order to completely define the geometry of the blade cascade, we have to compute γ the stagger angle, σ the solidity, c the chord, e % the relative thickness and C z∞0 the camber coefficients. This inverse problem is solved with the following empirical equations that have been validated for NACA-65 cascades 7 , for 0.5 ≤ σ ≤ 1.5 and 0 ≤ C z∞0 ≤ 2.7:

γ = β 1RR -a, (1)
a is the angle of attack and is obtained by:

a = ∆β RR + 0.94 q(β 1RR ) + 2.07 (2)
with q(β 1RR ) defined by:

q(β 1RR ) = 2.103 -4.01910 -7 β 3.382 1RR (3)
The solidity σ is computed by:

σ -1 = D -1 + C 2RR C 1RR × 2C 1RR |∆C uRR | (4)
with D the Lieblein's diffusion factor. The solidity is computed at the hub and at the tip with D hub = D tip = 0.5 as initial values. Then equation 5 is used to obtain the chord at the hub and the tip:

c = σ 2πR Z ( 5
)
where Z is the number of blades. The chord is computed at the tip and at the hub then the intermediate chords are obtained by linearization. The maximum thickness was set to e max = 6 mm. Finally, the camber coefficients C z∞0 are computed by:

C z∞0 = a + 2.525 p(σ) -0.823 (6)
where

p(σ) = 15.535 -12.467e -0.4242σ (7)
We then check that the solidity lays in the range 0.5 ≤ σ ≤ 1.5 and that the camber lays in the range 0 ≤ C z∞0 ≤ 2.7. After several iterations, the RR was drawn with D hub = 0.61 and D tip = 0.46.

III. EXPERIMENTAL SET-UP

The Counter-Rotating System is studied in a ductedflow test rig -AERO 2 FANS-that has been built according to the ISO-5801 standards [START_REF] Iso | ISO 5801 -Industrial fans Performance testing using standardized airways[END_REF][START_REF] Sarraf | Experimental study of blade thickness effects on the global and local performances of a controlled vortex designed axial-flow fan[END_REF] . The Figure 3 shows this test rig. It consists of a cylindrical pipe of inner diameter D = 380 mm. A bell mouth is flushmounted at the inlet of the duct to reduce the energy loss due to fluid friction and flow separation of the inlet flow. The upstream face of FR is at a distance 5D from the pipe inlet. A honeycomb is placed upstream of FR to homogenize the incoming flow. Two brushless PANASONIC A4 motors drive each rotor separatly and are hidden in a casing of diameter 0.33D and of length 0.45D, with a warhead-shape end. For the front motor the honeycomb ensures the binding to the tube. The rear motor is bound to the tube by two rod rows (3 and 5 rods, the first row being at 0.1D from the Rear Rotor). An anti-gyration device made of eight metal sheets of thickness 1.5 mm and length 2D is placed 2D downstream of the CRS. It prevents the outgoing flow from having any rotating component and the static pressure evaluated downstream is more reliable. The static pressure of the axial fan is measured 1D downstream of the antigyration device, with an average over four flush-mounted pressure taps. To make the installation more compact, a tube bend of 180 o is placed 1D downstream of the pressure taps. The flow rate is measured with a normalized diaphragm, located 10D downstream of the tube bend and 5D upstream of the pipe outlet. The diaphragm has a diameter of 0.73D. An iris damper -originally used for air flow regulation in ducts-is placed at the exit of the pipe to vary the test-bench hydraulic impedance and thereby to vary the operating point of the studied axialflow fan. Finally, an axial blower can also be used at the exit of the pipe to widen the explored flow-rate. The static pressure losses from the honeycomb, the motors casings and the anti-gyration device have been measured using this axial blower and have been added to the static pressure rise measurements.

The study focuses on the influence of the gap between the rotors (axial spacing S) as well as on the influence of the speed ratio θ = N RR N F R . The axial spacing vary from S = 10 mm to S = 50 mm by steps of 10 mm. Clear Plexiglas blocks of different thickness are used to change the axial spacing. The reason of using transparent material is to allow forthcoming optical measurements of the velocity field with Laser Doppler Anemometry (LDA) or Particle Image Velocimetry (PIV). Unless specified the default axial spacing is S = 10 mm. Regarding the speed ratio, each rotor is driven separatly so all combinations are possible. The default configuration is θ = 0.9 (see Tab. I).

IV. RESULTS AND DISCUSSION

A. Overall performances of the reference system ({θ = 0.9 ; S = 10mm})

The characteristics of the Front Rotor rotating alone (RR has been removed from its shaft in that case), of the Rear Rotor rotating alone (FR has been removed) and of the Counter-Rotating system are shown in Fig. 4. The operating speeds are the design speeds, i.e. 2000 rpm for the Front Rotor and 1800 rpm for the Rear Rotor. The static efficiency is defined by equation 8:

η s = ∆P s Q (T F R ω F R ) + (T RR ω RR ) (8)
The nominal flow-rates of the three systems, i.e. the flow-rates at maximum efficiency, are reported in Tab. III together with the corresponding static pressure rises and efficiencies.

The Front Rotor rotating alone has a very flat curve (red in Fig. 4). The characteristic curve could not be explored for flow-rates higher than 3800 m 3 .h -1 , i.e. The Rear Rotor rotating alone has a steeper curve (blue ⋆ in Fig. 4) and its nominal flow-rate Q ≃ 2600 m 3 .h -1 is lower than the design flow-rate of FR and CRS. This is consistent with the bigger stagger angle of the blades (see Tab. II).

Let us examine the velocity triangles in Fig. 2 and consider the case with the Front coupled to the Rear Rotor: the incoming velocity C 1RR =C 2F R has an axial component as well as a tangential component. Hence, the flow angle in the relative reference frame reads:

tan(β 1RR ) = U RR + C u1RR C a1RR (9)
Let us consider now the case without the Front Rotor and assume that the flow through the honeycomb is axial.

Since the tangential component does not exist anymore and the incoming velocity has only the axial component, equation 9 becomes:

tan(β 1RR ) = U RR C a1RR (10)
Let us now compute the result of equation 9 for the mean radius and at the nominal flow-rate of the CRS, asuming that the tangential velocity is well predicted by MFT, that is U RR ≃ 22.9 m.s -1 , C a1RR ≃ 8.8 m.s -1 and C u1RR = C u2F R ≃ 9.6 m.s -1 . This leads to tan(β 1RR ) ≃ 3.69. If we now suppose that RR rotating alone has its maximum efficiency when the tangent of the inlet flow-angle is equal to this value, equation 10 implies that this is for a flow-rate such that C a1RR = U RR tan( β 1RR ) ≃ 6.2 m.s -1 , i.e. Q ≃ 0.705 m 3 .s -1 or 2540 m 3 .h -1 . This is exactly the nominal flow-rate of RR rotating alone (see Fig. 4 and Tab. III). The estimations of the angles behind the Front Rotor using the direct analysis of MFT thus seem consistent.

The characteristic curve of the CRS (black • in Fig. 4) is steeper than the characteristic curve of FR. It is roughly parallel to the RR curve. The nominal flowrate of the CRS matches well with the design flow-rate, i.e. 1 m 3 .s -1 . The static pressure rise at the nominal discharge (∆p sCRS = 340 Pa) is 10% lower than the design point (373 Pa), which is not so bad in view of the rough approximations used to design the system. The CRS has a high static efficiency (η sCRS = 65%) compared to a conventional axial-flow fan or to a rotorstator stage with similar dimensions, working at such Reynolds numbers [START_REF] Moreau | Efficient stator designed for automotive engine cooling fan systems[END_REF][START_REF] Bakir | Detailed study of an efficient small diameter automotive engine cooling fan system[END_REF] . The gain in efficiency with respect to the Front Rotor is 20 points, whilst an order of magnitude of the maximum gain using a stator is typically 10 points [START_REF] Moreau | Efficient stator designed for automotive engine cooling fan systems[END_REF][START_REF] Bakir | Detailed study of an efficient small diameter automotive engine cooling fan system[END_REF] .

The flow-rate range for which the static efficiency lays in the range 60% ≤ η s ≤ 65% is: 2750 In this paragraph, the rotation rate of FR is kept constant at N F R = 2000 rpm, and the rotation rate of RR is varied from 0 rpm to 2400 rpm.

Q 4150 m 3 .h -1 ,
The corresponding θ are θ = {0 ; 0.5 ; 0.8 ; 0.85 ; 0.9 ; 0.95 ; 1 ; 1.05 ; 1.1 ; 1.15 & 1.2}. The axial spacing is S = 10 mm.

The overall performances of the CRS in these conditions are plotted in Fig. 5. As expected, the more the rotation rate of RR increases, the more the static pressure rise of the CRS increases and the nominal flow-rate of the CRS increases. The maximal efficiency as a function of θ is plotted in Fig. 6.

For very low rotation rates of RR, i.e. for θ = 0 (Dark green in Fig. 5) and θ = 0.5 (black in Fig. 5), the system is very unefficient: in the first case when the RR is at rest the maximum efficiency hardly reaches 35% which is below the maximal efficiencies of both FR and RR alone. The maximum flow-rate that can be reached is moreover very low in both cases compared to the discharge goal of 3600 m 3 .h -1 .

In the range θ ∈ [0.8 ; 1.2], i.e. N RR ∈ [1600 ; 2400] rpm, the system is highly efficient. The maximum efficiency increases with θ to reach a maximum value of 66.5% for θ = 1.05 and is then quasi-constant (η s = 66.0% for θ = 1.20). This is a very interesting feature of the Counter-Rotating System. One could imagine, simply by varying the Rear Rotor rotation rate, to work at a constant pressure rise with an efficiency greater than 60% for a large flow-rate range. For instance in the present case, the system could give a constant static pressure rise of 375 Pa with η s ≥ 60% for 3000 ≤ Q ≤ 4250 m 3 .h -1 with N F R = 2000 rpm, S = 10 mm and θ ∈ [0.85 ; 1.2].

One could also imagine to work at a constant flowrate with high static efficiency. For instance in the present case, the system could give a constant flow-rate of 3600 m 3 .h -1 with η s ≥ 60% for 290 ≤ ∆p s ≤ 490 Pa with N F R = 2000 rpm, S = 10 mm and θ ∈ [0.8 ; 1.2].

Axial spacing S

Four axial spacings were studied: S = 10, 20, 40 &50 mm. Figure 7 shows the characteristics curves at the design rotation rates, i.e., N F R = 2000 rpm and θ = 0.9. For this range of axial distances, the overall performances do not vary a lot. There is a slight tendency to a decrease in performance with increasing distances: at the design flow-rate, the difference in static pressure between the best case (S = 10 mm) and the worst case (S = 40 mm) is 17 Pa, which corresponds to a relative decrease of 5%. The efficiency does not vary significantly either. In other studies [START_REF] Sharma | A study of some factors affecting the performance of a contra-rotating axial compressor stage[END_REF][START_REF] Sharma | A study of aeroacoustic performance of a contra-rotating axial flow compressor stage[END_REF] it was reported that the axial spacing had a more significant influence on the overall performances. This is probably due to a difference in the axial distance range.

Let us take as a significant length scale the mean chord length of the Front Rotor (c F R = 58 mm). We introduce

A = S c F R (11)
The results reported here concern the range A ∈ [0.17 ; 0.86]. The latter value of A is probably too small to see a significant decrease in performances. The effects reported in [START_REF] Sharma | A study of some factors affecting the performance of a contra-rotating axial compressor stage[END_REF][START_REF] Sharma | A study of aeroacoustic performance of a contra-rotating axial flow compressor stage[END_REF] were indeed significant for A = 2. Further studies with greater values of A are scheduled. The effects of the axial spacing on the level of pressure fluctuations will also be investigated in future works.

V. CONCLUSION

A Counter-Rotating axial-flow fan has been designed according to an iterative method that is relatively fast. It is based on semi-empirical modelization that partly takes into account the losses, boundary layers at hub and casing, and the effects of "low" Reynolds numbers (below 2 × 10 5 ).

The overall performances at the nominal design point are slightly lower than predicted, with a static pressure rise 10% lower. The static efficiency is however remarkably high (η s ≃ 65%) and corresponds to a 20 points gain in efficiency with respect to the Front Rotor maximal efficiency and to a 10 points gain with respect to the Rear Rotor. The overall measurements give first clues that allow to validate the design method.

The Counter-Rotating System has a very flexible use that allows to work at constant flow-rate on a wide range of static pressure rises or to work at constant pressure rise on a wide range of flow-rates, with static efficiency bigger than 60%, simply by varying the Rear Rotor rotation rate. One could thus imagine an efficient closedloop-controlled axial-flow fan. The overall performances moreover do not significantly vary with the axial spacing in the range A ∈ [0.17 ; 0.86]. This range will be extended to at least 2 Front Rotor chords.

Local measurements of the velocity field in the wake of the Front Rotor rotating alone are scheduled, in order to confirm the design. These measurements will also be of great interest concerning the understanding of the interaction in the space betwenn the rotors. Local measurements of wall-pressure fluctuations are planed, and may show a greater influence of the axial spacing.

The authors finally wish to thank Robert Rey for very fruitfull discussions.

FIG. 1 .

 1 FIG. 1. Picture of the Front Rotor (left) and Rear Rotor (right)

  72.9 0.66 65 NACA 65(05)08 Tip 187.5 87.1 0.51 75 NACA 65(04)07 0.46 TABLE II. Blade cascade parameters for the two rotors. Radius R (mm). Chord length c (mm). Cascade solidity σ. Stagger angle γ ( o ). Profile designation according to the nomenclature given in Ref. 7 : NACA65(xx)yy with (xx) representing the relative camber and yy standing for the relative thickness. Lieblein's diffusion factor D • Is the design-point achieved and what are the values of efficiency locally ?

FIG. 3 .Front

 3 FIG. 3. Experimental facility for CRS, AERO 2 FANS

  FIG. 5. CRS characteristics at NF R = 2000 rpm, S = 10 mm and θ ∈ [0 ; 1.2] : (a) static pressure rise ∆ps vs flow rate Q; (b) static efficiency ηs vs flow rate Q. Dark green : θ = 0, black : θ = 0.5, mustard yellow : θ = 0.8, magenta ▽: θ = 0.85, cyan ⋄: θ = 0.9, red △: θ = 0.95, green * : θ = 1, blue : θ = 1.05, dark green ×: θ = 1.1, black •: θ = 1.15 and purple +: θ = 1.2. The blue and the dashed lines stand for the design point of the CRS

FIG. 7 .

 7 FIG. 7. CRS characteristics at various axial spacing: (a) static pressure rise ∆ps vs flow rate Q; (b) static efficiency ηs vs flow rate Q. The rotation ratio of FR is NF R = 2000rpm and θ = 0.9. Magenta ▽: S = 10 mm, blue ⋄: S = 20 mm, red △: S = 40 mm and black •: S = 50 mm. The blue and the dashed lines stand for the design point of the CRS

TABLE I .

 I Design point of the Counter-Rotating System

		CRS		Front Rotor Rear Rotor
	D (mm)	380		380	380
	Rtip (mm)	187.5		187.5	187.5
	R hub (mm) 55		55	55
	Z	-		11	7
	∆pt (Pa)	420		260	160
	N (RPM)	1900		2000	1800
	Q (m 3 .s -1 ) 1		1	-
	Ω	2.46		3.71	-
	Other	Axial	exit-	Constant	-
	constraints	flow		vortex


J Gorin

- M Wipliez

-F Prêteux

- M Raulet

A PORTABLE VIDEO TOOL LIBRARY FOR MPEG RECONFIGURABLE VIDEO CODING USING LLVM REPRESENTATION

Keywords: RVC, CAL, LLVM, Orcc, Dataflow programming, Compilation, Intermedia Representation, dynamic decoding

MPEG Reconfigurable Video Coding (RVC) represents the last answer of MPEG to overcome the lack of interoperability between codecs deployed in the market nowadays. The main goal of MPEG RVC is to provide a set of coding tools employed in all MPEG standards, the Video Tools Library (VTL), encapsulated into independent entities called Functional Units (FUs). FUs are described as dataflow actors in RVC-CAL actor language (RVC-CAL) and decoders are described as dataflow programs with the Abstract Decoder Models (ADMs). Therefore, an ADM of an MPEG decoder corresponds in MPEG RVC to a network of FUs taken from the VTL. The typical use of MPEG RVC is to translate an ADM into a hardware or software description language that target one specific platform. In [1], we propose to skip this synthesis process of ADM and to directly integrate a portable version of VTL described in the Low-Level Virtual Machine Intermediate Representation (LLVM IR) inside platforms. This portable VTL is couple with a new RVC Decoder, we called Just-In-Time Adaptive Decoder Engine (Jade), that dynamically instantiates ADM to decode any encoded video using its associated network description. In this paper, we introduce the different compiling steps required to obtain an automatically translation of a VTL described in RVC-CAL into a portable VTL described in LLVM. This translation is based on a new RVC-CAL compiler called Open RVC-CAL Compiler (Orcc).

INTRODUCTION

MPEG Reconfigurable Video Coding (RVC) has been chosen by the MPEG community to be an alternative paradigm for codec deployment. Its objective is to enable arbitrary combinations of fundamental algorithms, without additional standardization steps. The paradigm used in MPEG RVC is the RVC-CAL Actor Language (RVC-CAL). This language allows developer to produce high-level description of Abstract Decoder Model (ADM) by using dataflow programs. An ADM encapsulates the algorithms of an application into independent entities called Functional Units (FUs). By using this principle, a dataflow description naturally exposes concurrency between components of an application without adding any implementation details. The MPEG RVC framework provides both a normative standard library of FUs called Video Tool Library (VTL) and a set of decoder descriptions expressed as network of FUs. An ADM representation of a decoder is modular and helps its reconfiguration by permitting the topology of its network to be easily modified.

In this context, we developed a new dynamic decoder called Just-In-Time Adaptive Decoder Engine (Jade), which follows the concept of MPEG RVC. This decoder is based on the Virtual Machine provided by the Low-Level Virtual Machine (LLVM) infrastructure to dynamically load and execute dataflow programs of ADM. This dataflow decoder is created in Jade according to a network description of the ADM and an LLVM representation of the VTL. As represented in Figure 1, Jade is able to take the side information of the decoder description alongside the content itself, for a dynamic generation of decoders 1, 2 or a hybrid version between these two decoders. To be fully RVC compliant, Jade is based on FUs provided by the VTL and translated into LLVM Intermediate Representation (IR). This LLVM IR enables a transparent execution of FU on a Virtual Machine.

In this paper, we describe the way to automatically convert a VTL described in RVC-CAL into a Low-Level Virtual Machine equivalent Intermediate Representation (LLVM IR). The LLVM IR is a low-level and platform independent representation, close to Assembly languages, which provides high-level information for compiler optimizations. By coupling LLVM IR with its associated Virtual Machine, LLVM provides excellent computation performance, comparable to static code execution (i.e. without using a Virtual Machine). After a brief reminder of the concept of MPEG RVC and of its associated language RVC-CAL, this paper presents the different compilation stages starting from an RVC-CAL description of a Functional Unit to obtain an LLVM IR of this FU. This automatic process is helped by a new Open RVC-CAL Compiler (Orcc) that produces the first stage of our compilation process. We will finally conclude this paper with some experiments on size and execution performance of the portable VTL coupled with Jade.

MPEG RECONFIGURABLE VIDEO CODING (RVC)

The key approach of MPEG RVC [START_REF] Mattavelli | The reconfigurable video coding standard [standards in a nutshell[END_REF] is to produce an Abstract Decoder Model of MPEG standards at system-level and suitable for any platform. An ADM is a generic representation of a decoder, built as a block diagram expressed with the XML Dataflow Format (XDF). XDF is an XML dialect that describes the connections between blocks (FUs). Each FU is described in RVC-CAL and defines a processing entity of a decoder. Connections represent the data flow between FUs.

XML Dataflow Format

Encoded Video Data Decoded Video Data

Non-Normative

Normative

Decoding Translation

Video Tools Library Fig. 2. A typical use of the MPEG RVC Framework.

The MPEG RVC framework [START_REF] Mattavelli | The reconfigurable video coding standard [standards in a nutshell[END_REF] is under development as part of the MPEG-B standard [START_REF]MPEG systems technologies -Part 4: Codec Configuration Representation[END_REF], which describes the framework and the language it uses; and as part of the MPEG-C standard [START_REF]MPEG systems technologies -Part 4: Video Tool Library[END_REF], which defines the library of video coding tools (Video Tool Library or VTL) employed in existing MPEG standards. The Figure 2 shows a typical use of a normative ADM description to produce a non-normative decoding solution that can target either software or hardware platform.

RVC-CAL dataflow programming

RVC-CAL Actor Language has been chosen by MPEG RVC as the reference programming language for describing FU [START_REF] Amer | Reconfigurable Video Coding: An overview of its main objectives[END_REF]. An actor in RVC-CAL represents an instantiation of an RVC Functional Unit and an RVC-CAL dataflow model represents a composition of actors. An actor (shown in Fig. 3 and Fig. 4) is a computational entity with input ports, output ports, states, actions, and parameters. All actors communicate with others by sending and receiving tokens (atomic pieces of data) through their ports. An actor contains one or several actions. Actions define computations that an actor has to execute (or to fire). Actions may have a tag, guard, local variables, and statements. An action is defined by the amount of tokens consumed on the input. It may change the actor state, and may output tokens according to a function of inputs tokens and state variables. The guard conditions specify additional firing conditions, where the action firing depends on the values of input tokens or the current state.

When an actor fires, an action is selected according to the number and value of tokens available, and if the guard associated to the action is true. Action selection may be further constrained using a Finite State Machine (FSM) and priority inequalities to impose a partial order among action tags. The reader can refer to [START_REF] Amer | Reconfigurable Video Coding: An overview of its main objectives[END_REF] for more details on the RVC-CAL language. An actor called Absolute Value is described in RVC-CAL on Figure 3 and is represented on Figure 4. This actor outputs the sign and the absolute value of its input data. It is composed of three ports, one input I of int(size=16) and two outputs S and O of size respectively uint(size=15) and uint(size=1). The output O produces absolute value of token on input I. The output S produces a token designating the sign of the input data, i.e. 1 if data is negative and 0 otherwise. The actor contains four actions; pos and neg that produce absolute values; sign and unsign for producing signed values. An F SM rules the order in a way that actions can be fired with the sequence pos then unsign or neg then sign. The priority favors action neg over action pos when both are fireable.

State

LOW-LEVEL VIRTUAL MACHINE (LLVM)

RVC-CAL describes dataflow programs at high-level of description without giving any implementation details, exposing available parallelism between the component of an application. On the contrary, the Low-Level Virtual Machine (LLVM) is a low-level representation of applications, close to Assembly languages, that captures the key operations of ordinary processors but avoids machine specific constraints such as physical registers or pipelines. The LLVM Intermediate Representation (LLVM IR) has been designed as a low-level representation but with high-level type information for compiler analysis and optimization [START_REF] Lattner | LLVM: An Infrastructure for Multi-Stage Optimization[END_REF].

The term of LLVM is also designating its associated Virtual Machine capable to manage the LLVM IR of an application for producing highest performance executable code through an aggressive system of continuous optimization.

LLVM Intermediate Representation

One of the key factors that differentiate LLVM from other systems is the intermediate representation it uses. The reader is invited to read [START_REF] Lattner | LLVM: An Infrastructure for Multi-Stage Optimization[END_REF] that explains the justification of LLVM IR design choices. The LLVM IR is composed of an infinite set of typed virtual registers that can hold values of primitive types (integral, floating point, or pointer values). These virtual registers are in Three Address Code (3AC) form and Static Single Assignment (SSA) form [START_REF] Lattner | LLVM: An Infrastructure for Multi-Stage Optimization[END_REF]. We develop the property of these two forms, widely used for compiler optimization, in section 5.1. LLVM programs transfer values between virtual registers and memory solely via load and store operations using typed pointers.

Fig. 5. LLVM IR coding example

The LLVM instruction set contains 31 operation codes (opcode) that can be overloaded (for example, the add instruction can operate on operands of any integer size or vector type). The LLVM IR has also a mechanism for explicit representation of Control Flow Graph (CFG). Figure 5 provides an example of the LLVM IR. More information on syntax and semantics of each LLVM instructions are given in the LLVM reference manual [START_REF] Lattner | LLVM Language Reference Manual[END_REF].

LLVM inside the Just-In-Time Adaptive Decoder Engine

The Virtual Machine from LLVM represents the core of Jade. Jade is a dynamic RVC decoder able to generate and execute a dataflow program from an ADM, by using its associated decoder description and an LLVM representation of the VTL. The decoder description is a network description of an ADM expressed in XDF. The dynamic decoder creation and execution of jade is made by coupling the Virtual Machine of LLVM with a dedicated library -the RVC Decoder Engine (RDE) represented in Figure 6.

The RDE library parses XDF files, parses LLVM IR of required FUs among the VTL, and generates an LLVM representation of the corresponding ADM. The LLVM representation is finally sent to the Virtual Machine that will produce and execute efficient machine code, fitted to the target platform.

Just-In-Time Adaptive Decoder Engine

Low-Level Virtual Machine

Decoded Video

Coded data Decoder Description

LLVM-Portable Video Tool Library RVC Decoder Engine Fig. 6. Infrastructure of Just-In-Time Adaptive Decoder Engine.

The strength of Jade is to take the benefits of the LLVM infrastructure along with the RVC infrastructure. As LLVM is becoming a commercial grade research compiler, the LLVM IR generated from an ADM will continually benefit from improvements of the LLVM compiling infrastructure. The achievement of this solution is also highly related to the efficiency of the LLVM IR of FU in the VTL. The translation of an RVC-CAL FU into LLVM IR must keep the high-level information from the original model, but with a very low-level description of the FU processing and behavior. The next two sections of this article are focused on the LLVM translation process of the VTL.

RVC-CAL COMPILER INFRASTRUCTURE

The translation process of an RVC-CAL FU into an llvmequivalent representation is based on the Open RVC-CAL Compiler (Orcc) [START_REF] Janneck | Reconfigurable video coding: a stream programming approach to the specification of new video coding standards[END_REF]. Orcc is a compilation framework that For the need of Jade, we developed a new LLVM backend that starts from the low-level Orcc IR to produce LLVM IR of an entire VTL.

Actor Intermediate Representation

The Orcc IR is a conservative representation of a dataflow program in terms of structure and semantic while being at a lower level of representation. It is a common denominator of potential target languages such as C, C++ or Java without favoring one in particular.

Each actor representation is serialized in JavaScript Object Notation (JSON) description format. Figure 8 shows the structure of the Absolute Value actor (Fig 3) in Orcc IR. The JSON description contains name, pattern and a list of actions of the actor. The F SM of the actor is translated into an action scheduler that lists state-to-state transitions. P riorities become a list of action tags sorted by decreasing priority.

The JSON description of an action (Fig. 9) contains the action tag and the number of tokens produced and consumed. The expressions in the action are reduced to simple arithmetic expressions. Functional tests and list generators become imperative statements. The assignment statement is differentiated into assignments (assign) to local variables and load/store to memory operations. The high-level RVC-CAL functional expressions containing function calls, conditionals or list generators are translated into an equivalent lower-level IR expression.

The condition to fire an action becomes an isSchedulable function (Fig. 10), which tests value and the number of token on the input of the action, as well as testing guard condition "name": "Abs", "inputs" : [ "int", [ 16 ] ], "I" ], "outputs": [ "uint", [ 15 ] ], " O" ] if it exists. If isSchedulable returns true, it means that the current action can be fired.

Specific operations dealing with FIFOs become read, write, hasT okens or peek statements. This is necessary in Orcc IR because the semantics of RVC-CAL specify that the input and output patterns may have read/write several tokens as a list, or may have to reorder tokens.

Template engine

Each Orcc back-end, which can produce C, Java or V HDL code, has the role to parse Orcc IR from actor into classes, then to unparse these classes to the targeted language using a template engine. A template engine is a simple code generator that emits texts using template documents. A template engine breaks up template documents into piece of text and attribute expression, producing the grammar and syntax of the functional language. It avoids print statements into Orcc back-end to generate source code and ease the implementation of new language.

A template document is composed of 4 canonical operations:

1. Attribute reference: $name$ 2. Template references: $search()$

Apply template to multi-valued attribute:

$users:{u -u.name ID is $u.id$.}$ 4. Conditional include: $if(var)$ var is true. $endif$ These canonical operations are encapsulated into methods corresponding to IR instructions (Fig. 11). Texts or canonical operations include in these methods are printed when a corresponding instruction is found on the Orcc IR. A template group can contain several templates, and can extend a parent template. These functionalities allow a template group in a back-end to overwrite templates of a parent template, and thus favor reusability among back-ends. The template engine also supports recursion, automatic indentation, and line wrapping.

FROM RVC-CAL COMPILER IR TO LLVM

C, Java or V HDL Orcc Back-ends are designed to produce one targeted-code file per actor and a network file that manage the execution of the overall decoder. These files, representing an ADM, have to be compiled into a single application that can then be installed into the machine we target. For the need of Jade, the llvm back-end does only compile each FU from VTL into a separate LLVM IR file. One VTL generation fits every platform supported by the LLVM infrastructure. The generation and execution of the network is left to the RDE of Jade.

The Orcc IR and LLVM IR have some similarity that helps the translation process for the LLVM back-end. They are both in SSA form with an unlimited number of registers. They have both integer types with arbitrary bit widths. Both IRs have instructions with similar semantics, those include assignment to a local variable, load/store memory operations and φ assignments. In the next part, we explain the necessary transformation applied to the Orcc IR to obtain an LLVM IR.

Three Address Code form

The first main difference between LLVM and the actor IR is that the Orcc IR supports arithmetic expressions in assignments, load/store, and conditional branches, while LLVM only supports three-address code(3AC) [START_REF] Lattner | LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation[END_REF].

Three-Address Code (3AC) is a form used to improve compiler analysis. Each instruction of the 3AC form is described as a 4-tuple: operator, operand1, operand2, result. The general form of 3AC is x := y op z, where x, y and z are variables, constants or temporary variables and op is an arithmetic operator. In Orcc IR, each expression that contains more than one fundamental operation must be decomposed into an equivalent series of instructions that fits 3AC form and SSA constraints. For instance, the instruction p := x + y × z is converted into t 1 := y × z and p := x + t 1 where t 1 is a variable that is assigned exactly once in the overall function to respect the SSA constraint. Three-address code is still also used even if some instructions use more or fewer than two operands.

The key features of three-address code are that every instruction implements exactly one fundamental operation. Every expression containing more than one fundamental operation in Orcc IR is translated into a series of 3AC instructions before generating the LLVM IR. This transformation is directly applied to the Orcc IR of actors as a transformation pass.

Structure of template document

The other difference between Orcc IR and LLVM is that an instruction in Orcc IR usually corresponds to many instructions in LLVM IR. For instance, the hasTokens node, which checks FIFO status in Orcc IR, is decomposed into a load opcode and a call opcode in LLVM. To respect the SSA form, the template document of the Orcc back-end is structured into 3 levels of template as shown in Figure 12.

//Orcc IR Instructions HasTokens(hasTokens) ::= << $HasTokensNode(hasTokens.target, hasTokens.numTokens, hasTokens.port)$ >> // Conversion instructions HasTokensNode(result, token, port) ::= << $LoadOp(result=result+"0", ty="%fifo ** ", pointer="@"+port)$ $CallOp(result=result, ty="i1", fnptrval="@hasTokens", function_args= "%fifo * "+result+"1"+, i32 "+token )$ >> // LLVM Operations LoadOp(result, ty, pointer) ::= << $result$ = load $ty$ * $pointer$ >> CallOp(result, ty, fnptrval, function_args) : The first level is devoted to Orcc IR instructions (i.e. Has-Tokens). This template is called by the back-end when Orcc IR has the corresponding instruction. It gets information from the instruction and selects the right transformation to apply. The second level describes the conversion to apply to an instruction (HasTokensNode). This template transforms an Orcc IR instruction into a series of LLVM opcodes and ensures that SSA property is respected. The third level manages LLVM opcodes (LoadOp and CallOp). The overload of each LLVM opcode is managed according to the parameters given to the template. This lower-level of template is the only level that prints LLVM instructions into files.

:= << $if(result)$ $result$ = $endif$ call $ty$ $fnptrval$ ( $if(function_args)$ $function_args$ $endif$ ) >>

Control Flow Graph Transformation

Another main difference between LLVM and Orcc IR is that conditional branch nodes, namely if and while nodes, have no equivalent in LLVM IR. The Control Flow Graph (CFG) of a function in the LLVM IR is a list of basic blocks, each basic block starting with a label. A basic block contains a list of instructions, and ends with a terminator instruction, such as a branch instruction or function return instruction. We augmented the Orcc IR with a straight Control Flow Graph checking that creates, flattens, and simplifies the CFG.

Figure 13 gives an LLVM-equivalent representation of the scheduler of action pos (isSchedulable pos), described in RVC-CAL on Figure 3 and in Orcc IR on Figure 10. This The isSchedulable pos LLVM IR function is composed of 5 basic blocs (entry and bb1 to bb4) surrounded by branch instructions (br). It checks the status of the FIFO I, by calling hasTokens function. The control flow is then branched to bb1 or bb2 according to the resulting % tmp1 1. % tmp0 2, corresponding to return value, is set by a phi instruction. This instruction takes the value 0 if the previous basic block is bb3, or the value 1 if the previous block is bb2.

Metadata information

LLVM is also able to manage extensible metadata information inside LLVM IR. Metadata is widely used in programming languages to give "extra" information about some element of the application (for instance variables, functions, structures...).

In our approach, metadata information is used to carry the structural information of an FU. We call structural information of FU the information elements in the Orcc IR that have any influence on computation, namely name, inputs, outputs and actions of an FU. This structural information is necessary for Jade to connect actors in dataflow programs and to apply some actor transformation inside an ADM, for instance the merging of actors [START_REF] Wipliez | Classification and Transformation of Dynamic Dataflow Programs[END_REF]. Figure 13 corresponds to the metadata description of Absolute Value actor. This representation is equivalent to the Orcc IR description given in Figure 8.

The metadata elements are identified in LLVM with a metadata type and a preceding exclamation point ('!'). Metadata elements of FUs are explored using Named metadata. Named metadata are collection of metadata primitives that contain properties of dataflow elements. For instance, the input I of Absolute Value is described by the named metadata !1 in Figure 14.

Metadata primitives are composed of metadata strings We incorporate LLVM variables inside metadata node to bound metadata information with their corresponding LLVM variables. By encapsulating this information inside the LLVM description, no information is lost between Orcc IR and structural information is directly bounded to the LLVM IR. The representation of the original CAL description is conserved and manageable by the RDE of Jade.

!name = !{!0} !inputs = !{!1} !outputs = !{!2} !actions = !{!3,

GENERATED VIDEO TOOL LIBRARY

We tested our concept of portable VTL on the MPEG RVC VTL at its current state of standardization in MPEG-C [START_REF]MPEG systems technologies -Part 4: Video Tool Library[END_REF]. This VTL currently incorporates coding tools from MPEG-4 Part-2 Simple Profile (SP) and MPEG-4 Advanced Video Coding (AVC) standards. It is composed of 69 RVC-CAL FUs, 22 are coming from the MPEG-4 SP standard and 47 are coming from MPEG-4 AVC standard.

We compared the LLVM back-end with the other backends of Orcc namely the C back-end and Java back-end. This comparison puts the focus on the relevance of using LLVM IR as the reference language for Jade into a unique environment. However, C represents the most popular language for static compilation as much as Java is the most popular language for dynamic compilation using a Virtual Machine.

Table 1 compares the size of the generated VTL from these 3 back-ends. All the files include in the resulting VTLs were compiled independently with no optimization enabled. The compiling tools used are gcc V4.3.2 for C, javac V1.6.0 for Java and the llvm assembler from LLVM 2.7.

The important size of the C compiled version of VTL is explained by the fact that C files are incorporating FIFO headers, where Java and LLVM doesn't use header and externalize functions. This result shows the lightness of LLVM bytecode size comparable to Java bytecode that allows the portable VTL to be easily sent or incorporated into embedded system. The second experimental result puts the focus on the achievement of the generated decoder from each backend. These experiments were led on two configurations of decoders, an RVC ADM of MPEG-4 SP described in [START_REF] Bhattacharyya | Overview of the MPEG reconfigurable video coding framework[END_REF] and an RVC ADM of MPEG-4 AVC described in [START_REF] Gorin | An RVC Dataflow Description of the AVC Constrained Baseline Profile Decoder[END_REF]. We considered these configurations as the most representative among RVC ADMs as they cover all the VTL.

C

Table 2 shows the achievement of these 6 generated decoders on an Intel R E6600 Core TM These results show that using Jade instead of a statically C-compiled decoder has minor or no impact on the execution of a decoder. On the contrary, Jade is about 7 times faster than the Java version of the same ADM running on the Java Virtual Machine (JVM). This speed factor can be explained by the fact that Java, instead of LLVM, has no pointer. FIFO accesses in JAVA involve a memory copy of data, which puts pressure on the garbage collector and reduces the decoder performance.

Jade has also been tested with this same test environment, i.e. same decoder configurations and an only version the portable VTL in LLVM IR, on different Operating Systems (OSes) (Linux and MAC OS X) and different platforms (ARM R V7 and PS3 R ). The portable VTL used were compiled once in a single environment, and then copied into each tested platform. The resulting performance of Jade on these two configurations is highly dependent on computation efficiency of each platform, but proves the portability of our LLVM-generated VTL.

CONCLUSION AND PERSPECTIVES

This paper describes the compilation stage required to translate RVC-CAL description of FUs from the VTL of MPEG RVC to generate a portable VTL, efficiently expandable into a wide variety of platforms. The generation of this portable VTL is the most crucial elements for the achievement of our RVC decoder called Jade. We proved the relevance of using the LLVM IR for this portable Video Tool Library by comparing achievement of equivalent decoder descriptions with the two most popular languages used nowadays in decoding systems. By using dynamic property of LLVM, Jade represents an excellent starting point for new research on adaptive decoding.

However, the Jade framework is still a base for many works. Its Reconfigurable RVC Engine (RDE) does not yet take into account many information included in the portable VTL. For instance changing a decoding solution in another decoding solution needs Jade to be fully reconfigured. We plan to reduce this reconfiguration time by finding parts of a dataflow decoder that really need to be changed (i.e. partial reconfiguration). Using CAL dataflow programming involves scalable parallelism adapted from uni-core systems to massively multi-core systems, but a smart dispatching of decoding algorithms onto different processing elements has to be implemented into the RDE. Finally, we take MPEG RVC as the base application for Jade, but the concept of ADM representation can also be extended to others medias that involve signal processing, such as audio, cryptographic or 3D applications.

Fig. 1 .

 1 Fig. 1. Representation of the Just-In-Time Adaptive Decoder Engine.

actorFig. 3 .

 3 Fig. 3. Description of the Absolute Value actor in RVC-CAL.

Fig. 4 .

 4 Fig. 4. Absolute Value actor before and after firing.

%X = d i v i 3 2 4 , 9 ;

 49 S i g n e d i n t d i v i s i o n %Y = d i v u n s i g n e d i 8 1 2 , 4 ; U n s i g n e d c h a r d i v i s i o n %cond = eq i 3 2 %X, 8 ; P r o d u c e s a b o o l v a l u e b r i 1 %cond , l a b e l %True , l a b e l %F a l s e T r u e : . . .

Fig. 8 .

 8 Fig. 8. Description of the structure of Absolute Value actor in Orcc Intermediate Representation.

Fig. 10 .

 10 Fig. 10. Description of the firing condition of the action pos of Absolute Value actor in Orcc Intermediate Representation.

>>Fig. 11 .

 11 Fig. 11. Example of a template for assignment instructions in Orcc IR.

Fig. 12 .

 12 Fig. 12. Example of template transformation stage for hasTokens instructions.

Fig. 13 .

 13 Fig. 13. Description of the firing condition of the action pos of Absolute Value actor in LLVM Representation.

  Description of the structure of Absolute Value actor using LLVM metadata. and metadata nodes. Metadata strings are surrounded by double quotes and give name of dataflow elements (metadata ¡'I" for Input I). Metadata nodes are presented as comma separated list of elements, surrounded by braces (!{ i32 16, .., %fifo s** @I}). They can have any values, nodes, strings or LLVM variables as operand.

	!4, !5, !6}
	!action_scheduler = !{!7}
	!0 = metadata !{metadata !"Abs"}	; Name of the actor
	!1 = metadata !{ i32 16,	; Size of the input I
	metadata !"I",	; String name of I
	%fifo_s ** @I}	; LLVM IR variable
	(...)
	!3 = metadata !{metadata !"pos", ; Tag of action
	metadata !8,	; Scheduler of action
	metadata !9}	; Body of action
	!8 = metadata !{metadata !"bool", ; Function return type
	metadata !10,	; Function pattern
	i1() * @isSchedulable_pos}	; LLVM function name
	!9 = metadata !{metadata !"void", ; Function return type
	(...)
	Fig. 14.

Table 1 .

 1 Comparison of the compilation size without optimization of a same VTL generated in C, Java and LLVM. The VTL includes FUs from MPEG-4 Simple Profile (SP) standard and from MPEG-4 Advanced Video Coding (AVC) standard.

	Java	LLVM

Table 2 .

 2 2 Duo processor at 2.40GHz running with Windows 7 TM . The integrated development environment (IDE) used to compile generated files from each back-ends were namely Microsoft Visual Studio 2008 Express for C, Eclipse V3.6.0 for JAVA and Jade using LLVM V2.7 for LLVM. Comparison of decoder performance for C, JAVA and LLVM version of the MPEG-4 Part-2 Simple Profile configuration on a CIF sequences (352 × 288), and of the MPEG-4 Advanced Video Coding configuration on QCIF sequences (176 × 144).

		C	JAVA	LLVM
	MPEG-4 SP	26,7 fps 3,5 fps 24,9 fps
	MPEG-4 AVC 30,9 fps 2,8 fps 31,7 fps


Annette Østergaard Jensen

Mette Nørgaard

Malene Cramer Engebjerg

Dora Körmendiné Farkas

Jon P Fryzek

Sean Zhao

Henrik Toft Sørensen

Predictors for splenectomy among patients with primary chronic immune thrombocytopenia: a population-based cohort study from Denmark

Keywords: Chronic immune thrombocytopenia, splenectomy, cohort study, risk

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

Primary immune thrombocytopenia (ITP) is an autoimmune disorder characterized by increased platelet destruction and inadequate platelet production [START_REF] Beardsley | ITP in the 21st century[END_REF]. It is presumed that the presence of antiplatelet auto-antibodies results in decreased platelet counts because of the clearance of platelets, typically by the reticuloendothelial system of the bone marrow, spleen, and/or liver [START_REF] Beardsley | ITP in the 21st century[END_REF].

A review including cITP case series has shown a response rate of 66% following splenectomy with follow-up for 1 to 153 months [START_REF] Kojouri | Splenectomy for adult patients with idiopathic thrombocytopenic purpura: a systematic review to assess long-term platelet count responses, prediction of response, and surgical complications[END_REF]. Some ITP patients who are unresponsive to medical treatment, however, never undergo a splenectomy, perhaps because patients and physicians are reluctant to have a healthy organ removed, and they fear surgical complications like severe bleeding in the setting of low platelet count [START_REF] Rodeghiero | Is splenectomy still the gold standard for the treatment of chronic ITP?[END_REF][START_REF] Dolan | Splenectomy for immune thrombocytopenic purpura: surgery for the 21st century[END_REF]. It is likely that the age or frailty of a patient plays an important role in whether a splenectomy is recommended; thus, patients who ultimately undergo a splenectomy probably represent a selected group. Comparison of disease remission rates following splenectomy and medical treatments for cITP outside randomized controlled trials may thus be confounded by patient-related characteristics (i.e., confounding by indication).

We conducted a nationwide cohort study of adult (aged ≥18 years) primary cITP patients in Denmark to examine selected patient and clinical characteristics as predictors for the rate of splenectomy.

Materials and Methods

We conducted this nationwide, population-based cohort study in Denmark, with a population of approximately 5.3 million inhabitants. Residents are provided free tax-supported healthcare by the National Health Service. All patients with primary ITP are treated at public hospitals operating under the auspices of the National Health Service. Since 1968, the Danish Civil Registration System has kept electronic records, updated daily, on date of birth, gender, address, date of emigration, and vital status for all residents. All Danish residents are assigned a unique 10-digit civil registry number, which encodes date of birth and gender [START_REF] Frank | Epidemiology. When an entire country is a cohort[END_REF], enabling us to link national data on hospital diagnoses.

Study cohort

The DNPR, established in 1977, includes more than 99.4% of all admissions to nonpsychiatric hospitals in Denmark [START_REF] Andersen | The Danish National Hospital Register. A valuable source of data for modern health sciences[END_REF]. Outpatient visits at hospitals have been included since 1995. Information includes date of admission and discharge, surgical procedure(s) performed, and up to 20 discharge diagnoses. Since 1994, diagnoses have been coded according to the tenth revision of the International Classification of Diseases (ICD-10) [START_REF] Andersen | The Danish National Hospital Register. A valuable source of data for modern health sciences[END_REF]. The ICD-10 code for primary ITP is D69.3.

We identified all adult patients with a diagnosis of primary ITP from admission and outpatient specialised clinic visits from January 1, 1996, to July 31, 2007.

Initially, we identified 2908 patients registered in the DNPR who were aged ≥18 years and had a relevant ICD-10 code. Of these, 513 (17.6%) had at least two ITP diagnosis over the course of >6 months, with no clinically apparent associated conditions or other causes of thrombocytopenia and were thus categorized as having primary cITP. We were able to obtain medical records for 439 (85.6%) of these patients. Through medical record review we found that 410 patients (93.4%) had thrombocytopenia, defined as a platelet count below 150 x 10 9 /L without an obvious cause, and received medications and/or medical treatment/procedures to resolve the cITP. These patients were considered to have a valid diagnosis of cITP. Of the 410 patients, 37 patients (9.0%) who had had a splenectomy prior to their cITP diagnosis and 2 patients (0.5%) who had emigrated before their diagnosis of cITP were excluded. Thus, 371 adult cITP patients were included in this study cohort.

Patient and clinical characteristics

Information on the individual patient's lowest platelet count during follow-up and the last hospital contact date for cITP were abstracted from the medical records. As a measure of disease activity we classified lowest platelet count during follow-up as either <30 x 10 9 /L or ≥ 30 x 10 9 /L because patients with a lowest platelet count below 30 x 10 9 /L are indicated for splenectomy, according to current guidelines [START_REF] George | Idiopathic thrombocytopenic purpura: a practice guideline developed by explicit methods for the American Society of Hematology[END_REF].

Five patients had missing information about platelet counts, and were categorized as having a lowest platelet count ≥ 30 x 10 9 /L.

Using the DNPR, we identified patients who underwent splenectomy based on the Nordic Classification of Surgical Procedures codes 48900, 48901, 48910, and KJMA00-KJMA96.

As a measure of level of comorbidity we retrieved all hospital diagnoses for these patients recorded between 1977 and the date of cITP diagnosis. We categorized comorbidity according to the Charlson comorbidity index. This is a validated index originally developed to predict one-year patient mortality [START_REF] Charlson | A new method of classifying prognostic comorbidity in longitudinal studies: development and validation[END_REF], mainly used for control of confounding with a specific exposure. Two comorbidity levels were defined: 0, corresponding to no recorded underlying disease; and 1+, corresponding to one or more of the 19 diseases included in the Charlson Index being recorded in DNPR. Additionally, we categorised the patients according to 5 distinct comorbid categories: [START_REF] Beardsley | ITP in the 21st century[END_REF] cardiopulmonary disease, which included acute myocardial infarction, congestive heart disease, peripheral vascular disease and cerebrovascular disease, emphysema and chronic obstructive pulmonary disease; (2) connective tissue disease which included diffuse connective tissue disease, rheumatoid arthritis and other inflammatory polyarthropathies, and polymyalgia rheumatica; (3) moderate to severe renal disease which included glomerulonephritis, nephropathies, and end-stage renal disease; (4) hepatic disorder which included hepatitis acuta, cirrhosis hepatitis, cholelithiasis and cholangitis; and ( 5) diabetes (insulin-and noninsulin-dependent) (See Appendix for the relevant ICD-8 and ICD-10 codes).

Statistical analyses

We constructed Kaplan-Meier curves for time until splenectomy among all study subjects, and calculated the cumulative incidence of splenectomy, and splenectomy rates per 1000 patient-years.

We stratified these analyses by age at cITP diagnosis (≤75 years and >75 years, as this age limit may determine whether the patient are offered a splenektomy or not), gender, lowest platelet counts (<30 x 10 9 /L and ≥30 x 10 9 /L) during follow-up, period of cITP diagnosis (1996-2001 and 2002-2007), and history of comorbidity (by the two co-morbidity levels the aforementioned disease groupings) at cITP diagnosis. Patients were censored at date of death, date of emigration, or last day of follow-up (September 24, 2009), whichever came first.

We estimated the incidence rate ratio (IRR) of splenectomy and the associated 95% confidence intervals (CIs) from the hazard rate ratio on the basis of a Cox regression analysis to compare splenectomy rates stratified by age at cITP diagnosis, gender, lowest platelet count, diagnostic period, and comorbidity recorded before date of cITP diagnosis. The estimates were mutually adjusted for these factors. In addition, we estimated the IRR of splenectomy by specific history of categorised comorbidities, including cardio-pulmonary disease (yes/no), connective tissue disease (yes/no), moderate to severe renal disease (yes/no), hepatic disorder (yes/no, and diabetes (yes/no).

The assumption of proportional hazards was assessed graphically and found appropriate in all Cox models. This study was approved by the Danish Data Protection Agency (Record no. 2007-41-1101). The statistical software package SAS, version 9.2 (SAS Institute Inc., Cary, NC), was used for all statistical analyses.

Results

Table 1 shows characteristics for the 371 adult cITP patients included in this study. At cITP diagnosis date 283 (76%) were 75 years or younger. The median age at cITP diagnosis was 56 years (range; 18-100 years). Most were women (n=231; 62%), and 273 (74%) had at least one platelet count below 30 x 10 9 /L during follow-up. Five patients (1%) had missing platelet count information and were included in the group of patients with platelet counts above 30 x 10 9 /L in the analyses. A total of 154 patients (42%) were diagnosed in the period 1996-2001, and 223 patients (60%) had no hospital-recorded co-morbidities on the date of cITP diagnosis.

A total of 87 (23%) cITP patients received a splenectomy procedure during a median followup of 3.6 years (range; 0-13.0 years), corresponding to an overall splenectomy rate of 57 per 1000 person-years. The majority splenectomy (n=73; 84%) occurred within the first year after cITP diagnosis yielding a splenectomy rate within the first year of 254 per 1000 person years. Of those, who received a splenectomy within the first year after cITP diagnosis, 58 (79%) had no hospitalrecorded co-morbidities and 63% were diagnosed in earlier years (1996-2001) (Table 1).

The splenectomy rate within the first year after ITP diagnosis was 325 (95% CI: 257-411) per 1000 patient-years in patients ≤75 years compared with 41 (95% CI: 13-128) per 1000 person-years in patients >75 years (Table 2) which corresponded to an adjusted one-year IRR of 6.79 (95% CI: 2.10-21.90). The splenectomy rate after the first year of ITP diagnosis decreased to 12 (95% CI: 7-21) per 1000 person years and 9 (95% CI: 2-35) per 1000 person years, respectively. The rate of splenectomy within the first year after cITP diagnosis were also higher for those with at least one recorded platelet count < 30 x 10 9 /L (adjusted one-year IRR=2.67 (95% CI: 1.37-5.22)) compared to those with lowest recorded platelet counts ≥ 30 x 10 9 /L. Furthermore, the rate of splenectomy was higher for those diagnosed in 1996-2001 (adjusted one year IRR=2.37 (95% CI: 1.46-3. (Table 2 ). We also found lower splenectomy rates within the first year of cITP for patients with each of the five distinct groups of comorbid diseases compared with cITP patients without these comobidities (Table 2).

Discussion

In this nationwide cohort of adults diagnosed with primary cITP during a 13-year period in Denmark, we found that younger age, high disease activity (measured as at least one platelet count below30x10 9 /L), and an absence of chronic comorbidities were associated with higher rates of splenectomy within the first year after cITP diagnosis.

Although splenectomy is currently regarded as the definitive treatment for cITP [START_REF] Rodeghiero | Is splenectomy still the gold standard for the treatment of chronic ITP?[END_REF], only 23% of the cITP patients in our study underwent this procedure. Further, the splenectomy rate decreased in the later time period (2002)(2003)(2004)(2005)(2006)(2007). A change in attitude towards splenectomy, or recent introduction of new drugs for the treatment of ITP may explain the lower rates of splenectomy we observed for patients diagnosed with cITP after 2001 [START_REF] Boye | An overview of the current clinical use of the anti-CD20 monoclonal antibody rituximab[END_REF]. Our observation of lower rates of splenectomy among older patients and patients with a history of comorbidity could be explained by the fact that physicians may be more reluctant to recommend a splenectomy for frail patients because of general concerns regarding surgery and other specific patient safety risks. A splenectomy may lead to severe postoperative complications, including venous thromboembolism, serious infections, or bleeding [START_REF] Thomsen | Risk for Hospital Contact with infection in patients with splenectomy. A populationbased cohort study[END_REF], and even mortality, all of which are of even greater concern for elderly and frail patients [START_REF] Portielje | Morbidity and mortality in adults with idiopathic thrombocytopenic purpura[END_REF][START_REF] Mazzucconi | Long-term follow-up of autoimmune thrombocytopenic purpura (ATP) patients submitted to splenectomy[END_REF]. Moreover, older ITP patients may be less likely to respond to splenectomy [START_REF] George | Idiopathic thrombocytopenic purpura: a practice guideline developed by explicit methods for the American Society of Hematology[END_REF][START_REF] Cooper | Should rituximab be used before or after splenectomy in patients with immune thrombocytopenic purpura?[END_REF][START_REF] Akwari | Splenectomy for primary and recurrent immune thrombocytopenic purpura (ITP). Current criteria for patient selection and results[END_REF]. Our finding that rate of splenectomy was higher among patients with higher disease activity are consistent with the guidelines for cITP treatment. Both the American Society of Hematology [START_REF] George | Idiopathic thrombocytopenic purpura: a practice guideline developed by explicit methods for the American Society of Hematology[END_REF] and the British Committee for Standards in Haematology recommend splenectomy for patients with persistent platelet counts <30 x 10 9 /L once an adequate trial of medical therapy has been completed.

Several strengths indicate the validity of our results. Our study was conducted in a uniformly organized Danish healthcare system which allows for a truly population-based design, avoiding selection bias due to loss of follow-up. Data on cITP diagnosis and platelet count were obtained from medical records, limiting the potential for information bias, such as misclassification of diagnosis and laboratory values. The rate of splenectomy was accessed through the DNPR, which is known to be a reliable source of procedure codes [START_REF] Andersen | Validity of surgical information from the Danish National Patient Registry with special attention to the analysis of regional variations in hysterectomy rates[END_REF]. A limitation to our study is the use of routine hospital data to identify patients with primary ITP, as some coding errors may have occurred. To be included in the study population, the patients should have two or more hospital diagnoses of ITP over a period >6 months. In a previous study this algorithm was found to have a positive predictive value of 92% [START_REF] Heden | Validity of a procedure to identify patients with chronic idiopathic thrombocytopenic purpura in the Danish National Registry of Patients[END_REF], but since the completeness of an ITP diagnosis in the DNPR is probably not perfect, we may have missed some cITP patients. It is possible that we could have missed those cITP patients who were only hospitalized for cITP once, and then referred to their general practitioners for future control. However, we would expect this to happen only for patients with a relatively high platelet count and a self-limiting form of ITP. Recently, new consensusx criteria and definitions for primary ITP have been introduced [17]. These definitions established a platelet count less than 100 x 10 9 /L was as the threshold for diagnosis instead of the more commonly used level of 150 x 10 9 /L. In our study we used the 150 x 10 9 /L level because this definition was used by the clinicians who treated the included patients and our medical record review secured that we did only include patients who were clinically regarded as having ITP.

The consensus criteria [17] also introduced a new category, of ITP patients called "persistent ITP" to define the period lasting between 3 and 12 months and the term chronic ITP was changed from lasting more than 6 months to lasting more than 12 months. Since we followed the old definitions we may therefore have included patients who by current guidelines have persistent ITP as chronic ITP patients. Actually, among splenectomised, 66 (76%) received the splenectomy procedure less than 12 months after the initial ITP diagnosis date i.e. when they would be categorised as having persistent ITP.. We did, however, stick to the former diagnostic criteria (i.e., cITP patients defined as primary ITP patients with a disease course lasting >6 months) [START_REF] George | Idiopathic thrombocytopenic purpura: a practice guideline developed by explicit methods for the American Society of Hematology[END_REF], as the data were collected before the introduction of the new diagnostic criteria.

In conclusion, selection mechanisms seem to influence splenectomy among cITP patients in Denmark. This study suggests that younger age and high disease activity predicts splenectomy and contraindications, such as high age and presence of comorbidity, are associated with a more cautiously use of this procedure.

  85)) compared to those diagnosed in 2002-2007 (Table2). Patients with cITP who had at least one comorbid disease at diagnosis were less likely to undergo splenectomy within the first year after ITP diagnosis: splenectomy rates for the first year after ITP diagnosis was127 (95% CI: 77-211) per 1000 person years in those with at least one comorbid disease compared with 341 (95% CI: 264-441) per 1000 person years in those without comorbidity. In contrast, after the first year of ITP diagnosis the splenectomy rate among patients with at least one comorbidity was higher than the rate in those without comorbidity (19 (95% CI: 9-40) vs. 8 (95% CI: 4-17) per 1000 person years, yielding an adjusted IRR of 1.81 (95% CI: 0.59-5.49).

  Stasi R, Gernsheimer T, Michel M, Provan D, Arnold DM, Bussel JB, Cines DB, Chong BH, Cooper N et al (2009) Standardization of terminology, definitions and outcome criteria in immune thrombocytopenic purpura of adults and children: report from an international working group. Blood 113(11):2386-2393.

Table 1 Characteristics of patients with chronic immune thrombocytopenia (cITP) in Denmark, 1996-2007

 1

		Total cITP	Splenectomised cITP patients
		cohort	Total	Within first	After the first
					year after cITP	year after cITP
					diagnosis	diagnosis
		N	%	N (%)	N	N
					(%)	(%)
	Total	371 100	87 (100)	73 (100)	14 (100)
	Age at cITP diagnosis
	≤75 years	283	76	82 (94)	70 (96)	12 (86)
	> 75 years	88	24	5 (6)	3 (4)	2 (14)
	Gender
	Women	231	62	57 (66)	47 (64)	10(71)
	Men	140	38	30 (34)	26 (36)	4 (29)
	Platelet group
	< 30x10 9 /L	273	74	77 (89)	63 (86)	14 (100)
	≥ 30x10 9 /L	98	26	10 (11)	10 (14)	0
	Year of cITP diagnosis
	1996-2001	153	41	50 (57)	46 (63)	4 (29)
	2002-2007	218	59	37 (43)	27 (37)	10 (71)
	Charlson comorbidity score
	0	223	60	65 (75)	58 (79)	7 (50)
	1+	148	40	22 (25)	15 (21)	7 (50)

Acknowledgement

This study was supported by Amgen and received unrestricted grants from the Karen Elise Jensen Foundation.