We propose a video annotation system called “AnnoTone”, which supports video-editing process such as cropping and effects generation, by embedding annotations describing contextual information of a scene, such as geo-location of the video camera and quality of performance of actors, during a recording. The system converts inputted annotation data into high-frequency audio signals, which are almost inaudible to the human ear, and transmits them from a smartphone speaker placed near a video camera. After recording, embedded annotations are extracted from video files and exploited to support video-editing. The signals are not completely inaudible to the human ear, but we confirmed that they can be removed from video files without considerable quality loss, using audio filters. We also tested the reliability of signal embedding and the durability of annotation signals against audio conversions by experiments, and showed the feasibility of the proposed technique in practical situations. We present several example applications using AnnoTone, and discuss the possibility of novel video-editing techniques realized by annotation embedding.
Dragging and dropping narrow and long targets, such as resizing windows by moving their edges, requires accurate manipulation and takes a long time. To facilitate such tasks, we propose a new technique called Cross-drag. We developed a system to utilize this technique in a realistic GUI environment. Moreover, we discussed the performance of Cross-drag by comparing it with other pointing methods used to drag-and-drop. The experiment to evaluate our technique was conducted by dragging-and-dropping narrow targets with various width/height/gap sizes. The operation time and error rate results showed that Cross-drag outperformed the traditional pointing-based drag-and-drop under many conditions, thereby illustrating the effectiveness of Cross-drag.
In graph-based model checking, systems are modeled with graph structures which are highly expressive and feature a symmetry reduction mechanism. However, it involves frequent isomorphism checking of graphs generated in the course of model checking. Canonical labeling of graphs, which gives a unique representation to isomorphic graphs, is expected to be an effective method to check isomorphism among many graphs efficiently. It is therefore important to efficiently compute canonical forms of graphs in graph rewriting systems. For this purpose, we propose an optimization technique for McKay's canonical labeling algorithm that reuses information of graph structures that does not change by rewriting. To enable reuse, we reformulated McKay's algorithm to clarify what substructures of graphs are utilized in its execution, and designed an algorithm for successive graph canonicalization that organizes graph information in such a way that recomputation may be minimized. We evaluated the performance of the proposed algorithm, and found that it achieved sublinear time complexity with respect to the number of vertices for many cases of re-canonicalization.
Nowadays, there are many available Web applications on the Internet. Since anyone can access a Web application with a browser, its user interface(WUI) becomes very important. Developers normally base the WUI on a template, but since designing it from scratch has a high cost, a pre-defined template is often used. However, such pre-defined template may not always be what the developer wants. We thus propose an approach where the developer will extract templates from existing Web pages. We confirmed the usefulness of our method through an evaluation focusing on correctness and development time.
We present the notion of concurrent context-oriented programming and its implementation method. To realize context-oriented programming in concurrent systems based on asynchronous communication such as the Actor model, one must take special care to control synchronizations among context changes and other computations. Our method uses reflection to solve the synchronization problem regarding messages that cross two contexts. In this paper, we give some preliminary evaluation results using an implementation in Erlang.