Lossless Sensor Data Compression for I2C Bus Backlog Relief
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increased sampling rate of ambient light sensors in electronic devices leads to a backlog in the I2C bus interface due to the high volume of data, constraining the sampling rate and requiring more efficient data transfer methods to maintain device performance without hardware modifications.
Innovation Solution
A data compression algorithm that restructures data samples into packets with indicator bits for efficient transfer, allowing for dynamic packet sizing and two's complement representation to reduce data volume, thereby enhancing data throughput without altering existing hardware or interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the sampling rate of the ambient light sensor is increased to quickly detect changes in lighting conditions, then the responsiveness and measurement precision are improved, but the amount of data increases causing the I2C bus interface to become backlogged and overloaded
Solution Approach 1:
The patent segments the data transfer process by dividing sensor data into packets with identification bits, allowing the receiver to reassemble data in the correct order. This segmentation enables efficient handling of high-volume data streams from high sampling rate sensors without overwhelming the I2C bus interface.
Solution Approach 2:
The patent implements periodic data sampling and transfer cycles where the sensor takes measurements at regular intervals and transfers data in structured packets. This periodic action allows the system to maintain high sampling rates while managing data transfer load systematically through the I2C interface.
2Productivity
If the amount of sensor data transferred through the I2C interface is increased to support higher sampling rates, then the data throughput is improved, but the interface becomes overloaded and power consumption increases
Solution Approach 1:
The patent applies preliminary compression and packaging of sensor data before transfer through the I2C interface. By pre-structuring data into packets with identification bits and implementing delta encoding, the system reduces the total number of bits that need to be transmitted, thereby lowering power consumption while maintaining high data throughput capability.
Solution Approach 2:
The patent changes the parameter representation by using delta encoding instead of absolute values, and by dynamically adjusting packet sizes based on data characteristics. This parameter transformation reduces the average number of bits per data point, enabling high throughput with reduced power consumption on the I2C bus.
3Productivity
If a complex data compression algorithm is used to reduce data volume and improve transfer efficiency, then the data throughput is improved, but the implementation complexity increases making it difficult to execute quickly enough for high sampling rates
Solution Approach 1:
The patent extracts only the essential information needed for data reconstruction by using simple packet identification bits and delta encoding. Instead of applying complex compression algorithms, the system extracts the minimum necessary data elements, achieving high transfer efficiency with minimal implementation complexity that can execute at high sampling rates.
Solution Approach 2:
The patent uses simple, computationally inexpensive packet structures with basic identification bits that can be processed rapidly. These lightweight data structures act as disposable units that can be created and processed at high speeds without requiring complex algorithmic operations, enabling real-time processing at high sampling rates.
Data Source
AI summary
We disclose herein a method of compressing data for data transfer within an electronic device. The method comprises: receiving, at a first processing member of the electronic device, a plurality of data samples produced by a member of the electronic device, wherein the data samples comprise numerical bits; restructuring, by the first processing member, the plurality of data samples into a plurality of data packets; labelling each data packet with a sample indicator bit to indicate a plurality of groups across the plurality of data packets; transferring a bit stream comprising at least some of the plurality of data packets across an interface of the electronic device to a receiving member of the electronic device; and decoding the bit stream, by a second processing member of the electronic device, to obtain at least some of the plurality of the data samples, the decoding being based at least in part on the sample indicator bits.


