IP Library › Granted Patent US 11,671,111
Granted Patent B2
US 11,671,111 · App. 16/842,662 · Granted Jun 6, 2023

Hardware channel-parallel data compression/decompression

Inventors: Ilia Ovsiannikov (Porter Ranch, CA); Ali Shafiee Ardestani (San Jose, CA); Lei Wang (Burlingame, CA); Joseph H. Hassoun (Los Gatos, CA)
H03M7/3066G06F9/30018G06F9/30036G06F9/30145G06F9/3818G06F9/3851H03M7/40H03M7/6005H03M7/6011H03M7/6023H04L5/023
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,671,111
App. No.
16/842,662
Granted
Jun 6, 2023
Kind
B2
Abstract

A multichannel data packer includes a plurality of two-input multiplexers and a controller. The plurality of two-input multiplexers is arranged in 2 N rows and N columns in which N is an integer greater than 1. Each input of a multiplexer in a first column receives a respective bit stream of 2 N channels of bit streams. Each respective bit stream includes a bit-stream length based on data in the bit stream. The multiplexers in a last column output 2 N channels of packed bit streams each having a same bit-stream length. The controller controls the plurality of multiplexers so that the multiplexers in the last column output the 2 N channels of bit streams that each has the same bit-stream length.

Claims (43)

1. A multichannel data packer, comprising:

a plurality of two-input multiplexers arranged in 2 N rows and N columns in which N is an integer greater than 1, each input of a multiplexer in a first column receiving a respective bit stream of 2 N channels of bit streams, each respective bit stream comprising a bit-stream length based on data in the bit stream, and the multiplexers in a last column outputting 2 N channels of packed bit streams each having a same bit-stream length; and

a controller that controls the plurality of multiplexers so that the multiplexers in the last column output the 2 N channels of bit streams that each have the same bit-stream length.

2. The multichannel data packer of claim 1 , wherein N=3, and the plurality of multiplexers are arranged in 8 rows and 3 columns,

wherein an output of a multiplexer in the first column is coupled to an input of a multiplexer in a second column in a same row and an output of the multiplexer in the second column is coupled to an input of a multiplexer in a third column in the same row,

wherein a multiplexer in a column is grouped with another multiplexer in a same column to form a plurality of pair of multiplexers in the column, each pair of multiplexers in the column corresponding to a pair of multiplexers in another column,

wherein the outputs of a first multiplexer and a second multiplexer of a pair of multiplexers in the first column are further coupled to the respective inputs to a first multiplexer and a second multiplexer of the corresponding pair of multiplexers in the second column, and

wherein the outputs of a first multiplexer and a second multiplexer of a pair of multiplexers in the second column are further coupled to the respective inputs to the first multiplexer and the second multiplexer of a corresponding pair of multiplexers in the third column.

3. The multichannel data packer of claim 2 , wherein each bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion.

4. The multichannel data packer of claim 3 , wherein the zero bit mask portion of a bit stream indicates locations of zero values in the bit stream.

5. The multichannel data packer of claim 1 , wherein each input of a multiplexer in the first column further receives a respective bit stream of 2 N channels of packed bit streams, each respective packed bit stream comprising a same bit-stream length, and

wherein the controller further controls the plurality of multiplexers so that the multiplexers in the last column output 2 N channels of bit streams of unpacked bit streams in which each unpacked bit stream has a bit-stream length corresponding to unpacked data of the bit stream.

6. The multichannel data packer of claim 5 , wherein N=3 or N=4.

7. The multichannel data packer of claim 5 , wherein a packed bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion.

8. A multichannel data packer, comprising:

a plurality of two-input multiplexers arranged 8 rows and 3 columns,

an output of a multiplexer in a first column being coupled to an input of a multiplexer in a second column in a same row and an output of the multiplexer in the second column being coupled to an input of a multiplexer in a third column in the same row,

each multiplexer in each column being grouped with another multiplexer in the column to form a plurality of pairs of multiplexers in each column, each pair of multiplexers in the column corresponding to a pair of multiplexers in another column,

the outputs of a first multiplexer and a second multiplexer of a pair of multiplexers in the first column being further coupled to the respective inputs to a first multiplexer and a second multiplexer of the corresponding pair of multiplexers in the second column, and

the outputs of a first multiplexer and the second multiplexer of a first pair of multiplexers in the second column being further coupled to the respective inputs to the first multiplexer and the second multiplexer of a corresponding pair of multiplexers in the third column.

9. The multichannel data packer of claim 8 , wherein each multiplexer of the first column receives a corresponding bit stream of 8 channels of bit streams,

wherein each respective bit stream comprises a bit-stream length based on data in the bit stream, and

wherein the multiplexers in the third column outputs 8 channels of packed bit streams in which each bit stream has a same bit-stream length.

10. The multichannel data packer of claim 8 , wherein each bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion, the zero bit mask portion of a bit stream indicating locations of zero values in the bit stream.

11. The multichannel data packer of claim 10 , further comprising a controller that controls the plurality of multiplexers so that the multiplexers in the third column output 8 channels of bit streams that each has the same bit-stream length.

12. The multichannel data packer of claim 8 , wherein each input of a multiplexer in the first column further receives a respective bit stream of 8 channels of packed bit-streams,

wherein each respective packed bit stream comprises a same bit-stream length, and

wherein the multiplexers in the third column output 8 channels of unpacked bit streams in which each channel has a bit stream length corresponding to unpacked data of the bit stream.

13. The multichannel data packer of claim 12 , further comprising a controller that controls the multiplexers so that the multiplexers in the third column output the 8 channels of unpacked bit streams.

14. The multichannel data packer of claim 12 , wherein each packed bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion.

15. A multichannel data unpacker, comprising:

a plurality of two-input multiplexers arranged in 2 N rows and N columns in which N is an integer greater than 1, each input of a multiplexer in a first column receiving a respective bit stream of 2 N channels of bit-streams, each respective packed bit stream comprising a same bit-stream length, and the multiplexers in a last column outputting 2 N channels of unpacked bit-streams each having a bit stream length corresponding to unpacked data of the bit stream; and

a controller that controls the multiplexers so that the multiplexers of the last column output the 2 N channels of bit streams of unpacked bit streams in which each has the bit-stream length that corresponds to unpacked data of the bit stream.

16. The multichannel data unpacker of claim 15 , wherein each packed bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion.

17. The multichannel data unpacker of claim 16 , wherein N=3, and the plurality of multiplexers are arranged in 8 rows and 3 columns,

wherein an output of a multiplexer in the first column is coupled to an input of a multiplexer in a second column in a same row and an output of the multiplexer in the second column is coupled to an input of a multiplexer in a third column in the same row,

wherein each multiplexer in each column is grouped with another multiplexer in a same column to form a plurality of pair of multiplexers in the column, each pair of multiplexers in the column corresponding to a pair of multiplexers in another column,

wherein the outputs of a first multiplexer and a second multiplexer of a pair of multiplexers in the first column are further coupled to the respective inputs to a first multiplexer and a second multiplexer of the corresponding pair of multiplexers in the second column, and

wherein the outputs of the first multiplexer and the second multiplexer of a pair of multiplexers in the second column are further coupled to the respective inputs to the first multiplexer and the second multiplexer of a corresponding pair of multiplexers in the third column.

18. The multichannel data unpacker of claim 17 , wherein each input of a multiplexer in the first column further receives a respective bit stream of 2 N channels of second bit-streams in which each respective second bit stream comprises a bit-stream length based on data in the second bit stream, and

wherein the controller further controls the multiplexers so that the multiplexers in the third column output 2 N channels of packed bit-streams in which each bit stream has a same bit-stream length.

19. The multichannel data unpacker of claim 18 , wherein each second bit stream received by a multiplexer in the first column includes a zero bit mask portion and a non-zero data portion.

20. The multichannel data unpacker of claim 19 , wherein the zero bit mask portion of a second bit stream indicates locations of zero values in the second bit stream.

Continuity (3)
Provisional Application 62841819 · May 1, 2019
Provisional Application 62835496 · Apr 17, 2019
Related Publication 20200336272A1 · Oct 22, 2020