Claims
- 1. An apparatus for encoding binary event designations for various ordinary and extended run-length codes, the codes comprising up to N regular code words c.sub.r (1), c.sub.r (2), . . . and up to M special code words c.sub.s (1), c.sub.s (2), . . . whose code word lengths are ordered and bounded according to the two relations
- l .ltoreq. l.sub.r (1) .ltoreq. l.sub.r (2) .ltoreq. . . . .ltoreq. l.sub.max,
- l .ltoreq. l.sub.s (1) .ltoreq. l.sub.s (2) .ltoreq. . . . .ltoreq. l.sub.max,
- where l.sub.max is a chosen integer greater than or equal to log.sub.2 (N+M), the apparatus comprising:
- table storage for tables whose values can be adjusted to correspond to any ordinary or extended run-length code to be implemented;
- select/combine circuitry for accepting a binary event designation value, for selecting corresponding table values, and for combining these table values with the event designation value to calculate a code word; and
- shift-out circuitry for serially outputting the successive code word bits.
- 2. An apparatus according to claim 1, wherein the table storage holds a BR table, and BS table, a TR table, and a TS table whose elements are related to the code word lengths for the code to be implemented by the formulas:
- b.sub.r (k) = number of regular code words with length k or less;
- b.sub.s (k) = number of special code words with length k or less; ##EQU3##
- 3. An apparatus according to claim 2, wherein the select/combine circuitry comprises:
- means for accepting a binary event designation value comprising a one-bit integer s and a multibit integer i, with the value s=0 indicating that the ith regular code word c.sub.r (i) is to be generated, and with the value s=1 indicating that the ith special code word c.sub.s (i) is to be generated;
- means for comparing i with successive elements of the BR table until a table value b.sub.r (k) is found to satisfy b.sub.r (k).gtoreq.i, if s=0, or for comparing i with successive elements of the BS table until a table value b.sub.s (k) is found to satisfy b.sub.s (k).gtoreq. i, if s=1;
- means for selecting a corresponding element t.sub.r (k) from the TR table if s=0, or for selecting a corresponding element t.sub.s (k) from the TS table, if s=1; and
- means for combining i with the selected table elements to calculate the l.sub.max -bit binary integer ##EQU4## whose leftmost k bits comprise the desired regular code word c.sub.r (i) = t.sub.r (k) - b.sub.r (k) + i-l, if s=0, or the desired special code word c.sub.s (i) = t.sub.s (k) - b.sub.s (k) + i-l, if s=1.
- 4. An apparatus according to claim 3 wherein the shift-out circuitry serially outputs the k leftmost bits of the l.sub.max -bit integer C calculated by the shift-out circuitry.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a divisional of application Ser. No. 428,500, filed 12/26/73 now U.S. Pat. No. 3,925,780 in the name of D. C. VanVoorhis, and assigned to IBM Corporation.
Non-Patent Literature Citations (1)
Entry |
atrubin, "IBM Technical Disclosure Bulletin," vol. 14, No. 3, Aug. 1971, pp. 874-876. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
428500 |
Dec 1973 |
|