CharToon Faces for the Web
Zs. Ruttkay, H. Noot, B. de Ruiter, P. ten Hagen
CWI, Amsterdam, The Netherlands

Preface on how to read this page
Most of the text and the pictures on this page are to be shown on a poster at WWW9. Next to the poster we wish to have a PC where movies, on-line demo of the CharToon system as well as the web oriented Face Player Applet will be demonstrated.

Technical remarks
In order to run the applet demo, your browser must be prepared to play Java applets. You need Java 1.1, which is the standard Java provided with for example the Netscape 4.+ browser.

The sample movies are of MPEG-1 format, with video and audio streams, and can be played if a recent Mediaplayer plugin is available. You may download it for several platforms.

If you have technical problems, contact Bèhr de Ruiter: behr@cwi.nl

General contact person is Zsofi Ruttkay: zsofi@cwi.nl



Motivations
There is a growing interest in applying humanoid, expressive characters in computer systems to help the user. There is a big variety in terminology (social user interfaces, avatars, talking heads,...) and in design (3d/2d, full body/partial character, more or less realistic, generic/personal) for such 'apprentice'. Besides representing the system, in multi-user applications humanoid characters can be used to represent/identify individual users (e.g. in chatrooms). It has been proven that expressive (silent or talking) faces do increase the effectiveness of communication and make the system more appealing, especially for non-professional users.   Non-realistic, 2d cartoon faces are not only sufficient for communicational tasks, but have certain advantages: they require limited resources and are aesthetically appealing. Such interfaces are beneficial for a majority of web applications, because of several reasons:

In spite of the several different approaches in the past years to provide avatars on the web, the slow download and/or extra plug-in needed are common characteristics which have hindered the applicability of animated faces on the web.
In order to overcome these drawbacks, we have developed CharToon, a system in Java, with which one can design faces and animations, and then play (ready-made or on-the-fly generated) animations real-time on the web, using only a standard browser. CharToon is dedicated for facial designs, but can be used to make other animations too.

The CharToon System

CharToon consists of 3 components:

Face Editor is a 2 1/2d drawing program with which one can define the structure, the geometry, the colours and the potential changes (in shape, position, size and visibility) of the features of a face.

Animation Editor is an interactive 'animation composing' program, to define the time-behaviour animation parameters of a drawing, provided by Face Editor. Animations can be saved as a script (for later re-use), or a movie script can be generated.

Face Player actually generates the frames of an animation, on the basis of the animation parameter values in the movie script file provided by Animation Editor and the face description file provided by Face Editor. The generated frames, if needed, can be used as input to make traditional movie files too. These programs exchange ascii data with each other and possibly with other programs outside CharToon.

How to design a face?
With Face Editor (see snapshot) one produces vector-based graphics extended with so-called control points. The position of control points can be changed when defining an animation. A face is made by using basic building blocks (open or closed polylines and smooth curves) which may connect control points, and compound ones which can change shape indirectly, according to changes of their skeleton. Protoptypes for facial features like a human mouth or eye are provided. The user may extend the collection of complex, re-usable components. A face is made by including components and editing them: changing their appearance and/or modifying the dynamical potentials. There is also the possibility to include images into the drawing. In Test mode one can see the effect of dragging control points.

How to animate a face?
Animation Editor (see snapshot) is a graphical editor which operates on a window which looks like a musical score. There is a 'staff' for every animation parameter; the lines on each staff reflect the values the parameter can take. The behaviour in time of an animation parameter is specified by placing points on its staff. In-between values are provided by linear interpolation. One can do cut and paste operations and time- and value scaling on portions of curves and on sets of them. Snapshot of the face and selection of the current animation can be looked at while editing the animation. Pieces of animations can be stored as ascii scripts and can be re-used; (ascii) movie scripts can be generated by sampling the curves at a chosen rate. There also is a facility to use audio channels and labels as aid for synchronisation.

How to show a face on the web?
Face Player can generate and show frames based on a movie script file constructed by Animation Editor and a face file produced by Face Editor. These both are small ascii files. Animated faces can be shown on web pages by:

Besides downloading ready-made animations to drive Face Player, data generated on the fly (by some other software or the user) can be used too, making it possible e.g. to generate lip-synch for audio or exhibit emotional expressions on faces representing users. Scripts for Face Player can be generated in more sophisticated ways, e.g. depending on conditions what (expression) is to be shown - something which cannot be achieved with ordinary movies.

Ongoing work...


Demo movies
In order to see the demo MPEG-movies below, your browser must be able to show MPEG-movies, either via a plug-in, or via a standalone programme.

Lily  Nine Faces 
Download lilly (5.27Mb)
Lily is a single subtly drawn cartoonish female face, with dynamic components to demonstrate how basic human expressions can be achieved by exaggerated and non-realistic features (e.g. change of face width).
Download ninef (5.43Mb)
Nine Faces is a collection of 9 very stylistic human and non-human heads, which can be animated to exhibit some basic expressions and talking. The faces have 6-12 control parameters each. 

 

The Face Player Applet
If your browser can handle Java applets, written in Java 1.1, then you can run our Face Player in the applet window below. After the applet has been loaded and the first frame of the animation (showing the face of 'JanReal') is present in the window, press the 'start' button.
For other movies: select a movie by double-clicking on a movie-name in the menu, and then select 'start' again.
Please be patient ; downloading the java class library may take a while....
 


 






More information is available on the CharToon homepage: http://www.cwi.nl/CharToon.