Information
-
Patent Application
-
20030156821
-
Publication Number
20030156821
-
Date Filed
February 15, 200222 years ago
-
Date Published
August 21, 200321 years ago
-
CPC
-
US Classifications
-
International Classifications
Abstract
A system for modifying video including a source of a filter stack specifying filter operations to be carried out on a video clip, a filter registry of filter functions including information on filter operations that can be carried out by the filter functions, and a filter planner that receives the filter stack and accesses the registry in order to generate a filter plan specifying filter functions to be used in carrying out the filter operations specified in the filter stack.
Description
BACKGROUND
[0001] The invention relates to modifying video and audio.
[0002] When a video program is created at a nonlinear video editor, analog video source materials are typically digitized, compressed and stored on disc for later random access for use in creating a video program. Digital source video can also be input into the nonlinear video editor. Segments of the video, also referred to as “video clips,” can be taken from different sources, and the beginning and end points can be trimmed as desired during editing. The order of clips is established in a time line to determine the sequence, and the position of a clip can be changed. Clips can be deleted or inserted as desired. During the editing process, the clips of compressed video can be randomly accessed, decompressed and viewed in real time.
[0003] The source video can be modified by various “pixel manipulations,” which are fine grain processes (such as scale, rotate, blur), and “tools,” which are larger grain processes (such as digitizing, color correcting, add to timeline, layer with another clip and master out).
[0004] Audio can similarly be modified, e.g., by parametric equalization, high pass/low pass, notch filters.
[0005] Compositing involves use of fine grain processes. In compositing applications, it is known to use a process tree to specify a set of transformations, modifications, and effects to be applied to one clip. As used herein, “filter operations” includes operations by compositing and by tools.
SUMMARY
[0006] The invention features, in general, a system for modifying video including a source of a filter stack specifying filter operations to be carried out on a video clip, a filter registry including information on filter operations that can be carried out by the filter functions, and a filter planner that receives the filter stack and accesses the registry in order to generate a filter plan specifying filter functions to be used in carrying out the filter operations specified in the filter stack.
[0007] Particular embodiments of the invention may include one or more of the following features. In particular embodiments, the system also composites audio associated with the video, and the filter operations include operations to be carried out on an audio segment associated with the video clip. The filter operations in the filter stack are specified by a filter protocol identifier and operating domain. The information on the filter functions in the filter registry are specified by a filter protocol identifier and operating domain. The operating domains include audio and video. The system also includes a plurality of filter functions capable of carrying out the filter operations on a video clip, and a filter executor that receives the filter plan from the filter planner and controls the plurality of filter functions according to the filter plan to carry out the filter operations on the video clip. The system includes a nonlinear video editor including a storage containing video data, a user interface, a computer processor, and video processing circuitry for randomly accessing video data from the storage to output video clips. The filter functions include software filters implemented on the computer processor, hardware filters implemented on the video processing circuitry, and external hardware filters connected to computer processor. The operations can be carried out on software filters and on the hardware filters. The listing of information for a filter function in the registry includes a name and a properties list indicating input and output conditions for the filter function. The properties list indicates whether the domain for the filter function is video, audio, video parameters or audio parameters. The filter operations include, fades, blurs, transitions, dissolves, rotations. The filter plan includes hardware filters and software filters optimized for the filter operations specified in the filter stack. The filter planner can be replaced with a different filter planner to achieve a different optimization.
[0008] Embodiments of the invention may include one or more of the following advantages. The operation of the filter planner is transparent to the user, who need not be concerned with the details of the implementation. There could be a number of different filter functions that could carry out a specified filter operation in a filter stack, and the filter planner will select the one that is most appropriate. The filter planner can select both hardware filters and software filters in the same plan.
[0009] Other advantages and features of the invention will be apparent from the following description of a preferred embodiment thereof and from the claims.
DESCRIPTION OF DRAWINGS
[0010]
FIG. 1 is a block diagram of a nonlinear video editing system including a compositing system.
[0011]
FIG. 2 is a diagram of the compositing system implemented on the FIG. 1 system.
[0012]
FIG. 3 shows the generation of a filter plan for execution by a filter executor on the FIG. 1 system.
DETAILED DESCRIPTION
[0013] Description of Particular Embodiments
[0014] Referring to FIG. 1, nonlinear video editing and compositing system 10 includes host computer 12 having monitor 14, user input devices 16 (e.g., keyboard and mouse), video editing and compositing software 18, video editing peripheral board 20 in an expansion slot of computer 12, plug-in video hardware filters 22 in an expansion slot of computer 12 or otherwise connected thereto, video tape recorder (VTR) 24, and mass storage disc 26.
[0015] Board 20 includes various intrinsic video filter functions such as, but not limited to, keying, color correction, digital video effects (DVE), compositing, and audio mixing. The software 18 includes such video filter functions as blurs, twirl, etc. The plug-in filters 22, e.g., obtainable from third party vendors, can include such filter functions as special blurs, three-dimensional DVE, etc. Examples of tools that can be implemented as filter functions include: input digitize tool, matte tool, master out tool, paint tool, color corrector, keyer (e.g., chroma and/or luminance key process), motion effects tools (e.g., fast or slow motion), timeline tool (which can do editing (horizontal) and layering (vertical) operations), motion tracking and third party applications.
[0016] Referring to FIG. 2, the compositing system 30, which is implemented by software 18 and computer 12, includes filter registry 30 and filter planner 32. Filter registry 30 includes information on filter operations that can be carried out by the filter functions 34, 36, 38, etc. In particular it includes a filter protocol identifier 40 (which can be a list of protocol identifiers) and operating domain 42 for each filter function. The filter protocol identifier specifies the type of operation, e.g., a blur, rotation, color conversion, etc. Some filter functions can carry out a plurality of operations in sequence, and the filter protocol identifier 40 stored in registry 30 for that filter function would thus include a list of protocol identifiers. The operating domain specifies whether the filter function applies to video, audio, video parameters or audio parameters and also specifies input and output conditions. E.g., the conditions might specify that one filter function blurs YUV 4:2:2, and another blurs 32 RGB, and a third works in hardware but only for blurs less than 5 pixels in diameter. The filter registry 30 is updated at start-up of PC 12 so that it is current with respect to filter functions that may have been added or removed.
[0017] As shown in FIG. 2, filter planner 32 receives filter stack 44, and generates filter plan 46. Filter stack 42 specifies filter operations to be performed on a video clip. The operations are specified by a filter protocol identifier and operating domain. The filter stack 42 is generated on monitor 14 by a user entering the appropriate information at input devices 16 in response to prompts on monitor 14. Filter planner 32 examines the operations specified in the filter stack 42 and determines an appropriate available filter function (e.g., 34, 36, 38) to be used for each filter operation specified in the stack based upon the protocol identifiers 40 and operating domains 42 listed in filter registry 30. The filter plan 46 includes the identification of the selected filter function.
[0018] As shown in FIG. 3, filter stack 42 can specify such operations as rotation 50, blur 52, and composite 54. Filter planner 32 then queries filter registry 30 and creates filter plan 46, which specifies the use of an intrinsic rotation filter function in box 56 to carry out the specified rotation filter operation 50, a software blur filter function in box 58 to carry out the specified blur filter operation 52, and an intrinsic composite filter function in box 60 to carry out the specified composite filter operation 54. Filter plan 46 also specifies a domain conversion after the rotation in box 56, so that the clip can be processed in software in the next operation. Filter plan 46 also specifies a second domain conversion prior to the intrinsic composite in box 60.
[0019] Filter plan 46 is executed by filter executor 62, which then controls rotation filter function 64, blur filter function 66, and composite filter function 68. Filter executor 62 also sets up buffering, data access and routing and domain conversions as necessary prior to, between and after the filtering at filter functions 64, 66, 68.
[0020] The requested operations are specified independently from the implementation of the action, and the operation of filter planner 32 is transparent to the user. E.g., there could be a number of different filter functions that could carry out a specified filter operation in stack 42, and filter planner 32 will select the one that is most appropriate.
[0021] Other embodiments of the invention are within the scope of the appended claims.
Claims
- 1. A system for modifying video comprising
a source of a filter stack specifying filter operations to be carried out on a video clip, a filter registry of filter functions, said registry including information on filter operations that can be carried out by said filter functions, and a filter planner that receives said filter stack and accesses said registry in order to generate a filter plan specifying filter functions to be used in carrying out said filter operations specified in said filter stack.
- 2. The system of claim 1 wherein said system also composites audio associated with said video, and wherein said filter operations include operations to be carried out on an audio segment associated with said video clip.
- 3. The system of claim 2 wherein said filter operations in said filter stack are specified by a filter protocol identifier and operating domain.
- 4. The system of claim 3 wherein said information on said filter functions in said filter registry are specified by a filter protocol identifier and operating domain.
- 5. The system of claim 4 wherein said operating domains include audio and video.
- 6. The system of claim 1 further comprising
a plurality of filter functions capable of carrying out said filter operations on a video clip, a filter executor that receives said filter plan from said filter planner and controls said plurality of filter functions according to said filter plan to carry out said filter operations on said video clip.
- 7. The system of claim 6 further comprising a nonlinear video editor including a storage containing video data, a user interface, a computer processor, and video processing circuitry for randomly accessing video data from said storage to output video clips.
- 8. The system of claim 7 wherein said filter functions include software filters implemented on said computer processor, hardware filters implemented on said video processing circuitry, and external hardware filters connected to computer processor.
- 9. The system of claim 8 wherein some of said operations can be carried out on software filters and on said hardware filters.
- 10. The system of claim 2 wherein said listing of information for a filter function in said registry includes a name and a properties list indicating input and output conditions for said filter function.
- 11. The system of claim 10 wherein said properties list indicates whether the domain for the filter function is video, audio, video parameters or audio parameters.
- 12. The system of claim 1 where said filter operations include, fades, blurs, transitions, dissolves, rotations.
- 13. The system of claim 9 wherein said filter plan includes hardware filters and software filters optimized for the filter operations specified in said filter stack.
- 14. The system of claim 1 said filter planner can be replaced with a different filter planner to achieve a different optimization.