KR102310385B1 - 중첩된 필기 인식 기술을 위한 시스템 및 방법 - Google Patents

중첩된 필기 인식 기술을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102310385B1
KR102310385B1 KR1020177036008A KR20177036008A KR102310385B1 KR 102310385 B1 KR102310385 B1 KR 102310385B1 KR 1020177036008 A KR1020177036008 A KR 1020177036008A KR 20177036008 A KR20177036008 A KR 20177036008A KR 102310385 B1 KR102310385 B1 KR 102310385B1
Authority
KR
South Korea
Prior art keywords
fragments
input
strokes
input strokes
recognition
Prior art date
Application number
KR1020177036008A
Other languages
English (en)
Other versions
KR20180030966A (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 KR20180030966A publication Critical patent/KR20180030966A/ko
Application granted granted Critical
Publication of KR102310385B1 publication Critical patent/KR102310385B1/ko

Links

Images

Classifications

    • 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]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • G06K9/00872
    • G06K9/00422
    • G06K9/00879
    • G06K9/222
    • G06K9/72
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • 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/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • G06V30/2272Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
    • 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/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • G06V30/2276Character recognition characterised by the type of writing of cursive writing using stroke segmentation with probabilistic networks, e.g. hidden Markov models
    • 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/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • 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
    • G06K2209/01
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Character Discrimination (AREA)

Abstract

문자들 사이의 어떠한 명시적인 구분도 없이 사용자의 자연스러운 중첩된 필기를 인식할 수 있는 시스템 및 방법. 그 시스템 및 방법은 단일 스트로크 및 멀티-스트로크 문자들을 프로세싱할 수 있다. 그 시스템 및 방법은 또한 필기체 필기를 프로세싱할 수 있다. 추가로, 그 방법 및 시스템은, 특정 사용자 입력 제스처의 사용에 의해 또는 언어 특성들 및 특징들에 기반하여 단어 경계들을 검출함으로써, 입력 단어들의 경계들을 결정할 수 있다. 그 시스템 및 방법은 세그먼트화 (116), 문자 인식 (118), 및 언어 모델링 (120) 의 프로세스들을 통해 필기 입력을 분석한다. 이들 프로세스들 중 적어도 일부는 동적 프로그래밍의 사용을 통해 동시에 발생한다.

Description

중첩된 필기 인식 기술을 위한 시스템 및 방법{SYSTEM AND METHOD FOR SUPERIMPOSED HANDWRITING RECOGNITION TECHNOLOGY}
관련 출원들에 대한 상호참조
본 출원은 2015년 5월 15일자로 출원된 유럽출원 제15290129.4호를 우선권 주장하고, 이 출원은 본 명세서에 참조로 전부 통합되고 본원의 일부로 형성된다.
본 발명은 일반적으로 다양한 문자들의 사용자 입력 필기를 인식할 수 있는 컴퓨팅 디바이스 인터페이스들의 분야에 관한 것이다.
컴퓨팅 디바이스들은, 계속, 일상 생활에서 더 편재하게 된다. 그 컴퓨팅 디바이스들은 컴퓨터 데스크탑들, 랩탑들, 태블릿 PC들, e-북 리더기들, 모바일 폰들, 스마트폰들, 웨어러블 컴퓨터들, 글로벌 포지셔닝 시스템 (GPS) 유닛들, 기업용 디지털 보조기들 (EDA들), 개인용 디지털 보조기들 (PDA들), 게임 콘솔들 등등의 형태를 취한다. 추가로, 컴퓨팅 디바이스들은 자동차들, 트럭들, 농장 시설, 제조 장비, 건물 환경 제어 (예컨대, 조명, HVAC), 및 가정 및 상업용 어플라이언스들에 통합되고 있다.
컴퓨팅 디바이스들은 일반적으로, 중앙 프로세싱 유닛 (CPU), 일부 형태의 메모리, 및 입력 및 출력 디바이스들과 같은 적어도 하나의 프로세싱 엘리먼트로 구성된다. 다양한 컴퓨팅 디바이스들 및 그들의 후속 사용들은 다양한 입력 디바이스들을 필요로 한다. 하나의 그러한 디바이스는 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이며, 여기서, 사용자 입력은 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면 간의 접촉을 통해 수신된다. 다른 입력 디바이스는, 입력 표면 위의 사용자에 의해 행해진 제스처들을 감지하는 입력 표면이다. 이들 입력 방법들 중 어느 하나는 일반적으로, 텍스트를 그리거나 입력하기 위해 사용될 수 있다. 사용자 입력이 텍스트일 경우, 컴퓨팅 디바이스는 온라인 필기 인식 시스템 또는 방법을 사용하여 사용자의 필기를 해석해야만 한다.
일반적으로, 온라인 필기 인식 시스템들 또는 방법들은 사용자가 터치 감지 표면을 접촉하는 경우와 같은 스트로크의 개시 (펜-다운); 사용자가 터치 감지 표면을 접촉하는 것을 중지하는 경우와 같은 스트로크의 종료 (펜-업); 및 사용자가 스트로크의 개시와 스트로크의 종료 간에 그 또는 그녀의 손가락 또는 펜으로 행하는 임의의 움직임들 (제스처들 또는 스트로크들) 을 모니터링한다.
온라인 필기 인식 시스템들 또는 방법들은 통상적으로, 프리-프로세싱 (preprocessing) 스테이지, 세그먼트화 (segmentation) 스테이지, 인식 스테이지, 및 해석 스테이지로 구성된다. 일반적으로, 프리-프로세싱 스테이지는 관련없는 입력 데이터를 폐기하고, 관련있는 데이터로부터의 노이즈를 정규화, 샘플링 및 제거하는 것을 포함한다. 세그먼트화 스테이지는 입력 데이터를 개별 문자들 및 단어들로 분해하기 위한 상이한 방식들을 명시한다. 인식은 일반적으로, 상이한 입력 세그먼트들을 특징화하는 특징 추출 스테이지, 및 그 세그먼트들을 가능한 문자 후보들과 연관시키는 분류 스테이지를 포함한다. 최종적으로, 해석 스테이지는 일반적으로, 문자 후보들과 연관된 문자들 및/또는 단어들을 인식하는 것을 포함한다. 실제로, 온라인 필기 인식 시스템들 또는 방법들은 이들 스테이지들과 함께 부가적인 스테이지들을 포함할 수도 있다. 추가로, 온라인 필기 인식 시스템들 또는 방법들은 각각의 스테이지를 명확히 구분하지 않을 수도 있다.
온라인 필기 인식 시스템들 또는 방법들은 단일-스트로크 또는 멀티-스트로크일 수 있다. 단일 스트로크 인식은 알파벳의 각각의 문자에 대하여 단일-스트로크 속기 (shorthand) 를 사용한다 (예컨대, Palm, Inc. 의 Graffiti). 이들 시스템들 또는 방법들은 적은 입력 에러들을 갖지만, 사용자들이 전체 알파벳에 대하여 새로운 스트로크 패턴들을 암기할 것을 요구한다. 멀티-스트로크 인식은 자연스러운 필기를 인식할 수 있고, 일본어 또는 중국어 문자들과 같이, 단일 스트로크들로 용이하게 감소되지 않는 문자들을 포함하는 언어들을 갖는 온라인 필기 인식 시스템들을 사용할 경우에 종종 필요하다.
컴퓨팅 디바이스의 타입은 또한, 활용되는 필기 인식 시스템 또는 방법의 타입을 결정할 수 있다. 예를 들어, (태블릿과 같이) 입력 표면이 충분히 클 경우, 사용자는 마치 사용자가 한 장의 종이 위에 기록하고 있었던 것처럼, 입력 표면에 또는 그 위의 어느 곳에도 텍스트 또는 데이터를 입력할 수 있다. 디바이스들이 더 작아짐에 따라, 멀티-박스 또는 단일-박스와 같은 상이한 시스템들 또는 방법들이 개발되었다. 멀티-박스 시스템들 또는 방법들은 입력 표면을 3 개의 박스들과 같은 다수의 영역들로 분할하며, 여기서, 사용자는 각각의 문자를 각각의 박스에 차례로 입력한다. 이들은 문자 세그먼트화가 최소이거나 불필요하기 때문에 유리하다. 그들은 또한, 분리된 문자 인식 기법들로 분석될 수 있는 멀티-스트로크 문자들을 허용한다.
훨씬 더 작은 디바이스들에 대해서도, 입력 표면이 다수의 박스들에 대하여 충분히 크지 않을 수도 있어서, 그 표면은 본질적으로 단일-박스 필기 인터페이스이다. 이 경우, 한 번에 오직 하나의 문자만이 기입될 수 있다. 단일-박스 인터페이스들이 단일-스트로크 인식 시스템들에 적합하지만, 일본어 또는 중국어와 같은 특정 언어들은 단일-스트로크 속기로 용이하게 감소되지 않는 멀티-스트로크 문자들을 갖는다. 추가로, 가장 자연스러운 필기는 언어에 관계없이, 멀티-스트로크 문자들을 포함한다.
멀티-스트로크 시스템들 또는 방법들을 사용하는 단일 박스 인터페이스들은 문자들의 시작 및 종료를 결정하는 것 및 입력 문자들의 이미지들을 명확히 디스플레이하는 것을 포함하는 추가의 문제들을 생성한다. 문자들의 시작 및 종료를 결정하기 위한 한 가지 방식은, 사용자가 각각의 문자 사이에 명시적으로 정지할 것을 요구한다. 하지만, 이는 사용자가 데이터를 입력하는 속도를 늦추기 때문에, 최적이 아니다. 사용자가 문자들을 계속해서 정지 없이 입력할 수 있는 단일 박스 시스템 또는 방법에 있어서, 입력 문자들은 서로 겹쳐지거나 중첩될 것이다. 이는 중첩된 필기, 겹쳐진 필기, 또는 "온-탑-라이팅 (on-top-writing)" 으로서 지칭된다.
본 온라인 중첩된 필기 인식 시스템 및 방법은 프래그먼트화 및 그 후 세그먼트화, 인식, 및 해석을 순차적으로 보다는 동시에 수행함으로써, 사용자 입력 필기 인식에 대하여 개선된 결과들을 제공한다. 본 시스템 및 방법은 프래그먼트화 또는 프래그먼트들의 분류를 수행하여 인식 정확도 및 속도를 향상시킨다. 본 시스템 및 방법은 세그먼트화, 인식 및 해석을, 그 단계들에 계위를 적용하는 것보다는 동일한 레벨로 수행한다. 세그먼트화, 인식 및 해석이 협력하여 발생하게 함으로써, 본 시스템은 사용자 입력에 기초하여 최상의 가능한 문자, 단어, 및 문장 후보들을 사용자에게 제공한다.
이하 본 명세서에서 설명되는 본 발명의 예들은 사용자의 자연스러운 필기 스타일을 해석할 수 있는 온라인 중첩된 필기 인식에서 사용하기 위한 방법들, 시스템들, 및 소프트웨어를 제공한다. 이들은 사용자가 문자들 간에 어떠한 명시적인 구분 없이도 그 또는 그녀의 자연스러운 필기를 사용하여 컴퓨팅 디바이스에 문자들을 입력하는 것을 허용한다. 본 필기 인식 시스템 및 방법은 입력 표면의 형태인 입력 디바이스에 접속된 컴퓨팅 디바이스를 포함한다. 사용자는 그 또는 그녀의 손가락 또는 스타일러스 또는 펜과 같은 기구를 사용하여 입력 표면에 압력을 가하거나 또는 입력 표면 위에서 제스처를 취함으로써 입력을 제공할 수 있다. 본 시스템 및 방법은 입력 스트로크들을 모니터링한다.
개시된 시스템 및 방법의 일 양태는 프래그먼트화 엑스퍼트 (expert) 를 제공하여 프래그먼트들 중 적어도 하나의 순차적인 프래그먼트들의 입력 스트로크들의 상대적인 포지션들을 검출하고, 적어도 하나의 순차적인 프래그먼트들의 입력 스트로크들의 지오메트리를 검출하고, 검출된 상대적인 포지션들로부터, 입력 스트로크들의 세그먼트들의 중첩을 결정하고, 검출된 지오메트리로부터, 중첩된 세그먼트들이 문자를 가능성있게 형성할지 여부를 결정하고, 결정된 가능성있는 문자들에 기초하여 프래그먼트들을 분류하며, 분류된 프래그먼트들에 기초하여 문자 가설들의 평가를 위한 인식 엔진에 분류된 프래그먼트들을 제공한다.
개시된 시스템 및 방법의 다른 양태는 적어도 하나의 비-일시적인 컴퓨터 판독가능 매체를 제공하고, 그 비-일시적인 컴퓨터 판독가능 매체는 적어도 순차적인 프래그먼트들의 제 1 프래그먼트의 적어도 하나의 입력 스트로크의 적어도 세그먼트가 적어도 하나의 문자를 가능성있게 형성하기 위해 적어도 순차적인 프래그먼트들의 제 2 프래그먼트의 적어도 하나의 입력 스트로크의 적어도 세그먼트와 결합하는지 여부를 결정함으로써 가능성있는 문자들을 결정하도록 구성된다.
개시된 시스템 및 방법의 다른 양태에 있어서, 각각의 분류된 프래그먼트는 하나 이상의 입력 프래그먼트들의 입력 스트로크들에 의해 형성된 완전한 문자들을 포함하도록 정의된다.
개시된 시스템 및 방법의 다른 양태는 적어도 순차적인 프래그먼트들의 입력 스트로크들의 상대적인 포지션들을 제공하고, 그 상대적인 포지션들은 입력 스트로크들의 공간적 및 시간적 정보 양자 모두로부터 검출된다.
개시된 시스템 및 방법의 다른 양태는 분류된 프래그먼트들의 스트로크들에 기초하여 세그먼트화 그래프를 생성하는 인식 엔진을 제공하는 것으로서, 세그먼트화 그래프는 문자 가설들에 대응하는 노드들을 포함하는, 상기 인식 엔진을 제공하고; 패턴 분류기에 기초하여 세그먼트화 그래프의 각각의 노드에 인식 스코어들을 할당하고; 인식 스코어들 및 언어 모델에 기초하여 입력 스트로크들의 언어적 의미를 생성하고; 그리고 세그먼트화 그래프, 인식 스코어의 동시적인 분석에 기초하여 출력을 제공한다.
개시된 시스템 및 방법의 다른 양태에 있어서, 세그먼트화 그래프는 분류된 프래그먼트들에 기초하여 문자 가설들 사이의 스페이스 가설들에 대응하는 노드들을 더 포함한다.
본 시스템 및 방법은 도면들과 함께 취해진 그 예들의 다음의 상세한 설명으로부터 더 충분히 이해될 것이다.
도 1 은 본 시스템의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다.
도 2 는 본 시스템의 일 예에 따른 온라인 필기 인식용 시스템의 블록 다이어그램을 도시한다.
도 3a 는 본 시스템의 일 예에 따른 가능한 사용자 입력의 도식적 예시를 도시한다.
도 3b 는 본 시스템의 일 예에 따른 세그먼트화 그래프의 개략도를 도시한다.
도 4 는 본 시스템의 일 예에 따라 필기체 사용자 입력 중 가능한 사용자 입력의 개략도를 도시한다.
도 5 는 본 시스템의 일 예에 따라 필기체 사용자 입력의 세그먼트화의 개략도 예시를 도시한다.
도 6 은 본 시스템의 일 예에 따른 인식 엑스퍼트의 개략도 예시를 도시한다.
도 7 은 본 시스템의 일 예에 따른 언어적 오토마톤 (linguistic automaton) 의 개략도 예시를 도시한다.
도 8 은 본 시스템의 추가적인 예에 따른 온라인 필기 인식용 시스템의 블록 다이어그램을 도시한다.
도 9a 는 본 시스템의 일 예에 따른 가능한 사용자 입력의 도식적 예시를 도시한다.
도 9b 는 도 9a 의 사용자 입력의 타이밍의 도식적 예시를 도시한다.
도 10a 는 본 시스템의 일 예에 따른 가능한 사용자 입력의 도식적 예시를 도시한다.
도 10b 는 도 10a 의 사용자 입력의 타이밍의 도식적 예시를 도시한다.
다음의 상세한 설명에 있어서, 다수의 특정 상세들이 관련 교시들의 철저한 이해를 제공하기 위하여 예들로서 개시된다. 하지만, 본 교시들은 그러한 상세들 없이 실시될 수도 있음이 당업자에게 자명해야 한다. 다른 경우들에 있어서, 널리 공지된 방법들, 절차들, 컴포넌트들, 및/또는 회로부는 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 회피하기 위해 상세없이 상대적으로 고 레벨로 설명되었다.
본 명세서에서 설명된 다양한 기술들은 일반적으로 온라인 필기 인식에 관한 것이고, 더 구체적으로, 다양한 컴퓨팅 디바이스들 상의 중첩된 필기 인식을 위한 시스템들 및 방법들에 관한 것이다. 본 명세서에서 설명된 시스템 및 방법은 세그먼트화, 인식, 및 해석의 동시적인 프로세스들을 통해 사용자의 자연스러운 필기 입력을 인식하여 최상의 가능한 문자, 단어, 및 문장 후보들을 제공하는데 사용될 수도 있다.
도 1 은 컴퓨팅 디바이스 (100) 의 블록 다이어그램을 도시한다. 이러한 컴퓨팅 디바이스는 컴퓨터 데스크탑, 랩탑, 태블릿 PC, e-북 리더기, 모바일 폰, 스마트폰, 웨어러블 컴퓨터, 디지털 와치, 글로벌 포지셔닝 시스템 (GPS) 유닛, 기업용 디지털 보조기 (EDA), 개인용 디지털 보조기 (PDA), 또는 게임 콘솔일 수 있다. 디바이스 (100) 는 메모리 및 입력 및/또는 출력 (I/O) 디바이스들의 일부 형태로 적어도 하나의 프로세싱 엘리먼트를 포함한다. 컴포넌트들은 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 당업자에게 공지된 바와 같은 다른 수단들과 같은 입력 및 출력 수단들을 통해 서로 통신한다.
디바이스 (100) 는 적어도 하나의 입력 표면 (104) 을 포함한다. 입력 표면 (104) 은 저항성, 표면 탄성파, 용량성, 적외선 그리드, 적외선 아크릴 프로젝션, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술과 같은 기술을 채용할 수도 있다. 입력 표면 (104) 은 그 경계들을 명확히 식별하는 영구적인 또는 비디오-생성된 경계에 의해 바운딩될 수도 있다.
입력 표면 (104) 에 부가하여, 디바이스 (100) 는 로컬 인터페이스를 통해 통신가능하게 커플링되는 하나 이상의 추가의 I/O 디바이스들 (또는 주변기기들) 을 포함할 수도 있다. 로컬 인터페이스는 통신들을 가능케 하기 위한 추가의 엘리먼트들, 예컨대, 제어기들, 버퍼들 (캐시들), 드라이버들, 리피터들, 및 수신기들을 가질 수도 있고, 이들은 간략화를 위해 생략되지만 당업자에게 공지된다. 추가로, 로컬 인터페이스는 다른 컴퓨터 컴포넌트들 중에서 적절한 통신들을 가능케 하기 위해 어드레스, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.
하나의 그러한 I/O 디바이스는 이미지들, 텍스트, 및 비디오와 같은 컴퓨팅 디바이스로부터의 데이터를 출력하기 위한 적어도 하나의 디스플레이 (102) 일 수도 있다. 디스플레이 (102) 는 LCD, 플라즈마, CRT, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술을 사용할 수도 있다. 디스플레이 (102) 의 적어도 일부는 입력 표면 (104) 과 병치될 수 있다. 다른 추가의 I/O 디바이스들은 입력 디바이스들, 예컨대, 키보드, 마우스, 스캐너, 마이크로폰, 터치패드들, 바코드 리더기들, 레이저 리더기들, 무선 주파수 디바이스 리더기들, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술을 포함할 수도 있다. 추가로, I/O 디바이스들은 또한, 출력 디바이스들, 예컨대, 프린터, 바코드 프린터들, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술을 포함할 수도 있다. 최종적으로, I/O 디바이스들은 추가로, 입력들 및 출력들 양자 모두를 통신하는 디바이스들, 예컨대, 변조기/복조기 (모뎀; 다른 디바이스, 시스템, 또는 네트워크 액세스용), 무선 주파수 (RF) 또는 다른 트랜시버, 전화 인터페이스, 브릿지, 라우터, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술을 포함할 수도 있다.
디바이스 (100) 는 또한, 소프트웨어, 특히 메모리 (108) 에 저장된 소프트웨어를 실행하기 위한 하드웨어 디바이스인 프로세서 (106) 를 포함한다. 프로세서는 임의의 맞춤 제작되거나 상업적으로 입수가능한 범용 프로세서, 중앙 프로세싱 유닛 (CPU), 반도체 기반 마이크로프로세서 (마이크로칩 또는 칩세트의 형태), 매크로프로세서, 마이크로제어기, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 상태 머신, 또는 당업자에게 공지된 소프트웨어 명령들을 실행하기 위해 설계된 이들의 임의의 조합일 수 있다. 적합한 상업적으로 입수가능한 마이크로프로세서들의 예들은 다음과 같다: Hewlett-Packard Company 로부터의 PA-RISC 시리즈 마이크로프로세서, Intel Corporation 으로부터의 80x86 또는 펜티엄 시리즈 마이크로프로세서, IBM 으로부터의 PowerPC 마이크로프로세서, Sun Microsystems, Inc. 로부터의 Sparc 마이크로프로세서, Motorola Corporation 으로부터의 68xxx 시리즈 마이크로프로세서, DSP 마이크로프로세서들, 또는 ARM 마이크로프로세서들.
메모리 (108) 는 휘발성 메모리 엘리먼트들 (예컨대, 랜덤 액세스 메모리 (DRAM, SRAM, SDRAM 등과 같은 RAM)) 및 비휘발성 메모리 엘리먼트들 (예컨대, ROM, EPROM, 플래시 PROM, EEPROM, 하드 드라이브, 자기 또는 광학 테이프, 메모리 레지스터들, CD-ROM, WORM, DVD, RAID (redundant array of inexpensive disks), 다른 DASD (direct access storage device) 등) 중 임의의 하나 또는 그 조합을 포함할 수 있다. 더욱이, 메모리 (108) 는 전자의, 자기의, 광학의, 및/또는 다른 타입들의 저장 매체들을 통합할 수도 있다. 메모리 (108) 는 다양한 컴포넌트들이 서로 원격으로 위치되지만 프로세서 (106) 에 의해 또한 액세스될 수 있는 분산형 아키텍처를 가질 수 있다. 메모리 (108) 는 프로세서 (106) 에 커플링되어, 프로세서 (106) 가 메모리 (108) 로부터 정보를 판독하고, 메모리 (108) 에 정보를 기입할 수 있다. 대안적으로, 메모리 (108) 는 프로세서 (106) 에 통합될 수도 있다. 다른 예에 있어서, 프로세서 (106) 및 메모리 (108) 는 양자 모두가 단일 ASIC 또는 다른 집적 회로에 상주할 수도 있다.
메모리 (108) 내의 소프트웨어는, 하나 이상의 별도의 프로그램들을 포함할 수도 있는 온라인 필기 컴퓨터 프로그램을 포함하고, 하나 이상의 별도의 프로그램들 각각은 논리 함수들을 구현하기 위한 실행가능한 명령들의 순서화된 리스트를 포함한다. 오퍼레이팅 시스템 (110) 은 온라인 필기 컴퓨터 프로그램의 실행을 제어한다. 오퍼레이팅 시스템 (110) 은 PALM®, WINDOWS®, MAC 및 IPHONE OS®, LINUX, ANDROID 등과 같은 전매특허 오퍼레이팅 시스템 또는 상업적으로 입수가능한 오퍼레이팅 시스템일 수도 있다. 다른 오퍼레이팅 시스템들이 또한, 본 명세서에 개시된 시스템 및 방법의 사상으로부터 일탈함없이 활용될 수도 있음이 이해된다.
메모리 (108) 는 본 명세서에서 설명된 바와 같은 필기 인식에 관련된 다른 어플리케이션 프로그램들 (112), 완전히 상이한 기능들, 또는 이들 양자를 포함할 수도 있다. 어플리케이션들 (112) 은 제조시 디바이스 (100) 에 제공된 프로그램들을 포함하고, 제조 이후에 디바이스 (100) 에 다운로드된 프로그램들을 추가로 포함할 수도 있다. 일부 예들은 텍스트 에디터, 전화 다이얼러, 연락처 디렉토리, 인스턴트 메세징 설비, 이메일 프로그램, 워드 프로세싱 프로그램, 웹 브라우저, 카메라 등을 포함한다.
지원 및 준수 능력들을 갖는 온라인 필기 인식 컴퓨터 프로그램은 소스 프로그램, 실행가능 프로그램 (오브젝트 코드), 스크립트, 또는 수행될 명령들의 세트를 포함하는 임의의 다른 엔터티일 수도 있다. 소스 프로그램일 경우, 그 프로그램은, 오퍼레이팅 시스템과 관련하여 적절히 동작하도록, 메모리 내에 포함될 수도 있거나 포함되지 않을 수도 있는 컴파일러, 어셈블러, 인터프리터 등을 통해 변환될 필요가 있다. 더욱이, 지원 및 준수 능력들을 갖는 온라인 필기 인식 컴퓨터 프로그램은 (a) 데이터 및 방법들의 클래스들을 갖는 오브젝트 지향 프로그래밍 언어, 또는 (b) 예를 들어 C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, 및 Ada 이지만 이에 한정되지 않는 루틴들, 서브루틴들, 및/또는 함수들을 갖는 절차 프로그래밍 언어로서 기입될 수 있다.
시스템은, 프로세서 (106) 가 입력 표면 (104) 을 통해 사용자 입력된 스트로크를 검출할 때, 개시된다. 사용자는 손가락, 또는 펜 또는 스타일러스와 같은 임의의 기구로 스트로크를 입력할 수도 있다. 스트로크는, 적어도 스트로크 개시 위치, 스트로크 종료 위치, 및 사용자가 스트로크 개시 및 종료 위치들을 연결하는 경로를 특징으로 한다. 상이한 사용자들이 약간의 변형들을 갖는 동일한 글자를 자연스럽게 기입할 수도 있기 때문에, 본 시스템은, 각각의 글자가 입력될 수도 있는 다양한 방식들을 수용한다.
도 2 는 본 시스템의 일 예에 따른 온라인 필기 인식용 시스템의 개략도이다. 적어도 하나의 입력 스트로크로 개시되자마자, 시스템은 스트로크들을 프리-프로세싱한다 (114). 프리-프로세싱 (114) 은, 입력을 평활화하기 위해 B-스플라인 근사와 같은 방법들 및/또는 사이즈 정규화를 적용함으로써, 스트로크 개시 및 종료 위치들을 연결하는 경로를 정규화하는 것을 포함할 수 있다. 그 후, 입력 스트로크는, 출력 후보들 (124) 을 문자, 단어, 및 문장 레벨로 생성하기 위해 동적 프로그래밍을 통해 협력하는 3 개의 엑스퍼트들 (세그먼트화 엑스퍼트 (116), 인식 엑스퍼트 (118), 및 언어 엑스퍼트 (120)) 로 전달된다.
세그먼트화 엑스퍼트 (116) 는, 입력 스트로크들을 단어들 및 개별 문자 가설들로 세그먼트화하기 위한 상이한 방식들을 정의한다. 문자 가설들을 형성하기 위해, 세그먼트화 엑스퍼트 (116) 는 원래 입력의 연속적인 스트로크들을 그룹화한다. 이는, 각각의 노드가 적어도 하나의 문자 가설에 대응하고 그리고 문자들 간의 인접성 제약들이 노드 연결들에 의해 핸들링되는 세그먼트화 그래프를 발생시킨다. 노드들은, 대응하는 가설들이 어떠한 공통의 스트로크도 갖지 않지만 그 스트로크들이 원래의 입력에서 연속적이면, 인접한 것으로 고려된다. 도 3a 는 본 시스템의 일 예에 따라 단어 BEAN 의 가능한 사용자 입력을 도시한다. 구체적으로, 도면은 멀티-스트로크 문자들을 갖는 중첩된 기입의 일 예를 디스플레이한다. 도 3b 는 본 시스템의 일 예에 따라 생성된 도 3a 의 입력의 가능한 세그먼트화 그래프를 도시한다.
중첩된 필기 인식 시스템들 및 방법들은 또한, 하나의 단어가 종료하고 다른 단어가 시작하는 위치를 결정해야 한다. 본 시스템 및 방법은 단어 경계들을 취출하기 위해 다수의 실시형태들이 가능하다. 일 실시형태에 있어서, 사용자는 각각의 단어 이후에 특정 제스처를 삽입하도록 요구된다. 이 실시형태에 있어서, 특정 제스처는 스페이스 문자로서 출력된다. 이 실시형태는, 입력 스트로크들을 단어들 및 개별 문자 가설들로 세그먼트화하기 위한 상이한 방식들을 감소시키기 때문에, 세그먼트화 프로세스에 더 많은 강인성을 제공한다. 하지만, 이 실시형태는, 사용자로 하여금 일부 사용자들이 잊어버릴 수도 있는, 각각의 단어의 종료를 표시하는 특정 제스처를 부가하게 한다.
대안적인 실시형태는 단어들을 구분하는 특정 제스처를 요구하지 않는다. 대신, 온라인 필기 인식 컴퓨터 프로그램은, 이하 상세히 설명될 인식 엑스퍼트 (118) 및/또는 언어 엑스퍼트 (120) 의 도움으로 단어 경계들을 자동으로 검출한다. 예를 들어, 언어 엑스퍼트 (120) 는, 다른 것들 중에서, N-그램 모델들, 구문 분석 (syntactic parsing), 시맨틱 분석 등과 같은 소정의 언어에서 연속적인 단어들의 시퀀스의 가능성을 모델링하는 기법들 및 어휘 지식에 기초하여 단어 경계들을 취출하기 위해 언어 정보 (130) 를 사용한다.
예를 들어, 사용자가, 영어로부터 추출된 언어 정보 (130) 에 기초하여, 일 실시형태에서 중첩된 기입으로 문자 시퀀스 "whattimeisit?" 를 입력할 수도 있다. 이러한 대안적인 실시형태는, 입력 스트로크들에 대한 포괄적인 의미를 형성하고 그리고 언어 정보 (130) 에 기초하여 단어 경계들을 취출하여 단어 세그먼트화 "what time is it?" 를 출력할 것이다. 이러한 실시형태는, 사용자로 하여금 각각의 단어 사이에 특정 제스처를 삽입하지 않고 단어들의 시퀀스를 입력하게 하는 이점을 갖는다.
다른 실시형태에 있어서, 2 개의 이전의 방법들이 결합될 수 있다. 그 경우, 사용자는 단어 경계들을 검출하는데 더 많은 강인성을 얻기 위해, 각각의 단어 이후에 특정 제스처를 삽입할 수 있다. 하지만, 사용자가 제스처를 삽입하는 것을 간과할 때마다, 필기 인식 시스템은 인식 엑스퍼트 (118) 및/또는 언어 엑스퍼트 (120) 의 도움으로 단어 경계들을 검출할 수 있다.
일 예에서, 세그먼트화 엑스퍼트는, 도 3a 및 도 3b 에서 보는 바와 같이, 각각의 개별 문자가 펜-업으로 이웃 문자들로부터 구분되는 손자국 기입 입력으로 제한되지 않는다. 본 시스템의 세그먼트화 엑스퍼트 (116) 는 또한, 부착된 문자들이 다른 것에 대해 하나로 기입되는 필기체 기입을 프로세싱할 수 있다. 도 4 는 단어들 "be" 및 "an" 의 필기체 사용자 입력을 도시한다. 필기체 사용자 입력을 해석할 경우, 세그먼트화 엑스퍼트 (116) 는, 스트로크를 그 구성 세그먼트들로 분해하기 위한 위치들을 정의하는 특정 포인트들의 검출에 기초하여 각각의 스트로크를 세그먼트화한다. 도 5 는 필기체 "an" 이 그 구성 세그먼트들로 분해되는 일 예를 도시한다. 스트로크를 그 구성 세그먼트들로 분해하기 위한 특정 포인트들은 교차 포인트들, 스트로크 경로의 기울기의 변화 등에 의해 정의될 수도 있다. 이들 구성 세그먼트들은 세그먼트화 그래프를 구성하기 위해 사용된다.
인식 엑스퍼트 (118) 는 문자 후보들의 리스트를 세그먼트화 그래프의 각 노드에 대한 확률들 또는 인식 스코어들과 연관시킨다. 이들 확률들 또는 인식 스코어들은 언어 인식 정보 (122) 에 기초한다. 언어 인식 정보는 명시된 언어에 대한 기초를 이루는 알파벳의 기호들 및 상이한 문자들 모두를 정의한다. 이 정보는 언어 종속적이고, 알파벳들에서의 일반적인 차이들뿐만 아니라, 알파벳들을 기입하는 다양한 개별 스타일들을 인식하는 능력을 포함한다. 예를 들어, 개인이 "7" 을 기입하는 방식은 그 개인이 미국, 프랑스, 또는 심지어 한국 출신인지 여부에 의존하여 매우 상이할 수 있다. 도 3a 및 도 3b 에서 제공된 예를 계속하면, 도 6 은, 2 개의 스테이지들을 포함하는 인식 엑스퍼트 (118) 의 일 실시형태를 도시한다. 인식 엑스퍼트 (118) 의 제 1 스테이지, 즉, 특징 추출 (126) 은 동적 및 정적 특징들의 조합에 기초한다. 예를 들어, 동적 특징들은 입력 스트로크의 궤적으로부터 추출될 수 있고, 입력 스트로크의 포지션, 방향 및 곡률과 같은 정보에 기초한다. 정적 특징들은 입력 스트로크의 비트맵 표현으로부터 추출될 수 있고, 프로젝션들 및 히스토그램들에 기초할 수 있다.
본 실시형태의 인식 엑스퍼트 (118) 의 제 2 스테이지는 뉴럴 네트워크들 (128) 과 같은 패턴 분류기에 의해 추출되는 특징들의 분류이다. 본 실시형태에 있어서, 뉴럴 네트워크들은 간단한 다중층 퍼셉트론(perceptron)들일 수 있다. 뉴럴 네트워크들은 또한, 뉴럴 네트워크로 하여금 불량하게 세그먼트화된 문자들에 대응하는 노드 가설들을 거부할 수 있게 하는 여분의 클래스를 포함할 수 있다. 인식 엑스퍼트 (118) 는, 세그먼트화 그래프의 각 노드에 대한 확률들 또는 인식 스코어들을 갖는 문자 후보들의 리스트를 출력한다. 대안적인 실시형태는 다른 종류의 뉴럴 네트워크, 예컨대, 딥 (Deep) 뉴럴 네트워크, 컨벌루셔널 뉴럴 네트워크, 또는 재귀 (Recurrent) 뉴럴 네트워크를 사용할 수도 있다. 더 일반적으로, 임의의 종류의 패턴 분류기가 이러한 인식 작업을 어드레싱하는데 사용될 수 있다 (예컨대, 지원 벡터 머신, 은닉 마르코프 모델).
언어 엑스퍼트 (120) 는 세그먼트화 그래프에서 상이한 경로들에 대한 언어적 의미를 생성한다. 언어 엑스퍼트 (120) 는 이용가능한 언어 정보 (130) 에 따라 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 이러한 언어 정보 (130) 는 어휘, 통상 표현 등을 포함할 수 있다. 언어 엑스퍼트 (120) 는 최상의 인식 경로를 발견하는 것을 목적으로 한다. 일 실시형태에 있어서, 언어 엑스퍼트 (120) 는, 언어 정보 (130) 의 내용을 나타내는 최종 상태 오토마톤 (결정론자 FSA) 과 같은 언어 모델을 탐색함으로써, 이를 수행한다. 도 3a, 도 3b 및 도 6 에서의 예들 상에서 구축하는 도 7 은 오직 단어들 BEAN, BY, CAR, CAT, 및 COW 을 포함하는 어휘를 갖는 언어적 오토마톤을 도시한다. 추가로, 도 7 은 단어 경계를 정의하기 위해 사용자가 대시 (132) 를 삽입하는 것을 예상하는 언어 엑스퍼트의 일 실시형태를 나타낸다.
어휘 제약에 부가하여, 언어 엑스퍼트 (120) 는 얼마나 자주 단어 또는 단어들의 소정 시퀀스가 명시된 언어에서 나타나는지 또는 특정 사용자에 의해 사용되는지에 대하여 통계 정보 모델링을 사용할 수도 있다. 예를 들어, 단어 트라이그램 (tri-gram) 언어 모델은 세그먼트화 그래프의 소정 경로의 해석의 언어적 가능성을 평가하는데 사용될 수도 있다.
세그먼트화 엑스퍼트 (116), 인식 엑스퍼트 (118), 및 언어 엑스퍼트 (120) 는 입력 스트로크들을 프로세싱하고 그리고 문자, 단어, 및 문장 레벨로 출력 후보들 (124) 을 생성하기 위해 동적 프로그래밍을 통해 협력하여 작동한다. 일 실시형태에 있어서, 동적 프로그래밍은, 세그먼트화 그래프와 언어 모델 양자에서 최상의 경로를 탐색하는 빔 탐색 기술에 기초한다. 이 경우, 최상의 경로는 최저 비용에 대응하는 경로이다. 최저 비용 경로는 다음의 합으로서 정의될 수 있다:
Figure 112017124425112-pct00001
세그먼트화 그래프로의 대응하는 경로에서 조우하는 모든 문자 후보들의 비용들. 이들 비용들은 세그먼트화 그래프에서 이 경로에 속하는 각각의 노드의 인식 스코어들 또는 확률들로부터 추정될 수 있다. 일 실시형태에 있어서, 비용들은 -로그 비선형 함수를 적용함으로써 뉴럴 네트워크 확률들로부터 추정된다.
Figure 112017124425112-pct00002
언어 모델의 대응하는 경로에서 조우하는 모든 단어들의 비용들. 그 비용들은 언어 엑스퍼트 (120) 로부터의 N-그램 확률들로부터 추정될 수 있다. 일 실시형태에 있어서, 비용들은 -로그 비선형 함수를 적용함으로써 언어 엑스퍼트 (120) 로부터의 N-그램 확률들로부터 추정된다.
본 온라인 필기 인식 컴퓨터 프로그램의 전체 트레이닝을 위해, 분류기들 (예컨대, 뉴럴 네트워크) (128) 의 모든 파라미터들 및 시스템의 임의의 메타-파라미터들의 자동 학습과 함께 텍스트 레벨의 글로벌 판별식 트레이닝 방식이 사용될 수도 있지만, 다른 트레이닝 시스템들 및 방법들이 사용될 수도 있다. 본 온라인 중첩된 필기 인식 시스템 및 방법에도 불구하고, 사용자 입력 필기 인식을 위한 최상의 결과들이 세그먼트화, 인식, 및 해석을, 순차적으로 또는 계위적 속성으로 보다는, 동시에 수행함으로써 제공된다.
도 4 와 관련하여 논의된 바와 같이, 본 시스템의 세그먼트화 엑스퍼트 (116) 는, 단일 문자들보다는 다수의 부착된 문자들이 입력으로서 다른 것에 대해 하나로 기입되는 필기체 기입을 프로세싱할 수 있다. 도 9 는 본 시스템의 추가적인 예에 따른 온라인 필기 인식용 시스템의 개략도이다. 도 2 의 시스템 예와 같은 이러한 추가적인 예시 시스템은, 출력 후보들 (124) 을 문자, 단어, 및 문장 레벨로 생성하기 위해 협력하는 세그먼트화 엑스퍼트 (116), 인식 엑스퍼트 (118), 및 언어 엑스퍼트 (120) 로 결국 전달되는 스트로크들을 프리-프로세싱한다 (114). 세그먼트화 엑스퍼트 (116), 인식 엑스퍼트 (118), 및 언어 엑스퍼트 (120) 는 인식 엔진 (900) 의 적어도 부분을 함께 형성한다. 필기체 입력의 효율적인 인식 프로세싱을 위해 프리-프로세싱 (114) 된 스트로크들을 인식 엔진 (900) 에 제시하기 위하여, 본 예의 시스템은 추가로, 입력 내의 필기체 문자와 비-필기체 문자의 중첩을 분류하고 이 분류된 입력을 인식 엔진 (900) 에 전달하는, 프리-프로세싱 (114) 된 입력의 중첩 분류 (902) 를 이용한다. 동일한 참조 부호들은 동일한 기능적 및 구조적 특성들을 갖는 엘리먼트들을 도시함이 이해된다.
이제, 중첩 분류 엑스퍼트 (902) 의 동작이 도 10 내지 도 12 를 참조하여 논의된다. 필기체 사용자 입력은 부착된 문자들을 포함하며, 여기서, 문자들 모두 또는 오직 그 일부만이 부착된다. 필기를 중첩된 방식으로 입력할 경우, 단어들 및 문장들의 기입은 그 단어들 및 문장들의 복수의 프래그먼트들을 시간별 방식으로 입력 표면의 동일한 스페이스에 겹침으로써 수행되며, 예를 들어, 프래그먼트들은 동일한 스페이스의 적어도 일부를 상이한 시간들에서 점유한다. 각각의 프래그먼트는 하나 이상의 완전한 문자들을 포함할 수도 있으며, 예를 들어, 선행하는 및/또는 후행하는 프래그먼트들의 문자들과 결합되는 글자들은 완전한 단어들을 이룬다. 하지만, 나중에 논의되는 바와 같이, 각각의 프래그먼트는 또한 하나 이상의 불완전한 문자들을 포함할 수도 있으며, 예를 들어, 제 1 프래그먼트는 예를 들어 글자 "t" 또는 "i" 의 루트를 포함할 수도 있고 제 2 (다음) 프래그먼트는 글자 "t" 의 '바' 또는 글자 "i" 의 '도트' 를 포함할 수도 있으며, 이는 선행하는 및/또는 후행하는 프래그먼트들의 불완전한 문자들과 결합되어 완전한 문자들을 이루고, 이는 프래그먼트들을 분류하는 것에 대한 고유한 도전들을 제시한다.
그러한 중첩은, 명확히, 인식 엔진의 프로세싱 시간 및 정확도에 대한 결과들로 입력의 다수의 가능한 해석들을 유도한다. 하지만, 본 시스템은 이러한 중첩된 입력의 메커니즘을 사용하여, 인식 엔진에 의해 테스팅될 가설들의 수의 감소를 통한 프로세싱 시간을 개선하고 그리고 가능성있게 유효한 것들로의 이용가능한 가설들의 제약을 통한 프로세싱 정확도를 개선한다. 이는 다음과 같이 달성될 수도 있다.
도 10a 는 프래그먼트들 "hel" 및 "lo" 의 중첩된 입력으로서 단어 "hello" 의 필기체 사용자 입력을 도시한다. 도 10b 는 이러한 입력을 시간별 방식으로 도시한다. 볼 수 있는 바와 같이, 제 1 프래그먼트 (904) 는 (예를 들어, 단일 스트로크로서 기입 또는 입력된) 필기체 스크립트에서의 서로 부착된 완전한 문자들 "h" 및 "e", 및 필기체 스크립트에서의 하지만 다른 문자들로부터 분리된 (예를 들어, 구분된 또는 비-부착된) 완전한 문자 "l" 을 포함한다. 추가로, 제 2 프래그먼트 (906) 는 필기체 스크립트에서의 하지만 서로로부터 분리된 완전한 문자들 "l" 및 "o" 를 포함한다. 이는 단지 일 예일 뿐이고, 문자들의 모두가 부착되고/되거나 필기체 스크립트에 있을 수도 있거나 또는 어떠한 문자들도 부착되고/되거나 필기체 스크립트에 있지 않을 수도 있다. 본 시스템의 전술된 예에 있어서, 인식 엔진은 양자의 프래그먼트들에서의 모든 문자들을 세그먼트화하여, 프래그먼트들 자신에 무관하게 다수의 가설들의 프로세싱을 허용하는 세그먼트화 그래프를 전개한다. 본 예에 있어서, 중첩 분류 엑스퍼트 (902) 는 프래그먼트들에 관하여 입력을 프로세싱하여, 인식 엔진 (900) 에 의해 생성되고 따라서 테스팅될 수 있는 가설들의 수를 제한하고 이에 의해 프로세싱 시간을 감소하고 인식 정확도를 향상시키도록 구성된다.
중첩 분류 엑스퍼트 또는 분류기 (902) 는, 입력의 현재의 스트로크가 현재의 및 인접한 스트로크들의 지오메트리에 적어도 부분적으로 기초하여 새로운 프래그먼트의 시작부에 있는지 여부를 검출하고, 이에 따라, 스트로크들을 분류한다. 예를 들어, 도 10b 에 있어서, 제 1 프래그먼트에서의 부착된 문자들 "he" (점선으로 나타냄) 를 형성하는 '스트로크' 는 분류기 (902) 에 의해 프래그먼트의 시작부로서 검출되고, 제 2 프래그먼트에서의 분리된 문자 "l" (점선으로 나타냄) 를 형성하는 '스트로크' 는 분류기 (902) 에 의해 다른 프래그먼트의 시작부로서 검출된다. 이에 의해, 분류기 (902) 는 입력을 2개의 분류된 프래그먼트들로 분류하고, 입력의 어느 스트로크가 어느 분류된 프래그먼트들에 속하는지를 알며, 스트로크들의 입력의 시간 정보를 고려하여, 분류기는, 제 1 분류된 프래그먼트에서의 문자 "l" 을 형성하는 최종 스트로크가 제 2 의 후속 분류된 프래그먼트에서의 첫번째 문자 "l" 을 형성하는 스트로크의 부분이 아님을 분류할 수 있다. 이러한 분류는 인식 엔진 (900) 에서 분석되어, 세그먼트화 엑스퍼트 (116) 는 세그먼트화 및 인식 프로세싱을 위한 이들 특정 스트로크들의 브레이크 포인트들을 이미 안다.
프래그먼트의 시작부를 검출하기 위하여, 분류기 (902) 는, 이들 정보 피스들 중 단지 하나라기 보다는 또는 단지 펜-업 및 펜-다운 정보라기 보다는, 입력 스트로크들의 공간적, 시간적 및 지오메트리 정보를 사용한다. 즉, 단지 시간적 정보만이 사용되었으면, 인식 엔진은 시간에 기초하여 스트로크 세그먼트화에 관하여 가정하거나 또는 프래그먼트화와 무관하게 모든 스트로크들에 대한 가설들을 전개하도록 강제될 것인데, 왜냐하면 나중의 스트로크와 바로 직전의 스트로크가 동일한 문자에 속하는지 여부를 알 어떠한 방법도 없을 것이기 때문이다. 추가로, (단일 문자 중첩 입력 방법의 경우에서와 같이) 단지 펜-업 및 펜-다운 정보만이 프래그먼트화를 결정하는데 사용되었으면, 제 1 프래그먼트 (904) 에서 "he" 와 "l" 사이의 펜-업 및 펜-다운 이벤트는 프래그먼트화 이벤트로서 해석될 것이며 이는 명백히 부정확하다. 추가로, 단지 공간적 정보만이 프래그먼트화를 결정하는데 사용되었으면, 예를 들어, 도시된 예에서와 같이 좌-우 문자 입력의 경우에 (다른 방향들에서의 입력, 예를 들어, 우-좌, 상-하 등이 또한 적용가능함이 이해됨) 펜-다운 포지션이 바로 직전의 펜-업 포지션의 좌측일 경우를 검출하면, 불완전한 문자들은 결코 부정확한 인식으로 유도하는 인식 엔진에 의해 결합되지 않을 것이다.
도 11a 는 프래그먼트들 "lhe" 및 "-" 의 중첩된 입력으로서 단어 "the" 의 필기체 사용자 입력을 도시한다. 도 11b 는 이러한 입력을 시간별 방식으로 도시한다. 볼 수 있는 바와 같이, 제 1 프래그먼트 (908) 는 필기체 스크립트에서의 서로 부착된 문자들 "l" 및 "h", 및 필기체 스크립트에서 이들로부터 분리된 문자 "e" 를 포함하고, 제 2 프래그먼트 (910) 는 완전한 문자 "-" 를 포함한다. 이는 단지 일 예일 뿐이고, 문자들의 모두가 부착되고/되거나 필기체 스크립트에 있을 수도 있거나 또는 어떠한 문자들도 부착되고/되거나 필기체 스크립트에 있지 않을 수도 있다. 명백히, 이 입력에 있어서, 제 2 프래그먼트의 지연된 스트로크 "-" 는 제 1 세그먼트에서의 "t" 의 '바' 로서 의도된다. 하지만, 분류기 (902) 가 프래그먼트들을 분류하였으면 (예를 들어, 프래그먼트화하였으면), 오직 시간적, 공간적 또는 펜-업 펜-다운 거동에만 기초한 이러한 입력, 지연된 스트로크 "-" 는 새로운 분류된 프래그먼트의 시작부로서 분류될 것이고, 따라서, 인식 엔진 (900) 은 2개의 가설들: "lhe -" 및 "lhe-" 를 평가하도록 야기될 것이며, 여기서, 이들 중 어느 것도 사용자의 입력을 반영하지 않고 부정확한 인식으로 유도한다. 하지만, 분류기 (902) 는 공간적 (및 시간적) 정보와 함께 스트로크들의 지오메트리를 사용하여 스트로크들을 프래그먼트들로 분류한다. 시간적 정보는 입력 스트로크들의 시간 순서의 지식을 제공한다. 사용된 공간적 정보는 이전 프래그먼트에서의 마지막 스트로크 및 중첩된 입력 이벤트를 표시하는 다음 프래그먼트의 첫번째 스트로크의 상대적인 포지션들의 지식을 제공할 뿐만 아니라 이들 프래그먼트들 내의 모든 스트로크들의 상대적인 포지션들의 지식도 제공한다. 지오메트리 정보는 분류기 (902) 로 하여금 중첩된 스트로크들이 단일 문자에 가능성있게 속하는지 여부, 예를 들어, 인접한 또는 근접한 프래그먼트들에서의 가능한 불완전한 문자들이 그들 프래그먼트들 중 임의의 프래그먼트에서 완전한 문자들을 함께 형성하는지를 고려하게 한다.
즉, 도 11 의 예에 있어서, 분류기 (902) 는, 공간적 (및 시간적) 정보에 기초하여, 지연된 스트로크 "-" 가 스트로크 "lhe" 에 대한 상대적인 포지션을 가짐을 검출하고 (이는 스트로크 "-" 가 완전한 스트로크 "lhe" 의 스트로크 세그먼트 "l" 에 겹치는 것을 의미함), 분류기 (902) 는, 이들의 지오메트리 정보에 기초하여, 겹쳐진 스트로크들이 가능성있는 단일 또는 완전한 문자를 생성하도록 결합될 수도 있음을 검출한다. 결과적으로, 중첩 분류 엑스퍼트 (902) 는 지연된 스트로크를 새로운 프래그먼트의 시작부로서 분류하지 않지만 (즉, 스트로크 "-" 는 스트로크 "lh" 가 존재하는 동안 도 11b 에서의 점선으로 도시되지 않음), 단일의 분류된 프래그먼트를 인식 엔진에 제공하며, 이에 의해, 인식 엔진으로 하여금 2개의 가설들: "the" 및 "lhe-" 을 평가하게 하며, 이는 명백히 정확한 인식 결과로 유도할 것이다. 이러한 방식으로, 중첩 분류 엔진 (902) 은, 분류된 프래그먼트는 오직 완전한 문자들만을 포함하고 그리고 공지된 지오메트리 정보에 의해 정의된 바와 같이 불완전한 문자들을 포함하는 입력 디지털 잉크의 인접한 또는 근접한 프래그먼트들은 단일의 분류된 프래그먼트들로서 분류되게 된다는 규칙을 구현한다.
프래그먼트화 또는 프래그먼트들을 분류하기 위한 추가적인 가능한 기준들은 문자들 사이의 스페이스들의 존재이다. 하지만, 추가의 기준들이 없으면, 이는 부정확한 그리고 시간 비용적인 인식으로 유도할 수도 있다. 이는, 입력 표면의 사이즈 (예를 들어, 필기 입력을 위한 디바이스의 폭) 에 의존하여, 단어들 사이의 스페이스들로 예시된 것들보다 입력 문자들의 더 긴 스트링들이 중첩 방식 또는 모드로 입력될 수 있는 것, 즉, 단어들, 문장들 및 문단들의 프래그먼트들이 서로 중첩되는 것이 가능하기 때문이다. 그러한 경우, 문자들 사이의 스페이스들은 입력 프래그먼트들의 표시자들이라기 보다는 인식될 입력의 부분이다. 한편, 분류기에 의한 새로운 프래그먼트의 검출 및 분류는 인식 엔진으로 하여금 가능한 가설들의 평가에 있어서 인접 분류된 프래그먼트들의 마지막 문자와 첫번째 문자 사이의 스페이스의 가설을 포함하게 하는데 사용될 수도 있다.
도 9 내지 도 11 의 예의 설명이 필기체 스크립트에서의 각각의 중첩된 프래그먼트에 입력된 다수의 문자들에 대하여 행해졌지만, 당업자는, 지오메트리 및 공간적 정보 또는 지오메트리, 공간적 및 시간적 (및/또는 펜-업 펜-다운) 정보의 사용이 단일의 또는 다수의 비-필기체, 예를 들어, 인쇄체 문자들의 스트로크들을 프래그먼트들로 분류하는데 사용될 수 있음을 이해한다. 추가로, 분류기는, 새로운 프래그먼트의 가능성있는 생성인 이벤트가 검출될 때까지 동일한 프래그먼트에 속하는 것으로서 모든 스트로크들을 처리하는 디폴트 분류를 제공하도록 구성되는 것으로 고려될 수도 있지만, 당업자는, 중첩 분류기가, 불완전한 스트로크들의 완료와 같은 예외들이 검출되지 않으면 상이한 프래그먼트들에 속하는 것으로서 중첩된 스트로크들을 처리하는 디폴트 분류를 제공하기 위해 결합된 스트로크 정보를 사용할 수 있음을 이해한다. 지오메트리 정보를 적용하기 위하여, 분류기 (902) 는 스트로크 형상들의 데이터베이스, 리스트, 테이블, 또는 어휘 등 그리고 시스템 또는 분류기의 메모리에 의해 저장된 가능성있는 문자들에 대한 서로와의 그 관계를 참조할 수도 있다. 추가로, 중첩 분류 엑스퍼트는, 프래그먼트들을 분류하기 위하여 일련의 순차적인 또는 연속적인 입력 프래그먼트들의, 또는 오직 바로 후속적인, 바로 순차적인, 또는 바로 인접한 프래그먼트들의 상대적인 지오메트리 및 포지션 (또는 시간적) 정보를 비교하도록 구성될 수도 있다. 예를 들어, 3개의 연속적인 입력 프래그먼트들에서 말하여지면, 분류기가 제 1 및 제 3 프래그먼트들이 완전한 문자를 만들도록 결합되는 불완전한 문자들, 예를 들어, 제 1 프래그먼트에서의 "t" 의 루트 "l" 및 제 3 프래그먼트에서의 "t" 의 바 "-", 을 가능성있게 포함하면, 분류기는 이 정보를 이용하여, 모두 3개의 입력 프래그먼트들의 스트로크들을 포함하는 단일의 프래그먼트를 분류할 수 있다.
전술한 바는 최상의 모드 및/또는 다른 예들인 것으로 고려되는 것을 설명하였지만, 다양한 수정들이 본 명세서에서 행해질 수도 있고, 본 명세서에 개시된 주제가 다양한 형태들 및 예들로 구현될 수도 있으며, 그리고 이들이 다수의 다른 어플리케이션들, 조합들, 및 환경들에 적용될 수도 있음 (이들 중 오직 일부만이 본 명세서에서 설명되었음) 이 이해된다. 당업자는 개시된 양태들이 그 주제의 진정한 사상 및 범위로부터 일탈함없이 변경되거나 보정될 수도 있음을 인식할 것이다. 따라서, 그 주제는 본 설명에서 특정 상세들, 전시들, 및 도시된 예들로 한정되지 않는다. 본 명세서에 개시된 유리한 개념들의 진정한 범위 내에 있는 임의의 및 모든 수정들 및 변동들을 보호하는 것이 의도된다.

Claims (18)

  1. 컴퓨팅 디바이스 (100) 상의 입력 스트로크들의 시퀀스의 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 시스템으로서,
    상기 컴퓨팅 디바이스 (100) 는 상기 입력 스트로크들의 시퀀스를 감지하기 위한 입력 표면, 프로세서 (106) 및 상기 프로세서 (106) 의 제어 하의 적어도 하나의 비-일시적인 컴퓨터 판독가능 매체를 포함하고, 상기 적어도 하나의 비-일시적인 컴퓨터 판독가능 매체는 컴퓨터 판독가능 프로그램 코드를 수록하며, 상기 코드는 상기 프로세서 (106) 에 의해,
    상기 입력 스트로크들의 시퀀스의 적어도 순차적인 프래그먼트들에서 상기 입력 스트로크들의 지오메트리를 검출하고;
    상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하는 것으로서, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상기 상대적인 포지션들은 상기 입력 스트로크들의 공간 및 시간 정보 양자로부터 검출되고, 상기 시간 정보는 상기 입력 스트로크들의 시간 순서의 지식을 제공하는, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하고;
    검출된 상기 상대적인 포지션들 및 지오메트리들로부터, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들 중 하나 이상이 하나 이상의 가능성있는 문자들을 형성하도록 결합하는지 여부를 결정하고;
    결정된 상기 가능성있는 문자들에 기초하여 상기 프래그먼트들을 분류하고; 그리고
    분류된 상기 프래그먼트들에 기초하여 문자 가설들의 평가를 위한 인식 엔진 (900) 에 분류된 상기 프래그먼트들을 제공하도록
    실행가능하고,
    상기 인식 엔진 (900) 은,
    분류된 상기 프래그먼트들의 상기 스트로크들에 기초하여 세그먼트화 그래프를 생성하는 것으로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들을 포함하는, 상기 세그먼트화 그래프를 생성하고;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하며; 그리고
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하도록
    구성되는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 비-일시적인 컴퓨터 판독가능 매체의 상기 코드는 상기 적어도 순차적인 프래그먼트들의 제 1 프래그먼트 (904, 908) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트가 적어도 하나의 문자를 가능성있게 형성하기 위해 상기 적어도 순차적인 프래그먼트들의 제 2 프래그먼트 (906, 910) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트와 결합하는지 여부를 결정함으로써 상기 가능성있는 문자들을 결정하도록 실행가능한, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    각각의 분류된 프래그먼트는 하나 이상의 입력 프래그먼트들의 상기 입력 스트로크들에 의해 형성된 완전한 문자들을 포함하도록 정의되는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 인식 엔진 (900) 은,
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시적인 분석에 기초하여 출력을 제공하도록
    구성되는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 시스템.
  5. 컴퓨팅 디바이스 (100) 상의 입력 스트로크들의 시퀀스의 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 방법으로서,
    상기 컴퓨팅 디바이스 (100) 는 상기 입력 스트로크들의 시퀀스를 감지하기 위한 입력 표면, 프로세서 (106) 및 상기 프로세서 (106) 의 제어 하에 상기 필기 인식을 위한 적어도 하나의 비-일시적인 컴퓨터 판독가능 매체를 포함하고, 상기 방법은,
    상기 입력 스트로크들의 시퀀스의 적어도 순차적인 프래그먼트들에서 상기 입력 스트로크들의 지오메트리를 검출하는 단계;
    상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하는 단계로서, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상기 상대적인 포지션들은 상기 입력 스트로크들의 공간 및 시간 정보 양자로부터 검출되고, 상기 시간 정보는 상기 입력 스트로크들의 시간 순서의 지식을 제공하는, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하는 단계;
    검출된 상기 상대적인 포지션들 및 지오메트리들로부터, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들 중 하나 이상이 하나 이상의 가능성있는 문자들을 형성하도록 결합하는지 여부를 결정하는 단계;
    결정된 상기 가능성있는 문자들에 기초하여 상기 프래그먼트들을 분류하는 단계;
    분류된 상기 프래그먼트들에 기초하여 문자 가설들의 평가를 위한 인식 엔진 (900) 에 분류된 상기 프래그먼트들을 제공하는 단계;
    분류된 상기 프래그먼트들의 상기 스트로크들에 기초하여 세그먼트화 그래프를 생성하는 단계로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들을 포함하는, 상기 세그먼트화 그래프를 생성하는 단계;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하는 단계; 및
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하는 단계를 포함하는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 가능성있는 문자들은, 상기 적어도 순차적인 프래그먼트들의 제 1 프래그먼트 (904, 908) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트가 적어도 하나의 문자를 가능성있게 형성하기 위해 상기 적어도 순차적인 프래그먼트들의 제 2 프래그먼트 (906, 910) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트와 결합하는지 여부를 결정함으로써 결정되는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    각각의 분류된 프래그먼트는 하나 이상의 입력 프래그먼트들의 상기 입력 스트로크들에 의해 형성된 완전한 문자들을 포함하도록 정의되는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 방법.
  8. 제 5 항 또는 제 6 항에 있어서,
    상기 인식 엔진 (900) 내에서, 상기 방법은,
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시적인 분석에 기초하여 출력을 제공하는 단계를 포함하는, 복수의 적어도 부분적으로 중첩된 프래그먼트들에 대한 필기 인식을 제공하기 위한 방법.
  9. 컴퓨터 판독가능 프로그램 코드가 수록된 비-일시적인 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스 (100) 상의 입력 스트로크들의 시퀀스의 복수의 적어도 부분적으로 중첩된 프래그먼트들을 위한 방법을 구현하기 위해 실행되도록 적응되고, 상기 컴퓨팅 디바이스 (100) 는 상기 입력 스트로크들의 시퀀스를 감지하기 위한 입력 표면 및 프로세서 (106) 를 포함하며, 상기 프로세서 (106) 의 제어 하의 상기 비-일시적인 컴퓨터 판독가능 매체는 상기 방법을 구현하고, 상기 방법은,
    상기 입력 스트로크들의 시퀀스의 적어도 순차적인 프래그먼트들에서 상기 입력 스트로크들의 지오메트리를 검출하는 단계;
    상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하는 단계로서, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상기 상대적인 포지션들은 상기 입력 스트로크들의 공간 및 시간 정보 양자로부터 검출되고, 상기 시간 정보는 상기 입력 스트로크들의 시간 순서의 지식을 제공하는, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들의 상대적인 포지션들을 검출하는 단계;
    검출된 상기 상대적인 포지션들 및 지오메트리들로부터, 상기 적어도 순차적인 프래그먼트들의 상기 입력 스트로크들 중 하나 이상이 하나 이상의 가능성있는 문자들을 형성하도록 결합하는지 여부를 결정하는 단계;
    결정된 상기 가능성있는 문자들에 기초하여 상기 프래그먼트들을 분류하는 단계;
    분류된 상기 프래그먼트들에 기초하여 문자 가설들의 평가를 위한 인식 엔진 (900) 에 분류된 상기 프래그먼트들을 제공하는 단계;
    분류된 상기 프래그먼트들의 상기 스트로크들에 기초하여 세그먼트화 그래프를 생성하는 단계로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들을 포함하는, 상기 세그먼트화 그래프를 생성하는 단계;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하는 단계; 및
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하는 단계를 포함하는, 비-일시적인 컴퓨터 판독가능 매체.
  10. 제 9 항에 있어서,
    상기 가능성있는 문자들은, 상기 적어도 순차적인 프래그먼트들의 제 1 프래그먼트 (904, 908) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트가 적어도 하나의 문자를 가능성있게 형성하기 위해 상기 적어도 순차적인 프래그먼트들의 제 2 프래그먼트 (906, 910) 의 적어도 하나의 입력 스트로크의 적어도 세그먼트와 결합하는지 여부를 결정함으로써 결정되는, 비-일시적인 컴퓨터 판독가능 매체.
  11. 제 9 항 또는 제 10 항에 있어서,
    각각의 분류된 프래그먼트는 하나 이상의 입력 프래그먼트들의 상기 입력 스트로크들에 의해 형성된 완전한 문자들을 포함하도록 정의되는, 비-일시적인 컴퓨터 판독가능 매체.
  12. 제 9 항 또는 제 10 항에 있어서,
    상기 인식 엔진 (900) 내에서, 상기 방법은,
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시적인 분석에 기초하여 출력을 제공하는 단계를 포함하는, 비-일시적인 컴퓨터 판독가능 매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020177036008A 2015-05-15 2016-05-13 중첩된 필기 인식 기술을 위한 시스템 및 방법 KR102310385B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15290129.4 2015-05-15
EP15290129 2015-05-15
PCT/EP2016/000799 WO2016184559A1 (en) 2015-05-15 2016-05-13 System and method for superimposed handwriting recognition technology

Publications (2)

Publication Number Publication Date
KR20180030966A KR20180030966A (ko) 2018-03-27
KR102310385B1 true KR102310385B1 (ko) 2021-10-07

Family

ID=53396392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036008A KR102310385B1 (ko) 2015-05-15 2016-05-13 중첩된 필기 인식 기술을 위한 시스템 및 방법

Country Status (5)

Country Link
EP (1) EP3295292B1 (ko)
JP (1) JP6735775B2 (ko)
KR (1) KR102310385B1 (ko)
CN (1) CN107912062B (ko)
WO (1) WO2016184559A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101627A1 (ko) * 2022-11-07 2024-05-16 삼성전자 주식회사 필기 입력을 인식하는 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719701B2 (en) * 2018-04-25 2020-07-21 Accenture Global Solutions Limited Optical character recognition of connected characters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228226A (ja) 2005-02-16 2006-08-31 Samsung Electronics Co Ltd 空間筆記認識方法、装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077975B2 (en) * 2008-02-26 2011-12-13 Microsoft Corporation Handwriting symbol recognition accuracy using speech input
CN103366151B (zh) * 2012-03-30 2017-05-31 佳能株式会社 手写字符识别方法以及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228226A (ja) 2005-02-16 2006-08-31 Samsung Electronics Co Ltd 空間筆記認識方法、装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101627A1 (ko) * 2022-11-07 2024-05-16 삼성전자 주식회사 필기 입력을 인식하는 방법 및 장치

Also Published As

Publication number Publication date
CN107912062B (zh) 2021-02-23
JP2018518755A (ja) 2018-07-12
EP3295292B1 (en) 2020-09-02
WO2016184559A1 (en) 2016-11-24
JP6735775B2 (ja) 2020-08-05
KR20180030966A (ko) 2018-03-27
EP3295292A1 (en) 2018-03-21
CN107912062A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
KR102383624B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
US10007859B2 (en) System and method for superimposed handwriting recognition technology
KR101354663B1 (ko) 수기 기호 인지 방법 및 장치
JP6777723B2 (ja) 複数のオブジェクトの入力を認識するためのシステムならびにそのための方法および製品
JP7486131B2 (ja) フリーハンドライティングモードでの手書きテキスト入力の処理
KR20210017090A (ko) 필기 입력을 텍스트로 변환하는 방법 및 전자 장치
EP3491580B1 (en) System and method for beautifying superimposed digital ink
US20210034848A1 (en) System and method for text line extraction
KR102310385B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
US10884610B2 (en) System and method for recognizing handwritten stroke input
US20240078377A1 (en) Completing typeset characters using handwritten strokes
WO2024110354A1 (en) Setting font size in an unconstrained canvas

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant