WO2006019165A1 - ラベルイメージの生成方法および画像処理システム - Google Patents

ラベルイメージの生成方法および画像処理システム Download PDF

Info

Publication number
WO2006019165A1
WO2006019165A1 PCT/JP2005/015163 JP2005015163W WO2006019165A1 WO 2006019165 A1 WO2006019165 A1 WO 2006019165A1 JP 2005015163 W JP2005015163 W JP 2005015163W WO 2006019165 A1 WO2006019165 A1 WO 2006019165A1
Authority
WO
WIPO (PCT)
Prior art keywords
identification information
pixel
pixels
labeling
pixel block
Prior art date
Application number
PCT/JP2005/015163
Other languages
English (en)
French (fr)
Inventor
Noriyasu Matsuno
Original Assignee
Ipflex 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 Ipflex Inc. filed Critical Ipflex Inc.
Priority to KR1020077005396A priority Critical patent/KR101199195B1/ko
Priority to JP2006531881A priority patent/JP4803493B2/ja
Priority to US10/590,778 priority patent/US7974471B2/en
Priority to EP05772583.0A priority patent/EP1783688B1/en
Priority to KR1020127011233A priority patent/KR101225146B1/ko
Publication of WO2006019165A1 publication Critical patent/WO2006019165A1/ja
Priority to US13/049,544 priority patent/US8208728B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Definitions

  • the present invention relates to labeling used for extracting image elements and the like.
  • Japanese Patent Application Laid-Open No. 7-192130 discloses performing a temporary labeling process in a labeling process using a one-dimensional SIMD (Single Instruction Stream Multiple Data Stream) type processor.
  • SIMD Single Instruction Stream Multiple Data Stream
  • the technique of this publication uses a one-dimensional SIMD type processor to execute temporary labeling processing in order on each line of an image.
  • Japanese Patent Laid-Open No. 2002-230540 discloses that a plurality of PEs of a one-dimensional SIMD processor perform a labeling process in parallel for each pixel in an oblique direction in a pixel array of an input image. Yes. By processing pixels in an oblique direction in parallel, the adjacent pixels necessary for determining whether or not the target pixel is connected are labeled before the target pixel. For this reason, the parallel processing function of SIMD type processors can be used effectively to increase the processing speed. To realize this method, a one-dimensional SIM D-type processor with several thousand PEs is required to scan in an oblique direction even for an image of about 200 DPI.
  • One embodiment of the present invention is a method for generating a label image, which includes the following steps.
  • a pixel block including a plurality of pixels adjacent to each other in multi-dimension is input as a unit from data including a plurality of pixels for forming an image.
  • the identification information common to all the ON / OFF pixels to be grouped included in the pixel block is labeled.
  • the pixel block is two-dimensionally adjacent to each other in two 2D 2 images. Consists of elements.
  • the pixel block is composed of eight pixels of 2 X 2 X 2 that are adjacent to each other in three dimensions. One pixel included in this pixel block is adjacent to another pixel included in the pixel block. Therefore, when pixels that make up an image are grouped by labeling common identification information for pixels connected in eight directions (eight connected) based on the binarized pixels, the group included in the pixel block is included. Common identification information can be labeled for all pixels in one state or value that are to be rubbed, ie, on or off (“1” or “0”).
  • Another embodiment of the present invention is an image processing system including the following.
  • An interface configured to input in parallel data including a plurality of pixels adjacent to each other in a multi-dimensional manner from data including a plurality of pixels for forming an image.
  • a labeling processor configured to label common identification information in parallel for all the ON / OFF pixels to be grouped included in the pixel block based on the binarized pixels.
  • the image processing system preferably includes a processor including a processing area that includes a plurality of processing elements and that includes a plurality of data paths that are operated in parallel by the plurality of processing elements.
  • the interface and labeling processor can be configured in the processing area of this processor, and can provide a processor capable of executing a process of inputting a plurality of pixels and a process of labeling a plurality of pixels in a pipeline manner.
  • Another embodiment of the present invention is an image processing method including the following.
  • a pixel block including a plurality of pixels adjacent to each other in multi-dimension is input as one unit from data including a plurality of pixels for forming an image. c2. Based on the binarized pixels, the identification information common to all the ON / OFF pixels to be grouped included in the pixel block is labeled.
  • Labeled image power also distinguishes image elements.
  • the feature value includes the primary or secondary moment, area, perimeter, density, spread, etc. of the image element.
  • the feature value of the image element includes volume, center of gravity, moment, and the like. Identifying image elements and determining their feature values is useful in many applications, including processes that require image recognition.
  • the label image can be used to determine the position and tilt of the installed parts for industrial robots that are automatically mounted. In automated driving devices, label images are used to recognize roads or obstacles. In 3D CT scans, the label image is used for processing or preprocessing to process the basic characteristics of the imaged object.
  • a process of generating a label image includes a first stage that scans an image, labels temporary identification information indicating a relationship with neighboring pixels, and generates combined information of the plurality of temporary identification information. Then, the temporary identification information and the combined state thereof can be divided into the second stage of labeling the true identification information indicating the image element.
  • the input process and the labeling process can be applied to both the first stage and the second stage, and the processing speed of each stage can be improved.
  • a first processing system that scans an image, labels temporary identification information, and generates combined information of the temporary identification information, and a true information indicating an image element based on the combined information
  • a second processing system for labeling the identification information.
  • the first processing system and the second processing system each include an interface and a labeling processor, and the labeling processor of the first processing system labels the temporary identification information as common identification information and performs the second processing.
  • System Labeling The processor labels true identification information as common identification information.
  • the image processing system preferably has a reconfigurable processor comprising a processing area and a control unit for reconfiguring the processing area.
  • the interface and labeling processor included in the system and the interface and labeling processor included in the second processing system can be configured in the processing area after the processing of the first processing system is completed. By reconfiguring the first processing system and the second processing system at different timings in the processing area, the hardware resources of the processor are effectively utilized, and a small and high-performance image processing system is provided. it can.
  • a reconfigurable integrated circuit device such as an FPGA equipped with a plurality of processing units is one of nodeware having a function capable of executing a large number of processes in parallel.
  • the reconfigurable integrated circuit device described in the applicant's international publication WO02Z095946 is an integrated circuit device suitable for an image processing system because the circuit configuration can be changed dynamically.
  • temporary identification information is labeled in units of pixel blocks. Accordingly, provisional identification information can be selected in units of pixel blocks rather than in units of individual pixels.
  • an adjacent pixel group including a pixel that touches the pixel block and is previously labeled with the temporary identification information is input. .
  • the following processing is performed in units of pixel blocks.
  • the adjacent pixel group contains temporary identification information that can be inherited, the temporary identification information is inherited as common identification information.
  • the adjacent pixel group contains temporary identification information that can be inherited elsewhere, record the combined information of the inherited temporary identification information and the uninherited temporary identification information.
  • the new and temporary identification information shall be common identification information.
  • the process of decoding the pixel block and the adjacent pixel group and the process of selecting and labeling the temporary identification information that can be inherited or the new temporary identification information are piped. It can be configured to perform in a line system.
  • the second step which is executed after the first stage, labels the true identification information as common identification information.
  • This stage includes an independent input process and a labeling process with respect to the first stage.
  • the true identification information common to the pixel blocks in the joint relationship is shared based on the joint information. Label as identification information.
  • identification information common to all the grouping target pixels included in the pixel block it is determined whether or not the grouping target pixels included in the pixel block are continuous or connected. Nah ... In the case of a pixel block that includes only 2 X 2 pixels that label the common identification information, these pixels are simply connected based on 8 connections. It is possible to label common identification information for pixels that are not necessarily connected by increasing the number of pixels included in the pixel block or by labeling common identification information in relation to pixel blocks. it can. This type of labeling enables rough grouping of pixels included in high-resolution image data. In other words, even non-connected pixels can be grouped under a predetermined condition.
  • the same identification information can be attached to the pixels included in the pixel block by batch processing in parallel, the processing speed for labeling is improved.
  • the process of labeling with this method does not include the process of converting the resolution of the image, so identification information that is roughly grouped is attached to high-resolution image data that does not degrade the accuracy of the image data. be able to.
  • At least one pixel block and an adjacent pixel group including at least one pixel block adjacent to the pixel block are input, and the pixel block and the adjacent pixel group are input. Both of which contain grouping target pixels
  • temporary identification information included in the adjacent pixel group can be inherited. If there is a pixel within the related range as a related range of pixel blocks, the temporary identification information is inherited even if the pixels are not connected or connected. Therefore, common identification information can be given to pixels having relevance in a range beyond connection.
  • Adjacent pixel group that also has block power is input, and if both the large pixel block and the adjacent pixel group include pixels to be grouped, temporary identification information included in the adjacent pixel group can be inherited.
  • This large pixel block includes four pixel blocks and is composed of 16 pixels. Therefore, the four pixel blocks and the six adjacent pixel blocks can be grouped by giving common identification information to the pixels belonging to the related range as the related range. With this type of labeling, 16 pixels can be labeled in parallel. For this reason, 40 pixels including large pixel blocks and adjacent pixel groups are processed in parallel. Therefore, it is a labeling method suitable for implementation on hardware (processor) having multiple processing elements that operate in parallel.
  • the power of inheritance logic becomes complex It is also possible to input multiple large pixel blocks and their related neighboring pixel groups and process them in parallel.
  • the true identification information common to the large pixel blocks in the coupling relationship is shared based on the coupling information.
  • Another embodiment of the present invention is a method for analyzing an image, and includes the following steps.
  • a pixel block including a plurality of pixels that are adjacent to each other in multi-dimensions is input as one unit.
  • the identification information common to all the ON / OFF pixels to be grouped included in the pixel block is labeled. e3. Repeat the calculation in units that include at least one pixel block to calculate the feature value of each image element.
  • the same identification information is collectively given to the pixels included in the pixel block in units of the pixel block. Therefore, since the pixel element is a set of pixel blocks, the feature value of each image element can be calculated by repeating the calculation in units including the pixel block. Also in the image processing system, it is desirable to have a first processor configured to repeat the operation in units including at least one pixel block and calculate the feature value of each image element. If the image processing system includes a reconfigurable processor, this first processor can also be reconfigured into the processing area at an appropriate timing after the processing of the first processing system is completed.
  • a method that further includes a step of calculating a block feature value contributing to a feature value of an image element in units of labeled pixel blocks in parallel with the labeling step is useful. Determining the feature value of each pixel block is meaningful as preprocessing for calculating and summing the feature values of the image elements grouped by the identification information.
  • the step of calculating the block feature value it is also possible to obtain a feature amount using binary pixels, and further, a block feature is obtained by multi-valued pixels included in the pixel block to be labeled. The value can be calculated.
  • the image processing system is supplied with data including pixel blocks from the interface in parallel with the labeling processor, and calculates block feature values that contribute to the feature values of the image element in units of labeled pixel blocks. It is desirable to further have a configured second processor.
  • the second sub-processor is preferably configured to calculate a value that contributes to the feature value of the image element from the multivalued pixels included in the pixel block to be labeled.
  • FIG. 1 shows how an image is scanned in units of pixel blocks.
  • FIG. 2 (a) shows an enlarged configuration of a pixel block and a pixel configuration of an adjacent pixel group, and FIG. 2 (b) shows an array of temporary identifiers (temporary IDs).
  • Fig. 3 shows a combination of the configuration of a pixel block and the configuration of an adjacent pixel group when a temporary identifier is selected.
  • FIG. 4 is a table collectively showing combinations of pixel block configurations and adjacent pixel group configurations when a temporary identifier is selected.
  • FIG. 5 shows how an image is scanned in units of large pixel blocks.
  • FIG. 6 shows an enlarged configuration of a large pixel block and a configuration of a pixel block of an adjacent pixel group
  • FIG. 6 (b) shows an array of temporary identifiers (temporary IDs).
  • FIGS. 7 (a) to 7 (d) show combinations of the configuration of a large pixel block and the configuration of adjacent pixel groups when selecting a temporary identifier.
  • FIG. 8 is a flowchart showing an outline of image processing.
  • FIG. 9 shows a schematic configuration of a reconfigurable processing apparatus suitable for image processing.
  • FIG. 10 (a) to (c) show the configuration of an image processing apparatus using a reconfigurable processing apparatus.
  • FIG. 11 shows a schematic configuration of a first stage interface and a labeling processor for labeling a temporary identifier.
  • FIG. 12 shows a schematic configuration of the logic part of the labeling processor shown in FIG.
  • FIG. 13 shows a schematic configuration of a processor (second processor) for analyzing shading.
  • FIG. 14 shows a schematic configuration of the threshold and value unit of the processor shown in FIG.
  • FIG. 15 shows an outline of grayscale data.
  • FIG. 16 shows a schematic configuration of a second stage interface and a labeling processor for labeling a true identifier.
  • FIG. 17 shows a schematic configuration of an analysis processor (first processor) that performs processing for extracting a maximum value in the Y direction.
  • FIG. 1 shows the basic concept of block labeling. Take a binary-coded two-dimensional image (binary image) 1 that is output (displayed, printed, etc.) in frame units.
  • This image 1 is a two-dimensional array of a plurality of pixels 5 having a value of “0” (off) or “1” (on).
  • information included in image data including these pixels 5 can be analyzed. From the information contained in image 1, image elements consisting of pixels 5 in a predetermined relationship are segmented or resolved, and automatic analysis of image 1 is performed, or specific components of image 1 are shown to the user for further analysis. Can be scraped to do.
  • the block labeling process enables rough grouping, so that even if pixels 5 are continuously continuous, even if there is a certain range or a certain distance relationship on the image, Be able to judge that it constitutes one component.
  • Rough grouping identifies pixels that are separated by a few pixels at most, including consecutive pixels, as the same group.
  • a configuration (component) of pixels with ON “1” can be regarded as an image element, and a configuration (component) of pixels with OFF “0” can also be captured as an image element. is there.
  • an image element is composed of pixels with ON “1”
  • the identification information is block-labeled with the pixel “1” as a grouping target.
  • Figures 1 and 2 show the block labels for pixels related to image elements with connected pixels. An example of belling is shown.
  • a label image in which identification information for distinguishing image elements is labeled to pixels, it is necessary to determine the connection state for a large number of pixels included in one image.
  • an image element In a two-dimensional image, an image element is a connected area that spreads in the two-dimensional direction. Retrieval of image elements in the 2D direction requires a huge amount of memory and is usually inefficient because of the high possibility of duplicate processing. Therefore, first, in a one-dimensional direction, a search is performed while determining whether or not there is a connection with a pixel to which the temporary identification information is previously labeled, and the temporary identification information is labeled.
  • the provisional identification information When labeling the provisional identification information while scanning the image, if the provisional identification information is subsequently linked, the provisional identification information is inherited and Join information is generated. When the scan of the image is completed and the combined information about the image is collected, the true identification information indicating the connected element is selected from the temporary identification information and the connection information, and a labeled image is generated again. To do.
  • This label image makes it possible to distinguish independent image elements, and can be used for various image processing.
  • the pixels 5 are not vertically or horizontally compared to being processed one-dimensionally, such as one pixel at a time.
  • Four pixels 5 adjacent to are processed in parallel as one unit (pixel block) 2.
  • This pixel block 2 has a 2 ⁇ 2 two-dimensional array, and the pixels 5 included in the pixel block 2 are adjacent to each other. Therefore, if 8 connections with connection directions in 8 directions are used as a base, if any of the multiple pixels 5 included in 1 pixel block 2 is “1”, it is not necessary to perform a new logical operation. All the pixels 5 included in 2 are connected and always have the same identification information, for example, identification data (identifier) such as a label.
  • identification data identifier
  • the scanning direction with the pixel block 2 as a unit does not affect either the top, bottom, left or right.
  • the adjacent pixel group 4 that is a target for determining the connection state of the pixels included in the elementary block 2 includes six pixels 5 adjacent to the upper side and the left side of the pixel block 2.
  • the data temporary identifier, temporary ID, or temporary label
  • the data for temporarily identifying the four pixels P included in the pixel block 2 is common, and these are included in the four pixels included in the pixel block 2. Label in parallel with pixel P.
  • the four pixels P (i, j), P (i, j + l), P (i + 1, j) and 4 data (temporary identifier, temporary ID or temporary label) for temporarily identifying P (i + 1, j + 1) PID (i, j), PID (i, j + l), PID (i + l, j) and PID (i + l, j + 1) are common. Therefore, the common identifier is labeled in parallel for a plurality of pixels.
  • the temporary identifier for pixel block 2 is the six pixels P (i—1, 1), P (i-1, j), P (i It is determined by referring to the temporary identifiers of —1, j + l), P (i —1, j + 2), P (i, j— 1) and P (i + 1, j— 1). This process is repeated while scanning the entire image 1 in units of pixel block 2.
  • the pixel 5 included in the pixel block 2 is referred to as the pixels gO to g3 in the above order
  • the pixel 5 included in the adjacent pixel group 4 is referred to as the pixels rO to r5 in the above order.
  • the pixel block 2 inherits the temporary identifier included in the adjacent pixel group 4 from the pixel state of the adjacent pixel group 4 and the pixel state of the pixel block 2.
  • FIG. 3 shows an example in which the temporary identifier labeled on the pixel 5 of the pixel block 2 is determined only by the state of the pixel gO at the upper left of the pixel block 2.
  • pixel gO of pixel block 2 is “0”, and inheritance of the temporary identifier is not determined only for pixel gO of pixel block 2.
  • the temporary identifier contained in the adjacent pixel group 4 is not inherited regardless of the state of the adjacent pixel group 4, and the pixel g3 is given a new temporary identifier.
  • the pixel gO of the pixel block 2 is “1”, and the pixels r0 to r2, r4, and r5 of the adjacent pixel group 4 are “0”. Therefore, for the pixel gO, the adjacent pixel group 4 does not include a temporary identifier to be inherited. However, depending on the state of the pixel r3 of the adjacent pixel group 4 and the pixel gl of the pixel block 2, the pixel block 2 may have a temporary identifier included in the adjacent pixel group 4. May be inherited. If there is no inheritable temporary identifier, a new temporary identifier is given to the pixel in pixel block 2 containing pixel gO.
  • the pixel gO force of the pixel block 2 is “1”.
  • temporary identifiers are labeled on the pixel rO and the pixel r2 of the adjacent pixel group 4. That is, the pixel rO and the pixel r2 of the adjacent pixel group 4 in the figure are “1”, and the adjacent pixel group 4 is preliminarily labeled with a temporary identifier. An identifier is given.
  • temporary identifiers are assigned to pixel r2 and pixel r5 of adjacent pixel group 4.
  • the ON “1” pixels in the adjacent pixel group 4 are not continuous (connected), and the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary identifiers labeled on these pixels may be different.
  • the temporary label that can be inherited as pixel block 2 is not limited to that associated with pixel gO.
  • the pixel gO of the pixel block 2 is “1”.
  • the pixel rO and the pixel rl of the adjacent pixel group 4 are “1”, and since these pixels rO and rl are connected, there is a high possibility that they have the same temporary identifier.
  • the pixel r4 of the adjacent pixel group 4 is “1” and has a temporary identifier.
  • the temporary identifier is inherited for pixel gO.
  • FIG. 4 shows combinations of pixels g 0 to g 3 related to determination of the temporary identifier of the pixel block 2 and combinations of adjacent pixel groups 4 corresponding thereto.
  • Combinations # 1 to # 5 inherit the power of the temporary identifier assigned to adjacent pixel group 4, and the temporary identifier is the pixel block. This shows the case attached to K.2.
  • the combination of the states of the adjacent pixel group 4 shown in FIG. 4 is a logical sum, and if a temporary identifier is added to the pixel indicated by “1”, either of the temporary identifiers is given. Is inherited as a temporary identifier of pixel block 2 depending on the state of the pixel of pixel block 2.
  • the above labeling is a strictly continuous extraction of components.
  • it is also meaningful to extract image elements by rough grouping that identifies intermittent components within a range of one pixel or several pixels. Since this rough grouping does not require strict continuity, image data that has become discontinuous in the range of one pixel or several pixels when data is converted into data by a scanner or the like. Therefore, it can be used to extract the components that are originally continuous.
  • image elements that are related to pixels can be extracted at high speed and without reducing the accuracy of the image data, so labeling that extracts continuous elements is used. Therefore, it can also be used as a pre-processing for analyzing images in earnest. For example, a high-resolution image is labeled on a low-resolution image to create a label image, a boundary position is provisionally determined, and then the original high-resolution image is labeled again on the area near the boundary. A high-resolution label image may be generated to determine the boundary position.
  • the labeling range for high resolution images can be limited. However, the low-resolution image data is only for provisional determination of the boundary position, and the data is coarse.
  • the boundary position can be provisionally determined at high speed without generating degraded image data.
  • the data resolution Therefore, the same image data can be used for high-precision grouping and for determining the feature values of image elements.
  • FIG. 5 and FIG. 6 show examples of rough grouping using block labeling.
  • This grouping can identify pixels for image elements that do not necessarily have connected pixels.
  • the pixel 5 to be grouped is an on “1” pixel as described above. Even in this rough grouping, when identifying the two-dimensionally arranged pixels 5, it is not necessary to process each pixel 5 independently.
  • a pixel processing unit, that is, pixel block 2 is assumed. In the rough grouping, if at least one of the pixels 5 included in the pixel block 2 is ON “1”, the pixel block 2 is treated as ON as a whole, and a plurality of adjacent pixel blocks 2 are processed. If at least one ON pixel 5 is included in both of them, all the ON pixels 5 included in the pixel block 2 have the same identification information (identifier, ID, or label value). .
  • the pixels 5 included in the pixel block 2 are adjacent to each other in two dimensions. Therefore, if any of the plurality of pixels 5 included in one pixel block 2 is “1”, it is not necessary to perform a logical operation on the positional relationship between the pixels. Pixels “1” 5 included in pixel block 2 are continuous or connected, and are always given the same identifier. Furthermore, if the pixel block 2 includes at least one “5” pixel 5, the pixel block 2 is on. If both adjacent pixel blocks 2 are on, a common identifier is given to all the pixels 5 included in those pixel blocks 2.
  • all the pixels included in the pixel block 2 are calculated by calculating the positional relationship of the pixel block 2 and not calculating the positional relationship of the individual pixels 5 included in the pixel block 2. Can be grouped. For this reason, the number of pixels that can be labeled in parallel increases, and the processing time spent for labeling can be shortened.
  • FIGS. 5 and 6 In the rough grouping shown in FIGS. 5 and 6, four pixel blocks 2 adjacent in the vertical and horizontal directions are labeled in parallel as one large pixel block 3, that is, a pixel processing unit, and a label image is displayed. Is to be generated.
  • the large pixel block 3 includes four 2 ⁇ 2 pixel blocks 2 adjacent to each other in two dimensions. Therefore, if any one of the plurality of pixel blocks 2 included in one large pixel block 3 is on, no new logical operation is required. So These pixel blocks 2 are on, and a common identifier is labeled to the pixels 5 included in these pixel blocks 2. For this reason, 16 pixels 5 of 2 X 2 X 4 can be processed in parallel by performing a dulling process with the large pixel block 3 as a unit, and the relationship between these 16 pixels 5 It is possible to omit processing for performing logical operation.
  • Pixel 5 included in large pixel block 3 has a distance relationship within the range of two pixel blocks 2, and is considered to be identified as belonging to a group of pixels connected by such a relationship. be able to. Further, when both the large pixel block 3 and the pixel block 2 adjacent to the large pixel block 3 include the ON pixel 5, a common identifier is included in the large pixel block 3 and the pixel block 2. It can be understood that by labeling the existing pixel 5, a grouping having a distance relationship within the range of up to three pixel blocks 2 is performed.
  • the scanning direction with the large pixel block 3 as a unit does not affect either the top, bottom, left or right.
  • the search is performed from the left to the right (Y direction) of the image 1 shown in FIG. Therefore, the adjacent pixel group 4 for which the relationship with one large pixel block 3 is determined is composed of six pixel blocks 2 adjacent to the upper and left sides of the large pixel block 3.
  • FIGS. 6A and 6B show the configuration of the pixel block 2 included in the large pixel block 3 and the adjacent pixel group 4.
  • the large pixel block 3 is composed of pixel blocks B L5, 6, 8, and 9 (hereinafter, each pixel block 2 is indicated by BL), and each pixel block has a temporary identifier PID5. 6, 8, and 9 are common.
  • the temporary identification values of the six small pixel blocks BL0 to BL4 and 7 included in the adjacent pixel group (adjacent pixel block group) 4 PID 0-4 and 7 are referenced.
  • FIGS. 7A to 7D show that the large pixel block 3 is changed to the adjacent pixel group 4 from the on / off state of the pixel block 2 of the adjacent pixel group 4 and the on / off state of the pixel block 2 of the large pixel block 3. It shows an algorithm for inheriting and labeling the included temporary identifier or labeling a new temporary identifier.
  • FIG. 7A all of the pixel blocks 2 included in the large pixel block 3 are zero. That is, since the large pixel block 3 does not include the ON pixel 5 to be grouped, the process of labeling the temporary identifier is not performed (NOP).
  • all the pixel blocks 2 included in the adjacent pixel group 4 are 0, and the large pixel block 3 includes ON pixels.
  • the neighboring pixel group 4 does not include the ON pixel 5 to be grouped, and does not include a temporary identifier that can be inherited. Therefore, a new temporary identifier is given to all the pixels 5 of the pixel block 2 included in the large pixel block 3. That is, a new temporary identifier force S that is common to the ON pixels 5 included in the large pixel block 3 is labeled.
  • the non-adjacent pixel block 2 is ON, and the large pixel block 3 includes ON pixels. .
  • the pixel block 2 of the large pixel block 3 inherits any of the plurality of temporary identifiers possessed by the adjacent pixel group 4, and the inherited temporary identifier is labeled to the pixel 5 of the large pixel block 3.
  • the pixel block 2 of the adjacent pixel group 4 is included in the common group via the large pixel block 3. Therefore, there is a possibility that a new connection relationship may occur in the temporary identifier of the pixel block 2 of the adjacent pixel group 4, and the connection information of the temporary identifier in which the connection relationship has occurred is output.
  • the adjacent pixel block 2 is ON, and the large pixel block 3 includes ON pixels. . Therefore, the temporary identifier of the adjacent pixel group 4 is commonly assigned to the pixel 5 of the pixel block 2 of the large pixel block 3. In the adjacent pixel group 4, since the adjacent pixel block 2 is on, the same temporary identifier has already been given to the pixel block 2, and a new connection relationship does not occur. [0049]
  • the algorithm shown in FIG. 7 performs grouping by assigning a common temporary identifier as belonging to the same group if it is included in the large pixel block 3 even if the pixel block 2 is not adjacent. Is.
  • a common temporary identifier is assigned to the pixels 5 included in the range of up to three small pixel blocks 2.
  • the algorithm shown in Fig. 7 it is possible to adopt an algorithm that assigns a common temporary identifier only to pixel block 2 that is completely adjacent.
  • the algorithm is the same as that described above with reference to FIGS. 3 and 4 and labels a common temporary identifier for the pixels 5 included in the range of two pixel blocks 2 at the maximum.
  • the condition of the large pixel block 3 is summarized as whether or not the large pixel block 3 includes the ON pixel 5. Therefore, the state of the large pixel block 3 can be determined by calculating the logical sum of the 16 pixels 5 included in the large pixel block 3.
  • the state of adjacent pixel group 4 is determined by the ON state of pixel block 2 included in adjacent pixel group 4, and the state of each pixel block 2 is the logical sum of four pixels 5 included in each pixel block 2. This can be determined by calculation. Therefore, the process of labeling the temporary identifier can be executed in a pipeline manner by hardware having the capability or function of performing a logical OR on a plurality of pixel data in parallel.
  • a pixel group included in a high-resolution image can be grouped at high speed without reducing the resolution of the high-resolution image.
  • the image boundaries are recognized at high speed.
  • Software and an image processing apparatus can be provided, and the image accuracy can be maintained, so that the characteristic value of the image element can be obtained with high accuracy.
  • FIG. 8 is a flowchart showing an example of processing for analyzing an image using block labeling.
  • main data input / output is indicated by a one-dot chain line.
  • the image processing 10 generates a label image and calculates a feature value of an image element distinguished from the label image.
  • the process of generating the label image 25 included in the image processing 10 is a first process of scanning the image and attaching temporary identification information (temporary identifier, temporary ID, temporary label) to the pixel group constituting the image element.
  • the pixels grouped by the block labeling are not limited to pixels connected to each other, and may be pixels that are not connected or have a predetermined relationship. Therefore, the image elements distinguished by the image processing 10 are not limited to those composed of connected pixels.
  • the image processing 10 further includes an analysis stage 13 for extracting feature values of image elements formed by grouped pixel groups.
  • This image processing 10 further includes a first step of labeling a temporary identifier in order to extract a feature value even in the case of a multi-value or gradation expression (grayscale) image that is not just a binary image.
  • a step 14 of calculating a block feature value of a pixel block composed of multi-valued pixels is provided.
  • the first stage 11 for labeling the temporary identifier includes the pixel data 29 including a plurality of pixels for forming an image, the 16 pixel data included in the large pixel block 3, and the adjacent pixels adjacent thereto. It has an input process 100 for acquiring 24 pixel data of group 4 and providing them to the labeling process 200 below. Further, the first stage 11 includes a labeling process 200 for labeling a temporary identifier common to the 16 pixels 5 included in the large pixel block 3. In the input process 100, in step 101, the data of the pixel 5 included in the large pixel block 3 is input from the pixel data file 29.
  • the multi-value pixel data 5 acquired from the pixel data file 29 is binarized in step 103. This step is not necessary if the pixel data in file 29 has already been binarized. Further, the data of the pixel 5 of the adjacent pixel group 4 that has been previously labeled with the temporary identifier S and temporarily stored in the buffer (buffer memory) 28, and the data of the temporary identifier labeled with these pixels 5 Is obtained at Step 104! /.
  • step 201 the conditions of the large pixel block 3 and the adjacent pixel group 4 are logically calculated, and in step 202, the presence or absence of a temporary identifier that can be inherited is determined.
  • the algorithm for inheriting the temporary identifier is as described with reference to Figs. 7 (a) to (d). If adjacent pixel group 4 contains only one temporary identifier that can be inherited (condition dl), in step 205, the temporary identifier is inherited and labeled as a common temporary identifier for pixel 5 of large pixel block 3. , And output to the temporary label image file 27 in units of large pixel block 3. Further, temporary identifier information included in the adjacent pixel group 4 required for processing of the subsequent large pixel block 3 is temporarily stored in the buffer memory 28 that can be accessed at high speed in units of the pixel block 2.
  • step 203 When adjacent pixel group 4 includes a plurality of temporary identifiers that can be inherited or should be inherited (condition d2), in step 203, combined information for the plurality of temporary identifiers is recorded. That is, the combined information of the temporary identifier inherited to the pixel 5 of the large pixel block 3 and the other identifiers that are not inherited is output to the combined information file 26. Further, in step 205, the temporary identifier succeeded to the pixel 5 of the large pixel block 3 is labeled and output to the temporary label image file 27.
  • a new temporary identifier is generated in step 204, and the new identifier is assigned to pixel 5 of large pixel block 3 in step 205. Label and output to temporary label image file 27. In this manner, a temporary label image in which temporary identifiers are labeled on the pixels constituting the input image is generated.
  • the first stage 11 of labeling this temporary identifier The data of 40 pixels Pi included in the large pixel block 3 and the adjacent pixel group 4 are read in parallel.
  • the labeling process 200 a process of labeling a temporary identifier for a grouping target pixel (in this example, an ON or “1” pixel) among the 16 pixels Pi included in the large pixel block 3 is performed.
  • the input process 100 and the labeling process 200 can be executed in a pipeline manner by making them hardware as a series of processes.
  • a step 201 for decoding the input 40 pixel Pi and a step 205 for labeling the temporary identifier determined thereby are executed in a pipeline manner. These processes can be implemented in hardware as described. Therefore, the process of the first stage 11 for labeling temporary identifiers for the 16 pixels 5 included in the large pixel block 3 can be executed substantially in one clock.
  • the hardware is configured as the first stage 11 so that the processing of these steps 203 and 204 is processed in parallel with the step 201 for calculating inheritance or the step 205 for labeling. It is possible to execute the processing of the first stage 11 without delaying the pipeline that reads and labels 16 pixels.
  • the multi-valued data of the pixel 5 included in the large pixel block 3 to which the temporary identifier is labeled is converted. Analyze and calculate shading information in large pixel block 3 units.
  • the gray level information in units of blocks is compressed as a block feature value to the unit of large pixel block 3 (in this example, 1Z16) and output to the block feature value file 22. Since the 16 temporary pixels 5 included in the large pixel block 3 are labeled with the same temporary identifier, the same true identifier is labeled later to form the same pixel element.
  • grayscale information for example, maximum / minimum density, average, etc.
  • grayscale data for example, maximum / minimum density, average, etc.
  • the grayscale information of the image element can be obtained, and the processing time for analyzing the grayscale information can be shortened.
  • the pixel 5 included in the large pixel block 3 is input from the processing pixel data 29.
  • the process of accessing the pixel data file 29 to calculate the grayscale information can be omitted by obtaining the grayscale information in units of the large pixel block 3 in parallel with the first stage 11.
  • the processing time for analyzing can be shortened.
  • the combined information power accumulated in the combined information file 26 also generates the integrated table 23.
  • Step 203 if the adjacent pixel group 4 includes a pixel 5 labeled with a different temporary identifier, a pair of a temporary identifier inherited by the pixel of the large pixel block 3 and an unsuccessful temporary identifier is paired. Is recorded in the combined information file 26.
  • the inherited temporary identifier and the unsuccessful temporary identifier are identification information indicating the same group (image element). For this reason, in the second stage 12, the identifier (true identifier) finally belonging to the same group is labeled again on the pixel 5 on which those temporary identifiers are labeled. Therefore, it is necessary to integrate the inherited temporary identifier and the unsuccessful temporary identifier in advance, and in step 15, the integration table 23 is generated.
  • a common true identifier (true label) is allocated to the temporary identifiers labeled to the pixels belonging to the same group from the combined information 26 of the temporary identifier, and the temporary identifier and the true identifier are assigned.
  • An integrated table 23 showing the correspondence of The integrated table 23, for example, can use a temporary identifier as an address and read a corresponding true identifier.
  • the integrated table 23 can be converted into a true identifier by referring to the temporary identifier as an address.
  • the combination of a plurality of temporary identifiers indicates that pixels labeled with a plurality of temporary identifiers are connected if the process is to extract an image element in which the pixels are connected.
  • the combination of a plurality of temporary identifiers does not necessarily mean that pixels labeled with a plurality of temporary identifiers are connected. However, these pixels have a predetermined range of relevance.
  • the true identifier is labeled on the pixel data stored in the temporary label image file 27 to generate a label image (true label data). And output to label image file 25.
  • Temporary label images can also be recorded in bitmap format. Recording in units of pixel block 2 with a common temporary identifier, and further in units of large pixel block 3, saves memory space, and in the second stage 12, pixel data is read in units of large pixel block 3. It is easy to put out.
  • step 121 the pixel data included in the temporary label image data 27 is input in parallel in units of large pixel blocks 3.
  • step 122 if unprocessed pixels remain in the temporary label image data 27, the temporary identifier of the large pixel block 3 is converted into a true identifier in step 123 by referring to the integration table 23. Using the identifier as a common identifier, the pixels 5 included in the large pixel block 3 are labeled in parallel. As a result, label data composed of pixels 5 having a predetermined relationship and labeled with a true identifier for identifying an independent image element is generated and output to the label image file 25. Also in the step 123 of labeling the true identifier, a common true identifier is labeled in parallel for the grouping target pixels included in the large pixel block 3 unit.
  • the analysis stage 13 is executed.
  • analysis is performed in units of large pixel block 3, and the block feature value is calculated.
  • step 132 the process of counting the block feature values of the large pixel block 3 having the same true identifier is repeated, and the feature value for each image element is calculated.
  • a feature value that can also calculate a binary pixel or a binary data force can be calculated in units of a pixel block or a large pixel block based on temporary label image data 27 obtained by labeling a binary pixel with a temporary identifier.
  • the block feature value of large pixel block 3 is obtained in stage 14 as described above. Therefore, by summing up in step 133, feature values related to the shading of each image element can also be calculated.
  • the feature value includes the area, the center of gravity, and the vertical and horizontal dimensions of the image element.
  • the true identifier is based on the labeled label image 25. Therefore, instead of calculating feature values for each image element, block feature values can be aggregated for each image element by referring to the integration table 23. Therefore, if there are sufficient hardware resources, the hardware can be configured to execute the analysis stage 13 in parallel with the second stage 12.
  • the first stage 11 for labeling the temporary identifier and the second stage 12 for labeling the true identifier are executed in this order. These processes (steps) do not overlap for the same image.
  • the analysis stage 13 may be executed after the second stage 12 or may be executed in parallel.
  • the second stage 12 that labels the true identifier and the analysis stage 13 can be executed in parallel after step 15 of generating the integration table 23 is completed.
  • the execution timings of the first stage 11 and the second stage 12 do not overlap. Therefore, the image processing 10 is executed while reconfiguring the circuit for executing the first stage 11 and the circuit for executing the second stage 12 by reconfigurable hardware. Thus, hardware resources can be used efficiently.
  • the image processing 10 can process a large number of pixel data in parallel, thereby reducing the processing time. Therefore, the processing 10 is implemented in a processor that includes a plurality of processing elements and includes a processing area in which a plurality of data paths that are operated in parallel by the plurality of processing elements. Processing time can be reduced. It is desirable that the processing element has a logic operation function of a certain scale and is included in a reconfigurable integrated circuit device.
  • the processing device 30 shown in FIG. 9 is an example of reconfigurable hardware, and includes an area where a circuit can be dynamically reconfigured.
  • the processing device 30 includes a matrix area (processing area) 31 in which various data paths can be configured by connecting processing elements (hereinafter referred to as EXE) 32 having a certain degree of arithmetic function, for example, ALU. Further, the processing device 30 controls the connection of the EXE 32 in the matrix 31 to dynamically configure the data path, the RAM 34 in which the hardware information (configuration information) of the data path configured in the matrix 31 is recorded, Data processed by matrix 31 circuit And a buffer 35 for temporarily recording. Further, the processing device 30 is provided with an interface for inputting / outputting data to / from the external memory 36.
  • EXE processing elements
  • a processing device that can configure a data path that operates in parallel by connecting multiple EXE32s is suitable for processing multiple pixel data in parallel, and is a hardware resource suitable for image processing 10. is there.
  • the connection of EXE32 in the matrix area 31 (hereinafter referred to as matrix) 31 of the processing device 30 is reconfigured so that each stage 11 to 13 of the image processing 10 is executed in order, so that the dedicated processing for performing the image processing 10 is performed.
  • an image processing system 50 that executes the image processing 10 using the processing device 30 will be described. If hardware resources such as EXE32 in the matrix 31 are sufficient, the processing device 30 can simultaneously execute other processing than just image processing related to labeling.
  • FIGS. 10A to 10C show how the matrix 31 that is a processing area is reconfigured so that the processing device 30 functions as the image processing system 50.
  • FIG. In order to cause the processing device 30 to function as the image processing system 50, in this example, three types of configuration information 51 to 53 are prepared in advance and stored in the configuration RAM 34 of the processing device 30. Then, the controller 33 changes the configuration of the matrix 31 at an appropriate timing, and executes the image processing 10.
  • FIG. 10 (a) shows a matrix 31 so that the first stage 11 and the process 14 for analyzing multi-valued pixel data in units of large pixel blocks 3 are executed in parallel according to the first configuration information 51. Indicates a reconfigured state.
  • FIG. 10 (a) shows a matrix 31 so that the first stage 11 and the process 14 for analyzing multi-valued pixel data in units of large pixel blocks 3 are executed in parallel according to the first configuration information 51. Indicates a reconfigured state.
  • FIG. 10 (b) shows a state in which the matrix 31 is reconfigured so as to execute the process of generating the integration table by the second configuration information 52.
  • FIG. 10C shows a state in which the matrix 31 is reconfigured so that the second stage 12 and the analysis stage 13 are executed in parallel by the third configuration information 53.
  • an interface having a configuration for executing the process 100 input by the first stage 11 is added to the matrix region 31 of the processing device 30 according to the first configuration information 51.
  • a labeling processor (labeling engine) 55 having a configuration for executing the labeling process 200 is configured.
  • an analysis processor having a configuration for executing step 14 for analyzing multivalued pixel data in the matrix region 31 according to the first configuration information 51.
  • Analysis engine, second processor and a peripheral circuit 57 including a circuit for supplying data from the interface 54 to the labeling processor 55 and the analysis processor 56 are configured.
  • the interface 54 has a function of inputting pixel data included in the large pixel block 3 in parallel and a function of inputting temporary identifier data of the adjacent pixel group 4.
  • the labeling processor 55 includes a function 55a for calculating and determining the inheritance of the temporary identifier, a function 55b for labeling the temporary identifier, a function 55c for outputting the combined information of the inherited temporary identifier and the uninherited temporary identifier, And a function 55d for generating a temporary identifier.
  • a function for labeling temporary identifiers 55b uses the inherited temporary identifier or the new U ⁇ temporary identifier as a common temporary identifier, and performs parallel labeling on all ON pixels 5 to be grouped included in the large pixel block 3. To do.
  • FIG. 11 shows in more detail the outline of the circuit configured in the matrix 31 by the first configuration information 51.
  • the interface 54 loads the pixel data included in the large pixel block 3 from the pixel data file 29 in the external memory 36, and binarizes the binary data by the binary key circuit 61 and supplies it to the labeling processor 55.
  • multi-value pixel data is supplied to the processor 56 for analysis.
  • the temporary identifier (temporary ID) of the adjacent pixel group 4 is obtained from the nota 28 and supplied to the labeling processor 55.
  • the labeling processor 55 includes a logic circuit 65 that calculates a logical sum of data supplied from the interface 54, a look-up table (LUT) 66 that determines whether there is a temporary ID to be inherited based on the result of the logical sum, A selector 67 for selecting a temporary ID and a selector 68 for selecting combined information are provided.
  • LUT look-up table
  • the logic circuit 65 calculates 10 values based on the logical sum of each of the 10 pixel blocks 2 (BLO to BL9 in FIG. 6) corresponding to the large pixel block 3 and the adjacent pixel block 2. Generates address 79 with The LUT 66 uses the value 79 as an address input and outputs the microcode stored there as an ID control signal 71.
  • the microcode 71 controls various logics including the selectors 67 and 68.
  • the data generation circuit 69 that performs labeling labels the temporary IDs in parallel for the 16 pixels 5 included in the large pixel block 3.
  • the data generation circuit 69 adds the selected temporary ID 72 to the binary 16 pixel data supplied from the interface circuit 54 to obtain 1-word (32-bit) block pixel data 73. Output.
  • Block pixel data The data 73 includes an ID 73d and 16 pieces of pixel data 73p. Therefore, the labeling for the 16 pixel data contained in the large pixel block 3 is batched as one word data and processed in parallel.
  • the temporary label image data output to the temporary label image file 27 is composed of block pixel data 73.
  • FIG. 12 shows a schematic circuit configuration until the labeling processor 55 generates and outputs block pixel data 73 from the supplied pixel data.
  • the interface 54 actually uses the pixel data 29 stored in the line buffer 35 from the external memory 36 to the pixel data included in the large pixel block 3 and its adjacent pixel group (adjacent pixel block group) 4. Is cut out by a shift register and a mask circuit. For example, the pixel data 5 of the lines LiO to 5 and columns Co0 to 7 shown in FIGS. 5 and 6 is loaded. These 40 bits of 40-bit pixel data can be read in 1 clock (1 cycle) if a sufficient bus width can be secured.
  • the logic circuit 65 of the labeling processor 55 calculates the logical sum of the pixel data 5 of the 0th line Li 0 and the 1st line Lil by the OR circuit 65a, and the blocks BL0 to 3 are turned on, that is, Determine that each block has at least one ON pixel.
  • the OR circuit 65b calculates the logical sum of the pixel data 5 of the second line Li2 and the third line Li3, and determines the ON state of the blocks BL4-6.
  • the OR circuit 65c calculates the logical sum of the pixel data 5 of the fourth line Li4 and the fifth line Li5, and determines the ON state of the blocks B L7-9.
  • the state of the adjacent pixel group 4 and the state of the pixel block 3 can be determined from the calculation results of these OR circuits 65a, 65b and 65c. Therefore, the OR of the outputs of these OR circuits 65a, 65b, and 65c is further calculated by the OR circuit 65d, and the OR result of 10 pixel blocks BL0 to BL9 is generated as a 10-bit address input 79. Supply to LUT66. As a result, an appropriate microcode for the LUT66 force is output as the ID control signal 71.
  • the LUT 66 can be configured using RAM elements provided in advance in the matrix area 31.
  • a series of processes of loading the pixel data 5 and calculating the logical sum in order and outputting the ID control signal 71 with such a circuit configuration are performed sequentially without returning.
  • the pixel data related to one or more large pixel blocks 3 can be parallelized by configuring a number of parallel processing data paths using a large number of elements 32 arranged in the reconfigurable matrix 31.
  • pipeline processing can be performed. Therefore, at least one large pixel block 3, that is, a temporary ID of at least 16 pixels can be determined in one clock (one cycle).
  • the data generation circuit 69 includes information for 16 pixels included in one large pixel block 3, and information of a temporary ID commonly assigned to them, and is 1 word length (32 bits).
  • Block pixel data 73 is generated and output to the temporary label image file 27 as temporary label image data.
  • the block pixel data 73 can further include position information of the large pixel block 3, characteristic values of the large pixel block 3 calculated for the information power of 16 pixels, and the like.
  • the data for the 16 pixels included in the large pixel block 3 and the provisional ID data 72 labeled on them are supplied to the data generation circuit 69.
  • the provisional ID data 72 of the large pixel block 3 is supplied to the data generation circuit 69 by the ID control signal 71 of the LUT 66, the pixel data of the large pixel block 3 is input and a certain amount of computation time is required. It becomes.
  • the data for 16 pixels loaded by the input interface 54 is supplied to the data generation circuit 69 via an appropriate delay circuit or pipeline register, thereby synchronizing with the temporary ID data 72 of the large pixel block 3. Can be supplied to the data generation circuit 69. Therefore, in the labeling processor 55, processing from loading the pixel data of the large pixel block 3 from the line buffer 35 to labeling and outputting the temporary ID to the pixel data can be executed in a pipeline manner.
  • the temporary ID is determined for at least one large pixel block 3, that is, at least 16 pixels, in substantially one clock, and the temporary ID is labeled.
  • Temporary label image data can be output. Therefore, the image processing device 50 can group at least 16 pixels in one cycle, and can perform image processing at a speed that is at least ten times as fast as the process of labeling in units of one pixel.
  • pixel data 73p having the original resolution is stored, and the resolution of the analyzed image is not deteriorated.
  • FIG. 13 shows a schematic configuration of the processor 56 that extracts the feature quantity in units of the large pixel block 3.
  • the analysis processor 56 is supplied with 16 pixels of original data included in one large pixel block 3 cut out from the line buffer 35 by the interface 54, that is, grayscale (multi-value) pixel data. Is done. Each pixel data is judged by the threshold value processing unit 62 as to whether or not the data gives the maximum or minimum of shading. The 16-pixel data subjected to the threshold processing is calculated by the selectors 63a and 63b, and the maximum value and the minimum value are calculated. If there is no error in the calculation of the maximum value and the minimum value, the density data 74 is output to the block feature value file 22 through the gate circuit 63d.
  • FIG. 14 shows a circuit configuration for performing threshold processing for one pixel in the threshold processing unit 62.
  • the pixel data 29p for one pixel is compared with the first threshold value 62b by the comparator 62a, and it is determined that the pixel data 29p is significant when the pixel data 29p is larger than the first threshold value 62b.
  • the carry 62x is asserted, and the pixel data 29p is output as data for comparing the maximum values by the selector 62e.
  • “0” is output from the selector 62e and is ignored as the maximum value.
  • the pixel data 29p is compared with the second threshold value 62d by the comparator 62c, and it is determined that the pixel data 29p is significant if the pixel data 29p is smaller than the second threshold value 62d.
  • carry 62y is asserted, and pixel data 29p is output as data for comparing the minimum value by selector 62f.
  • “FF” is output from the selector 62f and ignored as the minimum value.
  • the logical sum is calculated by the circuit 62g, and further, the logical sum including the comparison result of the other pixels is calculated by the circuit 62h.
  • the analysis processor 56 outputs grayscale information 74 in units of the large pixel block 3.
  • the block feature data 74 which is the shade information in units of blocks, has a one-to-one correspondence with the block pixel data 73. Therefore, by subsequently counting based on the temporary identifier (temporary ID) and the integrated table 23, it is possible to obtain the feature value (shading information) for each image element.
  • the matrix 31 is reconfigured by the second configuration information 52 so as to generate an integrated table, as shown in FIG. 10 (b).
  • the combined information file 26 a temporary identifier inherited to the pixel of the large pixel block 3 and an uninherited temporary identifier paired therewith are recorded. Therefore, as the next step for generating the label image, an integrated table 23 is generated that gives the same true identifier (true ID) to one or more temporary identifier pairs in a connected relationship.
  • the algorithm for generating the integration table 23 from the combined information file 26 is as follows.
  • the combined information file 26 a plurality of entries indicating the combination of two temporary IDs are recorded.
  • the integrated table 23 can read the corresponding true label by accessing the temporary ID as an address.
  • the nth entry in the binding information file 26 are “a” and “b”, the nth entry is stored in the group queue.
  • h2 Store the entry from the head of the group queue, for example, the pair of “a” and “b” in the comparison target register.
  • the group queue power reads the next entry, stores it in the comparison target register, and performs the same operation.
  • the information stored in the integrated table 23 is obtained for one true ID.
  • the grouping is complete.
  • the n + 1st entry is also read from the combined information file 26 and the same operation is performed.
  • the combined information once stored in the group queue is not stored again in the group queue.
  • a unique true ID is assigned to each temporary ID.
  • the integrated table 23 is generated by the above operation.
  • the second configuration information 52 configures a data node for executing the above algorithm in the matrix region 31.
  • the matrix 31 is reconfigured to execute the second stage 12 by the third configuration information 53, as shown in FIG. 10 (c).
  • the matrix 31 is reconfigured to execute the analysis stage 13.
  • an interface 59 for inputting block pixel data 73 having a temporary ID 73d and pixel data 73p from the temporary label image file 27 in order to execute the second stage 12 A labeling processor (labeling engine) 60 for relabeling the temporary ID to the true ID is configured.
  • a circuit 81 that decodes the block pixel data 73 and calculates a characteristic value in units of the large pixel block 3, and a block unit characteristic
  • An analysis processor (analysis engine, first processor) 80 for calculating a feature value for each image element word is configured, including a circuit 82 for collecting values based on the integrated table 23.
  • FIG. 16 shows a circuit example of a labeling processor 60 that inputs block pixel data 73 and refers to the integration table 23 to label a true identifier (true ID, true label) in units of large pixel block 3. It is shown.
  • the interface circuit 59 accesses the temporary label image file 27 to obtain block pixel data 73.
  • the block pixel data 73 includes 16 pieces of pixel data 73p constituting the large pixel block 3, and these pixel data are input in parallel.
  • the true identifier labeling processor 59b accesses the integrated table 23 using the temporary ID 73d of the block pixel data 73 as an address, and acquires the true ID.
  • the element 32 of the matrix 31 is used as a selector that operates in parallel, and is labeled to the on “1” pixel to be grouped. Set the pixel to “0” and label image file Output to isle 25.
  • the labeling processor 60 can also output block pixel data obtained by rewriting the ID value 73d of the block pixel data 73 from the temporary ID to the true ID as label image data.
  • the true ID is labeled in parallel for the data 73p for 16 pixels in parallel.
  • FIG. 17 shows a circuit example of the analysis processor 80.
  • This circuit 80 implements a logic for obtaining the maximum value in the Y coordinate direction.
  • This circuit 80 is a first circuit 81 for obtaining a feature value (maximum value) of each large pixel block 3 by using a decoder, and summing them by a true ID, and the maximum value of the pixels grouped by the true ID.
  • a second circuit 82 for obtaining The first circuit 81 includes a decoder 83 that converts block pixel data 73 including data for 16 pixels into data 73p for 16 pixels into control data, and a feature value for each large pixel block 3 based on the control data. That is, a selector 84 for obtaining the maximum value in the Y coordinate direction is provided.
  • the second circuit 82 converts the temporary ID 73d of the block pixel data 73 into a true ID using the integration table 23, and uses the true ID as an address to access the Y—Max table 85.
  • Y—Max table IZF86 and the maximum value are selected.
  • the selector 87 receives the Y coordinate maximum value of true ID obtained from the table 85 via the Y—Max table I / F 86 and the Y coordinate obtained by the selector 84 as input, and selects the maximum value. Further, the selector 87 outputs the new maximum value to the Y—Max table 85 via the I / F 86 and updates the maximum value.
  • the analysis processor 80 further reads the subsequent block pixel data 73 and compares the true ID via the integrated table 23. If the true ID is the same, the analysis processor 80 writes the subsequent block pixel data 73 before writing to the table 85.
  • a circuit 89 for obtaining the maximum value including the data 73 is provided. This circuit 89 shortens the processing time when block pixel data 73 with the same true ID continues. Can shrink. Since the analysis processor 80 performs a read 'modify' write process on the Y—Max table 85, it is necessary to assume a situation where the same true ID is continuously input, and the pipeline latency increases. End up. By adding the circuit 89 in this figure and reading and comparing the subsequent block pixel data 73 in advance, the latency of the feedback path can be reduced from 5 cycles to 3 cycles.
  • the image processing method 10 and the image processing device 50 described above can group non-adjacent pixels according to a desired rule.
  • the processing method and processing apparatus for labeling only the connected pixels are proposed in an almost common configuration by changing the logic for labeling the temporary identifier to the one described with reference to FIGS. Can be provided.
  • the basic small pixel block 2 is composed of four adjacent pixels. When grouping related pixels in a longer range, the basic pixel block is composed of five or more pixels. It may be configured.
  • the power of large pixel block 3 composed of four adjacent pixel blocks 2 When grouping related pixels in a longer range, a large pixel block is composed of five or more pixel blocks 2. You may do it.
  • binarizing pixels it is not limited to monochrome, and each color component of a power image can be binarized.
  • block labeling can be applied not only to 2D images but also to 3D images. In this case, as described above, a basic pixel block is composed of 8 pixels adjacent to each other. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

 画像エレメントを構成する画素を識別するために、画素に識別情報がラベリングされたラベルイメージを生成する際に、画像を形成するための複数の画素を含むデータから、2次元で相互に隣接する4つの画素を含む画素ブロックを1つの単位として入力する。その画素ブロックに含まれる、グルーピング対象のオンの全ての画素に共通の識別子をラベリングする。画素ブロックに含まれるオンの画素は必ず連結しているので、連結の有無を演算することなく共通の識別子をラベリングできる。

Description

ラベルイメージの生成方法および画像処理システム 技術分野
[0001] 本発明は、画像エレメントを抽出するためなどに用いられるラベリングに関するもの である。
背景技術
[0002] 2次元画像の処理の基本手法として、連結画素成分ごとに異なるラベルを付けるラ ベリング処理が知られている。特開平 7— 192130号公報には、 1次元 SIMD (Single Instruction stream Multiple Data stream)型プロセッサを用いてラベリング処理にお ける仮ラベリング処理を行うことが開示されている。この公報の技術は、 1次元 SIMD 型プロセッサを用いて、仮ラベル付けの処理を画像の各行に順に実行する。
[0003] また、特開 2002— 230540号公報には、 1次元 SIMD型プロセッサの複数の PEに 対して入力画像の画素配列における斜め方向の画素毎に並列にラベリング処理を 行うことが開示されている。斜め方向の画素を並列に処理することにより、注目画素 の連結の有無を判定するのに必要な隣接画素については注目画素よりも先にラベリ ング処理が行われる。このため、 SIMD型のプロセッサの並列処理機能を有効に利 用して処理速度を高められるとしている。この方法を実現するためには、 200DPI程 度の画像でも、斜め方向にスキャンしょうとすると数 1000の PEを備えた一次元 SIM D型プロセッサが必要となる。
発明の開示
[0004] 本発明の 1つの形態は、ラベルイメージを生成する方法であって、以下の工程を有 する。
al. 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接す る複数の画素を含む画素ブロックを 1つの単位として入力する。
a2. 2値化された画素に基づき、画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングする。
[0005] 2次元画像であれば、画素ブロックは、 2次元で相互に隣接する、 2 X 2の 4つの画 素により構成される。また、 3次元画像であれば、画素ブロックは、 3次元で相互に隣 接する、 2 X 2 X 2の 8つの画素により構成される。この画素ブロックに含まれる 1つの 画素は、画素ブロックに含まれる他の画素と隣接する。したがって、 2値化された画素 に基づき、 8方向に連結(8連結)される画素に対し共通の識別情報をラベリングする ことにより、画像を構成する画素をグルーピングする場合、画素ブロックに含まれるグ ルービング対象の画素、すなわち、オンまたはオフ(「1」または「0」)の、一方の状態 または値の画素の全てに対して共通の識別情報をラベリングできる。したがって、画 素ブロックに含まれるグルーピング対象の画素に対しては、個々に識別情報を与える 処理は不要となり、画素ブロックに含まれる複数の画素を並列に処理することが可能 となる。このため、識別情報がラベリングされた画素を含むラベルイメージを生成する 処理の速度を向上できる。
[0006] 本発明の他の 1つの形態は、画像処理システムであり、以下を有する。
bl. 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接し 、画素ブロックを構成する複数の画素を含むデータを並列に入力するように構成され たインターフェイス。
b2. 2値化された画素に基づき、画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に対し、共通の識別情報を並列にラベリングするように構成 されたラベリングプロセッサ。
[0007] この画像処理システムは、画素ブロックを構成する複数の画素が並列に入力され、 それら複数の画素に対し共通の識別情報が並列にラベリングされる。この画像処理 システムは、複数の処理エレメントを含み、それら複数の処理エレメントにより並列に 稼動する複数のデータパスが構成されるプロセッシング領域を備えたプロセッサを有 することが好ましい。インターフェイスおよびラベリングプロセッサは、このプロセッサ のプロセッシング領域に構成でき、複数の画素を入力する処理と、複数の画素に対 してラベリングする処理とをパイプライン方式で実行可能なプロセッサを提供できる。
[0008] 本発明の他の 1つの形態は、画像処理方法であって、以下を含む。
cl. 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接す る複数の画素を含む画素ブロックを 1つの単位として入力する。 c2. 2値化された画素に基づき、画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングする。
c3. ラベリングされた画像力も画像エレメントを区別する。
[0009] 画像エレメントを区別することにより、画像エレメントを識別したり、抽出したり、画像 エレメントの特徴値を算出できる。特徴値 (特徴量)には、画像エレメントの 1次または 2次のモーメント、面積、周囲長、濃度、広がりなどが含まれる。 3次元画像であれば、 画像エレメントの特徴値には、体積、重心、モーメントなどが含まれる。画像エレメント を識別したり、それらの特徴値を求めることは、画像の認識が要求される処理を含む 多くのアプリケーションにおいて有効である。ラベルイメージにより、自動装着を行う 産業用のロボットにお 、ては、取り付けられた部品の位置や傾きなどを判断できる。 自動走行装置において、ラベルイメージは、道路あるいは障害物を認識するために 用いられる。 3次元 CTスキャンにおいて、ラベルイメージは、撮像された物体の基本 的な特徴を処理するための処理またはその前処理に用いられる。
[0010] ラベルイメージを生成する処理を、画像をスキャンして近傍の画素との関係を示す 仮の識別情報をラベリングし、複数の仮の識別情報の結合情報を生成する第 1の段 階と、仮の識別情報およびそれらの結合状態から、画像エレメントを示す真の識別情 報をラベリングする第 2の段階とに分けて行なうことができる。この第 1の段階および 第 2の段階のいずれにも、上記の入力する工程と、ラベリングする工程を適用でき、 それぞれの段階の処理速度を向上できる。
[0011] 画像処理システムにおいては、画像をスキャンして仮の識別情報をラベリングし、仮 の識別情報の結合情報を生成する第 1の処理システムと、結合情報に基づき画像ェ レメントを示す真の識別情報をラベリングする第 2の処理システムとを有するシステム を提供できる。第 1の処理システムおよび第 2の処理システムは、それぞれインターフ ェイスとラベリングプロセッサとを含み、第 1の処理システムのラベリングプロセッサは、 仮の識別情報を共通の識別情報としてラベリングし、第 2の処理システムのラベリング プロセッサは、真の識別情報を共通の識別情報としてラベリングする。この画像処理 システムは、プロセッシング領域と、このプロセッシング領域を再構成するための制御 ユニットとを備えた再構成可能プロセッサを有することが望ましい。第 1の処理システ ムに含まれるインターフェイスおよびラベリングプロセッサと、第 2の処理システムに含 まれるインターフェイスおよびラベリングプロセッサとを、プロセッシング領域に、第 1 の処理システムの処理が終了した後に構成できる。プロセッシング領域に、第 1の処 理システムと、第 2の処理システムとを異なるタイミングで再構成することにより、プロ セッサのハードウェア資源が有効活用され、小型で高性能の画像処理システムを提 供できる。
[0012] 複数のプロセッシングユニットを搭載した FPGAなどの再構成可能な集積回路装置 は多数の処理を並列に実行できる機能を備えたノヽードウエアの 1つである。本出願人 の国際公開 WO02Z095946号に記載された再構成可能な集積回路装置は、ダイ ナミックに回路構成を変更できるので、画像処理システムに適した集積回路装置であ る。
[0013] 仮の識別情報をラベリングする第 1の段階および第 1の処理システムにおいて、画 素ブロックの単位で仮の識別情報をラベリングする。したがって、個々の画素の単位 ではなぐ画素ブロックの単位で仮の識別情報を選択できる。仮の識別情報をラベリ ングする第 1の段階および第 1の処理システムにおいては、画素ブロックと共に、画素 ブロックに接し、先行して仮の識別情報がラベリングされた画素を含む隣接画素群を 入力する。また、仮の識別情報をラベリングするために、画素ブロックの単位で以下 の処理を行う。
dl. 隣接画素群が承継可能な仮の識別情報を含む場合は、その仮の識別情報を 共通の識別情報として承継する。
d2. 隣接画素群が他に承継可能な仮の識別情報を含む場合は、承継した仮の識 別情報と未承継の仮の識別情報との結合情報を記録する。
d3. 隣接画素群が承継可能な仮の識別情報を含まな 、場合は、新 、仮の識別 情報を共通の識別情報とする。
[0014] この仮の識別情報をラベリングするプロセッサにおいては、画素ブロックおよび隣接 画素群をデコードする処理と、承継可能な仮の識別情報または新 、仮の識別情報 を選択してラベリングする処理をパイプライン方式で行うように構成できる。また、第 1 の段階の後に実行される、真の識別情報を共通の識別情報としてラベリングする第 2 の段階は、第 1の段階に対して独立した入力する工程およびラベリングする工程を含 み、ラベリングする工程では、結合情報に基づき、結合関係にある画素ブロックに共 通する真の識別情報を共通の識別情報としてラベリングする。
[0015] 画素が連続あるいは連結した画像エレメントを区別するための識別情報がラベリン グされた画像を生成できる。そのためには、第 1の段階および第 1の処理システムに おいて、 2次元で相互に隣接する 4つの画素からなる画素ブロックと、その画素ブロッ クの隣り合う 2辺に隣接する 6つの画素力もなる隣接画素群とを入力し、画素ブロック および隣接画素群の双方に、画素が連続する画像エレメントを構成する画素が含ま れている場合に、隣接画素群に含まれる仮の識別情報を承継する。複数の画素プロ ックと、それらに関連する隣接画素群とを入力して、それらに含まれる、連結した画像 エレメントを構成する画素に対して仮の識別情報をラベリングすることも可能である。
[0016] 画素ブロックに含まれるグルーピング対象の画素の全てに共通の識別情報をラベリ ングする方式においては、画素ブロックに含まれるグルーピング対象の画素が連続 あるいは連結されて 、る力否かは判断されな 、。共通の識別情報をラベリングする範 囲が 2 X 2の画素のみを含む画素ブロックの場合は、それらの画素が 8連結に基づく 連結状態になるだけである。画素ブロックに含まれる画素の数を多くしたり、画素プロ ック同士の関連で共通の識別情報をラベリングすることにより、必ずしも連結していな い画素に対して共通の識別情報をラベリングすることができる。このような方式のラベ リングにより、高解像度の画像データに含まれる画素に対してラフなグルーピングが 可能である。すなわち、連結してない画素に対しても、所定の条件でグルーピングす ることができる。さらに、画素ブロックに含まれる画素に対して一括して、並列処理に より、同じ識別情報を付すことができるので、ラベリングのための処理速度は向上する 。そして、この方式でラベリングする過程は、画像の解像度を変換する処理を含まな いので、画像データの精度を劣化させることはなぐ高解像度の画像データに対して 、ラフにグルーピングした識別情報を付すことができる。
[0017] 第 1の段階および第 1の処理システムにおいて、少なくとも 1つの画素ブロックと、そ の画素ブロックに隣接する少なくとも 1つの画素ブロックを含む隣接画素群とを入力し 、画素ブロックおよび隣接画素群の双方に、グルーピング対象の画素が含まれてい る場合に、隣接画素群に含まれる仮の識別情報を承継することができる。画素ブロッ ク同士を関連する範囲として、その関連する範囲内に画素があれば、画素が連絡あ るいは連結していなくても、仮の識別情報が承継される。したがって、連結を超えた 範囲の関連性を備えた画素に共通の識別情報を与えることができる。
[0018] 第 1の段階および第 1の処理システムにおいて、 2次元で相互に隣接する 4つの画 素ブロック力らなる大画素ブロックと、その大画素ブロックの隣り合う 2辺に隣接する 6 つの画素ブロック力もなる隣接画素群とを入力し、大画素ブロックおよび隣接画素群 の双方に、グルーピング対象の画素が含まれている場合に、隣接画素群に含まれる 仮の識別情報を承継することができる。この大画素ブロックは 4つの画素ブロックを含 んでおり、 16個の画素により構成される。したがって、 4つの画素ブロックと、それに 隣接する 6つの画素ブロックとを関連する範囲として、その関連する範囲に属する画 素に共通の識別情報を与えて、グルーピングすることができる。この方式のラベリング では、 16個の画素に対して並列にラベリングすることができ、そのために、大画素ブ ロックと隣接画素群を含んで 40個の画素を並列に処理する。したがって、並列に動 作する複数の処理エレメントを有するハードウェア (プロセッサ)に実装するのに適し たラベリング方式である。承継のロジックが複雑になる力 複数の大画素ブロックと、 それらに関連する隣接画素群とを入力して並列に処理することも可能である。
[0019] また、真の識別情報をラベリングする第 2の段階および第 2の処理システムにおい ても、結合情報に基づき、結合関係にある大画素ブロックに共通する、真の識別情報 を共通の識別情報し、大画素ブロックに含まれる全てのグルーピング対象の画素に ラベリングすることができる。したがって、仮の識別情報を統合して再ラベリングする処 理においても、 16個の画素あるいはそれ以上の数の画素に対して、並列に識別情 報をラベリングできる。
[0020] 本発明の他の 1つの形態は、画像を解析する方法であって、以下の工程を有する。
el . 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接す る限られた複数の画素を含む画素ブロックを 1つの単位として入力する。
e2. 2値化された画素に基づき、画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングする。 e3. 少なくとも 1つの画素ブロックを含む単位で演算を繰り返して、各々の画像エレ メントの特徴値を算出する。
[0021] ラベリングする工程では、画素ブロックの単位で、その画素ブロックに含まれる画素 に対して一括で同じ識別情報が付される。したがって、画素エレメントは、画素ブロッ クの集合になるので、画素ブロックを含む単位で演算を繰り返すことにより、各々の画 像エレメントの特徴値を算出できる。画像処理システムにおいても、少なくとも 1つの 画素ブロックを含む単位で演算を繰り返して、各々の画像エレメントの特徴値を算出 するように構成された第 1のプロセッサを有することが望ましい。画像処理システムが 再構成可能なプロセッサを含む場合は、この第 1のプロセッサも、第 1の処理システム の処理が終了した後の適当なタイミングで、プロセッシング領域に再構成することが 可能である。
[0022] さらに、ラベリングする工程と並列に、ラベリングされる画素ブロックの単位で、画像 エレメントの特徴値に寄与するブロック特徴値を算出する工程をさらに有する方法は 有用である。各々の画素ブロックの特徴値を求めることは、識別情報によりグルーピ ングされる画像エレメントの特徴値を集計して求めるための前処理として意味を持つ 。このブロック特徴値を算出する工程においては、 2値ィ匕画素を用いて特徴量を求め ることも可能であり、さらに、ラベリングされる画素ブロックに含まれる多値の画素によ り、ブロック特徴値を算出できる。したがって、濃淡の情報を含む多値の画素により特 徴値を求める処理を、ラベリングする処理、特に、仮の識別情報をラベリングする処 理と並列に実行することが可能となり、ラベリングされた情報に基づいて、濃淡情報を 含む画像データに再アクセスする処理時間を省くことができる。
[0023] 画像処理システムは、インターフェイスからラベリングプロセッサと並列に画素ブロッ クを含むデータが供給され、ラベリングされる画素ブロックの単位で、画像エレメント の特徴値に寄与するブロック特徴値を算出するように構成された第 2のプロセッサを 、さらに有することが望ましい。そして、第 2のサブプロセッサは、ラベリングされる画素 ブロックに含まれる多値の画素により、画像エレメントの特徴値に寄与する値を算出 するように構成されることが望ま 、。
図面の簡単な説明 [0024] [図 1]図 1は、画素ブロックの単位で画像をスキャンする様子を示す。
[図 2]図 2 (a)は、画素ブロックの構成と、隣接画素群の画素の構成を拡大して示し、 図 2 (b)は仮識別子 (仮 ID)の配列を示す。
[図 3]図 3 (a)カゝら (d)は、仮識別子を選択する際の画素ブロックの構成と隣接画素群 の構成との組合せを示す。
[図 4]図 4は、仮識別子を選択する際の画素ブロックの構成と隣接画素群の構成の組 合せを纏めて示すテーブル。
[図 5]図 5は、大画素ブロックの単位で画像をスキャンする様子を示す。
[図 6]図 6 (a)は、大画素ブロックの構成と、隣接画素群の画素ブロックの構成を拡大 して示し、図 6 (b)は仮識別子 (仮 ID)の配列を示す。
[図 7]図 7 (a)から (d)は、仮識別子を選択する際の大画素ブロックの構成と隣接画素 群の構成との組合せを示す。
[図 8]図 8は、画像処理の概略を示すフローチャート。
[図 9]図 9は、画像処理に適した再構成可能な処理装置の概略構成を示す。
[図 10]図 10 (a)から (c)は、再構成可能な処理装置を用いた画像処理装置の構成を 示す。
[図 11]図 11は、仮識別子をラベリングする第 1のステージのインターフェイスおよびラ ベリングプロセッサの概略構成を示す。
[図 12]図 11に示すラベリングプロセッサのロジック部分の概略構成を示す。
[図 13]図 13は、濃淡を解析するプロセッサ (第 2のプロセッサ)の概略構成を示す。
[図 14]図 13に示すプロセッサのしき 、値ユニットの概略構成を示す。
[図 15]図 15は、濃淡データの概要を示す。
[図 16]図 16は、真識別子をラベリングする第 2のステージのインターフェイスおよびラ ベリングプロセッサの概略構成を示す。
[図 17]図 17は、 Y方向の最大値を抽出する処理を行う解析プロセッサ (第 1のプロセ ッサ)の概略構成を示す。
発明を実施するための最良の形態
[0025] 1. ブロックラベリングの基本的な概念 図 1にブロックラベリングの基本的な概念を示してある。フレーム単位で出力(表示、 印刷など)される 2値ィ匕された 2次元の画像(2値画像) 1を例とする。この画像 1は、「0 」(オフ)または「1」(オン)の値を持つ複数の画素 5が 2次元に配列されたものである。 これらの画素 5に識別情報をラベリングしたラベルイメージを生成することにより、これ らの画素 5を含む画像データに含まれる情報を分析することができる。画像 1に含ま れる情報から、所定の関係にある画素 5からなる画像エレメントを区分け、あるいは分 解し、画像 1の自動分析を行ったり、画像 1の特定の成分をユーザに示してさらなる 分析が行えるよう〖こすることができる。
[0026] 従来のラベリングは、画素 5が連続または連結した成分 (エリア、要素、本明細書で は画像エレメント)を区分けするために使用されていた。このブロックラベリングは、画 素 5が連続した画像エレメントを区分けするために使用でき、さらに、不連続であって も一定の関係を持った画素 5からなる画像エレメントを区分けするためにも使用できる 。本明細書においては、不連続であっても一定の関係を持った画素 5を識別すること を、連続した画素 5を識別することも含めてグルーピングと称し、特に、不連続であつ ても一定の関係を持った画素 5を識別することをラフなグルーピングと称することがあ る。ブロックラベリング処理は、ラフなグルーピングを可能とし、これにより、画素 5が連 続して ヽな 、場合であっても、ある範囲ある 、はある距離の関連性が認められたとき に画像上の 1つの成分を構成するものとして判断できるようにする。ラフなグルーピン グは、連続している画素を含め、多くても数画素の範囲で離れている画素を同一のグ ループとして識別する。
[0027] 2値画像において、オン「1」の画素による構成 (成分)を画像エレメントとして捉える ことが可能であり、オフ「0」の画素による構成 (成分)を画像エレメントとして捉えること も可能である。以下では、オン「1」の画素により画像エレメントを構成する例を説明す る。したがって、「1」の画素をグルーピングの対象として識別情報をブロックラベリング する例を説明している。し力しながら、同様の方法により「0」の画素をグルーピングの 対象としてブロックラベリング処理することも可能である。
[0028] 1. 1 画素が連結した画像エレメントの識別
図 1および図 2に、画素が連結した画像エレメントに関する画素に対してブロックラ ベリングする例を示している。画像エレメントを区別するための識別情報が画素にラ ベリングされたラベルイメージを生成する処理においては、 1つの画像に含まれる多 量の画素に対して連結状態を判断する必要がある。 2次元画像において、画像エレ メントは 2次元方向に広がりのある連結された領域である。画像エレメントを 2次元方 向に検索することは膨大なメモリを必要とし、処理が重複する可能性が高 、ので通常 は非効率的である。したがって、まず、 1次元方向に、先に仮の識別情報がラベリン グされた画素との連結の有無を判断しながらサーチして仮の識別情報をラベルする 。画像をスキャンしながら仮の識別情報をラベリングする際に、後発的に仮の識別情 報が連結される状態になると、一方の仮の識別情報が承継され、他方の仮の識別情 報との結合情報が生成される。画像のスキャンが終了し、その画像についての結合 情報が纏まると、仮の識別情報とその連結情報から、連結されたエレメントを示す真 の識別情報を選択して、再度、ラベリングしたラベル画像を生成する。このラベル画 像により、独立した画像エレメントを区別することが可能となり、種々の画像処理に使 用することができる。
[0029] ブロックラベリングの過程においては、 2次元に配列された画素 5をラベリング処理 する際に、画素 5を 1つ 1つ独立して、あるいは一行単位といった一次元で処理する のではなぐ上下左右に隣接した 4つの画素 5を 1つの単位(画素ブロック) 2として並 列に処理する。この画素ブロック 2は 2 X 2の 2次元の配列を持ち、画素ブロック 2に含 まれる画素 5は相互に隣接している。したがって、八方に連結方向がある 8連結をべ ースにすると、 1つの画素ブロック 2に含まれる複数の画素 5のいずれ力が「1」であれ ば、新たに論理演算する必要はなぐ画素ブロック 2に含まれる全ての画素 5は連結 しており、必ず同じ識別情報、例えばラベルなどの識別データ (識別子)が付される。 このため、画素ブロック 2を単位としてラベリングすることにより、 2 X 2の 4つの画素 5を 並列処理するメリットと、それら 4つの画素 5の関係を論理演算する処理を省くことが できるというメリットとを同時に得ることができる。
[0030] 画素ブロック 2を単位としてスキャンする方向は、上下左右どちらでも力まわない。
本例においては、図 1に示した画像 1の左力も右 (Y方向)をスキャン方向とし、上から 下 (X方向)をサブスキャン方向としてブロックラベリングする例を説明する。 1つの画 素ブロック 2に含まれる画素の連結状態を判断する対象となる隣接画素群 4は、画素 ブロック 2の上側および左側に隣接する 6つの画素 5により構成される。ブロックラベリ ングにおいては、画素ブロック 2に含まれる 4つの画素 Pを仮に識別するためのデー タ (仮識別子、仮 IDまたは仮ラベル)は共通であり、それらを画素ブロック 2に含まれ る 4つの画素 Pに並列にラベリングする。
[0031] 図 2 (a)および (b)に示すように、画素ブロック 2に含まれる 4つの画素 P (i, j)、 P (i, j + l)、 P (i+ 1, j)および P (i+ 1, j + 1)を仮に識別するための 4つのデータ (仮識別 子、仮 IDまたは仮ラベル) PID (i, j)、 PID (i, j + l)、 PID (i+ l, j)および PID (i+ l , j + 1)は共通となる。したがって、その共通の識別子を複数の画素に対し並列にラ ベリングする。画素ブロック 2の仮識別子は、先に仮識別子がラベリングされている隣 接画素群 4に含まれる 6つの画素 P (i— 1,ト 1)、 P (i - 1, j)、 P (i—1, j + l)、 P (i —1, j + 2)、 P (i, j— 1)および P (i+ 1, j— 1)のそれぞれの仮識別子を参照すること により決まる。画像 1の全体を画素ブロック 2の単位でスキャンしながら、この処理を繰 り返す。以降では、説明を簡単にするために、画素ブロック 2に含まれる画素 5を上記 の順番で画素 gO〜g3として参照し、隣接画素群 4に含まれる画素 5を上記の順番で 画素 rO〜r5として参照する。
[0032] 図 3 (a)〜図 3 (d)に、隣接画素群 4の画素の状態と、画素ブロック 2の画素の状態 から、隣接画素群 4に含まれる仮識別子を画素ブロック 2が承継する例を示して ヽる。 なお、図 3では、画素ブロック 2の左上の画素 gOの状態のみにより、画素ブロック 2の 画素 5にラベリングされる仮識別子が決まる例を示している。図 3 (a)では、画素ブロッ ク 2の画素 gOが「0」であり、画素ブロック 2の画素 gOのみでは、仮識別子の承継が決 まらない。他の画素 glおよび g2も「0」で右下の画素 g3のみが「1」であれば隣接画 素群 4の状態に関わらず、隣接画素群 4に含まれる仮識別子は承継されず、画素 g3 には新しい仮識別子が与えられる。
[0033] 図 3 (b)では、画素ブロック 2の画素 gOが「1」で、隣接画素群 4の画素 r0〜r2、 r4お よび r5が「0」である。したがって、画素 gOについては、隣接画素群 4には承継する仮 識別子は含まれていない。し力しながら、隣接画素群 4の画素 r3と、画素ブロック 2の 画素 glの状態によっては、画素ブロック 2としては隣接画素群 4に含まれる仮識別子 を承継する可能性がある。承継可能な仮識別子がなければ、新しい仮識別子が、画 素 gOを含む、画素ブロック 2の画素に与えられる。
[0034] 図 3 (c)に示した左右のケースでは、画素ブロック 2の画素 gO力「1」である。左側の ケースでは、隣接画素群 4の画素 rOおよび画素 r2に仮識別子がラベリングされて ヽ る。すなわち、図中の隣接画素群 4の画素 rOおよび画素 r2は「1」であり、隣接画素 群 4は先行して仮識別子がラベリングされているので、これらの画素 rOおよび r2には 事前の仮識別子が与えられている。右側のケースでは、隣接画素群 4の画素 r2およ び画素 r5に仮識別子が付されている。さらに、これら隣接画素群 4のオン「1」の画素 は連続 (連結)しておらず、それらの画素にラベリングされた仮識別子は異なっている 可能性がある。これらのケースにおいて、画素 gOについては、承継可能な仮識別子 が複数の場合は、いずれか一方の仮識別子を承継し、その仮識別子と承継されなか つた一つまたは複数の他方の仮識別子との結合情報を出力する。すなわち、承継す べき仮識別子が複数ある場合は、一方を仮識別子として承継し、他方を結合情報と して承継する。したがって、仮識別子と結合情報とを参照することにより、画素の連結 関係が明確になる。画素ブロック 2の他の画素および、隣接画素群 4の他の画素の状 態により、画素ブロック 2として承継可能な仮ラベルは画素 gOに関連するものだけに 限られない。
[0035] 図 3 (d)に示した左右のケースでは、画素ブロック 2の画素 gOが「1」である。左側の ケースでは、隣接画素群 4の画素 rOおよび画素 rlが「1」であり、これらの画素 rOおよ び rlは連結しているので、同じ仮識別子が付いている可能性が高い。右側のケース では、隣接画素群 4の画素 r4が「1」であり仮識別子が付されている。これらのケース において、画素 gOについては、承継する仮識別子は 1つであり、その仮識別子を承 継する。ただし、画素ブロック 2の他の画素および、隣接画素群 4の他の画素の状態 によっては、画素ブロック 2として承継可能な仮識別子が複数になる可能性があり、そ の場合は、連結情報を生成する。
[0036] 図 4に、画素ブロック 2の仮識別子の決定に関わる画素 g0〜g3の組み合わせと、そ れに対応する隣接画素群 4の組み合わせとを示してある。組合せ # 1〜# 5は、隣接 画素群 4に付されている仮識別子のいずれ力を承継し、その仮識別子が画素ブロッ ク 2に付されるケースを示している。この図 4に示した隣接画素群 4の状態の組み合わ せは論理和であり、「 1」で示された画素の 、ずれかに仮識別子が付されて 、れば、 その仮識別子のいずれかを画素ブロック 2の画素の状態により画素ブロック 2の仮識 別子として承継することを示している。例えば、組合せ # 1においては、隣接画素群 4 の画素 P (rO)、 P (rl)、 P (r2)、 P (r4)および P (r5)の!、ずれかに仮識別子が付され ており、画素ブロック 2の画素 P (gO)力「l」であれば、隣接画素群 4の仮識別子 PID ( rO)、 PID (rl)、 PID (r2)、 PID (r4)および PID (r5)の!、ずれかを画素ブロック 2の 仮識別子として承継する。そして、画素ブロック 2の画素 P (gO)、 P (gl)、 P (g2)およ び P (g3)の内、グルーピング対象である、値力「l」の画素にその仮識別子がラベリン グされる。すなわち、図 3 (a)から(d)に示した仮識別子の承継を示している。
[0037] 1. 2 ラフなグルーピングによる画像エレメントの識別
上記のラベリングは、厳密に連続した成分の抽出である。これに対し、 1画素あるい は数画素の範囲で断続して ヽる成分を識別する、ラフなグルーピングによる画像エレ メントの抽出も意味がある。このラフなグルーピングは、厳密な連続性は要求されない ので、スキャナーなどにより画像をデータ化する際に、データ化の途上の都合により 1 画素あるいは数画素の範囲で不連続になってしまった画像データから、本来は連続 して 、る成分を抽出するために利用できる。
[0038] 連続した要素を抽出するラベリングと比較すると、高速に、かつ、画像データの精度 を下げずに、画素に関連性のある画像エレメントを抽出できるので、連続した要素を 抽出するラベリングを用いて、本格的に画像を解析する前段処理として採用すること も可能である。例えば、高解像度の画像を低解像度化した画像に対してラベリングし てラベル画像を作り、境界位置を仮決めし、その後、元の高解像度の画像において 境界付近の領域に対して再度ラベリングして高解像度のラベル画像を生成して境界 位置を本決めすることがある。高解像度の画像に対してラベリングする範囲は限定で きる。し力しながら、低解像度の画像データは境界位置を仮決めするだけのものでし かなぐデータが粗くなるので、画像エレメントの特徴値を求めるためにも使えず、有 用性は少ない。これに対し、ラフなグルーピングを提供すると、低下像度のデータを 生成せずに、高速で、境界位置を仮決めできる。さらに、データの解像度は低下して いないので、同じ画像データを高精度のグルーピングのためにも、画像エレメントの 特徴値を求めるためにも使用できる。
[0039] 図 5および図 6に、ブロックラベリングを用いて、ラフなグルーピングを行なう例を示 している。このグルーピングは、画素が必ずしも連結していない画像エレメントに関す る画素を識別できる。グルーピングの対象となる画素 5は、上記と同様にオン「1」の画 素としている。このラフなグルーピングにおいても、 2次元に配列された画素 5を識別 する際に、画素 5を 1つ 1つ独立して処理するのではなぐまず、上下左右に隣接した 4つの画素 5を 1つの画素処理単位、すなわち、画素ブロック 2とする。そして、ラフな グルーピングでは、画素ブロック 2に含まれている画素 5の少なくとも 1つがオン「1」で あれば、画素ブロック 2は全体としてオンであるとして扱い、隣接する複数の画素ブロ ック 2の双方に少なくとも 1つのオンの画素 5が含まれていれば、それらの画素ブロッ ク 2に含まれる全てのオンの画素 5には同一の識別情報 (識別子、 IDあるいはラベル 値)が付される。
[0040] 画素ブロック 2に含まれる画素 5は、 2次元で相互に隣接している。このため、 1つの 画素ブロック 2に含まれる複数の画素 5のいずれ力が「1」であれば、画素同士の位置 関係を論理演算する必要はない。画素ブロック 2に含まれる「1」の画素 5は連続ある いは連結しており、必ず同じ識別子が与えられる。さらに、画素ブロック 2に「1」の画 素 5が 1つでも含まれていれば、その画素ブロック 2はオンである。隣接する双方の画 素ブロック 2がオンであれば、それらの画素ブロック 2に含まれる全ての画素 5に共通 の識別子が与えられる。したがって、画素ブロック 2の位置関係を演算するだけで、そ れらの画素ブロック 2に含まれる個々の画素 5の位置関係を演算せずに、それらの画 素ブロック 2に含まれる全ての画素をグルーピングできる。このため、並列にラベリン グできる画素の数が増大し、ラベリングに費やされる処理時間を短縮できる。
[0041] 図 5および図 6に示したラフなグルーピングは、上下左右に隣接した 4つの画素ブロ ック 2を 1つの大画素ブロック 3、すなわち、画素処理単位として並列にラベリングし、 ラベル画像を生成するものである。この大画素ブロック 3は、 2次元に相互に隣接した 2 X 2の 4つの画素ブロック 2を含む。したがって、 1つの大画素ブロック 3に含まれる 複数の画素ブロック 2のいずれかがオンであれば、新たに論理演算する必要ない。そ れらの画素ブロック 2はオンであり、さらに、それらの画素ブロック 2に含まれる画素 5 には共通の識別子がラベリングされる。このため、大画素ブロック 3を単位としてダル 一ビング処理することにより、 2 X 2 X 4の 16個の画素 5を並列処理することができ、さ らに、それら 16個の画素 5の関係を論理演算する処理を省くことができる。
[0042] 大画素ブロック 3に含まれる画素 5は、 2つの画素ブロック 2の範囲内の距離の関連 性を持っており、そのような関係で繋がった画素のグループに属するとして識別され ると考えることができる。さらに、大画素ブロック 3と、その大画素ブロック 3に隣接する 画素ブロック 2の双方にオンの画素 5が含まれているときに、共通の識別子を大画素 ブロック 3および画素ブロック 2に含まれている画素 5にラベリングすることにより、最大 で 3つの画素ブロック 2の範囲内の距離の関連性を持つグルーピングが行なわれると 理解することができる。
[0043] このラフなグルーピングにおいて、大画素ブロック 3を単位としてスキャンする方向 は、上下左右どちらでも力まわない。本例においては、上記と同様に、図 5に示した 画像 1の左から右 (Y方向)をスキャン方向とし、上から下 (X方向)をサブスキャン方 向としてサーチする。したがって、 1つの大画素ブロック 3との関係を判断する対象と なる隣接画素群 4は、大画素ブロック 3の上側および左側に隣接する 6つの画素ブロ ック 2により構成される。
[0044] 図 6 (a)および (b)に、大画素ブロック 3および隣接画素群 4に含まれる画素ブロック 2の構成を示してある。このブロックラベリングでは、大画素ブロック 3は画素ブロック B L5、 6、 8および 9 (以降では、個々の画素ブロック 2を BLで表示する)で構成され、そ れぞれの画素ブロックの仮識別子 PID5、 6、 8および 9は共通である。大画素ブロック 3に含まれる 4つの画素ブロック 2に共通の仮識別子を決定するために、隣接画素群 (隣接画素ブロック群) 4に含まれる 6つの小画素ブロック BL0〜4および 7の仮識別 値 PID0〜4および 7が参照される。そして、画像 1の全体を大画素ブロック 3の単位 でスキャンしながら、仮識別子をラベリングする処理を繰り返す。大画素ブロック 3〖こ 含まれる 16個の画素 PiO〜 15に仮識別子をラベリングするために、隣接画素群 4を 含めた、ライン LiO〜5のコラム CoO〜Co7の範囲の 40個の画素のデータが並列に 入力され、画素 PiO〜 15の 16個の画素 5に対して仮識別子が並列にラベリングされ 、仮識別子がラベリングされたラベルイメージが生成される。
[0045] 図 7 (a)〜(d)に、隣接画素群 4の画素ブロック 2のオンオフ状態と、大画素ブロック 3の画素ブロック 2のオンオフ状態から、大画素ブロック 3が隣接画素群 4に含まれる 仮識別子を承継してラベリングし、または、新たな仮識別子をラベリングするアルゴリ ズムを示している。図 7 (a)は、大画素ブロック 3に含まれる画素ブロック 2の全てが 0 である。すなわち、大画素ブロック 3は、グルーピング対象のオンの画素 5を含まない ので、仮識別子をラベリングする処理は行われな 、 (NOP)。
[0046] 図 7 (b)では、隣接画素群 4に含まれる画素ブロック 2の全てが 0であり、大画素プロ ック 3にはオンの画素が含まれている。このケースでは、隣接画素群 4は、グルーピン グ対象のオンの画素 5を含まず、承継可能な仮識別子を含まない。このため、大画素 ブロック 3に含まれる画素ブロック 2の画素 5の全てに新しい仮識別子が与えられる。 すなわち、大画素ブロック 3に含まれるオンの画素 5に対して共通の新しい仮識別子 力 Sラベリングされる。
[0047] 図 7 (c)では、隣接画素群 4に含まれる画素ブロック 2の内、隣接していない画素ブ ロック 2がオンであり、大画素ブロック 3にはオンの画素が含まれている。隣接画素群 4 においては、画素ブロック 2の単位で異なる仮識別子が画素にラベリングされている 可能性がある。したがって、大画素ブロック 3の画素ブロック 2は、隣接画素群 4が持 つ複数の仮識別子の何れカゝを承継し、その承継した仮識別子が大画素ブロック 3の 画素 5にラベリングされる。さらに、大画素ブロック 3を介して、隣接画素群 4の画素ブ ロック 2が共通のグループに含まれると判断される。したがって、隣接画素群 4の画素 ブロック 2の仮識別子に新たな連結関係が生ずる可能性があり、連結関係が生じた 仮識別子の連結情報が出力される。
[0048] 図 7 (d)では、隣接画素群 4に含まれる画素ブロック 2の内、隣接している画素ブロッ ク 2がオンであり、大画素ブロック 3にはオンの画素が含まれている。したがって、大画 素ブロック 3の画素ブロック 2の画素 5には、隣接画素群 4が持つ仮識別子が共通に 付される。隣接画素群 4においては、隣接した画素ブロック 2がオンなので、それらの 画素ブロック 2には既に同じ仮識別子が与えられており、新たな連結関係は生じない [0049] 図 7に示したアルゴリズムは、画素ブロック 2が隣接していなくても、大画素ブロック 3 に含まれて 、れば、同じグループに属するとして共通の仮識別子を付してグルーピ ングするものである。したがって、最大で 3つの小画素ブロック 2の範囲に含まれる画 素 5に対して共通の仮識別子が付される。図 7に示したアルゴリズムの代わりに、完全 に隣接した画素ブロック 2にだけ共通の仮識別子を付すアルゴリズムを採用すること は可能である。そのアルゴリズムは、先に図 3および図 4を参照して説明したものと共 通し、最大で 2つの画素ブロック 2の範囲に含まれる画素 5に対して共通の仮識別子 をラベリングすることになる。
[0050] 図 7に示したアルゴリズムでは、大画素ブロック 3の条件は、大画素ブロック 3にオン の画素 5が含まれるか否力に集約される。したがって、大画素ブロック 3の状態は、大 画素ブロック 3に含まれる 16個の画素 5の論理和を演算することにより判断できる。ま た、隣接画素群 4の状態は、隣接画素群 4に含まれる画素ブロック 2のオンの状態に より決まり、個々の画素ブロック 2の状態は、それぞれに含まれる 4つの画素 5の論理 和を演算することにより判断できる。したがって、複数の画素データに対して論理和を 並列に演算できる能力あるいは機能を備えたハードウェアにより、仮識別子をラベリ ングする処理をパイプライン方式で実行することが可能となる。
[0051] このように、ブロックラベリングを利用することにより、画像を構成する多数の画素を ラフにグルーピングできる。連結した画素をグルーピングする処理をラベリングある ヽ は細粒度のラベリングとすると、この処理は、荒いラベリング (粗粒度ラベリング、 Coar se Grain Labeling)ということができる。この荒いラベリングは、厳密な隣接関係を必要 とせず、多少離れていても同じ識別子 (ラベル)が付けられ、それにより画像中の成分 が判断できる。このため、前処理であるローパスフィルタと、後処理である、つながり 処理をラベリング処理と同時に実行できる。そして、荒いラベリングにすることにより処 理ブロックのサイズは大きくなり、仮ラベルを付ける処理を高速ィ匕できる。また、仮ラベ ルの数も減少することになるので、仮ラベルの重複も減り、結合関係を整理した統合 テーブルの作成も高速になり、さらに、真ラベルを付ける処理も高速化できる。
[0052] したがって、高解像度の画像に対して、低解像度化せずに、高解像度の画像に含 まれる画素群を高速でグルーピングできる。その結果、高速で画像の境界などを認 識するソフトウェアおよび画像処理装置を提供することが可能となり、さらに、画像の 精度を維持できるので、高 、精度で画像エレメントの特性値を得ることができる。
[0053] 2. ブロックラベリングを用いた画像処理
図 8は、ブロックラベリングを用いて画像を解析する処理の一例を示すフローチヤ一 トである。このフローチャートには、主なデータの入出力を一点鎖線により示してある 。この画像処理 10は、ラベルイメージを生成すると共に、そのラベルイメージから区 別される画像エレメントの特徴値を算出する。この画像処理 10に含まれる、ラベルイ メージ 25を生成する処理は、画像をスキャンして、画像エレメントに構成する画素群 に仮の識別情報 (仮識別子、仮 ID、仮ラベル)を付す第 1のステージ 11と、異なる仮 識別子が付された画素群が画像エレメントとして結合している場合に同一の真の識 別情報 (真識別子、真 ID、真ラベル)を再度ラベリングする第 2のステージ 12とを備え ている。ブロックラベリングによりグルーピングされる画素は、相互に連結した画素に 限らず、非連結であっても所定の関連性を備えた画素であっても良いことは上記に おいて説明した通りである。したがって、この画像処理 10により区別される画像エレメ ントも、連結された画素により構成されるものに限らない。
[0054] 以下においては、ブロックラベリングを活用し、ラフにグルーピングされた画素により 構成される画像エレメントを識別し、解析する画像処理方法を中心に説明する。画像 処理 10は、グルーピングされた画素群により構成される画像エレメントの特徴値を抽 出する解析ステージ 13をさらに有する。この画像処理 10は、さらに、 2値画像だけで はなぐ多値あるいは階調表現 (グレースケール)の画像にっ ヽても特徴値を抽出す るために、仮の識別子をラベリングする第 1のステージ 11と並行して多値の画素から なる画素ブロックのブロック特徴値を算出する工程 14を備えている。
[0055] 仮識別子をラベリングする第 1のステージ 11は、画像を形成するための複数の画素 を含む画素データ 29から、大画素ブロック 3に含まれる 16個の画素データと、それに 隣接する隣接画素群 4の 24個の画素データとを取得し、以下のラベリング過程 200 に提供するための入力過程 100を備えている。さらに、第 1のステージ 11は、大画素 ブロック 3に含まれる 16個の画素 5に共通の仮識別子をラベリングするラベリング過 程 200を備えている。 [0056] 入力する過程 100では、ステップ 101において、画素データファイル 29から大画素 ブロック 3に含まれる画素 5のデータを入力する。ステップ 102において、画像 1を構 成する画素データに未処理のデータがあれば、ステップ 103において、画素データ ファイル 29から取得した多値の画素データ 5を 2値化する。ファイル 29の画素データ がすでに 2値ィ匕されていれば、このステップは不要である。さらに、先行して仮識別子 力 Sラベリングされ、ノ ッファ (バッファメモリ) 28に一時的に蓄積された隣接画素群 4の 画素 5のデータと、それらの画素 5にラベリングされた仮識別子のデータとを、ステツ プ 104にお!/、て取得する。
[0057] ラベリングする過程 200では、ステップ 201において、大画素ブロック 3および隣接 画素群 4の条件を論理演算し、ステップ 202で、承継可能な仮識別子の有無を判断 する。仮識別子を承継するアルゴリズムは、図 7 (a)〜(d)を参照して説明した通りで ある。隣接画素群 4が承継可能な仮識別子を 1つだけ含む場合 (条件 dl)は、ステツ プ 205において、その仮識別子を承継し、大画素ブロック 3の画素 5に共通の仮識別 子としてラベリングし、仮ラベルイメージファイル 27に大画素ブロック 3の単位で出力 する。さらに、後続の大画素ブロック 3の処理に要する隣接画素群 4に含まれる仮識 別子の情報を、画素ブロック 2の単位で、高速アクセスが可能なバッファメモリ 28に一 時的に格納する。
[0058] 隣接画素群 4が承継可能な、あるいは承継すべき複数の仮識別子を含む場合 (条 件 d2)は、ステップ 203において、複数の仮識別子に対する結合情報を記録する。 すなわち、大画素ブロック 3の画素 5に承継する仮識別子と、未承継となる他の識別 子との結合情報を結合情報ファイル 26へ出力する。さらに、ステップ 205において、 大画素ブロック 3の画素 5に承継する仮識別子をラベリングし、仮ラベルイメージファ ィル 27へ出力する。隣接画素群 4が承継可能な仮識別子を含まな 、場合 (条件 d3) は、ステップ 204において、新しい仮識別子を発生し、ステップ 205において、その 新し 、識別子を大画素ブロック 3の画素 5にラベリングして、仮ラベルイメージファイル 27に出力する。このようにして、入力画像を構成する画素に仮識別子がラベリングさ れた仮ラベルイメージが生成される。
[0059] この仮識別子をラベリングする第 1のステージ 11では、入力する過程 100において 、大画素ブロック 3および隣接画素群 4に含まれる 40個の画素 Piのデータを並列に 読み込む。そして、ラベリングする過程 200においては、大画素ブロック 3に含まれる 16個の画素 Piの内のグルーピング対象の画素(本例では、オンあるいは「1」の画素 )に対して仮識別子をラベリングする処理を並列実行する。したがって、入力する過 程 100と、ラベリングする過程 200とは、一連の処理としてハードウェア化することによ り、パイプライン方式で実行できる。さらに、ラベリングする過程 200においても、承継 を演算するために、入力された 40個の画素 Piをデコードするステップ 201と、それに より決定される仮識別子をラベリングするステップ 205とがパイプライン方式で実行さ れるようにハードウェアにこれらの処理を実装することができる。したがって、大画素ブ ロック 3に含まれる 16個の画素 5に対して仮識別子をラベリングする第 1のステージ 1 1の処理を、実質的に 1クロックで実行することが可能となる。
[0060] また、結合情報を記録するステップ 203、および、新 、仮識別子を選択するステツ プ 204も、大画素ブロック 3および隣接画素群 4をデコードした結果が用いられる。こ のため、第 1のステージ 11としてハードウェア化することにより、これらのステップ 203 および 204の処理を、承継を演算するステップ 201あるいはラベリングするステップ 2 05と並列に処理するようにハードウェアを構成することが可能であり、 16個の画素を 読み込んでラベリングするパイプラインを破綻ある 、は遅延させずに、第 1のステージ 11の処理を実行することが可能である。
[0061] 画像処理 10では、仮識別子をラベリングする第 1のステージ 11と並列に実行される 解析処理 14において、仮識別子がラベリングされる大画素ブロック 3に含まれる画素 5の多値のデータを解析して、大画素ブロック 3の単位で濃淡情報を演算する。プロ ック単位の濃淡情報は、ブロック特徴値として大画素ブロック 3の単位に(この例であ ると 1Z16に)圧縮され、ブロック特徴値ファイル 22に出力される。大画素ブロック 3に 含まれる 16個の画素 5は、同一の仮識別子がラベリングされるので、後に、同一の真 識別子がラベリングされ、同一の画素エレメントを構成する。したがって、この工程 14 において、大画素ブロック 3に含まれる 16個の画素 5の多値データ(階調データ、グ レースケールデータ)から、濃淡情報、例えば、濃度の最大最小、平均などを、大画 素ブロック 3の単位で求めておくことは有効である。後に、仮識別子の結合情報に基 づき、大画素ブロック 3の単位のブロック特徴値、例えば濃淡情報を集計することによ り、画像エレメントの濃淡情報を求めることができ、濃淡情報を解析する処理時間を 短縮できる。
[0062] さらに、仮識別子をラベリングする第 1のステージ 11においては、処理画素データ 2 9から大画素ブロック 3に含まれる画素 5が入力される。このため、第 1のステージ 11と 並列に大画素ブロック 3の単位の濃淡情報を求めることにより、濃淡情報を演算する ために画素データファイル 29にアクセスする工程を省略でき、この点でも、濃淡情報 を解析する処理時間を短縮できる。
[0063] 第 1のステージ 11が終了すると、ステップ 15において、結合情報ファイル 26に蓄積 された結合情報力も統合テーブル 23を生成する。ステップ 203において、隣接画素 群 4に、異なる仮識別子がラベリングされた画素 5が含まれている場合は、大画素ブ ロック 3の画素に承継された仮識別子と、未承継の仮識別子とのペアが、結合情報フ アイル 26に記録される。承継された仮識別子と、未承継の仮識別子とは同じグルー プ (画像エレメント)を示す識別情報である。このため、第 2のステージ 12においては 、それらの仮識別子がラベリングされた画素 5に、最終的に同じグループに属する識 別子 (真識別子)を再度ラベリングする。したがって、事前に、承継された仮識別子と 、未承継の仮識別子とを統合する必要があり、ステップ 15において、統合テーブル 2 3を生成する。
[0064] このステップ 15においては、仮識別子の結合情報 26から、互いに同じグループに 属する画素にラベリングされている仮識別子に対して共通の真識別子 (真ラベル)を 割り振り、仮識別子と真識別子との対応を示す統合テーブル 23を生成する。統合テ 一ブル 23は、例えば、仮識別子をアドレスとし、それに対応する真識別子をリードで きるものである。統合テーブル 23を、仮識別子をアドレスとして参照することにより真 識別子へ変換することが可能となる。複数の仮識別子の結合は、画素が連結された 画像エレメントを抽出するための処理であれば、複数の仮識別子がラベリングされた 画素が連結していることを示す。一方、ラフなグルーピングにおいては、複数の仮識 別子の結合は、複数の仮識別子がラベリングされた画素が必ずしも連結して 、ること を意味しない。し力しながら、それらの画素は、所定のレンジの関連性を備えている。 [0065] 次に、第 2のステージ 12において、統合テーブル 23を参照しながら、仮ラベルィメ ージファイル 27に格納された画素データに、真識別子をラベリングして、ラベルィメ ージ (真ラベルデータ)を生成し、ラベルイメージファイル 25に出力する。仮ラベルイ メージは、ビットマップ形式で記録することも可能である。仮識別子が共通する画素ブ ロック 2の単位、さらには、大画素ブロック 3の単位で記録することにより、メモリ領域を 節約でき、第 2のステージ 12において大画素ブロック 3の単位で画素データを読み 出すのも容易となる。第 2のステージ 12では、ステップ 121において、仮ラベルィメー ジデータ 27に含まれる画素データを、大画素ブロック 3の単位で並列に入力する。ス テツプ 122において、仮ラベルイメージデータ 27に未処理の画素が残されていると、 ステップ 123において、統合テーブル 23を参照して、大画素ブロック 3の仮識別子を 真識別子に変換し、その真識別子を共通の識別子として、大画素ブロック 3に含まれ る画素 5に対して並列にラベリングする。これにより、所定の関係のある画素 5により構 成される、独立した画像エレメントを識別するための真識別子がラベリングされたラベ ルデータが生成され、ラベルイメージファイル 25に出力される。真識別子をラベリング するステップ 123においても、大画素ブロック 3の単位で、それに含まれるグルーピン グ対象の画素に対し、共通の真識別子が並列にラベリングされる。
[0066] 画像処理 10においては、第 2のステージ 12が終了すると、解析ステージ 13を実行 する。この解析ステージ 13では、ステップ 131において、大画素ブロック 3の単位で 解析し、そのブロック特徴値を算出する。次に、ステップ 132において、真識別子が 共通の大画素ブロック 3のブロック特徴値を集計する処理を繰り返し、画像エレメント 毎の特徴値を算出する。 2値画素あるいは 2値データ力も算出できる特徴値は、 2値 化された画素に仮識別子をラベリングした仮ラベルイメージデータ 27により、画素ブ ロックあるいは大画素ブロックの単位で演算することができる。濃淡情報においては、 大画素ブロック 3のブロック特徴値力 先に説明したように、ステージ 14において得ら れている。したがって、ステップ 133において集計することにより、画像エレメント毎の 濃淡に関わる特徴値も算出できる。特徴値には、画像エレメントの面積、重心、縦横 の寸法などが含まれる。
[0067] 解析ステージ 13においては、真識別子がラベリングされたラベルイメージ 25に基 づ ヽて画像エレメント毎の特徴値を算出する代わりに、統合テーブル 23を参照する ことにより、ブロック特徴値を画像エレメント毎に集計することが可能である。したがつ て、ハードウェア資源が十分にあれば、第 2のステージ 12と並列に、解析ステージ 13 を実行するようにハードウェアを構成することが可能である。
[0068] 3. 画像処理システム
上述した画像処理 10は、仮識別子をラベリングする第 1のステージ 11と、真識別子 をラベリングする第 2のステージ 12とが、この順番に実行される。そして、同一の画像 に対して、これらの処理 (ステップ)は重複しない。解析ステージ 13は、上述したように 、第 2のステージ 12の後に実行しても良いし、並列に実行しても良い。例えば、統合 テーブル 23を生成するステップ 15が終了した後に、真識別子をラベリングする第 2の ステージ 12と、解析ステージ 13とを並列に実行できる。
[0069] 第 1のステージ 11と、第 2のステージ 12とは実行するタイミングが重ならない。この ため、再構成可能なハードウェアにより、第 1のステージ 11を実行するための回路と、 第 2のステージ 12を実行するための回路とを再構成しながら、画像処理 10を実行す ることにより、ハードウェア資源を効率良く利用できる。
[0070] また、画像処理 10は、多数の画素データを並列で処理でき、処理時間を短縮でき る。したがって、複数の処理エレメントを含み、それら複数の処理エレメントにより並列 に稼動する複数のデータパスが構成されるプロセッシング領域を備えたプロセッサに 処理 10を実装することにより、この画像処理 10の特性を活かして処理時間を短縮で きる。処理エレメントは、ある程度の規模の論理演算機能を備えており、さらに、再構 成可能な集積回路装置に含まれるものであることが望ましい。
[0071] 図 9に示した処理装置 30は、再構成可能なハードウェアの一例であり、動的に回路 を再構成することができる領域を備えている。この処理装置 30は、ある程度の演算機 能、例えば ALUを備えたプロセッシングエレメント(以降においては EXE) 32を接続 して様々なデータパスを構成可能なマトリクス領域 (プロセッシング領域) 31を備えて いる。さらに、処理装置 30は、マトリクス 31の EXE32の接続を制御してデータパスを 動的に構成するコントローラ 33と、マトリクス 31に構成するデータパスのハードウェア 情報 (構成情報)を記録した RAM34と、マトリクス 31の回路により処理されるデータ を一時的に記録するバッファ 35とを備えている。さらに、処理装置 30は、外部メモリ 3 6に対してデータを入出力するためのインターフェイスも備えている。
[0072] 複数の EXE32を接続することにより、並列に稼動するデータパスを構成できる処理 装置は、複数の画素データを並列に処理するに適しており、画像処理 10に適したハ 一ドウエア資源である。さらに、処理装置 30のマトリクス領域(以降ではマトリクス) 31 の EXE32の接続を、画像処理 10の各ステージ 11〜13を順番に実行するように再 構成することにより、画像処理 10を行うための専用の処理システムとして使用できる。 以下では、処理装置 30を使用して画像処理 10を実行する画像処理システム 50につ いて説明する。なお、マトリクス 31の EXE32などのハードウェア資源が十分にあれば 、処理装置 30において、ラベリングに関する画像処理だけではなぐ他の処理を同 時に実行することができる。
[0073] 図 10 (a)〜(c)に、画像処理システム 50として処理装置 30を機能させるために、プ ロセッシング領域であるマトリクス 31を再構成する様子を示してある。画像処理システ ム 50として処理装置 30を機能させるために、この例では、 3種類のコンフィグレーショ ン情報 51〜53を予め用意し、処理装置 30のコンフィグレーション RAM34に格納す る。そして、コントローラ 33によりマトリクス 31の構成を適当なタイミングで変更し、画 像処理 10を実行する。図 10 (a)は、第 1の構成情報 51により、第 1のステージ 11お よび多値の画素データを大画素ブロック 3の単位で解析する工程 14を並列に実行す るように、マトリクス 31が再構成された状態を示している。図 10 (b)は、第 2の構成情 報 52により、統合テーブルを生成する処理を実行するように、マトリクス 31が再構成 された状態を示している。図 10 (c)は、第 3の構成情報 53により、第 2のステージ 12 および解析ステージ 13を並列に実行するように、マトリクス 31が再構成された状態を 示している。
[0074] 図 10 (a)に示すように、第 1の構成情報 51により、処理装置 30のマトリクス領域 31 には、第 1のステージ 11の入力する過程 100を実行する構成を備えたインターフェイ ス 54と、ラベリングする過程 200を実行する構成を備えたラベリングプロセッサ(ラベリ ングエンジン) 55とが構成される。さらに、第 1の構成情報 51により、マトリクス領域 31 には、多値の画素データを解析する工程 14を実行する構成を備えた解析プロセッサ (解析エンジン、第 2のプロセッサ) 56と、インターフェイス 54からデータをラベリング プロセッサ 55および解析プロセッサ 56に供給する回路などを含めた周辺回路 57と が構成される。インターフェイス 54は、大画素ブロック 3に含まれる画素データを並列 に入力する機能と、隣接画素群 4の仮識別子のデータを入力する機能とを備えて ヽ る。ラベリングプロセッサ 55は、仮識別子の承継を演算および判断する機能 55aと、 仮識別子をラベリングする機能 55bと、承継した仮識別子と未承継の仮識別子との結 合情報を出力する機能 55cと、新 、仮識別子を発生する機能 55dとを備えて 、る。 仮識別子をラベリングする機能 55bは、承継した仮識別子または新 Uヽ仮識別子を 共通の仮識別子として、大画素ブロック 3に含まれる、グルーピング対象のオンの全 ての画素 5に対し、並列にラベリングする。
[0075] 図 11に、第 1の構成情報 51によりマトリクス 31に構成される回路の概要をさらに詳 しく示してある。インターフェイス 54は、外部メモリ 36の画素データファイル 29から大 画素ブロック 3に含まれる画素データをロードし、 2値ィ匕回路 61により 2値ィ匕してラベリ ングプロセッサ 55に供給する。それと共に、多値の画素データを解析用のプロセッサ 56に供給する。また、ノ ッファ 28から隣接画素群 4の仮識別子 (仮 ID)を取得して、 ラベリングプロセッサ 55に供給する。ラベリングプロセッサ 55は、インターフェイス 54 から供給されたデータの論理和を演算するロジック回路 65と、その論理和の結果に より承継すべき仮 IDの有無などを判断するルックアップテーブル(LUT) 66と、仮 ID を選択するセレクタ 67と、結合情報を選択するセレクタ 68とを備えて 、る。
[0076] ロジック回路 65は、大画素ブロック 3および隣接する画素ブロック 2に対応する、合 計 10個の画素ブロック 2 (図 6の BLO〜: BL9)のそれぞれの論理和により、 10個の値 を備えたアドレス 79を生成する。 LUT66は、その値 79をアドレス入力とし、そこに格 納されたマイクロコードを ID制御信号 71として出力する。そして、そのマイクロコード 71によりセレクタ 67および 68を始めとした各種ロジックを制御する。
[0077] ラベリングを行なうデータ生成回路 69は、大画素ブロック 3に含まれる 16個の画素 5に対して、並列に仮 IDをラベリングする。この例では、データ生成回路 69は、インタ 一フェイス回路 54から供給された 2値の 16個の画素データに、選択された仮 ID72を 加えて、 1ワード(32ビット)のブロック画素データ 73として出力する。ブロック画素デ ータ 73は、 ID73dと、 16個分の画素データ 73pとを含む。したがって、大画素ブロッ ク 3に含まれる 16個の画素データに対するラベリングは、 1ワードのデータとして一括 され、並列に処理される。仮ラベルイメージファイル 27に出力される仮ラベルイメージ データは、ブロック画素データ 73により構成される。
[0078] 図 12に、ラベリングプロセッサ 55において、供給された画素データからブロック画 素データ 73を生成して出力するまでの概略の回路構成を示してある。まず、インター フェイス 54は、実際には、外部メモリ 36からラインバッファ 35に蓄積された画素デー タ 29から、大画素ブロック 3およびその隣接画素群(隣接画素ブロック群) 4に含まれ る画素データをシフトレジスタおよびマスク回路により切り出す。例えば、図 5および 図 6に示したライン LiO〜5、コラム Co0〜7の画素データ 5をロードする。これら 40ドッ ト分の 40ビットの画素データは、十分なバス幅が確保できれば 1クロック(1サイクル) で読み込めるデータである。
[0079] ラベリングプロセッサ 55のロジック回路 65は、 OR回路 65aにより、 0番目のライン Li 0と 1番目のライン Lilの画素データ 5の論理和を演算し、ブロック BL0〜3のオン状 態、すなわち、それぞれのブロックに少なくとも 1つのオンの画素があることを判断す る。同様に、 OR回路 65bにより、 2番目のライン Li2と 3番目のライン Li3の画素デー タ 5の論理和を演算し、ブロック BL4〜6のオン状態を判断する。 OR回路 65cにより、 4番目のライン Li4と 5番目のライン Li5の画素データ 5の論理和を演算し、ブロック B L7〜9のオン状態を判断する。
[0080] 隣接画素群 4の状態および画素第ブロック 3の状態は、これらの OR回路 65a、 65b および 65cの演算結果により判断できる。このため、これらの OR回路 65a、 65bおよ び 65cの出力の論理和を OR回路 65dによりさらに演算し、 10個の画素ブロック BL0 〜BL9の論理和結果を 10ビットのアドレス入力 79として生成し、 LUT66に供給する 。それにより、 LUT66力も適切なマイクロコードが ID制御信号 71として出力される。 LUT66は、マトリクス領域 31に予め設けられた RAMエレメントを用いて構成すること ができる。
[0081] このような回路構成による、画素データ 5をロードし、順番に論理和を演算して ID制 御信号 71を出力する一連の処理は、後戻り無ぐシーケンシャルに行われる。したが つて、再構成可能なマトリクス 31に配置された多数のエレメント 32を用いて多数の並 列処理用のデータパスを構成することにより、 1つあるいは複数の大画素ブロック 3に 関連する画素データを並列に、パイプライン処理することが可能となる。このため、実 質的に 1クロック(1サイクル)で、少なくとも 1つの大画素ブロック 3、すなわち、少なく とも 16画素の仮 IDを決定できる。
[0082] データ生成回路 69は、 1つの大画素ブロック 3に含まれる 16画素分の情報と、それ らに共通して付される仮 IDの情報とを含んだ、 1ワード長(32ビット)のブロック画素デ ータ 73を生成し、仮ラベルイメージデータとして仮ラベルイメージファイル 27に出力 する。このブロック画素データ 73には、さらに、大画素ブロック 3の位置情報、 16画素 分の情報力 演算された大画素ブロック 3の特性値などを含めることが可能である。
[0083] ブロック画素データ 73を生成するためには、データ生成回路 69に対し、大画素ブ ロック 3に含まれる 16画素分のデータと、それらにラベリングされる仮 IDのデータ 72と を供給する必要がある。 LUT66の ID制御信号 71により、その大画素ブロック 3の仮 I Dのデータ 72がデータ生成回路 69に供給されるためには、大画素ブロック 3の画素 データが入力されて力 ある程度の演算時間が必要となる。入力インターフェイス 54 によりロードした 16画素分のデータは、適当な遅延回路あるいはパイプラインレジス タを介してデータ生成回路 69に供給することにより、その大画素ブロック 3の仮 IDの データ 72と同期して、データ生成回路 69に供給できる。したがって、ラベリングプロ セッサ 55においては、ラインバッファ 35から大画素ブロック 3の画素データをロードし てから、その画素データに仮 IDをラベリングして出力するまでの処理をパイプライン 方式で実行できる。
[0084] このため、画像処理装置 50においては、実質的に 1クロックで、少なくとも 1つの大 画素ブロック 3、すなわち、少なくとも 16画素に対して仮 IDを決定し、その仮 IDがラ ベリングされた仮ラベルイメージデータを出力できる。したがって、画像処理装置 50 は、少なくとも 16画素を 1サイクルでグルーピングすることが可能であり、 1画素単位 でラベリングする処理と比較すると、少なくとも 10数倍の速さで画像処理を行うことが できる。そして、グルーピングされたブロック画素データ 73には、オリジナルの解像度 の画素データ 73pが保存されており、解析された画像の解像度が劣化することもない [0085] 図 13に、大画素ブロック 3の単位で、特徴量を抽出するプロセッサ 56の概略構成を 示してある。この解析用のプロセッサ 56には、インターフェイス 54によりラインバッファ 35から切り出された 1つの大画素ブロック 3に含まれる 16画素分の元データ、すなわ ち、グレースケール (多値)の画素データが供給される。それぞれの画素データは、し きい値処理ユニット 62により濃淡の最大または最小を与えるデータであるか否かが 判断される。しきい値処理が行われた 16画素分のデータは、セレクタ 63aおよび 63b により最大値および最小値が計算され、それらの結果力 シフト ' OR回路 63cにより 1 ワードの濃淡データ 74にパックされる。最大値および最小値の計算にエラーが無け れば、ゲート回路 63dを通過して、ブロック特徴値ファイル 22に濃淡データ 74が出力 される。
[0086] 図 14に、しきい値処理ユニット 62において、一画素分のしきい値処理を行う回路構 成を示してある。一画素分の画素データ 29pは、コンパレータ 62aにより第 1のしきい 値 62bと比較され、画素データ 29pが第 1のしきい値 62bより大きいと有意と判断され る。その結果、キャリー 62xがアサートされ、セレクタ 62eにより画素データ 29pが最大 値を比較するためのデータとして出力される。画素データ 29pが第 1のしきい値 62b を下回る場合は、セレクタ 62eから「0」が出力され、最大値としては無視される。また 、画素データ 29pは、コンパレータ 62cにより第 2のしきい値 62dと比較され、画素デ ータ 29pが第 2のしきい値 62dより小さいと有意と判断される。その結果、キャリー 62y がアサートされ、セレクタ 62fにより画素データ 29pが最小値を比較するためのデータ として出力される。画素データ 29pが第 2のしきい値 62bを上回る場合は、セレクタ 62 fから「FF」が出力され、最小値としては無視される。比較結果を示すキャリー 62xお よび 62yは回路 62gにより論理和が計算され、さらに、回路 62hにより他の画素の比 較結果も含めた論理和が計算される。
[0087] その結果、 V、ずれかの画素データ 29pが、第 1のしき!/、値 62bおよび第 2のしき!/ヽ 値 62dの範囲内から外れていれば、有意な濃淡情報であるとして出力される。例えば 、欠陥の有無を判断する場合、全ての画素の濃淡データが、第 1のしきい値 62bおよ び第 2のしきい値 62dの範囲内であれば、解析の対象となった大画素ブロック 3の範 囲内には欠陥がないと判断され、濃淡情報は出力されない。
[0088] この解析プロセッサ 56は、ラベリングプロセッサ 55と同様に、大画素ブロック 3の単 位で濃淡情報 74を出力する。図 15に示すように、このブロック単位の濃淡情報であ るブロック特徴データ 74は、ブロック画素データ 73と 1対 1に対応している。したがつ て、後に、仮識別子 (仮 ID)および統合テーブル 23に基づいて集計することにより、 画像エレメント毎の特徴値 (濃淡情報)を得ることができる。
[0089] 第 1のステージ 11が終了すると、図 10 (b)に示すように、第 2の構成情報 52により マトリクス 31は、統合テーブルを生成するように再構成される。結合情報ファイル 26 には、大画素ブロック 3の画素に承継された仮識別子と、それとペアとなる未承継の 仮識別子とが記録されている。したがって、ラベルイメージを生成するための次の段 階として、連結関係にある 1または複数の仮識別子のペアに対して同一の真識別子( 真 ID)を与える統合テーブル 23を生成する。
[0090] 結合情報ファイル 26から統合テーブル 23を生成するアルゴリズムは次のようになる 。結合情報ファイル 26には、 2つの仮 IDの結合を示すエントリが複数記録されている 。また、統合テーブル 23は、仮 IDをアドレスとしてアクセスすることにより、それに対応 する真ラベルがリードできるものである。
hi. 結合情報ファイル 26の n番目のエントリの仮 IDが「a」および「b」であるとすると 、 n番目のエントリをグループキューに格納する。
h2. グループキューの先頭からエントリ、例えば、「a」と「b」のペアを比較対象レジ スタに格納する。
h3. 結合情報ファイル 26から n番目以降の値を読み出して比較対照レジスタの値「 a」および「b」と比較する。
h4. 少なくとも一方が一致したエントリは、グループキューに追加される。
h5. 結合情報ファイル 26の末尾に達すると、グループキュー力も次のエントリを読 み出して比較対象レジスタに格納して同様の操作を行う。
h6. グループキューの末尾に達すると、グループキューにエントリされた全ての仮 I Dに対して同一の真 IDを割り振る。
[0091] 以上で 1つの真 IDについて、統合テーブル 23に収める情報が得られ、その真 IDに ついてのグルーピングが完了する。次に、 n+ 1番目のエントリを結合情報ファイル 26 力も読み出して、同様の操作を行う。ただし、一度グループキューに格納された結合 情報は、再びグループキューに格納されることはないものとする。以上の操作が完了 した後、未だ真 IDが付与されていない仮 IDがあると、それに対してそれぞれュニー クな真 IDを付与する。以上の操作により統合テーブル 23が生成される。第 2の構成 情報 52は、マトリクス領域 31に上記のアルゴリズムを実行するためのデータノ スを構 成する。
[0092] 統合テーブル 23が生成されると、図 10 (c)に示すように、第 3の構成情報 53により マトリクス 31は、第 2のステージ 12を実行するように再構成される。同時に、第 3の構 成情報 53により、マトリクス 31は、解析ステージ 13を実行するように再構成される。第 3の構成情報 53により、第 2のステージ 12を実行するために、仮ラベルイメージフアイ ル 27から、仮 ID73dと画素データ 73pとを備えたブロック画素データ 73を入力するィ ンターフェイス 59と、仮 IDを真 IDにラベリングし直すラベリングプロセッサ(ラベリング エンジン) 60とが構成される。また、第 3の構成情報 53により、解析ステージ 13を実 行するために、ブロック画素データ 73をデコードして大画素ブロック 3を単位とする特 徴値を演算する回路 81と、ブロック単位の特徴値を統合テーブル 23に基づ 、て集 計する回路 82とを含み、画像エレメント語毎の特徴値を算出する解析プロセッサ (解 析エンジン、第 1のプロセッサ) 80が構成される。
[0093] 図 16に、ブロック画素データ 73を入力し、統合テーブル 23を参照して、大画素ブ ロック 3の単位で真識別子 (真 ID、真ラベル)をラベリングするラベリングプロセッサ 60 の回路例を示してある。まず、インターフェイス回路 59は、仮ラベルイメージファイル 2 7にアクセスしてブロック画素データ 73を取得する。ブロック画素データ 73には、大 画素ブロック 3を構成する 16個分の画素データ 73pが含まれており、これらの画素デ ータが並列に入力されることになる。真識別子のラベリングプロセッサ 59bにおいて は、ブロック画素データ 73の仮 ID73dをアドレスとして統合テーブル 23にアクセスし 、真 IDを取得する。その真 IDをブロック画素データ 73の 16個分の画素データに基 づき、マトリクス 31のエレメント 32を並列に動作するセレクタとして使い、グルーピング の対象となるオン「1」の画素にラベリングし、他の画素は「0」にしてラベルイメージフ アイル 25に出力する。
[0094] ラベリングプロセッサ 60は、ブロック画素データ 73の IDの値 73dを仮 IDから真 ID に書き換えたブロック画素データを、ラベルイメージのデータとして出力することも可 能である。この場合も 16画素分のデータ 73pに対し、並列に、一括して真 IDがラベリ ングされること〖こなる。
[0095] 図 17に、解析プロセッサ 80の回路例を示してある。この回路 80は、 Y座標方向の 最大値を求めるロジックを実装するものである。この回路 80は、それぞれの大画素ブ ロック 3の特徴量 (最大値)をデコーダを用いて求める第 1の回路 81と、それらを真 ID により集計し、真 IDによりグルーピングされた画素の最大値を求める第 2の回路 82と を備えている。第 1の回路 81は、 16画素分のデータを含んだブロック画素データ 73 の、 16画素分のデータ 73pを制御データに変換するデコーダ 83と、その制御データ により大画素ブロック 3の単位で特徴値、すなわち、 Y座標方向の最大値を求めるセ レクタ 84とを備えている。第 2の回路 82は、ブロック画素データ 73の仮 ID73dを統合 テーブル 23により真 IDに変換し、その真 IDをアドレスとして Y— Maxテーブル 85に アクセスする Y— Maxテーブル IZF86と、最大値を選択するセレクタ 87とを備えて いる。セレクタ 87は、 Y— Maxテーブル I/F86を介してテーブル 85から得られた真 I Dの Y座標最大値、および、セレクタ 84により得られた Y座標とを入力として、最大値 を選択する。さらに、セレクタ 87は、 I/F86を介して新しい最大値を Y— Maxテープ ル 85に出力し、最大値を更新する。
[0096] このような解析プロセッサ 80により、グルーピングされた画素群からなる画像エレメ ントの Y方向の広がりを求めることができる。同様に、 Y座標方向の最小値、 X座標方 向の最大および最小値などの多種多様な特徴量を求めることができる。 16画素によ り構成される画素大ブロック 3の単位で特徴量を演算できるので、特徴量の算出に必 要な処理時間を短縮できる。
[0097] 解析プロセッサ 80は、さらに、後続のブロック画素データ 73を読み出して統合テー ブル 23を介して真 IDを比較し、真 IDが同じ場合はテーブル 85に書き込む前に、後 続のブロック画素データ 73を含めて最大値を求める回路 89を備えている。この回路 89により、真 IDが同じになるブロック画素データ 73が連続したときの処理時間を短 縮できる。解析プロセッサ 80は、 Y— Maxテーブル 85に対してリード'モディファイ' ライトの処理を行うため、連続して同一の真 IDが入力される状況を想定する必要があ り、パイプラインのレイテンシが伸びてしまう。本図の回路 89を加え、後続のブロック 画素データ 73を先行して読み出して比較することにより、フィードバックパスのレイン テンシを 5サイクルから 3サイクルに短縮できる。
[0098] 上述した画像処理方法 10および画像処理装置 50は、隣接していない画素を所望 のルールによりグルーピングできるものである。連結した画素に限定して識別子をラ ベリングする処理方法および処理装置は、仮識別子をラベリングするロジックを図 3 および図 4を参照しながら説明したものに変更することにより、ほぼ共通の構成で提 供できる。
[0099] また、以上では、 2次元の 2値ィ匕画像の解析を例に説明しているが、本発明が適用 できる範囲は、これに限らない。基本となる小さな画素ブロック 2は、相互に隣接する 4つの画素で構成している力 さらに長い範囲の関連性のある画素をグルーピングす る場合は、 5つ以上の画素で基本となる画素ブロックを構成しても良い。大画素ブロッ ク 3を相互に隣接する 4つの画素ブロック 2により構成している力 さらに長い範囲の 関連性のある画素をグルーピングする場合は、 5つ以上の画素ブロック 2により大画 素ブロックを構成しても良い。また、画素を 2値化する際に、モノクロに限定されず、力 ラー画像の各色成分を 2値化することも可能である。さらに、 2次元画像に限らず、 3 次元画像に対してもブロックラベリングを適用でき、その場合は、先に説明したように 、相互に隣接する 8つの画素により基本となる画素ブロックが構成される。

Claims

請求の範囲
[1] ラベルイメージを生成する方法であって、
画像を形成するための複数の画素を含むデータから、多次元で相互に隣接する複 数の画素を含む画素ブロックを 1つの単位として入力する工程と、
2値化された画素に基づき、前記画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングする工程とを有する、方法。
[2] 前記画素ブロックは、 2次元で相互に隣接する 4つの画素または 3次元で相互に接 する 8つの画素で構成される、請求項 1の方法。
[3] 前記画像をスキャンして仮の識別情報をラベリングし、複数の仮の識別情報の結合 情報を生成する第 1の段階と、前記結合情報に基づき、画像エレメントを示す真の識 別情報をラベリングする第 2の段階とを有し、前記第 1の段階および前記第 2の段階 は、それぞれ前記入力する工程と前記ラベリングする工程とを含み、
前記第 1の段階のラベリングする工程では、前記仮の識別情報を前記共通の識別 情報としてラベリングし、
前記第 2の段階のラベリングする工程では、前記真の識別情報を前記共通の識別 情報としてラベリングする、請求項 1の方法。
[4] 前記画像をスキャンして仮の識別情報をラベリングする第 1の段階であって、前記 入力する工程と、前記ラベリングする工程とを含む第 1の段階を有し、
前記第 1の段階の入力する工程では、前記画素ブロックと共に、前記画素ブロック に接し、先行して仮の識別情報がラベリングされた画素を含む隣接画素群を入力し、 前記第 1の段階のラベリングする工程は、以下の工程を含む、
前記隣接画素群が承継可能な仮の識別情報を含む場合は、その仮の識別情報を 前記共通の識別情報として承継し、
前記隣接画素群が他に承継可能な仮の識別情報を含む場合は、承継した仮の識 別情報と未承継の仮の識別情報との結合情報を記録し、
前記隣接画素群が承継可能な仮の識別情報を含まな ヽ場合は、新し ヽ仮の識別 情報を前記共通の識別情報とする、請求項 1の方法。
[5] 前記第 1の段階の後に実行される、画像エレメントを示す真の識別情報をラベリン グする第 2の段階を有し、
この第 2の段階は、前記第 1の段階に対して独立した入力する工程およびラベリン グする工程を含み、
この第 2の段階のラベリングする工程では、前記結合情報に基づき、結合関係にあ る画素ブロックに共通する真の識別情報を前記共通の識別情報とする、請求項 4の 方法。
[6] 前記第 1の段階の入力する工程では、 2次元で相互に隣接する 4つの画素力 なる 画素ブロックと、その画素ブロックの隣り合う 2辺に隣接する 6つの画素からなる隣接 画素群とを入力し、
前記第 1の段階のラベリングする工程では、前記画素ブロックおよび前記隣接画素 群の双方に、画素が連続する画像エレメントを構成する画素が含まれて ヽる場合に、 前記隣接画素群に含まれる仮の識別情報を承継する、請求項 4の方法。
[7] 前記第 1の段階の入力する工程では、少なくとも 1つの画素ブロックと、その画素ブ ロックに隣接する少なくとも 1つの画素ブロックを含む隣接画素群とを入力し、 前記第 1の段階のラベリングする工程では、前記画素ブロックおよび前記隣接画素 群の双方に、グルーピング対象の画素が含まれている場合に、前記隣接画素群に含 まれる仮の識別情報を承継する、請求項 4の方法。
[8] 前記第 1の段階の入力する工程では、 2次元で相互に隣接する 4つの画素ブロック 力 なる大画素ブロックと、その大画素ブロックの隣り合う 2辺に隣接する 6つの画素 ブロックからなる隣接画素群とを入力し、
前記第 1の段階のラベリングする工程では、前記大画素ブロックおよび前記隣接画 素群の双方に、グルーピング対象の画素が含まれている場合に、前記隣接画素群に 含まれる仮の識別情報を承継する、請求項 4の方法。
[9] 前記第 1の段階の後に、画像エレメントを示す真の識別情報をラベリングする第 2の 段階を有し、この第 2の段階は、前記第 1の段階とは独立した入力する工程およびラ ベリングする工程を含み、
この第 2の段階のラベリングする工程では、前記結合情報に基づき、結合関係にあ る大画素ブロックに共通する、真の識別情報を前記共通の識別情報し、前記大画素 ブロックに含まれる全てのグルーピング対象の画素にラベリングする、請求項 8の方 法。
[10] 画像を解析する方法であって、
前記画像を形成するための複数の画素を含むデータから、多次元で相互に隣接 する限られた複数の画素を含む画素ブロックを 1つの単位として入力する工程と、
2値化された画素に基づき、前記画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングする工程と、
少なくとも 1つの画素ブロックを含む単位で演算を繰り返して、各々の画像エレメント の特徴値を算出する工程とを有する、方法。
[11] 前記ラベリングする工程と並列に、ラベリングされる画素ブロックの単位で、画像ェ レメントの特徴値に寄与するブロック特徴値を算出する工程を、さらに有する、請求項 10の方法。
[12] 前記ラベリングする工程では、前記画像をスキャンして仮の識別情報をラベリング する、請求項 11の方法。
[13] 前記算出する工程は、前記ラベリングされる画素ブロックに含まれる多値の画素に 基づく前記ブロック特徴値を算出する処理を含む、請求項 11の方法。
[14] 前記入力する工程では、 2次元で相互に隣接する 4つの画素または 3次元で相互 に隣接する 8つの画素で構成される画素ブロックを 1つの単位として入力する、請求 項 11の方法。
[15] 前記入力する工程では、 2次元で相互に隣接する 4つの画素で構成される画素ブ ロックを 1つの単位とし、さらに、 2次元で相互に隣接する 4つの画素ブロックで構成さ れる大画素ブロックを 1つの単位として入力し、
前記ラベリングする工程では、前記大画素ブロックに含まれる、グルーピング対象 のオンまたはオフの全ての画素に共通の識別情報をラベリングする、請求項 11の方 法。
[16] 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接する複 数の画素を含む画素ブロックを 1つの単位として入力し、
2値化された画素に基づき、前記画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に共通の識別情報をラベリングし、
ラベリングされた画像から画像エレメントを区別する、画像処理方法。
[17] 画像を形成するための複数の画素を含むデータから、多次元で相互に隣接し、画 素ブロックを構成する複数の画素を含むデータを並列に入力するように構成されたィ ンターフェイスと、
2値化された画素に基づき、前記画素ブロックに含まれる、グルーピング対象のオン またはオフの全ての画素に対し、共通の識別情報を並列にラベリングするように構成 されたラベリングプロセッサとを有する、システム。
[18] 前記画素ブロックは、 2次元で相互に隣接する 4つの画素または 3次元で相互に隣 接する 8つの画素で構成される、請求項 17のシステム。
[19] 複数の処理エレメントを含み、それら複数の処理エレメントにより並列に稼動する複 数のデータパスが構成されるプロセッシング領域を備えたプロセッサを有し、 前記インターフェイスおよびラベリングプロセッサは、前記プロセッシング領域に構 成される、請求項 17のシステム。
[20] 前記画像をスキャンして仮の識別情報をラベリングし、複数の仮の識別情報の結合 情報を生成する第 1の処理システムと、
前記結合情報に基づき、画像エレメントを示す真の識別情報をラベリングする第 2 の処理システムとを有し、
前記第 1の処理システムおよび前記第 2の処理システムは、それぞれ前記インター フェイスと前記ラベリングプロセッサとを含み、
前記第 1の処理システムのラベリングプロセッサは、前記仮の識別情報を前記共通 の識別情報としてラベリングし、
前記第 2の処理システムのラベリングプロセッサは、前記真の識別情報を前記共通 の識別情報としてラベリングする、請求項 17のシステム。
[21] 複数の処理エレメントを含み、それら複数の処理エレメントにより並列に稼動する複 数のデータパスが構成されるプロセッシング領域と、このプロセッシング領域を再構 成するための制御ユニットとを備えた再構成可能プロセッサを有し、
前記第 1の処理システムに含まれるインターフェイスおよびラベリングプロセッサと、 前記第 2の処理システムに含まれるインターフェイスおよびラベリングプロセッサとは、 前記プロセッシング領域に、異なるタイミングで構成される、請求項 20のシステム。
[22] 前記画像をスキャンして仮の識別情報をラベリングする第 1の処理システムを有し、 この第 1の処理システムは、前記インターフェイスと前記ラベリングプロセッサとを含み 前記第 1の処理システムのインターフェイスは、前記画素ブロックと共に、前記画素 ブロックに接し、先行して仮の識別情報がラベリングされた画素を含む隣接画素群を 入力するように構成され、
前記第 1の処理システムのラベリングプロセッサは、以下の処理を行うように構成さ れる、
前記隣接画素群が承継可能な仮の識別情報を含む場合は、その仮の識別情報を 前記共通の識別情報として承継し、
前記隣接画素群が他に承継可能な仮の識別情報を含む場合は、承継した仮の識 別情報と未承継の仮の識別情報との結合情報を記録し、
前記隣接画素群が承継可能な仮の識別情報を含まな ヽ場合は、新し ヽ仮の識別 情報を前記共通の識別情報とする、請求項 17のシステム。
[23] 前記第 1の処理システムのラベリングプロセッサは、前記画素ブロックおよび前記隣 接画素群をデコードする処理と、
前記承継可能な仮の識別情報または前記新しい仮の識別情報を選択して前記共 通の識別情報として前記画素ブロックのグルーピング対象の画素に対しラベリングす る処理とをパイプライン方式で行うように構成される、請求項 22のシステム。
[24] 画像エレメントを示す真の識別情報をラベリングする第 2の処理システムを有し、こ の第 2の処理システムは、前記第 1の処理システムとは独立したインターフェイスおよ びラベリングプロセッサとを含み、
この第 2の処理システムのラベリングプロセッサは、前記結合情報に基づき、結合関 係にある画素ブロックに共通する真の識別情報を前記共通の識別情報とするように 構成される、請求項 22のシステム。
[25] 前記第 1の処理システムのインターフェイスは、 2次元に相互に隣接する 4つの画素 力らなる画素ブロックと、その画素ブロックの隣り合う 2辺に隣接する 6つの画素からな る隣接画素群とが前記第 1の処理システムのラベリングプロセッサに供給されるように 構成され、
前記第 1の処理システムのラベリングプロセッサは、前記画素ブロックおよび前記隣 接画素群の双方に、画素が連続する画像エレメントを構成する画素が含まれて!/ヽる 場合に、前記隣接画素群に含まれる仮の識別情報を承継するように構成される、請 求項 22のシステム。
前記第 1の処理システムのインターフェイスは、 2次元に相互に隣接する 4つの画素 ブロック力らなる大画素ブロックと、その大画素ブロックの隣り合う 2辺に隣接する 6つ の画素ブロック力 なる隣接画素群とが前記第 1の処理システムのラベリングプロセッ サに供給されるように構成され、
前記第 1の処理システムのラベリングプロセッサは、前記大画素ブロックおよび前記 隣接画素群の双方に、グルーピング対象の画素が含まれている場合に、前記隣接 画素群に含まれる仮の識別情報を承継するように構成される、請求項 22のシステム
[27] 画像エレメントを示す真の識別情報をラベリングする第 2の処理システムを有し、こ の第 2の処理システムは、前記第 1の処理システムとは独立したインターフェイスおよ びラベリングプロセッサを含み、
この第 2のシステムのラベリングプロセッサは、前記結合情報に基づき、結合関係に ある大画素ブロックに共通する、真の識別情報を前記共通の識別情報し、前記大画 素ブロックに含まれる全てのグルーピング対象の画素にラベリングするように構成され る、請求項 26のシステム。
[28] さらに、少なくとも 1つの画素ブロックを含む単位で演算を繰り返して、各々の画像 エレメントの特徴値を算出するように構成された第 1のプロセッサを有する、請求項 17 のシステム。
[29] さらに、前記インターフェイス力 前記ラベリングプロセッサと並列に画素ブロックを 含むデータが供給され、ラベリングされる画素ブロックの単位で、画像エレメントの特 徴値に寄与するブロック特徴値を算出するように構成された第 2のプロセッサを有す る、請求項 17のシステム。
前記第 2のプロセッサは、前記ラベリングされる画素ブロックに含まれる多値の画素 により、画像エレメントの特徴値に寄与する値を算出するように構成される、請求項 2 9のシステム。
PCT/JP2005/015163 2004-08-20 2005-08-19 ラベルイメージの生成方法および画像処理システム WO2006019165A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020077005396A KR101199195B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템
JP2006531881A JP4803493B2 (ja) 2004-08-20 2005-08-19 ラベルイメージの生成方法および画像処理システム
US10/590,778 US7974471B2 (en) 2004-08-20 2005-08-19 Method of generating a labeled image and image processing system with pixel blocks
EP05772583.0A EP1783688B1 (en) 2004-08-20 2005-08-19 Method for generating label image and image processing system
KR1020127011233A KR101225146B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템
US13/049,544 US8208728B2 (en) 2004-08-20 2011-03-16 Method of generating a labeled image and image processing system with pixel blocks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-240281 2004-08-20
JP2004240281 2004-08-20

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/590,778 A-371-Of-International US7974471B2 (en) 2004-08-20 2005-08-19 Method of generating a labeled image and image processing system with pixel blocks
US13/049,544 Division US8208728B2 (en) 2004-08-20 2011-03-16 Method of generating a labeled image and image processing system with pixel blocks

Publications (1)

Publication Number Publication Date
WO2006019165A1 true WO2006019165A1 (ja) 2006-02-23

Family

ID=35907548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/015163 WO2006019165A1 (ja) 2004-08-20 2005-08-19 ラベルイメージの生成方法および画像処理システム

Country Status (6)

Country Link
US (2) US7974471B2 (ja)
EP (2) EP2618308B1 (ja)
JP (1) JP4803493B2 (ja)
KR (2) KR101225146B1 (ja)
CN (1) CN100578545C (ja)
WO (1) WO2006019165A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912286B2 (en) * 2005-05-10 2011-03-22 Ricoh Company, Ltd. Image processing apparatus and method of image processing capable of effective labeling
US20110110591A1 (en) * 2009-11-09 2011-05-12 Ming-Hwa Sheu Multi-point image labeling method
US9042651B2 (en) 2009-11-09 2015-05-26 National Yunlin University Of Science And Technology Multi-point image labeling method

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8233535B2 (en) * 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US8213734B2 (en) * 2006-07-07 2012-07-03 Sony Ericsson Mobile Communications Ab Active autofocus window
JP4257925B2 (ja) * 2006-08-24 2009-04-30 シャープ株式会社 画像処理方法、画像処理装置、原稿読取装置、画像形成装置、コンピュータプログラム及び記録媒体
KR101030430B1 (ko) * 2007-09-12 2011-04-20 주식회사 코아로직 영상 처리 장치와 방법 및 그 기록매체
JP2009082463A (ja) * 2007-09-28 2009-04-23 Fujifilm Corp 画像分析装置、画像処理装置、画像分析プログラム、画像処理プログラム、画像分析方法、および画像処理方法
CN102473312B (zh) * 2009-07-23 2015-03-25 日本电气株式会社 标记生成装置、标记生成检测系统、标记生成检测装置及标记生成方法
US8446439B1 (en) * 2009-08-06 2013-05-21 The United States Of America As Represented By The Secretary Of The Navy Apparatus and method for single pass BLOB analysis of high frame rate video
US8600171B2 (en) * 2009-12-10 2013-12-03 Canon Kabushiki Kaisha Image labeling using parallel processing
US8657200B2 (en) * 2011-06-20 2014-02-25 Metrologic Instruments, Inc. Indicia reading terminal with color frame processing
US9721319B2 (en) 2011-10-14 2017-08-01 Mastercard International Incorporated Tap and wireless payment methods and devices
US9443165B2 (en) 2012-06-08 2016-09-13 Giesecke & Devrient Gmbh Blob-encoding
US9262704B1 (en) * 2015-03-04 2016-02-16 Xerox Corporation Rendering images to lower bits per pixel formats using reduced numbers of registers
CN104836974B (zh) 2015-05-06 2019-09-06 京东方科技集团股份有限公司 视频播放器、显示装置、视频播放系统和视频播放方法
KR101850772B1 (ko) * 2015-05-27 2018-04-23 삼성에스디에스 주식회사 의료용 메타 데이터베이스 관리 방법 및 그 장치
KR101699029B1 (ko) * 2015-08-07 2017-01-23 이노뎁 주식회사 영역 처리 속도를 향상한 영상 처리 장치 및 영상 처리 방법
US10720124B2 (en) * 2018-01-15 2020-07-21 Microsoft Technology Licensing, Llc Variable pixel rate display interfaces
TWI710973B (zh) * 2018-08-10 2020-11-21 緯創資通股份有限公司 手勢識別方法、手勢識別模組及手勢識別系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224672A (ja) * 1985-03-29 1986-10-06 Toshiba Corp 特徴抽出装置
JPH03222074A (ja) * 1990-01-29 1991-10-01 Canon Inc 画像処理用ラベル付け装置
JPH07105368A (ja) * 1993-10-06 1995-04-21 Tokimec Inc 画像のラベリング方法および画像のラベリング装置
JPH0950527A (ja) * 1995-08-09 1997-02-18 Fujitsu Ltd 枠抽出装置及び矩形抽出装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077444B2 (ja) * 1986-09-03 1995-01-30 株式会社東芝 三次元画像の連結成分抽出装置
JP2966084B2 (ja) * 1990-11-29 1999-10-25 本田技研工業株式会社 画像処理における局所的領域分割方法
US5384904A (en) * 1992-12-08 1995-01-24 Intel Corporation Image scaling using real scale factors
JP3307467B2 (ja) * 1993-04-09 2002-07-24 三菱電機株式会社 ラベリング方式およびラベリング回路
JP2891616B2 (ja) * 1993-09-24 1999-05-17 富士通株式会社 仮ラベル割付処理方式と実ラベル割付処理方式
JP2734959B2 (ja) 1993-12-27 1998-04-02 日本電気株式会社 仮ラベル付け方法
CN1516102A (zh) * 1998-02-09 2004-07-28 精工爱普生株式会社 液晶显示装置及其驱动方法和使用该液晶显示装置的电子装置
JP2000285237A (ja) * 1999-03-31 2000-10-13 Minolta Co Ltd 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
US6643400B1 (en) 1999-03-31 2003-11-04 Minolta Co., Ltd. Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon
JP2002230540A (ja) 2001-02-02 2002-08-16 Fuji Xerox Co Ltd 画像処理方法
TWI234737B (en) 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
DE60232125D1 (de) 2001-09-21 2009-06-10 Ricoh Kk Multi-Level Datenverarbeitung für die Aufzeichnung
CN1459761B (zh) * 2002-05-24 2010-04-21 清华大学 基于Gabor滤波器组的字符识别技术
US7477775B2 (en) * 2003-07-18 2009-01-13 Olympus Corporation Microscope system
CN1216349C (zh) * 2003-08-14 2005-08-24 中国人民解放军第一军医大学 基于广义模糊随机场的图像优化分割方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224672A (ja) * 1985-03-29 1986-10-06 Toshiba Corp 特徴抽出装置
JPH03222074A (ja) * 1990-01-29 1991-10-01 Canon Inc 画像処理用ラベル付け装置
JPH07105368A (ja) * 1993-10-06 1995-04-21 Tokimec Inc 画像のラベリング方法および画像のラベリング装置
JPH0950527A (ja) * 1995-08-09 1997-02-18 Fujitsu Ltd 枠抽出装置及び矩形抽出装置

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912286B2 (en) * 2005-05-10 2011-03-22 Ricoh Company, Ltd. Image processing apparatus and method of image processing capable of effective labeling
US20110110591A1 (en) * 2009-11-09 2011-05-12 Ming-Hwa Sheu Multi-point image labeling method
US9042651B2 (en) 2009-11-09 2015-05-26 National Yunlin University Of Science And Technology Multi-point image labeling method

Also Published As

Publication number Publication date
EP2618308B1 (en) 2017-05-10
US20110164818A1 (en) 2011-07-07
EP1783688A1 (en) 2007-05-09
KR101199195B1 (ko) 2012-11-07
US8208728B2 (en) 2012-06-26
KR20070046916A (ko) 2007-05-03
US20070248266A1 (en) 2007-10-25
JPWO2006019165A1 (ja) 2008-05-08
KR101225146B1 (ko) 2013-01-22
CN101006467A (zh) 2007-07-25
US7974471B2 (en) 2011-07-05
CN100578545C (zh) 2010-01-06
EP1783688B1 (en) 2017-04-12
KR20120066058A (ko) 2012-06-21
EP1783688A4 (en) 2012-10-31
EP2618308A1 (en) 2013-07-24
JP4803493B2 (ja) 2011-10-26

Similar Documents

Publication Publication Date Title
JP4803493B2 (ja) ラベルイメージの生成方法および画像処理システム
CN107851327B (zh) 粗细搜索方法、图像处理装置及记录介质
Vega-Rodríguez et al. An FPGA-based implementation for median filter meeting the real-time requirements of automated visual inspection systems
JPH1166325A (ja) 物体の境界決定方法および装置並びに物体の境界決定プログラムを記録した記録媒体
US8229251B2 (en) Pre-processing optimization of an image processing system
Sutheebanjard Decision tree for 3-D connected components labeling
Rakesh et al. Skeletonization algorithm for numeral patterns
CN107766863B (zh) 图像表征方法和服务器
Davalle et al. Hardware accelerator for fast image/video thinning
JP2006085686A (ja) 画像処理方法および装置
WO2022074746A1 (ja) 劣化検出装置、劣化検出方法、及びプログラム
US6760466B2 (en) Automatic image replacement and rebuilding system and method thereof
Goyal et al. A parallel thinning algorithm for numeral pattern images in BMP format
Nguyen et al. Fast parallel algorithms: from images to level sets and labels
CN112991139A (zh) 一种基于分割视窗提取fast特征点的算法加速方法
JP3272381B2 (ja) 領域境界点抽出方法
Neeraja et al. FPGA based area efficient median filtering for removal of salt-pepper and impulse noises
CN115908473A (zh) 一种图像连通域连接方法及装置
Rodrigues et al. A systolic array approach to determine the image threshold by local edge evaluation
JP2009070250A (ja) 画像処理装置及びプログラム
AU2009227822A1 (en) A method for improved colour representation of image regions
JPS63837B2 (ja)
AU2009233625A1 (en) Progressive window colour quantisation
JPH0224782A (ja) 2値画像の論理フィルタ処理における結果画像の変化検出方式
IE47847B1 (en) Automatic image processor

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK 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
WWE Wipo information: entry into national phase

Ref document number: 2006531881

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580027460.2

Country of ref document: CN

REEP Request for entry into the european phase

Ref document number: 2005772583

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005772583

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020077005396

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005772583

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10590778

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10590778

Country of ref document: US