A method of encoding data values where the data values are arranged into words, each word having a plurality of input values and one or more padding bits. A word is encoded by determining whether more than half of the bits in a portion of the word are ones, where the portion may be some or all of the bits of the input values in the word, and in response to determining that more than half of the bits in the portion are ones, inverting all the bits in the portion and setting a corresponding padding bit to a value to indicate the inversion.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of encoding data values, the method comprising: receiving a plurality of input words, each input word comprising one or more input values and one or more padding bits; dividing the bits of the one or more input values in the input word into a plurality of portions, at least one of the portions having a corresponding padding bit in the input word, for each of the portions having a corresponding padding bit in the input word, determining whether more than half of the bits in the portion have a predefined bit value; and in response to determining that more than half of the bits in the portion are ones, generating an output word by inverting all the bits in the portion and setting a padding bit to a value to indicate the inversion.
2. The method according to claim 1 , further comprising: in response to determining that not more than half of the bits in a portion of an input word have the predefined bit value, generating an output word by not inverting the bits in the portion and by setting a padding bit to a value to indicate that the bits in the portion have not been inverted.
3. The method according to claim 1 , wherein said one or more input values comprise a plurality of input values.
4. The method according to claim 1 , wherein the portion of the input word comprises the one or more input values.
5. The method according to claim 1 , wherein each of the plurality of portions has a corresponding padding bit in the input word.
6. The method according to claim 1 , wherein the input values have a non-uniform probability distribution.
7. The method according to claim 1 , wherein the input values have a uniform probability distribution.
8. The method according to claim 1 , further comprising: receiving a plurality of initial input words, each initial input word comprising one or more initial input values; and decorrelating the initial input values in the initial input words to thereby generate the input values of the input words for which said determination is performed of whether more than half of the bits in a portion of the input words have the predefined bit value.
9. The method according to claim 1 , wherein the predefined bit value is a one.
10. The method according to claim 1 , wherein the predefined bit value is a zero.
11. A computing entity comprising an encoding hardware block, the encoding hardware block comprising: an input configured to receive a plurality of input values, each input word comprising one or more input values and one or more padding bits; hardware logic arranged to divide the bits of the one or more input values in the input word into a plurality of portions, at least one of the portions having a corresponding padding bit in the input word, and for each of the portions having a corresponding padding bit in the input word, to determine whether more than half of the bits in the portion have a predefined bit value and in response to determining that more than half of the bits in the portion have the predefined bit value, to generate an output word by inverting all the bits in the portion and setting a padding bit to a value to indicate the inversion; and an output for outputting the output words.
12. The computing entity according to claim 11 , wherein the predefined bit value is a one.
13. The computing entity according to claim 11 , wherein the predefined bit value is a zero.
14. A method of decoding data values, the method comprising: receiving a plurality of input words, each input word comprising a plurality of sections of bits and a padding bit corresponding to each section; and for each section of an input word: reading and analysing the value of the corresponding padding bit; in response to determining that the padding bit indicates that the section was flipped during the encoding process, flipping all the bits in the section and resetting the padding bit to its default value; in response to determining that the padding bit indicates that the section was not flipped during the encoding process, leaving the bits in the section unchanged and resetting the padding bit to its default value; and outputting the resultant bits as a decoded word.
15. A non-transitory computer readable storage medium having stored thereon an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a computing entity as set forth in claim 11 .
16. An integrated circuit manufacturing system configured to manufacture a computing entity as set forth in claim 11 .
17. An integrated circuit manufacturing system comprising: a non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that describes a computing entity as set forth in claim 11 ; a layout processing system configured to process the integrated circuit description so as to generate a circuit layout description of an integrated circuit embodying the computing entity; and an integrated circuit generation system configured to manufacture the computing entity according to the circuit layout description.
18. A non-transitory computer readable storage medium having encoded thereon computer readable code configured to cause the method of claim 1 to be performed when the code is run.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 30, 2021
June 21, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.