/ Satoshi Nishimura / Assistant Professor
/ Christophe Lecerf / Visiting Researcher
The Computer Graphics Laboratory is currently working on the following research projects:
1. Parallel processing for polygon rendering and volume visualization
Parallel processing is one of the most powerful ways for improving the processing speed of computers. Especially in the area of computer graphics, many researchers have been trying to apply the techniques of parallel processing to various problems. There are three reasons for this research:
In the Computer Graphics Laboratory, we have a parallel graphics machine called the VC-1 which was developed by Prof. Nishimura, one of the members of our laboratory. The VC-1 comprises 16 processing elements each of which contains the Intel i860 processor.
One of the current research directions is the development of a new machine named Vivo based on the VC-1 technology. Anti-aliasing and texture mapping will be fully supported in Vivo. In addition, assist hardware for the real-time visualization of volumetric fields will be incorporated, which is important in medical applications and scientific visualization.
Another research direction is to investigate new parallel algorithms for the VC-1 and Vivo architectures. One possibility is the implementation of a parallel solid modeler by distributing winged-edge structures among processors. Furthermore, we are trying to execute both of scientific simulation such as thermal analysis and volume rendering on the single parallel machine.
2. Physically-based human model animation using experimental analysis
Physical models prove to be the most efficient way for realistic animation. The idea consists in simulating (instead of imitating) the real world. In a mechanical point of view, the user must then handle forces and torques to move objects, which are not always intuitive ones. The control issue is especially important in the human body example, which gathers high complexity and unknown behavior rules.
Our previous work set the background about articulated rigid bodies animation. In particular was described a set of control techniques we find accurate to manage all kinds of mechanisms. Those techniques mainly come from robotics, but one of them is specific to animation and is usually very efficient. In the human body example though, we came to the conclusion that optimal control is more likely to produce natural gestures.
Our present research is dedicated to human body animation. It aims to use efficiently image analysis as a starting point for the production of natural synthetic movements. The project consists of two main parts: analysis is used to get experimental data (measurements, modelling, inverse dynamics) and animation is based on slight variations of the movements by minimization of a criterion (forward dynamics, optimization).
Refereed Journal Papers
This thesis describes a parallel computer architecture for real-time image synthesis together with a parallel polygon rendering algorithm for it. The first half of the thesis describes the hardware architecture. It is based on a loosely-coupled MIMD multiprocessor architecture. The most remarkable difference from previous parallel architectures for computer graphics is the existence of a novel frame buffer subsystem called the conflict-free multiport frame buffer (CFMFB). In the CFMFB, a local frame buffer is prepared for each processor and a merged picture of all the local frame buffer contents is displayed on the screen. In the local frame buffer, a demand-paging technique is utilized for reducing memory requirements. A prototype machine called the VC-1 is developed to evaluate this architecture and also to provide an environment for developing parallel software. The second half of the thesis focuses on a parallel polygon rendering algorithm for the above architecture. In the algorithm, the set of input polygons is partitioned among the processors, each of which independently computes the images of assigned polygons using the Z-buffer method. To improve the performance, two techniques, adaptive parallel rasterization and dynamic cluster rebalancing, are developed. From the performance measurement, the linear speed-up of the VC-1 architecture is observed up to a 256-processor system.
Physically-based techniques for computer animation have been extensively studied in the last years. They produce realistic movements of virtual objects since they respect their physical laws. Besides the animator is relieved from the heavy task of describing trajectories. Therefore simulating articulated rigid bodies is the easiest way to animate complex scenes. However the motion control becomes a difficult issue then: the objects are manipulated by applying forces and torques, which is not always intuitive. The user should describe easily his purpose to the animation system though. In our opinion three goals must be reached to meet such an objective: allowing complementary control techniques, then allowing a large range of control levels and finally providing the user with a system assistance. We propose a formalism and a general framework which produce the realistic simulation of a wide range of mechanisms, regarding their structures and their properties. The animator can describe the reasons (dynamics) as well as the effects (kinematics) of the motion. Precisely, techniques from robotics (PID control and inverse dynamics) have been fashioned to the animation purpose. Also specific methods have been developed to perform control by constraints. Thirdly, optimal control is used to drive a motion production with a criterion to be minimized. Besides a transition mechanism is presented to manage the treatment of discontinuities. From the user's point of view, two alternatives are provided: on-line control simulates a feedback loop, though off-line control refers to optimization, which is too time consuming to allow user interactions. Assistance for the user takes place in the production of natural motion and in coherence checking of the specified control.
This paper describes a parallel polygon rendering method on the graphics computer VC-1 which has been developed for past 4 years. The architecture of the VC-1 is a loosely-coupled array of general-purpose processors, each of which is equipped with a local frame buffer. The contents of the local frame buffers are merged into one in real time considering the visibility control based on screen depth. In our polygon rendering method, polygons are distributed among the processors and each processor independently computes the image of the assigned polygons using the Z-buffer method. To achieve load balancing, a technique called adaptive parallel rasterization is developed. The adaptive parallel rasterization automatically selects the appropriate parallelizing approach according to the estimated size of polygons displayed on the screen. The measured rendering performance of VC-1 using this polygon rendering method is shown.