Patent ID: 7501963

Claim:
A method for outputting data from a transmitter to a receiver via a channel, comprising: receiving N original data bits in parallel at the transmitter, wherein the original data bits comprise one of a logic 0 state and a logic 1 state; determining whether a number of received logic 0 or logic 1 states of the original data bits is equal to or greater than M, wherein M is greater than half of N; and if the number of received logic 0 or logic 1 states is equal to or greater than M: inverting R of the N original data bits to create N encoded data bits, wherein R is less than N; enabling at least one data inversion bit; and transmitting in parallel onto the channel the N encoded data bits with the at least one data inversion bit; and if the number of received logic 0 or logic 1 states is not equal to or greater than M: transmitting in parallel onto the channel the N original data bits with the at least one data inversion bit, wherein the at least one data inversion bit is not enabled.