Hierarchical Discriminant Analysis for Image Retrieval Abstract-A self-organizing framework for object recognition is described. We describe a hierarchical database structure for image retrieval. The Self-Organizing Hierarchical Optimal Subspace Learning and Inference Framework (SHOSLIF) system uses the theories of optimal linear projection for automatic optimal feature derivation and a hierarchical structure to achieve a logarithmic retrieval complexity. A Space-Tessellation Tree is automatically generated using the Most Expressive Features (MEFs) and the Most Discriminating Features (MDFs) at each level of the tree. The major characteristics of the proposed hierarchical discriminant analysis include: 1) avoiding the limitation of global linear features (hyperplanes as separators) by deriving a recursively better-fitted set of features for each of the recursively subdivided sets of training samples; 2) generating a smaller tree whose cell boundaries separate the samples along the class boundaries better than the principal component analysis, thereby giving a better generalization capability (i.e., better recognition rate in a disjoint test); 3) accelerating the retrieval using a tree structure for data pruning, utilizing a different set of discriminant features at each level of the tree. We allow for perturbations in the size and position of objects in the images through learning. We demonstrate the technique on a large image database of widely varying real-world objects taken in natural settings, and show the applicability of the approach for variability in position, size, and 3D orientation. This paper concentrates on the hierarchical partitioning of the feature spaces. CENTRAL task in computer vision module is the recognition of objects from various images of the environment where the machine is found [1] .. Model-based object recognition is the domain where a model exists for every object in the recognition system's universe of discourse. The research emphasis in this paradigm has historically been on the design of efficient matching algorithms from a manually designed feature set with hand-crafted shape rules [2] , [3] , [4] , [5] .. Manually designing a feature set is appealing because such a feature set is very efficient. When designed properly, a very small number of parameters for each of the objects is sufficient to capture the distinguishing characteristics among the objects to be recognized. This premeditated efficiency is bitter sweet, however, in that generalization of the features to objects other than those for which they were designed is usually impossible. For example, parameters painstakingly tuned to efficiently discriminate between persons based on intereye distance will be useless in differentiating a car from a fire hydrant.. An alternative to hand-crafting features is the selforganizing approach, in which the machine will automatically derive what features to use and how to organize the knowledge structure such as the work of the Cresceptron [6] and eigenfaces [7] for view-based recognition. In this framework, the recognition phase of the system is preceded by a learning phase. The learning phase focuses on the methods by which the system can automatically organize itself for the task of object recognition, giving it a wide range of generality [8] , [9] . Self-organizing object recognition systems are open-ended, allowing them to learn and improve continuously [10] . A large amount of work has been published in the domain of adaptation and learning using networks (e.g., [11] , [12] ).. Allowing the system to organize itself, however, raises some important efficiency issues. The first one is the feature selection issue. If the sample distribution is known, adding more features always produces better results (or at least not worse results) if the Bayesian estimation is used. However, typically these distributions are not known or too computationally expensive to estimate adequately. The result is the "curse of dimensionality"-more features do not necessarily imply a better classification success rate. For example, the principal component analysis (LPA), also known as the Karhunen-Loève projection and "eigenfeatures," has been used for face recognition [13] , [7] and lip reading [14] among others. An eigenfeature, however, may represent aspects of the imaging process which are unrelated to recognition (for example, the illumination direction). An increase or decrease in the number of eigenfeatures that are used does not necessarily lead to an improved success rate.. The second issue is how the system should organize itself. Given a k-dimensional feature space with n objects, a linear search is impractical since each recognition probe requires O(n) computations.. So how does a self-organizing system automatically find the most useful features in the images? How can this be done without restricting the domain to which the system will be applicable? How can the system learn and recognize a huge number of objects (say a few million) without slowing the process down to a crawl? The work described here addresses these crucial issues. We discuss how to automatically find the most discriminating features for object recognition and how a hierarchy can be utilized to achieve a very low computational complexity in the retrieval phase. Our goals in this regard include the hierarchical decomposition of a large, complex problem into smaller, simpler problems. From a feature space tessellation standpoint, this involves the decomposition of a highly complex problem with nonlinear boundaries into simpler, smaller, lineally separable problems. At the same time, this hierarchical organization provides for an efficient retrieval mechanism, and produces approximately an O(log n) algorithm for image retrieval. To find a class to which a test probe belongs is typically a linear algorithm in the number of database items. The SHOSLIF-O uses the hierarchy that decomposes the problem into manageable pieces to provide approximately an O(log n) time complexity for an image retrieval from a database of n objects.. The SHOSLIF tree shares many common characteristics with the well known tree classifiers and the regression trees in the mathematics community [15] , the hierarchical clustering techniques in the pattern recognition community [16] , [17] and the decision trees or induction trees in the machine learning community [18] . The major differences between the SHOSLIF tree and those traditional trees are the automatic derivation of features and the direct computation of the most discriminating features at each internal node. SHOSLIF automatically derives features directly from training images, 1 while all the traditional trees work on a human pre-selected set of features. This point is very crucial for the completeness of our representation. In addition, the traditional trees either search for a partition of the corresponding samples to minimize a cost function at each internal node (e.g., ID3 [18] and clustering trees [17] ), or simply select one of the remaining unused features as the splitter (e.g., the k -d tree) [19] . The first option results in an exponential complexity that is far too computationally expensive for learning from high-dimensional input like images. The second option implies selecting each pixel as a feature, which simply does not work for image inputs (in the statistics literature, it generates what is called a dishonest tree [15] ). The SHOSLIF directly computes the most discriminating features (MDF), using the Fisher's multiclass, multidimensional linear discriminant analysis [20] , [21] , [22] , for recursive space partitioning at each internal node. The SHOSLIF uses a tree structure to organize search hierarchically. The publications on decision trees is extremely rich. The reader is referred to some survey articles [23] , [24] , [25] . Decision trees have been traditionally used for making 1 . We do not use the term feature selection here because it means to select from several predetermined feature types, such as edges or area. Also, the term feature extraction has been used for computation of selected feature type from a given image. Feature derivation, on the other hand, means automatic derivation of the actual features (e.g., eigenfeatures) to be used based on learning samples. decisions in a vector space of a relatively low dimensionality, where each dimension corresponds to a human-defined feature [26] . Univariate trees (where each decision node uses only one feature component) have been used most frequently. However, oblique trees (where each decision node uses a linear combination of feature components) have been proposed quite early [27] , [28] . In the work presented here, we apply a new hierarchical statistical partition scheme directly to samples in the image space, resulting in an oblique tree structure. In so doing, we face new problems that are not present in classical pattern recognition methods. These problems are caused by the high dimensionality of the image space and the number of samples, which is typically much smaller than the dimensionality. In this paper. we will present how SHOSLIF automatically finds desired hierarchical subspaces from such a highdimensional image space.. In this work, we require "well-framed" images as input for training and query-by-example test probes, as in [13] , [29] . By well-framed images we mean that only a small variation in the size, position, and orientation of the objects in the images is allowed. The automatic selection of wellframed images is an unsolved problem in general. Techniques have been proposed to produce these types of images, using, for example, pixel-to-pixel search [7] , hierarchical coarse-to-fine search [6] , or genetic algorithm search [30] . This reliance on well-framed images is a limitation of the work; however, there are application domains where this limitation is not overly intrusive. In image databases, for example, the human operator will preprocess the image data for objects to store in the database.. Furthermore, the method is view-based to deal with images directly rather than using other sensing modalities of limited applicability (such as range scanners). And although the system can handle multifarious variations without system modification, these variations must be covered in the training phase; many views are required as training input for nontrivial problems. Although image retrieval issues are fundamentally object recognition issues, most object recognition systems contain a reject option. The system described in this paper does not implement such an option. For image retrieval, it is desirable to present a few top matches for the human operator to select or reject. For object recognition, the system could learn a threshold that defines an acceptable level of response from the database; such an automatic rejection option has not been investigated in the work reported here. The SHOSLIF utilizes two derived feature sets: the Most Expressive Features (MEFs) and the Most Discriminating Features (MDFs) [31] .

O B I O B I 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 O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O 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 B I 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 B I O O O B I O O B I 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 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


Interconnect enhancements for a high-speed PLD architecture As programmable logic grows more viable for implementing full design systems, performance has become a primary issue for programmable logic device architectures. This paper presents the high-level design of Dali, a PLD architecture specifically aimed at performance-driven applications. We will present significant portions of the background research that contributed to our architectural decisions, an overview of the core routing architecture and benchmarking experiments used to evaluate the prototype device. The design of a PLD architecture involves many conflicting goals, one of which is the tradeoff between performance and efficiency. In fact, PLDs themselves are in the tradeoff space between truly flexible but slow microprocessors and highperformance but inflexible ASICs. This paper discusses research experiments aimed at designing a PLD architecture that is as fast as possible without unreasonably increasing die-size or non-routability (i.e. cost). The Dali architecture discussed in this paper forms the basis for the recently announced Mercury PLD family from Altera, a commercial product. However, we will continue to use the name Dali to emphasize that all of the results reported on here are based upon the prototype architecture and software. This paper concentrates on the core routing architecture of Dali, and we will not try to cover modifications to the I/O structure in this discussion.. In a PLD the majority of the electrical delay occurs in interconnect and interconnect switching, so our primary concentration will be on routing enhancements relative to previous-generation PLD families. The basic interconnect (wire) delay incurred by a critical path is common between PLD and ASIC devices. The time spent in interconnect switching is a PLD-specific design tradeoff. Flexibility introduced by interconnect switching is paid for with the additional loading delay which it puts on the routing. The key item in the design of a PLD routing architecture is to always provide enough flexibility to implement a high proportion of designs, but not so much flexibility that performance or area suffers.. The target density for our architecture family is approximately 2000 to 15000 LEs. This is an important design parameter because decisions related to the degree of hierarchy, accessibility to re-buffering signals and the length of interconnect wires can be quite different at high vs. low density spaces. Since current high-density PLDs reach close to 75,000 LEs [2, 22] our target range would be considered a mainstream rather than high-density PLD family.. There are a number of ways to make PLD interconnect faster. One approach is to make the device less programmable by replacing switches with less flexible or even dedicated connections, or by restricting availability of certain types of routing. A second approach is to optimize wires for speed with width, space and shielding. Both result in an increase in overall cost: the first manifests itself as loss of routability, the second as an increase in die-size. The amount to which we are willing to do this and the ways in which we can accomplish it comprise the major topics of this paper, and can be categorized as follows:. • Hierarchy: choosing the correct level of hierarchy for the density range of the family, in our case a semihierarchical organization rather than flat or fully hierarchical.. • Heterogeneous routing: some wires are fast, but more expensive. Others are slower, but more efficient/dense. The place and route software is responsible for utilizing the wires appropriately by placing critical paths on the fast wires and non-critical paths on the regular wires.. 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. • Dedicated wiring: dedicated short connections between adjacent LEs and dedicated carry-chain and multiplier circuitry allow special purpose critical functions to be implemented with faster interconnect.. • Greater variety of wiring resources: Different netlist connections are of different lengths and fanout. Our goal is to provide the best possible mix of routing resources for the requirements of most designs.. The organization of the paper is as follows: Sections 2 through 5 cover the topics just mentioned which related to the core routing architecture, and Section 6 then summarizes the core architecture of the device and gives experimental results from in-house evaluation of the prototype device. We make some closing remarks in Section 7. In this paper we have outlined the routing architecture of a new PLD architecture, Dali, which is specifically designed to achieve high-performance, both in core clock-speed and in I/O bandwidth. In addition to the overall architecture, we have made a number of independent research contributions, including justification that only a proportion of routing resources need be fast to achieve high-performance routing, effective use of dedicated connections for special-purpose logic, and discussion of the use of different routing types.. Overall, our prototype benchmarking shows the Dali routing architecture to achieve approximately 1.7X the performance of an equivalent process FLEX 10K device, at a relatively cheap 1.3X die-area cost.. The Dali architecture forms the basis for Altera's Mercury family. Mercury was originally implemented on a 8LM .18 Al, 1.8V CMOS process, and now commercially available on .15 Cu, 1.8V CMOS, the first two family members comprising the 4800 and 14,400 LE size devices. We firmly believe that the Mercury implementation of our Dali architecture represents the fastest PLD in its process and density range by a significant margin.. Though not discussed in this paper, many of the important features of the Mercury commercial family relate to multistandard and voltage I/O structures, and Gbit high-speed differential interfaces with clock-data recovery as a primary feature. CDR, in particular, is a novel and important structure that is critical to modern high-bandwidth communications designs.

B O O O O O B O B I 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 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 B 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 B 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 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 B O B 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 B 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 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 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 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 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 B 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 B 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 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 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 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


Symbolic computation with finite biquandles A method of computing a basis for the second Yang-Baxter cohomology of a finite biquandle with coefficients in Q and Zp from a matrix presentation of the finite biquandle is described. We also describe a method for computing the Yang-Baxter cocycle invariants of an oriented knot or link represented as a signed Gauss code. We provide a URL for our Maple implementations of these algorithms. In [7] , algorithms for computing the values of quandle counting invariants on virtual knots and for finding the finite quandles which define these invariants were described. In this paper we describe algorithms for finding and computing a generalized form of this quandle counting invariant using a similar methodology -representing virtual knots and links as signed Gauss codes and representing finite biquandles as block matrices.. A biquandle is a non-associative algebraic structure defined on a set B whose axioms are motivated by thinking of the elements of B as semi-arcs in an oriented knot diagram and thinking of the four possible crossing relationships on inbound semi-arcs at a crossing as four binary operations on the set; the biquandle axioms are then the conditions required in order to preserve the algebraic structure under the three Reidemeister moves. Biquandles have been studied in recent papers such as [6] , [10] , [14] and more. The resulting algebraic structure is naturally a source of invariants of knots and links, both in the classical sense of disjoint unions of simple closed curves in S 3 and the combinatorial sense of Reidemeister equivalence classes of Gauss codes, also known as abstract knots or virtual knots [9] , [8] .. Perhaps the simplest easily computable link invariant derivable from a finite biquandle is the counting invariant |Hom(K, T )| which counts homomorphisms from the knot biquandle K into a finite target biquandle T . This counting invariant has been studied in the case of various finite biquandle structures defined algebraically (Alexander biquandles, quaternionic biquandles, etc.) in [6] and in the case of biquandles defined symbolically by biquandle matrices encoding the four operation tables in [14] .. Simply counting homomorphisms, however, discards some information about the link by treating all homomorphisms as the same. One way to incorporate information about the link diagram in the set of biquandle homomorphisms is to use the homomorphism to define a Boltzmann weight, such as an integer power of a variable t, at each crossing; the product of these weights over all crossings defines an invariant of the colored knot diagram, and the sum of these weights over the set of all colorings defines a new knot invariant. The kinds of weight-assigning functions which make this construction work are elements of the second Yang-Baxter cohomology of the target biquandle as defined in [2] ; hence, to find these invariants we must compute the second cohomology of our target biquandle.. In this paper we describe an algorithm for computing the second Yang-Baxter cohomology of a finite biquandle with rational coefficients from its symbolic matrix presentation. We give some examples of symbolic computation of the resulting Yang-Baxter cocycle invariants for virtual links represented by Gauss codes.. The paper is organized as follows: In section 2, we define biquandles and describe ways of representing finite biquandles in Maple. In section 3 we describe a combinatorial generalization of knot theory known as virtual knot theory and describe how virtual knots and links may be represented in Maple as signed Gauss codes. In section 4 we describe our method for computing a basis for the second Yang-Baxter cohomology of a finite biquandle with coefficients in Q or a finite field Z p and our method for computing the Yang-Baxter 2-cocycle invariants of a knot or link using these cocycles. Our Maple programs are available in the files biquandles-maple and yangbaxtercohomology.txt downloadable at www.esotericka.org/quandles.

B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B I 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 O O O O O O O O O O O O O O O O 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


Lossless Compression of Predicted Floating-Point Geometry The size of geometric data sets in scientific and industrial applications is constantly increasing. Storing surface or volume meshes in standard uncompressed formats results in large files that are expensive to store and slow to load and transmit. Scientists and engineers often refrain from using mesh compression because currently available schemes modify the mesh data. While connectivity is encoded in a lossless manner, the floating-point coordinates associated with the vertices are quantized onto a uniform integer grid to enable efficient predictive compression. Although a fine enough grid can usually represent the data with sufficient precision, the original floating-point values will change, regardless of grid resolution.In this paper we describe a method for compressing floating-point coordinates with predictive coding in a completely lossless manner. The initial quantization step is omitted and predictions are calculated in floating-point. The predicted and the actual floating-point values are broken up into sign, exponent, and mantissa and their corrections are compressed separately with context-based arithmetic coding. As the quality of the predictions varies with the exponent, we use the exponent to switch between different arithmetic contexts. We report compression results using the popular parallelogram predictor, but our approach will work with any prediction scheme. The achieved bit-rates for lossless floating-point compression nicely complement those resulting from uniformly quantizing with different precisions. Irregular surface or volume meshes are widely used for representing threedimensional geometric models. These meshes consists of mesh geometry and mesh connectivity, the first describing the positions in 3D space and the latter describing how to connect these positions into the polygons/polyhedra that the surface/volume mesh is composed of. Typically there are also mesh properties such as colors, pressure or heat values, or material attributes. The standard representation for such meshes uses an array of floats to specify the positions and an array of integers containing indices into the position array to specify the polygons/polyhedra. A similar scheme is used to specify the various properties and how they attach to the mesh. For large and detailed models this representation results in files of substantial size, which makes their storage expensive and their transmission slow. The need for more compact mesh representations has motivated researchers to develop techniques for compression of connectivity [24, 7, 19, 6, 14, 8, 10] , of geometry [23, 24, 6, 9, 10] , and of properties [22, 2, 15, 16] . The most popular compression scheme for triangulated surface meshes was proposed by Touma and Gotsman [24] . It was later generalized to both polygonal surface and hexahedral volume meshes [8] [9] [10] . It tends to give very competitive bit-rates and continues to be the accepted benchmark coder for mesh compression [11] . Furthermore, this coding scheme allows single-pass compression and decompression for out-of-core operation on gigantic meshes [12] . While connectivity is typically encoded in a lossless manner, geometry compression tends to be lossy. Current schemes quantize floating-point coordinates and other properties associated with the vertices onto a uniform integer grid prior to predictive compression. Usually one can choose a sufficiently fine grid to capture the entire precision that exists in the data. However, the original floating-point values will change slightly. Scientists and engineers typically dislike the idea of having their data modified by a process outside of their control and therefore often refrain from using mesh compression altogether. A more scientific reason for avoiding the initial quantization step is a nonuniform distribution of precision in the data. Standard 32-bit IEEE floatingpoint numbers have 23 bits of precision within the range of each exponent (see Figure 1 ) so that the least precise (i.e. the widest spaced) numbers are those with the highest exponent. If we can assume that all samples are equally accurate, then the entire uniform precision present in the floating-point samples can be represented with 25 bits once the bounding box (i.e. the highest exponent) is known. But if this assumption does not hold because, for example, the mesh was specifically aligned with the origin to provide higher precision in some areas, then uniform quantization is not an option. Finally, if neither the precision nor bounding box of the floating-point samples is known in advance it may be impractical to quantize the data prior to compression. Such a situation may arise in streaming compression, as it was envisioned by Isenburg and Gumhold [12] . In order to compress the output of a mesh-generating application on-the-fly, one may have to operate without a-priori knowledge about the precision or the bounding box of the mesh. In this paper we investigate how to compress 32-bit IEEE floating-point coordinates with predictive coding in a completely lossless manner. The initial quantization step is omitted and predictions are calculated in floating-point arithmetic. The predicted and the actual floating-point values are broken up into sign, exponent, and mantissa and their corrections are compressed separately with context-based arithmetic coding [25] . As the quality of predictions varies with the exponent, we use the exponent to switch between different arithmetic contexts. We report compression results for single-precision floating-point coordinates predicted with linear predictions. However, our coding technique can also be used for other types of floating-point data or in combination with other prediction schemes. The achieved bit-rates for lossless floating-point compression nicely complement those resulting from uniformly quantizing with different precisions. Hence, our approach is a completing rather than a competing technology that can be used whenever uniform quantization of the floatingpoint values is-for whatever reason-not an option. Compared to the preliminary results of this work that were reported in [13] we achieve improved bit-rates, faster compression and decompression, and lower memory requirements. Furthermore we include a detailed comparison between the proposed compression scheme, simpler predictive approaches, and nonpredictive gzip compression. This comparison shows that current predictive techniques are not always the best choice. They are outperformed by gzip on data sets that contain frequently reoccuring floating-point numbers. The remainder of this paper is organized as follows: In the next section we give a brief overview of mesh compression. In the Section 3 we describe how current predictive geometry coding schemes operate. In Section 4 we show how these schemes can be adapted to work directly on floating-point numbers. In Section 5 we report compression results and timings. The last section summarizes our contributions and discusses current and future work. In Table 1 we compare our predictive scheme with simpler predictive schemes and standard gzip in terms of compression performance. Our scheme outperforms the simpler schemes by a difference of up to 10 bits per vertex. However, this gain shrinks to just above one bit per vertex as the meshes become large. The simpler schemes "9-12-11" and "10-11-11" are nearly identical in compression performance, but "10-11-11" is slightly faster and uses less memory. The biggest surprise is the superb performance of standard gzip on the power plant model. This can be explained with the high reoccurance of floating-point numbers by the vertex coordinates. This results in repeating byte pattern that suit gzip compression but cannot be exploited by traditional predictive coders. On the contrary, the application of prediction rules may increase the entropy of the mesh geometry if the corrective values have a distribution with a wider spread than the original positions. If the compression engine is allowed to produce separate streams or files for each of connectivity, x coordinates, y coordinates, z coordinates, and additional properties, then it would be easy to substitute the predictive geometry compressor with gzip or bzip2 compressor whenever suitable. However, in order to create single-stream encodings it will be necessary to incorporate capabilities into a predictive coder that allow it to deal with data sets that have a high reoccurance rate of sparsely scattered floating-point numbers. Table 2 This table lists compression rates (rate) in bits per vertex, compression and decompression times (t) in seconds and compression and decompression speed (s) in thousand vertices per second for four predictive floating-point compression schemes: predicting in 4 chunks of 8 bits, predicting in 3 chunks of 10, 11, and 11 bits, using the old scheme of [13] , and using the new scheme proposed here. Time measurements are taken on a computer with a 3 GHz Pentium 4 and 1 GB of RAM running Windows XP. The bottom most row reports for each compression scheme the number of range tables used and the total amount of memory needed for storing them.. In Table 2 we compare four predictive scheme in terms of compression rates and speeds. While the simple scheme "10-11-11" is the winner in compression speed with nearly 2 million vertices per second, the proposed scheme achieves higher compression rates and has the fastest decompression speeds of up to 1 million vertices per second. The new scheme outperforms our older scheme from [13] in every respect while using fewer and smaller arithmetic tables. It should be noted that neither scheme's implementation is particularly handoptimized. The computation speeds are mainly dictated by the efficiency of the entropy coder, which in our case is a range coder implementation adapted from [20] . In particular the simple scheme "8-8-8-8" could achieve significant speed-ups by using an entropy coder optimized for byte-sized symbols. For large models this could make it therefore an overall better choice. Table 3 This table lists results for lossless geometry compression in bits per vertex (bpv) sideby-side with the bit-rates that are obtained by [12] after uniformly quantizing the geometry with 16, 18, 20, 22, and 24 bits of precision. In addition we list the achieved gains as the ratio between the compressed and the corresponding uncompressed bit-rates. These are calculated as three times the precision for the pre-quantized geometry and as three times 32 bits for the full precision floating-point geometry.. In Table 3 we list the bit-rates of our lossless floating-point geometry compressor side by side with the results of [12] where the bounding box is first uniformly quantized with 16, 18, 20, 22 , and 24 bits. The achieved bit-rates for lossless compression nicely complement those resulting from quantizing at different precisions. On various example models, our encoding scheme compresses the floating-point data to between 28 % and 49 % of the original 96 bits per vertex (bpv) required for uncompressed storage.

B 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 B I 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 B O O O O O O O O O O O O O O O B 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 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 B 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 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 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 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 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 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 B 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 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 B 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 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 B 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 B I 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 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 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 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 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 B O O O O O O O O O O B 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 B O O O O O O O O O O O O O O O O O O O O


Stevens dot patterns for 2D flow visualization This paper describes a new technique to visualize 2D flow fields with a sparse collection of dots. A cognitive model proposed by Kent Stevens describes how spatially local configurations of dots are processed in parallel by the low-level visual system to perceive orientations throughout the image. We integrate this model into a visualization algorithm that converts a sparse grid of dots into patterns that capture flow orientations in an underlying flow field. We describe how our algorithm supports large flow fields that exceed the capabilities of a display device, and demonstrate how to include properties like direction and velocity in our visualizations. We conclude by applying our technique to 2D slices from a simulated supernova collapse. This paper describes a new technique to visualize two-dimensional flow fields using individual points (or dots). Our goal is a technique that minimizes the amount of on-screen information needed to encode flow orientation. Much of the motivation for our work * e-mail: healey@csc.ncsu.edu comes from perceptual experiments designed to study how the human visual system "sees" local orientation in a sparse collection of dots. Initial work by Glass suggested that a global autocorrelation is used to identify orientation [Glass 1969; Glass and Perez 1973] . Later work by Stevens hypothesized that the orientation of virtual lines between pairs of dots around a target position defines the local orientation we perceive at that position [Stevens 1978 ]. This distinction is important, because it implies that different types of flow patterns can be rapidly perceived in different parts of a single image (Fig. 1 ). Stevens presented both experimental results and a software system to support his vision model.. When we saw the Glass and Stevens images, we were struck by their similarity to a flow visualization. We wondered if it was possible to reverse the process, that is, rather than using Stevens's model to determine the perceived local orientation at each dot, could we position a small collection of dots to produce perceived local orientations that match an already-existing flow pattern? This paper describes how we achieved this goal.. A number of issues motivated our interest in pursuing this technique. First, since a Stevens-based flow visualization is built on a strong perceptual foundation, it may allow us to make certain guarantees about a viewer's ability to see the information (i.e., the flow orientations) we are visualizing. Second, the sparse nature of the dot patterns allows information to be placed in the background, yet still be visible. Colleagues who are studying methods for extending line integral convolution (LIC) techniques to visualize multidimensional flow data are excited about this possibility. Finally, we were inspired by the simplicity and effectiveness of Stevens's algorithm, which describes how a seemingly random collection of dots can combine with one another to form intricate flow patterns.. The remainder of this paper is organized as follows. First, we present a short background review of related flow visualization techniques. Next, we describe Glass and Stevens dot patterns, and discuss Stevens's local orientation model in detail. We present a hierarchical visualization algorithm that converts a sparse grid of dots into a Stevens dot pattern that captures flow orientations in a user-selected flow field. We discuss methods for including flow di-rection and velocity in our images, and demonstrate our technique with real-world flow datasets. Finally, we conclude with a summary of our findings and directions for future research. This paper describes a new technique for visualizing 2D flow data. Our method applies a model of how the low-level visual system perceives orientation to position a collection dots to visualize flow orientations in an underlying flow field. Our method offers potential advantages over existing flow visualization algorithms: (1) the use of perception to build flow patterns with orientations that are rapidly and accurately distinguishable; (2) an economy of dots so additional data can be encoded in the display; and (3) the ability to support large flow fields, and to represent related properties like direction and velocity. Our images, together with anecdotal feedback from our collaborators, suggests that Stevens's dot patterns can successfully visualize flow data at multiple levels of detail.. We are investigating a number future research issues. First, we plan to compare Stevens dot patterns to other 2D flow visualization algorithms (e.g., LIC), possibly using a method similar to Laidlaw's [Laidlaw et al. 2005 ]. This will identify the strengths and limitations of our technique, allow using to plan future research to improve the method. A second study focuses on computational complexity. Currently, our algorithm requires preprocessing time to generate each layer. We want to improve performance, hopefully to a point where the algorithm can run interactively. This is necessary to visualize real-time data. We also hope to extend the dot patterns to 3D flow data. This is complicated by the need to differentiate dot depth in a 2D projected image, and by the lack of detailed knowledge about how we perceive orientation in a 3D dot pattern. Findings from our laboratory on identifying orientation in 3D glyphs may form a starting point for this work. Finally, we are working with colleagues to try to combine Stevens dot patterns with existing multidimensional visualization techniques. The goal is a method to visualize multi-attribute flow fields.. Figure 8: Velocity and direction within a simulated supernova collapse, velocity encoded with color, dark blues and greens for low velocity to bright oranges and pinks for high velocity Numerous methods have been proposed to visualize vector fields in general, and flow data in particular. We briefly discuss previous work that is most directly related to our proposed technique, with specific effort made to highlight areas where we may be able to offer improvements over existing methods.

O O O O O B B 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 B O O O O O O O O O O O O B 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 O O O O O O O O O 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 B 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 B 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 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 B O O O O O O O O O O O O O O O O O B B 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 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 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 B 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 B O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O B O O O O B 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 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 B O O O O B O O O O O O O O B B 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 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 B 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 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 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 B B O O O O O O O O O B 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


Testing pervasive software in the presence of context inconsistency resolution services Pervasive computing software adapts its behavior according to the changing contexts. Nevertheless, contexts are often noisy. Context inconsistency resolution provides a cleaner pervasive computing environment to context-aware applications. A faulty context-aware application may, however, mistakenly mix up inconsistent contexts and resolved ones, causing incorrect results. This paper studies how such faulty context-aware applications may be affected by these services. We model how programs should handle contexts that are continually checked and resolved by context inconsistency resolution, develop novel sets of data flow equations to analyze the potential impacts, and thus formulate a new family of test adequacy criteria for testing these applications. Experimentation shows that our approach is promising. In pervasive computing, a context-aware [2] application widely uses contexts [2, 14] to represent and reason about the dynamic computing environment. The application may adapt its behavior accordingly and produce new contexts. Researchers are studying effective techniques to address the identified testing challenges for context-aware applications [13, 14, 20, 21] . Nonetheless, many contexts are inherently noisy and need to be resolved or repaired for improving their data quality [10, 24] . A context-aware application should be implemented carefully.. For instance, Radio Frequency Identification (RFID) is an enabling technology for improving supply chain management, in which RFID tags or other sensors may be attached to individual products, and their RFID data are captured as contexts. Owing to natural variations in radio frequency (RF) signals, RFID tags often induce false negative reads or false positive reads [10] . The former refers to the case when an RFID reader misses the reading of a tag that is within its detection range, and the latter refers to the case when a reader mistakenly reads a tag that is considered outside its associated range. Over 30% of the tag reads may be lost [10] , and contexts obtained from different sources may also be conflicting [1] . Moreover, when applying a context consistency resolution strategy to the Call Forwarding application scenario [22] up to 30% error rate, the strategy can achieve around 80% of the optimal effectiveness [24] . Automatic resolution of context inconsistencies is crucial to providing useful services to users of pervasive software [10, 19, 24] .. When encountering an erroneous input, an ordinary program may follow a software transaction approach. It raises an exception and skips the "normal" processing, based on the assumption that exceptions rarely occur. In pervasive computing, however, the encountering of a problematic context is a norm rather than an exception. Hence, if the applications merely skip further processing when encountering problematic contexts, intuitively, they can hardly offer adequate service to users.. As a result, a context-aware application must use contexts, even if they may be noisy, to compute other contexts and intermediate results. When some noisy contexts are later resolved, and yet the intermediate results of a faulty program are not adjusted accordingly, the faulty program may result in an inconsistent program state, which may lead to erroneous outputs. Since pervasive software uses context data, and context inconsistency resolution strategies affect the contexts in the computing environment of such software, testing is essential to assure the quality of the latter. To our best knowledge, the topic has not been adequately studied by the software engineering community.. We address the challenges in testing context-aware applications arising from the presence of context inconsistency resolutions in their computing environment. 1 The resolution mechanism is modeled as a set of Context Inconsistency Resolution services, or CIR services for short. We generally categorize CIR services into drop services and repair services, which supports the deletion of context data and the modification of such data, respectively [18] .. A context stream is a time series of context instances. When a context instance is detected, it is added to a context stream as the current (and latest) context instance.. A context-aware application will use a context stream and associate it to, say, a context variable. Intuitively, fetching a value from a context variable means fetching the current context instance from the associated context stream, and assigning a value to the context variable means adding a context instance to the context stream as the current context instance.. A drop (repair) service of the computing environment may however drop (revise) the current context instance in the context stream. They generally affect the contents of context variables of the context-aware application, and hence its data flow associations. For instance, a drop CIR service may erase the latest data definition assigned to a variable of the application and thus restore the value of an associated context variable to a previously killed data definition; whereas a repair CIR service may produce a new data definition. Both effects essentially reveal implicit data flow associations relevant to the context-aware application.. We may then ask: What is the way to understand and analyze the impact of implicit data flow associations on the application? To answer this question, we study various scenarios and propose a novel set of data flow equations to capture the impact of CIR services on context-aware applications. We further propose a new family of test adequacy criteria based on data flow associations to assure the quality of the applications.. The main contributions of the paper are three-fold: (i) It proposes a data flow equation framework to study the feedback mechanism between CIR services and context-aware applications.. It significantly complements our previous work [14] , in which any context definition by the application must be reliably accepted by the computing environment. Hence, this paper is a step toward addressing unreliable computing environments from the data flow perspective. (ii) We propose a new family of test adequacy criteria for testing context-aware applications in the presence of CIR services. (iii) We conduct the first set of experiments to evaluate our proposal and its kinds. The experimental result shows that our testing criteria are significantly more effective than random testing.. The rest of the paper is presented as follows. Section 2 will give the background and an example to motivate our work. We then develop our data flow framework in Section 3, followed by a family of test adequacy criteria in Section 4. Section 5 evaluates the proposal empirically. We then review related work in Section 6 and conclude the paper in Section 7. Pervasive computing applications adapt their behavior extensively by using and reasoning about the changing contexts. Nevertheless, context instances may be noisy and inconsistent among themselves. Context inconsistency resolution (CIR) as middleware services is a promising approach in detecting context inconsistencies and resolving them. A faulty application may, however, mishandle resolved contexts and produce incorrect results. This paper proposes a data flow framework to model contextaware applications in the pervasive computing environment where the middleware supports CIR services. Based on the framework, we further propose a family of novel data flow testing criteria to test context-aware applications. Our criteria focus on the propagation of context variables in context-aware applications, which are potentially affected by CIR services. We have illustrated via examples and empirical evaluation that our approach is promising in detecting faults in context-aware applications.. The work is a step toward understanding the context (feature) interactions of "good" services on emerging pervasive software. Future work includes the generalization of the data flow framework to study other fundamental context-aware computing services, debugging techniques, and cost tradeoff issues. The above experiment shows that our approach can be effective in testing context-aware applications. Among the criteria reported in the experiment, all-2-services-uses is the strongest in detecting faults, followed in turn by all-services-uses and all-services. On the downside, as only around 80% of faults can be detected effectively in the experiment, it may also suggest that faults relevant to context resolution can be intricate.. We are also concerned with the potential threats to validity of the experiment. We have only used one subject program to evaluate our proposal, and plan to conduct more evaluations using nesC programs [6] in the wireless sensor network domain because (i) correction (resolution) of sensory data sent over unreliable wireless channels is common in these applications and (ii) the barebone tinyOS merely captures and transmits contexts, and invokes actions through interrupts to execute applications. Apparently, these characteristics match the model presented in the paper. Owing to the lack of CVS or SVN records in our current subject program, to produce a faulty version, we arbitrarily select a position in the program and inject a fault such that the faulty version can be successfully compiled; we invite an independent programmer to assure whether the fault is realistic and to reject the faulty version if he judges that there is a better position to inject such a fault.. In the future, we plan to use different test pools and use developer faults in additional to seeded faults to evaluate our proposal. In this section, we review related work on context-aware pervasive computing and program adequacy testing.. Pioneering context-aware frameworks include Context Toolkit [2] . Other researchers further find that the middleware-centric architecture successfully leverages the development and functionality of context-aware applications. These models and approaches include, for instance, CARISMA [1] , EgoSpaces [12] , RCSM [25] , and Cabot [23] .. Handling corrupted or inconsistent context data in a pervasive environment has been investigated. Jeffery et al. [10] and Rao et al. [18] propose techniques to clean up noisy or corrupted context data streams, such as RFID signals, from sensor networks. Researchers find the middleware-centric architecture highly beneficial to the maintenance of context consistency, either by filtering, cleaning, and repairing raw context data [10, 18, 24] , or by reasoning and solving context conflicts at a higher level [1] . In [14, 20] , we propose to use metamorphic testing to alleviate the test oracle problem, and extend conventional data flow concepts by proposing that the computing environment can update the value of variables We also propose a family of testing criteria [14] to address an orthogonal issue, which measures how well a program is truly context-aware by testing context-aware adaptation. Unlike the present paper, our earlier work does not address the testing issues related to CIR services and the resolved contexts in the computing environments of context-aware applications. By evaluating different concurrent program executions, Wang et al. [21] propose an approach to measuring how well a test suite covers different context-aware situations without altering any context (such as by dropping or repairing). Their efforts are complementary to ours.. Our criteria also differ from conventional data flow testing counterparts. The latter focuses on comprehensive coverage of, say, data flow associations [5, 8] , chains [7, 17] , subpaths [5] , or environmental interaction [11] of program variables. Our criteria focus directly on covering those data flow entities of contextaware applications affected by CIR services. Some concepts in our proposal are styled after those in [5, 8] . Parts of our experimental processes for evaluating our proposed adequacy criteria are similar to the empirical studies reported in [4, 9] .

O O O O O O O B I I O B I O O O O O O O O O O O O O O B I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 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 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


Bi-level programming model and hybrid genetic algorithm for flow interception problem with customer choice This paper investigates how to optimize the facility location strategy such as to maximize the intercepted customer flow, while accounting for ''flow-by'' customers' path choice behaviors and their travel cost limitation. A bi-level programming static model is constructed for this problem. An heuristic based on a greedy search is designed to solve it. Consequently, we proposed a chance constrained bi-level model with stochastic flow and fuzzy trip cost threshold level. For solving this uncertain model more efficiently, we integrate the simplex method, genetic algorithm, stochastic simulation and fuzzy simulation to design a hybrid intelligent algorithm. Some examples are generated randomly to illustrate the performance and the effectiveness of the proposed algorithms. Traditional location-allocation models, such as the maximal covering location model (MCLM) and the p-median model, aim to locate network facilities to optimally serve demand expressed as weights at nodes [1] [2] [3] [4] . Nowadays, many customers purchase services as part of routine pre-planned trips, i.e., the daily commute to and from home and the workplace, instead of making a special-purpose trip to obtain a service. Such facilities include convenience stores, gas stations, ATM machines, drugstores, laundries and restaurants. Thus, as the purchasing behavior changes, there are cases where demand in a network is now expressed as flows, rather than nodes.. To solve these types of facility locations in a network where demand is not expressed at nodes, but is exerted by traffic flowing between origins and destinations, Hodgson [5] and Berman [6] presents the flow interception problem (FIP) and developed a heuristic greedy algorithm to solve the FIP. The basic problem of FIP [5, 6] is to locate m facilities to intercept as much flow as possible from a given set of pre-existing flows on the network. It assumes the ''interception'' occurs if a flow passes through at least one facility. The focus is on maximizing the total consumption of the service by ''flow-by'' customers traveling on preplanned paths (e.g. daily commute). Based on the basic FIP,they also published a series of studies for a class of FIP [7] [8] [9] .. During the last two decades, uncertainty theory has experienced spectacular growth and is a hotspot in location science. The present papers recognize uncertainty in the demand or population at the nodes of the network or the different travel time between the nodes, which depend on the time of the day or day of the week. Uncertainty theory has been considered in the traditional location models (P-median, center problem, set-covering problem) [10] [11] [12] [13] . In these FIP modes above, ''flow-by'' customers which are static only travel on preplanned paths. Nowadays some probabilistic models of locating flow-capturing facilities are investigated [14] [15] [16] . In the probabilistic models, pre-planned paths are not known and only information on the fractions of customers traveling from any node to any adjacent node(transition probabilities) and the initial distribution of customers among nodes is available.Then the theory of Markov decision processes is applied for the analysis [14] .. According to the relationship between customers and facilities, J. Yang categorizes the flow interception problem into three types: cooperative FIP, independent FIP and opposite FIP [17] . In independent FIP, for facility managers, the objective function is to maximize the intercepted ''flow-by'' customers; but from the ''flow-by'' customers perspective, they are concerned with two factors for choosing the paths from their origin to their destination. On one hand, they desire to obtain services from facilities on their trip. On the other hand, the expected trip cost (travel time) cannot be above the threshold level that they can bear. This problem can be described within a game theoretic framework as leader-follower or Stackelberg game [18] . Thus, a bi-level model for this problem is formulated in this paper.. Due to the NP-hardness of bi-level programming problem [19] , a number of authors proposed various exact algorithms for solving it [20] [21] [22] . As for researches on computational methods using meta-heuristics for bi-level programming problem, Liu designed a genetic algorithm for solving a Stackelber-Nash equilibrium of nonlinear multilevel programming with multiple followers in which there might be information exchange among the followers [23] . Gendreau, Marcotte and Savard proposed an adaptive search method related to the Tabu Search meta-heuristic to solve the linear bi-level programming problem [24] . Li, Tian and Min developed a new algorithm framework based on particle swarm optimization for solving general bilevel programming problem, which combines two variants of PSO to solve the upper-level and lower-level programming problems interactively and cooperatively [25] . Takeshi and Hideki formulated defensive location problem as bi-level zeroone programming problems and proposed an algorithm based upon tabu search methods [26] .. In this paper, we investigate how to optimize the facility location strategy such as to maximize the intercepted customer flow, while accounting for ''flow-by'' customers' path choice behaviors and their travel cost limitation. The purpose of this paper is to develop a bi-level model for this problem and to design meta-heuristic algorithms to solve it.. The rest of the paper is organized as follows. In Section 2, the problem and symbols used are introduced. And we construct a bi-level programming static model for this problem. A heuristic based on a greedy search is designed to solve this model in Section 3. In Section 4, we suppose customers of OD pairs be stochastic variables. And the customers in general choose their paths in order to obtain service as conveniently as possible, while satisfying the trip cost threshold level which is a fuzzy variable. Thus,on the basis of credibility measure, a bi-level chance constrained model for FIP is developed. For solving this model more efficiently, we integrate the simplex method, genetic algorithm, stochastic simulation and fuzzy simulation to design a powerful hybrid intelligent algorithm in Section 5. Finally, Section 6 provides some numerical examples generated randomly to illustrate the performance and the effectiveness of the proposed algorithm.

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 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 O O B 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 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 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 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 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 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 B O O B 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


A Comparison of two Approaches for Solving Unconstrained Influence Diagrams Influence diagrams and decision trees represent the two most common frameworks for specifying and solving decision problems. As modeling languages, both of these frameworks require that the decision analyst specifies all possible sequences of observations and decisions (in influence diagrams, this requirement corresponds to the constraint that the decisions should be temporarily linearly ordered). Recently the unconstrained influence diagram was proposed to address this drawback. In this framework, we may have a partial ordering of the decisions, and a solution to the decision problem therefore consists not only of a decision policy for the various decisions, but also of a conditional specification of what to do next. Relative to the complexity of solving an influence diagram, finding a solution to an unconstrained influence diagram may be computationally very demanding w.r.t. both time and space. Hence, there is a need for efficient algorithms that can deal with (and take advantage of) the idiosyncrasies of the language. In this paper we propose two such solution algorithms. One resembles the variable elimination technique from influence diagrams, whereas the other is based on conditioning and supports any-space inference. Finally we present an empirical comparison of the proposed methods. The two must common languages for graphical representation of decision problems are decision trees and influence diagrams (Howard and Matheson, 1981; Shachter, 1986) . Both of these languages share the virtues that they have a very simple syntax and semantics, making them well suited for human specification as well as computer calculation. Decision trees have a very high expressive power. However, as the size grows exponentially with the number of decision and observation variables, they are badly suited for representing complex decision problems. Influence diagrams on the other hand give a very compact representation, which does not increase more than quadratically in the number of variables in the decision problem. To be able to represent a decision problem as an influence diagram, the problem has to meet certain constraints, and the most restrictive is that the problem must be symmetric. In short, this means that all decision variables are considered and all observations are taken, and the observations and decisions are temporarily linearly ordered.. Unconstrained influence diagrams (Jensen and Vomlelova, 2002 ) is a language very close to influence diagrams. The main difference is that they do not require a linear temporal order of the decisions and observations. We shall use the abbreviation ID for influence diagrams and accordingly UID for unconstrained influence diagrams. UIDs represent a language, which in a very compact way can model scenarios with a partial temporal ordering of decisions and observations. Although the representation is compact, a solution to the decision problem may be very complex. Contrary to IDs (Jensen et al., 1994; Cano et al., 2006) , a solution for a UID not only includes an optimal policy for the various decisions, but also a conditional specification of what decision to choose next.. The basic computational structure for establishing an optimal strategy is a so-called normal form S-DAG, which is a structure supporting a large set of strategies among which at least one is optimal. Given the normal form S-DAG, there are basically two approaches to finding an optimal strategy. One is to perform variable elimination similarly to the solution methods for IDs, and the other is to simultaneously solve and unfold the S-DAG into a decision tree. We will show how the latter method supports an any-space algorithm, and we present experimental results comparing both approaches. The proposed conditioning algorithms rely on a full specification of the S-DAG to be present in memory. For certain UIDs this may impose a memory problem in itself, since the size of the S-DAG may grow exponentially in the number of variables in the UID. An area of future research is to devise an algorithm for constructing the S-DAG from source to sink , thereby allowing the construction of the S-DAG to be interleaved with the SC-algorithm.. The current characterization of the P-Context (and the EU-Context for chance variables) is only unique up to the specified S-DAG. This also implies that in order to find a minimal P-Context we may need to investigate different S-DAG representations of the same model. The S-DAG definition imposes certain constraints on the ordering of the variables. For example, the S-DAG should not include misplaced variables. However, having misplaced variables does not necessarily influence the expected utility and this extra degree of freedom may provide a way to reduce the size of the contexts by allowing certain variables (of different types) to be commuted. It is a subject for future research to find a characterization of the contexts that do not include redundant variables. Table 2 Part (a) shows the maximum heap size used during the evaluation of the UIDs. The heap includes the memory for representing the UID, the normal form S-DAG, the potentials (for the VE algorithm), and the cache (for the SC algorithms: Naive and greedy). Part (b) shows the time (in seconds and milliseconds) for determining the MEU for the normal form S-DAGs. The time does not include the time for constructing the normal form S-DAG and the time for the determination of the caching factors for the SC algorithms.. viding the basis for our implementation.

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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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


A robust scheme for distributed speech recognition over loss-prone packet channels In this paper, we propose a whole recovery scheme designed to improve robustness against packet losses in distributed speech recognition systems. This scheme integrates two sender-driven techniques, namely, media-specific forward error correction (FEC) and frame interleaving, along with a receiver-based error concealment (EC) technique, the weighted Viterbi algorithm (WVA). Although these techniques have been already tested separately, providing a significant increase of performance in clean acoustic environments, in this paper they are jointly applied and their performance in adverse acoustic conditions is evaluated. In particular, a noisy speech database and the ETSI Advanced Front-end are used, while the dynamic features, which play an important role in adverse acoustic environments, and their confidences for the WVA algorithm are examined. In order to solve the issue of mixing two sender-driven techniques (both causing a delay) whose direct composition causes an increase of the global latency, we propose a double stream scheme which limits the latency to the maximum delay of both techniques. As a result, with very few overhead bits and a very limited delay, the integrated scheme achieves a significant improvement in the performance of a DSR system over a degraded transmission channel, both in clean and noisy acoustic conditions. Distributed speech recognition (DSR) turns out to be a very attractive approach for speech-enabled services over packet-switched networks. As with many other network services, it is based on a client-server architecture where the user device just analyzes, quantizes and sends the speech data to a remote server (back-end) which performs the speech recognition itself. This enables low power/complexity devices to perform speech recognition and allows speech applications to be modeled under a service-oriented approach, in which external information sources can also be linked thanks to the great interoperability of packetswitched networks.. However, when transmitting real-time data over a packet-switched network, one of the most common problems encountered is that of packet loss. Packet losses are caused by the inability of IP networks to offer a reliable, high-quality packet delivery service. In fact, in congestion, routers will discard packets if their input flow exceeds their output flow for a given data route. In addition, most portable devices access to the network through a wireless link which is subject to errors. These errors can also be reflected at the back-end as packet losses. In these scenarios, packet losses usually occur in bursts, where multiple consecutive packets are lost (Bolot, 1993) .. Consecutive packet losses can have a serious effect on recognition performance (Milner and Semnani, 2000) . Although the receiving end could request the retransmission of lost packets, this is not affordable in DSR applications since, as in other real-time applications, it could lead to a worsening of the channel (Xie et al., 2002) . Instead, error recovery techniques can be applied to counteract the effects of loss bursts, offering an acceptable performance.. The most extended recovery technique is based on the repetition of the nearest received vector. This simple procedure is included as a mitigation algorithm in the ETSI DSR standards (ETSI-ES201-108, 2000; ETSI-ES202-050, 2002; ETSI-ES202-211, 2003; ETSI-ES202-212, 2005) . Other simple error concealment (EC) techniques have also been proposed, such as splicing (Milner and Semnani, 2000) or replacing lost vectors by the mean of training data, but they have been shown ineffective (Endo et al., 2003) . Only more complex techniques, such as MMSE and MAP estimation (Gó mez et al., 2003 , which use a statistical speech model to estimate replacements, provide better results.. An alternative approach is to deal with packet losses, either fully or partially, inside the recognition engine. In order to do so, reliability information about speech features is taken into account by means of a modified decoding algorithm, as in the weighted Viterbi algorithm (Potamianos and Weerackody, 2001) . The main advantage is that a powerful model of the speech, the one present within the recognizer, can be exploited.. On the other hand, the recognition performance can also be improved by shaping the losses into a less damaging distribution. The local stationarity of speech has an important effect on the performance of the mitigation algorithm: short bursts are better reconstructed. Milner and James (2006) have shown that the ETSI DSR error concealment technique makes the recognizer tolerant to channel conditions with very high loss ratios but with short bursts. In clean acoustic conditions, isolated losses can have a negligible effect on recognition performance even at a 50% loss ratio .. The perceived burst length can be reduced by means of sender-driven techniques such as interleaving , but also by forward error correction (FEC) codes, particularly media-specific ones. As we showed in a previous work (Peinado et al., 2005) , when packets contain replicas of relatively distant packets (in time), these can be used not only to recover some lost frames, but also to break bursts of losses into shorter bursts. As disadvantage, these sender-driven techniques increase the required bandwidth (FEC) and latency (both, FEC and interleaving). In real-time voice communication, an increase of latency becomes a hurdle. However, in remote speech recognition an immediate response from the recognizer, although desirable, is not strictly required. Thus, an additional delay of a couple of hundred milliseconds may not be too significant to the overall quality of service.. In this work we propose a whole scheme which integrates media-specific FEC codes, frame interleaving and the weighted Viterbi algorithm (WVA) in order to improve speech recognition robustness against packet losses. These techniques have been already tested separately, providing a significant increase of performance in clean environments.. In this paper we jointly apply them and, although we are mainly focused on packet losses, their performance in adverse acoustic environments is also tested.. As a starting point we will take a scheme previously proposed in which combines WVA with vector quantized (VQ) replicas (i.e. media-specific FECs). In that work VQ codebooks were trained and tested with the same clean database (although on different training and testing subsets). Here, task-independent VQ replicas (i.e. replicas trained on a different database) have been considered and evaluated while feature confidences used inside the WVA algorithm have been refined for noisy environments, where the dynamic features acquired a special relevance. Then, we tackle the issue of mixing two sender-driven techniques, FEC codes and interleaving (both causing a delay), whose direct composition causes an increase of the global latency. As a result, we propose an integrated scheme which achieves a significant improvement in the performance of a DSR system over a degraded channel with very few overhead bits and a very limited delay, both under clean and noisy acoustic conditions. The paper is organized as follows. First, the experimental framework is described in Section 2. Section 3 is focused on the modification of the Viterbi algorithm (VA), the calculation of FEC codes and the changes required to treat them in the WVA algorithm. In addition, in this section we also examine the effect of noise over the confidence of delta features. Section 4 is devoted to the interleaving process. In particular, we will provide an intuitive explanation of (2,t) Ramsey interleavers, which have shown very effective in DSR, and test their performance under noisy conditions. Then, in Section 5 we tackle the problem of increasing latency and solve it by means of a double stream strategy. In addition, we consider the issue of overlapped replicas and describe a lossy frame interleaver which exploits the redundant nature of replicas. Finally, Section 6 summarizes this paper. In this paper, we propose a whole recovery scheme designed to improve the robustness against packet losses on distributed speech recognition systems. In this scheme, two sender-driven techniques, namely, media-specific FEC codes and frame interleaving, are jointly applied along with a receiver-based EC technique, the Weighted Viterbi algorithm. The sum of the delays caused by the use of distant replicas and interleaving is avoided by means of a double stream scheme. In this scheme, two different flows, one consisting of SVQ vectors and the other composed of VQ vectors or replicas are considered. Before replicas are inserted within the packets as FEC codes, both streams are independently interleaved, so that the latency is limited by the maximum delay of both interleavers.. As primary interleaver, we propose a (2; t) convolutional interleaver. We have shown that, at the same latency, this Ramsey-derived interleaver can disperse into isolated losses longer bursts than the classical MLBI interleaving. This is possible since the distance between the scattered losses is just one frame (t ¼ 2 instead of t ¼ s), which is long enough for the usual reconstruction techniques applied in DSR and, in particular, for those considered in this paper (i.e. nearest vector repetition). As secondary interleaver, we apply a lossy reordering function. That is, taking advantage of the redundant nature of replicas and the high correlation between consecutive frames, not all VQ vectors are transmitted. In each packet, all available bits are devoted to representing only the odd frame (or, alternatively, the even one) which is sent in its corresponding time-instant (no reordering). In addition to the introduction of additional information, these replicas allow to re-fragment the possible artificial bursts caused by the primary interleaver.. At the receiver, received and lost vectors and replicas are differently treated by the recognizer by means of the WVA algorithm. A reliability function based on the normalized cross-covariance is used as static feature confidence estimate. This reliability function can offer a confidence estimate for a recovered lost feature given the reconstruction method, including those based on VQ replicas. Thus, the recognizer can be informed that we have some information about lost frames, the VQ replicas, but that our confidence in them is lower, as they have been degraded by a strong quantization process. Confidence values for dynamic features are calculated from the reliabilities of the static features within the sliding window from which those are calculated. Although frequently forgotten in the WVA algorithm, delta features provide a speech representation more robust against acoustic noise. Confidences for first derivatives are obtained as the minimum of the static ones, while for second derivatives are obtained as their product. It has been shown that this approach, which mixes minimum and product strategies, achieves good results in both well-matched and mismatched acoustic conditions.. The proposed scheme and techniques have been tested under different channel conditions and considering several levels of acoustic mismatch between training and testing sets (high, medium and no mismatch). In all cases our proposal provides a considerable improvement on recognition accuracy. Thus, assuming a reasonable delay of 120 ms and reusing the zero padding and CRC bits (8 bits in total), up to a 44.3% of relative reduction on the average word error rate can be achieved in comparison with the Aurora standard, and 25.7% and 33.5% in comparison with a WVA system with and without replicas, respectively. In general, the improvements achieved have shown a high degree of independence from the acoustic environment. In this sense, the techniques described in this paper provide comparable performance improvements under high and medium acoustic mismatch and well-matched experiments.

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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 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 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