FreshPatents.com Logo
stats FreshPatents Stats
n/a views for this patent on FreshPatents.com
Updated: August 12 2014
newTOP 200 Companies filing patents this week


    Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • RSS rss
  • Create custom RSS feeds. Track keywords without receiving email.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY DIRECTORY
  • Patents sorted by company.

Follow us on Twitter
twitter icon@FreshPatents

Application of speed effects to a video presentation

last patentdownload pdfdownload imgimage previewnext patent


20120301114 patent thumbnailZoom

Application of speed effects to a video presentation


Some embodiments provide a method of specifying speed effects for playing a video clip. The method defines a set of speed effects for the video clip. It then displays in real-time a presentation of the video clip that accounts for the set of speed effects defined for the video clip. This method represents the playback speed of a video clip in terms of a graph that is part of a graphical user interface (“GUI”). This graph is defined along two axes, with one axis representing the playback time, and the other axis representing the content-time (i.e., the time within the video clip). A user can select and adjust the graph at different instances in time in order to change the playback speed of the video clip at these instances. Some embodiments use a deformable line bar superimposed on a rectangle that represents the video clip to represent playback speed.

Inventor: Gary Johnson
USPTO Applicaton #: #20120301114 - Class: 386280 (USPTO) - 11/29/12 - Class 386 


view organizer monitor keywords


The Patent Description & Claims data below is from USPTO Patent Application 20120301114, Application of speed effects to a video presentation.

last patentpdficondownload pdfimage previewnext patent

FIELD OF THE INVENTION

The present invention is directed towards the application of speed effects to a video presentation.

BACKGROUND OF THE INVENTION

In recent years, there has been a proliferation of video editing applications. These applications allow a user to create video presentations by combining one or more video and audio tracks, and applying one or more video and/or audio effects to these tracks. Speed effects are one type of effects that are commonly employed by video editing applications. Speed effects allow a user to specify different speeds for playing different sections of the presentation. For instance, by using speed effects, an editor can divide a video presentation into three parts, where the first part plays at twice its created rate (e.g., at 60 frames per second (fps) for a content rate of 30 fps), the second part plays at half its created rate (e.g., at 15 fps for a content rate of 30 fps), and the third part plays at 3 times its content rate (e.g., at 90 fps for a content rate of 30 fps).

Applying speed effects with prior video editing applications is often difficult and time consuming. Specifically, prior video editing applications do not apply speed effects to presentations in real-time. For instance, each time a user (also referred to below as an editor) specifies a new set of speed effects, some prior editing applications render a new media file with the speed effect. This rendering is quite time consuming. Also, if the editor is not happy with the rendered results, the editor would have to re-specify the speed effects, and re-render the media file once again. In addition, while the user is specifying new speed effects, this editing application does not provide adequate feedback regarding the frames on which the speed effects are being defined.

Therefore, there is a need for a method that can apply speed effects to a presentation and display the results of this application in real-time. Ideally, this method can apply the speed effects and display the results without having to render the presentation. Furthermore, ideally, this method would use an intuitive interface that allows the editor to easily specify speed effects and to discern the result of these effects.

SUMMARY

OF THE INVENTION

Some embodiments provide a method of specifying speed effects for playing a video clip. The method defines a set of speed effects for the video clip. It then displays in real-time a presentation of the video clip that accounts for the set of speed effects defined for the video clip. In some embodiments, this method represents the playback speed of a video clip in terms of a graph that is part of a graphical user interface (“GUI”). This graph is defined along two axes, with one axis representing the playback time, and the other axis representing the content-time (i.e., the time within the video clip). In these embodiments, a user can change the playback speed of the video clip by using a set of GUI operations to select and modify the graph. For instance, a user can select and adjust the graph at different instances in time in order to change the playback speed of the video clip at these instances. Different embodiments use different types of graphs to represent playback speed. For instance, some embodiments use a deformable line bar that is superimposed on a rectangle that represents the video clip.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.

FIGS. 1A and 1B illustrate a deformable line bar that is used in some embodiments to define speed effects.

FIG. 2 illustrates a graphical user interface that uses the deformable line bar illustrated in FIGS. 1A and 1B.

FIGS. 3-14 illustrate examples of GUI operations that are performed on the deformable line bar illustrated in FIGS. 1A and 1B.

FIG. 15 illustrates the software architecture of some embodiments of the invention.

FIG. 16 illustrates a process that the video editing application performs each time that it potentially receives speed effect additions or modifications through a speed bar displayed in its GUI.

FIG. 17 illustrates a process that a video-editing application performs to relay the speed effects that are defined by a speed bar to an effects manager.

FIG. 18 illustrates that an effects manager provide two sets of frames to the video-editing application when a frame-blending option has been selected.

FIG. 19 presents a computer system with which one embodiment of the invention is implemented.

DETAILED DESCRIPTION

OF THE INVENTION

In the following description, numerous details are set forth for purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail.

Some embodiments of the invention provide a method of specifying speed effects for playing a video clip. A video clip can be a composite of one or more video clips, one or more audio tracks, and one or more video and audio effects. A video clip includes a number of frames, which are typically presented at a particular frame rate (e.g., at 25 fps, 30 fps, 60 fps). At times, each frame is presented in terms of two consecutive fields (e.g., is presented at 50 or 60 fields per second for a 25 or 30 fps video clip).

The method of some embodiments defines a set of speed effects for the video clip. It then displays in real-time a presentation of the video clip that accounts for the set of speed effects defined for the video clip. In some embodiments, this method represents the playback speed of a video clip in terms of a graph that is part of a graphical user interface (“GUI”). This graph is defined along two axes, with one axis representing the playback time, and the other axis representing the content-time (i.e., the time within the video clip). In these embodiments, a user can change the playback speed of the video clip by using a set of GUI operations to select and modify the graph. For instance, a user can select and adjust the graph at different instances in time in order to change the playback speed of the video clip at these instances.

I. Graphical User Interface

Different embodiments use different types of graphs to represent playback speed. For instance, some embodiments described below use a deformable line bar to represent the playback speed. Specifically, FIGS. 1A and 1B illustrate a deformable line bar 105 that is superimposed on a rectangular box 110, which is a graphical representation of a video clip. In some embodiments, the line bar 105 and the rectangular box 110 are part of a graphical user interface (“GUI”) with which the user can interact through traditional GUI operations, such as click operations (e.g., to select an item), click-and-drag operations (e.g., to move an item), etc.

FIGS. 1A and 1B also illustrate a playback timeline 115, a content timeline 120, and a time marker 125. The timelines 115 and 120 are two axes along which the speed bar 105 is defined. The playback timeline 115 represents the time during the playback of a video clip, while the content timeline represents the time within the video clip. When an editor has not specified any speed effect for a video clip, the clip\'s duration along the playback timeline 115 is the same as the clip\'s duration along the content timeline 120. FIG. 1A illustrates such a case (i.e., illustrates a case where the editor has not specified any speed effect). As illustrated in this figure, the slope of the speed bar 105 is 45° in this case, since the playback and content timelines 115 and 120 have the same scale in this example.

On the other hand, when the editor specifies one or more speed effects for the video clip, the clip\'s playback duration will be different than the clip\'s content duration. For instance, FIG. 1B illustrates an example where the editor defines a constant speed effect that specifies the playback speed as 1/10th the content speed. In this example, the speed bar has a constant slope of 0.1, since the two timelines have the same scale.

The time marker 125 identifies the portion of the video clip that is displayed at each instance in time. Specifically, when the video clip is playing, the time marker 125 moves along the timeline 115 at a particular playback rate (e.g., 25, 30, or 60 fps). The intersection of this marker at a particular playback time with the speed bar 105 identifies the video frame that is to be displayed at the particular time. For example, in FIG. 1B, the marker 125 at playback time 130 intersects the speed graph at point 135, which occurs at time 140 along the content timeline 120. Accordingly, in this example, the frame that is to be displayed at playback time 130 is the frame that appears in the video clip at time 140 of the video clip. A user can drag the time marker 125 to a particular time on the timeline 115 to view the video-clip frame at that time.

The GUI of some embodiments of the invention have a preview window that displays the frame at the intersection of the time marker 125 and the speed bar 105. FIG. 2 illustrates one such GUI 200. In this illustration, the GUI 200 displays two tracks 205 for inserting, stacking, and editing video clips, and three tracks 210 for inserting, stacking, and editing audio tracks. It also illustrates the intersection of the time marker 125 and the speed bar 105 at playback time 220 and content time 225. In addition, it illustrates that the GUI 200 has a preview window 215. In this figure, the preview window 215 is presenting the frame that appears in the video clip on the video track 205b at time 225 (i.e., at the content time of the intersection of the timer marker 125 and the speed bar 105).

As illustrated in FIGS. 1A and 1B, some embodiments illustrate values 145 along the playback timeline 115 on top of the video-clip box 110. This has the advantage of allowing one set of playback time values 145 to be specified for several video and audio tracks 205 and 210 that are being displayed in the GUI of a video editing application, as illustrated in FIG. 2.

Also, displaying the playback time values on top of the video-clip box 110 frees up the bottom side of these boxes for placing speed indicators 150. Speed indicators are marks placed along the playback time line 115 to indicate how the video clip\'s frames are extended or condensed by the speed effects specified by the editor. The speed indicators 150 move closer and further as the frames are set to appear closer and further apart. In other words, the distance between the speed indicators illustrates the speed effects that are being achieved. In some cases, an editor might forego viewing the speed bar and instead perform speed adjustments by simply relying on the speed indicators. As further described below, the speed indicators in some embodiments have one color (e.g., black) when the edited presentation traverses forward through a video clip and have another color (e.g., red) when the presentation traverses backwards through the clip.

Through the speed bar 105, an editor can easily add or modify speed effects to a video clip. Specifically, the editor can change the playback speed at any point in the playback time by deforming the speed bar 105 at that point in time. For instance, in some embodiments, a user can deform the speed bar 105 through a simple click-and-drag operation.

FIGS. 3-13 illustrate examples of click-and-drag operations in some embodiments. FIG. 3 shows the start of a click-and-drag operation. In this figure, the click-and-drag operation is started by placing a cursor 305 at a location 310 on the speed bar 105 and performing a click-and-hold operation (e.g, depressing a mouse button and holding this button depressed). As shown in FIG. 3, the moment that the user starts the click-and-hold operation at a location 310, a “keyframe” 315 is defined on the speed bar 105 at the location 310. A keyframe is a point along the speed bard 105 that is used to define and draw the speed bar, as further described below. As shown in FIG. 3, a speed bar has at least two keyframes, one 320 at its beginning and one 325 at its end. The editor can add new keyframes between the endpoint keyframes to give the speed bar any desire shape. If the keyframe 315 was defined at location 310 previously, the click-and-hold operation (that starts the click-and-drag operation) would not create another keyframe at the location 310, but rather would simply select the previously defined keyframe. The editor can also delete a previously defined keyframe. For instance, in some embodiments, the editor can delete a keyframe by pressing the control key, performing a click-and-hold operation on a keyframe, and selecting a “delete” option that appears in a menu window that appears after the click operation. When a keyframe is deleted, the speed bar is redrawn to account for the deletion.

A keyframe along the speed bar specifies the exact playback time for a frame that is within a video clip at a particular content time. This specification, in turn, allows an editor to specify any arbitrary traversal and speed for this traversal through the video clip. The editor can add or edit speed-effects by adding, deleting, and moving keyframes on the speed bar.

More specifically, as shown in FIG. 3, a rectangle 330 appears about the location 310 on which the click-and-hold operation is performed. This rectangle is a graphical representation of the video clip. The horizontal length of this rectangle is a pictorial representation of the video clip. Accordingly, this rectangle\'s horizontal alignment with the keyframe 315 appearing at 310 provides a quick indication of the location of the video-clip frame that is currently set to appear at the playback-time value 335 of the location 310.

Some embodiments display in a preview window the frame that is set to appear at the playback-time value of a newly defined keyframe or of a selected, previously defined keyframe. For instance, FIG. 4 illustrates a frame in the preview window 215 when the keyframe 405 is defined or selected. This frame is a frame that appears within the video clip at the content-time value 410 of the keyframe 405, and that is set to appear in the playback presentation at the playback-time value 415 of the keyframe 405. The preview display of a frame associated with a keyframe provides an editor with an immediate visual feedback regarding the playback presentation, and thereby facilitates the editor\'s speed effects editing.

As shown in FIG. 4, some embodiments display a chart 420 next to the rectangle 330 (that represents the video clip) when a keyframe is selected, altered, or defined. This chart lists a variety of statistics regarding the keyframe. In the example illustrated in FIG. 4, these statistics include the keyframe\'s playback-time value, the speed bar\'s slope to the left and right of the keyframe, and the keyframe\'s content-time value before and during the click-and-drag operation.

FIG. 4 further illustrates a speed-effects icon 425. In some embodiments, the editor can use this icon to display certain speed-effect data and enable certain speed-effect functionality. For instance, in some embodiments, the data chart 420 and video-clip rectangle 335 appear for a selected keyframe once the speed-effects icon 425 is selected.

In addition, after the user clicks on the speed-effect icon 425, the user can create a keyframe at a particular playback time, by clicking the cursor somewhere in the video track 205b and dragging the cursor to the particular playback time. This click-and-drag operation, in some embodiments, initially directs the application to display a playhead and a keyframe at the intersection of this playhead and the speed bar (assuming no keyframe was previously defined at this intersection; if such a keyframe was previously defined, the operation selects the previously defined keyframe instead of creating a new one). Subsequently, as the editor drags the cursor, the playhead scrolls across the speed bar and the keyframe moves across this graph, until reaching the particular playback time.

Some embodiments also allow an editor to create a keyframe at a particular playback time and a particular content time by simply clicking on the speed bar at the intersection of the particular playback and content times. The editor can direct the application to display the speed bar through a variety of ways. One way is to press the control key and click within the video track 205b. This operation directs the application to display a menu window, which has one option that the editor can select to view the speed bar.

FIG. 5 shows the keyframe 315 after it has been moved to a new position 505. This movement can be achieved by starting a click-and-drag operation at 310 (as shown in FIG. 3), and dragging the cursor up towards 505. This movement moves the video-clip rectangle 330 to the left, since it moves the keyframe 315 to a later point along the content timeline. Specifically, when the keyframe is moved from 310 to 505, the video-clip rectangle 330 scrolls leftwards across the keyframe.

In FIG. 5, the motion of the keyframe from 310 to 505 could also be achieved by dragging the cursor to the right after starting the click-and-hold operation at 310. To the editor, this dragging would be visually perceived as moving the video-clip rectangle 330 to the left and moving the keyframe 315 up, which would correspond to moving to a later content time in the video clip.

FIG. 6 shows the keyframe 315 after it has been moved to a new position 605. This movement can be achieved by starting a click-and-drag operation at 310 (as shown in FIG. 3), and dragging the cursor down towards 605. This movement moves the video-clip rectangle 330 to the right, since it moves the keyframe 315 to an earlier point along the content timeline. Specifically, when the keyframe is moved from 310 to 605, the video-clip rectangle 330 scrolls rightwards across the keyframe.

In FIG. 6, the motion of the keyframe from 310 to 605 could also be achieved by dragging the cursor to the left after starting the click-and-hold operation at 310. To the editor, this dragging would be visually perceived as moving to an earlier content time in the video-clip rectangle 330 in order to move the keyframe 315 down.

When the keyframe moves along the content timeline (e.g., when it is dragged from 310 to 505 or to 605), the frames that appear in a preview window 215 change in some embodiments. In other words, whenever a keyframe makes a transition along the content timeline that corresponds to a transition from a first frame to a second frame, the display in the preview window 215 changes from the first frame to the second. The frames in the preview window change with the movement of the keyframe along the content timeline in order to help the editor associate a particular frame with a particular keyframe (i.e., to select a particular frame to appear at a particular playback time).

In some embodiments, the movement of the keyframe and the video-clip rectangle can be modified during a click-and-drag operation by pressing a particular key. For instance, some embodiments scroll through the frames one frame at a time when the command key is pressed during a click-and-drag operation that moves a keyframe along the content timeline. In addition, some embodiments scroll through the frames by jumping along the content timeline at 10% speed intervals, when the shift key is pressed during a click-and-drag operation that moves a keyframe along the content timeline.

Also, when the option is key pressed during a click-and-drag operation that drags the cursor left or right, some embodiments move the keyframe left or right instead of scrolling through the frames. In other words, during such a click-and-drag operation, these embodiments keep the keyframe tied to the frame that the keyframe was associated with at the start of the click-and-drag operation, and just translate the cursor movement to the motion of the keyframe along the playback timeline. In essence, this motion moves the keyframe\'s associated frame to an earlier or later point in the playback timeline. FIGS. 7 and 8 illustrate an example of moving the keyframe 315 left from position 505 to position 805 in the speed bar\'s coordinate system, by pressing the option key while performing a click-and-drag operation that moves the cursor 305 left.

Although a set of operations have been described above for modifying the position of keyframes and video-clip rectangles, one of ordinary skill will realize that other embodiments might use a different set of operations to change the position of keyframes and video-clip rectangles. For instance, without requiring the pressing of any keyboard key, some embodiments might move the keyframe left or right when the click-and-drag operation moves the cursor left or right. These embodiments might then move the keyframe up or down when a particular key (e.g., the option key) is pressed and a click-and-drag operation moves the cursor left or right.

As illustrated in FIGS. 3-8, the movement of a keyframe changes the shape of the speed bar. For instance, in FIG. 3, the speed bar 105 has a constant slope of 0.1, which indicates a constant playback speed that is one tenth the speed of video clip. However, when in FIG. 5 the keyframe 315 is added and moved up to position 505, the shape of the speed bar changes from a straight line to two line segments 510 and 515. The slope of the line segment 510 is greater than the line segment 515 to indicate that the playback speed is faster prior to playback time 335 (at the point that the line segment 510 terminates) than the playback speed after the playback time 335 (at the point that the line segment 515 starts).

On the other hand, when in FIG. 6 the keyframe 315 is moved down to position 605, the shape of the speed bar is specified by two line segments 610 and 615, where in this case the slope of the first line segment 610 is less than the slope of the second line segment 615. These differing slopes indicate that the playback speed is slower before playback time 335 (at the point that the line segment 610 terminates) than the playback speed after the playback time 335 (at the point that the line segment 615 starts).

FIGS. 3-8 illustrate that the speed indicators 150 get closer to each other when the slope of the speed bar increases, and get further apart when the slope of the speed bar decreases. For instance, in FIG. 3, the speed indicators 150 are evenly spaced apart to indicate the constant slope of the speed bar 105 (i.e., to indicate the constant speed effect). However, in FIG. 5, the speed indicators 150 are closer before the playback time 335 (at the point that the line segment 510 terminates) than the speed indicators after the playback time 335 (at the point that the line segment 515 starts). These differing spacings are a visual indication that the playback speed is faster before 335 than it is after 335 (i.e., that the slope of the line segment 510 is greater than the slope of the line segment 515). Conversely, in FIG. 6, the speed indicators 150 are farther apart before the playback time 335 than the speed indicators after the playback time 335, in order to provide a visual indication that the playback speed is slower before 335 than it is after 335 (i.e., that the slope of the line segment 610 is less than the slope of the line segment 615).

Once the editor positions a keyframe at a desired location, the editor terminates the click-and-drag operation (e.g., releases the mouse button). At this point, the playback and content timeline values of the keyframe are set. FIG. 9 conceptually illustrates a keyframe data structure 900. As shown in this figure, this data structure includes a playback time and a content time, which correspond to the playback and content timeline values of a keyframe.

This figure also illustrates that the data structure includes two other attributes, which are the coordinates of an inbez knob and the coordinates of an outbez knob. These coordinates are defined in the coordinate system that is specified by the playback and content timelines 115 and 120. The inbez and outbez knobs are two additional points that are associated with each keyframe. These two knobs are used to draw a smooth curve through each keyframe.



Download full PDF for full patent description/claims.

Advertise on FreshPatents.com - Rates & Info


You can also Monitor Keywords and Search for tracking patents relating to this Application of speed effects to a video presentation patent application.
###
monitor keywords



Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Application of speed effects to a video presentation or other areas of interest.
###


Previous Patent Application:
Synchronous data tracks in a media editing system
Next Patent Application:
Picture editing apparatus and picture editing method
Industry Class:
Television signal processing for dynamic recording or reproducing
Thank you for viewing the Application of speed effects to a video presentation patent info.
- - - Apple patents, Boeing patents, Google patents, IBM patents, Jabil patents, Coca Cola patents, Motorola patents

Results in 0.66777 seconds


Other interesting Freshpatents.com categories:
QUALCOMM , Monsanto , Yahoo , Corning ,

###

Data source: patent applications published in the public domain by the United States Patent and Trademark Office (USPTO). Information published here is for research/educational purposes only. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application for display purposes. FreshPatents.com Terms/Support
-g2--0.6811
     SHARE
  
           

FreshNews promo


stats Patent Info
Application #
US 20120301114 A1
Publish Date
11/29/2012
Document #
13488423
File Date
06/04/2012
USPTO Class
386280
Other USPTO Classes
386E05031, 386E05052
International Class
/
Drawings
11



Follow us on Twitter
twitter icon@FreshPatents