Editable media file format

11204954 · 2021-12-21

Assignee

Inventors

Cpc classification

International classification

Abstract

The disclosure relates to a digital media file format comprising a number of sections for storing information, said sections comprising a first section with compiled reproducible media content, and a second section comprising one or more media elements. The disclosure further relates to a digital media file in the digital media file format, a computer-readable medium comprising the digital media file format, a method for creating a digital media file in the digital media file format, a method of obtaining a variant of a digital media file in the digital media file format, and a system for providing a digital media file in the digital media file format.

Claims

1. A computer-implemented method for creating a digital media file in a digital media file format, comprising the steps of: providing a first section of the digital media file comprising a first piece of compiled reproducible media content, providing, following the first section, a second section of the digital media file comprising one or more media elements used during compilation of the compiled reproducible media content of the first section, wherein the second section further comprises at least one further media element, and generating a second piece of compiled reproducible media content using one or more of the one or more media elements of the second section used during compilation of the first piece of compiled reproducible media content, wherein: the digital media file in the digital file format is stored on a server; the second section of the media file comprises a data element indicating a plurality of predetermined digital media file variants compilable from the one or more media elements of the second section; and the method further comprises the steps of: prior to the step of generating the second piece of reproducible media content, requesting a variant of the digital media, by means of a URL, which indicates the name and file extension of the digital media file; wherein the step of generating the second piece of reproducible media content comprises generating the second piece of reproducible media content based on the requested variant.

2. A method according to claim 1, wherein the variant of the digital media file is requested by appending a string to the file extension in the URL, the string indicating the requested variant of the digital media file.

3. The method according to claim 1, wherein the first section is configured to be readable by a digital media renderer.

4. The method according to claim 1, wherein the digital media file further comprises a tail element, the tail element being configured to allow a digital media editor to identify the digital media file format.

5. The method according to claim 4, wherein the tail element is arranged adjacent to the second section.

6. The method according to claim 4, wherein the tail element is arranged so as to form an ending portion of the digital media file.

7. The method according to claim 4, wherein the tail element comprises one or more of: a length of the second section, a length of the first section, and/or a length of the digital media file.

8. The method according to claim 1, wherein the media file further comprising a header element arranged to form a starting portion of the digital media file, the header element being configured to allow a digital media reader to read the compiled reproducible media content of the first section.

9. The method according to claim 1, wherein the second section further comprises an identifier element to allow a digital media editor to identify that the digital media file is of said digital media format and to allow the digital media editor to read the first and second sections.

10. The method according to claim 9, wherein the identifier is further included in the file name.

11. The method according to claim 9, wherein the second section further comprises an identifier position element, which indicates the position of the identifier element.

12. The method according to claim 1, wherein the second section further comprises a cache element for caching compiled reproducible media content, different from the compiled reproducible media content of the first section.

13. The method according to claim 1, wherein the second section further comprises a project element for use in compilation of a digital media file from the one or more media elements.

14. The method according to claim 13, wherein the project element indicates a relative temporal position of the one or more media elements of the second section when compiling a digital media file.

15. The method according to claim 1, wherein the second section further comprises a table of contents indicating the position, name and length of the one or more media elements.

16. The method according to claim 1, wherein the second section further comprises a data element, the data element indicating a plurality of predetermined digital media file variants, compilable from the one or more media elements of the second section.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The media file format, media file, system, and methods will now be described in greater detail based on non-limiting exemplary embodiments and with reference to the drawings, of which:

(2) FIG. 1 shows an overall schematic view of a digital media file of an embodiment of the digital media file format according to the disclosure;

(3) FIG. 2 shows an overall schematic view of digital media file of an embodiment of the digital media file format according to the disclosure;

(4) FIG. 3 shows a schematic view of a generation of variants of compiled reproducible media content of a digital media file of an embodiment of the digital media file format according to the disclosure;

(5) FIG. 4 shows an example of a data element of the digital media file shown in FIG. 3;

(6) FIG. 5 shows a schematic view of a generation of variants of compiled reproducible media content of a digital media file of an embodiment of the digital media file format according to the disclosure;

(7) FIG. 6 shows an example of a data element of the digital media file shown in FIG. 5; and

(8) FIG. 7 shows an overall schematic view of a digital media file of an embodiment of the digital media file format according to the disclosure.

(9) All of the figures are schematic, not necessarily to scale, and generally only show parts which are necessary to elucidate embodiments of the present inventive concept. Other parts may be omitted or merely suggested. Similar reference numerals will in the following be used for similar features in different embodiments.

DETAILED DESCRIPTION

(10) FIG. 1 shows an overall schematic view of a digital media file 1 of an embodiment of the digital media file format according to the disclosure. The digital media file 1 comprises a first section 2 comprising compiled reproducible media content, and a second section 3. The compiled reproducible media content of the first section 2 is a video and comprises a file header element 10 and a master element 12, comprising the essence, i.e. coded video and audio, of the compiled reproducible media content. In another embodiment, the reproducible media content may be another type of media, e.g. an image, such as a digital photograph, audio, animations, or the like.

(11) The master element 12 comprises a video element, corresponding to the essence of a video file, which may be encoded according to any existing video codec, lossy, or lossless, such as an MPEG-codec, e.g. MPEG-2 or MPEG-4, a H.264-codec, or the like. The master element 12 may, thus, correspond to the essence of a video file according to an existing video file format, such as QuickTime File Format, MPEG-4, MPEG-1, MPEG-2, M4V, MaterialExchange Format, Windows Media Video, AVI, or the like. In a similar manner, the master element 12 may in other embodiments, where the compiled reproducible media content is another type of media, correspond to the data content of an existing file format of that type of media, for instance JPEG, PNG, GIF and/or TIFF for images, WAVE, MPEG-3, M4A and/or AIFF for audio. In some embodiments, the master element 12 further comprises metadata relating to the master element 12 itself and/or comprises a further header element, footer element, or the like.

(12) The file header element 10 comprises metadata relating to the master element 12, including inter alia the length of this. The file header element 10 moreover corresponds to the master element 12, such that the header element 10, when the master element 12 corresponds to the essence of a media file of a given existing digital media file format, corresponds to a file header, file footer, or the like of the same existing digital media file format. The file header element 10 and the master element 12 may thereby be read by a media renderer as one digital media file of the given existing digital media file format, regardless of the second section 3. Consequently, the editable digital media file 1 may comprise a file extension corresponding to an existing file extension for the digital media file of the given existing digital media file format.

(13) The file header element 10 is in FIG. 1 shown as the beginning of the first section 2 but may in another embodiment may located after data element 12. In other embodiments, the first section 2 may comprise several data elements, which are arranged consecutively and/or with one or more header elements arranged in between these.

(14) The first 2 and second sections 3 are sequential within the digital media file 1, i.e. not separated by separation elements, empty elements, e.g. elements not as such comprising data, or the like. The second section 3 thus appears appended to the first section 2, and the transition between the first 2 and second section 3 is, thus, determined by the file header element 10 indicating the length of the data element 12 of the first section. In another embodiment, a separation element and/or an empty element may be arranged between the first 2 and the second section 3.

(15) The second section 3 comprises a number of media elements 40, 42, 44, 46, comprising media content used to compile the compiled reproducible media content, i.e. the header 10 and the master element 12, of the first section 2. Not all media elements 40, 42, 44, 46 need necessarily be used to compile the header 10 and master element 12, and in some cases, only parts of one or more of the media elements 40, 42, 44, 46 are used for the compilation. The media elements 40, 42, 44, 46 may comprise various types of media content and may hence be a video media element 40, an audio media element 42, an image media element 44, and/or a graphic text element 46. The media elements 40, 42, 44, 46 may correspond to individual media files used for compiling the compiled reproducible media content of the first section 2. The media elements 40, 42, 44, 46 may, regardless of the type of media content that they each comprise, be arranged in any order within the second section 3.

(16) The second section 3 further comprises a project element 20 and a data element 30. The project element 20 comprises at least information about temporal positions of the media elements 40, 42, 44, 46 as well as which of the media elements 40, 42, 44, 46 that should be used for the compilation of the compiled reproducible media content. The project element 20 may correspond to the project file of a digital media editor, such as a project file of a digital media editor. Such project files may, for instance be project files from a video editor, a graphics editor, an audio editor, or the like. In another embodiment, the project element 20 may comprise additional information to the temporal positions of any one or more media element 40, 42, 44, 46 used for compilation, or it may comprise other types of information for use when compiling the compiled reproducible media content to thus create a variant. Such information may, for instance, be lighting adjustment settings, volume, playback speed, or the like, where applicable to one or more of the media elements 40, 42, 44, 46.

(17) The data element 30 comprises a number of predefined sets of parameters for use by the project element 20 upon compilation. For instance, the data element may in a first set parameters indicate that upon compilation of the compiled reproducible media content, the video media element 40 should be combined with the audio 42 element from a first to a second point in time and with the graphic text element 46 from the first to a third point in time. The project element 20 will then, upon compilation based on the first set of parameters, adapt the temporal position of the media elements 40, 42, 46 based on this. A second set of parameters may, for instance, instead indicate that the video media element 40 should be combined with the image media element 44 instead of the graphic text element 46, from the first point in time to the third point in time. If the compilation is then based on the second set of parameters, the project element 20 will adapt the temporal position of the media elements 40, 42, 44 upon compilation.

(18) Each set of parameters may have an identification, such as a unique name or number. The set of parameters from the data element 30 to be used for compilation may be chosen upon compilation, for instance by passing to the digital media editor or the software, which compiles and/or generates the compiled reproducible media file, the unique name or number of the specific set of parameters. This may, for instance, be done within a URL, when the editable digital media file 1 is available for access on a server. A string indicating the desired variant may be included in the URL, and in some embodiments following to the file name of the editable digital media file 1.

(19) The editable digital media file 1 moreover comprises an identifier element 50, following the media elements 40, 42, 44, 46 and an identifier position element 80 at the end of the second section 3. The identifier element 50 allows a digital media editor to recognise the editable digital media file 1 as an editable digital media file. The identifier element 50 may for instance comprise a specific string of text, such as “edit”, one or more punctuation marks, or the like. Similarly, the identifier element 50 may be included in the file name of the editable media file 1 to make the file identifiable by a user as an editable media file. The identifier element 50 may be surrounded by punctuation marks. In some embodiments, the identifier element 50 may be of a fixed size, such as 2 bytes, 4 bytes, 6 bytes, 8 bytes, or the like.

(20) The position of the identifier element 50 is indicated by an identifier position element 80. The identifier position element 80 may indicate the position of the identifier element 50 by specifying a starting position, e.g. in bits or bytes from the beginning or the end of the file 1 or from the beginning of the second section 3. In the embodiment of the editable media file 1 as shown in FIG. 1, the identifier position element 80 has a predetermined length of 16 bytes. In other embodiments, the identifier position element 80 may have another predetermined length, such as less than 16 bytes or more than 16 bytes, or it may be of a variable length. As shown in FIG. 1, the identifier position element 80 is arranged as the last element of the second section 3. Thereby, the identifier position element 80, of a file of this format, may be read as the last 16 bytes of the file 1, thus allowing a digital media editor to locate the identifier element 50 and thereby identify that the file 1 is of the editable media file format. In case of a long digital media file 1, the identifier position element 80 may be longer. In some embodiments, the length of the identifier position element 80 may be dynamic and/or depend on the length and/or size of the digital media file 1.

(21) The second section 3 of the editable media file 1 moreover comprises a table of contents element 70 and a ToC length element 60, indicating the length of the table of contents element 70. The table of contents element 70 comprises indicators of at least the positions and lengths of each of the source files 40, 42, 44, 46. The position and length of each of the source files 40, 42, 44, 46 may be indicated in the table of contents element 70 relative to the beginning of the file 1, the beginning of the second section 3, and/or from the end of the second section 3.

(22) The ToC length element 60, which indicates the length of the table of contents element 70, is in FIG. 1 of a predetermined length of 4 bytes and arranged adjacent to the identifier element 50. In some embodiments, the predetermined length of the ToC length element 60 may be less than 4 bytes or more than 4 bytes or may be variable. In some embodiments, the ToC length element 60 further indicates the position of the table of contents element 70 instead of or in combination with indicating the length of the table of contents element 70.

(23) FIG. 2 shows an overall schematic view of digital media file 1′ of another embodiment of the digital media file format according to the disclosure. The digital media file 1′ comprises a first section 2 similar to the digital media file shown in FIG. 1, having a header element 10 and a master element 12. The second section 3′ of the digital media file 1′, however, comprises a project element 20, a data element 30, media elements 40, 42, 44, an identifier element 50, a ToC length element 60, a table of contents element 70, and an identifier element 80, as described with reference to the digital media file 1 of FIG. 1.

(24) The second section 3′ of the digital media file 1′ in FIG. 2 further comprises a cache element 90. The cache element 90 is configured to cache a piece of compiled reproducible media content, compiled at least in part from the media elements 40, 42, 44 of the second section 3′. The compiled reproducible media content of the cache element 90 may, similar to that of the first section 2 of the digital media file 1′, comprise a header element and a master element (not shown in FIG. 2). The compiled reproducible media content of the cache element 90 further corresponds to a variant of the compiled reproducible media content, which may be generated using the parameters of the data element 30. In another embodiment, the compiled reproducible media content of the cache element 90 corresponds to a variant, which may be generated by passing parameters, such as parameters different from those of the data element, to video editor. Such parameters may e.g. be passed in the URL of the digital media file 1′ when stored on a server.

(25) The cache element 90 of FIG. 2 is arranged after the media elements 40, 42, 44 but may in another embodiment be arranged at another position within the media file. The length of the cache element 90 is furthermore chosen in the digital media file 1′ to correspond to the compiled reproducible media content cached by the cache element 90. In other embodiments, the cache element may be longer or shorter and/or may be dynamically extendable depending on the compiled reproducible media content, which the cache element 90 is to cache.

(26) FIG. 3 shows a graphical illustration of an example of how various media elements 40, 42a-42c, 44a, 44b, 46a, 46b may be combined into different master elements 12a-12c within an editable media file of the editable media file according to the disclosure. As shown in FIG. 3, the project element 20 and the data element 30 are used for generating the compiled reproducible media content.

(27) The first 12a, second 12b and third master elements 12c, as shown in FIG. 3, are video master elements and each have corresponding header elements (not shown in FIG. 3). These may be generating during the same or a later process of generating the variants. The header elements and corresponding master elements 12a-12c may correspond to a video media file of any existing video file format. In another embodiment, the master elements 12a-12c may be different types of master elements, such as audio master elements or image master elements, having corresponding header elements.

(28) In FIG. 3, the second section of the digital media file comprises one video media element 40, three audio media elements 42a-42c, two image media elements 44a, 44b, two graphical text media elements 46a, 46b, as well as the project element 20 and the data element 30. Based on a first set of parameters of the data element 30, the project element 20 is adapted to specify that the video media element 40, the three audio media elements 42a-42c, the two image elements 44a, 44b, and the two graphical text media elements 46a, 46b are to be used for the generation of the first master element 12a. Thus, the project element 30 specifies the temporal position of these media elements 40, 42a-42c, 44a, 44b, 46a, 44b, according to the first set of parameters of the project element 20.

(29) The project element 30 here, moreover specifies the positions and sizes of the media elements 40, 44a, 44b, 46a, 46b relative to one another in the first master element 12a based on the first set of parameters of the data element 30. In another embodiment, the positions and sizes of the media elements 40, 44a, 44b, 46a, 46b relative to one another in the first compiled reproduced video media element 12a may be fixed in the project element 20, i.e. not alterable by parameter sets of the data element 30.

(30) Thereby, the first master element 12a may be generated, when the first set of parameters are selected from the data element 30. The selection of the parameters may be carried out in any suitable way, such as, for instance, by choosing by a digital media editor, the parameter set, or by appending an indication of the desired parameter set to a URL of a digital media file in the digital media file format on a server.

(31) Similarly, the master elements 12b or 12c, respectively, may be generated when a second or third set of parameters, respectively, are selected from the data element 30. To generate the second 12b and third master elements 12c, different media elements 40, 42a-c, 44a, 44b, 46a, 46b are selected and combined by the project element 20.

(32) FIG. 4 shows an example of a data element 30 of the digital media file shown in FIG. 3. The data element 30 is in FIG. 4 illustrated as a table but may alternatively be illustrated as a text string separated by punctuation or the like. The data element 30 comprises four parameter types 302, 304, 306, 308, relating to the parameter types ID, Price, Text, and ImageUrl, respectively. In other embodiments, the data element 30 may comprise fewer or more columns, which may relate to other parameter types. The parameter types indicate certain features of, such as objects in, the compiled reproducible media content, which may be changed and recompiled to generate a variant of the compiled reproducible media content.

(33) The data element 30 further comprises a parameter set 310 having values for each of the parameter types and arranged as a row in the data element 30. As shown in FIG. 4, the value of the parameter type ID 302 may be used as an identifier of the parameter set. Specifying that the ID-parameter value should be equal to one will thus lead to a compilation of the compiled reproducible media content, wherein the Price-parameter has the value “1.49”, the Text-parameter has the value “Milk” and the ImageUrl-parameter has the value “milk.png”. As seen in FIG. 3, these values correspond to the media elements 46a, 46b, and 44b, respectively, in the digital media file. In other embodiments, the values in the data element 30 may correspond to and/or indicate the location of media elements not in the digital media file.

(34) When specifying the ID-parameter equal to one, the data element 30 may thus be used to generate the master element 12a. A digital media file, for exemplary purposes named “ad.mp4” here, may be located on a server and be addressable by the URL: http://someserver/getvideo?file=ad.mp4
In this case, it may be indicated by means of an identifier string of the identifier element 50 (shown in FIGS. 1 and 2), that this is a digital media file of the editable digital media file format. In the present example, the identifier may be the string “edit”, which is inserted in the file name, allowing the editable media file to be addressed by the URL: http://someserver.getvideo?file=ad.edit.mp4
To provide a user with the master element 12a (shown in FIG. 3) in the first section of the digital media file, the ID-parameter equal to one may be passed as: http://someserver.getvideo?file=ad.edit.mp4&ID=1

(35) This may cause a media editor to compile the master element 12a which corresponds to the parameter set corresponding to the ID-parameter being equal to one, and arrange this in the first section of the digital media file. Alternatively, if a variant, i.e. compiled reproducible media content, corresponding to the master element 12a is cached in the cache element 90, the media editor may arrange the variant from the cache element 90 as the master element 12a in the first section to provide this to the user.

(36) Alternatively, or in combination therewith, specific parameter values of the parameter types of the data element 30 may be specified to generate other variants not necessarily corresponding to parameter sets of the data element 30. For instance, the master elements 12b and 12c (shown in FIG. 3) may be selected for compilation and arrangement in the first section. This may be done by specifying parameter values corresponding to one or more of the parameters 302, 304, 306, 308 in the URLs. For instance, the parameter values for the parameter types Price 304, Text 306 and ImageUrl may be specified in the URLs to generate master elements 12b and 12c, respectively: http://someserver/getvideo?file=ad.edit.mp4&Price=2.19&Text=Cheese&ImageUrl=someserver/cheese.png http://someserver/getvideo?file=ad.edit.mp4&Price=1.19&Text=Butter&ImageUrl=someserver/butter.png.

(37) In some embodiments, the parameter values passed in the URL may be stored in the data element 30. An ID-parameter value or the like may furthermore be passed to and stored in the data element 30 or the data element 30 may provide the ID-parameter value. Moreover, a variant may be generated using a parameter set, e.g. having the ID-parameter value of one, of the data element 30, wherein additional parameters not included in the parameter set, or wherein one or more of the parameter values of the parameter set is replaced. For instance, a variant (not shown in FIG. 3) may be generated, wherein the Text-parameter has the value “Milk”, the ImageUrl has the value “milk.png” but wherein a Price-parameter has a value of “2.09” by specifying the URL: http://someserver/getvideo?file=ad.edit.mp4&ID=1&Price=2.09
The parameter value (i.e. the Price-parameter value) passed in the URL may replace the parameter value of the data element 30 in the row 310 corresponding to the ID-parameter specified in the URL (i.e. ID-parameter equals one).

(38) In FIG. 5, a schematic view of a generation of master elements 12a, 12b, 12c corresponding to variants of a digital media file is shown. The master elements 12a, 12b, 12c correspond to those of the embodiment shown in FIG. 3. In FIG. 5, however, the digital media file further comprises the image media elements 44c, 44d and text media elements 46b-46f used to generate the master elements 12a, 12b, 12c. The digital media file shown in FIG. 5 further comprises a data element 30′.

(39) The data element 30′ comprises, as shown in FIG. 6, four parameter types 302, 304, 306, 308, as well as a parameter sets 310 like the data element 30 shown in FIG. 4. The data element 30′, however, further comprises two additional parameter sets 312, 314, each arranged in a row in the data element 30′. The three master elements 12a, 12b, 12c, shown in FIG. 5, may thus be generated by means of the data element 30′ and the media elements 40, 42a-c, 44a-d, 46a-f comprised in the second section of the digital media file shown in FIG. 5. The ID-parameter as well as other parameters may be specified, altered, or the like, as described with respect to the data element 30. It will furthermore be appreciated that the parameter types 302, 304, 306, 308 and the ID-parameters may be arranged in any order within the data elements 30, 30′.

(40) It will furthermore be appreciated by the skilled person that the data elements 30, 30′ may comprise any number of sets of parameters and that the second section of the editable media file may comprise any number of media elements.

(41) FIG. 7 shows an overall schematic view of a digital media file of an embodiment of the digital media file format 1″. The digital media file format 1″ comprises first section 2 comprising compiled reproducible media content having a header element 10 and a master element 12. The first section 2 as well as the header element 10 and master element 12 thereof may be as described above with reference to the digital media file formats 1, 1′. The first section 2 is configured to be readable by a digital media renderer, such that the first section 2 can be read by a media renderer in a manner similar to a media file consisting of the first section 2.

(42) The digital media file format 1″ moreover comprises a second section 3″ configured to be readable by a media editor. The second section 3″ may be configured not to be readable by a media renderer. The second section 3″ comprises a data portion 4 and a tail element 5. The data portion 4 may comprise any number of elements and any combinations of media elements 40, 42, 44, 46, project elements 20, data elements 30, identifier elements 50, identifier position elements 80, table of contents elements 70, ToC length elements 60, and/or cache elements 90, as described with respect to the second sections 3, 3′ of the digital media file formats 1, 1′.

(43) The tail element 5 is configured such that a media editor can identify that a media file is in the media file format 1″ by reading the file starting from the tail element 5, i.e. backwards, rather than starting from the header element 10 as a media renderer is configured to do. The tail element 5 comprises an identifier that the media file is in the media file format 1″. The tail element 5 further comprises a length of the second section 3″ as well as a length of the data portion 4.

(44) The first 2 and second sections 3″ are arranged adjacent to each other. The first 2 and second section 3″ are sequential as described with respect to the media file formats 1, 1′.

(45) Although some embodiments have been described and shown in detail, the media file format, media file, system and methods are not restricted to them, but may also be embodied in other ways within the scope of the subject matter defined in the following claims. In particular, it is to be understood that other embodiments may be utilized and structural as well as unction modifications may be made without departing from the scope of the disclosure. It should furthermore be emphasized that the term “comprises”/“comprising”, when used in this specification, is taken to specify the presence of stated features, integers, steps or components but not preclude the presence or addition of one or more features, integers, steps, components, or groups thereof.