U.S. patent application number 11/124728 was filed with the patent office on 2005-09-22 for dynamic generation of video content for presentation by a media server.
Invention is credited to Jones, Stefan.
Application Number | 20050210509 11/124728 |
Document ID | / |
Family ID | 24465491 |
Filed Date | 2005-09-22 |
United States Patent
Application |
20050210509 |
Kind Code |
A1 |
Jones, Stefan |
September 22, 2005 |
Dynamic generation of video content for presentation by a media
server
Abstract
A method and apparatus is provided for dynamically generating
digital video streams without an equivalent analog stream. The
apparatus includes a configuration manager. The configuration
manager presents configuration options to a user. User selections
are recording as user preferences. The configuration manager is
coupled to a media generator, which generates intermediate digital
content based upon the user preferences. The media generator may be
coupled to a local storage for storing electronic audio and visual
information. The intermediate digital content is transferred to an
encoder, which encodes the intermediate digital content to a
digital format specified by in the user preferences.
Inventors: |
Jones, Stefan; (Belmont,
CA) |
Correspondence
Address: |
STRAUB & POKOTYLO
620 TINTON AVENUE
BLDG. B, 2ND FLOOR
TINTON FALLS
NJ
07724
US
|
Family ID: |
24465491 |
Appl. No.: |
11/124728 |
Filed: |
May 9, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11124728 |
May 9, 2005 |
|
|
|
09615468 |
Jul 13, 2000 |
|
|
|
6892391 |
|
|
|
|
Current U.S.
Class: |
725/46 ;
348/E5.008; 348/E7.071; 725/112; 725/113; 725/34; 725/35 |
Current CPC
Class: |
H04N 21/6581 20130101;
H04N 17/004 20130101; H04N 21/25891 20130101; H04N 21/4884
20130101; H04N 21/4755 20130101; H04N 21/485 20130101; H04N
21/23439 20130101; H04N 19/00 20130101; H04N 7/17318 20130101; H04N
21/4856 20130101 |
Class at
Publication: |
725/046 ;
725/035; 725/034; 725/112; 725/113 |
International
Class: |
H04N 007/025; G06F
003/00; H04N 007/10; H04N 005/445; H04N 007/173 |
Claims
1. A method for generating a digital video stream, comprising: at a
media generator, generating intermediate digital content based on
data that indicates what content in said digital video stream
without digitizing an analog video stream; transferring
intermediate digital content to an encoder; and at said encoder,
encoding said intermediate digital content into said digital video
stream.
2. The method of claim 1, further comprising the following steps
that precede said step of generating intermediate digital content
at a media generator; presenting a user with a list of available
configuration options; recording a set of user preferences which
correspond to said list of available configuration options selected
by said user; transferring said set of user preferences to a media
generator.
3. The method of claim 1, wherein said data that indicates what
content to include in said digital video stream includes at least
one member selected from the group consisting of: a particular
background color, a particular number of objects presented on
screen, a particular color of objects presented on screen, a
particular shape of objects presented on screen, a particular
velocity of objects presented on screen, and a particular sound
played during presentation.
4. The method of claim 1, wherein said media generator is
operatively connected to a local storage, said local storage
storing electronic still images or video.
5. The method of claim 4, wherein said step of generating
intermediate digital content comprises said media generator
retrieving digital pictures, video, or sound from said local
storage.
6. The method of claim 1, wherein said step of generating
intermediate digital content includes said media generator
generating at least one timestamp on one or more frames, wherein
for each of said one or more frames said at least one timestamp
indicates at least one member selected from the group consisting
of: time said frame is encoded, time said frame is served by a
digital video server, and time said frame is displayed by a
client.
7. The method of claim 1, wherein said step of digitizing said
segment of intermediate digital video into said digital video
stream includes digitizing according to at least one member
selected from the group consisting of: the DVB standard, the ATSC
standard, the MPEG-1 standard, the MPEG-2 standard, the AVI
standard, the QuickTime standard, and the MPEG-4 standard.
8. The method of claim 2, wherein said step of presenting a user
with a list of available configuration options is performed by
presenting the user with one or more web pages.
9. The method of claim 1, wherein said step of transferring said
set of user preferences to a media generator is performed over at
least one member selected from the group consisting of: the
Internet and a proprietary Intranet.
10. The method of claim 1, wherein said step of digitizing said
segment of intermediate digital video into said digital video
stream occurs in real time.
11. A computer-readable medium carrying one or more sequences of
instructions for presenting dynamic content from a server to a
client, wherein execution of the one or more sequences of
instructions by one or more processors causes the one or more
processors to perform the steps of: at a media generator,
generating intermediate digital content based on data that
indicates what content to include in said digital video stream
without digitizing an analog video stream; transferring
intermediate digital content to an encoder; and at said encoder,
encoding said intermediate digital content into said digital video
stream.
12. The computer-readable medium of claim 11, wherein execution of
the one or more sequences of instructions by one or more processors
causes the one or more processors to perform the following steps
that precede said step of generating intermediate digital content
at media generator: presenting a user with a list of available
configuration options; recording a set of user preferences which
correspond to said list of available configuration options selected
by said user; transferring said set of user preferences to a media
generator.
13. The computer-readable medium of claim 11, wherein said data
that indicates what content to include in said digital video stream
includes at least one member selected from the group consisting of:
a particular background color, a particular number of objects
presented on screen, a particular color of objects presented on
screen, a particular shape of objects presented on screen, a
particular velocity of objects presented on screen, and a
particular sound played during presentation.
14. The computer-readable medium of claim 11, wherein said media
generator is operatively connected to a local storage, said local
storage storing electronic still images or video.
15. The computer-readable medium of claim 14, wherein said step of
generating intermediate digital content comprises said media
generator retrieving digital pictures, video, or sound from said
local storage.
16. The computer-readable medium of claim 11, wherein said step of
generating intermediate digital content includes said media
generator generating at least one timestamp on one or more frames,
wherein for each of said one or more frames said at least one
timestamp indicates at least one member selected from the group
consisting of: time said frame is encoded, time said frame is
served by a digital video server, and time said frame is displayed
by a client.
17. The computer-readable medium of claim 11, wherein said step of
digitizing said segment of intermediate digital video into said
digital video stream includes digitalizing according to at least
one member selected from the group consisting of: the DVB standard,
the ATSC standard, the MPEG-1 standard, the MPEG-2 standard, the
AVI standard, the QuickTime standard, and the MPEG-4 standard.
18. The computer-readable medium of claim 12, wherein said step of
presenting a user with a list of available configuration options is
performed by presenting the user with one or more web pages.
19. The computer-readable medium of claim 11, wherein said step of
transferring said set of user preferences to a media generator is
performed over at least one member selected from the group
consisting of: the Internet and a proprietary Intranet.
20. The computer-readable medium of claim 11, wherein said step of
digitizing said segment of intermediate digital video into said
digital video stream occurs in real time.
21-29. (canceled)
Description
FIELD OF THE INVENTION
[0001] The present invention relates to a method and apparatus for
processing audio-visual information, and more specifically, to a
method and apparatus for dynamic digital content generation for
presentation by a digital media server.
BACKGROUND OF THE INVENTION
[0002] In recent years, the media industry has adopted digital
technologies to record and play numerous types of media, such as
audio, still photographs, and moving video. The use of digital
video has become increasingly prevalent in today's society. This
phenomenon is not without warrant, as digital video provides
numerous advantages over analog video. As users of the popular DVD
format well know, digital video does not degrade from repeated use.
Digital video can also either be delivered for presentation all at
once, as when loaded by a DVD player, or delivered in a stream as
needed. Today, digital media systems are available to deliver and
present digital content to viewers in increasing numbers. However,
the digital content needed to develop and test these digital media
systems is in short supply.
[0003] Digital vide is often first recorded in traditional analog
form. It is encoded, or digitized, and compressed into a digital
format that can be stored on disk and decoded during playback. For
example, using techniques well understood by those in the art a
show broadcast over analog television may be converted into a
digital format by using a device called an encoder.
[0004] However, while the practice of converting analog video
presentations into digital form may be well understood, it is not
practical for either testing or commercial purposes. The
intellectual property rights of the original owners of the analog
video must be respected, and only those individuals who have
obtained the rights to the analog media presentation are authorized
to use the converted digital presentation for private use.
[0005] During testing of a digital media system it is necessary to
have ample amounts of digital video to sufficiently test all
components of the digital media system. Prior attempts to generate
substantial amounts of digital content to facilitate system testing
have met with limited success. As mentioned earlier, digitalizing
analog video is cost prohibitive, due to the licensing of
intellectual property. Also, as it was not originally contemplated
for digital presentation, the content available in analog
broadcasts is neither well suited nor of sufficient complexity to
test the performance of a digital media system. Further, testing
fats such as fast forward or rewind is difficult at best without
specific temporal information visible in the presentation. Such
temporal information may include the time the presentation was
encoded, the time the presentation was delivered by the server, and
the time the presentation was received by the client. Without such
information, it is difficult to determine the accuracy of a fist
forward or rewind operation, or the lag time in the digital media
system when delivering frames of video.
[0006] Content for digital media testing also needs to conform to
certain standards. One popular stank for digital media is DVB, or
Digital Video Broadcasting. DVB is a set of standards for
transmitting compressed digitized video over broadcast industry
transmission channels, such as cable, satellite, or terrestrial
transmissions. Further information about the DVB standard may be
obtained at the Internet web address "www.dvb.com". ATSC is another
standard for transmitting video that is used primarily in digital
high definition television (HDTV), standard definition television
(SDTV), data broadcasting, multi-channel surround-sound audio, and
satellite direct-to-home broadcasting. Further information on the
ATSC standard may be found at the Internet web address
"www.atsc.org".
[0007] Analog video may be encoded, or digitized, into a digital
format conforming to the above standards through the use of an
encoder. The set of standards that may be selectively implemented
by the encoder during the digitization process are not limited to
the above examples, and may include other standards such as MPEG-1,
MPEG-2, real player, or AVI. As there are numerous digital media
standards, and that number will likely only grow in the coming
years, the need to generate content for a digital media system
conforming to a variety of format standards will accordingly
grow.
[0008] Current methods of generating test content for a digital
media system have not met the needs of designers and testers of
digital media systems. For example, one common method for
generating a suite of test content involves the recording of
original analog video, often time something as mundane as a
stationary clock, with a standard VHS video recorder, and
digitizing the resulting analog recording into a digital format.
While this method does not require the licensing of intellectual
property, as digitizing a segment of broadcast television would, it
is still riddled with problems. First, as with any digitized analog
recording, the cause of any fluctuation in the quality of digital
video presentation cannot be isolated to the digital media system,
as the problem could have arisen in the quality of the original
analog video. Second, digital test content should test the
constants of the digital media system by being rich in color,
sound, and moving objects. Such conditions are impractical to
record in real life with a standard VHS video recorder. Third,
without information identifying each frame of digital video, it is
difficult to test scan operations as well as isolating delays in
the digital media system in presenting digital video. While content
in the video, such as the clock face, can be used to generally
determine that a fist forward or rewind operation worked, it does
not provide any frame specific information which is needed to
accurately determine the success of a jump in time or isolate
delays in presentation throughout the digital media system.
[0009] Another approach in obtaining test content is to use a
selection of pre-generated digital samples, such as those available
on the Internet. However, in addition to encountering the problems
mentioned above of licensing intellectual property, ad lacking fame
specific information, these selections are typically of extremely
short duration, which severely restricts their value in testing.
Further, a suite of testing content should as much as possible
exhaustively cover all the possible real world scenarios, which the
small samplings of digital video available do not begin to address.
Without varying the content in the digital content samples in the
test suite, it is difficult to ensure that the fall spectrum of
problems that a digital video server may encounter have been
tested. Additionally, each of these selections of pre-generated
digital samples is fixed in one digital format, and will not serve
the need to test multiple digital formats.
[0010] Given the inefficiencies of the cut method of digital
content generation and testing there has been a long felt nee
therefore, for a method or apparatus for generating original
digital content that addresses the above needs for testing a
digital media system. Such a method or system should allow one to
configure the content of the digital video to rest all components
of the digital video system as well as encode the digital video in
a variety of digital formats.
SUMMARY OF THE INVENTION
[0011] A method and apparatus for dynamically generating digital
content is descried. According to a primary aspect of the
invention, a configuration manager presents configuration options
to a user corresponding to the content of a digital video
presentation. The configuration manager records selected
configuration options as user preferences. The user preferences are
transferred to a media generator, which generates intermediate
video content according to the received user preferences. The
generated intermediate video content is then transferred to an
encoder, which encodes the intermediate video content into a
digital format specified in the user preferences.
[0012] According to another aspect of the invention, the media
generator may be operatively connected to a local storage, which
houses digital picture stills, video, and sound. The configuration
manager presents the user with the option to select digital picture
stills, video, and sound housed in the local storage in generating
the new digital content.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The present invention is illustrated by way of example, and
not by way of limitation, in the figures of the accompanying
drawings and in which like reference numerals refer to similar
elements and in which:
[0014] FIG. 1 is a block diagram that illustrates a computer system
upon which an embodiment of the invention may be implemented;
[0015] FIG. 2 is a block diagram illustrating the functional
components of a digital media generator according to an embodiment
of the present invention; and
[0016] FIG. 3 is a flow chart illustrating the steps of generating
intermediate digital content.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0017] In the following description, for the purposes of
explanation, numerous specific details are set fort in order to
provide a thorough understanding of the present invention. It will
be apparent, however, to one skilled in the art that the present
invention may be practiced without these specific details. In other
instances, well-known structures and devices are shown in block
diagram form in order to avoid unnecessarily obscuring the present
invention.
[0018] In the following description, the various functions shall be
discussed under topic headings that appear in the following
order.
[0019] I. HARDWARE OVERVIEW
[0020] II. FACTIONAL OPERATION
[0021] III. CONFIGURATION MANAGER
[0022] IV. MEDIA GENERATOR
[0023] V. SOFTWARE ENCODER
I. Hardware Overview
[0024] FIG. 1 is a block diagram that illustrates a computer system
100 upon which an embodiment of the invention may be implemented.
Computer system 100 includes a bus 102 or other communication
mechanism for communication information, and a processor 104
coupled with bus 102 for prong information. Computer system 100
also includes a main memory 106, such as a random access memory
(RAM) or other dynamic storage device, coupled to bus 102 for
storing information and instructions to be executed by processor
104. Main memory 106 also may be used for storing teary variables
or other intermediate information during execution of instructions
to be executed by processor 104. Computer system 101 further
includes a read only memory (ROM) 108 or other static storage
device coupled to bus 102 for storing static information and
instructions for processor 104. A storage device 110, such as a
magnetic disk or optical disk, is provided and coupled to bus 102
for storing information and instructions.
[0025] Computer system 100 may be coupled via bus 102 to a display
112, such as a cathode ray tube (CRT), for displaying information
to a computer user. An input device 114, including alphanumeric and
other keys, is coupled to bus 102 for communing information and
command selections to processor 104. Another typo of user input
device is cursor control 116, such as a mouse, a trackball, or
cursor direction keys for communicating direction information and
command selections to processor 104 and for controlling cursor
movement on display 112. This input device typically has two
degrees of freedom in two axes, a it axis (e.g., x) and a second
axis (e.g., y), that allows the device to specify positions in a
plane.
[0026] The invention is related to the use of computer system 100
for generating a digital video content. According to one embodiment
of the invention, a digital video content is provided by computer
system 100 in response to processor 104 executing one or more
sequences of one or more instructions contained in main memory 106.
Such instructions may be read into main memory 106 from another
computer-readable medium, such as storage device 110. Execution of
the sequences of instructions contained in main memory 106 causes
processor 104 to perform the process steps described herein. In
alternative embodiments, hard-wired circuitry may be used in place
of or in combination with software instructions to implement the
invention. Thus, embodiments of the invention are not limited to
any specific combination of hardware circuitry and software.
[0027] The execution of the sequences of instructions required to
practice the invention need not be performed by a single computer
system 100. The sequences of instructions required to practice the
invention may be performed by a plurality of computer systems 100
connected to local network 122, connected to the Internet 128, or
otherwise in data communication with each other.
[0028] The term "computer-readable medium" as used herein refers to
any medium that participates in providing instructions to processor
104 for execution. Such a medium may take many forms, including but
not limited to, non-volatile media, volatile media, and
transmission media. Non-volatile media includes, for example,
optical or magnetic dims, such as storage device 110. Volatile
media includes dynamic memory, such as main memory 106.
Transmission media includes coaxial cables, copper wire and fiber
optics, including the wires that comprise bus 102. Transmission
media can also take the form of acoustic or light waves, such as
those generated radio-wave and infra-red data communications.
[0029] Common forms of computer-readable media include, for
example, a floppy disk, a flexible disk, hard disk, magnetic tape,
or any other magnetic medium, a CD-ROM, any other optical medium,
punchcards, papertape, any other physical medium with patterns of
holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory
chip or cartridge, a carrier wave as described hereinafter, or any
other medium from which a computer can rd.
[0030] Various forms of computer readable media may be involved in
caring one or more sequences of one or more instructions to
processor 104 for execution. For example, the instructions may
initially be carried on a magnetic disk of a remote computer. The
remote computer can load the instructions into its dynamic memory
and send the instructions over a telephone line using a modem. A
modem local to computer system 100 can receive the data on the
telephone line and use an infra-red transmitter to convert the data
to an infra-red signal. An infra-red detector can receive the data
carried in the in infra-red signal and appropriate circuitry can
place the data on bus 102. Bus 102 carries the data to main memory
106, from which processor 104 retrieves and executes the
instructions. The instructions received by main memory 106 may
optionally be stored on storage device 110 either before or after
execution by processor 104.
[0031] Computer system 100 also includes a communication interface
118 coupled to bus 102. Communication interface 118 provides a
two-way data communication coupling to a network link 120 that is
connected to a local network 122. For example, communication inter
118 may be an integrated services digit network (ISDN) card or a
modem to provide a data communication connection to a corresponding
type of telephone line. As another example, communication interface
118 may be a local area network (LAN) card to provide a data
communication connection to a compatible LAN. Wireless links may
also be implemented. In any such implementation, communication
interface 118 sends and receives electrical, electromagnetic or
optical signals that carry digital data streams representing
various types of information.
[0032] Network link 120 typically provides data communication
trough one or more networks to other data devices. For example,
network link 120 may provide a connection through local network 122
to a host computer 124 or to data equipment operated by an Internet
Service Provider (ISP) 126. ISP 126 in turn provides data
communication services through the world wide packet data
communication network now commonly referred to as the "Internet"
128. Local network 122 and Internet 128 both use electrical,
electromagnetic or optical signals that carry digital data streams.
The signals through the various networks and the signals on network
link 120 and through communication interface 118, which carry the
digital data to and from computer system 100, are exemplary forms
of carrier waves transporting the information.
[0033] Computer system 100 can send messages and receive data,
including program code, through the network(s), network link 120
and communication interface 118. In the Internet example, a server
130 might transmit requested program code for an application
program through Internet 128, ISP 126, local network 122 and
communication interface 118.
[0034] The received code may be executed by processor 104 as it is
received, and/or stored in storage device 110, or other
non-volatile so for later execution. In this manner, computer
system 100 may obtain application code in the form of a carrier
wave.
[0035] Having thus described the physical environment upon which
the invention may be practiced, the functional overview of the
invention will now be presented.
II. Functional Overview
[0036] FIG. 2 is a block diagram illustrating a digital media
generator 300 according to a principal aspect of the invention. As
shown there a digital media generator 300 includes a configuration
manager 310, a media generator 320, an optional local storage 330,
and an encoder 340. A user 305 interacts with the digital media
generator 300 through the configuration manger 310. The
configuration manger 310 is responsible representing the user 305
with a list of configuration options 350 which correspond to a
manner in which a segment of customized digital video 365 may be
configured. The configuration manger 310 exchanges data with the
media generator 320 and encoder 340 to determine to composition of
the list of configuration options 350. The configuration manager
310 records the selection made by the user 305 from the list of
configuration options 350 as user preferences 355, which are
transmitted to the media generator 320.
[0037] The media generator 320 is responsible for generating
intermediate digital content 360 based upon the user preferences
355. The media generator 320 may be coupled to local storage 330.
The local storage 330 stores digital sounds, still pictures, and
video which are used by the media generator 320 in generating
intermediate digital content 360. Intermediate digital content 360
contains the desired content as selected by the user 305, however,
it has yet to be encoded in the desired digital format. After the
media generator 320 generates intermediate digital content 360, it
is transferred, along with the user preferences 355, to the encoder
340. Intermediate digital content 360 may be transferred in real
time, or asynchronously over a network link 120 or transferred via
a portable storage device.
[0038] The encoder 340 is responsible for generating the segment of
customized digital video 365 from intermediate digital content 360
based upon the format specified in the use preferences 355. The
segment of customized digital video 365 may thereafter be used to
test a digital media system.
[0039] After had now described the functional overview of the
digital media generator 300 in general, the configuration manager
310, media generator 320, and encoder 340 will now each be
explained in finer detail in the following sections.
II. Configuration Manager
[0040] As previously explained, the configuration manger 310 is
responsible for presenting the user 305 with a list of
configuration options 350 which correspond to a manner in which the
segment of customized digital video 365 may be configured. A
typical list of configuration options 350 include, but are not
limited to: altering the background in the video, altering the
number of objects displayed in the video, altering the shape of the
objects displayed in the video, altering the color of the shapes in
the video, altering the velocity of the shapes in the video,
altering the trajectory of the shapes in the video, including a
sound track or tone pattern in the video, and including a timestamp
in the video.
[0041] The user 305 may also indicate in the list of configuration
options 350 time zones in which various parts of the system am
simulated to operate. This information will be used by the media
generator 320 to generate intermediate digital content 360 to test
these conditions. Additionally, to aid in the scan operations, the
list of configuration options 350 may include rate control markers,
which alter the background color briefly at set time intervals.
[0042] The list of configuration options 350 is generated by the
configuration manager 310 based upon information received from the
media generator 320 about the current capability of the media
generator 320 to generate digital video and information received
from the encoder 340 on the types available digital formats
supported by the encoder 340. The configuration manager 310 should
be updated when there is a change in the capacity of either the
media generator 320 to generate digital video or the encoder 340 to
support new digital formats. For example, such a change in the
media generator 320 may include additional sound or video
information stored with the local store 330 that can be selected by
the user 305 in generating intermediate digital content 360.
[0043] The list of configuration options 350 may be presented to
the use through any graphical user interface, such as an Internet
web page or those used by common personal computer software and
operating systems. The list of configuration options 350 may be
transmitted to the user over any communication medium, such as the
Internet or a proprietary Intranet. The list of configuration
options 350 may be saved by the user 305, and at a later date be
loaded, edited, and saved again.
[0044] The configuration manager 310 records selections made by the
user 305 from the list of configuration options 350 as user
preferences 355. The user preferences 355 are transmitted to the
media generator 320 when the user 305 indicates that video is to be
generated.
IV. Media Generator
[0045] The media generator 320 is responsible for generating
intermediate digital content 360 based upon the user preferences
355. Intermediate digital content 360 is a series of uncompressed
simple graphics (typically a series of bitmap files) that contain
the characteristics indicated in the user preferences 355. The
intermediate digital content 360 may additionally contain sound if
indicated in the user preferences 355. The media generator 320 may
optionally be operatively connected to a local storage 330, which
houses digital sounds, still pictures, and video. The local storage
330 can be any component well known to those in the art for storing
electronic information, such as a database.
[0046] As FIG. 3 illustrates, the media generator 320 loads the
user preferences 355. Next, the digital sounds, still pictures, and
video needed to satisfy the requirements of the user preferences
355 stored in local storage 330 are identified by the media
generator 320. Next, the media generator 320 loads the identified
digital sounds, still pictures and video. Once loaded, the media
generator 320 uses these digital sounds, still pit, and video to
create the content arrangement specified in the user preferences
355. In addition to incorporating the sounds, still pictures, and
video from local storage 330, the media generator can construct
digital content in any of the well known methods in the art as
changing background color, incorporating and manipulating texts
generating shapes and figs, and other such functionality typical of
graphics manipulation software packages, such as AutoCad by
AutoDesk, Inc. or Corel Draw by Corel Corporation.
[0047] The media generator 320 may also include functionality to
synthesize or generate sound dynamically according to input from
the user 305. The configuration manager 310 may present the user
305 configuration options 350 to dynamically generate or record
sound. The generated sound may be stored in the local storage 305
and used by the encoder 340 in the generation of the segment of
customized digital video 365.
[0048] Finally, the content arrangement is saved by the media
generator 320 as intermediate digital content 360. The intermediate
digital content 360 can be saved in any format that the encoder 340
can read, such as a series of bitmap files.
[0049] The media generator 320 may use a system clock to place a
visible timestamp in the intermediate digital content 360. This
would allow testers of the digital media system to visually inspect
the digital video during normal play and seek operations to ensure
proper functioning of the digital media system.
[0050] According to one embodiment of the present invention, the
intermediate digital content 360 is of a fixed length. The
intermediate digital content 360 may be transferred to the encoder
340 immediately or saved for transfer at a later date. In another
embodiment, the intermediate digital content 360 has no fixed
length, and is continually generated by the media generator 320. In
his case the encoder 340 encodes the intermediate digital content
360 as it is received in real time.
V. Encoder
[0051] The encoder 340 is responsible for generating the segment of
customized digital video 365 from the segment of intermediate
digital video 360 based upon the format specified in the user
preferences 355. This format may be of any form. For example, the
encoded format may include MPEG-1, MPEG-2, MPEG-4, AVI, or
QuickTime, the DVB standard, or the ATSC standard.
[0052] A suitable encoder for use in the present invention is
MegaPEG from Digigami, Inc. located physically in San Diego,
Calif., and on the Internet at "www.digigami.com". Another suitable
encode for use in the present invention is Light Speed MPEG Encoder
from Ligos Technology located physically in San Francisco, Calif.,
and on the Internet at "www.ligos.com".
[0053] In the foregoing specification, the invention has been
described with reference to specific embodiments thereof. It will,
however, be evident that various modifications and changes may be
made hereto without departing from the broader spirit and scope of
the invention. The specification and drawings are, accordingly, to
be regarded in an illustrative rather than a restrictive sense.
* * * * *