|Publication number||US8140953 B1|
|Application number||US 11/924,954|
|Publication date||Mar 20, 2012|
|Filing date||Oct 26, 2007|
|Priority date||Oct 26, 2007|
|Publication number||11924954, 924954, US 8140953 B1, US 8140953B1, US-B1-8140953, US8140953 B1, US8140953B1|
|Inventors||Dale Matthew Weaver|
|Original Assignee||Adobe Systems Incorporated|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (46), Non-Patent Citations (6), Referenced by (8), Classifications (4), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
Conventional computer systems allow for the production and distribution of multimedia data, including video, audio and image data. Such production is increasing at a phenomenal rate due to the growing popularity of the Internet, the growing affordability of personal computers capable of efficiently processing multimedia data to provide a pleasing experience for users, as well as the fact that multimedia data is far superior to text-only data in conveying content-rich information.
People now access and use multimedia data in numerous ways. One way that people access multimedia data is over a network. For example, people using web browsers on personal computers now access multimedia data by surfing the World Wide Web via the Internet. Countless numbers of content providers link multimedia data to web pages accessible by people using web browsers. Today, persons using web browsers can access a web page from a web server operated by a content provider to view video clips, listen to audio clips, or view images made available by the content provider.
When a client requests a piece of media content such as digital video, audio, or some other sampled content from a server, the client typically provides the global address of the content in the form of a Uniform Resource Locator (URL). A server then accesses the content and sends or “streams” it to the client as a continuous data stream.
There are various file formats for streaming media content and composite media streams. Regardless of the streaming file format used, an individual data stream may contain a sequence of digital data sets or units. The units can represent an image, sound, or some other stimuli that is perceived by a human to be continuously varying. The client can render the units individually, or in sequence, to reproduce the original stimuli. For example, a video data stream includes a sequence of digitally specified graphics frames that are rendered in sequence to produce a moving picture.
Conventional applications that make media available to be rendered in different formats suffer from a number of deficiencies. For example, when the conventional applications provide the media for a particular format, the media is not retained. When a user desires the same media in a different output format, the user is forced to wait for the identical media to be recreated each time the media is selected for export to a particular format. Further, current conventional software is complex and too costly to implement, test, and maintain because of the need to maintain and invalidate media for each export format. In other words, conventional applications lack a comprehensive solution to determine when media complies with the requirements of multiple formats without incurring processing, storage and rendering costs.
In addition, some conventional systems maintain the media in parallel structures for each format. This approach requires the user interface and other operations that modify the media to execute processes upon all of the parallel structures in order to update the media in each format. Specifically, such an approach requires every internal operation, that may imply changes to the media, to invalidate the media for each parallel structure. Different logic could further be required in each case in order to update the media for each format. This is a great burden in terms of software complexity.
Embodiments disclosed herein can significantly overcome such deficiencies and/or other deficiencies in the prior art. The embodiments herein provide for a media tagger that applies tags to media objects (i.e. exportable media objects) in a media catalogue to allow for the tagged media objects to be interpreted as suitable representations of a project object(s) that is part of a media project, which is defined by a native representation. A native representation of the media project is provided that is independent of any particular output format and is a description of the structure of the media project that is internal to the media tagger.
The media project can be a viewer-controlled browsing experience that is comprised of various project objects such as the menus, menu options, a timeline(s), video, audio, images, highlights, media assets, format settings, and actions that can be viewed via, for example, a Digital Video Disc (hereinafter D.V.D. or DVD) format. The various project objects can be represented by media objects stored in a media catalogue and validated by the media tagger. Thus, to build the media project in accordance with the definition in the native representation, a “formatted” media project (i.e. the media project encoded in a desired output format) can be composed of validated media objects that were exported from the media catalogue.
The media tagger provides the media catalogue to tag and store exportable media objects in order to determine whether the exportable media object is available for inclusion in the media project in a desired output format. Whether an exportable media object in the media catalogue can be considered as available (or validated) relies on tags associated with the particular exportable media object. The tags provide information regarding that exportable media object's version, identification number, state, format settings and, hence, the exportable media object's suitability for being interpreted as embodying the role and context of the project object in the media project.
By querying against the information provided in the tags, the media tagger can validate whether the exportable media object complies with the requirements of the desired output format (e.g. D.V.D., Blu-Ray, Flash). If there is compliance, the exportable media object is exported from the media catalogue to ultimately be used in building the “formatted” media project. Often, the exportable media object can comply with multiple output formats so the media tagger does not require a distinct rendering of the project object(s) for every possible output format. Moreover, a validated exportable media object need not be an exact rendering of a project object(s). Rather, the exportable media object can contain data and content that is merely sufficient for taking on the role (and dependencies as to other project objects) of a project object(s), as defined in the native representation.
If it is determined that the exportable media object cannot be used to build the media project in the desired output format, the media tagger invalidates that exportable media object so that it is not exported. However, the invalidated, exportable media object is still maintained in the media catalogue for possible use in building the media project according to different output formats. In addition, as a project object that is part of the media project's native representation is modified, the exportable media object is still stored in the media catalogue as an embodiment of a prior version of the project object(s). Thus, if the user creating the media project decides to undo changes to the project object(s), then maintaining the exportable media object allows the media catalogue to already have an exportable media object for that prior version which could be used—if the exportable media object is found to be validated for the desired output format.
According to general embodiments, the media tagger obtains a media project defined according to a native representation. The media project is made up of project objects and the native representation describes each project object's context within the media project. The media tagger receives an exportable media object, encoded according to an output format, which can include logical contributions from the project object(s). The media tagger tags the exportable media object and stores the exportable media object in a media catalogue. The media tagger acknowledges the selection of a desired output format to create a formatted media project based on the native representation of the media project. Upon validating that the exportable media object in the media catalogue can be used to build the formatted media project, the media tagger exports the exportable media object from the media catalogue.
Other embodiments include a computerized device, configured to process all the method operations disclosed herein as embodiments of the invention. In such embodiments, the computerized device includes a memory system, a processor, communications interface in an interconnection mechanism connecting these components. The memory system is encoded with a process that provides an interface with distinct interaction models as explained herein that when performed (e.g. when executing) on the processor, operates as explained herein within the computerized device to perform all of the method embodiments and operations explained herein as embodiments of the invention. Thus, any computerized device that performs or is programmed to perform the processing explained herein is an embodiment of the invention.
It is to be understood that the embodiments of the invention can be embodied strictly as a software program, as software and hardware, or as hardware and/or circuitry alone, such as within a data communications device. The features of the invention, as explained herein, may be employed in data communications devices and/or software systems for such devices such as those manufactured by Adobe Systems, Incorporated of San Jose, Calif.
Note that each of the different features, techniques, configurations, etc. discussed in this disclosure can be executed independently or in combination. Accordingly, the present invention can be embodied and viewed in many different ways.
Also, note that this summary section herein does not specify every embodiment and/or incrementally novel aspect of the present disclosure or claimed invention. Instead, this summary only provides a preliminary discussion of different embodiments and corresponding points of novelty over conventional techniques. For additional details, elements, and/or possible perspectives (permutations) of the invention, the reader is directed to the Detailed Description section and corresponding figures of the present disclosure as further discussed below.
The foregoing and other objects, features and advantages of the invention will be apparent from the following description of particular embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
Methods and apparatus provide for a media tagger that obtains a media project defined according to a native representation. The media project is made up of project objects and the native representation describes each project object's context within the media project. A project object's context can include that project object's role and placement within the media project—as well as any dependencies and relationships that project object has with other project objects in the media project. It is understood that an exportable media object can be interpreted as a piece of rendered media that is suitable to represent multiple project objects (or take on the role or context of a project object(s)) within a single formatted media project.
The media tagger receives the exportable media object, encoded according to an output format, which can include logical contributions from the project object(s). The media tagger tags the exportable media object and stores the exportable media object in a media catalogue. The media tagger acknowledges the selection of a desired output format to create a formatted media project based on the native representation of the media project. Upon validating that the exportable media object in the media catalogue can be used to build the formatted media project, the media tagger exports the exportable media object from the media catalogue. Thus, the native representation provides for a single model of the media project which can be easily maintained, stored and edited. However, media needed that is needed for export is available for reuse when the media project is to be encoded according to different formats and in different versions.
Turning now to
As shown in the present example, the computer system 110 includes an interconnection mechanism 111 such as a data bus, motherboard or other circuitry that couples a memory system 112, a processor 113, an input/output interface 114, and a display 130 presenting a graphical user interface 205 of the media tagger 150. An input device 116 (e.g., one or more user/developer controlled devices such as a keyboard, mouse, touch pad, etc.) couples to the computer system 110 and processor 113 through an input/output (I/O) interface 114. The computer system 110 can be a client system and/or a server system. Further, aspects of the media tagger application 150-1 and/or the media tagger process 150-2 can be distributed over a networked environment.
The memory system 112 can be any type of computer readable medium and, in this example, is encoded with a media tagger application 150-1 that supports generation, display, and implementation of functional operations as will be further explained herein. During operation of the computer system 110, the processor 113 accesses the memory system 112 via the interconnect 111 in order to launch, run, execute, interpret or otherwise perform the logic instructions of the media tagger application 150-1. Execution of the media tagger application 150-1 in this manner produces the media tagger process 150-2. In other words, the media tagger process 150-2 represents one or more portions or runtime instances of the media tagger application 150-1 (or the entire application 150-1) performing or executing within or upon the processor 113 in the computerized device 110 at runtime.
Those skilled in the art will understand that the computer system 110 may include other processes and/or software and hardware components, such as an operating system not shown in this example. A display 130 need not be coupled directly to computer system 110. For example, the media tagger application 150-1 can be executed on a remotely accessible computerized device via the network interface 115. In this instance, the graphical user interface 104 may be displayed locally to a user 108 of the remote computer, and execution of the processing herein may be client-server based.
During operation of the computer system 110, the processor 113 accesses the memory system 112 via the interconnect 111 in launch, run, execute, interpret or otherwise perform the logic instructions of the media tagger application 150-1. Execution of the media tagger application 150-1 in this manner produces processing functionality in a media tagger process 150-2. In other words, the media tagger process 150-2 represents one or more portions or runtime instances of the media tagger application 150-1 (or the entire targeted advertisement application 150-1) performing or executing within or upon the processor 113 in the computerized device 110 at runtime.
Again, the media tagger 150 tracks and invalidates media (i.e. exportable media objects) used to build a media project according to multiple output formats (e.g. DVD, Blu-Ray, Flash) without adding complexity to storage of the media project in its native representation. The media tagger 150 provides the advantages of not requiring the maintenance of specific structures in parallel with the media project in order to account for desired format peculiarities or activities to modify the project model to specifically invalidate media objects which cannot be used to build the media project in a particular format. Instead, the media project is maintained in a native representation during user and other operations while the media catalogue stores media objects. Each stored media object can be available to build the media project according to a desired output format(s) so long as that media object's rendering complies with the requirements of the desired output format. Further, each stored media object can be available for reuse but can also be invalidated from use when it does not comply with a particular requirement of a desired output format.
For example, in one embodiment of the media tagger 150, the media project—as defined in its native representation—can contain project objects that are timeline references for tracks and clips of media. If the media project was to be encoded into a Flash format, the underlying structure of the native representation is not entirely compatible since Flash export would require the generation of media in terms of chapters instead of tracks and clips. Hence, having chapter markers to associate with the exported media is a preferable structure for the Flash version of the media project. Upon the creation of chapter objects for the native representation, an exportable media object(s) can be maintained in the media catalogue, that is interpreted to be suitable to represent the chapter object and used to build the Flash media project. The media tagger 150 allows for moving, rearranging, and deleting such chapter markers without taking any specific action to invalidate media in catalogue. After any sequence of operations on the markers and other timeline objects, the exportable media objects(s) will remain valid, or be effectively invalidated as Flash export media based on the aggregate state of the project objects representing a section of the timeline beginning at the chapter marker. Thus, the media tagger 150 described herein provides for a reliable effective invalidation of exportable media while allowing a valid state of the exportable media to be recognized in a maximal number is cases.
With regard to flowcharts 300, 500, 600, 700, 800, and 900 illustrating embodiments of the media tagger 150, the rectangular elements of FIGS. 3,5-9 are herein denoted “processing blocks” and represent computer software instructions or groups of instructions upon a computer readable medium. Alternatively, the processing blocks represent steps performed by functionally equivalent circuits such as a digital signal processor circuit or an application specific integrated circuit (ASIC). The flowcharts do not depict the syntax of any particular programming language. Rather, the flowcharts illustrate the functional information one of ordinary skill in the art requires to fabricate circuits or to generate computer software to perform the processing required in accordance with the present invention. It should be noted that many routine program elements, such as initialization of loops and variables and the use of temporary variables are not shown. It will be appreciated by those of ordinary skill in the art that unless otherwise indicated herein, the particular sequence of steps described is illustrative only and may be varied without departing from the spirit of the invention. Thus, unless otherwise stated, the steps described below are unordered, meaning that, when possible, the steps may be performed in any convenient or desirable order.
At step 340, the media tagger 150 acknowledges the selection a desired output format for the media project 210 to create a formatted media project 230, which is based on the native representation of the media project 210. At step 350, upon validating that the exportable media object 220 in the media catalogue can be used to build the formatted media project 230, the media tagger 150 exports the exportable media object 220 from the media catalogue 150-3.
As herein discussed, validation means recognizing that a previously generated (i.e. rendered, transcoded) piece of media, such as an exportable media object, no longer corresponds to the current state of a project object(s) which it could represent in a formatted media project. For example, an exportable media object that is interpreted to be a suitable representation of the project object that represents a track of audio in a timeline project object is invalidated when the user changes an aspect within the media project (such as trimming another audio clip on the timeline), outside the media project (such as replacing the media underlying the audio clip), or modifying a related setting (such as altering transcode settings for rendering the project object).
It is also understood that when an exportable media object is said to have a logical contribution(s) from one or more project objects in the media project, the exportable media object can represent at least some piece of at least one project object. However, such representation need not be a direct representation. Instead it can be a partial or logical representation. For example, for an audio clip project object referencing a piece of a longer audio asset project object, the media catalogue can contain an exportable media object which is the rendered representation of the audio track containing that clip. Thus, that exportable media is a direct representation of that track encoded according to the export format of the exportable media object, and it contains a representation of the audio clip object, which in turn is a representation of part of the underlying asset. Hence, the particular exportable media object is logically related to those other objects (e.g. the underlying asset).
At step 540, the media tagger 150 tags 150-3-1 the exportable media object 220 with the object identifier to create a relationship, within the media catalogue 150-3, between the exportable media object 220 and the project object 210-1 such that the exportable media object 220 can be interpreted to represent the project object's 210-1 context in the formatted media project 230.
At step 550, the media tagger 150 tags 150-3-1 the version number to the exportable media object 220, the version number that is tagged 150-3-1 to the exportable media object 220 indicates a version of the project object 210-1 that is related with the exportable media object 220 according to the tagged object identifier 150-3-1.
Thus, in the media tagger's 150 first tier of tagging, every project object 210-1, 210-2 that is included in the media project 210 has an object identifier (“object I.D.”) and an effective version number in a tag. Exportable media objects 220 can be placed in a single common media catalogue 150-3 and tagged (i.e. assigned, associated, appended) 150-3-1 with the object ID and version number. Such tagging 150-3-1 creates an association, within the media catalogue 150-3, between the exportable media object 220 and a project object(s) 210-1.
Further, as the project object 210-1 is changed, the media tagger 150 can update internal version numbers for each project object 210-1, 210-2 that is affected by the change. Hence, an exportable media object 220 stored in the media catalogue 150-3 will not be exported to build the “formatted” media project 230 unless it corresponds to a current version number—thereby indicating that the exportable media object 220 embodies the changes to the project object 210-1 and optionally other project objects 210-2 that project object 210-1 is dependent upon or associated with as the formatted media project 230 is built.
There can be many kinds of media in the media catalogue 150-3 that are associated with the same object ID at the same version number. The export module, within the media tagger 150, for a particular format knows which exportable media object 220 is encoded in a format that is compatible and desired given the particular export settings (and naturally what project object 210-1 associated with the particular exportable media object 220). Sufficient media metadata (e.g. resolution, frame rate, codec type, etc.) is stored in the metadata tag 150-3-2 for each exportable media object 220 in the media catalogue 150-3. The metadata represents the media tagger's 150 second tier of tagging and provides another kind of invalidation support in that only media that matches an export module's current requirements for media format will be exported from the media catalog 150-3. Queries can be processed against the tags 150-3-1, 150-3-2, 150-3-3 of the exportable media objects 220 so that only media appropriate for the current export settings will be identified (i.e. validated). All previous versions having a different format (even if the media object 220 is up to date at the current version level) will be effectively invalid because they will not match the parameters of the current query.
The media project's 230 structure, once encoded in a desired output format, can differ from the structure of the native representation 210. However, a particular piece of exportable media 220 that can be interpreted to represent a project object(s) 210-1 in the formatted media project 230 must be able to sustain the dependencies and relationships that project object 210-1 has with other project objects 210-2, as they are represented in the formatted media project 230. The media tagger 150 relies on a third tier of tagging for a proper evaluation of the state of the media project 210 (in the native representation) and its project objects 210-1 and/or 210-2. A content tag 150-3-3 is created that represents the aggregate state of all the pertinent project objects 210-1, 210-2 and settings required to create the exportable media object 220. The content tag 150-3-3 provides invalidation for such cases. For example, if there is any change in any project object or setting involved in a particular piece of the exportable media object 220, the change will be represented in the content tag 150-3-3 when the media catalogue 150-3 is queried. The exportable media object 220 is thereby effectively invalidated.
At steps 810-820, the media tagger 150 queries the media catalogue 150-3 according to the desired output format to determine if the exportable media object 220 is compatible with the desired output format of the formatted media project 230. The queries can be processed against the tags 150-3-1, 150-3-2, 150-3-3 that are tagged to each exportable media object 220. Hence, the queries will evaluate tag information related to the object identifier, the version number, the metadata tag and the content tag.
At step 830, the media tagger 150 validates that the object identifier tagged to the exportable media object 220 matches the object identifier of the project object(s) 210-1 in the media project 210, as described by the native representation, that will be interpreted as being represented by the exportable media object 220. Thus, the media tagger 150 is determining whether there is a relationship, within the media catalogue 150-3, between the exportable media object 220 and the project object(s) 210-1, as indicated by the object identifier 150-3-1. If the tagged 150-3-1 object identifier on the exportable media object 220 does not match to any object identifiers of any project objects 210-1, 210-2, then the media tagger 150 knows that the exportable media object 220 must be effectively invalidated because it cannot be interpreted as any project object 210-1 (or any part of a project object) for building the formatted media project 230.
At step 840, the media tagger 150 validates that the version number tagged 150-3-1 to the exportable media object 220 corresponds to the version of the project object(s) 210-1 in the media project 210, as described by the native representation, that will be interpreted as being represented by the exportable media object 220. Thus, if the tagged (i.e. assigned, appended, associated) 150-3-1 version number on the exportable media object 220 does not match to the current version number of the associated project object 210-1, then the media tagger 150 knows that the exportable media object 220 must be invalidated because it does not embody the most current version of the associated project object 210-1 for building the formatted media project 230.
At step 850, the media tagger 150 validates that the collected information in the metadata tag 150-3-2 that is tagged to the exportable media object 220 is compatible with the desired output format of the media project 230. Thus, the exportable media object 220 will be invalidated if the media tagger 150 determines that aspects of the exportable media object's 220 encoded format does not match with the format requirements for the formatted media project 230.
At step 860, the media tagger 150 validates that the content tag 150-3-3 that is tagged to the exportable media object 220 corresponds to the aggregate state of the involved project objects 210-1 and/or 210-2 used to build the exportable media object 220. Thus, if the exportable media object 220 can be interpreted to be a suitable representation of a project object 210-1 for building the formatted media project 230, the media tagger 150 seeks to determine whether changes to other project objects 210-2 will not disturb the exportable media object's 220 viability for inclusion in the formatted media project 230. For example, if a project object 210-1 to be represented by the exportable media object 220 has a particular dependency with another project object 210-2, the exportable media object 220 can be invalidated if the “dependant” project object 210-2 has been modified.
At steps 870-880, upon an invalidation of exportable media object 220, the media tagger 150 accesses the involved project objects 210-1 and/or 210-2 to render the exportable media object 220 according to the desired output format to create a new exportable media object. At step 890, the media tagger 150 repeats the steps of tagging, storing and exporting on the new exportable media object.
Note again that techniques herein are well suited for a media tagger 150 that allows for a media tagger 150 that tracks and invalidates media (i.e. exportable media objects) used to build a media project according to multiple output formats (e.g. DVD, Blu-ray, Flash) without adding complexity to storage of the media project in its native representation. The media tagger application 150-1 may be stored on a computer readable medium (such as a floppy disk), hard disk, electronic, magnetic, optical, or other computer readable medium. It is understood that embodiments and techniques discussed herein are well suited for other applications as well.
The methods and systems described herein are not limited to a particular hardware or software configuration, and may find applicability in many computing or processing environments. The methods and systems may be implemented in hardware or software, or a combination of hardware and software. The methods and systems may be implemented in one or more computer programs, where a computer program may be understood to include one or more processor executable instructions. The computer program(s) may execute on one or more programmable processors, and may be stored on one or more storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), one or more input devices, and/or one or more output devices. The processor thus may access one or more input devices to obtain input data, and may access one or more output devices to communicate output data. The input and/or output devices may include one or more of the following: Random Access Memory (RAM), Redundant Array of Independent Disks (RAID), floppy drive, CD, DVD, magnetic disk, internal hard drive, external hard drive, memory stick, or other storage device capable of being accessed by a processor as provided herein, where such aforementioned examples are not exhaustive, and are for illustration and not limitation.
The computer program(s) may be implemented using one or more high level procedural or object-oriented programming languages to communicate with a computer system; however, the program(s) may be implemented in assembly or machine language, if desired. The language may be compiled or interpreted.
As provided herein, the processor(s) may thus be embedded in one or more devices that may be operated independently or together in a networked environment, where the network may include, for example, a Local Area Network (LAN), wide area network (WAN), and/or may include an intranet and/or the internet and/or another network. The network(s) may be wired or wireless or a combination thereof and may use one or more communications protocols to facilitate communications between the different processors. The processors may be configured for distributed processing and may utilize, in some embodiments, a client-server model as needed. Accordingly, the methods and systems may utilize multiple processors and/or processor devices, and the processor instructions may be divided amongst such single- or multiple-processor/devices.
The device(s) or computer systems that integrate with the processor(s) may include, for example, a personal computer(s), workstation(s) (e.g., Sun, HP), personal digital assistant(s) (PDA(s)), handheld device(s) such as cellular telephone(s), laptop(s), handheld computer(s), or another device(s) capable of being integrated with a processor(s) that may operate as provided herein. Accordingly, the devices provided herein are not exhaustive and are provided for illustration and not limitation.
References to “a microprocessor” and “a processor”, or “the microprocessor” and “the processor,” may be understood to include one or more microprocessors that may communicate in a stand-alone and/or a distributed environment(s), and may thus be configured to communicate via wired or wireless communications with other processors, where such one or more processor may be configured to operate on one or more processor-controlled devices that may be similar or different devices. Use of such “microprocessor” or “processor” terminology may thus also be understood to include a central processing unit, an arithmetic logic unit, an application-specific integrated circuit (IC), and/or a task engine, with such examples provided for illustration and not limitation.
Furthermore, references to memory, unless otherwise specified, may include one or more processor-readable and accessible memory elements and/or components that may be internal to the processor-controlled device, external to the processor-controlled device, and/or may be accessed via a wired or wireless network using a variety of communications protocols, and unless otherwise specified, may be arranged to include a combination of external and internal memory devices, where such memory may be contiguous and/or partitioned based on the application. Accordingly, references to a database may be understood to include one or more memory associations, where such references may include commercially available database products (e.g., SQL, Informix, Oracle) and also proprietary databases, and may also include other structures for associating memory such as links, queues, graphs, trees, with such structures provided for illustration and not limitation.
References to a network, unless provided otherwise, may include one or more intranets and/or the internet, as well as a virtual network. References herein to microprocessor instructions or microprocessor-executable instructions, in accordance with the above, may be understood to include programmable hardware.
Unless otherwise stated, use of the word “substantially” may be construed to include a precise relationship, condition, arrangement, orientation, and/or other characteristic, and deviations thereof as understood by one of ordinary skill in the art, to the extent that such deviations do not materially affect the disclosed methods and systems.
Throughout the entirety of the present disclosure, use of the articles “a” or “an” to modify a noun may be understood to be used for convenience and to include one, or more than one of the modified noun, unless otherwise specifically stated.
Elements, components, modules, and/or parts thereof that are described and/or otherwise portrayed through the figures to communicate with, be associated with, and/or be based on, something else, may be understood to so communicate, be associated with, and or be based on in a direct and/or indirect manner, unless otherwise stipulated herein.
Although the methods and systems have been described relative to a specific embodiment thereof, they are not so limited. Obviously many modifications and variations may become apparent in light of the above teachings. Many additional changes in the details, materials, and arrangement of parts, herein described and illustrated, may be made by those skilled in the art.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US6320598 *||Mar 28, 2001||Nov 20, 2001||Interval Research Corporation||Time-based media processing system|
|US7139757 *||Dec 21, 2001||Nov 21, 2006||The Procter & Gamble Company||Contextual relevance engine and knowledge delivery system|
|US7152224 *||Nov 21, 2000||Dec 19, 2006||Microsoft Corporation||Versioned project associations|
|US7454444 *||Dec 27, 2004||Nov 18, 2008||Microsoft Corporation||Method and apparatus for synchronizing multiple versions of digital data|
|US7552418 *||Jan 14, 2005||Jun 23, 2009||Microsoft Corporation||Systems and methods for creating and providing templates in a single file|
|US7636889 *||Jan 6, 2006||Dec 22, 2009||Apple Inc.||Controlling behavior of elements in a display environment|
|US7778823 *||Dec 21, 2007||Aug 17, 2010||Apple Inc.||Pre-processing individual audio items in a media project in order to improve real-time processing of the media project|
|US7783624 *||Dec 3, 2007||Aug 24, 2010||Yahoo! Inc.||E-commerce system using searchable tags|
|US7783669 *||Oct 12, 2006||Aug 24, 2010||Tokyo Electron Limited||Data flow management in generating profile models used in optical metrology|
|US7788696 *||Oct 15, 2003||Aug 31, 2010||Microsoft Corporation||Inferring information about media stream objects|
|US20020016818 *||Jul 6, 2001||Feb 7, 2002||Shekhar Kirani||System and methodology for optimizing delivery of email attachments for disparate devices|
|US20020133515 *||Mar 16, 2001||Sep 19, 2002||Kagle Jonathan C.||Method and apparatus for synchronizing multiple versions of digital data|
|US20030066070 *||Oct 30, 2002||Apr 3, 2003||One River Worldtrek, Inc.||Cooperative system for measuring electronic media|
|US20040015821 *||May 1, 2002||Jan 22, 2004||Tonbu, Inc.||System and method for interactive collaborative process management and project management|
|US20040193639 *||Mar 28, 2003||Sep 30, 2004||Ramot University Authority For Applied Research And Industrial Development Ltd.||Method and system for projectwise management of computer data objects|
|US20040205528 *||Apr 29, 2004||Oct 14, 2004||Vlad Alexander||System and process for managing content organized in a tag-delimited template using metadata|
|US20050028006 *||May 28, 2004||Feb 3, 2005||Liquid Machines, Inc.||Computer method and apparatus for managing data objects in a distributed context|
|US20050114784 *||Mar 30, 2004||May 26, 2005||Leslie Spring||Rich media publishing|
|US20050216506 *||Mar 25, 2004||Sep 29, 2005||Wolfgang Theilmann||Versioning electronic learning objects using project objects|
|US20060129907 *||Dec 1, 2005||Jun 15, 2006||Volk Andrew R||Syndicating multimedia information with RSS|
|US20060178917 *||Jul 21, 2005||Aug 10, 2006||Xerox Corporation||Office document assessment method and system|
|US20060242153 *||Mar 29, 2004||Oct 26, 2006||Newberry Thomas P||System and method for transmitting media based files|
|US20060242178 *||Feb 8, 2006||Oct 26, 2006||Yahoo! Inc.||Media object metadata association and ranking|
|US20060287916 *||Jun 15, 2006||Dec 21, 2006||Steven Starr||Media marketplaces|
|US20070016887 *||Sep 11, 2006||Jan 18, 2007||Microsoft Corporation||Versioned project association|
|US20070038647 *||Aug 4, 2005||Feb 15, 2007||Microsoft Corporation||Management of media sources in memory constrained devices|
|US20070079010 *||Oct 4, 2005||Apr 5, 2007||Microsoft Corporation||Media exchange protocol and devices using the same|
|US20070083380 *||Oct 10, 2005||Apr 12, 2007||Yahoo! Inc.||Data container and set of metadata for association with a media item and composite media items|
|US20070118540 *||Nov 23, 2005||May 24, 2007||Oracle International Corporation||integrating medical data and images in a database management system|
|US20070185876 *||Feb 7, 2005||Aug 9, 2007||Mendis Venura C||Data handling system|
|US20070186160 *||Jan 26, 2006||Aug 9, 2007||Autodesk, Inc.||Method for maintaining project standards in computer-aided design projects|
|US20070245400 *||Jun 6, 2006||Oct 18, 2007||Seungyup Paek||Video description system and method|
|US20070253020 *||Dec 15, 2006||Nov 1, 2007||Hull Thomas R||System and method for visual representation and manipulation of page features on a production printer|
|US20080027931 *||Feb 27, 2007||Jan 31, 2008||Vobile, Inc.||Systems and methods for publishing, searching, retrieving and binding metadata for a digital object|
|US20080040126 *||Aug 8, 2006||Feb 14, 2008||Microsoft Corporation||Social Categorization in Electronic Mail|
|US20080052372 *||Jan 19, 2007||Feb 28, 2008||Yahoo! Inc.||Method and system for presenting information with multiple views|
|US20080172750 *||Jan 16, 2007||Jul 17, 2008||Keithley Craig J||Self validation of user authentication requests|
|US20080282138 *||Jun 2, 2008||Nov 13, 2008||Paulo Barthelmess||Methods and systems for multimedia object association to digital paper spatial diagrams|
|US20080285939 *||May 14, 2007||Nov 20, 2008||Geoffrey King Baum||Proxy editing and rendering for various delivery outlets|
|US20090070114 *||Sep 10, 2007||Mar 12, 2009||Yahoo! Inc.||Audible metadata|
|US20090089651 *||Sep 29, 2008||Apr 2, 2009||Tilman Herberger||System and method for dynamic content insertion from the internet into a multimedia work|
|US20090216815 *||May 4, 2009||Aug 27, 2009||Braginsky David E||Conflict Management During Data Object Synchronization Between Client and Server|
|US20090287990 *||May 22, 2009||Nov 19, 2009||Close To My Heart, Inc.||Systems and methods for dynamically generating graphical memorabilia projects for presentation and use|
|US20100057555 *||Mar 4, 2010||Yahoo! Inc.||Media object metadata association and ranking|
|US20100145794 *||Jun 22, 2009||Jun 10, 2010||Sean Barnes Barger||Media Processing Engine and Ad-Per-View|
|US20110112917 *||May 12, 2011||James Leonard Driessen||Retail Point of Sale (RPOS) Digital Rights Convergence|
|1||*||Buttler etal., Data Conversion, Extraction and Record Linkage Uisng XML and RDF Tools in Project SIMILE, Google 2004, pp. 1-18.|
|2||*||Candan et al., Collaborative Multimedia Systems: Synthesis of Media Objects, IEEE 1998, pp. 433-457.|
|3||*||Cesar et al., An Architecture for End-User TV Content Enrichment, Google 2006, pp. 1-14.|
|4||*||Fiala et al., Engineering the Presentation Layer of Adaptable Web Information Systems, Google 2004, pp. 459-472.|
|5||*||Marrin et al., Steerable Media: Interactive Television via Video Synthesis, ACM 2001, pp. 8-15.|
|6||*||Patel et al. Metatdata Requirements for Digital Museum Environments, Google 2006, pp. 179-192.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8775480||May 19, 2011||Jul 8, 2014||Apple Inc.||Media clip management|
|US8855460||Jul 30, 2010||Oct 7, 2014||Citizenglobal, Inc.||Systems and methods for delivering and exporting edited media in multiple formats|
|US8886015||May 19, 2011||Nov 11, 2014||Apple Inc.||Efficient media import|
|US8910051 *||Jul 30, 2010||Dec 9, 2014||Citizenglobal, Inc.||Systems and methods for content aggregation, editing and delivery|
|US8954477 *||May 19, 2011||Feb 10, 2015||Apple Inc.||Data structures for a media-editing application|
|US9099161||May 19, 2011||Aug 4, 2015||Apple Inc.||Media-editing application with multiple resolution modes|
|US20110029883 *||Feb 3, 2011||Paul Lussier||Systems and Methods for Content Aggregation, Editing and Delivery|
|US20120209889 *||Aug 16, 2012||Giovanni Agnoli||Data Structures for a Media-Editing Application|
|Oct 26, 2007||AS||Assignment|
Owner name: ADOBE SYSTEMS INCORPORATED, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WEAVER, DALE MATTHEW;REEL/FRAME:020022/0684
Effective date: 20071025
|Jul 24, 2012||CC||Certificate of correction|
|Sep 2, 2015||FPAY||Fee payment|
Year of fee payment: 4