The present invention relates generally to the field of multimedia editing and, more generally, to the field of multimedia editing in an online environment
Software-as-a-Service is no longer just a marketing expression; it has become a reality for some sorts of applications. More and more classical desktop-/client based applications have been replaced by solutions where the user utilizes the full functionality of a client based application from within a generic Internet browser application instead of using a desktop application. In a number of different application areas, Software-as-a-Service solutions have already been successfully established in the market. For example, solutions in desktop publishing, image management and image editing have replaced desktop applications or are experiencing a steady rise in usage percentage.
However, because of the usually high hardware and storage requirements associated with video editing, this particular area of multimedia editing has not been replicated in satisfactory solutions into the Software-as-a-Service ecosystem. The available solutions have proven to be not completely acceptable solutions in terms of usability. This is due, in part, to the general unavailability of the necessary and required infrastructure which has slowly become available in the last few years. However, without an effective, efficient and user oriented approach the availability of infrastructure alone will not be sufficient.
A number of vendors offer video editing in an online environment. However, these solutions tend to reproduce the traditional desktop-editing graphical user interface approach verbatim within the user's Internet browser, which is insufficient and has not provided better accessibility for the user. Of course, this has led to lower acceptance rates as would otherwise be expected and even failure of the provided solutions in the market. Furthermore, these solutions often utilize outdated and potentially unsafe Flash™ based technology or which is similarly reducing the uptake by users, a user, before starting to work, has to install an unreasonable number of plugins leading to either another potential security risk or at least a convoluted procedure which must be followed before finally being able to work with the provided solution.
Modern automatic or template-based video editing within existing solutions offered is only rudimentary integrated at best. Further the problem of large and potentially increasingly larger video file sizes, especially as that impacts uploading of video data to a server, is not handled adequately. With the continuing technological advances in connection with 50p frame rates and 4 k UHD resolution for video material, video files sizes will only get larger, with that particular problem increasing.
What is additionally missing from the currently available software approaches is cross compatibility and cross-linking with existing desktop software solutions. Such compatibility/cross-linking would, of course, permit a user to continue working with online initiated editing projects on a client computer using desktop-based-editing programs and vice versa. The known approaches also do not provide accessible opportunities for a number of users to work collaboratively and simultaneously on the same editing project.
Thus, what is needed is a system and method for video editing that allows a user to edit video material with an Internet browser and share the editing process with other users without having to install desktop-based video editing software. The needed system and method should additionally perform the actual processing of the video material on the server side in a cloud-computing environment. By utilizing and providing cloud-computing based editing the system and method will be able to accommodate multiple users which would be able to do collaborative work on the same video project simultaneously.
Heretofore, as is well known in the media editing industry, there has been a need for an invention to address and solve the above-described problems. Accordingly, it should now be recognized, as was recognized by the present inventors, that there exists, and has existed for some time, a very real need for a system and method that would address and solve the above-described problems.
Before proceeding to a description of the present invention, however, it should be noted and remembered that the description of the invention which follows, together with the accompanying drawings, should not be construed as limiting the invention to the examples (or preferred embodiments) shown and described. This is so because those skilled in the art to which the invention pertains will be able to devise other forms of the invention within the ambit of the appended claims.
There is provided herein a system and method to provide a hybrid Software-as-a-Service video editing approach.
According to one embodiment, a user will be provided with an option to initiate and utilize video editing from within a generic Internet browser. This approach would make it possible for the user to utilize the system from any location with an Internet connection and independent from the hardware capacities of the user's machine. The user will be able to interact with the graphical user interface to control the video editing process from any arbitrary client device that supports a browser.
In one arrangement, a user will be presented with a hybrid editing solution. Hybrid standing for the intentional delegation of processes connected to video editing to either a server side or the client side—to implement processes either on the server side or the client side, wherein the details of this delegation are not visually communicated to the user. As part of his solution one embodiment provides a software module that is installed locally on the user's client device which might be, by way of example only, a personal computer, a tablet computer or a smart phone. This software module operates in conjunction with the software solution on the server side and also is in constant communication with the server side of the instant invention. In some embodiments it will be distributed to the user when the user connects to the server or in some cases it might be separately installed on the client device. One function of this software module is to support the functionalities executed and provided by the Internet browser-based user interface during the editing process. Simply speaking this module functions as support for certain hardware stressing and time intensive tasks to provide a fluid and efficient editing experience.
One function of the software module is to manage and simplify the transfer of the video source material from the client device and to/from the user and the server computer.
In an approach, a number of different tasks will be provided and carried out by the software module to implement an embodiment of the hybrid Software-as-a-Service video editing solution. According to the current arrangement, the software will prepare, for example, low resolution interim versions of the source material and data files in order to facilitate the quick generation of source video material for editing. In this case, the generated interim version will be smaller in size than the original and will, therefore, be uploaded faster to a server. This will allow the user to more quickly begin to process the input material in the graphical user interface provided by the browser.
Continuing with the current example, the software module will additionally provide, manage and secure the communications with the browser-based editing user interface with the goal of providing the user with a highly responsive user experience. The software module will implement a number of different functions that are intended to achieve this goal. For example, it generates and uploads the low resolution interim video files from the source material, it generates and uploads necessary components (implementing smart-copy algorithms) from the source material, it transfers only those sections of the source material in the highest resolution to the server that are actually needed, it manages the utilization of the processing power of the graphical processing unit available in the client system The software module is preferably available and provided for all the software platforms. The instant invention will implement a mixture of these mentioned tasks, depending on a number of different criteria; such criteria might be, for example, available bandwidth, quality requirements from the user and the individual user's hardware which will be different from device to device. For example, a personal computer usually featuring high processing power compared to other portable computing devices, allows the client software module to potentially utilize more of the previously mentioned functionalities. Whereas, when the user's computer is less capable or if the user is utilizing a table computer or phone, more of the computation will be shifted to the server.
The foregoing has outlined in broad terms the more important features of the invention disclosed herein so that the detailed description that follows may be more clearly understood, and so that the contribution of the instant inventors to the art may be better appreciated. The instant invention is not limited in its application to the details of the construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Rather the invention is capable of other embodiments and of being practiced and carried out in various other ways not specifically enumerated herein. Additionally, the disclosure that follows is intended to apply to all alternatives, modifications and equivalents as may be included within the spirit and the scope of the invention as defined by the appended claims. Further, it should be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting, unless the specification specifically so limits the invention.
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings in which:
Referring now to the drawings, wherein like reference numerals indicate the same parts throughout the several views, there is provided a preferred system and method for implementing hybrid Software-as-a-Service video editing.
As is generally indicated in
As is well known, these different devices have differing hardware capabilities. The instant invention capitalizes this fact. The software module that will be installed on the user's devices will provide and utilize a differing number of functionalities depending on the hardware capabilities of these devices. So the software module as it exists on a personal computer 100 will provide a majority of the functionality of an embodiment, whereas on a tablet computer 140 typically only a smaller subset of the potential range of functions will be provided and on a smart phone 150 a minimal subset or no functions are provided. As part of the functionality of the instant invention all these devices will connect to a server 170 which will provide the graphical user interface containing the editing functionality to a user.
The computer 100 will have some amount of program memory and hard disc storage (whether internal or accessible via a network) as is conventionally utilized by such units. Additionally, it is possible that an external camera 110 of some sort be utilized with—and will preferably be connectible to—the computer so that video and/or graphic information can be transferred to and from the computer. Preferably the camera 110 will be a digital video camera, although that is not a requirement, as it is contemplated that the user might wish to utilize still images from a digital still camera in the creation of his or her multimedia work.
Further given the modern trend toward incorporation of cameras into other electronic components (e.g. in handheld computers, telephones, laptops, etc.) those of ordinary skill in the art will recognize that the camera might be integrated into the computer or some other electronic device and, thus, might not be a traditional single-purposes video or still camera. Although the camera will preferably be digital in nature, any sort of camera might be used, provided that the proper interfacing between it and the computer is utilized. Additionally, a microphone 130 might be utilized so that the user can add voice-over narration to a multimedia work or can control his or her computer via voice-recognition software and additionally a CD or DVD burner 120 could be useful for storing content on writable or rewritable media.
The source material for the workflow is provided by a number of different devices 215, which are illustrated as delivering the material to the computing devices. The source material, which will typically be video material, will either be directly transmitted to a receiving server over the Internet, or the source material might first be stored on a local computing device and, after storage transferred, to the server. Additionally, it should be noted that the differences in functionality between the devices that process the source material and the devices that generate the source material are rapidly disappearing. Tablet devices and smart phones are more than capable of recording and generating video source material. Thus, it should be noted that source material might be generated or made available from a number of different devices and a number of different devices could potentially be used to control the source material editing process.
Continuing with the present example, the computing devices 210 will be connected via the Internet to one or more remote servers 220 that will provide the cloud-based infrastructure, which is generally represented by the cloud symbol 205 in
The server computers 220 process the editing instructions provided by the user or users 225 and implement these on the transferred source material, thereafter providing the edited output material to each participating user. The output material might be transferred to one individual user or to a plurality of users, wherein the distribution scheme will also preferably be specified by the user.
Turning next to
With respect to the present example, the software module will provide a wide variety of different functionalities that are directed to support and simplify the Software-as-a-Service video editing process. It should be mentioned that not all of these different functionalities need be utilized at the same time and on all devices implementing the software module. However, some of these are more likely to be utilized. The instant invention and primarily the hardware capabilities of the participating client devices determine when to implement the individual functionalities and also what functionalities are implemented.
An important function of the software module will be the generation and uploading of low resolution interim material 310. For purposes of the instant disclosure, this will be referred to as the generation of proxy files, which will be uploaded to the server from the client device instead of the larger original source material. This functionality is designed to reduce the volume of data that must be transferred to the server and, thus, allow the user to begin working on the editing project more quickly, with the unprocessed original full resolution source material being transferred as a background process either afterwards or simultaneously as the bandwidth permits.
Another similar functionality is the generation and uploading of individual parts from the input material 320, the smart-copy approach, wherein the individual parts are selected and determined according to the current editing position. An embodiment monitors the current editing position and provides the input material before and after the current editing position to the user. This will be carried out by following a particular predefined time window that encompasses the point on the timeline where editing is currently taking place, for example a period of three minutes before and after the current editing state might be provisioned by the instant invention. This functionality is also primarily designed to reduce the amount of data that needs to be transferred between the client and the server which makes it possible for the user to begin or continue editing without any substantial period of waiting.
In an embodiment, the server communicates with the client and instructs the software module on the client which parts of the input material are desired at a specific moment in time. This might be accomplished in many ways but one preferred way is to communicate data containing specific time point data values which will be used by the software module to select or generate these desired parts which will then subsequently be uploaded to the server. This operation will be carried out on the client side, preferably in the background so that it does not impact the user's editing experience.
Note that it is certainly possible that a user might have access to and utilize other programs that would assist in the editing and/or effects process. In that case, in some embodiments the server side program could provide the appropriate sections of source material to the external modules, preferably in a low-resolution version.
In addition to the functionality mentioned above, an embodiment will also utilize the processing power of the graphics processing unit 330 contained in the computer on which the software module is installed is such is available. The instant invention will determine whether the associated graphics processing hardware in the client device allows utilization for the processing of input video material, for example for the generation of the interim video files or the determination and generation of the individual parts of the source material. If that is the case the GPU (“graphics processing unit”) processing power of the client will be utilized. Determination of whether or not the GPU of the client device is capable of being utilized will be carried out by either running a benchmark test on the device or by matching the name of the GPU or another identification detail with a list of compatible GPUs. This list might be provided along with the initial provision of the software module and/or via delivery of continuous updates transmitted, for example, via the Internet.
In some embodiments the benchmark might operate as follows. The program that is resident on the client device might determine the hardware capability of the user's computer using a pre-calculated list of popular hardware devices. For example, it might be the case that a user has an iPad® that has been assigned a processing power of between 14 and 20 on depending on the particular model. The numerical value is arbitrary and indicates in a general way the device's hardware capabilities. In such a case, precompression of source material to a selected output format might be possible. On the other hand, and according to the present scale, if the device had processing power of 0 to 3, no processing at all on the device would be possible. A processing power of 4-7 might indicate those devices that were capable of generating low resolution versions of the current editing positions. A processing power of 8 to 11 might be assigned to devices that would be capable of generating low-resolution version of the complete source material. Finally, processing power of 14 to 17 might indicate those devices capable of compressing the output material to a selected format (e.g., if a resolution change is necessary).
The communication and data transfers between the browser-based editing graphical user interface provided by the server and the software module installed on the client device will be handled preferably invisible to the user. Additionally, in some embodiments it will be carried out in a secure fashion utilizing well known and well established technologies, like SLS/TLS 340. Furthermore, the functionality of the software module will typically include the implementation of the mentioned smart-copy algorithms 360, meaning that the communication between the browser-based editing part on the server and the software module and the editing state will be monitored to determine that particular content that is currently being edited and will, with a high probability, be edited in the future. The software module generates these particular content sections and provides these sections to the server which processes these sections according to the instructions from each user.
One of the functions of an embodiment is to keep the waiting periods for the user at the beginning and during the editing process as low as possible. The software module additionally provides a pre-compression of video material to a target format with a particular target resolution 350 that has been defined by the user in the browser-based editing graphical user interface. Pre-compression in this particular context means that the software module will compress the input material to the desired target resolution and provide it for use during the upload process. For example, suppose the user edits a section with a length of 2 minutes and has already selected an output format. This embodiment will then compress the input material—not including the currently edited section—to the selected output format and upload the compressed material to the server. On the server, after the user finishes editing the video work, the edited section will be combined with the uploaded material.
Turning next to
The user will provide the source material 430 which will be transferred from the client device to the server. This transfer will preferably be implemented in one of a variety of ways depending on the hardware capabilities of the participating and initiating client device. The source material might be video files already stored on the client device, or video material captured by the client device and subsequently edited by the user. In some embodiments the source material will consist of digital images.
Continuing with the current example, the software module 420 by analyzing editing instructions initiated and transmitted from the user will control the different functionalities of the software module to ensure the user a smooth and fluid editing process and also ensure a similar experience for all participating users in a multi-user environment. It should be noted that although the specification primarily speaks about a single user, the instant invention is flexible enough to permit a multi user approach, wherein more than one user is able to communicate and utilize the instant system simultaneously. Additionally, in this embodiment the server side provides a multi user approach that permits editing the same source material by multiple users. In this case, the server provides the uploaded material to multiple participating users as soon as it is received from the initiating user. By providing editing decision lists from the server to interested users this embodiment also provides the users the opportunity to continue editing the source material in a video editing software program installed locally on the user's client device. The editing decisions lists contain all edit instructions entered by participating users and also contain the instructions necessary for the software editing program to access the source material.
Continuing with the example of
With respect to the present example, these processes will continue to run until the user or users decide to end the editing process 550. These general steps will typically be the same for all participating users and the number of the participating users is only limited by the processing power of the server side of the instant invention.
Turning next to
Coming next to
Turning next to
As a specific example of an embodiment, consider the following scenario where a user wishes to perform the following operations on a video work using a tablet computer such as an Apple iPad® which has 12 minutes of 1920 by 1080p video (VIDEO 1) stored locally on it:
In practice the user will utilize one particular embodiment generally as follows to accomplish this series of tasks. Note that in the example that follows the identifiers PROGRAM 1 and PROGRAM 2 will be used to help differentiate the tasks performed by the server and client, respectively. That being said, nothing in the example below should be interpreted to require that only two programs might be involved in this method since, as is well known to those of ordinary skilled in the art, it is common to utilize multiple programs to perform a requested operation.
PROGRAM 1 will present various video transition options to the user and, depending on the transition selected, it might be performed locally (e.g., a “fade to black” transition) or on the server via PROGRAM 1 (e.g., where the last frame ahead of the cut is spiraled down to a point and the spiraled up again to reveal the first frame after the cut). In either case, the instruction that defines the transition will be stored on in the edit list on the server.
That the foregoing is a simplified example of what might happen in practice during an editing session and has been illustrated as a step by step process to clarify the division of labor between the client and server for one specific example. In other instances, PROGRAM 1 might, instead of writing the instructions to the editing list file, simply execute the instructions upon receipt. That would speed up the process of uploading the video (e.g., to YouTube®) since otherwise all of the edits performed by the user would be held and executed only when the user indicated that editing was completed.
Additionally, note that in the foregoing the client provides the data, and one goal of this embodiment is to help the user edit even very large video files using a computing device with restricted CPU capacity. The server will aggregate the user instructions, working like a “normal” video editing solution and implementing the instructions to generate the output material.
In summary, the instant invention provides a highly creative work method for multiple users when editing source material independent of a stationary computer. The instant invention decouples editing from the well-known confines and provides the user a way to dynamically edit multimedia material collaboratively over the internet, wherein a software module is provided on the client side that monitors the editing process and supports a fluent editing by initiating a plurality of different functionalities depending on the user's hardware.
Of course, many modifications and extensions could be made to the instant invention by those of ordinary skill in the art. For example in one preferred embodiment the instant invention will provide an automatic user profile based multimedia editing approach, wherein for each user the personal client devices are stored in a profile on the server containing information about the functionalities of these client devices and also containing information about the technical requirements of each individual client device and wherein the instant invention automatically synchronizes the recorded multimedia material on these client devices with the server, wherein this synchronization comprises of an automatic preprocessing of the multimedia material as soon as it is stored on each client device to further fasten the editing process.
It is to be understood that the terms “including”, “comprising”, “consisting” and grammatical variants thereof do not preclude the addition of one or more components, features, steps, or integers or groups thereof and that the terms are to be construed as specifying components, features, steps or integers.
If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
It is to be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed or limited to there being only one of that element unless the context specifically indicates otherwise.
Where the specification states that a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, that particular component, feature, structure, or characteristic is not required to be included.
Where applicable, although state diagrams, flow diagrams or both may be used to describe embodiments, the invention Cis not limited to those diagrams or to the corresponding descriptions. For example, flow need not move through each illustrated box or state, or in exactly the same order as illustrated and described.
Unless indicated otherwise, methods of the present invention may be implemented by performing or completing manually, automatically, or a combination thereof, selected steps or tasks.
The term “method” may refer to manners, means, techniques and procedures for accomplishing a given task including, but not limited to, those manners, means, techniques and procedures either known to, or readily developed from known manners, means, techniques and procedures by practitioners□of the art to which the invention belongs.
The term “at least” followed by a number is used herein to denote the start of a range beginning with that number (which may be a ranger having an upper limit or no upper limit, depending on the variable being defined). For example, “at least 1” means 1 or more than 1. The term “at most” followed by a number is used herein to denote the end of a range ending with that number (which may be a range having 1 or 0 as its lower limit, or a range having no lower limit, depending upon the variable being defined). For example, “at most 4” means 4 or less than 4, and “at most 40%” means 40% or less than 40%.
When, in this document, a range is given as “(a first number) to (a second number)” or “(a first number)—(a second number)”, this should be interpreted to mean a range of numerical values where the lower limit is the first number and the upper limit is the second number. For example, 25 to 100 should be interpreted to mean a range with a lower limit of 25 and an upper limit of 100. Additionally, it should be noted that where a range is given, every possible subrange or interval within that range is also specifically intended unless the context indicates to the contrary. For example, if the specification indicates a range of 25 to 100 such range is also intended to include subranges such as 26-100, 27-100, etc., 25-99, 25-98, etc., as well as any other possible combination of lower and upper values within the stated range, e.g., 33-47, 60-97, 41-45, 28-96, etc. Note that integer range values have been used in this paragraph for purposes of illustration only and decimal and fractional values (e.g., 46.7-91.3) should also be understood to be intended as possible subrange endpoints unless specifically excluded.
It should be noted that where reference is made herein to a method comprising two or more defined steps, the defined steps can be carried out in any order or simultaneously (except where context excludes that possibility), and the method can also include one or more other steps which are carried out before any of the defined steps, between two of the defined steps, or after all of the defined steps (except where context excludes that possibility).
Further, it should be noted that terms of approximation (e.g., “about”, “substantially”, “approximately”, etc.) are to be interpreted according to their ordinary and customary meanings as used in the associated art unless indicated otherwise herein. Absent a specific definition within this disclosure, and absent ordinary and customary usage in the associated art, such terms should be interpreted to be plus or minus 10% of the base value.
Thus, the present invention is well adapted to carry out the objects and attain the ends and advantages mentioned above as well as those inherent therein. While the inventive device has been described and illustrated herein by reference to certain preferred embodiments in relation to the drawings attached thereto, various changes and further modifications, apart from those shown or suggested herein, may be made therein by those of ordinary skill in the art, without departing from the spirit of the inventive concept the scope of which is to be determined by the following claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/140,073 filed on Mar. 30, 2015 and incorporates said provisional application by reference into this document as if fully set out at this point.
Number | Date | Country | |
---|---|---|---|
62140073 | Mar 2015 | US |