1) Masaki
Hayashi, 2)
Hirotada Ueda, 3)
Tsuneya Kurihara, 1) NHK (Japan Broadcasting Corporation)
Science and Technical Research Laboratories
Broadcasting has a long
history as a medium for
conveying information.
The techniques used in
this field, and especially
in the production of television
programs, have progressed
over the years to become
highly refined means of
presenting information.
At present, however, only
broadcasting stations
are able to use these
techniques satisfactorily.
In other words, television
program production is
still the domain of specialists.
The generation of television programs by computer requires some kind of intermediate expressions that can be given to the computer to indicate tasks like directing the performance of an actor and configuring a program. TVML is a text-based language that uses such expressions. The expressions can be easily understood when perused by people and instruct the computer what to do. TVML can describe an entire television program through highly abstract text-based expressions like "display title" and "zoom-in". The software that we developed for interpreting scripts written in TVML and automatically generating program video and audio in real time is called the TVML Player. This is illustrated in Figure 1.
The television programs
targeted here are of the
types of programs that
present information such
as news, weather forecasts,
event guides, and documentaries.
For the most parts, television
programs like dramas and
live variety shows that
are essentially one-time
creative works are excluded.
The production elements
of such information-oriented
television programs are
relatively simple. These
elements are shown in
Table 1. together with
the techniques used in
the TVML Player to generate
each element by computer.
For example, a studio
shot is generated entirely
by CG in which computer-generated
actors in a computer-generated
set give speech by synthesized
voice, and the entire
scene is "shot" by a camera
within the CG world. A
motion picture is achieved
by playing back a movie
file, titles and captions
are generated by using
the layout-description
part of HTML to display
text information, audio
is produced by playing
back audio files, and
narration is generated
by using a voice synthesizer.
The generation of these
elements requires two
types of data: script
data written in TVML and
various forms of reference
data.
The specifications for the TVML language have been determined with reference to the structure of program scripts used in actual television program production. The following describes basic specifications of TVML with an emphasis on event description and time description. 3.1 Event description
Here, "character" is the event type, "talk" is the command, and the items inside the parentheses are parameters. The general format of an event is as follows:
Table 2 lists types of events and associated commands provided in TVML. Here, parameters represented by "arg" in parentheses need not follow a particular order and default values are adopted for any parameters that are omitted. In other words, parameters that are not explicitly specified by the user will be set by the computer. Conversely, the user can specify as many parameters as needed for indicating detailed instructions. For example, if the user desires to indicate a certain speaking speed and an exaggerated character gesture, the event description could be written as follows.
3.2 Time description
Here, the computer-generated character named MARY is made to say "Look at this video," and after this, the motion-picture file named "test.mov" is played back from frame 30 to frame 450. There are actually two types of events: an action event in which time is taken to perform some action (like "sit") lasting from the beginning to the end of the event, and a state event that simple specifies a state change (like superimposing ON) with no elapsed time. Consequently, if a user wants to execute two action events simultaneously, "wait=no" must be added as a parameter to the first action event. This expression will be treated as a state command. For example, to make the characters BOB and MARY bow at the same time and to superimpose text after the bowing is completed, the following event descriptions would be used.
Here, if "wait=no" is
not included in the first
line, the actions would
be such that MARY starts
bowing only after BOB
completes his bow.
This wait command blocks further execution of the script until the action specified by the command is completed. In short, the following line:
is equivalent to the following two lines:
The above structure can therefore be used to describe simultaneously occurring events. For example, if the user wants to superimpose text 1.5 seconds after starting playback of a motion-picture file from frame 100 to frame 200, the following description can be used.
In addition to events and wait commands, TVML also provides a several commands that are called directly without being treated as events. These are called "direct commands."
4.1 TVML Player operation
4.2 TVML Player external control mode
As described above, the basic operation of the TVML Player is to play back a TVML program script from start to finish. However, let us consider for a moment an interactive application that gives a user the choice of changing the story of a program that he or she is currently watching. In this case, there must be some kind of interface to accept a user's selection and some method for dynamically changing the story development based on the selection made. This can be achieved through TVML because a mechanism has been provided to control the TVML Player from an external interactive application program. We point out again that the TVML Player functions completely as an interpreter in which one line of TVML, corresponding to one TVML event, is read in, syntactically parsed, and executed before moving on to the next line. A real-time interactive application can therefore be constructed by having an external application send a script to the TVML Player in an asynchronous manner. The mode which enables a script to be sent to the TVML Player from an external application is referred to as the "external control mode" of the TVML Player. As shown in Figure 3, booting up the TVML Player in external control mode allows an external application to communicate with the TVML Player. Consequently, if the TVML Player is always left on, an external program can execute any TVML script (of at least one line) at any time and suspend external operation at any time as well as fully control the GUI functions of the TVML Player. Moreover, TVML Player sends the script playback status to the external application. All the communication between the TVML Player and external applications is done very fast via a shared memory. In external control mode, therefore, with the TVML Player up and running, an interactive application can be constructed by having an external application send commands and scripts to the TVML Player while checking the status comes from the TVML Player.
For non-technical people to use TVML as a program-production tool, a user interface is necessary that enables a user with no specialized knowledge of computer languages to create a television program by intuitive operations. We have also been developing a user interface called TVML Editor[3] that incorporates a GUI for such users. The TVML Editor allows users to create a television program by computer mouse and window-based operations while interactively checking intermediate results. In the TVML Editor, a television program is prepared by lining up a studio-shot, a motion picture, and title blocks in a time sequence and making clips where necessary. Each of these blocks is divided into cells, and each cell corresponds to a TVML command. Double-clicking on a cell opens an operation window having buttons, scroll bars, and so forth, that enables parameters such as dialogs to be set up easily. A program created on the TVML Editor can be exported as a TVML script for playback on the TVML Player.
This paper described the
TVML language, designed
for describing television
programs by text-based
scripts, and the TVML
Player that interprets
the scripts and outputs
program video and audio.
We also described the
TVML Editor, which is
a user interface that
enables individuals without
specialized knowledge
of computer programs to
prepare television programs.
These developments provide
an environment in which
anybody can prepare a
personal television program
in a relatively easy manner
on a desktop computer.
The TVML Player is distributed without charge as freeware. The procedure for obtaining a copy is described at the WEB site given below. This site includes detailed information not given in this paper and we suggest that you pay the site a visit. http://www.strl.nhk.or.jp/TVML/index.html References
|