WO2002073538A1 - Dispositif visuel, compteur asservi et capteur d'images - Google Patents

Dispositif visuel, compteur asservi et capteur d'images Download PDF

Info

Publication number
WO2002073538A1
WO2002073538A1 PCT/JP2002/002110 JP0202110W WO02073538A1 WO 2002073538 A1 WO2002073538 A1 WO 2002073538A1 JP 0202110 W JP0202110 W JP 0202110W WO 02073538 A1 WO02073538 A1 WO 02073538A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
array operation
operation unit
signal
information
Prior art date
Application number
PCT/JP2002/002110
Other languages
English (en)
French (fr)
Inventor
Yoshiaki Ajioka
Original Assignee
Ecchandes Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecchandes Inc. filed Critical Ecchandes Inc.
Priority to EP02702788A priority Critical patent/EP1378862B1/en
Priority to JP2002572118A priority patent/JP4202146B2/ja
Priority to DE60238041T priority patent/DE60238041D1/de
Publication of WO2002073538A1 publication Critical patent/WO2002073538A1/ja
Priority to US10/471,555 priority patent/US20040051795A1/en
Priority to US11/778,957 priority patent/US20080025593A1/en
Priority to US11/779,017 priority patent/US20080024667A1/en
Priority to US11/778,988 priority patent/US20080025567A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/40Monitoring; Error detection; Preventing or correcting improper counter operation
    • H03K21/406Synchronisation of counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/32Normalisation of the pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/38Starting, stopping or resetting the counter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/665Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/73Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors using interline transfer [IT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/79Arrangements of circuitry being divided between different or multiple substrates, chips or circuit boards, e.g. stacked image sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • the present invention relates to a visual device for searching and recognizing an object, and more particularly, to a plurality of array operation units and a plurality of virtual array operation units for executing local parallel image processing such as geometric analysis means, and an array operation for these units.
  • the present invention relates to a data processing device including a unit and a virtual array operation unit, an interlocking device that drives the array operation unit and the virtual array operation unit, and an image sensor including a plurality of sensor modules.
  • the present inventor has developed a visual device (for example, JP-A-2001-43385, JP-A-2001-101403, JP-A-2001-148006). JP-A-2001-148022, JP-A-2001-148024, International Publication No. WO00 / 16259).
  • This vision device searches for an object and performs image processing on the object by controlling the pan, tilt, and zoom mechanisms of a moving camera. Most of the image processing performed by the visual device is local processing, and these local processing can be performed in parallel by a plurality of array operation units arranged in a two-dimensional lattice. .
  • this vision system had four main problems.
  • the object Z background / figure separation means uses a non-linear oscillator to separate at least one object area from the background area. A huge amount of calculation was required.
  • the pattern matching means uses a number of template images to correctly recognize a normalized image in which the color and pattern of the object are mixed. (template images) required.
  • geometrical analysis means had to perform global processing such as Fourier transform, Affine transform, and Hough transform in order to detect the rough shape of the object in the moving image.
  • the area normalization means requires or requires a processor with a divider to perform division by natural numbers to interpolate between pixels of the normalized image. Required a look-up table to store the reciprocal of. As a result, these measures have been a major obstacle to the production of high performance image sensors with visual devices.
  • each nonlinear oscillator uses a random number as external noise, or uses formed edge information that constitutes one pixel of the input formed edge information image.
  • the disturbance there is no correlation between the nonlinear oscillator included in the object region or the background region divided by the formed edge information image and the disturbance.
  • each nonlinear oscillator could not shift its own phase from those of the nonlinear oscillators until the phases of the neighboring nonlinear oscillators were properly combined. This is a factor that increases the amount of calculation by the object background separation means.
  • the visual device can generate an overlapping information image representing the approximate position of the center of gravity of the object region divided by the formed edge information image and its size.
  • each nonlinear oscillator inputs the overlapping information constituting the corresponding pixel in the overlapping information image as a random number, so that each nonlinear oscillator included in the object region is roughly located at the center of gravity.
  • the phase is shifted in order from to the surroundings.
  • the position and size detection means detects the approximate position of the center of gravity and the size of the object area divided by the formed edge information image. It is expected that the object region and the background region can be separated at high speed.
  • the pattern matching means needs an extremely large number of template images in order to perform pattern matching on the normalized image obtained by normalizing the separated object region corresponding to the object region in the digital image. And The reason for this is that normalized images are generally noisy. This is because the pattern matching means compared the normalized image with a large number of template images without distinguishing the color and pattern of the object represented by the normalized image. In other words, the number of template images required is equal to the number of combinations of the color and pattern of the object. Thus, let us consider a case where the colors and patterns of the object represented by the normalized image are separately matched. First, the color of the object is the color having the largest number of pixels among the colors represented by each pixel of the normalized image.
  • the pattern matching means prepares the template images filled with one different color among the plurality of colors to be detected by the number of colors to be detected, thereby obtaining the color of the object represented by the normalized image. Can be detected. Moreover, even if the position and size of the object in the digital image change, the pattern matching means detects the color of this object by comparing the color of each pixel included in the separated object region with a plurality of template images. Therefore, it is not necessary to normalize the separated object region. On the other hand, regarding the pattern of the object, instead of the normalized image for the separated object region, the edge information forming means once generates the formed edge information image from the separated object region, and then the geometric analysis means generates the formed edge information image from the formed edge information image.
  • a normalized image for the obtained image is used.
  • at least one pixel of the normalized image has a shape and size representing a part of the pattern of the object around it, so the pattern matching means determines the position and size of the object region.
  • the template image most similar to this normalized image can be easily selected.
  • the visual device separately processes the color and the pattern of the object represented by the object region using the plurality of pattern matching means, so that the plurality of pattern matching means for the color and the pattern are It is expected that the number of template images can be greatly reduced.
  • the conventional geometric analysis means uses a Fourier transform to reduce the amount of calculation by the pattern matching means. , Extracting the shape of the object in the moving image using Huff transform, and normalizing the size of the outline of the object in the moving image using the affine transformation. was used.
  • these transforms require strict processing of the image.
  • the geometric analysis means detects the rough shape of the object, the geometric analysis means obtains the position and the inclination from the fragmented outline of the object, and calculates the inclination of the outline of the object. If it can be collected at the center of gravity of this object, this geometric analysis means can detect the rough shape of this object.
  • the means for detecting the inclination calculates the lengths and inclination angles of a plurality of line segments representing the contour of the object from the formed edge-information image, and further calculates these lines.
  • the geometric analysis It is expected that position and shape can be detected.
  • the geometric analysis means Is expected to be able to detect the position and shape of an object with a small amount of hardware and computation.
  • the area normalizing means temporarily moves each pixel included in the segmented object area in the digital image corresponding to the object area to the entire digital image so that their distances are approximately equal to each other. Then, by interpolating the pixels located between these pixels by the average of neighboring pixels, the area normalizing means generates a normalized image having a size equal to the size of the digital image. Therefore, the area normalizing means must execute division by a natural number or multiplication of the reciprocal of the natural number to interpolate between pixels.
  • the reason for the interpolation by the region normalizing means is as follows. First, when a plurality of separated object regions having different sizes and positions represent the same object, the pattern of the separated object region must be reconstructed from each pixel of the separated separated object region once.
  • the pattern matching means which is the output destination, must have many template images for the same object.
  • digital images are generally multi-band images containing noise
  • the pattern matching unit generates the formed edge information image from the separated object region once instead of the normalized image for the separated object region, and then the analysis unit generates the formed edge information.
  • the pattern matching means can select the template image most similar to the normalized image from the plurality of template images.
  • the pattern matching means can select the pattern of the object represented by the object area even if the area normalizing means does not perform interpolation.
  • This visual device searches for an object and performs image processing of the object by controlling the pan, tilt, and zoom mechanisms of the moving camera. Most of the image processing performed by the visual device is local processing, and these local processings are executed in parallel by an array operation unit arranged in a two-dimensional lattice.
  • an array operation unit is mounted on an LSI, each array operation unit is designed to be able to communicate asynchronously with an adjacent array operation unit by using a signal of delivery and receipt.
  • the wiring pattern becomes extremely simple, and the wiring length is shortened, so that the LSI can reduce the power consumption while increasing the transistor mounting area, and all the array operation units need not necessarily be synchronized. Absent.
  • the conventional array operation unit had four main problems.
  • the first problem is that the time between sending a delivery and receiving a receipt at the controller that sent the delivery becomes longer. This is due to the fact that the controller receiving the delivery does not return the receipt until it inputs the calculation data, the type, the number of horizontal transfers and the number of vertical transfers. Therefore, in the conventional array operation unit, the processor had to wait until the reception stages on the upper, lower, left, and right sides of the controller that transmitted the transmission were surely updated.
  • the processor even if the controller is performing asynchronous communication, the processor must waste time.
  • the second problem is that the transfer order of calculation data is irregular, It is difficult to distinguish between calculation data and transferred calculation data. This is because all array operation units operate independently.
  • the calculation data received by the memory is stored together with the delivery flag to be transferred, while the processor constantly checks all the delivery flags stored in the memory and transfers the calculation data. Later, the delivery flag related to the transferred calculation data was updated. However, in this method, the processor must repeatedly check the delivery flag of the already transferred calculation data.
  • the third problem is that when computational data is transferred in three directions simultaneously, the processor is less able to write computational data to the controller. The reason for this is that the controller can send only one calculation data at a time to the array operation unit near four. Therefore, in the conventional array operation unit, as the number of array operation units specified by the delivery flag increases, the processor has to wait for a long time until the next calculation data can be written to the controller. .
  • the fourth problem is that when calculation data is transferred in three directions at the same time, the array operation unit that receives the calculation data has the same number of horizontal transfer and vertical transfer of this calculation data. It is difficult to distinguish the array operation units. This is because the controller communicates the number of horizontal transfers and the number of vertical transfers only with non-negative integers. Therefore, in the conventional array operation unit, the two array operation units that are the source of the calculation data are assigned priorities, and the array operation unit always transfers the calculation data of the array operation unit with the highest priority in order. Was. However, according to this method, the calculation data of the low-priority array operation unit is not transferred until the calculation data of the high-priority array operation unit is input, so that the transfer efficiency is low.
  • the controller may include an electronic circuit such as a FIFO (First In First Out).
  • FIFO First In First Out
  • the controller may increase the number of circuits by 1 bit for each of the number of transfers in the horizontal direction and the number of transfers in the vertical direction so that the number of transfers and the number of transfers in the vertical direction are represented by negative integers.
  • the amount of hardware of the array operation unit becomes enormous.
  • the controller when the controller receives the delivery, it immediately stores the delivery and returns the receipt, and then inputs the calculation data, type, number of horizontal transfers and number of vertical transfers Just do it.
  • a substitute for the FIFO may be implemented in the memory and the processor.
  • the calculation data should be transferred in at most two directions at the same time.
  • the stack and the circular buffer are implemented in the memory and the processor, and the calculation data is transferred counterclockwise and clockwise, so that an array operation unit with high transfer efficiency can be designed. Is expected.
  • PLLs Phase Locked Loops
  • these PLLs receive one reference signal having a constant phase, and further compare the phase difference between this reference signal and the comparison signal generated by each PLL. This is to change the phase of the comparison signal so that it becomes 0 radians.
  • PLLs Phase Locked Loops
  • the two PLLs cannot communicate these comparison signals with each other. This is because none of the PLLs can generate a comparison signal having a constant phase due to the propagation delay time of these comparison signals.
  • phase difference of the comparison signal in one of the PLLs becomes 0 radians
  • the phase difference of the comparison signal in the other PLL becomes twice the propagation delay time. Occurs.
  • fatal jitter occurs in the clock signal generated by the PLL.
  • each array operation unit can communicate with an adjacent array operation unit asynchronously, if all array operation units input clock signals of a fixed period instead of clock signals of a fixed phase, good. Therefore, the visual device has a plurality of counters each equipped with an independent oscillation circuit, and these counters communicate with each other so that all the counts match within a certain period of time. Evening is enough. In addition, each counter adjusts the phase of the oscillation circuit in accordance with the counts of all the adjacent counters, so that the time during which all the counts coincide is longer.
  • an image sensor in which a plurality of light receiving elements, a plurality of charge amplifiers, a plurality of AZD conversion circuits, and a plurality of digital circuits are stacked has been developed. 63-174356, JP-A-7-135293, JP-A-2-35425). Many of these image sensors are pixel-parallel types that make effective use of vertical signal lines, and one photodetector, one charge amplifier, one A / D conversion circuit, and one digital circuit are connected vertically. Are located. In particular, in recent years, techniques for bonding wafers (for example, Japanese Patent Application Laid-Open Nos.
  • three-dimensional LSI technology has a problem that it is difficult to increase the number of vertical signal lines even though the number of transistors can be increased.
  • the reason for this is that The line width of the vertical signal line is much wider than the line width of the signal line, and transistors cannot be placed where the vertical signal line is located. Therefore, even if the designer of the image sensor uses the three-dimensional LSI technology, the transistors included in the same circuit will eventually be mounted on the same LSI, and the designer of the image sensor must reduce the number of pixels of the image sensor. It cannot be easily increased.
  • a visual device as a device for controlling a moving camera and performing image processing (see, for example, International Publication No. WO 00/16259).
  • This visual device searches for an object and performs image processing on the object by controlling the pan, tilt, and zoom mechanisms of the moving camera.
  • Most of the image processing performed by the visual device is local processing, and these local processings are executed in parallel by a plurality of array operation units arranged in a two-dimensional lattice.
  • each of these array operation units executes a plurality of local processes using a plurality of pixel data generated from a plurality of light receiving elements.
  • the image sensor be of a type in which a plurality of adjacent pixel data is input to one digital circuit, rather than of a pixel parallel type.
  • this type only one AZD conversion circuit is required for a plurality of light receiving elements, so even if the number of pixels of the image sensor increases, the image sensor designer does not necessarily need to use the AZD conversion circuit and the digital circuit. There is no need to increase the number.
  • all AZD conversion circuits and all digital circuits can operate in parallel, the performance of the image sensor is hardly degraded.
  • a plurality of sensor modules are arranged in a two-dimensional lattice, and in each of these sensor modules, a plurality of light receiving elements are arranged in a two-dimensional lattice. It is expected that high-definition and high-performance image sensors can be manufactured by sequentially generating pixel signals from a plurality of light receiving elements.
  • each of the plurality of sensor modules includes a large number of light receiving elements
  • the mounting area of each of the plurality of digital circuits also increases in proportion to the number of light receiving elements.
  • Each of the digital circuits can include a processor and a set of large memories.
  • this memory can store all pixel signals generated by the sensor module, the processor can refer to a huge number of pixel patterns composed of all pixel signals. Therefore, by assigning a combination of storage data, a memory address, and a write clock signal to these patterns, the processor can write appropriate storage data to any memory address in accordance with the write clock signal. Moreover, if at least one part of the set of memories is non-volatile, this part of the memory can continue to store this storage data, so the processor can even store the programs stored in this part of the memory. Can also be changed. Therefore, the image sensor manufacturer can change the program as needed after the image sensor has been manufactured, and omit the signal lines for supplying the program to all sets of memories. Can be.
  • the image sensor is expected to be able to change the programs in the memories of all sets simultaneously. Is done.
  • the visual device analyzes the geometry of an object in the digital image by repeating local processing for each pixel of the digital image, and uses the formed edge information image to perform the analysis.
  • the object is to separate the object area and the background area at high speed.
  • the present invention described in the claims also provides a controller that can return a receipt immediately after receiving a delivery, and transfers calculation data in a counterclockwise direction and a clockwise direction, so that the array operation unit and the virtual array operation unit can perform calculations.
  • the purpose is to transfer data efficiently.
  • the present invention realizes an interlocking counter that can constantly adjust the count number in accordance with an interlocking signal output from another interlocking counter even if an interlocking counter that does not mutually communicate interlocking signals is included.
  • the invention described in the claims provides a high-definition and high-speed image by outputting a plurality of pixel signals from each of a plurality of sensor modules having a plurality of light receiving elements arranged in a two-dimensional lattice. It is intended to manufacture a single sensor.
  • the invention according to claim 1 is a first image storage means for sequentially storing a plurality of digital images for at least one object in a moving image composed of a plurality of digital images, and a plurality of the digital images.
  • Edge information generating means for generating a coarse edge information image from an image; edge information forming means for forming the coarse edge information image into a formed edge information image using the digital image; and the digital image from the formed edge information image.
  • a geometric analysis means for generating a shape / size information image by detecting a position, a size, and a shape of at least one of the objects in, wherein the geometric analysis means tilts from the formed edge information image.
  • one data processing device composed of a plurality of array operation units arranged in a two-dimensional lattice may implement one or more different means among all means. Alternatively, all the above means may be realized.
  • the position / size inclination detecting means performs 8-neighborhood processing on the formed edge information image to obtain a contour of the object represented by formed edge information constituting each pixel of the formed edge information image.
  • the position / size / shape detecting means collects the forming edge information in one pixel for each object, and also collects the inclination size information in one pixel for each object and collects the one pixel for each object.
  • the shape of the object from the tilt magnitude information Generate shape / size information. Accordingly, the geometric analysis unit can generate the shape size information image representing the position, size, and shape of at least one of the objects in the digital image. Therefore, in the present invention, the position, the size, and the shape of the object can be detected at least from the moving image only by repeatedly executing the local processing by the plurality of array operation units.
  • the invention of claim 2 provides a first image storage unit for sequentially storing a plurality of digital images for at least one object in a moving image composed of a plurality of digital images, and a plurality of the digital images.
  • Edge information generating means for generating a coarse edge information image from a digital image, a first edge information forming means for forming the coarse edge information image into a first formed edge information image using the digital image, Detecting a position and a size of at least one of the objects divided by the first formed edge information constituting the formed edge information image, thereby generating a first overlapping information image;
  • An object region image representing at least one object region of at least one of the objects divided by the first formed edge information by using a detection unit and a plurality of nonlinear oscillators , An object / background separation unit that generates the first overlap information, and a second image storage unit that stores the object region image for a predetermined period.
  • a visual apparatus characterized in that the object Z background separation means separates at least one of the object regions from a background region of the digital image by being input as a disturbance to the corresponding nonlinear oscillator.
  • one data processing device composed of a plurality of array operation units arranged in a two-dimensional lattice may implement one or more different means among all means, The above means may be realized.
  • the first overlapping information constituting each pixel of the first overlapping information image represents the number of the first forming edge information gathered in one pixel, and furthermore, this pixel is an approximate number of the corresponding object. Indicates the position of the center of gravity.
  • the non-linear oscillator is mounted on each of the plurality of array operation units arranged in a two-dimensional lattice, and each of the non-linear oscillators includes The non-linear oscillator is coupled with a positive coupling value, and is coupled with the plurality of nonlinear oscillators in the vicinity of the vicinity with a negative coupling value.
  • the first formed edge information is obtained.
  • the phase difference between one set of the non-linear oscillators sandwiching the first formed edge information forming the report image becomes large, and the phase difference between the other sets of the non-linear oscillators becomes small.
  • the background separation unit can separate the object region of at least one of the objects separated by the first formed edge information from the background region.
  • the phase of the nonlinear oscillator to which the first overlapping information that is not 0 is input is: The phase shifts from the other non-linear oscillators.
  • the non-linear oscillator near the non-linear oscillator to which the first overlapping information which is not 0 is input also draws in the non-linear oscillator in the vicinity.
  • the phases of the plurality of nonlinear oscillators included in at least one of the object regions are quickly shifted from the phases of the other nonlinear oscillators. Therefore, in the present invention, the object Z background separating means can separate at least one of the object regions from the background region at high speed regardless of the state of the nonlinear oscillator. Problems relating to separation are suitably solved.
  • the invention according to claim 3 is a visual device including at least one data processing device including a plurality of array operation units arranged in a two-dimensional lattice, and generating a tilt magnitude information image from a binary image.
  • the shape and size information forming each pixel of the represents the shape and size of at least one object in the binary image, so that the shape and size information image indicates the position, the size, and the size of the object.
  • the binary image an edge information image, a color information image, and the like formed so that the line width is mainly 2 or 3 pixels are used.
  • the position Z size Z inclination detecting means and the position / size Z shape detecting means may be realized by two data processing devices, respectively, or one data It may be realized in a processing device.
  • the position Z size and inclination detecting means reduces the neighborhood size of the local processing executed in each of the plurality of array operation units. In particular, by setting it near 8, the contour It is possible to generate tilt magnitude information constituting each pixel of the tilt magnitude information image from the divided contours and the divided contours.
  • the inclination magnitude information is composed of the overlapping information and the inclination angle with respect to the contour, and the inclination angle is expressed in a range of 0 degree or more and less than 180 degrees with respect to the horizontal.
  • the position / size shape detecting means collects the inclination size information in each of the pixels in accordance with collecting information of each pixel of the binary image into one pixel using a large neighborhood size. The position, the size, and the shape can be detected for each object. Therefore, in the present invention, the positions, the sizes, and the shapes of the plurality of objects can be detected regardless of the number of the objects in the binary image. It is preferably solved.
  • the invention according to claim 4 is a visual device including at least one data processing device composed of a plurality of array operation units arranged in a two-dimensional lattice, and generating a tilt magnitude information image from a binary image. And a position / "size / shape detecting means for generating a shape / size information image from the binary image and the tilt / magnitude information image.”
  • the shape and size information constituting each pixel of the information image represents the shape and size of at least one object in the binary image with respect to the texture, so that the shape and size information image represents the texture of the object
  • an edge information image, a color information image, and the like mainly formed so that a line width is 2 or 3 pixels are used as the binary image.
  • the position / size inclination detecting means and the position / size / shape detecting means may each be realized by two data processing devices, or may be realized by one data processing device.
  • the position Z size and inclination detection means reduce the neighborhood size of local processing executed in each of the plurality of array operation units. By setting the neighborhood to 8, it is possible to divide the texture into line segments, and to generate, from the line segments, tilt size information constituting each pixel of the tilt size information image.
  • the information is composed of overlapping information for the texture and an inclination angle, and the inclination angle is expressed in a range of 0 degree or more and less than 180 degrees with respect to the horizontal.
  • the shape detection means is The information of each pixel of the binary image is collected into one pixel using the side size, and at the same time, the tilt magnitude information is collected in each of the pixels. Can be detected. Therefore, in the present invention, since the textures of a plurality of objects can be detected regardless of the number of the objects in the binary image, various problems relating to the recognition of the objects are suitably solved.
  • the invention according to claim 5 is a visual device including a single data processing device composed of a plurality of array operation units arranged in a two-dimensional lattice, wherein in each of the plurality of array operation units, Means for initializing the array operation unit, means for terminating the processing if there is no binary information or gradient magnitude information to be input, and means for inputting the binary information and the gradient magnitude information; Means for separating the binary information and the slope magnitude information; means for converting the binary information to overlap information; means for converting the slope magnitude information to source slope overlap information; and Means for calculating the center of gravity from the vicinity of the band pixel value of the overlapping information image representing the overlap information, and imaging the movement amount calculated from the center of gravity into the band pixel value of the movement amount image; Moves that represent information Means for moving each of the band pixel values of the skewing overlap information image to a movement position according to the movement amount; means for moving the band pixel values of the overlap information image to the movement position according to the movement amount; For each source, each
  • a visual device comprising: means for updating the sum of all band pixel values to all sums; and means for outputting each of the band pixel values of the source slope overlap information image. That is, this is an implementation form of an algorithm for realizing the function provided by the array operation unit by digital technology. After arranging the array operation units in the two-dimensional lattice, mutually interconnecting the array operation units and setting initial values of respective parameters of the array operation unit, the array operation units are configured by the binary information. A binary image and a tilt overlap information image composed of the tilt size information are input as appropriate in pixel units.
  • the processing is repeated until the binary image or the inclination magnitude information image is no longer input.
  • the array operation units can be operated in parallel, various problems relating to the detection of the positions and shapes of a plurality of objects can be suitably solved.
  • the invention according to claim 6 is a visual device that includes one data processing device including a plurality of array operation units arranged in a two-dimensional lattice, wherein each of the plurality of array operation units includes: Means for initializing the array operation unit, means for terminating the process if there is no binary information or gradient information to be input, and means for inputting the binary information and the gradient information.
  • Means for separating the binary information and the slope magnitude information means for converting the binary information to overlap information; means for converting the slope magnitude information to source slope overlap information; and Means for calculating the center of gravity from the vicinity of the band pixel value of the overlapping information image representing the overlap information, and converting the movement amount calculated from the center of gravity into the band pixel value of the movement amount image; Moves that represent information Means for moving each of the band pixel values of the overlapped information image to a movement position according to the movement amount; means for moving the band pixel value of the overlapped information image to the movement position according to the movement amount; For each source, each of the band pixel values of the source tilt overlap information image is calculated by summing all of the band pixel values of the source tilt overlap information image that has moved, and the source tilt that has moved.
  • Means for updating the sum of the band pixel values of the overlap information image and the value corresponding to the slope magnitude information, and the band pixel value of the overlap information image Means for updating to the sum of all of the band pixel values; means for identifying a shape from all of the band pixel values of the source slope overlapping information image; Means for generating each of the band pixel values of the shape / size information image representing the shape / size information from the identification result; and means for outputting each of the band pixel values of the shape / size information image.
  • Visual device That is, this is an implementation form of an algorithm for realizing the function provided by the array operation unit by digital technology.
  • the binary image composed of the information and the gradient magnitude information image composed of the gradient magnitude information are appropriately input in pixel units, from the center of gravity calculation to the output of each band pixel value of the shape magnitude information image. Are sequentially performed, and the process is repeated until the binary image or the tilt size information image is no longer input. According to the present invention, since the array operation units can be operated in parallel, various problems relating to the detection of the positions, sizes, and shapes of a plurality of objects can be suitably solved.
  • the visual device includes one data processing device including a plurality of array operation units arranged in a two-dimensional lattice, wherein each of the plurality of array operation units is a binary Means for inputting corresponding pixels in the image, means for inputting corresponding pixels in the grayscale image, means for calculating a plurality of parameters in the nonlinear oscillator, and means for outputting the calculation result of the nonlinear oscillator
  • the nonlinear oscillator separates at least one object region partitioned by the binary image from a background region by treating the corresponding pixel of the grayscale image as a disturbance. It is.
  • a formed edge information image is mainly used for the binary image, and a duplicate information image for the binary image is used for the grayscale image. Therefore, the overlapping information corresponding to the approximate position of the center of gravity of at least one of the object regions divided by the binary image is a positive integer, and the other overlapping information is 0. Moreover, the larger the object is, the larger the duplication information is. Therefore, all the nonlinear oscillators input the corresponding overlapping information as the disturbance, respectively, so that the phase of at least one of the nonlinear oscillators that inputs the non-zero overlapping information is changed to the remaining nonlinear oscillations. Advance or lag the child phase.
  • the non-linear oscillator that inputs the non-overlapping information pulls the phases of the plurality of non-linear oscillators in the vicinity to the phase of the non-linear oscillator, and as a result, is divided by the binary image.
  • the phases of the plurality of nonlinear oscillators included in one object region and the phases of the plurality of nonlinear oscillators included in the background region are quickly shifted. Therefore, in the present invention, at least one of the object region and the background region is separated at high speed, so that various problems relating to separation of the object and the background are suitably solved.
  • each of the plurality of array operation units transmits the calculation data calculated by the array operation unit.
  • Means for transmitting to the array operation unit in the 4 neighborhoods, and means for transferring the calculation data received from the array operation unit on the left side in the 4 neighborhoods to at least one array operation unit in the right side and the upper side Means for transferring the calculation data received from the array operation unit on the lower side of the four neighborhoods to at least one of the array operation units on the upper side and the left side; and Means for transferring the calculation data received from the array operation unit to at least one of the array operation units on the left side and the lower side; Means for transferring the calculation data received from the upper array operation unit to at least one of the lower and right array operation units.
  • the calculation data can be transferred to any of the array operation units included in a square area determined by the maximum number of transfers among the array operation units arranged in a two-dimensional lattice.
  • the present invention can also transfer the calculation data within an arbitrary rectangular area or circular area.
  • the array operation unit can transfer the calculation data to the upper array operation unit.
  • the array operation unit receives the calculation data from the lower array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the array operation unit sends the calculation to the upper array operation unit. Data can be transferred.
  • the array operation unit can transfer the calculation data to the array operation unit on the left side.
  • the array performance When the calculation unit receives the calculation data from the array operation unit on the right side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the array operation unit sends the calculation data to the column operation unit on the left side. Can be transferred. At this time, if the number of transfers in the vertical direction is 0 and less than the maximum number of transfers, the array operation unit can transfer the calculation data to the array operation unit on the lower side. When the array operation unit receives the calculation data from the upper array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the array operation unit is the lower array operation unit. The calculation data can be transferred to the computer.
  • the array operation unit can transfer the calculation data to the array operation unit on the right side.
  • the calculation data is transferred in a counterclockwise spiral shape, so that the communication load of the array operation unit can be dispersed. Therefore, various problems concerning the sharing of the calculation data between the array operation units are suitably solved.
  • the invention of claim 9 is a visual device including a plurality of array operation units arranged in a two-dimensional lattice, wherein each of the plurality of array operation units is calculated by the array operation unit. Means for transmitting the calculation data received from the array operation unit on the left side of the four neighbors to at least one of the right and lower sides.
  • An array 'operation unit which is transferred clockwise between a plurality of array operation units each arranged in a two-dimensional lattice.
  • the array operation units arranged in a two-dimensional lattice form That is, the calculation data can be transferred to any of the array operation units included in the square area determined by the maximum transfer count.
  • the present invention can also transfer the calculation data limited to arbitrary rectangular areas and circular areas.
  • the array operation unit receives the calculation data from the array operation unit on the left side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the array operation unit sends the calculation data to the array operation unit on the right side. Can be transferred.
  • the array operation unit can transfer the calculation data to the array operation unit below.
  • the array operation unit receives the calculation data from the lower array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the array operation unit is the upper array operation unit.
  • the calculated data can be transferred to the computer.
  • the array operation unit can transfer the calculation data to the array operation unit on the right side.
  • the array operation unit When the array operation unit receives the calculation data from the array operation unit on the right side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the array operation unit sends the calculation data to the array operation unit on the left side. Data can be transferred. At this time, if the number of transfers in the vertical direction is 0 and less than the maximum number of transfers, the array operation unit can transfer the calculation data to the array operation unit on the upper side. When the array operation unit receives the calculation data from the array operation unit on the upper side, if the transfer number in the vertical direction is less than the maximum transfer number, the array operation unit sends the array operation unit to the lower array operation unit. The calculation data can be transferred.
  • the tenth aspect of the present invention is directed to a view including a plurality of virtual array operation units arranged in a two-dimensional lattice.
  • the virtual array operation unit wherein each of the plurality of virtual array operation units transmits the calculation data calculated in the virtual array operation unit to the virtual array operation unit in the vicinity of the four, and a left side of the four neighbors.
  • Means for transferring to at least one of the virtual array operation units, and the virtual array operation unit on the upper side among the four neighborhoods Means for transferring the calculation data received from at least one of the lower and right virtual array operation units to the virtual array operation unit, whereby each of the calculation data of the virtual array operation unit is two-dimensional.
  • a virtual array operation unit characterized by being transferred in a counterclockwise direction between a plurality of the virtual array operation units arranged in a lattice.
  • the calculation data may be transferred to any of the virtual array operation units included in a square area determined by the maximum number of transfers among the virtual array operation units arranged in a two-dimensional lattice. it can.
  • the present invention can also transfer the calculation data limited to arbitrary rectangular areas and circular areas.
  • the virtual array operation unit When the virtual array operation unit receives the calculation data from the virtual array operation unit on the left side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the virtual array operation unit is the virtual array operation on the right side.
  • the calculation data can be transferred to the unit.
  • the virtual array operation unit can transfer the calculation data to the upper virtual array operation unit.
  • the virtual array operation unit receives the calculation data from the lower virtual array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the virtual array operation unit is the upper virtual array operation unit.
  • the calculation data can be transferred to an array operation unit.
  • the virtual array operation unit is added to the virtual array operation unit on the left side.
  • Calculation data can be transferred.
  • the virtual array operation unit receives the calculation data from the virtual array operation unit on the side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the virtual array operation unit is the left virtual array operation unit.
  • the calculation data can be transferred to an array calculation unit.
  • the virtual array operation unit can transfer the calculation data to the lower virtual array operation unit.
  • the virtual array operation unit When the virtual array operation unit receives the calculation data from the upper virtual array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the virtual array operation unit is the lower virtual array operation unit.
  • the calculation data can be transferred to an arithmetic unit. At this time, if the number of transfers in the horizontal direction is 0 and less than the maximum number of transfers, the virtual array operation unit can transfer the calculation data to the virtual array operation unit on the right.
  • the calculation data is transferred in a counterclockwise spiral shape, so that the communication load of the virtual array operation unit can be dispersed. Therefore, various problems concerning the sharing of the calculation data between the virtual array operation units are suitably solved.
  • each of the plurality of virtual array operation units is calculated by the virtual array operation unit.
  • the calculation data received from the virtual array operation unit on the right side of the four neighborhoods is converted into at least one of the virtual arrays on the left side and the upper side.
  • the virtual array operation unit is characterized by being transferred clockwise between the operation units.
  • the calculation data may be transferred to any of the virtual array operation units included in a square area determined by the maximum number of transfers. it can.
  • the present invention can also transfer the calculation data limited to arbitrary rectangular areas and circular areas. If the virtual array operation unit receives the calculation data from the virtual array operation unit on the left side, and if the number of transfers in the horizontal direction is less than the maximum number of transfers, the virtual array operation unit is the virtual array operation unit on the right side. The calculation data can be transferred to the unit. At this time, if the number of transfers in the vertical direction is 0 and less than the maximum number of transfers, the virtual array operation unit can transfer the calculation data to the lower virtual array operation unit.
  • the virtual array operation unit When the virtual array operation unit receives the calculation data from the lower virtual array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the virtual array operation unit is higher than the upper one. The calculation data can be transferred to the virtual array operation unit. At this time, if the number of transfers in the horizontal direction is 0 and less than the maximum number of transfers, the virtual array operation unit can transfer the calculation data to the virtual array operation unit on the right. When the virtual array operation unit receives the calculation data from the virtual array operation unit on the right side, if the number of transfers in the horizontal direction is less than the maximum number of transfers, the virtual array operation unit is the virtual array operation unit on the left side The calculated data can be transferred to the computer.
  • the virtual array operation unit can transfer the calculation data to the upper virtual array operation unit.
  • the virtual array operation unit receives the calculation data from the upper virtual array operation unit, if the number of transfers in the vertical direction is less than the maximum number of transfers, the virtual array operation unit is lower than the virtual array operation unit.
  • the calculation data can be transferred to the array operation unit.
  • the virtual array operation unit can transfer the calculation data to the virtual array operation unit on the left side.
  • the present invention transfers the calculation data in a clockwise spiral Therefore, the communication load of the virtual array operation unit can be distributed. Therefore, various problems concerning the sharing of the calculation data between the virtual array operation units are suitably solved.
  • the invention according to claim 12 is a visual device including a plurality of array operation units or a plurality of virtual array operation units arranged in a two-dimensional lattice, wherein all the array operation units and all the virtual arrays are provided.
  • Each of the operation units includes a processor, a set of memories, and a plurality of controllers.
  • For each of the array operation units and all of the virtual array operation units at least two of the controllers have a predetermined number of intervals. And that each of the controllers to which the number has been assigned is, for each of the plurality of array operation units and the virtual array operation unit adjacent to each other, of the plurality of controllers.
  • the invention of claim 13 includes a synchronous counter, a logic gate for determining an end value, a logic gate for amplifying a linked signal, at least one latch circuit for a linked signal, a logic gate for a linked signal, and a logic gate for an enable signal.
  • An interlocking counter wherein when the synchronous counter receives an enable signal, the synchronous counter counts pulses of a clock signal; When the count value output by the period counter matches the end value, the end value determination logic gate generates an interlock signal, and the interlock signal amplification logic gate outputs the interlock signal to output to the outside Amplifying the signal, and when the interlocking signal is not generated, the enable signal gate generates the enable signal, when the count reaches the end value.
  • each of the interlocking latch circuits is configured to output the interlocking signal input from outside. Storing one of the signals; the interlocking signal logic gate determining whether all the interlocking signal latch circuits store the interlocking signal; When all the interlocking signal latch circuits store the interlocking signal, the enable signal gate generates the enable signal, whereby the operation of the synchronous counter is restarted.
  • an interlocking counter characterized by: The synchronous counter is an up counter or a down counter of one bit or more, and the synchronous counter can count the pulses of the clock signal only when the enable signal is active.
  • the clock terminal of the synchronous counter may have a rising edge or a falling edge. If the count number is the maximum value or the minimum value, the end value determination logic gate activates the interlock signal. Otherwise, the interlocking signal is inactive. Since the interlocking signal is transmitted to the outside, a logic gate having high driving capability is used as the interlocking signal amplification logic gate. When the interlocking signal is inactive, the enable signal logic gate activates the enable signal. Therefore, until the count reaches the maximum value or the minimum value, the synchronous counter counts the pulses of the clock signal, the interlocking signal becomes active, and the synchronous counter stops. .
  • each of the interlocking signal latch circuits can store that one of the one or more interlocking signals input from the outside is active. Otherwise, each of the interlocking signal latch circuits is reset.
  • the output of the interlocking signal logic gate becomes active. Said interlocking signal
  • the enable signal logic gate sets the enable signal to active irrespective of the linked signal output by the end value determination logic gate. Therefore, even if the operation of the synchronous counter is stopped, the synchronous counter resumes the operation if all the interlocking signals input from the outside become active.
  • the operation of the synchronous counter can be controlled by one or more of the interlocking signals input from the outside. Therefore, various problems relating to the operation of the synchronous counter are preferably solved.
  • the invention according to claim 14 is a synchronous counter, an end value determination logic gate, an interlock signal amplification logic gate, at least one interlock signal latch circuit, an interlock signal logic gate, an enable signal logic gate, and an initial signal
  • a synchronous logic device including a logic gate for logic, wherein the synchronous power device comprises at least one of a synchronous clearing means and a synchronous loading means, and wherein the synchronous power device is enabled.
  • each of the interlocking signal latch circuits stores one of the interlocking signals input from the outside; and A logic gate for determining whether or not all of the interlocking signal latch circuits store the interlocking signal, and when all of the interlocking signal latch circuits store the interlocking signal, And the operation of the synchronous counter is restarted, and the initialization signal logic gate is configured to generate the end value determination logic gate.
  • the synchronization clearing means and the synchronization port means use the initialization signal to generate the initialization signal by inputting the interlocking signal and the enable signal output by the synchronization counter.
  • Set an initial value in the evening and ⁇ ⁇ is an interlocking counter.
  • the synchronous counter is an up or down counter of one or more bits, and the synchronous counter can count the pulses of the clock signal only when the enable signal is active.
  • the clock terminal of the synchronous counter may have a rising edge or a falling edge. If the count number is a maximum value or a minimum value, the end value determination logic gate activates the interlock signal. Otherwise, the interlock signal is inactive.
  • the interlocking signal amplification logic gate Since the interlocking signal is transmitted to the outside, a logic gate having high driving capability is used as the interlocking signal amplification logic gate.
  • the enable signal logic gate activates the enable signal. Therefore, until the count reaches the maximum value or the minimum value, the synchronous counter counts the pulses of the clock signal, the interlocking signal becomes active, and the synchronous counter stops. I do.
  • each of the interlock signal latch circuits can store that one of the one or more interlock signals input from the outside is active. Otherwise, each of the interlocking signal latch circuits is reset. When all of the interlocking signal latch circuits store the interlocking signal, the output of the interlocking signal logic gate becomes active.
  • the enable signal logic gate activates the enable signal regardless of the interlock signal output by the end value determination logic gate. To Therefore, even if the operation of the synchronous counter is stopped, the synchronous counter restarts the operation if all the interlocking signals input from the outside become active. Further, when both the interlocking signal and the enable signal are active, the initialization signal logic gate activates the initialization signal.
  • the clear terminal of the synchronous power input receives the initialization signal
  • the synchronous clear means sets the count number to the minimum value or the maximum value.
  • the load terminal of the synchronous counter inputs the initialization signal
  • the synchronous load means sets the number of force to an appropriate initial value.
  • the present invention provides the The operation of the synchronous counter can be controlled by one or more of the interlocking signals input. Therefore, various problems relating to the operation of the synchronous counter are preferably solved.
  • the interlocked counter includes a synchronous oscillation circuit, wherein the synchronous oscillation circuit generates the clock signal and at least one self-excited oscillation circuit.
  • the self-excited oscillation circuit includes a synchronizing signal latch circuit, wherein the synchronizing signal latch circuit inputs the enable signal, and the synchronizing signal latch circuit.
  • the output of the clock signal changes the phase of the cook signal, and at least one of the clock signal amplification logic gates amplifies the clock signal.
  • a D latch is used as the synchronization signal latch circuit, and the enable signal is input to a gate terminal of the D latch.
  • the latch circuit for synchronizing signal operates as a buffer and a NOT gate. Otherwise, the synchronization signal latch circuit stores the input signal.
  • the synchronization signal latch circuit is used instead of one of the logic elements. .
  • the self-excited oscillation circuit performs self-excited oscillation. Otherwise, the self-oscillating circuit is stable in its current state. Therefore, the self-excited oscillation circuit can delay the phase of the clock signal until the enable signal becomes active.
  • a NOT gate is used as the logic signal amplification logic gate.
  • the clock signal amplification logic gate amplifies the clock signal generated by the self-excited oscillation circuit as necessary, and supplies the clock signal to the synchronous counter and other electronic circuits.
  • the synchronous oscillation circuit does not change the voltage of the quick signal. Can be counted. Therefore, various problems relating to the pulse of the clock signal are suitably solved.
  • the invention according to claim 16 is the interlocked counter according to claim 13 or 14, comprising a synchronous oscillation circuit, wherein the synchronous oscillation circuit comprises: a synchronization signal flip-flop circuit; a synchronization signal amplifier; and a loop.
  • a D flip-flop is used for the synchronization signal flip-flop circuit, the enable signal is input to a D terminal of the D flip-flop, and a clock terminal of the D flip-flop is connected to a clock terminal of the D flip-flop.
  • the clock signal is input.
  • an edge in the same direction as that of the synchronous counter is used for the clock terminal of the D flip-flop. Therefore, the synchronous signal flip-flop circuit stores the same signal as the enable signal used by the synchronous counter.
  • An amplifier capable of generating a voltage required to control the voltage controlled oscillator is used as the synchronization signal amplifier. If this voltage is within the range of the gate level, an N ⁇ T gate and a buffer are used for the synchronous signal amplifier.
  • a common amplifier is used as the synchronization signal amplifier.
  • the loop filter a lag-type filter, a lag-lead-type filter, a modification thereof, and the like are used.
  • the loop filter removes high frequency noise included in the output of the synchronous signal amplifier in order to suppress jitter of the clock signal output from the voltage controlled oscillator.
  • the voltage-controlled oscillator a Colpitts-type oscillating circuit and a piercing oscillator using a piezoelectric element such as a crystal oscillator are used, and the voltage-controlled oscillator outputs a variable-capacitance diode whose capacity varies with voltage. The frequency of the clock signal is changed.
  • the voltage-controlled oscillator sets the phase of the clock signal to You can proceed.
  • a NOT gate is used as the clock signal amplification logic gate.
  • the clock signal amplification logic gate amplifies the clock signal generated by the self-excited oscillation circuit as necessary, and supplies the amplified clock signal to the synchronous counter and other electronic circuits.
  • the synchronous oscillating circuit while the synchronous counter is stopped, the synchronous oscillating circuit only slightly changes the period of the clock signal. Therefore, the synchronous oscillating circuit operates according to the operation of the other electronic circuit.
  • An invention according to claim 17 is an interlocking device including a plurality of interlocking force counters according to at least one of claims 13 to 16, wherein the plurality of interlocking force counters are arranged in a plane.
  • each of the interlocking force counters communicates the interlocking signal with each other, that each of the interlocking counters is Storing all the interlocking signals output by at least one of the interlocking counters; and until the respective interlocking counters store all the interlocking signals, the synchronous type of each of the interlocking counters.
  • An interlocking device characterized in that the counter stops the operation, whereby the synchronous counters of the plurality of interlocked counters have the same count number.
  • the plurality of interlocking counters are arranged in the square lattice shape, the hexagonal lattice shape, or the like, the distances between adjacent interlocking counters are all equal.
  • the interlocking signal output from each of the interlocking counters is output to all the adjacent interlocking counters. Since all the propagation delay times are equal, all the phases of the interlocking signals input to all of the adjacent interlocking counters are also equal.
  • the interlocking counter restarts the operation of the synchronous power counter when the interlocking signals of all the adjacent interlocking power supplies become active.
  • the interlocking signal latch circuit of the interlocking counter stores the interlocking signal input from one of the adjacent interlocking counters, so that the interlocking counter operates with the adjacent interlocking counter.
  • the operation of the synchronous counter is restarted in accordance with the one of the interlocking signals of all of the interlocking power terminals that are in contact with each other, the one having the phase delay. Therefore, if all of the interlocked counters receive clock signals of the same phase, and if the period of the clock signal is sufficiently longer than the propagation delay time of the interlock signal, the phase of all the interlock signals is increased. Matches.
  • the interlocking signal latch circuit of the interlocking power supply stores the interlocking signal input from one of the adjacent interlocking power counters. Then, since the phase of the clock signal input by one of the adjacent interlocked counters is advanced, the interlocked signal output by the interlocked power supply is activated.
  • the output of the interlocking signal latch circuit for inputting the interlocking signal remains active. Therefore, even if the phases of the clock signals input to all the interlocked counters are not equal, adjacent interlocked counters can receive the interlocked signal from each other.
  • the count numbers output by the plurality of interlocking counters can be matched.
  • the higher the frequency of the clock signal the more the propagation delay time of the clock signal becomes a problem.
  • the frequency-divided signal of the clock signal can be distributed to the digital circuit of the entire LSI. Therefore, various problems relating to the synchronization of the digital circuit are suitably solved.
  • the invention according to claim 18 is an image sensor including a plurality of sensor modules, wherein each of at least one of the sensor modules includes: a plurality of pixel cells arranged in a two-dimensional lattice; and a plurality of the pixels.
  • a light-receiving element that includes a charge-coupled device arranged along the cell array, a charge-transfer driving device, and an output amplifier, wherein at least one of the pixel cells converts light into electric charge;
  • a charge transfer gate wherein in each of the at least one sensor module, the output of the charge transfer drive device conducts the charge transfer gate of at least one of the pixel cells; and
  • the device has at least one of said charge transfer Individually storing the electric charge of the light receiving element output via the transmission gate; and outputting the electric charge from the electric charge transfer driving device to the output amplifier in order of the electric charge stored in the electric charge coupling element.
  • the output amplifier sequentially amplifies the charge stored in the charge-coupled device, whereby each of at least one of the sensor modules is output by the charge transfer driving device.
  • An image sensor for sequentially outputting the charges of the light receiving elements of all the pixel cells as pixel signals in accordance with a pixel synchronization signal to be output.
  • all of the sensor modules are arranged in a lattice or hexagonal lattice. Of course, these sensor modules may be arranged in any position such as a straight line or a circle. Further, all the pixel cells are arranged in a lattice shape or a hexagonal lattice shape.
  • Each of the pixel cells includes the light receiving element and the charge transfer gate, and the light receiving element includes a photodiode, a phototransistor, and a HARP (High ga in Ava 1 anche Rus hi ng amor phous photon toducer).
  • a film or the like is used.
  • the light receiving element When the light receiving element is irradiated with the light, the light receiving element generates the electric charge by a photoelectric effect. At this time, an electronic circuit is added to the light receiving element as needed to store the electric charge.
  • the charge-coupled device is arranged in one stroke along an array of the plurality of pixel cells including the light-receiving device. When the charge transfer driving device turns on at least one of the charge transfer gates, the charge can move to the charge-coupled device.
  • the driving device for charge transfer applies a constant voltage to the charge-coupled device, the charge moves from the light-receiving device to the charge-coupled device.
  • the charge transfer driving device applies the voltage to the charge-coupled device according to a predetermined pattern, the charge stored in the charge-coupled device moves in the charge-coupled device in a bucket brigade manner.
  • one of the charges can move to one of the two ends of the charge-coupled device in the order of accumulation. Therefore, the output amplifier can receive the charges generated by at least one of the light receiving elements one by one from the charge-coupled element and sequentially convert the charges into the pixel signals.
  • the drive device for charge transfer outputs the charge synchronization signal after moving the charge stored in the charge-coupled device, so that the output amplifier is It can be determined that the pixel signal is being output.
  • the image sensor can simultaneously output the pixel signals from at least one of the sensor modules.
  • a plurality of identical sensor modules are arranged in the two-dimensional lattice shape, and a large number of pixel signals are output with a small number of signal lines.
  • the invention according to claim 19 is an image sensor including a plurality of sensor modules, wherein each of the sensor modules includes a plurality of pixel cells arranged in a two-dimensional lattice, a vertical shift register, and a horizontal shift register.
  • each of the noise cancellers includes at least: Suppressing the noise of the voltage output through the one row selection gate; and Conducting at least one of the column select gates; andamplifying an output of the noise canceller output through the at least one column select gate, by the output amplifier.
  • all of the sensor modules are arranged in a lattice or hexagonal lattice, but, of course, these sensor modules may be arranged at any position such as a straight line or a circle.
  • all the pixel cells are arranged in a lattice shape or a hexagonal lattice shape, and the arrangement of the pixel cells is represented by a matrix of at least one row and at least one column. At least one noise canceller and at least one column selection gate are arranged, one for each column.
  • Each of the pixel cells includes the light receiving element, the charge amplifier, and the row selection gate, and the light receiving element includes a photodiode, a phototransistor, HARP (Hi-ga in Ava l anche Rus hi ng a mo rphous Pot oc toduc) film or the like is used.
  • the light receiving element When the light receiving element is irradiated with the light, the light receiving element generates the electric charge by a photoelectric effect. At this time, an electronic circuit is added to the light receiving element as needed to store the electric charge.
  • the charge amplifier converts the voltage into the voltage according to the amount of the charge.
  • the vertical shift register selects one of the rows, the row selection gate of at least one of the pixel cells included in the selected row becomes conductive.
  • the charge amplifiers of at least one of the pixel cells included in the selected row are input to the noise canceller for each of the columns.
  • At least one noise canceller suppresses the noise included in the voltage output by the charge amplifier of at least one of the pixel cells arranged in the corresponding column.
  • the horizontal shift register selects one of the columns
  • the column select gate of the selected column becomes conductive.
  • the voltage whose noise is suppressed by the noise canceller of the selected column is input to the output amplifier. Therefore, by selecting one of all the pixel cells in the vertical shift register and the horizontal shift register in a fixed order, the output amplifier can be configured to operate at least one of the light receiving elements of the pixel cells. Charge can be output as the pixel signal.
  • the horizontal shift register may select one of the columns and then output the charge synchronization signal, thereby determining that the output amplifier is outputting the pixel signal.
  • the image sensor since each of the sensor modules includes the vertical shift register and the horizontal shift register, the image sensor can output the pixel signals simultaneously from at least one of the sensor modules. it can.
  • the image sensor in order to manufacture an area sensor, exactly the same plurality of sensor modules are arranged in the two-dimensional lattice shape, and a large number of pixel signals are output with a small number of signal lines. Various problems related to design are solved appropriately.
  • the invention according to claim 20 is the image sensor according to claim 18 or 19, wherein a layer in which at least one of the sensor modules is arranged in the two-dimensional lattice shape, and a plurality of AZD conversion circuits.
  • a layer in which paths are arranged in the two-dimensional lattice, and a layer in which a plurality of digital circuits are arranged in the two-dimensional lattice are stacked, and the pixel signal output by each of the plurality of sensor modules is And AZD conversion circuits, and each of the plurality of AZD conversion circuits converts the pixel signal into pixel data, and the plurality of AZD conversion circuits.
  • the pixel data output by each of the plurality of digital circuits is input to at least one different one of the plurality of digital circuits, whereby at least one of the light receiving elements in at least one of the sensor modules
  • An image sensor characterized in that the charge generated by the pixel circuit is sequentially input as the pixel data to one corresponding digital circuit in accordance with the pixel synchronization signal.
  • at least one of the sensor modules, the corresponding one of the AZD conversion circuits, and the corresponding one of the digital circuits may be vertically overlapped with each other.
  • the sensor modules, at least one AZD conversion circuit, and at least one digital circuit are arranged in a grid pattern and a hexagon grid pattern.
  • each of the at least one digital circuit includes a buffer such as a shift register and a serial / parallel conversion circuit, all the pixel data output by the corresponding AZD conversion circuit in accordance with the pixel synchronization signal. And any one of the pixel data can be selectively extracted. Therefore, these digital circuits can change the order of all the input pixel data.
  • a signal for one pixel signal is provided between one sensor module and one corresponding AZD conversion circuit. At least one signal line for the pixel data is wired between one AZD conversion circuit and one corresponding digital circuit, and one sensor module; One signal line for the pixel synchronization signal is wired between one corresponding digital circuit.
  • Each of the at least one digital circuit inputs the pixel signal as the pixel data only from the corresponding one of the sensor modules, so that even if the number of pixels of the image sensor increases, at least Each of the one digital circuit converts all the pixel signals output by the corresponding one of the sensor modules into The pixel data can be input in a short time.
  • the signal line for one pixel signal from one sensor module to the corresponding one AZD conversion circuit corresponds to the signal line from the one A / D conversion circuit.
  • FIG. 1 is a block diagram of a visual device for recognizing the approximate position, size and shape of an outline of at least one object in a digital image.
  • FIG. 2 is a block diagram of a visual device for separating a region of one object in a digital image from a background.
  • FIG. 3 is a block diagram of a visual device for recognizing the color of one object in a digital image.
  • Figure 4 is Ah In Proc view of recognizing the visual device one object pattern in the digital image 0
  • FIG. 5 is a block diagram of a visual device that detects the position, size, and inclination of one object in a digital image.
  • FIG. 6 is a block diagram of a visual device for recognizing one object in a digital image.
  • FIG. 7 is a block diagram of a visual device for understanding a digital image representing at least one object.
  • FIG. 8 is a block diagram of a visual device for controlling a moving camera to search for an object.
  • FIG. 9 is an explanatory diagram of image coordinates when the moving camera is rotated around the optical axis of the lens.
  • FIG. 10 is a block diagram of a visual device that controls a moving camera to search for an object and counts the number of objects.
  • FIG. 11 is a block diagram of an array operation unit arranged in a lattice.
  • FIG. 12 is an explanatory diagram of numbers near 8 that are ordered in a counterclockwise direction.
  • FIG. 13 is a flowchart showing the algorithm of the image storage means of the present embodiment.
  • FIG. 14 is an explanatory diagram when color information is generated for a specific color in a digital image.
  • FIG. 15 is a flowchart showing an algorithm of the color information generating means of the present embodiment.
  • FIG. 16 is an explanatory diagram of a case where coarse edge information is generated using a digital image.
  • FIG. 17 is a flowchart showing an algorithm of the edge information generating means of the present embodiment.
  • FIG. 18 is an explanatory diagram in the case where coarse edge information is formed into formed edge information using a digital image.
  • FIG. 19 is a flowchart showing an algorithm of the edge information forming means of the present embodiment.
  • FIG. 20 is an explanatory diagram of a case where low-resolution coarse edge information generated from a low-resolution digital image is formed as formed edge information.
  • FIG. 21 is an explanatory diagram of a case where an area of low-resolution coarse edge information generated from a low-resolution digital image is cut out and then formed as formed edge information.
  • FIG. 22 is an explanatory diagram for detecting the position and size of an object in an edge information image.
  • FIG. 23 is a flowchart showing an algorithm of the position Z size detecting means of the present embodiment.
  • FIG. 24 is an explanatory diagram for detecting the position and size of an object in the object area image.
  • FIG. 25 is an explanatory diagram for detecting the position, size, and inclination of an object in an edge information image.
  • FIG. 26 is a flow chart showing the algorithm of the position / size Z inclination detecting apparatus of the present embodiment.
  • FIG. 27 is an explanatory diagram for detecting the position, size, and inclination of an object in the object region image.
  • FIG. 28 is an explanatory diagram of an example of source duplicate information.
  • FIG. 29 is an explanatory diagram for detecting the position, size, and inclination of a texture in a color information image.
  • FIG. 30 is an explanatory diagram in the case where the position, size, and inclination of an object in an edge information image are detected, and inclination magnitude information is output.
  • FIG. 31 is an explanatory diagram for detecting the normal direction of a line segment in a formed edge information image.
  • FIG. 32 is an explanatory diagram in the case of detecting the normal direction of the cross in the formed edge information image.
  • FIG. 33 is an explanatory diagram in the case of detecting the normal directions of a plurality of lines constituting a triangle in a formed edge information image.
  • FIG. 34 is an explanatory diagram of a case where the normal directions of a plurality of lines constituting a rectangle in a formed edge information image are detected.
  • FIG. 35 is an explanatory diagram in the case where the normal directions of a plurality of lines constituting a rhombus in a formed edge information image are detected.
  • FIG. 36 is an explanatory diagram in the case of detecting the normal direction of a curve constituting a circle in a formed edge information image.
  • FIG. 37 is an explanatory diagram of a case where a source inclination duplicate information image is generated from a formation edge information image including a line segment and an inclination size information image.
  • FIG. 38 is an explanatory diagram of a case where a source inclination overlapping information image is generated from a formed edge information image including a triangle and an inclination size information image.
  • FIG. 39 is an explanatory diagram of a case where a source inclination overlapping information image is generated from a formed edge information image including a rectangle and an inclination size information image.
  • FIG. 40 is an explanatory diagram in the case of generating a source tilt overlapping information image from a formed edge information image including a rhombus and a tilt size information image.
  • FIG. 41 is an explanatory diagram of a case where a source inclination duplicate information image is generated from a formation edge information image including a circle and an inclination size information image.
  • FIG. 42 is a flowchart showing an algorithm of the position / size / shape detecting device according to the present embodiment.
  • FIG. 43 is an explanatory diagram of a case where a formed edge information image of a triangle is input and a source inclination overlapping information image is output.
  • FIG. 44 is an explanatory diagram of a case where an incomplete triangular formed edge information image is input and a source inclination overlapping information image is output.
  • FIG. 45 is an explanatory diagram of a case where a formed edge information image of a triangle is input and a shape size information image is output.
  • FIG. 46 is an explanatory diagram of a case where a formation edge information image of a face part is input and a shape size information image is output.
  • FIG. 47 is an explanatory diagram of a case where a texture forming edge information image is input and a shape size information image is output.
  • FIG. 48 is an explanatory diagram in the case of normalizing the separated object area of the digital image.
  • FIG. 49 is a flowchart showing an algorithm of the area normalizing means of the present embodiment.
  • FIG. 50 is a flowchart showing an algorithm of the area normalizing means of the present embodiment when the interpolation between pixels is omitted.
  • FIG. 51 is an explanatory diagram of a case where a mask image is generated from a digital image using a separated object region image.
  • FIG. 52 is a flowchart showing the algorithm of the mask means of the present embodiment.
  • FIG. 53 is a flowchart showing an algorithm of the image holding means of the present embodiment.
  • FIG. 54 is an explanatory diagram in the case of performing pattern matching on an input image from among template images.
  • FIG. 55 is a flowchart showing the algorithm of the pattern matching means of the present embodiment. It is.
  • FIG. 56 is an explanatory diagram of a case where an object area image is generated from a triangular formed edge information image and an overlapping information image.
  • FIG. 57 is a flowchart showing an algorithm of the object Z background separation means of the present embodiment.
  • FIG. 58 is an explanatory diagram showing a state in which edge information of a triangle in a broken line state is separated into an inner region and an outer region of the broken line triangle.
  • FIG. 59 is an explanatory diagram showing a state where edge information obtained by overlapping two triangles is separated into two triangle regions and a background region.
  • FIG. 60 is an explanatory diagram showing a state where edge information in a broken line state when two circular object areas are overlapped is separated into two circular areas and a background area.
  • FIG. 61 is a block diagram of the internal structure of the array operation unit.
  • FIG. 62 is a block diagram of the controller.
  • FIG. 63 is an explanatory diagram showing input / output signals of the flag decoder.
  • FIG. 64 is an explanatory diagram showing input / output signals of the flag encoder.
  • FIG. 65 is a circuit diagram of a flag decoder and a flag register.
  • FIG. 66 is a block diagram of a flag encoder and a status register.
  • FIG. 67 is a circuit diagram of a flag encoder and a status register for communicating with the right array operation unit.
  • FIG. 68 is an explanatory diagram of an array operation unit when five controllers are arranged on a plane.
  • FIG. 69 is an explanatory diagram of an array operation unit when five controllers are stacked.
  • FIG. 70 is an explanatory diagram in a case where 16 array operation units are regarded as one virtual array operation unit.
  • Fig. 71 shows the concatenation of 16 array operation units contained in one virtual array operation unit. It is an explanatory view in the case of assigning an assigned number for a trawler.
  • FIG. 72 is an explanatory diagram of a shift register for sequentially storing 16 previous input data output by 16 array operation units.
  • FIG. 73 is an explanatory diagram of the conversion when the array operation unit transfers data in the vicinity of 120 in the counterclockwise direction.
  • FIG. 74 is an explanatory diagram of a transfer rate when a virtual array operation unit that matches the array operation unit transfers data in the vicinity of 120 in the counterclockwise direction.
  • FIG. 75 is an explanatory diagram of a fundamental transfer rate when a virtual array operation unit including a 4 ⁇ 4 array operation unit transfers data in the vicinity of 120 in a counterclockwise direction.
  • FIG. 76 is an explanatory diagram of an actual transfer rate when a virtual array operation unit including a 4 ⁇ 4 array operation unit transfers data in the vicinity of 120 in a counterclockwise direction.
  • Fig. 77 shows the wiring diagram when each of the four controllers of the array operation unit sends data to the controller of the upper array operation unit with the assigned number smaller by one. It is.
  • FIG. 78 shows the case where each of the four controllers of the array operation unit transmits data to the controller of the lower array operation unit with the assigned number being one higher.
  • FIG. 4 is an explanatory diagram of wiring.
  • Figure 79 shows the wiring diagram when each of the four controllers in the array operation unit sends data to the controller in the left array operation unit with the assigned number higher by one. It is.
  • Figure 80 shows the wiring diagram when each of the four controllers of the array operation unit sends data to the controller of the right array operation unit with the assigned number one smaller. It is.
  • FIG. 81 shows the case where each of the four vertically arranged controllers in the array operation unit transmits data to the controller of the right side array operation unit with the assigned number one smaller.
  • FIG. 3 is an explanatory diagram of wiring.
  • FIG. 82 is an explanatory diagram of an upper right transfer rate when an array operation unit having a transfer controller transfers data in a counterclockwise direction.
  • FIG. 83 is an explanatory diagram of a transfer route in the upper right direction when the array operation unit having the transfer and re-transfer controllers transfers data counterclockwise.
  • FIG. 84 is an explanatory diagram of a controller having four transfer circuits.
  • FIG. 85 is an explanatory diagram of bit allocation of the communication status buffer.
  • FIG. 86 is an explanatory diagram of a pre-input circuit for inputting 16 pre-input data.
  • FIG. 87 is a state transition diagram of the controller for the previous input circuit.
  • FIG. 88 is an explanatory diagram of a result output circuit that outputs 16 result data.
  • FIG. 89 is a state transition diagram of the result output circuit controller.
  • FIG. 90 is an explanatory diagram of a transfer circuit which communicates the delivery and reception of positive logic and stores the calculation data when the delivery is active.
  • FIG. 91 is a state transition diagram of a controller for a transfer circuit that communicates transmission and reception of positive logic.
  • FIG. 92 is an explanatory diagram of a transfer circuit that communicates delivery and reception of negative logic and stores calculation data when delivery is active.
  • FIG. 93 is an explanatory diagram of a transfer circuit that communicates the delivery and reception of negative logic and stores calculation data at the time of rising of delivery.
  • FIG. 94 is an explanatory diagram of the allocation of the calculation status for each bit.
  • FIG. 95 is an explanatory diagram of the positions of 4 ⁇ 4 array operation units included in the virtual array operation unit.
  • FIG. 96 is a circuit diagram of a basic linked counter.
  • FIG. 97 is a circuit diagram of a synchronous counter using three flip-flops.
  • FIG. 98 is a circuit diagram of a linked counter in which the synchronous counter counts up to five.
  • FIG. 99 is a circuit diagram of a synchronous counter using the model number 7 4 1 6 3.
  • FIG. 100 is a block diagram of a network composed of three interlocked counters. You.
  • FIG. 101 is a timing chart when three interlocking counters are synchronized.
  • FIG. 102 is a timing chart in the case where one of the three interlocked counters advances in phase.
  • FIG. 103 is a timing chart when one of the three interlocked counters is delayed in phase.
  • FIG. 104 is a timing chart in the case where the phases of the three linked counters are different.
  • FIG. 105 is a circuit diagram of an interlocking counter provided with a synchronous oscillation circuit.
  • FIG. 106 is a circuit diagram of an interlocking counter having a synchronous oscillation circuit and counting up to 5 synchronous counters.
  • FIG. 107 is a circuit diagram of a synchronous oscillation circuit using a ring oscillator.
  • FIG. 108 is a timing chart of FIG.
  • FIG. 109 is a circuit diagram of a synchronous oscillation circuit using a ring oscillator composed of a CMOS gate. >
  • FIG. 110 is a circuit diagram of a synchronous oscillation circuit in the case of using an unstable multi-pipe breaker composed of TTL gates.
  • FIG. 11 is a circuit diagram of a synchronous oscillation circuit when a loop filter and a voltage controlled oscillator are used.
  • FIG. 112 is a timing chart of FIG.
  • FIG. 113 is a block diagram of a network including interlocked counters arranged in a square lattice.
  • FIG. 114 is a block diagram of a network including interlocked counters arranged in a hexagonal lattice.
  • FIG. 115 is a block diagram of a network composed of interlocking counters arranged so that their distances are equal.
  • FIG. 116 is an explanatory view of a case where interlocking counters are stacked so that the grids overlap.
  • FIG. 117 is an explanatory diagram of a case where a linked counter, a digital circuit, and an analog circuit are stacked.
  • FIG. 118 shows an interlocking scheme in which when the signal distribution latch circuit is reset by the output of the signal distribution flip-flop circuit, an output signal is generated using the third and fifth outputs of the signal distribution decoder.
  • FIG. 3 is a circuit diagram of an expression signal distribution circuit.
  • FIG. 119 is a timing chart of an interlocking signal distribution circuit that generates an output signal using the third and fifth outputs of the output of the signal distribution decoder.
  • FIG. 120 shows an interlocking system that generates an output signal using the third and fifth outputs of the signal distribution decoder when the signal distribution latch circuit is reset by the output of the signal distribution decoder.
  • FIG. 120 shows an interlocking system that generates an output signal using the third and fifth outputs of the signal distribution decoder when the signal distribution latch circuit is reset by the output of the signal distribution decoder.
  • FIG. 121 is an explanatory diagram of a case where a plurality of sensor modules arranged in a lattice form output pixel signals in parallel.
  • FIG. 122 is an explanatory diagram of a case where a plurality of sensor modules arranged in a hexagonal lattice form output pixel signals in parallel.
  • FIG. 123 is an explanatory diagram of a pixel cell composed of a light receiving element and a charge transfer gate.
  • FIG. 124 shows a case where the sensor module sequentially extracts pixel signals from a plurality of pixel cells arranged in a lattice using a charge-coupled device and a charge transfer driving device arranged in an S-shape.
  • FIG. 125 shows a case where the sensor module sequentially extracts pixel signals from a plurality of pixel cells arranged in a lattice using a spirally arranged charge-coupled device and a charge transfer driving device.
  • FIG. 126 is an explanatory diagram in the case where the sensor module sequentially extracts pixel signals from a plurality of pixel cells arranged in a hexagonal lattice using the spirally arranged charge-coupled devices.
  • FIG. 127 is an explanatory diagram of a pixel cell including a light receiving element, a charge amplifier, and a row selection gate.
  • FIG. 128 is an explanatory diagram of a case where the sensor module sequentially extracts pixel signals from a plurality of pixel cells arranged in a lattice using a vertical shift register and a horizontal shift register.
  • FIG. 129 is an explanatory diagram in which each of a plurality of sensor modules arranged in a lattice receives light from above and outputs pixel signals below.
  • FIG. 130 is an explanatory diagram of a case where each of a plurality of sensor modules arranged in a hexagonal lattice receives light from above and outputs pixel signals below.
  • FIG. 13 shows a layer on which a plurality of light receiving elements are mounted, a layer on which a charge transfer driving device, a plurality of charge transfer gates and an output amplifier are mounted, and a layer on which a charge coupled element is mounted.
  • FIG. 4 is an explanatory diagram in a case where are stacked.
  • Fig. 132 shows a layer on which multiple light-receiving elements are mounted, a layer on which multiple charge amplifiers are mounted, a vertical shift register, a horizontal shift register, a plurality of row selection gates, a plurality of noise cancellers, and a FIG. 4 is an explanatory diagram in a case where layers on which a column selection gate and an output amplifier are mounted are stacked.
  • Fig. 133 is an explanatory diagram of the case where the layer on which multiple sensor modules are mounted, the layer on which multiple AZD conversion circuits are mounted, and the layer on which multiple digital circuits are mounted are stacked It is.
  • FIG. 134 is a block diagram of a digital circuit including a processor, a set of memories, and a controller.
  • FIG. 135 is a block diagram of a controller in which the previous input shift register sequentially inputs pixel data, the previous input data register holds pixel data, and the address decoder selects pixel data.
  • FIG. 136 is an explanatory view in the case where light is emitted from a light source to an image sensor having a digital circuit.
  • FIG. 137 is a flowchart of a memory rewriting routine for rewriting stored data in a set of memories while the processor monitors the controller.
  • FIG. 138 is a flowchart of a memory rewriting routine for rewriting memory data in a set of memories when the processor inputs a memory rewriting signal.
  • FIG. 139 is an explanatory diagram of nine pixel data stored in a set of memories when 0 or 3 of the 3 ⁇ 3 light receiving elements receive light.
  • FIG. 140 is an explanatory diagram of nine pixel data stored in a set of memories when six or nine of the 3 ⁇ 3 light receiving elements receive light.
  • FIG. 141 is an explanatory diagram of a case where an image sensor is irradiated with interference fringes using a transmission diffraction grating.
  • FIG. 142 is an explanatory diagram of a case where an image sensor is irradiated with an interference beam using a reflection type diffraction grating.
  • FIG. 144 is an explanatory diagram in the case of irradiating an interference fringe to an image sensor using a diffraction grating formed in an optical waveguide.
  • an embodiment of the visual device 2 according to the invention described in claim 1 is an image memorization means 12, etsun '
  • the image storage means 12 sequentially stores these digital images 111.
  • the edge information generating means 14 uses two digital images 111 to generate rough edge information 1 of at least one object moving in the digital images 111.
  • a rough edge-information image 1 13 including 1 2 is generated.
  • the edge information forming means 15 uses one of the two digital images 111 to convert the coarse edge 'information image 113 into a formed edge-information image 115. Form.
  • the geometric analysis means 37 includes position / size / inclination detection means 44 and position / size / form detection means 45.
  • a form-size-information image 190 is generated from the formed edge information image 115 (see FIG. 45). Even if the present invention does not know in advance any information such as the position, size, inclination, shape and color of all the objects in the digital image 111, the present invention relates to the objects in the digital image 111. Position, size, and shape can be detected. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance.
  • an embodiment of the visual device 2 includes two image storage units 12, edge information generation unit 14, edge information formation unit 15, position size detection unit (Position / size detection means) 17 and at least one object representing at least one object moving through a plurality of digital images 1 1 1 using figure / ground separation means 16 Separate the object area 1 4 1 from the background area.
  • One image storage means 12 sequentially stores these digital images 111.
  • the edge information generating means 14 uses the two digital images 111 to generate a coarse edge information image including the coarse edge information 112 of at least one object moving in these digital images 111. Generate 1 1 3
  • the edge information forming means 15 forms the coarse edge information image 113 into the formed edge information image 115 by using one of the two digital images 111.
  • the position / size detecting means 17 is a redundant-information image (redundant-information image) representing the approximate position and size of the center of gravity of at least one object region 14 1 divided by the formed edge information image 115. ) Generates 1 3 2
  • the object / background separating means 16 quickly separates at least one object area 14 1 separated from the background area by using the overlapping information image 13 2 , Object-area image (object-area image) Generates 1 4 2
  • Another image storage means 12 stores the object area image 142. Even if the present invention does not know in advance any information such as position, size, inclination, shape and color for all the objects in the digital image 1 1 1 1, at least one object area 1 4 1 It can be separated from the background area. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance.
  • the visual device 2 for recognizing the color of an object is the same as the visual device 2 according to the second aspect of the present invention, except that a mask means 40 and a pattern matching are provided.
  • a pattern matching means 38 By adding a pattern matching means 38, pattern matching is performed on an object region 141 representing at least one object moving in the plurality of digital images 111.
  • the mask means 40 uses the object area image 14 2 stored by the one image storage means 12, and uses the object area 1 of the digital image 1 1 1 stored by the other image storage means 12.
  • a masked image 1 48 is generated by filtering only the segmented object area 1 4 3 equivalent to 4 1.
  • the pattern matching means 38 compares the mask image 148 with a plurality of template images 146 to obtain a template image 1, which is most similar to the mask image 148 in pixel units. Select 4 6 and output the matching result of all pixels as a matching-result image 1 4 7. Since these template images 1 4 6 are filled with different single colors, respectively, as a result, the pattern matching means 38 selects the color of the entire separated object region 1 4 3 . It should be noted that the pattern matching means 38 originally needs to store in advance the necessary number of template images 146 according to the purpose. However, as shown by a dashed line from the mask means 40 to the pattern matching means 38 in FIG. 3, the mask image 144 output from the mask means 40 is used as the template image 144.
  • the pattern matching means 38 can increase the number of template images 146 as needed.
  • the present invention determines in advance the position, size, Without knowing any information such as tilt, shape and color, the present invention provides that at least one separated object region 1 4 3 in the digital image 1 1 1 represents from among the colors represented by the plurality of template images 1 4 6 The color of the object can be selected. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance. As shown in FIG.
  • the visual device 2 for performing pattern recognition is different from the embodiment of the visual device 2 according to the second aspect of the present invention in that edge information forming means 15, geometric analysis means 37, By adding at least one combination consisting of area normalization means 27 and pattern matching means 38, an object area 1 representing at least one object moving in a plurality of digital images 111 4 Perform pattern matching for 1.
  • the object region image 142 and the digital image 111 are processed as follows.
  • the edge information forming means 15 regards the object area image 14 2 stored by one image storage means 12 as a coarse edge information image 113 and the other image storage means 1 2
  • the coarse edge information image 113 is formed on the formed edge information image 115 using the separated object region 144 corresponding to the object region 141 in the stored digital image 111.
  • the formed edge information 114 constituting each pixel of the formed edge information image 115 is a rough pattern of the separated object region 144. Or it represents a fine texture.
  • the geometric analysis means 37 analyzes the pattern and texture of the separated object region 144 using the formed edge information image 115, and generates a shape size information image 190.
  • the area normalizing means 27 normalizes the shape size information image 190 by using the object area image 142 to generate a normalized image 144. At this time, since the area normalizing means 27 does not need to interpolate between the pixels of the normalized image 144, division by a natural number is omitted.
  • the pattern matching means 38 compares the normalized image 144 with a plurality of template images 144 to obtain a template image most similar to the normalized image 144 on a pixel-by-pixel basis. Select 1 4 6 and output the matching result of all pixels as matching result image 1 4 7. Since these template images 1 4 6 are generated from different objects, The matching means 38 selects an object represented by the separated object area 144.
  • the pattern matching means 3 8 The type of the common object will be selected. It should be noted that the pattern matching means 38 originally has to store in advance the required number of template images 146 according to the purpose. However, as shown by a broken line from the area normalizing means 27 to the pattern matching means 38 in FIG. 3, the normalized image 1 45 output from the area normalizing means 27 is By inputting as the template images 146, the pattern matching means 38 can increase the number of template images 146 as needed.
  • the present invention provides a plurality of template images 144 From among the objects represented by, the type of the object represented by at least one separated object region 144 in the digital image 111 can be selected. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance.
  • the visual device 2 includes a combination of a plurality of means shown in FIGS. 3 and 4.
  • the visual device 2 uses the position / magnitude Z tilt detecting means 44 to tilt from at least one object area 14 41 stored by the image storing means 12.
  • the visual device 2 uses the position / magnitude Z tilt detecting means 44 to tilt from at least one object area 14 41 stored by the image storing means 12.
  • a visual device 2 for recognizing the object area 141 is a visual device for performing pattern recognition by combining a plurality of means shown in FIGS. 3 and 4. 2 is a combination of the position / size / tilt detection means 4 4 shown in Fig. 5, a plurality of image recognition means (29) and environmental understanding means ⁇ 1
  • Each of these image recognition means 29 includes a plurality of templates represented by each pixel of the matching result image 147 input from the corresponding pattern matching means 38.
  • the environment understanding means 31 uses the recognition result and the position / size Z inclination information image 186 input from the inclination detection means 44 to obtain the position, size, and shape with respect to the object area 141. , Texture, color and inclination, and generate environmental datum composed of such information. Further, the environmental understanding means 3 1 outputs an environmental map, which is a list of these environmental data, by storing a circle of all the objects in the digital image 1 1 1 1. .
  • the visual device 2 for recognizing an image includes the visual device 2 for recognizing the object area 141, This is the result of adding the geometric analysis means 37 shown in the second embodiment.
  • the environment understanding means 31 can easily distinguish these objects. Even if the object / background separation means 16 incompletely separates the object area 14 1 from the background area, the environment understanding means 31 will not be able to detect the position and size of the object detected by the geometric analysis means 37. Compares the position and size of the object area 1 4 1 detected by the Z size / tilt detection means 4 4, and further determines the contour of the object detected by the geometric analysis means 37 and a plurality of image recognition means 29.
  • the visual device 2 for searching for an object includes image capturing means 11 and a camera Z for all means shown in the visual device 2 for understanding an image.
  • Environmental coordinate conversion means (camera / environmental coordinate conversion means) 20 0, 2 images Z environmental coordinate conversion means 2 1, timer means 3 2, object position estimation) £ means (object position inference means) 3 4, Vibration command generation means 2 5, Action control means; 23 and Kamefu command generation middle stage ⁇ camera command generation means 2 6 It is.
  • the image acquisition unit 11 sequentially converts each of a plurality of frame images constituting a moving image (animation image) captured by the moving camera 10 into a digital image 11 1. If this frame image is composed of an analog signal, the image acquisition means 11 converts the frame image into a digital signal and generates this digital image 11. On the other hand, when this frame image is composed of a digital signal, if the digital signal is compressed, the image acquisition unit 11 expands the frame image to generate the digital image 11. Otherwise, this image acquisition means 11 converts the frame image directly into this digital image 1 1 1.
  • the digital image 11 1 1 is always the same because the direction, magnification, and inclination of the moving camera 10 change.
  • the same place is not necessarily represented by the magnification and the same inclination. Therefore, the position, size, and inclination of the object detected by the geometric analysis means 37 and the position, size, and inclination detection means 44 may change for each digital image 11. Therefore, in order for the moving camera 10 to always photograph this object at an appropriate size, the visual device 2 has three coordinate systems, ie, a camera coordinate system, an image coordinate system ( image coordinate system) and the environmental coordinate system.
  • the force camera coordinate system is a three-dimensional spherical coordinate system inside the camera that the moving camera 10 uses to control pan, tilt, and zoom in each of the minimum control units.
  • the origin of the camera coordinate system is a position unique to the moving camera 10 called a home position.
  • This camera coordinate system is the only coordinate system that can represent the physical position of an object. Nevertheless, since this camera coordinate system is different for each type of mobile camera 10, this camera coordinate system is not versatile. Therefore, the visual device 2 needs to conceal this camera coordinate system from other means.
  • the image coordinate system is a two-dimensional coordinate system in units of pixels with the origin at the center of the frame image taken by the moving camera 10, that is, the lens optical axis.
  • the environmental coordinate system is a three-dimensional sphere coordinate system used by the visual device 2 to logically unify the position of an object inside.
  • This environment coordinate system uses angles in radians in the horizontal and vertical directions, and uses a real number in units of 1.0 in the distance direction to represent the product of the size of the object and the distance to the object. Used. In general, since the size of an object does not change extremely in a short time, the distance to the object and the magnification of the moving camera 10 may be regarded as proportional.
  • the origin of the environment coordinate system is arbitrary.
  • the environment coordinate system is used to represent the relative coordinates of any two points on the environment coordinate system in principle.
  • the visual device 2 can distinguish a plurality of objects by projecting objects in the environment that can be photographed by the moving camera 10 into the environment coordinate system.
  • the camera coordinate system and the image coordinate system need to mutually perform coordinate transformation with the environment coordinate system.
  • Means that fulfill this role are camera Z environment coordinate conversion means 20, image / environment coordinate conversion means 21, and motion control means 23. These means obtain the respective units of the camera coordinate system and the image coordinate system from the specifications of the moving force camera 10 and the image acquisition means 11, and calculate a matrix for conversion to the environment coordinate system. Also, by calculating the inverse matrix of the transformation matrix from the camera coordinate system to the environment coordinate system, the transformation matrix from the environment coordinate system to the camera coordinate system can be obtained. But turtle Since the origin of the camera coordinate system is the home position of the moving camera 10, the position of the environment coordinate system converted from the camera coordinate system is a relative position from the home position of the moving force camera 10 on the environment coordinate system.
  • the position of the camera coordinate system converted from the environment coordinate system is a relative position from the current position of the moving camera 10 on the camera coordinate system.
  • the image coordinate system is a two-dimensional coordinate system, it cannot be converted to the environment coordinate system using only the image coordinate system. Therefore, the image / environmental coordinate transformation means 21 calculates the transformation matrix as needed by using the orientation and magnification of the moving camera 10 expressed in the environment coordinate system and the size of the region of the object in the frame image. Enables transformation from the image coordinate system to the environment coordinate system.
  • the position of the environment coordinate system converted from the image coordinate system is a relative position from the center of the image.
  • the visual device 2 cannot determine the environment coordinate system as described above. For example, as shown in FIG. 9, it is assumed that there is formed edge information 114 of an object inclined at an angle 0 counterclockwise at a position ⁇ in the formed edge information image 115. At this time, when the moving camera 10 is rotated so as to rotate counterclockwise by an angle of 0 with respect to the center 0 of the formed edge information image 1 15 corresponding to the lens optical axis, the edge information forming means 15 rotates. A post-formed edge information image 18 1 can be output. In other words, the object stands upright at the position in the formed edge information image 18 1 after rotation, and the type of the object can be easily recognized.
  • the coordinates of the image coordinate system obtained from the position ⁇ in the formed edge information image 18 1 after rotation are compared with the coordinates of the image coordinate system obtained from the position ⁇ in the formed edge information image 115.
  • the unit of the tilt and angle 0 of the moving camera 10 is radian.
  • the position that is, the position a; in the formed edge information image 1 15 can be obtained from the position ⁇ in the formed edge information image 18 1 after rotation, and as a result, the image Z environment coordinate conversion means 21 can be obtained.
  • the environment coordinates can be accurately obtained from the position ⁇ in the formed edge information image 18 1 after rotation.
  • the camera / environmental coordinate conversion means 20 converts the orientation and magnification of the moving camera 10 into coordinates in an environment coordinate system irrespective of physical quantities.
  • the tilt of the moving camera 10 is converted into an angle in radians.
  • the two image environment coordinate conversion means 21 project each pixel of the tilt size information image 186 and each pixel of the shape size information image 190 to the coordinates of this environment coordinate system.
  • the environment understanding means 31 can generate an environment map, which is a list of environment data represented in the environment coordinate system.
  • the environment understanding means 31 inputs the current time in units of 1 second or less, generally 1 millisecond, from the timekeeping means 32.
  • the environmental understanding means 31 can attach a time stamp to each environmental data included in the environmental map, so that the environmental understanding means 31 can also represent the trajectory of one object. You can do it, and you can destroy the old ring: ⁇
  • the environment understanding means 31 inputs the current orientation, magnification and tilt of the moving camera 10 from the camera environment coordinate conversion means 20 to obtain the current orientation, magnification and tilt of the moving camera 10. Is converted to environmental data. This environmental data is useful when external systems use environmental maps.
  • the object position estimating means 34 selects one object from at least one object represented by the environment map, and estimates the current position and inclination of the object from the trajectory of the object. This current position is also represented by the environment coordinate system.
  • the vibration command generation means 25 generates a command for vibrating the transfer lens 10.
  • the digital image 1 1 1 also oscillates in order, so that the stationary object in the moving image has edge information as if it were moving.
  • the generating means 14 can be considered. That is, the edge information generating means 14 can generate the rough edge information 112 for this object. When this object vibrates at about 2 or 3 pixels in the digital image 11 1, the edge information generating means 14 should efficiently generate the coarse edge information 1 12 from this object alone. Can be.
  • the motion control means 23 receives the current position and inclination of the object from the object position estimating means 34 or inputs a command to vibrate the moving camera 10 from the vibration command generating means 25, The control means 23 determines the destination of the moving camera 10 and converts it to the camera coordinate system.
  • the camera command generation means 26 receives the destination and generates a command for controlling at least one of pan, tilt, click, and zoom of the mobile camera 10. Even if the present invention does not know in advance any information such as the position, size, inclination, shape and color of all the objects in the digital image Objects can be searched. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance.
  • the visual device 2 for counting the number of objects is generated by all means shown in the visual device 2 for searching for the object.
  • Two image keeping means to output the obtained information 3 9, two or more recognition result holding means, recognition-result keeping means 30 0, environmental-map keeping means 3 3, object counting means ⁇ 5 and object number keeping means 36, and color information generating means (color-information) for the visual device 2 to efficiently search for an object.
  • generation means 4 1, 2 position size detection means 1 7, 2 images
  • one image holding unit 39 holds the digital image 11 1 for a certain period of time until the external system finishes inputting the digital image 11 1 stored by one image storage unit 12.
  • the object area image 1 4 2 stored by the other image storage means 1 2 Until the input of this system is completed, another image holding means 39 holds the object area image 14 2 for a certain period.
  • this external system can cut out the area corresponding to the object area 141 from the digital image 111.
  • the corresponding recognition result holding means 3 0 holds these recognition results for a certain period.
  • the at least one recognition result holding unit 30 may output the pattern recognition result and the texture recognition result while being mixed.
  • the environment map holding means 33 holds the environment map for a certain period.
  • the object counting means 35 counts the number of objects detected within a predetermined time from the environment map, and outputs the number of objects.
  • the object number holding means 36 holds the number of objects for a certain period.
  • the color information generation unit 41 selects a pixel representing a specific color such as red, yellow, and white from each pixel of the digital image 111, and generates a color information image 172.
  • This color information image 17 2 is not very useful for recognizing objects in the real world where the brightness is constantly changing and the countless colors are overflowing, but the light of blood, flames, traffic lights, road signs and headlights This is extremely effective when searching for an object that needs attention or may pose a danger.
  • the one position & / size detection means 17 detects the position and size of at least one object requiring attention from the color information image 17 2, and detects the duplicate information image 13 2. Generate.
  • One image / environmental coordinate conversion means 21 projects the overlapping information 13 1 constituting each pixel of the overlapping information image 13 2 onto the environment coordinate system.
  • One position selecting means 22 selects one from all the duplicate information 1 3 1.
  • the other position / size detecting means 17 detects the position and size of at least one moving object from the rough edge information image 113 and generates a duplicate information image 132.
  • the other image / environmental coordinate conversion means 21 projects the overlapping information 13 1 constituting each pixel of the overlapping information image 13 2 into the environment coordinate system.
  • Another position selecting means 2 2 selects one from all the duplicate information 1 3 1.
  • the control command input means 24 And a control command specified by the appropriate system. Therefore, the motion control means 23 selects one of the objects in the vicinity of the moving camera 10 and the objects specified by the user and the system, in addition to the objects represented by the environmental map.
  • the environment coordinates of the object are transmitted to the camera command generation means 26.
  • the present invention can be applied to the digital image 111 without knowing any information such as the position, size, inclination, shape, and color of all objects in the digital image 111 in advance. You can search all the objects inside and count the number of objects. Therefore, the user of the present invention can easily use the present invention without knowing the information of the object to be detected in advance. In actual use, this user can select only the necessary means from Fig. 10 and can add other means.
  • image storage means 12 color information generation means 41, edge information generation means 14, edge information formation means 15, position / size detection means 17, and position Z size used in the visual device 2.
  • the Z tilt detection means 44, geometric analysis means 37, object Z background separation means 16, area normalization means 27, mask means 40, image holding means 39, and pattern matching means 38 are array operations It can be implemented by using a data processing device 110 composed of units 100. Therefore, hereinafter, an embodiment of the data processing device 110 using the array operation unit 100 will be described, and the visual device 2 will be described with reference to the drawings.
  • the array operation unit 100 generates one pixel of the output image by using one pixel of the input image and its neighboring pixels.
  • the data processing device 110 by using a data processing device 110 in which the array operation units 100 are arranged in a grid pattern in accordance with the size of the input image, the data processing device 110 An output image can be generated from the image.
  • the array operation unit 100 is abbreviated as AOU.
  • the array operation units 100 are arranged in a square lattice shape. Of course, in order to minimize the mounting area, the array operation units 100 are arranged in a hexagonal lattice shape, that is, a close-packed structure.
  • the array operation unit 100 may be implemented by dedicated hardware, It can also be implemented by software on a computer. In other words, as long as the output image can be generated from the input image, the mounting means is not limited. Therefore, by showing the algorithm of the array operation unit 100, the image processing of the data processing device 110 can be shown. Therefore, in order to show the algorithm of the array operation unit 100, the image storage means 12, the color information generation means 41, the edge information generation means 14, the edge information formation means 15 and the position shown in FIG. / Size detection means 17, position / size inclination detection means 44, geometric analysis means 37, area normalization means 27, mask means 40, image holding means 39, pattern matching means 38 I do.
  • x, y, w be any 2n grayscale image with width w, height h, and number of bands b, x, y, and w are the band pixel values X i jk at position P (i, j, k), respectively. , Yi jk , and Wi jk, as shown in Equations 2, 3, and 4.
  • Bold letters indicate vectors.
  • N is a non-negative integer
  • w, h, b, i, j, and k are natural numbers.
  • x is value at p (i, j,), 1 ⁇ ⁇ 1 ⁇ ⁇ 3 ⁇ 4, 1 ⁇ ⁇ & ⁇ (2)
  • y is value at p ⁇ i, j, k), l ⁇ i ⁇ w, l ⁇ j ⁇ h, l ⁇ k ⁇ b ⁇ (3)
  • w is value at p (i, j, k), l ⁇ i ⁇ w, l ⁇ j ⁇ h, l ⁇ k ⁇ b ⁇ (4)
  • Equation 10 The smoothing at the position P (i, j, k) of the image X is performed according to Equation 10 below.
  • the zero point found by Expression 12 is not a place where there is an edge, but a place where there is noise, that is, a place where there is no edge.
  • real values are binarized using Equations 12 and 13.
  • each band pixel value of the image X can be extracted using the band pixel value of the image y according to Expression 21.
  • image y can be shaped based on image x according to Equation 22. If there are two images x and y, and the image y is a binary image, the band pixel value of the image X that is not specified by the image y is calculated according to Equation 23 out of the neighborhood of the band pixel value of the image X. Interpolation is performed using the average value of the band pixel values of image X specified by image y.
  • int (v) means the real number v is truncated below the decimal point. Since the image y is a binary image, the denominator is a positive number. By storing the reciprocals from 1 to Q in the memory 102, integer division can be replaced with real number multiplication.
  • the processing is simplified by treating the position and the movement amount of the pixel as image data. This is called position imaging.
  • position imaging The following describes some functions and operators related to position imaging.
  • the moving amount p (i, j, k) can be turned in the opposite direction by 180 degrees in a plane represented by the width direction and the height direction.
  • Giji ⁇ -x p ⁇ (l- ⁇ imi, L (m-j) ximi, 0) (25)
  • the movement amount in the eight neighborhoods 182 can be calculated according to Equations 26, 27 and 28, and can be imaged as a movement amount image.
  • Expressions 27 and 28 are used only when expression 26 cannot be used due to image separation. fe? (l, 0, also) ifi> 0, ⁇ j ⁇ ⁇ HI / 2,
  • Equations 25, 26, 27 and 28 it is possible to simply describe the band pixel value of the displacement image in the direction of the center of gravity of the single-band binary image X according to Equations 29, 30 and 31. Wear.
  • the number of bands of the moving amount image is one.
  • Equation 24 the opposite position of the center of gravity can be obtained. It is possible to simply describe the band pixel value of the moving amount image in the direction opposite to the center of gravity of the moving amount image.
  • image X is a duplicate information image 13 2, and as shown in FIG. 12, numbers 8 from 1 to 8 are assigned counterclockwise to the 8 neighbors 18 2 of each pixel of X.
  • Equations 45, 46 and 47 instead of Equations 34, 35 and 36, an 8-band grayscale image x composed of eight source overlap information 183 and a single image composed of overlap information 131 Source overlap information 183 is generated for each of the eight sources from the band grayscale image y.
  • Hiji (x, y) (for only one p (l, m, 1) 6 i3 ⁇ 4i (q), ( 48 )
  • Equation 32, 48 and 49 the band pixel value of the image obtained by moving the band pixel of the image X in the direction opposite to the position of the center of gravity calculated from the binary image y according to Equation 50 is calculated as Can be easily described.
  • Image storage means 12 Color information generation means 41, Edge information generation means 14, Edge information formation means 15, Position / size detection means 17, Position / size / inclination detection means 44, Area normalization means 27, Mask
  • Image storage means 12 Color information generation means 41, Edge information generation means 14, Edge information formation means 15, Position / size detection means 17, Position / size / inclination detection means 44, Area normalization means 27, Mask
  • the array operation units 100 arranged in a lattice form operate synchronously and in parallel. If the array operation unit 100 arranged at the i-th row and the j-th column on the lattice is AOU U u , the algorithm of AOU ij is as shown in FIG.
  • step 1 201 AOU ij is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOUi j, whether logical or physical.
  • step 1202 the neighborhood of AOU u and initial values of variables are set.
  • step 1203 it is determined whether or not the digital images 111 sequentially input have been exhausted. If there is no digital image 111 (step 1203: YES;), the algorithm ends. If there is a digital image 111 (step 1203: N ⁇ ), the process proceeds to step 1204. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 1204 input is waited until the digital image 111 is prepared.
  • step 1205 the pixels of the i-th row and the j-th column of the digital image 111 are input for the number of bands. For this reason, AOUij requires a memory 102 for storing at least image data for the number of bands.
  • step 1206 the pixels in the i-th row and the j-th column of the digital image 111 are stored so that they can be output while waiting for input.
  • step 1207 the band pixel value of the digital image 111 is output. Thereafter, the flow returns to step 1 203.
  • the image storage unit 12 can store the digital image 111 using the data processing device 110 including the array operation unit 100.
  • the array operation units 100 arranged in a lattice are synchronized. And work in parallel. If the array operation unit 100 arranged at the i-th row and the j-th column on the grid is AOUi j, the algorithm of AOUi j is as shown in FIG.
  • step 4101 AOUi j is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOUij, whether logical or physical.
  • step 4102 the neighborhood of AOUi ”and initial values of variables are set.
  • step 4103 it is determined whether or not the digital image 111 to be sequentially input has been exhausted. If there is no digital image 111 (step 4103: YES), the algorithm finish. If there is a digital image 111 (step 4103: NO), the process proceeds to step 410. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 410 the pixels of the i-th row and the j-th column of the digital image 111 are inputted for the number of bands. For this reason, AOU ij requires a memory 102 for storing at least image data for the number of bands.
  • step 4105 a specific color is extracted from the pixel at the i-th row and the j-th column of the digital image 111 to generate color information 171.
  • the generated color information 171 is treated as a band pixel value of the color information image 172.
  • step 410 the band pixel value of the color information image 1 72 is output. Then step 4 1
  • the color information generating means 41 can generate the color information image 172 from the digital image 11 11 using the data processing device 110 composed of the array operation unit 100.
  • the edge information generating means 14 realized by the data processing device 110 is arranged in a grid pattern in order to generate the coarse edge information image 113 from the digital image 111.
  • the array operation units 100 operate synchronously and in parallel. Let AOU i j be the array operation unit 100 arranged at the i-th row and the j-th column on the grid, AOU i j for the edge information generation means 14
  • the algorithm of 1 j is as shown in Fig. 17.
  • step 1401 AOU! Is arranged at the i-th row and j-th column on the grid. This is necessary to determine the neighborhood of A ⁇ U U , whether logical or physical.
  • step 1402 the neighborhood of AOU ij and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be individually determined to be 4 or 8, or all may be unified to 4 or 8.
  • the calculation time for generating the coarse edge information 1 1 2 and the number of bands of the digital image 1 1 1 Accordingly, the edge information generating means 14 can cope with this by changing the neighborhood size as needed.
  • step 1403 it is determined whether the digital image 111 has been completed. If there is no digital image 111 (step 1403: YES), the algorithm ends. If there is a digital image 111 (step 1403: NO), the process proceeds to step 1404. However, when the array operation unit 100 is implemented for a specific number of bands and an image size, an infinite loop may be used.
  • step 1404 pixels in the i-th row and the i-th column of the digital image 111 are inputted for the number of bands. This is because AOUi ”collectively processes pixels on the i row and the i column of the digital image 111. For this reason, AOU ij requires a memory 102 for storing at least image data for the number of bands.
  • step 1405 the AOU ij communicates with the neighboring array operation unit 100 to perform smoothing on each band pixel value of the input digital image 111 according to the function S ij k (X).
  • the smoothed band pixel values are treated as band pixel values of the smoothed image.
  • the function S j jk (X) may be repeated several times as needed. For general multiband images, two is sufficient.
  • step 1406 logarithmic conversion is performed on each band pixel value of the smoothed image according to the function Lij k (X).
  • the logarithmically converted band pixel values are treated as band pixel values of the logarithmically converted image.
  • step 1407 AOU u communicates with the neighboring array operation unit 100 to sharpen each band pixel value of the logarithmically transformed image according to the function Ei jk (x).
  • the sharpened band pixel values are treated as band pixel values of the sharpened image. If the digital image 111 contains a large amount of noise, this step can be omitted.
  • each band pixel value of one input pre-sharpened image is subtracted from each band pixel value of the sharpened image according to the function D ijk (X, y).
  • the band pixel value for which the difference has been calculated is treated as the band pixel value of the time difference image.
  • each band pixel value of one input pre-sharpened image is Replace with the area pixel value.
  • Step 1 4 1 0, Ri by that, AOU ij to communicate with array operation Yunitto. 1 0 0 near performs calculation of Laplacian according operator V ⁇ jk X for each band-pixel value of the time differential image .
  • the band pixel value for which the Laplacian has been calculated is treated as the band pixel value of the time difference Laplacian image.
  • step 1441 the AOU jj communicates with the neighboring array operation unit 100 to form a function Z! For each band pixel value of the time difference Laplacian image.
  • the zero point is extracted according to k (X).
  • the band pixel value from which the zero point has been extracted is treated as the band pixel value of the time difference zero point image.
  • step 1412 the maximum value among the band pixel values is detected according to the function B ij X) for each band pixel value of the time difference Laplacian image.
  • the detected maximum band pixel value is treated as the band pixel value of the maximum time difference difference point image.
  • the number of bands is 1 for convenience.
  • AOUi communicates with the nearby array operation unit 100 to calculate Laplacian for each band pixel value of the sharpened image according to the operator V ⁇ jkX .
  • the band pixel value for which the Laplacian has been calculated is treated as the band pixel value of the Laplacian image.
  • step 144 AOU i communicates with the neighboring array operation unit 100 to extract zero points according to the function Z ij k (X) for each band pixel value of the Laplacian image. You. The band pixel value from which the zero point has been extracted is treated as the band pixel value of the zero point image.
  • step 1415 the maximum value among the band pixel values of each band pixel value of the Laplacian image is detected according to the function BijX).
  • the detected maximum band pixel value is treated as the band pixel value of the maximum zero point image.
  • the number of bands is 1 for convenience.
  • step 1 4 for each band pixel value of the Laplacian image and each band pixel value of the time difference Laplacian image, according to the function M ij k (x, y), Find the maximum value.
  • the detected maximum band pixel value is treated as the band pixel value of the hybrid zero point image.
  • the number of bands is 1 for convenience.
  • a ⁇ U i ” communicates with the neighboring array operation unit 100 to form a function F! Remove holes according to jk (x).
  • the band pixel value from which the hole has been removed is treated as the band pixel value of the hole-removed hybrid mouth image.
  • the number of bands is one for convenience.
  • the function F i jk (x) may be repeated several times as needed. For general multi-band images, one time is sufficient.
  • step 1418 AOU i communicates with the neighboring array operation unit 100 to obtain isolated points according to the function A ij k (x) for the band pixel values of the hole-removed hybrid zero-point image. And the isolation holes are removed. The band pixel value from which the isolated points and the isolated holes have been removed is treated as the band pixel value of the noise removal hybrid zero point image.
  • the number of bands is 1 for convenience.
  • step 1419 0 and 1 are inverted with respect to the band pixel value of the noise removal hybrid zero point image according to the function I i jk (X).
  • the inverted band pixel value is treated as a band pixel value of the coarse edge information image 113.
  • step 144 the band pixel value of the rough edge information image 113 is output. After that, return to step 1403.
  • the edge information generating means 14 can generate the coarse edge information image 113 from the digital image 111 by using the data processing device 110 composed of the array operation unit 100. .
  • the edge information forming means 15 realized by the data processing device 110 includes a coarse edge information image 113 composed of coarse edge information 112 and a digital image 111.
  • the array operation units 100 arranged in a lattice form operate synchronously and in parallel. If the array operation unit 100 arranged at the i-th row and the j-th column on the grid is AOU i 3 , the rhythm of AOU i is as shown in FIG.
  • AO U i j is arranged at row i and column i on the grid. This is necessary to determine the neighborhood of AOU i j, whether logical or physical.
  • step 1502 the neighborhood of AOU i] and initial values of variables are set. Smell nearby settings
  • the neighborhood size q used in each of the above functions may be individually determined to be 4 or 8, or the whole may be unified to 4 or 8.
  • the edge information forming means 15 can change the neighborhood size as necessary, depending on the calculation time for forming the coarse edge information 112, the number of bands of the input digital image 111, etc. I can deal with it.
  • step 1503 it is determined whether or not the digital image 111 or the coarse edge information image 113 that is sequentially input has disappeared. If there is no digital image 111 or coarse edge information image 113 (step 1503: Y E S), the algorithm ends. If there is the digital image 111 and the coarse edge information image 113 (step 1503: NO), the process proceeds to step 1504. However, when implementing the array operation unit 100 for a specific number of bands and image size, an infinite loop may be used.
  • the pixels of the i-th row and the j-th column of the digital image 111 and the coarse edge information image 113 are input for the number of bands. This is because AOU i j is the i row of digital image 1 1 1 and coarse edge information image 1 1 3; This is to collectively process the pixels in the column. For this reason, AOU ij requires a memory 102 for storing at least image data for the number of bands.
  • step 1505 the pixel at the i-th row and the j-th column of the digital image 111 is separated from the pixel at the i-th row and the j-th column of the coarse edge information image 113. This is because A ⁇ U i processes the pixel at row i and column j of the digital image 111 and the pixel at row i and column j of the coarse edge information image 113 as independent image pixels. . If the pixel at the i-th row :) 'column of the digital image 1 11 and the pixel at the i-th row and the j-th column of the coarse edge information image 1 13 are separated and input from the beginning, nothing is performed.
  • step 1506 AOU i 3 communicates with the neighboring array operation unit 100 to form a function S i ′′ k (X) for each band pixel value of the input digital image 111. Perform smoothing according to. Each smoothed band pixel value is treated as a band pixel value of the smoothed image.
  • the function S ij k (X) may be repeated several times as needed. For a general multiband image, two times is sufficient.
  • step 1507 logarithmic conversion is performed on each band pixel of the smoothed image according to the function Lijk (x). The logarithmically converted band pixel values are treated as band pixel values of the logarithmically converted image.
  • step 1508 AOU ij communicates with the neighboring array operation unit 100 to sharpen each band pixel value of the logarithmically transformed image according to the function E ij k (X).
  • the sharpened band pixel values are treated as band pixel values of the sharpened image. This step can be omitted if the digital image 111 contains a large amount of noise.
  • step 1509 AOU ij communicates with the neighboring array operation unit 100 to calculate the Laplacian for each band pixel value of the sharpened image according to the operator V jk X.
  • the band pixel value for which the Laplacian is calculated is treated as the band pixel value of the Laplacian image.
  • Step 1 5 1 0, AOU! j is Ri by the communicate with array operation Yunitto 1 0 0 near, you extracts zero-point according to the function Z ij k (X) for each band-pixel value of the Laplacian image.
  • the band pixel value from which the zero point has been extracted is treated as the band pixel value of the zero point image.
  • step 1511 the maximum value of each band pixel value is detected in accordance with the function BijX) for each band pixel value of the zero point image.
  • the detected maximum band pixel value is treated as the band pixel value of the maximum zero point image.
  • the number of bands is 1 for convenience.
  • step 1512 0 and 1 are inverted with respect to the band pixel value of the maximum value zero point image according to the function I uk (X).
  • the inverted band pixel value is treated as a band pixel value of the basic edge information image.
  • the input band pixel value of the coarse edge information image 113 is first treated as a band pixel value of the shaped coarse edge information image, and AOU ij communicates with the nearby array operation unit 100.
  • the band pixel value of the shaping rough wedge information image is shaped according to the function Q i jk (X, y).
  • the shaped band pixel value is treated again as the band pixel value of the shaped rough edge information image.
  • the function Q i jk (X, y) is repeated until the band pixel value of the originally shaped rough edge information image does not change.
  • Step 1 5 1 4 Ri by that AOU u communicates with array operation Yuni' Bok 1 0 0 near the function C ij k (X) in accordance with the line width for a band-pixel value of the shaping rough edge-information image Perform completion.
  • the complemented band pixel values are treated as band pixel values of the formed edge information image 115.
  • step 1515 the band pixel value of the formed edge information image 115 is output. Then, return to step 1503.
  • the edge information forming means 15 forms the rough edge information image 113 into the formed edge information image 115 using the data processing device 110 composed of the array operation unit 100. Can be.
  • the formation of the rough edge information image 1 13 into the formed edge information image 1 1 5 means that the same scene was captured from the edge information generated from the low resolution digital image 1 This can be regarded as estimating edge information to be generated from the high-resolution digital image 111. Therefore, as shown in FIG. 20, for the natural number n, as shown in FIG. 20, the resolution of the digital image 111 is reduced to lZn.
  • the coarse edge information image 117 is generated, the coarse edge information image 113 can be generated by enlarging the low resolution coarse edge information image 117 by n times.
  • the band pixel value is simply set to 0 between successive pixels in the horizontal and vertical directions. It is sufficient to fill n-1 pixels.
  • the data processing device 110 that realizes the edge information forming means 15 forms the coarse edge information image 1 13 by enlarging the low-resolution coarse edge information image 1 17.
  • the edge information image 1 15 and a data processing device 110 for realizing the edge information forming means 15 are formed edge information images 1 1 1 which form a coarse edge information image 1 13 generated from the digital image 1 1 1. 5 is almost the same.
  • the edge information forming means 15 In order to refer to which edge information among the edge information internally generated by the edge information forming means 15 using the digital image 111, the edge information forming means 15 This is because only 1 1 3 is used. Therefore, when the coarse edge information image 113 obtained by enlarging the low resolution coarse edge information image 117 is input to the edge information forming means 15, the low resolution coarse edge information image 117 from the low resolution digital image 116 is obtained.
  • the data processing device 110 that realizes the generated edge information generating means 14 can reduce the amount of calculation or the amount of hardware.
  • a low-resolution cut-out coarse edge information image 118 obtained by cutting out the periphery of the coarse edge information 112 can be generated.
  • the cut coarse edge information image 1 19 obtained by enlarging the low resolution cut coarse edge information image 1 18 and the cut digital image 1 2 0 obtained by cutting the same area of the digital image 1 1 1 into edge information forming means.
  • the data processing device 110 that implements the edge information forming means 15 can reduce the amount of hardware.
  • the visual device 2 can be regarded as a device for changing the direction and the magnification of the moving camera 10 so that the cut-out digital image 120 is always at the center of the digital image 111.
  • the position / size detection means 17 realized by the data processing device 110 performs rough edge information images 1 13 with coarse edge information 1 12 as pixels.
  • the array operation units 100 arranged in a lattice form operate synchronously and in parallel to generate a duplicate information image 13 2 having 31 as pixels. If the array operation unit 100 arranged in the i-th row and the j-th column on the lattice is AO U! J, the algorithm of AOU i is as shown in FIG.
  • AO U ij is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU u , whether logical or physical.
  • step 1702 the neighborhood of AOU! J and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • the neighborhood size can be dealt with by appropriately changing the neighborhood size.
  • step 1703 it is determined whether or not the sequentially input coarse edge information images 113 have disappeared. If there is no coarse edge information image 1 13 (step 17 03: Y E S), the algorithm ends. If there is a coarse edge information image 113 (step 1703: NO), the flow shifts to step 1704. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 1704 the pixels in the i-th row and the j-th column of the rough edge information image 113 are input for one band. For this reason, AOUij requires a memory 102 for storing at least one band of image data.
  • step 1705 the rough edge information 1 1 2 of the rough edge information image 1 1 3 is converted into the overlap information 1 3 1 of the overlapping information image 1 32.
  • Duplicate information 1 31 is a band pixel value equivalent to 1 10.
  • step 1706 A ⁇ U U communicates with the neighboring array operation unit 100 to generate a function ⁇ i ”i (X) for each band pixel value of the overlap information image 13 Calculate the movement amount according to.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • AOUij communicates with the neighboring array operation unit 100 to provide a function ⁇ ! For each band pixel value of the duplicate information image 132. Move to the point indicated by the movement amount according to j i (X). The shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 1708 it is determined whether or not the number of movements representing the number of repetitions from step 1706 to step 1707 has reached the designated number. If the number of times of movement has not reached the specified number of times (step 1708: NO), the flow returns to step 1706. If the number of moves is specified If the number has been reached (step 1708: YES), the process proceeds to step 1709.
  • the specified number of times is determined by the size of the formed edge information image 115, the size of the object represented by the formed edge information 114, and the size q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the specified number is overestimated.
  • AOUij communicates with the neighboring array operation unit 100 to provide a function ⁇ '! For each band pixel value of the duplicate information image 132. Calculate the movement amount according to j i (X). The band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 1710 the AOU ij communicates with the neighboring array operation unit 100 so that the amount of movement according to the function ⁇ ⁇ jx (X) for each band pixel value of the overlapping information image 132 Move to the point indicated by.
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 1711 the band pixel value of the overlapping information image 1332 is output. Thereafter, the flow returns to step 1703.
  • each piece of overlap information 1 3 1 of the overlap information image 1 3 2 represents the total number of coarse edge information 1 1 2 around the position, and consequently the size of the object around the position. Will mean.
  • the position / Z magnitude detecting means 17 can generate the duplicated information image 132 from the coarse edge information image 113. Can be.
  • the position Z size detecting means 17 realized by the data processing device 110 is also used for the overlapping information representing the overlapping information 13 1 from the object region image 14 2 representing the object region 14 1.
  • Image 1 32 can be generated.
  • each piece of overlapping information 13 1 of the overlapping information image 13 2 represents the total number of pixels of the object area 14 1 centered on that position, As a result, it means the area of the object centered on the position.
  • the position / size / inclination detecting means 44 realized by the data processing device 110 has a coarse edge information image 113 having coarse edge information 112 as pixels.
  • the array operation units 100 arranged in a lattice form operate synchronously and in parallel in order to generate a duplicate information image 132 having the pixel overlap information 1311 as a pixel.
  • step 4401 A ⁇ U U is arranged on the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU ij, whether logical or physical.
  • step 402 the neighborhood of AOUij and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • the position / size Z-tilt detection means 44 is necessary due to restrictions on the calculation time for calculating the center of gravity of the coarse edge information 1 1 2 of the object, and the size of the input coarse edge information image 1 13. This can be dealt with by appropriately changing the neighborhood size.
  • step 4403 it is determined whether or not the sequentially input coarse edge information images 113 have disappeared. If there is no rough edge information image 1 13 (step 4403: Y E S), the algorithm is terminated. If there is a coarse edge information image 113 (step 4403: NO), the flow shifts to step 4404. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 4404 the pixel of the i-th row and the j-th column of the coarse edge information image 113 is input for one band. For this reason, AOUij requires a memory 102 for storing at least one band of image data.
  • step 4405 the coarse edge information 1 1 2 of the coarse edge information image 1 13 Convert to 3 2 duplicate information 1 3 1
  • Duplicate information 1 3 1 is a band pixel value corresponding to 1 or 0.
  • the eight pieces of source duplicate information 183 are cleared with a band pixel value equivalent to zero.
  • step 4406 A ⁇ U i ”communicates with the neighboring array operation unit 100 to form a function ⁇ ⁇ ” ⁇ j_ ( Calculate the movement amount according to X).
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 4407 A ⁇ UJ ”communicates with the neighboring array operation unit 100 to form a function A ⁇ jk (X) for each band pixel value of the source overlap information image 184. , Y), it is moved to the point indicated by the movement amount.
  • the shifted band pixel value is newly treated as the band pixel value of the source overlapping information image 184.
  • AOU ij communicates with the neighboring array operation unit 100 to move in accordance with the function ⁇ i ”i (X) for each band pixel value of the overlapping information image 132. Move to the point where the quantity points.
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 4409 it is determined whether or not the number of movements indicating the number of repetitions from step 4406 to step 4408 has reached the designated number. If the number of times of movement has not reached the specified number of times (step 4409: NO), the flow returns to step 4406. If the number of times of movement has reached the specified number of times (Step 4409: Y E S), the flow shifts to Step 4410.
  • the number of times specified is determined by the size of the coarse edge information image 113, the size of the object represented by the coarse edge information 112, and the size Q of the neighborhood. There is no problem if the number of specified times is overestimated if appropriate parameters are set according to the purpose of use.However, if the number of specified times is too large, the time required to detect the position, size, and inclination increases. Become.
  • step 4 410 AOU ij communicates with the neighboring array operation unit 100 to move each pixel value of each band of the duplicate information image 132 according to the function ⁇ ′ i ⁇ (X). Calculate the quantity.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 4 4 1 AOU! J communicates with the neighboring array operation unit 1 0 0, and the function ⁇ ” k (X, y) Move to the point indicated by the momentum.
  • the shifted band pixel value is newly treated as the band pixel value of the source duplicate information image 18 4.
  • step 4 4 1 2 the AOU ij communicates with the neighboring array operation unit 100 to move in accordance with the function ⁇ ⁇ 3 1 (X) for each band pixel value of the overlapping information image 1 32 Move to the point indicated by the quantity.
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 4 4 13 it is determined whether or not the number of times of degeneration indicating the number of repetitions from step 4 406 to step 4 4 12 has reached the specified number. If the number of times of degeneration has not reached the specified number of times (step 4413: NO), the process returns to step 4406. If the number of times of degeneration has reached the specified number of times (step 4 4 13: Y E S), the process proceeds to step 4 4 14.
  • the number of times specified is determined by the size of the coarse edge information image 113, the size of the object represented by the coarse edge information 112, and the size Q of the neighborhood. There is no problem if the number of specified times is overestimated if appropriate parameters are set according to the purpose of use.However, if the number of specified times is too large, the time required to detect the position, size, and inclination increases. Become.
  • step 4 14 the band pixel value of the overlap information image 13 2 and the band pixel value of the source overlap information image 18 4 are output. Thereafter, the flow returns to step 4403.
  • each piece of overlap information 13 1 of the overlap information image 13 2 represents the total number of coarse edge information 1 12 around the position, and as a result, the size of the object around the position It means that. Also, since only the pixel having the overlapping information 13 1 has the moving source overlapping information 18 3, it means the inclination of the object around that position.
  • the position Z magnitude / "tilt detecting means 44 converts the coarse edge information image 113 into the overlap information image 132 and
  • the source duplicate information image 18 4 can be generated, provided that the approximate center of gravity of the object represented by the duplicate information image 1 32 is significantly deviated from the actual center of gravity.
  • the function ⁇ j X) and the function ⁇ ′′ ij X) may be used alternately.
  • the functions ⁇ j ,, (X, y) and And the function ⁇ '* jk ( ⁇ , y) are used alternately.
  • the function ⁇ j! (X) and the function ⁇ X) may be used alternately.
  • the formed edge information image 1 15 composed of the formed edge information 1 14 is used in place of the coarse edge information image 1 13 composed of the coarse edge information 112. Can also.
  • the object area image 1 42 representing the object area 1 41 is used in place of the coarse edge information image 1 13 composed of the coarse edge information 1 1 2, the position / size is changed as shown in FIG.
  • the inclination detecting means 44 can also generate the duplicate information image 13 2 and the source duplicate information image 18 4 from the object region image 14 2 representing the object region 14 1.
  • each piece of overlap information 13 1 of the overlap information image 13 2 represents the total number of pixels of the object area 14 1 centered on that position, and as a result, It means the area of the object centered on the position. Therefore, when calculating the size of the object from the duplicated information image 132, care must be taken, such as taking the square root of the duplicated information 131. Note that the same applies to the case where a color information image 172 composed of color information 171 indicating the presence or absence of a specific color of an object is used instead of the object region image 142.
  • the tilt angle 0 expressed in the counterclockwise direction is For example, it is obtained according to Equation 51. Note that the tilt angle 0 is expressed in radians. If the object is horizontal and vertical, the tilt angle 0 is 0 radians.
  • Expression 51 is a simple expression for obtaining the tilt angle 0, but of course, by performing more detailed conditions than Expression 51, the user of the present invention can obtain the tilt angle 0 more accurately.
  • Expression 52 is used to obtain the inclination angle 0 with respect to the horizontal.
  • the function arct an (yZx) does not need to use a logarithmic table if the inclination angle 0 can be approximate, for example, if the inclination angle 0 is 0 radians, t / 4 radians, ⁇
  • the function arct an (yZx) may be approximated as shown in Equation 53 if it is only necessary to take one of / 2 radians and 37 ⁇ 4 radians.
  • the array operation unit 100 calculates Equations 51 and 52 to generate the overlap information 13 1 and the inclination magnitude information 18 5 composed of the inclination angle 0, the array operation unit 1 0 0 can output a smaller amount of data as compared with the case of outputting 8 pieces of source duplicate information 18 3.
  • the tilt angle 0 is limited to four, if the overlapping information 13 1 for each tilt angle is assigned to an individual band pixel value, the tilt magnitude information image 1 86 will be a 4-band image. Become. If the four inclination angles 0 are represented by one band pixel value, the inclination magnitude information image 186 becomes a two-band image.
  • the memory 102 only needs to store a lookup table with the required number of inclination angles instead of having a logarithmic table. good.
  • the array operation unit 100 may use an approximation function such as Expression 53.
  • the position Z size tilt detection means 4 4 can detect the position, size and tilt of each object.
  • the position / size / inclination detecting means 44 detects the position, size and inclination from the individual color information 17 1 block. can do. Therefore, the position size / inclination detection means 44 can also be used for texture analysis.
  • the position / Z magnitude / inclination detecting means 44 has been described above. As is clear from the above description, if the outline of one object in the coarse edge information image 113 is represented by a number of equally-spaced segments, the position / size / inclination detecting means 44 is From the rough edge information image 113, the length and inclination of these line segments can be obtained. However, in order to generate such a rough edge information image 113 for an arbitrary object at an arbitrary position, a special image processing device using a large number of large masks is separately required. Actually, the position, size, and inclination detection means 4 4 inputs only a rough edge information image 1 13 containing a small number of line segments or a formed edge information image 1 1 5 for one object.
  • the position / size Z inclination detecting means 44 calculates the length and inclination of a plurality of line segments representing the outline of one object from the rough edge information image 113. I can't ask.
  • the position Z magnitude and inclination detecting means 44 executes local processing only for the eight neighbors 18 2, that is, in Steps 4406 and 4410 in FIG. 26, the neighborhood size is determined.
  • Q is 8
  • the position, size, and inclination detecting means 44 obtains a plurality of line segments and a normal direction of a curve formed by the coarse edge information 112 in the coarse edge information image 113 depending on conditions. In some cases.
  • the line width of a plurality of line segments and curves in the rough edge information image 113 is approximately 2 or 3 pixels, that is, the position / size / inclination detection means for the formed edge information 114 No.
  • the position / size / inclination detecting means 44 detects a line segment in the formed edge information image 1 Outputs an angle of 45 degrees.
  • the size of the object output by the position / size detection means 44 is the length of a line inclined 135 degrees with respect to the 7K plane.
  • the position Z size Z inclination detecting means 44 divides the cross in the formed edge information image 115 into five line segments, and then divides the cross in the formed edge information image 115.
  • an angle of 90 degrees to the horizontal is output for the horizontal line segment, and an angle of 0 degrees to the horizontal is output for the vertical line segment in the formed edge information image 115.
  • the position / size / inclination detecting means 44 divides the triangle in the formed edge information image 115 into six line segments, and outputs angles in the normal direction, respectively.
  • the position / size / inclination detecting means 44 divides the square in the formed edge information image 115 into eight line segments, and outputs the angles in the normal direction. As is clear from Fig. 34, each of the four corners of the rectangle is converted into a short line segment inclined in the direction of the center of gravity of the rectangle.
  • the position Z size Z inclination detecting means 44 divides the 90-degree inclined rectangle (herein referred to as a rhombus) in the formed edge information image 115 into six line segments. , And output the angle in the normal direction.
  • the position size / inclination detecting means 44 is used for forming edge information image. Divide the circle in image 1 15 into 8 line segments, and output the angle in the normal direction. Therefore, if the position / size Z inclination detecting means 44 adds 90 degrees to these normal angles using Equation 54, the position Z magnitude Z inclination detecting means 44 will generate the formed edge information image.
  • the angles of the tangent directions of a plurality of line segments and curves representing the contour of the object in 1 15 can be obtained.
  • ⁇ ' ( ⁇ + 3 ⁇ 4 mod 7 ⁇ (54)
  • the position / size / inclination detecting means 44 outputs a plurality of line segments representing the contour of the object in the formed edge information image 115 and the angle in the normal direction of the curve, and the geometric analysis means 37 If so, the position / magnitude / inclination detection means 44 may use Equation 52.
  • the geometric analysis means 37 can identify the shape of this object.
  • Such a method of collecting a plurality of pieces of information in one place has already been realized by the position / size / tilt detecting means 44.
  • the inclination magnitude information 185 relating to one object is dispersed in the inclination magnitude information image 186, as shown in FIG. It is difficult to gather the tilt magnitude information 185 in one place by the same method as the tilt detecting means 44. Therefore, hereinafter, the position / size / shape detecting means 45 for collecting the inclination size information 185 at one place by using the formed edge information image 115 will be described.
  • Equations 37 to 44 are expanded to Equations 55 to 62, respectively.
  • each of the plurality of array operation units 100 can use the mathematical formula 556 instead of the mathematical formula 374.
  • Equation 63 is added to Equation 5562.
  • the equation 63 represents the length of the line segment represented by the tilt magnitude information 185 included in each area of the tilt angle 0 in the gradient magnitude information image 186.
  • Used to calculate the sum of r 9fc + 9 (x, y) o (63) Therefore, by using equations 64, 65 and 66 instead of equations 45, 46 and 47, 36 pieces of source slope overlap information are obtained. From the 6-band grayscale image X composed of 1 8 7 and the single-band grayscale image y composed of overlapping information 1 3 1
  • the source slope overlap information 187 and the source slope overlap information 187 representing the sum of the lengths of the line segments represented by the slope size information 185 are generated.
  • a y) ⁇ ⁇ , ⁇ (( ⁇ ))) + ⁇ ⁇ ( ⁇ , ⁇ ( ⁇ ( ⁇ ))) (64) ⁇ '(( ⁇ ))) (65) ⁇ "(())) (66)
  • the position / size / shape detecting means 45 realized by the data processing device 110 forms the formed edge.
  • a duplicate information image 13 2 having the overlap information 13 1 as a pixel is generated from the formed edge information image 1 15, and the tilt magnitude information 18 5 having the pixel as the tilt magnitude
  • the array operation units 100 arranged in a grid pattern are synchronized. If the array operation unit 100 arranged at the i-th row and the j-th column on the grid is AO U ij, the algorithm of AO U i is as shown in FIG.
  • AO U i is placed in the i-th row on the grid. This case is either logical or physical, is necessary in order to determine the proximity of AO U u.
  • step 4502 the neighborhood of AOU i and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • the position Z size / "tilt detection means 44 may be appropriately determined as necessary, depending on the calculation time for calculating the weight of the This can be dealt with by changing the neighborhood size.
  • step 4503 it is determined whether or not the sequentially input formed edge information image 115 has disappeared. If there is no formed edge information image 1 15 (step 4503: Y E S), the algorithm ends. If there is a formed edge information image 115 (step 4503: NO), the flow shifts to step 4504. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 4504 the pixel at the i-th row and the j-th column of the formed edge information image 115 and the pixel at the i-th row and the j-th column of the gradient information image 186 are inputted for one band. Therefore, A ⁇ U i ” ⁇ requires a memory 102 for storing at least one band of image data.
  • step 4505 the pixel at the i-th row and the j-th column of the formed edge information image 115 is separated from the pixel at the i-th row and the j-th column of the gradient magnitude information image 186. If the pixel at the i-th row and the j-th column of the formed edge information image 1 15 and the pixel at the i-th row and the j-th column of the gradient magnitude information image 1886 are separated and input from the beginning, nothing is performed.
  • step 4506 the formed edge information 111 of the formed edge information image 115 is converted to the duplicated information 131 of the duplicate information image 132.
  • Duplicate information 1 3 1 is a band pixel value corresponding to 1 or 0.
  • the tilt magnitude information 185 of the tilt magnitude information image 186 is converted into the source tilt duplicate information 187 of the source tilt duplicate information image 188.
  • the source inclination overlapping information 1 87 located at the center is a band pixel value corresponding to a non-negative integer.
  • the 32 pieces of source slope overlap information 187 are cleared with a band pixel value corresponding to 0.
  • a ⁇ U ⁇ j communicates with the neighboring array operation unit 100 to form a function ⁇ ij (X) for each band pixel value of the overlapping information image 132. Calculate the amount of movement.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • AOU ij communicates with the neighboring array operation unit 100 to form a function A ⁇ k (X, Move to the point indicated by the amount of movement according to y).
  • the shifted band pixel value is newly treated as a band pixel value of the source inclination overlapping information image 1888.
  • step 4510 AOU ij communicates with the neighboring array operation unit 100 so that the amount of movement for each band pixel value of the overlapping information image 1332 according to the function iji iji (X) Move to where you point.
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 4511 it is determined whether or not the number of movements, which indicates the number of repetitions from step 4508 to step 4501, has reached the designated number. If the number of times of movement has not reached the specified number of times (step 4511: NO), the flow returns to step 4508. If the number of times of movement has reached the specified number of times (step 4511: Y E S), the process proceeds to step 4512.
  • the specified number of times is determined by the size of the formed edge information image 115, the size of the object represented by the formed edge information 114, and the nearby size q. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required to detect the position, size, and shape will increase. Become.
  • step 4 5 1 2 A ⁇ U jj communicates with the neighboring array operation unit 100 0, and the amount of movement according to the function ⁇ j X) for each band pixel value of the overlap information image 13 2 Is calculated.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 4 5 13 AOU ij communicates with the neighboring array operation unit 100 to form a function ⁇ H (X, y for each band pixel value of the source slope overlap information image 18 8. Move to the point indicated by the amount of movement according to).
  • the shifted band pixel value is newly treated as the band pixel value of the source slope overlap information image 188.
  • step 4 5 1 A ⁇ U ij communicates with the neighboring array operation unit 100 0, and according to the function ⁇ 'jji (X) for each band pixel value of the overlap information image 1 32 Move to the point indicated by the amount of movement.
  • the shifted band pixel value is newly set as the band pixel value of the overlapping information image 132. Is treated.
  • step 4515 it is determined whether or not the number of times of degeneration indicating the number of repetitions from step 4508 to step 4514 has reached a designated number. If the number of times of degeneration has not reached the specified number (step 4515: N 5), the flow returns to step 4508. If the number of times of degeneration has reached the specified number (step 4515: YESS), the process proceeds to step 4516.
  • the specified number of times is determined by the size of the formed edge information image 115, the size of the object represented by the formed edge information 114, and the nearby size q. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required to detect the position, size, and inclination increases. Become.
  • step 4516 the band pixel value of the overlap information image 1332 and the band pixel value of each of the source inclination overlap information images 1888 are output. Thereafter, the flow returns to step 4503.
  • each piece of overlap information 1 3 1 of the overlap information image 1 3 2 represents the total number of formed edge information 1 1 4 around the position, the size of the object around the position is eventually determined. Will mean. Also, since the source slope overlap information 187 is located near the pixel where the overlap information 1 3 1 is located, almost all of the source slope overlap information 1 8 7 is located together with the overlap information 13 1 in one place. get together. Furthermore, the sum of the source inclination overlap information 187 located at the center of each area of the line segment inclination angle ⁇ substantially matches the size of the object.
  • the position Z size Z-shaped detection means 45 is moved from the formed edge information image 1 15 to the overlapping information image 1 3 2 and moved.
  • the original skew overlapping information image 18 8 can be generated.
  • the function ⁇ ⁇ 3 ⁇ X) and the function ⁇ “ ijx) may be used alternately.
  • the function ⁇ ⁇ k (X, y) and the function ⁇ "** k (x, y) are alternately used.
  • the function ⁇ , ij x (X) and the function ⁇ " ul (x) may be alternately used.
  • the inclination angle 0 is 0 degree (0 radian) and 45 degree (7T // 4 radian) according to the equation 54. ), 90 degrees ( ⁇ 2 radians), and 135 degrees (3 vaults 4 radians). That is, the tilt angle 0 indicates the angle in the tangential direction of the line segment represented by the formed edge information image 115.
  • a method of generating the shape size information image 190 from the movement source tilt overlapping information image 188 will be described, taking this case as an example.
  • the 36-band grayscale image X is the source tilt overlapping information image 188. Therefore, image X is divided into four images for every nine bands, and each of them is divided into 0, 45, 90, and 135 degrees.
  • the information image is 18 4.
  • Equation 52 is transformed into Equation 67 to obtain the moving direction 0 3, ⁇ + ⁇ (X) of these line segments.
  • the memory 1 02 will have a log table and the necessary number of movement directions will be prepared. All you need to do is store the up table.
  • the shape of the object ⁇ ij X) at the position p (i, j, k) of the 36-band grayscale image X is Horizontal line (0 degree), upward line (45 degrees), vertical line (90 degrees), downward line (135 degrees), cross shape (0 degrees), X shape (45 degrees) ), Star (combination of cross and X), upward triangle, downward triangle, left triangle, right triangle, square, rhombus (90 degrees), circle and others, each with 1 1 A number of 5 shall be assigned.
  • the shape of the object ⁇ u 1 (X) is calculated according to equations 68 and 69 .
  • the number of bands is 1 for convenience.
  • Equations 68 and 69 can be changed according to the precision. Also, if the equations 68 and 69 are further classified, the equations 68 and 69 can also identify the shape of a distorted object or an object in a noisy image. Further, instead of Equations 68 and 69, a neural network such as a perceptron may be used.
  • Equation 67 uses Equation 53 to form 0 degree (0 radians), 45 degrees (7TZ4 radians), 90 degrees ( ⁇ _ / 2 radians) and 135 degrees (3 ⁇ 4 radians). If only one of them is output, the conditional expressions of Equations 68 and 69 become simpler.
  • each of the plurality of array operation units 100 in the position / size ⁇ shape detection means 45 is calculated by calculating the shape ⁇ i jk (x) of the object obtained from Expressions 68 and 69 and the overlapping information image 1
  • the shape size information 1 89 By generating the shape size information 1 89 by combining 3 2 i-line j-column overlap information 1 3 1 and, the position Z size shape detection means 45
  • a 15-band shape size information image 190 representing the size of the figure can be output (see Fig. 45).
  • the position / size shape detection means 45 is a two-band shape size information image 1 in which one band pixel value represents the figure number and the other band pixel value represents the figure size. 90 may be output.
  • the visual device 2 can detect the shape of the object from the formed edge information image 115. Wear. Therefore, hereinafter, the geometric analysis means 37 which is a combination of the position Z size Z inclination detection means 44 and the position / size Z shape detection means 45 will be described.
  • the geometric analysis means 37 includes a position Z size / inclination detection means 44 and a position Z size / shape detection means 45. Further, the position Z size Z tilt detection means 44 inputs formed edge information image 115 composed of formed edge information 114 indicating whether or not there is an edge of the object, and tilt size information 18 The tilt size information image 18 composed of 5 is output, and the position / size / shape detecting means 45 inputs the formed edge information image 1 15 and the tilt size information image 18 6 and moves. A source tilt duplicate information image 1 88 composed of the original tilt duplicate information 1 8 7 is output. For example, in FIG.
  • the geometric analysis means 37 generates a line segment inclined at 0 °, 45 ° and 135 ° with respect to the horizontal from the formed edge information image 115 representing the outline of the triangle. Has been detected. As shown in FIG. 44, even if the formed edge information image 115 represents the outline of a triangle by a broken line, the geometric analysis means 37 can detect the shape of the triangle. This can be easily inferred from the feature that the position / size / inclination detecting means 44 cuts at least one line segment constituting the figure.
  • the geometric analysis means 37 generates a shape size comprising shape size information 1 89 representing the identification result of the shape of the object in the formed edge information image 115.
  • the information image 190 can be output directly.
  • the position / size shape detection means 45 requires means for identifying the shape of the object from the source inclination overlapping information image 18 8, but the data amount of the identification result output by the geometric analysis means 37 Is significantly reduced as compared with the source inclination overlapping information image 18 8.
  • the shape / size information image 190 is shown so that all shapes are allocated to different bands. It may be a two-band image composed of bands representing the frequency.
  • the geometric analysis means 37 detects the position, size and shape of each figure in a pattern composed of a plurality of figures such as a face pattern. I can do it. Further, as shown in FIG. 47, the geometric analysis means 37 can divide the texture into a plurality of minute regions and detect the shape and size of the figure in each minute region.
  • this image May be generated as follows.
  • the region normalizing means 27 realized by the data processing device 110 is composed of the object region image 144 including the object region 141, and the object region 141.
  • the array operation units 100 arranged in a grid are synchronized. And operate in parallel. Assuming that the array operation unit 100 arranged at the i-th row and the j-th column on the lattice is A ⁇ U i j, the algorithm of AOU i j is as shown in FIG.
  • step 2701 A ⁇ U u is arranged on the i-th row and the j-th column on the grid. This is logical A ⁇ U, even if physical, is needed to determine the neighborhood of U U.
  • step 2702 the neighborhood of AOUij and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • the area normalizing means 27 appropriately changes the neighborhood size as necessary. Can be dealt with.
  • step 2703 it is determined whether or not the sequentially input object region image 144 or digital image 111 has disappeared. If there is no object area image 14 2 or digital image 11 1 (step 2703: Y E S), the algorithm ends. If there is an object region image 144 and a digital image 111 (step 270: NO), the flow shifts to step 274. However, if the array operation unit 100 is implemented only for a specific number of bands and image size, no! May be a rape.
  • step 2704 the pixel of the i-th row and the j-th column of the object area image 142 is input for one band, and the pixel of the i-th row and the j-th column of the digital image 111 is input for the number of bands.
  • AOU ij collectively processes the pixel at the i-th row and the j-th column of the object area image 142 and the pixel at the i-th row and the j-th column of the digital image 111. For this reason, AOU ij requires a memory 102 for storing at least image data for the total number of bands.
  • step 2705 the pixel at the i-th row and the j-th column of the object area image 142 is separated from the pixel at the i-th row and the j-th column of the digital image 111.
  • This is AOU! j is for processing the pixel at the i-th row and the j-th column of the object region image 142 and the pixel at the i-th row and the j-th column of the digital image 111 as independent image pixels. If the pixel on the i-th row :) 'column of the object area image 142 and the pixel on the i-th row and the j-th column of the digital image 111 are separated and input from the beginning, nothing is done.
  • the object area image 1442 and the digital image 1 11 are copied to the updated object area image and the updated digital image, respectively.
  • AOU i] communicates with the neighboring array operation unit 100 Then, the movement amount is calculated according to the function R ij X) for each band pixel value of the updated object region image.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 2707 the AOU u communicates with the neighboring array operation unit 100 to move the destination band that can be moved according to the function Hi j k (x, y) for each band pixel value of the updated object region image. Pixel values can be found. The value indicating whether or not it is a movable destination is treated as the band pixel value of the movable image.
  • step 2708 AOUij communicates with the neighboring array operation unit 100 to move each band pixel value of the updated object region image to a movable destination according to the function Uijk (X, y).
  • the shifted band pixel value is newly treated as a band pixel value of the updated object region image.
  • step 2709 the AOUij communicates with the neighboring array operation unit 100 to move the updated digital image to the movable destination according to the function Uijk (x, y) for each band pixel value.
  • the shifted band pixel value is newly treated as a band pixel value of the updated digital image. .
  • step 2710 it is determined whether or not the number of movements representing the number of repetitions from step 2706 to step 2709 has reached the specified number. If the number of movements has not reached the specified number of times (step 2710: NO), the flow returns to step 2706. If the number of times of movement has reached the specified number of times (step 2710: YES), the flow shifts to step 2711. Note that the designated number is determined by the size of the digital image 111, the size of the separated object region 143 of the digital image 111, and the size q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required for normalization becomes longer.
  • the AOUij communicates with the neighboring array operation unit 100 to determine the neighborhood of each band pixel value of the updated updated object region image according to the function Vi jk (x, y). Interpolate with the average value.
  • both X and y are updated object region images.
  • the band pixel value filled with the average value is treated as a band pixel value of the normalized updated object region image.
  • AOU ij communicates with the neighboring array operation unit 100 to form a function V ijk (X, y) for each band pixel value of the updated updated digital image. Therefore, fill in the average value in the vicinity.
  • X is an updated digital image
  • y is an updated object area image.
  • the band pixel value filled with the average value is treated as a band pixel value of the normalized updated digital image.
  • step 2711 it is determined whether or not the number of interpolations representing the number of repetitions from step 2711 to step 2712 has reached a specified number. If the number of times of interpolation has not reached the specified number of times (step 2713: NO), the flow returns to step 2711. If the number of times of interpolation has reached the specified number of times (step 2713: Y E S), the process proceeds to step 2714. Generally, the number of interpolations is about half of the neighborhood size Q.
  • step 2714 it is determined whether or not the number of repetitions representing the number of repetitions from step 2706 to step 2713 has reached the designated number. If the number of continuations has not reached the specified number of times (step 2714: N ⁇ ), the flow returns to step 2706. If the continuation number has reached the specified number (step 2714: Y E S), the process proceeds to step 2715.
  • the designated number is determined by the size of the digital image 111, the size of the separated object region 144 of the digital image 111, and the size Q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required for normalization becomes longer.
  • step 2715 the band pixel value of the updated digital image is output as the band pixel value of the normalized image 144. Then, the process returns to step 2703.
  • the region normalizing means 27 converts the normalized image 1 45 from the object region image 144 and the digital image 111 into Can be generated.
  • the area normalizing means 27 does not need to perform interpolation between pixels.
  • the region normalizing means 27 may omit steps 2710, 2711, 2712 and 2713. Can be. That is, the area normalizing means 27 does not have to execute the function V i jk (X, y). Therefore, when the array operation unit 100 is realized by hardware, the division circuit can be omitted.
  • a method of using a normalized image 144 obtained by normalizing the separated object region 144 as in the past is also useful for pattern matching of an eyeball pattern or a striped pattern. As shown in FIG.
  • the mask means 40 realized by the data processing device 110 generates a mask image 144 from the digital image 111 and the object region image 142 by using a grid.
  • the array operation units 100 arranged in a matrix operate synchronously and in parallel. Assuming that the array operation unit 100 arranged at the i-th row and the j-th column on the grid is 011 ⁇ , the algorithm of AOU ij is as shown in FIG. '' At step 4001, A ⁇ U ij is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AO U ij, whether logical or physical.
  • step 402 the neighborhood of AOU i ”and initial values of variables are set.
  • step 4003 it is determined whether or not the digital image 111 or the object area image 142 input sequentially is gone. If there is no digital image 1 1 1 or object area image 1 4 2 (step 4003: Y E S), the algorithm ends. If there is a digital image 111 and an object area image 142 (step 4003: N ⁇ ), the process proceeds to step 400. However, when the array operation unit 100 is implemented for a specific number of bands and an image size, an infinite loop may be used.
  • step 4004 the pixels in the i-th row and the j-th column of the digital image 111 and the object area image 142 are input for the number of bands.
  • AOU ij collectively processes the pixels in the i-th row and the j-th column of the digital image 111 and the object area image 142.
  • AOU ij requires a memory 102 for storing at least the image data for the number of bands.
  • step 4005 mask processing is performed on each band pixel of the digital image 111 according to the function O ijk (x, y).
  • the masked band pixel value is treated as a band pixel value of the mask image 148.
  • step 4006 the band pixel value of the mask image 1488 is output. Then step 4 0 Return to 0 3.
  • the masking means 40 can mask portions other than the separated object region 144 in the digital image 111.
  • the array operation units 100 arranged in a lattice form operate in synchronization and in parallel. If the array operation unit 100 arranged in the i-th row :) 'column on the grid is AOU ij, the algorithm of AOU ij is as shown in FIG. 53.
  • step 3801 AO U ij is arranged on the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU u , whether logical or physical.
  • step 3802 the neighborhood of A ⁇ U U and the initial values of variables are set.
  • Step 803 it is determined whether or not the sequentially input normalized images 145 have disappeared. If there is no normalized image 144 (Step 380: YES), the algorithm ends. If there is a normalized image 145 (Step 380: N ⁇ ), the process proceeds to Step 380. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 3804 the pixels in the i-th row and the j-th column of the normalized image 144 are inputted for the number of bands. For this reason, AOU i j. Requires a memory 102 for storing at least image data for the number of bands.
  • step 3805 the format of the normalized image 144 is converted if necessary by the output destination device. In particular, if the number of bands of the normalized image 1 4 5 is set to 1, or if the number of bands of the digital image 1 1 1 is 4 or more, the number of bands of the normalized image 1 4 5 is set to 3, making it easier to generate analog signals. Convenient in case. Otherwise do nothing.
  • step 386 the pixels in the i-th row and the j-th column of the normalized image 145 are stored so that the image data can be reliably transmitted to the output destination device having a different processing speed.
  • step 807 the band pixel value of the normalized image 145 is output. Thereafter, the flow returns to step 3.803.
  • the image holding means 39 can output the normalized image 145 using the data processing device 110 composed of the array operation unit 100.
  • the image holding means 39 for holding the digital image 111 and the mask image 148 operates in the same manner.
  • the image storage unit 12, the color information generation unit 41, and the edge information generation unit are such that the data processing device 110 inputs one or two images and performs image processing consisting only of neighborhood processing. 14, edge information forming means 15, position / size detecting means 17, position / size / inclination detecting means 44, area normalizing means 27, masking means 40, and image holding means 39 I've been.
  • the pattern matching means 38 must use a very large number of images. Therefore, in the following, the pattern matching means 38 is realized by the data processing device 110 while showing the neighborhood processing used by the pattern matching means 38. A method for performing the above will be described.
  • an array operation unit 1 arranged in a grid pattern 00 operates synchronously and in parallel. If the array operation unit 100 arranged at the i-th row and the j-th column on the grid is AOU ij, the algorithm of AOU ij is as shown in FIG.
  • AO U ij is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU u , whether logical or physical.
  • step 2902 the neighborhood of AOU i ⁇ and the initial values of variables are set.
  • the neighborhood size q used in each of the above functions may be determined individually, or all may be unified.
  • multiple template images prepared in advance It is also assumed that the initial setting is performed for the pixel on the i-th row and the j-th column of 1 4 6 and all the pixels near Q.
  • step 2903 it is determined whether or not the input image has been sequentially deleted. If there is no input image (step 2903: Y E S), the algorithm ends. If there is an input image (step 2903: NO), the flow shifts to step 2904. However, when the array operation unit 100 is implemented only for a specific image size, an infinite loop may be used.
  • step 2904 the pixels of the i-th row and the j-th column of the input image are input for the number of bands. For this reason, AOUjj requires a memory 102 for storing at least the image data for the number of bands.
  • the matching result ⁇ ij! Of the matching result image 147 from the input image and the template image 14.6! Is calculated.
  • the matching result is a band pixel value indicating the number of the template image 146 closest to the input image.
  • the band pixel value of the matching result image 147 is output. Then, return to step 2903.
  • the pattern matching means 38 can generate the matching result image 147 from the input image using the data processing device 110 including the array operation unit 100.
  • the input image is added to the template image 146, it is assumed that necessary local processing is executed after step 290.
  • a nonlinear oscillator generally causes a pull-in phenomenon.
  • This pull-in phenomenon is a phenomenon in which nonlinear oscillators with different periods interact and are constrained to oscillate with a period of a simple constant ratio in a periodic behavior such as a limit cycle attractor.
  • a periodic behavior such as a limit cycle attractor.
  • the vibration of one nonlinear oscillator is changed, the vibration of the other nonlinear oscillator is also changed, so these nonlinear oscillators are synchronized.
  • the phase difference between the vibrations can be made as small or large as possible. By manipulating this interaction, a group of nonlinear oscillators can be divided into multiple groups with different phases.
  • the object / background separation means 16 uses such a nonlinear oscillator pull-in phenomenon to separate the object and the background so that the edge information in the edge information image is the boundary, and the object area 14 1 An object region image 1 4 2 to be represented is generated.
  • a case where a van der Pol is used as the nonlinear oscillator will be described as an example.
  • ⁇ ij be the nonlinear oscillator at the i-th row and the j-th column.
  • the set Q ij) is represented by Equation 71. Where q is a sequence of 4, 8, 24, 48, 80, 120, (2 r + l) 2 —l and r is a natural number. If the nonlinear oscillator that exceeds the network size is included in the neighborhood set ⁇ ij (q), the nonlinear oscillator CO ij is substituted. Thereby, the edge processing is automatically performed. Therefore, the number of elements in the neighborhood set j (q) is always q. As you can see from this, Shaped oscillator networks are treated the same as single band images. For simplicity of expression, only two subscripts are used in the nonlinear oscillator network: the width direction and the height direction.
  • the non-linear oscillator is connected to the non-linear oscillator in the neighborhood set ⁇ jj (q a ) included in the vicinity of d a by a coupling value i jkl calculated according to Equation 72 . If a logarithmic table is not used, approximation using Equation 73 is also possible. ⁇ And V are appropriate positive constants. n,,
  • Equation 72 the division in Equation 72 is changed to multiplication.
  • the function sinc (x) may always be 1 if i jkl takes only non-negative real numbers as combined values.
  • the nonlinear oscillator ⁇ j will continue to operate forever with the same phase as long as the calculation is performed by the processor 101. Thus, if a disturbance p ij is given, such a state can be avoided. Although a pseudo-random number can be used as the disturbance, a simple expression such as Equation 74 can be obtained by inputting a grayscale image from the outside. Note that ⁇ j represents the band pixel value of the i-th row and j-th column of this grayscale image. ⁇ is an appropriate positive constant.
  • the nonlinear oscillator ⁇ ij is a nonlinear oscillator ⁇ k of the neighborhood set ⁇ u (q a ). To synchronize with, calculate the neighboring input sum ⁇ jj according to Equation 75. Note that “ ⁇ i” indicates the presence / absence of edge information in row i and column j of the edge information image. If there is edge information, set to 1; otherwise, set to 0.
  • Oij Ti 1 (75)
  • ⁇ ij and Y ij that make up the van 'Dell' pole nonlinear oscillator o) i ' are calculated according to equations 76 and 77. Note that r and ⁇ are appropriate positive constants.
  • the edge information is not sufficient to separate the object from the background, the edge information must be interpolated. Therefore, it is necessary to find out how many nonlinear oscillators are out of phase in a set ⁇ ij (Q b ) of nonlinear oscillators near q b of the nonlinear oscillator ⁇ ij. Then, the contour parameters 7] ij are calculated using Equation 79.
  • any non-linear oscillator that causes a pull-in phenomenon can be operated, such as a chaotic oscillator that generates a stractor and a wrestler equation attractor. In that case, it is good to replace or add the parameters ⁇ u and u with the parameters of each non-linear oscillator. At that time, at least one of the parameters ⁇ ⁇ ⁇ ⁇ j and the disturbance
  • Equations 71 to 80 it is possible to describe the algorithm of all the array operation units 100 of the data processing apparatus 110 that can implement the object / background separation means 16 .
  • the object Z background separating means 16 will be described using an algorithm of an arbitrary array operation unit 100 in the data processing apparatus 110.
  • the object / background separation means 16 realized by the data processing device 110 includes the triangle edge information 15 1 and the overlap information 1 on the triangle edge information 15 1.
  • the array operation units 100 arranged in a lattice form operate synchronously and in parallel. If the array operation unit 100 arranged at i-th row and j-th column on the grid is AOU i j, the algorithm of A ⁇ U i j is as shown in FIG. 57.
  • step 1601 A ⁇ U i j is arranged at the i-th row and j-th column on the grid.
  • Step 1 6 0 connected by ijkl the neighborhoods omega ij and o kl Te combined value based on Equation 7 2 and 7 3.
  • step 1603 appropriate initial values are set for the parameters u u and u u of the nonlinear oscillator.
  • step 1604 whether or not the sequentially input formed edge information image 115 has disappeared to decide. If there is no formed edge information image 115 (step 1604: YES), the algorithm ends. If there is a formed edge information image 115 (step 1604: N ⁇ ), the process proceeds to step 1605. However, when the array operation unit 100 is implemented only for a specific number of bands and image sizes, an infinite loop may be used.
  • step 1605 the pixels of the i-th row and the j-th column of the formed edge information image 115 and the overlapping information image 132 are inputted for the number of bands.
  • AOUi collectively processes the pixels in the i-th row and the j-th column of the formed edge information image 115 and the overlapping information image 132. For this reason, AOU ij 'requires a memory 102 for storing at least the image data for the number of bands.
  • step 1606 the pixel at the i-th row and the j-th column of the formed edge information image 115 and the pixel at the i-th row and the j-th column of the overlapping information image 132 are separated to be ⁇ i ⁇ ⁇ and ⁇ ⁇ j, respectively. This is because A ⁇ U ij processes the pixel at the i-th row and the j-th column of the formed edge information image 115 and the pixel at the i-th row and the j-th column of the overlapping information image 132 as independent image pixels.
  • the pixel at row i and column j of the formed edge information image 115 and the pixel at row i and column j of the overlap information image 132 are input separately from the beginning, they are simply denoted by ⁇ ⁇ ⁇ ⁇ ij and ⁇ ⁇ j, respectively. .
  • step 1607 a disturbance! 0 is calculated from the duplicate information 131 ⁇ ⁇ ⁇ ⁇ according to equation 74.
  • step 1608 A_ ⁇ _U kl k have the S k i of array operation Interview knit 100 there is a nonlinear oscillator c kl in a neighbor set ⁇ ⁇ j (ci a), by entering the boiled k i, sum ff ij is calculated according to Equation 75.
  • step 1609 the parameters ⁇ ij, ij of the nonlinear oscillator are calculated according to equations 76 and 77. That is, the differential equations shown in these equations are solved by the Runge-Kutta method.
  • step 1610 the output ⁇ ij of the nonlinear oscillator is calculated according to equation 78.
  • equation 78 the output ⁇ ij of the nonlinear oscillator is calculated according to equation 78.
  • step 1611 A kl is input from AOU kl of the array operation unit 100 having the nonlinear oscillator co kl in the neighborhood set j (q b ), and the contour parameter ⁇ ij is calculated according to Equation 79.
  • step 1612 the boundary parameter ⁇ ij is calculated according to equation 80. That is, the differential equation shown in this equation is solved by the difference method or the Runge-Kutta method.
  • step 1613 it is determined whether or not the number of separations representing the number of repetitions from step 1608 to step 1612 has reached the specified number. If the number of separations has not reached the specified number (step 1613: N ⁇ ), the procedure returns to step 1608. If the number of separations has reached the specified number of times (steps 16 13: Y E S), the process proceeds to step 16 14.
  • step 1614 the output ⁇ ij of the non-linear oscillator, which becomes the band pixel value of the object area image 1442, is output. Thereafter, the flow returns to step 1604.
  • the following method can be used to determine the number of separations in step 1613.
  • the separation ends in a certain period of time for almost all the formed edge information 114 regardless of the initial state of the nonlinear oscillator. It is sufficient to calculate the number of repetitions from step 1608 to step 1612. This is because if the initial state of the nonlinear oscillator is within a certain range, there is not much difference in the time until the nonlinear oscillator is synchronized by the pull-in phenomenon. Only by calculating the nonlinear oscillator in this way, it is possible to separate the inner region 15 2 of the triangle and the outer region 15 3 of the triangle using the edge information 15 1 of the triangle.
  • the object / background separation means 16 separates the inside area 15 2 of the triangle and the outside area 15 3 of the triangle as shown in FIG. At this time, the phase difference between the inner region 15 2 of the triangle and the outer region 15 3 of the triangle exceeds 90 degrees and approaches 180 degrees as much as possible, Triangles and background areas can be separated.
  • the joint value is changed in a pseudo manner by the following method.
  • the nonlinear oscillator o k The coupling value for coupling to the nonlinear oscillator ⁇ ij; j k ! (See step 1602).
  • ⁇ ij and kl are both 1 when there is an edge, and 0 when there is no edge.
  • the formed edge information 1 14 S k I is transferred from A ⁇ U kl of the array operation unit 100 to A ⁇ U ij, In AOU u , the combined value rij k i (1—S ki) is calculated and used as a substitute for the combined value ri jkl (see step 1608 ).
  • the boundary parameter ⁇ i 3 acts as a scaling factor from 0 to 1 on the substituted connection value T ijkl (1-C k i) (see step 1 608).
  • each AOUij calculates the output ⁇ jj of the nonlinear oscillator (see step 1610).
  • the output ⁇ ij is 1, if the nonlinear oscillator of which A kl is 1 among the nearby nonlinear oscillators is c k i, the parameters ij and ⁇ 1 are both ⁇ or more. That is, ⁇ ij and A kl are approximately in phase, and if ⁇ is a positive value, the worst case phase difference will not exceed 90 degrees.
  • the maximum value of this phase difference is determined by the value of 0, and when e is increased within the range where both ⁇ ij and A kl are 1, this phase difference approaches 0 degree.
  • the contour parameter ⁇ ij representing the number of neighboring nonlinear oscillators that are approximately in phase is calculated according to Equation 79 (see step 1611). Subsequently, if the contour parameters 7? Ij are approximately half of the entire neighborhood, the boundary parameter ij, which is the magnification of the joint value, is decreased according to Equation 80, otherwise, it is increased according to Equation 80 (Step 16). See 1 2). For example, for 8 near 1 82, 3 If it is between 5 and 5, it is advisable to decrease the boundary parameter according to equation 80. When this process is repeated, the edge information of the dashed triangle 15 4 shown in FIG.
  • the object Z background separating means 16 uses the formed edge information 1 1 4 of the formed edge information image 1
  • the area 14 1 and the background area can be separated.
  • the plurality of separated areas are sequentially extracted with the passage of time by the output ⁇ ij, but the array operation unit 100 calculates the phases of the non-linear vibrator to calculate the plurality of separated areas. They can be output at once as a phase group.
  • the array operation unit 100 generates one pixel of the output image by using one pixel of the input image and its neighboring pixels.
  • the data processing device 110 can generate an output image from the input image. it can.
  • the array operation unit 100 is abbreviated as AOU.
  • the array operation unit 100 may be implemented by dedicated hardware, or may be implemented by software on a general-purpose computer.
  • the means for implementing the array operation unit 100 is not limited. If implemented After that, a case where the virtual array operation unit (VIRTUAL ARRAY OPERATION UNIT) 105 is implemented by dedicated hardware will be described.
  • the array operation unit 100 stores a processor (PROCESSOR) 101 for calculating a mathematical expression in image processing and all parameters, constants, functions and operators used in the mathematical expression.
  • PROCESSOR PROCESSOR
  • MEMORY 102
  • CONTROLLER CONTROLLER
  • the processor 101 is specified by the address path 51.
  • An arbitrary memory element and register of the memory 102 and the controller 103 can be selected by the address (ADDRESS).
  • the processor 101 is connected to the memory 102 and the controller 103 via the data bus 52 so as to be able to communicate bidirectionally with each other, and the data of any memory element and register specified by the address bus 51 is stored.
  • DATA can be accessed.
  • the processor 101 When the controller 103 inputs a front input data group (FRONT INPUT DATA SET) composed of one or more input pixels, the processor 101 stores the front input data group in the memory 102. Further, the controller 103 sends the calculation data (CALCURATION DATA) in the memory 102 calculated by the processor 101 to the adjacent array operation unit 100, and the processor 101 The calculation data received from the array operation unit 100 adjacent to 103 is stored in the memory 102. If necessary, the processor 101 transfers the calculation data to an array operation unit 100 different from the array operation unit 100 to which the calculation data was transmitted. Finally, the controller 103 outputs the pixels of the output image as result data (RESULT DATA).
  • FRONT INPUT DATA SET front input data group
  • the processor 101 stores the front input data group in the memory 102. Further, the controller 103 sends the calculation data (CALCURATION DATA) in the memory 102 calculated by the processor 101 to the adjacent array operation unit 100, and the processor 101 The calculation data received from the array operation unit 100 adjacent
  • the reason for mounting the controller 103 in each of the array operation units 100 is that the processor 101 can operate while the array operation units 100 are communicating with each other. Since 1001 can be calculated even during the communication waiting time and high-speed processing can be realized, it is not necessary to change the hardware even if the number of nearby array operation units 100 is changed. Since the controller 103 can automatically perform the edge processing of the image, that is, the exception processing for the edge pixels in the image, the program of the processor 101 does not need to perform the edge processing. It becomes very simple.
  • the block diagram of the controller 103 is as shown in FIG.
  • the address buffer (ADDRESS BUFFER) 53 receives an address (ADDRESS) from the processor 101 via an address path (ADDRESS BUS) 51, and receives each address of the register and other data by an address decoder (ADDRESS DECODER) 54. Select a function block.
  • Data buffer (DATA BUFFER) receives an address (ADDRESS) from the processor 101 via an address path (ADDRESS BUS) 51, and receives each address of the register and other data by an address decoder (ADDRESS DECODER) 54. Select a function block.
  • 5 5 receives data (DATA) from the processor 101 via the data path (DATA BUS) 52 and communicates exclusively with the register selected by the address decoder 54 via the internal data path 56 .
  • the communication direction is specified by READ.
  • the address specifies the flag register (FLAG REGISTER) 57
  • the data is stored in the flag register 57, decoded by the flag decoder (FLAG DECODER) 58, and the adjacent array operation units 10 as multiple signals (SIGNALS). Sent to 0.
  • the details of the multiple signals are shown in FIGS. 63 and 64.
  • the flag encoder 59 When the flag encoder 59 receives one or more front input deliveries (FRONT INPUT SEND) corresponding to one or more input images (INPUT IMAGE), the previous input data group (FRONT INPUT SEND) including one or more input images is received.
  • DATA SET) is read into the front input data register (FRONT INPUT DATA REGISTER) 61 provided for the required storage capacity.
  • the previous input data register 61 is selected by the address, the contents of the previous input data register 61 are transmitted to the processor 101 as data.
  • the result data register (RESULT DATA REGISTER) is determined by the address.
  • the result data register 62 reads the result data (RESULT DATA).
  • the flag encoder 59 sends a RESULT SEND.
  • the processor 101 writes the calculation data to the address of the output data register (OUTPUT DATA REGISTER) 63, and the controller 103 performs this calculation. Data is stored in output data register 63. After that, the controller 103 transmits this calculation data to all the adjacent array operation units 100.
  • the controller 103 transmits this calculation data to all the adjacent array operation units 100.
  • the calculation data already received from the upper array operation unit 100 is stored in the upper input data register (UPPER INPUT DATA REGISTER) 64. .
  • the calculation data of the upper input data register 64 is output to the processor 101.
  • Each block of various puffers, various registers, and a padless decoder 54 is a general-purpose electronic circuit. Specifically, the flag decoder 58 and the flag encoder 59 have input / output signals as shown in FIGS. 63 and 64, respectively.
  • the type indicates the type of the content read into the OUTPUT DATA REGISTER 63 by 1 bit or more. The number of bits is determined so that the array operation unit 100 can distinguish all calculation data to be transferred.
  • Count X (COUNT-X) and Count—Y (COUNT-Y) are each an unsigned integer of 1 bit or more, each of which has a horizontal direction between array operation units 100 arranged in a two-dimensional lattice. Indicates the number of transfers and the number of transfers in the vertical direction.
  • the count 1 X and the count 1 Y become 0. Each time the array operation unit 100 transfers the calculation data in the horizontal direction, 1 is added to the count 1 X.
  • the array operation unit 100 0 transfers the calculation data in the vertical direction, 1 is added to the count 1 Y. Is added.
  • the address for specifying the output data register 63 is specified.
  • the central decoding (CENTRAL DECODING) of the decoder 5 When 8 is received, the flag decoder 58 outputs a send (SEND) according to the direction specified by the send flag.
  • the delivery flag is represented by 4 bits.
  • the processor 101 sets the delivery flag to 100 0 0, and when it transfers the calculation data to the lower side, it sets 0 100 to the left side. Set 0 0 10 when transferring, and set 0 0 1 when transferring to the right.
  • the processor 101 sets the delivery flag to 1 1 1 1.
  • the flag decoder 58 receives the result decoding (RESULT DECODING) and transmits the result delivery (RESULT SEND).
  • the flag encoder 59 When the flag encoder 59 receives a delivery (input) from any of the four array operation units 100, it immediately sets the reception (output) to 1 in the receiving direction and transmits it. After that, the flag encoder 59 inputs the type of the calculation data in the receiving direction, the count—X and the count—Y, and updates the contents of the status register 60 in that part.
  • the flag encoder 59 of the array operation unit 100 of the transmission source updates the reception status (RECEIVE STATUS) of the status register 60 when the reception (input) becomes 1.
  • the processor 101 can determine which input data register stores valid calculation data only by checking the reception status of the status register 60.
  • the processor 101 can read the calculation data from the right input data register 67 by specifying the address. Further, right decoding (RIGHT DECODING) is transmitted from the address decoder 54 to the flag encoder 59, the right direction of the reception status is returned to 0, and the reception (output) directed to the right is transmitted as 0. The same applies to the upper and lower left sides.
  • the status register 60 displays the pre-input delivery status (FRONT INPUT) for the input image corresponding to the received pre-input delivery. SEND STATUS) to 1.
  • Processor 101 is input When reading calculation data from the pre-input data register 61 for the image, the address decoder 54 sends a pre-decoding (FRONT DECODING) to the flag encoder 59 to indicate the pre-input delivery status corresponding to the received pre-input delivery. Set to 0. The processor 101 can determine whether the latest input image is stored in the previous input data register 61 by reading the contents of the status register 60.
  • This array operation unit 100 has been described mainly on the assumption that one output image is generated from one or more input images.However, depending on the application, the array operation unit 100 can output calculation data during calculation.
  • the circuit needs to be changed. In this case, the program is changed so that the result delivery of the flag decoder 58 is increased by the number of result data to be output, and only the result delivery corresponding to the result data read into the result data register 62 is set to 1. It just needs to be done.
  • the flag decoder 58 the flag register 57, the flag encoder 59, and the status register 60 will be described with reference to specific circuit diagrams.
  • the circuit diagram of the flag decoder 58 and the flag register 57 is as shown in FIG. 65.
  • the write (WRITE) is synchronized with the clock signal (CLK), and the flag register 57 stores the flag via the internal data bus 56 when the write rises.
  • the circuit for delivering the result is omitted.
  • the delivery (output) is output for one clock period one clock after both the writing and the central decoding become active, while the calculation data is output when the flag register 57 stores the flag.
  • Count-1X and Count-1Y is the designer of the flag decoder 58 wants to change the timing of sending (output), change the number of the sending flip-flops 81 or invert the trigger logic of the sending flip-flop 81 It's just good.
  • the delivery (input), the type of calculation data, the count X and the count Y received from each of the left and right array operation units 100 are input to the horizontal status circuit 82, and the upper and lower array operation units 100
  • the delivery (input), the type of the calculation data, the count X and the count Y received from each of the 0s are input to the status circuit 83 for the vertical direction.
  • the four receptions (outputs) output by the horizontal status circuit 82 and the vertical status circuit 83 are one status register together with the four receptions (inputs) received from the four neighboring array operation units 100.
  • the processor 101 can grasp the communication status with the array operation unit 100 in the vicinity of 4 simply by reading the status from the status register 60.
  • the circuit diagram of the horizontal status circuit 82 of the array operation unit 100 connected to the array operation unit 100 0 on the right side is as shown in FIG. 67. If the horizontal status circuit 82 receives a delivery (input) of 1, the delivery input latch circuit 85 stores the delivery (input) asynchronously. As a result, the reception (output) remains at 1 until the right input decoding is input to the horizontal status circuit 82. Further, since the status circuit for horizontal direction 82 can immediately return the reception (output) of 1 to the right array operation unit 100, the right array operation unit 100 can transmit the half cycle of the clock signal. It is possible to send the delivery (output) of 1 within 1 and then receive the receipt (input) of 1 within.
  • the processor 101 does not have to wait while writing the delivery flag to the flag register 57 and then reading the reception status from the status register 60. Further, the horizontal status circuit 82 adds 1 to the received count X by using a plurality of counting half adders 84, and calculates the type of calculation data while the transmission (input) is 1. Count-1X and Count-1Y are asynchronously stored in the status register 60. At this time, the calculation data is also stored in the right input data register 67 asynchronously using this transmission (input). Is done.
  • the status register 60 When both the reading and the right decoding of the status register are activated, the status register 60 outputs the type of the calculation data, the count 1 X and the count 1 Y to the processor 101 via the internal data path 56.
  • the left input decoding and the status register are replaced with the right input decoding and the status register, respectively. Left decoding is used.
  • the circuit diagram of the vertical status circuit 83 uses a plurality of counting half adders 84 to add 1 to the received count-Y. So far, the array operation unit 100 having only one controller 103 has been described. However, if the array operation unit 100 has only one controller 103, the transfer efficiency may be reduced. Therefore, an array operation unit 100 including a plurality of controllers 103 will be described.
  • the array operation unit 100 can include a plurality of controllers 103.
  • the array operation unit 100 has five controllers 103 arranged diagonally, and each controller 103 is connected to the address path 51 and the data path 52. Have been. A different address is assigned to the address decoder 54 of each controller 103 so that the processor 101 can identify the five controllers 103. Since each controller 103 has a previous input data register 61 and a result data register 62, all controllers 103 independently input the previous input data group and output the result data. can do. Furthermore, each controller 103 connects to a different one of the five controllers 103 of the adjacent array operation unit 100, so that the array operation unit 100 can increase the communication bandwidth up to five times. Can be extended to Thus, even when the array operation unit 100 transfers a large amount of calculation data, the transfer efficiency does not decrease if the number of controllers 103 is increased.
  • the processor 101 When the array operation unit 100 includes a plurality of controllers 103, the processor 101 must monitor the status in the status registers 60 of all the controllers 103.
  • a round robin method is mainly used for monitoring scheduling.
  • the controllers 103 are logically arranged in a ring, and the processor 101 accesses the controllers 103 sequentially along the ring. If the controller 103 has received the calculation data, the processor 101 reads the calculation data from the controller 103. Thereafter, the processor 101 moves to the next controller 103 in the next order. Therefore, all controllers 103 are treated equally. This method is effective when the communication band of the controller 103 is narrower than the data amount transferred by the array operation unit 100 in a short time.
  • a different priority number may be assigned to the controllers 103, and a priority method may be used in which the processors 103 access the controllers 103 in order from the highest priority every time. This method is effective when the communication bandwidth of the controller 103 is wider than the amount of data transferred by the array operation unit 100 in a short time.
  • the array operation unit 100 has only a small number of controllers 103. Therefore, when the data processor 110 executes local parallel image processing, the round-robin method has a higher priority. It is advantageous as compared with the system. However, in order for the data processing device 110 to execute high-speed local parallel image processing including functions that have to transfer a large amount of calculation data, the array operation unit 100 needs to have a sufficient number of controllers 103. If equipped, the communication efficiency of the round-robin method will be reduced if the remaining functions only refer to the calculation data of 4 neighborhoods or 8 neighborhoods 18 2. In such a case, the priority method is more advantageous. Of course, if all controllers 103 and processor 101 implement the interrupt function, it is not necessary for processor 101 to periodically monitor the status in status register 60 of each controller 103. .
  • the controllers 103 are stacked in the array operation unit 100 by using three-dimensional LSI technology.
  • the controllers 103 are stacked on the processor 101 and the memory 102, and each controller 103 has a vertically wired address bus 51 and address bus 51.
  • the data bus 52 is connected to the processor 101 and the memory 102.
  • the controller 103 can be connected to the adjacent controller 103 in the same layer. good.
  • the array operation unit 100 includes a plurality of controllers 103, so that the array operation unit 100 Not only can the communication band between 0 and 0 be expanded, but also which calculation data has been received from which controller 103 can be identified. Therefore, in the following, a plurality of continuous array operation units 100 are grouped into one group by using a plurality of controllers 103, and the array operation units 100 in this group are combined with the processor 101 and the processor 101.
  • the data processing device 110 sharing the memory 102 will be described.
  • the array operation units 100 arranged in a two-dimensional lattice are grouped into rectangular groups of an appropriate size. This group is called a virtual array operation unit 105.
  • the virtual array operation unit 105 is obtained by grouping 4 ⁇ 4 array operation units 100 into one group.
  • the virtual array operation unit 105 is composed of the processor 101, the memory 102, and the array operation unit 100. And a controller 103 which is equal to or more than the maximum value of the number of horizontal lines.
  • the virtual array operation unit 105 requires at least four controllers 103.
  • each of the controllers 103 has a status circuit for horizontal direction 82 as shown in FIG.
  • These controllers 103 are numbered from 1 to 4 for convenience. Even if the number of controllers 103 exceeds four, these controllers 103 are numbered from 1 to 4.
  • a plurality of controllers 103 are assigned to a specific array operation unit 100.
  • the communication paths of the array operation unit 100 are also numbered from 1 to 4 in the same manner as the controller 103. However, the numbers facing each other are the same for the upper and lower communication paths.
  • a program that allows the processor 101 to execute the sixteen array operation units 100 is stored in the memory 102.
  • the array operation unit 100 communicates with the array operation unit 100 of the adjacent virtual array operation unit 105, it is necessary to make sure that the phase of the controller 103 that matches the number assigned to the communication path is always used. It is assumed that the program is implemented via different ones. Thereby, the virtual array operation unit 105 can identify which array operation unit 100 to which array operation unit 100 the calculation data was transmitted from.
  • the virtual array operation unit 105 cannot completely implement a plurality of array operation units 100 only by increasing the number of controllers 103. This is because the virtual array operation unit 105 must input the previous input data group from another virtual array operation unit 105 and output the result data to another virtual array operation unit 105. Because.
  • the controller 103 is mounted on a two-dimensional plane as shown in Fig. 68, if the number of controllers 103 is sufficient, number the controllers 103 in the same way as the calculation data This problem is solved by the program. However, even in the case of FIG. 71, 16 controllers 103 are required. Therefore, when the number of array operation units 100 included in the virtual array operation unit 105 increases, this method becomes very inefficient.
  • controllers 103 are stacked as shown in FIG. 69, it is very difficult to secure a communication path for the previous input data group and the result data. Therefore, in the following, controller 1 A method for solving this problem by changing only the input data register 61 of 03 will be described.
  • the controller 103 inputs result data from another controller 103 as one previous input data of the previous input data group, and further receives the result delivery as the previous input delivery.
  • the previous input data register 61 has the same number of registers as the number of array operation units 100 in the virtual array operation unit 105.
  • the previous input counter 69 is a down counter with the number of registers as an initial value. When the count of the previous input counter 69 becomes 0, the previous input counter 69 outputs the previous input status. Thereafter, when the previous input data is input, the previous input counter 69 is initialized to the initial value.
  • the previous input shift register 68 consists of 16 registers, and when 16 previous input data are input to the previous input shift register 68, the previous input status is output. Is done.
  • each register of the previous input shift register 68 and the previous input counter 69 input the previous input signal as a trigger signal.
  • the address decoder 54 decodes the address and selects one of the registers of the previous input shift register 68.
  • each register can output the previous input data to the data path 52.
  • other signal lines of the address decoder 54 are omitted.
  • the array operation unit 100 can efficiently transfer the calculation data.
  • the array operation unit 100 may transfer the calculation data clockwise.
  • the virtual array operation unit 105 can also efficiently transfer the calculation data.
  • the processor 101 reads the calculation data from the controller 103, or writes the calculation data to the controller 103.
  • the virtual array operation unit 105 can include a large number of controllers 103.
  • the processor 101 must communicate the calculation data with the controller 103, so that not only the communication time of the processor 101 becomes longer but also the processor In the case of 101, the transfer count of the calculation data must be determined in order to terminate the transfer of the calculation data. Therefore, in the following, a method will be described in which the number of times that the processor 101 communicates the calculation data with the controller 103 is small, and the processor 101 does not need to determine the number of transfers of the calculation data.
  • two or more controllers 103 included in the array operation unit 100 are connected. All of the controllers 103 to which consecutive numbers are assigned, and to which further numbers are assigned, are each one of the controllers 103 of the adjacent array operation unit 100, the controller 10 of which the number is shifted by one. Multiple signal lines are wired so that calculation data can be sent to 3.
  • one array operation unit 100 includes four controllers 103, and numbers 0 to 3 are assigned to them.
  • Each controller 103 of the array operation unit 100 of the upper array operation unit 100 sends the calculation data to the controller of the upper array operation unit 100 3 having a smaller number by one. Represent. It is assumed that the calculation data received by the 0th controller 103 is discarded.
  • FIG. 78 shows that each controller 103 of all the array operation units 100 has a larger number among the four controllers 103 of the lower array operation unit 100 by one. To send the calculation data. It is assumed that the calculation data received by the third controller 103 is discarded.
  • Fig. 79 shows that each of the controllers 103 of all array operation units 100 is replaced by one of the four controllers 103 of the array operation unit 100 on the left that is one larger in number. Indicates that calculation data is transmitted.
  • each controller 103 transfers the calculation data, so that the number of transfers of the calculation data becomes three or less.
  • the processor 101 writes the calculation data to the controller 103 having an arbitrary number, the calculation data is transferred by the number of times related to the controller 103 number. For example, in the case of FIG.
  • the calculation data is transferred to the upper side only twice.
  • the calculation data is transferred to the lower side only once.
  • the processor 101 After the processor 101 first calculates the number of transfers of the calculation data, the processor 101 does not need to determine the number of transfers, and the processor 101 first calculates the number of transfers of the calculation data.
  • the processor 101 After writing to the controllers 103, in each of the plurality of upper array operation units 100, the processor 101 only needs to read this calculation data, and the processor 101 again performs the calculation. There is no need to write data.
  • each array operation unit 100 reduces the number of accesses to the plurality of controllers 103.
  • a plurality of array operation units 100 are arranged in a lattice, but, of course, a plurality of virtual array operation units 105 are arranged in a lattice. It is the same even when there is. The same applies to the case where a plurality of controllers 103 are stacked as shown in FIG.
  • the calculation data is transferred only a predetermined number of times in one of upper, lower, left, and right directions. Therefore, in order to transfer calculation data counterclockwise and clockwise in a spiral as shown in Figs. 73 to 76, it is necessary to transfer data in two directions, up, down, left and right, as shown in Fig. Should be combined.
  • FIG. 82 in order to transfer the calculation data to the array operation unit 100 in the vicinity of 48 in the counterclockwise direction, the calculation data is transferred to the three right-side array operation units 100 and In each of the three right side array operation units 100, the calculation data is transferred to the three upper side array operation units 100.
  • the calculation data received by the controller 103 is transferred to the third controller 103.
  • This transfer is called retransmit.
  • This retransfer is generally performed by the processor 101.
  • the reason for this is that the number of the controller 103 to which the calculation data received by the controller 103 is written changes depending on the size of the neighborhood where the calculation data is transferred. This is because it is the square of the number 03.
  • the processor 101 can retransfer calculation data between any of the controllers 103. Therefore, as shown in Fig.
  • controllers 103 a plurality (eight in this case) of controllers 103 are divided into two sets of four, and numbers 0 to 3 and 0, to 3 are assigned to them. I do. Further, it is assumed that the 0th to 3rd controllers 103 are allocated for transfer, and the 0th to 3rd controllers 103 are allocated for retransmission. Of course, a large number of controllers 103 may be divided into an appropriate number of sets, and each set may be assigned for transfer and re-transfer. At this time, the processor 101 re-transfers the calculation data received by the transfer controller 103 to the re-transfer controller 103, whereby the calculation data is transferred to the transfer controller 103.
  • the width of the internal data bus 56 can be freely determined, but in the following, for the sake of simplicity, it is assumed that the width of the internal data bus 56 is 16 bits. In the following, description will be made using array operation unit 100, but the same applies to virtual array operation unit 105 unless otherwise specified.
  • the controller 103 consists of an address buffer 53, a data buffer 55, an address decoder 54, and four transfer circuits (TRANSMIT CIRCUIT) 800, one or more.
  • Input circuit FRONT INPUT CIRCUIT
  • RESUIT result output circuits
  • communication status buffer COMMUNICATION STATUS BUFFER
  • the signal x ′ represents the negative logic of the signal x
  • the bold line represents a bundle of a plurality of signal lines.
  • the four transfer circuits 801 transfer calculation data and calculation status from bottom to top, top to bottom, right to left, and left to right, respectively.
  • transfer circuits 801 which transfer calculation data from bottom to top are connected together. .
  • transfer circuits 801 for transferring calculation data are connected to each other from top to bottom, from left to right, and from right to left. Details of the transfer circuit 801 will be described later.
  • the address buffer 53, the data buffer 55, and the address decoder 54 are the same as in the prior art. However, the address decoder 54 generates a decoding signal as needed.
  • the communication status buffer 804 includes four transfer circuits 801, a previous input circuit 802, and a result output circuit 803, and outputs the upper, lower, left, and right sides. Outputs the transmission status in the direction, the reception status in each direction (up / down / left / right), the previous input status, and the result status to the internal data bus 56.
  • this communication status buffer 804 a general line buffer is used. As is clear from Fig. 85, in the case of the internal data bus 56 with a 16-pit width, the communication status buffer 804 increases the previous input status and the result status up to seven each. be able to. Therefore, the designer of the controller 103 can increase the number of the pre-input circuit 802 and the result output circuit 803 as necessary.
  • the pre-input data input register 831 stores a plurality of (16 in this case) pre-input data. Store them sequentially.
  • the previous input data input register 831 can sequentially store a plurality of (here, 16) previous input data.
  • the previous input data counter 836 counts the number of rises of the previous input delivery, and when the number of rises reaches a certain number of times (here, 16 times), the count minimum 'is output as 0.
  • the model number 74 LS 169 is used for the counter portion of the previous input data counter 836, but of course other counters may be used.
  • a plurality of (16 in this case) previous input data are stored in the previous input data output register 833 by the previous input circuit controller 835.
  • the plurality of previous input data stored in the previous input data output register 833 is not changed.
  • the plurality of previous input data stored in the previous input data output register 833 is shifted to 1 via the previous input data line buffer 8334.
  • the data is output to the internal data bus 56 at a time.
  • the state transition diagram of the previous input circuit controller 835 is as shown in FIG. 87. Hereinafter, this state transition diagram will be described.
  • State 841 is a wait state (0 1), sets the previous input status to 0, sets the load to 1, and sets updatable to 1 to 1. If reset 'is active, go to state 841. If the “count minimum” is 0, the flow shifts to the state 842. Otherwise, go to state 8 4 1.
  • State 842 is the load state (0 0), sets the previous input status to 0, sets the word to 1, and sets updatable to '0'. Thereafter, the state moves to the state 843.
  • State 843 is the shift preparation state (1 1), where the previous input status is set to 1, the load is set to 0, and the 'updatable' is set to 1. If the previous input decoding 0 'is 0, the state shifts to the state 844. If the previous input decoding 1 is 0, go to state 841. Otherwise, go to state 8 4 3.
  • State 8 4 4 is the shifting state (10), sets the previous input status to 1, sets the load to 0, and sets the updatable to '0'. Thereafter, the state moves to the state 843.
  • the number assigned to each state can be changed.
  • the previous input data input register 831 inputs the previous input data according to the width of the internal data bus 56, but of course, even if the previous input data is input bit by bit. Good.
  • the maximum count of the previous input data counter 836 is the product of a fixed number of times (here, 15 times) and the number of bits of the internal data path 56.
  • result decoding circuit 0 3 selects result decoding 0 ′, and the result data input register 8 51 connects to the internal data bus 56 every time the write operation is started. (Here 16 pieces) result data are stored while shifting them. After that, when the result decoding 1 'becomes active or further write' The result status is 1.
  • the result output circuit controller 854 moves a plurality of result data from the result data input register 851 to the result data output register 853 via the result data multiplexer 852, and outputs the result data multiplexer 8 A plurality of result data in the result data output register 853 are sequentially shifted through 52. At this time, the result delivery repeats 1 and 0.
  • the result data counter 856 counts the number of output times of the result data, and when this number reaches a certain number (here, 16 times), the result status is output as 0.
  • a certain number here, 16 times
  • the model number 74 LS 169 is used in the count part of the result counter 856, other counters may be used.
  • State 861 is a wait state (1 1 1), and the result reset '1' is set, 'countable' is set to 1, and updatable 'is set to 1. If 'Reset' is active, go to state 861. If the result status is 1, the state shifts to state 862. Otherwise, go to state 861.
  • State 862 is the load state (1 1 0), which sets the result reset '1', countable '1', and updatable '0. If 'count max' is 0, transition to state 864. Otherwise, go to state 863.
  • State 863 is the shifting state (100), and the result reset '1' is set, the countable 'is set to 0, and the updatable' is set to 0. If 'count max' is 0, transition to state 864. Otherwise, go to state 863.
  • State 864 is the shift end state (0 1 1), which sets result reset '0', countable '1', and updatable '1. Thereafter, the state shifts to state 861. The number assigned to each state can be changed.
  • the result data output register 853 and the result data multiplexer 852 shift the result data in accordance with the width of the internal data path 56.
  • the result data is shifted one bit at a time. You may shift.
  • the maximum I s the product of a fixed number of times (here 15 times) and the number of bits in the internal data path 56.
  • each transfer circuit 81 includes a positive logic transfer circuit controller 811a, a positive logic delivery latch 812a, a delivery status generation circuit 813, and a calculation data reception latch. 8 14a, calculation status receive latch 8 14b calculation data line buffer 8 15a, calculation status line buffer 8 15b, calculation data transmission register 8 16a, calculation status It includes a transmission register 8 16 b, a calculation data multiplexer 8 17 a, and a calculation status multiplexer 8 17 b. It should be noted that a pull-up resistor and a pull-down resistor are attached to the input terminal as necessary.
  • the calculation data and calculation status received from one controller 103 of the adjacent array operation unit 100 are calculated data reception latches 81 and a and calculation status reception, respectively, when transmission (input) is active. It is stored in the latch 8 14 b.
  • 'Receive calculation data decoding' is active and 'Read' is active, this calculation data is output to the internal data bus 56 via the calculation data line buffer 8 15a.
  • the reception calculation status decoding 'active' and read 'active' this calculation status is output to the internal data bus 56 via the calculation status line buffer 815b. Is done.
  • the calculation data and the calculation status written by the processor 101 via the internal data path 56 are transmitted when the delivery calculation data decoding is active and the write is started.
  • the calculation data multiplexer 8 17 a is provided with a calculation data reception latch 8 14 a and a calculation data transmission register 8 16 according to the transmission Z transfer switch.
  • the calculation data is selected from any of a, and transmitted to one controller 103 of the adjacent array operation unit 100.
  • the calculation status multiplexer 8 17 b selects the calculation status from one of the calculation status reception latch 8 14 b and the calculation status transmission register 8 16 b according to the transmission Z transfer switch, and selects the adjacent array operation unit 10 Sends one 0 to one controller 103. At this time, the delivery (output) becomes active.
  • Positive logic delivery latch 812a activates receipt (output) when delivery (input) is active, and sets the receive status and transfer status to one.
  • the reception status becomes 0 when the “reception calculation status decoding” is active, but the reception status may become 0 when the “reception calculation data decoding” is active.
  • the transfer status is 0 when transfer reset 'is active.
  • the delivery status generation circuit 813 sets the delivery status to 1 when the calculation status is written to the calculation status transmission register 816b.
  • the delivery status generation circuit 813 may set the delivery status to 1 when the calculation data is written in the calculation data transmission register 816a.
  • the delivery status will be 0 when 'delivery reset' is active.
  • the positive logic transfer circuit controller 8 1 1a inputs the reception (input), outputs the delivery (output), and inputs the delivery status and the transfer status.
  • State 8 2 1 is a waiting state (0 1 1 0 0), where transmission reset 'is set to 1, transfer reset, is set to 1, delivery (output) is set to 0, and the transmission / transfer switch is set. Set to 0. If reset 'is active, go to state 8 2 1. If the acknowledgment (input) is 0 and the transfer status is 1, the state transits to state 822. If the reception (input) is 0, the transmission status is 0, and the transmission status is 1, the state transits to state 825. Otherwise, go to state 8 2 1. State 8 2 2 is the transfer start state (1 1 1 1 0), where the transmission reset '1' is set, the transfer reset 'is set to 1, the delivery (output) is set to 1, and the transmission Z transfer switch is set. Set to 0. Then go to state 8 23.
  • State 8 2 3 is the transfer state (1 1 0 1 0), where the transmission reset '1' is set, the transfer reset 'is set to 1, the delivery (output) is set to 0, and the transmission Z transfer Set the switch to 0. If the acknowledgment (input) is 0, transition is made to state 8 2 4. Otherwise, go to state 8 23.
  • State 8 2 4 is the transfer end state (1 1 0 0 0), where the transmission reset '1' is set, the transfer reset 'is set to 0, the delivery (output) is set to 0, and the transmission Z transfer switch is set. Set to 0. Thereafter, the state moves to the state 8 2 1.
  • State 8 2 5 is the transmission start state (1 1 1 1 1), where transmission reset, is set to 1, transfer reset 'is set to 1, delivery (output) is set to 1, and the transmission / transfer switch is set. Set to 1. Then go to state 8 26.
  • State 8 2 6 is the transmitting state (1 1 1 0 1), with transmission reset '1', transfer reset '1', delivery (output) '0', and transmission / transmission Set the switch to 1. If the reception (input) is 0, the flow goes to the state 827. Otherwise, go to state 8 26.
  • the state 8 2 7 is the transmission end state (1 0 1 0 1).
  • the transmission reset '0' is set, the transfer reset 'is set to 1, the delivery (output) is set to 0, and the transmission Z transfer switch is set. Set to 1. Thereafter, the state moves to the state 8 2 1.
  • the number assigned to each state can be changed.
  • FIG. 90 shows a transfer circuit 811, in which delivery (input), delivery (output), reception (input), and reception (output) are of positive logic.
  • delivery (input), delivery (output), reception (input), and reception (output) may be negative logic.
  • the logics of delivery (input), delivery (output), reception (input), and reception (output) are inverted by using the delivery impeller 818 as necessary.
  • calculation data reception latch 8 14 a and the calculation status reception latch 8 14 b, 12 c instead of the negative logic delivery latch 8 1 2 b, the calculation data reception latch 8 14 a and the calculation status reception latch 8 14 b, 12 c, calculation data reception register 8 14 c and calculation status reception register 8 14 d are used.
  • the delivery (input) 'rises the reception (output)' becomes active, and the calculation data and calculation status received from one controller 103 of the adjacent array operation unit 100 are changed. These are stored in the calculation data reception register 814c and the calculation status reception register 814d, respectively.
  • an embodiment of the interlocking counter 410 corresponding to the invention of claim 13 is a synchronous counter 4 11 1, an end value determination logic gate 4 1 2 and an enable A counter section composed of signal logic gates 4 16 and an interlocking section composed of interlocking signal amplification logic gate 4 13, interlocking signal latch circuit 4 14 and interlocking signal logic gate 4 15 And.
  • the interlocking counter 401 inputs the interlocking signals BLK 1 ′, BLK 2, and BLK 3 from the other three interlocking counters 401.
  • the signal X ′ represents negative logic of the signal X.
  • an AND gate is used for the end value determination logic gate 4 12, and a NAND gate is used for the enable signal logic gate 4 16 and the interlocking signal latch circuit 4 14.
  • a NOT gate is used for the signal amplification logic gate 4 13, and an OR gate is used for the interlocking signal logic gate 4 15.
  • other logic gates may be used.
  • the synchronous counter 411 receives the enable signal P and outputs the count number.
  • the end value determination logic gate 4 1 2 inputs the number of force points and outputs the interlocking signal BLK 0.
  • the enable signal logic gate 4 16 inputs the link signal BLK 0 to at least one input terminal and outputs the enable signal P.
  • the synchronous counter 4 11 has three JK flip-flops, and counts from 0 to 7 using the outputs QA, QB and QC of these JK flip-flops. Outputs the number of minutes. These JK flip-flops can also output negative logic outputs QA ', QB' and QC 'of outputs QA, QB and QC, respectively.
  • the clock signal is distributed to the clock terminals of the three JK flip-flops at branch points D1 and D2. These JK flip-flops operate on the rising edge of the clock signal CLK.
  • the enable signal P is distributed to the J and K terminals of the left JK flip-flop.
  • the enable signal P is distributed to at least one of the input terminals of the counter logic gates 422a and 422b.
  • the output signal QA is distributed to at least one of the input terminals of the respective counter logic gates 422a and 422b.
  • the output signal QB is distributed to at least one of the input terminals of the logic gate for the counter 422b.
  • the output terminals of the logic gates 422 a and b for the counter are connected to the J and K terminals of the center and right JK flip-flops, respectively.
  • the end value judgment logic gate 412 outputs the interlocking signal BLK0.
  • output signals QA, QB, and QC are input to a plurality of (here, three) input terminals of the logic gate 412 for determining an end value.
  • the interlocking signal BLK0 is input to at least one of the input terminals of the enable signal logic gate 416.
  • the synchronous counter 411 increases the number of force points by one until the count number reaches 7, and when the count number reaches 7, the synchronous counter 411 stops.
  • FIG. 97 shows a binary 3-digit synchronous counter 411 composed of three JK flip-flops synchronized with the clock signal CLK, but by using N JK flip-flops, It is easy to change to a synchronous counter 411 of binary N digits. Also, when the counter logic gates 422a and 422b input the output signals QA and QB, respectively, instead of the output signals QA and QB, the synchronous counter 411 is changed to a down-force. .
  • the interlocking signal amplification logic gate 413 amplifies the interlocking signal BLK0 and outputs the interlocking signal BLK0, and also operates in accordance with the interlocking signals BLK1 ', BLK2', and BLK3 input from the outside.
  • the gate 415 and the latch circuit 414 for the interlocking signal control the logic gate 416 for the enable signal. That is, if the voltage of the interlocking signal BLK0 is at the Hih level, the interlocking signal amplification logic gate 413 changes the voltage of the interlocking signal BLK0, to the Low level. Otherwise, the voltage of the interlock signal BLK0 is at the High level.
  • interlocking signals BLK1, BLK2, and BLK3 are input to one input terminal of a plurality (three in this case) of interlocking signal latch circuits 414a to 414c, respectively.
  • the interlocking signal BLKO is distributed to the other input terminals of the interlocking signal latch circuits 414a to 414c.
  • the output signals QG1, QG2, and QG3 of the interlocking signal latch circuits 414a to 414c are output from a plurality of interlocking signal latch circuits 414 (here 3), the output signal G ′ of the interlocking signal latch circuit 414 is input to at least one terminal of the enable signal logic gate 416.
  • the interlocking signal BLK0 is at the High level and all of the interlocking signals BLK1 ', BLK2, and BLK3 are at the Low level, that is, the interlocking signals BLK0, BLK1, BLK2, and BLK3, Are all Low level, all of the output signals QG1 QG2 and QG3 of the interlocking signal latch circuits 414a to 414c are Low level.
  • the enable signal can also be low.
  • the output signal QG1 ' , QG 2 ′ and QG 3 ′ remain at the low level. That is, if the interlocking signal BLK0 is at the High level, the enable signal can be at the Low level even if the interlocking signals BLK1, BLK2, and BLK3 do not simultaneously become the Low level. However, when the interlocking signal BLK0 goes low, the output signals QG1 QG2 and QG3 of the interlocking signal latch circuits 414a to 414c all go high.
  • the output signals ⁇ 301, QG2, and QG3 of the interlocking signal latch circuits 414a to 414 ⁇ 3 remain at the High level. This allows the interlocking part to match the phase and period of the interlocking signal BLK0 'with the phase and period of the interlocking signal BLK1', BLK2, BLK3, and BLK4, which has the longest phase. .
  • interlocking counter 401 inputs interlocking signals from the three interlocking counters 401 is shown, but the number of interlocking signal logic gates 415 depends on the number of interlocking counters 401 connected. The number of input terminals may be changed, or unnecessary input terminals of the logic gate for interlocking signal 415 may be unnecessary.
  • the initial value of the count number was fixed to 0, and the end value was fixed to 7.
  • the initial and end count values may be changed. Therefore, as shown in FIG.
  • the corresponding embodiment of the interlocked counter 401 uses a synchronous counter 411 having a synchronous clear means and a synchronous load means, such as a commercially available synchronous counter 411, to obtain an arbitrary initial value and an end value. Can be set.
  • the synchronous counter 411 when the synchronous counter 411 has synchronous clear means, in the counter portion, the synchronous counter 411, the end value determination logic gate 412, and the enable signal logic gate 416 are arranged in a ring.
  • the output terminal of the initialization signal logic gate 417 is connected to the clear terminal of the synchronous counter 411. That is, the synchronous counter 411 inputs the enable signal P and the initialization signal INIT, and outputs the count number.
  • the end value determination logic gate 412 inputs the count number and outputs the interlock signal BLK0.
  • the enable signal logic gate 416 inputs the link signal BLK 0 to at least one input terminal and outputs an enable signal P.
  • the initialization signal logic gate 417 receives the link signal BLK0 and the enable signal P, and outputs the initialization signal I N IT.
  • the synchronous counter 411 is provided with an up counter of model number 74163, and outputs a count number from 0 to 15 using the output signals QA to QD.
  • the count logic gates 422a to 422c output negative logic outputs QA 'to QC' of the output signals QA to QC, respectively.
  • the enable terminal T is pulled up, the load terminal LOAD is pulled up, and the initial value terminals A to D are pulled down.
  • the count output by the synchronous counter 411 increases by one each time the clock signal CLK rises. .
  • the end value determination logic gate 412 sets the voltage of the interlocking signal BLK0 to the High level. Otherwise, the voltage of the interlock signal BLK0 is low.
  • the link signal BLK0 is input to at least one of the input terminals of the enable signal logic gate 416. It is. Thus, if the interlocking signal BLK0 is at a low level, the enable signal P is at a high level.
  • the synchronous counter 411 increments the count by one until the count reaches 5, and when the count reaches 5, the synchronous counter 411 stops.
  • the interlocking signal BLK0 is input to at least one of the input terminals of the initialization signal logic gate 417.
  • the enable signal P is input to at least one of the input terminals of the initialization signal logic gate 417.
  • the synchronous counter 411 resets the count to 0 and resumes operation. So far, the circuit configuration of the interlocking counter 401 alone has been described. Hereinafter, how the linked counters 401 are linked to each other when a plurality of linked counters 401 are connected will be described using a timing chart.
  • FIG. 100 shows a timing chart of the interlocking counter 401a when these three interlocking counters 401a to 401c are operating stably. Since all the interlocked counters 401a to 401c are symmetric, the timing charts of the remaining interlocked counters 401b and 401c are the same.
  • the interlocking counter 401 when the phase of the interlocking signal BLK1 ′ advances for some reason, the interlocking counter 401 operates regardless of the interlocking signal BLK1 ′. Therefore, the interlocking signal BLK1 'has no effect on the count.
  • the interlocking counter 401 that generates the interlocking signal BLK1 ' operates so as to match the interlocking signal BLK1 with the phase of the interlocking signals BLK0' and BLK2 '.
  • the interlocking counter 401 operates to match the phase of the interlocking signal BLK0, to the phase of the interlocking signal BLK2'. . Therefore, the interlocking power counter 401 keeps outputting the end value as the count number until the interlocking signal BLK 2 ′ becomes L level.
  • the interlocking counter 401 changes the phase of the interlocking signal BLK0' to the interlocking signal BLK0. Operates to match the phase of 2 '. Therefore, the interlocking counter 401 continues to output the end value as the count number until the interlocking signal BLK2 'becomes L level.
  • the three interlocked counters 401a to 401c adjust the count number to the one with the slowest count. This is true even when interlocked counters 401 having different end values are connected. Therefore, when the power is turned on, even if the count numbers of the three interlocked counters 401a to 401c are different, the three interlocked counters 401a to 401c are within the time obtained by multiplying the clock signal cycle by the maximum number of end values. The counts of c match.
  • FIGS. 96 and 98 in the embodiment of the interlocking counter 401 corresponding to the invention described in claims 13 and 14, the clock signal CLK is supplied from the outside. Therefore, as is apparent from FIG.
  • the clock signal CLK supplied to each interlocked counter 401 has a propagation delay time. Does not always stand up at the same time.
  • the clock signal supplied to each interlocked counter 401 especially when multiple interlocked counters 401 are arranged over a wide area of the LSI
  • the phase of CLK is definitely shifted. Accordingly, a method of adjusting the phase of the clock signal CLK by causing the interlocking counter 401 to generate the clock signal CLK by itself instead of supplying the clock signal CLK from the outside will be described below.
  • the embodiment of the interlocking counter 401 corresponding to the invention of claim 15 is an embodiment of the interlocking counter 401 corresponding to the invention of claim 13 and a synchronous oscillation circuit. Consists of 418.
  • the embodiment of the interlocking counter 401 corresponding to the invention of claim 16 is the same as the embodiment of the interlocking counter 401 corresponding to the invention of claim 14 and the synchronous oscillation circuit. Consists of 418. In the case of FIG.
  • the enable signal P is distributed to the SYNC terminal of the synchronous oscillation circuit 418, and the clock signal CLK generated by the synchronous oscillation circuit 418 is supplied from the CLK terminal to the synchronous counter 411.
  • the enable signal P is distributed to the SYNC terminal of the synchronous oscillation circuit 418, and the clock signal CLK generated by the synchronous oscillation circuit 418 is supplied from the CLK terminal to the synchronous counter 411.
  • the synchronous oscillation circuit 418 changes the phase of the clock signal CLK according to the voltage of the SYNC terminal.
  • the synchronous oscillation circuit 418 will be described in detail.
  • a synchronous oscillation circuit 418 shown in FIG. 107 is a modification of a ring oscillator, and includes a synchronization signal latch circuit 431, two oscillation logic gates 432a and 432b, and a clock signal amplification logic gate 433. Is done.
  • the synchronization signal latch circuit 431 is a D-latch, and the oscillation logic gates 432a and 432b and the clock signal amplification logic gate 433 are NOT gates.
  • the synchronization signal latch circuit 431 and the oscillation logic gates 432a and 432b are wired in a ring.
  • the Q 'terminal of the latch circuit 431 for the synchronization signal is connected to the input terminal of the logic gate 432a for oscillation, and the output terminal of the logic gate 432a is connected to the input terminal of the logic gate 432b for oscillation.
  • the output terminal of the oscillation logic gate 432b is connected to the D terminal of the synchronization signal latch circuit 431 via the branch point H.
  • the SYNC terminal of the synchronous oscillation circuit 418 is connected to the G terminal of the synchronization signal latch circuit 431.
  • the output terminal of the oscillation logic gate 432b is connected to the clock signal amplification logic gate 4 via the branch point H.
  • the clock signal amplification logic gate 433 is connected to the input terminal 33 and outputs the clock signal CLK.
  • the input terminal of the clock signal amplification logic gate 433 may be connected to any output terminal of the synchronization signal latch circuit 431 and the oscillation logic gates 432a and 432b.
  • a plurality of clock signal amplification logic gates 433 may be used if necessary. If the SYNC terminal is at the High level, the D terminal and the Q ′ terminal of the synchronization signal latch circuit 431 function as the input terminal and the output terminal of the NOT gate, respectively. That is, the signal QS 'output from the Q' terminal of the latch circuit 431 for the synchronization signal inverts the output signal of the logic gate for oscillation 4 32b.
  • the Q and terminal of the synchronization signal latch circuit 431 maintain the current voltage regardless of the voltage of the D terminal of the synchronization signal latch circuit 431.
  • the signal QS delays the output signal of the oscillation logic gate 432b. Therefore, as shown in FIG. 108, when the SYNC terminal is at the High level, the synchronous oscillation circuit 418 performs self-excited oscillation. On the other hand, when the SYNC terminal is at the low level, the synchronous oscillation circuit 418 stops the self-excited oscillation.
  • CMOS complementary metal oxide semiconductor
  • the synchronous oscillation circuit 418 can perform self-oscillation at a constant cycle.
  • the resistance value of the oscillation resistor 434a is R ohm
  • the capacitance of the oscillation capacitor 435 is C farad.
  • the oscillation resistor 34b is a protection resistor, and the resistance of the oscillation resistor 434b is R0 ohm.
  • a synchronous oscillation circuit 418 shown in FIG. 110 is a modification of the astable multivibrator. Oscillation capacitors 435a, 435b, and clock signal amplification 4 3 3
  • the synchronizing signal latch circuit 431 is a D latch
  • the oscillation logic gate 432 is a NAND gate
  • the clock signal amplification logic gate 433 is a NOT gate.
  • the latch circuit for synchronizing signal 431 The logic gate for oscillation 432 and the oscillation capacitors 435a and 435b are wired in a ring.
  • the Q and terminal of the synchronization signal latch circuit 43 1 are connected to one terminal of the oscillation capacitor 4 35 b via the branch point H, and the other terminal of the oscillation capacitor 4 35 b is branched. It is connected to all the input terminals of the oscillation logic gate 4 32 through the point J, and the output terminal of the oscillation logic gate 4 32 is connected to the oscillation capacitor 4 3 5 through the branch points K 1 and K 2.
  • the other terminal of the oscillation capacitor 4 3 5 a is connected to the D terminal of the synchronization signal latch circuit 4 3 1 via the branch point L.
  • an oscillation resistor 4334a is connected between the branch points L and H, and an oscillation resistor 4334b is connected between the branch points J and K2.
  • the resistances of the oscillation resistors 4 3 4 a and 4 3 4 b are both R ohms, and the capacitance of the oscillation capacitors 4 3 5 a and 4 3 5 b are both C farads.
  • the SYNC terminal of the synchronous oscillator circuit 418 is connected to the G terminal of the latch circuit for synchronous signal 431.
  • the output terminal of the oscillation logic gate 4 32 is connected to the input terminal of the clock signal amplification logic gate 4 33 via the branch point 1, and the clock signal amplification logic gate 4 3 3 outputs the clock signal CLK. Output.
  • the input terminal of the clock signal amplification logic gate 433 may be connected to any of the output terminals of the synchronization signal latch circuit 431 and the oscillation logic gate 432. Also, a plurality of clock signal amplification logic gates 433 may be used as necessary.
  • the timing chart of this synchronous oscillation circuit 418 is similar to that of FIG.
  • the synchronous oscillation circuit 4 18 shown in Fig. 11 1 is a flip-flop circuit for synchronization signal 4 36, a synchronization signal amplifier 4 37, a loop filter 4 38, a voltage controlled oscillator 4 39, and a circuit for amplifying a clock signal. It is composed of logic gates 4 3 3.
  • the synchronous signal flip-flop circuit 436 is a D flip-flop, the synchronous signal amplifier 437 and the clock signal amplifying logic gate 433 are NOT gates, and the loop filter 438 is a lag type loop filter.
  • the voltage-controlled oscillator 439 is a modification of the Colpitts oscillation circuit using the crystal oscillator 443.
  • the synchronizing signal flip-flop circuit 4 3 6 synchronizes with the clock signal CLK output from the clock signal amplification logic gate 4 3 3
  • the voltage is stored and output as signal QS.
  • the synchronous signal amplifier 437 inverts the signal QS and outputs the signal S A ′.
  • Loop filter 4 3 8 is resistor 4 4 1 for loop filter and capacitor for loop filter
  • the high-frequency noise included in the signal S A is removed by the loop filter capacitor 442, and the loop filter 438 outputs the signal VC from the branch point N.
  • the resistance value of the loop filter resistor 441 is R 3
  • the capacitance of the loop filter capacitor 442 is C 3.
  • the frequency band of the noise to be removed is determined by the time constant R 3 C 3.
  • the voltage-controlled oscillator 439 is composed of an oscillation logic gate 432, a crystal oscillator 443, a variable capacitance diode 4444, three oscillation resistors 434a to 434c, and two Oscillation capacitor 4 3
  • Consists of 5a and 435b The crystal oscillator 4 4 3, the oscillation capacitors 4 3 5 a and 4 3 5 b, and the variable capacitance diode 4 4 4 are wired in a ring. That is, the anode terminal of the variable capacitance diode 4444 is connected to the ground, the cathode terminal of the variable capacitance diode 4444 is connected to one terminal of the oscillation capacitor 435a at the branch point H, and the oscillation capacitor is connected.
  • the other terminal of the crystal 4 4 3 a is connected to one terminal of the crystal unit 4 4 3 at the branch point J 1, and the other terminal of the crystal unit 4 4 3 is connected to the oscillation capacitor at the branch point K.
  • Reference numeral 34c denotes a protection resistor which can apply the voltage of the signal V C to the force source terminal of the variable capacitance diode 44. Therefore, if the voltage of the signal VC is high, the capacitance of the variable capacitance diode 444 becomes small, so that the frequency of the self-excited oscillation of the voltage controlled oscillator 439 becomes high, and if the voltage of the signal VC is close to 0 port, Since the capacitance of the variable capacitance diode 444 increases, the frequency of the self-excited oscillation of the voltage controlled oscillator 439 decreases. Oscillator resistance 4 3 4 a to 4 3
  • the resistance of 4c is Rl, R2 and R0 ohm, respectively, and the capacitance of the oscillation capacitors 435a and 435b is C1 and C2 farad, respectively.
  • the clock signal amplification logic gate 433 inputs the self-excited oscillation waveform output from the voltage controlled oscillator 439 from the branch point L, and outputs a clock signal CLK amplified to a rectangular wave.
  • the clock signal CLK is distributed to the clock terminal of the synchronization signal flip-flop circuit 436 at the branch point M. If necessary, a plurality of clock signal amplifying logic gates 433 may be used.
  • the synchronous oscillation circuit 4 18 of FIG. 11 can shorten the cycle of the clock signal CLK, so that This synchronous oscillation circuit 418 can finely adjust the phase of the clock signal CLK. If the voltage-controlled oscillator 439 can double the frequency, the phase difference of the clock signal CLK generated by the adjacent interlocking counter 410 becomes T radians, that is, half of the clock signal CLK. It can fit within a cycle.
  • a lag-type loop filter is used as the loop filter 438, but a lag-lead type loop filter or a modification thereof may be used instead of the lag-type loop filter.
  • Various voltage-controlled oscillators 439 can be used in place of the voltage-controlled oscillator 439 shown in FIG. In this case, the output voltage of the synchronous signal amplifier 437 must be changed according to the range of the voltage that controls the voltage controlled oscillator 439. In FIG. 11, a NOT gate is used as the synchronization signal amplifier 437, but a ⁇ P amplifier is used if necessary.
  • an embodiment of the interlocking device according to the invention of claim 17 is a network in which interlocking counters 401 arranged in a square lattice are connected to each other.
  • the number of interlocking signal latch circuits 4 14 is 4.
  • the input of the interlocking signal latch circuit 414 having no connection destination is pulled down.
  • interlocking counters 401 can be arranged adjacent to each other in a hexagonal lattice as shown in FIG.
  • the interlocking counters 401 can easily interlock with each other. Therefore, for large and regular digital circuits 402 such as pipeline processing units, DSPs (Digita 1 Signal Processors), systolic arrays, data flow processors, and parallel image processing units, These two-dimensional interlocking devices can easily supply the count number of the interlocking counter 401, that is, the frequency-divided signal of the clock signal CLK.
  • the three-dimensional interlocking device includes a plurality of interlocking counters 401 arranged in a square lattice and a hexagonal lattice as described above using three-dimensional SI technology. Network. If the interlocking counters 4 0 1 are arranged in a square lattice, the number of interlocking signal latch circuits 4 1 4 is 6, and if the interlocking counters 4 0 1 are arranged in a hexagonal lattice, In this case, the number of interlocking signal latch circuits 4 14 is 8. In the case of FIG.
  • interlocking counters 401 three networks of interlocking counters 401 arranged in a square lattice are stacked, and the interlocking signal of each interlocking counter 401 is represented by a solid line.
  • the input terminals of the interlocking signal latch circuit 414 of each interlocking counter 401 that are not connected to the adjacent interlocking counter 401 are pulled up or down.
  • the signal lines of the interlocking signal between the layers are equal and the shortest due to the overlap of the interlocking counters 401 of each layer. Therefore, by changing the wiring material between the layers or using a delay line, the propagation delay time of the interlocking signal across the layers can be easily adjusted to be equal to the propagation delay time of the interlocking signal in the layer.
  • the interlocked counters 401 of different layers can be synchronized with each other.
  • the interlocking device for distributing the counts includes a network of interlocking counters 401 arranged in a square lattice and a hexagonal lattice, a processor 101 and an arithmetic unit.
  • a digital circuit 402 such as a circuit and an analog circuit 403 such as a photodiode and an AZD conversion circuit 204 are mounted on different layers of a three-dimensional LSI.
  • the interlocking counters 401 arranged in a square lattice are mounted on the second and fifth layers, and the digital circuit 402 is mounted on the first, third and third layers. It is mounted on four layers, and the analog circuit 403 is mounted on the sixth layer.
  • the solid line represents the interlocking signal
  • the broken line represents the count number. Signal lines other than the interlock signal and the count number are omitted.
  • the overlapping counters input their interlocking signals, so all the interlocked counters on the 2nd and 5th layers 4 0 1 can produce the same count number.
  • the network of the interlocked counter 401 can be implemented in a different layer from the digital circuit 402 and the analog circuit 400, the interlocked counter is determined by the arrangement of the digital circuit 402 and the analog circuit 400. The arrangement of 401 is not displaced, and the signal line of the linked signal is not bypassed.
  • the interlocking counter 410 is not affected by the noise of the digital circuit 402 and the analog circuit 403. Works stably.
  • digital times Regarding the road 402 and the analog circuit 403 the number of counts can be input from the interlocking power terminal 401 of the shortest distance irrespective of the arrangement location. This means that there is no need for the LSI designer to route the signal lines of the count number in the mounting layer of the digital circuit 402 and the analog circuit 403. Even if the circuit 402 and the analog circuit 403 are arranged at an arbitrary position, the propagation delay time of the count number can be kept within a certain range. Therefore, the design of the digital circuit 402 and the analog circuit 403 becomes easy.
  • the network of interlocking counters 401 as shown in Fig. 117 is designed to pipe data processed simultaneously by processors 101 arranged in a square grid and hexagonal grid in a vertical direction.
  • the count number that is, the frequency-divided signal of the clock signal CLK can be efficiently supplied to the systolic array and the parallel image processing apparatus that perform the line processing.
  • all the interlocking counters 401 can supply the same count number over the entire LSI. . That is, by using this count number, an interlocking signal distribution circuit can be designed such that appropriate signals are distributed simultaneously to the entire LSI.
  • the interlocking signal distribution circuit generates a plurality of decoding results by decoding the count number of the interlocking counter 410 by the signal distribution decoder 451. Further, assuming that two of these decoding results respectively represent a clock start time and a clock end time, when the signal distribution latch circuit 45 2 receives an appropriate signal SIGIN, the signal distribution latch circuit 45 2 Stores the signal SIGIN from the input time to the timing end time, and the signal distribution logic gate 453 distributes the signal SIGIN stored by the signal distribution latch circuit 452 only at the timing start time. The signal is output to the flip-flop circuit 454, and the signal distribution flip-flop circuit 454 outputs the signal SI GOUT and the signal SI GOUT ′ synchronized with the clock signal CLK. As a result, the interlocking signal distribution circuit generates a signal SIG OUT that is synchronized with the clock signal CLK and is active for an integer multiple of the period of the clock signal CLK from the signal SIGIN delayed by an arbitrary time. .
  • the signal distribution decoder 45 1 The three outputs QA to QC of the interlocking counter 401 and their negative logic outputs QA 'to QC' are input, and the eight NOR gates are used to count from 0 to 7 respectively. Generate eight decryption results. That is, each of the eight NOR gates has a plurality of (three in this case) input terminals. In the branch matrix X, the outputs QA, QB, and QC of the interlocking counter 401 are distributed to the NOR gates that output the decoding result 0.
  • the output of the interlocking counter 401 (38 ', QB3 ⁇ 4t QC3 ⁇ 4, distributed to the NOR gate that outputs the decoding result 1, and the outputs QA, QB, and QC of the interlocking counter 401 output the decoding result 2
  • the outputs QA ′, QB, and QC of the interlocked counter 401 are distributed to the NOR gate that outputs the decoding result 3, and the outputs QA, QB, and QC of the interlocked counter 401 are
  • the outputs QA ′, QB, and QC ′ of the interlocking counter 401 are distributed to the NOR gate that outputs the decoding result 4, and the outputs QA ′, QB and QC ′ of the interlocking counter 401 are distributed to the NOR gate that outputs the decoding result 5, and the outputs QA, QB ′ of the interlocking counter 401.
  • any two of the decoding results 0 to 7 are selected, and By setting the clock start time and the clock end time, the time from when the clock start time becomes High level to when the clock end time becomes High level is 0 to 7 times the period of the clock signal CLK.
  • the eight NOT gates input the decoding results 0 to 7 and output the negative logic decoding results 0 'to 7', respectively, so that the negative logic decoding results 0, to 7, By using this, the timing start time and the timing end time can be expressed by negative logic.
  • the clock start time is the negative logic decoding result 3 ′
  • the clock end time is the decoding result 5. Therefore, in order for the interlocking signal distribution circuit to generate the signal SIGOUT from the signal SIGIN delayed by an arbitrary time using the negative logic decoding result 3 'and the decoding result 5, first, the signal distribution latch circuit 452 Input signal SI GIN to one of the input terminals and output signal QS '.
  • the signal distribution logic gate 453 inputs the output signal QS and the negative logic decoding result 3 ′ to two input terminals, and outputs the signal J 3.
  • the loop circuit 454 inputs the signal J 3 to the J terminal and inputs the decoding result 5 to the K terminal.
  • the signal distribution flip-flop circuit 454 since the clock signal CLK is input to the clock terminal of the signal distribution flip-flop circuit 454, the signal distribution flip-flop circuit 454 outputs the signal SIGOUT from the Q terminal in synchronization with the fall of the clock signal CLK. Output, and output the signal SI GOUT, from the Q, terminal. Finally, at the branch point Y, the signal SIGOUT is distributed to the other of the two input terminals of the signal distribution latch circuit 452.
  • the interlocking signal distribution circuit shown in FIG. 118 will be described with reference to the timing chart of FIG. First, when the signal SIGIN becomes High level, the signal distribution latch circuit 452 makes the signal QS, Low level.
  • the signal distribution logic gate 453 sets the signal J3 to high only when the negative logic decoding result 3 ′ is low. That is, if the count of the interlocking counter 401 becomes 3 after the signal SIGOUT becomes High level, the signal J3 becomes High level. At this time, since the J terminal of the signal distribution flip-flop circuit 454 is at the High level, the signal SIGOUT is at the High level when the clock signal CLK falls. Further, since the signal SIGOUT is input to the signal distribution latch circuit 452, the signal distribution latch circuit 452 is reset, and the signal QS ′ becomes the High level.
  • the signal SI GOUT remains at the High level because both the J and K terminals of the signal distribution flip-flop circuit 454 are at the Low level. It is. However, when the count number of the linked counter 401 becomes 5, the decoding result 5 becomes High level, and the K terminal of the signal distribution flip-flop circuit 454 also becomes High level. That is, the signal SIGOUT goes low at the falling edge of the clock signal CLK. As is clear from FIG. 119, when the signal SIG IN is input, when the decoding result 3 is at the low level, the decoding result 5 is at the high level from the time when the clock signal CLK falls. The signal SIGOUT is output until the time when the clock signal CLK falls.
  • So digital circuit 4 Regardless of where the LSI is located, the digital circuit 402 can reliably input the signal SI GOUT at the rising edge of the decoding result 5. Such a function is indispensable when a single system LSI is incorporated without changing the already designed digital circuit 402 such as a reset signal, an interrupt signal, and an input / output signal.
  • the interlocking signal distribution circuit outputs the decoding result 5 to another of the two input terminals of the signal distribution latch circuit 45. May be distributed.
  • the signal distribution latch circuit 452 is reset by the signal SIGOUT. Therefore, even if the signal SIGIN goes to the High level when the signal SIGOUT is at the High level, the signal distribution latch circuit 452 cannot store the signal SIGIN.
  • the signal distribution latch circuit 45 2 is reset by the decoding result 5.
  • the signal distribution latch circuit 452 stores the signal SIGIN if the decoding result 5 is not at the high level. can do. That is, if the signal SIGIN changes to the High level immediately after the decoding result 5 changes from the High level to the Low level, the signal distribution latch circuit 452 can store the signal SIGIN. Then, instead of decoding result 5, if decoding result 4 is input to one of the two input terminals of signal distribution latch circuit 4 52, even if signal SI GOUT is at the High level, The signal distribution latch circuit 452 can store the signal SIGIN.
  • NOR gates are used for the 452 and the signal distribution logic gate 453, a NAND gate or the like may be used.
  • the negative logic decoding result 3 and the decoding result 5 are used to represent the clock start time and the clock end time, respectively.
  • a negative logic decoding result may be used. Appropriate signal from outside
  • the signal distribution latch circuit 452 When IGIN is input, the signal distribution latch circuit 452 once stores this signal, and then the signal distribution flip-flop circuit 4 5 Entered in 4.
  • the signal distribution flip-flop circuit 454 stores the input signal in synchronization with the clock signal, and is reset at the time when the clock ends.
  • the interlocked signal distribution circuit can output the input signal that arrived before the clock start time from the clock start time to the clock end time. If the logic of the input signal is inverted, the interlocking signal distribution circuit can operate normally by adding a logic gate before the signal distribution latch circuit 452.
  • the image sensor 251 includes a plurality of sensor modules 252, and each of these sensor modules 252 outputs a pixel signal. I do. That is, this image sensor 251 can output pixel signals in parallel by the number of sensor modules 252 in parallel. Here, if each of these sensor modules 25 2 outputs only one pixel signal, this image sensor 25 1 is equivalent to the conventional pixel parallel type.
  • one sensor module 252 is abbreviated as SM, and an interval between adjacent sensor modules 252 is widened for easy viewing. .
  • SM an interval between adjacent sensor modules 252 is widened for easy viewing.
  • FIG. 121 a plurality of sensor modules 252 are arranged in a grid pattern, and in FIG.
  • a plurality of sensor modules 252 are arranged in a hexagonal grid pattern.
  • the plurality of sensor modules 252 may be arranged in a linear shape and a circular shape, or the plurality of sensor modules 252 may be arranged at an arbitrary position. Therefore, in the following, a single sensor module 25 is used in both the case where the image sensor 25 1 uses the charge-coupled device 26 3 and the case where the image sensor 25 1 is manufactured only by the CMOS technology. The method by which 2 sequentially outputs a plurality of pixel signals will be described.
  • the pixel cell 25 3 for photographing one pixel includes at least the light-receiving device 26 1 and the charge transfer gate 2. It consists of 6 2.
  • the light receiving element 26 1 includes a photodiode, a phototransistor and a HARP (high gain A valanche Rusin am orpho USP hotoconductor) film is used, and a capacitor and a semiconductor switch for accumulating electric charges are added to the light receiving element 261, as necessary.
  • the charge transfer gate 262 is a semiconductor switch, and when a row selection signal is input to the pixel cell 253, the charge transfer gate 262 is turned on.
  • the sensor module 252 has a plurality of pixel cells 253 arranged in a grid. Arrange. In FIG. 124, the charge-coupled devices 263 are arranged in an S-shape so as to trace all the pixel cells 253 with one stroke, and in each of these pixel cells 253, a charge transfer gate is provided. The output terminal of 262 is connected to the charge-coupled device 263.
  • the charge transfer driving device 264 supplies a row selection signal to the charge transfer gates 262 of all the pixel cells 253 via at least one row selection signal line 265.
  • a charge transfer signal was supplied to the charge coupled device 2 63 via at least one charge transfer signal line 2 66, and transferred from at least one light receiving device 26 1 to the charge coupled device 26 3 Charge is transferred to either end in a bucket brigade.
  • the charges transferred by the charge-coupled device 263 are sequentially input to the output amplifier 267.
  • the output amplifier 267 converts the input charge into a voltage, and outputs it as a pixel signal.
  • the charge transfer drive device 264 can activate only one row selection signal at a time, depending on the application of the image sensor 251, but here the charge transfer drive device is mainly used.
  • the charge transfer driving device 264 activates all row select signals simultaneously. This allows the charge-coupled device 26 3 to sequentially transfer the charges stored in all the light receiving devices 26 1 in a bucket brigade manner, so that the sensor module 25 2 is shorter than all the light receiving devices 26 1 The electric charge can be taken out easily and in time and sequentially output as pixel signals. Further, after the charge transfer driving device 264 supplies a charge transfer signal to the charge coupled device 263 via at least one charge transfer signal line 266, the charge transfer driving device 264 outputs a pixel synchronization signal. Accordingly, it can be determined that all of the sensor modules 252 output pixel signals from outside of all the sensor modules 252.
  • the charge-coupled devices 263 are arranged in an S-shape. As shown in FIG. 5, the charge-coupled devices 263 may be arranged in a spiral. When a plurality of pixel cells 25 3 are arranged in a hexagonal lattice, the charge-coupled devices 2 63 can be spirally arranged as shown in FIG. In FIG. 126, one pixel cell 25 3 is abbreviated as PC. In these sensor modules 25 2, the charge-coupled device 26 3 is the light-receiving device 26 1 of the pixel cell 25 3 located on the edge of the sensor module 25 2 or the pixel cell 25 5 located in the center. Since the electric charge can be taken out in order from the light receiving element 261, the image sensor 2 only needs to limit the number of pixel signals received by the electronic circuit that receives multiple pixel signals from the sensor module 252. 5 1 can change the resolution easily.
  • the pixel cell 25 3 for photographing one pixel has at least the light receiving element 26 1 and the charge amplifier 27 1 and a row selection gate 2 7 2.
  • a photodiode, a phototransistor and a HARP film are used for the light receiving element 261, and a capacitor and a semiconductor switch for accumulating electric charges are added to the light receiving element 261, as necessary.
  • the row selection gate 272 is a semiconductor switch, and when a row selection signal is input to the pixel cell 253, the row selection gate 272 is turned on. As a result, the charge stored in the light receiving element 26 1 is extracted from the pixel cell 25 3. Therefore, as shown in FIG.
  • the sensor module 252 has a plurality of pixel cells 253 arranged in a grid. Arrange. As is clear from FIG. 128, the configuration of the sensor module 252 is equivalent to the configuration of the image sensor 251, which uses general CMOS technology. In FIG. 128, nine pixel cells 25 3 are arranged in a matrix of 3 rows and 3 columns.
  • the vertical shift register 273 and the horizontal shift register 274 use three stages of one-bit circular shift registers, and only one output is active. Further, when the horizontal shift register 274 makes a round, the vertical shift register 273 shifts once. Therefore, one of the nine pixel cells 253 can be selected by a combination of the vertical shift register 273 and the horizontal shift register 274. The details are as follows.
  • the vertical shift register 273 activates the row selection signal of the first row
  • the row selection gate 272 of the three pixel cells 253 located in the row is conductive
  • the electric charge stored in the light receiving element 261 in each of the three pixel cells 253 is charged by the charge amplifier 252.
  • the voltage is converted into a voltage by 71, and this voltage is output from the output terminal of the row selection gate 272. Therefore, only the voltages output by the three pixel cells 253 located in the first row are input to the three noise cancellers 275 via the three vertical signal lines 278, respectively.
  • the light receiving element 2 61 stores electric charge.
  • Double sampling circuit In order to suppress noise generated by the charge amplifier 27 1 and the row selection gate 27 2 of the three pixel cells 25 3 located in the same column, Double sampling () circuit is used.
  • the horizontal shift register 274 activates the column selection signal of the first column
  • the voltage output by the noise canceller 275 located in the first column is input to the output amplifier 267, and this output amplifier 267 is output. After this amplifies this voltage, this output amplifier 267 outputs a pixel signal corresponding to the pixel cell 253 in the first row and the first column.
  • the horizontal shift register 274 activates the column selection signals of the second and third columns, the output amplifier 267 will output the first and second columns of the first and second columns, respectively. A pixel signal corresponding to pixel cell 253 is output.
  • the horizontal shift register 274 outputs a pixel synchronization signal after selecting one column. Accordingly, it can be determined from the outside of the sensor module 255 that the output amplifier 2667 is outputting the pixel signal. Next, when the output of the horizontal shift register 274 goes round, the vertical shift register 273 activates the row selection signal of the second row. Finally, the vertical shift register 273 activates the row select signal of the third row, and thereafter, when the output of the horizontal shift register 274 completes one cycle, the vertical shift register 273 sets the row select signal of the first row. Activate. Thus, the vertical shift register 273 and the horizontal shift register 274 can sequentially select all the pixel cells 253, so that the sensor module 252 can output all the pixel signals.
  • FIG. 128, nine pixel cells 25 3 are arranged in a lattice, but a plurality of pixel cells 25 3 may of course be arranged in a hexagonal lattice.
  • the row selection signal line 265 and the column selection signal line 277, and the vertical signal line 278 and the horizontal signal line 279 Wiring is performed in a zigzag manner in accordance with the arrangement of the pixel cells 253, or wired so as to intersect at an angle of 120 degrees.
  • the embodiments of the image sensor 251 corresponding to the inventions of claims 18 and 19 include the image sensor 251 in which the rows and columns are interchanged.
  • each of the sensor modules 252 outputs a pixel signal and a pixel synchronization signal from the back of the image sensor 251.
  • the wiring of the signal lines for the pixel signals and the signal lines for the pixel synchronization signals uses a three-dimensional LSI technology in which holes are made in the substrate of the image sensor 251, and the holes are filled with metal such as copper. It is realized by using.
  • the designer of the image sensor 25 1 is required to determine the wiring lengths of the signal lines for all the pixel signals output from all the sensor modules 25 2 and The wiring lengths of the signal lines for all pixel synchronization signals can be made equal.
  • this designer does not need to wire a signal line for pixel signals and a signal line for pixel synchronization signals on the mounting surface of the sensor module 252. And the distance between the adjacent sensor modules 25 2 can be reduced. Therefore, this designer has many sensor modules 25 Can be queued.
  • one sensor module 252 itself can be composed of a plurality of layers.
  • one sensor module 252 has a first layer in which the charge-coupled devices 263 are arranged in an S-shape and a plurality of layers in which the charge-coupled elements 263 are arranged in a lattice (
  • a plurality of signals are wired as follows. In FIG. 13, the power supply line, the ground line, the clock signal line, the reset signal line, and the like are omitted.
  • a plurality of (here, three) row selection signal lines 265 are wired so as to pass through a plurality of (here, three) charge transfer gates 262 located in each row, respectively.
  • One charge transfer signal line 266 is wired in an S-shape along all charge transfer gates 262.
  • the charge-coupled devices 263 are arranged in an S shape along the charge transfer gates 262.
  • the second layer is laminated on the first layer so that the charge transfer signal line 2666 overlaps the charge-coupled device 263, and the charge transfer signal line 2666 is A plurality of signal lines are wired, and further, a signal line is wired from each of the plurality of charge transfer gates 262 toward the side surface of the charge-coupled device 263.
  • a signal line is routed from the end of the first-layer charge-coupled device 263 to the output amplifier 267 of the second layer, and a signal line for the pixel signal output from the output amplifier 267 is provided. Penetrates the first layer.
  • a signal line for a pixel synchronization signal output from the charge transfer driving device 264 passes through the first layer.
  • the third layer is stacked on the second layer so that each of all the light receiving elements 2 6 1 overlaps with the corresponding charge transfer gate 2 6 2, and each of the light receiving elements 2 6 1 A signal line is wired toward the charge transfer gate 262.
  • the charge coupled device 263 is mounted on a layer different from the layer on which the light receiving element 261, the charge transfer driving device 264, and the like are mounted. The designer of the image sensor 251 can easily combine a plurality of LSI manufacturing technologies.
  • this designer can increase the yield of the image sensor 251.
  • delay lines are used for all the charge transfer signal lines 26 6, and the charge transfer driving device 26 4 is supplied with a pulse signal from the end of the charge coupled device 26 3 to which the output amplifier 26 7 is connected.
  • the charge transfer signal propagates in order from one end of the charge-coupled device 26 3 to which the output amplifier 26 7 is connected to the other end, and is stored in the charge-coupled device 26 3.
  • the charged electric charge is transferred to a terminal of the charge-coupled device 263 to which the output amplifier 267 is connected in a bucket brigade manner.
  • one sensor module 252 is composed of a plurality of (here, nine) row selection gates 272 arranged in a grid and a vertical shift register 272. 3.
  • a third layer in which a plurality of (here, nine) light receiving elements 26 1 are arranged in a lattice.
  • Consisting of In this sensor module 252, a plurality of signal lines are wired as follows. In FIG. 132, the power supply line, the ground line, the clock signal line, the reset signal line, and the like are omitted.
  • a plurality (three in this case) of row selection signal lines 265 are supplied from the vertical shift register 273 to a plurality (three in this case) of row selection gates 272 in each row. And a plurality (three in this case) of vertical signal lines 278 are respectively passed through a plurality of (three in this case) row selection gates 272 located in each column. It is wired to the noise canceller 275.
  • a plurality of signal lines are routed from these noise cancellers 275 to a plurality of column selection gates 276 located in each column, respectively. Multiple towards gate 2 7 6 (three here) Column selection signal line 277 is wired.
  • the horizontal signal line 279 is wired toward the output amplifier 267 so as to pass through these column selection gates 276.
  • the second layer is stacked on the first layer so that all of the charge amplifiers 27 1 overlap the corresponding row selection gates 27 2, and the charge amplifiers 27 1 A signal line is wired toward the upper surface of the row selection gate 272 to be changed.
  • the signal line for the pixel signal output from the output amplifier 267 reaches the back of the first layer.
  • a signal line for a pixel synchronization signal output from the horizontal shift register 274 reaches the back surface of the first layer.
  • the third layer is stacked on the second layer so that each of the light receiving elements 2 6 1 overlaps with the corresponding charge amplifier 2 7 1, and each of the light receiving elements 2 6 1 A signal line is wired toward the charge amplifier 27 1.
  • the third sensor module 252 not only the total signal line length is shortened, but also the aperture ratio of the light receiving element 261, and the image sensor 251, all the light receiving elements are increased. 2 61 can be evenly distributed.
  • the image sensor 251 in which all the sensor modules 252 output a plurality of pixel signals and a plurality of pixel synchronization signals from the back, has been described using the three-dimensional LSI technology.
  • an image sensor that converts a plurality of pixel signals output from all the sensor modules 252 into a plurality of pixel data after the plurality of digital circuits 402 process the plurality of pixel signals in parallel is performed. 2 5 1 will be described.
  • an embodiment of the image sensor 251, corresponding to the invention described in claim 20, includes a plurality of digital circuits 402 arranged in a two-dimensional lattice.
  • a / D conversion circuit 204 is stacked on the corresponding digital circuit 402, and all sensor modules 252 are respectively configured with the corresponding AZD conversion. Layered on circuit 204.
  • a signal line for a pixel signal is wired from each of the sensor modules 250 to the corresponding A / D conversion circuit 204, and from each of the AZD conversion circuits 204, Transmit pixel data of n pits to the corresponding digital circuit 402 ⁇ signals
  • a wire is wired
  • a signal line for a pixel synchronization signal is wired from each of the sensor modules 25 2 to the corresponding digital circuit 402. Therefore, all of these signal lines do not cross, and all the A / D conversion circuits 204 always and independently convert pixel signals into n-bit pixel data.
  • all the digital circuits 402, all the A / D conversion circuits 204, and all the sensor modules 252 are arranged in a grid pattern. Of course, these are hexagonal. They may be arranged in a lattice.
  • power lines, ground lines, clock signal lines, reset signal lines, interrupt signal lines, and the like are omitted.
  • each of the digital circuits 402 uses a shift register and a serial / parallel conversion circuit, etc. All pixel signals sequentially output by the corresponding sensor modules 25 2 can be received as pixel data. Finally, the digital circuit 402 can output the result of the image processing as result data. At this time, if the digital circuit 402 communicates at least one pixel data with the adjacent digital circuit 402, the digital circuit 402 can perform complicated image processing.
  • each of the sensor modules 25 2 has a large number of light receiving elements 26 1, the mounting area of the corresponding digital circuit 402 becomes large.
  • One and a set of large memories 102 can be provided.
  • a set of memories 102 can store all pixel signals generated by the corresponding sensor module 252 as pixel data, and The processor 101 can perform image processing with reference to these pixel data.
  • the processor 101 can generate the memory rewrite synchronization signal, the storage data, and the memory address from these images overnight, the processor 101 can store the memory in the set of memories 102. Data can be easily changed.
  • At least one digital circuit 402 has one processor 101 in one set of memory. A method for changing the storage data in 102 will be described. First, as shown in FIG. 134, all of the digital circuits 402 in the image sensor 25 1 are used to communicate with the processor 101, a set of memories 102, and the outside.
  • a controller 103 is provided, and a processor 101 selects a set of memories 102 and a controller 103 via an address bus 51 and a set of memories 102 via a data path 52. And communication with the controller 103. At this time, a clock signal is supplied to the processor 101 and the controller 103, and the processor 101 sends control signals such as a read (READ) signal and a write (WRITE) signal to a set of the memory 101. 2 and controller 103.
  • READ read
  • WRITE write
  • general-purpose products may be used for the processor 101 and the set of memories 102.
  • one set of memories 102 may be composed of a large number of memory elements stacked using three-dimensional LSI technology. In particular, if a non-volatile memory such as a flash memory and a magnetic random access memory (MRAM) is used for at least a part of the memory 102, this part of the memory 102 is used. Can always store the program.
  • MRAM magnetic random access memory
  • the controller 103 has an address buffer 53, an address decoder 54, a data buffer 55, a flag encoder 59, a status register 60, and a previous input data buffer. It has a register 61, a result data register 62, a previous input shift register 68, and a previous input counter 69.
  • the address buffer 53 receives an address from the processor 101 via the address path 51.
  • the address decoder 54 selects the previous input data register 61 and the status register 60 by decoding this address.
  • the data buffer 55 communicates data with the processor 101 via the data bus 52.
  • the data buffer 55 outputs data from the internal data path 56 to the data path 52 only when the processor 101 outputs a read signal.
  • the previous input shift register 68 synchronizes these pixel data with the pixel synchronization signal.
  • the previous input counter 69 counts the number of pixel synchronization signals. However, the input count 69 before this may be either an up counter or a down counter.
  • the front input counter 69 sets the front input send (FRONT INPUT SEND) to 1 and outputs it to the flag encoder 59.
  • the flag encoder 59 always generates a status (STATUS) signal including the previous input transmission, outputs the status signal to the status register 60, and synchronizes with the clock signal while synchronizing with the clock signal.
  • a trigger one signal is output to the status register 60.
  • all (9 in this case) registers of the previous input data register 6 store 9 pixel data in synchronization with this trigger signal, and also store the status register data. 0 stores the status signal in synchronization with this one trigger signal. Therefore, when the address decoder 54 receives the address from the processor 101, the address decoder 54 can select all the registers in the previous input data register 61 and one of the status registers 60. The pixel data or status is output from the selected register to the internal data path 56. Therefore, the processor 101 can read pixel data or status. When the address decoder 54 selects the status register 60, the flag encoder 59 sets the previous input delivery in the status to one end.
  • the processor 101 determines whether the controller 103 has input all the pixel data just by checking the previous input delivery in the status. Finally, when the processor 101 writes the result data to the controller 103, the processor 101 outputs the address of the result data register 62 to the address path 51, and further writes the result data. Output to evening pass 52.
  • the address decoder 54 decodes this address and selects the result data register 62, the result data register 62 can receive the result data from the internal data bus 56.
  • the flag encoder 59 inputs the write signal and generates a trigger signal, so that the result data register 62 holds the input result data. Can be.
  • the held result data is output externally from the result data register 62. It is.
  • the flag encoder 59 can output a result transmission (RESULT SEND) as necessary. This result delivery indicates that the result data is being output, similar to the pixel synchronization signal.
  • the light source 291 such as a display and a laser device, irradiates the surface of the image sensor 251, on which all the sensor modules 252 are mounted, with light.
  • the controller 103 converts the light received by all the light receiving elements 261 of the corresponding sensor module 255 into a plurality of times in accordance with the pixel synchronization signal. Input sequentially as pixel data. Further, in at least one digital circuit 402, after the processor 101 stores the pixel data in a set of memories 102, the processor 101 uses the pixel data to synchronize the memory for rewriting with the memory.
  • a signal, storage data, and a memory address are generated, and the storage data is stored in the memory address according to the memory rewrite synchronization signal.
  • the memory rewriting routine for the processor 101 to rewrite one stored data in the set of memories 102 is as shown in FIG. Hereinafter, the memory rewriting routine will be described.
  • step 8001 the processor 101 saves the data in the register of the processor 101 to a set of memories 102 and initializes the register of the processor 101.
  • step 8002 the processor 101 inputs the status from the controller 103.
  • step 8003 the processor 101 determines the previous input delivery in the status. If the previous input delivery is 1 (step 8003: YES), the process proceeds to step 8004. Otherwise (Step 8003: N ⁇ ), go to Step 800.
  • step 8004 the processor 101 reads all the pixel data one by one from the controller 103 and stores them sequentially in a set of memories 102.
  • the processor 101 generates a memory rewrite synchronization signal of at least one pit from a plurality of pixel data stored in a set of memories 102.
  • step 8006 the processor 101 determines the memory rewrite synchronization signal. Also If the memory rewrite synchronization signal is 1 (step 8006: YES), the flow shifts to step 8007. Otherwise (Step 8006: NO), go to Step 800.
  • step 8007 the processor 101 generates storage data of at least one bit from the plurality of pixel data stored in the set of memories 102.
  • step 8008 the processor 101 generates a memory address of at least one bit from the plurality of pixel data stored in the set of memories 102.
  • the processor 101 stores the generated storage data at the generated memory address. At this time, an appropriate offset address may be added to this memory address.
  • the processor 101 restores the data saved in the set of memories 102 to the registers of the processor 101, and ends the memory rewriting routine.
  • step 8005 if the processor 101 can generate a 2-bit or more memory rewrite synchronization signal, an appropriate identification number is assigned to each of the plurality of digital circuits 402. At this time, in step 8006, these digital circuits 402 compare their own identification numbers with the memory rewriting synchronization signal, so that these digital circuits 402 Can be determined whether or not contains the stored data for himself. Therefore, even if the same light is emitted from the light source 291, the light-receiving elements 261 of all the sensor modules 252 are stored in the set of memories 102 of the specific digital circuit 402. Only data can be changed.
  • FIG. 135 a plurality of sensor modules 255 arranged in a lattice, a plurality of AZD conversion circuits 204 arranged in a lattice, and a plurality of digital circuits arranged in a lattice are shown in FIG.
  • the path 402 is stacked, of course, one sensor module 252, one A / D conversion circuit 204 and one digital circuit 402 are located at arbitrary positions in the LSI. It may be arranged. Further, these may be arranged on one mounting surface of the LSI.
  • the processor 101 does not periodically monitor the controller 103 in at least one digital circuit 402. I have to. Therefore, when the image sensor 251 is used as a receiving device to which an optical signal is always input, this memory rewriting routine is suitable, but there is no need to always rewrite the program in the memory 102. In a typical application of the image sensor 251, not only the overhead of this memory rewriting routine becomes large, but also there is a possibility that a memory rewriting signal may be generated by the input image. However, if the processor 101 can input at least one memory rewrite signal, the overhead of the memory rewrite routine will be small, and the memory rewrite signal will be arbitrarily dependent on the input image.
  • a light source 2 such as a display and a laser device is provided on the surface of the image sensor 25 on which all the sensor modules 252 are mounted. 9 1 emits light.
  • one memory rewrite signal may be input to the processor 101 of all the digital circuits 402, or one of the plurality of image rewrite signals may be input to the processor 1 of the plurality of digital circuits 402. 0 may be input to 1.
  • the memory rewrite signal is a type of interrupt signal.
  • the stored data in a set of memories 102 is rewritten according to a routine.
  • the processor 101 receives at least one memory rewrite signal, the processor 101 generates a memory rewrite synchronization signal, memory data, and a memory address from these pixel data. Then, the storage data is stored in the memory address according to the memory rewriting synchronization signal.
  • the memory rewrite routine for the processor 101 to rewrite at least one stored data in the set of memories 102 is as shown in FIG. Become.
  • the memory rewriting routine will be described.
  • step 8101 the processor 101 saves the data in the register of the processor 101 to a set of memories 102 and initializes the register of the processor 101.
  • step 8102 processor 101 inputs status from controller 103. I do.
  • step 8103 the processor 101 determines the previous input delivery in the status. If the previous input delivery is 1 (step 8103: YES), the process moves to step 8104. Otherwise (step 8103: NO), proceed to step 8102.
  • the processor 101 reads all the pixel data one by one from the controller 103, and sequentially stores them in a set of memories 102.
  • step 8105 the processor 101 generates a synchronization signal for rewriting at least one pit from a plurality of pixel data stored in the set of memories 102.
  • step 8106 the processor 101 determines the synchronization signal for memory rewriting. If the memory rewrite synchronization signal is 1 (step 8106: YES), the flow shifts to step 8107. Otherwise (step 8106: NO), the process moves to step 8102. In step 8107, the processor 101 generates at least one bit of memory data from the plurality of pixel data stored in the set of memories 102.
  • the processor 101 generates a memory address of at least one bit from the plurality of pixel data stored in the set of memories 102.
  • the processor 101 stores the generated storage data at the generated memory address. At this time, an appropriate offset address may be added to this memory address.
  • step 8110 the processor 101 determines a memory rewrite signal. If the memory rewrite signal is 1 (step 8110: YES), the flow shifts to step 8102. Otherwise (Step 8110: N ⁇ ), go to Step 8111.
  • step 8111 the processor 101 restores the data saved in the set of memories 102 to the register of the processor 101, and ends the memory rewriting routine.
  • the memory rewriting routine for the processor 101 to rewrite at least one stored data in the set of memories 102 has been described so far.
  • the processor 101 must generate a memory rewrite synchronization signal, storage data, and a memory address from a plurality of pixel data in a set of memories 102. Therefore, in the following, when one sensor module 25 2 has a 3 ⁇ 3 light receiving element 26 1, the processor 101 of the corresponding digital circuit 402 has a plurality of A method of generating 2-bit digital information from the pixel data of FIG.
  • the light source 291 and the sensor module 252 are arranged so that the light source 2911 can emit light of different intensities to the nine light receiving elements 261 of the sensor module 252, respectively. Shall be placed. Therefore, a set of memories 102 of the corresponding digital circuits 402 can actually store 512 patterns of pixel data.
  • the light emitted from the light source 291 to the sensor module 252 has a striped pattern.
  • the width of the stripe received by the sensor module 25 2 is 0 to 3 pixels.
  • the processor 101 compares the nine pixel data stored in the set of memory 102 with the 74-pattern pixel data shown in FIGS.
  • the processor 101 can correctly select one of four groups in which the ratio of pixel data of 1 is 0, 1/3, 23 and 1. That is, the processor 101 can generate 2-bit digital information.
  • a black square represents 0, and a white square represents 1.
  • FIG. 140 (a) shows the pixel data of one pattern in which the ratio of the pixel data of 1 is 0, and FIGS. 139 (b) to (i) show the pixel data of 1 FIG. 140 (a) to (h) shows 36 patterns of pixel data in which the ratio of pixel data in which 1 is 1/3 is 2/3.
  • FIG. 140 (i) shows that the ratio of pixel data of 1 is 1 indicates one pattern of pixel data.
  • the processor 101 treats the light emitted from the light source 291 as binary pixel data as binary pixel data.
  • the processor 101 may, of course, treat this light as pixel data of a plurality of pits.
  • the processor 101 can generate digital information of 2 bits or more.
  • the light source 2911 outputs a more complex pattern such as a square, a triangle, and a cross than a stripe pattern, so that the processor 101 can generate digital information of 2 bits or more.
  • the processor 101 can generate 2-bit or more digital information while preventing malfunction due to displacement and noise.
  • the sensor module 252 can detect red, green and blue by using a primary color filter, and can further detect cyan, magenta, yellow and green by using a complementary color filter.
  • the sensor module 252 can also detect infrared rays.
  • the number of pixel data obtained by multiplying the number of 26 1 by the number of bands can be stored.
  • the processor 101 can generate 6-bit digital information according to the method described above. .
  • the three bands of red, green, and blue are allocated to the memory rewrite synchronization signal, the storage data, and the memory address, respectively, so that the processor 101 can transmit the 2-bit memory rewrite synchronization signal, the 2-bit storage data, and the memory data. It can also generate 2-bit memory addresses.
  • a light source 291 such as a display
  • this light source 2911 must display a high-resolution image.
  • the light source 291 can easily irradiate all the sensor modules 252 of the image sensor 251 with light having a pattern as shown in FIGS.
  • FIGS For example, as shown in Fig. 141, when a transmission-type diffraction grating 293 is used, the single-wavelength light emitted by the light source 2911 is converted into a parallel wave by the lens 2992. Further, by irradiating the diffraction grating 293, the diffraction grating 293 can generate interference fringes in which the width of each fringe is extremely small. Therefore, all the sensor modules 25 2 of the image sensor 25 1 can receive light having the same stripe width.
  • each interference fringe is changed by changing the wavelength of the light, changing the incident angle of the light, or changing the width of the slit of the diffraction grating 293. .
  • Fig. 142 even when a reflection type diffraction grating 293 is used, all the sensor modules 252 of the image sensor 251 receive light with the same stripe width. be able to.
  • FIG. 144 when a diffraction grating 293 is formed in the optical waveguide 294 by using a half mirror or the like, the same phase as that of the laser beam generated by the light source 2911 is obtained. When this light is incident on the optical waveguide 294, the diffraction grating 293 can generate an interference fringe having an extremely narrow width. Therefore, all the sensor modules 252 of the image sensor 251 can receive light having the same stripe width.
  • the first invention is the visual device according to claim 3 or 4, wherein each of at least one of the array operation units in the position / size Z inclination detecting means is only the array operation unit near eight.
  • a visual device characterized by communicating with: Since the position / size / inclination detecting means executes only the 8-neighboring process, the visual device can generate the moving source overlapping information image at high speed.
  • the position Z size and the inclination detecting means inputs the formed edge information image as the binary image, the inclination angle output from the position Z size and the inclination detecting means is determined by a method with respect to the contour line of the object. It becomes a line direction.
  • At least one of the digital circuits includes a processor, a set of memory and a controller, and the controller responds to the pixel synchronization signal.
  • the processor can execute a program stored in the set of the memories.
  • the plurality of digital circuits include the processor, a set of the memory, and the controller, the plurality of processors independently store all the pixel data in the corresponding set of the memories.
  • image processing can be performed in parallel, various problems relating to image processing can be suitably solved.
  • At least one of the processors periodically executes a memory rewriting routine, and the memory rewriting routine receives an input from the controller.
  • the present invention is an embodiment of an algorithm for causing the processor during polling to store the storage data in the memory address of the set of memories in accordance with the memory rewrite synchronization signal. If one sensor module has a large number of light receiving elements, for example, if all the light receiving elements are hardly irradiated with the light, or if all the light receiving elements are irradiated with the strong light And when half of the light receiving elements are hardly irradiated with the light, and when the other half of the light receiving elements are irradiated with the strong light, The pattern of the light may represent the memory rewrite synchronization signal, the storage data, and the memory address, as in the case where the weak light is alternately irradiated.
  • At least one processor executes a memory rewriting routine when at least one memory rewriting signal is input, and the memory rewriting routine Means for storing all the pixel data input by the controller in a set of memories, and converting at least one of the pixel data stored in the set of memories into a memory rewrite synchronization signal Means for converting at least one of the pixel data stored in the set of memories into storage data; and converting at least one of the pixel data stored in the set of memories to a memory address Means for storing the storage data in the memory address of the set of memories.
  • the processor when the processor inputs at least one memory rewrite signal, the processor sends the memory address of the set of memories to the memory address in accordance with the memory rewrite synchronization signal.
  • This is an image sensor that specializes in storing stored data.
  • the present invention is an embodiment of an algorithm for the processor having an interrupt function to store the storage data at the above-mentioned memory address of a set of the memories in accordance with the memory rewrite synchronization signal. If one sensor module has a large number of light receiving elements, for example, if the light is hardly applied to all the light receiving elements, and if the strong light is applied to all the light receiving elements.
  • the pattern of the light is the same for the memory rewriting as in the case where the light receiving element is irradiated with the strong light and the case where all the light receiving elements are irradiated with the strong light and the weak light alternately.
  • a period signal, the storage data, and the memory address is the same for the memory rewriting as in the case where the light receiving element is irradiated with the strong light and the case where all the light receiving elements are irradiated with the strong light and the weak light alternately.
  • the manufacturer of the image sensor 25 1 manufactures an LSI (large-scale integrated circuit) that realizes the data processing device 110 composed of a plurality of array operation units 100 arranged in a two-dimensional lattice. By stacking the required number of these LSIs, an image sensor 251, which can easily and quickly detect the position, size, shape, color, and texture of at least one object in a moving image, is provided. Can be realized.
  • the manufacturer can mount a general-purpose processor for realizing the image recognition unit 29 and the environment understanding unit 31 on the image sensor 251, using the system LSI technology.
  • the image sensor 251 can output only the environmental map as needed, the computer system that receives the environmental map can reduce the load. Since the present invention is very similar to the visual function of the human brain, the present invention is very useful for elucidating the visual function of the human brain.
  • the present invention can detect the shape of an object conventionally detected by global processing such as Fourier transform and affine transformation, simply by executing local parallel image processing. Therefore, the present invention can speed up image processing requiring an enormous amount of calculation such as image compression and pattern recognition.
  • the present invention having the position Z size inclination detecting means 44 and the position Z size Z-shaped detecting means 45 has a binary value by changing the neighborhood size. For at least one object in the image, either shape or texture can be detected. Therefore, the user of the present invention prepares a plurality of combinations of a plurality of positions Z with different neighborhood sizes, a tilt detection means 44 and a plurality of position / size detection means 45 with different neighborhood sizes. Shapes and textures of objects within a certain range in a binary image can be detected simultaneously.
  • the position and shape of the object can be detected from the formed edge information image 115 by performing the processing in parallel on a pixel-by-pixel basis.
  • the present invention can determine the shape of an object even if the size and inclination of the object are not known in advance.
  • the visual device 2 is also used for preprocessing for recognizing multiple objects from a frame image of a moving image captured by a video camera or a still image captured by a digital camera or captured by a scanner.
  • a pattern recognition device for still images can be realized at high speed and at low cost. Since three or more source tilt overlapping information 1 87 are output, the system for inputting the source tilt overlapping information image 18 8 according to the present invention uses the source tilt overlapping information image 18 8 if necessary. From this, the size of the object can be extracted.
  • the position and shape of the object can be detected from the formed edge information image 115 by performing the processing in parallel on a pixel-by-pixel basis.
  • the present invention can determine the shape of an object even if the size and inclination of the object are not known in advance.
  • the present invention is also used for pre-processing for recognizing a plurality of objects from a frame image of a moving image captured by a video camera or a still image captured by a digital camera or captured by a scanner, and A pattern recognition device for still images can be realized at high speed and at low cost. Since the array operation unit 100 outputs only the object detection result, the system for inputting the object detection result according to the present invention can simplify the communication mechanism.
  • the present invention is at least divided by a binary image as compared with the conventional visual device 2. Also, one object region 141 can be quickly separated from the background region. Therefore, the designer of the image sensor 251 can design the high-speed image sensor 251.
  • the array operation unit 100 transfers received calculation data in at most two directions, and most of them need only be transferred in one direction. That is, when the processor 101 writes the calculation data to the controller 103, the probability that the processor 101 is kept waiting by the controller 103 is reduced. Moreover, since the array operation unit 100 can distribute the transfer load of the calculation data, the array operation unit 100 can transfer the calculation data efficiently.
  • the virtual array operation unit 105 transfers the received calculation data in at most two directions, and most of them need only be transferred in one direction. That is, when the processor 101 writes the calculation data to the controller 103, the probability that the processor 101 is kept waiting by the controller 103 is reduced. Furthermore, as the number of array operation units 100 included in the virtual array operation unit 105 increases, the processor 101 stops writing the calculation data to the controller 103, so that the virtual array operation unit 105 can transfer the calculation data efficiently. it can.
  • the processor 101 when the plurality of controllers 103 transfer the calculation data in one direction, the processor 101 only needs to write the calculation data once, regardless of the number of transfers. Moreover, the processor 101 does not need to increase the number of transfers by one, and the controller 103 does not need to include an adder. Therefore, the visual device 2 can transfer the calculation data efficiently.
  • the interlocking counter 401 even if the interlocking counter 401 inputs a plurality of interlocking signals having different phases, the interlocking counter 401 has the most delayed phase among these interlocking signals. Can be selected to generate the interlocking signal, and output the count number according to the phase of the interlocking signal. Therefore, even if a plurality of interlocked counters 401 are distributed throughout an LSI (La re Scale Int eg rat ed Circuit), if all interlocked counters 401 communicate interlock signals with each other, All interlocking The phase of the interlocking signal of the type-counter 401 matches the one with the latest delay, and the count number of the interlocking type 401 also matches.
  • LSI Layer re Scale Int eg rat ed Circuit
  • these interlocking counters 401 can supply the same evening signal to the entire LSI.
  • these interlocking counters 401 can also supply the same frequency-divided signal to the entire LSI.
  • LSI designers must perform fine clock control for each LSI part.
  • the interlocking device while suppressing the amount of wiring of the interlocking signal, includes a pipeline processing device, a DSP (Digita 1 Signal Processor), a systolic array, a data flow processor, and a parallel processing device. Since the divided signal and the timer signal synchronized with the clock signal can be supplied to the entire parallel system, such as an image processing device, whose performance improves as the size increases, the LSI designer can reduce the propagation delay time. Large-scale parallel systems can be designed while avoiding problems. In particular, when the interlocked counters 401 described in claims 15 and 16 are used, these interlocked counters 401 generate a clock signal, so that the LSI designer can output the clock signal from outside the LSI.
  • a DSP Digita 1 Signal Processor
  • the phase difference between the clock signal generated by these interlocked counters 401 and the clock signal generated by the interlocked counter 401 adjacent to the interlocked counter 401 is 2 ⁇ Radians, that is, within one cycle of the clock signal. Therefore, when the interlocked counter 410 divides the clock signal by N to generate the N-divided signal, the phase difference between the N-divided signals generated by the adjacent interlocked counters 40.1 is 2 ⁇ / ⁇ Radians or less, that is, within one cycle of the clock signal. In other words, the interlocking counter 410 generates a high-frequency clock signal, and As N increases, the phase difference of the N-divided signal approaches 0 radians.
  • an LSI designer can easily design an LSI using a high-frequency clock signal.
  • the manufacturer of the image sensor 251, using the LSI lamination technology arranges only the sensor module 252 that has been inspected on the substrate, so that the image sensor 251 can be manufactured in a short time and at a high yield. Can be manufactured. Therefore, an LSI manufacturer can easily manufacture an image sensor 251 having 100 million pixels or more, which is comparable to the human retina.
  • the embodiment of the image sensor 25 1 can extract all the image signals in a shorter time than the general image sensor 2 51, and furthermore, it is a pixel-parallel image sensor. Requires less signal lines than 2 5 1 Therefore, the plurality of virtual array operation units 105 arranged in a lattice in the visual device 2 can shorten only necessary pixel signals by using the embodiment of the image sensor 251, which corresponds to the present invention. You can receive on time.
  • the wiring length of the signal line between one sensor module 252 and the corresponding AZD conversion circuit 204 becomes short, so that the noise to the image sensor 251 is reduced.
  • the effect of noise in particular, in the case of the invention described in claim 20, by using three-dimensional LSI technology, one sensor module 25 2, a signal line between the corresponding AZD conversion circuit 204, and one AZD
  • the total wiring length of the conversion circuit 204 and the signal line between the corresponding digital circuit 402 is reduced and does not intersect with each other, so that the effect of noise on the image sensor 25 1 is maximized. Can be suppressed.
  • the number of AZD conversion circuits 204 is equal to the number of sensor modules 25 2, even if the number of pixels of the image sensor 25 1 is increased, the designer of the image sensor 25 By increasing the number of light receiving elements 26 1 in 52, the number of A / D conversion circuits 204 can be reduced. Therefore, the image The designer of the disensor 251 can design a high-definition image sensor 251 by increasing the number of bits of the digital signal output from the AZD conversion circuit 204. In addition, LSI manufacturers can easily manufacture image sensors 251 with more than 100 million pixels that directly and in parallel stimulate the human optic nerve.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Closed-Circuit Television Systems (AREA)

Description

視覚装置、 連動式カウンタ及びイメージセンサ
技術分野
本発明は、 物体を探索及び認識する視覚装置に関し、詳しくは、幾何解析手段などの局 所並列画像処理を実行する複数の配列演算ュニット及び複数の仮想配列演算ュニッ卜、 こ れらの配列演算ユニット及び仮想配列演算ュニッ卜から構成されるデータ処理装置、 これ らの配列演算ュニット及び仮想配列演算ュニットを駆動する連動装置、及び複数のセンサ モジュールを備えたイメージセンサに関する。
背景技術
移動カメラを制御し、画像処理をする装置として、本発明者はこれまで視覚装置(visual device)を開発してきた(例えば、特開 2001— 43385、特開 2001— 10140 3、 特開 2001— 148006、特開 2001— 148022、特開 2001— 148 024、 国際公開番号 WO00/16259参照)。 この視覚装置は移動カメラ (moving camera) のパン、チルト及びズームの機構を制御することにより、物体を探索し、 物体の 画像処理を行うものである。視覚装置が行う画像処理の大半が局所処理であり、 しかもこ れらの局所処理 (local processing)は二次元格子状に配列された複数の配列演算ユニット (array operation units) によって並列に実行され得る。 しかしながらこの視覚装置には、 主に4つの問題があった。第一に、物体 Z背景分離手段 (figure/ground separation means) は、非線形振動子 (nonlinear oscillator)を用いて少なくとも 1つの物体領域 (object area) と背景領域 (background area)を分離するために、膨大な計算量を必要とした。第二に、 パターンマッチング手段(pattern matching means) は、 物体の色とパターンが混在し た正規化画像(normalized image) を正しく認識するために、 多数のテンプレート画像 (template images) を必要とした。 第三に、 幾何解析手段 (geometrical analysis means) は、 動画像中の物体の大まかな形を検出するために、 フーリエ変換、 ァフィン変換及ぴ ハフ変換のような大域処理を行わなければならなかった。第四に、 領域正規化手段(area normalization means) は、 正規化画像の画素間を補間するために、 自然数による除算を 実行するための除算器を備えたプロセッサを必要とするか、又はこの自然数の逆数を記憶 するためのルックアップテーブルを必要とした。そのため、 これらの手段は、視覚装置を 有する高性能ィメージセンサの製造にとつて大きな障害であつた。
まず、従来の物体/背景分離手段において、各々の非線形振動子は、外乱 (external noise) として乱数を用いるか、 又は入力された形成エッジ情報画像の 1画素を構成する形成エツ ジ情報を用いていた。 したがって、形成エッジ情報画像によって区分される物体領域又は 背景領域に含まれる非線形振動子と、外乱と、 の間に相関はない。 その結果、各々の非線 形振動子は、 近傍にある複数の非線形振動子の位相が適当な組み合せになるまで、 自ら の位相をこれらの非線形振動子の位相からずらすことができなかった。 このことが、物体 背景分離手段の計算量が増加する要因であった。 しかしながら、 視覚装置は、位置/大 きさ検出手段を用いることにより、 形成ェッジ情報画像によって区分される物体領域のお およその重心位置及びその大きさを表す重複情報画像を生成することができる。 そこで、 各々の非線形振動子が、重複情報画像のうち、対応する画素を構成する重複情報を乱数と して入力することにより、物体領域に含まれる各々の非線形振動子は、おおよその重心位 置から周囲に向けて順番に位相をずらす。
これらのことを考慮すると、位置,大きさ検出手段が形成ェッジ情報画像によって区分 される物体領域のおおよその重心位置及びその大きさを検出することにより、物体 Z背景 分離手段は、従来に比べて高速に物体領域と背景領域を分離することができると期待され る。
次に、従来の視覚装置において、パターンマッチング手段はデジタル画像のうち、物体 領域に相当する分離物体領域を正規化した正規化画像をパターンマッチングするために、 非常に多くの数のテンプレート画像を必要とした。 この理由は、 正規化画像が一般にノィ ズを含んだ多帯域画像であり、 しかもパターンマッチング手段が、正規化画像が表す物体 の色及びパターンを区別せずに、 この正規化画像と多数のテンプレート画像を比較したか らである。 つまりテンプレート画像は物体の色及びパターンの組み合せの数だけ必要に なる。そこで正規化画像が表す物体の色及びパターンを別々にパターンマツチングする場 合を考えてみる。 まず、物体の色を、正規化画像の各画素が表す色のうち画素数が最も多 い色とする。 このときパターンマッチング手段は、検出すべき複数の色のうちの相異なる 1つの色によって塗り潰されたテンプレート画像を、検出すべき色の数だけ用意すること により、 正規化画像が表す物体の色を検出することができる。 しかもデジタル画像中の物 体の位置及び大きさが変っても、パターンマッチング手段は、分離物体領域に含まれる各 画素の色を複数のテンプレート画像と比較することにより、 この物体の色を検出すること ができるので、分離物体領域を正規化する必要もない。一方で、物体のパターンに関して は、分離物体領域に対する正規化画像の代りに、エッジ情報形成手段が分離物体領域から 一旦形成エッジ情報画像を生成し、その後、幾何解析手段が形成エッジ情報画像から生成 した画像に対する正規化画像を用いるものとする。 このとき正規化画像のうち少なくとも 1画素には、その周辺にある物体のパターンの一部を表す形及び大きさが記されているの で、パターンマッチング手段は、 物体領域の位置及び大きさに関係なく、 この正規化画像 に最も類似したテンプレート画像を容易に選択することができる。
これらのことを考慮すると、視覚装置が、複数のパターンマッチング手段を用いて、物 体領域が表す物体の色及びパターンを別々に処理することにより、色及びパターンに対す る複数のパターンマッチング手段は、それぞれテンプレート画像の数を大幅に削減するこ とができると期待される。
次に、 従来の幾何解析手段は、 テンプレート画像の数が多くなつた場合、パターンマツ チング手段の計算量を低減するために、 フーリエ変換を用いて動画像中の物体のエッジ情 報から輪郭だけを抽出することと、 ァフィン変換を用いて動画像中の物体の輪郭の大きさ を正規化することと、ハフ変換を用いて動画像中の物体の形状を特定することと、 を適切 に組み合せて利用していた。 しかしながら、 これらの変換は、 画像を厳密に処理する上 に、 大域処理であるので、 視覚装置のハードウェアへの実装には適さなかった。 そこで、 幾何解析手段が物体の大まかな形を検出することに着目すると、 この幾何解析手段が、細 切れにされたこの物体の輪郭の断片から位置及び傾きを求め、 この傾きをこの物体の輪郭 の重心に集めることができれば、 この幾何解析手段は、 この物体の大まかな形を検出する ことができる。
これらのことを考慮すると、 傾きを検出する手段が形成エッジ情報画像(formed edge- information image) から物体の輪郭を表す複数の線分の長さ及び傾き角度を計算し、 さ らにこれらの線分の長さ及び傾き角度を、傾き角度毎に物体の輪郭の重心方向に移動する と同時にこれらの線分の移動距離を計算することにより、 幾何解析手段は画像処理に適し たような物体の位置及び形を検出することができると期待される。 しかも物体の輪郭線は 既に複数の独立した線分に分割されているので、 線分が位置する画素をその近傍との間で 一定の制約条件を満たしながら独立に移動させれば、幾何解析手段は少ないハードウェア 量と計算量で物体の位置及び形を検出することができると期待される。
最後に、 領域正規化手段は、 一旦物体領域に相当するデジタル画像中の分離物体領域 (segmented object area) に含まれる各画素を、 互いの距離がおおよそ等しくなるように、 デジタル画像全面に移動させた後、 これらの画素の間に位置する画素を、 近傍の画素の平 均によって補間することにより、 領域正規化手段はデジタル画像のサイズと等しいサイズ の正規化画像を生成する。 したがって、 領域正規化手段は、 画素間を補間するために自然 数による除算、 又はこの自然数の逆数の乗算を実行しなければならない。 このように領域 正規化手段が補間する理由は、 以下の通りである。 第一に、 大きさ及び位置が異なる複数 の分離物体領域が同じ物体を表す場合、一旦パラバラになった分離物体領域の各画素から 分離物体領域のパターンを再構成しなければ、 正規化画像の出力先であるパターンマッチ ング手段が同じ物体に対して多数のテンプレート画像を有しなければならないからであ る。 第二に、 デジタル画像が一般にノイズを含む多帯域画像であるために、 一旦パラパラ になった分離物体領域の画素間を補間をすることにより、 正規化画像と、 この正規画像と 同じ種類の物体の表すテンプレート画像と、 の間の類似度が増すからである。 しかしなが ら、 前述のように、パターンマッチング手段が、分離物体領域に対する正規化画像の代り に、 エッジ情報形成手段が分離物体領域から一旦形成エッジ情報画像を生成し、その後幾 何解析手段が形成ェッジ情報画像から生成した画像に対する正規化画像を用いる場合、正 規ィ匕画像のうち少なくとも 1画素に、その周辺にある物体のパターンの一部を表す形及び 大きさが記されている。 したがって、 領域正規化手段が補間をしなくても、パターンマツ チング手段は複数のテンプレート画像の中から正規化画像に最も類似したテンプレート 画像を選択することができる。
これらのことを考慮すると、領域正規化手段が補間をしなくても、パターンマッチング 手段は物体領域が表す物体のパターンを選択することができると期待される。
さて、 この視覚装置は移動カメラのパン、チルト及びズームの機構を制御することによ り、 物体を探索し、物体の画像処理を行うものである。視覚装置が行う画像処理の大半が 局所処理であり、 しかもこれらの局所処理は二次元格子状に配列された配列演算ユニット によって並列に実行される。 配列演算ユニットを L S Iに実装する場合、個々の配列演算 ユニットは、 送達及び受領という信号を用いることにより、 隣接する配列演算ユニットと 非同期に通信できるように設計されている。 これにより、配線パターンは極めて単純にな り、 しかも配線長は短くなるので、 L S Iはトランジスタの実装面積を増やしながら消費 電力を低下させることができ、 しかも全ての配列演算ュニットは必ずしも同期する必要が ない。
ところで、従来の配列演算ユニットには主に 4つの問題があった。 第一の問題は、送達 を送信したコントローラにおいて送達を送信してから受領を受信するまでの時間が長くな ることである。 この原因は、 送達を受信したコントローラが、 計算データ、 種別、 水平方 向の転送回数及び垂直方向の転送回数を入力するまで受領を返信しないことにある。そこ で従来の配列演算ュニットでは、送達を送信したコントローラの上下左右の受領ステ一夕 スが確実に更新されるまで、 プロセッサは待たなければならなかった。 しかしながら、 こ の方法ではコントローラが折角非同期通信をしていてもプロセッサが無駄に時間を潰さな ければならない。第二の問題は、 計算データの転送順番が不規則であるので、未転送の計 算データと転送済の計算データの区別が難しいことである。 この原因は全ての配列演算ュ ニットが独立に動作することにある。そこで従来の配列演算ュニットでは、 メモリが受信 した計算データを転送すべき送達フラグと一緒に記憶し、一方でプロセッサはメモリに記 憶された全ての送達フラグを常に検査して計算データを転送した後、転送された計算デー 夕に関連する送達フラグを更新していた。 しかしながら、 この方法ではプロセッサは既に 転送した計算データの送達フラグでも繰り返し検査しなければならない。 第三の問題は、 計算データが同時に 3方向に転送される場合、プロセッサがコントローラに計算データを 書き込める割合が低いことである。 この原因は、 コントローラが 4近傍の配列演算ュニッ トに対して一度に 1個の計算データしか送信できないことにある。 そこで従来の配列演 算ユニットでは、送達フラグによって指定された配列演算ユニットの数が多くなればなる ほど、プロセッサは次の計算データをコントローラに書き込めるようになるまで長時間待 たなければならなかった。 第四の問題は、 計算データが同時に 3方向に転送される場合、 計算データを受信する配列演算ユニットは、 この計算データの水平方向の転送回数及び垂 直方向の転送回数が同じになる 2個の配列演算ュニットを区別することが難しいことであ る。 この原因は、 コントローラが水平方向の転送回数及び垂直方向の転送回数を非負の整 数でしか通信しないことにある。そこで従来の配列演算ユニットでは、 計算データの送信 元である 2個の配列演算ユニットに優先順位が付けられ、配列演算ユニットは必ず優先順 位が高い配列演算ユニットの計算データから順番に転送していた。 しかしながら、 この方 法では、優先順位が高い配列演算ユニットの計算データが入力されるまで、優先順位が低 い配列演算ユニットの計算データは転送されないので、転送効率が悪い。 これらの問題を 解決する最も有効な方法は、高機能なコントローラを設計することである。例えば、第一 の問題を解決するためには、 コントローラのクロック信号の周波数がプロセッサのクロッ ク信号の周波数より高くなれば良い。第二の問題を解決するためには、 コントローラが F I F O ( F i r s t I n F i r s t O u t ) のような電子回路を備えれば良い。第 三の問題を解決するためには、 コントローラが同時に複数の計算データを 4近傍の配列演 算ユニットに送信できるようにすれば良い。第四の問題を解決するためには、水平方向の 転送回数及び垂直方向の転送回数が負の整数で表されるように、 コントローラが水平方向 の転送回数及び垂直方向の転送回数に対してそれぞれ 1ビットずつ回路を増やせば良い。 しかしながら、 設計者が実際にこのような配列演算ユニットを設計しょうとすると、 配列 演算ユニットのハードウェア量は膨大になる。
そこで第一の問題を解決するためには、 コントローラが送達を受信したら、直ちに送達 を記憶して受領を返信し、 その後、 計算データ、 種別、 水平方向の転送回数及び垂直方向 の転送回数を入力すれば良い。 第二の問題を解決するためには、 F I FOの代用品がメ モリ及びプロセッサに実装されれば良い。第三及び第四の問題を解決するためには、 計算 データが多くとも同時に 2方向にしか転送されないようにすれば良い。
これらのことを考慮すると、 スタツク及ぴ循環バッファがメモリ及びプロセッサに実装 され、 反時計回り及び時計回りに計算データが転送されることにより、 転送効率が良い配 列演算ュニットを設計することができると期待される。
さて、 近年し S I (La r ge Sc a l e I n t eg r a t ed C i r c u i t) 技術の急速な進歩により、 高速で高集積度の LS Iが開発されるようになってきた。 LS Iの集積度に関しては、 単に設計ルールの微細化技術だけでなく、 三次元 LS I技 術(例えば、特開昭 63—174356、特開平 2— 35425,特開平 7 - 13529 3参照)、 特にウェハーを張り合わせる技術 (Koy anag i , M., Ku r i η ο, Η·, Le e, K-W., S a k uma, K., M i y a k awa, N., I t an i , H., 'Fu t ur e S y s t em— on— S i l i c on LS I Ch i p s ',
I EEE MI CRO, 1998, Vo l . 18, No. 4, p a g e s 1 7— 22参照)が開発され、 さらに最近多数のチップを積み重ねる技術(例えば、 日経マ イクロデパイス, 2000年 6月号, page s 62— 79 ; 日経マイクロデバイス, 2 000年 6月号, page s 157—164;日経マイクロデバイス, 2000年 6月号, page 176参照)が多数開発されていることにより、 LS Iはますます高集積度にな るので、従来別々の L S Iに実装されていたデジタル回路は容易に 1つの L S Iに実装さ れるようになる。 一方で LS Iの動作速度に関しては、 クロック信号の周波数が高くなる に従い、 クロックスキュー及ぴ信号の伝搬遅延時間の問題がますます深刻になっている。 そこで、 これらの問題を解決するためには、 現在では L S Iの中に多数の P L L ( P h a s e L o c k e d L o o p )が用いられている。 なお、 これらの P L Lは、 位相が 一定である 1つの参照信号を入力し、 さらにこの参照信号と、 各々の P L Lが生成する比 較信号との間の位相差を比較して、 この位相差が 0ラジアンになるように比較信号の位 相を変更するものである。 しかしながら、 L S Iの中に多数の P L Lがある場合、 この参 照信号の伝搬遅延時間のために、 全ての: P L Lの位相を一致させることは不可能である。 また、 2つの P L Lがこれらの比較信号を相互に通信することもできない。 の'趣由ほ、 これらの比較信号の伝搬遅延時間のために、 いずれの P L Lも位相が一定な比較信号を生 成することができないからである。 つまり、 どちらか一方の P L Lにおける比較信号の位 相差が 0ラジアンになれば、 もう一方の P L Lにおける比較信号の位相差は伝搬遅延時間 の 2倍になるので、 両方の P L Lとも比較信号に大きなジッターが発生する。 勿論 P L L が生成するクロック信号には致命的なジッターが発生する。
そこで各々の配列演算ュニットが、 隣接する配列演算ュニットと非同期に通信できる ことに着目すると、 全ての配列演算ユニットは、 一定の位相のクロック信号ではなく、一 定の周期のクロック信号を入力すれば良い。 したがって、 視覚装置には、 複数のカウンタ が、 それぞれ独立した発振回路を備え、 さらにこれらのカウン夕が相互にカウント数を通 信することにより、 全てのカウント数が一定時間内に一致するようなカウン夕で十分であ る。 加えて、 各々のカウンタが、 隣接する全てのカウンタのカウント数に応じて、 この発 振回路の位相を調節することにより、 結果として、 全てのカウント数が一致している時間 も長くなる。
これらのことを考慮すると、 カウン夕が、 外部から入力する全ての信号を個別に記憶す るための機構と、 さらに発振回路が、 カウンタが生成する信号に同期するための機構が存 在すれば、 式カウンタは常時カウント数を一致させることができ、 しかも L S I全体に高 周波数のクロック信号を供給することができるものと期待される。 この他に、 従来から、 電荷結合素子(CCD) 及び CMOS (相補形金属酸化物半導 体)技術を用いて、 多数のイメージセンサが開発されてきた。 これらのイメージセンサの 多くはビデオ信号を生成するために用いられるので、 列並列型である。 また、 三次元 LS
1 (大規模集積回路)技術を用いることにより、 複数の受光素子、複数の電荷増幅器、 複 数の AZD変換回路及び複数のデジタル回路を積層したイメージセンサも開発されてきた (例えば、 特開昭 63— 174356、 特開平 7—135293、 特開平 2— 35425 参照)。 これらのィメージセンサの多くは垂直信号線を有効利用した画素並列型であり、 1個の受光素子、 1個の電荷増幅器、 1個の A/D変換回路及び 1個のデジタル回路が垂 直に配置されている。 特に近年、 ウェハーを張り合わせる技術(例えば、 特開平 5— 16 0340;特開平 6— 268154 ;Koy an a g i, M., Kur i no, H., L e e , K一 W., S a k uma , K., Mi y a k awa , N" I t a n i , H" ' Fu t ur e S y s t e m— on— S i l i c on LS I Ch i ps ', I E E E MI CRO, 1998, Vo l. 18, No. 4, page s l 7— 22参 照)が開発されたことにより、 イメージセンサの製造者は、 複数の受光素子を実装した L S Iと、 複数の電荷増幅器を実装した LS Iと、 複数の AZD変換回路を実装した LS I と、複数のデジタル回路を実装した LS Iと、 を別々に製造した後、 1個の受光素子、 1 個の電荷増幅器、 1個の AZD変換回路及び 1個のデジタル回路が垂直に配置されるよう に、 イメージセンサの製造者はこれらの LS Iを積層することができる。 しがたつて、 異 なるプロセスで製造される L S Iでも容易に積層され、 しかも検査済の L S Iを積層する ことにより、 LS Iの歩留まりが向上する。 さらに最近、 多数のチップを積み重ねる技術 (例えば、 日経マイクロデバイス, 2000年 6月号, page s 62— 79 ; 日経マイ クロデバイス, 2000年 6月号, page s 157—164; 日経マイクロデバイス,
2000年 6月号, p a g e 176参照)が開発されたことにより、 イメージセンサの製 造者は、 高機能なィメージセンサを容易に製造することが可能となった。
ところで三次元 LS I技術には、 トランジスタの数を増やすことはできても、 垂直信号 線の数を増やすことは難しいという問題がある。その理由は、 LS Iの実装面における信 号線の線幅に比べて、 垂直信号線の線幅はかなり広く、 しかも垂直信号線がある場所には トランジスタを配置することができないからである。 したがって、 イメージセンサの設計 者が三次元 L S I技術を用いたとしても、 同一回路内に含まれるトランジスタは結局同一 L S Iに実装されることになるので、 イメージセンサの設計者はイメージセンサの画素数 を容易に増やすことができない。
一方で、 これまで移動カメラを制御し、 画像処理をする装置として、 本発明者は視覚装 置を開発してきた (例えば、 国際公開番号 WO 0 0 / 1 6 2 5 9参照)。 この視覚装置は 移動カメラのパン、 チルト及びズームの機構を制御することにより、 物体を探索し、 物体 の画像処理を行うものである。 視覚装置が行う画像処理の大半が局所処理であり、 しかも これらの局所処理は二次元格子状に配列された複数の配列演算ュニットによって並列に実 行される。 この視覚装置がイメージセンサに組み込まれた場合、 これらの配列演算ュニッ トの各々は、複数の受光素子から生成される複数の画素データを用いて複数の局所処理を 実行する。 したがって、 イメージセンサの用途によっては、 イメージセンサは画素並列型 であるよりも、 むしろ隣接する複数の画素データが 1個のデジタル回路に入力する形式の 方が好ましい。 しかもこの形式の場合、 複数の受光素子に対して 1個の AZD変換回路し か必要でないので、 イメージセンサの画素数が増えたとしても、 イメージセンサの設計者 は必ずしも AZD変換回路及びデジタル回路の数を増やす必要はない。 勿論全ての AZD 変換回路及び全てのデジタル回路は並列に動作することができるので、 ィメージセンサの 性能は殆んど低下しない。
これらのことを考慮すると、 ィメージセンサにおいて複数のセンサモジュールが二次元 格子状に配列され、 これらのセンサモジュールの各々において、 複数の受光素子が二次元 格子状に配列され、 しかもこれらのセンサモジュールの各々が複数の受光素子から順次画 素信号を生成することにより、 高精細で高性能なイメージセンサを製造することができる と期待される。
さて、 従来のイメージセンサでは、 その仕様が設計時に決定されなければならなかつ た。 勿論 F P GA ( F i e 1 d P r o g r am a b l e G a t e A r r a y )及び C P L D ( C om p 1 e x P r o g r am a b 1 e L o g i c D e v i c e ) を用 いることにより、 イメージセンサの製造後に電子回路を変更することもできるが、 それで もイメージセンサには F P G A及び C P L D用の電子回路、 1組の大容量のメモリ及び 外部からの多数の信号線が必要になる。 一方で、 上述のイメージセンサにおいて、 複数の センサモジュールの各々が多数の受光素子を備えた場合、複数のデジタル回路の各々の実 装面積も受光素子の数に比例して大きくなるので、 これらのデジタル回路の各々は、プロ セッサ及び 1組の大容量のメモリを備えることができる。 このメモリは、 センサモジユー ルが生成する全ての画素信号を記憶することができるので、 このプロセッサは、 全ての画 素信号から構成される膨大な数の画素パターンを参照することができる。 そこで、 これら のパターンに、 記憶データ、 メモリアドレス及び書き込みクロック信号の組み合せが割り 当てられることにより、 プロセッサは、 書き込みクロック信号に応じて、 任意のメモリア ドレスに適当な記憶データを書き込むことができる。 しかも、 もし 1組のメモリの少なく とも 1部分が不揮発性であれば、 この部分のメモリはこの記憶デ一夕を記憶し続けること ができるので、 プロセッサはこの部分のメモリに記憶されたプログラムさえも変更するこ とができる。 したがって、 イメージセンサの製造者は、 一旦イメージセンサを製造した後 に、 必要に応じてプログラムを変更することができ、 しかも全ての組のメモリにプロダラ ムを供給するための信号線を省略することができる。
これらのことを考慮すると、 ィメージセンサの全ての受光素子に一定のパターンの光が 照射されることにより、 イメージセンサは、 全ての組のメモリ中のプログラムを一斉に変 更することができると期待される。
そこで、 請求項記載の本発明は、デジタル画像の各画素に対して局所処理を繰り返すこ とにより、 視覚装置がこのデジタル画像中の物体の幾何を解析すると共に、 形成エッジ情 報画像を用いて、 高速に物体領域及び背景領域を分離することを目的とする。 また、請求 項記載の本発明は、 送達を受信したら直ちに受領を返信できるコントローラを設計し、 反 時計回り及び時計回りに計算データを転送することにより、 配列演算ュニット及び仮想配 列演算ユニットが計算データを効率よく転送することを目的とする。 また、 請求項記載の 本発明は、 連動信号を相互に通信していない連動式カウンタが含まれていても、 他の連動 式カウンタが出力した連動信号に合わせて常時カウント数を調節することができる連動 式カウンタを実現することを目的とする。最後に、 請求項記載の本発明は、二次元格子状 に配列された複数の受光素子を備えた複数のセンサモジュールの各々から複数の画素信号 を出力することにより、 高精細で高速なィメ一ジセンサを製造することを目的とする。
発明の開示
請求項 1の発明は、 複数のデジタル画像からなる動画像中の少なくとも 1個の物体に対 して、複数の前記デジタル画像を順次記憶する第一の画像記憶手段と、複数の前記デジ夕 ル画像から粗ェッジ情報画像を生成するェッジ情報生成手段と、 前記デジタル画像を用い て前記粗ェッジ情報画像を形成ェッジ情報画像に形成するェッジ情報形成手段と、 前記形 成エッジ情報画像から前記デジタル画像における少なくとも 1個の前記物体の位置、 大き さ及び形を検出することにより、 形大きさ情報画像を生成する幾何解析手段と、 を有し、 前記幾何解析手段が、 前記形成エッジ情報画像から傾き大きさ情報画像を生成する位置 Z 大きさ Z傾き検出手段と、 前記形成ェッジ情報画像及び前記傾き大きさ情報画像から前記 形大きさ情報画像を生成する位置/大きさ/形検出手段と、 を有することを特徴とする視 覚装置である。 本発明において、 二次元格子状に配列された複数の配列演算ユニットから 構成される 1個のデ一タ処理装置が、 全ての手段のうち相異なる 1つ以上の手段を実現し ても良いし、 全ての前記手段を実現しても良い。 前記位置/大きさ 傾き検出手段は、 前 記形成ェッジ情報画像に対して 8近傍処理を実行することにより、 前記形成ェッジ情報画 像の各画素を構成する形成エッジ情報が表す前記物体の輪郭を適当に分割し、 さらに分割 された前記輪郭の各々に対して傾きを計算することにより、 前記傾き大きさ情報画像の各 画素を構成する傾き大きさ情報を生成する。 位置/大きさ/形検出手段は、 前記形成エツ ジ情報を前記物体毎に 1画素に集めるのに合わせて、 前記傾き大きさ情報も前記物体毎に 前記 1画素に集め、 前記 1画素に集まった前記傾き大きさ情報から、 前記物体の形を表す 形大きさ情報を生成する。 これにより、 前記幾何解析手段は、 前記デジタル画像中の少な くとも 1個の前記物体の位置、 大きさ及び前記形を表す前記形大きさ情報画像を生成する ことができる。 したがって本発明では、複数の前記配列演算ユニットが局所処理を繰り返 し実行するだけで、 前記動画像から少なくとも前記物体の前記位置、 前記大きさ及び前記 形を検出することができるので、 前記物体の認識に関する諸問題が好適に解決される。 請求項 2の発明は、 複数のデジタル画像からなる動画像中の少なくとも 1個の物体に対 して、複数の前記デジタル画像を順次記憶する第一の画像記憶丰段と、複数の前記デジ夕 ル画像から粗エッジ情報画像を生成するエッジ情報生成手段と、 前記デジタル画像を用い て前記粗ェッジ情報画像を第一の形成ェッジ情報画像に形成する第一のエツジ情報形成手 段と、 第一の前記形成エッジ情報画像を構成する第一の形成エッジ情報によって区分され る少なくとも 1個の前記物体の位置及び大きさを検出することにより、 第一の重複情報画 像を生成する位置/大きさ検出手段と、 複数の非線形振動子を用いることにより、 第一 の前記形成エッジ情報によって区分される少なくとも 1個の前記物体の少なくとも 1つの 物体領域を表す物体領域画像を生成する物体/背景分離手段と、 前記物体領域画像を所定 期間記憶する第二の画像記憶手段と、 を有し、第一の前記重複情報画像を構成する全ての 第一の重複情報が、 それぞれ対応する前記非線形振動子に外乱として入力されることに より、 前記物体 Z背景分離手段が前記デジタル画像の背景領域から少なくとも 1つの前記 物体領域を分離することを特徴とする視覚装置である。本発明において、二次元格子状に 配列された複数の配列演算ュニットから構成される 1個のデータ処理装置が、全ての手段 のうち相異なる 1つ以上の手段を実現しても良いし、 全ての前記手段を実現しても良い。 第一の前記重複情報画像の各画素を構成する第一の前記重複情報は、 1画素に集まった第 一の前記形成エッジ情報の数を表し、 しかもこの画素が、 対応する前記物体のおおよその 重心位置を表す。 一方で、 前記物体/背景分離手段では、 二次元格子状に配列された複数 の前記配列演算ュニットの各々に前記非線形振動子が実装され、 さらに前記非線形振動子 の各々が、 近傍にある複数の非線形振動子と正の結合値で結合され、 前記近傍の周辺にあ る複数の非線形振動子と負の結合値で結合される。 これにより、 第一の前記形成エッジ情 報画像を構成する第一の前記形成エッジ情報を挟む 1組の前記非線形振動子の位相差は大 きくなり、それ以外の前記非線形振動子の組の前記位相差は小さくなるので、前記物体/ 背景分離手段は、第一の前記形成エッジ情報によって区分される少なくとも 1つの前記物 体の前記物体領域を前記背景領域から分離することができる。 ここで、 各々の第一の前記 重複情報が、対応する前記非線形振動子に前記外乱として入力されることにより、 0でな い第一の前記重複情報を入力した前記非線形振動子の位相は、 それ以外の前記非線形振 動子の位相からずれていく。 このとき 0でない第一の前記重複情報を入力した前記非線形 振動子の近傍にある前記非線形振動子も、 その近傍の前記非線形振動子を引き込むので、 結果として、第一の前記形成エッジ情報によって区分される少なくとも 1つの前記物体領 域に含まれる複数の前記非線形振動子の位相は、それ以外の前記非線形振動子の位相から 速やかにずれる。 したがって本発明では、前記物体 Z背景分離手段が、 前記非線形振動子 の状態に関係なく、少なくとも 1つの前記物体領域を前記背景領域から高速に分離するこ とができるので、 前記物体と前記背景の分離に関する諸問題が好適に解決される。
請求項 3の発明は、二次元格子状に配列された複数の配列演算ュニットから構成される 少なくとも 1個のデータ処理装置を含む視覚装置であって、二値画像から傾き大きさ情報 画像を生成する位置/大きさ 傾き検出手段と、前記二値画像及び前記傾き大きさ情報画 像から形大きさ情報画像を生成する位置 Z大きさ 形検出手段と、 を有し、前記形大きさ 情報画像の各画素を構成する形大きさ情報が、 前記二値画像における少なくとも 1個の 物体の形及び大きさを表すことにより、 前記形大きさ情報画像が前記物体の位置、 前記大 きさ及び前記形を表すことを特徴とする視覚装置である。本発明では、 前記二値画像とし て、 主に線幅が 2又は 3画素となるように形成されたエッジ情報画像及び色情報画像など が用いられる。 また本発明において、 前記位置 Z大きさ Z傾き検出手段及び前記位置/大 きさ Z形検出手段は、 それぞれ 2個の前記データ処理装置によつて実現されても良いし、 1個の前記データ処理装置に実現されても良い。 前記二値画像が前記物体の輪郭を表す場 合、 前記位置 Z大きさ 傾き検出手段は、複数の前記配列演算ユニットの各々において実 行される局所処理の近傍サイズを小さくする。特に 8近傍にすることにより、前記輪郭を 細切れに分割し、 さらに分割された前記輪郭から、 前記傾き大きさ情報画像の各画素を構 成する傾き大きさ情報を生成することができる。 このとき傾き大きさ情報は、前記輪郭に 対する重複情報及び傾き角度から構成され、前記傾き角度は水平に対して 0度以上 1 8 0 度未満の範囲で表される。 前記位置/大きさ 形検出手段は、大きな近傍サイズを用いて 前記二値画像の各画素の情報を 1画素に集めるのに合わせて、前記傾き大きさ情報をそれ ぞれ前記画素に集めることにより、前記物体毎に前記位置、 前記大きさ及び前記形を検出 することができる。 したがって本発明では、 前記二値画像中の前記物体の数に関係なく、 複数の前記物体の前記位置、 前記大きさ及び前記形を検出することができるので、前記物 体の認識に関する諸問題が好適に解決される。
請求項 4の発明は、二次元格子状に配列された複数の配列演算ュニットから構成される 少なくとも 1個のデータ処理装置を含む視覚装置であって、二値画像から傾き大きさ情報 画像を生成する位置 Z大きさ 傾き検出手段と、前記二値画像及び前記傾き大きさ情報画 像から形大きさ情報画像を生成する位置/ "大きさ/形検出手段と、 を有し、前記形大きさ 情報画像の各画素を構成する形大きさ情報が、 前記二値画像における少なくとも 1個の 物体のテクスチャに対する形及び大きさを表すことにより、 前記形大きさ情報画像が前記 物体の前記テクスチャを表すことを特徴とする視覚装置である。本発明では、 前記二値画 像として、主に線幅が 2又は 3画素となるように形成されたエツジ情報画像及び色情報画 像などが用いられる。 また本発明において、 前記位置/大きさ 傾き検出手段及び前記位 置/大きさ /形検出手段は、それぞれ 2個の前記データ処理装置によって実現されても良 いし、 1個の前記データ処理装置に実現されても良い。前記二値画像が前記物体の前記テ クスチヤを表す場合、 前記位置 Z大きさ 傾き検出手段は、複数の前記配列演算ユニット の各々において実行される局所処理の近傍サイズを小さくする、特に 8近傍にすることに より、 前記テクスチャを線分に分割し、 さらに前記線分から、 前記傾き大きさ情報画像の 各画素を構成する傾き大きさ情報を生成することができる。 このとき傾き大きさ情報は、 前記テクスチャに対する重複情報及び傾き角度から構成され、前記傾き角度は水平に対し て 0度以上 1 8 0度未満の範囲で表される。 前記位置 Z大きさ Z形検出手段は、 小さな近 傍サイズを用いて前記二値画像の各画素の情報を 1画素に集めるのに合わせて、 前記傾き 大きさ情報をそれぞれ前記画素に集めることにより、 前記物体を覆う前記線分毎に前記テ クスチヤを検出することができる。 したがって本発明では、 前記二値画像中の前記物体の 数に関係なく、 複数の前記物体の前記テクスチャを検出することができるので、 前記物体 の認識に関する諸問題が好適に解決される。
請求項 5の発明は、 二次元格子状に配列された複数の配列演算ュニヅトから構成される 1個のデータ処理装置を含む視覚装置であって、複数の前記配列演算ュニットの各々にお いて、 前記配列演算ユニットを初期化する手段と、 入力すべき二値情報又は傾き大きさ情 報がなければ処理を終了する手段と、 前記二値情報及び前記傾き大きさ情報を入力する手 段と、 前記二値情報及び前記傾き大きさ情報を分離する手段と、 前記二値情報を重複情報 に変換する手段と、 前記傾き大きさ情報を移動元傾き重複情報に変換する手段と、 前記重 複情報を表す重複情報画像の帯域画素値の近傍から重心を計算し、 前記重心から計算した 移動量を移動量画像の帯域画素値に画像化する手段と、 傾き及び移動元毎に、移動元傾き 重複情報を表す移動元傾き重複情報画像の帯域画素値の各々を前記移動量に従い移動位置 に移動する手段と、 前記重複情報画像の前記帯域画素値を前記移動量に従い前記移動位 置に移動する手段と、 前記傾き及び前記移動元毎に、 前記移動元傾き重複情報画像の前記 帯域画素値の各々を、 移動してきた前記移動元傾き重複情報画像の前記帯域画素値の全て の合計と、移動してきた前記移動元傾き重複情報画像の前記帯域画素値のうち、 前記傾き 大きさ情報に対応する値と、 の合計に更新する手段と、 前記重複情報画像の前記帯域画素 値を、 移動してきた前記重複情報画像の前記帯域画素値の全ての合計に更新する手段と、 前記移動元傾き重複情報画像の前記帯域画素値の各々を出力する手段と、 を備えたことを 特徴とする視覚装置である。 つまり、 これは前記配列演算ユニットが提供する機能をデジ タル技術で実現するためのアルゴリズムの実装形態である。 前記配列演算ュニットを前記 二次元格子状に配列し、 前記配列演算ユニットを近傍同士相互〖こ結合し、 前記配列演算ュ ニットの各パラメータの初期値を設定した後に、 前記二値情報によって構成される二値画 像及び前記傾き大きさ情報によって構成される傾き重複情報画像を画素単位で適宜入力 し、 重心計算から前記重複情報画像及び前記移動元傾き重複情報画像の各帯域画素値の出 力までを順次行い、 前記二値画像又は前記傾き大きさ情報画像が入力されなくなるまで繰 り返す。 本発明は前記配列演算ユニットを並列に動作させることができるので、 複数の物 体の位置及び形の検出に関する諸問題が好適に解決される。
請求項 6の発明は、二次元格子状に配列された複数の配列演算ュニットから構成される 1個のデータ処理装置を含む視覚装置であって、 複数の前記配列演算ュニットの各々にお いて、 前記配列演算ユニットを初期化する手段と、入力すべき二値情報又は傾き大きさ情 報がなければ処理を終了する手段と、 前記二値情報及び前記傾き大きさ情報を入力する手 段と、 前記二値情報及び前記傾き大きさ情報を分離する手段と、 前記二値情報を重複情報 に変換する手段と、 前記傾き大きさ情報を移動元傾き重複情報に変換する手段と、 前記重 複情報を表す重複情報画像の帯域画素値の近傍から重心を計算し、 前記重心から計算した 移動量を移動量画像の帯域画素値に画像化する手段と、 傾き及び移動元毎に、 移動元傾き 重複情報を表す移動元傾き重複情報画像の帯域画素値の各々を前記移動量に従い移動位置 に移動する手段と、 前記重複情報画像の前記帯域画素値を前記移動量に従い前記移動位置 に移動する手段と、 前記傾き及び前記移動元毎に、 前記移動元傾き重複情報画像の前記帯 域画素値の各々を、 移動してきた前記移動元傾き重複情報画像の前記帯域画素値の全ての 合計と、 移動してきた前記移動元傾き重複情報画像の前記帯域画素値のうち、 前記傾き大 きさ情報に対応する値と、 の合計に更新する手段と、 前記重複情報画像の前記帯域画素値 を、 移動してきた前記重複情報画像の前記帯域画素値の全ての合計に更新する手段と、 前 記移動元傾き重複情報画像の前記帯域画素値の全てから形を識別する手段と、 前記重複情 報画像の前記帯域画素値及び前記形の識別結果から形大きさ情報を表す形大きさ情報画像 の帯域画素値の各々を生成する手段と、 前記形大きさ情報画像の帯域画素値の各々を出力 する手段と、 を備えたことを特徴とする視覚装置である。 つまり、 これは前記配列演算ュ ニットが提供する機能をデジタル技術で実現するためのアルゴリズムの実装形態である。 前記配列演算ュニットを前記二次元格子状に配列し、 前記配列演算ュニットを近傍同士相 互に結合し、 前記配列演算ユニットの各パラメータの初期値を設定した後に、 前記二値情 報によって構成される二値画像及び前記傾き大きさ情報によって構成される傾き大きさ情 報画像を画素単位で適宜入力し、 重心計算から前記形大きさ情報画像の各帯域画素値の出 力までを順次行い、 前記二値画像又は前記傾き大きさ情報画像が入力されなくなるまで繰 り返す。 本発明は前記配列演算ユニットを並列に動作させることができるので、 複数の物 体の位置、 大きさ及び前記形の検出に関する諸問題が好適に解決される。
請求項 7の発明は、 二次元格子状に配列された複数の配列演算ュニットから構成される 1個のデータ処理装置を含む視覚装置であって、 複数の前記配列演算ユニットの各々が、 二値画像のうち対応する画素を入力する手段と、 濃淡画像のうち対応する画素を入力する 手段と、 非線形振動子における複数のパラメータを計算する手段と、 前記非線形振動子の 計算結果を出力する手段と、 を備え、 前記非線形振動子が、 前記濃淡画像の対応する前記 画素を外乱として扱うことにより、 前記二値画像が区分する少なくとも 1つの物体領域を 背景領域から分離することを特徵とする視覚装置である。 本発明では、 前記二値画像には 主に形成エッジ情報画像が用いられ、 さらに前記濃淡画像には、 前記二値画像に対する重 複情報画像が用いられる。 したがって、 前記二値画像によって区分される少なくとも 1つ の前記物体領域のおおよその重心位置に対応する重複情報が正の整数となり、それ以外の 前記重複情報が 0となる。 しかも、 前記物体が大きくなればなるほど、 前記重複情報も大 きくなる。 そこで全ての前記非線形振動子が、それぞれ対応する前記重複情報を前記外乱 として入力することにより、 0でない前記重複情報を入力する少なくとも 1つの前記非線 形振動子の位相が、 残りの前記非線形振動子の位相より進むか又は遅れる。 さらに 0でな い前記重複情報を入力するこの前記非線形振動子が、 近傍にある複数の前記非線形振動子 の位相を自らの前記位相に引き込むので、 結果として、 前記二値画像によって区分される 少なくとも 1つの前記物体領域に含まれる複数の前記非線形振動子の位相と、 背景領域に 含まれる複数の前記非線形振動子の位相と、 は速やかにずれる。 したがって本発明では、 少なくとも 1つの前記物体領域及び前記背景領域が高速に分離されるので、物体と背景の 分離に関する諸問題が好適に解決される。 請求項 8の発明は、二次元格子状に配列された複数の配列演算ユニットを含む視覚装置 において、複数の前記配列演算ユニットの各々が、前記配列演算ユニットにおいて計算さ れた前記計算データを前記 4近傍の前記配列演算ュニットに送信する手段と、 前記 4近傍 のうち左側の前記配列演算ュニットから受信した前記計算データを右側及び上側のうち少 なくとも 1個の前記配列演算ユニットに転送する手段と、 前記 4近傍のうち下側の前記配 列演算ュニットカゝら受信した前記計算データを上側及び左側のうち少なくとも 1個の前記 配列演算ユニットに転送する手段と、前記 4近傍のうち右側の前記配列演算ュニッ卜から 受信した前記計算データを左側及び下側のうち少なくとも 1個の前記配列演算ュニット に転送する手段と、前記 4近傍のうち上側の前記配列演算ュニットから受信した前記計算 データを下側及び右側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、 を備えることにより、 前記配列演算ュニットの前記計算データの各々が二次元格子状に配 列された複数の前記配列演算ュニット間を反時計回りに転送されることを特徴とする配 列演算ユニットである。 本発明では、二次元格子状に配列された前記配列演算ユニットの うち、最大転送回数で決定される正方領域内の含まれる任意の前記配列演算ユニットに前 記計算データを転送することができる。 勿論水平方向の転送回数と垂直方向の転送回数 を調整することにより、本発明は前記計算デ一夕を任意の矩形領域及び円形領域内に限定 して転送することもできる。 前記配列演算ュニットが左側の前記配列演算ュニットから前 記計算デ一夕を受信した場合、前記水平方向の転送回数が最大転送回数未満であれば、前 記配列演算ユニットは右側の前記配列演算ユニットに前記計算データを転送することがで きる。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満であれば、 前記配列演算ユニットは上側の前記配列演算ユニットに前記計算データを転送することが できる。 前記配列演算ュニットが下側の前記配列演算ユニットから前記計算データを受信 した場合、前記垂直方向の転送回数が最大転送回数未満であれば、 前記配列演算ユニット は上側の前記配列演算ュニットに前記計算データを転送することができる。 このとき前記 水平方向の転送回数が 0であり、 しかも最大転送回数未満であれば、 前記配列演算ュニッ トは左側の前記配列演算ユニットに前記計算データを転送することができる。前記配列演 算ュニットが右側の前記配列演算ユニットから前記計算データを受信した場合、 前記水平 方向の転送回数が最大転送回数未満であれば、 前記配列演算ュニットは左側の前記 列演 算ュニットに前記計算データを転送することができる。 このとき前記垂直方向の転送回数 が 0であり、 しかも最大転送回数未満であれば、 前記配列演算ユニットは下側の前記配列 演算ュニットに前記計算データを転送することができる。 前記配列演算ュニットが上側の 前記配列演算ユニットから前記計算デ一夕を受信した場合、 前記垂直方向の転送回数が最 大転送回数未満であれば、 前記配列演算ュニットは下側の前記配列演算ュニットに前記計 算データを転送することができる。 このとき前記水平方向の転送回数が 0であり、 しかも 最大転送回数未満であれば、 前記配列演算ユニットは右側の前記配列演算ユニットに前記 計算データを転送することができる。 本発明は反時計回りの渦巻き状に前記計算データを 転送するので、 前記配列演算ユニットの通信負荷を分散させることができる。 したがって 前記配列演算ュニット間における前記計算データの共有に関する諸問題が好適に解決され る。
請求項 9の発明は、 二次元格子状に配列された複数の配列演算ュニットを含む視覚装置 において、 複数の前記配列演算ユニットの各々が、 前記配列演算ユニットにおいて計算さ れた前記計算デ一夕を前記 4近傍の前記配列演算ユニットに送信する手段と、 前記 4近傍 のうち左側の前記配列演算ュニットから受信した前記計算デ一夕を右側及び下側のうち少 なくとも 1個の前記配列演算ュニットに転送する手段と、 前記 4近傍のうち下彻 Jの前記配 列演算ュニットから受信した前記計算デ一夕を上側及び右側のうち少なくとも 1個の前記 配列演算ユニットに転送する手段と、 前記 4近傍のうち右側の前記配列演算ュニットから 受信した前記計算データを左側及び上側のうち少なくとも 1個の前記配列演算ュニット に転送する手段と、 前記 4近傍のうち上側の前記配列演算ュニットから受信した前記計算 データを下側及び左側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、 を備えることにより、 前記配列演算ュニットの前記計算データの各々が二次元格子状に配 列された複数の前記配列演算ュニット間を時計回りに転送されることを特徴とする配列 ' 演算ユニットである。 本発明では、 二次元格子状に配列された前記配列演算ユニットのう ち、最大転送回数で決定される正方領域内の含まれる任意の前記配列演算ユニットに前記 計算デ一夕を転送することができる。 勿論水平方向の転送回数と垂直方向の転送回数を 調整することにより、本発明は前記計算データを任意の矩形領域及び円形領域内に限定し て転送することもできる。 前記配列演算ュニットが左側の前記配列演算ユニットから前記 計算データを受信した場合、前記水平方向の転送回数が最大転送回数未満であれば、 前記 配列演算ュニットは右側の前記配列演算ュニットに前記計算データを転送することができ る。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満であれば、前 記配列演算ュニットは下側の前記配列演算ュニットに前記計算データを転送することがで きる。 前記配列演算ュニッ卜が下側の前記配列演算ュニッ卜から前記計算データを受信し た場合、 前記垂直方向の転送回数が最大転送回数未満であれば、前記配列演算ユニットは 上側の前記配列演算ユニットに前記計算データを転送することができる。 このとき前記水 平方向の転送回数が 0であり、 しかも最大転送回数未満であれば、 前記配列演算ユニット は右側の前記配列演算ュニットに前記計算デ一タを転送することができる。前記配列演算 ュニットが右側の前記配列演算ユニットから前記計算データを受信した場合、 前記水平方 向の転送回数が最大転送回数未満であれば、前記配列演算ユニットは左側の前記配列演算 ユニットに前記計算データを転送することができる。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満であれば、 前記配列演算ユニットは上側の前記配列演 算ュニットに前記計算データを転送することができる。前記配列演算ュニットが上側の前 記配列演算ユニットから前記計算データを受信した場合、前記垂直方向の転送回数が最大 転送回数未満であれば、 前記配列演算ュニッ卜は下側の前記配列演算ュニットに前記計算 データを転送することができる。 このとき前記水平方向の転送回数が 0であり、 しかも最 大転送回数未満であれば、 前記配列演算ュニッ卜は左側の前記配列演算ュニットに前記計 算データを転送することができる。本発明は時計回りの渦巻き状に前記計算データを転送 するので、 前記配列演算ユニットの通信負荷を分散させることができる。 したがって前記 配列演算ュニット間における前記計算データの共有に関する諸問題が好適に解決される。 請求項 1 0の発明は、二次元格子状に配列された複数の仮想配列演算ュニットを含む視 覚装置において、 複数の前記仮想配列演算ユニットの各々が、 前記仮想配列演算ユニット において計算された前記計算データを前記 4近傍の前記仮想配列演算ュニットに送信す る手段と、 前記 4近傍のうち左側の前記仮想配列演算ュニッ卜から受信した前記計算デー 夕を右側及び上側のうち少なくとも 1個の前記仮想配列演算ュニットに転送する手段と、 前記 4近傍のうち下側の前記仮想配列演算ュニットから受信した前記計算デ一夕を上側及 び左側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、 前記 4近傍 のうち右側の前記仮想配列演算ュニットから受信した前記計算データを左側及び下側の うち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、 前記 4近傍のうち上 側の前記仮想配列演算ュニットから受信した前記計算データを下側及び右側のうち少な くとも 1個の前記仮想配列演算ユニットに転送する手段と、 を備えることにより、 前記仮 想配列演算ュニットの前記計算データの各々が二次元格子状に配列された複数の前記仮想 配列演算ュニット間を反時計回りに転送されることを特徴とする仮想配列演算ュニットで ある。 本発明では、 二次元格子状に配列された前記仮想配列演算ユニットのうち、 最大転 送回数で決定される正方領域内の含まれる任意の前記仮想配列演算ュニットに前記計算 データを転送することができる。 勿論水平方向の転送回数と垂直方向の転送回数を調整 することにより、 本発明は前記計算データを任意の矩形領域及び円形領域内に限定して転 送することもできる。 前記仮想配列演算ュニットが左側の前記仮想配列演算ュニットから 前記計算デー夕を受信した場合、 前記水平方向の転送回数が最大転送回数未満であれば、 前記仮想配列演算ュニットは右側の前記仮想配列演算ュニットに前記計算データを転送す ることができる。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満 であれば、前記仮想配列演算ユニットは上側の前記仮想配列演算ユニットに前記計算デー 夕を転送することができる。 前記仮想配列演算ュニッ卜が下側の前記仮想配列演算ュニッ トから前記計算データを受信した場合、 前記垂直方向の転送回数が最大転送回数未満で あれば、 前記仮想配列演算ュニットは上側の前記仮想配列演算ュニットに前記計算データ を転送することができる。 このとき前記水平方向の転送回数が 0であり、 しかも最大転送 回数未満であれば、 前記仮想配列演算ュニットは左側の前記仮想配列演算ュニットに前記 計算データを転送することができる。 前記仮想配列演算ュニットがお側の前記仮想配列演 算ュニットから前記計算データを受信した場合、 前記水平方向の転送回数が最大転送回 数未満であれば、 前記仮想配列演算ュニットは左側の前記仮想配列演算ュニットに前記計 算データを転送することができる。 このとき前記垂直方向の転送回数が 0であり、 しかも 最大転送回数未満であれば、 前記仮想配列演算ユニットは下側の前記仮想配列演算ュニッ トに前記計算データを転送することができる。前記仮想配列演算ュニットが上側の前記仮 想配列演算ュニットから前記計算データを受信した場合、前記垂直方向の転送回数が最大 転送回数未満であれば、前記仮想配列演算ユニットは下側の前記仮想配列演算ユニットに 前記計算データを転送することができる。 このとき前記水平方向の転送回数が 0であり、 しかも最大転送回数未満であれば、前記仮想配列演算ユニットは右側の前記仮想配列演算 ュニットに前記計算データを転送することができる。本発明は反時計回りの渦巻き状に前 記計算データを転送するので、 前記仮想配列演算ユニットの通信負荷を分散させることが できる。 したがって前記仮想配列演算ユニット間における前記計算データの共有に関する 諸問題が好適に解決される。
請求項 1 1の発明は、二次元格子状に配列された複数の仮想配列演算ユニットを含む視 覚装置において、複数の前記仮想配列演算ユニットの各々が、 前記仮想配列演算ユニット において計算された前記計算データを前記 4近傍の前記仮想配列演算ュニットに送信する 手段と、前記 4近傍のうち左側の前記仮想配列演算ュニットから受信した前記計算データ を右側及び下側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、前 記 4近傍のうち下側の前記仮想配列演算ュニット力ら受信した前記計算データを上側及び 右側のうち少なくとも 1個の前記仮想配列演算ュニットに転送する手段と、前記 4近傍の うち右側の前記仮想配列演算ュニッ卜から受信した前記計算データを左側及び上側のうち 少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、 前記 4近傍のうち上側の 前記仮想配列演算ュニットから受信した前記計算デ一タを下側及び左側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、 を備えることにより、 前記仮想配列 演算ュニットの前記計算データの各々が二次元格子状に配列された複数の前記仮想配列演 算ユニット間を時計回りに転送されることを特徴とする仮想配列演算ユニットである。本 発明では、二次元格子状に配列された前記仮想配列演算ユニットのうち、最大転送回数で 決定される正方領域内の含まれる任意の前記仮想配列演算ュニットに前記計算データを転 送することができる。勿論水平方向の転送回数と垂直方向の転送回数を調整することによ り、本発明は前記計算データを任意の矩形領域及び円形領域内に限定して転送することも できる。 前記仮想配列演算ュニットが左側の前記仮想配列演算ュニットから前記計算デー 夕を受信した場合、 前記水平方向の転送回数が最大転送回数未満であれば、 前記仮想配列 演算ュニットは右側の前記仮想配列演算ュニットに前記計算データを転送することができ る。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満であれば、前 記仮想配列演算ュニットは下側の前記仮想配列演算ュニットに前記計算データを転送する ことができる。 前記仮想配列演算ュニットが下側の前記仮想配列演算ュニッ卜から前記計 算データを受信した場合、 前記垂直方向の転送回数が最大転送回数未満であれば、前記仮 想配列演算ュニットは上側の前記仮想配列演算ュニットに前記計算デ一夕を転送すること ができる。 このとき前記水平方向の転送回数が 0であり、 しかも最大転送回数未満であれ ば、前記仮想配列演算ユニットは右側の前記仮想配列演算ユニットに前記計算データを転 送することができる。前記仮想配列演算ュニットが右側の前記仮想配列演算ュニヅトから 前記計算データを受信した場合、 前記水平方向の転送回数が最大転送回数未満であれば、 前記仮想配列演算ュニットは左側の前記仮想配列演算ュニットに前記計算データを転送す ることができる。 このとき前記垂直方向の転送回数が 0であり、 しかも最大転送回数未満 であれば、 前記仮想配列演算ュニットは上側の前記仮想配列演算ュニットに前記計算デー 夕を転送することができる。 前記仮想配列演算ュニットが上側の前記仮想配列演算ュニッ トから前記計算データを受信した場合、前記垂直方向の転送回数が最大転送回数未満であ れば、 前記仮想配列演算ュニットは下側の前記仮想配列演算ュニットに前記計算データを 転送することができる。 このとき前記水平方向の転送回 m^ oであり、 しかも最大転送回 数未満であれば、前記仮想配列演算ュニットは左側の前記仮想配列演算ュニットに前記計 算データを転送することができる。本発明は時計回りの渦巻き状に前記計算データを転送 するので、 前記仮想配列演算ユニットの通信負荷を分散させることができる。 したがって 前記仮想配列演算ュニット間における前記計算データの共有に関する諸問題が好適に解決 される。
請求項 1 2の発明は、二次元格子状に配列された複数の配列演算ユニット又は複数の仮 想配列演算ユニットを含む視覚装置であって、全ての前記配列演算ユニット及び全ての前 記仮想配列演算ュニットの各々がプロセッサ、 1組のメモリ及び複数のコントローラを備 え、 全ての前記配列演算ュニット及び全ての前記仮想配列演算ュニットの各々に対して、 少なくとも 2個の前記コントローラに、所定数間隔の番号が割り振られることと、 前記番 号が割り振られた全ての前記コントローラの各々が、 隣接する複数の前記配列演算ュニッ ト及び前記仮想配列演算ュニットの各々に対して、複数の前記コントローラのうち、前記 番号が前記所定数だけずれている少なくとも 1個の前記コントローラと通信することと、 により、 多くとも、 前記プロセッサが計算データを書き込んだ前記コントローラの前記番 号に関連した回数だけ、少なくとも 1個の前記コントローラは前記計算データを転送する ことを特徴とする視覚装置である。本発明では、前記計算データは、 前記コントローラに よって転送される度に、前記コントローラの前記番号が大きくなるか又は小さくなる。 さ らに前記計算データが、 前記番号が最大か又は最小の前記コントローラに転送されたら、 前記計算データは破棄される。 これにより、 前記プロセッサが特定の前記コントローラに 前記計算データを書き込むだけで、前記計算データは特定の方向に対して必要な回数だけ 転送されると共に、 前記プロセッサが前記計算データの転送終了を判定する必要はない。 また前記プロセッサは、特定の前記コントローラから前記計算データを読み出すことによ り、 前記計算データの転送回数を計算することもできる。 したがって前記計算データの転 送に関する諸問題が好適に解決される。
請求項 1 3の発明は、 同期式カウンタ、終り値判定用論理ゲート、 連動信号増幅用論理 ゲート、 少なくとも 1個の連動信号用ラッチ回路、連動信号用論理ゲート及ぴィネーブル 信号用論理ゲートを含む連動式カウンタであって、前記同期式カウンタがィネーブル信号 を入力したときに、 前記同期式カウンタがクロック信号のパルスを数えることと、 前記同 期式カウンタが出力するカウント数と終り値が一致したときに、 前記終り値判定用論理 ゲートが連動信号を生成することと、 前記連動信号増幅用論理ゲートが、外部に出力する ために前記連動信号を増幅することと、 前記連動信号が生成されないときに、 前記イネ一 ブル信号用ゲートが前記イネ一ブル信号を生成することと、 により、 前記カウント数が前 記終り値に到達したときに、 前記同期式カウン夕の動作が停止することと、 前記終り値 判定用論理ゲートが出力する前記連動信号が生成されていないときに、 各々の前記連動 用ラッチ回路が、 外部から入力した前記連動信号のうちの 1つを記憶することと、 前記連 動信号用論理ゲートが、 全ての前記連動信号用ラッチ回路が前記連動信号を記憶してい るか判定することと、 全ての前記連動信号用ラッチ回路が前記連動信号を記憶している ときに、 前記イネ一ブル信号用ゲートが前記イネ一ブル信号を生成することと、 により、 前記同期式カウンタの前記動作が再開することと、 を特徴とする連動式カウンタである。 前記同期式力ゥンタは 1ビット以上のアップカウンタ又はダゥンカウンタであり、 前記ィ ネーブル信号がアクティブであるときだけ、 前記同期式カウンタは前記クロック信号の前 記パルスを数えることができる。 また前記同期式カウンタのクロック端子は立ち上がり エッジでも立ち下がりエッジでも良い。 もし前記カウント数が最大値又は最小値ならば、 前記終り値判定用論理ゲートは前記連動信号をアクティブにする。 さもなくば前記連動信 号はインアクティブである。 前記連動信号は前記外部に送信されるので、 前記連動信号増 幅用論理ゲートには、 駆動能力が高い論理ゲートが用いられる。 前記連動信号がインァク ティブであるとき、 前記イネ一ブル信号用論理ゲートは前記イネ一ブル信号をアクティブ にする。 したがって、 前記カウント数が前記最大値又は前記最小値に到達するまで、 前記 同期式カウンタは前記クロック信号の前記パルスを数えた後、 前記連動信号がアクティブ になり、 さらに前記同期式カウンタは停止する。 前記連動信号がアクティブであるとき、 各々の前記連動信号用ラッチ回路は、 前記外部から入力される 1つ以上の前記連動信号の うちの 1つがアクティブであることを記憶できるようになる。 さもなくば各々の前記連動 信号用ラッチ回路はリセットされる。 全ての前記連動信号用ラッチ回路が前記連動信号を 記憶したとき、 前記連動信号用論理ゲートの出力はアクティブになる。 前記連動信号用論 理ゲートの出力がアクティブであるとき、 前記終り値判定用論理ゲートが出力する前記連 動信号に関わらず、 前記イネ一ブル信号用論理ゲートは前記イネ一ブル信号 ¾アクティブ にする。 したがって、 前記同期式カウン夕の前記動作が停止していたとしても、 前記外部 から入力された全ての前記連動信号がアクティブになれば、 前記同期式カウンタは前記動 作を再開する。 本発明は、 前記外部から入力される 1つ以上の前記連動信号によって前記 同期式カウンタの前記動作を制御することができる。 したがって、 前記同期式カウンタの 前記動作に関する諸問題が好適に解決される。
請求項 1 4の発明は、 同期式カウンタ、 終り値判定用論理ゲート、 連動信号増幅用論理 ゲート、 少なくとも 1個の連動信号用ラッチ回路、 連動信号用論理ゲート、 ィネーブル信 号用論理ゲート及び初期化用論理ゲートを含む連動式力ゥン夕であって、 前記同期式力ゥ ン夕が同期クリア手段及び同期ロード手段のうち少なくとも 1つを備え、 前記同期式力 ゥン夕がイネ一ブル信号を入力したときに、 前記同期式カウンタがクロック信号のパルス を数えることと、 前記同期式カウン夕が出力するカウント数と終り値が一致したときに、 前記終り値判定用論理ゲ一卜が連動信号を生成することと、 前記連動信号増幅用論理ゲー トが'、 外部に出力するために前記連動信号を増幅することと、 前記連動信号が生成されな いときに、 前記イネ一ブル信号用ゲートがイネ一プル信号を生成することと、 により、 前 記カウント数が前記終り値に到達したときに、 前記同期式力ゥン夕の動作が停止するこ とと、 前記終り値判定用論理ゲートが出力する前記連動信号が生成されていないときに、 各々の前記連動信号用ラッチ回路が、 外部から入力した前記連動信号のうちの 1つを記憶 することと、 前記連動信号用論理ゲートが、 全ての前記連動信号用ラッチ回路が前記連動 信号を記憶しているか判定することと、 全ての前記連動信号用ラッチ回路が前記連動信号 を記憶しているときに、 前記イネ一ブル信号用ゲートが前記イネ一ブル信号を生成するこ とと、 により、 前記同期式カウンタの前記動作が再開することと、 前記初期化信号用論理 ゲートが、 前記終り値判定用論理ゲートが出力する前記連動信号及び前記ィネーブル信 号を入力して、 初期化信号を生成することにより、 前記同期クリア手段及び前記同期口一 ド手段が前記初期化信号を用いて、 前記同期式カウン夕に初期値を設定することと、 を特 徵とする連動式カウンタである。 前記同期式カウンタは 1ビット以上のアップ ウンタ又 はダウンカウンタであり、 前記イネ一ブル信号がアクティブであるときだけ、 前記同期式 カウンタは前記クロック信号の前記パルスを数えることができる。 また前記同期式カウン 夕のクロック端子は立ち上がりエッジでも立ち下がりエッジでも良い。 もし前記カウント 数が最大値又は最小値ならば、 前記終り値判定用論理ゲートは前記連動信号をアクティブ にする。 さもなくば前記連動信号はインアクティブである。 前記連動信号は前記外部に送 信されるので、 前記連動信号増幅用論理ゲートには、 駆動能力が高い論理ゲートが用いら れる。 前記連動信号がインアクティブであるとき、 前記イネ一ブル信号用論理ゲートは前 記ィネーブル信号をアクティブにする。 したがって、 前記カウント数が前記最大値又は前 記最小値に到達するまで、 前記同期式カウンタは前記クロック信号の前記パルスを数えた 後、 前記連動信号がアクティブになり、 さらに前記同期式カウンタは停止する。 前記連動 信号がアクティブであるとき、 各々の前記連動信号用ラッチ回路は、 前記外部から入力さ れる 1つ以上の前記連動信号のうちの 1つがアクティブであることを記憶できるように なる。 さもなくば各々の前記連動信号用ラッチ回路はリセットされる。 全ての前記連動信 号用ラツチ回路が前記連動信号を記憶したとき、 前記連動信号用論理ゲ一卜の出力はァク ティブになる。 前記連動信号用論理ゲートの出力がアクティブであるとき、 前記終り値判 定用論理ゲートが出力する前記連動信号に関わらず、 前記イネ一ブル信号用論理ゲ一トは 前記イネ一ブル信号をアクティブにする。 したがって、 前記同期式カウンタの前記動作が 停止していたとしても、 前記外部から入力された全ての前記連動信号がァクティブになれ ば、 前記同期式カウンタは前記動作を再開する。 さらに、 前記連動信号及び前記イネ一ブ ル信号が共にアクティブであるときに、 前記初期化信号用論理ゲートは前記初期化信号を アクティブにする。 前記同期式力ゥン夕のクリァ端子が前記初期化信号を入力する場合、 前記同期クリァ手段が前記カウント数を前記最小値又は前記最大値に設定する。 前記同期 式カウンタのロード端子が前記初期化信号を入力する場合、 前記同期ロード手段が前記力 ゥント数を適当な前記初期値に設定する。 これにより、 前記同期式カウンタは前記カウン ト数を前記初期値と前記終り値の間に限定することができる。 本発明は、 前記外部から入 力される 1つ以上の前記連動信号によって前記同期式カウンタの前記動作を制御すること ができる。 したがって、 前記同期式カウンタの前記動作に関する諸問題が好適に解決され る。
請求項 1 5の発明は、 請求項 1 3又は 1 4記載の連動式カウンタが同期式発振回路を備 え、 前記同期式発振回路が、 前記クロック信号を生成する自励発振回路及び少なくとも 1 個のクロック信号増幅用論理ゲ一トを備え、 前記自励発振回路が同期信号用ラツチ回路を 含み、 前記同期信号用ラッチ回路が前記イネ一ブル信号を入力することと、前記同期信号 用ラツチ回路の出力が前記ク口ック信号の位相を変化させることと、 少なくとも 1個の前 記クロック信号増幅用論理ゲートが、 前記クロック信号を増幅することと、 を特徴とする 連動式カウンタである。 本発明では、 前記同期信号用ラッチ回路に Dラッチが用いられ、 前記 Dラッチのゲート端子に前記イネ一ブル信号が入力される。 したがって、 前記イネ一 ブル信号がァクティブであれば、 前記同期信号用ラツチ回路はパッファ及び NO Tゲ一ト として動作する。 さもなくば、 前記同期信号用ラッチ回路は入力信号を記憶する。 前記自 励発振回路に、 リング発振器及び非安定マルチバイブレータなど、 1個以上の論理ゲート を含む発振回路が用いられた場合、 前記同期信号用ラッチ回路は前記論理素子の 1つの代 りに用いられる。 これにより、 前記イネ一ブル信号がアクティブであれば、 前記自励発振 回路は自励発振をする。 さもなくば、 前記自励発振回路は現在の状態で安定する。 した がって、 前記イネ一ブル信号がアクティブになるまで、 前記自励発振回路は前記クロック 信号の前記位相は遅らすことができる。 前記ク口ック信号増幅用論理ゲートには N O T ゲートが用いられる。 前記クロック信号増幅用論理ゲートは、 必要に応じて前記自励発振 回路が生成する前記ク口ック信号を増幅し、 前記同期式カウンタ及び他の電子回路に供給 される。 本発明では、 前記同期式カウンタが停止している間、 前記同期式発振回路は前記 ク口ック信号の電圧を変更しないので、 前記同期式カウンタは前記ク口ック信号の全ての 前記パルスを数えることができる。 したがって、 前記クロック信号の前記パルスに関する 諸問題が好適に解決される。 ' 請求項 1 6の発明は、 請求項 1 3又は 1 4記載の連動式カウンタが同期式発振回路を 備え、 前記同期式発振回路が、 同期信号用フリップフロップ回路と、 同期信号増幅器と、 ループフィルタと、 電圧制御発振器と、 少なくとも 1個のクロック信号増幅用論理ゲート と、 を備え、 前記同期信号用ラッチ回路が前記イネ一ブル信号を記憶することと、 前記同 期信号増幅器が前記同期信号用ラツチ回路の出力を増幅することと、 前記ループフィルタ が、 前記同期信号増幅器の出力に含まれるノイズを低減することと、 前記電圧制御発振 器が前記クロック信号を生成することと、 前記電圧制御発振器が、 前記ループフィルタが 出力する電圧に応じて、 前記クロック信号の位相を変化させることと、 少なくとも 1個の 前記クロック信号増幅用論理ゲートが、 前記クロック信号を増幅することと、 を特徴とす る連動式カウンタである。 本発明では、 前記同期信号用フリップフロップ回路に Dフリツ プフ口ップが用いられ、 前記 Dフリップフ口ップの D端子に前記イネ一ブル信号が入力さ れ、 前記 Dフリップフロップのクロック端子に前記クロック信号が入力される。 ただし前 記 Dフリップフロップの前記クロック端子には、 前記同期式カウン夕と同じ方向のエッジ が用いられる。 したがって、 前記同期信号用フリップフロップ回路は前記同期式カウンタ が使用する前記イネ一ブル信号と同じ信号を記憶する。 前記同期信号増幅器には、 前記電 圧制御発振器を制御するために必要な電圧を生成することができる増幅器が用いられる。 この電圧がゲートレベルの範囲内であれば、 前記同期信号増幅器には、 N〇 Tゲート及び · バッファが用いられる。 さもなくば、 前記同期信号増幅器には一般的な増幅器が用いられ る。 前記ループフィルタには、 ラグ形フィルタ、 ラグ ·リード形フィルタ及びそれらの変 形などが用いられる。 前記ループフィルタは、 前記電圧制御発振器が出力する前記クロッ ク信号のジッターを抑えるために、 前記同期信号増幅器の前記出力に含まれる高周波ノィ ズを除去する。 前記電圧制御発振器には、 水晶振動子のような圧電素子を用いたコルピッ ッ形発振回路及びピアス発振回路などが用いられ、 電圧によって容量が変化する可変容量' ダイオードによって、 前記電圧制御発振器が出力する前記クロック信号の周波数が変更さ れる。 したがって、 前記同期信号用フリップフロップ回路が、 インアクティブである前記 ィネーブル信号を記憶している間、 前記電圧制御発振器は前記ク口ック信号の前記位相は 進めることができる。 前記クロック信号増幅用論理ゲー卜には N O Tゲートが用いられ る。 前記クロック信号増幅用論理ゲートは、 必要に応じて前記自励発振回路が生成する前 記クロック信号を増幅し、 前記同期式カウンタ及び他の電子回路に供給される。 本発明で は、 前記同期式カウンタが停止している間、 前記同期式発振回路は前記クロック信号の周 期を僅かに変更するだけなので、 前記同期式発振回路は、 前記他の電子回路の動作に殆ん ど影響を与えることなく、 前記終り値判定用論理ゲートが出力する前記連動信号と、 前記 外部から入力する 1つ以上の前記連動信号との間の位相差を可能な限り小さくすることが できる。 したがって、 前記クロック信号の前記周期に関する諸問題が好適に解決される。 請求項 1 7の発明は、 請求項 1 3〜 1 6のうち少なくとも 1項に記載の複数の連動式力 ゥンタを含む連動装置であって、 複数の前記連動式力ゥンタを平面内に配列したことと、 隣接する前記連動式力ゥンタ同士の間の距離が全て等しいことと、 隣接する前記連動式力 ゥンタ同士が相互に前記連動信号を通信することと、 各々の前記連動式カウンタが、 隣接 する少なくとも 1個の前記連動式カウンタが出力する全ての前記連動信号を記憶すること と、 各々の前記連動式カウンタが全ての前記連動信号を記憶するまで、 各々の前記連動式 カウンタの前記同期式カウンタが前記動作を停止することと、 により、 複数の前記連動式 カウンタの前記同期式カウンタの前記カウント数が揃うことを特徵とする連動装置であ る。本発明では、 複数の前記連動式カウン夕が前記正方格子状及び前記六角格子状などに 配列されることにより、 隣接する前記連動式カウンタ同士の間の前記距離は全て等しくな る。そのため、 隣接する前記連動式カウンタ同士の間に前記連動信号の信号線が最短距離 で配線された場合、 隣接する全ての前記連動式カウンタに各々の前記連動式カウンタが出 力する前記連動信号の全ての伝搬遅延時間が等しくなるので、 隣接する全ての前記連動式 カウンタが入力する前記連動信号の全ての位相も等しくなる。 前記連動式カウンタは、 隣 接する全ての前記連動式力ゥン夕の前記連動信号がアクティブになったら前記同期式力ゥ ンタの前記動作を再開する。 しかも前記連動式カウンタの前記連動信号用ラッチ回路は、 隣接する前記連動式カウン夕のうちの 1つから入力した前記連動信号を記憶するので、 前 記連動式カウンタは、 隣接する前記連動式カウン夕の現在の前記連動信号に関わらず、 隣 接する全ての前記連動式力ゥン夕の前記連動信号のうち、最も位相が遅れているものに合 わせて前記同期式カウンタの前記動作を再開する。 したがって、全ての前記連動式カウン 夕が同位相のクロック信号を入力し、 しかも前記クロック信号の周期が前記連動信号の前 記伝搬遅延時間に比べて十分に長ければ、 全ての前記連動信号の位相は一致する。 また、 前記連動式力ゥン夕の前記連動信号用ラッチ回路は、 隣接する前記連動式力ゥンタのうち の 1つから入力した前記連動信号を記憶する。 そこで隣接する前記連動式カウンタのう ちの 1つが入力する前記クロック信号の前記位相が進んでいるために、 この前記連動式力 ゥン夕が出力する前記連動信号がアクティブになった後、 この前記連動信号が再びインァ クティブになったとしても、 この前記連動信号を入力する前記連動信号用ラッチ回路の出 力はアクティブのままである。 したがって、全ての前記連動式カウンタが入力する前記ク ロック信号の前記位相が等しくなくても、 隣接する前記連動式カウンタ同士は互いに前記 連動信号を受信することができる。本発明は、複数の前記連動式カウン夕を相互に接続す ることにより、複数の前記連動式カウンタが出力する前記カウント数を一致させることが できる。一般に、前記クロック信号を L S I ( L a r g e S c a l e I n t e g r a t e d C i r c u i t )全体に分配する際に、前記クロック信号の周波数が高くなれば なるほど、 前記クロック信号の伝搬遅延時間が問題となる。 しかしながら前記連動式カウ ン夕を前記 L S Iに分散配置することにより、前記クロック信号の分周信号を前記 L S I 全体のデジタル回路に分配することができる。 したがって、前記デジタル回路の同期に関 する諸問題が好適に解決される。
請求項 1 8の発明は、複数のセンサモジュールを含むイメージセンサであって、 少なく とも 1個の前記センサモジュールの各々が、 二次元格子状に配列された複数の画素セル と、 複数の前記画素セルの配列に沿って配置された電荷結合素子と、 電荷転送用駆動装 置と、 出力増幅器と、 を含み、 少なくとも 1個の前記画素セルの各々が、 光を電荷に変換 する受光素子と、電荷転送ゲートと、 を含み、 少なくとも 1個の前記センサモジュールの 各々において、前記電荷転送用駆動装置の出力が、少なくとも 1個の前記画素セルの前記 電荷転送ゲートを導通させることと、前記電荷結合素子が、少なくとも 1個の前記電荷転 送ゲートを介して出力された前記受光素子の前記電荷を個別に蓄えることと、前記電荷転 送用駆動装置の出力が、前記電荷結合素子に蓄えられた前記電荷を前記出力増幅器に向け て順番に転送することと、 前記出力増幅器が、 前記電荷結合素子に蓄えられた前記電荷を 順番に増幅することと、 により、 少なくとも 1個の前記センサモジュールの各々が、前記 電荷転送用駆動装置が出力する画素同期信号に合わせて、全ての前記画素セルの前記受光 素子の前記電荷を画素信号として順番に出力することを特徴とするイメージセンサであ る。多くの前記イメージセンサでは、全ての前記センサモジュールは格子状又は六角格子 状に配列されるが、 勿論これらの前記センサモジュールは直線状又は円形状など任意の位 置に配置されても良い。 また、全ての前記画素セルは格子状又は六角格子状などに配列さ れる。前記画素セルの各々は前記受光素子及び前記電荷転送ゲートを備え、前記受光素子 にはフォトダイオード、 フォトトランジスタ及び HARP (Hi gh— ga i n Ava 1 a n c h e Rus h i ng amo r phous Pho t oc onduc t o r) 膜などが用いられる。前記受光素子が前記光を照射されると、前記受光素子は光電効果に より前記電荷を生成する。 このとき前記電荷を蓄えるために、前記受光素子には必要に応 じて電子回路が付け加えられる。前記電荷結合素子は、 前記受光素子を備えた複数の前記 画素セルの配列に沿って一筆書で配置される。前記電荷転送用駆動装置が少なくとも 1個 の前記電荷転送ゲートを導通させた場合、前記電荷は前記電荷結合素子に移動することが できる。 そこで前記電荷転送用駆動装置が前記電荷結合素子に一定の電圧を加えるなら ば、前記電荷は前記受光素子から前記電荷結合素子に移動する。 前記電荷転送用駆動装置 が一定のパターンに従って前記電荷結合素子に前記電圧を加えた場合、前記電荷結合素子 に蓄えられた前記電荷は前記電荷結合素子中をバケツリレー式に移動するので、 少なくと も 1個の前記電荷が、蓄積された場所の順番に前記電荷結合素子の 2つの末端のうちいず れかに移動することができる。そこで前記出力増幅器は、少なくとも 1個の前記受光素子 が生成した前記電荷を前記電荷結合素子から 1個ずつ受け取り、順次前記画素信号に変換 することができる。 また、前記電荷転送用駆動装置が、 前記電荷結合素子に蓄えられた前 記電荷を移動させた後、前記電荷同期信号を出力することにより、前記出力増幅器が前記 画素信号を出力していることが判別され得る。 本発明では、 前記センサモジュールの各々 が前記電荷転送用駆動装置を備えているので、 前記イメージセンサは少なくとも 1個の前 記センサモジュールから一斉に前記画素信号を出力することができる。 本発明ではエリァ センサを製造するために、 全く同じ複数の前記センサモジュールが前記二次元格子状に配 列され、 しかも多数の前記画素信号が少ない信号線数で出力されるので、 前記エリアセン サの設計に関する諸問題が好適に解決される。
請求項 1 9の発明は、 複数のセンサモジュールを含むイメージセンサであって、 前記セ ンサモジュールの各々が、 二次元格子状に配列された複数の画素セルと、 垂直シフトレジ ス夕と、 水平シフトレジスタと、 複数の列選択ゲートと、 複数のノイズキャンセラと、 出 力増幅器と、 を含み、 前記画素セルの各々が、 光を電荷に変換する受光素子と、 前記電荷 を電圧に変換する電荷増幅器と、 行選択ゲートと、 を含み、 前記センサモジュールの各々 において、 前記垂直シフトレジスタの出力が、 少なくとも 1個の前記画素セルの前記行選 択ゲートを導通させることと、 前記ノイズキャンセラの各々が、 少なくとも 1個の前記行 選択ゲートを介して出力された前記電圧のノィズを抑えることと、 前記水平シフトレジ ス夕の出力が、 少なくとも 1個の前記列選択ゲートを導通させることと、 前記出力増幅器 が、 少なくとも 1個の前記列選択ゲートを介して出力された前記ノイズキャンセラの出力 を増幅することと、 により、 前記センサモジュールの各々が、 前記水平シフトレジスタが 出力する画素同期信号に合わせて、 少なくとも 1個の前記画素セルの前記受光素子の前記 電荷を画素信号として順番に出力することを特徴とするイメージセンサである。 多くの前 記ィメージセンサでは、 全ての前記センサモジュールは格子状又は六角格子状に配列され るが、 勿論これらの前記センサモジュールは直線状又は円形状など任意の位置に配置され ても良い。 また、 全ての前記画素セルは格子状又は六角格子状などに配列され、 これらの 前記画素セルの配置は少なくとも 1行と少なくとも 1列の行列によって表される。 少なく とも 1個の前記ノイズキャンセラ及び少なくとも 1個の前記列選択ゲートが、それぞれ前 記列毎に 1個ずつ配置される。 前記画素セルの各々は前記受光素子、 前記電荷増幅器及び 前記行選択ゲートを備え、 前記受光素子にはフォトダイオード、 フォトトランジスタ及び HARP (H i h— ga i n Ava l anche Rus h i ng amo r p h o u s P o t oc onduc t o r)膜などが用いられる。 前記受光素子が前記光を照 射されると、 前記受光素子は光電効果により前記電荷を生成する。 このとき前記電荷を蓄 えるために、 前記受光素子には必要に応じて電子回路が付け加えられる。 前記電荷増幅器 は前記電荷の量に応じて前記電圧に変換する。 前記垂直シフトレジス夕が前記行のうち 1 つを選択した場合、 選択された前記行に含まれる少なくとも 1個の前記画素セルの前記行 選択ゲートが導通する。 そこで、 選択された前記行に含まれる少なくとも 1個の前記画素 セルの前記電荷増幅器は、それぞれ前記列毎に前記ノイズキャンセラに入力される。 少な くとも 1個の前記ノイズキャンセラは、 それぞれ対応する前記列に配列された少なくとも 1個の前記画素セルの前記電荷増幅器によって出力された前記電圧に含まれる前記ノィズ を抑える。 前記水平シフトレジス夕が前記列のうち 1つを選択した場合、 選択された前記 列の前記列選択ゲートが導通する。 そこで、 選択された前記列の前記ノイズキャンセラに よって前記ノイズが抑えられた前記電圧が前記出力増幅器に入力される。 したがって、 前 記垂直シフトレジスタ及び前記水平シフトレジス夕が一定の順番で全ての前記画素セルの 中から 1個を選択することにより、 前記出力増幅器は、 少なくとも 1個の前記画素セルの 前記受光素子の電荷を前記画素信号として出力することができる。 また、 前記水平シフト レジス夕が、 前記列から 1つを選択した後に、 前記電荷同期信号を出力することにより、 前記出力増幅器が前記画素信号を出力していることが判別され得る。 本発明では、 前記セ ンサモジュールの各々が前記垂直シフトレジスタ及ぴ前記水平シフトレジスタを備えてい るので、 前記イメージセンサは少なくとも 1個の前記センサモジュールから一斉に前記画 素信号を出力することができる。 本発明ではエリアセンサを製造するために、全く同じ複 数の前記センサモジュールが前記二次元格子状に配列され、 しかも多数の前記画素信号が 少ない信号線数で出力されるので、前記エリアセンサの設計に関する諸問題が好適に解決 される。
請求項 20の発明は、 請求項 18又は 19記載のイメージセンサにおいて、 少なくとも 1個の前記センサモジュールが前記二次元格子状に配列された層と、 複数の AZD変換回 路が前記二次元格子状に配列された層と、 複数のデジタル回路が前記二次元格子状に配 列された層と、が積層され、複数の前記センサモジュールの各々が出力する前記画素信号 が、複数の前記 AZD変換回路のうちの相異なる 1個に入力されることと、複数の前記 A ZD変換回路の各々が、 前記画素信号を画素データに変換することと、複数の前記 AZD 変換回路の各々が出力する前記画素データが、複数の前記デジタル回路のうちの相異なる 少なくとも 1個に入力されることと、 により、 少なくとも 1個の前記センサモジュールの 各々において、 少なくとも 1個の前記受光素子が生成した前記電荷が、 前記画素同期信号 に合わせて、対応する 1個の前記デジタル回路に前記画素データとして順次入力されるこ とを特徵とするイメージセンサである。本発明では、 1個の前記センサモジュールの配置 と、対応する 1個の前記 AZD変換回路の配置と、対応する 1個の前記デジタル回路の配 置と、が垂直方向に重なるように、 少なくとも 1個の前記センサモジュールと、 少なくと も 1個の前記 AZD変換回路と、 少なくとも 1個の前記デジタル回路と、が格子状及び六 角格子状に配列される。 少なくとも 1個の前記デジタル回路の各々が、 シフトレジスタ及 ぴシリアル/パラレル変換回路などのパッファを備えた場合、 前記画素同期信号に合わせ て、対応する前記 AZD変換回路が出力する全ての前記画素データを保持すると共に、 こ れらの前記画素データのうちのいずれか 1つを選択的に取り出すことができる。 したがつ て、 これらの前記デジタル回路は、 それぞれ入力した全ての前記画素データの順番を入 れ替えることができる。本発明では、三次元 L S I (大規模集積回路)技術を用いること により、 1個の前記センサモジュールと、対応する 1個の前記 AZD変換回路との間に、 1本の前記画素信号用の信号線が配線され、 1個の前記 AZD変換回路と、対応する 1個 の前記デジタル回路との間に、 少なくとも 1本の前記画素データ用の信号線が配線され、 1個の前記センサモジュールと、対応する 1個の前記デジタル回路との間に、 1本の前記 画素同期信号用の信号線が配線される。 少なくとも 1個の前記デジタル回路の各々は、対 応する 1個の前記センサモジュールだけから前記画素信号を前記画素デ一夕として入力す るので、前記イメージセンサの画素数が増えたとしても、 少なくとも 1個の前記デジタル 回路の各々は、 対応する 1個の前記センサモジュールが出力した全ての前記画素信号を、 前記画素データとして短時間で入力することができる。本発明では、 1個の前記センサモ ジュールから、対応する 1個の前記 AZD変換回路への 1本の前記画素信号用の前記信号 線と、 この 1個の前記 A/D変換回路から、対応する前記デジタル回路への少なくとも 1 本の前記画素データ用の前記信号線と、 この 1個の前記センサモジュールから、対応する 前記デジタル回路への 1本の前記画素同期信号用の前記信号線と、 は他の前記信号線と交 わらないように垂直に配線され得るので、 前記イメージセンサにおける前記信号線の配線 に関する諸問題が好適に解決される。
図面の簡単な説明
第 1図は、デジタル画像中の少なくとも 1個の物体のおおよその輪郭の位置、大きさ及 ぴ形を認識する視覚装置のブロック図である。
第 2図は、デジタル画像中の 1個の物体の領域を背景から分離する視覚装置のブロック 図である。
第 3図は、 デジタル画像中の 1個の物体の色を認識する視覚装置のプロック図である。 第 4図は、デジタル画像中の 1個の物体のパターンを認識する視覚装置のプロック図で あ 0
第 5図は、デジタル画像中の 1個の物体の位置、大きさ及び傾きを検出する視覚装置の ブロック図である。
第 6図は、 デジタル画像中の 1個の物体を認識する視覚装置のブロック図である。 第 7図は、 少なくとも 1個の物体を表すデジタル画像を理解する視覚装置のプロック図 である。
第 8図は、 移動カメラを制御して物体を探索する視覚装置のブロック図である。
第 9図は、 レンズ光軸を中心にして移動カメラを回転した場合の画像座標の説明図であ る。
第 1 0図は、移動カメラを制御して物体を探索し、物体の数を数える視覚装置のブロッ ク図である。
第 1 1図は、 格子状に配置された配列演算ユニットのブロック図である。 第 1 2図は、 反時計回りに順番付けられた 8近傍の番号の説明図である。 第 1 3図は、 本実施形態の画像記憶手段のアルゴリズムを示すフローチャートである。 第 1 4図は、 デジタル画像中の特定の色に対して色情報を生成する場合の説明図であ る。
第 1 5図は、 本実施形態の色情報生成手段のアルゴリズムを示すフローチャートであ る。
第 1 6図は、 デジタル画像を用いて粗エッジ情報を生成する場合の説明図である。 第 1 7図は、 本実施形態のエッジ情報生成手段のアルゴリズムを示すフローチャートで ある。
第 1 8図は、デジタル画像を用いて粗エッジ情報を形成エッジ情報に形成する場合の説 明図である。
第 1 9図は、 本実施形態のエッジ情報形成手段のアルゴリズムを示すフローチャートで ある。
第 2 0図は、 低解像度デジタル画像から生成された低解像度粗エッジ情報を形成エッジ 情報に形成する場合の説明図である。
第 2 1図は、 低解像度デジタル画像から生成された低解像度粗エッジ情報の領域を切り 出してから形成エッジ情報に形成する場合の説明図である。
第 2 2図は、 エッジ情報画像中の物体の位置及び大きさを検出する場合の説明図であ る。
第 2 3図は、 本実施形態の位置 Z大きさ検出手段のアルゴリズムを示すフローチャート である。
第 2 4図は、 物体領域画像中の物体の位置及び大きさを検出する場合の説明図である。 第 2 5図は、 エッジ情報画像中の物体の位置、 大きさ及び傾きを検出する場合の説明図 である。
第 2 6図は、 本実施形態の位置/大きさ Z傾き検出装置のアルゴリズムを示すフロー ナヤ―ト ^める。 第 2 7図は、物体領域画像中の物体の位置、大きさ及び傾きを検出する場合の説明図で ある。
第 2 8図は、 移動元重複情報の例の説明図である。
第 2 9図は、色情報画像中のテクスチャの位置、大きさ及び傾きを検出する場合の説明 図である。
第 3 0図は、エッジ情報画像中の物体の位置、大きさ及び傾きを検出し、傾き大きさ情 報を出力する場合の説明図である。
第 3 1図は、 形成エッジ情報画像中の線分の法線方向を検出する場合の説明図である。 第 3 2図は、 形成エッジ情報画像中の十字形の法線方向を検出する場合の説明図であ る。
第 3 3図は、形成エッジ情報画像中の三角形を構成する複数の線分の法線方向を検出す る場合の説明図である。
第 3 4図は、形成エッジ情報画像中の四角形を構成する複数の線分の法線方向を検出す る場合の説明図である。
第 3 5図は、形成エッジ情報画像中の菱形を構成する複数の線分の法線方向を検出する 場合の説明図である。
第 3 6図は、形成エッジ情報画像中の円形を構成する曲線の法線方向を検出する場合の 説明図である。
第 3 7図は、線分を含む形成ェッジ情報画像及び傾き大きさ情報画像から移動元傾き重 複情報画像を生成する場合の説明図である。
第 3 8図は、三角形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き 重複情報画像を生成する場合の説明図である。
第 3 9図は、四角形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き 重複情報画像を生成する場合の説明図である。
第 4 0図は、菱形を含む形成エッジ情報画像及び傾き大きさ情報画像から移動元傾き重 複情報画像を生成する場合の説明図である。 第 4 1図は、 円形を含む形成ェッジ情報画像及び傾き大きさ情報画像から移動元傾き重 複情報画像を生成する場合の説明図である。
第 4 2図は、本実施形態の位置/大きさ/形検出装置のアルゴリズムを示すフローチヤ一 トである。
第 4 3図は、 三角形の形成エッジ情報画像を入力して、 移動元傾き重複情報画像を出力 する場合の説明図である。
第 4 4図は、 不完全な三角形の形成エッジ情報画像を入力して、 移動元傾き重複情報画 像を出力する場合の説明図である。
第 4 5図は、 三角形の形成エッジ情報画像を入力して、 形大きさ情報画像を出力する場 合の説明図である。
第 4 6図は、 顔パーツの形成エッジ情報画像を入力して、 形大きさ情報画像を出力する 場合の説明図である。
第 4 7図は、 テクスチャの形成エッジ情報画像を入力して、 形大きさ情報画像を出力す る場合の説明図である。
第 4 8図は、 デジタル画像の分離物体領域を正規化する場合の説明図である。
第 4 9図は、 本実施形態の領域正規化手段のアルゴリズムを示すフローチャートであ る。
第 5 0図は、 画素間の補間を省略した場合における本実施形態の領域正規化手段のアル ゴリズムを示すフローチャートである。
第 5 1図は、 分離物体領域画像を用いてデジタル画像からマスク画像を生成する場合の 説明図である。
第 5 2図は、 本実施形態のマスク手段のアルゴリズムを示すフローチャートである。 第 5 3図は、 本実施形態の画像保持手段のアルゴリズムを示すフローチャートである。 第 5 4図は、 入力画像に対してテンプレート画像の中からパターンマッチングをする場 合の説明図である。
第 5 5図は、 本実施形態のパターンマッチング手段のアルゴリズムを示すフローチヤ一 トである。
第 5 6図は、三角形の形成エッジ情報画像及び重複情報画像から物体領域画像を生成す る場合の説明図である。
第 5 7図は、 本実施形態の物体 Z背景分離手段のアルゴリズムを示すフローチャートで ある。
第 5 8図は、 破線状態の三角形のエッジ情報が破線三角形の内側領域と外側領域に分離 する状態を示す説明図である。
第 5 9図は、三角形を 2つ重ねたエッジ情報が 2つの三角形領域と背景領域に分離する 状態を示す説明図である。
第 6 0図は、 2つの円形物体領域を重ねた時の破線状態のエッジ情報が 2つの円形領域 と背景領域に分離した状態を示す説明図である。
第 6 1図は、 配列演算ユニットの内部構造のプロック図である。
第 6 2図は、 コントローラのブロック図である。
第 6 3図は、 フラグデコーダの入出力信号を示す説明図である。
第 6 4図は、 フラグエンコーダの入出力信号を示す説明図である。
第 6 5図は、 フラグデコーダ及びフラグレジスタの回路図である。
第 6 6図は、 フラグエンコーダ及びステータスレジスタのブロック図である。
第 6 7図は、右配列演算ユニットと通信するフラグエンコーダとステータスレジス夕の 回路図である。
第 6 8図は、 5個のコントローラを平面上に配置した場合の配列演算ユニットの説明図 である。
第 6 9図は、 5個のコントローラを積み重ねた場合の配列演算ユニットの説明図であ る。
第 7 0図は、 1 6個の配列演算ユニットを 1個の仮想配列演算ユニットと見なした場合 の説明図である。
第 7 1図は、 1個の仮想配列演算ュニットに含まれる 1 6個の配列演算ュニットにコン トローラ用の割り当て番号を付けた場合の説明図である。
第 7 2図は、 1 6個の配列演算ユニットが出力した 1 6個の前入力データを順次記憶す るシフ卜レジス夕の説明図である。
第 7 3図は、 配列演算ユニットが 1 2 0近傍に反時計回りでデータを転送する場合の転 レートの説明図である。
第 7 4図は、 配列演算ュニットと一致する仮想配列演算ュニットが 1 2 0近傍に反時計 回りでデータを転送する場合の転^レートの説明図である。 第 7 5図は、 4 X 4の配列演算ュニットを含む仮想配列演算ュニットが 1 2 0近傍に反 時計回りでデータを転送する場合の原理的な転 レートの説明図である。
第 7 6図は、 4 X 4の配列演算ュニットを含む仮想配列演算ュニットが 1 2 0近傍に反 時計回りでデータを転送する場合の実際の転^レートの説明図である。
第 7 7図は、 配列演算ュニットの 4個のコントローラの各々が、 上側の配列演算ュニッ トのコントローラのうち、割り当られた番号が 1つ小さいものにデータを送信する場合の 配線の説明図である。
第 7 8図は、 配列演算ュニットの 4個のコントローラの各々が、 下側の配列演算ュニッ トのコント口一ラのうち、割り当られた番号が 1つ大きいものにデータを送信する場合の 配線の説明図である。
第 7 9図は、 配列演算ュニットの 4個のコントローラの各々が、 左側の配列演算ュニッ トのコントローラのうち、割り当られた番号が 1つ大きいものにデータを送信する場合の 配線の説明図である。
第 8 0図は、 配列演算ュニットの 4個のコントローラの各々が、 右側の配列演算ュニッ トのコントローラのうち、割り当られた番号が 1つ小さいものにデータを送信する場合の 配線の説明図である。
第 8 1図は、 配列演算ユニットにおいて垂直に配置された 4個のコントローラの各々 が、 右側の配列演算ユニットのコントローラのうち、 割り当られた番号が 1つ小さいもの にデータを送信する場合の配線の説明図である。 第 8 2図は、 転送用のコントローラを備えた配列演算ユニットが反時計回りにデータを 転送する場合の右上方向の転 ^レートの説明図である。
第 8 3図は、 転送用と再転送用のコントローラを備えた配列演算ユニットが反時計回り にデータを転送する場合の右上方向の転送ルートの説明図である。
第 8 4図は、 4個の転送回路を備えたコントローラの説明図である。
第 8 5図は、 通信ステータスバッファのビット毎の割当の説明図である。
第 8 6図は、 1 6個の前入力データを入力する前入力回路の説明図である。
第 8 7図は、 前入力回路用コントローラの状態遷移図である。
第 8 8図は、 1 6個の結果データを出力する結果出力回路の説明図である。
第 8 9図は、 結果出力回路用コントローラの状態遷移図である。
第 9 0図は、 正論理の送達と受領を通信し、 送達がアクティブの時に計算デ一夕を記憶 する転送回路の説明図である。
第 9 1図は、 正論理の送達と受領を通信する転送回路用コントローラの状態遷移図であ る。
第 9 2図は、 負論理の送達と受領を通信し、 送達がアクティブの時に計算データを記憶 する転送回路の説明図である。
第 9 3図は、 負論理の送達と受領を通信し、送達の立ち上がり時に計算データを記憶す る転送回路の説明図である。
第 9 4図は、 計算ステータスのビット毎の割当の説明図である。
第 9 5図は、 仮想配列演算ュニットに含まれる 4 X 4個の配列演算ュニットのポジショ ンの説明図である。
第 9 6図は、 基本的な連動式カウンタの回路図である。
第 9 7図は、 3つのフリップフロップを用いた同期式カウン夕の回路図である。
第 9 8図は、 同期式カウンタが 5まで数える連動式カウンタの回路図である。
第 9 9図は、 型番 7 4 1 6 3を用いた同期式カウン夕の回路図である。
第 1 0 0図は、 3つの連動式カウンタから構成されるネットワークのブロック図であ る。
第 1 0 1図は、 3つの連動式カウン夕が同期した場合のタイミングチャートである。 第 1 0 2図は、 3つの連動式カウンタのうち 1つの位相が進んだ場合のタイミングチヤ一 卜である。
第 1 0 3図は、 3つの連動式カウンタのうち 1つの位相が遅れた場合のタイミングチヤ一 トである。
第 1 0 4図は、 3つの連動式カウンタの位相が異なる場合のタイミングチャートであ る。
第 1 0 5図は、 同期式発振回路を備えた連動式カウンタの回路図である。
第 1 0 6図は、 同期式発振回路を備え、 同期式カウン夕が 5まで数える連動式カウンタ の回路図である。
第 1 0 7図は、 リング発振器を用いた場合の同期式発振回路の回路図である。
第 1 0 8図は、 第 1 0 7図のタイミングチャートである。
第 1 0 9図は、 CMO Sゲートから構成されるリング発振器を用いた場合の同期式発振 回路の回路図である。 >
第 1 1 0図は、 TT Lゲートから構成される非安定マルチパイブレー夕を用いた場合の 同期式発振回路の回路図である。
第 1 1 1図は、ループフィルタ及び電圧制御発振器を用いた場合の同期式発振回路の回 路図である。
第 1 1 2図は、 第 1 1 1図のタイミングチャートである。
第 1 1 3図は、 正方格子状に配列された連動式カウンタから構成されるネットワークの ブロック図である。
第 1 1 4図は、 六角格子状に配列された連動式カウンタから構成されるネットワークの ブロック図である。
第 1 1 5図は、互いの距離が等しくなるように配列された連動式カウン夕から構成され るネットワークのブロック図である。 第 1 1 6図は、 格子が重なるように連動式カウン夕を積層した場合の説明図である。 第 1 1 7図は、連動式カウンタ、デジタル回路及びアナログ回路を積層した場合の説明 図である。
第 1 1 8図は、信号分配用フリップフロップ回路の出力によって信号分配用ラッチ回路 がリセットされる場合において、信号分配用デコーダの出力のうち 3番及び 5番を用いて 出力信号を生成する連動式信号分配回路の回路図である。
第 1 1 9図は、信号分配用デコーダの出力のうち 3番及び 5番を用いて出力信号を生成 する連動式信号分配回路のタイミングチャートである。
第 1 2 0図は、 信号分配用デコーダの出力によって信号分配用ラッチ回路がリセットさ れる場合において、信号分配用デコーダの出力のうち 3番及び 5番を用いて出力信号を生 成する連動式信号分配回路の回路図で多る。
第 1 2 1図は、格子状に配列された複数のセンサモジュールが並列に画素信号を出力す る場合の説明図である。
第 1 2 2図は、 六角格子状に配列された複数のセンサモジュールが並列に画素信号を出 力する場合の説明図である。
第 1 2 3図は、 受光素子及び電荷転送ゲートから構成される画素セルの説明図である。 第 1 2 4図は、センサモジュールが、 S字状に配置された電荷結合素子及び電荷転送用 駆動装置を用いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場合 の説明図である。
第 1 2 5図は、センサモジュールが、渦巻き状に配置された電荷結合素子及び電荷転送 用駆動装置を用いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場 合の説明図である。
第 1 2 6図は、 センサモジュールが、 渦巻き状に配置された電荷結合素子を用いて、六 角格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図である。 第 1 2 7図は、 受光素子、電荷増幅器及び行選択ゲートから構成される画素セルの説明 図である。 第 1 2 8図は、 センサモジュールが、 垂直シフトレジスタ及び水平シフトレジスタを用 いて、格子状に配列された複数の画素セルから順次画素信号を取り出す場合の説明図であ る。
第 1 2 9図は、 格子状に配列された複数のセンサモジュールの各々が、 上方から光を受 光し、 下方に画素信号を出力する場合の説明図である。
第 1 3 0図は、 六角格子状に配列された複数のセンサモジュールの各々が、 上方から光 を受光し、 下方に画素信号を出力する場合の説明図である。
第 1 3 1図は、 複数の受光素子が実装された層と、 電荷転送用駆動装置、 複数の電荷転 送ゲート及び出力増幅器が実装された層と、 電荷結合素子が実装された層と、が積層され た場合の説明図である。
第 1 3 2図は、 複数の受光素子が実装された層と、 複数の電荷増幅器が実装された層 と、 垂直シフトレジスタ、 水平シフトレジスタ、 複数の行選択ゲート、 複数のノイズキヤ ンセラ、複数の列選択ゲート及び出力増幅器が実装された層と、 が積層された場合の説明 図である。
第 1 3 3図は、 複数のセンサモジュールが実装された層と、 複数の AZD変換回路が実 装された層と、 複数のデジタル回路が実装された層と、 が積層された場合の説明図であ る。
第 1 3 4図は、 プロセッサ、 1組のメモリ及びコントローラを備えたデジタル回路のブ ロック図である。
第 1 3 5図は、 前入力シフトレジス夕が画素データを順次入力し、 前入力データレジス 夕が画素データを保持し、 アドレスデコーダが画素デ一夕を選択するコントローラのブ ロック図である。
第 1 3 6図は、 光源からデジタル回路を備えたイメージセンサに光を照射する場合の説 明図である。
第 1 3 7図は、 プロセッサがコントローラを監視しながら、 1組のメモリ中の記憶デー タを書き換えるためのメモリ書き換えルーチンのフローチャートである。 第 1 3 8図は、 プロセッサがメモリ書き換え信号を入力した際に、 1組のメモリ中の記 憶データを書き換えるためのメモリ書き換えルーチンのフローチャートである。
第 1 3 9図は、 3 X 3の受光素子のうち 0又は 3個が光を受光する場合に 1組のメモリ に格納される 9つの画素データの説明図である。
第 1 4 0図は、 3 X 3の受光素子のうち 6又は 9個が光を受光する場合に 1組のメモリ に格納される 9つの画素データの説明図である。
第 1 4 1図は、 透過型回折格子を用いてイメージセンサに干渉縞を照射する場合の説明 図である。
第 1 4 2図は、 反射型回折格子を用いてイメージセンサに干渉鎬を照射する場合の説明 図である。
第 1 4 3図は、 光導波路中に形成された回折格子を用いてイメージセンサに干渉縞を照 射する場合の説明図である。
発明を実施するための最良の形態
以下、 視覚装置 2の実施形態を挙げ、 この視覚装置(visual device) 2を図面を参照し ながら説明する。
まず、 第 1図に示すように、 請求項 1記載の発明に対する視覚装置 2の実施形態は、 画 像記'慮手段 (image memorization means) 1 2、 エツン' |霄報生成手段 k edge-information generation means) 1 4、 エッジ情報形成手段 (edge-information formation means) 丄 5及ぴ幾何解析手段(geometrical analysis means) 3 7を用いて、 複数のデジタル画像 (digital images) 1 1 1中を移動する少なくとも 1個の物体からこれらの物体の位置、 大 きさ及び形を検出する。 画像記憶手段 1 2は、 これらのデジタル画像 1 1 1を順次記憶す る。エッジ情報生成手段 1 4は、 2つのデジタル画像 1 1 1を用いて、 これらのデジタル画 像 1 1 1中を移動する少なくとも 1個の物体の粗エッジ情報 (rough edge information) 1 1 2を含む粗エッジ情報画像(rough edge-information image) 1 1 3を生成する。 エッジ 情報形成手段 1 5は、 2つのデジタル画像 1 1 1のうちの 1つを用いて、 この粗エッジ'唐 報画像 1 1 3を形成エッジ情報画像(formed edge-information image) 1 1 5に形成する。 幾何解析手段 3 7は、 位置 Z大きさ/傾き検出手段 (position/size/inclination detection means) 4 4及び位置/大きさ/形検出手段 (position/size/form detection means) 4 5 から構成され (第 4 5図参照)、 この形成エッジ情報画像 1 1 5から形大きさ情報画像 (form-size-information image) 1 9 0を生成する。本発明が、デジタル画像 1 1 1中の全 ての物体に関して、 事前に位置、 大きさ、 傾き、 形及び色など如何なる情報を知らなくて も、 本発明は、デジタル画像 1 1 1中の物体の位置、 大きさ及び形を検出することができ る。 したがって本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、 こ の利用者は本発明を容易に利用することができる。
第 2図に示すように、 請求項 2記載の発明に対する視覚装置 2の実施形態は、 2つの 画像記憶手段 1 2、 エッジ情報生成手段 1 4、 エッジ情報形成手段 1 5、 位置 大きさ 検出手段 (position/size detection means) 1 7及び物体/背景分離手段(figure/ground separation means) 1 6を用いて、 複数のデジタル画像 1 1 1中を移動する少なくとも 1 個の物体を表す少なくとも 1つの物体領域 (object area) 1 4 1を背景領域 (background area)から分離する。 1つの画像記憶手段 1 2が、 これらのデジタル画像 1 1 1を順次記 憶する。 エッジ情報生成手段 1 4は、 2つのデジタル画像 1 1 1を用いて、 これらのデ ジタル画像 1 1 1中を移動する少なくとも 1個の物体の粗エッジ情報 1 1 2を含む粗エツ ジ情報画像 1 1 3を生成する。 エッジ情報形成手段 1 5は、 2つのデジタル画像 1 1 1 のうちの 1つを用いて、 この粗エッジ情報画像 1 1 3を形成エッジ情報画像 1 1 5に形 成する。 位置/大きさ検出手段 1 7は、 この形成エッジ情報画像 1 1 5によって区分され る少なくとも 1つの物体領域 1 4 1のおおよその重心位置及ぴ大きさを表す重複情報画 像(redundant-information image) 1 3 2を生成する。 物体 /背景分離手段 1 6は、 この 重複情報画像 1 3 2を用いて、 この形成エッジ情報画像 1 1 5によって区分される少な くとも 1つの物体領域 1 4 1を背景領域から速やかに分離し、 物体領域画像(object-area image) 1 4 2を生成する。 もう 1つの画像記憶手段 1 2が、 この物体領域画像 1 4 2を 記憶する。 本発明が、 デジタル画像 1 1 1中の全ての物体に関して、 事前に位置、 大き さ、 傾き、 形及び色など如何なる情報を知らなくても、 本発明は、 少なくとも 1つの物体 領域 1 4 1を背景領域から分離することができる。 したがって本発明の利用者は、事前に 検出対象となる物体の情報を知らなくても、 この利用者は本発明を容易に利用することが できる。
第 3図に示すように、 物体の色を認識するための視覚装置 2は、 請求項 2記載の発明に 対する視覚装置 2の実施形態に、 マスク手段(mask means) 4 0及びパターンマツチン グ手段(pattern matching means) 3 8を加えることにより、 複数のデジタル画像 1 1 1 中を移動する少なくとも 1個の物体を表す物体領域 1 4 1に対するパターンマッチング を行う。 マスク手段 4 0は、 1つの画像記憶手段 1 2によって記憶された物体領域画像 1 4 2を用いて、 もう 1つの画像記憶手段 1 2によって記憶されたデジタル画像 1 1 1のう ち物体領域 1 4 1に相当する分離物体領域 (segmented object area) 1 4 3のみをフィル タすることにより、 マスク画像 (masked image) 1 4 8を生成する。 パターンマツチン グ手段 3 8は、 このマスク画像 1 4 8を複数のテンプレート画像(template images) 1 4 6と比較することにより、 画素単位でこのマスク画像 1 4 8に最も類似するテンプレー ト画像 1 4 6を選択し、 全ての画素のマッチング結果 (matching results) をマッチング 結果画像(matching-result image) 1 4 7として出力する。 これらのテンプレート画像 1 4 6は、 それぞれ相異なる単一の色で塗り潰されているので、 結果として、 このパターン マッチング手段 3 8は、 その分離物体領域 1 4 3全体の色を選択することになる。 なお、 本来パターンマッチング手段 3 8は、 目的に応じて必要な数のテンプレート画像 1 4 6を 事前に記憶しなければならない。 しかしながら、 第 3図においてマスク手段 4 0からパ ターンマッチング手段 3 8に向けて破線が示されているように、 このマスク手段 4 0から 出力されるマスク画像 1 4 8をテンプレート画像 1 4 6として入力することにより、 この パターンマッチング手段 3 8は必要に応じてテンプレート画像 1 4 6の数を増やすことも できる。 本発明が、 デジタル画像 1 1 1中の全ての物体に関して、 事前に位置、 大きさ、 傾き、形及び色など如何なる情報を知らなくても、本発明は、複数のテンプレート画像 1 4 6が表す色の中から、デジタル画像 1 1 1中の少なくとも 1つの分離物体領域 1 4 3が 表す物体の色を選択することができる。 したがって本発明の利用者は、事前に検出対象と なる物体の情報を知らなくても、 この利用者は本発明を容易に利用することができる。 第 4図に示すように、パターン認識をするための視覚装置 2は、請求項 2記載の発明に 対する視覚装置 2の実施形態に、 エッジ情報形成手段 1 5、幾何解析手段 3 7、 領域正規 化手段( area normalization means ) 2 7及びパターンマッチング手段 3 8から構成され る少なくとも 1つの組み合せを加えることにより、複数のデジタル画像 1 1 1中を移動す る少なくとも 1個の物体を表す物体領域 1 4 1に対するパターンマッチングを行う。全て の組み合せの各々において、物体領域画像 1 4 2及びデジタル画像 1 1 1は以下のように 処理される。'まず、 エッジ情報形成手段 1 5は、 1つの画像記憶手段 1 2によって記憶さ れた物体領域画像 1 4 2を粗エッジ情報画像 1 1 3と見做し、 もう 1つの画像記憶手段 1 2 よって記憶されたデジタル画像 1 1 1のうち物体領域 1 4 1に相当する分離物体領域 1 4 3を用いて、 この粗エッジ情報画像 1 1 3を形成エッジ情報画像 1 1 5に形成する。 このとき、 この分離物体領域 1 4 3の大きさ及び画質によって、 この形成エッジ情報画像 1 1 5の各画素を構成する形成エッジ情報 1 1 4は、 この分離物体領域 1 4 3の大まかな パターン又は細かなテクスチャを表す。 次に、幾何解析手段 3 7は、 この形成エッジ情報 画像 1 1 5を用いて、 この分離物体領域 1 4 3のパターン及びテクスチャを解析し、形大 きさ情報画像 1 9 0を生成する。 次に、領域正規化手段 2 7は、その物体領域画像 1 4 2 を用いて、 この形大きさ情報画像 1 9 0を正規化し、 正規化画像 (normalized image) 1 4 5を生成する。 このとき、 この領域正規化手段 2 7は、正規化画像 1 4 5の画素間を補 間する必要はないので、 自然数による除算は省略される。最後に、パターンマッチング手 段 3 8は、 この正規化画像 1 4 5を複数のテンプレート画像 1 4 6を比較することによ り、 画素単位でこの正規化画像 1 4 5に最も類似するテンプレート画像 1 4 6を選択し、 全ての画素のマッチング結果をマッチング結果画像 1 4 7として出力する。 これらのテン プレート画像 1 4 6は、 それぞれ相異なる物体から生成されているので、 このパターン マッチング手段 3 8は、 その分離物体領域 1 4 3が表す物体を選択する。 しかしながら、 似たような物体から生成されたテンプレート画像 1 4 6同士も似ていることから、 結果と して、 このパターンマッチング手段 3 8は、 その分離物体領域 1 4 3が表す複数の物体に 共通する物体の種別を選択することになる。 なお、 本来パターンマッチング手段 3 8は、 目的に応じて必要な数のテンプレート画像 1 4 6を事前に記憶しなければならない。 しか しながら、 第 3図において領域正規化手段 2 7からパターンマッチング手段 3 8に向けて 破線が示されているように、 この領域正規化手段 2 7から出力される正規化画像 1 4 5を テンプレート画像 1 4 6として入力することにより、 このパターンマッチング手段 3 8は 必要に応じてテンプレート画像 1 4 6の数を増やすこともできる。 本発明が、デジタル画 像 1 1 1中の全ての物体に関して、事前に位置、 大きさ、 傾き、 形及び色など如何なる情 報を知らなくても、 本発明は、 複数のテンプレート画像 1 4 6が表す物体の中から、デジ タル画像 1 1 1中の少なくとも 1つの分離物体領域 1 4 3が表す物体の種別を選択する ことができる。 したがって本発明の利用者は、事前に検出対象となる物体の情報を知らな くても、 この利用者は本発明を容易に利用することができる。
なお、 この視覚装置 2には、 第 3図及び第 4図に示された複数の手段を組み合せたもの ち含まれる。
この他に、 第 5図に示すように、 視覚装置 2は、 位置ノ大きさ Z傾き検出手段 4 4を用 いて、 画像記憶手段 1 2によって記憶された少なくとも 1つの物体領域 1 4 1から傾き大 きさ情報画像 ( inclination-size-information image) 1 8 6を生成することにより、 この物 体領域 1 4 1の位置、 大きさ及び傾きを検出することができる。
そこで第 6図に示すように、 物体領域 1 4 1を認識するための視覚装置 2は、 第 3図 及び第 4図に示された複数の手段を組み合せた、 パターン認識をするための視覚装置 2 に、 第 5図に示された位置/大きさ/傾き検出手段 4 4、 複数の画像認識手段 (image recognition means; 2 9及び ¾境理解手段 (environmental understanding means) ά 1 を組み合せたものである。 これらの画像認識手段 2 9の各々は、 対応するパターンマッチ ング手段 3 8から入力したマッチング結果画像 1 4 7の各画素が表す、 複数のテンプレー ト画像 1 4 6とのマッチング結果を統合することにより、パターンマッチング手段 3 8が 入力した画像に対して 1つの認識結果 (recognition result) を求める。 なお、 マッチング 結果を統合する方法として、誤差逆伝播法(パックプロパゲーション) によって学習する パーセプトロンなどのニューラルネットワークを用いることもできるが、 一般には多数決 のように単純にマッチング結果画像 1 4 7のうち最も多いマッチング結果を選択すること で十分である。環境理解手段 3 1は、 これらの認識結果及び位置/大きさ Z傾き検出手段 4 4から入力された傾き大きさ情報画像 1 8 6を用いて、 物体領域 1 4 1に対する位置、 大きさ、形、 テクスチャ、色及び傾きを決定すると共に、 これらの情報から構成される環 境データ (environmental datum) を生成する。 さらに、 この環境理解手段 3 1は、デジ タル画像 1 1 1中の全ての物体の環: ^一夕を記憶することにより、 これらの環境データ のリストである環境地図(environmental map) を出力する。 本発明が、 デジタル画像 1 1 1中の全ての物体に関して、事前に位置、大きさ、 傾き、形及び色など如何なる情報を 知らなくても、本発明は、デジタル画像 1 1 1中の少なくとも 1つの分離物体領域 1 4 3 が表す物体に対する環境地図を作成することができる。 したがって本発明の利用者は、事 前に検出対象となる物体の情報を知らなくても、 この利用者は本発明を容易に利用するこ とができる。
第 7図に示すように、画像を理解するための視覚装置 2は、物体領域 1 4 1を認識する ための視覚装置 2で示された全ての手段に、請求項 1記載の発明に対する視覚装置 2の実 施形態で示された幾何解析手段 3 7を加えたものである。 この幾何解析手段 3 7を加えた ことにより、デジタル画像 1 1 1中に複数の物体があつたとしても、環境理解手段 3 1は これらの物体を容易に区別することができる。 また、物体/背景分離手段 1 6が物体領域 1 4 1と背景領域を不完全に分離したとしても、 この環境理解手段 3 1は幾何解析手段 3 7が検出した物体の位置及び大きさと、位置 Z大きさ/傾き検出手段 4 4が検出した物体 領域 1 4 1の位置、大きさと、 を比較し、 さらに幾何解析手段 3 7が検出した物体の輪郭 と、複数の画像認識手段 2 9が決定した物体領域 1 4 1が表す物体の種別及び色と、 を比 較することにより、 この物体に対して適切な環:^—夕を作成することができる。本発明 が、デジタル画像 1 1 1中の全ての物体に関して、事前に位置、大きさ、傾き、形及び色 など如何なる情報を知らなくても、本発明は、デジタル画像 1 1 1中の全ての物体に対す る環境地図を作成することができる。 したがって本発明の利用者は、事前に検出対象とな る物体の情報を知らなくても、 この利用者は本発明を容易に利用することができる。 第 8図に示すように、物体を探索するための視覚装置 2は、画像を理解するための視覚 装置 2で示された全ての手段に、 画像取得手段(image capturing means) 1 1、 カメラ Z環境座標変換手段 (camera/environmental coordinate conversion means) 2 0、 2つの 画像 Z環境座標変換手段 ( image / environmental coordinate conversion means) 2 1、 計 時手段 (timer means) 3 2、物体位置推) £手段 (object position inference means) 3 4、 振動命令生成手段 (vibration command generation means) 2 5、運動制御手段 (action control means; 2 3及ぴカメフ命令生成中段 ^camera command generation means) 2 6 を加えたものである。 画像取得手段 1 1は、移動カメラ (moving camera) 1 0が撮影し た動画像(animation image) を構成する複数のフレーム画像(frame images) の各々を 順次デジタル画像 1 1 1に変換する。 もしこのフレーム画像がアナログ信号から構成され ていれば、 この画像取得手段 1 1はフレーム画像をデジタル信号に変換し、 このデジタル 画像 1 1 1を生成する。 一方で、 このフレーム画像がデジタル信号から構成される場合、 もしこのデジタル信号が圧縮されていれば、 この画像取得手段 1 1はフレーム画像を伸張 し、 このデジタル画像 1 1 1を生成する。 さもなくば、 この画像取得手段 1 1はフレーム 画像を直接このデジタル画像 1 1 1に変換する。
ところで、 移動カメラ 1 0はパン、 チルト、 ロール及びズームのうち、 少なくとも 1つ を実行する場合、 この移動カメラ 1 0の向き、倍率及び傾きが変化するので、デジタル画 像 1 1 1が常に同じ倍率及び同じ傾きで同じ場所を表すとは限らない。 したがって、幾何 解析手段 3 7及ぴ位置 大きさ 傾き検出手段 4 4が検出する物体の位置、 大きさ及び 傾きは、 デジタル画像 1 1 1毎に変化するかも知れない。 そこで、 その移動カメラ 1 0 がこの物体を常時適切な大きさで撮影するために、 視覚装置 2は機能に応じて 3つの座 標系、 つまりカメラ座標系 (camera coordinate system)、 画像座標系(image coordinate system) 及び環境座標系 (environmental coordinate system) を使い分ける。 第一に、 力 メラ座標系は、 文字通り移動カメラ 1 0がパン、 チルト及びズームを各々の最小制御単位 で制御するために用いているカメラ内部の三次元球座標系である。 一般にこのカメラ座標 系の原点はホ一ムポジションと呼ばれる、 この移動カメラ 1 0に固有の位置である。 この カメラ座標系は物体の物理的位置を表すことができる唯一の座標系である。それにも関わ らずこのカメラ座標系は移動カメラ 1 0の機種毎に異なるため、 このカメラ座標系には 汎用性がない。 そのため視覚装置 2は他の手段からこのカメラ座標系を秘匿する必要が ある。 第二に、 画像座標系は、 移動カメラ 1 0によって撮影されたフレーム画像の中央、 つまりレンズ光軸を原点とする、 画素を単位とした二次元座標系である。 これはフレーム 画像中のどの画素に物体が位置するか表すために用いられる。 したがつてこの画像座標系 はフレーム画像中にある複数の物体の細かな位置を区別するのには適しているが、 この画 像座標系だけではこれらの物体の物理的位置を表すことができない。 第三に、環境座標系 は、視覚装置 2が内部で物体の位置を論理的に統一して表すために用いている三次元球座 標系である。 この環境座標系は水平方向及び垂直方向にはラジアンを単位とした角度を用 い、 物体の大きさと物体までの距離の積を表すために、距離方向には 1 . 0を単位とした 実数を用いる。 一般に物体の大きさが短時間で極端に変ることはないので、 この物体まで の距離と移動カメラ 1 0の倍率は比例すると見做してよい。 環境座標系の原点は任意であ る。 つまり環境座標系は原則として環境座標系上の任意の 2点の相対座標を表すために用 いられる。 視覚装置 2は移動カメラ 1 0によって撮影可能な環境中の物体を環境座標系に 投射することで、 複数の物体を区別することができる。
そこでカメラ座標系及び画像座標系は各々環境座標系と相互に座標変換をする必要があ る。 その役割を果たしている手段がカメラ Z環境座標変換手段 2 0、 画像/環境座標変換 手段 2 1及び運動制御手段 2 3である。 これらの手段は移動力メラ 1 0及び画像取得手段 1 1の仕様からカメラ座標系及び画像座標系の各単位を求め、環境座標系に変換するため の行列を計算する。 またカメラ座標系から環境座標系への変換行列の逆行列を計算するこ とにより、 環境座標系からカメラ座標系への変換行列も求めることができる。 ただしカメ ラ座標系の原点が移動カメラ 1 0のホームポジションであるので、 カメラ座標系から変換 された環境座標系の位置は環境座標系上の移動力メラ 1 0のホームポジションからの相対 位置となる。 一方、 環境座標系から変換されたカメラ座標系の位置はカメラ座標系上の移 動力メラ 1 0の現在位置からの相対位置となる。 加えて、 画像座標系は二次元座標系であ るため、 画像座標系のみでは環境座標系に変換することはできない。 そのため画像/環境 座標変換手段 2 1では環境座標系で表された移動カメラ 1 0の向き及び倍率と、 フレーム 画像中の物体の領域の大きさを用いて、 随時変換行列を計算することにより、画像座標系 から環境座標系に変換できるようにする。 なお画像座標系から変換された環境座標系の位 置は、 画像の中心からの相対位置となる。
ところが移動カメラ 1 0が傾いていた場合、視覚装置 2が環境座標系を上述のように求 めることはできない。 例えば第 9図に示すように、 形成エッジ情報画像 1 1 5中の位置 α に角度 0反時計回りに傾いた物体の形成エッジ情報 1 1 4があるものとする。 このときレ ンズ光軸に対応する形成エッジ情報画像 1 1 5の中心 0に対して反時計回りに角度 0回 転するように移動カメラ 1 0を回転させると、 エッジ情報形成手段 1 5は回転後形成エツ ジ情報画像 1 8 1を出力することができる。 つまり回転後形成エッジ情報画像 1 8 1中の 位置 において物体は直立することになり、 物体の種別の認識が容易になる。 しかしなが ら回転後形成エッジ情報画像 1 8 1中の位置 αから求められた画像座標系の座標は、形成 エッジ情報画像 1 1 5中の位置 αから求められた画像座標系の座標に比べて時計回りに角 度 0回転した位置になる。そのため角度 0が大きくなるか距離 0 aが長くなるに従って両 座標のずれが大きくなる。 したがつて回転後形成ェッジ情報画像 1 8 1中の位置 から回 転前の画像座標系の座標を求めるためには、 回転後形成エッジ情報画像 1 8 1中の位置 α を反時計回りに角度 0回転させた位置 i3を求めれば良い。 なお、 移動カメラ 1 0の傾き及 び角度 0の単位はラジアンとする。
ここで回転後形成エッジ情報画像 1 8 1中の位置 αの画像座標を(α χ, a y) とし、位 置^の画像座標を (j3 x, β γ ) とすると、 数式 1に従って (Q! x , a y ) から (/3 Χ, β y ) を求めることができる。 cos ^ 一 sin I I „
(1) y . sin Θ cos Θ ひ 2/
これにより回転後形成エッジ情報画像 1 8 1中の位置 αから位置 、 つまり形成エッジ 情報画像 1 1 5中の位置 a;を求めることができるので、 結果として画像 Z環境座標変換手 段 2 1は回転後形成エッジ情報画像 1 8 1中の位置 αから正確に環境座標を求めることが できる。
上述を踏まえて、 物体を探索するための視覚装置 2では、 カメラ Ζ環境座標変換手段 2 0が、 移動カメラ 1 0の向き及び倍率を、 物理量に関係ない環境座標系の座標に変換す る。 なお、 移動カメラ 1 0の傾きは、 ラジアンを単位とする角度に変換される。 また、 2 つの画像 環境座標変換手段 2 1は、 傾き大きさ情報画像 1 8 6の各画素及び形大きさ情 報画像 1 9 0の各画素を、 それぞれこの環境座標系の座標に投射する。 これにより、 環境 理解手段 3 1は、 環境座標系で表される環境データのリストである環境地図を生成するこ とができる。 また、 この環境理解手段 3 1は、 計時手段 3 2から 1秒以下、 一般には 1ミ リ秒を単位として、 現在時刻を入力する。 これにより、 この環境理解手段 3 1は、 環境地 図に含まれる各々の環境データにタイムスタンプを付けることができるので、 この環境理 解手段 3 1は、 1個の物体の軌跡を表すこともできるし、 古くなつた環:^一夕を破棄す ることもできる。 なお、 この環境理解手段 3 1は、 カメラ 環境座標変換手段 2 0から移 動力メラ 1 0の現在の向き、 倍率及び傾きを入力することにより、 この移動カメラ 1 0の 現在の向き、 倍率及び傾きを環境データに変換する。 この環境データは、 外部のシステム が環境地図を利用する際に便利である。 物体位置推定手段 3 4は、 環境地図が表す少なく とも 1個の物体の中から 1個を選び、 この物体の軌跡から、 この物体の現在位置及び傾き を推定する。 この現在位置も環境座標系によって表される。 振動命令生成手段 2 5は、 移 動力メラ 1 0を振動させるための命令を生成する。 これにより、デジタル画像 1 1 1も順 次振動するので、 動画像中で静止している物体があたかも移動しているようにエッジ情報 生成手段 1 4は見做すことができる。 つまり、 エッジ情報生成手段 1 4は、 この物体に対 して粗エッジ情報 1 1 2を生成することができる。なお、 この物体がデジタル画像 1 1 1 中で、 おおよそ 2又は 3画素程度で振動する場合に、 エッジ情報生成手段 1 4は、 この物 体だけから効率よく粗エッジ情報 1 1 2を生成することができる。 運動制御手段 2 3は、 物体位置推定手段 3 4から物体の現在位置及び傾きを入力したか、又は振動命令生成手段 2 5から移動カメラ 1 0を振動させるための命令を入力した場合、 この運動制御手段 2 3は、移動カメラ 1 0の移動先を決定し、 カメラ座標系に変換する。 カメラ命令生成手段 2 6はこの移動先を入力して、移動カメラ 1 0のパン、チル卜、 口一ル及びズームのうち 少なくとも 1つを制御するための命令を生成する。本発明が、デジタル画像 1 1 1中の全 ての物体に関して、事前に位置、大きさ、 傾き、形及び色など如何なる情報を知らなくて も、 本発明は、デジタル画像 1 1 1中の全ての物体を探索することができる。 したがって 本発明の利用者は、事前に検出対象となる物体の情報を知らなくても、 この利用者は本発 明を容易に利用することができる。
この他に、例えば第 1 0図に示すように、物体の数を数えるための視覚装置 2は、 物体 を探索するための視覚装置 2で示された全ての手段に、 この視覚装置 2が生成した情報を 出力するための 2つの画像保持手段(image keeping means) 3 9、 2つ以上の認識結果 保持手段、 recognition-result keeping means) 3 0、 環境地図保 手段 (environmental- map keeping means) 3 3、 物体計数手段 (object counting means) ό 5及び物体数保; 手段(object number keeping means) 3 6と、 この視覚装置 2が効率よく物体を探索す るための色情報生成手段(color- information generation means) 4 1、 2つの位置 大き さ検出手段 1 7、 2つの画像 環境座標変換手段 2 1及び 2つの位置選択手段(position selection means) 2 2と、外部から視覚装置 2を制御するための制御命令入力手段 (control command input means) 2 4を ^るしこもでさる。
まず、 1つの画像記憶手段 1 2によって記憶されたデジタル画像 1 1 1を外部のシステ ムが入力し終えるまで、 1つの画像保持手段 3 9はこのデジタル画像 1 1 1を一定期間保 持する。 もう 1つの画像記憶手段 1 2によって記憶された物体領域画像 1 4 2をこの外部 のシステムが入力し終えるまで、 もう 1つの画像保持手段 3 9はこの物体領域画像 1 4 2 を一定期間保持する。 これら 2づの画像を組み合せることにより、 この外部のシステムは デジタル画像 1 1 1から物体領域 1 4 1に相当する領域を切り出すことができる。 2っ以 上の画像認識手段 2 9によって決定された、 分離物体領域 1 4 3に対するパターン、 テク スチヤ及び色の認識結果を外部のシステムが入力し終えるまで、それぞれに対応する認識 結果保持手段 3 0はこれらの認識結果を一定期間保持する。 なお、 少なくとも 1つの認識 結果保持手段 3 0が、 パターンの認識結果及びテクスチャの認識結果を混在しながら出力 することもある。 環境理解手段 3 1が生成する環境地図をこの外部のシステムが入力し 終えるまで、 環境地図保持手段 3 3はこの環境地図を一定期間保持する。 物体計数手段 3 5は、 この環境地図から一定時間内に検出された物体の個数を数え、 物体数を出力する。 この物体数をこの外部のシステムが入力し終えるまで、 物体数保持手段 3 6はこの物体数 を一定期間保持する。
次に、 色情報生成手段 4 1は、デジタル画像 1 1 1の各画素から赤色、 黄色及び白色の ような特定の色を表す画素を選び、 色情報画像 1 7 2を生成する。 この色情報画像 1 7 2 は、 明るさが常に変化し、 無数の色が溢れる実世界において物体を認識する場合にはあま り役に立たないが、 血液、 炎、 信号機、 道路標識及びヘッドライトの光など、 注意を必要 としたり、 危険を及ぼす可能性がある物体を急いで探索する場合には極めて有効である。 1つの位& /大きさ検出手段 1 7は、 この色情報画像 1 7 2から、 注意が必要である少な くとも 1個の物体の位置及び大きさを検出し、 重複情報画像 1 3 2を生成する。 1つの画 像/環境座標変換手段 2 1は、 この重複情報画像 1 3 2の各画素を構成する重複情報 1 3 1を環境座標系に投射する。 1つの位置選択手段 2 2は、 全ての重複情報 1 3 1から 1つ を選択する。 一方で、 もう 1つの位置/大きさ検出手段 1 7は、 粗エッジ情報画像 1 1 3 から、 少なくとも 1個の移動物体の位置及び大きさを検出し、 重複情報画像 1 3 2を生成 する。 もう 1つの画像/環境座標変換手段 2 1は、 この重複情報画像 1 3 2の各画素を構 成する重複情報 1 3 1を環境座標系に投射する。 もう 1つの位置選択手段 2 2は、全ての 重複情報 1 3 1から 1つを選択する。 また、 制御命令入力手段 2 4は、 外部から利用者及 び適当なシステムが指示した制御命令を入力する。そこで運動制御手段 2 3は、環境地図 によって表された物体以外にも、移動カメラ 1 0の周辺にある物体及びこの利用者及びこ のシステムが指示した物体の中から 1つを選び、選ばれた物体の環境座標をカメラ命令生 成手段 2 6に伝える。
これにより、本発明が、デジタル画像 1 1 1中の全ての物体に関して、事前に位置、 大 きさ、傾き、 形及び色など如何なる情報を知らなくても、本発明は、デジタル画像 1 1 1 中の全ての物体を探索し、 物体の個数を数えることができる。 したがって本発明の利用者 は、事前に検出対象となる物体の情報を知らなくても、 この利用者は本発明を容易に利用 することができる。 なお、 実際の利用に際しては、 この利用者は第 1 0図の中から必要な 手段だけを選ぶことができるし、 さらに他の手段を追加することもできる。
さて、視覚装置 2で用いられている画像記憶手段 1 2、色情報生成手段 4 1、 エッジ情 報生成手段 1 4、 エッジ情報形成手段 1 5、位置/大きさ検出手段 1 7、位置 Z大きさ Z 傾き検出手段 4 4、 幾何解析手段 3 7、 物体 Z背景分離手段 1 6、 領域正規化手段 2 7、 マスク手段 4 0、 画像保持手段 3 9、 及びパターンマッチング手段 3 8は、配列演算ュ ニット 1 0 0から構成されるデータ処理装置 1 1 0を用いることにより実装することがで きる。そこで以下では、配列演算ユニット 1 0 0を利用したデータ処理装置 1 1 0の実施 形態を挙げ、 この視覚装置 2を図面を参照して説明する。
まず配列演算ユニット 1 0 0は、 入力画像の 1つの画素とその近傍画素を用いること により、 出力画像の 1つの画素を生成する。そこで第 1 1図に示したように、配列演算ュ ニット 1 0 0を入力画像のサイズに合わせて格子状に配列したデータ処理装置 1 1 0を 用いることにより、データ処理装置 1 1 0は入力画像から出力画像を生成することができ る。 なお第 1 1図において、配列演算ユニット 1 0 0を AOUと略記する。 また第 1 1図 では、配列演算ユニット 1 0 0は正方格子状に配列されているが、 勿論実装面積を最小に するために、 配列演算ユニット 1 0 0を六角格子状、 つまり最密充填構造に配置しても良 い。 この場合、 配列演算ユニット 1 0 0間の複数の信号線の一部はジグザグに配線され る。次に配列演算ユニット 1 0 0は専用ハ一ドウエアによって実装されても良いし、 汎用 コンピュータ上でソフトウェアによって実装することもできる。 つまり入力画像から出力 画像を生成することができれば、 実装手段は制限されない。 したがって配列演算ユニット 1 0 0のアルゴリズムを示すことにより、データ処理装置 1 1 0の画像処理を示すことが できる。そこで配列演算ユニット 1 0 0のアルゴリズムを示すために、 第 1 0図で示され た画像記憶手段 1 2、 色情報生成手段 41、エッジ情報生成手段 1 4、 エッジ情報形成手 段 1 5、位置/大きさ検出手段 1 7、位置/大きさ 傾き検出手段 44、幾何解析手段 3 7、 領域正規化手段 27、 マスク手段 40、画像保持手段 3 9、及びパターンマッチング 手段 3 8で用いる数式について説明する。
幅 w、 高さ h、 帯域数 bの任意の 2 n階調画像を x、 y、 wとすると、 x、 y、 wは 各々位置 P ( i, j , k) の帯域画素値 X i j k、 y i j k、 Wi jkを用いて数式 2、 3及 び 4のように表される。 なお太字はベクトルを示す。 また nは非負の整数、 w、 h、 b、 i、 j、 kは自然数である。
x is value at p(i, j, ), 1≤ ≤ 1≤ ≤ ¾, 1≤ ≤ &} (2) y is value at p{i, j,k),l < i < w,l < j < h,l < k < b} (3) w
Figure imgf000062_0001
is value at p(i, j,k),l < i < w,l < j < h,l < k < b} (4) まず前記画像の各帯域画素値に対する点処理に関する関数について以下で説明する。 画像 Xを二値画像に変換する場合、 数式 5に従って帯域画素値を二値化する。 if ijk > 0,
(5)
0 otherwise.
画像 xを帯域最大値画像に変換する場合、数式 6に従って i行 j列の画素の各帯域の値 のうち最大値を選択する。なお前記帯域最大値画像は単帯域画像となるので、便宜上帯域 数 1の前記画像として取り扱うことにする。 したがって関数 B i j ι( X )の第 3添字は 1 となっている。 %i(x) =max{¾fc} (6) お
画像 xが二値画像であるとして、 画像 Xを反転させる場合、 数式 7に従って計算する。
Iijk (-^ ) ~ 1一 ^ijk i 画像 χの位置 P ( i, j , k) における対数変換は数式 8に従って行われる。 ここで e はオフセットであり、 自然対数関数が出力する値が有効範囲に入るようにするために使わ れるので、一般に e =lで十分である。 この対数ィ匕により帯域画素値同士の除算を減算に することができる。 また画像 Xが 2 n階調のデジタル画像 1 1 1であるとすると、 帯域 数に関わらず 2 n個の要素を含むルックアップテ一ブルをメモリ 10 2上に持つならば、 毎回自然対数関数を計算する必要もなく、 標準的な対数表を持つ必要もなくなる。
Lijk{x) ^ln(xijk + e) (8) さて、 画像の位置 p ( i , j , k) における Q近傍の位置の集合 P i j k(Q)は数式 9 によって表される。 ただし qは 4、 8、 24、 48、 80、 1 20、 (2 r + l)2— 1 と 続く数列であり、 rは自然数である。 なお画像サイズをはみ出した位置が集合 P i j k(q )に含まれる場合には、特に指定がない限り位置 P ( i, j , k)を代用するものとする。 またこれ以外のときは、指定に従い、画素値が 0に相当し、 しかも画像に含まれない架空 の位置を代用する。 これにより辺縁処理は自動的に行われる。 したがって集合 P i j k(d )の要素の数 N! j kは常に Qとなる。
{p(i + l,j, k), p(i,j + l,k), p(i- l,j, k), p(i,j- l,k)}
if 9 = 4,
Pij細
{p(l, m, k) \i-r < l < i + r, j一 r < m <j + r, p(l, m, k)≠ p(i, j, k)} iiq= (2r + l)2 - 1.
(9) そこで次に画像の各帯域画素値に対する最大 8近傍 1 8 2の近傍処理に関する関数及 びオペレータについて以下で説明する。
画像 Xの位置 P ( i , j, k) における平滑化は数式 1 0に従って行われる。 ただし i n t (v) は実数 vの小数点以下切り捨てを意味するものとする。 もし画像 Xの帯域画素 値が整数値であるならば、 ハードウェアの実装時に Ni】 k = 4のとき x lmkの総和に対 して右シフト命令を 2回、 Ni j k=8のとき x lmkの総和に対して右シフト命令を 3回 実行するような回路に変更することにより、 除算を実行する回路を省くことができる。
¾¾(x) = int^—— ^ ximk) (10)
ijk p(l,m,k)ePijk(q)
ラプラシアンの計算であるが、 これは数式 1 1に示すように単なる 2階差分オペレータ である。 8近傍 1 8 2の方がノイズの微妙な変化を捉えてゼロ点およびゼロ交差が多く なり、 本発明には向いている。 ただし Ni j kが 4か 8であるので、 もしハードウェアの 実装時に Ni j k==4のとき X i j kに対して左シフト命令を 2回、 Ni j k=8のとき X i j kに対して左シフト命令を 3回実行するような回路に変更することにより、 実数の乗 算を実行する回路を省くことができる。
V|fcX = Ximk - Nijkxijk (11)
p(l,m,k) Pijk(q)
ラプラシアンによつて求められた値からゼロ点を見付ける方法として、 従来は正から負 に変化する画素を見付けていたが、 本発明では数式 1 2に従い、 負から正にゼロ交差す る画素の他に、 負からゼロやゼロから正などゼロ点が経由したり、 ゼロが継続する画素を 見付けるようにする。 本発明では、 数式 1 2が見付けたゼロ点はエッジがある場所ではな く、 ノイズがある場所、 つまりエッジがない場所になる。 また数式 1 2により実数値の二 値化も同時に行っている。
1 if xijk < 0 and ximk≥ 0 forョ m, k) G i¾も (g),
(12)
0 otherwise. 画像 Xが任意の二値画像であるとして、 画像 Xのうち孔が空いている画素を埋める場合 には、 数式 1 3に従い計算する。 ここで fは埋めるべき孔の大きさを表すパラメ一夕であ り、 一般には f = lで十分である。 なお 4近傍の場合にはその性質上対角線を検知するこ とができないので、 極力 8近傍 1 8 2にした方がよい。
11 ∑p(i!m,fc)ePi fc(g) Xlmk + / Nij'fc,
(1
Xijk otherwise.
画像 xが任意の二値画像であるとして、画像 Xのうち孤立点ないし孤立孔を削除する場 合には、 数式 1 4に従い計算する。 なお 4近傍の場合にはその性質上対角線を検知するこ とができないので、 極力 8近傍 1 8 2にした方がよい。
0 if Xijk ― 1 nd ^{i,m,k) Pijk{q) ximk = 0, Α (χ) = { I if Xijk = 0 and ∑P{i,m,k)ePijk{ ) Xlmk = NHk, (14)
Xijk otherwise.
画像 xが任意の二値画像であるとして、 画像 Xのうち線幅が 1である画素を検知するた めに、 4近傍画素を用いて数式 1 5に従い計算する。 a¾も ii Xi-ijk + Xi+ijk = 0 or a¾—i + a¾+1も = 0,
(15)
0 otherwise.
2つの画像 x、 yが任意の二値画像であり、 画像 yが画像 Xのうち線幅が 1である画素 を検知した画像であるとすると、 画像 Xのうち線幅が 1である画素の線幅を拡張するため に、 4近傍画素を用いて数式 1 6に従い計算する。 if Vi-ljk + Vi+ljk + Vij-lk + Vij+lk > 0, .
¾(x, ) (16)
Xijk otherwise.
そこで数式 1 5の線幅検知と数式 1 6の線幅拡張を用いると、 数式 1 7に従い二値画像 の線幅補完を簡単に記述することができる。 ¾( ) = ¾( , J(x)) (17) 次に画像の各帯域画素値に対する近傍処理に関する関数及びオペレータについて以下 で説明する。
2つの画像 x、 yがある場合、 これらの画像の最大値画像は数式 1 8に従って計算され る。
Figure imgf000066_0001
2つの画像 x、 yがある場合、 これらの画像の差分は数式 1 9に従って計算される。 j¾(x, y) = Xijk一 y%jk (19) ここで数式 l 1のラプラシアンと数式 1 9の差分を用いると、数式 2 0に従い画像の鮮 銳化を簡単に記述することができる。
Eijk(-x = Dijk{x, V2 ijkx) (20)
2つの画像 x、 yがあり、 画像 yが単帯域二値画像である場合、 数式 2 1に従い、 画像 yの帯域画素値を用いて画像 Xの各帯域画素値を抜き出すことができる。
Oi fc(x> y) = ijkViji (21)
2つの画像 x、 yがあり、 画像 Xと yが二値画像である場合、 数式 2 2に従い、 画像 x を基に画像 yを整形することができる。
Figure imgf000066_0002
2つの画像 x、 yがあり、 画像 yが二値画像である場合、 数式 2 3に従い、画像 yで指 定されなかつた画像 Xの帯域画素値を、 画像 Xの帯域画素値の近傍のうち画像 yで指定さ れた画像 Xの帯域画素値の平均値で補間する。 ただし i n t (v) は実数 vの小数点以下 切り捨てを意味するものとする。 なお画像 yが二値画像であるため分母は正数となるの で、 メモリ 1 0 2に 1から Qまでの逆数を記憶させることにより、 整数の除算を実数の乗 算に置き換えることができる。
int( := W L) if = 0 andP(^i) P^) ェ > 0, x, y)
'も otherwise.
(23) さて本発明では、画素の位置や移動量なども画像データのように扱うことで処理を単純 にしている。 これを位置の画像化と呼ぶ。 以下では位置の画像化に関する幾つかの関数及 びオペレータについて説明する。
まず位置 P ( 1, m, o) の 1、 m、 o各々の値を画像データとして帯域画素値に変換 するオペレータを #とし、 変換された帯域画素値を # p ( 1 , m, o) とする。 次に帯域 画素値が位置 P ( i , j , k) から位置 p ( i + 1 , j +m, k + o) へ移動する場合を 考える。 このとき帯域画素値の移動量は位置 p ( 1, m, o ) として表されるものとす る。 つまり移動量はある位置からのベクトルと見做すことができる。 最後に帯域画素値 から位置を取り出すオペレータを —1 とする。 したがって # #p ( 1, m, o) = p ( 1 , m, o )となる。
そこで数式 24に従い、 移動量 p ( i , j , k) を幅方向と高さ方向で表される平面内 で 1 80度反対方向に向けることができる。
T(p(i,j,k)) =p(-i,-j,k) (24) 画像 Xがあり、 画像 Xが単帯域二値画像である場合、 画像 Xの位置 p ( i , j , 1 ) に おける重心位置への移動量は数式 25に従い計算される。 なお、 本来重心を計算する際に は除算を行う必要があるが、 8近傍 182内への移動量を計算する際に除算は相殺されて しまうので、 数式 25では除算が省かれている。
Giji{-x) = p{ {l -^imi, L (m - j)ximi,0) (25)
p(l,m,l)ePiji (q) p(l,m,l)ePiji (q)
移動量 P ( i, j, k)から、 数式 26、 27及び 28に従い 8近傍 182内への移動 量を計算し、移動量画像に画像化することができる。なお数式 27及び 28は、画像の離 散化により数式 26では対応しきれない場合にのみ利用する。 fe?(l,0,も) ifi>0, \j\ < HI/2,
ttp(l,—1, k) ifz> 0, j < 0, HI/2 < \j\ < 2|i|,
fc(0, - 1, ) ifj<0, 2\i\ < \j\,
(一 1, - 1, ) ifi < 0, j < 0, \i\/2 < \j\ < 2\i\,
(一 1,0,も) ifi<0, |i|<H|/2, (26) fe? (- 1,1, ) i < 0, > 0, \i\/2 < \j\ < 2\i\,
} (0,l,ん) ifi>0,
Figure imgf000068_0001
M k) iii> 0 > 0, \i\/2< \j\ < 2\i\,
|p(0, 0, k) otherwise.
Figure imgf000068_0002
Hp(l,0, ) ifi>0,i<0, H|/2< |i|<2|¾|,
J (0,l, ) ifi<0,i>0, \i\/2< \j\ < 2\i\,
、 P(i,j, )) = (27)
UP(O,I,も) ifi>0, 2|¾|<|j|,
も) ifi>0,j>0; \i\/2< \j\ < 2\i\,
J}p(0, 0, k) otherwise. HO, -1, k) ifi > 0, jく 0, \i\/2 < \j\ < 2\i\,
HO, -1, k) i · < 0, 2|i| < I
¾p(-l,一 1, k) ぱ iく 0, j < 0, \i\/2 < \j\ < 2\i\,
(28)
¾p(-l,0, k) iii < 0, \j\ < \i\/2,
ϋρ (— 1, 0, k) ϊΐί < 0, j > 0,
Figure imgf000069_0001
j}p(0, 0, k) otherwise.
したがって数式 25、 26、 27及び 28を用いると、 数式 29、 30及び 3 1に従 い、単帯域二値画像 Xの重心方向への移動量画像の帯域画素値を簡単に記述することがで きる。 なお移動量画像の帯域数は 1となる。
Figure imgf000069_0002
A^1(x) = 0"(C?i l(x)) (31) 一方で数式 24を用いると重心位置の反対位置を求めることができるので、数式 32に 従い、単帯域二値画像 Xの重心と反対方向への移動量画像の帯域画素値を簡単に記述する ことができる。 なお移動量画像の帯域数は 1となる。
l(x) = 0(T(Gi l(x))) (32)
2つの画像 x、 yがあり、 画像 yが移動量画像である場合、 数式 3 3に従い、画像 yで 指し示された移動位置に画像 Xの帯域画素値を移動した後、 同じ帯域画素に移動した帯域 画素値の合計を濃淡画像にすることができる。
"jk(x,y) = ∑ximk for p(l, m, 1) G P^q) and |}一1 zmi =p(i一 1,3一 m, 0). (33) そこで数式 5、 29、 30、 3 1及び 33を用いることにより、 数式 34、数式 35及 び数式 36に従い、単帯域濃淡画像 Xを近傍の重心方向に移動した後、 同じ帯域画素に移 動した帯域画素値の合計を簡単に記述することができる <
Figure imgf000070_0001
Λ^(χ) = Γ¾1(χ, Δ'( (χ) (35)
Α¾1(Χ) = Γ¾1(Χ, Δ"( (Χ))) (36)
ところで、数式 3 3において近傍数 Qが 8に限定されると、移動量画像 yは画素毎に 8 近傍 1 8 2の中から移動元を特定することができる。そこで、画像 Xが重複情報画像 1 3 2であり、 しかも第 1 2図に示すように、 Xの各画素の 8近傍 1 8 2に対して反時計回り に 1から 8までの番号が付けられた場合、数式 3 7から数式 4 4までの 8つの数式は、そ れぞれ 8個の移動元毎に、 移動可能な画像 Xの帯域画素値を求めることができる。 if ϋ一1 = p(- , o),
r*-1(x,y) = (37)
0 otherwise. if it一1 yi+ij-— i,i : ρ(-ι5 ι,ο),
2(x, y) = (38)
0 otherwise. if ίί— i,i = P( , 1, 0),
(39) 0 otherwise. - 1,3·- i,i if = P(1, 1, ) ,
r 4(x' y) = (40)
0 otherwise.
Figure imgf000070_0002
if j}一 ¾·— ij'+i'i = p(l,一 1, 0),
(x,y) = (42)
0 otherwise.
Figure imgf000071_0001
if il— +i,i = -1, 0),
(44) 0 otherwise.
そこで数式 34、 35及び 36の代りに数式 45、 46及び 47を用いることにより、 8個の移動元重複情報 1 83から構成される 8帯域濃淡画像 x、 及び重複情報 1 31から 構成される単帯域濃淡画像 yから、 8個の移動元毎の移動元重複情報 1 83が生成され る。
¾(x, y) = Tijk(x, Δ( (γ))) + Γ^( (γ), Δ(Φ( ))) (45) Λ¾¾(χ, y) = Tijk(x, Δ'( (γ))) + Γ*·¾( (γ), Δ'(Φ( ))) (46) Λ¾(χ, y) = ri fc(x, Δ"(Φ( ))) + Γ*.,( ( ), Δ"( ( ))) (47) なお、 条件によっては、 rTjk (Φ (y), Δ (Φ (y))) の代りに、 rTjk (y, Δ (Φ (y))) を用いることもできる。
2つの画像 X、 yがあり、 画像 Xが二値画像で、 画像 yが移動量画像である場合、 画像 Xの各帯域画素値の移動先の位置を求めることができるので、 移動先が重複する帯域画素 値を見つけることができる。 そこで画像 Xの各帯域画素値の移動先が重複することなく、 しかも移動する各帯域画素値が存在することを表す移動可能画像の帯域画素値は、 数式 4 8に従い生成される。 なお移動可能画像の帯域数は 1となる。
1 if iji = 0 and }}一1 Zml = p(i— — m, 0)
Hiji (x, y) = { for only one p(l, m, 1) 6 i¾i {q) , (48)
0 otherwise.
3つの画像 x、 y、 wがあり、 画像 yが移動可能画像であり、 画像 wが移動量画像であ る場合、 数式 49に従い画像 Xの帯域画素値を移動することができる。 ximk if Viji― 1 and |_½imi = p(i— l,j一 m, 0)
for p(l, m, 1) G Piji(q),
Tijk(x, y, w) = 0 if yimi = 1 and #一 p(l -i,m- j, 0) (49) for ap(l, m, 1) G i¾i( ),
Xijk otherwise.
そこで数式 32、 数式 48及び数式 49を用いると、 数式 50に従い、 二値画像 yから 計算される重心位置と反対方向に画像 Xの帯域画素を移動することで得られる画像の帯 域画素値を簡単に記述することができる。
¾fe(x,y) = Ti fc(x,H(y,R(y)),R(y)) (50) そこで数式 2から数式 50までを用いることにより、 第 10図で示された画像記憶手段 1 2、 色情報生成手段 41、 エッジ情報生成手段 14、 エッジ情報形成手段 15、 位置/ 大きさ検出手段 1 7、 位置/大きさ/傾き検出手段 44、 領域正規化手段 27、 マスク手 段 40、 及び画像保持手段 39を実装するデータ処理装置 1 1 0の全ての配列演算ュニッ ト 100のアルゴリズムを記述することができる。 以下では、データ処理装置 1 10中の 任意の配列演算ユニット 100のアルゴリズムを用いて、 画像記憶手段 1 2、 色情報生成 手段 41、 エッジ情報生成手段 14、 エッジ情報形成手段 1 5、 位置/大きさ検出手段 1 7、 位置/大きさ/傾き検出手段 44、 領域正規化手段 27、 マスク手段 40、 及び画像 保持手段 39を説明する。
データ処理装置 1 10によって実現される画像記憶手段 1 2がデジタル画像 1 1 1を記 憶するために、 格子状に配列された配列演算ュニット 1 00は同期して並列に動作する。 格子上 i行 j列に配置された配列演算ユニット 100を AO Uu とすると、 AOU i j のアルゴリズムは第 1 3図のようになる。
ステップ 1 20 1で、 AOU i j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOUi j の近傍を決定するために必要である。 ステップ 1202で、 AOUuの近傍や変数の初期値を設定する。
ステップ 1203で、順次入力されるデジタル画像 111が無くなつたかどうか判断す る。 もしデジタル画像 111が無ければ (ステップ 1203: YES;)、 アルゴリズムを 終了する。 もしデジタル画像 111があれば (ステップ 1203 : N〇)、 ステップ 12 04に移行する。 ただし特定の画像サイズのみに対して配列演算ユニット 100を実装す る場合には、 無限ループにしても良い。
ステップ 1204で、デジタル画像 11 1が準備されるまで入力待ちをする。
ステップ 1205で、デジタル画像 1 1 1の i行 j列の画素を帯域数分入力する。 こ のため AOUi jは少なくとも帯域数分の画像データを記憶するメモリ 102を必要とす る。
ステップ 1206で、入力待ちの間、 出力できるように、デジタル画像 111の i行 j 列の画素を記憶する。
ステップ 1207で、デジタル画像 111の帯域画素値を出力する。その後ステップ 1 203に戻る。
これにより、 配列演算ユニット 100から構成されるデータ処理装置 110を用いて、 画像記憶手段 12はデジタル画像 111を記憶することができる。
第 14図に示すように、データ処理装置 110によって実現される色情報生成手段 41 がデジタル画像 111の各画素から色情報 171を生成するために、格子状に配列された 配列演算ュニット 100は同期して並列に動作する。格子上 i行 j列に配置された配列演 算ユニット 100を AOUi j とすると、 AOUi jのアルゴリズムは第 15図のように なる。
ステップ 4101で、 AOUi jを格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOUi jの近傍を決定するために必要である。
ステップ 4102で、 AOUi』の近傍や変数の初期値を設定する。
ステップ 4103で、順次入力されるデジタル画像 111が無くなつたかどうか判断す る。 もしデジタル画像 111が無ければ (ステップ 4103 : YES), アルゴリズムを 終了する。 もしデジタル画像 1 1 1があれば (ステップ 4 1 0 3 : NO ) , ステップ 4 1 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 1 0 0を実装す る場合には、 無限ループにしても良い。
ステップ 4 1 0 4で、 デジタル画像 1 1 1の i行 j列の画素を帯域数分入力する。 こ のため AOU i jは少なくとも帯域数分の画像デ一夕を記'慮するメモリ 1 0 2を必要とす る。
ステップ 4 1 0 5で、デジタル画像 1 1 1の i行 j列の画素から特定の色を抽出して色 情報 1 7 1を生成する。 生成された色情報 1 7 1は色情報画像 1 7 2の帯域画素値として 扱われる。
ステップ 4 1 0 6で、 色情報画像 1 7 2の帯域画素値を出力する。その後ステップ 4 1
0 3に戻る。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 色情報生成手段 4 1はデジタル画像 1 1 1から色情報画像 1 7 2を生成することができ る。
第 1 6図に示すように、 データ処理装置 1 1 0によって実現されるエッジ情報生成手段 1 4がデジタル画像 1 1 1から粗エッジ情報画像 1 1 3を生成するために、格子状に配列 された配列演算ュニット 1 0 0は同期して並列に動作する。 格子上 i行 j列に配置された 配列演算ュニット 1 0 0を AOU i j とすると、 エッジ情報生成手段 1 4に対する AOU
1 jのアルゴリズムは第 1 7図のようになる。
ステップ 1 4 0 1で、 AOU!』 を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 A〇U U の近傍を決定するために必要である。
ステップ 1 4 0 2で、 AOU i j の近傍や変数の初期値を設定する。 近傍の設定におい ては、前記各関数で使う近傍サイズ Qを個別に 4か 8に決めても良いし、 全部を 4か 8に 統一しても良い。 本発明のエッジ情報生成手段 1 4が生成する粗エッジ情報 1 1 2の正確 さを上げるためには近傍サイズ Qを全て 8に設定することが望ましい。 しかしながら粗 エッジ情報 1 1 2を生成するための計算時間の制約や、デジタル画像 1 1 1の帯域数など により、 エッジ情報生成手段 14は必要に応じて適宜近傍サイズを変えることで対処する ことができる。
ステップ 1403で、デジタル画像 111が終了したかどうか判断する。 もしデジタル 画像 111が無ければ(ステップ 1403 : YES), アルゴリズムを終了する。 もしデ ジタル画像 111があれば (ステップ 1403 : NO), ステップ 1404に移行する。 ただし特定の帯域数と画像サイズに対して配列演算ユニット 100を実装する場合には、 無限ループにしても良い。
ステップ 1404で、デジタル画像 111の i行】列の画素を帯域数分入力する。 これ は、 AOUi』がデジタル画像 111の i行: i列の画素を一括して処理するためである。 このため AOU i jは少なくとも帯域数分の画像データを記憶するメモリ 102を必要と する。
ステップ 1405で、 AOU i jが近傍の配列演算ュニッ卜 100と通信することによ り、 入力したデジタル画像 111の各帯域画素値に対して関数 S i j k( X )に従い平滑化 を行う。 平滑化された帯域画素値は平滑匕画像の帯域画素値として扱われる。 ここで関数 S j j k( X )は必要に応じて数回繰り返しても良い。 一般的な多帯域画像の場合、 この回 数は 2回で十分である。
ステップ 1406で、平滑化画像の各帯域画素値に対して関数 L i j k( X )に従い対数 変換を行う。 対数変換された各帯域画素値は対数変換画像の帯域画素値として扱われる。 ステップ 1407で、 AOUuが近傍の配列演算ユニット 100と通信することによ り、 対数変換画像の各帯域画素値に対して関数 Ei j k( x )に従い鮮鋭化を行う。 鮮鋭化 された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。なおデジタル画像 111に ノイズが多量に含まれている場合には、 このステップを省略することができる。
ステップ 1408で、鮮鋭化画像の各帯域画素値に対して関数 Di j k( X, y )に従い 1入力前鮮鋭化画像の各帯域画素値を引く。差分を計算された帯域画素値は時間差分画像 の帯域画素値として扱われる。
ステップ 1409で、 1入力前鮮鋭化画像の各帯域画素値を鮮鋭化画像の対応する各帯 域画素値で置き換える。
ステップ 1 4 1 0で、 AOU i jが近傍の配列演算ュニット. 1 0 0と通信することによ り、 時間差分画像の各帯域画素値に対してオペレータ V ^ j k Xに従いラプラシアンの計 算を行う。 ラプラシアンを計算された帯域画素値は時間差分ラプラシアン画像の帯域画素 値として扱われる。
ステップ 1 4 1 1で、 AOU j jが近傍の配列演算ュニット 1 0 0と通信することによ り、 時間差分ラプラシアン画像の各帯域画素値に対して関数 Z!』 k ( X )に従いゼロ点を 抽出する。ゼロ点を抽出された帯域画素値は時間差分ゼロ点画像の帯域画素値として扱わ れる。
ステップ 1 4 1 2で、 時間差分ラプラシアン画像の各帯域画素値に対して関数 B i j X )に従い各帯域画素値のうち最大値を検出する。 検出された最大値帯域画素値は最大 値時間差分ゼ口点画像の帯域画素値として扱われる。 なお便宜上帯域数は 1である。 ステップ 1 4 1 3で、 AOU i』が近傍の配列演算ュニット 1 0 0と通信することによ り、 鮮鋭化画像の各帯域画素値に対してオペレータ V ^ j k Xに従いラプラシアンの計算 を行う。 ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱 われる。
ステップ 1 4 1 4で、 AOU i』が近傍の配列演算ュニット 1 0 0と通信することによ り、 ラプラシアン画像の各帯域画素値に対して関数 Z i j k ( X )に従いゼロ点を抽出す る。 ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ 1 4 1 5で、 ラプラシアン画像の各帯域画素値に対して関数 B i j X )に従 い各帯域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像 の帯域画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 4 1 6で、 ラプラシアン画像の各帯域画素値と時間差分ラプラシアン画像の 各帯域画素値に対して関数 M i j k ( x , y )に従い各々の画像の同じ位置にある帯域画素 値のうち最大値を検出する。検出された最大帯域画素値は混成ゼロ点画像の帯域画素値と して扱われる。 なお便宜上帯域数は 1である。 ステップ 1 4 1 7で、 A〇U i』が近傍の配列演算ユニット 1 0 0と通信することによ り、 混成ゼロ点画像の帯域画素値に対して関数 F! j k( x )に従い孔を除去する。孔を除 去された帯域画素値は孔除去混成ゼ口点画像の帯域画素値として扱われる。なお便宜上帯 域数は 1である。 ここで関数 F i j k ( x )は必要に応じて数回繰り返しても良い。一般的 な多帯域画像の場合、 この回数は 1回で十分である。
ステップ 1 4 1 8で、 AOU i』が近傍の配列演算ユニット 1 0 0と通信することによ り、 孔除去混成ゼロ点画像の帯域画素値に対して関数 A i j k ( x )に従い孤立点および孤 立孔を除去する。孤立点および孤立孔を除去された帯域画素値はノイズ除去混成ゼロ点画 像の帯域画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 4 1 9で、 ノイズ除去混成ゼロ点画像の帯域画素値に対して関数 I i j k ( X )に従い 0と 1を反転させる。 反転された帯域画素値は粗エッジ情報画像 1 1 3の帯域画 素値として扱われる。
ステップ 1 4 2 0で、 粗エッジ情報画像 1 1 3の帯域画素値を出力する。その後ステツ プ 1 4 0 3に戻る。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 エッジ情報生成手段 1 4はデジタル画像 1 1 1から粗エッジ情報画像 1 1 3を生成するこ とができる。
第 1 8図に示すように、データ処理装置 1 1 0によって実現されるエッジ情報形成手段 1 5が、粗エッジ情報 1 1 2から構成される粗エッジ情報画像 1 1 3と、デジタル画像 1 1 1と、から、形成エッジ情報 1 1 4から構成される形成エッジ情報画像 1 1 5を生成す るために、格子状に配列された配列演算ユニット 1 0 0は同期して並列に動作する。格子 上 i行 j列に配置された配列演算ユニット 1 0 0を AOU i 3 とすると、 AOU i』のァ Λ^ίリズムは第 1 9図のようになる。
ステップ 1 5 0 1で、 AO U i jを格子上の i行: i列に配置する。 これは論理的であれ 物理的であれ、 AOU i jの近傍を決定するために必要である。
ステップ 1 5 0 2で、 AOU i】の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ qを個別に 4か 8に決めても良いし、 全部を 4か 8に 統一しても良い。本発明のエッジ情報形成手段 1 5が形成した形成エッジ情報 1 1 4の正 確さを上げるためには近傍サイズ Qを全て 8に設定することが望ましい。 しかしながら粗 エッジ情報 1 1 2を形成するための計算時間の制約や、入力されるデジタル画像 1 1 1の 帯域数などにより、 エッジ情報形成手段 1 5は必要に応じて適宜近傍サイズを変えること で対処することができる。
ステップ 1 5 0 3で、順次入力されるデジタル画像 1 1 1又は粗エッジ情報画像 1 1 3 が無くなつたかどうか判断する。 もしデジタル画像 1 1 1又は粗エッジ情報画像 1 1 3が 無ければ(ステップ 1 5 0 3: Y E S )、 アルゴリズムを終了する。 もしデジタル画像 1 1 1及び粗エッジ情報画像 1 1 3があれば (ステップ 1 5 0 3 : NO )、 ステップ 1 5 0 4に移行する。 ただし特定の帯域数と画像サイズに対して配列演算ュニット 1 0 0を実装 する場合には、 無限ループにしても良い。
ステップ 1 5 0 4で、デジタル画像 1 1 1及び粗エッジ情報画像 1 1 3の i行 j列の画 素を帯域数分入力する。 これは、 AOU i jがデジタル画像 1 1 1及び粗エッジ情報画像 1 1 3の i行;!列の画素を一括して処理するためである。 このため AOU i jは少なくと も帯域数分の画像データを記憶するメモリ 1 0 2を必要とする。
ステップ 1 5 0 5で、デジタル画像 1 1 1の i行 j列の画素と粗エッジ情報画像 1 1 3 の i行 j列の画素を分離する。 これは、 A〇U i』がデジタル画像 1 1 1の i行 j列の画 素と粗エッジ情報画像 1 1 3の i行 j列の画素を各々独立した画像の画素として処理する ためである。 もしデジタル画像 1 1 1の i行:)'列の画素と粗エッジ情報画像 1 1 3の i行 j列の画素が初めから分離されて入力されていれば、 特に何もしない。
ステップ 1 5 0 6で、 AOU i 3が近傍の配列演算ュニット 1 0 0と通信することによ り、 入力したデジタル画像 1 1 1の各帯域画素値に対して関数 S i』 k ( X )に従い平滑化 を行う。 平滑化された各帯域画素値は平滑化画像の帯域画素値として扱われる。 ここで関 数 S i j k ( X )は必要に応じて数回繰り返しても良い。 一般的な多帯域画像の場合、 この 回数は 2回で十分である。 ステップ 1 5 0 7で、 平滑化画像の各帯域画素に対して関数 L i j k ( x )に従い対数変 換を行う。 対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。 ステップ 1 5 0 8で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 対数変換画像の各帯域画素値に対して関数 E i j k ( X )に従い鮮鋭化を行う。 鮮鋭化 された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。 なお、デジタル画像 1 1 1 にノイズが多量に含まれている場合、 このステップを省略することができる。
ステップ 1 5 0 9で、 AOU i jが近傍の配列演算ュニッ卜 1 0 0と通信することによ り、 鮮鋭化画像の各帯域画素値に対してオペレータ V j k Xに従いラプラシアンの計算 を行う。 ラプラシアンを計算された帯域画素値はラブラシアン画像の帯域画素値として扱 われる。
ステップ 1 5 1 0で、 AOU! jが近傍の配列演算ュニット 1 0 0と通信することによ り、 ラプラシアン画像の各帯域画素値に対して関数 Z i j k ( X )に従いゼロ点を抽出す る。 ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ 1 5 1 1で、 ゼロ点画像の各帯域画素値に対して関数 B i j X )に従い各帯 域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像の帯域 画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 5 1 2で、 最大値ゼロ点画像の帯域画素値に対して関数 I u k ( X )に従い 0と 1を反転させる。 反転された帯域画素値は基礎エッジ情報画像の帯域画素値として扱 われる。
ステップ 1 5 1 3で、 入力した粗エッジ情報画像 1 1 3の帯域画素値は初め整形粗エツ ジ情報画像の帯域画素値として扱われ、 AOU i jが近傍の配列演算ュニット 1 0 0と通 信することにより、 基礎ェッジ情報画像の帯域画素値を用いて、 整形粗工ッジ情報画像の 帯域画素値に対して関数 Q i j k ( X , y )に従い整形を行う。 整形された帯域画素値は再 び整形粗エッジ情報画像の帯域画素値として扱われる。 ここで関数 Q i j k ( X , y )は本 来整形粗ェッジ情報画像の帯域画素値が変化しなくなるまで繰り返される。 ただし計算時 間の制約、 入力される粗エッジ情報画像 1 1 3の品質、 形成される形成エッジ情報画像 1 1 5に求められる品質などにより、 整形処理は適当な繰り返し回数で計算を打ち切った方 が良い。 - ステップ 1 5 1 4で、 AOU uが近傍の配列演算ュニッ卜 1 0 0と通信することによ り、 整形粗エッジ情報画像の帯域画素値に対して関数 C i j k ( X )に従い線幅補完を行 う。 補完された帯域画素値は形成エッジ情報画像 1 1 5の帯域画素値として扱われる。 ステップ 1 5 1 5で、 形成エッジ情報画像 1 1 5の帯域画素値を出力する。 その後ス テツプ 1 5 0 3に戻る。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 エッジ情報形成手段 1 5は粗エッジ情報画像 1 1 3を形成エッジ情報画像 1 1 5に形成す ることができる。
ここで粗エッジ情報画像 1 1 3から形成エッジ情報画像 1 1 5への形成とは、 ある場面 を撮影した低解像度のデジタル画像 1 1 1から生成されたエッジ情報から、 同じ場面を撮 影した高解像度のデジタル画像 1 1 1から生成されるべきエッジ情報を推定することであ ると見做すことができる。 そこで自然数 nに対して、 第 2 0図に示すように、 デジタル 画像 1 1 1の解像度を l Znに低くした低解像度デジタル画像 1 1 6力 ら、 エッジ情報 生成手段 1 4を用いて低解像度粗エッジ情報画像 1 1 7を生成した場合、 低解像度粗エツ ジ情報画像 1 1 7を n倍拡大することにより粗エッジ情報画像 1 1 3を生成することが できる。 ただしデジタル画像 1 1 1の解像度を 1 /nにするためには、 水平及び垂直方 向に対して単純にデジタル画像 1 1 1の連続する n個のうち 1個を抽出すれば良い。 ま た低解像度粗エッジ情報画像 1 1 7を n倍拡大するためには、 水平及び垂直方向に対し て単純に低解像度粗エッジ情報画像 1 1 7の連続する画素の間に帯域画素値が 0である 画素を n— 1個埋めれば良い。 このとき nがあまり大きくなければ、 エッジ情報形成手 段 1 5を実現するデータ処理装置 1 1 0が、低解像度粗エッジ情報画像 1 1 7を拡大した 粗エッジ情報画像 1 1 3を形成した形成エッジ情報画像 1 1 5と、 エッジ情報形成手段 1 5を実現するデータ処理装置 1 1 0が、デジタル画像 1 1 1から生成した粗エッジ情報画 像 1 1 3を形成した形成エッジ情報画像 1 1 5とは、 ほとんど同じものになる。 この理由 は、 エッジ情報形成手段 1 5がデジタル画像 1 1 1を用いて内部で生成したエッジ情報の うちどのエッジ情報を利用するのか参考にするために、エッジ情報形成手段 1 5が粗エツ ジ情報画像 1 1 3を用いているだけだからである。 したがって低解像度粗エッジ情報画像 1 1 7を拡大した粗エッジ情報画像 1 1 3をエッジ情報形成手段 1 5に入力した場合、 低 解像度デジタル画像 1 1 6から低解像度粗エッジ情報画像 1 1 7を生成するエッジ情報生 成手段 1 4を実現するデータ処理装置 1 1 0は計算量又はハードウェア量を低減すること ができる。
さらにこの方法を発展させると、 第 2 1図に示すように、デジタル画像 1 1 1の解像度 を低くした低解像度デジタル画像 1 1 6カゝら生成した低解像度粗エッジ情報画像 1 1 7の うち、粗エッジ情報 1 1 2の周辺を切り出した低解像度切出粗エッジ情報画像 1 1 8を生 成することができる。 この低解像度切出粗エッジ情報画像 1 1 8を拡大した切出粗エッジ 情報画像 1 1 9と、デジタル画像 1 1 1のうち同じ領域を切り出した切出デジタル画像 1 2 0をエッジ情報形成手段 1 5を実現するデータ処理装置 1 1 0に入力すると、切出形成 エッジ情報画像 1 2 1を生成することができる。 この場合、エッジ情報形成手段 1 5を実 現するデータ処理装置 1 1 0はハードウェア量を低減することができる。 なお視覚装置 2 は、切出デジタル画像 1 2 0が常にデジタル画像 1 1 1の中央になるように移動カメラ 1 0の向き及び倍率を変化させるためのものであると見做すこともできる。
第 2 2図に示すように、データ処理装置 1 1 0によって実現される位置/大きさ検出手 段 1 7が粗エッジ情報 1 1 2を画素とする粗エッジ情報画像 1 1 3から重複情報 1 3 1を 画素とする重複情報画像 1 3 2を生成するために、格子状に配列された配列演算ユニット 1 0 0は同期して並列に動作する。格子上 i行 j列に配置された配列演算ュニット 1 0 0 を AO U ! j とすると、 AOU i』のアルゴリズムは第 2 3図のようになる。
ステップ 1 7 0 1で、 AO U i jを格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU uの近傍を決定するために必要である。
ステップ 1 7 0 2で、 AO U ! jの近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成した重複情報画像 1 3 2の正確さを上げるために は近傍サイズ Qを全て大きな値に設定することが望ましい。 しかしながら物体の粗エッジ 情報 1 1 2の重心を計算するための計算時間の制約や、 入力される粗エッジ情報画像 1 1 3のサイズなどにより、 位置 Z大きさ検出手段 1 7は必要に応じて適宜近傍サイズを変え ることで対処することができる。
ステップ 1 7 0 3で、 順次入力される粗エッジ情報画像 1 1 3が無くなつたかどうか判 断する。 もし粗エッジ情報画像 1 1 3が無ければ (ステップ 1 7 0 3 : Y E S ) , ァルゴ リズムを終了する。 もし粗エッジ情報画像 1 1 3があれば (ステップ 1 7 0 3 : NO )、 ステップ 1 7 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ユニット 1 0 0を実装する場合には、 無限ループにしても良い。
ステップ 1 7 0 4で、 粗エッジ情報画像 1 1 3の i行 j列の画素を 1帯域分入力する。 このため AOU i jは少なくとも 1帯域分の画像データを記憶するメモリ 1 0 2を必要と する。
ステップ 1 7 0 5で、 粗エッジ情報画像 1 1 3の粗エッジ情報 1 1 2を重複情報画像 1 3 2の重複情報 1 3 1に変換する。 重複情報 1 3 1は 1カゝ 0に相当する帯域画素値とな る。
ステップ 1 7 0 6で、 A〇U Uが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ i』 i ( X )に従い移動量を計算す る。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 1 7 0 7で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ! j i ( X )に従い移動量が指し示 す先に移動させる。 移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値として 扱われる。
ステップ 1 7 0 8で、 ステップ 1 7 0 6からステップ 1 7 0 7までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達してい なければ (ステップ 1 7 0 8 : NO )、 ステップ 1 7 0 6に戻る。 もし移動回数が指定回 数に達していれば(ステップ 1 7 0 8: Y E S )、 ステップ 1 7 0 9に移行する。 なおこ の指定回数は形成エッジ情報画像 1 1 5のサイズや形成エッジ情報 1 1 4が表す物体のサ ィズ、 さらには近傍のサイズ qにより決定される。利用目的に応じて適切なパラメータを 設定すれば、指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎる と、 位置及び大きさの検出に要する時間が長くなる。
ステップ 1 7 0 9で、 AOU i jが近傍の配列演算ユニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ '! j i ( X )に従い移動量を計算 する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 1 7 1 0で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ Ί j x ( X )に従い移動量が指し 示す先に移動させる。移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値とし て扱われる。
ステップ 1 7 1 1で、重複情報画像 1 3 2の帯域画素値を出力する。その後ステップ 1 7 0 3に戻る。
なお重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした周辺にある粗エツ ジ情報 1 1 2の総数を表すので、結果的にその位置を中心とした物体の大きさを意味する ことになる。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 位置 Z大きさ検出手段 1 7は粗エッジ情報画像 1 1 3から重複情報画像 1 3 2を生成する ことができる。
ここで第 2 3図のアルゴリズムにおいて粗エッジ情報 1 1 2から構成される粗エッジ情 報画像 1 1 3の代りに物体領域 1 4 1を表す物体領域画像 1 4 2を用いると、 第 2 4図 に示すように、データ処理装置 1 1 0によって実現される位置 Z大きさ検出手段 1 7は物 体領域 1 4 1を表す物体領域画像 1 4 2からも重複情報 1 3 1を表す重複情報画像 1 3 2を生成することができる。 ただし物体領域画像 1 4 2を用いた場合、 重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした物体領域 1 4 1の画素の総数を表すので、 結果的にその位置を中心とした物体の面積を意味することになる。 したがって重複情報画 像 1 3 2から物体の大きさを求める場合には重複情報 1 3 1の平方根を取るなど注意を要 する。 なお形成エッジ情報画像 1 1 5及び色情報画像 1 7 2を用いた場合も同様である。 さて、第 2 5図に示すように、データ処理装置 1 1 0によって実現される位置/大きさ ノ傾き検出手段 4 4が粗エッジ情報 1 1 2を画素とする粗エッジ情報画像 1 1 3カゝら重複 情報 1 3 1を画素とする重複情報画像 1 3 2を生成するために、格子状に配列された配列 演算ュニット 1 0 0は同期して並列に動作する。格子上 i行 j列に配置された配列演算ュ ニット 1 0 0を AOU i j とすると、 A〇U i jのアルゴリズムは第 2 6図のようになる。 ステップ 4 4 0 1で、 A〇U Uを格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU i jの近傍を決定するために必要である。
ステップ 4 4 0 2で、 AOU i jの近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成した重複情報画像 1 3 2の正確さを上げるために は近傍サイズ Qを全て大きな値に設定することが望ましい。 しかしながら物体の粗エッジ 情報 1 1 2の重心を計算するための計算時間の制約や、入力される粗エッジ情報画像 1 1 3のサイズなどにより、位置/大きさ Z傾き検出手段 4 4は必要に応じて適宜近傍サイズ を変えることで対処することができる。
ステップ 4 4 0 3で、順次入力される粗エッジ情報画像 1 1 3が無くなつたかどうか判 断する。 もし粗エッジ情報画像 1 1 3が無ければ(ステップ 4 4 0 3 : Y E S ) , ァルゴ リズムを終了する。 もし粗エッジ情報画像 1 1 3があれば (ステップ 4 4 0 3 : NO )、 ステップ 4 4 0 4に移行する。ただし特定の画像サイズのみに対して配列演算ュニット 1 0 0を実装する場合には、 無限ループにしても良い。
ステップ 4 4 0 4で、粗エッジ情報画像 1 1 3の i行 j列の画素を 1帯域分入力する。 このため AOU i jは少なくとも 1帯域分の画像デ一夕を記憶するメモリ 1 0 2を必要と する。
ステップ 4 4 0 5で、粗エッジ情報画像 1 1 3の粗エッジ情報 1 1 2を重複情報画像 1 3 2の重複情報 1 3 1に変換する。 重複情報 1 3 1は 1か 0に相当する帯域画素値とな る。 また 8個の移動元重複情報 1 8 3は 0に相当する帯域画素値でクリアされる。
ステップ 4 4 0 6で、 A〇U i』が近傍の配列演算ユニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ ^』· j_ ( X )に従い移動量を計算す る。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 4 4 0 7で、 A〇U J』が近傍の配列演算ュニット 1 0 0と通信することによ り、 移動元重複情報画像 1 8 4の各帯域画素値に対して関数 A†j k ( X, y )に従い移動 量が指し示す先に移動させる。 移動した帯域画素値は新たに移動元重複情報画像 1 8 4の 帯域画素値として扱われる。
ステップ 4 4 0 8で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ i』 i ( X )に従い移動量が指し示 す先に移動させる。 移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値として 扱われる。
ステップ 4 4 0 9で、 ステップ 4 4 0 6からステップ 4 4 0 8までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達していな ければ (ステップ 4 4 0 9 : NO ) , ステップ 4 4 0 6に戻る。 もし移動回数が指定回数 に達していれば (ステップ 4 4 0 9 : Y E S ) , ステップ 4 4 1 0に移行する。 なおこの 指定回数は粗エッジ情報画像 1 1 3のサイズや粗エッジ情報 1 1 2が表す物体のサイズ、 さらには近傍のサイズ Qにより決定される。 利用目的に応じて適切なパラメータを設定 すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎると、 位置、 大きさ及び傾きの検出に要する時間が長くなる。
ステップ 4 4 1 0で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ ' i〗 ( X )に従い移動量を計算 する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 4 4 1 1で、 AOU ! jが近傍の配列演算ュニット 1 0 0と通信することによ り、 移動元重複情報画像 1 8 4の各帯域画素値に対して関数 Λ 』 k ( X, y )に従い移 動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元重複情報画像 1 8 4 の帯域画素値として扱われる。
ステップ 4 4 1 2で、 AOU i jが近傍の配列演算ユニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ Ί 3 1 ( X )に従い移動量が指し 示す先に移動させる。移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値とし て扱われる。
ステップ 4 4 1 3で、 ステップ 4 4 0 6からステップ 4 4 1 2までの繰り返し回数を表 す縮退回数が指定回数に達したかどうか判断する。 もし縮退回数が指定回数に達していな ければ (ステップ 4 4 1 3 : NO )、 ステップ 4 4 0 6に戻る。 もし縮退回数が指定回数 に達していれば (ステップ 4 4 1 3 : Y E S ) , ステップ 4 4 1 4に移行する。 なおこの 指定回数は粗エッジ情報画像 1 1 3のサイズや粗エッジ情報 1 1 2が表す物体のサイズ、 さらには近傍のサイズ Qにより決定される。 利用目的に応じて適切なパラメータを設定 すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎると、 位置、 大きさ及び傾きの検出に要する時間が長くなる。
ステップ 4 4 1 4で、重複情報画像 1 3 2の帯域画素値及び移動元重複情報画像 1 8 4 の各帯域画素値を出力する。 その後ステップ 4 4 0 3に戻る。
なお重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした周辺にある粗エツ ジ情報 1 1 2の総数を表すので、 結果的にその位置を中心とした物体の大きさを意味す ることになる。 また重複情報 1 3 1がある画素だけに移動元重複情報 1 8 3があるので、 結果的にその位置を中心とした物体の傾きを意味することになる。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 位置 Z大きさ/"傾き検出手段 4 4は粗エッジ情報画像 1 1 3から重複情報画像 1 3 2及び 移動元重複情報画像 1 8 4を生成することができる。ただし、 もしこの重複情報画像 1 3 2が表す物体のおおよその重心位置が、 実際の重心位置から大きくずれてしまうならば、 ステップ 4 4 1 0において、 関数△ j X )及び関数 Δ " i j X )が交互に用いら れるようにすれば良い。 同様に、 ステップ 4 4 1 1において、 関数 Λ j,,( X , y )及 び関数 Λ '* j k ( χ , y )が交互に用いられ、 ステップ 4 4 1 2において、 関数 Λ j! ( X )及び関数 Λ X )が交互に用いられるようにすれば良い。
ここで第 2 6図のアルゴリズムにおいて、 粗エッジ情報 1 1 2から構成される粗エッジ 情報画像 1 1 3の代りに形成エッジ情報 1 1 4から構成される形成エッジ情報画像 1 1 5 を用いることもできる。 また粗エッジ情報 1 1 2から構成される粗エッジ情報画像 1 1 3 の代りに物体領域 1 4 1を表す物体領域画像 1 4 2を用いると、 第 2 7図に示すように、 位置/大きさ 傾き検出手段 4 4は、 物体領域 1 4 1を表す物体領域画像 1 4 2からも重 複情報画像 1 3 2及び移動元重複情報画像 1 8 4を生成することができる。 ただし物体領 域画像 1 4 2を用いた場合、 重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心と した物体領域 1 4 1の画素の総数を表すので、 結果的にその位置を中心とした物体の面積 を意味することになる。 したがって、 重複情報画像 1 3 2から物体の大きさを求める場合 には、 重複情報 1 3 1の平方根を取るなど注意を要する。 なお、 物体領域画像 1 4 2の代 りに物体の特定の色の有無を表す色情報 1 7 1から構成される色情報画像 1 7 2を用い た場合も同様である。
ここまでは粗エッジ情報画像 1 1 3、 形成エッジ情報画像 1 1 5、 物体領域画像 1 4 2 及び色情報画像 1 7 2から移動元重複情報画像 1 8 4を生成する方法について説明して きた。 以下では、 移動元重複情報 1 8 3から物体の傾き角度を求める方法について説明す る。
まず第 1 2図及ぴ第 2 8図で示された近傍 1から近傍 8までの移動元重複情報 1 8 3 をそれぞれ N 1から N 8とすると、 反時計回りで表される傾き角度 0は例えば数式 5 1に 従って求められる。 なお傾き角度 0はラジアンで表されるものとし、 物体が水平及び垂直 である場合、 傾き角度 0は 0ラジアンとなる。
Figure imgf000088_0001
例えば、 Ν1から Ν 8までの移動元重複情報 183が第 28図のようになる場合、傾き 角度 0は約— 0. 4ラジアンとなる。 数式 51は傾き角度 0を求めるための簡単な数式で あるが、 勿論数式 51よりも細かい条件付けを行うことにより、 本発明の利用者はより正 確に傾き角度 0を求めることができる。 この他に、 水平に対する傾き角度 0を求めるため には、 数式 52が用いられる。
0 if N2 + N6 = 0 and N4 + N8 = 0,
arctan(¾±¾) - f if Nl + N5 > N3 + N7 and N2 + N6 > N4 + N8
Θ = ( except N2 + N6 = 0 and N4 + N8 = 0, (52) arctan(¾±|) + if Nl + N5 > N3 + N7 and N2 + N6 < N4 + N8, arctan(^±^|) 4- f otherwise. なお、 この傾き角度 0が大まかで良いならば、 関数 a r c t an (yZx)は対数表を 用いる必要ばない。 例えば、 この傾き角度 0が、 0ラジアン、 t/4ラジアン、 π/2ラ ジアン及び 37ΤΖ4ラジアンのうちのいずれかを取るだけで良いならば、 関数 a r c t an (yZx)は、 数式 53のように近似されても良い。
0 if α = 0 and y = 0,
0 if 0< く: r/2,
/?、
arct ni— ) ¾ f iiOく y/2≤x≤2y, (53)
Figure imgf000088_0002
0 otherwise. そこで、配列演算ユニット 1 0 0が数式 5 1及び数式 5 2を計算し、 重複情報 1 3 1及 ぴ傾き角度 0から構成される傾き大きさ情報 1 8 5を生成すれば、配列演算ユニット 1 0 0は 8個の移動元重複情報 1 8 3を出力する場合に比べて、 より少ないデータ量を出力す ることができる。例えば、傾き角度 0が 4つに限定される場合、それぞれの傾き角度に対 する重複情報 1 3 1が個別の帯域画素値に割り当てられれば、傾き大きさ情報画像 1 8 6 は 4帯域画像となる。 また、 4つの傾き角度 0が 1つの帯域画素値によって表されれば、 傾き大きさ情報画像 1 8 6は 2帯域画像となる。 この他に、傾き角度 Θが一定の刻み幅で 表されても良いのなら、 メモリ 1 0 2は対数表を持つ代りに必要な数の傾き角度を用意し たルックアップテーブルを記憶するだけで良い。 勿論、配列演算ユニット 1 0 0は数式 5 3のような近似関数を用いても良い。
ところで、 第 2 5図及び第 2 7図では、それぞれ 1個の物体に対して生成された粗エツ ジ情報 1 1 2を含む粗エッジ情報画像 1 1 3及び物体領域 1 4 1を含む物体領域画像 1 4 2が位置 Z大きさ 傾き検出手段 4 4に入力されているが、 勿論粗エッジ情報画像 1 1 3 及び物体領域画像 1 4 2中に複数の物体がある場合でも、位置 Z大きさ/傾き検出手段 4 4は個々の物体の位置、大きさ及び傾きを検出することができる。 さらに第 2 9図に示す ように色情報画像 1 7 2がテクスチャとなる場合でも、位置/大きさ 傾き検出手段 4 4 は個々の色情報 1 7 1の塊から位置、 大きさ及び傾きを検出することができる。 したがつ て位置 大きさ/傾き検出手段 4 4はテクスチャ解析にも利用することができる。
さて、 ここまでは位置 Z大きさ/傾き検出手段 4 4について説明してきた。上述の説明 から明らかなように、粗ェッジ情報画像 1 1 3中の 1個の物体の輪郭が多数の等間隔の線 分で表されるならば、位置/大きさ/傾き検出手段 4 4は、 この粗エッジ情報画像 1 1 3 から、 これらの線分の長さ及び傾きを求めることができる。 しかしながら、任意の位置に ある任意の物体に対して、 このような粗エッジ情報画像 1 1 3を生成するためには、 多数 の大きなマスクを用いた特別な画像処理装置が別途必要であるので、 実際に位置 大き さノ傾き検出手段 4 4は、 1個の物体に対して、 僅かな数の線分を含む粗エッジ情報画像 1 1 3か、 さもなくば形成ェッジ情報画像 1 1 5しか入力することができない。 したがつ て、位置/大きさ Z傾き検出手段 4 4は、上述の方法を用いる限り、 これらの粗エッジ情 報画像 1 1 3から 1個の物体の輪郭を表す複数の線分の長さ及び傾きを求めることはで さない。
ところが、位置 Z大きさ 傾き検出手段 4 4が 8近傍 1 8 2のみに対する局所処理を実 行する場合、 つまり、第 2 6図のステップ 4 4 0 6及びステップ 4 4 1 0において近傍サ ィズ Qが 8である場合、 位置 大きさ 傾き検出手段 4 4は、 条件によっては粗エッジ 情報画像 1 1 3中の粗エッジ情報 1 1 2が構成する複数の線分及び曲線の法線方向を求め ることができる場合がある。特に粗エッジ情報画像 1 1 3中の複数の線分及び曲線の線幅 がおおよそ 2又は 3画素である場合、つまり、 形成エッジ情報 1 1 4に対して、位置/大 きさ/傾き検出手段 4 4は、確実にこれらの線分及び曲線を一定の量以下の形成エッジ情 報 1 1 4に分割し、 さらにこれらの線分及び曲線の法線方向の角度を求めることができ る。例えば第 3 1図の場合、位置/大きさ/傾き検出手段 4 4は、 7平に対して 1 3 5度 傾いた形成エッジ情報画像 1 1 5中の線分に対して、水平に対して 4 5度の角度を出力す る。勿論、位置/大きさノ傾き検出手段 4 4が出力する物体の大きさが、 7K平に対して 1 3 5度傾いた線分の長さになる。 また、第 3 2図の場合、位置 Z大きさ Z傾き検出手段 4 4は、形成エッジ情報画像 1 1 5中の十字形を 5つの線分に分割した後、 形成エッジ情報 画像 1 1 5中の水平線分に対して、 水平に対して 9 0度の角度を出力し、 形成エッジ情報 画像 1 1 5中の垂直線分に対して、 水平に対して 0度の角度を出力する。 次に第 3 3図の 場合、位置/大きさノ傾き検出手段 4 4は、形成エッジ情報画像 1 1 5中の三角形を 6つ の線分に分割し、それぞれ法線方向の角度を出力する。 次に第 3 4図の場合、位置/大き さ 傾き検出手段 4 4は、 形成エッジ情報画像 1 1 5中の四角形を 8つの線分に分割し、 それぞれ法線方向の角度を出力する。 なお、第 3 4図から明らかなように、 四角形の 4つ の角は、それぞれこの四角形の重心方向に傾いた短い線分に変換されている。次に第 3 5 図の場合、位置 Z大きさ Z傾き検出手段 4 4は、形成エッジ情報画像 1 1 5中の 9 0度傾 いた四角形(ここでは菱形という) を 6つの線分に分割し、それぞれ法線方向の角度を出 力する。最後に第 3 6図の場合、位置 大きさ/傾き検出手段 4 4は、形成エッジ情報画 像 1 1 5中の円形を 8つの線分に分割し、それぞれ法線方向の角度を出力する。そこで位 置/大きさ Z傾き検出手段 4 4が数式 5 4を用いてこれらの法線方向の角度に 9 0度を 加えれば、位置 Z大きさ Z傾き検出手段 4 4は、形成エッジ情報画像 1 1 5中の物体の輪 郭を表す複数の線分及び曲線の接線方向の角度を求めることができる。 θ' = {θ + ¾ mod 7Γ (54)
なお、位置/大きさ/傾き検出手段 4 4が形成エッジ情報画像 1 1 5中の物体の輪郭を 表す複数の線分及び曲線の法線方向の角度を出力するものと幾何解析手段 3 7が見做す ならば、 位置 Ζ大きさ/傾き検出手段 4 4は数式 5 2を用いても良い。
そこで、形成エッジ情報画像 1 1 5中の全ての物体の各々に対して、位置/大きさ/傾 き検出手段 4 4が出力する傾き大きさ情報画像 1 8 6の傾き大きさ情報 1 8 5を、幾何解 析手段 3 7が一ヶ所に集めることができれば、幾何解析手段 3 7はこの物体の形を識別す ることができる。 このように複数の情報を一ヶ所に集める方法は、既に位置/大きさ/傾 き検出手段 4 4によって実現されている。 しかしながら、 1個の物体に関連した傾き大き さ情報 1 8 5は傾き大きさ情報画像 1 8 6中に分散しているので、 第 2 9図に示すよう に、幾何解析手段 3 7が位置 大きさ 傾き検出手段 4 4と同様の方法で傾き大きさ情報 1 8 5を一ヶ所に集めることは困難である。そこで以下では、 形成エッジ情報画像 1 1 5 を利用して傾き大きさ情報 1 8 5を一ヶ所に集める位置/大きさ/形検出手段 4 5につい て説明する。
まず、 数式 3 7〜4 4がそれぞれ数式 5 5〜6 2に拡張される。 ここで kは、傾き大き さ情報 1 8 5が表す線分の傾き角度 0が取り得る 0度以上 1 8 0度未満の範囲が複数の 領域に区分された場合、それぞれの領域に割り当てられた番号を表す。例えば傾き角度 0 が 0度、 4 5度、 9 0度及び 1 3 5度の 4つの領域に区分された場合、 k = 0のとき、 k は 0度の領域を表し、 k = lのとき、 kは 4 5度の領域を表し、 k = 2のとき、 kは 9 0 度の領域を表し、 k = 3のとき、 kは 1 3 5度の領域を表すものとする。 +ij9 +9 f (}一1 i+i ·,ι = ρ(— 1 0 0
r 9¾+i(x y) = (55)
0 otherwise. +i,j— 1,9 +9 if it— 1 ι,ι = P(— 1, 1, 0),
(56)
0 otherwise.
19 +9 if |j一1 一 1,1 = P(0, 1 0),
r: (xy) (57)
0 otherwise. 19 +9 f I}一1 1,:ー1,1 = ρ(1, 1, 0
9 +4(x y)― (58)
0 otherwise.
Figure imgf000092_0001
i,j+i9fc+9 if H— i— = P(l 1, 0),
r: :x,y) = (60)
0 otherwise.
Figure imgf000092_0002
¾+i,i+i,9fc+9 11 it— Vi+i,j+i,i = p(—l,— 1, 0),
Ai,,9fc+8 y) = (62)
0 otherwise.
勿論傾き角度 Θを任意の数の領域に区分することも可能であるが、以下では説明を簡単 にするために、 この条件が用いられるものとする。 なお、 数式 5 5 6 2において、 が 0であれば、 数式 5 5 62はそれぞれ数式 37 44になる。 したがって、位置/大き さノ傾き検出手段 44において、複数の配列演算ユニット 1 0 0の各々は、数式 37 4 4の代りに、 それぞれ数式 5 5 6 2を利用することができる。
次に、数式 63が数式 55 62に追加される。 この数式 6 3は、傾き大きさ情報画像 1 86のうち、 傾き角度 0の各々の領域に含まれる傾き大きさ情報 1 85が表す線分の長 さの合計を計算するために用いられる。 r 9fc+9(x,y) = o (63) そこで数式 4 5、 4 6及び 4 7の代りに数式 6 4、 6 5及び 6 6を用いることにより、 3 6個の移動元傾き重複情報 1 8 7から構成される 3 6帯域濃淡画像 Xと、 重複情報 1 3 1から構成される単帯域濃淡画像 yと、 から、 傾き角度 0の各々の領域毎に、 8個の移動 元毎の移動元傾き重複情報 1 8 7と、 傾き大きさ情報 1 8 5が表す線分の長さの合計を表 す移動元傾き重複情報 1 8 7と、 が生成される。
A y) = Γ χ, Δ( (γ))) + Γ^(χ, Α(Φ(γ))) (64) Α'( (γ))) (65)
Figure imgf000093_0001
Δ"( ( ))) (66) さて、 第 3 7図〜第 4 1図に示すように、データ処理装置 1 1 0によって実現される位 置/大きさ/形検出手段 4 5が形成エッジ情報 1 1 4を画素とする形成エッジ情報画像 1 1 5から重複情報 1 3 1を画素とする重複情報画像 1 3 2を生成し、 さらに傾き大きさ情 報 1 8 5を画素とする傾き大きさ情報画像 1 8 6から移動元傾き重複情報 1 8 7を画素 とする移動元傾き重複情報画像 1 8 8を生成するために、格子状に配列された配列演算ュ ニット 1 0 0は同期して並列に動作する。格子上 i行 j列に配置された配列演算ュニット 1 0 0を AO U i j とすると、 AO U i』 のアルゴリズムは第 4 2図のようになる。
ステップ 4 5 0 1で、 AO U i』 を格子上の i行】列に配置する。 これは論理的であれ 物理的であれ、 AO U uの近傍を決定するために必要である。
ステップ 4 5 0 2で、 AO U i』の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成した重複情報画像 1 3 2の正確さを上げるために は近傍サイズ Qを全て大きな値に設定することが望ましい。 しかしながら物体の形成エツ ジ情報 1 1 4の重 を計算するための計算時間の制約や、 入力される形成エッジ情報画像 1 1 5のサイズなどにより、 位置 Z大きさ/ "傾き検出手段 4 4は必要に応じて適宜近傍サ ィズを変えることで対処することができる。
ステップ 4 5 0 3で、 順次入力される形成エッジ情報画像 1 1 5が無くなったかどう か判断する。 もし形成エッジ情報画像 1 1 5が無ければ (ステップ 4 5 0 3 : Y E S )、 アルゴリズムを終了する。 もし形成エッジ情報画像 1 1 5があれば (ステップ 4 5 0 3 : NO )、 ステップ 4 5 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ュ ニット 1 0 0を実装する場合には、 無限ループにしても良い。
ステップ 4 5 0 4で、 形成エッジ情報画像 1 1 5の i行 j列の画素と傾き大きさ情報画 像 1 8 6の i行 j列の画素を 1帯域分入力する。 このため A〇U i」·は少なくとも 1帯域 分の画像データを記憶するメモリ 1 0 2を必要とする。
ステップ 4 5 0 5で、 形成エッジ情報画像 1 1 5の i行 j列の画素と傾き大きさ情報画 像 1 8 6の i行 j列の画素を分離する。 もし形成エッジ情報画像 1 1 5の i行 j列の画素 と傾き大きさ情報画像 1 8 6の i行 j列の画素が初めから分離されて入力されていれば、 特に何もしない。
ステップ 4 5 0 6で、 形成エッジ情報画像 1 1 5の形成エッジ情報 1 1 4を重複情報画 像 1 3 2の重複情報 1 3 1に変換する。 重複情報 1 3 1は 1か 0に相当する帯域画素値と なる。
ステップ 4 5 0 7で、 傾き大きさ情報画像 1 8 6の傾き大きさ情報 1 8 5を移動元傾き 重複情報画像 1 8 8の移動元傾き重複情報 1 8 7に変換する。 傾き大きさ情報 1 8 5が表 す線分の傾き角度 0の全ての領域の各々に対して、 中央に位置する移動元傾き重複情報 1 8 7は非負の整数に相当する帯域画素値となる。 また 3 2個の移動元傾き重複情報 1 8 7 は 0に相当する帯域画素値でクリアされる。
ステップ 4 5 0 8で、 A〇U } jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ i j ( X )に従い移動量を計算す る。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。 ステップ 4 5 0 9で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 移動元傾き重複情報画像 1 8 8の各帯域画素値に対して関数 A^ k ( X , y )に従い 移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元傾き重複情報画像 1 8 8の帯域画素値として扱われる。
ステップ 4 5 1 0で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ i j i ( X )に従い移動量が指し示 す先に移動させる。移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値として 扱われる。
ステップ 4 5 1 1で、 ステップ 4 5 0 8からステップ 4 5 1 0までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達してい なければ(ステップ 4 5 1 1 : NO )、 ステップ 4 5 0 8に戻る。 もし移動回数が指定回 数に達していれば(ステップ 4 5 1 1 : Y E S ) , ステップ 4 5 1 2に移行する。 なおこ の指定回数は形成エッジ情報画像 1 1 5のサイズや形成エッジ情報 1 1 4が表す物体のサ ィズ、 さらには近傍のサイズ qにより決定される。利用目的に応じて適切なパラメータを 設定すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎる と、 位置、 大きさ及び形の検出に要する時間が長くなる。
ステップ 4 5 1 2で、 A〇U j jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ j X )に従い移動量を計算 する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。 ステップ 4 5 1 3で、 AOU i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 移動元傾き重複情報画像 1 8 8の各帯域画素値に対して関数 Λ H( X, y )に従 い移動量が指し示す先に移動させる。移動した帯域画素値は新たに移動元傾き重複情報画 像 1 8 8の帯域画素値として扱われる。
ステップ 4 5 1 4で、 A〇U i jが近傍の配列演算ュニット 1 0 0と通信することによ り、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ ' j j i ( X )に従い移動量が指し 示す先に移動させる。移動した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値とし て扱われる。
ステップ 4 5 1 5で、 ステップ 4 5 0 8からステップ 4 5 1 4までの繰り返し回数を表 す縮退回数が指定回数に達したかどうか判断する。 もし縮退回数が指定回数に達してい なければ(ステップ 4 5 1 5 : N〇)、 ステップ 4 5 0 8に戻る。 もし縮退回数が指定回 数に達していれば (ステップ 4 5 1 5 : Y E S ) , ステップ 4 5 1 6に移行する。 なおこ の指定回数は形成エッジ情報画像 1 1 5のサイズや形成エッジ情報 1 1 4が表す物体のサ ィズ、 さらには近傍のサイズ qにより決定される。利用目的に応じて適切なパラメータを 設定すれば、指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎる と、 位置、 大きさ及び傾きの検出に要する時間が長くなる。
ステップ 4 5 1 6で、重複情報画像 1 3 2の帯域画素値及び移動元傾き重複情報画像 1 8 8の各帯域画素値を出力する。 その後ステップ 4 5 0 3に戻る。
なお重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした周辺にある形成 エッジ情報 1 1 4の総数を表すので、結果的にその位置を中心とした物体の大きさを意味 することになる。 また重複情報 1 3 1がある画素の近傍に移動元傾き重複情報 1 8 7があ るので、 殆んど全ての移動元傾き重複情報 1 8 7が重複情報 1 3 1と一緒に一ヶ所に集ま る。 さらに、線分の傾き角度 Θの領域毎に中央に位置する移動元傾き重複情報 1 8 7の合 計が物体の大きさとほぼ一致することになる。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 位置 Z大きさ Z形検出手段 4 5は形成エッジ情報画像 1 1 5から重複情報画像 1 3 2及び 移動元傾き重複情報画像 1 8 8を生成することができる。ただし、 もしこの重複情報画像 1 3 2が表す物体のおおよその重心位置が、実際の重心位置から大きくずれてしまうなら ば、 ステップ 4 5 1 2において、 関数△ヽ 3 Λ X )及び関数 Δ " i j x )が交互に用 いられるようにすれば良い。 同様に、 ステップ 4 5 1 3において、 関数 Λ ^ k ( X , y )及び関数 Λ "* * k ( x , y )が交互に用いられ、 ステップ 4 5 1 4において、 関数 Λ, i j x ( X )及び関数 Λ " u l ( x )が交互に用いられるようにすれば良い。
ここで、 傾き角度 0が数式 5 4に従って、 0度(0ラジアン)、 4 5度(7T// 4ラジア ン)、 9 0度(ττΖ 2ラジアン) 及び 1 3 5度(3兀 4ラジアン) の 4つの領域に区分 された場合を考える。 つまり、 この傾き角度 0は、 形成エッジ情報画像 1 1 5が表す線分 の接線方向の角度を表す。 以下では、 この場合を例に、移動元傾き重複情報画像 1 8 8か ら形大きさ情報画像 1 9 0を生成する方法について説明する。
まず、 3 6帯域濃淡画像 Xが移動元傾き重複情報画像 1 8 8であるとする。したがって、 画像 Xは 9帯域毎に 4つの画像に分割され、それぞれ 0度、 4 5度、 9 0度及び 1 3 5度 に区分される傾き角度 0の線分に対応する-4移動元重複情報画像 1 8 4となる。 このとき、 数式 5 2が、 数式 6 7に変形されることにより、 これらの線分の移動方向 0 3 ,- + ι ( X )が求められる。 なお、 k = 0のとき、 kは 0度の傾き領域を表し、 k = lのとき、 k は 4 5度の領域を表し、 k = 2のとき、 kは 9 0度の領域を表し、 k = 3のとき、 kは 1 3 5度の領域を表すものとする。
if Xi,j,Qk+2 + ^i, ,9fc+6 = 0
and Xi,j,9k+ + Xi,j,9k+8 = 0,
if ¾, ,9fe+l + Xi,j,Qk+5≥ ^i,j,9k+Z + ¾j',9fc+7 and a¾,j,9fc+2 + ¾J,9fc+6≥ 9fc+4 + a¾,j,9も +8 except Xi,j,Qk+2 + ,9fc+6 = 0
Figure imgf000097_0001
arCtan(tSSS¾SS) + T if Xi>j,9k+1 + Xi,j,9k+5 ≥ Xi,j,9k+3 + Xi,j,9k+7 and Xijtgk+2 + Xi,j,9k+6 < ^i,j,9k+4 + Xi,j,9k+8,
Figure imgf000097_0002
勿論、 移動方向 0 ^, j ( k + 1 ( x )が一定の刻み幅で表されても良いのなら、 メモリ 1 0 2は対数表を持つ代りに必要な数の移動方向を用意したルックァップテーブルを記憶す るだけで良い。
そこで、 3 6帯域濃淡画像 Xの位置 p ( i, j , k )における物体の形 χ i j X )は、 水平線分(0度)、 右上がり線分(4 5度)、 垂直線分(9 0度)、 右下がり線分(1 3 5 度)、 十字形(0度)、 X形(4 5度)、 星形(十字形と X形の組み合せ)、 上向き三角形、 下向き三角形、 左向き三角形、 右向き三角形、 四角形、菱形(9 0度)、 円形及びその他 のうちのいずれかであり、それぞれに 1 1 5の番号が割り当てられるものとする。 この とき物体の形 χ u 1 ( X )は数式 6 8及び 6 9に従って計算される。なお帯域数は便宜上 1である。
ττ, ,
Figure imgf000098_0001
(68) Xyi(x)
Figure imgf000099_0001
9) 勿論、 数式 6 8及び 6 9は精度に応じて条件を変更することができる。 また、 数式 6 8 及び 6 9がさらに細かく条件分けされれば、 数式 6 8及び 6 9は歪んだ物体及びノイズが 多い画像中の物体の形も識別することができる。 さらに数式 6 8及び 6 9の代りに、 パー セプトロンのようなニューラルネットワークが用いられても良い。 一方で、 数式 6 7が数 式 5 3を用いて、 0度(0ラジアン)、 4 5度(7TZ4ラジアン)、 9 0度(ττ_/ 2ラジア ン)及び 1 3 5度(3 ττΖ4ラジアン) のうちのいずれか 1つしか出力しなければ、 数式 6 8及び 6 9の条件式はもつと簡単になる。
そこで、 位置/大きさ Ζ形検出手段 4 5における複数の配列演算ュニット 1 0 0の各々 が、 数式 6 8及び 6 9から求められた物体の形 χ i j k ( x )と、重複情報画像 1 3 2の i 行 j 列の重複情報 1 3 1と、 を組み合せて形大きさ情報 1 8 9を生成することにより、 位置 Z大きさ 形検出手段 4 5は各々の帯域画素値が、 対応する図形の大きさを表す 1 5 帯域の形大きさ情報画像 1 9 0を出力することができる (第 4 5図参照)。 勿論、 この位 置/大きさ 形検出手段 4 5は、 1つの帯域画素値が図形の番号を表し、 もう 1つの帯域 画素値がこの図形の大きさを表す 2帯域の形大きさ情報画像 1 9 0を出力しても良い。 さて、 位置/大きさ/傾き検出手段 4 4及び位置 Z大きさノ形検出手段 4 5を組み合せ ることにより、 視覚装置 2は形成エッジ情報画像 1 1 5から物体の形を検出することがで きる。 そこで以下では、 この位置 Z大きさ Z傾き検出手段 4 4及び位置/大きさ Z形検出 手段 4 5の組み合せである幾何解析手段 3 7について説明する。
まず、 第 4 3図に示すように、 幾何解析手段 3 7は、 位置 Z大きさ/傾き検出手段 4 4 及び位置 Z大きさ/形検出手段 4 5から構成される。 さらに位置 Z大きさ Z傾き検出手段 4 4が物体のエッジがあるかないかを表す形成エッジ情報 1 1 4から構成される形成エツ ジ情報画像 1 1 5を入力して、傾き大きさ情報 1 8 5から構成される傾き大きさ情報画像 1 8 6を出力し、 位置/大きさ/形検出手段 4 5が形成エッジ情報画像 1 1 5及び傾き大 きさ情報画像 1 8 6を入力し、 移動元傾き重複情報 1 8 7から構成される移動元傾き重 複情報画像 1 8 8を出力する。 例えば第 4 3図では、 幾何解析手段 3 7が、 三角形の輪郭 を表す形成エッジ情報画像 1 1 5から水平に対して 0度、 4 5度及ぴ 1 3 5度傾いた線分 を検出している。 なお、第 4 4図に示すように、形成エッジ情報画像 1 1 5が三角形の輪 郭を破線で表わすとしても、幾何解析手段 3 7は、 この三角形の形を検出することができ る。 このことは、位置/大きさ/傾き検出手段 4 4が図形を構成する少なくとも 1つの線 分を細切れにするという特徴から容易に推察され得る。
次に、第 4 5図に示すように、幾何解析手段 3 7は、形成エッジ情報画像 1 1 5中の物 体の形の識別結果を表す形大きさ情報 1 8 9から構成される形大きさ情報画像 1 9 0を直 接出力することができる。 この場合、位置/大きさ 形検出手段 4 5は移動元傾き重複情 報画像 1 8 8から物体の形を識別する手段を必要とするが、幾何解析手段 3 7が出力する 識別結果のデータ量は移動元傾き重複情報画像 1 8 8と比べて大幅に少なくなる。 なお、 第 4 5図では、形大きさ情報画像 1 9 0が全ての形が異なる帯域に割り振られるように示 されているが、 この形大きさ情報画像 1 9 0が形を表す帯域と大きさを表す帯域から構成 される 2帯域画像であっても良い。
最後に、第 4 6図に示すように、幾何解析手段 3 7は、顔パターンのように複数の図形 から構成されるパターンに対して、 各々の図形の位置、大きさ及び形を検出することがで きる。 また、第 4 7図に示すように、幾何解析手段 3 7は、テクスチャを複数の微小領域 に分割して、 各々の微小領域の図形の形及び大きさを検出することもできる。
なお、 ここでは、幾何解析手段 3 7が形成エッジ情報画像 1 1 5を用いた場合について 説明したが、線幅がおおよそ 2又は 3画素であるような単帯域画像であれば、 この画像が どのように生成されても良い。
さて、第 4 8図に示すように、データ処理装置 1 1 0によって実現される領域正規化手 段 2 7が物体領域 1 4 1を含む物体領域画像 1 4 2、及び物体領域 1 4 1と重なる分離物 体領域 1 4 3を含むデジタル画像 1 1 1から正規化領域 1 4 4を含む正規化画像 1 4 5 を生成するために、格子状に配列された配列演算ユニット 1 0 0は同期して並列に動作す る。 格子上 i行 j列に配置された配列演算ュニット 1 0 0を A〇U i j とすると、 AOU i jのアルゴリズムは第 4 9図のようになる。
ステップ 2 7 0 1で、 A〇U uを格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 A〇U Uの近傍を決定するために必要である。
ステップ 2 7 0 2で、 AOU i jの近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明の領域正規化手段 2 7が生成した正規化画像 1 4 5の正確さを上げるためには近 傍サイズ qを全て大きな値に設定することが望ましい。 しかしながら分離物体領域 1 4 3 を正規化するための計算時間の制約や、入力されるデジタル画像 1 1 1のサイズなどによ り、領域正規化手段 2 7は必要に応じて適宜近傍サイズを変えることで対処することがで きる。
ステップ 2 7 0 3で、順次入力される物体領域画像 1 4 2又はデジタル画像 1 1 1が無 くなつたかどうか判断する。 もし物体領域画像 1 4 2又はデジタル画像 1 1 1が無けれ ば(ステップ 2 7 0 3 : Y E S ) , アルゴリズムを終了する。 もし物体領域画像 1 4 2及 びデジタル画像 1 1 1があれば(ステップ 2 7 0 3 : NO )、 ステップ 2 7 0 4に移行す る。ただし特定の帯域数及び画像サイズのみに対して配列演算ユニット 1 0 0を実装する 場合には、 無! レープにしても良い。
ステップ 2 7 0 4で、物体領域画像 1 4 2の i行 j列の画素を 1帯域分と、デジタル画 像 1 1 1の i行 j列の画素を帯域数分を入力する。 これは、 AOU i jが物体領域画像 1 4 2の i行 j列の画素とデジタル画像 1 1 1の i行 j列の画素を一括して処理するため である。 このため AOU i jは少なくとも総帯域数分の画像データを記憶するメモリ 1 0 2を必要とする。
ステップ 2 7 0 5で、物体領域画像 1 4 2の i行 j列の画素とデジタル画像 1 1 1の i 行 j列の画素を分離する。 これは、 AOU! jが物体領域画像 1 4 2の i行 j列の画素と デジタル画像 1 1 1の i行 j列の画素を各々独立した画像の画素として処理するためであ る。 もし物体領域画像 1 4 2の i行:)'列の画素とデジタル画像 1 1 1の i行 j列の画素が 初めから分離されて入力されていれば、特に何もしない。物体領域画像 1 4 2及びデジタ ル画像 1· 1 1は各々更新物体領域画像及び更新デジタル画像にコピーされる。
ステップ 2 7 0 6で、 AOU i】が近傍の配列演算ュニット 1 0 0と通信することによ り、 更新物体領域画像の各帯域画素値に対して関数 R i j X )に従い移動量を計算す る。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 2707で、 AOUuが近傍の配列演算ユニット 100と通信することによ り、 更新物体領域画像の各帯域画素値に対して関数 Hi j k( x , y )に従い移動可能な移 動先帯域画素値を見つけることができる。移動可能な移動先であるかどうかを表す値は移 動可能画像の帯域画素値として扱われる。
ステップ 2708で、 AOUi jが近傍の配列演算ユニット 100と通信することによ り、 更新物体領域画像の各帯域画素値に対して関数 U i j k( X , y )に従い移動可能先に 移動させる。 移動した帯域画素値は新たに更新物体領域画像の帯域画素値として扱われ る。
ステップ 2709で、 AOUi jが近傍の配列演算ュニット 100と通信することによ り、 更新デジタル画像の各帯域画素値に対して関数 Ui j k( x, y )に従い移動可能先に 移動させる。 移動した帯域画素値は新たに更新デジタル画像の帯域画素値として扱われ る。 .
ステップ 2710で、 ステップ 2706からステップ 2709までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達していな ければ (ステップ 2710 : NO)、 ステップ 2706に戻る。 もし移動回数が指定回数 に達していれば (ステップ 2710 : YES), ステップ 2711に移行する。 なおこの 指定回数はデジタル画像 111のサイズやデジタル画像 111の分離物体領域 143の サイズ、 さらには近傍のサイズ qにより決定される。 利用目的に応じて適切なパラメ一夕 を設定すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎ ると、 正規化に要する時間が長くなる。
ステップ 2711で、 AOUi jが近傍の配列演算ユニット 100と通信することによ り、 移動を完了した更新物体領域画像の各帯域画素値に対して関数 Vi j k( x, y )に従 い近傍の平均値で補間する。 なお Xと yは共に更新物体領域画像となる。 平均値で埋めら れた帯域画素値は正規化された更新物体領域画像の帯域画素値として扱われる。 ステップ 2 7 1 2で、 AOU i jが近傍の配列演算ユニット 1 0 0と通信することによ り、 移動を完了した更新デジタル画像の各帯域画素値に対して関数 V i j k ( X , y )に従 い近傍の平均値で埋める。なお Xは更新デジタル画像となり、 yは更新物体領域画像とな る。平均値で埋められた帯域画素値は正規化された更新デジタル画像の帯域画素値として 扱われる。
ステップ 2 7 1 3で、 ステップ 2 7 1 1からステップ 2 7 1 2までの繰り返し回数を表 す補間回数が指定回数に達したかどうか判断する。 もし補間回数が指定回数に達していな ければ (ステップ 2 7 1 3 : NO )、 ステップ 2 7 1 1に戻る。 もし補間回数が指定回数 に達していれば (ステップ 2 7 1 3 : Y E S )、 ステップ 2 7 1 4に移行する。 一般的に 補間回数は近傍サイズ Qの半分程度の回数で十分である。
ステップ 2 7 1 4で、 ステップ 2 7 0 6からステップ 2 7 1 3までの繰り返し回数を表 す継続回数が指定回数に達したかどうか判断する。 もし継続回数が指定回数に達していな ければ (ステップ 2 7 1 4: N〇)、 ステップ 2 7 0 6に戻る。 もし継続回数が指定回数 に達していれば (ステップ 2 7 1 4: Y E S ) , ステップ 2 7 1 5に移行する。 なおこの 指定回数はデジタル画像 1 1 1のサイズやデジタル画像 1 1 1の分離物体領域 1 4 3の サイズ、 さらには近傍のサイズ Qにより決定される。利用目的に応じて適切なパラメ一夕 を設定すれば、指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎ ると、 正規化に要する時間が長くなる。
ステップ 2 7 1 5で、更新デジタル画像の帯域画素値を正規化画像 1 4 5の帯域画素値 として出力する。 その後ステップ 2 7 0 3に戻る。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 領域正規化手段 2 7が物体領域画像 1 4 2及びデジタル画像 1 1 1から正規化画像 1 4 5を生成することができる。
ここで、形大きさ情報画像 1 9 0のように、 1画素が独立した情報を有する場合、領域 正規化手段 2 7は画素間の補間をする必要はない。 この場合、第 5 0図に示すように、領 域正規化手段 2 7は、 ステップ 2 7 1 0、 2 7 1 1、 2 7 1 2及び 2 7 1 3を省略するこ とができる。 つまり、 この領域正規化手段 2 7は、 関数 V i j k ( X, y )を実行しなくて も良い。 したがって、 配列演算ユニット 1 0 0がハードウェアによって実現される場合、 除算回路は省略され得る。 なお、 従来通り分離物体領域 1 4 3を正規化した正規化画像 1 4 5を用いる方法も、 目玉模様や縞模様をパターンマッチングする際には有用である。 第 5 1図に示すように、データ処理装置 1 1 0によって実現されるマスク手段 4 0がデ ジタル画像 1 1 1及び物体領域画像 1 4 2からマスク画像 1 4 8を生成するために、 格子 状に配列された配列演算ュニット 1 0 0は同期して並列に動作する。格子上 i行 j列に配 置された配列演算ユニット 1 0 0を 011 ^ とすると、 AOU i jのアルゴリズムは第 5 2図のようになる。 '' ステップ 4 0 0 1で、 A〇U i j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AO U i j の近傍を決定するために必要である。
ステップ 4 0 0 2で、 AOU i』 の近傍や変数の初期値を設定する。
ステップ 4 0 0 3で、 順次入力されるデジタル画像 1 1 1又は物体領域画像 1 4 2が無 くなつたかどうか判断する。 もしデジタル画像 1 1 1又は物体領域画像 1 4 2が無ければ (ステップ 4 0 0 3 : Y E S ) , アルゴリズムを終了する。 もしデジタル画像 1 1 1及び 物体領域画像 1 4 2があれば(ステップ 4 0 0 3: N〇)、 ステップ 4 0 0 4に移行する。 ただし特定の帯域数と画像サイズに対して配列演算ュニット 1 0 0を実装する場合には、 無限ループにしても良い。
ステップ 4 0 0 4で、 デジタル画像 1 1 1及び物体領域画像 1 4 2の i行 j列の画素を 帯域数分入力する。 これは、 AOU i jがデジタル画像 1 1 1及び物体領域画像 1 4 2の i行 j列の画素を一括して処理するためである。 このため AOU i jは少なくとも帯域数 分の画像データを記憶するメモリ 1 0 2を必要とする。
ステップ 4 0 0 5で、 デジタル画像 1 1 1の各帯域画素に対して関数 O i j k ( x, y ) に従いマスク処理を行う。 マスクされた帯域画素値はマスク画像 1 4 8の帯域画素値と して扱われる。
ステップ 4 0 0 6で、 マスク画像 1 4 8の帯域画素値を出力する。 その後ステップ 4 0 0 3に戻る。
これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 マスク手段 4 0はデジタル画像 1 1 1中の分離物体領域 1 4 3以外をマスクすることが できる。
データ処理装置 1 1 0によって実現される画像保持手段 3 9が正規ィ匕画像 1 4 5を記憶 するために、格子状に配列された配列演算ユニット 1 0 0は同期して並列に動作する。格 子上 i行:) '列に配置された配列演算ユニット 1 0 0を AOU i j とすると、 AOU i jの アルゴリズムは第 5 3図のようになる。
ステップ 3 8 0 1で、 AO U i jを格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU uの近傍を決定するために必要である。
ステップ 3 8 0 2で、 A〇U Uの近傍や変数の初期値を設定する。
ステップ 3 8 0 3で、 順次入力される正規化画像 1 4 5が無くなったかどうか判断す る。 もし正規化画像 1 4 5が無ければ(ステップ 3 8 0 3 : Y E S ) , アルゴリズムを終 了する。 もし正規化画像 1 4 5があれば(ステップ 3 8 0 3 : N〇)、 ステップ 3 8 0 4 に移行する。ただし特定の画像サイズのみに対して配列演算ユニット 1 0 0を実装する場 合には、 無限ループにしても良い。
ステップ 3 8 0 4で、正規化画像 1 4 5の i行 j列の画素を帯域数分入力する。 このた め AOU i j .は少なくとも帯域数分の画像データを記憶するメモリ 1 0 2を必要とする。 ステップ 3 8 0 5で、 出力先の装置が必要とすれば正規化画像 1 4 5のフォーマットを 変換する。特に正規化画像 1 4 5の帯域数を 1にしたり、デジタル画像 1 1 1の帯域数が 4以上の場合に正規化画像 1 4 5の帯域数を 3にして、 アナログ信号を生成しやすくする 場合に便利である。 さもなくば何もしない。
ステップ 3 8 0 6で、処理速度の異なる出力先の装置に画像データを確実に送信できる ように、 正規化画像 1 4 5の i行 j列の画素を記憶する。
ステップ 3 8 0 7で、正規化画像 1 4 5の帯域画素値を出力する。 その後ステップ 3 8 0 3に戻る。 これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 画像保持手段 3 9が正規化画像 1 4 5を出力することができる。 なおデジタル画像 1 1 1 及びマスク画像 1 4 8を保持する画像保持手段 3 9も同様に動作する。
ここまではデータ処理装置 1 1 0が 1個又は 2個の画像を入力して近傍処理のみからな る画像処理を行うような画像記憶手段 1 2、 色情報生成手段 4 1、 エッジ情報生成手段 1 4、 エッジ情報形成手段 1 5、 位置/大きさ検出手段 1 7、 位置/大きさ/傾き検出手段 4 4、 領域正規化手段 2 7、 マスク手段 4 0、 及び画像保持手段 3 9について説明してき た。 しかしながらパターンマッチング手段 3 8は非常に多数の画像を用いなければならな レ^ そこで以下ではパターンマッチング手段 3 8で用いる近傍処理を示しながら、データ 処理装置 1 1 0によってパターンマッチング手段 3 8を実現する方法について説明する。 まず 1つの画像を Xとし、 n個のテンプレート画像 1 4 6を y y 2、、、 y h、、、 y nとする。 自然数 gを用いると、 マッチング結果画像 1 4 7の 1行』' 列のマッチング 結果 δ i』 は、 数式 7 0に従って画像 xの i 行 j 列の画素を、 テンプレート画像 1 4 6の i行 j 列の画素及びその q近傍を比較し、 画像 Xの i行 j 列の画素に最も似てい る画素を有するテンプレート画像 1 4 6の番号を指し示す。 なおマッチング結果画像 1 4 7は単帯域画像となるので、 便宜上帯域数 1の画像として取り扱うことにする。 したがつ てマッチング結果 6 i j 1の第 3添字は 1となっている。 また q = 0の場合は、 q近傍に は 1つの画素も含まれないとする。
i = (70)
Figure imgf000107_0001
第 5 4図に示すように、データ処理装置 1 1 0によって実現されるパターンマッチング が、 テンプレート画像 1 4 6のうち入力画像に最も似ている画像の番号を示すマッチング 結果から構成されるマッチング結果画像 1 4 7を生成するために、 格子状に配列された配 列演算ュニット 1 0 0は同期して並列に動作する。 格子上 i行 j列に配置された配列演算 ユニット 1 0 0を AOU i j とすると、 AOU i jのアルゴリズムは第 5 5図のようにな る。
ステップ 2 9 0 1で、 AO U i j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU uの近傍を決定するために必要である。
ステップ 2 9 0 2で、 AOU i〗の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成したマッチング結果画像 1 4 7の正確さを上げるた めには近傍サイズ (1を全て大きな値に設定することが望ましい。 しかしながらマッチング 結果を更新するための計算時間の制約や、 入力画像のサイズなどにより、 パターンマッチ ングは必要に応じて適宜近傍サイズを変えることで対処することができる。なお、 このス テツプにおいて、 事前に用意された複数のテンプレート画像 1 4 6の i行 j列の画素及 びその Q近傍の全画素に対する初期設定も行われるものとする。
ステップ 2 9 0 3で、 順次入力画像が無くなつたかどうか判断する。 もし入力画像が無 ければ (ステップ 2 9 0 3 : Y E S ) , アルゴリズムを終了する。 もし入力画像があれば (ステップ 2 9 0 3 : NO ) , ステップ 2 9 0 4に移行する。 ただし特定の画像サイズのみ に対して配列演算ユニット 1 0 0を実装する場合には、 無限ループにしても良い。
ステップ 2 9 0 4で、 入力画像の i行 j列の画素を帯域数分入力する。 このため AO U j jは少なくとも帯域数分の画像データを記憶するメモリ 1 0 2を必要とする。
ステップ 2 9 0 5で、 入力画像とテンプレート画像 1 4 6からマッチング結果画像 1 4 7のマッチング結果 δ i j!を計算する。 マッチング結果は入力画像に最も近いテンプ レート画像 1 4 6の番号を表す帯域画素値となる。
ステップ 2 9 0 6で、 マッチング結果画像 1 4 7の帯域画素値を出力する。 その後ス テツプ 2 9 0 3に戻る。 これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 パターンマッチング手段 3 8は入力画像からマッチング結果画像 1 4 7を生成することが できる。 なお、 入力画像がテンプレート画像 1 4 6に追加される場合、 ステップ 2 9 0 6 の後に、 必要な局所処理が実行されるものとする。
ここまでは配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、近 傍処理のみからなる画像処理を行う方法について説明してきた。以下では配列演算ュニッ ト 1 0 0から構成されるデータ処理装置 1 1 0を用いて、近傍処理のみで実現される物体 ノ背景分離手段 1 6について説明する。
まず非線形振動子は一般に引き込み現象を起こす。 この引き込み現象とは、 リミットサ イクルゃァトラクタなどのような周期的挙動において、異なる周期を持つ非線形振動子が 相互作用して簡単な定数比の周期で振動するよう制約される現象である。 このとき 1つの 非線形振動子の振動を変化させると他の非線形振動子の振動も合わせて変化するので、 こ れらの非線形振動子は同期している。 しかも非線形振動子の相互作用を調整することによ り、 お互いの振動の位相差を極力小さくさせたり大きくさせたりできる。そこでこの相互 作用を操作すると、非線形振動子の一群を、異なる位相を持つ複数のグループに分割する ことができる。物体/背景分離手段 1 6はこのような非線形振動子の引き込み現象を利用 して、 エッジ情報画像中のエッジ情報を境界とするように物体と背景を分離して、物体領 域 1 4 1を表す物体領域画像 1 4 2を生成する。 なお、 ここでは非線形振動子としてファ ン ·デル ·ポールを用いた場合を例に説明する。
まず、 格子状に配列した非線形振動子から構成される非線形振動子ネットワークにおい て、 i行 j列にある非線形振動子を ω i j とすると、 非線形振動子 ω i jの q近傍にある 非線形振動子の集合 Q i j )は数式 7 1によって表される。 ただし qは 4、 8、 2 4、 4 8、 8 0、 1 2 0、 (2 r + l ) 2—l と続く数列であり、 rは自然数である。 なおネッ トワークサイズをはみ出した非線形振動子が近傍集合 Ω i j ( q )に含まれる場合には、 非 線形振動子 CO i jを代用するものとする。 これにより辺縁処理は自動的に行われる。 した がって近傍集合 j ( q )の要素の数は常に qとなる。 なおこのことから判る通り、 非線 形振動子ネットワークは単帯域画像と同じ扱いになる。 表現を簡単にするため、 非線形振 動子ネットワークでは添字は幅方向と高さ方向の 2つのみを使う。
( = (71)
Figure imgf000110_0001
次に、 非線形振動子は d a近傍に含まれる近傍集合 Ω j j ( q a )にある非線形振動子と の間で数式 7 2に従い計算される結合値て i j k l によって結合される。 なお対数表を用 いない場合には数式 7 3による近似も可能である。 また^、 Vは適当な正の定数である。 n , 、
njki = μ G Ω ( ) (72)
Figure imgf000110_0002
1一 2 + | if 0 < \x\ < 1,
sine ( f¾ 4— 8|a;| + 5| — if 1 < \x\ < 2, (73)
0 otherwise.
勿論、 リは定数であるので、 リの逆数を用いれば、 数式 7 2における除算は乗算に変更 される。 しかも結合値て i j k lが非負の実数しか取らないならば、 関数 s i n c ( x )は 常に 1であっても良い。
非線形振動子ネットワークの全ての非線形振動子が完全に同位相で同期した場合、プロ セッサ 1 0 1で計算する限り、 非線形振動子 ω〗 jは永久に同位相のまま動作し続けてし まう。 そこで外乱 p i jを与えればこのような状態を回避することができる。 外乱として は疑似乱数を用いることもできるが、 外部から濃淡画像を入力することにより、 数式 7 4 のような簡単な式で求めても十分である。 なお ζ jはこの濃淡画像の i行 j列の帯域 画素値を表す。 また κは適当な正の定数である。
Ρϋ = Kdj (74) 非線形振動子 ω i jが近傍集合 Ω u ( q a )の非線形振動子 ω k! と同期するために、 数 式 7 5に従い近傍入力合計 σ j jを計算する。 なお ζ i』はエッジ情報画像の i行 j列の ェッジ情報の有無を表す。 ェッジ情報があれば 1とし、 なければ 0とする。
Oij = Ti 1
Figure imgf000111_0001
一 (75) ファン 'デル'ポール非線形振動子 o) i』· を構成する 2つのパラメータ φ i j とゆ i j は数式 7 6及び 7 7に従って計算される。 なお r、 εは適当な正の定数である。
' _
= (76) dt
ά ',1,3
= -ΐΦϋ― e(l― Φ )Φϋ + crij + Pij (77) dt
非線形振動子を物体領域 1 4 1と背景領域に分離するためには全ての非線形振動子の 位相のずれを計算する必要があるが、 単純に物体領域 1 4 1と背景領域の 2つに分離する だけであるので、 パラメータ ! jがしきい値 Θ以上か未満かで位相ずれを計算する。 物 体領域 1 4 1と背景領域を分離した結果を出力する出力久 j jは数式 7 8によって求めら れる。 なお 0は適当な正の定数である。
1 if > θ,
八 ij = 3一 (78)
0 otherwise.
ェッジ情報が物体と背景を分離するのに不十分であつた場合にはェッジ情報を補間しな ければならない。そのために非線形振動子 ω i jの q b近傍にある非線形振動子の集合 Ω i j ( Q b )中でいくつの非線形振動子が位相ずれを起こしているか求める必要がある。 そ こで数式 7 9によって輪郭パラメ一夕 7] i jを計算する。
Figure imgf000111_0002
この結果を基にエッジ情報の補間割合を示す境界パラメ一夕 i jを数式 8 0によって 計算する。 なお 、 β 、 7} m i n、 7? ma xは適当な正の定数である。 ―ひ . U Vmin― Vij ― Vmax^ . 、
t , (80) β(1 - ^ij) otherwise.
ここでは非線形振動子としてファン 'デル ·ポールの場合を説明したが、 この他にブ ラッセレー夕及び i n t e g r a t e— a n d— f i r e型振動子のようなリミットサイ クルで安定する非線形振動子や、 口一レンツァトラクタ及びレスラー方程式のァトラクタ を発生するカオス振動子など、 引き込み現象を起こす任意の非線形振動子でも動作可能で ある。 その場合はパラメ一タ Φ u と uを各々の非線形振動子のパラメータで置き換 えるなり追加すれば良レ^ その際に少なくとも 1つのパラメ一夕に近傍入力合計 σ〖 j と 外乱 |0 i jが加えられるだけである。
数式 7 1から数式 8 0までを用いることにより、 物体/背景分離手段 1 6を実装するこ とができるデータ処理装置 1 1 0の全ての配列演算ユニット 1 0 0のアルゴリズムを記述 することができる。 以下では、データ処理装置 1 1 0中の任意の配列演算ユニット 1 0 0 のアルゴリズムを用いて、 物体 Z背景分離手段 1 6について説明する。
第 5 6図に示すように、 データ処理装置 1 1 0によって実現される物体/背景分離手 段 1 6が、 三角形のエッジ情報 1 5 1及びこの三角形のエッジ情報 1 5 1に対する重複情 報 1 3 1を用いて三角形の内側領域 1 5 2と三角形の外側領域 1 5 3に分離するために、 格子状に配列された配列演算ュニット 1 0 0は同期して並列に動作する。 格子上 i行 j列 に配置された配列演算ユニット 1 0 0を AOU i j とすると、 A〇U i j のアルゴリズム は第 5 7図のようになる。
ステップ 1 6 0 1で、 A〇U i j を格子上の i行 j列に配置する。
ステップ 1 6 0 2で、 数式 7 2及び 7 3に基づいて近傍同士 ω i j と o k lを結合値て i j k lで接続する。
ステップ 1 6 0 3で、 非線形振動子のパラメ一夕 φ u と ゆ uに適当な初期値を設定 する。
ステップ 1 6 0 4で、 順次入力される形成エッジ情報画像 1 1 5が無くなつたかどうか 判断する。 もし形成エッジ情報画像 115が無ければ (ステップ 1604: YES)、 ァ ルゴリズムを終了する。 もし形成エッジ情報画像 115があれば (ステップ 1604: N 〇)、 ステップ 1605に移行する。 ただし特定の帯域数及び画像サイズのみに対して配 列演算ユニット 100を実装する場合には、 無限ループにしても良い。
ステップ 1605で、 形成エッジ情報画像 115及び重複情報画像 132の i行 j列の 画素を帯域数分入力する。 これは、 AOUi』が形成エッジ情報画像 115及び重複情報 画像 132の i行 j列の画素を一括して処理するためである。 このため AOU i j 'は少な くとも帯域数分の画像データを記憶するメモリ 102を必要とする。
ステップ 1606で、 形成エッジ情報画像 115の i行 j列の画素と重複情報画像 13 2の i行 j列の画素を分離し、 それぞれ ζ i』及び ζ Ί j とする。 これは、 A〇U i jが 形成エッジ情報画像 115の i行 j列の画素と重複情報画像 132の i行 j列の画素を 各々独立した画像の画素として処理するためである。 もし形成エッジ情報画像 115の i 行 j列の画素と重複情報画像 132の i行 j列の画素が初めから分離されて入力されて いれば、 それぞれ ζ i j及ぴ ζ Ί j とするだけである。
ステップ 1607で、 重複情報 131 ζ から数式 74に従って外乱 !0 を計算 する。
ステップ 1608で、 近傍集合 Ω〖 j(cia)中の非線形振動子 c klがある配列演算ュ ニット 100の A〇Uklから kい S k i、 ゆ k i を入力して、 合計値 ff i j を数式 7 5に従って計算する。
ステップ 1609で、 非線形振動子のパラメ一夕 Φ i j、 i j を数式 76及ぴ 77に 従って計算する。 即ち、 これらの数式に示す微分方程式をルンゲ ·クッタ法で解く。 ステップ 1610で、 非線形振動子の出力 λ i jを数式 78に従って計算する。 ここで、 φ ί }≥θであれば λ u = 1 とし、 それ以外であれば λ i j = 0とする。
ステップ 1611で、 近傍集合 j(qb)中の非線形振動子 coklがある配列演算ュ ニット 100の AOUklから Aklを入力して、輪郭パラメータ η i jを数式 79に従つ て計算する。 ステップ 1 6 1 2で、 境界パラメータ ξ i jを数式 8 0に従って計算する。 即ち、 この 数式に示す微分方程式を差分法若しくはルンゲ ·クッタ法で解く。
ステップ 1 6 1 3で、 ステップ 1 6 0 8からステップ 1 6 1 2までの繰り返し回数を表 す分離回数が指定回数に達したかどうか判断する。 もし分離回数が指定回数に達していな ければ(ステップ 1 6 1 3 : N〇)、 ステップ 1 6 0 8に戻る。 もし分離回数が指定回数 に達していれば(ステップ 1 6 1 3 : Y E S ) , ステップ 1 6 1 4に移行する。
ステップ 1 6 1 4で、 物体領域画像 1 4 2の帯域画素値となる非線形振動子の出力 λ i j を出力する。 その後ステップ 1 6 0 4に戻る。
なおステップ 1 6 1 3での分離回数を求めるには、次のような方法を用いることができ る。 物体/背景分離手段 1 6では、画像サイズが一定であれば非線形振動子の初期状態に 関わらずおおよそ全ての形成エッジ情報 1 1 4においてある一定時間で分離が終了する ので、事前にこの時間を計っておいてステップ 1 6 0 8からステップ 1 6 1 2までの繰り 返し回数を求めておけば良い。 これは非線形振動子の初期状態が一定の範囲内にあれば、 引き込み現象により非線形振動子が同期するまでの時間はあまり大差がないからである。 このように非線形振動子を計算するだけで、三角形のエッジ情報 1 5 1を用いて三角形 の内側領域 1 5 2と三角形の外側領域 1 5 3を分離することができるのは、非線形振動子 の性質である引き込み現象を利用しているからである。つまり、 2つの非線形振動子を正 の結合値で結合した場合は同位相になろうとし、負の結合値で結合した場合は位相差が極 力大きくなろうとする。 この性質を用いると、格子状に並んだ非線形振動子を近傍同士正 の結合値で結合することで、直接結合していない非線形振動子同士が同位相になる。 さら に形成エッジ情報 1 1 4を挟む画素の場所にある非線形振動子同士を負の結合値で結合 すると、 エッジ情報の両側がお互いに位相を極力ずらし合う。 このようにすることで、全 ての非線形振動子を結合することもなく三角形のエッジ情報 1 5 1の内側と外側とで各々 異なる位相集合ができる。 したがって物体/背景分離手段 1 6は第 5 6図のように三角形 の内側領域 1 5 2と三角形の外側領域 1 5 3に分離する。 このとき三角形の内側領域 1 5 2と三角形の外側領域 1 5 3の位相差は 9 0度を越えて可能な限り 1 8 0度に近づき、 三角形と背景領域が分離できる。
ここで重要なことは、 本実施形態では、 形成エッジ情報 1 14が得られる度に次に示す ような方法で結合値を擬似的に変更していることである。 まず数式 72及び 73で定めた ように、 非線形振動子 ok! を非線形振動子 ω i jに結合するための結合値を ; j k! と する (ステップ 1 602参照)。 形成エッジ情報 1 14のうち ζ i j と k lは共に、 エツ ジがある場合には 1、 ない場合には 0である。 形成エッジ情報 1 14のうち ζ i j と ζ k iを入力したら (ステップ 1 605参照)、 配列演算ユニット 100の A〇Uk lから A 〇U i jに形成エッジ情報 1 14 S k Iが転送され、 AOU uでは結合値 r i j k i ( 1— S ki ) を計算して結合値 r i j k lの代用とする (ステップ 1 60 8参照)。 この代用され た結合値 Tr i j k l ( 1 - C k i ) に対して境界パラメータ ξ i 3が 0から 1までの倍率と して作用する (ステップ 1 608参照)。
第 58図に示す通り、 形成エッジ情報 1 14が破線状態の三角形のエッジ情報 154と なった場合には破線の補間をする必要がある。 まず初めに破線状態の三角形のエッジ情報 1 54を用いてシステムを動作させる (ステップ 1 605参照) と、 破線状態の三角形の エッジ情報 1 54の内側と外側で位相差がおよそ 90度を越えるようになるが、 三角形の 内側と外側の境界部分は不明確である。 そこで各 AOUi jが非線形振動子の出力 λ j j を計算する (ステップ 1 61 0参照)。 この出力 λ i jが 1の場合、 近傍の非線形振動子 のうち Ak lが 1である非線形振動子を c k i とすると、 パラメ一夕 i j とゅ 1が共 に Θ以上となる。 つまり λ i j と Ak lはおよそ同位相であり、 Θが正値であれば最悪で も位相差が 90度を越えることはない。 この位相差の最大値は 0の値によって決まり、 λ i j と Ak lが共に 1となる範囲で eを大きくしていくと、 この位相差は 0度に近づいて いく。 したがって λ i j と Ak l と用いると、 近傍の非線形振動子うちおよそ同位相であ るものの数を表す輪郭パラメ一夕 η i jは数式 79に従って計算される (ステップ 1 6 1 1参照)。 続いてこの輪郭パラメータ 7? i jが近傍全体のうち、 およそ半分であれば結合 値の倍率である境界パラメータ i jを数式 80に従って減少させ、 それ以外であれば数 式 80に従って増加させる (ステップ 1 6 1 2参照)。 例えば、 8近傍 1 82の場合は 3 から 5の間であれば数式 8 0に従って境界パラメ一夕を減少させるとよい。 この過程を繰 り返し動作させ続けると、第 5 8図に示す破線状態の三角形のエッジ情報 1 5 4,が与えら れだ場合、 破線三角形の内側領域 1 5 5と破線三角形の外側領域 1 5 6に分離される。 第 5 9図に示す通り、 2つの三角形が重なりあっている場合は、 前方の三角形のエッジ 情報 1 5 7と後方の三角形のエッジ情報 1 5 8が得られる。 このとき前方三角形の内側領 域 1 5 9と後方三角形の内側領域 1 6 0と二重三角形の背景領域 1 6 1の 3つの領域の非 線形振動子の位相がお互いにずれることにより、 3つの領域に分離される。 また第 6 0図 に示す通り、 2つの重なった円形のエッジ情報 1 6 2が破線であっても、前方円形の内側 領域 1 6 3と後方円形の内側領域 1 6 4と二重円の背景領域 1 6 5の 3つに分離される。 これにより、 配列演算ユニット 1 0 0から構成されるデータ処理装置 1 1 0を用いて、 物体 Z背景分離手段 1 6は形成エッジ情報画像 1 1 5の形成エッジ情報 1 1 4を境界とし て物体領域 1 4 1と背景領域を分離することができる。 なお、分離された複数の領域は出 力 λ i jによって時間の経過と共に順次取り出されるが、 配列演算ュニット 1 0 0は非線 形振動子の位相を計算することにより、分離された複数の領域を位相グループとし 一度 に出力することができる。
さて、 ここまでは主に視覚装置 2のアルゴリズムについて説明してきた。そこで以下で は、 配列演算ユニット 1 0 0のアーキテクチャ、 特に LSIの回路設計について説明する。 まず配列演算ユニット (ARRAY OPERATION UNIT) 1 0 0は、 入力画像の 1つの 画素とその近傍画素を用いることにより、 出力画像の 1つの画素を生成する。そこで第 1 1図に示すように、 配列演算ュニット 1 0 0を入力画像のサイズに合わせて格子状に配 列することにより、データ処理装置 1 1 0は入力画像から出力画像を生成することができ る。 なお第 1 1図において、配列演算ユニット 1 0 0を AO Uと略記する。次に配列演算 ユニット 1 0 0は専用ハードウェアによって実装されても良いし、 汎用コンピュータ上で ソフトウェアによって実装することもできる。 つまりデータ処理装置 1 1 0が入力画像か ら出力画像を生成することができれば、配列演算ユニット 1 0 0の実装手段は制限されな レ^ 以下では、配列演算ユニット 1 0 0が専用ハードウェアによって実装された場合につ いて説明した後、 仮想配列演算ユニット (VIRTUAL ARRAY OPERATION UNIT) 1 0 5が専用ハードウェアによって実装された場合について説明する。
配列演算ュニット 1 0 0は第 6 1図に示す通り、 画像処理における数式を計算するため のプロセッサ(PROCESSOR) 1 0 1と、 数式で使われる全てのパラメ一夕、 定数、 関数 及びオペレータを記憶するためのメモリ (MEMORY) 1 0 2と、 近傍の配列演算ュニッ ト 1 0 0と通信するためのコントローラ (CONTROLLER) 1 0 3から構成され、 プロ セッサ 1 0 1はアドレスパス 5 1で指定したアドレス (ADDRESS) によりメモリ 1 0 2 及びコントローラ 1 0 3の任意のメモリ素子及びレジスタを選択することができる。 ま たプロセッサ 1 0 1はデータバス 5 2を介してメモリ 1 0 2及びコントローラ 1 0 3と 双方向に通信できるように接続され、 アドレスバス 5 1で指定された任意のメモリ素子 及びレジスタのデータ (DATA) にアクセスすることができる。 コントローラ 1 0 3が 1 つ以上の入力画素から構成される前入力データ群(FRONT INPUT DATA SET) を入 力すると、 プロセッサ 1 0 1は前入力データ群をメモリ 1 0 2に記憶させる。 またコン トローラ 1 0 3は、 プロセッサ 1 0 1によって計算されたメモリ 1 0 2中の計算データ (CALCURATION DATA) を隣接する配列演算ュニット 1 0 0に送信すると共に、 プロ セッサ 1 0 1は、 コントローラ 1 0 3が隣接する配列演算ユニット 1 0 0から受信した 計算データをメモリ 1 0 2に記憶させる。 さらに必要ならば、 プロセッサ 1 0 1はこの 計算データを、 この計算データを送信した配列演算ュニット 1 0 0とは別の配列演算ュ ニット 1 0 0に転送する。 最終的にコントローラ 1 0 3は、 出力画像の画素を結果データ (RESULT DATA) として出力する。 '' このように配列演算ユニット 1 0 0の各々にコントローラ 1 0 3を搭載する理由は、 配 列演算ユニット 1 0 0同士が通信している間にプロセッサ 1 0 1が動作できるので、プロ セッサ 1 0 1は通信による待ち時間中にも計算することができて高速処理が実現できるか らと、 近傍の配列演算ユニット 1 0 0の数を変化させてもハードウェアを変更する必要も ないからと、 コントローラ 1 0 3が画像の辺縁処理、 つまり画像中の縁の画素に対する例 外処理を自動的に行えるので、 プロセッサ 1 0 1のプログラムは辺縁処理をする必要がな くなり極めて単純になるからである。
コントローラ 1 0 3のブロック図は第 6 2図に示す通りである。アドレスバッファ(ADDRESS BUFFER) 5 3はアドレスパス(ADDRESS BUS) 5 1を介してプロセッサ 1 0 1からァ ドレス(ADDRESS) を受取り、 アドレスデコーダ(ADDRESS DECODER) 5 4によつ て各レジスタ及びその他の機能ブロックを選択する。 データバッファ(DATA BUFFER)
5 5はデータパス (DATA BUS) 5 2を介してプロセッサ 1 0 1からデータ (DATA) を 受取り、 アドレスデコーダ 5 4で選択されたレジスタと内部データパス 5 6を介して排 他的に通信する。 通信方向は読み出し (READ) によって指定される。 アドレスがフラ グレジスタ (FLAG REGISTER) 5 7を指定した場合、 データはフラグレジスタ 5 7に 記憶され、 フラグデコーダ (FLAG DECODER) 5 8によってデコードされ、 複数信号 (SIGNALS) として隣接する配列演算ユニット 1 0 0に送信される。 なお複数信号の詳細 は第 6 3図及び第 6 4図で示す。 複数信号はフラグエンコーダ (FLAG ENCODER) 5 9によって受信され、 解析された後にステータスレジスタ (STATUS REGISTER) 6 0 に記憶され、 また受領 (RECEIVE) (出力) として送信元の配列演算ユニット 1 0 0に 返信される。 受領(出力) は複数信号の送信元のフラグエンコーダ 5 9で受信され、 結果 として複数信号の送信完了が確認される。 アドレスによってステータスレジスタ 6 0が選 択されると、 ステータスレジスタ 6 0の内容がデータバス 5 2を介してデータとしてプロ セッサ 1 0 1に送信される。 1つ以上の入力画像 (INPUT IMAGE) に対応した 1っ以 上の前入力送達 (FRONT INPUT SEND) をフラグエンコーダ 5 9が受信すると 1っ以 上の入力画像からなる前入力データ群(FRONT INPUT DATA SET)が必要な記憶容量 分用意された前入力データレジスタ (FRONT INPUT DATA REGISTER) 6 1に読み 込まれる。 アドレスによって前入力データレジスタ 6 1が選択されると、 前入力デ一タレ ジス夕 6 1の内容がデータとしてプロセッサ 1 0 1に送信される。 プロセッサ 1 0 1が計 算を完了したら、 アドレスによって結果デ一夕レジスタ (RESULT DATA REGISTER)
6 2が選択され、 結果データレジスタ 6 2が結果データ (RESULT DATA) を読み込む。 これと同時に、 フラグエンコーダ 5 9が結果送達 (RESULT SEND) を送信する。 近傍の配列演算ユニット 1 0 0が計算データを受信できるようになったら、 プロセッ サ 1 0 1は出力データレジスタ ( OUTPUT DATA REGISTER) 6 3のアドレスに計算 データを書き込み、 コントローラ 1 0 3はこの計算データを出力データレジスタ 6 3に格 納する。その後、 コントローラ 1 0 3は、 隣接する全ての配列演算ユニット 1 0 0にこの 計算データを送信する。 上側の配列演算ユニット 1 0 0から複数信号(SIGNALS) を受 信したら既に上側の配列演算ユニット 1 0 0から受信している計算データを上入力データ レジスタ (UPPER INPUT DATA REGISTER) 6 4に格納する。 その後、 アドレスに より上入力データレジスタ 6 4が選択されたら、上入力デ一夕レジス夕 6 4の計算デ一夕 がプロセッサ 1 0 1に出力される。下側、左側、右側の配列演算ユニット 1 0 0から複数 信号を受信した場合も同様であり、下入力データレジスタ 6 5、左入力データレジスタ 6 6、 右入力データレジスタ 6 7が同様に動作する。
各種パッファ、 各種レジス夕及ぴァドレスデコ一ダ 5 4の各ブロックは汎用的な電子回 路である。 フラグデコーダ 5 8及びフラグエンコーダ 5 9はそれぞれ具体的には第 6 3図 及び第 6 4図に示すような入出力信号を有する。
種別 (TYPE) は出力データレジス夕 (OUTPUT DATA REGISTER) 6 3に読み込 まれた内容の種類を 1ビット以上で表す。 このビット数は、配列演算ユニット 1 0 0が転 送すべき全ての計算データを区別できるように決定される。 カウント一 X (COUNT-X) 及びカウント— Y ( COUNT-Y) は各々 1ビット以上の符号なし整数であり、それぞれ二 次元格子状に配列された配列演算ュニット 1 0 0の間の水平方向の転送回数及び垂直方向 の転送回数を示す。配列演算ユニット 1 0 0が計算データを最初に送信する場合にはカウ ント一 X及びカウント一 Yは 0となる。 配列演算ユニット 1 0 0が計算データを水平方向 に転送する毎に、 カウント一 Xに 1が加算され、配列演算ユニット 1 0 0が計算データを 垂直方向に転送する毎に、 カウント一 Yに 1が加算される。プロセッサ 1 0 1が上下左右 のうちどの方向に出力データレジスタ 6 3の内容を送信するかをフラグレジスタ 5 7の 送達フラグ(SEND FLAG) に指定した後で、 出力データレジスタ 6 3を指定するァドレ スデコーダ 5 4の中央デコーディング (CENTRAL DECODING) をフラグデコーダ 5 8が受信すると、 フラグデコーダ 5 8が送達 (SEND) を送達フラグの指定方向に合わせ て出力する。 送達フラグは 4ビットで表される。 配列演算ユニット 1 0 0が計算データを 上側に転送する場合はプロセッサ 1 0 1が送達フラグに 1 0 0 0を設定し、 下側に転送す る場合は 0 1 0 0を設定し、 左側に転送する場合は 0 0 1 0を設定し、右側に転送する場 合は 0 0 0 1を設定する。 また配列演算ユニット 1 0 0が計算データを四方の配列演算ュ ニット 1 0 0に送信する場合にはプロセッサ 1 0 1が送達フラグに 1 1 1 1を設定する。 この他に、結果デ一夕レジスタ 6 2に結果データが読み込まれると同時にフラグデコー ダ 5 8は、 結果デコーディング(RESULT DECODING) を受信し、 結果送達 (RESULT SEND) を送信する。
フラグエンコーダ 5 9は四方の配列演算ユニット 1 0 0のうちいずれかからでも送達 (入力) を受信したら、 直ちに受信方向に受領(出力) を 1にして送信する。 その後フラ グエンコーダ 5 9は受信方向の計算データの種別、 カウント— X及びカウント— Yを入 力し、 その部分のステータスレジスタ 6 0の内容を更新する。 送信元の配列演算ユニット 1 0 0のフラグエンコーダ 5 9では受領(入力)が 1になったらステータスレジスタ 6 0 の受領ステータス (RECEIVE STATUS) を更新する。 これにより各配列演算ユニット 1 0 0ではプロセッサ 1 0 1がステータスレジスタ 6 0の受領ステータスを検査するだけ で、 どの入力データレジスタに有効な計算データが記憶されているか判断することがで きる。 そこで例えば右入力デ一夕レジス夕 6 7に計算データが読み込まれていれば、プロ セッサ 1 0 1がアドレスを指定することにより右入力データレジスタ 6 7から計算データ を読み込むことができる。 さらにアドレスデコーダ 5 4から右デコーディング (RIGHT DECODING)がフラグエンコーダ 5 9に送信され、 受領ステータスのうち右方向が 0に 戻され、 右側に向いた受領(出力)が 0として送信される。 上下左側の場合も同様に動作 する。
この他に、 フラグエンコーダ 5 9が 1つでも入力画像用の前入力送達を受信したら、 ス テータスレジスタ 6 0のうち受信した前入力送達に対応する入力画像用の前入力送達ス テータス (FRONT INPUT SEND STATUS) を 1にする。 またプロセッサ 1 0 1が入力 画像用の前入力データレジスタ 6 1から計算データを読み込むとき、 アドレスデコーダ 5 4がフラグエンコーダ 5 9に前デコーディング (FRONT DECODING) を送信し、 受信 した前入力送達に対応する前入力送達ステータスを 0にする。 プロセッサ 1 0 1はステー タスレジスタ 6 0の内容を読み込むことにより、 前入力データレジスタ 6 1に最新の入力 画像が記憶されているかどうか判断することができる。
なおこの配列演算ユニット 1 0 0は、 主に 1つ以上の入力画像から 1つの出力画像を生 成することを前提に記述したが、 用途に応じては計算途中の計算データを出力できるよ うに回路が変更される必要がある。 その際には、 出力すべき結果データの数だけフラグデ コーダ 5 8の結果送達を増やし、 結果データレジスタ 6 2に読み込まれた結果データに対 応する結果送達のみを 1にするようにプログラムが変更されるだけで良い。
以下では、 具体的な回路図を用いて、 フラグデコーダ 5 8、 フラグレジスタ 5 7、 フラ グエンコーダ 5 9及びステータスレジスタ 6 0について説明する。
フラグレジスタ 5 7に型番 7 4 L S 3 7 7のデジタル回路 4 0 2が用いられた場合、 フ ラグデコーダ 5 8及びフラグレジスタ 5 7の回路図は第 6 5図のようになる。 ただし書き 込み(WRITE) はクロック信号(CLK) と同期しており、 さらに書き込みが立ち上がり 時に、 フラグレジスタ 5 7は内部データバス 5 6を介してフラグを格納するものとする。 また第 6 5図では、 結果送達に関する回路が省略されている。 第 6 5図では、 書き込みと 中央デコーディングの両方がアクティブになつてから 1クロック後に送達(出力)が 1ク ロックの時間だけ出力され、 一方でフラグレジスタ 5 7がフラグを格納したら、 計算デ一 夕の種別、 カウント一 X及びカウント一 Yを直ちに出力する。 もしフラグデコーダ 5 8の 設計者が送達(出力) を送信するタイミングを変更したければ、 送達用フリップフロップ 8 1の数を変更するか、 又は送達用フリップフロップ 8 1のトリガーの論理を反転するだ けで良い。
ステータスレジスタ 6 0に型番 7 4 AL S 5 7 3のデジタル回路 4 0 2が用いられた 場合、 フラグエンコーダ 5 9及びステータスレジスタ 6 0のブロック図は第 6 6図のよう になる。 ただし読み込み(READ) はクロック信号と同期しており、 さらに読み込みがァ クティブであり、 かつクロック信号が立ち上がり時に、 プロセッサ 1 0 1は内部データバ ス 5 6を介してステータスを読み込むものとする。 また第 6 6図では、 前入力送達に関す る回路が省略されている。 4近傍の配列演算ユニット 1 0 0に対する入力端子にはブルダ ゥン抵抗が取り付けられている。 左右の配列演算ユニット 1 0 0の各々から受信した送達 (入力)、 計算データの種別、 カウント一 X及びカウント一 Yは水平方向用ステータス回 路 8 2に入力され、 上下の配列演算ユニット 1 0 0の各々から受信した送達 (入力)、 計 算データの種別、 カウント一 X及びカウント一 Yは垂直方向用ステータス回路 8 3に入力 される。 水平方向用ステータス回路 8 2及び垂直方向用ステータス回路 8 3が出力した 4 つの受領(出力) は、 4近傍の配列演算ユニット 1 0 0から受信した 4つの受領(入力) と共に 1個のステータスレジスタ 6 0に非同期に格納される。 これにより、 プロセッサ 1 0 1はこのステータスレジスタ 6 0からステータスを読み込むだけで、 4近傍の配列演算 ユニット 1 0 0との通信状況を把握することができる。
右側の配列演算ュニット 1 0 0に接続された配列演算ュニット 1 0 0の水平方向用ス テ一タス回路 8 2の回路図は第 6 7図のようになる。 もし水平方向用ステータス回路 8 2 が 1である送達(入力) を受信すれば、 送達入力用ラッチ回路 8 5が非同期に送達(入力) を記憶する。 これにより水平方向用ステータス回路 8 2に右入力デコーディングが入力 されるまで、 受領(出力) は 1であり続ける。 さらに水平方向用ステータス回路 8 2は、 右側の配列演算ユニット 1 0 0に 1である受領 (出力) を直ちに返信することができる ので、 右側の配列演算ユニット 1 0 0は、 クロック信号の半周期以内に 1である送達(出 力) を送信してから 1である受領(入力) を受信することが可能となる。 したがって右側 の配列演算ユニット 1 0 0では、 プロセッサ 1 0 1は、 フラグレジスタ 5 7に送達フラグ を書き込んでからステータスレジスタ 6 0から受領ステータスを読み込む間、 待たなくて も良い。 また水平方向用ステータス回路 8 2は複数のカウント用半加算器 8 4を用いて受 信したカウント一 Xに 1を加算すると共に、 送達(入力)が 1である間に計算データの種 別、 カウント一X及びカウント一 Yがステータスレジスタ 6 0に非同期に格納される。 こ のとき計算データもこの送達(入力) を用いて右入力データレジスタ 6 7に非同期に格納 される。 読み込み及びステータスレジスタ右デコーディングが共にアクティブになると、 ステータスレジスタ 6 0は内部データパス 5 6を介して計算データの種別、 カウント一 X及びカウント一 Yをプロセッサ 1 0 1に出力する。 なお左側の配列演算ユニット 1 0 0 に接続された水平方向用ステータス回路 8 2の回路図では、 右入力デコーディング及ぴス テータスレジスタ右デコーディングの代りにそれぞれ左入力デコーディング及びステ一夕 スレジスタ左デコーディングが用いられる。 また垂直方向用ステータス回路 8 3の回路図 は、 複数のカウント用半加算器 8 4を用いて、 受信したカウント— Yに 1を加算する。 ここまではコントローラ 1 0 3を 1個しか備えていない配列演算ユニット 1 0 0につい て説明してきた。 しかしながら配列演算ユニット 1 0 0が 1個のコントローラ 1 0 3しか 備えていないと、 転送効率が低下する可能性がある。そこで複数のコントローラ 1 0 3を 備えた配列演算ュニット 1 0 0について説明する。
第 6 8図に示すように、 配列演算ユニット 1 0 0は複数のコントローラ 1 0 3を備える ことができる。 第 6 8図の場合、 配列演算ユニット 1 0 0は対角線上に配置された 5個の コントローラ 1 0 3を備え、 各々のコントローラ 1 0 3はアドレスパス 5 1及びデ一タパ ス 5 2に接続されている。 プロセッサ 1 0 1が 5個のコントローラ 1 0 3を識別できるよ うに、 各々のコントローラ 1 0 3のアドレスデコーダ 5 4には異なるアドレスが割り当て られる。 各々のコントローラ 1 0 3は前入力データレジスタ 6 1及び結果データレジス 夕 6 2を備えているので、 全てのコントローラ 1 0 3は独立に前入力デ一タ群を入力し、 及び結果データを出力することができる。 さらに各々のコントローラ 1 0 3が、 隣接する 配列演算ユニット 1 0 0の 5個のコントローラ 1 0 3のうち異なる 1個と接続することに より、 配列演算ユニット 1 0 0は通信帯域を最大 5倍まで広げることができる。 これによ り、 配列演算ュニット 1 0 0が多数の計算データを転送する場合でも、 コントローラ 1 0 3の数を増やせば転送効率が低下しなくなる。
なお配列演算ユニット 1 0 0が複数のコントローラ 1 0 3を備える場合、プロセッサ 1 0 1は全てのコン卜ローラ 1 0 3のステータスレジスタ 6 0中のステータスを監視しな ければならない。 監視スケジューリングには主にラウンドロビン方式が用いられる。 ラウンドロビン方式では、 コントローラ 1 0 3が論理的に環状に並び、 プロセッサ 1 0 1が環状に沿って順番にコントローラ 1 0 3にアクセスする。 もしコントローラ 1 0 3が 計算データを受信していれば、 プロセッサ 1 0 1はこの計算データをこのコントローラ 1 0 3から読み込む。 その後プロセッサ 1 0 1は次の順番のコントローラ 1 0 3に移動す る。 したがって全てのコントローラ 1 0 3は対等に扱われる。 配列演算ユニット 1 0 0が 短時間に転送するデータ量に比べてコントローラ 1 0 3の通信帯¾ ^狭い場合、 この方法 は有効である。
この他に、 コントローラ 1 0 3に優先度という相異なる番号を付けて、 プロセッサ 1 0 1が毎回最も高い優先度から順番にコントローラ 1 0 3にアクセスする優先度方式を用 いることもできる。 配列演算ユニット 1 0 0が短時間に転送するデータ量に比べてコント ローラ 1 0 3の通信帯域が広い場合、 この方法は有効である。
一般に配列演算ュニット 1 0 0は少ない数のコントローラ 1 0 3しか備えていないと考 えられるので、データ処理装置 1 1 0が局所並列画像処理を実行する場合、 ラウンドロビ ン方式の方が優先度方式に比べて有利である。 しかしながら多量の計算データを転送しな ければならない関数を含む局所並列画像処理をデータ処理装置 1 1 0が高速に実行する ために、 配列演算ユニット 1 0 0が十分な数のコントローラ 1 0 3を備えた場合、 残りの 関数が 4近傍又は 8近傍 1 8 2の計算データだけを参照するのであれば、 ラウンドロビ ン方式の通信効率は下がつてしまう。 このような場合には優先度方式の方が有利である。 勿論全てのコントローラ 1 0 3及びプロセッサ 1 0 1が割り込み機能を実装すれば、 プロ セッサ 1 0 1が各々のコントローラ 1 0 3のステータスレジスタ 6 0中のステータスを定 期的に監視する必要はない。
さて、 コントローラ 1 0 3を L S I (大規模集積回路) の実装平面に並べた場合、 主 に、 L S Iの実装面積が膨大になること、 コントローラ 1 0 3間の配線が複雑で長くなる こと、 及びコントローラ 1 0 3の数を容易に増やせないこと、 の 3つが問題となる。 しか しながら三次元 L S I技術を用いると、 L S I設計者はこれらの問題を容易に解決するこ とができる。 以下では三次元 L S I技術を用いた配列演算ュニット 1 0 0について説明す る。
第 6 9図に示すように、 コントローラ 1 0 3は三次元 L S I技術を用いることにより配 列演算ユニット 1 0 0内で積み重ねられている。 第 6 9図の場合、 5個のコントローラ 1 0 3がプロセッサ 1 0 1及びメモリ 1 0 2の上に積み重ねられており、 各々のコントロー ラ 1 0 3は垂直に配線されたアドレスバス 5 1及びデータバス 5 2によってプロセッサ 1 0 1及びメモリ 1 0 2と接続されている。第 6 9図から明らかなように、 コントローラ 1 0 3の数を増やしても、各層の実装面積は増大しないし、 またコントローラ 1 0 3は同じ 層内において隣接するコントローラ 1 0 3と接続すれば良い。 さらに L S I設計者は、 コ ントローラ 1 0 3の数を増やしたければコントローラ 1 0 3を実装した層を必要な数だ け増やせば良く、 しかもアドレスパス 5 1さえ適切に設計されていれば、 L S I設計者は 下敷となる層に一切手を加える必要がない。 当然のことながら各層のコントローラ 1 0 3 はアドレスデコーダ 5 4以外全て同じ回路で構成されるので、新たに積み重ねる層のコン トローラ 1 0 3の設計は極めて簡単になる。
さて、 第 6 8図及び第 6 9図に示すように、 配列演算ユニット 1 0 0が複数のコント ローラ 1 0 3を備えることにより、配列演算ユニット 1 0 0は、 隣接する配列演算ュニッ ト 1 0 0との間の通信帯域を広げられるばかりでなく、どのコントローラ 1 0 3からどの 計算データを受け取ったかということを識別できるようになる。そこで以下では、複数の コントローラ 1 0 3を用いることにより、連続する複数の配列演算ユニット 1 0 0を 1つ のグループにまとめ、 しかもこのグループ中の配列演算ユニット 1 0 0がプロセッサ 1 0 1及びメモリ 1 0 2を共有するデータ処理装置 1 1 0について説明する。
まず、 第 7 0図に示すように、二次元格子状に配列された配列演算ユニット 1 0 0は適 当な大きさの矩形のグループにまとめられる。 このグループを仮想配列演算ユニット 1 0 5と呼ぶ。第 7 0図の場合、仮想配列演算ュニット 1 0 5は 4 X 4の配列演算ュニット 1 0 0を 1つのグループにまとめたものである。次に第 6 1図、第 6 8図及び第 6 9図に示 すように、仮想配列演算ュニット 1 0 5はプロセッサ 1 0 1、 メモリ 1 0 2、及び配列演 算ユニット 1 0 0の縦と横の個数の最大値以上のコントローラ 1 0 3を備える。第 7 0図 の場合、仮想配列演算ュニット 1 0 5は少なくとも 4個のコントローラ 1 0 3を必要とす る。 なお、 コントローラ 1 0 3の各々は第 6 7図のような水平方向用ステータス回路 8 2 を持つものとする。 これらのコントローラ 1 0 3には便宜上 1から 4までの番号が付けら れるものとする。 例えコントローラ 1 0 3の数が 4個を越えたとしても、 これらのコント ローラ 1 0 3には 1から 4までの番号が付けられる。 これにより特定の配列演算ユニット 1 0 0に複数のコントローラ 1 0 3が割り当てられることになる。 さらに、第 7 1図に示 すように、 配列演算ユニット 1 0 0の通信路にもコントローラ 1 0 3と同じように 1から 4までの番号が付けられる。 ただし、 上下と左右の各々の通信路に対して、 向い合う番号 が同じになるようにする。 最後に、 プロセッサ 1 0 1が 1 6個の配列演算ユニット 1 0 0 を実行できるようなプログラムがメモリ 1 0 2に記憶される。 ただし、 配列演算ユニット 1 0 0が隣接する仮想配列演算ュニット 1 0 5の配列演算ュニット 1 0 0と通信する場合 には、 必ず通信路に付けられた番号と一致するコントローラ 1 0 3のうち相異なる 1個を 介するようにプログラムが実装されるものとする。 これにより、 仮想配列演算ユニット 1 0 5は、 どの配列演算ュニット 1 0 0からどの配列演算ュニット 1 0 0に向けて計算デ一 夕が送信されたのか識別することができる。
ところで仮想配列演算ユニット 1 0 5はコントローラ 1 0 3の数を増やしただけでは 完全に複数の配列演算ユニット 1 0 0を実装することができない。 というのも、 仮想配列 演算ユニット 1 0 5は、 別の仮想配列演算ユニット 1 0 5から前入力データ群を入力し たり、 別の仮想配列演算ユニット 1 0 5に結果データを出力しなければならないからであ る。 第 6 8図のようにコントローラ 1 0 3が二次元平面上に実装される場合、 もしコント ローラ 1 0 3の数が十分にあれば、計算データと同様にコントローラ 1 0 3に番号を付け ることにより、 この問題はプログラムによって解決される。 しかしながら第 7 1図の場合 でも、 コントローラ 1 0 3は 1 6個必要となる。 したがって仮想配列演算ユニット 1 0 5 に含まれる配列演算ユニット 1 0 0の数が増えた場合、 この方法は非常に非効率となる。 まして第 6 9図のようにコントローラ 1 0 3が積層される場合、 前入力データ群及び結果 データ用の通信路を確保することが非常に難しくなる。 そこで以下では、 コントローラ 1 0 3の前入力データレジスタ 6 1だけを変更することにより、 この問題を解決する方法に ついて説明する。
まず、 コントローラ 1 0 3が別のコントローラ 1 0 3から前入力データ群の 1つの前入 力データとして結果データを、 さらに前入力送達として結果送達を入力する場合を考え る。 このとき第 7 2図に示すように、 前入力データレジスタ 6 1は、 仮想配列演算ュニッ ト 1 0 5中の配列演算ユニット 1 0 0の数と等しい数のレジス夕から構成される前入力シ フトレジスタ 6 8と、 前入力カウンタ 6 9を備える。 前入力カウンタ 6 9は、 レジスタの 数を初期値とするダウンカウンタであり、 前入力カウンタ 6 9のカウント数が 0になった ときに、 前入力カウンタ 6 9は前入力ステータスを出力する。 その後前入力データが入力 されると、 前入力カウンタ 6 9は初期値に初期化される。 第 7 2図では、 前入力シフトレ ジス夕 6 8は 1 6個のレジスタから構成されていて、 前入力シフトレジス夕 6 8に 1 6個 の前入力データが入力されると、 前入力ステータスが出力される。 次に、 前入力シフトレ ジスタ 6 8の各々のレジスタと前入力カウンタ 6 9はトリガ一信号として前入力送達を入 力する。 さらに、 アドレスデコーダ 5 4は、 アドレスをデコードして、 前入力シフトレジ スタ 6 8のレジスタのうち 1個を選択する。 これにより、 プロセッサ 1 0 1が前入力シフ トレジスタ 6 8のうち適当なレジスタのアドレスを指定すると、 各々のレジス夕はデータ パス 5 2に前入力データを出力することができる。 なお第 7 2図では、 アドレスデコーダ 5 4の他の信号線は省略されている。 そこで仮想配列演算ユニット 1 0 5が 1 6個の配列 演算ユニット 1 0 0の前入力データを一定の順番に出力すると、 これらの前入力データは 出力順に前入力シフトレジスタ 6 8のレジスタに記憶される。 したがって前入力カウンタ 6 9が出力する前入力ステータスがステータスレジスタ 6 0に記憶された時点でプロセッ サ 1 0 1が各レジスタにアクセスすれば、 プロセッサ 1 0 1は特定の配列演算ユニット 1 0 0の前入力データを獲得することができる。
なお、 第 7 3図に示すように計算データを反時計回りに転送することにより、 配列演算 ユニット 1 0 0は、 計算データを効率良く転送することができる。 勿論、 配列演算ュニッ ト 1 0 0は、 計算データを時計回りに転送しても良い。 このとき、 メモリ 1 0 2及びプ 口セッサ 1 0 1がスタック及び循環バッファなどを備えれば、 配列演算ユニット 1 0 0は 予め転送すべき計算データだけをこのスタック及びこの循環バッファに蓄えることができ る。 したがって、 配列演算ユニット 1 0 0が計算データをコントローラ 1 0 3に書き込む 際に、 この配列演算ユニット 1 0 0は、 この計算データだけを短時間に参照することがで きる。 同様に、 第 7 4図に示すように、 計算データを反時計回り及び時計回りに転送する ことにより、 仮想配列演算ユニット 1 0 5も、 計算デ一夕を効率良く転送することができ る。
さて、 ここまでは、 コントローラ 1 0 3が計算データを転送する度に、 プロセッサ 1 0 1がこのコントローラ 1 0 3から計算データを読み込んだり、 又はこのコントローラ 1 0 3に計算データを書き込んだりするような幾つかの方法について説明してきた。 このよう な方法では、 計算データを転送するために必要な計算をプロセッサ 1 0 1がすることによ り、 1個のコントローラ 1 0 3のハードウェア量は少なくなるので、 配列演算ユニット 1 0 0及び仮想配列演算ュニット 1 0 5は、多数のコントローラ 1 0 3を備えることができ る。 しかしながら、 コントローラ 1 0 3が計算データを転送する度に、プロセッサ 1 0 1 がこのコントローラ 1 0 3と計算データを通信しなければならないので、 プロセッサ 1 0 1の通信時間が長くなるばかりか、 プロセッサ 1 0 1は、 計算データの転送を終了するた めに、 計算データの転送回数を判定しなければならない。 そこで以下では、プロセッサ 1 0 1がコントローラ 1 0 3と計算データを通信する回数が少なく、 しかもプロセッサ 1 0 1が計算データの転送回数を判定しなくても良い方法について説明する。
第 7 7図〜第 8 0図に示すように、 請求項 1 2記載の発明における視覚装置 2の実装 形態では、 配列演算ユニット 1 0 0が備える 2個以上のコントローラ 1 0 3に対して連 続した番号が割り当てられ、 さらに番号が割り当てられた全てのコントローラ 1 0 3の 各々が、 隣接する配列演算ュニット 1 0 0のコントローラ 1 0 3のうち、 番号が 1つだけ ずれているコントローラ 1 0 3に計算データを送信できるように、 複数の信号線が配線 される。 例えば、 第 7 7図〜第 8 0図では、 1個の配列演算ユニット 1 0 0が 4個のコン トローラ 1 0 3を備え、 それぞれ 0〜 3の番号が割り当てられている。 第 7 7図は、 全て の配列演算ュニット 1 0 0の各々のコントローラ 1 0 3が上側の配列演算ュニット 1 0 0 の 4個のコントローラ 1 0 3のうち、 番号が 1つだけ小さいものに計算データを送信す ることを表す。なお、 0番のコントローラ 1 0 3が受信した計算データは破棄されるもの とする。第 7 8図は、全ての配列演算ユニット 1 0 0の各々のコントローラ 1 0 3が下側 の配列演算ユニット 1 0 0の 4個のコントローラ 1 0 3のうち、番号が 1つだけ大きいも のに計算データを送信することを表す。 なお、 3番のコントローラ 1 0 3が受信した計算 データは破棄されるものとする。 第 7 9図は、全ての配列演算ユニット 1 0 0の各々のコ ントローラ 1 0 3が左側の配列演算ュニット 1 0 0の 4個のコントローラ 1 0 3のうち、 番号が 1つだけ大きいものに計算データを送信することを表す。 なお、 3番のコントロー ラ 1 0 3が受信した計算データは破棄されるものとする。第 8 0図は、 全ての配列演算ュ ニット 1 0 0の各々のコントローラ 1 0 3が右側の配列演算ユニット 1 0 0の 4個のコン トローラ 1 0 3のうち、 番号が 1つだけ小さいものに計算データを送信することを表す。 なお、 0番のコントローラ 1 0 3が受信した計算データは破棄されるものとする。 第 7 7図〜第 8 0図に示された計算データの流れに従って、各々のコントローラ 1 0 3が計算 データを転送することにより、 この計算データの転送回数は 3回以内になる。 しかもプロ セッサ 1 0 1が任意の番号のコントローラ 1 0 3に計算データを書き込むことにより、 こ の計算データはこのコントローラ 1 0 3の番号に関連した回数だけ転送される。 例えば 第 7 7図の場合、 2番のコントローラ 1 0 3に計算データが書き込まれたならば、 この計 算データは上側に 2回だけ転送される。 同様に第 7 8図の場合、 2番のコントローラ 1 0 3に計算データが書き込まれたならば、 この計算データは下側に 1回だけ転送される。 こ れにより、プロセッサ 1 0 1が最初に計算データの転送回数を計算した後、 このプロセッ サ 1 0 1は転送回数を判定する必要がなくなるばかりか、プロセッサ 1 0 1が最初に計算 データを 1個のコントローラ 1 0 3に書き込んだ後、 複数の上側の配列演算ュニット 1 0 0の各々において、プロセッサ 1 0 1はこの計算データを読み込むだけで良く、 このプ 口セッサ 1 0 1が再度この計算データを書き込む必要はない。 つまり、 各々の配列演算ュ ニット 1 0 0のプロセッサ 1 0 1は複数のコントローラ 1 0 3へのアクセス回数を低減す ることができる。 なお、第 7 7図〜第 8 0図には、複数の配列演算ユニット 1 0 0が格子 状に配列されているが、 勿論、複数の仮想配列演算ユニット 1 0 5が格子状に配列されて いる場合でも同様である。 また第 8 1図に示すように、複数のコントローラ 1 0 3が積層 されている場合でも同様である。
ところで、第 7 7図〜第 8 0図に示された方法では、計算データは上下左右のうち 1方 向に決められた回数しか転送されない。 そこで第 7 3図〜第 7 6図に示すような渦巻き 状に反時計回り及び時計回りに計算データを転送するためには、 第 8 2図に示すように、 上下左右のうち 2方向の転送が組み合わされば良い。 なお、 第 8 2図は、 4 8近傍の配列 演算ユニット 1 0 0に計算データを反時計回りに転送するために、 この計算データを 3個 の右側の配列演算ユニット 1 0 0に転送すると共に、 3個の右側の配列演算ユニット 1 0 0の各々において、 この計算データを 3個の上側の配列演算ユニット 1 0 0に転送する場 合を表している。 このとき、 破線で示されているように、 3個の右側の配列演算ユニット 1 0 0の各々において、 コントローラ 1 0 3が受信した計算データが 3番のコントローラ 1 0 3に転送されている。 この転送のことを再転送(retransmit) と呼ぶ。 なお、 この再 転送は一般にプロセッサ 1 0 1によって実行される。 この理由は、計算データが転送され る近傍のサイズによってコントローラ 1 0 3が受信した計算データが書き込まれるコント ローラ 1 0 3の番号は変化する、 つまり、 再転送の組み合せの数は最大でコントローラ 1 0 3の数の自乗になるからである。加えて、配列演算ユニット 1 0 0が多数のコントロー ラ 1 0 3を備えたとしても、プロセッサ 1 0 1は任意のコントローラ 1 0 3間で計算デー タを再転送することができる。そこで第 8 3図に示すように、複数(ここでは 8個)のコ ントローラ 1 0 3を 4個ずつ 2組に分け、それぞれ 0〜 3及び 0 ,〜 3 ,の番号を割り当 てるものとする。 さらに 0〜3番のコントローラ 1 0 3を転送用に割り当て、 0 ,〜3 , 番のコントローラ 1 0 3を再転送用に割り当てるものとする。勿論、多数のコントローラ 1 0 3を適当な数の組に分け、 さらにそれぞれの組を転送用及び再転送用に割り当てても 良い。 このとき、プロセッサ 1 0 1が、転送用のコントローラ 1 0 3が受信した計算デー タを再転送用のコントローラ 1 0 3に再転送することにより、計算データは転送用のコン トローラ 1 0 3を介して 6個の水平方向の配列演算ユニット 1 0 0及び 6個の垂直方向の 配列演算ユニット 1 0 0に転送され、その後再転送用のコントローラ 1 0 3を介して 4 8 近傍の配列演算ユニット 1 0 0に転送される。 この方法では、複数の再転送前の計算デー タ及ぴ複数の再転送後の計算データが 1方向に転送される際に、 複数の再転送前の計算 データ及び複数の再転送後の計算データが、それぞれ転送用のコントローラ 1 0 3及び再 転送用のコントローラ 1 0 3によって別々に転送されるので、プロセッサ 1 0 1は効率よ く再転送を実行することができる。
さて、 ここまではコントローラ 1 0 3間の計算データの流れと再転送について説明して きた。 しかしながら第 6 2図に示すようなコントローラ 1 0 3では、 このような転送方法 を実行することはできない。そこで以下では、計算データの転送機能を有する新たなコン トローラ 1 0 3について説明する。なお、 内部データバス 5 6の幅は自由に決定すること ができるが、以下では説明を簡単にするために、 内部データバス 5 6の幅が 1 6ビットで あるものとする。 また、以下では配列演算ユニット 1 0 0を用いて説明するが、特に指示 がない限り、 仮想配列演算ユニット 1 0 5の場合でも同様である。
まず、 第 8 4図に示すように、 コントローラ 1 0 3は、 アドレスバッファ 5 3、デ一夕 バッファ 5 5、 アドレスデコーダ 5 4、 4個の転送回路(TRANSMIT CIRCUIT) 8 0 1、 1個以上の前入力回路(FRONT INPUT CIRCUIT) 8 0 2、 1個以上の結果出力回路 (RESULT OUTPUT CIRCUIT) 8 0 3及び通信ステータスバッファ(COMMUNICATION STATUS BUFFER) 8 0 4を含む。 なお、 信号 x 'は信号 xの負論理を表し、 太線は複 数の信号線の束を表すものとする。 このとき 4個の転送回路 8 0 1は、それぞれ下から上 へ、 上から下へ、右から左へ、及び左から右へ、 計算データ及び計算ステータスを転送す るものとする。 したがって、 第 7 7図に示された計算データの流れを実現するためには、 各々のコントローラ 1 0 3のうち、 下から上へ計算データを転送する転送回路 8 0 1同 士が接続される。 同様に、第 7 8図〜第 8 0図の場合も、それぞれ上から下へ、 左から右 へ、及び右から左へ、計算データを転送する転送回路 8 0 1同士が接続される。転送回路 8 0 1の詳細は後で説明する。 次に、 アドレスバッファ 5 3、 データバッファ 5 5及びアドレスデコーダ 5 4は従来と 同様である。 ただし、 アドレスデコーダ 5 4は必要に応じてデコーディング信号を生成す るものとする。
次に、 通信ステータスバッファ 8 0 4は、 第 8 5図にしめすような、 4個の転送回路 8 0 1、 前入力回路 8 0 2及び結果出力回路 8 0 3が出力する、 上下左右の各方向への送 達ステータス、 上下左右の各方向への受領ステータス、 前入力ステータス、 結果ステー タスを内部データバス 5 6に出力する。 この通信ステ一タスバッファ 8 0 4には、 一般的 なラインバッファが用いられる。 なお、 第 8 5図から明らかなように、 1 6ピット幅の内 部データバス 5 6の場合、 通信ステータスバッファ 8 0 4は前入力ステータス及び結果ス テ一タスをそれぞれ最大で 7つまで増やすことができる。 したがって、 コントローラ 1 0 3の設計者は、 必要に応じて前入力回路 8 0 2及び結果出力回路 8 0 3を増やすことがで さる。
次に、 第 8 6図に示すように、 前入力回路 8 0 2では、 前入力送達が立ち上がる度に、 前入力データ入力レジスタ 8 3 1が複数(ここでは 1 6個) の前入力データを順次記憶す る。 勿論、 前入力送達が立ち下がる時に前入力データ入力レジスタ 8 3 1が複数(ここで は 1 6個) の前入力データを順次記憶することもできる。 さらに前入力データカウンタ 8 3 6が、 前入力送達の立ち上がり回数を数え、 この立ち上がり回数が一定の回数 (ここ では 1 6回) に達したら、 カウント最小 'が 0として出力される。 なお、 第 8 6図では、 前入力データカウンタ 8 3 6のカウンタ部分に型番 7 4 L S 1 6 9が用いられているが、 勿論他のカウンタが用いられても良い。 また、 カウント最小 'が 0となると、 前入力回路 用コントローラ 8 3 5によって複数(ここでは 1 6個) の前入力データが前入力データ出 力レジスタ 8 3 3に記憶される。 これにより、 さらに前入力データが入力されても、 前入 力データ出力レジスタ 8 3 3に記憶された複数の前入力データが変更されることはない。 その後、 前入力デコーディング 0 'が 0になる度に、 前入力データ出力レジスタ 8 3 3に 記憶された複数の前入力デ一夕がシフトされ、 前入力データラインバッファ 8 3 4を介し て 1個ずつ内部データバス 5 6に出力される。 ここで、 前入力回路用コントローラ 8 3 5の状態遷移図は第 8 7図のようになる。 以 下、 この状態遷移図について説明する。
状態 8 4 1は待ち状態(0 1 )であり、 前入力ステータスを 0に設定し、 ロードを 1に 設定し、 更新可能'を 1に設定する。 リセット 'がアクティブであれば、 状態 8 4 1に移 動する。 またカウント最小'が 0であれば、 状態 8 4 2に移行する。 さもなくば、 状態 8 4 1に移行する。
状態 8 4 2はロード状態(0 0 )であり、 前入力ステータスを 0に設定し、 口一ドを 1 に設定し、 更新可能 'を 0に設定する。 その後、 状態 8 4 3に移行する。
状態 8 4 3はシフト準備状態(1 1 )であり、 前入力ステータスを 1に設定し、 ロード を 0に設定し、 更新可能'を 1に設定する。 前入力デコーディング 0 'が 0であれば、 状 態 8 4 4に移行する。 前入力デコーディング 1 ,が 0であれば、 状態 8 4 1に移行する。 さもなくば、 状態 8 4 3に移行する。
状態 8 4 4はシフト中状態( 1 0 )であり、 前入力ステータスを 1に設定し、 ロードを 0に設定し、 更新可能 'を 0に設定する。 その後、 状態 8 4 3に移行する。
なお、 各々の状態に割り当てられた番号は変更可能である。
また、 第 8 6図では、 前入力データ入力レジスタ 8 3 1が内部データバス 5 6の幅に合 わせて前入力データを入力しているが、 勿論前入力データを 1ビットずつ入力しても良 い。 この場合は、 前入力データカウンタ 8 3 6の最大カウント数が一定の回数(ここでは 1 5回) と内部データパス 5 6のビット数の積になる。 このように前入力データを 1ピッ トずつ入力することにより、 L S I設計者は、 視覚装置 2を三次元 L S Iに実装する際に 垂直信号線 2 7 8の数を大幅に減らすことができる。 したがって L S I設計者は、 実装面 積が大きいビアなどの数を減らすことができ、 三次元 L S Iの実装が容易になる。
次に、 第 8 8図に示すように、 結果出力回路 8 0 3では結果デコーディング 0 'が選択 され、 さらに書き込み,が立ち上がる度に、 結果データ入力レジスタ 8 5 1が内部データ バス 5 6を介して複数(ここでは 1 6個) の結果データをシフトしながら記憶する。その 後、 結果デコーディング 1 'がアクティブになったり、 さらに書き込み 'が立ち上がると き、 結果ステータスが 1になる。 結果出力回路用コントローラ 8 5 4は、 結果データ入力 レジスタ 8 5 1から結果デ一夕マルチプレクサ 8 5 2を介して結果データ出力レジスタ 8 5 3に複数の結果データを移動させると共に、 結果データマルチプレクサ 8 5 2を介し て結果データ出力レジスタ 8 5 3中の複数の結果データを順番にシフトする。 このとき結 果送達が 1と 0を繰り返す。 さらに結果データカウンタ 8 5 6が、 結果デ一夕の出力回数 を数え、 この回数が一定の回数(ここでは 1 6回) に達したら、 結果ステータスが 0とし て出力される。 なお、 第 8 8図では、 結果デ一夕カウンタ 8 5 6のカウン夕部分に型番 7 4 L S 1 6 9が用いられているが、 勿論他のカウンタが用いられても良い。
ここで、 結果出力回路用コントローラ 8 5 4の状態遷移図は第 8 9図のようになる。 以 下、 この状態遷移図について説明する。
状態 8 6 1は待ち状態(1 1 1 )であり、 結果リセット 'を 1に設定し、 カウント可能' を 1に設定し、 更新可能'を 1に設定する。 リセット 'がアクティブであれば、 状態 8 6 1に移動する。 また結果ステータスが 1であれば、 状態 8 6 2に移行する。 さもなくば、 状態 8 6 1に移行する。
状態 8 6 2はロード状態 ( 1 1 0 )であり、 結果リセット 'を 1に設定し、 カウント可 能 'を 1に設定し、 更新可能 'を 0に設定する。 カウント最大'が 0であれば、 状態 8 6 4に移行する。 さもなくば、 状態 8 6 3に移行する。
状態 8 6 3はシフト中状態( 1 0 0 )であり、 結果リセット 'を 1に設定し、 カウント 可能'を 0に設定し、 更新可能 'を 0に設定する。 カウント最大'が 0であれば、 状態 8 6 4に移行する。 さもなくば、 状態 8 6 3に移行する。
状態 8 6 4はシフト終了状態 (0 1 1 )であり、 結果リセット 'を 0に設定し、 カウン ト可能 'を 1に設定し、 更新可能 'を 1に設定する。 その後、 状態 8 6 1に移行する。 なお、 各々の状態に割り当てられた番号は変更可能である。
また、 第 8 8図では、 結果データ出力レジスタ 8 5 3及び結果データマルチプレクサ 8 5 2が内部データパス 5 6の幅に合わせて結果データをシフトしているが、 勿論結果デー 夕を 1ビットずつシフトしても良い。 この場合は、 結果データカウンタ 8 5 6の最大カウ ント数が一定の回数(ここでは 1 5回) と内部データパス 5 6のビット数の積になる。 こ のように結果データを 1ビットずつ出力することにより、 L S I設計者は、 視覚装置 2を 三次元 L S Iに実装する際に垂直信号線 2 7 8の数を大幅に減らすことができる。 した がって L S I設計者は、 実装面積が大きいビアなどの数を減らすことができ、 三次元 L S Iの実装が容易になる。
さて、 ここまでは、 新たなコントローラ 1 0 3のうち、 転送回路 8 0 1を除いた部分に ついて説明してきた。 以下では転送回路 8 0 1について説明する。
第 9 0図に示すように、 各々の転送回路 8 0 1は、 正論理転送回路用コントローラ 8 1 1 a、 正論理送達ラッチ 8 1 2 a , 送達ステータス生成回路 8 1 3、 計算データ受信ラッ チ 8 1 4 a、 計算ステータス受信ラッチ 8 1 4 b計算デ一夕ラインバッファ 8 1 5 a、 計 算ステータスラインバッファ 8 1 5 b、 計算データ送信レジス夕 8 1 6 a、 計算ステ一夕 ス送信レジスタ 8 1 6 b , 計算データマルチプレクサ 8 1 7 a , 及び計算ステータスマ ルチプレクサ 8 1 7 bを含む。 なお、 必要に応じて、 入力端子にはプルアップ抵抗及ぴプ ルダウン抵抗が取り付けられるものとする。 隣接する配列演算ユニット 1 0 0の 1個の コントローラ 1 0 3から受信した計算データ及び計算ステータスは、 送達 (入力) がァ クティブのときに、 それぞれ計算データ受信ラッチ 8 1 4 a及び計算ステータス受信ラッ チ 8 1 4 bに記憶される。 受領計算データデコーディング 'がアクティブであり、 かつ読 み込み 'がアクティブであるときに、 この計算デ一夕は計算デ一夕ラインバッファ 8 1 5 aを介して内部データバス 5 6に出力される。 また、 受領計算ステータスデコ一ディン グ 'がアクティブであり、 かつ読み込み 'がアクティブであるときに、 この計算ステ一夕 スは計算ステータスラインバッファ 8 1 5 bを介して内部データバス 5 6に出力される。 一方で、 内部データパス 5 6を介してプロセッサ 1 0 1によって書き込まれた計算データ 及び計算ステータスは、 送達計算データデコーディング 'がアクティブであり、 かつ書き 込み'が立ち上がるときに、 それぞれ計算データ送信レジスタ 8 1 6 a及び計算ステ一夕 ス送信レジスタ 8 1 6 bに記憶される。 計算デ一夕マルチプレクサ 8 1 7 aは、 送達 Z転 送スィッチに従って、 計算データ受信ラッチ 8 1 4 a及び計算データ送信レジスタ 8 1 6 aのいずれかから計算データを選択し、 隣接する配列演算ュニット 1 0 0の 1個のコント ローラ 1 0 3に送信する。 計算ステータスマルチプレクサ 8 1 7 bは、 送達 Z転送スイツ チに従って、 計算ステータス受信ラッチ 8 1 4 b及び計算ステータス送信レジスタ 8 1 6 bのいずれかから計算ステータスを選択し、 隣接する配列演算ユニット 1 0 0の 1個の コントローラ 1 0 3に送信する。 このとき送達(出力)がアクティブになる。 正論理送達 ラッチ 8 1 2 aは、 送達(入力)がアクティブであるときに受領(出力) をアクティブに すると共に、 受領ステータス及び転送ステータスを 1に設定する。 なお、 受領計算ステ一 タスデコーディング 'がアクティブであるときに、 受領ステータスは 0になるが、 受領計 算データデコーディング 'がアクティブであるときに、 受領ステータスが 0になっても良 い。 また転送リセット 'がアクティブであるときに、 転送ステータスは 0になる。 送達ス テ一タス生成回路 8 1 3は、 計算ステータス送信レジスタ 8 1 6 bに計算ステータスが書 き込まれたときに、 送達ステータスを 1に設定する。 なお、 送達ステータス生成回路 8 1 3は、 計算データ送信レジス夕 8 1 6 aに計算データが書き込まれたときに、送達ステー タスを 1に設定しても良い。 送達リセット 'がアクティブであるときに、 送達ステータス は 0になる。 正論理転送回路用コントローラ 8 1 1 aは、 受領(入力) を入力して、 送達 (出力) を出力すると共に、 送達ステータス及び転送ステータスを入力して、 送信/転送 スィッチ、 送達リセット及び転送リセットを出力する。
ここで、 正論理転送回路用コントローラ 8 1 1 aの状態遷移図は第 9 1図のようにな る。 以下、 この状態遷移図について説明する。
状態 8 2 1は待ち状態(0 1 1 0 0 )であり、送信リセット 'を 1に設定し、転送リセッ ト ,を 1に設定し、 送達(出力) を 0に設定し、 送信/転送スィッチを 0に設定する。 リ セット 'がアクティブであれば、 状態 8 2 1に移動する。 受領(入力)が 0であり、 かつ 転送ステータスが 1であれば、 状態 8 2 2に移行する。 受領(入力)が 0であり、 かつ転 送ステータスが 0であり、 かつ送信ステータスが 1であれば、 状態 8 2 5に移行する。 さ もなくば、 状態 8 2 1に移行する。 状態 8 2 2は転送開始状態 (1 1 1 1 0 )であり、 送信リセット 'を 1に設定し、 転送 リセット 'を 1に設定し、 送達(出力) を 1に設定し、 送信 Z転送スィッチを 0に設定す る。 その後、 状態 8 2 3に移動する。
状態 8 2 3は転送中状態( 1 1 0 1 0 )であり、 送信リセット 'を 1に設定し、 転送リ セット 'を 1に設定し、 送達(出力) を 0に設定し、送信 Z転送スィッチを 0に設定する。 受領(入力)が 0であれば、状態 8 2 4に移行する。 さもなくば、 状態 8 2 3に移行する。 状態 8 2 4は転送終了状態 ( 1 1 0 0 0 )であり、 送信リセット 'を 1に設定し、 転送 リセット 'を 0に設定し、 送達(出力) を 0に設定し、 送信 Z転送スィッチを 0に設定す る。 その後、 状態 8 2 1に移行する。
状態 8 2 5は送信開始状態 ( 1 1 1 1 1 )であり、 送信リセット ,を 1に設定し、 転送 リセット 'を 1に設定し、 送達(出力) を 1に設定し、 送信/転送スィッチを 1に設定す る。 その後、 状態 8 2 6に移動する。
状態 8 2 6は送信中状態 ( 1 1 1 0 1 )であり、 送信リセット 'を 1に設定し、 転送リ セット 'を 1に設定し、 送達(出力) を 0に設定し、送信/転送スィッチを 1に設定する。 受領(入力)が 0であれば、状態 8 2 7に移行する。 さもなくば、 状態 8 2 6に移行する。 状態 8 2 7は送信終了状態(1 0 1 0 1 )であり、 送信リセット 'を 0に設定し、 転送 リセット 'を 1に設定し、 送達(出力) を 0に設定し、 送信 Z転送スィッチを 1に設定す る。 その後、 状態 8 2 1に移行する。
なお、 各々の状態に割り当てられた番号は変更可能である。
第 9 0図には、 送達(入力)、 送達(出力)、 受領(入力) 及び受領 (出力) が正論理 である転送回路 8 0 1が示されているが、 勿論第 9 2図に示すように、 送達(入力)、 送 達(出力)、 受領(入力) 及び受領(出力) は負論理であっても良い。 この場合、 必要に 応じて送達用インパー夕 8 1 8などを用いることにより、 送達(入力)、 送達(出力)、 受 領(入力) 及び受領 (出力) の論理が反転される。
さらに、 第 9 3図に示すように、 負論理送達ラッチ 8 1 2 b、 計算データ受信ラッチ 8 1 4 a及び計算ステータス受信ラッチ 8 1 4 bの代りに、 それぞれ負論理送達レジスタ 8 1 2 c、 計算データ受信レジスタ 8 1 4 c及び計算ステータス受信レジス夕 8 1 4 dが用 いられる。 加えて、 送達(入力) 'が立ち上がったときに、 受領(出力) 'がアクティブに なると共に、 隣接する配列演算ユニット 1 0 0の 1個のコントローラ 1 0 3から受信した 計算データ及び計算ステータスがそれぞれ計算データ受信レジス夕 8 1 4 c及び計算ス テ一タス受信レジスタ 8 1 4 dに記憶される。
さて、 ここまでは視覚装置 2について説明してきた。そこで以下では、本発明の連動式 カウンタ 4 0 1の実施形態を挙げ、 図面を参照して説明する。
まず、第 9 6図に示すように、請求項 1 3記載の発明に対応する連動式カウンタ 4 0 1 の実施形態は、 同期式カウンタ 4 1 1、終り値判定用論理ゲート 4 1 2及びィネーブル信 号用論理ゲート 4 1 6から構成されるカウンタ部分と、 連動信号増幅用論理ゲート 4 1 3、連動信号用ラッチ回路 4 1 4及び連動信号用論理ゲート 4 1 5から構成される連動部 分と、 から構成される。 また第 9 6図では、 連動式カウンタ 4 0 1が他の 3つの連動式 カウンタ 4 0 1から連動信号 B L K 1 '、 B L K 2 ,及び B L K 3 ,を入力するものとす る。 なお、 信号 X 'は信号 Xの負論理を表すものとする。 また第 9 6図において、 終り値 判定用論理ゲート 4 1 2には ANDゲートが用いられ、 ィネーブル信号用論理ゲート 4 1 6及び連動信号用ラッチ回路 4 1 4には NANDゲートが用いられ、連動信号増幅用論理 ゲート 4 1 3には NOTゲートが用いられ、連動信号用論理ゲート 4 1 5には O Rゲート が用いられているが、 勿論他の論理ゲートが用いられても良い。
カウンタ部分では、 同期式カウンタ 4 1 1、終り値判定用論理ゲート 4 1 2及びイネ一 ブル信号用論理ゲート 4 1 6が環状に配線される。すなわち、 同期式カウンタ 4 1 1はィ ネーブル信号 Pを入力して、カウント数を出力する。終り値判定用論理ゲート 4 1 2は力 ゥント数を入力して、連動信号 B LK 0を出力する。 ィネーブル信号用論理ゲート 4 1 6 は少なくとも 1つの入力端子に連動信号 B L K 0を入力して、 ィネーブル信号 Pを出力す る。
例えば第 9 7図の場合、 同期式カウンタ 4 1 1は 3つの J Kフリップフロップを備え、 これらの J Kフリップフロップの出力 Q A、 Q B及び Q Cを用いて 0から 7までのカウン 卜数を出力する。 また、 これらの J Kフリップフロップはそれぞれ出力 QA、 QB及び Q Cの負論理出力 QA '、 QB '及び QC 'も出力することができる。 クロック信号はカウ ンタ用論理ゲート 422 cによって反転された後、 分岐点 D 1及び D 2において、 3つの J Kフリップフロップのクロック端子に分配される。 これらの J Kフリップフロップはク ロック信号 CLKの立ち上がりのエッジで動作する。 分岐点 E1において、 ィネーブル信 号 Pは左の J Kフリップフロップの J端子及び K端子に分配される。 これにより、 イネ一 ブル信号 Pの電圧か Hi ghレベルであるとき、 この J Kフリップフロップの J端子と K 端子の両方の電圧が H i ghレベルになる。 したがって、 クロック信号 CLKが立ち上が る度に、 この J Kフリップフロップの出力 Q A及び Q A 'の電圧が反転する。 同様に、 分 岐点 E 2において、 イネ一ブル信号 Pは、カウンタ用論理ゲート 422 a及び bそれぞれ の入力端子のうちの少なくとも 1つに分配される。 また分岐点 Fにおいて、 出力信号 QA はカウンタ用論理ゲート 422 a及び bそれぞれの入力端子のうちの少なくとも 1つに分 配される。 さらに出力信号 QBはカウンタ用論理ゲート 422 bの入力端子のうちの少な くとも 1つに分配される。 カウン夕用論理ゲート 422 a及び bの出力端子は、それぞれ 中央と右の J Kフリップフロップの J端子及び K端子に接続される。 これにより、 イネ一 ブル信号 Pの電圧が H i ghレベルであるとき、 出力信号 QAの電圧が H i ghレベル であれば、 中央の J Kフリップフロップの J端子と K端子の両方の電圧が Hi ghレベル になる。 したがって、 クロック信号 CLKが立ち上がる度に、 この J Kフリップフロップ の出力信号 QB及び QB,の電圧が反転する。 さらに、 イネ一ブル信号 Pの電圧が H i g hレベルであるとき、 出力信号 QA及び QBの電圧が共に H i ghレベルであれば、右の J Kフリップフロップの J端子と K端子の両方の電圧が H i ghレベルになる。 したがつ て、 クロック信号 CLKが立ち上がる度に、 この J Kフリップフロップの出力信号 QC及 ぴ QC,の電圧が反転する。 つまり、 イネ一ブル信号 Pの電圧が H i ghレベルである場 合、 クロック信号 CLKが立ち上がる度に、 同期式カウンタ 411が出力するカウント数 は 1つずつ増える。
さて、第 96図において、終り値判定用論理ゲート 412が連動信号 BLK0を出力す るために、終り値判定用論理ゲート 412の複数(ここでは 3つ) の入力端子に出力信号 QA、 QB及び QCが入力される。 これにより、 同期式カウンタ 411が出力するカウン ト数が 7であれば、 出力 QA、 QB及び QCの電圧が全て H i ghレベルになるので、連 動信号 BLK0の電圧は H i ghレベルになる。分岐点 U1において、 連動信号 BLK0 はイネ一プル信号用論理ゲート 416の入力端子のうちの少なくとも 1つに入力される。 これにより、 もし連動信号 BLK0が Lowレベルであれば、 ィネーブル信号 Pは Hi g hレベルになる。 したがって、 カウント数が 7に到達するまで同期式カウンタ 411は力 ゥント数を 1つずつ増やし、 カウント数が 7に到達すると、 同期式カウンタ 411は停止 する。
なお、第 97図には、 クロック信号 CLKに同期した 3つの JKフリップフロップから 構成される 2進 3桁の同期式カウンタ 411が示されているが、 JKフリップフロップの 数を N個用いることにより、 2進 N桁の同期式カウンタ 411に変更することは容易であ る。 またカウンタ用論理ゲート 422 a及び bが、 出力信号 Q A及び QBの代りに、それ ぞれ出力信号 Q A,及び QB,を入力することにより、 同期式カウンタ 411はダウン力 ゥン夕に変更される。
連動部分では、連動信号増幅用論理ゲート 413が連動信号 BLK0を増幅して、連動 信号 BLK0 ,を出力すると共に、 外部から入力される連動信号 BLK1 '、 BLK2 ' 及び BLK3,に従い、 連動信号用論理ゲート 415及び連動信号用ラッチ回路 414が ィネーブル信号用論理ゲート 416を制御する。すなわち、連動信号 BLK0の電圧が H i hレベルであれば、連動信号増幅用論理ゲート 413は連動信号 B LK 0 ,の電圧を Lowレベルにする。 さもなくば、 連動信号 BLK0 ,の電圧は Hi ghレベルである。 また、複数(ここでは 3つ) の連動信号用ラッチ回路 414a〜414 cの 1つの入力端 子に、 それぞれ連動信号 BLK1 ,、 BLK2 ,及び BLK3 ,が入力されると共に、 分 岐点 U 2及び U 3において、連動信号 BLKOは連動信号用ラッチ回路 414a〜414 cのもう 1つの入力端子に分配される。 さらに連動信号用ラッチ回路 414a〜414c の出力信号 QG1 ,、 QG2 ,及び QG3 ,が連動信号用ラッチ回路 414の複数(ここ では 3つ) の入力端子に入力され、連動信号用ラッチ回路 414の出力信号 G 'がイネ一 ブル信号用論理ゲート 416の少なくとも 1つの端子に入力される。 したがって、 連動 信号 BLK0が H i ghレベルであり、かつ連動信号 BLK1 '、 BLK2,及び BLK 3 ,の全てが L owレベルである場合、 つまり連動信号 BLK0,、 BLK1,、 BLK 2 ,及び BLK3 ,の全てが Lowレベルである場合、 連動信号用ラッチ回路 414 a〜 414cの出力信号 QG1 QG2 ,及び QG3 ,は全て L owレベルになる。 さらに ィネーブル信号も Lowレベルになることができる。 しかも連動信号 BLK0が H i g hレベルである場合、 連動信号 BLK1,、 BLK2 ,及び BLK3 ,のいずれかが一旦 Lowレベルになり、 その後 H i ghレべ Jレに戻ったとしても、 出力信号 QG1 '、 QG 2 '及び QG3 'のうち対応するものは Lowレベルのままである。 つまり、 連動信号 B LK0が H i ghレベルであれば、連動信号 BLK1,、 BLK2 ,及び BLK3 ,がー 斉に L o wレベルにならなくても、 ィネーブル信号は L o wレベルになることができる。 ただし、連動信号 BLK0が Lowレベルになれば、連動信号用ラッチ回路 414a〜4 14 cの出力信号 QG1 QG2 ,及び QG3 ,は全て H i ghレベルになる。 しかも 連動信号 BLK0が再度 H i ghレベルになっても、連動信号用ラッチ回路 414a〜4 14<3の出カ信号<301,、 QG2 ,及び QG3 ,は H i ghレベルのままである。 これ により、連動部分は、 連動信号 BLK0 'の位相と周期を、 連動信号 BLK1 '、 BLK 2,、 BLK3 ,及び BLK4,のうちの位相が最も遅れているものの位相と周期に合わ せることができる。
なお、第 96図では、連動式カウンタ 401が 3つの連動式カウンタ 401から連動信 号を入力する場合を示したが、接続される連動式カウンタ 401の数に応じて連動信号用 論理ゲート 415の入力端子数を変更するか、 さもなくば連動信号用論理ゲート 415の 入力端子のうち不必要なものをブルダゥンすれば良い。
さて、 第 96図に示した同期式カウンタ 411において、 カウント数の初期値は 0に、 終り値は 7に固定されていた。 しかしながら LS Iの仕様によってはカウント数の初期値 及び終り値が変更される場合もある。そこで第 98図に示すように、請求項 14記載の発 明に対応する連動式カウンタ 401の実施形態は、市販の同期式カウンタ 411のような 同期式クリァ手段及び同期式ロード手段を有する同期式カウンタ 411を用いることに より、 任意の初期値及び終り値を設定することができる。
例えば第 98図に示すように、 同期式カウンタ 411が同期クリア手段を有する場合、 カウンタ部分では、 同期式カウンタ 411、 終り値判定用論理ゲート 412及びイネーブ ル信号用論理ゲート 416が環状に配線されると共に、 初期化信号用論理ゲート 417 の出力端子が同期式カウンタ 411のクリア端子に接続される。 すなわち、 同期式カウ ンタ 411はィネーブル信号 Pと初期化信号 IN ITを入力し、 カウント数を出力する。 終り値判定用論理ゲート 412はカウント数を入力して、 連動信号 BLK0を出力する。 ィネーブル信号用論理ゲート 416は少なくとも 1つの入力端子に連動信号 BLK 0を 入力して、 イネ一ブル信号 Pを出力する。 初期化信号用論理ゲート 417は連動信号 BL K 0及ぴィネーブル信号 Pを入力し、 初期化信号 I N I Tを出力する。
例えば第 99図の場合、 同期式カウンタ 411は型番 74163のアップカウンタを備 え、 出力信号 QA〜QDを用いて 0から 15までのカウント数を出力する。 また、 カウン 夕用論理ゲート 422 a〜422 cが、 それぞれ出力信号 Q A〜Q Cの負論理出力 Q A ' 〜QC 'を出力する。 ィネーブル端子 Tはプルアップされ、 ロード端子 LOADはプル アップされ、 初期値用端子 A〜Dはプルダウンされている。 これにより、 ィネーブル信号 Pの電圧が Hi ghレベルであり、 かつクリア信号 CLRが H i ghレベルである場合、 クロック信号 CLKが立ち上がる度に、 同期式カウンタ 411が出力するカウント数は 1 つずつ増える。 さらに、 ィネーブル信号 Pの電圧に関係なく、 クリア信号 CLRが Low レベルである場合、 クロック信号 CLKが立ち上がるならば、 同期式カウン夕 411が出 力するカウント数は 0になる。 それ以外の場合、 同期式カウンタ 411は動作しない。 そこで第 98図に示すように、 同期式カウンタ 411のカウント数が 5である場合、終 り値判定用論理ゲート 412は連動信号 BLK0の電圧を H i g hレベルにする。 さもな くば、 連動信号 BLK0の電圧は Lowレベルである。 分岐点 U1において、連動信号 B LK0はイネ一ブル信号用論理ゲート 416の入力端子のうちの少なくとも 1つに入力さ れる。 これにより、 もし連動信号 BLK0が Lowレベルであれば、 イネ一プル信号 Pは Hi ghレベルになる。 したがって、 カウント数が 5に到達するまで同期式カウンタ 41 1はカウント数を 1つずつ増やし、 カウント数が 5に到達すると、 同期式カウンタ 411 は停止する。分岐点 U4において、連動信号 BLK0は初期化信号用論理ゲート 417の 入力端子のうち少なくとも 1つに入力される。 さらに分岐点 Vにおいて、 ィネーブル信号 Pは初期化信号用論理ゲート 417の入力端子のうち少なくとも 1つに入力される。 これ により、 もし連動信号 B L K 0及ぴィネーブル信号 Pが共に H i g hレベルであれば、初 期化信号用論理ゲート 417は初期化信号 I N I Tは L owレベルになる。 したがって、 同期式カウンタ 411が停止し、連動信号 BLK1,、 BLK2,及び BLK1 ,が一旦 L OWレベルになれば、 同期式カウンタ 411はカウント数を 0にして、 動作を再開する。 ここまでは連動式カウンタ 401単体の回路構成について説明してきた。以下では複数 の連動式カウンタ 401が接続された場合に連動式カウンタ 401がお互いにどのよう に連動するのか、 タイミングチャートを用いて説明する。
まず第 100図に示すように、 3つの連動式カウンタ 401 a〜401 cが接続された 場合を考える。なお第 100図において、連動式カウンタ 401 &〜4010を1〇11と 略記する。 各々の連動式カウンタ 401 a〜401 cの連動信号 BLK0 'は残りの連動 式カウンタ 401 a〜401 cの連動信号用論理ゲート 415に入力される。 したがって 連動信号用論理ゲート 415は 2入力論理ゲートであれば良い。 これら 3つの連動式カウ ンタ 401 a~401 cが安定して動作しているとき、連動式カウンタ 401 aのタイミ ングチャートを第 101図に示す。 なお、全ての連動式カウンタ 401 a〜401 cは対 称的なので、残りの連動式カウンタ 401 b及び 401 cのタイミングチャートも同様で ある。
第 101図から明らかなように、連動式カウンタ 401 a〜401 cのカウント数が一 致している場合には、 ィネーブル信号用論理ゲート 416の出力が一瞬 H i ghレベルに なるが、直ぐに Lowレベルに戻るため、 同期式カウンタ 411は連続してカウントする ことができる。 したがって、連動式カウン夕 401 a〜401 cは同じカウント数を出力 し続けることができる。
第 102図に示すように、 連動信号 BLK1 'の位相が何らかの理由により進んだ場 合、 連動式カウンタ 401は連動信号 BLK1 'に関係なく動作する。 したがって連動信 号 BLK1 'はカウント数に対して影響しない。 なお連動信号 BLK1 'を生成する連動 式カウンタ 401は連動信号 BLK1 ,を連動信号 BLK0 '及び BLK2 'の位相に合 わせるように動作する。
第 103図に示すように、 連動信号 BLK2 'の位相が何らかの理由により遅れた場 合、 連動式カウンタ 401は連動信号 BLK0 ,の位相を連動信号 BLK 2 'の位相に合 わせるように動作する。 したがって連動信号 BLK 2 'が Lレベルになるまで、 連動式力 ゥンタ 401はカウント数として終り値を出力し続ける。
第 104図に示すように、 連動信号 BLK1 'の位相が何らかの理由により進み、 連動 信号 BLK2 ,の位相が何らかの理由により遅れた場合、 連動式カウンタ 401は連動信 号 BLK0 'の位相を連動信号 BLK 2 'の位相に合わせるように動作する。 したがって 連動信号 BLK2 'が Lレベルになるまで、連動式カウンタ 401はカウント数として終 り値を出力し続ける。
上記より、 3つの連動式カウンタ 401 a〜401 cは最もカウントが遅れているもの にカウント数を合わせることが判る。 このことは、 終り値が異なる連動式カウンタ 401 が接続された場合にも成り立つ。 したがって電源投入時、 3つの連動式カウンタ 401 a 〜401 cのカウント数が異なっていても、 クロック信号の周期に終り値の最大数を掛け 合わせた時間以内に 3つの連動式カウンタ 401 a〜401 cのカウント数が一致する。 さて、第 96図及び第 98図に示すように、 請求項 13及ぴ 14記載の発明に対応する 連動式カウンタ 401の実施形態では、 クロック信号 CLKは外部から供給される。 した がって、 第 100図から明らかなように、 各々の連動式カウンタ 401は空間的に離れて いるので、 各々の連動式カウンタ 401に供給されるクロック信号 CLKは、伝搬遅延時 間のために必ずしも同時に立ち上がるとは限らない。 特に複数連動式カウン夕 401が L S Iの広範囲に配置される場合、 各々の連動式カウンタ 401に供給されるクロック信号 CLKの位相は確実にずれる。そこで以下では、 クロック信号 CLKを外部から供給する 代りに、連動式カウンタ 401が自らクロック信号 CLKを生成することにより、 クロッ ク信号 C LKの位相を調整する方法について説明する。
第 105図に示すように、請求項 15記載の発明に対応する連動式カウン夕 401の実 施形態は、請求項 13記載の発明に対応する連動式カウンタ 401の実施形態と同期式発 振回路 418から構成される。 同様に、第 106図に示すように、請求項 16記載の発明 に対応する連動式カウンタ 401の実施形態は、請求項 14記載の発明に対応する連動式 カウンタ 401の実施形態と同期式発振回路 418から構成される。 第 105図の場合、 分岐点 Vにおいて、 イネ一ブル信号 Pは同期式発振回路 418の SYNC端子に分配され ると共に、 同期式発振回路 418が生成するクロック信号 CLKが CLK端子から同期式 カウンタ 411に供給される。第 106図の場合、分岐点 VIにおいて、 イネ一ブル信号 Pは同期式発振回路 418の SYNC端子に分配されると共に、 同期式発振回路 418が 生成するクロック信号 CLKが CLK端子から同期式カウンタ 411に供給される。 同期 式発振回路 418は、 SYNC端子の電圧に応じてクロック信号 CLKの位相を変更する ものである。 以下では、 同期式発振回路 418について詳細に説明する。
まず、 第 107図に示す同期式発振回路 418は、 リング発振器の変形であり、 同期信 号用ラッチ回路 431、 2個の発振用論理ゲート 432a、 432b、 及びクロック信号 増幅用論理ゲート 433から構成される。 なお、 同期信号用ラッチ回路 431は Dラッチ であり、 発振用論理ゲート 432a、 432b、及びクロック信号増幅用論理ゲート 43 3は NOTゲートである。 同期信号用ラッチ回路 431及び発振用論理ゲート 432 a、 432 bは環状に配線される。すなわち、 同期信号用ラッチ回路 431の Q '端子は発振 用論理ゲート 432 aの入力端子に接続され、発振用論理ゲ一ト 432 aの出力端子は発 振用論理ゲート 432 bの入力端子に接続され、 発振用論理ゲート 432 bの出力端子 は、分岐点 Hを介して同期信号用ラッチ回路 431の D端子に接続される。 同期式発振回 路 418の SYNC端子が同期信号用ラッチ回路 431の G端子に接続される。 また発振 用論理ゲート 432 bの出力端子は、分岐点 Hを介してクロック信号増幅用論理ゲート 4 33の入力端子に接続され、 クロック信号増幅用論理ゲート 433がクロック信号 CLK を出力する。 なお、 クロック信号増幅用論理ゲート 433の入力端子は、 同期信号用ラッ チ回路 431、 及び発振用論理ゲート 432 a、 432 bのうちのいずれの出力端子に接 続されても良い。 また必要に応じて複数のクロック信号増幅用論理ゲート 433が用いら れても良い。 もし SYNC端子が H i ghレベルであれば、 同期信号用ラッチ回路 431 の D端子と Q '端子はそれぞれ NOTゲートの入力端子及び出力端子として機能する。 つ まり同期信号用ラッチ回路 431の Q '端子が出力する信号 QS 'は発振用論理ゲート 4 32 bの出力信号を反転する。 さもなくば、 同期信号用ラッチ回路 431の Q,端子は同 期信号用ラッチ回路 431の D端子の電圧に関わらず現在の電圧を維持する。信号 QS , は発振用論理ゲート 432 bの出力信号を遅延する。 したがって、第 108図に示すよう に、 SYNC端子が H i ghレベルである場合、 同期式発振回路 418は自励発振をす る。一方 SYNC端子が Lowレベルである場合、 同期式発振回路 418は自励発振を停 止する。
ところで、第 107図に示す同期式発振回路 418の場合、 自励発振の周期は同期信号 用ラッチ回路 431、 及び発振用論理ゲート 432 a、 432 bのスイッチング時間に依 存するので、複数の同期式発振回路 418が生成するクロック信号 CLKの周期が全て一 致するとは限らない。そこで同期信号用ラッチ回路 431、 及び発振用論理ゲート 432 a, 432 bに CMOS (相補形金属酸化膜半導体)が用いられた場合、 第 109図に示 すように、 分岐点 I及び Jの間を発振用抵抗 434aが接続し、分岐点 J及び Hの間を発 振用コンデンサ 435が接続することによって、 同期式発振回路 418は一定の周期で自 励発振をすることができる。なお、発振用抵抗 434 aの抵抗値を Rオームとし、発振用 コンデンサ 435の容量を Cファラッドとする。 また発振用抵抗 34bは保護抵抗であ り、 発振用抵抗 434 bの抵抗値を R0オームとする。
次に、第 110図に示す同期式発振回路 418は、非安定マルチバイブレータの変形で あり、 同期信号用ラッチ回路 431、発振用論理ゲート 432、 2個の発振用抵抗 434 a、 434b, 2個の発振用コンデンサ 435 a、 435 b、 及びクロック信号増幅用論 理ゲート 4 3 3から構成される。 なお、 同期信号用ラッチ回路 4 3 1は Dラッチであり、 発振用論理ゲ一ト 4 3 2は N ANDゲ一トであり、 クロック信号増幅用論理ゲート 4 3 3 は NOTゲートである。 同期信号用ラッチ回路 4 3 1発振用論理ゲート 4 3 2及び発振用 コンデンサ 4 3 5 a、 4 3 5 bは環状に配線される。 すなわち、 同期信号用ラッチ回路 4 3 1の Q,端子は分岐点 Hを介して発振用コンデンサ 4 3 5 bの 1つの端子に接続され、 発振用コンデンサ 4 3 5 bのもう 1つの端子は分岐点 Jを介して発振用論理ゲート 4 3 2の全ての入力端子に接続され、 発振用論理ゲ一ト 4 3 2の出力端子は分岐点 K 1及び K 2を介して発振用コンデンサ 4 3 5 aの 1つの端子に接続され、 発振用コンデンサ 4 3 5 aのもう 1つの端子は分岐点 Lを介して同期信号用ラッチ回路 4 3 1の D端子に接続さ れる。 さらに分岐点 L及び Hの間を発振用抵抗 4 3 4 aが接続し、 分岐点 J及び K 2の間 を発振用抵抗 4 3 4 bが接続する。 なお、 発振用抵抗 4 3 4 a、 4 3 4 bの抵抗値を共に Rオームとし、 発振用コンデンサ 4 3 5 a , 4 3 5 bの容量を共に Cファラッドとする。 同期式発振回路 4 1 8の S YN C端子が同期信号用ラッチ回路 4 3 1の G端子に接続され る。 また発振用論理ゲート 4 3 2の出力端子は、 分岐点 1を介してクロック信号増幅用 論理ゲート 4 3 3の入力端子に接続され、 クロック信号増幅用論理ゲート 4 3 3がクロッ ク信号 C L Kを出力する。 なお、 クロック信号増幅用論理ゲート 4 3 3の入力端子は、 同 期信号用ラッチ回路 4 3 1及び発振用論理ゲート 4 3 2のいずれの出力端子に接続されて も良い。 また必要に応じて複数のクロック信号増幅用論理ゲート 4 3 3が用いられても良 い。 この同期式発振回路 4 1 8のタイミングチャートは第 1 0 8図と同様である。
ここまでは、 S YN C端子の電圧を変化させることにより自励発振と停止を繰り返すい くつかの同期式発振回路 4 1 8について説明してきた。 これらの同期式発振回路 4 1 8 は、 クロック信号 C L Kに対して不要なパルスを発生することがないので、 連動式カウン 夕 4 0 1が同期回路を制御するのには都合が良い。 しかしながら、 クロック信号 C LKの 周期がこれらの同期式発振回路 4 1 8の自励発振の周期に比べて極めて長くなる場合が あるので、 クロック信号 C L Kのジッターが問題となるような電子回路にとってこのよう なクロック信号 C L Kは大変都合が悪い。 そこで最後に、 自励発振を継続するような同期 式発振回路 4 1 8について説明する。
第 1 1 1図に示す同期式発振回路 4 1 8は、 同期信号用フリップフロップ回路 4 3 6、 同期信号増幅器 4 3 7、ループフィルタ 4 3 8、 電圧制御発振器 4 3 9及びクロック信号 増幅用論理ゲート 4 3 3から構成される。 なお、 同期信号用フリップフロップ回路 4 3 6 は Dフリップフロップであり、 同期信号増幅器 4 3 7及びクロック信号増幅用論理ゲート 4 3 3は NOTゲートであり、 ループフィルタ 4 3 8はラグ形ループフィルタであり、 電 圧制御発振器 4 3 9は、 水晶振動子 4 4 3を用いたコルピッツ形発振回路の変形である。 同期信号用フリップフロップ回路 4 3 6は、 クロック信号増幅用論理ゲート 4 3 3が出 力するクロック信号 C LKに同期して、 D端子に入力された同期式発振回路 4 1 8の S Y N C端子の電圧を記憶し、 信号 Q Sとして出力する。 同期信号増幅器 4 3 7は信号 Q Sを 反転して、 信号 S A 'を出力する。
ループフィルタ 4 3 8はループフィルタ用抵抗 4 4 1及びループフィル夕用コンデンサ
4 4 2力 ら構成される。 信号 S A,に含まれる高周波ノイズがループフィルタ用コンデン サ 4 4 2によって除去され、 ループフィルタ 4 3 8は分岐点 Nから信号 V Cを出力する。 なお、 ループフィルタ用抵抗 4 4 1の抵抗値を R 3とし、ループフィルタ用コンデンサ 4 4 2の容量を C 3とする。 また、 除去されるノイズの周波数帯は時定数 R 3 C 3によって 決定される。
電圧制御発振器 4 3 9は、 発振用論理ゲート 4 3 2、 水晶振動子 4 4 3、 可変容量ダイ オード 4 4 4、 3個の発振用抵抗 4 3 4 a〜4 3 4 c、 及び 2個の発振用コンデンサ 4 3
5 a、 4 3 5 bから構成される。 水晶振動子 4 4 3、 発振用コンデンサ 4 3 5 a、 4 3 5 b、 及び可変容量ダイオード 4 4 4は環状に配線される。 すなわち、 可変容量ダイオード 4 4 4のアノード端子がグラウンドに接続され、 可変容量ダイオード 4 4 4のカゾード端 子が分岐点 Hにおいて発振用コンデンサ 4 3 5 aの 1つの端子と接続され、 発振用コンデ ンサ 4 3 5 aのもう 1つの端子が分岐点 J 1において水晶振動子 4 4 3の 1つの端子と接 続され、 水晶振動子 4 4 3のもう 1つの端子が分岐点 Kにおいて発振用コンデンサ 4 3 5 bの 1つの端子と接続され、 発振用コンデンサ 4 3 5 bのもう 1つの端子がグラウンドに 接続される。 これにより L C回路が形成される。 水晶振動子 4 4 3の 1つの端子が分岐点 J 1及び J 2において発振用論理ゲート 4 3 2の入力端子と接続され、発振用抵抗 4 3 4 bが、分岐点 L及び Kにおいて発振用論理ゲート 4 3 2の出力端子と水晶振動子 4 4 3の もう 1つの端子を接続する。 これにより水晶振動子 4 4 3の発振が増幅される。発振用抵 抗 4 3 4 aが分岐点 L及び J 2において発振用論理ゲート 4 3 2の出力端子と入力端子を 接続する。 これにより発振用論理ゲート 4 3 2の出力端子から発振用論理ゲート 4 3 2の 入力端子、 水晶振動子 4 4 3及び発振用コンデンサ 4 3 5 aに電流が供給される。 発振用 抵抗 4 3 4 cの 1つの端子が信号 V Cを入力し、発振用抵抗 4 3 4 cのもう 1つの端子が 分岐点 Hにおいて可変容量ダイオード 4 4 4の力ソード端子と接続される。発振用抵抗 4
3 4 cは保護抵抗であり、信号 V Cの電圧を可変容量ダイオード 4 4 4の力ソード端子に 加えることができる。 したがって、信号 V Cの電圧が高ければ、可変容量ダイオード 4 4 4の容量は小さくなるので、電圧制御発振器 4 3 9の自励発振の周波数は高くなり、 信号 V Cの電圧が 0ポルトに近ければ、 可変容量ダイォード 4 4 4の容量は大きくなるので、 電圧制御発振器 4 3 9の自励発振の周波数は低くなる。 なお、発振用抵抗 4 3 4 a〜4 3
4 cの抵抗値を、 それぞれ R l、 R 2及び R 0オームとし、 発振用コンデンサ 4 3 5 a、 4 3 5 bの容量をそれぞれ C 1及び C 2ファラッドとする。
クロック信号増幅用論理ゲート 4 3 3は電圧制御発振器 4 3 9が出力する自励振動の波 形を分岐点 Lから入力し、矩形波に増幅されたクロック信号 C L Kを出力する。 クロック 信号 C L Kは分岐点 Mにおいて同期信号用フリップフロップ回路 4 3 6のクロック端子に 分配される。 必要に応じて複数のクロック信号増幅用論理ゲ一ト 4 3 3が用いられても良 い。
そこで第 1 1 2図に示すように、 S YN C端子の電圧が高いときに、第 1 1 1図の同期 式発振回路 4 1 8はクロック信号 C LKの周期を短くすることができるので、 この同期式 発振回路 4 1 8はクロック信号 C L Kの位相を細かく調整することができる。 もし電圧 制御発振器 4 3 9が周波数を 2倍にすることができれば、 隣接する連動式カウンタ 4 0 1が生成するク口ック信号 C L Kの位相差は Tラジアン、 つまりクロック信号 C L Kの半 周期以内に収めることができる。なお、第 1 1 1図ではループフィルタ 4 3 8としてラグ 形ループフィルタが用いられているが、 ラグ形ループフィルタの代りに、 ラグ ·リード形 ループフィルタ及びその変形が用いられても良い。 また第 1 1 1図に示された電圧制御発 振器 4 3 9の代りに、 色々な電圧制御発振器 4 3 9が用いられ得る。 この場合、電圧制御 発振器 4 3 9を制御する電圧の範囲に応じて、 同期信号増幅器 4 3 7の出力電圧が変更さ れなければならない。第 1 1 1図では同期信号増幅器 4 3 7として NO Tゲートが用いら れているが、 必要ならば〇 Pアンプが用いられる。
さて、請求項 1 3 - 1 6記載の発明に対応する連動式カウンタ 4 0 1の実施形態は、必 ずしも第 1 0 0図のように他の全ての連動式カウンタ 4 0 1と接続される必要はない。そ こで以下では、 連動式カウンタ 4 0 1が規則的に配列された場合について説明する。 第 1 1 3図に示すように、 請求項 1 7記載の発明に対応する連動装置の実施形態は、正 方格子状に配列された連動式カウンタ 4 0 1を隣接同士接続したネットワークである。 こ の場合、連動信号用ラッチ回路 4 1 4の個数は 4となる。なお辺縁の連動式カウンタ 4 0 1において、接続先のない連動信号用ラッチ回路 4 1 4の入力はプルダウンされる。連動 式カウンタ 4 0 1を正方格子状に配列する代りに、 第 1 1 4図に示すように六角格子状 に配列して隣接同士することもできる。 このように連動式カウンタ 4 0 1が配置される ことにより、全ての連動信号用信号線の長さがほぼ等しくなるので、連動式カウンタ 4 0 1は互いに連動し易くなる。 したがって、パイプライン処理装置、 D S P (D i g i t a 1 S i g n a l P r o c e s s o r ) , シストリックアレイ、データフロープロセッ サ、 及び並列画像処理装置のように大規模で規則的なデジタル回路 4 0 2に対して、 これ らの二次元連動装置は、連動式カウンタ 4 0 1のカウント数、 つまりクロック信号 CL K の分周信号を容易に供給することができる。
さらに、第 1 1 6図に示すように、三次元連動装置は、上述の正方格子状及び六角格子 状に配列された連動式カウンタ 4 0 1を、 三次元 S I技術を用いて複数重ね合わせた ネットワークである。連動式カウンタ 4 0 1が正方格子状に配列した場合には、連動信号 用ラッチ回路 4 1 4の個数は 6となり、連動式カウン夕 4 0 1が六角格子状に配列した場 合には、 連動信号用ラッチ回路 4 1 4の個数は 8となる。第 1 1 6図の場合、正方格子状 に配列された連動式カウンタ 4 0 1のネットワークが 3個積層されており、 各々の連動式 カウンタ 4 0 1の連動信号が実線で表されている。 なお、各々の連動式カウンタ 4 0 1の 連動信号用ラッチ回路 4 1 4の入力端子のうち、 隣接する連動式カウンタ 4 0 1と接続さ れていないものは、プルアップ又はプルダウンされているものとする。第 1 1 6図から明 らかなように、 各層の連動式カウンタ 4 0 1が重なり合うことにより、 層間の連動信号の 信号線の長さは等しく、 しかも最短になる。 したがって層間の配線材料を変更したり、 又 はディレイラインなどを用いることにより、 層を跨ぐ連動信号の伝搬遅延時間は、 層内の 連動信号の伝搬遅延時間と等しくなるように容易に調整され得るので、異なる層の連動式 カウンタ 4 0 1は互いに同期することができる。
さらに、第 1 1 7図に示すように、 カウント数を分配するための連動装置は、正方格子 状及び六角格子状に配列された連動式カウンタ 4 0 1のネットワークと、 プロセッサ 1 0 1及び演算回路などのデジタル回路 4 0 2と、 フォトダイオード及び AZD変換回路 2 0 4などのアナログ回路 4 0 3と、 を三次元 L S Iの異なる層に実装する。 第 1 1 7図の場 合、正方格子状に配列された連動式カウンタ 4 0 1が第 2層及び第 5層に実装され、デジ タル回路 4 0 2が第 1層、第 3層及び第 4層に実装され、 アナログ回路 4 0 3が第 6層に 実装されている。なお、 第 1 1 7図において、実線は連動信号を表し、 破線はカウント数 を表す。 また連動信号及びカウント数以外の信号線は省略されている。第 2層及び第 5層 に実装された連動式カウンタ 4 0 1のうち、重なり合つたもの同士は互いの連動信号を入 力するので、第 2層及び第 5層にある全ての連動式カウンタ 4 0 1は同じカウント数を生 成することができる。 さらに連動式カウンタ 4 0 1のネットワークがデジタル回路 4 0 2 及びアナログ回路 4 0 3と異なる層に実装され得るので、デジタル回路 4 0 2及ぴアナ口 グ回路 4 0 3の配置によって連動式カウンタ 4 0 1の配置がずれることもなく、 しかも連 動信号の信号線が迂回することもない。 さらに三次元 L S Iの各層の間にノイズ対策を施 すことにより、連動式カウンタ 4 0 1はデジタル回路 4 0 2及びアナログ回路 4 0 3のノ ィズに影響されないので、連動式カウンタ 4 0 1は安定に動作する。 同様に、デジタル回 路 4 0 2及びアナログ回路 4 0 3は、 これらの配置場所に関係なく、 最短距離の連動式力 ゥン夕 4 0 1からカウント数を入力することができる。 このことは、 L S I設計者がデジ タル回路 4 0 2及びアナログ回路 4 0 3の実装層内でカウント数の信号線を引き回す必 要がないことを意味するので、 この L S I設計者は、デジタル回路 4 0 2及びアナログ回 路 4 0 3を任意の場所に配置しても、 カウント数の伝搬遅延時間を一定範囲内に収めるこ とができる。 したがって、デジタル回路 4 0 2及びアナログ回路 4 0 3の設計も容易にな る。 特に、 第 1 1 7図に示すような連動式カウン夕 4 0 1のネットワークは、正方格子状 及び六角格子状に配列されたプロセッサ 1 0 1が一斉に処理したデータを垂直方向に向 かってパイプライン処理するような、 シストリックアレイ及び並列画像処理装置に対して 効率よくカウント数、 つまりクロック信号 C L Kの分周信号を供給することができる。 ところで、 請求項 1 7、 三次元連動装置及びカウント数を分配するための連動装置を用 いると、 全ての連動式カウンタ 4 0 1は L S I全体に渡って同じカウント数を供給するこ とができる。 つまりこのカウント数を用いることにより、 適当な信号が L S I全体に同時 に分配されるように連動式信号分配回路が設計され得る。
第 1 1 8図に示すように、 連動式信号分配回路は、 信号分配用デコーダ 4 5 1によって 連動式カウンタ 4 0 1のカウント数を復号することにより、 複数の復号結果を生成する。 さらにこれらの復号結果のうちの 2つがそれぞれ計時開始時刻及び計時終了時刻を表す とすると、 信号分配用ラッチ回路 4 5 2が適当な信号 S I G I Nを入力した場合、 信号分 配用ラッチ回路 4 5 2は入力時刻から計時終了時刻まで信号 S I G I Nを記憶し、 信号分 配用論理ゲート 4 5 3が、 計時開始時刻にだけ、 信号分配用ラッチ回路 4 5 2によって記 憶された信号 S I G I Nを信号分配用フリップフロップ回路 4 5 4に出力し、信号分配用 フリップフロップ回路 4 5 4がクロック信号 C L Kに同期した信号 S I GOUT及び信号 S I GOUT 'を出力する。 これにより、 連動式信号分配回路は、 任意の時間遅延した信 号 S I G I Nから、 クロック信号 C L Kに同期し、 しかもクロック信号 C LKの周期の整 数倍の時間だけアクティブである信号 S I G OUTを生成する。
例えば第 1 1 8図の場合、 信号分配用デコーダ 4 5 1は、 0から 7までのカウント数 を表す連動式カウンタ 401の 3つの出力 QA〜QCと、それらの負論理出力 Q A '〜Q C 'と、 を入力し、 8つの NORゲートを用いて、 0から 7までのカウント数からそれぞ れ 8つの復号結果を生成する。すなわち、 8つの NORゲートはそれぞれ複数(ここでは 3つ) の入力端子を備え、 分岐マトリクス Xにおいて、 連動式カウンタ 401の出力 Q A、 QB及び QCは、復号結果 0を出力する NORゲートに分配され、連動式カウン夕 4 01の出カ(3八 '、 QB¾t QC¾,復号結果 1を出力する NORゲートに分配され、 連 動式カウンタ 401の出力 QA、 QB,及び QCは、復号結果 2を出力する N〇Rゲート に分配され、連動式カウンタ 401の出力 QA '、 QB,及び QCは、復号結果 3を出力 する NORゲートに分配され、 連動式カウンタ 401の出力 QA、 QB及び QC,は、 復 号結果 4を出力する NORゲートに分配され、連動式カウンタ 401の出力 QA '、 QB 及び QC 'は、復号結果 5を出力する NORゲートに分配され、連動式カウンタ 401の 出力 QA、 QB '及び QC 'は、 復号結果 6を出力する NORゲートに分配され、連動式 カウンタ 401の出力 QA '、 QB '及び QC,は、 復号結果 7を出力する NORゲート に分配される。そこで、 復号結果 0~ 7までの中から任意の 2つを選んで、それぞれ計時 開始時刻及び計時終了時刻とすることにより、計時開始時刻が Hi ghレベルになってか ら計時終了時刻が Hi ghレベルになるまでの時間は、 クロック信号 CLKの周期の 0倍 から 7倍となる。 さらに 8つの NOTゲートが、それぞれ復号結果 0から復号結果 7まで を入力し、それぞれ負論理復号結果 0 '〜7 'までを出力する。 したがって、負論理復号 結果 0 ,〜7 ,までを用いることにより、 計時開始時刻及び計時終了時刻は負論理で表す こともできる。
さて、 第 118図の場合、 計時開始時刻は負論理復号結果 3 'であり、 計時終了時刻は 復号結果 5である。そこで連動式信号分配回路が、負論理復号結果 3 'と復号結果 5を用 いて任意の時間遅延した信号 S I G I Nから信号 S I GOUTを生成するために、 まず信 号分配用ラッチ回路 452は、 2つの入力端子のうちの 1つに信号 S I GINを入力し、 信号 QS 'を出力する。 信号分配用論理ゲート 453は、 2つの入力端子に出力信号 Q S,及び負論理復号結果 3 'を入力し、 信号 J 3を出力する。 信号分配用フリップフロッ プ回路 454は、 J端子に信号 J 3を入力し、 K端子に復号結果 5を入力する。 また信 号分配用フリップフロップ回路 454のクロック端子にクロック信号 CLKを入力してい るので、 信号分配用フリップフロップ回路 454は、 クロック信号 CLKの立ち下がりに 同期しながら、 Q端子から信号 S I GOUTを出力し、 Q,端子から信号 S I GOUT, を出力する。 最後に、 分岐点 Yにおいて、 信号 S I GOUTが信号分配用ラッチ回路 45 2の 2つの入力端子のうちのもう 1つに分配される。 以下では、 第 119図のタイミング チャートを参照しながら、 第 118図に示された連動式信号分配回路について説明する。 まず、 信号 S I G I Nが H i ghレベルになると、 信号分配用ラッチ回路 452は信号 QS ,を Lowレベルにする。 その後、 信号 S I G I Nが L owレベルになったとして も、 信号 S I GOUTが Hi ghレベルになるまで、 信号 Q S,は Lowレベルのままで ある。 信号 QS 'が Lowレベルになった後、 負論理復号結果 3 'が Lowレベルの場合 にのみ、 信号分配用論理ゲート 453は信号 J 3を Hi ghレベルにする。 つまり信号 S I GOUTが Hi ghレベルになった後、 連動式カウンタ 401のカウント数が 3になつ たならば、 信号 J 3は Hi ghレべレになる。 このとき信号分配用フリップフロップ回路 454の J端子が H i ghレベルになるので、 信号 S I GOUTはクロック信号 CLKの 立ち下がり時に H i ghレベルになる。 また、 信号 S I GOUTが信号分配用ラッチ回路 452に入力されるので、 信号分配用ラッチ回路 452はリセットされ、 信号 QS 'は H i ghレベルになる。 この状態で連動式カウンタ 401のカウント数が 4になったとして も、 信号分配用フリップフロップ回路 454の J端子及び K端子が共に L o wレベルにな るので、 信号 S I GOUTは Hi ghレベルのままである。 しかしながら、 連動式カウン 夕 401のカウント数が 5になると、 復号結果 5が Hi ghレベルになり、 信号分配用フ リップフロップ回路 454の K端子も H i ghレベルになる。 つまり信号 S I GOUTは クロック信号 CLKの立ち下がり時に Lowレベルになる。 第 119図から明らかなよう に、 信号 S I G INが入力されると、 復号結果 3 ,が Lowレベルである際にクロック信 号 C L Kが立ち下がつた時刻から復号結果 5が H i g hレベルである際にクロック信号 C LKが立ち下がった時刻まで信号 S I GOUTが出力されている。 そこでデジタル回路 4 0 2が L S Iの何処に配置されようとも、復号結果 5の立ち上がり時にデジタル回路 4 0 2は信号 S I GO UTを確実に入力することができる。 このような機能はリセット信号、 割込信号及び入出力信号など、既に設計されているデジタル回路 4 0 2を殆んど変更する ことなく 1つのシステム L S Iを組み込む場合には必要不可欠である。
この他に、第 1 2 0図に示すように、連動式信号分配回路は、分岐点 Zにおいて、 復号 結果 5が信号分配用ラッチ回路 4 5 2の 2つの入力端子のうちのもう 1つに分配されて も良い。第 1 1 8図に示された連動式信号分配回路の場合、信号分配用ラッチ回路 4 5 2 は信号 S I GOUTによってリセットされる。 したがって、信号 S I GOUTが H i g h レベルである際に信号 S I G I Nが H i g hレベルになったとしても、信号分配用ラッチ 回路 4 5 2は信号 S I G I Nを記憶することができない。 これに対して、 第 1 2 0図に示 された連動式信号分配回路の場合、信号分配用ラッチ回路 4 5 2は復号結果 5によってリ セットされる。 したがって、信号 S I GOUTが H i g hレベルである際に信号 S I G I Nが H i g hレベルになったとしても、復号結果 5が H i g hレベルでなければ、信号分 配用ラッチ回路 4 5 2は信号 S I G I Nを記憶することができる。つまり、復号結果 5が H i g hレベルから L owレベルに変った直後に信号 S I G I Nが H i g hレベルになつ たならば、信号分配用ラッチ回路 4 5 2は信号 S I G I Nを記憶することができる。そこ で復号結果 5の代りに、 信号分配用ラッチ回路 4 5 2の 2つの入力端子のうちのもう 1つ に復号結果 4を入力すれば、信号 S I GOUTが H i g hレベルであったとしても、 信号 分配用ラッチ回路 4 5 2は信号 S I G I Nを記憶することができるようになる。
なお、第 1 1 8図及び第 1 2 0図の信号分配用デコーダ 4 5 1、信号分配用ラッチ回路
4 5 2及び信号分配用論理ゲート 4 5 3には NO Rゲートが用いられているが、 NAN Dゲートなどが用いられても良い。 また、第 1 1 8図及び第 1 2 0図では、計時開始時刻 及び計時終了時刻を表すためにそれぞれ負論理復号結果 3,及び復号結果 5が用いられて いるが、 勿論他の復号結果及び負論理復号結果が用いられても良い。外部から適当な信号
5 I G I Nが入力されると、 信号分配用ラッチ回路 4 5 2がこの信号を一旦記憶した後、 信号分配用論理ゲート 4 5 3によって計時開始時刻に信号分配用フリップフ口ップ回路 4 5 4に入力される。 信号分配用フリップフロップ回路 4 5 4はクロック信号に同期して入 力信号を記憶し、 計時終了時刻にリセットされる。 これにより入力信号の伝搬遅延時間に 関わらず、 連動式信号分配回路は計時開始時刻前に到達した入力信号を計時開始時刻から 計時終了時刻まで出力することができる。 なお入力信号の論理が反転している場合には信 号分配用ラッチ回路 4 5 2の前に論理ゲ一トを加えることにより、 連動式信号分配回路は 正常に動作することができる。
さて、 ここまでは連動装置について説明してきた。 そこで以下では、 本発明のイメージ センサ 2 5 1の実施形態を挙げ、 図面を参照して説明する。
第 1 2 1図及び第 1 2 2図に示すように、 本発明におけるイメージセンサ 2 5 1は複数 のセンサモジュール 2 5 2を備え、 しかもこれらのセンサモジュール 2 5 2の各々が画素 信号を出力する。 つまり、 このイメージセンサ 2 5 1はセンサモジュール 2 5 2の数だけ 画素信号を並列に出力することができる。 ここで、 もしこれらのセンサモジュール 2 5 2 の各々が 1つの画素信号しか出力しなければ、 このイメージセンサ 2 5 1は従来の画素並 列型と同等になる。 なお、 第 1 2 1図及び第 1 2 2図において、 1個のセンサモジュール 2 5 2は SMと略記され、 隣接するセンサモジュール 2 5 2同士の間隔は、 見易くするた めに広くなつている。 また、 第 1 2 1図では、複数のセンサモジュール 2 5 2が格子状に 配列されており、 第 1 2 2図では、 複数のセンサモジュール 2 5 2が六角格子状に配列さ れている。 この他に、 複数のセンサモジュール 2 5 2が直線状及び円形状に配列されても 良いし、複数のセンサモジュール 2 5 2が任意の場所に配置されても良い。 そこで以下で は、 イメージセンサ 2 5 1が電荷結合素子 2 6 3を用いる場合と、 イメージセンサ 2 5 1 が CMO S技術だけで製造される場合と、 の両方において、 1個のセンサモジュール 2 5 2が複数の画素信号を順次出力する方法について説明する。
まず、 イメージセンサ 2 5 1が電荷結合素子 2 6 3を用いる場合、 第 1 2 3図に示すよ うに、 1画素を撮影する画素セル 2 5 3は少なくとも受光素子 2 6 1及び電荷転送ゲート 2 6 2から構成される。 受光素子 2 6 1にはフォトダイオード、 フォトトランジスタ及び HAR P (H i g h— g a i n A v a l a n c h e R u s h i n am o r p h o u s P h o t o c o n d u c t o r )膜が用いられ、必要に応じて電荷を蓄積するコン デンサ及び半導体スィッチが受光素子 2 6 1に付加される。電荷転送ゲート 2 6 2は半導 体スィッチであり、 画素セル 2 5 3に行選択信号が入力されたとき、 電荷転送ゲート 2 6 2は導通する。 これにより、受光素子 2 6 1が蓄えた電荷が画素セル 2 5 3から取り出さ れる。そこで、第 1 2 4図に示すように、請求項 1 8記載の発明に対応するイメージセン サ 2 5 1の実施形態において、センサモジュール 2 5 2は複数の画素セル 2 5 3を格子状 に配列する。 第 1 2 4図では、全ての画素セル 2 5 3を一筆書でなぞるように電荷結合素 子 2 6 3が S字状に配置され、 これらの画素セル 2 5 3の各々において、 電荷転送ゲート 2 6 2の出力端子が電荷結合素子 2 6 3に接続されている。 また、電荷転送用駆動装置 2 6 4が、 少なくとも 1本の行選択信号線 2 6 5を介して、全ての画素セル 2 5 3の電荷転 送ゲート 2 6 2に行選択信号を供給すると共に、 少なくとも 1本の電荷転送信号線 2 6 6 を介して、 電荷結合素子 2 6 3に電荷転送信号を供給し、少なくとも 1個の受光素子 2 6 1から電荷結合素子 2 6 3に転送された電荷を、 バケツリレー式にいずれか一端に転送 させる。 電荷結合素子 2 6 3が転送した電荷は順次出力増幅器 2 6 7に入力される。 出力 増幅器 2 6 7は入力した電荷を電圧に変換した後、画素信号として出力する。なお電荷転 送用駆動装置 2 6 4は、 イメージセンサ 2 5 1の用途に応じて、 1度に 1つの行選択信号 だけをアクティブにすることもできるが、 ここでは主に、電荷転送用駆動装置 2 6 4が全 ての行選択信号を一斉にアクティブにする。 これにより、電荷結合素子 2 6 3は全ての受 光素子 2 6 1が蓄えた電荷をバケツリレー式に順次転送することができるので、 センサ モジュール 2 5 2は全ての受光素子 2 6 1から短時間に、 しかも容易に電荷を取り出し、 画素信号として順次出力することができる。 さらに、電荷転送用駆動装置 2 6 4が、 少な くとも 1本の電荷転送信号線 2 6 6を介して、電荷結合素子 2 6 3に電荷転送信号を供給 した後、 この電荷転送用駆動装置 2 6 4は画素同期信号を出力する。 これにより、 全ての センサモジュール 2 5 2の外部から、全てのセンサモジュール 2 5 2の各々が画素信号を 出力していることが判別され得る。
ところで、第 1 2 4図では、電荷結合素子 2 6 3が S字状に配置されていたが、 第 1 2 5図に示すように、 電荷結合素子 2 6 3は渦巻き状に配置されても良い。 さらに複数の画 素セル 2 5 3が六角格子状に配列された場合、 電荷結合素子 2 6 3は第 1 2 6図に示す ように渦巻き状に配置され得る。 なお、 第 1 2 6図では、 1個の画素セル 2 5 3は P Cと 略記されている。 これらのセンサモジュール 2 5 2では、 電荷結合素子 2 6 3がセンサモ ジュール 2 5 2の辺縁に位置する画素セル 2 5 3の受光素子 2 6 1か、 又は中心に位置す る画素セル 2 5 3の受光素子 2 6 1か、から順番に電荷を取り出すことができるので、 セ ンサモジュール 2 5 2から複数の画素信号を受け取る電子回路が受け取る画素信号の数を 制限するだけで、 イメージセンサ 2 5 1は解像度を容易に変更することができる。
次に、 イメージセンサ 2 5 1が CMO S技術だけ製造される場合、 第 1 2 7図に示すよ うに、 1画素を撮影する画素セル 2 5 3は少なくとも受光素子 2 6 1、 電荷増幅器 2 7 1 及び行選択ゲート 2 7 2から構成される。 受光素子 2 6 1にはフォトダイオード、 フォト トランジスタ及び HAR P膜が用いられ、 必要に応じて電荷を蓄積するコンデンサ及び 半導体スィッチが受光素子 2 6 1に付加される。 行選択ゲート 2 7 2は半導体スィッチで あり、 画素セル 2 5 3に行選択信号が入力されたとき、 行選択ゲート 2 7 2は導通する。 これにより、 受光素子 2 6 1が蓄えた電荷が画素セル 2 5 3から取り出される。 そこで、 第 1 2 8図に示すように、 請求項 1 9記載の発明に対応するイメージセンサ 2 5 1の実 施形態において、 センサモジュール 2 5 2は複数の画素セル 2 5 3を格子状に配列する。 第 1 2 8図から明らかなように、 このセンサモジュール 2 5 2の構成は一般的な CMO S 技術を用いたイメージセンサ 2 5 1の構成と同等である。 第 1 2 8図では、 9個の画素セ ル 2 5 3は 3行 3列の行列に配列される。 また、 垂直シフトレジスタ 2 7 3及び水平シフ トレジスタ 2 7 4には 3段の 1ビット循環シフトレジス夕が用いられ、それぞれ 1つの出 力だけがアクティブになる。 さらに水平シフトレジスタ 2 7 4がー巡した場合、 垂直シフ トレジスタ 2 7 3が 1回シフトする。 したがって、垂直シフトレジスタ 2 7 3及び水平シ フトレジスタ 2 7 4の組み合せにより、 9個の画素セル 2 5 3の中から 1個を選択するこ とができる。 詳しくは以下の通りである。
まず、垂直シフトレジスタ 2 7 3が第 1行の行選択信号をアクティブにした場合、 第 1 行に位置する 3個の画素セル 2 5 3の行選択ゲート 2 7 2が導通するので、 3個の画素 セル 2 5 3の各々において、 受光素子 2 6 1に蓄えられた電荷は電荷増幅器 2 7 1によつ て電圧に変換され、 この電圧が行選択ゲート 2 7 2の出力端子から出力される。 したがつ て、 第 1行に位置する 3個の画素セル 2 5 3が出力した電圧だけがそれぞれ 3本の垂直 信号線 2 7 8を介して、 3個のノイズキャンセラ 2 7 5に入力される。 一方で、 第 2行及 び第 3行に位置する 6個の画素セル 2 5 3の各々では、 受光素子 2 6 1が電荷を蓄えてい る。 各列のノイズキャンセラ 2 7 5には、 同じ列に位置する 3個の画素セル 2 5 3の電荷 増幅器 2 7 1及び行選択ゲート 2 7 2が発生するノイズを抑えるために、 CD S (相関二 重サンプリング) 回路が用いられる。 水平シフトレジスタ 2 7 4が第 1列の列選択信号を アクティブにした場合、 第 1列に位置するノイズキャンセラ 2 7 5が出力した電圧が出力 増幅器 2 6 7に入力され、 この出力増幅器 2 6 7がこの電圧を増幅した後、 この出力増幅 器 2 6 7は第 1行第 1列の画素セル 2 5 3に対応する画素信号を出力する。 同様に、 水平 シフトレジスタ 2 7 4が第 2列及び第 3列の列選択信号をアクティブにした場合、 出力増 幅器 2 6 7はそれぞれ第 1行第 2列及び第 1行第 3列の画素セル 2 5 3に対応する画素 信号を出力する。 なお、 水平シフトレジス夕 2 7 4は 1つの列を選択した後に、 画素同期 信号を出力する。 これにより、 出力増幅器 2 6 7が画素信号を出力していることがこのセ ンサモジュール 2 5 2の外部から判別され得る。 次に、 水平シフトレジスタ 2 7 4の出力 がー巡したら、 垂直シフトレジスタ 2 7 3は第 2行の行選択信号をアクティブにする。 最 後に、 垂直シフトレジスタ 2 7 3は第 3行の行選択信号をアクティブにして、その後水平 シフトレジスタ 2 7 4の出力が一巡したら、垂直シフトレジス夕 2 7 3は第 1行の行選択 信号をアクティブにする。 これにより、 垂直シフトレジスタ 2 7 3及び水平シフトレジス 夕 2 7 4は全ての画素セル 2 5 3を順次選択することができるので、 センサモジュール 2 5 2は全ての画素信号を出力することができる。
なお、 第 1 2 8図では、 9個の画素セル 2 5 3が格子状に配列されているが、 勿論複数 の画素セル 2 5 3が六角格子状に配列されても良い。 この場合、 行選択信号線 2 6 5及び 列選択信号線 2 7 7と、 垂直信号線 2 7 8及び水平信号線 2 7 9は、それぞれ、 これらの 画素セル 2 5 3の配置に合わせてジクザグに配線されるか、又は 1 2 0度の角度で交わる ように配線される。
最後に、 1個のセンサモジュール 2 5 2を 9 0度回転させることにより、 このセンサモ ジュール 2 5 2の行及び列が入れ替わる。 勿論、垂直シフトレジスタ 2 7 3及び水平シフ トレジスタ 2 7 4も同様に入れ替わる。 したがって、 請求項 1 8及び 1 9記載の発明に対 応するイメージセンサ 2 5 1の実施形態には、行と列が入れ替わったイメージセンサ 2 5 1も含まれる。
ここまでは、複数のセンサモジュール 2 5 2が L S Iの実装面に実装される場合につい て説明してきた。 当然のことながら、 これらのセンサモジュール 2 5 2の各々から出力さ れる画素信号用の信号線及び画素同期信号用の信号線も同一実装面に配線される。 しかし ながら、 この場合、 これらのセンサモジュール 2 5 2が実装されるイメージセンサ 2 5 1 の場所によって、画素信号用の信号線の配線長及び画素同期信号用の信号線の配線長はそ れぞれ異なり、 しかも全ての受光素子 2 6 1の開口率が低くなる。そこで以下では、三次 元し S I技術を用いて、全ての画素信号及び画素同期信号がイメージセンサ 2 5 1の裏面 に出力されるイメージセンサ 2 5 1について説明する。
まず、 第 1 2 9図及び第 1 3 0図に示すように、 全てのセンサモジュール 2 5 2の各々 は、 イメージセンサ 2 5 1の背面から画素信号及び画素同期信号を出力する。 この画素信 号用の信号線及び画素同期信号用の信号線の配線は、 イメージセンサ 2 5 1の基板に穴 を開け、 さらにその穴の中に銅などの金属を充填する三次元 L S I技術を用いて実現され る。 第 1 2 9図及び第 1 3 0図から明らかなように、 イメージセンサ 2 5 1の設計者は、 全てのセンサモジュール 2 5 2から出力される全ての画素信号用の信号線の配線長及び全 ての画素同期信号用の信号線の配線長を、それぞれ等しくすることができる。 しかもこの 設計者は、センサモジュール 2 5 2の実装面に画素信号用の信号線及び画素同期信号用の 信号線を配線する必要がないので、 この設計者は、センサモジュール 2 5 2の実装面積を 小さくし、 さらに隣接するセンサモジュール 2 5 2同士の間隔を狭くすることができる。 したがって、 この設計者は、 イメージセンサ 2 5 1に多数のセンサモジュール 2 5 2を配 列することができる。
ところで、三次元 L S I技術を用いることにより、 1個のセンサモジュール 2 5 2自体 が複数の層から構成され得る。 例えば、第 1 3 1図に示すように、 1個のセンサモジユー ル 2 5 2は、電荷結合素子 2 6 3が S字状に配置された第 1層と、格子状に配列された複 数(ここでは 9個) の電荷転送ゲート 2 6 2、電荷転送用駆動装置 2 6 4及び出力増幅器 2 6 7が実装された第 2層と、複数(ここでは 9個)の受光素子 2 6 1が格子状に配列さ れた第 3層と、から構成される。 このセンサモジュール 2 5 2において複数の信号 以 下のように配線される。 なお、 第 1 3 1図では、電源線、 グラウンド線、 クロック信号線 及びリセット信号線などは省略されている。
まず第 2層では、複数(ここでは 3本)の行選択信号線 2 6 5が、それぞれ各行に位置 する複数(ここでは 3個) の電荷転送ゲート 2 6 2を貫くように配線され、 少なくとも 1 本の電荷転送信号線 2 6 6が全ての電荷転送ゲート 2 6 2に沿って S字状に配線される。 次に第 1層では、電荷結合素子 2 6 3が電荷転送ゲート 2 6 2に沿って S字状に配置され ている。 このとき、 電荷転送信号線 2 6 6が電荷結合素子 2 6 3と重なるように、 第 2 層が第 1層に積層され、 電荷転送信号線 2 6 6から電荷結合素子 2 6 3の上面に向けて、 複数の信号線が配線され、 さらに複数の電荷転送ゲート 2 6 2の各々から電荷結合素子 2 6 3の側面に向けて、信号線が配線される。 次に、第 1層の電荷結合素子 2 6 3の末端か ら第 2層の出力増幅器 2 6 7に向けて信号線が配線され、 出力増幅器 2 6 7が出力する画 素信号用の信号線が第 1層を貫く。 同様に、電荷転送用駆動装置 2 6 4が出力する画素同 期信号用信号線が第 1層を貫く。最後に、全ての受光素子 2 6 1の各々が、対応する電荷 転送ゲート 2 6 2と重なるように、第 3層が第 2層に積層され、 全ての受光素子 2 6 1の 各々から対応する電荷転送ゲート 2 6 2に向けて信号線が配線される。 これにより、 1個 のセンサモジュール 2 5 2において、 信号線の総配線長が短くなるばかりか、受光素子 2 6 1の開口率が高くなり、 しかもイメージセンサ 2 5 1において、全ての受光素子 2 6 1 が均等に配置され得る。 なお、第 1 3 1図に示すように、 受光素子 2 6 1及び電荷転送用駆動装置 2 6 4などが 実装された層と異なる層に、電荷結合素子 2 6 3が実装されることにより、 イメージセン サ 2 5 1の設計者は複数の L S I製造技術を容易に組み合せることができる。しかも検査 済の複数のセンサモジュール 2 5 2をイメージセンサ 2 5 1の基板の上に格子状に積層す ることにより、 この設計者はイメージセンサ 2 5 1の歩留まりを上げることもできる。 さ らに、全ての電荷転送信号線 2 6 6にディレイラインが用いられ、 出力増幅器 2 6 7が接 続された電荷結合素子 2 6 3の末端から電荷転送用駆動装置 2 6 4がパルス信号を供給 することにより、 出力増幅器 2 6 7が接続された電荷結合素子 2 6 3の末端からもう一方 の末端に向けて電荷転送信号が順番に伝搬するので、電荷結合素子 2 6 3に蓄えられた電 荷は、 出力増幅器 2 6 7が接続された電荷結合素子 2 6 3の末端に向けて、バケツリレー 式に転送される。
加えて、 第 1 3 2図に示すように、 1個のセンサモジュール 2 5 2は、格子状に配列さ れた複数(ここでは 9個)の行選択ゲート 2 7 2、垂直シフトレジスタ 2 7 3、 水平シフ トレジスタ 2 7 4、複数(ここでは 3個) のノイズキャンセラ 2 7 5、複数(ここでは 3 個) の列選択ゲート 2 7 6及び出力増幅器 2 6 7が実装された第 1層と、複数(ここでは 9個)の電荷増幅器 2 7 1が格子状に配列された第 2層と、複数(ここでは 9個) の受光 素子 2 6 1が格子状に配列された第 3層と、から構成される。 このセンサモジュール 2 5 2において複数の信号線が以下のように配線される。なお、第 1 3 2図では、電源線、 グ ラウンド線、 クロック信号線及びリセット信号線などは省略されている。
まず第 1層では、複数(ここでは 3本)の行選択信号線 2 6 5が、 垂直シフトレジスタ 2 7 3から、 それぞれ各行に位置する複数(ここでは 3個)の行選択ゲート 2 7 2を貫く ように配線され、複数(ここでは 3本) の垂直信号線 2 7 8が、それぞれ各列に位置する 複数(ここでは 3個)の行選択ゲート 2 7 2を貫くように、それぞれ複数のノイズキャン セラ 2 7 5に向けて配線されている。 次に、 これらのノイズキャンセラ 2 7 5からそれぞ れ各列に位置する複数の列選択ゲート 2 7 6に向けて複数の信号線が配線され、 さらに水 平シフトレジス夕 2 7 4からこれらの列選択ゲート 2 7 6に向けて複数(ここでは 3本) の列選択信号線 2 7 7が配線される。 また、水平信号線 2 7 9がこれらの列選択ゲート 2 7 6を貫くように、 出力増幅器 2 6 7に向けて配線される。 このとき、全ての電荷増幅器 2 7 1の各々が、対応する行選択ゲート 2 7 2と重なるように、第 2層が第 1層に積層さ れ、 これらの電荷増幅器 2 7 1の各々から対応する行選択ゲート 2 7 2の上面に向けて信 号線が配線される。次に、 出力増幅器 2 6 7が出力する画素信号用の信号線が第 1層の背 面に達する。 同様に、水平シフトレジスタ 2 7 4が出力する画素同期信号用の信号線が第 1層の背面に達する。最後に、全ての受光素子 2 6 1の各々が、対応する電荷増幅器 2 7 1と重なるように、第 3層が第 2層に積層され、全ての受光素子 2 6 1の各々から対応す る電荷増幅器 2 7 1に向けて、信号線が配線される。 これにより、 1個のセンサモジユー ル 2 5 2において、信号線の総配線長が短くなるばかりか、 受光素子 2 6 1の開口率が高 くなり、 しかもイメージセンサ 2 5 1において、全ての受光素子 2 6 1が均等に配置され 得る。
さて、 ここまでは、三次元 L S I技術を用いて、全てのセンサモジュール 2 5 2が背面 から複数の画素信号及び複数の画素同期信号を出力するイメージセンサ 2 5 1について 説明してきた。 以下では、全てのセンサモジュール 2 5 2が出力する複数の画素信号を複 数のデジタル回路 4 0 2が並列に処理した後、 これらのデジタル回路 4 0 2が複数の画素 データに変換するイメージセンサ 2 5 1について説明する。
第 1 3 3図に示すように、請求項 2 0記載の発明に対応するイメージセンサ 2 5 1の実 施形態は、 二次元格子状に配列された複数のデジタル回路 4 0 2が実装された第 1層と、 二次元格子状に配列された複数の AZD変換回路 2 0 4が実装された第 2層と、二次元格 子状に配列された複数のセンサモジュール 2 5 2が実装された第 3層と、 から構成され、 全ての A/D変換回路 2 0 4が、 それぞれ対応するデジタル回路 4 0 2の上に積層され、 さらに全てのセンサモジュール 2 5 2が、それぞれ対応する AZD変換回路 2 0 4の上に 積層される。 また、全てのセンサモジュール 2 5 2の各々から、対応する A/D変換回路 2 0 4に向けて、画素信号用の信号線が配線され、全ての AZD変換回路 2 0 4の各々か ら、対応するデジタル回路 4 0 2に向けて、 nピットの画素データを送信する η本の信号 線が配線され、全てのセンサモジュール 2 5 2の各々力 ^ら、対応するデジタル回路 4 0 2 に向けて、画素同期信号用の信号線が配線される。 したがって、 これらの信号線は全て交 差せず、 しかも全ての A/D変換回路 2 0 4が常時独立に画素信号を nビットの画素デー 夕に変換する。なお第 1 3 3図では、全てのデジタル回路 4 0 2、全ての A/D変換回路 2 0 4及び全てのセンサモジュール 2 5 2が、それぞれ格子状に配列されているが、 勿論 これらは六角格子状に配列されても良い。 加えて、第 1 3 3図では、 電源線、グラウンド 線、 クロック信号線、 リセット信号線及び割り込み信号線などは省略されている。
さて、 クロック信号がイメージセンサ 2 5 1全体に供給される場合、全てのデジタル回 路 4 0 2の各々は、 シフトレジスタ及びシリアル パラレル変換回路などを用いることに より、 画素同期信号に合わせて、 対応するセンサモジュール 2 5 2が順番に出力する全て の画素信号を画素データとして受信することができる。最後に、 このデジタル回路 4 0 2 は、 画像処理を行った結果を結果データとして出力することができる。 このとき、 このデ ジタル回路 4 0 2が、 隣接するデジタル回路 4 0 2と少なくとも 1つの画素データを通信 すれば、 このデジタル回路 4 0 2は複雑な画像処理を行うことができる。
ところで、 全てのセンサモジュール 2 5 2の各々が多数の受光素子 2 6 1を有するなら ば、 対応するデジタル回路 4 0 2の実装面積は大きくなるので、 このデジタル回路 4 0 2 は、 プロセッサ 1 0 1及び 1組の大容量のメモリ 1 0 2を有することができる。 したがつ て、 全てのデジタル回路 4 0 2の各々において、 1組のメモリ 1 0 2は、 対応するセンサ モジュール 2 5 2が生成した全ての画素信号を画素データとして記憶することができ、 し かもプロセッサ 1 0 1は、 これらの画素デ一夕を参照して画像処理をすることができる。 この際、プロセッサ 1 0 1がこれらの画^ '一夕から、 メモリ書き換え用同期信号、記憶 データ及びメモリアドレスを生成することができれば、プロセッサ 1 0 1は 1組のメモリ 1 0 2中の記憶データを容易に変更することもできる。 したがって、 イメージセンサ 2 5 1中の全てのセンサモジュール 2 5 2に、 メモリ書き換え用同期信号、記憶データ及びメ モリアドレスを含む光が照射されれば、全てのデジタル回路 4 0 2において 1組のメモリ 1 0 2中の記憶データが一斉に書き換えられ得る。そこで以下では、 少なくとも 1個のセ ンサモジュール 2 5 2にメモリ書き換え用同期信号、 記憶データ、 メモリアドレスの情報 を含む光が照射されることにより、 少なくとも 1個のデジタル回路 4 0 2において、 プロ セッサ 1 0 1が 1組のメモリ 1 0 2中の記憶データを変更する方法について説明する。 まず、 第 1 3 4図に示すように、 イメージセンサ 2 5 1中の全てのデジタル回路 4 0 2の各々が、 プロセッサ 1 0 1、 1組のメモリ 1 0 2及び外部と通信をするためのコント ローラ 1 0 3を備え、 プロセッサ 1 0 1がアドレスバス 5 1を介して 1組のメモリ 1 0 2 及びコントローラ 1 0 3を選択し、データパス 5 2を介して 1組のメモリ 1 0 2及びコン トロ一ラ 1 0 3と通信するものとする。 このとき、 プロセッサ 1 0 1及びコントローラ 1 0 3にはクロック信号が供給され、 さらにプロセッサ 1 0 1は読み出し(READ)信号及 び書き込み(WRITE)信号のような制御信号を 1組のメモリ 1 0 2及びコントローラ 1 0 3に送信する。 なお、 プロセッサ 1 0 1及び 1組のメモリ 1 0 2には汎用品が用いられて も良い。 勿論、 1組のメモリ 1 0 2は三次元 L S I技術を用いて積層された多数のメモリ 素子から構成されても良い。 特に、 このメモリ 1 0 2の少なくとも 1部にフラッシュメモ リ及び MR AM (M a g n e t i c R a n d o m A c c e s s M e mo r y ) のよ うな不揮発性メモリが用いられた場合、 このメモリ 1 0 2のこの部分は常時プログラムを 記憶しておくことができる。
一方で、 第 1 3 5図に示すように、 コントローラ 1 0 3は、 アドレスバッファ 5 3、 ァ ドレスデコーダ 5 4、 データバッファ 5 5、 フラグエンコーダ 5 9、 ステータスレジスタ 6 0、 前入力デ一夕レジスタ 6 1、 結果データレジスタ 6 2、 前入力シフトレジスタ 6 8 及び前入力カウン夕 6 9を有する。 アドレスバッファ 5 3はアドレスパス 5 1を介してプ 口セッサ 1 0 1からアドレスを受信する。 アドレスデコーダ 5 4はこのアドレスを復号す ることにより、 前入力データレジスタ 6 1及びステータスレジスタ 6 0を選択する。 デ一 タバッファ 5 5はデータバス 5 2を介してプロセッサ 1 0 1とデータを通信する。 プロ セッサ 1 0 1が読み出し信号を出力したときだけ、 このデータバッファ 5 5は内部データ パス 5 6からデータパス 5 2にデータを出力する。 コントローラ 1 0 3が複数の画素デー 夕を入力した場合、 前入力シフトレジスタ 6 8が画素同期信号に同期しながら、 これら の画素データを順次格納すると共に、 前入力カウンタ 6 9が画素同期信号の数を数える。 ただし、 この前入力カウン夕 6 9はアップカウンタでもダウンカウンタでも良い。 前入力 シフトレジスタ 6 8が全て (ここでは 9つ) の画素データを格納したときに、前入力カウ ンタ 6 9は前入力送達 (FRONT INPUT SEND)を 1にし、 フラグエンコーダ 5 9に出力 する。 このフラグエンコーダ 5 9は、 前入力送達を含むステータス(STATUS)信号を常 時生成し、 さらにステータスレジスタ 6 0に出力すると共に、 クロック信号に同期しなが ら、 前入力データレジスタ 6 1及びステ一タスレジスタ 6 0にトリガ一信号を出力する。 これにより、 前入力デ一夕レジスタ 6 1中の全て (ここでは 9個) のレジスタは、 このト リガ一信号に同期しながら、 それぞれ 9個の画素データを格納すると共に、 ステータスレ ジス夕 6 0は、 このトリガ一信号に同期しながら、 ステータス信号を格納する。 そこでァ ドレスデコーダ 5 4がプロセッサ 1 0 1からアドレスを受信したとき、 アドレスデコーダ 5 4は、 前入力データレジスタ 6 1中の全てのレジスタ及びステータスレジスタ 6 0のう ちの 1つを選択することができ、 この選択されたレジスタから内部デ一夕パス 5 6に向け て画素データ又はステータスが出力される。 したがって、 プロセッサ 1 0 1は画素データ 又はステータスを読み込むことができる。 なお、 アドレスデコーダ 5 4がステータスレジ スタ 6 0を選択した場合、 フラグエンコーダ 5 9がステータス中の前入力送達を一端 0 にする。 これにより、 プロセッサ 1 0 1がステータス中の前入力送達を検査するだけで、 コントローラ 1 0 3が全ての画素デ一夕を入力したかどうかプロセッサ 1 0 1は判別する ことができる。 最後に、プロセッサ 1 0 1がコントローラ 1 0 3に結果デ一タを書き込む 場合、プロセッサ 1 0 1は、 結果データレジスタ 6 2のアドレスをアドレスパス 5 1に出 力し、 さらに結果データをデ一夕パス 5 2に出力する。 アドレスデコーダ 5 4がこのアド レスを復号して結果デ一夕レジスタ 6 2を選択することにより、 結果データレジスタ 6 2 は内部データバス 5 6から結果データを入力することができる。 ここでプロセッサ 1 0 1 が書き込み信号を出力することにより、 フラグエンコーダ 5 9がこの書き込み信号を入力 し、 トリガー信号を生成するので、 結果データレジスタ 6 2は、 入力した結果データを保 持することができる。 保持された結果データは結果データレジスタ 6 2から外部に出力さ れる。 なお、 フラグエンコーダ 5 9は、 トリガー信号を生成した後、 必要に じて結果送 達(RESULT SEND)を出力することができるものとする。 この結果送達は、 画素同期信 号と同様に、 結果データが出力されていることを示すものである。
さて、 第 1 3 6図に示すように、 全てのセンサモジュール 2 5 2が実装されたイメージ センサ 2 5 1の表面に、 ディスプレイ及ぴレ一ザ装置のような光源 2 9 1が光を照射す る。 これにより、 全てのデジタル回路 4 0 2の各々において、 コントローラ 1 0 3が、 画 素同期信号に合わせて、 対応するセンサモジュール 2 5 2の全ての受光素子 2 6 1が受光 した光を複数の画素データとして順次入力する。 さらに、 少なくとも 1個のデジタル回路 4 0 2において、 プロセッサ 1 0 1がこれらの画素データを 1組のメモリ 1 0 2に記憶 した後、 プロセッサ 1 0 1が、 これらの画素データからメモリ書き換え用同期信号、 記憶 データ及びメモリァドレスを生成し、 さらにこのメモリ書き換え用同期信号に応じて、 こ のメモリアドレスにこの記憶データを格納する。プロセッサ 1 0 1が 1組のメモリ 1 0 2 中の 1つの記憶データを書き換えるためのメモリ書き換えルーチンは第 1 3 7図のよう になる。 以下、 このメモリ書き換えル一チンについて説明する。
ステップ 8 0 0 1で、 プロセッサ 1 0 1は、 プロセッサ 1 0 1のレジスタ中のデータを 1組のメモリ 1 0 2に退避して、 プロセッサ 1 0 1のレジスタを初期化する。
ステップ 8 0 0 2で、 プロセッサ 1 0 1は、 コントローラ 1 0 3からステータスを入力 する。
ステップ 8 0 0 3で、 プロセッサ 1 0 1は、 ステータス中の前入力送達を判定する。 も し前入力送達が 1であれば(ステップ 8 0 0 3 : YE S ), ステップ 8 0 0 4に移行する。 さもなくば (ステップ 8 0 0 3 : N〇)、 ステップ 8 0 1 0に移行する。
ステップ 8 0 0 4で、プロセッサ 1 0 1は、 コントローラ 1 0 3から全ての画素データ を 1つずつ読み込んで、 1組のメモリ 1 0 2に順次格納する。
ステップ 8 0 0 5で、 プロセッサ 1 0 1は、 1組のメモリ 1 0 2に格納された複数の画 素データから少なくとも 1ピットのメモリ書き換え用同期信号を生成する。
ステップ 8 0 0 6で、プロセッサ 1 0 1は、 メモリ書き換え用同期信号を判定する。 も しメモリ書き換え用同期信号が 1であれば (ステップ 8 0 0 6 : Y E S ) , ステップ 8 0 0 7に移行する。 さもなくば (ステップ 8 0 0 6 : NO )、 ステップ 8 0 1 0に移行する。 ステップ 8 0 0 7で、 プロセッサ 1 0 1は、 1組のメモリ 1 0 2に格納された複数の画 素データから少なくとも 1ビットの記憶データを生成する。
ステップ 8 0 0 8で、 プロセッサ 1 0 1は、 1組のメモリ 1 0 2に格納された複数の画 素データから少なくとも 1ビットのメモリアドレスを生成する。
ステップ 8 0 0 9で、 プロセッサ 1 0 1は、 生成された記憶データを生成されたメモリ アドレスに格納する。 このとき、 このメモリアドレスには適当なオフセットアドレスが加 えられても良い。
ステップ 8 0 1 0で、 プロセッサ 1 0 1は、 1組のメモリ 1 0 2に退避されたデータを プロセッサ 1 0 1のレジスタに復元し、 このメモリ書き換えルーチンを終了する。
なお、 ステップ 8 0 0 5において、 プロセッサ 1 0 1が 2ビット以上のメモリ書き換え 用同期信号を生成できる場合、 複数のデジタル回路 4 0 2の各々に適当な識別番号が割り 振られるものとする。 このときステップ 8 0 0 6において、 これらのデジタル回路 4 0 2 が、それぞれメモリ書き換え用同期信号と自分の識別番号を比較することにより、 これら のデジタル回路 4 0 2は、現在照射されている光が自分用の記憶データを含んでいるのか 判断することができる。 したがって、 全てのセンサモジュール 2 5 2の受光素子 2 6 1に 光源 2 9 1から同じ光が照射されたとしても、特定のデジタル回路 4 0 2の 1組のメモリ 1 0 2に記憶された記憶データだけを変更することができる。
この他に、 第 1 3 6図では、 格子状に配列された複数のセンサモジュール 2 5 2、 格子 状に配列された複数の AZD変換回路 2 0 4及び格子状に配列された複数のデジタル回 路 4 0 2が積層されているが、 勿論、 1個のセンサモジュール 2 5 2、 1個の A/D変換 回路 2 0 4及び 1個のデジタル回路 4 0 2が L S I中の任意の位置に配置されても良い。 さらにこれらが L S Iの 1つの実装面に配置されても良い。
ところで、 第 1 3 7図に示されたメモリ書き換えルーチンの場合、 少なくとも 1個のデ ジタル回路 4 0 2において、 プロセッサ 1 0 1は定期的にコントローラ 1 0 3を監視しな ければならない。 したがって、 常に光信号が入力されるような受信装置としてイメージセ ンサ 2 5 1が利用される場合、 このメモリ書き換えルーチンは適しているけれども、 常に メモリ 1 0 2中のプログラムを書き換える必要がない一般的なイメージセンサ 2 5 1の用 途では、 このメモリ書き換えルーチンのォ一パーヘッドが大きくなるばかりか、 入力され た画像によってメモリ書き換え信号が勝手に生成されてしまう可能性もある。 しかしなが ら、 もしプロセッサ 1 0 1が少なくとも 1つのメモリ書き換え信号を入力することができ れば、 メモリ書き換えルーチンのォ一バーヘッドは小さくなるし、 さらに入力された画像 によってメモリ書き換え信号が勝手に生成されることはない。 そこで、 少なくとも 1つの メモリ書き換え信号がイメージセンサ 2 5 1に入力された際に、 全てのセンサモジュール 2 5 2が実装されたイメージセンサ 2 5 1の表面に、ディスプレイ及びレーザ装置のよう な光源 2 9 1が光を照射する。 ただし、 1つのメモリ書き換え信号が全てのデジタル回路 4 0 2のプロセッサ 1 0 1に入力されても良いし、複数のイメージ書き換え信号のうちい ずれか 1つが複数のデジタル回路 4 0 2のプロセッサ 1 0 1に入力されても良い。 メモリ 書き換え信号は一種の割り込み信号であり、 このメモリ書き換え信号がプロセッサ 1 0 1 に入力されたときに、プロセッサ 1 0 1は、 1組のメモリ 1 0 2中に記憶されたメモリ書 き換えル一チンに従って、 プログラムなど 1組のメモリ 1 0 2中の記憶データを書き換え る。 これにより、 少なくとも 1つのメモリ書き換え信号を入力した 1個のデジタル回路 4 0 2では、 プロセッサ 1 0 1が、 これらの画素デ一夕からメモリ書き換え用同期信号、 記 '慮データ及びメモリアドレスを生成し、 さらにこのメモリ書き換え用同期信号に応じて、 このメモリアドレスにこの記憶データを格納する。 メモリ書き換え信号がプロセッサ 1 0 1に入力された際に、プロセッサ 1 0 1が 1組のメモリ 1 0 2中の少なくとも 1つの記憶 データを書き換えるためのメモリ書き換えルーチンは第 1 3 8図のようになる。 以下、 こ のメモリ書き換えルーチンについて説明する。
ステップ 8 1 0 1で、 プロセッサ 1 0 1は、 プロセッサ 1 0 1のレジスタ中のデータを 1組のメモリ 1 0 2に退避して、 プロセッサ 1 0 1のレジスタを初期化する。
ステップ 8 1 0 2で、プロセッサ 1 0 1は、 コントローラ 1 0 3からステータスを入力 する。
ステップ 8103で、 プロセッサ 101は、 ステータス中の前入力送達を判定する。 も し前入力送達が 1であれば (ステップ 8103 : YES), ステップ 8104に移行する。 さもなくば (ステップ 8103 : NO)、 ステップ 8102に移行する。
ステップ 8104で、 プロセッサ 101は、 コントローラ 103から全ての画素データ を 1つずつ読み込んで、 1組のメモリ 102に順次格納する。
ステップ 8105で、 プロセッサ 101は、 1組のメモリ 102に格納された複数の画 素デ一夕から少なくとも 1ピットのメモリ書き換え用同期信号を生成する。
ステップ 8106で、 プロセッサ 101は、 メモリ書き換え用同期信号を判定する。 も しメモリ書き換え用同期信号が 1であれば (ステップ 8106: YES), ステップ 81 07に移行する。 さもなくば(ステップ 8106 : NO)、 ステップ 8102に移行する。 ステップ 8107で、 プロセッサ 101は、 1組のメモリ 102に格納された複数の画 素データから少なくとも 1ビットの記'慮データを生成する。
ステップ 8108で、 プロセッサ 101は、 1組のメモリ 102に格納された複数の画 素データから少なくとも 1ビットのメモリアドレスを生成する。
ステップ 8Ί 09で、 プロセッサ 101は、 生成された記憶データを生成されたメモリ アドレスに格納する。 このとき、 このメモリアドレスには適当なオフセットアドレスが加 えられても良い。
ステップ 8110で、 プロセッサ 101は、 メモリ書き換え信号を判定する。 もしメモ リ書き換え信号が 1であれば (ステップ 8110 : YES), ステップ 8102に移行す る。 さもなくば (ステップ 8110 : N〇)、 ステップ 8111に移行する。
ステップ 8111で、 プロセッサ 101は、 1組のメモリ 102に退避されたデータを プロセッサ 101のレジス夕に復元し、 このメモリ書き換えルーチンを終了する。
さて、 ここまでは、 プロセッサ 101が 1組のメモリ 102中の少なくとも 1つの記憶 データを書き換えるためのメモリ書き換えルーチンについて説明してきた。 上述のよう に、 このメモリ書き換えルーチンのステップ 8005、 8007及び 8008において、 プロセッサ 1 0 1は 1組のメモリ 1 0 2中の複数の画素データから、それぞれメモリ書き 換え用同期信号、記憶データ及びメモリアドレスを生成しなければならない。そこで以下 では、 1個のセンサモジュール 2 5 2が 3 X 3の受光素子 2 6 1を有する際に、対応する デジタル回路 4 0 2のプロセッサ 1 0 1が 1組のメモリ 1 0 2中の複数の画素データから 2ビットのデジタル情報を生成する方法について説明する。
まず、プロセッサ 1 0 1は、 光源 2 9 1からこのセンサモジュール 2 5 2に照射された 光を二値の画素データとして扱うものとする。 したがって、対応するデジタル回路 4 0 2 の 1組のメモリ 1 0 2に格納される 9つの画素データの組み合せの数は 2の 9乗 = 5 1 2通りである。次に、光源 2 9 1がセンサモジュール 2 5 2の 9個の受光素子 2 6 1にそ れぞれ異なる強さの光を照射できるように、 光源 2 9 1とセンサモジュール 2 5 2が配 置されるものとする。 したがって、対応するデジタル回路 4 0 2の 1組のメモリ 1 0 2に は、実際に 5 1 2パターンの画素データが格納され得る。最後に、光源 2 9 1がセンサモ ジュール 2 5 2に照射する光は縞模様であるものとする。 したがって、センサモジュール 2 5 2が受光する縞の幅は、 0〜3画素となる。 このとき、 センサモジュール 2 5 2が、 光源 2 9 1が照射する光を横倒しや上下逆さまに受光したとしても、 さらに 1組のメモリ 1 0 2に格納される 9つの画素データのうち 1つが間違ったとしても、プロセッサ 1 0 1 は正確にデジタル情報を生成しなければらない。そこでプロセッサ 1 0 1が、 1組のメモ リ 1 0 2に格納された 9つの画素デ一夕を、第 1 3 9図及び第 1 4 0図に示す 7 4パター ンの画素データと比較することにより、プロセッサ 1 0 1は 1である画素データの割合が 0、 1 / 3 , 2 3及び 1である 4グループの中から 1つを正確に選ぶことができる。つ まりプロセッサ 1 0 1は 2ビットのデジタル情報を生成することができる。 なお、第 1 3 9図及び第 1 4 0図では、黒い四角が 0を表し、 白い四角が 1を表すものとする。 また第 1 3 9図(a )は 1である画素データの割合が 0である 1つのパターンの画素デ一タを示 し、 第 1 3 9図(b ) 〜( i )は 1である画素データの割合が 1 Z 3である 3 6パターン の画素データを示し、第 1 4 0図(a ) ~ ( h )は 1である画素データの割合が 2 / 3で ある 3 6パターンの画素データを示し、第 1 4 0図( i )は 1である画素データの割合が 1である 1つのパターンの画素データを示す。
なお、 ここではプロセッサ 1 0 1が光源 2 9 1から照射された光を二値の画素データ として扱う場合について説明したが、 勿論プロセッサ 1 0 1がこの光を複数ピットの画素 データとして扱うことができるように、光源 2 9 1及びセンサモジュール 2 5 2が配置さ れることにより、プロセッサ 1 0 1は 2ビット以上のデジタル情報を生成することができ る。 さらに光源 2 9 1が、正方形、三角形、十字のように縞模様よりも複雑なパターンを 出力することにより、プロセッサ 1 0 1は 2ビット以上のデジタル情報を生成することが できる。特にセンサモジユーリレ 2 5 2が多数の受光素子 2 6 1を有すれば、プロセッサ 1 0 1は、位置ずれ及びノイズによる誤動作を防ぎながら、 2ビット以上のデジタル情報を 生成することができる。
ところで、センサモジュール 2 5 2は、原色フィルタを用いることにより、 赤、 緑及び 青を検知したり、 さらには補色フィルタを用いることにより、 シアン、 マジェンダ、 イエ ロー及び緑を検知することができる。 この他に、受光素子 2 6 1に焦電素子を用いること により、センサモジュール 2 5 2は赤外線を検知することもできる。そこでカラー映像の ような複数の帯域を含む光を光源 2 9 1がセンサモジュール 2 5 2に照射することによ り、対応するデジタル回路 4 0 2の 1組のメモリ 1 0 2は、受光素子 2 6 1の数に帯域数 を掛け合わせた数の画素データを格納することができる。例えば、 3 X 3の受光素子 2 6 1を有するセンサモジュール 2 5 2に原色フィル夕が取り付けられた場合、プロセッサ 1 0 1は、前述の方法に従い、 6ビットのデジタル情報を生成することができる。勿論、赤、 緑及び青の 3つの帯域がそれぞれメモリ書き換え用同期信号、記憶データ及びメモリアド レスに割り当てられることにより、プロセッサ 1 0 1は 2ビットのメモリ書き換え用同期 信号、 2ビットの記憶データ及び 2ビットのメモリアドレスを生成することもできる。 さて、第 1 3 6図に示したように、ディスプレイのような光源 2 9 1を用いた場合、第 1 3 9図及び第 1 4 0図のようなパターンの光をイメージセンサ 2 5 1の全てのセンサ モジュール 2 5 2に照射するためには、 この光源 2 9 1は高解像度の画像を表示しなけれ ばならない。 しかしながら、 もし光源 2 9 1が干渉縞を発生させることができれば、 この 光源 2 9 1は、 第 1 3 9図及び第 1 4 0図のようなパターンの光を簡単にイメージセン サ 2 5 1の全てのセンサモジュール 2 5 2に照射することができる。 例えば、第 1 4 1図 に示すように、透過型の回折格子 2 9 3が用いられた場合、光源 2 9 1によって照射され た単波長の光は、 レンズ 2 9 2により平行波に変換され、 さらにこの回折格子 2 9 3に照 射されることにより、 この回折格子 2 9 3は、 各々の縞の幅が極めて細い干渉縞を発生さ せることができる。 したがって、 イメージセンサ 2 5 1の全てのセンサモジュール 2 5 2 は、縞の幅が同じ光を受光することができる。なお、光の波長が変更されるか、光の入射 角度が変更されるか、 又は回折格子 2 9 3のスリットの幅が変更されることにより、干渉 縞の各々の縞の幅は変更される。第 1 4 2図に示すように、 反射型の回折格子 2 9 3が用 いられた場合でも、 イメージセンサ 2 5 1の全てのセンサモジュール 2 5 2は縞の幅が同 じ光を受光することができる。 さらに第 1 4 3図に示すように、 ハーフミラーなどを用い て光導波路 2 9 4中に回折格子 2 9 3が形成された場合、光源 2 9 1が発生したレーザ光 線のような同位相の光が光導波路 2 9 4に入射することにより、 この回折格子 2 9 3は、 鎬の幅が極めて細い干渉縞を発生させることができる。 したがって、 イメージセンサ 2 5 1の全てのセンサモジュール 2 5 2は縞の幅の同じ光を受光することができる。
次に本件発明の前記実施形態から把握できる請求項以外の技術的思想を、その効果とと もに説明する。
第一の発明は、 請求項 3又は 4記載の視覚装置であって、 前記位置/大きさ Z傾き検出 手段における少なくとも 1個の前記配列演算ユニットの各々が、 8近傍の前記配列演算ュ ニットだけと通信することと、 を特徴とする視覚装置である。 前記位置/大きさノ傾き 検出手段は 8近傍処理のみを実行するので、前記視覚装置は高速に移動元重複情報画像を 生成することができる。 なお、 前記位置 Z大きさノ傾き検出手段が前記二値画像として形 成エッジ情報画像を入力する場合、前記位置 Z大きさ 傾き検出手段が出力する傾き角度 は前記物体の輪郭線に対して法線方向になる。 したがって本発明は、前記形成エッジ情報 画像に対して効率よく前記輪郭線の前記法線方向を求めることができるので、複数の前記 物体の前記形の検出に関する諸問題が好適に解決される。 第二の発明は、請求項 2 0記載のイメージセンサにおいて、 少なくとも 1個の前記デジ タル回路が、 プロセッサ、 1組のメモリ及びコントローラを備え、 前記コントローラが、 前記画素同期信号に合わせて、対応する前記 AZD変換回路から全ての前記画素データを 入力する手段と、全ての前記画素データが入力されたかどうか判別して、 判別結果を出力 する手段と、 前記判別結果を保持する手段と、 全ての前記画素データを保持する手段と、 前記プ口セッサが出力するアドレスによって、全ての前記画素データ及び前記判別結果の うちの 1つのデータを選択する手段と、 選択された 1つの前記データを出力する手段と、 を有することにより、 少なくとも 1個の前記デジタル回路において、 前記プロセッサが、 前記コントローラが保持した全ての前記画素データのうちの少なくとも 1つを 1組の前 記メモリに記憶させることを特徴とするィメ一ジセンサである。 少なくとも 1個の前記 デジタル回路は、前記プロセッサ、 1組の前記メモリ及び前記コントローラを備えている ので、前記プロセッサは 1組の前記メモリに記憶されたプログラムを実行することができ る。 本発明では、複数の前記デジタル回路が前記プロセッサ、 1組の前記メモリ及び前記 コントローラを備えることにより、複数の前記プロセッサがそれぞれ独立に、対応する 1 組の前記メモリに全ての前記画素データを記憶させ、 しかも並列に画像処理を実行するこ とができるので、 画像処理に関する諸問題が好適に解決される。
第三の発明は、第二の前記発明に記載のイメージセンサにおいて、 少なくとも 1個の前 記プロセッサが、定期的にメモリ書き換えルーチンを実行し、 前記メモリ書き換えル一チ ンが、前記コントローラが入力した全ての前記画素データを 1組の前記メモリに記憶する 手段と、 1組の前記メモリに記憶された少なくとも 1つの前記画素データをメモリ書き換 え用同期信号に変換する手段と、 1組の前記メモリに記憶された少なくとも 1つの前記画 素データを記憶データに変換する手段と、 組の前記メモリに記憶された少なくとも 1つ の前記画素データをメモリアドレスに変換する手段と、前記記憶データを 1組の前記メモ リの前記メモリアドレスに記'慮する手段と、 を有することにより、 少なくとも 1個の前記 デジタル回路において、 前記プロセッサが、 前記メモリ書き換え用同期信号に合わせて、 1組の前記メモリの前記メモリアドレスに前記記憶データを記憶することを特徴とする イメージセンサである。 本発明は、 ポーリング中の前記プロセッサが、 前記メモリ書き 換え用同期信号に合わせて、 1組の前記メモリの前記メモリァドレスに前記記憶データを 記憶するためのアルゴリズムの実施形態である。 もし 1つの前記センサモジュールが多数 の前記受光素子を有していれば、 例えば、 全ての前記受光素子に前記光が殆んど照射され ない場合と、 全ての前記受光素子に強い前記光が照射され場合と、 半分の前記受光素子に 前記光が殆んど照射されず、かつ残りの半分の前記受光素子に強い前記光が照射される場 合と、 全ての前記受光素子に強い前記光及び弱い前記光が交互に照射される場合と、 のよ うに、 前記光のパターンが前記メモリ書き換え用同期信号、 前記記憶デ一夕及び前記メモ リアドレスを表すことができる。
第四の発明は、 第二の前記発明に記載のイメージセンサにおいて、 少なくとも 1個の前 記プロセッサが、 少なくとも 1つのメモリ書き換え信号を入力した際に、 メモリ書き換え ルーチンを実行し、 前記メモリ書き換えルーチンが、 前記コントローラが入力した全ての 前記画素データを 1組の前記メモリに記憶する手段と、 1組の前記メモリに記憶された少 なくとも 1つの前記画素データをメモリ書き換え用同期信号に変換する手段と、 1組の前 記メモリに記憶された少なくとも 1つの前記画素データを記憶データに変換する手段と、 1組の前記メモリに記憶された少なくとも 1つの前記画素データをメモリァドレスに変 換する手段と、 前記記憶データを 1組の前記メモリの前記メモリァドレスに記憶する手段 と、 を有することにより、 少なくとも 1個の前記デジタル回路において、 前記プロセッサ が少なくとも 1つのメモリ書き換え信号を入力した際に、 前記プロセッサが、前記メモリ 書き換え用同期信号に合わせて、 1組の前記メモリの前記メモリアドレスに前記記憶デー 夕を記憶することを特徵とするイメージセンサである。 本発明は、 割り込み機能を有す る前記プロセッサが、 前記メモリ書き換え用同期信号に合わせて、 1組の前記メモリの前 記メモリアドレスに前記記憶データを記憶するためのアルゴリズムの実施形態である。 も し 1つの前記センサモジュールが多数の前記受光素子を有していれば、 例えば、 全ての前 記受光素子に前記光が殆んど照射されない場合と、 全ての前記受光素子に強い前記光が照 射され場合と、 半分の前記受光素子に前記光が殆んど照射されず、かつ残りの半分の前記 受光素子に強い前記光が照射される場合と、全ての前記受光素子に強い前記光及び弱い前 記光が交互に照射される場合と、 のように、 前記光のパターンが前記メモリ書き換え用同 期信号、 前記記憶データ及び前記メモリアドレスを表すことができる。
以上、 本実施形態を説明したが、 本発明は上述の実施形態には限定されることはなく、 当業者であれば種々なる態様を実施可能であり、 本発明の技術的思想を逸脱しない範囲に おいて本発明の構成を適宜改変できることは当然であり、 このような改変も、本発明の技 術的範囲に属するものである。
産業上の利用可能性
請求項 1及び 2記載の発明によれば、 画像認識手段 2 9及び環境理解手段 3 1を除く 全ての手段が局所処理によって実現され得る。 したがってイメージセンサ 2 5 1の製造者 は、 二次元格子状に配列された複数の配列演算ユニット 1 0 0から構成されるデータ処理 装置 1 1 0を実現する L S I (大規模集積回路) を製造し、 この L S Iを必要な数だけ積 層することにより、 動画像中の少なくとも 1個の物体の位置、 大きさ、 形、 色及びテクス チヤを簡単に、 しかも高速に検出するイメージセンサ 2 5 1を実現することができる。 ま た、 この製造者は、 システム L S I技術を用いて、 画像認識手段 2 9及び環境理解手段 3 1を実現する汎用プロセッサをこのイメージセンサ 2 5 1に実装することができる。 した がって、 このイメージセンサ 2 5 1が必要に応じて環境地図だけを出力することができる ので、 この環境地図を受信するコンピュータシステムは、 負荷を軽減することができる。 なお、本発明は人間の脳の視覚機能に極めて類似しているので、 本発明は人間の脳の視覚 機能の解明に大いに有用である。
請求項 3記載の発明によれば、 本発明は、従来フーリエ変換及びァフィン変換などの大 域処理によって検出されていた物体の形を、 局所並列画像処理を実行するだけで検出する ことができる。 したがって本発明は、 画像圧縮及びパターン認識などの膨大な計算量を必 要とする画像処理を高速化することができる。 請求項 3及び請求項 4記載の発明によれば、位置 Z大きさ 傾き検出手段 4 4及び位置 Z大きさ Z形検出手段 4 5を有する本発明は、近傍サイズを変更することにより、二値画 像における少なくとも 1個の物体に対して、形とテクスチャのいずれかを検出することが できる。 したがって本発明の利用者は、近傍サイズが異なる複数の位置 Z大きさ 傾き検 出手段 4 4及び近傍サイズが異なる複数の位置 大きさ 形検出手段 4 5からなる複数 の組み合せを用意することにより、二値画像中の一定範囲の大きさの物体の形及びテクス チヤを一斉に検出することができる。
請求項 5記載の発明によれば、 本発明は画素単位で並列に処理を行うことにより、形成 エッジ情報画像 1 1 5から物体の位置及び形を検出することができる。 しかも物体の大き さ及び傾きが事前に判らなくても本発明は物体の形を求めることができる。視覚装置 2は ビデオカメラで撮影された動画像のフレーム画像若しくはデジタルカメラで撮影された りスキャナで取り込まれた静止画像から、複数の物体を認識するための前処理にも利用さ れ、動画像及び静止画像に対するパターン認識装置を高速、かつ安価に実現することがで きる。 3 6個以上の移動元傾き重複情報 1 8 7を出力するので、本発明から移動元傾き重 複情報画像 1 8 8を入力するシステムは、 必要があれば移動元傾き重複情報画像 1 8 8か ら物体の大きさを抽出することができる。
請求項 6記載の発明によれば、本発明は画素単位で並列に処理を行うことにより、 形成 エッジ情報画像 1 1 5から物体の位置及び形を検出することができる。 しかも物体の大き さ及び傾きが事前に判らなくても本発明は物体の形を求めることができる。本発明はビデ ォカメラで撮影された動画像のフレーム画像若しくはデジタル力メラで撮影されたりス キヤナで取り込まれた静止画像から、複数の物体を認識するための前処理にも利用され、 動画像及び静止画像に対するパターン認識装置を高速、 かつ安価に実現することができ る。配列演算ユニット 1 0 0が物体の検出結果だけを出力するので、本発明から物体の検 出結果を入力するシステムは、 通信機構を単純にすることができる。
請求項 7記載の発明によれば、 各々の非線形振動子が外乱として重複情報 1 3 1を入力 するので、本発明は、従来の視覚装置 2に比べて、二値画像によって区分される少なくと も 1つの物体領域 141を背景領域から高速に分離することができる。 したがってィメ一 ジセンサ 251の設計者は、 高速なイメージセンサ 251を設計することができる。 請求項 8及び 9記載の発明によれば、配列演算ユニット 100は、受信した計算データ を最大でも 2方向にしか転送せず、 しかもその多くは 1方向だけで良い。 つまりプロセッ サ 101が計算データをコントローラ 103に書き込む際に、プロセッサ 101がコント ローラ 103に待たされる確率は低くなる。 しかも配列演算ユニット 100は計算データ の転送負荷を分散させることができるので、配列演算ユニット 100は計算デ一タを効率 よく転送することができる。
請求項 10及び 11記載の発明によれば、仮想配列演算ユニット 105は、受信した計 算データを最大でも 2方向にしか転送せず、 しかもその多くは 1方向だけで良い。 つまり プロセッサ 101が計算データをコントローラ 103に書き込む際に、プロセッサ 101 がコントローラ 103に待たされる確率は低くなる。 さらに仮想配列演算ユニット 105 に含まれる配列演算ユニット 100の数が増えれば増えるほど、プロセッサ 101は計算 データをコントローラ 103に書き込まなくなるので、仮想配列演算ユニット 105は計 算データを効率よく転送することができる。
請求項 12記載の発明によれば、 複数のコントローラ 103が 1方向に計算デ一夕を 転送する際に、転送回数に関わらず、プロセッサ 101は計算データを 1度だけ書き込む だけで良い。 しかもプロセッサ 101が転送回数を 1つずつ増す必要もなければ、 コント ローラ 103が加算器を備える必要もない。 したがって視覚装置 2は計算データを効率よ く転送することができる。
請求項 13〜16記載の発明によれば、 連動式カウンタ 401は、 位相が異なる複数 の連動信号を入力したとしても、 連動式カウンタ 401は、 これらの連動信号の中から 最も位相が遅れたものを選んで連動信号を生成すると共に、 連動信号の位相に合わせた カウント数を出力することができる。 したがって、複数の連動式カウンタ 401が LS I (La r e S c a l e I n t eg r a t ed C i r cu i t)全体に分散された としても、 全ての連動式カウンタ 401が互いに連動信号を通信するならば、全ての連動 式カウン夕 4 0 1の連動信号の位相は最も遅れたものに一致し、 これらの連動式カウン 夕 4 0 1のカウント数も一致する。 これらのカウント数はクロック信号の整数倍の時間を 表しているので、 これらの連動式カウンタ 4 0 1は、 L S I全体に同一の夕イマ信号を供 給することができる。 また、 これらのカウント数はクロック t号の分周信号となるので、 これらの連動式カウンタ 4 0 1は L S I全体に同一の分周信号も供給することができる。 一方で、 近年の L S Iの大規模化及びクロック信号の高速化により、 L S Iには消費電力 の低減が求められているので、 L S I設計者は L S Iの部分毎に細かくクロック制御をし なければならない。 しかしな力 ら、 長距離配線による伝搬遅延時間の顕在化及びクロック スキュ一の問題により、 L S I設計者は、 クロック信号を単純に分周しただけでは夕イミ ング設計を行うことが困難になってきている。 そこで本発明を用いることにより、 L S I 設計者は、 高周波数のクロック信号に対応した L S Iを容易に設計することができるよう になる。
請求項 1 7記載の発明によれば、 連動装置は、 連動信号の配線量を抑えながら、 パイプ ライン処理装置、 D S P (D i g i t a 1 S i g n a l P r o c e s s o r )、 シス トリックアレイ、 データフロープロセッサ、 及び並列画像処理装置など大規模になればな るほど性能が向上する並列システムの全体に、 クロック信号に同期した分周信号及びタイ マ信号を供給することができるので、 L S I設計者は伝搬遅延時間の問題を回避しなが ら大規模な並列システムを設計することができる。 特に、 請求項 1 5及び 1 6記載の連動 式カウンタ 4 0 1を用いた場合、 これらの連動式カウンタ 4 0 1はクロック信号を生成 するので、 L S I設計者は、 L S Iの外部からクロック信号を供給する必要がなくなる。 しかも、 これらの連動式カウンタ 4 0 1が生成するクロック信号と、 これらの連動式カウ ンタ 4 0 1に隣接する連動式カウンタ 4 0 1が生成するクロック信号との間の位相差は、 2 ττラジアン、 つまりクロック信号の 1周期以内である。 そこで連動式カウンタ 4 0 1が クロック信号を N分周して、 N分周信号を生成した場合、 隣接する連動式カウンタ 4 0 1 が生成する N分周信号の位相差は、 2 π/Νラジアン以下、 つまりクロック信号の 1周期 以内である。 つまり、 連動式カウン夕 4 0 1が高周波数のクロック信号を生成し、 しかも Nが大きくなればなるほど、 N分周信号の位相差は 0ラジアンに近づく。 したがって、 L S I設計者は、 高周波のクロック信号を用いた L S Iを容易に設計できるようになる。 請求項 1 8及び請求項 1 9記載の発明によれば、 イメージセンサ 2 5 1の解像度が高 くなればなるほど、 センサモジュール 2 5 2の数を増やすことにより、 1個のセンサモ ジュール 2 5 2の画素数がイメージセンサ 2 5 1の画素数に比べて十分に少なくなるの で、 イメージセンサ 2 5 1の設計者はセンサモジュール 2 5 2を容易に設計することがで きる。 しかもイメージセンサ 2 5 1の製造者は、 L S I積層技術を用いて、検査済のセン サモジュール 2 5 2だけを基板の上に配列することによりイメージセンサ 2 5 1を短期 間に、 しかも高い歩留まりで製造することができる。 したがって、 L S I製造者は、 人間 の網膜に匹敵する 1億画素以上のイメージセンサ 2 5 1を容易に製造することができる。 また、 本発明に対応したイメージセンサ 2 5 1の実施形態は、 一般的なイメージセンサ 2 5 1に比べて短時間に全ての画像信号を取り出すことができ、 しかも画素並列なィメ一ジ センサ 2 5 1に比べて少ない信号線しか必要としない。 したがって、 視覚装置 2において 格子状に配列された複数の仮想配列演算ユニット 1 0 5は、 本発明に対応したイメージセ ンサ 2 5 1の実施形態を用いることにより、 それぞれ必要な画素信号だけを短時間に受信 することができる。
請求項 2 0記載の発明によれば、 1個のセンサモジュール 2 5 2と、 対応する AZD変 換回路 2 0 4の間の信号線の配線長が短くなるので、 イメージセンサ 2 5 1に対するノィ ズの影響が抑えられる。 特に請求項 2 0記載の発明の場合、 三次元 L S I技術を用いるこ とにより、 1個のセンサモジュール 2 5 2と、 対応する AZD変換回路 2 0 4の間の信号 線と、 1個の AZD変換回路 2 0 4と、 対応するデジタル回路 4 0 2の間の信号線と、 の 総配線長が短かくなり、 しかも互いに交わらないので、 イメージセンサ 2 5 1に対するノ ィズの影響が最大限抑えられる。 また、 AZD変換回路 2 0 4の数はセンサモジュール 2 5 2の数と等しいので、 イメージセンサ 2 5 1の画素数が多くなつたとしても、 イメージ センサ 2 5 1の設計者は、 センサモジュール 2 5 2における受光素子 2 6 1の数を増やす ことにより、 A/D変換回路 2 0 4の数を少なくすることができる。 したがって、 ィメー ジセンサ 2 5 1の設計者は、 AZD変換回路 2 0 4が出力するデジタル信号のビット数を 多くすることにより、 高精細のイメージセンサ 2 5 1を設計することができる。 さらに L S I製造者は、 人間の視神経を直接しかも並列に刺激する 1億画素以上のイメージセンサ 2 5 1を容易に製造することができる。

Claims

請求の範囲
1 . 複数のデジタル画像からなる動画像中の少なくとも 1個の物体に対して、
複数の前記デジタル画像を順次記憶する第一の画像記憶手段と、
複数の前記デジタル画像から粗ェッジ情報画像を生成するェッジ情報生成手段と、 前記デジタル画像を用いて前記粗エッジ情報画像を形成エッジ情報画像に形成するエツ ジ情報形成手段と、
前記形成エッジ情報画像から前記デジタル画像における少なくとも 1個の前記物体の位 置、 大きさ及び形を検出することにより、 形大きさ情報画像を生成する幾何解析手段と、 を有し、
前記幾何解析手段が、
前記形成エッジ情報画像から傾き大きさ情報画像を生成する位置/大きさ Z傾き検出手 段と、
前記形成ェッジ情報画像及び前記傾き大きさ情報画像から前記形大きさ情報画像を生成 する位置ノ大きさノ形検出手段と、
を有することを特徴とする視覚装置。
2 . 複数のデジタル画像からなる動画像中の少なくとも 1個の物体に対して、
複数の前記デジタル画像を順次記憶する第一の画像記憶手段と、
複数の前記デジタル画像から粗エッジ情報画像を生成するエッジ情報生成手段と、 前記デジタル画像を用いて前記粗エッジ情報画像を第一の形成エッジ情報画像に形成す る第一のエッジ情報形成手段と、
第一の前記形成ェッジ情報画像を構成する第一の形成ェッジ情報によって区分される少 なくとも 1個の前記物体の位置及び大きさを検出することにより、 第一の重複情報画像を 生成する位置 Z大きさ検出手段と、
複数の非線形振動子を用いることにより、 第一の前記形成ェッジ情報によって区分さ れる少なくとも 1個の前記物体の少なくとも 1つの物体領域を表す物体領域画像を生成 する物体/背景分離手段と、
前記物体領域画像を所定期間記憶する第二の画像記憶手段と、
を有し、
第一の前記重複情報画像を構成する全ての第一の重複情報が、 それぞれ対応する前記非線 形振動子に外乱として入力されることにより、 前記物体/背景分離手段が前記デジタル画 像の背景領域から少なくとも 1つの前記物体領域を分離することを特徴とする視覚装置。
3 . 二次元格子状に配列された複数の配列演算ユニットから構成される少なくとも 1個の データ処理装置を含む視覚装置であって、
二値画像から傾き大きさ情報画像を生成する位置/大きさノ傾き検出手段と、 前記二値画像及び前記傾き大きさ情報画像から形大きさ'膚報画像を生成する位置 Z大 きさ Z形検出手段と、
を有し、
前記形大きさ情報画像の各画素を構成する形大きさ情報が、 前記二値画像における少なく とも 1個の物体の形及び大きさを表すことにより、 前記形大きさ情報画像が前記物体の位 置、 前記大きさ及び前記形を表すことを特徴とする視覚装置。
4. 二次元格子状に配列された複数の配列演算ュニットから構成される少なくとも 1個の データ処理装置を含む視覚装置であって、
二値画像から傾き大きさ情報画像を生成する位置/大きさ/傾き検出手段と、 前記二値画像及び前記傾き大きさ情報画像から形大きさ情報画像を生成する位置 Z大 きさ/形検出手段と、
を有し、
前記形大きさ情報画像の各画素を構成する形大きさ情報が、 前記二値画像における少なく とも 1個の物体のテクスチャに対する形及び大きさを表すことにより、 前記形大きさ情報 画像が前記物体の前記テクスチャを表すことを特徵とする視覚装置。
5 . 二次元格子状に配列された複数の配列演算ュニットから構成される 1個のデータ処理 装置を含む視覚装置であって、 複数の前記配列演算ユニットの各々において、
前記配列演算ユニットを初期化する手段と、
入力すべき二値情報又は傾き大きさ情報がなければ処理を終了する手段と、 前記二値情報及び前記傾き大きさ情報を入力する手段と、
前記二値情報及び前記傾き大きさ情報を分離する手段と、
前記二値情報を重複情報に変換する手段と、
前記傾き大きさ情報を移動元傾き重複情報に変換する手段と、
前記重複情報を表す重複情報画像の帯域画素値の近傍から重心を計算し、 前記重心から 計算した移動量を移動量画像の帯域画素値に画像化する手段と、
傾き及び移動元毎に、移動元傾き重複情報を表す移動元傾き重複情報画像の帯域画素値 の各々を前記移動量に従い移動位置に移動する手段と、
前記重複情報画像の前記帯域画素値を前記移動量に従い前記移動位置に移動する手段 と、
前記傾き及び前記移動元毎に、
前記移動元傾き重複情報画像の前記帯域画素値の各々を、 移動してきた前記移動元傾き 重複情報画像の前記帯域画素値の全ての合計と、
移動してきた前記移動元傾き重複情報画像の前記帯域画素値のうち、 前記傾き大きさ情 報に対応する値と、
の合計に更新する手段と、
前記重複情報画像の前記帯域画素値を、移動してきた前記重複情報画像の前記帯域画素 値の全ての合計に更新する手段と、
前記移動元傾き重複情報画像の前記帯域画素値の各々を出力する手段と、
を備えたことを特徴とする視覚装置。
6 . 二次元格子状に配列された複数の配列演算ュニットから構成される 1個のデータ処理 装置を含む視覚装置であって、
複数の前記配列演算ユニットの各々において、 前記配列演算ュニットを初期化する手段と、
入力すべき二値情報又は傾き大きさ情報がなければ処理を終了する手段と、 前記二値情報及び前記傾き大きさ情報を入力する手段と、
前記二値情報及び前記傾き大きさ情報を分離する手段と、
前記二値情報を重複情報に変換する手段と、
前記傾き大きさ情報を移動元傾き重複情報に変換する手段と、
前記重複情報を表す重複情報画像の帯域画素値の近傍から重心を計算し、前記重心から 計算した移動量を移動量画像の帯域画素値に画像化する手段と、
傾き及び移動元毎に、移動元傾き重複情報を表す移動元傾き重複情報画像の帯域画素値 の各々を前記移動量に従い移動位置に移動する手段と、
前記重複情報画像の前記帯域画素値を前記移動量に従い前記移動位置に移動する手段 と、
前記傾き及び前記移動元毎に、
前記移動元傾き重複情報画像の前記帯域画素値の各々を、移動してきた前記移動元傾き 重複情報画像の前記帯域画素値の全ての合計と、
移動'してきた前記移動元傾き重複情報画像の前記帯域画素値のうち、 前記傾き大きさ情 報に対応する値と、
の合計に更新する手段と、
前記重複情報画像の前記帯域画素値を、移動してきた前記重複情報画像の前記帯域画素 値の全ての合計に更新する手段と、
前記移動元傾き重複情報画像の前記帯域画素値の全てから形を識別する手段と、 前記重複情報画像の前記帯域画素値及び前記形の識別結果から形大きさ情報を表す形 大きさ情報画像の帯域画素値の各々を生成する手段と、
前記形大きさ情報画像の帯域画素値の各々を出力する手段と、
を備えたことを特徴とする視覚装置。
7 . 二次元格子状に配列された複数の配列演算ユニットから構成される 1個のデータ処理 装置を含む視覚装置であって、
複数の前記配列演算ュニットの各々が、
二値画像のうち対応する画素を入力する手段と、
濃淡画像のうち対応する画素を入力する手段と、
非線形振動子における複数のパラメ一夕を計算する手段と、
前記非線形振動子の計算結果を出力する手段と、
を備え、
前記非線形振動子が、 前記濃淡画像の対応する前記画素を外乱として扱うことにより、 前 記二値画像が区分する少なくとも 1つの物体領域を背景領域から分離することを特徴と する視覚装置。
8 . 二次元格子状に配列された複数の配列演算ュニットを含む視覚装置において、 複数の前記配列演算ュニットの各々が、
前記配列演算ュニットにおいて計算された前記計算データを前記 4近傍の前記配列演算 ユニットに送信する手段と、
前記 4近傍のうち左側の前記配列演算ュニットカゝら受信した前記計算データを右側及び 上側のうち少なくとも 1個の前記配列演算ュニットに転送する手段と、
前記 4近傍のうち下側の前記配列演算ュニットカゝら受信した前記計算データを上側及び 左側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、
前記 4近傍のうち右側の前記配列演算ュニットから受信した前記計算デ一夕を左 1ί及び 下側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、
前記 4近傍のうち上側の前記配列演算ュニットから受信した前記計算データを下側及び 右側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、
を備えることにより、
前記配列演算ュニットの前記計算データの各々が二次元格子状に配列された複数の前記配 列演算ユニット間を反時計回りに転送されることを特徴とする配列演算ュニット。
9 . 二次元格子状に配列された複数の配列演算ュニットを含む視覚装置において、 複数の前記配列演算ュニットの各々が、
前記配列演算ュニットにおいて計算された前記計算データを前記 4近傍の前記配列演算 ユニットに送信する手段と、
前記 4近傍のうち左側の前記配列演算ュニットから受信した前記計算データを右側及び 下側のうち少なくとも 1個の前記配列演算ュニットに転送する手段と、
前記 4近傍のうち下側の前記配列演算ュニットカゝら受信した前記計算データを上側及び 右側のうち少なくとも 1個の前記配列演算ュニッ卜に転送する手段と、
前記 4近傍のうち右側の前記配列演算ュニットから受信した前記計算データを左側及び 上側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、
前記 4近傍のうち上側の前記配列演算ュニットカゝら受信した前記計算デ一夕を下側及び 左側のうち少なくとも 1個の前記配列演算ユニットに転送する手段と、
を備えることにより、
前記配列演算ュニットの前記計算デ一夕の各々が二次元格子状に配列された複数の前記配 列演算ユニット間を時計回りに転送されることを特徴とする配列演算ュニット。
1 0 . 二次元格子状に配列された複数の仮想配列演算ユニットを含む視覚装置において、 複数の前記仮想配列演算ュニヅトの各々が、
前記仮想配列演算ュニットにおいて計算された前記計算データを前記 4近傍の前記仮想 配列演算ュニットに送信する手段と、
前記 4近傍のうち左側の前記仮想配列演算ュニットから受信した前記計算デ一夕を右側 及び上側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、
前記 4近傍のうち下側の前記仮想配列演算ュニットから受信した前記計算データを上側 及び左側のうち少なくとも 1個の前記仮想配列演算ュニットに転送する手段と、
前記 4近傍のうち右側の前記仮想配列演算ュニットから受信した前記計算データを左側 及び下側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、
前記 4近傍のうち上側の前記仮想配列演算ュニットから受信した前記計算データを下側 及び右側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、 を備えることにより、
前記仮想配列演算ュニットの前記計算データの各々が二次元格子状に配列された複数の前 記仮想配列演算ュニット間を反時計回りに転送されることを特徴とする仮想配列演算ュ ニット。
1 1 . 二次元格子状に配列された複数の仮想配列演算ユニットを含む視覚装置において、 複数の前記仮想配列演算ュニットの各々が、
前記仮想配列演算ュニットにおいて計算された前記計算データを前記 4近傍の前記仮想 配列演算ユニットに送信する手段と、
前記 4近傍のうち左側の前記仮想配列演算ュニットから受信した前記計算デ一夕を右側 及び下側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、
前記 4近傍のうち下側の前記仮想配列演算ュニットから受信した前記計算デ一夕を上側 及び右側のうち少なくとも 1個の前記仮想配列演算ユニットに転送する手段と、
前記 4近傍のうち右側の前記仮想配列演算ュニットから受信した前記計算データを左側 及び上側のうち少なくとも 1個の前記仮想配列演算ュニットに転送する手段と、
前記 4近傍のうち上側の前記仮想配列演算ュニットから受信した前記計算デー夕を下側 及び左側のうち少なくとも 1個の前記仮想配列演算ュニットに転送する手段と、 を備えることにより、
前記仮想配列演算ュニットの前記計算データの各々が二次元格子状に配列された複数の前 記仮想配列演算ユニット間を時計回りに転送されることを特徴とする仮想配列演算ュニッ 卜。
1 2 . 二次元格子状に配列された複数の配列演算ユニット又は複数の仮想配列演算ュニッ トを含む視覚装置であって、
全ての前記配列演算ユニット及び全ての前記仮想配列演算ユニットの各々がプロセッサ、 1組のメモリ及び複数のコントローラを備え、
全ての前記配列演算ユニット及び全ての前記仮想配列演算ユニットの各々に対して、 少なくとも 2個の前記コントローラに、 所定数間隔の番号が割り振られることと、 前記番号が割り振られた全ての前記コントローラの各々が、 隣接する複数の前記配列演 算ュニット及び前記仮想配列演算ュニットの各々に対して、複数の前記コントローラのう ち、前記番号が前記所定数だけずれている少なくとも 1個の前記コントローラと通信する ことと、
により、 。 多くとも、前記プロセッサが計算データを書き込んだ前記コントローラの前記番号に関連 した回数だけ、 少なくとも 1個の前記コントローラは前記計算データを転送することを特 徵とする視覚装置。
1 3. 同期式カウンタ、終り値判定用論理ゲート、 連動信号増幅用論理ゲート、 少なくと も 1個の連動信号用ラッチ回路、連動信号用論理ゲート及びイネ一ブル信号用論理ゲート を含む連動式カウン夕であって、
前記同期式力ゥン夕がィネーブル信号を入力したときに、 前記同期式力ゥン夕がクロッ ク信号のパルスを数えることと、
前記同期式力ゥン夕が出力するカウント数と終り値が一致したときに、前記終り値判定 用論理ゲートが連動信号を生成することと、
前記連動信号増幅用論理ゲートが、外部に出力するために前記連動信号を増幅すること と、
前記連動信号が生成されないときに、前記イネ一ブル信号用ゲートが前記イネ一ブル信 号を生成することと、
により、
前記カウント数が前記終り値に到達したときに、前記同期式カウン夕の動作が停止する ことと、
前記終り値判定用論理ゲートが出力する前記連動信号が生成されていないときに、 各々 の前記連動用ラッチ回路が、外部から入力した前記連動信号のうちの 1つを記憶すること と、
前記連動信号用論理ゲ一トが、全ての前記連動信号用ラツチ回路が前記連動信号を記憶 しているか判定することと、
全ての前記連動信号用ラツチ回路が前記連動信号を記憶しているときに、前記イネ一ブ ル信号用ゲートが前記イネ一ブル信号を生成することと、
により、
前記同期式力ゥン夕の前記動作が再開することと、
を特徴とする連動式カウン夕。
1 4. 同期式カウンタ、 終り値判定用論理ゲート、 連動信号増幅用論理ゲート、 少なくと も 1個の連動信号用ラッチ回路、連動信号用論理ゲート、 イネ一ブル信号用論理ゲート及 び初期化用論理ゲ一トを含む連動式力ゥンタであって、
前記同期式カウン夕が同期クリア手段及び同期ロード手段のうち少なくとも 1つを備え、 前記同期式力ゥンタがィネーブル信号を入力したときに、 前記同期式力ゥン夕がクロッ ク信号のパルスを数えることと、
前記同期式力ゥン夕が出力するカウント数と終り値が一致したときに、前記終り値判定 用論理ゲートが連動信号を生成することと、
前記連動信号増幅用論理ゲートが、外部に出力するために前記連動信号を増幅すること と、
前記連動信号が生成されないときに、前記イネ一ブル信号用ゲートがィネーブル信号を 生成することと、
により、
前記カウント数が前記終り値に到達したときに、前記同期式カウンタの動作が停止する ことと、
前記終り値判定用論理ゲートが出力する前記連動信号が生成されていないときに、各々 の前記連動信号用ラツチ回路が、外部から入力した前記連動信号のうちの 1つを記憶する ことと、
前記連動信号用論理ゲートが、全ての前記連動信号用ラッチ回路が前記連動信号を記 '慮 しているか判定することと、 全ての前記連動信号用ラツチ回路が前記連動信号を記憶しているときに、 前記ィネーブ ル信号用ゲートが前記イネ一ブル信号を生成することと、
により、
前記同期式カウン夕の前記動作が再開することと、
前記初期化信号用論理ゲートが、前記終り値判定用論理ゲートが出力する前記連動信号 及び前記イネ一プル信号を入力して、 初期化信号を生成することにより、
前記同期クリァ手段及び前記同期ロード手段が前記初期化信号を用いて、前記同期式力 ゥン夕に初期値を設定することと、
を特徴とする連動式カウン夕。
1 5 . 請求項 1 3又は 1 4記載の連動式カウンタが同期式発振回路を備え、
前記同期式発振回路が、 前記ク口ック信号を生成する自励発振回路及び少なくとも 1個の クロック信号増幅用論理ゲートを備え、
前記自励発振回路が同期信号用ラッチ回路を含み、
前記同期信号用ラツチ回路が前記イネ一ブル信号を入力することと、
前記同期信号用ラツチ回路の出力が前記ク口ック信号の位相を変化させることと、 少なくとも 1個の前記クロック信号増幅用論理ゲートが、 前記クロック信号を増幅する ことと、
を特徴とする連動式カウンタ。
1 6 . 請求項 1 3又は 1 4記載の連動式カウンタが同期式発振回路を備え、
前記同期式発振回路が、
同期信号用フリップフロップ回路と、
同期信号増幅器と、
ループフィル夕と、
電圧制御発振器と、
少なくとも 1個のクロック信号増幅用論理ゲ一トと、
を備え、 前記同期信号用ラッチ回路が前記イネ一ブル信号を記'慮することと、
前記同期信号増幅器が前記同期信号用ラッチ回路の出力を増幅することと、 前記ループフィルタが、 前記同期信号増幅器の出力に含まれるノィズを低減すること と、
前記電圧制御発振器が前記ク口ック信号を生成することと、
前記電圧制御発振器が、前記ループフィルタが出力する電圧に応じて、前記クロック信 号の位相を変化させることと、
少なくとも 1個の前記ク口ック信号増幅用論理ゲ一トが、前記クロック信号を増幅する ことと、
を特徴とする連動式カウンタ。
1 7. 請求項 1 3〜1 6のうち少なくとも 1項に記載の複数の連動式カウンタを含む連動 装置であって、
複数の前記連動式力ゥンタを平面内に配列したことと、
隣接する前記連動式力ゥンタ同士の間の距離が全て等しいことと、
隣接する前記連動式カウンタ同士が相互に前記連動信号を通信することと、 各々の前記連動式カウンタが、 隣接する少なくとも 1個の前記連動式カウンタが出力す る全ての前記連動信号を記憶することと、
各々の前記連動式カウンタが全ての前記連動信号を記憶するまで、 各々の前記連動式力 ゥンタの前記同期式カウンタが前記動作を停止することと、
により、
複数の前記連動式力ゥン夕の前記同期式力ゥン夕の前記力ゥント数が揃うことを特徴と する連動装置。
1 8 . 複数のセンサモジュールを含むイメージセンサであって、
少なくとも 1個の前記センサモジュールの各々が、
二次元格子状に配列された複数の画素セルと、
複数の前記画素セ^)レの配列に沿って配置された電荷結合素子と、 電荷転送用駆動装置と、
出力増幅器と、
を含み、
少なくとも 1個の前記画素セルの各々が、
光を電荷に変換する受光素子と、
電荷転送ゲートと、
を含み、
少なくとも 1個の前記センサモジュールの各々において、
前記電荷転送用駆動装置の出力が、 少なくとも 1個の前記画素セルの前記電荷転送ゲ一 トを導通させることと、
前記電荷結合素子が、 少なくとも 1個の前記電荷転送ゲ一トを介して出力された前記受 光素子の前記電荷を個別に蓄えることと、
前記電荷転送用駆動装置の出力が、 前記電荷結合素子に蓄えられた前記電荷を前記出力 増幅器に向けて順番に転送することと、
前記出力増幅器が、 前記電荷結合素子に蓄えられた前記電荷を順番に増幅することと、 により、
少なくとも 1個の前記センサモジュールの各々が、 前記電荷転送用駆動装置が出力する画 素同期信号に合わせて、 全ての前記画素セルの前記受光素子の前記電荷を画素信号として 順番に出力することを特徴とするイメージセンサ。
1 9 . 複数のセンサモジュールを含むイメージセンサであって、
前記センサモジュールの各々が、
二次元格子状に配列された複数の画素セルと、
垂直シフトレジスタと、
水平シフトレジス夕と、
複数の列選択ゲートと、
複数のノイズキャンセラと、 出力増幅器と、
を含み、
前記画素セルの各々が、
光を電荷に変換する受光素子と、
前記電荷を電圧に変換する電荷増幅器と、
行選択ゲートと、
を含み、
前記センサモジュールの各々において、
前記垂直シフトレジスタの出力が、 少なくとも 1個の前記画素セルの前記行選択ゲート を導通させることと、
前記ノイズキャンセラの各々が、 少なくとも 1個の前記行選択ゲートを介して出力され た前記電圧のノイズを抑えることと、
前記水平シフトレジスタの出力が、 少なくとも 1個の前記列選択ゲートを導通させるこ とと、
前記出力増幅器が、 少なくとも 1個の前記列選択ゲートを介して出力された前記ノィズ キャンセラの出力を増幅することと、
により、
前記センサモジュールの各々が、 前記水平シフトレジス夕が出力する画素同期信号に合わ せて、 少なくとも 1個の前記画素セルの前記受光素子の前記電荷を画素信号として順番に 出力することを特徴とするイメージセンサ。
2 0 . 請求項 1 8又は 1 9記載のイメージセンサにおいて、
少なくとも 1個の前記センサモジュールが前記二次元格子状に配列された層と、 複数の AZD変換回路が前記二次元格子状に配列された層と、
複数のデジタル回路が前記二次元格子状に配列された層と、
が積層され、
複数の前記センサモジュールの各々が出力する前記画素信号が、複数の前記 AZD変換 回路のうちの相異なる 1個に入力されることと、
複数の前記 AZD変換回路の各々が、 前記画素信号を画素データに変換することと、 複数の前記 AZD変換回路の各々が出力する前記画素データが、複数の前記デジタル回 路のうちの相異なる少なくとも 1個に入力されることと、
により、
少なくとも 1個の前記センサモジュールの各々において、 少なくとも 1個の前記受光素子 が生成した前記電荷が、 前記画素同期信号に合わせて、 対応する 1個の前記デジタル回路 に前記画素データとして順次入力されることを特徴とするイメージセンサ。
PCT/JP2002/002110 2001-03-13 2002-03-07 Dispositif visuel, compteur asservi et capteur d'images WO2002073538A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP02702788A EP1378862B1 (en) 2001-03-13 2002-03-07 Visual device, interlocking counter, and image sensor
JP2002572118A JP4202146B2 (ja) 2001-03-13 2002-03-07 視覚装置
DE60238041T DE60238041D1 (de) 2001-03-13 2002-03-07 Visuelle einrichtung, verriegelnder zähler und bildsensor
US10/471,555 US20040051795A1 (en) 2001-03-13 2003-03-07 Visual device, interlocking counter, and image sensor
US11/778,957 US20080025593A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor
US11/779,017 US20080024667A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor
US11/778,988 US20080025567A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
JP2001-69886 2001-03-13
JP2001069886 2001-03-13
JP2001134921 2001-05-02
JP2001-134921 2001-05-02
JP2001160172 2001-05-29
JP2001-160172 2001-05-29
JP2001176755 2001-06-12
JP2001-176755 2001-06-12
JP2001229174 2001-07-30
JP2001-229174 2001-07-30
JP2001-321614 2001-10-19
JP2001321614 2001-10-19
JP2001388967 2001-12-21
JP2001-388967 2001-12-21

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US11/779,017 Division US20080024667A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor
US11/778,957 Division US20080025593A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor
US11/778,988 Division US20080025567A1 (en) 2001-03-13 2007-07-17 Visual device, interlocking counter, and image sensor

Publications (1)

Publication Number Publication Date
WO2002073538A1 true WO2002073538A1 (fr) 2002-09-19

Family

ID=27567025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/002110 WO2002073538A1 (fr) 2001-03-13 2002-03-07 Dispositif visuel, compteur asservi et capteur d'images

Country Status (6)

Country Link
US (5) US20040051795A1 (ja)
EP (1) EP1378862B1 (ja)
JP (4) JP4202146B2 (ja)
CN (1) CN1301491C (ja)
DE (1) DE60238041D1 (ja)
WO (1) WO2002073538A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100419668C (zh) * 2003-05-23 2008-09-17 日本电信电话株式会社 并行处理设备和并行处理方法
WO2016175234A1 (ja) * 2015-04-27 2016-11-03 ヤンマー株式会社 色画像処理方法、色画像処理プログラム、物体認識方法及び装置
US11275582B2 (en) * 2017-01-06 2022-03-15 Montana Systems Inc. Event-driven design simulation

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2403799B (en) * 2003-07-11 2006-04-12 Rolls Royce Plc Image-based measurement
JP4428067B2 (ja) * 2004-01-28 2010-03-10 ソニー株式会社 画像照合装置、プログラム、および画像照合方法
US7733298B2 (en) * 2004-10-19 2010-06-08 Hewlett-Packard Development Company, L.P. Display device
GB2431717A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Scene analysis
JP2009049979A (ja) * 2007-07-20 2009-03-05 Fujifilm Corp 画像処理装置、画像処理方法、画像処理システム、及びプログラム
JP4636130B2 (ja) * 2008-06-27 2011-02-23 ソニー株式会社 画像処理装置、撮像装置、画像処理方法、およびプログラム
US8405720B2 (en) * 2008-08-08 2013-03-26 Objectvideo, Inc. Automatic calibration of PTZ camera system
JP4702440B2 (ja) * 2008-11-27 2011-06-15 ソニー株式会社 情報処理装置、表示切替方法、及びプログラム
JP4748270B2 (ja) * 2009-01-30 2011-08-17 株式会社ニコン 画像処理装置および画像処理プログラム
US8184804B2 (en) * 2009-04-30 2012-05-22 Apple Inc. Hash function using a piling-up process
JP5656370B2 (ja) * 2009-07-01 2015-01-21 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法、およびプログラム
US9129409B2 (en) * 2009-07-29 2015-09-08 Qualcomm Incorporated System and method of compressing video content
US9106925B2 (en) * 2010-01-11 2015-08-11 Ubiquity Holdings, Inc. WEAV video compression system
JP2013530415A (ja) * 2010-04-22 2013-07-25 クォルコム・メムズ・テクノロジーズ・インコーポレーテッド 一体型プロセッサおよびメモリユニットを有するアクティブマトリクス画素
US8654226B2 (en) 2011-03-16 2014-02-18 Analog Devices, Inc. Clock gated power saving shift register
US9257468B2 (en) 2012-11-21 2016-02-09 Olympus Corporation Solid-state imaging device, imaging device, and signal reading medium that accumulates an amplified signal without digitization
JP5820627B2 (ja) 2011-06-09 2015-11-24 オリンパス株式会社 固体撮像装置、撮像装置、および信号読み出し方法
US9013615B2 (en) * 2011-09-21 2015-04-21 Semiconductor Components Industries, Llc Image sensor with flexible interconnect capabilities
WO2013049333A1 (en) * 2011-09-28 2013-04-04 Panavision Imaging System and method for delayed clock distribution in column-parallel a/d architectures used in cmos image sensors
JP5893417B2 (ja) * 2012-01-24 2016-03-23 キヤノン株式会社 解析装置、制御方法、およびプログラム
WO2013153657A1 (ja) * 2012-04-12 2013-10-17 株式会社 日立製作所 三相同期電動機駆動装置
CN104737527B (zh) * 2012-09-19 2018-06-22 富士胶片株式会社 图像处理装置、摄像装置及图像处理方法
US9854138B2 (en) * 2012-09-20 2017-12-26 Gyrus Acmi, Inc. Fixed pattern noise reduction
JP6404101B2 (ja) * 2013-12-05 2018-10-10 Ckd株式会社 配管継手、流体供給制御装置、及び配管接続構造
US10049469B2 (en) 2013-12-16 2018-08-14 Stc.Unm System and methods for computing forward and inverse discrete periodic radon transform
JP6355397B2 (ja) * 2014-04-10 2018-07-11 キヤノン株式会社 固体撮像素子その制御方法、電子機器、プログラム、記憶媒体
CN104218165A (zh) * 2014-08-20 2014-12-17 京东方科技集团股份有限公司 一种有机发光二极管器件及显示装置
CN107637064A (zh) 2015-06-08 2018-01-26 深圳市大疆创新科技有限公司 用于图像处理的方法和设备
US9809720B2 (en) * 2015-07-06 2017-11-07 University Of Massachusetts Ferroelectric nanocomposite based dielectric inks for reconfigurable RF and microwave applications
US10839992B1 (en) 2019-05-17 2020-11-17 Raytheon Company Thick film resistors having customizable resistances and methods of manufacture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01283677A (ja) * 1988-05-11 1989-11-15 Fujitsu Ltd 視覚認識装置
US5740463A (en) 1994-07-22 1998-04-14 Mitsubishi Denki Kabushiki Kaisha Information processing system and method of computation performed with an information processing system
WO2000016259A1 (fr) * 1998-09-10 2000-03-23 Ecchandes Inc. Dispositif visuel

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1258595A (ja) * 1969-06-23 1971-12-30
US3671875A (en) * 1971-05-20 1972-06-20 Bell Telephone Labor Inc Digitally operated signal regenerator and timing circuit
GB1454781A (en) * 1973-04-03 1976-11-03 Marconi Co Ltd Counter synchronization circuit
US4635292A (en) * 1983-12-19 1987-01-06 Matsushita Electric Industrial Co., Ltd. Image processor
JPS60179871A (ja) * 1984-02-27 1985-09-13 Nippon Telegr & Teleph Corp <Ntt> アレイプロセツサ
JPS6238677A (ja) * 1985-08-13 1987-02-19 Mitsubishi Electric Corp 固体撮像素子
US4805026A (en) * 1986-02-18 1989-02-14 Nec Corporation Method for driving a CCD area image sensor in a non-interlace scanning and a structure of the CCD area image sensor for driving in the same method
JPS63174356A (ja) 1987-01-14 1988-07-18 Agency Of Ind Science & Technol 画像処理用半導体装置
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
US4908751A (en) * 1987-10-15 1990-03-13 Smith Harry F Parallel data processor
US5144447A (en) * 1988-03-31 1992-09-01 Hitachi, Ltd. Solid-state image array with simultaneously activated line drivers
US4918742A (en) * 1988-04-22 1990-04-17 The Boeing Company Image processing using multi-pass convolution with small kernels
JPH01286620A (ja) * 1988-05-13 1989-11-17 Nec Corp n進カウンタ回路
US4920158A (en) * 1989-10-11 1990-04-24 Medipro Sciences Limited Hydrogel-forming wound dressing or skin coating material
US4972495A (en) * 1988-12-21 1990-11-20 General Electric Company Feature extraction processor
GB8901200D0 (en) * 1989-01-19 1989-03-15 Eev Ltd Camera using imaging array
JPH03227120A (ja) * 1990-01-31 1991-10-08 Nec Corp カウンタ回路
US5577262A (en) * 1990-05-22 1996-11-19 International Business Machines Corporation Parallel array processor interconnections
KR930005746B1 (ko) * 1990-10-13 1993-06-24 금성일렉트론 주식회사 지그재그 인터라인 고체 촬상소자
US5131054A (en) * 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
JPH04280677A (ja) * 1991-03-08 1992-10-06 Sony Corp 積層型固体撮像装置
US5274476A (en) * 1991-08-14 1993-12-28 Gold Star Electron Co., Ltd. CCD image sensor with photodiodes in a zig-zag pattern and particular transfer gate electrodes formed over channel stop regions and VCCD regions
JPH05121713A (ja) * 1991-10-28 1993-05-18 Olympus Optical Co Ltd 増幅型光素子を用いた3次元集積回路装置
JPH05324954A (ja) * 1991-11-28 1993-12-10 Nec Corp 駐車台数計数装置
JP3173851B2 (ja) * 1992-04-13 2001-06-04 三菱電機株式会社 Csd方式の固体撮像装置
JPH05327479A (ja) * 1992-05-18 1993-12-10 Oki Micro Design Miyazaki:Kk 半導体集積回路装置
DE4322343C2 (de) * 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
DE4225388C2 (de) * 1992-07-31 1996-08-14 Siemens Ag Schaltungsanordnung zur Synchronisierung von dezentralen Zählern
US5530650A (en) * 1992-10-28 1996-06-25 Mcdonnell Douglas Corp. Computer imaging system and method for remote in-flight aircraft refueling
JPH07177435A (ja) * 1993-12-17 1995-07-14 Nippon Steel Corp 高速視覚センサ装置
JP3247228B2 (ja) * 1993-12-17 2002-01-15 東京瓦斯株式会社 流体の画像処理解析装置
JPH07192663A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd 撮像装置
US5454018A (en) * 1993-12-30 1995-09-26 Sgs-Thomson Microelectronics, Inc. Counter circuit with automatic reset
JP3163215B2 (ja) * 1994-03-07 2001-05-08 日本電信電話株式会社 直線抽出ハフ変換画像処理装置
JP3639014B2 (ja) * 1994-10-21 2005-04-13 松下電器産業株式会社 信号処理装置
JP3424360B2 (ja) * 1994-12-08 2003-07-07 株式会社日立製作所 固体撮像装置
KR970705894A (ko) * 1995-06-23 1997-10-09 요트.게.아.롤페즈 CCD 이미저를 동작시키는 방법과 이러한 방법을 수행시키기에 적합한 CCD 이미저(Method Of operating a CCD imager, and CCD imager suitable for the imple-mentation of such a method)
JP2785782B2 (ja) * 1995-12-27 1998-08-13 日本電気株式会社 固体撮像装置
JP3436629B2 (ja) * 1996-01-08 2003-08-11 シャープ株式会社 表示および撮像のための装置
JPH09247535A (ja) * 1996-03-12 1997-09-19 Toshiba Corp 固体撮像装置
US6037577A (en) * 1997-03-11 2000-03-14 Kabushiki Kaisha Toshiba Amplifying solid-state image pickup device and operating method of the same
US6337713B1 (en) * 1997-04-04 2002-01-08 Asahi Kogaku Kogyo Kabushiki Kaisha Processor for image-pixel signals derived from divided sections of image-sensing area of solid-type image sensor
US6023753A (en) * 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
JP3260663B2 (ja) * 1997-07-23 2002-02-25 沖電気工業株式会社 ホール内表面の組成分布検出方法
JP3619352B2 (ja) * 1997-08-28 2005-02-09 株式会社ルネサステクノロジ 半導体集積回路装置
JPH11353288A (ja) * 1998-06-04 1999-12-24 Toshiba Corp 並列計算機及びメモリ装置
JP3632461B2 (ja) * 1998-09-21 2005-03-23 松下電器産業株式会社 画像認識方法
JP3439699B2 (ja) * 1998-11-05 2003-08-25 松下電器産業株式会社 増幅型固体撮像装置およびその駆動方法
JP2000184282A (ja) * 1998-12-15 2000-06-30 Canon Inc 撮像装置、撮像装置の駆動方法、画像処理方法、情報記録媒体、及び画像処理システム
US6970196B1 (en) * 1999-03-16 2005-11-29 Hamamatsu Photonics K.K. High-speed vision sensor with image processing function
JP2000278605A (ja) * 1999-03-29 2000-10-06 Canon Inc 撮像装置および画像処理システム
JP3987232B2 (ja) * 1999-04-14 2007-10-03 日本放送協会 Ccd型撮像素子の駆動方法およびccd型撮像装置
US6985182B1 (en) * 1999-11-22 2006-01-10 Matsushita Electric Industrial Co., Ltd. Imaging device with vertical charge transfer paths having appropriate lengths and/or vent portions
JP2001238435A (ja) * 2000-02-25 2001-08-31 Nec Corp 電圧変換回路
WO2001069919A1 (en) * 2000-03-10 2001-09-20 Datacube, Inc. Image processing system using an array processor
JP4589562B2 (ja) * 2000-05-11 2010-12-01 株式会社エッチャンデス 連動式カウンタ、カウンタネットワーク及び連動式信号分配回路
US6518805B2 (en) * 2000-10-04 2003-02-11 Broadcom Corporation Programmable divider with built-in programmable delay chain for high-speed/low power application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01283677A (ja) * 1988-05-11 1989-11-15 Fujitsu Ltd 視覚認識装置
US5740463A (en) 1994-07-22 1998-04-14 Mitsubishi Denki Kabushiki Kaisha Information processing system and method of computation performed with an information processing system
WO2000016259A1 (fr) * 1998-09-10 2000-03-23 Ecchandes Inc. Dispositif visuel

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1378862A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100419668C (zh) * 2003-05-23 2008-09-17 日本电信电话株式会社 并行处理设备和并行处理方法
WO2016175234A1 (ja) * 2015-04-27 2016-11-03 ヤンマー株式会社 色画像処理方法、色画像処理プログラム、物体認識方法及び装置
US11275582B2 (en) * 2017-01-06 2022-03-15 Montana Systems Inc. Event-driven design simulation

Also Published As

Publication number Publication date
CN1503959A (zh) 2004-06-09
EP1378862A4 (en) 2009-06-17
JP4589987B2 (ja) 2010-12-01
EP1378862B1 (en) 2010-10-20
US20040051795A1 (en) 2004-03-18
JP4202146B2 (ja) 2008-12-24
CN1301491C (zh) 2007-02-21
JP2008289179A (ja) 2008-11-27
US20080024639A1 (en) 2008-01-31
US20080024667A1 (en) 2008-01-31
EP1378862A1 (en) 2004-01-07
US20080025593A1 (en) 2008-01-31
JPWO2002073538A1 (ja) 2004-07-02
DE60238041D1 (de) 2010-12-02
JP2008259244A (ja) 2008-10-23
US20080025567A1 (en) 2008-01-31
JP2008243233A (ja) 2008-10-09
US7664220B2 (en) 2010-02-16
JP4625513B2 (ja) 2011-02-02

Similar Documents

Publication Publication Date Title
WO2002073538A1 (fr) Dispositif visuel, compteur asservi et capteur d&#39;images
US10547812B2 (en) Video capture device and method
Gehrig et al. Real-time semi-global matching on the CPU
US10326981B2 (en) Generating 3D images using multi-resolution camera set
US9532030B2 (en) Integrated three-dimensional vision sensor
CN111968208B (zh) 一种基于人体软组织网格模型的人体动画合成方法
Tran et al. GVLD: A fast and accurate GPU-based variational light-field disparity estimation approach
Hakkarainen et al. Interaction of algorithm and implementation for analog VLSI stereo vision
CN115496196A (zh) 连续数学算子的融合处理
JP3963424B2 (ja) 視覚装置
Schmidt et al. An optimized FPGA implementation for a parallel path planning algorithm based on marching pixels
Hu et al. 3D map reconstruction using a monocular camera for smart cities
Schmidt et al. A smart camera processing pipeline for image applications utilizing marching pixels
Saldana et al. FPGA-based customizable systolic architecture for image processing applications
WO2001041448A1 (fr) Systeme d&#39;acquisition de donnees, oeil artificiel, dispositif de vision, capteur d&#39;images, et appareil associe
Darabiha Video-rate stereo vision on reconfigurable hardware
Erten et al. Real time realization of early visual perception
Saukh et al. Subspace-Configurable Networks
Wu et al. Weakly-Supervised 3D Reconstruction of Clothed Humans via Normal Maps
JP2001184498A (ja) イメージセンサー
TW498290B (en) Information collection system, mechanical eyeball, vision device, image sensor, and interlocking device
Holm et al. First results of parallel global object reconstruction using digitized aerial photographs
Zhang Cellular GPU Models to Euclidean Optimization Problems: Applications from Stereo Matching to Structured Adaptive Meshing and Traveling Salesman Problem
Page et al. Simultaneous mesh simplification and noise smoothing of range images
He et al. A Skeleton Algorithm on Clusters for Image Edge Detection.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM 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 TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 028048334

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2002572118

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10471555

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2002702788

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002702788

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642