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

Associative processor particularly useful for tomographic image reconstruction

Assignee: Yeda Research and Development Co Ltd
•
Filing: 1981-10-01
•
Granted: 1985-01-01
•
Expires: 2001-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In an associative processor particularly useful for tomographic image reconstruction, the associative memory is partitioned into an array of associative processors concurrently performing the same function with different operands on disjoint data sets. The array is dynamically reconfigurable, and the partitioning is completely flexible, with individual processors free to assume any size and topology. While the new associative processor is of broad application, its power is specifically demonstrated for tomographic image reconstruction by the well-known convolution-back-projection method.

Inventors

  • 👤 Smil Ruhman
  • 👤 Isaac Scherson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 07:21
CPC Classifications
G; G06; G06T; G06T12/00; G06T12/20; G06T2211/00; G06T2211/40; G06T2211/428

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 240 words
A multi-operand associative processor comprising: A. a main associative memory having a capability of comparing all bits and all words at the same time, and including storage elements constituting: (i) a storage array for storing a plurality of words, each including a plural-bit data field and a plural, R-bit flag field, which flag field is capable of grouping stored words into a plurality, up to "R", of disjoint-data sets by labeling the respective bit positions of the flag field; (ii) a MASK-register of equal word length and having corresponding fields for specifying the bit positions to be associated; (iii) a COMPARAND-register of equal word length and having corresponding fields for storing the bit patterns to be compared against; and (iv) a TAG-register having a storage element for each word for tagging the words in the storage array which have the specified pattern in the specified bits to be associated; B. an auxiliary memory having R-operand registers and a capability of selectively reading out either a bit-slice or its complement at a time; and C. control means programmed to gate the read-out of the auxiliary memory into the flag field of the MASK-register of the main memory to apply, in a bit-sequential manner, up to "R" operands from the auxiliary memory simultaneously, each to its respective disjoint-data set in the main memory, for simultaneously processing all the disjoint data sets of the main memory by the operands in the auxiliary memory.
Claim 2
Dependent Claim 240 words
A multi-operand associative processor comprising: A. a main associative memory having a capability of comparing all bits and all words at the same time, and including storage elements constituting: (i) a storage array for storing a plurality of words, each including a plural-bit data field and a plural, R-bit flag field, which flag field is capable of grouping stored words into a plurality, up to "R", of disjoint-data sets by labeling the respective bit positions of the flag field; (ii) a MASK-register of equal word length and having corresponding fields for specifying the bit positions to be associated; (iii) a COMPARAND-register of equal word length and having corresponding fields for storing the bit patterns to be compared against; and (iv) a TAG-register having a storage element for each word for tagging the words in the storage array which have the specified pattern in the specified bits to be associated; B. an auxiliary memory having R-operand registers and a capability of selectively reading out either a bit-slice or its complement at a time; and C. control means programmed to gate the read-out of the auxiliary memory into the flag field of the MASK-register of the main memory to apply, in a bit-sequential manner, up to "R" operands from the auxiliary memory simultaneously, each to its respective disjoint-data set in the main memory, for simultaneously processing all the disjoint data sets of the main memory by the operands in the auxiliary memory.
Claim 3
Dependent Claim 68 words
The processor according to claim 1, wherein said control means are programmed to effect said processing in two stages for each operand bit position, one stage being effected simultaneously on all the disjoint-data sets belonging to operands having a "0" in the respective bit position, and the other stage being effected simultaneously on all the disjoint-data sets belonging to operands having a "1" in the respective bit position.
Claim 4
Dependent Claim 89 words
The processor according to claim 1, wherein said control means are programmed to select the disjoint-data sets belonging to operands with "0" in the current bit position by comparing to "0" the flag field in the main memory masked by the current bit slice from the auxiliary memory, and to select the disjoint-data sets belonging to operands with a "1" in the current bit position by comparing to "0" the flag field in the main memory masked by the complement of the current bit slice from the auxiliary memory.
Claim 5
Dependent Claim 47 words
The processor according to claim 1, wherein said auxiliary memory is an associative memory including a TAG-register, the read-out of the auxiliary memory being from its TAG-register which outputs a bit-slice by a comparison to "1", and the complement of the bit-slice by a comparison to "0".
Claim 6
Dependent Claim 205 words
The processor according to claim 1, wherein the main memory is capable of shifting-up the contents of its TAG-register one position in a basic operation denoted as SHIFTAG, organized to convolve an m-element data vector p by an m-element filter vector h, to produce a 2m-1 element vector hp, the p data field in the main memory being considered as the multiplier, the processor being operated through a plurality of major cycles wherein: during each major cycle, the following functions are performed in all words of the main memory simultaneously using successive elements of the vector h, starting with h 0 : the p data field is multiplied by the current h element; the product is summed, one partial product at a time, into the hp field; and this field is shifted one word up via the TAG-register one bit-slice at a time; and also, during each major cycle, a successive element of hp starting with hp 0 becomes available and is retrieved either bit-serially from the TAG-register at the shift-up of each bit-slice, or in parallel by a READ operation, the other elements of hp, hp m . . . hp 2m-1 , being in the main memory at the end of the processing.
Claim 7
Dependent Claim 217 words
A processor according to claim 1, organized to perform tomographic back-projection for image reconstruction from a plurality of views taken at different angles, wherein: the main associative memory has as many words as there are pixels in the image to be reconstructed, each word including the x-y coordinates of its pixel, the density of all pixels being initially set to zero; for each view taken at angle θ, a coordinate rotation is performed to obtain the new x-coordinate, denoted by x', and the rotated origin is shifted to coincide with the beginning of the first projection; a consecutive group of R rays is handled at a time, the ray number and density measurement being placed side-by-side in the auxiliary memory, the pixels lying along each of the R rays being selected and labeled in the flag field of the main memory by a "many-to-many" associative compare of log 2 R bits of x' against the ray number in auxiliary memory, all density measurements from the auxiliary memory acting simultaneously, each on the pixels lying along its ray, using a multi-operand ACCUMULATE operation into the density field of the main memory, the process being repeated for all groups in a view; and the process is repeated for all views to thereby reconstruct the image in the main memory.
Claim 8
Dependent Claim 25 words
A processor according to claim 6, wherein the main memory is partitioned into blocks suitable for convolution, the processor executing convolution and back-projection operations sequentially.
Claim 9
Dependent Claim 194 words
The processor according to claim 1, programmed for speeding up multiplication of a plural-element vector constituting the multipliers, by a common constant constituting the multiplicand; wherein said control means are programmed: to store the vector elements in the data field of successive words of the main memory, and to execute multiplication in a plurality of iterations during each of which "i" bits of each multiplier are handled one at a time, "i" being greater than "1" and 2 i being no greater than "R"; to store the first 2 i multiples starting from zero of the common constant multiplicand in the auxiliary memory; and during each iteration: to decode the current "i" bits of the vector into the flag field of the main memory thereby grouping the vector elements into 2 i disjoint-data sets; and to perform a multioperand ACCUMULATE operation simultaneously into the product field of the words in the main memory, the multiples added into each word depending on the flag field position set, or the decoded value, of the current group of "i" multiplier bits, the addition into the product field at each iteration starting "i" positions further to the left.
Claim 10
Dependent Claim 115 words
The processor according to claim 8, programmed to cover a limited sum of products ax+by, as in coordinate rotation, wherein: "a" and "b" are common multiplying factors, and "x" and "y" are multiplier vectors whose elements sit side-by-side in different data fields of each word in the main memory; "i" bits per multiplier are handled at one time; the "R" operands stored in auxiliary memory are the multiples 0, b, 2b, 3b, a, a+b, a+2b, a+3b, 2a, 2a+b, . . . , 3a+3b of the common constant multiplicands a and b; and at each iteration, the aggregate code made up of "i" bits per multiplier is decoded into the flag field of the main memory.
Claim 11
Dependent Claim 465 words
A tomographic image reconstruction system including a first processor in combination with a second processor; said first processor being programmed as a convolution processor wherein said main associative memory is capable of shifting-up the contents of its TAG-register one position in a basic operation denoted as SHIFTAG, organized to convolve an m-element data vector p by an m-element filter vector h, to produce a 2m-1 element vector hp, the p data field in the main memory being considered as the multiplier, the processor being operated through a plurality of major cycles wherein: during each major cycle, the following functions are performed in all words of the main memory simultaneously using successive elements of the vector h, starting with h 0 : the p data field is multiplied by the current h element; the product is summed, one partial product at a time, into the hp field; and this field is shifted one word up via the TAG-register one bit-slice at a time; and also, during each major cycle, a successive element of hp starting with hp 0 becomes available and is retrieved either bit-serially from the TAG-register at the shift-up of each bit-slice, or in parallel by a READ operation, the other elements of hp, hp m . . . hp 2m-1 , being in the main memory at the end of the processing; said second processor being programmed to perform tomographic back-projection for image reconstruction from a plurality of views taken at different angles, wherein: said main associative memory has as many words as there are pixels in the image to be reconstructed, each word including the x-y coordinates of its pixel, the density of all pixels being initially set to zero; for each view taken at angle θ, a coordinate rotation is performed to obtain the new x-coordinate, denoted by x', and the rotated origin is shifted to coincide with the beginning of the first projection; a consecutive group of R rays is handled at a time, the ray number and density measurement being placed side by side in said auxiliary memory, the pixels lying along each of the R rays being selected and labeled in the flag field of the main memory by a "many-to-many" associative compare of log 2 R bits of x' against the ray number in said auxiliary memory, all density measurements from said auxiliary memory acting simultaneously, each on the pixels lying along its ray, using a multi-operand ACCUMULATE operation into the density field of the main memory, the process being repeated for all groups in a view; and the process is repeated for all views to thereby reconstruct the image in said main associative memory; the convolution first processor being sized to match the speed of the back-projection second processor, the two processors operating as a pipe-line.
Claim 12
Dependent Claim 465 words
A tomographic image reconstruction system including a first processor in combination with a second processor; said first processor being programmed as a convolution processor wherein said main associative memory is capable of shifting-up the contents of its TAG-register one position in a basic operation denoted as SHIFTAG, organized to convolve an m-element data vector p by an m-element filter vector h, to produce a 2m-1 element vector hp, the p data field in the main memory being considered as the multiplier, the processor being operated through a plurality of major cycles wherein: during each major cycle, the following functions are performed in all words of the main memory simultaneously using successive elements of the vector h, starting with h 0 : the p data field is multiplied by the current h element; the product is summed, one partial product at a time, into the hp field; and this field is shifted one word up via the TAG-register one bit-slice at a time; and also, during each major cycle, a successive element of hp starting with hp 0 becomes available and is retrieved either bit-serially from the TAG-register at the shift-up of each bit-slice, or in parallel by a READ operation, the other elements of hp, hp m . . . hp 2m-1 , being in the main memory at the end of the processing; said second processor being programmed to perform tomographic back-projection for image reconstruction from a plurality of views taken at different angles, wherein: said main associative memory has as many words as there are pixels in the image to be reconstructed, each word including the x-y coordinates of its pixel, the density of all pixels being initially set to zero; for each view taken at angle θ, a coordinate rotation is performed to obtain the new x-coordinate, denoted by x', and the rotated origin is shifted to coincide with the beginning of the first projection; a consecutive group of R rays is handled at a time, the ray number and density measurement being placed side by side in said auxiliary memory, the pixels lying along each of the R rays being selected and labeled in the flag field of the main memory by a "many-to-many" associative compare of log 2 R bits of x' against the ray number in said auxiliary memory, all density measurements from said auxiliary memory acting simultaneously, each on the pixels lying along its ray, using a multi-operand ACCUMULATE operation into the density field of the main memory, the process being repeated for all groups in a view; and the process is repeated for all views to thereby reconstruct the image in said main associative memory; the convolution first processor being sized to match the speed of the back-projection second processor, the two processors operating as a pipe-line.

References Cited (Backward Citations)

US3320594A Cited
US3350698A Cited
US3470540A Cited
US3771139A Cited
US3936806A Cited
US4068305A Cited
US4244033A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1988-01-01 1988-07-02 1989-01-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-01-01 1992-07-02 1993-01-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-01-01 1996-07-02 1997-01-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag