IP Library Granted Patent US 7,417,646
Granted Patent B1
US 7,417,646 · App. 11/107,331 · Granted Aug 26, 2008

Background rendering in video compositing

Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,417,646
App. No.
11/107,331
Granted
Aug 26, 2008
Kind
B1
Abstract

Some embodiments of the invention provide a method of editing video through a multi-stage editing process. The method selects a particular stage in the editing process. A particular editing operation is performed on a set of video images during the particular stage. After the selection of the particular stage, the method uses a background rendering process to render the result of the particular editing operation on the particular set of video images. The background rendering process is a process that the method performs separately from the multi-stage video editing process, so that a user may continue editing the video sequence while the rendering occurs. Some embodiments provide a preview of the rendering process in a preview window. Some of these embodiments update the preview in real time. In some embodiments, the rendering occurs to a temporary location and then stores to a persistent storage. In some of these embodiments, an entry for the stored render's location is logged in a list of entries that allows the stored render to be catalogued and retrieved from the persistent storage. The temporary location and the persistent storage can be part of a non-volatile memory such as a hard drive.

Claims (47)

1. A method for editing video, said method comprising:

receiving a selection of an editing stage in a multi-stage video editing process;

receiving a request from a user to background render at least a portion of the video up to said selected stage;

launching an external process to render said portion of the video; and

while said external process is executing to render said portion, receiving and performing an edit to a particular editing stage in the multi-stage editing process.

2. The method of claim 1 , wherein said selected editing stage specifies a video editing operation for said video.

3. The method of claim 1 further comprising generating an identifier for associating said selected stage in said video editing process with said rendering of said selected stage.

4. The method of claim 3 , wherein said identifier is used to retrieve said rendering.

5. The method of claim 3 , wherein said identifier comprises a string that identifies the location of the selected stage in the multi-stage video compositing process.

6. The method of claim 1 , wherein said rendering occurs to one or more locations.

7. The method of claim 6 , wherein an entry for said one or more locations is stored.

8. The method of claim 7 , wherein said entry is used for retrieving said rendering from said one or more locations.

9. The method of claim 6 , wherein said one or more locations comprise non-volatile memory.

10. The method of claim 1 further comprising providing a preview of an output of said rendering.

11. The method of claim 10 , wherein said preview is updated in real time.

12. The method of claim 1 , wherein said stage in said video editing process is represented by a node.

13. The method of claim 12 , wherein said user request is represented in a tree of nodes by a cache node.

14. The method of claim 1 , wherein said edit to the particular editing stage comprises at least one of (i) a deletion of the particular editing stage and (ii) an addition of another editing stage connected to the particular editing stage.

15. The method of claim 1 , wherein said edit to the particular editing stage comprises a change in a connection between the particular editing stage and another editing stage.

16. The method of claim 1 , wherein said edit to the particular editing stage comprises a change in a parameter value of the particular editing stage.

17. The method of claim 1 , wherein the particular editing stage is a different editing stage from the selected stage.

18. A computer readable medium storing a computer executable program for editing video, said computer executable program comprising sets of instructions for:

receiving a selection of an editing stage in a multi-stage video editing process;

receiving a request from a user to background render at least a portion of the video up to said selected stage;

launching an external process to render said portion of the video; and

while said external process is executing to render said portion, receiving and performing an edit to a particular editing stage in the multi-stage editing process.

19. A video editing method comprising:

receiving a selection of an editing stage in a multi-stage editing project;

receiving a selection of a particular rendering parameter out of a plurality of rendering parameters for performing a background rendering of the selected editing stage;

rendering said portion of the video up to said selected stage using the particular rendering parameter; and

while background rendering said portion receiving and performing a modification to said multi-stage editing project;

wherein the plurality of rendering parameters comprises a plurality of candidate rendering resolutions, wherein each candidate rendering resolution provides a resolution at which the portion is rendered.

20. The method of claim 19 , wherein the plurality of candidate resolutions comprises at least (i) a full first resolution and (ii) a second resolution that is less than the full resolution.

21. The method of claim 20 , wherein the second resolution is one of a one-half resolution and a one-quarter resolution.

22. A video editing method comprising:

receiving a request to cache an editing stage in a multi-stage video editing project;

receiving a selection of a particular rendering resolution from a plurality of candidate resolutions, each candidate resolution providing a different resolution for a rendering of the editing stage;

rendering, to a cache storage, said portion of the video up to said selected stage at said selected rendering resolution; and

receiving and performing an edit to the multi-stage video editing project.

23. A video editing method comprising:

receiving a selection of an editing stage in a multi-stage editing project;

receiving a selection of a particular rendering parameter out of a plurality of rendering parameters for performing a background rendering of the selected editing stage;

rendering said portion of the video up to said selected stage using the particular rendering parameter; and

while background rendering said portion receiving and performing a modification to said multi-stage editing project;

wherein the plurality of rendering parameters comprises a user-modifiable duration of the video to render.

24. The method of claim 23 , wherein the duration is expressed in terms of time.

25. The method of claim 23 , wherein the duration is expressed in terms of frames.

Assignments (2)
CHANGE OF NAME Recorded Dec 12, 2011
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 027366/0702 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2005
From: LARSEN, ERIC
To: APPLE COMPUTER, INC.
Reel/Frame 016576/0299 →