Multiband Vector Quantization Based on Inner Product for Wideband Speech Coding SUMMARY This paper describes a multiband vector quantization (VQ) technique based on inner product for wideband speech coding at 16 kb/s. Our approach consists of splitting the input speech into two separate bands and then applying an independent coding scheme for each band. A code excited linear prediction (CELP) coder is used in the lower band while a transform based coding strategy is applied in the higher band. The spectral components in the higher frequency band are represented by a set of modulated lapped transform (MLT) coefficients. The higher frequency band is divided into three subbands, and the MLT coefficients construct a vector for each subband. Specifically, for the VQ of these vectors, an inner product-based distance measure is proposed as a new strategy. The proposed 16 kb/s coder with the inner-product based distortion measure achieves better performance than the 48 kb/s ITU-T G.722 in subjective quality tests. There have been numerous advances in the field of speech coding in the past twenty years, allowing a considerable decrease in the bit rate necessary to transmit speech on the telephone bandwidth (300-3400 Hz). The 300-3400 Hz bandwidth, requiring a sampling frequency of 8 kHz, provides a speech quality referred to as toll quality. This is sufficient for telephone communications, but for emerging applications such as teleconferencing, multimedia services, and internet telephony, an improved quality is required. For that reason, much more research on wideband speech coding with a frequency range from 300 to 7100 Hz is needed on.. Recently, a number of practical wideband speech coding algorithms have been proposed. Most of these algorithms are based on the code excited linear prediction (CELP) model, or on the transform/subband coding strategies. The bit rate in general varies from 16 to 32 kb/s. In [12] , a subband coder which addresses the problem of low delay coding of wideband speech as well as general audio coding at 32 kb/s is announced. At the same bit rate of 32 kb/s, [8] presented a transform coder based on the Fourier transform. At lower bit rates, [9] developed a 16 b/s subband CELP coder. A distinctive feature of this algorithm is that the excitation signal is split into lower frequency and higher frequency bands. In recent years, several new algo- rithms using the base-layer CELP coder [4] , [7] have been introduced. The use of base-layer coders is due to the fact that they can be efficiently implemented while retaining a good performance. We propose a 16 kb/s wideband speech coder with high speech quality comparable to G.722 at 48 kb/s [2] . An overview of our wideband speech codec and a novel algorithm for the transmission of higher frequency band information of speech are presented. Specifically, for the lower band speech, we apply the conventional CELP codec (G.729A at 8 kb/s) [3] . For the higher band information which does not have sufficient harmonic components, the coefficients generated by the modulated lapped transform (MLT) are used to represent the spectral characteristics [6] . The quantization and encoding are carried out in each band separately. The higher frequency band (from 3.6 to 7.1 kHz) is divided into three subbands. In the proposed algorithm, MLT coefficients extracted from each subband are first normalized by the root mean square (RMS) value and then vector quantized. It is noted that an inner product based distance measure is incorporated to achieve a good performance of vector quantization (VQ). For the purpose of evaluation, we carried out subjective quality tests. Results from the test confirm that our approach is slightly better in performance than the G.722 at 48 kb/s. In this paper, we have proposed a novel approach to wideband speech coding at 16 kb/s. One of the distinctive feature of our approach is to apply the VQ technique for the quantization of the RMS normalized MLT coefficients in the higher frequency band. For this, we have devised an inner product based distance measure which offers an efficient way to quantize the constrained set of MLT vectors. It has been shown that proposed 16 kb/s wideband coder with the inner product-based distortion measure provides better quality than the 48 kb/s G.722.

O O O O O B I O B I I O O O O O O O O B O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O


Adaptive Restart for Accelerated Gradient Schemes In this paper we demonstrate a simple heuristic adaptive restart technique that can dramatically improve the convergence rate of accelerated gradient schemes. The analysis of the technique relies on the observation that these schemes exhibit two modes of behavior depending on how much momentum is applied. In what we refer to as the 'high momentum' regime the iterates generated by an accelerated gradient scheme exhibit a periodic behavior, where the period is proportional to the square root of the local condition number of the objective function. This suggests a restart technique whereby we reset the momentum whenever we observe periodic behavior. We provide analysis to show that in many cases adaptively restarting allows us to recover the optimal rate of convergence with no prior knowledge of function parameters. Accelerated gradient schemes were first proposed by Yurii Nesterov in 1983, [14] . He demonstrated a simple modification to gradient descent that could obtain provably optimal performance for the complexity class of first-order algorithms applied to minimize smooth convex functions. The method, and its successors, are often referred to as 'accelerated methods'. In recent years there has been a resurgence of interest in first-order optimization methods [19, 16, 21, 1, 12] , driven primarily by the need to solve very large problem instances unsuited to second-order methods.. Accelerated gradient schemes can be thought of as momentum methods, in that the step taken at the current iteration depends on the previous iterations, and where the momentum grows from one iteration to the next. When we refer to restarting the algorithm we mean starting the algorithm again, taking the current iteration as the new starting point. This erases the memory of previous iterations and resets the momentum back to zero.. Unlike gradient descent, accelerated methods are not guaranteed to be monotone in the objective value. A common observation when running an accelerated method is the appearance of ripples or bumps in the trace of the objective value; these are seemingly regular increases in the objective, see Figure ( 1) for an example. In this paper we demonstrate that this behavior occurs when the momentum has exceeded a critical value (the optimal momentum value derived by Nesterov in [15] ) and that the period of these ripples is proportional to the square-root of the (local) condition number of the function. Separately, we show that the optimal restart interval is also proportional to the square root of the condition number. Combining these results we show that restarting when we observe an increase in the function value allows us to recover the optimal linear convergence rate in many cases. Indeed if the function is locally well-conditioned we can use restarting to obtain a linear convergence rate inside the well-conditioned region.. Smooth unconstrained optimization. We wish to minimize a smooth convex function of a variable x ∈ R n [3] , minimize f (x) (1) where f : R n → R has a Lipschitz continuous gradient with constant L, i.e.,. ∇f (x) − ∇f (y) 2 ≤ L x − y 2 , ∀x, y ∈ R n .. We shall denote by f ⋆ the optimal value of the above optimization problem, if the minimizer exists and is unique then we shall write it as x ⋆ . Further, a function is said to be strongly convex if there exists a µ > 0 such that. where µ is referred to as the strong convexity parameter. The condition number of a smooth, strongly convex function is L/µ. In this paper we have demonstrated a simple heuristic adaptive restart technique that can improve the convergence performance of accelerated gradient schemes for smooth convex optimization. We restart the algorithm whenever we observe a certain condition on the objective function value or gradient value. We provided some qualitative analysis to show that we can recover the optimal linear rate of convergence in many cases; in particular near the optimum of a smooth function we can potentially dramatically accelerate the rate of convergence, even if the function is not globally strongly convex. We demonstrated the performance of the scheme on some simple numerical examples. In this section we consider applying an accelerated scheme to minimizing a positive definite quadratic.. We shall see that once the momentum is larger than a critical value we observe periodicity in the iterates. We use this to prove linear convergence when using adaptive restarting. The analysis presented in this section is similar in spirit to the analysis of the heavy ball method in [18, §3.2].

O O O B I I O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An investigation of software engineering curricula We adapted a survey instrument developed by Timothy Lethbridge to assess the extent to which the education delivered by four UK universities matches the requirements of the software industry. We propose a survey methodology that we believe addresses the research question more appropriately than the one used by Lethbridge. In particular, we suggest that restricting the scope of the survey to address the question of whether the curricula for a specific university addressed the needs of its own students, allowed us to identify an appropriate target population. However, our own survey suffered from several problems. In particular the questions used in the survey are not ideal, and the response rate was poor.Although the poor response rate reduces the value of our results, our survey appears to confirm several of Lethbridge's observations with respect to the over-emphasis of mathematical topics and the under-emphasis on business topics. We also have a close agreement with respect to the relative importance of different software engineering topics. However the set of topics, that we found were taught far less than their importance would suggest, were quite different from the topics identified by Lethbridge. Ó 2004 Elsevier Inc. Lethbridge (1998, 2000) conducted two surveys to identify topics where software practitioners felt they needed more or better education. His initial goals (Lethbridge, 1998) were to provide. • information to educational institutions and companies as they plan curricula and training programs, • data that will assist educators and practitioners in evaluating existing and proposed curricula.. To determine the effects of formal education, Lethbridge (1998) presented the respondents with a list of 57 topics related to software (31 topics), mathematics (9 topics), engineering (4 topics) and other concerns (13 topics). For each topic, the respondent was asked:. 1. How much did you learn about this at University or College? 2. What is your current knowledge about this, considering what you have learned on the job as well as forgotten? 3. How useful has this specific material been to you in your career? 4. How useful would it be (or have been) to learn more about this (e.g. additional courses)?. The subjects were asked to reply to each question on a fully specified six-point ordinal scale. The topics were selected by examining university curricula and the initial IEEE/ACM software engineering body of knowledge. As a result of his survey Lethbridge concluded that software engineering curricula were not delivering appropriate education to practitioners and that changes to curricula were necessary. The survey was repeated later (with slightly amended questions and more topics) and similar results were obtained (Lethbridge, 2000) .. We have a number of concerns about the validity of Lethbridge's surveys (see Section 2), but we believe the topic he raised is very important. We have therefore attempted to replicate Lethbridge's surveys using an improved survey technique.. In Section 2, we discuss the problems with Lethbridge's survey method and the procedure we adopted to address those problems. In Section 3, we present the results of our survey. In Section 4, we contrast our results with Lethbridge's results. In Section 5, we discuss the problems and limitations of our own survey. We present our conclusions in Section 6. In this paper we have adapted a survey instrument developed by Timothy Lethbridge to assess the extent to which the education delivered by four UK universities matches the requirements of the software industry, as experienced by graduates of the respective universities. This paper proposes a survey methodology that we believe addresses the research question more appropriately than the one used by Lethbridge. However, we note that our own survey is not without flaws. In particular the questions used in the survey are not ideal, and the response rate was extremely poor, probably in part because planned follow-up activities did not take place.. An important distinction between our survey and Lethbridge's survey is that we were interested in assessing the appropriateness of our own curricula for the needs of our own students. Using our survey method (with better follow-up procedures and simpler questions), any university can assess its own curricula but the results cannot be easily generalised to generic curricula.. Our survey analysis is mainly intended to demonstrate how to analyse the survey data for cohorts while minimising any violation of mathematical scales. However, assuming we are not affected too much by the problem that it is dominated by volunteers, our results appear to confirm several of Lethbridge's observations with respect to the over-emphasis of mathematical topics and the under-emphasis on business topics. We also have a close agreement with respect to the relative importance of different software engineering topics. We diverge from Lethbridge with respect to topics that have a large knowledge gap. The divergence supports our view that for curricula to remain in step with the changing needs of industry, surveys of this kind need to take place on a regular basis to reflect the rapid changes we find in software technology.. With respect to curriculum changes, our results suggest either that the balance between practical software engineering topics and mathematically-based computer science topics needs to be revised, or that teaching methods need to be rethought. With respect to business topics however, we do not believe that it is the role of computer science departments to provide training in general business skills. Such skills are required by students in all disciplines, not just computer science students. A better option is to provide general training in communication skills to all students. This approach is one that is currently being adopted at Keele University.. lead to any form of victimisation of subjects. Such situations might involve. • a person who has made adverse comments about their course subsequently asking their former department for a reference; • a person who has made adverse comments about their employer being identifiable in any way.

O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Dimensionality reduction for long duration and complex spatio-temporal queries In this paper we present an approach to mine and query spatiotemporal data with the aim of finding interesting patterns and understanding the underlying data generating process. An important class of queries is based on the flock pattern. A flock is a large subset of objects moving along paths close to each other for a certain pre-defined time. One approach to process a "flock query" is to map spatio-temporal data into a high dimensional space and reduce the query into a sequence of standard range queries which can be presented using a spatial indexing structure. However, as is well known, the performance of spatial indexing structures drastically deteriorates in high dimensional space. In this paper we propose a preprocessing strategy which consists of using a random projection to reduce the dimensionality of the transformed space. Our experimental results show, for the first time, the possibility of breaking the curse of dimensionality in a spatio-temporal setting. The results of the experiments are shown in Table 1 2 . The trends are more easily noticeable in Figure 3 . 2 The table has been squeezed because of the space limitations. More details can be found in [3] The two basic methods we used are Brute-Force (BF) and Pipe. The BF method does not use any index. It consists of two nested loops, the outer one specifying a potential flock center and inner one computing the distance between a point and the potential flock center. If there are at least m points within a ball of radius 2r centered at the potential flock center then a flock is reported. In that respect, the BF method is a 2-approximation. Notice that the complexity of the BF method is quadratic in the number of entities and does not depend upon the number of time stamps. This explains the small increase in time (Table 1 in [3] , rows 3 and 4) for 16K points from 50 seconds to 59 seconds as the number of time steps (TS) increases from 500 to 1000. The Pipe method is based on Equivalence 1 (Section 3.1) and uses a compressed quadtree as the underlying indexing structure. As expected, the Pipe method beats BF for low dimensions. For example, for data of size 32K, BF takes 2 and 8 seconds to find the 64 flocks for time duration 8 and 16 respectively (rows 1 and 2). For high dimensions (500 and 1000) the quad tree provides no extra advantage because of the "curse of high-dimensionality": the internal nodes of a quadtree has 2 d children where d is the number of dimensions. Using 16 timestamps means 32 dimensions which translates to more than 4 billion quadrants. It is very unlikely that the 32K randomly distributed points (not in flocks) fall into the same quadrant. This results in a vary flat tree and high running time. We did not apply the random projection pre-processing step for time steps 8 and 16. The overcall cost of random projection is O(ndk) which is around 1 to 3 seconds for the data set 32K and 100K respectively for the largest time steps.. The most important result with the random projection is that we retrieve exactly the same number of flocks as retrieved without the random projection. This shows that the distortion induced by the random projection is within acceptable bounds and does not violate the overall correctness.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Price stabilization in the Taiwan hog and broiler industries: Evidence from a STAR approach The paper examines the effectiveness of the price stabilization mechanism for the broiler and poultry industry in Taiwan during the period 1999 to 2008. After presenting some background information on the domestic marketing system and price stabilization mechanisms for the broiler and pork industry in Taiwan, the paper discusses the smooth transition autoregressive (STAR) methodology. Monthly hog and broiler price data from 1999 to 2008 at farm, import and retail levels are analyzed using the nonlinear, non-asymmetric logistic STAR model in order to determine price transmission structure. A price threshold parameter is used so that price transmission levels can vary, thereby allowing an examination of the efficacy with which the hog and broiler price stabilization mechanisms take effect. Successful food price stabilization is a key target for policymakers who are required to manage the risk associated with food price volatility. Sudden large fluctuations in food prices can lead to high costs for consumers and production losses for producers. Over-production in conjunction with import price transmission can pose serious risks of food price volatility. For small countries such as Taiwan, these threats are especially prevalent, and developing an effective price stabilization mechanism takes on increased importance.. While studies pertaining specifically to hog and broiler price stabilization are rare, some useful insights can be gained from previous studies regarding grain commodity price stabilization policies. Wright and Williams [10] show that the use of buffer stocks can be an effective method for stabilizing food prices, an approach which in the past has often been preferred to relying on trade mechanisms (Bigman and Reutlinger [2] ). Athanasiou et al. [1] show that a government can stabilize commodity prices through a strategy of releasing or increasing commodity storage by small amounts relative to the equilibrium quantity level. However, the necessary amount rises as nonlinearity of the supply function increases.. Dawe [4] observes that food price stabilization is an especially effective way for governments of developing Asian countries to protect poor consumers and producers from volatile prices, while simultaneously abiding by international trade agreements.. These price stabilization efforts have been largely effective for Asian countries over the past 30 years (see Cummings et al. [3] ). Bigman and Reutlinger [2] argue that governments often use a variety of mechanisms in their price stabilization policies.. The case is no different for Taiwan which, in addition to a buffer stock program, implements farmer and production plant subsidies, along with import control in order to stabilize hog and broiler prices.. The analysis in this paper examines the effectiveness of the price stabilization mechanism for the broiler and poultry industry in Taiwan during the period 1999 to information on the domestic marketing system and price stabilization mechanisms for the broiler and pork industry in Taiwan. Section 3 discusses the methodology, specifically in regard to the use of smooth transition autoregressive (STAR) modeling. Section 4 discusses the empirical results. Some concluding remarks are presented in the final section.

B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I I O B I O O O O O B I O O O O O O B I I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I I O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Exploiting non-volatile RAM to enhance flash file system performance Non-volatile RAM (NVRAM) such as PRAM (Phase-change RAM), FeRAM (Ferroelectric RAM), and MRAM (Magnetoresistive RAM) has characteristics of both non-volatile storage and random access memory (RAM). These forms of NVRAM are currently being developed by major semiconductor companies and are expected to be an everyday component in the near future. The advent of NVRAM may possibly bring about drastic changes to the system software landscape. In this work, we develop a new Flash memory based file system that exploits NVRAM in order to improve system performance. Specifically, we discuss the initial design and implementation of a file system that stores all metadata in NVRAM, while storing all file data in Flash memory. In so doing, we make two contributions in this work. First, we present a model that analyzes the amount of NVRAM that is needed for specific Flash memory storage capacity. Experimentally, we verify that this model represents the exact NVRAM usage in the realistic environment. Second, we present quantitative experimental results that show how much performance gains are possible by exploiting NVRAM. Compared to YAFFS, a popular Flash memory based file system, we show that this file system requires only minimal time for mounting and that the execution time improves by a maximum of 600% and an average of 437% for the realistic workloads that we considered. NVRAM (Non-volatile Random Access Memory) is a form of next generation memory that retains the access characteristics of conventional RAM such as DRAM and SRAM, and yet, retaining the non-volatile characteristics of secondary storage such as Flash memory or disks. NVRAM in its various forms, such as PRAM (Phase-change RAM), FeRAM (Ferroelectric RAM), and MRAM (Magnetoresistive RAM), are being developed by major semiconductor companies such as Texas Instruments, IBM, Samsung, Fujitsu, Motorola, etc [5, 16] . As semiconductor technology continue to make progress, we can anticipate NVRAM to become a common component of embedded systems as well as commodity computers. In fact, Samsung recently announced its PRAM development plans as shown in Figure 1 and is expected to ship 512Mbit PRAM commercial samples by the end of 2007 [21] .. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Though not yet as prevalent as Flash memory, NVRAM has specific advantages over Flash memory. First of all, its access time is faster than Flash memory, especially for write access. While write access time for Flash memory is in the hundreds of microsecond range, writes in NVRAM is in the hundred nanosecond range [6, 17, 19] . Furthermore, the poor write access time in Flash memory can be exacerbated into the millisecond range if erasure operations must be invoked before the write. This may occur because physically overwriting within Flash memory is not possible. To overwrite existing data, the new data must generally be written to a different location and the old data invalidated. This incurs complications in managing old and new data [8, 12, 13] . The erasure operation is also the key factor that disfavors Flash memory compared to NVRAM. As erasures must be done in block units, copying of valid information within the block to be cleaned must occur [8] . This type of overhead for writes are not necessary with NVRAM as writes are done simply like DRAM. Erasures also bring about another critical limitation with Flash memory, that is, of endurance. Block erasures are physically limited to around 10,000 to 100,000 times for Flash memory, while there is no such limitation for NVRAM [6, 17, 19] . This makes NVRAM suitable for situations where writes frequently occur.. The question, then, is how to exploit these beneficial characteristics that NVRAM possesses, and to understand how much of it is needed to make such use possible. It seems the plan for now is simply to "replace NOR flash memory" [21] . Specifically, from a system software viewpoint, one of the options may be to use it as a write buffer cache [2] . In this paper, we take a different direction and explore the possibility of using NVRAM as a metadata store and examine what effects it has on the Flash file system. We choose to design a file system that puts all metadata of the file system in NVRAM as maintaining metadata safely, and doing it efficiently, is essential to keeping the file system consistent. All the file data, on the other hand, are stored in Flash memory. We name this new file system, the MiNV (Metadata in Non-Volatile ram) file system.. To assess the amount of NVRAM that would be required in this new design we derive a model of the NVRAM space requirement that is needed to store all the metadata. This model is validated via a real implementation in an embedded board. We also conduct other experiments and measure the performance difference between the MiNV file system and YAFFS, which is a typical Flash memory based file system [1] . Our measurements show that by using NVRAM as a metadata store the performance benefits are substantial. Mount time is reduce to the minimum and for realistic workloads that we considered the execution time is improved by as much as 600%.. The remainder of the paper is organized as follows. In the next section, we describe the design of the MiNV file system in detail. Then, in Section 3, we derive the NVRAM space requirement model and analyze the space requirement to deploy the MiNV file system in various settings. In Section 4, we present the experimental results. We first describe the experimental setup including the software and hardware platforms that we use. Then, we conduct various experiments and discuss their results. We briefly review some of the previous works related to this study in Section 5, and then, conclude with a summary and directions for future research in Section 6. Considerable research has already been conducted on the issues related to NVRAM and/or file systems for Flash memory. We summarize some of these works in this section.. File systems for storage systems based on Flash memory has recently been a popular area of research. The research conducted in this area can be divided into two directions. One is on efficiently supporting legacy file systems on Flash memory devices. Much of the work in this direction has been in developing an efficient software layer called the Flash Translation Layer (FTL), which is a layer that makes the Flash memory device look like a disk device. Hence, the file system need not be aware of the difference in the storage media. The Flash memory driver proposed by Kawaguchi et al. is one of the first FTLs to be proposed [11] . A few improvements have been suggested since then. Specifically, the FTL proposed by Kim et al. provides high performance by using log blocks to support hybrid mapping, which combines page-based mapping and block-based mapping [12] . More recently, Lee et al. propose a new scheme called FAST that improves on the log block scheme by making more efficient use of the log blocks [13] .. The other direction of research on file systems for Flash memory is the development of file systems that are aware of the underlying Flash storage device. A majority of these file systems are based on the design philosophy of the Log-structured File System (LFS), but adapted to support NAND or NOR Flash memory [18] . Well known among these are YAFFS and JFFS2 [1, 23] . These file systems, however, have a significant drawback in that they require long mount times as they generally have to scan the whole Flash memory space. To avoid this scanning process, Yim et al. suggest that they copy the metadata information maintained in RAM to a reserved portion of Flash memory before unmounting the file system [26] . On a similar issue, Wu et al. suggests logging additional information for future fast mount as well as for recovery after failure [24] . Both these schemes require additional Flash memory and additional operations for fast mounting. Gal and Toledo also provide a nice survey of popular file systems and works related to Flash memory [9] .. Research on the issue related to NVRAM is not new. In the early 1990s, research on making use of NVRAM in general purpose computer systems were conducted. However, NVRAM being considered at the time was mostly battery-backed RAM. Specifically, Baker et al. showed that write traffic can be significantly reduced with the help of NVRAM in a network file system environment [2] . Chen et al. proposed the Rio file cache that supports fault tolerance in file systems without degrading performance by using NVRAM [4, 14] .. There are also previous studies that consider using NVRAM as an extension of storage for file systems and thus, maintain metadata in this part of storage. These studies are closely related to our work. The HeRMES file system proposed by Miller et al. makes use of MRAM to store metadata, while storing file data in disk [15] . Another file system, MRAMFS, uses a similar approach as HeRMES, but it utilizes compression for the metadata to conserve NVRAM space [20] . Conquest is another file system developed with NVRAM in mind [25] . In these works NVRAM is considered in conjunction with the hard disk drive, which serves as the main storage, whereas in MiNVFS we are considering an embedded platform with the Flash memory media being the main storage.. There are also studies on NVRAM based file systems, in particular, PRAMFS and the NEB file system, that consider NVRAM as the main storage [3, 10] . Our study differs from these studies in that we consider NVRAM as a supplement to the main Flash memory storage, whereas these studies consider NVRAM to be the main storage. We implement MiNVFS in Linux 2.4.x according to the design that we described in Section 2. The Linux kernel loads MiNVFS as a kernel module implemented in between the VFS (Virtual File System) and MTD (Memory Technology Device) layers. Our implementation includes the file system formatting tool and supports all the common basic file system operations. Figure 6 shows the actual NVRAM daughter board ( Figure 6(a) ) and the embedded development board with the NVRAM daughter board attached to the motherboard through the PCI interface ( Figure 6(b) ). The NVRAM daughter board was developed in-house and has 12MB of FeRAM. The NVRAM appears in physical memory address space and can be accessed via memory mapped addressing. The embedded development board that we use is the EZ-M28 board, which supports PCI interfaces, developed by Falinux [7] . The EZ-M28 board has a S3C2800 processor, which is based on the ARM920T, 32MB SDRAM, and 64MB NAND Flash memory.

O B I O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O B I O O O B O O B I O O O O B O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O B I O O B O B I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I


Robust Segmentation of Primitives from Range Data in the Presence of Geometric Degeneracy AbstractÐThis paper addresses a common problem in the segmentation of range images. We would like to identify and fit surfaces of known type wherever these are a good fit. This paper presents methods for the least-squares fitting of spheres, cylinders, cones, and tori to 3D point data, and their application within a segmentation framework. Least-squares fitting of surfaces other than planes, even of simple geometric type, has been rarely studied. Our main application areas of this research are reverse engineering of solid models from depth-maps and automated 3D inspection where reliable extraction of these surfaces is essential. Our fitting method has the particular advantage of being robust in the presence of geometric degeneracy, i.e., as the principal curvatures of the surfaces being fitted decrease (or become more equal), the results returned naturally become closer and closer to those surfaces of ªsimpler type,º i.e., planes, cylinders, cones, or spheres, which best describe the data. Many other methods diverge because, in such cases, various parameters or their combination become infinite. THIS paper considers the problems of least-squares fitting of spheres, cylinders, cones, and tori to 3D point data and the application of solutions to these problems in a segmentation framework for extracting such primitives reliably from range data. The motivation for this problem lies in reverse engineering of geometric shape [26] , [32] , [33] , although we emphasize that the problem of extracting such geometrical features is common to many other 3D vision tasks, such as object recognition and localization, automated inspection, and robotics.. In our 3D vision system, a laser scanner or similar is used to capture 3D point data sampled from the surface of an object. From this, we would like to construct a CAD modelÐa boundary representation solid model of the object's shape. In particular, we would like to identify and fit simple surfaces of known type to portions of the boundary wherever these are in good agreement with the point data. The problem can be decomposed into two logical steps: segmentation, where the data points are grouped into sets each belonging to a different surface, and fitting, where the best surface of an appropriate type is fitted to each set. The new results in this paper mainly concern the latter problem, but also show their application to the former.. While plane fitting is well-understood, least-squares fitting of other surfaces, even of simple geometric type, has been relatively much less studied. We review previous approaches to the fitting of spheres, cylinders, cones, and tori, and then present new results on fitting these surfaces. Our method has the advantage of being robust in the sense that as the principal curvatures of the surfaces being fitted decrease (or become more equal), the results which are returned naturally become closer and closer to the surfaces of ªsimpler typeº i.e., planes, cylinders, or cones (or spheres) which best describe the data. In the limit, as the curvature k drops below machine precision, such simpler surfaces are automatically returned exactly (Fig. 1) . In comparison, many other methods diverge in such cases as various parameters or their combination become infinite. While our motivation is the reverse engineering of boundary representation solid models from 3D depth-maps of scanned objects, we believe that the fitting methods described in this paper are of interest to the computer vision and CAD communities in general.. In summary, we have described novel methods for the leastsquares fitting of spheres, cylinders, cones, and tori to point data. Generalizing these methods to more complex surfaces would be hard, if not impossible. However, many simple engineering objects are bounded by just these surfaces (and blends).. We have outlined how these methods can be used in a segmentation strategy that is capable of extracting these surfaces from 3D data. Initial results show that the accuracy achieved by these methods is good. Our fitting methods have the major advantage of being robust in the sense that as the principal curvatures of the surfaces being fitted decrease (or as they become more equal), the results which are returned naturally become closer and closer to surfaces of ªsimpler type,º i.e., planes, cylinders, or cones (or spheres, in the case of equal curvatures) which best describe the data. Furthermore, our methods inherently avoid all singularities (except in the case of the torus, for which the problem can readily be overcome by choosing the origin appropriately). The fitting routines described in this paper were tested using the segmentation approach outlined earlier. We have tested our approach on artificial simulated data, real data obtained from a laser scanner, and also real range data made available on the Internet by Edinburgh University: ftp://ftp.dai.ed.ac.uk/pub/ vision/range-images/.

O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Indexing high-dimensional data for efficient in-memory similarity search Abstract-In main memory systems, the L2 cache typically employs cache line sizes of 32-128 bytes. These values are relatively small compared to high-dimensional data, e.g., > 32D. The consequence is that existing techniques (on low-dimensional data) that minimize cache misses are no longer effective. In this paper, we present a novel index structure, called Á-tree, to speed up the highdimensional query in main memory environment. The Á-tree is a multilevel structure where each level represents the data space at different dimensionalities: the number of dimensions increases toward the leaf level. The remaining dimensions are obtained using Principal Component Analysis. Each level of the tree serves to prune the search space more efficiently as the lower dimensions can reduce the distance computation and better exploit the small cache line size. Additionally, the top-down clustering scheme can capture the feature of the data set and, hence, reduces the search space. We also propose an extension, called Á þ -tree, that globally clusters the data space and then partitions clusters into small regions. The Á þ -tree can further reduce the computational cost and cache misses. We conducted extensive experiments to evaluate the proposed structures against existing techniques on different kinds of data sets. Our results show that the Á þ -tree is superior in most cases.Index Terms-High-dimensional index, main memory, similarity query. W ITH an increasing number of new database applications, such as multimedia content-based retrieval, time series, and scientific databases, the design of efficient indexing and query processing techniques over highdimensional data sets becomes an important research area. These applications employ the so-called feature transformation, which transforms important features or properties of data objects into high-dimensional points, i.e., each feature vector consists of d values, which correspond to coordinates in a d-dimensional space. Searching for objects based on these features is, thus, a search of points in this feature space. In these high-dimensional databases, indexes are required to support either or all of the following frequently used queries:. . K-nearest neighbor ðKNNÞ queries: find the K-most similar objects in the database with respect to a given object, . similarity range queries: find all objects in the database which are within a given distance from a given point, . window queries: find all objects whose attribute values fall within certain given ranges. We can regard the window query as a similarity range query around the center point of the given query range.. There is a long stream of research on solving the similarity search problem and many multidimensional indexes have been proposed [3] , [6] , [7] , [14] , [18] , [23] . However, these index structures have largely been studied in the context of disk-based systems where it is assumed that the databases are too large to fit into the main memory. This assumption is increasingly being challenged as RAM gets cheaper and larger. This has prompted renewed interest in research in main memory databases [5] , [9] , [12] , [19] , [21] .. As random access memory gets cheaper, it becomes increasingly affordable to build computers with large main memories, but main memory data processing is not as simple as increasing the buffer pool size. In main memory systems, minimizing L2 cache misses and computation cost has been an active area of research. Several main memory indexing schemes have been designed to be cache conscious [12] , [19] , [21] , i.e., these schemes page the structure based on cache blocks whose sizes are usually 32-128 bytes. However, these schemes are targeted at single or lowdimensional data (that fit in a cache line) and cannot be effectively deployed for high-dimensional data. First, for high-dimensional data, the query processing is computationally expensive, which involves large amounts of distance calculation [7] . Second, the size of a highdimensional point (e.g., 256 bytes for 64 dimensions) can be much larger than a typical L2 cache line size. Actually, [19] shows that, even for 2-dimensional data, the optimal node size for a similarity search can be up to 256-512 bytes and increases as the dimensionality increases. Therefore, an efficient main memory index should minimize the distance computation to improve the performance and also exploit the L2 cache effectively as well.. Our proposed novel multitier index structure, the Á-tree, can facilitate efficient KNN searches in a main memory environment. Each tier in the Á-tree represents the data space as clusters in a different number of dimensions and tiers closer to the root partition the data space using fewer number of dimensions. The numbers of tiers and dimensions are obtained using the Principal Component Analysis (PCA) technique [17] . After PCA transformation, the first few dimensions of the new data space generally capture most of the information and, in particular, two points that are distance d i apart in i dimensions have the property that d i d j if i j. More importantly, by hierarchical clustering and reducing the number of dimensions, we can decrease the distance computation and better utilize the L2 cache. An extension of the Á-tree, called Á þ -tree, is also proposed to further reduce the search space. The Á þ -tree globally clusters the data space, partitions clusters into small regions, and, finally, builds a subtree for each region. The global clustering and cluster partitioning can significantly reduce the search space. Additionally, the PCA transformation is applied on each cluster separately and, hence, the reduced dimensions can represent the data point more precisely. We also present the tree construction, KNN searches, range query, and insertion and deletion algorithm for the Á-tree. We compare the proposed schemes against other known schemes, including the TV-tree [20] , iDistance [23] , Slim-tree [18] , Omni-technique [14] , Pyramid-tree [3] , and Sequential Scan. Our experimental study shows that the Á þ -tree is superior to the other indexes. A preliminary version of this paper appeared in [11] , where we presented the basic idea of the Á þ -tree. In this paper, we make the following additional contributions: First, we provide a more detailed description of the index method. Second, we extend the algorithms to support insertion, deletion, and different kinds of queries. Third, we run a comprehensive set of experiments to demonstrate the effectiveness of the Á þ -tree, such as parameter tuning, KNN, and range query performance. Furthermore, we evaluate Á þ -tree against a large number of competitive index structures.. The remainder of this paper is organized as follows: In the next section, we provide some background of our work. In Section 3, we introduce the structure and algorithms of our newly proposed Á-tree and Á þ -tree. Section 4 reports the findings of an extensive experimental study conducted to evaluate the proposed schemes and, finally, we conclude in Section 5. In this paper, we have addressed the problem of in-memory similarity search for high-dimensional data. We presented an efficient novel index method, called Á-tree. The Á-tree employs hierarchical clustering top down and applies multiple level of projections of points to allow nodes to better fit into the L2 cache. The search process can prune the search space efficiently, thus be accelerated by reducing computational cost and cache misses. We also proposed an extension, called Á þ -tree, that partitions the data set into clusters and then further divides a cluster into regions. The global clustering of Á þ -tree can capture the overall feature of the data set and better utilize the PCA. We conducted extensive experiments to evaluate the Á-tree and Á þ -tree against a large number of known techniques and the results showed that our technique is superior.. Beng Chin Ooi received the BSc (First Class Honors) and PhD degrees from Monash University, Australia, in 1985 and 1989, respectively. He is currently a professor of computer science at the School of Computing, National University of Singapore. His current research interests include database performance issues, index techniques, XML, spatial databases, and P2P/grid computing. He has published more than 100 conference/journal papers and served as a program committee member for a number of international conferences (including SIGMOD, VLDB, ICDE, EDBT, and DASFAA). He is an editor of GeoInformatica, the Journal of GIS, ACM SIGMOD Disc, VLDB Journal and the IEEE Transactions on Knowledge and Data Engineering. He is a member of the ACM and the IEEE.. Jianwen Su received the BS and MS degrees in computer science from Fudan University and the PhD degree in computer science from the University of Southern California. He joined the Department of Computer Science at the University of California at Santa Barbara in 1990. Dr. Su is a member of the ACM and SIGMOD, and a senior member of the IEEE and the IEEE Computer Society. He has served on program/organizational committees of several database conferences.. Kian-Lee Tan received the BSc (Hons) and PhD degrees in computer science from the National University of Singapore in 1989 and 1994, respectively. He is currently an associate professor in the Department of Computer Science, National University of Singapore. His major research interests include query processing and optimization, database security, and database performance. He has published more than 140 conference/journal papers in international conferences and journals. He has also coauthored three books. Dr. Tan is a member of the ACM and the IEEE Computer Society.. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The Cartesian Product of hypergraphs We show that every simple, (weakly) connected, possibly directed and infinite, hypergraph has a unique prime factor decomposition with respect to the (weak) Cartesian product, even if it has infinitely many factors. This generalizes previous results for graphs and undirected hypergraphs to directed and infinite hypergraphs. The proof adopts the strategy outlined by Imrich andŽerovnik for the case of graphs and introduced the notion of diagonal-free grids as a replacement of the chord-free 4-cycles that play a crucial role in the case of graphs. This leads to a generalization of relation δ on the arc set, whose convex hull is shown to coincide with the product relation of the prime factorization. Directed hypergraphs are the common generalization of both directed graphs and (undirected) hypergraphs. A (directed) hypergraph H = (V, E) consists of a vertex set V and a family of (directed) hyperedges or hyperarcs E. Each hyperedge E ∈ E is an ordered pair of sets of vertices E = (T (E), H(E)) = (∅, ∅). The sets T (E) ⊆ V and H(E) ⊆ V are called the tail and head of E, respectively. To avoid the risk of confusion we will sometimes write V (H) and E(H) for the vertex set and the arc set of a hypergraph H.. A hypergraph H = (V, E) is undirected if T (E) = H(E) for all E ∈ E. Most of the literature on hypergraphs is concerned with undirected hypergraphs [1] , surveys on directed hypergraphs can be found in [7, 8] . Directed hypergraphs have been used as model for complex networks in biology and chemistry [15] . For instance a chemical reaction is naturally represented as a hyperedge E where T (E) lists the educts and H(E) the products of the chemical transformation.. We say a hypergraph is finite if its vertex set and its edge set is finite. A hypergraph that is not finite is said to be infinite. A hypergraph H = (V, E) is called simple, if (i) |T (E) ∪ H(E)| > 1 for all E ∈ E and (ii) there are no two distinct arcs E, E. ′ ∈ E such that T (E) = T (E ′ ) and H(E) = H(E ′ ). A hypergraph is a directed graph if |T (E)| = |H(E)| = 1 for all E ∈ E.. We will be concerned with products of hypergraphs, more precisely with the most fundamental question that arises in this context: Does a hypergraph have a unique decomposition into prime factors? The answer to this question depends on the definition of the product. In the case of graphs, the product structures are quite well understood [11] .. Several notions of hypergraph products have been studied in the literature, usually for restricted versions of undirected hypergraphs, see e.g. [2, 6, 9, 20] . The most commonly studied hypergraph product is the direct product, which consists of the Cartesian product of vertex sets, and the Cartesian (set) products of the hyperedges [3, 5, 18, 17] . For direct products of N -systems, i.e., directed hypergraphs satisfying |T (E)| = 1 and T (E) ⊆ H(E) for all E ∈ E, a prime factor theorem was proved in [13] .. In this contribution we will focus on the Cartesian product of finite and infinite directed hypergraphs with finitely or infinitely many factors. The Cartesian graph product was introduced by Gert Sabidussi [19] , who showed that connected graphs have a unique Cartesian prime factor decomposition. This result was generalized by Wilfried Imrich [9] to simple undirected hypergraphs:

O O O O O O O O O O O O O O O O B O O O B I I O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O


Voting Almost Maximizes Social Welfare Despite Limited Communication In cooperative multiagent systems an alternative that maximizes the social welfare-the sum of utilities-can only be selected if each agent reports its full utility function. This may be infeasible in environments where communication is restricted. Employing a voting rule to choose an alternative greatly reduces the communication burden, but leads to a possible gap between the social welfare of the optimal alternative and the social welfare of the one that is ultimately elected. Procaccia and Rosenschein (2006) have introduced the concept of distortion to quantify this gap. In this paper, we present the notion of embeddings into voting rules: functions that receive an agent's utility function and return the agent's vote. We establish that very low distortion can be obtained using randomized embeddings, especially when the number of agents is large compared to the number of alternatives. We investigate our ideas in the context of three prominent voting rules with low communication costs: Plurality, Approval, and Veto. Our results arguably provide a compelling reason for employing voting in cooperative multiagent systems. A major challenge that arises in the design and implementation of multiagent systems is the aggregation of the preferences of the agents. Voting theory provides a neat solution by giving extremely well-studied methods of preference aggregation. In recent years the theoretical aspects of computational voting have been enthusiastically investigated, especially within the AI community.. While the appeal of voting in the context of heterogeneous, competitive multiagent systems is apparent, some multiagent systems are centrally designed and fully cooperative (e.g., systems for planning and scheduling, recommender systems, collaborative filtering, and so on). We believe that, to date, the benefit of employing voting in such domains was unclear. Indeed, agents are normally assumed to compute a utility for every possible alternative. If the agents are cooperative then they can simply communicate their utilities for the different alternatives, and subsequently select an alternative that maximizes the social welfare, i.e., the sum of utilities. However, accurately conveying an agent's utility function for each alternative may be very costly in terms of communication. This could prove to be a serious obstacle in domains where communication is restricted. Communication may be limited by the physical properties of the system (e.g., slow or error-prone transmitters) or the representation of the full utility functions may require a huge amount of information. Moreover, "reducing the communication requirements lessens the burden placed on the agents ... [when they] need to invest effort (such as computation or information gathering) to determine their preferences" (Conitzer and Sandholm 2005, page 78) . Blumrosen et al. (2007) outline additional persuasive reasons why communication should be restricted in multiagent settings. Fortunately, some prominent voting rules-functions that select an alternative given the preferences of the agents-impose a very small communication burden (Conitzer and Sandholm 2005) , and are moreover resistant to errors in communication (Procaccia, Rosenschein, and Kaminka 2007) .. For example, consider the paradigmatic cooperative multiagent system domain: scanning an area on Mars with multiple rovers (which are known to have limited communication capabilities). Suppose the rovers must select or update their joint plan (this may happen very often), and there are one million alternatives. Moreover, suppose each rover computes a utility for each alternative on a scale of one to one million (this is, in fact, a very coarse scale). A rover would need to communicate 10 6 · log(10 6 ) ≈ 20 · 10 6 bits in order to report its utility function. In contrast, under the Plurality voting rule, where each agent votes for a single alternative and the alternative with most votes wins, a rover must transmit only twenty bits.. In this paper we shall argue that, in cooperative multiagent systems, exact maximization of the social welfare can be replaced by very simple voting rules (given an extra ingredient that we present below). The benefit is a huge reduction in the communication burden, whereas the cost, a deterioration in the social welfare of the outcome, will be shown to be almost negligible in some settings. This arguably provides a pivotal reason for employing voting in cooperative multiagent systems, and in AI in general.. Our approach. The degree to which the social welfare of the outcome can decrease when voting is used is captured by the notion of distortion, introduced by Procaccia and Rosen-schein (2006) . They focus on voting rules that receive as input a ranking of the alternatives, and, crucially, assume that each agent reports a ranking such that the alternative that is ranked in the k'th place has the k'th highest utility. Under this assumption, they define the distortion of a voting rule to be the worst-case ratio between the maximum social welfare over all the alternatives, and the social welfare of the winner of the election; the worst-case is taken over all the possible utility functions of the agents. After proving some impossibility results, Procaccia and Rosenschein further restrict the structure of the utility functions. Even under this additional (very strong) assumption, they show that the distortion of most prominent voting rules is linear in the number of alternatives. The approach of Procaccia and Rosenschein is descriptive: they propose to use the notion of distortion as a criterion in the comparison of different voting rules.. Our main conceptual contribution is the consideration of embeddings into voting rules. An embedding is a set of instructions that informs each agent how to vote, based only on the agent's own utility function, that is, without any communication or coordination between different agents. More accurately, an embedding into a specific voting rule is a function from utility functions to votes that are valid under the voting rule. For instance, consider the simple Plurality rule described above. Given a utility function, an embedding into Plurality returns the alternative that the agent votes for. Procaccia and Rosenschein implicitly use one specific embedding, but many different embeddings exist. In this sense, our approach is algorithmic: we wish to design embeddings in a way that minimizes the distortion.. We redefine the notion of distortion to take embeddings into account. The distortion of an embedding into a voting rule is still the worst-case ratio between the maximum social welfare and the social welfare of the winner, but now the winner depends both on the voting rule and on the embedding, that is, on the way the utilities of the agents are translated into votes. The worst-case is taken over all possible utilities; we do not make any assumption regarding the utilities, except that they are normalized.. We take the idea of embeddings into voting rules one step further by allowing randomized embeddings. A randomized embedding randomly chooses the agent's vote, according to some probability distribution. The distortion is defined similarly, by taking into account the expected social welfare of the winner of the election. As we shall see, randomization gives us great power and flexibility, and ultimately provides us with the tools to design truly low-distortion embeddings.. We wish to design low distortion embeddings into voting rules with low communication complexity. Indeed, given that each of our cooperative agents votes according to the instructions provided by the embedding (in a fully decentralized way), then an alternative with social welfare close to optimal may be elected in the face of restricted communication. We find the existence of low distortion embeddings rather striking, as the social welfare is a centralized concept.. Our results. We study the distortion of embeddings into three voting rules: Plurality, Approval (each agent approves a subset of alternatives), and Veto (each agent gives a "negative point" to one alternative). Plurality and Veto have the smallest communication burden among all prominent voting rules: only log m bits per agent, where m is the number of alternatives. Approval requires more communication, m bits per agent, but still less than other prominent voting rules.. We first deal with the Plurality rule. We show that any deterministic embedding into Plurality has distortion Ω(m 2 ), and also provide a matching upper bound. Our main result deals with randomized embeddings into Plurality: we show that the naïve embedding into Plurality, which selects an alternative with probability proportional to its utility, yields constant distortion when n = Ω(m ln m), where n is the number of agents, and has extremely low distortion, specifically 1 + o(1), for larger values of n.. Next we investigate the Approval rule. We give a lower bound of Ω(m) for deterministic embeddings, and also present a matching upper bound. Our randomized upper bounds for Approval follow directly from the upper bounds for Plurality, since any embedding into Plurality is also an embedding into Approval.. Finally, we consider the Veto rule. We show that any deterministic embedding into Veto has infinite distortion, and the same is true for randomized embeddings if n < m − 1. We further show that low-distortion embeddings into Veto can be obtained, albeit using a large number of agents. Our notion of embeddings into voting rules is extremely decentralized, that is, the agents cast their votes independently according to the embedding. On the other extreme, if full coordination is allowed, the distortion would always be one, as the agents would be able to find out which alternative maximizes social welfare and coordinate their votes in a way that this alternative is elected (assuming the voting rule is onto the set of alternatives). It would be interesting to investigate a notion of embedding that allows for partial communication between the agents.. Our strongest positive results hold in settings where the number of agents is larger than the number of alternatives. This is indeed the case in many environments, notably in political elections. However, one can think of a variety of multiagent settings where the number of alternatives is larger. We would like to achieve a better understanding of the achievable distortion when n = o(m).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Robust Acquisition of 3D Informations from Short Image Sequences This paper addresses the problem of 3D reconstruction from a set of viewpoints on a short baseline. Its main contribution is the development of a robust algorithm which can extract 3D informations from a set of images taken with a very small baseline, even in the presence of significant occlusion. To achieve this goal, we use a multi-pass process that works layer by layer. In each pass we begin with a ''space carving'' step which is made robust through some morphological operations. Then we introduce an original technique to solve the ambiguity inherent to ''space carving'' in the case of short baseline. Once we have a voxel representation of the objects, we propose a method based on differential geometry to build a smooth mesh. Results are presented, demonstrating the efficiency and usefulness of the method. We aim at acquiring 3D information from image sequences such as a short video segment. Our goal is to use this information to add realistic details in virtual environments. For instance, we want to populate a street with passer-bys, post-boxes, and other urban elements. These are not the focus of interest of the scene, but rather Graphical Models 65 (2003) 222-238 www.elsevier.com/locate/gmod the small add-on that makes the whole street ''alive.'' Therefore it is not important if the objects are not ''complete'' for we do not need to look at them very closely nor to see what is behind a post-box. The important point is the realistic look of the result. Moreover we do not want to be restricted to a very specific kind of image sequences-for instance, there may be an interesting object in a movie and then we have no other choice than to deal with that given video segment. Therefore we must cope:. • with viewpoints that are spatially close (we are in the case of short baseline) and almost aligned because we cannot assume the image sequence is long nor that it goes all around the object, • with ordinary images for they can be noisy and we cannot assume there is a ''blue screen'' in the background, • and with occlusions because there can be another object that hides the one we are interested in. We assume that we know all the camera parameters because acquiring them from the images is a full separate problem (see [14] for details on this topic), and that there is no movement in the sequence (acquiring 3D information and movement is a much more complex problem). So we can work from two different types of sequence: either the scene is static and the camera is moving (e.g., for acquiring a statue or post-box), or we have a set of synchronized cameras which shoot simultaneous images [33] . Finally we consider that the only user input is a bounding volume around the objects of interest.. Having defined our goals and the input, we can have an overview of the algorithm we propose. The main structuring point is a multi-pass strategy: we reconstruct the object information in a front to back order [27, 35] . During a pass, only the closest object still not reconstructed is taken into account. This guarantees all the occluders are known before we try to reconstruct an hidden object.. We need also to choose the 3D structure we use to represent the objects during the process. One way to do this is to use their contours as in [7, 21, 32, 36] , but these methods are very dependent on the contour extraction algorithm that does not give satisfying results with noisy images and real background. We can also optimize a surface so it fits to the image contents using shading information as Fua and Leclerc [13] . This approach deals well with untextured objects but cannot cope with occlusions in the general case. Faugeras and Keriven [12] also use a surface-based approach driven by the level set technique, it works well even with occlusions and topologically complex objects but it requires textured surfaces. Recently, a promising approach based on graph cut has been introduced by Roy and Cox [25] and extended by many others [4, 16, 18, 37] but it still lacks of precision and results in objects which are almost flat. Since the working volume is bounded, we prefer a voxel-based approach as described in [3, 7, 19, [26] [27] [28] [29] 31] : we discretize the volume into small cubes (the voxels) and the goal then is to select the voxels that belong to the object volume. Thus we are not bound to a contour detection algorithm and we show in Section 4 that we can work without texture. We explain quickly how this voxel space is built in Section 2.. Using this voxel space, we can split each pass of the algorithm into three steps. We begin in Section 3 with the selection of the consistent voxels as defined by Seitz and Dyer [27] : we keep the only voxels that have the ''same'' color in all the images. This first step is quite similar to the space carving algorithm [19] during which we take special care to be robust to noise. Kutulakos and Seitz [19] explains that there may be too many voxels left. In our specific configuration of short sequences, we show that this remark is crucial and that there is a very high number of useless consistent voxels and then, as a second step, we introduce in Section 4 an original approach to solve this ambiguity. The third and last step of a pass consists in blocking the lines of sight intersecting the object we have just reconstructed. Section 5 explains this step and how to deal with occlusions.. When all passes are done, we have a voxel representation of the objects that we call draft surface. This discretized form is not suitable for further use because real objects are not composed of small cubes. Therefore we propose in Section 6 a new technique based on morphological treatments and differential geometry to transform this representation into a smooth surface. Fig. 1 gives an overview of the whole algorithm. We illustrate in Section 7 the applicabilty of our algorithm with some results and propose some extensions. This algorithm gives satisfying results but we believe it can be still improved. We will continue to work on the voxel consistency estimation to get some more precise and more powerful expression on which we can base the process. Then we want to find a more efficient way to find the surface inside the set of the consistent voxels. From a more global point of view, we aim at characterizing the arbitrary thresholds that appear during the process. Obviously almost all thresholds depend more or less directly on the resolution and on the scale of the reconstruction. And the most challenging work is to extend the algorithm to deal with specular surfaces and any set of cameras.

O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O