|
Claims  |
|
|
What is claimed is:
1. A compiling system for compiling customized information segment
sequences from various information segments, comprising:
M number of destination means for receiving Z number of customized
information segment sequences, wherein M and Z are at least equal to two;
N number of resource means coupled to said destination means for storing
the various information segments to be transmitted to said destination
means for forming said customized information segment sequences, each of
said resource means stores at least one information segment which is
unique to that resource means, wherein N is at least equal to one;
routing means coupled between said resource means and said destination
means for enabling said destination means to access said resource means to
supply the information segments to said destination means;
processing means coupled to said routing means for storing user information
signals indicative of all of said customized information segment sequences
to be compiled, each one of said customized information segment sequences
being associated with a given sequence time period;
allocating means coupled to said processing means for allocating said
resource means to said destination means on a time sharing basis according
to said user information signals for enabling each one of said destination
means to access the information segments stored on said resource means;
scheduling means coupled to said processing means and said allocating means
for generating a schedule for the compilation of each one of said
customized information segment sequences on selected ones of said
destination means to enable each one of said destination means to receive
the information segments from said resource means without interruption in
a time ordered manner for compiling a group of customized information
segment sequences during a compiling time period, the customized
information segment sequence group including P number of said customized
information segment sequences, wherein P is at least equal to two and is
less than or equal to M number of destination means, and said compiling
time period is substantially less than the combined total of individual
ones of said sequence time periods for said P number of customized
information segment sequences; and
server means coupled to said scheduling means for supplying the information
segments to said destination means according to said schedule for
compiling said group of customized information segment sequences during a
first one of said compiling time periods;
said server means for subsequently supplying the information segments to
said destination means according to said schedule for compiling another
group of customized information segment sequences during another compiling
time period; and
said server means for continuing to supply information segments to said
destination means in additional groups of customized information segment
sequences during additional compiling time periods until all of said
customized information segment sequences have been compiled.
2. A compiling system according to claim 1, further comprising:
Y number of graphic resource means coupled to said routing means for
storing graphic information segments, wherein Y is at least one; and
graphic server means responsive to said scheduling means for supplying at
least one of said graphic information segments to said destination means
for forming said customized information segment sequences.
3. A compiling system according to claim 2, wherein said graphic resource
means is a graphic generator.
4. A compiling system according to claim 3, wherein said graphic generator
is a graphic work station.
5. A compiling system according to claim 3, wherein said graphic generator
produces customized graphic images for videotapes.
6. A compiling system according to claim 2, further comprising scheduling
algorithm means for scheduling use of said destination means, said
resource means, and said graphic resource means to facilitate the
supplying of information segments and graphic information segments to one
or more of said destination means for compiling said group of customized
information segment sequences, wherein one or more of said customized
information segment sequences of said group contain at least one graphic
information segment.
7. A compiling system according to claim 1, wherein said routing means
includes a routing switcher unit and a routing switcher control unit.
8. A compiling system, according to claim 1, wherein said scheduling means
includes a system control client processor.
9. A method of compiling customized information segment sequences from an
assortment of information segments, comprising:
using M number of destination means for receiving Z number of customized
information Segment sequences, wherein M and Z are at least equal to two;
using N number of resource means coupled to said destination means for
storing the assortment of information segments to be transmitted to said
destination means for forming said customized information segment
sequences, each of said resource means stores at least one information
segment which is unique to that resource means, wherein N is at least
equal to one;
storing user information signals indicative of all of said customized
information segment sequences to be compiled, each of said customized
information segment sequences extending over an associated sequence time
period and including at least one of the information segments;
allocating said resource means to said destination means on a time sharing
basis according to said user information signals for enabling each of said
destination means to access the information segments stored on said
resource means;
generating a schedule for the compilation of each of said customized
information segment sequences on one of said destination means to enable
each of said destination means to receive the information segments from
said resource means without interruption in a time ordered manner for
compiling a group of customized information segment sequences during a
compiling time period, said group of customized information segment
sequences including P number of said customized information segment
sequences wherein P is at least two and is less than or equal to M, and
said compiling time period is substantially less than the sum of said
sequence time periods for said P number of customized information segment
sequences; and
supplying the information segments to said destination means according to
said schedule for compiling said group of customized information segment
sequences during said compiling time period.
10. A method of compiling according to claim 9, further comprising:
using Y number of graphic resource means for storing graphic information
segments, wherein Y is at least one; and
supplying at least one of said graphic information segments to said
destination means for forming said customized information segment
sequences according to said schedule.
11. A method of compiling customized information segment sequences
according to claim 9, further comprising:
subsequently supplying the information segments to said destination means
according to said schedule for compiling another group of customized
information segment sequences during another compiling time period; and
continuing to subsequently supply information segments to said destination
means in additional groups of customized information segment sequences
during additional compiling time periods until all of said customized
information segment sequences have been compiled.
12. A compiling system, comprising:
a plurality of destination means for receiving a plurality of customized
information segment sequences;
a plurality of resource means coupled to said destination means for storing
a plurality of information segments to be transmitted to said destination
means to form said customized information segment sequences, wherein each
of said resource means stores at least one information segment which is
unique to that resource means;
routing means coupled between said destination means and said resource
means for enabling said destination means to access said resource means to
supply individual ones of said information segments stored by said
resource means to said destination means in a controlled manner;
network means coupled to said routing means for controlling the supply of
said information segments from said resource means to said destination
means to enable said customized information segment sequences to be
compiled on said destination means;
video report means coupled to said network means for generating user
information signals indicative of each of said customized information
segment sequences to be compiled to facilitate the allocation of said
resource means to said destination means in a time sharing manner, each of
said customized information segment sequences extending over an associated
sequence time period and including at least one of said information
segments;
scheduling means coupled to said network means for generating script
information in response to said user information signals to compile each
of said customized information segment sequences on one of said
destination means to enable each of said destination means to receive the
information segments from said resource means without interruption in a
time ordered manner for compiling a group of customized information
segment sequences during a compiling time period, wherein said compiling
time period is substantially less than the sum of each of said sequence
time periods for said group of customized information segment sequences;
said network means including server means responsive to said script
information for controlling each of said resource means to supply said
information segments to said destination means for compiling said group of
customized information segment sequences during said compiling time
period.
13. A compiling system according to claim 12, wherein said server means
includes resource server means for controlling the plurality of resource
means.
14. A compiling system according to claim 12, wherein said server means
includes a destination device server for controlling the plurality of
destination means.
15. A compiling system according to claim 12, further comprising:
a video monitor for receiving output signals from at least one of the
plurality of destination means.
16. A compiling system according to claim 12, wherein said scheduling means
includes off-line mode means for controlling at least an individual one of
the resource means to operate in an off-line mode to permit access to one
of the information segments in preparation of supplying said one
information segment to a selected one of the destination means when the
selected one of the destination means is available to receive said
information segment according to said script information without conflict. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
TECHNICAL FIELD
This invention relates generally to compiling systems and methods of mass
producing individually customized media. More particularly, this invention
relates to a compiling system that facilitates the mass production of
individually customized media.
BACKGROUND ART
There have been many types and kinds of compiling systems used to produce
recording media, such as videotape recordings. For example, reference may
be made to the following U.S. Pat. Nos. 4,941,040; 4,924,303; 4,918,516;
4,905,094; 4,863,384; 4,775,935; 4,745,549; 4,725,977; and 4,602,279.
As disclosed in the foregoing mentioned patents, various compiling systems
include data base memory units with prerecorded segments and segment
processors for selecting and directing individual ones of the pre-recorded
segments for recording on a desired recording media such as a video
recording tape via a videocassette recorder. In this manner, customer
selected segments of prerecorded materials, such as a plurality of music
videos, may be retrieved from the data base memory units and directed to a
designated videocassette recorder for recording the selected segments on
the desired recording media.
While such compiling systems may have been satisfactory for some
applications, it would be highly desirable to have a new and improved
compiling system which is highly efficient and able to increase
productivity significantly so that a high volume of individually
customized recording media can be produced. Increasing volume production
has been expensive when using previously known systems. In this regard, it
has been necessary to increase the number of system components, such as
videodisc players, graphic generators, and videocassette recorders
substantially to increase volume production. Thus, even though high volume
production could be achieved, such high volume production could not be
accomplished without a significant increase in capital cost for the
necessary additional components.
Therefore, it would be highly desirable to have a new and improved
compiling system, which can produce a high volume of individually
customized recording media in a highly efficient manner and without
requiring mass duplication of each system component.
DISCLOSURE OF INVENTION
Therefore, the principal object of the present invention is to provide a
new and improved compiling system and method of using it, wherein
individually customized media are mass produced in a highly efficient and
cost effective manner.
Briefly, the above and further objects of the present invention are
realized by providing a new and improved compiling system which can mass
produce individually customized recording media, such as videotapes in a
highly efficient and cost effective manner. High volume production is
realized by matrixing synchronized system resources, such as videodisc
players, videocassette recorders, and graphic generator units. The
resources are managed using a predetermined client/server model of
computing over a local area network. The audio and video resources are
matrixed using a routing switcher to provide simultaneous access of all
resources to all destinations. The resources are synchronized by supplying
all time dependent system nodes with the same time base criteria, which in
turn, is also utilized to synchronize non-time dependent resources. In
this regard, by managing required audio, video and graphic events required
by each system node over a given time base, resources are shared thereby
allowing efficient videotape production without the necessity of mandating
system resource duplication.
The compiling system includes a scheduling device, a routing device and a
plurality of audio/video resource and destination devices. The audio/video
devices include M number of media utilization devices, such as
videocassette recorders, and N number of segment memory devices, such as
videodisc players, for supplying X number of information segments. For the
purpose of causing intended information segments to be presented to the
appropriate media utilization device at the appropriate time, a scheduling
device causes at least one of N number of segment memory devices to supply
information to at least one of the M number of media utilization devices.
M represents the number of individually customized media to be produced
during each production run, and X represents the number of different
segments that are available for selection by a customer for transferring
to the customized media. The scheduling device also causes at least one of
the segment memory devices to be operating in an off-line mode of
operation to permit the access of another information segment in
preparation for supplying such information segment to the utilization
devices upon its completion.
In one form of the invention, the system employs P number of graphic units
to permit graphic overlays to be transferred to the M number of
individually customized media to be produced during each production run.
Thus, the system of this invention provides a new and improved compiling
system which enables a high volume of customized media utilization
devices, such as cable television channels, videocassette tapes,
videotapes, or other such devices, to be produced in a highly efficient
and cost effective manner. Each medium device contains pre-recorded
information segments, such as music video segments, selected by an end
user recipient. Such a customized storage media can be utilized by the end
user recipient, on widely available conventional videocassette players,
audio cassette players, and other such devices.
BRIEF DESCRIPTION OF DRAWINGS
The above mentioned and other objects and features of this invention and
the manner of attaining them will become apparent, and the invention
itself will be best understood by reference to the following description
of the embodiment of the invention in conjunction with the accompanying
drawings, wherein:
FIG. 1 is a block diagram of a compiling system which is constructed in
accordance with the present invention;
FIG. 2 is a data flow diagram for the compiling system of FIG. 1;
FIG. 3 is a time matrix diagram illustrating the production scheduling for
a group of customized demonstration videotapes;
FIG. 4 is a time matrix diagram illustrating the production scheduling for
a group of customized music videotapes;
FIG. 5 is a time matrix diagram illustrating the production scheduling for
a group of customized sales presentation videotapes;
FIG. 6 is a typical matrix architecture of destination resources and source
resources of FIG. 1;
FIG. 7A-J is a process for using the system of FIG. 1 to produce a script;
FIG. 8 is a flow diagram for a schedule program to time schedule the
destination and source resources of FIG. 1;
FIG. 9 is a flow diagram for a typical server device of FIG. 1;
FIGS. 10-14 are simplified flow chart examples of how the raw data of FIGS.
7A-J is processed;
FIG. 15 is a typical application label layout illustrating the placement of
processed data on a label of FIG. 2;
FIG. 16 is a typical application print layout illustrating the placement of
processed data on a print report of FIG. 2;
FIG. 17 is a typical application videotape layout illustrating the
audio/video/graphic segment placement on a videotape report of FIG. 2; and
FIG. 18 is a client/server and time code layout diagram for the compiling
system of FIG. 1.
BEST MODE FOR CARRYING OUT THE INVENTION
The detailed description that follows is organized according to the
following outline:
A. GENERAL DESCRIPTION OF COMPILING SYSTEM FOR MASS PRODUCING INDIVIDUALLY
CUSTOMIZED MEDIA.
B. DETAILED HARDWARE DESCRIPTION.
C. SYSTEM SOFTWARE
A. GENERAL DESCRIPTION OF COMPILING SYSTEM FOR MASS PRODUCING INDIVIDUALLY
CUSTOMIZED MEDIA
Referring now to the drawings, and more particularly to FIG. 1, there is
shown a high volume compiling system 10, which is constructed in
accordance to the present invention. The system 10 allows for high volume
creation of a recorded media storage device, such as a videotape 19 (FIG.
2). In this regard, the audio and video resources utilized for providing
information segments to the media storage device 19 are configured via a
matrix architecture 501 (FIG. 6) for high volume time synchronized
production to insure optimum resource utilization during any given
production operation. Such a matrix architecture 501 permits such
resources to be shared, allowing different recorded media storage devices
to be produced simultaneously, and thus, resulting in a low cost, high
volume production system.
The high volume compiling system 10 generally includes a local area network
or LAN indicated generally at 12 having a scheduling processor or system
control client 13 for reconfiguring and allocating the system audio/video
resources dynamically in real time on the fly. In this regard, the
scheduling processor 13 generates resources scripts for time sharing the
system audio/video resources. Such scripts or media processes, of which
several may be running in the system at any given time, assume dedicated
control of system resources that may be activated at any time and share
those system resources that must be synchronized or scheduled in order to
prevent simultaneous access to a commonly shared resource that may not be
shared simultaneously.
System resources that generally require scheduling include a group 14 of
videocassette recorders (VCR-1 to VCR-16), including a videocassette
recorder 61 and a videocassette recorder 62, a group 15 of videodisc
players or presentation memory devices (VDP-1 to VDP-8), such as a
videodisc player 71 and a videodisc player 72, a group 16 of audio mixers
(AM-1 to AM-16), such as an audio mixer 64 and an audio mixer 65 and a
group 17 of graphic overlay units or servers (G-1 to G-4), such as a
graphic server 74 and a graphic server 75. As will be explained
hereinafter, the group 17 of graphic servers can function both as resource
video devices and destination video devices.
The volume of recorded media storage devices that can be created at any one
time is determined by the number of available audio/video resources scaled
by the complexity of the videotape programs being created and absolutely
limited by the number of videocassette recorders 14 included in the system
10. In this regard, at maximum throughput efficiency, all of the
audio/video resources including the videocassette recorders 14 are
actively creating videotapes. At minimum efficiency, all of the
audio/video resources are activated creating but a single videotape.
From the foregoing, it will be understood by those skilled in the art, that
the videotapes created by the system 10 may contain various video
information segments supplied via the group 15 of videodisc players, audio
information segments supplied by the group 15 of videodisc players via the
group 16 of audio mixers and graphic information segments supplied via the
group 17 of graphic servers.
The system 10 also includes an audio/video switching subsystem generally
indicated at 40 that provides the selection of any of the audio/video
resources, such as the videodisc players 71, 72, audio outputs and graphic
overlay units 74, 75 to any of the audio/video destination resources, such
as the videocassette recorders 61, 62 and audio mixers 64, 65.
The audio/video switching subsystem 40 includes a routing switcher 42 for
routing resources in groups 15 and 17 to destination resources in groups
14, 16 and 17, as will be described hereinafter. The scheduling processor
13 communicates with the various subsystem servers to establish what
specific system resources will be required for any given tape production
process or script to produce a given batch of videotapes.
Those skilled in the art will further understand that the dynamic sharing
of the audio/video resources 14-17 allows for the efficient creation of
certain programs that need special audio/video resources only for limited
periods of time. Further, the dynamic sharing of such audio/video
resources 14-17 allows for dynamic reconfiguration or allocation to meet
particular video program tape production needs.
In order to synchronize the operation of the various system resources
14-17, the system 10 also includes a MIDI/SMPTE time code subsystem
indicated generally at 18. The time code subsystem 18 provides timing
references for all processes, synchronized to the system video hardware.
The time code subsystem 18 generally includes a MIDI time code generator
20, a MIDI time code distributor 22 and a group of personal computers each
having a LAN interface and a MIDI interface. The group of personal
computers include a VDP microprocessor or videodisc server control 24, a
VCR microprocessor or videocassette recorder server control 28, graphic
server microprocessors 74 and 75 in group 17, and the RS microprocessor or
routing switcher server control 26. Each of the above mentioned
microprocessors are 486 microprocessors such as manufactured by INTEL.
Graphic servers within group 17 additionally contain Targa boards and
graphic software in a server shell.
Although in the preferred embodiment of the present invention, only a
selected number of server controls are indicated, those skilled in the art
will understand that other servers can be added to the disclosed
configuration. In this regard, such other servers may include a digital
audio server to provide another source of audio instead of the videodisc
players; an editing videocassette recorder server to provide insertion of
information segments into videotapes; an animation server to provide
animation created on demand for tapes; and a digital video server to
replace various videodisc players as a source in certain instances, and to
provide a temporary storage device for an animation server for example.
Considering now the local area network 12 in greater detail with reference
to FIG. 1, the LAN 12 includes the above mentioned microprocessors and
another group of personal computers or 486 microprocessors that assist in
the high volume production of videocassette tapes. Each of the personal
computers in the local area network 12 have a bidirectional LAN interface
connection. The above mentioned group of microprocessors includes a file
microprocessor or file server 32 for storing video report graphic and
system files, a printer or print server 34 for printing print report
files, a system control client 13, and a data pre-processor or compute
server 36 for processing raw client data.
The local area network 12 also includes a powerful graphic generator server
38 in the form of a power graphic work station, such as a NEXT.sup.m work
station or a SILICON GRAPHICS.TM. work station, for creating special
two-dimensional or three-dimensional graphic information segments. The
graphic generator server 38 can reproduce previously generated graphic
information and can create or modify graphics using report data for
inclusion in videotapes. In this regard, the graphic generator server 38
in cooperation with the group 17 graphic servers can overlay graphics over
video, recall stored graphics, generate new graphics using fonts and
drawing primitives, and generate effects between graphics, such as
dissolves and wipes.
Considering now the operation of the compiling system 10 with reference to
FIGS. 1 and 2, raw data 201 stored in the database memory of the data
pre-processor 36 is retrieved and reassembled as processed data 203 as
determined by end user requirements. The processed data 203 is then
combined with a video report description 205 provided by the file server
32 to the compute server 36 that includes a report interpreter program
indicated generally at 207. The compute server 36, via the report
interpreter program 207, generates a video report file 209 that is
supplied to the scheduling processor 13.
A video report description 205 describes how a video 19 is to be sequenced
given any set of data 203. A video may include various elements such as
video segments, audio segments, graphics, and other graphical elements
with contents from a data set. How these elements are selected for
recording a video is described by logic contained in the video report
description 205. Besides selection, the logic here also describes the
placement in time of audio/video segments and graphic displays as well as
the sizing and placement of graphics on a screen. The logical decisions
are described using variable unknowns in place of actual items of data,
with the understanding that these variables will be replaced with actual
items of data by an engine or program that merges the video report
description 205 with a set of data 203 to produce an actual recorded video
19. This engine or program is called the report interpreter and is
described below.
Anyone familiar with the art of computer programming will understand that a
video report description 205 is a program and that the report interpreter
207 is a computing engine or program that executes video report
descriptions 205 with data 203 as input.
The report interpreter 207 for video reports is a computing engine or
program that takes as input a video report description 205 and a set of
data 203. The coupling of a video report description 205 with a set of
data 203 describes a recorded video 19, and the task of the report
interpreter 207 is to translate this description into another description
that is understood by a videotape generating device. This latter
description is the output of the report interpreter 207, and it is called
a video report file 209.
A video report 209 is a complete description of a customized video
containing information on the resources and timing of elements required to
produce a videotape. This description can be interpreted by a videotape
generating device to produce an actual recorded video 19.
The scheduling processor 13 utilizes the video report file 209 and
communicates with the various system servers 24, 26, 28, 32, 34, 38, 74
and 75, via the LAN interface to establish what specific resources will be
required to produce a given videotape, such as the videotape 19. Once the
resources have been allocated, the scheduling processor 13 supplies each
of the servers 24, 26, 28, 32, 34, 38, 74 and 75 with time triggered event
information. The servers in turn, such as the servers 24, 26, 28, 32, 34,
38, 74 and 75 cause the various resources, such as the group 14 of
videocassette recorders, the group 15 videodisc players, the group 16 of
audio mixers, and the group 17 of graphic servers to be to be utilized on
a time sharing basis over a given time period for producing one or more of
the videotapes, such as the videotape 19. More particularly, the
scheduling processor 13 via the routing switcher 42 establishes the matrix
architecture 501 by assigning certain ones of the audio, video, graphic
resources as a group 581 of destination resources and certain other ones
of the audio, video, graphic resources as a group 580 of source resources
to insure time sharing usually without simultaneous access unless
simultaneous access is otherwise allowed.
A label description 213 describes how a label 219 is to be printed given
any set of data 203. A label 219 may include various elements such as
paragraphs of text and graphics and elements with contents from a data set
203. How these elements are selected for printing a label 219 is described
by logic contained in the label description 213. Besides selection, the
logic here also describes the sizing and placement of these elements on a
label. The logical decisions are described using variable unknowns in
place of actual items of data, with the understanding that these variables
will be replaced with actual items of data by an engine or program that
merges the label description 213 with a set of data 203 to produce a label
file 215 and thereby an actual printed label 219. This engine or program
is called the report interpreter 207 and is described below.
Anyone familiar with the art of computer programming will understand that a
label description 213 is a program and that the report interpreter 207 is
a computing engine or program that executes label descriptions 213 with
data 203 as input.
The report interpreter 207 for labels is a computing engine or program that
takes as input a label description 213 and a set of data. The coupling of
a label description 213 with a set of data 203 describes a printed label
219, and the task of the report interpreter 207 is to translate this
description 213 into another description 215 that is understood by a
printing device 217. This latter description is the output of the report
interpreter 207, and it is called a label file 215, which is described
below.
A label file 215 is a complete description of a customized label. This
description, which is written in a language such as Adobe PostScript.TM.
can be interpreted by a printer 217 to produce an actual printed label
219.
The scheduling processor 13 utilizes the label file 215 and communicates
with the label printer 217 to print a label 219 for a given videotape,
such as the videotape 19. In this regard, a label removing device (not
shown) removes the label 219 from the label printer 217 and attaches the
label 219 to the face of the tape 19 as best seen in FIG. 2.
A report description 221 describes how a report 227 is to be printed given
any set of data 203. A print report 227 may include various elements such
as paragraphs of text and graphics and elements with contents from a data
set 203. How these elements are selected for printing in a report is
described by logic contained in the print report description 221. Besides
selection, the logic here also describes the sizing and placement on a
page of these report elements. These logical decisions are described using
variable unknowns in place of actual items of data, with the understanding
that these variables will be replaced with actual items of data by an
engine or program that merges the print report description 221 with a set
of data 203 to produce a print report file 223 that, when executed by a
printer 225 produces an actual printed report 227. This engine or program
is called the report interpreter 207 and is described below.
Anyone familiar with the art of computer programming will understand that a
print report description 221 is a program and that the report interpreter
207 is a computing engine or program that executes print report
descriptions 221 with data 203 as input.
The report interpreter 207 for print reports is a computing engine or
program that takes as input a print report description 221 and a set of
data 203. The coupling of a print report description 221 with a set of
data 203 describes a print report 227, and the task of the report
interpreter 207 is to translate this description 221 into another
description 223 that is understood by a printing device 225. This latter
description 223 is the output of the report interpreter 207, and it is
called a print report file 223, which is described below.
| | |