According to the paper found by @lustful-rat, T0-C is not a method for encoding binary words individually, but rather a method of encoding sequences of binary words. It is used in situations in which the sequences frequently contain groups of values that are a fixed offset from each other, such as stepping through a memory array by bytes or words.
The transmitter and receiver agree on a step size \$S\$. If the next value to be transmitted is the previous value plus S (i.e., \$b(t) = b(t-1) + S\$), then the actual value on the bus is not changed (\$B(t) = B(t-1)\$). Otherwise, the next value is placed on the bus (\$B(t) = b(t)\$).
However, there is a problem: What if the next value to be transmitted is not the previous value plus S, but it happens to be the same as the current value on the bus (\$b(t) = B(t-1)\$)? In that case, there is only one value that the receiver should NOT be expecting to see, and that is \$b(t-1) + S\$, because if that really were the value to be transmitted, the transmitter would simply keep the bus at \$B(t-1)\$. So if the transmitter actually puts that value on the bus, then the receiver knows that this is a special case, and that \$b(t)\$ should now be set to \$B(t-1)\$.
As long as the sequence of values frequently contains sequential values, this method reduces power consumption by greatly reducing the number of transitions on the individual bus wires. In order to implement it, both the transmitter and the receiver need to keep track of \$b(t-1)\$ and \$B(t-1)\$ internally, so that the logic described above (and in the paper) can be constructed.
Transmitter Receiver
----------- --------
Inputs: b(t-1), b(t), B(t-1) Inputs: b(t-1), B(t-1), B(t)
Output: B(t) Output: b(t)
if (b(t) == b(t-1)+S) if (B(t) == B(t-1))
B(t) = B(t-1) b(t) = b(t-1) + S
else if (b(t) == B(t-1)) else if (B(t) == b(t-1)+S)
B(t) = b(t-1)+S b(t) = B(t-1)
else else
B(t) = b(t) b(t) = B(t)