Bit Stream Packing with Boundary Prefixes for Memory Alignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage methods in memory often require padding bits to align data with memory word sizes, leading to suboptimal memory usage, particularly in applications with restricted memory, such as image processing for stitching multiple images into a larger image.
Innovation Solution
A data packer and unpacker system that inserts prefixes at predetermined boundaries in a bit stream to efficiently align and store data, accommodating varying bit lengths and inserting padding bits as needed to optimize memory usage without leaving gaps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is aligned with memory word sizes using padding bits, then system performance is enhanced, but memory usage becomes suboptimal
Solution Approach 1:
The patent segments the bit stream into fixed-width words by inserting prefixes at predetermined boundaries. Each prefix indicates the number of bits belonging to the preceding value, allowing the data to be divided into manageable memory-aligned segments without requiring traditional padding bits throughout the entire data structure.
Solution Approach 2:
The patent changes the parameter representation by using variable-length prefixes to encode bit counts. This allows the data structure to adapt its parameters dynamically, fitting variable amounts of data into fixed memory word boundaries without wasting space, thereby resolving the contradiction between alignment performance and memory efficiency.
2Quantity of substance
If prefixes are inserted at predetermined boundaries in the bit stream, then memory alignment is optimized, but data structure complexity increases
Solution Approach 1:
The patent introduces prefixes as intermediary elements in the bit stream. These prefixes act as mediators that provide boundary markers and bit-count information, enabling efficient memory alignment without requiring complex data structures. The prefixes simplify the overall structure by providing clear delimiters that ease both storage and retrieval operations.
3Speed
If padding bits are inserted to fill available bits, then memory alignment is achieved, but memory bandwidth is wasted
Solution Approach 1:
The patent applies partial action by inserting prefixes only where needed at predetermined boundaries rather than uniformly padding entire data structures. This selective approach achieves necessary memory alignment without the excessive action of padding all available bit positions, thereby reducing memory bandwidth waste while maintaining alignment benefits.
Data Source
AI summary
A data packer forma bit stream for forwarding values to memory. The bit stream includes the values and respective prefixes for identifying the values and the data packer is configured to insert the prefixes at predetermined boundaries in the bit stream, such that a prefix for identifying one value is inserted between bits that define a value identified by a preceding prefix. A data unpacker unpacks a bit stream that comprises values and respective prefixes for identifying those values that are located at predetermined boundaries in the bit stream, such that a prefix for identifying one value is inserted between bits that define a value identified by a preceding prefix. The data unpacker identifies a prefix at a predetermined boundary in the bit stream and determine, in dependence on that prefix and the predetermined boundaries, a location of the next prefix in the bit stream.


