KR100311633B1 - 문서화상으로부터의타이틀추출장치및방법 - Google Patents

문서화상으로부터의타이틀추출장치및방법 Download PDF

Info

Publication number
KR100311633B1
KR100311633B1 KR1019960035503A KR19960035503A KR100311633B1 KR 100311633 B1 KR100311633 B1 KR 100311633B1 KR 1019960035503 A KR1019960035503 A KR 1019960035503A KR 19960035503 A KR19960035503 A KR 19960035503A KR 100311633 B1 KR100311633 B1 KR 100311633B1
Authority
KR
South Korea
Prior art keywords
rectangle
title
region
character string
area
Prior art date
Application number
KR1019960035503A
Other languages
English (en)
Other versions
KR970017047A (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 KR970017047A publication Critical patent/KR970017047A/ko
Application granted granted Critical
Publication of KR100311633B1 publication Critical patent/KR100311633B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Character Input (AREA)
  • Processing Or Creating Images (AREA)

Abstract

문서를 화상 데이타로 변환하여 얻어진 문서 화상으로부터 용이하게 타이틀 부분을 추출하는 것이 과제이다. 타이틀 추출 장치는 문서 화상 내의 블랙 화소를 주사하고, 그것들이 연결되어 있는 영역에 외접하는 직사각형 영역을 문자 직사각형으로서 추출하고, 인접하는 복수의 문자 직사각형을 통합하여, 그것들의 문자 직사각형에 외접하는 직사각형 영역을 문자열 직사각형으로서 추출한다. 다음에, 각 문자열 직사각형의 하선 속성, 프레임 속성 및 괘선 속성 등의 속성과, 문서 화상내의 문자열 직사각형의 위치나 상호 위치 관계에 기초하여, 바람직한 타이틀의 포인트를 계산하여, 높은 포인트를 획득한 문자열 직사각형을 타이틀 직사각형으로서 추출한다. 또한, 표형식의 문서의 경우, 표 내에서 타이틀 직사각형을 추출할 수 있다. 추출된 타이틀 직사각형 내의 문자는 인식 처리 후에 문서 화상의 키워드로서 이용된다.

Description

문서 화상으로부터의 타이틀 추출 장치 및 방법
본 발명은 화상 데이타의 인식 처리에 관한 것으로, 문서를 화상 데이타로 입력하여 얻은 문서 화상으로부터 타이틀 부분의 영역을 추출하는 타이틀 추출 장 치 및 방법에 관한 것이다.
일반 문서를 스캐너 등의 광전 변환 장치로 판독하여 얻은 화상 데이타인 문 서 화상으로부터 문서의 타이틀 등의 부분 영역을 추출하는 종래 기술은 다음과 같 다.
(1) 타이틀 등의 영역이 고정되어 있는 문서를 대상으로 하여 고정 영역을 타이틀로서 추출한다(일본 특허 공개 공보 제64-46873호).
(2) 문서에 색 마커나 테두리선으로 둘러싸는 등의 특정한 마크를 붙이고 나서, 광전 변환 장치로 판독하여, 특정한 색 부분이나 특정한 마크 부분의 추출에 의해서 타이틀 부분을 추출한다(일본 특허 공개 공보 제1-150974호).
(3) 문서의 문자열이나 사진 등의 물리 구조를 트리 구조 등으로 표현하고, 그 논리 구조와의 매칭을 취하는 것으로, 물리 구조에 「타이틀」, 「저자명」 등의 태그를 붙인다(일본 특허 공개 공보 제1-183784호, 동 특허 공개 공보 제5-342336호 등).
(4) 문서 화상의 일부의 영역을 지정하고, 그 내부를 투영하여 블랙 화소의 막대 그래프를 작성한다. 그 막대 그래프상에서 투영된 블랙 화소의 값이 2개의 임계치의 사이에 있는 부분이 연속하는 범위를 구하여, 그 연속 길이가 임계치보다 큰 부분을 타이틀로서 추출한다(일본 특허 공개 공보 제5-274471).
그 밖에 표를 포함하는 문서 화상에서 표 내의 타이틀 등의 부분 영역을 추출하는 종래 기술은 다음과 같다.
(5) 표를 포함하는 고정 포맷의 문서(타이틀 등의 영역이 고정되어 있는 문서)를 대상으로 하여 고정된 영역을 타이틀로서 추출한다(일본 특허 공개 공보 제7-093348호).
(6) 문서 화상을 투영하여 블랙 화소의 막대 그래프를 작성하고, 막대 그래프의 분포로부터 테두리선을 추출하여, 테두리선에 둘러싸인 문자열을 타이틀로서 추출한다(일본 특허 공개 공보 제5-274367호).
(7) 문서 화상 내의 전체 문자 영역에서 문자를 인식하고, 얻은 문자 코드에 대하여 단어(키워드) 조회나 형태소 해석 등의 언어적, 논리적인 지식 처리를 행하여, 그 결과로부터 바람직한 타이틀 문자열을 추출한다(일본 특허 공개 공보 제 3-276260호).
(8) 문서 화상 내의 화이트 화소 연결부분으로 둘러싸인 영역을 표부분으로서 추출하고, 그 내부에서 괘선(罫線)을 추출하여 괘선으로 둘러싸인 영역을 구한다. 그리고, 이 영역의 내부에 있는 화상과 소정의 문자열[템플레이트(template)]과의 템플레이트-매칭을 행하는 것으로, 그것과 동일한 문자열을 타이틀로서 추출한다(일본 특허 공개 공보 제3-74728호).
그러나, 이들의 종래 기술에는 각각 아래에 기술된 것과 같은 문제점이 있다.
(1) 및 (5)의 방법에서는 서식이 고정된 문서밖에 취급할 수 없다. 서식을 변경할 경우에는 추출하는 부분의 설정도 변경할 필요가 있다.
(2)의 방법에서는 원고 문서에 마크를 붙이는데 시간이 걸린다.
(3)의 방법에서는 트리 구조 등으로 표현한 논리 구조의 사전을 미리 준비할 필요가 있다. 또한, 사전에 없는 논리 구조의 순서에 관하여는 정확히 타이틀을 추출할 수 없게 된다.
(4)의 방법에서는 문서 화상의 일부의 영역의 지정 방법이 분명하지 않지만, 만약 전체 영역에 이 방법을 적용하면, 도표 등의 큰 블랙 화소 부분을 잘못하여 타이틀로서 추출해 버릴 우려가 있다. 또한 문자만의 문서에서도 문자 사이즈가 큰 문자열이 타이틀이라고는 할 수 없기 때문에 잘못 추출할 가능성이 있다.
(6) 단순한 테두리선에 둘러싸여 있는 표의 경우에는 이 방식으로도 좋지만, 실제로는 괘선이 복잡하게 조합된 표가 사용되는 경우가 많기 때문에, 그와 같은 경우에 타이틀 영역을 정확히 특정할 수 없다.
(7) 현재의 문자 인식 처리로서는 상당한 처리 시간이 걸리기 때문에, 실질적으로는 일괄 처리로서 밖에 사용 방법이 없다. 또한, 인식률은 100%가 아니기 때문에 타이틀 위치의 정보를 사용하지 않으면 잘못된 부분을 타이틀로서 추출하는 경우가 많을 것이다.
(8) 화상상의 템플레이트-매칭은 매칭 처리 자체에 시간이 걸릴 뿐만 아니 라, 템플레이트의 폰트 형상 또는 사이즈의 영향을 받기 쉽고, 에러가 발생하기 쉽다는 결점이 있다. 또한, 이 방법에서는 소정의 문자열 이외에는 타이틀로서 추출할 수 없기 때문에 대상으로 하는 문서가 한정된다.
이와 같이, 종래의 타이틀 추출 방법에서는 이용자에게 있어서 특별한 준비 작업이나 조작이 필요하고, 대상으로 하는 문서나 타이틀이 한정되는 등의 문제가 있다.
본 발명은 문서 화상으로부터 용이하게 타이틀 부분을 추출할 수 있는 타이틀 추출장치 및 그 방법을 제공하는 것을 목적으로 한다.
제 1도는 본 발명의 원리도.
제 2도는 시스템 구성도.
제 3도는 문서 화상의 타이틀 추출 처리의 흐름도.
제 4도는 문서 화상 데이타를 나타낸 도면.
제 5도는 문자열 추출 처리의 흐름도.
제 6도는 라벨 처리 후의 외접 직사각형을 나타낸 도면.
제 7도는 높이의 막대 그래프를 나타낸 도면.
제 8도는 높이의 최대 빈도치를 구하기 위한 막대 그래프를 나타낸 도면.
제 9도는 직사각형 높이 테이블을 나타낸 도면.
제 10도는 직사각형 높이 테이블의 내용에 대응하는 막대 그래프를 나타낸 도면
제 11도는 큰 직사각형으로부터 추출된 세그먼트 직사각형을 나타낸 도면.
제 12도는 부분적인 세그먼트 직사각형을 나타낸 도면.
제 13도는 연결된 부분 세그먼트 직사각형을 나타낸 도면.
제 14도는 테두리 직사각형을 나타낸 도면.
제 15도는 중복(overlap)하고 있는 외접 직사각형을 나타낸 도면.
제 16도는 네스트(nest)하고 있는 외접 직사각형을 나타낸 도면.
제 17도는 이등변 삼각형의 막대 그래프를 나타낸 도면.
제 18도는 중복·네스트 제거 후의 외접 직사각형을 나타낸 도면.
제 19도는 직사각형 사이의 연결 관계를 나타낸 도면.
제 20도는 연결 관계표를 나타낸 도면.
제 21도는 문자열 직사각형을 나타낸 도면.
제 22도는 문자열 직사각형의 추출 처리를 나타낸 도면.
제 23도는 추출된 문자열 직사각형을 나타낸 도면.
제 24도는 문자열 직사각형 가공 처리의 흐름도.
제 25도는 노이즈 제거 후의 문자열 직사각형을 나타낸 도면.
제 26도는 문자열 직사각형의 통합 처리를 나타낸 도면.
제 27도는 통합된 문자열 직사각형을 나타낸 도면.
제 28도는 문서 영역을 나타낸 도면.
제 29도는 하선 직사각형을 나타낸 도면.
제 30도는 프레임·괘선·하선 검사 후의 문자열 직사각형을 나타낸 도면.
제 31도는 세그먼트 추출 처리의 흐름도.
제 32도는 와일드 카드가 있는 경우의 세그먼트 직사각형을 나타낸 도면.
제 33도는 와일드 카드를 나타낸 도면.
제 34도는 세그먼트 추출 처리의 코드를 나타낸 제1 도면.
제 35도는 세그먼트 추출 처리의 코드를 나타낸 제2 도면.
제 36도는 세그먼트 추출 처리의 코드를 나타낸 제3 도면.
제 37도는 세그먼트 추출 처리를 상세히 나타낸 제1 흐름도.
제 38도는 세그먼트 추출 처리를 상세히 나타낸 제2 흐름도.
제 39도는 세그먼트 추출 처리를 상세히 나타낸 제3 흐름도.
제 40도는 타이틀·수신지·발신지 추출 처리를 나타낸 흐름도.
제 41도는 중복된 문자열 직사각형을 나타낸 도면.
제 42도는 제1 수신지 추출 처리를 나타낸 흐름도.
제 43도는 제2 수신지 추출 처리를 나타낸 흐름도.
제 44도는 타이틀과 수신지/발신지의 제1 배치를 나타낸 도면.
제 45도는 타이틀과 수신지/발신지의 제2 배치를 나타낸 도면.
제 46도는 타이틀과 수신지/발신지의 제3 배치를 나타낸 도면.
제 47도는 타이틀과 수신지/발신지의 제4 배치를 나타낸 도면.
제 48도는 복수의 수신지/발신지를 나타낸 도면.
제 49도는 타이틀 및 수신지·발신지 정보의 추출 결과를 나타낸 도면.
제 50도는 타이틀 및 수신지·발신지 정보의 다른 추출 결과를 나타낸 도면.
제 51도는 표 형식 문서를 나타낸 도면.
제 52도는 표 내 타이틀 추출 처리의 흐름도.
제 53도는 표 형식 문서의 화상 데이타를 나타낸 도면.
제 54도는 표 형식 문서의 라벨 처리 결과를 나타낸 도면.
제 55도는 표 직사각형 추출 처리의 흐름도.
제 56도는 표 형식 문서의 문자열 직사각형을 나타낸 도면.
제 57도는 제1 문자열 분할 처리의 흐름도.
제 58도는 문자열 직사각형 내의 문자 직사각형의 순위를 나타낸 도면.
제 59도는 분류 후의 문자 직사각형의 순위를 나타낸 도면.
제 60도는 세로 괘선을 포함하는 문자열 직사각형을 나타낸 도면.
제 61도는 분할된 문자열 직사각형을 나타낸 도면.
제 62도는 제2 문자열 분할 처리의 제1 흐름도.
제 63도는 제2 문자열 분할 처리의 제2 흐름도.
제 64도는 문자열 직사각형 내의 라벨 처리 결과를 나타낸 도면.
제 65도는 분할 처리 후의 문자열 직사각형을 나타낸 도면.
제 66도는 문자 직사각형과 문자수의 관계를 나타낸 도면.
제 67도는 표 직사각형 내의 표밖 문자열 직사각형을 나타낸 도면.
제 68도는 표 직사각형 내의 문자열 직사각형을 나타낸 도면.
제 69도는 위 괘선 검사 처리의 흐름도.
제 70도는 표밖 문자열 직사각형 제거 처리의 흐름도.
제 71도는 제1 탐색 범위를 나타낸 도면.
제 72도는 제2 탐색 범위를 나타낸 도면.
제 73도는 제3 탐색 범위를 나타낸 도면.
제 74도는 표밖 문자열 직사각형 제거 후의 문자열 직사각형을 나타낸 도면.
제 75도는 타이틀 후보 출력 처리의 흐름도.
제 76도는 문자열 직사각형의 좌상 정점의 좌표를 나타낸 도면.
제 77도는 표 내 타이틀의 추출 결과를 나타낸 도면.
*도면의 주요부분에 대한 부호의 설명
1 : 문자 영역 생성 수단
2 : 문자열 영역 생성 수단
3 : 타이틀 추출 수단
11 : 전자 화일링 장치
12 : 광전 변환 장치
13 : 디스플레이 단말
14 : 프로세서
15 : 메모리
16 : 버스
21,22,23,24,25,26,27,31,32,33,34,35,61,62,63,64,65 : 외접 직사각형
36,37,38,39,40 : 이등변 삼각형
41,42,43 : 이등변 삼각형의 막대 그래프
51,52,53,54,55,56,57,58 : 포인터
71,81,82,83,91,101,108,109,111,112,113,114,115,116,117,122,123,
131 : 문자열 직사각형
72 : 하선 직사각형
80,121 : 표 직사각형
92,93,94,95,102,103,104,105,106,107,110 : 문자 직사각형
도 1은 본 발명의 타이틀 추출 장치의 원리도이다.
도 1의 타이틀 추출 장치는 문자 영역 생성 수단(1), 문자열 영역 생성 수단 (2) 및 타이틀 추출 수단(3)을 구비한다.
문자 영역 생성 수단(1)은 문서를 화상 데이타로 변환하여 얻은 문서 화상내의 연결된 블랙 화소로 이루어지는 블랙 화소 연결 영역을 포함하는 문자 영역을 생성 한다.
문자열 영역 생성 수단(2)은 문자 영역 생성 수단(1)이 생성한 1개 이상의 문자 영역을 통합하여 그들 문자 영역을 포함하는 문자열 영역을 생성한다.
타이틀 추출 수단(3)은 문자열 영역 생성 수단(2)이 생성한 복수의 문자열 영역의 속성(attribute)에 기초하여, 그들 복수의 문자열 영역중 특정 문자열 영역을 타이틀 영역으로서 추출한다.
문자 영역 생성 수단(1)은 문서 화상 내의 블랙 화소를 주사(走査)하고, 예컨대, 그것들이 연결되어 있는 영역에 외접하는 직사각형 영역을 문자 영역으로서 추출한다. 이 결과, 문서 내의 다수의 문자에 대응하는 다수의 문자 영역이 생성된다.
다음에, 문자열 영역 생성 수단(2)은 인접하는 복수의 문자 영역을 통합하고, 예컨대, 그것들의 문자 영역에 외접하는 직사각형 영역을 문자열 영역으로서 추출한다. 이 문자열 영역은 예컨대, 횡서(橫書)문서 내의 1행분의 문자열에 대응한다.
타이틀 추출 수단(3)은 생성된 각 문자열 영역의 (원래 지니고 있던)하선 (underline) 속성, 프레임(frame) 속성, 괘선 속성 등의 속성에 기초하여 바람직한 타이틀을 평가하여, 가장 바람직한 타이틀이라고 생각되는 특정 문자열 영역을 타이틀 영역으로 추출한다.
여기서, 하선 속성이란 문자열 영역의 내부 또는 아래쪽에 선이 있는 것을 의미하며, 하선 플래그 등을 이용하여 표현된다. 프레임 속성이란 문자열 영역의 주위를 테두리선이 둘러싸고 있는 것을 의미하고, 테두리선 플래그 등을 이용하여 표현된다. 또한, 괘선 속성이란 문자열 영역이 가로로 긴 괘선 또는 세로로 긴 괘선에 대응하는 것을 의미하며, 괘선 플래그 등을 이용하여 표현된다. 하선 속성이나 프레임 속성을 가지는 문자열 영역은 문서의 타이틀일 가능성이 높으며, 괘선속성을 가지는 문자열 영역은 타이틀일 가능성이 거의 없다. 그래서, 이러한 속성을 바탕으로 바람직한 타이틀을 자동적으로 평가할 수 있다.
또한, 타이틀 추출 수단(3)은 일정 이상의 크기를 가지는 블랙 화소 연결 영역을 포함하는 표 영역을 추출하고, 해당 표 영역 내의 복수의 문자열 영역중 특정 문자열 영역을 타이틀 영역으로 추출한다.
표 영역으로서는 예컨대, 블랙 화소 연결 영역에 외접하는 직사각형 영역중, 일정한 임계치 이상의 크기를 가지는 것이 이용된다. 그리고, 타이틀 추출 수단(3)은 표 영역 내의 문자열 영역 상호의 위치나 문자수 등의 관계를 조사하여 바람직한 타이틀을 평가하여 가장 바람직한 타이틀이라고 생각되는 특정한 문자열 영역을 타이틀 영역으로서 추출한다.
예컨대, 표 영역의 좌측 상부에 가까이 위치하는 문자열 영역정도가 바람직한 타이틀이라고 생각되며, 또한, 문자수가 큰 문자열 영역도 바람직한 타이틀이라고 생각된다.
본 발명의 타이틀 추출 장치에 의하면, 표형식 문서를 포함하는 다양한 문서화상을 대상으로 하여 원고에 마크하는 일도 없고 특별한 구조 사전이 필요하지 않으며, 문자 사이즈에 관계없이 고정밀도의 타이틀 추출 처리를 행할 수 있다. 또한, 추출된 타이틀 영역에 포함되는 문자 영역을 잘라 내어 문자 인식을 행하고, 인식 결과를 문서 화상의 키워드로서 이용할 수도 있다.
도 1의 문자 영역 생성 수단(1), 문자열 영역 생성 수단(2) 및 타이틀 추출 수단(3)은 예컨대, 실시의 형태에 있어서의 도 2의 프로세서(14)에 상당한다.
이하, 도면을 참조하면서 본 발명의 실시의 형태를 상세히 설명한다.
최근, 종래부터 종이 매체로 보존해 온 정보를 전자화하는 움직임이 많이 있었다. 그 중 하나로 전자 화일링(electronic filing) 시스템이 있다. 전자 화일링 시스템에 있어서는 종이 문서가 이미지 스캐너 등의 광전 변환 장치에 의해 화상으로 변환되고, 변환된 화상에 검색을 위한 키워드나 관리 정보를 부여하여 광디스크나 하드디스크에 보존한다.
이러한 방법에서는 문서를 화상 데이타로서 보존하기 때문에, 문서에 기록되어 있는 모든 문자를 문자 인식 기술로 코드화 한 후 보존하는 방법보다도 디스크 용량을 많이 필요로 하게 된다. 그 반면에, 동작이 용이하고 처리속도가 빠르며 문자 이외의 그림이나 표 등도 그대로 보존할 수 있는 장점이 있다. 그러나, 보존된 정보를 검색하기 위해서, 문서 화상과 함께 키워드나 번호 등의 관리 정보를 부여하지 않으면 안된다. 종래의 시스템은 이 키워드 부착에 시간이 걸리고, 사용하기 어 려운 시스템이었다.
이러한 문제점을 해결하기 위해서, 문서중에 있는 타이틀 부분을 키워드라고 간주하고 그것을 자동적으로 추출하여, 그 부분을 문자 인식하여 코드화한 결과를 문서 화상과 함께 보존하는 방법을 생각할 수 있다.
현재의 문자 인식의 처리 속도는 빠르더라도 초당 수십 문자이고, A4의 문서 1장을 처리하는 데에는 30초에서 수분의 처리 시간이 걸린다. 따라서, 타이틀 추출을 고속화하기 위해서는 문서 전체를 문자 인식하는 것이 아니고, 우선 화상에서 필요글 타이틀 부분만을 추출한 뒤에 그것을 문자 인식하는 방법이 유리하다.
또한, 문서 중의 전체 문자를 인식하여 논리적으로 타이틀을 추출하는 방법에서는 화상에 있어서의 타이틀 부분의 위치 관계가 고려되지 않는다. 이 때문에, 인식 오류나 문장의 관계의 영향으로 정확히 타이틀 코드를 추출할 수 없는 경우가 많이 있는 것이다.
이와 같이, 전자 화일링 시스템의 효율적인 운용에 있어서, 문서 화상으로부터 직접 타이틀 부분(영역)을 추출하는 기술은 중요한 기술이다. 그래서, 전자 화일링 시스템을 예로 들어 본 발명의 타이틀 추출 기술에 관해서 설명한다.
도 2는 실시 형태의 타이틀 추출 시스템의 구성도이다. 도 2의 타이틀 추출 시스템은 전자 화일링 장치(11), 광전 변환 장치(12), 디스플레이 단말(13), 프로 세서(14) 및 메모리(15)를 구비하고, 이들 장치는 버스(16)에 의해 결합되어 있다.
전자 화일링 장치(11)는 하드디스크나 광디스크 등의 저장 장치를 포함하고, 복수의 화상 데이타를 개별로 저장하고 있다. 광전 변환 장치(12)는 예컨대 스캐너 등의 광학적인 판독 장치이고, 문서, 그림 또는 사진 등을 화상 데이타로 변환한다. 이렇게 해서 입력된 화상 데이타는 전자 화일링 장치(11) 또는 메모리(15)에 저장된다. 디스플레이 단말(13)은 디스플레이 장치와 키보드나 마우스 등의 입력장치를 구비한 오퍼레이터 단말이다.
프로세서(14)는 디스플레이 단말(13)로부터 입력된 지시에 따라서, 광전 변환 장치(12)로부터 메모리(15)에 입력한 문서 화상, 또는 전자 화일링 장치(11)로부터 취출된 문서 화상으로부터 타이틀 등의 특정 영역을 추출한다. 그리고, 추출한 영역에 포함되는 문자를 인식한다. 또한, 문자의 인식 처리는 타이틀 추출 시스템의 외부의 시스템에 의해 행하는 구성으로 하여도 좋다.
도 2의 타이틀 추출 시스템은 예컨대, 후술하는 도 4에 도시하는 바와 같은 문서 화상으로부터 도 6에 도시하는 바와 같은 문자의 외접 직사각형을 구하고, 또 복수 문자의 외접 직사각형을 통합하여 도 27에 도시하는 바와 같은 문자열 직사각형을 구한다. 그리고, 각 문자열 직사각형이 문서 중에서 강조되어 있는지의 여부를 조사한다.
예컨대, 도 14에 도시하는 바와 같은 테두리선으로 둘러싸여 있는 문자열은 강조되어 있는 것으로 간주하고, 그것만으로 바람직한 타이틀이라고 생각되기 때문에, 그것들을 타이틀 후보로서 추출한다. 그 밖에도 하선을 가지는 문자열이나 큰 문자열은 강조 문자열로 생각하여 타이틀 후보로서 추출한다. 또한, 문서 내에서의 문자열의 위치나 인접하는 다른 문자열과의 위치 관계도 타이틀 문자열을 식별하기 위해서 유력한 정보로서 이용된다.
이와 같이, 문자열이 강조되어 있는지의 여부나 그 위치 등의 외견적인 정보를 바탕으로 타이틀 후보의 문자열을 취출하기 때문에, 타이틀의 개연성이 높은 영역을 문서 화상으로부터 간단히 추출할 수 있다. 이 추출 방법은 문서 전체를 인식한 후 타이틀을 추룰하는 방법보다도 고속이고, 대상으로 하는 문서를 가리지 않는다는 점에서 범용적이다. 또한, 문자열의 2개 이상의 외견적 정보를 조합하여 이용함으로써 비교적 정확히 타이틀 영역을 특정할 수 있다.
도 3은 도 2의 타이틀 추출 시스템에 의한 타이틀 추출 처리의 흐름도를 도시하고 있다. 도 3와 처리에 있어서는 전제조건으로서 횡서 문서를 대상으로 하고 있지만, 횡서에 한하지 않고 종서(縱書)문서라도 횡서와 동일한 처리로 대응 가능하다. 종서 문서의 경우에는 문자 영역이나 문자열 영역의 높이와 폭이 횡서 문서의 경우와 서로 반대의 역할을 하게 된다.
도 3에 있어서 처리가 개시되면, 광전 변환 장치(12)가 문서를 판독하여, 화상 데이타(문서 화상)로서 메모리(15)에 저장한다(단계 S1). 이 때, 처리의 고속화를 위해서 판독한 원화상을 종횡 각각 1/8로 압축하여 압축 화상을 작성하고, 그것을 문서 화상으로서 메모리(15)에 저장해 둔다.
화상을 압축할 때에는 세그먼트가 중단되지 않도록 논리적 OR의 압축 방법을 이용한다. 즉, 원화상의 8×8 화소의 영역 중에 1개라도 블랙 화소가 있으면, 압축화상에 대응하는 화소를 블랙으로 하고, 전혀 블랙 화소가 없으면 그것을 화이트로 한다.
다음에, 프로세서(14)가 문서 화상으로부터 문자열(또는 행)을 추출하여, 문자열의 외접 직사각형(문자열 직사각형)을 구하고, 그 좌표를 메모리(15)에 저장한다(단계 S2). 다음에, 저장된 문자열 직사각형으로부터 횡폭이 작은 직사각형이나 세로로 긴 직사각형을 노이즈 직사각형으로서 제거하고(단계 S3), 바람직하지 않은 문자열 직사각형을 제외하여 문서 영역을 결정한다(단계 S4).
다음에, 남은 문자열 직사각형을 세로 방향(y 좌표)으로 재배열하고(단계 S5), 테두리 화상을 포함하는 직사각형(테두리 직사각형)을 추출하여, 테두리 직사 각형 내에 있는 문자열 직사각형을 프레임 직사각형으로서 마크한다(단계 S6). 또한, 하선의 화상을 포함하는 직사각형을 추출하고 그 바로 위에 있는 문자열 직사각형을 하선 직사각형으로서 마크한다(단계 S7).
다음에, 바람직한 타이틀의 포인트를 계산하여, 포인트가 높은 문자열 직사 각형을 타이틀로서 추출하고(단계 S8), 그 결과를 이용하여 문서의 수신지(어드레 스)와 발신지 정보를 추출한다(단계 S9 및 S10). 그리고, 추출한 타이틀, 수신지 및 발신지 정보의 인식처리를 수행하고(단계 S11) 처리를 종료한다.
다음에, 일반적인 사내 문서(business document)를 예로 들어 타이틀 추출 처리를 상세히 설명한다. 사내 문서에는 통상, 「타이틀」, 「수신지」, 「발신일」, 「발신 소속」, 「발신 관리 번호」, 「본문(도표 있음)」 등의 요소가 포함되고 있으며, 그것들이 다양한 배치로 기재되어 있다. 여기서는 이러한 다양한 서식의 문서로부터 타이틀, 수신지 및 발신지 정보(발신일, 발신 소속, 발신 관리 번호 등)를 추출한다.
도 4는 스캐너에 의해 메모리(15)에 판독된 문서 화상의 예를 도시하고 있다. 도 4의 문서 화상은 소프트웨어 판매 추측 리포트의 송부표에 관한 것이고, 이 문서의 타이틀은 「ソフトウェア販賣レポ一ト 送付表」(소프트웨어 판매 추측 리포트 송부표)이고, 그 아래에 수신지나 발신지 정보가 기재되어 있다. 프로세서(14)는 우선 이 문서 화상으로부터 문자열을 추출한다.
도 5는 도 3의 단계 S2의 문자열 추출 처리의 흐름도이다.
도 5에 있어서 처리가 개시되면, 프로세서(14)는 우선 문서 화상으로부터 문자에 상당하는 직사각형을 추출한다. 그 때문에, 문서 화상에 대하여 라벨링 (labeling)에 의한 블랙 화소 연결 처리를 실시하고, 블랙 화소의 외접 직사각형을 구하여 저장한다(단계 S21).
여기서는, 디지탈화 되어 있는 압축 화상의 블랙 화소를 8-연결로 주사하고, 연결이 있는 경우에는 그것들의 블랙 화소에 동일한 라벨치를 부여함으로써 블랙 화소 연결 영역을 생성하여 그 외접 직사각형(문자 직사각형)을 구한다. 8-연결에 의한 주사란, 1개의 블랙 화소의 상, 하, 좌, 우, 좌상, 우상, 좌하, 우하의 8방향을 주사하여, 다른 인접 블랙 화소가 있는지의 여부를 조사하는 처리를 의미한다. 요청된 외접 직사각형은 화일 1btb1에 보존된다. 도 4의 문서 화상에 라벨 처리를 행한 결과는 도 6과 같이 된다.
다음에, 라벨 처리에 의해 얻은 외접 직사각형의 높이의 빈도 분포를 나타내는 막대 그래프를 구하고, 높이의 최대 빈도치를 나타내는 변수명 freq를 구한다(단계 S22). 여기서는 우선 라벨 처리 결과의 외접 직사각형의 집합을 나타내는 화일명 1btb1으로부터 도 7에 도시하는 바와 같은 직사각형 높이의 막대 그래프를 작성한다. 도 7에 있어서, 횡축이 각 외접 직사각형의 높이를 나타내고, 종축이 그 높이를 가지는 직사각형의 수(빈도치)를 나타낸다. 외접 직사각형의 높이는 예컨대 1 화소의 높이를 단위 높이로서 구한다.
다음에, 빈도치와 그 빈도치를 갖는 직사각형 높이 내에서 최대 높이와의 대응 관계를 구하고, 직사각형 높이 테이블 height에 보존한다. 그리고, height 속을 빈도치 0에서 순서대로 조사해 가고 높이의 변화가 1 이내로 빈도치가 변화하는 것이 연속되며 그것들의 빈도치의 변화의 합계가 9 이상인 경우에 그것들의 연속하는 높이 중에 가장 높은 것을 직사각형 높이의 최대 빈도치를 나타내는 변수명 freq로 한다.
도 8은 도 7의 막대 그래프에 대응하는 height의 내용을 나타내는 막대 그래프를 도시하고 있다. 도 8에 있어서 빈도치가 급격히 변화하는 높이가 freq(변수명)로 되어 있는 것을 알 수 있다. 이링게 하여 freq(변수명)를 구해 두면, 1문자보다도 작은 노이즈의 영향을 배제할 수 있다.
도 9는 height의 간단한 예를 도시하고 있다. 도 9에 있어서는, 4개의 빈도치와, 각 빈도치를 가지는 직사각형 높이 내에서 최대의 높이가 각각 쌍으로 저장되어 있다. freq(변수명)를 구하기 위해서, 이 height의 내용을 막대 그래프로 하면 도 10과 같이 된다. 도 10의 막대 그래프를 빈도치가 낮은 곳에서 즉, 높이가 높은 곳에서 순서대로 보면, 높이가 10,9,8의 위치에서 빈도치가 각각 5,5,7만큼 변화하고 있는 것을 알 수 있다. 이들의 연속하는 높이의 차는 1이고, 빈도치의 변화의 합계는 17이다. 따라서, 높이 10,9,8에 있어서 빈도치의 변화의 합계가 9 이상으로 되어 있기 때문에 그들 중에서 최초에 나타난 높이 10을 freq(변수명)로 한다.
다음에, 테두리선이나 도표의 외접 직사각형을 제거하기 위해서, 큰 직사각 형으로 판단하기 위한 임계치를 설정하고, 그것보다 큰 직사각형을 추출한다. 그리 고, 추출한 큰 직사각형중에서 테두리선을 포함하는 직사각형을 추출하여 보존한다 (단계 S23).
여기서는, 예컨대, freq(변수명)보다 큰 직사각형으로 가장 빈도치가 큰 직 사각형 높이를 큰 직사각형의 임계치를 나타내는 변수명 th_large로 하고, th_large보다 큰 직사각형을 추출하여, 화일 box에 보존한다.
다음에, box 속의 큰 직사각형으로부터 테두리선을 추출하기 위해서, 각각의 큰 직사각형의 내부를 도 11에 도시된 바와 같이 세로로 부분 분할하고, 중복 (overlap)이 있는 스트립형(strip-shaped)의 부분 영역을 만든다. 그리고, 각 스트립형 부분 영역의 중에서 일정 비율 이상의 블랙 화소 점유율을 가지는 높이 1화소의 가로 방향의 선형(linear) 영역을 구한다. 또 2개 이상의 선형 영역이 상하로 연속하고 있으면 그들을 통합하여 1개로 합친 부분 세그먼트를 구한다.
도 12는 도 11의 큰 직사각형 중의 1개의 스트립형 부분 영역을 도시하고 있다. 도 12에 있어서, 폭 w의 부분 영역은 높이 1의 선형 영역으로 세분되고, 일정 비율 이상의 블랙 화소를 포함하며, 상하로 연속하는 선형 영역이 1개의 부분 세그 먼트 직사각형으로서 통합되어 있다. 도 12에 도시된 바와 같이, 1개의 부분영역에 는 2개 이상의 부분 세그먼트 직사각형이 존재하는 경우가 있다. 다음에, 이렇게 하여 구한 부분 세그먼트 직사각형끼리가 좌우로 8-연결의 관계에 있으면, 그것들을 1개의 세그먼트로서 취급한다. 도 13(a), (b) 및 (c)는 각각 8-연결의 관계에 있는 2개의 부분 세그먼트 직사각형의 예를 도시하고 있다. 이렇게 해서, 도 11의 경우는 큰 직사각형의 상단 부분으로부터 가로방향의 세그먼트 직사각형이 추출된다.
이렇게 하여 구한 세그먼트 직사각형이 대상이 되는 큰 직사각형의 횡폭에 비하여 일정 비율 이상인 경우에 긴 세그먼트 직사각형으로서 추출한다. 이 긴 세그먼트 직사각형의 양단과 큰 긱사각형의 양단의 차가 일정 마진이내에 있으며, 또한, 긴 세그먼트 직사각형의 상하단의 y 좌표와 큰 직사각형의 상하단의 y 좌표의 차가 직사각형 폭의 일정 비율보다도 작을 때에 큰 직사각형의 상하에 위치하고 있는 세로 괘선으로 판단한다.
그리고, 이 큰 직사각형의 좌우단 부근의 블랙 화소를 세로 방향으로 투영한 빈도 분포(막대 그래프)를 구하고, 그 피크의 높이가 직사각형 높이의 일정 비율보다 큰 경우에 좌우단에 세로 괘선도 있다고 판단한다. 이 때, 큰 직사각형은 테두리선의 외접 직사각형(테두리 직사각형)으로 식별된다. box 속의 각 큰 직사각형에 관해서 동일한 처리를 행하여 테두리 직사각형만을 box에 남긴다. 도 14는 검출된 테두리 직사각형을 도시하고 있다.
다음에, 라벨 처리로 구한 외접 직사각형의 집합을 나타내는 화일명 1btb1로부터 테두리 직사각형 및 도표로 판정된 직사각형(도표 직사각형)을 제거하여 결과를 저장한다(단계 S24). 여기서는 우선 1btb1 중에서 box에 보존되어 있는 테두리 직사각형을 제거한다. 또, 다음중 어느 하나에 해당하는 직사각형을 도표 직사각형으로 추정하여 이들을 1btb1(화일명)로부터 제거한다.
(a) 문서 화상 전체 높이의 1/3보다 큰 직사각형
(b) 높이가 freq(변수명)의 3배보다 크고, 높이/폭의 비가 0.4보다 작은 직사각형
(c) 높이가 freq(변수명)의 3배보다 크고, 문서 화상 전체의 폭의 1/3보다 큰 직사각형
그리고, 제거 후의 직사각형 집합을 변수명 newtb1로서 관리한다. 이 직사각형 집합을 나타내는 변수명 newtb1로부터 문자열의 외접 직사각형이 추출된다.
newtb1(변수명) 내의 직사각형 중에는 직사각형끼리가 중복(overlap) 또는 네스트(nest: 내포라고도 함)된 것도 포함되어 있다. 이러한 직사각형은 1개로 합 친 쪽이 직사각형 상호의 위치 관계가 명확해지고, 문자열의 추출을 효율적으로 행할 수 있다. 그래서, newtb1(변수명)를 대상으로 하여 직사각형끼리가 중복 또는 네스트된 것을 통일하여 중복/네스트를 제거하고 결과를 화일명 1btb12에 저장한다(단계 S25).
도 15는 중복하는 2개의 직사각형의 예를 도시하고 있다. 도 15에 있어서, 직사각형(21, 22)은 각각 우측 상부로 경사진 세그먼트의 외접 직사각형을 나타내고, 사선 부분에서 서로 중복하고 있다. 이 경우, 직사각형(21, 22)을 이것들의 직사각형을 포괄하는 1개의 직사각형(23)으로 합쳐서 중복을 제거한다. 도 16은 네스트된 복수의 직사각형을 도시하고 있다. 도 16에 있어서, 직사각형(25, 26 및 27)은 직사각형(24)에 완전히 내포되어 있으며 그 직사각형에 네스트되어 있다. 이 경우, 직사각형(24)만을 남기고 네스트된 직사각형을 제거한다.
그런데, newtb1(화일명) 중에서 1개의 직사각형과 중복/네스트된 다른 직사각형을 검색하기 위해서는 다음과 같은 2 가지의 방법이 있다.
(d) 1개의 직사각형을 기준으로 하여, 나머지 직사각형 전부를 검색 범위로 한다.
(e) 종 또는 횡방향으로 직사각형 주변의 중심 선상에 정점을 가지는 이등변삼각형을 만들어, 그 막대 그래프를 작성한다. 그리고, 막대 그래프 중의 각각의 빈도의 산을 구성하는 직사각형의 집합(그룹)을 동시에 기록한다. 막대 그래프 중에서 산과 산의 거리가 임계치보다 가까운 것을 통합하고 동시에 대응하는 직사각형 집합도 통합한다. 이 직사각형의 집합을 1개의 검색 범위로 하고, 이 집합 내에 있는 직사각형을 기준으로 한 경우는 이 집합 내를 검색한다. 종방향 및 횡방향으로 작성된 각 직사각형 집합의 겹치는 부분을 구하여 검색 범위로 하여도 좋다.
도 17은 (e)의 방법에서 이용하는 이등변 삼각형의 막대 그래프의 예를 도시하고 있다. 도 17에 있어서, 직사각형 31 및 32의 이등변 삼각형 36 및 37이 1개의 산 41로 투영되고, 직사각형 33의 이등변 삼각형 38이 산 42로 투영되며, 직사각형 34 및 35의 이등변 삼각형 39 및 40이 산 43으로 투영되어 있다. 예컨대, 이것들의 산(41, 42, 43)이 일정 거리 내에 있는 경우는 직사각형(31, 32, 33, 34, 35)은 1개의 직사각형 집합으로 통합된다. 또는 직사각형 31과 직사각형 32와 같이 대응하는 이등변 삼각형이 1개의 산으로 투영되는 것과 같은 직사각형을 1개의 직사각형 집합으로 합쳐도 좋다.
(e)의 방법에 의하면, 한정된 범위의 직사각형만을 탐색하면 되기 때문에, 일반적으로 (d)의 방법보다도 고속 처리가 가능하다. 도 18은 이렇게 하여 중복/네스트가 제거된 외접 직사각형을 도시하고 있다.
다음에, 중복/네스트 제거 후의 1btb12(화일명)에 포함되는 직사각형의 높이의 막대 그래프를 구하고, 높이의 최대 빈도치를 나타내는 변수명 freq2를 구한다(단계 S26). 높이의 막대 그래프의 작성 방법 및 변수 freq2를 구하는 방법은 단계 S22와 동일하다.
다음에, 화일명 1btb12로부터 괘선 직사각형을 추출하여 마크한다(단계 S27). 여기에서는 화일명 1btb12 내에서 높이가 freq(변수명)의 1/2보다 작으며, 폭이 freq(변수명)의 3배보다 크고, 높이/폭의 비가 0.1보다 작은 직사각형을 괘선 직사각형으로서 마크한다.
다음에, 1개의 문자열에 속하는 복수의 문자를 찾아내기 위해서, 화일명 1btb12 내의 직사각형 상호 관계를 구하여, 연결 관계표 connect에 보존한다(단계 S28). 여기서는, 화일명 1btb12 내의 각 직사각형으로부터 상하 좌우에 가장 가까 운 직사각형을 탐색하여, 그 결과를 connect에 저장한다. 직사각형 상호 관계란, 어떤 기준 직사각형으로부터 상하 좌우의 직사각형으로의 각 포인터와, 상하 좌우 의 직사각형으로부터 기준 직사각형으로 향하는 각 포인터 및 기준 직사각형으로부 터 상하좌우의 직사각형까지의 거리를 의미한다.
도 19는 1개의 직사각형을 기준 직사각형으로 한 경우의 직사각형 사이의 연 결 관계를 도시하고 있다. 도 19에 있어서, 상측 직사각형은 기준 직사각형의 위에 근접하는 직사각형을 나타내고, 포인터 51 및 52에 의해 기준 직사각형과 연결되어 있다. 하측 직사각형은 기준 직사각형의 아래에 근접하는 직사각형을 나타내고, 포 인터 53 및 54에 의해 기준 직사각형과 연결되어 있다. 좌측 직사각형은 기준 직사각형의 좌측에 근접하는 직사각형을 나타내고, 포인터 55 및 56에 의해 기준 직사각형과 연결되어 있다. 우측 직사각형은 기준직사각형의 우측에 근접하는 직사각형을 나타내고, 포인터 57 및 58에 의해 기준 직사각형과 연결되어 있다.
이러한 포인터를 저장하는 연결 관계표 connect의 구조는 예컨대 도 20에 도시된 바와 같이 된다. 도 20의 연결 관계표에는 기준 직사각형의 라벨치에 계속해서 상측 직사각형으로의 포인터, 상측 직사각형으로부터의 포인터, 하측 직사각형으로의 포인터, 하측 직사각형으로부터의 포인터, 좌측 직사각형으로의 포인터, 좌측 직사각형으로부터의 포인터, 우측 직사각형으로의 포인터, 우측 직사각형으로부터의 포인터가 저장되어 있다. connect에는 이들의 포인터 외에 기준 직사각형으로부터 상하좌우의 각 직사각형까지의 거리도 저장된다.
connect를 작성할 때에는 테두리 직사각형의 4변에서 연결 관계가 절단되도록 설정해 둔다. 이것은, 후에 테두리선을 넘어서 문자열을 추출하지 않도록 하기 위해서이다. 기준 직사각형에 가장 가까운 직사각형을 탐색할 경우도 단계 S25에서 이용한 (d)와 (e)의 2 가지의 방법이 있다.
다음에, 스캐너에 의한 판독 시간의 노이즈에 상당하는 노이즈 직사각형을 식별하고, 그것과 다른 직사각형과의 횡의 관계를 절단한다(단계 S29). 여기서는 직사각형의 높이와 폭이 freq2의 1/4보다 작은 직사각형, 또는 높이/폭의 비가 0.1보다 작거나 10보다 크고 또한 상하의 직사각형과의 거리가 일정치보다 큰 직사각형을 노이즈 직사각형으로 판정한다. 그리고, 그 직사각형과 다른 직사각형과의 사이의 가로 방향의 포인터를 삭제하여 연결 관계를 절단한다.
다음에, 인접하는 직사각형 사이의 거리가 떨어져 있는 경우, 또는 인접하는 직사각형 사이에서 크기에 차가 있는 경우, 그것들의 직사각형의 연결 관계를 절단한다 (단계 S30). 여기서는 기준 직사각형이 다음 어느 한 항의 조건에 해당하는 경우에, 인접한 직사각형과의 연결 관계를 절단한다.
(f) 기준 직사각형과 인접한 직사각형과의 거리가 freq2(변수명)의 3배보다도 크다.
(g) 기준 직사각형 또는 인접한 직사각형이 freq2(변수명)의 3배 이상의 크기를 갖는다.
(h) 인접한 직사각형이 freq2의 2배보다 크다.
다음에, 문자 직사각형의 집합을 나타내는 화일명 1btb12와 그 연결 관계표 connect에서 문자열을 추출하여 문자열의 외접 직사각형(문자열 직사각형)을 보존한다(단계 S31). 여기서는, 우선 화일명 1btb12 내의 직사각형 중에서 그 직사각형에 좌측으로 향하는 포인터가 없는 것, 즉 좌측에 직사각형이 없는 것을 개시 직사각형으로 한다. 다음에, 그 직사각형의 식별 번호(예컨대 라벨치)를 우측에 있는 다른 직사각형으로 순차적으로 전달시켜 가며 같은 식별 번호를 부가한 복수의 직사각형을 통합하고, 그것들의 외접 직사각형을 문자열 직사각형으로 한다. 이 때, 개시 직사각형의 식별 번호를 추출한 문자열의 식별 번호(라벨치)로서 line_lab에 보존해 둔다. 그리고, 우측에 연결하는 직사각형이 없어지면 전달을 종료한다.
도 21은 이렇게 해서 추출된 문자열 직사각형의 예를 도시하고 있다. 도 21에서는 가로로 정렬된 4개의 문자 직사각형에 라벨치 L1을 부가하고, 1개의 문자열 직사각형으로 통합되어 있다. 이 경우, 그 문자열 직사각형의 라벨치도 L1이 된다.
만약, 우측의 직사각형의 식별 번호가 이미 line_lab(변수명) 내에 있는 문자열 식별 번호에 일치하는 경우는 지금까지 전달해 온 직사각형의 집합의 식별 번호를 우측의 문자열 식별 번호로 대체한다 그리고, 대체하기 전의 문자열의 식별번호는 line_lab(변수명)에서 제거해 둔다.
이 처리 후, 좌측으로 향하는 포인터가 없는 직사각형을 다시 검출하고, 이것을 기준 직사각형으로 한다. 그 기준 직사각형의 좌측에 직사각형이 있는 경우는 그 좌측의 직사각형은 이미 추출된 문자열의 식별 번호에 포함된 것이다. 그래서, 그 번호를 기준 직사각형보다 오른쪽에 있는 직사각형에 대하여 오른쪽에 연결된 직사각형이 없어질때까지 전달시키고 식별 번호를 대체한다. 그리고, line_lab(변 수명)에서 대체하기 전의 직사각형의 번호를 제거한다.
예컨대, 도 22에 도시된 바와 같이, 1개의 문자열 직사각형 중에 다른 문자 열 직사각형이 존재하는 경우를 생각할 수 있다. 좌측으로부터의 포인터를 가지지 않은 직사각형 64를 기준 직사각형으로 하고, 그 좌측으로의 포인터를 검사해 가면 좌측에 직사각형 61이 있는 것을 알 수 있다. 직사각형 61은 이미 라벨치 LO을 가지고 있기 때문에, 이 값을 직사각형 64 및 65로 전달시키고, 그것들의 라벨치를 LO로 대체한다. 이령게 해서, 라벨치 L5는 line_lab(변수명)에서 제거되어 직사각형 61, 62, 63, 64 및 65는 1개의 문자열 직사각형으로 통합된다.
여기까지의 처리에 있어서, 동일 문자열로 식별된 각 직사각형에는 동일 문자열 식별 번호가 붙어 있다. 그래서, 모든 직사각형을 주사하고 동일 문자열 식별 번호가 붙어 있는 복수의 직사각형의 좌표로부터 최좌단, 최우단, 최상단 및 최하단을 구하고, 그것들을 문자열 직사각형의 외주를 구성하는 좌표로 하여 화일 line에 보존한다. 또한, 추출한 문자열의 수를 maxline(변수명)으로서 보존한다.
이상으로, 문자열 추출 처리가 종료한다. 도 23은 이렇게 해서 추출된 문자열 직사각형을 도시하고 있다.
다음에, 프로세서(14)는 추출된 문자열 직사각형에 대하여 도 3의 단계 S3에서 S7까지의 처리에 대응하는 문자열 직사각형 가공 처리를 행한다. 문자열 직사각형 가공 처리에 있어서는 각 문자열 직사각형의 하선 속성, 프레임 속성 및 괘선 속성 등의 속성을 추출하여 그것들을 기록한다. 후의 포인트 계산에 있어서, 하선 속성이나 프레임 속성을 가지는 문자열 직사각형에는 보다 높은 포인트가 부여되고, 괘선 속성을 가지는 문자열 직사각형에는 보다 낮은 포인트가 부여된다.
도 24는 이 문자열 직사각형 가공 처리의 흐름도이다.
도 24에 있어서 처리가 개시되면, 먼저 횡폭이 작은 문자열 직사각형이나 세로로 긴 문자열 직사각형을 노이즈 문자열 직사각형으로서 제거하여 결과를 보존한다(단계 S41). 여기에서는 횡폭이 freq/4 보다 작은 문자열 직사각형, 또는 높이가 freq/4보다 작고 또한 높이/폭의 비가 0.1보다 큰 문자열 직사각형을 노이즈라고 간주하여 제거하며, 남은 것을 화일 line2에 보존한다. 도 25는 노이즈 제거 후의 문자열 직사각형을 도시하고 있다.
다음에, line2 내의 문자열 직사각형 사이의 접속 관계를 나타내는 연결 관 계표 str_conn을 작성한다(단계 S42). 여기서의 접속 관계는 도 19에 도시한 문자 직사각형 사이의 연결 관계와 동일한 것을 나타내며, str_conn은 도 20에 도시한 연결 관계표와 동일한 구조를 갖는다.
다음에, 위치 관계나 높이가 일정한 조건을 충족시키는 2개 이상의 문자열을 통합하여 보다 긴 문자열을 구하여 결과를 보존한다(단계 S43). 여기서는 다음 어 느 하나에 해당하는 경우에 그것들의 문자열 직사각형을 1개로 통합하여 다시 큰 문자열 직사각형을 구한다.
(i) 문자열 직사각형 사이의 거리가 문자열 직사각형의 높이보다 작은 경우.
(j) 가로 방향에 중복하고 있고, 높이가 거의 같은 문자열 직사각형.
(k) 직사각형 높이의 최대 빈도치를 나타내는 변수명 freq 위의 높이로, 다른 문자열 직사각형에 완전히 포함되는 문자열 직사각형.
(1) 3개의 연속하는 문자열 직사각형으로 양단의 직사각형의 y좌표가 거의 동일하고, 그들 사이에 있는 직사각형만이 다른 경우.
도 26(a), (b), (c) 및 (d)는 각각 (i), (j), (k) 및 (l)의 경우에 통합되어 생기는 문자열 직사각형의 예를 도시하고 있다. 이러한 처리를 문자열 직사각형의 수가 변화하지 않게 될 때까지 반복하고, 남은 문자열 직사각형을 화일 line3에 보존한다. 도 27은 이렇게 해서 문자열 직사각형을 통합한 결과를 도시하고 있다. 도 25와 도 27을 비교하면, 예컨대, 문자열 직사각형 「ソフトウェア販賣レポ一ト」와 「送付表」가 문자열 직사각형 「ソフトウェア販賣レポ一ト 送付表」로 통합되어 있는 것을 알 수 있다.
다음에, 문자열의 높이의 막대 그래프를 작성하여, 문자열 높이의 최대 빈도치 str_freq(변수명)를 구한다(단계 S44). 여기서는 문자열 직사각형의 높이의 막대 그래프를 도 7과 동일하게 작성한다. 그 막대 그래프로부터 freq2(변수명) 이상으로 최대빈도를 부여하는 높이를 구하고 그것을 문자열 직사각형의 높이의 최대 빈도치 str_freq(변수명)로 한다. 혹시, 최대 빈도를 부여하는 높이가 복수개 있으면, freq2(변수명)에 가까운 쪽의 높이를 채용한다. 문자열 직사각형의 높이의 막대 그래프에 있어서, str_freq(변수명)에서 연속하는 빈도 분포를 보았을 때 str_freq의 양측에 빈도치가 0이 되는 위치가 있다. 이것들의 빈도치가 0이 되는 위치의 직전의 높이 중 작은 쪽을 st_h, 큰 쪽플 en_h로 한다.
다음에, 노이즈를 제외한 문서 영역을 구하여 그 영역의 좌표를 보존한다(단계 S45). 여기서는, 문서 화상의 좌우단에 있는 일정 영역 내에 일부분이라도 걸리는 것 같은 문자열 직사각형은 대상 외로 하고, 높이가 st_h 이상 en_h 이하이고 또한 횡폭이 str_freq 이상이며 높이/폭의 비가 0.5 미만의 문자열 직사각형이 존재하는 범위를 문서 영역으로 한다. 그리고, 그 영역의 좌단의 x 좌표, 상단의 y 좌표, 우단의 x 좌표 및 하단의 y 좌표를 각각 st_x, st_y, en_x 및 en_y로 하여 보존한다. 좌우단의 일정 영역을 무시하는 것은 예컨대, A4 사이즈의 화상 영역에 B5판 책의 1페이지분의 화상을 판독한 경우에, 문서 화상의 좌우에 존재하는 인접한 페이지의 문자열 직사각형을 노이즈로서 제거하기 위해서이다. 도 28은 이렇게 해서 얻어진 문서 영역을 도시하고 있다.
다음에, line3 내의 문자열 직사각형을 세로 방향(y 좌표)으로 재 배열한다 (단계 S46).
다음에, line3 내의 문자열 직사각형 사이의 연결 관계를 나타내는 연결 관 계표 str_conn2를 작성한다(단계 S47). 이 때, 테두리 직사각형을 넘어 연결하는 관계가 없도록 한다.
다음에, 각 문자열 직사각형이 테두리 직사각형에 완전히 포함되어 있는지의 여부를 검사하고, 포함되어 있는 경우에는 그 문자열 직사각형에 프레임 플래그를 설정한다(단계 S48). 여기서는, line3 내의 각 문자열 직사각형에 대하여 그것이 box에 보존된 테두리 직사각형에 완전히 내포되는 경우에 프레임 직사각형으로 간 주하여, 그 문자열 직사각형에 프레임 플래그를 설정한다. 프레임 직사각형의 판정 기준으로서는 테두리 직사각형의 내부에 있는 문자열 직사각형을 전부 프레임 직사 각형으로 간주하는 경우와, 테두리 직사각형과 내부의 문자열 직사각형의 좌표치가 임계치 이상으로 떨어져 있지 않은 경우만 프레임 직사각형으로 간주하는 경우가 있다.
다음에, line3 내의 문자열 직사각형 중에서 괘선 직사각형으로 판단한 것에 괘선플래그를 설정한다(단계 S49). 여기서는, str_freq의 1/2 이하에서 높이/폭의 비가 0.8보다 작거나 또는 12.5보다 큰 것을 괘선 직사각형으로 간주하여 그 문자열 직사각형에 괘선 플래그 설정한다.
다음에, line3 내의 문자열 직사각형을 검사하여 그 바로 아래에 하선같은 괘선 직사각형(하선 직사각형)이 있는 경우, 또는 문자열 직사각형 내부를 주사하여 내부에 하선이 있는 경우는, 그 문자열 직사각형에 하선 플래그를 설정한다(단계 S50). 여기서는, 괘선 직사각형 위에 문자열 직사각형이 있고, 그들 사이의 거리가 str_freq보다 작은 범위에 있으며, 또한, 위의 문자열 직사각형과 괘선 직사각형의 좌우단의 차가 str_freq 이하일 때, 위에 있는 문자형 직사각형에 하선 플래그를 설정한다. 도 29는 하선 직사각형의 예를 도시하고 있다. 도 29에 있어서, 문자열 직사각형(71)의 아래에는 괘선 플래그가 설정된 가로 길이의 괘선 직사각형(72)이 있기 때문에, 이것이 하선 직사각형으로 간주되어 문자열 직사각형(71)에는 하선 플래그가 설정된다.
또한, 폭 또는 높이가 str_freq의 1/2 이상인 문자열 직사각형을 대상으로 하여, 나중에 설명하는 방법으로 세그먼트를 추출한다. 그리고, 문자열 직사각형 내에서 추출한 세그먼트가 문자형 직사각형의 좌우단에서 일정 화소수의 범위에 있고, 또한 세그먼트의 높이가 직사각형 높이의 WAKUTHIN 배(예컨대 0.3배) 이하이 며, 또한 세그먼트 아래의 y 좌표가 직사각형 아래의 y 좌표로부터 str_freq/2만큼 위의 위치보다 아래에 있으며, 또한 세그먼트 위의 y 좌표와 직사각형 위의 y 좌표 의 차가 str_freq_2보다도 크고, 또한 세그먼트 아래의 y 좌표와 직사각형 아래의 y 좌표의 차가 세그먼트의 위의 y 좌표와 직사각형 위의 y 좌표의 차보다도 작은 경우에, 이 세그먼트를 문자열 직사각형 내의 하선으로서 식별하여 그 문자열 직사각형에 하선 플래그를 설정한다.
이렇게 해서, 문자열 가공 처리를 종료한다. 도 30은 프레임 플래그, 괘선 플래그 및 하선 플래그를 설정하는 처리를 끝낸 후의 문자열 직사각형을 도시하고 있다. 도 30에 있어서, LO∼L54는 각 문자열 직사각형에 부가된 라벨치를 표시하고 있다. 이들의 문자열 직사각형 중, 라벨치 Ll, L2 및 L16을 갖는 문자열 직사각형이 프레임 직사각형에 상당한다.
다음에, 도 24의 단계 S50에서 문자열 직사각형으로부터 세그먼트를 추출하는 방법을 상세히 설명한다. 도 31은 세그먼트 추출 처리의 흐름도이다.
도 31에 있어서 처리가 개시되면, 프로세서(14)는 우선 문자열 직사각형을 일정한 화소폭(w)의 스트립형의 부분 영역으로 분할한다(단계 S61). 이 부분 영역은 도 11의 경우와 동일하게 반씩 겹치는 것 같은 영역으로 한다.
다음에, 각 부분 영역의 내부를 위에서 아래로 순서대로 세로 1 화소×가로 w 화소의 선형 영역마다 주목해 간다. 어떤 선형 영역의 내부의 블랙 화소수가 임 계치보다 큰 경우에, 이 선형 영역의 내부가 모두 블랙 화소인 것으로 간주하여, 이것을 블랙 영역으로 한다. 블랙 영역의 바로 아래에 별도의 블랙 영역이 있는 경우는, 2개의 블랙 영역은 연속하고 있는 것으로 판단하여, 1개의 블랙 영역(부분 세그먼트 직사각형)으로서 취급한다(단계 S62). 즉, 블랙 영역을 나타내는 좌표의 좌우측은 부분 영역의 좌우의 좌표, 위측은 위에서 순서대로 주사해 갔을 때에 화이트 영역에서 블랙 영역으로 변화할 때의 블랙 영역의 y 좌표, 아래측은 블랙 영역에서 화이트 영역으로 변화할 때의 블랙 영역의 y 좌표가 된다. 이 결과, 1개의 부분 영역에서 1개 또는 복수개의 블랙 영역의 좌표가 구해진다. 이 조작을 전체부분 영역에서 실행하여 블랙 영역의 집합을 구한다.
다음에, 블랙 영역 중에서 높이가 임계치보다 큰 것을 와일드 카드(wild card)라고 부르게 한다(단계 S63). 와일드 카드는 예컨대, 문자열 직사각형 내에서 문자가 손상되어 블랙 화소의 덩어리로 되어 있는 경우에 발생한다. 도 32는 부분 영역으로 분할된 문자열 직사각형과, 그 중의 와일드 카드의 예를 도시하고 있다. 또한, 도 33은 1개의 부분 영역 중의 선형 영역과 와일드 카드의 예를 도시하고 있다. 도 33에 있어서, 부분 영역은 15개의 선형 영역으로 이루어지고, 그들 중 위에서 12개의 선형 영역이 와일드 카드를 형성하고 있다.
다음에, 블랙 영역의 집합을 주사하여 중복 또는 인접하는 것을 통합하여 가 로 길이의 직사각형 영역을 구한다(단계 S64∼S69). 우선, 최초에 블랙 영역의 집 합으로부터 1개의 블랙 영역을 취출하여 그것에 주목한다(단계 S64). 그 블랙 영역 이 와일드 카드 직사각형이 아닌 경우는 그 블랙 영역의 상하단의 좌표와 좌우단의 좌표를 가로 길이의 직사각형 영역의 좌표로서 보존한다. 1회라도 블랙 영역의 집 합으로부터 취출된 블랙 영역은 사용 종료 플래그를 설정하여 두번 다시 사용하지 않는다.
다음에, 블랙 영역의 집합으로부터 1개의 블랙 영역을 취출하고, 이미 사용종료의 것이 아니면, 기억한 가로 길이 직사각형의 좌표와 비교하여 그 우측에 인접 또는 중복된 관계에 있는지의 여부를 검사하고, 그와 같은 관계에 있는 블랙 영역을 취출한다(단계 S65). 그리고, 그 블랙 영역이 와일드 카드인지 아닌지를 판정하여(단계 S66), 와일드 카드인 경우는 그 높이를 무시하고 가로 방향의 영역을 통합한다(단계 S67). 이 때, 기억하고 있는 가로 길이 직사각형의 우단의 좌표를 그 와일드 카드 직사각형의 우단의 좌표로 대체한다.
우측에 인접 또는 중복하는 블랙 영역이 와일드 카드가 아닌 경우는 양방향의 직사각형의 상하 좌표를 비교하여, 그들의 차가 임계치 이내에 있으면, 세로 및 가로 방향의 영역을 통합한다(단계 S68). 이 때, 우측의 와일드 카드가 아닌 블랙 영역의 상하 좌표를 새로운 가로 길이의 직사각형 영역의 상하 좌표로 한다. 또한, 블랙영역의 우단의 좌표를 가로 길이 직사각형의 우단의 좌표로 한다. 그리고, 블랙 영역을 전부 조사했는지의 여부를 판정하여(단계 S69), 미처리의 블랙 영역이 있으면, 단계 S65 이후의 처리를 반복한다. 또, 주목하는 블랙 영역을 다른 것으로 변경시켜서(단계 S70에서 'NO'), 단계 S64 이후의 처리를 반복하고 모든 블랙 영역을 취출하면 처리를 종료한다.
이와 같이, 도 31의 세그먼트 추출 처리에 있어서는, 우선 직사각형 내부를 적당한 길이의 중복이 있는 세로 스트립형 단편으로 분할하고, 1개의 스트립형 단 편 내부에서 일정한 블랙 화소 점유율을 충족시키는 부분을 추출하여 부분 세그먼 트 직사각형(블랙 영역)으로 표현하여 그것들을 보존한다. 여기까지는 도 11에 도 시한 세그먼트의 추출 방법과 같다. 이 때, 저장된 부분 세그먼트 직사각형은 하선 의 일부인 높이가 작은 직사각형의 경우도 있지만, 문자가 손상되어 그것이 하선과 접촉하고 있을 때에는 도 32의 와일드 카드와 같은 높이의 큰 직사각형의 경우도 있다. 이들을 가로방향으로 주사해 가서 전체적인 1개의 긴 세그먼트 직사각형으로서 추출한다. 도 32에 있어서는, 문자형 직사각형 내의 와일드 카드의 높이는 무시되고, 다른 부분 세그먼트 직사각형과 통합되어 문자열 직사각형의 하단 부분에 가로 길이의 세그먼트 직사각형이 추출되어 있다.
도 34, 도 35 및 도 36은 세그먼트 추출 처리의 프로그램 코드의 예를 도시하고 있다. 도 35는 도 34의 C1의 위치의 α에 상당하는 부분을 도시하고 있으며, 도 36은 도 34의 C2의 위치의 β에 상당하는 부분을 도시하고 있다. 또한, 도 37, 도 38 및 도 39는 도 34, 도 35 및 도 36의 처리의 개요를 도시하는 흐름도이다. 이 처리에 있어서는 문자가 손상되어 생긴 큰 블랙 화소 덩어리를 와일드 카드 직사각형으로서 취급하고, 그 전후에 8-연결로 접속되는 가로 길이의 직사각형에 주목한다. 그리고, 와일드 카드 직사각형을 사이에 끼워서 서로 8-연결의 관계에 있는 직사각형을 통합해 가고, 1개의 가로로 긴 직사각형을 세그먼트 후보의 괘선으로서 구한다. 이하, 도 37, 도 38 및 도 39를 참조하면서 구체적인 처리를 설명한다.
도 37에 있어서 처리가 개시되면, 프로세서(14)는 우선 각 부분 세그먼트 직 사각형의 높이를 검사한다(단계 S71). 그리고, 그것이 문자열 직사각형의 높이×0.3 이상이면, 와일드 카드 직사각형으로서 마크한다(단계 S72). 이 때, 그 부분 세그먼트 직사각형의 식별 변수 use를 9로 둠으로써 와일드 카드인을 붙인다. 그것 이외의 부분 세그먼트 직사각형은 보통의 직사각형(standard)으로서, use는 0으로 둔다(단계 S73). 그리고, 모든 부분 세그먼트 직사각형을 마크했는지의 여부를 판정하여(단계 S74), 아직 부분 세그먼트 직사각형이 남아 있으면, 단계 S71 이후의 처리를 반복한다.
모든 부분 세그먼트 직사각형의 마크가 끝나면, 1개의 직사각형을 현재 직사각형 i로서 취출하고, xlf=현재 직사각형 i의 좌단 좌표, xr=현재 직사각형 i의 우단 좌표, yuP=현재 직사각형 i의 상단 좌표, ybl=현재 직사각형 i의 하단좌표, line_starty=yup, line_endy=ybl로 둔다(단계 S75). 그리고, 현재 직사각형 i의 use가 0 또는 9인지 아닌지 조사한다(단계 S76).
현재 직사각형 i의 use가 0 또는 9이면, 다음에 use=0인지 아닌지를 판정한다 (단계 S77). use=0이면, standard_st=yup, standard_en=ybl, b_use=0, use=1, height=ybl-yup+1로 둔다(단계 S78). b_use=0은 현재 직사각형 i가 와일드 카드가 아니고, standard로서 설정되어 있는 것을 의미하며, use=1은 현재 직사각형 i가 사용 종료인 것을 의미한다. 단계 S77에서 use=0이 아니면, standard_st=0, standard_en=0, b_use=9, height2=ybl-yup+1로 둔다(단계 S79). b_use=9는 현재 직사각형 i가 와일드 카드이기 때문에, standard로서 설정되지 않는 것을 의미한다.
다음에, 다른 부분 세그먼트 직사각형을 현재 직사각형 k로서 취출하고, rxlf=현재 직사각형 k의 좌단 좌표, rxr=현재 직사각형 k의 우단 좌표, ryup=현재 직사각형 k의 상단 좌표, rybl=현재 직사각형 k의 하단 좌표로 둔다(도 38, 단계 S80). 그리고, 현재 직사각형 i가 standard로서 설정되어 있는지의 여부, 즉, b_use=0인지 아닌지를 조사한다(단계 S81). b_use=0이면, 다음으로 현재 직사각형 k의 use가 9인지 아닌지를 조사한다(단계 S82). 여기서, use=9인 경우는 현재 직사 각형 i가 standard이고 현재 직사각형 k가 와일드 카드인 것을 의미한다.
use=9일 때, xr+1≥rx1f, xr<rxr, ybl+1≥ryup 및 yup-1≤rybl이 성립되는지의 여부를 판정한다(단계 S83). 이들이 성립될 때, 현재 직사각형 k가 현재 직사각 형 i의 우측에 있고, 양자가 가로와 세로로 1화소(1도트) 이상의 겹침을 가지는 것을 의미한다. 이들 조건이 성립할 때, xr=rxr로 두고 현재 직사각형 i의 우단을 현재 직사각형 k의 우단까지 연장한다(단계 S84).
단계 S82에서 use=9가 아니면 use=0인지 아닌지를 조사한다(단계 S85). 여기에서, use=0인 경우는 현재 직사각형 i가 standard이고, 현재 직사각형 k가 와일드 카드가 아닌 것을 의미한다. use=0일 때, xr+1≥rxlf, xr<rxr, ybl+1≥ryup, 및 yup-1≤rybl가 성립되고, 또한 현재 직사각형 k의 높이가 일정 범위 내인지의 여부를 판정한다(단계 S86)
이들이 조건이 성립될 때, xr=rxr, yup=ryup, ybl=rybl, use=2, height=rybl -ryup+1 로 둔다(단계 S87). 이것은, 현재 직사각형 i의 우단을 현재 직사각형 k의 우단까지 연장하고, 상하단의 좌표를 현재 직사각형 k의 것으로 대체하는 것을 의미한다. 여기서, use=2는 현재 직사각형 k가 사용 종료인 것을 의미한다. 다음에, ryup<line_starty가 성립되는지의 여부를 판정하고(단계 S88), 성립되면 line_starty=ryup로 둔다(단계 S89). 또, rybl>line_endy가 성립되는지의 여부를 판정하여(단계 S90), 성립하면 line_endy=rybl로 둔다(단계 S91).
이들의 처리 후, 다음에 b_use=9인지 아닌지를 판정한다(도 39, 단계 S92). 단계 S81에서 b_use=0이 아닐 때, 또는 단계 S83, S85, S86, S88, S90에서 판정 결과가 'NO'일 때는 즉시 단계 S92 이후의 처리로 이동한다.
b_use=9이면 다음에, 현재 직사각형 k의 use가 9인지 아닌지를 조사한다(단 계 S93). 여기서, use=9인 경우는 현재 직사각형 i와 현재 직사각형 k의 양방이 와 일드 카드인 것을 의미한다. use=9이면 xr+1≥rxlf 및 xr<rxr가 성립하는지의 여부 를 판정한다(단계 S94). 이들이 성립할 때, 현재 직사각형 k가 현재 직사각형 i의 우측에 있고, 양자가 가로와 세로로 1도트 이상이 겹침을 가지기 때문에, xr=rxr로 두고 현재 직사각형 i의 우단을 현재 직사각형 k의 우단까지 연장한다(단계 S95).
단계 S93에서 use=9가 아니면 use=0인지 아닌지를 검사한다(단계 S96). 여기 서, use=0인 경우는 현재 직사각형 i가 와일드 카드이고 현재 직사각형 k가 와일드 카드가 아닌 것을 의미한다. use=0일 때 xr+1≥rxlf 및 xr<rxr가 성립하는지 성립하지 않는지를 판정한다(단계 S97). 이것들의 조건이 성립될 때, xr = rxr, yup = ryup, ybl = rybl, use = 2, line_starty = ryup, line_endy = rybl, height = rybl-ryup+1, standard_st = ryup, standard_en = rybl 로 둔다(단계 S98). 이것은 현재 직사각형 i의 우단을 현재 직사각형 k의 우단까지 연장하고, 상하단의 좌표를 현재 직사각형 k의 것으로 대체하는 것을 의미한다. 또, use=2는 현재 직사각형 k가 사용 종료인 것을 의미한다.
다음에, 현재 직사각형 k로서 모든 부분 세그먼트 직사각형을 취출하는지를 판정한다(단계 S99). 단계 S92에서 b_use=9가 아닐 때, 또는 단계 S94, S96, S97에서 판정 결과가 'N0'일 때는 즉시 단계 S99 이후의 처리로 이동한다. 단계 S99에서 남아 있는 부분 세그먼트 직사각형이 있으면 단계 S80 이후의 처리를 반복한다.
모든 부분 세그먼트 직사각형에 관하여 처리가 종료하면, b_use=9인지 아닌 지를 판정하고(단계 S100), b_use=9이면 height=height2로 둔다(단계 S101). 단계 S100에서 b_use=9가 되는 것은 현재 직사각형 i와 그것에 연결되는 모든 직사각형 이 와일드 카드인 경우에 상당한다.
다음에, 현재 직사각형 i로서 모든 부분 세그먼트 직사각형을 취출하는지를 판정하여(단계 S102), 남아 있는 부분 세그먼트 직사각형이 있으면 단계 S75 이후 의 처리를 반복한다. 단계 S76에서 현재 직사각형 i의 use가 0 또는 9가 아닌 경우 는 취출한 부분 세크먼트 직사각형이 이미 사용 종료인 것을 의미하기 때문에, 즉 시 단계 S102의 처리로 이동하여 다음 부분 세그먼트 직사각형을 취출한다.
모든 부분 세그먼트 직사각형에 관해서 처리가 종료하면, xlf, xr, line_starty, line_endy를 각각 추출한 세그먼트 직사각형의 좌단, 우단, 상단, 하 단의 좌표로서 화일 yokoline에 보존하여(단계 S103), 처리를 종료한다. 여기서, yokoline은 1개의 문자열 직사각형으로부터 추출된 1개 이상의 세그먼트 직사각형 을 저장하는 메모리 영역에 대응한다.
도 24의 단계 S50에서는 이상과 같이 하여 문자열 직사각형으로부터 세그먼트가 추출되고, 또 그것이 하선 직사각형에 상당하면 그 문자열 직사각형에 하선 플래그가 설정된다. 이렇게 해서 문자열 직사각형 가공 처리가 종료하면, 프로세서(14)는 다음에 도 3의 단계 S8∼S10의 처리에 상당하는 타이틀, 수신지 및 발신지 추출 처리를 행한다. 도 40은 타이틀, 수신지 및 발신지 추출 처리의 흐름도이다.
도 40에 있어서 처리가 개시되면, 우선 문자열 직사각형의 상대적인 위치, 높이, 테두리 및 하선 정보를 사용하여 바람직한 타이틀의 포인트를 계산한다(단계 S111). 각 문자열 직사각형에 대한 바람직한 타이틀의 포인트 부여의 방침은 대체
로 다음과 같다.
(m) 플러스 포인트
문자열의 속성(테두리 내, 하선 있음): 고득점,
문자열의 사이즈(높이, 폭): 크기에 의존하는 득점,
문자열의 형(종횡비): 일정 이상이면 득점,
문자열의 상호 위치 관계(상하 간격, 좌측 직사각형의 유무): 고립성이 높을수록 고득점,
문서 내의 위치(중앙, 위 등): 중앙, 위는 고득점, 상하의 위치의 차이에는 상대적으로 적은 득점차,
(n) 마이너스 포인트
문자열의 속성(문자열 직사각형의 내부가 1개의 문자 직사각형으로 이루어진 다): 대감점,
문자열의 상호 위치 관계(상하 근접, 중복, 위의 직사각형과 좌측을 갖춤, 위의 직사각형이 중첩): 대감점,
문서 내의 위치(우측에 있다): 대감점,
이러한 방침에 따라서 각 문자열 직사각형에 예컨대 이하의 조건으로 득점을 부여한다.
(o) 괘선 직사각형은 득점 0,
(p) 높이가 str_freq의 1/2 미만은 득점 0,
(q) 폭/높이의 비가 3 미만은 득점 0,
(r) 횡폭이 str_freq의 4배 미만은 득점 0,
(s), (o), (p), (q) 및 (r)의 조건에 해당하는 문자열 직사각형 이외에 관해서 이하의 조건으로 득점을 부여한다.
〔#1〕종횡비: 폭/높이의 비가 3일 때, 20점,
〔#2〕상하 근접: 서로 중복하고 있는 경우를 제외하여 어떤 문자열 직사각형과, 상하에 인접하는 2개의 문자열 직사각형과의 간격이 양쪽 모두 str_freq/2이하일 때, -40점,
〔#3〕한쪽 근접: 위 또는 아래의 문자열 직사각형만이 16 도트 보다 근접하고 있는 경우, -20점,
〔#4〕상하 간격: 상하의 문자열 직사각형과의 간격이 str_freq보다 큰 경우, 20점,
〔#5〕중복: 다른 문자열 직사각형과 중복이 있는 경우, -40점,
〔#6〕중심: 문자열 직사각형의 가로 방향(x 방향)의 중심 좌표가 [문서 영역의 중심 좌표 ± 문서 영역폭의 40%] 이내에 들어 있는 경우, 30점,
〔#7〕우측: 문자열 직사각형의 중심 좌표가 문서 영역의 좌측에서 60%의 위치보다 오른쪽에 있으며, 또한, (문서 영역의 중심 좌표-문자열 직사각형의 좌단 좌표)가 문서 영역폭의 1/6이하인 경우, 30점,
〔#8〕높이 1: 문자열 직사각형의 높이가 str_freq의 0.5배에서 1.5배의 사이에 있는 경우, 20점,
〔#9〕높이 2: 문자열 직사각형의 높이가 str_freq의 1. 5배와 3배의 사이인 경우, 30점,
〔#10〕높이 3: 문자열 직사각형의 높이가 str_freq의 3배보다 큰 경우, 40점,
〔#11〕높이 4: 문자열 직사각형의 높이가 str_freq의 3배보다 크고, 또한, 문자열 직사각형의 아래 좌표가 문서 영역의 위에서 1/3 이내에 들어가는 경우, 10점,
〔#12〕횡폭: 문자열 직사각형의 폭이 문서 영역폭의 0.4배보다 큰 경우, 10점,
〔#13〕하선: 문자열 직사각형에 하선 플래그가 있는 경우, 30점,
〔#14〕테두리: 문자열 직사각형에 프레임 플래그가 있는 경우, 최대 30점을 부여하고 그 횡폭에 비례하여 감소시킨다.
〔#15〕왼쪽에 직사각형이 없다: 좌측에 같은 좌표의 문자열 직사각형이 없는 경우, 또는 좌측에 str_freq의 3배보다 작은 문자열 직사각형이 있는 경우,20점,
〔#16〕y 좌표: 가장 위에 있는 문자열 직사각형이 20점, 거기에서 아래로 향하여 1점씩 감소한 득점,
〔#17〕좌단 일치: 문자열 직사각형의 위에 좌단이 가까운 다른 문자열 직사 각형이 있으면 -30점,
〔#18〕중복(overlap): 문자열 직사각형의 위에 좌단 및 우단이 가까운 다른 문자열 직사각형이 있는 경우, 또는 위의 문자열 직사각형 쪽이 좌단 우단 모두 문서 영역의 끝에 가까운 경우, -30점,
〔#19〕블랙 영역: 큰 문자열 직사각형이고 그 내부가 1개의 블랙 화소 연결영역으로 성립하고 있는 경우, -40점,
도 41은 〔#18〕의 중복되어 있는 문자열 직사각형의 예를 도시하고 있다. 도 41(a)에 있어서는, 위의 문자열 직사각형과 아래의 문자열 직사각형의 좌우단이 근접하고 있으며, 도 41(b)에 있어서는 위의 문자열 직사각형의 좌우단 쪽이 아래의 문자열 직사각형의 좌우단보다 문서 영역의 끝에 가깝다. 이러한 경우, 아래의 문자열 직사각형은 타이틀일 가능성이 낮다고 생각된다.
상기(o), (p), (q), (r) 및 (s)의 포인트를 문자열 직사각형마다 합계하여 메모리(15)에 보존한다.
다음에, 타이틀 후보를 포인트가 높은 순으로 추출하여 결과를 보존한다(단계 S112). 여기서는 line3 내의 전체 문자열 직사각형을 대상으로 하여 그것들을 포인트가 높은 순으로 재배열하고, 그 결과를 화일 title에 저장한다. title 내에는 타이틀 후보의 제1 위치의 문자열 직사각형으로부터 순서대로 전체 문자열 직사각형이 저장된다 이것에 의해, 제1 후보의 문자열 직사각형이 타이틀 직사각형으로서 추출된다.
다음에, 제1 위치의 타이틀 후보의 문자열 직사각형으로부터 본 상대적 위치관계의 정보를 사용하여 수신지의 문자열 직사각형(수신지 직사각형)을 추출하여 보존한다(단계 S113). 또한, 그 상대적 위치 관계의 정보 또는 수신지 직사각형으로부터 본 상대적 위치 관계의 정보를 사용하여 발신지 정보의 문자열 직사각형(발신지 정보 직사각형)을 추출하고 그것을 보존하여(단계 S114) 처리를 종료한다. 발신지 정보에는 문서의 발신일, 발신자명 및 리포트 번호 등이 포함된다.
단계 S113에 있어서는, 우선 타이틀의 제1 후보의 문자열 직사각형의 y 방향의 위치를 구하여 그것이 가장 위인 경우는 제1 수신지 추출 처리를 행하고, 그것이외의 경우는 제2 수신지 추출 처리를 행한다. 도 42는 제1 수신지 추출 처리의 흐름도이고, 도 43은 제2 수신지 추출 처리의 흐름도이다.
우선, 제1 수신지 추출 처리에 관해서 설명한다. 도 42에 있어서. 처리가 개시되면, 프로세서(14)는 우선 타이틀 직사각형보다 아래에 있는 문자열 직사각형 중에서 키 수신지 직사각형을 추출하여 그것을 보존한다(단계 S121). 여기서는 타이틀 직사각형보다 아래에 있으며, 높이가 st_h의 0.6배에서 en_h의 1.4배의 사이에 있는 문자열 직사각형으로서, 그 x 방향의 중심 좌표가 타이틀 직사각형의 중심 좌표보다 왼쪽에 있고, 폭/높이의 비가 3보다 큰 것을 키 수신지 직사각형으로서 추출한다. 그리고, 이 키 수신지 직사각형보다 위에 있는 문자열 직사각형 중에 x방향의 중심 좌표가 타이틀 직사각형의 중심 좌표보다도 오른쪽에 있는 발신지 정보로 생각할 수 있는 문자열 직사각형이 없는 경우에 추출한 키 수신지 직사각형을 화일 to에 보존한다.
다음에, 키 수신지 직사각형의 오른쪽으로 있는 문자열 직사각형을 수신지 직사각형으로서 추가한다(단계 S122). 여기서는 키 수신지 직사각형의 오른쪽에 있고, 그 y 좌표가 (키 수신지 직사각형의 y 좌표)±(높이의 0.2배)의 범위 내에 있 는 문자열 직사각형을 수신지 직사각형으로 간주하고, 키 수신지 직사각형과의 중복 등록을 피하여 to에 등록한다.
다음에, 상하에 수신지 직사각형이 있는 문자열 직사각형을 수신지 직사각형으로서 추가한다(단계 S123). 여기서는 지금까지 추출한 to 내의 수신지 직사각형의 높이의 평균치(평균 높이)를 구한다. 그리고, 타이틀 직사각형보다 아래의 전체 문자열 직사각형 중에서 지금까지 추출된 수신지 직사각형이 아니고, 위 또는 아래가 수신지 직사각형으로 좌단의 좌표가 위 또는 아래의 수신지 직사각형의 좌단의 좌표와 일정 오차 이내로 일치하고, 또한 높이가 평균 높이의 2배 미만이거나 위 또는 아래의 수신지 직사각형까지의 거리가 평균 높이의 1/2 미만인 것을 수신지 직사각형으로서 to에 추가 등록한다. 이러한 처리를 수신지 직사각형수가 변화하지 않게 될때까지 반복한다.
이렇게 해서, 제1 수신지 추출 처리가 종료하고, to 내의 문자열 직사각형이 수신지 직사각형으로서 추출된다.
다음에, 제2 수신지 추출 처리에 관해서 설명한다. 도 43에 있어서 처리가 개시되면, 프로세서(14)는 우선 타이틀 직사각형보다 위에 있는 문자열 직사각형 중에서 키 수신지 직사각형을 추출하여 그것을 보존한다(단계 S131). 여기서는 타이틀 직사각형보다 위에 있으며, 높이가 st_h의 0.6배에서 en_h의 1.4배의 사이에 있는 문자열 직사각형으로서, 그 x 방향의 중심 좌표가 타이틀 직사각형의 중심 좌표보다도 왼쪽에 있으며, 폭/높이의 비가 3보다 큰 것을 키 수신지 직사각형으로서 추출한다. 그리고, 추출한 키 수신지 직사각형을 화일 to에 보존한다.
다음에, 키 수신지 직사각형의 오른쪽에 있는 문자열 직사각형을 수신지 직사각형으로서 추가한다(단계 S132). 여기서는, 키 수신지 직사각형의 우측 일정 거리 이내에 있고, 그 y 좌표가 [키 수신지 직사각형의 y 좌표 ±높이의 0.2배]의 범위 내에 있는 문자열 직사각형을 수신지 직사각형으로 간주하여, 키 수신지 직사각형과의 중복 등록을 피하고 to에 등록한다.
다음에, 상하에 수신지 직사각형이 있는 문자열 직사각형을 수신지 직사각형으로서 추가한다(단계 S133). 여기서는 지금까지 추출한 to 내의 수신지 직사각형의 평균높이를 구한다. 그리고, 타이틀 직사각형보다 아래의 전체 문자열 직사각형 중에서 지금까지 추출된 수신지 직사각형이 아니고, 위 또는 아래가 수신지 직사각형이며, 좌단의 좌표가 위 또는 아래의 수신지 직사각형의 좌단의 좌표와 일정 오차 이내로 일치하며, 또한, 높이가 평균 높이의 2배 미만이거나, 위 또는 아래의 수신지 직사각형까지의 거리가 평균 높이의 1/2 미만인 것을 수신지 직사각형으로서 to에 추가 등록한다. 이러한 처리를 수신지 직사각형 수가 변화하지 않게 될 때까지 반복한다.
이렇게 해서, 제2 수신지 추출 처리가 종료하고, to 내의 문자열 직사각형이 수신지 직사각형으로서 추출된다.
도 40의 단계 5114에서는 타이틀 직사각형의 y 방향의 위치를 구하고, 그것이 가장 위인 경우는 제1 발신지 정보 추출 처리를 행하며, 그것 이외의 경우는 제2 발신지 정보 추출 처리를 행한다.
제1 발신지 정보 추출 처리에 있어서는, 타이틀 직사각형보다 아래의 문자열 직사각형으로서, 수신지 직사각형이 아닌 것을 대상으로 하여 높이가 st_h의 0.6배에서 en_h의 1.4배의 사이에 있으며, 또한 x 방향의 중심 좌표가 타이틀 직사각형의 그것보다도 오른쪽에 있는 것을 수신지 직사각형으로서 추출하여, 화일 from에 보존한다. 또한, 제2 발신지 정보 추출 처리에 있어서는 타이틀 직사각형보다 위의 문자열 직사각형으로서, 수신지 직사각형이 아닌 것을 대상으로 하여, 제1 발신지 정보 추출 처리와 같은 문자열 직사각형을 수신지 직사각형으로서 추출하여 화일 from에 보존한다. 이렇게 해서, from 내의 문자열 직사각형이 발신지 정보 직사각형으로서 추출된다.
제1 및 제2 발신지 정보 추출 처리는 제1 및 제2 수신지 추출 처리에 비하여 간단히 되어 있지만, 수신지 추출 처리와 동일하게 일정한 조건을 충족시키는 다른 문자열 직사각형을 발신지 정보 직사각형에 가하도록 하더라도 좋다.
도 44는 타이틀과 수신지/발신지 정보의 제1 배치를 도시하고 있다. 도 44에 있어서는 타이틀 직사각형이 가장 위에 있기 때문에, 제1 수신지 추출 처리 및 제1 발신지 정보 추출 처리가 적용된다. 도 45, 도 46 및 도 47은 각각 타이틀과 수신지 /발신지정보의 제2, 제3 및 제4의 배치를 도시하고 있다. 이것들의 배치에 있어서는 타이틀 직사각형이 가장 위가 아니기 때문에, 제2 수신지 추출 처리 및 제2 발신지 정보 추출 처리가 적용된다. 또한, 도 48은 복수의 수신지/발신지 정보의 예를 도시하고 있다. 도 48에 있어서도 제2 수신지 추출 처리 및 제2 발신지 정보 추출 처리가 적용된다.
도 45, 도 47 및 도 48과 같은 배치의 경우는 제2 발신지 정보 추출 처리를 행하면, 타이틀 직사각형보다 아래에 있는 발신지 정보 직사각형이 추출되지 않는다. 그래서, 타이틀 직사각형이 가장 위에 있지 않은 경우에도 제1 발신지 정보 추출 처리를 행하는 구성으로 할 수 있다. 또한 제1 및 제2 발신지 정보 추출 처리를 병용하더라도 좋다.
도 49는 타이틀, 수신지 및 발신지 추출 처리에 의해 생성된 화일 title, to, from의 내용을 도시하고 있다. 도 49에 있어서는 문자열 직사각형 「ソフトウェア販賣レポ一ト 送付表」가 타이틀 직사각형으로서 추출되고, 그것에 계속되는, 좌측 일치의 문자열 직사각형이 복수의 수신지 직사각형으로서 추출되어 있다. 또한, 우측 아래의 숫자가 발신지 정보로서 추출되어 있다.
도 50은 타이틀, 수신지 및 발신지 추출 처리에 의한 다른 추출 결과를 도시하고 있다. 도 50에 있어서는 문자열 직사각형「外部撥表の受守狀況につぃて(送付) 」(외부 발표의 접수 상황에 관해서 (송부))가 타이틀 직사각형으로서 추출되고, 그 좌측 위에 있는 문자열 직사각형이 수신지 직사각형으로서 추출되어 있다. 또한, 타이틀 직사각형의 우측 위의 복수의 문자열 직사각형이 발신지 정보로서 추출되어 있다.
이렇게 해서, 추출된 타이틀 직사각형, 수신지 직사각형 및 발신지 정보 직사각형은 도 3의 단계 S11의 인식 처리에 의해 문자열로서 인식된다. 이 때, 각 인식 대상의 직사각형으로부터 1문자씩 문자를 잘라 내어 각 문자마다 문자 인식이 행해진다. 그리고, 인식 결과는 예컨대, 전자 화일링 장치(11) 내의 화상 화일의 키워드로서 이용된다.
이상의 실시 형태에 있어서, 도 31의 세그먼트 추출 처리는 도 24의 단계 S50의 하선 추출 처리 뿐만 아니라, 도 3의 단계 S6에서 큰 직사각형으로부터 가로 세그먼트를 추출할 때에도 적용할 수 있다. 이것에 의해, 큰 직사각형 내의 와일드 카드의 높이를 무시하여 가로 방향의 세그먼트 직사각형을 추출하여, 그것을 일부분으로 하는 테두리선을 식별할 수 있다.
그런데, 도 3 내지 도 50에서 설명한 실시 형태에서는 표의 외부에 있는 영 역으로부터 타이틀을 추출하는 기술에 관해서 기술되어 있다. 표의 내부에 타이틀 이 있는 경우에는 도 5의 단계 S24에서 표 직사각형이 처리 대상으로부터 제외되어있기 때문에 표 내의 타이틀을 추출할 수 없다.
일반적으로 표를 포함하는 문서에 있어서는 그 표의 외부에 문서 전체의 타이틀이 있는 것이 많지만, 회사 내의 문서 중에는 정형의 사무 문서 등과 같이 표의 내부에 타이틀이 있는 것도 있다. 또한, 표의 외부에 타이틀이 있더라도 그것이 「회의록」 등과 같은 일반적인 문서명이고, 전자 화일링 시스템의 검색시에 필요한 문서를 특정할 수 있는 키워드가 되는 타이틀은 표 내의 1개의 란 내에 기록되어있는 경우도 있다.
이러한 경우에 문자 인식 등의 처리 시간이 걸리는 기술을 사용하지 않고, 표 내의 유효한 타이틀 부분을 고속으로 추출하는 것이 요망된다. 이하에서는 표를 포함하는 일반 문서의 문서 화상에서 표 내에 있는「표제」나 「회사명」과 같은 타이틀같은 란의 명칭을 표현하는 부분(항목 부분)과, 항목이 구체적인 내용을 나타내는 타이틀 부분을 추출하는 실시 형태를 설명한다.
도 51은 표 형식의 사내 문서의 예를 도시하고 있다. 도 51의 표 형식 문서에서는 표 괘선으로 둘러싸인 표 내의 좌측상에 있는 「表題」가 항목 부분에 상당하고, 그 오른쪽에 있는 「マルチメディアとパタ一ン認識シソポジウム(멀티미디오와 패턴 인식 심포지움)」 이 타이틀 부분에 상당한다. 이와 같이, 횡서 문서의 경우에는 표 내의 타이틀 부분은 통상, 항목 부분의 우측에 있다고 생각해도 좋다.
도 52는 도 2의 타이틀 추출 시스템에 의한 표 내 타이틀 추출 처리의 흐름도를 도시하고 있다. 도 52의 처리에 있어서는 전제조건으로서 횡서 문서를 대상으로 하고 있지만, 도 3의 처리와 같이 종서 문서에도 대응 가능하다.
도 52에 있어서 처리가 개시되면, 광전 변환 장치(12)가 문서를 판독하고 문서 화상으로서 메모리(15)에 저장한다(단계 S141). 여기서도 도 3의 단계 S1과 동일하게 하여 원화상을 압축 화상으로 변환하여 보존한다. 도 51의 문서로부터 작성된 압축 화상은 도 53과 같이 된다.
다음에, 프로세서(14)가 문서 화상에 라벨 처리를 실시하고, 직사각형 높이의 최대 빈도치를 구하여, 그것을 바탕으로 큰 직사각형을 추출한다(단계 S142). 여기서의 처리는 도 5의 단계 S21, S22 및 S23의 처리와 같다. 다만, 테두리 직사각형의 추출은 행하지 않으며, 화일 box에 보존되는 직사각형은 임계치를 나타내는 변수명 th_large보다 큰 직사각형이다. 도 53의 문서 화상의 라벨 처리 결과는 도 54와 같이 된다.
다음에, 추출된 큰 직사각형에서 표를 둘러싸는 직사각형(표 직사각형)을 추출하여(단계 S143), 표직사각형 중에서 타이틀을 포함하는 것을 선택한다(단계 S144). 여기서는 예컨대 가장 면적이 큰 표 직사각형이 취출되고, 이하의 처리는 취출된 표 직사각형의 내부를 대상으로 하여 행하여진다.
프로세서(14)는 우선 표 직사각형의 내부에서 문자열(또는 행)을 추출하여, 문자열의 외접 직사각형(문자열 직사각형)을 구하고, 그 좌표를 메모리(15)에 보존 한다 (단계 S145). 다음에, 보존한 문자열 직사각형으로부터 횡폭이 작은 직사각형 이나 세로로 긴 직사각형을 노이즈 직사각형으로서 제거하고(단계 S146), 2개 이상 의 문자열 직사각형을 통합한다(단계 S147).
단계 S145의 처리는 기본적으로 도 5의 단계 S25에서 S31까지의 처리와 같 다. 또한, 단계 S146의 처리는 도 24의 단계 S41의 처리와 같으며, 단계 S147의 처리는 단계 S42에서 S44까지의 처리와 같다.
여기까지의 처리로 표 내에서 추출된 문자열 직사각형이 정리되지만, 이들의 문자열 직사각형은 표 괘선의 일부를 포함하고 있는 경우도 있을 수 있다. 그래서, 문자열 직사각형 중의 괘선 부분을 추출하여, 그 부분을 경계로 하여 문자열 직사각형을 분할한다(단계 S148).
다음에, 타이틀에 상당하는 문자열 직사각형을 추출하기 위해서, 문자열 직사각형 내의 문자수를 계산한다(단계 S149). 여기서 계산된 문자수는 문자열 직사각형의 속성으로서 단계 S152의 처리로 이용된다.
단계 S148의 처리에 의해 표 괘선에서 둘러싸인 란 마다 문자열 직사각형이 추출되지만, 원래의 표의 외형이 직사각형이 아닌 경우에는 표의 외부에 있는 문자열 직사각형이 남겨져 있을 가능성이 있다. 그래서, 위 괘선의 검사를 행하여(단계 S150), 상측에 표 괘선이 없는 것 같은 문자열 직사각형은 표 외부의 문자열 직사각형으로 간주하여 그것을 제거한다.
다음에, 표 내의 문자열 직사각형을 표 직사각형의 좌상 좌표에 가까운 순으로 재배열한다(단계 S151). 그리고, 문자열 직사각형의 문자수가 일정한 조건을 충 족시킬 경우에, 그 문자열 직사각형을 항목 부분 또는 타이틀 부분으로서 추출하여 (단계 S152) 처리를 종료한다. 이 때, 조건을 충족시키는 문자열 직사각형을 표 직 사각형의 좌상에 가까운 것으로부터 우선적으로 타이틀 직사각형의 후보로 한다.
다음에, 표 내 타이틀 추출 처리의 각 단계에서 행하여지는 구체적인 처리 내용을 설명한다.
도 55는 도 52의 단계 S143의 표 직사각형 추출 처리의 흐름도이다. 이 표 직사각형 추출 처리에 앞서 단계 S142의 처리를 행해 두는 것으로, 처리 대상이 일정 이상 큰 직사각형에 한정되기 때문에 표 직사각형의 추출이 효율화된다.
도 55에 있어서 처리가 개시되면, 프로세서(14)는 우선 box 내의 큰 직사각형으로부터 높이가 임계치보다 큰 것을 추출한다(단계 S161). 여기서는, 예컨대 직사각형 높이의 최대 빈도치를 나타내는 변수명 freq의 5배보다 큰(높은) 직사각형이 추출되고, 표 직사각형으로서 화일 large_4bai에 저장된다. 단계 S161에서 추출된 표 직사각형은 단계 S150의 위 괘선 검사시에 이용된다.
다음에, box 내의 큰 직사각형으로부터 횡폭이 임계치보다 큰 것을 추출하여 (단계 S162) 처리를 종료한다. 여기서는, 예컨대 횡폭이 문서 화상의 횡폭의 0.7배보다 큰 직사각형이 추출되고, 표 직사각형으로서 화일 largewide에 저장된다.
도 52의 단계 S144에서는 단계 S162에서 추출된 몇개의 표 직사각형 중에서 가장 큰 것이 선택된다. 여기서는 예컨대, largewide 내의 복수의 직사각형으로부터 그 면적이 최대의 것이 선택되어 처리 대상이 된다. 도 54의 문서 화상의 경우는 largewide 내에 저장되는 큰 직사각형은 표 직사각형(80)뿐이기 때문에, 자동적으로 이것이 처리 대상의 표 직사각형이 된다.
다음에, 도 52의 단계 S145에서는 선택된 표 직사각형 내부의 문자 직사각형을 대상으로 하여 문자열 직사각형의 추출이 행하여진다. 그러나, 다음 어느 한 항의 조건에 해당하는 직사각형은 처리 대상으로부터 제외한다.
(t)테두리 직사각형
(u)높이가 freq의 3배보다 크고, 높이/폭의 비가 0.4보다 작은 가로로 긴 직사각형
(v)문서 화상 전체의 높이의 1/3보다 큰 직사각형
이 중, (t)의 테두리 직사각형은 도 5의 단계 S23과 동일한 처리에 의해 추출할 수 있다.
단계 S145, S146 및 S147의 처리를 행한 후에 얻을 수 있는 통합된 문자열 직사각형은 도 56과 같이 된다. 도 56에 있어서, 예컨대 문자열 직사각형 81, 82 및 83 등은 표 괘선에 의해 구획된 원래 각각의 복수의 문자열을 포함하고 있다. 그래서, 표 내의 문자열을 정확하게 추출하기 위해서, 단계 S148에서 문자 직사각형 사이의 세로 괘선을 경계로 하여 문자열 직사각형을 분할한다. 이하, 도 57에서 도 65까지를 참조하면서 이 문자열 분할 처리에 관해서 설명한다.
문자열 분할 방법으로서는 크게 나눠 2개의 방법을 생각할 수 있다. 도 57은 제1 문자열 분할 처리의 흐름도이다. 제1 문자열 분할 처리에 있어서는 프로세서 (14)는 각 문자열 직사각형에 포함되는 임의의 2개의 인접 문자 직사각형의 사이에 세로 괘선이 있는지 없는지를 검사한다. 이 때, 우선 문자열 직사각형 내에 포함되는 문자 직사각형을 가로 방향으로 재배열하여, 그것들의 사이에 블랙 화소가 있는지 없는지 검사한다. 블랙 화소가 있는 경우는 그 위치에서 문자열 직사각형을 분할하고 복수의 새로운 문자열 직사각형을 생성한다.
도 57에 있어서 처리가 개시되면, 프로세서(14)는 우선 문자열 직사각형 내의 문자 직사각형을 x 좌표(횡 좌표)가 작은 것으로부터 순서대로 분류한다(단계 S171). 단계 S147까지의 처리에 있어서는 문자열 직사각형 내의 문자 직사각형은 일반적으로 y 좌표(종 좌표)가 작은 순서대로 분류되어 있으며, 가로 방향의 순서가 반영되어 있지 않다. 그래서, 실제문자의 순서에 대응하도록 문자 직사각형의 기억 순서가 변경된다.
예컨대, 도 58에 도시하는 문자열 직사각형(91)의 경우, 문자열 분할 처리 전에는 문자 직사각형 92, 95, 93, 94의 순으로 분류되고 기억되어 있다. 이것들의 문자 직사각형을 x 좌표로 다시 분류함으로써, 도 59에 도시된 바와 같이 문자 직사각형 92, 93, 94, 95의 순으로 정확하게 기억된다.
다음에, 문자열 직사각형의 좌단의 x 좌표, 우단의 x 좌표, 상단의 y 좌표 및 하단의 y 좌표를 각각 sx1, sx2, sy1 및 sy2로 두고(단계 S172), 문자열 직사각형 내의 가장 왼쪽의 문자 직사각형에 주목하여, 그것을 현재 직사각형으로 한다(단계 S173). 그리고, 현재 직사각형의 상단의 y 좌표, 하단의 y 좌표, 우단의 x 좌표를 각각 cy1, cy2, cx2로 두고(단계 S174), 현재 직사각형의 오른쪽에 있는 문자 직사각형의 상단의 y 좌표, 하단의 y 좌표, 좌단의 x 좌표를 각각 ry1, ry2, rx1으로 둔다(단계 S175).
다음에, 직선x=cx2, x=rx1, y=max(cy1, ry1), y=min(cy2, ry2)으로 둘러싸인 직사각형 영역 내에 블랙 화소가 있는지를 검사한다(단계 S176). 여기서, 이 직사각형 영역은 현재 직사각형과 현재 직사각형의 우측의 문자 직사각형의 사이에 위치하는 영역이다.
상기 직사각형 영역 내에 블랙 화소가 있으면, 거기에 세로 괘선이 있다고 간주하고, 좌표 x=sx1, cx2, y=sy1, sy2로 표시되는 직사각형을 문자열 직사각형으로서 등록하여 sx1=rx1로 한다(단계 S177).
다음에, 현재 직사각형의 우측의 문자 직사각형이 문자열 직사각형 중에서 가장 오른쪽에 있는지를 조사하고(단계 S178), 그렇지 않은 경우는 현재 직사각형의 우측의 문자 직사각형을 새롭게 현재 직사각형으로 하며(단계 S179), 단계 S174이후의 처리를 반복한다. 단계 S176에서 상기 직사각형 영역 내에 블랙 화소가 없으면 그대로 단계 S178 이후의 처리를 행한다.
그리고, 단계 S178에 있어서 현재 직사각형의 우측의 문자 직사각형이 가장 우측의 직사각형인 경우는, 좌표 x=sx1, sx2 그리고 y=sy1, sy2로 표시되는 직사각형을 문자열 직사각형으로서 등록하여(단계 S180) 처리를 종료한다.
이러한 제1 문자열 분할 처리에 의하면, 현재 직사각형과 현재 직사각형의 우측의 직사각형의 사이에 세로 괘선이 검출될 때에 그 좌측의 1개 이상의 문자 직사각형이 문자열 직사각형으로서 등록된다. 따라서, 원래의 문자열 직사각형에 세로 괘선이 2개 이상 포함되어 있어도 반드시 그것들의 위치에서 문자열 직사각형이 분할된다.
예컨대, 도 60과 같은 표 내의 문자열 직사각형(101)의 경우, 문자 직사각형 102, 103, 104, 105, 106 및 107을 포함하고 있고, 문자 직사각형 102와 문자 직사각형 103의 사이에는 표의 세로 괘선이 있다. 이 문자열 직사각형(101)을 대상으로 제1 문자열 분할 처리를 행하면, 문자 직사각형 102가 현재 직사각형일 때, 문자 직사각형 102와 문자 직사각형 103의 사이의 영역에서 블랙 화소가 검출된다(단계 S176,'YES'). 그래서, 도 61에 도시된 바와 같이, 문자 직사각형 102를 포함하는 직사각형이 문자열 직사각형(108)으로서 등록된다(단계 S177).
그 후, 문자 직사각형 103이 새롭게 현재 직사각형이 되고(단계 S179), 같은 처리가 반복되지만, 세로 괘선은 검출되지 않는다. 그리고, 문자 직사각형 106이 현재 직사각형이 될 때, 문자 직사각형 103, 104, 105, 106 및 107을 포함하는 직 사각형이 문자열 직사각형(109)으로서 등록되어(단계 S180) 처리가 종료한다. 이렇 게 해서, 원래의 문자열 직사각형(101)은 문자열 직사각형 108 및 109로 분할된다.
도 62 및 도 63은 제2 문자열 분할 처리의 흐름도이다. 제2 문자열 분할 처 리에 있어서는, 프로세서(14)는 각 문자열 직사각형의 내부를 대상으로 하여 다시 라벨 처리를 행한다. 이 때, 우선 문자열 직사각형을 구성하는 각 문자 직사각형의 좌표를 기억해 두고, 그것과는 별도로 문자열 직사각형 내의 라벨 처리에 의해 얻어진 문자 직사각형의 좌표를 획득한다.
세로 괘선의 일부가 문자열 직사각형 내에 있다고 하면, 전자의 문자 직사각형 군과 후자의 문자 직사각형 군을 비교한 경우 후자 쪽이 세로 괘선분만큼 직사각형의 수가 증가하기 때문에, 양자의 사이에 차이가 생기는 것이다. 그래서, 전자와 비교하여 후자에게 여분의 문자 직사각형이 출현한 위치에서 문자열 직사각형을 분할한다.
예컨대, 도 60의 문자열 직자각형(101)의 경우, 그 내부에 라벨 처리를 행하여 얻어진 문자 직사각형은 도 64와 같이 된다. 도 60의 문자 직사각형 군과 도 64의 문자 직사각형 군을 비교하면, 도 64의 쪽이 여분의 직사각형(110)을 포함하고 있는 것을 알 수 있다. 이 직사각형(110)은 문자열 직사각형(101) 내에 포함된 세로 괘선에 상당하고, 이 위치에서 문자열 직사각형(101)을 분할할 수 있는 것을 표시하고 있다.
도 62에 있어서 처리가 개시되면, 프로세서(14)는 우선 문자열 직사각형 내의 문자 직사각형의 집합을 0로 하고(단계 S181), 문자열 직사각형 내를 라벨 처리하여 구한 문자 직사각형의 집합을 N으로 한다(단계 S182). 그리고, 집합 0와 N 내의 문자 직사각형을 각각 x 좌표에서 분류하고(단계 S183), 문자열 직사각형의 좌단의 x좌표, 우단의 x좌표, 상단의 y좌표, 하단의 y좌표를 각각 sx1, sx2, sy1, sy2로 한다(단계 S184). x 좌표에 의한 분류 처리는 도 57의 단계 S172와 같이 행한다.
다음에, 등록 플래그=0으로 하고, 0 내의 가장 왼쪽의 문자 직사각형을 직사각형 00로 하며, N 내의 가장 왼쪽의 문자 직사각형을 직사각형 NN으로 한다. 그리고, x2=00의 우단의 x 좌표, prev=x2로 한다(단계 S185). 이후, 등록 플래그는 0 또는 1의 값을 취한다.
다음에, 00와 NN의 좌상 정점 및 우측 아래 정점의 좌표가 일치하는지를 검사한다(단계 S186). 이들이 동시에 일치하면 00와 NN은 같은 직사각형으로 간주하여, 다음에, 등록 플래그가 1인치를 판정한다(단계 S187).
등록 플래그가 0인 경우는, 00의 우측의 직사각형을 새롭게 00로 하고 NN의 우측의 직사각형을 새롭게 NN으로 한다(단계 S188). 그리고, prev=x2로 한 후(단계 S189), x2=00의 우단의 x좌표로 하고(단계 S190), 00가 문자열 직사각형 중에서 가장 우측의 문자 직사각형인지를 판정한다(단계 S191). 그리고, 00의 오른쪽에 아직 문자 직사각형이 있으면, 단계 S186 이후의 처리를 반복한다.
단계 S186에 있어서, 00와 NN의 좌표가 일치하지 않는 경우는 NN이 세로 괘선에 상당한다고 간주하여, 다음에 등록 플래그가 0인지 아닌지를 판정한다(도 63, 단계 S195). 그리고, 등록 플래그가 0이면, 좌표 x=sx1, prev, y=sy1, sy2로 표시되는 직사각형을 문자열 직사각형으로서 등록하고(단계 S196), 등록 플래그=1로 한다(단계 S197). 이것에 의해, 00의 왼쪽의 문자 직사각형을 포함하는 직사각형이 문자열 직사각형으로서 등록된다.
다음에, 세로 괘선으로 간주된 NN의 우측의 직사각형을 새롭게 NN으로 두고 (단계 S198), 단계 S186 이후의 처리를 반복한다. 단계 S195에 있어서 등록 플래그가 0이 아니면 그대로 단계 S198 이후의 처리를 행한다.
단계 S187에 있어서, 등록 플래그가 1인 경우는 00를 새로운 문자열의 선두문자로 간주하고, x2=00의 우단의 x좌표, sx1=00의 좌단의 x좌표로 둔다(단계 S192). 그리고, prev=x2, 등록 플래그=0으로 두고(단계 S193, S194), 단계 S191 이후의 처리를 행한다.
그리고, 단계 S191에 있어서 00가 가장 우측의 문자 직사각형의 경우는 좌표 x=sx1, x2, y=sy1, sy2로 표시되는 직사각형을 문자열 직사각형으로서 등록하여(단계 S199) 처리를 종료한다.
이러한 제2 문자열 분할 처리에 의하면, 집합 N 내에 있고 0 내에는 없는 여분의 직사각형이 검출될 때에, 그 좌측의 1개 이상의 문자 직사각형이 문자열 직사 각형으로서 등록된다. 또한, 그 후는 0 내의 다음 직사각형이 문자열의 좌단에 설 정되기 때문에, 여분의 세로 괘선은 문자열 직사각형으로부터 제거된다.
예컨대, 도 64의 문자열 직사각형(101)의 경우, 집합 0는 문자 직사각형 102, 103, 104, 105, 106 및 107로 이루어지며, 집합 N은 문자 직사각형 102, 110, 103, 104, 105, 106 및 107로 이루어진다. 그리고, 00가 문자 직사각형 103이고 NN 이 문자 직사각형 110일 때, 문자 직사각형 110이 세로 괘선으로 간주된다(단계 S186, 'NO'). 그래서, 도 61에 도시된 바와 같이, 문자 직사각형(102)를 포함하는 직사각형이 문자열 직사각형(108)으로서 등록된다(단계 S196).
그 후, 문자 직사각형 103이 새롭게 NN이 되어(단계 S198), 같은 처리가 되 풀이되지만, 세로 괘선에 상당하는 직사각형은 검출되지 않는다. 그리고, 문자 직사각형 107이 00로 될 때, 문자 직사각형 103, 104, 105, 106 및 107을 포함하는 직사각형이 문자열 직사각형(109)으로서 등록되어(단계 S199) 처리가 종료한다. 이렇게 해서, 원래의 문자열 직사각형(101)은 제1 문자열 분할 처리의 결과와 같이, 문자열 직사각형 108 및 109로 분할된다.
제1 및 제2 문자열 분할 처리를 비교하면, 그것들의 기능은 기본적으로 같지만, 제1 문자열 분할 처리 쪽이 처리 속도가 빠르다는 이점이 있다. 도 56의 문자열 직사각형에 문자열 분할 처리를 행한 결과는 도 65와 같이 된다. 도 56과 도 65를 비교하면, 원래의 문자열 직사각형 81은 문자열 직사각형 111, 112 및 113으로 분할되어 있는 것을 알 수 있다. 또한, 문자열 직사각형 82는 문자열 직사각형 114및 115로 분할되고, 문자열 직사각형 83은 문자열 직사각형 116과 117로 분할되어 있다.
문자열 직사각형의 분할이 종료하면, 다음에, 도 52의 단계 S149에 있어서, 프로세서(14)는 문자열 직사각형 내의 문자 직사각형의 형상으로부터 그 문자수를 계산한다. 여기서는 문자 직사각형의 높이와 폭의 비로부터 그것을 구성하는 문자수를 추출한다.
도 66은 이 때의 문자 직사각형과 그 문자수의 관계를 도시하고 있다. 도 66에 있어서, 문자 직사각형의 높이를 H, 폭을 W로 하면, 일반적으로 1개의 문자의 높이와 폭은 거의 같다고 생각되기 때문에, 이 문자 직사각형 내에 있는 문자수는 〔W/H〕개로 나타낼 수 있다. 여기서, 〔W/H〕는 실수 W/H의 소수점 이하를 잘라버리는 연산 기호이다.
단계 S148의 문자열 분할 처리에 의해 표 직사각형 내의 문자열 직사각형이 정확하게 분할되지만, 표 직사각형 내에는 실제의 표의 외부에 있는 문자열 직사각형이 포함되어 있을 가능성이 있다. 도 67은 이러한 표 직사각형 내의 표 외부 문자열 직사각형의 예를 도시하고 있다. 도 67에 있어서, 굵은선으로 표시된 표 괘선의 외주는 직사각형이 아니기 때문에, 그 표 직사각형 121 내에는 표밖에 있는 문자열 직사각형(122)이 포함되어 있다. 한편, 문자열 직사각형 122와 같은 행에 있는 문자열 직사각형 123은 표 내의 문자열 직사각형이다.
도 68은 도 54의 표 직사각형(80) 내의 문자열 직사각형을 도시하고 있다. 도 68의 문자열 직사각형 중 문자열 직사각형 131이 표밖의 문자열 직사각형에 상당한다. 표 내의 타이틀을 추출하기 위해서는 문자열 직사각형 122 또는 131과 같은 표밖의 문자열 직사각형을 표 내의 문자열 직사각형과 구별하여 표 직사각형 내에서 제거할 필요가 있다.
그래서, 단계 S150에 있어서, 위에 다른 문자열 직사각형이 없는 문자열 직사각형을 대상으로 그 위에 괘선이 있는지 없는지를 검사하고 괘선이 없으면 그 문자열 직사각형을 제거한다.
도 69는 이러한 위 괘선 검사 처리의 흐름도이다. 도 69에 있어서 처리가 개시되면, 프로세서(14)는 우선 도 24의 단계 S42와 같은 방법으로, 문자열 직사각형 사이의 접속 관계를 나타내는 연결 관계표를 작성한다(단계 S201). 그리고, 연결 관계표를 이용하여 위에 다른 문자열 직사각형이 없는 문자열 직사각형을 구하고, 그것들 중에서 위에 괘선이 없는 것을 제거하여(단계 S202) 처리를 종료한다.
도 70은 단계 S202의 표밖 문자열 직사각형 제거 처리의 흐름도이다. 도 70의 표밖 문자열 직사각형 제거 처리에 있어서는 표 직사각형내의 모든 문자열 직사각형의 연결 관계표를 참조하여 문자열 직사각형의 위에 다른 문자열 직사각형이 없는 것을 추출한다. 그리고, 추출한 문자열 직사각형 위의 특정 영역내를 탐색하여 블랙 화소를 포함하는 바이트수의 합계 M을 구한다. 다만, 8화소=1바이트로 한다.
M이 탐색 범위의 가로의 길이를 바이트수로 나타낸 임계치 L 이상이면, 이 범위에 횡괘선이 있다고 간주하고, 그 문자열 직사각형을 표내 문자열 직사각형으로서 남긴다. 혹시, M < L이 되는 것 같은 문자열 직사각형이 있으면 그 문자열 직사각형 위에는 횡괘선이 없다고 간주하여 그것을 표밖 문자열 직사각형으로서 제거 한다.
도 70에 있어서 처리가 개시되면, 프로세서(14)는 우선 표 직사각형내의 문 자열 직사각형으로 이루어지는 집합을 표내 문자열 직사각형의 집합 S로 한다(단계 S211). 다음에, S 내에서 다른 S 내의 문자열 직사각형을 위 직사각형으로 하는 접속 관계를 가지지 않은 것을 추출하여 그것들의 집합을 S1로 한다(단계 S212). 예컨대, 도 67의 경우는 사선의 문자열 직사각형(122 및 123)이 S1의 요소가 된다.
다음에, S1 내의 1개의 문자열 직사각형을 SS로 하고(단계 S213), SS의 좌단의 x좌표, 우단의 x좌표, 상단의 y좌표, 하단의 y좌표를 각각 sx1, sx2, sy1, sy2로 한다(단계 S214).
다음에, SS의 위에 있는 다른 표 직사각형 또는 표 직사각형 밖의 문자열 직사각형을 구하고, 그 좌단의 x좌표, 우단의 x좌표, 상단의 y좌표, 하단의 y좌표를 각각 ux1, ux2, uy1, uy2로 한다(단계 S215). 여기서, 다른 표 직사각형으로서는 도 55의 단계 S161에서 추출되어 large_4bai에 저장되어 있는 표 직사각형이 참조된다.
다음에, 직선 x=max(sx1, ux1), x=min(sx2, ux2), y=sy1, y=uy2로 둘러싸인 직사각형 영역의 횡폭의 바이트수를 L로 한다(단계 S216). 이 직사각형 영역의 횡폭은 SS의 횡폭과 그 위의 직사각형의 횡폭의 중복 부분의 길이에 상당한다. 이때, L은 다음식에서 부여된다.
L=min(sx2, ux2)/8-max(sx1, ux1)/8+1
다음에, 상기 직사각형 영역내에서 블랙 화소를 구하고 8화소를 1바이트로 하여 그 바이트수의 총계 M을 계산한다(단계 S217).
단계 S215에서 구한 SS 위에 있는 직사각형이 문자열 직사각형인 경우, 단계 S216에서의 L과 단계 S217에서의 블랙 화소의 탐색 범위는 도 71과 같이 된다. 또한, SS의 위에 있는 직사각형이 다른 표 직사각형인 경우는 그것들은 도 72와 같이 된다.
다음에, M과 L의 크기를 비교하여(단계 S218), M이 L 미만이면 SS 위에 횡괘선이 없는 것으로 간주하고, SS를 표밖의 문자열 직사각형으로 판정한다. 그래서, SS를 집합 S에서 제거한다(단계 S219).
다음에, SS가 S1 내의 마지막 문자열 직사각형인지 아닌지를 판정하여(단계 S220), 마지막이 아니면 단계 S213 이후의 처리를 반복한다. 그리고, S1 내의 문자열 직사각형을 전부 처리하면 처리를 종료한다.
단계 S215에 있어서, SS 위에 표 직사각형도 문자열 직사각형도 없는 경우는 단계 S217에서 문서 화상의 상단까지의 범위를 탐색하여 블랙 화소를 구하면 된다. 이 때의 탐색 범위는 도 73과 같이 되고, 그 횡폭은 SS의 횡폭에 일치한다.
도 70의 처리에 의해, 도 68의 표밖 문자열 직사각형(131)이 제거되고, 남겨진 표내 문자열 직사각형은 도 74와 같이 된다. 이렇게 해서 얻어진 표내 문자열 직사각형을 대상으로 하여 그것들의 위치나 문자수의 관계로부터 타이틀의 후보가 추출된다.
도 75는 도 52의 단계 S151 및 S152에서 행하여지는 타이틀 후보 출력 처리의 흐름도이다. 횡서 문서인 경우는 일반적으로 좌측 상부에 가까운 문자열일수록 타이틀일 가능성이 높기 때문에, 도 75의 타이틀 후보 출력 처리에 있어서는, 우선 문자열 직사각형을 표의 좌측 상부에 가까운 순으로 재배열한다. 그리고, 그 순서와 단계 S149에서 구한 문자수 등의 정보를 사용하여 문자열 직사각형의 표 내 타이틀다움의 우선 순위를 정하여 그 순으로 타이틀 후보로서 출력한다.
우선 순위를 붙이는 방법으로서는 크게 나눠서 다음 3가지를 생각할 수 있다.
(w) 표의 좌측 상부에 가까운 순으로 우선 순위를 붙인다.
(x) 인접한 문자열 직사각형내의 문자 직사각형의 문자수를 조사하여 그 관계를 바탕으로 우선 순위를 정한다. 표내의 타이틀에는 「題名」이나 「表題」와 같이 타이틀인 것을 나타내는 항목명이 타이틀의 좌측(또는 위)의 위치에 있는 경우가 많다. 이러한 항목명과 타이틀의 관계는 그것들의 문자수를 이용하여 나타낼 수 있다. 예컨대, 2 문자로부터 수 문자 정도의 문자열의 우측(또는 하측)에 수 문자로부터 수십 문자정도의 문자열이 있는 경우에 항목명과 타이틀의 쌍이 있다고 판단할 수 있다. 그래서, 그와 같은 쌍에 관해서 위에서 순서대로 우선 순위를 붙인다.
(y) 일정한 문자수의 조건, 또는 인접한 문자열 직사각형과의 사이의 일정한 문자수의 관계를 만족하는 것만을 대상으로 하여 표의 좌상에 가까운 순으로 우선 순위를 붙인다.
이 경우는 표내의 문자열 직사각형을 좌상에 가까운 순으로 조사해 가며, 문자열 직사각형내의 문자수의 합계가 임계치 이상이면, 그 문자열 직사각형을 항목 후보로 한다. 또, 그 문자열 직사각형의 우측에 다른 문자열 직사각형이 있으면, 그 문자열 직사각형내의 문자수에 관계 없이 그것을 타이틀 후보로 한다.
이것은, 원래 1개의 란에 항목과 타이틀이 병기되어 있으며, 「項目:タイトル」과 같이 1개의 문자열 직사각형에 양방의 요소가 포함되는 경우를 구제하기 위해서이다. 또한, 문자수가 큰 문자열 직사각형은 그것만으로 표 내 타이틀다움이라고 할 수 있다. 이러한 문자열 직사각형은 항목 후보로서 출력된 경우에서도 문자 인식의 결과로부터 타이틀다움이라고 생각되면 타이틀로서 사용할 수 있다.
문자열 직사각형내의 문자수가 임계치 미만인 경우는 그 우측에 다른 문자열 직사각형이 있으며, 또한 그 중의 문자수가 임계치 이상인 경우에, 전자를 항목 후보, 후자를 타이틀 후보로 한다.
상기 (w), (x), (y)의 각 방법에 관해서, 20종류의 문서 화상을 이용하여 실험한 결과, (y)의 방법의 경우에 표내 타이틀이 후보의 상위에 들어 가기 쉽고, 이것이 가장 추출 성능이 좋은 것임을 알 수 있다. 그래서, 도 75의 처리에서는 (y)의 방법에 따라서 우선 순위를 정하고 있다.
도 75에 있어서 처리가 개시되면, 프로세서(14)는 우선 도 76에 도시하는 바와 같은 각 표내 문자열 직사각형의 좌상 정점의 좌표(x1, y1)를 이용하여, x1+y1의 값이 작은 순으로 그것들의 문자열 직사각형을 분류한다(단계 S221). 그리고, 표내 문자열 직사각형의 집합을 S로 하고(단계 S222), S내에서 x1+y1의 값이 가장 작은 것을 현재 직사각형 SS로 한다(단계 S223).
다음에, SS 내의 문자 직사각형의 문자수의 합계가 임계치 TITLEMOJISUU 이 상인지 아닌지를 판정한다(단계 S224). 예컨대, TITLEMOJISUU = 7로 한다. SS의 문자수가 TITLEMOJISUU 이상이면, SS의 우측에 다른 문자열 직사각형이 있는지 없 는지를 조사한다(단계 S225). 우측에 문자열 직사각형이 없으면, 현재 직사각형 SS를 항목 후보로서 출력하고(단계 S226), SS가 S 내의 마지막의 문자열 직사각형인지 아닌지를 판정한다(단계 S227). 마지막의 문자열 직사각형이 아니면, SS의 다음에 x1+y1의 값이 작은 문자열 직사각형을 새롭게 SS로 하여(단계 S231), 단계 S224 이후의 처리를 반복한다.
단계 S225에 있어서 SS의 우측에 문자열 직사각형이 있는 경우는 현재 직사각형 SS를 항목 후보, 그 우측의 문자열 직사각형을 타이틀 후보로서 출력하여(단계 S230) 단계 S227 이후의 처리를 행한다.
또한, 단계 S224에 있어서 SS 내의 문자수가 TITLEMOJISUU 미만인 경우는, SS의 우측에 다른 문자열 직사각형이 있는지 없는지를 조사한다(단계 S228). 우측에 문자열 직사각형이 있으면, 그 문자수의 합계가 TITLEMOJISUU 이상인지 아닌지를 판정한다(단계 S229). 그리고, 그것이 TITLEMOJISUU 이상이면, 단계 S230 이후의 처리를 행한다.
단계 S228에 있어서 SS의 우측에 문자열 직사각형이 없는 경우 및 단계 S229에 있어서 우측의 문자열 직사각형의 문자수가 TITLEMOJISUU 미만인 경우는 단계 S227 이후의 처리를 행한다. 그리고, 단계 S227에 있어서 SS가 마지막 문자열 직사각형이면 처리를 종료한다.
이 타이틀 후보 출력 처리에 의하면, 다음 3개의 경우에 해당하는 문자열 직사각형이 항목 또는 타이틀 후보로서 출력된다.
(α) 현재 직사각형의 문자수가 임계치 이상이고, 그 우측에 문자열 직사각형이 없는 경우, 현재 직사각형을 항목 후보로서 출력한다.
(β) 현재 직사각형의 문자수가 임계치 이상이고, 그 우측에 문자열 직사각형이 있는 경우, 현재 직사각형을 항목 후보, 우측의 문자열 직사각형을 타이틀 후보로서 출력 한다.
(γ) 현재 직사각형의 문자수가 임계치 미만이고, 그 우측의 문자열 직사각형의 문자수가 임계치 이상인 경우, 현재 직사각형을 항목 후보, 우측의 문자열 직사각형을 타이틀 후보로서 출력한다.
도 77은 이렇게 해서 추출된 표내 타이틀의 제1 후보를 도시하고 있다. 도77에 있어서 문자열 직사각형 111은 항목 후보이고, 문자열 직사각형 112는 타이틀 후보이다. 이러한 표 내 타이틀 추출 처리에 의하면, 여러가지 표를 포함한 문서 화상에 대해서도 특별한 조작이나 사전 등을 이용하지 않고 표내의 항목 및 타이틀의 영역을 추출할 수 있다.
이렇게 해서 추출된 항목 후보 및 타이틀 후보의 문자열 직사각형은 도 3의 단계 S11과 동일한 처리에 의해 문자열로서 인식된다. 이 때, 실제로는 항목 후보로서 추출된 문자열이 타이틀 문자열을 포함하고 있는 경우도 있기 때문에, 인식 결과 중 적당한 부분을 항목명 또는 타이틀로서 사용한다.
본 발명에 있어서는 문자 영역 및 문자열 영역의 형상은 반드시 직사각형이 아니더라도 좋으며, 직선 또는 곡선에 의해 둘러싸인 임의의 형상의 영역을 이용할 수 있다.
본 발명에 의하면, 여러가지 문서 화상에 대하여, 특별한 조작을 하거나 사전 등을 준비하거나 하지 않아도 타이틀, 수신지 및 발신지 정보에 상당하는 영역을 용이하게 추출할 수 있다. 이것에 의해, 화상 데이타로부터 추출한 문자열 등을 그 화상의 키워드로서 이용할 수도 있다.

Claims (49)

  1. 문서를 화상 데이타로 변환하여 얻은 문서 화상으로부터 필요로 하는 부분 영역을 취출하여 인식하는 정보 처리 장치에 있어서,
    상기 문서 화상 내의 연결된 블랙 화소로 이루어지는 블랙 화소 연결 영역이 있는 문자 영역을 생성하는 문자 영역 생성 수단과,
    상기 문자 영역 생성 수단이 생성한 1개 이상의 문자 영역을 통합하여, 상기 1개 이상의 문자 영역을 포함하는 문자열 영역을 생성하는 문자열 영역 생성 수단과,
    상기 문자열 영역 생성 수단이 생성한 복수의 문자열 영역의 속성을 평가하고, 이 평가된 속성에 따라 복수의 문자열 영역 중 특정 문자열 영역을 타이틀 영역으로서 추출하는 타이틀 추출 수단을 구비하는 것을 특징으로 하는 타이틀 추출 장치.
  2. 제1항에 있어서, 상기 타이틀 영역에 포함되는 문자 영역을 잘라 내어, 문자를 인식하는 인식 수단을 추가로 구비하는 것을 특징으로 하는 타이틀 추출 장치.
  3. 제1항에 있어서, 상기 문자 영역 생성 수단은 상기 블랙 화소 연결 영역의 외접 직사각형을 상기 문자 영역으로서 구하고, 상기 문자열 영역 생성 수단은 상기 문서 화상 내에서의 해당 외접 직사각형의 주변 길이 빈도의 막대 그래프를 작성하며, 특정 빈도와 이 특정 빈도를 부여하는 최대의 주변 길이와의 관계표를 작성하고, 그 관계표를 이용하여 상기 문서 화상 내의 최대 빈도치를 갖는 제1 주변길이를 구하여, 그 제1 주변 길이를 기준으로 하여 상기 문자열 영역을 생성하는 것을 특징으로 하는 타이틀 추출 장치.
  4. 제3항에 있어서, 상기 문자열 영역 생성 수단은 상기 관계표에서 빈도가 소정값 이상으로 변화하는 주변 길이를 기초로 상기 제1 주변 길이를 결정하는 것을 특징으로 하는 타이틀 추출 장치.
  5. 제3항에 있어서, 상기 문자열 영역 생성 수단은 상기 외접 직사각형의 높이 또는 폭을 상기 주변 길이로서 이용하여 상기 막대 그래프를 작성하는 것을 특징으로 하는 타이틀 추출 장치.
  6. 제3항에 있어서, 상기 문자열 영역 생성 수단은 상기 제1 주변 길이를 이용하여 임계치를 생성하고, 그 임계치를 이용하여 불필요한 문자 영역을 제거하는 것을 특징으로 하는 타이틀 추출 장치.
  7. 제6항에 있어서, 상기 문자열 영역 생성 수단은 상기 임계치를 이용하여 도표 또는 사진의 외접 직사각형을 제거하는 것을 특징으로 하는 타이틀 추출 장치.
  8. 제1항에 있어서, 상기 문자 영역 생성 수단은 상기 블랙 화소 연결 영역의 외접 직사각형을 상기 문자 영역으로서 구하고, 상기 문자열 영역 생성 수단은 각 외접 직사각형의 제1 주변을 이용하여 상기 문서 영역 내의 제1 방향에서의 외접 직사각형의 분포 범위를 나타내는 제1 막대 그래프를 작성하고, 그 제1 막대 그래프의 형상으로부터 외접 직사각형의 그룹을 구하여 그 그룹마다 처리를 행하는 것을 특징으로 하는 타이틀 추출 장치.
  9. 제8항에 있어서, 상기 문자열 영역 생성 수단은 각 외접 직사각형의 제2 주변을 이용하여 상기 문서 영역 내의 제2 방향에서의 외접 직사각형의 분포 범위를 나타내는 제2 막대 그래프를 작성하고, 상기 제1 및 제2 막대 그래프의 형상으로부터 상기 외접 직사각형 그룹을 구하여, 그 그룹마다 처리를 행하는 것을 특징으로 하는 타이틀 추출장치.
  10. 제8항에 있어서, 상기 문자열 영역 생성 수단은 상기 제1 주변의 중간선상에 정점을 갖는 이등변 삼각형을 작성하고, 그 이등변 삼각형을 이용하여 상기 제1 막대 그래프를 작성하는 것을 특징으로 하는 타이틀 추출 장치.
  11. 제8항에 있어서, 상기 문자열 영역 생성 수단은 상기 외접 직사각형 그룹에 속하는 외접 직사각형을 탐색하여 중복된 2개 이상의 외접 직사각형을 구하며, 그 2개 이상의 외접 직사각형을 1개의 외접 직사각형으로 통합하는 것을 특징으로 하는 타이틀 추출 장치.
  12. 제8항에 있어서, 상기 문자열 영역 생성 수단은 상기 외접 직사각형 그룹에 속하는 외접 직사각형을 탐색하여 네스트된 외접 직사각형을 구하고, 상기 네스트된 직사각형을 제거하는 것을 특징으로 하는 타이틀 추출 장치.
  13. 제8항에 있어서, 상기 문자열 영역 생성 수단은 기준이 되는 제1 외접 직사각형이 속하는 그룹 내의 외접 직사각형을 탐색하여 그 제1 외접 직사각형에 근접하는 제2 외접 직사각형을 구하고, 그 제1 및 제2 외접 직사각형의 연결 관계를 나타내는 연결 관계표를 작성하며 그 연결 관계표를 이용하여 상기 문자열 영역을 생성하는 것을 특징으로 하는 타이틀 추출 장치.
  14. 제1항에 있어서, 상기 문자 영역 생성 수단은 상기 블랙 화소 연결 영역의 외접 직사각형을 상기 문자 영역으로서 구하고, 상기 문자열 영역 생성 수단은 기준이 되는 제1 외접 직사각형에 근접하는 제2 외접 직사각형을 구하여 그 제1 및 제2 외접 직사각형의 연결 관계를 나타내는 연결 관계표를 작성하며, 그 연결 관계표를 이용하여 상기 제1 및 제2 외접 직사각형에 동일한 식별 정보를 부가함으로써 상기 제1 및 제2 외접 직사각형을 1개의 문자열 영역에 통합하는 것을 특징으로 하는 타이틀 추출 장치.
  15. 제14항에 있어서, 상기 문자열 영역 생성 수단은 상기 제1 외접 직사각형으로부터 상기 제2 외접 직사각형으로 향하는 포인터와 상기 제2 외접 직사각형으로부터 상기 제1 외접 직사각형으로 향하는 포인터 중 적어도 한쪽을 상기 연결 관계표에 저장하는 것을 특징으로 하는 타이틀 추출 장치.
  16. 제14항에 있어서, 상기 문자결 영역 생성 수단은 상기 제1 외접 직사각형과 상기 제2 외접 직사각형의 사이에 테두리선이 있는 경우에 상기 제1 및 제2 외접 직사각형을 연결하지 않는 것을 특징으로 하는 타이틀 추출 장치.
  17. 제1항에 있어서, 상기 타이틀 추출 수단은, 상기 문자열 영역의 내부를 가로방향으로 복수의 부분 영역으로 분할하고, 각 부분 영역 중에서 블랙 화소 점유율이 큰 부분 세그먼트 영역을 추출하며, 임계치 이상의 높이를 갖는 부분 세그먼트 영역에 대해서는 높이를 무시하여 가로방향으로 연결되어 있는 각 부분 세그먼트 영역을 통합하고, 통합된 세그먼트 영역을 추출하는 세그먼트 추출 수단을 구비하며, 상기 세그먼트 영역을 이용하여 상기 타이틀 영역을 추출하는 것을 특징으로 하는 타이틀 추출 장치.
  18. 제17항에 있어서, 상기 세그먼트 추출 수단은 상기 문자열 영역의 내부를 중 복하는 복수의 부분 영역으로 분할하는 것을 특징으로 하는 타이틀 추출 장치.
  19. 제17항에 있어서, 상기 세그먼트 추출 수단은 상기 문자열 영역의 폭에 가까운 길이의 상기 세그먼트 영역을 추출하는 것을 특징으로 하는 타이틀 추출 장치.
  20. 제17항에 있어서, 상기 타이틀 추출 수단은 상기 세그먼트 영역이 상기 문자열 영역 내의 하부에 있을 때 상기 세그먼트 영역을 하선으로 판별하고, 상기 문자열 영역을 상기 타이틀 영역의 후보로 하는 것을 특징으로 하는 타이틀 추출 장치.
  21. 제17항에 있어서, 상기 세그먼트 추출 수단은 상기 문자열 영역에서 같은 좌단 좌표 및 우단 좌표를 갖는 2개의 세그먼트 영역을 추출하여 그 좌단 좌표 부근에서 세로방향의 블랙 화소의 제3 막대 그래프를 작성하고 그 우단 좌표 부근에서 세로방향의 블랙 화소의 제4 막대 그래프를 작성하며, 제3 및 제4 막대 그래프의 피크의 높이가 상기 2개의 세그먼트 영역의 거리이면, 상기 문자열 영역 내에 테두리선이 있다고 판정하는 것을 특징으로 하는 타이틀 추출 장치.
  22. 제1항에 있어서, 상기 타이틀 추출 수단은 상기 복수의 문자열 영역의 속성 으로서 하선 속성 또는 프레임 속성을 추출하고, 추출한 속성과 각 문자열 영역의 위치와 문자열 영역 사이의 상대적 위치 관계 중 적어도 1개를 이용하여 각 문자열 영역에 포인트를 부여하며, 높은 포인트의 문자열 영역을 상기 특정 문자열 영역으로 하는 것을 특징으로 하는 타이틀 추출 장치.
  23. 제 22항에 있어서, 상기 타이틀 추출 수단은 하선 속성 또는 프레임 속성이 있는 문자별 영역에 일정한 득점을 부여하는 것을 특징으로 하는 타이틀 추출 장치.
  24. 제22항에 있어서, 상기 타이틀 추출 수단은 제1 방향의 중심 좌표가 상기 문서 화상의 중앙 부근에 있는 문자열 영역에 일정한 득점을 부여하는 것을 특징으로 하는 타이틀 추출 장치.
  25. 제22항에 있어서, 상기 타이틀 추출 수단은 상하에 있는 문자열 영역 사이의 거리가 떨어져 있는 문자열 영역에 일정한 득점을 부여하는 것을 특징으로 하는 타이틀 추출 장치.
  26. 제22항에 있어서, 상기 타이틀 추출 수단은 좌측에 다른 문자열 영역이 없는 문자열 영역에 일정한 득점을 부여하는 것을 특징으로 하는 타이틀 추출 장치.
  27. 제22항에 있어서, 상기 타이틀 추출 수단은 테두리선을 포함하는 제1 문자열 영역의 내부에 제2 문자열 영역이 있고, 상기 제1 문자열 영역과 제2 문자열 영역이 임계치 이상으로 떨어져 있지 않은 일정한 위치 관계에 있는 경우, 상기 제2 문자열 영역이 프레임 속성을 가진다고 판단하는 것을 특징으로 하는 타이틀 추출 장치.
  28. 제1항에 있어서, 상기 타이틀 영역의 위치 또는 사이즈의 정보로부터 다른 문자열 영역의 상대적인 위치 관계 또는 사이즈를 구하고, 상기 다른 문자열 영역의 상대적인 위치 관계 또는 사이즈가 특정한 조건을 충족시킬 때, 상기 다른 문자열 영역을 수신지 영역으로서 추출하는 수신지 추출 수단을 추가로 구비하는 것을 특징으로 하는 타이틀 추출 장치.
  29. 제1항에 있어서, 상기 타이틀 영역의 위치 또는 사이즈의 정보로부터 다른 문자열 영역의 상대적인 위치 관계 또는 사이즈를 구하고, 상기 다른 문자열 영역 의 상대적인 위치 관계 또는 사이즈가 특정한 조건을 충족시킬 때, 상기 다른 문자 열 영역을 발신지 정보 영역으로서 추출하는 발신지 정보 추출 수단을 추가로 구비 하는 것을 특징으로 하는 타이틀 추출 장치.
  30. 제1항에 있어서, 상기 타이틀 추출 수단은 상기 문서 화상 내에서 일정 범위 의 사이즈의 문자열 영역이 존재하는 문서 영역을 구하고, 그 문서 영역에서 상기 타이틀 영역을 추출하는 것을 특징으로 하는 타이틀 추출 장치.
  31. 제1항에 있어서, 상기 타이틀 추출 수단은 인접한 2개의 문자열 영역의 사이즈 또는 좌표값이 유사한 경우에, 그 2개의 문자열 영역을 1개의 문자열 영역에 통합하는 것을 특징으로 하는 타이틀 추출 장치.
  32. 제1항에 있어서, 상기 타이틀 추출 수단은 문자열 영역의 사이즈 또는 형상으로부터 괘선을 표시한다고 판정했을 때, 그 문자열 영역에 괘선 속성을 설정하여 그 괘선 속성을 이용하여 상기 타이틀 영역을 추출하는 것을 특징으로 하는 타이틀 추출 장치.
  33. 제32항에 있어서, 상기 타이틀 추출 수단은 상기 괘선 속성을 가지는 제3 문자열 영역 위에 있는 제4 문자열 영역에 하선 속성을 설정하고, 그 제4 문자열 영역을 상기 타이틀 영역의 후보로 하는 것을 특징으로 하는 타이틀 추출 장치.
  34. 문서를 화상 데이타로 변환하여 얻은 문서 화상으로부터 필요로 하는 부분 영역을 취출하여 인식하는 정보 처리 장치에 있어서,
    상기 문서 화상 내의 연결된 블랙 화소로 이루어지는 블랙 화소 연결 영역을 포함하는 문자 영역을 생성하는 문자 영역 생성 수단과,
    상기 문자 영역 생성 수단이 생성한 1개 이상의 문자 영역을 통합하고, 그 1개 이상의 문자 영역을 포함하는 문자열 영역을 생성하는 문자열 영역 생성 수단과,
    일정 이상의 크기를 가지는 블랙 화소 연결 영역을 포함하는 표 영역을 추출하고, 상기 표 영역 내의 상기 복수의 문자열 영역의 속성을 평가하며, 상기 평가된 속성에 따라 상기 표 영역 내의 복수의 문자열 영역 중 특정한 문자열 영역을 타이틀 영역으로서 추출하는 타이틀 추출 수단을 구비하는 것을 특징으로 하는 타이틀 추출 장치.
  35. 제34항에 있어서, 상기 타이틀 추출 수단은 제5 문자열 영역의 내부에 괘선이 있는 경우에 그 괘선의 위치에서 상기 제5 문자열 영역을 분할하는 것을 특징으로 하는 타이틀 추출 장치.
  36. 제35항에 있어서, 상기 타이틀 추출 수단은 상기 제5 문자열 영역 내의 복수의 문자 영역의 사이에 블랙 화소가 있는지를 조사하여, 블랙 화소가 있는 위치에서 상기 제5 문자열 영역을 분할하는 것을 특징으로 하는 타이틀 추출 장치.
  37. 제35항에 있어서, 상기 타이틀 추출 수단은 상기 제5 문자열 영역 내의 복수의 문자 영역과 상기 문자 영역 생성 수단이 상기 제5 문자열 영역 내를 대상으로 하여 다시 구한 복수의 문자 영역과의 차이를 조사하여, 그 차이가 검출된 위치에서 상기 제5 문자열 영역을 분할하는 것을 특징으로 하는 타이틀 추출 장치.
  38. 제34항에 있어서, 상기 타이틀 추출 수단은 상치 표 영역 내의 제6 문자열 영역의 근처의 특정 영역에 괘선이 있는지 없는지를 조사하여, 괘선이 없으면 상기 제6 문자열 영역을 표밖의 문자열 영역으로 하는 것을 특징으로 하는 타이틀 추출 장치.
  39. 제38항에 있어서, 상기 타이틀 추출 수단은 상기 표 영역 내의 문자열 영역상호의 위치 관계로부터 상측에 표 내 문자열 영역이 없는 문자열 영역을 상기 제6문자열 영역으로 하고, 상기 제6 문자열 영역의 상측에 있는 상기 특정 영역의 블랙 화소를 탐색하여 일정 임계치 이상의 블랙 화소가 검출된 경우에 그 특정 영역내에 상기 괘선이 있다고 판정하는 것을 특징으로 하는 타이틀 추출 장치.
  40. 제39항에 있어서, 상기 타이틀 추출 수단은 상기 제6 문자열 영역 위의 다른 문자열 영역 또는 표 영역까지의 사이를 상기 특정 영역으로 하고, 상기 임계치를 상기 제6 문자열 영역과 그 외의 문자열 영역 또는 표 영역과의 위치 관계로부터 결정하는 것을 특징으로 하는 타이틀 추출 장치.
  41. 제34항에 있어서, 상기 타이틀 추출 수단은 상기 복수의 문자열 영역을 상기표 영역의 좌상에 가까운 순으로 우선적으로 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  42. 제41항에 있어서, 상기 문자열 영역 생성 수단은 상기 1개 이상의 문자 영역을 포함하는 문자열 직사각형을 문자열 영역으로서 생성하고, 상기 타이틀 추출 수단은 상기 문자열 직사각형의 특정한 정점의 좌표값을 바탕으로 상기 표 영역 내의 복수의 문자열 직사각형에 우선 순위를 붙이는 것을 특징으로 하는 타이틀 추출 장치.
  43. 제 34항에 있어서, 상기 타이틀 추출 수단은 상기 문자열 영역이 타이틀 영역으로 될 가능성에 대한 평가 결과에 기초하여, 상기 문자열 영역에 항목 영역 또는 타이틀 영역 우선 순위를 할당하고, 상기 항목 영역과 타이틀 영역을 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  44. 제43항에 있어서, 상기 타이틀 추출 수단은 소정 항목과 타이틀의 위치 및 문자 수의 관계에 해당하는 문자열 영역의 쌍을 구하고, 그 문자열 영역의 쌍을 위로부터 순서대로 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  45. 제43항에 있어서, 상기 타이틀 추출 수단은 상기 복수의 문자열 영역 중 임 계치 이상의 문자 수를 가지는 제7 문자열 영역을 상기 항목 영역으로서 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  46. 제45항에 있어서, 상기 타이틀 추출 수단은 상기 제7 문자열 영역의 우측의 문자열 영역을 상기 타이틀 영역으로서 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  47. 제43항에 있어서, 상기 타이틀 추출 수단은 상기 복수의 문자열 영역 중, 임 계치 미만의 문자 수를 가지는 제8 문자열 영역을 상기 항목 영역으로서 출력하고, 상기 제8 문자열 영역의 우측에서 상기 임계치 이상의 문자수를 가지는 문자열 영 역을 상기 타이틀 영역으로서 출력하는 것을 특징으로 하는 타이틀 추출 장치.
  48. 문서를 화상 데이타로 변환하여 문서 화상을 생성하는 단계와,
    상기 문서 화상내의 연결된 블랙 화소로 이루어지는 블랙 화소 연결 영역을 포함하는 문자 영역을 생성하는 단계와,
    1개 이상의 문자 영역을 통합하여 1개 이상의 문자 영역을 포함하는 문자열 영역을 생성하는 단계와,
    상기 문자열 영역의 속성을 평가하는 단계와,
    복수의 문자열 영역의 속성에 기초하여 상기 복수의 문자열 영역 중 특정한 문자열 영역을 타이틀 영역으로서 추출하는 단계와,
    상기 타이틀 영역에 포함되는 문자를 인식하는 단계를 포함하는 것을 특징으로 하는 타이틀 추출 방법.
  49. 문서를 화상 데이타로 변환하여 문서 화상을 생성하는 단계와,
    상기 문서 화상 내의 연결된 블랙 화소로 이루어지는 블랙 화소 연결 영역을 포함하는 문자 영역을 생성하는 단계와,
    1개 이상의 문자 영역을 통합하여 1개 이상의 문자 영역을 포함하는 문자열 영역을 생성하는 단계와,
    일정 이상의 크기를 가지는 블랙 화소 연결 영역을 포함하는 표 영역을 추출하는 단계와,
    상기 표 영역 내의 복수의 문자열 영역의 속성을 평가하는 단계와,
    상기 표 영역 내의 복수의 문자열 영역 중 특정한 문자열 영역을 상기 속성에 대응하는 타이틀 영역으로서 추출하는 단계와,
    그 타이틀 영역에 포함되는 문자를 인식하는 단계를 포함하는 것을 특징으로 하는 타이틀 추출 방법.
KR1019960035503A 1995-09-06 1996-08-26 문서화상으로부터의타이틀추출장치및방법 KR100311633B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP22950895 1995-09-06
JP95-229508 1995-09-06
JP34198395A JP3425834B2 (ja) 1995-09-06 1995-12-28 文書画像からのタイトル抽出装置および方法
JP95-341983 1995-12-28

Publications (2)

Publication Number Publication Date
KR970017047A KR970017047A (ko) 1997-04-28
KR100311633B1 true KR100311633B1 (ko) 2001-12-17

Family

ID=26528832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960035503A KR100311633B1 (ko) 1995-09-06 1996-08-26 문서화상으로부터의타이틀추출장치및방법

Country Status (6)

Country Link
US (1) US6035061A (ko)
EP (1) EP0762730B1 (ko)
JP (1) JP3425834B2 (ko)
KR (1) KR100311633B1 (ko)
CN (5) CN1094224C (ko)
DE (1) DE69624433T2 (ko)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327387B1 (en) 1996-12-27 2001-12-04 Fujitsu Limited Apparatus and method for extracting management information from image
KR100420065B1 (ko) * 1997-01-20 2004-04-17 삼성전자주식회사 이치화된 혼재 이미지에서 글씨영역과 그림영역을 구분하는 방법
US5950196A (en) * 1997-07-25 1999-09-07 Sovereign Hill Software, Inc. Systems and methods for retrieving tabular data from textual sources
JPH11203305A (ja) * 1998-01-12 1999-07-30 Ricoh Co Ltd 文書画像処理方法および記録媒体
JP3881439B2 (ja) * 1998-01-23 2007-02-14 シャープ株式会社 画像処理装置
US7099507B2 (en) 1998-11-05 2006-08-29 Ricoh Company, Ltd Method and system for extracting title from document image
JP3574584B2 (ja) * 1998-12-16 2004-10-06 富士通株式会社 表画像処理装置及びそのプログラム記憶媒体
US7035463B1 (en) * 1999-03-01 2006-04-25 Matsushita Electric Industrial Co., Ltd. Document image processor, method for extracting document title, and method for imparting document tag information
WO2000062243A1 (fr) * 1999-04-14 2000-10-19 Fujitsu Limited Procede et dispositif d'extraction de chaines de caracteres utilisant un composant de base d'une image de document
KR100319756B1 (ko) 2000-01-21 2002-01-09 오길록 논문 문서영상 구조 분석 방법
US20020143804A1 (en) * 2001-04-02 2002-10-03 Dowdy Jacklyn M. Electronic filer
JP2002342710A (ja) * 2001-05-16 2002-11-29 Nec Corp 文字切出し装置及びそれに用いる文字切出し方法並びにそのプログラム
JP2003058556A (ja) * 2001-08-16 2003-02-28 Ricoh Co Ltd 文書画像のタイトル抽出方法、抽出プログラム、及びタイトル抽出装置
US6801673B2 (en) 2001-10-09 2004-10-05 Hewlett-Packard Development Company, L.P. Section extraction tool for PDF documents
JP2004070523A (ja) 2002-08-02 2004-03-04 Canon Inc 情報処理装置およびその方法
US7079686B2 (en) * 2002-08-20 2006-07-18 Lexmark International, Inc. Systems and methods for content-based document image enhancement
JP4113804B2 (ja) * 2003-03-19 2008-07-09 株式会社リコー 画像処理装置及び画像処理プログラム
JP2006085582A (ja) * 2004-09-17 2006-03-30 Fuji Xerox Co Ltd 文書処理装置およびプログラム
CN100444194C (zh) * 2005-10-27 2008-12-17 富士施乐株式会社 文章标题及关联信息的自动抽取装置和抽取方法
CN101226596B (zh) * 2007-01-15 2012-02-01 夏普株式会社 文档图像处理装置以及文档图像处理方法
US8594387B2 (en) * 2007-04-23 2013-11-26 Intel-Ge Care Innovations Llc Text capture and presentation device
JP4804417B2 (ja) * 2007-05-17 2011-11-02 キヤノン株式会社 動画撮像装置及び動画撮像方法
US8094202B2 (en) 2007-05-17 2012-01-10 Canon Kabushiki Kaisha Moving image capture apparatus and moving image capture method
US7932907B2 (en) * 2007-05-21 2011-04-26 Microsoft Corp. Layered graph layouts with a given aspect ratio
CN101354705B (zh) * 2007-07-23 2012-06-13 夏普株式会社 文档图像处理装置和文档图像处理方法
CN101354703B (zh) * 2007-07-23 2010-11-17 夏普株式会社 文档图像处理装置和文档图像处理方法
CN101354704B (zh) * 2007-07-23 2011-01-12 夏普株式会社 字形特征字典制作装置及具备该装置的文档图像处理装置
JP4476318B2 (ja) * 2007-10-31 2010-06-09 富士通株式会社 論理構造認識プログラム、論理構造認識装置、および論理構造認識方法
JP6051827B2 (ja) * 2012-12-07 2016-12-27 株式会社リコー 文書処理装置、画像処理装置、文書処理方法及び文書処理プログラム
US8233671B2 (en) * 2007-12-27 2012-07-31 Intel-Ge Care Innovations Llc Reading device with hierarchal navigation
US8185398B2 (en) * 2007-12-31 2012-05-22 Intel-Ge Care Innovations Llc Reading device with shortcut read function
CN101493896B (zh) * 2008-01-24 2013-02-06 夏普株式会社 文档图像处理装置及文档图像处理方法
CN101551859B (zh) * 2008-03-31 2012-01-04 夏普株式会社 图像辨别装置及图像检索装置
US7471826B1 (en) 2008-03-31 2008-12-30 International Business Machines Corporation Character segmentation by slices
US8180788B2 (en) * 2008-06-05 2012-05-15 Enpulz, L.L.C. Image search engine employing image correlation
JP5217814B2 (ja) * 2008-09-10 2013-06-19 株式会社リコー 画像処理装置、画像処理方法、制御プログラム及び記録媒体
US8620080B2 (en) * 2008-09-26 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for locating text in a digital image
JP2010134561A (ja) * 2008-12-02 2010-06-17 Hitachi Software Eng Co Ltd 業務文書処理装置
JP5321109B2 (ja) * 2009-02-13 2013-10-23 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP5357612B2 (ja) * 2009-04-13 2013-12-04 株式会社日立ソリューションズ 下線除去装置
CN101635058B (zh) * 2009-06-30 2011-06-01 方正国际软件(北京)有限公司 一种检测页边的方法及装置
JP5340847B2 (ja) 2009-07-27 2013-11-13 株式会社日立ソリューションズ 文書データ処理装置
JP5663866B2 (ja) 2009-08-20 2015-02-04 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP5712487B2 (ja) 2009-09-04 2015-05-07 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、及びプログラム
CN102081736B (zh) * 2009-11-27 2014-11-26 株式会社理光 从可移植电子文档中提取字符外接矩形的设备和方法
JP5488077B2 (ja) * 2010-03-15 2014-05-14 オムロン株式会社 文字列検知装置、文字評価装置、画像処理装置、文字列検知方法、文字評価方法、制御プログラムおよび記録媒体
JP5591578B2 (ja) * 2010-04-19 2014-09-17 日本電産サンキョー株式会社 文字列認識装置および文字列認識方法
JP5621169B2 (ja) * 2010-05-26 2014-11-05 日立オムロンターミナルソリューションズ株式会社 帳票認識装置および帳票認識方法
JP5508953B2 (ja) 2010-06-28 2014-06-04 株式会社日立ソリューションズ 文書処理装置及びプログラム
CN102402693B (zh) * 2010-09-09 2014-07-30 富士通株式会社 处理包含字符的图像的方法和设备
JP5653817B2 (ja) * 2011-03-29 2015-01-14 日立オムロンターミナルソリューションズ株式会社 帳票認識装置、帳票認識方法およびそのためのプログラム
JP5742399B2 (ja) * 2011-04-06 2015-07-01 富士ゼロックス株式会社 画像処理装置及びプログラム
JP5847807B2 (ja) * 2011-04-18 2016-01-27 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、及びプログラム
JP5594269B2 (ja) * 2011-09-29 2014-09-24 コニカミノルタ株式会社 ファイル名作成装置、画像形成装置、およびファイル名作成プログラム
EP2579217A1 (de) * 2011-10-04 2013-04-10 Deutsche Post AG Verfahren und Vorrichtung für die Markierung von Wertlabeln
EP2579222A1 (de) * 2011-10-04 2013-04-10 Deutsche Post AG Automatische Überprüfung von Wertlabeln
CN102426564A (zh) * 2011-11-01 2012-04-25 无敌科技(西安)有限公司 一种矢量斜体字的反白方法
JP5279930B1 (ja) * 2012-03-27 2013-09-04 株式会社東芝 サーバ、電子機器、サーバの制御方法、サーバの制御プログラム
JP2014013534A (ja) * 2012-07-05 2014-01-23 Ricoh Co Ltd 文書処理装置、画像処理装置、文書処理方法及び文書処理プログラム
JP6204076B2 (ja) * 2013-06-10 2017-09-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 文章領域読み取り順序判定装置、文章領域読み取り順序判定方法及び文章領域読み取り順序判定プログラム
JP6303531B2 (ja) * 2014-01-22 2018-04-04 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP6050843B2 (ja) * 2015-01-30 2016-12-21 株式会社Pfu 情報処理装置、方法およびプログラム
CN107368236B (zh) * 2017-04-19 2020-08-25 阿里巴巴集团控股有限公司 一种信息目录中标题的展示方法及装置
JP6753370B2 (ja) * 2017-07-12 2020-09-09 京セラドキュメントソリューションズ株式会社 原稿読取装置
CN107291677A (zh) * 2017-07-14 2017-10-24 北京神州泰岳软件股份有限公司 一种pdf文档标题结构树生成方法、装置、终端及系统
US11475209B2 (en) 2017-10-17 2022-10-18 Handycontract Llc Device, system, and method for extracting named entities from sectioned documents
WO2019077405A1 (en) * 2017-10-17 2019-04-25 Handycontract, LLC METHOD, DEVICE AND SYSTEM FOR IDENTIFYING DATA ELEMENTS IN DATA STRUCTURES
CN108021711A (zh) * 2017-12-28 2018-05-11 深圳市巨鼎医疗设备有限公司 一种信息处理的方法
US10572587B2 (en) * 2018-02-15 2020-02-25 Konica Minolta Laboratory U.S.A., Inc. Title inferencer
JP7439435B2 (ja) * 2019-09-30 2024-02-28 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11335108B2 (en) 2020-08-10 2022-05-17 Marlabs Incorporated System and method to recognise characters from an image
CN112101323B (zh) * 2020-11-18 2021-02-02 北京智慧星光信息技术有限公司 标题列表的识别方法、系统、电子设备及存储介质
JP7417116B2 (ja) * 2020-12-28 2024-01-18 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理方法、プログラム
TWI769809B (zh) * 2021-05-06 2022-07-01 廣達電腦股份有限公司 內容擷取系統及內容擷取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075895A (en) * 1989-04-05 1991-12-24 Ricoh Company, Ltd. Method and apparatus for recognizing table area formed in binary image of document
JPH04207571A (ja) * 1990-11-30 1992-07-29 Toshiba Corp ファクシミリ装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6126150A (ja) * 1984-07-17 1986-02-05 Nec Corp 文書画像フアイル登録検索装置
JPS6126149A (ja) * 1984-07-17 1986-02-05 Nec Corp 文書画像フアイル登録検索装置
US5185813A (en) * 1988-01-19 1993-02-09 Kabushiki Kaisha Toshiba Document image processing apparatus
JP2569134B2 (ja) * 1988-07-25 1997-01-08 富士電機株式会社 文字列抽出方法
JP2890482B2 (ja) * 1989-06-13 1999-05-17 富士ゼロックス株式会社 文書画像再配置ファイリング装置
JP2968284B2 (ja) * 1989-07-12 1999-10-25 富士通株式会社 文字認識装置およびその文字領域分離方法
JP3149221B2 (ja) * 1991-03-27 2001-03-26 株式会社リコー 画像処理装置
JPH0520505A (ja) * 1991-07-16 1993-01-29 Nec Home Electron Ltd 文字認識装置
JP3278471B2 (ja) * 1991-11-29 2002-04-30 株式会社リコー 領域分割方法
JPH05274367A (ja) * 1992-03-25 1993-10-22 Toshiba Corp 画像記憶装置
JP3253356B2 (ja) * 1992-07-06 2002-02-04 株式会社リコー 文書画像の領域識別方法
JPH06103402A (ja) * 1992-09-18 1994-04-15 Sony Corp 名刺認識装置
JP3278221B2 (ja) * 1993-01-11 2002-04-30 キヤノン株式会社 画像処理方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075895A (en) * 1989-04-05 1991-12-24 Ricoh Company, Ltd. Method and apparatus for recognizing table area formed in binary image of document
JPH04207571A (ja) * 1990-11-30 1992-07-29 Toshiba Corp ファクシミリ装置

Also Published As

Publication number Publication date
CN1220162C (zh) 2005-09-21
EP0762730A2 (en) 1997-03-12
CN100501760C (zh) 2009-06-17
CN1094224C (zh) 2002-11-13
EP0762730B1 (en) 2002-10-23
US6035061A (en) 2000-03-07
DE69624433D1 (de) 2002-11-28
CN1495660A (zh) 2004-05-12
JP3425834B2 (ja) 2003-07-14
KR970017047A (ko) 1997-04-28
DE69624433T2 (de) 2003-03-06
CN1153955A (zh) 1997-07-09
CN1365078A (zh) 2002-08-21
CN1365079A (zh) 2002-08-21
CN1365080A (zh) 2002-08-21
JPH09134406A (ja) 1997-05-20
CN1269068C (zh) 2006-08-09
CN1220163C (zh) 2005-09-21
EP0762730A3 (en) 1998-01-28

Similar Documents

Publication Publication Date Title
KR100311633B1 (ko) 문서화상으로부터의타이틀추출장치및방법
US6970601B1 (en) Form search apparatus and method
US6917706B2 (en) Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof
JP2973944B2 (ja) 文書処理装置および文書処理方法
CA2077565C (en) Methods and apparatus for automatic modification of semantically significant portions of a document without document image decoding
US6335986B1 (en) Pattern recognizing apparatus and method
US7548916B2 (en) Calculating image similarity using extracted data
EP0202671A2 (en) Method of storing and retrieving image data
JP3345224B2 (ja) パターン抽出装置、パターン再認識用テーブル作成装置及びパターン認識装置
US20040213458A1 (en) Image processing method and system
JPH0668301A (ja) 文字認識方法及び装置
Shafait et al. Document cleanup using page frame detection
JP3608965B2 (ja) 自動オーサリング装置および記録媒体
CN115543915A (zh) 人事档案目录自动化建库方法及系统
CN112560849A (zh) 基于神经网络算法的文理分割方法及系统
JP3565310B2 (ja) 一般の文書画像から罫線を抽出する罫線抽出装置および方法
WO2023062799A1 (ja) 情報処理システム、原稿種識別方法、モデル生成方法及びプログラム
JP4328511B2 (ja) パターン認識装置、パターン認識方法、プログラムおよび記憶媒体
JPH0757040A (ja) Ocr付きファイリング装置
JPS5949671A (ja) 光学的文字読取装置
JPH06223231A (ja) グラフ画像登録システム
JP2931485B2 (ja) 文字切出し装置及び方法
JPH0792819B2 (ja) パターン切出しおよび認識方法とそのシステム
JPH0589279A (ja) 文字認識装置
Faure et al. Detection of figure and caption pairs based on disorder measurements

Legal Events

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

Payment date: 20130903

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee