Power reduction via macroblock prioritization for power aware H.264 video applications As the importance of multimedia applications in hand-held devices increases, the computational strain and corresponding demand for energy in such devices continues to grow. Portable multimedia devices with inherently limited energy supplies face tight energy constraints and require optimization for energy conservation. Power-aware applications give their users flexibility to prioritize and trade between performance and battery-life.This paper introduces a power-aware technique for user selectable power reduction in exchange for controlled reductions in video quality for H.264 video streams. The technique uses an encoder-decoder pair. The encoder characterizes video streams and provides information to the decoder via Flexible Macroblock Ordering (FMO) by generating prioritized slice groups. The decoder selectively ignores low priority slice groups based on user selected preference effectively reducing the decoder workload. With a reduced computational requirement, processor voltage and frequency scaling (DVFS) significantly improve decoder power performance within timing constraints. Our PXA270 system implementation resulted in power savings of as much as 53% with an average PSNR per frame of 24dB compared to the unmodified video. Multimedia applications are among the most computationally expensive commonly found applications in portable devices. They are also among the most power hungry. Dedicated portable multimedia devices such as MP3 players are increasingly expected to deliver video content as well as the traditional audio. Cell phones and handheld computers have begun to merge into a new class of devices facing the same demands. Consumers find devices which can provide all of these services from telephone to personal digital assistant to internet browsing and watching video-on-demand more convenient than having the same services provided by multiple devices. A portable device struggling with a myriad of tasks and a limited power budget faces numerous opportunities for power conservation by focusing effort and limiting resources on certain tasks. The concept of Power Aware devices as presented in [12] asserts that the device should be able to choose an appropriate power saving mode by direct user input, based on the user's history, or automatically by sensing the environment.. Consider a situation where a portable multimedia device user wants to watch a video program for the duration of airline flight, but remaining battery power only affords video for half the duration. Under these circumstances users are willing to sacrifice Quality of Service (QoS) in exchange for increasing the time service is available. Power Aware applications provide users the flexibility to exercise this type of trade-off.. Our Power Aware H.264 system provides user selectable degrees of power saving effort in exchange for controlled QoS reduction. Our goal is to reduce the amount of computation required to decode the H.264 stream. We achieve this goal by skipping carefully selected blocks during video stream decoding. Based on the number of skipped blocks, we can predict the resulting speed-up in the decoder and use Dynamic Voltage and Frequency Scaling (DVFS) to reduce power consumption. Our H.264 encoder-decoder system classifies macroblocks in each frame into slice groups using Flexible Macroblock Ordering (FMO) described in the H.264 standard [15] . Our prioritization algorithm determines which blocks in each frame are the most expendable and organizes them into slices accordingly. Slice groups corresponding to different QoS measures are then selectively omitted from the decoding process based on user preference. We compare the effect on QoS and power savings using two types of error concealment. Simple Copy Forward Error Concealment (CF-ERC) provides replacement data from the previous frame with a very inexpensive copy based solely on macroblock location. Motion Vector Error Concealment (MV-ERC) is more computationally expensive, but provides substantially improved QoS.. The experimental results in Section 5 demonstrate that both techniques are capable of enabling significant power savings of up to 53% and 29% compared to the fully decoded video stream. In some cases, particularly using Motion Vector error concealment, the power savings are significant, while degradation to QoS is minimal. Significantly, our encoded stream is also compatible with standard H.264 decoders without support for our slice dropping scheme.. Next we present some relevant background on H.264 and QoS concepts. Previous work will be discussed in Section 2, in Section 3 we introduce the encoder-decoder system, and discuss modifications to the JM version 12.4 reference encoder and decoder [2] . Our experimental setup is explained in Section 4 followed by our results and conclusion. Our H.264 block prioritization scheme successfully enabled significant power savings in concert with DVFM. Our objective QoS measurements indicate acceptable quality performance, but there are several opportunities for improvement. The subjective quality of the decoded videos can be improved through further tuning of the parameters in the encoder to reduce artifacts in the decoded image, particularly focusing on distinguishing foreground objects from background. Tuning a number of other factors may also improve performance. Some examples are reducing the number of slice groups which decreases decoding complexity and bandwidth, considering motion vector data in addition to distortion data when prioritizing macroblocks, using motion vectors less aggressively in the decoder for MV-ERC, considering B frames, and varying the GOP size between I frames. Timing results for the CF-ERC and MV-ERC decoders in 1-slice mode are given in Table 1 with the computed DVFM frequency used for each video on the Glencoe board. The associated power savings for a given video and frequency are listed in Table 2 along with average P frame PSNR. Significant power savings were obtained from the CF-ERC decoder, in some cases without substantial impact on PSNR. The MV-ERC decoder achieves much smaller power savings due to the significant complexity of handling motion vectors during decoding, but it does a much better job of preserving image quality. The two videos with the lowest PSNR values decoded using the CF-ERC decoder see the largest QoS improvement when the MV-ERC decoder is used. An example of QoS performance of both encoders is presented over all slide dropping modes for tempete cif in Figures 2(c) and 2(d). The controlled introduction of distortion into the video can be seen as well as the QoS improvement introduced through MV-ERC.. The power measurements obtained for each video and decoder slice dropping mode are shown for both decoders in Figures 2(a) and 2(b) . The impact of voltage scaling is evident as power drops significantly each time reducing frequency makes a lower VDD available as predicted in Figure 1 . Figure 2(b) illustrates unpredictable performance when using MV-ERC. Performance varies for both CF and MV schemes with variations in the transmitted image. There may be significant variation in MB inter-dependence and motion-vector densities from one scene or even one frame to the next. The MV-ERC scheme is particularly susceptible to these variations due to the expense of decoding with motion estimation. Several publications have focused on the effects of network packet loss on streaming video quality, methods for recovering from packet loss and encoder optimizations designed to improve video streams' robustness against packet loss. In [11] , a priority drop scheme manages prioritized data flow on a network for frame dropping, and dynamically variable coefficient quantization enabling graceful QoS degradation under variable network conditions. Our encoded stream is suited for similar packet prioritization, but without necessary modifications to the video coding standard. Additionally, reducing quantization levels in the decoder does not provide significant computational savings relative to block or frame dropping, and slice dropping provides better resolution version of frame dropping. [6] analyzes the video stream in the compressed domain, pruning the compressed data based on a model which estimates the effect on distortion. This scheme is aimed at mobile devices on a network where each device has limited computational ability considered by the video server which appropriately modifies the compressed data stream. The transcoding scheme focuses on computational constraints while minimizing the introduced distortion, but it relies heavily on frame dropping and does not provide measured distortion injection in contrast to our approach.. Video decoding workload is highly variable. Significant effort has gone toward predicting workload for the purpose of DVFS for power optimization. [14] gives two methods for predicting workload in MPEG streams in order to effectively scale frequency and voltage. [3] describes a method for dynamically choosing IDCT algorithms in order to exchange quality for energy. In [5] three techniques are introduced for taking advantage of multimedia applications tolerant to deadline misses enabling opportunities for DVFS. Here, data points are dropped from the stream exchanging quality for power savings; however, unlike our scheme, the impact of individual data points on QoS is not considered. We generated H.264 video streams for 16 benchmark videos using our modified JM12.4 encoder. These streams were then decoded through the two modified JM12.4 decoders on a Linux server, with an Intel(R) Xeon(TM) CPU running at 2.80GHz with 4GB RAM and on the Intel Glencoe Development Platform running Linux 2.6.9 on the XScale-PXA270 rev 4, with 64MB RAM.. Power measurements were obtained for a subset of the 16 benchmark videos using the PXA270 Vcore voltage touch point on the Glencoe Development Platform with a Keithley 2000 Multimeter sampling at 100Hz with the decoder running each video in each mode. Voltage samples were collected and analyzed in Labview to obtain an average power reading over several iterations of 1024 samples each. These results are presented in the next section.. The Linux port for the Glencoe Development board includes a utility for Dynamic Voltage and Frequency Management (DVFM) [7] . Frequencies are set by giving the utility a clock multiplier, L, and a turbo mode multiplier, 2N. The base clock frequency of 13MHz is multiplied by L · N to obtain the desired frequency [8] .. In order to obtain a piecewise-linear power function in terms of L and 2N, it was necessary to fix the 2N value. We chose a value of 2N = 3 giving the suitable although non-ideal function of power in terms of frequency for system idle seen in Figure 1 . We use frequencies ranging from the default value of 468Mhz to 273MHz indicated in the chart with L values from 24 down to 14. This range of frequencies crosses three available voltage levels as can be seen in the figure. The high step on the left corresponds to VDD = 1.5V , the middle step corresponds to VDD = 1.4V , and the low step on the right corresponds to VDD = 1.3V . The power performance chart for the idle Glencoe board gives an idea of the power savings we should expect at various frequencies after implementing DVFM in the decoder. Reductions in VDD provide significant power savings as expected from the quadratic relationship between power and supply voltage, P = C switching · V 2 · f . Our goal is to characterize the decoders' power performance given H.264 streams generated by the modified encoder. In the first step, we find the relative speedup experienced by the decoder when dropping slices and compare with the speed of the decoder decoding all slices. Relative speedup determines our ability to slow the decoder with frequency scaling in order to reduce power consumption. To collect decoder timing data, a 100 frame modified H.264 video stream was generated for each test video. Decoder frame rate data was then collected over several iterations for each video in each slice dropping mode on the Linux server and the Glencoe board in order to verify the Glencoe's performance.. In our analysis, we take the frame rate the Glencoe decoder achieves for the full six slice video as the nominal frame rate against which improved frame rates for slice dropping modes are compared for frequency scaling purposes. For instance, if the decoder in 1 slice mode decoding akiyo cif finishes 25% earlier than the same video fully decoded, then we can slow the clock by 25% and still decode at the same frame rate. The adjusted frequency is given by f ′ = t ′ · f def ault /t where t ′ is the improved decoding time, and f def ault is the default frequency 468MHz. This value must be adjusted up to the next available frequency in our DVFS scheme. For akiyo cif, the calculated frequency, f ′ = 348.7MHz must be adjusted up to the next available frequency, 351MHz at VDD = 1.4V .

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


Designing and evaluating a workstation in real and virtual environment: toward virtual reality based ergonomic design sessions Abstract This paper adresses the issue of properly designing a digital mock-up (DMU) to be used in an experiment comparing simulated assembly tasks in both real and virtual environments. Motivations and specifications relative to the experiment are reported, and the design process of the DMU is described and illustrated. Recommendations are proposed with a particular focus on specificities relative to the use of a DMU as a support for both manufacturing and virtual reality-3D visualisation and interaction. A subjective evaluation of Real (RE), Virtual (VE), and Virtual with Force Feedback (VEF) environments is provided. Results indicate a real sensory and difficulty gap between RE and VEF, whereas a smaller difference was observed between RE and VE. In further improvements of scale-1 (where the objects in VE have the same size as in the real environment), co-localized simulation using haptic devices are warranted to fill in this gap. Results also highlight the impact of cognition and sensory feedback on user's feeling and presence sensation. Applications of such numerical designs are presented in the last section, especially focusing on collaborative design sessions. Virtual Reality based evaluation of newly designed workstations will be a way in the future to improve design and user learning processes. The use of Virtual Reality (VR) as a support for products [40] or workstations design [8, 14] tends to be generalized in the near future. Indeed, virtual prototyping-the act of evaluating a product by simulating its behavior and its interactions with humans and/or other components-has become increasingly relevant, especially for evaluating assembly tasks. At this point, the use of such tools becomes quite natural to evaluate the functionalities or ergonomic features of workstations [2, 41] since it is more cost-effective and easier to edit a digital mock-up (DMU) than a real mock-up.. In order to evaluate ergonomic features, the user is immersed in a Virtual Environment (VE) mimicking the Real Environment (RE), and reproduces a more or less realistic metaphor of the real task. Motion capture, electromyographic (EMG) electrodes, force sensors, and subjective indicators provide an evaluation of sensory and motor aspects such as muscle fatigue and discomfort [23, 25, 26, 30] . In the near future, one can expect to obtain a VR-based simulator allowing a remote intervention of ergonomists on a DMU and on the worker's gestures to minimize muscle fatigue and avoid potential risks of Work Related Musculoskeletal Disorder (WMSD) appearance.. Since VE do not perfectly mimic reality in terms of visualization, simulation, and interaction, a work task performed in VE differs deeply from a one performed in RE in terms of cognition, sensory feedback, and motor control [34] . Moreover, unfamiliar environments tend to affect the way we perform what we consider as well-known tasks [19] . To reduce the gap between RE and VE it is necessary to prepare the DMU with caution, as it will be used as a VE and manufactured at the same time. On one hand, the DMU has to reach a compromise between performance and fidelity to be used as a VE. On the other hand, it has to ensure functionalities and specificities mandatory to its fabrication.. Within the framework of the VISIONAIR project [16] , the Trans-National Access project VR-GO proposed by the Center for Sensory-Motor Interaction (SMI) in Aalborg (Denmark) took place in the IMMERSIA room, Rennes (France). The goals were to perform manual handling tasks in both RE and VE, using subjective and objective indicators to quantify discrepancies in terms of e.g. discomfort and fatigue experience. The project aimed at answering the following question: How does a VE interfere with motion pattern and muscular activation? Assessing objective and subjective fidelity of simulated assembly tasks in VE with regard to RE is crucial when seeking knowledge on how ergonomics can be evaluated in a virtual framework.. This article presents the design process of a DMU for of simulated assembly tasks and an initial evaluation of the experimental protocol, focusing on the specificities of the numerical pipeline used to design the DMU. A subjective evaluation of fidelity is presented in order to understand the perception of VE and virtual environment with force feedback (VEF) with regard to RE. A first part relative to the virtual prototyping of assembly tasks introduces the main motivations and specifications relative to the current study. Then the motivations and specifications of the current DMU design and the implementation and the realization of the mock-up are presented. A subjective evaluation of fidelity and the associated results are presented and discussed and a final section aims at presenting the applications of such a VR-based simulator, especially for collaborative ergonomics design sessions. Considering these results, VE and RE were closer in terms of subjective fidelity than VEF and RE. This observation is mostly due to the mechanical limitations of the haptic device. The subject had to reposition the handle relatively to the co-localized target in order to obtain complete rotation, necessary to place the fitters in the holes in some cases. In other terms, even if the workstation design was taking into account the work volume of the device, manipulation of pieces remained unnatural as additional gestures were nec-essary to complete the task. It resulted in an increased difficulty, a less natural motion, a reduced accessibility and a longer duration of the task that would affect productivity in the long run. In VE, motion became less natural than in RE. Even if the interaction in VE was closer to the one in RE than in VEF, this result is of importance. Given that subjects were novices in VR (VR experience on a 5-point scale rated from "Novice" to "Expert": 1.7 ± 0.9), it could be due to an unfamiliarity of the subjects with the VE. Modulation of sensory feedback, in line with [35] , induced an alteration of motor control. The interfaces used to interact with the virtual scene, as well as the scene itself, differed from the real situation. It induced that sensory feedback channels (mostly touch and view here) received altered signals that generated changes in the way the interaction was realized. This observation is in line with the fact that since cognition is affected by the environment, motor control is also altered [34] . This is also in accordance with the ACT-R theory [1] , as altered cognition will lead to more effort and more muscle co-contraction to perform a task in an unfamiliar environment, due to an increased mental load and a longer process in the perception-action loop. It has also been noticed in [19] that familiarity of the environment has an impact on performance: the more familiar the environment is, the better is the performance. Unfamiliarity also resulted in a reduced accessibility and an increased difficulty to pass fitters through the holes, whereas no mechanical constraint was active in VE.. The rating of the environment confirms previous remarks about cognition. Even if the environment was visually and physically identical in VE and VEF, subjects perceived the environment as less realistic in VEF than in VE. Moreover the interaction was significantly perceived as less realistic in VEF than in VE. It indicates that despite of the addition of a physical sense to the scene via the force feedback, the mechanical limitations of the haptic device lowered the sensation of presence. Despite of these considerations, environment fidelity was rated at a reasonable level, confirming our design choices.. This evaluation requires further processing, and concerns only a part of the experimental protocol. It is necessary to conduct complete experiments on a larger population size, implying objective measures of discomfort and muscle fatigue, e.g. postural scores, kinematical traces or muscular activity, to highlight the differences between the various environments. Nevertheless, as a first result, it appears clear that the use of a co-localized haptic device asks for further improvements to be totally satisfying. It seems convenient and full of promises to use 6-DoF devices for such applications, and mixing sensor-sharing and sensor-bridging communication [3] could be a solution to bypass the mechanical limitations: one can imagine that translation and rotation in the virtual scene could be scaled differently to maximize the manipulability of the virtual objects while keeping the scale-1 feeling. Moreover, using other feedback channels, e.g. using sound to emulate force feedback, could be a way to enhance the user experience. Paradoxically such a sensor-bridging communication may be more effective in terms of fidelity than trying to directly replicate natural interaction. This is one of the rationales behind sensor-bridging communication, and cognitive infocommunication channels in general. Results of the questionnaire are shown in Table 1 .. Paired Wilcoxon tests raised the following points as significant results:. • the task was more difficult in VEF than in RE and VE;. • under the "time managed" condition, subjects did have enough time to sort and place pieces in RE and VE, whereas they did not in VEF; An initial evaluation of the fidelity of both VE and VEF with regard to RE was performed as a part of a more complete study not published yet. Ten subjects (age 28.1 ± 2.2 years, height 179.9 ± 7.1 cm, weight 72.0 ± 7.2 kg, VR experience on a 5-point scale rated from "Novice" to "Expert" : 1.7 ± 0.9) performed two trials per environment. The complexity was set to "two holes", and both timing regime levels were tested ("as fast as possible", "time managed"). Environments were randomized to prevent task learning effect (balanced design). After each session in an environment, subjects answered a short questionnaire, rating several items. At the end of the experiment, they were invited to rate both VE and VEF in terms of environment fidelity and interaction fidelity. Paired Wilcoxon tests were processed on results to find significant differences between the environments.

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


Classification of respiratory sounds by using an artificial neural network Abstract-In this paper, a classification method for respiratory sounds (RSs) in patients with asthma and in healthy subjects is presented.Wavelet transform is applied to a window containing 256 samples. Elements of the feature vectors are obtained from the wavelet coefficients. The best feature elements are selected by using dynamic programming. Grow and Learn (GAL) neural network is used for the classification.It is observed that RSs of patients (with asthma) and healthy subjects are successfully classified by the GAL network. Sounds heard over the chest wall are useful diagnostic tools for pulmonary diseases. Amongst other diagnostic methods is auscultation an attractive one with its relative simplicity and cheapness. Modern lung sound analysis, which began in the last four decades, is focused on digital sound processing and graphic representation of the signals [1, 2] . Computerized lung sound analysis and diagnosis is the main goal of the researches in this field. Thus, an objective and reliable diagnostic tool for the detection of pulmonary diseases is aimed. In this work, RSs belonging to 10 pathological and 10 healthy subjects are examined.. In order to make a reliable comparison between the results of the investigators, it is important to make clear the measurement equipment [3] . Before recording, an elastic band is wound around the chest wall to hold ES (electronic stethoscope, Cardionics Inc.) tightly on the recording site. The recording site is chosen as lower part of the scapulas at the back. To avoid the friction noise, a very thin, porous, sponge like material is settled between the skin and the ES. The ES has a band-pass filter having a range from 50 Hz to 2000 Hz. The RS obtained by the ES are digitized by a 16-bit sound card of a personal computer at 22050 Hz.

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


Mixture model analysis of DNA microarray images Abstract-In this paper, we propose a new methodology for analysis of microarray images. First, a new gridding algorithm is proposed for determining the individual spots and their borders. Then, a Gaussian mixture model (GMM) approach is presented for the analysis of the individual spot images. The main advantages of the proposed methodology are modeling flexibility and adaptability to the data, which are well-known strengths of GMM. The maximum likelihood and maximum a posteriori approaches are used to estimate the GMM parameters via the expectation maximization algorithm. The proposed approach has the ability to detect and compensate for artifacts that might occur in microarray images. This is accomplished by a model-based criterion that selects the number of the mixture components. We present numerical experiments with artificial and real data where we compare the proposed approach with previous ones and existing software tools for microarray image analysis and demonstrate its advantages.Index Terms-Cross-validated likelihood, DNA microarray image analysis, expectation-maximization algorithm, Gaussian mixture models, Markov random fields, maximum a posteriori, maximum likelihood, microarray gridding. In this paper, we have proposed a new fully automated approach for the analysis of microarray images. First, we describe a new hierarchical gridding procedure based on the vertical and horizontal projections of the color images. This approach is simple and automatic, and provides better results compared with popular existing tools. However, the main novelty of this work is the proposed GMM-based methodology for spot image segmentation. Two methods for estimating the GMM parameters are presented: ML and MAP. Both approaches are based on the EM algorithm. A cross-validated likelihood criterion is also used to select the number of components of the GMM. This provides the capability to detect and correct artifacts in the spot area. As our experiments demonstrated, the proposed methodology produces better and more accurate results in terms of segmentation maps and fluorescence ratios as compared with existing software tools and other clustering methods proposed in previous works.

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


Annihilators of Artinian modules compatible with a Frobenius map In this paper we consider Artinian modules over power series rings endowed with a Frobenius map. We describe a method for finding the set of all prime annihilators of submodules which are preserved by the given Frobenius map and on which the Frobenius map is not nilpotent. This extends the algorithm by Karl Schwede and the first author, which solved this problem for submodules of the injective hull of the residue field.The Matlis dual of this problem asks for the radical annihilators of quotients of free modules by submodules preserved by a given Frobenius near-splitting, and the same method solves this dual problem in the F -finite case. This paper describes an algorithm for finding the annihilators of submodules of Artinian modules which are preserved by a given Frobenius map.. Throughout this paper R will denote a ring of formal power series over a field K of prime characteristic p, m will denote its maximal ideal, and E = E R (R/m) will denote the injective hull of its residue field. The Frobenius map sending r ∈ R to its pth power will be denoted f , and f e will be its eth iteration.. Given any R-module M and e ≥ 0, we may endow M with a new R-module structure given by r · m = r p e m for all r ∈ R and m ∈ M and we denote this new module F e * M . An. Email addresses: M.Katzman@sheffield.ac.uk (Mordechai Katzman), wzhang15@unl.edu (Wenliang Zhang) 1 The first author thankfully acknowledges support from EPSRC grant EP/I031405/1. 2 The second author is supported in part by NSF Grant DMS #1068946.. eth Frobenius map on M is an element of Hom R (M, F e * M ), or, equivalently, an additive map φ : M → M such that φ(rm) = r p e φ(m) for all r ∈ R and m ∈ M . Given such a Frobenius map φ ∈ Hom R (M, F e * M ) we call an R-submodule N ⊆ M φ-compatible if φ(N ) ⊆ F e * N . When discussing the case e = 1, we shall drop the e from the notation above.. The aim of this paper is to find the set of radical annihilators of all φ-compatible submodules of a given Artinian R-module, or, equivalently (cf. Proposition 2.1 below), given a φ ∈ Hom R (E α , F * E α ) for some positive integer α, to find all radical annihilators of Rsubmodules N ⊆ E α which satisfy φ(N ) ⊆ F * N . We shall accomplish this under the assumption that this φ restricts to a non-zero map on N : in this case the set of radical annihilators is shown to be finite and given by the intersection of all prime ideals in it (cf. [S, Corollary 3.11] and [EH, Section 3] .) This extends the results in [KS] which describes an algorithm for producing such sets of annihilators when α = 1. We shall first describe this algorithm from a more algebraic point of view than in [KS] and comment on why it cannot be directly extended for α > 1. We shall then give a description of Frobenius maps on E α in terms of certain matrices and finally we will produce an algorithm which works recursively on α, in which the case α = 1 treated in [KS] provides the foundation. This paper is organized as follows. Section 2 introduces the notion of Frobenius maps and studies Frobenius maps of Artinian modules using the properties of a version of Matlis duality which keeps track of the Frobenius maps: these are the functors ∆ e and Ψ e described there.. In section 3 we generalize two operations which were originally introduced in the context of Frobenius splittings and Frobenius maps in the injective hulls of residue fields, namely, the I e (−) operation (denoted [1/p e ] by some authors) and the ⋆-closure. These are extended from operations on ideals to operations on submodules of free modules, and some of their properties are studied here, e.g., their behaviour under localization.. Section 4 reviews the algorithm in [KS] for finding prime annihilators of submodules of the injective hull of the residue field stable under a given Frobenius map, and presents a proof for its main ingredient in algebraic language.. The main section of this paper, section 4 generalizes the Katzman-Schwede algorithm to deal with prime annihilators of general Artinian modules endowed with a Frobenius map.. The main result, Theorem 5.5, yields an algorithm which is described in detail in section 6. We also carry out two calculations following the algorithm to illustrate its use.. Finally, section 7 translates the previous results into the language of Frobenius nearsplittings of free modules in the case where we work over an F -finite ring: in this setup Frobenius maps and near-splittings are dual notions.

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


Terminating Calculi for Propositional Dummett Logic with Subformula Property Abstract In this paper we present two terminating tableau calculi for propositional Dummett logic obeying the subformula property. The ideas of our calculi rely on the linearly ordered Kripke semantics of Dummett logic. The first calculus works on two semantical levels: the present and the next possible world. The second calculus employs the semantical levels of known or not known at the present state of knowledge, that are usual in tableau systems, and exploits a property of the construction of the completeness theorem to introduce a check which is an alternative to loop check mechanisms. In this paper we present two terminating tableau calculi for propositional Dummett logic obeying the subformula property. The depth of the deductions of the first calculus Q is quadratic and allow to extract a counter model whose depth is n + 1 at most, with n the number of propositional variables in the formula to be decided. The depth of the deductions of the second calculus L is linear w.r.t the formula to be proved. To avoid the introduction of loop check mechanisms, our calculi exploit the linearly ordered Kripke semantics of Dummett logic. Calculus Q uses the ideas presented in paper [13] , and works on two states of knowledge: the present and the next possible world. Calculus L uses the semantical levels known and unknown at subformula of the conclusion. Moreover, the nodes of a proof with such a system are more cumbersome than the nodes of a tableau proof, because every node of the deduction expresses the relation order between the subformulas of the formula to be proved. Thus every node has a quadratic number of formula occurrences. In practice this is an hypersequent system that codify the whole model by means of disequalities between the subformulas of the formula to be proved. The system is also multiple premise, in the sense that an axiom is a chain of disequalities whose length is not fixed in advance, but depends on the formula to be proved. We also notice that the systems works by mixing up logical connectives and disequalities.. Paper [18] provides two goal-oriented calculi, one based on hypersequents and one on labelled sequents. We emphasize that the systems are restricted to the implicative fragment, whereas our results are given for the full language. Although a translation from the full language to the implicative fragment is possible, in the case of disjunction the cost is an exponential blow-up in the size of the formula. This implies that the depth of the deductions is exponential in the size of the formula to be proved, whereas the depth of every possible deduction obtained with Q and L is respectively quadratic and linear. There is also a significative difference in the proof systems: we achieve our results without using the more expressive power of hypersequents and labelled systems. In practice, hypersequents and labelled systems are two different ways to codify in the syntax the structure of a Kripke model: the former by using multiple components in every node of the proof, the latter by using an object language whose size is not fixed in advance but depends on the input. We again recall that the object language of the systems we provide is fixed, independent of the input and we use tableaux, thus the nodes of the proofs do not represent the snapshot of a whole counter model. In particular, calculus L is a tableau calculus only employing the usual semantics of known and unknown at the present state of knowledge.. As regards the techniques used in the paper, we have deliberately chosen to employ tableaux as proof-systems. Our choice is justified by the fact that the rules of our calculi can be clearly explained by semantical considerations based on Kripke models. For this reason we do not use the sequent systems, whose behaviour is upside-down with respect to a semantical characterization. However, since tableau and sequent calculi are related, it is an easy exercise to translate our calculi into sequents.. Kripke models for propositional Dummett logic are the semantical reference to prove the theorems of correctness and completeness. In particular, completeness is proved giving Henkin-style proofs. This technique is the key point to understand that the formulas contained in a single node of a tableau have enough information allowing us to devise a strategy to handle formulas of the kind T( A → B) by means of the usual rule concluding the sets of formulas {TB} and {F A, T( A → B)} without falling in an infinite loop. Since the required information is all contained in a single node of a tableau, there is no need to look backward as loop-checking mechanisms do. We consider this feature interesting also because it opens the possibility to get a similar result (with the appropriate modifications described in the conclusions) for propositional intuitionistic logic. To better explain these ideas we have organized the paper first giving Q, then the intermediate calculus I, exploiting some properties of the construction of the completeness theorem of Q, and finally L, the tableau calculus obtained by a deeper analysis of the construction of the completeness theorem of Q. In this paper we have presented the tableau calculi Q and L for propositional Dummett logic obeying the subformula property and whose deductions have respectively quadratic and linear depth in the size of the formula to be decided. In the introduction we have argumented that the known calculi fail to meet all these features. Calculi presented in [1, 3, [10] [11] [12] [13] 17] fail to fulfill the subformula property, which is one of the properties characterizing our calculi; calculi provided in [4, 18] are based on hypersequents or labelled sequents (systems that are more expressive and cumbersome of tableau/sequents) whose deductions on the full language have exponential depth. As regards calculus Q, its object language contains signs to characterize the semantical status of "forced/non-forced in the next possible world" or "this is last possible world where the formula is not known", which are also employed in [13] . The depth of every deduction is bounded by the square of the size of the formula to be decided.. The semantics of the formulas handled by calculus L is restricted to the cases of forcing or non-forcing. To present L as a calculus whose deductions are always linearly bounded w.r.t. the size of the formula to be decided, the sign T is used together the usual signs T and F. Sign T explicitly brings into the logical apparatus the strategy to appropriately handle formulas of the kind T( A → B) to avoid infinite tableaux. A decision procedure can implement the strategy to a proof based on T and F. We have remarked that two different presentations of L based on T and F are possible. Both of them give rise to calculi having infinite tableaux and explicit nondeterminism related to the choice of the rule to handle T →-formulas. A decision procedure can use one of these presentations as it would use L and provide proofs of linear depth based on formulas signed with T and F.. Finally, calculi Q, L and its variants do not require backtracking and are based on a multiple premise rule.. Our completeness theorems prove that calculi Q and L provide a procedure returning a counter model or a proof. In particular, a feature of Q is that from a failed proof of a formula A it is possible to extract a counter model for A whose depth is n + 1 at most, with n the number of propositional variables occurring in A. From a remark on the completeness of Q we get calculus L. Calculus L shows that the semantics of Dummett logic implies that deduction conveys syntactical information about implicative formulas that can be used to drive the deduction by means of a fast computational check on some formulas which will not be used as premise main formula.. The multiple premise rules such as F n T and F →, which are analogous to the multiple premise rule used in [1, 7] , have been criticized because they have an arbitrary number of premises and thus they are supposed not to be suitable for automated deduction. In papers [12, 13] we showed that implementations of systems equipped with a rule analogous to F n T and F → are far better than the implementation based on decomposition systems of [3, 17] , which reduce the formulas to implicative atomic formulas and then applies transitivity rules or procedures based on graph reachability.. We note that it is possible to add some rules to optimize the proof search. As an example, by refining the completeness theorem for L, it follows that given T( A → B), if A does not contain implications, then we can turn T( A → B) into T( A → B), thus saving an application of T → still preserving the completeness. We believe that there are more general cases on the syntax on A that allow to avoid an useless application of rule T →. Moreover, since the sign of the occurrence of A in T( A → B) is F, it could be possible to apply our check to F-formulas in order to avoid also useless applications of F-rules.. Propositional Dummett logic can be decided by a nondeterministic Turing machine working in polynomial time w.r.t. the formula to be decided by an easy guessand-check procedure: guess the forcing on a Kripke model K with n + 1 worlds of the n variables of the formula A to be decided and check if the root of K forces A. Thus the problem of deciding if a formula belongs to propositional Dummett logic is in co-NP. From the computational analysis performed in Sections 3.3 and 4.3 it follows that also functions D and G can be implemented on a nondeterministic Turing machine working in polynomial time w.r.t. the formula to be proved.. As a future work, the first question is to study if it is possible to apply the same technique to the first-order case of Dummett logic. Currently we are investigating how to adapt the techniques employed for L to propositional intuitionistic logic, whose Kripke semantics is more complicated than Dummett logic. Our preliminary results show that, because the Kripke semantics of propositional intuitionistic logic is based on trees, to get the correctness, the relation |= is too strong. Moreover, such a new relation has to be used to drive the application of the non-invertible rules for formulas of the kind T ( A → B) and F( A → B) . The strategy that we get is more involved than that given for L because we have to handle the noninvertible rules for T → and F∨ formulas and, differently from Dummett logic, in intuitionistic propositional logic non-determinism in the application of the rules is (provided PSPACE =NP) unavoidable.

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


Identification and reconstruction of bullets from multiple X-rays We present a framework for the rapid detection and 3D localisation of bullets (or other compact shapes) from a sparse set of cross-sectional patient x-rays. The intention of this work is to assess a software architecture for an application specic alternative to conventional CT which can be leveraged in poor communities using less expensive technology. Of necessity such a system will not provide the diagnostic sophistication of full CT, but in many cases this added complexity may not be required. While a pair of x-rays can provide some 3D positional information to a clinician, such an assessment is qualitative and occluding tissue/bone may lead to an incorrect assessment of the internal location of the bullet.Our system uses a combination of model-based segmentation and CT-like back-projection to arrive at an approximate volume representation of the embedded shape, based on a sequence of x-rays which encompasses the aected area. Depending on the nature of the injury, such a 3D shape approximation may provide sucient information for surgical intervention.The results of our proof-of-concept study show that, algorithmically, such system is indeed realisable: a 3D reconstruction is possible from a small set of x-rays, with only a small computational load. A combination of real x-rays and simulated 3D data are used to evaluate the technique. Modern radiology uses a wide range of diagnostic tools. The x-ray forms the basis for many of these investigations, despite the risks posed by exposure to ionizing radiation. Xrays are easy to produce and have a multitude of diagnostic applications.. The pinnacle of x-ray diagnostic technology is Computed Tomography (CT). CT is a 3D imaging technology based on £ e-mail:sperkins@cs.uct.ac.za y e-mail:patrick@cs.uct.ac.za multiple x-ray projections of an object. The resulting volumetric image reveals detailed anatomical structure and provides accurate localisation of objects in 3D. Unfortunately, this information comes at the cost of high x-ray exposure. While a small set of 2D x-rays may be sucient to diagnose trauma, they may not be adequate to plan a surgical intervention, since the 3D information has been lost. Ideally, then, one would want to retain the benets of a 3D diagnostic view, without unduly exposing patients to a high x-ray dose.. The need for accurate 3D localisation is particularly true in the trauma environment, where complex internal injuries are common. In many cases these injuries are caused by foreign metallic objects, such as shrapnel, which have lodged within the patient. A CT scan would be ideal in terms of both visualizing the injury site and helping to formulate a precise surgical intervention. Unfortunately the CT imaging process is generally slow and often necessitates moving a critically injured patient out of the trauma unit. Furthermore, CT equipment is prohibitively expensive and may not be available in poorer countries or rural areas.. We present a model-based segmentation scheme to identify compact metallic objects, coupled with a simple reconstruction scheme to obtain a 3D reconstruction of these objects. This provides a compromise between the high-cost but accurate 3D localisation of CT, and the cheap and fast, but less accurate localisation, of a pair of x-ray images. Our system focuses on the detection and localisation of bullets since this a major source of internal trauma in poorer areas where CT is usually unavailable. However, it can be applied to detect any compact metallic object. Our primary goal is to produce a system which is cheap and fast and provides sucient diagnostic detail to aid in both visualisation and treatment planning. This is accomplished by taking a small number of x-rays through the region of interest and using these to rapidly reconstruct an approximation to the embedded object. This diers from a CT both in the sense that the x-ray projections are arbitrary, and that we are segmenting the object of interest as part of the imaging process. Reducing the number of X-ray projections compared to CT also reduces the raditation dose administered to the patient. Ultimately our system aims to assist the radiographer in diagnosing trauma situations on digital X-ray systems such as the LODOX system [Lod 2005] and the Siemens AXIOM Aristos series [Sie 2005] .. The segmentation and reconstruction techniques that we present were selected in order to prototype and support this investigation into providing a cheap alternative to CT. Improvements can be made for a more complete system. The paper is presented as follows. Section 1 introduced related work and provides additional background. We present our segmentation in section 2 and our reconstruction algorithm in section 3, before moving on to discuss Results and Evaluation in Section 4. Finally we conclude the paper, Section 5, and discuss ways in which the system could be improved and implemented in a trauma environment. Many developing countries are unable to aord costly 3D diagnostic technology such as CT. While a clinician can use a pair of x-rays to infer basic 3D structure, such estimates are error prone and dicult to make. We have presented a software system which adopts a compromise between these two extremes. Our particular application is the accurate 3D localisation of bullets within a patient -an all too common requirement in societies beset by violence. We use a modelbased approach to segment compact metallic objects from a series of cross-sectional x-rays of the traumatised area. Unlike conventional CT, in which a large number of projections are required to recover a full 3D description of the imaged volume, we seek only to reconstruct the object(s) of interest in the imaged volume. A number of calibrated x-rays are taken from dierent directions through the area of interest, and back-projected to recover an approximation (the visual hull) of the underlying object of interest (a bullet in this particular application).. The principle advantages of this approach are:. only a set of conventional calibrated x-rays are required, thus providing a good trade-o between diagnostic utility and x-ray exposure;. the algorithms are fast and can be implemented on a commodity PC.. Since our intention was to evaluate the underlying algorithms necessary for our application, we did not build any hardware. However, any congurable x-ray system that allows a xed x-ray source and detector to be positioned about a patient (such as LODOX [Lod 2005] ) could benet from this approach. All that is required is a calibration phase which places the x-ray source and detector in space, or active 3D trackers which can be attached to the assembly and report the relevant positions when an x-ray is acquired.. Our assessment of the software system was based on real patient x-rays and synthesized 3D data. The experiments showed that the segmentation algorithm is able to recover the objects of interest in a short amount of time.. Future Work: A nal system would require a component that visualises the position of the bullet within the body. The visualization of volumetric medical images is a well studied problem. An obvious candidate technique would be volume rendering.. Improper segmentations could result in gaps in the segmented object, which would propagate as gaps in the reconstructed object. Localisation of the object should still be possible, as well as retrieval of the general shape. Improvements on the segmentation algorithm can be achieved. See [Perkins and Marais 2004] for criticisms and suggested improvements.. The current back-projection implementation is subject to rounding errors, which may lead to an underestimation for the reconstructed volume. This deciency will be addressed in future work. We have implemented a bullet segmentation algorithm and a simple 3D reconstruction algorithm for use in conjunction with the segmentation output. It should be noted that this system was developed as a proof-of-concept. It was not possible to obtain a set of digital X-rays of a gunshot wound taken at multiple angles. Due to this, it was necessary to test the segmentation and reconstruction sections of our algorithm separately. Our testing of the segmentation and reconstruction is described, as well as the input data used in testing. A large amount of research has been directed towards segmenting various structures in X-ray images. Many approaches are used, depending on the structure that is being segmented.. Simple image processing techniques such as thresholding [Sonka et al. 1999] generally have diculty segmenting arbitrarily placed and shaped structures. Thresholding can result in very noisy images and poor segmentations if the boundary is not well-dened. Model-based techniques are generally more robust.. Active Contour Model (ACM) [Kass et al. 1987; Cootes and Taylor 1992; Cohen and Cohen 1993] algorithms improve upon basic edge-detection algorithms by starting with a contour which is iteratively moved based on external and internal constraints. Shimizu et. al [Shimizu et al. 1997 ] use ACM's to segment a subject's lungs out of an X-Ray. Nopola et al. [Nopola et al. 2000] use Active Shape Models (ASM) [Ivins and Porrill 1994] to segment the nger bones and ACMs to segment the wrist bones in an X-ray. Lotjonen et al. [Lotjonen et al. 1999 ] also use ASMs to segment out the skeletal structure of a subject. ACM's also typically require a priori information on the region that is being segmented since they need to placed near the region that is to be segmented, implying human intervention. Additionally, the internal stiness and tension constraints need to be customised based on the region that is being segmented. ASM do not require prior locational knowledge, but the shape of the object must be known. ACMs also need to iterate towards a solution and it is dicult to estimate the number of iterations required. Depending on the complexity of the constraints, the processing requirements of a set of iterations may also be expensive. The Seeded Region Growing Algorithm [Adams and Bischof 1994] segments an image from a number of starting seeds. The quality of this type of segmentation usually depends on good selection of the initial seeds which typically need to be placed by humans. Dynamic Region Growing [Siebert 1997 ] expands on the basic Seeded Region Growing by constantly evaluating the contour strength of the regions that are grown from initial seeds until no more pixels can be added or overspill occurs. Dynamic Region Growing is computationally intensive since each region needs to be evaluated after each iteration of the algorithm. It also requires a good selection of initial seeds for a superior segmentation. Texture Analysis [Paragios and Deriche 1998 ] is used to identify homogenous regions containing the same texture. Gupta et.al [Gupta and Undrill 1995] use this approach to identify lesions in breast tissue. However, the texture of the image region dening a bullet tends to be very uniform, rendering the use of texture analysis algorithm excessive for segmentation purposes. Computed Tomography [Kak and Slaney 1988] is one of the most widely used techniques for 3D reconstruction, providing detailed 3D data describing the density of the scanned object. However, CT is an expensive technology and only available to major hospitals in poorer regions. It is not easily portable, subjects patients to high radiation doses and 3D reconstruction times are signicant. CT congurations typically perform an 180 scan of a section of the patient to eect a reconstruction. Limited Angle Computed Tomography (LACT) [de Villiers 2005] attempts tomographic reconstruction from projections acquired over more a limited angular range. Since projection data is missing, distortion artefacts are introduced into the reconstruction. Techniques such as interpolation must be used to predict the missing data.. In the Computer Graphics eld, 3D reconstructions from 2D projections are based on the concept of Inferred Visual Hulls, also known as Volume Carving. Due to the way the reconstructed object is \carved" from its 2D projections, it is not possible to reconstruct concavities. Both voxel-based and geometry-based techniques have been applied to Volume Carving. Voxel-based techniques are storage intensive and suer from resolution problems, but provide faster reconstruction than geometry-based techniques. Geometry-based techniques do not suer from resolution problems, but are complex to implement and dicult to implement robustly [Buehler et al. 1999] .

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


Enumeration and Decidable Properties of Automatic Sequences We show that various aspects of k-automatic sequences -such as having an unbordered factor of length n -are both decidable and effectively enumerable. As a consequence it follows that many related sequences are either k-automatic or k-regular. These include many sequences previously studied in the literature, such as the recurrence function, the appearance function, and the repetitivity index. We also give some new characterizations of the class of k-regular sequences. Many results extend to other sequences defined in terms of Pisot numeration systems. Let x = (a(n)) n≥0 be an infinite sequence over a finite alphabet ∆. We write x[i] = a(i), and we let x[i..i + n − 1] denote the factor of length n beginning at position i.. An infinite sequence x is said to be k-automatic if it is computable by a finite automaton taking as input the base-k representation of n, and having a(n) as the output associated with the last state encountered [5] .. For example, in Figure 1 , we see an automaton generating the Thue-Morse sequence t = t 0 t 1 t 2 · · · = 011010011001 · · · . The input is n, expressed in base 2, and the output is the number contained in the state last reached. Honkala [23] showed that, given an automaton, it is decidable if the sequence it generates is ultimately periodic. Later, Leroux [26] gave a polynomial-time algorithm for the problem.. Recently, Allouche, Rampersad, and Shallit [2] found a different proof of Honkala's result using a more general technique. They showed that their technique suffices to show that the following properties (and many more) are decidable for k-automatic sequences x:. (a) Given a rational number r > 1, whether x is r-power-free; (b) Given a rational number r > 1, whether x contains infinitely many occurrences of r-powers; (c) Given a rational number r > 1, whether x contains infinitely many distinct r-powers; (d) Given a length l, whether x avoids palindromes of length ≥ l.. Related results have recently been given by Halava, Harju, Kärki, and Rigo [22] . In this paper we show that many additional properties of automatic sequences are decidable using the same general technique. More significantly, we also show that related enumeration questions on automatic sequences (such as counting the number of distinct factors of length n) can be solved using a similar technique, in an entirely effective manner. As a consequence, we recover or improve results due to Mossé [27] ; Allouche, Baake, Cassaigne, and Damanik [1] ; Currie and Saari [16] ; Garel [21] ; Fagnot [17] ; and Brown, Rampersad, Shallit, and Vasiga [8] .. Our main results about decidability are given in Section 2, and our main results about enumeration are given in Section 9.. Throughout this paper, k denotes a fixed integer ≥ 2, the symbol N denotes the non-negative integers {0, 1, 2, . . .}, and the symbol N ∞ denotes the "extended" non-negative integers N ∪ {∞}.

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


Towards unbiased end-to-end network diagnosis Internet fault diagnosis is extremely important for end users, overlay network service providers (like Akamai [1] ) and even Internet service providers (ISPs). However, because link-level properties cannot be uniquely determined from end-to-end measurements, the accuracy of existing statistical diagnosis approaches is subject to uncertainty from statistical assumptions about the network. In this paper, we propose a novel Least-biased End-to-end Network Diagnosis (in short, LEND) system for inferring link-level properties like loss rate. We define a minimal identifiable link sequence (MILS) as a link sequence of minimal length whose properties can be uniquely identified from end-to-end measurements. We also design efficient algorithms to find all the MILSes and infer their loss rates for diagnosis. Our LEND system works for any network topology and for both directed and undirected properties, and incrementally adapts to network topology and property changes. It gives highly accurate estimates of the loss rates of MILSes, as indicated by both extensive simulations and Internet experiments. Furthermore, we demonstrate that such diagnosis can be achieved with fine granularity and in near real-time even for reasonably large overlay networks. Finally, LEND can supplement existing statistical inference approaches and provide smooth tradeoff between diagnosis accuracy and granularity. "When something breaks in the Internet, the Internet's very decentralized structure makes it hard to figure out what went wrong and even harder to assign responsibility.". Internet fault diagnosis is important to end users, overlay network service providers (like Akamai [1] ), and Internet service providers (ISPs). For example, with Internet fault diagnosis tools, users can choose more reliable ISPs. Overlay service providers can use such tools to locate faults in order to fix them or bypass them; information about faults can also guide decisions about service provisioning, deployment, and redirection. For ISPs, diagnosis tools can be used to verify services from provider/peering ISPs, and to troubleshoot problems with the physical network.. The modern Internet is heterogeneous and largely unregulated, which renders Internet fault diagnosis an increasingly challenging problem. The servers and routers in the network core are usually operated by businesses, and those businesses may be unwilling or unable to cooperate in collecting the network traffic measurements vital for Internet fault diagnosis.. Though several router-based Internet diagnosis tools have been proposed [2, 3] , these tools generally need special support from routers. For example, Tulip [2] requires the routers to support continuous IP-ID for generated ICMP packets. Also these ICMP-based tools are subject to ICMP rate limiting, are sensitive to cross-traffic, and are un-scalable (see Section 2) .. In contrast, many recently-developed tools for Internet Tomography use signal processing and statistical approaches to infer link level properties [4] [5] [6] [7] or shared congestion [8] based on end-to-end measurements of IP routing paths. Here we define that the paths are composed of links, which are IP connections between routers. The relation between path and link properties can be written as a large linear system; however, as we observed in [9, 10] , the linear system is fundamentally underconstrained : there exist unidentifiable links with properties that cannot be uniquely determined from path measurements.. To overcome this challenge to infer the property of each physical link or virtual link (a consecutive subpath of an IP path with no branches [7] ), existing tomography approach have to make ceratin assumptions. These assumptions may not always hold in the Internet, which will cause systematic inference errors with non-zero expected value. In other words, such errors cannot converge to zero even with infinite amount of measurements. We call such error bias and those statistical assumptions biased assumptions.. In this paper, we advocate a different paradigm for network diagnosis: unbiased diagnosis (i.e., with zero bias). Note that there are two fundamental statistical assumptions for any endto-end network diagnosis approaches as follows.. • End-to-end measurement can infer the end-to-end properties accurately. In this paper, we advocate the non-biased end-to-end network diagnosis paradigm which gives smooth tradeoff between accuracy and diagnosis granularity when combined with various statistical assumptions. We introduce the concept of minimal identifiable link sequence and propose the good path algorithms to leverage measurement snapshots to effectively diagnose for directed graphs. Both simulation and PlanetLab experiments show that we can achieve fine level diagnosis with high accuracy in near real time. We further design a novel IP spoofing based scheme to validate Internet experiments. The algebraic approach was also used recently for scalable overlay network monitoring to infer the end-to-end path properties [10] . By computing the loss rates of some "virtual links" from a subset of the O(n 2 ) paths, the loss rates of the remaining paths can be inferred. However, a "virtual link" defined in [10] is not a physical link or a subpath (different definition to this paper and other tomography papers). It is much more challenging to infer the properties on the link level, as we show in this paper. Nevertheless, for overlay diagnosis, we naturally inherit the scalability and load balancing from [10] . That is, to diagnose an overlay network of n nodes, we only need to measure O(n log n) paths instead of all the O(n 2 ) paths. This load is evenly distributed across the end hosts.. Ping and traceroute are the earliest Internet diagnosis tools, and they are still widely used. However, the asymmetry of Internet routing and of link properties makes it difficult to use these tools to infer properties of individual links. The latest work on network diagnosis can be put into two categories: pure end-to-end approaches [4-7, 9, 12, 13] and router response based approaches [2, 3] . We deployed our monitoring system on 135 PlanetLab hosts over the world (See Table 4 ). Each host is from a different institute. About 60% of hosts are in US and others are distributed mostly in Europe and Asia. There are altogether 135 × 134 = 18, 090 end-to-end paths among these end hosts. In our experiments, we measured all the paths for validation. But in practice, we only need to measure the basis set of on average 5,706 end-to-end paths. The measurement load can be evenly distributed among the paths with the technique in [10] so that each host only needs to measure about 42 paths.. First, we measured the topology among these sites by simultaneously running "traceroute" to find the paths from each host to all others. Each host saves its destination IP addresses for sending measurement packets later. Then we measured the loss rates between each pair of hosts. Our measurement consists of 300 trials, each of which lasts 300 msec. During a trial, each host sends a 40-byte UDP packet to every other host. The packet consists of 20-byte IP header, 8-byte UDP header, and 12-byte data on sequence number and sending time. For each path, the receiver counts the number of packets received out of 300 to calculate the overall loss rate. We used the sensitivity test similar to that of [10] to choose these parameters so that measurement packets will not cause additional congestion.. To prevent any host from receiving too many packets simultaneously, each host sends packets to other hosts in a different random order. Furthermore, any single host uses a different permutation in each trial so that each destination has equal opportunity to be sent later in each trial. This is because when sending packets in a batch, the packets sent later are more likely to be dropped than received. Such random permutations are pre-generated by each host. To ensure that all hosts in the network take measurements at the same time, we set up sender and receiver daemons, then use a well-connected server to broadcast a "START" command.

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