Feature extraction processor
First Claim
1. A data processor, comprising:
- a plurality of cells each including at least two row ports and two column ports for transmitting and receiving data signals, each cell having at least one of the two row ports and two column ports connected to a corresponding row and column port of neighboring cells, each cell further for processing data received by the each cell on the row and column ports;
each column having first and second end cells at respective ends of the column and one of the column ports of the first end cell connected to one of the column ports of a corresponding second end cell of the column such that data may be sequentially passed in a loop including all cells of the corresponding column of cells, and each row having a first and second end cell at respective ends of the row;
a plurality of switch means each of the switch means having a common terminal connected to a row port of a corresponding first end cell, each switch means further having a first terminal connected to a row port of a corresponding second end cell, each switch means having a second terminal;
a plurality of shift register means, each of the shift register means having a first port connected to the second switch terminal of a corresponding switch means and further having a second port connected to the row port of the corresponding second end cell; and
memory means coupled to the plurality of shift register means, the memory means for storing data received from the plurality of shift register means and for supplying previously stored data to the plurality of shift register means,wherein each switch means is operationally functional to connect the respective common terminal and first terminal such that data may be sequentially passed in a loop including all cells of the corresponding row and the corresponding shift register means and further operationally functional to connect the respective common terminal and second terminal such that data may be sequentially passed in a loop including all cells of the corresponding row while bypassing the corresponding shift register means.
3 Assignments
0 Petitions
Accused Products
Abstract
A data processor includes an array of a plurality of processing elements haivng ports connected to neighboring elements. Elements at each end of a column have interconnected ports so that data can be sequentially cycled through the column elements. Elements at each end of a row have switchably interconnected ports so that in one mode data can be sequentially cycled through the row elements. The processor further includes a shift register switchably coupled to each row and memory apparatus coupled to the shift registers. The shift registers are switchable such that in a second mode data can be sequentially cycled through the shift registers and the corresponding row elements. The processor also includes an input shuffle matrix for reformatting data for facilitating data storage and recall during processing, thereby increasing overall system throughput. A method includes storing data in bit planes and shifting data a plurality of bit positions before writing the shifted data to memory, thereby further increasing throughput. Data processing may be used for edge detection from an image including a plurality of picture elements (pixels).
-
Citations
17 Claims
-
1. A data processor, comprising:
-
a plurality of cells each including at least two row ports and two column ports for transmitting and receiving data signals, each cell having at least one of the two row ports and two column ports connected to a corresponding row and column port of neighboring cells, each cell further for processing data received by the each cell on the row and column ports; each column having first and second end cells at respective ends of the column and one of the column ports of the first end cell connected to one of the column ports of a corresponding second end cell of the column such that data may be sequentially passed in a loop including all cells of the corresponding column of cells, and each row having a first and second end cell at respective ends of the row; a plurality of switch means each of the switch means having a common terminal connected to a row port of a corresponding first end cell, each switch means further having a first terminal connected to a row port of a corresponding second end cell, each switch means having a second terminal; a plurality of shift register means, each of the shift register means having a first port connected to the second switch terminal of a corresponding switch means and further having a second port connected to the row port of the corresponding second end cell; and memory means coupled to the plurality of shift register means, the memory means for storing data received from the plurality of shift register means and for supplying previously stored data to the plurality of shift register means, wherein each switch means is operationally functional to connect the respective common terminal and first terminal such that data may be sequentially passed in a loop including all cells of the corresponding row and the corresponding shift register means and further operationally functional to connect the respective common terminal and second terminal such that data may be sequentially passed in a loop including all cells of the corresponding row while bypassing the corresponding shift register means. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for processing digital data, comprising:
-
obtaining the digital data to be processed, the digital data including a plurality of data words, each data word having data bits arranged in a predetermined first data bit sequence in response to the place value of the data bits for forming a first data bit format; rearranging the data bits of the data words into a second data bit format, the second data bit format having corresponding data bits with the same place value from the data words grouped together, data bits within each group of data bits having the same place value arranged in a predetermined second data bit sequence in response to the data word of the first data bit format from which the data bit came; storing the data words of the second bit format in bit planes, wherein a data bit plane includes data bits having the same place value of data words having the first data bit format; processing data bits by data bit plane for determining a predetermined first function of the data bits of the data bit plane, the predetermined first function represented by data bits in the second data bit format; reorganizing the data bits of the predetermined first function into data words having the first data bit format, wherein the step of storing includes; supplying the data words of the second bit format to a bit processor array, the bit processor array including a plurality of cells connected to neighboring cells for forming a predetermined number of rows and columns of cells, data bits of the data words of the second bit format supplied to respective columns of cells, the cells including a respective arithmetic logic unit; shifting a predetermined plurality of data bits having at least two different place values of the second bit format in a predetermined direction along the rows of the array in response to a plurality of shift commands; and storing the predetermined plurality of shifted data bits in response to a single write command. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification