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

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

Info

Publication number
KR20170005378A
KR20170005378A KR1020167030895A KR20167030895A KR20170005378A KR 20170005378 A KR20170005378 A KR 20170005378A KR 1020167030895 A KR1020167030895 A KR 1020167030895A KR 20167030895 A KR20167030895 A KR 20167030895A KR 20170005378 A KR20170005378 A KR 20170005378A
Authority
KR
South Korea
Prior art keywords
input
recognition
segmentation graph
stroke
segmentation
Prior art date
Application number
KR1020167030895A
Other languages
English (en)
Other versions
KR102383624B1 (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 KR20170005378A publication Critical patent/KR20170005378A/ko
Application granted granted Critical
Publication of KR102383624B1 publication Critical patent/KR102383624B1/ko

Links

Images

Classifications

    • G06K9/00865
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/00422
    • G06K9/52
    • G06K9/6267
    • G06K9/66
    • G06T5/002
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • 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/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • 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
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • 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/333Preprocessing; Feature extraction
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Character Discrimination (AREA)
  • Geometry (AREA)

Abstract

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

Description

중첩된 필기 인식 기술을 위한 시스템 및 방법{SYSTEM AND METHOD FOR SUPERIMPOSED HANDWRITING RECOGNITION TECHNOLOGY}
관련 출원들에 대한 상호 참조
본 출원은 2014 년 4 월 4 일에 출원된 미국 특허 출원 제 14/245,601 호를 우선권 주장하며, 상기 특허 출원은 그 전체가 본원에 참조로서 통합되고, 본원의 일부로 형성된다.
본 발명은 일반적으로 다양한 문자들의 사용자 입력 필기를 인식할 수 있는 컴퓨팅 디바이스 인터페이스들의 분야에 관한 것이다.
컴퓨팅 디바이스들은 계속해서, 일상 생활에서 더 편재하고 있다. 그 디바이스들은 컴퓨터 데스크탑들, 랩탑들, 태블릿 PC들, e-북 리더들, 이동 전화들, 스마트폰들, 웨어러블 컴퓨터들, 글로벌 포지셔닝 시스템 (GPS) 유닛들, 회사 디지털 보조장치들 (EDA들), 개인 디지털 보조장치들 (PDA들), 게임 콘솔들, 등등의 형태를 취한다. 추가로, 컴퓨팅 디바이스들은 자동차들, 트럭들, 농장 시설, 제조 장비, 건물 환경 제어 (예컨대, 조명, HVAC), 및 가정 및 상업용 가전제품 내에 통합되고 있다.
컴퓨팅 디바이스들은 일반적으로, 중앙 프로세싱 유닛 (CPU), 일부 형태의 메모리, 및 입력 및 출력 디바이스들과 같은 적어도 하나의 프로세싱 엘리먼트로 구성된다. 다양한 컴퓨팅 디바이스들 및 그들의 후속 사용들은 다양한 입력 디바이스들을 필요로 한다. 하나의 그러한 디바이스는, 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이며, 여기서 사용자 입력은 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면 간의 접촉을 통해 수신된다. 또 다른 입력 디바이스가 입력 표면 위의 사용자에 의해 실행된 제스처들을 감지하는 입력 표면이다. 이들 입력 방법들 중 어느 한 쪽은 일반적으로, 텍스트를 그리거나 입력하기 위해 사용될 수 있다. 사용자 입력이 텍스트일 때, 컴퓨팅 디바이스는 온라인 필기 인식 시스템 또는 방법을 사용하여 사용자의 필기를 해석해야만 한다.
일반적으로, 온라인 필기 인식 시스템들 또는 방법들은 사용자가 터치 감지 표면을 접촉하는 경우와 같은 스트로크의 개시 (펜-다운); 사용자가 터치 감지 표면을 접촉하는 것을 중지하는 경우와 같은 스트로크의 종료 (펜-업), 및 사용자가 스트로크의 개시와 스트로크의 종료 간에 그 또는 그녀의 손가락 또는 펜으로 실행하는 임의의 움직임들 (제스처들 또는 스트로크들) 을 모니터링한다.
온라인 필기 인식 시스템들 또는 방법들은 통상적으로, 프리-프로세싱 (preprocessing) 스테이지, 세그먼트화 (segmentation) 스테이지, 인식 스테이지, 및 해석 스테이지로 구성된다. 일반적으로, 프리-프로세싱 스테이지는 관련 없는 입력 데이터를 삭제하고, 관련 있는 데이터로부터의 잡음을 정규화, 샘플링 및 제거하는 것을 포함한다. 세그먼트화 스테이지는 입력 데이터를 개별 문자들 및 단어들로 분해하는 상이한 방식들을 명시한다. 인식은 일반적으로, 상이한 입력 세그먼트들을 특징으로 하는 특징 추출 스테이지 및 그 세그먼트들을 가능한 문자 후보들과 연관시키는 분류 스테이지를 포함한다. 최종적으로, 해석 스테이지는 일반적으로, 문자 후보들과 연관된 문자들 및/또는 단어들을 인식하는 것을 포함한다. 실제로, 온라인 필기 인식 시스템들 또는 방법들은 이들 스테이지들과 함께 부가적인 스테이지들을 포함할 수도 있다. 추가로, 온라인 필기 인식 시스템들 또는 방법들은 각 스테이지를 명확히 기술하지 않을 수도 있다.
온라인 필기 인식 시스템들 또는 방법들은 단일-스트로크 또는 멀티-스트로크일 수도 있다. 단일 스트로크 인식은 알파벳의 각 문자에 대하여 단일-스트로크 속기 (shorthand) 를 사용한다 (예컨대, Palm, Inc.'s Graffiti). 이들 시스템들 또는 방법들은 적은 입력 에러들을 가지지만, 사용자가 전체 알파벳에 대하여 새로운 스트로크 패턴들을 암기할 것을 요구한다. 멀티-스트로크 인식은 자연스러운 필기를 인식할 수 있고, 일본어 또는 중국어 문자들과 같이, 단일 스트로크들로 용이하게 감소되지 않는 문자들을 포함하는 언어들을 갖는 온라인 필기 인식 시스템들을 사용할 경우에, 종종 필수적이다.
컴퓨팅 디바이스의 타입은 또한, 활용되는 필기 인식 시스템 또는 방법의 타입을 결정할 수 있다. 예를 들어, (태블릿과 같이) 입력 표면이 충분히 클 경우, 사용자는 마치 사용자가 한 장의 종이 위에 기록하고 있었던 것처럼, 입력 표면에 또는 그 위의 어느 곳에도 텍스트 또는 데이터를 입력할 수 있다. 디바이스들이 작아질수록, 멀티-박스 또는 단일-박스와 같은 상이한 시스템들 또는 방법들이 개발되었다. 멀티-박스 시스템들 또는 방법들은 입력 표면을 3 개의 박스들과 같은 다수의 영역들로 분할하며, 여기서 사용자는 각각의 문자를 각각의 박스에 차례로 입력한다. 이들은 문자 세그먼트화가 최소이거나 불필요하기 때문에 유리하다. 그들은 또한, 분리된-문자 인식 기술들로 분석될 수 있는 멀티-스트로크 문자들을 허용한다.
심지어 더 작은 디바이스들에 대해서도, 입력 표면은 다수의 박스들에 대하여 충분히 크지 않을 수도 있고, 따라서 그 표면은 본질적으로 단일-박스 필기 인터페이스이다. 이 경우, 한 번에 오직 하나의 문자만이 기록될 수 있다. 단일-박스 인터페이스들이 단일-스트로크 인식 시스템들에 적합하지만, 일본어 또는 중국어와 같은 특정 언어들은 단일-스트로크 속기로 용이하게 감소되지 않는 멀티-스트로크 문자들을 갖는다. 추가로, 가장 자연스러운 필기는 언어에 관계없이, 멀티-스트로크 문자들을 포함한다.
멀티-스트로크 시스템들 또는 방법들을 사용하는 단일 박스 인터페이스들은 문자들의 시작부 및 종료를 결정하는 것 및 입력 문자들의 이미지들을 명확히 디스플레이하는 것을 포함하는 추가의 문제들을 생성한다. 문자들의 시작부 및 종료를 결정하기 위한 한 가지 방식은, 사용자가 각각의 문자 사이에 명백하게 정지할 것을 요구한다. 그러나, 이는 사용자가 데이터를 입력하는 속도를 늦추기 때문에, 최적이 아니다. 사용자가 문자들을 계속해서 정지 없이 입력할 수 있는 단일 박스 시스템 또는 방법에 있어서, 입력 문자들은 서로 겹쳐지거나 중첩될 것이다. 이는 중첩된 필기, 겹쳐진 필기, 또는 "온-탑-라이팅 (on-top-writing)" 으로 지칭된다.
본 발명의 온라인 중첩된 필기 인식 시스템 및 방법은 세그먼트화, 인식, 및 해석을 순차적으로 보다는 동시에 수행함으로써, 사용자 입력 필기 인식에 대하여 개선된 결과들을 제공한다. 본 발명의 시스템 및 방법은 계층을 단계들에 적용하는 것보다 동일한 레벨로 이들 프로세스들을 수행한다. 세그먼트화, 인식 및 해석이 협력하여 발생하게 함으로써, 본 발명의 시스템은 사용자 입력에 기초하여 가장 가능한 문자, 단어, 및 문장 후보들을 사용자에게 제공한다.
이하 본원에서 설명되는 본 발명의 예들은 온라인 중첩된 필기 인식에서 사용하기 위한 방법들, 시스템들, 및 소프트웨어를 제공한다. 이들은 사용자가 문자들 간에 어떤 명백한 구분 없이도 그 또는 그녀의 자연스러운 필기를 사용하여 컴퓨팅 디바이스에 문자들을 기입하는 것을 허용한다. 본 발명의 필기 인식 시스템 및 방법은 입력 표면의 형태인 입력 디바이스에 접속된 컴퓨팅 디바이스를 포함한다. 사용자는 그 또는 그녀의 손가락 또는 스타일러스 또는 펜과 같은 기구를 사용하여 입력 표면을 가압하거나 또는 입력 표면 위에서 제스처를 취함으로써 입력을 제공할 수도 있다. 본 발명의 시스템 및 방법은 입력 스트로크들을 모니터링한다. 입력 스트로크들을 프리-프로세싱한 후에, 세그먼트화 엑스퍼트, 인식 엑스퍼트, 및 언어 엑스퍼트가 동시에 입력 데이터를 분석한다. 이들 3 개의 엑스퍼트들은 입력 스트로크들을 프로세싱하고 문자, 단어, 및 문장 레벨로 후보들을 생성하기 위해 동적 프로그래밍을 통해 협력하여 작업한다.
개시된 시스템 및 방법의 목적은, 사용자의 자연스러운 필기 스타일을 해석할 수 있는 온라인 필기 인식 시스템 및 방법을 제공하는 것이다. 이는 시스템 및 방법을 제공함으로써 실행될 수 있고, 그것에 의해 사용자 입력과 인식 엑스퍼트 및 언어 엑스퍼트로부터의 입력에 기초하여 세그먼트화 그래프를 생성하는 세그먼트화 엑스퍼트; 문자 후보들의 리스트를 세그먼트화 그래프의 각각의 노드의 인식 스코어들과 연관시키는 인식 엑스퍼트; 및 세그먼트화 그래프에서 상이한 경로들의 언어적 의미를 생성하는 언어 엑스퍼트 모두 동적 프로그래밍을 통해 협력하여 작업한다.
개시된 시스템 및 방법의 다른 목적은, 중첩된 필기를 인식할 수 있는 온라인 필기 인식 시스템 및 방법을 제공하는 것이며, 여기서 문자들은 연속하는 글자들 간에 어떤 명백한 구분 없이 겹쳐서 기록된다. 이는 시스템 및 방법을 제공함으로써 실행될 수 있고, 그것에 의해 세그먼트화 엑스퍼트, 인식 엑스퍼트, 및 언어 엑스퍼트는 문자, 단어, 및 문장 입력들에 대하여 가장 가능성 있는 후보들을 제공하기 위해 동적 프로그래밍을 통해 협력하여 작업한다.
개시된 시스템 및 방법의 또 다른 목적은, 다중 스트로크 문자들을 인식할 수 있는 온라인 필기 인식 시스템 및 방법을 제공하는 것이다. 이는 시스템 및 방법을 제공함으로써 실행될 수 있고, 그것에 의해 세그먼트화 엑스퍼트는 사용자 입력 및 세그먼트화 그래프를 분석하는 인식 및 언어 엑스퍼트들을 수반하는 동적 프로그래밍에 기반하는 세그먼트화 그래프를 생성한다.
개시된 시스템 및 방법의 또 다른 목적은, 추가되는 문자들이 다른 것보다 먼저 기록되는 흘림체를 인식할 수 있는 온라인 필기 인식 시스템 및 방법을 제공하는 것이다. 이는 시스템 및 방법을 제공함으로써 실행될 수 있고, 그것에 의해 세그먼트화 엑스퍼트는 스트로크를 그 구성 세그먼트들로 분해하기 위한 위치들을 정의하는 특정 지점을 검출한다.
개시된 시스템 및 방법의 추가의 목적은, 특정 입력 스트로크에 기초하여 또는 단어 경계들을 자동으로 검출함으로써 단어 경계들을 제공하는 온라인 필기 인식 시스템 및 방법을 제공하는 것이다. 이는 시스템 및 방법을 제공함으로써 실행되고, 그것에 의해 세그먼트화 엑스퍼트, 인식 엑스퍼트, 및 언어 엑스퍼트를 모두 포함하는 본 발명의 시스템은 입력 문자들을 단어들로 분해하기 위한 특정 입력 스트로크를 예측하거나; 3 개의 엑스퍼트들은 입력 문자들을 총체적으로 모두 분석함으로써 분철 지점 (word break) 들을 자동으로 추가한다.
본 발명의 시스템 및 방법은 도면들과 함께 취득되는 예들의 이하 상세한 설명으로부터 더 완전히 이해될 것이다.
도 1 은 본 발명의 시스템의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다.
도 2 는 본 발명의 시스템의 일 예에 따른 온라인 필기 인식용 시스템의 블록 다이어그램을 도시한다.
도 3a 는 본 발명의 시스템의 일 예에 따른 가능한 사용자 입력의 컴퓨팅 디바이스의 도면을 도시한다.
도 3b 는 본 발명의 시스템의 일 예에 따른 세그먼트화 그래프의 개략도를 도시한다.
도 4 는 본 발명의 시스템의 일 예에 따라 필기체 사용자 입력 중 가능한 사용자 입력의 개략도를 도시한다.
도 5 는 본 발명의 시스템의 일 예에 따라 필기체 사용자 입력의 세그먼트화의 개략적인 도면을 도시한다.
도 6 은 본 발명의 시스템의 일 예에 따른 인식 엑스퍼트의 개략적인 도면을 도시한다.
도 7 은 본 발명의 시스템의 일 예에 따른 언어적 오토머턴 (linguistic automaton) 의 개략적인 도면을 도시한다.
이하 상세한 설명에서, 다양한 특정 세부사항들이 관련된 교시들의 이해를 통해 제공하기 위해 예를 들어 설명된다. 그러나, 본 교시들은 그러한 세부사항들 없이 실시될 수 있음이 당업자에게 명백하여야 한다. 다른 예시들에서, 널리 알려진 방법들, 절차들, 컴포넌트들, 및/또는 회로는 본 발명의 교시들의 양태들을 불필요하게 모호하게 하는 것을 회피하기 위해 세부사항 없이 상대적으로 고 레벨로 설명되었다.
본원에 설명된 다양한 기술들은 일반적으로 온라인 필기 인식에 관한 것이고, 더 구체적으로 다양한 컴퓨팅 디바이스들 상의 중첩된 필기 인식을 위한 시스템들 및 방법들에 관한 것이다. 본원에 설명된 시스템 및 방법은 세그먼트화, 인식, 및 해석의 동시의 프로세스들을 통해 사용자의 자연스러운 필기 입력을 인식하여 최대 가능한 문자, 단어, 및 문장 후보들을 제공하는데 사용될 수도 있다.
도 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) 을 생성하기 위해 동적 프로그래밍을 통해 협력하여 작업한다. 일 실시형태에서, 동적 프로그래밍은 세그먼트화 그래프와 언어 모델 양자에서 최적 경로에 대하여 탐색하는 빔 탐색 기술에 기초한다. 이 경우, 최적 경로는 최저 비용에 대응하는 경로이다. 최저 비용 경로는 다음의 합으로 정의될 수 있다:
● 세그먼트화 그래프 내로 대응하는 경로에서 만나는 모든 문자 후보들의 비용들. 이들 비용들은 세그먼트화 그래프에서 상기 경로에 속하는 각각의 노드의 인식 스코어들 또는 확률들로부터 추정될 수 있다. 일 실시형태에서, 비용들은 -로그 비선형 함수를 적용함으로써 신경 네트워크 확률들로부터 추정된다.
● 언어 모델의 대응하는 경로에서 만나는 모든 단어들의 비용들. 이들 비용들은 언어 엑스퍼트 (120) 로부터의 N-그램 확률들로부터 추정될 수 있다. 일 실시형태에서, 비용들은 -로그 비선형 함수를 적용함으로써 언어 엑스퍼트 (120) 로부터의 N-그램 확률들로부터 추정된다.
본 발명의 온라인 필기 인식 컴퓨터 프로그램의 전체 트레이닝을 위해, 분류기들 (예컨대, 신경 네트워크) (128) 의 모든 파라미터들 및 시스템의 임의의 메타-파라미터들의 자동 학습과 함께 텍스트 레벨의 글로벌 판별 트레이닝 방식이 사용될 수도 있지만, 다른 트레이닝 시스템들 및 방법들이 사용될 수도 있다. 본 발명의 온라인 중첩된 필기 인식 시스템 및 방법에도 불구하고, 사용자 입력 필기 인식을 위한 최적 결과들은 세그먼트화, 인식, 및 해석을 순차적으로 또는 계층적 속성으로 보다는 동시에 수행함으로써 제공된다.
앞에서 최적 모드 및/또는 다른 예들인 것으로 고려되는 것을 설명하였지만, 다양한 수정들이 본원에서 실행될 수도 있고, 본원에 개시된 주제가 다양한 형태들 및 예들로 구현될 수도 있으며, 이들이 오직 일부만이 본원에 설명된 다수의 다른 애플리케이션들, 조합들, 및 환경들에 적용될 수도 있음이 이해될 것이다. 개시된 양태들이 그 주제의 실제 범위 및 사상으로부터 벗어남 없이 변경되거나 수정될 수도 있음을 당업자는 인식할 것이다. 그러므로, 그 주제는 본 설명에서 특정 세부사항들, 전시들, 및 도시된 예들에 제한되지 않는다. 본원에 개시된 유리한 개념들의 실제 범위 내에 있는 임의의 및 모든 수정들 및 변경들을 보호하는 것이 의도된다.

Claims (17)

  1. 컴퓨터 판독가능 프로그램 코드가 수록되는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 프로그램 코드는 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법을 구현하기 위해 실행되도록 적응되며,
    상기 방법은,
    적어도 하나의 입력 스트로크에 기초하여 세그먼트화 그래프를 생성하는 단계로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들로 이루어지는, 상기 세그먼트화 그래프를 생성하는 단계;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하는 단계;
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하는 단계; 및
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시의 분석에 기초하여 출력을 제공하는 단계
    를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  2. 제 1 항에 있어서,
    상기 입력 스트로크가 프리-프로세싱되고, 상기 프리-프로세싱은 적어도 상기 입력 스트로크의 정규화 및 평활화를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  3. 제 2 항에 있어서,
    상기 세그먼트화 그래프는 구성 세그먼트들로 분해된 연속하는 입력 스트로크들에 기초하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  4. 제 2 항에 있어서,
    상기 인식 스코어의 할당은 특징 추출 스테이지 및 신경 네트워크들에 의해 추출된 특징들의 분류를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  5. 제 4 항에 있어서,
    상기 특징 추출 스테이지는 적어도 하나의 동적 특징 및 적어도 하나의 정적 특징을 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  6. 제 4 항에 있어서,
    상기 신경 네트워크들은 멀티계층 퍼셉트론들인, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  7. 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법으로서,
    적어도 하나의 입력 스트로크에 기초하여 세그먼트화 그래프를 생성하는 단계로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들로 이루어지는, 상기 세그먼트화 그래프를 생성하는 단계;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하는 단계;
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하는 단계; 및
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시의 분석에 기초하여 출력을 제공하는 단계를 포함하는, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  8. 제 7 항에 있어서,
    상기 입력 스트로크가 프리-프로세싱되고, 상기 프리-프로세싱은 적어도 상기 입력 스트로크의 정규화 및 평활화를 포함하는, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  9. 제 8 항에 있어서,
    상기 세그먼트화 그래프는 구성 세그먼트들로 분해된 연속하는 입력 스트로크들에 기초하는, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  10. 제 8 항에 있어서,
    상기 인식 스코어의 할당은 특징 추출 스테이지 및 신경 네트워크들에 의해 추출된 특징들의 분류를 포함하는, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  11. 제 10 항에 있어서,
    상기 특징 추출 스테이지는 적어도 하나의 동적 특징 및 적어도 하나의 정적 특징을 포함하는, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  12. 제 10 항에 있어서,
    상기 신경 네트워크들은 멀티계층 퍼셉트론들인, 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법.
  13. 컴퓨터 판독가능 프로그램 코드가 수록되는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 프로그램 코드는 중첩된 입력 스트로크에 대한 필기 인식을 제공하는 방법을 구현하기 위해 실행되도록 적응되며,
    상기 방법은,
    상기 입력 스트로크를 프리-프로세싱하는 단계로서, 적어도 상기 입력 스트로크의 정규화 및 평활화를 포함하는, 상기 프리-프로세싱하는 단계;
    적어도 하나의 입력 스트로크에 기초하여 세그먼트화 그래프를 생성하는 단계로서, 상기 세그먼트화 그래프는 문자 가설들에 대응하는 노드들로 이루어지는, 상기 세그먼트화 그래프를 생성하는 단계;
    패턴 분류기에 기초하여 상기 세그먼트화 그래프의 각각의 노드에 인식 스코어를 할당하는 단계;
    상기 인식 스코어들 및 언어 모델에 기초하여 상기 입력 스트로크들의 언어적 의미를 생성하는 단계; 및
    상기 세그먼트화 그래프, 상기 인식 스코어, 및 상기 언어 모델의 동시의 분석에 기초하여 출력을 제공하는 단계
    를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  14. 제 13 항에 있어서,
    상기 세그먼트화 그래프는 구성 세그먼트들로 분해된 연속하는 입력 스트로크들에 기초하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  15. 제 13 항에 있어서,
    상기 인식 스코어의 할당은 특징 추출 스테이지 및 신경 네트워크들에 의해 추출된 특징들의 분류를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  16. 제 15 항에 있어서,
    상기 특징 추출 스테이지는 적어도 하나의 동적 특징 및 적어도 하나의 정적 특징을 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  17. 제 15 항에 있어서,
    상기 신경 네트워크들은 멀티계층 퍼셉트론들인, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020167030895A 2014-04-04 2015-03-30 중첩된 필기 인식 기술을 위한 시스템 및 방법 KR102383624B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/245,601 2014-04-04
US14/245,601 US9524440B2 (en) 2014-04-04 2014-04-04 System and method for superimposed handwriting recognition technology
PCT/IB2015/000563 WO2015150911A2 (en) 2014-04-04 2015-03-30 System and method for superimposed handwriting recognition technology

Publications (2)

Publication Number Publication Date
KR20170005378A true KR20170005378A (ko) 2017-01-12
KR102383624B1 KR102383624B1 (ko) 2022-04-05

Family

ID=53499033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167030895A KR102383624B1 (ko) 2014-04-04 2015-03-30 중첩된 필기 인식 기술을 위한 시스템 및 방법

Country Status (6)

Country Link
US (2) US9524440B2 (ko)
EP (1) EP3127043A2 (ko)
JP (1) JP6542870B2 (ko)
KR (1) KR102383624B1 (ko)
CN (1) CN106663189B (ko)
WO (1) WO2015150911A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107033A (ko) * 2017-01-22 2019-09-18 알리바바 그룹 홀딩 리미티드 단어 벡터 처리 방법 및 장치
WO2022211271A1 (ko) * 2021-03-31 2022-10-06 삼성전자 주식회사 학습 기반의 필기 입력을 처리하는 전자 장치, 그 동작 방법 및 저장매체
WO2023008745A1 (ko) * 2021-07-28 2023-02-02 삼성전자 주식회사 전자 장치 및 필기 인식 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014106911A1 (ja) * 2013-01-04 2014-07-10 株式会社ユビキタスエンターテインメント 情報処理装置及び情報更新プログラム
WO2016137845A1 (en) 2015-02-23 2016-09-01 Capit Learning Touch screen finger tracing device
US10387034B2 (en) 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US10210383B2 (en) 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
US10417491B2 (en) * 2015-10-19 2019-09-17 Myscript System and method for recognition of handwritten diagram connectors
US11402991B2 (en) * 2015-12-01 2022-08-02 Myscript System and method for note taking with gestures
US10410316B2 (en) 2015-12-08 2019-09-10 Myscript System and method for beautifying digital ink
US20170242581A1 (en) 2016-02-23 2017-08-24 Myscript System and method for multiple input management
US10146759B2 (en) * 2016-03-24 2018-12-04 Microsoft Technology Licensing, Llc Controlling digital input
US11209976B2 (en) 2016-04-29 2021-12-28 Myscript System and method for editing input management
WO2017207103A1 (en) 2016-06-02 2017-12-07 Myscript System, method and computer readable medium for input recognition linguistic resource management
US20180032494A1 (en) 2016-07-29 2018-02-01 Myscript System and method for beautifying superimposed digital ink
US10067965B2 (en) 2016-09-26 2018-09-04 Twiggle Ltd. Hierarchic model and natural language analyzer
US20180089316A1 (en) * 2016-09-26 2018-03-29 Twiggle Ltd. Seamless integration of modules for search enhancement
CN106845530B (zh) * 2016-12-30 2018-09-11 百度在线网络技术(北京)有限公司 字符检测方法和装置
US20180217970A1 (en) * 2017-01-29 2018-08-02 Voolab Technologies Private Limited Methods and systems for processing intuitive interactive inputs across a note-taking interface
KR102329761B1 (ko) * 2017-05-26 2021-11-22 삼성전자주식회사 외부 장치의 선택 및 제어를 위한 전자 장치와 그의 동작 방법
US10424086B2 (en) * 2017-11-16 2019-09-24 Adobe Inc. Oil painting stroke simulation using neural network
US11005786B2 (en) 2018-06-28 2021-05-11 Microsoft Technology Licensing, Llc Knowledge-driven dialog support conversation system
CN109684633B (zh) * 2018-12-14 2023-05-16 北京百度网讯科技有限公司 搜索处理方法、装置、设备及存储介质
US11048931B2 (en) * 2019-02-19 2021-06-29 Lenovo (Singapore) Pte. Ltd. Recognition based handwriting input conversion
CN111161266B (zh) * 2019-12-06 2022-03-25 西安理工大学 一种基于矢量量化的变分自编码机的多风格字体生成方法
KR20210073196A (ko) * 2019-12-10 2021-06-18 삼성전자주식회사 필기 입력을 처리하는 방법 및 그 장치
CN111383505B (zh) * 2020-03-04 2021-11-09 南京大学 一种基于笔交互的电路教学系统及方法
CN111428623B (zh) * 2020-03-20 2020-12-18 郑州工程技术学院 基于大数据和计算机视觉的中文板书风格分析系统
CN113011413A (zh) * 2021-04-15 2021-06-22 深圳市鹰硕云科技有限公司 基于智能笔手写图像的处理方法、装置、系统及存储介质
WO2024110354A1 (en) 2022-11-25 2024-05-30 Myscript Setting font size in an unconstrained canvas

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009520305A (ja) * 2005-12-19 2009-05-21 マイクロソフト コーポレーション 手書きキャラクタ認識のための異書体に基づく筆者適応
US20110293181A1 (en) * 2001-10-15 2011-12-01 Silverbrook Research Pty Ltd Handwritten Character Recognition System
KR20130058053A (ko) * 2010-08-24 2013-06-03 노키아 코포레이션 중첩된 수기의 획들을 하나 이상의 그룹으로 분할하는 방법 및 장치
KR20130093672A (ko) * 2010-12-02 2013-08-22 노키아 코포레이션 중첩 수기를 위한 방법, 장치 및 컴퓨터 프로그램 제품

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
AUPQ055999A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (npage01)
US5164996A (en) 1986-04-07 1992-11-17 Jose Pastor Optical character recognition by detecting geo features
US5946406A (en) 1991-06-17 1999-08-31 Microsoft Corporation Method and system for data entry of handwritten symbols
US5544265A (en) 1992-05-27 1996-08-06 Apple Computer, Inc. Shape recognizer for graphical computer systems
US5392363A (en) * 1992-11-13 1995-02-21 International Business Machines Corporation On-line connected handwritten word recognition by a probabilistic method
US5454046A (en) 1993-09-17 1995-09-26 Penkey Corporation Universal symbolic handwriting recognition system
US5596656B1 (en) 1993-10-06 2000-04-25 Xerox Corp Unistrokes for computerized interpretation of handwriting
US5615321A (en) 1994-08-12 1997-03-25 Dassault Systemes Of America Corp. Automatic identification of geometric relationships between elements of a computer-generated drawing
EP0697679A3 (en) 1994-08-12 1998-07-01 Dassault Systemes of America Computerized drawing method
EP1030263B1 (en) 1994-09-09 2004-05-19 Xerox Corporation Method for interpreting hand drawn diagrammatic user interface commands
US6295372B1 (en) 1995-03-03 2001-09-25 Palm, Inc. Method and apparatus for handwriting input on a pen based palmtop computing device
JP3639126B2 (ja) 1998-01-22 2005-04-20 富士通株式会社 住所認識装置及び住所認識方法
JP3092576B2 (ja) 1998-01-22 2000-09-25 日本電気株式会社 文字認識装置
US6816274B1 (en) 1999-05-25 2004-11-09 Silverbrook Research Pty Ltd Method and system for composition and delivery of electronic mail
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6731803B1 (en) 1999-07-12 2004-05-04 Advanced Recognition Technologies, Ltd Points based handwriting recognition system
US6459442B1 (en) 1999-09-10 2002-10-01 Xerox Corporation System for applying application behaviors to freeform data
US6609093B1 (en) * 2000-06-01 2003-08-19 International Business Machines Corporation Methods and apparatus for performing heteroscedastic discriminant analysis in pattern recognition systems
NL1015943C2 (nl) 2000-08-16 2002-02-19 Ocu Technologies B V Interpretatie van gekleurde documenten.
JP3974359B2 (ja) 2000-10-31 2007-09-12 株式会社東芝 オンライン文字認識装置及び方法並びにコンピュータ読み取り可能な記憶媒体及びオンライン文字認識プログラム
US7177473B2 (en) 2000-12-12 2007-02-13 Nuance Communications, Inc. Handwriting data input device with multiple character sets
SE520504C2 (sv) 2001-11-30 2003-07-15 Anoto Ab Elektronisk penna och metod för registrering av handskriven information
US7385595B2 (en) 2001-11-30 2008-06-10 Anoto Ab Electronic pen and method for recording of handwritten information
US7120872B2 (en) 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7174043B2 (en) * 2003-02-25 2007-02-06 Evernote Corp. On-line handwriting recognizer
JP2005084436A (ja) * 2003-09-09 2005-03-31 Advanced Telecommunication Research Institute International 音声認識装置及びコンピュータプログラム
US7352902B2 (en) 2003-09-24 2008-04-01 Microsoft Corporation System and method for detecting a hand-drawn object in ink input
US7324691B2 (en) 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects
US7372993B2 (en) 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
FR2880709B1 (fr) * 2005-01-11 2014-04-25 Vision Objects Procede de recherche, reconnaissance et localisation dans l'encre, dispositif, programme et langage correspondants
US20060212430A1 (en) 2005-03-18 2006-09-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Outputting a saved hand-formed expression
US7428516B2 (en) * 2005-06-23 2008-09-23 Microsoft Corporation Handwriting recognition using neural networks
US7639250B2 (en) 2005-11-01 2009-12-29 Microsoft Corporation Sketching reality
US20070206024A1 (en) 2006-03-03 2007-09-06 Ravishankar Rao System and method for smooth pointing of objects during a presentation
US7907141B2 (en) 2007-03-23 2011-03-15 Palo Alto Research Center Incorporated Methods and processes for recognition of electronic ink strokes
US7885456B2 (en) * 2007-03-29 2011-02-08 Microsoft Corporation Symbol graph generation in handwritten mathematical expression recognition
US8341556B2 (en) 2007-04-30 2012-12-25 Hewlett-Packard Development Company, L.P. Method and system for attention-free user input on a computing device
US7945097B2 (en) 2007-05-21 2011-05-17 Microsoft Corporation Classifying digital ink into a writing or a drawing
US8094939B2 (en) 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
KR101041366B1 (ko) 2007-11-02 2011-06-14 주식회사 코아로직 객체 추적을 이용한 디지털 영상의 손떨림 보정 장치 및방법
US8116569B2 (en) 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
US8255822B2 (en) 2007-12-21 2012-08-28 Microsoft Corporation Incorporated handwriting input experience for textboxes
JP5047051B2 (ja) 2008-05-02 2012-10-10 キヤノン株式会社 画像処理装置及び画像符号化方法
US20090278848A1 (en) 2008-05-12 2009-11-12 Microsoft Corporation Drawing familiar graphs while system determines suitable form
JP4582204B2 (ja) 2008-06-11 2010-11-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像変換方法、およびコンピュータプログラム
CN101299236B (zh) * 2008-06-25 2010-06-09 华南理工大学 一种中文手写词组识别方法
US20100100866A1 (en) 2008-10-21 2010-04-22 International Business Machines Corporation Intelligent Shared Virtual Whiteboard For Use With Representational Modeling Languages
US8749497B2 (en) 2008-12-12 2014-06-10 Apple Inc. Multi-touch shape drawing
JP5153676B2 (ja) 2009-02-10 2013-02-27 キヤノン株式会社 画像処理装置、画像処理方法、プログラムおよび記憶媒体
US8175389B2 (en) 2009-03-30 2012-05-08 Synaptics Incorporated Recognizing handwritten words
TWI391850B (zh) 2009-03-31 2013-04-01 Au Optronics Corp 輸入圖形判定方法及電腦可讀儲存媒體
US8766982B2 (en) * 2010-01-19 2014-07-01 Disney Enterprises, Inc. Vectorization of line drawings using global topology and storing in hybrid form
US9495482B2 (en) 2010-01-27 2016-11-15 Dassault Systemes Solidworks Corporation Computer method and apparatus for creating sketch geometry
US8928652B2 (en) 2010-05-11 2015-01-06 Siemens Aktiengesellschaft Sketched overdrawn lines for editing spline-based three-dimensional curves
US8310461B2 (en) 2010-05-13 2012-11-13 Nuance Communications Inc. Method and apparatus for on-top writing
US20110285634A1 (en) 2010-05-24 2011-11-24 Karbonstream Corporation Portable data entry device
CN102346859B (zh) 2010-07-26 2013-10-09 卡西欧计算机株式会社 文字识别装置
CN102375989A (zh) * 2010-08-06 2012-03-14 腾讯科技(深圳)有限公司 手写识别方法及系统
KR101355974B1 (ko) 2010-08-24 2014-01-29 한국전자통신연구원 복수의 객체를 추적하는 객체 추적 방법 및 장치
US8564620B2 (en) 2010-10-07 2013-10-22 International Business Machines Corporation Method for automatically adjusting the rendered fidelity of elements of a composition
US8718375B2 (en) 2010-12-03 2014-05-06 Massachusetts Institute Of Technology Sketch recognition system
CN102156608B (zh) 2010-12-10 2013-07-24 上海合合信息科技发展有限公司 多字符连续书写的手写输入方法
US20120176416A1 (en) 2011-01-10 2012-07-12 King Fahd University Of Petroleum And Minerals System and method for shape recognition and correction
US9645986B2 (en) 2011-02-24 2017-05-09 Google Inc. Method, medium, and system for creating an electronic book with an umbrella policy
US9142056B1 (en) 2011-05-18 2015-09-22 Disney Enterprises, Inc. Mixed-order compositing for images having three-dimensional painting effects
US8094941B1 (en) 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
KR20130037097A (ko) 2011-10-05 2013-04-15 주식회사 케이티 디지털 콘텐츠의 변형을 탐지하기 위한 디지털 영상 제공 장치 및 디지털 영상 복원 장치
JP5942729B2 (ja) 2012-09-20 2016-06-29 カシオ計算機株式会社 図形描画装置およびプログラム
US9846536B2 (en) * 2012-12-17 2017-12-19 Microsoft Technology Licensing, Llc Composition of handwritten messages on mobile computing devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110293181A1 (en) * 2001-10-15 2011-12-01 Silverbrook Research Pty Ltd Handwritten Character Recognition System
JP2009520305A (ja) * 2005-12-19 2009-05-21 マイクロソフト コーポレーション 手書きキャラクタ認識のための異書体に基づく筆者適応
KR20130058053A (ko) * 2010-08-24 2013-06-03 노키아 코포레이션 중첩된 수기의 획들을 하나 이상의 그룹으로 분할하는 방법 및 장치
KR20130093672A (ko) * 2010-12-02 2013-08-22 노키아 코포레이션 중첩 수기를 위한 방법, 장치 및 컴퓨터 프로그램 제품

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107033A (ko) * 2017-01-22 2019-09-18 알리바바 그룹 홀딩 리미티드 단어 벡터 처리 방법 및 장치
US10878199B2 (en) 2017-01-22 2020-12-29 Advanced New Technologies Co., Ltd. Word vector processing for foreign languages
WO2022211271A1 (ko) * 2021-03-31 2022-10-06 삼성전자 주식회사 학습 기반의 필기 입력을 처리하는 전자 장치, 그 동작 방법 및 저장매체
WO2023008745A1 (ko) * 2021-07-28 2023-02-02 삼성전자 주식회사 전자 장치 및 필기 인식 방법

Also Published As

Publication number Publication date
CN106663189A (zh) 2017-05-10
JP6542870B2 (ja) 2019-07-10
US20170061223A1 (en) 2017-03-02
JP2017514248A (ja) 2017-06-01
US9911052B2 (en) 2018-03-06
KR102383624B1 (ko) 2022-04-05
WO2015150911A3 (en) 2015-12-17
CN106663189B (zh) 2020-03-24
US20150286886A1 (en) 2015-10-08
EP3127043A2 (en) 2017-02-08
US9524440B2 (en) 2016-12-20
WO2015150911A2 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
US9911052B2 (en) System and method for superimposed handwriting recognition technology
US10007859B2 (en) System and method for superimposed handwriting recognition technology
US9904847B2 (en) System for recognizing multiple object input and method and product for same
JP7486131B2 (ja) フリーハンドライティングモードでの手書きテキスト入力の処理
EP3491580A1 (en) System and method for beautifying superimposed digital ink
KR102310385B1 (ko) 중첩된 필기 인식 기술을 위한 시스템 및 방법
US20240134507A1 (en) Modifying digital content including typed and handwritten text
US20240078377A1 (en) Completing typeset characters using handwritten strokes
WO2023170315A1 (en) Merging text blocks
WO2023170314A1 (en) Creating text block sections

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant