This Article 
 Bibliographic References 
 Add to: 
Balanced Codes with Parallel Encoding and Decoding
August 1999 (vol. 48 no. 8)
pp. 794-814

Abstract—A balanced code with $k$ information bits and $r$ check bits is a binary code of length $n=k+r$ and cardinality $2^k$ such that the number of $1$s in each code word is equal to $\lfloor n/2 \rfloor$. This paper describes the design of efficient balanced codes with parallel encoding and parallel decoding. In this case, since area and delay of such circuits are critical factors, another parameter is introduced in the definition of balanced code: the “number of balancing functions used in the code design,”$p$. Parallel encoding and decoding algorithms independent from the chosen balancing method are given and these can be implemented by a VLSI circuit of size $O(pk)$ and depth $O(\log p)$. This paper also presents a new balancing method: the permutation method, which, for infinitely many values of $k$ (such as, $k=8,10,20,22,32,34,\ldots$) is more efficient than Knuth's complementation method. This new method results in efficient balanced codes with $k$ information bits, $k$ even, $r=2\lfloor k/12\rfloor+2$ check bits and $p=6$ balancing functions. Further, Knuth's complementation method is generalized to obtain efficient code designs for any value of the parameters $k$, $r$, and $p$, provided that $ k \leq 2\sum_{i=0}^m (\matrix{{r}\cr{i}})+ p(r-2m-1) - [(kr+k+r)\bmod2]$, where $m$ is such that $(\matrix{{r}\cr{m-1}})< p \leq (\matrix{{r}\cr{m}})$.

[1] V. Akella, N.H. Vaidya, and G.R. Redinbo, “Limitations of VLSI Implementation of Delay-Insensitive Codes,” Proc. 26th Int'l Symp. Fault-Tolerant Computing (FTCS-26), pp. 208-217, 1996.
[2] S. Al-Bassam and B. Bose, “On Balanced Codes,” IEEE Trans. Information Theory, vol. 36, pp. 406-408, Mar. 1990.
[3] S. Al-Bassam and B. Bose, “Design of Efficient Balanced Codes,” IEEE Trans. Computers, vol. 43, no. 3, pp. 362-365, Mar. 1994.
[4] N. Alon, E.E. Bergmann, D. Coppersmith, and A.M. Odlyzko, “Balancing Sets of Vectors,” IEEE Trans. Information Theory, vol. 34, pp. 128-130, Jan. 1988.
[5] J. M. Berger, “A Note on Error Detecting Codes for Asymmetric Channels,” Information and Control, vol. 4, pp. 68-73, Mar. 1961.
[6] M. Blaum, ed., Codes for Detecting and Correcting Unidirectional Errors.Los Alamitos, Calif.: IEEE CS Press, June 1993.
[7] M. Blaum and J. Bruck, "Delay-Insensitive Pipelined Communication on Parallel Buses," IEEE Trans. Computers, vol. 44, no. 5, pp. 660-668, May 1995.
[8] B. Bose, "On Unordered Codes," IEEE Trans. Computers, vol. 40, no. 2, pp. 125-131, Feb. 1991.
[9] R.M. Capocelli, L. Gargano, and U. Vaccaro, “Efficient$q$-ary Immutable Codes,” Discrete Applied Mathematics, vol. 33, pp. 25-41, 1991.
[10] T.H. Cormen,C.E. Leiserson, and R.L. Rivest,Introduction to Algorithms.Cambridge, Mass.: MIT Press/McGraw-Hill, 1990.
[11] C.V. Freiman, “Optimal Error Detecting Codes for Completely Asymmetric Binary Channels,” Information and Control, vol. 5, pp. 64-71, Mar. 1962.
[12] J.P. Hayes, Digital System Design and Microprocessors. McGraw-Hill, 1984.
[13] K.A.S. Immink, Coding Techniques for Digital Recorders. London: Prentice Hall, 1991.
[14] R. Karabed and P.H. Siegel, “Matched Spectral-Null Codes for Partial-Response Channels,” IEEE Trans. Information Theory, vol. 37, pp. 818-855, May 1991.
[15] D.E. Knuth, “Efficient Balanced Codes,” IEEE Trans. Information Theory, vol. 32, pp. 51-53, Jan. 1986.
[16] E.L. Leiss, “Data Integrity in Digital Optical Disks,” IEEE Trans. Computers, vol. 33, no. 9, pp. 818-827, Sept. 1984.
[17] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error Correcting Codes. North-Holland, 1977.
[18] Y. Ofek, “The Conservative Code for Bit Synchronization,” IEEE Trans. Comm., vol. 38, pp. 1,107-1,113, July 1990.
[19] R.M. Roth, P.H. Siegel, and A. Vardy, “High-Order Spectral-Null Codes—Constructions and Bounds,” IEEE Trans. Information Theory, vol. 40, pp. 1,826-1,840, Nov. 1994.
[20] J. Tabor, “Noise Reduction Using Low Weight and Constant Weight Coding Techniques,” Technical Report AI-TR 1232, MIT Artificial Intelligence Laboratory, June 1990.
[21] L.G. Tallini, R.M. Capocelli, and B. Bose, “Design of Some New Efficient Balanced Codes,” IEEE Trans. Information Theory, vol. 42, pp. 790-802, May 1996.
[22] L.G. Tallini and B. Bose, “Design of Efficient Balanced and Constant Weight Codes for VLSI Systems,” IEEE Trans. Computers, vol. 47, no. 5, pp. 556-572, May 1998.
[23] L.G. Tallini and U. Vaccaro, “Efficient$m$-ary Balanced Codes,” Discrete Applied Mathematics, vol. 92, no. 1, pp. 17-56, Mar. 1999.
[24] Y. Tohma, R. Sakai, and R. Ohyama, “Realization of Fail-Safe Sequential Machines by Using$k$-out-of-$n$Code,” IEEE Trans. Computers, vol. 20, no. 11, pp. 1,270-1,275, Nov. 1971.
[25] T. Verhoeff, “Delay-Insensitive Codes—An Overview,” Distributed Computing, vol. 3, pp. 1-8, 1988.

Index Terms:
Balanced codes, constant weight codes, parallel encoding, parallel decoding, VLSI systems.
Luca G. Tallini, Bella Bose, "Balanced Codes with Parallel Encoding and Decoding," IEEE Transactions on Computers, vol. 48, no. 8, pp. 794-814, Aug. 1999, doi:10.1109/12.795122
Usage of this product signifies your acceptance of the Terms of Use.