KR101354663B1 - 수기 기호 인지 방법 및 장치 - Google Patents

수기 기호 인지 방법 및 장치 Download PDF

Info

Publication number
KR101354663B1
KR101354663B1 KR1020097000441A KR20097000441A KR101354663B1 KR 101354663 B1 KR101354663 B1 KR 101354663B1 KR 1020097000441 A KR1020097000441 A KR 1020097000441A KR 20097000441 A KR20097000441 A KR 20097000441A KR 101354663 B1 KR101354663 B1 KR 101354663B1
Authority
KR
South Korea
Prior art keywords
symbol
strokes
stroke
symbols
delete delete
Prior art date
Application number
KR1020097000441A
Other languages
English (en)
Other versions
KR20090045190A (ko
Inventor
이-쉰 이. 청
나다 피. 마틱
레이몬드 에이. 쥬니어 트렌트
Original Assignee
시냅틱스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시냅틱스, 인코포레이티드 filed Critical 시냅틱스, 인코포레이티드
Publication of KR20090045190A publication Critical patent/KR20090045190A/ko
Application granted granted Critical
Publication of KR101354663B1 publication Critical patent/KR101354663B1/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

수기 기호 인식 방법 및 장치. 다수의 스트로크는 전자 장치의 일반 입력 영역에서 수신되며, 여기서 조합된 다수의 스트로크는 다수의 기호를 정의한다. 다수의 스트로크에 의해 정의된 다수의 기호 중 적어도 하나의 가능한 기호를 결정하기 위해 다수의 스트로크의 순차적인 조합은 다수의 기호 인식 엔진으로 분석되며, 여기서 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 구성되어 있다.

Description

수기 기호 인지 방법 및 장치{A METHOD AND APPARATUS FOR RECOGNITION OF HANDWRITTEN SYMBOLS}
본 발명은 일반적으로 디지털 시스템의 분야에 관련된다. 특히, 본 발명은 수기 기호(handwritten symbol) 인지 방법 및 기구에 관련된다.
수기 인지-기반 텍스트 입력(handwriting recognition-based text input)을 통해 사용자들은 필기 도구(예를 들면, 펜, 스타일러스(stylus) 또는 손가락) 및 전자 입력 장치(예를 들면, 타블렛(tablet), 디지타이저(digitizer), 또는 터치패드(touchpad))를 사용하여 온라인 상으로 기호를 입력할 수 있게 된다. 전형적인 수기 인지 입력 장치는 필기구 궤적(trajectory)의 X 좌표, Y 좌표 및 시간 좌표를 포착한다. 그러면 수기가 디지털 텍스트로 자동으로 변환될 수 있다. 수기 인지 소프트웨어는 기입(writing)을 텍스트로 변환하는 입력 스트로크 순서(input stroke sequence)를 사용한다(예를 들면, 예정된 기호 순서를 식별한다).
전형적으로, 사용자는 원래의 순서로 쓰는 것에 의해(예를 들면, 영어에서 왼쪽에서 오른쪽으로 쓰는 것에 의해) 제한적인 방법(예를 들면, 박스 모드(boxed mode) 또는 타임아웃(timeouts)을 사용하여) 또는 제한되지 않은 방법(연속으로 인쇄된(continuously printed) 또는 필기체)으로 기호를 입력할 수 있다. 일반적으 로, 기호 입력이 더 제한적일수록, 기호를 더 쉽게 인식할 수 있다. 그러나, 제한적인 기호 입력은 부자연스럽고, 사용자가 기호 인식 시스템을 배우는 시간이 증가하며, 텍스트 입력 단계가 느려진다. 반대로, 비제한적인 기호 입력은 연산 집약적이고, 오류가 발생하기 쉽다. 전형적으로, 비제한적인 기호 입력 인식 시스템은 인식 이전에 적절하게 기록된 수기 데이터를 분절하고, 그룹화하며 재-순서화하는 수기 데이터의 전단계가 필요하다.
기술 진보의 결과, 이동 전화 등과 같은, 많은 소형 전자 장치는 수기 기호 입력 기능을 포함하고 있다. 그러나, 이 소형 장치는 전형적으로 작은 기호 입력 영역을 가진 입력 장치를 가진다. 이 입력 장치에는 사용자가 하나의 기호만 쓸 수 있는 공간만 가진다. 이 입력 장치에서, 많은 언어에 자연적인 원래의 순서로(예를 들면, 나란하게 그리고 왼쪽에서 오른쪽으로) 기호를 쓸 수 없다. 이 입력 장치는 기호를 서로 그 위에 쓰도록 요구한다.
기호를 서로 그 위에 쓰기 때문에, 소형 입력 장치를 사용하여 입력된 기호의 분절은 상기에서 기술한 기호 입력 시스템에 부가적인 복합성을 추가한다. 현재의 해결책은 소형 입력 장치에서의 수기 인식에 있다. 그러나, 복잡한 기호 분절 문제를 처리하기 위하여, 이런 현재의 해결책의 경우 사용자는 부자연스럽게 기호를 입력하며 정확도가 감소한다.
예를 들면, 몇몇 소형 입력 장치는 사용자가 한번에 쓰는(unistroke) 알파벳과 같은 특별한 알파벳을 배워야 한다. 각 기호는 1 스트로크가 되도록 한번에 쓰는(unistroke) 알파벳은 디자인된다. 따라서, 기호 분절을 용이하게 처리하는 반 면, 사용자는 부자연스럽고 왜곡된 알파벳을 배워야 한다. 다른 소형 입력 장치는 기호 분절 문제를 처리하기 위해 타임아웃 메커니즘 또는 다른 외부 분절 신호를 이용한다. 사용자는 기호를 입력한 후 멈춰야 한다. 일단 타임아웃이 발생하면, 기호 인식이 실행된다. 이 기술은 또한 각 기호가 입력된 후에 사용자가 타임아웃을 위해 기다려야 하기 때문에 부자연스럽다. 게다가, 사용자가 충분히 빨리 기호를 입력하지 않을 때에는 사용자가 기호 입력을 완료하기 전에 타임아웃이 발생하여 부정확하게 기호를 인식하기 때문에, 오류가 발생하기 쉽다. 게다가, 기호의 끝을 나타내기 위하여 단추를 누르는 등, 외부 분절 신호를 사용하면 또한 오류가 발생하기 쉽고 어색하다.
여기에서 토론된 각종 실시예는 서로 위에 적어도 부분적으로 쓰인 수기 기호의 통합된 분절 및 인식을 위한 방법 및 장치를 제공한다. 일 실시예에서, 다수의 스트로크는 전자 장치의 일반적인 입력 영역에서 수신되고, 여기서 다수의 스트로크의 조합은 다수의 기호를 정의한다. 일 실시예에서, 다수의 기호는 표의문자 언어(ideographic language)이 표음(phonetic representations)을 포함한다.
일 실시예에서, 다수의 스트로크 중 한 스트로크가 비-기호 제스처를 나타내는지 여부를 결정해서 만약 스크로크가 비-기호 제스처를 나타낸다고 결정되면, 스트로크는 다수의 기호 인식 엔진에 무시된다.
다수의 스트로크에 의해 정의된 다수의 기호 중 적어도 하나의 가능한 기호를 결정하기 위해 다수의 기호 인식 엔진으로 다수의 스트로크의 순차적인 조합을 분석하며, 여기서 다수의 기호 인식 엔진 중 적어도 하나는 특정한 수의 스트로크를 포함하는 기호를 식별하도록 형성된다. 일 실시예에서, 다수의 기호 인식 엔진은 통계적인 분류자(statistical classifier)를 포함한다. 일 실시예에서, 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 형성된다. 일 실시예에서, 다수의 기호 인식 엔진은 1 스트로크 기호 인식 엔진, 2 스트로크 기호 인식 엔진, 3 스트로크 기호 인식 엔진을 포함한다. 일 실시예에서, 다수의 기호 인식 엔진은 또한 4 스트로크 기호 인식 엔진을 포함한다.
다수의 기호 인식 엔진은 분리 모듈일 필요는 없지만, 겹친 기호로부터 스트로크에 의해 형성된 비-기호를 포함한다는 가정을 부인하는 방식으로 스트로크의 조합을 분석하는 유사한 기능을 실행하는 단 하나의 모듈일 수 있다.
일 실시예에서, 분석은 가능한 기호를 식별하는 외부 메커니즘의 사용을 요구하지 않는다. 일 실시예에서, 요구되지 않는 외부 메커니즘은 외부 분절 신호 및 스트로크 사전 중 적어도 하나를 포함한다.
일 실시예에서, 다수의 스트로크의 가능한 조합은 이진 상태기(binary state machine)에 따라 결정된다. 일 실시예에서, 가능한 조합은 미리 결정된 제한에 따라 한정된다. 기호는 가능한 조합에서 선택된다.
다른 실시예에서, 본 발명은 수기 기호의 인식 장치를 제공한다. 스트로크 수신기는 일반 입력 영역으로 입력되는 다수의 스트로크를 수신할 수 있으며, 여기서 조합된 다수의 스트로크는 다수의 기호를 정의하며, 적어도 하나의 기호의 하나의 스트로크는 다른 기호의 적어도 하나의 스트로크로 공간적으로 포개진다. 일 실시예에서, 스트로크 수신기는 소형 계산 장치의 스트로크 입력 장치이다. 일 실시예에서, 다수의 스트로크의 각 스트로크는 다수의 기호 중 단지 하나의 기호와 연관된다. 일 실시예에서, 다수의 기호는 표의문자 언어의 표음을 포함한다.
일 실시예에서, 스트로크 분석기는 다수의 스트로크 중 하나의 스트로크가 비-기호 제스처를 나타내는지 결정하고 만약 스트로크가 비-기호 제스처를 나타내면 다수의 기호 인식 엔진에 스트로크를 무시하도록 형성된다.
스트로크 분석기는 다수의 스트로크에 의해 정의된 적어도 하나의 가능한 기호를 결정하기 위하여 다수의 스트로크를 순차적으로 분석할 수 있다. 스트로크 분석기는 다수의 스트로크의 순차적인 조합을 분석하기 위한 다수의 기호 인식 엔진을 포함하며, 여기서 다수의 기호 인식 엔진은 특정 수의 스트로크를 포함하는 기호를 식별한다. 일 실시예에서, 다수의 기호 인식 엔진은 1 스트로크를 포함하는 기호를 식별하기 위한 1 스트로크 기호 인식 엔진, 2 스트로크를 포함하는 기호를 식별하기 위한 2 스트로크 기호 인식 엔진, 3 스트로크를 포함하는 기호를 식별하기 위한 3 스트로크 기호 인식 엔진을 포함한다. 일 실시예에서, 다수의 기호 인식 엔진은 또한 4 스트로크를 포함하는 기호를 식별하기 위한 4 스트로크 기호 인식 엔진을 포함한다. 일 실시예에서, 다수의 기호 인식 엔진의 각각은 다수의 기호 인식 엔진의 각 기호 인식 엔진에 의하여 분석된 스트로크가 가능한 유효한 기호일 확률을 결정한다.
일 실시예에서, 스트로크 분석기는 이진 상태기에 따라서 다수의 스트로크의 가능한 조합을 결정하고 미리 결정된 제한에 따라 가능한 조합을 제한하도록 형성된다. 일 실시예에서, 다수의 기호 인식 엔진은 통계적인 분류자를 포함한다. 일 실시예에서, 다수의 기호 인식 엔진 중 적어도 하나의 기호 인식 엔진은 적어도 하나의 일반적인 스트로크에 의해 연결된 다수의 기호 중 적어도 2개의 기호를 인식하도록 형성된다.
본 출원은 다음의 개념에 관련된다.
개념 1: 전자 장치의 일반 입력 영역에서 조합된 상태로 다수의 기호를 정의하는 다수의 스트로크를 수신하는 단계; 및 상기 다수의 스트로크에 의해 정의된 다수의 기호 중에서 적어도 하나의 가능한 기호를 결정하기 위해 다수의 기호 인식 엔진으로 상기 다수의 스트로크의 연속 조합을 분석하는 단계;를 포함하며, 상기 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 형성되는 수기 기호 인식 방법.
개념 2: 상기 개념 1에 있어서, 상기 분석하는 단계는 상기 가능한 기호를 식별하기 위한 외부 기계장치를 사용할 필요가 없는 것을 특징으로 하는 방법.
개념 3: 상기 개념 2에 있어서, 상기 외부 기계장치는 외부 분절 신호 및 외부 스트로크 사전 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
개념 4: 상기 개념 1에 있어서, 상기 다수의 기호의 첫 번째 기호 중 적어도 하나의 스트로크는 상기 다수의 기호의 두 번째 기호 중 적어도 하나의 스트로크 위에 공간적으로 포개지며, 상기 다수의 스트로크의 각 스트로크는 상기 다수의 기호 중 단지 하나의 기호에 관련되는 것을 특징으로 하는 방법.
개념 5: 상기 개념 1에 있어서, 상기 다수의 스트로크의 연속 조합을 분석하는 단계는: 상기 다수의 스트로크 중 한 스트로크가 비-기호 제스처를 나타내는지 여부를 결정하는 단계; 및 상기 스트로크가 비-기호 제스처를 나타내는 경우 상기 다수의 기호 인식 엔진에서 상기 스트로크를 무시하는 단계;를 포함하는 것을 특징으로 하는 방법.
개념 6: 상기 개념 1에 있어서, 상기 다수의 스트로크의 연속 조합을 분석하는 단계는 적어도 하나의 일반 스트로크에 의해 연결된 상기 다수의 기호 중 적어도 두 기호를 인지하는 것을 포함하는 것을 특징으로 하는 방법.
개념 7: 전자 장치의 일반 입력 영역에서 조합된 상태로 다수의 기호를 정의하는 다수의 스트로크를 수신하는 단계; 및 상기 다수의 스트로크에 의해 정의된 적어도 하나의 가능한 기호를 결정하기 위해 상기 다수의 스트로크를 연속적으로 분석하는 단계; 를 포함하며, 상기 다수의 스트로크의 각 스트로크는 상기 다수의 기호 중 단지 한 기호에 관련되며, 상기 가능한 기호를 식별하기 위해 상기 연속적으로 분석하는 단계는 외부 분절 신호 및 외부 스트로크 사전을 사용할 필요가 없고, 상기 연속적으로 분석하는 단계는 온라인 상에서 수행되는 외부 분절 기계를 사용하지 않고 수기 기호를 인지하고 분절하는 방법.
개념 8: 상기 개념 7에 있어서, 상기 외부 분절 신호는 타임아웃 신호를 포함하는 것을 특징으로 하는 방법.
개념 9: 상기 개념 7에 있어서, 상기 외부 스트로크 사전은 신호 바이그램 사이에서 관련 위치를 설명하는 정보를 포함하는 것을 특징으로 하는 방법.
개념 10: 상기 개념 7에 있어서, 상기 다수의 스트로크를 연속적으로 분석하는 단계는 상기 다수의 스트로크에 의해 정의된 상기 다수의 기호 중 적어도 하나의 가능한 기호를 결정하기 위해 다수의 기호 인식 엔진을 사용하는 것을 포함하며, 상기 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 구성되는 것을 특징으로 하는 방법.
개념 11: 상기 개념 1 또는 상기 개념 10에 있어서, 상기 다수의 기호 인식 엔진은 1 스트로크 기호 인식 엔진, 2 스트로크 기호 인식 엔진 및 3 스트로크 기호 인식 엔진을 포함하는 것을 특징으로 하는 방법.
개념 12: 상기 개념 11에 있어서, 상기 다수의 기호 인식 엔진은 4 스트로크 기호 인식 엔진을 더 포함하는 것을 특징으로 하는 방법.
개념 13: 상기 개념 1 또는 개념 7에 있어서, 상기 다수의 기호의 한 기호는 4 스트로크 이상을 포함하지 않는 것을 특징으로 하는 방법.
개념 14; 상기 개념 1 또는 개념 7에 있어서, 상기 다수의 스트로크의 연속 조합을 분석하는 단계 또는 상기 다수의 스트로크를 연속적으로 분석하는 단계는: 이원 상태기에 따라 상기 다수의 스트로크의 가능한 조합을 결정하는 단계; 및 미리 결정된 제한에 따라 상기 가능한 조합을 한정하는 단계;를 포함하는 것을 특징으로 하는 방법.
개념 15: 상기 개념 1 또는 개념 7에 있어서, 상기 다수의 기호는 표의문자 언어의 표음을 포함하는 것을 특징으로 하는 벙법.
개념 16: 상기 개념 7에 있어서, 상기 다수의 스트로크를 연속적으로 분석하는 단계는: 상기 다수의 스트로크의 한 스트로크가 비-신호 제스처를 나타내는지 여부를 결정하는 단계; 및 상기 스트로크가 비-신호 제스처를 나타내는 경우 상기 스트로크를 무시하는 단계;를 포함하는 것을 특징으로 하는 방법.
개념 17: 상기 개념 1 또는 개념 10에 있어서, 상기 다수의 기호 인식 엔진은 통계적인 분류자를 포함하는 것을 특징으로 하는 방법.
개념 18: 일반 입력 영역에 입력된, 조합된 상태로 다수의 기호를 정의하는 다수의 스트로크를 수신하는 스트로크 수신기; 및 상기 다수의 스트로크에 의해 정의된 적어도 하나의 가능한 기호를 결정하기 위해 상기 다수의 스트로크를 연속적으로 분석하기 위한 스트로크 분석기; 를 포함하며, 첫 번째 기호의 적어도 하나의 스트로크는 두 번째 기호의 적어도 하나의 스트로크 위에 공간적으로 포개지며, 상기 스트로크 분석기는 상기 다수의 스트로크의 연속 조합을 분석하기 위한 다수의 기호 인식 엔진을 포함하고, 상기 다수의 기호 인식 엔진은 특정 수의 스트로크를 포함하는 기호를 식별하기 위한 수기 기호의 인식 장치.
개념 19: 상기 개념 18에 있어서, 상기 다수의 기호 인식 엔진은: 1 스트로크를 포함하는 기호를 식별하기 위한 1 스트로크 기호 인식 엔진; 2 스트로크를 포함하는 기호를 식별하기 위한 2 스트로크 기호 인식 엔진; 및 3 스트로크를 포함하는 기호를 식별하기 위한 3 스트로크 기호 인식 엔진; 을 포함하는 것을 특징으로 하는 장치.
개념 20: 상기 개념 19에 있어서, 상기 다수의 기호 인식 엔진은 4 스트로크를 포함하는 기호를 식별하기 위한 4 스트로크 기호 인식 엔진을 더 포함하는 것을 특징으로 하는 장치.
개념 21: 상기 개념 18에 있어서, 상기 다수의 기호 인식 엔진의 각각은 상기 다수의 기호 인식 엔진의 각 기호 인식 엔진에 의해 분석된 스트로크가 상기 가능한 부호일 확률값을 결정하는 것을 특징으로 하는 장치.
개념 22: 상기 개념 18에 있어서, 상기 스트로크 수신기는 소형 컴퓨터 장치(handheld computing device)의 스트로크 입력 장치인 것을 특징으로 하는 장치.
개념 23: 상기 개념 18에 있어서, 상기 다수의 기호 중 한 기호는 4 스트로크 이상을 포함하지 않는 것을 특징으로 하는 장치.
개념 24: 상기 개념 18에 있어서, 상기 다수의 스트로크의 각 스트로크는 상기 다수의 기호 중 단지 하나의 기호에만 연관되는 것을 특징으로 하는 장치.
개념 25: 상기 개념 18에 있어서, 상기 스트로크 분석기는 이원 상태기에 따라 상기 다수의 스트로크의 가능한 조합을 결정하고 미리 결정된 제한에 따라 상기 가능한 조합을 한정하도록 구성되어 있는 것을 특징으로 하는 장치.
개념 26: 상기 개념 18에 있어서, 상기 다수의 기호는 표의문자 언어의 표음을 포함하는 것을 특징으로 하는 장치.
개념 27: 상기 개념 18에 있어서, 상기 스트로크 분석기는 상기 다수의 스트로크 중 한 스트로크가 비-기호 제스처를 나타내는지 여부를 결정하고 만약 상기 스트로크가 비-기호 제스처를 나타내는 경우에 상기 다수의 기호 인식 엔진에서 상기 스트로크를 무시하도록 구성되어 있는 것을 특징으로 하는 장치.
개념 28: 상기 개념 18에 있어서, 상기 다수의 기호 인식 엔진은 통계적 분류자를 포함하는 것을 특징으로 하는 장치.
개념 29: 상기 개념 18에 있어서, 상기 다수의 기호 인식 엔진 중 적어도 하나의 기호 인식 엔진은 적어도 하나의 일반 스트로크에 의해 연결된 상기 다수의 기호 중 적어도 2개의 기호를 인식하도록 구성되어 있는 것을 특징으로 하는 장치.
대체로, 이런 명세서는 수기 기호 인식 방법 및 장치에 대해 논의한다. 다수의 스트로크는 전자 장치의 일반 입력 영역에서 수신되고, 여기서 조합된 다수의 스트로크는 다수의 기호를 정의한다. 다수의 스트로크에 의해 정의된 다수의 기호 중 적어도 하나의 가능한 기호를 결정하기 위해 다수의 기호 인식 엔진으로 다수의 스트로크의 순차적인 조합을 분석하며, 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 형성된다.
본 명세서에 통합되고 또한 본 명세서의 일부분을 형성하는, 첨부된 도면은, 본 발명의 실시예를 설명하며, 상세한 설명과 함께, 본 발명의 원리를 설명하는 역할을 한다:
도 1A는 본 발명의 실시예에 따라, 대표적인 소형 인자 장치(small form factor device)의 구성을 도시하는 블록도이다.
도 1B는 본 발명의 실시예에 따라, 수기 입력 장치를 사용하여 대표적인 단어 입력을 도시하는 도표이다.
도 2는 본 발명의 일 실시예에 따라, 수기 인식 엔진의 구성을 도시한 블록 도이다.
도 3A는 본 발명의 실시예에 따라, 단어 "do"에 대한 대표적인 입력 이미지를 설명한다.
도 3B는 본 발명의 실시예에 따라, 단어 "do"의 3-스트로크 입력을 위한 이진 상태기를 설명한다.
도 4는 본 발명의 일 실시예에 따라, 수기 기호를 인식하기 위한 과정의 단계를 설명하는 플로우차트 도표이다.
도 5는 본 발명의 일 실시예에 따라, 스트로크를 분석하기 위한 과정의 단계를 설명하는 플로우차트 도표이다.
이하에서 첨부된 동반 도면에서 설명되는 보기인, 본 발명의 각종 실시예를 상세히 언급할 것이다. 본 발명은 각종 실시예와 함께 기술되지만, 이 실시예로 본 발명을 제한하는 것으로 이해되어서는 안 될 것이다. 반대로, 본 발명은 추가된 청구항에 의해 정의되는 것과 같이 본 발명의 정신 및 범위 안에서 포함될 수 있는 대안, 수정안 및 동등안을 포함하는 것으로 예정된다. 게다가, 본 발명의 다음의 상세한 설명에서, 수많은 특정한 세부사항은 본 발명의 철저한 이해를 제공하기 위하여 개시된다. 그러나, 본 발명이 이 특정한 세부사항 없이 실행될 수도 있다는 것은 당해 기술분야에서 일반적인 기술자에게 명백할 것이다. 다른 경우에서, 공지된 방법, 절차, 구성요소 및 회로는 본 발명의 양상을 불필요하게 어둡게 하지 않도록 상세히 기술되지 않았다.
본 출원의 목적을 위해, 용어 기호는 의미를 전달하도록 예정된 한 개 이상의 수기 스트로크를 나타낸다. 예를 들면, 기호는 각종 알파벳의 문자, 표의문자 언어의 표의문자, 소리 기호, 숫자, 수학 기호, 구두점 기호 등을 포함하는 것으로 의도되나 이에 한정되는 것은 아니다.
본 발명의 각종 실시예는 텍스트 입력에 할당된 영역이 쓰일 기호의 크기에 비해 작은 컴퓨터 장치로 텍스트를 입력하기 위한 수기 인식에 기반을 둔 방법을 제공한다. 예를 들면, 텍스트 입력을 위해 할당된 영역은 모든 추가적인 기호가 겹쳐져야 하는, 나란한 하나 또는 두 개의 기호만 수신할 수 있을 것이다. 도 1B는 텍스트 입력에 할당된 좁은 영역에 입력하는 예를 도시한다. 특히, 기호는 자연적인 방법에서 입력되고, 사용자가 특별한 알파벳을 배우거나 쓰인 기호를 분리할 목적으로 타임아웃 또는 다른 어떤 외부 기계장치를 의지할 필요가 없다. 본 발명의 실시예는 전자 장치의 일반적인 입력 영역에서 다수의 스트로크를 수신하는 것을 포함하는 수기 기호를 인식하는 방법을 제공하며, 여기서 조합된 다수의 스트로크는 다수의 기호를 정의한다. 다수의 스트로크에 의해 정의된 다수의 기호 중 적어도 하나의 가능한 기호를 결정하도록 다수의 스트로크의 순차적인 조합을 다수의 기호 인식 엔진으로 분석하며, 여기서 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 구성된다.
도 1A는 본 발명의 실시예에 따라, 대표적인 소형 인자 전자 장치(100)의 구성요소를 도시한 블록도이다. 일반적으로 전자 장치(100)는 정보 전달을 위한 버스(110), 정보 및 지시 처리를 위한, 버스(110)에 결합된 처리기(101), 처리 기(101)를 위한 정적 정보(static information) 및 지시를 저장하기 위한, 버스(110)에 결합된 읽기 전용 (불휘발성) 메모리(ROM)(102) 및 처리기(101)를 위한 정보 및 지시를 저장하기 위한, 버스(110)에 결합된 랜덤 액세스 (휘발성) 메모리(103)를 포함한다. 전자 장치(100)는 또한 스트로크 입력을 수신하기 위한, 버스(110)에 결합된 수기 입력 장치(104), 수신된 스트로크 입력에서 수기 인식을 수행하기 위한, 버스(110)에 결합된 수기 인식 엔진(105) 및 정보를 표시하기 위한, 버스(110)에 결합된 표시 장치(106)를 포함한다.
일 실시예에서, 수기 입력 장치(104)는 사용자로부터 펜-기반 수기 입력, 스타일러스-기반 수기 입력, 또는 손가락-기반 수기 입력을 수신할 수 있다. 예를 들면, 수기 입력 장치(104)는 디지털화된 타블렛(tablet), 터치패드, 유도 펜 타블렛 등일 수도 있다. 수기 입력 장치(104)는 스트로크 데이터의 형태에서 입력의 X 좌표 및 Y 좌표 정보를 포착할 수 있다. 즉, 수기 입력 장치(104)는 기호 및/또는 단어의 원래 스트로크 순서로 쓰인 기호 스트로크를 실시간으로 검출하기 위한 좌표 입력 장치이다. 일 실시예에서, 개별적인 기호의 스트로크는 수기 입력 장치(104)의 표면에 접촉하고, 그 표면을 건너 이동하고 그 표면을 떠나는 사물의 움직임에서 얻은 위치 정보 및 일시적 정보를 포함한다. 수기 입력 장치(104)가 표시 장치(106)의 뒤에 위치한 유도 장치인, 다른 실시예에서, 개별적인 기호 스트로크는 표시 장치(106)의 표면에 접촉하고, 그 표면을 건너 이동하고 그 표면을 떠나는 사물의 움직임에서 얻은 위치 정보 및 일시적 정보를 포함한다. 일 실시예에서, 스트로크는 수기 인식 엔진(105)에 의해 입력(access)하기 위한 비휘발성 메모리(102) 및 휘발성 메모리(103) 중 하나에 저장된다. 일 실시예에서, 사용자에 의해 입력된 기호는 표의문자 언어의 표음이다. 일 실시예에서, 기호는 비-필기체(non-cursive)이다.
일 실시예에서, 사용자가 입력한 기호가 나란히 (예를 들면, 왼쪽에서 오른쪽, 위에서 아래로) 쓰일 수 없지만, 서로 그 위에 쓰일 수 정도로 수기 입력 장치(104)가 작다. 예를 들면, 일 실시예에서 수기 입력 장치(104)는 1 제곱 인치 이하의 표면을 가진다. 도 1B는 본 발명의 실시예에 따라, 수기 입력 장치(104)를 사용하여 단어를 입력하는 예를 도시하는 도표(150)이다. 도표(150)는 소형 인자 수기 입력 장치를 사용하여 단어 "BELL"를 입력하는 것을 설명한다. 특히, 기호 B, E, L 및 L는 서로 그 위에 입력된다. 본 발명의 실시예는 "AN" 및 "TO" 등과 같은 짧은 단어를 나란하게 쓰인 기호를 입력할 수 있다. 일 실시예에서, 단어의 끝은 특별한 제스처, 단추 누름, 타임아웃, 또는 다른 신호에 의해 나타난다.
도 1A에 관하여, 수기 인식 엔진(105)은 수기 입력 장치(104)에 입력된 스트로크를 수신할 수 있고, 스트로크에서 기호를 인식한다. 수기 인식 엔진(105)은 전자 장치(100) 내의 하드웨어, 소프트웨어, 및/또는 펌웨어(firmware)로서 실행될 수도 있다. 게다가, 수기 인식 엔진(105)이 점선으로 도시한 것처럼, 독립 구성요소이거나 또는 전자 장치(100)의 다른 구성요소의 맞은편에 배치될 수 있는 수기 인식 기능을 나타낼 것이다. 예를 들면, 수기 인식 엔진(105)의 다른 기능이 처리기(101), 비휘발성 메모리(102) 및 휘발성 메모리(103)와 같은 전자 장치(100)의 구성요소의 맞은편에 배치될지도 모른다. 수기 인식 엔진(105)의 작동은 예를 들 면, 도 2에 관하여, 아래에서 논의된다. 수기 인식 엔진(105)은 인식된 기호를 출력할 수 있다.
전자 장치(100)에서 이용된 표시 장치(106)는 액정 장치(LCD) 또는 사용자가 인식가능한 그래픽 이미지 및 알파벳 등 문자와 숫자가 조합된 기호 또는 표의문자 기호를 형성하기에 적당한 다른 표시 장치일지도 모른다. 표시 장치(106)는 인식된 기호를 표시할 수 있다. 일 실시예에서, 인식된 기호는 텍스트로서 표시된다.
도 2는 본 발명의 일 실시예에 따라, 수기를 인식하기 위한 시스템(200)의 구성요소를 도시한 블록도이다. 일 실시예에서, 본 발명은 텍스트 입력에 할당된 영역이 필기구에 비해 작은 컴퓨터 장치(예를 들면, 도 1A의 전자 장치(100))로 입력된 텍스트에 기반을 둔 수기 인식을 시행하기 위한 시스템(200)을 제공한다. 사용자는 원래의 스트로크 순서로 기호의 스트로크를 입력할 수 있다.
시스템(200)은 수기 입력 장치(104), 수기 인식 엔진(105) 및 표시 장치(106)를 포함한다. 상술한 것처럼, 스트로크 입력은 수기 입력 장치(104)에서 수신된다. 스트로크 입력은 스트로크(202, 204, 206 및 208)로 도 2에 나타난다. 특히, 스트로크(208)는, 스트로크(206, 204, 202)보다 위에 위치하고 가장 최근에 입력된 스트로크이다. 도시된 것처럼, 4개의 스트로크는 수기 인식 엔진(105)에 의해 처리된다. 그러나 몇 개의 스트로크든지 처리될 수 있고, 본 발명의 실시예는 본 실시예에 한정되지 않는다. 예를 들면, 본 실시예는 4개의 가장 최근에 수신된 스트로크를 처리하는 것으로 기술되는 반면, 다른 실시예는 다른 수의 최근에 수신된 스트로크를 처리할 것이다(예를 들면, 최근의 3개의 수신된 스트로크 또는 최근의 5개의 수신된 스트로크).
일 실시예에서, 수기 입력 장치(104)는 접촉 운동의 자취를 감지하고 보고할 수 있다. 접촉 자취는 스트로크로 평가된 X 좌표, Y 좌표의 점 세트로 분류된다. 스트로크 버퍼(201)는 스트로크 순서를 분절하는 다른 가정을 형성하도록 허용하기 위해 일시적으로 입력된 스트로크를 남겨둔다.
수기 인식 엔진(105)은 사용자 스트로크 입력에 기반을 둔, 등록된 세트의 기호(예를 들면, a-z, 0-9, A-Z 또는 표의문자 기호)를 인식할 수 있다. 스트로크(202, 204, 206 및 208)는 수기 인식 실행을 위한 수기 인식 엔진(105)에 의해 처리된다. 일 실시예에서, 스트로크(202, 204, 206 및 208)는 스트로크 분석기(210)에서 처리된다. 스트로크 분석기(210)는 다수의 스트로크에 의해 정의된 적어도 하나의 가능한 기호를 결정하기 위하여 다수의 스트로크를 순차적으로 분석할 수 있다. 도시된 것처럼, 스트로크 분석기(210)는 각각 가장 최근에 입력된 4, 3, 2 및 1 스트로크를 포함하는 기호에서 기호를 인식하기 위한, 4개의 기호 인식 엔진(222, 224, 226 및 228)을 포함한다. 기호 인식 엔진(222, 224, 226 및 228)은 분리된 모듈일 필요가 없지만, 겹친 기호에서 스트로크에 의해 형성된 비-기호를 포함하는 가정을 부인하는 방식으로 스트로크의 조합을 분석하는 유사한 기능을 수행하는 단 하나의 모듈일 수 있다.
일 실시예에서, 스트로크 분석기(210)는 또한 가장 최근의 스트로크가 기호의 일부(입력된 텍스트)인지 또는 제스처를 나타내는 것인지 결정하기 위한 제스처 인식기(220)를 포함한다. 수기 스트로크는 명령을 내리는 기호의 일부(입력된 텍스 트) 또는 제스처일 것이다. 제스처가 스트로크의 미리 정의된 세트를 나타내기 때문에, 제스처 인식기(220)는 기호 인식 이전에 제스처 스트로크를 걸러낼 수 있다.
일단 스트로크가 제스처가 아님이 확인되면, 기호 인식 및 분절이 시작된다. 임시 버퍼에 저장된 스트로크(202, 204, 206 및 208)는 시험적인 기호 발생을 위해 이용된다. 버퍼에서 이용가능한 스트로크에 기반을 두면서, 가장 최근에 입력된 스트로크에 대하여 많은 새로운 시험적인 기호를 형성할 수 있다. 새로운 시험적인 기호의 수는 특정한 기호 세트에 대해 스트로크의 최대수에 관한 사전 지식을 사용해서 결정된다. 각 시험적인 기호는 디폴트값으로 가장 최근의 스트로크만 포함하는 새로운 기호 또는 하나 이상의 이전 스트로크와 결합된 최근 스트로크를 포함하는 새로운 기호로 추측된다.
일 실시예에서, 기호 인식 엔진으로 스트로크를 보내기 이전에, 스트로크는 전처리장치(212, 214, 216 및 218)에서 전처리된다. 전처리장치(212, 214, 216 및 218)는 로 데이터(raw data)(예를 들면, X, Y 좌표)를 인식 과정을 촉진하는 표현(representation)으로 변환하기 위해 다양한 변형을 수행할 수 있다. 일 실시예에서, 전처리는 인식을 위한 더 적당한 표현으로 입력 표현(representation)을 변환하는 것과 같은, 스케일링(scaling), 정규화(normalization) 및 특징 발생(feature generation) 등과 같은 작동을 포함한다.
전처리 기술은 알려진 변이 및 관련 특징과 같은, 항상 사용할 수 있는 업무에 대한 인간 지식을 통합한다. 예를 들면, 전처리는 요점 추출(key point extraction), 소음 여과(noise filtration) 및 특징 추출(feature extraction)을 포함할 수 있다. 일 실시예에서, 전처리장치(212, 214, 216 및 218)의 출력은 다차원 특징 공간(multidimensional feature space)에서 정의된 특징 벡터(feature vector)의 형태로 입력을 표현하는 벡터이다. 이 초공간(hyperspace)은 문제의 개별적인 분류를 표현하는 많은 부분공간(sub-space)으로 분할된다. 분류 과정은 어느 부분공간 특징 벡터에 특정한 입력이 속하는지 결정한다.
전처리 후에, 스트로크는 각각의 최근 4 스트로크, 최근 3 스트로크, 최근 2 스트로크 및 최근 1 스트로크의 조합에서 기호를 인식하기 위해 각각의 기호 인식 엔진(222, 224, 226 및 228)으로 전달된다. 일 실시예에서, 특징 벡터의 형태인 입력 스트로크는 등록된 분류의 특징에 대하여 일치된다. 제스처로 인식된 스트로크는 기호 인식 엔진(222, 224, 226 및 228)을 통과되지 않는다.
일 실시예에서, 기호 인식 엔진(222, 224, 226 및 228)은 통계적인 인식장치를 포함하고 미리 정의된 세트의 분류 중에서 분류할 수 있다. 일 실시예에서, 기호 인식 엔진(222, 224, 226 및 228)은 또한 스트로크의 비-정규 조합(non-legitimate combination)을 부인하도록 훈련된다. 기호 인식 엔진(222, 224, 226 및 228)은 전처리된 입력 신호와 출력 분류 사이에서 유사성을 반영하는 점수를 산출한다. 높은 산출 점수는 관련된 시험적인 기호가 인정됨을, 반면, 모든 분류에서의 낮은 점수는 관련된 가정이 부인된다고 추측한다. 일 실시예에서, 산출 점수는 각 기호 인식 엔진에 의하여 분석된 스트로크가 가능한 기호일 확률을 나타낸다. 기호 인식 엔진(222, 224 및 226)은 각 스트로크를 개별적으로 분석하기보다는 전체로서 각 기호 인식 안에서 스트로크의 각 조합을 분석한다.
*일 실시예에서, 각 기호 인식 엔진(222, 224, 226 및 228)은 일정한 분류 업무에 있어 좋은 성과를 얻을 수 있고 모호한 입력 패턴을 부인하기 위한 효과적인 "신뢰 판단(confidence judgment)"을 생성할 때 스트로크가 두 예정된 기호에서 어떤 스트로크에 부정확한 가정 창에서 관측된 무의미한 기호의 의혹을 부인할 수 있다. 일 실시예에서, 각 기호 인식 엔진은 그들의 유사성을 측정해서 입력 기호와 템플렛 그룹 사이에서 매칭을 실행하는 템플렛-매칭 과정을 채택한다. 비교의 정확한 결과는 가장 높은 유사성 점수를 가진 템플렛이다.
일 실시예에서, 템플렛 매칭은 다음을 포함한다:
- 분류된 템플렛 매칭: 템플렛은 스트로크의 수에 따른 그룹으로 분류된다. 이 그룹은 상호 배타적인 하위업무(subtask)로 인식 업무를 분할하고 인식 수행을 증가시킨다.
- 유사성 측정: 가장 높은 득점 비교를 예정된 분류로 보고하는, 변환된 입력과 모든 템플렛 사이의 유사성을 측정하는 기능.
- 부분 집합 분류 인식을 위한 페널티(penalty) 요인: 부분 집합 분류는 더 복잡한 분류의 일부를 또한 표현하는 간단한 분류이다(예를 들면, I와 C는 수기에서 K의 부분 집합 분류이다). 페널티 정수(penalty constant)는 유사성 측정으로 인수 분해되어서 부분 집합 분류는 높은 점수를 얻지 않을 것이다. 예를 들면, 입력 "I"는 템플렛 "K"에 대하여 매치된다.
- 이서체 기반 인식(allograph-based recognition): 동일 기호를 위한 수기 형식에서의 변이는 때때로 이서체(allograph)라는 다른 부분집합으로 귀착된다. 예를 들면, 소문자 "z"는 또한 "3"과 같이 쓰일 수 있고, 이 두 번째 이세체는 통상의 "z"와 다른 특징으로 포함한다. 인식 업무는 분리 분류로 이서체를 처리한다.
통계적 분류자의 다른 유형은 신경 네트워크 등과 같은, 기호 인식 엔진(222, 224, 226 및 228)에서 이용될 수도 있으며, 본 발명은 템플렛 매칭의 사용으로 제한되지 않는다.
일 실시예에서, 기호 인식 엔진의 매칭 결과는 후처리장치(232, 234, 236 및 238)에서 후처리된다. 후처리는 분류 중에서 존재하는 혼란을 줄일 수 있다. 인식 결과는 신뢰 수준과 함께 분류 레벨이며, 예를 들면, 인식 점수이다.
스트로크 분석기(210)는 수신된 스트로크에서 기호를 인식할 수 있다. 일시분절기(temporal segmenter)(240)는 기호 인식 결과를 수신하고 기호 인식 엔진의 기호 인식 결과에 기반을 두고 가장 적합한 기호를 선택할 수 있다.
일시 분절기(240)는 모든 가능한 가정을 예를 들면, 입력 스트로크의 순서를 조합하는 방법을 평가한다. 스트로크 순서의 특정 부분에서 가장 높은 점수를 가진 가정을 얻고 얻은 가정과 관련된 축적된 기호 순서가 출력된다. 모든 가능한 해결책을 생성하기 위해서, 일 실시예에서, 새로운 스트로크가 시스템에 추가됨에 따라 일시 분절기(240)는 급격하게 확장하는 이진 상태기를 이용한다. 상태기는 각 상태가 부모 상태에 기반을 둔 두 개의 새로운 가능한 가정을 나타내는 최대수의 두 개의 자식 상태를 가지는 이진(binary)이다: 새로 추가된 스트로크는 단 하나의 스트 로크 기호 또는 부모 상태에서 축적된 스트로크에 추가된 최근 스트로크이다.
도 3A는 본 발명의 실시예에 따라, 단어 "do"를 위한 대표적인 입력 이미지(300)를 도시한다. 도시된 것처럼, 단어 "do"는 3개의 스트로크(312, 314 및 316)를 포함한다. 입력 이미지(300)는 스트로크의 겹친 입력을 도시하고 그래프(310)는 스트로크 순서 도메인으로 입력된 스트로크를 도시한다.
도 3B는 본 발명의 실시예에 따라, 단어 "do"의 3-스트로크 입력을 위한 이진 상태기(320)를 도시한다. 이진 상태기는 스트로크의 각 조합을 위한 유효한 가정을 추적한다. 가정(330)은 입력 스트로크(312)를 위한 유일한 가정이다. 가정(340a, 340b)은 입력 스트로크(312, 314)의 조합을 위한 두 개의 유효한 가정이다. 가정(350a, 350b 및 350c)은 입력 스트로크(312, 314 및 316)를 위한 유효한 가정이다. 분류 "d"가 3개의 스트로크 이하로 구성된 것으로 알려질 때, 가정(35Od)은 무효이므로, 3-스트로크 "d"의 가정을 배제할 수 있다. 원하는 출력 "do"는 가정(350c)에서 나타난다.
이진 상태기는 기하급수적으로 증가한다. 이진 상태기의 증가를 제한하기 위해서, 처리 속도 및 시스템 비용을 개선하기 위해, 일시 분절기(240)에 각종 제한을 둘 수도 있다.
일 실시예에서, 정규 기호를 위한 스트로크의 수에 임의 제한을 부과한다. 예를 들면, 스트로크의 최대수를 각각 대문자, 소문자 및 아라비아 숫자를 위한 4, 3, 2 스트로크 이하로 제한한다. 이런 제한을 초과하는 많은 스트로크로 기호를 추측하는 가정은 가능성이 0이며 따라서 상태기에서 유지될 수 없다.
일 실시예에서, 이진 상태기의 깊이를 제한한다. 이 제한은 축적된 스트로크의 적용(firing)을 강제하고 기계에서 가장 확신하고 있는 가정 (상태)를 전달한다. 이 제한은 스트로크 버퍼에서 미완성 기호의 스트로크를 언로드(unload)할 수 있고 따라서 분절 과실의 우려가 있다. 분절 업무의 한 목적은 이 제한에 도달하는 것을 피하기 위한 것이다.
일시 분절기(240)는 기호 인식 결과를 수신하고 상호 배타적인 합동 사건의 세트로 사건의 순서를 분리할 수 있다. 이는 관측의 순서로부터 감춰진 상태를 모델화하는, 히든 마코프 모델(Hidden Markov Model, HMM)의 일반적인 구조에 적합하다. 정의된 HMM에서 가장 높은 가능성을 가진 경로를 식별하여 분절에 가장 가능한 응답을 제공한다. HMM의 복합성은 연속적인 상태 중 순서의 종속에 의해 지시된다. 이 문제 도메인에서, 순서의 종속은 기호의 등록된 세트를 위한 기호당 최대수(예를 들면, 4)와 동등하다. 따라서, 4개 이상의 스트로크를 포함하는 어떤 가정도 HMM에서 즉시 제외될 수 있다.
일시 분절기(240)에 의해 결정된 것처럼, 상태의 신뢰는 2개의 주요 데이터에서 온다: 새로운 가정적인 기호 및 그것의 선행하는 문자열의 신뢰. 선행하는 문자열은 부모 상태 또는 조상 상태에서 올 수도 있다. 예를 들면, 상태(350a)는 새로운 기호 "o"를 그 부모 상태(340a)에 추가하는 가정을 반영하는 반면, 상태(350b)는 상태(340a)의 국부 추측(의 "I"처럼 보이는 기호)을 부인하고 상태(330)에 새로운 기호 "d"를 추가한다. 일 실시예에서, 두 가지의 신뢰는 동등하다.
본 발명은 또한 초기 적용 결정(early firing decision)을 제공함으로써 이진 상태기의 향상된 관리를 제공한다. 초기 적용 결정은 상태기가 그것의 한계에 도달하기 전에 축적된 스트로크를 언로드(unload)하고 사용자에게 최선의 추측을 전달하는 신호를 의미한다. 그런 신호는 얻은 가정이 가장 최근에 인식된 기호에 아주 높은 신뢰가 있을 때 파생될 수 있다. 반면에 최신 관측에 대한 결론은 다른 배제된 부분이 순서에서의 신뢰를 향상시킬 수 있다.
제어 모듈(250)은 일시 분절기(240)에서 기호 및 단어를 그리고 제스처 인식기(220)에서 인식된 제스처를 수신한다. 제어 모듈(250)은 대표적인 소형 인자 전장 장치(260)의 표시 장치(106)에 기호 및 단어를 표시할 수 있다. 제어 모듈(250)은 또한 제스처의 수신에 반응하여 새로운 단어를 시작하거나 스페이스(space)를 삽입하는 등, 적합한 행동을 취할 수 있다.
도 4는 본 발명의 일 실시예에 따라, 수기 기호 인식 과정(400)의 단계를 설명하는 플로우차트이다. 일 실시예에서, 과정(400)은 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터(computer readable and computer executable instructions)의 제어하에 처리기 및 전자 구성요소에 의해 수행된다. 예를 들면, 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터는 휘발성 및 비휘발성 메모리를 사용할 수 있는 컴퓨터와 같은 데이터 저장 특성이 있다. 그러나, 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터는 모든 유형의 미디엄(medium)을 판독할 수 있는 컴퓨터에 있다. 특정단계가 과정(400)에서 개시되었더라도, 그런 단계는 대표적일 뿐이다. 즉, 본 발명의 실시예는 도 4에 인용된 단계와 다른 다양한 단계 또는 변이를 수행하는데 적합하다. 일 실시예에서, 과정(400)은 도 2의 수기 인식 엔진(105)에 의해 실행된다.
도 4의 단계(405)에서, 전자 장치의 일반적인 입력 영역은 다수의 스트로크를 수신하기 시작하며, 여기서 조합된 다수의 스트로크는 다수의 기호를 정의한다. 일 실시예에서, 다수의 기호의 첫 번째 기호의 적어도 하나의 스트로크는 다수의 기호의 두 번째 기호의 적어도 하나의 스트로크 위에 공간적으로 포개지며, 여기서 다수의 스트로크의 각 스트로크는 다수의 기호 중 단지 하나의 기호에만 연관된다. 일 실시예에서, 다수의 기호는 표의문자 언어를 표음을 포함한다. 일 실시예에서, 다수의 기호 중 하나의 기호는 4 스트로크 이상을 포함하지 않는다.
단계(410)에서, 스트로크가 처리된다. 단계(415)에서, 스트로크가 단어-결말 제스처(word-ending gesture)인지 여부를 결정한다. 스트로크가 단어-결말 제스처인 경우에, 과정(400)은 단계(440)로 진행한다. 그러나, 스트로크가 단어-결말 제스처가 아닌 경우에, 과정(400)은 단계(420)로 진행한다. 단계(420)에서, 스트로크를 포함하는 가정적인 기호가 생성된다. 일 실시예에서, 가정적인 기호는 스트로크의 연속하는 조합 및 이전에 처리한 스트로크를 포함한다.
단계(425)에서, 가정적인 기호가 분석된다. 일 실시예에서, 가정적인 기호는 도 5의 과정(500)에 따라 분석된다.
도 5는 본 발명의 일 실시예에 따라, 다수의 스트로크 분석 과정(500)의 단계를 설명하는 플로우차트이다. 일 실시예에서, 과정(500)은 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터의 감독하에 처리기와 전자 구성요소에 의해 실행된다. 예를 들면, 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터는 휘발성 및 비휘발성 메모리를 사용할 수 있는 컴퓨터와 같은 데이터 저장 특성이 있다. 그러나, 지시를 판독할 수 있는 컴퓨터 및 지시를 실행할 수 있는 컴퓨터는 어떤 유형의 미디엄(medium)을 판독할 수 있는 컴퓨터에 있다. 특정단계가 과정(500)에서 개시되었더라도, 그런 단계는 대표적일 뿐이다. 즉, 본 발명의 실시예는 도 5에 인용된 단계와 다른 다양한 단계 또는 변이를 수행하는데 적합하다. 일 실시예에서, 과정(500)은 도 2의 수기 인식 엔진(105)에 의해 실행된다.
단계(520)에서, 다수의 스트로크에 의해 정의된 다수의 기호 중 적어도 하나의 가능한 기호를 결정하기 위해 다수의 기호 인식 엔진으로 다수의 스트로크의 연속 조합을 분석한다. 일 실시예에서, 다수의 기호 인식 엔진은 통계적인 분류자를 포함한다. 일 실시예에서, 다수의 기호 인식 엔진 중 적어도 하나는 특정 수의 스트로크를 포함하는 기호를 식별하도록 형성된다.
합자(ligatures), 이중 모음(diphthong) 등과 같은 기호 조합은 일반적으로 하나 이상의 스트로크로 기입될 수도 있다. 일 실시예에서, 적어도 하나의 일반 스트로크에 의해 연결된 다수의 기호 중 적어도 2개의 기호는 기호 인식 엔진, 제스처 인식장치 또는 이 업무에 적합한 추가 인식장치 중 하나 이상에 의해 인식된다.
일 실시예에서, 분석은 가능한 기호를 식별하기 위해 외부 기계장치의 사용을 요구하지 않는다. 일 실시예에서, 요구되지 않는 외부 기계장치는 외부 분절 신호 및 기호 바이그램(bigram) 사이에서의 스트로크의 관련 위치를 기술하는 정보를 포함하는 스트로크 사전과 같은, 스트로크 사전 중 적어도 하나를 포함한다.
일 실시예에서, 다수의 기호 인식 엔진은 1 스트로크 기호 인식 엔진, 2 스트로크 기호 인식 엔진, 3 스트로크 기호 인식 엔진을 포함한다. 일 실시예에서, 다수의 기호 인식 엔진은 또한 4 스트로크 기호 인식 엔진을 포함한다.
단계(525)에서, 다수의 스트로크의 가능한 조합을 이진 상태기에 따라 결정한다. 단계(530)에서, 가능한 조합은 미리 결정된 제한에 따라 한정된다. 일 실시예에서, 과정(500)은 도 4의 단계(430)로 진행한다.
도 4에 있어서, 단계(430)에서 초기 적용 기준에 부합하는지 여부를 결정한다. 일 실시예에서, 얻은 가정에서의 최근의 가정적 기호가 높은 신뢰를 가지며 어느 다른 기호의 부분집합이 아니라고 알려지면 초기 적용 기준이 부합된다. 만약 초기 적용 기준이 부합되지 않으면, 과정(400)은 단계(435)로 진행하고, 다음 스트로크를 처리하기 위해, 과정(400)은 단계(410)로 진행한다. 그러나 초기 적용 기준에 부합하면, 가능한 조합에서 기호의 부분적으로 가공된 문자열을 선택한다. 일 실시예에서, 단계(440)에 도시한 것처럼, 얻은 가정적 문자열을 도 1의 표시 장치(106) 등과 같은 표시 장치로 출력하고, 단계(400)를 다음 스트로크 순서를 위해 리셋한다.
수기 기호 인식 방법 및 장치인, 본 발명의 각종 실시예를 기술하였다. 본 발명을 특정 실시예로 기술하였지만, 본 발명은 그런 실시예에 의해 제한되는 것으로 해석되어서는 안 되며, 오히려 다음의 청구항에 따라 해석되어야 한다.

Claims (29)

  1. 전자 장치의 입력 영역에서 복수의 스트로크를 수신하는 단계; 여기서, 상기 복수의 스트로크는 조합되어 복수의 기호를 정의하고, 상기 기호는 문자, 숫자를 포함하며, 및
    상기 전자 장치의 복수의 기호 인식 엔진이 상기 복수의 스트로크에 의해 정의된 복수의 기호 중에서 적어도 하나의 기호를 결정하기 위해 조합된 상기 복수의 스트로크를 분석하는 단계;를 포함하며,
    상기 복수의 기호 중 첫 번째 기호를 정의하는 적어도 하나의 스트로크 위에 상기 복수의 기호 중 두 번째 기호를 정의하는 적어도 하나의 스트로크가 상기 입력 영역에서 공간적으로 겹쳐 있고,
    상기 복수의 기호 인식 엔진 중 적어도 하나의 기호 인식 엔진이 특정한 수의 스트로크가 정의하는 기호를 식별하는, 수기 기호 인식 방법.
  2. 제1항에 있어서,
    상기 분석하는 단계는
    상기 복수의 기호 인식 엔진이 상기 복수의 스트로크가 이룰 수 있는 조합을 이진 상태기(binary state machine)를 통해 결정하는 단계; 및
    미리 결정된 제한 조건에 따라서 상기 이진 상태기를 통해 결정된 상기 복수의 스트로크가 이룰 수 있는 조합을 한정하는 단계;를 포함하는, 수기 기호 인식 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 분석하는 단계는
    상기 복수의 기호 인식 엔진이 상기 복수의 스트로크 중 하나의 스트로크가 기호가 아닌 제스처(non-symbol gesture)를 나타내는지 여부를 결정하는 단계; 및
    상기 복수의 스트로크 중 하나의 스트로크가 기호가 아닌 제스처(non-symbol gesture)를 나타내면 상기 복수의 기호 인식 엔진이 상기 복수의 스트로크 중 하나의 스트로크를 건너뛰는 단계;를 포함하는 수기 기호 인식 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 분석하는 단계는 상기 복수의 기호 인식 엔진이 적어도 하나의 공통 스트로크에 의해 연결된 상기 복수의 기호의 적어도 두 기호를 인식하는 단계를 포함하는 수기 기호 인식 방법.
  5. 입력 영역에 입력된 복수의 스트로크를 수신하는 스트로크 수신기; 여기서 상기 복수의 스트로크는 조합되어 복수의 기호를 정의하며,
    상기 복수의 스트로크를 분석하여 상기 복수의 스트로크에 의해 정의된 적어도 하나의 기호를 결정하는 스트로크 분석기; 를 포함하며,
    상기 입력 영역에서 상기 복수의 기호 중 첫 번째 기호의 적어도 하나의 스트로크 위에 상기 복수의 기호 중 두 번째 기호의 적어도 하나의 스트로크가 포개지며,
    상기 스트로크 분석기는 조합된 상기 복수의 스트로크를 분석하기 위한 복수의 기호 인식 엔진을 포함하고,
    상기 복수의 기호 인식 엔진의 각 엔진은 특정한 수의 스트로크로 구성된 기호를 식별하는, 수기 기호의 인식 장치.
  6. 제5항에 있어서,
    상기 복수의 기호 인식 엔진은
    하나의 스트로크로 구성된 기호를 인식하는 1 스트로크 기호 인식 엔진;
    두 개의 스트로크로 구성된 기호를 인식하는 2 스트로크 기호 인식 엔진; 및
    세 개의 스트로크로 구성된 기호를 인식하는 3 스트로크 기호 인식 엔진;을 포함하는 수기 기호의 인식 장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020097000441A 2006-07-06 2007-06-29 수기 기호 인지 방법 및 장치 KR101354663B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/484,051 US20080008387A1 (en) 2006-07-06 2006-07-06 Method and apparatus for recognition of handwritten symbols
US11/484,051 2006-07-06
PCT/US2007/015083 WO2008005304A2 (en) 2006-07-06 2007-06-29 A method and apparatus for recognition of handwritten symbols

Publications (2)

Publication Number Publication Date
KR20090045190A KR20090045190A (ko) 2009-05-07
KR101354663B1 true KR101354663B1 (ko) 2014-01-24

Family

ID=38895117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000441A KR101354663B1 (ko) 2006-07-06 2007-06-29 수기 기호 인지 방법 및 장치

Country Status (7)

Country Link
US (1) US20080008387A1 (ko)
EP (1) EP2038813A4 (ko)
JP (1) JP5211334B2 (ko)
KR (1) KR101354663B1 (ko)
CN (1) CN101484907B (ko)
TW (1) TWI435276B (ko)
WO (1) WO2008005304A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8121412B2 (en) * 2008-06-06 2012-02-21 Microsoft Corporation Recognition of tabular structures
US8566717B2 (en) * 2008-06-24 2013-10-22 Microsoft Corporation Rendering teaching animations on a user-interface display
TWI385584B (zh) * 2008-11-05 2013-02-11 Avermedia Information Inc 自動排列手寫字串之裝置及方法
US8310461B2 (en) 2010-05-13 2012-11-13 Nuance Communications Inc. Method and apparatus for on-top writing
CN102156609B (zh) * 2010-12-10 2012-12-19 上海合合信息科技发展有限公司 一种重叠书写的手写输入方法
US8988461B1 (en) 2011-01-18 2015-03-24 Disney Enterprises, Inc. 3D drawing and painting system with a 3D scalar field
CN102141892B (zh) * 2011-03-28 2013-01-02 安徽科大讯飞信息科技股份有限公司 叠加手写输入显示方法及系统
US9142056B1 (en) * 2011-05-18 2015-09-22 Disney Enterprises, Inc. Mixed-order compositing for images having three-dimensional painting effects
EP3522075A1 (en) * 2011-06-13 2019-08-07 Google LLC Character recognition for overlapping textual user input
US8094941B1 (en) * 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
CN102981693B (zh) * 2011-09-07 2015-11-25 汉王科技股份有限公司 一种多语言手写输入方法和装置
TWI447619B (zh) * 2011-12-15 2014-08-01 Inventec Corp 提供引導軌跡以輔助手勢輸入之系統及其方法
CN103366151B (zh) * 2012-03-30 2017-05-31 佳能株式会社 手写字符识别方法以及设备
WO2014166114A1 (en) * 2013-04-12 2014-10-16 Nokia Corporation An apparatus for text entry and associated methods
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
CN103425262A (zh) * 2013-08-01 2013-12-04 广东小天才科技有限公司 一种汉字手写输入方法及装置
KR102147935B1 (ko) 2013-08-29 2020-08-25 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
CN105095924A (zh) * 2014-04-25 2015-11-25 夏普株式会社 手写识别方法和设备
US10528249B2 (en) * 2014-05-23 2020-01-07 Samsung Electronics Co., Ltd. Method and device for reproducing partial handwritten content
JP6430199B2 (ja) * 2014-09-30 2018-11-28 株式会社東芝 電子機器、方法及びプログラム
JP6451316B2 (ja) * 2014-12-26 2019-01-16 富士通株式会社 文字認識プログラム、文字認識方法及び文字認識装置
CN104699405B (zh) * 2015-03-26 2019-03-29 联想(北京)有限公司 信息处理方法、信息处理装置和电子设备
DK179374B1 (en) 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
CN108509955B (zh) * 2017-02-28 2022-04-15 柯尼卡美能达美国研究所有限公司 用于字符识别的方法、系统和非瞬时计算机可读介质
US10204082B2 (en) 2017-03-31 2019-02-12 Dropbox, Inc. Generating digital document content from a digital image
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233599A (ja) * 1992-02-18 1993-09-10 Seiko Epson Corp オンライン文字認識装置
JP2001184458A (ja) 1999-10-15 2001-07-06 Matsushita Electric Ind Co Ltd 文字入力装置及び方法並びにコンピュータ読み取り可能な記録媒体
US20020071607A1 (en) 2000-10-31 2002-06-13 Akinori Kawamura Apparatus, method, and program for handwriting recognition
US20050100217A1 (en) 2003-11-07 2005-05-12 Microsoft Corporation Template-based cursive handwriting recognition

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5580183A (en) * 1978-12-12 1980-06-17 Nippon Telegr & Teleph Corp <Ntt> On-line recognition processing system of hand-written character
JPS58169296A (ja) * 1982-03-31 1983-10-05 Fujitsu Ltd オンライン手書文字認識装置
US4731857A (en) * 1984-06-29 1988-03-15 International Business Machines Corporation Recognition system for run-on handwritten characters
JPS63155389A (ja) * 1986-12-19 1988-06-28 Toshiba Corp オンライン文字認識装置
US5459796A (en) * 1990-10-22 1995-10-17 The Watt Stopper System for entering handwritten data into computer generated forms
US5592608A (en) * 1993-10-15 1997-01-07 Xerox Corporation Interactively producing indices into image and gesture-based data using unrecognized graphical objects
JP3486459B2 (ja) * 1994-06-21 2004-01-13 キヤノン株式会社 電子情報機器及びその制御方法
US6094506A (en) * 1995-10-25 2000-07-25 Microsoft Corporation Automatic generation of probability tables for handwriting recognition systems
US6898315B2 (en) * 1998-03-23 2005-05-24 Microsoft Corporation Feature extraction for real-time pattern recognition using single curve per pattern analysis
CN1317664C (zh) * 2004-01-17 2007-05-23 中国科学院计算技术研究所 乱笔顺库建立方法及联机手写汉字识别评测系统
US7764837B2 (en) * 2004-09-01 2010-07-27 Hewlett-Packard Development Company, L.P. System, method, and apparatus for continuous character recognition
US7496547B2 (en) * 2005-06-02 2009-02-24 Microsoft Corporation Handwriting recognition using a comparative neural network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233599A (ja) * 1992-02-18 1993-09-10 Seiko Epson Corp オンライン文字認識装置
JP2001184458A (ja) 1999-10-15 2001-07-06 Matsushita Electric Ind Co Ltd 文字入力装置及び方法並びにコンピュータ読み取り可能な記録媒体
US20020071607A1 (en) 2000-10-31 2002-06-13 Akinori Kawamura Apparatus, method, and program for handwriting recognition
US20050100217A1 (en) 2003-11-07 2005-05-12 Microsoft Corporation Template-based cursive handwriting recognition

Also Published As

Publication number Publication date
CN101484907B (zh) 2012-01-25
CN101484907A (zh) 2009-07-15
US20080008387A1 (en) 2008-01-10
EP2038813A2 (en) 2009-03-25
WO2008005304A3 (en) 2008-07-31
JP5211334B2 (ja) 2013-06-12
KR20090045190A (ko) 2009-05-07
WO2008005304A2 (en) 2008-01-10
TW200823773A (en) 2008-06-01
EP2038813A4 (en) 2014-04-23
JP2009543204A (ja) 2009-12-03
TWI435276B (zh) 2014-04-21

Similar Documents

Publication Publication Date Title
KR101354663B1 (ko) 수기 기호 인지 방법 및 장치
US10007859B2 (en) System and method for superimposed handwriting recognition technology
KR102383624B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
EP3320482B1 (en) System for recognizing multiple object input and method and product for same
CN102449640B (zh) 识别手写单词
US8768062B2 (en) Online script independent recognition of handwritten sub-word units and words
KR20080034956A (ko) 기입 입력의 스타일 연동 이용
Chiang et al. Recognizing arbitrarily connected and superimposed handwritten numerals in intangible writing interfaces
Sundaram et al. Bigram language models and reevaluation strategy for improved recognition of online handwritten Tamil words
KR102310385B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
K Jabde et al. A Comprehensive Literature Review on Air-written Online Handwritten Recognition
Urala et al. Recognition of open vocabulary, online handwritten pages in Tamil script
Kumar et al. Character recognition techniques using machine learning: A comprehensive study
WO2006090404A1 (en) System, method, and apparatus for accomodating variability in chunking the sub-word units of online handwriting
Ramakrishnan et al. Recognition of open vocabulary, online handwritten pages in Tamil script

Legal Events

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

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 6