Creating professional-looking home movies is a difficult task. Existing video editing systems are capable of creating aesthetically pleasing, professional-looking videos. These systems, however, are either too complex and difficult for users to easily learn and use in a time efficient manner, or too automated. With some existing systems, users are required to manually assemble a variety of different elements including video clips, audio clips, titles, effects, narration and background music. Combining these elements into a professional-looking home movie requires advanced skills and a significant time investment.
In addition, editing techniques vary from user to user. For example, a user who records a child's soccer game wants to create a highlight video that is brief and only focuses on key events such as defensive plays and goals. In this scenario, the user chooses video clips that are of high quality, contain a key event, and are focused on a particular child. The user may delete ground shot scenes, blurry scenes, and out of focus scenes. Since the video is a highlights video, the user shortens most of the video clips.
Another user, however, may edit a video of the same soccer game by creating a home movie that represents the entire game. In this case, the user only removes portions of video clips that are extremely poor in quality (e.g., very dark shots, shots of the ground, or blurry shots). The user in this scenario performs very little editing since the focus is to capture the entire event. Key events may be highlighted by applying a video effect to the video clip where a player makes a goal.
Each of the above users may make similar decisions when editing other videos. For example, the users are likely to use the same style when editing subsequent videos of soccer games. Unfortunately, the users must repeat the entire video editing process even though the same style and technique will be used again. Such repetition is time consuming, burdensome, and discouraging.
Other existing systems are completely automated. Features of such existing systems allow the user to automatically create a complete movie with little or no user interaction. Such existing systems have predefined styles, but these styles are limited and often do not meet the needs of the individual user. For example, users may have different goals and objects when creating a home movie. The built-in templates and predefined styles in existing systems confine the user to a particular style and do not provide the level of customization and flexibility needed to enable the user to create a professional-looking video that focuses on user-specific portions of interest.
Some existing video editing systems allow the user to replace sections of a video timeline or storyboard with different video clips. For example, stock footage, effects, and transitions may be preserved from one project to another, but the user must still manually choose what clips to include and edit the chosen clips. This approach results in videos that are very rigid and uniform.
Embodiments enable creation of a user-specific storyboard style from analysis of a storyboard edited by a user. In an embodiment, editing decisions from the user are analyzed along with media content associated with the storyboard to define metadata representing the user-specific style. The user-specific style is applied to other media content to produce another storyboard according to the user-specific style. The other storyboard is combined with the other media content to produce audio/video data for consumption by the user.
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 features 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.
Other features will be in part apparent and in part pointed out hereinafter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring now to the drawings, an embodiment creates, based on user input, a storyboard or other timeline with input media content such as audio, video, still images, titles, credits, transitions, and effects to produce a desired output video. For example, the storyboard represents a linear collection of media content items arranged into cells according to a timeline. In particular, embodiments provide a storyboard 102 such as shown in
After the user creates the original, initial, or example storyboard, this storyboard may be used as an example to create other storyboards. For example, aspects record editing decisions during creation of the example storyboard, or derive them from the example storyboard (e.g., by comparing the input media content with the output video). The editing decisions collectively comprise a user-specific style that may be applied to other input media content. For example, an embodiment analyzes the media content on the example storyboard to generate metadata. The user-specific style includes the generated metadata representing rules, properties, characteristics, constraints, restrictions, or the like that are applied to media content to create storyboards having consistent and aesthetically pleasing qualities. In this manner, storyboards created based on the application of a particular user-specific style reflect the same editing techniques used to produce the example storyboard (e.g., on which the user-specific style is based).
Aspects combine the ease of use of an automatic editing system with the ability to specify the style and technique used to implement example-based video editing. Unlike video templates that are rigid and time consuming to use, the user-specific style in aspects automatically creates an edited storyboard using the content media specified. The user-specific style enables the user to create aesthetically pleasing and professional-looking videos with little or no editing. This approach greatly improves the flexibility to the novice or professional user.
In one embodiment, the user creates a plurality of user-specific styles that may be saved, re-used, and shared with other users. This enables the professional user to transfer video expertise to novice consumers or other users. Professionally created user-specific styles enable consumers to create professional-looking, high-quality videos. The user-specific styles may also be nested.
Referring further to
Referring next to
In accordance with an embodiment, the memory area 206 represents one or more computer-readable media having computer-executable components for implementing aspects. In
The population module 216 applies the user-specific style to a second set of media content items provided by the user to populate a second plurality of cells in a second storyboard with the second set of media content items. The population module 216 converts the second set of media content items selected by the user to a new storyboard (e.g., the second storyboard) based on the user-specific style selected. The populated second plurality of cells conforms to the cell properties defined by the metadata associated with the user-specific style. The rendering module 214 combines the second storyboard from the population module 216 with the second set of media content items to produce audio/video data. The produced audio/video data may be displayed to the user 202 (e.g., via the user interface module 210) or written to a computer-readable medium (e.g., as a file).
Embodiments may be described in the general context of computer-executable instructions, such as program modules or components, executed by one or more computers or other devices. Generally, program modules or components include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects may be implemented with any number and organization of such components or modules. For example, aspects are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments may include different computer-executable instructions or components having more or less functionality than illustrated and described herein. Aspects may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Referring next to
The example storyboard may be created by the user 304 from scratch, or from a predefined or default style. Exemplary predefined or default styles include birthdays, weddings, graduations, and vacations. Alternatively or in addition, the user 304 may select an event type, an occasion, or a theme from which to begin creation of the example storyboard. The user 304 is able to rearrange, add, and delete cells in the example storyboard.
A style engine 308 analyzes the editing decisions and the example storyboard to define metadata representing the user-specific style 312. The user-specific style 312 may be one of a plurality of user-specific styles 312 such as user-specific style #1 through user-specific style #M. The metadata defines at least one cell property 316 for each of the cells in the storyboard such as cell #1 properties through cell #M properties. The cell properties 316, for example, determine what media content items may be added to each cell and how the cell is rendered. Some cells may have no cell properties 312 or restrictions associated with them. Exemplary cell properties 312 are listed in Appendix A. The metadata further defines storyboard properties 318 associated with the example storyboard overall (e.g., overall characteristics of the example storyboard) rather than each individual cell. The storyboard properties 318 may also restrict what media content items may be added to particular cells or where a particular cell may be positioned within the storyboard (e.g., ordering). Exemplary storyboard properties 318 are listed in Appendix B.
In an embodiment, the style engine 308 includes computer-executable instructions for analyzing the media content added to the storyboard, the storyboard itself, and each cell within the storyboard to determine what rules and logic the user applied to each cell while editing the storyboard. The style engine 308 has a set of expandable rules and logic used to analyze and determine the style and technique the user performed when editing the example storyboard. The rules and logic represent techniques, known and unknown, for analyzing audio and video.
For example, the style engine 308 analyzes color histogram data for the media content of each cell and compares it to the corresponding unedited cell to determine the darkness and lightness of the input video clips. Another characteristic for analysis by the style engine 308 includes motion vectors. In this instance, style engine 308 determines how clips with various motion vector patterns are used based on the data from each cell. For example, the user creates a highlights video focusing on fast moving video while removing video clips with low motion vector values. The style engine 308 may also determine how much of the media content was excluded (e.g., trimmed) from the final storyboard. The analysts of various characteristics such as color histogram and motion vector helps determine a set of rules and logic for use by the style engine 308.
While the cell properties 316 and/or storyboard properties 318 are fixed in one embodiment, third-party developers or other users may alternatively write custom cell properties 316 or custom storyboard properties 318 in other embodiments. A customized cell property 312 includes, for example, a video filter that performs a customized function. For example, if the user 304 develops a face detection filter that automatically detects faces within a video clip, the user 304 may expose a custom face weighting property that determines the priority of video faces within the video clip.
In an embodiment, the user-specific style is stored as an extensible markup language (XML) file that stores the metadata representing the cell properties 316 and the storyboard properties 318. Appendix C lists exemplary XML code embodying exemplary metadata.
Referring next to
In an embodiment, the population engine 408 processes the media content 402 enforcing the rules and logic associated with the user-specific style 410 (e.g., cell properties 316 and storyboard properties 318 in
The rendering engine 412 includes computer-executable instructions for combining the created storyboard, pipeline, timeline, or the like, with the corresponding portions of the media content 412 to produce output audio/video data. The audio/video data may be recorded onto a computer-readable medium 414 such as in a file or on a hard disk, or optionally rendered directly to the user 404 via the user interface 406. In an embodiment, the rendering engine 412 obtains the selected media content items from the user 404 directly, from a memory area storing the selected media content items received from the user 404, or from the population engine 408. Empty cells in the storyboard are ignored by the rendering engine 412. The rendering engine 412 may provide feedback to the user interface 406, thus enabling the user 404 to better understand how the video will be rendered (e.g., a preview).
Referring next to
The editing decisions are analyzed at 506 to define a user-specific style. Subsequently, additional media content items may be received at 508. If requested by the user, the user-specific style is applied at 510 to the additional media content items received at 508 to generate a second storyboard. For example, the editing decisions applied to the previously received set of media content items are applied to the additional media content items received subsequently. Metadata representing the second storyboard is defined at 512. The metadata represents properties defining each cell in the storyboard as well as properties defining the overall storyboard. In an embodiment, the defined metadata identifies a sequence of the media content items within each of the cells. The second storyboard is combined with the additional media content items to produce audio/video data.
In this manner, the audio/video data associated with the second storyboard is similar to the audio/video data associated with the first storyboard.
The following examples further illustrate aspects. The tables below list properties and property values for a cell in a storyboard. The properties and property values are derived from an analysis of editing decisions made by users to input video. For example, two users made different decisions when editing a soccer game. Each table includes exemplary characteristics that aspects use to define a user-specific style. The information in the tables below is only an exemplary and non-limiting representation of a portion of the rules and logic used to define the user-specific style.
Table I below lists properties and corresponding property values for a cell in a storyboard representing a highlight video. Table II below lists properties and corresponding property values for a cell in a storyboard representing a full documentary video.
In the example of Table I, the user edits the original media content and chooses only highlight clips that demonstrate key events during the soccer game. Each video clip occurs over a wide range of times throughout the game. The user has edited the video to mostly include close-up shots with just a few people in the scene. In this scenario, aspects detect a limited number of faces, or players on the field. The audio track is also analyzed, and aspects determine patterns that are common among the video clips. In the example of Table I, the patterns include short whistle bursts and crowd noise. The user chooses not to include sections of video without these audio characteristics present. The user also chooses to keep each video clip short by deleting most video clips and trimming out large sections. The user uses more complex transitions to keep the video fast-paced, and to allow the viewer to recognize that time has passed and that a key event is taking place.
In the example of Table II, the user creates a documentary of the soccer game. The intent of the user is to document the entire event rather than just creating a highlights video. Compared to the example corresponding to Table I, the user in this instance includes significantly more media content in the storyboard and makes fewer edits to each of the video clips. As such, the total duration of the resulting movie is much longer, and the overall pace of the movie is slower. Most of the transitions are “fade and cut” which creates more continuity between video clips. The video clips have more wide shots showing more players on the field. The user focuses on a few significant events that include audio signatures, but reserves the use of flashy transitions and special effects.
The figures, description, and examples herein as well as elements not specifically described herein but within the scope of aspects constitute means for defining a user-specific, storyboard style having a plurality of cells each for association with one or more media content items, and means for creating a user-specific, storyboard style based on editing decisions from the user.
Although described in connection with an exemplary computing system environment, embodiments are operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of any aspect. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
In operation, the computing device such as computing device 204 in
The order of execution or performance of the operations in embodiments illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects.
When introducing elements of aspects or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Having described aspects in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of the various aspects, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Table A1 below lists exemplary cell properties and description of each of the cell properties resulting from application of rules and logic used when analyzing an example storyboard to define a user-specific style.
Table B1 below lists exemplary storyboard properties and descriptions of each of the storyboard template properties.
The exemplary XML code below represents exemplary metadata for a storyboard.
This present application is a continuation of U.S. application Ser. No. 11/560,959, filed Nov. 17, 2006.
Number | Name | Date | Kind |
---|---|---|---|
5467288 | Fasciano | Nov 1995 | A |
5604857 | Walmsley | Feb 1997 | A |
5659792 | Walmsley | Aug 1997 | A |
6016380 | Norton | Jan 2000 | A |
6085020 | Saito | Jul 2000 | A |
6137483 | Kiyono et al. | Oct 2000 | A |
6424789 | Abdel-Mottaleb | Jul 2002 | B1 |
6697061 | Wee | Feb 2004 | B1 |
6721361 | Covell et al. | Apr 2004 | B1 |
6882793 | Fu | Apr 2005 | B1 |
6928613 | Ishii et al. | Aug 2005 | B1 |
6954894 | Balnaves et al. | Oct 2005 | B1 |
6970639 | McGrath et al. | Nov 2005 | B1 |
7013432 | Taylor et al. | Mar 2006 | B2 |
7062532 | Sweat et al. | Jun 2006 | B1 |
7124366 | Foreman | Oct 2006 | B2 |
7352952 | Herberger | Apr 2008 | B2 |
7614012 | Dulaney | Nov 2009 | B1 |
7643723 | Ishii | Jan 2010 | B2 |
7668438 | Fu et al. | Feb 2010 | B2 |
7683940 | Fleming | Mar 2010 | B2 |
7739599 | Patten et al. | Jun 2010 | B2 |
7822643 | Negley | Oct 2010 | B2 |
7861169 | Hull | Dec 2010 | B2 |
8180826 | Hua | May 2012 | B2 |
8204750 | DeWitt | Jun 2012 | B2 |
8375302 | Oakley | Feb 2013 | B2 |
8893015 | Lanahan | Nov 2014 | B2 |
20010040592 | Foreman | Nov 2001 | A1 |
20010041020 | Shaffer et al. | Nov 2001 | A1 |
20020122067 | Geigel et al. | Sep 2002 | A1 |
20020136294 | Culbert | Sep 2002 | A1 |
20020154695 | Cornog | Oct 2002 | A1 |
20020175917 | Chakravarty | Nov 2002 | A1 |
20030001846 | Davis et al. | Jan 2003 | A1 |
20030052909 | Mo | Mar 2003 | A1 |
20030052910 | Shiiyama | Mar 2003 | A1 |
20030122873 | Dieberger | Jul 2003 | A1 |
20030210886 | Li | Nov 2003 | A1 |
20030215214 | Ma | Nov 2003 | A1 |
20030222899 | Alvesalo | Dec 2003 | A1 |
20030234805 | Toyama | Dec 2003 | A1 |
20040001106 | Deutscher et al. | Jan 2004 | A1 |
20040004665 | Kashiwa | Jan 2004 | A1 |
20040085341 | Hua | May 2004 | A1 |
20040128308 | Obrador | Jul 2004 | A1 |
20040223747 | Otala et al. | Nov 2004 | A1 |
20050053356 | Mate et al. | Mar 2005 | A1 |
20050249080 | Foote et al. | Nov 2005 | A1 |
20050273470 | Heigold | Dec 2005 | A1 |
20050281535 | Fu et al. | Dec 2005 | A1 |
20060026529 | Paulsen et al. | Feb 2006 | A1 |
20060284978 | Girgensohn et al. | Dec 2006 | A1 |
20070009231 | Shinkai et al. | Jan 2007 | A1 |
20070074115 | Patten | Mar 2007 | A1 |
20070168543 | Krikorian et al. | Jul 2007 | A1 |
20070218448 | Harmeyer | Sep 2007 | A1 |
20070230807 | Shiiyama | Oct 2007 | A1 |
20080120550 | Oakley | May 2008 | A1 |
20080180535 | Habuka | Jul 2008 | A1 |
20080256432 | Sambandam | Oct 2008 | A1 |
20090012433 | Fernstrom | Jan 2009 | A1 |
20090013252 | DeWitt | Jan 2009 | A1 |
20100005379 | Lanahan et al. | Jan 2010 | A1 |
20100115410 | Fu | May 2010 | A1 |
20110268426 | Kikuchi | Nov 2011 | A1 |
20120042251 | Rodriguez | Feb 2012 | A1 |
Number | Date | Country |
---|---|---|
05-290548 | Nov 1993 | JP |
5604857 | Oct 2014 | JP |
Entry |
---|
Adams, et al., “Weaving Stories in Digital Media: When Spielberg Makes Home Movies,” MM'03, Nov. 2-8, 2003, pp. 207-210, ACM Publishing, USA. |
Davis, “Active Capture: Automatic Direction for Automatic Movies,” MM'03, Nov. 2-8, 2003, pp. 602-603, ACM Publishing, USA. |
Hua et al., “LazyCut—Content-Aware Template-Based Video Authoring,” MM'05, Nov. 6-11, 2005, 2 pages, ACM Publishing, Singapore. |
O'Brien-Strain et al., “Using Film-Making Techniques to Synthesize Compelling Video Shows from Consumer Photographs,” Hewlett-Packard Development Company, LP, 2005, 4 pages, USA. |
Number | Date | Country | |
---|---|---|---|
20130132844 A1 | May 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11560959 | Nov 2006 | US |
Child | 13743390 | US |