US9813664B1 - Method and system for creating media content - Google Patents

Method and system for creating media content Download PDF

Info

Publication number
US9813664B1
US9813664B1 US14/092,149 US201314092149A US9813664B1 US 9813664 B1 US9813664 B1 US 9813664B1 US 201314092149 A US201314092149 A US 201314092149A US 9813664 B1 US9813664 B1 US 9813664B1
Authority
US
United States
Prior art keywords
file
shim
nested
media content
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/092,149
Inventor
Brinton A. Miller
Robert L. Collins
Joshua C. Derby
Charles J. Myers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Discovery Communications LLC
Original Assignee
Discovery Communications LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Discovery Communications LLC filed Critical Discovery Communications LLC
Priority to US14/092,149 priority Critical patent/US9813664B1/en
Assigned to DISCOVERY COMMUNICATIONS, LLC reassignment DISCOVERY COMMUNICATIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DERBY, JOSHUA C., MILLER, BRINTON A., MYERS, CHARLES J.
Assigned to DISCOVERY COMMUNICATIONS, LLC reassignment DISCOVERY COMMUNICATIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COLLINS, ROBERT L.
Application granted granted Critical
Publication of US9813664B1 publication Critical patent/US9813664B1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • the present invention relates to a method and system for configuring the creation of video files based on specific criteria.
  • the specific criteria may be standard or provided by the ultimate recipient or user of the video file, such as a media network or distributor.
  • aspects of the present invention relate to methods and systems that enable the makers of video files to create such files to a given specification, in order to ensure that all files used by a given user are created to the user's specification and are of the same, or at least of a compatible type.
  • aspects of the present invention are directed to methods and systems for defining physical media (e.g., video or audio inputs), file parameters, and metadata requirements of a multimedia file as a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
  • physical media e.g., video or audio inputs
  • file parameters e.g., video or audio inputs
  • metadata requirements of a multimedia file e.g., a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
  • Yet further aspects of the present invention are directed to methods, systems and computer program products, relating to configuring a plurality of parameters of a shim file to define a format of at least one media content input, creating a file based program master based on the shim file, and providing the created file based program master to a user for creating and delivering the at least one media content input.
  • FIG. 1 is a shim file structure in accordance with aspects of the present invention
  • FIG. 2 is an example shim file in accordance with aspects of the present invention.
  • FIG. 3 shows example shim parameters in accordance with aspects of the present invention
  • FIGS. 4-5 define Parameters for Wrappers of a shim file in accordance with aspects of the present invention
  • FIG. 6 shows example Parameters for Tracks of Timecode kind in accordance with aspects of the present invention
  • FIGS. 7 and 8 collectively define sample Parameters for Tracks of Video kind in accordance with aspects of the present invention
  • FIGS. 9-11 collectively define Parameters for Tracks of Audio kind in accordance with aspects of the present invention.
  • FIG. 12 is a top-level shim file structure in accordance with aspects of the present invention.
  • FIGS. 13-19 show a nested hierarchy of Section(s), Group(s), Wrapper(s), Track(s), Parameter(s), SubParameter(s) and Limit(s) within a shim file in accordance with aspects of the present invention
  • FIGS. 20-23 show an XML schema document used to normatively define a structure of a shim file in accordance with aspects of the present invention
  • FIGS. 24-26 show a sample shim XML file as a valid instance of the shim schema of FIGS. 20-23 in accordance with aspects of the present invention
  • FIG. 27 shows a flow chart illustrating an exemplary method for generating a shim file in accordance with aspects of the present invention
  • FIGS. 28-31 show another example implementation of a method and system in accordance with aspects of the present invention.
  • FIG. 32 presents an exemplary system diagram of various hardware components and other features, for use in accordance with an aspect of the present invention.
  • FIG. 33 is a block diagram of various exemplary system components, in accordance with an aspect of the present invention.
  • the present invention in accordance with an aspect, is directed to determining a plurality of parameters of a shim file to define a format of at least one media content input, creating a file based program master based on the shim file, and providing the created file based program master to a user for creating and delivering the at least one media content input.
  • the present invention is directed to methods and systems for defining physical media (e.g., video or audio inputs), file parameters, and metadata requirements of a multimedia file as a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
  • Essence may refer to an actual video or audio content contained within a file.
  • a “Volume” may be a logical drive created on the physical media by a file system. In some instances, volumes may be given names and drive letters.
  • the “Root” of a volume may be the topmost layer of organization, and “Folders” may be following layers of organization within a volume.
  • a folder may be created within the root of a volume or nested within another folder.
  • a file “Wrapper” may refer to a digital container that holds the video and audio essence along with at least a portion of the file metadata. Wrapper formats are often associated with certain file extensions. The .MOV extension, for example, indicates that the file may use a Quicktime wrapper.
  • one or more shim files may be created to contain a plurality of precise parameters, tags and values that may be necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
  • shim files may be constructed as Extensible Markup Language (XML) documents. More specifically, a top-level element in an XML document may include identifiers and useful annotations. Within the top level, the body of a shim file may be presented in the following nested levels:
  • a structural level 100 may still be present in a shim file but with a blank name attribute.
  • An example of a complete shim file 200 is illustrated in FIG. 2 , along with annotations and explanations defining the attributes. It should be appreciated that the details of the example 200 in FIG. 2 are illustrative and may not necessarily correspond to any specific shim file in use by any user. In one aspect, actual shim files for use by content editing systems to deliver tangible program masters may be published separately. In another aspect, the example XML document 200 shown in FIG.
  • the Main Program is in a Wrapper of type MOV, built by the QuickTime MOV writer with no external references (i.e., self-contained, not a QuickTime Reference Movie), and within the Wrapper are Timecode 202 , Video 204 , and two Audio Tracks 206 , 208 .
  • a Metadata Section (not shown) may have one Group called Companion, for example, and its wrapper may be an XML file using an external schema referenced by the shim file 200 .
  • shim parameters may be defined semantically to indicate where they may occur, for example: /Section/Group, and cardinality, associated attributes, and value-ranges.
  • a shim identifier may be defined to identify a shim file (interchangeably referred to herein as a “shim”) and the identifier is intended to signal a version of the shim that is in use when a bundle of associated media files and information are to be created or modified.
  • Annotation text defining the attributes may be provided.
  • each Section may describe a major division of the content, such as Main, Audio, Graphics, Metadata.
  • a general form of a Section may be:
  • ⁇ name ⁇ is a section name, written in UpperCamelCase, unique throughout the entire shim namespace; and ⁇ content ⁇ is a sequence of one or more Groups (see below).
  • Each Group may describe a part of a Section.
  • ⁇ name ⁇ is the group name, written in UpperCamelCase, unique throughout the entire shim namespace; and ⁇ content ⁇ is a sequence of one or more Wrappers (see below).
  • Each Wrapper may describe a file wrapper which contains a collection of Tracks.
  • a Wrapper whose type (e.g., described by Paramaters) is a MOV file written by QuickTime.
  • a general form of a Wrapper may be:
  • ⁇ name ⁇ is the Wrapper name, written in UpperCamelCase, unique throughout the entire shim namespace; and ⁇ content ⁇ is a sequence of one or more Tracks (see below).
  • Each Track may describe, e.g., a particular usage of Essence within a Group.
  • a Narration Group with an ENG Track and a SPA Track.
  • Tracks may be single-channel (for example, Picture), or multi-channel (for example, Stereo or Surround).
  • a general form of a Track may be:
  • ⁇ kind ⁇ is the Track kind, which may be one of Picture, Sound, Data, Text.
  • ⁇ name ⁇ is the Track name, written in UpperCamelCase, unique throughout the entire shim namespace.
  • ⁇ index ⁇ is the index of a specific Track when several Tracks are permitted.
  • ⁇ content ⁇ is a sequence of one or more Parameters (see below).
  • This form may permit a description of multiple tracks, for example:
  • Each Parameter may describe a named aspect of a Track (or perhaps a Group or Section) and may specify a required value.
  • an Audio/Narration/ENG Track may have a parameter name “Wrapper” and a value “BWAV” (an abbreviation for Broadcast Wave File Format).
  • the general form of a Parameter may be:
  • Each SubParameter may describe a named aspect of a Parameter and specify a required value. SubParameters may be provided to help organize the namespaces for Parameter and SubParameter names and avoid issues with non-unique names.
  • the general form of a SubParameter may be:
  • Limits may be optional, for example. In cases where there is a single allowed value for a Parameter, that value may be provided as simple content of the Parameter element. When a range of values, or one or more of an enumeration of values is required, the value may be specified using one or more ⁇ Limit/>elements in place of the simple content.
  • Each Limit may be expressed as a predicate including a relation and one or more values. For example:
  • Each ParameterSet may describe a collection of Parameters, SubParameters or Limits, for example, and their corresponding values that may be applied to a Track (or perhaps a Group or Section) and may specify a required value.
  • a ParameterSet “PCM_48_20” may define parameters for 48 kHz 20 bit PCM audio that can be used by many Tracks.
  • the general form of a ParameterSet may be:
  • Sections may comprise Main, SupplementalAudio, Metadata, and Graphics.
  • Groups within a given Section may comprise: Main Groups; Groups within a Supplemental Audio Section; Groups within a Metadata Section; and Groups within a Graphics Section.
  • shims may comprise Timecode, Video and Audio Tracks.
  • shims may be configured to use the Parameters and SubParameters defined therein.
  • FIGS. 4-5 may define Parameters for all Wrappers;
  • FIG. 6 may define Parameters for all Tracks of Timecode kind;
  • FIGS. 7 and 8 may collectively define Parameters for all Tracks of Video kind;
  • FIGS. 9-11 may collectively define Parameters for all Tracks of Audio kind.
  • parameters that are common to most Tracks may be gathered into a ParameterSet for easy reuse.
  • shims may specify the permitted Version of the Video Codec with a “greater_equal” limit.
  • ParameterSets may be configured to define Audio ParameterSets.
  • a ParameterSet named “PCM_mono_48_20” may gather and define the common Parameters and SubParameters such as AudioCodec:Coding, AudioSampling:Channels, AudioSampling:BitsPerSample, and AudioCoding:SamplingRate.
  • a top-level shim file structure 1200 may be defined to comprise, among other features, a shim name element 1202 , shim identifier element 1204 , Annotation text element (optional) 1206 , and Application specification element (optional) 1208 .
  • shim name element 1202 may define a name for a specific shim, and the value of the element may be of type xs:string.
  • Shim identifier (ShimID) element 1204 may be defined to contain a string identifier of the shim specification as shown in FIG. 2 , and the value of the element may be of type xs:anyURI.
  • Optional Annotation text (AnnotationText) element 1204 may be present for display as guidance to a user and may be configured to comprise a list of zero or more free-form, human-readable annotations describing the shim.
  • An Optional Application specification element (ApplicationSpec) 1206 may be reserved for future use and the value of the element may be of type xs:string.
  • a nested hierarchy of Section(s) 1300 , Group(s) 1400 , Wrapper(s) 1500 , Track(s) 1600 , Parameter(s) 1700 , SubParameter(s) 1800 and Limit(s) 1900 within an overall shim is shown and the structure of each element may be similar to that of another element.
  • the kind attribute may be required only for Track elements, and may be used to specify which of the enumerated kinds (e.g., Timecode, Video, Audio, and Data) of Tracks is being described.
  • the name attribute may be optional, and may be used to identify the instance of the element informally in documentation or formally in an XPath expression.
  • the index attribute may also be optional, and may be used to identify the instance of the element informally in documentation or formally in an XPath expression.
  • the value attribute carries the value of a simple SubParameter without Limits.
  • the optional type attribute may be used to explicitly state the type of a value. For example, it may be used to draw attention to an enumerated type.
  • the relation attribute may be used to express the relation in a Limit predicate, for example “less” is a relation that asserts that a SubParameter is less than the value attribute.
  • Relations may comprise, but are not limited to: equal, less, less_equal, greater, greater_equal, not_equal, and one_of.
  • the same collection of Parameters and SubParameters may be used repeatedly.
  • the ParametersSet and Using elements shown in FIG. 18 may allow a collection to be stated once and then reused. Additional or replacement Parameters and SubParameters may be given each time a ParameterSet is used, for example.
  • an XML schema document may be used to normatively define the structure of a shim file using any suitable machine-readable language.
  • a sample shim XML file as shown in FIGS. 24-26 , may be a valid instance of the shim schema of FIGS. 20-23 .
  • process 2700 may be implemented by employing a processor to execute computer executable instructions stored on a computer readable storage medium to implement a series of steps.
  • a computer device comprising a processor may configure 2702 a plurality of parameters of a shim file to define a format of at least one media content input, create 2704 a file based program master based on the shim file, and provide 2706 the created file based program master to a user for creating and delivering the at least one media content input.
  • FIGS. 28-31 another example implementation of the method and system in accordance with aspects of the present invention is illustrated.
  • Those figures show an example shim that may instruct a compliant product to create a file based program master MAIN file that complies with example specifications for File Based Program Delivery.
  • FIG. 32 presents an exemplary system diagram of various hardware components and other features, for use in accordance with an aspect of the present invention.
  • the present invention may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems.
  • the invention is directed toward one or more computer systems capable of carrying out the functionality described herein.
  • An example of such a computer system 3200 is shown in FIG. 32 .
  • Computer system 3200 includes one or more processors, such as processor 3204 .
  • the processor 3204 is connected to a communication infrastructure 3206 (e.g., a communications bus, cross-over bar, or network).
  • a communication infrastructure 3206 e.g., a communications bus, cross-over bar, or network.
  • Computer system 3200 can include a display interface 3202 that forwards graphics, text, and other data from the communication infrastructure 3206 (or from a frame buffer not shown) for display on a display unit 3230 .
  • Computer system 3200 also includes a main memory 3208 , preferably random access memory (RAM), and may also include a secondary memory 3210 .
  • the secondary memory 3210 may include, for example, a hard disk drive 3212 and/or a removable storage drive 3214 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
  • the removable storage drive 3214 reads from and/or writes to a removable storage unit 3218 in a well-known manner.
  • Removable storage unit 3218 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 3214 .
  • the removable storage unit 3218 includes a computer usable storage medium having stored therein computer software and/or data.
  • secondary memory 3210 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 3200 .
  • Such devices may include, for example, a removable storage unit 3222 and an interface 3220 .
  • Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 3222 and interfaces 3220 , which allow software and data to be transferred from the removable storage unit 3222 to computer system 3200 .
  • EPROM erasable programmable read only memory
  • PROM programmable read only memory
  • Computer system 3200 may also include a communications interface 3224 .
  • Communications interface 3224 allows software and data to be transferred between computer system 3200 and external devices. Examples of communications interface 3224 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc.
  • Software and data transferred via communications interface 3224 are in the form of signals 3228 , which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 3224 . These signals 3228 are provided to communications interface 3224 via a communications path (e.g., channel) 3226 .
  • This path 3226 carries signals 3228 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels.
  • RF radio frequency
  • the terms “computer program medium” and “computer usable medium” are used to refer generally to media such as a removable storage drive 3280 , a hard disk installed in hard disk drive 3270 , and signals 3228 .
  • These computer program products provide software to the computer system 3200 . The invention is directed to such computer program products.
  • Computer programs are stored in main memory 3208 and/or secondary memory 3210 . Computer programs may also be received via communications interface 3224 . Such computer programs, when executed, enable the computer system 3200 to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor 3210 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 3200 .
  • the software may be stored in a computer program product and loaded into computer system 3200 using removable storage drive 3214 , hard drive 3212 , or communications interface 3220 .
  • the control logic when executed by the processor 3204 , causes the processor 3204 to perform the functions of the invention as described herein.
  • the invention is implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
  • the invention is implemented using a combination of both hardware and software.
  • FIG. 33 is a block diagram of various exemplary system components, in accordance with an aspect of the present invention.
  • FIG. 33 shows a communication system 3300 usable in accordance with the present invention.
  • the communication system 1000 includes one or more accessors 10330 , 10332 (also referred to interchangeably herein as one or more “users”) and one or more terminals 1042 , 103333 .
  • data for use in accordance with the present invention is, for example, input and/or accessed by accessors 10330 , 10334 via terminals 1042 , 103333 , such as personal computers (PCs), minicomputers, mainframe computers, microcomputers, telephonic devices, or wireless devices, such as personal digital assistants (“PDAs”) or a hand-held wireless devices coupled to a server 1043 , such as a PC, minicomputer, mainframe computer, microcomputer, or other device having a processor and a repository for data and/or connection to a repository for data, via, for example, a network 1044 , such as the Internet or an intranet, and couplings 1045 , 10433 , 10334 .
  • the couplings 1045 , 10433 , 10334 include, for example, wired, wireless, or fiberoptic links.
  • the method and system of the present invention operate in a stand-alone environment, such as on a single terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Methods, apparatuses, and computer program products are disclosed for determining a plurality of parameters of a shim file to define a format of at least one media content input, creating a file based program master based on the shim file, and providing the created file based program master to a user for creating and delivering the at least one media content input.

Description

RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 61/731,402 entitled “METHOD AND SYSTEM FOR FILE BASED DELIVERY OF CONTENT” filed on Nov. 29, 2012, the entirety of which is incorporated by reference herein.
BACKGROUND OF THE INVENTION 1. Field of Invention
The present invention relates to a method and system for configuring the creation of video files based on specific criteria. The specific criteria may be standard or provided by the ultimate recipient or user of the video file, such as a media network or distributor.
2. Description of Related Art
The art of media technology today is characterized by a number of incompatible digital file types. Previously, when video tape was used, there were only a few tape formats (e.g., in the range of 10-15 tape formats), and the tapes of a given format were compatible with each other. For example, if a Sony high-definition video digital recording videocassette (HDCAM) deck was used, all Sony HDCAM tapes would work on the HDCAM deck regardless of who created the tape.
Today, there are hundreds of thousands of digital video file variations. As a result, file compatibility is an enormous problem for media technology companies seeking to move away from standard video tape. There is a need, therefore, for a method and system that enables the makers of video files to create such files to a given specification, in order to ensure that all files used by a given user are created to the user's specification and are of the same, or at least of a compatible type.
There is a further need in the art to define physical media (e.g., video or audio inputs), file parameters, and metadata requirements of a multimedia file as a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
SUMMARY OF THE INVENTION
In light of the above-described problems and shortcomings, aspects of the present invention relate to methods and systems that enable the makers of video files to create such files to a given specification, in order to ensure that all files used by a given user are created to the user's specification and are of the same, or at least of a compatible type.
Further, aspects of the present invention are directed to methods and systems for defining physical media (e.g., video or audio inputs), file parameters, and metadata requirements of a multimedia file as a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
Yet further aspects of the present invention are directed to methods, systems and computer program products, relating to configuring a plurality of parameters of a shim file to define a format of at least one media content input, creating a file based program master based on the shim file, and providing the created file based program master to a user for creating and delivering the at least one media content input.
Additional advantages and novel features of these aspects of the invention will be set forth in part in the description that follows, and in part will become more apparent to those skilled in the art upon examination of the following or upon learning by practice of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Various exemplary aspects of the systems and methods will be described in detail, with reference to the following figures, wherein:
FIG. 1 is a shim file structure in accordance with aspects of the present invention;
FIG. 2 is an example shim file in accordance with aspects of the present invention;
FIG. 3 shows example shim parameters in accordance with aspects of the present invention;
FIGS. 4-5 define Parameters for Wrappers of a shim file in accordance with aspects of the present invention;
FIG. 6 shows example Parameters for Tracks of Timecode kind in accordance with aspects of the present invention;
FIGS. 7 and 8 collectively define sample Parameters for Tracks of Video kind in accordance with aspects of the present invention;
FIGS. 9-11 collectively define Parameters for Tracks of Audio kind in accordance with aspects of the present invention;
FIG. 12 is a top-level shim file structure in accordance with aspects of the present invention;
FIGS. 13-19 show a nested hierarchy of Section(s), Group(s), Wrapper(s), Track(s), Parameter(s), SubParameter(s) and Limit(s) within a shim file in accordance with aspects of the present invention;
FIGS. 20-23 show an XML schema document used to normatively define a structure of a shim file in accordance with aspects of the present invention;
FIGS. 24-26 show a sample shim XML file as a valid instance of the shim schema of FIGS. 20-23 in accordance with aspects of the present invention;
FIG. 27 shows a flow chart illustrating an exemplary method for generating a shim file in accordance with aspects of the present invention;
FIGS. 28-31 show another example implementation of a method and system in accordance with aspects of the present invention;
FIG. 32 presents an exemplary system diagram of various hardware components and other features, for use in accordance with an aspect of the present invention; and
FIG. 33 is a block diagram of various exemplary system components, in accordance with an aspect of the present invention.
DETAILED DESCRIPTION
These and other features and advantages of this invention are described in, or are apparent from, the following detailed description of various example aspects.
The present invention, in accordance with an aspect, is directed to determining a plurality of parameters of a shim file to define a format of at least one media content input, creating a file based program master based on the shim file, and providing the created file based program master to a user for creating and delivering the at least one media content input. In accordance with one aspect, the present invention is directed to methods and systems for defining physical media (e.g., video or audio inputs), file parameters, and metadata requirements of a multimedia file as a plurality of precise parameters, tags and values necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms.
In accordance with an aspect of the present invention, the following terminology may be used to describe various different parts of a file based program master. For example, “Essence” may refer to an actual video or audio content contained within a file. A “Volume” may be a logical drive created on the physical media by a file system. In some instances, volumes may be given names and drive letters. The “Root” of a volume may be the topmost layer of organization, and “Folders” may be following layers of organization within a volume. In addition, a folder may be created within the root of a volume or nested within another folder. Further, a file “Wrapper” may refer to a digital container that holds the video and audio essence along with at least a portion of the file metadata. Wrapper formats are often associated with certain file extensions. The .MOV extension, for example, indicates that the file may use a Quicktime wrapper.
In some aspects, in defining physical media (e.g., video or audio inputs), file parameters, and metadata requirements for file based program masters, one or more shim files may be created to contain a plurality of precise parameters, tags and values that may be necessary to describe the physical media in a format that may be read and used directly by content editing, compounding and bundling systems contemplated on various computing platforms. For example, as a high-level structure requirement and for easy machine-readability, shim files may be constructed as Extensible Markup Language (XML) documents. More specifically, a top-level element in an XML document may include identifiers and useful annotations. Within the top level, the body of a shim file may be presented in the following nested levels:
    • Section. Each Section may describe a major division of the content, such as Main, Audio, Graphics, Metadata.
    • Group. Each Group may describe a part of a Section. For example, within Graphics there may be Groups for Open, Credits, Lower Thirds Graphic.
    • Wrapper. Within a Group there may be one or more Wrapper elements to describe the wrapper in which the essence and metadata Tracks are contained.
    • Track. Each Track may describe a particular usage of Essence within a Group. For example, within the Audio Section may be a Narration Group with an ENG Track and a SPA Track. Tracks may be single-channel (for example, Picture), or multi-channel (for example, Stereo or Surround).
    • Parameter. Each Parameter describes a named aspect of a Track (or perhaps a Group or Section) and specifies a required value. For example, an Audio/Narration/ENG Track might have a parameter name “Wrapper,” value “BWAV” (a well-known abbreviation for Broadcast Wave File Format).
    • SubParameter. Within Parameters, SubParameters may be specified. For example, a Codec parameter may require a Version subparameter.
    • Limits. In cases where a parameter does not have a single precise allowed value, Limits may be given in a nested element (or elements). Limits may specify a range of values, or a set of enumerated values.
    • ParameterSet. Each ParameterSet describes a collection of Parameters with SubParameters or Limits and their corresponding values that may be applied to a Track (or perhaps a Group or Section) and specifies a required value. For example, a ParameterSet “PCM_48_20” may define parameters for 48 kHz 20 bit pulse-code modulation (PCM) audio that may be used by many Tracks.
    • Using. This element may indicate a use of a ParameterSet, and may appear wherever a Parameter can be specified. The values of any Parameters of PSubParameters obtained from the ParameterSet may be overridden by specifying additional Parameter elements.
In some aspects, there may be no more than a single possible Group within a Section, or a single possible Track within a Group. For simplicity of implementation and to allow for future growth, as shown in FIG. 1, a structural level 100 may still be present in a shim file but with a blank name attribute. An example of a complete shim file 200 is illustrated in FIG. 2, along with annotations and explanations defining the attributes. It should be appreciated that the details of the example 200 in FIG. 2 are illustrative and may not necessarily correspond to any specific shim file in use by any user. In one aspect, actual shim files for use by content editing systems to deliver tangible program masters may be published separately. In another aspect, the example XML document 200 shown in FIG. 2 may be used to describe a program master containing a single unnamed group. More specifically, the Main Program is in a Wrapper of type MOV, built by the QuickTime MOV writer with no external references (i.e., self-contained, not a QuickTime Reference Movie), and within the Wrapper are Timecode 202, Video 204, and two Audio Tracks 206, 208. A Metadata Section (not shown) may have one Group called Companion, for example, and its wrapper may be an XML file using an external schema referenced by the shim file 200.
Referring to FIG. 3, in a generic shim file, shim parameters may be defined semantically to indicate where they may occur, for example: /Section/Group, and cardinality, associated attributes, and value-ranges.
In some aspects, a shim identifier (shim_id) may be defined to identify a shim file (interchangeably referred to herein as a “shim”) and the identifier is intended to signal a version of the shim that is in use when a bundle of associated media files and information are to be created or modified. Annotation text defining the attributes may be provided.
Further, as described above, each Section may describe a major division of the content, such as Main, Audio, Graphics, Metadata. A general form of a Section may be:
<Section name=“{name}”>
    • {content}
</Section>
Where {name} is a section name, written in UpperCamelCase, unique throughout the entire shim namespace; and {content} is a sequence of one or more Groups (see below).
Each Group may describe a part of a Section. For example, within Graphics there may be Groups for Open, Credits, Lower Thirds Graphic, for example, and a general form of a Group may be:
<Group name=“{name}”>
    • {content}
</Group>
Where {name} is the group name, written in UpperCamelCase, unique throughout the entire shim namespace; and {content} is a sequence of one or more Wrappers (see below).
Each Wrapper may describe a file wrapper which contains a collection of Tracks. For example, within the Program there may be a Wrapper whose type (e.g., described by Paramaters) is a MOV file written by QuickTime. A general form of a Wrapper may be:
<Wrapper name=“{name}”>
{content}
</Wrapper>
Where {name} is the Wrapper name, written in UpperCamelCase, unique throughout the entire shim namespace; and {content} is a sequence of one or more Tracks (see below).
Each Track may describe, e.g., a particular usage of Essence within a Group. For example, within the Audio Section may be a Narration Group with an ENG Track and a SPA Track. Tracks may be single-channel (for example, Picture), or multi-channel (for example, Stereo or Surround). A general form of a Track may be:
<Track kind=“{kind}” name=“{name}” index=“{index}”>
    • {content}
</Track>
Where
{kind} is the Track kind, which may be one of Picture, Sound, Data, Text.
{name} is the Track name, written in UpperCamelCase, unique throughout the entire shim namespace.
{index} is the index of a specific Track when several Tracks are permitted.
{content} is a sequence of one or more Parameters (see below).
This form may permit a description of multiple tracks, for example:
<Track kind=“Audio” name=“AI” index=“1”>
    • <Parameter name=“Audiocodec”>Pcm</Parameter>
    • <Parameter name=“AudioTrackLaber”>Left</Parameter>
</Track>
<Track kind=“Audio” name=“A2” index=“2”>
    • <Parameter name=“Audiocodec”>Pcm</Parameter>
    • <Parameter name=“AudioTrackLabel”>Right</Parameter>
</Track>
Each Parameter may describe a named aspect of a Track (or perhaps a Group or Section) and may specify a required value. For example, an Audio/Narration/ENG Track may have a parameter name “Wrapper” and a value “BWAV” (an abbreviation for Broadcast Wave File Format). The general form of a Parameter may be:
<Parameter name=“{name}” index=“{index}” type=“{type}”>{value}</Parameter>
Where
    • {name} is the parameter name, written in UpperCamelCase, unique throughout the entire shim namespace.
    • {index} is the index of a specific Parameter when several values are needed.
    • {type} is the type of the value, which may be one of the simpleTypes defined by another XML Schema. The type specifier is usually given unambiguously in the parameter definition, hence this attribute is optional.
    • {value} is the single value for the Parameter or a set of Limits (see below).
Each SubParameter may describe a named aspect of a Parameter and specify a required value. SubParameters may be provided to help organize the namespaces for Parameter and SubParameter names and avoid issues with non-unique names. The general form of a SubParameter may be:
<Subparameter name=“{name}” index=“{index}” type=“{type}”>{value}</Subparameter>
Where
    • {name} is the subparameter name, written in UpperCamelCase, unique throughout the entire shim namespace.
    • {index} is the index of a specific Sub Parameter when several values are needed.
    • {type} is the type of the value, which may be one of the simpleTypes defined by another XML Schema. The type specifier is usually given unambiguously in the parameter definition, hence this attribute is optional.
    • {value} is the single value for the SubParameter or a set of Limits (see below).
Limits may be optional, for example. In cases where there is a single allowed value for a Parameter, that value may be provided as simple content of the Parameter element. When a range of values, or one or more of an enumeration of values is required, the value may be specified using one or more <Limit/>elements in place of the simple content.
Each Limit may be expressed as a predicate including a relation and one or more values. For example:
<Parameter name=“VideoBitRate”>
    • <Limit relation=“less_than”>300000000</Limit>
</Parameter>
Or
<Parameter name=“VideoCodec”>
    • <Limit relation=“one_of”>DNxHD ProRes AVCI</Limit>
</Parameter>
Or
<Parameter name=“Language”>
    • <Limit relation=“one_of” vocabulary=“IS0639-2”/>
</Parameter>
It should be understood that other Limits may also be defined.
Each ParameterSet may describe a collection of Parameters, SubParameters or Limits, for example, and their corresponding values that may be applied to a Track (or perhaps a Group or Section) and may specify a required value. For example, a ParameterSet “PCM_48_20” may define parameters for 48 kHz 20 bit PCM audio that can be used by many Tracks. The general form of a ParameterSet may be:
<ParameterSet name=“{name}”>{value}</ParameterSet>
Where
    • {name} is the name of the parameter set, written in UpperCamelCase, unique throughout the entire shim namespace.
    • {value} is a set of Parameter elements (see above), each of which may contain SubParameters or Limits.
In some aspects, in addition to the foregoing generic shim syntax, the following shim elements may be configured. For example, Sections may comprise Main, SupplementalAudio, Metadata, and Graphics. Groups within a given Section may comprise: Main Groups; Groups within a Supplemental Audio Section; Groups within a Metadata Section; and Groups within a Graphics Section. In one aspect, there may be only a single Group in the main section for a program.
For Wrappers within given Groups, in some aspects, there may be only a single Wrapper in the main Group in a main Section. Additionally, for Tracks within a Main Wrapper and within a Main Group, shims may comprise Timecode, Video and Audio Tracks.
Referring to FIGS. 4-11, shims may be configured to use the Parameters and SubParameters defined therein. For example, FIGS. 4-5 may define Parameters for all Wrappers; FIG. 6 may define Parameters for all Tracks of Timecode kind; FIGS. 7 and 8 may collectively define Parameters for all Tracks of Video kind; and FIGS. 9-11 may collectively define Parameters for all Tracks of Audio kind. In one aspect, parameters that are common to most Tracks may be gathered into a ParameterSet for easy reuse.
With respect to Limits, in some aspects, shims may specify the permitted Version of the Video Codec with a “greater_equal” limit.
Furthermore, ParameterSets may be configured to define Audio ParameterSets. In one aspect, as most, if not all, Audio Tracks use the same Parameters and SubParameters, to avoid unnecessary repetition, a ParameterSet named “PCM_mono_48_20” may gather and define the common Parameters and SubParameters such as AudioCodec:Coding, AudioSampling:Channels, AudioSampling:BitsPerSample, and AudioCoding:SamplingRate.
Referring to FIG. 12, a top-level shim file structure 1200 may be defined to comprise, among other features, a shim name element 1202, shim identifier element 1204, Annotation text element (optional) 1206, and Application specification element (optional) 1208. More specifically, shim name element 1202 may define a name for a specific shim, and the value of the element may be of type xs:string. Shim identifier (ShimID) element 1204 may be defined to contain a string identifier of the shim specification as shown in FIG. 2, and the value of the element may be of type xs:anyURI. Optional Annotation text (AnnotationText) element 1204 may be present for display as guidance to a user and may be configured to comprise a list of zero or more free-form, human-readable annotations describing the shim. An Optional Application specification element (ApplicationSpec) 1206 may be reserved for future use and the value of the element may be of type xs:string.
Referring to FIGS. 13-19, a nested hierarchy of Section(s) 1300, Group(s) 1400, Wrapper(s) 1500, Track(s) 1600, Parameter(s) 1700, SubParameter(s) 1800 and Limit(s) 1900 within an overall shim is shown and the structure of each element may be similar to that of another element. In some aspects, the kind attribute may be required only for Track elements, and may be used to specify which of the enumerated kinds (e.g., Timecode, Video, Audio, and Data) of Tracks is being described. The name attribute may be optional, and may be used to identify the instance of the element informally in documentation or formally in an XPath expression. The index attribute may also be optional, and may be used to identify the instance of the element informally in documentation or formally in an XPath expression. The value attribute carries the value of a simple SubParameter without Limits. The optional type attribute may be used to explicitly state the type of a value. For example, it may be used to draw attention to an enumerated type. The relation attribute may be used to express the relation in a Limit predicate, for example “less” is a relation that asserts that a SubParameter is less than the value attribute. In one aspect, Relations may comprise, but are not limited to: equal, less, less_equal, greater, greater_equal, not_equal, and one_of. Further, in some aspects, the same collection of Parameters and SubParameters may be used repeatedly. To avoid repetition of the settings, the ParametersSet and Using elements shown in FIG. 18 may allow a collection to be stated once and then reused. Additional or replacement Parameters and SubParameters may be given each time a ParameterSet is used, for example.
Referring to FIGS. 20-23, an XML schema document may be used to normatively define the structure of a shim file using any suitable machine-readable language. A sample shim XML file, as shown in FIGS. 24-26, may be a valid instance of the shim schema of FIGS. 20-23.
Referring to FIG. 27, a flow chart illustrating an exemplary method for generating a shim file in accordance with aspects of the present invention is provided. For example, process 2700 may be implemented by employing a processor to execute computer executable instructions stored on a computer readable storage medium to implement a series of steps. In an aspect, a computer device comprising a processor may configure 2702 a plurality of parameters of a shim file to define a format of at least one media content input, create 2704 a file based program master based on the shim file, and provide 2706 the created file based program master to a user for creating and delivering the at least one media content input.
Referring to FIGS. 28-31, another example implementation of the method and system in accordance with aspects of the present invention is illustrated. Those figures show an example shim that may instruct a compliant product to create a file based program master MAIN file that complies with example specifications for File Based Program Delivery.
FIG. 32 presents an exemplary system diagram of various hardware components and other features, for use in accordance with an aspect of the present invention. The present invention may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In one aspect, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of such a computer system 3200 is shown in FIG. 32.
Computer system 3200 includes one or more processors, such as processor 3204. The processor 3204 is connected to a communication infrastructure 3206 (e.g., a communications bus, cross-over bar, or network). Various software aspects are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures.
Computer system 3200 can include a display interface 3202 that forwards graphics, text, and other data from the communication infrastructure 3206 (or from a frame buffer not shown) for display on a display unit 3230. Computer system 3200 also includes a main memory 3208, preferably random access memory (RAM), and may also include a secondary memory 3210. The secondary memory 3210 may include, for example, a hard disk drive 3212 and/or a removable storage drive 3214, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 3214 reads from and/or writes to a removable storage unit 3218 in a well-known manner. Removable storage unit 3218, represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 3214. As will be appreciated, the removable storage unit 3218 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative aspects, secondary memory 3210 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 3200. Such devices may include, for example, a removable storage unit 3222 and an interface 3220. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 3222 and interfaces 3220, which allow software and data to be transferred from the removable storage unit 3222 to computer system 3200.
Computer system 3200 may also include a communications interface 3224. Communications interface 3224 allows software and data to be transferred between computer system 3200 and external devices. Examples of communications interface 3224 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 3224 are in the form of signals 3228, which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 3224. These signals 3228 are provided to communications interface 3224 via a communications path (e.g., channel) 3226. This path 3226 carries signals 3228 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. In this document, the terms “computer program medium” and “computer usable medium” are used to refer generally to media such as a removable storage drive 3280, a hard disk installed in hard disk drive 3270, and signals 3228. These computer program products provide software to the computer system 3200. The invention is directed to such computer program products.
Computer programs (also referred to as computer control logic) are stored in main memory 3208 and/or secondary memory 3210. Computer programs may also be received via communications interface 3224. Such computer programs, when executed, enable the computer system 3200 to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor 3210 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 3200.
In an aspect where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 3200 using removable storage drive 3214, hard drive 3212, or communications interface 3220. The control logic (software), when executed by the processor 3204, causes the processor 3204 to perform the functions of the invention as described herein. In another aspect, the invention is implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
In yet another aspect, the invention is implemented using a combination of both hardware and software.
FIG. 33 is a block diagram of various exemplary system components, in accordance with an aspect of the present invention. FIG. 33 shows a communication system 3300 usable in accordance with the present invention. The communication system 1000 includes one or more accessors 10330, 10332 (also referred to interchangeably herein as one or more “users”) and one or more terminals 1042, 103333. In one aspect, data for use in accordance with the present invention is, for example, input and/or accessed by accessors 10330, 10334 via terminals 1042, 103333, such as personal computers (PCs), minicomputers, mainframe computers, microcomputers, telephonic devices, or wireless devices, such as personal digital assistants (“PDAs”) or a hand-held wireless devices coupled to a server 1043, such as a PC, minicomputer, mainframe computer, microcomputer, or other device having a processor and a repository for data and/or connection to a repository for data, via, for example, a network 1044, such as the Internet or an intranet, and couplings 1045, 10433, 10334. The couplings 1045, 10433, 10334 include, for example, wired, wireless, or fiberoptic links. In another aspect, the method and system of the present invention operate in a stand-alone environment, such as on a single terminal.
While this invention has been described in conjunction with the exemplary aspects outlined above, various alternatives, modifications, variations, improvements, and/or substantial equivalents, whether known or that are or may be presently unforeseen, may become apparent to those having at least ordinary skill in the art. Accordingly, the exemplary aspects of the invention, as set forth above, are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention. Therefore, the invention is intended to embrace all known or later-developed alternatives, modifications, variations, improvements, and/or substantial equivalents.

Claims (18)

What is claimed is:
1. A computer-assisted method, the computer comprising a processor, the method comprising:
receiving an input of at least one segment of media content comprising electronic audio and/or video content;
determining a plurality of elements of a shim file to define a format of the at least one segment of media content, wherein the shim file has a nested hierarchy defining the plurality of elements of the shim file, the elements comprising:
a shim file identifier identifying a version of the shim that is in use when a bundle of associated media files and information are to be created or modified;
a plurality of sections, each section describing a division of the segment of media content, comprising at least a main section, an audio section, a metadata section, and a graphics section;
at least one group nested within at least one section of the plurality of sections, the at least one group describing at least a part of the division of the segment of media content described by the section in which the at least one group is nested;
at least one wrapper element nested within the at least one group, the at least one wrapper element describing a wrapper in which at least a part of the division of the segment of media content described by the section in which the wrapper element is nested is contained;
at least one track nested within the at least one wrapper element, the at least one track describing a usage or type of at least a part of the at least one segment of media content;
at least one parameter nested within the at least one wrapper element, the at least one parameter describing a named aspect of the at least one section, the at least one group, and/or the at least one track;
at least one parameter set nested within at least one of the sections, the groups, and the tracks, the at least one parameter set defining a collection of parameters that are common to a majority of the sections, the groups, and the tracks and their corresponding values applied to at least one of the sections, the groups, and the tracks, and specify one or more required values of the collection of parameters; and
at least one using element nested within at least one parameter set, wherein the using element indicates a use of the at least one parameter set;
creating a file based program master based on the elements of the shim file and a specific format defined by a user of the file based program master, wherein the file based program master is separate from the shim file and is designed to include the at least one segment of media content, and wherein the file based program master is compatible with the specific format defined by the user; and
providing the created file based program master to the user for creating and delivering the at least one segment of media content, through content editing, compounding, and bundling systems of a computing platform.
2. The method of claim 1, wherein the plurality of elements of the shim file are based on a media type and encoding/decoding attributes of the at least one segment of media content; and
wherein only one group is nested within each section and only one track is nested within each group of a nested hierarchy of a shim file.
3. The method of claim 1, further comprising:
determining and collecting similar elements used by a plurality of segments of media content of a same type; and
configuring a common elements set for defining a format of a segment of media content of the same type.
4. The method of claim 1, wherein the shim file is constructed as an Extensible Markup Language (XML) document;
wherein the at least one wrapper element is a MOV type element; and
wherein the shim file further comprises a metadata section having a companion group with a wrapper element.
5. The method of claim 1, wherein each group defines part of a section as being one or more of an opening, credits, or graphics, and each group has a group name that is unique throughout an entire shim namespace and a content tag defining a sequence of one or more wrappers.
6. The method of claim 1, wherein the elements of the shim file define tags and values necessary to describe the media content in a format readable directly by content editing, compounding and bundling systems of computing platforms.
7. A system, comprising:
at least one processor configured to:
receive an input of at least one segment of media content comprising electronic audio and/or video content;
determine a plurality of elements of a shim file to define a format of the at least one segment of media content, wherein the shim file has a nested hierarchy defining the plurality of elements of the shim file, the elements comprising:
a shim file identifier identifying a version of the shim that is in use when a bundle of associated media files and information are to be created or modified;
a plurality of sections, each section describing a division of the media content, comprising at least a main section, an audio section, a metadata section, and a graphics section;
at least one group nested within at least one section of the plurality of sections, the at least one group describing at least a part of the division of the segment of media content described by the section in which the at least one group is nested;
at least one wrapper element nested within the at least one group, the at least one wrapper element describing a wrapper in which at least a part of the division of the segment of media content described by the section in which the wrapper element is nested is contained;
at least one track nested within the at least one wrapper element, the at least one track describing a usage or type of at least a part of the at least one segment of media content;
at least one parameter nested within the at least one wrapper element, the at least one parameter describing a named aspect of the at least one section, the at least one group, and/or the at least one track;
at least one parameter set nested within at least one of the sections, the groups, and the tracks, the at least one parameter set defining a collection of parameters that are common to a majority of the sections, the groups, and the tracks and their corresponding values applied to at least one of the sections, the groups, and the tracks, and specify one or more required values of the collection of parameters; and
at least one using element nested within at least one parameter set, wherein the using element indicates a use of the at least one parameter set;
create a file based program master based on the elements of the shim file and a specific format defined by a user of the file based program master, wherein the file based program master is separate from the shim file and is designed to include the at least one segment of media content, wherein the file based program master is compatible with the specific format defined by the user; and
provide the created file based program master to the user for creating and delivering the at least one segment of media content, through content editing, compounding, and bundling systems of a computing platform;
a user interface functioning via the processor; and
a repository accessible by the processor.
8. The system of claim 7, wherein the plurality of elements of the shim file are based on a media type and encoding/decoding attributes of the at least one segment of media content; and
wherein only one group is nested within each section and only one track is nested within each group of a nested hierarchy of a shim file.
9. The system of claim 7, wherein the processor is further configured to:
determine and collect similar elements used by a plurality of segments of media content of a same type; and
configure a common elements set for defining a format of a segment of media content of the same type.
10. The system of claim 7, wherein the shim file is constructed as an Extensible Markup Language (XML) document;
wherein the at least one wrapper element is a MOV type element; and
wherein the shim file further comprises a metadata section having a companion group with a wrapper element.
11. The system of claim 7, wherein the shim file elements are defined semantically to indicate location, cardinality, associated attributes, and value-ranges.
12. The system of claim 7, wherein each group has a group name that is unique throughout an entire shim namespace and a content tag defining a sequence of one or more wrappers.
13. A computer program product comprising a non-transitory computer readable medium having control logic stored therein for causing a computer to:
receive an input of at least one segment of media content comprising electronic audio and/or video content;
determine a plurality of elements of a shim file to define a format of the at least one segment of media content, wherein the shim file has a nested hierarchy defining the plurality of elements of the shim file, the elements comprising:
a shim file identifier identifying a version of the shim that is in use when a bundle of associated media files and information are to be created or modified;
a plurality of sections, each section describing a division of the segment of media content, comprising at least a main section, an audio section, a metadata section, and a graphics section;
at least one group nested within at least one section of the plurality of sections, the at least one group describing at least a part of the division of the segment of media content described by the section in which the at least one group is nested;
at least one wrapper element nested within the at least one group, the at least one wrapper element describing a wrapper in which at least a part of the division of the segment of media content described by the section in which the wrapper element is nested is contained;
at least one track nested within the at least one wrapper element, the at least one track describing a usage or type of at least a part of the at least one segment of media content;
at least one parameter nested within the at least one wrapper element, the at least one parameter describing a named aspect of the at least one section, the at least one group, and/or the at least one track;
at least one parameter set nested within at least one of the sections, the groups, and the tracks, the at least one parameter set defining a collection of parameters that are common to a majority of at least one of the sections, the groups, and the tracks and their corresponding values applied to at least one of the sections, groups, and tracks, and specify one or more required values of the collection of parameters; and
at least one using element nested within at least one parameter set, wherein the using element indicates a use of the at least one parameter set;
create a file based program master based on the plurality of elements of the shim file and a specific format defined by a user of the file based program master, wherein the file based program master is separate from the shim file and is designed to include the at least one segment of media content, wherein the file based program master is compatible with the specific format defined by the user; and
provide the created file based program master to the user for creating and delivering the at least one segment of media content, through content editing, compounding, and bundling systems of a computing platform.
14. The computer program product of claim 13, wherein the plurality of elements of the shim file is based on a media type and encoding/decoding attributes of the at least one segment of media content; and
wherein only one group is nested within each section and only one track is nested within each group of a nested hierarchy of a shim file.
15. The computer program product of claim 13, wherein the control logic further causes the computer to:
determine and collect similar elements used by a plurality of segments of media content of a same type; and
configure a common elements set for defining a format of a segment of media content of the same type.
16. The computer program product of claim 13, wherein the shim file is constructed as an Extensible Markup Language (XML) document;
wherein the at least one wrapper element is a MOV type element; and
wherein the shim file further comprises a metadata section having a companion group with a wrapper element.
17. The computer program product of claim 13, wherein the at least one track describes at least a part of the at least one segment of media content as being either a single-channel track, multi-channel track, ENG track, or SPA track.
18. The computer program product of claim 13, wherein the shim file is structured such that only a single possible group defines a section, and only a single possible track defines a group.
US14/092,149 2012-11-29 2013-11-27 Method and system for creating media content Active 2034-06-14 US9813664B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/092,149 US9813664B1 (en) 2012-11-29 2013-11-27 Method and system for creating media content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261731402P 2012-11-29 2012-11-29
US14/092,149 US9813664B1 (en) 2012-11-29 2013-11-27 Method and system for creating media content

Publications (1)

Publication Number Publication Date
US9813664B1 true US9813664B1 (en) 2017-11-07

Family

ID=60189754

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/092,149 Active 2034-06-14 US9813664B1 (en) 2012-11-29 2013-11-27 Method and system for creating media content

Country Status (1)

Country Link
US (1) US9813664B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143191A1 (en) * 2004-12-23 2006-06-29 Microsoft Corporation Methods, systems, and computer-readable media for a global video format schema defining metadata relating to video media
US7389474B2 (en) * 2003-02-28 2008-06-17 Microsoft Corporation Language or script-based character set conversions per-application program
US20100149091A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Method
US20120042050A1 (en) * 2010-08-10 2012-02-16 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US20120084345A1 (en) * 2010-10-05 2012-04-05 Microsoft Corporation Website compatibility shims
US20130111028A1 (en) * 2011-11-01 2013-05-02 Lukasz Kondrad Method and apparatus for selecting an access method for delivery of media
US20130272394A1 (en) * 2012-04-12 2013-10-17 Activevideo Networks, Inc Graphical Application Integration with MPEG Objects

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389474B2 (en) * 2003-02-28 2008-06-17 Microsoft Corporation Language or script-based character set conversions per-application program
US20060143191A1 (en) * 2004-12-23 2006-06-29 Microsoft Corporation Methods, systems, and computer-readable media for a global video format schema defining metadata relating to video media
US20100149091A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Method
US20120042050A1 (en) * 2010-08-10 2012-02-16 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US20120084345A1 (en) * 2010-10-05 2012-04-05 Microsoft Corporation Website compatibility shims
US20130111028A1 (en) * 2011-11-01 2013-05-02 Lukasz Kondrad Method and apparatus for selecting an access method for delivery of media
US20130272394A1 (en) * 2012-04-12 2013-10-17 Activevideo Networks, Inc Graphical Application Integration with MPEG Objects

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nested Relationships in XML, Visual Studio .Net 2003, http://msdn.microsoft.com/en-us/library/yk41a37k(v=vs.71).aspx, Archive Nov. 1, 2012, 1 page. *

Similar Documents

Publication Publication Date Title
CN108399256B (en) Heterogeneous database content synchronization method and device and middleware
EP1579286B1 (en) System and method for authoring multimedia contents description metadata
US7774300B2 (en) System and method for data model and content migration in content management applications
US20050223038A1 (en) MPV file parsing method and apparatus, and storage medium therefor
US20100228794A1 (en) Semantic document analysis
EP2336898A1 (en) Method and system for processing electronic data
US10025787B2 (en) Systems and methods for selecting digital data for archival
US20150347353A1 (en) Document layering platform
US20130018923A1 (en) LossLess Transformation of XBRL Instance to XML Data Model Instance
US8515977B2 (en) Delta language translation
US8244694B2 (en) Dynamic schema assembly to accommodate application-specific metadata
US11847155B2 (en) Systems and methods for selecting digital data for archival
US8266589B2 (en) Optimizing the handling of source code requests between a software configuration management (SCM) system and a software integrated development environment (IDE) using projected ancillary data
Soto-Rey et al. Implementation of an ODM and HL7 compliant electronic patient-reported outcome system
US9813664B1 (en) Method and system for creating media content
CN105574164B (en) The data analysis method and device of Excel document
Fallucchi et al. Creating CMDI-profiles for textbook resources
Shaon et al. Long-term preservation for spatial data infrastructures: A metadata framework and geo-portal implementation
US20080005132A1 (en) Method and system for describing and storing bursting metadata in a content management system
Dunsire UNIMARC, RDA, and the Semantic Web
CN109670152B (en) HL7V3 analysis method, storage medium, electronic equipment and system
US20080201349A1 (en) Rule conditions and dynamic content alterations in a content management system
Płoszajski Metadata in long-term digital preservation
US20080161949A1 (en) Templates and Style Sheets for Audio Broadcasts
US20220350447A1 (en) Editor for the creation and modification of data model metadata

Legal Events

Date Code Title Description
AS Assignment

Owner name: DISCOVERY COMMUNICATIONS, LLC, MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MILLER, BRINTON A.;DERBY, JOSHUA C.;MYERS, CHARLES J.;SIGNING DATES FROM 20130903 TO 20130923;REEL/FRAME:031760/0970

Owner name: DISCOVERY COMMUNICATIONS, LLC, MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COLLINS, ROBERT L.;REEL/FRAME:031761/0410

Effective date: 20131209

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4