WO2000055810A1 - Capteur de vision ultra-rapide - Google Patents
Capteur de vision ultra-rapide Download PDFInfo
- Publication number
- WO2000055810A1 WO2000055810A1 PCT/JP2000/001471 JP0001471W WO0055810A1 WO 2000055810 A1 WO2000055810 A1 WO 2000055810A1 JP 0001471 W JP0001471 W JP 0001471W WO 0055810 A1 WO0055810 A1 WO 0055810A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- arithmetic
- processing
- row
- transfer
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 263
- 238000012546 transfer Methods 0.000 claims abstract description 189
- 239000000872 buffer Substances 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims description 85
- 230000007246 mechanism Effects 0.000 claims description 45
- 230000000007 visual effect Effects 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 description 99
- 238000000034 method Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 45
- 230000006870 function Effects 0.000 description 29
- 238000006243 chemical reaction Methods 0.000 description 22
- 230000005484 gravity Effects 0.000 description 20
- 230000010354 integration Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 210000003128 head Anatomy 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 1
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 1
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 1
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- MYWUZJCMWCOHBA-VIFPVBQESA-N methamphetamine Chemical compound CN[C@@H](C)CC1=CC=CC=C1 MYWUZJCMWCOHBA-VIFPVBQESA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/78—Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
- H04N25/75—Circuitry for providing, modifying or processing image signals from the pixel array
Definitions
- the present invention relates to a high-speed vision sensor device having an image processing function.
- high-speed image processing is required.
- the actuator can be controlled in milliseconds.
- the image processing speed is limited to the video frame rate, so it can only operate at a low speed in accordance with the image processing speed, and the performance of the mouth pot has not been fully utilized.
- some high-speed CCD cameras can capture an image in about 1 millisecond, but these are mechanisms that store the captured image in memory and read it out later for processing. Although it can be used for applications such as image analysis, it has almost no real-time characteristics and could not be used for applications such as mouth pot control.
- the present invention provides a high-speed visual sensor with a large number of pixels capable of processing basic image operations at high speed with a simple circuit configuration. It is an object to provide a satellite device.
- a high-speed vision sensor device includes a light-receiving element array in which a plurality of light-receiving elements are two-dimensionally arranged in a plurality of rows and columns, and a plurality of AZD converters.
- the AZD converters are arranged in a one-dimensional manner in a one-to-one correspondence with the plurality of rows of the light receiving element array, and each AZD converter sequentially reads output signals from the light receiving elements in the corresponding one row.
- An AZD converter array that performs analog-to-digital conversion of the data and a plurality of arithmetic elements are two-dimensionally arranged in a plurality of rows and columns corresponding to the plurality of light receiving elements of the light receiving element array.
- a parallel processing mechanism composed of a parallel processing element array in which each processing element performs a predetermined operation on the digital signal transferred from the AZD converter array; and a plurality of data lines for column direction data transfer are the parallel processing mechanism. Each row has a one-to-one correspondence.
- a data transfer data line is provided in one-to-one correspondence with each row of the parallel processing mechanism, and each row-direction data transfer data line connects a plurality of arithmetic elements existing in a corresponding row to the corresponding row.
- a row direction data transfer bus for performing data transfer with each arithmetic element in a row, the light receiving element array, the A / D converter array, the parallel processing mechanism, the column direction data transfer bus, and A control circuit for controlling the row direction data transfer bus.
- the arithmetic elements are provided in one-to-one correspondence with the light receiving elements, image processing operations can be performed at high speed by parallel processing.
- Providing an AZD converter for each row also has the advantage of reducing the number of transmission paths.
- a dedicated data bus is provided for each processing element in the row and column directions. Because of this arrangement, various image processing operations can be performed, and therefore, flexible processing capability can be achieved while maintaining an architecture suitable for semiconductor integration.
- the control circuit causes each column-directional data transfer data line to transfer the position information of the corresponding column to the arithmetic element of the corresponding column, and to respond to each row-direction data transfer data line.
- the position information of the row to be transferred is transferred to the arithmetic element of the corresponding row, and a predetermined center of gravity operation is performed on the digital signal for each arithmetic element based on the position information of the corresponding row and column transferred overnight.
- dedicated data buses are arranged in the row and column directions, so that the position information required for the center-of-gravity calculation, which is the basic calculation of image processing, can be efficiently transferred with a small data transfer system. Can be.
- the control circuit transmits predetermined arithmetic control data to each of the data line for data transfer for each column direction and the data line for each data transfer for each row direction, thereby providing a predetermined arithmetic element with data.
- a predetermined element operation control unit for performing a predetermined operation on the digital signal. In this case, it is possible to cause each arithmetic element to execute different arithmetic processing.
- control circuit transmits a predetermined arithmetic control data to each of the column-direction data transfer data lines and each of the row-direction data transfer data lines, so that the arithmetic elements of the corresponding rows and columns are transferred.
- a data transfer control unit for transferring the operation result data of the above to the control circuit.
- the operation result of a specific operation element can be transferred to the control circuit.
- a parallel processing mechanism is further provided, and a plurality of transfer shift registers are arranged in a one-to-one correspondence with a plurality of A / D converters and a plurality of operation element rows.
- a transfer register array for sequentially transferring digital signals output from the AZD converter and corresponding to the output signals of the light receiving elements belonging to the corresponding light receiving element row to predetermined arithmetic elements belonging to the corresponding row. Is preferred.
- FIG. 1 is a block diagram of a high-speed vision sensor device according to an embodiment of the present invention.
- FIG. 2 is a schematic configuration diagram of a high-speed vision sensor device according to the embodiment.
- FIG. 3 is a configuration block diagram of a control circuit included in the high-speed vision sensor device according to the embodiment.
- FIG. 4 is a circuit configuration diagram of a light receiving element array and an A / D converter array included in the high-speed vision sensor device according to the embodiment.
- FIG. 5 is a detailed circuit configuration diagram of an integration circuit provided in the AZD converter array of FIG.
- FIG. 6 is a block diagram of an arithmetic element and a transfer shift register included in the high-speed vision sensor device according to the embodiment.
- FIG. 7 (A) is a circuit diagram of a register matrix included in the arithmetic element of FIG.
- FIG. 7 (B) is a control timing chart of the arithmetic element in FIG.
- FIG. 8 is an operation flowchart of the high-speed vision sensor device according to the embodiment.
- FIG. 9 is an operation flow chart of the center-of-gravity calculation processing step as an example of the step S110 in FIG.
- FIG. 10 (A) is an operation flowchart of the image intensity sum calculation processing step of the centroid calculation processing step of FIG.
- FIG. 10 (B) is an operation flow chart of the sum calculation processing step of the image intensity sum calculation processing step of FIG. 10 (A).
- FIG. 10 (C) is an operation flowchart of a pixel selection processing step in the image intensity sum calculation processing step of FIG. 10 (A).
- FIG. 11 is an operation flowchart of an X-direction coordinate calculation processing step of the center-of-gravity calculation processing step of FIG.
- FIG. 12 is an operation flowchart of the y-direction coordinate calculation processing step of the center-of-gravity calculation processing step of FIG.
- FIG. 13 is an operation flowchart of a desired position calculation processing step as an example of the step S110 in FIG.
- FIG. 14 is an operation flowchart of an operation-extraction process as an example of the process S110 in FIG.
- FIG. 15 is an operation flowchart of an image search processing step as an example of step S110 in FIG.
- FIG. 16 is an operation flowchart of an edge extraction processing step as an example of a pre-process performed in step S110 in FIG.
- FIG. 17 is a block diagram of a modified example of the high-speed vision sensor device according to the present invention.
- FIG. 18 is a block diagram of another modification of the high-speed vision sensor device according to the present invention.
- a high-speed vision sensor device according to an embodiment of the present invention will be described with reference to FIGS. 1 to 16.
- FIG. 1 is a block diagram of a high-speed vision sensor device 10 according to the present embodiment.
- FIG. 2 shows a configuration example of the sensor device 10.
- the high-speed vision sensor device 10 of the present embodiment includes a light-receiving element array 11, an AZD converter array 13, a parallel processing mechanism 14, a control circuit 15, a X-direction data bus 17 and a y-direction data It is composed of an overnight bus 18, an X-direction data buffer 19 and a y-direction data buffer 20, an instruction Z command bus 16, and an output bus 15 55 (FIG. 6) to be described later.
- N1 ⁇ N2 light receiving elements 120 are arranged two-dimensionally (ie, Nl columns ⁇ N2 rows).
- the light-receiving element array 11 has N horizontal light-receiving sections 110 each composed of N 1 light-receiving elements 120 arranged in the horizontal direction (X direction). They are arranged in a perpendicular direction (y direction).
- AZD converter array 13 has N 2 AZD converters 2 1 0 in one dimension (Vertical direction (y direction)).
- the N 2 A / D converters 210 correspond one-to-one to the N 2 horizontal light receiving units 110 in the light receiving element array 11, and the corresponding horizontal light receiving units 1 10 This is for sequentially converting the electric charge output from the light receiving element 120 belonging to the above into a voltage signal and further performing AZD conversion.
- N 1 x N 2 processing elements (PEs) 400 are two-dimensionally arranged in a one-to-one correspondence with the light receiving elements 120. That is, there is provided an arithmetic element array 40 arranged and arranged in (N 1 column ⁇ N 2 rows).
- the operation element array 40 is provided with N2 transfer shift register lines (image transfer shift register lines) 420 corresponding to the N2 operation element rows in a one-to-one correspondence. ing.
- Each transfer shift register line 420 is connected in series with N 1 transfer shift register (image transfer shift register) 4 10 which is equal to the number (N 1) of arithmetic elements 400 in the corresponding row. It is configured.
- Each transfer shift register 410 is connected to a corresponding arithmetic element 400 in a corresponding row.
- the control circuit 15 is for transmitting a command signal, data, and the like to the entire circuit of the sensor device 10 for control.
- the X-direction data bus 17 is connected to the arithmetic element 400 of each column and transfers data to the arithmetic element 400 of each column.
- the y-direction data bus 18 is connected to the arithmetic element 400 for each row and transfers data to the arithmetic element 400 for each row.
- the X-direction data buffer 19 is connected to the X-direction data bus 17 and the control circuit 15, and the y-direction data buffer 20 is connected to the y-direction data bus 18 and the control circuit 15. It is connected.
- the X-direction data bus 17 is connected to the control circuit 15 via the X-direction data buffer 19, and the y-direction data bus 18 is connected to the control circuit via the y-direction data buffer 20.
- the command bus 16 is for sending a signal from the control circuit 15 to the light receiving element array 11, the A / D converter array 13 and the parallel processing mechanism 14.
- the control circuit 15 is further connected to all the processing elements 400 via a single output bus 155. Since the present sensor device 10 has the above configuration, the parallel processing mechanism 14 and the light receiving element array 11 can be connected by N 2 data lines. Therefore, as shown in FIG.
- the light-receiving element array 11 and the parallel processing mechanism 14 are formed on separate substrates so that the operation of each can be confirmed. Is possible. In addition, by forming the light receiving element array 11 and the parallel processing mechanism 14 on separate substrates as described above, both can be highly integrated, and the respective devices can be integrated. Stable production is also possible because processing steps that match the characteristics can be adopted.
- the data buses 17 and 18 and the data buffers 19 and 20 in the X direction and the y direction may be formed on the same substrate as the parallel processing mechanism 14 as shown in FIG. May be formed on the same substrate. When integrated as one, it is easy to increase the data transfer speed between the data buffers 19 and 20 and the arithmetic element 400, which is particularly preferable. In addition, since all the components of the sensor device 10 can be formed by a CMOS process, all the components can be integrated into one chip, which can lead to a significant cost reduction. .
- FIG. 3 is a configuration block diagram of the control circuit 15.
- the control circuit 15 is composed of a CPU 150, a memory 151, an image capture control unit 300 (Fig. 4), and an external input / output interface 152 connected by a bus 153. Have been.
- Memory 15 1 is executed by CPU 150
- a visual sensor processing program (FIG. 8) described later and an image processing step (S110 in FIG. 8) in the visual sensor processing program for controlling the image parallel processing of the parallel processing mechanism 14
- Programs (for example, FIGS. 9 to 12, FIG. 13, FIG. 14, FIG. 15, and FIG. 16) are stored. These visual sensor processing programs and image processing programs are written from an external device (for example, an external computer) 1 000 into the memory 15 1 via the input / output interface 152.
- the bus 153 includes a command bus and a data bus (not shown), and is connected to the instruction / command bus 16 and the data buffers 19 and 20 in FIG. 1 and the output bus 155 in FIG. It is connected.
- the CPU 150 controls the light-receiving element array 11 and the AZD converter array 13 via the image capture control unit 300, based on the visual sensor processing program (FIG. 8) in the memory 151, and , And controls the parallel processing mechanism 14. More specifically, the CPU 150 controls the image capture control unit 300 (FIG. 4) (S 101 in FIG. 8), and the light receiving element array 11 and the A / A
- the CPU 150 also controls the data transfer by the transfer shift register 410 in the parallel processing mechanism 14 and the calculation by the arithmetic element 400 (S102 to S104, S104 in FIG. 8). 1 1 0) Then, S ⁇ MD (single instruction ana multi data stream) type parallel operation processing is performed. The CPU 150 further performs necessary operations during the execution of the parallel operation processing of the parallel processing mechanism 14, and performs necessary operations and determination operations based on the processing results by the parallel processing mechanism 14. The CPU 150 further communicates with an external computer, which is an external device, and controls another external device, which is an external device, via an input / output interface. Or For example, the CPU 150 outputs the obtained calculation result to an external computer, or outputs the calculation result based on the calculation result. And control the club actuyue.
- FIG. 4 the configurations of the light receiving element array 11 and the AZD converter array 13 as an image capturing unit will be described in detail with reference to FIGS. 4 and 5.
- FIG. 4 the configurations of the light receiving element array 11 and the AZD converter array 13 as an image capturing unit will be described in detail with reference to FIGS. 4 and 5.
- the light-receiving element array 11 functions as a light-receiving unit for detecting light
- the A / D converter array 13 converts the output signal from the light-receiving unit 11 into a current-to-voltage signal. It functions as a signal processing unit for processing.
- the image capture control unit 300 of the control circuit 15 is connected to the light receiving element array 11 and the AZD converter array 13, and operates to the light receiving unit 11 and the signal processing unit 13. It functions as an evening control section for notifying an instruction signal.
- each light-receiving element 120 includes a photoelectric conversion element 130 that generates an electric charge according to the input light intensity, and a photoelectric conversion element 130.
- N 1 light receiving elements 120 are arranged along the horizontal direction (X direction), and switch elements 140 of each light receiving element 120 are electrically connected to form a horizontal light receiving section 110.
- Each AZD converter 210 j comprises three circuits: an integration circuit 220j including a charge amplifier 22; a comparison circuit 230 ; and a capacity control mechanism 240 ; .
- the integration circuit 220 "receives the output signal from the horizontal light receiving section 110] as an input, amplifies the charge of the input signal, and a charge amplifier 222 and an input terminal of the charge amplifier 222. are connected, and a variable capacitance part 2 2 2 j the other end is connected to the output terminal, one end is connected to the input terminal of the charge amplifier 2 2 1 ⁇ , the other end is connected to the output terminal switch Element 2 2 3 ; Switch element 2 2 3 is made ON, the OF F state in response to a reset signal R from the image capture control unit 3 0 0, the integration of the integrating circuit 2 2 0 J, is used to switch the non-integral operation.
- FIG. 5 is a detailed configuration diagram of the integration circuit 220. This figure shows an example of an integrator circuit having an AZD conversion function having a resolution of 4 bits, that is, 16 gray scales.
- the variable capacitors 2 2 2 are composed of the capacitors C 1 to C 4 having one terminal connected to the input terminal of the output signal from the horizontal light receiving unit 110 of the charge amplifier 2 21, and the capacitors C 1 to C 4 connected to the output terminal of the charge amplifier 2 21 and the output terminal of the charge amplifier 2, and a switch element SW 11 1 to SW 14 that opens and closes in response to a capacitance indication signal (: ⁇ to j ⁇ ); one terminal is connected between the 1 through C 4 and Suitsuchi element SW 1 1 ⁇ SW 1 4, the other terminal connected to the GND level, to open and close in accordance with the capacity command signal C 21 -C 24 Suitsuchi It consists of the elements SW21 to SW24 4.
- Comparison circuit 2 3 0j is the value of the output integrated signal V s from the integration circuit 2 2 0 J is compared with a reference value V REF, and outputs a comparison result signal V c.
- Capacity control mechanism 240j are both the outputs of the capacitance instruction signal C for notifying the value of the comparison result signal V c to the variable capacitance section 2 2 2 of the integrating circuit 2 2 0 3, a digital signal corresponding to the capacitance instruction signal C D Outputs 1.
- the image capturing units 11 and 13 having the above configuration are controlled in image capturing timing by an image capturing control unit 300 in the control circuit 15.
- the image capturing control unit 300 is composed of a basic timing unit 310 that generates basic timing for performing clock control of all the circuits 11 and 13 and a basic timing unit 310. It is composed of a horizontal shift register 320 for generating a horizontal scanning signal according to the notified horizontal scanning instruction, and a control signal section 340 for generating a reset instruction signal R.
- the controller 15 outputs the transfer start signal to each shift register 410 and outputs it to j, thereby transferring the data from the AZD converter array 13 to the required arithmetic element 400 position.
- the parallel processing mechanism 14 has N 1 x N 2 light receiving elements 1 2 0
- a controller 15 is connected to each of the arithmetic elements 400 and j via an instruction Z command bus 16 and controls arithmetic processing in the arithmetic element 400. .
- all the arithmetic elements 400 are connected to a single output bus 155.
- the output bus 155 is composed of a single 1-bit signal line. Since the output bus 155 is connected to all the arithmetic elements 400, a wired-R circuit (OR) for communicating the OR logical operation result of the output of all the arithmetic elements 400 to the control circuit 15 is provided. OR circuit). For this reason, the control circuit 15 can receive the output signals of all the arithmetic elements 400 after collecting them, and can receive the output signals at high speed without using scan. Can be killed.
- the X-direction data bus 17 and the y-direction data bus 18 include, for example, a one-way data bus having only a data transfer function from the control circuit 15 to the arithmetic element 400 and having only a Z write function. Can be used.
- the X-direction data bus 17 is composed of a plurality of (in this case, N 1) 1-bit data lines 170 0 i (1 ⁇ i ⁇ N 1). Each 1-bit data line 170 0 i is connected to a total of N 2 arithmetic elements 400 (i, j) (1 ⁇ j ⁇ N 2) located in the corresponding arithmetic element row i. Each 1-bit data line 170 0 i is also connected to a control circuit 15 via an X-direction data buffer 19. With such a configuration, each 1-bit data line 170 0 i receives the data from the control circuit 15 via the X-direction data buffer 19, and outputs each operation element 4 located in the corresponding column i. 0 0 (i, j).
- the y-direction data bus 18 is composed of a plurality of (in this case, N 2) 1-bit data lines 180 j (1 ⁇ j ⁇ N 2). Each one-bit data line 180 j is connected to all N 1 arithmetic elements 400 (i, j) (1 ⁇ i ⁇ N 1) located in the corresponding arithmetic element row j . Each 1-bit data line 180 i is also connected to a control circuit 15 via a y-direction data buffer 20. With such a configuration, each 1-bit data line 180 i transmits data from the control circuit 15 via the y-direction buffer 20 to each of the arithmetic elements 4 located in the corresponding row j. 0 0 (i, j).
- the arithmetic element 400 has a structure that performs SIMD parallel processing in which each element is controlled by a common control signal, reducing the number of transistors per element and increasing the integration of the parallel processing mechanism 14. As a result, the number of elements can be increased.
- the arithmetic element 400 is composed of a 4 ⁇ 8-bit randomly accessible 1-bit shift register matrix 401, an A-latch 402, a B-latch 403, and an arithmetic logic unit. (ALU) 404.
- the register matrix 401 is for data retention and input / output.
- the resist matrix 410 is for receiving and receiving a digital signal D1 corresponding to the output signal of the corresponding light receiving element 120 from the shift register 410.
- the resist matrix 401 is also directly connected to the resist matrix 401 in the four adjacent arithmetic elements 400, and can also accommodate the digital signals contained therein.
- the register matrix 40 1 further includes a corresponding X-direction data line 170 0 i of the X-direction bus 17 and a corresponding y-direction data line 1 of the y-direction bus 18. It is connected to 80 j so that data can be transferred using both data buses.
- ALU404 is for performing a sequential bit serial operation in which the lower bit is sequentially operated one bit at a time.
- the A latch 402 and the B latch 403 are for accommodating the signals held in the register matrix 401 and for providing the arithmetic operation in the ALU 404.
- the A-latch 402 and the B-latch 403 each read data from any register in the register matrix 401, and the ALU 404 stores the data. Calculation is performed based on The result of the operation is written again to any register in the register matrix 401. The arithmetic element 400 repeats this operation as one cycle. Thus, various operations can be performed.
- the ALU404 is a 1-bit arithmetic unit that has arithmetic functions such as AND (AND), OR (OR), exclusive OR (XOR), addition (ADD), and addition with carry. are doing. Only one bit operation can be performed at a time, and multi-bit operations are performed by performing serial operations one bit at a time. Since complex calculations can be described as a combination of the above calculation functions, complex calculations can be realized by having the ALU404 repeatedly perform calculations while selecting each of the above calculation functions one by one. I have. For example, since multiplication can be described as a combination of addition, it is realized by repeating the addition a plurality of times. Subtraction can be realized by inverting the number to be subtracted and adding 1 to make it a negative number, and then adding this.
- Division is realized by, for example, setting the number to be divided to 8, 4, or 2 and shifting the bits (for example, if the number to be divided is 8, the bits are shifted three bits to the right). Furthermore, to find the absolute value, sign inversion is applied to a negative number (sign bit is 1), that is, bit inversion is performed and 1 is added.
- the register matrix 401 is composed of 24 randomly accessible register bits 4010 that can be accessed at random. It has a configuration in which eight function registers 4012 are arranged, and these are all treated as one address space.
- the number described in each register 4010 and 4012 indicates an address assigned to the corresponding registry. Specifically, addresses "0" to "23" are allocated to 24 registers 4010, and addresses "24" to "31” are allocated to 8 function registers 4012. I have. With such a configuration, input / output data can be accessed in the same manner as reading / writing data in a register.
- the register matrix 401 further includes one OR circuit 4104 connected to these 32 registers 400101 and 41012.
- the registers 410 and 4012 are all connected to the A latch 402 and the B latch 403 via the OR circuit 410. If one of the addresses in the register register is selected, only the selected register outputs its contents, and all registers that are not selected output a zero. The result of the OR operation of all the registers is output to the A latch 402 or the B latch 403 as the output of the entire register matrix 401.
- the function register is used mainly for input and output. Specifically, the function register 410 of address "29" is connected to the corresponding transfer shift register 410, and is used for input from the transfer shift register 410. .
- the function register 4102 at address “2 4" is used to output the arithmetic elements 400 near the top, bottom, left, and right to the register matrix 401.
- the function registers 4 0 1 2 at addresses “2 4” to “2 7” are respectively obtained from the register matrix 4 0 1 of the corresponding one of the 4 adjacent operation elements 4 0 0.
- the function register 4102 at address "28” is connected to the output bus 155 and is used as an output address to the control circuit 15.
- the address “2 8” of the register matrix 401 of all the arithmetic elements 400 (i, j) is connected to the single output bus 155.
- the function register 4 0 1 2 of the address “3 0” is connected to the corresponding y-direction data line 18 0 j in the y-direction data bus 18, and the corresponding y-direction data line 18 0 j Used to input data from
- the function register 401 of address “3 1” is connected to the corresponding X-direction data line 170 0 i in the X-direction data bus 17. 1 7 Used to input data from 0i.
- the function register 4012 at address "28” always reads "0" when reading.
- the control circuit 15 controls the access to the register matrix 401 and the arithmetic processing of the ALU 404, thereby controlling all arithmetic and input / output processing in the arithmetic element 400. For example, if you want to write the input from the transfer shift register 410 to the address “0” of the register matrix 401, use 0 (Register address “28”) and the sensor input (Register address “2 9”). The instruction to write to the register address “0” by ORing is output to the arithmetic element 400. As shown in Fig. 7 (B), the control circuit 15 sets four cycles of the basic clock CLK as one cycle, during which various clocks CLK2 and CLK4 are supplied while reading the A latch, Read the latch and write the operation result in order. By repeating such processing a plurality of cycles, necessary input / output to the register matrix 401 and calculation by the ALU 404 are performed.
- the image capture control unit 300 sets the reset signal R to a valid state, sets all of SW11 to SW14 of the variable capacitance unit 222 shown in FIG. 5 to “ON”, and sets SW2:! To SW24 to “OF F State.
- the capacitance between the input terminal and output terminal of the charge amplifier 221 becomes C.
- all the switch elements 140 shown in FIG. 4 are set to the “ ⁇ FF” state, and the horizontal scanning signal Vi is set to a state in which none of the light receiving elements 120 ⁇ is selected. From this state, the reset instruction signal R is set to non-significant, and the integration operation in each integration circuit 220 is started.
- the horizontal scanning signal V in which only the switch element 140 of the first light receiving element 120 in each of the N2 horizontal light receiving sections 110j shown in FIG. Is output.
- the switch element is turned “ON”, the charges Q, accumulated in the photoelectric conversion element 130 by the light reception up to that time are output from the light receiving section 11 as a current signal. That is, a signal of the photoelectric conversion element can be read.
- the charge is the capacitance value C. Flows into the variable capacity section 222 set to.
- the capacity control mechanism 240 opens SW12 to SW14 and then closes SW22 to SW24. As a result, the integral signal V s becomes
- Integrated signal V s is to enter the comparator circuit 2 30, it is compared with the reference voltage V REF.
- the difference between V s and V REF is equal to or less than the resolution range, that is, equal to or less than soil (C 4 Z 2), it is considered that they match, and the integration operation is terminated without further capacitance control. If they do not match within the range of the resolution, control the capacity further and continue the integration operation. For example, if V S > V REF , the capacity control mechanism 240 opens SW22 and then closes SW12. As a result, the integral signal V s becomes
- V s Q / + C 2 )
- This integration signal V s is input to a subsequent comparison circuit 230 (FIG. 4) and is compared with a reference voltage value V REF .
- V S V REF
- the capacity control mechanism 240 opens SW 11 and SW 22, and then closes SW 12 and SW 21.
- This integral signal V s is issued sent to the subsequent comparison circuit 2 30, it is compared with the reference voltage V REF. Thereafter, in the same manner, the comparison and capacitance setting are performed by the feedback loop of the integrating circuit 220 ⁇ the comparing circuit 230—the capacity control mechanism 240 ⁇ the integrating circuit 220 until the integrated signal Vs matches the reference voltage value V REF within the resolution range. (SW11 to SW14 and SW2;! To SW24 ONZO FF control) are sequentially repeated.
- the capacitance indication signal indicating the ON Z ⁇ FF state of SW11 to SW14 at the end of the integration operation (the value of ⁇ to j is a digital signal corresponding to the charge value, and the most significant bit (MSB)
- MSB most significant bit
- LSB least significant bit
- a / D conversion is performed, and these values are output to the arithmetic element array 14 as digital signals D1.
- each bit value of the digital signal D1 is determined one bit at a time from the MSB side to the LSB side.
- the reset signal R is determined to be significant, and is again determined to be non-significant, and the capacitance of the variable capacitance unit 222 '' is determined.
- the switch element 140 of the second light receiving element 1 20 2 j of the horizontal light receiving portions 1 1 Oj outputs horizontal scanning signal V 2 to "oN", similar to the above operation
- the second The photoelectric output of the light receiving element 120 is read, and a digital signal corresponding to this is transmitted.
- the photoelectric output of all the light receiving elements 120 is read, and the corresponding digital signal is output to the parallel processing mechanism 14.
- the A / D-converted digital signal is sent to the register matrix 401 of the arithmetic elements 400 j corresponding to the respective light receiving elements 120 j via the transfer shift register 410.
- This transfer is performed by sequentially transferring the signals stored in the transfer shift register 410 to the transfer shift register 410 of the next pixel in the corresponding transfer shift register line 420.
- transfer processing in the transfer shift register can be performed independently of the arithmetic processing in the arithmetic element 400. Therefore, while the processing operation is being performed in the arithmetic element 400, pipeline-like processing for transferring the next data to the transfer shift register 410 becomes possible. Calculation processing at a high frame rate becomes possible.
- the transfer shift register 410 starts the transfer of the AZD-converted data based on the transfer start signal from the control circuit 15, and performs a bit shift by (the number of elements in the row direction X an analog level). After performing the data transfer, a signal of “data transfer completed” is sent back to the control circuit 15 so that efficient transfer can be performed.
- a signal of “data transfer completed” is sent back to the control circuit 15 so that efficient transfer can be performed.
- the image processing operation inside the arithmetic element 400 is as follows.
- the signals contained in the respective registry matrix 401 are transferred between the arithmetic elements 400, and the X-direction data buses 17 and y are transferred.
- the signals necessary for the operation are transferred from the register matrix 401 to the A latches 402 and B.
- the data is read out to the latch 403, a predetermined operation is performed by the ALU 404, and the calculation result is output to the control circuit 15 via the register matrix 401 and the output bus 155.
- the control circuit 15 outputs the calculation result of the parallel processing mechanism 14 to an external computer 1000 as an external device and other external devices. For example, the calculation result is used as an on / off signal of an external device.
- the control circuit 15 may perform a necessary operation based on the calculation result of the parallel processing mechanism 14 and then output the operation result to the external circuit 1000.
- the CPU 150 of the control circuit 15 controls the image capture control unit 300 (FIG. 4) to sequentially switch the reset signal R between the positive Z non-positive and the horizontal synchronizing signal V i, thereby providing the light receiving element.
- the image data output from each light receiving element 120 (hereinafter, referred to as light receiving element 120 (x, y)) (frame data: I (x, y)) are sequentially input to the parallel processing mechanism 14 via the corresponding AZD converter 210j (S101).
- the transmitted data is transferred one after another by the corresponding transfer shift register 410 in each row j (S102). This transfer processing is performed until data is transferred to the transfer shift register 410,... At the position (i, j) (hereinafter, referred to as (x, y)) corresponding to the light receiving element 120. Continue (S103). When the transfer is completed, the data I of the pixel is transferred from the transfer shift register 410 to the register matrix 401 of the corresponding operation element 400 (hereinafter referred to as operation element 400 (x, y)). (x, y) is transferred (S104). Specifically, as shown in FIG.
- the data is sequentially transferred one bit at a time from a transfer shift register 410 composed of a plurality of bits (in this case, 4 bits) to a register matrix 401. Is stored.
- S110 necessary parallel arithmetic processing is performed by controlling each arithmetic element 400.
- the transfer shift register 410 When the transfer shift register 410 completes the data transfer to each processing element 400, it controls each processing element 400 and performs the parallel operation processing of S110 to perform the next frame. Move to the processing (S105), execute S101 to S103, control the light receiving element array 11, the AZD converter array 13 and the transfer shift register 4 10 The input Z transfer operation of the next frame is performed. On the other hand, in the parallel arithmetic processing using each arithmetic element 400, when the processing of one frame (S110) ends, the processing shifts to the processing of the next frame (S106), and the image data of the next frame is processed.
- operation data or operation control data can be supplied to each operation element at high speed from outside via the X-direction data bus 17 and the y-direction data bus 18. Therefore, even when performing an arithmetic process that requires data other than image information in each arithmetic element 400 at the time of the arithmetic operation of S110, an extremely high-speed arithmetic operation can be performed.
- the image processing step (S110) when performing the "center of gravity calculation" that requires the position information data, this position information is supplied as external data to perform the center of gravity calculation process.
- the operation when the center-of-gravity calculation processing is executed in the image processing step (S110) will be described in detail.
- the memory 15 1 of the control circuit 15 stores X-direction position information (hereinafter simply referred to as “x address”) and y-direction position information (hereinafter simply referred to as “y address”) of each pixel. Is stored in advance. Specifically, binary data indicating values of "1" to “N1” is stored as an X address, and binary data indicating values of "1" to “N2” is stored as a y address. Evening is stored.
- the gravity center calculation is a calculation based on the calculation of the weighted sum in each of the X direction and the y direction.
- the barycentric coordinates Gc can be obtained by the following formula (1), where I (x, y) is the intensity of the image at each pixel position (x, y) on the image.
- the position information in the X direction of the image is multiplied by the image intensity I (x, y) to obtain the x-direction moment xI (x, y).
- Obtain the X coordinate of the center of gravity by dividing the sum of the X-direction moments obtained by adding the X-direction moments ⁇ XI (x, y) by the total image intensity ⁇ I (x, y).
- the image intensity sum ⁇ I (x, y) can be obtained by adding the image intensities of all the pixels.
- the position information in the y-direction of the image is multiplied by the image intensity I (x, y) to obtain a y-direction moment yI (x, y). It is obtained by dividing the sum of the y-direction moments ⁇ y ⁇ I (x, y) obtained by adding the y-direction moments of all pixels by the total image intensity ⁇ I (x, y).
- the center of gravity calculation processing (S300) as shown in FIG. 9 may be performed in the image processing step S110 (FIG. 8).
- the center-of-gravity calculation processing (S 300) first, the image intensity sum ⁇ I (x, y) is calculated in S 350, then the X coordinate of the center of gravity is calculated in S 400, At 500, find the y-coordinate of the center of gravity.
- the image data I (x, y) of each pixel of the input image D is already transferred for transfer at S104 (Fig. 8).
- the data is transferred from the shift register 410 to the register matrix 401 of each arithmetic element 400 (x, y) and stored in a certain area of the register matrix 401.
- the CPU 150 first performs a sum calculation process for obtaining the sum of the image intensity values I (x, y) in S360.
- the target data for which the sum is to be obtained (in this case, the image data I (x, y)) is read from the register matrix 401 into the A latch 402 (S1002). That is, the data of I (x, y) stored in the register matrix 401 is transferred to the A latch 402 from the lower bits.
- each processing element 400 (X, y) is stored in the processing element 400 (x + 1, y) located at the pixel position (x + 1, y) adjacent in the X direction.
- the evening (in this case, the image data I (x + 1, y)) is transferred to the register matrix 401 of the processing element 400 (x, y) by the transfer between the register matrix 401 and stored (S 1 00 4).
- the image data stored in the adjacent pixel is transferred to a vacant area.
- the destination data (image data I (x + 1, y)) of the transferred adjacent pixel (x + 1, y) is read into the B latch 403 (S1 006), and the A latch 402 and the B latch The value of 403 is added (S 1 008), and the addition result is stored in the A latch 402 (S 1 0 1 2) via the register matrix 401 (S 1 0 1 2).
- the sum of the target data for two pixels in this case, the image data I (x, y) and I (x + l, y)
- each arithmetic element 400 (X, y) pixel position adjacent to the eye (x + n, y) (where, n 2 in this case, n S 1?) of the processing element 400 (x + 2, y) to the result calculated currently yield capacity (this In this case, the arithmetic element 400 (x, y) is obtained by repeating I (x + 2, y) + I (x + 3, y)) twice between the register matrix 401 adjacent in the X direction. And store it in (S1018).
- each pixel 400 (x, y) has image data I (x, y), I (x + l, y), I (x + 2, y), I (x + 3 y) will be stored.
- Arithmetic element By repeating the transfer of the calculation result data (addition result of image data) currently stored in 400 to the registration matrix 401 adjacent in the X direction n times (in this case, four times), the arithmetic element The data is transferred to 400 (x, y), read into the B latch 403 (S1 020), and the same addition is performed (S102 to S102).
- the operation result of the adjacent pixel (x, y + 1) is read into the B latch 403 (S1036), the values of the A latch 402 and the B latch 403 are added (S1038), and the addition result is obtained.
- the arithmetic element 400 (1, y) at the beginning of each row has the sum of the arithmetic results of the two rows. Will be stored.
- each arithmetic element 400 (x, y) is accommodated in the arithmetic element 400 at the position (x, y + m) (m ⁇ 2j ; in this case, the position (x, y + 2)).
- the result of the addition is transferred to the arithmetic element 400 (X, y) by repeating the transfer between the adjacent registration matrixes 401 twice (S1034), and read into the B latch 403 ( S1036), and perform the same addition (S1038 ⁇
- the pixel selection processing (S 1) for selecting the target pixel position (X 1, y 1) (in this case, the first pixel position (1, 1))
- the CPU 150 first In the x-direction data bus 17, the X-direction data line 170 0 i corresponding to the X address position X 1 of the target pixel position (X 1, y 1) to be selected (hereinafter referred to as “x direction Data line (170x) ”, and transfer data (0) to all remaining X-direction data lines (170x).
- the CPU 150 sets the y-direction data line 1 corresponding to the y-address position y1 of the target pixel position (xl, y1) in the y-direction data bus 18.
- the data (1) is transferred to 80 j (hereinafter referred to as “y-direction data line 180 y”), and the data (0) is transferred to all remaining y-direction data lines 180 y. Forward.
- each arithmetic element 400 (x, y)
- the value of the A latch 402 and the value of the B latch 403 are multiplied by the ALU 404 (S1114), and the operation result is stored in the register matrix 401. Yes (S 1 1 1 6).
- the multiplication result 1 is set only for the arithmetic element 400 (xl, y1) at the target address (X1, y1) (in this case, the first arithmetic element 400 (1, 1)).
- the multiplication result 0 is set.
- the pixel selection processing (S370) ends.
- the output bus 155 transfers the image intensity sum ⁇ I (x, y), which is the result of the 0 R logical operation of the operation results from all the operation elements 400 to the control circuit 15 .
- the CPU 150 stores the received total image intensity ⁇ I (X, y) in the memory 151.
- the CPU 150 reads the X-direction position information (X address data “X”) of each pixel, which is data necessary for the center of gravity calculation, from the memory 151, Transfer to arithmetic element 400.
- each X address data "X” is temporarily stored in the X direction data buffer 19, and the corresponding data line 170X of the X direction data bus 1 is used. This is done by transferring the lower bits, bit by bit, one bit at a time.
- the X address data “X” of the pixel connected to each X direction data line 170 X of the X direction data bus 17 is equal to each other, and is one of 1 to N1. Is the binary data of the value of.
- each data line 170 X the binary data of the corresponding X address “X” is transferred by 1 og 2 (N 1) bits in order from the lower order bit, thereby obtaining the corresponding X address. It can be transferred to all arithmetic elements 400 (x, y).
- each arithmetic element 400 (x, y), the transferred X address data "X" is stored in its register matrix 401 (S404).
- the data is read from the second bit into the B latch 403 (S406).
- the image data I (x, y) is read from the resist matrix 401 into the A latch 402 again (S408).
- the ALU 404 multiplies the value of the A latch 402 and the value of the B latch 403 (S410), and the X direction moment value ( ⁇ ⁇ ⁇ (x, y)), which is the operation result, is stored in the register matrix. (S4 1 2).
- the summation processing described with reference to FIG. 10 (B) is performed using the X-direction moment value ( ⁇ ⁇ I (x, y)) as the target data.
- the X-direction moment value (X ⁇ I (x, y)), which is the target data to be summed, is obtained from the resist matrix A Transfer to 402.
- the x-direction model of the arithmetic element 400 (X + 1, y) at the position (x + 1, y) adjacent to the arithmetic element 400 (x, y) in the X direction is set. Transfer the value ((x + 1) ⁇ I (x + l, y)).
- the X-direction moment value ((X + 1) ⁇ I (x + l, y)) is stored in the B latch (S1006), and the values of the A latch and the B latch are added.
- the X-direction moment values at the pixels are added, and the addition result is stored in the A latch 402 via the register matrix 401 (S1008 to S1012).
- the sum of the X-direction moment values for two pixels (XXI (X, y) + (x + 1) ⁇ I (x + 1, y)) It will be stored.
- each arithmetic element 400 calculates the addition result and y
- the same processing as the pixel selection processing described with reference to FIG. 10 (C) is performed.
- the multiplication result (1) is set only in the first arithmetic element 400 (1, 1) in S114-S116, and the multiplication result (0) is set in the other arithmetic elements 400. Is set.
- the multiplication result obtained in the pixel selection processing (S430) is transferred from the register matrix 401 to the A latch 402.
- the sum operation result finally obtained in the sum operation processing (S420) is transferred from the register matrix 401 to the B latch 403 (S434).
- the ALU 404 multiplies the value of the A latch 402 by the value of the B latch 403 (S436).
- the arithmetic element 400 at the head address (1, 1) has the sum of the moments in the X direction ⁇ X ⁇ I (X) as the result of multiplication of the sum operation result ⁇ ⁇ I (x, y) and (1). x, y) are required.
- zero (0) is obtained as a result of multiplication of the sum operation result and 0 (zero).
- the multiplication result is stored in the register matrix 401, and in S440, the multiplication result is output to the output bus 1555 from the output address "28" of the register matrix 401. I do.
- the multiplication result of S 436 in all the arithmetic elements 400 is output to the output bus 155.
- the head arithmetic element 400 (1, 1) outputs the sum of the X-direction moments ⁇ ⁇ ⁇ I (x, y) as the multiplication result, and all the remaining arithmetic elements are zero ( 0) is output. Therefore, the output bus 155 transfers the X-direction moment total ⁇ ⁇ (I (I (((((((((((((((((( ⁇ ⁇ ((( ⁇ ⁇ ⁇ ((( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
- the CPU 150 divides the received sum of the x-direction moments ⁇ ( ⁇ I (x, y) by the sum of the image intensities ⁇ I (x, y) to obtain the center of gravity. Find the X coordinate of.
- the CPU 150 reads out the y-direction position information (X address data “y”) of each pixel from the memory 151, Transfer to arithmetic element 400.
- each y-address data "y” is temporarily stored in the y-direction data buffer 20 and bit serial is performed using the corresponding data line 180 y of the y-direction data bus 18.
- the transfer is performed by transferring the lower bits from the lower bits one bit at a time.
- the y address data of the pixel connected to each y direction data line 180 y of the y direction data bus 18 is "y". Are binary data that are equal to each other and have a value of 1 to N2.
- each data line 180 y by transferring the binary data of the corresponding y address “y” by 1 og 2 (N 2) bits in order from the lower bit, all arithmetic elements 400 of the corresponding y address are transferred. to (x, y).
- each arithmetic element 400 (x, y), the transferred y address data "y" is stored in its register matrix 401 (S504), and then read from the lower pit to the B latch 403 (S504). 506).
- the image data I (x, y) is read into the A latch 402 again through the register matrix 401 (S508).
- the ALU404 multiplies the value of the A latch 402 and the value of the B latch 403 (S510), and calculates the result of the operation in the y-direction moment value (yI (x, y)) as a resistive matrix. (S 5 1 2).
- S520 a sum calculation process is performed to obtain the sum of the y-direction moment values (y ⁇ I (x, y)) in all the pixels.
- the summation processing described with reference to FIG. 10 (B) is performed using the y-direction moment value (y ⁇ I (x, y)) as the target data.
- the y direction moment value (y ⁇ I (x + 1, y)) is stored in the B latch (SI 006), and the values of the A latch and the B latch are added to obtain the y direction in the two adjacent pixels.
- the moment values are added, and the addition result is stored in the A latch 402 via the register matrix 401 (S1008 to S1012).
- the sum of the y-direction moment values for two pixels y. I (x, y) + y-I (x + 1, y) is stored. become.
- each arithmetic element 400 (X, y) calculates the sum of the addition result and the position adjacent in the y direction.
- the arithmetic element 400 (1, y) at the head position of each row has the sum (y * I (1, y) + y-I (2, y) tens ... + y- I (N 1, y)) + ((y + 1) ⁇ I (1, y + 1) + (y + 1) ⁇ I (2, y + 1) tens ... + (y + 1) ⁇ I (N 1, y + 1)).
- the pixel selection process In the pixel selection process, the pixel selection described with reference to FIG. The same processing as the processing is performed. As a result, in S114-S116, the multiplication result (1) is set only in the first arithmetic element 400 (1, 1), and in the other arithmetic elements 400, the multiplication result (0) is set. Is set.
- the multiplication result obtained in the pixel selection processing (S530) is transferred from the register matrix 401 to the A latch 402.
- the sum operation result finally obtained in the sum operation processing (S520) is transferred from the register matrix 401 to the B latch 403 (S534).
- the ALU 404 multiplies the value of the A latch 402 by the value of the B latch 403 (S536).
- the arithmetic element 400 at the start address (1, 1) has a sum of the y-direction moment sum ⁇ y ⁇ I (I) as a result of multiplying the sum operation result ⁇ y * I (x, y) by (1). x, y) are required.
- zero (0) is obtained as a result of multiplication of the sum operation result and 0 (zero).
- the multiplication result is stored in the register matrix 401, and in S540, the multiplication result is output to the output bus 1555 from the output address "28" of the register matrix 401. I do.
- the multiplication result of S536 in all the arithmetic elements 400 is output to the output bus 155.
- the operation element 400 (1, 1) at the head position outputs the sum of y-direction moments * y * I (x, y) as the multiplication result, and all the remaining operation elements Outputs zero (0). Therefore, the output bus 155 must transfer the y-direction moment total ⁇ y ′ I (x, y), which is the OR logical operation result of the operation results from all the operation elements 400, to the control circuit 15. become.
- the CPU 150 divides the received total sum of the y-direction moments ⁇ ⁇ I (x, y) by the total image intensity ⁇ I (x, y) to obtain Find the X coordinate of the center of gravity. (Example 2)
- the parallel operation method of this system is a method called SIMD that performs the same operation on all operation elements.However, in some cases, a different operation is performed for each pixel, or a special operation is performed only for a certain pixel. If it can be done, more flexible processing will be possible.
- the image data I (x, y) of each pixel of the input image D has already been obtained in S104 (FIG. 8).
- the data is transferred from the transfer shift register 410 to the register matrix 401 of each arithmetic element 400 (x, y) and stored in a certain area of the register matrix 401.
- a pixel selection process for selecting a desired pixel position (xl, y1) is performed.
- the pixel selection processing described with reference to FIG. 10 (C) is performed so as to select the desired pixel position (xl, y1).
- the arithmetic element whose X address is X 1 out of all the arithmetic elements 400 Set data (1) only to 400 (xl, y) (1 ⁇ y ⁇ N2), and set data (0) to other arithmetic elements 400.
- the processing element 400 (X, yl) (1 ⁇ x Set the data (1) only for ⁇ N 1) and the data (0) for the other arithmetic elements 400.
- the transfer data from the X-direction data line 170 X and the transfer data from the y-direction data line 180 y are multiplied by the evening (S 1 1 14).
- the result of the multiplication is stored in the register matrix 401 (S1116), and the pixel selection processing (S610) is completed.
- the multiplication result becomes 1 only with the arithmetic element 400 (x1, y1) at the desired address (xl, yl), and the multiplication result becomes 0 with the other arithmetic elements 400.
- the multiplication result of S616 is transferred from the register matrix 401 to the A latch 402 or the B latch 403, and the ALU 404 performs predetermined arithmetic processing.
- the arithmetic processing is performed on the target data only at the target pixel position (xl, y1), and the arithmetic processing is performed on the zero (0) data at positions other than the target pixel position.
- the calculation result is output to the control circuit 15 via the output bus 15.
- the desired position calculation processing (S 600) is performed while selecting the individual calculation elements (pixels) while changing the contents of the calculation processing (S 620), the different calculation processing can be performed for each calculation element. Can also be executed.
- a plurality of pixels may be selected instead of selecting only a single pixel. That is, data (1) is transferred to the X-direction data line 170 X and the y-direction data line 180 y corresponding to the X address and y address of the plurality of pixels, and the other data lines are transferred.
- the data (0) may be transferred to the server.
- the multiplication result of S1114 (Fig. 10 (C)) becomes 1, and as a result, the target data is obtained as the multiplication result of S616 (Fig. 13). Is obtained. Therefore, in S620, the target pixel is selected in the plurality of selected pixels. A desired operation can be performed on the data.
- the image data I (x, y) of each pixel of the input image D has already been shifted for transfer by S104 (Fig. 8).
- the data is transferred from the register 410 to the register matrix 401 of each arithmetic element 400 (x, y) and stored in a certain area of the register matrix 401.
- the respective calculation elements 400 are caused to perform a desired calculation on the image data I (x, y).
- desired operation various operation processes such as an edge extraction process described later can be considered.
- the multiplication result of the pixel selection processing (S680) is transferred from the register matrix 401 to the A latch 402.
- the data to be extracted (the operation result of S660) is transferred from the register matrix 401 to the B latch 403 (S6844), and the value of A latch 402 and B
- the value of the latch 403 is multiplied (S686).
- the result of the multiplication is stored in the register matrix 401 (S688), and then output to the output bus 1555 from the output address "28" at S690.
- the target pixel 400 (x1, y1 ) Is output to the control circuit 15.
- the X-direction data bus 17 and the y-direction data bus 18 are not unidirectional data buses having only a transfer Z-write function from the control circuit 15 to the arithmetic element 400, but a control circuit 15 A bidirectional data bus having a function of transferring / writing data from / to the arithmetic element 400 and a function of transferring the output Z from the arithmetic element 400 to the control circuit may be used.
- the arithmetic element 400 By using the register matrix addresses ⁇ 30 '' and ⁇ 31 '' also for outputting data to the y-direction data line 180 y and the x-direction data line 170 x, the arithmetic element 400 The calculation result can be output to the control circuit 15 through the X-direction data line 1 ⁇ 0 X or the y-direction data line 180 0 y.
- bidirectional data buses 17 and 18 are used, and if these are used bidirectionally, the arithmetic element 40 at a certain position in the X and y directions can be used.
- the signal from 0 can be received by the control circuit 15. If this function is used, for example, when it is desired to search for a certain search image (ml Xm2 pixels) by parallel operation, the control device 15 determines the position at which the match signal was obtained at high speed through a data bus. You can check.
- (p, q) is the position of the reference pixel (x, y) in the image D. ml m2
- FIG. 15 A flowchart of the search processing (S700) based on this algorithm is shown in FIG. 15, and the flow of the data processing will be described below with reference to FIG.
- this search processing (S700) is also executed in the image processing step S110 of FIG.
- each pixel (x, y) is set as a reference position (p, q) for image search, respectively.
- the image data P (i, j) (1 ⁇ i ⁇ m1, 1 ⁇ j ⁇ m2) of the search image P is stored in the memory 151 of the control circuit 15.
- each pixel of the input image D The image data I (x, y) (hereinafter referred to as I (p, q)) of each of the arithmetic elements 40 0 (x, y) is already transferred from the transfer shift register 4100 in S 104 (FIG. 8).
- y) (hereinafter, referred to as 400 (p, q)) is transferred to the register matrix 401 and stored in a certain area of the register matrix 401.
- the CPU 150 first sets an initial state in step S702. Specifically, it is assumed that the head position (1, 1) is set at the matching detection position (i, j) in the search pattern P, and that it is stored in the register matrix 401 of each operation element 400 (p, q). Yes Reset the calculation result E r (p, q).
- step S703 the image data P (i, j) of the current detection position (i, j) (here, the head position (1, 1)) in the search pattern P is stored in the memory 15 1 , And transferred to each arithmetic element 400 via the data buses 17 and 18.
- step S704 in each arithmetic element 400 (p, q), the matching detection position between the image data I (P, q) of the pixel stored in a certain area of the registration matrix 401 and the search pattern is determined.
- the image of the evening? Find the absolute value of the difference from (i, j) and add it to E r (p, q).
- E r (p, q) the absolute value of the difference between the image data I (p, q) and the image data P (1, 1) at the head position of the search image is obtained, and another area of the resist matrix 401 is calculated. And store it as E r (p, q).
- step S705 the CPU 150 determines whether or not the detected position (i, j) has reached the final position (ml, m2).
- the detection position (i, j) is still the head position (1, 1), it has not reached the final position (No in step 705), and the process proceeds to step S706.
- step S707 the image data at the position (p + i-1, q + j-1), here, the image data I (P + 1, q) at the position (p + 1, q) is calculated.
- the image data I (p + 1, q) stored in the adjacent pixel 400 (p + 1, q) is calculated. This transfer is performed by transferring to the vacant area of the pixel 400 (p, q).
- step S7033 CPU 150 obtains image data P (i, j) of current detection position (i, j) (here, position (2, 1)) in search pattern P. j) is read from the memory 151, and is transferred to each arithmetic element 400 (p, q) via the data buses 17 and 18.
- each arithmetic element 400 (p, q) determines the current matching between the image data I (p + l, q) of the adjacent pixel currently stored in the registry matrix 401 and the search pattern.
- the absolute value of the difference between the detection position and the image P (i, j) is calculated and added to E r (p, q). Since the detection position (i, j) has not reached the final position (ml, ra2) (No in S705), the process proceeds to S706, and the detection position (i, j) is updated.
- step S703 to S707 is repeated until the detection position (i, j) reaches the final position (ml, m2).
- step S704 ERROR (p, q) can be obtained in each of the arithmetic elements 400 (p> q).
- the transfer in step S707 uses the transfer function of the register matrix 401 to sequentially transfer the pixels to the adjacent pixels in the X and y directions, respectively. Then, the transfer can be performed.
- step S708 the CPU 150 sets the threshold value Eth , and in step S709, transfers the set threshold value Eth data to each arithmetic element 400 via the data bus 17 or 18. .
- each processing element 400 (p, q) in step S 7 1 the threshold E th and determined meth ERROR (p, Q), that is, compares E r (p, q) and the. Specifically, each arithmetic element 400 performs an operation of ERROR (p, q) —threshold E th , and outputs a sign bit (positive / negative sign) of the result as a comparison result. That is, if E r (p, q) is equal to or less than the threshold value E th , the process proceeds to step S 7 1 1 to output 1, and if E r (p, q) is greater than the threshold value E th, Then, the flow shifts to step S712 to output "0". Each arithmetic element 400 outputs the output data to the data buses 17 and 18. The CPU 150 counts the number of operation elements 400 that output 1 by taking the sum of the output signals from the data buses 17 and 18.
- step S713 the CPU 150 determines this number. If the output number is 0, the CPU 150 proceeds to step S714 to output a determination result indicating that there is no matching image.
- the CPU 150 When the number of outputs is one, one output signal is obtained only on the single data lines 170x and 180y of the data buses 17 and 18 respectively. Therefore, the CPU 150 outputs the position data of the arithmetic element 400 that has output 1 based on the positions and y of the output signal lines 170 x and 180 where the output signal of 1 is obtained in S 715. Find (p, q). In S715, the output bus 155 may be used instead of the overnight bus 17 or 18. That is, for each arithmetic element 400, The output (0 or 1) as the judgment result may be multiplied by the position data (p, q), and the multiplication result may be output to the output bus 155.
- S710 Only the pixel that has output the output signal 1 (matching position pixel) as a result of the determination outputs the position data (p, Q). Other pixels output (0) which is the result of multiplication of the output signal (0) and the position data (p, q). Therefore, only the position data (p, q) of the matching position is transferred to the control circuit 15 via the output bus 155. According to this method, not only the matching position data (p, q) but also other matching calculation results (for example, the absolute value of the difference between the input image D and the search pattern P) are transferred to the control circuit 15. be able to.
- the threshold E th is changed to a small value in step S 716 and the process returns to step S 709, and the threshold E th is reduced until the number of outputs becomes one To narrow down.
- the high-speed vision sensor device 10 of the present embodiment is an AZD converter in which one AZD converter 2 10 corresponds to all the light receiving elements 120 in each row of the light receiving element array 11.
- An array 13 a parallel processing mechanism 14 including an arithmetic element 400 corresponding to the light receiving element 120 and the transfer shift register 410 are provided, and data for transferring data to the arithmetic element 400 is further provided. Evening buses 17 and 18 and de overnight buffers 19 and 20 are provided.
- the arithmetic element 400 can perform image processing operation between neighboring pixels at high speed by parallel processing, and also perform arithmetic processing that requires external data transfer at high speed by using the data buses 17 and 18. be able to.
- the image processing step S110 when performing the above-described image processing (FIGS. 9 to 15), Various image processing can be performed on the input image I (x, y).
- edge extraction can be performed.
- edge extraction is the processing most frequently used in image processing.
- two-neighbor edge extraction using a two-neighbor operation using a difference from the intensity value of one pixel adjacent in the left direction is used.
- the value I '( ⁇ , y) of the image intensity data of the extracted 2-neighbor edge image is given by the following equation. Is represented.
- the data I (X-1, y) of the adjacent pixel on the left from the 4-neighbor input terminal is converted to the arithmetic element 400 (x, y). Is transferred to the register matrix 401 and stored in Z (S1210).
- the data of I (x, y) and I (X-1, y) currently stored in the register matrix 401 are transferred to the A latch 402 and the B latch 400, respectively (S12). 1 1),
- the difference between the two is calculated by ALU404 (S1222).
- the calculation result is temporarily stored in the registration matrix 401 (S1213).
- the calculation result is read out to the A latch 402 again (S1214), and the absolute value of the difference is obtained by the ALU 404 (S1215).
- the calculation result is stored again in the resist matrix 401 (S1216).
- the image processing steps (S300, S600, S650, S700) of (Example 1) to (Example 4) are performed on the two neighboring edge extracted images I ′ (x, y) obtained in this manner. ).
- the value I '( ⁇ , y) of the image intensity data of the four neighboring edges extracted image obtained for the input image intensity I (x, y) at the position (x, y) Can be expressed by the following equation.
- I '(x, y) 1 (x, y—1) + I (x, y + 1) + I (x-1, y) + I (x + 1, y) —4 I (x, y)
- the value I '(x, y) of the desired image intensity of the four-neighbor smoothed image can be expressed by the following equation.
- I '(x, y) (4 I (x, y) + I (x-1, y) + I (x + l, y) + I (x, y-1) + I (x, y + 1 )) / 8
- Table 1 shows an example of the number of steps and the processing time when the calculation is performed according to the present embodiment for some of the algorithms frequently used in image processing in addition to the above-described algorithms.
- Table 1 As is clear from Table 1, in the present embodiment, general image processing (for example, For example, smoothing, thinning, compensation, correlation, and mask processing) can be performed at very high speed by completely parallel processing. Therefore, it can be applied to fields such as FA mouth pot control, which were limited by the low processing speed and transfer speed of the conventional visual sensor device.
- general image processing for example, For example, smoothing, thinning, compensation, correlation, and mask processing
- the calculation time shown in Table 1 does not include the transfer time of the image data by the transfer shift register 410.
- the transfer data rate is limited by the conversion speed of the A / D converter 210.If this is, for example, 1 microsecond per bit, 128 x 128 pixels x 8 bits
- the time required to transfer image data in parallel in 128 rows is 128 (pixels) X 8 (bits) xl (microsecond dabits) 1 millisecond. In the present embodiment, this transfer is performed in parallel with the arithmetic processing.
- the object of the present embodiment is an image processing system having practical high speed and sufficient resolution.
- the robot control in the FA system requires a resolution of arranging at least 1 2 8 ⁇ 1 2 8 light receiving elements 1 20 c.
- the light receiving element array 11 and the parallel processing mechanism 14 This resolution can be realized sufficiently because the resolution can be separated and the degree of integration of each can be increased.
- the speed of the mouth pot As a guide to the processing speed, the speed of the mouth pot
- the processing speed is determined by the A / D conversion processing speed in the AZD converter 210, but can be sufficiently increased.
- the A / D conversion speed per pixel in the present embodiment is 1 microsecond per bit.
- arithmetic elements are arranged in a one-to-one correspondence with each light receiving element, and all the arithmetic elements are processed in parallel. Therefore, as shown in Table 1, most arithmetic processing can be performed in less than 0.4 ms. Furthermore, since arithmetic processing and transfer processing can be performed in parallel, the idle time of each processing can be reduced, and the overall processing time can be reduced.
- the AZD converter 210 of the present embodiment performs A / D conversion from the most significant bit. Therefore, when the conversion is performed to the desired number of bits, the reset signal R is transmitted, and the process proceeds to the AZD conversion of the next optical signal, whereby the gradation of the AZD conversion can be changed.
- This allows for faster and more complex processing. For example, when tracking a moving object, if the object is moving at a high speed, if the image is controlled to perform arithmetic processing at a binary level of 1 bit, the transfer time will be as described above. This is shortened to 0.128 milliseconds, one sixth of the 6-bit value, and can be applied to high-speed feedback control. Conversely, if the vehicle is moving at a low speed, it is possible to improve the accuracy and follow up by increasing the gradation.
- the bit length of the input data must be adjusted to a fixed length in the transfer shift register. This is because, for example, a shift register having a fixed length of 8 bits and the number of pixels in a row (N 1) is used as a transfer shift register line when the normal data length is 8 bits. Each shift register divided into 8 bits functions as a transfer shift register for each pixel corresponding to each position. Therefore, unless the bit length is adjusted to 8 bits, the image data will not be correctly transferred to the corresponding shift register for transfer. For this reason, the data is transferred correctly by adding a dummy signal at the time of transmission in the transfer shift register to make the total 8 bits.
- the AZD conversion in which one A7D converter 210 corresponds to the light receiving elements 120 of each row of the light receiving element array 11
- a parallel processing mechanism 14 including an arithmetic element 400 corresponding to the light-receiving element 120 and the shift register 410 for transfer.
- the arithmetic element 400 since the arithmetic element 400 has a one-to-one correspondence with the light receiving element 120, image processing between neighboring pixels can be performed at high speed by parallel processing.
- the A / D converter 210 is provided for each row, the calculation is performed with the light receiving element 120 compared to the case where the AZD converter 210 is provided for each light receiving element 120.
- the number of transmission lines between the elements 400 can be reduced, and the light receiving element 120 and the arithmetic element 400 can be easily manufactured and arranged separately. For this reason, both can optimize the degree of integration, and can easily manufacture a high-speed visual sensor device 10 having a large number of pixels.
- the AZD converter 210 is provided for each row as described above, the overall processing speed is limited by the processing speed of the AZD conversion, but it is said that the number of pixels is sufficient for FA robot control.
- the multi-pixel high-speed visual sensor device 10 of the present embodiment can perform basic image calculations at high speed while having a simple circuit configuration.
- data transfer transmission / reception
- transmission / reception can be performed more efficiently than in the X-direction data bus and the y-direction data bus, so high-speed operations are possible.
- the transfer shift register 410 is provided corresponding to the arithmetic element 400, the arithmetic processing can be performed independently of the transfer processing, and the arithmetic processing and the transfer processing can be performed efficiently. In addition, transfer processing and arithmetic processing are performed in parallel. Since it can be performed, the waiting time of each process can be reduced, and higher-speed image processing can be performed. In other words, real-time processing is possible by using the transfer shift register to realize a function that can execute arithmetic processing and transfer independently during data transfer from the AZD converter to the arithmetic element. .
- the high-speed vision sensor device according to the present invention is not limited to the embodiment described above, and various modifications are possible.
- the data buffers 19 and 20 are provided. However, if a sufficient transfer speed can be obtained between the control circuit 15 and the data buses 17 and 18, There is no need to provide a buffer overnight.
- the data transfer from the A / D converter 210 to the arithmetic element 400 is performed by the transfer shift register 410.
- each of the 8/0 converters 210 is connected to the register matrix 401 of the first arithmetic element 400 (1, y) of the corresponding row in the parallel processing mechanism 14. It may be connected.
- the pixel data I (x, y) output from the A / D converter 210 of each row is adjacent to the corresponding arithmetic element 400 (x, y) in the X direction.
- the transfer is performed by sequentially performing the transfer between the register matrices 401 of the arithmetic elements 400 (1, y) to 400 (x, y).
- the transfer shift register 410 when the transfer shift register 410 is not provided, extra time is required to transfer the image data to each arithmetic element 400 in addition to the arithmetic time shown in Table 1.
- image processing as shown in Table 1, most arithmetic processing can be performed in less than 0.4 ms. Therefore, even if the transfer time is taken into account, most image processing can be performed in less than 1 millisecond, and it has sufficient high-speed performance.
- the AZD converter 210 is configured to include the charge amplifier 221.
- the AZD converter 210 and the charge amplifier 221 are separately provided, and FIG. , An amplifier array 12 composed of N 2 charge amplifiers 22 1 is connected to the light receiving element array 11, and an A / D converter array 1 3 composed of N 2 AZD converters 2 10 May be provided between the amplifier array 12 and the parallel processing mechanism 14.
- each of the amplifiers 221 in the amplifier array 12 sequentially charges the electric charge output from a total of N 1 light receiving elements 120 on the corresponding row 110 of the light receiving element array 11 with a voltage.
- the signal is converted into a signal, and the obtained analog voltage signal is output to the corresponding AZD converter 210 in the AZD converter array 13.
- the AZD converter 210 sequentially performs A / D conversion of the analog voltage signal from the charge amplifier 221 and supplies the analog voltage signal to the parallel processing mechanism 14.
- the sum calculation processing shown in FIG. 10B is performed in order to obtain the sum of the image intensity and the moment in the x / y direction.
- a circuit for calculating the sum of outputs may be added to the output bus 155, and the sum may be calculated by the circuit.
- the high-speed visual sensor device according to the present invention is widely used for visual recognition processing such as FA robot control.
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00908001A EP1164544B1 (en) | 1999-03-16 | 2000-03-10 | High-speed vision sensor |
US09/936,267 US6970196B1 (en) | 1999-03-16 | 2000-03-10 | High-speed vision sensor with image processing function |
JP2000605967A JP4489305B2 (ja) | 1999-03-16 | 2000-03-10 | 高速視覚センサ装置 |
AU29416/00A AU2941600A (en) | 1999-03-16 | 2000-03-10 | High-speed vision sensor |
US11/205,001 US7532244B2 (en) | 1999-03-16 | 2005-08-17 | High-speed vision sensor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11/70121 | 1999-03-16 | ||
JP7012199 | 1999-03-16 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09936267 A-371-Of-International | 2000-03-10 | ||
US11/205,001 Continuation US7532244B2 (en) | 1999-03-16 | 2005-08-17 | High-speed vision sensor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000055810A1 true WO2000055810A1 (fr) | 2000-09-21 |
Family
ID=13422416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2000/001471 WO2000055810A1 (fr) | 1999-03-16 | 2000-03-10 | Capteur de vision ultra-rapide |
Country Status (5)
Country | Link |
---|---|
US (2) | US6970196B1 (ja) |
EP (1) | EP1164544B1 (ja) |
JP (2) | JP4489305B2 (ja) |
AU (1) | AU2941600A (ja) |
WO (1) | WO2000055810A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002094886A (ja) * | 2000-09-13 | 2002-03-29 | Hamamatsu Photonics Kk | 高速画像処理装置 |
JP2002365022A (ja) * | 2001-06-05 | 2002-12-18 | Hamamatsu Photonics Kk | 画像計測カメラ |
JP2008243233A (ja) * | 2001-03-13 | 2008-10-09 | Ecchandesu:Kk | 視覚装置 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1164544B1 (en) * | 1999-03-16 | 2011-11-02 | Hamamatsu Photonics K.K. | High-speed vision sensor |
JP3902741B2 (ja) * | 2002-01-25 | 2007-04-11 | 株式会社半導体理工学研究センター | 半導体集積回路装置 |
GB2395299B (en) * | 2002-09-17 | 2006-06-21 | Micron Technology Inc | Control of processing elements in parallel processors |
US6871409B2 (en) | 2002-12-18 | 2005-03-29 | Snap-On Incorporated | Gradient calculating camera board |
US7913062B2 (en) * | 2003-04-23 | 2011-03-22 | Micron Technology, Inc. | Method of rotating data in a plurality of processing elements |
US7676648B2 (en) * | 2003-04-23 | 2010-03-09 | Micron Technology, Inc. | Method for manipulating data in a group of processing elements to perform a reflection of the data |
US7581080B2 (en) * | 2003-04-23 | 2009-08-25 | Micron Technology, Inc. | Method for manipulating data in a group of processing elements according to locally maintained counts |
US7596678B2 (en) * | 2003-04-23 | 2009-09-29 | Micron Technology, Inc. | Method of shifting data along diagonals in a group of processing elements to transpose the data |
JP4277216B2 (ja) * | 2005-01-13 | 2009-06-10 | ソニー株式会社 | 撮像装置及び撮像結果の処理方法 |
TWI429066B (zh) | 2005-06-02 | 2014-03-01 | Sony Corp | Semiconductor image sensor module and manufacturing method thereof |
US8179296B2 (en) | 2005-09-30 | 2012-05-15 | The Massachusetts Institute Of Technology | Digital readout method and apparatus |
US20100226495A1 (en) * | 2007-10-29 | 2010-09-09 | Michael Kelly | Digital readout method and apparatus |
US7787021B2 (en) * | 2006-10-30 | 2010-08-31 | Texas Instruments Incorporated | Programmable architecture for flexible camera image pipe processing |
JP4661912B2 (ja) * | 2008-07-18 | 2011-03-30 | ソニー株式会社 | 固体撮像素子およびカメラシステム |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
JP6017415B2 (ja) | 2010-04-30 | 2016-11-02 | コーニング オプティカル コミュニケイションズ リミテッド ライアビリティ カンパニー | 接近特徴部付き光ファイバケーブル及びその製造方法 |
AU2011320659B2 (en) | 2010-10-28 | 2015-08-27 | Corning Cable Systems Llc | Fiber optic cables with extruded access features and methods of making fiber optic cables |
WO2013006188A1 (en) | 2011-07-01 | 2013-01-10 | Schultz Kenneth I | Methods and apparatus for in-pixel filtering in focal plane arrays |
US20130027416A1 (en) * | 2011-07-25 | 2013-01-31 | Karthikeyan Vaithianathan | Gather method and apparatus for media processing accelerators |
US9323022B2 (en) | 2012-10-08 | 2016-04-26 | Corning Cable Systems Llc | Methods of making and accessing cables having access features |
US9274302B2 (en) | 2011-10-13 | 2016-03-01 | Corning Cable Systems Llc | Fiber optic cables with extruded access features for access to a cable cavity |
US9201208B2 (en) | 2011-10-27 | 2015-12-01 | Corning Cable Systems Llc | Cable having core, jacket and polymeric jacket access features located in the jacket |
US9343497B2 (en) * | 2012-09-20 | 2016-05-17 | Semiconductor Components Industries, Llc | Imagers with stacked integrated circuit dies |
JP2014239309A (ja) | 2013-06-06 | 2014-12-18 | 富士通オプティカルコンポーネンツ株式会社 | 光送信装置、光受信装置、および光送受信装置 |
CN104184963B (zh) * | 2014-09-05 | 2017-10-13 | 无锡英斯特微电子有限公司 | 光电导航系统中高效资源利用的方法 |
US20170132466A1 (en) | 2014-09-30 | 2017-05-11 | Qualcomm Incorporated | Low-power iris scan initialization |
US9838635B2 (en) * | 2014-09-30 | 2017-12-05 | Qualcomm Incorporated | Feature computation in a sensor element array |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
KR102426677B1 (ko) | 2015-03-09 | 2022-07-28 | 삼성전자주식회사 | 오프셋 및 잡음이 감소되는 차분 증폭기 및 이벤트에 기반한 비전 센서 |
US10291813B2 (en) | 2015-04-23 | 2019-05-14 | Google Llc | Sheet generator for image processor |
US9772852B2 (en) * | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
US9756268B2 (en) * | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
US9965824B2 (en) | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
US10095479B2 (en) | 2015-04-23 | 2018-10-09 | Google Llc | Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure |
US9769356B2 (en) | 2015-04-23 | 2017-09-19 | Google Inc. | Two dimensional shift array for image processor |
US9785423B2 (en) * | 2015-04-23 | 2017-10-10 | Google Inc. | Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
US10204396B2 (en) | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US10380969B2 (en) | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
US20180005346A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US20180007302A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US20180005059A1 (en) * | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
WO2018090163A1 (en) * | 2016-11-15 | 2018-05-24 | Shenzhen Xpectvision Technology Co., Ltd. | An image sensor |
US10984235B2 (en) | 2016-12-16 | 2021-04-20 | Qualcomm Incorporated | Low power data generation for iris-related detection and authentication |
US10614332B2 (en) | 2016-12-16 | 2020-04-07 | Qualcomm Incorportaed | Light source modulation for iris size adjustment |
US10672101B1 (en) * | 2019-03-04 | 2020-06-02 | Omnivision Technologies, Inc. | DRAM with simultaneous read and write for multiwafer image sensors |
CN111397510B (zh) * | 2020-03-24 | 2021-05-18 | 青岛罗博智慧教育技术有限公司 | 一种数字轨迹记录装置及坐标校准方法 |
US20230194677A1 (en) * | 2021-12-16 | 2023-06-22 | Waymo Llc | Multi-Chip Daisychain for Output Aggregation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274467A (ja) * | 1993-03-23 | 1994-09-30 | Sumitomo Metal Ind Ltd | フィールドプログラマブルプロセッサアレイ |
JPH10145680A (ja) * | 1996-11-08 | 1998-05-29 | Hamamatsu Photonics Kk | 高速視覚センサ装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60221877A (ja) * | 1984-04-18 | 1985-11-06 | Mitsubishi Electric Corp | 図形演算装置 |
US4725970A (en) * | 1985-02-05 | 1988-02-16 | Sanders Associates, Inc. | Simulation device |
US4665440A (en) * | 1985-09-17 | 1987-05-12 | Honeywell, Inc. | Parallel processing of the output from monolithic sensor arrays |
JP2580501B2 (ja) * | 1986-06-14 | 1997-02-12 | 工業技術院長 | 並列デ−タ処理装置 |
US4910665A (en) * | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
JP2900359B2 (ja) | 1986-10-30 | 1999-06-02 | 株式会社日立製作所 | マルチプロセッサシステム |
US4873626A (en) * | 1986-12-17 | 1989-10-10 | Massachusetts Institute Of Technology | Parallel processing system with processor array having memory system included in system memory |
US5113365A (en) * | 1989-05-16 | 1992-05-12 | Massachusetts Institute Of Technology | Method and charge coupled apparatus for algorithmic computations |
US5253308A (en) * | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
US5297289A (en) * | 1989-10-31 | 1994-03-22 | Rockwell International Corporation | System which cooperatively uses a systolic array processor and auxiliary processor for pixel signal enhancement |
JPH0620070A (ja) | 1992-06-30 | 1994-01-28 | Mitsubishi Electric Corp | 並列データ処理装置 |
JPH06195480A (ja) | 1992-10-13 | 1994-07-15 | Nec Corp | 並列処理装置 |
JPH09511078A (ja) * | 1993-12-12 | 1997-11-04 | エーエスピー ソルーション ユーエスエイ インコーポレイション | 信号処理方法および装置 |
US6021172A (en) * | 1994-01-28 | 2000-02-01 | California Institute Of Technology | Active pixel sensor having intra-pixel charge transfer with analog-to-digital converter |
US6507362B1 (en) * | 1994-12-09 | 2003-01-14 | Neomagic Israel Ltd. | Digital image generation device for transmitting digital images in platform-independent form via the internet |
JPH08235149A (ja) | 1995-02-24 | 1996-09-13 | Sumitomo Metal Ind Ltd | 単一命令・多データ型並列計算機の命令生成・分配装置 |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US6362482B1 (en) * | 1997-09-16 | 2002-03-26 | Advanced Scientific Concepts, Inc. | High data rate smart sensor technology |
US6721008B2 (en) * | 1998-01-22 | 2004-04-13 | Eastman Kodak Company | Integrated CMOS active pixel digital camera |
WO2000021284A1 (fr) * | 1998-10-07 | 2000-04-13 | Hamamatsu Photonics K. K. | Capteur de vision ultra-rapide |
US6757019B1 (en) * | 1999-03-13 | 2004-06-29 | The Board Of Trustees Of The Leland Stanford Junior University | Low-power parallel processor and imager having peripheral control circuitry |
EP1164544B1 (en) * | 1999-03-16 | 2011-11-02 | Hamamatsu Photonics K.K. | High-speed vision sensor |
-
2000
- 2000-03-10 EP EP00908001A patent/EP1164544B1/en not_active Expired - Lifetime
- 2000-03-10 JP JP2000605967A patent/JP4489305B2/ja not_active Expired - Fee Related
- 2000-03-10 US US09/936,267 patent/US6970196B1/en not_active Expired - Fee Related
- 2000-03-10 WO PCT/JP2000/001471 patent/WO2000055810A1/ja active Application Filing
- 2000-03-10 AU AU29416/00A patent/AU2941600A/en not_active Abandoned
-
2005
- 2005-08-17 US US11/205,001 patent/US7532244B2/en not_active Expired - Fee Related
-
2009
- 2009-12-14 JP JP2009283335A patent/JP4503697B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274467A (ja) * | 1993-03-23 | 1994-09-30 | Sumitomo Metal Ind Ltd | フィールドプログラマブルプロセッサアレイ |
JPH10145680A (ja) * | 1996-11-08 | 1998-05-29 | Hamamatsu Photonics Kk | 高速視覚センサ装置 |
Non-Patent Citations (2)
Title |
---|
HOSCHETTE J A ET AL.: "CCD analog array processor [for military applications]", NATIONAL AEROSPACE AND ELECTRONICS CONFERENCE. NAECON 1984, vol. 1, 1 January 1984 (1984-01-01), pages 228 - 233 |
See also references of EP1164544A4 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002094886A (ja) * | 2000-09-13 | 2002-03-29 | Hamamatsu Photonics Kk | 高速画像処理装置 |
JP2008243233A (ja) * | 2001-03-13 | 2008-10-09 | Ecchandesu:Kk | 視覚装置 |
JP4625513B2 (ja) * | 2001-03-13 | 2011-02-02 | 株式会社エッチャンデス | 視覚装置 |
JP2002365022A (ja) * | 2001-06-05 | 2002-12-18 | Hamamatsu Photonics Kk | 画像計測カメラ |
Also Published As
Publication number | Publication date |
---|---|
EP1164544A1 (en) | 2001-12-19 |
EP1164544A4 (en) | 2010-04-21 |
JP4489305B2 (ja) | 2010-06-23 |
JP4503697B2 (ja) | 2010-07-14 |
JP2010063173A (ja) | 2010-03-18 |
US7532244B2 (en) | 2009-05-12 |
US6970196B1 (en) | 2005-11-29 |
US20050280728A1 (en) | 2005-12-22 |
EP1164544B1 (en) | 2011-11-02 |
AU2941600A (en) | 2000-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000055810A1 (fr) | Capteur de vision ultra-rapide | |
US6670904B1 (en) | Double-ramp ADC for CMOS sensors | |
TWI550447B (zh) | 線性裝置值估算方法、電容偵測方法、積體電路、觸摸感測器系統、及電子裝置 | |
US7244919B2 (en) | Semiconductor integrated circuit device having photo detector circuits, processing elements, and comparing circuits which compare the output of a photo detector element with a reference voltage | |
JP3962788B2 (ja) | A/d変換アレイ及びイメージセンサ | |
JP2010136413A (ja) | 高速視覚センサ装置 | |
JP4592243B2 (ja) | 高速画像処理カメラシステム | |
Tang et al. | Considerations of integrating computing-in-memory and processing-in-sensor into convolutional neural network accelerators for low-power edge devices | |
US8149150B2 (en) | Cyclic analog/digital converter | |
Cembrano et al. | ACE16k: a 128× 128 focal plane analog processor with digital I/O | |
JP3834113B2 (ja) | 高速視覚センサ装置 | |
EP0725356B1 (en) | Semiconductor device, semiconductor circuit using the device, and correlation calculation device, signal converter, and signal processing system using the circuit | |
JP4302212B2 (ja) | 高速視覚センサ装置 | |
US7046821B2 (en) | Image detection processor | |
EP0709793A2 (en) | Semiconductor device and operating device, signal converter, and signal processing system using the semiconductor device | |
JP2002094886A (ja) | 高速画像処理装置 | |
US20090046181A1 (en) | Method and apparatus providing improved successive approximation analog-to-digital conversion for imagers | |
JP2000333083A (ja) | 高速視覚センサ装置 | |
JP2002183724A (ja) | 高速画像処理装置 | |
JP2002083292A (ja) | 画像信号処理装置 | |
US20240089626A1 (en) | Image sensor | |
CN116916143A (zh) | 图像处理设备、图像处理方法和计算机可读存储介质 | |
CN116647767A (zh) | 图像传感器 | |
JPH09200624A (ja) | 並列信号処理回路、信号処理装置および信号処理システム | |
Aubreton et al. | Using dithering for implementing geometric moment function estimation in a correlation retina |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 09936267 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 605967 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000908001 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2000908001 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |