← Back to Patent Explorer
US3701108A Expired / Lapsed US ⏱️ 0.0 years remaining

Code processor for variable-length dependent codes

Assignee: International Business Machines Corp
•
Filing: 1970-10-30
•
Granted: 1972-10-24
•
Expires: 1990-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor for encoding fixed-length code words into variablelength code words and for decoding variable-length code words into fixed-length code words. The fixed-length code words are assigned to a number of groups and one of several possible coding sets determined by the probability of each word occurring after a preceding word. Each of the fixed-length code words is stored in a first associative memory unit along with its group number, its coding set assignment and a number of addresses arranged in groups. An input fixed-length code word is compared in the memory and will match the corresponding fixed-length stored word. One of the addresses is read out of the memory. The particular group from which the address is read out is determined by the group number of the previously received fixed-length code word. The selected address that is read out and the coding set membership, number of the previous word is entered into a second associative memory containing all the addresses arranged in several coding sets along with the variable-length code words. A match in the second memory unit on an address and a coding set number produces a variable-length code word for the input fixed-length code word. The first memory unit also provides the group number and coding set number for the next input fixed-length code word to be encoded. Decoding is performed in a similar but reverse manner starting with the variable-length coded data being entered into the second memory.

Inventors

  • 👤 Louis S Loh
  • 👤 Jacques H Mommens
  • 👤 Josef Raviv

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 06:03
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/40; H03M7/42; H03M5/00

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 372 words
A processor for encoding a fixed-length code word of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising: a first memory unit having stored therein all the fixed-length code words of a code alphabet, each of said fixed-length code words being stored in combination with M address words where M is an integer, each of said M address words being assigned into a separate one of M code groups, each of said fixed length code words also being stored in combination with a code group number designating one of said M code groups and a coding set number designating a coding set, a second memory unit having stored therein variable-length code words of a code alphabet, said variable-length code words being stored in N separate coding sets where N is an integer, each of said variable-length code words in said coding sets being stored in combination with a coding set number indicating the coding set and an address word corresponding to an address word in said first memory unit, first input means connected to said first memory unit for comparing an input fixed length code word of said code alphabet with said fixed length code words stored in said first memory unit for obtaining a match on a corresponding one of said stored fixed-length code words, first output means for reading out from a previously selected one of Said M code groups of said first memory unit the address word stored in combination with said matched fixed-length code word, second input means connected to said second memory unit for comparing said address word read out from said first memory unit and a previously selected coding set number with said address words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding one address word and coding set number, and second output means for reading out of said second memory unit said variable length code word stored in combination with said matched address word and coding set number.
Claim 2
Dependent Claim 372 words
A processor for encoding a fixed-length code word of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising: a first memory unit having stored therein all the fixed-length code words of a code alphabet, each of said fixed-length code words being stored in combination with M address words where M is an integer, each of said M address words being assigned into a separate one of M code groups, each of said fixed length code words also being stored in combination with a code group number designating one of said M code groups and a coding set number designating a coding set, a second memory unit having stored therein variable-length code words of a code alphabet, said variable-length code words being stored in N separate coding sets where N is an integer, each of said variable-length code words in said coding sets being stored in combination with a coding set number indicating the coding set and an address word corresponding to an address word in said first memory unit, first input means connected to said first memory unit for comparing an input fixed length code word of said code alphabet with said fixed length code words stored in said first memory unit for obtaining a match on a corresponding one of said stored fixed-length code words, first output means for reading out from a previously selected one of Said M code groups of said first memory unit the address word stored in combination with said matched fixed-length code word, second input means connected to said second memory unit for comparing said address word read out from said first memory unit and a previously selected coding set number with said address words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding one address word and coding set number, and second output means for reading out of said second memory unit said variable length code word stored in combination with said matched address word and coding set number.
Claim 3
Dependent Claim 82 words
A processor according to claim 1 wherein said first output means also reads out the code group number and coding set number stored in combination with said matched fixed-length code word in said first memory unit, and further including means for storing said code group number and said coding set number read out of said first memory unit for designating one of said M code groups and one of said N coding sets for use with a subsequent input fixed-length code word.
Claim 4
Dependent Claim 91 words
A processor according to claim 1 wherein said second memory unit has stored therein a length indicating word stored in combination with each of said variable-length code words for indicating the number of code elements in said variable-length code word stored in combination therewith, and said second output means further including means for transmitting from said second output means the code elements of said variable-length code word read out of said second memory unit, said number of code elements transmitted being controlled by said length indicating word stored in combination therewith.
Claim 5
Dependent Claim 29 words
A processor according to claim 1 wherein said first memory unit is a two-state associative memory device and wherein said second memory unit is a three-state associative memory device.
Claim 6
Dependent Claim 149 words
A processor according to claim 1 further including means connected to said second memory unit for comparing an input variable-length code word and a previously selected coding set number with said variable-length code words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding variable-length code word and coding set number, means for reading out of said second memory unit said address word stored in combination with said matched variable-length code word and coding set number, means for comparing said address word read out of said second memory unit with the address words stored in a previously selected one of said M code groups in said first memory unit for obtaining a match on one of said address words, and means for reading out of said first memory unit the fixed-length code word stored in combination with said matched address word.
Claim 7
Dependent Claim 85 words
A processor according to claim 5 wherein said means for reading out said fixed-length code word from said first memory unit also reads out the code group number and coding set number stored in combination with said matched address word, and further including means for storing said code group number and coding set number read out of said first memory unit for designating one of said M code groups and one of said N coding sets for use with a subsequent input variable length word.
Claim 8
Dependent Claim 105 words
A processor according to claim 5 wherein said second memory unit has stored therein a length indicating word stored in combination with each of said variable-length code words for indicating the number of code elements in said variable-length code word stored in combination therewith, and wherein said means for comparing said input variable-length code word in said second memory unit further includes means for removing from said comparing means the code elements of said input variable-length code word, said number of code elements removed from said comparing means being controlled by said length indicating word stored in combination with said matched corresponding variable-length cOde word.
Claim 9
Dependent Claim 490 words
A processor for encoding a fixed-length code sword of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising, a first associative memory device having a plurality of storage locations functionally arranged in rows and columns, said storage locations including two-state storage elements, a first column of said first memory having fixed-length code words of a code alphabet stored on separate rows thereof, M columns of said first memory each having address words stored in separate rows thereof, a further column of said first memory having code group number stored in separate rows thereof, a still further column of said first memory having coding set numbers stored in separate rows thereof such that each row of said first memory contains a fixed-length code word, M address words, a code group number and a coding set number, a second associative memory device having a plurality of storage locations functionally arranged in rows and columns, a first one of said columns having rows of storage locations including three-state storage elements, said first one of said columns of said second memory having the variable-length code words of a variable-length code alphabet arranged in N coding sets and stored in separate rows thereof, a second column of said second memory having the coding set numbers of said coding sets stored in storage locations in separate rows thereof, a third column of said second memory having length words stored in storage locations in separate rows thereof, each of said length words indicating the numbers of code elements of the variable-length code word stored in the same row, a fourth column of said second memory having address words stored in storage locations in separate rows thereof, said address words corresponding to said address words stored in said first memory, first input means connected to said first memory device for comparing an input fixed-length code word of said code alphabet with said fixed-length code words in said first column for obtaining a match with a corresponding fixed-length word in a row, first output means connected to said first memory device for reading out from a previously selected one of said M columns the address word stored in said matched row thereof, second input means connected to said second memory device for comparing said address word read out from said first memory device and a previously selected coding set number with said address words stored in said fourth column and said coding set numbers stored in said second column of said second memory device for obtaining a match on corresponding words in a row, and second output means connected to said second memory device for reading out from said first column thereof the variable-length code word stored in said matched row thereof.
Claim 10
Dependent Claim 490 words
A processor for encoding a fixed-length code sword of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising, a first associative memory device having a plurality of storage locations functionally arranged in rows and columns, said storage locations including two-state storage elements, a first column of said first memory having fixed-length code words of a code alphabet stored on separate rows thereof, M columns of said first memory each having address words stored in separate rows thereof, a further column of said first memory having code group number stored in separate rows thereof, a still further column of said first memory having coding set numbers stored in separate rows thereof such that each row of said first memory contains a fixed-length code word, M address words, a code group number and a coding set number, a second associative memory device having a plurality of storage locations functionally arranged in rows and columns, a first one of said columns having rows of storage locations including three-state storage elements, said first one of said columns of said second memory having the variable-length code words of a variable-length code alphabet arranged in N coding sets and stored in separate rows thereof, a second column of said second memory having the coding set numbers of said coding sets stored in storage locations in separate rows thereof, a third column of said second memory having length words stored in storage locations in separate rows thereof, each of said length words indicating the numbers of code elements of the variable-length code word stored in the same row, a fourth column of said second memory having address words stored in storage locations in separate rows thereof, said address words corresponding to said address words stored in said first memory, first input means connected to said first memory device for comparing an input fixed-length code word of said code alphabet with said fixed-length code words in said first column for obtaining a match with a corresponding fixed-length word in a row, first output means connected to said first memory device for reading out from a previously selected one of said M columns the address word stored in said matched row thereof, second input means connected to said second memory device for comparing said address word read out from said first memory device and a previously selected coding set number with said address words stored in said fourth column and said coding set numbers stored in said second column of said second memory device for obtaining a match on corresponding words in a row, and second output means connected to said second memory device for reading out from said first column thereof the variable-length code word stored in said matched row thereof.
Claim 11
Dependent Claim 87 words
A processor according to claim 8 wherein said first output means also reads out from said further column the code group number stored in said matched row and from said still further column the coding set number stored in said matched row, and further including means for storing said code group number and coding set number read out of said first memory device for designating one of said M code groups and one of said N coding sets for use with a subsequent input fixed-length code word.
Claim 12
Dependent Claim 78 words
A processor according to claim 8 wherein said second output means also reads out from said third column of said second memory device the length indicating word stored in said matched row, said second output means further including means for transmitting from said second output means the code elements of said variable-length code word read out of said second memory unit, said number of code elements transmitted being controlled by Said length indicating word from said matched row.
Claim 13
Dependent Claim 154 words
A processor according to claim 8 further including means connected to said second memory device for comparing an input variable-length code word of said code alphabet with said variable-length code words in said first one of said columns of said second memory device and for comparing a previously selected coding set number with the coding set numbers stored in said second column for obtaining a match with a corresponding variable-length code word and coding set number in a row, means for reading out the address word stored in said matched row, means for comparing said address word read out of said second memory device with the address words stored in a previously selected one of said M columns of said first memory device for obtaining a match on a row thereof, and means for reading out of said first column of said first memory device the fixed-length code word stored in said matched row.
Claim 14
Dependent Claim 94 words
A processor according to claim 11 wherein said means for reading out said fixed-length code word from said matching row of said first memory device also reads out the code group number and coding set number stored in said matched row, and further including means for storing said code group number and said coding set number read out of said matched row for designating one of said M columns of said first memory device and one of said N coding sets of said second memory device for use with a subsequent input variable-length word.
Claim 15
Independent Claim 345 words
A method of encoding a fixed-length code word of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising the steps of: storing in a first memory unit therein all the fixed-length code words of a code alphabet, each of said fixed-length code words being stored in combination with M address words where M is an integer, each of said M address words being assigned into a separate one of M code groups, each of said fixed length code words also being stored in combination with a code group number designating one of said M code groups and a coding set number designating a coding set, storing in a second memory unit variable-length code words of a code alphabet, said variable-length code words being stored in N separate coding sets where N is an integer, each of said variable-length code words in said coding sets being stored in combination with a coding set number indicating the coding set and an address word corresponding to an address word in said first memory unit, comparing an input fixed length code word of said code alphabet with said fixed length code words stored in said first memory unit for obtaining a match on a corresponding one of said stored fixed-length code words, reading out from a previously selected one of said M code groups of said first memory unit the address word stored in combination with said matched fixed-length code word, comparing said address word read out from said first memory unit and a previously selected coding set number with said address words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding one address word and code set number, and reading out of said second memory unit said variable-length code word stored in combination with said matched address word and coding set number.
Claim 16
Independent Claim 345 words
A method of encoding a fixed-length code word of a code alphabet wherein all the code words have the same number of code elements into a variable-length code word of a code alphabet wherein the code words have different numbers of code elements, and decoding a variable-length code word into a fixed-length code word comprising the steps of: storing in a first memory unit therein all the fixed-length code words of a code alphabet, each of said fixed-length code words being stored in combination with M address words where M is an integer, each of said M address words being assigned into a separate one of M code groups, each of said fixed length code words also being stored in combination with a code group number designating one of said M code groups and a coding set number designating a coding set, storing in a second memory unit variable-length code words of a code alphabet, said variable-length code words being stored in N separate coding sets where N is an integer, each of said variable-length code words in said coding sets being stored in combination with a coding set number indicating the coding set and an address word corresponding to an address word in said first memory unit, comparing an input fixed length code word of said code alphabet with said fixed length code words stored in said first memory unit for obtaining a match on a corresponding one of said stored fixed-length code words, reading out from a previously selected one of said M code groups of said first memory unit the address word stored in combination with said matched fixed-length code word, comparing said address word read out from said first memory unit and a previously selected coding set number with said address words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding one address word and code set number, and reading out of said second memory unit said variable-length code word stored in combination with said matched address word and coding set number.
Claim 17
Dependent Claim 77 words
A method according to claim 13 also including the steps of reading out the code group number and coding set number stored in combination with said matched fixed-length code word in said first memory unit, and storing said code group number and said coding set number read out of said first memory unit for designating one of said M code groups and one of said N coding sets for use with a subsequent input fixed-length code word.
Claim 18
Dependent Claim 134 words
A method according to claim 13 further including the steps of comparing an input variable length code word and a previously selected coding set number with said variable-length code words and said coding set numbers stored in said second memory unit for obtaining a match on a corresponding variable-length code word and coding set number, reading out said address word stored in combination with said matched variable-length code word and coding set number, comparing said address word read out of said second memory unit with the address words stored in a previously selected one of said M code groups in said first memory unit for obtaining a match on one of said address words, and reading out of said first memory unit the fixed-length code word stored in combination with said matched address word.
Claim 19
Dependent Claim 69 words
A method according to claim 15 further including the steps of reading out the code group number and coding set number stored in combination with said matched address word, and storing said code group number and coding set number read out of said first memory unit for designating one of said M code groups and one of said N coding sets for use with a subsequent input variable-length word.

References Cited (Backward Citations)

US3337854A Cited
US3331056A Cited
US3350695A Cited
US3408631A Cited
US3440615A Cited
US3496550A 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