KR20100135281A - 손으로 그려진 표를 인식하기 위한 방법 및 툴 - Google Patents

손으로 그려진 표를 인식하기 위한 방법 및 툴 Download PDF

Info

Publication number
KR20100135281A
KR20100135281A KR1020107024275A KR20107024275A KR20100135281A KR 20100135281 A KR20100135281 A KR 20100135281A KR 1020107024275 A KR1020107024275 A KR 1020107024275A KR 20107024275 A KR20107024275 A KR 20107024275A KR 20100135281 A KR20100135281 A KR 20100135281A
Authority
KR
South Korea
Prior art keywords
segment
line
vertical
horizontal
hand
Prior art date
Application number
KR1020107024275A
Other languages
English (en)
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
Priority claimed from US12/058,234 external-priority patent/US8634645B2/en
Application filed by 스마트 테크놀러지스 유엘씨 filed Critical 스마트 테크놀러지스 유엘씨
Publication of KR20100135281A publication Critical patent/KR20100135281A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/183Tabulation, i.e. one-dimensional positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

자유형식 선 객체에 의해 형성된 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법은 표의 각각의 자유형식 선 객체를 수직 선분과 수평 선분 중 하나로 변환하고 수직 및 수평 선분에 기초하여 그리드 시스템을 생성하고 생성된 그리드 시스템을 표 객체로 전환하는 것을 포함한다.

Description

손으로 그려진 표를 인식하기 위한 방법 및 툴{METHOD AND TOOL FOR RECOGNIZING A HAND-DRAWN TABLE}
본 발명은 일반적으로 디지털 잉크 프로세싱에 관한 것이며, 보다 상세하게는 손으로 그려진 표(hand-drawn table)를 인식하기 위한 방법 및 툴에 관한 것이다.
사용자가 능동 포인터(예를 들어, 광, 소리 또는 기타 신호를 방출하는 포인터), 수동 포인터(예를 들어, 손가락, 실린더 또는 기타 적합한 물체), 또는 예를 들어 마우스나 트랙볼과 같은 기타 적합한 입력 디바이스를 사용하여 애플리케이션 프로그램으로 입력(즉, 디지털 잉크, 마우스 이벤트 등)을 넣을 수 있게 해주는 상호작용형(interactive) 입력 시스템이 알려져 있다. 이들 상호작용형 입력 시스템은 본 출원의 양수인인 스마트 테크놀러지스 유엘씨(SMART Technologies ULC, 캐나다 앨버타 캘거리 소재)에 양도된 미국 특허 제5,448,263호, 제6,141,000호, 제6,337,681호, 제6,747,636호, 제6,803,906호, 제7,232,986호, 제7,236,162호 및 제7,274,356호에 개시된 바와 같이 포인터 입력을 등록하는데 아날로그 저항성 또는 머신 비전 기술을 채용한 터치 패널을 포함하는 터치 시스템, 포인터 입력을 등록하는데 전자기, 용량성, 음향 또는 기타 기술을 채용한 터치 패널을 포함하는 터치 시스템, 태블릿 개인용 컴퓨터(PC), 랩톱 PC, 개인용 휴대 정보 단말기(PDA), 및 기타 유사 디바이스를 포함하지만, 이에 한정되지 않는다. 이들 상호작용형 입력 시스템은 수기(handwriting)도 인식할 수 있지만, 손으로 그린 객체 그리고 특히 차트나 표를 인식하여 그 의미를 나타낼 수 있는 그들 능력은 한정되어 있다.
마이크로소프트 코포레이션(Microsoft Corporation, 미국 워싱턴 레드몬드 소재)에 의해 제공된 마이크로소프트 오피스(Microsoft OfficeTM) 소프트웨어는 열려있는 문서 위에 커서를 움직임으로써 표가 생성될 수 있게 해주는 특징을 포함한다. 표 생성 동안, 열려있는 문서 위의 커서 움직임은 직사각형, 정사각형 및 직선 중 하나로 바로 변환된다. 표가 생성될 수는 있지만, 이 특징의 기능은 입력으로서 자유형식(freeform) 또는 손으로 쓴 잉크를 받아들이는 상호작용형 입력 시스템에서의 사용 용이성을 제한한다. 알 수 있듯이, 손으로 그려진 표 인식의 개선이 바람직하다.
그러므로 본 발명의 목적은 손으로 그려진 표를 인식하기 위한 신규의 방법 및 툴을 제공하는 것이다.
따라서, 일 양상에서, 자유형식 선 객체에 의해 형성된 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법에 있어서,
상기 표의 각각의 자유형식 선 객체를 수직 선분 및 수평 선분 중 하나로 변환하고;
상기 수직 및 수평 선분에 기초하여 그리드(grid) 시스템을 생성하고;
상기 생성된 그리드 시스템을 표 객체로 전환하는 것을 포함하는 방법이 제공된다.
하나의 실시예에서, 상기 변환하는 것은, 각각의 자유형식 선 객체에 대하여, 상기 자유형식 선 객체의 배향을 검사하고, 상기 자유형식 선 객체의 배향에 기초하여 상기 자유형식 선 객체를 나타내는 수평 및 수직 선분 중 하나를 생성하는 것을 포함한다. 상기 검사하는 것은, 상기 자유형식 선 객체의 시작점과 끝점을 결정하고, 상기 결정된 시작점과 끝점 사이에 연장하는 임시 선분을 생성하고, 상기 임시 선분의 배향을 결정하는 것을 포함한다. 각각의 생성된 수평 선분에 대하여, 생성된 수평 선분이 기존의 수평 선분과 중첩되는지 결정되고, 그러한 경우 상기 생성된 수평 선분과 상기 기존의 수평 선분이 병합된다(merge). 또한, 각각의 생성된 수직 선분에 대하여, 생성된 수직 선분이 기존의 수직 선분과 중첩되는지 결정되고, 그러한 경우 상기 생성된 수직 선분과 상기 기존의 수직 선분이 병합된다.
하나의 실시예에서, 상기 그리드 시스템은 상기 수평 및 수직 선분들의 교차로 간주된 것에 기초하여 생성된다. 그리드 시스템 생성 동안, 인접한 수직 및 인접한 수평 선분의 쌍들이 선택되고, 각각의 인접한 수직 선분 쌍과 각각의 인접한 수평 선분 쌍에 대하여, 그 사이의 교차점이 결점됨으로써 상기 그리드 시스템에서 각각의 그리드의 4개 코너 좌표를 산출한다.
하나의 실시예에서, 본 방법은 상기 표 객체 내에 있는 입력 비자유형식(non-freeform) 선 객체를 검출하고, 상기 검출된 비자유형식 선 객체를 표 객체 내용으로서 상기 표 객체 안으로 삽입하는 것을 더 포함한다. 상기 삽입하는 동안, 각각의 검출된 비자유형식 선 객체는 상기 표 객체의 대응하는 셀 안으로 배치된다. 상기 표 객체는 상기 표 객체 내에 배치된 표 셀 내용에 기초하여 처리될 수 있다.
다른 실시예에서, 상기 변환하기 전에, 상기 자유형식 선 객체가 표 객체 내용을 나타내는지 결정하도록 각각의 자유형식 선 객체가 검사된다. 상기 변환하고, 생성하고, 전환하는 것은, 표 객체 내용을 나타내는 것이 아닌 자유형식 선 객체에 대해서만 수행된다. 이 경우에, 상기 검사하는 것은, 상기 자유형식 선 객체가 곡선과 비슷한지 결정하고, 그러한 경우 상기 자유형식 선 객체를 표 객체 내용을 나타내는 것으로서 지정하는 것을 포함한다. 상기 자유형식 선 객체가 곡선과 비슷하지 않은 경우에는, 상기 자유형식 선 객체가 문자와 비슷한지 결정된다. 그러한 경우, 상기 문자가 표 아웃라인(outline)의 형상과 비슷한 문자인지 결정되고, 그렇지 않은 경우에는 상기 자유형식 선 객체는 표 객체 내용을 나타내는 것으로서 지정된다. 상기 문자가 표 아웃라인의 형상과 비슷한 경우, 각각의 선분이 수직선과 비슷한지 아니면 수평선과 비슷한지 결정하도록 상기 자유형식 선 객체를 구성하는 선분의 경사(slope)가 검사되고, 그렇지 않은 경우에는 상기 자유형식 선 객체는 표 객체 내용을 나타내는 것으로서 지정된다. 하나의 실시예에서, 상기 자유형식 선 객체가 문자와 비슷하지 않은 경우, 상기 자유형식 선 객체가 사선을 나타내는지 결정하고, 그러한 경우에는 상기 자유형식 선 객체는 표 객체 내용을 나타내는 것으로서 지정된다. 다른 실시예에서, 상기 자유형식 선 객체가 사선을 나타낸다고 결정되는 경우, 상기 자유형식 선 객체는 표 셀 파티션 후보로서 식별된다.
다른 양상에 따르면, 컴퓨터화된 디지털 잉크 인식 방법에 있어서,
그래픽 사용자 인터페이스 상에 제시된 디지털 잉크 - 상기 디지털 잉크는 적어도 손으로 그려진 표를 나타내는 교차하는 자유형식 선들을 포함함 - 를 선택하고;
상기 손으로 그려진 표를 인식하도록 상기 교차하는 자유형식 선들에 대해 인식 절차를 수행하고;
상기 손으로 그려진 표의 인식에 응답하여 상기 손으로 그려진 표에 대응하는 표 객체를 생성하는 것을 포함하는 방법이 제공된다.
하나의 실시예에서, 상기 인식 절차는 사용자 입력에 응답하여 수행된 규칙적 및 불규칙적 손으로 그려진 표 둘 다를 인식한다. 상기 손으로 그려진 표와 중첩되는 상기 그래픽 사용자 인터페이스 상에 제시된 다른 객체가 검출되고, 상기 검출된 다른 객체는 상기 표 객체의 셀 내에 표 셀 내용으로서 배치된다.
다른 양상에 따르면, 디지털 잉크 인식을 위한 컴퓨터 프로그램 코드를 구현하는 컴퓨터 판독가능한 매체에 있어서, 상기 컴퓨터 프로그램 코드는,
그래픽 사용자 인터페이스 상에 제시되는 디지털 잉크 - 상기 디지털 잉크는 적어도 손으로 그려진 표를 나타내는 교차하는 자유형식 선들을 포함함 - 를 선택하기 위한 프로그램 코드;
상기 손으로 그려진 표를 인식하도록 상기 교차하는 자유형식 선들에 대해 인식 절차를 수행하기 위한 프로그램 코드; 및
상기 손으로 그려진 표의 인식에 응답하여 상기 손으로 그려진 표에 대응하는 표 객체를 생성하기 위한 프로그램 코드를 포함하는 것인 컴퓨터 판독가능한 매체가 제공된다.
또 다른 양상에 따르면, 자유형식 선 객체에 의해 형성된 입력 손으로 그려진 표를 인식하기 위한 컴퓨터 프로그램 코드를 구현하는 컴퓨터 판독가능한 매체에 있어서, 상기 컴퓨터 프로그램 코드는,
상기 표의 각각의 자유형식 선 객체를 수직 선분 및 수평 선분 중 하나로 변환하기 위한 프로그램 코드;
상기 수직 및 수평 선분에 기초하여 그리드 시스템을 생성하기 위한 프로그램 코드; 및
상기 생성된 그리드 시스템을 표 객체로 전환하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체가 제공된다.
또 다른 양상에 따르면, 상호작용형 입력 시스템에 있어서,
그 위에 이미지가 제시되는 디스플레이 표면을 갖는 좌표 입력 디바이스 - 상기 좌표 입력 디바이스는 사용자 입력에 응답함 - ; 및
상기 좌표 입력 디바이스와 통신하고, 사용자 입력을 반영하도록 상기 디스플레이 표면 상에 제시되는 이미지를 업데이트하는 처리 구조를 포함하고,
상기 처리 구조는 호출될 때 상기 좌표 입력 디바이스에 입력된 손으로 그려진 표를 인식하고 인식된 손으로 그려진 표를 표 객체로 전환하도록 인식 절차를 실행시키는 것인 상호작용형 입력 시스템이 제공된다.
본 발명에 따르면, 손으로 그려진 표를 인식하기 위한 방법 및 툴을 제공할 수 있다.
이제 첨부 도면을 참조하여 실시예들을 보다 충분히 기재할 것이다.
도 1a는 상호작용형 입력 시스템의 블록도이다.
도 1b는 손으로 그려진 표 인식 툴의 컴포넌트를 도시하는 블록도이다.
도 2a 내지 도 2e는 손으로 그려진 표 생성 및 인식 동안 좌표 입력 시스템의 디스플레이 표면 상에 제시되는 그래픽 사용자 인터페이스를 도시한다.
도 3a 내지 3c와 도 4a 및 도 4b는 불규칙적 손으로 그려진 표 생성 및 인식 동안의 그래픽 사용자 인터페이스를 도시한다.
도 5a 내지 도 5d는 그림 및 텍스트 객체가 존재하는 손으로 그려진 표 생성 및 생성된 손으로 그려진 표의 인식 동안의 그래픽 사용자 인터페이스를 도시한다.
도 6은 손으로 그려진 표 인식 동안 수행되는 일반적인 단계들을 도시하는 흐름도이다.
도 7은 표 아웃라인 요소의 수직 및 수평 선분으로의 변환 동안 수행되는 단계들을 도시하는 흐름도이다.
도 8은 그리드 시스템 생성 동안 수행되는 단계들을 도시하는 흐름도이다.
도 9 및 도 10은 손으로 그려진 표 인식 툴의 다른 실시예에 의해 수행되는 단계들을 도시하는 흐름도이다.
도 11a, 도 11b, 도 12a 및 도 12b는 도 9 및 도 10의 손으로 그려진 표 인식 툴에 의한 손으로 그려진 표 생성 및 인식 동안의 그래픽 사용자 인터페이스를 도시한다.
도 13a 내지 도 13g는 하나 이상의 사선에 의해 세분된 표 객체 셀들을 갖는 표 객체를 도시한다.
도 14 및 도 15는 손으로 그려진 표 인식 툴의 또 다른 실시예에 의해 수행되는 단계들을 도시하는 흐름도이다.
도 16은 표 객체 셀의 서브세트 및 사선 후보를 도시한다.
도 17은 표 객체 셀 및 사선 후보를 도시한다.
도 18은 표 객체 셀 및 사선 연결점을 도시한다.
도 19a 및 도 19b는 손으로 그려지고 인식된 사선 파티션을 갖는 표 객체 셀을 도시한다.
도 20은 서브셀들로 분할된 표 객체 셀 및 서브셀들의 표 객체 내용 영역을 도시한다.
도 21a 및 도 21b는 표 객체 셀 내용으로 채워진 도 20의 표 객체 셀을 도시한다.
도 22 및 도 23은 채워진 스케쥴 표 객체를 도시한다.
다음에서는 상기 언급한 것들과 같은 상호작용형 입력 시스템으로의 자유형식 또는 손으로 그려진 표 입력을 인식하기 위한 소프트웨어 툴 및 방법이 기재된다. 소프트웨어 툴은, 프로세싱 디바이스에 의해 실행될 때, 손으로 그려진 표를 형성하는 자유형식 선 객체 또는 "선"을 수평 및 수직 선분으로 변환하고, 수직 및 수평 선분에 기초하여 그리드 시스템을 생성하고, 생성된 그리드 시스템을 예를 들어 마이크로소프트 워드(Microsoft WordTM)와 같은 종래의 워드 프로세싱 소프트웨어와 호환가능한 표 객체로 전환한다.
이제 도 1a를 참조하면, 상호작용형 입력 시스템의 블록도가 도시되어 있고, 이는 전반적으로 참조 번호 10으로 표시되어 있다. 상호작용형 입력 시스템(10)은 예를 들어 그 위에서 포인터 접촉이 이루어질 수 있는 터치 패널과 같은 좌표 입력 디바이스(12)를 포함한다. 좌표 입력 디바이스(12)는 하나 이상의 애플리케이션 프로그램을 실행하는 처리 구조(14)와 통신한다. 처리 구조(14)에 의해 생성된 이미지 데이터는 좌표 입력 디바이스(12)의 디스플레이 표면 상에 표시되며 사용자가 좌표 입력 디바이스(12) 상의 포인터 접촉을 통하여 표시된 이미지와 상호작용할 수 있게 해준다. 처리 구조(14)는 실행 중인 애플리케이션 프로그램으로의 입력으로서 포인터 접촉을 해석하고, 디스플레이 표면 상에 표시된 이미지가 포인터 작동을 반영하도록 그에 따라 이미지 데이터를 업데이트한다. 이 방식으로, 좌표 입력 디바이스(12) 및 처리 구조(14)는 좌표 입력 디바이스(12)와의 포인터 상호작용이 손으로 쓰거나 그린 것으로 기록되거나 또는 애플리케이션 프로그램의 실행을 제어하는데 사용될 수 있게 해준다. 상호작용형 입력 시스템(10)의 좌표 입력 디바이스(12)는 스마트 테크놀러지스 유엘씨에 양도되어진 상기 포함된 특허들에 나타나 있는 바와 같이 처리 구조(14)와 별개일 수 있으며, 또는 개인용 컴퓨터(PC), 태블릿 PC, 랩톱 PC, 개인용 휴대 정보 단말기(PDA), 셀룰러 전화 또는 기타 적합한 디바이스의 경우와 같이 일체형 컴팩트 유닛을 형성하도록 처리 구조(14)와 결합될 수 있다.
이 실시예에서 처리 구조(14)는 컴퓨터 형태의 범용 컴퓨팅 디바이스이다. 컴퓨터는 예를 들어, 프로세싱 유닛, 시스템 메모리(휘발성 및/또는 비휘발성 메모리), 기타 탈착가능하지 않거나 탈착가능한 메모리(하드 디스크 드라이브, RAM, ROM, EEPROM, CD-ROM, DVD, 플래시 메모리 등) 및 프로세싱 유닛에 다양한 컴퓨터 컴포넌트를 연결하는 시스템 버스를 포함한다.
처리 구조(14)는 스마트 테크놀러지스 유엘씨에 의해 제공된 스마트 노트북(SMART NotebookTM)과 같은 호스트 소프트웨어 애플리케이션을 실행한다. 알려져 있는 바와 같이, 실행 동안, 스마트 노트북 애플리케이션은 그 위에 자유형식 또는 손으로 쓴 잉크 객체 및 기타 객체가 입력될 수 있으며 좌표 입력 디바이스와의 포인터 상호작용을 통해 조작될 수 있는 좌표 입력 디바이스(12)의 디스플레이 표면 상에 제시되는 캔버스 페이지 또는 팔레트를 포함하는 그래픽 사용자 인터페이스를 제공한다. 스마트 노트북 애플리케이션은 이 실시예에서 손으로 그려진 표를 인식하고 이러한 손으로 그려진 표를 대응하는 표 객체로 전환하는 툴을 구비한다.
도 1b는 손으로 그려진 표 인식 툴(16)의 컴포넌트를 도시하는 블록도이다. 볼 수 있는 바와 같이, 손으로 그려진 표 인식 툴은, 선택된 객체를 표 아웃라인 요소 및 표 셀 내용 요소로 구분하는 객체 구분기(16a), 표 아웃라인 요소를 수직 및 수평 선분으로 변환하는 자유형식 선 객체 변환기(16b), 수직 및 수평 선분의 교차점을 식별하는 그리드 시스템을 생성하는 그리드 시스템 생성기(16c), 및 교차점에 기초하여 표 객체를 생성하는 표 객체 생성기(16d)를 포함한다.
도 2a 및 도 2b는 좌표 입력 디바이스(12)의 디스플레이 표면 상에 제시되는 그래픽 사용자 인터페이스(20)를 도시한다. 도 2a 및 도 2b에서, 좌표 입력 디바이스(12)의 디스플레이 표면에 걸친 포인터(26)의 움직임에 응답하여 그래픽 사용자 인터페이스(20)의 캔버스 페이지(24) 상에 손으로 그려진 표(22)가 입력되고 있다. 이 실시예에서, 손으로 그려진 표(22)를 형성하는 전반적으로 수평인 자유형식 선(28)이 먼저 입력되고, 이어서 전반적으로 수직인 자유형식 선(30)이 입력된다. 캔버스 페이지(24) 상에 손으로 그려진 표(12)가 입력된 후에, 손으로 그려진 표(22)를 선택하거나 하이라이트한 다음 손으로 그려진 표 인식 툴(16)을 호출함으로써, 손으로 그려진 표(22)가 인식되어 표 객체로 전환될 수 있다.
도 2c 및 도 2d는 사용자가 손으로 그려진 표 인식 툴(16)을 선택하여 호출할 수 있도록 손으로 그려진 표를 둘러싸는 직사각형 R 뿐만 아니라 사용자에게 제시되는 드롭다운 메뉴 M이 나타나는 것으로서 선택될 때의 손으로 그려진 표(22)를 도시한다. 호출되면, 손으로 그려진 표 인식 툴(16)은 도 2e에 도시된 바와 같이 손으로 그려진 표를 각각 수평 직선 및 수직 직선(34 및 36)을 갖는 표 객체(32)로 전환한다. 알 수 있듯이, 표 객체(32)의 셀들은 손으로 그려진 표(22)의 치수에 전반적으로 대응하는 치수를 갖는다.
도 3a 내지 도 3c와 도 4a 및 도 4b는 그래픽 사용자 인터페이스(20)의 캔버스 페이지(24) 상에 입력된 다음 손으로 그려진 표 인식 툴(16)을 호출함으로써 인식된 불규칙적 형상의 손으로 그려진 표를 도시한다. 도 3a 내지 도 3c에서 볼 수 있듯이, 손으로 그려진 표(38)의 각각의 행은 상이한 수의 셀들을 갖는다. 손으로 그려진 표 인식 툴(16)에 의한 손으로 그려진 표(38)의 인식에 이어서, 그 결과의 표 객체(40)는 손으로 그려진 표(38)와 동일한 구성을 갖는다. 도 4a 및 도 4b에서, 손으로 그려진 표(42)는 하나의 행(row)의 셀들과 하나의 열(column)의 셀들을 포함하며, 행과 열은 교차하여 오프셋 "+"을 형성한다. 손으로 그려진 표 인식 툴(16)에 의한 손으로 그려진 표(42)의 인식에 이어서, 그 결과의 표 객체(44)는 손으로 그려진 표(42)와 동일한 구성을 갖는다.
도 5a는 그래픽 사용자 인터페이스(20)의 캔버스 페이지(24) 상에 입력된 나란히 있는 그림 객체(50 및 52) 및 연관된 밑에 있는 텍스트 객체(54)를 도시한다. 도 5b에서, 전반적으로 수평 및 수직인 자유형식 선(60 및 62)을 포함하는 손으로 그려진 표(58)가 각각 입력되었고, 그리하여 그림 객체(50, 52) 및 텍스트 객체(54, 56)의 각각이 손으로 그려진 표(58)의 상이한 셀에 위치된다. 도 5c 및 도 5에서, 손으로 그려진 표(58)가 선택되고, 손으로 그려진 표 인식 툴(16)이 호출되며, 표 셀 내용으로서 그림 및 텍스트 객체(50 내지 56)를 갖는 대응하는 표 객체(66)가 생성되게 된다.
이제 도 6을 참조하면, 손으로 그려진 표 인식 동안 손으로 그려진 표 인식 툴(16)에 의해 수행되는 일반적인 단계들이 도시된다. 볼 수 있는 바와 같이, 손으로 그려진 표 인식 툴이 호출되면, 손으로 그려진 표를 포함하는 그래픽 사용자 인터페이스의 선택된 영역(상기 예에서는 직사각형 R) 내의 객체들은 객체 구분기(16a)에 의해 2개 그룹, 즉 표 아웃라인 요소와 표 셀 내용 요소 중 하나로 구분된다(단계 100). 이 실시예에서 표 아웃라인 요소는 자유형식 또는 손으로 그린 선 객체(즉, 일련의 (x,y) 좌표로 표현되며 연관된 그래픽 내용 객체가 없는 객체)를 포함한다. 표 셀 내용 요소는 예를 들어 플래시(FlashTM) 객체, 형상 객체, 그림 객체, 텍스트 객체, 숫자 객체, 선이 아닌 손으로 그려진 객체, 창의적인 펜 객체 등과 같은 모든 기타 비자유형식 선(non-freeform line) 객체를 포함한다. 객체들이 구분된 후에, 구분된 표 아웃라인 요소는 자유형식 선 객체 변환기(16b)에 의해 수직 및 수평 선분으로 변환된다(단계 102). 그 다음, 수직 및 수평 선분에 기초하여 그리드 시스템 생성기(16c)에 의해 그리드 시스템이 생성되며, 그리드 시스템은 그리드 시스템에서 각각의 그리드의 4개 코너 좌표를 저장하는 그리드 리스트를 포함한다(단계 104). 그 다음, 생성된 그리드 시스템은 표 객체 생성기(16d)에 의해 표 객체로 전환되며, 표 객체의 각각의 셀은 그리드 리스트에서 그의 대응하는 그리드의 4개 코너 좌표에 대응하는 물리적인 기하학 위치 데이터를 갖는다(단계 106). 이어서, 각각의 구분된 표 셀 내용 요소의 위치가, 생성된 표 객체의 셀과 연관되는 것으로 간주되는지 결정하도록 검사된다(단계 108). 구체적으로, 각각의 구분된 표 셀 내용 객체에 대하여, 구분된 표 셀 내용 객체 상의 중심 또는 기타 지정된 위치가 표 객체의 셀 내에 속하는지 결정하도록 체크된다. 그러한 경우, 구분된 표 셀 내용 요소는 표 셀 내용으로서 표 셀 안으로 배치된다(단계 110).
표 아웃라인 요소의 수직 및 수평 선분으로의 변환 동안 수행되는 단계들(도 6의 단계 102)은 도 7에 더 잘 예시되어 있다. 이 프로세스 동안, 구분된 표 아웃라인 요소가 선택된다(단계 150). 선택된 표 아웃라인 요소의 최소(xmin, ymin) 좌표 및 최대(xmax, ymax) 좌표가 결정된다(단계 152). 최소(xmin, ymin) 좌표에서의 시작점 및 최대(xmax, ymax) 좌표에서의 끝점을 갖는 임시 선분이 생성된다(단계 154). 임시 선분에 대한 배향(orientation) 값이 다음에 따라 계산되고(단계 156),
Figure pct00001
배향 값이 1 이상인지 결정하도록 체크된다(단계 158).
임시 선분의 배향 값이 1 이상이라면, 임시 선분은 최소 x 좌표 값에서 최대 x 좌표 값까지 연장되며 (ymax+ymin)/2의 y 좌표 값을 갖고 yavg로 표시되는 수평 선분으로 변환된다(단계 160). 따라서, 수평 선분은 시작점 (xmin, yavg) 및 끝점(xmax, yavg)을 갖는다. 그 다음, 수평 선분이 이미 수평 선분 리스트에 존재하는 수평 선분과 실질적으로 동일한 y 좌표 위치에 위치되어 있는지 결정하도록, 수평 선분은 수평 선분 리스트와 비교된다(단계 162). 이 실시예에서, 수평 선분의 y 좌표가 기존의 수평 선분의 y 좌표의 10 픽셀 내에 있는 경우 수평 선분은 기존의 수평 선분과 동일한 y 좌표 위치에 있는 것으로 간주된다. 수평 선분이 기존의 수평 선분과 동일한 y 좌표 위치에 있는 것으로 간주되는 경우, 수평 선분과 기존의 수평 선분이 중첩되는지 결정하도록, 수평 선분의 시작점과 끝점은 기존의 수평 선분의 시작점과 끝점과 비교된다. 수평 선분 및 기존의 수평 선분은 다음 조건들 중 하나가 참인 경우 중첩되는 것으로 간주된다:
Figure pct00002
여기에서:
XEmin 및 XEmax는 각각 기존의 수평 선분의 시작점 및 끝점의 x 좌표임;
Xmin 및 Xmax는 각각 수평 선분의 시작점 및 끝점의 x 좌표임.
수평 선분이 기존의 수평 선분과 중첩되지 않는 것으로 결정되는 경우, 수평 선분은 수평 선분 리스트에 추가된다(단계 164). 그 다음, 선택되지 않은 또다른 구분된 표 아웃라인 요소가 존재하는지 결정하는 체크가 행해진다(단계 166). 선택되지 않은 구분된 표 아웃라인 요소가 존재하지 않는다면, 프로세스는 완료된 것으로 간주된다. 그렇지 않은 경우에는, 프로세스는 단계 150으로 되돌아가며, 다음 구분된 표 아웃라인 요소가 선택된다.
단계 162에서, 수평 선분이 기존의 수평 선분과 중첩된다고 결정되면, 수평 선분과 기존의 수평 선분은 병합되어 수평 선분 리스트에서의 기존의 수평 선분의 시작점과 끝점을 업데이트한다(단계 170). 병합 동안, 수평 선분의 시작점은 기존의 수평 선분의 시작점보다 더 작은지 결정하도록 체크되고, 수평 선분의 끝점은 기존의 수평 선분의 끝점보다 더 큰지 결정하도록 체크된다. 수평 선분의 시작점이 더 작다면, 수평 선분 리스트에서 기존의 수평 선분의 시작점을 덮어쓰기하는데 수평 선분의 시작점이 사용된다. 수평 선분의 끝점이 더 크다면, 수평 선분 리스트에서 기존의 수평 선분의 끝점을 덮어쓰기하는데 수평 선분의 끝점이 사용된다.
단계 170에서 수평 선분과 기존의 수평 선분이 병합되었다면, 프로세스는 단계 166으로 진행하며, 여기에서 선택되지 않은 또다른 구분된 표 아웃라인 요소가 존재하는지 결정하는 체크가 행해진다.
단계 158에서, 임시 선분의 배향 값이 1보다 더 작다면, 임시 선분은 최소 y 좌표 값에서 최대 y 좌표 값까지 연장되며 (xmax + xmin)/2의 x 좌표 값을 갖고 xavg로 표시되는 수직 선분으로 변환된다(단계 180). 그 다음, 수직 선분이 수직 선분 리스트에 이미 존재하는 수직 선분과 동일한 x 좌표 위치에 위치되어 있는지 결정하도록 수직 선분이 수직 선분 리스트와 비교된다(단계 182). 이 실시예에서, 수직 선분의 x 좌표가 기존의 수직 선분의 x 좌표의 10 픽셀 내에 있는 경우 수직 선분은 기존의 수직 선분과 동일한 x 좌표 위치에 있는 것으로 간주된다. 수직 선분이 기존의 수직 선분과 동일한 x 좌표 위치에 있는 것으로 간주되는 경우에, 수직 선분과 기존의 수직 선분이 중첩되는지 결정하도록, 수직 선분의 시작점과 끝점이 그 기존의 수직 선분의 시작점과 끝점과 비교된다. 다음 조건들 중 하나가 참인 경우 수직 선분 및 기존의 수직 선분은 중첩되는 것으로 간주된다:
Figure pct00003
여기에서,
YEmin 및 YEmax는 각각 기존의 수직 선분의 시작점 및 끝점의 y 좌표임;
Ymin 및 Ymax는 각각 수직 선분의 시작점 및 끝점의 y 좌표임.
수직 선분이 기존의 수직 선분과 중복되지 않는다고 결정되면, 수직 선분은 수직 선분 리스트에 추가되고(단계 184), 프로세스는 단계 166으로 진행하며, 여기에서는 선택되지 않은 또다른 구분된 표 아웃라인 요소가 존재하는지 결정하는 체크가 행해진다.
단계 182에서, 수직 선분이 기존의 수직 선분과 중첩된다고 결정되는 경우, 수직 선분 및 기존의 수직 선분은 병합되어 수직 선분 리스트에서 기존의 수직 선분의 시작점과 끝점을 업데이트한다(단계 190). 병합 동안, 수직 선분의 시작점이 기존의 수직 선분의 시작점보다 더 작은지 결정하도록 체크되고, 수직 선분의 끝점이 기존의 수직 선분의 끝점보다 더 큰지 결정하도록 체크된다. 수직 선분의 시작점이 더 작다면, 기존의 수직 선분의 시작점을 덮어쓰기하는데 수직 선분의 시작점이 사용된다. 수직 선분의 끝점이 더 크다면, 기존의 수직 선분의 끝점을 덮어쓰기하는데 수직 선분의 끝점이 사용된다.
수직 선분과 기존의 수직 선분이 단계 190에서 병합되었다면, 프로세스는 단계 166으로 진행하며, 여기에서는 선택되지 않은 또다른 구분된 표 아웃라인 요소가 존재하는지 결정하는 체크가 행해진다.
그리드 시스템의 생성 동안 수행된 단계들(도 6에서의 단계 104)은 도 8에 더 잘 예시되어 있다. 수평 선분 리스트에서 수평 선분들은 가장 높은 y 좌표를 갖는 수평 선분이 리스트의 시작에 있고 가장 낮은 y 좌표를 갖는 수평 선분이 리스트의 끝에 있도록 위에서 아래로 정렬된다(단계 196). 수직 선분 리스트에서 수직 선분들은 가장 낮은 x 좌표를 갖는 수직 선분이 리스트의 시작에 있고 가장 높은 x 좌표를 갖는 수직 선분이 리스트의 끝에 있도록 왼쪽에서 오른쪽으로 정렬된다(단계 198). 그러면, 첫 번째 인접한 수평 선분들 쌍이 수평 선분 리스트로부터 선택되고(단계 200), 첫 번째 인접한 수직 선분들 쌍이 수직 선분 리스트로부터 선택된다(단계 202). 그 다음, 선택된 수평 및 수직 선분들은 각각의 조합이 하나의 수평 선분과 하나의 수직 선분을 포함하는 4개의 상이한 선분 조합을 형성하도록 정렬된다(단계 204). 그 다음, 수직 및 수평 선분의 첫 번째 조합이 선택되고(단계 206), 선택된 조합의 수직 및 수평 선분이 교차하는지 결정하도록 체크된다(단계 208).
선택된 조합의 수직 및 수평 선분이 교차하는 경우, 교차점이 계산되고(단계 210), 계산된 교차점이 교차점 리스트에 추가된다(단계 212). 그 다음, 교차점 리스트가 4개 교차점을 포함하는지 결정하는 체크가 행해진다(단계 214). 그렇지 않은 경우에는, 프로세스는 단계 206으로 되돌아가고, 수직 및 수평 선분의 다음 조합이 선택된다.
단계 208에서, 선택된 조합의 수직 선분과 수평 선분이 교차하지 않는 경우, 선택된 조합의 수평 및 수직 선분을 분리하는 갭(gap)이 문턱값, 이 예에서는 1 픽셀 내에 있는지 결정하는 체크가 행해진다(단계 216). 수평 및 수직 선분을 분리하는 갭이 문턱값 내에 있다면, 수평 및 수직 선분은 교차하는 것으로 간주되고, 유효(effective) 교차점이 계산된다(단계 218). 그 다음, 프로세스는 단계 212로 진행하며, 여기에서는 계산된 유효 교차점이 교차점 리스트에 추가된다.
단계 214에서, 교차점 리스트가 4개 교차점을 포함하는 경우, 4개 교차점의 (x,y) 좌표에 대응하는 코너를 갖는 그리드가 생성되고(단계 230), 그리드가 그리드 시스템 리스트에 추가된다(단계 232). 이에 이어서, 선택되지 않은 또다른 인접한 수직 선분들 쌍이 수직 선분 리스트에 존재하는지 결정하는 체크가 행해진다(단계 234). 또다른 선택되지 않은 인접한 수직 선분들 쌍이 수직 선분 리스트에 존재하는 경우, 수직 선분 리스트의 다음 인접한 수직 선분들 쌍이 선택되고(단계 236), 프로세스는 단계 204로 되돌아간다. 이 방식으로, 수직 선분 리스트에서의 각각의 인접한 수직 선분들 쌍이 선택한 인접한 수평 선분들 쌍과 비교되어 그 사이의 교차점을 결정함으로써, 그리스 시스템에서 수평 그리드의 행의 좌표를 결정한다.
단계 234에서, 선택되지 않은 인접한 수직 선분들 쌍이 존재하지 않는 경우, 선택되지 않은 또다른 인접한 수평 선분들 쌍이 수평 선분 리스트에 존재하는지 결정하는 체크가 행해진다(단계 240). 또다른 선택되지 않은 인접한 수평 선분들 쌍이 수평 선분 리스트에 존재한다면, 수평 선분 리스트에서의 다음 인접한 수평 선분들 쌍이 선택되고(단계 242), 프로세스는 단계 202로 되돌아간다. 그러면, 단계 202 내지 236이 다음 인접한 수평 선분들 쌍에 대하여 반복되며, 수직 선분과 수평 선분 사이의 교차점을 결정함으로써, 그리드 시스템에서 수평 그리드의 다음 행의 좌표를 결정한다. 단계 240에서, 선택되지 않은 인접한 수평 선분들 쌍이 존재하지 않는다면, 그리드 시스템 생성 프로세스는 완료된 것으로 간주된다.
단계 216에서, 선택된 조합의 수평 및 수직 선분을 분리하는 갭이 문턱값을 넘으면, 프로세스는 단계 240으로 진행하여, 선택되지 않은 또다른 인접한 수평 선분들 쌍이 수평 선분 리스트에 존재하는지 결정한다.
표 객체가 생성되었고 표 셀 내용이 표 객체의 셀에 배치되었다면, 적합한 경우, 표 객체는 셀에 배치된 표 셀 내용에 따라 더 처리될 수 있다. 예를 들어, 표 객체의 셀에 숫자 객체가 배치되었다면, 표 객체는 스프레드 시트로서 취급될 수 있고, 예를 들어 엑셀(ExcelTM)과 같은 다른 스프레드시트 프로그램과 마찬가지의 동작이 수행된다. 이 경우, 표 객체의 셀 행이나 열 중 하나의 끝에 있는 셀에 "+"와 비슷한 손으로 그린 객체를 배치하면, 합산 연산을 호출하며, 그리하여 그 하나의 행이나 열 안의 숫자 객체들의 합이 계산되어 그 안에 "+" 객체를 갖는 셀에 표시된다. 물론, 표 객체의 셀에 다른 연산을 나타내는 객체들을 배치함으로써 다른 연산들이 호출될 수도 있다.
상기 기재된 문턱값에 대하여 특정 값이 제공되었지만, 당해 기술 분야에서의 숙련자라면, 문턱값은 손으로 그려진 표 인식 툴(16)이 채용되는 특정 환경에 맞도록 프로세스를 완화시키거나 조이도록 변경될 수 있다는 것을 알 것이다. 또한, 각각의 표 아웃라인 요소의 증가에 대해 진행을 계산하는 것이 아니라, 자유형식 선의 배향을 결정하는데 다른 기술이 채용될 수 있다. 또한, 상기 실시예에서는 표 아웃라인 요소로서 인식되는 것으로서 자유형식 선 객체를 기재하고 있지만, 원하는 경우, 자유형식 선 객체 및 형상 객체의 선택된 조합이 또한 표 아웃라인 요소로서 인식될 수도 있다.
원하는 경우, 단계 150에서 각각의 표 아웃라인 요소가 선택될 때, 표 아웃라인 요소는 표 아웃라인 요소가 표 선 또는 수기와 같은 표 선이 아닌 다른 선을 나타내는지에 대한 결정을 행하도록 처리될 수 있다. 이는 소정 방향으로 선 좌표의 최대 편차를 분석함으로써 또는 도함수를 계산함으로써 달성될 수 있다. 대안으로서, 사용자에게는 입력 제스처를 사용하여 표가 아닌 선을 지정할 수 있는 능력이 제공될 수 있다.
상기 실시예에서, 손으로 그려진 표를 포함한 그래픽 사용자 인터페이스의 선택된 영역 내의 모든 자유형식 선 객체는 표 아웃라인 요소로서 취급된다. 그러나, 일부 상황에, 손으로 그려진 표는 손으로 그려진 표 셀 내용을 포함할 수 있다. 이러한 손으로 그려진 표 셀 내용이 표 인식 프로세스 동안 누락되는 것을 피하기 위하여, 표 아웃라인 요소를 나타내는 자유형식 선 객체와 기타 자유형식 선 객체 사이를 구별하는 것이 필요하다.
도 9 및 도 10을 참조하면, 손으로 그려진 표 인식 툴의 대안의 실시예 동안 수행되는 단계들이 도시되어 있다. 이 실시예에서, 손으로 그려진 표 인식 툴은 표 아웃라인 요소를 나타내는 자유형식 선 객체와 기타 자유형식 선 객체 사이를 구별한다. 이전의 실시예와 마찬가지로 손으로 그려진 표 인식 툴이 호출될 때, 손으로 그려진 표를 포함하는 그래픽 사용자 인터페이스의 선택된 영역 내의 객체는 객체 구분기(16a)에 의해 자유형식 또는 손으로 그려진 선 객체와 비자유형식 선 객체로 구분된다. 자유형식 선 객체가 식별되었다면, 자유형식 선 객체 중 하나가 먼저 선택되고(단계 300), 선택된 자유형식 선 객체가 곡선으로 인식될 수 있는지 결정하는 체크가 행해진다(단계 302). 그러한 경우, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다(단계 306). 그 다음, 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다(단계 308). 그러한 경우, 프로세스는 단계 300으로 되돌아가고, 다음 자유형식 선 객체가 선택된다. 그렇지 않은 경우, 프로세스는 종료된다.
단계 302에서, 선택된 자유형식 선 객체가 곡선으로서 인식될 수 없는 경우, 선택된 자유형식 선 객체가 예를 들어 아라비아 문자, 표의 문자, 부호 등과 같은 문자로서 인식될 수 있는지 결정하는 체크가 행해진다(단계 310). 선택된 자유형식 선 객체가 문자로서 인식될 수 있는 경우, 선택된 자유형식 선 객체가 표 아웃라인의 형상과 혼동될 수 있는 문자와 비슷한지 결정하는 체크가 행해진다(단계 312). 예를 들어, 선택된 자유형식 선 객체가 예를 들어 영어 문자 "T", "E, "F" 및 "I", 중국어 문자
Figure pct00004
,
Figure pct00005
Figure pct00006
또는 임의의 기타 문자, 표의 문자 또는 표 아웃라인 형상과 비슷한 부호와 같이 수평 및/또는 수직 선분으로 구성된 글자와 비슷한지 결정하도록 검사될 수 있다. 그렇지 않은 경우, 프로세스는 단계 306으로 진행하며, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다.
단계 312에서, 선택된 자유형식 선 객체가 표 아웃라인의 형상과 혼동될 수 있는 문자와 비슷한 경우, 선분이 수직선과 비슷한지 아니면 수평선과 비슷한지 결정하도록, 선택된 자유형식 선 객체를 구성하는 각각의 선분의 경사가 검사된다(단계 314). 선택된 자유형식 선 객체를 형성하는 선분 중 하나 이상이 수직선이나 수평선과 비슷하지 않다면, 프로세스는 단계 306으로 진행하며, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다. 단계 314에서, 선택된 자유형식 선 객체를 형성하는 각각의 선분이 수직선이나 수평선과 비슷한 경우, 선택된 자유형식 선 객체의 각각의 선분은 그의 경사에 기초하여 수평 또는 수직 표 아웃라인 후보로서 식별되고, 표 아웃라인 후보 리스트에 추가된다(단계 316). 그 다음, 프로세스는 단계 308로 진행되며, 여기에서는 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다.
단계 310에서, 선택된 자유형식 선 객체가 문자로서 인식될 수 없는 경우, 선택된 자유형식 선 객체가 사선과 비슷한지 결정하는 체크가 행해진다(단계 318). 그러한 경우, 프로세스는 단계 306으로 진행되고, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다. 그렇지 않은 경우, 자유형식 선 객체는 그의 경사에 기초하여 수평 또는 수직 표 아웃라인 후보로서 식별되고, 표 아웃라인 후보 리스트에 추가된다. 그 다음, 프로세스는 단계 308로 진행되며, 여기에서는 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다.
표 아웃라인 후보가 결정되었고 표 아웃라인 후보 리스트가 완성되면, 표 아웃라인 후보는 손으로 그려진 표를 나타내는 표 객체를 생성하기 위하여 앞서 기재한 방식으로 자유형식 선 객체 변환기(16b), 그리드 시스템 생성기(16c), 및 표 객체 생성기(16d)에 의해 처리된다. 표 객체가 생성된 후에, 표 아웃라인 후보 리스트에서의 표 아웃라인 후보는, 표 아웃라인 후보가 사실상 생성된 표 객체의 일부를 나타내는지, 표 셀 내용을 나타내는지, 아니면 생성된 표 객체 외부의 자유형식 내용을 나타내는지 결정하도록 검사된다.
이 프로세스 동안, 표 아웃라인 후보가 선택되고(단계 340), 선택된 표 아웃라인 후보는 자유형식 선 객체 변환기(16a)에 의해 수직 및/또는 수평 선분으로 변환된다(단계 342). 각각의 수직 선분에 대하여, 그것과 표 객체의 가장 가까운 수직 선분 사이의 거리가 문턱 분리 값 내에 있는지 그리고 수직 선분 및 표 객체의 수직 선분의 시작점과 끝점이 중첩되는지 결정하는 체크가 행해진다(단계 344). 또한, 선택된 표 아웃라인 후보의 각각의 수평 선분에 대하여, 그것과 표 객체의 가장 가까운 수평 선분 사이의 거리가 문턱 분리 값 내에 있는지 그리고 수평 선분 및 표 객체의 수평 선분의 시작점과 끝점이 중첩되는지 결정하는 체크가 행해진다(단계 344). 상기 체크에서 참이라면, 표 아웃라인 후보는 표 객체의 일부인 것으로 가정되고 폐기된다(단계 346). 그 다음, 또 다른 선택되지 않은 표 아웃라인 후보가 존재하는지 결정하는 체크가 행해진다(단계 348). 그러한 경우, 프로세스는 단계 340으로 되돌아가고, 다음 표 아웃라인 후보가 선택된다. 그렇지 않은 경우, 프로세스는 종료된다.
단계 344에서, 체크가 참이 아니라면, 표 아웃라인 후보 기하학적 중심 위치가 표 객체의 셀 내에 속하는지 여부를 결정하는 체크가 행해진다(단계 350). 그러한 경우, 표 아웃라인 후보는 표 셀 내용 요소로서 인식되고(단계 352), 프로세스는 단계 348로 진행되며, 여기에서는 또다른 선택되지 않은 표 아웃라인 후보가 존재하는지 결정하는 체크가 행해진다. 단계 350에서, 표 아웃라인 기하학적 중심 위치가 표 객체의 셀 내에 속하지 않는 경우, 표 아웃라인 후보는 손으로 그려진 표 외부의 자유형식 선 객체인 것으로 간주된다(단계 354). 그 다음, 프로세스는 단계 348로 진행되며, 여기에서는 또다른 선택되지 않은 표 아웃라인 후보가 존재하는지 결정하는 체크가 행해진다.
이전의 실시예와 마찬가지로, 표 객체가 생성되었고 표 아웃라인 후보가 표 객체의 일부로서 아니면 내부 또는 외부 표 객체 내용으로서 확인되면, 단계 306에서 식별되는 각각의 표 셀 내용 요소의 위치는, 생성된 표 객체의 셀과 연관되는 것으로 간주되는지 결정하도록 검사된다. 그러한 경우, 표 셀 내용 요소는 표 셀 내용으로서 표 셀 안으로 배치된다. 그렇지 않은 경우에는, 표 셀 내용 요소는 생성된 표 객체 밖의 내용 객체인 것으로 간주되고, 그의 원래 위치에 남겨진다.
도 11a, 도 11b, 도 12a 및 도 12b는 그래픽 사용자 인터페이스(20)의 캔버스 페이지(24) 상에 입력된 다음 도 9 및 도 10에 따라 동작하는 손으로 그려진 표 인식 툴을 호출함으로써 인식되어 각각 표 객체(364 및 366)가 되게 되는 손으로 그려진 표(360 및 362)를 도시한다. 볼 수 있는 바와 같이, 손으로 그려진 표(360 및 362)의 자유형식 선 셀 내용(368)은 보존된다.
원하는 경우, 도 10에 예시된 단계들은 그리드 시스템의 생성 동안 그리드 시스템 생성기(16c)에 의해 수행될 수 있다. 이 경우에, 그리드 점이 생성될 때, 결과적으로 생성된 그리드 점이 되는 수직 및 수평 선분에 대응하는 2개의 자유형식 선 객체가 "사용됨(used)"으로서 마킹된다. 표 객체가 그리드 점을 사용하여 생성된 후에, "사용됨"으로 지정되었던 수직 및 수평 선분에 대응하는 모든 자유형식 선 객체가 폐기된다. 나머지 자유형식 선 객체는 내용 객체로서 식별된다. 자유형식 선 객체의 위치는 자유형식 선 객체가 표 셀 내용을 나타내는지 아니면 손으로 그려진 표 밖의 내용 객체를 나타내는지 결정하는데 사용된다.
어떤 환경에서는 사선을 사용하여 표의 셀들을 분할하는 것이 일반적이다. 예를 들어, 도 13a 내지 도 13g는 사선(382)에 의해 분할된 하나 이상의 셀들을 갖는 표 객체(380)를 도시한다. 이들 경우에, 상기 실시예에서와 같이 사선을 표 셀 내용으로서 취급하는 것이 아니라, 하나 이상의 사선(382)에 의해 그려진 표 셀의 각각의 영역이 각자의 표 셀 내용을 담을 수 있도록 사선들을 표 셀 파티션으로서 취급하는 것이 바람직하다.
도 14 및 도 15를 참조하면, 손으로 그려진 표 인식 툴의 또 다른 실시예에 의해 수행되는 단계들이 도시된다. 이 실시예에서, 손으로 그려진 표 인식 툴이 호출될 때, 손으로 그려진 표를 포함하는 그래픽 사용자 인터페이스의 선택된 영역 내의 객체는 객체 구분기(16a)에 의해 자유형식 또는 손으로 그려진 선 객체 및 비자유형식 선 객체로 구분된다. 자유형식 선 객체가 식별되었다면, 자유형식 선 객체들 중 하나가 선택되고(단계 400), 선택된 자유형식 선 객체가 곡선으로서 인식될 수 있는지 결정하는 체크가 행해진다(단계 402). 그러한 경우, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다(단계 406). 그 다음, 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다(단계 408). 그러한 경우, 프로세스는 단계 400으로 되돌아가고, 다음 자유형식 선 객체가 선택된다. 그렇지 않은 경우에는, 프로세스는 종료된다.
단계 402에서, 선택된 자유형식 선 객체가 곡선으로서 인식될 수 없는 경우, 선택된 자유형식 선 객체가 문자로서 인식될 수 있는 결정하는 체크가 행해진다(단계 410). 선택된 자유형식 선 객체가 문자로서 인식될 수 있다면, 선택된 자유형식 선 객체가 예를 들어 도 9 및 도 10의 실시예를 참조하여 이전에 식별한 이들 문자 및 글자와 같이 표 아웃라인의 형상과 혼동될 수 있는 문자와 비슷한지 결정하는 체크가 행해진다(단계 412). 그렇지 않은 경우, 프로세스는 단계 406으로 진행하고, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다. 선택된 자유형식 선 객체가 표 아웃라인의 형상과 혼동될 수 있는 문자와 비슷한 경우, 선분이 수직선과 비슷한지 수평선과 비슷한지 아니면 사선과 비슷한지 결정하도록, 선택된 자유형식 선 객체를 구성하는 각각의 선분의 경사가 검사된다(단계 414). 선택된 자유형식 선 객체를 구성하는 선분들 중 하나 이상이 수직선, 수평선 또는 사선 어느 것과도 비슷하지 않은 경우, 프로세스는 단계 406으로 진행하고, 선택된 자유형식 선 객체는 표 셀 내용 요소로서 식별된다. 선택된 자유형식 선 객체를 구성하는 각각의 선분이 수직선이나 수평선이나 아니면 사선과 비슷한 경우, 선택된 자유형식 선 객체의 각각의 선분은 그 경사에 기초하여 수평, 수직 또는 사선 표 아웃라인 후보로서 식별된다(단계 416). 각각의 식별된 수평 및 수직 표 아웃라인 후보는 표 아웃라인 후보 리스트에 추가되고, 각각의 식별된 사선 표 아웃라인 후보는 셀 사선 후보 리스트에 추가된다. 그 다음, 프로세스는 단계 408로 진행되며, 여기에서는 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다.
단계 410에서, 선택된 자유형식 선 객체가 문자로서 인식될 수 없는 경우, 선택된 자유형식 선 객체가 사선과 비슷한지 결정하는 체크가 행해진다(단계 418). 그렇지 않은 경우, 자유형식 선 객체는 그의 경사에 기초하여 수평 또는 수직 표 아웃라인 후보로서 식별되고, 표 아웃라인 후보 리스트에 추가된다(단계 416). 단계 418에서 선택된 자유형식 선 객체가 사선과 비슷한 경우, 자유형식 선 객체는 사선 표 아웃라인 후보로서 식별되어 셀 사선 후보 리스트에 추가되고(단계 420), 프로세스는 단계 408로 진행되며 여기에서는 또다른 선택되지 않은 자유형식 선 객체가 존재하는지 결정하는 체크가 행해진다.
표 아웃라인 후보가 결정되었고 표 아웃라인 후보 및 셀 사선 후보 리스트가 완성되었다면, 표 객체를 생성하고 표 아웃라인 후보를 표 객체의 일부, 표 셀 내용 또는 손으로 그려진 표 외부의 내용으로서 확인하기 위하여, 표 아웃라인 후보 리스트의 표 아웃라인 후보는 도 9 및 도 10에 관련하여 앞서 기재한 방식으로 처리된다.
그 다음, 각각의 표 셀 내용 요소의 위치는 생성된 표 객체의 셀과 연관되는 것으로 간주되는지 결정하도록 검사된다. 그러한 경우, 표 셀 내용 요소는 표 셀 내용으로서 표 셀 안에 배치된다. 그렇지 않은 경우에는, 표 셀 내용 객체는 생성된 표 객체 외부의 내용 객체인 것으로 간주되고 그의 원래 위치에 남긴다.
상술한 것이 완료되면, 셀 사선 후보 리스트는 셀 사선 후보 리스트의 사선들이 표 객체 셀 파티션을 나타내는지 아니면 내용 객체를 나타내는지 결정하도록 처리된다. 셀 사선 후보 리스트의 처리 동안, 셀 사선 관계가 먼저 확립된다(단계 440). 이 실시예에서, 표 셀 안에 속하는 사선의 길이가 문턱값보다 더 큰 경우 사선은 표 셀에 포함되는 것으로 간주된다. 예를 들어, 도 16에서, 표 셀 A 및 B는 사선 L1을 포함하지 않는 것으로 간주된다. 이 실시예에서 문턱값은 표 셀의 대각선 길이의 소분수(small fraction) r이며 미리 정의되고, 예를 들어 1/8 또는 1/16이다. 따라서, 문턱값은 손으로 그려진 표의 크기와만 관련되며 좌표 입력 디바이스(12)의 크기와는 관련되지 않는다. 이러한 문턱값을 사용하는 것은 사선을 그리는데 있어서의 부정확도를 수용하면서 사선을 정확히 인식할 수 있는 능력을 여전히 유지한다. 적은 연산 비용으로써, 표 셀들이 작을 때 표 셀 크기에 비해 손으로 그려진 사선의 부정확도가 클 수 있다는 사실을 보상하도록 적응적 분수(adaptive fraction) r이 사용될 수 있다. 이러한 적응적 분수 r은 픽셀의 포인터의 팁 직경에 대한 표 셀의 대각선 길이의 비율에 따라 동적으로 결정된다. 비율이 큰 경우, 작은 분수 r, 예를 들어 1/16 이하가 사용된다. 비율이 작은 경우에는, 상대적으로 더 큰 분수 r, 예를 들어 1/8 이상이 사용된다.
셀 사선 관계를 확립한 후에, 다수의 표 셀에 포함되어 있는 사선들이 식별되고 셀 사선 후보 리스트로부터 삭제된다(단계 442). 그 후에, 표 셀에 연결되지 않은 사선들이 식별되고 셀 사선 후보 리스트로부터 삭제된다(단계 444). 이 프로세스 동안, 상기와 동일한 문턱값을 사용하여, 각각의 사선이 표 셀에 연결되어 있는지 결정하도록 체크된다. 도 16으로 다시 돌아가서, 사선의 방향을 따라 사선의 끝에서 표 셀의 가장 가까운 경계선 사이의 거리(d1 또는 d2)가 문턱값보다 더 크다면, 사선은 표 셀 내용 요소로서 인식되고, 셀 사선 후보 리스트로부터 삭제된다.
대안으로서, 사선의 각각의 끝과 인접한 수평 및 수직 표 셀 경계선 사이의 가장 작은 거리를 사용하여 사선이 표 셀에 연결되어 있는지 결정할 수 있다. 도 17에 도시된 바와 같이, 연결도 c는 다음과 같이 계산된다:
Figure pct00007
사선의 어느 하나의 끝에 대한 연결도가 문턱값 분수 r보다 더 크다면, 사선은 표 셀에 연결되지 않은 것으로 간주되고, 표 셀 내용 요소로서 인식되며 셀 사선 후보 리스트로부터 삭제된다.
단계 444에 이어서, 적어도 하나의 사선을 포함하는 각각의 표 셀에 대하여, 표 셀은 표 셀에 포함된 사선(들)을 정규화하도록 처리된다. 이 실시예에서, 각각의 사선은 표 셀의 적어도 하나의 꼭지점에 연결되어야 한다. 따라서, 각각의 사선에 대하여, 사선의 각각의 끝과 표 셀의 가장 가까운 꼭지점 사이의 거리가 계산되고(단계 446), 그 다음 표 셀의 대각선의 길이로 나눠진다. 그 다음, 사선의 적어도 하나의 끝이 표 셀의 꼭지점에 연결되는지 결정하도록 그 결과의 비율이 검사된다(단계 448). 둘 다의 비율이 문턱값 r보다 더 큰 경우, 사선은 표 셀 내용 요소로서 인식되고, 셀 사선 후보 리스트로부터 삭제된다(단계 450).
비율들 중 하나가 문턱값 r보다 더 작다면, 사선의 대응하는 끝이 꼭지점에 연결되도록 조정된다(단계 452). 사선의 첫 번째 끝은 표 셀의 꼭지점에 연결되어 있지만 사선의 두 번째 끝이 그렇지 않은 경우, 두 번째 끝은 표 셀 경계선의 가장 가까운 표준점에 연결되도록 조정된다(단계 456).
표준점은 각각의 표 셀 경계선 상에 미리 정의된 연결점들 세트이다. 각각의 표 셀 경계선에 대하여, 이들 연결점들은 사선의 양 끝, 중간점, 가장 가까운 선 끝까지의 거리가 표 셀 경계선의 길이의 1/3인 점, 그 외에도 기타 원하는 점들을 포함한다. 표 셀과 연관된 표준점들의 예가 도 18에 도시되어 있으며, 여기에서 연결점들은 "X"로서 마킹되어 있다. 도 19a 및 도 19b는 사선 인식 전과 사선 인식 후의 표 셀을 도시한다.
표 셀 내의 모든 사선들이 처리된 후에, 표 셀은 사선에 의해 서브셀들로 분할된다. 그 다음, 표 셀 내용이 대응하는 서브셀들에 맞도록 표 셀에서의 표 셀 내용의 위치가 조정된다(단계 458). 이 단계에서, 각각의 서브셀에 대한 내용 영역은 서브셀 경계선까지의 미리 정의되고 사용자 조정가능한 마진을 갖는 각각의 서브셀 내의 영역으로서 정의된다. 도 20은 3개 서브셀들 내의 내용 영역을 도시한다(점선 경계선을 갖는 영역). 각각의 내용 영역에서, 중심선이 또한 정의된다. 사용자에게는 도 21a 및 도 21b에 도시된 바와 같이, (1) 내용 영역 내의 중심선을 따라, 그리고 (2) 내용 영역 내의 다수의 수평선들을 따라 각각의 내용 영역에서 표 셀 내용 요소를 정렬할 수 있는 2개 포지셔닝 옵션이 제공된다. 이 실시예에서, 첫 번째 옵션이 디폴트로서 사용된다. 그 다음, 각각의 표 셀 내용 요소가 그의 중심점에 따라 서브셀에 할당된다. 즉, 표 셀 내용 요소의 중심점이 서브셀 안으로 속하는 경우, 표 셀 내용 요소는 그 서브셀로 할당되고 선택된 포지셔닝 옵션에 따라 위치 조정된다.
상기 실시예에서, 표 셀 내의 사선들은 끝에서 병합된다. 그러나, 당해 기술 분야에서의 숙련자라면, 이러한 조건이 필수적이지 아닐 수 있고 사선의 끝이 표 셀 경계선 상의 임의의 표준점에 연결될 수 있다는 것을 알 것이다.
또 다른 실시예에서, 코너 표 셀이 2개 이상의 서브셀들로 분할될 때, 서브셀들은 타이틀로서 마킹된다. 둘보다 많은 수의 코너 표 셀들이 서브셀들로 분할되는 경우, 미리 정의된 코너 셀(예를 들어, 가장 위의 왼쪽 셀)이 타이틀을 정의하는데 사용된다.
도 22는 가장 위의 왼쪽 코너 셀이 2개 서브셀들로 분할되는 경우의 스케쥴 표를 도시한다. 그러면, 왼쪽 서브셀("Name")은 제1 열의 타이틀로서 정의되고, 제1 열의 셀들("Peter", "Tom" 및 "Joey")은 행 타이틀로서 정의된다. 오른쪽 서브셀("Day")은 제1 행의 타이틀로서 정의되고, 제1 행의 셀들("Monday", "Tuesday", "Wednesday" 및 "Thursday")은 열 타이틀로서 정의된다.
도 23은 가장 위의 왼쪽 코너 셀이 3개 서브셀로 분할되는 경우의 또다른 스케쥴 표를 도시한다. 왼쪽 서브셀("Name")은 제1 열의 타이틀로서 정의되고, 제1 열의 셀들("Peter", "Tom" 및 "Joey")은 행 타이틀로서 정의된다. 오른쪽 서브셀("Day")은 제1 행의 타이틀로서 정의되고, 제1 행의 셀들("Monday", "Tuesday", "Wednesday" 및 "Thursday")은 열 타이틀로서 정의된다. 중간의 서브셀("Task")은 제1 행과 제1 열을 제외한 모든 셀의 타이틀로서 정의된다. 타이틀들의 자동 정의로써, 표는 데이터베이스형 작업을 수행하는데 또는 데이터베이스에의 연결을 용이하게 하는데 사용된다. 이는 또한 열/행 타이틀들이 읽기 용이하도록 바람직하게 각각의 페이지에 반복되는 다수의 페이지까지 확장되는 큰 표를 인쇄하는데 유용하다. 또한, 열과 행의 타이틀들은 자동으로 예를 들어 그것들을 진하게 함으로써 그리고/또는 그들 폰트 크기를 조정하는 등과 같이 형식 조정될 수 있다.
손으로 그려진 표 인식 툴이 스마트 노트북 애플리케이션에서의 그 구현을 구체적으로 참조하여 기재되었지만, 당해 기술 분야에서의 숙련자라면, 손으로 그려진 표 인식 툴은 단독형 툴로서 사용될 수 있거나 또는 손으로 그려진 자유형식 선들로부터의 표 객체의 생성을 용이하게 하도록 기타 디지털 잉크 소프트웨어 환경에서의 특징으로서 구현될 수 있다는 것을 알 것이다.
손으로 그려진 표 인식 툴은 루틴, 프로그램, 객체 컴포넌트, 데이터 구조 등을 포함하지만 이에 한정되는 것은 아닌 프로그램 모듈을 포함할 수 있고, 컴퓨터 판독가능한 매체 상에 저장된 컴퓨터 판독가능한 프로그램 코드로서 구현될 수 있다. 컴퓨터 판독가능한 매체는 나중에 컴퓨터 시스템에 의해 읽힐 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 판독가능한 매체의 예는 예를 들어 판독 전용 메모리, 랜덤 액세스 메모리, 플래시 메모리, CD-ROM, 자기 테이프, 광 데이터 저장 장치 및 기타 저장 매체를 포함한다. 컴퓨터 판독가능한 프로그램 코드가 분산 방식으로 저장 및 실행되거나 로컬 실행을 위해 네트워크를 통해 복사되도록, 컴퓨터 판독가능한 프로그램 코드는 또한 컴퓨터 시스템에 연결되는 것을 포함하여 네트워크를 통해 분산될 수 있다.
도면을 참조하여 실시예들이 기재되었지만, 당해 기술 분야에서의 숙련자라면 첨부된 청구항에 의해 정의되는 범위로부터 벗어나지 않고서 변형 및 수정이 행해질 수 있다는 것을 알 것이다.
10: 상호작용형 입력 시스템
12: 좌표 입력 디바이스
14: 처리 구조
16: 손으로 그려진 표 인식 툴
20: 그래픽 사용자 인터페이스

Claims (36)

  1. 자유형식(freeform) 선 객체에 의해 형성된 입력 손으로 그려진(hand-drawn) 표를 인식하는 컴퓨터화된 방법에 있어서,
    상기 표의 각각의 자유형식 선 객체를 수직 선분 및 수평 선분 중 하나로 변환하고;
    상기 수직 및 수평 선분에 기초하여 그리드(grid) 시스템을 생성하고;
    상기 생성된 그리드 시스템을 표 객체로 전환하는 것을 포함하는 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  2. 청구항 1에 있어서, 상기 변환하는 것은 각각의 자유형식 선 객체에 대하여,
    상기 자유형식 선 객체의 배향을 검사하고;
    상기 자유형식 선 객체의 배향에 기초하여 상기 자유형식 선 객체를 나타내는 수평 및 수직 선분 중 하나를 생성하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  3. 청구항 2에 있어서, 상기 변환하는 것은 각각의 자유형식 선 객체에 대하여,
    상기 자유형식 선 객체의 시작점과 끝점을 결정하고;
    상기 결정된 시작점과 끝점 사이에 연장하는 임시 선분을 생성하고;
    상기 임시 선분의 배향을 결정하고;
    상기 결정된 배향에 기초하여, 상기 수평 선분 및 수직 선분 중 하나를 생성하는 것을 더 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  4. 청구항 3에 있어서, 상기 변환하는 것은,
    각각의 생성된 수평 선분에 대하여, 생성된 수평 선분이 기존의 수평 선분과 중첩되는지 결정하고, 중첩되는 경우 상기 생성된 수평 선분과 상기 기존의 수평 선분을 병합하고(merge);
    각각의 생성된 수직 선분에 대하여, 생성된 수직 선분이 기존의 수직 선분과 중첩되는지 결정하고, 중첩되는 경우 상기 생성된 수직 선분과 상기 기존의 수직 선분을 병합하는 것을 더 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  5. 청구항 4에 있어서, 상기 변환하는 것은,
    각각의 생성된 수평 선분을 수평 선분 리스트와 비교하여 기존의 수평 선분과 중첩되는지 결정하고;
    중첩되지 않는 경우 상기 생성된 수평 선분을 상기 리스트에 추가하며, 중첩되는 경우에는 상기 병합을 수행하고;
    각각의 생성된 수직 선분을 수직 선분 리스트와 비교하여 기존의 수직 선분과 중첩되는지 결정하고;
    중첩되지 않는 경우 상기 생성된 수직 선분을 상기 리스트에 추가하며, 중첩되는 경우에는 상기 병합을 수행하는 것을 더 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  6. 청구항 5에 있어서, 상기 변환하는 것은, 상기 비교하여 중첩되는지 결정하기 전에,
    상기 수평 선분이 상기 수평 선분 리스트 내의 기존의 수평 선분의 문턱값 수직 거리 내에 있는지 결정하도록 각각의 수평 선분을 검사하고;
    상기 문턱값 수직 거리 내에 있는 경우 상기 비교하여 중첩되는지 결정하는 것을 수행하고, 상기 문턱값 수직 거리 내에 있지 않은 경우에는 상기 비교하여 중첩되는지 결정하는 것을 우회하며, 상기 수평 선분을 상기 리스트에 추가하고;
    상기 수직 선분이 상기 수직 선분 리스트 내의 기존의 수직 선분의 문턱값 수평 거리 내에 있는지 결정하도록 각각의 수직 선분을 검사하고;
    상기 문턱값 수평 거리 내에 있는 경우 상기 비교하여 중첩되는지 결정하는 것을 수행하고, 상기 문턱값 수평 거리 내에 있지 않은 경우에는 상기 비교하여 중첩되는지 결정하는 것을 우회하며, 상기 수직 선분을 상기 리스트에 추가하는 것을 더 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서, 상기 그리드 시스템은 상기 수평 및 수직 선분들의 교차로 간주된 것에 기초하여 생성되는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  8. 청구항 7에 있어서, 상기 그리드 시스템을 생성하는 것은,
    인접한 수직 및 인접한 수평 선분의 쌍들을 선택하고;
    각각의 인접한 수직 선분 쌍과 각각의 인접한 수평 선분 쌍에 대하여, 그 사이의 교차점을 결점함으로써 상기 그리드 시스템에서 각각의 그리드의 4개 코너 좌표를 산출하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  9. 청구항 8에 있어서, 상기 그리드 시스템을 생성하는 것은,
    각각의 인접한 수직 선분 쌍과 각각의 인접한 수평 선분 쌍에 대하여, 상기 수직 및 수평 선분들을 다양한 조합 - 각각의 조합은 하나의 수직 선분 및 하나의 수평 선분을 포함함 - 으로 정렬하고;
    각각의 조합에 대하여, 상기 수직 및 수평 선분들 사이의 교차점을 계산함으로써 상기 코너 좌표를 계산하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  10. 청구항 9에 있어서, 문턱값 분리 간격 내에 있는 교차하지 않는 수직 및 수평 선분들의 각각의 조합에 대하여 유효 교차점을 계산하는 것을 더 포함하는, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  11. 청구항 8 내지 청구항 10 중 어느 한 항에 있어서, 상기 전환하는 것은 각각의 그리드의 4개 코너 좌표를 사용하여 상기 표 객체의 대응하는 셀의 코너를 정의하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  12. 청구항 1 내지 청구항 11 중 어느 한 항에 있어서,
    상기 표 객체 내에 있는 입력 비자유형식(non-freeform) 선 객체를 검출하고;
    상기 검출된 비자유형식 선 객체를 표 객체 내용으로서 상기 표 객체 안으로 삽입하는 것을 더 포함하는, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  13. 청구항 12에 있어서, 상기 삽입하는 동안, 각각의 검출된 비자유형식 선 객체는 표 셀 내용으로서 상기 표 객체의 대응하는 셀 안으로 배치되는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  14. 청구항 13에 있어서, 상기 검출하는 것은 상기 표 객체의 셀 내에 위치되어진 지정된 위치를 갖는 비자유형식 선 객체를 결정하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  15. 청구항 12 내지 청구항 14 중 어느 한 항에 있어서, 상기 표 객체 내에 배치된 표 셀 내용에 기초하여 상기 표 객체를 처리하는 것을 더 포함하는, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  16. 청구항 1 내지 청구항 15 중 어느 한 항에 있어서, 상기 변환하기 전에, 상기 자유형식 선 객체가 표 객체 내용을 나타내는지 결정하도록 각각의 자유형식 선 객체를 검사하는 것을 포함하며, 상기 변환하고, 생성하고, 전환하는 것은, 표 객체 내용을 나타내는 것이 아닌 자유형식 선 객체에 대해서만 수행되는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  17. 청구항 16에 있어서, 상기 검사하는 것은, 상기 자유형식 선 객체가 곡선과 비슷한지 결정하고, 곡선과 비슷한 경우 상기 자유형식 선 객체를 표 객체 내용을 나타내는 것으로서 지정하는 것을 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  18. 청구항 17에 있어서, 상기 검사하는 것은, 상기 자유형식 선 객체가 곡선과 비슷하지 않은 경우에는, 상기 자유형식 선 객체가 문자와 비슷한지 결정하고, 문자와 비슷한 경우 상기 문자가 표 아웃라인의 형상과 비슷한 문자인지 결정하고, 문자와 비슷하지 않은 경우에는 상기 자유형식 선 객체를 표 객체 내용을 나타내는 것으로서 지정하는 것을 더 포함하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  19. 청구항 18에 있어서, 상기 문자가 표 아웃라인의 형상과 비슷한 경우, 각각의 선분이 수직선과 비슷한지 아니면 수평선과 비슷한지 결정하도록 상기 자유형식 선 객체를 구성하는 선분의 경사(slope)를 검사하고, 표 아웃라인의 형상과 비슷하지 않은 경우에는 상기 자유형식 선 객체를 표 객체 내용을 나타내는 것으로서 지정하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  20. 청구항 19에 있어서, 상기 자유형식 선 객체가 문자와 비슷하지 않은 경우, 상기 자유형식 선 객체가 사선을 나타내는지 결정하고, 사선을 나타내는 경우에는 상기 자유형식 선 객체를 표 객체 내용을 나타내는 것으로서 지정하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  21. 청구항 19 또는 청구항 20에 있어서, 상기 그리드 시스템을 생성하는데 사용되지 않은 각각의 변환된 자유형식 선 객체를 식별하고, 상기 자유형식 선 객체가 표 아웃라인 요소, 표 객체 내용 및 상기 표 객체 외부의 객체 내용 중 하나를 나타내는지 결정하도록 상기 자유형식 선 객체를 처리하는 것을 더 포함하는, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  22. 청구항 19에 있어서, 상기 자유형식 선 객체가 문자와 비슷하지 않은 경우, 상기 자유형식 선 객체가 사선과 비슷한지 결정하고, 사선과 비슷한 경우에는 상기 자유형식 선 객체를 표 셀 파티션 후보로서 식별하는 것인, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  23. 청구항 22에 있어서, 상기 전환한 후에, 각각의 표 셀 파티션 후보를 처리하여 확인하고 확인된 표 셀 파티션을 사용하여 상기 표 객체의 셀을 세분하는 것을 더 포함하는, 입력 손으로 그려진 표를 인식하는 컴퓨터화된 방법.
  24. 컴퓨터화된 디지털 잉크 인식 방법에 있어서,
    그래픽 사용자 인터페이스 상에 제시된 디지털 잉크 - 상기 디지털 잉크는 적어도 손으로 그려진 표를 나타내는 교차하는 자유형식 선들을 포함함 - 를 선택하고;
    상기 손으로 그려진 표를 인식하도록 상기 교차하는 자유형식 선들에 대해 인식 절차를 수행하고;
    상기 손으로 그려진 표의 인식에 응답하여 상기 손으로 그려진 표에 대응하는 표 객체를 생성하는 것을 포함하는 컴퓨터화된 디지털 잉크 인식 방법.
  25. 청구항 24에 있어서, 상기 인식 절차는 규칙적 및 불규칙적 손으로 그려진 표 둘 다를 인식하는 것인 컴퓨터화된 디지털 잉크 인식 방법.
  26. 청구항 25에 있어서, 상기 인식 절차는 사용자 입력에 응답하여 수행되는 것인 컴퓨터화된 디지털 잉크 인식 방법.
  27. 청구항 26에 있어서,
    상기 손으로 그려진 표와 중첩되는 상기 그래픽 사용자 인터페이스 상에 제시된 다른 객체를 검출하고;
    상기 검출된 다른 객체를 상기 표 객체의 셀 내의 표 셀 내용으로서 배치하는 것을 더 포함하는 컴퓨터화된 디지털 잉크 인식 방법.
  28. 청구항 27에 있어서, 상기 검출하는 것은 상기 표 객체의 셀 내에 위치되어진 지정된 위치를 갖는 다른 객체를 결정하는 것을 포함하는 것인 컴퓨터화된 디지털 잉크 인식 방법.
  29. 청구항 27 또는 청구항 28에 있어서, 상기 표 객체 내에 배치된 표 셀 내용에 기초하여 상기 표 객체를 처리하는 것을 더 포함하는 컴퓨터화된 디지털 잉크 인식 방법.
  30. 디지털 잉크 인식을 위한 컴퓨터 프로그램 코드를 구현하는 컴퓨터 판독가능한 매체에 있어서, 상기 컴퓨터 프로그램 코드는,
    그래픽 사용자 인터페이스 상에 제시되는 디지털 잉크 - 상기 디지털 잉크는 적어도 손으로 그려진 표를 나타내는 교차하는 자유형식 선들을 포함함 - 를 선택하기 위한 프로그램 코드;
    상기 손으로 그려진 표를 인식하도록 상기 교차하는 자유형식 선들에 대해 인식 절차를 수행하기 위한 프로그램 코드; 및
    상기 손으로 그려진 표의 인식에 응답하여 상기 손으로 그려진 표에 대응하는 표 객체를 생성하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체.
  31. 자유형식 선 객체에 의해 형성된 입력 손으로 그려진 표를 인식하기 위한 컴퓨터 프로그램 코드를 구현하는 컴퓨터 판독가능한 매체에 있어서, 상기 컴퓨터 프로그램 코드는,
    상기 표의 각각의 자유형식 선 객체를 수직 선분 및 수평 선분 중 하나로 변환하기 위한 프로그램 코드;
    상기 수직 및 수평 선분에 기초하여 그리드 시스템을 생성하기 위한 프로그램 코드; 및
    상기 생성된 그리드 시스템을 표 객체로 전환하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체.
  32. 상호작용형(interactive) 입력 시스템에 있어서,
    그 위에 이미지가 제시되는 디스플레이 표면을 갖는 좌표 입력 디바이스 - 상기 좌표 입력 디바이스는 사용자 입력에 응답함 - ; 및
    상기 좌표 입력 디바이스와 통신하고, 사용자 입력을 반영하도록 상기 디스플레이 표면 상에 제시되는 이미지를 업데이트하는 처리 구조를 포함하고,
    상기 처리 구조는 호출될 때 상기 좌표 입력 디바이스에 입력된 손으로 그려진 표를 인식하고 인식된 손으로 그려진 표를 표 객체로 전환하도록 표 인식 절차를 실행시키는 것인 상호작용형 입력 시스템.
  33. 청구항 32에 있어서, 상기 처리 구조는 사용자 입력에 응답하여 상기 표 인식 절차를 호출하는 것인 상호작용형 입력 시스템.
  34. 청구항 33에 있어서, 상기 표 인식 절차의 실행 동안, 상기 처리 구조는 상기 손으로 그려진 표와 중첩되는 다른 표시된 객체를 검출하고 상기 검출된 다른 객체를 상기 표 객체의 셀 내의 표 셀 내용으로서 배치하는 것인 상호작용형 입력 시스템.
  35. 청구항 33 또는 청구항 34에 있어서, 상기 손으로 그려진 표 인식 동안, 상기 처리 구조는 상기 손으로 그려진 표를 형성하는 각각의 자유형식 선 객체를 수직 선분 및 수평 선분 중 하나로 변환하고, 상기 수직 및 수평 선분에 기초하여 그리드 시스템을 생성하고, 상기 생성된 그리드 시스템을 상기 표 객체로 전환하는 것인 상호작용형 입력 시스템.
  36. 상호작용형 입력 시스템에 있어서,
    그 위에 그래픽 사용자 인터페이스가 제시되는 디스플레이 표면을 갖는 좌표 입력 디바이스 - 상기 좌표 입력 디바이스는 사용자 입력에 응답함 - ; 및
    상기 좌표 입력 디바이스와 통신하고, 사용자 입력을 반영하도록 상기 그래픽 사용자 인터페이스를 업데이트하는 처리 구조를 포함하고,
    상기 처리 구조는 청구항 1 내지 청구항 29 중 어느 한 항에 따른 방법을 수행하는 것인 상호작용형 입력 시스템.
KR1020107024275A 2008-03-28 2009-03-20 손으로 그려진 표를 인식하기 위한 방법 및 툴 KR20100135281A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/058,234 2008-03-28
US12/058,234 US8634645B2 (en) 2008-03-28 2008-03-28 Method and tool for recognizing a hand-drawn table
US12/203,605 US8600164B2 (en) 2008-03-28 2008-09-03 Method and tool for recognizing a hand-drawn table
US12/203,605 2008-09-03

Publications (1)

Publication Number Publication Date
KR20100135281A true KR20100135281A (ko) 2010-12-24

Family

ID=41112879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107024275A KR20100135281A (ko) 2008-03-28 2009-03-20 손으로 그려진 표를 인식하기 위한 방법 및 툴

Country Status (7)

Country Link
US (1) US8600164B2 (ko)
EP (1) EP2257914A4 (ko)
KR (1) KR20100135281A (ko)
CN (1) CN101981583A (ko)
AU (1) AU2009227934A1 (ko)
CA (1) CA2718636C (ko)
WO (1) WO2009117810A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141854B2 (en) 2013-09-06 2015-09-22 Samsung Electronics Co., Ltd. Method and apparatus for generating structure of table included in image
KR20190031970A (ko) * 2017-09-19 2019-03-27 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
KR20190032304A (ko) * 2019-01-22 2019-03-27 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
KR102203937B1 (ko) * 2019-11-15 2021-01-18 경북대학교 산학협력단 이미지 도면 내 객체 인식 장치

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634645B2 (en) * 2008-03-28 2014-01-21 Smart Technologies Ulc Method and tool for recognizing a hand-drawn table
KR20120095852A (ko) * 2009-10-15 2012-08-29 스마트 테크놀러지스 유엘씨 디스플레이 표면상에서 손글씨 잉크 객체를 그리기 및 지우기 하는 방법 및 장치
CN101866335B (zh) * 2010-06-14 2012-12-12 深圳市万兴软件有限公司 一种文档转换中的表格处理方法及装置
JP5724341B2 (ja) * 2010-12-06 2015-05-27 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US8963961B2 (en) * 2010-12-29 2015-02-24 Sap Se Fractal whiteboarding
JP5650564B2 (ja) * 2011-03-01 2015-01-07 株式会社ユビキタスエンターテインメント スプレッドシート制御プログラム、スプレッドシート制御装置及びスプレッドシートの制御方法
CN102722475A (zh) * 2012-05-09 2012-10-10 深圳市万兴软件有限公司 一种PDF文档中的表格转换成Excel表格的方法
US9626067B2 (en) 2012-12-12 2017-04-18 Apple Inc. Modifying positions of on-canvas objects
US20140210734A1 (en) * 2013-01-29 2014-07-31 Smart Technologies Ulc Method for conducting a collaborative event and system employing same
US9696810B2 (en) * 2013-06-11 2017-07-04 Microsoft Technology Licensing, Llc Managing ink content in structured formats
US9727535B2 (en) * 2013-06-11 2017-08-08 Microsoft Technology Licensing, Llc Authoring presentations with ink
JP2015049618A (ja) * 2013-08-30 2015-03-16 株式会社東芝 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム
US20150277696A1 (en) * 2014-03-27 2015-10-01 International Business Machines Corporation Content placement based on user input
US9275030B1 (en) * 2014-09-30 2016-03-01 Konica Minolta Laboratory U.S.A., Inc. Horizontal and vertical line detection and removal for document images
US9927971B2 (en) * 2014-12-05 2018-03-27 Kabushiki Kaisha Toshiba Electronic apparatus, method and storage medium for generating chart object
CN104636717B (zh) * 2014-12-24 2018-06-15 四川超凡知识产权服务股份有限公司 图表识别的方法及装置
CN106293185A (zh) * 2015-06-05 2017-01-04 夏普株式会社 手写表识别方法和设备
US10417491B2 (en) * 2015-10-19 2019-09-17 Myscript System and method for recognition of handwritten diagram connectors
US9898683B2 (en) 2016-05-31 2018-02-20 Konica Minolta Laboratory U.S.A., Inc. Robust method for tracing lines of table
CN107463868B (zh) * 2016-06-02 2021-02-23 阿里巴巴集团控股有限公司 一种电子表单核验方法及装置
CN106202229A (zh) * 2016-06-30 2016-12-07 广州市皓轩软件科技有限公司 一种针对心脏起搏器的结构化数据提取方法
US20180121074A1 (en) * 2016-10-28 2018-05-03 Microsoft Technology Licensing, Llc Freehand table manipulation
US10679049B2 (en) * 2017-09-29 2020-06-09 Konica Minolta Laboratory U.S.A., Inc. Identifying hand drawn tables
JP1628402S (ko) * 2017-11-14 2019-04-08
CN110134924B (zh) * 2018-02-08 2023-07-28 佳能株式会社 重叠文本组件提取方法和装置、文本识别系统及存储介质
US10878271B2 (en) 2019-03-19 2020-12-29 Capital One Services, Llc Systems and methods for separating ligature characters in digitized document images
CN111752557A (zh) * 2019-03-27 2020-10-09 阿里巴巴集团控股有限公司 一种展示方法及装置
CN111178154B (zh) * 2019-12-10 2023-04-07 北京明略软件系统有限公司 表格边框预测模型生成方法、装置及表格定位方法、装置
CN113139370A (zh) * 2020-01-16 2021-07-20 京东方科技集团股份有限公司 一种表格提取方法、装置及触控显示装置
CN112800731B (zh) * 2021-02-23 2023-04-07 浪潮云信息技术股份公司 一种图像表格提取中应对畸变图形的表格修复方法
JP2022139957A (ja) * 2021-03-12 2022-09-26 株式会社リコー 表示装置、プログラム、変換方法、表示システム
CN113673309B (zh) * 2021-07-05 2023-10-10 浪潮金融信息技术有限公司 一种手绘表格识别的方法、系统及介质
CN114926852A (zh) * 2022-03-17 2022-08-19 支付宝(杭州)信息技术有限公司 表格识别重构方法、装置、设备、介质及程序产品

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544265A (en) * 1992-05-27 1996-08-06 Apple Computer, Inc. Shape recognizer for graphical computer systems
JPH07111721B2 (ja) * 1992-06-05 1995-11-29 日本アイ・ビー・エム株式会社 線要素データの3次元変換装置及び方法
US5392130A (en) 1993-11-24 1995-02-21 Xerox Corporation Analyzing an image showing a row/column representation
US6415305B1 (en) 1998-04-20 2002-07-02 Microsoft Corporation Method for displaying editable characters in a divided table cell
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
US6763148B1 (en) * 2000-11-13 2004-07-13 Visual Key, Inc. Image recognition methods
JP2002324236A (ja) * 2001-04-25 2002-11-08 Hitachi Ltd 帳票識別方法及び帳票登録方法
US7298903B2 (en) * 2001-06-28 2007-11-20 Microsoft Corporation Method and system for separating text and drawings in digital ink
US7136082B2 (en) * 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
JP4090254B2 (ja) * 2002-03-12 2008-05-28 富士フイルム株式会社 情報記録装置
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US7366978B1 (en) * 2003-02-13 2008-04-29 Microsoft Corporation Method and system for creating a grid-like coordinate system for addressing data contained in an irregular computer-generated table
JP4185825B2 (ja) * 2003-07-01 2008-11-26 キヤノン株式会社 座標入力装置及びその制御方法、情報処理装置、プログラム
US7295708B2 (en) 2003-09-24 2007-11-13 Microsoft Corporation System and method for detecting a list in ink input
US7324691B2 (en) * 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects
US20050226535A1 (en) * 2004-04-13 2005-10-13 Srinka Ghosh Method and system for rectilinearizing an image of a microarray having a non-rectilinear feature arrangement
US7412094B2 (en) * 2004-09-21 2008-08-12 Microsoft Corporation System and method for editing a hand-drawn table in ink input
US7683889B2 (en) * 2004-12-21 2010-03-23 Microsoft Corporation Pressure based selection
US7619616B2 (en) * 2004-12-21 2009-11-17 Microsoft Corporation Pressure sensitive controls
US7629966B2 (en) * 2004-12-21 2009-12-08 Microsoft Corporation Hard tap
US7583841B2 (en) * 2005-12-21 2009-09-01 Microsoft Corporation Table detection in ink notes
HK1095987A2 (en) * 2006-02-03 2007-05-18 Univ Hong Kong Polytechnic Methods and apparatus of aligning surfaces
US7707488B2 (en) * 2006-02-09 2010-04-27 Microsoft Corporation Analyzing lines to detect tables in documents
EP2118876A4 (en) * 2007-01-10 2011-10-26 Smart Technologies Ulc PARTICIPANT ANSWER SYSTEM WITH QUESTION AUTHORIZATION AND PROCESSING FUNCTION
JP2008283586A (ja) * 2007-05-14 2008-11-20 Canon Inc 画像処理装置、画像処理装置の制御方法、プログラム、および記憶媒体
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8810580B2 (en) * 2008-11-14 2014-08-19 Smart Technologies Ulc Method and tool for creating irregular-shaped tables
US20100201812A1 (en) * 2009-02-11 2010-08-12 Smart Technologies Ulc Active display feedback in interactive input systems
US8625895B2 (en) * 2009-03-30 2014-01-07 The Neat Company, Inc. Table grid detection and separation
US8250482B2 (en) * 2009-06-03 2012-08-21 Smart Technologies Ulc Linking and managing mathematical objects
KR20120095852A (ko) * 2009-10-15 2012-08-29 스마트 테크놀러지스 유엘씨 디스플레이 표면상에서 손글씨 잉크 객체를 그리기 및 지우기 하는 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141854B2 (en) 2013-09-06 2015-09-22 Samsung Electronics Co., Ltd. Method and apparatus for generating structure of table included in image
KR20190031970A (ko) * 2017-09-19 2019-03-27 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
US10733368B2 (en) 2017-09-19 2020-08-04 Kang Don Lee Method and system for processing multi-dimensional spreadsheet
KR20190032304A (ko) * 2019-01-22 2019-03-27 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
KR102203937B1 (ko) * 2019-11-15 2021-01-18 경북대학교 산학협력단 이미지 도면 내 객체 인식 장치

Also Published As

Publication number Publication date
CA2718636A1 (en) 2009-10-01
CN101981583A (zh) 2011-02-23
EP2257914A4 (en) 2012-03-21
CA2718636C (en) 2016-08-30
EP2257914A1 (en) 2010-12-08
WO2009117810A1 (en) 2009-10-01
US20090245654A1 (en) 2009-10-01
US8600164B2 (en) 2013-12-03
AU2009227934A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
KR20100135281A (ko) 손으로 그려진 표를 인식하기 위한 방법 및 툴
US8634645B2 (en) Method and tool for recognizing a hand-drawn table
EP1349056B1 (en) Organizing, editing, and rendering digital ink
US5517578A (en) Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US7292726B2 (en) Recognition of electronic ink with late strokes
CA2429507C (en) Writing guide for a free-form document editor
US6535897B1 (en) System and methods for spacing, storing and recognizing electronic representations of handwriting printing and drawings
US5613019A (en) System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US20020097270A1 (en) Selection handles in editing electronic documents
EP2075712A2 (en) Persistent selection marks
US7751623B1 (en) Writing guide for a free-form document editor
US20140189482A1 (en) Method for manipulating tables on an interactive input system and interactive input system executing the method
US8363947B2 (en) Handwritten character recognition based on frequency variations in characters
US7187801B2 (en) Multiple handwriting recognition engine selection
US8810580B2 (en) Method and tool for creating irregular-shaped tables
CA2643877C (en) Method and tool for creating irregular-shaped tables
WO2017029737A1 (ja) 文字列選択方法、プログラム及び情報処理装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid