KR20130000327A - 텍스트 사용자 입력을 오버랩하기 위한 문자 인식 - Google Patents

텍스트 사용자 입력을 오버랩하기 위한 문자 인식 Download PDF

Info

Publication number
KR20130000327A
KR20130000327A KR1020120062898A KR20120062898A KR20130000327A KR 20130000327 A KR20130000327 A KR 20130000327A KR 1020120062898 A KR1020120062898 A KR 1020120062898A KR 20120062898 A KR20120062898 A KR 20120062898A KR 20130000327 A KR20130000327 A KR 20130000327A
Authority
KR
South Korea
Prior art keywords
strokes
character
subset
characters
touch
Prior art date
Application number
KR1020120062898A
Other languages
English (en)
Other versions
KR101417286B1 (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 KR20130000327A publication Critical patent/KR20130000327A/ko
Application granted granted Critical
Publication of KR101417286B1 publication Critical patent/KR101417286B1/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/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/127Detection or correction of errors, e.g. by rescanning the pattern with the intervention of an operator
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate
    • 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)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

여기에 설명된 기법들은 컴퓨팅 디바이스에 입력되는 서로의 위에 적어도 부분적으로 기입되는 수기 문자들을 인식할 수도 있다. 수기 문자들은 하나 이상의 스트로크들로 이루어질 수도 있다. 사용자는 문자 입력 간의 타임아웃을 대기할 필요 없이, 그리고 버튼을 선택하거나 다른 문자의 입력을 엔터링하기 전에 문자가 완성되었다는 것을 나타내는 다른 입력을 제공할 필요 없이 대략 그래픽 사용자 인터페이스의 동일 영역 위에 (즉, 서로의 위에) 문자들 또는 단어들의 부분들을 기입할 수도 있다. 일단 문자가 적어도 부분적으로 인식되면, 스크린 상에 디스플레이된 사용자 입력에 대응하는 그래픽 표시가 바뀔 수도 있다. 이러한 변화는 그래픽 표시의 사이즈 또는 위치의 페이딩 또는 변화를 포함할 수도 있다.

Description

텍스트 사용자 입력을 오버랩하기 위한 문자 인식{CHARACTER RECOGNITION FOR OVERLAPPING TEXTUAL USER INPUT}
본 개시물은 텍스트 사용자 입력을 오버랩하기 위한 문자 인식에 관한 것이다.
사용자들은 종종 터치-감응 입력 디바이스들, 예를 들어, 터치-감응 스크린들을 통해 모바일폰들, 개인 휴대 정보 단말기 (PDA) 들, 데스크탑 컴퓨터들, 서명 패드들, 태블릿 컴퓨터들, 또는 다른 모바일 디바이스들과 같은 컴퓨팅 디바이스들과 상호작용할 수도 있다. 통상의 터치-감응 스크린들 (일반적으로 "터치 스크린들" 이라 지칭) 은 예를 들어 스타일러스 또는 손가락을 이용한 스크린 상에의 기입 (writing) 을 통해 사용자가 텍스트를 입력하는 것을 허용한다. 일부 터치 스크린들, 특히 소형 디바이스들 내의 터치 스크린들은 기입하기에 제한된 영역을 갖는다. 통상의 문자 인식 소프트웨어는, 기입된 문자들이 단일 스트로크로 그려지도록, 제 2 문자를 기입하기 전에 사용자가 타임아웃 주기를 대기할 것을 요구하거나, 또는 문자들 간의 수평 오프셋을 이용하여, 기입된 문자들을 재정의하는 것을 통하여 일 문자를 타 문자와 구별한다.
일 예에서, 문자들을 인식하기 위한 방법이 제공된다. 이 방법은 컴퓨팅 디바이스의 터치-기반 인터페이스에서 연속적인 스트로크들에 관한 터치-기반 입력을 수신하는 단계를 포함하며, 여기서 연속적인 스트로크들의 제 1 서브세트는 터치-기반 인터페이스의 제 1 영역에 대응하고, 연속적인 스트로크들의 제 2 서브세트는 제 1 영역을 적어도 부분적으로 오버랩하는 터치-기반 인터페이스의 제 2 영역에 대응한다. 이 방법은 컴퓨팅 디바이스에 커플링된 출력 디바이스 상에 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현을 디스플레이하는 단계, 및 제 1 문자가 연속적인 스트로크들의 제 1 서브세트에 대략 매칭하는 신뢰도 (confidence level) 를 결정하는 단계로서, 신뢰도는 적어도 제 1 신뢰 임계값인, 상기 신뢰도를 결정하는 단계를 더 포함한다. 이 방법은 또한, 신뢰도에 기초하여 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현의 디스플레이를 바꾸는 단계, 및 신뢰도가 적어도 제 2 신뢰 임계값인 경우 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 제 1 문자를 제공하는 단계로서, 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계되는, 상기 제 1 문자를 제공하는 단계를 포함한다.
다른 예에서, 프로그램가능한 프로세서로 하여금 동작들을 수행하도록 하기 위한 명령들을 포함하는 유형의 (tangible) 컴퓨터 판독가능 매체가 제공된다. 이 명령들은 컴퓨팅 디바이스의 터치-기반 인터페이스에서 연속적인 스트로크들에 관한 터치-기반 입력을 수신하는 것을 포함할 수도 있으며, 여기서 연속적인 스트로크들의 제 1 서브세트는 터치-기반 인터페이스의 제 1 그래픽 영역에 대응하고, 연속적인 스크로크들의 제 2 서브세트는 제 1 그래픽 영역을 적어도 부분적으로 오버랩하는 터치-기반 인터페이스의 제 2 그래픽 영역에 대응한다. 명령들은 또한 컴퓨팅 디바이스에 커플링된 출력 디바이스 상에 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현을 디스플레이하는 것, 및 연속적인 스트로크들의 제 1 서브세트가 적어도 제 1 신뢰 임계값에 의해 제 1 문자에 대응한다는 것을 결정하는 것을 포함할 수도 있다. 명령들은 또한, 연속적인 스트로크들의 제 1 서브세트가 제 1 문자에 대응한다는 결정에 기초하여 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현을 바꾸는 것을 포함할 수도 있다. 명령들은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 제 1 문자를 제공하는 것을 포함할 수도 있으며, 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계된다.
또 다른 예에서, 하나 이상의 프로세서들을 포함하는 컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스는 텍스트 정보와 관련된 연속적인 스트로크들의 터치-기반 사용자 입력을 수신하기 위한 입력 디바이스를 더 포함할 수도 있으며, 연속적인 스트로크들은 입력 디바이스의 제 1 영역에 대응하는 스트로크들의 제 1 서브세트 및 스트로크들의 제 1 서브세트를 적어도 부분적으로 오버랩하는 입력 디바이스의 제 2 영역에 대응하는 스트로크들의 제 2 서브세트를 포함한다. 컴퓨팅 디바이스는 또한 연속적인 스트로크들 중 어느 스트로크들이 연속적인 스트로크들의 제 1 서브세트에 들어가는지를 결정하고 연속적인 스트로크들의 제 1 서브세트가 제 1 문자에 대응한다는 것을 결정하는 수단을 포함할 수도 있다. 컴퓨팅 디바이스는 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현을 디스플레이하기 위한 출력 디바이스를 더 포함할 수도 있으며, 출력 디바이스는 연속적인 스트로크들의 제 1 서브세트가 제 1 문자에 대응한다는 결정에 기초하여 그래픽 표현을 바꾸고, 출력 디바이스는 또한 제 1 문자를 출력한다.
본 개시물의 하나 이상의 양태들의 세부사항은 첨부 도면들 및 이하의 설명에서 기술된다. 본 개시물의 다른 특징들, 목적들 및 이점들은 설명 및 도면들로부터, 그리고 특허청구항들로부터 명백해질 것이다.
도 1 은 본 개시물의 하나 이상의 양태들에 따른, 하나 이상의 애플리케이션들을 실행하고 사용자 입력을 수신할 수도 있는 컴퓨팅 디바이스의 일 예를 예시한 블록도이다.
도 2 는 본 개시물의 하나 이상의 양태들에 따른, 도 1 에 도시된 컴퓨팅 디바이스의 일 예의 추가 세부사항을 예시한 블록도이다.
도 3 은 본 개시물의 하나 이상의 양태들에 따른, 터치 입력에 대응하는 문자를 인식하도록 컴퓨팅 디바이스에 의해 수행될 수도 있는 일 예시적인 방법을 예시한 흐름도이다.
도 4 는 본 개시물의 하나 이상의 양태들에 따른, 문자 인식 모듈을 실행하는 컴퓨팅 디바이스에 의해 인식될 수도 있는 터치-기반 입력의 연속적인 스트로크들의 일 예를 예시한 개념도이다.
도 5a 내지 도 5d 는 본 개시물의 하나 이상의 양태들에 따른, 문자 인식 모듈에 의해 분석될 수도 있는 사용자에 의해 입력된 연속적인 스트로크들의 일 예를 예시한 개념도들이다.
공통 프랙틱스에 따르면, 여러 설명된 특징들이 정확한 축적으로 그려지지 않고 본 개시물과 관계가 있는 특징들을 강조하도록 그려진다. 동일한 참조 부호들은 도면들 및 텍스트 전반에 걸쳐 동일한 엘리먼트들을 나타낸다.
본 개시물의 기법들은 컴퓨팅 디바이스가 서로의 위에 적어도 부분적으로 기입되는 수기 (handwritten) 문자들을 인식하는 것을 허용한다. 컴퓨팅 디바이스의 사용자는 하나 이상의 스트로크들로 이루어진 입력 (예를 들어, 터치 입력) 을 통하여 수기 문자들을 입력한다. 문자는 알파벳 (letters), 숫자, 또는 다른 부호 (그러나 이들에 제한되지는 않는다) 와 같이, 정보를 전달하는 임의의 마킹일 수도 있다.
사용자는, 문자 입력 간의 타임아웃을 대기할 필요 없이, 그리고 버튼을 선택하거나 다른 문자의 입력을 엔터링하기 전에 문자가 완성되었다는 것을 나타내는 다른 입력을 제공할 필요 없이 대략 스크린의 동일 영역 위에 (즉, 서로의 위에) 문자들 또는 단어들의 부분들을 계속해서 기입할 수도 있다. 사용자 입력에 대응하는 스크린 상의 그래픽 표시 (여기서 "잉크" 라 지칭) 가 디스플레이될 수도 있다.
컴퓨팅 디바이스는 문자들을 서로 자동적으로 분리하는 문자 인식 모듈을 가질 수도 있다. 잠재적으로 인식된 문자들은, 그 잠재적으로 인식된 문자가 사용자 입력에 대응하는 정확도를 나타내는 신뢰도를 가질 수도 있다. 일단 문자가 제 1 신뢰 임계값보다 높은 신뢰도를 가진 것으로 인식된다면, 그 인식된 문자에 대응하는 사용자 입력의 그래픽 표현은, 문자가 사용자 입력으로부터 인식되었다 (예를 들어 적어도 부분적으로 페이딩되었다) 는 것을 나타내는 특성과 함께 디스플레이될 수도 있다. 일단 문자가 제 2 신뢰 임계값보다 높은 신뢰도를 가진 것으로 인식된다면, 문자 인식 모듈은 다른 애플리케이션에 의한 사용을 위해 그 입력에 대응하는 문자를 생성, 식별, 또는 제공할 수도 있다. 문자가 제 2 신뢰 임계값보다 높은 신뢰도를 가진 것으로 인식되는 경우, 인식된 문자의 그래픽 표현은 디스플레이에서 제거될 수도 있다. 일부 예들에서, 컴퓨팅 디바이스는 텍스트로서 인식되는 그 문자들을 디스플레이한다. 여기에 설명된 기법들은 또한 단어들 또는 문장들과 같이, 개별 문자들과는 다른 것에 기초하여 적용될 수도 있다.
도 1 은 본 개시물의 하나 이상의 양태들에 따른, 하나 이상의 애플리케이션들 (예를 들어, 텍스트 엔트리 애플리케이션 (8)) 을 실행하고 사용자 입력 (18) 을 수신할 수도 있는 컴퓨팅 디바이스 (2) 의 일 예를 예시한 블록도이다. 컴퓨팅 디바이스 (2) 는 일부 예들에서는, 휴대용 컴퓨팅 디바이스 (예를 들어, 모바일폰, 넷북, 랩탑, 개인 휴대 정보 단말기 (PDA), 또는 태블릿 디바이스) 또는 고정 컴퓨터 (예를 들어, 데스크탑 컴퓨터) 를 포함할 수도 있고, 또는 휴대용 컴퓨팅 디바이스 (예를 들어, 모바일폰, 넷북, 랩탑, 개인 휴대 정보 단말기 (PDA), 또는 태블릿 디바이스) 또는 고정 컴퓨터 (예를 들어, 데스크탑 컴퓨터) 이거나, 또는 이들의 일부일 수도 있으며, 또는 서명 패드와 같은 다른 컴퓨팅 디바이스일 수도 있다. 컴퓨팅 디바이스 (2) 는 또한 유선 또는 무선 네트워크를 포함하는 네트워크에 접속될 수도 있다. 컴퓨팅 디바이스 (2) 의 일 예는 후술되는 도 2 에서 보다 완전히 설명된다.
컴퓨팅 디바이스 (2) 는 예를 들어 제스처의 검출과 같이, 사용자 (14) 로부터 사용자 입력 (18) 을 수신하는 것이 가능한 존재-감응 (presence-sensitive) 디바이스와 같은 입력/출력 ("I/O") 디바이스 (12) 를 포함할 수도 있다. 일 예에서, I/O 디바이스 (12) 는 사용자 (14) 로부터 사용자 입력 (18) 을 수신하는 것이 가능한 터치-감응 디바이스 (예를 들어, 터치 스크린, 트랙 패드, 트랙 포인트 등) 이며, 여기서 사용자 입력 (18) 은 터치 입력이다. I/O 디바이스 (12) 는 일 예에서, I/O 디바이스 (12) 상에 터치된 포지션의 좌표에 대응하는 하나 이상의 신호들을 생성할 수도 있다. 이들 신호들은 컴퓨팅 디바이스 (2) 의 컴포넌트들 (예를 들어, 도 1 의 텍스트 엔트리 애플리케이션 (8), 또는 도 2 의 운영 시스템 (44)) 에 대한 정보로서 제공될 수도 있다. I/O 디바이스 (12) 는 또한 사용자 (14) 에게 (예를 들어, 청각에 의한) 정보를 디스플레이하거나, 다르게는 출력할 수도 있다. 예를 들어, I/O 디바이스 (12) 는 문자 (22) 또는 커서 (24) 를 디스플레이할 수도 있다. I/O 디바이스 (12) 는 다른 예들에서 비디오 또는 다른 그래픽 정보를 디스플레이할 수도 있다. I/O 디바이스 (12) 는 도 2 에서 추가 설명되는 다수의 형태의 출력 정보를 사용자 (14) 에게 제공할 수도 있다.
일부 예들에서, I/O 디바이스 (12) 는 터치-기반 인터페이스 (4) 및 디스플레이 디바이스 (20) 를 포함할 수도 있다. 일부 예들에서, 터치-기반 인터페이스 (4) 및 디스플레이 디바이스 (20) 는 단일 디바이스, 예를 들어, 터치 스크린에 통합될 수도 있다. 다른 예에서, 터치-기반 인터페이스 (4) 및 디스플레이 디바이스 (20) 는 별개의 디바이스들일 수도 있으며, 예를 들어, 터치-기반 인터페이스 (4) 는 터치 패드 또는 트랙 포인트일 수도 있고, 디스플레이 디바이스 (20) 는 액정 디스플레이 ("LCD") 일 수도 있다.
사용자 (14) 는 I/O 디바이스 (12) 상에 사용자 입력 (18) 을 수행함으로써, I/O 디바이스 (12), 예를 들어 터치-감응 스크린과 상호작용할 수도 있다. 예를 들어, 사용자 (14) 는 I/O 디바이스 (12) 위에 사용자 입력 (18) 을 수기할 수도 있다. 사용자 (14) 가 수기 입력하는 경우, 사용자 입력 (18) 은 활자체, 필기체, 또는 임의의 다른 형태로 쓰거나 그려질 수도 있다.
사용자 입력 (18) 은 사용자 (14) 에 의해 수행된 하나 이상의 제스처를 포함할 수도 있다. 사용자 (14) 는 하나 이상의 손가락 또는 다른 구현물, 이를 테면 스타일러스 (15) 를 터치-감응 스크린일 수도 있는 I/O 디바이스 (12) 와 접촉하여 배치함으로써 사용자 입력 (18) 을 수행할 수도 있다. 스타일러스 (15) 는 터치-기반 인터페이스 (4) 상에 사용자 (14) 가 수기하는 것을 돕는 임의의 디바이스일 수도 있다. 일 예에서, 사용자 (14) 는 터치-기반 인터페이스 (4) 와 접촉하면서 하나 이상의 손가락을 이동시킬 수도 있다. 사용자 입력 (18) 에는 자연 언어로부터의 문자가 수기될 수도 있고, 사용자 입력 (18) 은 이 자연 언어로부터의 문자와 관련될 수도 있다. 자연 언어로부터의 문자들은 숫자, 알파벳, 부호, 또는 독립적으로나 다른 문자들과 조합하여 의미를 전달하는 것이 가능한 다른 표시들을 포함할 수도 있다. 일 예에서, 문자들의 세트는 자연 언어로부터의 문자들을 포함한다.
예를 들어, 사용자 (14) 는 하나 이상의 스트로크들로 터치-기반 인터페이스 (4) 상에 수기할 수도 있다. 여기에 사용한 바와 같이, 일 스트로크는 터치-기반 인터페이스 (4) 에 의해 수신되는 단일의 중단되지 않는 움직임의 어떤 부분일 수도 있다. 예시를 목적으로, 스트로크들은 여기서 단일 움직임 또는 단일 문자들의 관점에서 대부분 설명되지만; 일 스트로크가 전체 움직임일 수도 있고 또는 전체 움직임의 단편 (fragment) 또는 일부일 수도 있으며, 문자의 일부, 전체 문자, 또는 하나보다 더 많은 문자일 수도 있다는 것이 이해될 것이다. 도 1 의 예에서, 사용자 (14) 는 터치-기반 인터페이스 (4) 상에 단어 "Hello" 를 수기하기 시작한다. 그러기 위해서는, 사용자 (14) 는 터치-기반 인터페이스 (4) 를 통해 연속적인 스트로크들 (19-1 내지 19-4) 을 수기할 수도 있다. 사용자 (14) 는 "H" 의 좌측에 대응하는 수직선에 대해 제 1 스트로크 (19-1) 를 수기한 후, "H" 의 수평 바에 대해 제 2 스트로크 (19-2) 를 시작한다. 사용자 (14) 는 다른 수직선인 제 3 스트로크 (19-3) 를 기입함으로써 "H" 를 완성한다. 다음에, 사용자 (14) 는 "Hello" 중 "el" 에 대한 스트로크 (19-4) 를 기입한다. "e" 는 스트로크 19-4 의 제 1 부분에 대응하고, "l" 은 스트로크 19-4 의 제 2 부분에 대응한다.
I/O 디바이스 (12) 는 사용자 입력 모듈 (6) 에 송신되는 사용자 입력 (18) 에 대응하는 신호를 생성할 수도 있다. 사용자 입력 모듈 (6) 은 사용자 (14) 로부터 수신된 사용자 입력 (18) 을 프로세싱할 수도 있다. 일부 경우에, 사용자 입력 모듈 (6) 은 예를 들어 사용자 입력 (18) 을 더 많이 사용가능한 형태로 변환하는 것과 같은, 사용자 입력 (18) 의 추가적인 프로세싱을 수행할 수도 있다. 일부 예들에서, 사용자 입력 모듈 (6) 은 신호를 디스플레이 디바이스 (20) 에 제공하여 사용자 입력 (18) 의 그래픽 표현을 디스플레이한다. 예를 들어, 사용자 (14) 가 터치-기반 인터페이스 (4) 상에 스트로크들 (19-1 내지 19-4) 을 기입할 때, 디스플레이 디바이스 (20) 는 사용자 입력 (18) 에 대응하는 잉크를 디스플레이한다. 일부 경우에, 사용자 입력 모듈 (6) 은 사용자 입력 (18) 에 대응하는 신호를 애플리케이션, 이를 테면 텍스트 엔트리 애플리케이션 (8) 에, 또는 컴퓨팅 디바이스 (2) 내의 다른 컴포넌트에 송신할 수도 있다. 텍스트 엔트리 애플리케이션 (8) 은 예를 들어 워드 프로세싱 애플리케이션, 인터넷 브라우저, 텍스트 사용자 입력에 의해 제어될 수도 있는 애플리케이션 등과 같이, 텍스트 사용자 입력을 수락하는 임의의 애플리케이션일 수도 있다. 일부 예들에서, 사용자 입력 모듈 (6) 은 사용자 입력 (18) 의 지속기간 또는 일 스트로크의 수신과 타 스트로크의 수신 간의 임의의 지속기간을 결정할 수도 있다. 예를 들어, 사용자 입력 모듈 (6) 은 예를 들어 단일 문자와 단어 간을 구별하기 위해 2 개의 스트로크들 간의 기간을 측정할 수도 있다.
일부 예들에서, 텍스트 엔트리 애플리케이션 (8) 은 문자 인식 모듈 (10) 을 포함할 수도 있다. 문자 인식 모듈 (10) 은 사용자 입력 (18) 에 대응하는 신호에 대해 인식 동작을 수행할 수도 있다. 인식 동작은 적어도 사용자 입력 (18) 의 일부에 대응하는 문자, 예를 들어 문자 (22) 를 결정할 수도 있다. 일 예에서, 인식 동작은 사용자 입력 (18) 을 분석하여 사용자 입력 (18) 의 임의의 부분이 하나 이상의 문자들에 대응하는지 여부를 결정할 수도 있다. 문자 인식 모듈 (10) 은 사용자 입력 (18) 의 일부에 대한 잠재적인 문자 매치들에 대하여 스코어 또는 랭킹을 할당할 수도 있다. 스코어 또는 랭킹은 스트로크 또는 연속적인 스트로크들이 특정 문자에 대응할 가능성이 얼마나 있는지에 대한 척도이다. 문자 인식 모듈 (10) 은 스코어 또는 랭킹은 물론 다른 팩터들에 적어도 부분적으로 기초하여 잠재적인 문자 매치들로부터 문자를 선택할 수도 있다. 일 예에서, 문자 인식 모듈 (10) 은, 그 문자가 선택된 임계 레벨보다 높은 스코어를 갖는 경우 사용자 입력 (18) 의 일부에 대응하는 문자를 선택할 수도 있다. 일부 예들에서, 문자 인식 모듈 (10) 은 사용자 입력 모듈 (6) 의 기능들 중 일부 또는 전부를 수행할 수도 있다. 문자 인식의 일부 예시적인 방법들이 여기에 설명된다. 다른 예들에서, 문자 인식 모듈 (10) 은 추가적으로 임의의 방법을 수행할 수도 있고, 또는 현재 알려져 있거나 추후 개발되는 다른 문자 인식 동작들 및 방법들의 임의의 특징을 가질 수도 있다. 여기에 설명된 기법들은 일반적으로 문자들의 관점에서 설명되지만; 여기에 설명된 기법들은 또한 단어들, 문장들 또는 다른 그룹핑의 문자들에 적용할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은 다른 단어들 또는 문자들을 부분적으로 오버랩하고 있는 하나 이상의 단어들을 인식할 수도 있다.
예를 들어, 문자 인식 모듈 (10) 은 사용자 입력 (18) 을 분석할 때 참조 데이터베이스 (11) 에 액세스할 수도 있다. 참조 데이터베이스 (11) 는 문자들의 테이블, 사전, 및/또는 문법 참조를 포함할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은 사용자 입력 (18) 에 적어도 부분적으로 기초하여 참조 데이터베이스 (11) 에서 룩업을 수행할 수도 있으며, 참조 데이터베이스 (11) 는 하나 이상의 스트로크들과 문자들을 맵핑시키는 테이블을 포함한다. 다른 예에서, 문자 인식 모듈 (10) 은, 문자를, 그 문자의 이전에 인식된 문자들과의 관계에 적어도 부분적으로 기초하여 인식하게 돕기 위해 참조 데이터베이스 (11) 에서 잠재어의 룩업을 수행할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 이 O, R, A, N 및 G 와 같은 5 개의 문자들을 이전에 인식했다면, 6 번째 문자는, 그 6 번째 문자 앞의 "ORANG" 에 기초하여 E 자가 되어, "ORANGE" 를 형성할 가능성이 더 높다. 따라서, 문자 인식 모듈 (10) 은 6 번째 문자의 E 자에 다른 문자들의 랭크보다 더 높은 랭크를 부여할 수도 있다. 유사하게, 문자 인식 모듈 (10) 은 참조 데이터베이스 (11) 내의 문법 참조를 이용하여 문법 규칙에 적어도 부분적으로 기초하여 문자들 또는 단어들을 랭크할 수도 있다. 문자 인식 모듈 (10) 은 또한, 스트로크들의 서브세트의 문자를, 그 스트로크들의 서브세트의 다른 문자와의 관계에 기초하여 결정할 수도 있다 (예를 들어, 스트로크들의 서브세트는 단어 내 다음 글자이거나 문장의 다음 단어이다).
도 1 의 예에서, 문자 인식 모듈 (10) 은 인식된 입력 (26) 으로서 도시된 인식된 스트로크들 (19-1 내지 19-3) 을 갖는데, 이는 "H" 자에 대응한다. 문자 인식 모듈 (10) 은 인식된 입력 (26) 에 대응하는 신호를 생성하고 그 신호를 텍스트 엔트리 애플리케이션 (8) 에, 또는 컴퓨팅 디바이스 (2) 내의 다른 컴포넌트 또는 모듈에 제공할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은, 사용자 (14) 가 "H" 자를 입력했다는 것을 나타내는 신호를 텍스트 엔트리 애플리케이션 (8) 에 제공할 수도 있다. 텍스트 엔트리 애플리케이션 (8) 은 텍스트 엔트리 애플리케이션 (8) 또는 컴퓨팅 디바이스 (2) 에 의한 추가 프로세싱을 위해 "H" 자에 대응하는 신호를 생성할 수도 있다. 일 예에서, 텍스트 엔트리 애플리케이션 (8) 은 디스플레이 디바이스 (20) 상에 인식된 입력 (26) 을 디스플레이한다. 예를 들어, 디스플레이 디바이스 (20) 는 커서 (24) 의 위치에 인식된 입력 (26) 을 나타내는 문자 (22) 를 디스플레이할 수도 있다. 또한, 커서 (24) 또는 임의의 다른 텍스트는 문자 (22) 의 추가로 인해 재포지셔닝될 수도 있다.
다른 예에서, 문자 인식 모듈 (10) 은 I/O 디바이스 (12) 에, 디스플레이하는 것을 중단하고/중단하거나 인식된 입력 (26) 의 임의의 이전에 디스플레이된 그래픽 표현의 디스플레이를 변경할 것을 명령한다. 즉, 디스플레이 디바이스 (20) 는, 인식된 입력 (26) 에 대응하는 잉크를, 일단 문자 인식 모듈 (10) 이 사용자 입력 (18) 의 그 부분을 인식하면 바꿀 수도 있다. 예를 들어, 인식된 입력 (26) 에 대응하는 잉크는 페이딩 아웃될 수도 있다. 다른 예에서, 디스플레이 디바이스 (20) 는 인식된 입력 (26) 을 상이한 위치, 상이한 컬러, 상이한 폰트로 디스플레이할 수도 있거나, 폰트 품질 (예를 들어, 볼드, 언더라인 또는 이탤릭체) 또는 사이즈를 변화시킬 수도 있거나, 또는 일단 인식된 입력 (26) 이 인식되면 잉크의 임의의 다른 속성을 바꿀 수도 있다 (예를 들어, 아웃라인으로서 인식된 입력 (26) 을 디스플레이). 다른 예들에서, 이전의 스트로크들은, 시간이 지남에 따라 천천히 페이딩 아웃되거나, 측면으로 시프트 오프되거나, 사이즈가 변화되거나, 다르게는 그 스트로크들이 정확하게 인식되는 신뢰도에 적어도 부분적으로 기초하여 디스플레이 디바이스 (20) 를 명확하게 하기 위하여 변화되거나 할 수도 있다. 일 예에서, 적어도 제 2 임계 레벨보다 높은 신뢰도를 가진 것으로 인식되는 스토로크들은 디스플레이 디바이스 (20) 에서 완전히 페이딩된다.
도 1 에 도시된 예에서, 문자 인식 모듈 (10) 은 사용자 입력 (18) 의 아직 인식되지 않은 다른 부분, 즉 미인식된 입력 (28) 을 갖는다. 디스플레이 디바이스 (20) 는 (예를 들어, 잉크 내의) 미인식된 입력 (28) 의 그래픽 표현을 디스플레이할 수도 있다. 일 예에서, 디스플레이 디바이스 (20) 는 인식된 입력 (26) 과는 상이한 스타일의 잉크 (예를 들어, 상이한 컬러, 상이한 선 두께, 상이한 투명도 등) 로 미인식된 입력 (28) 을 디스플레이할 수도 있다. 일단 문자 인식 모듈 (10) 이 적어도 제 1 임계 신뢰도에 의해 미인식된 입력 (28) 을 인식하면, 디스플레이 디바이스 (20) 는 인식된 입력 (26) 이 디스플레이될 때 미인식된 입력 (28) 을 디스플레이할 수도 있다.
일 예에서, 컴퓨팅 디바이스 (2) 는 제한된 그래픽 영역을 가진 터치-기반 인터페이스 (4) 를 갖는 모바일 디바이스이다. 여기에 설명된 기법들은 사용자 (14) 로 하여금 수기 사용자 입력을 위해 터치-기반 인터페이스 (4) 를 보다 효율적으로 이용할 수 있게 한다. 다른 예들에서, 컴퓨팅 디바이스 (2) 는 데스크탑 머신이다. 이러한 예들에서, 사용자 (14) 는 예를 들어, 웹 페이지의 필드로의 입력을 제공하기 위해 수기 입력할 수도 있다.
도 2 는 도 1 에 도시된 컴퓨팅 디바이스 (2) 의 일 예의 추가 세부사항을 예시한 블록도이다. 도 2 는 컴퓨팅 디바이스 (2) 의 단 하나의 특정 예를 예시하며, 다른 경우들에서는 컴퓨팅 디바이스 (2) 의 많은 다른 예시적인 실시형태들이 이용될 수도 있다.
도 2 의 특정 예에 도시한 바와 같이, 컴퓨팅 디바이스 (2) 는 하나 이상의 프로세서들 (30), 메모리 (32), 네트워크 인터페이스 (34), 하나 이상의 저장 디바이스들 (36), 하나 이상의 입력 디바이스들 (38), 하나 이상의 출력 디바이스들 (40), 및 하나 이상의 배터리들 또는 다른 전력원들 (42) 을 포함한다. 컴퓨팅 디바이스 (2) 는 또한 운영 시스템 (44) 을 포함하며, 이 운영 시스템 (44) 은 컴퓨팅 디바이스 (2) 에 의해 실행가능한 사용자 입력 모듈 (6) 을 포함할 수도 있다. 컴퓨팅 디바이스 (2) 는 하나 이상의 애플리케이션들 (46), 및 컴퓨팅 디바이스 (2) 에 의해 실행가능한 문자 인식 모듈 (10) 을 포함할 수도 있는 텍스트 엔트리 애플리케이션 (8) 을 포함할 수도 있다. 운영 시스템 (44), 애플리케이션 (46) 및 텍스트 엔트리 애플리케이션 (8) 은 또한 컴퓨팅 디바이스 (2) 에 의해 실행가능하다. 컴포넌트들 (30, 32, 34, 36, 38, 40, 42, 44, 46, 6, 8 및 10) 각각은 컴포넌트간 통신을 위해 (물리적으로, 통신적으로, 및/또는 동작적으로) 상호접속될 수도 있다.
프로세서들 (30) 은 컴퓨팅 디바이스 (2) 에서의 실행을 위한 기능성 및/또는 프로세스 명령들을 구현하도록 구성될 수도 있다. 프로세서들 (30) 은 메모리 (32) 에 저장된 명령들 또는 저장 디바이스들 (36) 상에 저장된 명령들을 프로세싱하는 것이 가능할 수도 있다.
메모리 (32) 는 동작 동안 컴퓨팅 디바이스 (2) 내에 정보를 저장하도록 구성될 수도 있다. 메모리 (32) 는 일부 예들에서는, 비일시적 (non-transitory) 또는 유형의 컴퓨터 판독가능 저장 매체로서 설명될 수도 있다. 일부 예들에서, 메모리 (32) 는 일시성 메모리이며, 이는 메모리 (32) 의 주목적이 장기 저장이 아니라는 것을 의미한다. 메모리 (32) 는 또한, 일부 예들에서는, 휘발성 메모리로서 설명될 수도 있으며, 이는 메모리 (32) 가 컴퓨터가 턴 오프될 때 저장된 컨텐트들을 유지하지 않는다는 것을 의미한다. 휘발성 메모리들의 예들은 랜덤 액세스 메모리 (RAM), 동적 랜덤 액세스 메모리 (DRAM), 정적 랜덤 액세스 메모리 (SRAM), 및 당업계에 공지되어 있는 다른 형태의 휘발성 메모리들을 포함한다. 일부 예들에서, 메모리 (32) 는 프로세서들 (30) 에 의한 실행을 위해 프로그램 명령들을 저장하는데 이용될 수도 있다. 메모리 (32) 는 컴퓨팅 디바이스 (2) 상에서 실행되는 소프트웨어 또는 애플리케이션들 (예를 들어, 애플리케이션들 (46) 중 하나 이상) 에 의해, 프로그램 실행 동안의 정보를 일시적으로 저장하는데 이용될 수도 있다.
저장 디바이스들 (36) 은 또한 하나 이상의 비일시적 또는 유형의 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 저장 디바이스들 (36) 은 메모리 (32) 보다 더 많은 양의 정보를 저장하도록 구성될 수도 있다. 저장 디바이스들 (36) 은 또한 정보의 장기 저장을 위해 구성될 수도 있다. 일부 예들에서, 저장 디바이스들 (36) 은 비휘발성 저장 엘리먼트들을 포함할 수도 있다. 이러한 비휘발성 저장 엘리먼트들의 예들은 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 전기적으로 프로그램가능한 메모리 (EPROM) 또는 전기적으로 소거가능하고 프로그램가능한 메모리 (EEPROM) 의 형태들을 포함할 수도 있다.
컴퓨팅 디바이스 (2) 는 또한 네트워크 인터페이스 (34) 를 포함한다. 컴퓨팅 디바이스 (2) 는 네트워크 인터페이스 (34) 를 이용하여 하나 이상의 무선 네트워크들과 같은 하나 이상의 네트워크들을 통해 외부 디바이스들과 통신할 수도 있다. 네트워크 인터페이스 (34) 는 네트워크 인터페이스 카드, 이를 테면 이더넷 카드, 광 트랜시버, 무선 주파수 트랜시버, 또는 정보를 전송 및 수신할 수 있는 임의의 다른 유형의 디바이스일 수도 있다. 이러한 네트워크 인터페이스들의 예들은 USB 는 물론 모바일 컴퓨팅 디바이스들 내의 Bluetooth®, 3G 및 WiFi® 라디오들을 포함할 수도 있다. 이러한 무선 네트워크들의 예들은 WiFi®, Bluetooth®, 및 3G 를 포함할 수도 있다. 일부 예들에서, 컴퓨팅 디바이스 (2) 는 네트워크 인터페이스 (34) 를 이용하여 서버, 모바일폰 또는 다른 네트워킹된 컴퓨팅 디바이스와 같은 외부 디바이스 (미도시) 와 무선 통신할 수도 있다.
컴퓨팅 디바이스 (2) 는 또한 하나 이상의 입력 디바이스들 (38) 을 포함할 수도 있다. 입력 디바이스 (38) 는 촉각, 오디오, 또는 비디오 입력을 통하여 사용자로부터 입력을 수신하도록 구성될 수도 있다. 입력 디바이스 (38) 의 예들은 터치-감응 스크린, 마우스, 키보드, 음성 응답 시스템, 비디오 카메라, 또는 사용자로부터 커맨드를 검출하기 위한 임의의 다른 유형의 디바이스를 포함할 수도 있다.
컴퓨팅 디바이스 (2), 예를 들어, I/O 디바이스 (12) 에는 하나 이상의 출력 디바이스들 (40) 이 또한 포함될 수도 있다. 출력 디바이스 (40) 는 촉각, 오디오, 또는 비디오 출력을 이용하여 사용자에게 출력을 제공하도록 구성될 수도 있다. 출력 디바이스 (40) 는 터치-감응 스크린, 사운드 카드, 비디오 그래픽 어댑터 카드, 또는 신호를 사람 또는 머신에게 이해가능한 적절한 형태로 변환하기 위한 임의의 다른 유형의 디바이스를 포함할 수도 있다. 출력 디바이스 (40) 의 추가적인 예들은, 스피커, 음극선관 (CRT) 모니터, 액정 디스플레이 (LCD), 또는 사용자에게 출력을 제공할 수 있는 임의의 다른 유형의 디바이스를 포함할 수도 있다.
컴퓨팅 디바이스 (2) 는 하나 이상의 배터리들 또는 전력원들 (42) 을 포함할 수도 있으며, 이들은 재충전가능하고 컴퓨팅 디바이스 (2) 에 전력을 제공할 수도 있다. 하나 이상의 전력원들 (42) 은 니켈 카드뮴, 리튬 이온 또는 임의의 다른 적절한 재료로 이루어진 배터리일 수도 있다. 하나 이상의 전력원들 (42) 은 재충전가능할 수도 있고/있거나 컴퓨팅 디바이스 (2) 는 전력 공급 접속을 통해 전력공급받을 수 있다.
컴퓨팅 디바이스 (2) 는 운영 시스템 (44) 을 포함할 수도 있다. 운영 시스템 (44) 은 컴퓨팅 디바이스 (2) 의 컴포넌트들의 동작을 제어할 수도 있다. 예를 들어, 운영 시스템 (44) 은 프로세서들 (30), 메모리 (32), 네트워크 인터페이스 (34), 저장 디바이스 (36), 입력 디바이스 (38), 출력 디바이스 (40), 및 배터리 (42) 와 애플리케이션 (46) 또는 텍스트 엔트리 애플리케이션 (8) 의 상호작용을 용이하게 할 수도 있다.
운영 시스템 (44) 은 추가적으로 사용자 입력 모듈 (6) 을 포함할 수도 있다. 사용자 입력 모듈 (6) 은 운영 시스템 (44) 의 일부로서 실행될 수도 있다. 다른 경우에, 사용자 입력 모듈 (6) 은 컴퓨팅 디바이스 (2) 에 의해 구현 또는 실행될 수도 있다. 사용자 입력 모듈 (6) 은 입력, 예를 들어, 하나 이상의 입력 디바이스들 (38) 을 통하여 사용자 (14) 로부터 수신된 사용자 입력 (18) 을 프로세싱할 수도 있다. 대안으로, 사용자 입력 모듈 (6) 은 프로세서들 (30), 메모리 (32), 네트워크 인터페이스 (34), 저장 디바이스들 (36), 하나 이상의 출력 디바이스들 (40), 배터리 (42), 또는 운영 시스템 (44) 과 같은 컴포넌트로부터 입력을 수신할 수도 있다. 일부 경우에, 사용자 입력 모듈 (6) 은 사용자 입력 (18) 에 대해 추가적인 프로세싱을 수행할 수도 있다. 다른 경우에, 사용자 입력 모듈 (6) 은 애플리케이션, 예를 들어, 애플리케이션 (46) 또는 텍스트 엔트리 애플리케이션 (8), 또는 컴퓨팅 디바이스 (2) 내의 다른 컴포넌트에 입력을 송신할 수도 있다.
컴퓨팅 디바이스 (2) 내에서 구현되거나 컴퓨팅 디바이스 (2) 에 의해 실행되는 임의의 애플리케이션들, 예를 들어, 애플리케이션 (46) 또는 텍스트 엔트리 애플리케이션 (8) 은, 컴퓨팅 디바이스 (2) 의 컴포넌트들, 예를 들어, 프로세서들 (30), 메모리 (32), 네트워크 인터페이스 (34), 및/또는 저장 디바이스들 (36) 내에서 구현되거나 포함될 수도 있고, 그 컴포넌트들에 의해 동작가능할 수도 있고, 그 컴포넌트들에 의해 실행될 수도 있고/있거나, 그 컴포넌트들에 동작적으로/통신적으로 커플링될 수도 있다. 하나의 예에서, 문자 인식 모듈 (10) 은 컴퓨팅 디바이스 (2) 로부터 물리적으로 분리된 서버 상에서 실행되고, 네트워크 인터페이스 (34) 를 통한 네트워크 접속에 의해 컴퓨팅 디바이스 (2) 에 접속된다.
도 3 은 본 개시물의 하나 이상의 양태들에 따른, 터치 입력에 대응하는 문자를 인식하도록 컴퓨팅 디바이스에 의해 수행될 수도 있는 일 예시적인 방법 (50) 을 예시한 흐름도이다. 예를 들어, 방법 (50) 은 도 1 또는 도 2 에 도시된 컴퓨팅 디바이스 (2) 에 의해 수행될 수도 있다.
방법 (50) 은 컴퓨팅 디바이스의 터치-기반 인터페이스에서 연속적인 스트로크들에 관한 터치-기반 입력을 수신하는 단계를 포함하고, 연속적인 스트로크들의 제 1 서브세트는 터치-기반 인터페이스의 제 1 그래픽 영역에 대응하고, 연속적인 스트로크들의 제 2 서브세트는 제 1 그래픽 영역을 적어도 부분적으로 오버랩하는 터치-기반 인터페이스의 제 2 그래픽 영역에 대응한다 (52). 이들 스트로크들은 도 4 및 도 5 와 관련하여 이하 더 상세하게 설명된다. 방법 (50) 은 컴퓨팅 디바이스에 커플링된 출력 디바이스 상에 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현을 디스플레이하는 단계를 더 포함한다 (53).
방법 (50) 은 제 1 문자가 연속적인 스트로크들의 제 1 서브세트에 대략 매칭하는 신뢰도를 결정하는 단계를 더 포함하고, 신뢰도는 적어도 제 1 신뢰 임계값이다 (54). 예를 들어, 문자 인식 모듈 (10) 은 연속적인 스트로크들의 제 1 서브세트를 분석하여 스트로크들의 제 1 서브세트가 잠재적인 문자에 대응하는지 여부를 결정할 수도 있다. 문자 인식 모듈 (10) 은 스트로크들의 제 1 서브세트를, 예를 들어, 참조 데이터베이스 (11) 에 저장된 문자들의 세트와 비교할 수도 있고, 문자가 스트로크들의 제 1 서브세트에 매칭할 가능성이 얼마나 있는지에 적어도 부분적으로 기초하여 각각의 문자에 대해 또는 문자들의 세트의 서브세트에 대해 랭크 또는 스코어를 할당할 수도 있으며, 여기서 랭크 또는 스코어는 신뢰도와 관련된다.
하나의 예에서, 문자 인식 모듈 (10) 은 제 1 문자와의 일치의 측정값을 결정할 수도 있다. 예를 들어, 제 1 문자의 형상이 스트로크들의 제 1 서브세트의 형상에 대략 매칭하는 경우, 제 1 문자는 덜 일치하는 문자들에 비해 일치에 대해 비교적 높게 랭크되거나 스코어화될 수도 있다. 제 2 문자의 형상이 스트로크들의 제 1 서브세트의 형상에 대략 매칭하지 않는 경우, 제 2 문자는 일치에 대해 높게 랭크되거나 스코어화되지 않을 수도 있다. 이 예에서, 제 1 문자에는 스트로크들의 제 1 서브세트에 대한 잠재적인 매치로서 제 2 문자보다 더 높은 랭킹 또는 스코어가 주어질 수도 있다.
방법 (50) 은 신뢰도에 기초하여 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현의 디스플레이를 조정 (예를 들어, 그래픽 표현을 부분적으로 페이딩) 하는 단계를 더 포함할 수도 있다 (56). 하나의 예에서, 연속적인 스트로크들의 제 1 서브세트의 그래픽 표현은 더 큰 신뢰도에 기초하여 더 큰 범위로 조정될 수도 있다. 다른 예에서, 제 1 문자가 연속적인 스트로크들의 제 1 서브세트에 대응하는 신뢰도가 적어도 제 1 신뢰 임계값 이상이 될 때까지 그래픽 표현이 페이딩되지 않을 수도 있다. 하나의 예에서, 신뢰도에 기초한 그래픽 표현의 페이딩은 추가적인 사용자 입력을 위해 출력 디바이스를 명확하게 하는 것을 돕는다. 하나의 예에서, 페이딩이 단어 레벨에서 수행될 수도 있고, 예를 들어, 전체 단어가 그룹으로서 페이딩될 수도 있다. 일부 예들에서, 타임아웃 주기에 기초하여 페이딩이 결정될 수도 있다 (예를 들어, 스트로크들이 엔트리 후의 특정 시간에 페이딩된다). 일부 예들에서, 임계 개수의 스트로크들이 제 1 스트로크 후에 입력되었으면 제 1 스트로크가 페이딩될 수도 있다.
방법 (50) 은 또한, 신뢰도가 적어도 제 2 신뢰 임계값인 경우 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 제 1 문자를 제공하는 단계를 포함할 수도 있고, 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계된다 (58). 하나의 예에서, 제 2 신뢰 임계값은, 제 1 연속적인 스트로크들이 제 1 문자에 대응한다는 것을 나타내는 선택된 임계값이다. 하나의 예에서, 제 2 신뢰 임계값은 제 1 신뢰 임계값보다 더 높은 정확도를 나타낼 수도 있다. 또 다른 예에서, 제 2 신뢰 임계값은 제 1 신뢰 임계값과 대략 동일할 수도 있다.
사용자 입력 (18) 을 인식하기 위해 문자 인식 모듈 (10) 이 이용할 수도 있는 다른 팩터들은 2 개의 스트로크들 간의 수직 간격 (예를 들어, 2 개의 스트로크들 간의 제 1 방향으로의 거리), 2 개의 스트로크들 간의 수평 간격 (예를 들어, 2 개의 스트로크들 간의 제 1 방향과 직교하는 제 2 방향으로의 거리), 스트로크의 수평 또는 수직 포지셔닝 (예를 들어, 스트로크가 터치 스크린 상에 위치되는 경우), 스트로크들의 크로싱 (예를 들어, 일 스트로크가 타 스트로크와 교차하는 경우), 스트로크들의 서브세트에서의 스트로크들의 개수, 스트로크들이 입력된 연대순, 단일 스트로크에서의 상이한 문자들의 조합, 이전에 인식된 문자들, 단어들, 또는 문장들, 또는 문자 인식에 이용되는 임의의 다른 적합한 팩터를 포함한다. 또한, 스트로크들의 세그먼테이션 (segmentation) 은 상기 열거된 팩터들 중 임의의 팩터에 기초할 수도 있다. 예를 들어, 사용자 (14) 가 터치-기반 인터페이스 (4) 의 제 1 면에서 기입하기 시작하여 반대 면에 도달한 후에, 제 1 면 상에 다시 기입하기 시작하는 경우, 제 1 면 상의 스트로크들과의 오버랩은 문자들 간의 세그먼테이션을 나타낼 수도 있다.
문자 인식 모듈 (10) 은 임의의 개수의 상술한 팩터들에 적어도 부분적으로 기초하여 문자를 선택할 수도 있다. 하나의 예에서, 문자 인식 모듈 (10) 은 각각의 팩터에 가중치를 할당할 수도 있고, 그 팩터들의 가중 평균에 적어도 부분적으로 기초하여 문자를 선택할 수도 있다. 하나의 예에서, 문자 인식 모듈 (10) 또는 컴퓨팅 디바이스 (2) 내의 다른 애플리케이션은 최소 오차율 트레이닝 (minimum error rate training; "MERT") 을 이용하여 특정 팩터의 가중치를 할당하거나 변경할 수도 있다. MERT 는, 시스템 성능을 측정하기 위한 자동화된 평가 기준이 트레이닝 시에 직접적으로 최적화될 수 있도록 선형 모델에서 할당된 가중치들을 추정하는데 이용되는 방법이다. 즉, 컴퓨팅 디바이스 (2) 는, 사용자 (14) 가 컴퓨팅 디바이스 (2) 를 이용할 때 MERT 를 이용하여 사용자 (14) 의 수기 인식의 정확도를 개선시킬 수도 있다. 하나의 예에서, 스크로크들의 신뢰도에 기초하여 그 스트로크들을 부분적으로 페이딩하는 것은 사용자 (14) 가 문자 인식 모듈 (10) 을 트레이닝하는 것을 도울 수도 있다. 일부 예들에서, MERT 기법들은 컴퓨팅 디바이스 (2) 의 트레이닝 모드에서 컴퓨팅 디바이스 (2) 에 적용된다. 다른 예들에서는, MERT 기법들은 사용자 (14) 가 사용자 입력 (18) 을 엔터링할 때 적용된다. 문자 인식 모듈 (10) 에 의해 인식된 문자들에 대해 사용자 (14) 가 행하는 임의의 보정들이 문자 인식 모듈 (10) 의 정확도를 개선시키는데 이용될 수도 있다.
일단 문자가 인식되면, 방법 (50) 은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 제 1 문자를 식별하거나 제공할 수도 있고, 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계된다 (56). 예를 들어, 문자 인식 모듈 (10) 은, 텍스트 엔트리 애플리케이션 (8) 에 의한 프로세싱을 위해, 예를 들어, 커서 (24) 에 제 1 문자를 디스플레이하기 위해 제 1 문자에 대응하는 신호를 생성한다. 다른 예에서, 텍스트 엔트리 애플리케이션 (8) 은 제어 입력으로서 제 1 문자에 대응하는 신호를 이용할 수도 있다.
도 4 는 본 개시물의 하나 이상의 양태들에 따른, 문자 인식 모듈을 실행하는 컴퓨팅 디바이스에 의해 인식될 수도 있는 터치-기반 입력의 연속적인 스트로크들 (19-1 내지 19-4) 의 일 예를 예시한 개념도이다. 예를 들어, 사용자 (14) 는 컴퓨팅 디바이스 (2) 의 터치 스크린 (60) 을 이용하여 연속적인 스트로크들 (19-1 내지 19-4) 을 수기하였다. 터치 스크린 (60) 은 연속적인 스트로크들 (19-1 내지 19-4) 의 그래픽 표현을 디스플레이할 수도 있다.
연속적인 스트로크들 (19-1 내지 19-4) 은 스트로크 19-1 로부터 스트로크 19-4 로 연대순으로 입력되었을 수도 있다. 도 4 에 도시된 바와 같이, 사용자 (14) 는 터치 스크린 (60) 의 제 1 그래픽 영역 (62-1) 에서, 연속적인 스트로크들의 제 1 서브세트, 즉, 스트로크들 (19-1 내지 19-3) 로서 "H" 자를 기입하였을 수도 있다. 사용자 (14) 는 연속적인 스트로크들의 제 1 서브세트의 위에 계속 기입할 수도 있으며, 예를 들어, 스트로크 19-4 는 스트로크 19-3 을 오버랩한다. 터치 스크린 (60) 의 제 2 그래픽 영역 (62-2) 에는 스트로크 19-4 가 기입되며, 제 2 그래픽 영역 (62-2) 은 제 1 그래픽 영역 (62-1) 을 오버랩한다. 문자 인식 모듈 (10) 은, 적어도 문자들의 일부가 서로 오버랩함에도 불구하고, 사용자 (14) 에 의해 입력된 문자들을 인식할 수도 있다. 이것은, 문자 인식 모듈 (10) 이 이전에 기입된 스트로크들을 인식할 것을 대기하지 않고, 사용자 (14) 가 터치 스크린 (60) 의 영역들을 재사용하는 것을 허용한다.
문자 인식 모듈 (10) 은 디스플레이 디바이스 (20) 에, 정확한 결정의 확률에 적어도 부분적으로 기초하여 스트로크들의 서브세트의 디스플레이를 바꿀 것 (예를 들어, 스트로크들의 서브세트의 디스플레이를 페이딩할 것을) 명령할 수도 있다. 예를 들어, 스트로크들의 서브세트가 정확하게 인식될 가능성이 많을수록, 잉크 디스플레이의 음영이 더 밝아진다. 하나의 예에서, 스트로크들의 서브세트가 임계 신뢰도보다 높은 랭킹 또는 스코어를 갖는 문자에 대응하는 것으로 문자 인식 모듈 (10) 이 일단 결정하면, 디스플레이 디바이스 (20) 는 이들 스트로크들을 디스플레이하는 것을 중지한다 (예를 들어, 인식된 문자에 대응하는 스트로크들은 완전히 페이딩 아웃될 수도 있다).
또한, 문자 인식 모듈 (10) 은 미인식된 입력 (28) 과 같은 단일 스트로크에서의 2 개 이상의 문자들을 검출할 수도 있다. 문자 인식 모듈 (10) 은 사용자 입력 (18) 이 (예를 들어, 필기체의) 문자들을 연결하는 경우 일 문자와 타 문자 간의 경계를 결정할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은 여기에 설명된 기법들에 적어도 부분적으로 기초하여 스트로크 (19-4) 에서의 "e" 와 "l" 간을 구별할 수도 있다.
도 5a 내지 도 5d 는 본 개시물의 하나 이상의 양태들에 따른, 문자 인식 모듈에 의해 분석될 수도 있는, 사용자에 의해 입력된 연속적인 스트로크들 (70) 의 일 예를 예시한 개념도들이다. 도 5a 내지 도 5d 에 도시된 예에서, 사용자 (14) 는 스트로크들 (70-1 내지 70-9) 을 포함하는 연속적인 스트로크들 (70) 의 형태로 "Hello" 를 기입하였다. 도 5a 내지 도 5d 에서, 스트로크들 (70) 은 명료성을 위해 수평 오프셋을 갖는 것으로 도시되어 있지만, 스트로크들 (70-1 내지 70-9) 중 일부가 다른 스트로크들 (70-1 내지 70-9) 의 위에 기입될 수도 있다 (즉, 스트로크들 (70-1 내지 70-9) 중 일부가 오버랩될 수도 있다) 는 것이 이해될 것이다.
하나의 예에서, 문자 인식 모듈 (10) 은 어느 문자들이 사용자 (14) 가 입력하려고 의도한 것인지를 결정하기 위해 연속적인 스트로크들 (70) 의 상이한 서브세트들을 고려할 수도 있다. 예를 들어, 사용자 (14) 는 연속적인 스트로크들 (70) 을 터치-기반 인터페이스 (4) 를 통해 컴퓨팅 디바이스 (2) 에 연대순으로 입력한다. 도 5a 내지 도 5d 는, 스트로크들의 상이한 연대순 서브세트들을, 그 서브세트 내의 스트로크들로부터 문자가 인식될 때까지 리뷰하는 것에 적어도 부분적으로 기초하여 스트로크들의 제 1 서브세트에 어느 스트로크들이 있는지를 문자 인식 모듈 (10) 이 결정할 수도 있는 방법의 일 예를 예시한다.
도 5a 에서, 문자 인식 모듈 (10) 은 각각의 스트로크 (70-1 내지 70-9) 를 개별적으로 고려할 수도 있다. 즉, 연속적인 스트로크들 (70) 의 서브세트는 단일 스트로크를 포함한다. 문자 인식 모듈 (10) 은 각각의 스트로크 (70-1 내지 70-9) 를 관찰하여 문자에 각각의 대략적인 매치에 대한 스코어를 할당할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은 숫자 1 은 물론, "L" 자와 "I" 자의 대문자와 소문자에서 스트로크들 (70-1, 70-3, 70-7, 및 70-8) 에 대한 대략적인 매치를 발견할 수도 있다. 이러한 예에서, 어떠한 이전의 사용자 입력 (18) 도 인식되는 일 없이, 문자 인식 모듈 (10) 은 연속적인 스트로크들 (70-1 내지 70-9) 에 적어도 부분적으로 기초하여 잠재적인 매치들에 스코어 또는 랭킹을 할당할 수도 있다. 이전에 인식된 문자들을 갖는 예들에 있어서, 문자 인식 모듈 (10) 은 이전에 인식된 문자들에 적어도 부분적으로 기초하여 스코어들을 추가적으로 할당할 수도 있다.
추가적으로, 예를 들어, 문자 인식 모듈 (10) 은 스트로크들 (70-2, 70-5, 및 70-6) 이 잠재적으로 대시 "-" 또는 밑줄 "_" 인 것으로 고려하고 그에 따라 이들 잠재적인 결과들을 랭크할 수도 있다. 그러나, 일부 예들에서, 스트로크 70-6 의 비교적 높은 수직 배치 때문에, 문자 인식 모듈 (10) 은 "_" 에 비교적 낮은 스코어를 부여할 수도 있다. 스트로크 70-4 는 대문자 "L" 로서 대략 매칭될 수도 있고 높은 랭킹을 할당받을 수도 있다. 마찬가지로, 스트로크 70-9 는 대문자 또는 소문자 "O" 또는 숫자 "0" 일 수도 있다.
문자 인식 모듈 (10) 은 (예를 들어, 스트로크들의 이전 또는 후속 서브세트들, 수직 포지셔닝, 사이즈 등에 기초하여) 문자들 중 하나 또는 임의의 문자에 정확하게 매칭할 가능성에 기초하여 이들 잠재적 매치들을 랭크 또는 스코어화할 수도 있다. 높은 랭킹은, 문자가 베이스라인 또는 평균보다 의도된 문자일 가능성이 더 많다는 것을 나타내는 랭킹일 수도 있다. 이와 비교해서, 낮은 랭킹은, 문자가 베이스라인 또는 평균보다 의도된 문자일 가능성이 더 적다는 것을 나타내는 랭킹일 수도 있다.
도 5b 에서와 같이, 문자 인식 모듈 (10) 은 2 개의 스트로크들을 갖는 스트로크들 (70) 의 서브세트들을 또한 고려할 수도 있다. 일부 예들에서, 스트로크들 (70) 의 서브세트들은 연속되는 스트로크들 (즉, 연대순으로 서로 나란히 발생한 스트로크들) 을 포함한다. 다른 예들에 있어서, 스트로크들 (70) 의 서브세트들은 연속되지 않는 스트로크들을 포함한다 (예를 들어, 사용자 (14) 가 단어의 다른 글자들을 완성한 후에 "i" 를 적지 않을 수도 있기 때문에, "I" 자에 대응하는 스트로크들의 서브세트는 연속되지 않을 수도 있다). 예시를 목적으로, 도 5a 내지 도 5d 는 연속되는 스트로크들을 포함하는 스트로크들 (70) 의 서브세트들을 도시한다.
문자 인식 모듈 (10) 은 스트로크들의 서브세트에서의 각각의 스트로크의 조합을 단일 문자로서 고려할 수도 있다. 예를 들어, 도 5b 에서, 스트로크들 70-2 및 70-3 뿐만 아니라 70-3 및 70-4 를 포함하는 스트로크들 (70) 의 서브세트는, 잠재적으로 "t" 자 또는 부호 "+" 일 수도 있고, 문자 인식 모듈 (10) 에 의해 랭크되거나 스코어화될 수도 있다. 스트로크들 (70) 의 일부 서브세트들, 예를 들어, 70-3 및 70-4 뿐만 아니라 70-7 및 70-8 은 잠재적인 매치를 갖지 않을 수도 있다. 이러한 예에서, 스트로크들의 이들 서브세트들은 낮은 랭킹 또는 스코어를 할당받거나 전혀 할당받지 못한다.
도 5c 는 3 개의 연속되는 스트로크들을 포함하는 스트로크들의 서브세트들의 일 예를 도시한다. 이 예에서, 문자 인식 모듈 (10) 은 스트로크들 (70-1 내지 70-3) 을 잠재적으로 "H" 자인 것으로 인식한다. 이러한 인식은 스트로크들의 서브세트를 문자들의 데이터베이스와 비교하는 것에 기초할 수도 있거나, 또는 또 다른 방법으로 수행될 수도 있다. 따라서, "H" 자에는 이러한 스트로크들의 서브세트에 대해 높은 스코어 또는 랭킹이 부여될 수도 있다. 유사하게, 스트로크들 (70-4 내지 70-6) 은 'E' 자에 대응하며, 그에 따라 스코어화 또는 랭크될 수도 있다. 문자 인식 모듈 (10) 이 스트로크들의 서브세트가 "E" 일 수도 있다는 것을 일단 결정하면, 문자 인식 모듈 (10) 은 그 정보를 이용하여, 이전에 랭크되거나 스코어화된 문자들을 재랭크하거나 재스코어화할 수도 있다. 예를 들어, 문자 인식 모듈 (10) 은 "E" 가 일단 검출되면 "H" 에 더 높은 랭킹 또는 스코어를 부여할 수도 있다. 문자 인식 모듈 (10) 이 "he" 로 시작하는 단어들을 열거한 사전을 포함하는 데이터베이스를 참고할 수도 있기 때문에, 문자 인식 모듈 (10) 은 "H" 의 랭킹을 증가시킬 수도 있다.
마찬가지로, 도 5d 는 스트로크들 (70) 의 서브세트들이 4 개의 연속되는 스트로크들을 포함하는 일 예를 도시한다. 일부 예들에서, 문자 인식 모듈 (10) 은 문자에 대해 고려될 수도 있는 임계 개수의 스트로크들을 가질 수도 있다. 도 5d 의 예에서, 문자 인식 모듈 (10) 은 스트로크들의 개수의 임계 레벨을 4 로 설정할 수도 있다. 이것은, 서브세트에서의 스트로크들의 개수가 증가함에 따라, 서브세트가 특정 문자에 매칭할 가능성이 감소하기 때문일 수도 있다. 이러한 예에서는, 문자 인식 모듈 (10) 이 어떠한 높은 랭킹의 문자 매치들도 발견하지 못할 수도 있다.
문자 인식 모듈 (10) 은 사용자 (14) 의 입력을 인식함에 있어서 스트로크들의 서브세트들 중 일부 또는 전부 및 그들의 대응하는 매치들의 랭킹들 또는 스코어들을 고려할 수도 있다. 예를 들어, 다양한 팩터들에 기초하여, 문자 인식 모듈 (10) 은, 서브세트들을 서로 비교할 뿐만 아니라 서브세트 내의 잠재적인 문자 매치들과 비교할 수도 있다. 일부 예들에서, 문자 인식 모듈 (10) 은 적어도 최대 개수까지의 잠재적인 매치들을 유지한다 (예를 들어, 문자 인식 모듈 (10) 은 스트로크들의 서브세트 각각의 서브세트에 대해 20 개의 가장 가능성 있는 잠재적인 매치들을 저장한다). 다른 예들에 있어서, 잠재적인 매치들의 최대 개수는 다른 수일 수도 있다.
하나의 예에서, 문자 인식 모듈 (10) 은 특정 문자들에 대한 서브세트들의 상이한 스코어들 또는 랭킹들을 비교할 수도 있고, 그 서브세트에 대한 가장 높은 스코어를 갖는 문자 또는 선택된 임계 레벨보다 높은 스코어를 갖는 문자를 매칭 문자로서 선택할 수도 있다. 또 다른 예에서, 문자 인식 모듈 (10) 은 사전 또는 문법 참조에 액세스하여, 결정된 연속적인 문자들에 적어도 부분적으로 기초하여 단어를 식별하고/하거나 제안할 수도 있다. 하나의 예에서, 문자 인식 모듈 (10) 은 도 5a 내지 도 5d 에서의 사용자 입력 (18) 이 단어 'Hello' 인 것으로 결정한다.
여기에 설명된 기법들은 적어도 부분적으로 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 구현될 수도 있다. 예를 들어, 상기 설명된 실시형태들의 다양한 양태들은, 하나 이상의 마이크로프로세서들, DSP들 (digital signal processors), ASIC들 (application specific integrated circuits), FPGA들 (field programmable gate arrays), 또는 임의의 다른 등가의 통합된 또는 별개의 로직 회로 뿐만 아니라 이러한 컴포넌트들의 임의의 조합들을 포함하는, 하나 이상의 프로세서들 내에서 구현될 수도 있다. 용어 "프로세서" 또는 "프로세싱 회로" 는 일반적으로 상술한 로직 회로 단독, 또는 상술한 로직 회로를 다른 로직 회로와 조합한 것 중 임의의 것, 또는 임의의 다른 등가 회로를 지칭할 수도 있다. 하드웨어를 포함하는 제어 유닛은 또한 본 개시물의 기법들 중 하나 이상을 수행할 수도 있다.
이러한 하드웨어, 소프트웨어 및 펌웨어는 여기에 설명된 다양한 기법들을 지원하도록 동일 디바이스 내에서 또는 별개의 디바이스들 내에서 구현될 수도 있다. 또한, 상기 설명된 유닛들, 모듈들 또는 컴포넌트들 중 임의의 것은 별개이지만 상호동작가능한 로직 디바이스들로서 함께 또는 개별적으로 구현될 수도 있다. 모듈들 또는 유닛들로서의 상이한 특징들의 예시는 상이한 기능적 양태를 강조하는 것으로 의도되며, 이러한 모듈들 또는 유닛들이 별개의 하드웨어, 펌웨어, 또는 소프트웨어 컴포넌트들에 의해 구현되는 것을 반드시 의미하지는 않는다. 오히려, 하나 이상의 모듈들 또는 유닛들과 관련된 기능성은 별개의 하드웨어, 펌웨어, 또는 소프트웨어 컴포넌트들에 의해 수행될 수도 있거나 또는 공통 또는 별개의 하드웨어, 펌웨어, 또는 소프트웨어 컴포넌트들 내에 통합될 수도 있다.
여기에 설명된 기법들은 또한, 명령들로 인코딩되는 컴퓨터 판독가능 저장 매체를 포함하는 제품 (article of manufacture) 에 내장 또는 인코딩될 수도 있다. 인코딩된 컴퓨터 판독가능 저장 매체를 포함한 제품에 내장 또는 인코딩된 명령들은, 컴퓨터 판독가능 매체에 포함 또는 인코딩된 명령들이 하나 이상의 프로세서들에 의해 실행될 때와 같이, 하나 이상의 프로그램가능한 프로세서들 또는 다른 프로세서들로 하여금 여기에 설명된 기법들 중 하나 이상을 구현하도록 할 수도 있다. 컴퓨터 판독가능 저장 매체는 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 프로그램가능한 판독 전용 메모리 (PROM), 소거가능한 프로그램가능한 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능한 판독 전용 메모리 (EEPROM), 플래시 메모리, 하드 디스크, 콤팩트 디스크 ROM (CD-ROM), 플로피 디스크, 카세트, 자기 매체, 광학 매체, 또는 다른 컴퓨터 판독가능 매체를 포함할 수도 있다. 일부 예들에서, 제품은 하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수도 있다.
일부 예들에서, 컴퓨터 판독가능 저장 매체는 비일시적 또는 유형의 매체를 포함할 수도 있다. 용어 "비일시적" 은 저장 매체가 반송파 또는 전파 신호에 내장되지 않은 것임을 나타낼 수도 있다. 특정 예들에 있어서, 비일시적 저장 매체는 (예를 들어, RAM 또는 캐시에서) 시간에 걸쳐 변화할 수 있는 데이터를 저장할 수도 있다.
본 개시물의 다양한 양태들이 설명되었다. 여기에 설명된 예들의 양태들 또는 특징들이 다른 예에서 설명된 임의의 다른 양태 또는 특징과 조합될 수도 있다. 이들 실시형태들 및 다른 실시형태들은 다음의 특허청구의 범위의 내에 있다.
2 : 컴퓨팅 디바이스
4 : 터치-기반 인터페이스
6 : 사용자 입력 모듈
8 : 텍스트 엔트리 애플리케이션
10 : 문자 인식 모듈
11 : 참조 데이터베이스
12 : 입력/출력 디바이스 (I/O 디바이스)
14 : 사용자
15 : 스타일러스
18 : 사용자 입력
19-1, 19-2, 19-3, 19-4 : 스트로크
20 : 디스플레이 디바이스
22 : 문자
24 : 커서
26 : 인식된 입력
28 : 미인식된 입력

Claims (20)

  1. 문자들을 인식하는 방법으로서,
    컴퓨팅 디바이스의 터치-기반 인터페이스에서 연속적인 스트로크들에 관한 터치-기반 입력을 수신하는 단계로서, 상기 연속적인 스트로크들의 제 1 서브세트는 상기 터치-기반 인터페이스의 제 1 영역에 대응하고, 상기 연속적인 스트로크들의 제 2 서브세트는 상기 제 1 영역을 적어도 부분적으로 오버랩하는 상기 터치-기반 인터페이스의 제 2 영역에 대응하는, 상기 터치-기반 입력을 수신하는 단계;
    상기 컴퓨팅 디바이스에 커플링된 출력 디바이스 상에 상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 디스플레이하는 단계;
    제 1 문자가 상기 연속적인 스트로크들의 상기 제 1 서브세트에 대략 매칭하는 신뢰도 (confidence level) 를 결정하는 단계로서, 상기 신뢰도는 적어도 제 1 신뢰 임계값인, 상기 신뢰도를 결정하는 단계;
    상기 신뢰도에 기초하여 상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현의 디스플레이를 바꾸는 단계; 및
    상기 신뢰도가 적어도 제 2 신뢰 임계값인 경우 상기 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 상기 제 1 문자를 제공하는 단계로서, 상기 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계되는, 상기 제 1 문자를 제공하는 단계를 포함하는, 문자들의 인식 방법.
  2. 제 1 항에 있어서,
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현의 디스플레이를 바꾸는 단계는 :
    상기 신뢰도가 적어도 상기 제 2 신뢰 임계값인 경우 상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 디스플레이하는 것을 중단하는 단계를 더 포함하는, 문자들의 인식 방법.
  3. 제 1 항에 있어서,
    상기 제 1 문자가 상기 연속적인 스트로크들의 상기 제 1 서브세트에 대략 매칭하는 신뢰도를 결정하는 단계는 :
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 문자들의 세트의 하나 이상의 문자들과 비교하는 단계;
    상기 그래픽 표현의 상기 하나 이상의 문자들과의 비교에 적어도 기초하여 상기 하나 이상의 문자들을 랭크하는 단계로서, 상기 랭크는 상기 신뢰도와 관련되는, 상기 하나 이상의 문자들을 랭크하는 단계; 및
    상기 랭크에 적어도 부분적으로 기초하여 상기 하나 이상의 문자들을 상기 제 1 문자로서 선택하는 단계를 더 포함하는, 문자들의 인식 방법.
  4. 제 3 항에 있어서,
    상기 랭크하는 단계는, 상기 그래픽 표현이 상기 하나 이상의 문자들에 얼마나 근접하게 매칭하는지에 적어도 부분적으로 기초하는, 문자들의 인식 방법.
  5. 제 3 항에 있어서,
    상기 제 1 서브세트의 그래픽 표현을 상기 하나 이상의 문자들과 비교하는 단계는 :
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 적어도 하나의 특성을 상기 하나 이상의 문자들의 대응하는 특성과 비교하는 단계를 더 포함하며,
    상기 적어도 하나의 특성은 상기 제 1 서브세트의 그래픽 표현과 상기 하나 이상의 문자들 간의 일치 (congruency), 스트로크들의 수직 간격, 스트로크들의 수평 간격, 스트로크들의 크로싱, 스트로크들의 사이즈, 및 스트로크들의 개수 중 하나를 포함하는, 문자들의 인식 방법.
  6. 제 5 항에 있어서,
    상기 비교에 적어도 기초하여 상기 하나 이상의 문자들을 랭크하는 단계는 :
    상기 적어도 하나의 특성과 적어도 제 2 특성의 가중 평균을 계산하는 단계를 더 포함하며,
    하나 이상의 특성들에 적용된 가중치는 최소 오차율 트레이닝 (minimum error rate training; "MERT") 을 이용하여 결정되는, 문자들의 인식 방법.
  7. 제 1 항에 있어서,
    상기 연속적인 스트로크들의 상기 제 2 서브세트가 제 2 문자에 대응한다는 것을 결정하는 단계; 및
    상기 애플리케이션에 의한 프로세싱을 위해 상기 제 2 문자를 생성하는 단계를 더 포함하는, 문자들의 인식 방법.
  8. 제 7 항에 있어서,
    상기 제 1 문자를 텍스트 디스플레이 (textual display) 내의 제 1 위치에 디스플레이하는 단계; 및
    상기 제 2 문자를 상기 텍스트 디스플레이 내의 제 2 위치에 디스플레이하는 단계를 더 포함하며,
    상기 제 2 위치는 상기 제 1 문자와 상기 제 2 문자 간의 관계에 부분적으로 기초하는, 문자들의 인식 방법.
  9. 제 1 항에 있어서,
    상기 제 1 영역은 상기 제 2 영역과 대략 동일한, 문자들의 인식 방법.
  10. 제 1 항에 있어서,
    상기 제 1 문자가 상기 연속적인 스트로크들의 상기 제 1 서브세트에 대략 매칭하는 신뢰도를 결정하는 단계는 :
    상기 연속적인 스트로크들 중 적어도 하나의 스트로크가 상기 터치-기반 인터페이스에서 수신되었던 때에 적어도 기초하여 상기 연속적인 스트로크들을 연대순으로 배열하는 단계;
    적어도 제 1 스트로크를 선택하고 적어도 상기 제 1 스트로크를 하나 이상의 문자들과 비교하는 단계; 및
    상기 제 1 스트로크와 상기 하나 이상의 문자들 간의 비교에 적어도 부분적으로 기초하여 상기 하나 이상의 문자들을 랭크하는 단계를 더 포함하는, 문자들의 인식 방법.
  11. 제 10 항에 있어서,
    상기 하나 이상의 문자들의 랭킹에 적어도 기초하여 상기 하나 이상의 문자들에서 상기 제 1 문자를 선택하는 단계를 더 포함하는, 문자들의 인식 방법.
  12. 제 10 항에 있어서,
    적어도 상기 제 1 스트로크와, 상기 제 1 스트로크와 연속되는 적어도 제 2 스트로크를 선택하고, 상기 제 1 스트로크와 상기 제 2 스트로크의 조합을 상기 하나 이상의 문자들과 비교하는 단계; 및
    상기 하나 이상의 문자들의 상기 제 1 스트로크와 상기 제 2 스트로크의 조합과의 비교에 적어도 기초하여 상기 하나 이상의 문자들을 랭크하는 단계를 더 포함하는, 문자들의 인식 방법.
  13. 제 12 항에 있어서,
    상기 제 1 스트로크에 대응하는 적어도 하나의 랭킹을 상기 제 1 스트로크와 상기 제 2 스트로크의 조합에 대응하는 적어도 하나의 랭킹과 비교하는 단계; 및
    상기 비교에 적어도 부분적으로 기초하여 상기 연속적인 스트로크들의 서브세트가 되도록 적어도 상기 제 1 스트로크 또는 상기 제 1 스트로크와 상기 제 2 스트로크의 조합 중 하나를 선택하는 단계를 더 포함하는, 문자들의 인식 방법.
  14. 제 1 항에 있어서,
    상기 제 1 문자가 상기 연속적인 스트로크들의 상기 제 1 서브세트에 대략 매칭하는 신뢰도를 결정하는 단계는 :
    결정된 문자에 적어도 부분적으로 기초하여 상기 제 1 문자를 랭크하는 단계로서, 랭킹은 상기 신뢰도와 관련되는, 상기 제 1 문자를 랭크하는 단계; 및
    상기 랭킹이 선택된 임계 레벨보다 높은 경우 상기 제 1 문자를 선택하는 단계를 더 포함하는, 문자들의 인식 방법.
  15. 제 14 항에 있어서,
    이전에 결정된 문자들에 적어도 부분적으로 기초하여 상기 제 1 문자를 랭크하는 단계는 :
    상기 제 1 문자와 상기 결정된 문자의 조합을 언어 참조 (language reference) 와 대조하는 단계; 및
    상기 언어 참조에서 발견된 상기 제 1 문자와 상기 이전에 결정된 문자들의 조합의 대략적인 매치들 (approximate matches) 에 적어도 부분적으로 기초하여 상기 제 1 문자에 랭크를 제공하는 단계를 더 포함하는, 문자들의 인식 방법.
  16. 제 1 항에 있어서,
    상기 터치-기반 인터페이스 내의 상기 스트로크들의 수직 포지션들, 상기 스트로크들이 수신되었던 때에 관한 타이밍 정보, 상기 스트로크들 간의 수직 간격, 및 상기 스트로크들 간의 수평 간격에 적어도 부분적으로 기초하여 상기 연속적인 스트로크들의 상기 제 1 서브세트에 상기 연속적인 스트로크들 중 어느 스트로크들을 포함할지를 결정하는 단계를 더 포함하는, 문자들의 인식 방법.
  17. 제 16 항에 있어서,
    상기 스트로크들의 상기 제 1 서브세트는 임계 레벨 이하의 개수의 스트로크들을 포함하는, 문자들의 인식 방법.
  18. 제 1 항에 있어서,
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현의 디스플레이를 바꾸는 단계는 :
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현의 디스플레이를 페이딩하는 단계를 더 포함하는, 문자들의 인식 방법.
  19. 프로그램가능한 프로세서로 하여금 동작들을 수행하게 하기 위한 명령들을 포함하는 유형의 컴퓨터 판독가능 매체로서,
    상기 명령들은,
    컴퓨팅 디바이스의 터치-기반 인터페이스에서 연속적인 스트로크들에 관한 터치-기반 입력을 수신하는 것으로서, 상기 연속적인 스트로크들의 제 1 서브세트는 상기 터치-기반 인터페이스의 제 1 그래픽 영역에 대응하고, 상기 연속적인 스트로크들의 제 2 서브세트는 상기 제 1 그래픽 영역을 적어도 부분적으로 오버랩하는 상기 터치-기반 인터페이스의 제 2 그래픽 영역에 대응하는, 상기 터치-기반 입력을 수신하는 것;
    상기 컴퓨팅 디바이스에 커플링된 출력 디바이스 상에 상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 디스플레이하는 것;
    상기 연속적인 스트로크들의 상기 제 1 서브세트가 적어도 제 1 신뢰 임계값에 의해 제 1 문자에 대응한다는 것을 결정하는 것;
    상기 연속적인 스트로크들의 상기 제 1 서브세트가 상기 제 1 문자에 대응한다는 결정에 기초하여 상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 바꾸는 것; 및
    상기 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 의한 프로세싱을 위해 상기 제 1 문자를 제공하는 것으로서, 상기 애플리케이션은 터치-기반 입력으로부터의 문자들을 프로세싱하도록 설계되는, 상기 제 1 문자를 제공하는 것을 포함하는, 유형의 컴퓨터 판독가능 매체.
  20. 하나 이상의 프로세서들;
    텍스트 정보 (textual information) 와 관련된 연속적인 스트로크들의 터치-기반 사용자 입력을 수신하기 위한 입력 디바이스로서, 상기 연속적인 스트로크들은 상기 입력 디바이스의 제 1 영역에 대응하는 스트로크들의 제 1 서브세트 및 상기 스트로크들의 제 1 서브세트를 적어도 부분적으로 오버랩하는 상기 입력 디바이스의 제 2 영역에 대응하는 스트로크들의 제 2 서브세트를 포함하는, 상기 입력 디바이스;
    상기 연속적인 스트로크들 중 어느 스트로크들이 상기 연속적인 스트로크들의 상기 제 1 서브세트에 들어가는지를 결정하고, 상기 연속적인 스트로크들의 상기 제 1 서브세트가 제 1 문자에 대응한다는 것을 결정하는 수단; 및
    상기 연속적인 스트로크들의 상기 제 1 서브세트의 그래픽 표현을 디스플레이하기 위한 출력 디바이스로서, 상기 출력 디바이스는, 상기 연속적인 스트로크들의 상기 제 1 서브세트가 상기 제 1 문자에 대응한다는 결정에 기초하여 상기 그래픽 표현을 바꾸는, 상기 출력 디바이스를 포함하며,
    상기 출력 디바이스는 또한 상기 문자를 출력하는, 컴퓨팅 디바이스.
KR1020120062898A 2011-06-13 2012-06-12 텍스트 사용자 입력을 오버랩하기 위한 문자 인식 KR101417286B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13/158,795 US8094941B1 (en) 2011-06-13 2011-06-13 Character recognition for overlapping textual user input
US13/158,795 2011-06-13
US13/250,746 US8094942B1 (en) 2011-06-13 2011-09-30 Character recognition for overlapping textual user input
US13/250,746 2011-09-30
US13/345,311 2012-01-06
US13/345,311 US8363949B2 (en) 2011-06-13 2012-01-06 Character recognition for overlapping textual user input

Publications (2)

Publication Number Publication Date
KR20130000327A true KR20130000327A (ko) 2013-01-02
KR101417286B1 KR101417286B1 (ko) 2014-07-08

Family

ID=45419180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120062898A KR101417286B1 (ko) 2011-06-13 2012-06-12 텍스트 사용자 입력을 오버랩하기 위한 문자 인식

Country Status (6)

Country Link
US (4) US8094941B1 (ko)
JP (1) JP2013004095A (ko)
KR (1) KR101417286B1 (ko)
CN (1) CN102855082B (ko)
AU (1) AU2012203340B2 (ko)
DE (1) DE202012005717U1 (ko)

Families Citing this family (43)

* 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
US8463731B2 (en) * 2010-02-17 2013-06-11 Google Inc. Translating user interaction with a touch screen into text
CN102156608B (zh) * 2010-12-10 2013-07-24 上海合合信息科技发展有限公司 多字符连续书写的手写输入方法
US8094941B1 (en) * 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
US20140002376A1 (en) * 2012-06-29 2014-01-02 Immersion Corporation Method and apparatus for providing shortcut touch gestures with haptic feedback
DE102012020610A1 (de) * 2012-10-19 2014-04-24 Audi Ag Kraftwagen mit einem Handschrifterkennungssystem
WO2014089669A1 (en) * 2012-12-13 2014-06-19 Blackberry Limited Handwriting-initiated search
JP2014127188A (ja) * 2012-12-27 2014-07-07 Toshiba Corp 整形装置及び方法
US20140210829A1 (en) * 2013-01-31 2014-07-31 Kabushiki Kaisha Toshiba Electronic apparatus and handwritten document processing method
KR102206373B1 (ko) * 2013-02-22 2021-01-22 삼성전자주식회사 터치스크린에서 필기 입력을 통한 컨텐츠 작성 방법 및 장치
EP2770443B1 (en) * 2013-02-22 2023-10-18 Samsung Electronics Co., Ltd. Method and apparatus for making contents through writing input on touch screen
KR20140110356A (ko) * 2013-03-07 2014-09-17 삼성전자주식회사 입력 장치, 디스플레이 장치 및 그 제어 방법
FR3005175B1 (fr) 2013-04-24 2018-07-27 Myscript Systeme de synchronisation permanente pour la saisie manuscrite
US9116871B2 (en) 2013-05-20 2015-08-25 Microsoft Technology Licensing, Llc Ink to text representation conversion
WO2014200736A1 (en) * 2013-06-09 2014-12-18 Apple Inc. Managing real - time handwriting recognition
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
US9727535B2 (en) 2013-06-11 2017-08-08 Microsoft Technology Licensing, Llc Authoring presentations with ink
US9489114B2 (en) * 2013-06-24 2016-11-08 Microsoft Technology Licensing, Llc Showing interactions as they occur on a whiteboard
EP3014389A4 (en) * 2013-06-25 2016-12-21 Thomson Licensing METHOD AND DEVICE FOR CHARACTER INPUT
KR20150017977A (ko) * 2013-08-08 2015-02-23 삼성전자주식회사 지능적 정보 제공 방법 및 장치
KR20150018127A (ko) 2013-08-09 2015-02-23 삼성전자주식회사 디스플레이 장치 및 그 방법
US20150046294A1 (en) * 2013-08-09 2015-02-12 Samsung Electronics Co., Ltd. Display apparatus, the method thereof and item providing method
US9411508B2 (en) * 2014-01-03 2016-08-09 Apple Inc. Continuous handwriting UI
US9384403B2 (en) 2014-04-04 2016-07-05 Myscript System and method for superimposed handwriting recognition technology
US9524440B2 (en) 2014-04-04 2016-12-20 Myscript System and method for superimposed handwriting recognition technology
CN105095924A (zh) * 2014-04-25 2015-11-25 夏普株式会社 手写识别方法和设备
EP3105661A1 (en) 2014-06-24 2016-12-21 Apple Inc. Character recognition on a computing device
CN104238811A (zh) * 2014-08-21 2014-12-24 小米科技有限责任公司 字符识别方法及装置
DE202015006141U1 (de) * 2014-09-02 2015-12-14 Apple Inc. Elektronische Touch-Kommunikation
US10489051B2 (en) * 2014-11-28 2019-11-26 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof
USD771703S1 (en) * 2014-12-30 2016-11-15 Sony Corporation Portion of display panel or screen with icon
JP6399217B2 (ja) * 2015-05-14 2018-10-03 富士通株式会社 文字認識方法、文字認識装置及び文字認識プログラム
US10402734B2 (en) 2015-08-26 2019-09-03 Google Llc Temporal based word segmentation
US10410316B2 (en) * 2015-12-08 2019-09-10 Myscript System and method for beautifying digital ink
KR102482850B1 (ko) * 2016-02-15 2022-12-29 삼성전자 주식회사 전자 장치 및 전자 장치의 필체 교정 기능 제공 방법
US10248635B2 (en) * 2016-02-29 2019-04-02 Myscript Method for inserting characters in a character string and the corresponding digital service
US10146759B2 (en) * 2016-03-24 2018-12-04 Microsoft Technology Licensing, Llc Controlling digital input
DK179329B1 (en) * 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
US10579893B2 (en) 2017-02-28 2020-03-03 Konica Minolta Laboratory U.S.A., Inc. Inferring stroke information from an image
US10163004B2 (en) * 2017-03-30 2018-12-25 Konica Minolta Laboratory U.S.A., Inc. Inferring stroke information from an image
CN108733304A (zh) * 2018-06-15 2018-11-02 蒋渊 一种自动识别及处理手写字符方法、装置
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
CN117197828A (zh) * 2023-08-11 2023-12-08 中国银行保险信息技术管理有限公司 票据信息识别方法、装置、介质及设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272470A (en) 1991-10-10 1993-12-21 International Business Machines Corporation Apparatus and method for reducing system overhead while inking strokes in a finger or stylus-based input device of a data processing system
US5903668A (en) * 1992-05-27 1999-05-11 Apple Computer, Inc. Method and apparatus for recognizing handwritten words
JPH0916709A (ja) * 1995-06-29 1997-01-17 Just Syst Corp 文字認識表示システムおよび方法
JPH0950433A (ja) * 1995-08-10 1997-02-18 Hitachi Ltd 手書き文字認識装置
US5970171A (en) * 1995-08-14 1999-10-19 Hughes Aircraft Company Apparatus and method of fusing the outputs of multiple intelligent character recognition (ICR) systems to reduce error rate
US5850480A (en) * 1996-05-30 1998-12-15 Scan-Optics, Inc. OCR error correction methods and apparatus utilizing contextual comparison
US5966460A (en) * 1997-03-03 1999-10-12 Xerox Corporation On-line learning for neural net-based character recognition systems
JP3419251B2 (ja) * 1997-06-05 2003-06-23 三菱電機株式会社 文字認識装置及び文字認識方法
US6292857B1 (en) 1997-06-05 2001-09-18 Microsoft Corporation Method and mechanism for coordinating input of asynchronous data
AU3402399A (en) * 1998-04-24 1999-11-16 Natural Input Solutions Inc. Pen based edit correction interface method and apparatus
US6970599B2 (en) * 2002-07-25 2005-11-29 America Online, Inc. Chinese character handwriting recognition system
CN1361885A (zh) * 1999-05-27 2002-07-31 阿列克谢·附拉基米罗维奇·阿夫亚纳斯耶夫 向计算机装置输入信息的方法、粘贴键盘和使用该方法的计算机装置
US6681044B1 (en) * 2000-03-29 2004-01-20 Matsushita Electric Industrial Co., Ltd. Retrieval of cursive Chinese handwritten annotations based on radical model
US7142715B2 (en) 2003-01-17 2006-11-28 Sakhr Software Company Arabic handwriting recognition using feature matching
WO2004097722A1 (ja) * 2003-05-02 2004-11-11 Fujitsu Limited 手書き文字入力装置および手書き文字入力処理方法
DE60302875T2 (de) 2003-05-08 2006-07-06 Orange S.A. Datenverarbeitungsgerät und -verfahren
US7764837B2 (en) * 2004-09-01 2010-07-27 Hewlett-Packard Development Company, L.P. System, method, and apparatus for continuous character recognition
US7752561B2 (en) 2005-03-15 2010-07-06 Microsoft Corporation Method and system for creating temporary visual indicia
US7865018B2 (en) * 2005-06-02 2011-01-04 Microsoft Corporation Personalized implicit and explicit character shape adaptation and recognition
US20080008387A1 (en) * 2006-07-06 2008-01-10 Cheng Yi-Hsun E Method and apparatus for recognition of handwritten symbols
US7480411B1 (en) * 2008-03-03 2009-01-20 International Business Machines Corporation Adaptive OCR for books
US8610672B2 (en) 2008-04-10 2013-12-17 Nokia Corporation Device and method for stroke based graphic input
CN101853126B (zh) * 2010-05-12 2012-02-15 中国科学院自动化研究所 一种联机手写句子实时识别方法
US8094941B1 (en) * 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input

Also Published As

Publication number Publication date
CN102855082A (zh) 2013-01-02
DE202012005717U1 (de) 2012-11-15
US8879845B2 (en) 2014-11-04
JP2013004095A (ja) 2013-01-07
US8094942B1 (en) 2012-01-10
US8094941B1 (en) 2012-01-10
US8363949B2 (en) 2013-01-29
KR101417286B1 (ko) 2014-07-08
US20120327105A1 (en) 2012-12-27
AU2012203340B2 (en) 2014-06-26
AU2012203340A1 (en) 2013-01-10
US20130162553A1 (en) 2013-06-27
CN102855082B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
KR101417286B1 (ko) 텍스트 사용자 입력을 오버랩하기 위한 문자 인식
EP2535844A2 (en) Character recognition for overlapping textual user input
CN109120511B (zh) 基于特征的自动校正方法、计算设备和***
US10664695B2 (en) System and method for managing digital ink typesetting
US9542385B2 (en) Incremental multi-word recognition
US10606474B2 (en) Touch screen finger tracing device
US10095405B2 (en) Gesture keyboard input of non-dictionary character strings
US8701050B1 (en) Gesture completion path display for gesture-based keyboards
US11354503B2 (en) Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof
US10846602B2 (en) Temporal based word segmentation
US20150169212A1 (en) Character Recognition Using a Hybrid Text Display
KR20130010252A (ko) 가상 키보드 크기 조절 장치 및 방법
KR101275040B1 (ko) 자유선 입력 기반의 전자 문서 구동 장치 및 방법
WO2018053695A1 (zh) 基于压力来选择附加符号
KR20060046392A (ko) 아시아 언어들을 위한 수기 입력
JP2018018366A (ja) 情報処理装置、文字入力プログラムおよび文字入力方法

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: 20170615

Year of fee payment: 4