Block Processing Input Data in Graphical Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphical programming environments face challenges in efficiently processing large input data, such as images or videos, due to high memory requirements when performing real-time data processing, as existing methods often necessitate temporary storage of processed data, leading to memory burdens.
Innovation Solution
The method involves partitioning input data into smaller blocks, allowing for in-place processing where output data can overwrite input data, reducing memory usage by enabling block processing with user-defined block sizes and processing functions, and reassembling processed blocks to generate output data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If real-time data processing is performed on large input data (such as images or videos), then processing speed and responsiveness are improved, but memory requirements increase significantly due to temporary storage of processed data
Solution Approach 1:
The patent divides the input data into smaller blocks that can be processed independently. Each block is processed and stored in a dedicated memory location, allowing the system to process large datasets in chunks rather than loading everything into memory at once. This segmentation enables real-time processing while controlling memory usage.
Solution Approach 2:
The system pre-allocates memory spaces for output data before processing begins. By reserving memory locations in advance and processing blocks in a structured manner, the system avoids dynamic memory allocation during processing, improving speed while maintaining memory efficiency.
2Ease of manufacture
If temporary storage of processed data is used, then data processing can be performed, but memory burden increases
Solution Approach 1:
The patent merges the input data structure with the output data structure by using the same memory space for both. The processed blocks are written back to the same memory locations where they were read from, eliminating the need for separate temporary storage buffers and reducing overall memory requirements.
Solution Approach 2:
After processing a block, the system discards the original unprocessed data in that block's memory location and recovers/reuses the same location for storing the processed output. This in-place processing approach eliminates permanent temporary storage needs.
3Adaptability or versatility
If block processing is implemented with user-defined block sizes, then flexibility and adaptability are improved, but system complexity increases
Solution Approach 1:
The system allows dynamic configuration of block sizes through user-defined parameters. The processing system adapts to different block sizes automatically, providing versatility for various data types and processing requirements without requiring complex manual configuration or reconfiguration of the underlying processing architecture.
Data Source
AI summary
In one embodiment, a processing block of a block diagram receives input data including a plurality of data elements organized as a matrix of a first size. At least a portion of the input data is partitioned into a plurality of data blocks in response to user-selected parameters. A data block includes selected ones of the plurality of data elements organized as a matrix of a second size. The data processing block performs a data processing function on the plurality of data blocks in a user-specified order to yield processed data corresponding to each data block. The processed data corresponding to each data block is then reassembled to form output data corresponding to the input data and the output data is output from the processing block to another block of the block diagram.


