Lossless data compression
US-2018167083-A1 · Jun 14, 2018 · US
US12136935B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12136935-B2 |
| Application number | US-202017788167-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 16, 2020 |
| Priority date | Dec 23, 2019 |
| Publication date | Nov 5, 2024 |
| Grant date | Nov 5, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention claimed is: 1. A method of compressing data for data transfer within an electronic device, the method comprising: 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, wherein each group of the plurality of groups corresponds to a different respective data sample; 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; 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. 2. The method as claimed in claim 1 , wherein the decoding comprises: identifying, based on the sample indicator bits, the plurality of groups of data packets representing the different respective data samples; removing the sample indicator bit from each data packet in order to obtain the plurality of data samples received originally from the member. 3. The method as claimed in claim 1 , further comprising: prior to the restructuring, calculating numerical differences between each pair of adjacent data samples to obtain a plurality of difference values; restructuring, by the first processing member, the plurality of difference values instead of the data samples to obtain the plurality of data packets. 4. The method as claimed in claim 1 , wherein the restructuring comprises, for each data sample: partitioning the numerical bits of the data sample into the fewest number of data packets required to represent information comprised in said data sample. 5. The method as claimed in claim 1 , wherein each data packet of the plurality of data packets has a defined size. 6. The method as claimed in claim 5 , further comprising: monitoring, by any one of the first processing member, second processing member, and receiving member of the electronic device, the restructuring of data samples into data packets to obtain an average number of data packets per data sample; dynamically setting the defined size of the plurality of data packets based on the average number of data packets per data sample. 7. The method as claimed in claim 1 , wherein the data samples are representative of signals measured by a sensor member of the electronic device. 8. The method as claimed in claim 7 , wherein the sensor member is an ambient light sensor. 9. The method as claimed in claim 1 , wherein the member of the electronic device comprises a set of data channels which each produce a channel-specific data sample. 10. The method as claimed in claim 9 , wherein the method further comprises: receiving the plurality of data samples produced by the set of data channels of the member; restructuring, by the first processing member, the plurality of data samples to obtain the plurality of data packets, the restructuring comprising for each data sample: restructuring said data sample into at least one data packet, wherein the at least one data packet has a defined size corresponding to a data channel of the set of data channels which produced said data sample. 11. A method as claimed in claim 1 , wherein the sample indicator is inserted at a defined location within the data packet. 12. A method as claimed in claim 1 , wherein the labelling further comprises: inserting the sample indicator into each data packet at a predefined location, where said predefined location changes according to a predefined sequence of locations. 13. A method as claimed in claim 1 , wherein the interface of the electronic device is a serial peripheral interface. 14. A method as claimed in claim 1 , wherein the interface of the electronic device is an I 2 C interface. 15. A method as claimed in claim 1 , wherein each data sample is represented in binary. 16. A method as claimed in claim 1 , wherein each data sample having a negative value is represented in two's complement binary form. 17. A method as claimed in claim 1 , wherein the first processing member is a hardware element comprising a persistent configuration enabling said hardware element to carry out the restructuring and labelling. 18. A method as claimed in claim 1 , wherein the sample indicator bit does not correspond to 1 bit. 19. A non-transitory data carrier carrying processor control code to, when running, implement the decoding of claim 1 . 20. An apparatus comprising: a member configured to produce data samples; a first processing member, configured to receive a plurality of data samples produced by the member, wherein the data samples comprise numerical bits; an interface coupled to the first processing member and a receiving member, wherein the first processing member is further configured to: restructure the plurality of data samples into a plurality of data packets; label each data packet with a sample indicator bit to indicate a plurality of groups across the plurality of data packets, wherein each group of the plurality of groups corresponds to a different respective data sample; transfer a bit stream comprising at least some of the plurality of data packets across the interface to the receiving member; and a second processing member configured to decode the bit stream to obtain at least some of the plurality of the data samples, the decoding being based at least in 10 part on the sample indicator bits.
Replication mechanisms · CPC title
Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression · CPC title
Hybrid storage device · CPC title
Compressive sampling or sensing · CPC title
on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.