PERSONALIZED MOVIES J. 1975

advertisement
PERSONALIZED MOVIES
by
Ralph J. Mayer
B. Sc.
(Arch) McGill University 1974
B. Arch. McGill University 1975
Submitted in Partial Fulfillment
for the
of the Requirements
Degree of
Master of Science
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
September 1979
OD M.I.T
1979
Signature of the Author
/Depey*!tment
of'Architecture
June 19, 1979
Certified by
Nicholas Negroponte
Associate Professor of Computer Graphics
Thesis Supervisor
Ix
Accepted by
Pro essor Nicholas Negroponte
Departmental Committee for Graduate Students
-
1 -
Archives
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
SEP 27 1979
LIBRARIES
Personalized Movies
Page
Table of Contents
I.
4
Introduction
II. Concepts of Personalized Repair
A. Types of Personalized Repair
8
B. Interaction With the Viewer
10
C. Functions of the Movie Maker
16
III. Creating'the Videodisc film
IV.
A. Filming
22
B. Cutting and Editing
35
C. Narrating
38
Components of the Movie Maker
A. The Database
42
B. The Editor
60
C. The Movie Player
66
D. The Story Teller
80
V. Program Documentation
A. Conventions
81
B. Editor
84
C. Movie Player
91
D. Story Teller
101
VI. Continuation Work
103
VII. Looking Ahead
106
References
108
Acknowledgements
110
- 2 -
Personalized Movies
by
Ralph J. Mayer
submitted to the Department of Architecture on June 19, 1979
in partial fulfillment of the requirements for the degree of
Master of Science.
Abstract
Personalized movies are used as an aid for instruction in
Movies about bicycle overhaul are
maintenance and repair.
from an optical videodisc which
sequences
playing
by
created
for the project. Movies
specifically
filmed
material
contains
are personalized by means of an extensive profile describing
each viewer's knowledge about the subject to be repaired and
their preferences for presentation modes and teaching techniThe computer model of the videodisc is constructed so
ques.
that
The viewer can request
that movies are interactive.
changes be made to the movie while it is being played, and
those changes will appear without having to restart the movie.
Thesis Supervisor:
Ificholas
Negro)_Jonte
Title:
Associate Professor of Computer Graphics
- 3 -
CHAPTER 1
Introduction
A personalized movie is a movie which has
especially
for you.
need, to see --
in
been
prepared
It should contain only what you wish, or
no more and no less.
The storyline,
the
way
which the story is told, and the speed of the movie should
all be
styles,
attuned
and
to
your
individual
requirements.
cognitive
At least in theory, no two people
should ever see the same movie.
pared
preferences,
If another
movie
were
pre-
for you, it would be different from the first one, par-
tially for variety,
first
movie
and partially because the viewing
of
changed you, and your needs in some way.
sonalized movie would truly be one which is
the
A per-
constructed
uni-
quely for you.
One of the first questions which comes to mind about such
a
movie is:
How does the movie maker know what kind of movie
is best for me?
movie
maker
The best way seems to be for you to tell
what
you
would
like to see,
the
and for the movie
maker to prepare a movie based on that information.
You could
then watch the movie, and tell the movie maker whether this is
satisfactory.
tions.
The movie maker would make appropriate
However,
correc-
in order for you to be satisfied, the movie
- 4 -
maker must make some assumptions about what to show you;
only
not
you be incapable or unwilling to describe exactly
might
what kind of movie you would like, but if you had to tell
movie
maker exactly what you wanted to see, there would be no
point in having the movie maker.
to
change
If you tell the movie
able
to
maker
the type of movie which is playing, then the movie
maker should not necessary start another movie.
continue
watching
the
You should be
continuation of the current
movie, but in a manner better suited to you.
ful
the
Thus a
success-
movie maker must be intelligent, interactive, and able to
change movies as they are being made.
The concept of personalized movies is an answer to a very
real
problem
Naval Research.
Navy
in
currently
investigated by the Office of
being
The armed forces in
particular,
general,
and
the
have trouble properly maintaining their
equipment due to an increasing amount of equipment and
creasing
pool of qualified repair personnel.
a
de-
The shortage of
qualified people is due to many reasons, including the
tion
U.S.
cessa-
of the draft and the decreasing numbers of people enter-
ing the armed forces to acquire
method
professional
One
of alleviating this problem is on-the-job training for
these maintenance personnel, whose
differ
training.
widely.
experience
and
knowledge
Personalized movies about maintenance and re-
pair are a way of providing this training.
Personalized movies are a marriage of two concepts
study
at
the Architecture Machine Group:
- 5 -
under
idiosyncratic sys-
tems, and the merger of computer graphics and picture processIdiosyncratic
ing.
man-machine
each
systems
attempt
to
personalize
the
interface by having computers adjust themselves to
user.
Computer graphics and picture processing use 'sto-
rage devices to save and retrieve pictures, rather than recreating
each
picture
as it is
required.
The joining of these
two concepts was made possible in part by the
advent
of
the
optical videodisc.
The optical videodisc plays televisison images stored
on
a disc approximately the size of a long-playing phonograph record Each disc currently contains 54,000 frames, or
hour
of
video,
with
two
accompanying
one
sound
half
tracks.
Information is stored as FM encoded video in a series of
which
form
a
continuous
"track".
The disc is read using a
laser beam and a light sensing diode;
no
pits
where there is
a
pit,
light is reflected back to the diode, and where there is a
pit, light is sensed.
signal
which
is
These rapid fluctuations
recorded
therefore
laser
on
beam
each
may
revolution
of
videodisc
is also randomly accessible.
accessed by its frame number
search
(1 to
the
54,000),
time of approximately five seconds.
stop
One
disc;
frames.
Any frame may be
with
a
maximum
Thus it is possi-
ble to play and fit together sequences from any place
disc.
FM
skip back to replay a frame.
This permits slow motion, reverse playback, and
The
the
then decoded into standard televsison.
video frame is
the
form
on
the
In short, the videodisc is a perfect way for the movie
maker to play its movies.
The investigation of personalized
into
three areas:
the movies,
and
the
movies
is
broken
The preparation of the source material for
the generation of a movie for a particular viewer,
interaction
between the viewer and the movie maker.
Preparation of the source material involves creating a
disc
which
up
video-
contains all the sequences which are to be played
by the movie maker.
The movie maker itself is a computer pro-
gram which shows a movie by selectively playing sequences from
the videodisc.
The movie maker is concerned both with the ci-
nematic problems of how to concatenate sequences, and with the
dynamic tailoring of movies to each viewer.
also
interacts
The
movie
maker
with and models the viewer in such a way that
the viewer can easily tell the movie maker the types of movies
desired.
- 7 -
CHAPTER 2
Concepts of Personalized Repair
A.
Types of Personalized Repair
Maintenance and repair was chosen as the subject for initial investigation of personalized movies.
The repair process
is generally sequential and easily defined,
but also has
suf-
variability that instructions can be personalized for
ficient
each repair person.
a
For example,
typical
is
sequence
to
first loosen a bolt, then remove the bolt, and then remove the
A novice might be taken through each individual
washer.
and
told
what
to do with each part, whereas an expert would
just be told to remove the
chosen
specifically
Overhaul
bolt.
because
than diagnostic repair.
they
are more straight forward
proceeds
whereas diagnostic repair into
volves making many decisions to identify the part
It
were
operations
The overhaul process always
from step A to step B and so on,
paired.
step
was felt that such diagnosis is
re-
be
another topic al-
together.
A bicycle was chosen as the object to be
overhauled.
A
bicycle is small enough in scope that its overhaul can be adequately covered using one side of a
- 8 -
videodisc,
or
in
about
half an hour.
This is in contrast to other choices such as an
Nonetheless, bicycle
automobile or an air conditioner.
haul
embodies
many
maintenance
of
techniques
over-
and repair.
Bicycle repair was also particularly suitable for being played
on
the
videodisc.
Since the front and back of a bicycle are
similar, some sequences can be used to
illustrate
more
than
one operation, thus effectively increasing the number of operations which could be covered.
Furthermore,
sily obtainable and their repair is
- 9 -
bicycles are
well documented.
ea-
Interaction With the Viewer
B.
outward
After choosing the subject, the
of
characteristics
the personalized maintenance and repair system were speci-
fied.
presenta-
The first step was to generate a taxonomy of
tion modes
(see Table 1).
written explanations, diagrams, exploded views (both
live and drawn),
highlight
spoken expla-
animation of the repair process,
bicycle repair,
nations,
These included live action films of
all
stills, and computer
these modes.
movies
using
This is one way in which
those modes preferred by the viewer.
The
to
All modes of presentation should
be available so that the movie maker can create
movies are personalized.
graphics
generated
ways
other
the
are
teaching
style employed by the movie maker, and the knowledge level for
which the movies are made.
There are actually three ways in which a viewer may use a
personalized
repair
system.
The first way is for the viewer
to ask the system for instructions
part
such as the front hub.
on
repairing
on the axle.
the
order
of
the
The third way is for the viewer to peruse
all the information in the system
about
specific
The second way is for the viewer
to ask for specific instructions, such as
parts
a
by
requesting
information
a general topic such as bicycle wheels, or perhaps even
bicycles in general.
This project concentrates
primarily
on
the first method, whereby the movie maker prepares a personalized movie about a chosen subject.
Table 1.
Presentation Modes
Live Film
Synchronous Sound
Narration
Animation
Cartoons
Exploded Views
Sketches
Diagrams
Graphic Overlays
Highlighting
Computer
Graphics
Written Explanations
Computer Synthesized Sound
Slow Motion
Reverse Motion
Freeze frames
-
11
-
it
know who is watching the movie, how much that viewer
must
The movie maker identi-
the viewer prefers.
presentation
maker
movie
The
keeps a list of all these names, as
and
what
they
information remembered about each user, the
more
The
know
they
well as a description of how much
like.
her
or
his
fies each viewer simply by asking the viewer for
name.
modes
which
already knows about the overhaul being done, and
of
movie,
each
to personalize
In order for the movie maker
the movies can be.
more personalized
The movie maker maintains a viewer module which specifies
viewer
each
whether
is
or left-handed, whether they
right
prefer movies or exploded diagrams,
about
each type of bicycle overhaul.
track of each viewer's knowledge about
tion,
since
somone
how
and
It is necessary to keep
each
viewer
who has repaired many flat tires may not
Each time
a movie some knowledge should be imparted,
watches
increas-
and therefore the knowledge of a viewer is generally
ing.
However,
opera-
overhaul
have the slightest idea of how to take apart a hub.
a
know
they
much
this is not always true.
If a viewer has not
repaired a bicycle for six months, some knowledge will be forKnowledge
gotten.
also
becomes progressively harder to obfirst
Much more will be learned the
shown
how to repair a hub than the tenth time.
the one hundredth time the viewer will know
hubs,
and
will
someone
time
tain.
Hopefully, by
everything
not need any further instruction.
maker uses this constantly changing viewer profile
-
12
-
is
about
The movie
to
create
movies which are personalized for a specific person at a specific point in
time.
Another issue is
how the movie maker
When overhauling bicycles, one of the most important
viewer.
pieces of information is
to be overhauled.
identifying
Probably the easiest way for a viewer to do
frame
a
displaying
sensitive
ticular part, query the viewer whether that is
visually,
par-
and using a picture of that
closest part of the bicycle,
to be overhauled.
the
When
screen.
the movie maker can determine the
the screen,
touches
by
done
This is
from the videodisc on a monitor which is
covered by a transparent touch
viewer
bicycle
the
the part of
to point to a picture of a bicycle.
this is
the
with
interacts
really the part
chosen
In this way, the choice of topic is
and does not require the viewer
to have any a priori
knowledge of the names of parts on a bicycle.
This
informa-
tion is provided by the repair system.
While a movie is playing,
any
to
time
that
indicate
the viewer can interrupt
something
should
be
it
at
changed.
Possible changes are to expand or condense the explanation, to
the
change
mode
of presentation, or simply to play the last
sequence over because
Such
the
viewer
wasn't
paying
attention.
changes are used by the movie maker in future movie preHowever, it is not neccessary to go back to the be-
paration.
ginning
of
the
movie;
the next sequences shown will simply
reflect the updated knowledge or preferences of the viewer.
The viewer indicates
preferences to the movie
-
13
-
maker
by
The
controls.
special
most
expand/condense button, which
the
of
viewer
uses
tedious.
becoming
hensible, or whether it is too long and is
controls can be used for various types of audiovisual
Similar
For example, the viewer can indicate
preferences.
The
on.
so
of
with sequences
However,
prefer-
a
against movies, stills, drawings, diagrams, ex-
or
for
ploded views, audio explanations, animation,
and
indicate
to
the explanation provided is too brief and not compre-
whether
ence
an
is
these
basic
text,
displayed
movie maker attempts to provide the viewer
the
preferred
whenever
types
possible.
preferences of the viewer must be balanced aga-
the
inst the available material, and the fact that the viewer must
be given suitable instruction for the object to be repaired.
The instructions for each overhaul operation must contain
a procedure for the over-
The foremost is
certain components.
In addition, there should be an expanation of the func-
haul.
tion of each part in the assembly, how the parts fit together,
and how the whole assembly functions.
novices,
for
available
experts,
Explanations
must
and people inbetween.
be
For
each operation it is also necessary to have an introduction to
the
operation,
and a list
of all the tools needed to perform
the operation.
For those viewers who do not know how,
explanation
on
how
to use the tools.
instruct novices in tool use the first
quired.
If
the
there should be an
The movie maker would
time
a
tool
is
re-
viewer requested more explanation, then the
-
14
-
movie maker would continue to instruct the viewer
in
the
use
of the tool until the use of the tools was percieved
to be un-
of
instruc-
derstood.
tions,
Although all movies contain a variety
any particular movie will contain only a small portion
of the information on the videodisk.
Only
that
information
applicable to the current viewer's knowledge, preferred learning methods, and presentation modes will be a part of the personalized movie.
-
15
-
Functions of the Movie Maker
C.
Having discussed the outward characteristics of the movie
the next topic is the construction of the movie maker.
maker,
Some information can be obtained from previous research in the
area
of
Reseach in this area
Computer Assisted Instruction.
has been done at M.I.T by the Laboratory for Computer Science.
Out of this existing work came some ideas on computer inof
struction
students,
our case,
in
or
viewers.
Computer
aided instruction can apply a variety of teaching methods (see
what
These include telling the student what to do,
2).
Table
providing
explaining why something should be done,
not to do,
the background and letting the student figure out what must be
done, and using an analogy or refinement of a known procedure.
is
It is necessary to know how smart
the modeling of the viewer.
each viewer is, how fast they learn,
methods
research
Instruction
Another area 'of Computer Aided
what
of
type
teaching
they prefer, and if they are being shown movies, what
kind of movie presentation they prefer.
It is also useful
know what they dislike, as well as what they like.
to
It is pos-
sible to model viewers using some predefined assumptions and a
few
basic
questions,
pair a bicycle.
such as how well they feel they can re-
Then the interaction between the movie
maker
and the viewer becomes very important in augmenting and changing the viewer model.
condensation
of
a
If the viewer
then
topic,
-
16
-
the
asks
for
computer
expansion
or
model of the
Table 2.
Teaching Methods
Show Someone Else Doing It
Show the Assembly
Describe the Function of Each Part
Describe How it Works
Show Exploded Views of the Assembly
Procedural Rules of Thumb
Expand on Existing Knowledge
Analogy to Existing Knowledge
Show How Not to Do It
Library of Common Techniques
-
17
-
the
If
change.
viewer's knowledge and learning rate should
asks for expansion or contraction again, then the com-
viewer
not
is
it
Since
puter model will change more drastically.
getting the same type of feedback as does a system which tests
maker's
responses to specific questions, the movie
It
the viewer is based on very tenuous information.
of
therere-
and thus update the viewer model.
to change the movie,
quests
is
specific
get
fore very important for the movie maker to
model
Viewer models can also be examined for group behavior.
If the
previous ten viewers have asked for amplification on a particular subject,
then it
makes sense to give the next viewer that
amplification straight off.
The movie maker must also have a model of all the
mation on the videodisc.
The models of the viewer and the vi-
as
movies
of
deodisc must be structured so that preparation
done
is
they are being played and the movie maker can adjust
The
immediately without having to create a new movie.
to structure
method for accomplishing this is
videodisc as a tree.
to
a
Selective expansion
of the tree, based on each viewers knowledge and
This is
generate personalized movies.
basic
the model of the
Each node on the tree corresponds
sequence or still frame on the videodisc.
will
infor-
preferences,
explained in more
detail in Chapter 4.
The movie maker plays movies
system
-
18
operating
a
videodisc
It can instruct the videodisc
under computer control.
player to move to a particular
by
frame,
-
to
play
forwards
or
and
backwards,
to play the sequence at a specified speed.
videodisc
videodisc system must contain at least two
with
identical
the
can
already
be
Another use of multiple vi-
can
deodiscs is that one videodisc
another
videodisc
other
for the next sequence.
searching
players
This is so that while one video-
videodiscs.
disc is in play mode,
A
while
sound
playing
be
videodisc is playing a visual sequence from a differ-
ent spot on the videodisc.
playing
both
However, if
videodiscs
are
then there will be a pause while the
simultaneously,
More than two
next sequence is searched for.
videodiscs
can
therefore be used to provide additional flexibility and ensure
continuity.
There are many different ways to combine the outputs from
videodiscs.
multiple
As
mentioned above, one can alternate
between two videodiscs to provide a continuous picture made up
of
stills
or
film.
Either sound track can be turned on and
off as required since pauses in sound are not
tionable.
part
Sound can be played
an
ferent.
er
objec-
from
of the disc while another videodisc is displaying a
Thus a
picture from another place on the disc.
get
all
Two videodiscs can also be played simultaneously to
present material in different ways.
one
at
explanation which was briefer,
longer,
viewer
could
or simply dif-
While one videodisc is playing a long sequence anoth-
videodisc
can
be used to temporarily replace the picture
with a closeup of the part being handled.
Significant
opera-
tions can be replayed in slow motion, or perhaps backwards, to
-
19
-
illustrate a point.
lighting
or
Computer generated graphics such as high-
arrows
can
be overlaid on top of the videodisc
image to point out a tool or a part.
can
be
text
displayed either to indicate a part or to amplify the
The movie maker chooses between these
spoken narration.
play
Computer generated
dis-
to play a movie containing various audio and
techniques
visual components from the videodisc.
In order to generate personalized movies of
pair
re-
a videodisc with all the different sequences which might
be used in a movie was manufactured.
disc
bicycle
video-
Material for the
was created by filming the overhaul of a bicycle.
the movie was to be prepared and edited
program,
the
frames
repair.
the
movie
maker
filming was somewhat different from traditional
In addition to live film footage
training films.
still
by
Since
and
there
were
exploded views taken from books on bicycle
A narration to describe
both
the
bicycle
and
its
Because of the difficulty in pro-
overhaul was also included.
ducing animation none was included.
Written explanations
and
graphic overlays were also not put on the videodisc since they
can best be stored digitally, and the videodisc for this
ject
did -not
contain
a
section
Therefore, digital information was
with
stored
pro-
digital
encoding.
in
computer.
the
However, in the future it should be possible to store such digital information on the videodisc itself.
This videodisc
is
the source of material for the movie maker.
Computer programs were written to perform
-
20
-
the
functions
of
the
movie
maker.
The two major programs are the Editor,
used to create the database model of the
videodisc,
and
the
Movie Player, which interacts with the viewer and creates personalized movies.
done
The next two
chapters
describe
to create the personalized movie system.
the
work
Chapter 3 des-
cribes the creation of the videodisc, and Chapter 4
describes
the computer programs which make up the movie maker.
The sys-
tem is not yet complete, as some of the
only partially satisfied.
design
criteria
are
However, the system was constructed
with all these criteria in mind and its behavior is similar to
that of the movie maker described here.
-
21
-
CHAPTER 3
Creating the videodisc Film
A.
Filming
The filming was done in a private film studio.
constructed,
backdrop.
consisting of a bicycle stand, a work bench, and
A bicycle expert was brought in
the bicycle.
overhaul
to be the actor and
The filming was done with 16mm film in
order to obtain a high quality print.
eras
A set was
In addition, 35mm
cam-
were used to take still shots of the tools used for each
operation, as well as each part after it was removed from
the
bicycle.
These included closeups of individual nuts and ball
bearings.
A script was written
required
shots
to
which
detailed
document
completely
all
bicycle
of
the
overhaul.
Included were shots from different angles and distances of all
the
overhaul
operations.
Most of the shots were designed to
be from the point of view of the person actually doing the reThis
pair.
is a common training film technique, since there
is a large difference between watching someone else take something apart and imagining yourself doing it.
Other techniques were devised to take
computer
controlled
22
of
the
The selectivity of the movie
videodisc.
-
advantage
-
-
23
-
maker also permitted the inclusion of
different
many
repair
Since a particular viewer would not be shown all of
methods.
the possible repair techniques, it was possible to include information
might
interest only a minority of potential
This approach simply cannot be taken in conventional
viewers.
film
which
making, where the material included should appeal to all
viewers.
was intended to film operations being done first
It
right-handed
person,
and then by a left-handed person.
right and left-handed people do
duplication
would
ensure
that
everyone
considerations
left-handed bicycle expert,
the
could see how they
due
However,
the
difficulty
of
only one
fairly
short
and
a
Since
differently,
operations
should place their hands to move the parts.
time
by
to
finding
a
operation
was filmed both from the left-handed and right-handed point of
view.
Most of the filming was done with synchronous sound, that
is sound which is recorded and played back at the same time as
Such sound not only gives presence to the film, but
the film.
is also an important part of the repair process.
it is very reassuring to hear the clang
dustcap
is
tapped
into place.
of
a
hammer,
as
a
Some procedures, such as the
adjustment of derailleurs, can be done by sound
is
For example,
alone.
This
done by listening to how the chain sounds as the bicycle is
shifted from one gear to another.
The script also included shots on how to
-
24
-
use
tools
and
worms-
perform common procedures, such as cleaning bearings,
to
how
set
shots
of
filming.
The library
was referred to as the "library".
included shots of how to use each of the
This
operations.
overhaul
which are a part of many bicycle
tools
used
in
the
These descriptions show the correct way to use each
tool and various techniques to take full advantage of the features
The cleaning procedures show how bicycle
of each tool.
parts in general should be cleaned, using
all
and dirt.
grease
solvent
Throughout the film,
remove
to
care was taken to
use the correct procedure.
made
to
alternate methods for performing various operations.
It
While preparing the script, an attempt was also
find
was felt that one would teach different techniques to
pert
is
ex-
However, it appears that although experts
and a novice.
and novices probably do not repair bicycles in the
there
an
same
way,
a "best" technique which should be taught to every-
one.
The differences are mostly in the way in
ques
are
explained.
It
which
techni-
is reasonable to tell an expert to
tighten a nut "until it is hand tight".
A novice needs a more
quantitative description, such as, "until the wheel just stops
spinning".
mine
A novice also needs information on how
whe-ther a bolt is too tight or too loose.
to
deter-
Illustrations
of adjustment for both the expert and the novice are
included
for most of the overhaul operation in the film.
Another method of instruction which was developed
the
filming
was
to
how the parts fit together.
illustrate
-
26
during
-
-
27
-
Good mechanics may be able to take any object apart once
understand
how
the assembly fits together.
To instruct this
type of repair person, shots were filmed of how
pieces
on
a
bicycle are put together.
the
internal
For example, an axle
and its locking devices are filmed being put together
instead
they
outside
of inside the hub, thus illustrating how they must be
taken apart.
Two other similar types of instruction were
at the same time.
an assembly fits
this
mode
The first such method is
together,
of teaching,
but how it
also
filmed
to explain not how
works.
To
illustrate
the function of important parts,
as locking devices, was demonstrated.
such
Another teaching varia-
tion is to simply show all the parts and their relationship to
This is very similar to an exploded diagram, but
one another.
uses
actual picture instead of a diagram.
an
An experienced
repair person can quickly understand how to disassemble an object once the individual parts are. known.
the bulk of the filming was
Despite all these variations,
devoted to traditional methods of instruction.
ing the pupil a step-by-step procedure to
due
in
follow.
This
was
large part to the fact that performing each operation
in its entirety is much more time consuming than
cribing
That is, show-
the object to be overhauled.
on
a
bicycle were filmed.
filmed from various angles and distances.
-
28
-
des-
Because of the time re-
quired to film each operation, only a subset of
operations
simply
the
overhaul
These operations were
There were a number
-
29
-
of
differences
Contrary to normal practice,
tional film.
filmed
were
tions
this film and a traditional instruc-
between
in
opera-
This is so the movie
their entirety.
maker may cut to a closeup at any time,
closeups of
and not be
restricted
to only those closeups which seemed appropriate while filming.
During a personalized movie only a portion
may be shown,
the
of
operation
and the type of closeups required may be differare
ent depending on exactly which portions of the operations
being shown to a particular viewer.
Similarly, the amount of
may
movie
differ,
since
kinds of information:
detail
required
to
create
a
type of shot shows different
each
A long shot may
show
how
person
the
should stand next to the bicycle, a medium shot would show how
ones hand is placed on the part,
part
is
a closeup would show how
the
being handled, and an even tighter shot is needed to
show how the shape of the part determines how it must be
han-
dled.
Since different viewers need different types of infor-
mation,
all these various levels of detail should be included.
However,
the
is enormous.
number of shots required to satisfy any request
Therefore, only those shots which were
be fairly useful were filmed.
to
Even so, there was a tremendous
amount of information.
-
felt
30
-
-
31
-
-
32
-
-
33
-
-
34
-
Cutting and Editing
B.
and
After getting back the developed film
the
there
outakes,
about one and a half hours of film
In order to cut the film down to half an
on a bicycle.
First of all, much
a lot of material had to be removed.
hour,
opera-
somewhat over half of the possible overhaul
describing
tions
were
For example,
removed.
was
duplication
all
removing
two views of the same
were
subject which did not really have any content difference
cut in half, so that half of the operation was seen from
each
Although
angle.
not ideal, the viewer does get to see both views and
is
this
another
from
one angle and the other half
thus gets a sense of space,
the videodisc.
while freeing up valuable room
on
In addition, shots which were repetitive, such
as the derailleur adjustment,
were
These
drastically.
cut
shots can be intercut and replayed as necessary to recreate an
illustration of a derailleur adjustment.
and cuts
The closeups were carefully scanned,
to
remove
frames
those
frame.
For example,
bench,
there
or
workbench.
operation
where no action was going on in
when a nut was
being
no action in the frame.
put
down
on
the
the
The movie maker can
frame to simulate the time needed to put down the
either still
bolt,
is
made
were
can
cut
to
a shot of the nut being placed on the
Actually, in many instances
is
rather
tedious,. and it
watching
the
entire
may be desireable to have
the movie maker occasionally skip over pieces of film such
-
35
-
as
the setting down of nuts.
rear hubs were very similar.
shots were removed.
se-
same
the
After removing all this film, slightly
identical.
half an hour of film still remained.
ations such as brake adjustments,
for
use
can
illustrate those parts of the operation which are
to
quences
and
front
many of the duplicate
Therefore,
The movie maker
the
of
Some operations such as the overhaul
than
completeness
than
more
Some of the simple oper-
which had been included more
for uniqueness,
were discarded.
This
left a series of bicycle shots of just under half an hour.
In addition to the film itself,
taken
shots
exploded
This was augmented by pictures, diagrams,
views from a number of highly regarded books on
bicycle repair.
In total there were about
to the film.
added
still
35mm
were
all the bicycle parts and all the tools used
of
for each operation.
and
there
500
frames
still
This is enough to make a formidable slide
show, but seems rather insignifigant
compared
to
forty
the
This was the visual information
thousand plus frames of film.
for the videodisc.
The visual information had then to be laid
sensible
fashion
some
move,
it
is
to have all the shots which are likely to be seen in se-
quence very close together.
done
in
Since search time varies
on the videodisc.
proportionately with how far the videodisc must
best
out
on
ject is
videodisc
layout
since similar operations such
-
was
The relationship of each sub-
the basis of subject.
also important,
the
Thus
36
-
as
the
of the front and rear hubs have shots in common, and
overhaul
hence should be adjacent.
Some operations must also
before other operations.
formed
be
disassembled,
these subjects must also be adjacent.
library sequences and still
and
subject,
per-
For example, the front wheel
must be removed before the headset can
therefore
be
Finally, the
shots may be shown as part of
therefore they are grouped in
and
any
the middle of the
The final videodisc layout consists of a number of
videodisc.
around
the central resources.
Within each
subjects
grouped
subject,
there
Watching
the videodisc from start to finish is rather confus-
ing;
it
is
be seen in
are
long
cutaways,
shots,
and
designed to be played by the movie maker,
its entirety.
-
37
-
closeups.
not
to
Narrating
C.
A narration was then
the
accompany
to
film.
narration had been worked on throughout, it was
the
Although
prepared
impossible to fix the narration until the cutting of the
had
Since there are two sound tracks on the
finished.
been
videodisc, there was a full hour available for narration.
two
tracks
sound
sound
The
One sound track
were utilized as follows:
and
the
track would contain additional information.
The
was designated to follow the action on
other
film
the
screen,
first sound track also included the synchronous sound recorded
Sound had been recorded during all the long
filming.
during
and medium shots, and a few of the closeups.
ups
generally overlapped with another shot, sound is not
are
usually required.
to
shots
Since the close-
be
The layout of the sound tracks permits most
played
with synchronous sound and a voice over
The
describing the operation being performed.
second
sound
track is generally played with either a still frame, or with a
picture from another part of the disc.
deodiscs,
but
This requires two
vi-
even then there may be a pause while searching
for the next sequence to play.
Of course, with three or
more
videodiscs, this is not a problem.
first
sound
the action in the film.
This
As mentioned above, the narration
track
was
written
to
follow
meant that in some cases when a lengthy
quired
it
for
the
explanation
was
re-
was necessary to move a part of the description to
-
38
-
In
the second sound track.
cutaways
description is required, additional narration which
no
where
as
such
cases,
other
was
picture
is not played with the
included
the
on
first
A script was written to describe each operation as it
track.
was performed in the film.
script
the
reading
while
Trial run-throughs
were
watching a videotape of the final
edi-
The script was typed up using a computerized text
film.
by
made
tor which made it easy to modify and move information from one
be
"play
the
Run-throughs were made until
of the narration.
this
movie
generate text on the screen using the computer file
to
maker
the
It is also possible for
sound track to the other.
play"
pace
of
exactly matched that of the
narration
film.
The one section of the film which did not lend itself
type
this
leurs.
not
of
description
to
was the adjustment of the derail-
Unlike the other bicycle operations,
the viewer
could
comprehend what was being done simply by watching the si-
lent film.
For this section of the
film
without regard to the picture,
written
the
narration
was
with the idea that the
movie maker will fit the picture to the narration
instead
of
the other way around.
In addition to procedural descriptions, there
other
things
First of all,
prepared
to
say
bicycle overhaul
about
alternate procedures,
many
were
(see Table 3).
and summaries
had
to
be
These narrations were at a dif-
for all operations.
ferent pace than the procedural descriptions, and were
-
39
-
gener-
Table 3.
Types of Narration
Procedure to be Followed
Abreviated Procedure
Introduction to Job
Summary of Job
Overview
List of Tools and Materials Required
Functional Description of Part
Functional Description of Assembly
Summary
How the Parts Fit Together
How to Positon Yourself
Where the Work is Done (bench, stand)
Why Things Are Done in a Particular Way
Things to Check For
Hints
How Much is Left to be Done
Possible Errors
Results of Possible Errors
Glossary of Terms
Listing of Parts and Tools
-
40
-
of all the tools needed to perform the overhaul.
list
a
introduction
For each operation there was also an
operation.
and
the cutaways and closeups for a particular
with
placed
ally
There was a description of each part and how it fit
well
as
assembly,
as an overall description of the assembly
There were additional hints and expla-
and how it functioned.
nations,
as
such
how to test whether a bolt was
suggesting
tight enough, and what might happen if it wasn't.
comments
on
why
the
into
were
There
certain proceudures should be done, the se-
quence of operations to be followed, which operations were upcoming,
and
There
how many operations were left to be done.
was also a glossary containing the names of all the parts
shown
tools
on
the
and
The movie maker can use the
videodisc.
of
glossary to say the name of a part while showing a picture
it to the viewer.
All of these alternate and additional explanations filled
up most of the second track as well as the unused space on the
portion
first track, thus utilizing all of the audio
videodisc.
The
the
recording was done while viewing the
actual
videotape of the film, ensuring that the timing of the
matched that of the film.
tion
of
narra-
The two sound tracks were re-
corded scene by scene, and then cut to exactly match the film.
As
in
the
film,
grouped together.
all
remarks about a particular topic were
narration
The first
which
contained
the
play-by-play description was mixed with the synchronous sound.
Then the two sound tracks,
and the picture,
fornia to be manufactured into a videodisc.
-
41
-
were sent to Cali-
CHAPTER 4
Components of the Movie Maker
The Database
A.
be
Once the film was on the videodisc, a database had to
The data-
to describe the film to the movie player.
designed
base describes the contents of the videodisc, both in terms of
and
considerations
cinematic
portion is general enough to be used for
bicycle
the
repair
Information on the videodisc is broken up
corresponds
segment
any
of
type
film;
particular to this project.
is
portion
The cinematic
bicycle repair.
A
segments.
into
Thus a segment for a still
to one shot.
frame is only one frame long, whereas a
film
for
segment
a
long overhaul operation may be several thousand frames long.
Each segment is described by
1).
figure
a
descriptor
record
(see
A segment descriptor record contains not only the
physical disc position of the segment (start and stop frames),
also
but
cinematic
This includes the cinematic type
data.
(audiovisual, audio only, visuals only, or still),
of
the
angle
view, and the degree of zoom (long shot, medium, closeup).
There is
ople,
also data on whether the shot is
left-handed people,
how much detail is
or both,
-
42
for right-handed pe-
-
shown by
2
3
4
TYPE (AUDIO, VISUAL, AUDIO/ VISUAL , STILL)_
START FRAME NUMBERS
END FRAME NUMBERS
MEASURES OF ---
5
6
7
8
9
10
11
12
RIGHT/ LEFT
AUDIO TRACK
AVERAGE SEGMENT KNOWLEDGE
ANGLE OF VIEW
ZOOM
STRETCHABILITY
POINTER TO FIRST LINK
POINTER TO FIRST KNOWLEDGE
I
FIGURE I SEGMENT DESCRIPTION RECORD
HOW-TO
WHAT- IS
ABSTRACTION
EXPLODED
DETAIL
the shot, whether it is an exploded view, and how much of
content
is
or
procedural
the
The distinction of
descriptive.
whether the mode of teaching tells the viewer how
to
do
the
operation, as opposed to describing the function and operation
of the the parts and the assembly, is referred
and
"what-is"
to
as"how-to"
This distinction is the way in
respecitvely.
which different teaching modes are
recognized
by
descriptor
record
movie
the
player.
Associated with each
of
number
other
records.
descriptor
segment are shown in
subject
segment
descriptor
of
marks
these
a
The subject des-
(see Figure 3).
record
a
Their relation to the
The first
Figure 2.
are
criptor record describes the function of the segment, the name
of the operation being illustrated, and how much of the operation is shown.
an
introduction
The function of segments include,
to
a
a description of how to use a
topic,
tool,
a long shot of the entire operation,
name
of
the operation,
for example,
such as the hub,
or a closeup.
is
The
used to associate
all the segments which describe the overhaul of hubs.
The am-
ount of the operation described by the segment is specified by
of
an estimated percentage of completion at the start and end
the
segment.
operation,
This is
used to match up major sections of the
so that the appropriate closeup can
be
overlapped
onto a long shot of a bolt being removed.
In addition to the subject descriptor record there are
number of sub-subject descriptor records
-
44
-
(see Figure 4) .
a
Each
SEGMENT
SUBJECT
ISUBSUBJECT
#11
KNOWLEDGE *1 #2
LINK #1
FIGURE
j
#2
# 31 #4
#3
ILINK*2
*4
1
#5
#6
#5
LINK #3
RELATIONSHIP OF RECORD
TYPES FOR A SEGMENT
I
2
3
4
5
FIGURE
TYPE (MASTER, DETAIL, CLOSEUP, ETC.)
SUBJECT NAME
START % COMPLETION
END % COMPLETION
POINTER TO FIRST SUBSUBJECT
SUBJECT DESCRIPTION RECORD
-
46
-
TYPE (ALWAYS 1)
2 START FRAME NUMBERS
3 END FRAME NUMBERS
4 LOCATION (FRONT, BACK)
I
5
6
7
8
PART NAME
TOOL NAMES (2)
OPERATION (APART, TOGETHER)
SUBASSEMBLY USED
9 POINTER TO NEXT
FIGURE 4 SUBSUBJECT DESCRIPTION
RECORD
-
47
-
such
of these describes one step within the segment,
of
removal
a
the
There must be at
part such as a bolt.
single
as
least one sub-subject descriptor per segment, and there may be
as many as required.
A sub-subject descriptor record contains
information on which
part
both, whether this sub-subject applies to
back
bicycle
the
of
or
the
must
included
be
as
An example of an included operation
this operation.
of
front
the
or both, which tools are required, and
what other operations or subassemblies
part
installed,
or
removed
being
it being removed or installed or
shows
segment
the
whether
is
is that the front wheel must be removed before overhauling the
headset
or
the
front hub, or repairing the front tire.
front wheel removal
is
therefore
a
considered
The
subassembly
which must be done as part of these other operations.
There are assumed to only be two
since
only
people
tools at a time.
can
be
If
have
two
hands, and can only handle two
a third tool is used,
record
cord, the sub-subject description
sub-subject.
of
completion
then
the
subject
Like the subject description re-
subdivided further.
percentage
sub-subject
per
tools
at
the
also
begining
contains
and
Once again, these percentages are used
the
end of the
to
con-
trol the overlapping of segments which describe the same operation.
the
They are used by the automatic linker which is part of
editor
and
is described below.
It is also necessary to
specify exactly where the sub-subject appears within the
ment.
In
seg-
order that this information can easily be verified
-
48
-
on the videodisc, the sub-subject position is stored using abnumbers, just as in the segment des-
frame
videodisc
solute
criptor.
To accomplish this, each segment is
knowledge
descriptor records (see Figure 5).
and
in
Knowledge
Firstly they divide
a
has narration into short pieces, each of which
which
has one or two sentences.
cut
or
one
with
associated
descriptor records serve two purposes.
segment
into
subdivided
each segment is subdivided into cutable scenes.
sub-subjects,
more
is
subject
the
as
way
same
In the
This enables the
movie
player
to
out of a sequence without chopping it off in the
middle of a sentence.
Secondly each knowledge descriptor has,
as its name indicates, the amount of knowledge associated with
This information is used by
each portion of the segment.
the
decide
whether a particular portion of the
segment should be played.
There are two measures of knowledge
movie
player
each
for
to
segment
The first is how knowledgeable a
portion.
is
viewer should be before this segment portion
example,
to
For
a brief reminder would only be given to a viewer who
had done the operation many times before;
shown
shown.
a
novice
it
would
not
to whom it would just be confusing.
be
The
other measure of knowledge is how useful the sequence is likely
to be to the viewer.
The movie player would show only the
highlights of an operation to a fast learner, whereas
learner
would
be
taken
through
49
-
slow
all possible elaborations.
Like the sub-subject descriptor records,
-
a
the
knowledge
des-
I
2
3
4
5
6
7
TYPE (SAME AS SEGMENT TYPE)
START FRAME NUMBERS
END FRAME NUMBERS
STOP FRAME NUMBER
KNOWLEDGE REQUIRED
KNOWLEDGE GIVEN
POINTER TO NEXT
FIGURE 5 KNOWLEDGE DESCRIPTION
RECORD
-
50
-
records
criptor
absolute videodisc frame numbers to
contain
representative
a
for the segment portion is speci-
frame
stop
addition,
In
specifiy their position within the segment.
fied.
This stop frame is used by the movie player
trate
the
illus-
to
portion when continuous motion is not de-
segment
sired.
Lastly, each segment may also have
(see
cords
6).
Figure
descriptor
link
re-
Link descriptor records specify that
link
A
another segment may be spliced onto the current one.
descriptor record specifies the segment which is to be linked,
The
and an exit and reentry position for the linked segment.
segment
with the link descriptor record is referred to as the
and the segment
segment linked from,
descriptor
in
specified
The exit
refered to the linked segment.
record is
link
the
con-
and reentry positions may be anywhere within the segment
taining
the
link
(see
Figure 7).
which case the linked segment is
the
current
segment.
They may be the same, in
actually a
diversion
within
For example, to illustrate the removal
of the front wheel before the disassembly of the headset,
segment
the
for the headset disassembly has a link to the segment
describing the removal of the front wheel.
The link exit
and
reentry position are both at the start of the headset segment;
the movie player will therefore shown the removal of the front
wheel
before
the
overhaul of the headset.
closeup, the exit and reentry positions would
after
the shot being replaced by the closeup.
-
51
-
In the case of a
be
before
and
For an abrevi-
I
2
3
4
5
TYPE (SAME AS SUBJECT TYPE)
EXIT FRAME NUMBERS
REENTRY FRAME NUMBERS
SEGMENT LINKING TO
POINTER TO NEXT
FIGURE 6 LINK DESCRIPTION
RECORD
-
52
-
LINK #1
DIVERSION
LINK #2
CLOSEUP
LINK#3
ABRIDGED
VERSION
FIGURE 7 LINK USAGE
LINK
#4
ALTERNATE
METHOD
further
be
would
thus creating a shorter route between two parts of the
apart,
As in all the other descriptor records, the
original segment.
positions
reentry
and
exit
reentry
and
ated sequence, the link exit
videodisc
absolute
are
frame
numbers.
In order to create a database describing an entire movie,
One seg-
segments are linked together in a sort of hierarchy.
in
ment is linked to a second, which
third,
is
turn
Thus the links form a tree,
and so on.
linked
to
with each seg-
However, since a segment may be linked
ment being a node.
a
by
more than one other segment, the structure is actually a graph
Still,
(see Figure 8).
a
with
tree
it
often usefull to think of it
is
segments,
called
link
The
being
more
These
performed.
those which show alternative ways of doing
to
things, which in turn link to closeups, and so on.
actually
There
In ad-
any level segment may link to a generally usefull seg-
ment such a closeup,
Master
segments
or a description of how to
use
a
tool.
may also link to other master segments which
However,
are to be used as subassemblies.
ments
are
intermediary levels, thus accomodating all the
variations which exist on the videodisc (see Table 4).
dition,
level
top
segments are medium or long shots
"master"
which describe the entire operation
segments
Within
the common nodes just being duplicated.
this structure there is an implied hierarchy.
as
in
general,
seg-
only link to segments which are below them in the hier-
archy.
-
54
-
TOPIC #2
TOPIC #1
FIGURE 8 THE DATABASE GRAPH
TOPIC # 3
Table 4.
Heirarchy of Segments
Master Segments
Sub-master Segments
Different Ways of Doing the Operation
Detail Shots
Cutaways
Closeups
Macro Closeups
Subassemblies
Tool Usage Shots
Introductions
Overviews
-
56
-
The physical layout of the database is as follows:
type
record is kept in a separate file, or to
descriptor
of
segment.
Within each file there
length records.
There is a count of the
use the MagicSix terminology,
fixed
multiple
are
allocating new records and when setting the length
when
This type,
cord type.
whose meaning varies from record to re-
cord, is set to zero when a record is
record per segment, a subject record
segment
record
whenever
created
a
and link descriptor
The segment contains the record number of the first
sub-subject,
such
is
knowledge,
variable number of sub-subject,
records.
segments
For each segment there may be a
created.
is
enabling
there is exactly one subject descriptor
Since
created.
as
Segment records are allocated
record to record.
are
thus
deleted
The rest of the fields vary from
to be reclaimed.
space
re-
The first field of each record contains the
of the file.
the
is
count
This
allocated records at the start of each file.
used
Each
record
then
descriptor
link
and
knowledge,
records.
Each
the number of the next record of
contains
that type, with a zero signifying the end of the chain for the
segment
(see Figure 9).
Links also contain the record number
of the segment which is being linked.
a
very
large array,
Each file is defined as
so that no explicit calculations have to
be done to find a particular record within a file.
It was mentioned above that the descriptor
tain
information
on
records
con-
operation is being performed and
which
Obviously it
which part is being handled.
-
57
-
is
desireable
to
SEGMENT
DESCRIPTION
RECORD
*1
SUBJECT
DESCRIPTION
RECORD
#1
*
SUBSUBJECT
DESCRIPTION
RECORD
SUBSUBJECT
DESCRIPTION
RECORD
SUBSUBJECT
DESCRIPTION
RECORD
SEGMENT
#2
SUBJECT
#2
SUBSUBJECT
DESCRIPTION
RECORD
KNOWLEDGE
DESCRIPTION
RECORD
KNOWLEDGE
DESCRIPTION
RECORD
JREC
LINK
DESCRIPTION
LINK
DESCRIPTION
RECORD
KNOWLEDGE
DESCRIPTION
RECORD
KNOWLEDGE
DESCRIPTION
RECORD
KNOWLEDGE
DESCRIPTION
RECORD
FIGURE 9 RELATIONSHIP OF DESCRIPTION RECORDS
have this information displayed in English, rather than having
to remember that operation
and
so
on.
1 is the headset,
2
is
the
hub
On the other hand, storing all these characters
many times in each file would cause the files to get unmanageably
big.
Therefore, the last part of the database is a dic-
tionary which keeps a record of all the
numberical
the descriptor records and what they mean.
the next topic.
-
59
-
in
This dictionary is
updated automatically as new types are created.
by the database editor,
types
This is
done
B.
The Editor
The database editor facilitates the entry and updating of
the
videodisc
is only suitable for editing the
as
it
The general mode of operation
tion described by the database.
the
database,
a great deal of knowledge about the type of informa-
contains
of
This editor
descriptor records in the database.
various
it opens one field at a time
as follows:
is
editor
within a given record, displays the old contents of the field,
and
At this time one can enter
prompts for the new contents.
See Table 5 for a
either a new value, or any editing command.
list of Editor Commands.
Editing commands permit one to move to any segment within
the
Once
database.
within
segment,
a
one
may go to any
sub-subject, knowledge, or link descriptor record.
seg-
The
ment and subject descriptor records are viewed as a single record since there is a one-to-one correspondence between
Whenever
the
editor
them.
to a new record, it first of all
moves
displays the entire record, and then opens the first field
the
record.
If
a new value is entered, the editor moves to
the next field in the record.
the
next
or deleted,
in
It
is
also possible to move
or previous field or record.
to
Records may be copied
and new ones may be added.
The editor keeps track of all the pointers from a segment
to its sub-subject, knowledge, and link descriptor records, as
well as the linked list of descriptor records
-
60
-
of
each
type.
Table 5.
Editor Commands
Add a new record
go to Begining of record
Copy a record
Delete a record
Error-go back to previous field
*
Field-go to next field
Generate links automatically
go to sub-subJect record
go to Knowledge record
go to Link record
*
*
*
Move to segment pointed to by link
Next record
*
*
Order the records for a segment
Previous record *
Quit
go to Segment record
*
Type the entire database
Up in
tree (opposite of Move)
View on videodisc
Watch current frame
"help" command
* means the command uses a positive integer argument.
-
61
-
The editor attempts to be helpfull by initializing values whenever a new descriptor record is created;
for example, when a
knowledge record is created the start position of the re-
new
cord (its videodisc frame number) is calculated to be the
frame
end
one of the previous knowledge record for the cur-
plus
The end position is initialized to be the
rent segment.
same
Similar initializations are
as the end of the entire segment.
Assembled into the editor is in-
done for other record types.
formation about which type of information goes into each field
of
each
type.
record
five
are
tionary, numerical values which have a
pointer
fields
which
fields
of
fields:
minimum
and
maximum,
are created and updated by the editor,
The editor only prompts the
and unused or spare fields.
for
types
numbers, numberical types which use the dic-
frame
videodisc
There
user
of the first three types, and checks the legality
of information put into each field.
As mentioned above, there is a dictionary containing
meanings
of
all
the
the
types within the data base.
numerical
Whenever the editor opens a field containing a numerical type,
it
prompts
either a character string or a number.
for
If a
character string is typed, the editor compares it with all the
existing
types
the associated value is used.
all
the
asks if
updated
If the entry already exists,
for that field.
existing
Otherwise the editor prints out
definitions for that field and
dictionary
a new entry should be made.
If
so,
the dictionary
is
appropriately, otherwise an existing defintion can be
-
62
-
the
numerical value, and its definition are shown.
separate dictionaries for most fields
the fields have the same numerical
linked,
being
back
or
remembers
through
portion,
editor will play any segment, sub-subject
portion,
up
It
the
the
to verify the database on the videodisc the
order
In
since
to
link
a
and so on down the tree.
the path taken so that one can also go
tree.
al-
database,
types.
The editor also allows one to move from
segment
There are
share the same dictionary entries,
fields
some
though
the
in
both
displayed,
are
Whenever the contents of a field
used.
link
portion on the videodisc.
knowledge
If the start or
number
end of the portion is incorrect, the appropriate frame
adjusted, and then the portion previewed again.
When
playing a link, the editor will play part of the current
seg-
can
be
by
followed
ment,
the segment being linked, and then by the
current segment again.
This allows one
to
preview
cuts
as
they will be make by the movie player, and verify that the motion appears continuous from one sequence to another.
The editor is also capable of creating links automatically.
The
auto-linker function of the editor uses the subject
and sub-subject fields to determine whether one segment can be
linked
to another.
One segment is linked to another whenever
they describe the same portion (or portions) of the same overhaul operation, or when one segment describes a tool or subassembly used by another
being
linked
to
segment.
In
addition,
the
segment
must be lower in the segment heirarchy than
-
63
-
the segment being linked from, except for the special case
a
Whenever
subassembly.
of
the content of the segments match,
link.
and a link does not yet exist, the editor will create a
Existing links are not replaced, so that automatic linking may
be done after new segments
are
entered
into
the
database,
without replacing those links whose cut points have been optiThe auto-linker uses the
mally adjusted.
tion
link
overlaps
linked from.
sitions
the
positions,
such
and
Although one must generally adjust the link
manually
after
the
previewing
roughly positions them..
shots,
or
po-
cuts, the automatic
togeth-
This is especially usefull
for linking commonly used segments such as the
tion
that
correct portion of the segment being
linker does find all the segments which can be linked
er,
comple-
fields in the subject and sub-subject descriptor records
to calculate the link exit and reentry
the
percentage
tool
descrip-
for any overhaul operation which has a large
number of segments.
The auto-linker starts at a specified segment.
It
cre-
ates all the possible links for the starting segment, and then
does the same for each segment which was linked to the
ing
segment.
It then creates links for each segment which is
linked by them, and so on.
tree
start-
Thus the auto-linker will create a
which describes an entire operation.
The database crea-
tion process consists of defining all the segments by means of
segment,
cords.
subject,
sub-subject,
and
knowledge decriptor re-
Then the auto-linker is run to structure
-
64
-
the
segment
tree
by means of the link descriptor records.
are adjusted manually,
and the database is
the movie player.
-
65
-
Then the links
ready to be used by
The Movie Player
C.
The movie player is the program which actually plays personalized
movies.
the viewer model.
the
videodisc
It interacts with the viewer and constucts
The movie maker uses the viewer
model
and
database to dtermine what segments should make
up each movie.
Movies are played using two videodisc
under control of the movie maker program.
players
Each videodisc pla-
yer has a copy of the bicycle disc described above, so all sequences
can
be
played from either disc.
The following des-
has an overview of
cription of the movie maker first
how
mo-
vies are generated using the database, and then an explanation
of how movies are personalized to the viewer.
The movie player uses most of the data
the
editor,
the movie
as well as some files of its own.
player
does
descriptor
sub-subject
not
currently
use
describe each subject.
data
records.
are
In particular
the
subject
or
to
trees
create
instead
of
the
The movie player also has a file containing
a profile of each person who has interacted
profiles
by
All of the segments relevent to
a subject can thus be accessed via the tree,
subject
created
records, since it is assumed that the
automatic linker has used the subject
which
base
updated
with
it;
whenever a movie is created.
these
Although
one of the first things done by the movie player is to ask for
the
name
of
the viewer,
it
is
best to first
discuss the me-
chanism for expanding the database tree and creating a
-
66
-
movie.
a flowchart of this process.
Figure 10 is
The movie player first asks for the topic of the movie to
be
is currently done by displaying a list of
This
created.
the
possible topics and asking
viewer
to
topic
the
enter
Although this method is somewhat clumsy, the end re-
number.
of
the viewer could point to a picture
the same as if
sult is
Each
the bicycle and indicate which part is to be overhauled.
node
start
topic is associated with a
within
database
the
or segment, is the master segment for the
node,
tree.
This
topic.
It is generally a long shot of the entire overhaul opThis
eration.
node is used as a start node for expansion of
the tree.
The
first
is expanded into what are called movie sequences.
A se-
done as follows:
The expansion of the tree is
node
segment
quence is an expansion of a
Figure
11).
descriptor
A sequence descriptor record contains all of the
segment descriptor
fields, as well as additional data describ-
ing how a linked segment is
to interact with the sequence,
cinematic data such as the speed the sequence is
at,
and audio/visual interaction.
expanded.
For
one.
of
the
segment
for a short segment there may
be
In fact, due to the matching of the viewers knowl-
edge with the knowledge description record,
knowledge
played
long segment there may be twenty or
a
thirty sequences generated;
only
to be
and
Initially, one sequence is
created for each knowledge descriptor record
being
(see
record
portions
may
be discarded.
-
67
-
some or all of the
However, for now, the
qSTART
GET VIEWER NAME
(GVIEWER)
GET TOPIC (START SEGMENT)
(GTOPIC)
EXPAND CURRENT
SEGMENT INTO SEQUENCES
(KEXPAND)
REMOVE SEQUENCES OVERLAPPED
BY CURRENT EXPANSION
(REPLACE)
DUPLICATE IMPORTANT
SEQUENCES IN SLOW MOTION
(DUPLICATE)
ATTACH LINKS FROM CURRENT
SEGMENT TO SEQUENCES JUST CREATED
(LEXPAND)
|PLAY
SEQUENCES
WITHOUT LINKS
(VIEW)
SAVE WHAT WAS PLAYED
(SAVE)
FIND NEW SEGMENT
AND POSITION
TO INSERT IT
(LINKSEG)
YES
ANY
SEQUENCES
LEFT
NO
UPDATE
USER
PROFILE
DONE
(UPDATE)
FIGURE 10 THE MOVIE PLAYER FLOWCHART
-
68
-
I
TYPE (AUDIO, VISUAL,
AUDIO/VISUAL, STILL)
2
SUBJECT TYPE (MASTER,
DETAIL, CLOSEUP, ETC.)
3
VISUAL START FRAME
4
VISUAL END FRAME
5
AUDIO START FRAME
REQUIRED
6
AUDIO END FRAME
GIVEN
7
MEASURES OF
RANKING
8
ANGLE OF VIEW
9
AUDIO TRACK
10
RIGHT/LEFT HANDED
11
SPEED (STILL, NORMAL,
I
SLOW MOTION)
12
KNOWLEDGE DATA
13
LINK DATA
AVERAGE SEGMENT KNOWLEDGE
I
POINTER TO LINKED SEGMENT
2
EXIT FRAME NUMBERS
3
REENTRY FRAME NUMBERS
4
LINK WEIGHT
5
LINK TYPE
(BEFORE, DURING, AFTER)
6
TYPE OF LINKED SEGMENT
7
SUBJECT TYPE OF
LINKED SEGMENT
FIGURE II SEQUENCE DESCRIPTION RECORD
-
69
-
assumption will be that all expansions are used.
After the knowledge records for a segment have been
pro-
cessed, the links for the segment must also be included.
Each
sequence can also specify one link.
Therefore,
each
link
is
stored
in the first sequence which overlaps the link exit po-
sition.
If more than one link overlaps a given sequence, then
dummy
are
sequences
created to hold subsequent sets of link
various tests are made to
Once again,
information.
determine
a particular link should be included, and thus become
whether
part of the movie.
current
the
After all the links for
segment
have
been
the movie player attemps to play sequences which do
processed,
not have any links to be expanded.
Starting
with
the
first
the movie player will play each sequence in turn on
sequence,
the videodisc until a sequence containing
a
link
is
found.
Sequences without links are sequences which cannot be expanded
any further since there is nothing below
Therefore,
the
tree.
sequences have been played they are deleted.
once
On the other hand, sequences still containing
expanded
in
them
further
(see
Figure
12).
links
must
If a master segment has
just been expanded, then it is likely that all sequences
contain
still
links
and
case the first remaining
quence,
nothing can yet be played.
sequence
be
becomes
the
will
In any
current
se-
and the movie maker uses its link information to find
the next segment to be linked.
The segment being linked may go before,
-
70
-
after,
or in
the
NO SEQUENCES
SEGMENT
KNOWLEDGE II
2I
31
I
SEGMENT
KNOWLEDGE
I
2
I
I
3
I
1
LINK
SEGMENT
I
KNOWLEDGE 2
I
LINK
I
3
SEGMENT
I
KNOWLEDGE 2
LINK
I
PART
I
I
2
I
2
I
3
SEGMENT
I
KNOWLEDGE 2
PART
I
2
1
2
2
SEGMENT
KNOWLEDGE
PART
I
I2
2
I
PUT IN LINK FOR SEGMENT #1
PLAY SEQUENCES WITHOUT LINKS
(SEGMENT #1, KNOWLEDGE #1 WERE PLAYED)
1
2
LINK I
SEGMENT
2
KNOWLEDGE 2
LINK
I
2
PART 2
3
SEGMENT
3
KNOWLEDGE I
2
2
I
2
PART 2
NO SEQUENCES
EXPAND SEGMENT #1
I
PREPARE TO EXPAND LINK
SUBDIVIDE SEQUENCE
I
2
2
2
PART 2
EXPAND
3
3
PUT
IN LINKS
LINKED SEGMENT
FOR
THAT SEGMENT
I
PLAY SEQUENCES
I
3
WITHOUT LINKS
EXPAND
NOW ALL SEQUENCES
FIGURE 12 THE SEQUENCE LIST
THE
LINK
CAN BE PLAYED
the master sequence described above.
as
way
the
in
expanded into sequences
The new segment is
inserted.
same
derived from the linked segment should be
sequences
new
where
to
In any case, a pointer is set
the sequence in two.
the
and thus may require splitting
sequence,
the first
of
middle
These se-
quences are inserted into the sequence list at the appropriate
After
place.
segment has been expanded, the succeeding
the
sequences must be checked to see if they will be overlapped by
They may have to be deleted, or
the newly inserted sequences.
Then the movie player once again
shortened.
which
sequences
not contain unexpanded links, and expands the first
do
link found.
segments
plays
This process continues until all the
have
appropriate
been expanded, and all the resulting sequences
have been played.
That is the way in which movies are
gener-
ated.
As mentioned above, all expansions of the tree
ject
to
various
viewer's preference.
mine
whether
a
pruning
thus
tests,
the tree to fit each
Some of these tests are made
sequence with another,
In
order
deter-
the
value
of
and other tests evaluate the cineand
visual
for a sequence to be played it
has to
matic problems of intercutting the various
components.
to
is likely to wish (or need) to see a
viewer
given sequence, some tests are used to compare
one
sub-
are
audio
pass all of these tests.
Initially, when a segment
is expanded into sequences,
the
knowledge levels of the viewer are compared with the knowledge
-
72
-
The viewer has
levels in each knowledge descriptor record.
a
knowledge level for each segment, as well as each overhaul operation,
or
for the type of
and a preference
("how-to"
are calculated based on whether the
Weights
"what-is").
learning
portion,
viewer has sufficient knowledge to watch the segment
how
and how closely the mode of
much will be learned from it,
of
teaching matches the preferred learning mode
the
viewer.
This weight becomes the knowledge ranking of the sequence.
order for a sequence to be created, the knowledge ranking
a portion must exceed a certain value.
In
for
This value differs de-
pending on whether the segment is a master segment (their portions
are
the current knowledge portion would overlap another
their
When
almost always used) or another subject type.
knowledge
rankings
sequence,
are compared to see which sequence
should be used.
When processing the links for a segment another series of
tests
The first test evaluates whether
are made.
description corresponds to the viewer preferences:
ment
the segment
The
seg-
such as level of detail, mode of teaching,
descriptors,
are
abstraction,
matched
with
and measure
of
preferences
to calculate a weight for the segment.
visual components are also matched,
the
viewer
Audio and
and may even be removed if
the viewer has a strong preference for one or the other.
again, the weight must exceed a certain minimum in
the
high,
segment
to
then other
be
included.
tests
are
If
made:
-
73
-
the weight is
Existing
order
Once
for
sufficiently
sequences
are
scanned
to see if they contain links to overlapping segments,
ma-
thus implying that these other segments describe the same
terial,
likely
most
in
a different manner.
segment is found, the weights of the
If a duplicate
com-
are
segments
two
If one segment has a considerably higher weight it is
pared.
If
used, and the other segment is discarded.
segments
both
have roughly the same weight, the viewer profile is scanned to
recently;
see which segment has been shown to the viewer most
This
that segment is discarded and the other segment is used.
test is designed to introduce as much variety as possible when
equivalent material is available.
The next test, which is made when
for
a
processing
links
the
segment, is to evaluate how each linked segment can be
will be linked.
intercut with the sequence from which it
The
cinematic considerations of intercutting audio and visual comFor example, two segments with
ponents are used in this test.
narration
can
only be played sequentially, since a narration
cannot be interrupted in midsentence.
On
the
other
hand
a
picture may be interrupted by another picture, or may be overA segment
lapped with a narrative segment.
and
visual
components
with
both
audio
have the picture temporarily re-
may
placed by a closeup while the narration continues.
There
are
many possibilities, and the decision involves not only whether
how
the combination is possible, but
combinations,
to
resolve
such as two narrations in parallel
erally discarded).
impossible
(one is gen-
In addition, some combinations need to
-
74
-
be
played on two videodiscs concurrently;
there is
lowed if
only one videodisc on the system.
matic checks to avoid jump cuts.
from
similar
The
cut-
also subject to some basic cine-
picture segments is
of
ting
hence they are not al-
For example, two long
shots
angles cannot be played in succession, since it
would be visually disturbing.
After examining the cinematic interaction of each segment
with
the
appropriate
sequence, their relationship is deter-
mined to be one of the following.
discarded.
It may be placed at the begining or the end of the
sequence being linked from.
quence
Firstly, the segment may be
being
linked
The segment may interrupt the seor it may be played concurrently
from,
with the sequence being linked from.
being
linked
from
is
a
without any effect at all.
to
avoid
jump
cuts.
Lastly, if the
sequence
dummy, the segment may be included
In fact, dummy sequences are
used
When a long segment is divided up into
many portions, some of these portions will probably not become
sequences,
due to a low knowldege ranking.
jump cuts, dummy sequences are created
In order to avoid
between
the
disjoint
portions, and a special effort is made to link another segment
Still diagrams are used to bridge
into these dummy sequences.
the jump cuts if no other segment is found to be appropriate.
After passing through all these checks,
almost
ready
to
be
included.
the
segment
However, first its weight is
compared with the link weight of any sequences which it
laps.
is
over-
Once again, if the segment link weight is considerably
-
75
-
lower than that of the sequence being overlapped, the
is not included.
segment
This last check prevents the tree from being
fully expanded when the viewer would actually prefer the
ple
explanation
provided by the master segment for an opera-
Thus by the time a sequence is
tion.
sim-
actually played,
it
has
been checked both against absolute criteria, and against other
similar sequences, to verify that the sequence is
appropriate
for the particular viewer.
Another feature of the movie player is that it will automatically
replay valuable sequences in slow motion.
If a se-
quence has a particularly high knowledge ranking, and it is
short
closeup,
it will be duplicated by the player, and thus
be played twice, once at normal speed, and then once again
slow
motion.
a
The
movie
in
player also saves the last few se-
quences shown so that the viewer can request to have them
re-
played at any time.
So far this discussion has alluded to the viewers preferactually explaining how they are kept and up-
ences,
without
dated.
Each viewer has a profile record, which is used in all
of
the
checks and decisions described above (see Figure 13).
When a viewer enters their name, the player looks the name
in
the
is used.
viewer
viewer file.
Otherwise,
If the name exits, the existing profile
a new
viewer
record
is
added
to
the
file, and the movie player asks a few questions to aid
in initialization of the profile
whether
up
the
viwer
record.
The
quesions
are
is right or left handed, and how much the
-
76
-
VIEWER NAME
NUMBER OF TIMES VIEWER
HAS SEEN A MOVIE
.LAST 50 SEGMENTS SEEN
KNOWLEDGE RANKING
FOR EACH SEGMENT
KNOWLEDGE RANKING
FOR EACH SUBJECT
LAST PREFERENCE CHANGES MADE
USER LEARNING RATE
PREFERENCES FOR
RIGHT/ LEFT HANDED
HOW-TO
WHAT-IS
PICTURE
NARRATION
ABSTRACTION
EXPLODED VIEWS
DETAIL
.
,
FIGURE 13 VIEWER PROFILE RECORD
-
77
viewer know about bicycles, bicycle repair, and mechanical repair
in
general.
file,
together with neutral preferences
narration,
These answers are used in the viewers pro-
amount
of
things
such
as
detail,
and
exploded views.
During a movie, the viewer can interrupt
the
player
time,
stills,
for
at
any
and indicate that he or she wishes to alter one or more
of their preferences.
The player
prompts
for
type
of
and then alters the viewer profile appropriately.
change,
a viewer makes the same preference request
then
the
twice
in
their profile is alterred more drastically.
rect assumptions about
the
viewer
can
be
a
If
row,
Thus incor-
corrected
quite
quickly.
Each viewer profile also contains a list
of the
50
last
segments viewed,
thus providing the player with the ability to
vary the movie.
The player will not show a segment
time
if
an equivalent segment is available.
also contain a measure
topic,
and
also
of
the
viewers
for each segment in
que.
a subject,
second
Viewer profiles
knowledge
the database.
knowledge ranking reflects both the viewers overall
about
a
for
each
Thus the
knowledge
and specific knowledge about a given techni-
The appropriate segment and subject values
by the viewers learing rate whenever a movie is
are
updated
finished.
viewer's knowledge for all subjects and segments are set to
certain
minimum,
which
is
with
a
a fraction of the viewers average
knowledge for all subjects and segments.
familiar
The
Thus a viewer who is
one part of the bicycle is assumed to be some-
78-
what familiar with the techniques of bicycle
shown.
not treated as a complete novice when a new subject is
There are only a few facets of
have
not yet been discussed.
the
movie
is
and
repair,
player
which
One of these is that the player
number
This
asks how many videodiscs are on the system.
is
used by the player to decide whether certain audio/visual combinations can be played.
current
If there
run
videodiscs
(the
player
playing.
This is very usefull for
can
also
movies
the
save
player
The
debugging
which
79
-
purposes.
are created.
However, this is really a part of the story teller.
-
can
or can pause before playing
without any videodiscs,
each sequence.
The
two
maximum), the player switches between them, searching
on one videodisc while the other is
also
are
D.
Story Teller
the
The story teller is
last
component
the
of
movie
The story teller is a diagnostic aid which allows one
maker.
to save movies, replay them, and describe them in terms of the
The movie player can optionally create a
database.
original
file which contains all of the sequences shown during a movie.
This
can also be played back by the movie player, since
file
story teller is used to close the
The
tree.
the
expanding
loop between the player and the editor.
saved
sequences
quence.
by
This is done
sub-subject,
and
of
It reads the file
the movie player, and describes each seby
displaying
the
subject,
segment,
knowledge descriptor records which describe
Of particular
the sequence.
by
generated
it is exactly the same as the list of sequences
interest
are
the
subject
and
sub-subject descriptor records since they describe the content
of the movie in English.
the
format
is
When these
records
are
making
However,
similar to that used by the editor.
videodisc frame numbers and pointer fields are not
thus
displayed,
displayed,
the display shorter, and easier to read.
numbers are included,
Record
to that one can go back to the editor to
The story teller actually has much
make any required changes.
in common with the editor,
and uses some of its subroutines.
-
80
-
CHAPTER 5
Program Documentation
A.
Conventions
This chapter describes each program and subroutine in the
maker,
movie
It
and conventions used in accessing the database.
intended as a document for those involved in
is
or
work
maintenance.
each
program.
on
It will first focus on general conven-
tions which apply to the database,
within
follow
and
then
on
subroutines
Appendix A containing complete program
listings should also be referenced.
The database consists of a
fixed length records.
number
of
files
containing
Each such file has a unique record for-
mat which is defined using a PLI structure.
For ease in
ing, each structure has a one letter name as follows:
-
81
-
typ-
s -
segment descriptor record
u -
subject descriptor record
j
sub-subject descriptor record
-
k - knowledge descriptor record
record
1 -
link descriptor
q -
sequence descriptor record
v -
viewer profile record
a
ence
particular
type
of
record.
For example the record
count variables are SS, UU, JJ, KK, LL, and VV.
defined
the first
XS(SS).TYPE is used to reference
each
location in
The prefix
For
"X" is used to reference a record within the file.
ple
is
A count of
followed by the records themselves.
This is
file.
Each file
as an array of the appropriate structure.
the number of records allocated is
refer-
to
The proper letter is present in each variable used
exam-
the type field of a seg-
ment decriptor record, and XQ(QQ).TYPE the type field of a sequence record.
To facilitate the examination of fields within
the same record, each structure defining the
defined
as a based variable.
pointers SSP, QQP etc.
to
point
is
The structures are based on the
Thus once the pointer SSP has been set
Similarly, Q.TYPE references the type of
sequence record pointed to by QQP.
throughout, and makes specifications
standable.
type
to a segment record, S.TYPE is sufficient to refer-
ence its type field.
a
record
This convention is used
both
short
and
under-
The structures defining each record type are "in-
82
-
"include"
are
there
addition
In
clude" files, which are listed in the appendix.
files which define the entire files for
each record type.
The files which make up the database are in the directory
>U>RJM>BIKE.
There is also an "exec" file,
so on.
all
Their names are SEGMENT.DATA, SUBJECT.DATA, and
of
the
data
SEGMENT.SAVE, SUBJECT.SAVE and so on.
the
files
are
There
back.
>U>RJM>BIKE>PLAY
contains
has
the
>U>RJM>BIKE>TELL
>U>RJM>BIKE>GOOD-VERSION
the
will
copy
sub-directories.
>U>RJM>BIKE>EDIT contains all the modules which
editor.
named
files
RESTORE.EC
four
copies
which
corresponding
into
files
SAVE.EC,
make
movie
story
up
player,
the
and
teller.
is used to keep a working version of
each program while development work is being done.
-
83
-
Editor
B.
entries for all of the edit commands.
contains
one
the edit commands need to access more than
particular
file,
Since most of
record
and
counts.
can't compiler anything that big.
arguments.
More
all
the editor main program is fairly
Thus
the
Instead,
com-
some fairly
major sections have been made into subroutines, which
many
a
it is difficult to create subroutines which
massive, and actually would be more so, except that
piler
of
record
don't have to be passed pointers to all of the files
the
it
and
The main program of the editor is called EDITOR,
require
traditional functions such as display
routines, and command input are also subroutines.
The editor tries wherever possible
independently
of
to
which record they are in.
reference
fields
This reduces the
lines of code, and makes changing the editor much easier since
changes only need be made in one place.
The editor has a cur-
rent mode which defines the type of record currently being accessed.
Modes are:
0 Subject record
1 Segment record
2 Sub-subject record
3 Knowledge record
4 Link record
-
84
-
00
GCHARSI
FIGURE 14 EDITOR SUBROUTINE FLOW
For each record type there are variables
the record contains, how long each field is, what type
fields
of value it contains, and what the name of the field
is
either
referenced
by
These
type.
cord counts for each record
variables
subject
For example UU, the number of the current
mode.
as XX(0) , and SS is
can also be referenced
can
be
as a function of the current
or
name
when it
is
There are also pointers and re-
on the screen.
displayed
cord,
many
how
decribing
re-
equivalent to
XX(l).
These variables are defined in the EDIT and NAMES "in-
clude"
file.
Upon program execution, the names and types of
each field in each record type are initialized by
subroutine.
INAMES
edited to initialize new types
is
This subroutine
the
or names when the usage of a field changes.
entries
The editor main program has
each
for
command.
Simple commands, such as moving to the next record or the next
field within a record, are in EDITOR since it has pointers
all the database files.
These commands are done independently
of mode whenever possible although
commands
Similarly,
tions.
done in
EDITOR,
checking
for
type
of
The Add,
Copy,
the EDITF module.
EDITF
also
are
always
mode
execp-
change the mode are also
change.
called
to
do
This subroutine,
simply removes some code from ED-
called NMODE (for new mode),
ITOR.
which
there
although a small subroutine is
each
to
and Delete commands call entry points in
Pointers to all the files are
uses the file definition "include"
passed,
files.
and deleting are not very difficult, but the updating
-
86
-
and
Adding
of
po-
counts
and
inters
Segment and subject re-
done separately for each record type.
The Copy
are always added and deleted as a unit.
types
cord
and must be
takes up a fair bit of space,
command is just a special case of Add.
The module EDITIO contains routines to display an
entire
for
segment,
sub-subject, knowledge, and link descriptor records.
Subject
There
record.
are
points
entry
separate
descriptor records are displayed together with their associatThe routines within EDITIO call
ed segment descriptor record.
a subroutine called GCHARS to obtain the contents of a specfic
GCHARS returns not only the value of
field.
of the value.
record,
field,
but
field name (that set up by INAMES), and the meaning
the
also
the
specified
The EDITIO routines loop through the
displaying
the name and contents of each field.
The
which
was
dictionary
meaning of each field is stored in the
This dictionary is created
described in the previous chapter.
and accessed by GCHARS.
Input requests for the editor are done by the GETCMD rouSince the editor always opens a field within a record,
tine.
GETCMD first
field.
It
displays
the
prompts for a new value.
the
field
the
calls GCHARS to get
contents
value
of
of
current
field, and then
the
GETCMD uses the
the
type
paramater
to prompt for a specific type of input.
of
It always
If an input conversion error
looks first for numerical input.
occurs, GETCMD then uses the length of the character string to
character
distinguish between commands and
-
87
-
strings.
GETCMD
calls the REPLACE entry within GCHARS to enter a new value, or
REPLACE updates values
character string.
well as the dictionary;
as
records,
in
the
descriptor
REPLACE prints the dic-
tionary entries, and inserts new entries, as requested.
The VIEW module runs the videodisc for the View and Watch
The View command plays the videodisk sequence spec-
commands.
ified by the current descriptor record, and previews cuts
In order to cut between a segment and a segment which
links.
VIEW must also access many records within the
is linked to it,
Therefore
database.
a
for
cords
VIEW is also passed pointers to the enknowledge
VIEW searches the
tire database.
segment
description
the
playing
result
If there are
of long sequences before cuts.
two videodiscs then VIEW cues up both videodiscs before
ing
either
one,
another instantly.
re-
to find a reasonable starting position
which is not in the middle of a sentence, but does not
in
for
play-
thus enabling it to cut from one segment to
then
If there is only one videodisc
VIEW
searches for and plays each segment in turn.
The ORDER module puts all the sub-subject, knowledge, and
link
entries for a particular segment in order of their frame
numbers.
by
This may be done while editing;
it is
always
the movie player, to which the order is crucial.
PUT module displays the
entire
database.
It
done
The OUT-
simply
steps
through each segment, calling EDITIO to display first the segment descriptor record, and then each sub-subject,
and link descriptor
record.
-
88
-
knowledge,
The GLINK module is the most complicated part of the ediIt
tor.
is
the
module
which creates links automatically.
GLINK is a series of nested DO loops which scan the
comparing
database,
the current segment and its subject and sub-subject
records, with those of all the other segments in the database.
firstly
GLINK
checks
all other segments to see whether they
are subassemblies or tool usage descriptions used by the
segment.
rent
types.
the
This is done by matching the subject names and
GLINK also looks for overviews and
then
GLINK
subject.
current
cur-
for
introductions
looks for other segments
seg-
which describe the same bicycle component as the current
ment,
and
which do not conflict with the current segment re-
garding assembly/disassembly or the front/back of the bicycle.
For
each
match found,
GLINK calls an internal routine called
MLINK (maybe link) with an argument specifying the type of the
link
(subassembly,
tool
description,
closeup etc.).
MLINK
first of all makes sure that no such link already exits.
This
is so auto-linking can be run again, without destroying previmanually
ous links which have already been
then
MLINK
creates the link by calling the same Add subroutine used
by the Add command.
tion
adjusted.
of
the
link
MLINK calcuates he exit and reentry posiusing
the starting and ending percentage
fields from the current sub-subject description record and the
subject description record of the newly linked segment.
GLINK
attempts to snap link points to the start or end positions
knowledge
portions so that links don't occur
-
89
-
of
in the middle of
sentences if possible.
Most links have to be manually adjust-
ed in any case.
EDIT
All of these modules are bound together to form the
program
which
EDIT.BIND.
is
the
The
editor.
Bind
file
Other command files of interest are
is
called
GLIST.EC
and
LIST.EC which respectively generate and print listing files.
-
90
-
Movie Player
C.
to
The movie player lends itself
The main program is called PLA-
than does the editor.
easily
of
process
in
expanding the database tree (see figure 10).
A global common area
arguments are passed back and forth.
This
is used by all the subroutines.
minimum
a
Each subroutine is fairly well self contained, and
of
steps
to
YER It calls major subroutines which correspond
the
more
much
structuring
contains
area
common
generally usefull variables such as the pointer to the current
viewer, the number of sequences, a list of the segments
so
and a description of the segment currently being ex-
far,
panded.
variables,
as
a
external
static
by an include file called PLAY which is used by all
subroutine modules.
PLAY also defines some generally
usefull
such as the current sequence number, which are re-
allocated in each module.
are
defined
This common area is
structure
tine
shown
described
The basic functions of each subrouspecific tests and decisions are
below;
documented in the code.
The SEQSUB module contains subroutines
the
sequence
quences.
type
list
and
initializing
for
inserting, copying, and deleting se-
Sequences are allocated in the same way as any other
of record;
the first location in the file is a count of
the total number of sequences allocated, and space
imed by setting the type to zero on a delete.
have to be inserted and deleted frequently, the
-
91
-
is
recla-
Since sequences
actual
order
VCHECK
KCHECK
IlNSERTSEQ
COPYSEQ
DELETESEQI
FIGURE 15 MOVIE PLAYER SUBROUTINE FLOW
The rou-
of sequences is kept in a pointer array called QPTR.
The array makes it
are no empty entries in the pointer array.
quence file is changed and then pointers in
the QPTR array are
glob-
QPTR is part of the
shuffled to reflect the new order.
se-
the
in
entry
one
easy to insert or delete a sequence;
there
that
sure
tines in SEQSUB update this array and makes
lal common area.
The first subroutine called by
viewer)
which
the
asks
(get
GVIEWER
is
PLAYER
If the
viewer for his or her name.
name exits in the viewer file the global pointer VVP is set to
point to the viewer profile record.
If the name is not known,
a new profile record is created, and the new name is inserted.
A few questions are then asked to obtain values used in initiand then VVP is
alizing the viewer profile,
the
new
viewer profile.
This
is
the
viewer
profile
primarily a debugging aid which allows the
creation of "model"
execute
to
The VIEWER subroutine also contains
code to ask for values for each field in
record.
point
to
set
Two GOTO's are
viewers.
used
to
either
they may be included or com-
or skip over this code;
mented out as required.
After the viewer has been chosen,
GTOPIC (get
called to find the start node for the movie.
(1-8) and has a
just asks for a topic number
of
the
start
node
for
each
topic.
-
93
-
is
Currently GTOPIC
assembled
value
In the future, GTOPIC
should be extended to use a picture of a bicycle,
sensitive display.
topic)
and a
touch
After the topic has been chosen, the
The node being expanded is
expansion process is started.
the
always in the variable SS in PLAYER.
in
module
only
files,
it
the
player
movie
through
loop
main
Because
the
is
PLAYER
with pointers to all the
of po-
scans the knowledge file to accumulate a list
inters to all the knowledge descriptor records for the current
segment.
out
pand
knowledge portions.
the
the
knowledge
KEXPAND goes through each
(knowledge check)
knowledge record and calls KCHECK
late
ex-
PLAYER then calls KEXPAND (knowledge expand) to
ranking for each record.
calu-
to
KCHECK returns
both the ranking and a yes/no response as to whether the
tion should be used.
por-
If it is to be used, KEXPAND first scans
other sequences from the current segment to see if the portion
is
part
audio/visual combination which has different
an
of
If
knowledge records to reflect varying amounts of knowledge.
this
is
the the new knowledge portion is combined with
true
the existing sequence containing its other half.
new
sequence
is created.
two segments being
played
Otherwise
a
KEXPAND also tests for the case of
concurrently.
Then
the
segment
which
was linked to is called a "baby" of the sequence linked
from.
When expanding a "baby" KEXPAND makes sure that the se-
quence which contained the link now also contains a pointer to
the sequence which describes the "baby".
subroutine
can
This is
play the two sequences concurrently.
cuts are likely to occur because some knowledge
not
used,
then
so the
-
94
-
If jump
portions
KEXPAND creates a dummy seqeunce.
VIEW
are
Dummy se-
quences have links inserted into them by LEXPAND, as described
KEXPAND
below.
also
keeps track of which segments and sub-
jects have been successfully expanded, so
that
the
viewer's
knowledge for them can be updated at the end of the movie.
should also be noted that some of
as
such
its
type,
the
attributes,
segment's
are not read from the segment record,
but
process
This is because in the
from a globl common location.
It
of linking, a segment's attributes may have been changed;
for
example, a segment containing both audio and visual components
may be treated as a segment having visuals only.
After a segment has been expanded into sequences by
then
PAND,
PLAYER calls REPLACE to update any segments which
may have been overlapped.
are
KEX-
REPLACE looks for
which
sequences
If the seg-
from the same node as the one just expanded.
ment just being expanded is the start node for the topic, then
nothing
can
be
REPLACE uses the original link
overlapped.
exit and entry points to determine whether a
sequence
should
end prematurely, start later, be removed altogher, or need not
be
affected.
Because
cannot
audio
be
interrupted,
audio visual segments which are shortened have their audio removed.
After the REPLACE subroutine call, PLAYER then scans
link
description
creates a list
of
the
records for the segment being expanded, and
of link pointers.
This is just like
knowledge pointers prepared for KEXPAND.
the
list
PLAYER also pre-
pares a corresponding list of pointers to each of the segments
-
95
-
linked.
being
This
once
is because the subroutines
again
don't have pointers to the entire files.
If a segment has
no
PLAYER assumes that this segment might be rather quick
links,
calls
PLAYER
and will attempt to show it twice.
DUPLICATE,
checks to make sure that the sequence got a high knowl-
which
edge ranking, and that the segment is not long
if
tedious
seen
again.
enough
to
be
If the segment passes these tests,
then DUPLICATE creates a dupliciate of the sequence immediately
following the original.
half speed.
The new sequence is set to run at
If the sequence is very short, then a portion
of
the sequences before and after the current one may also be duplicated to make the replay more continuous.
If
to
there are any links,
process
them.
LEXPAND
exit
point
to see if
ment being linked.
an
answer.
the viewer
to
Like KCHECK,
cuts.
calls
LEXPAND first
weight
VCHECK returns a
and
LEXPAND can influence the decsision of VCHECK by
LEXPAND sets
the
initial
ensure that the dummy sequences introduced by KEX-
PAND have link information inserted,
jump
overlaps
likely to wish to see the seg-
is
its initial setting of the weight.
weight
which
This sequence is the one which
of the link.
will contain the link to the new segment.
VCHECK
called
looks through the sequences just
LEXPAND
created by KEXPAND to find the first sequence
the
is
(link expand)
thus
removing
possible
VCHECK calculates a weight based on the matching
of viewer preferences and the segment in
question.
It
then
sees if any other sequence contains link information to a seg-
96
-
segment
is
be
to
seen,
which
decides
If so, VCHECK
ment with the same information.
and may remove the link information
from an existing sequence.
then
LEXPAND
(link
LCHECK
calls
check) which looks at the
types of the segments and decides if,
(sequentially,
played
the two segments.
how,
and
can
they
be
or one interrupting the
concurrently,
LCHECK returns the type of
other).
acceptable,
is
segment
If VCHECK says that the current
visual
between
relation
If a link can be made, then the information
If
describing the link is copied into the sequence.
se-
the
quence already has a link, then a dummy sequence is created to
the
crucial
linked.
is
variable
link
When saving
contain the link information.
the
to the segment being
pointer
Other
If this pointer is null, then no link exists.
variables,
such
the segment number, are used as an audit
as
trail by the REPLACE subroutine after the link
panded,
information,
and
thus
do
has
been
ex-
LEXPAND also does some
not get reset.
special checking of stills, attempting to fill in any possible
gaps within the current segment with still frames.
After all the links for the current segment have been expanded
by
LEXPAND, then PLAYER tries to play sequences which
do not have links.
This is done by the VIEW subroutine.
simply
plays
sequences
view
subroutine
first
one which has an unexpanded link.
It
The
until it finds the
also
attempts
to
combine sequences which are physically continuous on the videodisc.
Such sequences are generally
-
97
-
from
separate
knowlege
VIEW also skips
portions which were part of the same segment.
two
videodiscs,
there
If
over dummy sequences which are still present.
are
only wait-
then VIEW alternates between them,
ing for the first videodisc when the second one is cued up and
to play.
ready
VIEW sets the registers in the videodisc conplaying,
troller so that once the first videodisc has stopped
only
a
single
command has to be sent to start up the second
VIEW returns to PLAYER the number of the first se-
videodisc.
quence which had an unexpanded link.
played
PLAYER then calls SAVE, which saves what was
and
For each
then deletes those sequences from the sequence list.
sequence shown, SAVE first of all saves the sequence in a push
down
of the last 5 sequences played.
list
SAVE then updates
the viewer profile list of the last 50 segments
viewer.
If
a
story teller file is being created,
also stores the played sequences in the
storyteller.
SAVE uses an "include"
ouput
by
seen
then SAVE
for
file
the
file from the story tellthe
se-
deleted,
the
Finally, SAVE deletes
er to define the file format.
the
quence to remove it from the current sequence list.
After all the played sequences
first
sequence is
now the one with an unexpanded link.
LINKSEG looks at
calls LINKSEG to expand the link.
information
in
ment goes before,
quence.
If
the
been
have
PLAYER
the
link
the sequence and decides whether the new segafter,
linked
quence, then LINKSEG
or the
middle
segment
-
98
-
the
current
se-
interrupts the current securrent
the
splits
of
sequence
in
two.
saves
also
LINKSEG
information from the link block (such as
which subsequently expand the linked segment.
routines
the
by
used
locations
its type) in global common
LINKSEG returns
the segment number of the segment just linked to, and the
sition
po-
in the sequence list where new sequences should now be
to
back
PLAYER then goes
The main loop in
inserted.
expand
this new segment into its sequences.
UDPATE
DATE.
and for all the individual
segments
shown.
a subassembly was
than one subject may have been seen if
UPDATE also decreases the rate as which the
included.
UP-
simply makes the viewer more knowledgeable for
the subject seen,
More
calls
PLAYER
When VIEW has played all the sequence,
viewer
learns, thus making knowledge progressively harder to obtain.
The CHANGE subroutine
the
viewer
profile.
interacts with the viewer to change
Whenever the viewer types a break charthe
The CHANGE subroutine allows the
CHANGE subroutine is called.
of
one
to
user to specify changes
point,
convenient
acter, a flag is set, and at the next
six
These changes are immediately reflected
preferences
types.
in the viewer profile,
and thus in any subsequent decisions about which
segments
to
The CHANGE routine remembers the last user request for
play.
each preference type, and another similar request changes
the
viewer preference by a larger amount.
All the modules which make up the player
gether
by
PLAY.BIND
to
are
bound
create the program PLAY.
GLIST.EC and LIST.EC generate and print listing files
-
99
-
to-
The files
respec-
tively.
The file COMPILE.EC can be used to recompile all the
modules in the player, should changes be made to
"include"
files.
-
100
-
one
of
the
D.
Story Teller
The story teller program is called TELLER.
It
opens
a
specified sequence file previously created by the SAVE routine
TELLER steps through each
in the movie player.
searches
all
sequence
and
the descriptor records for the segment which is
shown by that sequence.
the
sequence
are
All descriptor records which
The story teller uses a module
displayed.
called TELLIO to actually display the records.
similar to EDITIO;
overlap
TELLIO is very
the two modules have the same entry points
but TELLIO does not display videodisc frame numbers or pointer
fields.
The story teller uses the INAMES and GCHARS routines
from the editor so that all field names and
ings
it
mean-
The format of the saved file is defined
are consistent.
by an include file.
dictionary
The file contains the name of the
viewer
was prepared for, the number of sequences, and all the se-
quences shown during the movie.
The bind file TELL.BIND
ates the program TELL.
-
101
-
cre-
w
qw
I
I
I
I
i
GCHARS
FIGURE 16 STORYTELLER SUBROUTINE FLOW
CHAPTER 6
Continuation Work
There are a number of areas in which
the
does not live up.to its initial design.
maker
movie
current
The most glar-
ing of these, at least to the viewer, is that interaction with
the
The viewer should be able
movie player is rather clumsy.
via
to interact with the player
touch
a
sensitive
screen,
using menus which include pictures of a bicycle from the videodisc.
This would make the system much more accessible.
Another part of the original design which was
never
im-
plemented is animation.
Originally animation and film were to
be of equal importance.
However, the current
trates
as
system
concen-
almost totally on live film excluding other media such
animation,
and,
to
certain
a
extend,
frames.
still
Therefore, inclusion of other medium is definitely an area for
future investigations.
Other areas of improvment are in
movie
player.
the
internals
of
Currently, the player does not access the sub-
ject or sub-subject files, and thus does not really know
not
an intelligent program which does
of
what
it is somewhat disturbing to have
it is that is being played;
Inclusion
the
understand
its
data.
the subject data would not only make the player
-
103
-
smarter, but would also permit the implementation of
whereby
system,
the
could
viewer
Subject information
given subject.
a
query
request information on a
the
permit
would
movie
to make better choices between large numbers of simple
player
togther
segments, such as that needed to intelligently put
as opposed to a movie.
show
slide
a
The inclusion of the sub-
ject files, although not in itself difficult, would require
a
modification of the way files are accessed under MagicSix.
scheduling
the
Another area which must be considered is
interaction problems created when there are more than two
and
videodiscs in
the system.
Many of the film
decisions
making
It is impor-
depend on exactly how many videodiscs there are.
tant to know how many different sources there
for
are
audio
and visual components, both for cueing and for concurrent pla-
introduced by more than two videodiscs.
videodisc
rent
possiblities
The current player does not deal with the
ying.
videodiscs.
between
is
scheduler
only
In addition, the cur-
capable
alternating
of
It does not play videodiscs concurrenly,
One reason
and would need to be expanded for more videodiscs.
the
that
current
scheduler is so restricted is that some of
the functions necessary for effecient computer control of many
videodiscs
do
not
yet exit, and make such scheduling diffi-
cult.
The last area of improvement to the current
is
in
the area of modeling the viewer.
104
-
maker
The current model is
fine as far as it goes, but suffers from a lack
-
movie
of
feedback.
Much
of
this is because the movie player has always operated
in an artical environment, where "tyical"
created.
One
should
viewers
have
been
let a large number of viewers interact
with the player, and then use group preferences as a guide
responding to future viewers.
The current player does not at-
tempt to relate one viewer with another.
-
in
105
-
CHAPTER 7
Looking Ahead
This project was an initial investigation into
movies.
ized
A number of new avenues have been explored, and
are suitable for more research.
using a computer.
movies
personal-
One area is the
creation
of
This requires special filming tech-
niques to prepare the material for access by the computer, and
computer
programs construct a a movie.
The problems involved
in fitting together various audio and visual
much
components
were
more complex than first realized, and should be investi-
gated further.
editing
Such an investigation should consider both the
decisions
which are present in
traditional film mak-
ing, and the editing decisions which are introduced when sound
and
picture
in many ways.
become individual components,
which can be mixed
One use for a well developed program to
movies would be to aid in editing film.
By continually chang-
ing the computer description of the material, many more
ing
possiblities
could
be
previewed
create
edit,
in a smaller amount of
time and with much less effort than with present
day
editing
techniques.
The personalized movie system developed as a part of this
project
did not have a great deal of knowledge about the sub-
106
-
ject matter being shown.
knowledge,
even this small
However,
amount
of
coupled with viewer personalization, resulted in a
A more rigorous representa-
system which appears intelligent.
of knowledge, and the resultant refinement of the viewer
tion
model, should create a more intelligent system
can
be
It is conceivable to
to model more complicated objects.
used
which
develop a system which could instruct one in the repair of
an
automobile.
More advanced maintenance and repair systems can
be
de-
advancement in boththese areas.
Such
systems could be more active than the personalized movie
sys-
veloped
by
additional
tem described here.
They would not model the repair person by
waiting for requests, but rather by sensing whether the repair
was proceding correctly.
which allow the
These
tracking
personalized
wait for direction.
which
an
This can be done by new technologies
of
objects
be
three
dimensions.
systems will not simply create movies and
They would not just describe the
way
in
operation should be done, but will be able to react
to unforeseen problems or failures.
ly
in
They could more accurate-
described as coaching systems.
With the continued ad-
vent of technology such a system could reside in
a
micropro-
cessor, and eventually become part of a mechanics toolbox.
-
107
-
REFERENCES
Brown, J.S. & Burton R.R. Systematic understanding:
Synthesis, analysis, and contingent knowledge in
specialized understanding systems. In D. Bobrow
and A. Collins (eds), Representation and
Understanding: Studies in Cognitive Science,
New York: Academic Press, 1975.
Engelbart, D.C. et al. The augmented knowledge workshop.
Proceedings of the National Computer Conference,
1973.
Goldstein, I. The computer as coach: An athletic paradigm
for intellectual education. Massachusetts Institute
of Technology, Artifical Intelligence Laboratory,
AI Memo 389, 1976.
Irby, C. Display techniques for interactive text manipulation.
Proceedings of the National Computer Conference,
1974.
Mann, W.C. Dialogue based research in man-machine communication. USC Informatin Sciences Institute,
November 1975.
Miller M.L. & Goldstein I.P. Planning and Debugging in a
computer coach for elementary programming.
Massachusetts Institute of Technology, Artifical
Intelligence Laboratory, January 1978.
Negroponte, N. The Metaphysics of Television, Proceedings
of the Workshop on Methodology of Interaction,
Seillac, France, may 7-10, 1979.
Negroponte, N. Fields, C. Using new clues to find data,
Proceedings of 3rd International Very Large Data
Base Conference, Tokyo, 1977.
Negroponte, N. (B. Gilchrist, Editor) On being creative with
computer-aided design, invited paper, Information
Processing 77 IFIP, North-Holland Publishing
Company, 1977.
Negroponte, N. Idiosyncratic Systems, ONR Report NN-100-1,
March 31, 1977.
-
108
-
Negroponte, N. Idiosyncratic systems approach to computer
graphics, User-Oriented Design of Interactive
Computer Graphics, ACM/ SIGGRAPH Workshop, S. Treu
(editor), October 14-15, 1976.
Nelson, T.H. A file structure for the complex, the
changing, and the indeterminate, ACM 20th National
Conference, 1965.
ZOG: A manRobertson, G., Newell, A., Ramakrishna, K.
machine communication philosophy. Department of
Computer Science, Carnegie-Mellon University, 1977.
Snediker, J.M. A self organizing program for describing
concepts, ACM 20th National Conference, 1965.
-
109
-
ACKNOWLEDGEMENTS
I would like to thank Andy Lipman for providing
incentive, ideas, and much assistance, all of which
were necessary for the completion of this project.
Institute regulations not withstanding, he was my Thesis
Advisor. I would also thank Professor Nicholas Negroponte
for his original conception and continued support of the
project, and the Office of Naval Research for their
sponsorship. Additionally, Marek Zalewski for doing the
filming, Peter Fiekowsky for overhauling Andy's bicycle,
and Tom Boyle for writing the videodisc software. Lastly,
and by no means leastly, Sandy, for her patience and support.
-
110
-
Download