Sign In to Follow Application
View All Documents & Correspondence

Automated Story Generation

Abstract: Automatic story production is implemented by the utilization of theme scripts with user assets to generate a quality finished product with minimum user input or direction. A user chooses a predesigned theme script to be applied to the user s assets to automatically create a story with a particular look and feel. Metadata and feature information when available is automatically gathered from the user assets to personalize the generated story. A user can include additional information and/or alter any aspect of the generated story to further personalize the resultant finished product.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
11 September 2012
Publication Number
13/2014
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2021-11-16
Renewal Date

Applicants

MICROSOFT CORPORATION
One Microsoft Way Redmond WA 98052 6399

Inventors

1. SURI Nitin
c/o Microsoft Corporation LCA International Patents One Microsoft Way Redmond WA 98052 6399
2. SUBRAMANIAN Sriram
c/o Microsoft Corporation LCA International Patents One Microsoft Way Redmond WA 98052 6399
3. SPROULE William David
c/o Microsoft Corporation LCA International Patents One Microsoft Way Redmond WA 98052 6399

Specification

AUTOMATEDSTORY GENERATION
BACKGROUND
[0001] Users can create stories, e.g., movies, from user assets such as user images,
videos, and audio files. Users can use a computing device to render individual
manipulations for combining, grouping and ordering a set of user assets for output
presentation. The generated movies can be desirable for showcasing the user assets.
[0002] With the plethora of media and messages vying for individuals' attentions via
their computers, televisions, cell phones, radios, etc, what can assist any particular
presentation to stand out to an audience, along with the story subject, is the caliber of
polish with which the story is generated.
[0003] Users have to commit time and effort to create a story from their user assets as
there can be many factors and elements a user will contend with in generating a finished
product. Additionally, creating a finished product from a set of user assets can require
users to have the skills, artistic talent and knowledge of the software for implementing the
details to generate the intended resultant product.
SUMMARY
[0004] This summary is provided to introduce a selection of concepts in a simplified
form that are further described below in the Detailed Description. This summary is not
intended to identify key or essential features of the claimed subject matter, nor is it
intended to be used as an aid in determining the scope of the claimed subject matter.
[0005] Embodiments discussed herein include systems and methodology for enabling
automatic and personalized user story creation.
[0006] In embodiments user content, or assets, e.g., images, video and/or audio files,
are automatically analyzed and organized within a user story, e.g., a movie. In
embodiments rules of a theme script that is designed to create a particular feeling or theme
for a finished user story are automatically applied to user assets to create a predesigned
look for the user assets which become elements of the generated user story.
[0007] In embodiments an introduction section and an end section for the user story
are automatically created pursuant to theme script rules and using user assets, metadata
and/or feature information mined from analyzed user assets.
[0008] In embodiments the user story is automatically organized into chapters
pursuant to theme script rules and the nature and quantity of the user assets.
[0009] In embodiments the user story is personalized by the inclusion of captions that
are automatically generated from information mined from analyzed user assets and/or are
automatically generated with generic text that can be replaced by user input when the
necessary asset information is unavailable or nonexistent.
[0010] In embodiments various treatments, e.g., transitions, effects, music inclusions,
titles, credits, caption designs, etc., are applied to or generated for elements of the user
story pursuant to theme script rules. In an aspect of these embodiments the treatments are
intended to help create a personalized user story with a particular look and feel.
[0011] In embodiments elements of the automatically generated user story can be
modified by a user to further enhance the personalization of the final user story. In
embodiments a finalized user story can be stored and/or published, e.g., to one or more
websites, one or more devices, e.g., cell phones, etc.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] These and other features will now be described with reference to the drawings
of certain embodiments and examples which are intended to illustrate and not to limit, and
in which:
[0013] FIG. 1 depicts an embodiment movie production system that automatically
transforms and arranges user content to generate a story.
[0014] FIG. 2 depicts sections of an embodiment generated story.
[0015] FIG. 3 depicts embodiment theme script rule groups.
[0016] FIGs. 4A-4B illustrate an embodiment logic flow for an embodiment movie
production system.
[0017] FIGs. 5A-5E illustrate an embodiment logic flow for an embodiment movie
production system to execute a user-chosen theme script to generate a story.
[0018] FIG. 6 is a block diagram of an exemplary basic computing device system that
can process software, i.e., program code, or instructions.
DETAILED DESCRIPTION
[0019] In the following description, for purposes of explanation, numerous specific
details are set forth in order to provide a thorough understanding of embodiments
described herein. It will be apparent, however, to one skilled in the art that the
embodiments may be practiced without these specific details. In other instances wellknown
structures and devices are either simply referenced or shown in block diagram form
in order to avoid unnecessary obscuration. Any and all titles used throughout are for ease
of explanation only and are not for any limiting use.
[0020] FIG. 1 depicts an embodiment movie production system 100 that takes as input
user content 135, or user assets 135, and arranges the user content 135 to generate a
personal story, e.g., movie, 160 with high quality and minimum user effort. In
embodiments user content 135 can include, but is not limited to, user images 105, user
video 115, also referred to herein as video clips, user audio 125, user graphics and/or user
text files. In an embodiment the user assets 135 are each composed of one or more
frames; i.e., one or more images in a set of images 105, one or more stills in a video 115,
one or more predefined timed segments of an audio file 125, etc.
[0021] In an embodiment the product, e.g., movie, 160 generated by the movie
production system 100 is a resultant story that is told by the user assets 135 included
therein along with any dynamically generated elements 155, e.g., a scrapbook page of
selected user images 105, etc., and preselected elements, e.g., clipart, music, etc. As used
herein, the term movie is intended to refer to any product, or story, generated by an
embodiment movie production system 100 using user assets 135. In an embodiment a
movie 160 consists of a collection of one or more frames wherein each frame can be, or
consist of, a user asset, a modified user asset, a dynamically generated element 155,
predefined content, etc., or a combination thereof, etc.
[0022] In an embodiment the movie 160 generated by the movie production system
100 can have three sections, as depicted in FIG. 2. An embodiment first movie section is
an intro, or introduction, section 210. In an embodiment an intro section 210 is a section
added to the beginning of the movie 160 that introduces the movie 160. In an aspect of
this embodiment an intro section 210 can include one or more titles, one or more credits,
date information, user content 135 information, one or more phrases, e.g., lyrics to a song,
words from a poem, captions, etc. In an aspect of this embodiment an intro section 210
can also, or alternatively, include content 155, or elements 155, that is dynamically
generated from user content 135; e.g., a collage formed from users assets 135.
[0023] An embodiment second movie section is the mid, or body, section 220. In an
embodiment the mid section 220 is the section of the movie 160 that is the story produced
from the user assets 135. In an embodiment the mid section 220 includes user assets 135,
unaltered, transformed, edited and/or modified. In an embodiment the mid section 220
can also, or alternatively, include elements 155 dynamically generated from user assets
135, e.g., a collage of images 105 arranged on a predesigned background, frame captions
created from mined metadata, etc. In an embodiment frames of the mid section 220 of the
movie 160 can also, or alternatively, include predefined content; e.g., a music score, clip
art, etc.
[0024] An embodiment third movie section is the outro, or end, section 230. In an
embodiment an end section 230 is a section added to the end of the movie 160 that
concludes the movie 160. In an aspect of this embodiment an end section 230 can include
one or more titles, one or more credits, date information, user content 135 information,
one or more phrases, e.g., lyrics to a song, words from a poem, captions, etc. In an aspect
of this embodiment an end section 230 can also, or alternatively, include elements 155
dynamically generated from user content 135.
[0025] In an embodiment the mid section 220 of a movie 160 can be divided into two
or more chapters, or sections, 240, each with its own subject, or content, or sub-theme. In
this embodiment each chapter 240 has a mid section 220. In an aspect of this embodiment
each chapter 240 can also include an intro section 210. In an aspect of this embodiment
each chapter 240 can also, or alternatively, include an end section 230.
[0026] In embodiments a movie 160 can consist of just a mid section 220, an intro
section 210 and a mid section 220, a mid section 220 and an end section 230, or an intro
section 210, a mid section 220 and an end section 230.
[0027] Referring back to FIG. 1, in an embodiment theme scripts, or script files, 150
of the movie production system 100 are designed to create stories, e.g., movies, 160 from
user assets 135. In an embodiment the theme scripts 150 are generated with creative input
from one or more artists and/or one or more graphic designers who choose harmonious
styling elements for a particular theme. In an embodiment theme scripts 150 can also, or
alternatively, be generated by a user 145 or any one desiring to author a script file 150. In
an embodiment theme scripts 150 can also, or alternatively, be generated by the execution
of script design software.
[0028] In an embodiment the theme scripts 150 are in a human-readable format which
provides for efficient maintenance and flexible modification of a theme script 150.
[0029] An embodiment theme application engine 120 of a movie production system
100 has the capability to utilize a user chosen theme script 150 to automatically arrange
and transform user assets 135 in such a way that the resultant story, or movie, 160 is of a
user-perceived high quality with minimal user effort required. In an embodiment the
theme application engine 120 runs a theme script 150 against user assets 135 to create a
story, or movie, 160. In an embodiment each theme script 150 contains information, or
rules 175, on how the user assets 135 should be filtered, arranged and/or transformed
(visually and/or audioally) to create a movie 160 with a particular theme. In an
embodiment a theme refers to a mood, an aesthetic style or an event, e.g., joyous, sporty,
birthday, wedding, sepia, colorful, etc. In an embodiment theme scripts 150 provide an
abstract mechanism for defining how an end product, e.g., movie 160, should look and
sound without the need to know any details of the user assets 135.
[0030] In an embodiment, before a theme is applied to a set of user assets 135
metadata and feature information is mined from the user content 135; e.g., any tags related
to the user content 135, any tags identifying people in the user content 135, any tags
identifying the location of the pictured user content 135; feature information on where
faces are located in a frame of user content 135, etc. Mining some of this information can
be computationally expensive and time consuming. Thus, in an embodiment the mining of
metadata and feature information from user content 135 is done in the background when
the user content 135 is first input, or made available, to the movie production system 100.
[0031] In an embodiment, when user content 135 is input to the movie production
system 100 it is automatically fed through an embodiment metadata feature extraction and
analysis engine 110, also referred to herein as an analysis engine 110. In an embodiment
the analysis engine 110 executes asynchronously in the background using spare CPU
cycles. In an embodiment the analysis engine 110 has the capability to extract, analyze
and store metadata and feature information from user content 135 that can be used later by
an embodiment theme application engine 120 in creating a personal movie 160. In an
embodiment the analysis engine 110 stores the mined metadata and feature information in
one or more metadata databases 130. In other embodiments mined metadata and feature
information is stored and referenced by one or more of a variety of storage constructs,
including but not limited to, metadata databases 130, tables, lists, linked lists, etc.
[0032] In an embodiment, before a theme is applied to a set of user assets 135 one or
more analyses are performed on the user assets 135. In an embodiment the analyses
performed can include statistical analysis to determine how much is changing over x
frames in a user video 115 or user audio file 125; e.g., how much action is occurring over
x frames of a user video 115. In an embodiment the analyses performed can include a
determination of the loudness of the audio portion of a user video 115 or subset of the user
video 115 or the loudness of a user audio file 125 or subset of a user audio file 125. In an
embodiment the analyses performed can include a determination of the clarity of one or
more user images 105 and/or one or more frames of a user video 115; i.e., a determination
of how in focus one or more user images 105 and/or one or more user video frames are. In
an embodiment the analyses performed can include a determination of whether one or
more images 105 and/or one or more frames of a user video 115 have red-eye. In
embodiments a variety of additional and/or different analyses can be performed on a set of
user assets 135. In an embodiment information derived from one or more analyses, also
referred to herein as asset modification information or details, can be used to identify
modifications, or corrections, that can be made to one or more user assets 135; e.g.,
modifications for red-eye, modifications for out-of-focus user images 105 or frames of a
user video clip 115, etc.
[0033] In an embodiment the analysis engine 110 has the capability to perform
analyses on a set of user assets 135. Analyses of the user assets 135 can be
computationally expensive and time consuming. Thus, in an embodiment the analyses of
the user content 135 is done in the background when the user content 135 is first input to
the movie production system 100. In an embodiment, when user content 135 is input to
the movie production system 100 it is automatically fed through an embodiment analysis
engine 110. In an embodiment the analysis engine 110 executes asynchronously in the
background using spare CPU cycles to perform analyses on the user content 135.
[0034] In an embodiment movie production system 100 an adaptation engine 140 has
the capability to use asset modification information from the analysis engine 110 to
modify, or correct, one or more user assets 135. For example, the adaptation engine 140
corrects red eyes, adjusts lighting and exposure, shortens or otherwise segments a video
115 for specific content and/or to reduce duplicity or redundancy, deletes or modifies outof-
focus frames in a video 115, etc. In an embodiment the resultant modified user asset(s)
are stored in one or more asset databases 170. In other embodiments modified user assets
are stored and referenced by one or more of a variety of storage constructs, including but
not limited to, asset databases 170, tables, lists, linked lists, etc. In this manner the user
assets 135 remain as inputted and are unaltered by the embodiment movie production
system 100 and the movie production system 100 is non destructive to user content 135.
[0035] In an embodiment the adaptation engine 140 has the capability to take
directions from the theme application engine 120 and apply theme script rules 175 to user
assets 135. For example, the adaptation engine 140 can crop one or more user images 105
as directed by one or more theme script rules 175 to zoom in on a particular image feature;
e.g., a person, a geographic feature, e.g., mountain or river, etc. As another example the
adaptation engine 140 can impose an effect on user assets 135; e.g., transpose user assets
135 to black-and-white, fade in or fade out on one or more user asset frames, etc. In an
embodiment the resultant modified user asset(s) are stored in one or more asset databases
170. In other embodiments modified user assets are stored and referenced by one or more
of a variety of storage constructs, including but not limited to, asset databases 170, tables,
lists, linked lists, etc. In this manner the original user assets 135 remain unaltered by the
embodiment movie production system 100.
[0036] As noted, in an embodiment each theme script 150 contains rules 175 that
define the movie 160 to be generated. In an embodiment each theme script 150 has rules
175 that, when applied, create the format of the movie 160, e.g., size of the mid section
220, number and ordering of chapters 240 in the mid section 220, etc. In an embodiment
each theme script 150 contains rules 175 for the contents of any intro section(s) 210, the
contents of the mid section 220, and the contents of any end section(s) 230.
[0037] In an embodiment each theme script 150 can contain rules 175 to be applied to
user assets 135 to generate transformations on one or more user assets 135 by, e.g.,
correlating metadata and feature information mined from or otherwise related to the user
assets 135 with the theme script rules 175. In this manner user assets 135 can be
transposed to suit the theme of the selected script file 150; e.g., user assets 135 can be
modified to be black-and-white, cropped to depict specific content, etc.
[0038] In an embodiment each theme script 150 can contain rules 175 that identify
special keywords that can be replaced with metadata or feature information extracted from
the user assets 135, e.g., names identifying faces of people in the images 105 and/or video
115, location feature identification information, e.g., mountain range, waterfall, etc., in the
images 105 and/or video 115, etc. In this manner the generated movie 160 is rendered
personal to the user 145 in accordance with the user assets 135.
[0039] In an embodiment the theme scripts 150 can have as a target a number of user
assets 135 or range of a number of user assets 135. In an embodiment the theme scripts
150 can accommodate a smaller number of user assets 135 than targeted. An embodiment
theme script 150 targeted to accommodate more than the existing number of user assets
135 can reuse user assets 135 among the frames of the generated movie 160 in an orderly
or random pattern in order to generate a movie 160 with a sufficient desired length. An
embodiment theme script 150 targeted to accommodate more than the existing number of
user assets 135 can spread the existing user assets 135 among the frames of the generated
movie 160 in such a manner as to include duplicative user assets 135 but with differing
treatments, e.g., effects, transitions, etc., in order to generate a movie 160 with a sufficient
desired length. In an aspect of these embodiments a theme script 150 will generate a mid
section 220 of a movie 160 that has more frames than user assets 135.
[0040] An embodiment theme script 150 targeted to accommodate more than the
existing number of user assets 135 can generate a shorter play-length movie 160 that
coincides with the existing user asset set. An embodiment theme script 150 targeted to
accommodate more than the existing number of user assets 135 can increase the time spent
on one or more user assets 135 included in frames in the movie 160 to generate a movie
160 of a predetermined play-length or within a predetermined play-length time span. An
embodiment theme script 150 targeted to accommodate more than the existing number of
user assets 135 can create frames of a movie 160 by dynamically generating elements 155
to be included in the movie 160 from the user assets 135, e.g., generating additional
images from user asset video clips 115 and/or portions of user asset images 105,
generating additional video clips by dividing existing user asset video clips 115 into
smaller play-length videos, generating scrapbook pages with user assets 135, etc. In other
embodiments theme scripts 150 targeted to accommodate more than the existing number
of user assets 135 can manage a smaller set of user assets 135 with a combination of one
or more of these embodiment approaches and/or with other approaches.
[0041] In an embodiment the theme scripts 150 can manage a larger number of user
assets 135 than are targeted to be accommodated in a movie 160. An embodiment theme
script 150 targeted to accommodate less than the existing number of user assets 135 can
determine not to include all the user assts 135 in the movie 160. An embodiment theme
script 150 targeted to accommodate less than the existing number of user assets 135 can
include additional chapters 240, longer chapters 240, a longer mid section 220, etc. in the
generated movie 160 to manage all or a larger subset of the user assets 135 than targeted
for. An embodiment theme script 150 targeted to accommodate less than the existing
number of user assets 135 can shorten the frame display time for one or more of the user
assets 135 and/or speed up the output of one or more user asset video clips 115 included in
the generated movie 160. In other embodiments theme scripts 150 targeted to
accommodate less than the existing number of user assets 135 can manage a larger set of
user assets 135 with a combination of one or more of these embodiment approaches and/or
with other approaches.
[0042] In an embodiment a theme script 150 can contain rules 175 for the theme
application engine 120 to apply to dynamically generate elements 155 for the movie 160.
Such dynamically generated elements 155 can include, but are not limited to, frame
background designs, scrapbook pages, collages, additional images generated from still
frames of a user asset video 115, additional images generated from differing regions of a
user asset image 105, etc. In an embodiment dynamically generated elements 155 are
stored in one or more movie asset databases 195. In other embodiments dynamically
generated elements 155 are stored and referenced by one or more of a variety of storage
constructs, including but not limited to, movie asset databases 195, tables, lists, linked
lists, etc.
[0043] In an embodiment a theme script 150 can contain rules 175 for the theme
application engine 1 0 to apply for the inclusion of predefined content within the movie
160. Such additional predefined content can include, but is not limited to, clip art, audio
tracks, caption style, etc.
[0044] In an embodiment there are various groups of theme script rules 175 to effect a
variety of resultant content, or elements, included in a generated movie 160. Each theme
script 150 can contain rules 175 from one or more of these groups which are selected
and/or tailored to define a portion of the resultant movie 160 with the identified theme
from the theme script 150.
[0045] FIG. 3 depicts embodiment theme script rule groups 300. A grouping rule, or
rules, 305 in an embodiment script file 150 defines the logic by which different user assets
135 are to be grouped into chapters, or sections, of the movie 160; e.g., by content
location, date range, the identity of the people appearing in the user assets 135, random,
etc. An aspect of this grouping rule(s) 305 also defines the size of the chapters 240 or
sections; i.e., how much user content 135 is to be included in any particular chapter 240
and/or how much time each chapter 240 in the movie 160 should play, or run.
[0046] An ordering rule, or rules, 310 in an embodiment script file 150 defines the
logic by which different user assets 135 are to be ordered within the movie 160; e.g., by
ascending or descending time properties, randomly, etc. In an embodiment the ordering
rule(s) 310 define the order of user assets 135 for the chapters 240 of the movie 160 and/or
the order of user assets 135 within the movie 160.
[0047] A selection rule, or rules, 315 in an embodiment script file 150 manages
duplicative user assets 135 and the omission of user assets 135 from the resultant movie
160, including the omission of one or more images 105 from a set of images 105 and/or
the trimming of user video 115 and/or audio files 125. In an embodiment the omission of
user assets 135 from the movie 160 can be for a variety of results including the reduction
of duplicative views or sounds within the movie 160, the inclusion of selective content
within the movie 160, maintenance of a predefined play time for the movie 160, etc.
[0048] An aspect of embodiment selection rule(s) 315 defines, or otherwise
determines, how many frames of which user assets 135 are to be included in the movie
160. In an embodiment this aspect of the selection rule(s) 315 defines which, if any,
duplicative frames, from a content perspective, of the user assets 135 are to be included in
the movie 160. For example, there may be ten (10) images of the same person in the same
pose with the same location background in a set of user images 105 and the selection
rule(s) 315 define a maximum of two (2) images that depict the same subject matter are to
be included in the movie 160. In an embodiment selection rule(s) 315 also define which
two of the ten images are to be included in the movie 160, e.g., the first two images in the
set of images 105, the two images in the set of images 105 with the face of the depicted
person most centered, etc.
[0049] A transition rule, or rules, 320 in an embodiment script file 150 defines the
transitions to be imposed on the user assets 135 and other elements 155 included in each
chapter 240 and the movie 160; e.g., zoom, pan, rotate, fade in, fade out, etc.
[0050] An effects rule, or rules, 325 in an embodiment script file 150 defines the
effects to be imposed on the user assets 135 and other elements 155 included in the movie
160; e.g., render one or more images 105 black-and-white, render one or more images 105
sepia, mute audio in one or more chapters 240, etc.
[0051] An intro rule, or rules, 330 in an embodiment script file 150 defines the
information to be used to create an intro section 210 for the movie 160. In an embodiment
an intro rule(s) 330 also, or alternatively, defines the information for generating an intro
section 210 for one or more chapters 240 of the movie 160. As noted, in an embodiment
an intro section 210 is a special section added to the beginning of the movie 160 and/or the
beginning of a movie chapter 240. In an embodiment the content of an intro section 210
includes the look, feel and/or audio for each frame of the intro section 210; e.g., black
backdrop with white letters and a voice over from frames of a video 115, etc.
[0052] In an embodiment the content of an intro section 210 can contain one or more
titles, one or more credits, date information, content information, one or more phrases,
e.g., lyrics to a song, words from a poem, captions, etc. In an embodiment the content of
an intro section 210 can also, or alternatively, be content 155 that is dynamically generated
from user content 135.
[0053] In an embodiment content of an intro section 210 is automatically generated
from existing metadata and/or feature information mined from user assets 135; e.g., titles
extracted from image tags, names extracted from image tags, etc. In an embodiment
content of an intro section 10 is also, or alternatively, generated from prompted user
input when the necessary metadata and/or feature information is unavailable to the movie
production system 100. In an embodiment content of an intro section 210 is also, or
alternatively, generated from preexisting non-user asset content; e.g. , phrases from music
lyrics and/or poems, clip art, a music selection, etc.
[0054] In an embodiment titles, credits or captions can already exist in one or more
frames of an intro section 210 because, e.g., the user 145 has previously caused a movie
160 to be generated from a set of user assets 135 and the user 145 has subsequently
changed the theme script 150 to be applied to the same set of user assets 135, the user has
previously created titles, credits or captions associated with one or more user assets 135
included in an introduction section 210 or one or more frames of an introduction section
210, etc. In an aspect of this embodiment the text of the existing titles, credits and
captions will not be removed or replaced pursuant to theme script rules 175. In an aspect
of this embodiment the effect and/or transition applied to the text of the existing titles,
credits and captions of the introduction section(s) 210 will be altered as dictated by one or
more theme script rules 175 defining the text style for the resultant movie introduction
section(s) 210.
[0055] An outro rule, or rules, 335 in an embodiment script file 150 defines the
information to be used to create an end, or outro, section 230 for the movie 160. In an
embodiment an outro rule(s) 335 also, or alternatively, defines the information for
generating an end section 230 for each chapter 240 of the movie 160. As noted, in an
embodiment an end section 230 is a special section added to the end of the movie 160
and/or the end of one or more movie chapters 240. In an embodiment the content of an
end section 230 includes the look, feel and/or audio for each frame of the end section 230;
e.g., slow fade out of image frame from user image 105 overlaid with black lettering and
enhanced with a musical selection, etc.
[0056] In an embodiment the content of an end section 230 can contain one or more
titles, one or more credits, date information, content information, one or more phrases,
e.g., lyrics to a song, words from a poem, captions, etc. In an embodiment the content of
an end section 230 can also, or alternatively, be elements 155 dynamically generated from
user content 135; e.g., a collage formed from user assets 135.
[0057] In an embodiment content of an end section 230 is automatically generated
from existing metadata and/or feature information mined from user assets 135; e.g., credits
extracted from image tags, etc. In an embodiment content of an end section 230 is also, or
alternatively, generated from prompted user input when the necessary metadata and/or
feature information is unavailable to the movie production system 100. In an embodiment
content of an end section 230 is also, or alternatively, generated from preexisting non-user
asset content; e.g., phrases from music lyrics and/or poems, clip art, a music selection, etc.
[0058] In an embodiment titles, credits or captions can already exist in one or more
frames of an end section 230 because, e.g., the user 145 has previously caused a movie
160 to be generated from a set of user assets 135 and the user 145 has subsequently
changed the theme script 150 to be applied to the same set of user assets 135, the user has
previously created titles, credits or captions associated with one or more user assets 135
included in an end section 230 or one or more frames of an end section 230, etc. In an
aspect of this embodiment the text of the existing titles, credits and captions will not be
removed or replaced pursuant to theme script rules 175. In an aspect of this embodiment
the effect and/or transition applied to the text of the existing titles, credits and captions of
the end section(s) 230 will be altered as dictated by one or more theme script rules 175
defining the text style for the resultant movie end section(s) 230.
[0059] Caption rules 340 in an embodiment script file 150 define how and where
captions are to be added to user assets 135 and/or frames of the movie 160. In an
embodiment caption rules 340 further contain the details on the style and treatment of
various captions included within the movie 160; e.g., font, color, size, position, effect, etc.
[0060] In an embodiment caption rules 340 can contain special keywords that are
subsequently replaced by appropriate metadata and/or feature information previously
mined from the user assets 135. In an embodiment, if the metadata or feature information
necessary to personalize a caption is unavailable the caption will be generated with generic
text and the user 145 will be prompted to thereafter provide input to replace the generic
text and render the movie 160 specific and/or personal.
[0061] In an embodiment captions can already exist in one or more frames of the
movie 160 because, e.g., the user 145 has previously caused a movie 160 to be generated
from a set of user assets 135 and the user 145 has subsequently changed the theme script
150 to be applied to the same set of user assets 135, the user has previously created
captions associated with one or more user assets 135 included in the movie 160, etc. In an
aspect of this embodiment the text of the existing captions will not be removed or replaced
pursuant to theme script rules 175. In an aspect of this embodiment the effect and/or
transition applied to the text of the existing captions will be altered as dictated by one or
more theme script rules 175 defining the text style for the resultant movie captions. Thus,
in an aspect of this embodiment caption text positioning and duration is not guaranteed
with the application of a new theme script 150 to the user assets 135 as the new theme
script 150 may need to modify these to account for, e.g., animation, theme aesthetics, etc.
[0062] An art rule, or rules, 345 in an embodiment script file 150 defines how any
included art, e.g., clip art, etc., should be added to, or otherwise, utilized, in the movie
160; e.g., the addition of adornments such as backgrounds or clip art images to one or
more movie frames, etc. In an embodiment the art rule(s) 345 details how user assets 135
are to appear with or within added clip art in one or more movie frames; e.g., a scrapbook
page with user asset images 105 positioned within clip art frames, etc.
[0063] In an embodiment one or more theme scripts 150 identify one or more music
scores, via a music rule, or rules, 350 to be included within the movie 160. In an aspect of
this embodiment the identified music score(s) are intended to enhance the theme, or mood,
of the chosen script file 150 and, therefore, the resultant movie 160. In an embodiment the
music rules 350 include directions for the positioning of the music within the movie 160
and the treatment, e.g., volume, and effects, e.g., fade in, fade out, loop, etc., to be
imposed on the included music.
[0064] In an embodiment the music rules 350 also, or alternatively, dictate how a
user's audio 120 is to be managed within the movie 160; e.g., played with specific
chapters and muted for others, softened and played throughout the body 220 of the movie
160, played in the introduction 210 and end 230 sections of the movie 160, etc.
[0065] In an embodiment if there is user-specified music already associated with one
or more user assets 135 or one or more frames of the movie 160 then the user 145 is asked
to indicate whether they wish to retain the user-specified music or utilize the theme script
identified music. In an alternative embodiment if there is user-specified music associated
with one or more user assets 135 or one or more frames of the movie 160 then the user 145
is notified that the user-specified music will not be implemented and the theme script
identified music is included within the movie 160 pursuant to one or more music rules
350. In a second alternative embodiment if there is user-specified music associated with
one or more user assets 135 or one or more frames of the movie 160 then the userspecified
music is retained and used for the movie 160.
[0066] In an embodiment if there is no music associated with the user assets 135 or
frames of the movie 160 then the user 145 is prompted, via the UI 180, to select, or
otherwise identify, a music selection, or selections, to be included within the movie 160.
In an alternative embodiment if there is no music associated with the user assets 135 or
frames of the movie 160 then pre-identified music indicated in one or more theme script
rules 175 is used for the movie 160.
[0067] In an embodiment a dynamic frame generation rule(s) 355 in a script file 150
defines how elements 155, or frames, are to be dynamically created for incorporation
within the movie 160. Dynamically generated elements 155 can include, but are not
limited to, frame background designs, scrapbook pages, collages, additional images
generated from still frames of a user asset video 115, additional images generated from
differing regions of a user asset image 105,e?c. For example, a dynamic frame generation
rule(s) 355 can define the creation of a scrapbook page frame with user images 105
arranged about the frame and decorated with pre-selected clipart to be included within the
movie 160. As a second example, a dynamic frame generation rule(s) 355 can define the
generation of two images from one user asset image 105 where each of the two generated
images depict differing regions, or subjects, e.g., different people, etc., within the user
asset image 105. In an aspect of this embodiment mined metadata and feature information
and/or the results of analyses performed on the original user asset 135 is used in
conjunction with, or by, the dynamic frame generation rule(s) 355 to dynamically generate
elements 155 for the movie 160 from existing user assets 135.
[0068] In an embodiment dynamically generated elements 155 created pursuant to one
or more dynamic frame generation rules 355 are stored in one or more movie asset
databases 195. In other embodiments dynamically generated elements 155 are stored and
referenced by one or more of a variety of storage constructs, including but not limited to,
movie asset databases 195, tables, lists, linked lists, etc.
[0069] In an embodiment a dynamic frame generation rule(s) 355 controls the
placement of dynamically generated elements 155 within the movie 160; e.g., first frame
in the intro section 210, etc. In an embodiment a dynamic frame generation rule(s) 355
defines the transitions and effects to be implemented for dynamically generated elements
155. In an aspect of this embodiment the transitions and effects identified by a dynamic
frame generation rule 355 supersedes any transition rules 320 or effects rules 235 in the
script file 150 that would otherwise be implemented for the dynamically generated
element 155 due to, e.g., its position within the movie 160.
[0070] In embodiments more, less and/or alternative groups 300 of theme script rules
175 exist.
[0071] Referring again to FIG. 1, in an embodiment a user 145 interacts with the
movie production system 100 via a user interface, UI, 180. In an embodiment the user 145
enables user content 135 to be input, or otherwise made accessible, to the computing
system, or device, e.g., personal computer, computer network, etc. hosting, or otherwise
running, the movie production system 100. In an embodiment the theme application
engine 120, via the UI 180, prompts the user 145 for input to render the movie 160 more
polished and personal. In an embodiment the UI outputs the movie 160 to the user 145 for
review. In an embodiment the user 145 can make changes to the movie 160 via the UI
180.
[0072] In an embodiment, while the movie production system 100 is generating a
movie 160 a progress dialog box is displayed to the user 145 via the UI 180. In an
embodiment the progress dialog box indicates the action currently being performed to
generate the movie 160; e.g., applying black-and-white movie theme, generating intro
section, etc. In an embodiment the progress dialog box indicates how much of the movie
generation has been completed; e.g., 60% complete, etc.
[0073] In an embodiment a progress dialog box is displayed to a user 145 only when
the movie production system 100 requires a user perceptible time to apply the rules 175 of
a theme script 150 to generate a movie 160
[0074] In an embodiment the user 145 can, via the UI 180, inform the movie
production system 100 that the movie 160 is finished and/or ready for publication. In an
embodiment the movie production system 100 encodes a finished movie 160 in one or
more predefined formats and/or one or more user-specified formats and/or one or more
formats supported by a storage media associated with the movie production system 100
and upon which the finished movie 160 will be stored and/or pushed to and/or published
to. In an embodiment there can be more than one copy of a finished, encoded movie 190,
also referred to herein as the published movie 190. In an embodiment the movie
production system 100 stores each encoded version of the finished movie 190 to one or
more storage media, e.g., hard drive, computer memory, DVD, CD, memory stick, etc.
[0075] In an embodiment the movie production system 100 can publish a finished,
encoded version of the movie 190 by pushing, or otherwise storing, the published movie
190 to one or more devices or media 185, e.g., computer, cell phone, etc. In an
embodiment the movie production system 100 can publish a finished, encoded version of
the movie 190 to one or more publication points 165, e.g., websites, email addresses, etc.
[0076] FIGs. 4A-4B illustrate an embodiment logic flow for an embodiment movie
production system 100. While the following discussion is made with respect to systems
portrayed herein the operations described may be implemented in other systems. The
operations described herein are not limited to the order shown. Additionally, in other
alternative embodiments more or fewer operations may be performed. Further, the
operations depicted may be performed by an embodiment movie production system 100 or
by an embodiment movie production system 100 in combination with one or more other
systems.
[0077] Referring to FIG. 4A, in an embodiment user assets are introduced, or
otherwise made available to, the movie production system 400.
[0078] In an embodiment the movie production system analyzes the user assets to
mine metadata and feature information 402. In an embodiment the movie production
system stores metadata and feature information collected from user assets in one or more
metadata databases 404. In an aspect of these embodiments the analysis engine 110 of the
movie production system 100 has the capability to analyze the user assets 135 to mine
metadata and feature information and to store the mined data and information in one or
more metadata databases 130. In alternative aspects of these embodiments the analysis
engine 110 stores mined metadata and feature information which is referenced by one or
more of a variety of storage constructs, including but not limited to, metadata databases
195, tables, lists, linked lists, etc.
[0079] In an embodiment the movie production system analyzes the user assets to
identify user assets or user asset portions, i.e., frames or segments, to be modified, e.g., to
correct red-eye, etc., 406. In an aspect of this embodiment the analysis engine 110 of the
movie production system 100 has the capability to analyze user assets 135 to identify
those user assets 135, or portions of user assets 135, to be modified or corrected. In this
aspect of this embodiment the analysis engine 110 notifies the adaptation engine 140 of
the movie production system 100 to modify the user assets 135 so identified.
[0080] In an embodiment the movie production system makes any identified
modifications and corrections to indicated user assets 408. In an embodiment the
modified user assets are stored 410. In an aspect of these embodiments the adaptation
engine 140 of the movie production system 100 has the capability to make the
modifications and corrections to the identified user assets 135, or portions thereof, and to
store the resultant modified user assets.
[0081] In an embodiment, at decision block 412 a determination is made as to whether
new user assets have been included by the user after a prior movie version has already
been generated for review. If no, in an embodiment the user, via the UI of the movie
production system, chooses a theme script to be applied to the user assets, or a useridentified
subset of the user assets, 414. In an embodiment the theme application engine
of the movie production system is apprised of the user selection and accesses the chosen
script file 416.
[0082] In an embodiment the movie production system executes, or otherwise acts
upon, the chosen script file to generate a story, e.g., a movie, 418. In an aspect of this
embodiment the theme application engine 120 of the movie production system 100 has the
capability to execute the user-chosen script file 150 to generate a movie 160. In an aspect
of this embodiment the theme application engine 120 applies rules 175 of the user-chosen
script file 150 to one or more user assets 135, one or more modified user assets and/or one
or more generated elements 155. Additional details for this embodiment step 418 are
described with reference to FIGs. 5A-5E.
[0083] In an embodiment the generated story, e.g., movie, is output to the user for
review 420. In an aspect of this embodiment the theme application engine 120 of the
movie maker system 100 directs the output of the movie 160 to the user 145 via the UI
180. In an embodiment the movie 160 is in a WYSIWYG (what-you-see-is-what-you-get)
format appropriate for user review.
[0084] In an embodiment at decision block 422 a determination is made as to whether
the user has made a theme change request. If yes, in an embodiment the theme application
engine of the movie production system is apprised of the user selection and accesses the
newly chosen script file 416.
[0085] Referring to FIG. 4B, at decision block 430 a determination is made as to
whether the user has requested any edits to the movie. In an embodiment a user 145 can
override one or more theme script rules 175 and/or add additional elements or content,
e.g., transitions or effects not accounted for by the theme script 150, to the movie 160 by
requesting edits to the movie 160 via the UI 180. For example the user 145 can choose
different transitions and/or effects, add pan and/zoom to one or more images, change
captions, titles or credit styles, change font settings, add or remove music, add or delete
user assets 135 to be included in the movie 160, etc.
[0086] In an embodiment if the user wishes to edit the movie then the user inputs their
edit requests to the movie production system 444. In an aspect of this embodiment the
user 145 directs their edits to the theme application engine 120 of the movie production
system 100 via the UI 180. In an embodiment the movie production system implements
the requested edits and updates the movie accordingly 446. In an aspect of this
embodiment the theme application engine 1 0 of the movie production system 100
coordinates the implementation of user-requested edits to the movie 160.
[0087] In an embodiment the newest version of the movie, with user-requested edits
implemented, is output to the user for review 448. In an aspect of this embodiment the
theme application engine 120 of the movie maker system 100 directs the output of the
movie 160 to the user 145 via the UI 180. In an embodiment the movie 160 is in a
WYSIWYG format appropriate for user review.
[0088] In an embodiment the movie maker system again, at decision block 430, makes
a determination as to whether the user is requesting any edits to the movie.
[0089] If at decision block 430 there are no user-requested movie edits then in an
embodiment at decision block 432 a determination is made as to whether the user has
introduced new assets to the movie production system for inclusion in a generated movie.
If yes, in an embodiment, and referring back to FIG. 4A, the new user assets are made
available to the movie production system 400 and processed as prior introduced user assets
were.
[0090] Referring again to FIG. 4B if at decision block 432 there are no new user assets
to be included in a generated movie then in an embodiment at decision block 434 a
determination is made as to whether any user assets have been removed by the user for use
in generating a movie. If yes, in an embodiment and referring back to FIG. 4A, the movie
production system executes the user-chosen theme script to regenerate, or otherwise
modify, the movie without the previously included user assets 418.
[0091] Referring again to FIG. 4B if at decision block 434 no user assets have been
excluded for use in generating a movie then in an embodiment at decision block 436 a
determination is made as to whether the user has requested the movie be published. If no,
in an embodiment and referring back to FIG. 4A, the movie maker system continues to
output the movie to the user or otherwise make the movie available to the user for review
420.
[0092] If at decision block 436 the user has commanded the movie be published then
in an embodiment the movie production system encodes the movie into one or more
appropriate output formats 438. In an embodiment the movie production system stores the
encoded movie 438. In an alternative embodiment, if at decision block 426 the user has
commanded the movie be published then in an embodiment the movie production system
stores the finished movie 438. In an alternative embodiment the movie production system
thereafter encodes the finished movie into one or more versions of the finished movie
pursuant to requirements for the encoded movie's destination 438.
[0093] In an embodiment the movie production system can publish, or push, a
finished, encoded version of the movie on to one or more indicated computing devices or
media 440. In an embodiment the movie production system can publish a finished,
encoded version of the movie to one or more publication points 440.
[0094] In an embodiment the movie production system thereafter ends processing for
the current movie 442.
[0095] FIGs. 5A-5E illustrate an embodiment logic flow for an embodiment movie
production system 100 to execute, or otherwise run or act upon, a user-chosen theme script
150 to create a movie 160; i.e., an embodiment logic flow for the movie production system
execution of a theme script to generate a movie 4 18 of FIG. 4A. While the following
discussion is made with respect to systems portrayed herein the operations described may
be implemented in other systems. The operations described herein are not limited to the
order shown. Additionally, in other alternative embodiments more or fewer operations
may be performed. In any embodiment not all steps need be performed for each script file
150 and/or the steps may be performed in a different order for different script files 150.
Further, the operations depicted may be preformed by an embodiment movie production
system 100 or by an embodiment movie production system 100 in combination with one
or more other systems.
[0096] Referring to FIG. 5A, in an embodiment user assets are chosen, or otherwise
identified, to be included in the story, or movie, 500.
[0097] In an embodiment, pursuant to one or more theme script rules of the user
chosen script file the user assets, or a subset thereof, are grouped into one or more chapters
for a resultant movie 502. In an aspect of this embodiment the theme application engine
120 organizes the user assets 135, or a subset thereof, into one or more movie chapters
240. In an aspect of this embodiment, pursuant to one or more script file rules 175, the
theme application engine 120 accesses the asset database(s) 170 to include modified user
assets in the generated movie 160 and accesses the user assets for those user assets to be
included in the generated movie 160 that have not, as yet, been modified. In an aspect of
this embodiment the theme application engine 120 chooses the user assets, or modified
user assets, for each chapter 240 based on the available user assets 135, and modified user
assets, mined metadata and feature information and/or keywords identified in the userchosen
script file 150, e.g., SinglePersonShot, GroupShot, CloseUp, etc.
[0098] In an embodiment, pursuant to one or more theme script rules of the userchosen
script file, the user assets are arranged and/or ordered within the movie 504. In an
aspect of this embodiment, pursuant to one or more script file rules 175, the theme
application engine 120 arranges and/or orders the user assets 135, and/or modified user
assets stored in an asset database 170, within the various movie chapters 240; e.g., orders
the user assets 135 from the first to be displayed to the last to be displayed for a first
chapter 240 of the movie 160, etc.
[0099] In an embodiment, pursuant to one or more theme script rules, one or more
user assets are modified 506. In an aspect of this embodiment, pursuant to one or more
theme script rules 175, the theme application engine 120 signals, or otherwise directs, the
adaptation engine 140 to transpose, or modify, one or more user assets 135 to be included
in the movie 160. For example, in an aspect of this embodiment and pursuant to one or
more theme script rules 175, the theme application engine 120 directs the adaptation
engine 140 to transpose selected images 105 to black-and-white.
[0100] As another example, in an aspect of this embodiment and pursuant to one to
more theme script rules 175 as well as the length of a user video 115, how many other user
assets 135 are to be included in the generated movie 160, how much the user video
changes over x time and/or etc., the theme application engine 120 can direct the adaptation
engine 140 to trim a user asset video 115. In an embodiment a video clip 115 may be
trimmed to highlight what is deemed the interesting sections of the video clip 115. In an
embodiment the selection of the segments of the video clip 115 to retain, and those
segments to trim, is based on keywords in one or more rules 175 of the script file 150 and
can be facilitated by stored feature information. Thus, in an embodiment the segments of
a video clip 115 that are retained for a movie 160 can vary from script theme 150 to script
theme 150 based on the keywords designated in any particular script file 150.
[0101] In an embodiment, pursuant to one or more theme script rules of the userchosen
script file, one or more elements to be included in the movie are dynamically
generated 508. In an aspect of this embodiment, pursuant to one or more rules 175 of the
user-chosen script file 150, the theme application engine 120 dynamically generates
elements 155 to be included in the movie 160 using user assets 135 or modified user
assets. For example, in an embodiment and pursuant to one or more theme script rules
175, the theme application engine 120 dynamically generates one or more frames for the
movie 160 that resemble a scrapbook with images 105 applied thereto and decorated with
clip art. In an embodiment the selection of the user assets 135 and/or portions of the user
assets 135 included in a dynamically generated element 155 are based on keywords in one
or more script rules 175 and/or stored metadata and/or feature information.
[0102] In an embodiment dynamically generated elements are stored 508. In an aspect
of this embodiment the theme application engine 1 0 stores the elements 155 it
dynamically generates in one or more movie asset databases 195. In other aspects of this
embodiment the theme application engine 120 stores the elements 155 it dynamically
generates and references the stored elements 155 using one or more of a variety of storage
constructs, including but not limited to, movie asset databases 195, tables, lists, linked
lists, etc.
[0103] In an embodiment, pursuant to one or more rules of the user-chosen script file
the dynamically generated elements are arranged, or ordered, within the movie 508.
[0104] In an embodiment at decision block 510 a determination is made as to whether
user transitions have been applied to one or more user assets to be included in the movie;
i.e., has the user already applied one or more transitions to one or more user assets. If yes,
in an embodiment the movie production system notifies the user that the user applied
transitions will be replaced with theme script identified transitions 512.
[0105] Whether or not the user has previously applied any transitions to any user
assets, or group of user assets, included in the movie in an embodiment, pursuant to one or
more rules of the user-chosen script file, one or more transitions are applied to one or more
user assets, or groups of user assets, and/or one or more dynamically generated elements
included in the movie 514. In an aspect of this embodiment pursuant to one or more rules
175 of the user-chosen script file 150 the theme application engine 120 applies rulespecified
transitions to one or more user assets 135, groups of user assets 135, and/or
dynamically generated elements 155 included in the movie 160. In an alternative aspect of
this embodiment the theme application engine 120 signals, or otherwise commands, the
adaptation engine 140 to apply rule-specified transitions to one or more user assets 135,
groups of user assets 135, and/or dynamically generated elements 155 included in the
movie 160.
[0106] In an aspect of this embodiment some transition applications 514 require
information about the user asset(s) a transition is to be applied to, e.g., the portion of an
image 105 that the transition is to begin the fade out on. In this aspect of this embodiment
the movie production system 100 uses stored metadata, feature and/or analysis information
to finalize the application of a rule-specified transition to one or more user assets 135
and/or one or more dynamically generated elements 155.
[0107] In an embodiment at decision block 516 a determination is made as to whether
user effects have been applied to one or more user assets to be included in the movie; i.e.,
has the user already applied one or more effects to one or more user assets. If yes, in an
embodiment the movie production system notifies the user that the user applied effects
will be replaced with theme script identified effects 518.
[0108] Whether or not the user has previously applied any effects to any user assets, or
group of user assets, included in the movie in an embodiment, pursuant to one or more
rules of the user-chosen script file, one or more effects are applied to one or more user
assets, groups of user assets, and/or one or more dynamically generated elements included
in the movie 520. In an aspect of this embodiment, pursuant to one or more rules 175 of
the user-chosen script file 150, the theme application engine 120 applies rule-specified
effects to one or more user assets 135, groups of user assets 135, and/or dynamically
generated elements 155 included in the movie 160. In an alternative aspect of this
embodiment the theme application engine 120 signals, or otherwise commands, the
adaptation engine 140 to apply rule-specified effects to one or more user assets 135,
groups of user assets 135, and/or dynamically generated elements 155 included in the
movie 160.
[0109] In an aspect of this embodiment some effect applications 520 require
information about the user asset an effect is to be applied to, e.g., the area of interest in an
image 105 where the effect is to zoom in on. In this aspect of this embodiment the movie
production system 100 uses stored metadata, feature and/or analysis information to
finalize the application of a rule-specified effect to one or more user assets 135 and/or one
or more dynamically generated elements 155.
[0110] In an embodiment, pursuant to one or more theme script rules of the userchosen
script file an intro section for the movie is generated 522. In an aspect of this
embodiment the theme application engine 120 applies one or more script rules 175 to
generate an intro section 210 for the movie 160. In an embodiment an intro section 210 is
generated by the theme application engine 120 giving special treatment, e.g., transition
and/or effects application, title and/or caption inclusion, etc., to the first, or selected first
group of, movie frames which may include one or more user assets 135 and/or one or
more dynamically generated elements 155.
[0111] In an embodiment the theme application engine 120, pursuant to one or more
script rules 175, adds title information, credit information, captions and/or other text
information into one or more frames of the movie's intro section 210. In an embodiment
the movie production system uses metadata from one or more metadata databases to
complete the title(s), credit(s), caption(s) and/or other text within the intro section of the
movie 524.
[0112] Referring to FIG. 5B, in an embodiment at decision block 530 a determination
is made as to whether there is adequate metadata to complete the intro section of the
movie. If no, in an embodiment the movie production system uses generic title(s), generic
credit(s) and/or generic caption(s) and/or other generic text in place of user asset specific
information within the intro section of the movie for those titles, credits, captions and
other intro section text for which there is insufficient metadata 532. In an embodiment the
movie production system sets an indication, e.g., a flag, a counter, etc., as a notification
that user input for generic text within the intro section of the movie is to be requested 534.
[0113] Whether or not there is sufficient metadata to complete the text portions of the
intro section of the movie in an embodiment, pursuant to one or more theme script rules of
the user-chosen script file, an intro section for one or more chapters of the movie is
generated 536. In an aspect of this embodiment the theme application engine 120 applies
one or more script rules 175 to generate an intro section 210 for one or more movie
chapters 240. In an embodiment an intro section 210 is generated by the theme
application engine 120 giving special treatment, e.g., transition and/or effects application,
title and/or caption inclusion, etc., to the first, or selected first group, of movie frames of
each chapter 240 which may include one or more user assets 135 and/or one or more
dynamically generated elements 155.
[0114] In an embodiment the theme application engine 120, pursuant to one or more
script rules 175, adds title information, credit information and/or other text information
into one or more frames of the intro section 2 10 for one or more movie chapters 240. In
an embodiment the movie production system uses metadata from one or more metadata
databases to complete the title(s), credit(s) and any caption and/or other text within the
intro section of the chapters of the movie 538.
[0115] In an embodiment at decision block 540 a determination is made as to whether
there is adequate metadata to complete the intro section for the chapters of the movie. If
no, in an embodiment the movie production system uses generic title(s), generic credit(s)
and/or generic caption(s) and/or other generic text in place of user asset specific
information within the intro section of the movie chapters for those titles, credits, captions
and other intro section text for which there is insufficient metadata 542. In an
embodiment the movie production system sets an indication, e.g., a flag, a counter, etc., as
a notification that user input for generic text within the one or more intro sections of one
or more movie chapters is to be requested 544.
[0116] In an embodiment, pursuant to one or more theme script rules of the userchosen
script file, an outro section for the movie is generated 546. In an aspect of this
embodiment the theme application engine 1 0 applies one or more script rules 175 to
generate an outro section 230 for the movie 160. In an embodiment an outro section 230
is generated by the theme application engine 120 giving special treatment, e.g., transition
and/or effects application, title and/or caption inclusion, etc., to the last, or last group of,
movie frames which may include one or more user assets 135 and/or one or more
dynamically generated elements 155.
[0117] In an embodiment the theme application engine 120, pursuant to one or more
script rules 175, adds title information, credit information, captions and/or other text
information into one or more frames of the movie's outro section 230. In an embodiment
the movie production system uses metadata from one or more metadata databases to
complete the title(s), credit(s), caption(s) and/or other text within the outro section of the
movie 548.
[0118] Referring to FIG. 5C, in an embodiment at decision block 550 a determination
is made as to whether there is adequate metadata to complete the outro section of the
movie. If no, in an embodiment the movie production system uses generic title(s), generic
credit(s) and/or generic caption(s) and/or other generic text in place of user asset specific
information within the outro section of the movie for those titles, credits, captions and
other outro section text for which there is insufficient metadata 552. In an embodiment
the movie production system sets an indication, e.g., a flag, a counter, etc., as a
notification that user input for generic text within the outro section of the movie is to be
requested 554.
[0119] Whether or not there is sufficient metadata to complete the text portions of the
outro section of the movie, in an embodiment, pursuant to one or more theme script rules
of the user-chosen script file, an outro section for one or more chapters of the movie is
generated 556. In an aspect of this embodiment the theme application engine 120 applies
one or more script rules 175 to generate an outro section 230 for one or more movie
chapters 240. In an embodiment an outro section 230 is generated by the theme
application engine 120 giving special treatment, e.g., transition and/or effects application,
title and/or caption inclusion, etc., to the last, or last group of, movie frames of a chapter
240 which may include one or more user assets 135 and/or one or more dynamically
generated elements 155.
[0120] In an embodiment the theme application engine 120, pursuant to one or more
script rules 175, adds title information, credit information and/or other text information
into one or more frames of the outro section 230 for one or more chapters 240 of the
movie 160. In an embodiment the movie production system uses metadata from one or
more metadata databases to complete the title(s), credit(s), caption(s) and/or other text
within the outro section of the chapters of the movie 558.
[0121] In an embodiment at decision block 560 a determination is made as to whether
there is adequate metadata to complete the outro sections for the chapters of the movie. If
no, in an embodiment the movie production system uses generic title(s), generic credit(s)
and/or generic caption(s) and/or other generic text in place of user asset specific
information within the outro section of the movie chapters for those titles, credits, captions
and other outro section text for which there is insufficient metadata 562. In an
embodiment the movie production system sets an indication, e.g., a flag, a counter, etc., as
a notification that user input for generic text within the one or more outro sections of one
or more movie chapters is to be requested 564.
[0122] In an embodiment, pursuant to one or more theme script rules of the userchosen
script file, one or more captions are added to the body section of the movie 566. In
an aspect of this embodiment the theme application engine 120 applies one or more script
rules 175 to generate one or more captions 230 for one or more movie frames in the body
section 220 of the movie 160. In an embodiment the movie production system uses
metadata from one or more metadata databases to complete the captions 566.
[0123] Referring to FIG. 5D, in an embodiment at decision block 570 a determination
is made as to whether there is adequate metadata to complete the captions for the body of
the movie. If no, in an embodiment the movie production system uses generic captions in
place of user asset specific information for those captions for which there is insufficient
metadata 572. In an embodiment the movie production system sets an indication, e.g., a
flag, a counter, etc. , as a notification that user input for generic captions within the body
section of the movie is to be requested 574.
[0124] Whether or not there is sufficient metadata to personalize the captions in the
movie's body, in an embodiment at decision block 576 a determination is made as to
whether there is user included music for the movie. If no, in an embodiment theme script
identified music is incorporated within the movie as dictated by one or more theme script
rules 578.
[0125] If there is user included music for the movie, in an embodiment at decision
block 580 a determination is made as to whether the user wants to change the music to the
theme script identified music. In an aspect of this embodiment the user 145 is asked, via
the UI 180, whether the movie production system should use the user included music or
theme script identified music for the generated movie 160.
[0126] If the user indicates the theme script identified music should be incorporated
within the movie then in an embodiment the theme script identified music is added to the
movie as dictated by one or more theme script rules 578.
[0127] If the user indicates the user included music should be incorporated within the
movie then in an embodiment at decision block 582 a determination is made as to whether
there is sufficient user included music for the entire generated movie. If yes, in an
embodiment the movie production system applies the user included music to the generated
movie 584. If, however, there is insufficient user included music for the entire generated
movie then in an embodiment the movie production system loops the user included music
as dictated by one or more theme script rules for the user included music to be applied to
the generated movie 586. In an alternate embodiment if there is insufficient user included
music for the entire generated movie then the movie production system applies user
included music for the portions of the movie where user included music is available and
applies theme script identified music for other portions of the generated movie 586.
[0128] Referring to FIG. 5E, in an embodiment at decision block 590 a determination
is made as to whether user input is required to complete the movie; e.g., are there one or
more generic captions or titles, etc. , that require user input because the necessary metadata
was unavailable. If yes, in an embodiment the movie production system prompts the user
to input information in order to complete the movie 592. In an aspect of this embodiment
the theme application engine 120, via the UI 180, prompts the user 145 to input
information to fill in blank captions and/or replace generic information in captions, titles
and/or credits with personal information to complete the movie 160.
[0129] In an embodiment the movie production system includes the user-provided
information in the movie as directed by one or more theme script rules 594. In an aspect
of this embodiment the theme application engine 120 of the movie production system 100
includes the user-provided information in the movie 160 as directed by one or more theme
script rules 175.
[0130] In an embodiment a movie has been automatically generated and processing of
the user-chosen script file is ended 596.
[0131] In an embodiment if one or more additional user assets 135 are included by the
user 145 for use in generating a movie 160 or one or more user assets 135 are removed by
the user 145 for use in generating a movie 160 then various steps of FIGs. 5A to 5E are
performed as appropriate on the new set of user assets for generation of a movie 160. For
example, if a new video 115 is added by the user 145 to the set of user assets 135 to be
used for a movie 160 the movie production system 100 automatically organizes the video
115 within the movie 160 and applies one or more transitions and/or one or more effects to
the video frames as dictated by the theme script rules 175.
[0132] While in embodiments discussed herein tasks have been assigned to various
identified components of an embodiment movie production system 100, in other
embodiments the described tasks can be performed by other and/or additional system
components.
COMPUTING DEVICE SYSTEM CONFIGURATION
[0133] FIG. 6 is a block diagram that illustrates an exemplary computing device
system 600 upon which an embodiment can be implemented. The computing device
system 600 includes a bus 605 or other mechanism for communicating information, and a
processing unit 610 coupled with the bus 605 for processing information. The computing
device system 600 also includes system memory 615, which may be volatile or dynamic,
such as random access memory (RAM), non-volatile or static, such as read-only memory
(ROM) or flash memory, or some combination of the two. The system memory 615 is
coupled to the bus 605 for storing information and instructions to be executed by the
processing unit 610, and may also be used for storing temporary variables or other
intermediate information during the execution of instructions by the processing unit 610.
The system memory 615 often contains an operating system and one or more programs,
and may also include program data.
[0134] In an embodiment, a storage device 620, such as a magnetic or optical disk, is
also coupled to the bus 605 for storing information, including program code consisting of
instructions and/or data.
[0135] The computing device system 600 generally includes one or more display
devices 635, such as, but not limited to, a display screen, e.g., a cathode ray tube (CRT) or
liquid crystal display (LCD), a printer, and one or more speakers, for providing
information to a computing device user. The computing device system 600 also generally
includes one or more input devices 630, such as, but not limited to, a keyboard, mouse,
trackball, pen, voice input device(s), and touch input devices, which a computing device
user can use to communicate information and command selections to the processing unit
610. All of these devices are known in the art and need not be discussed at length here.
[0136] The processing unit 610 executes one or more sequences of one or more
program instructions contained in the system memory 615. These instructions may be
read into the system memory 615 from another computing device-readable medium,
including, but not limited to, the storage device 620. In alternative embodiments, hard
wired circuitry may be used in place of or in combination with software program
instructions. The computing device system environment is not limited to any specific
combination of hardware circuitry and/or software.
[0137] The term "computing device-readable medium" as used herein refers to any
medium that can participate in providing program instructions to the processing unit 610
for execution. Such a medium may take many forms, including but not limited to, storage
media and transmission media. Examples of storage media include, but are not limited to,
RAM, ROM, EEPROM, flash memory, CD-ROM, digital versatile disks (DVD), magnetic
cassettes, magnetic tape, magnetic disk storage, or any other magnetic medium, floppy
disks, flexible disks, punch cards, paper tape, or any other physical medium with patterns
of holes, memory chip, or cartridge. The system memory 615 and storage device 620 of
the computing device system 600 are further examples of storage media. Examples of
transmission media include, but are not limited to, wired media such as coaxial cable(s),
copper wire and optical fiber, and wireless media such as optic signals, acoustic signals,
RF signals and infrared signals.
[0138] The computing device system 600 also includes one or more communication
connections 650 coupled to the bus 605. The communication connection(s) 650 provide a
two-way data communication coupling from the computing device system 600 to other
computing devices on a local area network (LAN) 665 and/or wide area network (WAN),
including the World Wide Web, or Internet 670. Examples of the communication
connection(s) 650 include, but are not limited to, an integrated services digital network
(ISDN) card, modem, LAN card, and any device capable of sending and receiving
electrical, electromagnetic, optical, acoustic, RF or infrared signals.
[0139] Communications received by the computing device system 600 can include
program instructions and program data. The program instructions received by the
computing device system 600 may be executed by the processing unit 610 as they are
received, and/or stored in the storage device 620 or other non-volatile storage for later
execution.
CONCLUSION
[0140] While various embodiments are described herein, these embodiments have
been presented by way of example only and are not intended to limit the scope of the
claimed subject matter. Many variations are possible which remain within the scope of the
following claims. Such variations are clear after inspection of the specification, drawings
and claims herein. Accordingly, the breadth and scope of the claimed subject matter is not
to be restricted except as defined with the following claims and their equivalents.
CLAIMS
What is claimed is:
1. A method for automated story generation, the method comprising:
analyzing a group of one or more assets to mine metadata and feature information
from the group of assets;
analyzing the group of assets to determine if any corrections are required for any of
the assets;
rendering at least one correction to at least one asset of the group of assets wherein
an asset that is corrected is a corrected asset;
storing the corrected assets;
applying rules of a theme script to at least one asset of the group of assets to
generate a story;
applying rules of a theme script to at least one corrected asset to generate the story;
outputting the generated story;
encoding the generated story;
storing the generated story; and
publishing the generated story.
2. The method for automated story generation of claim 1 wherein publishing the
generated story comprises pushing the generated story to at least one device.
3. The method for automated story generation of claim 1 wherein publishing the
generated story comprises publishing the generated story to at least one publication point.
4. The method for automated story generation of claim 1, wherein the generated story
comprises at least two frames, further comprising:
applying an effect to at least one frame of the generated story pursuant to at least
one rule of the theme script;
applying a transition to at least one frame of the generated story pursuant to at least
one rule of the theme script;
creating an intro section for the generated story that begins the generated story
pursuant to at least one rule of the theme script, wherein the intro section comprises a title
comprising metadata mined from at least one asset from the group of assets; and
creating an outro section for the generated story comprising at least one final frame
of the generated story, wherein the outro section is created pursuant to at least one rule of
the theme script (546) and wherein the outro section further comprises a credit comprising
metadata mined from at least one asset from the group of assets.
5. The method for automated story generation of claim 4, further comprising
dynamically creating an element for the generated story wherein the element comprises at
least one asset from the group of assets.
6. The method for automated story generation of claim 4, further comprising:
identifying at least two assets from the group of assets to be story assets that rules
of the theme script are applied to to generate the story;
grouping the story assets into at least one story chapter; and
arranging the story assets grouped in each story chapter in an order.
7. The method for automated story generation of claim 6, further comprising:
creating an intro section for at least one story chapter pursuant to at least one rule
of the theme script wherein a created intro section for a story chapter comprises at least
one beginning frame for the story chapter; and
creating an outro section for at least one story chapter pursuant to at least one rule
of the theme script wherein a created outro section for a story chapter comprises at least
one final frame for the story chapter.
8. The method for automated story generation of claim 4, further comprising
including music with at least one frame of the generated story pursuant to at least one rule
of the theme script.
9. The method for automated story generation of claim 4, further comprising:
generating a first caption for at least one frame of a first group of frames of the
generated story pursuant to at least one rule of the theme script wherein the first caption
comprises text comprising metadata mined from at least one asset of the group of assets;
and
generating a second caption for at least one frame of a second group of frames of
the generated story pursuant to at least one rule of the theme script wherein the second
caption is automatically generated with generic text and wherein the generic text is
thereafter replaced with text created from input received from a user.
10. The method for automated story generation of claim 1 wherein outputting the
generated story comprises outputting the generated story comprising a movie in a
Wysiwyg format.
11. The method for automated story generation of claim 1 wherein the generated story
comprises a movie.
12. A movie production system for automatically generating stories, the movie
production system comprising:
a component comprising the capability to automatically apply theme script rules to
assets to generate frames for a story;
a component comprising the capability to automatically analyze assets to identify
asset information comprising metadata;
a component comprising the capability to automatically analyze assets to identify
asset modification details comprising information on assets to be modified for correction;
a component comprising the capability to automatically modify assets without the
need for user input;
a component comprising the capability to automatically apply an effect to at least
one asset included in at least one frame for a story pursuant to at least one theme script
rule;
a component comprising the capability to automatically apply a transition to at
least one frame for a story pursuant to at least one theme script rule;
a component comprising the capability to automatically generate an introduction
section for a story that begins the story, wherein the introduction section comprises a title
generated from asset information;
a component comprising the capability to automatically generate an end section for
a story wherein the end section comprises a credit generated from asset information;
and
a component comprising the capability to output a generated story.
13. The movie production system for automatically generating stories of claim 12,
further comprising:
a component comprising the capability to receive editing commands from a user
for editing at least one frame of a story;
a component comprising the capability to automatically apply edits pursuant to
received editing commands to at least one frame of a generated story to create an updated
generated story; and
a component comprising the capability to output the updated generated story.
14. The movie production system for automatically generating stories of claim 12,
further comprising:
a component comprising the capability to automatically generate an element
comprising at least one asset; and
a component comprising the capability to automatically include the generated
element in at least one frame for a story.
15. The movie production system for automatically generating stories of claim 12,
further comprising:
a component comprising the capability to apply at least one theme script rule to
group assets in at least two chapters of a story; and
a component comprising the capability to apply at least one theme script rule to order
assets grouped within each chapter of a story.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 7841-CHENP-2012 POWER OF ATTORNEY 11-09-2012.pdf 2012-09-11
1 7841-CHENP-2012-RELEVANT DOCUMENTS [15-09-2023(online)].pdf 2023-09-15
2 7841-CHENP-2012 FORM-5 11-09-2012.pdf 2012-09-11
2 7841-CHENP-2012-IntimationOfGrant16-11-2021.pdf 2021-11-16
3 7841-CHENP-2012-PatentCertificate16-11-2021.pdf 2021-11-16
3 7841-CHENP-2012 FORM-3 11-09-2012.pdf 2012-09-11
4 7841-CHENP-2012-Written submissions and relevant documents [03-11-2021(online)].pdf 2021-11-03
4 7841-CHENP-2012 FORM-2 FIRST PAGE 11-09-2012.pdf 2012-09-11
5 7841-CHENP-2012-US(14)-HearingNotice-(HearingDate-22-10-2021).pdf 2021-10-17
5 7841-CHENP-2012 FORM-1 11-09-2012.pdf 2012-09-11
6 7841-CHENP-2012-Correspondence to notify the Controller [23-09-2021(online)].pdf 2021-09-23
6 7841-CHENP-2012 DRAWINGS 11-09-2012.pdf 2012-09-11
7 7841-CHENP-2012-Form26_General Power of Attorney_21-01-2020.pdf 2020-01-21
7 7841-CHENP-2012 DESCRIPTION (COMPLETE) 11-09-2012.pdf 2012-09-11
8 7841-CHENP-2012_Correspondence_21-01-2020.pdf 2020-01-21
8 7841-CHENP-2012 CORRESPONDENCE OTHERS 11-09-2012.pdf 2012-09-11
9 7841-CHENP-2012 CLAIMS SIGNATURE LAST PAGE 11-09-2012.pdf 2012-09-11
9 7841-CHENP-2012-Response to office action (Mandatory) [16-01-2020(online)].pdf 2020-01-16
10 7841-CHENP-2012 CLAIMS 11-09-2012.pdf 2012-09-11
10 7841-CHENP-2012-CLAIMS [14-01-2020(online)].pdf 2020-01-14
11 7841-CHENP-2012 PCT PUBLICATION 11-09-2012.pdf 2012-09-11
11 7841-CHENP-2012-DRAWING [14-01-2020(online)].pdf 2020-01-14
12 7841-CHENP-2012-FER_SER_REPLY [14-01-2020(online)].pdf 2020-01-14
12 7841-CHENP-2012.pdf 2012-09-27
13 7841-CHENP-2012 FORM-3 28-02-2013.pdf 2013-02-28
13 7841-CHENP-2012-FORM 3 [14-01-2020(online)].pdf 2020-01-14
14 7841-CHENP-2012 CORRESPONDENCE OTHERS 28-02-2013.pdf 2013-02-28
14 7841-CHENP-2012-OTHERS [14-01-2020(online)].pdf 2020-01-14
15 7841-CHENP-2012-PETITION UNDER RULE 137 [14-01-2020(online)].pdf 2020-01-14
15 abstract7841-CHENP-2012.jpg 2013-12-31
16 7841-CHENP-2012-FER.pdf 2019-07-23
16 Form-18(Online).pdf 2014-03-17
17 FORM-6-1701-1800(KONPAL).89.pdf 2015-03-13
17 7841-CHENP-2012 FORM-6 25-02-2015.pdf 2015-02-25
18 MS to MTL Assignment.pdf 2015-03-13
18 MTL-GPOA - KONPAL.pdf ONLINE 2015-03-03
19 MS to MTL Assignment.pdf ONLINE 2015-03-03
19 MTL-GPOA - KONPAL.pdf 2015-03-13
20 FORM-6-1701-1800(KONPAL).89.pdf ONLINE 2015-03-03
21 MS to MTL Assignment.pdf ONLINE 2015-03-03
21 MTL-GPOA - KONPAL.pdf 2015-03-13
22 MS to MTL Assignment.pdf 2015-03-13
22 MTL-GPOA - KONPAL.pdf ONLINE 2015-03-03
23 7841-CHENP-2012 FORM-6 25-02-2015.pdf 2015-02-25
23 FORM-6-1701-1800(KONPAL).89.pdf 2015-03-13
24 Form-18(Online).pdf 2014-03-17
24 7841-CHENP-2012-FER.pdf 2019-07-23
25 abstract7841-CHENP-2012.jpg 2013-12-31
25 7841-CHENP-2012-PETITION UNDER RULE 137 [14-01-2020(online)].pdf 2020-01-14
26 7841-CHENP-2012 CORRESPONDENCE OTHERS 28-02-2013.pdf 2013-02-28
26 7841-CHENP-2012-OTHERS [14-01-2020(online)].pdf 2020-01-14
27 7841-CHENP-2012 FORM-3 28-02-2013.pdf 2013-02-28
27 7841-CHENP-2012-FORM 3 [14-01-2020(online)].pdf 2020-01-14
28 7841-CHENP-2012-FER_SER_REPLY [14-01-2020(online)].pdf 2020-01-14
28 7841-CHENP-2012.pdf 2012-09-27
29 7841-CHENP-2012 PCT PUBLICATION 11-09-2012.pdf 2012-09-11
29 7841-CHENP-2012-DRAWING [14-01-2020(online)].pdf 2020-01-14
30 7841-CHENP-2012 CLAIMS 11-09-2012.pdf 2012-09-11
30 7841-CHENP-2012-CLAIMS [14-01-2020(online)].pdf 2020-01-14
31 7841-CHENP-2012 CLAIMS SIGNATURE LAST PAGE 11-09-2012.pdf 2012-09-11
31 7841-CHENP-2012-Response to office action (Mandatory) [16-01-2020(online)].pdf 2020-01-16
32 7841-CHENP-2012 CORRESPONDENCE OTHERS 11-09-2012.pdf 2012-09-11
32 7841-CHENP-2012_Correspondence_21-01-2020.pdf 2020-01-21
33 7841-CHENP-2012 DESCRIPTION (COMPLETE) 11-09-2012.pdf 2012-09-11
33 7841-CHENP-2012-Form26_General Power of Attorney_21-01-2020.pdf 2020-01-21
34 7841-CHENP-2012 DRAWINGS 11-09-2012.pdf 2012-09-11
34 7841-CHENP-2012-Correspondence to notify the Controller [23-09-2021(online)].pdf 2021-09-23
35 7841-CHENP-2012 FORM-1 11-09-2012.pdf 2012-09-11
35 7841-CHENP-2012-US(14)-HearingNotice-(HearingDate-22-10-2021).pdf 2021-10-17
36 7841-CHENP-2012 FORM-2 FIRST PAGE 11-09-2012.pdf 2012-09-11
36 7841-CHENP-2012-Written submissions and relevant documents [03-11-2021(online)].pdf 2021-11-03
37 7841-CHENP-2012-PatentCertificate16-11-2021.pdf 2021-11-16
37 7841-CHENP-2012 FORM-3 11-09-2012.pdf 2012-09-11
38 7841-CHENP-2012-IntimationOfGrant16-11-2021.pdf 2021-11-16
38 7841-CHENP-2012 FORM-5 11-09-2012.pdf 2012-09-11
39 7841-CHENP-2012-RELEVANT DOCUMENTS [15-09-2023(online)].pdf 2023-09-15
39 7841-CHENP-2012 POWER OF ATTORNEY 11-09-2012.pdf 2012-09-11

Search Strategy

1 2019-07-2217-16-19_23-07-2019.pdf

ERegister / Renewals

3rd: 17 Jan 2022

From 18/08/2012 - To 18/08/2013

4th: 17 Jan 2022

From 18/08/2013 - To 18/08/2014

5th: 17 Jan 2022

From 18/08/2014 - To 18/08/2015

6th: 17 Jan 2022

From 18/08/2015 - To 18/08/2016

7th: 17 Jan 2022

From 18/08/2016 - To 18/08/2017

8th: 17 Jan 2022

From 18/08/2017 - To 18/08/2018

9th: 17 Jan 2022

From 18/08/2018 - To 18/08/2019

10th: 17 Jan 2022

From 18/08/2019 - To 18/08/2020

11th: 17 Jan 2022

From 18/08/2020 - To 18/08/2021

12th: 17 Jan 2022

From 18/08/2021 - To 18/08/2022

13th: 17 Jan 2022

From 18/08/2022 - To 18/08/2023

14th: 17 Aug 2023

From 18/08/2023 - To 18/08/2024

15th: 12 Aug 2024

From 18/08/2024 - To 18/08/2025