Compression and decompression of multi-dimensional data
US-2023280902-A1 · Sep 7, 2023 · US
US12307089B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12307089-B2 |
| Application number | US-202318479024-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2023 |
| Priority date | Oct 30, 2017 |
| Publication date | May 20, 2025 |
| Grant date | May 20, 2025 |
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.
A system and method for compaction of floating-point numbers within a dataset, comprising a pre-encoder, a data deconstruction engine, a library manager, a codeword storage, and a data reconstruction engine. A pre-encoder may receive a plurality of data sourcepackets with may contain one or more floating-point numbers and the received data sourcepackets are scanned to identify floating-point numbers and the identified floating-point numbers. Identified floating-point numbers may be pre-encoded into binary string representations which are low-distortion embeddings of real numbers into a Hamming space. The binary string representation may be indexed to indicate it represents a floating-point number before being compacted by a data deconstruction engine and library manager. The pre-encoding of floating-point numbers located within a sourcepacket enables the system to maximize the benefit of the compaction capabilities of the data deconstruction engine.
Opening claim text (preview).
What is claimed is: 1. A system for compaction of floating-point numbers within a dataset, comprising: a computing device comprising a processor, a memory, and a non-volatile data storage device; a pre-encoder comprising a plurality of programming instructions stored in the memory and operable on the processor, wherein the plurality of programming instructions, when operating on the processor, causes the processor to: receive a dataset for encoding, the dataset comprising one or more floating-point numbers; scan the dataset to identify the one or more floating-point numbers; for each identified floating-point number in the dataset: pre-encode the floating-point number into a binary string representation; replace the floating-point number with its binary string representation in the dataset to create a pre-encoded data set; and create an index and logically link the binary string representation with the index, wherein the index indicates the binary string represents a floating-point number in the pre-encoded dataset. 2. The system of claim 1 , further comprising a data deconstruction engine comprising a second plurality of programming instructions stored in the memory and operable on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the processor to: receive a pre-encoded dataset; deconstruct the pre-encoded dataset into a plurality of sourceblocks; and compact each of the plurality of sourceblocks by assigning a codeword to a reference code associated with each of the plurality of sourceblocks; and wherein the pre-encoder is further configured to send the pre-encoded dataset to a data deconstruction engine. 3. The system of claim 1 , wherein the binary string representations are low-distortion embeddings of real numbers into Hamming space. 4. The system of claim 1 , wherein the binary string representation is a fixed-point representation. 5. The system of claim 1 , further comprising a codeword database configured to store a plurality of codewords. 6. The system of claim 1 , further comprising a data reconstruction engine comprising a third plurality of programming instructions stored in the memory and operable on the processor, wherein the third plurality of programming instructions, when operating on the processor, causes the processor to: receive a plurality of sourceblocks; check whether each of the plurality of sourceblocks has been logically linked to an index, wherein the presence of an index indicates the sourceblock is a binary string representation of a floating-point number; and divide the sourceblocks that have been logically linked to an index by a fixed power of two in order to transform the sourceblock into its floating-point number form. 7. A method for compaction of floating-point numbers within a dataset, comprising the steps of: receiving, at a pre-encoder, a dataset for encoding, the dataset comprising one or more floating-point numbers; scanning the dataset to identify the one or more floating-point numbers; for each identified floating-point number in the dataset: pre-encoding the floating-point number into a binary string representation; replacing the floating-point number with its binary string representation in the dataset to create a pre-encoded data set; and creating an index and logically linking the binary string representation with the index, wherein the index indicates the binary string represents a floating-point number in the pre-encoded dataset. 8. The method of claim 7 , further comprising the steps of: sending the pre-encoded dataset to a data deconstruction engine; receiving, at the data deconstruction engine, the pre-encoded dataset; deconstructing the pre-encoded dataset into a plurality of sourceblocks; and compacting each of the plurality of sourceblocks by assigning a codeword to a reference code associated with each of the plurality of sourceblocks. 9. The method of claim 6 , wherein the binary string representations are low-distortion embeddings of real numbers into Hamming space. 10. The method of claim 6 , wherein the binary string representation is a fixed-point representation. 11. The method of claim 6 , further comprising a codeword database configured to store a plurality of codewords. 12. The method of claim 6 , further comprising the steps of: receiving a plurality of sourceblocks; checking whether each of the plurality of sourceblocks has been logically linked to an index, wherein the presence of an index indicates the sourceblock is a binary string representation of a floating-point number; and dividing the sourceblocks that have been logically linked to an index by a fixed power of two in order to transform the sourceblock into its floating-point number form.
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Decoder aspects · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Encoder aspects · CPC title
in relation to content · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.