System and related interfaces supporting the processing of...

Electrical computers and digital processing systems: interprogra – Device driver communication – Multimedia device driver

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S156000, C345S440000

Reexamination Certificate

active

06834390

ABSTRACT:

TECHNICAL FIELD
This invention generally relates to processing media content and, more particularly, to a system and related interfaces facilitating the processing of media content.
BACKGROUND
Recent advances in computing power and related technology have fostered the development of a new generation of powerful software applications. Gaming applications, communications applications, and multimedia applications have particularly benefited from increased processing power and clocking speeds. Indeed, once the province of dedicated, specialty workstations, many personal computing systems now have the capacity to receive, process and render multimedia objects (e.g., audio and video content). While the ability to display (receive, process and render) multimedia content has been around for a while, the ability for a standard computing system to support true multimedia editing applications is relatively new.
In an effort to satisfy this need, Microsoft Corporation introduced an innovative development system supporting advanced user-defined multimedia editing functions. An example of this architecture is presented in U.S. Pat. No. 5,913,038 issued to Griffiths and commonly owned by the assignee of the present invention, the disclosure of which is expressly incorporated herein by reference.
In the '038 patent, Griffiths introduced the an application program interface which, when exposed to higher-level development applications, enables a user to graphically construct a multimedia processing project by piecing together a collection of “filters” exposed by the interface. The interface described therein is referred to as a filter graph manager. The filter graph manager controls the data structure of the filter graph and the way data moves through the filter graph. The filter graph manager provides a set of component object model (COM) interfaces for communication between a filter graph and its application. Filters of a filter graph architecture are preferably implemented as COM objects, each implementing one or more interfaces, each of which contains a predefined set of functions, called methods. Methods are called by an application program or other component objects in order to communicate with the object exposing the interface. The application program can also call methods or interfaces exposed by the filter graph manager object.
Filter graphs work with data representing a variety of media (or non-media) data types, each type characterized by a data stream that is processed by the filter components comprising the filter graph. A filter positioned closer to the source of the data is referred to as an upstream filter, while those further down the processing chain is referred to as a downstream filter. For each data stream that the filter handles it exposes at least one virtual pin (i.e., distinguished from a physical pin such as one might find on an integrated circuit). A virtual pin can be implemented as a COM object that represents a point of connection for a unidirectional data stream on a filter. Input pins represent inputs and accept data into the filter, while output pins represent outputs and provide data to other filters. Each of the filters include at least one memory buffer, wherein communication of the media stream between filters is often accomplished by a series of “copy” operations from one filter to another.
As introduced in Griffiths, a filter graph has three different types of filters: source filters, transform filters, and rendering filters. A source filter is used to load data from some source; a transform filter processes and passes data; and a rendering filter renders data to a hardware device or other locations (e.g., saved to a file, etc.). An example of a filter graph for a simplistic media rendering process is presented with reference to FIG.
1
.
FIG. 1
graphically illustrates an example filter graph for rendering media content. As shown, the filter graph
100
is comprised of a plurality of filters
102
-
114
, which read, process (transform) and render media content from a selected source file. As shown, the filter graph includes each of the types of filters described above, interconnected in a linear fashion.
Products utilizing the filter graph have been well received in the market as it has opened the door to multimedia editing using otherwise standard computing systems. It is to be appreciated, however, that the construction and implementation of the filter graphs are computationally intensive and expensive in terms of memory usage. Even the most simple of filter graphs requires and abundance of memory to facilitate the copy operations required to move data between filters. Complex filter graphs can become unwieldy, due in part to the linear nature of prior art filter graph architecture. Moreover, it is to be appreciated that the filter graphs themselves consume memory resources, thereby compounding the issue introduced above.
Thus, what is required is a filter graph architecture which reduces the computational and memory resources required to support even the most complex of multimedia projects. Indeed, what is required is a dynamically reconfigurable multimedia editing system and related methods, unencumbered by the limitations described above. Just such a system and methods are disclosed below.
SUMMARY
The present invention is generally drawn to a system and related methods facilitating generation of user-defined editing projects. In this regard, an innovative render engine is introduced, implemented as a callable object (e.g., a COM object), which lies between a higher level application and the filter graph manager to control the filter graph manager. In accordance with a first aspect of the present invention, a software enabled, matrix switch filter is presented wherein a scalable plurality of inputs, coupled to media content sources, provide media content which is recursively routed through select media processing object(s) coupled to a scalable plurality of matrix switch outputs in accordance with a user-defined media processing project. It will be appreciated, based on the description to follow, that use of the matrix switch filter reduces the size and complexity of the generated filter graph, and also serves to reduce the memory requirements of media processing projects.


REFERENCES:
patent: 5252953 (1993-10-01), Sandrew et al.
patent: 5307456 (1994-04-01), MacKay
patent: 5327227 (1994-07-01), Han
patent: 5377313 (1994-12-01), Scheibl
patent: 5400187 (1995-03-01), Van Gestel
patent: 5421016 (1995-05-01), Conner et al.
patent: 5455599 (1995-10-01), Cabral et al.
patent: 5481718 (1996-01-01), Ryu et al.
patent: 5515512 (1996-05-01), Yamamoto
patent: 5551035 (1996-08-01), Arnold et al.
patent: 5584006 (1996-12-01), Reber et al.
patent: 5647047 (1997-07-01), Nagasawa
patent: 5682326 (1997-10-01), Klingler et al.
patent: 5790935 (1998-08-01), Payton
patent: 5818542 (1998-10-01), Harnois
patent: 5892506 (1999-04-01), Hermanson
patent: 5913038 (1999-06-01), Griffiths
patent: 5917730 (1999-06-01), Rittie et al.
patent: 5930797 (1999-07-01), Hill
patent: 5960006 (1999-09-01), Maturi et al.
patent: 5961602 (1999-10-01), Thompson et al.
patent: 5982360 (1999-11-01), Wu et al.
patent: 5999173 (1999-12-01), Ubillos
patent: 6069668 (2000-05-01), Woodham, Jr. et al.
patent: 6069688 (2000-05-01), Millar et al.
patent: 6088018 (2000-07-01), DeLeeuw et al.
patent: 6128652 (2000-10-01), Toh et al.
patent: 6130676 (2000-10-01), Wise et al.
patent: 6141001 (2000-10-01), Baleh
patent: 6151627 (2000-11-01), McBride et al.
patent: 6167083 (2000-12-01), Sporer et al.
patent: 6205492 (2001-03-01), Shaw et al.
patent: 6209041 (2001-03-01), Shaw et al.
patent: 6212574 (2001-04-01), O'Rourke et al.
patent: 6226642 (2001-05-01), Beranek et al.
patent: 6253288 (2001-06-01), McAllister et al.
patent: 6256783 (2001-07-01), Wada et al.
patent: 6269107 (2001-07-01), Jong
patent: 6269195 (2001-07-01), Gonsalves et al.
patent: 6338070 (2002-01-01), Nusch et al.
patent: 6347398 (2002-02-01), Parthasarathy et al.
patent: 6378035 (2002-04-01), Parry et al.
patent: 6389483 (200

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and related interfaces supporting the processing of... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and related interfaces supporting the processing of..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and related interfaces supporting the processing of... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3303052

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.