Digital Signal Processing Plug-in Framework for Cross-Platform Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing digital signal processing plug-ins that are specific to a particular platform and computer language poses challenges for cross-platform compatibility and usage, as existing solutions often require platform-specific code and languages, limiting their versatility.

Innovation Solution

A modular digital signal processing plug-in framework is implemented, comprising a host module, a control module, and a bridge module, where the bridge module is platform-dependent, while the host, control, and digital signal processing logic modules are platform-independent, allowing for cross-platform usage through a bridge module that acts as a proxy and facilitates communication using inter-process communication mechanisms like memory-mapped files and lock-free producer-consumer queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If digital signal processing plug-ins are developed using platform-specific code and languages, then performance specifications are met, but cross-platform compatibility is limited

Engineering Contradiction:
Improveperformance specificationsVSAvoidcross-platform compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The plug-in is divided into distinct modules: a platform-independent digital signal processing logic module and a platform-dependent bridge module. This segmentation allows the core processing logic to remain portable while the bridge handles platform-specific requirements, thus maintaining performance across different platforms without sacrificing compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A bridge module is introduced as an intermediary component between the host application and the digital signal processing logic. This bridge module is responsible for platform-specific operations such as memory management and inter-process communication, allowing the core processing module to remain platform-independent while still meeting performance specifications on each specific platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If platform-independent modules are used, then cross-platform compatibility is improved, but performance specifications may not be met

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidperformance specifications
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The bridge module serves as a platform-specific intermediary that ensures performance specifications are met on each target platform. It handles platform-dependent optimizations and resource management while the core processing logic remains platform-independent, thus achieving both compatibility and performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system allows for configuration of processing parameters and performance settings through the bridge module, which can adjust operational parameters to meet platform-specific performance requirements while maintaining the same core processing logic across different platforms.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If a modular framework with bridge module is implemented, then cross-platform usage is enabled, but device complexity increases

Engineering Contradiction:
Improvecross-platform usageVSAvoidframework structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

While segmentation into multiple modules increases structural complexity, it actually reduces operational complexity by allowing each module to be developed, tested, and maintained independently. The clear separation of concerns between the bridge module and processing logic simplifies the overall system management despite the modular structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bridge module is designed to be a universal component that handles all platform-specific operations across different operating systems. This multi-functionality consolidates platform-dependent code into a single module, reducing the overall complexity that would otherwise be distributed across multiple platform-specific implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Speed

If inter-process communication mechanisms are used for data relay, then real-time control is achieved, but communication overhead increases

Engineering Contradiction:
Improvereal-time controlVSAvoidcommunication overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The bridge module acts as an optimized intermediary for inter-process communication, implementing efficient data relay mechanisms that minimize communication overhead. It uses platform-specific IPC optimizations to achieve real-time control while reducing the energy and computational cost of data transmission between processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3997567B1Digital signal processing plug-in implementation
Publication Date: 2023.12.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3997567B1 patent drawingFigure 1
  • EP3997567B1 patent drawingFigure 2
  • EP3997567B1 patent drawingFigure 3

AI summary

In some examples, digital signal processing plug-in implementation may include obtaining attributes of a user interface for a digital signal processing plug-in, and obtaining attributes of digital signal processing logic for the digital signal processing plug-in. The digital signal processing plug-in implementation may include generating, based on the attributes of the user interface and the attributes of the digital signal processing logic, a plug-in process to control operation of the user interface and the digital signal processing logic. Further, the digital signal processing plug-in implementation may include establishing, based on the generated plug-in process, a two-way communication link between a host and the plug-in process to implement the digital signal processing plug-in.