Multimedia Topology Loader Separates Data Flow From Streaming State

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multimedia systems, such as Microsoft's DirectShow, have limitations in flexibility and modularity, requiring the use of pins and offering limited configuration options, which restricts their ability to efficiently manage multimedia data flow and component interactions.

Innovation Solution

A multimedia processing system that separates data flow information from the streaming state, using a media processor, media session, and topology loader to create a symbolic abstraction of media objects, allowing for dynamic addition and removal of components and enabling flexible data flow management through a modular topology structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If DirectShow uses pins and filter graphs to manage multimedia data flow, then data flow control is achieved, but system flexibility and modularity are limited

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the multimedia processing into independent nodes (source nodes, transform nodes, sink nodes) connected by virtual channels. Each node can be independently created, modified, or removed without affecting the entire system, enabling flexible reconfiguration while maintaining manageable structure through standardized connection interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a topology manager as an intermediary component that handles the complexity of node and connection management. The topology manager abstracts the underlying pin-based DirectShow mechanism, providing a simplified interface for creating and modifying topologies while maintaining the necessary data flow control through virtual channels.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If DirectShow maintains streaming state through filter graphs, then data flow control is achieved, but modularity is reduced

Engineering Contradiction:
ImprovemodularityVSAvoidcomponent configuration
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system employs dynamic topologies where nodes and virtual channels can be added or removed at runtime. The topology manager enables dynamic reconfiguration by creating new nodes, establishing virtual channels between existing nodes, and removing nodes from the topology without requiring system-wide restarts or complex manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses virtual channel copies to maintain multiple independent data flow paths between nodes. Each virtual channel can be independently configured and managed, allowing the system to create multiple parallel processing paths or backup channels without duplicating the entire node structure, thereby enhancing modularity while simplifying operation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7774375B2Media foundation topology
Publication Date: 2010.08.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7774375B2 patent drawing
  • US7774375B2 patent drawing
  • US7774375B2 patent drawing

AI summary

A multimedia processing system and methods provide flexibility and modularity by separating data flow information from maintaining of stream state for multimedia components. The system includes a media processor component to process received media data, a media session to determine a timeline for events to occur for performing media processing and a topology loader component to load a topology that describes a flow for the received media data to enable processing via an extensible symbolic abstraction of media objects. The topology loader ensures that events described in the topology occur. The system also includes core layer components such as media sink components to determine a media stream for output from the multimedia processing system and a media source component coupled to supply media data for processing. The topology created in the system symbolically provides data flow information, independent of maintaining a streaming state of control information.