Programmable pipelined image processor
AssigneeThe United States of America as represented by the Administrator of the National Aeronautics and Space Administration
InventorsDonald B. Gennery, Brian Wilcox
Life of this patent
Estimating the term…
Loading patent…
AssigneeThe United States of America as represented by the Administrator of the National Aeronautics and Space Administration
InventorsDonald B. Gennery, Brian Wilcox
Estimating the term…
A pipelined image processor selectively interconnects modules in a column of a two-dimensional array to modules of the next column of the array of modules 1,1 through M,N, where M is the number of modules in one dimension and N is the number of modules in the other direction. Each module includes two input selectors (10,11) for A and B inputs, two convolvers (12,13), a binary function operator (15), a neighborhood comparison operator (14) which produces an A output and an output selector (16) which may select as a B output the output of any one of the components in the module, including the A output of the neighborhood comparison operator. Each module may be connected to as many as eight modules in the next column, preferably with the majority always in a different row that is up (or down) in the array for a generally spiral data path around the torus thus formed. The binary function operator (15) is implemented as a look-up table (20) addressed by the most significant 8 bits of each 12-bit argument. The table output includes a function value and the slopes for interpolation of the two arguments by multiplying the 4 least significant bits in multipliers (21) and (22) and adding the products to the function value through adders (23) and (24).
A pipelined video image processor having an input and an output for processing a pixel data stream comprising a two-dimensional array of computing modules, each module having at least one input and one output, disposed in N columns and M rows, and each module having at least a first selector adapted to selectably interconnect at least said one output of a module to said input of at least one module in asucceeding column of the same or different row, thereby enabling the programming of selected computing paths, whereby said data stream may be processed in accordance with a predetermined processing algorithm, said data stream flowing essentially in one selected data path generally through the same or different rows wherein said data stream may undergo serial processing at each column of said computing modules, and further wherein said data stream may undergo branching to other data paths to undergo parallel processing, where another data path may converge with said one data path as required by said processing algorithm, and means for connecting directly said computing modules located in the Nth column to at least one selected module located in the first column, whereby a programmed data path in the algorithm to be executed which requires more than N modules to complete may proceed from one module in the Nth column to an input of a module in the first column and different row such that said programmed data path may pass through said array more than one time, whereby a wide range of processing algorithms requiring different path lengths and branching requirements may be accommodated wherein said modules are each comprised of two convolvers and two selectors for selecting separate inputs to each convolver, a binary function operator responsive to the outputs of said convolvers for generating a function of one or two variables, a neighborhood comparison operator responsive to the output of said binary function operator for producing a module output, and said output selector connected to produce as a second output the output of any one of said components including said input selectors and said neighborhood comparison operator.
Dependencies are inferred from the claim text.