Method of and system for the efficient encoding of data
First Claim
1. A system for transforming three state data to two state data, said three state data containing a succession of sequences of idle symbols and sequences of binary data symbols, where the said succession of idle signals has a minimum length of NI symbols and said succession of data signals has a minimum length of ND symbols, and said two state data containing a succession of binary data symbols, said system comprising:
- A. means for separating said three state data into input blocks of N successive symbols from said three state data, where N is less than both NI +2 and ND +2;
B. means for converting each of said input blocks to an encoded block of N+1 binary values each of said encoded block including;
i. when the last symbol in the next previous input block is an idle symbol;
a. n symbols having a first binary value, where n equals the number of idle symbols in said input block,b. one separator symbol having a second binary value, andc. N-n symbols, said N-n symbols corresponding in accordance with a first predetermined relationship to the binary values of the N-n data symbols in said input block, andii. when the last symbol in the previous input block is a data symbol;
a. n symbols having said first binary value, where n equals the number of idle symbols in said input block,b. one separator symbol having said second binary value, andc. N-n symbols, said N-n symbols corresponding in accordance with a second predetermined relationship to the binary values of the N-n data symbols in said input block.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to the efficient coding of packetized binary (NRZ) data, for example Ethernet packets, over a binary channel. Since Ethernet packetized data has three states (0, 1, and Idle), the theoretical bandwidth required for transmission, assuming completely random packets of arbitrary length and arbitrary interpacket idle periods, i.e. gaps, is 1.585 the data rate. The invention uses the information that both packets and gaps have predetermined minimum lengths constructs more efficient codes. In particular, a coding scheme is shown that provides in two states signal requiring a bandwidth of only 1.25 the three state signal data rate.
-
Citations
24 Claims
-
1. A system for transforming three state data to two state data, said three state data containing a succession of sequences of idle symbols and sequences of binary data symbols, where the said succession of idle signals has a minimum length of NI symbols and said succession of data signals has a minimum length of ND symbols, and said two state data containing a succession of binary data symbols, said system comprising:
-
A. means for separating said three state data into input blocks of N successive symbols from said three state data, where N is less than both NI +2 and ND +2; B. means for converting each of said input blocks to an encoded block of N+1 binary values each of said encoded block including; i. when the last symbol in the next previous input block is an idle symbol; a. n symbols having a first binary value, where n equals the number of idle symbols in said input block, b. one separator symbol having a second binary value, and c. N-n symbols, said N-n symbols corresponding in accordance with a first predetermined relationship to the binary values of the N-n data symbols in said input block, and ii. when the last symbol in the previous input block is a data symbol; a. n symbols having said first binary value, where n equals the number of idle symbols in said input block, b. one separator symbol having said second binary value, and c. N-n symbols, said N-n symbols corresponding in accordance with a second predetermined relationship to the binary values of the N-n data symbols in said input block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for transforming a succession of N+1 symbol blocks of two state data to a corresponding succession of N symbol blocks of three state data, wherein each block of two state data includes:
-
A. n symbols having a first binary value, where n equals the number of idle symbols to be in said corresponding block of two state data, B. a separator symbol having a second binary value, and C. N-n symbols corresponding to binary values of data symbols to be in said corresponding block of two state data, and wherein each block of said three state data contains a sequence of i idle symbols and a sequence of j binary value data symbols, where 0≦
i≦
N, 0≦
j≦
N and i+j=N,said system comprising; means operative in succession for each block of said two state data to generate an output signal in the form of an output three state block having n idle symbols and N-n binary data symbols, whereby said succession of three state output blocks form said three state data, having successions of idle symbols having minimum length less than NI and having successions of data symbols having minimum length less than ND, wherein NI and ND are both less than N.
-
-
10. A system for encoding nonreturn to zero (NRZ) data containing a sequence of idle symbols and data symbols, comprising:
-
A. means for separating said data into blocks of N symbols; B. means for classifying each of said blocks as either an idle block or data block, an idle block comprising a sequence beginning with at least one idle symbol and including a sequence of up to N-1 data symbols, a data block comprising a sequence beginning with at least one data symbol and including a sequence of up to N-1 idle symbols, C. means for converting each idle block to an encoded idle block of N+1 binary values, said encoded idle block including; i. a sequence of x binary idle symbol values, where x corresponds to the number of idle symbols in said idle block, ii. a separator symbol, and iii. a sequence of binary data values, each binary data value corresponding in the same order to an equivalent binary value for each of said sequential data symbols; D. means for converting each data block to an encoded data block of N+1 binary values, said encoded data block including; i. a sequence of x binary idle symbol values, where x corresponds to the number of idle symbols in said data block, ii. a separator symbol, and iii. a sequence of binary data values, each binary data value corresponding in reverse order to an equivalent binary value for each of said sequential data symbol. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for decoding binary data containing a sequence of idle symbols values, a separator symbol and binary data values, comprising:
-
A. means for separating for said data into blocks of N binary data units; B. means for converting each of said blocks to an decoded block of N-1 three state data symbols, said decoded block including i. a sequence of x idle symbols, where x corresponds to the number of idle symbol values in said block, and ii. a sequence of data symbols, each data symbol corresponding to an equivalent value for each of said sequential binary data values.
-
-
16. A method of encoding nonreturn to zero (NRZ)/(3 state) data containing a sequence of idle symbols and data symbols, comprising the steps of:
-
A. separating said data into blocks of N symbols; B. converting each of said blocks to an encoded block of N+1 binary values, said encoded block including i. a sequence of x binary idle symbol values, where x corresponds to the quantity of idle symbols in said block, ii. a separator symbol, and iii. a sequence of binary data values, each binary data value corresponding to an equivalent binary value for each of said sequential data symbols. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification