A 16B/18B low disparity code is described. The 16-bit input word is split into two bytes, i.e., into two 8-bit words, and each byte is mapped to a 9-bit word. The image of each input byte under the mapping depends at least in part on its disparity, and also in some cases on the disparity of the other word. Certain of the images under the mapping are then inverted. The decision whether to invert an image depends, at least in part, on the running digital sum (RDS) of the output. The RDS is the sum of all 1's in the data stream from its beginning (or from a designated starting point). Significantly, all possible input words are grouped, by disparity, into four categories. The rule for mapping of input words is different for each of the four categories. <IMAGE>
A low disparity coding method for digital data