MIDI Event Search Window Compression for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional MIDI compression methods are impractical for embedded systems due to limited time resolution, inefficient channel-by-channel compression, and high computational overhead, especially in devices with limited processing power like cordless telephones, which struggle with storing and decompressing MIDI files effectively.
Innovation Solution
The method employs an adjustable-size Lempel-Ziv-like MIDI Event Search Window (MESW) to find optimal matches between look-ahead and previous MIDI events, reducing storage by discarding matched events and using a simpler decoding strategy that reduces the number of bits required for each MIDI event, allowing for more efficient compression and decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional channel-by-channel MIDI compression is used, then basic music data can be compressed, but the compression is inefficient for small size MIDI data and embedded systems with limited processing power
Solution Approach 1:
The patent merges multiple channel trunks into a single compressed data stream, processing all MIDI channels simultaneously rather than sequentially. This combining approach reduces the overall processing overhead and improves compression efficiency for small MIDI files in embedded systems.
Solution Approach 2:
The invention creates a universal compression framework that handles multiple MIDI channels and event types through a single unified process. The compression method is designed to be adaptable to different MIDI file sizes and embedded system constraints, providing multi-functional utility across various application scenarios.
2Measurement precision
If note length is defined with 8 level time resolution, then basic timing can be represented, but the resolution is insufficient for general MIDI file conversion
Solution Approach 1:
The patent implements dynamic time resolution by using variable-length encoding for note lengths. Instead of fixed 8-level resolution, the system adapts the timing precision to the actual needs of the MIDI data, allowing for more accurate representation of diverse timing patterns while maintaining efficiency.
Solution Approach 2:
The invention changes the time resolution parameter from a fixed 8-level system to a more flexible representation that can accommodate general MIDI files. This parameter change enables better compatibility with standard MIDI timing while optimizing for the specific requirements of embedded system storage.
3Productivity
If only immediate preceding event matching is considered, then simple compression can be achieved, but the compression efficiency is not optimized as maximal matched repetition patterns may exist in previous several events
Solution Approach 1:
The patent performs preliminary actions by pre-processing MIDI data to identify and mark repetitive patterns before the main compression process. This preliminary pattern recognition allows the compression algorithm to efficiently reference previously matched events without requiring complex real-time searching during compression.
Solution Approach 2:
The invention uses copying by referencing indices of previously matched events instead of storing complete event data. When a repetition pattern is detected in previous events, the system copies the reference index rather than the actual event data, significantly reducing storage requirements while maintaining compression efficiency.
4Reliability
If tempo and channel-by-channel based decoding is used, then accurate decompression can be achieved, but the computational overhead is relatively intensive for embedded systems
Solution Approach 1:
The patent implements self-service decompression where the compressed data structure contains embedded timing and synchronization information that enables the decompression process to be self-sufficient. The data format includes inherent temporal relationships that allow accurate reconstruction without requiring complex external tempo management or channel-by-channel processing.
Data Source
AI summary
MIDI compression and decompression methods that reduce the size of a standard MIDI file and maintains information to play the MIDI music. The exemplary method of the invention makes use of the high correlation and repetitions between a look-ahead MIDI event and previous set of MIDI events. An adjustable size Lempel-Ziv-like MIDI Event Search Window (MESW) is created during the compression and decompression process to allow searching of matched events or event elements in previous window size of MIDI events. Further reduction of the MIDI events can be made by discarding the matched events in the event search window. Therefore, with 4-bit of MIDI event search window, the number of MIDI events stored in the window can be more than 16.


