KR930009639B1 - 화상데이타를 이용하는 문서데이타 처리방법 및 장치 - Google Patents
화상데이타를 이용하는 문서데이타 처리방법 및 장치 Download PDFInfo
- Publication number
- KR930009639B1 KR930009639B1 KR1019900010336A KR900010336A KR930009639B1 KR 930009639 B1 KR930009639 B1 KR 930009639B1 KR 1019900010336 A KR1019900010336 A KR 1019900010336A KR 900010336 A KR900010336 A KR 900010336A KR 930009639 B1 KR930009639 B1 KR 930009639B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- input
- document
- field
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Character Input (AREA)
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
내용 없음.
Description
제 1 도는 본 발명에 의한 문서처리장치의 전체구성을 도시한 시스템 구성도.
제 2 도는 제 1 도의 시스템에서 실행하는 문서처리 프로그램의 기본적인 동작을 도시한 흐름도.
제 3 도는 화상으로서 입력되는 문서의 1예를 도시한 도면.
제 4 도는 제 1 도의 시스템에서 출력되는 문서의 1예를 도시한 도면.
제 5 도는 문서처리 프로그램의 실용적인 흐름도의 1예를 도시한 도면.
제 6 도는 화상 입력스텝 1에서 실행되는 서브루틴의 흐름도.
제 7a 도 및 제 7b 도는 각각 입력화상과 입력화상 메모리의 관계를 설명하기 위한 도면.
제 8 도는 문서서식인식스템 2에서 실행되는 서브루틴의 제 1의 실시예를 도시한 흐름도.
제 9 도는 제 8 도의 물리구조인식스텝 21에서 실행되는 서브루틴의 상세한 흐름도.
제 10 도는 제 9 도의 블럭분할스텝 211의 상세한 흐름도.
제 11a 도 및 제 11b 도는 각각 상기 블럭분할스텝에서 사용하는 테이블 T1과 T2의 구성을 도시한 도면.
제 12 도는 블럭 분할을 구체적으로 설명하기 위한 화상의 1예를 도시한 도면.
제 13 도는 제 9 도의 영역분할스텝 214의 상세한 것을 도시한 흐름도.
제 14a 도 내지 14c 도는 물리구조인식스텝 21의 실행과정을 구체적으로 설명하기 위한 도면.
제 15 도는 제 9 도의 영역종별인식스텝 216의 상세한 흐름도.
제 16 도는 제 15 도의 좌변인식스텝 216-1의 상세한 흐름도.
제 17 도는 좌변인식스텝 216-1에서 사용되는 테이블 T3의 구성을 도시한 도면.
제 18a 도 및 제 18b 도는 각각 좌변인식스텝에서 처리하는 원화상과 인식결과의 구체적인 예를 도시한 도면.
제 19 도는 선분의 인식결과를 저장하기 위해 사용하는 테이블 TBL1의 구성을 도시한 도면.
제 20a 도 내지 제 20f 도는 비셀요소의 대표적인 패턴을 도시한 도면.
제 21 도는 입력화상에서 원호패턴을 검출하기 위한 처리의 설명도.
제 22 도는 사선정보를 저장하기 위한 테이블 TBL2의 구성도.
제 23 도는 원호정보를 저장하기 위한 테이블 TBL3의 구성도.
제 24 도는 제 9 도의 구성요소인식스텝 218의 상세한 흐름도.
제 25 도는 구성요소의 종별판정을 설명하기 위한 도면.
제 26 도는 제 24 도의 직선인식스텝 2181의 상세한 흐름도.
제 27 도는 파선의 구성요소의 조건에 관한 설명도.
제 28 도는 제 24 도의 파선인식스텝 2182의 상세한 흐름도.
제 29 도는 파서네이블 TBL4의 구성도.
제 30 도는 제 24 도의 문자인식스텝 2183의 상세한 흐름도.
제 31 도는 문자열의 구성요소의 조건에 관한 설명도.
제 32a 도 내지 제 32c 도는 문자인식스텝의 처리과정을 설명하기 위한 도면.
제 33 도는 문자인식결과를 저장하기 위한 테이블 TBL5의 구성도.
제 34 도는 문서서식인식스템 2의 다른 실시예를 도시한 흐름도.
제 35 도는 제 34 도의 전처리스텝 20의 상세한 흐름도.
제 36a 도 및 제 36b 도는 각각 전처리스텝에서 처리되는 입력화상의 1예를 도시한 도면.
제 37 도는 제 34 도의 후처리스텝 29의 상세한 흐름도.
제 38 도는 제 37 도의 문자의 수정처리스텝 291의 상세한 흐름도.
제 39 도는 제 37 도의 문자의 수정처리스텝 292의 상세한 흐름도.
제 40 도는 단어정보를 저장하기 위한 테이블 TBL6의 구성도.
제 41 도는 문서서식인식스템2의 다른 실시예를 도시한 흐름도.
제 42 도는 제 41 도의 논리구조인식 스텝 22의 제 1 의 실시예를 도시한 흐름도.
제 43 도는 제 42 도의 행자리수 정규화스텝의 상세한 흐름도.
제 44 도는 행자리수 정규화스텝에서 사용하는 테이블 TBL7의 구성도.
제 45a 도 및 제 45b 도는 문자등의 패턴의 기준점을 설명하기 위한 도면.
제 46a 도 및 제 46b 도는 각각 제 41 도의 논리구조인식 스텝의 다른 실시예를 도시한 흐름도.
제 47 도는 제 46 도의 필드위치인식스텝 222의 상세한 흐름도.
제 48a 도 및 제 48b 도는 필드위치인식을 용이하게 하기 위해 실행되는 표형식 정규화처리를 설명하기 위한 도면.
제 49 도는 필드테이블 TBL8의 구성도.
제 50a 도 및 제 50b 도는 각각 필드위치인식의 실행 결과의 1예를 설명하기 위한 도면.
제 51a 도 및 제 51b 도는 각각 제 41 도의 논리구조인식 스텝 22의 다른 실시예를 도시한 흐름도.
제 52 도는 제 51 도의 필드관계인식스텝 223의 상세한 흐름도.
제 53 도는 유니트정보를 저장하기 위한 테이블 T4의 구성도.
제 54 도는 필드관계인식결과의 1예를 도시한 도면.
제 55 도는 제 51 도의 필드속성인식스텝 224의 상세한 흐름도.
제 56 도 내지 제 59 도는 각각 제 55 도의 명칭매칭스텝 2242에서 참조되는 각종의 테이블 KNW1∼KNW4의 구성도.
제 60 도 내지 제 65 도는 각각 피드속성인식스텝 224에서 참조되는 각종의 속성정보설정테이블 TBL9∼TBL14의 구성도.
제 66 도는 문서논리구조인식에 의해 형성되는 테이블 TBL9∼TBL14의 내용의 구체적인 예를 도시한 도면.
제 67 도는 문서서식인식스텝 2의 제 3의 실시예를 도시한 흐름도.
제 68 도는 제 67 도의 문서작성프로그램생성스텝 23의 상세한 흐름도.
제 69 도는 문서작성프로그램생성스텝 23에서 생성되는 프로그램의 1예를 도시한 도면.
제 70 도는 제 68 도의 입출력필드처리생성스텝 235의 상세한 흐름도.
제 71 도는 제 2 도의 문서작성스텝 3의 1실시예를 도시한 흐름도.
제 72 도는 제 71 도의 인쇄서식데이타생성스텝 39의 상세한 흐름도.
제 73a 도 및 제 73b 도는 비트맵형식의 인쇄서식데이타의 생성에 대한 상세도.
제 74a 도 및 제 74b 도는 명령시켄스형식의 인쇄서식 데이타의 생성에 대한 설명도.
제 75 도는 문서작성스텝 3의 다른 실시예를 도시한 흐름도.
제 76 도 및 제 77 도는 각각 인쇄해서 출력되는 문서의 1예를 도시한 도면.
제 78 도는 문서작성스텝 3의 또다른 실시예를 도시한 흐름도.
제 79 도는 제 78 도의 문서내용데이타작성스텝 33의 실시예를 도시한 흐름도.
제 80 도는 원고로 되는 문서의 1예를 도시한 도면.
제 81 도는 내용이 추가된 발행문서의 1예를 도시한 도면.
제 82 도는 문서내용데이타작성스텝 33의 제 2의 실시예를 도시한 흐름도.
제 83 도는 제 82 도의 스텝 334의 검색되는 파일의 1예를 도시한 도면.
제 84 도는 문서내용데이타작성스텝 33의 제 3의 실시예를 도시한 흐름도.
제 85 도는 문서내용데이타작성스텝 33의 제 4의 실시예를 도시한 흐름도.
제 86 도는 오퍼레이터의 조작순서와 본 발명의 장치에서의 화면의 상태변화의 1예를 도시한 도면.
제 88 도는 제 87 도는 스텝 503에서 실행되는 논리구조인식을 위한 프로그램의 다른 실시예를 도시한 흐름도.
제 89a 도 내지 제 89f 도는 표형식의 정규화에 대해서 설명하기 위한 도면.
제 90a 도 내지 제 90c 도는 문자열의 추출방법에 대해서의 설명도.
제 91 도는 문자열의 통합에 대해서는 설명도.
제 92a 도 내지 제 92c 도는 각각 대표적인 셀의 종류를 도시한 표면.
제 93 도는 제 88 도의 스텝 5033에서 실행되는 루틴의 상세한 흐름도.
제 94a 도 내지 제 94e 도는 항목셀과 데이타입출력셀의 대응관계를 설명하기 위한 도면.
제 95a 도 내지 제 95c 도는 항목을 갖는 셀에서의 입출력필드의 설정 및 항목을 갖는 셀의 인식에 대한 설명도.
제 96a 도 및 제 96b 도는 입출력필드의 특수한 예를 도시한 도면.
제 97 도는 입출력필드와 필드명칭의 특수한 대응관계를 도시한 도면.
제 98 도는 문서구조의 인식결과를 저장하는 테이블구조의 1예를 도시한 도면.
제 99 도는 지식베이스의 구성을 도시한 도면.
제 100 도는 지식베이스에 저장되는 레코드의 구성의 1예를 도시한 도면.
제 101 도는 제 87 도의 스텝 505에서 실행되는 루틴의 상세한 흐름도.
제 102 도는 제 101 도의 스텝 5051에서 실행되는 루틴의 상세한 흐름도.
제 103 도는 제 102 도의 스텝 6100에서 실행되는 루틴의 상세한 흐름도.
제 104 도는 제 102 도의 스텝 6200에서 실행되는 루틴의 상세한 흐름도.
제 105 도는 문서작성프로그램의 실행에 의해 입력된 데이타를 저장하는 메모리의 내용의 1예를 도시한 도면.
제 106 도는 본 발명에 의한 문서처리용의 장치구조의 다른 실시예를 도시한 도면.
본 발명은 화상데이타를 이용하는 문서데이타 처리방법 및 장치에 관한 것으로, 더욱 상세하게는, 예를들면 일반적인 사무 처리분야에서 키보드로부터 데이타 베이스로의 데이타 입력 또는 키보드나 데이타베이스에서의 데이타출력을 위해 필요로 되는 문자데이타의 입력 또는 출력을 위한 공란을 갖는 소정의 서식을 마련한 문서의 작성을 위한 데이타 처리방법 및 장치에 관한 것이다.
워크스테이션, 오피스 프로세서, 퍼스널 컴퓨터 또는 워드 프로세서등의 사무 기기를 이용해서, 예를들면 각종의 신청서, 데이타 입력표, 청구전표나 영수증 또는 회계, 통계 내역등을 위한 소정의 서식을 갖는 문서를 발행하거나 화면상에 표시된 상기 문서의 서식을 이용해서 데이타 베이스에 데이타를 입력하고자 하는 경우 데이타입출력을 위한 공란을 갖는 문서의 서식을 상기한 사무기기의 표시화면상에 정의할 필요가 있다. 종래의 대표적인 서식정의방식은 예를 들면 히다찌제작소 발생의 메뉴얼로서, ETOIEL/OP라 하는 문헌에 기재되어 있는 바와 같이 디스플레이상에서 커어서등을 이동시켜서 괘선이나 문자를 정의하며, 또 프로그램의 편집자등을 이용해서 이것을 발행하기 위한 프로그램을 작성편집하는 것이다.
그러나 종래 기술에서는 기기에 있어서 미지의 서식의 문서를 발행하는데 많은 시간과 프로그램에 관한 전문적 지식과 경험을 요한다. 미지의 서식은 기기의 초기도입시 뿐만 아니라, 예를 들면 거래선에서 지정전표라 하는 형태로 지정되는 경우등 일상적으로 발생한다. 이 때문에 서식정의작업의 간략화와 고속화가 큰 문제로 되어 있었다.
또한, 데이타를 기입해야 할 공란을 갖는 서식문서를 화상데이타로 변환하고, 문서화상에서 문서중에 포함되는 표형식의 구조를 인식하는 것에 의해 표를 묘화하기 위한 괘선 벡터데이타를 자동적으로 생성하게 한 문서처리방식에 대해서 본 출원은 일본국 특허출원 소화 63-209975호(미국출원 No.397117)로서 제안하고 있다. 또, OCR로 문서리드를 실행하기 위한 서식데이타를 문서화상데이타에서 자동적으로 생성하도록 한 문서해석방식이 본 출원인에 의해 일본국 특허출원 소화 59-180517호(미국출원 No.766943)로서 출원되어 있다.
상기 문서해석방식에서는 문서화상데이타에서 문서에 포함되는 선패턴으로 구성된 표형식의 물리적인 구조를 인식한 후 상기 표형식을 구성하고 있는 장방형의 셀영역(앞서의 출원 명세서에서는 이것을 틀이라 하고 있다)의 종류, 속성 및 종속관계를 분석하는 것에 의해 문서의 논리적인 구조의 인식도 실행되고 있다. 그러나 상기 종래 기술로 실행되고 있는 논리구조의 인식은 OCR로의 적용을 목적으로 한 것이며, 셀의 종류(항목명칭을 설정하기 위한 셀인가, 데이타를 설정하기 위한 셀인가의 구별), 셀의 속성(셀내에 기입되는 문자의 종류 및 허용범위) 및 셀간의 종속관계를 분석하는 데 그치고 있다.
본 발명의 목적은 오퍼레이터가 화면상에 표시된 서식표시를 참조해서 데이타를 데이타처리장치에 키입력하는데 적합한 문서의 서식정보를 용이하게 얻을 수 있는 서식문서데이타의 처리방법 및 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 오퍼레이터가 키입력한 데이타 또는 데이타파일에서 리드된 데이타를 서식중의 소정의 공란에 설정한 형태의 문서를 인쇄 또는 표시하는데 적합한 서식문서를 위한 데이타처리방법 및 그 장치를 제공하는 것이다.
본 발명의 또다른 목적은 데이타를 입력 또는 출력하기 위한 공란(데이타입출력필드)을 갖는 소정의 서식의 서식표시를 참조하면서 오퍼레이터가 데이타처리장치에 데이타를 입력할 때 실행되는 데이타처리프로그램을 오퍼레이터의 간단한 조작에 의해 생성하는데 적합한 서식문서처리를 위한 프로그램자동 생성방법 및 그 장치를 제공하는 것이다.
본 발명의 상기 및 그 밖의 목적과 새로운 특징을 본 명세서의 기술 및 첨부도면으로 명확하게 될 것이다.
본 출원에서 개시되는 발명중 대표적인 것의 개요를 간단히 설명하면 다음과 같다.
즉, 본 발명에 의한 문서처리장치는 가변데이타를 라이트 하기 위한 입출력필드셀과 고정데이타 또는 항목명칭이 라이트되어 있는 고정필드셀을 포함하는 표형식을 갖는 표형식 문서의 화상을 입력하기 위한 화상입력수단, 표형식표시를 출력하기 위한 표시수단, 오퍼레이터가 명령과 데이타를 입력하기 위한 입력수단(이것은 마우스등의 포인팅장치로 치환할 수가 있다) 및 프로그램에 따른 데이타 처리동작을 실행하는 데이타프로세서로 이루어지고, 상기 데이타프로세서가 상기 화상입력수단에서 입력된 표형식 문서의 화상데이타에서 입력문서의 물리구조와 논리구조를 인식한다. 물리구조인식에서는 예를 들면 문서중에 포함되는 표형식을 구성하고 있는 선분이나 표의 속 또는 밖에 존재하고 있는 문자가 인식되고, 이것에 의해 화상데이타가 코드데이타로 변환된다. 한편, 논리구조인식에서는 예를 들면 가변데이타를 입력하기 위한 입출력필드와 고정데이타 또는 항목명칭이 기입되어 있는 고정필드를 식별하기 위한 필드인식, 입출력필드와 고정필드 또는 필드명칭을 대응시키기 위한 필드관계인식 및 지식베이스를 참조해서 입출력필드에 입력되는 데이타의 공급원을 인식하는 필드 속성인식이 실행된다. 본 발명에 의하면 입력문서의 논리구조로서 각 입출력필드에 설정해야 할 데이타의 공급원이 인식되기 때문에, 예를 들면, "상품코드", "상품명", "단가", "수량", "금액"의 기입란을 갖는 서식문서화상을 인식처리해서 오퍼레이터가 상품코드와 수량을 입력하는 것만으로 다른 난을 데이타파열에서의 리드데이타 또는 계산결과로 자동적으로 충족시킬 수 있는 데이타입력 또는 문서출력 처리시스템을 실현할 수가 있다. 또, 상기한 문서의 물리구조와 논리구조의 인식결과를 이용하는 것에 의해 데이타 입력 또는 문서출력처리를 위한 프로그램을 자동적으로 생성할 수도 있다.
본 발명의 다른 특징은 문서의 논리구조인식의 하나로서, 문서의 물리구조의 인식결과를 나타내는 데이타에 따라서 표형식의 행방향의 치수 및 각 입출력필드의 자리수치수를 표시화면상에서 커어서의 기본피치 또는 문자피치에 적합하도록 수정한 정규화된 서식표시를 얻는 것에 있다. 문서의 구조 데이타와는 별도로 이와 같이 화면상에서의 데이타입력에 적합한 정규화된 서식표시를 생성하는 것에 의해 데이타입력을 위한 오퍼레이터의 키조작 및 키보드 또는 프로그램처리에 의해 생성된 데이타의 화면으로의 출력이 용이하게 된다.
또한, 서식문서상의 각 입출력필드에 기입할 수 있는 문자의 크기, 문자의 수 및 문자피치는 각 입출력필드의 물리적 크기와 각 입출력필드에 설정하는 데이타의 종류(이것은 각 입출력필드에 부여해야 할 필드명칭에 의해 결정된다)에 의해 결정할 수 있다. 이들 문자크기, 문자수, 문자피치를 나타내는 정보는 필드속성의 일부로서 기억되고, 상기 행자리수의 정규화처리는 상기 필드속성을 참조해서 실행된다.
서식표시상의 입출력필드에 설정된 문자데이타는 입력 문서의 물리구조 인식데이타로 정의되는 문서서식에 상기 필드속성으로 정의되어 있는 문자크기, 문자피치로서 조합되어 프린터에 출력된다. 이것에 의해 데이타입력조작시 화면상에 출력된 문자크기 및 서식표시와는 다른 입력문서와 동일 형식의 인쇄를 공백부에 필드크기에 따른 크기의 문자에 의해 충족시킨 형태로 얻을 수가 있다.
본 발명에서 물리구조인식에 의해 얻어진 문서데이타는 키 조작에 의해 괘선의 이동이나 소거, 문자의 변경, 추가 소거를 가능하게 한 서식표시를 표시화면에 산출한다.
따라서 오퍼레이터는 표시화면상의 서식표시의 일부를 수정하기 위한 조작을 실행하는 것에 의해 원문서와는 부분적으로 다른 서식문서에 대해서 상기한 논리구조인식과 프로그램자동생성을 실행시킬 수가 있다.
이하, 본 발명의 구성에 대해서 실시예와 함께 설명한다.
제 1 도는 본 발명의 문서처리장치의 하드웨어 구성의 1예를 도시한 것이다. 도면에서(91)은 오퍼레이트로 부터의 명령을 입력하기 위한 콘솔(키보드), (92)는 문서처리를 실행하기 위한 프로세서, (93)은 화상데이타를 메모리에 입력하기 위한 화상입력장치, (94)는 화상입력장치(93)의 컨트롤러, (95)는 메모리상의 데이타를 인쇄하기 위한 프린터, (96)은 프린터(95)의 컨트롤러, (97)은 프로세서(92)가 실행하는 프로그램을 저장하기 위한 메모리, (98)은 프로세서(92)가 사용하는 각종 데이타를 저장하기 위한 메모리, (99)는 각종의 수치데이타나 문서데이타를 저장하기 위한 메모리(예를 들면 디스크장치), (90)은 상기 프로세서(92)와 그 밖의 요소를 상호 접속하기 위한 버스이다. 메모리(97)은 문서처리의 전체동작을 제어하기 위한 메인프로그램을 저장하는 영역(970), 화상을 입력하기 위한 서브루틴프로그램을 저장하는 영역(971), 문서의 서식을 인식하기 위한 서브루틴프로그램을 저장하는 영역(972), 문서를 작성하기 위한 서브루틴프로그램을 저장하는 영역(973) 및 문서를 출력하기 위한 서브루틴 프로그램을 저장하는 영역(974)로 구성된다. 메모리(98)은 화상데이타를 저장하기 위한 화상저장영역(981), 문서의 서식데이타를 저장하기 위한 문서서식저장영역(982), 문서의 내용데이타를 저장하기 위한 문서내용 저장영역(983), 출력하는 문서데이타를 저장하기 위한 출력문서 저장영역(984) 및 프로세서(92)의 작업영역(985)로 구성된다. 메모리(97)은 ROM(Read Only Memory), 메모리(98)은 RAM(Random Access Memory)을 이용해서 실시할 수도 있으며, 또 디스크등 외부 기억장치와, RAM을 조합해서 실시할 수도 있다.
제 2 도는 메모리(970)에 저장되는 문서처리메인프로그램의 기본적인 실시예를 도시한 흐름도이다. 스텝 1 내지 스텝 4는 영역(971)∼(974)에 저장된 서브루틴프로그램에 각각 대응한다. 화상입력스텝 1에서는 문서의 서식이 기입된 용지를 화상입력장치(93)에서 리드하여 디지탈 화상정보로서 화상저장영역(981)에 저장한다. 문서서식 인식스텝 2에서는 상기 문서서식의 화상을 인식해서 코드 데이타로 변환된 서식정보를 구하여 문서서식저장영역(982)에 저장한다. 문서작성스텝 3에서는 상기 문서서식에 적합한 문서내용 데이타를 작성하여 문서내용 저장영역(983)에 저장함과 동시에 이들 서식 및 내용데이타에 의한 문서데이타의 출력용 데이타를 작성하여 출력문서 저장영역에 저장한다. 본 스텝의 특별한 경우로서 문서 내용이 존재하지 않고 문서서식만인 문서데이타는 작성할 수도 있다. 문서출력스텝 4에서는 상기 출력문서데이타를 프린터(95)에 의해 인쇄하거나 데이타파일(99)에 저장한다.
제 3 도, 제 4 도는 다음의 실시예의 설명에 이용하는 문서데이타의 1예를 도시한 것이다. 제 3 도 EX1은 상기한 스텝 1에서 화상입력장치(93)으로부터 입력하는 문서 용지의 1예이다. 제 4 도 EX2는 상기한 스텝 4에서 프린터(95)로부터 출력하는 문서의 1예이다. 본 문서처리 장치는 EX1과 같이 괘선(100), 문서명칭(이예에서는 납품계산서)(101), 년월일(102), 항목명칭(103, ((103A) : 품명, (103B) :수량, (103C) : 단가, (103D) : 금액, (103E) 합계)등으로 되는 문서의 서식이 기입되어 있는 용지를 화상입력해서 EX2와 같이 각 항목이나 날짜의 데이타내용(110)을 포함하는 문서를 프린터등에서 고품질로 출력하는 것을 목적으로 하는 것이다.
또한, 본 명세서에서는 괘선(10)에 의해 그려진 표에서 행방향 또는 열방향에 나란히 선 각 장방형영역을 난(셀)이라하고, 이들의 난중 항목명칭(103)이 기입되어 있는것을 항목셀 또는 고정필드셀, 빈상태에서 나중에 데이타를 기입하기 위한 것을 입출력필드셀이라 칭하는 것으로 한다. 또, 문자 및 데이타의 기입영역이 표 밖에 있는 경우는 단순히 고정필드, 입출력필드라 칭하는 것으로 한다. 제 5 도는 메모리(970)에 저장되는 문서처리프로그램의 따른 실시예를 도시한 흐름도의 예이다. 제 2 도의 프로그램 흐름도에서는 화상의 입력에서 문서의 인쇄까지를 일련의 동작으로 실행하고 있었지만 제 5 도의 프로그램에서는 화상의 입력에서 서식의 등록까지의 처리를 실행하는 서식정의처리와 서식의 검색에서 문서의 인쇄까지의 처리를 실행하는 문서발행처리를 입력명령에 의해 선택적으로 실행할 수 있게 하고 있다.
도면에서 명령입력스텝 5a에서는 서식정의명령, 문서 발행명령, 종료명령중 어느 하나의 명령을 입력한다. 서식정의 명령이 입력된 경우에는 제 2 도에서 설명한 스텝 1, 스텝 2를 실행한 후 스텝 5b에서 문서서식저장영역에 저장된 서식데이타를 오퍼레이터가 지정하는 문서명과 대응시켜서 디스크장치(99)등에 등록하고, 최후에 명령입력스텝 5a를 실행한다. 문서발생명령이 입력된 경우에는 먼저 상기 스텝 5c에서 등록한 서식데이타중에서 바라는 서식을 검색하고, 다음에 제 2 도에서 설명한 스텝 3, 4를 실행하고, 최후에 명령입력스텝 5a를 실행한다. 본 실시예에서는 오퍼레이터가 동일한 서식을 사용해서 여러개 문서의 연속발행명령의 입력을 허용하고 있다.
이하 본 발명의 주요부인 스텝 1∼4의 처리내용을 상세히 설명한다.
제 6 도는 스텝 1에서 실행되는 화상입력을 위한 서브루틴프로그램의 상세한 흐름도를 도시한다. 본 프로그램에서는 먼저 스텝 11에서 화상입력을 위한 파라미터로서 메모리(98)에서의 화상저장영역의 어드레스 정보, 입력해야 할 화상의 범위, 디지탈화의 표본화밀도등을 컨트롤러(94)에 설정한다. 다음에 스텝 12에서 상기 파라미터에 따라 화상데이타를 입력하는 것을 컨트롤러(94)에 지시하여 화상입력장치(93)을 기동한다. 스텝 13에서는 컨트롤러(94)에서 화상입력처리가 종료했는가 아닌가를 나타내는 플래그정보를 리드한다. 종료하고 있지 않은 경우에는 스텝 13을 반복한다.
제 7a 도, 제 7b 도는 입력화상의 메모리(98)로의 저장방법을 설명하기 위한 도면이다. 제 7a 도는 2차원적인 화상을 화소라 하는 작은 점의 배열로 분할한 상태를 도시한다. 여기서는 각 점의 값은 백 또는 흑중 어느하나의 상태를 취하는 것으로 하고 메모리내에서는 1비트로 표현할 수 있는 것으로 한다. 도면에서 m은 좌우 방향의 화소위치, n은 상하방향의 화소위치, M은 위치 m의 최대값, N은 위치 n의 최대값을 나타낸다. 제 7b 도는 이들 화소가 메모리(98)의 화상저장영역(981)에 저장된 상태를 도시한다. 도면에서 W는 1워드의 비트수, a는 메모리어드레스, b는 워드내와 비트수를 나타낸다. m, n, b를 1에서 시작되는 정수, a를 0에서 시작되는 상대어드레스라고 하면 화소위치(m, n)의 화소(120)을 다음의 관계가 성립하는 메모리내 위치(a, b)에 저장하는 것에 의해 1대 1대응으로 할수가 있다.
a=↓{M·(n-1)+m}/W↓
b=M·(n-1)+m-a·W
여기서 기호 ↓↓로 사이에 끼워진 식은 결과의 소수점 이하를 버리는 것을 의미한다. 다음의 설명에서는 설명을 간단하게 하기 위해 참조하는 화소위치를 메모리어드레스가 아니라 2차원의 화소위치로 표현한다.
제 8 도는 스텝 2에서 실행되는 문서서식인식을 위한 서브루틴프로그램의 제 1의 실시예를 도시한 흐름도이다. 제 1의 실시예에서 문서서식인식스텝 2는 문서의 서식으로서 그 물리구조를 인식하는 물리구조인식스텝 21만으로 구성된다. 여기서 말하는 "문서의 물리구조"라 함은 다음에 상세히 기술한 바와 같이 성분, 문자, 원호등 문서의 의미에는 미치지 않는 단순한 도형구조를 의미한다.
제 9 도는 상기 물리구조인식스텝 21에서 호출되는 서브 루틴프로그램의 흐름도를 도시한다. 상기 서브루틴(21)은 메모리영역(972) 내에서 프로그램(2)와는 다른 영역에 저장되어 있다.
스텝 211에서는 주어진 영역을 흑화소가 연결하는 영역의 의접장방형용 단위로 해서 여러개의 블럭으로 분할한다. 주어지는 영역은 스텝 2에서 최초로 호출될 때는 화상 전체이고, 다음에 기술한 바와 같이 본 스텝 21자체중에서 재귀적으로 호출될 때는 화상의 일부분으로 된다. 스텝 212에서는 스텝 211에서 구한 블럭중의 1개의 블럭을 선택한다. 스텝 213에서는 선택된 블럭의 종별이 표인가 표이외인가를 판별한다. 이 블럭종별의 판별은, 예를 들면 블럭의 가로의 폭과 높이의 값이 양쪽 모두 미리 정한 임계값보다 큰 경우에 표를 구성한 블럭으로 판단하고, 그렇지 않는 경우는 표이외의 요소를 구성한 블럭으로 판단한다. 블럭종별이 표 이외로 판정된 경우에는 스텝 218에서 구성요소를 인식한다. 블럭종별이 표로 판정된 경우에는 먼저 스텝 214에서 그 블럭을 백화소 연결영역의 외접장방형의 단위로 분할한다. 다음에 스텝 215에서 상기 스텝 214에서 구한 영역중의 1개를 선택한다. 다음에 스텝 216에서 선택된 영역의 종별이 셀을 구하는 영역인가 셀이외인가를 인식한다. 영역종별이 셀이외로 판정된 경우에는 스텝 217에서 비셀영역에 관한 인식을 실행한다. 영역종별이 셀로 판정된 경우에는 스텝 21에서 물리구조인식 서브루틴프로그램을 재귀적으로 호출하며, 또 이 영역의 물리적인 구조를 인식한다. 또한, 상기한 프로그램의 재귀적인 호출을 통상의 프로세서로 실행하기 위찬 방법은 통상의 프로그램 언어의 컴파일러 기술로서 공지되어 있고, 예를 들면 N.Wirth씨 저서, 가다야마씨 번역에 의한 "알고리듐+데이타구조=프로그램"이라 하는 문헌(1979년, 일본 컴퓨터협회 발행)의 142페이지 이후에 상세히 해설되어 있으므로, 여기서는 설명을 생략한다. 이상의 처리를 모든 블럭 및 영역에 대해서 반복한다.
제 10 도는 상기 스텝 211의 블럭분할루팅의 상세한 흐름도를 도시한다. 도면에서 변수 I는 처리중 유효한 가블럭수, n은 제 7 도에서 설명한 상하방향 화소위치, i는 처리해야 할 가블럭의 번호, N은 대상화상 또는 대상영역의 높이, P(x, y)는 화소(x, y)의 농도, m은 좌우방향 화소위치, i및 ri는 i번째의 가블럭의 좌단화소위치 및 우단화소위치를 각각 나타낸다.
본 루틴에서는 먼저 상기한 변수의 초기설정을 실행하고, 1행분의 화소처리가 종료할 때마다 스텝 211a와 스텝 211b를 반복한다. 스텝 211a에서는 해당 행의 처리종료시점에서 테이블 T1에서 동일한 블럭이 여러개의 가블럭으로서 검출되고 있는 것을 판명한 것에 대해서 가블럭의 통합처리를 실행한다. 스텝 211b에서는 해당 행에서 새로 검출되는 가블럭을 테이블 T1에 등록처리를 실행하다. 이들 가블럭의 처리에 의해 변수 I의 값도 갱신된다. 각 가블럭에 대해서는 그 좌단 또는 우단의 위치가 갱신되는가 아닌가를 조사하여 갱신되는 경우는 스텝 211d에서 가블럭정보를 갱신한다. 갱신되지 않는 경우에는 가블럭이 해당 행에서 종료하고 있는가 아닌가를 조사하여 종료하고 있는 경우에는 스텝 211e에서 그 가블럭을 정식블럭으로서 테이블 T2에 등록(추가)하고, 테이블 T1에서 가블럭을 삭제하는 처리를 실행한다. 최후에 스텝 211c에서 정식 블럭의 외접 4각형의 서로 겹치는 것에 대해서 이것을 통합하는 처리를 실행한다.
이상의 처리에 있어서 가블럭 정식블럭의 정보등록을 위해 사용하는 테이블 T1, T2의 구성을 제 11a 도, 제 11b 도에 도시한다. 제 11a 도에 도시한 테이블 T1은 가블럭의 정보를 저장하기 위한 테이블로서, 가블럭 좌단의 화소위치 l, 우단의 화소위치 γ, 상단의 화소위치 n0의 각 항목으로 구성된다. 제 11b 도에 도시한 테이블 T2는 정식블럭의 정보를 저장하기 위한 테이블로서, 블럭좌단의 화소위치 x0, 우단의 화소위치 x1, 상단의 화소위치 y0, 하단의 화소위치 y1의 각 항목으로 구성된다. 또한, 변수 J는 최종적으로 얻어진 블럭의 수를 나타내고 있다.
이상의 블럭분할처리의 상태를 제 12 도의 구체적인 예를 사용해서 설명하면 다음과 같이 된다. 기호 a∼e는 각각 스텝 211a∼211e에 대응하고, 그곳에서 대응하는 스텝이 실행되는 것을 나타내고 있다. 먼저 행 L1에서 새로운 가블럭 B1을 나타내는 정보가 테이블 T1에 등록된다(b). 다음의 행 L2에서는 상기 가블럭과 접하는 흑화소의 검출에 의해서 그 좌단 및 우단의 화소 위치의 갱신이 실행되고(d), 동일 행에 나타나는 다른 가블럭 B2의 정보가 테이블 T1에 등록된다(b). 또, 다음의 행 L3에서 상기 2개의 가블럭 B1, B2의 좌우단의 화소위치의 갱신이 실행되고(d), 또 다른 가블럭 B3이 등록된다. 가블럭 B1과 B2는 본 행의 처리종료후 1개의 가블럭 B1-2에 통합된다(a). 또, 다음의 행 L4에서는 상기 통합된 가블럭 B1-2와 접하는 흑화소는 나타나지 않으므로, 즉 가블럭이 계속하고 있지 않으므로, 상기 행의 처리종료후 상기 가블럭 정보를 기본으로 정식블럭정보를 생성하여 테이블 T2에 저장함과 동시에 그 가블럭정보를 테이블 T1에서 삭제한다(e). 이와같이 모든 행의 처리가 종료된 후 각 블럭에 외접하는 4각형이 공통영역을 갖는(서로 겹치는)것에 대해서 블럭구조를 통합한다(c). 본 예에서는 2개의 블럭 B1-2와 B3은 부분적으로 겹치므로 1개의 블럭으로 통합된다.
제 13 도는 상기 스텝 214에서 실행하는 영역분할루틴의 상세한 흐름도를 도시한다. 도면에서 변수 I는 처리중에 유효한 가영역의 수, n은 제 7 도에서 설명한 상하방향 화소위치, i는 처리해야 할 가영역의 번호, N은 대상영역의 높이, p(x, y)는 화소(x, y)의 농도, m은 좌우방향 화소위치, li 및 ri는 제 i 가영역의 좌단화소위치 및 우단화소위치를 각각 나타낸다.
본 처리에서도 제 11a 도, 제 11b 도에 도시한 것과 마찬가지의 테이블 T1', T2'를 사용한다. 먼저 상술한 변수의 초기설정을 실행하고, 1행분의 화소처리가 종료할 때마다 스텝 214a와 스텝 214b를 반복한다. 스텝 214a에서는 해당 행의 처리종료 시점에서 동일한 영역이 여러개의 가영역으로서 검출되고 있는 것이 판명된 것에 대해서 가영역의 통합처리를 실행한다. 스텝 214b에서는 해당 행에서 세로 검출되는 가영역의 등록처리를 실행한다. 이들 가영역의 처리에 의해 변수 I의 값도 변경된다.
각 가영역에 대해서는 그 좌단 또는 우단의 위치가 갱신되는가 아닌가를 조사하여 갱신되는 경우는 스텝 214d에서 가영역 정보를 갱신한다. 갱신되지 않는 경우에는 가영역이 해당행에서 종료하고 있는가 아닌가를 조사하여 종료하고 있는 경우에는 스텝 214e에서 정식영역으로서 등록(추가)하여 가영역 데이타를 삭제하는 처리를 실행한다. 최후에 정식 스텝 214c에서 정식영역의 외접 4각형이 겹치는 것을 봉합한다.
제 14a 도 내지 제 14c 도는 물리구조 인식스텝 21의 경과를 구체적으로 설명하기 위한 도면이다. 제 14a 도는 원화상 EX1에 대해서 최초의 블럭분할스텝 211을 실시했을때 인식되는 인식의 구조 EX3을 도시한다. 여기서는 검출된 각 블럭을 그것에 의접하는 4각형으로 표현하고 있다. 제 14b 도에 도시한 EX4는 EX3중의 표로 판정된 블럭에 대해서 영역분할스텝 214를 실시했을때 인식되는 영역의 상태를 도시한다. 특히 검출한 각 영역을 그것에 의접하는 4각형으로 표현하고 있다. 제 14c 도에 도시한 EX5는 상기 EX4에서 셀로 판정된 영역에 대해서 각각 블럭분할스텝 211을 실시한 경우에 인식되는 영역의 상태이다.
제 15 도는 제 9 도의 스텝 216에서 실행하는 영역종별 인식을 위한 흐름도이다. 본 실시예에서 상기 인식루틴은 각각 영역의 좌우상하의 각 변을 인식하는 4개의 스텝 216-1∼216-4로 된다. 물리구조인식루틴(스텝 21)에서는 이 인식결과에 따라, 예를들면 3번 이상의 선분을 갖는 영역은 셀이라고 판정한다.
이들 4번의 인식스텝중 좌변의 인식스텝 216-1의 상세한 것을 제 16 도의 흐름도를 사용해서 설명한다. 도면에서 n은 영역의 상하방향의 화소위치를 나타내는 변수, n0, n1은 각각 n의 최소값 및 최대값, m은 영역의 좌우 방향의 화소위치를 나타내는 변수, m0은 영역의 경계위치의 m의 값, wid(n)은 상하방향 n의 위치의 화소행에서 경계 m0의 근방에서 횡방향으로 연속하는 흑화소의 계수를 나타내는 변수이다.
먼저 최초에 각 변수의 초기설정을 한 후 스텝 216a에서 wid(n)을 영역의 바깥쪽에 대해서 구한다. 다음에 스텝 216에서 wid(n)을 영역의 안쪽에 대해서 구하여 상기 값에 가한다, 각 n에 대해서 구한 wid(n)을 기본으로 스텝 216c에서 좌변의 선분의 선폭을 결정한다. 선폭은 예를들면 (n1-n0+1)개의 wid(n)의 값중 가장 빈도가 높은 값을 선폭으로 간주하는 등의 방법으로 구할 수가 있다. 이와같이 해서 구한 선폭이 0이 아닌 경우에는 스텝 216d에서 선분위치의 특정을 실행하고, 스텝 216e에서 선분테이블 TBL3에 데이타를 추가한다.
상기 좌변인식스텝을 실행하기 위해 필요한 테이블 T3의 구성의 1예를 제 17 도에 도시한다. 테이블 T3은 각 n에 대하여 경계근방에서 횡방향으로 연속하는 흑화소의 좌단 x0, 우단 x1, 길이 wid의 각 항목으로 구성된다. 각 n에 대해서는 다음의 식
wid=x1-x0+1
이 성립한다. 본 테이블은 작업영역(985)에 준비한다.
제 18a 도, 제 18b 도는 상술한 좌변인식처리를 구체적으로 설명하기 위한 도면이다. 제 18a 도는 원화상에서의 좌변의 상태를 나타낸다. 원화상상에서는 화상의 입력오차등에 의해 흑화소의 일부가 결함되거나 이분의 흑화소가 생성되거나 해서 직선의 가장자리가 오목 블럭으로 되는 것이 보통이다. 제 18b 도는 상기 입력화상을 좌변인식스텝 216-1에서 처리한 결과를 나타낸다. 가장 빈도가 높은 선분데이타에 의해 선폭과 선위치를 인식하고, 오목블럭을 수정한 선분데이타에 의해 직선화상을 형성하여 표시하고 있다. 이 인식에 의해 직선의 위치 정보등을 얻음과 동시에 표면에 존재한 오목블럭을 매끄럽게 한 직선을 생성할 수가 있다.
제 19 도는 상술한 좌변을 포함해서 일반적으로 좌표축과 평행한 선분의 인식결과를 저장하기 위한 테이블 TBL1의 구성을 도시한다. 본 테이블 TBL1은 선분을 제 18b 도와 같이 장방형영역으로 포착했을 때의 좌상좌표(LX0, LY0) 및 우하좌표(LX1, LY1)의 각 항목으로 구성된다. 본 테이블은 문서서식 저장영역(982)에 준비하고, 다음에 기술하는 구성 요소인식스텝 218에서 인식된 직선 데이타도 상기 테이블 TBL1에 저장된다.
다음에 스텝 217에서 실행하는 비셀요소인식처리에 대해서 설명한다.
제 20a 도 내지 제 20f 도는 본 실시예에서 대상으로 하는 비셀요소의 대표적인 패턴을 도시한다. 제 20a 도와 제 20b 도는 대각으로 사선이 실시된 셀에 대응하는 패턴 PT1, PT2이다. 이들 패턴은 제 13 도에서 설명한 영역분할스텝 214의 스텝 214C의 직전에서 도면중의 파선으로 둘러싸인 부분이 대략 동일 크기의 중첩된 영역으로 된다. 제 20c 도 내지 제 20f 도는 원호로 둥글게 되어 있는 표의 모서리부분에 대응하는 패턴 PT3∼PT6이다. 이들 패턴은 영역분할스텝 214의 스텝 214c의 직전에서 도면중 파선으로 둘러싸인 부분이 비교적 큰 영역의 내부에 중첩된 작은 영역으로 된다. 여하간에 이들 패턴은 상기 영역종별인식스텝 216에서 좌, 우, 상, 하의 4변으로서 검출할 수 없으므로 비선 영역으로 판정된다.
다음에 제 21 도를 사용해서 입력화상에서 상기 원호패턴을 검출하기 위한 처리의 1예를 설명한다. 도면에서 파선으로 둘러싸인 부분이 스텝 214에서 검출된 1개의 영역으로서, 이 영역에 제 20a 도 내지 제 20f 도중 어느 하나의 패턴이 위치한다. 먼저, 이 영역을 도면에 도시한 6개의 일점쇄선으로 16개의 부분영역으로 분할한다. 3개의 종선 V1∼V3은 영역경계 x0, x1과 소정의 작은 값을 갖는 정수 α에 따라서 각각의 x좌표가 x0+α, (x0+x1)/2, x1-α로 되도록 설정된다. 3개의 횡선의 H1∼H3은 영역경계 y0, y1과 상기 소정의 정수 α에 따라서 각각의 y좌표가 y0+α, (y0+y1)/2, y1-α로 되도록 설정된다. 다음에 이들 부분영역중 특히 6개의 일점쇄선만에 의해서 둘러싸인 중앙의 4개의 영역내부의 흑화소의 농도를 조사한다. 농도는 각 부분영역의 전화소에 대한 흑화소의 비율로 정의한다. 이 농도가 소정의 임계값보다 큰 경우에는 흑영역, 작은 경우에는 백영이라 칭하는 것으로 하면 흑영역이 좌상과 우하에 존재하는 것은 패턴 PT1, 이하 마찬가지로 우상과 좌상은 PT2, 좌상과 우상과 좌하는 PT3, 좌상과 우상과 우하는 PT4, 좌상과 좌하와 우하는 PT5, 우상과 좌하와 우하는 PT6의 패턴으로 판정할 수가 있다.
상기의 지리에서 패턴 PT1 또는 PT2를 포함한다고 판정된 것에 대해서는 사선정보를 제 22 도에 도시한 테이블 TBL2에 저장한다. 본 테이블 TBL2는 사선의 최좌단의 화소좌표(SX0, SY0), 최우단의 화소좌표(SX1, SY1), 선폭 SW의 각 항목으로 구성된다. 최좌단 및 최우단의 좌표는 대상영역의 모서리점의 좌표 또는 모서리점 근방의 흑화소를 조사하는 것에 의해 용이하게 구할 수가 있다.
선폭 SW는, 예를들면 영역내의 흑화소수 BP와 선분의 길이 SLA, 즉
SW= BP/SLA
또는 이것을 사사오입등에 의해 정수화한 값으로서 계산할 수가 있다. 본 테이블은 문서서식 저장영역(982)에 준비된다.
상기한 처리에서 패턴 PT3∼PT6으로 판정된 것을 원호정보를 제 23 도에 도시한 테이블 TBL3에 저장한다. 본 테이블 TBL3은 원호의 중시화소좌표(AX, AY), 반경 AR, 선폭 AW, 개시각도 AA0, 종료각도 AA1의 각 항목으로 구성된다. 개시각도 및 종료각도는 상기한 방법으로 구한 패턴의 종별 PT3∼PT6에 따라서 각각 (90, 180), (0, 90), (180, 270), (270, 0)으로 정의한다. 반경, 선폭은 예를들면 영역내의 흑화소수 BP, 영역의 긴변의 길이 AL 및 짧은 변의 길이 AS를 사용해서 다음의 방정식을 푸는 것에 의해서 산출할수가 있다.
AS- AW/2 =AR
AW·(π·AR/2+AL-AS)=BP
중심화소좌표는 PT3∼PT6의 각 패턴에 대해서 영역의 긴변상의 끝에서 짧은 변의 길이와 같은 점으로 정의한다. 본 테이블도 문서서식저장영역(982)에 준비된다.
제 24 도는 스텝 218에서 실행하는 구성요소인식루틴의 1실시예를 도시한 것이다. 여기서는 먼저 최초에 문서의 구성요소의 종별이 직선, 파선, 문자중 어느 것인가를 판정하고, 이 판정결과에 따라 직선인식스텝 2181, 파선 인식스텝 2182, 또는 문자인식스텝 2183중 어느 하나의 처리를 실행한다.
구성요소의 종별판정방법의 1예를 제 25 도를 사용해서 설명한다. 이 예에서는 블럭분할스텝 211에서 구한 각 블럭에 외접하는 4각형의 크기와 형상에 의해서 구성요소의 종별을 판별한다.
도면에서 횡축 및 종축은 블럭에 외접하는 4각형의 각각 횡폭, 즉 X1-X0+1 및 높이, 즉 Y1-Y0+1을 나타낸다. 여기서는 미리 설정한 정수 β및 γ를 경계값으로해서 도면과 같이 범위(81)∼(83)을 정의하고, 대상으로 하는 블럭이 범위(81)에 속할 때는 직선, 범위(82)에 속하는 경우는 파선, 범위(83)에 속하는 경우는 문자로 판정하는 것으로 한다.
제 26 도는 스텝 2181에서 실행하는 직선인식루틴의 흐름도를 도시한다. 본 루틴에서는 예를들면 제 16 도에서 설명한 좌변인식스텝과 똑같은 방법으로 직선에 관한 정보를 구한다. 도면에서 선폭의 결정스텝 2181a는 제 16 도의 스텝 216a∼216c에 대응한다. 선위치의 결정스텝 2181b는 마찬가지로 스텝 216d에 대응한다. 또, 스텝 2181c는 스텝 216e에 대응하여 이것과 마찬가지로 문서서식저장영역에 준비된 선분테이블 TBL1에 인식결과를 등록한다.
다음에 스텝 2182에서 실행하는 파선인식루틴에 대해서 설명한다. 본 루틴에서는 검출된 파선요소가 이미 검출되어있는 파선을 연장하는 것인가 아닌가를 조사한다. 먼저 2개의 파선요소가 1개의 파선을 구성하기 위한 조건을 제 27 도를 사용해서 설명한다. 도면에서 2개의 파선요소(85)와 (86)의 좌상의 화소좌표를 각각(x0, y0), (x0', y0')로 하고, 우하의 화소좌표를 각각(x1, y1), (x1', y1')로 했을때 미리 정한 정수 d1 및 d2에 관해서 다음의 부등식을 만족하는 파선요소의 조를 동일한 파선을 구성하는 요소라고 생각하는 것으로 한다.
Min(|y0-y0'|, |y1-y1'|)〈d1
Min(|x0-x0'|, |x1-x1'|)〈d2
여기서 함수 Min은 파라미터에서 나타내는 2개의 식의 값중 작은 쪽의 값을 취하는 함수이다.
제 28 도는 파선인식루틴의 흐름도이다. 먼저 스텝 2182z에서 해당 파선요소가 다음에 기술하는 테이블 TBL4에 저장되어 있는 이미 검출이 끝난 파선을 연장하는 것인가 아닌가를 조사하여 연장하는 것인 경우에는 이들 요소를 모두 포함하도록 파선범위를 확장한다. 이와같이해서 순차로 결합된 파선요소의 범위에 대해서 제 26 도에서 설명한 직선인식스텝과 동일한 방법으로 다음과 같이 파선 정보를 구할수가 있다. 도면에서 선폭의 결정스텝 2182a는 제 26 도의 스텝 2181a에 대응한다. 단, 값 WID의 최대빈도를 구하는 처리(상기 스텝 216c의 설명참조)에서는 파선의 경우에 파선요소 사이에 간격이 존재하는 것을 고려해서 값 0의 빈도를 제외한다. 선위치의 결정 스텝 2182b는 제 26 도의 스텝 2181b에 대응한다. 또 스텝 2182c는 스텝 2181c에 대응하고, 직선의 경우와 마찬가지로 해서 문서서식저장영역에 준비된 파선테이블 TBL4에 인식결과를 저장한다.
제 29 도는 파선테이블 TBL4의 구성의 1예를 도시한 것이다. 본 테이블 TBL4는 1개의 파선을 구성하는 여러개의 파선요소의 집합을 장방형영역으로 포착한 경우의 좌상좌표(DX0, DY0) 및 우화좌표(DX1, DY1)를 나타내는 데이타로 구성된다. 본 테이블도 문서서식저장영역(982)에 준비된다.
제 30 도는 스텝 2183에서 실행하는 문자인식루틴의 흐름도이다. 먼저 최초의 해당블럭의 근방에 아직 블럭 종별이 미판정으로 문자요소로 판정되는 가능성이 있는 블럭이 존재하는가 아닌가를 조사한다. 이와같은 블럭이 존재하는 경우는 스텝 2183d에서 해당블럭을 문자열 요소로서 작업영역(985)에 등록한다. 근방에 문자요소로 판정되는 가능성이 있는 블럭이 존재하지 않는 경우에는 스텝 2183a에서 해당 블럭을 포함하는 문자열을 생성한다. 본 처리에서는 상기 스텝 2183d에서 등록한 문자열 요소중 다음에 기술하는 문자구성 조건을 충족시키는 프로그램을 수집해서 이들 모든 블럭을 포함하는 하나의 장방형 범위를 문자열의 범위로서 구한다. 스텝 2183b에서는 상기 문자열의 범위에서 각각의 문자영역을 추출한다. 각각의 문자영역은, 예를들면 상기 장방형의 범위중에서 짧은 변에 따라 흑화소의 투영데이타를 작성하고, 긴 변에 따라 나타나는 상기 투영데이타의 갭을 미리 정한 임계값을 초월하는 부분에서 상기 장방형 범위를 서브영역으로 분할하는 것에 의해 추출할 수가 있다. 스텝 2183c에서는 이와같은 각각의 문자영역에 포함되는 문자패턴을 공지된 문자인식방식에 의해 문자코드로 변환한다. 문자 인식방식으로서는, 예를들면 오가미씨 편집에 의한 "화상처리핸드북"이라 하는 문헌(소화 62년, 쇼꼬도 발행)의 468페이지 이후에 기재되어 있는 방법을 사용할 수가 있다.
인접하는 블럭이 동일 문자열을 구성하는 요소인가 아닌가의 판정은, 예를들면 다음과 같이 해서 실행한다. 제 31 도에서 2개의 블럭(문자요소)(87)(88)의 좌상의 화소좌표를 각각(x0, y0), (x0', y0')로 하고, 우하의 화소좌표를 각각 (x1, y1), (x1', y1')로 했을 때 미리 정한 정수 d3 및 d4에 관해서 다음의 4개의 부등식
y0- y1'〈d3
y0'-y1 〈d3
x0-x1'〈d4
x0'-x1 〈d4
를 모두 만족하는 경우 이들의 문자요소는 동일한 문자열을 구성하는 요소로 간주한다.
제 32a 도 내지 제 32c 도는 이상 설명한 문자인식 스텝 2183의 실제의 처리과정을 도시한 도면이다. 제 32a 도는 상기 조건에 따라 통합되면 판정된 블럭 BL-i∼BL-k의 집합을 도시한 것이다. 제 32b 도는 스텝 2183a에 의해 실제로 문자열 CRS-ℓ이 생성된 상태를 도시한 것이다. 제 32c 도는 이와같은 문자열에서 스텝 2183b에 의해 각각의 문자 CR-m∼CR-n을 추출한 결과를 도시한 것이다.
본 문자인식스텝 2183에서의 인식결과를 제 33 도에 도시한 테이블 TBL5의 형식으로 문서서기저장영역(982)에 기억된다. 상기 테이블 TBL5는 1개의 문자를 둘러싸는 장방형 좌상점의 화소좌표(CX0, CY0), 우하점의 화소좌표(CX1, CY1), 문자코드 CC의 각 항목으로 구성된다. 문자코드로서는, 예를들면 JIS규격으로 정해진 문자코드의 체계를 이용한다.
이상 제 8 도에 도시한 문서서식인식스텝 2의 기본적인 동작에 대해서 설명했지만 상기 스텝의 또 다른 처리기능을 부가하는 것에 의해서 문서인식정밀도를 더욱 향상할 수가 있다.
제 34 도는 이와같은 확장한 문서서식인식스텝 2의 다른 실시예를 도시한 것이다. 이 실시예에서는 상기 물리구조 인식스텝 21에 앞서 입력화상의 전처리(20)을 실행하고 물리구조인식스텝 21다음에 문서데이타의 후처리(29)를 실행한다.
제 35 도는 스텝 20에서 호출되는 전처리 서브루틴 프로그램의 흐름도의 1예를 도시한 것이다. 여기서는 전처리로서 입력화상데이타의 경사의 보정을 실행하고 있다. 스텝 201a-2O1d에서는 각각 다음에 기술하는 화상의 좌변, 우변, 상변, 하변을 검출한다. 스텝 202에서는 상기 스텝에서 검출한 4변의 경사정보에서 화상전체의 경사를 계산한다. 이것은, 예를들면 좌변의 경사 +9°, 우변의 경사 +90°, 상변의 경사, 하변의 경사의 4개의 값의 평균값에 의해 계산할 수가 있다. 스텝 203에서는 상기 스텝 202에서 구한 각도를 화상의 회전처리로 실행한다. 스텝 204에서 필요에 따라 문서 화상으로서 유효한 영역의 추출을 실행하고, 스텝 205에서 필요에 따라 화상의 잡음정보를 제거한다.
상기 전처리스텝 20에서 검출하는 화상의 "변"에 관해서 제 36a 도, 제 36b 도를 사용해서 설명한다.
제 36a 도는 입력화상(70)에 포함되는 지면의 경계선을 화상의 경사계산의 기준선으로 할 수 있는 경우를 도시한다. 이것은 화상입력장치(93)에서 지면의 바닥색(예를들면, 백색)에 대해서 이것과는 다른 배경색을 사용해서 화상입력할 수 있는 경우에 해당한다. 예를들면 원고를 정지시키고 지면에서의 반사광을 센서에 입력하는 방식의 화상입력장치에서는 원고커버의 색을 흑색으로 하는 것에 의해 실현할 수 있다. 이와같은 경우에서 상, 하, 좌, 우의 4변을 기호(70a)∼(70d)로 나타낸 지면의 각 경계선에 착안해서 검출할 수가 있다.
제 36b 도는 입력화상(71)중에서 지면의 경계를 검출할 수 없는 것으로서, 문서에 기재된 표의 바깥틀을 경사 계산의 기준선으로 검출할 수 있는 경우를 도시한 것이다. 이 경우에는 상기 4변으로서 기호(71a)∼(71d)로 나타낸 표의 경계를 검출한다. 구체적으로 백화소 연속상태에서 흑화소로 변화하는 가장 바깥쪽의 경계를 구하고, 이들 경계선 4개의 직선을 대응시키는 것에 의해 구할 수가 있다.
제 37 도는 스텝 29에서 호출되는 후처리서브루틴 프로그램의 흐름도의 1예를 도시한다. 여기서는 후처리의 1예로서 물리구조인식처리에 의해 문서서식저장영역(982)에 기억된 화상데이타의 수정을 실행한다. 스텝 291에서는 테이블 TBL1∼TBL4에 저장된 선데이타를 수정하고, 스텝 292에서는 테이블 TBL5에 저장된 문자정보를 수정한다. 또한, 상기 실시예에서는 선의 수정스텝 291과 문자의 수정스텝 292를 각각 1회씩 순차로 실행하도록 하고 있지만 통상의, 워드프로세서나 CAD시스템에서 실행되고 있는 바와같이 오퍼레이터의 지시에 의해 임의의 시점에서 선 또는 문자의 수정을 반복하도록 해도 된다.
선의 수정스텝 291에서는 워드프로세서나 CAD시스템의 도형처리 기능에서 실행되고 있는 바와같이 오퍼레이터의 지시에 의한 선의 이동, 삭제, 신축등의 처리를 실행한다. 여기서는 선수정스텝 291의 특수한 기능의 1예로서 다른 선과의 관계에서 괘선 데이타를 자동적으로 수정하는 처리에 대하여 제 38 도를 사용해서 설명한다. 스텝 2911에서는 문서서식저장영역에 저장된 모든 선의 교차점을 구한다. 이때 각 선의 끝점과 다른 선과의 거리를 구하고, 이 거리가 미리 정한 임계값보다 작은 것도 교차점으로 취급한다. 스텝 2912에서는 각 선의 끝점과 다른선의 끝점과의 거리를 구하고, 이 거리가 미리 정한 임계값 보다 적은 위치관계에 있는 여러선의 조를 구한다. 스텝 2913에서는 상기 선의 조중에서 선폭의 차가 미리 정한 임계값보다 작은 것에 대해서 각 선의 선폭데이타를 어느 한쪽의 선폭 또는 그들의 평균값으로 치환한다. 스텝 2914에서는 상기 선의 조에 대해서 각 선의 종류를 가장 많은 선종류로 치환한다. 스텝 2915에서는 상기 선의 조에 대해서 선의 위치를 정규화한다. 횡선에 대해서는 각 횡선의 시점과 종점의 위치가 바깥틀의 종선에 일치하도록, 예를들면 x좌표를 각 선의 평균위치의 값으로 치환한다. 또, 종선에 대해서도 각 종선의 시점과 종점의 위치(y좌표)가 바깥틀 횡선에 일치하도록 각 선의 평균위치에 맞춘다. 스텝 2916에서는 여러개의 평행선중에서 인접하는 2개의 선의 간격이 대략 같은 것, 즉 미리 정한 임계값의 오차이내에 있는 것을 검출하고, 스텝 2917에서 상기 선 간격을 그들의 평균값과 같게 하도록 각 선을 필요에 따라 이동한다.
문자의 수정스텝 292에서는 워드프로세서나 CAD시스템의 문자처리기능에서 실행되고 있는 바와같이 오퍼레이터로 부터의 지시에 의한 문자의 이동, 변경, 삭제, 추가, 크기변환등의 처리를 실행한다. 여기서는 각 문자를 다른 문자와의 관계에서 자동적으로 수정하는 특수한 처리에 대하여 제 39 도를 사용해서 설명한다. 스텝 2921에서 서로 인접하는 여러개의 문자로 되는 조를 문자열로서 구한다. 인접문자는 예를들면 제 31 도에서 설명한 방법을 이용해서 발견할 수가 있다. 스텝 2922에서는 이와같이해서 구한 문자열에 대해서 미리 문서서식인식부(972)에 준비하고 있는 표준 단어군과의 조합을 실행한다. 각 단어를 문자열의 선두에 순차로 적용시키고, 예를들면 표준단어의 문자중 일치하는 문자수의 비율(일치율)이 가장 큰 단어를 조합결과로 한다. 더나아가서는 발명자들이 앞서 출원한 일본국 특허출원 평성 1-196586 호에 기재된 방법을 이용할 수도 있다. 조합의 결과 상기 일치율이 미리 정한 임계값보다 큰 경우에는 스텝 2923에서 표준단어와 불일치한 문자의 문자코드를 수정하여 문자열중의 단어를 표준단어에 일치시킨다. 또, 스텝 2924에서 동일 문자열중의 문자위치와 문자크기가 서로 맞도록 테이블 TBL5에 등록되어있는 장방형정보 CX0, CY0, CX1, CY1의 값을 수정한다. 수정방법으로서는 단순히 각 문자열중의 평균값을 사용하는 방법이나 인식한 문자코드를 이용해서 문자의 형상정보로 먼저 문자틀의 크기를 구하고, 이 문자틀의 위치와 크기에 따라서 수정하는 방법등을 이용할수가 있다.
이와같이 해서 구한 각 문자열에 포함되는 단어정보는 제 40 도에 도시한 테이블 TBL5으로서 문서서식저장영역(982)에 기억한다. 상기 테이블 TBL6은 단어를 구성하는 문자의 수 WN과 각 문자에 관한 정보로서 테이블 TBL5로의 포인터정보 WC1∼WCp의 각 항목으로 구성된다. 여기서 p는 단어당의 문자수 WN의 최대값이다. 상기 테이블 TBL6은 다음에 설명하는 문서서식인식프로그램 2의 제 2의 실시예에서 이용한다.
제 41 도는 스텝 2에서 실행되는 문서서식인식의 서브루틴 프로그램의 제 2의 실시예를 도시한 흐름도이다. 제 2의 실시예에서는 앞서 설명한 문서의 물리구조를 인식하는 스텝 21과 다음에 설명하는 문서의 논리구조를 인식하는 스텝 22로 구성된다. 또한, 문서의 논리구조라함은 본 발명에서 다음에 기술하는 문서의 셀의 행자리수 구조, 필드에 관한 정보등 문서의 의미에 미치는 구조를 의미한다.
제 42 도는 논리구조인식스텝 22에서 호출되는 서브루틴 프로그램의 제 1의 실시예를 도시한 것이다. 상기 프로그램 22는 문서서식 인식부(972)중의 프로그램 2와는 다른 영역에 준비된다. 이 제 1의 실시예에서는 서브루틴 22는 문서에 기입된 문자나 괘선의 위치 및 크기를 행과 자리수의 형태로 배열하도록 정규화하는 스텝 221만으로 구성되어있다.
제 43 도는 상기 스텝 221에서 실행하는 행자리수 정규화를 위한 상세한 흐름도를 도시한다. 스텝 2211에서는 테이블 TBL5에 저장되어 있는 각 문자의 기준위치 및 테이블 TBL1, TBL2, TBL4에 저장되어 있는 각선분의 모든 교차점 및 끝점의 좌표를 구하여 제 44 도에 도시한 테이블 TBL7에 저장한다. 문자패턴의 기준위치에 대해서는 다음에 상세히 설명한다. 테이블 TBL7은 이들의 문자기준위치 및 선분의 교차점, 끝점에 대해서 그들의 좌표(MX, MY)와 정보코드 MC의 각 항목으로 구성된다. 정보코드 MC는 문자정보에서는 문자패턴을 나타내는 문자코드, 선정보에서는 제 45 도에서 기술하는 바와같은 끝점 또는 교차점의 패턴을 나타내는 문자코드를 의미한다. 스텝 2212에서는 상기 테이블 TBL7에 저장되어 있는 데이타를 X좌표 MX의 값에 따라 정렬한다. 정렬은 오름순(작은 데이타부터 순서로 배치하는 것)으로 실행하지만 그 알고리듬에 관해서는 공지된 것이고, 예를들면 상기한 N. Wirth씨 저서의 문헌의 62페이지 이후에 상세히 기재되어 있으므로 설명을 생략한다. 스텝 2213에서는 이 정렬후의 테이블 TBL7의 데이타를 순서로 인출하고, 먼저 그 데이타에 대해서 정규화해야할 양 d를 구한다. 이 정규화량 d는 정규화해야 할 행 및 자리수의 폭을 RC화소로 했을때 RC의 정수배로 해당 MX의 값보다 크며, 또한 가장 가까운 것을 선택하여 이것과 해당 MX값의 차로서 계산한다. 스텝 2214에서는 모든 데이타의 MX의 값에 상기 d를 가한다. 스텝 2215에서는 스텝 2212와 마찬가지로 TBL7을 MY의 값에 따라 정렬한다. 이하 스텝 2216과 2217에서 각각 스텝 2213, 2214와 마찬가지로 MY의 값을 순차로 정규화한다. 모든 좌표데이타의 정규화가 종료된 후 스텝 2218에서 선분의 교차점 또는 끝점간의 선분패턴을 나타내는 문자코드를 그 위치정보와 함께 발생한다. 최후에 스텝 2219에서 용장으로 확대한 셀등을 기하학적 구조를 유지한 채로 수축하는 처리를 실행한다. 또한, 이상의 실시예에서는 좌표 MX, MY의 정규화량 d를 모두 정의 값으로 했지만 단순히 RC의 배수에 가장 가까운 값을 채용하는 것에 의해서 부의 값을 허용할 수도 있다.
제 45a 도, 제 45b 도는 문자패턴 CR-5, 선분의 교차점패턴 CR-1∼CR-3 및 끝점 패턴 CR-4의 각각의 위치기준점 RP(흑점)를 도시한 도면이다. 제 45a 도는 전체 각 크기의 패턴, 제 45b 도는 반의 각 크기의 패턴의 기준점의 예를 도시한다.
제 46 도는 상기 스텝 22에서 호출되는 논리구조인식을 위한 서브루틴프로그램의 제 2의 실시예를 도시한 흐름도이다. 이 제 2의 실시예는 문서의 필드위치를 인식하는 스텝 222를 갖고 있으며, 제 46a 도와 같이 스텝 222만으로 구성되는 경우와 제 46b 도와 같이 상기한 행자리 수 정규화스텝 221을 실행한 후 이 필드위치 인식스텝 222를 실행하도록 구성하는 경우가 존재한다.
제 47 도는 상기 스텝 222에서 실행하는 필드위치인식을 위한 상세한 흐름도를 도시한 것이다. 스텝 2221에서는 셀위치의 인식을 용이하게 하기 위해 표형상의 정규화처리를 실행한다. 표형상의 정규화처리의 실시예를 제 48a, 제 48b 도에 도시한다. 제 48a 도는 괘선이 생략되어 있는 표(41)에 괘선(42A), (72B)를 부가하는 처리의 대표예이다. 본 처리는 예를들면 횡선분에의 각 끝점에 접속하는 종선분의 유무를 조사하여 없는 경우에는 해당 횡선분에 교차하는 다른 종선분을 수평 방향으로 복사한 선분을 새로 생성하는 것에 의해 용이하게 실현할 수 있다. 또, 더욱 간단하게 평행하는 횡선분의 조에 대해서 가장 위쪽에 존재하는 선분과 가장 아래쪽에 존재하는 선분의 각 시점 사이 및 종점 사이에 세로 2개의 종선분을 생성하는 것에 의해서도 실현할 수 있다. 또 제 48b 도는 바깥틀의 각 코너가 원호형으로 되어있는 표(43)을 바깥틀이 직선으로 구성된 표(44)로 변환하는 처리의 대표예이다. 본 처리는 예를들면 원호데이타를 각각 표의 코너를 나타내는 세로 및 가로의 2개의 선분데이타로 치환하는 것에 의해 간단히 실현할 수 있다. 보다 구체적으로는 저장한 테이블 TBL3(제 23 도)의 각 요소에 대해서, 예를들면 AA0=0일때 LX0=AX+AR, LY0=AY, LX1=LX0, LY1=AY-AR인 종선분과 LX0=AX+AR, LY0=AY-AR, LX1=AX, LY1=LY0R인 종선분을 TBL1에 생성한다. AA0이 90,180,270에 대해서도 같은 처리가 실행된다.
제 47 도의 스텝 2222에서는 문서중에 포함되는 표구성 요소중에서 셀(표준필드), 즉 4개의 선분으로 둘러싸이며, 또한 그 내부에 다른 장방형역을 포함하지 않는(문자는 포함해도 된다)장방형영역을 순차로 추출한다. 본 처리는 예를들면 횡선분을 그 종위치의 순으로 정렬하고, 그 순서에 따라 먼저 제 1의 횡선을 기준횡선으로서 선택한다. 다음에 좌측의 종선에서 순서로 검사해서 상기 기준 횡선과 교차하여 아래쪽으로 연장하는 2개의 종선의 조를 선택하고, 다음에 이들 종선의 조와 교차하여 상기 기준 횡선에 가장 가까운 위치에 있는 횡선을 갖는 것에 의해 상기 기준횡선을 상변으로 한 2개의 횡선과 2개의 종선을 4변으로 하는 영역을 발견한다. 상기 동작을 반복해서 1개의 기준 횡선을 상변으로 하는 모든 장방형영역을 발견하면 그 다음의 횡선을 기준 횡선으로 선택해서 같은 동작을 반복하는 것에 의해 괘선으로 형성되는 모든 장방형 영역을 순차로 발견할 수가 있다. 이와같이 해서 검출된 각 장방형영역에 대해서 상기한 조건을 충족시키는가 아닌가를 검사하는 것에 의해 셀로 되는 장방형영역만을 추출할 수가 있다.
스텝 2223에서는 상기 스텝 2921과 마찬가지로 해서 상기 테이블 TBL5에 저장된 문자정보에서 문자일정보를 작성하고, 다음에 각 문자열에 대해서 스텝 2224와 스텝 2225를 반복한다.
스텝 2224에서는 상기 추출물자열과 미리 등록한 특수필드를 생성할 수 있는 단어와의 조합을 실행한다. 단어의 조합은 상기 스텝 2922와 마찬가지로 해서 처리한다. 조합의 결과, 상기 소정의 조건을 충족시키는 단어가 존재하는 경우는 스텝 2225에서 미리 정한 순서에 따라 특수필드의 추출처리를 실행한다. 여기서 특수필드라함은 반드시 선분정보에 의해 둘러싸여 있지 않지만 문서발행시 내용데이타를 인쇄하는 위치를 나타내는 가상적인 필드이다. 예를들면 다음에 기술하는 실시예 EX6, EX7로 나타낸 바와같이 "年"에 대해서는 그 외집 4각형 및 이것과 같은 크기로 그 좌측에 소정의 거리만큼 떨어진 위치에 특수필드가 정의된다. 본 처리는 특수필드를 생성할 수 있는 각 단어에 대해서 실제로 특수 필드를 생성하기 위한 조건 및 생성하는 위치, 크기등의 정보를 본 스텝 2225의 처리로서 기술해두는 것에 의해 실현할 수 있다. 상기한 실제로 특수필드를 생성하기 위한 조건으로서는, 예를들면 문자 "年"과 문자"月"의 간격의 각 문자크기에 대한 비율이 소정의 값보다 크다는 등 단순한 고정필드와의 판별을 위한 조건을 기술한다.
스텝 2226에서는 상기 스텝 2222 및 스텝 2225에서 추출한 각 셀 및 특수필드가 문서발행시 데이타가 기입될 가능성이 있는 입출력필드(입출력필드셀)인가, 새로 데이타가 기입될 가능성이 없는 고정필드(고정필드 셀)인가를 판별한다. 이 판별은 간단하게, 예를들면 필드(영역범위)에 문자열의 존재하는가 아닌가를 검사하는 것에 의해 실행할 수도 있고, 그 문자열의 단어로서의 의미를 미리 프로그램에 유지하고 있는 입출력필드에 존재할 수 있는 단어의 리스트와 조합하며, 또 필드내에서의 문자열위치가 치우쳐 있는가 아닌가 등을 참조하는 것에 의해서 판별을 실행할 수도 있다.
스텝 2227에서는 입출력필드로 판정된 필드에 대해서 필드정의정보를 다음에 기술하는 테이블 TBL8에 등록한다. 스텝 2228에서는 고정필드로 판정된 필드에 대해서 필드정의정보를 상기 테이블 TBL8에 등록한다.
제 49 도는 필드테이블 TBL8의 구성을 도시한 것이다. 상기 테이블 TBL8은 필드영역의 좌상좌표(FX0, FY0), 우하좌표(FX1, FY1) 및 필드의 명칭 FN의 각 항목으로 구성된다. 필드명칭은 고정필드에 대해서 그 영역범위에 기재되어 있는 문자열을 그대로 이용할 수 있고, 입출력필드에 대해서는 입출력 필드인 것을 나타내는 기호를 등록한다. 상기 테이블은 문서서식저장영역(982)에 형성된다.
제 50a 도, 제 50b 도는 필드위치인식시스템 222의 실행결과의 실시예를 도시한 것이다. 제 50a 도에 도시한 EX6은 제 3 도에 도시한 원화상 EX1에서 인식된 고정필드의 위치, 제 50b 도에 도시한 EX7은 원화상 EX1에서 인식된 입출력필드의 위치를 각각 도시한 것이다.
제 51a 도, 제 51b 도는 스텝 22에서 호출되는 논리 구조인식을 위한 서브루핀 프로그램의 제 3의 실시예를 도시한 흐름도이다. 이 제 3의 실시예는 상기 필드위치 인식스텝 222, 필드위치의 인식결과를 이용해서 여러 필드간의 관계를 인식하는 스텝 223 및 각 필드의 논리적으로 속성을 인식하는 스텝 224로 구성된다. 필드위치인식 스텝 222를 직접 실행하던가, 행자리수 정규화스텝 221을 실행한 후 실행하던가에 의해 제 51a 도의 구성과 제 51b 도의 구성의 실시예가 존재한다.
제 52 도는 상기 필드관계인식시스템 223의 상세한 흐름도이다. 스텝 2231에서는 필드테이블 TBL8에서 고정필드를 1개 선택한다. 스텝 2232에서는 상기 선택된 고정필드에 아래쪽에 접해서 입출력필드가 존재하는가 아닌가를 조사한다. 입출력필드가 존재하는 경우에는 그 또 아래쪽에 접해서 다른 입출력필드가 존재하는가 아닌가를 아래쪽에 접하는 입출력필드가 없어질 때까지 반복한다(스텝 2233A, 2233B). 최초에 선택한 고정필드의 아래쪽에 입출력 필드가 1개도 존재하지 않는 경우에는 그 오른쪽의 접해서 입출력필드가 존재하는가 아닌가를 조사하고(스텝 2234), 오른쪽에 접하는 입출력필드가 존재하지 않을 때까지 상기 고정필드의 오른쪽에 위치하는 입출력필드의 선택동작을 반복한다(스텝 2235A, 2235B). 아래쪽 및 오른쪽 모두 입출력필드가 존재하지 않는 경우에는 스텝 2236에서 예외처리를 실행한다. 예의처리에서는 예를들면 상기 스텝 2225에서 특수필드로서 추출된 입출력필드를 특수필드추출을 위한 키로 된 문자열인 고정필드와 조로하는 상기한 단순한 위치관계만으로는 관련시킬 수가 없는 처리와 대응하는 입출력필드가 존재하지 않는 고정문자열의 추출처리를 실행한다. 스텝 2237에서는 최초에 선택한 고정필드와 스텝 2233A 또는 스텝 2235A에서 선택된 입출력필드를 조로해서 유니트를 생성한다. 예외처리 2236이 실행된 경우에는 특수필드에 대한 유니트, 고정필드 단독으로 구성하는 유니트 또는 괘선으로 둘러싸여 있지 않은 필드를 포함하는 유니트가 생성된다. 이상의 처리를 필드테이블 TBL8의 모든 고정필드에 대해서 반복한다.
제 53 도는 상기 유니트 생성스텝 2237에서 구한 유니트 정보를 저장하기 위한 유니트 테이블 T4의 구조를 도시한 것이다. 상기 테이블 T4는 유니트에 속하는 고정필드를 지시하는 필드테이블 TBL8로의 포인터 FF, 유니트에 속하는 입출력필드수 PN 및 유니트에 속하는 각 입출력필드를 지시하는 필드테이블 TBL8로의 포인터 PF1∼PFp의 각 항목으로 구성된다. 여기서 p는 각 유니트에서의 입출력필드수 PN의 최대값을 나타낸다. 상기 테이블 T4는 작업영역(985)에 준비된다.
제 54 도는 필드위치인식결과 EX6 및 EX7에 대해서 필드관계인식스텝 223을 실행해서 얻어지는 유니트상태의 1예를 도시하고 있다. 스텝 2233에서 선택된 입출력필드로 되는 유니트 UV1∼UV4는 종유니트, 스텝 2235에서 선택된 입출력필드로 되는 유니트 UH1∼UH4는 횡유니트, 스텝 2236에서 고정필드가 고립되어 있으면 인식된 유니트 UI1은 고립유니트, 마찬가지로 스텝 2236에서 괘선으로 둘러싸여 있지 않은 필드로 되는 유니트 UE1∼UE3은 예외유니트로서 표시되어 있다. 또한, 본 예에서는 문자 "年", "月", "日"의 3개의 문자(열)에 대해서 UE1∼UE3의 3개의 유니트를 생성했지만 상기 스텝 2225의 처리의 정의 방법에 의해서 문자열 "年月日"에 대한 1개의 유니트를 생성하도록 할 수도 있다.
제 55 도는 필드속성인식스텝 224의 상세한 흐름도를 도시한 것이다. 스텝 2241에서는 유니트테이블 T4에서 유니트를 1개 선택한다. 스텝 2242에서는 상기 유니트의 고정필드의 명칭을 미리 문서서식인식부(972)에 등폭하고 있는 유니트지식테이블과 조합하여 그 유니트의 기능을 구한다. 필드명칭만으로 기능을 결정할 수 없는 경우에는 스텝 2243에서 다른 유니트와의 의미관계, 문서상의 유니트배치 등의 정보를 소정의 룰과 조합해서 그 기능을 결정한다. 이들 처리에 의해 구한 유니트의 기능의 함수를 호출해서 값을 계산하고, 이 값을 입출력필드에 대입하는 함수입력유니트인 경우에는 상기 함수입력속성을 다음에 기술하는 테이블 TBL9, TBL10에 설정한다(스텝 2244a∼2245a). 유니트 기능이 파일을 검색해서 값을 구하고, 그것을 입출력필드에 대입하는 파일입력유니트인 경우에는 필드입력속성을 상기 테이블 TBL9, TBL11에 설정한다(스텝 2244b∼2245b). 유니트의 기능이 다른 입출력필드에 대입된 값에 따라 계산에 의해서 구한 값을 입출력필드에 대입하는 계산입력유니트인 경우에는 계산입력속성을 상기 테이블 TBL9, TBL12에 설정한다(스텝 2244c∼2245c). 상기 유니트 기능이 동일한 항목의 조를 반복하는 의미를 갖는 유니트반복유니트인 경우에는 반복속성을 상기 테이블TBL9, TBL13에 설정한다(스텝 2244d∼2245d). 상기 유니트 기능이 상기한 것 중 아무것도 아닌 경우에는 입출력필드에 키보드에서의 입력값을 설정하는 키입력유니트로 판정하여 키입력 속성을 상기 테이블 TBL9, TBL14에 설정한다(스텝 2245e).
제 56 도 내지 제 59 도는 상술한 명칭매칭스텝 2242에서 유니트 기능을 결정하기 위해 참조되는 각종의 지식테이블의 구성을 도시한 것이다.
제 56 도에 도시한 지식테이블 KNW1은 함수입력속성을 갖는 유니트의 고정필드의 명칭 UN과 호출해야 할 함수의 명칭 FUN을 그 항목으로서 관리한다.
제 57 도에 도시한 지식테이블 KNW2는 파일입력속성을 갖는 유니트가 검색해야 할 파일의 1예를 도시한다. 이 예에서는 "品名"과 "單價"가 그 항목으로서 포함되어 있고, 특히 품명에서 단가를 일의적으로 검색할 수 있도록 하고 있다.
제 58 도에 도시한 지식테이블 KNW3은 계산입력속성을 갖는 유니트에서의 고정필드의 명칭 UN, 계산의 종별 OP 및 계산에 사용하는 파라미터로서 다른 유니트의 고정필드명칭 OP1∼OPN을 그 항목으로서 관리한다. 여기서 계산에 필요한 파라미터의 종류는 계산의 종별 OP에 의해서 일의적으로 결정할 수 있는 것도 있다.
제 59 도에 도시한 지식 테이블 KNW4는 키입력속성을 갖는 유니트에 설정해야 할 속성을 관리하는 테이블로서, 고정필드의 명칭 UN과 그 속성으로서, 예를들면 그것이 수치정보나 문자정보를 나타내는 기호 AN을 항목으로서 갖는다.
제 60 도 내지 제 65 도는 상술한 필드속성인식처리 224의 스텝 2245a∼2245e에서 사용되는 속성 설정을 위한 테이블구조를 도시한 것이다.
제 60 도에 도시한 테이블 TBL9는 유니트워크테이블 T4를 기본으로 작성되는 유니트전체를 관리하는 테이블이다. 상기 테이블은 유니트에 속하는 고정필드를 지시한 필드테이블 TBL8로의 포인터 FF, 유니트에 속하는 입출력필드수 PN, 유니트에 속하는 입출력필드를 지시한 필드테이블 TBL8로의 포인터 PF1∼PFP, 해당 유니트의 기능종별 UA 및 그 기능의 상세한 정보를 저장하는 테이블 TBL10∼TBL14로의 포인터 UAP의 각 항목으로 구성되어 있다. 여기서 P는 유니트당 입출력필드수 PN의 최대값을 나타낸다. 상기 테이블 T4는 다음의 테이블 TBL10∼TBL14와 함께 문서서식저장영역(982)에 준비된다.
제 61 도에 도시한 테이블 TBL10은 함수입력속성유니트의 기능의 상세한 것을 나타내는 정보를 저장하기 위한 테이블로서, 예를들면 호출해야 할 함수의 명칭 FUNN, 함수를 호출하는데 필요한 파라미터의 수 RN 및 그 실태인 PAR1∼PARR의 각 항목으로 구성된다. 여기서 R은 파라미터수 RN의 최대값을 나타낸다.
제 62 도에 도시한 테이블 TBL11은 파일입력속성유니트의 기능의 상세한 것을 나타내는 정보를 저장하기 위한 테이블로서, 예를들면 검색해야 할 파일의 명칭 DBN, 해당 문서처리에 관계가 있는 항목의 수 DN 및 그 실태인 TM1∼TMD의 각 항목으로 구성된다. 여기서 D는 파라미터수 DN의 최대값을 나타낸다.
제 63 도에 도시한 테이블 TBL12는 계산입력속성유니트의 기능의 상세한 것을 나타내는 정보를 저장하기 위한 테이블로서, 예를들면 계산종별 CALN, 계산에 필요한 파라미터의수 CLN 및 그 실태인 OP1∼OPC의 각 항목으로 구성된다. 여기서 C는 파라미터수 CLN의 최대값을 나타낸다.
제 64 도에 도시한 테이블 TBL13은 반복속성의 유니트의 기능의 상세한 것을 나타내는 정보를 저장하기 위한 테이블로서, 예를들면 반복되는 고정필드수 N, 그 실태인 TBL8로의 포인터 RFF1∼RFFN, 반복되는 유니트수 M 및 그 실태인 TBL9로의 포인터 RU1∼RUN의 각 항목으로 구성된다.
제 65 도에 도시한 TBL14는 키입력 속성유니트의 기능의 상세한 것을 나타내는 정보를 저장하기 위한 테이블로서, 예를들면 입력속성을 나타내는 기호 DA, 입력해야 할 데이타의 문자폭 DW, 문자높이 DH, 인접하는 문자와의 간격 DD, 좌로 정돈, 중앙으로 정돈, 우로 정돈 등의 구별을 나타내는 서식정보 DJ의 각 항목으로 구성된다.
제 66 도는 이상의 처리에 의해 원화상 EX1에서 생성되는 문서논리구조인식결과의 1예로서 테이블 TBL9∼TBL14의 구체적인 예를 TBL9-EX∼TBL14-EX로서 도시한 것이다.
제 67 도는 스텝 2에서 실행되는 문서서식인식을 위한 서브루틴프로그램의 제 3의 실시예를 도시한 흐름도이다. 이 제 3의 실시예는 지금까지 설명한 문서의 물리구조를 인식하는 스텝 21과 문서의 논리구조를 인식하는 스텝 22와 다음에 설명하는 문서작성프로그램을 자동적으로 생성하기 위한 스텝 23으로 구성된다. 또한, 여기서 말하는 문서작성프로그램이라 함은 그 후에 문서작성처리 3에서 실행되는 프로그램을 의미한다.
제 68 도는 스텝 23에서 호출되는 문서작성프로그램 생성을 위한 서브루틴프로그램의 1실시예를 도시한 흐름도이다. 이 서브루틴프로그램은 문서서식인식부(972)내에서 상기 프로그램과는 다른 영역에 저장된다. 이하 상기 서브루틴의 처리내용을 제 69 도에 도시한 실제의 처리결과 EX9를 참조해서 상세히 설명한다.
EX9는 제 3 도에 도시한 문서의 원화상 EX1에 대한 처리결과로서, 실제에는 제 66 도에 도시한 테이블 TBL8-EX∼TBL14-EX를 사용해서 작성된다. 본 실시예에서는 생성된 프로그램의 문법은 프로그래밍언어 Pascal에 의거하고 있다.
먼저 최초에 스텝 231에서 문서의 논리구조인식결과에 의존하지 않는 프로그램의 고정부를 생성한다. 실시예 EX9에서 ℓ 1, ℓ 2, ℓ 16, ℓ 32 등의 스테이트먼트가 상기 프로그램 고정부로서 생성된다. 상기 프로그램의 생성은 실제로 서브루틴프로그램(23)중에서 정의된 소정의 메모리영역에 상기 실시예에서 도시된 바와 같은 문자의 열을 정의해 가는 것에 의해 실현된다. 스텝 232에서는 상기 프로그램에서 사용하는 변수를 선언하는 부분을 생성한다. 실시예 EX9에서는 스테이트먼트 ℓ 3∼ℓ 5의 생성이 이것에 대응한다. 상기 프로그램에서 사용하는 변수는 논리구조인식결과에서의 유니트수, 반복유니트수 등으로 결정된다. 다음에 스텝 233에서 실시예 EX9에서의 스테이트먼트 ℓ 6에서 ℓ 15에 나타낸 바와 같은 상기 프로그램에서 이용하는 함수 또는 수속을 선언하는 부분을 생성한다. 이들의 함수 또는 수속은 논리구조인식결과에서의 함수입력속성의 함수명 등으로 결정된다. 이 프로그램 부분의 생성은 미리 프로그램(23)내에 정의한 몇 개의 함수 선언문자열중에서 상기 스텝에서 결정된 것의 문자열을 추출하고, 이것을 메모리상의 상기 작성프로그램 저장영역으로 전가하는 것에 의해 실현된다. 또한, 상기 함수정의중 스테이트먼트 ℓ 6, ℓ 7에서 특히 입력문자열을 삽입해야 할 위치에 커어서를 표시하는 기능을 마련하는 것에 의해 다음의 문서발행처리를 사용자가 용이하게 실행할 수가 있다. 스텝 234에서는 테이블 TBL13을 참조하는 것에 의해서 반복제어부를 생성한다. 반복제어부는 판정스텝 230c에 의해 종료가 검출되기까지 반복유니트의 수만큼 생성된다. 이것에 의해 실시예 EX9에서는 스테이트먼트 ℓ 17, ℓ 18, ℓ 24가 생성된다. 스텝 230a에서는 상기 반복부에 속하는 입출력필드를 1개씩 선택하고, 스텝 235에서 상기 입출력필드의 처리부를 생성한다. 실시예 EX9에서는 이것에 의해 스테이트먼트 ℓ 19∼ℓ 23이 생성된다.
모든 반복부의 생성이 종료하고(스텝 230c), 다음에 비반복부의 생성이 실행된다. 먼저 스텝 230d에서 비반복부의 입력필드중 1개를 선택한 후 스텝 235에서 그 입출력필드의 처리부를 생성한다. 이것을 반복하는 것에 의해 실시예 EX9에서 스테이트먼트 ℓ 25~ℓ 31이 생성된다. 비반복부의 모든 입출력필드의 처리부 생성이 종료하면(스텝 230d), 후처리스텝 236에서 프로그램 정형을 실행하고, 스텝 237에서 이와 같은 소스프로그램이라 하는 문자열을 CPU(92)가 직접 실행할 수 있는 기계어로 번역한다. 기계어로의 번역처리는 미리 메모리(97)의 일부에 준비해둔 공지된 언어컴파일러(프로그램)를 기동하는 것에 의해 실현된다.
제 70 도는 상기 스텝 235에서 실행되는 입출력필드처리부 생성을 위한 서브루틴의 상세한 처리내용을 도시한 흐름도이다. 본 처리는 먼저 스텝 250a에서 테이블 TBL9를 참조하는 것에 의해 부여된 입출력필드의 속성을 판정한다. 판정결과가 함수속성의 경우에는 스텝 2351에서 테이블 TBL10을 참조하는 것에 의해 함수속성의 처리부를 생성한다. 실시예 EX9에서는 ℓ 29, ℓ 30, ℓ 31의 3행이 본 스텝에 의해 생성된다. 판정결과가 파일입력속성의 경우에는 스텝 EX9에서는 ℓ 29, ℓ 30, ℓ 31의 3행이 본 스텝에 의해 생성된다. 판정결과가 파일입력속성의 경우에는 스텝 2352에서 테이블 TBL11을 참조하는 것에 의해 파일입력속성의 처리부를 생성한다. 실시예 EX9에서는 ℓ 21의 1행이 본 스텝에 의해 생성된다. 판정결과가 키입력속성의 경우에는 스텝 2353에서 테이블 TBL14를 참조하는 것에 의해 키입력속성의 처리부를 생성한다. 실시예EX9에서는 ℓ 19, ℓ 20의 2행이 본 스텝에 의해 생성된다. 판정결과가 계산입력속성의 경우에는 또 스텝 2350b에서 테이블 TBL12를 참조하는 것에 의해 그 연산종별을 구한다. 연산종별이 곱의 경우에는 스텝 2354에서 재차 테이블 TBL12를 참조하는 것에 의해 그 연산종별을 구한다. 연산종별의 곱의 경우에는 스텝 2354에서 재차 테이블 TBL12를 참조하는 것에 의해 곱연산의 처리부를 생성한다. 실시예 EX9에서 ℓ 22의 1행이 본 스텝에 의해 생성된다. 연산종별이 총합계의 경우에는 스텝 2355에서 재차 테이블 TBL12를 참조하는 것에 의해 총합계 연산의 처리부를 생성한다. 실시예 EX9에서는 ℓ 25~ℓ 28의 4행이 본 스텝에 의해 생성된다.
또한, 이상의 문서서식인식스텝의 설명에서는 설명의 간단화를 위해 대략 자동적으로 인식을 실행하도록 기술했지만 실제의 응용에서는, 예를들면 화상입력의 상태 등에 의해 오인식이 발생하는 일이 있다. 이와같은 경우에 대응하기 위해서는, 예를들면 인식의 각 단계에 오퍼레이터에 의한 확인조작과 필요에 따라서 상기 자동인식결과를 수동으로 수정하기 위한 처리스텝을 삽입해두면 된다. 특히 물리구조인식스텝 21, 논리구조인식스텝 22에서의 행자리수 정규화스텝 221, 필드위치인식스텝 222, 필드관계인식스텝 223, 필드속성인식스텝 224 및 문서작성프로그램 생성스텝 23 각각의 직후에 상술한 처리결과의 확인과 수정을 위한 처리스텝을 삽입하면 된다.
이상으로 문서서식인식스텝 2의 설명을 끝내고, 다음에 문서작성스텝 3의 실시예에 대해서 설명한다.
제 71 도는 문서작성스텝 3의 제 1의 실시예를 도시한 흐름도이다. 이 실시예에서는 문서작성스텝 3이 문서서식중 제 8 도의 스텝 21에서 구한 물리구조(즉, 테이블 TBL1∼TBL5에 등록된 정보)를 사용해서 출력(예를들면 인쇄)해야 할 서식데이타를 생성하는 스텝 39만으로 구성되어 있다. 생성된 출력문서서식데이타는 출력문서저장영역(984)에 저장된다.
제 72 도는 상기 출력서식데이타 생성스텝 39에서 호출된 서브루틴프로그램의 흐름도를 도시한 것이다. 이 서브루틴프로그램은 문서작성부(973)내에서 상기 프로그램 3과는 다른 메모리영역에 준비된다. 최초의 스텝 391에서는 선분(직선)의 인식결과가 등록되어 있는 테이블 TBL1을 순차로 참조하는 것에 의해 이들의 선분은, 예를들면 프린터(95)에서 인쇄하기 위한 서식데이타를 생성한다. 스텝 392에서는 사선의 인식결과가 등록되어 있는 테이블 TBL2를 순차로 참조하는 것에 의해 이들의 사선을 프린터(95)에서 인쇄하기 위해 필요한 서식데이타를 생성한다. 스텝 393에서는 원호의 인식결과가 등록되어 있는 테이블 TBL3을 순차로 참조하는 것에 의해 이들의 원호를 프린터(95)에서 인쇄하기 위한 서식데이타를 생성한다. 스텝 394에서는 파선의 인식결과가 등록되어 있는 테이블 TBL4를 순차로 참조하는 것에 의해 이들의 파선을 프린터(95)에서 인쇄하기 위한 서식데이타를 생성한다. 스텝 395에서는 문자의 인식결과가 등록되어 있는 테이블 TBL5를 순차로 참조하는 것에 의해 이들의 문자를 프린터(95)에서 인쇄하기 위한 서식데이타를 생성한다.
상기 스텝 39에서는 최종적으로 인쇄문서저장영역(984)에서 얻어지는 인쇄서식데이타가 접속하는 프린터(95)의 규격에 맞춘 데이타형식으로 생성된다. 상기 데이타형식은, 예를들면 통상의 프린터가 외부인터페이스로서 갖고 있는 비트맵형식이라도 되고, 명령시켄스형식이라도 된다.
제 73a 도, 제 73b 도는 스텝 391에서 비트맵형식으로 인쇄서식데이타를 생성하는 경우의 설명도이다. 제 73a 도는 테이블 TBL1에 저장된 1개의 선분데이타를 도시하고, 제 73b 도는 이것에 대응하는 비트맵의 인쇄서식데이타를 도시한 것이다. 제 73b 도의 데이타는 인쇄되는 도트와 1대 1로 대응한 백화소의 배열을 메모리상에 준비해두고 테이블 TBL1로 정의된 선분에 대응하는 부분, 즉 제 73b 도에 사선으로 나타낸 장방형영역 S에 흑화소를 대입하는 것에 의해서 용이하게 얻을 수가 있다. 사선, 원호, 파선데이타에 대해서도 상기 선분의 경우와 마찬가지로 해서 인쇄서식데이타를 작성할 수가 있다. 또한, 문자데이타는 미리 별도로 준비된 문자폰트패턴을 직접 또는 필요에 따라서 확대축소등의 변형을 실시한 후 상기 백화소 배열위의 소정 위치에 복사하는 형태로 작성할 수가 있다.
한편, 제 74a 도, 제 74b 도는 스텝 391에서 명령시켄스형식으로 인쇄서식데이타를 생성하는 경우의 설명도이다. 제 74a 도는 테이블 TBL1에 저장된 1개의 선분데이타를 도시하고, 제 74b 도는 이것에 대응하는 선분을 그리기 위한 명령시켄스형식의 인쇄서식데이타를 도시한 것이다. 제 74b 도의 데이타는 테이블 TBL1의 각 항목의 순에 따라 소정의 명령시켄스를 발생하기 위한 규칙을 미리 스텝 391중에 정의해 두는 것에 의해 용이하게 얻을 수가 있다. 사선, 원호, 파선, 문자데이타에 대해서도 상기 선분의 경우와 마찬가지로 해서 작성할 수가 있다. 또한, 프린터(95)가 TBL1∼TBL5의 내용을 그대로의 도형 종별이나 정밀도로 출력할 수 없는 경우는 인쇄서식데이타에서 프린터에 맞춘 근사데이타를 얻기 위한 순서도 상기 인쇄서식데이타 생성스텝 39에 정의해 두는 것으로 된다.
제 75 도는 스텝 3에서 실행되는 문서작성루틴의 제 2의 실시예를 도시한 흐름도이다. 본 실시예에서는 상술한 인쇄서식데이타 생성스텝 39에 앞서, 먼저 테이블 TBL1∼TBL5에 저장된 문서서식데이타를 콘솔(91)에 표시하고(스텝 31), 오퍼레이터의 지시에 의해 상기 서식데이타를 편집, 즉 데이타의 추가, 갱신, 삭제 등의 처리를 실행(스텝 32)하도록 하고 있다. 문서서식데이타의 콘솔(91)로의 표시(스텝 31)은, 예를들면 상기 인쇄서식데이타 생성스텝(39)와 마찬가지 방법으로 인쇄서식데이타를 콘솔(91)의 비트맵메모리로 전개하는 것에 의해 실현할 수 있다. 스텝 32에서 실행하는 편집처리는 제 37 도에서 설명한 후 처리스텝 29에서의 선의 수정스텝 291 및 문자의 수정스텝 292와 마찬가지로 워드프로세서나 CAD 시스템에서 널리 알려진 기술을 적용할 수 있으므로 여기서는 설명을 생략한다.
상기 실시예에 의하면 표시된 문서 EX1에 대해서 편집을 가하여, 예를들면 제 76 도에 도시한 바와 같이 배치변경된 문서 EX10의 인쇄서식데이타를 생성할 수도 있다. 또, 상기 제 2의 실시예에 의하면, 예를들면 제 77 도에 도시한 바와 같은 문서 EX11을 작성하여 그 인쇄서식데이타를 생성할 수도 있다. 이 경우 문서의 내용데이타는 서식으로서 인쇄되어 있다. 인쇄만을 목적으로 하는 경우에는 서식데이타와 내용데이타를 구별할 필요없이 이와 같은 이용방법이 가능하다. 상기 처리에 의해 최종적으로 얻어지는 인쇄서식데이타는 상술한 제 1의 실시예와 마찬가지로 출력문서저장영역(984)에 등록된다.
이상 기술한 2개의 실시예는 문서서식인식스텝 2에서의 물리구조인식결과를 이용하는 것을 전체로 해서 설명했지만 논리구조인식결과의 일부인 테이블 TBL7, 즉 행자리수 정규화 스텝 221의 결과의 정보를 기본으로 같은 처리를 실행할 수도 있다. 이 경우의 처리는 이상의 실시예에서 문자로드를 취급하는 처리와 동일한 방법으로 실현할 수 있다. 이때 인쇄되는 서식데이타는 기하학적으로 반드시 입력한 문서의 서식과는 일치하지 않지만 문자나 괘선의 요소가 모두 격자형으로 배열되어 있으므로 상기 문서서식편집처리 22가 오퍼레이터에 있어서는 매우 용이하게 된다.
제 78 도는 스텝 3에서 실행되는 문서작성루틴의 제 3의 실시예를 도시한 흐름도이다. 이 실시예에서는 먼저 스텝 33에서 상기한 문서서식인식결과를 이용해서 이것에 적합한 문서내용데이타를 작성하여 문서내용저장영역(983)에 저장한다. 문서내용데이타는, 예를들면 테이블 TBL5와 마찬가지의 형식으로 저장할 수가 있다. 다음에 스텝 34에서 앞서의 실시예에서의 문서서식데이타와 마찬가지로 해서 출력용의 데이타로 변환하여 출력문서저장영역(984)에 저장한다.
제 79 도는 문서내용데이타 작성스텝 33의 제 1의 실시예를 도시한 흐름도이다. 스텝 31에서는 상기 제 2의 실시예와 마찬가지로 해서 문서의 서식데이타를 콘솔(91)에 표시한다. 스텝 331에서는 오퍼레이터가 콘솔(91)에서 입력한 키정보를 리드한다. 키정보로서는 예를들면 커어서이동, 문서에 기입해야 할 내용데이타, 모든 기능을 지시하는 명령 등이 포함된다. 이 정보가 종료명령 이외일 때는 스텝 332에서 입력된 키정보에 따라 문서의 내용데이타의 입력처리를 실행한다. 상기 입력처리에서는, 예를들면 커어서위치에 지정한 문자 또는 문자열을 새로 정의하는 처리 이외에 그후 이들의 입력데이타를 변경, 삭제하는 처리등의 처리가 가능하다. 상기 입력처리에 의해 문서내용저장영역(983)에, 예를들면 문자테이블 TBL5와 같은 형식의 내용데이타가 새로 정의된다.
상기 문서내용데이타 작성스텝 33에 의하면, 예를들어 문서서식 EX1, EX10 또는 제 80 도에 도시한 서식 EX12를 기본으로 해서 각각 발행문서 EX2, EX11 및 제 81 도에 도시한 EX13과 같은 내용데이타를 작성할 수가 있다.
제 82 도는 스텝 33에서 실행되는 문서내용데이타 작성루틴의 제 2의 실시예를 도시한 흐름도이다. 스텝 333에서는 해당 문서서식중 임의의 입출력필드를 선택한다. 상기 선택은 자동적으로 실행해도 되고, 오퍼레이터의 지시로 실행해도 된다. 스텝 334에서는 상기 선택된 입출력필드에 대응하는 내용데이타를 파일 등에서 검색한다. 이 처리는 선택된 입출력필드가 속하는 유니트의 명칭에 따라 대응하는 파일을 자동적으로 검색할 수도 있고, 오퍼레이터의 지시로 실행해도 된다. 상기 검색결과 입출력필드에 대응하는 데이타가 존재하는 경우에는 스텝 332에서 상기 데이타를 상기 입출력필드에 입력한다. 즉, 제 79 도의 입력처리 332와 마찬가지로 해서 문서내용저장영역(983)에, 예를들면 문자테이블 TBL5와 같은 형식과 내용데이타를 새로 정의 한다.
상기 제 2의 실시예에 의한 처리의 실시예를 제 80 도에 도시한 문서서식 EX12를 예로 해서 설명한다. 또한, 스텝 334에서 검색하는 파일은 예를들면 제 83 도에 도시한 바와 같은 구성으로 한다. 본 파일은 파일전체의 관리정보 F1과 제명파일 F2, 성명파일 F3, 요지파일 F4, 본문파일 F5로 구성된다.
먼저, 서식 EX12의 제명에 관한 입출력필드가 자동적으로 선택되면 이것에 대응하는 데이타가 제명파일 F2에서 리드되고, 문서 EX13에 나타낸 바와 같이 입출력필드와 대응하는 위치에 내용데이타로서 정의된다. 이하 마찬가지로 해서 성명, 요지의 입출력필드의 내용을 정의할 수가 있다. 상기 실시예에 의하면 EX12와 같은 서식데이타를 화상입력하는 것만으로 기본으로 되는 파일에서 자동적으로 그 내용데이타를 생성하여 EX13과 같은 문서를 용이하게 작성할 수가 있다.
제 84 도는 스텝 33에서 실행되는 문서내용데이타 작성루틴의 제 3의 실시예이다. 본 실시예에서는 문서작성에 제 51 도와 제 55 도에서 설명한 스텝 224의 필드속성인식결과를 사용한다. 최초의 스텝 31에서는 문서의 서식을 콘솔(91)에 표시한다. 다음의 스텝 333에서는 해당 문서의 입출력필드중 처리가 끝난 플래그가 부가되어 있지 않은 필드를 1개 선택한다. 처리가 끝난 플래그는 각 필드에 대해서 1개로 되는 배열이다. 선택한 입출력필드의 속성이 함수입력속성일 때는 스텝 335에서 함수의 계산을 실행하여 이것을 내용데이타로서 새로 정의함과 동시에 처리가 끝난 플래그를 부가한다. 선택한 입출력필드의 속성이 파일입력속성일 때는 먼저 해당 필드의 파일을 검색하기 위해 필요한 파라미터, 즉 테이블 TBL11의 TM1∼TM(DN-1)이 모두 입력이 끝났는가 아닌가를 확인한다. 입력이 끝난 경우에는 스텝 334에서 파일에서 내용데이타를 검색하고, 이것을 새로운 내용데이타로서 정의함과 동시에 처리가 끝난 플래그를 부가한다. 선택한 입출력필드의 속성이 계산입력속성일 때는 먼저 해당 필드의 계산식을 실행하기 위해 필요한 파라미터, 즉 테이블 TBL12의 OP1∼OP(N-1)이 모두 입력이 끝났는가 아닌가를 확인한다. 입력이 끝난 경우에는 스텝 336에서 대응하는 계산식을 실행하고, 그 결과를 새로운 내용데이타로서 정의함과 동시에 처리가 끝난 플래그를 부가한다. 선택한 입출력필드의 속성이 키입력속성일 때는 스텝 331에서 키보드에서의 데이타입력처리를 실행하여 결과를 내용데이타로서 새로 정의함과 동시에 처리가 끝난 플래그를 부가한다. 1회의 입출력필드의 처러가 종료하면 스텝 31에서 서식 및 갱신된 내용데이타를 콘솔(91)에 표시한다. 이하 상기 처리가 끝난 플래그가 모든 필드에 부가되기까지 상기 처리를 반복한다.
제 85 도는 스텝 33에서 실행되는 문서내용데이타 작성루틴의 제 4의 실시예이다. 본 실시예에서는 문서작성에 스텝 23의 문서작성프로그램 생성처리의 결과를 사용한다. 스텝 337에서는 스텝 23에서 구한 문서작성프로그램의 편집을 실행한다. 본 처리에 의해 오퍼레이터는 인식에러를 수정하거나 필요에 따라서 인식한 프로그램을 확장할 수가 있다. 스텝 338에서는 상기 문서처리프로그램을 기동한다. 이하 이 프로그램의 제어하에서 문서가 작성되므로 본 프로그램은 그 종료를 감시하면 된다.
제 86 도는 상술한 본 발명에 의한 문서처리시스템의 전형적인 오퍼레이터 조작순서와 표시화면의 천이를 도시한 것이다.
오퍼레이터가 데이타 기입을 위한 공란을 포함하는 표가 인쇄되어 있는 문서의 원지(401)을 화상입력장치(93)에서 입력하면(스텝 402), 문서화상의 물리구조가 인식되고, 인식결과를 나타내는 화면(403)이 콘솔(91)의 표시화면에 출력된다.
여기서 표시내용의 수정이나 데이타추가의 필요가 있으면 오퍼레이터는 표시화면상에 커어서조작을 하면서 대화처리에 의한 문자나 괘선의 추가, 수정을 실행하고, 표시화면에 문제가 없으면 다음의 스텝으로 진행하기 위한 속행키를 누른다(스텝 404). 속행키가 눌려지면 논리구조의 인식처리가 실행되고, 지식베이스를 참조하면서 입출력필드의 위치, 크기, 속성 등이 결정되어 인식결과가 표시화면에 출력된다. 상기 표시화면은 예를들면(405)로 나타낸 바와 같이 인식한 입출력필드의 부분을 리버스 표시한 형태로 출력한다. 오퍼레이터는 표시화면(405)를 확인하고, 입출력필드의 위치, 크기, 속성 등에 대해서 수정할 부분이 있으면 대화처리에 의해 수정을 실시하고, 문제가 없으면 문서작성 프로그램자동생성스텝 407로 진행하기 위해 속행키를 누른다(스텝 406). 또한 스텝 406에서는 필요에 따라서 입출력필드의 위치를 미소조정하기 위해 시행적인 인쇄를 실행해도 된다.
프로그램자동생성스텝 407에서는 입출력필드의 성질, 위치, 지식베이스를 이용해서 각 입출력필드마다 처리논리가 생성된다. 생성된 프로그램의 실행을 명령하면(스텝 408), 예를들면 커어서가 오퍼레이터가 데이타입력할 최초의 입출력필드에 위치하게 되고, 오퍼레이터의 데이타입력동작에 응답해서 다음의 입출력필드로의 커어서의 자동시프트, 함수계산이나 파일검색 등에 의한 데이타의 자동입력 등의 동작이 실행되어 표시화면상의 전표서식의 입출력필드에 데이타가 차례로 매입된다(스텝 409). 오퍼레이터가 1매의 문서(전표)에 대해서의 데이타입력을 종료하여 문서의 인쇄, 발행을 명령하면 공란부가 입력데이타로 매입된 문서(410)이 인쇄된다. 또한, 제 86 도에서는 화면(410)과 (409)가 같은 문서형식으로 되어 있지만 실제의 응용에서는 데이타입력화면(409)는 행자리수의 정규화에 의해 데이타입력에 적합한 서식으로 변환한 것으로 하고, 입력데이타와 인쇄위치와 크기를 인식결과로서 기억하고 있는 입출력필드에 따라 미소조정하는 것에 의해 화면(403)과 동일 서식의 인쇄(410)을 얻도록 하면 된다.
제 87 도는 제 86 도의 동작순서와 대응하는 주된 프로그램 모듈의 실행순서를 도시한 것이다. 여기서 데이타파일(530)과 (550)은 제 1 도의 메모리영역(982), 프로그램파일(560)은 메모리영역(985), 데이타파일(570)은 메모리영역(983), 지식베이스(540)은 메모리영역(972)에 각각 해당한다. 또, 스텝 500은 제 6 도의 화상입력루틴(1), 스텝 501, 503, 505는 제 67 도의 루틴 21, 22, 23에 각각 대응하고 있다.
이하 상기 제 87 도의 흐름도에 나타낸 주요한 스텝에 관해서 본 발명의 다른 실시예와 변형예를 설명한다.
제 88 도는 논리구조인식스텝 503의 다른 실시예를 도시한 상세한 흐름도이다.
문서의 논리구조를 인식하기 위해서는 4변이 직선으로 둘러싸인 장방형영역, 또는 제 48a 도에 도시한 표의 좌측 또는 우측의 셀에 있는 것과 같이 3번을 직선으로 둘러싸인 셀로서 추출한다(스텝 5031). 셀을 추출하기 위해서는 그것이 앞서 스텝 5030에서 표형상의 정규화, 즉 직선의 수정을 실행한다. 표형상의 정규화는 제 48 도와 같이 직선을 보정하거나 제 89a 도, 제 89b 도에 도시한 바와 같이 입력화상에 포함되는 장방형의 원호형의 코너를 직각의 코너로 보정하는 것 이외에, 예를들면 제 89c 도에 도시한 바와 같이 직선형으로 잘려진 장방형의 코너를 직각형의 코너로 되돌리는 것, 제 89d 도나 제 89e 도에 도시한 바와 같이 접속이 불완전한 2개의 직선중 한쪽을 신장해서 직교시키는 것, 그리고 평행한 2개의 직선중 한쪽을 수정해서 연속된 1개의 직선으로 하는 것 등을 포함한다.
셀영역의 추출이 종료되면 입출력필드를 추출(스텝 5033)하기 위해 셀 내 또는 셀 밖에 있는 문자열을 인식하여 한덩어리의 의미있는 문자열을 추출한다(스텝 5032). 문자열의 추출은 행방향 또는 열방향으로 소정의 허용오차범위내에서 또는 소정의 위치관계에서 불규칙한 문자군을 동일한 행 또는 열에 있어야 할 문자군으로 간주해서 이들 중에서, 예를들면 다음과 같이 해서 발견항목으로 되는 문자열을 추출한다.
문자열의 추출에는 문자간의 간격의 관계와 지식베이스에 미리 준비해 있는 용어 및 단어의 조합을 이용한다.
예를들면, 제 90a 도에 도시한 바와 같이 1개의 행에 문자간격 d1∼d3이 균일이 아닌 여러개의 문자C1∼C4가 포함되는 경우 문자간격이 변화한 위치 d2를 경계로 해서 문자 C1과 C2로 되는 주소를 의미하는 단어와 문자 C3과 문자 C4로 되는 이름을 의미하는 단어가 추출된다. 이것과 마찬가지로 제 90b 도의 예에서는 d2로 나타내는 위치를 경계로 해서 C1과 C2로 되는 전화를 의미하는 단어와 C3∼C6으로 되는 시의 국번을 의미하는 단어가 추출된다.
상기 룰에 따르면 제 90c 도에서는 d3으로 나타내는 위치를 경계로 해서 C1∼C3으로 되는 제 1의 문자열과 C4-C6으로 되는 제 2의 문자열이 추출된다. 그러나 제 90c 도에서는 C1과 C2로 상품을 의미하는 단어, C3과 C4로 값을 의미하는 단어, C5와 C6으로 매상을 의미하는 단어를 구성하고 있으며, 이들을 상기 제 1, 제 2의 문자열로 분할하면 각 문자열은 의미가 불명하게 된다.
그래서 문자간격에 따라서 문자열을 추출한 경우 추출된 각 문자열을 지식베이스(540)에 기억되어 있는 용어 또는 단어와 조합한다. 만일 일치하는 용어 또는 단어가 발견되지 않는 경우는 좁은 문자 간격을 갖는 2개의 문자 C3과 C4를 결합해서 1개의 단어로서 추출하고, 그 전후에 있는 C1과 C2, C5와 C6을 각각 문자열로서 추출하여 재차 지식베이스와 조합한다.
행방향(또는 열방향)에서의 문자열의 추출이 종료한 후 여러행(또는 여러열)을 통합해서 1개의 의미를 갖는 문자열로 되는 것이 있으면 그것을 추출한다.
예를들면, 제 91 도에서 문자 C1∼C3으로 되는 거래선을 의미하는 단어와 문자 C4∼C6으로 코드를 의미하는 단어는 본래 동일한 행에 1개의 문자열로서 기술되어야 하는 것이다. 본 발명에서는, 예를들면 2개의 문자열의 행간격 D1이 표준문자 CS의 세로크기 α이내에 있고, 각 문자열의 선두와 최후의 행방향 위치어긋남 d1, d2가 각각 상기 표준문자의 가로크기 β이내에 있는 경우 이들을 통합해서 1개의 문자열로 한다.
종서로 된 여러열의 문자열이 존재하는 경우도 종방향 및 횡방향의 문자간격의 관계에서 상기와 마찬가지로 해서 1개의 문자열에 통합해야 하는가 아닌가를 판단할 수 있다. 통합해야 하는가 아닌가의 판단은 최초의 문자열의 최후 또는 다음의 문자열의 최초에 소유격을 나타내는 조사 또는 전치사 또는 문자열을 접속하는 접속사가 있는가 없는가를 조사하는 것에 의해서도 실행할 수 있다. 이들의 특정한 조사, 전치사, 접속사가 존재하는 경우에는 문자열의 간격에 관계없이 통합처리를 실행해도 된다.
문자열의 추출처리후에 입출력필드의 설정을 실행한다(스텝5033). 문서중에 포함되는 셀에는, 예를 들면 제 92a∼제 92c 도에 도시한 바와 같이 항목명(표제)의 문자열을 포함하고 있어 데이타필드형성의 여지가 없는 항목셀 CL1과 셀 전체가 공란(예를 들면 이나 Kg과 같은 단위 기호를 수반하는 경우를 포함)으로 되어 있는 입출력필드셀 CL-2와 셀내에 표제로 되는 문자열과 입출력필드를 포함하는 항목을 갖는 필드셀CL-3이 있다.
스텝 5033에서는 제 93 도에 도시한 바와 같이 먼저 셀의 분류(스텝 5033A)를 실행한 후 입출력필드셀과 항목셀의 결합을 실행하고(스텝 5033B), 다음에 항목을 갖는 셀내에 입출력필드의 설정을 실행한다(스텝 5033C). 만일 항목셀과 결합하지 않은 입출력필드셀에 있으면 그 입출력피드셀의 표제로 되는 문자열을 찾아서 그들을 결합시킨다(스텝 5033D). 최후에 셀 이외의 영역에 있는 특정한 문자 또는 단어(예를 들면 제 3 도에 도시한 날짜(102)의 앞 또는 뒤에 입출력필드를 설정한다(스텝 5033E).
항목셀 CL-1과 입출력필드셀 CL-2의 결합은 제 94a 도에 도시한 바와 같이 횡방향 또는 제 94b 도에 도시한 바와 같이 종방향에 인접하는 셀 사이에서 실행된다. 또, 입출력필드셀 CL-2가 제 94c 도에 도시한 바와 같이 코드데이타 또는 숫자 기입을 위한 문자단위로 분할된 여러개의 서브영역으로 되어 있는 경우, 이들 서브영역 전체가 하나의 항목셀 CL-1에 결합된다. 하나의 항목셀의 아래 또는 우측에 여러개의 입출력셀이 존재하는 경우 상기 항목셀은 이들 여러개의 입출력필드셀과 결합된다. 단, 예를 들면 제 94d 도에 도시한 바와 같이 하나의 항목셀 CL-2의 우측에 위치하는 입출력셀 CL-23이 종방향으로 다른 항목셀 CL-13을 갖는 경우, 결합해야 할 입출력필드셀의 수가 적은 쪽의 항목셀 CL-13을 우선시키고, CL-23은 CL-13에, CL-12는 CL-22에만 결합한다.
상기 규칙은 예를 들면 제 94e 도에 도시한 바와 같은 여러개의 입출력필드셀이 매트릭스형으로 배열되는 표의 경우에는 적용하지 않는다.
항목을 갖는 입출력필드셀 CL-3과 항목셀 CL-1의 식별을 셀내에 잔류된 공백영역의 위치 또는 셀내에 있는 문자열의 내용에 따라서 실행한다. 예를 들면, 제 95a 도와 같이 문자열의 우측 또는 제 95b 도와 같이 문자열의 하측에 공백영역 F가 남겨져 있는 경우, 이들의 셀은 항목을 갖는 입출력필드셀 CL-3으로 판단하여 각 공백 영역 F에 입출력필드를 설정한다. 제 95c 도와 같이 셀을 2행 2열의 서브영역으로 분할했을 때 문자열이 3이상의 서브영역에 걸쳐 있는 경우는 항목셀 CL-1로 판단한다.
항목을 갖는 입출력필드셀 CL-3에 포함되는 문자열이 지식베이스(540)에 미리 등록하고 있는 용어 또는 상용단어(기호를 포함)와 일치하는 경우 지식베이스에 있는 필드서식정정보에 따른 형태로 입출력필드를 설정한다. 이것에 의해 예를 들면 제 95a 도, 제 96b 도에 도시한 바와 같이 " "기호의 경우는 입출력필드 F1 DL, "TEL"의 경우는 입출력필드 F1∼F3이 성정된다. 마찬가지로 문자열이 "年", "月", "日"에서 문자 사이에 스페이스가 남아 있는 경우는 각 문자의 좌측에 숫자기입을 위한 필드가 각각 설정된다. 지식베이스에 참조는 스텝 5033E에서 실행되는 셀영역 밖에서의 입출력필드의 설정시에도 마찬가지로 실행된다.
대응하는 항목셀이 발견되지 않은 입출력필드셀에 대해서는 예를 들면 제 97 도에 도시한 바와 같이 입출력셀 CL-2의 주위에 상하로 α, 좌우로 β의 탐색범위를 설정하고, 이 범위내에서 항목명으로 되는 문자열 CR을 발견한다.
이와 같이 해서 구해진 각 입출력필드에 관한 인식결과를 나타내는 정보는 파일(550)에 저장된다(스텝 5034). 상기 파일(550)에는 예를 들면 제 98 도에 도시된 바와 같이 각 입출력 필드의 기준점(예를 들면 좌상코너)의 위치좌표(551), 입출력필드의 길이(552)와 폭(553), 입출력필드에 기술할 수 있는 문자수(554), 입출력필드에 부여된 명칭(555), 입출력필드의 속성(556)으로 되는 기록이 테이블 TBL20의 형태로 기억된다. 문자수(554)는 표준크기의 문자를 표준문자 간격으로 배치한 경우에 얻어지는 수치를 나타내고, 제94c 도와 같이 입출력필드가 서브영역으로 분할되어 있는 경우는 그 서브영역의 수에 일치한다. 또한, 이 문자수는 오퍼레이터가 나중에 수정할 수 있고, 만일 수정에 의해 문자수가 증가한 경우 인쇄문자는 표준크기보다 작게 된다. 필드명칭(555)는 그 입출력필드와 결합되는 항목셀에 포함된 문자열, 항목을 갖는 입출력필드에 포함되어 있는 항목명 또는 셀밖의 영역에서 발견된 항목명이다. 필드속성(556)은 상기 필드명칭을 키로 해서 지식베이스(540)에서 리드된 것으로서, 예를 들면 숫자, 한자등의 문자구분을 나타낸다.
지식베이스(540)은 제 99 도에 도시한 바와 같이 용어영역(540a)와 상용단어영역(540b)로 되어 있다. 용어용역(540a)는 업무문서중에서 일반적으로 사용되는 숙어 또는 용어를 키워드(541)로 한 제 100 도에 도시하는 기록이 저장되어 있다. 한편, 상용단어영역(540B)는 용어의 구성요소 되는 단어중, 용어의 성질을 나타내는 기본적인 1개 또는 여러개의 단어를 키워드로 하는 용어기록과 마찬가지인 제 100 도에 도시한 기록이 저장되어 있다.
제 100 도에서 (541)은 지식베이스의 검색키로 되고, 항목명을 나타내는 용어 또는 상용단어, (542)는 상기 용어 또는 상용단어의 동의어, (543)은 속성정보, (544)는 각 용어 또는 단어의 성질을 나타내는 정보를 나타낸다. 예를 들면, "매입액", "매상액", "총매상액", "잔고"등의 용어 또는 단어에 대해서는 성질정보(544)로서 "금액"을 나타내는 단어 또는 코드가 설정된다. (545)는 용어 또는 단어(541)이 다른 데이타파일의 검색키로 되는가 아닌가를 나타내는 플래그, (546)은 용어 또는 단어(541)이 콘솔에서 입력되어야 할 것인가 아닌가를 나타내는 키입력 플래그, (547)은 예를 들면 수치데이타의 입력 에러를 판정하기 위한 허용수치범위등의 데이타검사의 룰, (548)은 그 항목에 관한 데이타처리룰을 나타낸다. 어떤 필드 명칭에 관한 속성정보(556)을 지식베이스(540)에서 갖고 오는 경우 상기 필드명칭을 검색키로서 먼저 용어영역(540A)에서 검색을 실행하고, 만일 해당하는 록이 발견되지 않는 경우는 상용단어영역(540B)에 검색을 실행한다. 만일 필드명칭과 일치하는 키항목 또는 키워드가 상기 2개의 영역에서 발견되지 않는 경우는 상용단어영역(540B)에 등록되어 있는 각 기본단어가 상기 필드명칭중에 포함되어 있는가 아닌가를 순차로 검사하여 필드명칭으로 사용되고 있는 단어중 1개를 검색결과(대표단어)로 한다. 예를 들면 일본어문서의 경우 필드명칭의 어미에 있는 단어가 상기 필드명칭의 성질을 가장 잘 나타내고 있으므로 만일 상용단어영역에 등록되어 있는 여러개의 단어가 필드명칭의 일부와 일치하고 있는 경우 어미 가까이에 있고 가능한한 문자수가 많은 단어를 검색결과로 한다. 일본어 이외의 문서인 경우 사용되는 언어의 체계에 따른 선택룰을 채용하면 된다. 이상의 검색처리에서 필드명칭과 일치하는 용어 또는 단어가 발견되지 않은 경우 속성정보(556)으로서 디폴트값을 설정한다.
다음에 제 87 도의 스텝 505에서 실행되는 문서작성용 프로그램의 자동생성루틴에 대해서 설명한다. 상술한 제 68 도의 실시예에서는 입출력필드를 순차로 선택하고, 제 70 도에 도시한 입출력필드처리부 생성루틴(235)에서 선택된 입출력필드의 속성에 따라서 프로그램부를 생성하였다. 그러나 프로그램의 자동생성은, 예를 들면 제 101 도에 도시한 바와 같이 같은 필드속성을 갖는 입출력필드 처리부를 종합해서 생성하도록 해도 된다.
제 101 도에서 스텝 5050은 프로그램 순서의 일반적인 부분 및 키입력필드로의 데이타 설정을 위한 프로그램 부분을 생성하기 위한 루틴이다. 키입력필드이 선택은 테이블 TBL20에 등록된 필드 명칭(555)를 검색키로서 지식베이스(540)을 액세스하여 키입력플래그(546)을 참조하는 것에 의해 실행된다. 문서작성시에 참조되는 데이타 파일의 명칭은 상기 스텝 5050에서 오퍼레이터에 의해 지정된다. 단, 지식베이스(540)에 항목명칭을 나타내는 각 용어 또는 단어(541)과 대응해서 미리 사용하는 데이타 파일 명칭이 등록되어 있는 경우는 오퍼레이터에 의한 데이타파일 명칭의 지정을 생략해서 필요한 데이타파일 명칭을 지식베이스에서 갖고 오도록 해도 된다.
제 101 도의 예에서는 스텝 5051에서 파일검색키로 되는 데이타가 입력된 키입력필드에 관해서 데이타파일을 액세스하기 위한 처리논리를 조립하고, 다음의 조립 5052에서 계산결과가 입력되는 입출력필드(계산데이타입력 필드)의 처리논리를 조립하고, 스텝 5053에서 예를 들면 동일 파일에 대해서 반복되는 용장의 파일 오픈처리나 파일 클로스처리의 횟수를 감소하는 등의 생성프로그램을 최적화하기 위한 후처리를 실행한다.
제 102 도는 파일데이타 입력필드의 처리부 생성루틴(5051)의 상세한 것을 도시한 것이다. 이 루틴에서는 먼저 스텝 6000에서 키입력필드중에서 파일검색키로 되는 데이타가 입력되는 모든 것을 선택한다. 이 선택은 제 98 도에 도시한 테이블 TBL20에 등록되어 있는 필드명칭(555)를 키로 해서 지식베이스(540)을 액세스하고, 상기 필드명칭과 일치하는 용어 또는 단어(541)을 갖는 기록의 검색키플래그(545)와 키입력플래그(546)을 참조하는 것에 의해 실행된다. 이 지식베이스와 액세스는 스텝 503에서 필드속성(556)을 구하기 위해 실행한 것과 마찬가지로해서 실행된다. 만일 스텝 503에서 상기 필드속성과 함께 미리 검색키플래그(545)와 키입력플래그(546)을 지식베이스에서 리드해두고, 테이블 TBL20에 등록해두면 스텝 6000에서는 단지 TBL20을 참조하는 것만으로 파일검색키로 되는 데이타를 포함한 필드인가 아닌가를 판단할 수 있다.
스텝 6100에서는 이와 같이 해서 선택된 파일검색키로 되는 키입력데이타가 설정되는 필드의 필드명칭에 따라서 상기 키입력데이타를 포함하는 기록이 저장되어 있는 파일의 명칭과 이 파일중에서 사용되는 상기 검색키의 실제의 항목명칭을, 예를 들면 제 103 도의 흐름도에 따라 검색한다. 제 103 도에서 먼저 오퍼레이터에 의해 지정되어 있는 데이타파일중의 모든 항목명칭과 상기 검색키입력필드의 명칭을 조합하여 필드명칭과 동일한 명칭의 데이타항목이 존재하는 데이타파일을 발견한다. 만일 1개의 데이타 파일이 특정된 경우는 판정스텝 6104에서 스텝 6140으로 진행하여 상기 특정된 파일에 의해 상기 검색키와 대응하는 파일명칭과 항목명칭이 결정된다.
파일을 결정할 수 없는 경우, 즉 검색키입력필드명칭과 일치하는 항목이 어느 데이타파일에도 없는 경우 필드명칭을 검색키로 해서 지식베이스(540)을 액세스하여 상기 필드명칭의 동의어(542)를 구하고, 다음에 각 데이타 파일내에서 상기 동의어와 일치하는 항목명칭을 검색한다(스텝 6106∼6110). 이것에 의해 파일이 특정된 경우(스텝 6112)는 스텝 6140으로 진행하고, 그렇지 않으면 스텝 6114에서 상기 필드명칭중에 포함되는 대표단어를 찾아낸다. 대표단어는 지식베이스(540)에 있는 상용단어(541)과 필드명칭을 조합해서 구해진 상기 필드명칭의 성질을 가장 잘 나타내는 단어이다. 이 대표단어를 키로 해서 데이타파일을 액세스하고, 대표단어와 일치하는 명칭의 항목을 갖는 데이타파일을 찾아낸다(스텝 6116). 상기 파일검색(명칭조합)에서도 데이타파일이 발견되지 않는 경우(스텝 6118)는 스텝 6160으로 진행하여 상기 검색키와 대응시켜야할 데이타파일명칭과 항목명칭으로서 특정의 코드(예를 들면 "?"마크)를 설정해둔다.
대표단어와 일치한 항목을 갖는 파일의 수가 1개뿐인 경우(스텝 6120)는 스텝 6140으로 진행하고, 후보로 되는 파일이 여러개인 경우는 스텝 6122에서 필드명칭에 포함되는 다른 단어를 지식베이스중의 상용단어를 사용해서 추출한다. 다음에 스텝 6124에서 상기 추출된 단어와 상기 대표단어에 일치한 각 항목명칭을 비교하여 필드명칭에 가장 유사한 항목명칭을 찾아낸다. 상기 비교에 의해 파일을 특정할 수 있는 경우(스텝 6126)는 스텝 6140으로 진행하고, 그렇지 않은 경우는 상기 추출된 단어의 동의어를 지식베이스(540)에서 구비하여 이 동의어와 상기 항목명칭을 비교해서 파일명칭에 가장 유사한 항목을 찾아낸다(스텝 6128∼6130). 이상의 처리에 의해 데이타파일을 특정할 수 없으면(스텝 6132) 스텝 6150으로 진행하고, 후보파일중에서 우선도가 높은 것(예를 들면, 오퍼레이터가 실행한 파일지정순번이 빠른것)을 선택하여 이 파일의 명칭과 그것에 포함되는 항목 명칭을 상기 검색키에 대응시킨다.
이와 같이 해서 1개의 검색키입력필드에 대응하는 데이타파일명칭과 항목명칭이 결정되면 제 102 도의 스텝 6200에서 상기 검색키에 의해 데이타파일에서 리드한 데이타기록중의 특정한 항목데이타를 파일데이타 입력필드에 설정하기 위한 프로그램부를 생성한다.
제 104 도는 스텝 6200에서 생성되는 프로그램부의 기본적인 구성을 도시한 것이다. 생성되는 프로그램부는 데이타파일을 오픈하기 위한 스텝 6202, 검색키입력필드에 설정되어 있는 키입력데이타를 검색키로서 상기 데이타파일에서 1개의 데이타기록을 리드하는 스텝 6204, 상기 데이타파일에 검색키와 대응하는 데이타기록이 존재하고 있었던가 아닌가를 판정하는 스텝 6026, 만일 데이타기록이 없었던 경우에 에러메시지를 출력하는 스텝 6208, 데이타가 재입력되는 것을 기다려서 데이타가 재입력 되었을 때 스텝 6204로 되돌아가기 위한 스텝 6210, 데이타기록이 리드된 경우에 이 기록을 워크메모리영역에 일시적으로 저장해두기 위한 스텝 6220 및 상기 파일을 클로즈하기 위한 스텝 6222로 이루어진다.
제 101 도에서의 연산데이타 입력필드의 처리부생성루틴(502)에서는 합계 데이타가 입력되는 필드를 제외하고 기본적으로는 지식베이스(540)에 정의되어 있는 데이타검사를 위한 룰(547) 또는 데이타처리를(548)에 따라서 각 입출력필드의 처리프로그램을 작성한다. 키입력필드 이외에서 지식베이스에 상기 어느 룰도 정의되어 있지 않는 입출력필드에 대해서는, 스텝 5051에서 생성된 데이타기록중에서 해당하는 항목을 선택해서 자동입력 한다.
지식베이스(540)으로 정의되는 데이타처리룰(548)에는 날짜나 시각을 표시하기 위한 룰과 항목명칭을 사용하는 연산룰과 성질을 사용하는 연산룰이 있다. 날짜, 시각의 룰은 달력상에서 사용하는 날짜데이타나 시각에 관한 데이타를 자동적으로 구하기 위한 룰을 정의한다. 항목명칭을 사용하는 연산룰은 1개의 입출력필드에 설정할 데이타를 구체적인 항목명칭을 갖는 데이타간의 연산식에 의해 정의한 것이고, 성질을 사용하는 연산룰은 1개의 입출력필드에 설정할 데이타를 특정한 성질을 갖는 항목간의 연산식에 의해 정의한 것이다. 루틴(502)에서는 이들중 어느 하나의 룰이 지식베이스에서 정의되고 있는 항목명칭을 갖는 입출력필드에 대해서 룰의 내용에 다른 연산을 실행해서 연산결과를 상기 입출력필드에 자동 입력하기 위한 프로그램순서를 조절한다. "合計"의 필드명칭을 갖는 필드에 대해서는 그 입출력필드에 대해서는 그 입출력필드이 위방향 또는 좌측방향에 위치하고 서로 같은 성질을 갖는 항목의 합계의 값을 산출하여 "合計"의 필드에 설정하기 위한 프로그램 순서를 생성한다.
이와 같이 해서 생성된 프로그램을 싫어하면 오퍼레이터가 키입력한 데이타에 따라서 파일데이타 입출력필드나 연산데이타 입출력필드에 데이타가 설정되고, 이들 데이타는 입출력필드의 명칭에 대응해서, 예를들면 제 105 도와 같이 메모리영역(570)에 저장된다(제 105 도는 제 86 도의 입력화상(409)와 대응해서 도시하고 있다). 오퍼레이터가 데이타입력후 문서의 발행을 지시하는 명령을 입력하면 데이타파일(570)과 제 98 도에서 도시하는 인식결과를 기억한 테이블 TBL20에 따라서 문서(410)에 편집되어 프린트 출력된다. 또한 메모리영역(570)의 내용을, 예를 들면 고객관리파일이나 제고관리파일등 다른 데이타파일에 반영시키는 것은 용이하다.
제 106 도는 본 발명에 의한 데이타처리 시스템을 1대의 데이타처리장치(92)와 여러대의 표시단말장치(91A), (91B)에 의해 구성된 예이다.
데이타처리장치(92)는 문서구조인식기능(921), 프로그램자동생성기능(922) 및 프로그램실행기능(923)을 마련하고 있다. 단말장치(91A), (92B)는 데이타전송로(40A), (4OB)에 의해 각각 데이타처리장치(92)에 접속되어 있고, 데이타입력 또는 수정을 실행하기 위한 디스플레이와 키보드를 갖고 있다. 또, 화상입력장치(93)은 단말장치(91A)에 접속되어 있고, 입력된 화상데이타는 단말장치(91A) 및 데이타전송로(40A)를 거쳐서 데이타 처리장치(92)에 전달되도록 되어 있다. 또, 프린트출력을 실행하는 출력장치(95)는 단말장치(91B)에 접속되어 있고, 데이타처리장치(92)에서의 출력데이타는 데이타전송로(40B) 및 단말장치(91B)를 거쳐서 출력되도록 되어 있다.
이와 같은 구성으로 하는 것에 의해 1대의 단말장치에서 개발작업을 실행하고, 다른쪽의 단말장치에서 처리의 실행이나 변경작업을 실행한다는 분할사용이 가능하게 된다. 또, 데이타전송로(40A), (40B)의 거리를 길게하는 것에 의해 떨어진 장소에서의 개발, 실행, 변경이 가능하게 된다.
상기 실시예에서는 1개의 데이타 프로세서(92)를 사용했지만 프로세서를 여러대로 하고 화상 입력루틴(1)∼문서 인쇄루틴(4)까지의 기능을 여러개의 데이타 프로세서로 분산시켜서 데이타처리를 실행시키게 해도 된다.
이상 기술한 바와 같이 본 발명에 의하면, 문서의 서식이 기재된 용지를 화상으로서 입력하는 것만으로 문서발생을 위한 서식정보(패선, 원호, 사선, 파선, 문자, 필드위치, 필드속성등)와 문서작성 프로그램을 자동적으로 정의할 수 있으므로, 새로운 문서 발행처리를 용이하게 할수 있다는 효과가 있다. 또, 화상으로서 입력된 서식정보를 도형 코드정보나 문자 코드정보로 자동적으로 변환할 수 있으므로 이 서식을 고화질로 표시 또는 인쇄할 수 있다.
Claims (28)
- 문자를 라이트해야할 적어도 하나의 빈필드를 포함하는 서식표시를 화면상에 생성하는 문서데이타 처리방법에 있어서, 원 서식화상에서 하나의 서식을 구성하는 여러개의 문자패턴과 여러개의 선패턴의 물리적인 배치를 인식하는 스텝, 상기 인식스텝에서 인식된 서식의 배치를 표시화면상에서의 문자의 입력조작에 따른 커어서 이동의 기본피치의 정수배에 대응하도록 수정된 빈필드를 포함하는 서식의 제 2의 배치로 변환하는 스텝, 상기 변환하는 스텝에서 얻은 제 2의 배치를 갖는 상기 서식표시를 표시화면상에 출력하는 스텝을 포함하고, 상기 서식표시의 빈필드에서 입력장치로 부터 입력된 문자열이 상기 커어서 피치에 따른 위치에 소정의 문자크기로 표시되는 것을 특징으로 하는 문서데이타 처리방법.
- 제 1 항에 있어서, 또 상기 인식하는 스텝에서 인식된 물리적인 배치의 문자 및 선패턴을 포함하는 서식표시를 표시화면상에 출력하는 스텝, 상기 표시화면상에 출력된 서식표시내에 포함된 문자 또는 선패턴의 일부를 사용자의 입력조작에 따라서 수정하는 스텝을 포함하고, 상기 변환하는 스텝은 상기 수정하는 스텝에서 수정된 문자 및 선패턴에 대해서 배치변환을 실행하는 것을 특징으로 하는 문서데이타 처리방법.
- 제 1 항에 있어서, 또 하나의 서식문서를 화상입력수단에 의해 화상데이타로 변환하는 스텝을 포함하고, 상기 인식하는 스텝은 상기 화상데이타를 상기 원 서식화상으로 해서 실행되는 것을 특징으로 하는 문서데이타 처리방법.
- 제 3 항에 있어서, 또 상기 화상입력수단으로 부터 공급된 화상데이타에 따라서 서식문서의 경사를 검출하고, 이 경사를 보정하는 스텝을 포함하고, 상기 인식하는 스텝을 상기 경사가 보정된 화상데이타를 상기 원서식화상으로 해서 실행되는 것을 특징으로 하는 문서데이타 처리방법.
- 제 1 항에 있어서, 상기 인식하는 스텝은 상기 원 서식화상내에 포함된 여러개의 문자패턴에서 인접하는 여러개의 문자로 구성된 적어도 하나의 문자열을 추출하는 스텝, 메모리내에 사전에 저장된 표준적인 단어군 또는 용어군을 상기 추출된 문자열과 비교하고, 상기 문자열을 상기 표준적인 단어 또는 용어중의 하나와 일치시키도록 상기 추출된 문자열의 일부를 자동적으로 수정하는 스텝을 포함하고, 상기 변환하는 스텝은 상기 수정된 문자 및 선패턴에 대해서 배치 변환을 실행하는 것을 특징으로 하는 문서데이타 처리방법.
- 서식문서를 작성하는 문서데이타 처리방법에 있어서, 원 문서화상에서 하나의 문서를 구성하는 문자 및 선패턴의 배치를 인식하고, 그 인식 결과를 문서의 물리 구조데이타로서 기억하는 스텝, 상기 인식하는 스텝에서 인식된 문자 및 선패턴의 배치를 표시하면 상에서의 문자 또는 수치데이타의 입력조작에 다른 커어서 이동의 기본피치의 정수배에 대응하도록 수정된 적어도 하나의 빈필드를 포함하는 서식의 제 2의 배치로 변환하고, 이 변환결과를 정규화된 문서데이타로서 기억하는 스텝, 상기 정규화된 문서데이타에서 생성된 제 2의 배치를 갖는 서식표시를 표시화면상에 출력하는 스텝, 상기 서식표시내의 상기 수정된 빈필드에 사용자에 의해 입력된 문자 또는 수치데이타를 표시하는 스텝, 상기 표시하는 스텝에서 사용자에 의해 입력된 문자 또는 수치데이타를 상기 문서의 물리 구조데이타와 조합하고, 이 조합된 결과를 프린터에 출력하는 스텝을 포함하고, 이것에 의해 데이타로 채워진 서식문서를 작성하는 것을 특징으로 하는 문서데이타 처리방법.
- 제 6 항에 있어서, 또 상기 인식하는 스텝에서 얻은 상기 물리 구조데이타에 대응하는 문자 및 선패턴을 포함하는 서식표시를 표시화면상에 출력하는 스텝, 상기 표시화면상에 출력된 서식표시내에 포함된 문자 또는 선패턴과 물리 구조데이타의 일부를 사용자의 키조작에 따라서 수정하는 스텝을 포함하고, 상기 변환하는 스텝은 상기 수정된 물리 구조데이타로 표시된 문자 및 선패턴에 대해서 배치변환을 실행하는 것을 특징으로 하는 문서데이타 처리방법.
- 제 6 항에 있어서, 또 하나의 서식문서를 화상입력수단에 의해 화상데이타로 변환하는 스텝을 포함하고, 상기 인식하는 스텝은 상기 화상데이타를 상기 원 문서화상으로 해서 실행되는 것을 특징으로 하는 문서데이타처리방법.
- 제 8 항에 있어서, 또 상기 화상입력수단으로 부터 공급된 화상데이타에 따라서 서식문서의 경사를 검출하고, 이 경사를 보정하는 스텝을 포함하고, 상기 인식하는 스텝은 상기 경사가 보정된 화상데이타를 상기 원 문서데이타로 해서 실행되는 것을 특징으로 하는 문서데이타 처리방법.
- 제 6 항에 있어서, 또 상기 원 문서화상내에 포함된 여러개의 문자패턴에서 여러개의 문자패턴에서 인접하는 여러개의 문자를 포함하는 적어도 하나의 문자열을 추출하는 스텝, 메모리내에 사전에 저장된 표준적인 단어군 또는 용어군을 상기 추출된 문자열과 비교하고, 상기 문자열을 상기 표준적인 단어 또는 용어중의 하나와 일치시키도록 상기 문자열의 일부를 구성하는 문자 패턴을 자동적으로 수정하는 스텝을 포함하고, 상기 변환하는 스텝은 상기 수정된 문자 및 선패턴의 배치에 대해서 배치변환을 실행하는 것을 특징으로 하는 문서데이타 처리방법.
- 데이타항목을 설정해야할 여러개의 빈 입출력필드를 갖는 서식표시를 사용해서 데이타를 입력하는 문서데이타 처리방법에 있어서, 원 서식화상에서 하나의 서식을 구성하는 문자 및 선패턴의 배치를 인식하고, 그 인식결과를 서식의 물리 구조데이타로서 메모리에 기억하는 스텝, 상기 물리 구조데이타를 분석해서 상기 서식내에 포함된 데이타 입출력필드와 각각의 데이타 입출력필드에 관련된 항목명칭을 검출하는 스텝, 상기 검출된 항목명칭에 따라서 상기 각 입출력필드마다 설정해야할 데이타의 입력원 또는 생성룰을 나타내는 필드속성을 구하도록 지식베이스를 참조하는 스텝, 상기 물리 구조데이타에 따라서 생성된 서식표시를 표시화면상에 출력하는 스텝, 상기 표시화면상에 출력된 서식로시내에 포함된 상기 데이타 입출력필드마다 사용자로 부터 수동으로 공급된 데이타 또는 자동적으로 생성된 데이타를 상기 데이타 입출력필드에 설정하도록 그의 필드속성에 관련된 데이타처리를 실행하는 스텝을 포함하는 문서데이타 처리방법.
- 제 11 항에 있어서, 상기 참조하는 스텝은 입출력필드의 필드속성이 키보드에서의 입력데이타를 상기 필드에 설정하는 것을 나타내는가, 데이타파일로 부터 리드된 데이타를 상기 필드에 설정하는 것을 나타내는가, 또는 상기 입출력 필드중의 하나에 적어도 설정된 데이타를 사용한 계산에 의해 얻어진 데이타를 상기 필드에 서정하는 것을 나타내는가를 결정하는 것을 특징으로 하는 문서데이타 처리방법.
- 데이타가 라이트되어야 할 여러개의 빈 입출력필드를 갖는 서식표시에 데이타를 설정하기 위한 프로그램을 자동적으로 생성하는 문서데이타 처리방법에 있어서, 여러개의 입출력필드를 갖는 서식문서의 화상에서 하나의 서식문서를 구성하는 문자 및 선패턴의 배치를 나타내는 물리 구조데이타를 인식하는 스텝, 상기 물리 구조데이타를 분석해서 데이타 입출력조작에 사용되는 여러개의 입출력필드와 항목명칭을 나타내는 문자열을 포함하는 적어도 하나의 고정필드를 검출하는 스텝, 상기 고정필드와 입출력필드 사이의 위치관계를 조사하여 상기 각 입출력필드마다 설정해야 할 데이타의 항목명칭을 구하는 스텝, 상기 데이타의 항목명칭 및 지식베이스에 따라서, 상기 입출력필드에 설정해야 할 데이타의 입력원 또는 생성룰을 나타내는 필드속성을 각 입출력필드마다 구하는 스텝, 상기 필드속성 및 물리 구조데이타에 따라 표시화면상에 출력된 서식표시의 빈 입출력필드에 사용자가 데이타를 입력시키기 위한 프로그램을 자동적으로 생성하는 스텝을 포함하는 문서데이타 처리방법.
- 제 13 항에 있어서, 또 상기 표시화면상에서의 문자의 입력조작에 따른 커어서 이동의 기본피치의 정수배에 적합하도록 변환된 문자 및 선패턴의 배치를 갖는 정규화된 서식 데이타를 상기 물리 구조데이타에서 얻는 스텝을 포함하고, 상기 분석하는 스텝은 상기 물리 구조데이타 대신에 상기 정규화된 서식데이타를 필드인식을 위해 분석하도록 실행되는 것을 특징으로하는 문서데이타 처리방법.
- 제 13 항에 있어서, 상기 분석하는 스텝은 또, 선패턴으로 형성된 적어도 3변으로 둘러싸인 장방형 영역을 각각 포함하는 여러개의 셀영역을 추출하는 스텝, 상기 각 셀영역내의 임의의 문자열의 유무를 검출하거나 또는 검출된 문자열의 내용을 분석하는 것에 의해, 상기 각 셀영역내의 장방형 영역을 입출력필드 또는 고정필드로서 구하는 스텝, 상기 셀영역밖에 있는 특정의 단어를 검출해서 상기 단어에 인접하는 공백영역을 입출력필드로서 식별하는 스텝을 포함하는 문서데이타 처리방법.
- 제 14 항에 있어서, 상기 분석하는 스텝은 또 선패턴으로 형성된 적어도 3변으로 둘러싸인 장방형 영역을 각각 포함하는 여러개의 셀영역을 추출하는 스텝, 상기 각 셀영역내의 임의의 문자열의 유무를 검출하거나 또는 검출된 문자열의 내용을 분석하는 것에 의해, 상기 각 셀영역내의 장방형 영역을 입출력필드 또는 고정필드로서 구하는 스텝, 상기 셀영역밖에 있는 특징의 단어를 검출해서 상기 단어에 인접하는 공백영역을 입출력필드로서 식별하는 스텝을 포함하는 문서데이타 처리방법.
- 표시화면에 출력된 서식표시에 데이타를 입력하기 위한 데이타 처리장치에 있어서, 문자 또는 수치데이타를 라이트해야 할 여러개의 빈필드를 갖는 서식의 화상데이타를 저장하는 제 1의 메모리수단, 서식표시를 출력하기 위한 표시화면이 마련된 표시수단, 문자 또는 수치데이타를 입력하는 입력수단, 상기 입력수단에서 공급된 데이타를 상기 표시화면에 출력된 서식 표시내의 커어서에 의해 표시된 빈필드에 입력하도록, 제어동작을 실행하는 제어수단을 포함하고, 상기 제어수단은, 상기 제 1의 메모리수단에 저장된 서식화상에 따라서 하나의 서식을 구성하는 여러개의 문자 및 선패턴의 배치를 인식하고, 서식의 물리 구조데이타를 생성하는 수단, 상기 표시화면상에서 문자 또는 수치데이타의 입력조작에 따른 커어서 이동의 기본피치의 정수배에 대응하도록 상기 문자 및 선패턴의 배치를 수정하는 것에 의해 상기 서식의 물리 구조데이타에서 정규화된 서식데이타를 생성하는 수단을 포함하고, 상기 정규화된 서식데이타는 입력데이타 조작을 위해 표시화면상에 출력되어야 할 서식표시를 정의하는 것을 특징으로 하는 데이타 처리장치.
- 제 17 항에 있어서, 또 프린터장치를 포함하고, 상기 제어수단은 상기 서식표시의 빈필드에 입력된 데이타를 상기 물리 구조데이타로 정의된 서식에 조합하고, 상기 조합된 데이타를 상기 프린터장치에 공급하는 것을 특징으로 하는 데이타 처리장치.
- 제 17 항에 있어서, 서식의 화상을 화상이타로 변환하는 화상입력수단을 포함하고 상기 화상입력수단에서 공급된 화상데이타는 상기 제 1의 메모리수단에 저장되는 것을 특징으로 하는 데이타 처리장치.
- 표시화면에 출력된 서식표시에 데이타를 입력하기 위한 데이타 처리장치에 있어서, 문자 또는 수치데이타를 설정하기 위한 여러개의 빈필드를 갖는 서식문서의 화상데이타를 저장하는 제 1의 메모리수단, 서식표시를 출력하기 위한 표시화면이 마련된 표시수단, 문자 또는 수치데이타를 입력하는 입력수단, 여러개의 데이타기록을 저장하는 제 2의 메모리수단, 각 단어 또는 용어마다 여러 항목의 지식정보가 라이트되어 있는 지식베이스수단, 상기 표시화면에 출력된 서식표시내의 빈필드에 데이타를 입력하는 제어동작을 실행하는 제어수단을 포함하고, 상기 제어수단은 상기 제 1의 메모리수단에 저장된 서식문서 화상에 따라서 하나의 서식문서를 구성하는 여러개의 문자 및 선패턴의 배치를 인식하고, 서식문서의 물리 구조데이타를 생성하는 제 1의 수단, 상기 물리 구조데이타를 분석해서 상기 서식문서내에 포함된 데이타 입력필드와 상기 데이타 입력필드에 관련된 항목명칭를 검출하는 제 2의 수단, 상기 항목명칭에 따라서 상기 지식베이스를 참조하여 상기 입력필드에 설정해야 할 데이타의 입력원 또는 생성룰을 나타내는 필드속성을 상기 입력필드에 대해서 각각 검출하는 제 3의 수단, 상기 물리 구조데이타로 정의되어 표시화면상에 출력된 서식표시의 빈 데이타 입력필드에 데이타를 입력하기 위한 프로그램을 상기 필드속성에 따라서 자동적으로 생성하는 제 4의 수단를 포함하고, 상기 필드셀로그램이 실행되었을때 사용자에 의해 상기 입력수단으로 부터 입력된 데이타, 상기 제 2의 메모리에서 리드된 데이타기록에 포함된 항목중의 어느것인가 하나의 데이타 및 계산에 의해 얻어진 데이타가 상기 서식표시의 빈 입력필드에 선택적으로 설정되는 것을 특징으로 하는 데이타 처리 장치.
- 제 20 항에 있어서, 상기 제어수단은 또, 상기 표시화면상에서의 문자 또는 수치데이타의 입력조작에 따른 커어서 이동의 기본피치의 정수배에 적합하도록 상기 문자 및 선패턴의 배치를 자동적으로 수정하는 것에 의해, 상기 서식문서의 물리 구조데이타에서 정규화된 데이타를 생성하는 제 5의 수단를 포함하고, 상기 제 2의 수단은 상기 물리 구조데이타 대신에 상기 정규화된 데이타를 분석하고, 상기 제 4의 수단은 상기 물리 구조데이타로 정의되어 상기 표시화면상에 출력된 서식표시의 빈 데이타 입력필드에 데이타를 입력하기 위한 프로그램을 자동적으로 생성하는 것을 특징으로 하는 데이타 처리장치.
- 제 21 항에 있어서, 또 서식문서의 화상을 입력으로서 받는 화상입력수단을 포함하고, 상기 화상입력수단에서 공급된 서식문서 화상은 상기 제 1의 메모리수단에 저장되는 것을 특징으로 하는 데이타 처리장치.
- 제 21 항에 있어서, 또 서식문서를 생성하는 프린터수단을 포함하고, 상기 제어수단은 상기 서식표시의 빈필드에 입력된 데이타를 상기 물리 구조데이타에 의해 정의된 문서서식에 편집하고, 이것에 의해 상기 편집된 데이타를 상기 프린터수단에 공급하는 것을 특징으로 하는 데이타 처리장치.
- 데이타로 채워져야 할 여러개의 빈필드를 갖는 서식표시에 데이타를 설정하기 위한 프로그램을 자동적으로 생성하는 문서 데이타 처리방법에 있어서, 여러개의 필드를 갖는 서식문서의 화상에서 서식문서의 배치를 나타내는 물리 구조데이타를 인식하는 스텝, 상기 문서의 각 필드속성과 상기 필드간의 관계를 나타내는 논리 구조데이타를 얻기 위해, 지식베이스를 참조해서 상기 물리 구조데이타를 분석하는 스텝, 상기 논리 구조데이타 및 상기 물리 구조데이타에 따라서 표시화면상에 서식표시를 출력하고 또한 사용자의 데이타 입력조작에 따라서 상기 서식표시의 빈필드에 데이타를 설정하기 위한 프로그램을 자동적으로 생성하는 스텝을 포함하는 문서데이타 처리방법.
- 제 24 항에 있어서, 또 상기 서식표시의 다른 부분에서 시각적으로 구별할 수 있는 형식으로 상기 인식된 데이타 입력필드를 상기 표시화면상에 출력하고, 이것에 의해 상기 논리 구조데이타에 대한 자동인식 결과에 에러가 존재하더라도 사용자의 조작에 의해 서식표시를 수정하는 스텝을 포함하는 문서데이타 처리방법.
- 제 24 항에 있어서, 또 빈필드의 각각이 표시화면상에서의 문자 또는 수치의 입력조작에 따른 커어서 이동의 기본피치의 정수배에 적합한 크기를 갖도록 상기 서식문서의 배치를 정규화하는 스텝을 포함하고, 상기 프로그램은 사용자에 의한 데이타 입력조작이 상기 정규화된 배치를 갖는 서식표시를 출력하는 표시화면상에서 실행되도록 생성되는 것을 특징으로 하는 문서데이타 처리방법.
- 제 24 항에 있어서, 또 표시화면상에서의 사용자의 조작에 의해 입력된 데이타로 채워진 여러개의 필드를 가지며, 상기 물리 구조데이타에서 생성된 문서의 배치를 구비하는 문서의 하드카피를 생성하는 스텝을 포함하는 문서데이타 처리방법.
- 제 24 항에 있어서, 또 상기 인식하는 스텝에서 얻어진 상기 물리 구조데이타에서 생성된 서식표시의 배치를 상기 표시화면상에 출력하는 스텝, 사용자의 조작에 따라서 상기 물리 구조데이타를 수정하여 상기 표시화면에 출력된 서기표시의 일부를 변경하는 스텝을 포함하고, 상기 분석하는 스텝과 상기 생성하는 스텝은 상기 수정된 물리구조데이타에 대해서 실행되는 것을 특징으로 하는 문서데이타 처리방법.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17546989 | 1989-07-10 | ||
JP1-175469 | 1989-07-10 | ||
JP1-202794 | 1989-08-07 | ||
JP20279489 | 1989-08-07 | ||
JP1-246290 | 1989-09-25 | ||
JP24629089 | 1989-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910003523A KR910003523A (ko) | 1991-02-27 |
KR930009639B1 true KR930009639B1 (ko) | 1993-10-08 |
Family
ID=27324109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900010336A KR930009639B1 (ko) | 1989-07-09 | 1990-07-09 | 화상데이타를 이용하는 문서데이타 처리방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5228100A (ko) |
EP (1) | EP0407935B1 (ko) |
JP (1) | JP2000155795A (ko) |
KR (1) | KR930009639B1 (ko) |
DE (1) | DE69033312D1 (ko) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6683697B1 (en) * | 1991-03-20 | 2004-01-27 | Millenium L.P. | Information processing methodology |
US5258855A (en) * | 1991-03-20 | 1993-11-02 | System X, L. P. | Information processing methodology |
US5991440A (en) * | 1991-06-21 | 1999-11-23 | Canon Kabushiki Kaisha | Method and apparatus for recognizing input handwritten characters associated with title information |
US5666549A (en) * | 1992-03-10 | 1997-09-09 | Hitachi, Ltd. | Method and system for processing a document transmitted via facsimile in an initially input form stored in a knowledge base |
JP3002594B2 (ja) * | 1992-03-10 | 2000-01-24 | 株式会社日立製作所 | 帳票処理システム |
US5465167A (en) * | 1992-03-20 | 1995-11-07 | Xerox Corporation | Using an image from a form in automatic creation of a form or sheet |
JP3134505B2 (ja) * | 1992-05-29 | 2001-02-13 | カシオ計算機株式会社 | 伝票処理装置 |
JP2789971B2 (ja) * | 1992-10-27 | 1998-08-27 | 富士ゼロックス株式会社 | 表認識装置 |
JPH0721310A (ja) * | 1993-06-30 | 1995-01-24 | Matsushita Electric Ind Co Ltd | 文書認識装置 |
US5555325A (en) * | 1993-10-22 | 1996-09-10 | Lockheed Martin Federal Systems, Inc. | Data capture variable priority method and system for managing varying processing capacities |
US5544267A (en) * | 1993-11-24 | 1996-08-06 | Xerox Corporation | Using a category to analyze an image showing a graphical representation |
US5392130A (en) * | 1993-11-24 | 1995-02-21 | Xerox Corporation | Analyzing an image showing a row/column representation |
US5850490A (en) * | 1993-12-22 | 1998-12-15 | Xerox Corporation | Analyzing an image of a document using alternative positionings of a class of segments |
DE4409388A1 (de) * | 1994-03-18 | 1995-11-30 | Dimension Computers Gmbh | Verfahren zum Erfassen und positionsgenauen Ausdruck von Daten |
JPH0887495A (ja) * | 1994-09-16 | 1996-04-02 | Ibm Japan Ltd | 表データのカット・アンド・ペースト方法及びデータ処理システム |
DE59506118D1 (de) * | 1994-10-03 | 1999-07-08 | Friedrich Erwin Baumann | Verfahren und vorrichtung zum optischen einlesen einer dokumentvorlage mit einem scanner und zum bedrucken eines aufzeichnungsträgers mit einem drucker |
US5619708A (en) * | 1994-10-25 | 1997-04-08 | Korteam International, Inc. | System and method for generating database input forms |
JP3136928B2 (ja) * | 1994-11-08 | 2001-02-19 | カシオ計算機株式会社 | データ処理装置 |
DE69637073T2 (de) * | 1995-07-31 | 2007-08-30 | Fujitsu Ltd., Kawasaki | Prozessor und verarbeitungsverfahren für dokumente |
CN100593791C (zh) * | 1995-07-31 | 2010-03-10 | 富士通株式会社 | 数据媒体处理装置及数据媒体处理方法 |
US6154753A (en) * | 1995-09-15 | 2000-11-28 | Cable & Wireless, Inc. | Document management system and method for business quality modeling |
GB2312304B (en) * | 1996-04-18 | 1999-12-29 | Ibm | Improvements in printing |
JP3606500B2 (ja) * | 1997-01-31 | 2005-01-05 | 株式会社リコー | 矩形分類方法 |
JP3580670B2 (ja) * | 1997-06-10 | 2004-10-27 | 富士通株式会社 | 入力画像を基準画像に対応付ける方法、そのための装置、及びその方法を実現するプログラムを記憶した記憶媒体 |
FR2766286B1 (fr) * | 1997-07-17 | 2000-09-08 | Jean Pierre Alfred Arnaud | Procede de creation de documents destines a etre imprimes |
US6562077B2 (en) | 1997-11-14 | 2003-05-13 | Xerox Corporation | Sorting image segments into clusters based on a distance measurement |
JP3574584B2 (ja) * | 1998-12-16 | 2004-10-06 | 富士通株式会社 | 表画像処理装置及びそのプログラム記憶媒体 |
US6594405B1 (en) | 1998-12-28 | 2003-07-15 | Gateway, Inc. | Method and apparatus for preprinted forms completion |
JP4454789B2 (ja) * | 1999-05-13 | 2010-04-21 | キヤノン株式会社 | 帳票分類方法及び装置 |
JP3467437B2 (ja) * | 1999-09-16 | 2003-11-17 | 富士通株式会社 | 文字認識装置及びその方法とプログラム記録媒体 |
JP4742404B2 (ja) * | 2000-05-17 | 2011-08-10 | コニカミノルタビジネステクノロジーズ株式会社 | 画像認識装置、画像形成装置、画像認識方法および画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体 |
CA2800037C (en) | 2000-06-21 | 2014-12-16 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
KR100396023B1 (ko) * | 2000-09-16 | 2003-08-27 | 이홍규 | 매뉴얼 기능을 부가한 서식 작성 시스템 및 방법 |
GB2367170B (en) * | 2000-09-20 | 2004-10-06 | Silver Fox Ltd | Correcting the position of print |
GB2380009A (en) * | 2001-09-21 | 2003-03-26 | Hewlett Packard Co | Apparatus and automated method of contract drafting |
US20060200754A1 (en) * | 2001-10-24 | 2006-09-07 | Infosnap | Systems and methods for storing personal information, automatically filling out forms, and sharing information with a data recipient |
US7171615B2 (en) | 2002-03-26 | 2007-01-30 | Aatrix Software, Inc. | Method and apparatus for creating and filing forms |
JP2004139484A (ja) * | 2002-10-21 | 2004-05-13 | Hitachi Ltd | 帳票処理装置、該装置実行のためのプログラム、及び、帳票書式作成プログラム |
US7134089B2 (en) * | 2002-11-13 | 2006-11-07 | Microsoft Corporation | Directional focus navigation |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US20050166160A1 (en) * | 2004-01-23 | 2005-07-28 | Sharp Laboratories Of America, Inc. | User interfaces which display aggregations of records that include fields whose values can be set null or empty |
JP4125249B2 (ja) | 2004-01-30 | 2008-07-30 | キヤノン株式会社 | 情報処理方法及び情報処理装置及びコンピュータ読み取り可能なプログラム |
JP2005216203A (ja) * | 2004-02-02 | 2005-08-11 | Mantaro Yajima | 表フォーマットデータ処理方法並びに表フォーマットデータ処理装置 |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US8125666B2 (en) * | 2004-10-08 | 2012-02-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device document management |
US8035831B2 (en) | 2004-10-08 | 2011-10-11 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device remote form management |
US8001183B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device related event notification |
US8115945B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device job configuration management |
US8001587B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential management |
US8015234B2 (en) | 2004-10-08 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Methods and systems for administering imaging device notification access control |
US8049677B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device display element localization |
US7920101B2 (en) | 2004-10-08 | 2011-04-05 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device display standardization |
US8120793B2 (en) * | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for displaying content on an imaging device |
US8115947B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote, descriptor-related data to an imaging device |
US8032608B2 (en) * | 2004-10-08 | 2011-10-04 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device notification access control |
US8001586B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential management and authentication |
US8060930B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential receipt and authentication |
US8213034B2 (en) | 2004-10-08 | 2012-07-03 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote file structure access on an imaging device |
US8120799B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for accessing remote, descriptor-related data at an imaging device |
US8120798B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for providing access to remote, descriptor-related data at an imaging device |
US7969596B2 (en) | 2004-10-08 | 2011-06-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device document translation |
US8006293B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential acceptance |
US8065384B2 (en) * | 2004-10-08 | 2011-11-22 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification subscription |
US8120797B2 (en) * | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for transmitting content to an imaging device |
US8060921B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential authentication and communication |
US8018610B2 (en) | 2004-10-08 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device remote application interaction |
US7970813B2 (en) | 2004-10-08 | 2011-06-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification administration and subscription |
US8006292B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential submission and consolidation |
US8024792B2 (en) * | 2004-10-08 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential submission |
US8237946B2 (en) | 2004-10-08 | 2012-08-07 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting server redundancy |
US8006176B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging-device-based form field management |
US8115946B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and sytems for imaging device job definition |
US8032579B2 (en) | 2004-10-08 | 2011-10-04 | Sharp Laboratories Of America, Inc. | Methods and systems for obtaining imaging device notification access control |
US8051125B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for obtaining imaging device event notification subscription |
US8156424B2 (en) | 2004-10-08 | 2012-04-10 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device dynamic document creation and organization |
US8384925B2 (en) | 2004-10-08 | 2013-02-26 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting data management |
US8051140B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device control |
US8115944B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for local configuration-based imaging device accounting |
US8023130B2 (en) | 2004-10-08 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting data maintenance |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7509353B2 (en) * | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8428484B2 (en) | 2005-03-04 | 2013-04-23 | Sharp Laboratories Of America, Inc. | Methods and systems for peripheral accounting |
JP4900640B2 (ja) * | 2005-03-30 | 2012-03-21 | 京セラ株式会社 | 携帯端末装置およびその文書表示制御方法 |
US7673228B2 (en) | 2005-03-30 | 2010-03-02 | Microsoft Corporation | Data-driven actions for network forms |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
JP4539613B2 (ja) * | 2006-06-28 | 2010-09-08 | 富士ゼロックス株式会社 | 画像形成装置、画像生成方法およびプログラム |
US8345272B2 (en) | 2006-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for third-party control of remote imaging jobs |
GB0622863D0 (en) * | 2006-11-16 | 2006-12-27 | Ibm | Automated generation of form definitions from hard-copy forms |
JP2008192032A (ja) * | 2007-02-07 | 2008-08-21 | Fuji Xerox Co Ltd | 文書処理装置、文書処理方法、プログラム |
WO2008127443A1 (en) * | 2007-04-13 | 2008-10-23 | Bank Of America Corporation | Image data extraction automation process |
WO2009001462A1 (ja) * | 2007-06-28 | 2008-12-31 | Fujitsu Limited | スプレッドシート生成プログラム、該プログラムを記録した記録媒体、スプレッドシート生成装置、およびスプレッドシート生成方法 |
US8125691B2 (en) * | 2007-10-11 | 2012-02-28 | Canon Kabushiki Kaisha | Information processing apparatus and method, computer program and computer-readable recording medium for embedding watermark information |
JP4998219B2 (ja) * | 2007-11-09 | 2012-08-15 | 富士通株式会社 | 帳票認識プログラム、帳票認識装置および帳票認識方法 |
JP5402099B2 (ja) * | 2008-03-06 | 2014-01-29 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法およびプログラム |
JP4544324B2 (ja) * | 2008-03-25 | 2010-09-15 | 富士ゼロックス株式会社 | 文書処理装置及びプログラム |
US8265606B2 (en) * | 2008-10-09 | 2012-09-11 | Microsoft Corporation | Targeted advertisements to social contacts |
JP5361574B2 (ja) * | 2009-07-01 | 2013-12-04 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
US9152617B2 (en) * | 2010-03-11 | 2015-10-06 | A2iA S.A. | System and method for processing objects |
JP5561856B2 (ja) * | 2010-05-24 | 2014-07-30 | 株式会社Pfu | 帳票作成装置、帳票作成プログラム、および帳票作成方法 |
TW201248428A (en) * | 2011-05-16 | 2012-12-01 | Avision Inc | Method and computer program for adding scan image data to any work area |
JP5664481B2 (ja) * | 2011-06-30 | 2015-02-04 | 富士通株式会社 | 表構造自動認識プログラム、表構造自動認識方法及び表構造自動認識装置 |
WO2014118954A1 (ja) * | 2013-01-31 | 2014-08-07 | 株式会社東芝 | データ圧縮装置、データ圧縮方法およびプログラム |
JP6187140B2 (ja) * | 2013-10-21 | 2017-08-30 | 富士ゼロックス株式会社 | 文書登録装置及びプログラム |
JP2015215853A (ja) * | 2014-05-13 | 2015-12-03 | 株式会社リコー | システム、画像処理装置、画像処理方法およびプログラム |
JP2016057964A (ja) * | 2014-09-11 | 2016-04-21 | 富士ゼロックス株式会社 | 文書処理装置およびプログラム |
CN104866564B (zh) * | 2015-05-21 | 2019-03-15 | 百度在线网络技术(北京)有限公司 | 图片搜索方法及装置 |
TWI680411B (zh) * | 2016-01-07 | 2019-12-21 | 葉振忠 | 電子表單建立系統及方法 |
WO2017208367A1 (ja) * | 2016-05-31 | 2017-12-07 | 株式会社Pfu | 画像処理装置、画像処理方法、および、プログラム |
JP6878034B2 (ja) * | 2017-02-10 | 2021-05-26 | キヤノン株式会社 | 情報処理装置、制御方法、およびプログラム |
GB2567407B (en) * | 2017-07-31 | 2022-03-30 | Sage Uk Ltd | Method and apparatus for determining layout |
JP6784274B2 (ja) * | 2018-04-02 | 2020-11-11 | 日本電気株式会社 | 画像処理装置、画像処理方法およびプログラム |
US11861302B2 (en) * | 2019-02-04 | 2024-01-02 | Aatrix Software, Inc. | AUF XML specification compiler |
JP7225017B2 (ja) * | 2019-04-19 | 2023-02-20 | キヤノン株式会社 | タッチパネルを用いた文字入力のための画像処理装置、その制御方法及びプログラム |
US11210507B2 (en) | 2019-12-11 | 2021-12-28 | Optum Technology, Inc. | Automated systems and methods for identifying fields and regions of interest within a document image |
US11227153B2 (en) | 2019-12-11 | 2022-01-18 | Optum Technology, Inc. | Automated systems and methods for identifying fields and regions of interest within a document image |
JP7283756B2 (ja) | 2020-05-12 | 2023-05-30 | 株式会社ミラボ | 情報処理装置、及びプログラム |
US11829701B1 (en) * | 2022-06-30 | 2023-11-28 | Accenture Global Solutions Limited | Heuristics-based processing of electronic document contents |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57150062A (en) * | 1981-03-12 | 1982-09-16 | Fuji Xerox Co Ltd | Processing of papers |
DE3229590C2 (de) * | 1982-08-09 | 1987-03-19 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und Anordnung zum Bedrucken von Formularen |
US4907285A (en) * | 1984-08-24 | 1990-03-06 | Hitachi, Ltd. | Image understanding system |
JPH07107694B2 (ja) * | 1984-08-31 | 1995-11-15 | 株式会社日立製作所 | 文書処理装置 |
JPH0785254B2 (ja) * | 1985-09-27 | 1995-09-13 | 株式会社東芝 | 文字画像読取装置 |
JPS63155386A (ja) * | 1986-12-19 | 1988-06-28 | Ricoh Co Ltd | 帳票デ−タ読取装置 |
JP2746592B2 (ja) * | 1988-01-30 | 1998-05-06 | キヤノン株式会社 | 文書処理装置および方法 |
US5001769A (en) * | 1988-12-20 | 1991-03-19 | Educational Testing Service | Image processing system |
US5003613A (en) * | 1988-12-21 | 1991-03-26 | Recognition Equipment Incorporated | Document processing system and method |
-
1990
- 1990-07-09 KR KR1019900010336A patent/KR930009639B1/ko not_active IP Right Cessation
- 1990-07-09 EP EP90113076A patent/EP0407935B1/en not_active Expired - Lifetime
- 1990-07-09 DE DE69033312T patent/DE69033312D1/de not_active Expired - Lifetime
- 1990-07-10 US US07/550,521 patent/US5228100A/en not_active Expired - Lifetime
-
1999
- 1999-09-27 JP JP11271783A patent/JP2000155795A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0407935A2 (en) | 1991-01-16 |
EP0407935A3 (en) | 1991-11-21 |
DE69033312D1 (de) | 1999-11-11 |
US5228100A (en) | 1993-07-13 |
KR910003523A (ko) | 1991-02-27 |
JP2000155795A (ja) | 2000-06-06 |
EP0407935B1 (en) | 1999-10-06 |
JPH03179570A (ja) | 1991-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930009639B1 (ko) | 화상데이타를 이용하는 문서데이타 처리방법 및 장치 | |
KR950006410B1 (ko) | 서식문서의 화상표시/처리방법 및 장치 | |
JP3425408B2 (ja) | 文書読取装置 | |
US6018617A (en) | Test generating and formatting system | |
KR860001071B1 (ko) | 문서편집(文書編輯)방법 | |
US5923778A (en) | Hierarchical representation of reference database for an on-line Chinese character recognition system | |
JPH05113879A (ja) | プログラムの作成及びデータの処理方法 | |
US4677585A (en) | Method for obtaining common mode information and common field attribute information for a plurality of card images | |
JP2021043478A (ja) | 情報処理装置、その制御方法及びプログラム | |
JP3028833B2 (ja) | 文書処理方式およびプログラム自動生成方法 | |
JP2000076370A (ja) | 帳票認識方法および装置 | |
JP3663865B2 (ja) | 帳票処理装置及び記憶媒体 | |
JP2974346B2 (ja) | 漢字処理装置 | |
JPH01185762A (ja) | 文書整形装置 | |
JP7430219B2 (ja) | 文書情報構造化装置、文書情報構造化方法およびプログラム | |
JP4405604B2 (ja) | 情報処理装置及び定義方法 | |
JPH0520494A (ja) | 帳票属性認識・表示方法 | |
JPH0452866A (ja) | 業務プログラム自動生成方式 | |
JP4462508B2 (ja) | 情報処理装置並びに定義情報生成方法 | |
JPH11316792A (ja) | 情報処理装置及び帳表作成方法 | |
JP2000163271A (ja) | 情報処理方法および装置 | |
JPH0748230B2 (ja) | 画面帳票形式の自動作成方法 | |
JP2001357342A (ja) | 情報処理方法および装置 | |
JP3335494B2 (ja) | 文字認識処理装置 | |
JP3390567B2 (ja) | 誤字訂正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20031006 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |