Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS, APPARATUS AND COMPUTER-READABLE MEDIA FOR CUSTOMIZED MEDIA PRODUCTION AND TEMPLATES THEREFOR
Document Type and Number:
WIPO Patent Application WO/2017/106960
Kind Code:
A1
Abstract:
Media content editing/production application running on a computing device provides a graphical user interface (GUI) for mixing media content. The application allows for a user of the computing device to select a start position within a media track such that upon selection of different such start positions, the media track successively plays in a preview window, each time starting from the most recently selected start position. Once satisfied with the start position, the user may provide a mixing command via the GUI for mixing to a master track. The media track will be mixed to the master track, starting from the most recently selected start position. The master track may be published as an output media file. Multiple media tracks may be mixed and synchronizing. Templates for creating customized, yet uniform media productions are also provided, with different portions of the created media production being assignable to different users.

Inventors:
DIONNE FREDERIC (CA)
Application Number:
PCT/CA2016/050435
Publication Date:
June 29, 2017
Filing Date:
April 14, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MYDUB MEDIA CORP (CA)
International Classes:
G11B27/031; G06F3/0484; H04N21/00
Foreign References:
US7149411B22006-12-12
US20130055082A12013-02-28
Other References:
ADOBE PREMIERE PRO HELP / TRIMMING CLIPS, 23 November 2015 (2015-11-23), Retrieved from the Internet
ADOBE PREMIERE PRO HELP / ADD CLIPS TO SEQUENCES, 10 August 2015 (2015-08-10), Retrieved from the Internet
Attorney, Agent or Firm:
SMART & BIGGAR (CA)
Download PDF:
Claims:
CLAIMS:

1. A computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes:

providing a user of the computing device with an opportunity to select a start position within a media track;

upon successive selection of different start positions within the media track, playing back the media track in a preview window multiple times, each time starting from the most recently selected one of the start positions;

in response to receipt of a mixing command, mixing to a master track the media track starting from the most recently selected start position.

2. The computer-readable medium defined in claim 1, wherein the opportunity is presented via a graphical user interface (GUI) of the computing device.

3. The computer-readable medium defined in claim 1 , wherein the method further comprises providing a user of the computing device with an opportunity to scroll through a visual representation of the media track so as to select the start position within the media track.

4. The computer-readable medium defined in claim 3, wherein the method further comprises displaying a time marker in relative displacement to the visual representation of the media track so as to allow alignment of the time marker with a particular time instant of the media track, the start position of the media track corresponding to said particular time instant.

5. The computer-readable medium defined in claim 4, wherein the visual representation of the media track is presented in a presentation area of a touch-sensitive display.

6. The computer-readable medium defined in claim 5, wherein the method further comprises detecting when the user has ceased scrolling through the visual representation of the media track, thereby to trigger playback of the media track in the preview window.

7. The computer-readable medium defined in claim 6, wherein the method further comprises detecting when the user has requested playback of the media track in the preview window and triggering said playback in response thereto.

8. The computer-readable medium defined in claim 1, wherein the method further comprises detecting the mixing command.

9. The computer-readable medium defined in claim 8, wherein the media track is presented in a presentation area of a touch-sensitive display and wherein detecting the mixing command comprises detecting when a user of the computing device has contacted a designated area of the display.

10. The computer-readable medium defined in claim 8, wherein the media track is presented in a presentation area of a touch-sensitive display and wherein detecting the mixing command comprises detecting when a user of the computing device has ceased to contact a designated area of the display.

11. The computer-readable medium defined in claim 8, wherein the media track is presented in a presentation area of a touch-sensitive display and wherein detecting the mixing command comprises detecting when a user of the computing device has contacted a designated area of the display reserved for inputting the mixing command.

12. The computer-readable medium defined in claim 8, wherein the media track is presented in a presentation area of a touch-sensitive display and wherein detecting the mixing command comprises detecting when a user of the computing device has applied a certain minimum pressure to the display.

13. The computer-readable medium defined in claim 8, wherein the media track is presented in a presentation area of a touch-sensitive display and wherein detecting the mixing command comprises detecting when a user of the computing device has contacted a designated area of the display for a certain minimum amount of time.

14. The computer-readable medium defined in claim 1, wherein mixing to the master track the media track starting from the most recently selected start position comprises creating mixing instructions, the mixing instructions indicating a time interval in the master track defined by a start time and an end time and indicating a portion of the media track that is mapped to the time interval in the master track.

15. A computer-implemented method, comprising:

providing a user of a computing device with an opportunity to select a start position within a media track;

upon successive selection of different start positions within the media track, playing back the media track in a preview window multiple times, each time starting from the most recently selected one of the start positions;

in response to receipt of a mixing command, mixing to a master track the media track starting from the most recently selected start position.

16. A device, comprising:

a GUI through which a media track is presented to a user of the device and through which the user of the device is given an opportunity to select a start position within the media track;

a processor responsive to successive selection of different start positions within the media track to play back the media track in a preview window of the GUI multiple times, each time starting from the most recently selected one of the start positions;

- the processor being further responsive to receipt of a mixing command to mix to a master track the media track starting from the most recently selected start position.

17. A computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes:

presenting a first media track and a second media track;

providing a user of the computing device with an opportunity to successively select different start positions within the first and second media tracks;

in response to successive selection, after selection of a first start position within the first media track, of different start positions within the second media track, playing back simultaneously the first media track together with the second media track in a preview window multiple times, each time the first media track being played back starting from the first start position and the second media track being played back starting from the most recently selected one of the start positions within the second media track.

18. The computer-readable medium defined in claim 17, wherein the first and second tracks are video tracks each including a video portion and an audio portion, and wherein the method further comprises mixing the video portion of one of the first media track and the second media track with the audio portion of the other of the first media track and the second media track during playback in the preview window.

19. The computer-readable medium defined in claim 18, wherein the method further comprises providing the user of the computing device with an opportunity to select whether to mix the audio portion of the first media track with the video portion of the second media track or the audio portion of the second media track with the video portion of the first media track.

20. The computer-readable medium defined in claim 17, wherein playing back the first media track together with the second media track in the preview window comprises simultaneously playing a video portion of the first media track and a video portion of the second media track.

21. The computer-readable medium defined in claim 17, further comprising, in response to receipt of a mixing command, mixing to a master track the first media track starting from the first start position and the second media track starting from the most recently selected one of the second start positions.

22. The computer-readable medium defined in claim 17, wherein the method further comprises providing the user of the computing device with an opportunity to scroll through the first and second media tracks so as to select the start positions within the first and second media tracks.

23. The computer-readable medium defined in claim 22, wherein the first media track is presented in a first presentation area of a display and wherein the second media track is presented in a second presentation area of the display.

24. The computer-readable medium defined in claim 23, wherein the method further includes, in response to the user scrolling through the first media track within the first presentation area, causing display in the first presentation area of a sequence of frames of the first media track, wherein consecutive frames in the sequence are separated by a first interval of time that depends on the user scrolling through the first media track.

25. The computer-readable medium defined in claim 24, wherein the method further includes, in response to the user scrolling through the second media track within the second presentation area, causing display in the second presentation area of a sequence of frames within the second media track, consecutive frames in the second sequence being separated by a second interval of time that depends on the user scrolling through the second media track.

26. The computer-readable medium defined in claim 23, wherein the method further includes receiving from the user an instruction to synchronize the first and second tracks and synchronizing playback of the first and second tracks in response thereto.

27. The computer-readable medium defined in claim 26, the method further including, in response to the user scrolling through the first or second presentation area, causing display in the first and second presentation areas of sequences of frames within the first and second media tracks that move together.

28. The computer-readable medium defined in claim 27, wherein the method further includes:

in response to the user scrolling through the first media track within the first presentation area:

- causing display in the first presentation area of a sequence of frames of the first media track, consecutive frames in the sequence separated by an interval of time that depends on the user scrolling through the first media track; and

- simultaneously causing display in the second presentation area of a sequence of frames of the second media track, consecutive frames in the sequence separated by said interval of time.

29. The computer-readable medium defined in claim 28, wherein the method further includes:

in response to the user scrolling through the second media track within the second presentation area:

- causing display in the first presentation area of a sequence of frames of the first media track, consecutive frames in the sequence separated by an interval of time that depends on the user scrolling through the second media track; and

- simultaneously causing display in the second presentation area of a sequence of frames of the second media track, consecutive frames in the sequence separated by said interval of time.

30. A computer-implemented method, comprising:

presenting a first media track and a second media track;

providing a user of the computing device with an opportunity to successively select different start positions within the first and second media tracks; in response to successive selection, after selection of a first start position within the first media track, of different start positions within the second media track, playing back simultaneously the first media track together with the second media track in a preview window multiple times, each time the first media track being played back starting from the first start position and the second media being played back track starting from the most recently selected one of the start positions within the second media track.

31. A computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes:

presenting a first media track containing audio and video footage of an event and a second media track containing audio and video footage of the same event;

providing a user of the computing device with an opportunity to successively select different start positions within the first and second media tracks;

in response to successive selection, after selection of a first start position within the first media track, of different start positions within the second media track, previewing video from the first media track together with audio from the second media track multiple times, each time the first media track being played starting from the first start position and the second media track being played back starting from the most recently selected one of the start positions within the second media track.

32. The computer-readable medium defined in claim 31, the method further comprising combining the video footage of the first media track with the audio footage of the second media track for playback in the preview window.

33. The computer-readable medium defined in claim 32, the method further comprising mixing the combined audio and video footage to a master track.

34. The computer-readable medium defined in claim 33, wherein the mixing is activated by the user activating an interface control.

35. The computer-readable medium defined in claim 33, wherein mixing the combined audio and video footage to the master track comprises creating mixing instructions, the mixing instructions indicating a time interval in the master track defined by a start time and an end time and indicating a portion of the first media track that is mapped to the time interval in the master track and indicating a portion of the second media track that is mapped to the time interval in the master track.

36. The computer-readable medium defined in claim 35, wherein the mixing instructions further indicate that the portion of the first media track that is mapped to the time interval in the master track includes video and that the portion of the second media track that is mapped to the time interval in the master track includes audio.

37. The computer-readable medium defined in claim 36, wherein the method further comprises causing the interface control to be displayed in association with representation of the second media track.

38. The computer-readable medium defined in claim 37, the method further comprising combining the video footage of the first media track with the audio footage of the first media track for playback in the preview window.

39. A computer- implemented method, comprising:

presenting a first media track containing audio and video footage of an event and a second media track containing audio and video footage of the same event;

providing a user of the computing device with an opportunity to successively select different start positions within the first and second media tracks;

in response to successive selection, after selection of a first start position within the first media track, of different start positions within the second media track, previewing video from the first media track together with audio from the second media track multiple times, each time the first media track being played back starting from the first start position and the second media track being played back starting from the most recently selected one of the start positions within the second media track.

40. A method carried out by a computing device, comprising:

implementing a graphical user interface (GUI) on a display device associated with the computing device, the GUI configured to:

present a plurality of media tracks;

" provide a user of the computing device with an opportunity to manipulate selected ones of the media tracks so as to select start positions therein;

provide the user with an opportunity to submit mixing commands for selected ones of the media tracks;

in response to selection, through manipulation of a particular one of the media tracks via the GUI, of a particular start position within the particular one of the media tracks, playing the particular one of the media tracks in a playback preview window starting from the particular start position;

in response to receipt, via the GUI, of a mixing command for the particular one of the media tracks, mixing to a master track the particular one of the media tracks starting from the start position within the particular one of the media tracks that was most recently selected.

41. A device, comprising:

a GUI configured to

present a plurality of media tracks; provide a user of the computing device with an opportunity to manipulate selected ones of the media tracks so as to select start positions therein;

provide the user with an opportunity to submit mixing commands for selected ones of the media tracks;

a processor responsive to successive selection, through manipulation of a particular one of the media tracks via the GUI, of a particular start position within the particular one of the media tracks, to play the particular one of the media tracks in a playback preview window starting from the particular start position;

the processor being further responsive to receipt, via the GUI, of a mixing command for the particular one of the media tracks, to mix to a master track the particular one of the media tracks starting from the start position within the particular one of the media tracks that was most recently selected.

42. A computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method of creating an output media file for storage in a memory of the computing device, the method comprising: accessing a template in the memory of the computing device; the template comprising mixing instructions and a track status for each of a plurality of tracks;

determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked;

in case the track status for the particular track is indicative of the particular track being unlocked, interacting with a user via a graphical user interface (GUI) of the computing device to provide the user with an opportunity to associate the particular track with user- generated content, otherwise associating the particular track with content accessible based on infonnation already forming part of the template;

mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions.

43. The computer-readable storage medium defined in claim 42, wherein the mixing instructions comprise information which, when interpreted by the computing device, instructs the computer to combine the media tracks into an output media file, the mixing instructions being indicative of the track status of each of the media tracks, wherein the unlocked status of a particular one of the media tracks is indicative that the particular media track is modifiable by a user of the master track; wherein the locked status of a particular one of the media tracks is indicative that the particular track is unmodifiable by the user; the mixing instructions further including infonnation for accessing media content associated with the locked tracks.

44. The computer-readable storage medium defined in claim 42, wherein to provide the user with an opportunity to associate the particular track with user-generated content, the method comprises: presenting via the GUI a set of media files; receiving from the user via the GUI a selection of one of the media files; and associating the particular media track with the selected one of the media files.

45. The computer-readable storage medium defined in claim 42, wherein to provide the user with an opportunity to associate the particular track with user-generated content, the method comprises: presenting via the GUI a media recording function of the computing device; receiving from the user via the GUI an activation of the media recording function; and associating the particular track with media recorded by the user using the media recording function.

46. The computer-readable storage medium storing defined in claim 45, wherein the mixing instructions further comprise guide information to help guide the user in recording the media for the particular track.

47. The computer-readable storage medium storing defined in claim 46, wherein the guide information is video information played back for the user on a screen of the device prior to or during recording of the media by the user.

48. The computer-readable storage medium defined in claim 42, wherein the information already forming part of the template includes a network address at which a media file is accessible, and wherein associating the particular track with content accessible based on information already forming part of the template comprises accessing the network address to retrieve the media file and associating the particular track with the retrieved media file.

49. The computer-readable storage medium defined in claim 42, wherein the information already forming part of the template includes a media file at a certain location within the template, wherein the information already forming part of the template further includes a reference to the certain location within the template, and wherein associating the particular track with content accessible based on information already forming part of the template comprises retrieving the media file from the certain location within the template and associating the particular track with the retrieved media file.

50. The computer-readable storage medium defined in claim 42, wherein the method further comprises exporting the master track to an output media file.

51. The computer-readable storage medium storing defined in claim 50, wherein the template further comprises a synchronization table indicative of how the plurality of tracks, including the particular track, are to be mixed into the master track, the method comprising mixing the plurality of tracks to the master track based on the synchronization table.

52. The computer-readable storage medium storing defined in claim 42, wherein the template is stored in the memory of the computing device as a result of a downloading operation over a network.

53. A computer-implemented method comprising:

accessing a template in the memory of the computing device; the template comprising mixing instructions and a track status for each of a plurality of tracks; determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked;

in case the track status for the particular track is indicative of the particular track being unlocked, interacting with a user via a graphical user interface (GUI) of the computing device to provide the user with an opportunity to associate the particular track with user- generated content, otherwise associating the particular track with content accessible based on information already forming part of the template;

mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions.

54. A device, comprising:

a memory for storing a template, the template comprising mixing instructions and a track status for each of a plurality of tracks;

a processor configured for accessing the template in the memory of the computing device and for determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked; wherein in case the track status for the particular track is indicative of the particular track being unlocked, the processor is configured for interacting with a user via a graphical user interface (GUI) to provide the user with an opportunity to associate the particular track with user-generated content, otherwise the processor is configured for associating the particular track with content accessible based on information already forming part of the template;

the processor being further configured for mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions, the output media file being stored in the memory.

55. Computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises:

creating a template in a memory of the computing device, the template storing information pertaining to a plurality of media tracks, the information including: mixing instructions for combining the media tracks into an output media file, the mixing instructions being indicative of a status of each of the media tracks, wherein a first status of a particular one of the media tracks indicates that the particular media track is modifiable by a future user of the template; wherein a second status of a particular one of the media tracks indicates that the particular track is unmodifiable by the future user of the template.

56. A computer-readable storage medium storing a template comprising information pertaining to a plurality of media tracks, the information including: mixing instructions for combining the media tracks into an output media file, the mixing instructions being indicative of a status of each of the media tracks, wherein a first status of a particular one of the media tracks indicates that the particular media track is modifiable by a future user of the template; wherein a second status of a particular one of the media tracks indicates that the particular track is unmodifiable by the future user of the template.

57. A computer-implemented method comprising:

accessing a template in the memory of the computing device; the template comprising mixing instructions and a track status for each of a plurality of tracks;

- determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked;

in case the track status for the particular track is indicative of the particular track being unlocked, interacting with a user via a graphical user interface (GUI) of the computing device to provide the user with an opportunity to associate the particular track with user- generated content, otherwise associating the particular track with content accessible based on information already forming part of the template;

mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions.

58. The method defined in claim 57, wherein the mixing instructions further include information for accessing media content associated with the media tracks having the second status.

59. The method defined in claim 57, wherein the method further comprises:

obtaining the plurality of media tracks from a memory of the computing device.

60. The method defined in claim 57, wherein the method further comprises:

decomposing an original media file into the plurality of media tracks.

61. The method defined in claim 60, wherein the plurality of media tracks includes at least two video tracks with different start and stop times in the original media file.

62. The method defined in claim 57, the mixing instructions being further indicative of whether modification of a particular one of the media tracks that is modifiable is mandatory.

63. A device, comprising:

- a memory storing a template, the template comprising mixing instructions and a track status for each of a plurality of tracks;

a processor configured for determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked;

a GUI configured for interacting with a user to provide the user with an opportunity to associate the particular track with user-generated content in case the track status for the particular track is indicative of the particular track being unlocked, or otherwise to associate the particular track with content accessible based on information already forming part of the template;

the processor being further configured for mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions.

64. A computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method of creating an output media file for storage in a memory of the computing device, the method comprising: accessing a template in the memory of the computing device; the template comprising (i) mixing instructions for mixing media assets into an output media file and (ii) user instructions;

interacting with a user via a graphical user interface (GUI) of the computing device to cause the computing device to acquire media assets selected by the user in response to conveyance by the computing device of the user instructions;

- mixing at least the acquired media assets to an output media file in accordance with the mixing instructions.

65. The computer-readable storage medium defined in claim 64, wherein mixing at least the acquired media assets to the output media file includes mixing the acquired media assets and at least some other media assets associated with the template into the output media file in accordance with the mixing instructions.

66. The computer-readable storage medium defined in claim 64, wherein the template is associated with a first set of media assets and the mixing instructions define a chronological arrangement of the first set of media assets within the output media file.

67. The computer-readable storage medium defined in claim 66, wherein the template includes pointers pointing to one or more locations where the first set of media assets are accessible.

68. The computer-readable storage medium defined in claim 67, wherein the template further comprises the first set of media assets.

69. The computer-readable storage medium defined in claim 67, wherein the user instructions specify that a first media asset in the first set of media assets is to be replaced in the output media file.

70. The computer-readable storage medium defined in claim 69, wherein the user instructions request from the user a first replacement media asset to replace the first media asset in the eventual output media file.

71. The computer-readable storage medium defined in claim 70, wherein mixing at least the acquired content to the output media file includes mixing the first replacement media asset and the first set of media assets excluding the first media asset into the output media file in accordance with the mixing instructions.

72. The computer-readable storage medium defined in claim 66, wherein the user instructions include one or more steps for replacing one or more of the media assets in the first set of media assets in the eventual output media file.

73. A method for implementation by a computing device, comprising:

accessing a template in a memory of the computing device; the template comprising (i) mixing instructions for mixing media assets into an output media file and (ii) user instructions;

implementing a graphical user interface (GUI) of the computing device and interacting with a user via the GUI to acquire media assets selected by the user in response to conveyance by the computing device of the user instructions;

mixing at least the acquired media assets to an output media file in accordance with the mixing instructions.

74. A device, comprising:

a memory storing a template, the template comprising (i) mixing instructions for mixing media assets into an output media file and (ii) user instructions;

a processor implementing a GUI, the configured for interacting with a user to acquire media assets selected by the user in response to conveyance by the computing device of the user instructions;

the processor being further configured for mixing at least the acquired media assets to an output media file in accordance with the mixing instructions

75. Computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises:

interacting with the user via a graphical user interface (GUI) of the computing device to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user;

creating mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets;

storing the mixing instructions and the user instructions in a memory.

76. The computer-readable storage medium defined in claim 75, wherein the method further comprises interacting with a user via the GUI of the computing device to decompose an acquired media file into the plurality of media assets.

77. The computer-readable storage medium defined in claim 75, wherein the method further comprises interacting with the user via the GUI of the computing device to attribute to at least a second one of the media assets a property of being non-selectable by the end user.

78. A method for implementation by a computing device, comprising:

interacting with the user via a graphical user interface (GUI) of the computing device to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user;

creating mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets;

storing the mixing instructions and the user instructions in a memory.

79. A device, comprising:

a processor implementing a GUI, the configured for interacting with a user to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user;

the processor being further configured for create mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets;

a memory associatively storing the mixing instructions and the user instructions.

80. Computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a template creation module configured for creating a template in a memory of the computing device, the template storing information pertaining to a plurality of media assets, the information including:

a. mixing instructions interpretable by a computing device of an end user to combine the plurality of media assets into an output media file; and

b. for at least one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the at least one of the media assets.

81. Computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises:

interacting with a user via a graphical user interface (GUI) of the computing device to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file;

interacting with the user via the GUI of the computing device to attribute to at least a first one of the media assets a property of being selectable by an end user;

creating for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets.

82. The computer-readable storage medium defined in claim 81, wherein the plurality of media assets are acquired from a media file specifying the plurality of media assets and the mixing instructions.

83. The computer-readable storage medium defined in claim 81, wherein the plurality of media assets are acquired from a media file by decomposing an acquired media file into a plurality of media assets, wherein the mixing instructions are created based on the decomposition of the acquired media filed.

84. The computer-readable storage medium defined in claim 81, wherein the method further comprises interacting with the user via the GUI of the computing device to attribute to the at least the first one of the media assets the property of being mandatory for replacement by the end user.

85. A method for implementation by a computing device, comprising:

interacting with the user via a graphical user interface (GUI) of the computing device to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file;

interacting with the user via the GUI of the computing device to attribute to at least a first one of the media assets a property of being selectable by an end user;

creating for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets.

86. A device, comprising:

an input/output device;

a processor implementing a GUI via the input/output device, the GUI configured for interacting with a user to attribute to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file;

the processor being further configured to interact with the user via the GUI to attribute to at least a first one of the media assets a property of being selectable by an end user; the processor being further configured to create for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets.

87. A computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method, the method comprising:

providing a master user with a graphical user interface (GUI) for creating a template in the memory of the computing device, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track; modifying the template in the memory of the computing device to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user;

causing transmission of the template to the at least one participating user over a network; monitoring progress of replacement of the certain ones of the media assets by processing messages received over the network from the at least one participating user and reporting said progress to the master user.

88. The computer-readable storage medium defined in claim 87, wherein for the certain ones of the media assets designated as being replaceable by at least one participating user other than the master user, the method further comprises enabling modification of at least one attribute of the media asset by the at least one participating user.

89. The computer-readable storage medium defined in claim 88, wherein for an audio asset, the at least one attribute comprises at least one of volume adjustment, fade in and fade out.

90. The computer-readable storage medium defined in claim 89, wherein for a video asset, the at least one attribute comprises at least one of volume adjustment, fade in, fade out, slow motion, fast motion and color filtering.

91. The computer-readable storage medium defined in claim 90, wherein for an image asset, the at least one attribute comprises at least one of position, transparency, filtering and background color.

92. The computer-readable storage medium defined in claim 91, wherein for a text asset, the at least one attribute comprises at least one of position, size, color, font and background color.

93. A method for implementation by a computing device, comprising:

providing a master user with a graphical user interface (GUI) for creating a template in the memory of the computing device, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track; modifying the template in the memory of the computing device to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user; causing transmission of the template to the at least one participating user over a network; monitoring progress of replacement of the certain ones of the media assets by processing messages received over the network from the at least one participating user and reporting said progress to the master user.

94. A device, comprising:

an input/output device;

a memory;

a network interface;

a processor implementing a GUI via the input/output device, the GUI configured for interacting with a master user to create a template in the memory, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track;

the processor further configured for modifying the template to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user;

the processor further configured for causing transmission of the template to the at least one participating user via the network interface;

the processor further configured for monitoring progress of replacement of the certain ones of the media assets by processing messages received from the at least one participating user via the network interface and reporting said progress to the master user.

95. A computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises:

receiving a template over a network from a master user, for storage in the memory of the computing device, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by a participating user other than a master user;

in case a user of the computing device corresponds to the participating user, implementing a graphical user interface (GUI) providing the user of the computing device with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the user of the computing device.

96. The computer-readable storage medium defined in claim 95, the method further comprising mixing the plurality of media assets, including the media asset specified by the user of the computing device, to a master track .

97. The computer-readable storage medium defined in claim 95, the method further comprising monitoring progress of replacement of the certain ones of the media assets by the at least one participating user and reporting said progress to the master user.

98. The computer-readable storage medium defined in claim 95, the method further comprising recording a video with a camera of the computing device, the media asset specified by the user of the computing device corresponding to said captured video.

99. The computer-readable storage medium defined in claim 95, wherein multiple ones of the media tracks correspond to different views of a common product or property.

100. The computer-readable storage medium defined in claim 95, wherein multiple ones of the multiple media tracks correspond to different videos of a common event.

101. A method for implementation by a computing device, comprising:

receiving a template over a network from a master user, for storage in the memory of the computing device, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by a participating user other than a master user;

in case a user of the computing device corresponds to the participating user, implementing a graphical user interface (GUI) providing the user of the computing device with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the user of the computing device.

102. A mobile telecommunication device associated with a participating user other than a master user, comprising:

a touchscreen;

a memory;

a network interface receiving a template over a network from the master user, for storage in the memory, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by the participating user;

a processor implementing a GUI via the touchscreen to provide the participating user with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the participating user

103. The mobile telecommunication device defined in claim base, further comprising a camera for recording a video, the processor being configured to designate the captured video as the media asset specified by the user of the computing device.

Description:
METHODS, APPARATUS AND COMPUTER-READABLE MEDIA FOR CUSTOMIZED MEDIA PRODUCTION AND TEMPLATES THEREFOR

FIELD OF THE INVENTION

The invention generally relates to media content editing applications and more particularly to methods and apparatus for mixing media tracks.

BACKGROUND

Media content editing applications provide graphical user interfaces (GUIs) for editing of media such as video, audio and text. In particular, these applications give users the ability to edit, combine, transition, overlay and piece together different media content in variety of manners as part of a media project. The media project specifies a particular composition of any number of media content to create a resulting media presentation, such as a video or short film.

Examples of existing media content editing applications include Final Cut Pro™ and iMovie™ both available from Apple Inc., Adobe Premiere Pro™ available from Adobe Systems Inc., and Windows Movie Maker™ by Microsoft Corp. These aforementioned media content editing applications provide users with GUIs having various features for creating media projects and presentations, such as cutting segments of video clips, re-arranging and combining segments of multiple video clips, and modifying the content by adding content including audio tracks, voice overs, titles, and transitions between frames.

However, when creating media projects and presentations, inexperienced users may find existing GUIs complicated, cumbersome and very time consuming to use. In light of the above, there is a need for improving the way multiple media tracks are edited.

SUMMARY

Broadly described herein, according to a non-limiting embodiment, is a media content editing/production application running on a computing device, which provides a graphical user interface (GUI) for mixing media content. The application allows for a user of the computing device to select a start position within a media track such that upon selection of different such start positions, the media track successively plays in a preview window, each time starting from the most recently selected start position. Once satisfied with the start position, the user may provide a mixing command via the GUI for mixing to a master track. The media track will be mixed to the master track, starting from the most recently selected start position. The master track may be published as an output media file. Multiple media tracks may be mixed and synchronizing. Templates for creating customized, yet uniform media productions are also provided, with different portions of the created media production being assignable to different users.

Accordingly, a first broad aspect of the present invention seeks to provide a computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes: providing a user of the computing device with an opportunity to select a start position within a media track; upon selection of different start positions within the media track, successively playing back the media track in a preview window, each time starting from the most recently selected one of the start positions; and in response to receipt of a mixing command, mixing to a master track the media track starting from the most recently selected start position.

A second broad aspect of the present invention seeks to provide a computer-implemented method, comprising: providing a user of a computing device with an opportunity to select a start position within a media track; upon selection of different start positions within the media track, successively playing back the media track in a preview window, each time starting from the most recently selected one of the start positions; and in response to receipt of a mixing command, mixing to a master track the media track starting from the most recently selected start position. A third broad aspect of the present invention seeks to provide a device, comprising: a GUI through which a media track is presented to a user of the device and through which the user of the device selects a start position within the media track; a processor responsive to selection of different start positions within the media track to successively play back the media track in a preview window of the GUI, each time starting from the most recently selected one of the start positions; and the processor being further responsive to receipt of a mixing command to mix to a master track the media track starting from the most recently selected start position.

A fourth broad aspect of the present invention seeks to provide a computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes: presenting a first media track and a second media track; providing a user of the computing device with an opportunity to select start positions within the first and second media tracks; and in response to selection, after selection of a first start position within the first media track, of different start positions within the second media track, successively playing back simultaneously the first media track together with the second media track in a preview window, each time the first media track starting from the first start position and the second media track starting from the most recently selected one of the start positions within the second media track.

A fifth broad aspect of the present invention seeks to provide a computer-implemented method, comprising: presenting a first media track and a second media track; providing a user of the computing device with an opportunity to select start positions within the first and second media tracks; and in response to selection, after selection of a first start position within the first media track, of different start positions within the second media track, successively playing back simultaneously the first media track together with the second media track in a preview window, each time the first media track starting from the first start position and the second media track starting from the most recently selected one of the start positions within the second media track.

A sixth broad aspect of the present invention seeks to provide a computer-readable medium comprising computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to carry out a method that includes: presenting a representation of a first media track containing audio and video footage of an event and a representation of a second media track containing audio and video footage of the same event; providing a user of the computing device with an opportunity to select start positions within the first and second media tracks; and in response to selection, after selection of a first start position within the first media track, of different start positions within the second media track, successively playing back simultaneously video from the first media track together with audio from the second media track in a preview window, each time the first media track starting from the first start position and the second media track starting from the most recently selected one of the start positions within the second media track.

A seventh broad aspect of the present invention seeks to provide a computer-implemented method, comprising: presenting a representation of a first media track containing audio and video footage of an event and a representation of a second media track containing audio and video footage of the same event; providing a user of the computing device with an opportunity to select start positions within the first and second media tracks; and in response to selection, after selection of a first start position within the first media track, of different start positions within the second media track, successively playing back simultaneously video from the first media track together with audio from the second media track in a preview window, each time the first media track starting from the first start position and the second media track starting from the most recently selected one of the start positions within the second media track. An eighth broad aspect of the present invention seeks to provide a method carried out by a computing device, comprising: implementing a graphical user interface (GUI) on a display device associated with the computing device, the GUI configured to present a plurality of media tracks, provide a user of the computing device with an opportunity to manipulate selected ones of the media tracks so as to select start positions therein, and provide the user with an opportunity to submit mixing commands for selected ones of the media tracks; in response to selection, through manipulation of a particular one of the media tracks via the GUI, of a particular start position within the particular one of the media tracks, playing the particular one of the media tracks in a playback preview window starting from the particular start position; and in response to receipt, via the GUI, of a mixing command for the particular one of the media tracks, mixing to a master track the particular one of the media tracks starting from the most recently selected start position within the particular one of the media tracks. A ninth broad aspect of the present invention seeks to provide a computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method of creating an output media file for storage in a memory of the computing device, the method comprising: accessing a template in the memory of the computing device; the template comprising mixing instructions and a track status for each of a plurality of tracks; determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked; in case the track status for the particular track is indicative of the particular track being unlocked, interacting with a user via a graphical user interface (GUI) of the computing device to provide the user with an opportunity to associate the particular track with user-generated content, otherwise associating the particular track with content accessible based on information already forming part of the template; and mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions.

A tenth broad aspect of the present invention seeks to provide a computer-implemented method comprising: accessing a template in the memory of the computing device; the template comprising mixing instructions and a track status for each of a plurality of tracks; determining whether the track status for a particular one of the tracks is indicative of the particular track being locked or unlocked; in case the track status for the particular track is indicative of the particular track being unlocked, interacting with a user via a graphical user interface (GUI) of the computing device to provide the user with an opportunity to associate the particular track with user-generated content, otherwise associating the particular track with content accessible based on information already forming part of the template; and mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions. An eleventh broad aspect of the present invention seeks to provide a computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises: creating a template in a memory of the computing device, the template storing information pertaining to a plurality of media tracks, the information including: mixing instructions for combining the media tracks into an output media file, the mixing instructions being indicative of a locked / unlocked status of each of the media tracks, wherein the unlocked status of a particular one of the media tracks is indicative that the particular media track is unlocked and modifiable by a user of the template; wherein the locked status of a particular one of the media tracks is indicative that the particular track is locked and unmodifiable by the user.

A twelfth broad aspect of the present invention seeks to provide a method for implementation by a computing device, comprising: accessing a template in a memory of the computing device; the template comprising (i) mixing instructions for mixing media assets into an output media file and (ii) user instructions; implementing a graphical user interface (GUI) of the computing device and interacting with a user via the GUI to acquire media assets selected by the user in response to conveyance by the computing device of the user instructions; mixing at least the acquired media assets to an output media file in accordance with the mixing instructions.

A thirteenth broad aspect of the present invention seeks to provide a device, comprising: a memory storing a template, the template comprising (i) mixing instructions for mixing media assets into an output media file and (ii) user instructions; a processor implementing a GUI, the configured for interacting with a user to acquire media assets selected by the user in response to conveyance by the computing device of the user instructions; the processor being further configured for mixing at least the acquired media assets to an output media file in accordance with the mixing instructions.

A fourteenth broad aspect of the present invention seeks to provide computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises: interacting with the user via a graphical user interface (GUI) of the computing device to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user; creating mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets; storing the mixing instructions and the user instructions in a memory. A fifteenth broad aspect of the present invention seeks to provide a method for implementation by a computing device, comprising: interacting with the user via a graphical user interface (GUI) of the computing device to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user; creating mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets; storing the mixing instructions and the user instructions in a memory. A sixteenth broad aspect of the present invention seeks to provide a device, comprising: a processor implementing a GUI, the configured for interacting with a user to attribute to at least a first one of a plurality of media assets a property of being selectable by an end user; the processor being further configured for create mixing instructions interpretable by a computing device of the end user to combine the plurality of media assets into an output media file and, for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets; a memory associatively storing the mixing instructions and the user instructions.

A seventeenth broad aspect of the present invention seeks to provide computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a template creation module configured for creating a template in a memory of the computing device, the template storing information pertaining to a plurality of media assets, the information including: mixing instructions interpretable by a computing device of an end user to combine the plurality of media assets into an output media file; and for at least one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the at least one of the media assets.

An eighteenth broad aspect of the present invention seeks to provide computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises: interacting with a user via a graphical user interface (GUI) of the computing device to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file; interacting with the user via the GUI of the computing device to attribute to at least a first one of the media assets a property of being selectable by an end user; creating for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets. A nineteenth broad aspect of the present invention seeks to provide a method for implementation by a computing device, comprising: interacting with the user via a graphical user interface (GUI) of the computing device to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file; interacting with the user via the GUI of the computing device to attribute to at least a first one of the media assets a property of being selectable by an end user; creating for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets.

A twentieth broad aspect of the present invention seeks to provide a device, comprising: an input/output device; a processor implementing a GUI via the input/output device, the GUI configured for interacting with a user to attribute to acquire a plurality of media assets having mixing instructions associated therewith, the mixing instructions for arranging the plurality of media assets into an eventual output media file; the processor being further configured to interact with the user via the GUI to attribute to at least a first one of the media assets a property of being selectable by an end user; the processor being further configured to create for at least the first one of the media assets, user instructions for conveyance by the computing device of the end user to elicit from the end user a selection of media content as the first one of the media assets.

A twenty-first broad aspect of the present invention seeks to provide a computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method, the method comprising: providing a master user with a graphical user interface (GUI) for creating a template in the memory of the computing device, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track; modifying the template in the memory of the computing device to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user; causing transmission of the template to the at least one participating user over a network; monitoring progress of replacement of the certain ones of the media assets by processing messages received over the network from the at least one participating user and reporting said progress to the master user.

A twenty-second broad aspect of the present invention seeks to provide a method for implementation by a computing device, comprising: providing a master user with a graphical user interface (GUI) for creating a template in the memory of the computing device, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track; modifying the template in the memory of the computing device to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user; causing transmission of the template to the at least one participating user over a network; monitoring progress of replacement of the certain ones of the media assets by processing messages received over the network from the at least one participating user and reporting said progress to the master user.

A twenty-third broad aspect of the present invention seeks to provide a device, comprising: an input/output device; a memory; a network interface; a processor implementing a GUI via the input/output device, the GUI configured for interacting with a master user to create a template in the memory, the template associated with a plurality of media assets and mixing instructions for combining the media assets to a master track; the processor further configured for modifying the template to designate certain ones of the media assets as being replaceable by at least one participating user other than the master user; the processor further configured for causing transmission of the template to the at least one participating user via the network interface; the processor further configured for monitoring progress of replacement of the certain ones of the media assets by processing messages received from the at least one participating user via the network interface and reporting said progress to the master user.

A twenty-fourth broad aspect of the present invention seeks to provide a computer-readable storage medium storing computer-readable instructions which, when executed by a computing device, cause the computing device to implement a method that comprises: receiving a template over a network from a master user, for storage in the memory of the computing device, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by a participating user other than a master user; in case a user of the computing device corresponds to the participating user, implementing a graphical user interface (GUI) providing the user of the computing device with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the user of the computing device.

A twenty-fifth broad aspect of the present invention seeks to provide a method for implementation by a computing device, comprising: receiving a template over a network from a master user, for storage in the memory of the computing device, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by a participating user other than a master user; in case a user of the computing device corresponds to the participating user, implementing a graphical user interface (GUI) providing the user of the computing device with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the user of the computing device. A twenty-sixth broad aspect of the present invention seeks to provide a mobile telecommunication device associated with a participating user other than a master user, comprising: a touchscreen; a memory; a network interface receiving a template over a network from the master user, for storage in the memory, the template associated with a plurality of media assets and including mixing instructions for combining the media assets to a master track, at least one particular one of the media assets being designated as replaceable by the participating user; a processor implementing a GUI via the touchscreen to provide the participating user with an opportunity to replace the at least one particular one of the media assets with a media asset specified by the participating user.

These and other aspects of the invention will now become apparent to those of ordinary skill in the art upon review of the following description of embodiments of the invention in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description of embodiments of the invention is provided below, by way of example only, with reference to the accompanying drawings, in which: Figure 1 shows a block diagram of a computing device for creating a master track from media content in accordance with an embodiment of the invention;

Figure 2A shows a block diagram of the computing device of Figure 1 in accordance with a specific and non-limiting example of implementation;

Figure 2B shows a block diagram of a variant of the computing device of Figure 1 in accordance with a specific and non-limiting example of implementation;

Figure 2C shows a block diagram of the computing device of Figure 1 in accordance with a specific and non-limiting example of implementation;

Figures 3A to 3F show screen layouts of a graphical user interface in accordance with specific and non-limiting examples of implementation; Figure 4 shows a flowchart for creating an output media file in accordance with an embodiment of the invention; Figures 5A and 5B show illustrations of media tracks in accordance with specific and non-limiting examples of implementation;

Figure 6 shows an illustration of a master track in accordance with an embodiment of the invention;

Figure 7 shows a flowchart pertaining to mixing a media track to create a master track in accordance with an embodiment of the invention;

Figure 8 shows a flowchart pertaining to mixing media tracks to create a master track in accordance with an embodiment of the invention;

Figures 9A to 9D show screen layouts of a graphical user interface in accordance with specific and non-limiting examples of implementation; Figure 10 shows a flowchart pertaining to mixing media tracks to create a master track in accordance with an embodiment of the invention;

Figures 11 A to 1 IF show screen layouts of a graphical user interface in accordance with specific and non-limiting examples of implementation;

Figure 12 shows an illustration of a draft of a media track in accordance with an embodiment of the invention;

Figures 13A to 13F are illustrations of a template in accordance with embodiments of the invention;

Figures 14A to 14F show screen layouts of a graphical user interface on a computing device associated with the end user using a template in accordance with specific and non-limiting examples of implementation; Figure 15 illustrates a flowchart pertaining to using a template in accordance with an embodiment of the invention;

Figures 16A to 16H show screen layouts of a graphical user interface on a computing device for creating a template in accordance with specific and non-limiting examples of implementation;

Figure 17 illustrates a flowchart pertaining to creating a template in accordance with an embodiment of the invention; Figure 18 shows a server storing a template accessible by a plurality of computing devices in accordance with an embodiment of the invention; Figure 19 shows an illustration of a template in accordance with an embodiment of the invention;

Figures 20A and 20F show screen layouts of a graphical user interface in accordance with specific and non-limiting examples of implementation; Figure 21 shows a flowchart pertaining to mixing media content to a template in accordance with an embodiment of the invention;

Figure 22 shows a flowchart pertaining to creating a template in accordance with an embodiment of the invention;

Figures 23A and 23B show screen layouts of a graphical user interface in accordance with a specific and non-limiting example of implementation; and

Figures 23C and 23D show screen layouts of a graphical user interface in accordance with another specific and non-limiting example of implementation.

It is to be expressly understood that the description and drawings are only for the purpose of illustrating certain embodiments of the invention and are an aid for understanding. They are not intended to be a definition of the limits of the invention.

DETAILED DESCRIPTION

Figure 1 shows a computing device 100A for creating a master track 150 from media content files 105 1 ,2, N in accordance with a specific and non-limiting example of implementation. The computing device 100A includes a display device 135 for providing a graphical user interface (GUI) 130. The GUI 130 allows for a user at the computing device 100A to interact with the computing device 100A. Application software 118 (or "app") associated with the computing device 100 A conditions the GUI 130 to implement a "mixing workspace". Each of the media content files 105i,2, N may be a computer-readable file that specifies media content such as video, audio, pictures/images, text and/or any other suitable content. For example, each of the media content files 105i,2, . N may be an MP4 file or any other suitable media content file format. The user interacting through the mixing workspace implemented by the GUI 130 as conditioned by the application software 118 may be able to select portions of the media content of one or more of the media content files 105^2, . N to create the master track 150. The master track 150 may be a computer-readable file that specifies selected portions of the media content of one or more of the media content files 105 Ij2, . N- Once satisfied with the master track 150, the user may then export the master track 150 to an output media file 152 for storage on the computing device 100A, storage on a remote server accessible over the Internet 104, or for sharing over the Internet 104 such as on social media platforms. The master track 150 and output media file 152 embody the created media production.

The computing device

Figure 2A shows a block diagram of the computing device 100A of Figure 1 in accordance with a specific and non-limiting example of implementation. The computing device 100 A may be any portable computing device such as a mobile phone, smartphone, tablet, portable computer (e.g., laptop) and/or any other suitable computing device. As shown, the computing device 100A includes a processor 1 12, computer readable memory 1 14, a display device 135 and input/output circuitry 120. The processor 1 12, the computer readable memory 114, the display device 135 and the input/output circuitry 120 may communicate with each other via one or more suitable data communication buses. The computer readable memory 1 14 may be any type of non-volatile memory (e.g., flash memory, read-only memory (ROM), magnetic computer storage devices or any other suitable type of memory) or semi-permanent memory (e.g., random access memory (RAM) or any other suitable type of memory). Although only a single computer memory 1 14 is illustrated, the electronic device 100A may have more than one computer readable memory module. The computer readable memory 1 14 stores program code and/or instructions which may be executed by the processor 112. The program code and/or instructions executable by the processor 1 12 include the application software 1 18. The computer readable memory 1 12 also include at least one database 1 16 for the storage of data including the media content files N- The processor 112 may be implemented using any suitable hardware component for implementing a central processing unit (CPU) including a microcontroller, field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), digital signal processor (DSP), an integrated circuit (IC) or any other suitable device. The processor 1 12 is in communication with the computer readable memory 114, such that the processor 1 12 is configured to read data obtained from the computer readable memory 114 such as the media content files 105^2, N stored in the database 1 16 and execute instructions stored in the computer readable memory 1 14 such as defined by the application software 1 18. More specifically, the processor 112 executes instructions stored in the computer readable memory 114 to implement application software 118 which conditions the GUI 130 on the display device 135 to implement the aforementioned mixing workspace. The computer readable memory 1 14 may also store the master track 150 and/or information associated with the master track 150, such as information pertaining to the arrangement of the media content of the master track 150 (e.g., mixing instructions). Although only a single processor 112 is illustrated, it is appreciated that more than one processor may be used.

The display device 135 is any suitable graphical display for providing media content to the user. In particular, the display device 135 renders the GUI 130 visible to the user. In other words, during operation of the computing device 100 A, the user of the computing device 100 A is provided with the GUI 130 via the display device 135. The display device 135 may be a liquid-crystal display (LCD), twisted-nematic (TN) LCD, in-plane switching (IPS) LCD, thin film transistor technology (TFT) LCD, organic light emitting diode (OLED), Active-Matrix Organic Light-Emitting Diode (AMOLED), super AMOLED, Retina® display, haptic or tactile touchscreen, resistive or capacitive touchscreen, or any other suitable display. The display device 135 may be integrated into the computing device 100A such as in the cases where the computing device 100A is a phone or tablet. The display device 135 may include touch sensors such that the display device 135 includes a touchscreen (e.g., the screen of display device 135 may be touch-sensitive). The touchscreen may be designed for use with bare fingers of the user, may provide for use with multiple fingers for multi- touch sensing, pressure sensing, and/or use with a stylus, mouse and/or keyboard. The touchscreen may be designed for detecting when a user of the computing device has applied a certain minimum pressure to the display device 135 (and/or for a certain minimum amount of time), which may be used to determine the difference between a tap and a push on the touchscreen. The computing device 100 A also runs an operating system stored in the computer readable memory 1 14 such as Android, iOS, Windows 7, Windows 8, Linux and Unix operating systems, to name a few non-limiting possibilities. The processor 1 12 may execute instructions stored in the computer readable memory 1 14 to run the operating system such that the application software 118 can then be executed and runs upon request by the user. It is appreciated that the application software 1 18 may be adapted to run on operating systems that may be developed in the future. The application software 118 may be downloaded to the computing device 100A from an online-accessible repository such as iTunes™ or Google Play™, to name a few non-limiting possibilities.

The computing device 100A may include other components not shown in the block diagram of Figure 2 such as a camera, microphone, speaker(s), communication circuitry, external display interface, sensor(s), and/or any other suitable components. A network interface (including hardware and/or software and/or firmware) may also be provided to allow connection to a network, such as over a wireless (e.g., WiFi, cellular) or wired (e.g., Ethernet) connection, which may involve a stack of multiple connections at various levels or using various protocols. These aforementioned other components of the computing device 100A may be included as part of the input/output circuitry 120. The processor 112 may execute instructions stored in the computer readable memory 114 to control these aforementioned other components of the computing device 100A.

Figure 2B shows a block diagram of a computing device 100B in accordance with a specific and non-limiting example of implementation. The computing device 100B in Figure 2B is a variant of the computing device 100 A shown in Figure 2A, where in this example, the computing device 100B does not include the display device 135 integrated therein. Rather, an external display 135' such as a television screen, monitor or any other suitable display device may be connected to the computing device 100B via the input/output circuitry 120. Such examples of implementation include where the computing device 100B is an Apple TV™ viewing device commercially available from Apple Inc. or any other suitable computing device that has an externally connected display screen. In such cases, the display device 135' may or may not be a touchscreen and, in any event, other means may be used to interface with the GUI 130 such as a mouse, keyboard, remote control (e.g., Apple TV™ remote commercially available from Apple Inc.) and/or any other suitable device. As such, an optional remote control 185 is shown in Figure 2B, having a plurality of buttons 186 for sending control signals to the computing device 100B via the input/output circuitry 120.

For ease of readability of the rest of this document, unless specified otherwise, any display device referred to by the reference number 135 is to be understood to be a display device that is associated with the computing device 100A or 100B regardless of whether it be integrated with the computing device 100A or external and connected to the computing device 100B.

Figure 2C shows a block diagram of the computing device 100A of Figure 1 in accordance with a specific and non-limiting example of implementation. In this example, the computing device 100 A may access the Internet 104 via an Internet connection 103 to access media content files 105 Ί,2, M stored in one or more databases in one or more remote servers on the Internet 104. The media content files 105'i i2, M are similar to the media content files 105i j2 , N in that they may be computer-readable files that specify media content such as video, audio, picture, text and/or any other suitable content.

For ease of readability of the rest of this document, media content files referred to by the reference number 1051,2, N are to be understood to be media content files that are accessible by the computing device 100A or 100B regardless of whether they be media content files 105i, 2j N stored locally in the database 116 or media content files 105' ]i2; M stored remotely in one or more databases in one or more remote servers on the Internet 104. Specific examples will now be given in relation to the computing device 100 A; however, it is appreciated that such examples may be implemented on the computing device 100B. Example GUI

The GUI 130 implements the mixing workspace, which is now described in greater detail. Figures 3A to 3F show respective screen layouts 300A to 300F of the mixing workspace implemented by the GUI 130, in accordance with specific and non-limiting examples of implementation. The GUI 130 provided on the display device 135 may be implemented and conditioned in various ways by the application software 118 to produce a mixing workspace with screen layouts such as those shown in Figures 3A to 3F, after instantiation of the application software 118 and depending on the user's interaction with the GUI 130. Prior to instantiation of the application software 118 (and therefore prior to the appearance of the mixing workspace), the GUI 130 may provide a means for instantiating the application software 118. For example, in such preliminary phase of operation, the operating system of the computer device 100A may cause the GUI 130 to provide icons corresponding to applications that the computing device 100 A may be able to instantiate when the icon is selected by the user. More specifically, the GUI 130 may provide an icon corresponding to the application software 118 and once the icon corresponding to the application software 118 is selected by the user, the application software 118 is instantiated.

The mixing workspace may cause the appearance of screen layouts 300A to 300F, and in particular, are specific and non-limiting examples of a possible conditioning of the GUI 130 by the application software 118. The screen layouts 300A to 300F illustrate the mixing workspace at various points in time as the user interacts with the GUI 130. As shown, the screen layouts 300 A to 300F illustrate examples of a playback preview window 302, a presentation area 308 for presenting one or more media tracks 304i 2, (only seen in screen layouts 300B to 300F) and a start position time marker 356. One or more interface controls 312^2, . .κ (as shown in the screen layout 300A) for loading media tracks 304^2. κ to be displayed (as shown in the screen layouts 300B to 300F) in the mixing workspace are provided. Upon selecting of the media tracks 304^2 K for loading into the mixing workspace, the selected media tracks 304^ . κ may be displayed in a time-linear fashion in the presentation area 308, such as shown in screen layouts 300B to 300F. More specifically, the presentation area 308 may have one or more track presentation areas 308ι Ι 2,. .. κ for displaying respective ones of the added media tracks κ·

Each of the media tracks 304^2 K that is loaded into the mixing workspace corresponds to the media content of respective one or more of the media content files 1051 ;2 , N (the process of creating the media tracks 304ι ,2 κ is discussed elsewhere in this document). In other words, each of the media tracks 304 ] >2 κ may contain media content from one or more media content files 105 ];2, N- The time- linear display of each of the media tracks 304]^ K . may depend on the type of media content to which that media track correspond. For example, if a particular one of the media tracks 304ι 2, κ includes a video track it may be displayed as film roll showing different reference frames throughout the video and if the particular one of the media tracks 304 ] ι2, κ is an audio track it may be displayed as a signal amplitude versus time. In the example illustrated in Figure 3F, the media track 304 2 is an audio track and as such it is displayed as signal amplitude versus time. Similarly, illustrated in Figure 3F, as the media track 304i is a video track (that may also include an audio track) it is displayed as film roll showing different reference frames 3911 ,2, x throughout the video track. Each of the reference frames 391 i s2, . x may correspond to a specific time span within the video track of the media track 304i. For example, in some embodiments, the maximum time between adjacent ones of the reference frames 3911 ,2, χ is no greater than 5 seconds, in some cases no greater than 3 seconds, in some cases no greater than 1 second, in some cases no greater than 0.5 seconds, in some cases no greater than 0.25 seconds and in some cases even less.

A "start position" for each of the media tracks 304 1ϊ2 . κ can be defined with reference to the start position time marker 356. In particular, the loaded media tracks 304i j2 . i may be manipulated by the user for selection of respective start positions for respective ones of the media tracks 304i j2 κ by aligning a desired frame at the start position time marker 356. More specifically, the manipulation of the media tracks 304 1>2 κ by the user may include the user interacting with the GUI 130 such that the input from the user is captured by the GUI 130 and then processed by the application software 1 18. For instance, the GUI 130 may be predefined by the application software 1 18 to allow for laterally scrolling (e.g., to the right or to left) of the media tracks 304 lj2 κ and when the user interacts with the GUI 130 to laterally scroll a particular media track 304 j , the application software 118 is programmed to respond to the user's interaction with the GUI 130 so as to cause the particular media track 304 j to move laterally in position in respect to the position timer marker 356 based on the user's interaction with the GUI 130. Referring now to the screen layouts 300B and 300C in respective Figures 3B and 3C, the user may manipulate the media track 304] from a first position as shown in screen layout 300B to the a second position as shown in screen layout 300C. More specifically, in this specific and non-limiting example, in the screen layout 300B it is shown that the start position time marker 356 aligns with the start of the reference frame 39 lj and in the screen layout 300C it is shown that the start position time marker 356 aligns generally with the middle of the reference frame 391 j. Such manipulation of the media track 304j may include the user scrolling laterally (e.g., to the right or to left) of the media track 304] with the user's finger across the touchscreen of the display device 135. Then, in response to the user lifting his/her finger off of the touchscreen, after having scrolled laterally through the media track 304i with the user's finger, the media content of the media track 304] is then automatically played in the playback preview window 302 from the start position indicated by the start position time marker 356. Other types of manipulation of the media track 304] by the user may include the user using the remote control 185 to scroll laterally through media track 304] and in response to the user stopping the lateral scrolling via the remote control 185, the media content of the media track 304] is then automatically played in the playback preview window 302 from the start position indicated by the start position time marker 356. In other embodiments, the automatic playback of the media content of a particular media track 304, and/or all of the media tracks 304ι ,2 κ in the playback preview window 302 may be disabled by the user in the settings of the application software 118.

It is noted that the above technique of scrolling, together with the preview that it triggers, may provide the user, in some instances, with the capability of settling on a desired start position of the media track 304i rapidly and with great precision.

Additionally, one or more interface controls 314 lj2, κ, such as buttons or selectable regions of the media tracks 304^ , κ > is also provided for mixing particular ones of the media tracks 304 1 2, κίο the master track 150 from the desired start position indicated by the time marker 356. It is appreciated that the term "mixing" is used herein to include the process of arranging, combining, adding, recording and/or selecting individual parts of the media content of one or more of the media tracks K and may also include setting other parameters such as levels of audio and the like. By way of example, the user may mix the media track 304] to the master track 150 by activating the interface control 314) (e.g., by pressing and holding the desired media track 304] on the touchscreen of the display device 135), which causes the media track 304] to be mixed to the master track 150, starting from the desired start position in the media track 304i as indicated by the time marker 356. Mixing continues until the user discontinues the mixing of the media track 304i to the master track 150, which may include the user deactivating the interface control 314] (e.g., the user releases the pressing of his/her finger off of the touchscreen of the display device 135). In cases where the remote control 185 is used to scroll through the media track 304i, the user may similarly use the remote control 185 to mix the media track 304] to the master track 150 (e.g., pressing and holding one of the buttons 186 on the remote control to activate the mixing of the media track 304] to the master track 150 and release of the button to discontinue the mixing of the media track 304] to the master track 150). As shown, the screen layouts 300A to 300F may also include an interface control 342 for exporting or publishing the master track 150, a visual progression indicator 350 of the master track 150, an interface control 334 for accessing previous drafts, an interface control 332 for creating a new project and an interface control 336 for deleting media content from the master track 150.

Although not shown in the screen layouts 300A to 300F, one or more contextual menus may be provided on the GUI 130 when specific actions are made by the user via the GUI 130, such that the user may provide further input for mixing of the media tracks 304i >2, κ to the master track 150 and/or additional control options. In particular, the contextual menus may include interface control elements shown on the GUI 130 which allow the user to provide further input information. The contextual menus are discussed further elsewhere in this document.

The various elements and features with which GUI 130 may be conditioned with are now further discussed below.

The process of creating the output media file

The general process for the creation of the output media file 152 from within a media project is now described with reference to Figure 4. In particular, Figure 4 shows a flowchart 400 for creating the output media file 152 in accordance with an embodiment of the invention. Upon instantiation of the application software 118 and prior to the selecting of one or more media content files 105^2, N (step 402) to be loaded into the mixing workspace, the user may be provided with an interface to create a "new media project". For example, the user may be prompted to create a new media project or the user may select the interface control 332 for creating a new media project. The creation of the new media project may include defining a project name, such that information associated with the created media project stored in the computer readable memory 114 can more easily be identified by the user when later accessing that media project. In other cases, the user may not be required to create a new media project prior to selecting and/or mixing of the media tracks 304ι,2, κ (see steps 402 and/or 404, discussed below). In any case, the selecting of the media tracks 304i j2 , κ and/or mixing of the media tracks to the master track 150 may automatically be saved as a draft 660 after every interaction by the user with the application software 118, such as after loading the media tracks 304i,2„ K with media content from one or more media content files N and/or saving the mixing instructions to mix the media content from one or more of the media tracks 304ι,2, κ to the master track 150. Figure 12 illustrates an example of the draft 660 where media tracks 304i,2,3,. ,1 1 ,12 are shown pointing (e.g., linking) to one or more media content files 105i,2, N and mixing instructions for the master track 150. As shown in this example, each of the media tracks 304] ; 2 „ ,1 1 ,12 points to one or more media content files N and includes a start and end times within one or more respective media content files 105^2, N- The draft 660 may be a computer readable file that is constructed in accordance with a unique data structure that is known to and interpretable by the application software 118. As shown in this example, the media tracks 304i I2 ,3, . ,11 ,12 points to media content files 105^2, N some of which are stored locally on the computing device 100A and some of which are stored on a remote server accessible over the Internet 104. It is appreciated that every time a user adds a media track via the GUI 130 to the mixing workspace that the listing of the media tracks in the draft 660 is automatically updated and saved. As shown in this example, the mixing instructions associated with the master track 150 include a time listing where each entry in the time listing points to one or more of the media tracks 304 ] J2 ,3, ,1 1 ,12 and include a start and end time within the one or more media tracks 304^2,3, ,1 1,12· More specifically, in this example from the period of 0 seconds to 2.5 seconds the master track 150 points to the video and audio media content of the first media track 304] starting at 2 seconds and ending at 4.5 seconds therein; and from the period of 2.5 seconds to 10 seconds the master track 150 points to the audio media content of the third media track 304 3 starting at 10 seconds and ending at 17.5 seconds therein and to the video media content of the twelfth media track 304 ]2 starting at 5 seconds and ending at 12.5 seconds therein. It is appreciated that every time a user adds media content from the one or more media tracks 304i, 2 ,3, ,11 ,12 to the master track 150 via the GUI 130 of the mixing workspace that the mixing instructions of the master track 150 in the draft 660 is automatically updated and saved. The draft 660 may be automatically saved locally in the computer readable memory 114 of the computing device 100 A or may be automatically saved remotely in a database on a server accessible over the Internet 104. In other embodiments, the user may save the media project after selecting and/or mixing of the media tracks 304 , K.

At step 402 of the flowchart 400, the user is able to interact with the GUI 130 to load the mixing workspace with one or more media tracks 304ι, 2 · Specifically, the user selects one or more of the media content files 105i,2, N to create one or more of the media tracks 304ι ; 2, κ· For example, the user of the computing device 100A uses the interface controls 312ι ί2, κ (e.g., see Figure 3A) for selecting media content of the media tracks 304 1;2 i (e.g., see Figure 3F). For example, in the case that the display device 135 includes the touchscreen, the user may select one of the interface controls 312 1 ,2,.. K, such as by tapping on one of the interface control 312], 2 , κ· In other cases, the user may select one of the interface controls 312ι,2, κ by selection with a selection button on the remote control 185. More specifically, upon selection of one of the interface controls 312ι >2 , κ, the user may then be prompted to select a particular media content file 105; to create a particular media track 304 j . For instance, the GUI 130 may present the user with interface controls for browsing through the media content files 105i >2, N and selecting the particular media content file 105i. In some cases, the application software 118 may be configured such that media content (e.g., video and/or audio) may be captured (instead of selecting a pre-existent file) at the time of creating the particular media track 304 j . For example, if the computing device 100A is rotated from a portrait (e.g., generally vertical position) to landscape (e.g., generally horizontal position) the application software 118 may be configured such that the user may then capture media content (e.g., video and/or audio) to create the particular media track 304 j .

Upon selection of the particular media content files 105; or capturing of media content for the particular media track 304 j , the particular media track 304 j may be created by the application software 118 of the computing device 100A in various ways. Specific and non-limiting examples of creating the particular media track 304 j are shown in Figures 5A and 5B. As shown in these examples, the particular media content file 105, includes media content 155, which includes a video track 156; and an audio track 157;, and a selected media content portion 158;. More specifically, in the example shown in Figure 5A, the creation process of the media track 304 j includes creating copied media content 1 8 j which is a copy of the selected media content portion 158,·. In other words, the creation process of the particular media track 304 j may include creating a copy (e.g., copied media content 158 j ) in whole (e.g., the media content 155;) or in part of the media content (e.g., selected media content portion 158;) of the particular media content file 105; to create a new computer-readable file. The example shown in Figure 5B illustrates a particular media track 304 j ', which is a variant of the particular media track 304;, and the creation process of the particular media track 304 j ' may include providing one or more pointers 159 to where the particular media content file 105; is stored, which may also include information pertaining to selected media content portion 158; of the particular media track 304 j .

The user may be provided with the option to select in whole or in part the media content of the particular media content file 105;. The selection of the media content of the particular media content file 105; may be obtained from accessing the media content file 105i,2, N > which may be stored locally at the computing device 100A or stored remotely from the computing device 100 A. In some cases, the particular media content files 105; corresponding to the particular media track 304 j may be created on the spot with the computer device 100A (e.g., taking a video and/or recording with a camera and microphone of computing device 100A). In any of these cases, the user may be able to select the particular media content file 105; and shorten the duration of the media content of the particular media content file 105; by using start and end control components (not shown) provided by the GUI 130 in the mixing workspace to define the start and end points of the particular media track 304 j to be created. In the case where the media content of the particular media content file 105; is video, the start and end frames may be selected. In the case where the media content of the particular media content file 105; is audio, the start and end time of the audio may be selected. In some examples of implementation, the user may be limited to the maximum duration for each of the media tracks 304i K that is created. For example, in some embodiments, the maximum duration of a particular one of the media tracks 304ι,2, κ that is selected is no greater than 10 minutes, in some cases no greater than 5 minutes, in some cases no greater than 2 minutes, in some cases no greater than 90 seconds, in some cases no greater than 60 seconds and in some cases even less. Where each of the media tracks 304i >2 κ is limited to a maximum duration of media content, each of the media tracks 304ι >2 may contain media content from one or more media content files 105I,2, ... N (i-e., from one or more sources) until the time limit of the maximum duration is reached.

Upon being loaded into the workspace, each of the media tracks 304 3 ι2 , κ is illustrated in the presentation area 308. In other words, each of the multiple media tracks 304^2, corresponds to respective ones of the media content files 105 1;2, . N selected by the user and possibly shortened. Referring back to the examples shown in Figures 3B to 3F, the media tracks 304 1 2ι K are laid out along a timeline and are movable with respect to the time marker 356 such that the user may advance and/or rewind selected ones of the media tracks 3041,2, . κ along the timeline laterally (e.g., from left to right or right to left) in respect to the time marker 356. Continuing with the flowchart 400 of Figure 4, at step 404, the user creates the master track 150 by further interfacing with the workspace implemented by the GUI 130. This can be achieved by the user manipulating one or more of the media tracks 304 1 >2 to create the master track 150. The created master track 150 may be as a collection of all the media tracks 304ι, 2 , κ loaded into the application software 118 and a set of mixing instructions of how the media content of the media tracks 304 L K or media content files 105i N are to be mixed. In some cases, the created master track 150 may be as a collection of all the media tracks 304], 2, κ loaded into the application software 118 and a set of pointers to the media content of the media tracks 304i,2, κ or the media content files 105i that provide a set of instructions (e.g., mixing instructions) of how the media content of the media tracks 304i K or media content files 105i N are to be mixed. Figure 6 illustrates a specific and non-limiting example illustrating the master track 150. As shown in Figure 6, the master track 150 contains mixing instructions in the form of a plurality of pointers 606 to the media content of the media tracks 304i K - It is appreciated that the master track 150 may be a computer-readable file that specifies the media contents of the future output media file 152 in terms of which portions of the media content of the media tracks 304ι ; 2, κ are to be accessed at which time. If the media tracks 304i,2, K are themselves pointers to the media content files 105i N , the plurality of pointers 606 may be, indirectly, pointers to the media content files 105i, 2, N- In other cases, the master track 150 may be created by recording the desired content of the media tracks 304i j2 K to a new file which defines the master track 150. Various techniques creating the master track 150 are discussed in further detail elsewhere in this document.

At step 406, the user is able to export the master track 150 to the output media file 152. For example, the user at the computing device 100A may use the interface control 342 for exporting the master track 150 to the output media file 152 (e.g., as shown in Figure 3A). Upon selection of the interface control 342 for exporting of the master track 150, the user may be provided with the option to select the mechanism for export. In some cases, the mechanism for export include saving the output media file 152 in the computer readable memory 1 14 of the computing device 100A. In other cases, the mechanism for export involves sending the output media file 152 over the Internet 104 such that the output media file is uploaded onto a social media platform and/or a remote server.

In other words, at this step, once the user is done mixing one or more of the media tracks 304ι ; 2 κ to the master track 150, the user can then proceed to "publish" the master track 150 by converting it to the output media file 152.

In some embodiments, in the alternative to exporting the master track 150 to the output media file 152, the user may exit the application software 1 18, which may causes the current project to be saved automatically as the draft 660 in the computer readable memory 114 such that the user may access the draft 660 at a later time. In other embodiment, the user via the GUI 130 may select an interface control for saving the current media project. The saving of the current media project as the draft 660 may include saving the master track 150 and all associated media tracks 304 1;2 such that the user may at a later time import the saved media project, for example by selecting the interface control 334 for accessing previous drafts, in order to obtain the draft 660 and hence the master track 150 and all of the associated media tracks 304 1;2 K that the master track 150 and/or the imported media project is associated with. After loading of a previous draft, the user may then continue to mix further media tracks 3041,2 κ to the master track 150.

Mixing of a single media track to create a master track

Figure 7 shows a flowchart 700 that pertains to mixing a particular media track 304 j to create a master track 150 in accordance with an embodiment of the invention. The process of the flowchart 700 generally corresponds to actions forming part of step 404 of the flowchart 400 illustrated in Figure 4. The various steps of the flowchart 700 will now be described by way of specific and non- limiting example where the display device 135 associated with the computing device 100A includes a touchscreen.

At step 702, the GUI 130 is implemented on the display device 135 associated with the computing device 100 A, such that the GUI 130 is configured to present the mixing workspace including the plurality of media tracks 304 ] :2 , ,. κ, to provide the user of the computing device 100A with an opportunity to manipulate selected ones of the media tracks 304 1 2 , κ so as to select start positions therein and provide the user with an opportunity to submit mixing commands for selected ones of the media tracks ..κ· It is appreciated that at this step the user may be provided with an opportunity to manipulate selected ones of the media tracks 304ι ; 2, κ by scrolling through the media tracks 04^ , . K so as to select start positions therein. By way of specific and non-limiting example, at this step, the GUI 130 may provide the mixing workspace as shown in the screen layout 300B of Figure 3B.

At step 704, the computing device 100A monitors the user's interaction with the media tracks 304, i2 , K via the GUI 130. In particular, the computing device 100A monitors if a particular media track 304 j is being manipulated by the user to select a start position for the particular media track 304 j . That is, the computing device 100A monitors whether a particular media track 304 j is moved with respect to the start position time marker 356 either to advance or rewind the particular media track 304 j along the timeline laterally (e.g., from left to right or right to left) in respect to the start position time marker 356. By way of example, where the particular media track 304 j is the first media track 304, the computing device 100A monitors whether there is lateral movement in respect to the time marker 356 of the first media track 304,. In this example, the user uses his/her finger to scroll the first media track 304j laterally. It is assumed that for this example the media track 304] includes a video track (that may also include audio) and as such, as the first media track 3041 is moved in respect to the time marker 356, the frame aligned with the time marker 356 may be shown in the playback preview window 302. For instance, the GUI 130 may provide the mixing workspace as shown in the screen layout 300B of Figure 3B at the beginning of step 704 and as the user scrolls the first media track 304i laterally, the GUI 130 may provide the mixing workspace as shown in the screen layout 300C of Figure 3C. As shown, in screen layout 300C, a particular frame aligned with the time marker 356 is shown in the playback preview window 302. As discussed elsewhere in this document the frame 3911 shown in the presentation area 308 may correspond to a specific amount of time of the video track of the media track 304i, and as such it is appreciated that as the time marker 356 is shown in the middle of frame 3911 , that the particular frame shown in the playback preview window 302 may correspond to a specific point in time within the frame 391] corresponding with the timer marker 356. As the particular media track 304 j is being manipulated, the computing device 100A monitors such manipulation and waits until the user stops the manipulation. More specifically, in this example, while the first media track 304, is being scrolled by the user's finger, the computing device 100A waits until the scrolling by the user is stopped, that is, the user lifts his/her finger off of the touchscreen of the display device 135. Then, when the particular media track 304 j is no longer being manipulated by the user, the particular media track 304 j is automatically played in the playback preview window 302 from the selected start position defined by time marker 356. In other words, in response to selection, through user manipulation of a particular one of the media tracks 304 j via the GUI 130 to select a particular start position within the particular media track 304 j , the computing device 100A automatically plays the particular media track 304 j in the playback preview window 302 starting from the selected start position within the particular media track 304 j . Returning to the specific example of where the particular media track 304 j is the first media track 304i, when the scrolling by the user is stopped, the first media track 304j plays the video and possible audio associated with the first media track 304j from the frame aligned with the time marker 356 in the playback preview window 302. For instance, the GUI 130 may be provided as shown in the screen layout 300C of Figure 3C prior to the user lifting his/her finger off of the touchscreen of the display device 135 and then as the first media track 304i plays in the playback preview window 302 starting from the selected start position shown in the screen layout 300C corresponding to frame 391 j it advances with time and at which the GUI 130 may provide the mixing workspace as shown in the screen layout 300D of Figure 3D, where the preview window 302 shows a later frame 3912. It is appreciated that the above mentioned process of aligning the particular media track 304 j in relation to the start position time marker 356 to determine the start position of the particular media track 304 j may be repeated several times by the user. That is, where the particular media track 304 j is the first media track 304i, the user can scroll through the first media track 304j by moving the track 304] with his/her finger so that a different part of the track 304] appears at the time marker 356 and then each time the user chooses a different point in the track 304] to appear at the time maker 356, the computing device 100A plays the track 304i from the chosen start point in the track 304i in the playback preview window 302. This allows rapid fine tuning of the placement of the timer marker 356 to the specific position that produces a desired result. In other words, the application software 118 of the computing device in response to selection by the user, via successive scrolling through the media track 304i, of successively repositioned start positions within the media track 304i, may cause the GUI 130 to play back, in the preview window 302, the media track 304i starting from each successively repositioned start position.

Indeed, when the user is satisfied with the preview results, the user can then mix the track 304i to the master track 150 as of the most recently selected point at the time marker 356 in the track 304] that was just previewed. This will now be described with reference to step 706.

At step 706, once the user is satisfied with the preview results and hence the selected start position of the particular media track 304 j , the user can cause the particular media track 304 j to be mixed to the master track 150 from the selected start position. For instance, the user may activate a particular interface control 314 j associated with the particular media track 304 j , which causes the particular media track 304 j to be mixed to the master track 150 from the selected start position. An example of such activation of the particular interface control 314 j may include the user pressing and holding a designated part of the media track 304 j (e.g., a designated part of a film roll or amplitude diagram) for a duration of time and until the user releases the pressing on the designated part of the media track 304 j . Another example, of activating a particular interface control 314 j may include the touchscreen having pressure sensitivity capabilities such that an interaction with touchscreen of a certain pressure (e.g., a press versus a tap) causes the particular media track 304 j to be mixed to the master track 150. Regardless of the means provided on the GUI 130 for causing the user to indicate that the particular media track 304 j is to be mixed to the master track 150 from the selected start position, it is appreciated that at this step the user interacts with the GUI 130 to send a mixing command to the application software 118 for causing the particular media track 304 j to be mixed to the master track 150 from the selected start position.

In response to issuance of the mixing command by the user via the GUI 130, the application software 118 of the computing device 100 A receives the mixing command and mixes the particular media track 304 j to the master track 150 from the previously selected start position. In response to receiving the mixing commands, the application software 118 may cause the instructions conveyed by the mixing commands to be saved as part of the mixing instructions associated with the master track 150 and for mixing media content from the particular media track 304 j to the master track 150. More specifically, the particular media track 304 j is mixed to the master track 150, based on the position of the particular media track 304 j with respect to the time marker 356 such that the media content associated with the particular media track 304 j starting from the selected start position is mixed to the master track 150. It is appreciated that this mixing may include causing the application software 118 to store at set of instructions (e.g., the mixing instructions) in the computer readable file defined by the master track 150. The mixing of the particular media track 304 j to the master track 150 may include adding one or more pointers to the master track 150 indicating/identifying the particular media track 304 j , the desired location of the media content within the particular media track 304j and other attributes such as the enablement/disablement of a video track and/or audio track within the particular media track 304 j , the audio level associated with an enabled audio track, and/or fade in or fade out (all or part of which may be included in the mixing instructions). In other words, the mixing instructions may include one or more pointers indicating/identifying particular media tracks, the desired location of the media content within the particular media tracks and other attributes such as the enablement/disablement of a video track and/or audio track within the particular media tracks, the audio level associated with an enabled audio track, and/or fade in or fade out, etc. The other attributes such as the audio level associated with an enabled audio track, fade in / fade out, etc., may be based on input received from the user via the contextual menu. It is appreciated that the contextual menu may appear based on the user's interaction with the media track 150 such that the user may be provided with the opportunity to provide further information, as part of the mixing commands, for the mixing of the particular media track 304 j to the master track 150. In other cases, mixing of the master track 150 may include recording the particular media track 304 j from the selected start position to the master track 150. Continuing with the example where the particular media track 304 j is the first media track 304], mixing of the first media track 304i from a selected start position to the master track 150 may be as follows: In response to the user providing a first mixing command to the GUI 130 to start the mixing of the first media track 304i to the master track 150 based on a selected start position, a first pointer to the selected start position of the first media track 304i is then stored in association with the master track 150. Then in response to the user providing a second mixing command to the GUI 130 to stop the mixing of the first media track 304[ to the master track 1 0 a second pointer corresponding to the desired end point is then stored in association with the master track 150 (such an example is illustrated in Figure 6). More specifically, the first and second mixing commands may include a press, hold and release touch gesture on the touchscreen of the display 135, where when the user presses and holds the interface control 314i, this causes the first mixing command to be sent and the release of the interface control 314] causes the second mixing command to be sent. This example is further illustrated by Figures 3C and 3E, where Figure 3C illustrates an example where the user is satisfied with the start position of the first media track 304] then the user presses and holds the interface control 314 t of the media track 304] to send the first mixing command via the GUI 130 which causes the media track 304i to play in the playback preview window 302, the media track 304 t to correspondingly advances in time at the rate of play and the media track 304j to be mixed to the master track 150 from the start position. Then, as shown in Figure 3E, when the user lifts his/her finger off of the interface control 314i to send the second mixing command via the GUI 130, this causes the media track 304] to stop playback in the playback preview window 302, the media track 304] to stop advancing in time and the mixing of the media track 304i to the master track 150 to be stopped. Also, as shown the visual progression indicator 350 of the master track 150 may also illustrate that media content has been added to the master track 150.

In other words, at this step, the application software 1 18 in response to receipt, via the GUI 130, of the mixing command for a particular media track 304 j , mixes to the master track 150 the particular media track 304 j starting from the most recently selected start position (e.g., the most recently repositioned start position) within the particular media track 304 j , and ending with the user ceasing to mix the particular media track 304 j to the master track 150. The received mixing commands may then be stored by the application software 1 18 as the mixing instructions associated with the master track 150. It is appreciated that process of the flowchart 700 may allow for a user to scroll within a particular media track 304 j to experiment with different start times within the particular media track 304 j (denoted by placement of the time marker 356), such that whenever a new start position is chosen in the particular media track 304 j , the particular media track 304 j is played back in the preview window 302, starting from the new start position. Then, when the user is satisfied with the preview results, the user can mix the particular media track 304 j to the master track 150, starting from the most recently chosen start position in the particular media track (i.e., the most recently automatically previewed portion of the particular media track 304 j played back in the preview window 302). This process 500 can then be repeated several times to sequentially mix portions of the chosen particular media track 304 j to the master track 150.

If a user is unsatisfied with a particular portion of the media content in the master track 150, the user may delete the particular portion via the interface control 336. For example, the interface control 336 may allow the user to delete the most recently added media content from one or more media tracks 30 1,2 ,.. K of the master track 150 and/or may allow the user to scroll through the master track 150, allowing for the master track 150 to play in the playback preview window 302, such that the user may select a specific portion of the media content in the master track 150 that the user desires to delete, which may include overwriting specific segments of the master track 150 and/or inserting additional media content.

It is also appreciated that the particular interface control 314 j of the media track 304 j for mixing may be a different region than the region of the media track 304 j for scrolling. However, in other embodiments, the touchscreen is pressure sensitive such that mixing and scrolling could take place at the same point on the touchscreen, except that a press causes mixing while a tap is used for scrolling.

Mixing of a plurality of media tracks to create a master track

Figure 8 shows a flowchart 900 that pertains to mixing a first media track 304i and a second media track 3042 to create a master track 150 in accordance with an embodiment of the invention. The process of the flowchart 900 generally corresponds to actions forming part of step 404 of the flowchart 400 illustrated in Figure 4. The various steps of the flowchart 900 will now be described by way of specific and non-limiting example where the display device 135 associated with the computing device 100 A includes a touchscreen and in relation to mixing workspaces shown in the screen layouts 1000A to 1000D of Figures 9A to 9D.

Step 902 of the flowchart 900 is similar to step 702 of the flowchart 700 and as such further aspects of step 902 may be found in the discussion of step 702. At step 902, the GUI 130 is implemented on the display device 135 associated with the computing device 100 A, such that the GUI 130 is configured to present the mixing workspace including the plurality of media tracks 304i 2„ κ, to provide the user of the computing device 100A with an opportunity to manipulate selected ones of the media tracks 304 1;2 , so as to select start positions therein and provide the user with an opportunity to submit mixing commands for selected ones of the media tracks 304ι : 2, - It is appreciated that at this step the user may be provided with an opportunity to manipulate selected ones of the media tracks 304^2, by scrolling through the media tracks 304]^, κ so as to select start positions therein. Furthermore, the GUI 130 may provide interface controls 324i j2, κ corresponding to respective ones of the media tracks 304 1;2, κ for enabling or disabling audio tracks associated with respective ones of the media tracks 3041 ^, κ· By way of specific and non-limiting example, at this step, the GUI 130 may provide the mixing workspace as shown in the screen layout 1000A of Figure 9A.

Step 904 of the flowchart 900 is similar to step 704 of the flowchart 700 and as such further aspects of the step 904 may be found in the discussion of step 704 above. At step 904, the computing device 100A monitors the user's interaction with the media tracks 304 1 2, via the GUI 130. In particular, the computing device 100A monitors if a particular media track 304 j is being manipulated by the user to select a start position for the particular media track 304 j . That is, the computing device 100A monitors whether the particular media track 304 j is moved with respect to the time marker 356 either to advance or rewind the particular media track 304 j along the timeline laterally (e.g., from left to right or right to left) in respect to the start position time marker 356.

As the particular media track 304 j is being manipulated, the computing device 100A monitors such manipulation and waits until the user stops the manipulation. Then, when the particular media track 304 j is no longer being manipulated by the user, the particular media track 304 j is automatically played in the playback preview window from the selected start position defined by the start position time marker 356.

By way of example, where the particular media track 304 j is the first media track 304i the computing device 100A monitors whether there is scrolling (e.g., with the user's finger on the touch screen of the display device 135) in respect to the time marker 356 of the first media track 304[. Then, when the scrolling by the user is stopped, the first media track 304i plays the video and audio associated with the first media track 304i from the frame aligned with the time marker 356. For instance, the GUI 130 may provide the mixing workspace as shown in the screen layout 1000B of Figure 9B after the user has scrolled with his/her finger but prior to the user lifting his/her finger off of the touchscreen of the display device 135. Then, in response to the user lifting his/her finger off of the touchscreen the first media track 304i plays in the playback preview window 302 starting from the selected start position in relation to the start position time marker 356.

It is appreciated that this step may be repeated several times until the user is satisfied with the start position of the first media track 304i. More specifically, in some cases, the user may be manipulating the first media track 304i in relation to the start position time marker 356 to find a desired start position of the audio track associated with the first media track 304] . In other cases, the user may be manipulating the first media track 304] in relation to the start position time marker 356 to find a desired start position of the video track associated with the first media track 304].

At step 906, the user can then enable via the GUI 130 an audio or a video track associated with a particular media track 304 j via a respective interface control 324 j to be played in response to manipulation by a user to select a start positon of a second media track 304 m . That is, in response to the user selecting or deselecting an audio or a video track associated with a particular media track 304 j via a respective interface control 324 j , the computing device 100A may store an indication in the computer readable memory 114 (e.g., in the draft 660) such that any further playback of any of the media tracks 304 1:2, κ should also include playback of the selected audio or a video track associated with a particular media track 304 j from the selected start position of the particular media track 304 j , in response to manipulation by a user to select a start positon of any of the media tracks 304 ] 2, , .κ, such as a second media track 304 m .

It is appreciated that although in the particular example given above it is shown that one audio or video track associated with a particular media track 304 j via a respective interface control 324 j is selected, that a plurality of the interface controls 324] ,2,..κ may be selected to enable a plurality of media tracks 324 aib, g , to be selected such that playback in the playback preview window 302 of the selected plurality of media tracks 324 a>b,. g occurs in response to manipulation by a user to select a start positon of any of the media tracks 304 h, q , such as a second media track 304 m in addition to the playback of the second media track 304 m in the playback preview window 302. It is also appreciated that upon the selection of a particular interface control 324 j for enabling an audio track associated with respective particular media tracks 304 j , that use may also be provided with the contextual menu for selecting a volume level of the particular media tracks 304 j and/or selecting fading of the particular media tracks 304 j (e.g., add a fade in and/or fade out). It is also appreciated that upon the selection of a particular interface control 324 j for enabling a video track associated with respective particular media tracks 304 j , that the user may also be provided with the contextual menu for selecting a transparency level of the particular media tracks 304 j , changing the playing rate of the content of the particular media tracks 304 j (e.g., slow motion and/or fast motion), turning on/off a text layer of text, and/or selecting fading of the particular media tracks 304 j (e.g., add a fade in and/or fade out). The contextual menu may also allow for the user to layer video tracks and/or images over each other. For instance, a transparent .png file or a blue screen video may be selected as a first particular media tracks 304 j and it may be mixed to a second particular media tracks 304 m that include a video track such that the .png file or the blue screen video (i.e., first particular media tracks 304 j ) would be added as a layer to the second particular media tracks 304 m in the master track 150. This could be done by synchronizing the first particular media tracks 304 j and second particular media tracks 304 m together in the mixing workspace and the application software 118 is configured to recognize that the first particular media tracks 304 j is to be added as layer over the second particular media tracks 304 m and/or as indicated by the user interacting with the GUI 130.

In specific embodiments, as shown in Figures 9A to 9D, the GUI 130 may provide the user with the interface controls 324 1;2 , ,.κ corresponding to respective ones of the media tracks 304i j2 , for enabling or disabling audio tracks associated with respective ones of the media tracks κ· It is appreciated that when a particular interface control 324 j associated with a particular media track 304 j is enabled, that the audio track associated with the particular media track 304 j may play from the start position of the particular media track 304 j as positioned in respect to the start position time marker 356, when any of the media tracks 304 1 2, are manipulated (e.g., scrolled through) by the user to select a start position of the selected one of the media tracks 304 1 2, · It is appreciated that when a particular control 324 j associated with a particular media track 304 j is disabled, the audio track associated with the particular media track 304 j may not play in response to user manipulation (e.g., scrolling) to any of the media tracks 304 lj2 , κ· By default all of the interface controls 324 ] ; 2„ κ may be disabled/deselected upon first presenting the mixing workspace to the user.

By way of a specific and non-limiting example, at this step, the user may be enabling the audio track associated with the first media track 304i and in such case selects the interface control 324] associated with the first media track 304]. Then in response to the user enabling the audio track associated with the first media track 304], the computing device 100A stores an indication in the computer readable memory 116 of such selection such that when any of the other media tracks 304], 2, K are played in the playback preview window 302 that the audio track associated with the first media track 304j is also played from the start position of the first media track 304i.

By way of another specific and non-limiting example, at this step, the user may be enabling the audio tracks associated with the first media track 304j and the second media track 304 2 and in such case selects the interface controls 324i 324 2 associated with the respective first and second media tracks 304i , 304 2 . Then in response to the user enabling the audio track associated with the first media track 304] and the second media track 304 2 , the computing device 100A stores an indication in the computer readable memory 116 of such selection such that when any of the other media tracks 304] , 2, K are played in the playback preview window 302 that the audio track associated with the first and second media tracks 304i, 304 2 are also played from the start position of the first media track 304i and the second media track 3042. Although in this example, the user enabled the audio tracks of two of the media tracks 304χ >2, κ > in other cases the user may be able to enable the audio tracks associated with more than 2 of the media tracks 304j,2, κ » in some cases the user may be able to enable the audio tracks associated with 12 of the media tracks 304 ] ; 2, κ and in some cases the user may be able to enable the audio tracks associated with more than 12 of the media tracks 304 1 2, κ·

In other cases, not illustrated, interface controls may be provided for enabling or disabling a video track associated with respective ones of the media tracks 304]^ , κ- That is the interface controls may be provided for enabling or disabling a video track associated respective ones of the media tracks 304) 2, K and would function similarly to that described in regards to the interface control 324i,2„ κ but for the respective video tracks associated with the media tracks 304i :2 , ·

It is appreciated that step 906 may take place prior to step 904, that is, the user may enable an audio or video track of a first media track 304] prior to manipulating (e.g., scrolling through) the first media track 304] to determine a start position for the first media track 304[ .

Step 908 of the flowchart 900 has aspects that are similar to step 704 of the flowchart 700 and as such further aspects of the step 908 may be found in the discussion of step 704. At step 908, in response to the user selecting a start position of a second particular media track 304 m , the computer system 100A causes automatic playback of both the second particular media track 304 m from the selected start position of the second particular media track 304 m and the selected audio or video track associated with the first particular media track 304 j from the (previously) selected start position of the first particular media track 304 j .

By way of example, where the first particular media track 304 j is the first track 304i and the second particular media track 304 m is the second media track 3042, the computing device 100A allows for the user via the GUI 130 with an opportunity to scroll through the second media track 304 2 so as to select a start position of the second media track 304 2 (it is assumed that the start position for 304i has been selected, as per step 904). Then, in response to selection of a start position within the second media track, via scrolling through the second media track 304 2 , and having selected a first start position within the first media track (as discussed above at step 904), the computing device 100A plays back, in the playback preview window 302, the selected audio of the first media track 304] (as discussed above at step 906) starting from the first start position together with the second media track 3042 starting from the start position of the second media track 304 2 .

By way of further illustration, Figure 9C illustrates the case where the user has selected the audio track associated with the first media track 304i via the interface control 324j (and has also previously scrolled through the first media track 304] to determine the start position of the first media track 304]) such that the user may scroll through the second media track 304 2 to determine the start position of the second media track 3042. When the user positions a start position of the second media track 304 2 at the start position time marker 356 (e.g., lifts his/her finger off of the touch screen of the display device 135 to stop the scrolling), the audio track associated with the first media track 304 ! and the second media track 304 2 automatically play back simultaneously in the playback preview window 302, in response to user stopping the scrolling (e.g., lifts his/her finger off of the touch screen). It is appreciated that this step may be repeated several times until the user is satisfied with the start position of the video track associated with the second media track 304 2 in relation to the start position of the audio track associated with the first media track 304 t . For instance, interactions by the user with the GUI 130 may allow the user to align a video track with an audio track of separate media tracks in the mixing workspace.

In other words, step 904, 906 and 908 allow for the user via the GUI 130 with an opportunity to scroll through the first media track 304i and the second media track 304 2 so as to select respective start positions therein. Then, in response to selection, via successive scrolling through the second media track 304 2 and after selection of a first start position within the first media track 304i, of successively repositioned start positions within the second media track 304 2 , playing back, in the playback preview window 302, the first media track 304i starting from the first start position together with the second media track 304 2 starting from each successively repositioned start position within the second media track 304 2 . It is appreciated that although in the particular example given above it is shown in relation to a first media track 304i and a second media track 304 2 , that a plurality of media tracks 324 a>b, g may be played back in the playback preview window 302 from each track's respective start position in response to the user selecting a start position of any of the other media tracks 304 l q , such as a particular media track 304 m . That is, in response to selection, via successive scrolling through the particular media track 304 m and after selection of start positions within the plurality of media tracks 24 a,b,.. . g , of successively repositioned start positions within the particular media track 304 m , playing back, in the playback preview window 302, the plurality of media tracks 324 a , b , g starting from the respective start positions of each of the media tracks 324 a>b, together with the particular media track 304 m starting from each successively repositioned start position within the particular media track 304 m . Indeed, when the user is satisfied with the preview results, the user can then mix both of the first media track 304i and the second media track 304 2 to the master track 150 as of the selected respective start positions at the time marker 356 in the first media track 304) and the second media track 3042. This will now be described with reference to step 910. Step 910 of the flowchart 900 has aspects that are similar to step 706 of the flowchart 700 and as such further aspects of the step 910 may be found in the discussion of step 706.

At step 910, once the user is satisfied with the preview results and hence the selected start positions of the first particular media track 304 j and the second particular media track 304 m , the user can cause the first and second particular media tracks 304 j and 304 m to be mixed to the master track 150 from the selected start position of each respective track. For instance, the user may activate a particular interface control 314 m associated with the second particular media track 304 m , which causes both the first and second particular media tracks 304 j and 304 m to be mixed to the master track 150 from the respective selected start positions. More specifically, the user may activate the particular interface control 314 m associated with the second particular media track 304 m , which causes both the second particular media track 304 m and the selected audio or video track associated with the first particular media track 304 j to be mixed to the master track 150, from the respective selected start positions of the first and second particular media tracks 304 j and 304 m . It is appreciated that at this step the user interacts with the GUI 130 to send a mixing command to the application software 118 for causing the particular media tracks 304 j and 304 m to be mixed to the master track 150 from the selected respective start positions. It is also appreciated that the mixing command may be via a separate region (e.g., a designated area) of the screening or based on a pressure sensitive touchscreen such that a press causes the sending of a mixing command (while a tap may be used for scrolling).

In response to issuance of the mixing command by the user via the GUI 130, the application software 118 of the computing device 100 A receives the mixing command and mixes the particular media tracks 304 j and 304 m to the master track 150 from the previously selected respective start positions. In response to receiving the mixing commands, the application software 118 may cause the instructions conveyed by the mixing commands to be saved as part of the mixing instructions associated with the master track 150 and for mixing media content from the particular media tracks 304j and 304 m to the master track 150. More specifically, the first particular media track 304 j is mixed to the master track 150, based on the position of the first particular media track 304 j with respect to the start position time marker 356 such that the media content associated with the first particular media track 304 j starting from the selected start position is mixed to the master track 150 and the second particular media track 304 m is mixed to the master track 150, based on the position of the second particular media track 304 m with respect to the start position time marker 356 such that the media content associated with the second particular media track 304 m starting from the selected start position is mixed to the master track 150. Even more specifically, the selected audio or video track of the first particular media track 304 j (from step 906) is mixed to the master track 150, based on the position of the first particular media track 304 j with respect to the start position time marker 356 such that the media content (e.g., audio or video content selected) associated with the first particular media track 304 j starting from the selected start position is mixed to the master track 150 and the second particular media track 304 m is mixed to the master track 150, based on the position of the second particular media track 304 m with respect to the start position time marker 356 such that the media content associated with the second particular media track 304 m starting from the selected start position is mixed to the master track 150. It is appreciated that this mixing may include causing the application software 118 to store a set of instructions (e.g., the mixing instructions) in the computer readable file defined by the master track 150. As such, the mixing instructions may be stored in association with the draft 660.

The mixing of the first particular media track 304 j and the second particular media track 304 m to the master track 150 may include adding one or more pointers to the master track 150 indicating/identifying the first particular media track 304 j and the second particular media track 304 m , the desired location of the media content within the first particular media track 304 j and the second particular media track 304 m and other attributes such as the enablement/disablement of a video track and/or audio track within the first particular media track 304 j and/or the second particular media track 304 m and/or the audio level associated with an enabled audio track. For instance, Figure 6 illustrates an example where the master track 150 which includes media content mixed to include an audio track associated with the media track 304 2 and a video track associated with the media track 304 3 . In other words, Figures 6 illustrates the master track 150 and the associated mixing instructions. In other cases, mixing of the master track 150 may include recording the first particular media track 304 j and the second particular media track 304 m from the selected respective start positions to the master track 150. Continuing with the example where the first particular media track 304 j is the first media track 304i and the second particular media track 304 m is the second media track 304 2 , mixing of the first media track 304i from a selected start position to the master track 150 may be as follows: In response to the user providing a first mixing command to the GUI 130 to start the mixing of the audio track associated with the first media track 304[ and the second media track 3042 to the master track 150 based on respective selected start positions, a first pointer to the selected start position of the audio track associated with the first media track 304i is then stored in association with the master track 150 and a second pointer to the selected start position of the video track associated with the second media track 304 2 is then stored in association with the master track 150. Then in response to the user providing a second mixing command to the GUI 130 to stop the mixing of the first media track 304] and the second media track 304 2 to the master track 150 a third pointer corresponding to the desired end point of the audio track associated with the first media track 304j is then stored in association with the master track 150 and a fourth pointer corresponding to the desired end point of the video track associated with second media track 304 2 is then stored in association with the master track 150.

This example is further illustrated by Figures 9C and 9D, where Figure 9C illustrates an example where the user is satisfied with the start position of the audio associated with the first media track 304i and the video associated with the second media track 304 2 then the user presses and holds the interface control 314 2 of the media track 304 2 to send the first mixing command via the GUI 130 which causes the audio associated with the first media track 304i and the video of the second media track 304 2 to play in the playback preview window 302, audio associated with the first media track

304 1 and the video associated with the second media track 304 2 correspondingly advances in time at the rate of play, and the audio of the first media track 304] and the video of the second media track

3042 is mixed to the master track 150 from the respective start positions of each of the first and second media tracks 304i and 304 2 . Then, as shown in Figure 3E, when the user lifts his/her finger off of the interface control 3142 to send the second mixing command via the GUI 130, this causes the audio associated with the first media track 304i and video associated with the second media track 3042 to stop playback in the playback preview window 302, the first and second media tracks 304 1 ; 304 2 to stop advancing in time, and the mixing of the audio of the first media track 304i and the video of the second media track 3042 to the master track 150 to be stopped. Also, as shown the visual progression indicator 350 of the master track 150 may also illustrate that media content has been added to the master track 150.

It is appreciated that the application software 118 when executing the steps of the flowchart 900 allows for the user to fix a start position in the first media track 304] and then scroll within any other media track 304 2, κ to choose a variable start position in a second media track 304 2 , such that whenever a different start time is chosen in the second media track 3042, the two media tracks 304j and 304 2 are mixed in the playback preview window 302, with the first media track 304i starting from its previously fixed start position and the second media track 3042 starting from the start time chosen by effect of the scrolling through the second media track 304 . It is also appreciated that although in the particular example given above it is shown in relation to the first media track 304] and the second media track 3042 being mixed to the master track 150, that a plurality of media tracks 324 a> b,...g may be mixed to the master track 150 from each track's respective start position in response to the user sending a mixing command via the GUI 130 of the mixing workspace.

Synchronizing a plurality of media tracks Figure 10 shows a flowchart 1300 that pertains to mixing a first media track 304i and a second media track 304 2 to create a master track 150 in accordance with an embodiment of the invention. The process of the flowchart 1300 generally corresponds to actions forming part of step 404 of the flowchart 400 illustrated in Figure 4. The various steps of the flowchart 1300 will now be described by way of specific and non-limiting example where the display device 135 associated with the computing device 100 A includes a touchscreen and in relation to mixing workspaces shown in the screen layouts 1200A to 1200F of Figures 11A to 1 IF. Although this flowchart 1300 is described in relation to synchronizing a first media track 304] and a second media track 304 2 the process described equally applies in the case of synchronizing more than two media tracks. Step 1302 of the flowchart 900 is similar to step 702 of the flowchart 700 and step 902 of the flowchart 900 and further aspects of the step 1302 may be found in the discussion of steps 702 and 902.

At step 1302, the GUI 130 is implemented on the display device 135 associated with the computing device 100A, such that the GUI 130 is configured to present the mixing workspace including the plurality of media tracks 304ι >2, κ, to provide the user of the computing device 100A with an opportunity to manipulate selected ones of the media tracks 304 1 2, . κ so as to select start positions therein and provide the user with an opportunity to submit mixing commands for selected ones of the media tracks 304^2, κ· It is appreciated that at this step the user may be provided with an opportunity to manipulate selected ones of the media tracks 304ι >2; κ by scrolling through the media tracks 3041,2,.. so as to select start positions therein. Furthermore, the user may be provided with an opportunity to synchronize selected ones of the media tracks 304^2, κ with each other via one or more track synchronization controls 322^2, ^ such that the synchronized selected media tracks 304 a> >x move in relation to each other by manipulation by the user of either one of the synchronized media tracks 304 a, ... ,x . By way of specific and non-limiting example, at this step, the GUI 130 may be provided as shown in the screen layout 1200A of Figure 11A. After the user is provided with the media tracks 304]^ , κ the user may manipulate one or more of the media tracks 304^2,.. κ to determine start positions therein and/or to select or deselect respective audio or video tracks associated with the media tracks κ, such as discussed above in relation to the flowcharts 700 and 900. It is appreciated that this step is not illustrated in the flowchart 1300 however, the user may interact with the media tracks 304i,2, . κ in various ways discussed elsewhere in this document after step 1302 and prior to step 1310 (which is discussed below). As such, in accordance widi a specific and non-limiting example, prior to step 1310, the user may manipulate the first media track 304] and the second media track 3042 to determine the start position and to select the audio track associated with the second media track 3042, as is shown by the screen layout 1200B and 1200C of Figures l lB and l lC.

At step 1310, the user may be provided with an opportunity to synchronize selected ones of the media tracks 304] :2, with each other via the one or more track synchronization controls 322 ] ; 2, κ such that the synchronized selected media tracks 304 ai i jX move in relation to each other by manipulation by the user of any one of the synchronized media tracks 304 3i ,x . More specifically, the user may synchronize a first particular media track 304 a and a second particular media track 304 x to both move (e.g., scroll) together / in unison in response to manipulation (e.g., scrolling) by the user to select the start position of either the first particular media track 304 a or the second particular media track 304 x in the presentation area 308.

At step 1312, the user is provided with the opportunity to manipulating either of the first particular media track 304 a or the second particular media track 304 x to select a start position of either the first particular media track 304 a or the second particular media track 304 x . Then, in response to the user manipulating either of the first particular media track 304 a or the second particular media track 304 x to select a start position of either the first particular media track 304 a or the second particular media track 304 x , both of the first particular media track 304 a and the second particular media track 304 x scroll synchronously together in the presentation area 308.

By way of example, in response to a user scrolling through a first particular media track 304] within a first presentation area 308] , this may cause display in the first presentation area 308] of a sequence of non-adjacent frames of the first media track 304], adjacent frames in the sequence being separated by a first interval of time that depends on the user scrolling through the first media track 304] .

Furthermore, in response to the user scrolling through the second media track 3042 within the second presentation area 308 2 , this may cause display in the second presentation area 308 2 of a sequence of non-adjacent frames within the second media track 304 2 , adjacent frames in the second sequence being separated by a second interval of time that depends on the user scrolling through the second media track 3042. By way of another example, in response to the user scrolling through the first media track 304i within the first presentation area 308] or the second media track 304 2 within the second presentation area 308 2 this may cause display in the first presentation area 3081 of a sequence of non-adjacent frames of the first media track 304i, adjacent frames in the sequence separated by an interval of time that depends on the user scrolling through the first media track 304] and simultaneously causing display in the second presentation area 3Ο82 of a sequence of non-adjacent frames of the second media track 304 2 , adjacent frames in the sequence separated by said interval of time. Referring now to Figures 11D and HE, a specific and non-limiting example is given where the first particular media track 304 a is the first media track 304j and the second particular media track 304 x the second media track 3042. In this example, the user synchronizes the first media track 304i with the second media track 304 2 by selecting the first track synchronization control 322i associated with the first media track 304i and the second track synchronization control 322 2 associated with the second media track 304 2 (as is shown in Figure HE). Then, when the user scrolls either the first media track 304i or the second media track 304 2 both the first media track 304j and the second media track 304 2 scroll (as is shown in Figure 1 IE).

In some embodiments, in response by the user to select a new start position of any one of the synchronized media tracks 304 a> x , the computing device 100A automatically causes the playing of all of the synchronized media tracks 304 a> >x in the presentation area 308 and the playback in the playback preview window 302 of a specific media track 304 z of the synchronized media tracks 304 3i >x , that the user selected the new start position therein. More specifically, when the user synchronizes a first particular media track 304 a and a second particular media track 304 x , then when the user scrolls to select the start position of either the first particular media track 304 a or the second particular media track 304 x , then the specific media track of the first particular media track 304 a and the second particular media track 304 x that was scrolled by the user plays back in the playback preview window 302, while both the first particular media track 304 a and the second particular media track 304 x automatically advance (e.g., play) in the presentation area 308 corresponding to the playback in the playback preview window 302.

At step 1314, the user may enable the playback of the audio of the second media track 304 2 (such with the interface control 324 2 and as described elsewhere in this document). In such cases, in response by the user to select a new start position of either the first or second media track 304i ; 304 2 , then both the first and second media tracks 304] , 304 2 play in the playback preview window 302 from the new start position of the first and second media tracks 304 1: 304 2 . Continuing with the example in Figures 1 ID and 1 IE, Figure 1 IF illustrates the case where the user scrolls either the first media track 304] and then both the first media track 304i and the second media track 304 2 playback in the playback preview window 302 (as is shown in Figure 1 IF), as the user has enabled the playback of the audio of the second media track 304 2 .

It is appreciated that after step 1312 or 1314, that the user may select either one of the particular interface controls 314 a or 314 x , respectfully associated with the first and second particular media tracks 314 a or 314 x , to mix the respective media tracks 314 a or 314 x to the master track, while advancing in the presentation area 308 both of the first and second particular media tracks 314 a and 314 x . In the cases where the user has also enabled the playback of the audio of the second media track 304 x , when the user selects the interface control 314 a , this may cause both the first and second particular media tracks 314 a and 314 x to be mixed to the master track 150, from the respective selected start positions of the first and second particular media tracks 304 a and 304 x . Such mixing may be done as in a similar manner discussed elsewhere in this document.

Although the example above relates to synchronizing of two media tracks 304 a 304 Xi it is appreciated that two or more media tracks 304 a> jX may be time-aligned and then synchronized together in a similar manner, and then when scrolling is done with respect to one track of the synchronized media tracks 304 3: iX , all of the synchronized media tracks 304 3i ,x are scrolled through at the same time in the presentation area 308.

It is also appreciated that synchronized media tracks 304 a, >x may be from different sources. For example, a first media track 304 a may be video track from a mobile computing device of the type described in relation to the computing device 100A, a second media track 304 b may be audio track from a mobile computing device of the type described in relation to the computing device 100A. Such an example may allow for the user to synchronize a video track and an audio track for separate sources but relating to the same recording (e.g., separate computing device of the type of the computing device 100A recording the same scene but at different angles). By way of another example, a first media track 304 a may be video track from a mobile computing device of the type described in relation to the computing device 100A, a second media track 304 b may be video track from a mobile computing device of the type described in relation to the computing device 100A and a third media track 304 b may be an audio from a mobile computing device of the type described in relation to the computing device 100A. In such an example, the two video tracks and the one audio track may be synchronized with each other where the two video tracks and an audio track for separate sources but relating to the same recording. It is also appreciated that two or more video angles of the same screen shown by different devices of the type described in relation to the computing device 100A can then be mixed by synchronizing the video of all the video angles to one another and to an audio track. In such a case, it may not be desirable for playback of multiple videos in the playback preview window 302 simultaneously.

In other cases, two or more audio tracks of the same audio but at different volumes may be mixed with a video. In such cases, the video may need not be synchronized.

It is appreciated that by enabling the audio (such with the interface controls 324 i i2 , κ and as described elsewhere in this document) of all of the synchronized media tracks 304 a> ,x , the user may be able to synchronize multiple tracks that were recorded using separate devices (e.g., of the type of the computing device 100A) and then manually match an audio track with one or more video tracks without the need of timestamps and/or waveform analysis. For example, this may be done to match an audio track with video tracks from two or more cameras. By way of a specific and non-limiting example, a music video may be recorded with two cameras (e.g., of the type of the computing device 100A) and the audio from another device (e.g., of the type of the computing device 100A) such that there is a first media track 304i corresponding to the first camera, a second media track 304 2 corresponding to a second camera and third media track 304] corresponding to an audio track. The user could then enable the audio with the interface control 324 3 and then align the audio of the third media track 304χ to the video of the first media track 304] by scrolling through the first media track 304i to repeatedly find a start position until the video of the first media track 304] aligns with the audio of the third media track 304i. Once the video of the first media track 304i aligns with the audio of the third media track 304i, the user may then select the track synchronization controls 322i and 322 3 to then synchronize the first and third media tracks 304i and 304 3 together. It is appreciated that the user could have also enabled the audio of the first media track 304] with the interface control 324i to assist in aligning the first media track 304χ with the third media track 304 3 and then disable the audio of the first media track 304i with the interface control 324i after synchronizing the first and third media tracks 304i and 304 3 together. The user may then repeat this process for the second media track 304 2 and may select the start position of the second media track 304 2 by scrolling through the second media track 304] to repeatedly find the start position until the video of the second media track 304i aligns with the audio of the third media track 304i and then enable synchronization by selecting the track synchronization controls 322 2 . Then in such case, all three of the media tracks 304i, 304 2 , 304 3 may be synchronized with each other. This process may be repeated for more than two video tracks. Mixing images and/or text

Turning now to Figures 23 A and 23B, screen layouts of the GUI 130 are shown in accordance with specific and non-limiting examples of implementation. In Figure 23A, the first presentation area 308i includes a plurality of media assets 511,2,3 that form the first media track 304i. The user in a similar fashion as adding video or audio media tracks (such as the media tracks 3042, 304 3 shown in the second presentation area 3Ο82 and third presentation area 3Ο83, respectively) may add the plurality of other media assets 511,2,3 such as images, text, visual overlays and/or effects and/or any other suitable media assets into the first presentation area 308i to define the first media track 304 ! . For example, the user may load text or images from the memory 114 of the computing device 100 A, may take pictures using the camera of the computing device 100A or may enter in text (e.g., via a keyboard visible on the GUI 130, speech-to-text software and/or any other suitable input means). The user may scroll through the media assets 51 ) , 2,3 in the first media track 304i and select a specific one that the user may want to mix to the master track 150. For example, when the display device 135 includes a touchscreen, the user may scroll with his/her finger to laterally move through the media assets 511,2,3 until the user has found a desirable media asset that the user wishes to possibly add to the master track 150.

As shown in Figure 23 A, the user has selected the first media asset 5 li, as the first media asset 511 is emphasized in the figure. The interface control 324Ί is similar to the interface control 324i ,2, κ for enabling or disabling audio tracks associated with respective ones of the media tracks 304ι,2, κ as discussed elsewhere in this document; however, the interface control 324Ί is for enabling or disabling the selected media asset from the plurality of media assets 511,2,3 associated with the media tracks 304i, which in this example is the first media asset 511. As shown in Figure 23B, once the user has selected the interface control 324Ί corresponding to the selected media asset, which in this example is the first media asset 51 ], is then shown in the playback preview window 302 via a display box 67. In other words, the interface control 324Ί is for enabling or disabling the visibility of the selected media asset in the playback preview window 302. The display box may be selectable by the user such that the user may move the position of the display box 67 on the playback preview window 302 and/or may adjust the size of the display box 67. Although in this example the display box 67 includes text that recites "text", the display box 67 would show an image when the selected media asset is an image. For example, when the display device 135 includes a touchscreen, the user may use his/her finger to adjust the position and/or size of the display box 67 until the user has found a desirable size and/or position of the content shown in the display box 67.

The user may then mix the selected media asset, which in this example is the first media asset 51 ], based on the position and size of the display box 67 shown in the playback preview window 302 to the master track 150. For example, the user may mix the selected media asset by pressing and holding with his/her finger on the selected media asset which causes the selected media asset to be mixed to the master track 150 until the user releases his/her finger from the selected media asset. In other cases, the user may wish to mix together the selected media asset with a particular one of the other media tracks 304 2 , 304 3 , to the master track 150. Here, after the user has selected the interface control 324Ί corresponding to media track 304] in order to enable the selected media asset (in this case the first media asset 511), the user then turns his/her attention to the particular one of the other media tracks (say, media track 304 2 ) and, when ready to record, presses the interface control corresponding to the particular one of the media tracks (in this case, interface control 314 2 ). This will cause a blend of the text (from media track 304j) and media (from media track 304 2 ) to appear in the playback preview window 302 and on the master track 150.

In other cases, the user may wish to mix together multiple selected media assets from multiple tracks to the master track 150. For example, consider Fig. 23C in which the first presentation area 308] includes a plurality of text media assets 511,2,3 that form the first media track 304] , the second presentation area 308 2 includes a plurality of image media assets 52 1 2i3 that form the second media track 304 2 , and the third presentation area 308i includes a video media track 304 3 . For example, the text media assets 511 ,2,3 and/or image assets 521,2,3 may be loaded from the memory 1 14 of the computing device 100A, or obtained via an input device (such as the camera, keyboard, microphone) of the computing device 100 A. The user may scroll through the text media assets 51 1 , , in the first media track 304i and select a specific one that the user may want to mix to the master track 150. The user may also scroll through the image media assets 52i, 2,3 in the second media track 304 2 and select a specific one that the user may want to mix to the master track 150. For example, when the display device 135 includes a touchscreen, the user may scroll with his/her finger to laterally navigate amongst the text and image media assets 511 ,2,3, 52i,2,3 until the user has found a desirable text or image media asset that the user wishes to possibly add to the master track 150. In the example of Fig. 23C, text media asset 511 is the selected text media asset and image media asset 52] is the selected image media asset.

In addition to interface control 324 Ί , which has already been described with reference to Fig. 23 A, there is provided interface control 324' 2 similar thereto but is for enabling or disabling the selected image media asset (in this case image media asset 52i) from the plurality of image media assets 52i,2,3 associated with the media track 304 2 . As shown in Figure 23D, once the user has selected the interface control 324Ί , the selected text media asset, which in this example is the text media asset 511 , is then shown in the playback preview window 302 via a display box 67] . Also shown in Figure 23D, once the user has selected the interface control 324' 2 , the selected image media asset, which in this example is the image media asset 52] , is also shown in the playback preview window 302 via a display box 672.

Now, the user may activate interface controls 324Ί and/or 324' 2 depending on whether the user wishes to mix the selected text media asset 511 and/or the selected image media asset 52 \ , with or without another media track (e.g., media track 304 3 ) to the master track 150. Thus, if one wants to add an image (selected image media asset 52]) in a specific area of one's video appearing on media track 304 3 , with some text on it as well (selected text media asset 51 i), one activates the interface controls 324Ί , 324' 2 of both the image and text (interface controls 324' 2 and 324Ί, respectively), resizes and positions the text where one wants display box 671 to be, resizes and positions the image where one wants display box 67 2 to be, and then presses/taps interface control 314 3 in order to mix the video from media track 304 3 with the image and the text as overlay. If one no longer wants to mix the video from media track 304 3 with the image and/or the text, one can turn off the interface controls 324Ί, 324' 2 and then pressing/tapping interface control 314 j will only mix the video from media track 304 3 to the master track 150. It thus becomes possible to quickly toggle between mixing / not mixing different images and text, and this also allows swiping within the presentation areas 304) , 304 2 to select a different text or image to be overlaid onto the video.

It should be appreciated that the user may also control various attributes/features of the selected media assets (e.g., text/video) when adding them to the master track 150, in particular their appearance in the form of an overlay on top of a video track of the master track 150. For example, the application software 118, when executed by the computing device 100A, may, through the GUI 130, enable the user to keyframe (add movement) to text and images by selecting a start keyframe position and an end keyframe position (e.g., by moving and/or zooming and/or rotating the image or text). In other embodiments, the application software 118, when executed by the computing device 100 A, may, through the GUI 130, respond to selection of (e.g., double tapping on) a media asset/track by opening a contextual menu that is unique for each media asset/track. For example, a different menu may be provided for an audio asset (e.g., adjust volume + fade in fade out etc), a video asset (e.g., adjust volume, fade in fade out, slow or fast motion (slo or fast mo), filters, etc.), an image asset (e.g., position, transparency, filters, background color, etc,) or a text asset (e.g., position, size, color, font, background color, etc).

It should also be appreciated that a specific media track (e.g., the first media track 304i) may be associated with a plurality of text media assets and a different media track (e.g., the second media track 304 2 ) may be associated with a plurality of image media assets. It should further be appreciated that the user may mix an image and text to the master track at the same time. It should even further be appreciated that the user may mix multiple text and/or image media tracks to the master track 150 at the same time.

Mixing with remote control

In the examples given above the mixing of the media tracks 304 1;2, K . was carried out based on user interaction with a touchscreen; however, functionality of the above examples may be implemented on a device that does not include a touchscreen. For instance, the remote control 185 may be used to effect the process shown in the flowcharts 700, 900 and 1300 in Figures 7, 8 and 13, respectively. In the cases where the remote control 185 is used, the user may simply select top and/or bottom arrows of the remote control to select between the media tracks 304 ! ; 2, κ, i order to be able to select the appropriate track. Then by selecting the left and/or right arrows of the remote, the user may then scroll backwards or forwards to preview and position the video and/or audio of a particular media track 304 j at the desired start position. When the user positions the particular media track 304 j at the desired start position, the particular media track 304 j is automatically played in the playback preview window 302 from the start position indicated by the start position time marker 356. Then by pressing a select/enter button (e.g., a middle button) of the remote control 185, the user can then mix particular media track 304 j from the desired start position to the master track 150. The remote control 185 may also be used to select one or more of the interface controls 324ι >2 , κ corresponding to respective ones of the media tracks 304], 2, κ for enabling or disabling audio tracks associated with respective ones of the media tracks 304^2, κ· In such case, the remote control 185 may also be used to determine a start position of a second particular media track 304 m after determining a first start position of a first particular media track 304 j such that the audio track associated with the first particular media track 304 j is played back from the first start position each time the user uses the remote control to determine the start position of the second particular media track 304 m .

The remote control 185 may also be used to select one or more track synchronization controls 322i i2, . K such that the synchronized selected media tracks 304 a> ;X move in relation to each other by manipulation by the user of either one of the synchronized media tracks 304 a> iX , In such case, the remote control 185 may also be used to scroll one of a first particular media track 304 a or a second media track 304 x which causes both of the first particular media track 304 a and the second media track 304 x to scroll together / in unison.

For the sake of clarity, it is appreciated that reference to playback in the playback preview window 302 include playback of audio associated with the media tracks being played in the playback preview window 302 via an audio output means such as one or more speakers or another output of the computing device 100A via the input/output circuitry 120.

It is also appreciated that, in other embodiments, the start position time marker 356 may be a plurality of start position time markers each associated with a respective media track 304^, . N, such that each start position time marker can respectively move in relation to the media tracks 304^2, N- In other words, in other embodiments, the user may scroll with a start position time marker instead of scrolling with the media track.

Templates

According to another embodiment of the present invention, there is provided a template 220. The template 220 can be considered to be a computer readable file that is constructed in accordance with a unique data structure that is known to and interpretable by the application software 118.

A possible implementation of the data structure of the template 220 will now be described with reference to Figures 13A-13C, where Figure 13A is an illustration of a possible representation of a computer readable file for storing instructions that define the template 220, Figure 13B is a visual depiction of the template 220 over a period of time and Figure 13C is a block diagram illustrating the relationship of the template 220 with a plurality of template-provided media assets 2351,2, L and an output media file 252.

As shown in Figure 13C, the template 220 is associated with the plurality of template-provided media assets 235i,2, L- The template-provided media assets 235i,2, L may be computer-readable files that specify media content such as video, audio, pictures/images, text and/or any other suitable content. In some embodiments, one or more of the template-provided media assets 235 1 = 2, . L may also have an option (as determined by the template creator) to enable the user to select from multiple options of effects (ex: add slow motion or fast motion to a video) or color filters and/or to create their own special effects and/or color filters. The template-provided media assets 235 i ;2 , L may include the media content files N, as discussed elsewhere in this document, and that the term "media asset" may be used interchangeably with "media content". The template-provided media assets 235] I 2,...L may be stored as part of the template 220, separate from the template 220 but on the same computing device that stores the template 220 and/or on a computing device that is remote from the computing device that stores the template 220. The template 220 may include pointers pointing to where the template-provided media assets 235^ L are stored and may include links, URLs, and/or any other suitable identifier that links to where the template-provided media assets 235i,2, L can be located and accessed.

The template 220 includes instructions which may include mixing instructions 221 , user instructions 222, attributes 223 and/or any other suitable information.

The mixing instructions 221 are for specifying how the template-provided media assets 235i,2 L are to be mixed into an eventual output media file 252. More specifically, the mixing instructions 221 define a set of instructions for arranging, combining, or packaging the template-provided media assets 235^2 L into an eventual output media file 252 and may include instructions regarding the appearance, synchronization, duration of the template-provided media assets 235i j2. L as they should appear in the eventual output media file 252. These instructions may include pointers or references to certain areas of the template-provided media assets 235i ,2... L at certain times as they are to appear in the eventual output media file 252 (e.g., start and stop times), in some cases multiple simultaneous references (e.g., in the case of an audio media asset and a video media asset) and in some cases a second audio or video media asset (e.g., during fade-out and fade-in).

The attributes 223 may indicate whether a specific media asset is selectable or non-selectable by an end user for replacement or update. In the cases where a specific media asset is selectable for replacement, such replacement may mandatory or non-mandatory. The attributes 223 may also include the audio levels associated with audio media assets, the transparency level of video, text or image media assets, fade in and/or fade out levels, layering for the images and/or text over video media assets, and/or any other suitable attributes. Other attributes, depending on the type of media asset (audio, video, image, text, ...), may include keyframing, slow motion, fast motion, color filters, fade in, fade out, image position, transparency, foreground color, background color, text font, etc.

The attributes 223 may be considered properties associated with the template-provided media assets 235i i2 L of the template 220 such that these properties provide additional instructions of how the template-provided media assets 2351,2 .. L may be mixed according to the mixing instructions 221 into the eventual output media file 252 and/or provide further instructions of how the template-provided media assets 235i,2 L may be accessible (e.g. selectable or not selectable, mandatory or non- mandatory for replacement, etc.) by the end user.

The user instructions 222 may specify instructions to the end user regarding the possible replacement by the end user of one or more specific media assets from the set of template-provided media assets 235 1 ,2 . . L . To further illustrate the instructions that define the template 220, the reader is directed to Figure 13 A which illustrates a specific and non-limiting example of a computer readable file that includes instructions that define the template 220. These instructions include mixing instructions 221 for arranging the template-provided media assets 235I ; 2, ..L into the eventual output media file 252 by containing the start and stop times and pointers to corresponding media assets that could be arranged to create the eventual output media file 252. Also, in this example the computer readable file includes user instructions 222 and attributes 223. Figure 13B shows a visual depiction of the template 220 of Figure 13 A and illustrates how over a period of time the template-provided media assets 235i ; 2,...L contribute to the eventual output media file 252. Figures 13A and 13B are discussed further below.

It should be appreciated that the template 220 may be implemented in various ways and that the examples shown in Figures 13A to 13C are for illustration purposes only. Template u e

Possible use of the template 220 will now be shown with reference to Figures 14A to 14F, 15 and 18. Figures 14A to 14F show screen layouts of a graphical user interface on a computing device lOOA ! associated with the end user in accordance with specific and non-limiting examples of implementation of using the template 220. Figure 15 illustrates a flowchart 1700 pertaining to using the template 220 in accordance with an embodiment. Figure 18 illustrates a plurality of end user computing devices 100Ai ; 2 N that may access the template 220 from a computer server 180.

Turning to Figure 18, the end user computing devices 100Αι ι2 N are specific and non-limiting implementations of the computing device 100A discussed elsewhere in this document. Although a plurality of end user computing devices 100Α ] ί2 N are shown in Figure 18, for the examples discussed below reference is made to a single end user's computing device lOOAi and it is appreciated that one or more end user computing devices 100A] j2. N may be able to access and use the same template 220 in some examples of implementation. The access of the template 220 from the computer server 180 is discussed in further detail below.

For ease of readability of the rest of this document, unless specified otherwise, reference to the computing device lOOAi is to be understood to be reference to the end user's computing device for using the template 220 to create the output media file 252 and reference to the computing device 100A is to be understood to be reference to a computing device for creating the template 220. The creation of the template 220 is discussed elsewhere in this document. The computing device 100 A and the end user's computing device lOOAi may be running a different version of the application software 118, having different functionality - functionality for the creation of the template 220 and/or functionality of using the template 220 to create the output media file 252. In other cases, the computing device 100 A and the end user's computing device lOOAi may be running the same version of the application software 118.

The end user's computing device lOOAi may obtain the template 220 from the computer server 180 storing the template 220 or may obtain the template 220 from the template creator's computing device 100 A directly. Once obtained, the end user's computing device lOOAi may store the template 220 in the computer readable memory 114 associated with the end user's computing device lOOAi. In other examples, the template 220 may not be stored on the end user's computing device lOOAi but may be stored on the server 180 and accessed by the end user's computing device lOOAj. Regardless of the means for obtaining and/or accessing the template 220, the end user's computing device 100A t accesses the template 220 and uses the template 220 to create the output media file 252, as further discussed below.

Turning now to the process 1700 shown in Figure 15, at step 1702, the end user's computing device lOOAi accesses the template 220 in the computer readable memory 114 of the end user's computing device 100A] via the application software 118. This may include the end user running the application software 118 and then selecting a specific template 220 for using with the application software 118. As discussed above, the template 220 includes mixing instructions 221 for mixing the template- provided media assets 235i ,2... L into the output media file 252 and the user instructions 222. Once loaded by the application software 1 18, the template 220 is accessible by the end user. More specifically, the end user using the computing device lOOAi interacts with the GUI 130 on the display device 135 of the computing device lOOAi to interact with the application software 118. The application software 118 causes the GUI 130 to request from the end user user-provided media assets 235'I J2 ,... M which can then be used to create the output media file 252.

At step 1704, the application software 118 interacts with the end user via the GUI 130 of the computing device lOOAi to cause the computing device lOOAi to acquire from the end user the user- provided media assets 235 Ί,2. M selected by the end user in response to conveyance by the computing device lOOAi of the user instructions 222. In other words, the end user provides the user- provided media assets 235'i ; 2 M in response to the user instructions 222 of the template 220 that are conveyed to the end user via the GUI 130 of the computing device lOOAi. A specific and non-limiting example of step 1704 will now be further illustrated with reference to Figures 14A to 14F. From the perspective of the end user, the template 220 includes user instructions 222 that specify various "steps" (also sometimes referred to as "media manipulation steps") that the end user is requested to complete such that the end user may then create the output media file 252. As shown in Figure 14A the application software 118 implements a workspace on the GUI 130 that the end user may interact with, where the workspace includes the playback preview window 302 and a presentation area 309 for presenting the user instructions 222. The playback preview window 302 shows an icon including a play indicator 289 for playing back one or more of the template-provided media assets 235i,2 .. L in the playback preview window 302. The user instructions 222 may include text, images, audio, videos and/or any other suitable information to assist the end user in following the provided instructions. The workspace also includes a navigation bar 285 that illustrates the title of the template, and possibly other graphical elements 284An interface control 281 is shown in Figure 14A such that if the end user selects the interface control

281 the end user is provided with additional user instructions, which are shown in Figure 14B. As shown in Figure 14A, the user instructions 222 specify to the end user in this example to "replace video clip" and specify the duration of time of the video media asset to be replaced. Interface control

282 may be selected by the end user to record a video or interface control 283 may be selected by the end user to select a pre-existent media asset from a set of media assets accessible from the end user's computing device 100A) .

In the case that the end user selects the interface control 283 to select a pre-existent media asset, the pre-existent media asset may be stored locally on the end user's computing device lOOAi or may be stored on a remote server. As such, the application software 118 provides the user with an opportunity to browse in the memory 114 of the computing device 100 A] or an online directory of a remote server in order to locate a media file to replace the template-provided media asset associated with a specific step of the user instructions 222. By way of example, if a first template-provided media asset 235i is associated with a first specific "media manipulation step" of the user instructions 222, then when the end user selects the interface control 283, the end user may then select a specific media file to replace the first template-provided media asset 2351 in the eventual output media file 252. As the length of the first template-provided media asset 235 \ which is to be replaced is known, the duration of the imported media asset would then be accordingly adjusted, either automatically by the application software 118 or is cropped with assistance from the end user, so as to match the duration of the first template-provided media asset 2351 that is being replaced.

In the other case that the end user selects the interface control 282 to record a media asset, this is further illustrated in Figure 14C. More specifically, Figure 14C illustrates the GUI 130 after the end user selects the interface control 282 for recording a video to replace the template-provided media asset associated with a specific step of the user instructions 222. By way of example, if the first template-provided media asset 2351 is associated with the first specific step of the user instructions 222, when the end user selects the interface control 282, the end user may then record a media asset (e.g., record a video, with or without audio; record audio; take a picture; add text; etc.) to replace the first template-provided media asset 235i in the eventual output media file 252. As shown, the end user can select the interface control 286 for recording a video clip and the video being recorded is shown in a recording playback window 303. As the video is being recorded, the first template- provided media asset 235i to be replaced may be played in a reference window 305 to indicate to the end user the type of footage that should be recorded. The reference window 305 may also provide visual guidance to the user, such as showing exactly how to film a specific scene by zooming in or panning, etc. The visual guidance has a role in guiding the user in real time as the user captures his/her own footage - which may be useful in creating a pleasing visual transition between scenes and overall may lead to better, more professional looking videos. A time indicator 288 is shown to indicate to the end user the duration of the video clip that is desired and the progress of the current recording (e.g., the time remaining in the recording or the time amount currently recorded). The recording can terminate when the desired duration of the replacement video clip is reached, or the recorded media asset may be cropped with user assistance after the user has finished recording. The application software 1 18 may provide the user with the opportunity to preview the recorded video clip and to replace it if the user is not satisfied with the recording. As shown in Figure 14D, once the end user is done recording the video clip, the GUI 130 presents to the end user a step complete indicator 288 to indicate to the end user that the current media manipulation step is complete. The end user may then proceed to the next media manipulation step in the user instructions 222. This may include the user swiping or scrolling on the touch screen of the computing device lOOAi to select the next step. In another embodiment, the user may be automatically presented with the next step in the user instructions 222. As shown in Figure 14E, the next step (which is the second step in this example) is to replace an audio clip for the second template-provided media asset 2352- Similar to the replacement of the video clip discussed above, the end user may then proceed to replace the current audio clip. This may include the user selecting a replacement audio clip or recording one, in a similar fashion as discussed above.

Figure 14F illustrates the user instructions 222 as having four steps, where the end user can proceed to replace the template-provided media assets 2351,2,3,4 associated with each steps until the end user is done. In other embodiments the number of steps in the user instructions 222 may be more or less than four. As such, the user instructions 222 may be presented to the end user as a listing of steps that the user is requested to complete prior to creating the output media file 252. More specifically, in this example, the steps instruct the end user to provide a respective media asset to replace each one of the template-provided media assets 2351,2,3,4. In this example the third step is the replacement of text for the third template-provided media asset 235 3 . Similar to the replacement of the video clip discussed above, the end user may then proceed to replace the current text. This may include the user selecting a text file or inputting in text (e.g., a keyboard visible on the GUI 130, speech-to-text software and/or any other suitable input means), in a similar fashion as discussed above.

In this example the fourth step is the replacement of an image for the fourth template-provided media asset 235 4 . Similar to the replacement of the video clip discussed above, the end user may then proceed to replace the current image. This may include the user selecting a replacement image or taking a photo using the camera of the computing device lOOAi, in a similar fashion as discussed above.

Although in the examples illustrated above the end user replaced each of the template-provided media assets 235 1 ,2,3,4, it is appreciated that the creator of the template 220 may specify that some of the steps are mandatory and that some of the steps are non-mandatory and/or that some of the template-provided media assets 235i , .. .L are replaceable and some are non-replaceable. For example, as is shown in Figure 13B, the template-provided media assets 235s ; 6 are non-replaceable by the end user and in the example illustrated in Figure 14F are not presented to the user for replacement. In the case that a step is mandatory, the end user is required to replace the template-provided media asset associated with that step. In the case that a step is non-mandatory, the end user may optionally choose to replace the template-provided media asset associated with that step or choose to use the template-provided media asset associated with that step. It is appreciated that the application software 118 may specify that the end user is to follow the steps in chronological order or may allow the user to complete the steps out of order.

The four steps may have different colors when presented on the display device 135 such that a video media asset, an audio media asset, an image media asset and a text media asset are shown in respectively different colors. In other words, colors may be used to pertain or identify specific media types. Also, slight darkened version of the various colors may be used as a visual aid for consecutive media types. As some steps in the template 220 may not be mandatory, the user may not have to update the media asset associated with that step, and as such a different color (e.g., a grey color or any other suitable color) may be used to identify that a step is not-mandatory.

Although not illustrated in Figures 14A to 14F, when the user addresses the user instructions 222 and hence the various steps, some of the steps may include the user providing additional layering or visual effects (e.g., parallax effect or any other suitable effect). For example, an accelerator in the computing device lOOAi may be used such that when the end user rotates the computing device lOOAi the end user is provided with a screen to provide additional visual effects.

At step 1706, the application software 118 then mixes at least the user-provided media assets 235 Ί ,2,. , M to the output media file 252 in accordance with the mixing instructions 221. More specifically, if the template 220 requires that the end user replace all of the template-provided media assets 235] ,2, .. . L with user provided media assets, then at step 1706, the mixing at step 1706 would include mixing the user-provided media assets 235Ί,2, M to the output media file 252. In other cases, where not all of the template-provided media assets 235] ,2, L associated with the template 220 are to be replaced by the end user, the mixing at step 1706 would then include mixing both user-provided media assets 235Ί,2, M and the non-replaced template-provided media assets from the template- provided media assets . L to the output media file 252.

It should be appreciated that, at step 1704. while the user is providing the user-provided media assets 235 ' 1,2 M, the mixing instructions 221 may be updated to include how the user-provided media assets 235' i,2 . M and the non-replaced template-provided media assets from the set of template- provided media assets 235i >2 . L (if any) are to be mixed into an eventual output media file 252. As such, the mixing instructions 221 may be updated to define a set of instructions for arranging, combining, or packaging the user-provided media assets 235Ί >2 M and the non-replaced template- provided media assets from the set of template-provided media assets 235i,2 .. . L (if any) into the eventual output media file 252 and may include instructions regarding the appearance, synchronization, duration of the user-provided media assets 235 \ 2 . M and the non-replaced template- provided media assets from the set of template-provided media assets L (if any) as they should appear in the eventual output media file 252. These instructions may include pointers or references to certain areas of the user provided media assets 235 ' 1,2 . .. M and the non-replaced template-provided media assets from the set of template-provided media assets 235i >2 L (if any) at certain times as they are to appear in the eventual output media file 252 (e.g., start and stop times), in some cases multiple simultaneous references (e.g., in the case of an audio media asset and a video media asset) and in some cases a second audio or video media asset (e.g., during fade-out and fade-in).

As shown in Figure 14F, after the end user has addressed the user instructions 222 and provided the user-provided media assets 235 Ί ;2, M, the end user may select the generate output media file indicator 290 to generate the output media file 252. The section of the output media file indicator 290 causes the application software 118 to mix the user-provided media assets 235'i,2„ M and the non- replaced template-provided media assets (if the template 220 specifies that not all of the template-provided media assets 235i >2 , L are required to be replaced) to create the output media file 252. The user may be provided with further options to specify the format of the output media file (e.g., .mp4, .avi, .mpg, .mov, .wmv or any other suitable medial file format) and where the user would like the output media file 252 to be saved, which may include the file being stored locally on the computing device lOOA], uploaded to a remote server or transmitted to a social media platform. To further illustrate the template 220, the template 220 will now be further discussed with reference to Figures 13A to 13E. Figures 13A to 13C illustrate the template 220 prior to the user following the user instructions, for example, as shown in Figures 14A to 14F and as discussed above. Figures 13D and 13E illustrate the template 220 after the user followed the user instructions 222, for example, as shown in Figures 14A to 14F and as discussed above. Turning now to Figures 13A and 13B, the instructions of the template 220 include the mixing instructions 221 for arranging six template- provided media assets 235i 235 2 23 3 35 4 235s 235 6 into the eventual output media file 252. More specifically, the first template-provided media asset 235] has the file name "videol .mp4" which represents the pointer to the first template-provided media asset 235i, the second template-provided media asset 235 2 has the file name "audiol.mp3" which represents the pointer to the second template-provided media asset 235 2 , the third template-provided media asset 235 3 has the file name "textl .txt" which represents the pointer to the third template-provided media asset 235 3 , the fourth template-provided media asset 235 4 has the file name "image l .png" which represents the pointer to the fourth template-provided media asset 235i, the fifth template-provided media asset 235 5 has the file name "video2.mp4" which represents the pointer to the fifth template-provided media asset 235 5 and the sixth template-provided media asset 235 6 has the file name "audio2.mp3" which represents the pointer to the sixth template-provided media asset 235β. Although in this example the pointers to the template-provided media assets 235i 235 2 235 3 35 4 235 5 235β are simply the file names, it is appreciated that the pointers would typically include file directory/path information or further information (e.g., hyperlink) specifying where the files are stored and can be accessed or retrieved. As shown, the mixing instructions 221 specify that the first and second template-provided media assets 235] 235 2 are to be arranged from 0 seconds to 8 seconds in the eventual output media file 252, that the third template-provided media asset 235 3 is to be arranged from 6 seconds to 7 seconds in the eventual output media file 252, that the fourth template-provided media asset 235 4 is to be arranged from 7 seconds to 8 seconds in the eventual output media file 252 and that the fifth and sixth template-provided media assets 235s, 235 6 are to be arranged from 8 seconds to 10 seconds in the eventual output media file 252. Also, the attributes of the template 220 specify in this example that the first four template-provided media assets 235i 235 2 235 3 235 4 are selectable by an end user for replacement and that the fifth and sixth template-provided media assets 235s, 235 6 are non- selectable by an end user for replacement. For the selectable template-provided media assets 235i 235 2 235 3 235 4 user instructions 222 are also included in the template 220, which are show as "Add video ...", "Add audio ...", "Add text ..." and "Add image ...", respectively. After the end user interacts with GUI 130 of the computing device lOOAi such that the end user follows the user instructions 222 associated with the template 220 and that the application software 118 associated with the computing device lOOAj acquires the user-provided media assets 235Ί,2, . M selected by the end user in response to the user instructions 222, the template 220 may then correspond to the template 220 shown in Figures 13D and 13E. Comparing the template 220 shown in Figure 13C with that of Figure 13D, it can be seen that the template 220 in Figure 13D includes additional pointers to the end user-provided media assets 235 Ί,2, .. M, after the end user provides media assets 235 ' 1 ,2, M in response to the user instructions 222. This is further illustrated in Figure 13E, which shows the template 220 having mixing instructions 221 where the mixing instructions 221 include pointers to the user-provided media assets 235 Ί 235 '2 235 '3 235 ' 4 to replace the template-provided media assets 235i 23 2 235 3 235 4 . It is appreciated that the pointers to the template-provided media assets 235] 235 2 235 3 235 4 may still be included in the template 220 after the media assets of the template 220 are updated by the end user, as the end user may later want to access the template 220 and remove one of the user-provided media assets 235 Ί 235'2 235 ' 3 235' 4 and have access to the originally template-provided media asset. In other words, when the end user "replaces" one of the template-provided media assets 235i ;2, L (e.g., the first template-provided media asset 235i) with one of the user-provided media assets 235 ' 1;2, M (e.g., the first user-provided media asset 235Ί) , this refers to replacing the template-provided media asset (e.g., the first template- provided media asset 235i) with the user-provided media asset (e.g., the first user-provided media asset 235 Ί) in the output media file 252 but not necessarily overwriting or replacing it within the template 220 itself.

The output file 252 generated from the template 220 shown in Figure 13E would then include the acquired media assets 235 Ί 235'2 235 ' 3 235' 4 and the template provided media assets 235s 235 6 arranged according to the mixing instructions 221.

Template creation

The template 220 may be created by the user of the computing device 100A hereinafter referred to as a creator of the template 220 or "template creator". The creation of the template 220 will now be discussed with reference to Figures 16A to 16F and 17. Figures 16A to 16F show screen layouts of the GUI 130 on the computing device 100 A in accordance with specific and non-limiting examples of implementation of creating the template 220. Figure 17 illustrates a flowchart 1800 pertaining to creating the template 220 in accordance with an embodiment.

The process of creating the template 220 may be a feature of the application software 1 18, and the application software 118 may include both the functionality of mixing of media tracks 304] ,2 κ to create the master track 150 (discussed elsewhere in this document) and template creation. In other embodiments, different versions of the application software 118 may exist, and the version of the application software 1 18 for creating the template 220 may not include the functionality of mixing of media tracks 304 ] >2 κ to create the master track 150.

At step 1802 of the flowchart of Figure 17, the application software 1 18 acquires the plurality of template-provided media assets 235 i ;2; . L that form part of the template 220. This may be done in various ways, as is discussed below. In accordance with an embodiment, after the template creator at the computing entity 100A is finished creating the master track 150, the template creator may, alternatively or in addition to creating the output media file 152, create the template 220. For example, the mixing workspace may include an interface control (not illustrated) that is selectable by the template creator. When this interface control is indeed selected by the template creator, the master track 150 is converted into the template 220 or the master track 150 is then used in the process of creating the template 220. By way of another example, the template creator may select a template creation option in the application software 118 and then load a pre-existing draft 660, where the draft 660 is then converted into the template 220 or is used to create the template 220. As draft 660 containing the master track 150 may be a computer-readable file that specifies selected portions of the media content of one or more of the media content files 105i ,2, N to define the media tracks 304 l j2 κ and may include mixing instructions of how the media content of the media tracks 304^2 .. and/or media content files 105i ;2 N 1...N are to be mixed, the master track 150 may be able to specify based on the mixing instructions the plurality of template-provided media assets 235 ] >2 , L- As such, the master track 150 and/or the draft 660 may define the plurality of template-provided media assets 235i j2i L based on the instructions therein or may be processed by the application software 1 18 to generate the template-provided media assets 235i j2j L - I other words, the application software 1 18 interacts with the template creator via the GUI 130 of the computing device 100A to acquire a media file (e.g., the draft 660, the master track 150 or any other suitable media file) having the plurality of the template-provided media assets 235i ;2; L or to acquire a media file that can be processed to generate the template-provided media assets 235i, 2i L-

In other embodiments, the application software 1 18 interacts with the template creator via the GUI 130 of the computing device 100A to decompose an acquired media file into the plurality of template-provided media assets 235], 2j L- For example, the template creator may load a media file such as video media file (e.g., .mp4, .avi, .mpg, .mov, .wmv or any other suitable medial file format) and the application software 1 18 allows the template creator to interact with the GUI 130 to decompose the acquired media file into the plurality of template-provided media assets 235i ,2; L- For instance, the application software 118 may provide on the GUI 130 one or more control interfaces to allow the template creator to partition the loaded media file into the plurality of template-provided media assets 235^ , χ, which may include scrolling through and/or playing back the loaded media file and selecting the various points to decompose the loaded media file into the plurality of template- provided media assets 235i j2, L- In other words, the application software 118, based on instructions provided by the template creator through the GUI 130, may decompose the acquired media file by processing the acquired media file and the template creator's instructions to generate the plurality of template-provided media assets 235i,2, L- Other, machine-assisted or completely machine-driven, methods of decomposing the acquired media file into the plurality of template-provided media assets L may also be used and are within the scope of the present invention.

It is appreciated that at this step, in addition to acquiring the template-provided media assets 235i,2, . .. L, the mixing instructions 221 for arranging the template-provided media assets 235i, 2 , χ into the eventual output media file 252 may be acquired or determined. In other words, if the templated- provided media assets 235i i2, . χ are acquired from the draft 660 and/or the master track 150, the mixing instructions 221 may include the instructions defined in the draft 660 and/or the master track 150. In the case, of where the template-provided media assets 235 1 2, χ are acquired by decomposing the loaded media file, the process of decomposing the loaded media file may cause the application software 118 to create the mixing instructions 221 at that time. As such, the mixing instructions 221 interpretable by the computing device HOAi of the end user to combine the plurality of template- provided media assets 235i,2„ L into an output media file 252 may be created at this stage.

Regardless of how the plurality of template-provided media assets 235i,2, L is acquired or generated, and irrespective of the arrangement of the template-provided media assets 235ι, 2 ,..χ as defined by the mixing instructions 221, at the end of step 1802 the template 220 is at least associated with the template-provided media assets 235i,2, L and the mixing instructions 221.

At step 1804, the application software 118 interacts with the template creator via the GUI 130 of the computing device 100A to attribute to at least a first one of the template-provided media assets 235i,2, L a property of being selectable by the end user. More specifically, the application software 118 causes the GUI 130 to request from the template creator the identity of which of the template- provided media assets 235i ;2 ,. x the template creator would like to be made available to the end user for replacement, as well as various instructions that the template creator would like the end user to follow. For instance, the GUI 130 may display the template-provided media assets χ and allows the template creator of the computing device 100A to select and/or provide various properties which are attributed to respective template-provided media assets 235^ , L, including allowing the user to attribute to specific ones of the template-provided media assets 235] ,2, x a property of being selectable by an end user. The various properties associated with respective template-provided media assets 235i,2, . L, that the template creator of the computing device 100A may be able to attribute thereto may include allowing the template creator to select a specific one of the template-provided media assets L as being selectable by the end user and also being "mandatory" or "non- mandatory". As discussed elsewhere in this document, the mandatory attribute indicates that the end user will be required to replace the media asset associated therewith and the non-mandatory attribute indicates that the end user may optionally replace the media asset associated with this attribute.

The template -provided media assets 235 ] j2, L may be displayed in a chronological order that reflects the appearance of each individual media asset within the template 220. Thus, if the template 220 is viewed as being composed of segments, each segment being associated with one or more media assets, then those media assets associated with the first segment would be presented as may be displayed as template-provided media assets 235] ,2, etc . and thereafter for the media assets associated with the second segment, etc. Continuous media assets (e.g., continuous background audio used for multiple segments) would be shown as a single audio asset. As will be seen further below, each such asset can be made a "step" to be completed by the end user when using the template.

A specific and non-limiting example of steps 1804 and 1806 will now be further illustrated with reference to Figures 16A to 16F. As shown in Figure 16A the application software 118 implements a workspace on the GUI 130 that the template creator may interact with, where the workspace includes the playback preview window 302 and a presentation area 311 for presenting a list of the template- provided media assets 35 1 ,2,. L (although, in Figure 16A the list only shows the template-provided media assets 2351,2,5 and in Figure 16B the list shows the template-provided media assets 235ι,2,3,4,5,6· It is noted that the reference numerals used for the template-provided media assets 235i,..., 6 correspond to the same reference numerals used in Fig. 13B illustrating the chronological appearance of the media assets within the template 220.)

The playback preview window 302 shows an icon including the play indicator 289 for playing one or more of the template-provided media assets 235i i2j . L- In the example shown, each of the media assets in the list of the template-provided media assets 235i ,2, L includes a respective interface control 296i,2 . L for playing the respective media asset in the playback preview window 302. The workspace also includes the navigation bar 285 that illustrates the title of the template and may also include other graphical elements 284. At this stage, the list of the template-provided media assets 235i,2, L presented on the GUI 130 is in the default state where none of the template-provided media assets 235ι,2, have user instructions 222 yet defined. The list of media assets 235] j2> L may be ordered according to the mixing instructions in a chronological order, type, file name, date, etc. In Figure 16A, the list of media assets 2351,2, . . . L is not ordered chronologically if this list is compared to the list of media assets chronologically displayed in Figure 13B.

By way of example, if the template creator interacts with the GUI 130 and swipes in a certain direction (e.g., up) on the touchscreen the template creator may be presented with a "full-screen" view of the list of the template-provided media assets 2351 ,2, .. L, as is shown in Figure 16B. While it may be helpful to display this list in chronological order, it is not a requirement and indeed is not the case in Figure 16B if compared to the list of media assets chronologically displayed in Figure 13B. As shown in Figures 16A-16C, interface controls 297i,2 L are displayed by the GUI in association with respective ones of the media assets 235i,2„ L- As particularly shown in Figure 16C, the template creator may select one of the interface controls 297i,2 L on a respective media asset to specify user instructions 222 associated with the selected media asset. For instance, if the template creator selects interface control 297i the template creator may then specify user instructions 222 associated with template-provided media asset 235i. Alternatively, if the template creator selects interface control 2972 the template creator may then specify user instructions 222 associated with template-provided media asset 235 2 , and so on.

At step 1806, the user instructions 222 for conveyance by a computing device of the end user to elicit from the end user a selection of media content to replace a selected one of the template -provided media assets 235^2, L (in this case, template-provided media asset 235i) are created and associated with the template 220. As shown in Figure 16D, the application software 118 via the GUI 130 provides the template creator with various parameters for creating user instructions 222 associated with template-provided media asset 235] . For example, the control interface 271 may allow the template creator to associate template-provided media asset 235] with a "step", such that, when template creation is completed, the user instructions 222 include one or more "steps" that the end user will be requested to complete. The template creator may select the text box 272 to provide (e.g., by typing in) the name of the "step". The template creator may select the control interface 273 to define the step as being mandatory or non-mandatory. The template creator may select the text box 274 to enter in the additional user instructions. Once the template creator is satisfied with the user instructions 222 associated with template-provided media asset 2351 the template creator may select the interface control 275 to save the step and hence the user instructions 222 associated with template-provided media asset 235i. Once user instructions have been associated with the template-provided media asset 23 1 , the template creator may then proceed in a similar manner as discussed above and add additional steps to other template-provided media assets 2352,2,. .. L- In other words steps 1804 and 1806 may be repeated. As shown, in Figure 16F the template creator has added three steps, a first step to template-provided media asset 235i, a second step to template-provided media asset 235 2 and a third step to template- provided media asset 235 3 . If the template creator would like to edit a specific step, the template creator may select the control interface . L of the media asset that the template creator would like to edit. As shown in Figure 16E, the template creator may edit the user instructions associated with template-provided media asset 235i by selecting the interface control 276 and updating the instructions in a similar fashion as was discussed in relation to Figure 16D.

By way of example Figure 13F illustrates an example of the template 220 after being created by the template creator of the computing device 100 A, where the user instructions 222 include a plurality of steps.

The template creator may toggle between viewing the user instructions and the list of template- provided media assets 235i ,2„ χ by selecting the interface control 278 to view the list of template- provided media assets 235] 2 , L and the interface control 279 to view just those template-provided media assets 235^2, L that have steps of the user instructions 222 associated therewith, as is shown in Figures 16F and 16G.

As shown in Figure 16H, the template creator may preview the template 220 and in such case the template creator would be provided the template 220 as would be shown to the end user in a similar fashion to the discussion above regarding use of the template 220 and as shown in Figure 14A to 14F.

Once the template creator is satisfied with the template 220, the template creator may publish (e.g., save and/or export) the template 220 by selecting the control interface 280. The publishing of the template 220 may include transmitting the template 220 to the computer server 180 over, e.g., a network. Then the end user may be able to access the template 220 from the computer server 180 to then use the template 220, as discussed elsewhere in this document. It is appreciated that the flowchart 1800 provides a way to create the template 220 for later use by the end user via the end user's computing device lOOAi and the specific steps of the flowchart 1800 may vary. The end result of the flowchart 1800 may result in the creation of the template 220 that includes the plurality of template-provided media assets 235^2, L having mixing instructions 221 associated therewith for combining the plurality of template-provided media assets . L into an eventual output media file 252 and user instructions 222 for eliciting from the end user one or more user- provided media assets 235' 1;2 , ... M to replace one or more of the template-provided media assets 235^2, L i the eventual output media file 252. It is also appreciated that the mixing instructions 221 may be updated by the application software 118 to correspond with the user-provided media assets 235'i : 2, M , once provided by the end user (as discussed elsewhere in this document).

It is also appreciated that the end user at the end user's computing device lOOA] may only be shown the selectable media assets from the plurality of template-provided media assets 235 1 ,2, L while the creator of the template 220 at the computing device 100 A has access to all of the template-provided media assets L and may define which media assets that the creator would like the end user to have access to. Sharing and purchasing of templates

Once the template 220 is created, the template creator may share the template 220 with other users by transmitting the template 220 to other users over the Internet, upload the template 220 to the computer server 108 accessible over the Internet such that the template 220 may be accessed (e.g., downloaded, purchased, etc.) by other users. As such, the template 220 may be uploaded to a marketplace or social media platform where it may be shared amongst other users. The computer sever 108 may act as an online market place for the selling and purchasing of templates. The price of the template 220 may vary and may be controlled by the originator of the template 220. In an embodiment, the template 220 may be stored on the server 108 and may be accessible by a plurality of end users which collaborate on the same template. In such an embodiment, different users may contribute to the different replaceable template-provided media assets in a similar fashion to that discussed in relation the examples discussed elsewhere in this document. The output media file 252 in this case may be generated based on user-provided media assets from different end users.

In a further embodiment, the application software 118, when executed by the computing device 100A, may cause the computing entity 100 A to interact with the template creator so as to obtain an indication from the template creator of the "assigned user" for one or more steps corresponding to specific media assets. For the purposes of this example, the master user and, in particular the master user's use of the application software 118, is registered with a template service provider. This may be through an account sign-in process, i.e., the master user may have an account maintained by a server, such as the computer server 180 that stores or provides access to templates such as the template 220.

Consider now the interactions between the computing device 100A and a template creator in respect of a particular shareable template (which may be stored or rendered accessible by the server 180). The particular shareable template may be "Happy Birthday" template consisting of eight (8) steps for eight (8) respective video assets and one (1) step for an audio asset. In this case, the audio asset is rendered not replaceable by end users (as it is the "Happy Birthday" instrumental theme). The template creator can have the role / permissions of "master user". He decides to assign step 1 (singing "Happy Birthday") to himself. He then assigns the second step (singing "Happy Birthday") to a friend. He then assigns the third step (singing "Happy birthday") to another friend, and the fourth step (signing "To You") to yet another friend until all steps are assigned to someone including the master user. The various users (or devices) to which different steps are assigned can be considered "participating" users or devices.

A "step" may be assigned and shared to a "friend" in a variety of ways. For example, this could be done by entering the friend's email address or mobile phone number or Facebook account in a dialog box or when otherwise prompted by the computer server 180. In response to receiving this information, the computer server 180 sends (or causes transmission of), over a network (e.g., the Internet or a telephone network), a link on behalf of the template service provider to open the shareable template, e.g., after having installed an app or other software / computer-readable instructions made available by the template service provider. This link may be made to all participating users/devices. When each user records his own step, the music (i.e., the audio asset) is made to play in real time so that the user follows the song beat. Each step is then shown as "Waiting for Friend 1 to Complete" or marked as "Completed by Friend 1", etc. Once a step is completed it is pushed to all participating users/devices. The steps do not necessarily need to be completed in order. In addition, each user can preview the in-progress template as new updates are pushed to their own devices. Once the template is completed by all users, as will be tracked by the template service provider, the participating users/devices are notified by the template service provider and each participating user/device can export the template and share the final video to their own respective network of friends and contacts.

In a non-limiting embodiment, management of template completion can be achieved by an application executing on the template service provider's computer server 180. In another non- limiting embodiment, there is no centralized management of the completion of templates, but rather there is a portion of the application software 1 18 that is dedicated to handling peer-to-peer requests, dissemination of completion notices, permissions management (master user versus non-master user) and keeping the status of completion up-to-date, along with possible other management functions.

Template types It is appreciated that the above process for creating the template 220 may allow the template creator to create various template types. Some examples of templates are as follows: A User Generated Template is a pre-programmed template that allows end users to import their own video clips on select sections of a video. The sections they are not able to modify may be populated with branded content from a live event, show, etc. (ex: Nascar event) A Branded Template is a template created for a specific brand to meet a specific need and purpose of a brand (Ex: realtor presentation/self-promo video, customer testimonial, home walk through, etc.)

A Corporate Template is similar to a Branded Template in the sense that it is created for a specific brand to meet a specific need and purpose. The difference is that it may allow the end user (usually an employee or authorized agent) to use certain media assets provided with the templates (e.g., animated logo intro and outro, watermark, or background music licensed for commercial purposes) while allowing the user to create his/her own video using the aforementioned methods and processes to create his/her own master track - these templates may be available exclusively for use by / sharing with employees or authorized agents to create the template 220 using the application software 118 that is used to create the master track 150.

A Consumer Template is a template that is readily available for anyone to use for their personal use. There may be multiple consumer templates, all with a sponsored and non-sponsored version (ex: Recipe Video, Girls Birthday Party Under 8, etc). Template sponsors may be aligned with demographics that may be watching/using the template, such as a Barbie sponsored template for a Girls Birthday Party Under 8. The end user which is a consumer may choose to use either a sponsored or non-sponsored template and the sponsor may pay on a click per use basis.

In an embodiment (e.g., in the case of a Branded Template or Corporate Template), the server of the template service provider (e.g., server 180), which may include a web server, may, in addition to storing templates, execute a template management function. Each of the templates stored in a memory of the server 180 may include an indication (e.g., instructions and/or other information) as to the public/private nature of the template. When a particular template is created and distributed to / obtained by an end user so that the end user may create a media production based on the template using the application software 118, the aforesaid indication governs whether the media production (e.g., video based on the template) can be freely posted online or is to be edited / curated by the template service provider. In the case of a public template, the application software 118 will permit free distribution of the completed media production. In the case of a private template, the application software 118 will send the completed media production back to the server 180 where it may be edited or curated by staff employed by the template service provider, for example. Another embodiment of the template With reference to Figure 19, there is provided a template 333 according to another embodiment of the present invention. The template 333 includes a master track 150 created by a first user where specific media tracks of the master track 150 may be overwritten by another (e.g., second) user. As such, the template 333 may include in addition to the master track 150, the existing mixing instruction associated with the master track 150. The template 333 may be considered a saved and/or exported version of the draft 660, which includes the master track 150 (including mixing instructions) and reference to media content (and/or media content itself). The template 333 can be considered a computer readable file that is constructed in accordance with a unique data structure that is known to and interpretable by the application software 118. This unique data structure is now described with reference to Figure 19.

Specifically, the template 333 includes a plurality of track data elements 366i j2 ,. M and a synchronization table 362.

Each of the track data elements 366 j is associated with a particular media track 304; and includes a "track ID", a "track status" and a "track guide reference" (not shown in Figure 19). The track ID of the track data element associated with the particular media track 304; refers to the media (audio or video) that the particular media track 304; contains, and in various embodiments can be a pointer to a file, a URL on the Internet or a pointer to a memory element elsewhere in the data structure. The track status of the track data element 366 j associated with a particular media track 304; indicates whether the particular track is "locked" or "unlocked". For example, a locked track is one whose media content is fixed by the originator (or owner) of the template 333. An unlocked track is one whose media content is left to be created by the user. The track guide reference of the track data element 366 j associated with a particular media track 304; refers to guide information or user instructions, e.g., optional information that helps guide the user in the creation of the particular media track 304;, in the case where the particular media track 304; is an unlocked track.

The synchronization table 362 specifies the appearance, synchronization, duration, and overall mixing of the various tracks, as they should appear in the eventual output media file. This may include pointers or references to individual tracks at certain times, in some cases multiple simultaneous references (e.g., in the case of an audio track and a video track) and in some cases a second audio or video track (e.g., during fade-out and fade-in). The data structure for the template 333 may further include a plurality of media fields that store the media of locked tracks (where the track ID is a pointer to a memory element in the present data structure). The data structure for the template may also further include a plurality of guide information fields that store guide information referred to in the track guide reference.

The template 333 may be created as set out in the flowchart 1600 in Figure 22. That is, at step 1602, the template 333 may be created and stored in the memory 114 of the computing device 1 10A, where the template 333 stores information pertaining to a plurality of media tracks 304i i2 , κ· The information pertaining to a plurality of media tracks 304 ί;2; κ that is stored in the template 333 may include the template 333 mixing instructions for combining the media tracks 304i >2; into an output media file 152, the mixing instructions being indicative of a locked / unlocked status of each of the media tracks 304ι ,2, κ, wherein the unlocked status of a particular one of the media tracks 304 a is indicative that the particular media track is unlocked and modifiable by a user of the template; wherein the locked status of a particular one of the media tracks 304 d is indicative that the particular track is locked and unmodifiable by the user.

Then at step 1604, the user may configure the template 333 via the GUI 130 such that the template 333 may include information pertaining to certain ones of the media tracks 304] ί2 , . κ may be indicative that those media tracks are unlocked and modifiable by a user of the template 333, and the template 333 may include information pertaining to certain other ones of the media tracks 304 1;2 , being indicative that those media tracks are locked and unmodifiable by the user. It is also appreciated that the mixing instructions of the template 333 may further store information for accessing content associated with the locked media tracks. Once the template 333 is created by the user, the user may share the template with other users by transmitting the template 333 to other users over the Internet 104, upload the template 333 to a remote server accessible over the Internet 104 such that the template may be accessed (e.g., downloaded, purchased, etc.) by other users. Figure 21 is a flowchart 1500 of an example process of mixing media content to the template 333. At step 1502, the user may access the template 333 in the memory 114 of the computing device 100A. That is, the template 333 may reside in the memory 114 of the computing device 100A and may be loaded into the mixing workspace through the GUI 130. That is to say, one of the features of the GUI 130 is a "load template" feature. The application software 1 18 is configured to be responsive to selection of the "load template" feature. In response to selection of the "load template" feature, and with reference to Figure 20 A, the GUI 130 presents a dialog box from which the user may select (e.g., with the interface control 332) a template from a folder or based on a list of recently used or related templates. A selection of templates located in the memory 114 of the computing device 100 A may be presented to the user via the GUI 130 and the user may select one of these (the "selected template") for loading into the mixing workspace. In another embodiment, the template 333 may be selected from an online catalog (available over the Internet 104 or other network) and subsequently loaded into the mixing workspace. After loading of the template 333, the mixing workspace may be locked, as is shown in Figure 20B, and the user may then be required to start (e.g., rotating the computing device 100A to landscape mode or actuating a button or an interface control of the GUI 130) the process of mixing (e.g., editing and/or updating) the master track 150 defined by the template 333.

Once loaded into the mixing workspace, the computing device 100A running the application software 118 recognizes the template 333, accesses the master track 150 and the mixing instructions. At this stage, the master track 150 and the mixing instructions from the template 333 may then be automatically saved as the draft 660. The master track 150 may include locked tracks and unlocked tracks as indicated by the track status of respective ones of the track data elements M-

At step 1504, the application software 118 determines whether the track status for each of the media tracks 304ι >2, κ of the master track 150 is indicative of being locked or unlocked. It should be appreciated that the appearance, synchronization, duration and overall mixing of the locked and the unlocked tracks within the master track 150 are defined by the synchronization table 362 of the template 333. The application software 118 is thus configured to cause the mixing workspace to present, via the GUI 130, an option to the user to create one or more of the unlocked tracks. To this end, and with reference to Figure 20C, the workspace may specially mark the locked and/or unlocked tracks (e.g., by an icon 1420 in the GUI 130) and provide the user with an opportunity to select an unlocked track (e.g., may provide the user with a list of "tracks to record" that the user may be allowed to add or record media content to). In response to selection of one of the unlocked tracks (the "selected unlocked track"), the application software 118 enters into a "track creation mode".

With reference to Figures 20C to 20F, the user interacts with the GUI 130 to update the master track 150 of the template 333. As shown in Figure 20C, the user may be given the opportunity to preview (e.g., with the interface control 1406) a first unlocked media track 304i of master track 150, which the user is allowed to replace. The user may also view a description (e.g., with the interface control 1404) of the current media track 304j. In some cases, the description may provide information about the current media track 304i and/or instructions relating to replacing the current media track 304] . When the user is ready to replace the first unlocked media track 304j, the user may select the interface control 1406 to start the process of replacing the first unlocked media track 304i. During the track creation mode, the user interacts with the GUI 130 to associate the selected unlocked track to media that is either imported or acquired. In the case of media that is imported, the application software 118, which is in track creation mode, provides the user with an opportunity to browse in the memory 114 of the computing device 100 A or an online directory in order to locate a media file and to associate this media file with the selected unlocked track. The length of each unlocked track is known and therefore the duration of the imported media file is accordingly adjusted, either automatically by the application software 1 18 or is cropped with assistance from the user, so as to match the duration of the selected unlocked track. In the case of media that is acquired (as opposed to imported), the application software 1 18 further enters an "unlocked track acquisition mode" in which the user is allowed to record media using the computing device 100A (e.g., using the camera of the computing device 100 A) and to associate the acquired media file with the selected unlocked track. The recording can terminate when the length of the selected unlocked track is reached, or the acquired media file may be cropped with user assistance after the user has finished recording. Figures 20D to 20F illustrate such an example of where the user may record media file to an unlocked track. In the example of Figure 20D, the mixing instructions of the template 333 include guide information to help guide the user in recording the media for the particular track. That is, the template 333 provides the user with instruction of what type of content to record. Then, as shown in Figure 20E, the user may start the recording, for example, by tapping on screen or selecting an icon on the screen. Afterwards, as shown in Figure 20F, the user may preview the newly recorded media track and choose to delete it (e.g., with the interface control 1414) if the user is not satisfied with the record track. As shown Figures 20D to 20F, a second playback preview window is provided (shown in this example in the bottom left corner). The second playback preview window may be played prior or during the recording of the media track that is being replaced in the master track 150. In some cases, the video played back in the second playback preview window provides instructions of what to record and/or how to record.

It is appreciated that, in case the track status for a particular track is indicative of the particular track being unlocked, then the application software 118 may interact with a user via the GUI 130 of the computing device to provide the user with an opportunity to associate the particular track with user- generated content, otherwise associating the particular track with content accessible based on information already forming part of the template (step 1 06). Then, mixing the content associated with the plurality of tracks including the particular track to an output media file in accordance with mixing instructions (step 1508). In this cases, it is appreciated that the mixing instructions may include information which, when interpreted by the computing device 100 A, instructs the computing device 100A to combine the media tracks into an output media file, the mixing instructions being indicative of the track status of each of the media tracks, wherein the unlocked status of a particular one of the media tracks is indicative that the particular media track is unlocked and modifiable by a user of the master track. Further, the locked status of a particular one of the media tracks may indicate that the particular track is locked and unmodifiable by the user and the mixing instructions may further including information for accessing media content associated with the locked tracks. It should be appreciated that an available distinct feature of the template 333 may be an ability to allow the creation of uniformly styled output media files by multiple users based on the same template 333. This can be fostered by providing the aforementioned "guide information" that is specified by the "track guide reference" of various track data elements associated with unlocked tracks. In that sense, when an unlocked track is associated with "guide information", and where the user chooses to create the media for that track (i.e., the application software is in "track creation mode" and further in "unlocked track acquisition mode"), then the application software 1 18 may access the guide information referred to by the "track guide reference". This guide information may be in the form of video, text, graphics associated with timed transitions. When recording media using the computing device 100A (e.g., using the camera of the computing device 100A), the application software 1 18 may overlay the text or graphics during recording and may change the text or graphics according to the timed transitions.

In an example, "guide information" may be a video playing in the second playback preview window and instructs the user what the scene should look like, according to the developer / originator of the template. For example, it may include instructions such as "take head shot of subject", "video of subject running from left to right", "place body of subject here" (while providing a silhouette where the subject's body is to appear), and the like. Since the same guide information will be distributed to all users of the template, it is possible to instruct the creation of similarly styled, yet personalized unlocked tracks.

Once a particular unlocked track has been updated by the user (and there may still be other unlocked tracks that have not been updated), the application software 1 18 may provide the user with the opportunity to save the current working version of the template as a new template and/or cause it to be automatically saved as a draft which may later be edited by the user. , This would cause changes to the track data element for the particular track. Specifically, the track ID of the particular track would now point / refer to the media that was just created. Also, if the user so desires, the track status of the particular track may be changed from "unlocked" to "locked". There is also no longer a need for a track guide reference associated with the particular track. Overall, the application software 1 18 may provide the user with the opportunity to lock fonnerly unlocked tracks that the user has created and to save the template as it is enhanced. The somewhat more complete template can be saved and exported to other users. It can also be uploaded to a marketplace or social media platform where it may be shared amongst other users.

Once all the unlocked tracks of the template have been created, the master track 150 is complete and the final output media file may be created. To this end, as previously described, the application software 118 may provide the user with an opportunity to press a "create" button, resulting in the creation of an output media file.

It is also possible to allow locked tracks to be unlocked by the user by the application software 1 18 prompting the user to supply credentials such as a username and/or password. The supplied credentials may be verifiable by a comparison carried out using other information in the template (e.g., in a different part (not shown) of the data structure). The supplied credentials may alternatively be verified by an online process. Each template may also have its own password, which would allow collaborative yet secure creation of a template with multiple user-generated tracks.

It should be further appreciated that templates may be bought and sold. This can be done using an online marketplace. The price can vary depending on the brand value of originator of the template, the number of unlocked tracks, the duration, etc. The price may be controlled by the originator of the template 333.

Those skilled in the art will appreciate that a template as described above may be a significant asset to an entity wishing to encourage the creation of multiple videos having a part that is controlled by the entity and another part that comprises user-generated content. For example, a sporting goods company may provide one or more locked tracks that include media that is specific to the company, such as a corporate logo or message, as well as one or more unlocked tracks corresponding to user- generated sporting scenes (e.g., showing enjoyment of a product manufactured by the sporting goods company). The synchronization table of the template may define the sequencing of the locked and unlocked tracks so as to allow a uniform flow from one output media file to the other. However, the user-generated content will of course differ from one user to the next. The result is a plurality of linear videos having a similar "look and feel", yet are customized to individual users and experiences, which may help reinforce the brand of the sporting goods company.

In another example, a real estate company (such as a peer-to-peer residential rental service) may provide one or more locked / non-replaceable tracks that include media that is specific to the company, such as a corporate logo or message, as well as one or more unlocked tracks corresponding to user-generated media (e.g., scenes showing various aspects of a home or rental property in accordance with certain guidelines). The synchronization table of the template may define the sequencing of the tracks that may be replaced so as to allow a uniform flow from one output media file to the other. However, the user-generated content will of course differ from one user to the next. The result is a plurality of linear videos having a similar "look and feel", yet are customized to individual users and experiences, which may help reinforce the brand of the real estate company and may also assist in simplifying the user experience, leading to further attractiveness of that real estate company over ones that do not have such a uniform "look and feel".

A similar scenario may arise when with a recruiter who wishes to provide one or more unlocked tracks with specific guide information for helping guide candidates in the creation of the unlocked tracks. This guide may specify how candidates are to present themselves in different areas, whether it be from different angles (for a modeling agency), performing different skills (for an NCAA scholarship), showing different characters (for an acting job), etc. Again, the synchronization table of the template may define the sequencing of the locked and unlocked tracks so as to allow a uniform "look and feel" but with an overall result that will differ from one candidate to the next. The result is a plurality of linear videos that are easier to assess and include all of what the recruiter is looking for, thereby facilitating the recruitment process from both the recruiter's and candidate's perspective.

Although in the embodiments described above, the media tracks are referenced by the reference numerals 304 1ι2, κ in other embodiments reference to media tracks may be reference to the media content files 105^2, N-

Certain additional elements that may be needed for operation of some embodiments have not been described or illustrated as they are assumed to be within the purview of those of ordinary skill in the art. Moreover, certain embodiments may be free of, may lack and/or may function without any element that is not specifically disclosed herein.

Any feature of any embodiment discussed herein may be combined with any feature of any other embodiment discussed herein in some examples of implementation. The user of headings in the document is for illustrative purposes only and is not intended to be limiting.

Although various embodiments and examples have been presented, this was for the purpose of describing, but not limiting, the invention. Various modifications and enhancements will become apparent to those of ordinary skill in the art and are within the scope of the invention, which is defined by the appended claims.