KR101199195B1 - 라벨 이미지의 생성 방법 및 화상처리 시스템 - Google Patents

라벨 이미지의 생성 방법 및 화상처리 시스템 Download PDF

Info

Publication number
KR101199195B1
KR101199195B1 KR1020077005396A KR20077005396A KR101199195B1 KR 101199195 B1 KR101199195 B1 KR 101199195B1 KR 1020077005396 A KR1020077005396 A KR 1020077005396A KR 20077005396 A KR20077005396 A KR 20077005396A KR 101199195 B1 KR101199195 B1 KR 101199195B1
Authority
KR
South Korea
Prior art keywords
pixel
identification information
block
pixels
labeling
Prior art date
Application number
KR1020077005396A
Other languages
English (en)
Other versions
KR20070046916A (ko
Inventor
노리야스 마츠노
Original Assignee
후지제롯쿠스 가부시끼가이샤
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 후지제롯쿠스 가부시끼가이샤 filed Critical 후지제롯쿠스 가부시끼가이샤
Publication of KR20070046916A publication Critical patent/KR20070046916A/ko
Application granted granted Critical
Publication of KR101199195B1 publication Critical patent/KR101199195B1/ko

Links

Images

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

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개의 화소를 포함하는 화소 블록을 하나의 단위로서 입력한다. 그 화소 블록에 포함되는, 그루핑 대상인 온의 모든 화소에 공통의 식별자를 라벨링한다. 화소 블록에 포함되는 온의 화소는 반드시 연결되어 있으므로, 연결의 유무를 연산하지 않고 공통의 식별자를 라벨링할 수 있다.

Description

라벨 이미지의 생성 방법 및 화상처리 시스템{METHOD FOR GENERATING LABEL IMAGE AND IMAGE PROCESSING SYSTEM}
본 발명은, 화상 엘리먼트를 추출하기 위하는 등에 이용되는 라벨링(labeling)에 관한 것이다.
2차원 화상의 처리의 기본방법으로서, 연결 화소성분마다 다른 라벨을 붙이는 라벨링 처리가 알려져 있다. 일본 특개평 7-192130호 공보에는, 1차원 SIMD(Single Instruction stream Multiple Data stream)형 프로세서를 이용하여 라벨링 처리에 있어서의 임시(假) 라벨링 처리를 행하는 것이 개시되어 있다. 이 공보의 기술은, 1차원 SIMD형 프로세서를 이용하여, 임시 라벨 부착 처리(a process of provisional labeling)를 화상의 각 행(行)에 순서대로 실행한다.
또한, 일본 특허 공개 제2002-230540호 공보에는, 1차원 SIMD형 프로세서의 복수의 PE에 대하여 입력 화상의 화소배열에 있어서의 경사 방향의 화소마다 병렬로 라벨링 처리를 행하는 것이 개시되어 있다. 경사 방향의 화소를 병렬로 처리하는 것에 의해, 타겟(注目) 화소의 연결의 유무를 판정하는데 필요한 인접 화소에 대해서는 타겟 화소보다도 먼저 라벨링 처리가 행하여진다. 이 때문에, SIMD형의 프로세서의 병렬 처리 기능을 유효하게 이용하여 처리 속도를 높이는 것 으로 하고 있다. 이 방법을 실현하기 위해서는, 200DPI정도의 화상이라도, 경사 방향으로 스캔하려고 하면 수 1000의 PE를 구비한 일차원 SIMD형 프로세서가 필요로 된다.
본 발명의 일 형태는, 라벨 이미지를 생성하는 방법으로서, 이하의 공정을 가진다.
a1. 화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하는 복수의 화소를 포함하는 화소 블록을 하나의 단위로서 입력한다.
a2. 이진화된 화소(binarized pixels)에 기초하여, 화소 블록에 포함되는, 그루핑(grouping) 대상인 온(on) 또는 오프(off)의 모든 화소에 공통의 식별 정보를 라벨링한다.
2차원 화상이라면, 화소 블록은 2차원에서 서로 인접하는, 2 x 2의 4개의 화소에 의해 구성된다. 또한, 3차원 화상이라면, 화소 블록은 3차원에서 서로 인접하는, 2 x 2 x 2의 8개의 화소에 의해 구성된다. 이 화소 블록에 포함되는 하나의 화소는, 화소 블록에 포함되는 다른 화소와 인접한다. 따라서, 2진화된 화소에 기초하여, 8방향으로 연결(8연결)되는 화소에 대하여 공통의 식별 정보를 라벨링함으로써, 화상을 구성하는 화소를 그루핑하는 경우, 화소 블록에 포함되는 그루핑 대상의 화소, 즉 온 또는 오프 (「1」 또는 「0」)인, 한쪽의 상태 또는 값의 화소의 전부에 대하여 공통의 식별 정보를 라벨링할 수 있다. 따라서, 화소 블록에 포함되는 그루핑 대상의 화소에 대하여는, 각각에 식별 정보를 부여하는 처리는 불필요하게 되어, 화소 블록에 포함되는 복수의 화소를 병렬로 처리하는 것이 가능해진다. 이 때문에, 식별 정보가 라벨링된 화소를 포함하는 라벨 이미지를 생성하는 처리의 속도를 향상할 수 있다.
본 발명의 다른 하나의 형태는 화상처리 시스템이며, 이하를 포함한다.
b1. 화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하고, 화소 블록을 구성하는 복수의 화소를 포함하는 데이터를 병렬로 입력하도록 구성된 인터페이스.
b2. 이진화된 화소에 기초하여, 화소 블록에 포함되는, 그루핑 대상인 온 또는 오프의 모든 화소에 대하여, 공통의 식별 정보를 병렬로 라벨링하도록 구성된 라벨링 프로세서.
이 화상처리 시스템은, 화소 블록을 구성하는 복수의 화소가 병렬로 입력되어, 그들 복수의 화소에 대하여 공통의 식별 정보가 병렬로 라벨링된다. 이 화상처리 시스템은, 복수의 처리 엘리먼트를 포함하고, 그들 복수의 처리 엘리먼트에 의해 병렬로 가동하는 복수의 데이터 패스(data paths)가 구성되는 프로세싱 영역을 구비한 프로세서를 가지는 것이 바람직하다. 인터페이스 및 라벨링 프로세서는, 이 프로세서의 프로세싱 영역에 구성할 수 있고, 복수의 화소를 입력하는 처리와, 복수의 화소에 대하여 라벨링하는 처리를 파이프라인 방식(pipeline processing)으로 실행가능한 프로세서를 제공할 수 있다.
본 발명의 다른 하나의 형태는 화상처리 방법이며, 이하를 포함한다.
c1. 화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하는 복수의 화소를 포함하는 화소 블록을 하나의 단위로서 입력한다.
c2. 이진화된 화소에 기초하여, 화소 블록에 포함되는, 그루핑 대상인 온 또는 오프의 모든 화소에 공통의 식별 정보를 라벨링한다.
c3. 라벨링된 화상으로부터 화상 엘리먼트를 구별한다.
화상 엘리먼트를 구별하는 것에 의해, 화상 엘리먼트를 식별하거나, 추출하거나, 화상 엘리먼트의 특징값을 산출할 수 있다. 특징값(특징량)에는, 화상 엘리먼트의 1차 또는 2차의 모멘트, 면적, 주위 길이(boundary length), 농도, 폭 등이 포함된다. 3차원 화상이라면, 화상 엘리먼트의 특징값에는 체적, 무게중심(a center of gravity), 모멘트 등이 포함된다. 화상 엘리먼트를 식별하거나, 그들의 특징값을 구하는 것은, 화상의 인식이 요구되는 처리를 포함하는 많은 어플리케이션에 있어서 유효하다. 라벨 이미지에 의해, 자동장착을 행하는 산업용의 로보트에 있어서는, 부착된 부품의 위치나 기울기 등을 판단할 수 있다. 자동주행 장치에 있어서, 라벨 이미지는 도로 혹은 장해물을 인식하기 위해서 이용할 수 있다. 3차원CT스캔에 있어서, 라벨 이미지는 촬상된 물체의 기본적인 특징을 처리하기 위한 처리 또는 그 전(前)처리에 이용된다.
라벨 이미지를 생성하는 처리를, 화상을 스캔해서 근방의 화소와의 관계를 나타내는 임시의 식별 정보를 라벨링하고, 복수의 임시 식별 정보의 결합 정보를 생성하는 제1의 단계와, 임시의 식별 정보 및 그들의 결합 상태로부터, 화상 엘리먼트를 나타내는 진정한 식별 정보(real identification information)를 라벨링하는 제2의 단계로 나누어서 행할 수 있다. 이 제1의 단계 및 제2의 단계 모두에, 상기의 입력하는 공정과 라벨링하는 공정을 적용할 수 있으며, 각각의 단계의 처리 속도를 향상할 수 있다.
화상처리 시스템에 있어서는, 화상을 스캔해서 임시 식별 정보를 라벨링하고, 임시 식별 정보의 결합 정보를 생성하는 제1의 처리 시스템과, 결합 정보에 근거해 화상 엘리먼트를 나타내는 진정한 식별 정보를 라벨링하는 제2의 처리 시스템을 가지는 시스템을 제공할 수 있다. 제1의 처리 시스템 및 제2의 처리 시스템은, 각각 인터페이스와 라벨링 프로세서를 포함하고, 제1의 처리 시스템의 라벨링프로세서는, 임시의 식별 정보를 공통의 식별 정보로서 라벨링하고, 제2의 처리 시스템의 라벨링 프로세서는, 진정한 식별 정보를 공통의 식별 정보로서 라벨링한다. 이 화상처리 시스템은, 프로세싱 영역과, 이 프로세싱 영역을 재구성(再構成)하기 위한 제어 유닛을 구비한 재구성 가능 프로세서를 가지는 것이 바람직하다. 제1의 처리 시스템에 포함되는 인터페이스 및 라벨링 프로세서와, 제2의 처리 시스템에 포함되는 인터페이스 및 라벨링 프로세서를, 프로세싱 영역에, 제1의 처리 시스템의 처리가 종료한 후에 구성할 수 있다. 프로세싱 영역에, 제1의 처리 시스템과, 제2의 처리 시스템을 다른 타이밍으로 재구성함으로써, 프로세서의 하드웨어 자원이 유효 활용되어, 소형이며 고성능인 화상처리 시스템을 제공할 수 있다.
복수의 프로세싱 유닛을 탑재한 FPGA등의 재구성가능한 집적 회로장치는 다수의 처리를 병렬로 실행할 수 있는 기능을 갖춘 하드웨어의 하나이다. 본 출원인의 국제공개 WO02/095946호에 기재된 재구성가능한 집적 회로장치는, 다이나믹하게 회로 구성을 변경할 수 있으므로, 화상처리 시스템에 적합한 집적 회로장치이다.
임시 식별 정보를 라벨링하는 제1의 단계 및 제1의 처리 시스템에 있어서, 화소 블록의 단위로 임시 식별 정보를 라벨링한다. 따라서, 각각의 화소의 단위가 아니라, 화소 블록의 단위로 임시 식별 정보를 선택할 수 있다. 임시 식별 정보를 라벨링하는 제1의 단계 및 제1의 처리 시스템에 있어서는, 화소 블록과 함께, 화소 블록에 접하며, 선행하여 임시 식별 정보가 라벨링된 화소를 포함하는 인접 화소군을 입력한다. 또한, 임시 식별 정보를 라벨링하기 위해서, 화소 블록의 단위로 이하의 처리를 행한다.
d1. 인접 화소군(群)이 승계(承繼)가능한 임시 식별 정보를 포함하는 경우는, 그 임시 식별 정보를 공통의 식별 정보로서 승계한다.
d2. 인접 화소군이 다른 승계가능한 임시 식별 정보를 포함할 경우는, 승계한 임시 식별 정보와 미승계(未承繼)의 임시 식별 정보와의 결합 정보를 기록한다.
d3. 인접 화소군이 승계가능한 임시 식별 정보를 포함하지 않을 경우는, 새로운 임시 식별 정보를 공통의 식별 정보로 한다.
이 임시 식별 정보를 라벨링하는 프로세서에 있어서는, 화소 블록 및 인접 화소군을 디코드(decode)하는 처리와, 승계가능한 임시 식별 정보 또는 새로운 임시 식별 정보를 선택해서 라벨링하는 처리를 파이프라인 방식으로 행하도록 구성할 수 있다. 또한, 제1의 단계의 후에 실행되는, 진정한 식별 정보를 공통의 식별 정보로서 라벨링하는 제2의 단계는, 제1의 단계에 대하여 독립한 입력하는 공정 및 라벨링하는 공정을 포함하고, 라벨링하는 공정에서는, 결합 정보에 기초하여 결합 관계에 있는 화소 블록에 공통되는 진정한 식별 정보를 공통의 식별 정보로서 라벨링한다.
화소가 연속 혹은 연결된 화상 엘리먼트를 구별하기 위한 식별 정보가 라벨링된 화상을 생성할 수 있다. 그것을 위해서는, 제1의 단계 및 제1의 처리 시스템에 있어서, 2차원에서 서로 인접하는 4개의 화소로 이루어지는 화소 블록과, 그 화소 블록이 이웃하는 2변에 인접하는 6개의 화소로 이루어지는 인접 화소군을 입력하고, 화소 블록 및 인접 화소군의 쌍방에, 화소가 연속되는 화상 엘리먼트를 구성하는 화소가 포함되어 있는 경우에, 인접 화소군에 포함되는 임시 식별 정보를 승계한다. 복수의 화소 블록과, 그들과 관련되는 인접 화소군을 입력하여, 그들에 포함되는, 연결된 화상 엘리먼트를 구성하는 화소에 대하여 임시 식별 정보를 라벨링하는 것도 가능하다.
화소 블록에 포함되는 그루핑 대상의 화소 모두에 공통의 식별 정보를 라벨링하는 방식에 있어서는, 화소 블록에 포함되는 그루핑 대상의 화소가 연속 혹은 연결되어 있는지 여부는 판단되지 않는다. 공통의 식별 정보를 라벨링하는 범위가 2 x 2 화소만을 포함하는 화소 블록의 경우는, 그들의 화소가 8연결에 근거하는 연결 상태가 될 뿐이다. 화소 블록에 포함되는 화소의 수를 많게 하거나, 화소 블록끼리의 관련으로 공통의 식별 정보를 라벨링하는 것에 의해, 반드시 연결되어 있는 것은 아닌 화소에 대하여 공통의 식별 정보를 라벨링할 수 있다. 이러한 방식의 라벨링에 의해, 고해상도의 화상 데이터에 포함되는 화소에 대하여 러프(rough)한 그루핑이 가능하다. 다시 말해, 연결되지 않는 화소에 대하여도, 소정의 조건으로 그루핑할 수 있다. 또한, 화소 블록에 포함되는 화소에 대하여 일괄하여, 병렬 처리에 의해, 같은 식별 정보를 첨부할 수 있으므로, 라벨링을 위한 처리 속도는 향상한다. 그리고, 이러한 방식으로 라벨링하는 과정은 화상의 해상도를 변환하는 처리를 포함하지 않으므로, 화상 데이터의 정밀도를 열화시키지 않고, 고해상도의 화상 데이터에 대하여, 러프하게 그루핑한 식별 정보를 붙일 수 있다.
제1의 단계 및 제1의 처리 시스템에 있어서, 적어도 하나의 화소 블록과, 그 화소 블록에 인접하는 적어도 하나의 화소 블록을 포함하는 인접 화소군을 입력하고, 화소 블록 및 인접 화소군의 쌍방에, 그루핑 대상의 화소가 포함되어 있는 경우에, 인접 화소군에 포함되는 임시 식별 정보를 승계할 수 있다. 화소 블록끼리를 관련된 범위로 하여, 그 관련되는 범위 내에 화소가 있으면, 화소가 연락 혹은 연결되어 있지 않아도, 임시 식별 정보가 승계된다. 따라서, 연결을 초과한 범위의 관련성을 구비한 화소에 공통의 식별 정보를 부여할 수 있다.
제1의 단계 및 제1의 처리 시스템에 있어서, 2차원에서 서로 인접하는 4개의 화소 블록으로 이루어지는 대(大)화소 블록과, 그 대화소 블록이 이웃하는 2변에 인접하는 6개의 화소 블록으로 이루어지는 인접 화소군을 입력하고, 대화소 블록 및 인접 화소군의 쌍방에, 그루핑 대상의 화소가 포함되어 있는 경우에, 인접 화소군에 포함되는 임시 식별 정보를 승계할 수 있다. 이 대화소 블록은 4개의 화소 블록을 포함하고 있어, 16개의 화소에 의해 구성된다. 따라서, 4개의 화소 블록과, 거기에 인접하는 6개의 화소 블록을 관련되는 범위로 하여, 그 관련되는 범위에 속하는 화소에 공통의 식별 정보를 부여하여, 그루핑할 수 있다. 이러한 방식의 라벨링에서는, 16개의 화소에 대하여 병렬로 라벨링할 수 있고, 그 때문에, 대화소 블록과 인접 화소군을 포함해서 40개의 화소를 병렬로 처리한다. 따라서, 병렬로 동작하는 복수의 처리 엘리먼트를 가지는 하드웨어(프로세서)에 설치하는데 적합한 라벨링방식이다. 승계의 로직이 복잡해지지만, 복수의 대화소 블록과, 그들에 관련되는 인접 화소군을 입력해서 병렬로 처리하는 것도 가능하다.
또한, 진정한 식별 정보를 라벨링하는 제2의 단계 및 제2의 처리 시스템에 있어서도, 결합 정보에 근거하여, 결합 관계에 있는 대화소 블록에 공통되는 진정한 식별 정보를 공통의 식별 정보로 하고, 대화소 블록에 포함되는 모든 그루핑 대상의 화소에 라벨링할 수 있다. 따라서, 임시 식별 정보를 통합해서 재(再)라벨링하는 처리에 있어서도, 16개의 화소 혹은 그 이상의 수의 화소에 대하여, 병렬로 식별 정보를 라벨링할 수 있다.
본 발명의 다른 하나의 형태는, 화상을 해석하는 방법으로서, 이하의 공정을 포함한다.
e1. 화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하는 한정된 복수의 화소를 포함하는 화소 블록을 하나의 단위로서 입력한다.
e2. 이진화된 화소에 근거하여, 화소 블록에 포함되는, 그루핑 대상의 온 또는 오프의 모든 화소에 공통의 식별 정보를 라벨링한다.
e3. 적어도 하나의 화소 블록을 포함하는 단위로 연산을 되풀이하고, 각각의 화상 엘리먼트의 특징값을 산출한다.
라벨링하는 공정에서는, 화소 블록의 단위로, 그 화소 블록에 포함되는 화소에 대하여 일괄하여 같은 식별 정보가 첨부된다. 따라서, 화소 엘리먼트는 화소 블록의 집합이 되므로, 화소 블록을 포함하는 단위로 연산을 되풀이하는 것에 의해, 각각의 화상 엘리먼트의 특징값을 산출할 수 있다. 화상처리 시스템에 있어서도, 적어도 하나의 화소 블록을 포함하는 단위로 연산을 되풀이하여, 각각의 화상 엘리먼트의 특징값을 산출하도록 구성된 제1의 프로세서를 가지는 것이 바람직하다. 화상처리 시스템이 재구성가능한 프로세서를 포함하는 경우는, 이 제1의 프로세서도, 제1의 처리 시스템의 처리가 종료한 후의 적당한 타이밍으로, 프로세싱 영역에 재구성하는 것이 가능하다.
또한, 라벨링하는 공정과 병렬로, 라벨링되는 화소 블록의 단위로, 화상 엘리먼트의 특징값에 기여하는 블록 특징값을 산출하는 공정을 더 가지는 방법은 유용하다. 각각의 화소 블록의 특징값을 구하는 것은, 식별 정보에 의해 그루핑되는 화상 엘리먼트의 특징값을 집계하여 구하기 위한 전(前)처리로서 의미를 가진다. 이 블록 특징값을 산출하는 공정에 있어서는, 이진화 화소를 이용하여 특징량을 구하는 것도 가능하며, 게다가 라벨링되는 화소 블록에 포함되는 다치(multivalue, 多値) 화소에 의해, 블록 특징값을 산출할 수 있다. 따라서, 농담(濃淡)의 정보(gray level information)를 포함하는 다치 화소에 의해 특징값을 구하는 처리를, 라벨링하는 처리, 특히 임시 식별 정보를 라벨링하는 처리와 병렬로 실행하는 것이 가능하게 되어, 라벨링된 정보에 기초하여 농담 정보를 포함하는 화상 데이터에 재차 액세스하는 처리 시간을 생략할 수 있다.
화상처리 시스템은, 인터페이스로부터 라벨링프로세서와 병렬로 화소 블록을 포함하는 데이터가 공급되어, 라벨링되는 화소 블록의 단위로, 화상 엘리먼트의 특징값에 기여하는 블록 특징값을 산출하도록 구성된 제2의 프로세서를 더 가지는 것이 바람직하다. 그리고, 제2의 서브 프로세서는, 라벨링되는 화소 블록에 포함되는 다치 화소에 의해, 화상 엘리먼트의 특징값에 기여하는 값을 산출하도록 구성되는 것이 바람직하다.
도 1은, 화소 블록의 단위로 화상을 스캔하는 모양을 나타낸다.
도 2(a)는, 화소 블록의 구성과, 인접 화소군의 화소의 구성을 확대해서 나타내고, 도 2(b)는 임시 식별자(임시 ID)의 배열을 나타낸다.
도 3(a) 내지 (d)는, 임시 식별자를 선택할 때의 화소 블록의 구성과 인접 화소군의 구성과의 조합을 나타낸다.
도 4는, 임시 식별자를 선택할 때의 화소 블록의 구성과 인접 화소군의 구성의 조합을 정리해서 나타내는 테이블.
도 5는, 대화소 블록의 단위로 화상을 스캔하는 모양을 나타낸다.
도 6(a)은, 대화소 블록의 구성과, 인접 화소군의 화소 블록의 구성을 확대해서 나타내고, 도 6(b)은 임시 식별자(임시ID)의 배열을 나타낸다.
도 7(a) 내지 (d)는, 임시 식별자를 선택할 때의 대화소 블록의 구성과 인접 화소군의 구성과의 조합을 나타낸다.
도 8은, 화상처리의 개략을 나타내는 플로우 챠트.
도 9는, 화상처리에 적합한 재구성가능한 처리 장치의 개략구성을 나타낸다.
도 10(a) 내지 (c)는, 재구성가능한 처리 장치를 이용한 화상처리 장치의 구성을 나타낸다.
도 11은, 임시 식별자를 라벨링하는 제1의 스테이지의 인터페이스 및 라벨링프로세서의 개략구성을 나타낸다.
도 12는, 도 11에 나타내는 라벨링 프로세서의 로직 부분의 개략구성을 나타낸다.
도 13은, 농담을 해석하는 프로세서 (제2의 프로세서)의 개략구성을 나타낸다.
도 14는, 도 13에 나타내는 프로세서의 문턱치 유닛의 개략구성을 나타낸다.
도 15는, 농담(濃淡) 데이터의 개요를 나타낸다.
도 16은, 진정한 식별자를 라벨링하는 제2의 스테이지의 인터페이스 및 라벨링프로세서의 개략구성을 나타낸다.
도 17은, Y방향의 최대치를 추출하는 처리를 행하는 해석 프로세서(제1의 프로세서)의 개략구성을 나타낸다.
1. 블록 라벨링의 기본적인 개념
도 1에 블록 라벨링의 기본적인 개념을 나타내고 있다. 프레임 단위로 출력(표시, 인쇄 등)되는 이진화된 2차원의 화상(이진 화상)(1)을 예로 한다. 이 화상 (1)은, 「0」 (오프) 또는 「1」 (온 )의 값을 가지는 복수의 화소(5)가 2차원으로 배열된 것이다. 이들의 화소(5)에 식별 정보를 라벨링한 라벨 이미지를 생성하는 것에 의해, 이들의 화소(5)를 포함하는 화상 데이터에 포함되는 정보를 분석할 수 있다. 화상(1)에 포함되는 정보로부터, 소정의 관계에 있는 화소(5)로 이루어지는 화상 엘리먼트를 구분, 혹은 분해하고, 화상(1)의 자동 분석을 행하거나, 화상(1)의 특정한 성분을 유저에게 나타내어 분석을 더 행하도록 할 수 있다.
종래의 라벨링은, 화소(5)가 연속 또는 연결된 성분(에어리어, 요소, 본 명세서에서는 화상 엘리먼트)을 구분하기 위해서 사용되고 있었다. 이 블록 라벨링은, 화소(5)가 연속된 화상 엘리먼트를 구분하기 위해서 사용할 수 있고, 또한 불연속이여도 일정한 관계를 가진 화소(5)로 이루어지는 화상 엘리먼트를 구분하기 위해서도 사용할 수 있다. 본 명세서에 있어서는, 불연속이여도 일정한 관계를 가진 화소(5)를 식별하는 것을, 연속한 화소(5)를 식별하는 것도 포함시켜서 그루핑이라고 하며, 특히 불연속이여도 일정한 관계를 가진 화소(5)를 식별하는 것을 러프한 그루핑(rough grouping)이라고 하는 경우가 있다. 블록 라벨링(block labeling) 처리는, 러프한 그루핑을 가능하게 하고, 이것에 의해, 화소(5)가 연속하지 않고 있는 경우라도, 어떤 범위 혹은 어떤 거리의 관련성이 인정을 받았을 때에 화상 상의 하나의 성분을 구성하는 것으로서 판단할 수 있도록 한다. 러프한 그루핑은, 연속하고 있는 화소를 포함시키며, 많아야 수(數) 화소의 범위에서 떨어져 있는 화소를 동일한 그룹으로서 식별한다.
이진 화상(binary image)에 있어서, 온「1」의 화소에 의한 구성(성분)을 화상 엘리먼트로서 간주하는 것이 가능하며, 오프「0」의 화소에 의한 구성(성분)을 화상 엘리먼트로 간주하는 것도 가능하다. 이하에서는, 온 「1」의 화소에 의해 화상 엘리먼트를 구성하는 예를 설명한다. 따라서, 「1」의 화소를 그루핑의 대상으로서 식별 정보를 블록 라벨링하는 예를 설명하고 있다. 그렇지만, 같은 방법에 의해 「0」의 화소를 그루핑의 대상으로서 블록 라벨링 처리하는 것도 가능하다.
1.1 화소가 연결된 화상 엘리먼트의 식별
도 1 및 도 2에, 화소가 연결된 화상 엘리먼트에 관한 화소에 대하여 블록 라벨링하는 예를 개시하고 있다. 화상 엘리먼트를 구별하기 위한 식별 정보가 화소에 라벨링된 라벨 이미지를 생성하는 처리에 있어서는, 하나의 화상에 포함되는 다량의 화소에 대하여 연결 상태를 판단할 필요가 있다. 2차원 화상에 있어서, 화상 엘리먼트는 2차원 방향으로 확대되는 연결된 영역이다. 화상 엘리먼트를 2차원 방향으로 검색하는 것은 방대한 메모리를 필요로 하고, 처리가 중복될 가능성이 높기 때문에 통상은 비효율적이다. 따라서, 우선 1차원 방향으로, 먼저 임시 식별 정보가 라벨링된 화소와의 연결의 유무를 판단하면서 서치하여 임시 식별 정보를 라벨 한다. 화상을 스캔하면서 임시 식별 정보를 라벨링할 때에, 후발적으로 임시 식별 정보가 연결되는 상태가 되면, 한쪽의 임시 식별 정보가 승계되어, 다른 쪽의 임시 식별 정보와의 결합 정보가 생성된다. 화상의 스캔이 종료하고, 그 화상에 관한 결합 정보가 한데 모이면, 임시 식별 정보와 그 연결 정보로부터, 연결된 엘리먼트를 나타내는 진정한 식별 정보를 선택하고, 재차 라벨링한 라벨 화상을 생성한다. 이 라벨 화상에 의해, 독립한 화상 엘리먼트를 구별하는 것이 가능해져, 다양한 화상처리에 사용할 수 있다.
블록 라벨링의 과정에 있어서는, 2차원으로 배열된 화소(5)를 라벨링처리할 때에, 화소(5)를 하나하나 독립하여, 또는 1행 단위로 한 일차원에서 처리하는 것이 아니고, 상하 좌우로 인접한 4개의 화소(5)를 하나의 단위(화소 블록)(2)로서 병렬로 처리한다. 이 화소 블록(2)은 2 x 2의 2차원의 배열을 가지며, 화소 블록(2)에 포함되는 화소(5)는 서로 인접하고 있다. 따라서, 팔방(八方)으로 연결 방향이 있는 8연결을 베이스로 하면, 하나의 화소 블록(2)에 포함되는 복수의 화소(5) 중 어느 하나가 「1」이면, 새롭게 논리 연산할 필요는 없으며, 화소 블록(2)에 포함되는 모든 화소(5)는 연결되어 있어, 반드시 같은 식별 정보, 예를 들면 라벨 등의 식별 데이터(식별자)가 첨부된다. 이것 때문에, 화소 블록(2)을 단위로 하여 라벨링하는 것에 의해, 2 x 2의 4개의 화소(5)를 병렬 처리하는 메리트와, 그들 4개의 화소(5)의 관계를 논리 연산하는 처리를 생략할 수 있다고 하는 메리트를 동시에 얻을 수 있다.
화소 블록(2)을 단위로 하여 스캔하는 방향은, 상하 좌우 어느 쪽이나 개의치 않는다. 본 예에 있어서는, 도 1에 나타낸 화상(1)의 왼쪽에서 오른 쪽(Y 방향)을 스캔 방향으로 하며, 위에서 아래(X 방향)를 서브스캔(subscanning) 방향으로서 블록 라벨링하는 예를 설명한다. 하나의 화소 블록(2)에 포함되는 화소의 연결 상태를 판단하는 대상이 되는 인접 화소군(4)은, 화소 블록(2)의 상측 및 좌측에 인접하는 6개의 화소(5)에 의해 구성된다. 블록 라벨링에 있어서는, 화소 블록(2)에 포함되는 4개의 화소(P)를 임시로(예비로) 식별하기 위한 데이터(임시 식별자, 임시ID 또는 임시 라벨)는 공통이고, 그들을 화소 블록(2)에 포함되는 4개의 화소(P)에 병렬로 라벨링한다.
도 2(a) 및 (b)에 나타내는 바와 같이, 화소 블록(2)에 포함되는 4개의 화소P (i, j), P (i, j+1), P (i+1,j) 및 P (i+1,j+1)을 임시로 식별하기 위한 4개의 데이터(임시 식별자, 임시ID 또는 임시 라벨)PID(i, j), PID(i, j+1), PID(i+1,j) 및 PID(i+1,j+1)은 공통이 된다. 따라서, 그 공통의 식별자를 복수의 화소에 대하여 병렬로 라벨링한다. 화소 블록(2)의 임시 식별자는, 먼저 임시 식별자가 라벨링되어 있는 인접 화소군(4)에 포함되는 6개의 화소 P (i-1,j-1), P (i-1,j), P (i-1,j+1), P (i-1,j+2), P (i, j-1) 및 P (i+1,j-1)의 각각의 임시 식별자를 참조하는 것에 의해 정해진다. 화상(1)의 전체를 화소 블록(2)의 단위로 스캔하면서, 이 처리를 되풀이한다. 이하에서는, 설명을 간단히 하기 위해서, 화소 블록(2)에 포함되는 화소(5)를 상기의 순번으로 화소(g0~g3)로서 참조하고, 인접 화소군(4)에 포함되는 화소(5)를 상기의 순번으로 화소(r0~r5)로서 참조한다.
도 3(a) ~ 도 3(d)에, 인접 화소군(4)의 화소의 상태와, 화소 블록(2)의 화소의 상태로부터, 인접 화소군(4)에 포함되는 임시 식별자를 화소 블록(2)이 승계하는 예를 개시하고 있다. 한편, 도 3에서는, 화소 블록(2)의 좌측 위의 화소(g0)의 상태만으로, 화소 블록(2)의 화소(5)로 라벨링되는 임시 식별자가 정해지는 예를 개시하고 있다. 도 3 (a)에서는, 화소 블록(2)의 화소(g0)가 「0」이며, 화소 블록(2)의 화소(g0)만으로는, 임시 식별자의 승계가 결정되지 않는다. 다른 화소(g1 및 g2)도 「0」이고 오른쪽 아래의 화소(g3)만이 「1」이면 인접 화소군(4)의 상태에 상관없이, 인접 화소군(4)에 포함되는 임시 식별자는 승계되지 않고, 화소(g3)에는 새로운 임시 식별자가 부여된다.
도 3(b)에서는, 화소 블록(2)의 화소(g0)가 「1」이며, 인접 화소군(4)의 화소(r0~r2, r4 및 r5)가 「0」이다. 따라서, 화소(g0)에 대해서는, 인접 화소군 (4)에는 승계하는 임시 식별자는 포함되어 있지 않다. 그렇지만, 인접 화소군(4)의 화소(r3)와, 화소 블록(2)의 화소(g1)의 상태에 따라서는, 화소 블록(2)으로서는 인접 화소군(4)에 포함되는 임시 식별자를 승계할 가능성이 있다. 승계가능한 임시 식별자가 없으면, 새로운 임시 식별자가 화소(g0)를 포함하는 화소 블록(2)의 화소에 주어진다.
도 3(c)에 나타내는 좌우의 케이스에서는, 화소 블록(2)의 화소(g0)가 「1」이다. 좌측의 케이스에서는, 인접 화소군(4)의 화소(r0) 및 화소(r2)에 임시 식별자가 라벨링되어 있다. 다시 말해, 도면 중의 인접 화소군(4)의 화소(r0) 및 화소(r2)는 「1」이며, 인접 화소군(4)은 선행하여 임시 식별자가 라벨링되어 있으므로, 이들의 화소(r0 및 r2)에는 사전의 임시 식별자가 주어져 있다. 오른쪽의 케이스에서는, 인접 화소군(4)의 화소(r2) 및 화소(r5)에 임시 식별자가 첨부되어 있다. 또한, 이들 인접 화소군(4)의 온 「1」의 화소는 연속(연결)되어 있지 않고, 그들의 화소에 라벨링된 임시 식별자는 다를 가능성이 있다. 이들의 케이스에 있어서, 화소(g0)에 대해서는, 승계가능한 임시 식별자가 복수인 경우는, 어느 한쪽의 임시 식별자를 승계하고, 그 임시 식별자와 승계되지 않은 하나 또는 복수의 다른 쪽의 임시 식별자와의 결합 정보를 출력한다. 환언하면, 승계해야 할 임시 식별자 가 복수 있을 경우는, 한쪽을 임시 식별자로서 승계하고, 다른 쪽을 결합 정보로서 승계한다. 따라서, 임시 식별자와 결합 정보를 참조하는 것에 의해, 화소의 연결 관계가 명확해진다. 화소 블록(2)의 다른 화소 및 인접 화소군(4)의 다른 화소의 상태에 의해, 화소 블록(2)으로서 승계가능한 임시 라벨은 화소(g0)에 관련된 것으로만 한정되지 않는다.
도 3(d)에 나타내는 좌우의 케이스에서는, 화소 블록(2)의 화소(g0)가 「1」이다. 좌측의 케이스에서는, 인접 화소군(4)의 화소(r0) 및 화소(r1)가 「1」이며, 이들의 화소(r0 및 r1)는 연결되어 있으므로, 같은 임시 식별자가 첨부되어 있을 가능성이 높다. 오른쪽의 케이스에서는, 인접 화소군(4)의 화소(r4)가 「1」이며 임시 식별자가 첨부되어 있다. 이들의 케이스에 있어서, 화소(g0)에 대해서는, 승계할 임시 식별자는 하나이며, 그 임시 식별자를 승계한다. 단, 화소 블록(2)의 다른 화소 및 인접 화소군(4)의 다른 화소의 상태에 따라서는, 화소 블록(2)으로서 승계가능한 임시 식별자가 복수가 될 가능성이 있으며, 그 경우는 연결 정보를 생성한다.
도 4에, 화소 블록(2)의 임시 식별자의 결정에 관련되는 화소(g0~g3)의 조합과, 거기에 대응하는 인접 화소군(4)의 조합을 나타내고 있다. 조합 #1~#5는, 인접 화소군(4)에 첨부되어 있는 임시 식별자의 어느 하나를 승계하고, 그 임시 식별자가 화소 블록(2)에 첨부되는 케이스를 나타내고 있다. 이 도 4에 나타낸 인접 화소군(4)의 상태의 조합은 논리합이며, 「1」로 나타낸 화소의 어느 하나에 임시 식별자가 첨부되어 있으면, 그 임시 식별자의 어느 하나를 화소 블록(2)의 화소의 상태에 따라 화소 블록(2)의 임시 식별자로서 승계하는 것을 나타내고 있다. 예를 들면, 조합 #1에 있어서는, 인접 화소군(4)의 화소 P (r0), P (r1), P (r2), P (r4) 및 P (r5)의 어느 하나에 임시 식별자가 첨부되어 있으며, 화소 블록(2)의 화소 P (g0)가 「1」이면, 인접 화소군(4)의 임시 식별자PID(r0), PID(r1), PID(r2), PID(r4) 및 PID(r5)의 어느 하나를 화소 블록(2)의 임시 식별자로서 승계한다. 그리고, 화소 블록(2)의 화소 P (g0), P (g1), P (g2) 및 P (g3) 중 그루핑 대상인, 값이「1」인 화소에 그 임시 식별자가 라벨링된다. 즉, 도 3(a)로부터 (d)에 도시된 임시 식별자의 승계를 나타내고 있다.
1.2 러프한 그루핑(rough grouping)에 의한 화상 엘리먼트의 식별
상기의 라벨링은, 엄밀하게 연속한 성분의 추출이다. 이것에 대하여, 1 화소 혹은 수 화소의 범위에서 단속하고 있는 성분을 식별하는, 러프한 그루핑에 의한 화상 엘리먼트의 추출도 의미가 있다. 이 러프한 그루핑은, 엄밀한 연속성은 요구되지 않으므로, 스캐너 등에 의해 화상을 데이터화할 때에, 데이터화 도중의 경우에 따라 1 화소 혹은 수 화소의 범위에서 불연속으로 된 화상 데이터로부터, 본래는 연속하고 있는 성분을 추출하기 위해서 이용할 수 있다.
연속한 요소를 추출하는 라벨링과 비교하면, 고속으로, 그리고 화상 데이터의 정밀도를 낮추지 않고, 화소와 관련성이 있는 화상 엘리먼트를 추출할 수 있으므로, 연속한 요소를 추출하는 라벨링을 이용하여, 본격적으로 화상을 해석하는 전단(前段) 처리로서 채용하는 것도 가능하다. 예를 들면, 고해상도의 화상을 저해상도화한 화상에 대하여 라벨링해서 라벨 화상을 만들고, 경계위치를 임시 결정하며 , 그 후, 원래의 고해상도의 화상에 있어서 경계부근의 영역에 대하여 다시 라벨링해서 고해상도의 라벨 화상을 생성하여 경계위치를 최종적으로 정하는 경우가 있다. 고해상도의 화상에 대하여 라벨링하는 범위는 한정할 수 있다. 그렇지만, 저해상도의 화상 데이터는 단지 경계위치를 임시로 정하는 것뿐이며, 데이터가 러프하게 되므로, 화상 엘리먼트의 특징값을 구하기 위해서도 사용할 수 없어, 유용성은 적다. 이것에 대하여, 러프한 그루핑을 제공하면, 저해상도의 데이터를 생성하지 않고, 고속으로, 경계위치를 임시로 정할 수 있다. 또한, 데이터의 해상도는 저하하고 있지 않으므로, 같은 화상 데이터를 고정밀도의 그루핑을 위해서도, 화상 엘리먼트의 특징값을 구하기 위해서도 사용할 수 있다.
도 5 및 도 6에, 블록 라벨링을 이용하여 러프한 그루핑을 행하는 예를 나타내고 있다. 이 그루핑은, 화소가 반드시 연결되어 있는 것은 아닌 화상 엘리먼트에 관한 화소를 식별할 수 있다. 그루핑의 대상이 되는 화소(5)는, 상기와 같이 온 「1」의 화소로 하고 있다. 이 러프한 그루핑에 있어서도, 2차원으로 배열된 화소(5)를 식별할 때에, 화소(5)를 하나하나 독립하여 처리하는 것이 아니고, 우선, 상하 좌우로 인접한 4개의 화소(5)를 하나의 화소처리 단위, 다시 말해, 화소 블록(2)으로 한다. 그리고, 러프한 그루핑에서는, 화소 블록(2)에 포함되어 있는 화소(5)의 적어도 하나가 온「1」이면, 화소 블록(2)은 전체로서 온인 것으로 하여 취급하고, 인접하는 복수의 화소 블록(2)의 쌍방에 적어도 하나의 온인 화소(5)가 포함되어 있으면, 그들의 화소 블록(2)에 포함되는 모든 온의 화소(5)에는 동일한 식별 정보(식별자, ID 혹은 라벨 값)가 붙여진다.
화소 블록(2)에 포함되는 화소(5)는, 2차원에서 서로 인접하고 있다. 이 때문에, 하나의 화소 블록(2)에 포함되는 복수의 화소(5)의 어느 하나가 「1」이면, 화소끼리의 위치 관계를 논리 연산할 필요는 없다. 화소 블록(2)에 포함되는 「1」의 화소(5)는 연속 혹은 연결되어 있으며, 반드시 같은 식별자가 주어진다. 또한, 화소 블록(2)에 「1」의 화소(5)가 하나라도 포함되어 있으면, 그 화소 블록(2)은 온이다. 인접하는 쌍방의 화소 블록(2)이 온이면, 그들의 화소 블록(2)에 포함되는 모든 화소(5)에 공통의 식별자가 주어진다. 따라서, 화소 블록(2)의 위치 관계를 연산하는 것만으로, 그들의 화소 블록(2)에 포함되는 각각의 화소(5)의 위치 관계를 연산하지 않고, 그들의 화소 블록(2)에 포함되는 모든 화소를 그루핑할 수 있다. 이 때문에, 병렬로 라벨링할 수 있는 화소의 수가 증대하며, 라벨링에 소비되는 처리 시간을 단축할 수 있다.
도 5 및 도 6에 나타내는 러프한 그루핑은, 상하 좌우로 인접한 4개의 화소 블록(2)을 하나의 대화소 블록(3), 다시 말해, 화소처리 단위로서 병렬로 라벨링하고, 라벨 화상을 생성하는 것이다. 이 대화소 블록(3)은, 2차원으로 서로 인접한 2 x 2의 4개의 화소 블록(2)을 포함한다. 따라서, 하나의 대화소 블록(3)에 포함되는 복수의 화소 블록(2)의 어느 하나가 온이면, 새롭게 논리 연산할 필요는 없다. 그들의 화소 블록(2)은 온이며, 또한 그들의 화소 블록(2)에 포함되는 화소(5)에는 공통의 식별자가 라벨링된다. 이 때문에, 대화소 블록(3)을 단위로 하여 그루핑 처리하는 것에 의해, 2 x 2 x 4의 16개의 화소(5)를 병렬 처리할 수 있고, 또 그들 16개의 화소(5)의 관계를 논리 연산하는 처리를 생략할 수 있다.
대화소 블록(3)에 포함되는 화소(5)는, 2개의 화소 블록(2)의 범위 내의 거리의 관련성을 가지고 있으며, 그러한 관계로 연결된 화소의 그룹에 속하는 것으로 서 식별된다고 생각할 수 있다. 게다가, 대화소 블록(3)과, 그 대화소 블록(3)에 인접하는 화소 블록(2)의 쌍방에 온의 화소(5)가 포함되어 있을 때에, 공통의 식별자를 대화소 블록(3) 및 화소 블록(2)에 포함되어 있는 화소(5)에 라벨링하는 것에 의해, 최대 3개의 화소 블록(2)의 범위 내의 거리의 관련성을 가지는 그루핑이 행해지는 것으로 이해할 수 있다.
이 러프한 그루핑에 있어서, 대화소 블록(3)을 단위로 하여 스캔하는 방향은, 상하 좌우 어느 쪽이라도 상관없다. 본 예에 있어서는, 상기와 같이, 도 5에 나타내는 화상(1)의 왼쪽에서 오른쪽(Y 방향)을 스캔 방향으로 하고, 위에서 아래(X 방향)를 서브 스캔 방향으로 하여 서치한다. 따라서, 하나의 대화소 블록(3)과의 관계를 판단하는 대상이 되는 인접 화소군(4)은, 대화소 블록(3)의 상측 및 좌측에 인접하는 6개의 화소 블록(2)에 의해 구성된다.
도 6 (a) 및 (b)에, 대화소 블록(3) 및 인접 화소군(4)에 포함되는 화소 블록(2)의 구성을 나타내고 있다. 이 블록 라벨링에서는, 대화소 블록(3)은 화소 블록BL5, 6, 8 및 9 (이하에서는, 각각의 화소 블록(2)을 BL로 표시한다)로 구성되며, 각각의 화소 블록의 임시 식별자PID5, 6, 8 및 9는 공통이다. 대화소 블록(3)에 포함되는 4개의 화소 블록(2)에 공통의 임시 식별자를 결정하기 위해서, 인접 화소군(인접 화소 블록군)(4)에 포함되는 6개의 소(小)화소 블록BL0~4 및 7의 임시 식별값PID0~4 및 7이 참조된다. 그리고, 화상(1)의 전체를 대화소 블록(3)의 단위로 스캔하면서, 임시 식별자를 라벨링하는 처리를 되풀이한다. 대화소 블록(3)에 포함되는 16개의 화소Pi0~15에 임시 식별자를 라벨링하기 위해서, 인접 화소군(4)을 포함한, 라인Li0~5의 칼럼Co0~Co7의 범위의 40개의 화소의 데이터가 병렬로 입력되며, 화소Pi0~15의 16개의 화소(5)에 대하여 임시 식별자가 병렬로 라벨링되어, 임시 식별자가 라벨링된 라벨 이미지가 생성된다.
도 7(a)~ (d)에, 인접 화소군(4)의 화소 블록(2)의 온-오프 상태와, 대화소 블록(3)의 화소 블록(2)의 온 오프 상태로부터, 대화소 블록(3)이 인접 화소군(4)에 포함되는 임시 식별자를 승계해서 라벨링하고, 또는 새로운 임시 식별자를 라벨링하는 알고리즘을 나타내고 있다. 도 7(a)은, 대화소 블록(3)에 포함되는 화소 블록(2)의 모두가 0이다. 즉, 대화소 블록(3)은, 그루핑 대상인 온의 화소(5)를 포함하지 않으므로, 임시 식별자를 라벨링하는 처리는 행해지지 않는다 (NOP).
도 7(b)에서는, 인접 화소군(4)에 포함되는 화소 블록(2)의 모두가 0이며, 대화소 블록(3)에는 온의 화소가 포함되어 있다. 이 케이스에서는, 인접 화소군(4)은, 그루핑 대상인 온의 화소(5)를 포함하지 않고, 승계가능한 임시 식별자를 포함하지 않는다. 이 때문에, 대화소 블록(3)에 포함되는 화소 블록(2)의 화소(5)의 모두에 새로운 임시 식별자가 부여된다. 다시 말해, 대화소 블록(3)에 포함되는 온의 화소(5)에 대하여 공통의 새로운 임시 식별자가 라벨링된다.
도 7(c)에서는, 인접 화소군(4)에 포함되는 화소 블록(2) 중, 인접하지 않고 있는 화소 블록(2)이 온이며, 대화소 블록(3)에는 온의 화소가 포함되어 있다. 인접 화소군(4)에 있어서는, 화소 블록(2)의 단위로 다른 임시 식별자가 화소에 라벨링되어 있을 가능성이 있다. 따라서, 대화소 블록(3)의 화소 블록(2)은, 인접 화소군(4)이 갖는 복수의 임시 식별자의 어느 하나를 승계하고, 그 승계한 임시 식별자가 대화소 블록(3)의 화소(5)에 라벨링된다. 또한, 대화소 블록(3)을 사이에 두고 인접 화소군(4)의 화소 블록(2)이 공통의 그룹에 포함된다고 판단된다. 따라서, 인접 화소군(4)의 화소 블록(2)의 임시 식별자에게 새로운 연결 관계가 생길 가능성이 있으며, 연결 관계가 생긴 임시 식별자의 연결 정보가 출력된다.
도 7(d)에서는, 인접 화소군(4)에 포함되는 화소 블록(2) 중, 인접하고 있는 화소 블록(2)이 온이며, 대화소 블록(3)에는 온의 화소가 포함되어 있다. 따라서, 대화소 블록(3)의 화소 블록(2)의 화소(5)에는, 인접 화소군(4)이 가지는 임시 식별자가 공통으로 붙여진다. 인접 화소군(4)에 있어서는, 인접한 화소 블록(2)이 온이므로, 그들의 화소 블록(2)에는 이미 같은 임시 식별자가 주어져 있어, 새로운 연결 관계는 생기지 않는다.
도 7에 나타낸 알고리즘은, 화소 블록(2)이 인접하고 있지 않아도, 대화소 블록(3)에 포함되어 있으면, 같은 그룹에 속하는 것으로서 공통의 임시 식별자를 붙여 그루핑하는 것이다. 따라서, 최대 3개의 소화소 블록(2)의 범위에 포함되는 화소(5)에 대하여 공통의 임시 식별자가 첨부된다. 도 7에 나타낸 알고리즘의 대신에, 완전히 인접한 화소 블록(2)에만 공통의 임시 식별자를 첨부하는 알고리즘을 채용하는 것은 가능하다. 그 알고리즘은, 먼저 도 3 및 도 4를 참조해서 설명한 것과 공통되며, 최대 2개의 화소 블록(2)의 범위에 포함되는 화소(5)에 대하여 공통의 임시 식별자를 라벨링하게 된다.
도 7에 나타낸 알고리즘에서는, 대화소 블록(3)의 조건은, 대화소 블록(3)에 온의 화소(5)가 포함되는지 여부에 집약된다. 따라서, 대화소 블록(3)의 상태는, 대화소 블록(3)에 포함되는 16개의 화소(5)의 논리합을 연산하는 것에 의해 판단할 수 있다. 또한, 인접 화소군(4)의 상태는, 인접 화소군(4)에 포함되는 화소 블록(2)의 온 상태에 의해 결정되며, 각각의 화소 블록(2)의 상태는, 각각에 포함되는 4개의 화소(5)의 논리합을 연산하는 것에 의해 판단할 수 있다. 따라서, 복수의 화소 데이터에 대하여 논리합을 병렬로 연산할 수 있는 능력 혹은 기능을 갖춘 하드웨어에 의해, 임시 식별자를 라벨링하는 처리를 파이프라인 방식으로 실행하는 것이 가능해진다.
이렇게, 블록 라벨링을 이용하는 것에 의해, 화상을 구성하는 다수의 화소를 러프하게 그루핑할 수 있다. 연결한 화소를 그루핑하는 처리를 라벨링 혹은 미세 입도의 라벨링(fine grain labeling)으로 하면, 이 처리는, 거친 라벨링(거친 입도 라벨링, Coarse Grain labeling)이라고 할 수 있다. 이 거친 라벨링은, 엄밀한 인접 관계를 필요로 하지 않고, 다소 떨어져 있어도 같은 식별자(라벨)가 붙여지며, 그것에 의해 화상 중의 성분을 판단할 수 있다. 이 때문에, 전처리인 로 패스 필터 (low pass filter)와, 후처리인 연결 처리를 라벨링 처리와 동시에 실행할 수 있다. 그리고, 거친 라벨링으로 하는 것에 의해 처리 블록의 사이즈는 커지고, 임시 라벨을 붙이는 처리를 고속화할 수 있다. 또한, 임시 라벨의 수도 감소하게 되므로, 임시 라벨의 중복도 줄어, 결합 관계를 정리한 통합 테이블의 작성도 고속이 되며, 게다가 리얼(real) 라벨을 붙이는 처리도 고속화할 수 있다.
따라서, 고해상도의 화상에 대하여, 저해상도화하지 않고, 고해상도의 화상에 포함되는 화소군을 고속으로 그루핑할 수 있다. 그 결과, 고속으로 화상의 경계등을 인식하는 소프트웨어 및 화상처리 장치를 제공하는 것이 가능해지고, 또한 화상의 정밀도를 유지할 수 있으므로, 높은 정밀도로 화상 엘리먼트의 특성값을 얻을 수 있다.
2. 블록 라벨링을 이용한 화상처리
도 8은, 블록 라벨링을 이용하여 화상을 해석하는 처리의 일예를 나타내는 플로우 챠트다. 이 플로우 챠트에는, 주된 데이터 입출력을 일점쇄선에 의해 나타내고 있다. 이 화상처리(10)는, 라벨 이미지를 생성하는 동시에, 그 라벨 이미지로부터 구별되는 화상 엘리먼트의 특징값을 산출한다. 이 화상처리(10)에 포함되는 라벨 이미지(25)를 생성하는 처리는, 화상을 스캔하고, 화상 엘리먼트를 구성하는 화소군에 임시 식별 정보(임시 식별자, 임시ID, 임시 라벨)를 첨부하는 제1의 스테이지(11)와, 다른 임시 식별자가 첨부된 화소군이 화상 엘리먼트로서 결합하고 있는 경우에 동일한 진정한 식별 정보(리얼 식별자(real identifier), 리얼ID(real ID), 리얼 라벨(real label))을 재차 라벨링하는 제2의 스테이지(12)를 구비하고 있다. 블록 라벨링에 의해 그루핑되는 화소는, 서로 연결한 화소에 한하지 않고, 비(非)연결이여도 소정의 관련성을 구비한 화소여도 무방한 것은 상기에서 설명한 대로다. 따라서, 이 화상처리(10)에 의해 구별되는 화상 엘리먼트도, 연결된 화소에 의해 구성되는 것에 한정되지 않는다.
이하에 있어서는, 블록 라벨링을 활용하여, 러프하게 그루핑된 화소에 의해 구성되는 화상 엘리먼트를 식별하고, 해석하는 화상처리 방법을 중심으로 설명한다. 화상처리(10)는, 그루핑된 화소군에 의해 구성되는 화상 엘리먼트의 특징값을 추출하는 해석 스테이지(13)를 더 가진다. 이 화상처리(10)는, 또한, 이진화상뿐만아니라, 다치(多値) 혹은 계조(階調) 표현(gray scale)의 화상에 대해서도 특징값을 추출하기 위해서, 임시 식별자를 라벨링하는 제1의 스테이지(11)와 병행하여 다치 화소로 이루어지는 화소 블록의 블록 특징값을 산출하는 공정(14)을 구비하고 있다.
임시 식별자를 라벨링하는 제1의 스테이지(11)는, 화상을 형성하기 위한 복수의 화소를 포함하는 화소 데이터(29)로부터, 대화소 블록(3)에 포함되는 16개의 화소 데이터와, 거기에 인접하는 인접 화소군(4)의 24개의 화소 데이터를 취득하고, 이하의 라벨링 과정(200)에 제공하기 위한 입력 과정(100)을 구비하고 있다. 또한, 제1의 스테이지(11)는, 대화소 블록(3)에 포함되는 16개의 화소(5)에 공통의 임시 식별자를 라벨링하는 라벨링 과정(200)을 구비하고 있다.
입력하는 과정(100)에서는, 스텝(101)에 있어서, 화소 데이터 파일(29)로부터 대화소 블록(3)에 포함되는 화소(5)의 데이터를 입력한다. 스텝(102)에 있어서, 화상(1)을 구성하는 화소 데이터에 미처리의 데이터가 있으면, 스텝(103)에 있어서, 화소 데이터 파일(29)로부터 취득한 다치의 화소 데이터(5)를 이진화한다. 파일(29)의 화소 데이터가 이미 이진화되어 있으면, 이 스텝은 불필요하다. 또한, 선행하여 임시 식별자가 라벨링되어, 버퍼(buffer, 버퍼 메모리)(28)에 일시적으로 축적된 인접 화소군(4)의 화소(5)의 데이터와, 그들의 화소(5)에 라벨링된 임시 식별자의 데이터를, 스텝(104)에서 취득한다.
라벨링하는 과정(200)에서는, 스텝(201)에 있어서, 대화소 블록(3) 및 인접 화소군(4)의 조건을 논리연산하고, 스텝(202)에서, 승계가능한 임시 식별자의 유무를 판단한다. 임시 식별자를 승계하는 알고리즘은, 도 7(a)~ (d)을 참조해서 설명한 바와 같다. 인접 화소군(4)이 승계가능한 임시 식별자를 하나만 포함하는 경우(조건 d1)은, 스텝(205)에 있어서, 그 임시 식별자를 승계하고, 대화소 블록(3)의 화소(5)에 공통의 임시 식별자로서 라벨링하고, 임시 라벨이미지 파일(27)에 대화소 블록(3)의 단위로 출력한다. 또한, 후속의 대화소 블록(3)의 처리에 필요한 인접 화소군(4)에 포함되는 임시 식별자의 정보를, 화소 블록(2)의 단위로, 고속 액세스가 가능한 버퍼 메모리(28)에 일시적으로 저장한다.
인접 화소군(4)이 승계가능한, 혹은 승계해야 할 복수의 임시 식별자를 포함하는 경우(조건 d2)는, 스텝(203)에 있어서, 복수의 임시 식별자에 대한 결합 정보를 기록한다. 다시 말해, 대화소 블록(3)의 화소(5)에 승계하는 임시 식별자와, 미승계로 되는 다른 식별자와의 결합 정보를 결합 정보 파일(26)에 출력한다. 또한, 스텝(205)에 있어서, 대화소 블록(3)의 화소(5)에 승계하는 임시 식별자를 라벨링하고, 임시 라벨이미지 파일(27)에 출력한다. 인접 화소군(4)이 승계가능한 임시 식별자를 포함하지 않는 경우(조건 d3)는, 스텝(204)에 있어서 새로운 임시 식별자를 발생하고, 스텝(205)에 있어서 그 새로운 식별자를 대화소 블록(3)의 화소(5)에 라벨링하여, 임시 라벨이미지 파일(27)에 출력한다. 이렇게 하여, 입력 화상을 구성하는 화소에 임시 식별자가 라벨링된 임시 라벨 이미지가 생성된다.
이 임시 식별자를 라벨링하는 제1의 스테이지(11)에서는, 입력하는 과정 (100)에 있어서, 대화소 블록(3) 및 인접 화소군(4)에 포함되는 40개의 화소 Pi의 데이터를 병렬로 읽어들인다. 그리고, 라벨링하는 과정(200)에 있어서는, 대화소 블록(3)에 포함되는 16개의 화소 Pi중 그루핑 대상인 화소(본 예에서는, 온 혹은 「1」의 화소)에 대하여 임시 식별자를 라벨링하는 처리를 병렬 실행한다. 따라서, 입력하는 과정(100)과 라벨링하는 과정(200)은 일련의 처리로서 하드웨어화하는 것에 의해, 파이프라인 방식으로 실행할 수 있다. 게다가, 라벨링하는 과정 (200)에 있어서도, 승계를 연산하기 위해서, 입력된 40개의 화소 Pi를 디코드하는 스텝(201)과, 그것에 의해 결정되는 임시 식별자를 라벨링하는 스텝(205)이 파이프라인 방식으로 실행되도록 하드웨어에 이들의 처리를 실장할 수 있다. 따라서, 대화소 블록(3)에 포함되는 16개의 화소(5)에 대하여 임시 식별자를 라벨링하는 제1의 스테이지(11)의 처리를, 실질적으로 1 클록(one clock)으로 실행하는 것이 가능하게 된다.
또한, 결합 정보를 기록하는 스텝(203) 및 새로운 임시 식별자를 선택하는 스텝(204)도, 대화소 블록(3) 및 인접 화소군(4)을 디코드한 결과가 이용된다. 이 때문에, 제1의 스테이지(11)로서 하드웨어화하는 것에 의해, 이들의 스텝(203 및 204)의 처리를, 승계를 연산하는 스텝(201) 혹은 라벨링하는 스텝(205)과 병렬로 처리하도록 하드웨어를 구성하는 것이 가능하며, 16개의 화소를 판독하여 라벨링하는 파이프라인을 파탄(破綻) 혹은 지연시키지 않고, 제1의 스테이지(11)의 처리를 실행하는 것이 가능하다.
화상처리(10)에서는, 임시 식별자를 라벨링하는 제1의 스테이지(11)와 병렬로 실행되는 해석 처리(14)에 있어서, 임시 식별자가 라벨링되는 대화소 블록(3)에 포함되는 화소(5)의 다치 데이터를 해석하고, 대화소 블록(3)의 단위로 농담(濃淡) 정보를 연산한다. 블록 단위의 농담 정보는, 블록 특징값으로서 대화소 블록(3)의 단위로(본 예라면 1/16로) 압축되어, 블록 특징값 파일(22)로 출력된다. 대화소 블록(3)에 포함되는 16개의 화소(5)는 동일한 임시 식별자가 라벨링되므로, 후에 동일한 진정한 식별자가 라벨링되어, 동일한 화소 엘리먼트를 구성한다. 따라서, 이 공정(14)에 있어서, 대화소 블록(3)에 포함되는 16개의 화소(5)의 다치 데이터(계조 데이터, 그레이 스케일 데이터)로부터, 농담 정보, 예를 들면 농도의 최대 최소, 평균 등을 대화소 블록(3)의 단위로 구해 두는 것은 유효하다. 나중에, 임시 식별자의 결합 정보에 기초하여, 대화소 블록(3)의 단위의 블록 특징값, 예를 들면 농담 정보를 집계하는 것에 의해 화상 엘리먼트의 농담 정보를 구할 수 있고, 농담 정보를 해석하는 처리 시간을 단축할 수 있다.
또한, 임시 식별자를 라벨링하는 제1의 스테이지(11)에 있어서는, 처리 화소 데이터(29)로부터 대화소 블록(3)에 포함되는 화소(5)가 입력된다. 이 때문에, 제1의 스테이지(11)와 병렬로 대화소 블록(3)의 단위의 농담 정보를 구하는 것에 의해, 농담 정보를 연산하기 위해 화소 데이터 파일(29)에 액세스하는 공정을 생략할 수 있고, 이 점에서도 농담 정보를 해석하는 처리 시간을 단축할 수 있다.
제1의 스테이지(11)가 종료하면, 스텝(15)에 있어서, 결합 정보 파일(26)에 축적된 결합 정보로부터 통합 테이블(23)을 생성한다. 스텝(203)에 있어서, 인접 화소군(4)에, 다른 임시 식별자가 라벨링된 화소(5)가 포함되어 있는 경우는, 대화소 블록(3)의 화소에 승계된 임시 식별자와, 미승계의 임시 식별자와의 페어가, 결합 정보 파일(26)에 기록된다. 승계된 임시 식별자와, 미승계의 임시 식별자는 같은 그룹(화상 엘리먼트)을 나타내는 식별 정보이다. 이 때문에, 제2의 스테이지(12)에 있어서는, 그들의 임시 식별자가 라벨링된 화소(5)에, 최종적으로 같은 그룹에 속하는 식별자(진정한 식별자)를 재차 라벨링한다. 따라서, 사전에, 승계된 임시 식별자와, 미승계의 임시 식별자를 통합할 필요가 있으며, 스텝(15)에 있어서 통합 테이블(23)을 생성한다.
이 스텝(15)에 있어서는, 임시 식별자의 결합 정보(26)로부터, 서로 같은 그룹에 속하는 화소에 라벨링되어 있는 임시 식별자에 대하여 공통의 진정한 식별자(리얼 라벨)를 할당하고, 임시 식별자와 진정한 식별자와의 대응을 나타내는 통합 테이블(23)을 생성한다. 통합 테이블(23)은, 예를 들면 임시 식별자를 어드레스(address)로 하며, 거기에 대응하는 진정한 식별자를 리드(read)할 수 있는 것이다. 통합 테이블(23)을, 임시 식별자를 어드레스로서 참조하는 것에 의해 진정한 식별자로 변환하는 것이 가능해진다. 복수의 임시 식별자의 결합은, 화소가 연결된 화상 엘리먼트를 추출하기 위한 처리이면, 복수의 임시 식별자가 라벨링된 화소가 연결되어 있는 것을 나타낸다. 한편, 러프한 그루핑에 있어서는, 복수의 임시 식별자의 결합은 복수의 임시 식별자가 라벨링된 화소가 반드시 연결되어 있다는 것을 의미하지 않는다. 그렇지만, 그들의 화소는 소정 레인지(range)의 관련성을 구비하고 있다.
다음으로, 제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)의 단위로, 거기에 포함되는 그루핑 대상의 화소에 대하여 공통의 진정한 식별자가 병렬로 라벨링된다.
화상처리(10)에 있어서는, 제2의 스테이지(12)가 종료하면, 해석 스테이지(13)를 실행한다. 이 해석 스테이지(13)에서는, 스텝(131)에 있어서, 대화소 블록(3)의 단위로 해석하고, 그 블록 특징값을 산출한다. 그 다음에, 스텝(132)에 있어서, 진정한 식별자가 공통의 대화소 블록(3)의 블록 특징값을 집계하는 처리를 되풀이하고, 화상 엘리먼트마다의 특징값을 산출한다. 이진화소 혹은 2진(2値) 데이터로부터 산출할 수 있는 특징값은, 이진화된 화소에 임시 식별자를 라벨링한 임시 라벨이미지 데이터(27)에 의해, 화소 블록 혹은 대화소 블록의 단위로 연산할 수 있다. 농담 정보에 있어서는, 대화소 블록(3)의 블록 특징값이, 먼저 설명한 것과 같이, 스테이지(14)에 있어서 얻어진다. 따라서, 스텝(133)에 있어서 집계하는 것에 의해, 화상 엘리먼트마다의 농담(濃淡)에 관계되는 특징값도 산출할 수 있다. 특징값에는 화상 엘리먼트의 면적, 무게중심, 종횡(縱橫)의 치수 등이 포함된다.
해석 스테이지(13)에 있어서는, 진정한 식별자가 라벨링된 라벨 이미지(25)에 근거해서 화상 엘리먼트마다의 특징값을 산출하는 대신에, 통합 테이블(23)을 참조하는 것에 의해, 블록 특징값을 화상 엘리먼트마다 집계하는 것이 가능하다. 따라서, 하드웨어 자원이 충분히 있으면, 제2의 스테이지(12)와 병렬로, 해석 스테이지(13)를 실행하도록 하드웨어를 구성하는 것이 가능하다.
3. 화상처리 시스템
상술한 화상처리(10)는, 임시 식별자를 라벨링하는 제1의 스테이지(11)와, 진정한 식별자를 라벨링하는 제2의 스테이지(12)가, 이러한 순번으로 실행된다. 그리고, 동일한 화상에 대하여 이들의 처리(스텝)는 중복되지 않는다. 해석 스테이지(13)는, 상술한 것 같이 제2의 스테이지(12)의 뒤에 실행해도 좋고, 병렬로 실행해도 좋다. 예를 들면, 통합 테이블(23)을 생성하는 스텝(15)이 종료한 후에, 진정한 식별자를 라벨링하는 제2의 스테이지(12)와, 해석 스테이지(13)를 병렬로 실행할 수 있다.
제1의 스테이지(11)와, 제2의 스테이지(12)는 실행하는 타이밍이 겹치지 않는다. 이 때문에, 재구성가능한 하드웨어에 의해, 제1의 스테이지(11)를 실행하기 위한 회로와, 제2의 스테이지(12)를 실행하기 위한 회로를 재구성하면서, 화상처리 (10)를 실행하는 것에 의해, 하드웨어 자원을 효율좋게 이용할 수 있다.
또한, 화상처리(10)는, 다수의 화소 데이터를 병렬로 처리할 수 있고, 처리 시간을 단축할 수 있다. 따라서, 복수의 처리 엘리먼트를 포함하여, 그들 복수의 처리 엘리먼트에 의해 병렬로 가동하는 복수의 데이터 패스가 구성되는 프로세싱 영역을 구비한 프로세서에 처리(10)을 실장하는 것에 의해, 이 화상처리(10)의 특성을 살려서 처리 시간을 단축할 수 있다. 처리 엘리먼트는, 어느 정도의 규모의 논리연산 기능을 갖추고 있으며, 또한 재구성가능한 집적 회로장치에 포함되는 것이 바람직하다.
도 9에 나타내는 처리 장치(30)는, 재구성가능한 하드웨어의 하나의 예이며, 동적으로 회로를 재구성할 수 있는 영역을 구비하고 있다. 이 처리 장치(30)는, 어느 정도의 연산 기능, 예를 들면 ALU를 구비한 프로세싱 엘리먼트(이후에 있어서는 EXE)(32)를 접속해서 여러 가지 데이터 패스를 구성가능한 매트릭스 영역(프로세싱 영역)(31)을 구비하고 있다. 또, 처리 장치(30)는, 매트릭스(31)의 EXE(32)의 접속을 제어하여 데이터 패스를 동적으로 구성하는 콘트롤러(33)와, 매트릭스(31)에 구성하는 데이터 패스의 하드웨어 정보(구성 정보)를 기록한 RAM(34)과, 매트릭스(31)의 회로에 의해 처리되는 데이터를 일시적으로 기록하는 버퍼(35)를 구비하고 있다. 또한 처리 장치(30)는, 외부 메모리(36)에 대하여 데이터를 입출력하기 위한 인터페이스도 구비하고 있다.
복수의 EXE(32)를 접속하는 것에 의해, 병렬로 가동하는 데이터 패스를 구성할 수 있는 처리 장치는, 복수의 화소 데이터를 병렬로 처리하는데 적합하며, 화상처리(10)에 적합한 하드웨어 자원이다. 또한, 처리 장치(30)의 매트릭스 영역(이하에서는 매트릭스(matrix))(31)의 EXE(32)의 접속을, 화상처리(10)의 각 스테이지(11~13)을 순서대로 실행하도록 재구성하는 것에 의해, 화상처리(10)를 행하기 위한 전용의 처리 시스템으로서 사용할 수 있다. 이하에서는, 처리 장치(30)를 사용하여 화상처리(10)를 실행하는 화상처리 시스템(50)에 대해서 설명한다. 한편, 매트릭스(31)의 EXE(32) 등의 하드웨어 자원이 충분히 있으면, 처리 장치(30)에 있어서, 라벨링에 관한 화상처리뿐만 아니라, 다른 처리를 동시에 실행할 수 있다.
도 10(a)~ (c)에, 화상처리 시스템(50)으로서 처리 장치(30)를 기능시키기 위해서, 프로세싱 영역인 매트릭스(31)를 재구성하는 모양을 나타내고 있다. 화상처리 시스템(50)으로서 처리 장치(30)를 기능시키기 위해서, 이 예에서는, 3종류의 컨피겨레이션(Configuration) 정보(51~53)를 미리 준비하고, 처리 장치(30)의 컨피겨레이션 RAM(34)에 저장한다. 그리고, 콘트롤러(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)가 재구성된 상태를 나타내고 있다.
도 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)은, 승계한 임시 식별자 또는 새로운 임시 식별자를 공통의 임시 식별자로서, 대화소 블록(3)에 포함되는, 그루핑 대상인 온의 모든 화소(5)에 대하여 병렬로 라벨링한다.
도 11에, 제1의 구성 정보(51)에 의해 매트릭스(31)에 구성되는 회로의 개요 를 더욱 자세하게 나타내고 있다. 인터페이스(54)는, 외부 메모리(36)의 화소 데이터 파일(29)로부터 대화소 블록(3)에 포함되는 화소 데이터를 로드하고, 이진화 회로(61)에 의해 이진화하여 라벨링 프로세서(55)에 공급한다. 그와 더불어, 다치의 화소 데이터를 해석용의 프로세서(56)에 공급한다. 또한, 버퍼(28)로부터 인접 화소군(4)의 임시 식별자(임시ID)를 취득하고, 라벨링 프로세서(55)에 공급한다. 라벨링 프로세서(55)는, 인터페이스(54)로부터 공급된 데이터의 논리합을 연산하는 로직 회로(65)와, 그 논리합의 결과에 의해 승계할 임시ID의 유무 등을 판단하는 룩업 테이블(look-up table, LUT)(66)과, 임시ID를 선택하는 선택기(selector, 67)와, 결합 정보를 선택하는 선택기(68)를 구비하고 있다.
로직 회로(65)는, 대화소 블록(3) 및 인접하는 화소 블록(2)에 대응하는, 합계 10개의 화소 블록(2)(도 6의 BL0~BL9)의 각각의 논리합에 의해, 10개의 값을 구비한 어드레스(79)를 생성한다. LUT(66)는, 그 값(79)을 어드레스 입력으로서 거기에 저장된 마이크로코드(microcode)를 ID제어 신호(71)로서 출력한다. 그리고, 그 마이크로코드(71)에 의해 선택기(67 및 68)를 비롯한 각종 로직을 제어한다.
라벨링을 행하는 데이터 생성 회로(69)는, 대화소 블록(3)에 포함되는 16개의 화소(5)에 대하여, 병렬로 임시ID를 라벨링한다. 이 예에서는, 데이터 생성 회로(69)는, 인터페이스 회로(54)로부터 공급된 2진의 16개의 화소 데이터에, 선택된 임시ID(72)를 더하여, 1워드(32비트)의 블록 화소 데이터(73)로서 출력한다.블록 화소 데이터(73)는, ID(73d)와, 16개분의 화소 데이터(73p)를 포함한다. 따라서, 대화소 블록(3)에 포함되는 16개의 화소 데이터에 대한 라벨링은, 1워드의 데이터로서 일괄하여 병렬로 처리된다. 임시 라벨이미지 파일(27)에 출력되는 임시 라벨이미지 데이터는, 블록 화소 데이터(73)에 의해 구성된다.
도 12에, 라벨링 프로세서(55)에 있어서, 공급된 화소 데이터로부터 블록 화소 데이터(73)를 생성해서 출력할 때까지의 개략의 회로 구성을 나타내고 있다. 우선, 인터페이스(54)는, 실제로는 외부 메모리(36)로부터 라인 버퍼(35)에 축적된 화소 데이터(29)로부터, 대화소 블록(3) 및 그 인접 화소군(인접 화소 블록군)(4)에 포함되는 화소 데이터를 시프트 레지스터(shift register) 및 마스크 회로(mask circuit)에 의해 잘라낸다. 예를 들면, 도 5 및 도 6에 나타낸 라인Li0~5, 칼럼Co0~7의 화소 데이터(5)를 로드한다. 이들 40도트(dot) 분의 40비트(bit)의 화소 데이터는, 충분한 버스 폭(bus width)을 확보할 수 있으면 1클록(1사이클)로 판독할 수 있는 데이터다.
라벨링 프로세서(55)의 로직 회로(65)는, OR회로(65a)에 의해, 0번째의 라인Li0과 1번째의 라인Li1의 화소 데이터(5)의 논리합을 연산하고, 블록BL0~3의 온 상태, 즉 각각의 블록에 적어도 하나의 온의 화소가 있는 것을 판단한다.마찬가지로, OR회로(65b)에 의해 2번째의 라인Li2과 3번째의 라인Li3의 화소 데이터(5)의 논리합을 연산하고, 블록BL4~6의 온 상태를 판단한다. OR회로 (65c)에 의해 4번째의 라인Li4과 5번째의 라인Li5의 화소 데이터(5)의 논리합을 연산하고, 블록BL7~9의 온 상태를 판단한다.
인접 화소군(4)의 상태 및 대화소 블록(3)의 상태는, 이들의 OR회로(65a, 65b 및 65c)의 연산 결과에 의해 판단할 수 있다. 이 때문에, 이들의 OR회로 (65a, 65b 및 65c)의 출력의 논리합을 OR회로(65d)에 의해 더 연산하고, 10개의 화소 블록BL0~BL9의 논리합 결과를 10비트의 어드레스 입력(79)으로서 생성하여, LUT(66)에 공급한다. 그것에 의해, LUT(66)로부터 적절한 마이크로코드가 ID제어 신호(71)로서 출력된다. LUT(66)은 매트릭스 영역(31)에 미리 설치된 RAM 엘리먼트를 채용해서 구성할 수 있다.
이러한 회로 구성에 의한, 화소 데이터(5)를 로드하고, 순서대로 논리합을 연산해서 ID제어 신호(71)를 출력하는 일련의 처리는, 퇴각(backtracking)하는 일없이 연달아(sequentially) 행하여진다. 따라서, 재구성가능한 매트릭스(31)에 배치된 다수의 엘리먼트(32)를 이용하여 다수의 병렬 처리용의 데이터 패스를 구성하는 것에 의해, 1개 혹은 복수의 대화소 블록(3)에 관련되는 화소 데이터를 병렬로, 파이프라인 처리하는 것이 가능해진다. 이 때문에, 실질적으로 1클록(1사이클)로, 적어도 하나의 대화소 블록(3), 즉 적어도 16화소의 임시ID를 결정할 수 있다.
데이터 생성 회로(69)는, 하나의 대화소 블록(3)에 포함되는 16화소분의 정보와, 그들에 공통되어 첨부되는 임시ID의 정보를 포함한, 1워드길이(32비트)의 블록 화소 데이터(73)를 생성하고, 임시 라벨이미지 데이터로서 임시 라벨이미지 파일(27)에 출력한다. 이 블록 화소 데이터(73)에는, 또한 대화소 블록(3)의 위치 정보, 16화소분의 정보로부터 연산된 대화소 블록(3)의 특성값 등을 포함시키는 것이 가능하다.
블록 화소 데이터(73)를 생성하기 위해서는, 데이터 생성 회로(69)에 대하여, 대화소 블록(3)에 포함되는 16화소분의 데이터와, 그들에 라벨링되는 임시ID의 데이터(72)를 공급할 필요가 있다. LUT(66)의 ID제어 신호(71)에 의해, 그 대화소 블록(3)의 임시ID의 데이터(72)가 데이터 생성 회로(69)에 공급되기 위해서는, 대화소 블록(3)의 화소 데이터가 입력되고나서 어느 정도의 연산 시간이 필요로 된다. 입력 인터페이스(54)에 의해 로드한 16화소분의 데이터는, 적당한 지연 회로 혹은 파이프라인 레지스터를 통하여 데이터 생성 회로(69)에 공급하는 것에 의해, 그 대화소 블록(3)의 임시ID의 데이터(72)와 동기하여, 데이터 생성 회로(69)에 공급할 수 있다. 따라서, 라벨링 프로세서(55)에 있어서는, 라인 버퍼(35)로부터 대화소 블록(3)의 화소 데이터를 로드하고나서, 그 화소 데이터에 임시ID를 라벨링해서 출력할 때까지의 처리를 파이프라인 방식으로 실행할 수 있다.
이 때문에, 화상처리 장치(50)에 있어서는, 실질적으로 1클록으로, 적어도 하나의 대화소 블록(3), 즉 적어도 16화소에 대하여 임시ID를 결정하고, 그 임시ID가 라벨링된 임시 라벨이미지 데이터를 출력할 수 있다. 따라서, 화상처리 장치(50)는, 적어도 16화소를 1사이클로 그루핑하는 것이 가능하며, 1화소 단위로 라벨링하는 처리와 비교하면, 적어도 십수 배의 속도로 화상처리를 행할 수 있다. 그리고, 그루핑된 블록 화소 데이터(73)에는, 오리지날 해상도의 화소 데이터(73p)가 보존되어 있어, 해석된 화상의 해상도가 열화되는 일도 없다.
도 13에, 대화소 블록(3)의 단위로, 특징량을 추출하는 프로세서(56)의 개략구성을 나타내고 있다. 이 해석용의 프로세서(56)에는, 인터페이스(54)에 의해 라인 버퍼(35)로부터 잘라낸 하나의 대화소 블록(3)에 포함되는 16화소분의 원래 데이터(original data), 다시 말해, 그레이 스케일(다치)의 화소 데이터가 공급된다. 각각의 화소 데이터는, 문턱치 처리 유닛(62)에 의해 농담의 최대 또는 최소를 부여하는 데이터인지 여부가 판단된다. 문턱치 처리가 행하여진 16화소분의 데이터는, 선택기(63a 및 63b)에 의해 최대값 및 최소값이 계산되어, 그들의 결과가 시프트?OR회로(63c)에 의해 1워드의 농담 데이터(74)로 패킹된다. 최대값 및 최소값의 계산에 에러가 없으면, 게이트 회로(63d)를 통과하여, 블록 특징값 파일(22)에 농담 데이터(74)가 출력된다.
도 14에, 문턱치 처리 유닛(62)에 있어서, 1 화소분의 문턱치 처리를 행하는 회로 구성을 나타내고 있다. 1 화소분의 화소 데이터(29p)는, 비교기(comparator, 62a)에 의해 제1의 문턱치(62b)와 비교되어, 화소 데이터(29p)가 제1의 문턱치(62b)보다 크면 의미가 있다(有意)고 판단된다. 그 결과, 캐리(carry, 62x)가 어서트(assert)되어, 선택기(62e)에 의해 화소 데이터(29p)가 최대치를 비교하기 위한 데이터로서 출력된다. 화소 데이터(29p)가 제1의 문턱치(62b)를 하회(下回)할 경우는, 선택기(62e)로부터「0」이 출력되어, 최대치로서는 무시된다. 또한, 화소 데이터(29p)는, 비교기(62c)에 의해 제2의 문턱치(62d)와 비교되어, 화소 데이터(29p)가 제2의 문턱치(62d) 보다 작다면 의미가 있다고 판단된다. 그 결과, 캐리(62y)가 어서트되어, 선택기(62f)에 의해 화소 데이터(29p)가 최소값을 비교하기 위한 데이터로서 출력된다. 화소 데이터(29p)가 제2의 문턱치(62b)를 상회(上回)할 경우는, 선택기(62f)로부터 「FF」가 출력되어, 최소값으로서는 무시된다. 비교 결과를 나타내는 캐리(62x 및 62y)는 회로(62g)에 의해 논리합이 계산되며, 또한 회로(62h)에 의해 다른 화소의 비교 결과도 포함한 논리합이 계산된다.
그 결과, 어느 하나의 화소 데이터(29p)가, 제1의 문턱치(62b) 및 제2의 문턱치(62d)의 범위 내로부터 벗어나 있으면, 의미가 있는 농담 정보인 것으로서 출력된다. 예를 들면, 결함의 유무를 판단하는 경우, 모든 화소의 농담 데이터가 제1의 문턱치(62b) 및 제2의 문턱치(62d)의 범위 내이면, 해석의 대상이 된 대화소 블록(3)의 범위 내에는 결함이 없다고 판단되어, 농담 정보는 출력되지 않는다.
이 해석 프로세서(56)는, 라벨링 프로세서(55)와 마찬가지로 대화소 블록(3)의 단위로 농담 정보(74)를 출력한다. 도 15에 나타내는 바와 같이, 이 블록 단위의 농담 정보인 블록 특징 데이터(74)는, 블록 화소 데이터(73)와 1 대 1로 대응하고 있다. 따라서, 후에 임시 식별자(임시ID) 및 통합 테이블(23)에 근거하여 집계하는 것에 의해, 화상 엘리먼트마다의 특징값(농담 정보)을 얻을 수 있다.
제1의 스테이지(11)가 종료하면, 도 10(b)에 나타내는 바와 같이, 제2의 구성 정보(52)에 의해 매트릭스(31)는, 통합 테이블을 생성하도록 재구성된다. 결합 정보 파일(26)에는, 대화소 블록(3)의 화소에 승계된 임시 식별자와, 그것과 페어 가 되는 미승계의 임시 식별자가 기록되어 있다. 따라서, 라벨 이미지를 생성하기 위한 다음 단계로서, 연결 관계에 있는 1 또는 복수의 임시 식별자의 페어에 대하여 동일한 진정한 식별자(리얼 ID)를 부여하는 통합 테이블(23)을 생성한다.
결합 정보 파일(26)로부터 통합 테이블(23)을 생성하는 알고리즘은 다음과 같게 된다. 결합 정보 파일(26)에는, 2개의 임시ID의 결합을 나타내는 엔트리 (entry)가 복수 기록되어 있다. 또, 통합 테이블(23)은, 임시ID를 어드레스로서 액세스하는 것에 의해, 거기에 대응하는 리얼 라벨을 리드할 수 있는 것이다.
h1. 결합 정보 파일(26)의 n번째의 엔트리의 임시ID가 「a」 및「b」라고 하면, n번째의 엔트리를 그룹 큐(group queue)에 저장한다.
h2. 그룹 큐의 선두부터 엔트리, 예를 들면, 「a」와 「b」의 페어(pair)를 비교 대상 레지스터에 저장한다.
h3. 결합 정보 파일(26)로부터 n번째 이후의 값을 판독하여 비교 대조 레지스터의 값 「a」 및 「b」와 비교한다.
h4. 적어도 한쪽이 일치한 엔트리는 그룹 큐에 추가된다.
h5. 결합 정보 파일(26)의 말미에 도달하면, 그룹 큐로부터 다음 엔트리를 판독하여 비교 대상 레지스터에 저장하여 같은 조작을 행한다.
h6. 그룹 큐의 말미에 도달하면, 그룹 큐에 엔트리된 모든 임시ID에 대하여 동일한 리얼 ID를 할당한다.
이상으로 하나의 리얼ID에 대해서, 통합 테이블(23)에 수용된 정보를 얻을 수 있고, 그 리얼ID에 관한 그루핑이 완료한다. 그 다음에, n+1번째의 엔트리를 결합 정보 파일(26)로부터 판독하여, 같은 조작을 행한다. 단, 일단 그룹 큐에 저장된 결합 정보는, 다시 그룹 큐에 저장되는 일은 없는 것으로 한다. 이상의 조작이 완료한 후, 아직 리얼ID가 부여되지 않은 임시ID가 있으면, 그것에 대해서 각각 유니크한 리얼ID를 부여한다. 이상의 조작에 의해 통합 테이블(23)이 생성된다. 제2의 구성 정보(52)는, 매트릭스 영역(31)에 상기의 알고리즘을 실행하기 위한 데이터 패스를 구성한다.
통합 테이블(23)이 생성되면, 도 10(c)에 나타내는 바와 같이, 제3의 구성 정보(53)에 의해 매트릭스(31)는, 제2의 스테이지(12)를 실행하도록 재구성된다. 동시에, 제3의 구성 정보(53)에 의해, 매트릭스(31)는, 해석 스테이지(13)를 실행하도록 재구성된다. 제3의 구성 정보(53)에 의해, 제2의 스테이지(12)를 실행하기 위해서, 임시 라벨이미지 파일(27)로부터, 임시ID(73d)와 화소 데이터(73p)를 구비한 블록 화소 데이터(73)를 입력하는 인터페이스(59)과, 임시ID를 리얼ID로 다시 라벨링(relabel)하는 라벨링 프로세서(라벨링 엔진)(60)가 구성된다. 또한, 제3의 구성 정보(53)에 의해, 해석 스테이지(13)를 실행하기 위해서, 블록 화소 데이터(73)를 디코드(decode)하여 대화소 블록(3)을 단위로 하는 특징값을 연산하는 회로(81)와, 블록 단위의 특징값을 통합 테이블(23)에 근거해서 집계하는 회로(82)를 포함하며, 화상 엘리먼트어(語)마다의 특징값을 산출하는 해석 프로세서(해석 엔진, 제1의 프로세서)(80)가 구성된다.
도 16에, 블록 화소 데이터(73)를 입력하고, 통합 테이블(23)을 참조하여, 대화소 블록(3)의 단위로 진정한 식별자(리얼ID, 리얼 라벨)를 라벨링하는 라벨링 프로세서(60)의 회로 예를 개시하고 있다. 우선, 인터페이스 회로(59)는, 임시 라벨이미지 파일(27)에 액세스해서 블록 화소 데이터(73)를 취득한다. 블록 화소 데이터(73)에는, 대화소 블록(3)을 구성하는 16개분의 화소 데이터(73p)가 포함되어 있어, 이들의 화소 데이터가 병렬로 입력되게 된다. 진정한 식별자의 라벨링 프로세서(59b)에 있어서는, 블록 화소 데이터(73)의 임시ID(73d)를 어드레스로서 통합 테이블(23)에 액세스하고, 리얼ID를 취득한다. 그 리얼ID를 블록 화소 데이터(73)의 16개분의 화소 데이터에 근거하여, 매트릭스(31)의 엘리먼트(32)를 병렬로 동작하는 선택기로 사용해서, 그루핑의 대상이 되는 온 「1」의 화소에 라벨링하고, 다른 화소는 「0」으로 해서 라벨이미지 파일(25)에 출력한다.
라벨링 프로세서(60)는, 블록 화소 데이터(73)의 ID의 값(73d)을 임시ID로부터 리얼ID로 재기록한 블록 화소 데이터를, 라벨 이미지의 데이터로서 출력하는 것도 가능하다. 이 경우도 16화소분의 데이터(73p)에 대하여, 병렬로 일괄해서 리얼ID가 라벨링되게 된다.
도 17에, 해석 프로세서(80)의 회로 예를 개시하고 있다. 이 회로(80)는, Y 좌표 방향의 최대치를 구하는 로직을 실장하는 것이다. 이 회로(80)는, 각각의 대화소 블록(3)의 특징량(최대치)을 디코더(decoder)를 사용하여 구하는 제1의 회로(81)와, 그들을 리얼ID에 의해 집계하고, 리얼ID에 의해 그루핑된 화소의 최대치를 구하는 제2의 회로(82)를 구비하고 있다. 제1의 회로(81)는, 16화소분의 데이터를 포함한 블록 화소 데이터(73)의, 16화소분의 데이터(73p)를 제어 데이터로 변환하는 디코더(83)와, 그 제어 데이터에 의해 대화소 블록(3)의 단위로 특징값, 즉, Y좌표 방향의 최대치를 구하는 선택기(84)를 구비하고 있다. 제2의 회로(82)는, 블록 화소 데이터(73)의 임시ID(73d)를 통합 테이블(23)에 의해 리얼ID로 변환하고, 그 리얼ID를 어드레스로서 Y-Max테이블(85)에 액세스하는 Y-Max테이블 I/F(86)과, 최대치를 선택하는 선택기(87)를 구비하고 있다. 선택기(87)는, Y-Max테이블 I/F(86)을 통하여 테이블(85)로부터 얻어진 리얼ID의 Y좌표최대치 및 선택기(84)에 의해 얻어진 Y좌표를 입력으로 하여, 최대치를 선택한다. 또한, 선택기(87)는, I/F(86)을 통하여 새로운 최대치를 Y-Max테이블(85)에 출력하여, 최대치를 갱신한다.
이러한 해석 프로세서(80)에 의해, 그루핑된 화소군으로 이루어지는 화상 엘리먼트의 Y방향의 폭을 구할 수 있다. 마찬가지로, Y좌표방향의 최소값, X좌표방향의 최대 및 최소값 등의 다종다양한 특징량을 구할 수 있다. 16화소에 의해 구성되는 화소 대블록(3)의 단위로 특징량을 연산할 수 있으므로, 특징량의 산출에 필요한 처리 시간을 단축할 수 있다.
해석 프로세서(80)는, 또한 후속의 블록 화소 데이터(73)를 판독하여 통합 테이블(23)을 통하여 리얼ID를 비교하고, 리얼ID가 같을 경우는 테이블(85)에 기록하기 전에, 후속의 블록 화소 데이터(73)를 포함시켜서 최대치를 구하는 회로 (89)를 구비하고 있다. 이 회로(89)에 의해, 리얼ID가 동일하게 되는 블록 화소 데이터(73)가 연속했을 때의 처리 시간을 단축할 수 있다. 해석 프로세서(80)는, Y-Max테이블(85)에 대하여 리드?모디파이?라이트(read-modify-write)의 처리를 행하기 때문에, 연속해서 동일한 리얼ID가 입력되는 상황을 상정할 필요가 있고, 파이프라인의 지연시간(latency)이 늘어난다. 본 도면의 회로(89)를 부가하여, 후속의 블록 화소 데이터(73)를 선행하여 판독하여 비교하는 것에 의해, 피드백 패스의 지연시간을 5 사이클로부터 3 사이클로 단축할 수 있다.
상술한 화상처리 방법(10) 및 화상처리 장치(50)는, 인접하지 않은 화소를 소망의 룰에 의해 그루핑할 수 있는 것이다. 연결한 화소에 한정해서 식별자를 라 벨링하는 처리 방법 및 처리 장치는, 임시 식별자를 라벨링하는 로직을 도 3 및 도4을 참조하면서 설명한 것으로 변경하는 것에 의해, 거의 공통의 구성으로 제공할 수 있다.
또한, 이상에서는, 2차원의 이진화 화상의 해석을 예로 설명하고 있지만, 본 발명을 적용할 수 있는 범위는 이것에 한정되지 않는다. 기본이 되는 작은 화소 블록(2)은, 서로 인접하는 4개의 화소로 구성하고 있지만, 더욱 긴 범위의 관련성이 있는 화소를 그루핑할 경우는, 5개 이상의 화소로 기본이 되는 화소 블록을 구성해도 좋다. 대화소 블록(3)을 서로 인접하는 4개의 화소 블록(2)에 의해 구성하고 있지만, 더욱 긴 범위의 관련성이 있는 화소를 그루핑할 경우는, 5개 이상의 화소 블록(2)에 의해 대화소 블록을 구성해도 좋다. 또한, 화소를 이진화할 때에, 모노크롬(monochrome)에 한정되지 않고, 컬러 화상(color image)의 각 색(色) 성분을 이진화하는 것도 가능하다. 또한, 2차원 화상에 한하지 않고, 3차원 화상에 대하여도 블록 라벨링을 적용할 수 있으며, 그 경우는, 먼저 설명한 바와 같이, 서로 인접하는 8개의 화소에 의해 기본이 되는 화소 블록이 구성된다.
본 발명은, 화상 엘리먼트를 추출하는 등에 채용할 수 있는 라벨링(labeling)에 의한 라벨 이미지의 생성 방법 및 화상처리 시스템을 제공할 수 있다.

Claims (31)

  1. 라벨 이미지를 생성하는 방법으로서,
    화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하는 복수의 화소를 포함하는 화소 블록을 하나의 단위로서 입력하는 공정과,
    이진화된 화소에 기초하여, 상기 화소 블록에 포함되는, 그루핑 대상인 온 또는 오프의 모든 화소에 공통의 식별 정보를 라벨링하는 공정을 가지고,
    상기 화상을 스캔해서 임시 식별 정보를 라벨링하는 제1의 단계로서, 상기 입력하는 공정과, 상기 라벨링하는 공정을 포함하는 제1의 단계를 가지며,
    상기 제1의 단계의 입력하는 공정에서는, 상기 화소 블록과 함께, 상기 화소 블록에 접하며, 사전에 임시 식별 정보가 라벨링된 화소를 포함하는 인접 화소군을 입력하고,
    상기 제1의 단계의 라벨링하는 공정은,
    상기 인접 화소군이 그루핑 대상인 화소에 승계될 수 있는 인접하는 화소군의 임시 식별 정보인 승계가능한 임시 식별 정보를 포함하는 경우는, 그 임시 식별 정보를 상기 공통의 식별 정보로서 승계하고,
    상기 인접 화소군이 복수의 승계가능한 임시 식별 정보를 포함하는 경우는, 승계한 임시 식별 정보와 미승계의 임시 식별 정보와의 결합 정보를 기록하며,
    상기 인접 화소군이 승계가능한 임시 식별 정보를 포함하지 않는 경우는, 새로운 임시 식별 정보를 상기 공통의 식별 정보로 하는 공정을 포함하는, 라벨 이미지를 생성하는 방법.
  2. 제1항에 있어서,
    상기 화소 블록은, 2차원에서 서로 인접하는 4개의 화소 또는 3차원에서 서로 인접하는 8개의 화소로 구성되는, 라벨 이미지를 생성하는 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 제1의 단계의 뒤에 실행되는, 화상 엘리먼트를 나타내는 진정한 식별 정보를 라벨링하는 제2의 단계를 가지며,
    상기 제2의 단계는, 상기 제1의 단계에 대하여 독립한 입력하는 공정 및 라벨링하는 공정을 포함하고,
    상기 제2의 단계의 라벨링하는 공정에서는, 상기 결합 정보에 기초하여, 결합 관계에 있는 화소 블록에 공통되는 진정한 식별 정보를 상기 공통의 식별 정보로 하는, 라벨 이미지를 생성하는 방법.
  6. 제1항에 있어서,
    상기 제1의 단계의 입력하는 공정에서는, 2차원에서 서로 인접하는 4개의 화소로 이루어지는 화소 블록과, 그 화소 블록이 이웃하는 2변에 인접하는 6개의 화소로 이루어지는 인접 화소군을 입력하고,
    상기 제1의 단계의 라벨링하는 공정에서는, 상기 화소 블록 및 상기 인접 화소군의 쌍방에, 화소가 연속하는 화상 엘리먼트를 구성하는 화소가 포함되어 있는 경우에, 상기 인접 화소군에 포함되는 임시 식별 정보를 승계하는, 라벨 이미지를 생성하는 방법.
  7. 제1항에 있어서,
    상기 제1의 단계의 입력하는 공정에서는, 적어도 하나의 화소 블록과, 그 화소 블록에 인접하는 적어도 하나의 화소 블록을 포함하는 인접 화소군을 입력하고,
    상기 제1의 단계의 라벨링하는 공정에서는, 상기 화소 블록 및 상기 인접 화소군의 쌍방에, 그루핑 대상인 화소가 포함되어 있는 경우에, 상기 인접 화소군에 포함되는 임시 식별 정보를 승계하는, 라벨 이미지를 생성하는 방법.
  8. 제1항에 있어서,
    상기 제1의 단계의 입력하는 공정에서는, 2차원에서 서로 인접하는 4개의 화소 블록으로 이루어지는 대화소 블록과, 그 대화소 블록이 이웃하는 2변에 인접하는 6개의 화소 블록으로 이루어지는 인접 화소군을 입력하고,
    상기 제1의 단계의 라벨링하는 공정에서는, 상기 대화소 블록 및 상기 인접 화소군의 쌍방에, 그루핑 대상인 화소가 포함되어 있는 경우에, 상기 인접 화소군에 포함되는 임시 식별 정보를 승계하는, 라벨 이미지를 생성하는 방법.
  9. 제8항에 있어서,
    상기 제1의 단계의 뒤에, 화상 엘리먼트를 나타내는 진정한 식별 정보를 라벨링하는 제2의 단계를 가지고, 이 제2의 단계는, 상기 제1의 단계와는 독립한 입력하는 공정 및 라벨링하는 공정을 포함하며,
    상기 제2의 단계의 라벨링하는 공정에서는, 상기 결합 정보에 기초하여 결합 관계에 있는 대화소 블록에 공통되는, 진정한 식별 정보를 상기 공통의 식별 정보로 하며, 상기 대화소 블록에 포함되는 모든 그루핑 대상인 화소에 라벨링하는, 라벨 이미지를 생성하는 방법.
  10. 제1항에 있어서,
    적어도 하나의 화소 블록의 단위로 연산을 되풀이하여, 동일한 임시 식별자를 갖는 각각의 화상 엘리먼트의 특징값을 산출하는 공정을 가지는, 라벨 이미지를 생성하는 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 화상을 형성하기 위한 복수의 화소를 포함하는 데이터로부터, 다차원에서 서로 인접하고, 화소 블록을 구성하는 복수의 화소를 포함하는 데이터를 병렬로 입력하도록 구성된 인터페이스와,
    이진화된 화소에 기초하여, 상기 화소 블록에 포함되는, 그루핑 대상인 온 또는 오프의 모든 화소에 대하여, 공통의 식별 정보를 병렬로 라벨링하도록 구성된 라벨링 프로세서를 가지고,
    상기 화상을 스캔해서 임시 식별 정보를 라벨링하는 제1의 처리 시스템을 가지며,
    상기 제1의 처리 시스템은 상기 인터페이스, 상기 라벨링 프로세서 및 메모리를 포함하고,
    상기 메모리는 사전에 임시 식별 정보가 라벨링된 화소를 저장하며,
    상기 제1의 처리 시스템의 인터페이스는, 상기 화소 블록과 함께, 상기 화소 블록에 인접하며, 사전에 임시 식별 정보가 라벨링된 화소로서 상기 메모리에 저장된 인접 화소군을 입력하도록 구성되고,
    상기 제1의 처리 시스템의 라벨링 프로세서는,
    상기 인접 화소군이 그루핑 대상인 화소에 승계될 수 있는 인접하는 화소군의 임시 식별 정보인 승계가능한 임시 식별 정보를 포함하는 경우는, 그 임시 식별 정보를 상기 공통의 식별 정보로서 승계하고,
    상기 인접 화소군이 복수의 승계가능한 임시 식별 정보를 포함하는 경우는, 승계한 임시 식별 정보와 미승계의 임시 식별 정보와의 결합 정보를 기록하며,
    상기 인접 화소군이 승계가능한 임시 식별 정보를 포함하지 않는 경우는, 새로운 임시 식별 정보를 상기 공통의 식별 정보로 하는 처리를 행하도록 구성되는, 시스템.
  18. 제17항에 있어서,
    상기 화소 블록은, 2차원에서 서로 인접하는 4개의 화소 또는 3차원에서 서로 인접하는 8개의 화소로 구성되는, 시스템.
  19. 제17항에 있어서,
    복수의 처리 엘리먼트를 포함하고, 그들 복수의 처리 엘리먼트에 의해 병렬로 가동하는 복수의 데이터 패스가 구성되는 프로세싱 영역을 구비한 프로세서를 가지며,
    상기 인터페이스 및 라벨링 프로세서는, 상기 프로세싱 영역에 구성되는, 시스템.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 제17항에 있어서,
    상기 제1의 처리 시스템의 라벨링 프로세서는, 상기 화소 블록 및 상기 인접 화소군을 디코드하는 처리와,
    상기 승계가능한 임시 식별 정보 또는 상기 새로운 임시 식별 정보를 선택해서 상기 공통의 식별 정보로서 상기 화소 블록의 그루핑 대상인 화소에 대하여 라벨링하는 처리를 파이프라인 방식으로 행하도록 구성되는, 시스템.
  24. 제17항에 있어서,
    화상 엘리먼트를 나타내는 진정한 식별 정보를 라벨링하는 제2의 처리 시스템을 가지고, 상기 제2의 처리 시스템은, 상기 제1의 처리 시스템과는 독립한 인터페이스 및 라벨링 프로세서를 포함하고,
    상기 제2의 처리 시스템의 라벨링 프로세서는, 상기 결합 정보에 기초하여, 결합 관계에 있는 화소 블록에 공통되는 진정한 식별 정보를 상기 공통의 식별 정보로 하도록 구성되는, 시스템.
  25. 제17항에 있어서,
    상기 제1의 처리 시스템의 인터페이스는, 2차원으로 서로 인접하는 4개의 화소로 이루어지는 화소 블록과, 그 화소 블록이 이웃하는 2변에 인접하는 6개의 화소로 이루어지는 인접 화소군이 상기 제1의 처리 시스템의 라벨링 프로세서에 공급되도록 구성되고,
    상기 제1의 처리 시스템의 라벨링 프로세서는, 상기 화소 블록 및 상기 인접 화소군의 쌍방에, 화소가 연속하는 화상 엘리먼트를 구성하는 화소가 포함되어 있는 경우에, 상기 인접 화소군에 포함되는 임시 식별 정보를 승계하도록 구성되는, 시스템.
  26. 제17항에 있어서,
    상기 제1의 처리 시스템의 인터페이스는, 2차원으로 서로 인접하는 4개의 화소 블록으로 이루어지는 대화소 블록과, 그 대화소 블록이 이웃하는 2변에 인접하는 6개의 화소 블록으로 이루어지는 인접 화소군이 상기 제1의 처리 시스템의 라벨링 프로세서에 공급되도록 구성되고,
    상기 제1의 처리 시스템의 라벨링 프로세서는, 상기 대화소 블록 및 상기 인접 화소군의 쌍방에, 그루핑 대상인 화소가 포함되어 있는 경우에, 상기 인접 화소군에 포함되는 임시 식별 정보를 승계하도록 구성되는, 시스템.
  27. 제26항에 있어서,
    화상 엘리먼트를 나타내는 진정한 식별 정보를 라벨링하는 제2의 처리 시스템을 가지고, 상기 제2의 처리 시스템은, 상기 제1의 처리 시스템과는 독립한 인터페이스 및 라벨링 프로세서를 포함하며,
    상기 제2의 처리 시스템의 라벨링 프로세서는, 상기 결합 정보에 근거하여, 결합 관계에 있는 대화소 블록에 공통되는, 진정한 식별 정보를 상기 공통의 식별 정보로 하며, 상기 대화소 블록에 포함되는 모든 그루핑 대상인 화소에 라벨링하도록 구성되는, 시스템.
  28. 제17항에 있어서,
    적어도 하나의 화소 블록의 단위로 연산을 되풀이하여, 동일한 임시 식별자를 갖는 각각의 화상 엘리먼트의 특징값을 산출하도록 구성된 프로세서를 더 가지는, 시스템.
  29. 삭제
  30. 삭제
  31. 제26항에 있어서,
    복수의 처리 엘리먼트를 포함하고, 그들 복수의 처리 엘리먼트에 의해 병렬로 가동하는 복수의 데이터 패스가 구성되는 프로세싱 영역과, 이 프로세싱 영역을 재구성하기 위한 제어 유닛을 구비한 재구성 가능 프로세서를 가지며,
    상기 제1의 처리 시스템에 포함되는 인터페이스 및 라벨링 프로세서와, 상기 제2의 처리 시스템에 포함되는 인터페이스 및 라벨링 프로세서는, 상기 프로세싱 영역에 서로 겹치지 않는 타이밍으로 구성되는, 시스템.
KR1020077005396A 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템 KR101199195B1 (ko)

Applications Claiming Priority (3)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127011233A Division KR101225146B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템

Publications (2)

Publication Number Publication Date
KR20070046916A KR20070046916A (ko) 2007-05-03
KR101199195B1 true KR101199195B1 (ko) 2012-11-07

Family

ID=35907548

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077005396A KR101199195B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템
KR1020127011233A KR101225146B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127011233A KR101225146B1 (ko) 2004-08-20 2005-08-19 라벨 이미지의 생성 방법 및 화상처리 시스템

Country Status (6)

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

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4859390B2 (ja) * 2005-05-10 2012-01-25 株式会社リコー 画像処理方法及び画像処理装置
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
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
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110444A1 (en) * 2001-09-21 2003-06-12 Koubun Sakagami Data processing method, circuit, and apparatus with increased accuracy
US20030156757A1 (en) * 1999-03-31 2003-08-21 Minolta Co., Ltd. Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon

Family Cites Families (17)

* 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 特徴抽出装置
JPH077444B2 (ja) * 1986-09-03 1995-01-30 株式会社東芝 三次元画像の連結成分抽出装置
JP2984295B2 (ja) * 1990-01-29 1999-11-29 キヤノン株式会社 画像処理用ラベル付け装置
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 富士通株式会社 仮ラベル割付処理方式と実ラベル割付処理方式
JPH07105368A (ja) * 1993-10-06 1995-04-21 Tokimec Inc 画像のラベリング方法および画像のラベリング装置
JP2734959B2 (ja) 1993-12-27 1998-04-02 日本電気株式会社 仮ラベル付け方法
JP3420864B2 (ja) * 1995-08-09 2003-06-30 富士通株式会社 枠抽出装置及び矩形抽出装置
EP0974952B1 (en) * 1998-02-09 2007-02-28 Seiko Epson Corporation Electro-optical device and method for driving the same, liquid crystal device and method for driving the same, circuit for driving electro-optical device, and electronic device
JP2000285237A (ja) * 1999-03-31 2000-10-13 Minolta Co Ltd 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
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
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030156757A1 (en) * 1999-03-31 2003-08-21 Minolta Co., Ltd. Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon
US20030110444A1 (en) * 2001-09-21 2003-06-12 Koubun Sakagami Data processing method, circuit, and apparatus with increased accuracy

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101199195B1 (ko) 라벨 이미지의 생성 방법 및 화상처리 시스템
US5796868A (en) Object edge point filtering system for machine vision
CN110838105B (zh) 一种业务流程模型图像识别与再构方法
US8059896B2 (en) Character recognition processing system and computer readable medium storing program for character recognition processing
US6937761B2 (en) Process for processing images to automatically extract semantic features
US8351691B2 (en) Object extraction in colour compound documents
JP3851742B2 (ja) 帳票処理方法及び装置
JP2000207489A (ja) 文字抽出方法、装置および記録媒体
CN111104855A (zh) 一种基于时序行为检测的工作流识别方法
JP4390523B2 (ja) 最小領域による合成画像の分割
JP4194309B2 (ja) 文書方向推定方法および文書方向推定プログラム
CN115860034B (zh) 解码方法、解码装置、解码芯片及扫码设备
JP2832928B2 (ja) 文字認識方法
JP2001043312A (ja) 文書画像処理装置
JP3272381B2 (ja) 領域境界点抽出方法
Kong et al. Color subspace exploring for natural image matting
Castells-Rufas et al. Camera-based digit recognition system
CN116012274A (zh) 基于深度学习的哑油缺陷检测方法
JP2001076154A (ja) デジタル画像のセグメント化方法及びデジタル画像処理装置
KR100408521B1 (ko) 영상 데이터베이스로부터의 질의 객체 추출방법
JPH01239683A (ja) 線分の記述方法
JPH06274692A (ja) 文字抽出装置
Rodrigues et al. A systolic array approach to determine the image threshold by local edge evaluation
JPH02140887A (ja) 画像領域分離方法
JPH07152862A (ja) 文字認識用の文字切り出し装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 7