Video editing system, method and user interface

By introducing a synchronization engine to automatically detect and display the common attributes of multi-camera footage, the problem of complex multi-camera footage management in existing technologies is solved, and efficient synchronization and editing of video editing systems are achieved.

CN114450935BActive Publication Date: 2025-12-12BLACKMAGIC DESIGN PTY LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080068037.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-02
Filing Date
2020-08-03
Publication Date
2025-12-12
Estimated Expiration
2040-08-03

AI Technical Summary

Technical Problem

Existing video editing systems lack automated synchronization and management functions when processing multi-camera source material, resulting in complex and inefficient user operations.

Method used

A synchronization engine is introduced to automatically detect common attributes of multi-camera footage, such as timecode, date, and geographic location, display relevant clips through the user interface, and maintain synchronization during the editing process.

Benefits of technology

It enables automatic synchronization and management of footage from multiple cameras, simplifying user operations and improving editing efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114450935B_ABST
    Figure CN114450935B_ABST
Patent Text Reader

Abstract

The invention relates to a video editing system comprising: an import manager for importing media files into the video editing system; a user interface; and a synchronization engine for detecting imported media files having one or more common attributes, and for causing a tag for each detected media file to be displayed in the user interface.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates generally to video editing software applications. The present invention relates particularly, but not exclusively, to video editing systems, methods and user interfaces for managing video files of a single scene that have been recorded from different angles by multiple cameras. BACKGROUND

[0002] Films and / or video productions are typically created on video editing systems by assembling items from a collection of constituent elements. Video editing systems allow these constituent elements, which include video clips, audiovisual clips, audio clips and associated metadata, to be individually imported and edited before being merged into a final production. In some cases, individual video clips originate from recording the same scene from different angles using multiple different cameras.

[0003] Current video editing systems provide functionality for managing such multi-camera source material. For example, the DaVinci Resolve® software of the present applicant allows a user to manually select various clips comprising a multi-camera scene and create a "multi-camera" file from these clips. The DaVinci Resolve® software then allows the user to synchronize the individual clips within the multi-camera file using the audio tracks of each clip during editing operations. The synchronization of the individual clips within the multi-camera file is achieved using the audio tracks of each clip during editing operations.

[0004] It would be advantageous to provide an alternative way of managing multi-camera source material.

[0005] The reference in this specification to any prior publication or patent does not constitute an admission that the prior publication or patent is part of the common general knowledge of the skilled person in any jurisdiction or that the prior publication or patent is relevant to the patentability of the claimed invention in any jurisdiction. SUMMARY

[0006] According to a first aspect of the present invention, there is provided a video editing system comprising:

[0007] an import manager for importing media files into the video editing system; a user interface; and

[0008] a synchronization engine for detecting imported media files having one or more common attributes, and for displaying a marker for each detected media file in the user interface.

[0009] The present invention provides, at least in preferred embodiments, a synchronization engine that is integrated with a video editing system and automatically detects files having common attributes (such as individual files of multi-camera source material) and conveniently displays details thereof in the user interface of the video editing system.​

[0010] The common attribute can be derived from the import file itself or from the metadata of the file. For example, the common attribute can be a timecode that is common to both files. Alternatively, the common attribute can include the time and date of the media files (separately or in combination with the common timecode), or the audio track of the files (either the timecode and the time / date are common). The synchronization engine can be configured to detect additional common attributes. For example, the geographical location can be detected and combined with other detected common attributes such as the timecode and / or the date and time.

[0011] The synchronization engine can also detect non-common attributes of the two files and combine them with the detected common attribute(s) of the file. For example, two files containing video recorded by different cameras (this information is derived from the metadata of the respective files) but having overlapping timecodes and / or date and time can contain multi-camera source material.

[0012] Preferably, the user interface comprises a timeline and a spatially separated media library display area, the markers being displayed in the media library display area. Most preferably, the markers are displayed in the media library display area in a manner that indicates that the markers share a common attribute. According to one embodiment, the markers are distributed vertically in the media library display area to indicate that the detected media files comprise multi-camera media segments.

[0013] Preferably, the synchronization engine is capable of detecting the loading of one of the detected media files in an editing control of the user interface and automatically causing the display in the user interface of markers of other detected media files having a common attribute. In this regard, the editing control can be a timeline.

[0014] Preferably, the synchronization engine is capable of positioning the detected media file in the timeline at the correct position relative to another detected media file already present in the timeline and having a common attribute.

[0015] According to a preferred embodiment, the synchronization engine is continuously executed in the background of the video editing system.

[0016] According to a second aspect of the application, there is provided a method for managing media files in a video editing system, the method comprising the steps of:

[0017] Importing media files into the video editing system;

[0018] Detecting the imported media files having one or more common attributes; and

[0019] Displaying markers of the detected media files in a user interface of the video editing system.

[0020] According to another aspect of the application, there is provided a software product comprising a computer readable medium storing instructions which, when executed by a processor, provide a video editing system according to the first aspect of the application or perform a method according to the second aspect of the application.

[0021] According to another aspect of the application, there is provided a user interface for a video editing system, the user interface comprising:

[0022] an editing control;

[0023] a panel for displaying tags of a plurality of media files imported into the video editing system; and

[0024] a synchronization engine configured to detect loading of one of the media files in the editing control and automatically display in the panel tags of other media files sharing a common attribute with the media file.

[0025] As used herein, the terms "comprises", "comprising", "includes", "including" and the like are not intended to exclude further additives, components, integers or steps. BRIEF DESCRIPTION OF DRAWINGS

[0026] Other aspects and embodiments of aspects described in the preceding paragraphs will become apparent from the following description taken in conjunction with the accompanying drawings, given by way of illustration and not of limitation:

[0027] Figure 1 is a schematic representation of an integrated set of software modules suitable for implementing embodiments of the application;

[0028] Figure 2 is a flowchart of an exemplary algorithm executed by the synchronization engine shown in Figure 1

[0029] Figures 3 to 11 is an exemplary graphical user interface display generated by a video editing system according to an embodiment of the application; and

[0030] Figure 12 is a schematic representation of a hardware environment suitable for implementing a video editing system according to an embodiment of the application. DETAILED DESCRIPTION

[0031] Figure 1 ​A video editing system 100 suitable for implementing embodiments of the present application is illustrated. The video editing system 100 is a software application installed on a computer system (described below) on which an operating system 190 is also installed. The video editing system 100 includes a non-linear editor 120 that provides functionality that allows for non-destructive editing of source material (e.g., video and audio clips) and creation of finished projects therefrom. The non-linear editor 120 utilizes the hardware resources of the computer (including video and graphics resources) as needed to provide the editing and project creation functionality. The hardware resources are typically accessed through appropriate operating system 190 APIs.

[0032] The video editing system 100 includes a graphical user interface 140 that displays user interface controls for workflow such as video editing, color correction, and project creation.

[0033] Source material is imported into the video editing system 100 through an import manager 160. In this regard, the import manager 160 accesses appropriate operating system 190 APIs to scan local and remote file systems for suitable source material to import into the video editing system 100. The import manager 160 also manages any pre-processing (such as transcoding) required of the source material before it can be imported into the video editing system 100. Once imported, the relevant details of the source material (such as file name, directory location, length, hardware details, geographic location, time and date, and codec) are stored in a database 165. The database 165 is also used by the video editing system 100 to store and access details of projects created from the imported source material.

[0034] The video editing system 100 also includes a synchronization engine 180. As described below, the synchronization engine 180 implements a "live" synchronization view that automatically identifies imported media clips that share common attributes with a selected imported clip and displays these clips in the user interface. According to one embodiment, the video editing system automatically creates a folder (or "media library") for the plurality of media clips that share common attributes and displays the media clips in the folder.

[0035] For example, a selected media clip can be in the process of being viewed or edited, in which case the synchronization engine 180 displays all other media clips that share common attributes with the selected media clip. This "live" view of related (i.e., sharing common attributes) media clips can be convenient to display which clips are available at a particular point in time, and for how long these related clips are available. The live view also allows for quick access and editing of related media clips.

[0036] Reference will now be made to Figure 2An exemplary algorithm executed by the synchronization engine 180 to provide real-time synchronized views is described. In the preferred embodiment, the algorithm is executed continuously in the background of the video editing system 100. It is also preferred that the algorithm affects synchronization at the "source level," or in other words, that the algorithm utilizes native file formats passed from the camera without or substantially without manipulation. This can provide more accurate and efficient synchronization, as well as ensure that imported media is synchronized upon first import and thus available to the user when editing is required. Source level synchronization also allows for extensive detected synchronization information to be used in subsequent projects using the same source media.

[0037] The process begins at step 200. In step 210, media files are imported into the video editing system 100. The import manager 160 provides suitable user interface controls for import. For example, the import manager 160 provides controls that allow files to be dragged and dropped from their location in the computer's file system into an instance of a project provided by the video editing system 100. For example, the video editing system 100 can allow a user to create folders (or "libraries") in a directory hierarchy (or "media pool") into which selected media files can be dragged and dropped and thus imported into the video editing system.

[0038] In step 220, the synchronization engine 180 parses the imported media files and their metadata.

[0039] In step 230, the synchronization engine 180 attempts to match the timecode information of the imported media files with the timecodes of other media files previously imported into the video editing system 100. As known to those skilled in the art, timecodes are generated by video cameras contemporaneously with video capture and are used to identify precise locations in captured video. According to SMPTE standards, timecodes are generated as 32-bit numbers, each of which represents hours, minutes, seconds, and frames.

[0040] The identification of a series of common timecode values in two different files, each containing video recorded by a different camera (as is evident from the camera identifier field present in the metadata of the files) indicates that the underlying video of the files is of the same scene, possibly taken from different angles by different cameras.

[0041] In the case where there are no common timecode values between the newly imported files and the previously imported files, the method proceeds to step 270 (see below).

[0042] In the case where the timecodes of the two media files match (which can occur if there are overlapping timecode values), the method proceeds to step 240, in which the synchronization engine 180 attempts to match the date and time information present in the metadata of the imported file with the corresponding metadata of previously imported files. Date and time information is typically included in video files that use the camera's own internal clock. Date and time information is not necessarily as precise as timecode data, and is therefore used as a secondary matching criterion.

[0043] In the case where the time and date metadata can be matched, it is likely that the two files contain multi-camera sources, as there are overlapping timecodes in videos recorded at approximately the same time and date. In this case, a related clip group is created (if necessary) and the newly imported media file is assigned to the group (step 250). A related clip group contains all files that have been detected to share a common attribute, such as a common timecode value and / or date and time. As described below, a related clip group is used to trigger a user interface function that automatically displays all clips in the group in response to user interaction with one of the clips.

[0044] In the case where the time and date metadata cannot be matched, the method proceeds to step 260, in which the synchronization engine performs an audio comparison routine on any audio tracks present in the newly imported file and the audio tracks in previously imported files. In the case where the comparison routine indicates commonality between the two audio files (which reflects the fact that the underlying videos of the files are of the same scene taken by different cameras), then the method returns to step 250, in which the newly imported media file is assigned to the appropriate related clip group.

[0045] Other matching algorithms can be used by the present application. For example, files can be matched using only timecodes or only date / time information. Other algorithms utilize various combinations of matching criteria, such as timecodes and audio, or date / time and audio. Other matching criteria can also be used, such as geographic coordinates or other location information.

[0046] DaVinci Resolve® is an example of a video editing system suitable for implementing embodiments of the present application. Figure 3 An exemplary user interface 140 generated by DaVinci Resolve is illustrated. The interface 140 includes a panel with a media library display area 300 for receiving and displaying imported video clips. Since no clips have been imported to the media library 300, the display area 300 is empty. The interface 140 also includes a timeline display area 310 for receiving and displaying a timeline of video clips. The timeline display area 310 is currently empty, as no clips have been imported to the timeline. Figure 3As shown in the project, the media library display area 300 is empty. Interface 140 also includes a source viewer 310 for viewing selected video clips and a timeline 320, which allows clips to be dragged and dropped from the source viewer 310 to the timeline 320 for editing and project creation.

[0047] Figure 4 The user interface 140 is shown in its state after a series of clips have been imported by placing them in the media library display area 300. In the illustrated embodiment, the synchronization engine 180 has performed real-time synchronization on the imported series of clips using the matching algorithm described above. The user interface 140 also includes a synchronization button 325, which, once activated, starts the synchronization engine 180 to perform synchronization. Activating the synchronization button 325 displays a synchronization control window that allows the user to select various options related to synchronization. For example, through the synchronization window, the user can choose whether to synchronize based on timecode, time and date, audio, or any combination thereof.

[0048] exist Figure 4 In the illustrated implementation, the matching algorithm has determined that the imported clips pertain to a public scene that has been recorded by four different cameras. User interface 140 displays a camera selection window 330 that allows users to select individual cameras.

[0049] Figure 5 It shows the user from Figure 4 The state of user interface 140 after selecting "Camera 1" in the camera selection window shown. In the illustrated embodiment, only one imported video clip was recorded using "Camera 1". This is reflected in the single video clip shown in the media library display area 300. Media clips can be selected to view in the source viewer 310 and dragged and dropped into the timeline 320 for editing.

[0050] Figure 6 The illustration shows a real-time synchronization view provided by this invention. By activating... Figure 6 Select the Sync View button 610, labeled "Sync Bin". Selecting the Sync View button 610 causes the NLE 120 to create a new media library (referred to as the "Sync Library") and render it in the Sync Library display area 620. In the illustrated embodiment, a tag (in thumbnail form) for each segment present in the new media library is displayed in the Sync Library display area.

[0051] Segment tags are displayed in the synchronization library display area 620 in a manner that indicates they are synchronized and therefore share one or more common attributes. In the illustrated embodiment, the tags (determined by a matching algorithm) of segments recorded by four different cameras are displayed in a vertically distributed manner in the synchronization library display area 620.

[0052] In Figure 6 The source viewer 310 includes a separate viewing area for each of the four cameras in the illustrated implementation of the real-time synchronized view.

[0053] The synchronized library display area 620 displays not only the current clip 630 (i.e., the clip that is present in the timeline 320 and the source viewer 310), but also automatically displays any other clips in the related clip group of the current clip 630. As described above, in the illustrated implementation, the related clip group includes recordings of the same scene by different cameras. These related clips are shown in Figure 6 as clips 640 and 650. The clips 630, 640, and 650 are vertically distributed in the synchronized library display area 620 to illustrate their synchronized relationship to each other. As described above, the synchronization engine 180 assigns individual clips to the related clip group when the synchronization engine detects that the clips have a common attribute. Displaying the related clips in the dedicated media library is completely automatic and transparent to the user.

[0054] The related clips 630, 640, 650 are displayed in the synchronized library display area according to the metadata used to detect the common attribute. For example, if the clips are detected as having common timecode values, these common timecode values are used to display the clips in a manner that illustrates the commonality. In Figure 6 In the illustrated implementation, the clip 630 starts first, which indicates that there is a time interval during which camera 1 is the only camera recording the scene. This is reflected in Figure 6 In the illustrated source viewer 310, the source viewer 310 displays only the clip 630, while the other viewing areas are empty.

[0055] At a later point in time, the clips 630 and 640 overlap (e.g., by having common timecodes or common audio tracks), indicating that cameras 1 and 2 are simultaneously and independently recording the same scene. At an even later point in time, all three clips 630, 640, and 650 overlap, indicating that each of camera 1, camera 2, and camera 3 is recording the same scene. This temporal information is displayed by offsetting the start points of clips 640 and 650 relative to clip 630.

[0056] The user can drag and drop a clip (in Figure 6 clip 630) into the timeline 320 for editing and project creation. The NLE 120 uses the detected attribute information (e.g., timecode information, time and date, or audio track) to position the clip in the timeline in the correct temporal location. When multiple clips are dragged and dropped into the timeline 320, the attribute information is also used to maintain the synchronization of the multiple clips.

[0057] Figure 7Figures illustrate that the playhead 710 in the timeline 320 has progressed to a time later than the time shown in the user interface 140. A second playhead 715 is provided in the sync library display area 620, which the user can also manipulate to scroll through the displayed clips. Figure 6 The state of the user interface 140 after the time shown in the timeline 320. A second playhead 715 is provided in the sync library display area 620, which the user can also manipulate to scroll through the displayed clips.

[0058] At the time shown in the timeline 320, the playheads 710 and 715 have progressed to a position where multiple related clips are being played. In particular, at the time position shown in the timeline 320, all four cameras (i.e. camera 1, camera 2, camera 3 and camera 4) are each and simultaneously recording the same scene. This is indicated by the vertical distribution of the clips 630, 640, 650 and 660 in the sync library display area 620. The present application detects this situation and automatically loads all related clips into the related viewing area of the source viewer 310. Figure 7 Figure 7 At the time position shown in the timeline 320, the playheads 710 and 715 have progressed to a position where multiple related clips are being played. In particular, at the time position shown in the timeline 320, all four cameras (i.e. camera 1, camera 2, camera 3 and camera 4) are each and simultaneously recording the same scene. This is indicated by the vertical distribution of the clips 630, 640, 650 and 660 in the sync library display area 620. The present application detects this situation and automatically loads all related clips into the related viewing area of the source viewer 310.

[0059] As shown in the timeline 320, any one of the individual views can be conveniently selected for viewing in the source viewer 310. An audio waveform viewer 690 is provided directly below the source viewer 310. The audio waveform viewer 690 functions as an editing control and allows the user to mark a clip (in this example, clip 660) with, for example, an in-point and an out-point. The in-point and out-point define a portion of the overall clip that can be loaded into the timeline 320 for editing and project creation. As described above, the NLE 120 uses the detected attribute information (e.g. timecode information) to position the clip portion in the correct temporal position in the timeline 320. Figure 8 As described above, once clips are displayed in the sync library display area 620, these clips can be appropriately dragged and dropped into the timeline 320 and edited in the usual manner. This is illustrated in the timeline 320,

[0060] Figure 9 As shown in the timeline 320, any one of the individual views can be conveniently selected for viewing in the source viewer 310. An audio waveform viewer 690 is provided directly below the source viewer 310. The audio waveform viewer 690 functions as an editing control and allows the user to mark a clip (in this example, clip 660) with, for example, an in-point and an out-point. The in-point and out-point define a portion of the overall clip that can be loaded into the timeline 320 for editing and project creation. As described above, the NLE 120 uses the detected attribute information (e.g. timecode information) to position the clip portion in the correct temporal position in the timeline 320. Figure 9 As shown in the timeline 320, any one of the individual views can be conveniently selected for viewing in the source viewer 310. An audio waveform viewer 690 is provided directly below the source viewer 310. The audio waveform viewer 690 functions as an editing control and allows the user to mark a clip (in this example, clip 660) with, for example, an in-point and an out-point. The in-point and out-point define a portion of the overall clip that can be loaded into the timeline 320 for editing and project creation. As described above, the NLE 120 uses the detected attribute information (e.g. timecode information) to position the clip portion in the correct temporal position in the timeline 320.

[0061] Importantly, when the clips are dragged and dropped into the timeline 320, the synchronisation temporal relationship between the clips 910 and 920 (as detected by the matching algorithm) is preserved. This allows seamless execution of the camera cut. In other words, when the project is cut from clip 910 to clip 920 and back to clip 910 (as shown in the timeline 320), the continuity of the overall project is preserved. Figure 9

[0062] ​​​The synchronization engine 180 of the present invention operates seamlessly with other editing features provided by the video editing system 100. This is illustrated in Figure 10 FIG. 16, Figure 10 shows an unrelated clip 950 that has been dragged and dropped into the same track of the timeline 320 occupied by the clip 920. Although the clip 950 is not in the same related clip group as the clip 920, such an editing feature is allowed. At the same time, the temporal relationship between the clips 910 and 920 is preserved in the timeline 320.

[0063] Figure 11 FIG. 17 illustrates the state of the user interface of the video editing system 100 after the playhead 1000 has progressed past the playing clip 920 and has begun playing the clip 950. Figure 10 As described above, the clip 950 is not in the same related clip group 920 because the synchronization engine 180 did not detect any common attributes shared by the clips. However, the clip 950 does share common attributes with other clips that were previously detected by the synchronization engine 180. In this case, the synchronization engine 180 automatically creates a new synchronization library and synchronization library display area 620 and loads clips related to the clip 920 into the newly created library. The newly created synchronization library display area is displayed when the playhead 1000 begins playing the clip 950. These loaded clips can then be appropriately dragged and dropped onto the timeline for editing.

[0064] Figure 12 A block diagram illustrating one example of a computer system 1200 upon which embodiments of the present invention can be implemented is provided. Computer system 1200 includes a bus 1202 or other communication mechanism for communicating information, and a hardware processor 1204 coupled with bus 1002 for processing information. Hardware processor 1204 can be, for example, a general purpose microprocessor, a graphics processing unit, other type of processing unit, or a combination thereof.

[0065] Computer system 1200 also includes a main memory 1206, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 1202 for storing information and instructions to be executed by processor 1004. Main memory 1206 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1204. Such instructions, when stored in non-transitory storage media accessible to processor 1204, render the computer system 1200 into a special-purpose machine that is customized to perform the operations specified in the instructions.

[0066] The computer system 1002 also includes a read only memory (ROM) 1208 or other static storage device coupled to the bus 1202 for storing static information and instructions for the processor 1204. A storage device 1210, such as a magnetic disk or optical disk, is provided and coupled to the bus 1002 for storing information and instructions including the video editing software application described above.

[0067] The computer system 1000 can be coupled via the bus 1002 to a display 1212, such as an LCD, LED, touch screen display, or other display, for displaying information to a computer user, such as the graphical user interfaces described and illustrated above. An input device 1214, including alphanumeric and other keys, can be coupled to the bus 1202 for communicating information and command selections to the processor 1204. Another type of user input device is a cursor control 1216, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 1204 and for controlling cursor movement on the display 1212.

[0068] According to one embodiment, the techniques herein are performed by computer system 1200 in response to processor 1204 executing one or more sequences of one or more instructions contained in main memory 1206. Such instructions can be read into main memory 1206 from another storage medium, such as a remote database, or a floppy disk or CD-ROM. Execution of the sequences of instructions contained in main memory 1206 causes processor 1204 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.

[0069] The term "storage media" or "storage medium" as used herein refers to any non-transitory media that store data and / or instructions that cause a machine to operate in a specific fashion. Such storage media can comprise non-volatile media and / or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1210. Volatile media includes dynamic memory, such as main memory 1206. Common forms of storage media include, for example, a floppy disk, a flexible disk, a hard disk, a solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical and / or material implementation of a program or programs, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.

[0070] Computer system 1200 also includes a communication interface 1216 coupled to bus 1202. Communication interface 1216 provides a two-way data communication coupling to network link 1218 that is connected to a communication network 1220. For example, communication interface 1016 can be an integrated services digital network (ISDN) card, cable modem, satellite modem, etc. As another example, communication interface 1016 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1218 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

[0071] It will be understood that the application disclosed and defined in this specification extends to all alternative combinations of two or more of the various features mentioned or evident from the text or drawings. All of these different combinations constitute various alternative aspects of the application.

Claims

1. A video editing system comprising: an import manager for importing media files into the video editing system; a user interface; a synchronization engine for detecting imported media files having one or more common attributes; and a non-linear editor for non-destructive editing of the media files and creating a project from the edited media files; wherein: the user interface comprises a timeline and a spatially separated media library display area; wherein the synchronization engine is configured to, upon selection of a media file for viewing or editing, display a media library in the media library display area, the media library comprising a marker for each detected media file sharing one or more common attributes with the selected media clip; and the non-linear editor is configured to, in response to a user using the user interface, load at least one detected media file into the timeline and position each media file at a correct temporal position in the timeline relative to another detected media file already present in the timeline and having the common attribute using the common attribute.

2. The video editing system of claim 1, wherein, the one or more common attributes comprise one or more of timecode, time, date and audio waveform.

3. The video editing system of claim 1, wherein, the markers are displayed in the media library display area in a manner indicating that the markers share common attributes.

4. The video editing system of claim 3, wherein, the markers are distributed vertically in the media library display area and wherein the relative temporal position of each media file is indicated by the start point of each marker.

5. The video editing system of claim 1, wherein, the user interface comprises simultaneously displaying a first playhead in the timeline and a second playhead in the media library display area, wherein the first and second playheads can be manipulated by a user to scroll through the displayed media files.

6. The video editing system of any one of the preceding claims, wherein, the synchronization engine is continuously executed in the background of the video editing system.

7. The video editing system of claim 1, wherein the non-linear editor enables a user to load a media file that is not one of the detected media files into a position in the timeline.

8. The video editing system of any one of claims 1 to 7, wherein loading a media file into the timeline is caused by a user dragging and dropping a media file onto the timeline in the user interface.

9. A method for managing media files in a video editing system, the method comprising the steps of: importing media files into the video editing system; detecting imported media files having one or more common attributes; and displaying a user interface of the video editing system, the user interface comprising a media library display area for displaying media files; upon selection of a media file for viewing or editing, displaying a marker for each detected media file sharing one or more common attributes with the selected media file in a media library in the media library display area; and in response to a user loading one of the detected media files into a timeline of the user interface, using the common attribute data of the one of the detected media files to position the one detected media file at a correct temporal position in the timeline relative to another detected media file already present in the timeline and having the common attribute.

10. The method of claim 9, wherein, in response to a playhead in the timeline starting to play a media file in the timeline of the user interface, displaying in the media library display area a tagged media library containing one or more detected media files that share one or more common attributes with the played media file.

11. The method of claim 9 or 10, further comprising: when the timeline includes at least one unrelated media file that does not share the common attribute and the detected media files, preserving a temporal relationship between the detected media files that share one or more common attributes in the timeline.

12. The method of any of claims 9 to 11, further comprising vertically distributing the tags in the media library for the detected media files and displaying the detected media files in a manner that shows commonality of the common attribute.

13. The method of claim 11, wherein a relative temporal position of each media file is indicated by a start point of each tag.

14. The method of any of claims 9 to 13, wherein the method comprises displaying a first playhead in the timeline and a second playhead in the media library display area.

15. The method of any of claims 9 to 13, wherein the one or more common attributes include one or more of a timecode, a time, a date, and an audio waveform.

16. The method of any of claims 9 to 14, wherein media files are loaded into the timeline by a user dragging and dropping the media files onto the timeline in the user interface.

17. A computer readable medium storing instructions that, when executed by a processor, cause a computer to perform the method of claim 9.

Citation Information

Patent Citations

  • Media editing with multi-camera media clips

    US20130121668A1