Patent US3701111A successfully refreshed from Google Patents.
← Back to Patent Explorer
US3701111A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of and apparatus for decoding variable-length codes having length-indicating prefixes

Assignee: International Business Machines Corp
•
Filing: 1971-02-08
•
Granted: 1972-10-24
•
Expires: 1991-02-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This code conversion method enables data which has been coded in the form of variable-length bit strings for data compaction purposes to be processed by hardware units of conventional design that handle data in the form of fixed-length bit strings. The coding scheme is such that in the bit string of each variablelength code whose length exceeds a certain fixed number of bits N, the first N bits constitute a ''''length prefix'''' which uniquely designates the code length. This N-bit prefix is decoded by a first decoding table to give a base address in a second decoding table. The remaining bits of the variable-length code, whose number is known from the length prefix, then are decoded to give a displacement value relative to the base address for locating the address at which the decoded fixed-length word is found. Concurrently with the execution of this second decoding step, the first step in the decoding of the next variable-length code is performed. If a variable-length code does not have more than N bits, it is decoded in one step by the first decoding table, which stores the decoded word at every address therein which may be designated by all possible N-bit combinations containing the aforesaid variable-length code as their leading portion. A length indication read out of the first table then shifts the address register contents by an appropriate amount to bring the next succeeding variable-length code into the leading position therein.

Inventors

  • 👤 John Cocke
  • 👤 Jacques H Mommens
  • 👤 Josef Raviv

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 19:46
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/40; H03M7/4025; H03M7/42; H03M7/425

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 253 words
A code conversion method whereby data encoded as bit strings of variable length can be utilized in a data processing system having memory units and registers which are adapted to handle data encoded as bit strings of fixed length, said method comprising the steps of: a. serially entering the leading bits of an input bit stream containing successive variable-length codes into a first one of said registers until the number of such entered bits equals a fixed number: b. storing in a memory unit, at each of the addresses therein specified by the various combinations of bits that may be entered into said first register, the following interrelated items of information: b1. a fixed-length code corresponding to the first variablelength code or portion of such code which is defined upon entry of the respective bit combination denoting that address into said first register, and b2. associated information which is related to the number of bits in said variable-length code; c. reading out of said memory unit to a second register, for use in a subsequent portion of said data processing system, the fixed-length code (b1) which is addressed by the bit combination currently stored in said first register, along with its associated information (b2); d. shifting the contents of said first register serially through a number of bit positions determined by said associated information; and e. repeating steps (c) and (d) as needed for enabling the information represented by the succeeding variable-length codes in said bit stream to be processed by said system.
Claim 2
Dependent Claim 253 words
A code conversion method whereby data encoded as bit strings of variable length can be utilized in a data processing system having memory units and registers which are adapted to handle data encoded as bit strings of fixed length, said method comprising the steps of: a. serially entering the leading bits of an input bit stream containing successive variable-length codes into a first one of said registers until the number of such entered bits equals a fixed number: b. storing in a memory unit, at each of the addresses therein specified by the various combinations of bits that may be entered into said first register, the following interrelated items of information: b1. a fixed-length code corresponding to the first variablelength code or portion of such code which is defined upon entry of the respective bit combination denoting that address into said first register, and b2. associated information which is related to the number of bits in said variable-length code; c. reading out of said memory unit to a second register, for use in a subsequent portion of said data processing system, the fixed-length code (b1) which is addressed by the bit combination currently stored in said first register, along with its associated information (b2); d. shifting the contents of said first register serially through a number of bit positions determined by said associated information; and e. repeating steps (c) and (d) as needed for enabling the information represented by the succeeding variable-length codes in said bit stream to be processed by said system.
Claim 3
Dependent Claim 52 words
A method as set forth in claim 1 wherein said associated information (b2) is related to the number of significant bits contained in each variable-length code whose length does not exceed said fixed number, and step d involves shifting the contents of said first register by the corresponding number of bit positions.
Claim 4
Dependent Claim 32 words
A method as set forth in claim 2 wherein the fixed-length code entered into said second register in step (c) constitutes the decoded equivalent of the variable-length code specified in step b1.
Claim 5
Dependent Claim 60 words
A method as set forth in claim 1 wherein said associated information (b2) indicates whether the respective variable-length code is or is not longer than said fixed number, and step (d) involves shifting the contents of said first register by said fixed number of bit positions in each case where the respective variable-length code is longer than said fixed number.
Claim 6
Dependent Claim 54 words
A method as set forth in claim 4 wherein the fixed-length code entered into said second register in step (c) thereafter is entered into a third register to form at least a portion of an address for locating within a second memory unit the decoded equivalent of the variable-length code specified in step (b1).
Claim 7
Independent Claim 431 words
A method of processing data in the form of variable-length bit strings by using data processing instrumentalities such as memory units and registers which can handle data in the form of fixed-length bit strings, said method comprising the steps of: a. causing encodable items of information to be represented respectively by variable-length codes of such nature that the first N bits of any code which exceeds N bits in length is unique to that particular code length, thereby constituting an N-bit length prefix for that code; b. serially entering the first N bits of an input bit stream containing such variable-length codes into a first address register associated with a first memory unit; c. storing in said first memory unit, at each address therein specified by the various N-bit length prefixes that may be stored in said first register, information including a fixed-length code which represents a significant portion of a respective one of several base addresses in a second memory unit, as determined by the respective length prefix stored in said first address register; d. storing in said second memory unit, at addresses therein which are determined in part by said base addresses and in part by the remaining bits of the respective variable-length codes whose lengths exceed N, the fixed-length codes which constitute the respective decoded equivalents of said variable-length codes; e. reading out of said first memory unit to a data register the fixed-length code addressed by the length prefix currently stored in said first address register; f. transferring the fixed-length code currently stored in said data register to a second address register associated with said second memory unit; g. entering into said second address register from said bit stream the remaining bits of the variable-length code whose length prefix currently is stored in said first address register, thereby to form, in combination with at least a significant portion of the fixed-length code currently stored in said second address register, a new address for locating within said second memory unit the fixed-length code which is the decoded equivalent of the current variable-length code, the number of such remaining bits being determined at least in part by said length prefix; h. shifting the contents of said first address register by N bits to bring the next succeeding N bits of said input bits stream into said first address register; i. reading the currently addressed fixed-length code out of said second memory unit; and j. repeating steps (e) through (i) as needed to decode each of the succeeding variable-length codes in said input bit stream whose length exceeds N bits.
Claim 8
Independent Claim 431 words
A method of processing data in the form of variable-length bit strings by using data processing instrumentalities such as memory units and registers which can handle data in the form of fixed-length bit strings, said method comprising the steps of: a. causing encodable items of information to be represented respectively by variable-length codes of such nature that the first N bits of any code which exceeds N bits in length is unique to that particular code length, thereby constituting an N-bit length prefix for that code; b. serially entering the first N bits of an input bit stream containing such variable-length codes into a first address register associated with a first memory unit; c. storing in said first memory unit, at each address therein specified by the various N-bit length prefixes that may be stored in said first register, information including a fixed-length code which represents a significant portion of a respective one of several base addresses in a second memory unit, as determined by the respective length prefix stored in said first address register; d. storing in said second memory unit, at addresses therein which are determined in part by said base addresses and in part by the remaining bits of the respective variable-length codes whose lengths exceed N, the fixed-length codes which constitute the respective decoded equivalents of said variable-length codes; e. reading out of said first memory unit to a data register the fixed-length code addressed by the length prefix currently stored in said first address register; f. transferring the fixed-length code currently stored in said data register to a second address register associated with said second memory unit; g. entering into said second address register from said bit stream the remaining bits of the variable-length code whose length prefix currently is stored in said first address register, thereby to form, in combination with at least a significant portion of the fixed-length code currently stored in said second address register, a new address for locating within said second memory unit the fixed-length code which is the decoded equivalent of the current variable-length code, the number of such remaining bits being determined at least in part by said length prefix; h. shifting the contents of said first address register by N bits to bring the next succeeding N bits of said input bits stream into said first address register; i. reading the currently addressed fixed-length code out of said second memory unit; and j. repeating steps (e) through (i) as needed to decode each of the succeeding variable-length codes in said input bit stream whose length exceeds N bits.
Claim 9
Dependent Claim 79 words
A method as set forth in claim 6 wherein the information (c) stored in said first memory unit at the address therein specified by each one of said length prefixes includes additional information designating the number of bits in excess of N which are represented by that length prefix, and step (g) is effective to cause the number of bits thus designated by the current length prefix to be entered from said bit stream into said second address register.
Claim 10
Dependent Claim 467 words
A code conversion method whereby data encoded as bit strings of variable length can be utilized in a data processing system having memory units and registers which are adapted to handle data encoded as bit strings of fixed length, said method comprising the steps of: a. serially entering the leading bits of an input bit stream containing successive variable-length codes into a first one of said registers until the number of such entered bits equals a fixed number; b. storing in a first memory unit, at each of the addresses therein specified by the various combinations of bits that may be entered into said first register, the following interrelated items of information: b1. a fixed-length code corresponding to the first variable-length code or portion of such code which is defined upon entry of the respective bit combination into said first register, and b2. associated information which is related to the number of bits in said variable-length code; c. storing in a second memory unit, at addressable locations therein which are determined in part by those fixed-length codes in said first memory unit that correspond to variable-length codes which contain more than said fixed number of bits, the fixed-length codes constituting the respective decoded equivalents of such variable-length codes; d. reading out of said first memory unit to a second register the fixed-length code (b1) which is addressed by the bit combination currently stored in said first register, along with its associated information (b2); e. performing one of the following two actions according to the contents of said associated information: e1. if said associated information denotes that the variable-length code specified in step (b1) does not contain more than said fixed number of bits, then read out the contents of said second register as the decoded equivalent of such variable-length code, and thereafter shift the contents of said first register by a number of bit positions equal to the length of such variable-length code; or e2. if said associated information denotes that the variable-length code specified in step (b1) contains more than said fixed number of bits, then transfer the fixed-length code from said second register to a third register, also enter into said third register those bits which constitute the excess portion of said variable-length code, thereby to form a new address containing such bits in combination with at least a portion of said transferred code, then shift the contents of said first register by a number of bit positions equalling said fixed number, and read out of said second memory unit the fixed-length code corresponding to said new address as the decoded equivalent of said variable-length code; and f. repeating steps (d) and (e) as needed for enabling the information represented by the succeeding variable-length codes in said bit stream to be processed by said system.
Claim 11
Dependent Claim 467 words
A code conversion method whereby data encoded as bit strings of variable length can be utilized in a data processing system having memory units and registers which are adapted to handle data encoded as bit strings of fixed length, said method comprising the steps of: a. serially entering the leading bits of an input bit stream containing successive variable-length codes into a first one of said registers until the number of such entered bits equals a fixed number; b. storing in a first memory unit, at each of the addresses therein specified by the various combinations of bits that may be entered into said first register, the following interrelated items of information: b1. a fixed-length code corresponding to the first variable-length code or portion of such code which is defined upon entry of the respective bit combination into said first register, and b2. associated information which is related to the number of bits in said variable-length code; c. storing in a second memory unit, at addressable locations therein which are determined in part by those fixed-length codes in said first memory unit that correspond to variable-length codes which contain more than said fixed number of bits, the fixed-length codes constituting the respective decoded equivalents of such variable-length codes; d. reading out of said first memory unit to a second register the fixed-length code (b1) which is addressed by the bit combination currently stored in said first register, along with its associated information (b2); e. performing one of the following two actions according to the contents of said associated information: e1. if said associated information denotes that the variable-length code specified in step (b1) does not contain more than said fixed number of bits, then read out the contents of said second register as the decoded equivalent of such variable-length code, and thereafter shift the contents of said first register by a number of bit positions equal to the length of such variable-length code; or e2. if said associated information denotes that the variable-length code specified in step (b1) contains more than said fixed number of bits, then transfer the fixed-length code from said second register to a third register, also enter into said third register those bits which constitute the excess portion of said variable-length code, thereby to form a new address containing such bits in combination with at least a portion of said transferred code, then shift the contents of said first register by a number of bit positions equalling said fixed number, and read out of said second memory unit the fixed-length code corresponding to said new address as the decoded equivalent of said variable-length code; and f. repeating steps (d) and (e) as needed for enabling the information represented by the succeeding variable-length codes in said bit stream to be processed by said system.
Claim 12
Independent Claim 236 words
A method of converting successive variable-length codes whose bits are contained in a serial bit stream into corresponding fixed-length codes, utilizing data processing instrumentalities such as memory units and registers that are capable of handling data in the form of fixed-length codes only, said method comprising the steps of: a. storing a first set of fixed-length codes in a first memory unit at addresses therein which are identified respectively by various N-bit combinations, where N is a fixed integer; b. storing a second set of fixed-length codes in a second memory unit at various addresses therein which are identified respectively by various M-bit combinations, where M is a fixed integer; c. entering the first available N bits of said bit stream into a first address register; d. reading out of said first memory unit the fixed-length code in said first set whose address is denoted by the N-bit combination stored in said first address register; e. entering the fixed-length code read out of said first memory unit into a second address register; f. entering into said second address register additional selected code bits to form, in conjunction with at least a significant portion of the fixed-length code entered therein during step (e), a distinctive M-bit combination; and g. reading out of said second memory unit the fixed-length code in said second set whose address is denoted by the M-bit combination stored in said second address register.
Claim 13
Independent Claim 236 words
A method of converting successive variable-length codes whose bits are contained in a serial bit stream into corresponding fixed-length codes, utilizing data processing instrumentalities such as memory units and registers that are capable of handling data in the form of fixed-length codes only, said method comprising the steps of: a. storing a first set of fixed-length codes in a first memory unit at addresses therein which are identified respectively by various N-bit combinations, where N is a fixed integer; b. storing a second set of fixed-length codes in a second memory unit at various addresses therein which are identified respectively by various M-bit combinations, where M is a fixed integer; c. entering the first available N bits of said bit stream into a first address register; d. reading out of said first memory unit the fixed-length code in said first set whose address is denoted by the N-bit combination stored in said first address register; e. entering the fixed-length code read out of said first memory unit into a second address register; f. entering into said second address register additional selected code bits to form, in conjunction with at least a significant portion of the fixed-length code entered therein during step (e), a distinctive M-bit combination; and g. reading out of said second memory unit the fixed-length code in said second set whose address is denoted by the M-bit combination stored in said second address register.
Claim 14
Dependent Claim 41 words
A method as set forth in claim 9 wherein the additional code bits entered into said second address register in step (f) comprise the bits of the current variable-length code exclusive of the N bits stored in said first address register.
Claim 15
Dependent Claim 44 words
A method as set forth in claim 9 wherein the additional code bits entered into said second address register in step (f) comprise the bits of a group code related to the fixed-length code which previously was read out of said second memory unit.
Claim 16
Dependent Claim 222 words
Data processing apparatus for converting data which is in the form of variable-length bit strings into data having the form of fixed-length bit strings, utilizing memory units and registers that are capable of handling fixed-length bit strings only, said apparatus comprising: a. a shiftable address register capable of storing N bits, where N is a fixed integer; b. means for entering variable-length code bits serially into said address register, to the N-bit capacity of said register; c. a memory unit having addresses therein corresponding respectively to the various combinations of N bits that may be stored in said address register and adapted to store at each such address the following interrelated items of information: c1. a fixed-lengTh code corresponding to the first variable-length code or portion of such code which is defined upon entry of the respective N-bit combination denoting that address into said address register, and c2. associated information which is related to the number of bits in said variable-length code; d. means for reading out of said memory unit the fixed-length code (c1) and associated information (c2) which are addressed by the N-bit combination currently stored in said address register; and e. means controlled by said reading means (d) for shifting the contents of said address register serially through a number of bit positions determined by said associated information (c2).
Claim 17
Dependent Claim 222 words
Data processing apparatus for converting data which is in the form of variable-length bit strings into data having the form of fixed-length bit strings, utilizing memory units and registers that are capable of handling fixed-length bit strings only, said apparatus comprising: a. a shiftable address register capable of storing N bits, where N is a fixed integer; b. means for entering variable-length code bits serially into said address register, to the N-bit capacity of said register; c. a memory unit having addresses therein corresponding respectively to the various combinations of N bits that may be stored in said address register and adapted to store at each such address the following interrelated items of information: c1. a fixed-lengTh code corresponding to the first variable-length code or portion of such code which is defined upon entry of the respective N-bit combination denoting that address into said address register, and c2. associated information which is related to the number of bits in said variable-length code; d. means for reading out of said memory unit the fixed-length code (c1) and associated information (c2) which are addressed by the N-bit combination currently stored in said address register; and e. means controlled by said reading means (d) for shifting the contents of said address register serially through a number of bit positions determined by said associated information (c2).
Claim 18
Dependent Claim 49 words
Apparatus as set forth in claim 12 wherein said shifting means (e) is effective whenever said associated information (c2) indicates that the current variable-length code does not exceed N bits in length to shift the contents of said address register by the number of bits in said variable-length code.
Claim 19
Dependent Claim 41 words
Apparatus as set forth in claim 12 wherein said shifting means (e) is effective whenever said associated information (c2) indicates that the current variable-length code exceeds N bits in length to shift the contents of said address register by N bits.
Claim 20
Dependent Claim 449 words
Apparatus for processing data which is encoded in the form of variable-length bit strings wherein the first N bits of any variable-length code exceeding N bits in length constitutes a length prefix uniquely identifying that particular code length, N being a fixed integer, said apparatus comprising: a. a shiftable first address register capable of storing N bits; b. means for entering variable-length code bits serially into said first address register, to the N-bit capacity of said register; c. a first memory unit having addresses therein corresponding respectively to the various combinations of N bits that may be stored in said first address register and adapted to store at each such address the following interrelated items of information: c1. a fixed-length code corresponding to the first variable-length code or N-bit portion of such code which is defined upon entry of the respective N-bit combination into said first address register, and c2. associated information which is related to the number of bits in said variable-length code, such information indicating, in the case of a code exceeding N bits in length, the number of bits which are represented by the respective N-bit prefix; d. means for reading out of said first memory unit the fixed-length code (c1) and associated information (c2) which are addressed by the N-bit combination currently stored in said first address register; e. means controlled by said reading means and effective when information (c2) indicates that the related variable-length code does not exceed N bits in length to shift the contents of said first address register by the number of bits contained within that variable-length code; f. a second shiftable address register capable of storing M bits, where M is a fixed integer; g. means controlled by said reading means (d) and effective when information (c2) indicates that the related variable-length code exceeds N bits in length to transfer the fixed-length code (c1) to said second address register and also effective to enter into said second address register the remaining bits of the current variable-length code, the number of such bits being indicated by said information (c2), thereby to form a combined M-bit address, and being further effective to shift the contents of said first address register by N bits; h. a second memory unit having addressable locations therein corresponding respectively to the various M-bit combinations that may be stored in said second address register and adapted to store a distinctive fixed-length code at each such location; and i. means effective when said information (c2) indicates that the related variable-length code exceeds N bits in length for reading out of said second memory unit the fixed-length code addressed by the M-bit combination currently stored in said second address register.
Claim 21
Dependent Claim 449 words
Apparatus for processing data which is encoded in the form of variable-length bit strings wherein the first N bits of any variable-length code exceeding N bits in length constitutes a length prefix uniquely identifying that particular code length, N being a fixed integer, said apparatus comprising: a. a shiftable first address register capable of storing N bits; b. means for entering variable-length code bits serially into said first address register, to the N-bit capacity of said register; c. a first memory unit having addresses therein corresponding respectively to the various combinations of N bits that may be stored in said first address register and adapted to store at each such address the following interrelated items of information: c1. a fixed-length code corresponding to the first variable-length code or N-bit portion of such code which is defined upon entry of the respective N-bit combination into said first address register, and c2. associated information which is related to the number of bits in said variable-length code, such information indicating, in the case of a code exceeding N bits in length, the number of bits which are represented by the respective N-bit prefix; d. means for reading out of said first memory unit the fixed-length code (c1) and associated information (c2) which are addressed by the N-bit combination currently stored in said first address register; e. means controlled by said reading means and effective when information (c2) indicates that the related variable-length code does not exceed N bits in length to shift the contents of said first address register by the number of bits contained within that variable-length code; f. a second shiftable address register capable of storing M bits, where M is a fixed integer; g. means controlled by said reading means (d) and effective when information (c2) indicates that the related variable-length code exceeds N bits in length to transfer the fixed-length code (c1) to said second address register and also effective to enter into said second address register the remaining bits of the current variable-length code, the number of such bits being indicated by said information (c2), thereby to form a combined M-bit address, and being further effective to shift the contents of said first address register by N bits; h. a second memory unit having addressable locations therein corresponding respectively to the various M-bit combinations that may be stored in said second address register and adapted to store a distinctive fixed-length code at each such location; and i. means effective when said information (c2) indicates that the related variable-length code exceeds N bits in length for reading out of said second memory unit the fixed-length code addressed by the M-bit combination currently stored in said second address register.
Claim 22
Dependent Claim 215 words
Apparatus of the kind set forth in claim 15, further comprising the following elements: j. a third address register; k. a third memory unit for storing fixed-length codes at locations therein addressable by the contents of said third address register; l. means for reading out of said third memory unit the fixed-length code addressed by the contents of said third address register; m. means for converting each of the fixed-length codes read out by reading means (l) into a selected one of several group codes; and n. means for entering into said third address register the group code corresponding to the fixed-length code previously read out of said third memory unit in combination with one of the following: n1. the fixed-length code (c1) read out of said first memory unit by said reading means (d), if the length of the current variable-length code does not exceed N bits, or n2. the fixed-length code read out of said second memory unit by said reading means (i), if the length of the current variable-length code exceeds N bits; whereby said reading means (l) is effective to read out of said third memory unit a fixed-length code the identity of which is determined in part by the current variable-length code and in part by the preceding variable-length code.
Claim 23
Dependent Claim 259 words
Apparatus for converting successive variable-length codes whose bits are contained in a serial bit stream into corresponding fixed-length codes, said apparatus comprising: a. a first address register capable of storing N bits, where N is a fixed integer; b. a first memory unit for storing a first set of fixed-length codes at addresses therein which may be specified by the N-bit combination stored in said first address register; c. means for entering bits from said bit stream into said first address register; d. means for reading out of said first memory unit the fixed-length code in said first set whose address is specified by the N-bit combination in said first address register; e. a second address register capable of storing M bits, where M is a fixed number; f. a second memory unit for storing a second set of fixed-length codes at addresses therein which may be specified by the M-bit combination stored in said second address register; g. data entry means controlled by said reading means (d) for causing the fixed-length code read out of said first memory unit to be entered into said second address register as a constituent of an M-bit address to be formed in said second address register; h. other data entry means for entering into said second address register, as another constituent of said M-bit address, a group of additional selected code bits; and i. means for reading out of said second memory unit the fixed-length code in said second set corresponding to the M-bit address thus formed in said second address register.
Claim 24
Dependent Claim 259 words
Apparatus for converting successive variable-length codes whose bits are contained in a serial bit stream into corresponding fixed-length codes, said apparatus comprising: a. a first address register capable of storing N bits, where N is a fixed integer; b. a first memory unit for storing a first set of fixed-length codes at addresses therein which may be specified by the N-bit combination stored in said first address register; c. means for entering bits from said bit stream into said first address register; d. means for reading out of said first memory unit the fixed-length code in said first set whose address is specified by the N-bit combination in said first address register; e. a second address register capable of storing M bits, where M is a fixed number; f. a second memory unit for storing a second set of fixed-length codes at addresses therein which may be specified by the M-bit combination stored in said second address register; g. data entry means controlled by said reading means (d) for causing the fixed-length code read out of said first memory unit to be entered into said second address register as a constituent of an M-bit address to be formed in said second address register; h. other data entry means for entering into said second address register, as another constituent of said M-bit address, a group of additional selected code bits; and i. means for reading out of said second memory unit the fixed-length code in said second set corresponding to the M-bit address thus formed in said second address register.
Claim 25
Dependent Claim 42 words
Apparatus as set forth in claim 17 wherein said other data entry means (h) causes the remaining bits of the current variable-length code, excluding the N bits already entered in said first address register, to be entered into said second address register.
Claim 26
Dependent Claim 77 words
Apparatus as set forth in claim 17 which includes the following additional feature: j. encoding means controlled by said reading means (i) for generating a group code corresponding to each fixed-length code which is read out of said second memory unit; said other data entry means (h) being effective to enter the bits of each group code thus formed into said second address register as the other constituent of the next M-bit address which is formed therein.
Claim 27
Dependent Claim 321 words
Apparatus for processing data which is encoded in the form of vAriable-length bit strings wherein the first N bits of any variable-length code exceeding N bits in length constitutes a length prefix uniquely identifying that particular code length, N being a fixed integer, said apparatus comprising: a. a primary processor including the following elements: a1. a first address register capable of storing N bits, a2. means for entering variable-length code bits into said first address register, a3. a first memory unit for storing at various addressable locations therein fixed-length codes which respectively correspond to the various N-bit addresses that may be stored in said first address register, a4. a first data register, and a5. reading means for causing the fixed-length code which is addressed in said first memory unit by the N-bit address currently stored in said first address register to be entered into said first data register; b. a secondary processor including the following elements: b1. a second address register, b2. means for entering into said second address register the fixed-length code bits stored in said first data register together with variable-length code bits that have not been entered into said first address register, b3. a second memory unit for storing at various addressable locations therein fixed-length codes which respectively correspond to the various addresses that may be stored in said second address register, b4. a second data register, and b5. reading means for causing the fixed-length code which is addressed in said second memory unit by the address currently stored in said second address register to be entered into said second data register; and c. control means effective when said entering means (b2) has completed an entry into said second address register, but before said reading means (b5) has effected a corresponding entry into said second data register, to initiate a new operation of said entering means (a2), whereby the operations of said primary and secondary processors are overlapped.
Claim 28
Dependent Claim 321 words
Apparatus for processing data which is encoded in the form of vAriable-length bit strings wherein the first N bits of any variable-length code exceeding N bits in length constitutes a length prefix uniquely identifying that particular code length, N being a fixed integer, said apparatus comprising: a. a primary processor including the following elements: a1. a first address register capable of storing N bits, a2. means for entering variable-length code bits into said first address register, a3. a first memory unit for storing at various addressable locations therein fixed-length codes which respectively correspond to the various N-bit addresses that may be stored in said first address register, a4. a first data register, and a5. reading means for causing the fixed-length code which is addressed in said first memory unit by the N-bit address currently stored in said first address register to be entered into said first data register; b. a secondary processor including the following elements: b1. a second address register, b2. means for entering into said second address register the fixed-length code bits stored in said first data register together with variable-length code bits that have not been entered into said first address register, b3. a second memory unit for storing at various addressable locations therein fixed-length codes which respectively correspond to the various addresses that may be stored in said second address register, b4. a second data register, and b5. reading means for causing the fixed-length code which is addressed in said second memory unit by the address currently stored in said second address register to be entered into said second data register; and c. control means effective when said entering means (b2) has completed an entry into said second address register, but before said reading means (b5) has effected a corresponding entry into said second data register, to initiate a new operation of said entering means (a2), whereby the operations of said primary and secondary processors are overlapped.

References Cited (Backward Citations)

US3237170A Cited
US3331056A Cited
US3422405A Cited
US3593309A Cited
US3618027A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1975-10-24 1976-04-24 1976-10-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1979-10-24 1980-04-24 1980-10-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1983-10-24 1984-04-24 1984-10-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag