Experimenting with electromagnetism using augmented reality: Impact on flow student experience and educational effectiveness Abstract: Educational researchers have recognized Augmented Reality (AR) as a technology with great potential to impact affective and cognitive learning outcomes. However, very little work has been carried out to substantiate these claims. The purpose of this study was to assess to which extent an AR learning application affects learners' level of enjoyment and learning effectiveness. The study followed an experimental/control group design using the type of the application (AR-based, web-based) as inde-pendent variable. 64 high school students were randomly assigned to the experimental or control group to learn the basic principles of electromagnetism. The participants' knowledge acquisition was evaluated by comparing pre-and post-tests. The participants' level overall-state perception on flow was measured with the Flow State Scale and their flow states were monitored throughout the learning activity. Finally, participants' perceptions of benefits and difficulties of using the augmented reality application in this study were qualitatively identified. The results showed that the augmented reality approach was more effective in promoting students' knowledge of electromagnetic concepts and phenomena. The analysis also indicated that the augmented reality application led participants to reach higher flow experience levels than those achieved by users of the web-based application. However, not all the factors seem to have influence on learners' flow state, this study found that they were limited to: concentration, dis-torted sense of time, sense of control, clearer direct feedback, and autotelic experience. A deeper analysis of the flow process showed that neither of the groups reported being in flow in those tasks that were very easy or too difficult. However, for those tasks that were not perceived as difficult and included visualization clues, the experimental group showed higher levels of flow that the control group. The study suggests that augmented reality can be exploited as an effective learning environment for learning the basic principles of electromagnetism at high school provided that learning designers strike a careful balance between AR support and task difficulty. Interactive technologies such as 3D virtual worlds (3DVWs) and augmented reality (AR) are potentially effective in promoting learning benefits (Conole & Dyke, 2004) ; they act through the mediation of usability and psychological states on learning outcomes (Choi & Baek, 2011; Dalgarno & Lee, 2010; Dickey, 2005; Dunleavy, Dede, & Mitchell, 2009; Kye & Kim, 2008; Lee, Wong, & Fung, 2010; Wu, Lee, Chang, & Liang, 2013) . Therefore, an active area of research is the exploration of learning affordances offered by these emerging technol-ogies in different knowledge areas (Dalgarno & Lee, 2010; Mikropoulos & Natsis, 2011) .. Augmented reality refers to technologies that enhance the sense of reality allowing the coexistence of digital information and real environments (Azuma, 1997) . These technologies enable learners to interact with real objects in ways still to be discovered (Bujak et al., 2013; Cuendet, Bonnard, Do-Lenh, & Dillenbourg, 2013) . However, high-quality user experiences are difficult to achieve and interaction with the learning environment should help, not hinder the teaching-learning process (Dunleavy et al., 2009; Zaharias, 2003) . Many studies A full history of emotional states that emerging technologies might foster on learning activities is beyond the scope of this work. We concentrate our efforts on the observation the "optimal experience" or "flow" (Csikszentmihalyi, 1990) . Flow describes a state of complete absorption or engagement in an activity that acts as a motivating factor in daily activities such as work, sport, and education (Chan & Ahern, 1999; Choi & Baek, 2011; Kye & Kim, 2008; Pearce, Ainley, & Howard, 2005) . The motivation promoted by the flow state enables learners to engage in activities without receiving any apparent reinforcement (Davis, Bagozzi, & Warshaw, 1992) . As this self-motivated learning is considered the best way to learn (Ghani & Deshpande, 1994) , a main challenge in education is to foster learners' flow state. In this regard, research in web-based learning environments has shown that there is a positive correlation between the flow state that students might reach when using these environments and their learning outcomes (Liao, 2006; Shin, 2006; Webster, Trevino, & Ryan, 1993) . Positive results have also been highlighted by studies that analyzed the performance of students within multi-user virtual environments and gamebased learning environments (Faiola, Newlon, Pfaff, & Smyslova, 2013; Papastergiou, 2009) . Therefore, it is reasonable to expect that an emergent technology such as AR may also promote learners' flow state and consequently help them to achieve better learning outcomes. Based on these concerns, this study aimed to research on the impact of AR on learners' flow state in the context of electromagnetism, a domain area that underpins the operation of much of today's technologies.. Electromagnetism is abstract and cognitively demanding, thus it is one of the most difficult subjects for students to master (Dori & Belcher, 2005) . To understand abstract scientific concepts, students are required to build mental models where they internalize and organize knowledge structures (Dede, Salzman, Loftin, & Sprague, 1999) . Unlike what happens in other Physics' conceptual areas, when dealing with electromagnetism, students' mental models should include abstractions and invisible factors for which students have no reallife references (Maloney, O'Kuma, Hieggelke, & Van Heuvelen, 2001 ). The relevance of presenting learning materials not only through words but also through visual assets to fully understand the nature of scientific phenomena and processes was reported by Dori, Hult, Breslow, and Belcher (2007) . Indeed, these concerns were already addressed in the MIT Technology Enabled Active Learning (TEAL)/Studio Project where students developed much better intuition about, and conceptual models of, physical phenomena through the use of visualization in an electricity and magnetism course using web-based technologies (Belcher & Bessette, 2001; Dori et al., 2007) . Consequently, developing effective pedagogical strategies and using emergent technologies for helping students in this endeavor will be a step ahead to validate TEAL Project findings when using AR technology. In this regard, augmented reality has been recognized as a technology with great potential for science learning (Bujak et al., 2013; Cheng & Tsai, 2012; Wu et al., 2013) as it provides new ways of tactile and visual interactions which could be useful to improve learning outcomes (Cheng & Tsai, 2012; Gilbert, 2005; Rapp, 2005) . Visualization features of AR have been successfully used to improve spatial abilities in science and engineering (Dünser, Steinbügl, Kaufmann, & Glück, 2006; Martín-Gutiérrez et al., 2010) . However, few studies have explored the visualization benefits of AR in science in general and physics in particular (Cuendet et al., 2013; Wu et al., 2013) .. In response to the aforementioned issues, the aim of this study was to assess the learning effectiveness of an augmented reality experimental lesson for learning the basic principles of electromagnetism and the level of enjoyment of high school students. The lesson was designed according to the curricular objectives and subject matter of the Spanish high school Physics curriculum, and compared to a similar web-based lesson which encompasses identical learning objectives and content. Both AR and web based lessons guided the students through the building of an electromagnetic circuit representing a problem to solve which involved basic principles of electromagnetism. Each building stage offered students the possibility to review (or learn) concepts related to the proposed learning task. The AR-based lesson guided the learning workflow by leading students to build a circuit while allowing them the visualization of the forces involved and the exploration of their circuit behavior. The following research questions shaped this study:. 1. Do students who use an augmented reality based lesson develop deeper understanding of the embedded basic principles of electromagnetism compared to peers who use a similar web-based lesson? 2. Do students who use an augmented reality based lesson experiment reach a flow experience higher than the one achieved by peers using a similar web-based lesson?. The study is unique in that it investigates the use of AR technology within real school settings for teaching electromagnetism at high school level, while also comparing an AR-based application with a web-based application. The study can help us to learn whether AR technology can be effective in promoting student flow, and to gain understanding on which activities maintain students' engagement in ARbased learning environments. Furthermore, this empirical research might contribute to a better understanding of the impact of AR on learning outcomes, mainly those requiring the understanding of electromagnetic invisible forces. In addition, it can provide insight into what benefits and difficulties students found when interacting with an AR-based learning environment. This study presented and evaluated an augmented reality learning application to learn the basic concepts of electromagnetism. The study compared the AR-based application with its equivalent web-based application in order to study its learning effectiveness and students' level of enjoyment. Both applications were designed to provide the same information and workflow capabilities. The main findings and their implications are discussed below.. With respect to the overall flow state achieved by both groups of learners, the statistical results of this study indicate that participants who used the AR-based application were more likely to experience positive moods following the learning activity than those using the web-based application. From the analysis of the nine factors underlying users' flow experiences, the experimental group showed higher levels of concentration on the task (CT) and distorted sense of time (DT) than the control group, which might have led to the students achieving deep learning (Liu, Cheng, & Huang, 2011) . This result is consistent with the comments provided by AR-based application users who claimed that one of the main advantages of using AR was that it helped them to concentrate in the tasks while they were building the circuit step by step. Further studies are necessary to determine whether the manipulation features of AR in this learning context promote students' concen-tration. In general terms, discovering the impact of each AR feature in flow factors will be useful to guide the design of better AR-based learning applications. Statistical results also show that the experimental group had a better sense of control (SC) and clearer direct feed-back (CF) than the control group, which can be beneficial for the recall of information, according to Bujak et al.'s (2013) study. Indeed, students said that interacting with real objects in the AR application was a natural activity which allowed them to build a circuit step by step and verify its physical properties in real time. However, a usability problem could have a negative influence on these results as some participants mentioned they had difficulties handling the tablet and the real objects simultaneously. This drawback could be solved by introducing stands for the tablets, thereby reducing extraneous cognitive load (Zaharias, 2003) . Finally, participants in the ARbased learning activity reported the highest levels of intrinsic satisfaction (AE) compared to those who used the web-based application; this may have helped the experimental group to perform the task more easily that the control group. Those empirical findings corroborate theoretical claims about flow affordances of augmented reality on learning (Bujak et al., 2013; Cheng & Tsai, 2012; Dunleavy et al. 2009; Kye & Kim, 2008) . However, not all the factors seem to have influence on learners' flow state, this study found that were limited to: concentration, distorted sense of time, sense of control, clearer direct feedback, and autotelic experience. Therefore, the design of AR-learning application should consider the strengths and limitations of affective learning affordances of this emergent technology to deploy effec-tive learning environments. After adjusting the posttest scores in the pretest (covariate), the following results were obtained. A statistically significant main effect was found depending on the learning application used on the posttest scores, F(1,57) ¼ 6.645, p-value ¼ 0.012, in favor of the group using the AR-based application. Partial eta squared values were obtained from the ANCOVA test in order to determine the effect size of the learning tool used (AR-or web-based) on the posttests scores. The partial eta squared values of 0.01, 0.06, and 0.14 are considered as small, medium, and large effect sizes, respectively. Partial h 2 ¼ 0.1044 obtained suggested a nearly large practical effect of the difference between the two groups. From the analysis of the factor that measured the balance between ability level and challenge within the Flow State Scale, no statistically significant difference between the two groups was found. However, the study specifically collected the perception of students regarding skills and challenge with a two question survey applied at the end of each learning stage (Pearce et al., 2005) . Flow imbalances among the learning stages were found to be mainly associated with the perceived difficulty of the content and the form of interaction with the application. The first stage was perceived as boring and it was devoted to reviewing content through the touching interface provided by the tablet; no experimentation was included in the AR version of this first stage, thus both groups were exposed to similar conditions and similar results were found. On the other end of the spectrum was the last stage which required applying the knowledge acquired in previous stages of the learning activity and caused anxiety to participants. The final simulation activity included in the AR application where students could observe how the circuit behaved according to their solution was not perceived as sufficient to help them to overcome the final challenge. Finally, the flow state was achieved in both groups at the Magnet_2 stage, with statistically significant differences in favor of the experimental group. Magnet_2 presented educational content through textual information and participants had to solve a problem related to that content; its AR version offered the possibility to experiment with the magnetic fields. The main differences between the Magnet_2 stage with the first and the last stages are described as follows: (1) Magnet_2 introduced new content; (2) it dealt with a moderate challenge; and (3) it helped students by providing interactive activities. Those findings, support the Pearce at al. 's work (2005) where they remark the importance of analyze the flow as a process rather than a just an overall state, useful information can be gather from this measure approach. In this regard, from the results observed we conclude that students enjoyed interacting with objects and visualizing digital information associated with the real objects in tasks that where achievable for them but not extremely easy. Thus, learning designers should strike a careful balance between AR support and task challenge. The textual information, necessary to guide and provide educational content, sometimes acted as an intrusive component in the visual and tactile media used. Therefore, it is necessary to find out in which situations it is beneficial to integrate textual information in AR-based learning activities and identify effective ways to incorporate the information in this new media.. Regarding the learning effectiveness of both applications, after conducting a statistical analysis on the pre-and posttest scores, it was found that students who used the AR application performed significantly better on knowledge than those who were taught using the webbased application. Those findings seem to support the outcomes of research studies (Andujar, Mejias, & Marquez, 2011; Chen, Chi, Hung, & Kang, 2011; Kamarainen et al., 2013; Kaufmann & Schmalstieg, 2003; Lin, Duh, Li, Wang, & Tsai, 2013) , which showed that AR technology contributed to improve academic achievement compared to traditional teaching methods. Moreover, it was found that the experimental group showed better results on visualization-related questions than students in the control group. The AR-based application enabled students to experiment interactively with electric and magnetic fields as well as to observe the effect of magnetic forces on their circuit. It provided instant and reliable feedback. Therefore, the AR-based application gave students the opportunity to try and observe different options instantly, whereas the web-based application did not offer students any possibility to experiment. A possible explanation of the effectiveness of the AR-application over the web-based application might be associated with either the concentration, control, autotelic levels achieved, or the differences in cognitive effort required to handle the abstract concepts involved. The control group participants required a higher cognitive effort to learn and solve problems that required visualization whereas the experimental group had better opportunities to understand the combined behavior of electromagnetic forces. The findings of the current study extend those of Dori et al. (2007) who found that students improved learning outcomes through the use of visualization in a web-based course. Further studies with a larger data sample are necessary to identify the causes of learning effectiveness of the AR-based application over the web-based application.. Some limitations of the study need to be pointed out. First, it involved short-term retention of the basic principles of electromagnetism; it is likely that a long-term retention evaluation would have provided more insight into the effectiveness of the AR application in high school students. Restrictions in the time tables of the high schools involved compelled us to conduct these short-term interventions. Second, although both groups used tablets to interact with the learning environment, the novelty factor of augmented reality could act as a disturbing factor. Thus, further studies are necessary to diminish the novelty factor introduced by augmented reality technology. Third, data collected were self reported.. Our findings seem to support the outcomes of prior studies (Bujak et al., 2013; Dunleavy et al., 2009; Kye & Kim, 2008) which showed that AR-based applications contributed to increased academic achievement and promoted positive emotional experiences compared to traditional teaching in STEM fields (science, technology, engineering, and mathematics). However, the findings of this study went further, suggesting stronger indicators in favor of the use of AR applications for learning. Indeed, the AR-based applicationwas not compared to traditional teaching but to another appealing form of ICT-based learning. Furthermore, both the control and experimental groups used the same kind of handheld device, making both groups similarly vulnerable to the novelty effect caused by the use of tablets for a learning activity. Finally, it is worth highlighting that participants were high school students, who are typically harder to engage and motivate than children (Martin, 2012) .. Based on the results of this study, it can be concluded that the AR-based application was more effective than the web-based application in both promoting students' knowledge of the basic principles of electromagnetism and in fostering flow experiences. Therefore, augmented reality applications can be used as effective learning tools within high school electromagnetic courses.

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


Optimal Broadcasting in Injured Hypercubes Using Directed Safety Levels Reliable communication in injured hypercubes with faulty links/nodes using directed safety levels is studied in this paper. In this approach, each node u in an n-dimensional hypercube (n-cube) is associated with a sequence of directed safety levels. A directed safety level associated with node u is an approximated measure of broadcast capability of performing optimal broadcasting from u in an (n ; 1)-subcube containing u. By optimal broadcasting, we mean that the broadcast message reaches each destination through a shortest path (i.e., the length of each path is equal to the Hamming distance between the source and destination). Directed safety l e v els are based on a special coding scheme generalized from Wu's safety level model and are calculated through n ; 1 rounds of information exchanges and updates among neighboring nodes. In this model, fault information of nodes within distance-d is precisely represented to better capture link faults, whereas fault information of nodes outside distance-d is approximated as in the regular safety l e v el model. Optimal broadcasting at node u is guaranteed if node u is globally safe, which is de ned in terms of the directed safety levels associated with u. The directed safety level model with d = 1 o r d = 2 has the same asymptotic complexity as the regular safety level model. Simulation results show a signi cant improvement in terms of optimal broadcast capability in injured hypercubes.This work was supported in part by NSF grants CCR 9900646 and ANI 0073736. In an injured hypercube, we assume that faulty nodes/links occur (recover) dynamically. Most existing works focus on local distribution of information about fault occurrence/recovery rather than global distribution. This is done through a localized marking process 8] , where each nonfaulty node is marked either safe or unsafe based on the safety status of its neighbors. When a node is marked safe, the optimal broadcast from that node is guaranteed. In general, the concept of safe node requires a much stronger condition than that of r-node. Therefore, the safe node set 8] is a relatively small subset of the r-node set. The safe node set can bedecided in O(n 2 ) rounds of information exchanges among neighboring nodes. Note that the marking process itself does not need to be synchronous. However, the scheme in 8] can only be used for injured n-cubes with fewer than d n 2 e node failures. That is, there are cases where no safe nodes exist in an injured n-cube with more than d n 2 e faulty nodes. Wu a n d F ernandez 16] gave a re ned de nition of safe node by relaxing certain conditions, and hence, increasing the size of the safe node set. The process that identi es node status needs fewer rounds than that of Lee and Hayes' safe node model in general.. However, it still requires O(n 2 ) rounds in the worst case.. Wu 15] proposed the concept of safety level, where each n o d e i n a n n-cube is associated with a safety level l (an integer). A 0-safe node corresponds to a faulty node with the lowest level of safety, while an n-safe node (also referred to as a safe node) corresponds to the highest level of safety. The safety level model has the following property: If the safety level of node u is l (0 l n), there exists a spanning incomplete binomial tree rooted at u in any m-subcube (with m l) c o n taining u. Clearly, when l = n, an incomplete binomial tree rooted at u exists in the n-cube, and thus, node u can beused to carry out an optimal broadcast. In other words, a safe node in the safety level model is an r-node. The safety level of each node can becalculated in n ; 1 rounds in the worst case. The asymptotic complexity of the safety l e v el model at each n o d e i s O(n 2 ), since the cost of each round is O(n). The safety level model can capture over 99% of r-nodes for n(< 10)-cubes with k(< n ) faulty nodes. However, the safety level model is not e ective in handling link faults where two end nodes of each faulty link are treated faulty. In addition, the optimal broadcast capability reduces quickly as the numberof faults increases, especially when the numberis more than the dimension of the hypercube.. To p r o vide a physical interpretation of the safety l e v el, we e n vision a tra c control system within a city, where the street layout can beconsidered as a network topology. Each tra c congestion occurrence/recovery on a street and at an intersection can be viewed as a fault occurrence/recovery at a link and a node, respectively. Instead of ooding new tra c update, such information is spread locally through a marking process where the status of each intersection depends on the status of its neighbors, and is spread only to some \critical" intersections in the neighborhood.An intersection is critical if a wrong turn made at the intersection will prevent a driver from reaching the destination through a shortest path. Speci cally, e a c h i n tersection has a safety level (k), indicating any destination within k hops from the intersection can bereached through a shortest path. In addition, the safety level can beused as a \guide" to nd a shortest path. The marking process should not beoverly \conservative" (a zero safety level assignment is always a safe choice, but it does not allow a n y tra c ow). Instead the safety status derived from the marking process should closely re ect the optimal routing/broadcasting capability. On the other hand, unlike the BellmanFord approach of deriving shortest paths through many iterative updates, the marking process, as an approximation, should be localized without long sequential information propagation. It has been shown in 15] that on the average, the safety l e v el of each node can be calculated within 2 or 3 rounds in 9-cubes and 10-cubes under various fault distributions.. In this paper, we extend the the safety l e v el model to make the safe node set closer to the r-node set. In addition, the model covers link faults e ectively. All this is done without increasing the complexity of the original safety level model, i.e., O(n 2 ). In the extended safety level model, each node u is associated with a sequence of directed safety l e v els. Each directed safety l e v el corresponds to the broadcast capability of performing optimal broadcasting in a particular subcube from node u. Speci cally, directed safety levels associated with node u are for (n ; 1)-dimensional subcubes only (there are n such subcubes that contain node u). A global safety level is then de ned based on directed safety levels. In addition, the computation procedure for safety l e v els keeps exact fault information within distance-d (to better capture link faults) and approximates fault information outside distance-d (like in the regular safety level model). We show that the complexity will not increase when d = 2 . One of the main reasons for using d = 2 is to handle link faults more e ectively as will bediscussed later. Simulation results show a signi cant improvement in terms of optimal broadcast capability in an injured hypercube, that is, the safe node set is very close to the r-node set under di erent c o m binations of link/node faults. Recently, another directed safety node model has been proposed for both unicasting 17] and broadcasting 18]. However, this model is built on Lee and Hayes' original safety node concept and, hence, it is weaker that the model proposed in this paper.. Note that another possible approach is based on routing tables by applying the Bellman-Ford algorithm, where each node maintains a routing table containing shortest path information to each destination. However, routing tables converge more slowly than safety levels 15], especially in a dynamic system. Formation of safety levels is free from the looping problem exhibited in routing tables. Also, a shortest path to each destination in a routing table associated with u does not guarantee the existence of an incomplete binomial tree rooted at u. In the absence of an incomplete binomial tree, the broadcast process is more complicated unless it is implemented as a multiple-unicast (i.e., broadcast message is sent t o e a c h destination individually as one unicast).. The paper is organized as follows: Section 2 reviews concepts of hypercubes, binomial-treebased broadcasting, and safety level model. Section 3 presents the proposed directed safety level model. Simulation results are provided in Section 4. The paper concludes in Section 5. We have proposed a binomial-tree-based broadcasting in an injured hypercube using the directed safety level model. This model is an enhancement o f t h e s a f e t y level model which is an approximation model for optimal broadcast capability of injured hypercubes. Simulation results have shown a signi cant improvement in terms of optimal broadcast capability in an injured hypercube using the directed safety l e v el model, compared with the one using the safety l e v el model, although both models exhibit the same level of asymptotic complexity.. The proposed model can be further extended. In general, s k 1 k 2 :::kc can be used to represent the broadcast capability of a node in an (n;c)-subcube excluding dimensions k 1 , k 2 , ..., k c . Therefore, each node has a set of safety status of di erent l e v els. fs k 1 k 2 :::kc g is a set of level-c safety status with a cardinality o f ; n c associated with each n o d e . Simulation results in this paper show that there is not much room for improvement, for example, the gap between DSL(2) and Opt is relatively small for a relatively small number of faults. Therefore, the above extension is of theoretical interest only.

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


Kernel Regression for Image Processing and Reconstruction Abstract-In this paper, we make contact with the field of nonparametric statistics and present a development and generalization of tools and results for use in image processing and reconstruction. In particular, we adapt and expand kernel regression ideas for use in image denoising, upscaling, interpolation, fusion, and more. Furthermore, we establish key relationships with some popular existing methods and show how several of these algorithms, including the recently popularized bilateral filter, are special cases of the proposed framework. The resulting algorithms and analyses are amply illustrated with practical examples. T HE ease of use and cost effectiveness have contributed to the growing popularity of digital imaging systems. However, inferior spatial resolution with respect to the traditional film cameras is still a drawback. The apparent aliasing effects often seen in digital images are due to the limited number of CCD pixels used in commercial digital cameras. Using denser CCD arrays (with smaller pixels) not only increases the production cost, but also results in noisier images. As a cost-efficient alternate, image processing methods have been exploited through the years to improve the quality of digital images. In this paper, we focus on regression methods that attempt to recover the noiseless high-frequency information corrupted by the limitations of imaging systems, as well as the degradations processes such as compression.. We study regression, as a tool not only for interpolation of regularly sampled frames (up-sampling), but also for restoration and enhancement of noisy and possibly irregularly sampled images. Fig. 1(a) illustrates an example of the former case, where we opt to upsample an image by a factor of two in each direction. Fig. 1(b) illustrates an example of the latter case, where an irregularly sampled noisy image is to be interpolated onto a Manuscript received December 15, 2005 ; revised August 1, 2006 . This work was supported in part by the U.S. Air Force under Grant F49620-03-1-0387 and in part by the National Science Foundation Science and Technology Center for Adaptive Optics, managed by the University of California at Santa Cruz under Cooperative Agreement AST-9876783. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Tamas Sziranyi.. The authors are with the Electrical Engineering Department, University of California Santa Cruz, Santa Cruz CA 95064 USA (e-mail: htakeda@soe.ucsc. edu; farsiu@soe.ucsc.edu; milanfar@soe.ucsc.edu).. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org.. Software implementation available at http://www.soe.ucsc.edu/~htakeda. Digital Object Identifier 10.1109/TIP.2006.888330 high resolution grid. Besides inpainting applications [1] , interpolation of irregularly sampled image data is essential for applications such as multiframe super-resolution, where several low-resolution images are fused (interlaced) onto a high-resolution grid [2] . Fig. 2 represents a block diagram representation of such super-resolution algorithm. We note that "denoising" is a special case of the regression problem where samples at all desired pixel locations are given [illustrated in Fig. 1(c) ], but these samples are corrupted, and are to be restored. Contributions of this paper are the following. 1) We describe and propose kernel regression as an effective tool for both denoising and interpolation in image processing, and establish its relation with some popular existing techniques. 2) We propose a novel adaptive generalization of kernel regression with excellent results in both denoising and interpolation (for single or multiframe) applications. This paper is structured as follows. In Section II, we will briefly describe the kernel regression idea for univariate data, and review several related concepts. Furthermore, the classic framework of kernel regression for bivariate data and intuitions on related concepts will also be presented. In Section III, we extend and generalize this framework to derive a novel dataadapted kernel regression method. Simulation on both real and synthetic data are presented in Section IV, and Section V concludes this paper. We begin with a brief introduction to the notion of kernel regression.

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


A factorization approach for cone-beam reconstruction on a circular short-scan Abstract-In this paper, we introduce a new algorithm for 3-D image reconstruction from cone-beam (CB) projections acquired along a partial circular scan. Our algorithm is based on a novel, exact factorization of the initial 3-D reconstruction problem into a set of independent 2-D inversion problems, each of which corresponds to finding the object density on one, single plane. Any such 2-D inversion problem is solved numerically using a projected steepest descent iteration scheme. We present a numerical evaluation of our factorization algorithm using computer-simulated CB data, without and with noise, of the FORBILD head phantom and of a disk phantom. First, we study quantitatively the impact of the reconstruction parameters on the algorithm performance. Next, we present reconstruction results for visual assessment of the achievable image quality and provide, for comparison, results obtained with two other state-of-the-art reconstruction algorithms for the circular short-scan.

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


Dimensions of Emotion in Expressive Musical Performance ABSTRACT: This paper explores the dimensions of emotion conveyed by music. Participants rated emotion terms after seeing and/or hearing recordings of clarinet performances that varied in expressive content. A factor analysis revealed four independent dimensions of emotion. Changes to the clarinetists' expressive intentions did not significantly affect emotions conveyed by sound. It was largely through the visual modality that expressive intentions influenced the experience for observers. Visual experience was the primary channel through which variation in the clarinetists' performance intentions influenced the emotions of observers.. Depending on the performer, a restriction in movement can actually increase positive emotions for the audience.. These data suggest that, like complex real-life emotions, musical emotions can involve ambivalent states involving both positive and negative emotions at once.

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


Midpoints

and

Exact

Points

of

Some

Algebraic

Functions

in

Floating-Point

Arithmetic

Abstract-When

implementing

a

function

f

in

floating-point

arithmetic,

if

we

wish

correct

rounding

and

good

performance,

it

is

important

to

know

if

there

are

input

floating-point

values

x

such

that

fðxÞ

is

either

the

middle

of

two

consecutive

floating-point

numbers

(assuming

rounded-to-nearest

arithmetic),

or

a

floating-point

number

(assuming

rounded

toward

or

toward

arithmetic).

In

the

first

case,

we

say

that

fðxÞ

is

a

midpoint,

and

in

the

second

case,

we

say

that

fðxÞ

is

an

exact

point.

For

some

usual

algebraic

functions

and

various

floating-point

formats,

we

prove

whether

or

not

there

exist

midpoints

or

exact

points.

When

there

exist

midpoints

or

exact

points,

we

characterize

them

or

list

all

of

them

(if

there

are

not

too

many).

The

results

and

the

techniques

presented

in

this

paper

can

be

used

in

particular

to

deal

with

both

the

binary

and

the

decimal

formats

defined

in

the

IEEE

standard

for

floating-point

arithmetic.

I

N

a

floating-point

system

that

follows

the

IEEE

standard

for

floating-point

arithmetic

the

user

can

choose

an

active

rounding

mode,

also

called

roundingdirection

attribute

in

the

newly

revised

IEEE

standard

rounding

toward

rounding

toward

rounding

toward

and

rounding

to

nearest,

which

is

the

default

rounding

mode.

Given

a

real

number

x,

we

denote,

respectively,

by

RDðxÞ,

RUðxÞ,

RZðxÞ,

and

RNðxÞ

these

rounding

modes.

Let

us

also

recall

that

correct

rounding

is

required

by

the

above

cited

IEEE

standards

for

the

four

elementary

arithmetic

operations

(þ,

À,

Â,

and

Ä)

as

well

as

for

the

square

root:

the

result

of

an

operation

is

said

to

be

correctly

rounded

if

for

any

inputs,

its

result

is

the

infinitely

precise

result

rounded

according

to

the

active

rounding

mode.

We

are

interested

here

in

facilitating

the

delivery

of

correctly

rounded

results

for

various

simple

algebraic

functions

that

are

frequently

used

in

numerical

analysis

or

signal

processing..

Let

us

call

midpoint

for

a

floating-point

format

a

number

that

is

exactly

halfway

between

two

consecutive

floatingpoint

numbers

of

that

format.

Given

a

function

f

IR

d

IR

and

a

floating-point

vector

x,

we

say

that

fðxÞ

is

a

midpoint

of

f

if

fðxÞ

is

a

midpoint

for

that

format.

Given

f

and

x,

the

problem

of

computing

RNðfðxÞÞ

is

closely

related

to

the

knowledge

of

the

midpoints

of

the

function

f.

Then,

a

common

strategy

(see

and

chapter

for

returning

RNðfðxÞÞ

is

as

follows:.

Let

us

first

compute

an

approximation

f

of

accuracy

to

fðxÞ.

If

there

are

no

midpoints

of

the

considered

floatingpoint

format

within

distance

from

f

then

necessarily

RNðfðxÞÞ

¼

RNðf

Þ.

If

on

the

contrary,

there

are

such

midpoints

within

distance

from

f

we

can

progressively

increase

the

quality

of

the

approximations

(that

is,

computing

an

approximation

f

of

accuracy

and

so

on)

until

we

are

able

to

provide

a

correctly

rounded

result.

The

point

is

that

this

strategy

may

not

terminate

if

the

function

f

has

midpoints.

As

a

consequence,

a

correctly

rounded

implementation

of

a

given

function

f

can

be

made

more

efficient

if

we

know

in

advance

that

f

admits

no

midpoints.

If

f

admits

midpoints,

it

is

also

very

useful

to

know

how

to

characterize

them..

If

now

we

consider

one

of

the

directed

rounding

modes

(RD,

RU,

or

RZ),

the

strategy

that

consists

in

progressively

refining

the

approximations

will

not

terminate

if

fðxÞ

is

a

floating-point

number.

In

this

case,

we

say

that

fðxÞ

is

an

exact

point

of

the

function

f,

and

it

is

also

very

useful

to

know

a

characterization

of

these

exact

points

when

implementing

f.

Moreover,

a

characterization

of

the

exact

points

of

f

can

be

used

to

set

the

"inexact"

flag

required

by

the

IEEE

standards

For

example,

for

x=

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

x

þ

y

p

in

radix

our

study

shows

that

this

flag

must

always

be

raised

except

when

x

or

y

is

zero,

which

can

be

detected

easily..

In

this

paper,

we

present

results

on

the

existence

of

midpoints

and

exact

points

for

some

algebraic

functions:

beyond

division,

inversion,

and

square

root,

we

study

functions

like

the

reciprocal

square

root

ffiffi

ffi

y

p

the

euclidean

norm

x

þ

y

p

and

its

reciprocal

x

þ

y

p

and

the

function

x=

x

þ

y

p

A

part

of

the

results

presented

on

division

and

square

root

have

been

known

for

some

time

in

binary

arithmetic;

see,

for

instance,

the

pioneering

work

by

Markstein

as

well

as

studies

by

Iordache

and

Matula

and

Parks

Let

us

also

recall

the

work

by

Lauter

and

Lefèvre

on

the

function

x

y

which

thus

covers

integer

powers.

We

present

these

results

for

completeness,

and

extend

some

of

them

to

other

radices,

in

particular

to

radix

Before

going

into

further

details,

we

introduce

some

definitions.

A

radix-,

precision-p

floating-point

number

x

is

either

or

a

rational

number

of

the

form.

where

X

is

a

positive

integer

such

that

X

p

If

in

addition

X,

then

x

¼

AEX

Á

e

x

Àpþ1

is

called

the

normalized

representation

of

x,

and

the

integers

X

and

e

x

are

called,

respectively,

the

integral

significand

and

the

exponent

of

x.

We

can,

in

fact,

speak

of

the

exponent

for

any

nonzero

real

x:

in

radix

it

is

the

unique

integer

e

x

such

that

ex

jxj

On

computing

systems

conforming

to

the

IEEE

standard

the

radix

is

or

Radix

is

also

sometimes

used

The

exponent

e

x

is

bounded:

e

min

e

x

e

max

where

e

min

and

e

max

are

the

extremal

exponents

of

the

considered

floating-point

format..

A

nonzero

number

without

a

normal

representation

is

said

subnormal:

all

subnormal

numbers

have

absolute

value

less

than

e

min

Assuming

that

we

are

working

with

a

radix-,

precision-p

floating-point

arithmetic,

a

midpoint

is

a

rational

number

of

the

form.

where

Z

is

a

nonnegative

integer

such

that

Z

p

if

e

min

e

z

e

max

Z

p

if

e

z

¼

e

min

Such

a

number

is

exactly

halfway

between

two

consecutive

floating-point

numbers.

The

midpoints

are

the

values

where

the

function

x

RNðxÞ

is

discontinuous,

as

illustrated

in

Fig.

on

a

toy

floating-point

format

¼

p

¼

e

min

¼

and

e

max

¼

When

using

the

implementation

of

a

mathematical

function

in

floating-point

arithmetic,

in

most

practical

cases,

the

input

and

output

precisions

are

the

same.

However,

a

user

may,

for

example,

wish

to

calculate

the

number

that

is

closest

to

the

square

root

of

a

floating-point

number..

For

the

sake

of

simplicity,

we

assume,

in

this

paper,

that

the

input

and

output

precisions

are

the

same.

Moreover,

we

give

our

results

assuming

an

unbounded

exponent

range,

that

is,

under

the

hypothesis

that

no

underflow

nor

overflow

occurs.

For

that

purpose,

we

define

IF

;p

as

the

set

of

the

radix-,

precision-p

floating-point

numbers,

with

an

unbounded

exponent

range.

Similarly,

midpoints

are

restricted

to

the

set.

where

Z

Z

denotes

the

set

of

integers

and

N

N

denotes

the

set

.g

of

nonnegative

integers.

The

purpose

of

this

paper

is,

for

the

floating-point

number

systems

and

the

algebraic

functions

mentioned

above,

to

investigate

whether

these

functions

admit

midpoints

or

exact

points,

and

to

characterize

such

midpoints

and

exact

points

when

they

exist.

The

results

we

obtain

are

for

¼

q

with

q

a

positive

integer,

and

for

¼

but

in

some

cases,

we

managed

to

weaken

these

assumptions

on

Moreover,

most

of

the

examples

proposed

are

based

on

the

basic

formats

defined

in

the

IEEE

standard

that

are

briefly

recalled

below:

Table

summarizes

the

results

presented

in

the

paper.

In

this

table,

"many"

indicates

that

the

techniques

we

used

did

not

allow

us

to

find

a

simple

characterization

of

the

midpoints

or

of

the

exact

points

of

the

function,

an

exhaustive

enumeration

was

impractical

because

of

the

too

large

number

of

cases

to

consider,

and

we

have

experimental

evidence

that

the

number

of

midpoints

and/or

exact

points

is

Note

that

since

we

considered

an

unbounded

exponent

range,

subnormal

floating-point

numbers

of

the

various

IEEE

formats

can

be

written

in

normalized

form.

Hence,

subnormal

numbers

are

a

subset

of

floating-point

numbers

with

unbounded

exponent

range.

This

implies

that

the

results

presented

in

Table

remain

unchanged

when

the

inputs

are

subnormal

numbers.

If

there

are

no

exact

points

or

midpoints

for

normal

floating-point

numbers

with

unbounded

exponent

range

for

a

given

function,

then

midpoints

or

exact

points

cannot

occur

if

the

inputs

are

subnormals.

Similarly,

if

the

exact

points

and

midpoints

are

characterized

by

one

of

the

theorems,

assuming

that

the

inputs

are

subnormals

will

only

restrict

the

characterization

of

the

theorem,

without

creating

new

possible

exact

points

or

midpoints..

However,

some

results

presented

in

Table

change

when

we

want

to

know

if

a

given

function

outputs

midpoints

in

the

range

of

subnormal

floating-point

numbers.

In

radix

division

admits

midpoints

in

the

subnormal

range,

as

well

as

the

function

x=kyk

while

they

have

no

midpoints

in

the

normal

range.

The

square

root

function

admits

no

midpoints,

even

in

the

subnormal

range,

for

the

square

root

of

a

floatingpoint

number

cannot

be

in

the

subnormal

range.

Although

the

results

are

not

detailed

in

the

paper,

the

techniques

presented

can

be

used

to

deal

with

midpoints

in

the

subnormal

range

for

the

other

functions

listed

in

Table

Outline.

We

start

with

extensions

to

radices

q

and

of

classical,

results

for

square

roots

(Section

reciprocal

square

roots

(Section

and

positive

integer

powers

(Section

In

Section

we

move

to

the

function

that

maps

a

real

x

and

a

d-dimensional

real

vector

y

¼

½y

k

k

d

to

x=kyk

Here,

k

Á

k

denotes

the

euclidean

norm

of

vectors:.

The

function

x=kyk

is

interesting

for

it

covers

several

important

special

cases,

each

of

them

being

detailed

in

a

subsequent

section:

for

d

¼

division

and

reciprocal

(Sections

and

for.

and

normalization

of

vectors

x=

x

þ

y

p

(Sections

and

We

comment

on

the

euclidean

norm

in

Section

Notation.

Throughout

the

paper,

the

symbols

Q

Q,

IR,

and

N

N

denote

the

rational

numbers,

the

real

numbers,

and

the

positive

integers,

respectively.

We

write

i

for

the

complex

number

whose

square

is

and

bÁc

and

dÁe

for

the

usual

floor

and

ceiling

functions.

Also,

for

x;

y

Z

Z

such

that

y

¼

we

use

the

standard

notation

x

mod

y

¼

x

À

ybx=yc

(see,

for

instance,

Graham

et

al.

p.

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


Adaptive Zero-Knowledge Proofs and Adaptively Secure Oblivious Transfer Abstract. In the setting of secure computation, a set of parties wish to securely compute some function of their inputs, in the presence of an adversary. The adversary in question may be static (meaning that it controls a predetermined subset of the parties) or adaptive (meaning that it can choose to corrupt parties during the protocol execution and based on what it sees). In this paper, we study two fundamental questions relating to the basic zero-knowledge and oblivious transfer protocol problems:• Adaptive zero-knowledge proofs: We ask whether it is possible to construct adaptive zero-knowledge proofs (with unconditional soundness) for all of N P. Beaver (STOC 1996) showed that known zero-knowledge proofs are not adaptively secure, and in addition showed how to construct zero-knowledge arguments (with computational soundness).• Adaptively secure oblivious transfer: All known protocols for adaptively secure oblivious transfer rely on seemingly stronger hardness assumptions than for the case of static adversaries. We ask whether this is inherent, and in particular, whether it is possible to construct adaptively secure oblivious transfer from enhanced trapdoor permutations alone.We provide surprising answers to the above questions, showing that achieving adaptive security is sometimes harder than achieving static security, and sometimes not. First, we show that assuming the existence of one-way functions only, there exist adaptive zeroknowledge proofs for all languages in N P. In order to prove this, we overcome the problem that all adaptive zero-knowledge protocols known until now used equivocal commitments (which would enable an all-powerful prover to cheat). Second, we prove a black-box separation between adaptively secure oblivious transfer and enhanced trapdoor permutations. As a corollary, we derive a black-box separation between adaptively and statically secure oblivious transfer. This is the first black-box separation to relate to adaptive security and thus the first evidence that it is indeed harder to achieve security in the presence of adaptive adversaries than in the presence of static adversaries. In the setting of secure two-party and multiparty computation, parties with private inputs wish to securely compute some joint function of their inputs, where "security" must hold in the presence of adversarial behavior by some of the parties. An important parameter in any definition of security relates to the adversary's power. Is the adversary computationally bounded or all powerful? Is the adversary semi-honest (meaning that it follows all protocol instructions but tries to learn more than it's supposed to by analyzing the messages it receives) or is it malicious (meaning that it can arbitrarily deviate from the protocol specification)? Finally, are the adversarial corruptions static (meaning that the set of corrupted parties is fixed) or adaptive (meaning that the adversary can corrupt parties throughout the computation and the question of who to corrupt and when may depend on the adversary's view in the protocol execution). It is desirable to achieve security in the presence of adaptive adversaries where possible, since it models the real-world phenomenon of "hackers" actively breaking into computers, possibly while they are executing secure protocols. However, it seems to be technically harder to achieve security in the presence of adaptive adversaries. Among other things, it requires the ability to construct a simulator who can first generate a transcript blindly (without knowing any party's input) and then later, upon receiving inputs, "explain" the transcript as an execution of honest parties with those inputs.. In this paper, we ask two basic questions related to the feasibility of achieving security in the presence of adaptive adversaries. Our questions were borne out of the following two observations:

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


Multi-scale image harmonization In traditional image compositing (a) a user applies geometric transformations to a source image (top) and inserts it into a target image (bottom). Tools such as the Photoshop Healing Brush use gradient domain compositing to ensure that the composite is seamless (b) but the inconsistencies between the two images, make the result look unrealistic: the inserted face is much smoother than the rest of the image.Our method "harmonizes" the images before blending them, producing a composite that is seamless and realistic (c). The close-up images (d) compare traditional gradient-domain blending (top) to the harmonized result (bottom).Traditional image compositing techniques, such as alpha matting and gradient domain compositing, are used to create composites that have plausible boundaries. But when applied to images taken from different sources or shot under different conditions, these techniques can produce unrealistic results. In this work, we present a framework that explicitly matches the visual appearance of images through a process we call image harmonization, before blending them. At the heart of this framework is a multi-scale technique that allows us to transfer the appearance of one image to another. We show that by carefully manipulating the scales of a pyramid decomposition of an image, we can match contrast, texture, noise, and blur, while avoiding image artifacts. The output composite can then be reconstructed from the modified pyramid coefficients while enforcing both alpha-based and seamless boundary constraints. We show how the proposed framework can be used to produce realistic composites with minimal user interaction in a number of different scenarios. Combining regions of multiple photographs or videos into a seamless composite is a fundamental problem in many vision and graphics applications, such as image compositing, mosaicing, scene completion, and texture synthesis. In order to produce realistic composites, it is important to ensure that the boundaries between the images being combined appear as seamless and natural as possible. This can be achieved through alpha matting, where pixel values are combined using a user-specified alpha matte, or through gradientdomain compositing techniques, which reconstruct pixel intensities from merged gradient vector fields.. While necessary, seamless boundaries are not always sufficient for creating realistic composites. Often the images being combined come from diverse sources and are shot by different cameras under different conditions. This is illustrated in Fig. 1a , where the user segments a novel face (top), and inserts it into another image (bottom). Gradient domain compositing (Fig. 1b) creates seamless boundaries in the composite. But because the two images are from different sources with different appearance, the two regions of the composite look inconsistent, detracting from the realism of the composite.. Currently, users fix these inconsistencies manually, and it takes even professional artists hours of work to produce highly realistic composites. In this paper, we address this problem by building tools to automatically harmonize images before compositing them (Fig. 1c) . By building methods to automatically correct inconsistencies in images with minimal user interaction, this work takes the burden of compensating for inconsistencies away from the user and makes compositing effortless and user-friendly.. The main contribution of this work is a unified framework that harmonizes aspects of appearance, such as contrast, texture, noise, and blur. This is guided by the insight that a multi-resolution pyramid representation for images is useful for both transferring different aspects of visual appearance between images and compositing them. We show that we can transfer appearance by manipulating the different levels of the pyramid of the source and target images so that their histograms match. We also present a novel method to reconstruct the composite from the modified pyramids in conjunction with boundary constraints based on matting as well as gradient-domain compositing. To our knowledge, this is the first work that explicitly addresses the problem of harmonizing images during compositing.. This work does not deal with inconsistencies in viewpoint, lighting, or shadows. We assume that the images have been geometrically aligned and have compatible viewpoint and vanishing points. We assume that the user has a source image I s with an object, or region, that they would like to insert into a target image I t . The object in the source image may have different visual characteristics from objects in the target image, and our goal is to harmonize these characteristics to create a more compelling composite.. At a high level, we begin by building pyramids from the source and target images. We also synthesize a uniform random noise image and build a pyramid from the noise image. Next, we modify the source and noise pyramids to match the target pyramid -a process that harmonizes the images. Finally, we reconstruct the composite from the harmonized source and noise pyramids taking into account the appropriate boundary conditions (both alpha and seamless boundaries). An overview of this process is shown in Fig. 2 . In this section, we provide an overview of our framework and in the sections that follow, we discuss each component in detail.. Our compositing framework uses a multi-resolution pyramid representation for all images. The pyramid is constructed by filtering each image with a set of n linear filters, f 1 to f n ; we use Haar filters. For a source image I s and target image I t , the subbands are:. A standard separable n-level pyramid has three subbands at every level in addition to a lowpass residue subband for a total of 3n + 1 subbands. Each level of the pyramid representation is created by filtering an image with three filters of the same scale. The statistics of pyramid subbands are known to be closely related to image appearance -a property that has been exploited in work on texture synthesis [Heeger and Bergen 1995; Portilla and Simoncelli 2000] .. This makes the pyramid an ideal representation for us, and we harmonize the images by transforming the source subbands in a way that matches their statistics to those of the target subbands.. The main tool for modifying the source subbands in order that their statistics are similar to the target subbands is histogram matching [Heeger and Bergen 1995] . The harmonized subbands coefficients B h i can be computed as. where histmatch() denotes the transfer function that matches the histogram of B s i to that of B t i . While the simple operation in Eqn. 2 is a powerful tool for matching the appearance of images, there are two fundamental problems with it. First, naive histogram matching is a nonlinear operation that distorts the shape of the subbands, and images reconstructed from these modified subbands often suffer from artifacts such as haloing along strong edges and the amplification of noise and blocking artifacts. For example, Fig. 3 shows different approaches to transferring the appearance of an older high-contrast and textured photograph to a newer flat and smooth photograph. Fig. 3b is the result of direct histogram matching -the gradients in the original source image have been over-sharpened and there are haloing artifacts near strong edges. Our smooth histogram matching technique -described in Sec. 4 -minimizes these artifacts by ensuring that the histogram matching process does not distort the shape of the subbands substantially (Fig. 3c ).. The second problem with a direct application of Eqn. 2 relates to image noise. Natural images often have noise due to the camera, such as sensor and ISO noise, or due to compression, such as JPEG quantization noise. In addition, the target images might have textures that are missing in the source images. If the noise and texture patterns in the source and target images differ significantly, histogram matching the subbands alone will not harmonize them. To better model these differences, we introduce a noise term to our harmonization framework. In other words, we assume that the harmonized subbands we want to estimate are given by a sum of the Regularizing the gain removes these artifacts (c), but some of strong edges have been over-amplified. Blending in the source at these edges removes these problems producing a result (d) with the tones from the model image. The technique of Bae et al. [2006] (e) exaggerates these effects for a more stylized result.. structure subbands B h i and noise subbands N h i , i.e.,. Our intuition is that the structure components B h i can be estimated by shaping the source subbands to match the target subbands, while the noise components N h can be estimated by shaping a noise image to match only the noise in the target subbands. Our harmonization step -covered in detail in Sec. 5 -does this iteratively to produce a set of harmonized subband coefficients that exhibit the properties we desire in the source image, including the appropriate contrast, texture, noise and blur (Fig. 3d) .. The final harmonized image can be reconstructed from the modified pyramid coefficients T h i by collapsing the pyramid, i.e., applying synthesis filters (the inverse of the filters applied in Eqn. 1) and summing the results. There are fast and efficient algorithms to do this without explicitly solving the linear system of equations corresponding to Eqn. 1. However, to composite regions of the source image into the target image, we need to ensure that boundaries are appropriately handled and simply collapsing the pyramid will not satisfy the desired boundary constraints. Instead, for image compositing, we reconstruct the final composite I h by solving a linear system of equations:. where the matrix F contains the filters used to construct the pyramid, the vector T h contains the harmonized subband coefficients, and the vector c specifies boundary constraints. In Sec. 6 we discuss how we set up this linear system and how c can be used to specify both seamless and alpha matting boundary constraints. While this linear system can be very large even for small images, we show how it can solved quickly and accurately using a quadtree subdivision. We have presented a framework that harmonizes the appearance of images before compositing them. By automatically matching different aspects of visual appearance, such as contrast, texture, noise, and blur, our technique takes the burden of correcting for them away from the user. We have also presented a novel compositing scheme that allows us to enforce both matte-based and seamless boundaries in the same framework.. There are other aspects of visual appearance that are important to the realism of a composite that our work does not address. The most important of these are shadows and shading. Automatically estimating and correcting the lighting in single images is a difficult vision problem and is an interesting avenue for future work.. The ability to realistically combine multiple images is important in many vision and graphics applications such as image mosaicing and digital photomontage, and we would like to apply our methods in their context too. In addition, we are interested in extending our work to the problem of video object insertion. Videos often have high levels of noise and compression and we believe our methods will be useful in creating realistic video composites. This figure illustrates how our method adapts the same source image to match different target images with markedly different contrast, noise, and texture. Gradient domain compositing (b) produces unrealistic results because of the discrepancies between the images being combined. Naive histogram matching (c) oversharpens the source image and creates ringing around strong gradients. Our smooth histogram matching method (d) automatically adapts the source image to each of the targets without these artifacts, but the noise is still inconsistent. Matching both the structure and the noise removes these inconsistencies and produces realistic results (e). Photo credits: Flickr users The Rob Oechsle Collection/Okinawa Soba (second row), Zsolt Botykai/zsoltika (third row), and David Flam/freeparking (fourth and fifth rows).. 125:10 • K. Sunkavalli et al. Alpha Matting The simplest way to fuse images is to combine their absolute pixel values. This is often accomplished through alpha matting [Porter and Duff 1984] , where the colors of the images are linearly interpolated using weights specified by the alpha matte. Recent work in this area has focused on making the matte creation as easy as possible [Wang et al. 2007; Sun et al. 2004 ], but has not corrected for appearance differences.

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