KR102221079B1 - Managing real-time handwriting recognition - Google Patents

Managing real-time handwriting recognition Download PDF

Info

Publication number
KR102221079B1
KR102221079B1 KR1020207016098A KR20207016098A KR102221079B1 KR 102221079 B1 KR102221079 B1 KR 102221079B1 KR 1020207016098 A KR1020207016098 A KR 1020207016098A KR 20207016098 A KR20207016098 A KR 20207016098A KR 102221079 B1 KR102221079 B1 KR 102221079B1
Authority
KR
South Korea
Prior art keywords
recognition
handwriting
user
input
strokes
Prior art date
Application number
KR1020207016098A
Other languages
Korean (ko)
Other versions
KR20200068755A (en
Inventor
메이-쿤 지아
자네스 쥐. 돌핑
라이언 에스. 딕슨
칼 엠. 그로에세
카란 미스라
제롬 알. 벨레가르다
우엘리 마이어
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/290,935 external-priority patent/US9898187B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Priority to KR1020217005264A priority Critical patent/KR102347064B1/en
Priority claimed from US14/291,865 external-priority patent/US9495620B2/en
Priority claimed from US14/292,138 external-priority patent/US20140361983A1/en
Priority claimed from US14/291,722 external-priority patent/US20140363082A1/en
Publication of KR20200068755A publication Critical patent/KR20200068755A/en
Application granted granted Critical
Publication of KR102221079B1 publication Critical patent/KR102221079B1/en

Links

Images

Classifications

    • G06K9/00859
    • 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
    • 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/2264Character recognition characterised by the type of writing of cursive writing using word shape
    • 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
    • G06K2209/01
    • G06K2209/011
    • G06K2209/013
    • 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
    • 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/28Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
    • G06V30/287Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
    • 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/28Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
    • G06V30/293Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of characters other than Kanji, Hiragana or Katakana

Abstract

사용자 디바이스 상에서 필기 입력 기능을 제공하기 위한 기법에 관련된 방법, 시스템, 및 컴퓨터 판독가능 매체가 제공된다. 필기 인식 모듈은 단일 필기 인식 모델을 사용하여 수만의 문자들을 인식할 수 있고 다수의 비중첩 스크립트들을 포함하는 레퍼토리(repertoire)를 갖도록 훈련된다. 필기 입력 모듈은 다문자 필기 입력을 위해 실시간, 획 순서 및 획 방향에 독립적인 필기 인식을 제공한다. 특히, 실시간, 획 순서 및 획 방향에 독립적인 필기 인식은 다문자 또는 문장 수준의 중국어 필기 인식을 위해 제공된다. 필기 입력 기능을 제공하기 위한 사용자 인터페이스들이 또한 개시되어 있다.Methods, systems, and computer-readable media related to techniques for providing handwriting input functionality on a user device are provided. The handwriting recognition module can recognize tens of thousands of characters using a single handwriting recognition model and is trained to have a repertoire containing multiple non-overlapping scripts. The handwriting input module provides real-time, stroke order and stroke direction independent handwriting recognition for multi-character handwriting input. In particular, handwriting recognition independent of real-time, stroke order and stroke direction is provided for multi-character or sentence level Chinese handwriting recognition. User interfaces for providing handwriting input functionality are also disclosed.

Description

실시간 필기 인식 관리{MANAGING REAL-TIME HANDWRITING RECOGNITION}Real-time handwriting recognition management {MANAGING REAL-TIME HANDWRITING RECOGNITION}

본 발명은 컴퓨팅 디바이스 상에서 필기 입력 기능을 제공하는 것에 관한 것이며, 보다 구체적으로는, 컴퓨팅 디바이스 상에서 실시간, 멀티스크립트, 획 순서 독립적인 필기 인식 및 입력 기능을 제공하는 것에 관한 것이다.The present invention relates to providing a handwriting input function on a computing device, and more particularly, to providing a real-time, multi-script, stroke order independent handwriting recognition and input function on a computing device.

필기 입력 방법은 터치 감응 표면들(예컨대, 터치 감응 디스플레이 스크린들 또는 터치 패드들)을 구비한 컴퓨팅 디바이스들에 대한 중요한 대안적인 입력 방법이다. 수많은 사용자들, 특히 일부 아시아 또는 아랍 국가들의 사용자들은 초서체로 쓰는 것에 익숙하고, 키보드로 타이핑하는 것에 대조적으로 손으로 쓰는 것을 편안하게 느낄 수도 있다.The handwriting input method is an important alternative input method for computing devices with touch sensitive surfaces (eg, touch sensitive display screens or touch pads). Numerous users, especially in some Asian or Arab countries, are accustomed to writing in cursive, and may feel comfortable writing by hand as opposed to typing on the keyboard.

한지(Hanzi) 및 간지(Kanji)(한자라고도 함)와 같은 소정 표어 기입 시스템(logographic writing system)들의 경우, 대응하는 표어 기입 시스템들의 문자들을 입력하기 위해 대안적인 음절 입력 방법들(예컨대, 핀인(Pinyin) 또는 가나(Kana))이 이용 가능할지라도, 그러한 음절 입력 방법들은 사용자가 표어 문자를 표음식으로 철자하는 방식을 알지 못하고 표어 문자의 부정확한 표음식 철자를 사용할 때 적절하지 않다. 따라서, 컴퓨팅 디바이스 상에서 필기 입력을 사용할 수 있는지는, 관련 표어 기입 시스템에 대해 단어들을 충분히 잘 발음할 수 없거나 전혀 발음할 수 없는 사용자들에게 중요해진다.For certain logographic writing systems such as Hanzi and Kanji (also known as Chinese characters), alternative syllable input methods (e.g., Pinyin ( Although Pinyin) or Kana) are available, such syllable input methods are not appropriate when the user does not know how to spell the catchword letter as a catword and uses the incorrect catword spelling of the catchword letter. Therefore, whether handwriting input can be used on a computing device becomes important for users who cannot pronounce words well enough or cannot pronounce words at all for the relevant slogan writing system.

필기 입력 기능이 세계의 소정 지역들에서 일부 인기를 얻고 있지만, 개선이 여전히 필요하다. 특히, 사람의 필기는 (예컨대, 획 순서, 크기, 서체 등의 관점에서) 매우 다양하고, 고품질의 필기 인식 소프트웨어는 복잡하며 광범위한 훈련을 필요로 한다. 이와 같이, 제한된 메모리를 갖는 모바일 디바이스 상에서 효율적인 실시간 필기 인식을 제공하고 자원들을 산출하는 것이 과제로 되어 왔다.Although the handwriting input function is gaining some popularity in certain regions of the world, improvements are still needed. In particular, human handwriting is very diverse (eg, in terms of stroke order, size, typeface, etc.), and high-quality handwriting recognition software is complex and requires extensive training. As such, it has been a challenge to provide efficient real-time handwriting recognition and to calculate resources on a mobile device having a limited memory.

또한, 오늘날의 다문화 세계에서는, 여러 국가들의 사용자들이 여러 언어를 사용하고, 종종 하나 초과의 스크립트로 기입(예컨대, 영어로 된 영화 제목을 언급하는 메시지를 중국어로 기입)하는 것이 필요할 수 있다. 그러나, 기입 도중에 인식 시스템을 원하는 스크립트 또는 언어로 수동으로 전환하는 것은 번잡하고 비효율적이다. 또한, 다중 스크립트들을 동시에 취급하기 위해 디바이스의 인식 능력을 확대시키는 것은 컴퓨터 자원들에 대한 요구 및 인식 시스템의 복잡도를 크게 증가시키기 때문에, 종래의 멀티스크립트 필기 인식 기법들의 유용성은 심각하게 제한되어 있다.In addition, in today's multicultural world, users from different countries speak multiple languages, and it may often be necessary to write in more than one script (eg, write in Chinese a message referring to a movie title in English). However, it is cumbersome and inefficient to manually switch the recognition system to the desired script or language during writing. In addition, since expanding the recognition capability of a device to handle multiple scripts at the same time greatly increases the complexity of the recognition system and the demand for computer resources, the usefulness of conventional multi-script handwriting recognition techniques is severely limited.

추가로, 종래의 필기 기법들은 인식 정확도를 달성하기 위해 언어 또는 스크립트-특정 특수성들에 크게 의존한다. 그러한 특수성들은 다른 언어들 또는 스크립트들에 대해 쉽게 호환성이 없다. 그리하여, 새로운 언어들 또는 스크립트들에 대한 필기 입력 능력들을 추가하는 것은 디바이스들 및 소프트웨어의 공급자들에 의해 가볍게 수행되지 않는 힘든 일이다. 결과적으로, 수많은 언어들의 사용자들은 그들의 전자 디바이스들에 대한 중요한 대안적인 입력 방법을 잃었다.Additionally, conventional handwriting techniques rely heavily on language or script-specific specificities to achieve recognition accuracy. Such specialties are not easily compatible with other languages or scripts. Thus, adding handwriting input capabilities for new languages or scripts is a hard work that is not done lightly by suppliers of devices and software. As a result, users of numerous languages have lost an important alternative input method for their electronic devices.

필기 입력을 제공하기 위한 종래의 사용자 인터페이스들은 사용자로부터 필기 입력을 허용하기 위한 영역 및 필기 인식 결과들을 디스플레이하기 위한 영역을 포함한다. 소형 폼 팩터를 갖는 휴대용 디바이스들에 대해, 일반적으로 효율, 정확도 및 사용자 경험을 개선시키기 위해 사용자 인터페이스의 현저한 개선이 여전히 필요하다.Conventional user interfaces for providing handwriting input include an area for allowing handwriting input from a user and an area for displaying handwriting recognition results. For portable devices with a small form factor, there is still a need for significant improvements in the user interface to improve efficiency, accuracy and user experience in general.

본 명세서는 보편적인 인식기(universal recognizer)를 사용하여 멀티스크립트 필기 인식을 제공하기 위한 기법을 설명한다. 보편적인 인식기는 상이한 언어들 및 스크립트들로 문자들에 대한 기입 샘플들의 대형 멀티스크립트 코퍼스(large multi-script corpus)를 사용하여 훈련된다. 보편적인 인식기의 훈련은 언어 독립적이며, 스크립트 독립적이며, 획 순서 독립적이며, 그리고 획 방향 독립적이다. 그리하여, 동일한 인식기는 사용 동안 입력 언어들 사이의 수동 전환을 요구하지 않고 혼합 언어, 혼합 스크립트의 필기 입력을 인식할 수 있다. 추가로, 보편적인 인식기는 전세계의 상이한 지역들에서 사용되는 상이한 언어들 및 스크립트들에서의 필기 입력을 가능하게 하기 위해 모바일 디바이스들 상에서 독립형 모듈로서 전개되기에 충분히 경량이다.This specification describes a technique for providing multiscript handwriting recognition using a universal recognizer. A universal recognizer is trained using a large multi-script corpus of writing samples for characters in different languages and scripts. Training of universal recognizers is language independent, script independent, stroke order independent, and stroke direction independent. Thus, the same recognizer can recognize handwritten input of mixed languages, mixed scripts without requiring manual switching between input languages during use. Additionally, the universal recognizer is lightweight enough to be deployed as a standalone module on mobile devices to enable handwriting input in different languages and scripts used in different regions of the world.

또한, 보편적인 인식기는 획 순서 독립적이며 획 방향 독립적인 공간-유도 특징부(spatially-derived feature)들에 대해 훈련되고, 획 레벨(stroke-level)에서 어떠한 시간적인 또는 시퀀스 정보도 요구하지 않기 때문에, 보편적인 인식기는 종래의 시간-기반 인식 방법들(예컨대, 은닉 마르코프 방법(Hidden Markov Method, HMM)에 기초한 인식 방법)에 비해 수많은 추가적인 특징들 및 이점들을 제공한다. 예를 들어, 사용자는 하나 이상의 문자들, 어구들, 및 문장들의 획들을 임의의 순서로 입력하여 동일한 인식 결과들을 여전히 획득하는 것이 허용된다. 그리하여, 비순서적인 다문자 입력, 및 먼저 입력된 문자들의 비순서적인 수정들(예컨대, 추가 또는 고쳐 쓰기)이 이제 가능하다.Also, since a universal recognizer is trained on stroke order independent and spatially-derived features independent of stroke direction, it does not require any temporal or sequence information at the stroke-level. , The universal recognizer provides a number of additional features and advantages over conventional time-based recognition methods (eg, a recognition method based on the Hidden Markov Method (HMM)). For example, a user is allowed to enter one or more characters, phrases, and strokes of sentences in any order to still obtain the same recognition results. Thus, out-of-order multi-character input, and out-of-order modifications (eg, addition or rewriting) of previously entered characters are now possible.

게다가, 보편적인 인식기는 실시간 필기 인식을 위해 사용되고, 여기서 보편적인 인식기에 의해 문자 인식이 수행되기 전에 필기 입력을 명확화 또는 분할(segment)하기 위해 각 획에 대한 시간 정보가 이용 가능하며 선택적으로 사용된다. 본 명세서에 설명되는 실시간, 획 순서 독립적인 인식은 종래의 오프라인 인식 방법들(예컨대, 광학적 문자 인식(OCR))과 상이하고, 종래의 오프라인 인식 방법들보다 더 양호한 성능을 제공할 수 있다. 또한, 본 명세서에 설명되는 보편적인 인식기는 인식 시스템에서의 상이한 변동들(예컨대, 속도, 템포, 획 순서, 획 방향, 획 연속성 등에서의 변동들)의 구별되는 특징들을 명시적으로 내장하지 않고서 개인적인 기입 습관들의 높은 가변성(예컨대, 속도, 템포, 획 순서, 획 방향, 획 연속성 등에서의 가변성)을 취급함으로써, 인식 시스템의 전체적인 복잡성을 저감시킬 수 있다.In addition, a universal recognizer is used for real-time handwriting recognition, where time information for each stroke is available and optionally used to clarify or segment the handwriting input before character recognition is performed by the universal recognizer. . The real-time, stroke order independent recognition described herein is different from conventional offline recognition methods (eg, optical character recognition (OCR)) and may provide better performance than conventional offline recognition methods. In addition, the universal recognizer described herein does not explicitly embed distinct features of different variations in the recognition system (e.g., variations in speed, tempo, stroke order, stroke direction, stroke continuity, etc.). By handling the high variability of writing habits (eg, variability in speed, tempo, stroke order, stroke direction, stroke continuity, etc.), the overall complexity of the recognition system can be reduced.

본 명세서에 설명되는 바와 같이, 일부 실시예들에서, 시간-유도 획 분포 정보가 선택적으로 보편적인 인식기로 재도입되어 동일한 입력 이미지에 대한 유사해 보이는 인식 출력들 사이를 명확화하고 인식 정확도를 높인다. 시간-유도 특징부(temporally-derived feature)들 및 공간-유도 특징부들이 별도의 훈련 프로세스를 통하여 획득되고 별도의 훈련이 완료된 후에 필기 인식 모델에서만 조합되기 때문에, 시간-유도 획 분포 정보의 재도입은 보편적인 인식기의 획 순서 및 획 방향 독립성을 손상시키지 않는다. 게다가, 시간-유도 획 분포 정보는, 유사해 보이는 문자들의 획 순서들의 차이들에 대한 명시적 지식에 의존하지 않고서, 유사해 보이는 문자들의 구별되는 시간 특성들을 캡처하도록 세심하게 설계된다.As described herein, in some embodiments, the time-induced stroke distribution information is optionally reintroduced into a universal recognizer to clarify between similar-looking recognition outputs for the same input image and increase recognition accuracy. Since temporally-derived features and space-derived features are acquired through a separate training process and are combined only in the handwriting recognition model after separate training is completed, reintroduction of time-derived stroke distribution information Does not impair the independence of stroke order and stroke direction of universal recognizers. In addition, the time-induced stroke distribution information is carefully designed to capture distinct temporal characteristics of similar-looking characters, without relying on explicit knowledge of the differences in stroke orders of similar-looking characters.

필기 입력 기능을 제공하기 위한 사용자 인터페이스들이 또한 본 명세서에 설명된다.User interfaces for providing handwriting input functionality are also described herein.

일부 실시예들에서, 멀티스크립트 필기 인식을 제공하는 방법은, 멀티스크립트 훈련 코퍼스(multi-script training corpus)의 공간-유도 특징부들에 기초하여 멀티스크립트 필기 인식 모델을 훈련시키는 단계 - 멀티스크립트 훈련 코퍼스는 적어도 3개의 비중첩 스크립트들의 문자들에 대응하는 개별 필기 샘플들을 포함함 -; 및 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들에 대해 훈련된 멀티스크립트 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공하는 단계를 포함한다.In some embodiments, a method of providing multi-script handwriting recognition comprises: training a multi-script handwriting recognition model based on space-derived features of a multi-script training corpus-multi-script training corpus. Contains individual handwriting samples corresponding to characters of at least three non-overlapping scripts; And providing real-time handwriting recognition for the user's handwriting input using the multiscript handwriting recognition model trained on the space-guided features of the multiscript training corpus.

일부 실시예들에서, 멀티스크립트 필기 인식을 제공하는 방법은, 멀티스크립트 필기 인식 모델을 수신하는 단계 - 멀티스크립트 인식 모델은 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들에 대해 훈련되었고, 멀티스크립트 훈련 코퍼스는 적어도 3개의 비중첩 스크립트들의 문자들에 대응하는 개별 필기 샘플들을 포함함 -; 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 사용자 디바이스에 결합된 터치 감응 표면 상에서 제공되는 하나 이상의 필기 획들을 포함함 -; 및 필기 입력을 수신하는 것에 응답하여, 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들에 대해 훈련된 멀티스크립트 필기 인식 모델에 기초한 하나 이상의 필기 인식 결과들을 사용자에게 실시간으로 제공하는 단계를 포함한다.In some embodiments, a method of providing multiscript handwriting recognition comprises receiving a multiscript handwriting recognition model-the multiscript recognition model has been trained on the space-derived features of the multiscript training corpus, and the multiscript training corpus Contains individual handwriting samples corresponding to characters of at least three non-overlapping scripts; Receiving a handwriting input from a user, the handwriting input comprising one or more handwritten strokes provided on a touch-sensitive surface coupled to the user device; And in response to receiving the handwriting input, providing the user with one or more handwriting recognition results in real time based on the multiscript handwriting recognition model trained on the space-derived features of the multiscript training corpus.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 사용자로부터 복수의 필기 획들을 수신하는 단계 - 복수의 필기 획들은 필기 문자에 대응함 -; 복수의 필기 획들에 기초하여 입력 이미지를 생성하는 단계; 입력 이미지를 필기 인식 모델로 제공하여 필기 문자의 실시간 인식을 수행하는 단계 - 필기 인식 모델은 획 순서에 독립적인 필기 인식을 제공함 -; 및 복수의 필기 획들을 수신하는 것에 실시간으로, 복수의 필기 획들이 사용자로부터 수신된 개별 순서에 상관없이 동일한 제1 출력 문자를 디스플레이하는 단계를 포함한다.In some embodiments, a method of providing real-time handwriting recognition includes receiving a plurality of handwritten strokes from a user, the plurality of handwritten strokes corresponding to the handwritten character; Generating an input image based on the plurality of handwritten strokes; Performing real-time recognition of handwritten characters by providing the input image as a handwriting recognition model-the handwriting recognition model provides handwriting recognition independent of the stroke order -; And in real time upon receiving the plurality of handwritten strokes, displaying the same first output character regardless of the individual order in which the plurality of handwritten strokes were received from the user.

일부 실시예들에서, 본 방법은, 사용자로부터 제2 복수의 필기 획들을 수신하는 단계 - 제2 복수의 필기 획들은 제2 필기 문자에 대응함 -; 제2 복수의 필기 획들에 기초하여 제2 입력 이미지를 생성하는 단계; 제2 입력 이미지를 필기 인식 모델로 제공하여 제2 필기 문자의 실시간 인식을 수행하는 단계; 및 제2 복수의 필기 획들을 수신하는 것에 실시간으로, 제2 복수의 필기 획들에 대응하는 제2 출력 문자를 디스플레이하는 단계를 추가로 포함하고, 제1 출력 문자 및 제2 출력 문자는 제1 복수의 필기 입력들 및 제2 복수의 필기 입력들이 사용자에 의해 제공된 개별 순서에 관계없이 공간 시퀀스에서 동시에 디스플레이된다.In some embodiments, the method includes receiving a second plurality of handwritten strokes from a user, the second plurality of handwritten strokes corresponding to a second handwritten character; Generating a second input image based on the second plurality of handwritten strokes; Performing real-time recognition of a second handwritten character by providing a second input image as a handwriting recognition model; And displaying a second output character corresponding to the second plurality of handwritten strokes in real time upon receiving the second plurality of handwritten strokes, wherein the first output character and the second output character The handwriting inputs of and the second plurality of handwriting inputs are simultaneously displayed in the spatial sequence regardless of the individual order provided by the user.

일부 실시예들에서, 제2 복수의 필기 획들은 사용자 디바이스의 필기 입력 인터페이스의 디폴트 기입 방향을 따라 제1 복수의 필기 획들을 공간적으로 뒤따르고, 제2 출력 문자는 디폴트 기입 방향을 따른 공간 시퀀스에서 제1 출력 문자를 뒤따르고, 본 방법은, 필기 문자를 개정하기 위해 사용자로부터 제3 필기 획을 수신하는 단계 - 제3 필기 획은 시간적으로 제1 복수의 필기 획들 및 제2 복수의 필기 획들 후에 수신됨 -; 제3 필기 획을 수신하는 것에 응답하여, 제1 복수의 필기 획들에 대한 제3 필기 획의 상대적인 근접성에 기초하여 제1 복수의 필기 획들과 동일한 인식 유닛에 필기 획을 배정하는 단계; 제1 복수의 필기 획들 및 제3 필기 획에 기초하여 개정된 입력 이미지를 생성하는 단계; 개정된 입력 이미지를 필기 인식 모델로 제공하여 개정된 필기 문자의 실시간 인식을 수행하는 단계; 및 제3 필기 입력을 수신하는 것에 응답하여, 개정된 입력 이미지에 대응하는 제3 출력 문자를 디스플레이하는 단계 - 제3 출력 문자는 제1 출력 문자를 대신하고 디폴트 기입 방향을 따른 공간 시퀀스에서 제2 출력 문자와 동시에 디스플레이됨 - 를 추가로 포함한다.In some embodiments, the second plurality of handwritten strokes spatially follow the first plurality of handwritten strokes along a default writing direction of the handwriting input interface of the user device, and the second output character is in a spatial sequence along the default writing direction. Following the first output character, the method comprises receiving a third handwritten stroke from the user to revise the handwritten character, the third handwritten stroke temporally after the first plurality of handwritten strokes and the second plurality of handwritten strokes Received -; In response to receiving the third handwritten stroke, assigning the handwritten stroke to the same recognition unit as the first plurality of handwritten strokes based on the relative proximity of the third handwritten stroke to the first plurality of handwritten strokes; Generating a revised input image based on the first plurality of handwritten strokes and the third handwritten stroke; Performing real-time recognition of the revised handwritten character by providing the revised input image as a handwriting recognition model; And in response to receiving the third handwriting input, displaying a third output character corresponding to the revised input image, the third output character replacing the first output character and a second in a spatial sequence along the default writing direction. Displayed at the same time as the output text-additionally includes.

일부 실시예들에서, 본 방법은, 제3 출력 문자 및 제2 출력 문자가 필기 입력 인터페이스의 후보 디스플레이 영역에서 인식 결과로서 동시에 디스플레이되는 동안, 사용자로부터 삭제 입력(deletion input)을 수신하는 단계; 및 삭제 입력에 응답하여, 인식 결과에서 제3 출력 문자를 유지하면서, 인식 결과로부터 제2 출력 문자를 삭제하는 단계를 추가로 포함한다.In some embodiments, the method includes: receiving a deletion input from a user while the third output character and the second output character are simultaneously displayed as a recognition result in a candidate display area of the handwriting input interface; And in response to the deletion input, deleting the second output character from the recognition result while maintaining the third output character in the recognition result.

일부 실시예들에서, 상기 필기 획 각각이 사용자에 의해 제공됨에 따라 필기 입력 인터페이스의 필기 입력 영역에서 제1 복수의 필기 획들, 제2 복수의 필기 획들, 및 제3 필기 획을 실시간으로 렌더링하는 단계; 및 삭제 입력을 수신하는 것에 응답하여, 필기 입력 영역에서 제1 복수의 필기 획들 및 제3 필기 획의 개별 렌더링들을 유지하면서, 필기 입력 영역으로부터 제2 복수의 필기 획들의 개별 렌더링을 삭제하는 단계.In some embodiments, rendering the first plurality of handwritten strokes, the second plurality of handwritten strokes, and the third handwritten stroke in real time in a handwriting input area of a handwriting input interface as each of the handwritten strokes is provided by the user. ; And in response to receiving the deletion input, deleting individual renderings of the second plurality of handwritten strokes from the handwriting input area while maintaining separate renderings of the first plurality of handwritten strokes and the third handwritten stroke in the handwriting input area.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 필기 입력 인터페이스의 필기 입력 영역에서 제공되는 하나 이상의 필기 획들을 포함함 -; 필기 인식 모델에 기초하여, 필기 입력에 대한 복수의 출력 문자들을 식별하는 단계; 사전결정된 분류 기준에 기초하여 복수의 출력 문자들을 2개 이상의 카테고리들로 나누는 단계; 필기 입력 인터페이스의 후보 디스플레이 영역의 초기 시야(initial view)에서, 2개 이상의 카테고리들 중 제1 카테고리 내의 개별 출력 문자들을 디스플레이하는 단계 - 후보 디스플레이 영역의 초기 시야는 후보 디스플레이 영역의 확장 시야(extended view)를 호출하기 위한 어포던스(affordance)를 동시에 구비함 -; 확장 시야를 호출하기 위한 어포던스를 선택하는 사용자 입력을 수신하는 단계; 및 사용자 입력에 응답하여, 후보 디스플레이 영역의 확장 시야에서, 2개 이상의 카테고리들 중 제1 카테고리 내의 개별 출력 문자들 및 후보 디스플레이 영역의 초기 시야에서 사전에 디스플레이되지 않은 적어도 제2 카테고리 내의 개별 출력 문자들을 디스플레이하는 단계를 포함한다.In some embodiments, a method of providing real-time handwriting recognition includes receiving a handwriting input from a user, the handwriting input including one or more handwriting strokes provided in a handwriting input area of the handwriting input interface; Identifying a plurality of output characters for the handwriting input based on the handwriting recognition model; Dividing the plurality of output characters into two or more categories based on a predetermined classification criterion; In the initial view of the candidate display area of the handwriting input interface, displaying individual output characters in the first category among two or more categories-The initial view of the candidate display area is an extended view of the candidate display area. Equipped with the affordance (affordance) for calling) at the same time -; Receiving a user input for selecting an affordance for invoking an extended view; And in response to a user input, in the extended view of the candidate display area, individual output characters in the first category of the two or more categories and individual output characters in at least the second category not previously displayed in the initial view of the candidate display area. And displaying them.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 필기 입력 인터페이스의 필기 입력 영역에서 제공되는 복수의 필기 획들을 포함함 -; 필기 인식 모델에 기초하여, 필기 입력으로부터 복수의 출력 문자들을 인식하는 단계 - 출력 문자들은 자연 인간 언어의 스크립트로부터의 적어도 제1 이모지 캐릭터 및 적어도 제1 문자를 포함함 -; 및 필기 입력 인터페이스의 후보 디스플레이 영역에서 자연 인간 언어의 스크립트로부터의 제1 이모지 캐릭터 및 제1 문자를 포함하는 인식 결과를 디스플레이하는 단계를 포함한다.In some embodiments, a method of providing real-time handwriting recognition includes receiving a handwriting input from a user, the handwriting input comprising a plurality of handwriting strokes provided in a handwriting input area of the handwriting input interface; Recognizing a plurality of output characters from the handwriting input based on the handwriting recognition model, the output characters comprising at least a first emoji character and at least a first character from a script of natural human language; And displaying a recognition result comprising the first emoji character and the first character from the script of natural human language in the candidate display area of the handwriting input interface.

일부 실시예들에서, 필기 인식을 제공하는 방법은, 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 디바이스에 결합된 터치 감응 표면에서 제공되는 복수의 필기 획들을 포함함 -; 필기 입력 인터페이스의 필기 입력 영역에서 복수의 필기 획들을 실시간으로 렌더링하는 단계; 복수의 필기 획들에 대한 핀치 제스처 입력(pinch gesture input) 및 팽창 제스처 입력(expand gesture input) 중 하나를 수신하는 단계; 핀치 제스처 입력을 수신할 시에, 복수의 필기 획들을 단일 인식 유닛으로서 처리함으로써 복수의 필기 획들에 기초하여 제1 인식 결과를 생성하는 단계; 팽창 제스처 입력을 수신할 시에, 복수의 필기 획들을 팽창 제스처 입력에 의해 떼어내진 2개의 별도의 인식 유닛들로서 처리함으로써 복수의 필기 획들에 기초하여 제2 인식 결과를 생성하는 단계; 및 제1 인식 결과 및 제2 인식 결과의 개별 인식 결과를 생성할 시에, 필기 입력 인터페이스의 후보 디스플레이 영역에서 생성된 인식 결과를 디스플레이하는 단계를 포함한다.In some embodiments, a method of providing handwriting recognition includes receiving a handwriting input from a user, the handwriting input comprising a plurality of handwriting strokes provided at a touch-sensitive surface coupled to the device; Rendering a plurality of handwritten strokes in real time in the handwriting input area of the handwriting input interface; Receiving one of a pinch gesture input and an expand gesture input for a plurality of handwritten strokes; Upon receiving the pinch gesture input, generating a first recognition result based on the plurality of handwritten strokes by processing the plurality of handwritten strokes as a single recognition unit; Upon receiving the inflation gesture input, generating a second recognition result based on the plurality of handwritten strokes by processing the plurality of handwritten strokes as two separate recognition units separated by the inflation gesture input; And when generating individual recognition results of the first recognition result and the second recognition result, displaying the recognition result generated in the candidate display area of the handwriting input interface.

일부 실시예들에서, 필기 인식을 제공하는 방법은, 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 필기 입력 인터페이스의 필기 입력 영역에서 제공되는 복수의 필기 획들을 포함함 -; 복수의 필기 획들로부터 복수의 인식 유닛들을 식별하는 단계 - 각 인식 유닛은 복수의 필기 획들의 개별 서브세트를 포함함 -; 복수의 인식 유닛들로부터 인식되는 개별 문자들을 포함하는 다문자 인식 결과를 생성하는 단계; 필기 입력 인터페이스의 후보 디스플레이 영역에서 다문자 인식 결과를 디스플레이하는 단계; 다문자 인식 결과가 후보 디스플레이 영역에서 디스플레이되는 동안, 사용자로부터 삭제 입력을 수신하는 단계; 및 삭제 입력을 수신하는 것에 응답하여, 후보 디스플레이 영역에서 디스플레이되는 다문자 인식 결과로부터 최후 문자(end character)를 제거하는 단계를 포함한다.In some embodiments, a method of providing handwriting recognition includes receiving a handwriting input from a user, the handwriting input comprising a plurality of handwriting strokes provided in a handwriting input area of the handwriting input interface; Identifying a plurality of recognition units from the plurality of handwritten strokes, each recognition unit comprising a separate subset of the plurality of handwritten strokes; Generating a multi-character recognition result including individual characters recognized from a plurality of recognition units; Displaying a multi-character recognition result in a candidate display area of the handwriting input interface; Receiving a deletion input from a user while the multi-character recognition result is displayed in the candidate display area; And in response to receiving the deletion input, removing an end character from the multi-character recognition result displayed in the candidate display area.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 디바이스의 배향을 결정하는 단계; 제1 배향으로 있는 디바이스에 따른 수평 입력 모드에서 디바이스 상에 필기 입력 인터페이스를 제공하는 단계 - 수평 입력 모드에서 입력되는 필기 입력의 개별 라인은 수평 기입 방향을 따라 하나 이상의 개별 인식 유닛들로 분할됨 -; 및 제2 배향으로 있는 디바이스에 따른 수직 입력 모드에서 디바이스 상에 필기 입력 인터페이스를 제공하는 단계 - 수직 입력 모드에서 입력되는 필기 입력의 개별 라인은 수직 기입 방향을 따라 하나 이상의 개별 인식 유닛들로 분할됨 - 를 포함한다.In some embodiments, a method of providing real-time handwriting recognition includes determining an orientation of a device; Providing a handwriting input interface on the device in a horizontal input mode according to the device in the first orientation-Individual lines of handwriting input input in the horizontal input mode are divided into one or more individual recognition units along the horizontal writing direction- ; And providing a handwriting input interface on the device in a vertical input mode according to the device in the second orientation.- Individual lines of handwriting input input in the vertical input mode are divided into one or more individual recognition units along the vertical writing direction. -Includes.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 사용자로부터 필기 입력을 수신하는 단계 - 필기 입력은 디바이스에 결합된 터치 감응 표면 상에서 제공되는 복수의 필기 획들을 포함함 -; 필기 입력 인터페이스의 필기 입력 영역에서 복수의 필기 획들을 렌더링하는 단계; 복수의 필기 획들을 2개 이상의 인식 유닛들로 분할하는 단계 - 각 인식 유닛은 복수의 필기 획들의 개별 서브세트를 포함함 -; 사용자로부터 편집 요청(edit request)을 수신하는 단계; 편집 요청에 응답하여, 필기 입력 영역에서 2개 이상의 인식 유닛들을 시각적으로 구별하는 단계; 및 필기 입력 영역으로부터 2개 이상의 인식 유닛들 각각을 개별적으로 삭제하기 위한 수단을 제공하는 단계를 포함한다.In some embodiments, a method of providing real-time handwriting recognition includes receiving a handwriting input from a user, the handwriting input comprising a plurality of handwriting strokes provided on a touch-sensitive surface coupled to the device; Rendering a plurality of handwritten strokes in the handwriting input area of the handwriting input interface; Dividing the plurality of handwritten strokes into two or more recognition units, each recognition unit comprising a separate subset of the plurality of handwritten strokes; Receiving an edit request from a user; Visually distinguishing two or more recognition units in the handwriting input area in response to the editing request; And providing means for individually deleting each of the two or more recognition units from the handwriting input area.

일부 실시예들에서, 실시간 필기 인식을 제공하는 방법은, 사용자로부터 제1 필기 입력을 수신하는 단계 - 제1 필기 입력은 복수의 필기 획들을 포함하고, 복수의 필기 획들은 필기 입력 인터페이스의 필기 입력 영역과 연관된 개별 기입 방향을 따라 분포되는 다수의 인식 유닛들을 형성함 -; 필기 획이 사용자에 의해 제공됨에 따라 필기 입력 영역에서 복수의 필기 획들 각각을 렌더링하는 단계; 인식 유닛이 완전히 렌더링된 후에 다수의 인식 유닛들 각각에 대한 개별 페이딩 프로세스(fading process)를 시작하는 단계 - 개별 페이딩 프로세스 동안, 제1 필기 입력에서의 인식 유닛의 렌더링이 점점 더 페이딩됨 -; 필기 입력 영역 중에서 다수의 인식 유닛의 페이딩된 인식 유닛에 의해 점유되는 구역 위에서 사용자로부터 제2 필기 입력을 수신하는 단계; 및 제2 필기 입력을 수신하는 것에 응답하여: 필기 입력 영역에서 제2 필기 입력을 렌더링하는 단계; 및 필기 입력 영역으로부터 페이딩된 인식 유닛들 모두를 클리어하는 단계를 포함한다.In some embodiments, the method of providing real-time handwriting recognition includes receiving a first handwriting input from a user-the first handwriting input includes a plurality of handwriting strokes, and the plurality of handwriting strokes is a handwriting input of a handwriting input interface. Forming a plurality of recognition units distributed along individual writing directions associated with the area; Rendering each of the plurality of handwritten strokes in the handwriting input area as the handwritten strokes are provided by the user; Starting a separate fading process for each of the plurality of recognition units after the recognition unit has been fully rendered-during the individual fading process, the rendering of the recognition unit in the first handwriting input gradually fades; Receiving a second handwriting input from a user over an area occupied by the faded recognition units of the plurality of recognition units among the handwriting input areas; And in response to receiving the second handwriting input: rendering the second handwriting input in the handwriting input area; And clearing all of the fading recognition units from the handwriting input area.

일부 실시예들에서, 필기 인식을 제공하는 방법은, 필기 인식 모델의 공간-유도 특징부들의 세트 및 시간-유도 특징부들의 세트를 별도로 훈련시키는 단계 - 공간-유도 특징부들의 세트는 훈련 이미지들의 코퍼스에 대해 훈련되고, 이미지들 각각은 출력 문자 세트의 개별 문자에 대한 필기 샘플의 이미지이며, 시간-유도 특징부들의 세트는 획-분포 프로파일들의 코퍼스에 대해 훈련되고, 각 획-분포 프로파일은 출력 문자 세트의 개별 문자에 대한 필기 샘플에서의 복수의 획들의 공간 분포를 수치적으로 특징지음 -; 필기 인식 모델에서의 공간-유도 특징부들의 세트와 시간-유도 특징부들의 세트를 조합하는 단계; 및 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공하는 단계를 포함한다.In some embodiments, a method of providing handwriting recognition comprises separately training a set of space-derived features and a set of time-directed features of a handwriting recognition model-the set of space-derived features Trained on the corpus, each of the images is an image of a handwritten sample for an individual character in the output character set, a set of time-directed features is trained on the corpus of stroke-distribution profiles, and each stroke-distribution profile is output. Numerically characterizing the spatial distribution of a plurality of strokes in a handwritten sample for individual characters of a character set; Combining the set of space-derived features and the set of temporal-derived features in the handwriting recognition model; And providing real-time handwriting recognition for the user's handwriting input using the handwriting recognition model.

본 명세서에 설명되는 발명 대상의 하나 이상의 실시예들의 상세사항은 첨부 도면 및 하기 설명에서 기술된다. 발명 대상의 다른 특징, 양태, 및 이점은 본 명세서, 도면, 및 청구범위로부터 명백해질 것이다.The details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the specification, drawings, and claims.

도 1은 일부 실시예들에 따른 터치 감응 디스플레이를 갖는 휴대용 다기능 디바이스를 도시하는 블록도이다.
도 2는 일부 실시예들에 따른 터치 감응 디스플레이를 갖는 휴대용 다기능 디바이스를 도시한다.
도 3은 일부 실시예들에 따른 디스플레이 및 터치 감응 표면을 갖는 예시적인 다기능 디바이스의 블록도이다.
도 4는 일부 실시예들에 따른 디스플레이로부터 분리되는 터치 감응 표면을 갖는 다기능 디바이스에 대한 예시적인 사용자 인터페이스를 도시한다.
도 5는 일부 실시예들에 따른 필기 입력 시스템의 동작 환경의 블록도이다.
도 6은 일부 실시예들에 따른 멀티스크립트 필기 인식 모델의 블록도이다.
도 7은 일부 실시예들에 따른 멀티스크립트 필기 인식 모델을 훈련시키기 위한 예시적인 프로세스의 플로차트이다.
도 8a 및 도 8b는 일부 실시예들에 따른 휴대용 다기능 디바이스 상에서의 실시간 멀티스크립트 필기 인식 및 입력을 나타내는 예시적인 사용자 인터페이스들을 도시한다.
도 9a 및 도 9b는 휴대용 다기능 디바이스 상에서의 실시간 멀티스크립트 필기 인식 및 입력을 제공하기 위한 예시적인 프로세스의 플로차트들이다.
도 10a 내지 도 10c는 일부 실시예들에 따른 휴대용 다기능 디바이스 상에서의 실시간 획 순서 독립적인 필기 인식 및 입력을 제공하기 위한 예시적인 프로세스의 플로차트들이다.
도 11a 내지 도 11k는 일부 실시예들에 따른, 후보 디스플레이 영역의 정상 시야(normal view)에서 하나의 카테고리의 인식 결과들을 선택적으로 디스플레이하고, 후보 디스플레이 영역의 확장 시야에서 다른 카테고리들의 인식 결과들을 선택적으로 디스플레이하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 12a 및 도 12b는 일부 실시예들에 따른, 후보 디스플레이 영역의 정상 시야에서 하나의 카테고리의 인식 결과들을 선택적으로 디스플레이하고, 후보 디스플레이 영역의 확장 시야에서 다른 카테고리들의 인식 결과들을 선택적으로 디스플레이하기 위한 예시적인 프로세스의 플로차트들이다.
도 13a 내지 도 13e는 일부 실시예들에 따른 필기 입력을 통하여 이모지 캐릭터들을 입력하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 14는 일부 실시예들에 따른 필기 입력을 통하여 이모지 캐릭터들을 입력하기 위한 예시적인 프로세스의 플로차트이다.
도 15a 내지 도 15k는 일부 실시예들에 따른, 핀치 또는 팽창 제스처를 사용하여 현재 누적된 필기 입력을 하나 이상의 인식 유닛들로 나누는 방식을 필기 입력 모듈에 통지하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 16a 및 도 16b는 일부 실시예들에 따른, 핀치 또는 팽창 제스처를 사용하여 현재 누적된 필기 입력을 하나 이상의 인식 유닛들로 나누는 방식을 필기 입력 모듈에 통지하기 위한 예시적인 프로세스의 플로차트들이다.
도 17a 내지 도 17h는 일부 실시예들에 따른 사용자의 필기 입력의 문자 단위(character-by-character) 삭제를 제공하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 18a 및 도 18b는 일부 실시예들에 따른 사용자의 필기 입력의 문자 단위 삭제를 제공하기 위한 예시적인 프로세스의 플로차트들이다.
도 19a 내지 도 19f는 일부 실시예들에 따른 수직 기입 모드와 수평 기입 모드 사이에서 전환하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 20a 내지 도 20c는 일부 실시예들에 따른 수직 기입 모드와 수평 기입 모드 사이에서 전환하기 위한 예시적인 프로세스의 플로차트들이다.
도 21a 내지 도 21h는 일부 실시예들에 따른, 사용자의 필기 입력에서 식별되는 개별 인식 유닛들을 디스플레이하고 선택적으로 삭제하는 수단을 제공하기 위한 사용자 인터페이스들을 도시한다.
도 22a 및 도 22b는 일부 실시예들에 따른, 사용자의 필기 입력에서 식별되는 개별 인식 유닛들을 디스플레이하고 선택적으로 삭제하는 수단을 제공하기 위한 예시적인 프로세스의 플로차트들이다.
도 23a 내지 도 23l은 일부 실시예들에 따른, 필기 입력 영역에서 기존의 필기 입력 위에 제공되는 새로운 필기 입력을, 기존의 필기 입력에 대해 디스플레이되는 인식 결과를 입력하기 위한 암시적 확인 입력(implicit confirmation input)으로서 이용하기 위한 예시적인 사용자 인터페이스들을 도시한다.
도 24a 및 도 24b은 일부 실시예들에 따른, 필기 입력 영역에서 기존의 필기 입력 위에 제공되는 새로운 필기 입력을, 기존의 필기 입력에 대해 디스플레이되는 인식 결과를 입력하기 위한 암시적 확인 입력으로서 이용하기 위한 예시적인 프로세스의 플로차트들이다.
도 25a 및 도 25b는 일부 실시예들에 따른, 필기 인식 모델의 획 순서 및 획 방향 독립성을 손상시키지 않고서, 공간-유도 특징부들에 기초한 필기 인식 모델로 시간-유도 획 분포 정보를 통합하기 위한 예시적인 프로세스의 플로차트들이다.
도 26은 일부 실시예들에 따른 예시적인 필기 인식 시스템의 공간-유도 특징부들 및 시간-유도 특징부들의 별도의 훈련 및 후속 통합을 예시하는 블록도이다.
도 27은 문자의 획 분포 프로파일을 산출하기 위한 예시적인 방법을 예시하는 블록도이다.
도면 전체에 걸쳐서 동일한 도면 부호들은 대응하는 부분들을 지칭한다.
1 is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.
2 illustrates a portable multifunction device with a touch sensitive display in accordance with some embodiments.
3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.
4 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface separate from a display in accordance with some embodiments.
5 is a block diagram of an operating environment of a handwriting input system according to some embodiments.
6 is a block diagram of a multiscript handwriting recognition model according to some embodiments.
7 is a flowchart of an exemplary process for training a multiscript handwriting recognition model in accordance with some embodiments.
8A and 8B illustrate exemplary user interfaces representing real-time multi-script handwriting recognition and input on a portable multifunction device in accordance with some embodiments.
9A and 9B are flowcharts of an exemplary process for providing real-time multi-script handwriting recognition and input on a portable multifunction device.
10A-10C are flowcharts of an exemplary process for providing real-time stroke order independent handwriting recognition and input on a portable multifunction device in accordance with some embodiments.
11A to 11K illustrate selectively displaying recognition results of one category in a normal view of a candidate display area, and selectively selecting recognition results of other categories in an extended view of the candidate display area, according to some embodiments. Shows exemplary user interfaces for display.
12A and 12B are for selectively displaying recognition results of one category in the normal view of the candidate display area and selectively displaying recognition results of other categories in the extended view of the candidate display area, according to some embodiments. Flowcharts of an exemplary process.
13A-13E illustrate exemplary user interfaces for inputting emoji characters through handwriting input according to some embodiments.
14 is a flowchart of an exemplary process for entering emoji characters through handwriting input in accordance with some embodiments.
15A-15K illustrate exemplary user interfaces for notifying a handwriting input module of how to divide a currently accumulated handwriting input into one or more recognition units using a pinch or inflate gesture, in accordance with some embodiments.
16A and 16B are flowcharts of an exemplary process for notifying a handwriting input module of how to divide a currently accumulated handwriting input into one or more recognition units using a pinch or inflate gesture, in accordance with some embodiments.
17A-17H illustrate exemplary user interfaces for providing character-by-character deletion of a user's handwriting input according to some embodiments.
18A and 18B are flowcharts of an exemplary process for providing character-by-character deletion of a user's handwriting input in accordance with some embodiments.
19A-19F illustrate exemplary user interfaces for switching between a vertical write mode and a horizontal write mode in accordance with some embodiments.
20A-20C are flowcharts of an exemplary process for switching between a vertical write mode and a horizontal write mode in accordance with some embodiments.
21A-21H illustrate user interfaces for providing a means to display and selectively delete individual recognition units identified in a user's handwriting input, according to some embodiments.
22A and 22B are flowcharts of an exemplary process for providing a means to display and selectively delete individual recognition units identified in a user's handwriting input, in accordance with some embodiments.
23A to 23L illustrate an implicit confirmation input for inputting a recognition result displayed for the existing handwriting input into a new handwriting input provided over the existing handwriting input in the handwriting input area, according to some embodiments. input).
24A and 24B illustrate using a new handwriting input provided over an existing handwriting input in the handwriting input area as an implicit confirmation input for inputting a recognition result displayed for the existing handwriting input, according to some embodiments. Flowcharts of an exemplary process for.
25A and 25B are examples for integrating time-induced stroke distribution information into a handwriting recognition model based on space-derived features without impairing the stroke order and stroke direction independence of the handwriting recognition model, according to some embodiments. These are flowcharts of a typical process.
26 is a block diagram illustrating separate training and subsequent integration of spatial- and temporal-induced features of an exemplary handwriting recognition system in accordance with some embodiments.
27 is a block diagram illustrating an exemplary method for calculating a stroke distribution profile of a character.
Like reference numerals refer to corresponding parts throughout the drawings.

많은 전자 디바이스들은 문자 입력을 위한 소프트 키보드들을 갖는 그래픽 사용자 인터페이스들을 갖는다. 일부 전자 디바이스들 상에서, 사용자는 또한 디바이스들에 결합된 터치 감응 표면 또는 터치 감응 디스플레이 스크린 상에 필기를 통해 사용자가 문자들을 입력할 수 있게 하는 필기 입력 인터페이스를 설치하거나 또는 인에이블(enable)할 수 있다. 종래의 필기 인식 입력 방법들 및 사용자 인터페이스들은 여러 문제들 및 단점들을 갖고 있다. 예를 들어,Many electronic devices have graphical user interfaces with soft keyboards for text input. On some electronic devices, the user may also install or enable a handwriting input interface that allows the user to enter characters via handwriting on a touch-sensitive surface or touch-sensitive display screen coupled to the devices. have. Conventional handwriting recognition input methods and user interfaces have several problems and disadvantages. E.g,

Figure 112020057647690-pat00001
일반적으로, 종래의 필기 입력 기능은 언어 단위로 또는 스크립트 단위로 가능하게 된다. 각각의 추가적인 입력 언어는 별도의 저장 공간 및 메모리를 차지하는 별도의 필기 인식 모델의 설치를 요구한다. 상이한 언어들에 대한 필기 인식 모델들을 조합함으로써의 시너지 효과는 거의 제공되지 않으며, 혼합 언어 또는 혼합 스크립트 필기 인식은 종래에는 복잡한 명확화 프로세스로 인해 매우 긴 시간이 걸렸다.
Figure 112020057647690-pat00001
In general, the conventional handwriting input function is enabled in units of languages or scripts. Each additional input language requires the installation of a separate handwriting recognition model that occupies a separate storage space and memory. Synergy by combining handwriting recognition models for different languages is hardly provided, and mixed language or mixed script handwriting recognition has conventionally taken a very long time due to a complex disambiguation process.

Figure 112020057647690-pat00002
또한, 종래의 필기 인식 시스템들은 문자 인식을 위한 언어-특정 또는 스크립트-특정 특성들에 지나치게 의존한다. 혼합 언어 필기 입력의 인식은 부족한 정확도를 가졌다. 게다가, 인식된 언어들의 이용 가능한 조합들은 매우 제한된다. 대부분의 시스템들은 사용자에게 각각의 디폴트가 아닌(non-default) 언어 또는 스크립트에서 필기 입력을 제공하기 전에 원하는 언어-특정 필기 인식기를 수동으로 특정하도록 요구하였다.
Figure 112020057647690-pat00002
In addition, conventional handwriting recognition systems rely too heavily on language-specific or script-specific properties for character recognition. The recognition of mixed language handwriting input had insufficient accuracy. In addition, the available combinations of recognized languages are very limited. Most systems required the user to manually specify the desired language-specific handwriting recognizer before providing handwriting input in each non-default language or script.

Figure 112020057647690-pat00003
수많은 기존의 실시간 필기 인식 모델들은 획 단위(stroke-by-stroke) 레벨 상에서 시간 또는 시퀀스 정보를 요구하며, 이는 문자를 기입할 수 있는 방법의 높은 가변성(예컨대, 서체들 및 개인의 습관들로 인한 획들의 형상, 길이, 템포, 분할, 순서 및 방향에서의 높은 가변성)을 다룰 때 부정확한 인식 결과들을 생성한다. 일부 시스템들은 또한 사용자들에게 필기 입력을 제공할 때 (예컨대, 각 문자 입력의 크기, 시퀀스 및 시간프레임에 대한 고유한 가정들에 의한) 엄밀한 공간 및 시간 기준들을 준수하도록 요구한다. 이들 기준들로부터 벗어나면 수정하기 어려운 부정확한 인식 결과들이 야기되었다.
Figure 112020057647690-pat00003
Many existing real-time handwriting recognition models require time or sequence information on a stroke-by-stroke level, which is due to the high variability of the way characters can be written (e.g., due to fonts and personal habits). High variability in shape, length, tempo, segmentation, order and direction of strokes) produces inaccurate recognition results. Some systems also require users to adhere to strict spatial and temporal standards (eg, due to unique assumptions about the size, sequence, and timeframe of each character input) when providing handwriting input to users. Deviations from these criteria have resulted in inaccurate recognition results that are difficult to correct.

Figure 112020057647690-pat00004
현재, 대부분의 실시간 필기 입력 인터페이스들은 사용자가 한 번에 수 개의 문자들만을 입력하는 것을 허용한다. 긴 어구들 또는 문장들의 입력은 짧은 세그먼트들로 분해되어 별도로 입력된다. 이러한 격식적인 입력은 구성(composition)의 흐름을 유지하기 위해 사용자에게 인지적 부담을 지울 뿐만 아니라, 사용자가 먼저 입력된 문자 또는 어구를 수정 또는 개정하는 것을 어렵게 하기도 한다.
Figure 112020057647690-pat00004
Currently, most real-time handwriting input interfaces allow a user to enter only several characters at a time. Input of long phrases or sentences is divided into short segments and input separately. Such formal input not only places a cognitive burden on the user in order to maintain the flow of the composition, but also makes it difficult for the user to correct or revise the characters or phrases first entered.

하기에 설명되는 실시예들은 이러한 문제들 및 관련 문제들을 다룬다.The embodiments described below address these and related problems.

하기에서 도 1 내지 도 4는 예시적인 디바이스들의 설명을 제공한다. 도 5, 도 6, 도 26 및 도 27은 예시적인 필기 인식 및 입력 시스템들을 예시한다. 도 8a 및 도 8b, 도 11a 내지 도 11k, 도 13a 내지 도 13e, 도 15a 내지 도 15k, 도 17a 내지 도 17h, 도 19a 내지 도19f, 도 21a 내지 도 21h, 도 23a 내지 도 12l은 필기 인식 및 입력을 위한 예시적인 사용자 인터페이스들을 예시한다. 도 7, 도 9a 및 도 9b, 도 10a 내지 도 10c, 도 12a 및 도 12b, 도 14, 도 16a 및 도 16b, 도 18a 및 도 18b, 도 20a 내지 도 20c, 도 22a 및 도 22b, 도 24a 및 도 24b, 그리고 도 25는, 필기 인식 모델들을 훈련시키는 단계, 실시간 필기 인식 결과들을 제공하는 단계, 필기 입력을 입력 및 개정하기 위한 수단을 제공하는 단계, 및 인식 결과를 텍스트 입력으로서 입력하기 위한 수단을 제공하는 단계를 포함하는, 사용자 디바이스들 상에서 필기 인식 및 입력을 가능하게 하는 방법들을 예시하는 플로차트들이다. 도 8a 및 도 8b, 도 11a 내지 도 11k, 도 13a 내지 도 13e, 도 15a 내지 도 15k, 도 17a 내지 도 17h, 도 19a 내지 도19f, 도 21a 내지 도 21h, 도 23a 내지 도 12l에서의 사용자 인터페이스들은 도 7, 도 9a 및 도 9b, 도 10a 내지 도 10c, 도 12a 및 도 12b, 도 14, 도 16a 및 도 16b, 도 18a 및 도 18b, 도 20a 내지 도 20c, 도 22a 및 도 22b, 도 24a 및 도 24b, 그리고 도 25에서의 프로세스들을 예시하기 위해 사용된다.1 to 4 below provide a description of exemplary devices. 5, 6, 26 and 27 illustrate exemplary handwriting recognition and input systems. 8a and 8b, 11a to 11k, 13a to 13e, 15a to 15k, 17a to 17h, 19a to 19f, 21a to 21h, 23a to 12l are handwriting recognition And example user interfaces for input. Figures 7, 9a and 9b, 10a to 10c, 12a and 12b, 14, 16a and 16b, 18a and 18b, 20a to 20c, 22a and 22b, 24a And FIGS. 24B and 25 illustrate training handwriting recognition models, providing real-time handwriting recognition results, providing means for inputting and revising handwriting input, and inputting the recognition results as text input. Flowcharts illustrating methods for enabling handwriting recognition and input on user devices, including providing a means. Users in FIGS. 8A and 8B, 11A to 11K, 13A to 13E, 15A to 15K, 17A to 17H, 19A to 19F, 21A to 21H, and 23A to 12L The interfaces are in Figs. 7, 9A and 9B, 10A to 10C, 12A and 12B, 14, 16A and 16B, 18A and 18B, 20A to 20C, 22A and 22B, 24A and 24B and are used to illustrate the processes in FIG. 25.

예시적인 디바이스들Example devices

이제, 실시예들이 상세하게 참조될 것이며, 실시예들의 예들이 첨부 도면들에 도시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 본 발명의 완전한 이해를 제공하기 위해 기술된다. 그러나, 본 발명이 이들 구체적인 상세사항들 없이 실시될 수 있다는 것은 당업자에게 자명할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 실시예들의 양태들을 불필요하게 이해하기 어렵게 하지 않도록 하기 위해 상세히 설명되지 않았다.Reference will now be made in detail to the embodiments, and examples of the embodiments are shown in the accompanying drawings. In the detailed description that follows, many specific details are set forth to provide a thorough understanding of the invention. However, it will be apparent to a person skilled in the art that the present invention may be practiced without these specific details. In other examples, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

용어들 "제1", "제2" 등이 본 명세서에서 다양한 요소들을 기술하는 데 사용될 수 있지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이들 용어들은 하나의 요소를 다른 요소로부터 구별하는 데에만 사용된다. 예를 들어, 본 발명의 범주로부터 벗어남이 없이, 제1 접촉이 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉이 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉 둘 모두가 접촉들이지만, 그들이 동일한 접촉인 것은 아니다.While the terms “first”, “second”, and the like may be used to describe various elements herein, it will also be understood that these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact, without departing from the scope of the present invention. Both the first contact and the second contact are contacts, but they are not the same contact.

본 명세서에서 본 발명의 설명에 사용되는 용어는 특정 실시예들을 기술하는 목적만을 위한 것이고, 본 발명을 제한하려는 의도는 아니다. 본 발명의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태들("a", "an" 및 "the")은 문맥상 명백히 다르게 나타나지 않는다면 복수의 형태들도 또한 포함하는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 관련 항목들 중 하나 이상의 항목의 임의의 그리고 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 용어들 "포함한다(include)", "포함하는(including)", "포함한다(comprise)", 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 진술되는 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.In the present specification, terms used in the description of the present invention are for the purpose of describing specific embodiments only, and are not intended to limit the present invention. As used in the description of the invention and in the appended claims, the singular forms ("a", "an" and "the") are intended to include the plural forms as well, unless the context clearly indicates otherwise. . In addition, it will be understood that the term “and/or” as used herein represents and encompasses any and all possible combinations of one or more of the listed related items. The terms “include”, “including”, “comprise”, and/or “comprising”, as used herein, refer to the stated features, integers Specifies the presence of elements, steps, actions, elements, and/or components, but the presence of one or more other features, integers, steps, actions, elements, components, and/or groups thereof It will be further understood that it does not exclude additions or additions.

본 명세서에서 사용되는 바와 같이, 용어 "~는 경우(if)"는 문맥에 따라 "~할 때(when)" 또는 "~ 시(upon)" 또는 "결정한 것에 응답하여(in response to determining)" 또는 "검출한 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석될 수 있다. 유사하게, 어구 "결정된 경우" 또는 "[진술된 상태 또는 이벤트가] 검출된 경우"는 문맥에 따라 "결정 시" 또는 "결정한 것에 응답하여" 또는 "[진술된 상태 또는 이벤트] 검출 시" 또는 "[진술된 상태 또는 이벤트를] 검출한 것에 응답하여"를 의미하는 것으로 해석될 수 있다.As used herein, the term “if” means “when” or “upon” or “in response to determining” depending on the context. Or it can be interpreted to mean "in response to detecting". Similarly, the phrase "when determined" or "when [statement or event] is detected" means "on decision" or "in response to decision" or "on detection of [statement or event]" or May be interpreted to mean "in response to detecting [the stated condition or event]."

전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하는 관련 프로세스들의 실시예들이 기재된다. 일부 실시예들에서, 디바이스는 PDA 및/또는 음악 플레이어 기능들과 같은 다른 기능들을 또한 포함하는, 이동 전화기와 같은, 휴대용 통신 디바이스이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.(Apple Inc.)로부터의 아이폰(iPhone)(등록상표), 아이팟 터치(iPod Touch)(등록상표), 및 아이패드(iPad)(등록상표) 디바이스들을 제한 없이 포함한다. 터치 감응 표면들(예컨대, 터치 스크린 디스플레이들 및/또는 터치 패드들)을 갖는 랩톱들 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 또한 사용될 수 있다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라, 터치 감응 표면(예를 들어, 터치 스크린 디스플레이 및/또는 터치 패드)을 갖는 데스크톱 컴퓨터임이 또한 이해되어야 한다.Embodiments of electronic devices, user interfaces for such devices, and related processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and/or music player functions. Exemplary embodiments of portable multifunction devices include iPhone®, iPod Touch®, and iPad® from Apple Inc. of Cupertino, CA, USA. iPad) (registered trademark) devices are included without limitation. Other portable electronic devices such as laptops or tablet computers with touch sensitive surfaces (eg, touch screen displays and/or touch pads) may also be used. It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (eg, a touch screen display and/or a touch pad).

이하의 논의에서, 디스플레이 및 터치 감응 표면을 포함하는 전자 디바이스가 기재된다. 그러나, 전자 디바이스는 물리적 키보드, 마우스 및/또는 조이스틱과 같은, 하나 이상의 다른 물리적 사용자-인터페이스 디바이스들을 포함할 수 있다는 것이 이해되어야 한다.In the discussion that follows, an electronic device is described that includes a display and a touch-sensitive surface. However, it should be understood that the electronic device may include one or more other physical user-interface devices, such as a physical keyboard, mouse and/or joystick.

디바이스는 전형적으로, 드로잉 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 제작 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게임 애플리케이션, 전화 애플리케이션, 화상 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 운동 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 플레이어 애플리케이션, 및/또는 디지털 비디오 플레이어 애플리케이션 중 하나 이상과 같은 다양한 애플리케이션들을 지원한다.Devices typically include drawing applications, presentation applications, word processing applications, website creation applications, disk authoring applications, spreadsheet applications, gaming applications, phone applications, video conferencing applications, email applications, instant messaging applications, exercise support applications, and photos. It supports a variety of applications such as one or more of a management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and/or a digital video player application.

디바이스 상에서 실행될 수 있는 다양한 애플리케이션들은 터치 감응 표면과 같은 적어도 하나의 일반적인 물리적 사용자-인터페이스 디바이스를 사용할 수 있다. 터치 감응 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응 정보는 조정될 수 있고/있거나 하나의 애플리케이션으로부터 다음의 애플리케이션으로 그리고/또는 개별 애플리케이션 내에서 변화될 수 있다. 이러한 방식으로, 디바이스의 (터치 감응 표면과 같은) 일반적인 물리적 아키텍처는 사용자에게 직관적이고 명료한 사용자 인터페이스들로 다양한 애플리케이션들을 지원할 수 있다.Various applications that can run on the device can use at least one common physical user-interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface as well as the corresponding information displayed on the device may be adjusted and/or changed from one application to the next and/or within a separate application. In this way, the general physical architecture of the device (such as a touch-sensitive surface) can support a variety of applications with user interfaces that are intuitive and clear to the user.

이제, 터치 감응 디스플레이들을 갖는 휴대용 디바이스들의 실시예들에 주목한다. 도 1은 일부 실시예들에 따른 터치 감응 디스플레이들(112)을 갖는 휴대용 다기능 디바이스(100)를 도시한 블록도이다. 터치 감응 디스플레이(112)는 때때로 편의상 "터치 스크린"으로 불리며, 또한 터치 감응 디스플레이 시스템으로서 알려지거나 불릴 수 있다. 디바이스(100)는 메모리(102)(하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있음), 메모리 제어기(122), 하나 이상의 프로세싱 유닛(CPU)들(120), 주변기기 인터페이스(118), RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 입력/출력(I/O) 서브시스템(106), 다른 입력 또는 제어 디바이스들(116) 및 외부 포트(124)를 포함할 수 있다. 디바이스(100)는 하나 이상의 광 센서들(164)을 포함할 수 있다. 이들 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들(103)을 통해 통신할 수 있다.Attention is now directed to embodiments of portable devices with touch sensitive displays. 1 is a block diagram illustrating a portable multifunction device 100 having touch sensitive displays 112 in accordance with some embodiments. The touch sensitive display 112 is sometimes referred to as a “touch screen” for convenience, and may also be known or referred to as a touch sensitive display system. Device 100 includes memory 102 (which may include one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry. 108, audio circuit 110, speaker 111, microphone 113, input/output (I/O) subsystem 106, other input or control devices 116 and external port 124. Can include. Device 100 may include one or more optical sensors 164. These components may communicate via one or more communication buses or signal lines 103.

디바이스(100)는 휴대용 다기능 디바이스의 일례일 뿐이고, 디바이스(100)는 도시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수 있거나, 둘 이상의 컴포넌트들을 조합할 수 있거나, 컴포넌트들의 상이한 구성 또는 배열을 가질 수 있음이 이해되어야 한다. 도 1에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 둘 모두의 조합으로 구현될 수 있다.The device 100 is only an example of a portable multifunction device, and the device 100 may have more or fewer components than shown, may combine two or more components, or have a different configuration or arrangement of components. It should be understood that it can be. The various components shown in FIG. 1 may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and/or application specific integrated circuits.

메모리(102)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 하나 이상의 자기 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 메모리 디바이스들과 같은 비휘발성 메모리를 또한 포함할 수 있다. CPU(120) 및 주변기기 인터페이스(118)와 같은 디바이스(100)의 다른 컴포넌트들에 의한 메모리(102)로의 액세스는 메모리 제어기(122)에 의해 제어될 수 있다.Memory 102 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 102 by other components of device 100 such as CPU 120 and peripherals interface 118 may be controlled by memory controller 122.

주변기기 인터페이스(118)는 디바이스의 입력 및 출력 주변기기들을 CPU(120) 및 메모리(102)에 결합하는 데 사용될 수 있다. 하나 이상의 프로세서들(120)은 디바이스(100)에 대한 다양한 기능들을 수행하고 데이터를 처리하기 위해 메모리(102) 내에 저장된 다양한 소프트웨어 프로그램들 및/또는 명령어들의 세트들을 구동하거나 실행시킨다.The peripherals interface 118 may be used to couple the input and output peripherals of the device to the CPU 120 and memory 102. One or more processors 120 drive or execute various software programs and/or sets of instructions stored in memory 102 to perform various functions for device 100 and process data.

일부 실시예들에서, 주변기기 인터페이스(118), CPU(120) 및 메모리 제어기(122)는 칩(104)과 같은 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예들에서, 그들은 별개의 칩들 상에서 구현될 수 있다In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 may be implemented on a single chip, such as chip 104. In some other embodiments, they can be implemented on separate chips.

RF(radio frequency) 회로(108)는 전자기 신호들로도 불리는 RF 신호들을 수신 및 전송한다. RF 회로(108)는 전기 신호들을 전자기 신호들로/로부터 변환하고, 전자기 신호들을 통해 통신 네트워크들 및 다른 통신 디바이스들과 통신한다.A radio frequency (RF) circuit 108 receives and transmits RF signals, also called electromagnetic signals. The RF circuit 108 converts electrical signals to/from electromagnetic signals, and communicates with communication networks and other communication devices via the electromagnetic signals.

오디오 회로(110), 스피커(111) 및 마이크로폰(113)은 사용자와 디바이스(100) 사이의 오디오 인터페이스를 제공한다. 오디오 회로(110)는 주변기기 인터페이스(118)로부터 오디오 데이터를 수신하고, 그 오디오 데이터를 전기 신호로 변환하고, 그 전기 신호를 스피커(111)로 송신한다. 스피커(111)는 전기 신호를 사람이 들을 수 있는 음파로 변환한다. 오디오 회로(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로(110)는 전기 신호를 오디오 데이터로 변환하고, 프로세싱을 위해 오디오 데이터를 주변기기 인터페이스(118)로 송신한다. 오디오 데이터는 주변기기 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로(108)로부터 검색되고/되거나 이로 송신될 수 있다. 일부 실시예 실시예들에서, 오디오 회로(110)는 또한 헤드셋 잭(예컨대, 도 2의 212)을 포함한다.The audio circuit 110, speaker 111 and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into sound waves that can be heard by humans. The audio circuit 110 also receives an electrical signal converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits the audio data to the peripherals interface 118 for processing. Audio data may be retrieved from and/or transmitted to memory 102 and/or RF circuit 108 by peripherals interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (eg, 212 in FIG. 2 ).

I/O 서브시스템(106)은 터치 스크린(112) 및 다른 입력 제어 디바이스들(116)과 같은, 디바이스(100) 상의 입력/출력 주변기기들을 주변기기 인터페이스(118)에 결합시킨다. I/O 서브시스템(106)은 디스플레이 제어기(156), 및 다른 입력 또는 제어 디바이스들을 위한 하나 이상의 입력 제어기들(160)을 포함할 수 있다. 하나 이상의 입력 제어기들(160)은 다른 입력 또는 제어 디바이스(116)들로부터/로 전기 신호들을 수신/전송한다. 다른 입력 제어 디바이스들(116)은 물리적 버튼들(예컨대, 푸시 버튼들, 로커 버튼(rocker button)들 등), 다이얼들, 슬라이더 스위치들, 조이스틱들, 클릭 휠들 등을 포함할 수 있다. 일부 대안적인 실시예들에서, 입력 제어기(들)(160)은 키보드, 적외선 포트, USB 포트, 및 마우스와 같은 포인터 디바이스 중 임의의 것에 결합될 수 있다(또는 어느 것에도 결합되지 않을 수 있다). 하나 이상의 버튼들(예컨대, 도 2의 208)은 스피커(111) 및/또는 마이크로폰(113)의 음량 제어를 위한 업/다운 버튼을 포함할 수 있다. 하나 이상의 버튼들은 푸시 버튼(예컨대, 도 2의 206)을 포함할 수 있다.I/O subsystem 106 couples input/output peripherals on device 100 to peripherals interface 118, such as touch screen 112 and other input control devices 116. The I/O subsystem 106 may include a display controller 156 and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive/transmit electrical signals to/from other input or control devices 116. Other input control devices 116 may include physical buttons (eg, push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and the like. In some alternative embodiments, the input controller(s) 160 may be coupled (or not coupled to any) to any of a keyboard, infrared port, USB port, and pointer device such as a mouse. . One or more buttons (eg, 208 in FIG. 2) may include up/down buttons for controlling the volume of the speaker 111 and/or the microphone 113. One or more buttons may include a push button (eg, 206 in FIG. 2 ).

터치 감응 디스플레이(112)는 디바이스와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 제어기(156)는 터치 스크린(112)으로부터/으로 전기 신호들을 수신 및/또는 전송한다. 터치 스크린(112)은 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 그래픽, 텍스트, 아이콘들, 비디오 및 이들의 임의의 조합(총칭하여 "그래픽"으로 지칭함)을 포함할 수 있다. 일부 실시예들에서, 시각적 출력 중 일부 또는 모두는 사용자-인터페이스 객체들에 대응할 수 있다.The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. Display controller 156 receives and/or transmits electrical signals from/to touch screen 112. The touch screen 112 displays a visual output to the user. Visual output may include graphics, text, icons, video, and any combination thereof (collectively referred to as “graphic”). In some embodiments, some or all of the visual output may correspond to user-interface objects.

터치 스크린(112)은 햅틱 및/또는 촉각 접촉에 기초하는 사용자로부터의 입력을 수용하는 터치 감응 표면, 센서 또는 센서들의 세트를 갖는다. 터치 스크린(112) 및 디스플레이 제어기(156)는 (메모리(102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 스크린(112) 상의 접촉(및 접촉의 임의의 이동 또는 중단)을 검출하고, 검출된 접촉을 터치 스크린(112) 상에 디스플레이된 사용자-인터페이스 객체들(예를 들어, 하나 이상의 소프트 키들, 아이콘들, 웹 페이지들 또는 이미지들)과의 상호작용으로 변환한다. 예시적인 실시예에서, 터치 스크린(112)과 사용자 사이의 접촉 지점은 사용자의 손가락에 대응한다.The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and/or tactile contact. The touch screen 112 and the display controller 156 (along with any associated modules and/or sets of instructions in the memory 102) contact on the touch screen 112 (and any movement or interruption of the contact). And converts the detected contact into interactions with user-interface objects (eg, one or more soft keys, icons, web pages or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.

터치 스크린(112)은 LCD(액정 디스플레이) 기술, LPD(발광 중합체 디스플레이) 기술, 또는 LED(발광 다이오드) 기술을 이용할 수 있지만, 다른 디스플레이 기술들이 다른 실시예들에서 이용될 수 있다. 터치 스크린(112) 및 디스플레이 제어기(156)는 터치 스크린(112)과의 하나 이상의 접촉 지점들을 결정하기 위해 정전용량, 저항, 적외선 및 표면 음향파 기술들뿐만 아니라 다른 근접 센서 어레이들 또는 다른 요소들을 포함하지만 이들로 제한되지는 않는, 현재 공지되어 있거나 추후에 개발될 복수의 터치 감지 기술 중 임의의 것을 이용하여, 접촉 및 그의 임의의 이동 또는 중단을 검출할 수 있다. 예시적인 실시예에서, 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 아이폰(등록상표), 아이팟 터치(등록상표), 및 아이패드(등록상표)에서 발견되는 것과 같은 투영형 상호 정전용량식 감지 기술(projected mutual capacitance sensing technology)이 이용된다.The touch screen 112 may use LCD (liquid crystal display) technology, LPD (light-emitting polymer display) technology, or LED (light-emitting diode) technology, although other display technologies may be used in other embodiments. The touch screen 112 and display controller 156 utilize capacitive, resistive, infrared and surface acoustic wave technologies as well as other proximity sensor arrays or other elements to determine one or more points of contact with the touch screen 112. Any of a plurality of touch sensing technologies, including but not limited to, currently known or to be developed in the future, can be used to detect contact and any movement or interruption thereof. In an exemplary embodiment, projection-type mutual capacitive sensing, such as found on the iPhone (registered trademark), iPod Touch (registered trademark), and the iPad (registered trademark) from Apple Inc. of Cupertino, CA, USA Projected mutual capacitance sensing technology is used.

터치 스크린(112)은 100 dpi를 초과하는 비디오 해상도를 가질 수 있다. 일부 실시예 실시예들에서, 터치 스크린은 대략 160 dpi의 비디오 해상도를 갖는다. 사용자는 스타일러스, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 사용하여 터치 스크린(112)과 접촉할 수 있다. 일부 실시예들에서, 사용자 인터페이스는 손가락-기반 접촉 및 제스처를 주로 이용하여 작업하도록 설계되는데, 이는 터치 스크린 상에서의 손가락의 더 넓은 접촉 면적으로 인해 스타일러스-기반 입력보다 덜 정밀할 수 있다. 일부 실시예들에서, 디바이스는 대략적인 손가락-기반 입력을 사용자가 원하는 행동들을 수행하기 위한 정밀한 포인터/커서 위치 또는 커맨드(command)로 변환한다. 필기 입력은 손가락-기반 접촉 또는 스타일러스-기반 접촉의 위치 및 이동을 통해 터치 스크린(112) 상에서 제공될 수 있다. 일부 실시예들에서, 터치 스크린(112)은 손가락-기반 입력 또는 스타일러스-기반 입력을 현재의 필기 입력으로의 즉각적인 시각적 피드백으로서 렌더링하고, 필기 기구(예컨대, 펜)를 이용하여 기입 표면(예컨대, 종이 한장) 상의 실제 기입의 시각적 효과를 제공한다.The touch screen 112 may have a video resolution exceeding 100 dpi. In some embodiments, the touch screen has a video resolution of approximately 160 dpi. A user may contact the touch screen 112 using any suitable object or attachment, such as a stylus, finger, or the like. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may be less precise than stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts the coarse finger-based input into a precise pointer/cursor position or command to perform the user's desired actions. Handwriting input may be provided on the touch screen 112 through the location and movement of a finger-based contact or a stylus-based contact. In some embodiments, touch screen 112 renders finger-based input or stylus-based input as immediate visual feedback to the current handwriting input, and uses a writing instrument (e.g., pen) to render a writing surface (e.g., a pen). It provides the visual effect of the actual entry on a sheet of paper).

일부 실시예 실시예들에서, 터치 스크린 이외에, 디바이스(100)는 특정한 기능들을 활성화하거나 비활성화하기 위한 터치패드(도시되지 않음)를 포함할 수 있다. 일부 실시예들에서, 터치패드는 터치 스크린과는 다르게 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응 영역이다. 터치패드는 터치 스크린(112)과는 별개인 터치 감응 표면 또는 터치 스크린에 의해 형성되는 터치 감응 표면의 연장부일 수 있다.In some embodiments, in addition to the touch screen, the device 100 may include a touch pad (not shown) to activate or deactivate certain functions. In some embodiments, the touchpad is a touch sensitive area of the device that does not display a visual output unlike a touch screen. The touch pad may be a touch-sensitive surface separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.

디바이스(100)는 또한 다양한 컴포넌트들에 전력을 공급하기 위한 전력 시스템(162)을 포함한다. 전력 시스템(162)은 전력 관리 시스템, 하나 이상의 전원들(예컨대, 배터리, 교류 전류(alternating current: AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시기(예컨대, 발광 다이오드(LED)), 및 휴대용 디바이스들 내에서의 전력의 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함할 수 있다.Device 100 also includes a power system 162 for supplying power to various components. The power system 162 includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode). (LED)), and any other components associated with the generation, management, and distribution of power within portable devices.

디바이스(100)는 또한 하나 이상의 광 센서들(164)을 포함할 수 있다. 도 1은 I/O 서브시스템(106) 내의 광 센서 제어기(158)에 결합된 광 센서를 도시한다. 광 센서(164)는 전하-결합 소자(charge-coupled device, CCD) 또는 상보성 금속-산화물 반도체(complementary metal-oxide semiconductor, CMOS) 포토트랜지스터들을 포함할 수 있다. 광 센서(164)는 하나 이상의 렌즈를 통해 투영된 주변환경으로부터의 광을 수신하고, 그 광을 이미지를 나타내는 데이터로 변환한다. 광 센서(164)는, 이미징 모듈(143)(카메라 모듈로도 칭해짐)과 함께, 정지 이미지들 또는 비디오를 캡처할 수 있다.Device 100 may also include one or more optical sensors 164. 1 shows an optical sensor coupled to an optical sensor controller 158 in an I/O subsystem 106. The optical sensor 164 may include a charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. The optical sensor 164 receives light from the surrounding environment projected through one or more lenses, and converts the light into data representing an image. The optical sensor 164, together with the imaging module 143 (also referred to as a camera module), may capture still images or video.

디바이스(100)는 또한 하나 이상의 근접 센서들(166)을 포함할 수 있다. 도 1은 주변기기 인터페이스(118)에 결합된 근접 센서(166)를 도시한다. 대안적으로, 근접 센서(166)는 I/O 서브시스템(106) 내의 입력 제어기(160)에 결합될 수 있다. 일부 실시예들에서, 근접 센서는 다기능 디바이스가 사용자의 귀 근처에 위치될 때(예를 들어, 사용자가 전화 통화를 하고 있을 때), 터치 스크린(112)을 오프 상태로 하고 디스에이블(disable)시킨다.Device 100 may also include one or more proximity sensors 166. 1 shows a proximity sensor 166 coupled to a peripherals interface 118. Alternatively, proximity sensor 166 may be coupled to input controller 160 in I/O subsystem 106. In some embodiments, the proximity sensor turns off and disables the touch screen 112 when the multifunction device is positioned near the user's ear (e.g., when the user is making a phone call). Let it.

디바이스(100)는 또한 하나 이상의 가속도계들(168)을 포함할 수 있다. 도 1은 주변기기 인터페이스(118)에 결합된 가속도계(168)를 도시한다. 대안적으로, 가속도계(168)는 I/O 서브시스템(106) 내의 입력 제어기(160)에 결합될 수 있다. 일부 실시예들에서, 하나 이상의 가속도계들로부터 수신된 데이터의 분석에 기초하여 터치 스크린 디스플레이 상에 세로보기(portrait view) 또는 가로보기(landscape view)로 정보가 디스플레이된다. 디바이스(100)는 가속도계(들)(168)에 더하여 자력계(도시되지 않음), 및 디바이스(100)의 위치 및 배향(예를 들어, 세로 또는 가로)에 관한 정보를 획득하기 위한 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기(도시되지 않음)를 선택적으로 포함한다.Device 100 may also include one or more accelerometers 168. 1 shows an accelerometer 168 coupled to a peripherals interface 118. Alternatively, accelerometer 168 can be coupled to input controller 160 in I/O subsystem 106. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. The device 100 includes a magnetometer (not shown) in addition to the accelerometer(s) 168, and a GPS (or GLONASS) for obtaining information about the location and orientation (e.g., vertical or horizontal) of the device 100. Or another global navigation system) receiver (not shown).

일부 실시예들에서, 메모리(102) 내에 저장된 소프트웨어 컴포넌트들은 운영 체제(126), 통신 모듈(또는 명령어들의 세트)(128), 접촉/모션 모듈(또는 명령어들의 세트)(130), 그래픽 모듈(또는 명령어들의 세트)(132), 텍스트 입력 모듈(또는 명령어들의 세트)(134), 위성 위치확인 시스템(GPS) 모듈(또는 명령어들의 세트)(135), 및 애플리케이션들(또는 명령어들의 세트)(136)을 포함한다. 또한, 일부 실시예들에서, 메모리(102)는 도 1 및 도 3에 도시된 바와 같이 필기 입력 모듈(157)를 저장한다. 필기 입력 모듈(157)은 필기 인식 모델을 포함하고, 디바이스(100)(또는 디바이스(300))의 사용자에게 필기 인식 및 입력 기능을 제공한다. 필기 입력 모듈(157)의 더욱 상세한 사항들은 도 5 내지 도 27 및 그의 수반된 설명들과 관련하여 제공된다.In some embodiments, software components stored in memory 102 include operating system 126, communication module (or set of instructions) 128, contact/motion module (or set of instructions) 130, graphics module ( Or a set of instructions) 132, a text input module (or set of instructions) 134, a satellite positioning system (GPS) module (or set of instructions) 135, and applications (or a set of instructions) ( 136). Further, in some embodiments, the memory 102 stores a handwriting input module 157 as shown in FIGS. 1 and 3. The handwriting input module 157 includes a handwriting recognition model and provides a handwriting recognition and input function to a user of the device 100 (or device 300 ). Further details of the handwriting input module 157 are provided in connection with FIGS. 5 to 27 and accompanying descriptions thereof.

운영 체제(126)(예컨대, 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도우(WINDOWS), 또는 VxWorks와 같은 내장형 운영 체제)는 일반적인 시스템 태스크들(예컨대, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어 및 소프트웨어 컴포넌트들 사이의 통신을 용이하게 한다.The operating system 126 (e.g., an embedded operating system such as Darwin, RTXC, Linux, UNIX, OS X, Windows, or VxWorks) includes general system tasks (e.g., memory Management, storage device control, power management, etc.), and facilitates communication between various hardware and software components.

통신 모듈(128)은 하나 이상의 외부 포트들(124)을 통한 다른 디바이스들과의 통신을 용이하게 하고, 또한 RF 회로(108) 및/또는 외부 포트(124)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(124)(예컨대, 범용 직렬 버스(Universal Serial Bus, USB), 파이어와이어(FIREWIRE) 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예컨대, 인터넷, 무선 LAN 등)를 통해 간접적으로 결합하도록 구성된다.The communication module 128 facilitates communication with other devices via one or more external ports 124, and also for processing data received by the RF circuit 108 and/or external port 124. It contains various software components. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) to couple directly to other devices or indirectly through a network (e.g., Internet, wireless LAN, etc.). It is composed.

접촉/모션 모듈(130)은 터치 스크린(112)(디스플레이 제어기(156)와 함께) 및 다른 터치 감응 디바이스들(예컨대, 터치패드 또는 물리적 클릭 휠)과의 접촉을 검출할 수 있다. 접촉/모션 모듈(130)은 접촉이 발생했는지를 판정하는 것(예컨대, 손가락-다운 이벤트(finger-down event)를 검출하는 것), 접촉의 이동이 있는지를 판정하고 터치 감응 표면을 가로지르는 이동을 추적하는 것(예컨대, 하나 이상의 손가락-드래그 이벤트(finger-dragging event)들을 검출하는 것), 및 접촉이 중지되었는지를 판정하는 것(예컨대, 손가락-업 이벤트(finger-up event) 또는 접촉 중단을 검출하는 것)과 같은, 접촉의 검출에 관련된 다양한 동작들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 접촉/모션 모듈(130)은 터치 감응 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 나타나는 접촉 지점의 이동을 판정하는 것은 접촉 지점의 속력(크기), 속도(크기 및 방향) 및/또는 가속도(크기 및/또는 방향의 변화)를 판정하는 것을 포함할 수 있다. 이들 동작들은 단일 접촉들(예컨대, 하나의 손가락 접촉들)에 또는 다수의 동시 접촉들(예컨대, "멀티터치"/다수의 손가락 접촉들)에 적용될 수 있다. 일부 실시예들에서, 접촉/모션 모듈(130) 및 디스플레이 제어기(156)는 터치패드 상의 접촉을 검출한다.The contact/motion module 130 may detect contact with the touch screen 112 (in conjunction with the display controller 156) and other touch sensitive devices (eg, a touchpad or a physical click wheel). The contact/motion module 130 determines whether a contact has occurred (e.g., detecting a finger-down event), determines whether there is a movement of the contact, and moves across the touch-sensitive surface. Tracking (e.g., detecting one or more finger-dragging events), and determining whether the contact has ceased (e.g., a finger-up event or contact interruption To detect a contact), including various software components for performing various operations related to the detection of a contact. The contact/motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point represented by the series of contact data may include determining the speed (magnitude), velocity (magnitude and direction) and/or acceleration (change in magnitude and/or direction) of the contact point. . These actions may be applied to single contacts (eg, one finger contacts) or to multiple simultaneous contacts (eg “multi-touch”/multiple finger contacts). In some embodiments, the contact/motion module 130 and the display controller 156 detect contact on the touchpad.

접촉/모션 모듈(130)은 사용자에 의한 제스처 입력을 검출할 수 있다. 터치 감응 표면 상의 상이한 제스처들은 상이한 접촉 패턴들을 갖는다. 따라서, 제스처는 특정 접촉 패턴을 검출함으로써 검출될 수 있다. 예를 들어, 손가락 탭 제스처(finger tap gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 손가락-다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)(예를 들어, 아이콘의 위치)에서 손가락 업(들어올림) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감응 표면 상에서 손가락 스와이프 제스처(finger swipe gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 하나 이상의 손가락-드래그 이벤트들을 검출하고, 그에 후속하여 손가락-업(들어올림) 이벤트를 검출하는 것을 포함한다.The contact/motion module 130 may detect a gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns. Thus, a gesture can be detected by detecting a specific contact pattern. For example, detecting a finger tap gesture is to detect a finger-down event and then a finger at the same location (or substantially the same location) as the finger-down event (e.g., the location of the icon). It involves detecting an up (lift) event. As another example, detecting a finger swipe gesture on a touch-sensitive surface detects a finger-down event followed by one or more finger-drag events, followed by a finger-up (lift). It involves detecting the event.

접촉/모션 모듈(130)은 필기 입력 모듈(157)에 의해, 터치 감응 디스플레이 스크린(112) 상에 디스플레이되는 필기 입력 인터페이스의 필기 입력 영역 내에(또는 도 3의 디스플레이(340) 상에 디스플레이되는 필기 입력 영역에 대응하는 터치 패드(355)의 영역 내에) 필기 획들의 입력을 등록하도록 선택적으로 활용된다. 일부 실시예들에서, 초기 손가락-다운 이벤트, 최종 손가락-업 이벤트, 그들 사이의 임의의 시간 동안 접촉과 연관된 위치들, 모션 경로 및 세기들이 필기 획으로서 기록된다. 그러한 정보에 기초하여, 필기 획들은 사용자 입력에 대한 피드백으로서, 디스플레이 상에 렌더링될 수 있다. 추가로, 접촉/모션 모듈(130)에 의해 등록된 필기 획들에 기초하여 하나 이상의 입력 이미지들이 생성될 수 있다.The contact/motion module 130 is configured by the handwriting input module 157 in the handwriting input area of the handwriting input interface displayed on the touch-sensitive display screen 112 (or handwriting displayed on the display 340 of FIG. 3 ). It is selectively utilized to register input of handwritten strokes (within the area of the touch pad 355 corresponding to the input area). In some embodiments, the initial finger-down event, the last finger-up event, the locations associated with the contact during any time between them, the motion path and intensities are recorded as a handwritten stroke. Based on such information, handwritten strokes can be rendered on the display as feedback to user input. Additionally, one or more input images may be generated based on the handwritten strokes registered by the contact/motion module 130.

그래픽 모듈(132)은 디스플레이되는 그래픽의 세기를 변경하기 위한 컴포넌트들을 포함하는, 터치 스크린(112) 또는 다른 디스플레이 상에서 그래픽을 렌더링 및 디스플레이하기 위한 다양한 공지된 소프트웨어 컴포넌트들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "그래픽"은 텍스트, 웹 페이지들, 아이콘들(예를 들어, 소프트 키들을 포함하는 사용자-인터페이스 객체들), 디지털 이미지들, 비디오들, 애니메이션들 등을 제한 없이 포함하는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the intensity of the displayed graphics. As used herein, the term “graphic” limits text, web pages, icons (eg, user-interface objects including soft keys), digital images, videos, animations, etc. Includes any object that can be displayed to the user, including without.

일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 나타내는 데이터를 저장한다. 각각의 그래픽에는 대응 코드가 배정될 수 있다. 그래픽 모듈(132)은, 필요한 경우 좌표 데이터 및 다른 그래픽 특성 데이터와 함께, 디스플레이될 그래픽을 특정하는 하나 이상의 코드들을 애플리케이션 등으로부터 수신하며, 이어서 스크린 이미지 데이터를 생성하여 디스플레이 제어기(156)로 출력한다.In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic can be assigned a corresponding code. If necessary, the graphic module 132 receives one or more codes specifying a graphic to be displayed, along with coordinate data and other graphic characteristic data, from an application, etc., and then generates screen image data and outputs it to the display controller 156. .

그래픽 모듈(132)의 컴포넌트일 수 있는 텍스트 입력 모듈(134)은 다양한 애플리케이션들(예컨대, 연락처(137), 이메일(140), IM(141), 브라우저(147), 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션)에서 텍스트를 입력하기 위한 소프트 키보드들을 제공한다. 일부 실시예들에서, 필기 입력 모듈(157)은, 예컨대 키보드 선택 어포던스를 통하여, 텍스트 입력 모듈(134)의 사용자 인터페이스를 통해 선택적으로 호출된다. 일부 실시예들에서, 동일 또는 유사한 키보드 선택 어포던스가 또한 텍스트 입력 모듈(134)을 호출하기 위해 필기 입력 인터페이스에서 제공된다.The text input module 134, which may be a component of the graphics module 132, includes various applications (e.g., contacts 137, email 140, IM 141), browsers 147, and Soft keyboards for entering text in any other application). In some embodiments, the handwriting input module 157 is selectively invoked through the user interface of the text input module 134, such as through a keyboard selection affordance. In some embodiments, the same or similar keyboard selection affordance is also provided in the handwriting input interface to invoke the text input module 134.

GPS 모듈(135)은 디바이스의 위치를 결정하고, 이 정보를 다양한 애플리케이션들에서의 사용을 위해 (예컨대, 위치-기반 다이얼링에서 사용하기 위한 전화(138)에, 사진/비디오 메타데이터로서 카메라(143)에, 그리고 날씨 위젯들, 지역 옐로우 페이지 위젯들 및 지도/내비게이션 위젯들과 같은 위치-기반 서비스들을 제공하는 애플리케이션들에) 제공한다.The GPS module 135 determines the location of the device and uses this information to the phone 138 for use in various applications (e.g., for use in location-based dialing, and the camera 143 as photo/video metadata. ), and to applications that provide location-based services such as weather widgets, local yellow page widgets and map/navigation widgets).

애플리케이션들(136)은 하기 모듈들(또는 명령어들의 세트들) 또는 이들의 서브세트 또는 수퍼세트를 포함할 수 있다: 연락처 모듈(137)(때때로 주소록 또는 연락처 목록이라 불림); 전화 모듈(138); 화상 회의 모듈(139); 이메일 클라이언트 모듈(140); 인스턴트 메시징(IM) 모듈(141); 운동 지원 모듈(142); 정지 및/또는 비디오 이미지들을 위한 카메라 모듈(143); 이미지 관리 모듈(144); 브라우저 모듈(147); 캘린더 모듈(148); 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5), 및 사용자에 의해 획득되는 그 외의 위젯들, 그리고 사용자-생성 위젯들(149-6) 중 하나 이상을 포함할 수도 있는 위젯 모듈들(149); 사용자-생성 위젯들(149-6)을 작성하기 위한 위젯 생성기 모듈(150); 검색 모듈(151); 비디오 플레이어 모듈 및 음악 플레이어 모듈로 구성될 수 있는 비디오 및 음악 플레이어 모듈(152); 메모 모듈(153); 지도 모듈(154); 및/또는 온라인 비디오 모듈(155).Applications 136 may include the following modules (or sets of instructions), or a subset or superset thereof: contacts module 137 (sometimes referred to as an address book or contact list); Telephone module 138; Video conferencing module 139; Email client module 140; Instant messaging (IM) module 141; Exercise support module 142; A camera module 143 for still and/or video images; Image management module 144; Browser module 147; A calendar module 148; Weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user Widget modules 149, which may include one or more of these, and user-generated widgets 149-6; A widget generator module 150 for creating user-generated widgets 149-6; Search module 151; A video and music player module 152 that may be composed of a video player module and a music player module; Memo module 153; Map module 154; And/or online video module 155.

메모리(102) 내에 저장될 수 있는 다른 애플리케이션들(136)의 예들은 다른 워드 프로세싱 애플리케이션들, 다른 이미지 편집 애플리케이션들, 드로잉 애플리케이션들, 프레젠테이션 애플리케이션들, JAVA-인에이블드 애플리케이션들, 암호화, 디지털 권한 관리, 음성 인식 및 음성 복제를 포함한다.Examples of other applications 136 that may be stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights. Includes management, speech recognition and speech replication.

터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 연락처 모듈(137)은, 주소록에 이름(들)을 추가; 주소록으로부터 이름(들)을 삭제; 전화 번호(들), 이메일 주소(들), 물리적 주소(들) 또는 그 외의 정보를 이름과 연관시킴; 이미지를 이름과 연관시킴; 이름들을 분류 및 정렬함; 전화 번호들 또는 이메일 주소들을 제공하여 전화(138), 화상 회의(139), 이메일(140), 또는 IM(141)에 의한 통신을 개시하고 그리고/또는 용이하게 함; 등을 비롯하여, (예컨대, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장된) 주소록 또는 연락처 목록을 관리하는 데 사용될 수도 있다.Along with the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, the handwriting input module 157 and the text input module 134, the contact module 137 is named in the address book. Add(s); Delete name(s) from address book; Associating phone number(s), email address(s), physical address(s), or other information with a name; Associating image with name; Sorting and sorting names; Provide phone numbers or email addresses to initiate and/or facilitate communication by phone 138, video conference 139, email 140, or IM 141; It may be used to manage an address book or contact list (eg, stored in the application internal state 192 of the contacts module 137 in the memory 102 or in the memory 370), including the like.

RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 전화 모듈(138)은, 전화 번호에 대응하는 문자들의 시퀀스를 입력하고, 주소록(137) 내의 하나 이상의 전화 번호들에 액세스하고, 입력된 전화 번호를 수정하고, 각각의 전화 번호를 다이얼링하고, 대화를 하고, 대화가 완료된 때 접속해제하거나 끊는 데 사용될 수 있다. 전술된 바와 같이, 무선 통신은 복수의 통신 표준들, 프로토콜들 및 기술들 중 임의의 것을 이용할 수 있다.RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact module 130, graphic module 132, handwriting input module ( 157) and text input module 134, the phone module 138 inputs a sequence of characters corresponding to the phone number, accesses one or more phone numbers in the address book 137, and retrieves the input phone number. It can be used to edit, dial each phone number, have a conversation, and disconnect or hang up when the conversation is complete. As noted above, wireless communication may utilize any of a number of communication standards, protocols and technologies.

RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치스크린(112), 디스플레이 제어기(156), 광 센서(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께, 화상 회의 모듈(139)은 사용자 명령어들에 따라 사용자와 한 명 이상의 다른 참여자들 사이의 화상 회의를 개시, 시행 및 종료하도록 하는 실행가능 명령어들을 포함한다.RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact module ( 130), a graphic module 132, a handwriting input module 157, a text input module 134, a contact list 137, and a phone module 138, together with the video conference module 139 And executable instructions for initiating, conducting, and ending a video conference between one or more other participants.

RF 회로(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 이메일 클라이언트 모듈(140)은 사용자 명령어들에 응답하여 이메일을 생성, 전송, 수신, 및 관리하도록 하는 실행가능 명령어들을 포함한다. 이미지 관리 모듈(144)과 함께, 이메일 클라이언트 모듈(140)은 카메라 모듈(143)로 촬영된 정지 또는 비디오 이미지들을 갖는 이메일을 생성 및 전송하는 것을 매우 용이하게 한다.Together with RF circuit 108, touch screen 112, display controller 156, contact module 130, graphics module 132, handwriting input module 157 and text input module 134, an email client module ( 140) includes executable instructions for generating, sending, receiving, and managing email in response to user instructions. Together with the image management module 144, the email client module 140 makes it very easy to create and send an email with still or video images taken with the camera module 143.

RF 회로(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시징 모듈(141)은, 인스턴트 메시지에 대응하는 문자들의 시퀀스를 입력하고, 이전에 입력된 문자들을 수정하고, (예를 들어, 전화-기반 인스턴트 메시지들을 위한 단문자 메시지 서비스(Short Message Service, SMS) 또는 멀티미디어 메시지 서비스(Multimedia Message Service, MMS) 프로토콜을 이용하거나 인터넷-기반 인스턴트 메시지들을 위한 XMPP, SIMPLE 또는 IMPS를 이용하여) 개별 인스턴트 메시지를 송신하고, 인스턴트 메시지들을 수신하고, 수신된 인스턴트 메시지들을 보도록 하는 실행가능 명령어들을 포함한다. 일부 실시예들에서, 송신되고/되거나 수신된 인스턴트 메시지들은 그래픽, 사진들, 오디오 파일들, 비디오 파일들, 및/또는 MMS 및/또는 강화된 메시징 서비스(Enhanced Messaging Service, EMS)에서 지원되는 바와 같은 다른 첨부물들을 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, "인스턴트 메시징"은 전화-기반 메시지들(예를 들어, SMS 또는 MMS를 이용하여 전송된 메시지들) 및 인터넷-기반 메시지들(예를 들어, XMPP, SIMPLE 또는 IMPS를 이용하여 전송된 메시지들) 둘 모두를 지칭한다.With RF circuit 108, touch screen 112, display controller 156, contact module 130, graphics module 132, handwriting input module 157 and text input module 134, an instant messaging module ( 141) inputs a sequence of characters corresponding to an instant message, corrects previously entered characters (e.g., Short Message Service (SMS) for phone-based instant messages or multimedia Send individual instant messages, receive instant messages, and view received instant messages (using the Multimedia Message Service (MMS) protocol or using XMPP, SIMPLE or IMPS for Internet-based instant messages) Includes possible commands. In some embodiments, sent and/or received instant messages are as supported by graphics, photos, audio files, video files, and/or MMS and/or Enhanced Messaging Service (EMS). Other attachments such as may be included. As used herein, "instant messaging" refers to phone-based messages (eg, messages sent using SMS or MMS) and Internet-based messages (eg, XMPP, SIMPLE or IMPS). Messages transmitted using () refers to both.

RF 회로(108), 터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154) 및 음악 플레이어 모듈(146)과 함께, 운동 지원 모듈(142)은, (예컨대, 시간, 거리 및/또는 칼로리 소모 목표들을 갖는) 운동들을 생성하고; 운동 센서들(스포츠 디바이스들)과 통신하고; 운동 센서 데이터를 수신하고; 운동을 모니터링하기 위해 사용되는 센서들을 교정하고; 운동을 위한 음악을 선택하고 플레이하고; 운동 데이터를 디스플레이하고, 저장하고 송신하도록 하는 실행가능 명령어들을 포함한다.RF circuit 108, touch screen 112, display controller 156, contact module 130, graphic module 132, handwriting input module 157, text input module 134, GPS module 135, In conjunction with the guidance module 154 and the music player module 146, the exercise support module 142 creates exercises (eg, with time, distance, and/or calorie consumption goals); Communicates with athletic sensors (sports devices); Receive motion sensor data; Calibrate sensors used to monitor exercise; Select and play music for exercise; It contains executable instructions to display, store and transmit athletic data.

터치 스크린(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 카메라 모듈(143)은, 정지 이미지들 또는 비디오(비디오 스트림을 포함함)를 캡처하고 이들을 메모리(102) 내에 저장하거나, 정지 이미지 또는 비디오의 특성을 수정하거나, 또는 메모리(102)로부터 정지 이미지 또는 비디오를 삭제하도록 하는 실행가능 명령어들을 포함한다.Along with the touch screen 112, the display controller 156, the light sensor(s) 164, the light sensor controller 158, the contact module 130, the graphics module 132 and the image management module 144, the camera The module 143 captures still images or video (including a video stream) and stores them in the memory 102, modifies the properties of the still image or video, or Contains executable instructions that cause to be deleted.

터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 이미지 관리 모듈(144)은 정지 및/또는 비디오 이미지들을 배열하거나, 수정(예컨대, 편집)하거나, 또는 달리 조작하고, 라벨링하고, 삭제하고, (예컨대, 디지털 슬라이드 쇼 또는 앨범에서) 제시하고, 저장하도록 하는 실행가능 명령어들을 포함한다.Together with the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, the handwriting input module 157, the text input module 134 and the camera module 143, an image management module ( 144) is executable to arrange still and/or video images, modify (e.g., edit), or otherwise manipulate, label, delete, present (e.g., in a digital slide show or album), and store Contains instructions.

RF 회로(108), 터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 브라우저 모듈(147)은, 사용자 명령어들에 따라 인터넷을 브라우징하도록 - 웹 페이지들 또는 그들의 일부분뿐만 아니라 웹 페이지들에 링크된 첨부물들 및 다른 파일들을 검색하고, 그에 링크하고, 수신하고, 디스플레이하는 것을 포함함 - 하는 실행가능 명령어들을 포함한다.Along with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the handwriting input module 157 and the text input module 134, the browser module ( 147) to browse the Internet according to user instructions-including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to the web pages- Contains executable instructions that do.

RF 회로(108), 터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 캘린더 모듈(148)은, 사용자 명령어들에 따라 캘린더들 및 캘린더들과 연관된 데이터(예컨대, 캘린더 엔트리들, 할 일 목록들 등)를 생성하고, 디스플레이하고, 수정하고, 저장하도록 하는 실행가능 명령어들을 포함한다.RF circuit 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, handwriting input module 157, text input module 134, email client module 140 ) And the browser module 147, the calendar module 148 creates and displays calendars and data associated with the calendars (e.g., calendar entries, to-do lists, etc.) according to user instructions, Contains executable instructions that allow you to modify and save.

RF 회로(108), 터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 모듈들(149)은, 사용자에 의해 다운로드 및 사용될 수 있거나(예컨대, 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)), 또는 사용자에 의해 생성될 수 있는(예컨대, 사용자-생성 위젯(149-6)) 미니-애플리케이션들이다. 일부 실시예들에서, 위젯은 HTML(Hypertext Markup Language) 파일, CSS(Cascading Style Sheets) 파일 및 자바스크립트(JavaScript) 파일을 포함한다. 일부 실시예들에서, 위젯은 XML(Extensible Markup Language) 파일 및 자바스크립트 파일(예를 들어, 야후!(Yahoo!) 위젯들)을 포함한다.RF circuit 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, handwriting input module 157, text input module 134 and browser module 147 Along with, the widget modules 149 can be downloaded and used by the user (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3), or alarm clock widget ( 149-4) and dictionary widget 149-5), or mini-applications that can be created by the user (eg, user-generated widget 149-6). In some embodiments, the widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, the widget includes an Extensible Markup Language (XML) file and a JavaScript file (eg, Yahoo! widgets).

RF 회로(108), 터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 생성기 모듈(150)은, 사용자에 의해 위젯들을 생성(예를 들어, 웹 페이지의 사용자-특정 부분을 위젯으로 변경)하는 데 사용될 수 있다.RF circuit 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, handwriting input module 157, text input module 134 and browser module 147 Together, the widget generator module 150 may be used to generate widgets by a user (eg, to change a user-specific part of a web page into a widget).

터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 검색 모듈(151)은 사용자 명령어들에 따라 하나 이상의 검색 기준들(예컨대, 하나 이상의 사용자-특정 검색어)에 일치하는 메모리(102) 내의 텍스트, 음악, 사운드, 이미지, 비디오, 및/또는 다른 파일들을 검색하도록 하는 실행가능 명령어들을 포함한다.Along with the touch screen 112, the display system controller 156, the contact module 130, the graphic module 132, the handwriting input module 157, and the text input module 134, the search module 151 provides user commands. Contains executable instructions to search for text, music, sound, image, video, and/or other files in memory 102 matching one or more search criteria (e.g., one or more user-specific search terms) according to .

터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108) 및 브라우저 모듈(147)과 함께, 비디오 및 음악 플레이어 모듈(152)은, 사용자가 MP3 또는 AAC 파일들과 같은 하나 이상의 파일 포맷들로 저장된 녹음된 음악 및 다른 사운드 파일들을 다운로드 및 재생할 수 있게 하는 실행가능 명령어들, 및 비디오들을 (예컨대, 터치 스크린(112) 상에서 또는 외부 포트(124)를 통해 외부의 접속된 디스플레이 상에서) 디스플레이하거나, 상영하거나, 또는 달리 재생하도록 하는 실행가능 명령어들을 포함한다. 일부 실시예들에서, 디바이스(100)는 아이팟(애플 인크.의 상표)과 같은 MP3 플레이어의 기능을 포함할 수 있다.With touch screen 112, display system controller 156, contact module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108 and browser module 147, The video and music player module 152 includes executable instructions that allow a user to download and play recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, and videos (e.g. , On the touch screen 112 or on an externally connected display through the external port 124), to display, screen, or otherwise play. In some embodiments, device 100 may include the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).

터치 스크린(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157) 및 텍스트 입력 모듈(134)과 함께, 메모 모듈(153)은 사용자 명령어들에 따라 메모들, 할 일 목록들 등을 생성 및 관리하도록 하는 실행가능 명령어들을 포함한다.Along with the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, the handwriting input module 157 and the text input module 134, the memo module 153 is It contains executable instructions that allow you to create and manage notes, to-do lists, and so on.

RF 회로(108), 터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 필기 입력 모듈(157), 텍스트 입력 모듈(134), GPS 모듈(135) 및 브라우저 모듈(147)과 함께, 지도 모듈(154)은, 사용자 명령어들에 따라 지도들 및 지도들과 연관된 데이터(예컨대, 주행 방향; 특정한 위치에 또는 그 근처에 있는 상점들 및 다른 관심 포인트들에 관한 데이터; 및 다른 위치-기반 데이터)를 수신하고, 디스플레이하고, 수정하고, 저장하는 데 사용될 수 있다.RF circuit 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, handwriting input module 157, text input module 134, GPS module 135 And the browser module 147, the map module 154, according to user instructions, maps and data associated with the maps (e.g., driving direction; stores and other points of interest at or near a specific location). And other location-based data).

터치 스크린(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108), 필기 입력 모듈(157), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 온라인 비디오 모듈(155)은, 사용자가 H.264와 같은 하나 이상의 파일 포맷들의 온라인 비디오들을 액세스하고, 브라우징하고, (예컨대, 스트리밍 및/또는 다운로드에 의해) 수신하고, (예컨대, 터치 스크린 상에서 또는 외부 포트(124)를 통해 외부의 접속된 디스플레이 상에서) 재생하고, 특정 온라인 비디오로의 링크를 갖는 이메일을 전송하고, 달리 관리할 수 있게 하는 명령어들을 포함한다. 일부 실시예들에서, 특정한 온라인 비디오로의 링크를 전송하기 위해 이메일 클라이언트 모듈(140)보다는 인스턴트 메시징 모듈(141)이 사용된다.Touch screen 112, display system controller 156, contact module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, handwriting input module 157, text Together with the input module 134, the email client module 140 and the browser module 147, the online video module 155 allows a user to access, browse, and access online videos in one or more file formats, such as H.264, and Receive (e.g., by streaming and/or download), play (e.g., on a touch screen or on an externally connected display via external port 124), send an email with a link to a specific online video, and , Contains commands that allow it to be managed otherwise. In some embodiments, an instant messaging module 141 is used rather than an email client module 140 to send a link to a particular online video.

상기 식별된 모듈들 및 애플리케이션들 각각은 상기 설명된 하나 이상의 기능들 및 본 출원에 설명되는 방법들(예컨대, 컴퓨터-구현 방법들 및 본 명세서에 설명되는 다른 정보 프로세싱 방법들)을 수행하기 위한 실행가능 명령어들의 세트에 대응한다. 이들 모듈들(즉, 명령어들의 세트들)은 별도의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요는 없으며, 따라서 이들 모듈들의 다양한 서브세트들이 다양한 실시예들에서 조합되거나 달리 재배열될 수 있다. 일부 실시예들에서, 메모리(102)는 상기 식별된 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 또한, 메모리(102)는 상기에 설명되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.Each of the identified modules and applications is an execution for performing one or more functions described above and methods described herein (e.g., computer-implemented methods and other information processing methods described herein). Corresponds to a set of possible instructions. These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, so various subsets of these modules may be combined or otherwise rearranged in various embodiments. . In some embodiments, memory 102 may store a subset of the identified modules and data structures. Further, the memory 102 may store additional modules and data structures not described above.

일부 실시예들에서, 디바이스(100)는 디바이스 상의 사전정의된 세트의 기능들의 동작이 터치 스크린 및/또는 터치패드를 통해 배타적으로 수행되는 디바이스이다. 터치 스크린 및/또는 터치패드를 디바이스(100)의 동작을 위한 주 입력 제어 디바이스로서 사용함으로써, 디바이스(100) 상의 (푸시 버튼들, 다이얼들 등과 같은) 물리적 입력 제어 디바이스들의 수가 감소될 수 있다.In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively through a touch screen and/or a touchpad. By using the touch screen and/or touchpad as the primary input control device for operation of the device 100, the number of physical input control devices (such as push buttons, dials, etc.) on the device 100 can be reduced.

도 2는 일부 실시예들에 따른 터치 스크린(112)을 갖는 휴대용 다기능 디바이스(100)를 도시한다. 터치 스크린은 사용자 인터페이스(UI)(200) 내에서 하나 이상의 그래픽들을 디스플레이할 수 있다. 이러한 실시예에서뿐만 아니라 하기에 설명되는 다른 실시예들에서, 사용자는, 예를 들어 하나 이상의 손가락들(202)(도면에서 축척대로 도시되지는 않음) 또는 하나 이상의 스타일러스들(203)(도면에서 축척대로 도시되지는 않음)을 이용하여, 그래픽들 상에서 제스처를 행함으로써 그래픽들 중 하나 이상을 선택할 수 있다. 일부 실시예들에서, 하나 이상의 그래픽들의 선택은 사용자가 하나 이상의 그래픽들과의 접촉을 중단할 때 발생한다. 일부 실시예들에서, 제스처는, 디바이스(100)와 접촉한 손가락의 하나 이상의 탭들, (좌측에서 우측으로, 우측에서 좌측으로, 상방으로 및/또는 하방으로의) 하나 이상의 스와이프들 및/또는 (우측에서 좌측으로, 좌측에서 우측으로, 상방으로 및/또는 하방으로의) 롤링을 포함할 수 있다. 일부 실시예들에서, 그래픽과의 부주의한 접촉이 그 그래픽을 선택하지 않을 수 있다. 예를 들어, 애플리케이션 아이콘 위를 훑는(sweep) 스와이프 제스처는, 선택에 대응하는 제스처가 탭일 때, 대응하는 애플리케이션을 선택하지 않을 수 있다.2 shows a portable multifunction device 100 with a touch screen 112 in accordance with some embodiments. The touch screen may display one or more graphics within the user interface (UI) 200. In this embodiment as well as other embodiments described below, the user may, for example, have one or more fingers 202 (not drawn to scale in the drawings) or one or more stylus 203 (scaled in the drawings). Not shown) can be used to select one or more of the graphics by making a gesture on the graphics. In some embodiments, the selection of one or more graphics occurs when the user stops contacting the one or more graphics. In some embodiments, the gesture may include one or more taps of a finger in contact with the device 100, one or more swipes (left to right, right to left, up and/or down), and/or Rolling (right to left, left to right, up and/or down) may be included. In some embodiments, careless contact with the graphic may not select the graphic. For example, the swipe gesture for sweeping over an application icon may not select a corresponding application when the gesture corresponding to the selection is a tap.

디바이스(100)는 또한 "홈" 또는 메뉴 버튼(204)과 같은 하나 이상의 물리적 버튼들을 포함할 수 있다. 이전에 설명된 바와 같이, 메뉴 버튼(204)은 디바이스(100) 상에서 실행될 수 있는 애플리케이션들의 세트에서 임의의 애플리케이션(136)으로 내비게이션하기 위해 사용될 수 있다. 대안적으로, 일부 실시예들에서, 메뉴 버튼은 터치 스크린(112) 상에 디스플레이된 GUI에서 소프트 키로서 구현된다.Device 100 may also include one or more physical buttons, such as a “home” or menu button 204. As previously described, the menu button 204 can be used to navigate to any application 136 in the set of applications that can run on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.

일 실시예에서, 디바이스(100)는 터치 스크린(112), 메뉴 버튼(204), 디바이스의 전원을 온/오프하고 디바이스를 잠그기 위한 푸시 버튼(206), 음량 조절 버튼(들)(208), 가입자 아이덴티티 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(206)은 버튼을 누르고 사전정의된 시간 간격 동안 버튼을 누름 상태로 유지함으로써 디바이스에 대한 전원 온/오프를 변경하고; 버튼을 누르고 사전정의된 시간 간격이 경과하기 전에 버튼을 누름해제함으로써 디바이스를 잠그고; 그리고/또는 디바이스를 잠금해제하거나 또는 잠금해제 프로세스를 개시하는 데 사용될 수 있다. 대안적인 실시예에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력(verbal input)을 허용할 수 있다.In one embodiment, the device 100 includes a touch screen 112, a menu button 204, a push button 206 to power on/off the device and lock the device, a volume control button(s) 208, It includes a subscriber identity module (SIM) card slot 210, a headset jack 212, and an external docking/charging port 124. Push button 206 changes power on/off to the device by pressing the button and holding the button pressed for a predefined time interval; Locking the device by pressing the button and releasing the button before a predefined time interval elapses; And/or may be used to unlock the device or initiate an unlock process. In an alternative embodiment, device 100 may also allow verbal input for activation or deactivation of some functions via microphone 113.

도 3은 일부 실시예들에 따른 디스플레이 및 터치 감응 표면을 갖는 예시적인 다기능 디바이스의 블록도이다. 디바이스(300)가 휴대용일 필요는 없다. 일부 실시예들에서, 디바이스(300)는 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 멀티미디어 플레이어 디바이스, 내비게이션 디바이스, (아이들의 학습 장난감과 같은) 교육용 디바이스, 게임 시스템, 전화 디바이스, 또는 제어 디바이스(예를 들어, 가정용 또는 산업용 제어기)이다. 디바이스(300)는 전형적으로 하나 이상의 프로세싱 유닛(CPU)들(310), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(360), 메모리(370), 및 이들 컴포넌트들을 상호접속시키기 위한 하나 이상의 통신 버스들(320)을 포함한다. 통신 버스들(320)은 시스템 컴포넌트들을 상호접속시키고 이들 사이의 통신을 제어하는 회로(때때로, 칩셋으로 칭해짐)를 포함할 수 있다. 디바이스(300)는 전형적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입력/출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 또한 키보드 및/또는 마우스(또는 다른 포인팅 디바이스)(350) 및 터치패드(355)를 포함할 수 있다. 메모리(370)는 고속 랜덤 액세스 메모리, 예를 들어 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들을 포함하고; 비휘발성 메모리, 예를 들어 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들을 포함할 수도 있다. 메모리(370)는 선택적으로 CPU(들)(310)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함할 수 있다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 디바이스(100)(도 1)의 메모리(102)에 저장된 프로그램들, 모듈들 및 프로그램들과 유사한 데이터 구조들, 모듈들 및 데이터 구조들, 또는 그의 서브세트를 저장한다. 또한, 메모리(370)는 휴대용 다기능 디바이스(100)의 메모리(102)에 존재하지 않는 추가의 프로그램들, 모듈들, 및 데이터 구조들을 저장할 수 있다. 예를 들어, 디바이스(300)의 메모리(370)는 드로잉 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 제작 모듈(386), 디스크 저작 모듈(388), 및/또는 스프레드시트 모듈(390)을 저장할 수 있는 반면, 휴대용 다기능 디바이스(100)(도 1)의 메모리(102)는 이들 모듈들을 저장하지 않을 수 있다.3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments. Device 300 need not be portable. In some embodiments, the device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as children's learning toys), a game system, a telephone device, or a control device (e.g. For example, a household or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses for interconnecting these components. 320). Communication buses 320 may include circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication between them. Device 300 includes an input/output (I/O) interface 330 that includes a display 340, which is typically a touch screen display. The I/O interface 330 may also include a keyboard and/or mouse (or other pointing device) 350 and a touchpad 355. Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; Non-volatile memory, for example one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 370 may optionally include one or more storage devices located remotely from CPU(s) 310. In some embodiments, memory 370 may include programs, modules and data structures similar to programs, modules and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1), or Save a subset of it. In addition, the memory 370 may store additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 includes a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk authoring module 388, and/or Alternatively, the spreadsheet module 390 may be stored, while the memory 102 of the portable multifunction device 100 (FIG. 1) may not store these modules.

도 3에서 상기 식별된 요소들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있다. 상기 식별된 모듈들 각각은 상기 설명된 기능을 수행하기 위한 명령어들의 세트에 대응한다. 상기 식별된 모듈들 또는 프로그램들(즉, 명령어들의 세트들)은 별도의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요는 없으며, 따라서 이들 모듈들의 다양한 서브세트들이 다양한 실시예들에서 조합되거나 달리 재배열될 수 있다. 일부 실시예들에서, 메모리(370)는 상기 식별된 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 또한, 메모리(370)는 상기에 설명되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.Each of the elements identified above in FIG. 3 may be stored in one or more of the previously mentioned memory devices. Each of the identified modules corresponds to a set of instructions for performing the functions described above. The identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, so various subsets of these modules may be combined or otherwise different in various embodiments. Can be rearranged. In some embodiments, memory 370 may store a subset of the identified modules and data structures. Also, the memory 370 may store additional modules and data structures not described above.

도 4는 디스플레이(450)(예컨대, 터치 스크린 디스플레이(112))로부터 분리된 터치 감응 표면(451)(예컨대, 태블릿 또는 터치패드(355), 도 3)을 갖는 디바이스(예컨대, 디바이스(300), 도 3) 상의 예시적인 사용자 인터페이스를 도시한다. 후속하는 많은 예들이 (터치 감응 표면과 디스플레이가 조합된) 터치 스크린 디스플레이(112) 상의 입력들을 참조하여 주어질 것이지만, 일부 실시예들에서, 디바이스는 도 4에 도시된 바와 같이 디스플레이와는 별개인 터치 감응 표면 상에서 입력들을 검출한다. 일부 실시예들에서, 터치 감응 표면(예컨대, 도 4에서 451)은 디스플레이(예컨대, 450) 상의 주축(예컨대, 도 4에서 453)에 대응하는 주축(예컨대, 도 4에서 452)을 갖는다. 이들 실시예들에 따르면, 디바이스는 디스플레이 상의 개별 위치들에 대응하는 위치들(예컨대, 도 4에서, 460은 468에 대응하고, 462는 470에 대응함)에서 터치 감응 표면(451)과의 접촉들(예컨대, 도 4에서 460 및 462)을 검출한다. 이러한 방식으로, 터치 감응 표면(예컨대, 도 4에서 451) 상에서 디바이스에 의해 검출된 사용자 입력들(예컨대, 접촉들(460, 462) 및 그 이동들)은 터치 감응 표면이 디스플레이와는 별개인 경우 디바이스에 의해 다기능 디바이스의 디스플레이(예컨대, 도 4에서 450) 상의 사용자 인터페이스를 조작하는 데 사용된다. 유사한 방법들이 본 명세서에 기술되는 다른 사용자 인터페이스들에 이용될 수 있다는 것이 이해되어야 한다.4 shows a device (e.g., device 300) having a touch-sensitive surface 451 (e.g., a tablet or touchpad 355, FIG. 3) separated from a display 450 (e.g., touch screen display 112). , Figure 3) shows an exemplary user interface. While many examples that follow will be given with reference to inputs on the touch screen display 112 (the touch-sensitive surface and display are combined), in some embodiments, the device has a touch independent of the display as shown in FIG. 4. Detect inputs on the sensitive surface. In some embodiments, the touch-sensitive surface (eg, 451 in FIG. 4) has a major axis (eg, 452 in FIG. 4) that corresponds to a major axis (eg, 453 in FIG. 4) on the display (eg, 450 ). According to these embodiments, the device makes contacts with the touch-sensitive surface 451 at locations corresponding to individual locations on the display (e.g., in FIG. 4, 460 corresponds to 468, and 462 corresponds to 470). (E.g., 460 and 462 in FIG. 4) are detected. In this way, user inputs (e.g., contacts 460, 462 and their movements) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4) are Used by the device to manipulate the user interface on the display of the multifunction device (eg, 450 in FIG. 4). It should be understood that similar methods may be used for other user interfaces described herein.

이제, 다기능 디바이스(예컨대, 디바이스(100)) 상에서 구현될 수 있는 필기 입력 방법들 및 사용자 인터페이스들("UI")의 실시예들에 주목한다.Attention is now directed to embodiments of handwriting input methods and user interfaces (“UI”) that may be implemented on a multifunction device (eg, device 100).

도 5는 일부 실시예들에 따라 디바이스 상에 필기 입력 능력들을 제공하기 위해 I/O 인터페이스 모듈(500)(예컨대, 도 3의 I/O 인터페이스(330) 또는 도 1의 I/O 서브시스템(106))과 상호작용하는 예시적인 필기 입력 모듈(157)을 도시하는 블록도이다. 도 5에 도시된 바와 같이, 필기 입력 모듈(157)은 입력 프로세싱 모듈(502), 필기 인식 모듈(504) 및 결과 생성 모듈(506)을 포함한다. 일부 실시예들에서, 입력 프로세싱 모듈(502)은 분할 모듈(508) 및 정규화 모듈(510)을 포함한다. 일부 실시예들에서, 결과 생성 모듈(506)은 부수 클러스터링 모듈(radical clustering module)(512) 및 하나 이상의 언어 모델들(514)을 포함한다.5 shows an I/O interface module 500 (e.g., I/O interface 330 of FIG. 3 or I/O subsystem of FIG. 1) to provide handwriting input capabilities on a device in accordance with some embodiments. 106)). As shown in FIG. 5, the handwriting input module 157 includes an input processing module 502, a handwriting recognition module 504, and a result generation module 506. In some embodiments, the input processing module 502 includes a segmentation module 508 and a normalization module 510. In some embodiments, the result generation module 506 includes a radical clustering module 512 and one or more language models 514.

일부 실시예들에서, 입력 프로세싱 모듈(502)은 I/O 인터페이스 모듈(500)(예컨대, 도 3의 I/O 인터페이스(330) 또는 도 1의 I/O 서브시스템(106))과 통신하여 사용자로부터 필기 입력들을 수신한다. 도 1의 터치 감응 디스플레이 시스템(112) 및/또는 도 3의 터치패드(355)와 같은 임의의 적합한 수단을 통해 필기가 입력된다. 필기 입력들은 필기 입력 UI 내의 사전결정된 필기 입력 영역 내에서 사용자에 의해 제공되는 각 획을 표시하는 데이터를 포함한다. 일부 실시예들에서, 필기 입력의 각 획을 표시하는 데이터는, 필기 입력 영역 내에서 지속된 접촉(예컨대, 사용자의 손가락 또는 스타일러스와 디바이스의 터치 감응 표면 사이의 접촉)의 시작과 끝 위치들, 세기 프로파일, 및 모션 경로와 같은 데이터를 포함한다. 일부 실시예들에서, I/O 인터페이스 모듈(500)은, 연관된 시간 및 공간 정보를 갖는 필기 획들의 시퀀스들(516)을 입력 프로세싱 모듈(502)로 실시간으로 전달한다. 동시에, I/O 인터페이스 모듈은 또한 사용자의 입력에 대한 시각적 피드백으로서 필기 입력 사용자 인터페이스의 필기 입력 영역 내에서 필기 획들의 실시간 렌더링(518)을 제공한다.In some embodiments, the input processing module 502 communicates with the I/O interface module 500 (e.g., the I/O interface 330 of FIG. 3 or the I/O subsystem 106 of FIG. 1) to Receive handwriting inputs from the user. Handwriting is entered through any suitable means, such as the touch sensitive display system 112 of FIG. 1 and/or the touchpad 355 of FIG. 3. The handwriting inputs include data representing each stroke provided by the user within a predetermined handwriting input area within the handwriting input UI. In some embodiments, the data representing each stroke of the handwriting input includes the start and end positions of a sustained contact within the handwriting input area (e.g., contact between the user's finger or stylus and the touch-sensitive surface of the device), It includes data such as intensity profiles, and motion paths. In some embodiments, I/O interface module 500 communicates sequences 516 of handwritten strokes with associated temporal and spatial information to input processing module 502 in real time. At the same time, the I/O interface module also provides real-time rendering 518 of handwritten strokes within the handwriting input area of the handwriting input user interface as visual feedback on the user's input.

일부 실시예들에서, 각 필기 획을 표시하는 데이터가 입력 프로세싱 모듈(502)에 의해 수신됨에 따라, 다수의 연속 획들과 연관된 시간적 및 시퀀스 정보가 또한 기록된다. 예를 들어, 데이터는 선택적으로 전체 필기 입력의 기입 방향을 따라 획들의 형상, 크기, 개별 획 시퀀스 번호들을 갖는 개별 획들의 공간 포화도, 및 상대적인 공간 위치들 등을 보여주는 스택을 포함한다. 일부 실시예들에서, 입력 프로세싱 모듈(502)은 디바이스의 디스플레이(518)(예를 들어, 도 3의 디스플레이(340) 또는 도 1의 터치 감응 디스플레이(112)) 상에서 수신 획들을 렌더링하도록 하는 명령어들을 I/O 인터페이스 모듈들(500)로 다시 제공한다. 일부 실시예들에서, 수신 획들의 렌더링은 필기 기구(예컨대, 펜)를 이용한 기입 표면(예컨대, 종이 한장) 상에서의 기입의 실제 진행을 모방하는 시각적 효과를 제공하기 위해 애니메이션으로 만들어진다. 일부 실시예들에서, 사용자는 선택적으로 렌더링된 획들의 펜-끝 스타일(pen-tip style), 색, 텍스처(texture) 등을 특정하는 것이 허용된다.In some embodiments, as data representing each handwritten stroke is received by the input processing module 502, temporal and sequence information associated with a number of consecutive strokes is also recorded. For example, the data optionally includes a stack showing the shape and size of the strokes along the writing direction of the entire handwriting input, the spatial saturation of individual strokes with individual stroke sequence numbers, and relative spatial positions, and the like. In some embodiments, the input processing module 502 has instructions to render the received strokes on the device's display 518 (e.g., display 340 of FIG. 3 or touch sensitive display 112 of FIG. 1 ). Back to the I/O interface modules 500. In some embodiments, the rendering of the received strokes is animated to provide a visual effect that mimics the actual progress of writing on a writing surface (eg, a sheet of paper) using a writing instrument (eg, a pen). In some embodiments, the user is optionally allowed to specify a pen-tip style, color, texture, etc. of the rendered strokes.

일부 실시예들에서, 입력 프로세싱 모듈(502)은 필기 입력 영역에서 현재 누적된 획들을 프로세싱하여 그 획들을 하나 이상의 인식 유닛들에 배정한다. 일부 실시예들에서, 각 인식 유닛은 필기 인식 모델(504)에 의해 인식되어야 할 문자에 대응한다. 일부 실시예들에서, 각 인식 유닛은 필기 인식 모델(504)에 의해 인식되어야 할 출력 문자 또는 부수에 대응한다. 부수는 다수의 복합 표어 문자들에서 발견되는 반복 구성요소이다. 복합 표어 문자는 일반적인 레이아웃(예컨대, 좌우 레이아웃, 상하 레이아웃 등)에 따라 배열된 2개 이상의 부수들을 포함할 수 있다. 일 예에서, 단일의 한자 "

Figure 112020057647690-pat00005
"는 2개의 부수들, 즉, 왼쪽 부수 "口" 및 오른쪽 부수 "斤"를 사용하여 구성된다.In some embodiments, the input processing module 502 processes the currently accumulated strokes in the handwriting input area and assigns the strokes to one or more recognition units. In some embodiments, each recognition unit corresponds to a character to be recognized by the handwriting recognition model 504. In some embodiments, each recognition unit corresponds to an output character or number of copies to be recognized by the handwriting recognition model 504. A minority is a repetitive component found in many complex slogans. The compound slogan may include two or more copies arranged according to a general layout (eg, a left and right layout, a top and bottom layout, etc.). In one example, a single Chinese character "
Figure 112020057647690-pat00005
"Is constructed using two radicals, namely, the left radical "口" and the right radical "斤".

일부 실시예들에서, 입력 프로세싱 모듈(502)은 분할 모듈에 의존하여 현재 누적된 필기 획들을 하나 이상의 인식 유닛들로 배정 또는 나눈다. 예를 들어, 필기 문자 "

Figure 112020057647690-pat00006
"에 대한 획들을 분할하는 경우, 분할 모듈(508)은 선택적으로 필기 입력의 좌측에 클러스터링된 획들을 (즉, 왼쪽 부수 "口"에 대한) 하나의 인식 유닛에 배정하고, 필기 입력의 우측에 클러스터링된 획들을 (즉, 오른쪽 부수 "斤"에 대한) 다른 인식 유닛에 배정한다. 대안적으로, 분할 모듈(508)은 또한 모든 획들을 (즉, 문자 "
Figure 112020057647690-pat00007
"에 대한) 단일 인식 유닛에 배정할 수 있다.In some embodiments, the input processing module 502 relies on the segmentation module to allocate or divide the currently accumulated handwritten strokes into one or more recognition units. For example, the handwritten character "
Figure 112020057647690-pat00006
When dividing the strokes for ", the segmentation module 508 selectively assigns the clustered strokes to the left of the handwriting input (ie, for the left side number "口") to one recognition unit, and to the right of the handwriting input. The clustered strokes are assigned to different recognition units (ie, for the right side "斤.") Alternatively, the segmentation module 508 also assigns all of the strokes (ie, the letter "
Figure 112020057647690-pat00007
Can be assigned to a single recognition unit.

일부 실시예들에서, 분할 모듈(508)은 현재 누적된 필기 입력(예컨대, 하나 이상의 필기 획들)을 여러 가지 상이한 방식으로 인식 유닛들의 그룹으로 분할하여 분할 격자(520)를 생성한다. 예를 들어, 총 9개의 획들이 필기 입력 영역에서 지금까지 누적되었다고 가정한다. 분할 격자(520)의 제1 분할 체인에 따르면, 획1, 획2, 획3이 제1 인식 유닛(522)으로 그룹화되고, 획4, 획5, 획6이 제2 인식 유닛(526)으로 그룹화된다. 분할 격자(520)의 제2 분할 체인에 따르면, 획1 내지 획9 모두가 하나의 인식 유닛(526)으로 그룹화된다.In some embodiments, the segmentation module 508 creates a segmentation grid 520 by dividing the currently accumulated handwriting input (eg, one or more handwritten strokes) into groups of recognition units in a number of different ways. For example, it is assumed that a total of 9 strokes have been accumulated so far in the handwriting input area. According to the first segmentation chain of the segmentation grid 520, stroke 1, stroke 2, and stroke 3 are grouped into a first recognition unit 522, and stroke 4, stroke 5, and stroke 6 become a second recognition unit 526. Are grouped. According to the second division chain of the division grid 520, all of the strokes 1 to 9 are grouped into one recognition unit 526.

일부 실시예들에서, 각 분할 체인은, 특정한 분할 체인이 현재 필기 입력의 정확한 분할일 가능성을 측정하기 위한 분할 점수가 주어진다. 일부 실시예들에서, 각 분할 체인의 분할 점수를 계산하기 위해 선택적으로 사용되는 인자들은, 획의 절대 및/또는 상대 크기, 다양한 방향들(예컨대, x, y, z 방향들)에서의 획의 상대 및/또는 절대 스팬(span), 획의 포화 레벨에서의 변동들 및/또는 그의 평균, 인접 획들에 대한 절대 및/또는 상대 거리들, 획들의 절대 및/또는 상대 위치들, 획들이 입력되는 순서 또는 시퀀스, 각 획의 지속기간, 각 획이 입력된 속도(또는 템포)에서의 변동들 및/또는 그의 평균, 획의 길이를 따른 각 획의 세기 프로파일 등을 포함한다. 일부 실시예들에서, 이들 인자들 중 하나 이상에 선택적으로 하나 이상의 기능들 또는 변환들이 적용되어 분할 격자(520)에서의 상이한 분할 체인들의 분할 점수들을 생성한다.In some embodiments, each segmentation chain is given a segmentation score to measure the likelihood that a particular segmentation chain is the correct segmentation of the current handwriting input. In some embodiments, factors that are optionally used to calculate the split score of each splitting chain are the absolute and/or relative size of the stroke, the stroke's in various directions (e.g., x, y, z directions). Relative and/or absolute span, fluctuations in the saturation level of the stroke and/or its average, absolute and/or relative distances to adjacent strokes, absolute and/or relative positions of the strokes, the strokes being entered It includes the sequence or sequence, the duration of each stroke, the variations and/or their average in the speed (or tempo) at which each stroke was entered, the intensity profile of each stroke along the length of the stroke, and so on. In some embodiments, one or more functions or transforms are optionally applied to one or more of these factors to generate split scores of different split chains in split grid 520.

일부 실시예들에서, 분할 모듈(508)이 사용자로부터 수신된 현재의 필기 입력(516)을 분할한 후에, 분할 모듈(508)은 분할 격자(520)를 정규화 모듈(510)로 전달한다. 일부 실시예들에서, 정규화 모듈(510)은 분할 격자(520)에서 특정된 각 인식 유닛(예컨대, 인식 유닛들(522, 524, 526))에 대한 입력 이미지(예컨대, 입력 이미지들(528))를 생성한다. 일부 실시예들에서, 정규화 모듈은 입력 이미지에 대해 필요한 또는 원하는 정규화(예컨대, 스트레칭, 크로핑, 다운-샘플 또는 업-샘플링)를 수행하여, 입력 이미지가 필기 인식 모델(504)에 입력으로서 제공될 수 있도록 한다. 일부 실시예들에서, 각 입력 이미지(528)는 하나의 개별 인식 유닛에 배정된 획들을 포함하고, 필기 인식 모듈(504)에 의해 인식되어야 할 하나의 문자 또는 부수에 대응한다.In some embodiments, after the segmentation module 508 segments the current handwriting input 516 received from the user, the segmentation module 508 passes the segmentation grid 520 to the normalization module 510. In some embodiments, the normalization module 510 is an input image (e.g., input images 528) for each recognition unit (e.g., recognition units 522, 524, 526) specified in the segmentation grid 520. ). In some embodiments, the normalization module performs the necessary or desired normalization (e.g., stretching, cropping, down-sampling or up-sampling) on the input image so that the input image is provided as input to the handwriting recognition model 504. To be able to be. In some embodiments, each input image 528 includes strokes assigned to one individual recognition unit, and corresponds to one character or number of copies to be recognized by the handwriting recognition module 504.

일부 실시예들에서, 입력 프로세싱 모듈(502)에 의해 생성되는 입력 이미지들은 개별 획들과 연관된 임의의 시간 정보를 포함하지 않고, 공간 정보(예컨대, 입력 이미지에서의 픽셀들의 밀도 및 위치에 의해 표시되는 정보)만이 입력 이미지에 보존된다. 훈련 기입 샘플들의 공간 정보에 대해서만 전적으로 훈련된 필기 인식 모델은 공간 정보에 기초한 필기 인식만이 가능하다. 결과적으로, 필기 인식 모델은, 훈련 동안 그의 어휘(즉, 모든 출력 클래스들)에서의 모든 문자들에 대해 획 순서들 및 획 방향들의 모든 가능한 치환들을 철저하게 열거하지 않고서, 획 순서 및 획 방향에 독립적이다. 실제로, 일부 실시예들에서, 필기 인식 모듈(502)은 입력 이미지 내의 하나의 획에 속하는 픽셀과 다른 획에 속하는 픽셀을 구별하지 않는다.In some embodiments, the input images generated by the input processing module 502 do not include any temporal information associated with individual strokes, but are represented by spatial information (e.g., density and position of pixels in the input image). Information) is preserved in the input image. A handwriting recognition model trained solely on spatial information of training writing samples is capable of only handwriting recognition based on spatial information. As a result, the handwriting recognition model does not exhaustively enumerate all possible permutations of stroke orders and stroke directions for all characters in its vocabulary (i.e. all output classes) during training. Is independent. Indeed, in some embodiments, the handwriting recognition module 502 does not distinguish between a pixel belonging to one stroke and a pixel belonging to another stroke in the input image.

(예컨대, 도 25a 내지 도 27에 대하여) 이후에 더욱 상세하게 설명되는 바와 같이, 일부 실시예들에서, 인식 모델의 획 순서 및 획 방향 독립성을 훼손시키지 않고서, 인식 정확도를 개선시키기 위해, 일부 시간-유도 획 분포 정보가 전적으로-공간적인 필기 인식 모델로 재도입된다.As will be described in more detail later (e.g., with respect to FIGS. 25A to 27), in some embodiments, in order to improve the recognition accuracy, without compromising the stroke order and stroke direction independence of the recognition model, some time -Induction stroke distribution information is reintroduced into a wholly-spatial handwriting recognition model.

일부 실시예들에서, 하나의 인식 유닛에 대해 입력 프로세싱 모듈(502)에 의해 생성된 입력 이미지는 동일한 분할 체인에서의 임의의 다른 인식 유닛의 입력 이미지와 중첩하지 않는다. 일부 실시예들에서, 상이한 인식 유닛들에 대해 생성된 입력 이미지들은 약간 중첩할 수도 있다. 일부 실시예들에서, 입력 이미지들 간의 약간의 중첩은, 초서체로 기입되고 그리고/또는 이어지는(run-on) 문자들(예컨대, 하나의 획이 2개의 인접 문자들을 연결함)을 포함하는 필기 입력을 인식하기 위해 허용된다.In some embodiments, the input image generated by the input processing module 502 for one recognition unit does not overlap with the input image of any other recognition unit in the same segmentation chain. In some embodiments, input images generated for different recognition units may overlap slightly. In some embodiments, some overlap between the input images is a handwriting input that includes cursive and/or run-on characters (e.g., one stroke joins two adjacent characters). Is allowed to recognize.

일부 실시예들에서, 분할 전에 일부 정규화가 수행된다. 일부 실시예들에서, 분할 모듈(508) 및 정규화 모듈(510)의 기능들이 동일한 모듈 또는 2개 이상의 다른 모듈들에 의해 수행될 수 있다.In some embodiments, some normalization is performed prior to segmentation. In some embodiments, the functions of splitting module 508 and normalizing module 510 may be performed by the same module or two or more different modules.

일부 실시예들에서, 각 인식 유닛의 입력 이미지(528)가 필기 인식 모델(504)로 입력으로서 제공됨에 따라, 필기 인식 모델(504)은, 인식 유닛이 필기 인식 모델(504)의 레퍼토리 또는 어휘(즉, 필기 인식 모듈(504)에 의해 인식가능한 모든 문자들 및 부수들의 목록)에서의 개별 출력 문자가 될 상이한 가능성으로 이루어진 출력을 생성한다. 이후에 더욱 상세하게 설명되는 바와 같이, 필기 인식 모델(504)은 다중 스크립트들(예컨대, 유니코드 표준에 의해 인코딩된 적어도 3개의 비중첩 스크립트들)에서의 많은 수의 문자들을 인식하도록 훈련되었다.In some embodiments, as the input image 528 of each recognition unit is provided as an input to the handwriting recognition model 504, the handwriting recognition model 504 may determine that the recognition unit is a repertoire or vocabulary of the handwriting recognition model 504. (I.e., a list of all characters and copies recognizable by the handwriting recognition module 504) produces an output consisting of different possibilities to be an individual output character. As described in more detail below, the handwriting recognition model 504 has been trained to recognize a large number of characters in multiple scripts (eg, at least three non-overlapping scripts encoded by the Unicode standard).

비중첩 스크립트의 예에는 라틴어 스크립트, 한자, 아랍어 문자, 페르시아어, 키릴 문자, 및 이모지 캐릭터와 같은 인공 스크립트가 포함된다. 일부 실시예들에서, 필기 인식 모델(504)은 각 입력 이미지에 대한 (즉, 각 인식 유닛에 대한) 하나 이상의 출력 문자들을 생성하고, 문자 인식과 연관된 신뢰도 레벨에 기초하여 각 출력 문자에 대해 개별 인식 점수를 배정한다.Examples of non-overlapping scripts include Latin scripts, Chinese characters, Arabic characters, Persian, Cyrillic, and artificial scripts such as emoji characters. In some embodiments, the handwriting recognition model 504 generates one or more output characters for each input image (i.e., for each recognition unit), and for each output character based on the confidence level associated with the character recognition. Assign a recognition score.

일부 실시예들에서, 필기 인식 모델(504)은 분할 격자(520)에 따라 후보 격자(530)를 생성하고, 여기서 분할 격자(520) 내의 (예컨대, 개별 인식 유닛(522, 524, 526)에 대응하는) 분할 체인에서의 각 원호(arc)는 후보 격자(530) 내에서 하나 이상의 후보 원호들(예컨대, 개별 출력 문자에 각각 대응하는 원호들(532, 534, 536, 538, 540))로 팽창된다. 후보 격자(530) 내의 각 후보 체인은, 후보 체인의 기저가 되는 분할 체인의 개별 분할 점수, 및 문자 체인에서의 출력 문자들과 연관된 인식 점수들에 따라 점수화된다.In some embodiments, the handwriting recognition model 504 generates a candidate lattice 530 according to the segmentation lattice 520, wherein the segmentation lattice 520 (e.g., individual recognition units 522, 524, 526) Each arc in the corresponding) division chain is divided into one or more candidate arcs (e.g., arcs 532, 534, 536, 538, 540 respectively corresponding to individual output characters) within the candidate grid 530. Expands. Each candidate chain in candidate grid 530 is scored according to an individual split score of the split chain on which the candidate chain is based, and recognition scores associated with the output characters in the character chain.

일부 실시예들에서, 필기 인식 모델(504)이 인식 유닛들의 입력 이미지들(528)로부터 출력 문자들을 생성한 후에, 후보 격자(530)는 결과 생성 모듈(506)로 전달되어 현재 누적된 필기 입력(516)에 대한 하나 이상의 인식 결과들을 생성한다.In some embodiments, after the handwriting recognition model 504 generates output characters from the input images 528 of the recognition units, the candidate grid 530 is passed to the result generation module 506 and the currently accumulated handwriting input. Produces one or more recognition results for 516.

일부 실시예들에서, 결과 생성 모듈(506)은 부수 클러스터링 모듈(512)을 활용하여 후보 체인에서의 하나 이상의 부수들을 복합 문자로 조합한다. 일부 실시예들에서, 결과 생성 모듈(506)은 하나 이상의 언어 모델들(514)을 사용하여, 후보 격자(530)에서의 문자 체인이 언어 모델들에 의해 표시되는 특정한 언어에서의 가능성 있는 시퀀스인지를 판정한다. 일부 실시예들에서, 결과 생성 모듈(506)은, 후보 격자(530)에서의 2개 이상의 원호들을 조합하거나 특정한 원호들을 제거함으로써 개정된 후보 격자(542)를 생성한다.In some embodiments, the result generation module 506 utilizes the minor clustering module 512 to combine one or more radicals in the candidate chain into a compound character. In some embodiments, the result generation module 506 uses one or more language models 514 to determine whether the character chain in the candidate grid 530 is a probable sequence in a particular language represented by the language models. Is determined. In some embodiments, the result generation module 506 generates a revised candidate grating 542 by combining two or more arcs in the candidate grating 530 or removing specific arcs.

일부 실시예들에서, 결과 생성 모듈(506)은, 부수 클러스터링 모듈(512) 및 언어 모델들(514)에 의해 수정(예컨대, 증강 또는 축소)됨에 따라, 문자 시퀀스에서의 출력 문자들의 인식 점수들에 기초하여, 개정된 후보 격자(542)에서 여전히 남아 있는 각 문자 시퀀스(예컨대, 문자 시퀀스들(544, 546))에 대해 통합된 인식 점수를 생성한다. 일부 실시예들에서, 결과 생성 모듈(506)은 이들의 통합된 인식 점수들에 기초하여 개정된 후보 격자(542)에서 남아 있는 상이한 문자 시퀀스들의 순위를 매긴다.In some embodiments, the result generation module 506, as modified (e.g., augmented or reduced) by the collateral clustering module 512 and language models 514, the recognition scores of the output characters in the character sequence. Based on the revised candidate grid 542, a unified recognition score is generated for each character sequence (e.g., character sequences 544, 546) still remaining in the revised candidate grid 542. In some embodiments, the result generation module 506 ranks the different character sequences remaining in the revised candidate grid 542 based on their combined recognition scores.

일부 실시예들에서, 결과 생성 모듈(506)은 최상위(top-ranked) 문자 시퀀스들을 순위가 매겨진 인식 결과들(548)로서 I/O 인터페이스 모듈(500)로 전송하여 사용자에게 디스플레이한다. 일부 실시예들에서, I/O 인터페이스 모듈(500)은 수신된 인식 결과들(548)(예컨대, "

Figure 112020057647690-pat00008
" 및 "
Figure 112020057647690-pat00009
")을 필기 입력 인터페이스의 후보 디스플레이 영역에서 디스플레이한다. 일부 실시예들에서, I/O 인터페이스 모듈은 사용자를 위해 다수의 인식 결과들 (예컨대, "
Figure 112020057647690-pat00010
" 및 "
Figure 112020057647690-pat00011
")을 디스플레이하고, 사용자가 인식 결과를 선택하여 관련 애플리케이션에 대한 텍스트 입력으로서 입력할 수 있게 한다. 일부 실시예들에서, I/O 인터페이스 모듈은 인식 결과의 사용자 확인의 표시들 또는 기타 입력들에 응답하여 최상위 인식 결과(예컨대, "
Figure 112020057647690-pat00012
")를 자동으로 입력한다. 최상위 결과의 효과적인 자동 입력은 입력 인터페이스의 효율을 개선시킬 수 있고, 보다 양호한 사용자 경험을 제공한다.In some embodiments, the result generation module 506 transmits the top-ranked character sequences as ranked recognition results 548 to the I/O interface module 500 for display to the user. In some embodiments, the I/O interface module 500 includes the received recognition results 548 (e.g., "
Figure 112020057647690-pat00008
"And"
Figure 112020057647690-pat00009
") in the candidate display area of the handwriting input interface. In some embodiments, the I/O interface module provides multiple recognition results for the user (eg, "
Figure 112020057647690-pat00010
"And"
Figure 112020057647690-pat00011
") and allows the user to select the recognition result and enter it as text input to the relevant application. In some embodiments, the I/O interface module includes indications of user confirmation of the recognition result or other inputs. In response to the highest recognition result (e.g., "
Figure 112020057647690-pat00012
Automatically input "). Effective automatic input of the top result can improve the efficiency of the input interface and provide a better user experience.

일부 실시예들에서, 결과 생성 모듈(506)은 다른 인자들을 사용하여 후보 체인들의 통합된 인식 점수들을 변경한다. 예를 들어, 일부 실시예들에서, 결과 생성 모듈(506)은 선택적으로 특정한 사용자 또는 수많은 사용자들에 대해 가장 빈번하게 사용된 문자들의 로그(log)를 유지한다. 가장 빈번하게 사용된 문자들 또는 문자 시퀀스들의 목록 중에서 특정한 후보 문자들 또는 문자 시퀀스들이 발견되면, 결과 생성 모듈(506)은 선택적으로 특정한 후보 문자들 또는 문자 시퀀스들의 통합된 인식 점수들을 올린다.In some embodiments, the result generation module 506 changes the combined recognition scores of the candidate chains using other factors. For example, in some embodiments, the result generation module 506 optionally maintains a log of the most frequently used characters for a particular user or a number of users. If specific candidate characters or character sequences are found in the list of most frequently used characters or character sequences, the result generation module 506 optionally raises the combined recognition scores of the specific candidate characters or character sequences.

일부 실시예들에서, 필기 입력 모듈(157)은 사용자에게 디스플레이되는 인식 결과들에 대해 실시간 업데이트들을 제공한다. 예를 들어, 일부 실시예들에서, 사용자에 의해 입력되는 각 추가적인 획에 대해, 입력 프로세싱 모듈(502)은 선택적으로 현재 누적된 필기 입력을 재분할하고, 필기 인식 모델(504)로 제공되는 입력 이미지들 및 분할 격자를 개정한다. 결국, 필기 인식 모델(504)은 선택적으로 결과 생성 모듈(506)로 제공되는 후보 격자를 개정한다. 결과적으로, 결과 생성 모듈(506)은 선택적으로 사용자에게 제시되는 인식 결과들을 업데이트한다. 본 명세서에서 사용되는 바와 같이, 실시간 필기 인식은 필기 인식 결과들이 사용자에게 즉각적으로 또는 단기간 내에 (예컨대, 수십 밀리초 내지 수 초 이내에) 제시되는 필기 인식을 지칭한다. 실시간 필기 인식은, 나중의 인출(retrieval)을 위해 저장되는 기록된 이미지로부터 현재 사용자 세션 후에 한 번에 하지 않고, 인식이 즉시 개시되고 필기 입력의 수신과 실질적으로 동시에 수행되는 (예컨대, 오프라인 광학 문자-인식(OCR) 애플리케이션들에서처럼) 오프라인 인식과는 다르다. 또한, 오프라인 문자 인식은 개별 획들 및 획 시퀀스들에 관한 임의의 시간 정보 없이 수행되므로, 이러한 정보의 혜택 없이 분할이 수행된다. 유사해 보이는 후보 문자들 사이의 추가 명확화도 또한 이러한 시간 정보의 혜택 없이 행해진다.In some embodiments, the handwriting input module 157 provides real-time updates to the recognition results displayed to the user. For example, in some embodiments, for each additional stroke input by the user, the input processing module 502 selectively subdivides the currently accumulated handwriting input, and an input image provided to the handwriting recognition model 504 Revises the field and the division grid. Eventually, the handwriting recognition model 504 optionally revises the candidate grid provided to the result generation module 506. As a result, the result generation module 506 optionally updates recognition results presented to the user. As used herein, real-time handwriting recognition refers to handwriting recognition in which handwriting recognition results are presented to a user immediately or within a short period of time (eg, within tens of milliseconds to several seconds). Real-time handwriting recognition is not done at once after the current user session from a recorded image that is stored for later retrieval, but is initiated immediately and is performed substantially simultaneously with the reception of the handwriting input (e.g., offline optical character It is different from offline recognition (as in OCR applications). Further, since offline character recognition is performed without any temporal information regarding individual strokes and stroke sequences, segmentation is performed without the benefit of such information. Further clarification between candidate characters that appear to be similar is also done without the benefit of this temporal information.

일부 실시예들에서, 필기 인식 모델(504)은 콘볼루션 뉴럴 네트워크(convolutional neural network, CNN)로서 구현된다. 도 6은 다수의 비중첩 스크립트들에서의 문자들에 대한 기입 샘플들을 포함하는 멀티스크립트 훈련 코퍼스(604)에 대해 훈련된 예시적인 콘볼루션 뉴럴 네트워크(602)를 도시한다.In some embodiments, the handwriting recognition model 504 is implemented as a convolutional neural network (CNN). 6 shows an exemplary convolutional neural network 602 trained on a multiscript training corpus 604 that includes writing samples for characters in multiple non-overlapping scripts.

도 6에 도시된 바와 같이, 콘볼루션 뉴럴 네트워크(602)는 입력 플레인(606) 및 출력 플레인(608)을 포함한다. 입력 플레인(606)과 출력 플레인(608) 사이에는 복수의 콘볼루션 층들(610)(예컨대, 첫 번째 콘볼루션 층(610a), 0개 이상의 중간 콘볼루션 층들(도시되지 않음), 및 마지막 콘볼루션 층(610n)을 포함함)이 존재한다. 각 콘볼루션 층(610)에 뒤이어 개별 서브-샘플링 층(612)(예컨대, 첫 번째 서브-샘플링 층(612a), 0개 이상의 중간 서브-샘플링 층들(도시되지 않음) 및 마지막 서브-샘플링 층(612n))이 있다. 콘볼루션 층들 및 서브-샘플링 층들 뒤에 그리고 출력 플레인(608) 직전에 은닉 층(614)이 존재한다. 은닉 층(614)은 출력 플레인(608) 전에 있는 마지막 층이다. 일부 실시예들에서, 산출 효율을 개선시키기 위해 각 콘볼루션 층(610) 앞에 커널 층(616)(예컨대, 첫 번째 커널 층(616a), 0개 이상의 중간 커널 층들(도시되지 않음) 및 마지막 커널 층(612n)을 포함함)이 삽입된다.As shown in FIG. 6, the convolutional neural network 602 includes an input plane 606 and an output plane 608. Between the input plane 606 and the output plane 608 a plurality of convolutional layers 610 (e.g., a first convolutional layer 610a, zero or more intermediate convolutional layers (not shown)), and a last convolutional layer. Layer 610n) is present. Each convolutional layer 610 is followed by a separate sub-sampling layer 612 (e.g., a first sub-sampling layer 612a, zero or more intermediate sub-sampling layers (not shown)) and a last sub-sampling layer ( 612n)). A hidden layer 614 exists after the convolutional and sub-sampling layers and just before the output plane 608. Hidden layer 614 is the last layer before output plane 608. In some embodiments, a kernel layer 616 (e.g., a first kernel layer 616a, zero or more intermediate kernel layers (not shown), and a last kernel) in front of each convolutional layer 610 to improve output efficiency. Layer 612n) is inserted.

도 6에 도시된 바와 같이, 입력 플레인(606)은 필기 인식 유닛의 입력 이미지(614)(예컨대, 필기 문자 또는 부수)를 수신하고, 출력 플레인(608)은 인식 유닛이 개별 출력 클래스(예컨대, 뉴럴 네트워크가 인식하도록 구성되는 출력 문자 세트 중에서의 특정한 문자)에 속할 가능성을 나타내는 확률들의 세트를 출력한다. 전체적으로 뉴럴 네트워크의 출력 클래스들(또는 뉴럴 네트워크의 출력 문자 세트)은 또한 필기 인식 모델의 레퍼토리 또는 어휘라고도 지칭된다. 본 명세서에 설명되는 콘볼루션 뉴럴 네트워크는 수만의 문자들의 레퍼토리를 갖도록 훈련될 수 있다.6, the input plane 606 receives the input image 614 (e.g., handwritten character or number of copies) of the handwriting recognition unit, and the output plane 608 is the recognition unit is a separate output class (e.g., Outputs a set of probabilities indicating a probability of belonging to a specific character in the output character set configured to be recognized by the neural network. Overall the output classes of the neural network (or the output character set of the neural network) are also referred to as the repertoire or vocabulary of the handwriting recognition model. The convolutional neural network described herein can be trained to have a repertoire of tens of thousands of characters.

입력 이미지(614)가 뉴럴 네트워크의 상이한 층들을 통하여 프로세싱될 때, 입력 이미지(614)에 내장된 상이한 공간 특징부들이 콘볼루션 층들(610)에 의해 추출된다. 각 콘볼루션 층(610)은 또한 특징부 맵들의 세트라고도 지칭되고, 상이한 문자들에 대응하는 이미지들 사이를 구분하기 위해 입력 이미지(614)에서 특정한 특징부들을 선발하기 위한 필터들로서 작용한다. 서브-샘플링 층들(612)은 점점 더 큰 축척으로 특징부들이 입력 이미지(614)로부터 캡처되는 것을 보장한다. 일부 실시예들에서, 서브-샘플링 층들(612)은 최대-풀링 기법(max-pooling technique)을 이용하여 구현된다. 최대-풀링 층들은 더 큰 국부적 구역들에 걸쳐 위치 불변성을 생성하며, 각 방향을 따라 Kx 및 Ky의 인자에 의해 선행 콘볼루션 층의 출력 이미지를 다운 샘플링하는데, Kx 및 Ky는 최대-풀링 직사각형의 크기이다. 최대-풀링은 우수한 불변 특징부들을 선택함으로써 더 빠른 수렴 속도를 야기하며, 이는 일반화 성능들을 개선시킨다. 일부 실시예들에서, 서브-샘플링은 다른 방법들을 이용하여 달성된다.When the input image 614 is processed through different layers of the neural network, different spatial features embedded in the input image 614 are extracted by the convolutional layers 610. Each convolutional layer 610 is also referred to as a set of feature maps, and acts as filters to select specific features in the input image 614 to differentiate between images corresponding to different characters. The sub-sampling layers 612 ensure that features are captured from the input image 614 at an increasingly larger scale. In some embodiments, the sub-sampling layers 612 are implemented using a max-pooling technique. The max-pooling layers create position invariance over larger localized regions, down-samples the output image of the preceding convolutional layer by a factor of Kx and Ky along each direction, where Kx and Ky are of the max-pooling rectangle. It's the size. Max-pooling results in faster convergence speed by selecting good invariant features, which improves generalization performances. In some embodiments, sub-sampling is achieved using other methods.

일부 실시예들에서, 콘볼루션 층(610n) 및 서브-샘플링 층(612n)의 마지막 세트 뒤에 그리고 출력 플레인(608) 앞에, 완전-접속 층(fully-connected layer), 즉 은닉 층(614)이 존재한다. 완전-접속 은닉 층(614)은 마지막 서브-샘플링 층(612n)에서의 노드들과 출력 플레인(608)에서의 노드들을 완전히 접속시키는 다층 퍼셉트론(multi-layer perceptron)이다. 은닉 층(614)은, 로지스틱 회귀(logistic regression)가 출력 층(608)에서의 출력 문자들 중 하나에 도달하기 전에 그리고 그 도중에, 그 층으로부터 수신된 출력 이미지들을 차지한다.In some embodiments, after the last set of convolutional layer 610n and sub-sampling layer 612n and before output plane 608, there is a fully-connected layer, i.e., hidden layer 614. exist. The fully-connected concealed layer 614 is a multi-layer perceptron that fully connects the nodes in the output plane 608 with the nodes in the last sub-sampling layer 612n. Hidden layer 614 occupies output images received from that layer before and during logistic regression reaching one of the output characters in output layer 608.

콘볼루션 뉴럴 네트워크(602)의 훈련 동안, 훈련 코퍼스(604)에서의 알려진 출력 클래스들을 이용한 기입 샘플들에 대해 구분 오류들이 최소화되도록 콘볼루션 층들(610)에서의 특징부들 및 특징부들과 연관된 개별 가중치들뿐만 아니라 은닉 층(614)에서의 파라미터들과 연관된 가중치들이 조율된다. 일단 콘볼루션 뉴럴 네트워크(602)가 훈련되었고 네트워크에서의 상이한 층들에 대해 최적 세트의 파라미터들 및 연관된 가중치들이 확립되었다면, 콘볼루션 뉴럴 네트워크(602)를 사용하여, 훈련 코퍼스(604)의 부분이 아닌 새로운 기입 샘플들(618), 예를 들어 사용자로부터 수신된 실시간 필기 입력에 기초하여 생성되는 입력 이미지들을 인식한다.During training of the convolutional neural network 602, features in the convolutional layers 610 and individual weights associated with the features are minimized so that discrimination errors are minimized for write samples using known output classes in the training corpus 604. As well as the weights associated with the parameters in the hidden layer 614 are tuned. Once the convolutional neural network 602 has been trained and the optimal set of parameters and associated weights have been established for the different layers in the network, using the convolutional neural network 602, which is not part of the training corpus 604. Recognize new writing samples 618, for example input images generated based on real-time handwriting input received from a user.

본 명세서에 설명되는 바와 같이, 필기 입력 인터페이스의 콘볼루션 뉴럴 네트워크는 멀티스크립트 또는 혼합 스크립트 필기 인식을 가능하게 하기 위해 멀티스크립트 훈련 코퍼스를 사용하여 훈련된다. 일부 실시예들에서, 콘볼루션 뉴럴 네트워크는 30,000개 내지 60,000개 초과의 문자들(예컨대, 유니코드 표준에 의해 인코딩되는 모든 문자들)의 큰 레퍼토리를 인식하도록 훈련된다. 대부분의 최신의(state-of-the-art) 필기 인식 시스템들은 획 순서에 의존적인 은닉 마르코프 방법(HMM)들에 기초한다. 또한, 대부분의 기존의 필기 인식 모델들은 언어-특정적이며, 수십 개의 문자들(예컨대, 영어 알파벳, 그리스어 알파벳, 전부 10개의 숫자들 등의 문자) 내지 몇 천 개의 문자들 (예컨대, 대부분의 상용 한자의 세트)까지의 작은 레퍼토리를 포함한다. 이와 같이, 본 명세서에 설명되는 보편적인 인식기는 대부분의 기존의 시스템들보다 수십 배 더 많은 문자들을 취급할 수 있다.As described herein, the convolutional neural network of the handwriting input interface is trained using a multiscript training corpus to enable multiscript or mixed script handwriting recognition. In some embodiments, the convolutional neural network is trained to recognize a large repertoire of 30,000 to more than 60,000 characters (eg, all characters encoded by the Unicode standard). Most state-of-the-art handwriting recognition systems are based on hidden Markov methods (HMMs) that are stroke order dependent. In addition, most existing handwriting recognition models are language-specific, and dozens of characters (e.g., English alphabet, Greek alphabet, characters such as 10 numbers in total) to thousands of characters (e.g., most commercially available) Includes a small repertoire up to a set of Chinese characters). As such, the universal recognizer described herein can handle dozens of times more characters than most existing systems.

몇몇 종래의 필기 시스템들은 여러 개의 개별적으로 훈련된 필기 인식 모델들을 포함할 수 있고, 각각의 필기 인식 모델은 특정한 언어 또는 문자들의 작은 세트에 대해 맞춤화되어 있다. 기입 샘플은 구분이 이루어질 때까지 상이한 인식 모델들을 거쳐 전파된다. 예를 들어, 필기 샘플은 일련의 연속된 언어-특정 또는 스크립트-특정 문자 인식 모델들로 제공될 수 있고, 필기 샘플이 제1 인식 모델에 의해 확실히 구분될 수 없는 경우, 그것은 다음 인식 모델로 제공되는데, 다음 인식 모델은 필기 샘플을 그 자신의 레퍼토리 내에서 구분하려고 시도한다. 구분을 위한 이 접근법은 시간 소모적이며, 메모리 요건은 이용될 필요가 있는 각각의 추가적인 인식 모델에 따라 빠르게 증가한다.Some conventional handwriting systems may include several individually trained handwriting recognition models, each handwriting recognition model customized for a specific language or small set of characters. The writing sample is propagated through different recognition models until a distinction is made. For example, a handwriting sample may be provided as a series of consecutive language-specific or script-specific character recognition models, and if the handwriting sample cannot be clearly distinguished by the first recognition model, it is provided as the next recognition model. However, the next recognition model attempts to distinguish handwriting samples within its own repertoire. This approach to classification is time consuming, and memory requirements increase rapidly with each additional recognition model that needs to be used.

다른 최신의 모델들은 사용자에게 선호 언어를 특정하도록 요구하며, 선택된 필기 인식 모델을 사용하여 현재의 입력을 구분한다. 이러한 구현예들은 사용하기 번잡하고 상당한 메모리를 소모할 뿐만 아니라 혼합 언어 입력을 인식하기 위해 사용될 수도 없다. 혼합 언어 또는 혼합 스크립트 입력을 입력하는 도중에 사용자에게 언어 기본 설정을 전환하도록 요구하는 것은 비현실적이다.Other modern models require the user to specify a preferred language, and use the selected handwriting recognition model to differentiate the current input. Not only are these implementations cumbersome to use and consume significant memory, they cannot be used to recognize mixed language input. It is impractical to ask the user to switch language preferences while entering mixed language or mixed script input.

본 명세서에서 설명되는 멀티스크립트 또는 보편적인 인식기는 종래의 인식 시스템들에 대한 상기 문제점들의 적어도 일부를 다룬다. 도 7은, 필기 인식 모듈이 후속하여 사용자의 필기 입력에 대한 실시간 다중 언어 및 멀티스크립트 필기 인식을 제공하기 위해 사용될 수 있도록, 대형 멀티스크립트 훈련 코퍼스를 사용하여 필기 인식 모듈(예컨대, 콘볼루션 뉴럴 네트워크)을 훈련시키기 위한 예시적인 프로세스(700)의 플로차트이다.The multiscript or universal recognizer described herein addresses at least some of the above problems with conventional recognition systems. 7 shows a handwriting recognition module (e.g., convolutional neural network) using a large multi-script training corpus, so that the handwriting recognition module can subsequently be used to provide real-time multi-language and multi-script handwriting recognition for the user's handwriting input. ) Is a flowchart of an exemplary process 700 for training.

일부 실시예들에서, 필기 인식 모델의 훈련이 서버 디바이스 상에서 수행된 후에, 훈련된 필기 인식 모델이 사용자 디바이스로 제공된다. 필기 인식 모델은 선택적으로 서버로부터의 추가 지원을 요구하지 않고서 사용자 디바이스 상에서 국부적으로 실시간 필기 인식을 수행한다. 일부 실시예들에서, 훈련 및 인식 둘 모두가 동일한 디바이스 상에서 제공된다. 예를 들어, 서버 디바이스는 사용자 디바이스로부터 사용자의 필기 입력을 수신하고, 필기 인식을 수행하고, 인식 결과들을 사용자 디바이스로 실시간으로 전송할 수 있다.In some embodiments, after training of the handwriting recognition model is performed on the server device, the trained handwriting recognition model is provided to the user device. The handwriting recognition model selectively performs real-time handwriting recognition locally on the user device without requiring additional support from the server. In some embodiments, both training and recognition are provided on the same device. For example, the server device may receive a user's handwriting input from the user device, perform handwriting recognition, and transmit recognition results to the user device in real time.

예시적인 프로세스(700)에서, 하나 이상의 프로세서들 및 메모리를 갖는 디바이스에서, 디바이스는 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들(예컨대, 획 순서 독립적인 특징부들)에 기초하여 멀티스크립트 필기 인식 모델을 훈련시킨다(702). 일부 실시예들에서, 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들은 획 순서 독립적이며 획 방향 독립적이다(704). 일부 실시예들에서, 멀티스크립트 필기 인식 모델의 훈련은 필기 샘플들에서의 개별 획들과 연관된 시간 정보에 관계없다(706). 구체적으로, 필기 샘플들의 이미지들은 사전결정된 크기로 정규화되고, 이미지들은 개별 획들이 이미지를 형성하도록 입력되는 순서에 대한 어떠한 정보도 포함하지 않는다. 게다가, 이미지들은 또한 개별 획들이 이미지를 형성하도록 입력되는 방향에 대한 어떠한 정보도 포함하지 않는다. 사실상, 훈련 동안, 이미지들이 개별 획들에 의해 어떻게 시간적으로 형성되는지에 상관없이 필기 이미지들로부터 특징부들이 추출된다. 따라서, 인식 동안, 개별 획들에 관련된 시간 정보가 필요하지 않다. 결과적으로, 인식은 필기 입력에서의 지연된, 비순서적인(out-of-order) 획들, 및 임의의 획 방향들에도 불구하고 확고하게 일관된 인식 결과들을 제공한다.In exemplary process 700, in a device having one or more processors and memory, the device builds a multiscript handwriting recognition model based on the space-derived features (e.g., stroke order independent features) of the multiscript training corpus. Train (702). In some embodiments, the space-derived features of the multiscript training corpus are stroke order independent and stroke direction independent (704). In some embodiments, training of the multiscript handwriting recognition model is independent of temporal information associated with individual strokes in the handwriting samples (706). Specifically, the images of the handwriting samples are normalized to a predetermined size, and the images do not contain any information about the order in which individual strokes are input to form an image. In addition, the images also contain no information about the direction in which individual strokes are input to form the image. In fact, during training, features are extracted from handwritten images regardless of how the images are temporally formed by individual strokes. Thus, during recognition, time information related to individual strokes is not required. As a result, recognition provides firmly consistent recognition results despite delayed, out-of-order strokes in handwriting input, and arbitrary stroke directions.

일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 적어도 3개의 비중첩 스크립트들의 문자들에 대응하는 필기 샘플들을 포함한다. 도 6에 도시된 바와 같이, 멀티스크립트 훈련 코퍼스는 많은 사용자들로부터 수집된 필기 샘플들을 포함한다. 각 필기 샘플은 필기 인식 모델에서 표시되는 개별 스크립트의 하나의 문자에 대응한다. 필기 인식 모델을 적절히 훈련시키기 위해, 훈련 코퍼스는 필기 인식 모델에서 표시되는 스크립트들의 각 문자에 대한 많은 수의 기입 샘플들을 포함한다.In some embodiments, the multiscript training corpus includes handwriting samples corresponding to characters of at least three non-overlapping scripts. As shown in Fig. 6, the multiscript training corpus contains handwriting samples collected from many users. Each handwriting sample corresponds to one character of an individual script displayed in the handwriting recognition model. In order to properly train the handwriting recognition model, the training corpus contains a large number of writing samples for each character of the scripts displayed in the handwriting recognition model.

일부 실시예들에서, 적어도 3개의 비중첩 스크립트들은 한자들, 이모지 캐릭터들 및 라틴어 스크립트를 포함한다(708). 일부 실시예들에서, 멀티스크립트 필기 인식 모델은 적어도 3개의 비중첩 스크립트들에 걸치는 30,000개의 문자들을 표시하는 적어도 30,000개의 출력 클래스들을 갖는다(710).In some embodiments, the at least three non-overlapping scripts include 708 Chinese characters, emoji characters, and Latin scripts. In some embodiments, the multiscript handwriting recognition model has (710) at least 30,000 output classes representing 30,000 characters spanning at least three non-overlapping scripts.

일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 유니코드 표준으로 인코딩된 모든 한자들(예컨대, 모든 CJK(중국어-일본어-한국어) 통일된 표의 문자(unified ideograph)들의 상당 부분 또는 전부)의 각 문자에 대한 개별 기입 샘플들을 포함한다. 유니코드 표준은 전체 약 74,000개의 CJK 통일된 표의 문자들을 정의한다. CJK 통일된 표의 문자들의 기본 블록(4E00-9FFF)은 중국어에서뿐만 아니라 일본어, 한국어 및 베트남어에서도 사용되는 20,941개의 기본 한자들을 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 CJK 통일된 표의 문자들의 기본 블록에서의 모든 문자들에 대한 기입 샘플들을 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 하나 이상의 복합 한자들을 구조적으로 구성하도록 사용될 수 있는 CJK 부수들에 대한 기입 샘플들을 추가로 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 CJK 통일된 표의 문자 확장들 중 하나 이상으로 인코딩된 한자들과 같이 덜 빈번하게 사용된 한자들에 대한 기입 샘플들을 추가로 포함한다.In some embodiments, the multiscript training corpus is applied to each character of all Chinese characters encoded in the Unicode standard (e.g., a significant portion or all of all CJK (Chinese-Japanese-Korean) unified ideographs). Includes individual write samples for. The Unicode standard defines a total of about 74,000 CJK unified ideographic characters. The CJK unified ideographic block (4E00-9FFF) contains 20,941 basic Chinese characters used not only in Chinese, but also in Japanese, Korean and Vietnamese. In some embodiments, the multiscript training corpus includes writing samples for all characters in the basic block of CJK unified ideographic characters. In some embodiments, the multiscript training corpus further includes writing samples for CJK minors that can be used to structurally construct one or more complex Chinese characters. In some embodiments, the multiscript training corpus further includes writing samples for less frequently used Chinese characters, such as Chinese characters encoded with one or more of the CJK unified ideographic extensions.

일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 유니코드 표준에 의해 인코딩된 라틴어 스크립트에서의 모든 문자들의 각 문자에 대한 개별 기입 샘플들을 추가로 포함한다. 기본 라틴어 스크립트에서의 문자들은, 라틴어 소문자 및 대문자 뿐만 아니라 표준 라틴어 키보드 상에서 일반적으로 사용되는 다양한 기본 심볼들 및 숫자들도 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 확장된 라틴어 스크립트 (예컨대, 기본 라틴어 문자들의 다양한 억양 형태들)에서의 문자들을 추가로 포함한다.In some embodiments, the multiscript training corpus further includes individual writing samples for each character of all characters in the Latin script encoded by the Unicode standard. The letters in the basic Latin script include Latin lowercase and uppercase letters, as well as various basic symbols and numbers commonly used on a standard Latin keyboard. In some embodiments, the multiscript training corpus further includes characters in an extended Latin script (eg, various accent forms of basic Latin characters).

일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 임의의 자연 인간 언어와 연관되지 않은 인공 스크립트의 각 문자에 대응하는 기입 샘플들을 포함한다. 예를 들어, 일부 실시예들에서, 이모지 캐릭터들의 세트가 이모지 스크립트에서 선택적으로 정의되고, 이모지 캐릭터들 각각에 대응하는 기입 샘플들이 멀티스크립트 훈련 코퍼스에 포함된다. 예를 들어, 손으로 그려진 하트 형상의 심볼이 훈련 코퍼스에서 이모지 캐릭터 "♥"에 대한 필기 샘플이다. 유사하게, 손으로 그려진 웃는 얼굴(예컨대, 뒤집힌 원호 위에 있는 2개의 점들)이 훈련 코퍼스에서 이모지 캐릭터 "

Figure 112020057647690-pat00013
"에 대한 필기 샘플이다. 그 외의 이모지 캐릭터들에는, 상이한 감정들(예컨대, 행복, 슬픔, 분노, 당황, 충격, 웃음, 울기, 좌절 등), 상이한 개체들 및 캐릭터들(예컨대, 고양이, 개, 토끼, 심장, 과일, 눈, 입술, 선물, 꽃, 촛불, 달, 별 등), 그리고 상이한 행동들(예컨대, 악수, 키스, 달리기, 댄스, 점프, 수면, 식사, 만남, 사랑, 좋아함, 투표 등) 등을 나타내는 아이콘들의 카테고리들이 포함된다. 일부 실시예들에서, 이모지 캐릭터에 대응하는 필기 샘플에서의 획들은 대응하는 이모지 캐릭터를 형성하는 실제 라인들의 간결화되고 그리고/또는 스타일화된(stylized) 라인들이다. 일부 실시예들에서, 각 디바이스 또는 애플리케이션은 동일한 이모지 캐릭터에 대한 상이한 설계를 이용할 수 있다. 예를 들어, 2명의 사용자들로부터 수신된 필기 입력들이 실질적으로 동일할지라도, 여성 사용자에게 제시되는 스마일상 이모지 캐릭터는 남성 사용자에게 제시되는 스마일상 이모지 캐릭터와는 다를 수 있다.In some embodiments, the multiscript training corpus includes writing samples corresponding to each character of an artificial script that is not associated with any natural human language. For example, in some embodiments, a set of emoji characters is optionally defined in an emoji script, and writing samples corresponding to each of the emoji characters are included in the multiscript training corpus. For example, a hand-drawn heart-shaped symbol is a handwritten sample of the emoji character "♥" in the training corpus. Similarly, a hand-drawn smiling face (e.g., two dots on an inverted arc) appears as an emoji character in the training corpus.
Figure 112020057647690-pat00013
"It is a handwritten sample of. Other emoji characters include different emotions (eg, happiness, sadness, anger, embarrassment, shock, laughter, crying, frustration, etc.), different entities and characters (eg, cat, Dogs, rabbits, heart, fruit, eyes, lips, gifts, flowers, candles, moon, stars, etc.) and different actions (e.g. shaking hands, kissing, running, dancing, jumping, sleeping, eating, meeting, love, liking) , Voting, etc.), etc. In some embodiments, the strokes in the handwriting sample corresponding to the emoji character are simplified and/or stylized of the actual lines forming the corresponding emoji character. In some embodiments, each device or application may use a different design for the same emoji character, for example, even if the handwriting inputs received from two users are substantially the same. , The smiley emoji character presented to a female user may be different from the smiley emoji character presented to a male user.

일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 또한 다른 스크립트들, 예를 들어 그리스어 스크립트(예컨대, 그리스어 문자들 및 심볼들을 포함함), 키릴 문자 스크립트, 히브리어 스크립트, 및 유니코드 표준에 따라 인코딩된 하나 이상의 다른 스크립트들에서의 문자들에 대한 기입 샘플들을 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스에 포함된 적어도 3개의 비중첩 스크립트들은 한자들, 이모지 캐릭터들, 및 라틴어 스크립트에서의 문자들을 포함한다. 한자들, 이모지 캐릭터들, 및 라틴어 스크립트에서의 문자들은 당연히 비중첩 스크립트들이다. 많은 다른 스크립트들이 적어도 일부 문자들에 대해 서로 중첩할 수 있다. 예를 들어, 라틴어 스크립트에서의 일부 문자들(예컨대, A, Z)은 많은 다른 스크립트들(예컨대, 그리스어 및 키릴 문자)에서 발견될 수도 있다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 한자들, 아랍어 스크립트 및 라틴어 스크립트를 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 중첩 및/또는 비중첩 스크립트들의 다른 조합들을 포함한다. 일부 실시예들에서, 멀티스크립트 훈련 코퍼스는 유니코드 표준에 의해 인코딩된 모든 문자들에 대한 기입 샘플들을 포함한다.In some embodiments, the multiscript training corpus also includes other scripts, e.g., Greek script (e.g., including Greek characters and symbols), Cyrillic script, Hebrew script, and one encoded according to the Unicode standard. Includes writing samples for characters in the above other scripts. In some embodiments, at least three non-overlapping scripts included in the multiscript training corpus include Chinese characters, emoji characters, and characters in a Latin script. Chinese characters, emoji characters, and characters in Latin script are naturally non-overlapping scripts. Many different scripts can overlap each other for at least some characters. For example, some letters (eg, A, Z) in Latin scripts may be found in many other scripts (eg, Greek and Cyrillic). In some embodiments, the multiscript training corpus includes Chinese characters, Arabic script and Latin script. In some embodiments, the multiscript training corpus includes other combinations of overlapping and/or non-overlapping scripts. In some embodiments, the multiscript training corpus includes writing samples for all characters encoded by the Unicode standard.

도 7에 도시된 바와 같이, 일부 실시예들에서, 멀티스크립트 필기 인식 모델을 훈련시키기 위해, 디바이스는 멀티스크립트 훈련 코퍼스의 필기 샘플들을 단일 입력 플레인 및 단일 출력 플레인을 갖는 단일 콘볼루션 뉴럴 네트워크로 제공한다(712). 디바이스는 콘볼루션 뉴럴 네트워크를 사용하여, 멀티스크립트 훈련 코퍼스에서 표시되는 적어도 3개의 비중첩 스크립트들의 문자들을 구분하기 위해 필기 샘플들의 공간-유도 특징부들(예컨대, 획-순서 독립적인 특징부들) 및 공간-유도 특징부들에 대한 개별 가중치들을 결정한다(714). 멀티스크립트 필기 인식 모델은, 단일 입력 플레인 및 단일 출력 플레인을 갖는 단일 필기 인식 모델이 멀티스크립트 훈련 코퍼스에서의 모든 샘플들을 사용하여 훈련된다는 점에서, 종래의 멀티스크립트 필기 인식 모델들과 다르다. 훈련 코퍼스의 작은 서브세트를 각각 취급하는 개별 서브-네트워크들(예컨대, 특정한 스크립트의 문자들 또는 특정한 언어에서 사용되는 문자들을 인식하기 위해 각각 훈련된 서브-네트워크들)에 의존하지 않고서, 멀티스크립트 훈련 코퍼스에서 표시되는 모든 문자들을 구별하기 위해 단일 콘볼루션 뉴럴 네트워크가 훈련된다. 또한, 단일 콘볼루션 뉴럴 네트워크는, 라틴어 스크립트 및 그리스어 스크립트(예컨대, 중첩 문자들 A, B, E, Z 등을 가짐)와 같은, 수 개의 중첩 스크립트들의 문자들보다는, 다수의 비중첩 스크립트들에 걸치는 많은 수의 문자들을 구별하기 위해 훈련된다.As shown in Figure 7, in some embodiments, to train a multiscript handwriting recognition model, the device provides handwriting samples of the multiscript training corpus to a single convolutional neural network with a single input plane and a single output plane. Do (712). The device uses a convolutional neural network to separate space-derived features (e.g., stroke-order independent features) and space of the handwriting samples to distinguish characters of at least three non-overlapping scripts displayed in the multiscript training corpus. -Determine individual weights for the derived features (714). The multiscript handwriting recognition model differs from conventional multiscript handwriting recognition models in that a single handwriting recognition model with a single input plane and a single output plane is trained using all samples in the multiscript training corpus. Multiscript training, without relying on individual sub-networks each handling a small subset of the training corpus (e.g., sub-networks each trained to recognize characters in a particular script or used in a particular language) A single convolutional neural network is trained to distinguish all characters displayed in the corpus. In addition, a single convolutional neural network is applied to multiple non-overlapping scripts, rather than characters of several overlapping scripts, such as Latin script and Greek script (e.g., having overlapping characters A, B, E, Z, etc. The spanning is trained to distinguish a large number of characters.

일부 실시예들에서, 디바이스는 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들에 대해 훈련된 멀티스크립트 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공한다(716). 일부 실시예들에서, 사용자의 필기 입력에 대한 실시간 필기 인식을 제공하는 것은, 사용자가 계속해서 필기 입력의 추가 또는 개정을 제공함에 따라 사용자의 필기 입력에 대한 인식 출력을 연속적으로 개정하는 것을 포함한다. 일부 실시예들에서, 사용자의 필기 입력에 대한 실시간 필기 인식을 제공하는 것은, 멀티스크립트 필기 인식 모델을 사용자 디바이스로 제공하는 것(718)을 추가로 포함하는데, 여기서 사용자 디바이스는 사용자로부터 필기 입력을 수신하고, 멀티스크립트 필기 인식 모델에 기초하여 필기 입력에 대한 필기 인식을 국부적으로 수행한다.In some embodiments, the device provides 716 real-time handwriting recognition for the user's handwriting input using a multiscript handwriting recognition model trained on the space-guided features of the multiscript training corpus. In some embodiments, providing real-time handwriting recognition for the user's handwriting input includes continuously revising the recognition output for the user's handwriting input as the user continues to provide additions or revisions of the handwriting input. . In some embodiments, providing real-time handwriting recognition for the user's handwriting input further comprises providing 718 a multiscript handwriting recognition model to the user device, wherein the user device receives handwriting input from the user. Receive, and locally perform handwriting recognition on the handwriting input based on the multi-script handwriting recognition model.

일부 실시예들에서, 디바이스는 멀티스크립트 필기 인식 모델을 복수의 디바이스들의 개별 입력 언어들이 중첩되지 않는 복수의 디바이스들로 제공하고, 멀티스크립트 필기 인식 모델은 복수의 디바이스들의 각각 상에서 상기 각 사용자 디바이스와 연관된 상이한 언어의 필기 인식을 위해 사용된다. 예를 들어, 멀티스크립트 필기 인식 모델이 많은 상이한 스크립트들 및 언어들에서의 문자들을 인식하도록 훈련된 경우, 동일한 필기 인식 모델이 이들 입력 언어들 중 임의의 것에 대한 필기 입력을 제공하기 위해 전세계적으로 사용될 수 있다. 영어 및 히브리어로만 입력하기를 원하는 사용자를 위한 제1 디바이스는 중국어 및 이모지 캐릭터로만 입력하기를 원하는 다른 사용자를 위한 제2 디바이스와 동일한 필기 인식 모델을 사용하여 필기 입력 기능을 제공할 수 있다. 제1 디바이스의 사용자에게 (예컨대, 영어-특정 필기 인식 모델로 구현된) 영어 필기 입력 키보드 및 (예컨대, 히브리어-특정 필기 인식 모델로 구현된) 별도의 히브리어 필기 입력 키보드를 별도로 설치하도록 요구하는 대신에, 동일한 보편적인 멀티스크립트 필기 인식 모델이 제1 디바이스 상에 한 번 설치되고, 사용되어 영어와 히브리어 둘 모두 뿐만 아니라 두 언어들의 혼합 입력에 대한 필기 입력 기능도 제공할 수 있다. 게다가, 제2 사용자에게 (예컨대, 중국어-특정 필기 인식 모델로 구현된) 중국어 필기 입력 키보드 및 (예컨대, 이모지 필기 인식 모델로 구현된) 별도의 이모지 필기 입력 키보드를 설치하도록 요구하는 대신에, 동일한 보편적인 멀티스크립트 필기 인식 모델이 제2 디바이스 상에 한 번 설치되고, 사용되어 중국어와 이모지 둘 모두 뿐만 아니라 두 스크립트들의 혼합 입력에 대한 필기 입력 기능도 제공할 수 있다. 동일한 멀티스크립트 필기 모델을 사용하여 다중 스크립트들에 걸치는 큰 레퍼토리(예컨대, 거의 100개의 상이한 스크립트들로 인코딩된 문자들의 상당 부분 또는 전부)를 취급하는 것은, 사용자들 및 디바이스 공급자들의 일부에 대한 상당한 부담 없이 인식기의 유용성을 개선시킨다.In some embodiments, the device provides a multi-script handwriting recognition model to a plurality of devices in which individual input languages of the plurality of devices do not overlap, and the multi-script handwriting recognition model is configured with each user device on each of the plurality of devices. Used for handwriting recognition of different languages involved. For example, if a multiscript handwriting recognition model is trained to recognize characters in many different scripts and languages, the same handwriting recognition model will be used worldwide to provide handwriting input for any of these input languages. Can be used. The first device for a user who wants to input only in English and Hebrew may provide a handwriting input function using the same handwriting recognition model as the second device for other users who want to input only in Chinese and emoji characters. Instead of requiring the user of the first device to separately install an English handwriting input keyboard (e.g., implemented with an English-specific handwriting recognition model) and a separate Hebrew handwriting input keyboard (e.g., implemented with a Hebrew-specific handwriting recognition model) In addition, the same universal multi-script handwriting recognition model can be installed and used once on the first device to provide a handwriting input function for both English and Hebrew as well as mixed input of the two languages. In addition, instead of requiring the second user to install a Chinese handwriting input keyboard (e.g., implemented with a Chinese-specific handwriting recognition model) and a separate Emoji handwriting input keyboard (e.g., implemented with an emoji handwriting recognition model) The same universal multi-script handwriting recognition model can be installed and used once on the second device to provide a handwriting input function for both Chinese and emoji as well as mixed input of the two scripts. Handling a large repertoire across multiple scripts (e.g., a significant portion or all of the characters encoded in nearly 100 different scripts) using the same multi-script handwriting model is a significant burden on users and some of the device providers. Without improving the usefulness of the recognizer.

대형 멀티스크립트 훈련 코퍼스를 사용한 멀티스크립트 필기 인식 모델 훈련은 종래의 HMM-기반 필기 인식 시스템과는 다르며, 문자들의 개별 획들과 연관된 시간 정보에 의존하지 않는다. 또한, 멀티스크립트 인식 시스템에 대한 자원 및 메모리 요건은 멀티스크립트 인식 시스템에 의해 커버되는 심볼들 및 언어들의 증가에 따라 선형으로 증가하지 않는다. 예를 들어, 종래의 필기 시스템에서, 언어들의 수를 증가시키는 것은 다른 독립적으로 훈련된 모델을 추가하는 것을 의미하고, 메모리 요건은 필기 인식 시스템의 증가되는 능력을 수용하기 위해 적어도 2배가 될 것이다. 대조적으로, 멀티스크립트 모델이 멀티스크립트 훈련 코퍼스에 의해 훈련되는 경우, 언어 커버리지를 증가시키는 것은 필기 인식 모델을 추가적인 필기 샘플들로 다시 훈련시키는 것, 및 출력 플레인의 크기를 증가시키는 것을 요구하지만, 그 증가량은 매우 완만하다. 멀티스크립트 훈련 코퍼스가 n개의 상이한 언어들에 대응하는 필기 샘플들을 포함하며 멀티스크립트 필기 인식 모델이 크기 m의 메모리를 차지한다고 가정하면, 언어 커버리지를 N개의 언어들로 증가시킬 경우(N>n), 디바이스는 제2 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들에 기초하여 멀티스크립트 필기 인식 모델을 다시 훈련시키는데, 제2 멀티스크립트 훈련 코퍼스는 N개 상이한 언어들에 대응하는 제2 필기 샘플들을 포함한다. M/m의 변화는 1 내지 2의 범위 내에서 실질적으로 일정하게 유지되고, 여기서 N/n의 변화는 1 내지 100이다. 일단 멀티스크립트 필기 인식 모델이 다시 훈련되면, 디바이스는 다시 훈련된 멀티스크립트 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공할 수 있다.Multiscript handwriting recognition model training using a large multiscript training corpus is different from conventional HMM-based handwriting recognition systems and does not rely on temporal information associated with individual strokes of characters. Also, the resource and memory requirements for a multiscript recognition system do not increase linearly with increasing symbols and languages covered by the multiscript recognition system. For example, in a conventional handwriting system, increasing the number of languages means adding another independently trained model, and the memory requirements will be at least doubled to accommodate the increasing capabilities of the handwriting recognition system. In contrast, if the multiscript model is trained by the multiscript training corpus, increasing the language coverage requires retraining the handwriting recognition model with additional handwriting samples, and increasing the size of the output plane, but that The increase is very gentle. Assuming that the multiscript training corpus contains handwriting samples corresponding to n different languages and the multiscript handwriting recognition model occupies a memory of size m , if the language coverage is increased to N languages (N>n) , The device retrains the multiscript handwriting recognition model based on the space-derived features of the second multiscript training corpus, the second multiscript training corpus comprising second handwriting samples corresponding to N different languages. . The change in M / m remains substantially constant within the range of 1 to 2, where the change in N / n is 1 to 100. Once the multiscript handwriting recognition model is retrained, the device can use the retrained multiscript handwriting recognition model to provide real-time handwriting recognition for the user's handwriting input.

도 8a 및 도 8b는 휴대용 사용자 디바이스(예컨대, 디바이스(100)) 상에서의 실시간 멀티스크립트 필기 인식 및 입력을 제공하기 위한 예시적인 사용자 인터페이스들을 도시한다. 도 8a 및 도 8b에서, 필기 입력 인터페이스(802)가 사용자 디바이스의 터치 감응 디스플레이 스크린(예컨대, 터치 스크린(112)) 상에 디스플레이된다. 필기 입력 인터페이스(802)는 필기 입력 영역(804), 후보 디스플레이 영역(806), 및 텍스트 입력 영역(808)을 포함한다. 일부 실시예들에서, 필기 입력 인터페이스(802)는 복수의 제어 요소들을 추가로 포함하고, 여기서 그들 각각은 필기 입력 인터페이스로 하여금 사전결정된 기능을 수행하도록 하기 위해 호출될 수 있다. 도 8a에 도시된 바와 같이, 삭제 버튼, 스페이스 버튼, 캐리지 리턴(carriage return) 또는 엔터(Enter) 버튼, 키보드 전환 버튼이 필기 입력 인터페이스에 포함된다. 다른 제어 요소들이 가능하며, 선택적으로 필기 입력 인터페이스에서 제공되어 필기 입력 인터페이스(802)를 활용한 각각의 상이한 애플리케이션에 적합하게 할 수 있다. 필기 입력 인터페이스(802)의 상이한 컴포넌트의 레이아웃은 단지 예시적이며, 상이한 디바이스들 및 상이한 애플리케이션들에 따라 다를 수 있다.8A and 8B illustrate exemplary user interfaces for providing real-time multiscript handwriting recognition and input on a portable user device (eg, device 100). 8A and 8B, a handwriting input interface 802 is displayed on a touch-sensitive display screen (eg, touch screen 112) of a user device. The handwriting input interface 802 includes a handwriting input area 804, a candidate display area 806, and a text input area 808. In some embodiments, the handwriting input interface 802 further includes a plurality of control elements, each of which may be invoked to cause the handwriting input interface to perform a predetermined function. As shown in FIG. 8A, a delete button, a space button, a carriage return or enter button, and a keyboard switch button are included in the handwriting input interface. Other control elements are possible and can optionally be provided in the handwriting input interface to suit each different application utilizing the handwriting input interface 802. The layout of the different components of the handwriting input interface 802 is merely exemplary and may differ for different devices and different applications.

일부 실시예들에서, 필기 입력 영역(804)은 사용자로부터 필기 입력을 수신하기 위한 터치 감응 영역이다. 터치 스크린 상에서 필기 입력 영역(804) 내에서의 지속된 접촉 및 그의 연관된 모션 경로가 필기 획으로서 등록된다. 일부 실시예들에서, 디바이스에 의해 등록된 필기 획은 지속된 접촉에 의해 추적되는 동일한 위치들에서 필기 입력 영역(804) 내에서 시각적으로 렌더링된다. 도 8a에 도시된 바와 같이, 사용자는 필기 입력 영역(804)에서, 일부 필기 한자들(예컨대, "

Figure 112020057647690-pat00014
"), 일부 필기 영어 문자들(예컨대, "Happy"), 및 손으로 그려진 이모지 캐릭터(예컨대, 스마일상)을 포함하는 다수의 필기 획들을 제공하였다. 필기 문자들은 필기 입력 영역(804)에서 다수의 라인들(예컨대, 2개의 라인들)로 분포된다.In some embodiments, the handwriting input area 804 is a touch sensitive area for receiving a handwriting input from a user. The sustained contact within the handwriting input area 804 on the touch screen and its associated motion path is registered as a handwritten stroke. In some embodiments, the handwritten stroke registered by the device is visually rendered within the handwriting input area 804 at the same locations tracked by the sustained contact. As shown in FIG. 8A, in the handwriting input area 804, the user selects some handwritten Chinese characters (eg, “
Figure 112020057647690-pat00014
"), some handwritten English characters (eg, "Happy"), and a number of handwritten strokes including a hand drawn emoji character (eg, on a smiley). The handwritten characters are provided in the handwriting input area 804. It is distributed over a number of lines (eg, two lines).

일부 실시예들에서, 후보 디스플레이 영역(806)은 필기 입력 영역(804)에서 현재 누적된 필기 입력에 대한 하나 이상의 인식 결과들(예컨대, 810 및 812)을 디스플레이한다. 일반적으로, 최상위 인식 결과(예컨대, 810)는 후보 디스플레이 영역에서 첫 번째 위치에 디스플레이된다. 도 8a에 도시된 바와 같이, 본 명세서에 설명되는 필기 인식 모델은 한자들, 라틴어 스크립트 및 이모지 캐릭터들을 포함한 다수의 비중첩 스크립트들의 문자들을 인식할 수 있기 때문에, 인식 모델에 의해 제공되는 인식 결과(예컨대, 810)는 필기 입력에 의해 표시되는, 한자들, 영어 문자들 및 이모지 캐릭터를 정확하게 포함한다. 사용자는 인식 언어들을 선택하거나 또는 전환하기 위해 입력을 기입하는 도중에 정지하도록 요구되지 않는다.In some embodiments, the candidate display area 806 displays one or more recognition results (eg, 810 and 812) for the handwriting input currently accumulated in the handwriting input area 804. In general, the highest recognition result (eg, 810) is displayed at the first position in the candidate display area. As shown in Fig. 8A, since the handwriting recognition model described herein can recognize characters of a plurality of non-overlapping scripts including Chinese characters, Latin scripts and emoji characters, the recognition result provided by the recognition model (E.g., 810) accurately includes Chinese characters, English characters and emoji characters, indicated by handwriting input. The user is not required to stop while writing input to select or switch recognition languages.

일부 실시예들에서, 텍스트 입력 영역(808)은 필기 입력 인터페이스를 채용하고 있는 개별 애플리케이션으로 제공된 텍스트 입력을 디스플레이하는 영역이다. 도 8a에 도시된 바와 같이, 텍스트 입력 영역(808)은 메모 애플리케이션에 의해 사용되고, 텍스트 입력 영역(808) 내에 현재 나타낸 텍스트(예컨대, "America

Figure 112020057647690-pat00015
.")는 메모 애플리케이션으로 이미 제공된 텍스트 입력이다. 일부 실시예들에서, 커서(813)는 텍스트 입력 영역(808)에서의 현재 텍스트 입력 위치를 지시한다.In some embodiments, text input area 808 is an area that displays text input provided by a separate application employing a handwriting input interface. 8A, the text input area 808 is used by the memo application, and the text currently displayed in the text input area 808 (e.g., "America
Figure 112020057647690-pat00015
.") is the text input already provided with the memo application. In some embodiments, the cursor 813 indicates the current text input position in the text input area 808.

일부 실시예들에서, 사용자는, 예컨대, 명시적 선택 입력(예컨대, 디스플레이된 인식 결과 중 하나 상에서의 탭 제스처), 또는 암시적 확인 입력(예컨대, 필기 입력 영역에서의 더블 탭 제스처 또는 "엔터" 버튼 상에서의 탭 제스처)에 의해, 후보 디스플레이 영역(806)에서 디스플레이되는 특정한 인식 결과를 선택할 수 있다. 도 8b에 도시된 바와 같이, 사용자는 최상위 인식 결과(810)를 (도 8a의 인식 결과(810) 위에서의 접촉(814)에 의해 지시되는 바와 같이) 탭 제스처를 사용하여 명시적으로 선택하였다. 선택 입력에 응답하여, 인식 결과(810)의 텍스트는 텍스트 입력 영역(808)에서 커서(813)에 의해 지시되는 삽입 포인트에 삽입된다. 도 8b에 도시된 바와 같이, 일단 선택된 인식 결과(810)의 텍스트가 텍스트 입력 영역(808)으로 입력되면, 필기 입력 영역(804) 및 후보 디스플레이 영역(806)은 둘 모두 클리어된다. 필기 입력 영역(804)은 이제 새로운 필기 입력을 허용할 준비가 되어 있고, 후보 디스플레이 영역(806)은 이제 새로운 필기 입력에 대한 인식 결과들을 디스플레이하기 위해 사용될 수 있다. 일부 실시예들에서, 암시적 확인 입력은 사용자가 정지하고 최상위 인식 결과를 선택하도록 요구하지 않고 최상위 인식 결과가 텍스트 입력 영역(808)으로 입력되도록 한다. 잘 설계된 암시적 확인 입력은 텍스트 입력 속도를 개선시키며 텍스트 구성 동안 사용자에게 지워지는 인지적 부담을 저감시킨다.In some embodiments, the user may perform an explicit selection input (eg, a tap gesture on one of the displayed recognition results), or an implicit confirmation input (eg, a double tap gesture or “enter” in the handwriting input area), for example. A tap gesture on a button) may select a specific recognition result displayed in the candidate display area 806. As shown in Fig. 8B, the user has explicitly selected the highest recognition result 810 using a tap gesture (as indicated by the contact 814 above the recognition result 810 in Fig. 8A). In response to the selection input, the text of the recognition result 810 is inserted in the text input area 808 at the insertion point indicated by the cursor 813. As shown in Fig. 8B, once the text of the selected recognition result 810 is input into the text input area 808, both the handwriting input area 804 and the candidate display area 806 are cleared. The handwriting input area 804 is now ready to accept new handwriting input, and the candidate display area 806 can now be used to display recognition results for the new handwriting input. In some embodiments, the implicit confirmation input causes the top recognition result to be entered into the text input area 808 without requiring the user to stop and select the top recognition result. Well-designed implicit confirmation input improves text input speed and reduces the cognitive burden placed on the user during text composition.

일부 실시예들(도 8a 및 도 8b에 도시되지 않음)에서, 현재 필기 입력의 최상위 인식 결과는 선택적으로 텍스트 입력 영역(808)에서 잠정적으로 디스플레이된다. 텍스트 입력 영역(808)에 나타낸 잠정적인 텍스트 입력은, 예컨대, 잠정적인 텍스트 입력을 둘러싸는 잠정적인 입력 박스에 의해, 텍스트 입력 영역에서의 다른 텍스트 입력으로부터 시각적으로 구별된다. 잠정적인 입력 박스에 나타낸 텍스트는 아직 연관된 애플리케이션(예컨대, 메모 애플리케이션)으로 커밋(commit)되지 않거나 제공되지 않고, 예컨대, 현재 필기 입력의 사용자 개정에 응답하여, 최상위 인식 결과가 필기 입력 모듈에 의해 변경될 때, 자동으로 업데이트된다.In some embodiments (not shown in FIGS. 8A and 8B ), the highest recognition result of the current handwriting input is optionally temporarily displayed in the text input area 808. The tentative text input shown in the text input area 808 is visually distinguished from other text input in the text input area, for example by a tentative input box surrounding the tentative text input. The text shown in the tentative input box has not yet been committed or provided to the associated application (e.g., a memo application), e.g., in response to a user revision of the current handwriting input, the top recognition result is changed by the handwriting input module. When it is done, it is automatically updated.

도 9a 및 도 9b는 사용자 디바이스 상에서의 멀티스크립트 필기 인식을 제공하기 위한 예시적인 프로세스(900)의 플로차트들이다. 일부 실시예들에서, 도면 900에 도시된 바와 같이, 사용자 디바이스는 멀티스크립트 필기 인식 모델을 수신하는데(902), 멀티스크립트 인식 모델은 멀티스크립트 훈련 코퍼스의 공간-유도 특징부들(예컨대, 획-순서 및 획-방향 독립적인 특징부들)에 대해 훈련되었고, 멀티스크립트 훈련 코퍼스는 적어도 3개의 비중첩 스크립트들의 문자들에 대응하는 필기 샘플들을 포함한다. 일부 실시예들에서, 멀티스크립트 필기 인식 모델은 단일 입력 플레인 및 단일 출력 플레인을 갖는 단일 콘볼루션 뉴럴 네트워크이고(906), 멀티스크립트 훈련 코퍼스에서 표시되는 적어도 3개의 비중첩 스크립트들의 문자들을 구분하기 위해 공간-유도 특징부들 및 공간-유도 특징부들에 대한 개별 가중치들을 포함한다. 일부 실시예들에서, 멀티스크립트 필기 인식 모델은 필기 입력에서 식별되는 하나 이상의 인식 유닛들의 개별 입력 이미지들에 기초하여 문자들을 인식하도록 구성되고(908), 인식을 위해 사용되는 개별 공간-유도 특징부들은 필기 입력에서의 개별 획 순서, 획 방향 및 획들의 연속성에 관계없다.9A and 9B are flowcharts of an exemplary process 900 for providing multiscript handwriting recognition on a user device. In some embodiments, as shown in Figure 900, the user device receives (902) a multiscript handwriting recognition model, which is the spatial-derived features (e.g., stroke-order) of the multiscript training corpus. And stroke-direction independent features), and the multiscript training corpus includes handwriting samples corresponding to characters of at least three non-overlapping scripts. In some embodiments, the multiscript handwriting recognition model is a single convolutional neural network with a single input plane and a single output plane (906), to distinguish characters of at least three non-overlapping scripts displayed in the multiscript training corpus. It includes the space-derived features and individual weights for the space-derived features. In some embodiments, the multiscript handwriting recognition model is configured to recognize characters 908 based on individual input images of one or more recognition units identified in the handwriting input, and individual space-derived features used for recognition. Is independent of individual stroke order, stroke direction and continuity of strokes in handwriting input.

일부 실시예들에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신하는데(908), 필기 입력은 사용자 디바이스에 결합된 터치 감응 표면 상에서 제공되는 하나 이상의 필기 획들을 포함한다. 예를 들어, 필기 입력은 손가락 또는 스타일러스와 사용자 디바이스에 결합된 터치 감응 표면 사이의 접촉의 위치 및 이동에 대한 개별 데이터를 포함한다. 필기 입력을 수신하는 것에 응답하여, 사용자 디바이스는 멀티스크립트 훈련 코퍼스(912)의 공간-유도 특징부들에 대해 훈련된 멀티스크립트 필기 인식 모델에 기초한 하나 이상의 필기 인식 결과들을 사용자에게 실시간으로 제공한다(910).In some embodiments, the user device receives 908 handwriting input from the user, the handwriting input comprising one or more handwritten strokes provided on a touch-sensitive surface coupled to the user device. For example, the handwriting input includes individual data about the location and movement of the contact between a finger or stylus and a touch-sensitive surface coupled to the user device. In response to receiving the handwriting input, the user device provides the user with one or more handwriting recognition results in real time based on the multiscript handwriting recognition model trained on the space-guided features of the multiscript training corpus 912 (910). ).

일부 실시예들에서, 실시간 필기 인식 결과들을 사용자에게 제공할 때, 사용자 디바이스는 사용자의 필기 입력을 하나 이상의 인식 유닛들로 분할하는데(914), 각 인식 유닛은 사용자에 의해 제공된 필기 획들 중 하나 이상을 포함한다. 일부 실시예들에서, 사용자 디바이스는, 사용자의 손가락 또는 스타일러스와 사용자 디바이스의 터치 감응 표면 사이의 접촉에 의해 만들어진 개별 획들의 형상, 위치 및 크기에 따라 사용자의 필기 입력을 분할한다. 일부 실시예들에서, 필기 입력의 분할은, 사용자의 손가락 또는 스타일러스와 사용자 디바이스의 터치 감응 표면 사이의 접촉에 의해 만들어진 개별 획들의 상대적 순서 및 상대적 위치를 추가로 고려한다. 일부 실시예들에서, 사용자의 필기 입력은 초서체로 되어 있고, 필기 입력에서의 각 연속 획은 인쇄 형태에서 인식된 문자에서의 다수의 획들에 대응할 수 있다. 일부 실시예들에서, 사용자의 필기 입력은 인쇄된 형태에서 다수의 인식된 문자들에 걸치는 연속 획을 포함할 수 있다. 일부 실시예들에서, 필기 입력의 분할은 개별 인식 유닛에 각각 대응하는 하나 이상의 입력 이미지들을 생성한다. 일부 실시예들에서, 입력 이미지들의 일부는 선택적으로 일부 중첩 픽셀들을 포함한다. 일부 실시예들에서, 입력 이미지들은 임의의 중첩 픽셀들을 포함하지 않는다. 일부 실시예들에서, 사용자 디바이스는 분할 격자를 생성하고, 분할 격자의 각 분할 체인은 현재 필기 입력을 분할하는 개별 방식을 표시한다. 일부 실시예들에서, 분할 체인에서의 각 원호는 현재 필기 입력에서의 획들의 개별 그룹에 대응한다.In some embodiments, when providing real-time handwriting recognition results to a user, the user device divides the user's handwriting input into one or more recognition units (914), each recognition unit being one or more of the handwriting strokes provided by the user. Includes. In some embodiments, the user device segments the user's handwriting input according to the shape, location, and size of individual strokes made by contact between the user's finger or stylus and the touch-sensitive surface of the user device. In some embodiments, the segmentation of the handwriting input further takes into account the relative order and relative position of individual strokes made by contact between the user's finger or stylus and the touch-sensitive surface of the user device. In some embodiments, the user's handwriting input is in a cursive font, and each successive stroke in the handwriting input may correspond to a number of strokes in a character recognized in the print form. In some embodiments, the user's handwriting input may include a continuous stroke spanning multiple recognized characters in a printed form. In some embodiments, the segmentation of the handwriting input produces one or more input images each corresponding to a respective recognition unit. In some embodiments, some of the input images optionally include some overlapping pixels. In some embodiments, the input images do not include any overlapping pixels. In some embodiments, the user device creates a segmentation grid, and each segmentation chain of the segmentation grid represents a separate way of segmenting the current handwriting input. In some embodiments, each arc in the segmentation chain corresponds to a separate group of strokes in the current handwriting input.

도면 900에 도시된 바와 같이, 사용자 디바이스는 멀티스크립트 인식 모델에 대한 입력으로서 하나 이상의 인식 유닛들 각각의 개별 이미지를 제공한다(914). 하나 이상의 인식 유닛들 중 적어도 하나의 인식 유닛에 대해, 사용자 디바이스는 멀티스크립트 필기 인식 모델로부터, 제1 스크립트로부터의 적어도 제1 출력 문자, 및 제1 스크립트와는 상이한 제2 스크립트로부터의 적어도 제2 출력을 획득한다(916). 예를 들어, 동일한 입력 이미지는 멀티스크립트 인식 모델로 하여금 동일한 입력 이미지에 대한 인식 결과들로서 상이한 스크립트들로부터 2개 이상의 유사해 보이는 출력 문자들을 출력하도록 할 수 있다. 예를 들어, 라틴어 스크립트에서의 문자 "a" 및 그리스어 스크립트에서의 문자 "α"에 대한 필기 입력들은 종종 유사하다. 게다가, 라틴어 스크립트에서의 문자 "J" 및 한자에서의 문자 "丁"에 대한 필기 입력들은 종종 유사하다. 유사하게, 이모지 캐릭터 "

Figure 112020057647690-pat00016
"에 대한 필기 입력은 CJK 부수 "西"에 대한 필기 입력과 유사할 수도 있다. 일부 실시예들에서, 필기 입력의 시각적 외관이 인간 독자가 해독하더라도 어려울 것이기 때문에, 멀티스크립트 필기 인식 모델은 종종 사용자의 필기 입력에 대응할 것 같은 다수의 후보 인식 결과들을 생성한다. 일부 실시예들에서, 제1 스크립트는 CJK 기본 문자 블록이고, 제2 스크립트는 유니코드 표준에 의해 인코딩된 바와 같은 라틴어 스크립트이다. 일부 실시예들에서, 제1 스크립트는 CJK 기본 문자 블록이고, 제2 스크립트는 이모지 캐릭터들의 세트이다. 일부 실시예들에서, 제1 스크립트는 라틴어 스크립트이고, 제2 스크립트는 이모지 캐릭터들이다.As shown in Figure 900, the user device provides a separate image of each of the one or more recognition units as input to the multiscript recognition model (914). For at least one of the one or more recognition units, the user device may be configured to: from the multiscript handwriting recognition model, at least a first output character from the first script, and at least a second from a second script different from the first script. The output is obtained (916). For example, the same input image may cause the multiscript recognition model to output two or more similar-looking output characters from different scripts as recognition results for the same input image. For example, the handwritten inputs for the letter "a" in the Latin script and the letter "α" in the Greek script are often similar. In addition, handwriting inputs for the letter "J" in Latin script and the letter "丁" in Chinese characters are often similar. Similarly, the emoji character "
Figure 112020057647690-pat00016
The handwriting input for “may be similar to the handwriting input for CJK collateral “西”. In some embodiments, since the visual appearance of the handwriting input will be difficult even for a human reader to decode, the multiscript handwriting recognition model is often used by the user. Generates a number of candidate recognition results that are likely to correspond to the handwriting input of In some embodiments, the first script is a CJK basic character block and the second script is a Latin script as encoded by the Unicode standard. In embodiments, the first script is a CJK basic character block and the second script is a set of emoji characters In some embodiments, the first script is a Latin script and the second script is emoji characters.

일부 실시예들에서, 사용자 디바이스는 사용자 디바이스의 필기 입력 인터페이스의 후보 디스플레이 영역에서 제1 출력 문자 및 제2 출력 문자 둘 모두를 디스플레이한다(918). 일부 실시예들에서, 사용자 디바이스는 제1 스크립트 및 제2 스크립트 중 어느 스크립트가 사용자 디바이스 상에 현재 설치된 소프트 키보드에서 사용되는 개별 스크립트인지에 기초하여 제1 출력 문자 및 제2 출력 문자 중 하나의 출력 문자를 선택적으로 디스플레이한다(920). 예를 들어, 필기 인식 모델이 현재 필기 입력에 대한 출력 문자들로서 한자 "入" 및 그리스어 문자 "λ"를 식별하였다고 가정하면, 사용자 디바이스는, 사용자가 사용자 디바이스 상에 중국어 소프트 키보드(예컨대, 핀인 입력 방법을 이용한 키보드)를 설치하였는지 또는 그리스어 입력 키보드를 설치하였는지 여부를 판정한다. 사용자 디바이스가 중국어 소프트 키보드만이 설치되었음을 판정하는 경우, 사용자 디바이스는 선택적으로 사용자에게 인식 결과로서 한자 "入"만을 디스플레이하고 그리스어 문자 "λ"를 디스플레이하지 않는다.In some embodiments, the user device displays (918) both the first output character and the second output character in a candidate display area of the handwriting input interface of the user device. In some embodiments, the user device outputs one of the first output character and the second output character based on which of the first script and the second script is an individual script used in the soft keyboard currently installed on the user device. The character is selectively displayed (920). For example, assuming that the handwriting recognition model has identified the Chinese character "入" and the Greek character "λ" as the output characters for the current handwriting input, the user device is It is determined whether a keyboard using the method) is installed or a Greek input keyboard is installed. When the user device determines that only the Chinese soft keyboard is installed, the user device selectively displays only the Chinese character "入" as a recognition result to the user and does not display the Greek character "λ".

일부 실시예들에서, 사용자 디바이스는 실시간 필기 인식 및 입력을 제공한다. 일부 실시예들에서, 사용자가 사용자에게 디스플레이되는 인식 결과의 명시적 또는 암시적 선택을 행하기 전에, 사용자 디바이스는 사용자에 의한 필기 입력의 계속된 추가 또는 개정에 응답하여 사용자의 필기 입력에 대한 하나 이상의 인식 결과들을 연속적으로 개정한다(922). 일부 실시예들에서, 사용자는, 하나 이상의 인식 결과들의 각 개정에 응답하여, 필기 입력 사용자 인터페이스의 후보 디스플레이 영역에서 사용자에게 개별 개정된 하나 이상의 인식 결과들을 디스플레이한다(924).In some embodiments, the user device provides real-time handwriting recognition and input. In some embodiments, prior to the user making an explicit or implicit selection of the recognition result displayed to the user, the user device may respond to the continued addition or revision of the handwriting input by the user. The above recognition results are continuously revised (922). In some embodiments, in response to each revision of the one or more recognition results, the user displays 924 individually revised one or more recognition results to the user in a candidate display area of the handwriting input user interface.

일부 실시예들에서, 멀티스크립트 필기 인식 모델은, 한자들, 이모지 캐릭터들, 및 유니코드 표준에 따라 인코딩된 라틴어 스크립트를 포함하는 적어도 3개의 비중첩 스크립트들의 모든 문자들을 인식하도록 훈련된다(926). 일부 실시예들에서, 적어도 3개의 비중첩 스크립트들은 한자들, 아랍어 스크립트 및 라틴어 스크립트를 포함한다. 일부 실시예들에서, 멀티스크립트 필기 인식 모델은 적어도 3개의 비중첩 스크립트들에 걸치는 적어도 30개의 문자들을 표시하는 적어도 30,000개의 출력 클래스들을 갖는다(928).In some embodiments, the multiscript handwriting recognition model is trained to recognize all characters of at least three non-overlapping scripts, including Chinese characters, emoji characters, and Latin script encoded according to the Unicode standard (926). ). In some embodiments, at least three non-overlapping scripts include Chinese characters, Arabic script, and Latin script. In some embodiments, the multiscript handwriting recognition model has (928) at least 30,000 output classes representing at least 30 characters spanning at least 3 non-overlapping scripts.

일부 실시예들에서, 사용자 디바이스는 사용자가 하나 초과의 스크립트에서의 문자들을 포함하는 어구와 같은, 멀티스크립트 필기 입력을 입력할 수 있게 한다. 예를 들어, 사용자는, 인식 언어를 수동으로 전환하기 위해 기입 도중에 정지하지 않고, 연속적으로 기입할 수 있으며 하나 초과의 스크립트에서의 문자들을 포함하는 필기 인식 결과들을 수신할 수 있다. 예를 들어, 사용자는 사용자 디바이스의 필기 입력 영역에서 멀티스크립트 문장 "Hello means

Figure 112020057647690-pat00017
in Chinese."을 기입할 수 있는데, 한자들 "
Figure 112020057647690-pat00018
"을 기입하기 전에 입력 언어를 영어로부터 중국어로 전환해야 할 필요 없이 또는 영어 단어들 "in Chinese."을 기입할 때 입력 언어를 중국어로부터 영어로 다시 전환하지 않고 기입할 수 있다.In some embodiments, the user device allows a user to enter multiscript handwriting input, such as a phrase that includes characters in more than one script. For example, a user may write continuously without stopping during writing to manually switch the recognition language and receive handwriting recognition results that include characters in more than one script. For example, in the handwriting input area of the user's device, the user can read the multi-script sentence "Hello means
Figure 112020057647690-pat00017
in Chinese." can be entered, Chinese characters "
Figure 112020057647690-pat00018
The input language can be entered without having to switch the input language from English to Chinese before entering ", or without switching the input language back from Chinese to English when entering the English words "in Chinese."

본 명세서에 설명되는 바와 같이, 멀티스크립트 필기 인식 모델은 사용자의 입력에 대한 실시간 필기 인식을 제공하기 위해 사용된다. 일부 실시예들에서, 실시간 필기 인식은 사용자의 디바이스 상에서의 실시간 멀티스크립트 필기 입력 기능을 제공하기 위해 이용된다. 도 10a 내지 도 10c는 사용자 디바이스 상에서의 실시간 필기 인식 및 입력을 제공하기 위한 예시적인 프로세스(1000)의 플로차트들이다. 구체적으로, 실시간 필기 인식은 문자 레벨, 어구 레벨 및 문장 레벨에서 획 순서에 독립적이다.As described herein, a multi-script handwriting recognition model is used to provide real-time handwriting recognition for a user's input. In some embodiments, real-time handwriting recognition is used to provide real-time multi-script handwriting input functionality on the user's device. 10A-10C are flowcharts of an exemplary process 1000 for providing real-time handwriting recognition and input on a user device. Specifically, real-time handwriting recognition is independent of stroke order at the character level, the phrase level and the sentence level.

일부 실시예들에서, 문자 레벨에서의 획 순서 독립적인 필기 인식은, 특정한 문자의 개별 획들이 사용자에 의해 제공된 시퀀스에 상관없이, 필기 인식 모델이 특정한 필기 문자에 대한 동일한 인식 결과를 제공하는 것을 요구한다. 예를 들어, 한자의 개별 획들은 전형적으로 특정한 순서로 기입된다. 중국어가 모국어인 사람은 종종 각 문자를 특정한 순서로 기입하도록 학교에서 훈련받긴 하지만, 많은 사용자들은 나중에 종래의 획 순서로부터 벗어난 개인화된 스타일들 및 획 시퀀스들을 채택하였다. 또한, 초서체 기입 스타일들은 대단히 개별화되고, 한자의 인쇄된 형태에서의 다수의 획들은 종종 꼬불꼬불 구부러지고 때로는 심지어 다음 문자와 연결되기도 하는 단일 스타일화된 획으로 병합된다. 획 순서 독립적인 인식 모델은 개별 획들과 연관된 시간 정보가 없는 기입 샘플들의 이미지들에 기초하여 훈련된다. 따라서, 인식은 획 순서 정보에 독립적이다. 예를 들어, 한자 "十"의 경우, 사용자가 수평 획을 먼저 기입했는지 또는 수직 획을 먼저 기입했는지에 상관없이 필기 인식 모델에 의해 동일한 인식 결과 "十"이 주어질 것이다.In some embodiments, stroke order independent handwriting recognition at the character level requires that the handwriting recognition model provides the same recognition result for a specific handwritten character, regardless of the sequence in which individual strokes of a specific character are provided by the user. do. For example, individual strokes of a Chinese character are typically written in a specific order. While Chinese-native speakers are often trained in schools to write each character in a specific order, many users later adopted personalized styles and stroke sequences that deviated from the conventional stroke order. In addition, cursive writing styles are highly individualized, and multiple strokes in the printed form of Chinese characters are often twisted and merged into a single stylized stroke, sometimes even linked to the next character. The stroke order independent recognition model is trained based on images of writing samples without temporal information associated with individual strokes. Thus, recognition is independent of stroke order information. For example, in the case of the Chinese character "十", the same recognition result "十" will be given by the handwriting recognition model regardless of whether the user writes a horizontal stroke first or a vertical stroke first.

도 10a에 도시된 바와 같이, 프로세스(1000)에서, 사용자 디바이스는 사용자로부터 복수의 필기 획들을 수신하는데(1002), 복수의 필기 획들은 필기 문자에 대응한다. 예를 들어, 문자 "十"에 대한 필기 입력은 전형적으로 실질적으로 수직의 필기 획과 교차하는 실질적으로 수평의 필기 획을 포함한다.As shown in Fig. 10A, in process 1000, the user device receives 1002 a plurality of handwritten strokes from the user, the plurality of handwritten strokes corresponding to the handwritten characters. For example, handwriting input for the letter “十” typically includes a substantially horizontal handwritten stroke intersecting with a substantially vertical handwritten stroke.

일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들에 기초하여 입력 이미지를 생성한다(1004). 일부 실시예들에서, 사용자 디바이스는 입력 이미지를 필기 인식 모델로 제공하여 필기 문자의 실시간 필기 인식을 수행하는데(1006), 여기서 필기 인식 모델은 획 순서에 독립적인 필기 인식을 제공한다. 그 후에, 사용자 디바이스는 복수의 필기 획들을 수신하는 것에 실시간으로, 복수의 필기 획들(예컨대, 수평 획 및 수직 획)이 사용자로부터 수신된 개별 순서에 상관없이 동일한 제1 출력 문자(예컨대, 인쇄된 형태에서의 문자 "十")를 디스플레이한다(1008).In some embodiments, the user device generates an input image based on the plurality of handwritten strokes (1004). In some embodiments, the user device performs real-time handwriting recognition of handwritten characters by providing the input image as a handwriting recognition model (1006), where the handwriting recognition model provides handwriting recognition independent of stroke order. Thereafter, the user device is in real time upon receiving the plurality of handwritten strokes, the plurality of handwritten strokes (e.g., horizontal and vertical strokes) are the same first output character (e.g. printed The letter "十") in the form is displayed (1008).

일부 종래의 필기 인식 시스템은 적은 수의 문자들에서의 작은 획 순서 변동들을 허용하지만, 구체적으로 필기 인식 시스템의 훈련 시에 그러한 변동들을 포함시킴으로써 이루어진다. 이러한 종래의 필기 인식 시스템들은 한자들과 같은 많은 수의 복잡한 문자들에서의 임의의 획 순서 변동들을 수용하도록 확장 가능하지 않으며, 이는 심지어 적당한 복잡성의 문자도 이미 획 순서에서의 다수의 변동들을 일으킬 것이기 때문이다. 게다가, 특정한 문자들에 대한 허용 가능한 획 순서들의 더 많은 치환들을 단순히 포함시킴으로써도, 종래의 인식 시스템들은 여전히, 다수의 획들이 단일 획으로 조합되거나(예컨대, 극도의 초서체의 기입에서와 같이) 또는 하나의 획이 다수의 하위-획들로 분해되는(예컨대, 입력 획의 매우 거친 샘플링에 의해 캡처된 문자에서와 같이) 필기 입력들을 취급할 수 없게 될 것이다. 그리하여, 본 명세서에 설명되는 바와 같이 공간-유도 특징부들에 대해 훈련된 멀티스크립트 필기 시스템은 종래의 인식 시스템들보다 이점을 제공한다.Some conventional handwriting recognition systems allow small stroke order variations in a small number of characters, but are specifically made by including those variations in training of the handwriting recognition system. These conventional handwriting recognition systems are not scalable to accommodate arbitrary stroke order variations in a large number of complex characters such as Chinese characters, since even a moderately complex character will already cause a number of variations in stroke order. Because. Moreover, even by simply including more permutations of allowable stroke orders for specific characters, conventional recognition systems still have multiple strokes combined into a single stroke (e.g., as in extreme cursive writing) or It will be impossible to handle handwriting inputs where one stroke is decomposed into multiple sub-strokes (eg, as in a character captured by a very coarse sampling of the input stroke). Thus, a multiscript handwriting system trained on space-directed features as described herein provides an advantage over conventional recognition systems.

일부 실시예들에서, 각 필기 문자 내의 개별 획들과 연관된 시간 정보에 관계없이 획 순서 독립적인 필기 인식이 수행된다. 일부 실시예들에서, 개별 획들이 플랫 입력 이미지로 병합되기 전의 개별 획들의 공간 분포를 고려하는 획-분포 정보와 협력하여 획 순서 독립적인 필기 인식이 수행된다. 상기 설명된 획 순서 독립적인 필기 인식을 증강시키기 위해 시간-유도 획-분포 정보가 어떻게 사용되는지에 대한 더욱 상세한 내용들은 나중에 본 명세서에서(예컨대, 도 25a 내지 도 27에 관하여) 제공된다. 도 25a 내지 도 27에 관하여 설명되는 기법은 필기 인식 시스템의 획 순서 독립성을 손상시키지 않는다.In some embodiments, stroke order independent handwriting recognition is performed regardless of temporal information associated with individual strokes within each handwritten character. In some embodiments, stroke order independent handwriting recognition is performed in conjunction with stroke-distribution information that takes into account the spatial distribution of individual strokes before the individual strokes are merged into a flat input image. Further details of how time-induced stroke-distribution information is used to enhance stroke order independent handwriting recognition described above are provided later herein (e.g., with respect to FIGS. 25A-27). The technique described with respect to FIGS. 25A-27 does not impair the stroke order independence of the handwriting recognition system.

일부 실시예들에서, 필기 인식 모델은 획 방향 독립적인 필기 인식을 제공한다(1010). 일부 실시예들에서, 획 방향 독립적인 인식은, 사용자 디바이스가 복수의 필기 입력들을 수신하는 것에 응답하여, 복수의 필기 획들 각각이 사용자에 의해 제공된 개별 획 방향에 상관없이 동일한 제1 출력 문자를 디스플레이하는 것을 요구한다. 예를 들어, 사용자가 사용자 디바이스의 필기 입력 영역에서 한자 "十"을 기입한 경우, 필기 인식 모델은, 사용자가 수평 획을 좌측에서부터 우측으로 그렸는지 또는 우측에서부터 좌측으로 그렸는지에 상관없이, 동일한 인식 결과를 출력할 것이다. 유사하게, 필기 인식 모델은, 사용자가 수직 획을 하방 방향으로 그렸는지 또는 상방 방향으로 그렸는지에 상관없이, 동일한 인식 결과를 출력할 것이다. 다른 예에서, 많은 한자들은 구조적으로 2개 이상의 부수들로 이루어진다. 몇몇 한자들은 각각 왼쪽 부수 및 오른쪽 부수를 포함하고, 사람들은 관습적으로 왼쪽 부수를 먼저 기입하고 그 다음에 오른쪽 부수를 기입한다. 일부 실시예들에서, 사용자가 필기 문자를 완성할 때 결과적인 필기 입력이 오른쪽 부수의 왼쪽에 왼쪽 부수를 나타내는 한, 필기 인식 모델은, 사용자가 오른쪽 부수를 먼저 기입했는지 왼쪽 부수를 먼저 기입했는지에 상관없이 동일한 인식 결과를 제공할 것이다. 유사하게, 몇몇 한자들은 각각 위 부수 및 아래 부수를 포함하고, 사람들은 관습적으로 위 부수를 먼저 기입하고 그 다음에 아래 부수를 기입한다. 일부 실시예들에서, 결과적인 필기 입력이 아래 부수의 위에 위 부수를 나타내는 한, 필기 인식 모델은, 사용자가 위 부수를 먼저 기입했는지 아래 부수를 먼저 기입했는지에 상관없이 동일한 인식 결과를 제공할 것이다. 다시 말하면, 필기 인식 모델은 필기 문자의 아이덴티티를 결정하기 위해 사용자가 필기 문자의 개별 획들을 제공하는 방향들에 의존하지 않는다.In some embodiments, the handwriting recognition model provides 1010 stroke direction independent handwriting recognition. In some embodiments, stroke direction independent recognition, in response to the user device receiving the plurality of handwriting inputs, each of the plurality of handwriting strokes displays the same first output character regardless of the individual stroke direction provided by the user. Demands to do. For example, if the user writes the Chinese character "十" in the handwriting input area of the user device, the handwriting recognition model will have the same recognition result regardless of whether the user draws a horizontal stroke from left to right or from right to left. Will print. Similarly, the handwriting recognition model will output the same recognition result regardless of whether the user drew a vertical stroke in a downward direction or upward direction. In another example, many Chinese characters are structurally made up of two or more radicals. Some Chinese characters include left and right copies, respectively, and people customarily write the left side first and then the right side. In some embodiments, as long as the resulting handwriting input indicates a left copy to the left of the right copy when the user completes the handwritten character, the handwriting recognition model determines whether the user writes the right copy first or the left copy first. Regardless, it will give the same recognition results. Similarly, some Chinese characters include the upper and lower copies, respectively, and people customarily write the upper one first, then the lower one. In some embodiments, the handwriting recognition model will provide the same recognition result regardless of whether the user writes the top number first or the bottom number first, as long as the resulting handwriting input represents the top number above the bottom number. . In other words, the handwriting recognition model does not rely on the directions in which the user provides individual strokes of the handwritten character to determine the identity of the handwritten character.

일부 실시예들에서, 필기 인식 모델은 인식 유닛이 사용자에 의해 제공된 하위-획들의 수에 상관없이, 인식 유닛의 이미지에 기초하여 필기 인식을 제공한다. 다시 말하면, 일부 실시예들에서, 필기 인식 모델은 획수 독립적인 필기 인식을 제공한다(1014). 일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들을 수신하는 것에 응답하여, 입력 이미지에서의 연속 획을 형성하기 위해 얼마나 많은 필기 획들이 사용되는지에 상관없이 동일한 제1 출력 문자를 디스플레이한다. 예를 들어, 사용자가 필기 입력 영역에서 한자 "+"를 기입한 경우, 필기 인식 모델은, 사용자가 문자 "十"의 형상을 구성하기 위해 4개의 획들(예컨대, 열십자 모양의 문자를 구성하기 위한 2개의 짧은 수평 획들과 2개의 짧은 수직 획들)을 제공하였는지, 또는 2개의 획들(예컨대, L 모양의 획과 7 모양의 획, 또는 수평 획과 수직 획)을 제공하였는지, 또는 임의의 다른 수의 획들(예컨대, 수백 개의 극히 짧은 획들 또는 점들)을 제공하였는지에 상관없이, 동일한 인식 결과를 출력한다.In some embodiments, the handwriting recognition model provides handwriting recognition based on the image of the recognition unit, regardless of the number of sub-strokes provided by the user by the recognition unit. In other words, in some embodiments, the handwriting recognition model provides stroke count independent handwriting recognition (1014). In some embodiments, in response to receiving the plurality of handwritten strokes, the user device displays the same first output character regardless of how many handwritten strokes are used to form a continuous stroke in the input image. For example, when the user writes the Chinese character "+" in the handwriting input area, the handwriting recognition model uses four strokes (for example, to construct a cross-shaped character) to form the shape of the 2 short horizontal strokes and 2 short vertical strokes), or 2 strokes (e.g., an L-shaped stroke and a 7-shaped stroke, or a horizontal and vertical stroke), or any other number Regardless of whether or not you provide the strokes (eg, hundreds of extremely short strokes or dots), the same recognition result is output.

일부 실시예들에서, 필기 인식 모델은 각 단일 문자가 기입된 순서, 방향 및 획수에 상관없이 동일한 문자를 인식할 수 있을 뿐만 아니라, 다수의 문자들의 획들이 사용자에 의해 제공된 시간 순서에 상관없이 다수의 문자들을 인식할 수도 있다.In some embodiments, the handwriting recognition model is capable of recognizing the same character regardless of the order, direction and number of strokes in which each single character is written, as well as multiple strokes of multiple characters regardless of the temporal order provided by the user. You can also recognize the characters of.

일부 실시예들에서, 사용자 디바이스는 제1 복수의 필기 획들을 수신하였을 뿐만 아니라 사용자로부터 제2 복수의 필기 획들도 수신하였는데(1016), 여기서 제2 복수의 필기 획들은 제2 필기 문자에 대응한다. 일부 실시예들에서, 사용자 디바이스는 제2 복수의 필기 획들에 기초하여 제2 입력 이미지를 생성한다(1018). 일부 실시예들에서, 사용자 디바이스는 제2 입력 이미지를 필기 인식 모델로 제공하여 제2 필기 문자의 실시간 인식을 수행한다(1020). 일부 실시예들에서, 사용자 디바이스는 제2 복수의 필기 획들을 수신하는 것에 실시간으로, 제2 복수의 필기 획들에 대응하는 제2 출력 문자를 디스플레이한다(1022). 일부 실시예들에서, 제1 출력 문자 및 제2 출력 문자는 제1 복수의 필기 획들 및 제2 복수의 필기 획들이 사용자에 의해 제공된 개별 순서에 관계없이 공간 시퀀스에서 동시에 디스플레이된다. 예를 들어, 사용자가 사용자 디바이스의 필기 입력 영역에서 2개의 한자들(예컨대, "十" 및 "八")을 기입한 경우, 필기 입력 영역에서 현재 누적된 필기 입력이 문자 "八"에 대한 획들의 왼쪽에 문자 "十"에 대한 획들을 나타내는 한, 사용자 디바이스는, 사용자가 문자 "十"의 획들을 먼저 기입했는지 또는 문자 "八"의 획들을 먼저 기입했는지에 상관없이, 인식 결과 "十八"을 디스플레이할 것이다. 사실상, 사용자가 문자 "十"에 대한 획들의 일부(예컨대, 수직 획) 전에 문자 "八"에 대한 획들의 일부(예컨대, 왼쪽으로 기울어진 획)를 기입하였더라도, 필기 입력 영역에서 필기 입력의 결과적인 이미지가 문자 "八"에 대한 획들 모두의 왼쪽에 문자 "十"에 대한 모든 획들을 나타내는 한, 사용자 디바이스는 2개의 필기 문자들의 공간 시퀀스에서 인식 결과"十八"을 나타낼 것이다.In some embodiments, the user device not only received the first plurality of handwritten strokes, but also received a second plurality of handwritten strokes from the user (1016), wherein the second plurality of handwritten strokes correspond to the second handwritten character. . In some embodiments, the user device generates (1018) a second input image based on the second plurality of handwritten strokes. In some embodiments, the user device performs real-time recognition of the second handwritten character by providing the second input image as a handwriting recognition model (1020). In some embodiments, the user device displays (1022) a second output character corresponding to the second plurality of handwritten strokes in real time upon receiving the second plurality of handwritten strokes. In some embodiments, the first output character and the second output character are displayed simultaneously in a spatial sequence regardless of the individual order in which the first plurality of handwritten strokes and the second plurality of handwritten strokes are provided by the user. For example, if the user writes two Chinese characters (eg, “十” and “八”) in the handwriting input area of the user device, the currently accumulated handwriting input in the handwriting input area is a stroke for the character “八”. As long as the strokes for the letter "十" are shown to the left of the fields, the user device will recognize the recognition result "十八" regardless of whether the user writes the strokes of the letter "十" first or the strokes of the letter "八" first. Will display ". In fact, even if the user has written some of the strokes for the letter "八" (e.g., a stroke slanted to the left) before some of the strokes for the letter "十" (eg, a vertical stroke), the result of the handwriting input in the handwriting input area As long as the typical image shows all the strokes for the character “十” to the left of all the strokes for the character “八”, the user device will show the recognition result “十八” in the spatial sequence of two handwritten characters.

다시 말하면, 도 10b에 도시된 바와 같이, 일부 실시예들에서, 제1 출력 문자 및 제2 출력 문자의 공간 시퀀스는 사용자 디바이스의 필기 입력 인터페이스의 디폴트 기입 방향(예컨대, 좌측에서부터 우측으로)을 따른 제1 복수의 필기 획들 및 제2 복수의 획들의 공간 분포에 대응한다(1024). 일부 실시예들에서, 제2 복수의 필기 획들은 시간적으로 제1 복수의 필기 획들 후에 수신되고, 제2 출력 문자는 사용자 디바이스의 필기 입력 인터페이스의 디폴트 기입 방향(예컨대, 좌측에서부터 우측으로)을 따른 공간 시퀀스에서 제1 출력 문자보다 앞선다(1026).In other words, as shown in Figure 10B, in some embodiments, the spatial sequence of the first output character and the second output character is along the default writing direction (e.g., from left to right) of the handwriting input interface of the user device. It corresponds to the spatial distribution of the first plurality of handwritten strokes and the second plurality of strokes (1024). In some embodiments, the second plurality of handwritten strokes are received temporally after the first plurality of handwritten strokes, and the second output character is along a default writing direction (eg, from left to right) of the handwriting input interface of the user device Precedes the first output character in the spatial sequence (1026).

일부 실시예들에서, 필기 인식 모델은 문장 대 문장 레벨에서 획 순서 독립적인 인식을 제공한다. 예를 들어, 필기 문자 "十"이 제1 필기 문장 내에 있고 필기 문자 "八"이 제2 필기 문장 내에 있으며, 2개의 필기 문자들이 필기 입력 영역에서 하나 이상의 다른 필기 문자들 및/또는 단어들에 의해 분리되어 있더라도, 필기 인식 모델은 여전히 공간 시퀀스"十…八"로 2개의 문자들을 나타내는 인식 결과를 제공할 것이다. 2개의 인식된 문자들의 인식 결과 및 공간 시퀀스는 2개의 문자들의 획들이 사용자에 의해 제공된 시간 순서에 상관없이 동일하게 유지되는데, 다만, 사용자가 필기 입력을 완료할 때 2개의 문자들에 대한 인식 유닛들은 공간적으로 시퀀스 "十…八"로 배열된다. 일부 실시예들에서, 제1 필기 문자(예컨대, "十")는 제1 필기 문장 (예컨대, " 十 is a number.")의 부분으로서 사용자에 의해 제공되며, 제2 필기 문자(예컨대, "八")는 제2 필기 문장(예컨대, "八 is another number.")의 부분으로서 사용자에 의해 제공되고, 제1 필기 문장 및 제2 필기 문장은 사용자 디바이스의 필기 입력 영역에서 동시에 디스플레이된다. 일부 실시예들에서, 인식 결과 (예컨대, "十 is a number. 八. is another number.")가 정확한 인식 결과라고 사용자가 확인할 때, 2개의 문장들이 사용자 디바이스의 텍스트 입력 영역으로 입력될 것이고, 필기 입력 영역은 사용자가 또 다른 필기 입력을 입력하도록 클리어될 것이다.In some embodiments, the handwriting recognition model provides stroke order independent recognition at the sentence-to-sentence level. For example, a handwritten letter "十" is in a first handwritten sentence and a handwritten letter "八" is in a second handwritten sentence, and two handwritten characters are added to one or more other handwritten characters and/or words in the handwriting input area. Even if separated by, the handwriting recognition model will still provide a recognition result representing two characters in a spatial sequence "十...八". The recognition result and spatial sequence of the two recognized characters remains the same regardless of the temporal order provided by the user, but the recognition unit for the two characters when the user completes the handwriting input. Are spatially arranged in the sequence "十…八". In some embodiments, the first handwritten character (eg, “十”) is provided by the user as part of the first handwritten sentence (eg “十 is a number.”), and the second handwritten character (eg, “八") is provided by the user as part of a second handwritten sentence (eg, “八 is another number.”), and the first handwritten sentence and the second handwritten sentence are simultaneously displayed in the handwriting input area of the user device. In some embodiments, when the user confirms that the recognition result (eg, “十 is a number. 八. is another number.”) is the correct recognition result, two sentences will be entered into the text input area of the user device, The handwriting input area will be cleared for the user to input another handwriting input.

일부 실시예들에서, 필기 인식 모델이 문자 레벨에서뿐만 아니라 어구 레벨 및 문장 레벨에서도 획 순서 독립적이기 때문에, 사용자는 후속 문자들이 기입된 후에 이전에 미완성된 문자에 대한 수정을 행할 수 있다. 예를 들어, 사용자가 필기 입력 영역에서 하나 이상의 후속 문자들을 기입하려고 이동하기 전에 문자에 대한 특정한 획을 기입하는 것을 잊어 버린 경우, 사용자는 정확한 인식 결과를 수신하기 위해 특정한 문자에서의 올바른 위치에 누락된 획을 나중에 여전히 쓸 수 있다.In some embodiments, since the handwriting recognition model is stroke order independent not only at the character level, but also at the phrase level and sentence level, the user can make modifications to previously unfinished characters after subsequent characters have been written. For example, if the user forgets to write a specific stroke for a character before moving to write one or more subsequent characters in the handwriting input area, the user will miss it in the correct position in the specific character to receive an accurate recognition result. You can still write the strokes later.

종래의 획 순서 독립적인 인식 시스템들(예컨대, HMM-기반 인식 시스템)에서, 일단 문자가 기입되면, 그것은 커밋되고, 사용자는 더 이상 그것을 변경할 수 없다. 사용자가 임의의 변경을 원하는 경우, 사용자는 문자 및 모든 후속 문자들을 삭제하여 처음부터 다시 시작해야 한다. 몇몇 종래의 인식 시스템들에서, 사용자는 짧은 사전결정된 시간 윈도우 내에서 필기 문자를 완성하도록 요구되고, 사전결정된 시간 윈도우의 외측에서 입력된 임의의 획들은 시간 윈도우 동안 제공된 다른 획들과 동일한 인식 유닛에 포함되지 않을 것이다. 그러한 종래의 시스템들은 사용하기 어렵고 사용자에게 큰 좌절을 야기한다. 획 순서 독립적인 시스템은 그러한 단점들을 겪지 않으며, 사용자는 사용자가 적합하다고 생각되는 임의의 순서 및 임의의 시간 프레임으로 문자를 완성할 수 있다. 사용자는 또한, 후속하여 필기 입력 인터페이스에서 하나 이상의 문자들을 기입한 후에 먼저 기입된 문자를 수정(예컨대, 하나 이상의 획들을 추가)할 수 있다. 일부 실시예들에서, 사용자는 또한 (예컨대, 도 21a 내지 도 22b에 관하여 나중에 기술되는 방법들을 이용하여) 먼저 기입된 문자를 개별적으로 삭제하고, 필기 입력 인터페이스에서 동일한 위치에 그것을 재기입할 수 있다.In conventional stroke order independent recognition systems (eg, HMM-based recognition system), once a character is written, it is committed, and the user can no longer change it. If the user wants any change, the user has to start over by deleting the character and all subsequent characters. In some conventional recognition systems, the user is required to complete a handwritten character within a short predetermined time window, and any strokes entered outside the predetermined time window are included in the same recognition unit as other strokes provided during the time window. Won't be. Such conventional systems are difficult to use and cause great frustration to the user. Stroke order independent systems do not suffer from such shortcomings, and the user can complete the character in any order and any time frame that the user deems suitable. The user may also subsequently modify the first written character (eg, add one or more strokes) after writing one or more characters in the handwriting input interface. In some embodiments, the user may also individually delete the first written character (e.g., using methods described later with respect to FIGS. 21A-22B) and rewrite it to the same location in the handwriting input interface. .

도 10b 및 도 10c에 도시된 바와 같이, 제2 복수의 필기 획들은 사용자 디바이스의 필기 입력 인터페이스의 디폴트 기입 방향을 따라 제1 복수의 필기 획들을 공간적으로 뒤따르고, 제2 출력 문자는 필기 입력 인터페이스의 후보 디스플레이 영역에서 디폴트 기입 방향을 따른 공간 시퀀스에서 제1 출력 문자를 뒤따른다(1028). 사용자 디바이스는 제1 필기 문자(즉, 제1 복수의 필기 획들에 의해 형성된 필기 문자)를 개정하기 위해 사용자로부터 제3 필기 획을 수신하는데(1030), 제3 필기 획은 시간적으로 제1 복수의 필기 획들 및 제2 복수의 필기 획들 후에 수신된다. 예를 들어, 사용자는 필기 입력 영역에서 좌측에서부터 우측으로의 공간 시퀀스로 2개의 문자들(예컨대, "

Figure 112020057647690-pat00019
")을 기입하였다. 제1 복수의 획들은 필기 문자 "八"을 형성한다. 사용자가 사실은 문자 "
Figure 112020057647690-pat00020
"를 기입하려고 하였으나 하나의 획을 누락하였음에 주의한다. 제2 복수의 획들은 필기 문자 "
Figure 112020057647690-pat00021
"를 형성한다. 사용자가 "
Figure 112020057647690-pat00022
" 대신에 "
Figure 112020057647690-pat00023
"를 기입하기를 원함을 나중에 알아차린 경우, 사용자는 간단히 문자 "八"에 대한 획들 아래에 수직 획을 하나 더 쓸 수 있고, 사용자 디바이스는 수직 획을 제1 인식 유닛(예컨대, "八"에 대한 인식 유닛)에 배정할 것이다. 사용자 디바이스는 제1 인식 유닛에 대한 새로운 출력 문자(예컨대, "八")를 출력할 것이고, 여기서 새로운 출력 문자는 인식 결과에서 이전의 출력 문자 (예컨대, "八")를 대신할 것이다. 도 10c에 도시된 바와 같이, 사용자 디바이스는, 제3 필기 획을 수신하는 것에 응답하여, 제1 복수의 필기 획들에 대한 제3 필기 획의 상대적인 근접성에 기초하여 제1 복수의 필기 획들과 동일한 인식 유닛에 제3 필기 획을 배정한다(1032). 일부 실시예들에서, 사용자 디바이스는 제1 복수의 필기 획들 및 제3 필기 획에 기초하여 개정된 입력 이미지를 생성한다(1034). 사용자 디바이스는 개정된 입력 이미지를 필기 인식 모델로 제공하여 개정된 필기 문자의 실시간 인식을 수행한다(1036). 일부 실시예들에서, 사용자 디바이스는 제3 필기 입력을 수신하는 것에 응답하여, 개정된 입력 이미지에 대응하는 제3 출력 문자를 디스플레이하는데(1040), 여기서 제3 출력 문자는 제1 출력 문자를 대신하고 디폴트 기입 방향을 따른 공간 시퀀스에서 제2 출력 문자와 동시에 디스플레이된다.10B and 10C, the second plurality of handwritten strokes spatially follow the first plurality of handwritten strokes along the default writing direction of the handwriting input interface of the user device, and the second output character is the handwriting input interface. The first output character is followed in a spatial sequence along the default writing direction in the candidate display area of (1028). The user device receives (1030) a third handwritten stroke from the user to revise the first handwritten character (i.e., a handwritten character formed by the first plurality of handwritten strokes), the third handwritten stroke being temporally divided into the first plurality of It is received after the handwritten strokes and the second plurality of handwritten strokes. For example, the user may select two characters (e.g., ") in a spatial sequence from left to right in the handwriting input area.
Figure 112020057647690-pat00019
"). The first plurality of strokes form the handwritten character "八". The user actually has the character "
Figure 112020057647690-pat00020
Note that you tried to write "but you missed one stroke. The second plural strokes are handwritten characters"
Figure 112020057647690-pat00021
"Forms a user."
Figure 112020057647690-pat00022
" Instead of "
Figure 112020057647690-pat00023
If later noticed that he wants to write ", the user can simply write one more vertical stroke below the strokes for the letter "八", and the user device writes the vertical stroke to the first recognition unit (e.g., "八"). The user device will output a new output character (e.g., "八") for the first recognition unit, where the new output character is the previous output character (e.g., "八") in the recognition result. 10C, the user device, in response to receiving the third handwritten stroke, is based on the relative proximity of the third handwritten stroke to the first plurality of handwritten strokes. Assign a third handwritten stroke to the same recognition unit as the plurality of handwritten strokes (1032). In some embodiments, the user device generates a revised input image based on the first plurality of handwritten strokes and the third handwritten stroke. (1034) The user device provides the revised input image to the handwriting recognition model to perform real-time recognition of the revised handwritten character (1036) In some embodiments, the user device responds to receiving the third handwriting input. Thus, a third output character corresponding to the revised input image is displayed (1040), where the third output character replaces the first output character and is displayed simultaneously with the second output character in a spatial sequence along the default writing direction.

일부 실시예들에서, 필기 인식 모듈은 좌측에서부터 우측으로의 디폴트 기입 방향으로 기입된 필기 입력을 인식한다. 예를 들어, 사용자는 문자들을 좌측에서부터 우측으로 그리고 하나 이상의 행들로 기입할 수 있다. 필기 입력에 응답하여, 필기 입력 모듈은 문자들을 좌측에서부터 우측으로의 공간 시퀀스로 그리고 필요에 따라 하나 이상의 행들로 포함하는 인식 결과들을 제시한다. 사용자가 인식 결과를 선택하는 경우, 선택된 인식 결과는 사용자 디바이스의 텍스트 입력 영역으로 입력된다. 일부 실시예들에서, 디폴트 기입 방향은 위에서부터 아래로 이다. 일부 실시예들에서, 디폴트 기입 방향은 우측에서부터 좌측으로 이다. 일부 실시예들에서, 사용자는 선택적으로, 인식 결과가 선택되고 필기 입력 영역이 클리어된 후에 디폴트 기입 방향을 대안적인 기입 방향으로 변경시킨다.In some embodiments, the handwriting recognition module recognizes a handwriting input written in a default writing direction from left to right. For example, the user can write characters from left to right and in one or more lines. In response to the handwriting input, the handwriting input module presents recognition results comprising the characters in a left-to-right spatial sequence and in one or more rows as needed. When the user selects a recognition result, the selected recognition result is input into a text input area of the user device. In some embodiments, the default writing direction is from top to bottom. In some embodiments, the default writing direction is from right to left. In some embodiments, the user optionally changes the default writing direction to an alternative writing direction after the recognition result is selected and the handwriting input area is cleared.

일부 실시예들에서, 필기 입력 모듈은 사용자가 필기 입력 영역에서 다중-문자 필기 입력을 입력할 수 있게 하고, 필기 입력으로부터 한 번에 모든 인식 유닛보다는 한 번에 하나의 인식 유닛에서의 획들의 삭제를 허용한다. 일부 실시예들에서, 필기 입력 모듈은 필기 입력으로부터 한 번에 하나의 획 삭제를 허용한다. 일부 실시예들에서, 인식 유닛의 삭제는, 현재 필기 입력을 생성하기 위해 인식 유닛들 또는 획들이 입력된 순서에 상관없이, 디폴트 기입 방향에 반대되는 방향으로 하나씩 진행한다. 일부 실시예들에서, 획들의 삭제는, 획이 각 인식 유닛 내에 입력된 역순서로 하나씩 진행하고, 하나의 인식 유닛에서의 획들이 모두 삭제되었을 때, 획들의 삭제는 디폴트 기입 방향에 반대되는 방향으로 다음 인식 유닛으로 진행한다.In some embodiments, the handwriting input module allows the user to input multi-character handwriting input in the handwriting input area, and the deletion of strokes in one recognition unit at a time rather than all recognition units at once from the handwriting input Allow In some embodiments, the handwriting input module allows deletion of one stroke at a time from handwriting input. In some embodiments, deletion of the recognition unit proceeds one by one in a direction opposite to the default writing direction, regardless of the order in which the recognition units or strokes were entered to generate the current handwriting input. In some embodiments, the deletion of the strokes proceeds one by one in the reverse order that the strokes are input in each recognition unit, and when all of the strokes in one recognition unit are deleted, the deletion of the strokes is in a direction opposite to the default writing direction. Proceed to the next recognition unit.

일부 실시예들에서, 제3 출력 문자 및 제2 출력 문자가 필기 입력 인터페이스의 후보 디스플레이 영역에서 후보 인식 결과로서 동시에 디스플레이되는 동안, 사용자 디바이스는 사용자로부터 삭제 입력을 수신한다. 삭제 입력에 응답하여, 사용자 디바이스는, 후보 디스플레이 영역에 디스플레이된 인식 결과에서 제3 출력 문자를 유지하면서, 인식 결과로부터 제2 출력 문자를 삭제한다.In some embodiments, the user device receives a deletion input from the user while the third output character and the second output character are simultaneously displayed as a candidate recognition result in the candidate display area of the handwriting input interface. In response to the deletion input, the user device deletes the second output character from the recognition result while maintaining the third output character in the recognition result displayed in the candidate display area.

일부 실시예들에서, 도 10c에 도시된 바와 같이, 사용자 디바이스는 상기 필기 획 각각이 사용자에 의해 제공됨에 따라 제1 복수의 필기 획들, 제2 복수의 필기 획들, 및 제3 필기 획을 실시간으로 렌더링한다(1042). 일부 실시예들에서, 사용자 디바이스는, 사용자로부터 삭제 입력을 수신하는 것에 응답하여, 필기 입력 영역에서 제1 복수의 필기 획들 및 제3 필기 획(예컨대, 개정된 제1 필기 문자에 함께 대응함)의 개별 렌더링들을 유지하면서, 필기 입력 영역으로부터 제2 복수의 필기 입력들(예컨대, 제2 필기 문자에 대응함)의 개별 렌더링을 삭제한다(1044). 예를 들어, 사용자가 문자 시퀀스 "

Figure 112020057647690-pat00024
"에서 누락된 수직 획을 제공한 후에, 사용자가 삭제 입력을 입력하는 경우, 문자 "
Figure 112020057647690-pat00025
"에 대한 인식 유닛에서의 획들은 필기 입력 영역으로부터 제거되고, 문자 "
Figure 112020057647690-pat00026
"는 사용자 디바이스의 후보 디스플레이 영역에서 인식 결과 "
Figure 112020057647690-pat00027
"로부터 제거된다. 삭제 후에, 문자 "
Figure 112020057647690-pat00028
"에 대한 획들은 필기 입력 영역에 남아 있고, 한편 인식 결과는 문자 "
Figure 112020057647690-pat00029
"만을 나타낸다.In some embodiments, as shown in FIG. 10C, the user device may generate a first plurality of handwritten strokes, a second plurality of handwritten strokes, and a third handwritten stroke in real time as each of the handwritten strokes is provided by the user. Render (1042). In some embodiments, the user device, in response to receiving a deletion input from the user, of the first plurality of handwritten strokes and the third handwritten stroke (e.g., corresponding together with the revised first handwritten character) in the handwriting input area. While maintaining the individual renderings, the individual renderings of the second plurality of handwriting inputs (eg, corresponding to the second handwritten character) are deleted from the handwriting input area (1044). For example, the user has a character sequence "
Figure 112020057647690-pat00024
"After providing the missing vertical stroke, if the user enters the delete input, the character"
Figure 112020057647690-pat00025
Strokes in the recognition unit for "are removed from the handwriting input area, and the character"
Figure 112020057647690-pat00026
"The recognition result in the candidate display area of the user device"
Figure 112020057647690-pat00027
"Is removed from. After deletion, the character"
Figure 112020057647690-pat00028
The strokes for "are left in the handwriting input area, while the recognition result is the character"
Figure 112020057647690-pat00029
"Only represents.

일부 실시예들에서, 필기 문자는 다획 한자이다. 일부 실시예들에서, 제1 복수의 필기 입력은 초서체로 제공된다. 일부 실시예들에서, 제1 복수의 필기 입력은 초서체로 제공되고, 필기 문자는 다획 한자이다. 일부 실시예들에서, 필기 문자들은 초서체로 아랍어로 기입된다. 일부 실시예들에서, 필기 문자들은 초서체로 다른 스크립트들로 기입된다.In some embodiments, the handwritten character is a multi-stroke Chinese character. In some embodiments, the first plurality of handwriting inputs are provided in a cursive font. In some embodiments, the first plurality of handwriting inputs are provided in a cursive font, and the handwritten characters are multi-stroke Chinese characters. In some embodiments, the handwritten characters are written in Arabic in a cursive font. In some embodiments, the handwritten characters are written in other scripts in a cursive font.

일부 실시예들에서, 사용자 디바이스는 필기 문자 입력을 위한 허용 가능한 치수들의 세트에 대해 개별 사전결정된 제약들을 확립하고, 개별 사전결정된 제약들에 기초하여 현재 누적된 복수의 필기 획들을 복수의 인식 유닛들로 분할하는데, 여기서 인식 유닛들 각각으로부터 필기 인식 모델로 제공되는 개별 입력 이미지가 생성되고, 대응하는 출력 문자로서 인식된다.In some embodiments, the user device establishes individual predetermined constraints on the set of allowable dimensions for handwritten character input, and based on the individual predetermined constraints, the plurality of recognition units Divided into, where a separate input image provided from each of the recognition units to the handwriting recognition model is generated and recognized as a corresponding output character.

일부 실시예들에서, 사용자 디바이스는 현재 누적된 복수의 필기 획들을 분할한 후에 사용자로부터 추가적인 필기 획을 수신한다. 사용자 디바이스는 복수의 인식 유닛들에 대한 추가적인 필기 획의 공간 위치에 기초하여 복수의 인식 유닛들의 개별 인식 유닛에 추가적인 필기 획을 배정한다.In some embodiments, the user device receives additional handwritten strokes from the user after dividing the currently accumulated plurality of handwritten strokes. The user device allocates an additional handwritten stroke to an individual recognition unit of the plurality of recognition units based on the spatial position of the additional handwritten stroke for the plurality of recognition units.

이제, 사용자 디바이스 상에 필기 인식 및 입력을 제공하기 위한 예시적인 사용자 인터페이스들에 주목한다. 일부 실시예들에서, 예시적인 사용자 인터페이스들은, 사용자의 필기 입력의 실시간, 획 순서 독립적인 필기 인식을 제공하는 멀티스크립트 필기 인식 모델에 기초하여 사용자 디바이스 상에서 제공된다. 일부 실시예들에서, 예시적인 사용자 인터페이스들은, 필기 입력 영역(804), 후보 디스플레이 영역(804), 및 텍스트 입력 영역(808)을 포함하는 예시적인 필기 입력 인터페이스(802)(예컨대, 도 8a 및 도 8b에 도시됨)의 사용자 인터페이스들이다. 일부 실시예들에서, 예시적인 필기 입력 인터페이스(802)는 또한 복수의 제어 요소들(1102), 예를 들어 삭제 버튼, 스페이스 바, 엔터 버튼, 키보드 전환 버튼 등을 포함한다. 하기에 설명되는 추가적인 기능들을 가능하게 하기 위해 하나 이상의 다른 영역들 및/또는 요소들이 필기 입력 인터페이스(802)에서 제공될 수 있다.Attention is now directed to example user interfaces for providing handwriting recognition and input on a user device. In some embodiments, exemplary user interfaces are provided on a user device based on a multiscript handwriting recognition model that provides real-time, stroke order independent handwriting recognition of the user's handwriting input. In some embodiments, exemplary user interfaces include an exemplary handwriting input interface 802 (e.g., FIGS. 8A and 8B) including a handwriting input area 804, a candidate display area 804, and a text input area 808. 8B). In some embodiments, the exemplary handwriting input interface 802 also includes a plurality of control elements 1102, such as a delete button, a space bar, an enter button, a keyboard switch button, and the like. One or more other areas and/or elements may be provided in the handwriting input interface 802 to enable additional functions described below.

본 명세서에 설명되는 바와 같이, 멀티스크립트 필기 인식 모델은 많은 상이한 스크립트들 및 언어들에서의 수만의 문자들의 매우 큰 레퍼토리를 가질 수 있다. 결과적으로, 필기 입력에 대해, 인식 모델은 사용자에 의해 의도된 문자라는 상당히 양호한 가능성을 모두가 갖는 많은 수의 출력 문자들을 식별할 가능성이 매우 크다. 제한된 디스플레이 영역을 갖는 사용자 디바이스 상에서, 사용자 요청 시에 이용 가능한 다른 결과들을 유지하면서, 초기에 인식 결과들의 서브세트만을 제공하는 것이 유리하다.As described herein, a multiscript handwriting recognition model can have a very large repertoire of tens of thousands of characters in many different scripts and languages. As a result, for handwriting input, the recognition model is very likely to identify a large number of output characters, all of which have a fairly good likelihood of being a character intended by the user. On a user device with a limited display area, it is advantageous to initially provide only a subset of recognition results, while keeping other results available upon the user request.

도 11a 내지 도 11g는, 나머지 인식 결과들을 디스플레이하기 위해 후보 디스플레이 영역의 확장 시야를 호출하기 위한 어포던스와 함께, 후보 디스플레이 영역의 정상 시야에서 인식 결과들의 서브세트를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 도시한다. 또한, 후보 디스플레이 영역의 확장 시야 내에서, 인식 결과들은 상이한 카테고리들로 나눠지고, 확장 시야에서 상이한 탭처리된(tabbed) 페이지들 상에 디스플레이된다.11A-11G illustrate exemplary user interfaces for displaying a subset of recognition results in the normal field of view of the candidate display area, with affordance for invoking the extended field of view of the candidate display area to display the remaining recognition results. do. Further, within the extended field of view of the candidate display area, recognition results are divided into different categories and displayed on different tabbed pages in the extended field of view.

도 11a는 예시적인 필기 입력 인터페이스(802)를 도시한다. 필기 입력 인터페이스는 필기 입력 영역(804), 후보 디스플레이 영역(806), 및 텍스트 입력 영역(808)을 포함한다. 하나 이상의 제어 요소들(1102)이 또한 필기 입력 인터페이스(1002)에 포함된다.11A shows an exemplary handwriting input interface 802. The handwriting input interface includes a handwriting input area 804, a candidate display area 806, and a text input area 808. One or more control elements 1102 are also included in the handwriting input interface 1002.

도 11a에 도시된 바와 같이, 후보 디스플레이 영역(806)은 선택적으로 하나 이상의 인식 결과들을 디스플레이하기 위한 영역, 및 후보 디스플레이 영역(806)의 확장 버전을 호출하기 위한 어포던스(1104)(예컨대, 팽창 아이콘)를 포함한다.11A, candidate display area 806 is an area for optionally displaying one or more recognition results, and an affordance 1104 (e.g., an expanded icon) for invoking an expanded version of the candidate display area 806 ).

도 11a 내지 도 11c는, 사용자가 필기 입력 영역(804)에서 하나 이상의 필기 획들(예컨대, 획들(1106, 1108, 1110))을 제공함에 따라, 사용자 디바이스가 필기 입력 영역(804)에서 현재 누적된 획들에 대응하는 인식 결과들의 개별 세트를 식별하고 디스플레이하는 것을 도시한다. 도 11b에 도시된 바와 같이, 사용자가 제1 획(1106)을 입력한 후에, 사용자 디바이스는 3개의 인식 결과들(1112, 1114, 1116)(예컨대, 문자들 "/", "1", 및 ",")을 식별하고 디스플레이한다. 일부 실시예들에서, 각 문자와 연관된 인식 신뢰도에 따른 순서로 적은 수의 후보 문자들이 후보 디스플레이 영역(806)에서 디스플레이된다.11A-11C show that as the user provides one or more handwritten strokes (e.g., strokes 1106, 1108, 1110) in the handwriting input area 804, the user device is It shows identifying and displaying a separate set of recognition results corresponding to the strokes. 11B, after the user inputs the first stroke 1106, the user device causes three recognition results 1112, 1114, 1116 (e.g., characters "/", "1", and ",") is identified and displayed. In some embodiments, a small number of candidate characters are displayed in the candidate display area 806 in order according to the recognition reliability associated with each character.

일부 실시예들에서, 최상위 후보 결과(예컨대, "/")가 텍스트 입력 영역(808)에서, 예컨대, 박스(1118) 내에 잠정적으로 디스플레이된다. 사용자는 선택적으로 최상위 후보가 의도된 입력임을 간단한 확인 입력에 의해(예컨대, "엔터" 키를 누름으로써, 또는 필기 입력 영역에서 더블-탭 제스처를 제공함으로써) 확인할 수 있다.In some embodiments, the top candidate result (eg, “/”) is tentatively displayed in the text entry area 808, eg, in box 1118. The user can optionally confirm that the top candidate is the intended input by a simple confirmation input (eg, by pressing the “Enter” key, or by providing a double-tap gesture in the handwriting input area).

도 11c는, 사용자가 임의의 후보 인식 결과를 선택하기 전에, 사용자가 필기 입력 영역(804)에서 획들(1108, 1100)을 2개 더 입력함에 따라, 추가적인 획들이 초기 획(1106)을 갖는 필기 입력 영역(804)에서 렌더링되고, 후보 결과들이 현재 누적된 필기 입력들로부터 식별되는 인식 유닛(들)에 변경들을 반영하도록 업데이트되는 것을 도시한다. 도 11c에 도시된 바와 같이, 3개의 획들에 기초하여, 사용자 디바이스는 단일 인식 유닛을 식별하였다. 단일 인식 유닛에 기초하여, 사용자 디바이스는 다수의 인식 결과들(1118 내지 1124)을 식별하고 디스플레이하였다. 일부 실시예들에서, 후보 디스플레이 영역(806)에서 현재 디스플레이된 인식 결과들 중 하나 이상(예컨대, 1118 및 1122)은 각각 현재 필기 입력에 대해 다수의 유사해 보이는 후보 문자들 중에서 선택된 대표 후보 문자이다.11C shows that, before the user selects any candidate recognition result, as the user inputs two more strokes 1108, 1100 in the handwriting input area 804, additional strokes are handwritten with the initial stroke 1106. Rendered in the input area 804 and shown as candidate results are updated to reflect changes to the recognition unit(s) identified from the currently accumulated handwriting inputs. As shown in Fig. 11C, based on the three strokes, the user device has identified a single recognition unit. Based on a single recognition unit, the user device has identified and displayed multiple recognition results 1118-1124. In some embodiments, one or more of the recognition results currently displayed in the candidate display area 806 (e.g., 1118 and 1122) are each a representative candidate character selected from among a number of similar-looking candidate characters for the current handwriting input. .

도 11c 및 도 11d에 도시된 바와 같이, 사용자가 (예컨대, 어포던스(1104) 위에서의 접촉(1126)을 갖는 탭 제스처를 이용하여) 어포던스(1104)를 선택할 경우, 후보 디스플레이 영역은 정상 시야(예컨대, 도 11c에 도시됨)로부터 확장 시야(예컨대, 도 11d에 도시됨)로 변경된다. 일부 실시예들에서, 확장 시야는 현재 필기 입력에 대해 식별된 모든 인식 결과들(예컨대, 후보 문자들)을 나타낸다.As shown in FIGS. , Shown in FIG. 11C) to an extended field of view (eg, shown in FIG. 11D). In some embodiments, the extended field of view represents all recognition results (eg, candidate characters) identified for the current handwriting input.

일부 실시예들에서, 후보 디스플레이 영역(806)의 초기에 디스플레이된 정상 시야는 개별 스크립트 또는 언어에서 사용되는 대부분의 상용 문자들만을 나타내는 반면에, 확장 시야는 스크립트 또는 언어에서 드물게 사용되는 문자들을 포함하여, 모든 후보 문자들을 나타낸다. 후보 디스플레이 영역의 확장 시야는 상이한 방식들로 설계될 수 있다. 도 11d 내지 도 11g는 일부 실시예들에 따른, 확장된 후보 디스플레이 영역의 예시적인 설계를 도시한다.In some embodiments, the normal field of view initially displayed in the candidate display area 806 represents only the most common characters used in an individual script or language, while the extended field of view includes characters that are rarely used in a script or language. Thus, all candidate characters are represented. The extended field of view of the candidate display area can be designed in different ways. 11D-11G illustrate exemplary designs of an extended candidate display area, according to some embodiments.

도 11d에 도시된 바와 같이, 일부 실시예들에서, 확장된 후보 디스플레이 영역(1128)은 후보 문자들의 개별 카테고리를 각각 제시하는 하나 이상의 탭처리된 페이지들(예컨대, 페이지들(1130, 1132, 1134, 1136))을 포함한다. 도 11d에 도시된 탭처리된 설계는 사용자가 문자들의 원하는 카테고리를 신속하게 찾은 후에, 그 또는 그녀가 대응하는 탭처리된 페이지 내에 입력하려고 한 문자를 찾을 수 있게 한다.11D, in some embodiments, the extended candidate display area 1128 is one or more tabbed pages (e.g., pages 1130, 1132, 1134) each presenting a separate category of candidate characters. , 1136)). The tabbed design shown in Fig. 11D allows the user to quickly find the desired category of characters, and then find the character he or she is trying to enter in the corresponding tabbed page.

도 11d에서, 제1 탭처리된 페이지(1130)는 상용 문자들 뿐만 아니라 희귀 문자들 둘 모두를 포함하여, 현재 누적된 필기 입력에 대해 식별된 모든 후보 문자들을 디스플레이한다. 도 11d에 도시된 바와 같이, 탭처리된 페이지(1130)는 도 11c의 초기 후보 디스플레이 영역(806)에 나타낸 문자들 전부, 및 초기 후보 디스플레이 영역(806)에 포함되지 않은 다수의 추가적인 문자들(예컨대, "

Figure 112020057647690-pat00030
", "β", "巾", 등)을 포함한다.In FIG. 11D, the first tabbed page 1130 displays all candidate characters identified for the currently accumulated handwriting input, including both rare characters as well as common characters. As shown in FIG. 11D, the tabbed page 1130 includes all of the characters shown in the initial candidate display area 806 of FIG. 11C and a number of additional characters not included in the initial candidate display area 806 ( For example, "
Figure 112020057647690-pat00030
", "β", "巾", etc.).

일부 실시예들에서, 초기 후보 디스플레이 영역(806)에 디스플레이된 문자들은 스크립트와 연관된 상용 문자들의 세트(예컨대, 유니코드 표준에 따라 인코딩된 바와 같은, CJK 스크립트의 기본 블록에서의 모든 문자들)로부터의 문자들만을 포함한다. 일부 실시예들에서, 확장된 후보 디스플레이 영역(1128)에 디스플레이된 문자들은 스크립트와 연관된 희귀 문자들의 세트(예컨대, 유니코드 표준에 따라 인코딩된 바와 같은, CJK 스크립트의 확장 블록에서의 모든 문자들)를 추가로 포함한다. 일부 실시예들에서, 확장된 후보 디스플레이 영역(1128)은 사용자에 의해 흔히 사용되지 않는 다른 스크립트들, 예컨대, 그리스어 스크립트, 아랍어 스크립트, 및/또는 이모지 스크립트로부터의 후보 문자들을 추가로 포함한다.In some embodiments, the characters displayed in the initial candidate display area 806 are from the set of commercial characters associated with the script (e.g., all characters in the basic block of the CJK script, as encoded according to the Unicode standard). Contains only the characters of In some embodiments, the characters displayed in the extended candidate display area 1128 are the set of rare characters associated with the script (e.g., all characters in the extended block of the CJK script, as encoded according to the Unicode standard). It additionally includes. In some embodiments, the extended candidate display area 1128 further includes candidate characters from other scripts not commonly used by the user, such as Greek script, Arabic script, and/or emoji script.

일부 실시예들에서, 도 11d에 도시된 바와 같이, 확장된 후보 디스플레이 영역(1128)은 개별 탭처리된 페이지들(1130, 1132, 1134, 1138)을 포함하는데, 그들 각각은 후보 문자들의 개별 카테고리(예컨대, 각각, 모든 문자들, 희귀 문자들, 라틴어 스크립트로부터의 문자들, 및 이모지 스크립트로부터의 문자들)에 대응한다. 도 11e 내지 도 11g는, 사용자가 상이한 탭처리된 페이지들 각각을 선택하여 대응하는 카테고리에서의 후보 문자들을 드러내 보일 수 있는 것을 도시한다. 도 11e는 현재 필기 입력에 대응하는 희귀 문자들(예컨대, CJK 스크립트의 확장 블록으로부터의 문자들)만을 도시한다. 도 11f는 현재 필기 입력에 대응하는 라틴어 및 그리스어 문자들만을 도시한다. 도 11g는 현재 필기 입력에 대응하는 이모지 캐릭터들만을 도시한다.In some embodiments, as shown in Fig. 11D, the extended candidate display area 1128 includes individual tabbed pages 1130, 1132, 1134, 1138, each of which is a separate category of candidate characters. (E.g., all letters, rare letters, letters from Latin script, and letters from emoji script, respectively). 11E to 11G illustrate that a user can select each of different tabbed pages to reveal candidate characters in a corresponding category. 11E shows only rare characters corresponding to the current handwriting input (eg, characters from the expansion block of the CJK script). 11F shows only Latin and Greek characters corresponding to the current handwriting input. 11G shows only emoji characters corresponding to the current handwriting input.

일부 실시예들에서, 확장된 후보 디스플레이 영역(1128)은 개별 기준에 기초하여(예컨대, 표음식 철자에 기초하여, 획들의 수에 기초하여, 그리고 부수들에 기초하여 등) 개별 탭처리된 페이지에서의 후보 문자들을 정렬하기 위해 하나 이상의 어포던스들을 추가로 포함한다. 인식 신뢰도 점수들 이외의 기준에 따라 각 카테고리에서의 후보 문자들을 정렬하는 능력은 사용자에게 텍스트 입력에 대한 원하는 후보 문자를 신속하게 찾는 추가적인 능력을 제공한다.In some embodiments, the extended candidate display area 1128 is an individual tabbed page based on individual criteria (e.g., based on frontal spelling, based on number of strokes, based on number of copies, etc.). It further includes one or more affordances to align the candidate characters in. The ability to sort candidate characters in each category according to criteria other than recognition reliability scores provides the user with the additional ability to quickly find the desired candidate character for text input.

도 11h 내지 도 11k는, 일부 실시예들에서, 유사해 보이는 후보 문자들이 그룹화될 수 있고, 유사해 보이는 후보 문자들의 각 그룹으로부터의 대표 문자만이 초기 후보 디스플레이 영역(806)에서 제시되는 것을 도시한다. 본 명세서에 설명되는 멀티스크립트 인식 모델은 주어진 필기 입력에 대해 거의 동등하게 양호한 많은 후보 문자들을 생성할 수 있기 때문에, 인식 모델은 하나의 후보를 다른 유사해 보이는 후보를 희생하면서 항상 제거할 수 있는 것은 아니다. 제한된 디스플레이 영역을 갖는 디바이스 상에서, 갑자기 많은 수의 유사해 보이는 후보들을 디스플레이하는 것은 사용자가 정확한 문자를 선발하는 데 도움이 되지 않는데, 이는 미세한 구별이 쉽게 볼 수 없고, 사용자가 원하는 문자를 볼 수 있더라도, 손가락 또는 스타일러스를 사용하여 매우 밀집된 디스플레이로부터 그것을 선택하는 것은 어려울 수 있기 때문이다.11H-11K show that in some embodiments, candidate characters that look similar may be grouped, and that only representative characters from each group of candidate characters that look similar are presented in the initial candidate display area 806. do. Since the multiscript recognition model described herein can generate a large number of candidate characters that are almost equally good for a given handwriting input, the recognition model is always able to eliminate one candidate at the expense of another similar-looking candidate. no. On a device with a limited display area, suddenly displaying a large number of similar-looking candidates does not help the user to select the correct character, which makes fine distinctions difficult to see and even if the user can see the desired character. , Because it can be difficult to select it from a very dense display using a finger or a stylus.

일부 실시예들에서, 상기 문제들을 다루기 위해, 사용자 디바이스는 서로에 대해 큰 유사성을 갖는 후보 문자들을 (예컨대, 유사해 보이는 문자들의 사전 또는 용어 색인, 또는 몇몇 이미지-기반 기준들에 따라) 식별하고, 그들을 개별 그룹으로 그룹화한다. 일부 실시예들에서, 주어진 필기 입력에 대한 후보 문자들의 세트로부터 유사해 보이는 문자들의 하나 이상의 그룹들이 식별될 수 있다. 일부 실시예들에서, 사용자 디바이스는 동일한 그룹에서의 복수의 유사해 보이는 후보 문자들 중에서 대표 후보 문자를 식별하였고, 초기 후보 디스플레이 영역(806)에서 대표 후보만을 디스플레이한다. 상용 문자가 임의의 다른 후보 문자들과 충분히 유사해 보이지 않는 경우, 그것은 그 자체로 디스플레이된다. 일부 실시예들에서, 도 11h에 도시된 바와 같이, 각 그룹의 대표 후보 문자(예컨대, 후보 문자들(1118, 1122), "

Figure 112020057647690-pat00031
" 및 "T")는 임의의 그룹에 속하지 않는 후보 문자(예컨대, 후보 문자들(1120, 1124), "乃" 및 "J")와는 상이한 방식으로(예컨대, 볼드로 표시된 박스로) 디스플레이된다. 일부 실시예들에서, 그룹의 대표 문자를 선정하기 위한 기준은 그룹에서의 후보 문자들의 상대적인 사용 빈도에 기초한다. 일부 실시예들에서, 다른 기준들이 이용될 수도 있다.In some embodiments, to address the above issues, the user device identifies candidate characters with great similarity to each other (e.g., according to a dictionary or term index of characters that look similar, or some image-based criteria) and , Group them into individual groups. In some embodiments, one or more groups of similar-looking characters may be identified from a set of candidate characters for a given handwriting input. In some embodiments, the user device has identified a representative candidate character among a plurality of similar-looking candidate characters in the same group, and displays only the representative candidate in the initial candidate display area 806. If the common character does not look sufficiently similar to any other candidate characters, it is displayed as such. In some embodiments, as shown in Fig. 11H, representative candidate characters of each group (e.g., candidate characters 1118, 1122, "
Figure 112020057647690-pat00031
"And "T") are displayed in a different way (e.g., in a box marked in bold) than candidate characters that do not belong to any group (e.g., candidate characters 1120, 1124, "乃" and "J"). In some embodiments, the criterion for selecting the representative character of the group is based on the relative frequency of use of the candidate characters in the group In some embodiments, other criteria may be used.

일부 실시예들에서, 일단 대표 문자(들)가 사용자에게 디스플레이되면, 사용자는 선택적으로 팽창 시야(expanded view)에서 유사해 보이는 후보 문자들을 나타내기 위해 후보 디스플레이 영역(806)을 팽창시킬 수 있다. 일부 실시예들에서, 특정한 대표 문자의 선택은 선택된 대표 문자와 동일한 그룹에서 그들 후보 문자들만의 팽창 시야를 야기할 수 있다.In some embodiments, once the representative character(s) is displayed to the user, the user may optionally expand the candidate display area 806 to represent candidate characters that appear similar in the expanded view. In some embodiments, selection of a particular representative character may result in an expanded view of only those candidate characters in the same group as the selected representative character.

유사해 보이는 후보들의 팽창 시야를 제공하기 위한 다양한 설계들이 가능하다. 도 11h 내지 도 11k는 대표 후보 문자(예컨대, 대표 문자(1118)) 위에서 검출되는 사전결정된 제스처(예컨대, 팽창 제스처)에 의해 대표 후보 문자의 팽창 시야가 호출되는 하나의 실시예를 도시한다. 팽창 시야를 호출하기 위한 사전결정된 제스처(예컨대, 팽창 제스처)는 텍스트 입력에 대한 대표 문자를 선택하기 위한 사전결정된 제스처(예컨대, 탭 제스처)와는 다르다.Various designs are possible to provide an expanded field of view of candidates that look similar. 11H-11K illustrate one embodiment in which the expanded field of view of the representative candidate character is invoked by a predetermined gesture (eg, an expanding gesture) detected over the representative candidate character (eg, representative character 1118). The predetermined gesture for invoking an inflated view (eg, inflated gesture) is different from a predetermined gesture for selecting a representative character for text input (eg, tapped gesture).

도 11h 및 도 11i에 도시된 바와 같이, 사용자가 제1 대표 문자(1118) 위에서 (예컨대, 서로로부터 멀리 이동하는 2개의 접촉들(1138, 1140)에 의해 나타내는 바와 같이) 팽창 제스처를 제공할 때, 대표 문자(1118)를 디스플레이하는 영역이 팽창되고, 동일한 팽창된 그룹 내에 있지 않은 다른 후보 문자들(예컨대, "乃")과 비교해서 확대된 시야(예컨대, 각각 확대된 박스들(1142, 1144, 1146)에서) 3개의 유사해 보이는 후보 문자들(예컨대, "

Figure 112020057647690-pat00032
", "
Figure 112020057647690-pat00033
" 및 "巾")이 제시된다.11H and 11I, when the user provides an inflate gesture over the first representative character 1118 (e.g., as represented by two contacts 1138, 1140 moving away from each other). , The area displaying the representative character 1118 is expanded, and an enlarged field of view (eg, enlarged boxes 1142, 1144, respectively) compared to other candidate characters (eg, “乃”) not within the same expanded group. , 1146)) three similar-looking candidate characters (e.g., "
Figure 112020057647690-pat00032
", "
Figure 112020057647690-pat00033
"And "巾") are presented.

도 11i에 도시된 바와 같이, 확대된 시야에서 제시될 때, 3개의 유사해 보이는 후보 문자들(예컨대, "

Figure 112020057647690-pat00034
", "
Figure 112020057647690-pat00035
" 및 "巾")의 미세한 구별들이 사용자에 의해 보다 쉽게 보여질 수 있다. 3개의 후보 문자들 중 하나가 의도된 문자 입력인 경우, 사용자는, 예컨대 그 후보 문자가 디스플레이된 영역을 터치함으로써 후보 문자를 선택할 수 있다. 도 11j 및 도 11k에 도시된 바와 같이, 사용자는 팽창 시야에서 박스(1144)에 나타낸 제2 문자(예컨대, "
Figure 112020057647690-pat00036
")를 (접촉(1148)에 의해) 선택하였다. 응답으로, 선택된 문자(예컨대, "
Figure 112020057647690-pat00037
")는 커서에 의해 지시되는 삽입 위치에서 텍스트 입력 영역(808)으로 입력된다. 도 11k에 도시된 바와 같이, 일단 문자가 선택되면, 필기 입력 영역(804)에서의 필기 입력 및 후보 디스플레이 영역(806)(또는 후보 디스플레이 영역의 확장 시야)에서의 후보 문자들은 후속 필기 입력을 위해 클리어된다.11I, when presented in an enlarged field of view, three similar-looking candidate characters (e.g., "
Figure 112020057647690-pat00034
", "
Figure 112020057647690-pat00035
"And "巾") can be more easily seen by the user. If one of the three candidate characters is the intended character input, the user can, for example, touch the area in which the candidate character is displayed. The character can be selected. As shown in Figs. 11J and 11K, the user can select a second character (e.g., ""
Figure 112020057647690-pat00036
") was selected (by contact 1148). In response, the selected character (e.g., "
Figure 112020057647690-pat00037
") is input into the text input area 808 at the insertion position indicated by the cursor. As shown in Fig. 11K, once a character is selected, handwriting input in the handwriting input area 804 and the candidate display area ( 806) (or the extended field of view of the candidate display area) are cleared for subsequent handwriting input.

일부 실시예들에서, 사용자가 제1 대표 후보 문자의 팽창 시야(1142)에서 원하는 후보 문자를 보지 못한 경우, 사용자는 선택적으로 동일한 제스처를 이용하여, 후보 디스플레이 영역(806)에서 디스플레이된 다른 대표 문자들을 팽창시킬 수 있다. 일부 실시예들에서, 후보 디스플레이 영역(806)에서의 다른 대표 문자를 팽창시키는 것은 자동으로 현재 제시된 팽창 시야를 정상 시야로 복원시킨다. 일부 실시예들에서, 사용자는 선택적으로 축소 제스처를 이용하여 현재의 팽창 시야를 정상 시야로 복원시킨다. 일부 실시예들에서, 사용자는 후보 디스플레이 영역(806)을 (예컨대, 좌측으로 또는 우측으로) 스크롤하여, 후보 디스플레이 영역(806)에서 보이지 않는 다른 후보 문자들을 드러내 보일 수 있다.In some embodiments, when the user does not see the desired candidate character in the expanded field of view 1142 of the first representative candidate character, the user selectively uses the same gesture to select another representative character displayed in the candidate display area 806. Can inflate them. In some embodiments, inflating another representative character in the candidate display area 806 automatically restores the currently presented inflated field of view to the normal field of view. In some embodiments, the user selectively restores the current expanded field of view to the normal field of view using a zoom out gesture. In some embodiments, the user may scroll (eg, to the left or to the right) the candidate display area 806 to reveal other candidate characters that are not visible in the candidate display area 806.

도 12a 및 도 12b는, 초기 후보 디스플레이 영역에서 인식 결과들의 제1 서브세트가 제시되는 반면에, 사용자에 의해 특정적으로 호출될 때까지 시야에서 숨겨져 있는 확장된 후보 디스플레이 영역에서 인식 결과들의 제2 서브세트가 제시되는 예시적인 프로세스(1200)의 플로차트들이다. 예시적인 프로세스(1200)에서, 디바이스는 필기 입력에 대한 복수의 필기 인식 결과들로부터, 사전결정된 임계치를 초과하는 시각적 유사성 레벨을 갖는 인식 결과들의 서브세트를 식별한다. 그 후에, 사용자 디바이스는 인식 결과들의 서브세트로부터 대표 인식 결과를 선택하고, 선택된 대표 인식 결과를 디스플레이의 후보 디스플레이 영역에서 디스플레이한다. 프로세스(1200)는 도 11a 내지 도 11k에서 예시되어 있다.12A and 12B show a second subset of recognition results in an extended candidate display area that is hidden from view until specifically called by the user, while a first subset of recognition results is presented in the initial candidate display area A subset is the flowcharts of an exemplary process 1200 presented. In exemplary process 1200, the device identifies, from a plurality of handwriting recognition results for the handwriting input, a subset of recognition results having a level of visual similarity that exceeds a predetermined threshold. Thereafter, the user device selects a representative recognition result from the subset of recognition results, and displays the selected representative recognition result in a candidate display area of the display. Process 1200 is illustrated in FIGS. 11A-11K.

도 12a에 도시된 바와 같이, 예시적인 프로세스(1200)에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신한다(1202). 필기 입력은 필기 입력 인터페이스(예컨대, 도 11c의 802)의 필기 입력 영역(예컨대, 도 11c의 806)에서 제공되는 하나 이상의 필기 획들 (예컨대, 도 11c의 1106, 1108, 1110)을 포함한다. 사용자 디바이스는, 필기 인식 모델에 기초하여, 필기 입력에 대한 복수의 출력 문자들(예컨대, 탭처리된 페이지(1130)에 나타낸 문자들, 도 11c)을 식별한다(1204). 사용자 디바이스는 사전결정된 분류 기준에 기초하여 복수의 출력 문자들을 2개 이상의 카테고리들로 나눈다(1206). 일부 실시예들에서, 사전결정된 분류 기준은 개별 문자가 상용 문자인지 또는 희귀 문자인지를 결정한다(1208).As shown in FIG. 12A, in an exemplary process 1200, a user device receives (1202) a handwriting input from a user. The handwriting input includes one or more handwriting strokes (eg, 1106, 1108, 1110 in FIG. 11C) provided in a handwriting input area (eg, 806 in FIG. 11C) of a handwriting input interface (eg, 802 in FIG. 11C). Based on the handwriting recognition model, the user device identifies a plurality of output characters (eg, characters displayed on the tabbed page 1130, FIG. 11C) for the handwriting input (1204). The user device divides the plurality of output characters into two or more categories based on a predetermined classification criterion (1206). In some embodiments, the predetermined classification criterion determines whether an individual character is a common character or a rare character (1208).

일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역(예컨대, 도 11c에 도시된 바와 같은 806)의 초기 시야에서, 2개 이상의 카테고리들 중 제1 카테고리 내의 개별 출력 문자들(예컨대, 상용 문자들)을 디스플레이하는데(1210), 후보 디스플레이 영역의 초기 시야에는 후보 디스플레이 영역의 확장 시야(예컨대, 도 11d의 1128)를 호출하기 위한 어포던스(예컨대, 도 11c의 1104)가 동시에 제공된다.In some embodiments, the user device, in the initial view of the candidate display area of the handwriting input interface (e.g., 806 as shown in FIG. The commercial characters) are displayed 1210, and an affordance (e.g., 1104 in FIG. 11C) for calling an extended view of the candidate display area (eg, 1128 in FIG.

일부 실시예들에서, 사용자 디바이스는, 예컨대 도 11c에 도시된 바와 같이, 확장 시야를 호출하기 위한 어포던스를 선택하는 사용자 입력을 수신한다(1212). 사용자 입력에 응답하여, 사용자 디바이스는, 예컨대 도 11d에 도시된 바와 같이, 후보 디스플레이 영역의 확장 시야에서, 2개 이상의 카테고리들 중 제1 카테고리 내의 개별 출력 문자들 및 후보 디스플레이 영역의 초기 시야에서 사전에 디스플레이되지 않은 적어도 제2 카테고리 내의 개별 출력 문자들을 디스플레이한다(1214).In some embodiments, the user device receives (1212) a user input selecting an affordance for invoking an extended field of view, eg, as shown in FIG. 11C. In response to the user input, the user device may advance in the initial view of the candidate display area and individual output characters in the first category of two or more categories, e.g. Individual output characters in at least the second category that are not displayed in are displayed (1214).

일부 실시예들에서, 제1 카테고리 내의 개별 문자들은 상용 문자들의 사전에서 발견되는 문자들이고, 제2 카테고리 내의 개별 문자들은 희귀 문자들의 사전에서 발견되는 문자들이다. 일부 실시예들에서, 상용 문자들의 사전 및 희귀 문자들의 사전은 사용자 디바이스와 연관된 사용 이력에 기초하여 동적으로 조정 또는 업데이트된다.In some embodiments, individual characters in the first category are characters found in a dictionary of common characters, and individual characters in the second category are characters found in a dictionary of rare characters. In some embodiments, the dictionary of common characters and the dictionary of rare characters are dynamically adjusted or updated based on the usage history associated with the user device.

일부 실시예들에서, 사용자 디바이스는 복수의 출력 문자들로부터, 사전결정된 유사성 기준에 따라 (예컨대, 유사한 문자들의 사전에 기초하여 또는 일부 공간-유도 특징부들에 기초하여) 시각적으로 서로 유사한 문자들의 그룹을 식별한다(1216). 일부 실시예들에서, 사용자 디바이스는 시각적으로 유사한 문자들의 그룹으로부터, 사전결정된 선택 기준에 기초하여 (예컨대, 이력적 사용 빈도에 기초하여) 대표 문자를 선택한다. 일부 실시예들에서, 사전결정된 선택 기준은 그룹에서의 문자들의 상대적인 사용 빈도에 기초한다. 일부 실시예들에서, 사전결정된 선택 기준은 디바이스와 연관된 선호 입력 언어에 기초한다. 일부 실시예들에서, 대표 후보는 각 후보가 사용자에 의한 의도된 입력일 가능성을 나타내는 다른 인자들에 기초하여 선택된다. 이들 인자들은, 예를 들어, 후보 문자가 사용자의 디바이스 상에 현재 설치된 소프트 키보드에 대한 스크립트에 속하는지, 또는 후보 문자가 사용자 또는 사용자 디바이스와 연관된 특정한 언어에서의 대부분의 상용 문자들의 세트 중에 있는지 등을 포함한다.In some embodiments, the user device is a group of characters that are visually similar to each other from a plurality of output characters, according to a predetermined similarity criterion (e.g., based on a dictionary of similar characters or based on some space-derived features). Is identified (1216). In some embodiments, the user device selects a representative character based on a predetermined selection criterion (eg, based on historical frequency of use) from a group of visually similar characters. In some embodiments, the predetermined selection criteria are based on the relative frequency of use of the characters in the group. In some embodiments, the predetermined selection criterion is based on a preferred input language associated with the device. In some embodiments, the representative candidate is selected based on other factors indicating the likelihood that each candidate is an intended input by the user. These factors include, for example, whether the candidate character belongs to a script for a soft keyboard currently installed on the user's device, or whether the candidate character is among the set of most common characters in a particular language associated with the user or user device Includes.

일부 실시예들에서, 사용자 디바이스는 후보 디스플레이 영역(예컨대, 도 11h의 806)의 초기 시야에서, 시각적으로 유사한 문자들의 그룹에서의 다른 문자들(예컨대, "

Figure 112020057647690-pat00038
", "巾") 대신에 대표 문자 (예컨대, "
Figure 112020057647690-pat00039
")를 디스플레이한다(1220). 일부 실시예들에서, 각 후보 문자가 그룹의 대표 문자인지 또는 어떠한 그룹 내에도 있지 않은 일반 후보 문자인지를 나타내기 위해 후보 디스플레이 영역의 초기 시야에서 시각적 표시들(예컨대, 선택적인 시각적 강조, 특별한 배경)이 제공된다. 일부 실시예들에서, 예컨대, 도 11h에 도시된 바와 같이, 사용자 디바이스는, 사용자로부터, 후보 디스플레이 영역의 초기 시야에서 디스플레이되는 대표 문자로 안내되는 사전결정된 팽창 입력(예컨대, 팽창 제스처)을 수신한다(1222). 일부 실시예들에서, 예컨대, 도 11i에 도시된 바와 같이, 사용자 디바이스는, 사전결정된 팽창 입력의 수신에 응답하여, 시각적으로 유사한 문자들의 그룹에서의 대표 문자의 확대 시야 및 하나 이상의 다른 문자들의 개별 확대 시야를 동시에 디스플레이한다(1224).In some embodiments, the user device, in the initial field of view of the candidate display area (eg, 806 in FIG. 11H), may display other characters in a group of visually similar characters (eg, “
Figure 112020057647690-pat00038
Instead of ", "巾"), a representative character (eg, "
Figure 112020057647690-pat00039
1220. In some embodiments, visual indications in the initial field of view of the candidate display area ( For example, optional visual emphasis, special background) is provided In some embodiments, for example, as shown in Fig. 11H, the user device guides from the user to a representative character displayed in the initial field of view of the candidate display area. 1222. In some embodiments, for example, as shown in Figure 11I, the user device, in response to receiving the predetermined inflation input, is visually The enlarged field of view of the representative character in the group of similar characters and the individual enlarged field of view of one or more other characters are simultaneously displayed (1224).

일부 실시예들에서, 사전결정된 팽창 입력은 후보 디스플레이 영역에서 디스플레이되는 대표 문자 위에서 검출되는 팽창 제스처이다. 일부 실시예들에서, 사전결정된 팽창 입력은 후보 디스플레이 영역에서 디스플레이되는 대표 문자 위에서 검출되고 사전결정된 임계 시간보다 더 길게 지속되는 접촉이다. 일부 실시예들에서, 그룹을 팽창시키기 위한 지속된 접촉은 텍스트 입력에 대한 대표 문자를 선택하는 탭 제스처보다 더 긴 임계 지속기간을 갖는다.In some embodiments, the predetermined inflation input is an inflation gesture detected over a representative character displayed in the candidate display area. In some embodiments, the predetermined inflation input is a contact that is detected over a representative character displayed in the candidate display area and lasts longer than a predetermined threshold time. In some embodiments, sustained contact to inflate a group has a longer threshold duration than a tap gesture to select a representative character for text input.

일부 실시예들에서, 각 대표 문자는 그의 유사해 보이는 후보 문자들의 그룹의 확장 시야를 호출하기 위한 개별 어포던스(예컨대, 개별 팽창 버튼)와 동시에 디스플레이된다. 일부 실시예들에서, 사전결정된 팽창 입력은 대표 문자와 연관된 개별 어포던스의 선택이다.In some embodiments, each representative character is displayed concurrently with a separate affordance (eg, a separate inflate button) to invoke the expanded view of its group of similar-looking candidate characters. In some embodiments, the predetermined inflation input is a selection of individual affordances associated with the representative character.

본 명세서에 설명되는 바와 같이, 일부 실시예들에서, 멀티스크립트 필기 인식 모델의 레퍼토리는 이모지 스크립트를 포함한다. 필기 입력 인식 모듈은 사용자의 필기 입력에 기초하여 이모지 캐릭터를 인식할 수 있다. 일부 실시예들에서, 필기 인식 모듈은, 필기로부터 직접 식별되는 이모지 캐릭터들, 및 식별된 이모지 캐릭터를 표시하는 자연 인간 언어에서의 문자 또는 단어 둘 모두를 제시한다. 일부 실시예들에서, 필기 입력 모듈은, 사용자의 필기 입력에 기초하여 자연 인간 언어에서의 문자 또는 단어를 인식하고, 인식된 문자 또는 단어, 및 인식된 문자 또는 단어에 대응하는 이모지 캐릭터 둘 모두를 제시한다. 다시 말하면, 필기 입력 모듈은 필기 입력 인터페이스로부터 이모지 키보드로 전환하지 않고 이모지 캐릭터를 입력하기 위한 방식들을 제공한다. 추가적으로, 필기 입력 모듈은 또한 손으로 이모지 캐릭터를 그림으로써, 정규 자연 언어 문자들 및 단어들을 입력하는 방식을 제공한다. 도 13a 내지 도 13e는 이모지 캐릭터들 및 정규 자연 언어 문자들을 입력하는 이러한 상이한 방식들을 도시하는 예시적인 사용자 인터페이스들을 제공한다.As described herein, in some embodiments, the repertoire of the multiscript handwriting recognition model includes emoji scripts. The handwriting input recognition module may recognize an emoji character based on a user's handwriting input. In some embodiments, the handwriting recognition module presents both emoji characters identified directly from the handwriting, and a letter or word in natural human language representing the identified emoji character. In some embodiments, the handwriting input module recognizes a character or word in natural human language based on the user's handwriting input, and both the recognized character or word and an emoji character corresponding to the recognized character or word Present. In other words, the handwriting input module provides methods for inputting an emoji character without switching from a handwriting input interface to an emoji keyboard. Additionally, the handwriting input module also provides a way to enter regular natural language characters and words by drawing an emoji character by hand. 13A-13E provide exemplary user interfaces illustrating these different ways of entering emoji characters and regular natural language characters.

도 13a는 채팅 애플리케이션 하에서 호출된 예시적인 필기 입력 인터페이스(802)를 도시한다. 필기 입력 인터페이스(802)는 필기 입력 영역(804), 후보 디스플레이 영역(806), 및 텍스트 입력 영역(808)을 포함한다. 일부 실시예들에서, 일단 사용자가 텍스트 입력 영역(808)에서의 텍스트 구성에 만족하면, 사용자는 텍스트 구성을 현재 채팅 세션의 다른 참여자로 전송하도록 선정할 수 있다. 채팅 세션의 대화 이력은 대화 패널(1302)에 나타내진다. 이러한 예에서, 사용자는 대화 패널(1302)에 디스플레이된 채팅 메시지(1304) (예컨대, "Happy Birthday

Figure 112020057647690-pat00040
")를 수신하였다.13A shows an exemplary handwriting input interface 802 invoked under a chat application. The handwriting input interface 802 includes a handwriting input area 804, a candidate display area 806, and a text input area 808. In some embodiments, once the user is satisfied with the text composition in the text input area 808, the user may elect to transfer the text composition to another participant in the current chat session. The conversation history of the chat session is displayed on the conversation panel 1302. In this example, the user may have a chat message 1304 displayed on the conversation panel 1302 (e.g., "Happy Birthday
Figure 112020057647690-pat00040
") was received.

도 13b에 도시된 바와 같이, 사용자는 필기 입력 영역(804)에서 영어 단어 "Thanks"에 대한 필기 입력(1306)을 제공하였다. 필기 입력(1306)에 응답하여, 사용자 디바이스는 다수의 후보 인식 결과들(예컨대, 인식 결과들(1308, 1310, 1312))을 식별하였다. 최상위 인식 결과(1303)가 텍스트 입력 영역(808)으로 박스(1314) 내에서 잠정적으로 입력되었다.As shown in FIG. 13B, the user provides a handwriting input 1306 for the English word “Thanks” in the handwriting input area 804. In response to handwriting input 1306, the user device has identified a number of candidate recognition results (eg, recognition results 1308, 1310, 1312). The highest recognition result 1303 has been tentatively entered into the text input area 808 in the box 1314.

도 13c에 도시된 바와 같이, 사용자가 필기 입력 영역(806)에서 필기 단어 "Thanks"를 입력한 후에, 사용자는 이어서 필기 입력 영역(806)에서 획들(1316)을 갖는 스타일화된 느낌표(예컨대, 둥근 원을 아래에 갖는 기다란 원)를 그린다. 사용자 디바이스는, 추가적인 획들(1316)이 필기 입력 영역(806)에서 누적된 필기 획들(1306)로부터 이전에 인식된 다른 인식 유닛들과는 별도의 인식 유닛을 형성하는 것을 인식한다. 새롭게 입력된 인식 유닛(즉, 획들(1316)에 의해 형성된 인식 유닛)에 기초하여, 사용자 디바이스는 필기 인식 모델을 사용하여 이모지 캐릭터(예컨대, 스타일화된 "!")를 식별한다. 이러한 인식된 이모지 캐릭터에 기초하여, 사용자 디바이스는 후보 디스플레이 영역(806)에서 제1 인식 결과(1318)(예컨대, 스타일화된 "!"를 갖는 "Thanks!")를 제시한다. 추가적으로, 사용자 디바이스는 또한 새롭게 입력된 인식 유닛과 시각적으로 유사한 숫자 "8"도 또한 식별한다. 이러한 인식된 숫자에 기초하여, 사용자 디바이스는 후보 디스플레이 영역(806)에서 제2 인식 결과(1322)(예컨대, "Thanks 8")를 제시한다. 추가적으로, 식별된 이모지 캐릭터(예컨대, 스타일화된 "!")에 기초하여, 사용자 디바이스는 또한 이모지 캐릭터에 대응하는 정규 문자(예컨대, 정규 문자 "!")를 식별한다. 이러한 간접적으로 식별된 정규 문자에 기초하여, 사용자 디바이스는 후보 디스플레이 영역(806)에서 제3 인식 결과(1320)(예컨대, 정규 문자 "!"를 갖는 "Thanks!")를 제시한다. 이 시점에서, 사용자는 후보 인식 결과들(1318, 1320, 1322) 중 임의의 하나를 선택하여 그것을 텍스트 입력 영역(808)으로 입력할 수 있다.13C, after the user enters the handwritten word "Thanks" in the handwriting input area 806, the user then follows a stylized exclamation mark with strokes 1316 in the handwriting input area 806 (e.g., Draw a long circle with a round circle below it The user device recognizes that the additional strokes 1316 form a recognition unit separate from other recognition units previously recognized from the accumulated handwriting strokes 1306 in the handwriting input area 806. Based on the newly entered recognition unit (ie, the recognition unit formed by the strokes 1316), the user device identifies an emoji character (eg, a stylized “!”) using the handwriting recognition model. Based on this recognized emoji character, the user device presents a first recognition result 1318 (eg, “Thanks!” with a stylized “!”) in the candidate display area 806. Additionally, the user device also identifies a number "8" that is visually similar to the newly entered recognition unit. Based on this recognized number, the user device presents a second recognition result 1322 (eg, “Thanks 8”) in the candidate display area 806. Additionally, based on the identified emoji character (eg, stylized “!”), the user device also identifies a regular character (eg, the regular character “!”) corresponding to the emoji character. Based on this indirectly identified regular character, the user device presents a third recognition result 1320 (eg, “Thanks!” with the regular character “!”) in the candidate display area 806. At this point, the user can select any one of the candidate recognition results 1318, 1320, and 1322 and input it into the text input area 808.

도 13d에 도시된 바와 같이, 사용자는 계속해서 필기 입력 영역(806)에서 추가적인 필기 획들(1324)을 제공한다. 이번에, 사용자는 스타일화된 느낌표에 뒤이어 하트 심볼을 그렸다. 새로운 필기 획들(1324)에 응답하여, 사용자 디바이스는 새롭게 제공된 필기 획들(1324)이 또 다른 새로운 인식 유닛을 형성하는 것을 인식한다. 새로운 인식 유닛에 기초하여, 사용자 디바이스는 새로운 인식 유닛에 대한 후보 문자들로서 이모지 캐릭터 "♥", 및 대안적으로 숫자 "0"를 식별한다. 새로운 인식 유닛으로부터 인식된 이러한 새로운 후보 문자들에 기초하여, 사용자 디바이스는 2개의 업데이트된 후보 인식 결과들(1326, 1330)(예컨대, "Thanks !♥" 및 "Thanks 80")을 제시한다. 일부 실시예들에서, 사용자 디바이스는 식별된 이모지 캐릭터(예컨대, "♥")에 대응하는 정규 문자(들) 또는 단어(들)(예컨대, "Love")를 추가로 식별한다. 인식된 이모지 캐릭터에 대한 식별된 정규 문자(들) 또는 단어(들)에 기초하여, 사용자 디바이스는 인식된 이모지 캐릭터(들)가 대응하는 정규 문자(들) 또는 단어(들)로 대신된 제3 인식 결과(1328)를 제시한다. 도 13d에 도시된 바와 같이, 인식 결과(1328)에서, 이모지 캐릭터 "!"는 일반 느낌표 "!"로 대신되고, 이모지 캐릭터 "♥"는 정규 문자들 또는 단어 "Love"로 대신되었다.13D, the user continues to provide additional handwritten strokes 1324 in the handwriting input area 806. This time, the user drew a heart symbol followed by a stylized exclamation mark. In response to the new handwritten strokes 1324, the user device recognizes that the newly provided handwritten strokes 1324 form another new recognition unit. Based on the new recognition unit, the user device identifies the emoji character “♥”, and alternatively the number “0” as candidate characters for the new recognition unit. Based on these new candidate characters recognized from the new recognition unit, the user device presents two updated candidate recognition results 1326, 1330 (eg, "Thanks !♥" and "Thanks 80"). In some embodiments, the user device further identifies the regular character(s) or word(s) (eg, “Love”) corresponding to the identified emoji character (eg, “♥”). Based on the identified canonical character(s) or word(s) for the recognized emoji character, the user device is configured to replace the recognized emoji character(s) with the corresponding regular character(s) or word(s). The third recognition result (1328) is presented. As shown in Fig. 13D, in the recognition result 1328, the emoji character "!" is replaced with a general exclamation mark "!", and the emoji character "♥" is replaced with regular characters or the word "Love".

도 13e에 도시된 바와 같이, 사용자는 후보 인식 결과들 중 하나(예컨대, 혼합 스크립트 텍스트 "Thanks!♥"를 나타내는 후보 결과(1326))를 선택하였고, 선택된 인식 결과의 텍스트가 텍스트 입력 영역(808)으로 입력되고, 후속하여 채팅 세션의 다른 참여자에게 전송된다. 메시지 버블(1332)은 대화 패널(1302)에서의 메시지의 텍스트를 나타낸다.13E, the user selects one of the candidate recognition results (eg, a candidate result 1326 representing the mixed script text “Thanks!♥”), and the text of the selected recognition result is a text input area 808 ), and subsequently transmitted to other participants in the chat session. The message bubble 1332 represents the text of a message in the dialog panel 1302.

도 14는 사용자가 필기 입력을 사용하여 이모지 캐릭터를 입력하는 예시적인 프로세스(1400)의 플로차트이다. 도 13a 내지 도 13e는 일부 실시예들에 따른 예시적인 프로세스(1400)를 도시한다.14 is a flowchart of an exemplary process 1400 in which a user enters an emoji character using handwriting input. 13A-13E illustrate an exemplary process 1400 in accordance with some embodiments.

프로세스(1400)에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신한다(1402). 필기 입력은 필기 입력 인터페이스의 필기 입력 영역에서 제공되는 복수의 필기 획들을 포함한다. 일부 실시예들에서, 사용자 디바이스는 필기 인식 모델에 기초하여, 필기 입력으로부터의 복수의 출력 문자들을 인식한다(1404). 일부 실시예들에서, 출력 문자들은 자연 인간 언어의 스크립트로부터의 적어도 제1 이모지 캐릭터(예컨대, 도 13d의 스타일화된 느낌표 "!" 또는 이모지 캐릭터 "♥") 및 적어도 제1 문자(예컨대, 도 13d의 단어 "Thanks"로부터의 문자)를 포함한다. 일부 실시예들에서, 예컨대, 도 13d에 도시된 바와 같이, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서 자연 인간 언어의 스크립트로부터의 제1 이모지 캐릭터(예컨대, 도 13d의 스타일화된 느낌표 "!" 또는 이모지 캐릭터 "♥") 및 제1 문자(예컨대, 도 13d의 단어 "Thanks"로부터의 문자)를 포함하는 인식 결과(예컨대, 도 13d의 결과(1326))를 디스플레이한다(1406).In process 1400, the user device receives (1402) a handwriting input from a user. The handwriting input includes a plurality of handwriting strokes provided in the handwriting input area of the handwriting input interface. In some embodiments, the user device recognizes (1404) a plurality of output characters from the handwriting input based on the handwriting recognition model. In some embodiments, the output characters are at least a first emoji character (eg, the stylized exclamation mark “!” or emoji character “♥” in Fig. 13D) and at least a first character (eg, from a script in natural human language) and at least a first character (eg , Letters from the word "Thanks" in Fig. 13D). In some embodiments, for example, as shown in FIG. 13D, the user device may display a first emoji character from a script in natural human language (eg, a stylized exclamation mark in FIG. 13D) in a candidate display area of the handwriting input interface. !" or the emoji character "♥") and a recognition result (e.g., result 1326 of FIG. 13D) including a first character (e.g., a character from the word "Thanks" in FIG. 13D) is displayed (1406). .

일부 실시예들에서, 필기 인식 모델에 기초하여, 사용자 디바이스는 선택적으로, 필기 입력으로부터 적어도 제1 의미적 단위(예컨대, 단어 "thanks")를 인식하는데(1408), 여기서 제1 의미적 단위는 개별 인간 언어에서의 개별 의미적 뜻을 전달할 수 있는 개별 문자, 단어 또는 어구를 포함한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력으로부터 인식되는 제1 의미적 단위(예컨대, 단어 "Thanks")와 연관된 제2 이모지 캐릭터(예컨대, "악수" 이모지 캐릭터)를 식별한다(1410). 일부 실시예들에서, 사용자 디바이스는, 필기 입력 인터페이스의 후보 디스플레이 영역에서, 제1 의미적 단위(예컨대, 단어 "Thanks")로부터 식별되는 적어도 제2 이모지 캐릭터를 포함하는 제2 인식 결과(예컨대, "악수" 이모지 캐릭터에 뒤이은 "!" 및 "♥" 이모지 캐릭터들을 나타내는 인식 결과)를 디스플레이한다(1412). 일부 실시예들에서, 제2 인식 결과를 디스플레이하는 것은 제2 인식 결과를, 적어도 제1 의미적 단위(예컨대, 단어 "Thanks")를 포함하는 제3 인식 결과(예컨대, 인식 결과 "Thanks!♥")와 동시에 디스플레이하는 것을 추가로 포함한다.In some embodiments, based on the handwriting recognition model, the user device optionally recognizes at least a first semantic unit (eg, the word “thanks”) from the handwriting input (1408), wherein the first semantic unit is It contains individual letters, words or phrases capable of conveying individual semantic meanings in individual human language. In some embodiments, the user device identifies 1410 a second emoji character (eg, “handshake” emoji character) associated with a first semantic unit (eg, the word “Thanks”) recognized from the handwriting input. . In some embodiments, the user device includes, in a candidate display area of the handwriting input interface, a second recognition result (eg, a second recognition result comprising at least a second emoji character identified from a first semantic unit (eg, word “Thanks”) , A recognition result representing "!" and "♥" emoji characters following the "handshake" emoji character) is displayed (1412). In some embodiments, displaying the second recognition result represents the second recognition result, a third recognition result (eg, recognition result “Thanks!♥”) comprising at least a first semantic unit (eg, the word “Thanks”). It further includes displaying at the same time as ").

일부 실시예들에서, 사용자는 후보 디스플레이 영역에서 디스플레이되는 제1 인식 결과를 선택하는 사용자 입력을 수신한다. 일부 실시예들에서, 사용자 디바이스는, 사용자 입력에 응답하여, 필기 입력 인터페이스의 텍스트 입력 영역에서 선택된 제1 인식 결과의 텍스트를 입력하고, 여기서 텍스트는 적어도 자연 인간 언어의 스크립트로부터의 제1 이모지 캐릭터 및 제1 문자를 포함한다. 다시 말하면, 사용자는 자연 언어 키보드와 이모지 캐릭터 키보드 사이의 전환 없이, 필기 입력 영역에서 단일 필기 입력(비록 다수의 획들을 포함하는 필기 입력일지라도)을 사용하여 혼합 스크립트 텍스트 입력을 입력할 수 있다.In some embodiments, the user receives a user input for selecting a first recognition result displayed in the candidate display area. In some embodiments, the user device, in response to the user input, inputs the text of the first recognition result selected in the text input area of the handwriting input interface, wherein the text is at least a first emoji from a script in natural human language. It includes a character and a first character. In other words, the user can enter mixed script text input using a single handwriting input (even if it is a handwriting input including multiple strokes) in the handwriting input area, without switching between the natural language keyboard and the emoji character keyboard.

일부 실시예들에서, 필기 인식 모델은 적어도 3개의 비중첩 스크립트들의 문자들에 대응하는 기입 샘플들을 포함하는 멀티스크립트 훈련 코퍼스에 대해 훈련되었고, 3개의 비중첩 스크립트들은 이모지 캐릭터들, 한자들, 및 라틴어 스크립트의 세트를 포함한다.In some embodiments, the handwriting recognition model was trained on a multiscript training corpus containing writing samples corresponding to characters of at least three non-overlapping scripts, and the three non-overlapping scripts were emoji characters, Chinese characters, And a set of Latin scripts.

일부 실시예들에서, 사용자 디바이스는 필기 입력으로부터 직접 인식되는 제1 이모지 캐릭터(예컨대, "♥" 이모지 캐릭터)에 대응하는 제2 의미적 단위(예컨대, 단어 "Love")를 식별한다(1414). 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서, 제1 이모지 캐릭터(예컨대, "♥" 이모지 캐릭터)로부터 식별되는 적어도 제2 의미적 단위(예컨대, 단어 "Love")를 포함하는 제4 인식 결과(예컨대, 도 13d의 1328)를 디스플레이한다(1416). 일부 실시예들에서, 도 13d에 도시된 바와 같이, 사용자 디바이스는 후보 디스플레이 영역에서 제4 인식 결과(예컨대, 결과(1328) "Thanks! Love")를, 제1 인식 결과(예컨대, 결과 "Thanks♥!")와 동시에 디스플레이한다.In some embodiments, the user device identifies a second semantic unit (eg, the word “Love”) corresponding to the first emoji character (eg, “♥” emoji character) recognized directly from the handwriting input ( 1414). In some embodiments, the user device is at least a second semantic unit (eg, the word “Love”) identified from a first emoji character (eg, “♥” emoji character) in the candidate display area of the handwriting input interface. A fourth recognition result (eg, 1328 in FIG. 13D) including a is displayed (1416). In some embodiments, as shown in FIG. 13D, the user device sends a fourth recognition result (eg, result 1328 “Thanks! Love”) in the candidate display area, and a first recognition result (eg, result “Thanks”) in the candidate display area. ♥!") and display at the same time.

일부 실시예들에서, 사용자 디바이스는 사용자가 이모지 캐릭터를 그림으로써 정규 텍스트를 입력할 수 있게 한다. 예를 들어, 사용자가 단어 "elephant"를 철자하는 방식을 모를 경우, 사용자는 선택적으로 필기 입력 영역에서 "elephant"에 대한 스타일화된 이모지 캐릭터를 그리고, 사용자 디바이스가 필기 입력을 "elephant"에 대한 이모지 캐릭터로서 정확하게 인식할 수 있는 경우, 사용자 디바이스는 선택적으로 또한 후보 디스플레이 영역에서 디스플레이된 인식 결과들 중 하나로서 일반 텍스트의 단어 "elephant"를 제시한다. 다른 예에서, 사용자는 한자 "猫"를 기입하는 대신에, 필기 입력 영역에서 스타일화된 고양이를 그릴 수 있다. 사용자 디바이스가 사용자에 의해 제공된 필기 입력에 기초하여 "고양이"에 대한 이모지 캐릭터를 식별하면, 사용자 디바이스는 선택적으로 또한 후보 인식 결과들에서 "고양이"에 대한 이모지 캐릭터와 함께, 중국어로 "고양이"를 의미하는 한자 "猫"를 제시한다. 인식된 이모지 캐릭터에 대한 일반 텍스트를 제시함으로써, 사용자 디바이스는 잘 알려진 이모지 캐릭터와 통상 연관된 수 개의 스타일화된 획들을 사용하여 복잡한 문자들 또는 단어들을 입력하는 대안적인 방식을 제공한다. 일부 실시예들에서, 사용자 디바이스는 이모지 캐릭터들을, 하나 이상의 바람직한 스크립트들 또는 언어들(예컨대, 영어 또는 중국어)에서의 그들의 대응하는 일반 텍스트(예컨대, 문자들, 단어들, 어구들, 심볼들 등)와 링크시키는 사전을 저장한다.In some embodiments, the user device allows the user to enter regular text by drawing an emoji character. For example, if the user does not know how to spell the word "elephant", the user optionally draws a stylized emoji character for "elephant" in the handwriting input area, and the user device maps the handwriting input to "elephant". If it can be accurately recognized as an emoji character for, the user device optionally also presents the word "elephant" in plain text as one of the recognition results displayed in the candidate display area. In another example, the user may draw a stylized cat in the handwriting input area instead of writing the Chinese character “猫”. If the user device identifies the emoji character for “cat” based on the handwriting input provided by the user, the user device optionally also has the emoji character for “cat” in the candidate recognition results, and “cat” in Chinese. We present the Chinese character "猫" which means ". By presenting plain text for a recognized emoji character, the user device provides an alternative way of entering complex characters or words using several stylized strokes typically associated with a well-known emoji character. In some embodiments, the user device may display emoji characters in their corresponding plain text (e.g., letters, words, phrases, symbols) in one or more preferred scripts or languages (e.g., English or Chinese). Etc.)

일부 실시예들에서, 사용자 디바이스는 필기 입력으로부터 생성된 이미지에 대한 이모지 캐릭터의 시각적 유사성에 기초하여 이모지 캐릭터를 인식한다. 일부 실시예들에서, 필기 입력으로부터 이모지 캐릭터들의 인식을 가능하게 하기 위해, 사용자 디바이스 상에서 사용되는 필기 인식 모델은, 자연 인간 언어의 스크립트의 문자들에 대응하는 필기 샘플들 및 또한 인공적으로 설계된 이모지 캐릭터들의 세트에 대응하는 필기 샘플들 둘 모두를 포함하는 훈련 코퍼스를 사용하여 훈련된다. 일부 실시예들에서, 동일한 의미적 개념에 관련된 이모지 캐릭터들은, 상이한 자연 언어들의 텍스트로 혼합된 입력에서 사용될 때 상이한 외관을 가질 수 있다. 예를 들어, "Love"의 의미적 개념에 대한 이모지 캐릭터는 하나의 자연 언어(예컨대, 일본어)의 일반 텍스트로 제시될 때 "하트" 이모지 캐릭터이며 다른 자연 언어(예컨대, 영어 또는 프랑스어)의 일반 텍스트로 제시될 때 "키스" 이모지 캐릭터일 수 있다.In some embodiments, the user device recognizes the emoji character based on the visual similarity of the emoji character to the image generated from the handwriting input. In some embodiments, to enable recognition of emoji characters from handwriting input, the handwriting recognition model used on the user device includes handwriting samples corresponding to characters of a script in natural human language and also artificially designed emoji. It is trained using a training corpus that includes both handwriting samples corresponding to the set of characters. In some embodiments, emoji characters related to the same semantic concept may have a different appearance when used in mixed input into text of different natural languages. For example, an emoji character for the semantic concept of "Love" is a "heart" emoji character when presented as plain text in one natural language (eg, Japanese) and another natural language (eg, English or French). It may be a "kiss" emoji character when presented in plain text of

본 명세서에 설명되는 바와 같이, 다문자 필기 입력의 인식을 수행할 때, 필기 입력 모듈은 필기 입력 영역에서 현재 누적된 필기 입력의 분할을 수행하고, 누적된 획들을 하나 이상의 인식 유닛들로 나눈다. 필기 입력을 분할하는 방식을 결정하기 위해 사용되는 파라미터들 중 하나는 획들이 필기 입력 영역에서 클러스터링되는 방식 및 획들의 상이한 클러스터들 간의 거리일 수 있다. 지금까지 사람들은 상이한 서체들을 갖는다. 몇몇 사람들은 획들 또는 동일한 문자의 상이한 부분들 사이에 큰 거리를 두고 매우 듬성듬성 기입하는 경향이 있는 반면에, 다른 사람들은 획들 또는 상이한 문자들 사이에 매우 작은 거리를 두고 매우 빽빽하게 기입하는 경향이 있다. 심지어 동일한 사용자의 경우에도, 불완전한 계획으로 인해, 필기 문자는 균형잡힌 외관으로부터 벗어날 수 있고, 상이한 방식들로 한쪽으로 치우치거나, 늘어나 있거나, 또는 압착될 수 있다. 본 명세서에 설명되는 바와 같이, 멀티스크립트 필기 인식 모델은 획 순서 독립적인 인식을 제공하므로, 사용자는 문자들 또는 문자들의 부분들을 비순서적으로 기입할 수 있다. 결과적으로, 문자들 간에 필기 입력에서의 공간 균일성 및 균형을 획득하기 어려울 수 있다.As described herein, when performing recognition of a multi-character handwriting input, the handwriting input module divides the currently accumulated handwriting input in the handwriting input area, and divides the accumulated strokes into one or more recognition units. One of the parameters used to determine how to divide the handwriting input may be the way strokes are clustered in the handwriting input area and the distance between different clusters of strokes. Until now, people have different fonts. Some people tend to write very sparse with large distances between strokes or different parts of the same letter, while others tend to write very tightly with very small distances between strokes or different characters. . Even for the same user, due to incomplete planning, handwritten characters may deviate from their balanced appearance and may be skewed, stretched, or squeezed in different ways. As described herein, since the multi-script handwriting recognition model provides stroke order independent recognition, a user can write characters or portions of characters out of order. As a result, it may be difficult to obtain spatial uniformity and balance in handwriting input between characters.

일부 실시예들에서, 본 명세서에 설명되는 필기 입력 모델은 사용자가 2개의 인접 인식 유닛들을 단일 인식 유닛으로 병합할지 또는 단일 인식 유닛을 2개의 별도의 인식 유닛들로 나눌지를 필기 입력 모듈에 통지하는 방식을 제공한다. 사용자의 도움으로, 필기 입력 모듈은 초기 분할을 개정할 수 있고, 사용자에 의해 의도된 결과를 생성할 수 있다.In some embodiments, the handwriting input model described herein informs the handwriting input module whether the user will merge two adjacent recognition units into a single recognition unit or divide a single recognition unit into two separate recognition units. Provides a way. With the help of the user, the handwriting input module can revise the initial segmentation and generate the result intended by the user.

도 15a 내지 도 15j는 사용자가 사전결정된 핀치 및 팽창 제스처들을 제공하여 사용자 디바이스에 의해 식별된 인식 유닛들을 수정하는 일부 예시적인 사용자 인터페이스들 및 프로세스들을 도시한다.15A-15J illustrate some example user interfaces and processes for a user to provide predetermined pinch and inflate gestures to modify recognition units identified by the user device.

도 15a 및 도 15b에 도시된 바와 같이, 사용자는 필기 입력 인터페이스(802)의 필기 입력 영역(806)에서 복수의 필기 획들(1502)(예컨대, 3개의 획들)을 입력하였다. 사용자 디바이스는 현재 누적된 필기 획들(1502)에 기초하여 단일 인식 유닛을 식별하였고, 후보 디스플레이 영역(806)에서 3개의 후보 문자들(1504, 1506, 1508)(예컨대, 각각 "巾", "中", 및 "

Figure 112020057647690-pat00041
")을 제시하였다.15A and 15B, the user inputs a plurality of handwritten strokes 1502 (eg, three strokes) in the handwriting input area 806 of the handwriting input interface 802. The user device has identified a single recognition unit based on the currently accumulated handwritten strokes 1502, and in the candidate display area 806, three candidate characters 1504, 1506, 1508 (e.g., "巾", "中", respectively. ", and "
Figure 112020057647690-pat00041
") was presented.

도 15c는 필기 입력 영역(606)에서 초기 필기 획들(1502)의 오른쪽에 수 개의 추가적인 획들(1510)을 추가로 입력하였다. 사용자 디바이스는 획들(1502) 및 획들(1510)이 2개의 별도의 인식 유닛들로서 간주되어야 한다고 (예컨대, 복수의 획들(1502, 1510)의 치수들 및 공간 분포들에 기초하여) 결정한다. 인식 유닛들의 나눔에 기초하여, 사용자 디바이스는 제1 및 제2 인식 유닛들의 입력 이미지들을 필기 인식 모델로 제공하고, 후보 문자들의 2개의 세트들을 획득한다. 그 후에, 사용자 디바이스는 인식된 문자들의 상이한 조합들에 기초하여 복수의 인식 결과들(예컨대, 1512, 1514, 1516, 1518)을 생성한다. 각 인식 결과는 제1 인식 유닛에 대한 인식된 문자, 및 제2 인식 유닛에 대한 인식된 문자를 포함한다. 도 15c에 도시된 바와 같이, 복수의 인식 결과들(1512, 1514, 1516, 1518) 각각은 2개의 인식된 문자들을 포함한다.In FIG. 15C, several additional strokes 1510 are additionally inputted to the right of the initial handwritten strokes 1502 in the handwriting input area 606. The user device determines that the strokes 1502 and 1510 should be considered as two separate recognition units (eg, based on the dimensions and spatial distributions of the plurality of strokes 1502, 1510). Based on the division of the recognition units, the user device provides input images of the first and second recognition units as a handwriting recognition model, and obtains two sets of candidate characters. Thereafter, the user device generates a plurality of recognition results (eg, 1512, 1514, 1516, 1518) based on different combinations of the recognized characters. Each recognition result includes a recognized character for the first recognition unit and a recognized character for the second recognition unit. As shown in FIG. 15C, each of the plurality of recognition results 1512, 1514, 1516, and 1518 includes two recognized characters.

이러한 예에서, 사용자가 사실은 단일 문자로서 인식될 필기 입력을 의도하였지만, 무심코 필기 문자(예컨대, "帽")의 왼쪽 부분(예컨대, 왼쪽 부수 "巾")과 오른쪽 부분(예컨대, 오른쪽 부수 "冒") 사이에 너무 큰 공간을 두었다고 가정한다. 후보 디스플레이 영역(806)에 제시된 결과들(예컨대, 1512, 1514, 1516, 1518)을 보면, 사용자는 사용자 디바이스가 현재 필기 입력을 2개의 인식 유닛들로 틀리게 분할하였음을 알아차릴 것이다.In this example, the user intended a handwriting input that would in fact be recognized as a single character, but inadvertently the left part (eg, the left side "巾") and the right part (eg, the right side " It is assumed that there is too much space between "冒"). Looking at the results presented in the candidate display area 806 (eg, 1512, 1514, 1516, 1518), the user will notice that the user device has incorrectly divided the current handwriting input into two recognition units.

분할은 객관적인 표준에 기초할 수 있지만, 사용자가 현재 필기 입력을 삭제하고 다시 왼쪽 부분과 오른쪽 부분 사이에 더 작은 거리를 두고 전체 문자를 재기입하는 것은 바람직하지 않을 것이다.The segmentation may be based on an objective standard, but it would be undesirable for the user to delete the current handwriting input and rewrite the entire character again with a smaller distance between the left and right portions.

그 대신에, 도 15d에 도시된 바와 같이, 사용자는 필기 입력 모듈에 의해 식별된 2개의 인식 유닛들이 단일 인식 유닛으로서 병합되어야 함을 필기 입력 모듈에 지시하기 위해 필기 획들(1502, 1510)의 2개의 클러스터들 위에서 핀치 제스처를 이용한다. 핀치 제스처는 터치 감응 표면 상에서 서로를 향해 이동되는 2개의 접촉들(1520, 1522)에 의해 지시된다.Instead, as shown in Fig. 15D, the user has two of the handwritten strokes 1502, 1510 to instruct the handwriting input module that the two recognition units identified by the handwriting input module should be merged as a single recognition unit. Use a pinch gesture on the clusters of dogs. The pinch gesture is indicated by two contacts 1520 and 1522 that are moved towards each other on the touch-sensitive surface.

도 15e는, 사용자의 핀치 제스처에 응답하여, 사용자 디바이스가 현재 누적된 필기 입력(예컨대, 획들(1502, 1510))의 분할을 개정하고 필기 획들을 단일 인식 유닛으로 병합하였음을 도시한다. 도 15e에 도시된 바와 같이, 사용자 디바이스는 개정된 인식 유닛에 기초한 입력 이미지를 필기 인식 모델로 제공하고, 개정된 인식 유닛에 대한 3개의 새로운 후보 문자들(1524, 1526, 1528)(예컨대, "帽", "

Figure 112020057647690-pat00042
", 및 "搢")을 획득하였다. 일부 실시예들에서, 도 15e에 도시된 바와 같이, 사용자 디바이스는 선택적으로 필기 획들의 왼쪽 클러스터와 오른쪽 클러스터 사이의 거리가 감소되도록 필기 입력 영역(806) 내의 필기 입력의 렌더링을 조정한다. 일부 실시예들에서, 사용자 디바이스는 핀치 제스처에 응답하여 필기 입력 영역(608)에 나타낸 필기 입력의 렌더링을 변경하지 않는다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 영역(806)에서 검출된 (하나의 단일 접촉에 대조적으로) 2개의 동시 접촉들에 기초하여 입력 획으로부터 핀치 제스처를 구별한다.15E shows that in response to the user's pinch gesture, the user device revised the division of the currently accumulated handwriting input (eg, strokes 1502, 1510) and merged the handwritten strokes into a single recognition unit. 15E, the user device provides an input image based on the revised recognition unit as a handwriting recognition model, and three new candidate characters 1524, 1526, 1528 for the revised recognition unit (e.g., "帽", "
Figure 112020057647690-pat00042
“, and “搢.” In some embodiments, as shown in Fig. 15E, the user device selectively includes a handwriting input area 806 such that the distance between the left and right clusters of handwritten strokes is reduced. Adjusts the rendering of handwriting input within In some embodiments, the user device does not change the rendering of the handwriting input shown in the handwriting input area 608 in response to the pinch gesture. In some embodiments, the user device does not change the rendering of the handwriting input shown in the handwriting input area 608. The pinch gesture is distinguished from the input stroke based on the two simultaneous contacts (as opposed to one single contact) detected in the input area 806.

도 15f에 도시된 바와 같이, 사용자는 이전에 입력된 필기 입력(즉, 문자 "帽"에 대한 획들)의 오른쪽에 획들(1530)을 2개 더 입력하였다. 사용자 디바이스는 새롭게 입력된 획들(1530)이 새로운 인식 유닛임을 결정하고, 새롭게 식별된 인식 유닛에 대한 후보 문자(예컨대, "子")를 인식한다. 그 후에, 사용자 디바이스는 새롭게 식별된 문자(예컨대, "子")를 먼저 식별된 인식 유닛에 대한 후보 문자들과 조합하고, 후보 디스플레이 영역(806)에서 다수의 상이한 인식 결과들 (예컨대, 결과들(1532, 1534))을 제시한다.As shown in FIG. 15F, the user inputs two more strokes 1530 to the right of the previously input handwriting input (ie, strokes for the character “帽”). The user device determines that the newly input strokes 1530 are new recognition units, and recognizes a candidate character (eg, “子”) for the newly identified recognition unit. Thereafter, the user device combines the newly identified character (e.g., "子") with candidate characters for the first identified recognition unit, and a number of different recognition results (e.g., results) in the candidate display area 806. (1532, 1534)).

도 15g에 도시된 바와 같이, 필기 획들(1530)에 뒤이어서, 사용자는 계속해서 획들(1530)의 오른쪽에 획들(1536)을 더(예컨대, 획들을 3개 더) 기입한다. 획들(1530)과 획들(1536) 사이의 수평 거리가 매우 작기 때문에, 사용자 디바이스는 획들(1530) 및 획들(1536)이 동일한 인식 유닛에 속한다고 결정하고, 획들(1530, 1536)에 의해 형성된 입력 이미지를 필기 인식 모델로 제공한다. 필기 인식 모델은 개정된 인식 유닛에 대한 3개의 상이한 후보 문자들을 식별하고, 현재 누적된 필기 입력에 대한 2개의 개정된 인식 결과들(1538, 1540)을 생성한다.As shown in FIG. 15G, following the handwritten strokes 1530, the user continues to write more strokes 1536 (eg, three more strokes) to the right of the strokes 1530. Because the horizontal distance between the strokes 1530 and the strokes 1536 is very small, the user device determines that the strokes 1530 and the strokes 1536 belong to the same recognition unit, and the input formed by the strokes 1530 and 1536 Provides the image as a handwriting recognition model. The handwriting recognition model identifies three different candidate characters for the revised recognition unit, and generates two revised recognition results 1538, 1540 for the currently accumulated handwriting input.

이러한 예에서, 마지막 2개 세트의 획들(1530, 1536)이 사실은 2개의 별도의 문자들(예컨대, "子" 및 "±")로서 의도되었다고 가정한다. 사용자 디바이스가 2개 세트들의 획들(1530, 1536)을 단일 인식 유닛으로 틀리게 조합하였음을 사용자가 알아낸 후에, 사용자는 2개 세트의 획들(1530, 1536)이 2개의 별도의 인식 유닛들로 나눠져야 함을 사용자 디바이스에 통지하기 위해 팽창 제스처를 제공하도록 진행한다. 도 15h에 도시된 바와 같이, 사용자는 획들(1530, 1536) 주위에 2개의 접촉들(1542, 1544)을 취한 후에, 2개의 접촉들을 일반적으로 수평 방향으로 (즉, 디폴트 기입 방향을 따라) 서로로부터 멀리 이동시킨다.In this example, assume that the last two sets of strokes 1530, 1536 are in fact intended as two separate characters (eg, "子" and "±"). After the user finds out that the user device incorrectly combines the two sets of strokes 1530 and 1536 into a single recognition unit, the user divides the two sets of strokes 1530 and 1536 into two separate recognition units. Proceed to provide an inflation gesture to notify the user device that it should lose. As shown in Figure 15H, after the user has made two contacts 1542, 1544 around the strokes 1530, 1536, the two contacts are generally horizontally (i.e., along the default writing direction) with each other. Move away from

도 15i는, 사용자의 팽창 제스처에 응답하여, 사용자 디바이스가 현재 누적된 필기 입력의 이전의 분할을 개정하고 획들(1530) 및 획들(1536)을 2개의 연속 인식 유닛들로 배정한 것을 도시한다. 2개의 별도의 인식 유닛들에 대해 생성된 입력 이미지들에 기초하여, 사용자 디바이스는 획들(1530)에 기초한 제1 인식 유닛에 대한 하나 이상의 후보 문자들, 및 획들(1536)에 기초한 제2 인식 유닛에 대한 하나 이상의 후보 문자들을 식별한다. 그 후에, 사용자 디바이스는 인식된 문자들의 상이한 조합들에 기초하여 2개의 새로운 인식 결과들(1546, 1548)을 생성한다. 일부 실시예들에서, 사용자 디바이스는 선택적으로 획들(1536, 1536)의 렌더링을 수정하여 이전에 식별된 인식 유닛의 나눔을 반영한다.FIG. 15I shows that in response to the user's inflation gesture, the user device revises the previous segmentation of the currently accumulated handwriting input and assigns strokes 1530 and strokes 1536 to two consecutive recognition units. Based on the input images generated for two separate recognition units, the user device is configured with one or more candidate characters for a first recognition unit based on strokes 1530, and a second recognition unit based on strokes 1536. Identify one or more candidate characters for Thereafter, the user device generates two new recognition results 1546 and 1548 based on different combinations of recognized characters. In some embodiments, the user device optionally modifies the rendering of strokes 1536, 1536 to reflect the previously identified division of the recognition unit.

도 15j 및 도 15k에 도시된 바와 같이, 사용자는 후보 디스플레이 영역(806)에 디스플레이된 후보 인식 결과들 중 하나를 (접촉(1550)에 의해 지시되는 바와 같이) 선택하였고, 선택된 인식 결과(예컨대, 결과(1548))는 사용자 인터페이스의 텍스트 입력 영역(808)에서 입력되었다. 선택된 인식 결과가 텍스트 입력 영역(808)으로 입력된 후에, 후보 디스플레이 영역(806) 및 필기 입력 영역(804)은 둘 모두 클리어되고 후속 사용자 입력을 디스플레이할 준비를 한다.15J and 15K, the user has selected one of the candidate recognition results displayed in the candidate display area 806 (as indicated by the contact 1550), and the selected recognition result (e.g., Results 1548 were entered in the text input area 808 of the user interface. After the selected recognition result is input into the text input area 808, both the candidate display area 806 and the handwriting input area 804 are cleared and ready to display subsequent user input.

도 16a 및 도 16b는 사용자가 사전결정된 제스처 (예컨대, 핀치 제스처 및/또는 팽창 제스처)를 이용하여 현재 필기 입력의 기존의 분할을 분할하거나 또는 개정하는 방식을 필기 입력 모듈에 통지하는 예시적인 프로세스(1600)의 플로차트들이다. 도 15j 및 도 15k는 일부 실시예들에 따른 예시적인 프로세스(1600)의 예시를 제공한다.16A and 16B illustrate an exemplary process in which a user notifies the handwriting input module of how to divide or revise an existing segmentation of the current handwriting input using a predetermined gesture (e.g., a pinch gesture and/or an inflation gesture) ( 1600). 15J and 15K provide an illustration of an exemplary process 1600 in accordance with some embodiments.

일부 실시예들에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신한다(1602). 필기 입력은 디바이스에 결합된 터치 감응 표면에서 제공되는 복수의 필기 획들을 포함한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 필기 입력 영역(예컨대, 도 15a 내지 도 15k의 필기 입력 영역(806))에서 복수의 필기 획들을 실시간으로 렌더링한다(1604). 예컨대, 도 15d 및 도 15h에 도시된 바와 같이, 사용자 디바이스는 복수의 필기 획들에 대한 핀치 제스처 입력 및 팽창 제스처 입력 중 하나를 수신한다.In some embodiments, the user device receives (1602) a handwriting input from the user. The handwriting input includes a plurality of handwritten strokes provided on a touch-sensitive surface coupled to the device. In some embodiments, the user device renders a plurality of handwritten strokes in real time (1604) in a handwriting input area (eg, handwriting input area 806 in FIGS. For example, as shown in FIGS. 15D and 15H, the user device receives one of a pinch gesture input and an inflate gesture input for a plurality of handwritten strokes.

일부 실시예들에서, 예컨대, 도 15c 내지 도 15e에 도시된 바와 같이, 사용자 디바이스는, 핀치 제스처 입력을 수신할 시에, 복수의 필기 획들을 단일 인식 유닛으로서 처리함으로써 복수의 필기 획들에 기초하여 제1 인식 결과를 생성한다(1606).In some embodiments, for example, as shown in FIGS. 15C-15E, the user device, upon receiving a pinch gesture input, processes the plurality of handwritten strokes as a single recognition unit, thereby processing the plurality of handwritten strokes based on the plurality of handwritten strokes. A first recognition result is generated (1606).

일부 실시예들에서, 예컨대, 도 15g 내지 도 15i에 도시된 바와 같이, 사용자 디바이스는, 팽창 제스처 입력을 수신할 시에, 복수의 필기 획들을 팽창 제스처 입력에 의해 떼어내진 2개의 별도의 인식 유닛들로서 처리함으로써 복수의 필기 획들에 기초하여 제2 인식 결과를 생성한다(1608).In some embodiments, for example, as shown in FIGS. 15G-15I, the user device, upon receiving the inflation gesture input, separates a plurality of handwritten strokes by the inflation gesture input, by two separate recognition units. Processing as a field generates a second recognition result based on the plurality of handwritten strokes (1608).

일부 실시예들에서, 예컨대, 도 15e 및 도 15i에 도시된 바와 같이, 사용자 디바이스는, 제1 인식 결과 및 제2 인식 결과의 개별 인식 결과를 생성할 시에, 필기 입력 인터페이스의 후보 디스플레이 영역에서 생성된 인식 결과를 디스플레이한다.In some embodiments, for example, as shown in FIGS. 15E and 15I, the user device, when generating the individual recognition results of the first recognition result and the second recognition result, in the candidate display area of the handwriting input interface. The generated recognition result is displayed.

일부 실시예들에서, 핀치 제스처 입력은 터치 감응 표면 상에 복수의 필기 획들에 의해 점유되는 영역에서 서로를 향해 모여드는 2개의 동시 접촉들을 포함한다. 일부 실시예들에서, 팽창 제스처 입력은 터치 감응 표면 상에 복수의 필기 획들에 의해 점유되는 영역에서 서로로부터 떠나는 2개의 동시 접촉들을 포함한다.In some embodiments, the pinch gesture input includes two simultaneous contacts that converge towards each other in an area occupied by a plurality of handwritten strokes on the touch-sensitive surface. In some embodiments, the inflation gesture input includes two simultaneous contacts leaving each other in an area occupied by a plurality of handwritten strokes on the touch-sensitive surface.

일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들로부터 2개의 인접 인식 유닛들을 식별한다(예컨대, 1614). 예컨대, 도 15c에 도시된 바와 같이, 사용자 디바이스는, 후보 디스플레이 영역에서, 2개의 인접 인식 유닛들로부터 인식되는 개별 문자들을 포함하는 초기 인식 결과(예컨대, 도 15c의 결과들(1512, 1514, 1516, 1518))를 디스플레이한다(1616). 일부 실시예들에서, 핀치 제스처에 응답하여 제1 인식 결과(예컨대, 도 15e의 결과(1524, 1526, 또는 1528))를 디스플레이할 때, 사용자 디바이스는 후보 디스플레이 영역에서 초기 인식 결과를 제1 인식 결과로 대신한다(1618). 일부 실시예들에서, 도 15d에 도시된 바와 같이, 사용자 디바이스는 초기 인식 결과가 후보 디스플레이 영역에서 디스플레이되는 동안 핀치 제스처 입력을 수신한다(1620). 일부 실시예들에서, 예컨대, 도 15e에 도시된 바와 같이, 사용자 디바이스는, 핀치 제스처 입력에 응답하여, 필기 입력 영역에서 2개의 인접 인식 유닛들 사이의 거리를 감소시키도록 복수의 필기 획들을 리렌더링한다(1622).In some embodiments, the user device identifies two adjacent recognition units from a plurality of handwritten strokes (eg, 1614). For example, as shown in Fig. 15C, the user device, in the candidate display area, includes initial recognition results (e.g., results 1512, 1514, 1516 of Fig. 15C) including individual characters recognized from two adjacent recognition units. , 1518)) is displayed (1616). In some embodiments, when displaying the first recognition result (e.g., result 1524, 1526, or 1528 in FIG. 15E) in response to the pinch gesture, the user device first recognizes the initial recognition result in the candidate display area. Substitute for the result (1618). In some embodiments, as shown in FIG. 15D, the user device receives (1620) a pinch gesture input while the initial recognition result is displayed in the candidate display area. In some embodiments, for example, as shown in FIG. 15E, the user device reads a plurality of handwritten strokes to reduce the distance between two adjacent recognition units in the handwriting input area in response to a pinch gesture input. Render (1622).

일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들로부터 단일 인식 유닛을 식별한다(1624). 사용자 디바이스는 후보 디스플레이 영역에서, 단일 인식 유닛으로부터 인식되는 문자(예컨대, "

Figure 112020057647690-pat00043
" "祉")를 포함하는 초기 인식 결과(예컨대, 도 15g의 결과(1538 또는 1540))를 디스플레이한다(1626). 일부 실시예들에서, 예컨대, 도 15h 및 도 15i에 도시된 바와 같이, 팽창 제스처에 응답하여 제2 인식 결과(예컨대, 도 15i의 결과(1546 또는 1548))를 디스플레이할 때, 사용자 디바이스는 후보 디스플레이 영역에서 초기 인식 결과(예컨대, 결과(1538 또는 1540))를 제2 인식 결과(예컨대, 결과(1546 또는 1548))로 대신한다(1628). 일부 실시예들에서, 도 15h에 도시된 바와 같이, 사용자 디바이스는 초기 인식 결과가 후보 디스플레이 영역에서 디스플레이되는 동안 팽창 제스처 입력을 수신한다(1630). 일부 실시예들에서, 도 15h 및 도 15i에 도시된 바와 같이, 사용자 디바이스는, 팽창 제스처 입력에 응답하여, 필기 입력 영역에서 제1 인식 유닛에 배정되는 획들의 제1 서브세트와 제2 인식 유닛에 배정되는 필기 획들의 제2 서브세트 사이의 거리를 증가시키도록 복수의 필기 획들을 리렌더링한다(1632).In some embodiments, the user device identifies (1624) a single recognition unit from the plurality of handwritten strokes. The user device may, in the candidate display area, a character recognized from a single recognition unit (e.g., "
Figure 112020057647690-pat00043
An initial recognition result (e.g., result 1538 or 1540 in Fig. 15G) including ““祉”) is displayed 1626. In some embodiments, for example, as shown in Figs. 15H and 15I, When displaying the second recognition result (e.g., result 1546 or 1548 in FIG. 15I) in response to the inflation gesture, the user device secondly displays the initial recognition result (e.g., result 1538 or 1540) in the candidate display area. Replaced with the recognition result (e.g., result 1546 or 1548) (1628). In some embodiments, as shown in Figure 15H, the user device inputs an inflation gesture while the initial recognition result is displayed in the candidate display area. 15H and 15I, in some embodiments, the user device, in response to the inflation gesture input, receives a first of the strokes assigned to the first recognition unit in the handwriting input area. The plurality of handwritten strokes are re-rendered to increase the distance between the subset and the second subset of handwritten strokes assigned to the second recognition unit (1632).

일부 실시예들에서, 사용자는 선택적으로, 사용자가 획들을 제공하고 표준 분할 프로세스에 기초한 정확한 분할을 하기에는 획들이 너무 퍼져 있을 수 있음을 알아차린 직후에, 복수의 획들을 단일 인식 유닛으로서 처리하는 것을 사용자 디바이스에 통지하기 위해 핀치 제스처를 제공한다. 사용자 디바이스는 핀치 제스처 시에 존재하는 2개의 동시 접촉들에 기초하여 정규 획으로부터 핀치 제스처를 구별할 수 있다. 유사하게, 일부 실시예들에서, 사용자는 선택적으로, 사용자가 획들을 제공하고 표준 분할 프로세스에 기초한 정확한 분할을 하기에는 획들이 너무 함께 가까이 있을 수 있음을 알아차린 직후에, 복수의 획들을 2개의 별도의 인식 유닛들로서 처리하는 것을 사용자 디바이스에 통지하기 위해 팽창 제스처를 제공한다. 사용자 디바이스는 핀치 제스처 시에 존재하는 2개의 동시 접촉들에 기초하여 정규 획으로부터 팽창 제스처를 구별할 수 있다.In some embodiments, the user optionally recommends processing the plurality of strokes as a single recognition unit immediately after the user provides the strokes and realizes that the strokes may be too spread out for accurate segmentation based on the standard segmentation process. Provides a pinch gesture to notify the user device. The user device can distinguish the pinch gesture from the regular stroke based on the two simultaneous contacts present in the pinch gesture. Similarly, in some embodiments, the user may optionally add a plurality of strokes to two separate strokes, immediately after the user provides them and realizes that the strokes may be too close together to make an accurate segmentation based on the standard segmentation process. Provides an inflation gesture to notify the user device of processing as the recognition units of. The user device can distinguish the inflation gesture from the regular stroke based on the two simultaneous contacts present in the pinch gesture.

일부 실시예들에서, 핀치 또는 팽창 제스처의 이동 방향은 선택적으로 제스처 하에서 획들을 분할하는 방식에 대한 추가적인 안내를 제공하기 위해 사용된다. 예를 들어, 필기 입력 영역에 대해 멀티라인 필기 입력이 가능하게 된 경우, 수직 방향으로 이동하는 2개의 접촉들을 갖는 핀치 제스처는 2개의 인접 라인들에서 식별되는 2개의 인식 유닛들을 단일 인식 유닛으로 (예컨대, 위 부수 및 아래 부수로서) 병합하는 것을 필기 입력 모듈에 통지할 수 있다. 유사하게, 수직 방향으로 이동하는 2개의 접촉들을 갖는 팽창 제스처는 2개의 인접 라인들에서 단일 인식 유닛을 2개의 인식 유닛들로 나누는 것을 필기 입력 모듈에 통지할 수 있다. 일부 실시예들에서, 핀치 및 팽창 제스처들은 또한 문자 입력의 하위 부분에서의 분할 안내, 예컨대, 복합 문자의 상이한 부분들(예컨대, 위, 아래, 왼쪽 또는 오른쪽 부분들)에 있어서, 복합 문자(

Figure 112020057647690-pat00044
,등)에서 2개의 하위 구성요소들을 병합하거나 또는 단일 구성요소를 나누는 것을 제공할 수 있다. 이것은, 사용자들이 손으로 복잡한 복합 문자를 기입할 때 정확한 비율들 및 균형을 잃는 경향이 있기 때문에, 복잡한 복합 한자들을 인식하는 데 특히 도움이 된다. 필기 입력의 완료 후에, 예컨대, 핀치 및 팽창 제스처들에 의해, 필기 입력의 비율들 및 균형을 조정할 수 있는 것은, 정확한 비율들 및 균형으로 되도록 여러 가지 시도를 하지 않고도 사용자가 정확한 문자를 입력하는 데 특히 도움이 된다.In some embodiments, the direction of movement of the pinch or inflate gesture is optionally used to provide additional guidance on how to divide the strokes under the gesture. For example, when multi-line handwriting input is enabled for the handwriting input area, a pinch gesture with two contacts moving in the vertical direction converts two recognition units identified in two adjacent lines into a single recognition unit ( For example, the handwriting input module may be notified of merging (as the upper and lower copies). Similarly, an inflation gesture with two contacts moving in the vertical direction can inform the handwriting input module of dividing a single recognition unit into two recognition units in two adjacent lines. In some embodiments, the pinch and inflate gestures also guide division in the lower part of the character input, e.g., for different parts of the compound character (e.g., top, bottom, left or right parts), the compound character (
Figure 112020057647690-pat00044
,, etc.), it may be provided to merge two sub-elements or to divide a single element. This is particularly helpful in recognizing complex complex Chinese characters, as users tend to lose the correct proportions and balance when writing complex complex characters by hand. Being able to adjust the proportions and balance of the handwriting input after completion of the handwriting input, e.g., by pinch and inflation gestures, allows the user to input the correct character without making various attempts to get the correct proportions and balance It is especially helpful.

본 명세서에 설명되는 바와 같이, 필기 입력 모듈은 사용자가 다문자 필기 입력을 입력할 수 있게 하고, 필기 입력 영역에서 다수의 문자들에 걸쳐서, 그리고 심지어는 다수의 어구들, 문장들, 및/또는 라인들에 걸쳐서도, 문자 내에서 다문자 필기 입력에 대한 비순서적인 획들을 허용한다. 일부 실시예들에서, 필기 입력 모듈은 또한 필기 입력 영역에서 문자 단위 삭제를 제공하는데, 여기서 문자 삭제의 순서는 각 문자에 대한 획들이 필기 입력 영역에서 제공된 시기에 관계없이 그리고 역기입 방향(reverse writing direction)이다. 일부 실시예들에서, 필기 입력 영역에서의 각 인식 유닛(예컨대, 문자 또는 부수)의 삭제는 선택적으로 획 단위로 수행되는데, 여기서 획들은 획들이 인식 유닛 내에 제공된 역시간 순서(reverse temporal order)로 삭제된다. 도 17a 내지 도 17h는 사용자로부터의 삭제 입력에 응답하고 다문자 필기 입력에서 문자 단위 삭제를 제공하기 위한 예시적인 사용자 인터페이스들을 도시한다.As described herein, the handwriting input module allows a user to input multi-character handwriting input, spanning multiple characters in the handwriting input area, and even multiple phrases, sentences, and/or Allows out of order strokes for multi-character handwriting input within a character, even across lines. In some embodiments, the handwriting input module also provides character-by-character deletion in the handwriting input area, wherein the order of character deletion is independent of when the strokes for each character are provided in the handwriting input area and in reverse writing direction. direction). In some embodiments, the deletion of each recognition unit (e.g., a character or a number of copies) in the handwriting input area is optionally performed on a stroke-by-stroke basis, wherein the strokes are in a reverse temporal order provided within the recognition unit. It is deleted. 17A-17H illustrate exemplary user interfaces for responding to a deletion input from a user and providing character-by-character deletion in multi-character handwriting input.

도 17a에 도시된 바와 같이, 사용자는 필기 입력 사용자 인터페이스(802)의 필기 입력 영역(804)에서 복수의 필기 획들(1702)을 제공하였다. 현재 누적된 획들(1702)에 기초하여, 사용자 디바이스는 후보 디스플레이 영역(806)에서 3개의 인식 결과들(예컨대, 결과들(1704, 1706, 1708))을 제시한다. 도 17b에 도시된 바와 같이, 사용자는 필기 입력 영역(806)에서 추가적인 복수의 획들(1710)을 제공하였다. 사용자 디바이스는 3개의 새로운 출력 문자들을 인식하고, 3개의 이전 인식 결과들(1704, 1706, 1708)을 3개의 새로운 인식 결과들(1712, 1714, 1716)로 대신한다. 일부 실시예들에서, 도 17b에 도시된 바와 같이, 사용자 디바이스가 현재 필기 입력(예컨대, 획들(1702) 및 획들(1710))으로부터 2개의 별도의 인식 유닛들을 식별하였더라도, 획들(1710)의 클러스터는 필기 인식 모듈의 레퍼토리에서의 임의의 알려진 문자들에 잘 대응하지 않는다. 결과적으로, 획들(1710)을 포함하는 인식 유닛에 대해 식별된 후보 문자들(예컨대, "

Figure 112020057647690-pat00045
", "凶")은 전부 사전결정된 임계치 미만의 인식 신뢰도를 갖는다. 일부 실시예들에서, 사용자 디바이스는 후보 디스플레이 영역(806)에서 제1 인식 유닛에 대한 후보 문자(예컨대, "日")만을 포함하고 제2 인식 유닛에 대한 어떠한 후보 문자도 포함하지 않는 부분 인식 결과(예컨대, 결과(1712))를 제시한다. 일부 실시예들에서, 사용자 디바이스는, 인식 신뢰도가 사전결정된 임계치를 통과하였는지의 여부에 상관없이, 인식 결과들 둘 모두에 대한 후보 문자를 포함하는 전체 인식 결과(예컨대, 결과(1714 또는 1716))를 추가로 디스플레이한다. 부분 인식 결과를 제공하는 것은 필기 입력의 어느 부분이 개정될 필요가 있음을 사용자에게 통지한다. 추가적으로, 사용자는 또한 필기 입력의 정확하게 인식된 부분을 먼저 입력한 후에, 정확하게 인식되지 않은 부분을 재기입하도록 선정할 수 있다.17A, a user has provided a plurality of handwritten strokes 1702 in the handwriting input area 804 of the handwriting input user interface 802. Based on the currently accumulated strokes 1702, the user device presents three recognition results (eg, results 1704, 1706, 1708) in the candidate display area 806. As shown in FIG. 17B, the user has provided a plurality of additional strokes 1710 in the handwriting input area 806. The user device recognizes the 3 new output characters and replaces the 3 previous recognition results 1704, 1706, 1708 with the 3 new recognition results 1712, 1714, 1716. In some embodiments, as shown in FIG. 17B, the cluster of strokes 1710, even though the user device has identified two separate recognition units from the current handwriting input (e.g., strokes 1702 and strokes 1710). Does not correspond well to any known characters in the repertoire of the handwriting recognition module. As a result, candidate characters identified for the recognition unit including strokes 1710 (e.g., "
Figure 112020057647690-pat00045
", "凶") all have a recognition reliability less than a predetermined threshold. In some embodiments, the user device only has a candidate character (e.g., "Day") for the first recognition unit in the candidate display area 806. And present a partial recognition result (e.g., result 1712) that contains and does not contain any candidate characters for the second recognition unit. In some embodiments, the user device determines whether the recognition reliability has passed a predetermined threshold. Regardless of whether or not, it additionally displays the entire recognition result (eg, result 1714 or 1716), including candidate characters for both of the recognition results, providing a partial recognition result which part of the handwriting input is revised. In addition, the user may also elect to first enter the correctly recognized portion of the handwriting input and then rewrite the portion that was not correctly recognized.

도 17c는 사용자가 계속해서 획들(1710)의 왼쪽에 추가적인 필기 획(1718)을 제공하였음을 도시한다. 획(1718)의 상대적인 위치 및 거리에 기초하여, 사용자 디바이스는 새롭게 추가된 획이 필기 획들(1702)의 클러스터와 동일한 인식 유닛에 속한다고 결정한다. 개정된 인식 유닛들에 기초하여, 제1 인식 유닛에 대한 새로운 문자(예컨대, "

Figure 112020057647690-pat00046
")를 인식하고, 새로운 인식 결과들(1720, 1722, 1724)의 세트를 생성한다. 또 다시, 획들(1710)에 대해 식별된 후보 문자들 중 어느 것도 사전결정된 신뢰도 임계치를 충족하지 않기 때문에, 제1 인식 결과(1720)는 부분 인식 결과이다.17C shows that the user has continued to provide an additional handwritten stroke 1718 to the left of the strokes 1710. Based on the relative position and distance of the stroke 1718, the user device determines that the newly added stroke belongs to the same recognition unit as the cluster of handwritten strokes 1702. Based on the revised recognition units, a new character for the first recognition unit (e.g., "
Figure 112020057647690-pat00046
") and generates a set of new recognition results 1720, 1722, 1724. Again, since none of the candidate characters identified for strokes 1710 meet a predetermined confidence threshold, The first recognition result 1720 is a partial recognition result.

도 17d는 사용자가 이제 획들(1702)과 획들(1710) 사이에 복수의 새로운 획들(1726)을 입력하였음을 도시한다. 사용자 디바이스는 새롭게 입력된 획들(1726)을 획들(1710)과 동일한 인식 유닛에 배정한다. 이제, 사용자는 2개의 한자들(예컨대, "

Figure 112020057647690-pat00047
")에 대한 모든 필기 획들의 입력을 완료하였고, 정확한 인식 결과(1728)가 후보 디스플레이 영역(806)에 나타내진다.17D shows that the user has now entered a plurality of new strokes 1726 between strokes 1702 and 1710. The user device allocates newly inputted strokes 1726 to the same recognition unit as the strokes 1710. Now, the user has two Chinese characters (e.g., "
Figure 112020057647690-pat00047
Input of all handwritten strokes for ") has been completed, and an accurate recognition result 1728 is shown in the candidate display area 806.

도 27e는 사용자가, 예컨대 삭제 버튼(1732) 상에서의 가벼운 접촉(1730)을 취함으로써, 삭제 입력의 초기 부분을 입력하였음을 도시한다. 사용자가 삭제 버튼(1732)과의 접촉을 유지하는 경우, 사용자는 현재의 필기 입력을 문자 단위로 (또는 인식 유닛 단위로) 삭제할 수 있다. 삭제는 동시에 모든 필기 입력에 대해 수행되지는 않는다.27E shows that the user has entered the initial portion of the delete input, for example by making a light contact 1730 on the delete button 1732. When the user maintains contact with the delete button 1732, the user can delete the current handwriting input in character units (or recognition units). Deletion is not performed for all handwriting inputs at the same time.

일부 실시예들에서, 도 17e에 도시된 바와 같이, 사용자의 손가락이 처음 터치 감응 스크린 상의 삭제 버튼(1732)을 터치할 때, 디폴트 기입 방향에서(예컨대, 좌측에서부터 우측으로) 마지막 인식 유닛(예컨대, 문자 "

Figure 112020057647690-pat00048
"에 대한 인식 유닛)은 필기 입력 영역(804) 내에 동시에 디스플레이되는 다른 인식 유닛(들)에 비해 시각적으로 강조된다(예컨대, 경계선(1734) 또는 밝게 된 배경 등으로 강조된다).In some embodiments, as shown in Fig. 17E, when the user's finger first touches the delete button 1732 on the touch-sensitive screen, the last recognition unit (e.g., from left to right) in the default writing direction (e.g. , text "
Figure 112020057647690-pat00048
The recognition unit for ") is visually emphasized compared to other recognition unit(s) displayed simultaneously in the handwriting input area 804 (e.g., with a border 1734 or a brightened background, etc.).

일부 실시예들에서, 도 17f에 도시된 바와 같이, 사용자가 삭제 버튼(1732) 상에서의 접촉(1730)을 임계 지속기간보다 오래 유지하였음을 사용자 디바이스가 검출할 때, 사용자 디바이스는 필기 입력 영역(806)으로부터 (예컨대, 박스(1734) 내의) 강조된 인식 유닛을 제거한다. 추가적으로, 도 17f에 도시된 바와 같이, 사용자 디바이스는 또한 삭제된 인식 유닛에 기초하여 생성된 임의의 출력 문자들을 삭제하도록 후보 디스플레이 영역(608)에 나타낸 인식 결과들을 개정한다.In some embodiments, as shown in FIG. 17F, when the user device detects that the user has maintained the contact 1730 on the delete button 1730 for longer than the threshold duration, the user device Remove the highlighted recognition unit (eg, in box 1734) from 806. Additionally, as shown in Fig. 17F, the user device also revises the recognition results shown in the candidate display area 608 to delete any output characters generated based on the deleted recognition unit.

도 17f는, 필기 입력 영역(806)에서의 마지막 인식 유닛(예컨대, 문자 "腦"에 대한 인식 유닛)이 삭제된 후에 사용자가 계속해서 삭제 버튼(1732) 상에서의 접촉(1730)을 유지하는 경우, 삭제된 인식 유닛에 대해 인접 인식 유닛(예컨대, 문자 "

Figure 112020057647690-pat00049
"에 대한 인식 유닛)이 삭제될 다음 인식 유닛이 됨을 추가로 도시한다. 도 17f에 도시된 바와 같이, 나머지 인식 유닛은 (예컨대, 박스(1736) 내에서) 시각적으로 강조되었고, 삭제될 준비가 된다. 일부 실시예들에서, 인식 유닛의 시각적 강조는 사용자가 계속해서 삭제 버튼과의 접촉을 유지하는 경우 삭제되게 될 인식 유닛의 미리보기를 제공한다. 사용자가 임계 지속기간에 도달하기 전에 삭제 버튼과의 접촉을 중단하는 경우, 시각적 강조가 마지막 인식 유닛으로부터 제거되고, 인식 유닛은 삭제되지 않는다. 당업자가 인식하는 바와 같이, 접촉의 지속기간은 인식 유닛이 삭제될 때마다 재설정된다. 추가적으로, 일부 실시예들에서, 접촉 세기(예컨대, 사용자가 터치 감응 스크린과의 접촉(1730)을 가한 압력)는 선택적으로 현재 강조된 인식 유닛을 삭제하려는 사용자의 의도를 확인하기 위해 임계 지속기간을 조정하도록 사용된다. 도 17f 및 도 17g는, 사용자가 임계 지속기간에 도달하기 전에 삭제 버튼(1732) 상에서의 접촉(1730)을 중단하였으며 문자 "
Figure 112020057647690-pat00050
"에 대한 인식 유닛이 필기 입력 영역(806)에서 보존됨을 도시한다. 도 17g 및 도 17h에 도시된 바와 같이, 사용자가 인식 유닛에 대한 제1 인식 결과(예컨대, 결과(1738))를 (예컨대, 접촉(1740)에 의해 지시되는 바와 같이) 선택했을 때, 제1 인식 결과(1738)의 텍스트가 텍스트 입력 영역(808)으로 입력된다.FIG. 17F shows the case where the user continues to maintain contact 1730 on the delete button 1732 after the last recognition unit in the handwriting input area 806 (eg, the recognition unit for the character “腦”) has been deleted. , For the deleted recognition unit, adjacent recognition units (e.g., characters "
Figure 112020057647690-pat00049
It further shows that the recognition unit for ") will be the next recognition unit to be deleted. As shown in Fig. 17F, the remaining recognition units are visually highlighted (eg, in box 1736) and ready to be deleted. In some embodiments, the visual highlighting of the recognition unit provides a preview of the recognition unit that will be deleted if the user continues to maintain contact with the delete button. When stopping contact with, the visual emphasis is removed from the last recognition unit and the recognition unit is not deleted As one skilled in the art will recognize, the duration of the contact is reset each time the recognition unit is deleted. In embodiments, the contact intensity (e.g., the pressure the user exerted on contact 1730 with the touch-sensitive screen) is used to optionally adjust the threshold duration to confirm the user's intention to delete the currently highlighted recognition unit. 17F and 17G show that the user stopped contacting 1730 on the delete button 1732 before reaching the threshold duration and the text "
Figure 112020057647690-pat00050
Shows that the recognition unit for "is preserved in the handwriting input area 806. As shown in Figs. 17G and 17H, the user writes a first recognition result (e.g., result 1738) for the recognition unit (e.g. , As indicated by the contact 1740), the text of the first recognition result 1738 is entered into the text input area 808.

도 18a 및 도 18b는 사용자 디바이스가 다문자 필기 입력에서 문자 단위 삭제를 제공하는 예시적인 프로세스(1800)의 플로차트들이다. 일부 실시예들에서, 필기 입력의 삭제는 필기 입력으로부터 인식된 문자들이 확인되어 사용자 인터페이스의 텍스트 입력 영역으로 입력되기 전에 수행된다. 일부 실시예들에서, 필기 입력에서의 문자들의 삭제는 필기 입력으로부터 식별된 인식 유닛들의 역공간 순서(reverse spatial order)에 따라 진행하고, 인식 유닛들이 형성된 시간적 시퀀스와는 관계없다. 도 17a 내지 도 17h는 일부 실시예들에 따른 예시적인 프로세스(1800)를 도시한다.18A and 18B are flowcharts of an exemplary process 1800 in which a user device provides character-by-character deletion in multi-character handwriting input. In some embodiments, the deletion of the handwriting input is performed before characters recognized from the handwriting input are identified and entered into the text input area of the user interface. In some embodiments, deletion of characters in the handwriting input proceeds according to a reverse spatial order of recognition units identified from the handwriting input, and is independent of the temporal sequence in which the recognition units are formed. 17A-17H illustrate an exemplary process 1800 in accordance with some embodiments.

도 18a에 도시된 바와 같이, 예시적인 프로세스(1800)에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신하는데(1802), 필기 입력은 필기 입력 인터페이스의 필기 입력 영역(예컨대, 도 17d의 영역(804))에서 제공되는 복수의 필기 획들을 포함한다. 사용자 디바이스는 복수의 필기 획들로부터 복수의 인식 유닛들을 식별하는데(1804), 각 인식 유닛은 복수의 필기 획들의 개별 서브세트를 포함한다. 예를 들어, 도 17d에 도시된 바와 같이, 제1 인식 유닛은 획들(1702, 1718)을 포함하고, 제2 인식 유닛은 획들(1710, 1726)을 포함한다. 사용자 디바이스는 복수의 인식 유닛들로부터 인식되는 개별 문자들을 포함하는 다문자 인식 결과(예컨대, 도 17d의 결과(1728))를 생성한다(1806). 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서 다문자 인식 결과(예컨대, 도 17d의 결과(1728))를 디스플레이한다. 일부 실시예들에서, 예컨대, 도 17e에 도시된 바와 같이, 다문자 인식 결과가 후보 디스플레이 영역에서 디스플레이되는 동안, 사용자 디바이스는 사용자로부터 삭제 입력(예컨대, 삭제 버튼(1732) 상에서의 접촉(1730))을 수신한다(1810). 일부 실시예들에서, 예컨대, 도 17e 및 도 17f에 도시된 바와 같이, 삭제 입력을 수신하는 것에 응답하여, 사용자 디바이스는 후보 디스플레이 영역(예컨대, 후보 디스플레이 영역(806))에서 디스플레이되는 다문자 인식 결과(예컨대, 결과(1728))로부터 최후 문자(예컨대, 공간 시퀀스 "

Figure 112020057647690-pat00051
"의 최후에 나타나는 문자 "
Figure 112020057647690-pat00052
")를 제거한다(1812).18A, in an exemplary process 1800, the user device receives 1802 handwriting input from the user, the handwriting input being in a handwriting input area of the handwriting input interface (e.g., area 804 in Fig. 17D). Includes a plurality of handwritten strokes provided in ). The user device identifies (1804) a plurality of recognition units from the plurality of handwritten strokes, each recognition unit comprising a separate subset of the plurality of handwritten strokes. For example, as shown in FIG. 17D, the first recognition unit includes strokes 1702 and 1718, and the second recognition unit includes strokes 1710 and 1726. The user device generates a multi-character recognition result (eg, result 1728 in Fig. 17D) including individual characters recognized from the plurality of recognition units (1806). In some embodiments, the user device displays a multi-character recognition result (eg, result 1728 in FIG. 17D) in a candidate display area of the handwriting input interface. In some embodiments, for example, as shown in FIG. 17E, while the multi-character recognition result is displayed in the candidate display area, the user device receives a delete input from the user (e.g., contact 1730 on the delete button 1732). ) Is received (1810). In some embodiments, in response to receiving a delete input, e.g., as shown in FIGS. 17E and 17F, the user device recognizes the multi-character displayed in the candidate display area (e.g., candidate display area 806). From the result (e.g., result 1728) the last character (e.g., a spatial sequence"
Figure 112020057647690-pat00051
"Letter appearing at the end of"
Figure 112020057647690-pat00052
") is removed (1812).

일부 실시예들에서, 예컨대, 도 17a 내지 도 17d에 도시된 바와 같이, 사용자 디바이스는 복수의 필기 획들이 사용자에 의해 제공됨에 따라 필기 입력 인터페이스의 필기 입력 영역에서 복수의 필기 획들을 실시간으로 렌더링한다(1814). 일부 실시예들에서, 삭제 입력을 수신하는 것에 응답하여, 사용자 디바이스는, 필기 입력 영역(예컨대, 도 17e의 필기 입력 영역(804))으로부터, 필기 입력 영역에서 복수의 인식 유닛들에 의해 형성되는 공간 시퀀스에서의 최후 인식 유닛(예컨대, 획들(1726, 1710)을 포함하는 인식 유닛)에 대응하는 복수의 필기 획들의 개별 서브세트를 제거한다(1816). 최후 인식 유닛은 다문자 인식 결과(예컨대, 도 17e의 결과(1728))에서의 최후 문자(예컨대, 문자 "

Figure 112020057647690-pat00053
")에 대응한다.In some embodiments, for example, as shown in FIGS. 17A-17D, the user device renders the plurality of handwritten strokes in real time in the handwriting input area of the handwriting input interface as the plurality of handwritten strokes are provided by the user. (1814). In some embodiments, in response to receiving the deletion input, the user device, from the handwriting input area (e.g., handwriting input area 804 in Fig. 17E), is formed by a plurality of recognition units in the handwriting input area. A separate subset of the plurality of handwritten strokes corresponding to the last recognition unit (eg, a recognition unit including strokes 1726 and 1710) in the spatial sequence is removed (1816). The last recognition unit is the last character (e.g., the character" in the multi-character recognition result (e.g., result 1728 in Fig.
Figure 112020057647690-pat00053
Corresponds to ").

일부 실시예들에서, 최후 인식 유닛은 사용자에 의해 제공되는 복수의 필기 획들 중에서 시간적으로 최종의 필기 획을 포함하지 않는다(1818). 예를 들어, 사용자가 그 또는 그녀가 획들(1726, 1710)을 제공한 후에 획(1718)을 제공한 경우, 획들(1726, 1710)을 포함하는 최후 인식 유닛은 여전히 먼저 삭제될 것이다.In some embodiments, the last recognition unit does not include (1818) the last handwritten stroke in time among the plurality of handwritten strokes provided by the user. For example, if the user provided stroke 1718 after he or she provided strokes 1726, 1710, the last recognition unit containing strokes 1726, 1710 will still be deleted first.

일부 실시예들에서, 예컨대, 도 17e에 도시된 바와 같이, 삭제 입력의 초기 부분을 수신하는 것에 응답하여, 사용자 디바이스는 필기 입력 영역에서 식별되는 다른 인식 유닛들로부터 최후 인식 유닛을 시각적으로 구별한다(1820). 일부 실시예들에서, 삭제 입력의 초기 부분은 필기 입력 인터페이스에서 삭제 버튼 상에서 검출되는 초기 접촉이고, 초기 접촉이 사전결정된 임계량의 시간보다 오래 지속될 때 삭제 입력이 검출된다(1822).In some embodiments, in response to receiving the initial portion of the deletion input, e.g., as shown in Fig. 17E, the user device visually distinguishes the last recognition unit from other recognition units identified in the handwriting input area. (1820). In some embodiments, the initial portion of the deletion input is the initial contact detected on the delete button in the handwriting input interface, and the deletion input is detected when the initial contact lasts longer than a predetermined threshold amount of time (1822).

일부 실시예들에서, 최후 인식 유닛은 필기 한자에 대응한다. 일부 실시예들에서, 필기 입력은 초서체로 기입된다. 일부 실시예들에서, 필기 입력은 초서체로 기입된 다수의 한자들에 대응한다. 일부 실시예들에서, 필기 획들 중 적어도 하나는 복수의 인식 유닛들 중 2개의 인접 인식 유닛들로 나눠진다. 예를 들어, 때때로, 사용자는 다수의 문자들과 연결되는 긴 획을 사용할 수도 있으며, 그러한 경우에, 필기 입력 모듈의 분할 모듈은 선택적으로 긴 획을 여러 개의 인식 유닛들로 나눈다. 필기 입력의 삭제가 문자 단위로 (또는 인식 유닛 단위로) 수행될 때, 긴 획의 세그먼트(예컨대, 대응하는 인식 유닛 내의 세그먼트)만이 한 번에 삭제된다.In some embodiments, the last recognition unit corresponds to a handwritten Chinese character. In some embodiments, the handwriting input is written in cursive. In some embodiments, the handwriting input corresponds to multiple Chinese characters written in a cursive font. In some embodiments, at least one of the handwritten strokes is divided into two adjacent recognition units of the plurality of recognition units. For example, sometimes, a user may use a long stroke that is connected with a number of characters, in which case the division module of the handwriting input module selectively divides the long stroke into several recognition units. When the deletion of the handwriting input is performed on a character basis (or on a recognition unit basis), only segments of long strokes (eg, segments in a corresponding recognition unit) are deleted at a time.

일부 실시예들에서, 삭제 입력은 필기 입력 인터페이스에서 제공되는 삭제 버튼 상의 지속된 접촉이고, 복수의 필기 획들의 개별 서브세트를 제거하는 것은, 필기 획들의 서브세트가 사용자에 의해 제공된 역시간 순서에서 획 단위로, 필기 입력 영역으로부터 최후 인식 유닛에서의 필기 획들의 서브세트를 제거하는 것을 추가로 포함한다(1824).In some embodiments, the delete input is a sustained contact on the delete button provided in the handwriting input interface, and removing an individual subset of a plurality of handwritten strokes means that the subset of handwritten strokes are in reverse temporal order provided by the user On a per stroke basis, it further includes removing the subset of handwritten strokes in the last recognition unit from the handwriting input area (1824).

일부 실시예들에서, 예컨대, 도 17b 및 도 17c에 도시된 바와 같이, 사용자 디바이스는 복수의 인식 유닛들로부터 인식되는 개별 문자들의 서브세트를 포함하는 부분 인식 결과를 생성하는데(1826), 여기서 개별 문자들의 서브세트 각각은 사전결정된 신뢰도 임계치를 충족한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서 부분 인식 결과(예컨대, 도 17b의 결과(1712) 및 도 17c의 결과(1720))를 다문자 인식 결과(예컨대, 결과들(1714, 1722))와 동시에 디스플레이한다(1828).In some embodiments, for example, as shown in FIGS. 17B and 17C, the user device generates (1826) a partial recognition result comprising a subset of individual characters recognized from the plurality of recognition units, wherein the individual Each of the subset of characters meets a predetermined confidence threshold. In some embodiments, the user device converts the partial recognition result (e.g., the result 1712 of FIG. 17B and the result 1720 of FIG. 17C) into the multi-character recognition result (e.g., results ( 1714, 1722)) and simultaneously display (1828).

일부 실시예들에서, 부분 인식 결과는 적어도 다문자 인식 결과에서의 최후 문자를 포함하지 않는다. 일부 실시예들에서, 부분 인식 결과는 적어도 다문자 인식 결과에서의 초기 문자를 포함하지 않는다. 일부 실시예들에서, 부분 인식 결과는 적어도 다문자 인식 결과에서의 중간 문자를 포함하지 않는다.In some embodiments, the partial recognition result does not include at least the last character in the multicharacter recognition result. In some embodiments, the partial recognition result does not include at least an initial character in the multicharacter recognition result. In some embodiments, the partial recognition result does not include at least an intermediate character in the multicharacter recognition result.

일부 실시예들에서, 삭제의 최소 단위는 부수이며, 부수가 필기 입력 영역에 여전히 남아 있는 필기 입력들에서의 마지막 인식 유닛이 될 때마다 필기 입력들은 한 번에 하나의 부수가 삭제되었다.In some embodiments, the minimum unit of deletion is the number of copies, and the handwriting inputs are deleted one copy at a time whenever the number of copies becomes the last recognition unit in handwriting inputs still remaining in the handwriting input area.

본 명세서에 설명되는 바와 같이, 일부 실시예들에서, 사용자 디바이스는 수평 기입 모드 및 수직 기입 모드 둘 모두를 제공한다. 일부 실시예들에서, 사용자 디바이스는 사용자가 수평 기입 모드에서 좌측에서 우측으로의 기입 방향 및 우측에서 좌측으로의 방향 둘 모두 또는 그 중 하나로 텍스트를 입력할 수 있게 한다. 일부 실시예들에서, 사용자 디바이스는 사용자가 수직 기입 모드에서 하향식 기입 방향 및 상향식 방향 둘 모두 또는 그 중 하나로 텍스트를 입력할 수 있게 한다. 일부 실시예들에서, 사용자 디바이스는 현재 필기 입력들에 대한 개별 기입 모드 및/또는 기입 방향을 호출하기 위해 사용자 인터페이스 상에 다양한 어포던스들(예컨대, 기입 모드 또는 기입 방향 버튼)을 제공한다. 일부 실시예들에서, 텍스트 입력 영역에서의 텍스트 입력 방향은 디폴트로 필기 입력 방향에서의 필기 입력 방향과 동일하다. 일부 실시예들에서, 사용자 디바이스는 사용자가 텍스트 입력 영역에서의 입력 방향 및 필기 입력 영역에서의 기입 방향을 수동으로 설정할 수 있게 한다. 일부 실시예들에서, 후보 디스플레이 영역에서의 텍스트 디스플레이 방향은 디폴트로 필기 입력 영역에서의 필기 입력 방향과 동일하다. 일부 실시예들에서, 사용자 디바이스는 사용자가 필기 입력 영역에서의 필기 입력 방향과는 관계없이 텍스트 입력 영역에서의 텍스트 디스플레이 방향을 수동으로 설정할 수 있게 한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 기입 모드 및/또는 기입 방향을 대응하는 디바이스 배향과 연관시키고, 디바이스 배향의 변화는 기입 모드 및/또는 기입 방향에서의 변화를 자동으로 유발시킨다. 일부 실시예들에서, 기입 방향의 변화는 텍스트 입력 영역으로 입력될 최상위 인식 결과의 입력을 자동으로 야기한다.As described herein, in some embodiments, the user device provides both a horizontal write mode and a vertical write mode. In some embodiments, the user device allows a user to enter text in both or one of a left-to-right writing direction and a right-to-left direction in a horizontal writing mode. In some embodiments, the user device allows the user to input text in both or both a top-down writing direction and a bottom-up writing direction in a vertical writing mode. In some embodiments, the user device provides various affordances (eg, write mode or write direction button) on the user interface to invoke a separate writing mode and/or writing direction for current handwriting inputs. In some embodiments, the text input direction in the text input area is basically the same as the handwriting input direction in the handwriting input direction. In some embodiments, the user device allows the user to manually set the input direction in the text input area and the writing direction in the handwriting input area. In some embodiments, the text display direction in the candidate display area is basically the same as the handwriting input direction in the handwriting input area. In some embodiments, the user device allows the user to manually set the text display direction in the text input area irrespective of the handwriting input direction in the handwriting input area. In some embodiments, the user device associates a writing mode and/or writing direction of the handwriting input interface with a corresponding device orientation, and the change in device orientation automatically causes a change in the writing mode and/or writing direction. In some embodiments, the change in the writing direction automatically causes the input of the highest recognition result to be entered into the text input area.

도 19a 내지 도 19f는 수평 입력 모드 및 수직 입력 모드 둘 모두를 제공하는 사용자 디바이스의 예시적인 사용자 인터페이스들을 도시한다.19A-19F illustrate exemplary user interfaces of a user device that provides both a horizontal input mode and a vertical input mode.

도 19a는 수평 입력 모드에서의 사용자 디바이스를 도시한다. 일부 실시예들에서, 도 19a에 도시된 바와 같이, 수평 입력 모드는 사용자 디바이스가 가로 배향으로 있을 때 제공된다. 일부 실시예들에서, 수평 입력 모드는 선택적으로 디바이스가 세로 배향으로 동작될 때와 연관되어 제공된다. 상이한 애플리케이션들에서, 디바이스 배향과 기입 모드 간의 연관은 상이할 수 있다.19A shows a user device in a horizontal input mode. In some embodiments, as shown in FIG. 19A, a horizontal input mode is provided when the user device is in a landscape orientation. In some embodiments, a horizontal input mode is optionally provided in association with when the device is operated in a vertical orientation. In different applications, the association between device orientation and write mode may be different.

수평 입력 모드에서, 사용자는 필기 문자들을 수평 기입 방향(예컨대, 좌측에서 우측으로 진행하는 디폴트 기입 방향 또는 우측에서 좌측으로 진행하는 디폴트 기입 방향을 가짐)으로 제공할 수 있다. 수평 입력 모드에서, 사용자 디바이스는 필기 입력을 수평 기입 방향을 따라 하나 이상의 인식 유닛들로 분할하는 것을 수행한다.In the horizontal input mode, the user may provide handwritten characters in a horizontal writing direction (eg, having a default writing direction running from left to right or a default writing direction running from right to left). In the horizontal input mode, the user device divides the handwriting input into one or more recognition units along the horizontal writing direction.

일부 실시예들에서, 사용자 디바이스는 필기 입력 영역에서 단일 라인 입력만을 허용한다. 일부 실시예들에서, 도 19a에 도시된 바와 같이, 사용자 디바이스는 필기 입력 영역에서 멀티라인 입력(2개 라인들의 입력)을 허용한다. 도 19a에서, 사용자는 필기 입력 영역(806)에서 복수의 필기 획들을 여러 행들로 제공하였다. 사용자가 복수의 필기 획들을 제공한 시퀀스 그리고 복수의 필기 획들의 상대적인 위치들 및 복수의 필기 획들 간의 거리들에 기초하여, 사용자 디바이스는 사용자가 2개 라인들의 문자들을 입력하였음을 판정한다. 필기 입력을 2개의 별도의 라인들로 분할한 후에, 디바이스는 각 라인 내의 인식 유닛(들)을 판정한다.In some embodiments, the user device only allows single line input in the handwriting input area. In some embodiments, as shown in Fig. 19A, the user device allows multi-line input (two lines of input) in the handwriting input area. In FIG. 19A, a user has provided a plurality of handwritten strokes in a handwriting input area 806 in several rows. Based on the sequence in which the user provided the plurality of handwritten strokes and the relative positions of the plurality of handwritten strokes and the distances between the plurality of handwritten strokes, the user device determines that the user has input two lines of characters. After dividing the handwriting input into two separate lines, the device determines the recognition unit(s) within each line.

도 19a에 도시된 바와 같이, 사용자 디바이스는 현재 필기 입력(1902)에서 식별된 각 인식 유닛에 대한 개별 문자를 인식하였고, 다수의 인식 결과들(1904 및 1906)을 생성하였다. 도 19a에 추가로 도시된 바와 같이, 일부 실시예들에서, 인식 유닛들의 특정한 세트(예컨대, 초기 획에 의해 형성된 인식 유닛)에 대한 출력 문자(예컨대, 문자 "I")가 약한 경우, 사용자 디바이스는 선택적으로 충분한 인식 신뢰도를 갖는 출력 문자들만을 나타내는 부분 인식 결과(예컨대, 결과(1906))를 생성한다. 일부 실시예들에서, 사용자는 부분 인식 결과(1906)로부터, 정확한 인식 결과를 생성하기 위해 제1 획이 인식 모델에 대해 개정되거나 또는 개별적으로 삭제 또는 재기입될 수 있음을 알아차릴 수 있다. 이러한 특정한 예에서, 제1 인식 유닛(1904)이 제1 인식 유닛에 대한 원하는 인식 결과를 나타내기 때문에 제1 인식 유닛의 편집은 필요하지 않다.As shown in FIG. 19A, the user device recognized the individual character for each recognition unit currently identified in the handwriting input 1902, and generated a number of recognition results 1904 and 1906. As further shown in FIG. 19A, in some embodiments, if the output character (eg, letter “I”) for a particular set of recognition units (eg, recognition unit formed by the initial stroke) is weak, the user device Optionally generates a partial recognition result (e.g., result 1906) representing only output characters with sufficient recognition reliability. In some embodiments, the user may notice from the partial recognition result 1906 that the first stroke may be revised for the recognition model or may be individually deleted or rewritten to generate an accurate recognition result. In this particular example, editing of the first recognition unit is not necessary because the first recognition unit 1904 represents the desired recognition result for the first recognition unit.

이러한 예에서, 도 19a 및 도 19b에 도시된 바와 같이, 사용자는 디바이스를 (예컨대, 도 19b에 도시된) 세로 배향으로 회전시켰다. 도 19b에 도시된 바와 같이, 디바이스 배향의 변화에 응답하여, 필기 입력 인터페이스는 수평 입력 모드로부터 수직 입력 모드로 변경된다. 수직 입력 모드에서, 필기 입력 영역(804), 후보 디스플레이 영역(806) 및 텍스트 입력 영역(808)의 레이아웃은 수평 입력 모드에서 나타낸 것과는 상이할 수 있다. 수평 및 수직 입력 모드들의 특정한 레이아웃은 상이한 디바이스 형상들 및 애플리케이션 요구들에 적합하도록 다양할 수 있다. 일부 실시예들에서, 디바이스 배향의 회전 및 입력 모드의 변화에 의하면, 사용자 디바이스는 최상위 결과(예컨대, 결과(1904))를 텍스트 입력(1910)으로서 텍스트 입력 영역(808)으로 자동으로 입력한다. 커서(1912)의 배향 및 위치도 또한 입력 모드 및 기입 방향의 변화를 반영한다.In this example, as shown in Figures 19A and 19B, the user has rotated the device in a portrait orientation (eg, shown in Figure 19B). As shown in Fig. 19B, in response to a change in device orientation, the handwriting input interface is changed from a horizontal input mode to a vertical input mode. In the vertical input mode, the layout of the handwriting input area 804, the candidate display area 806, and the text input area 808 may be different from those shown in the horizontal input mode. The specific layout of horizontal and vertical input modes can be varied to suit different device shapes and application needs. In some embodiments, with the rotation of the device orientation and the change of the input mode, the user device automatically enters the top result (eg, result 1904) into the text input area 808 as text input 1910. The orientation and position of the cursor 1912 also reflect changes in the input mode and writing direction.

일부 실시예들에서, 입력 모드의 변화는 선택적으로 사용자가 특정한 입력 모드 선택 어포던스(1908)를 터치함으로써 유발된다. 일부 실시예들에서, 입력 모드 선택 어포던스는, 현재 기입 모드, 현재 기입 방향, 및/또는 현재 단락 방향을 또한 나타내는 그래픽 사용자 인터페이스 요소이다. 일부 실시예들에서, 입력 모드 선택 어포던스는 필기 입력 인터페이스(802)에 의해 제공되는 모든 이용 가능한 입력 모드들 및 기입 방향들에 걸쳐 순환할 수 있다. 도 19a에 도시된 바와 같이, 어포던스(1908)는, 현재 입력 모드가 수평 입력 모드이며, 기입 방향이 좌측에서 우측으로 이고, 단락 방향이 위에서 아래로 임을 나타낸다. 도 19b에서, 어포던스(1908)는, 현재 입력 모드가 수직 입력 모드이며, 기입 방향이 위에서 아래로 이고, 단락 방향이 우측에서 좌측으로 임을 나타낸다. 다양한 실시예들에 따라, 기입 방향 및 단락 방향의 다른 조합들이 가능하다.In some embodiments, the change in the input mode is selectively triggered by the user touching a particular input mode selection affordance 1908. In some embodiments, the input mode selection affordance is a graphical user interface element that also indicates a current writing mode, a current writing direction, and/or a current paragraph direction. In some embodiments, the input mode selection affordance may cycle through all available input modes and writing directions provided by the handwriting input interface 802. 19A, the affordance 1908 indicates that the current input mode is a horizontal input mode, the writing direction is from left to right, and the paragraph direction is from top to bottom. In Fig. 19B, affordance 1908 indicates that the current input mode is a vertical input mode, the writing direction is from top to bottom, and the paragraph direction is from right to left. Other combinations of a writing direction and a paragraph direction are possible according to various embodiments.

도 19c에 도시된 바와 같이, 사용자는 수직 입력 모드에서의 필기 입력 영역(804)에서 복수의 새로운 획들(1914)(예컨대, 2개의 한자들 "

Figure 112020057647690-pat00054
"에 대한 필기 획들)을 입력하였다. 필기 입력은 수직 기입 방향으로 기입된다. 사용자 디바이스는 필기 입력을 수직 방향으로 2개의 인식 유닛들로 분할하고, 각각이 수직 방향으로 레이아웃된 2개의 인식된 문자들을 포함하는 2개의 인식 결과들(1916, 1918)을 디스플레이한다.As shown in Fig. 19C, the user selects a plurality of new strokes 1914 (eg, two Chinese characters) in the handwriting input area 804 in the vertical input mode.
Figure 112020057647690-pat00054
The handwriting input is written in the vertical writing direction. The user device divides the handwriting input into two recognition units in the vertical direction, and two recognized characters each laid out in the vertical direction. It displays two recognition results 1916 and 1918 including.

도 19c 및 도 19d는, 사용자가 디스플레이된 인식 결과(예컨대, 결과(1916))를 선택할 때, 선택된 인식 결과가 텍스트 입력 영역(808)으로 수직 방향으로 입력됨을 도시한다.19C and 19D illustrate that when a user selects a displayed recognition result (eg, result 1916), the selected recognition result is inputted into the text input area 808 in a vertical direction.

도 19e 및 도 19f는, 사용자가 추가적인 라인들의 필기 입력(1920)을 수직 기입 방향으로 입력하였음을 도시한다. 라인들은 전통적인 중국어 기입의 단락 방향에 따라 좌측에서 우측으로 계속된다. 일부 실시예들에서, 후보 디스플레이 영역(806)은 또한 필기 입력 영역에 대한 것과 동일한 기입 방향 및 단락 방향에서 인식 결과들(예컨대, 결과들(1922, 1924))을 나타낸다. 일부 실시예들에서, 사용자 디바이스와 연관된 주 언어, 또는 사용자 디바이스 상에 설치된 소프트 키보드의 언어(예컨대, 아랍어, 중국어, 일본어, 영어 등)에 따라 다른 기입 방향 및 단락 방향이 디폴트로 제공될 수 있다.19E and 19F illustrate that the user inputs the handwriting input 1920 of additional lines in the vertical writing direction. The lines continue from left to right according to the paragraph direction of traditional Chinese writing. In some embodiments, candidate display area 806 also represents recognition results (eg, results 1922, 1924) in the same writing direction and paragraph direction as for the handwriting input area. In some embodiments, different writing directions and paragraph directions may be provided by default according to the main language associated with the user device or the language (eg, Arabic, Chinese, Japanese, English, etc.) of a soft keyboard installed on the user device .

도 19e 및 도 19f는 또한, 사용자가 인식 결과(예컨대, 결과(1922))를 선택했을 때, 선택된 인식 결과의 텍스트가 텍스트 입력 영역(808)으로 입력됨을 도시한다. 따라서, 도 19f에 도시된 바와 같이, 텍스트 입력 영역(808)에서의 현재 텍스트 입력은 좌측에서 우측으로의 기입 방향으로 수평 모드에서 기입된 텍스트, 및 하향식 기입 방향으로 수직 모드에서 기입된 텍스트 둘 모두를 포함한다. 수평 텍스트에 대한 단락 방향은 하향식이며, 한편 수직 텍스트에 대한 단락 방향은 우측에서 좌측으로 이다.19E and 19F also show that when the user selects a recognition result (eg, result 1922), the text of the selected recognition result is input into the text input area 808. Accordingly, as shown in Fig. 19F, the current text input in the text input area 808 is both text written in the horizontal mode in the left-to-right writing direction, and the text written in the vertical mode in the top-down writing direction. Includes. Paragraph direction for horizontal text is top-down, while paragraph direction for vertical text is from right to left.

일부 실시예들에서, 사용자 디바이스는 사용자가 필기 입력 영역(804), 후보 디스플레이 영역(806) 및 텍스트 입력 영역(808) 각각에 대한 바람직한 기입 방향들, 단락 방향들을 별도로 확립할 수 있게 한다. 일부 실시예들에서, 사용자 디바이스는 사용자가, 각 디바이스 배향과 연관되는, 필기 입력 영역(804), 후보 디스플레이 영역(806) 및 텍스트 입력 영역(808) 각각에 대한 바람직한 기입 방향 및 단락 방향을 확립할 수 있게 한다.In some embodiments, the user device allows the user to separately establish preferred writing directions and paragraph directions for each of the handwriting input area 804, the candidate display area 806 and the text input area 808. In some embodiments, the user device allows the user to establish a preferred writing direction and paragraph direction for each of the handwriting input area 804, the candidate display area 806 and the text input area 808, which are associated with each device orientation To be able to do it.

도 20a 내지 도 20c는 사용자 인터페이스의 텍스트 입력 방향 및 필기 입력 방향을 변경하기 위한 예시적인 프로세스(2000)의 플로차트들이다. 도 19a 내지 도 19f는 일부 실시예들에 따른 프로세스(2000)를 도시한다.20A-20C are flowcharts of an exemplary process 2000 for changing a text input direction and a handwriting input direction of a user interface. 19A-19F illustrate a process 2000 in accordance with some embodiments.

일부 실시예들에서, 사용자 디바이스는 디바이스의 배향을 결정한다(2002). 디바이스의 배향 및 디바이스 배향의 변화들은 사용자 디바이스 내의 가속도계 및/또는 다른 배향 감지 요소에 의해 검출될 수 있다. 일부 실시예들에서, 사용자 디바이스는 제1 배향으로 있는 디바이스에 따라서 수평 입력 모드에서 디바이스 상에 필기 입력 인터페이스를 제공한다(2004). 수평 입력 모드에서 입력되는 필기 입력의 개별 라인은 수평 기입 방향을 따라 하나 이상의 개별 인식 유닛들로 분할된다. 일부 실시예들에서, 디바이스는 제2 배향으로 있는 디바이스에 따라서 수직 입력 모드에서 디바이스 상에 필기 입력 인터페이스를 제공한다(2006). 수직 입력 모드에서 입력되는 필기 입력의 개별 라인은 수직 기입 방향을 따라 하나 이상의 개별 인식 유닛들로 분할된다.In some embodiments, the user device determines the orientation of the device (2002). The orientation of the device and changes in device orientation can be detected by an accelerometer and/or other orientation sensing element within the user device. In some embodiments, the user device provides a handwriting input interface on the device in a horizontal input mode according to the device in the first orientation (2004). Individual lines of handwriting input input in the horizontal input mode are divided into one or more individual recognition units along the horizontal writing direction. In some embodiments, the device provides a handwriting input interface on the device in a vertical input mode according to the device in the second orientation (2006). Individual lines of handwriting input input in the vertical input mode are divided into one or more individual recognition units along the vertical writing direction.

일부 실시예들에서, 수평 입력 모드에서 동작하는 동안(2008): 디바이스는 제1 배향으로부터 제2 배향으로의 디바이스 배향의 변화를 검출한다(2010). 일부 실시예들에서, 디바이스 배향의 변화에 응답하여, 디바이스는 수평 입력 모드로부터 수직 입력 모드로 전환한다(2012). 이것은, 예를 들어 도 19a 및 도 19b에서 예시되어 있다. 일부 실시예들에서, 수직 입력 모드에서 동작하는 동안(2014): 사용자 디바이스는 제2 배향으로부터 제1 배향으로의 디바이스 배향의 변화를 검출한다(2016). 일부 실시예들에서, 디바이스 배향의 변화에 응답하여, 사용자 디바이스는 수직 입력 모드로부터 수평 입력 모드로 전환한다(2018). 일부 실시예들에서, 디바이스 배향과 입력 모드 간의 연관은 상기 설명된 것의 반대될 수 있다.In some embodiments, while operating in a horizontal input mode (2008): The device detects a change in device orientation from a first orientation to a second orientation (2010). In some embodiments, in response to a change in device orientation, the device switches from a horizontal input mode to a vertical input mode (2012). This is illustrated in Figs. 19A and 19B, for example. In some embodiments, while operating in the vertical input mode (2014): the user device detects a change in device orientation from the second orientation to the first orientation (2016). In some embodiments, in response to the change in device orientation, the user device switches from a vertical input mode to a horizontal input mode (2018). In some embodiments, the association between device orientation and input mode may be the opposite of that described above.

일부 실시예들에서, 수평 입력 모드에서 동작하는 동안(2020): 사용자 디바이스는 사용자로부터 제1 다단어 필기 입력을 수신한다(2022). 제1 다단어 필기 입력에 응답하여, 사용자 디바이스는 수평 기입 방향을 따라서 필기 입력 인터페이스의 후보 디스플레이 영역에서 제1 다단어 인식 결과를 제시한다(2024). 이것은, 예를 들어 도 19a에서 예시되어 있다. 일부 실시예들에서, 수직 입력 모드에서 동작하는 동안(2026): 사용자 디바이스는 사용자로부터 제2 다단어 필기 입력을 수신한다(2028). 제2 다단어 필기 입력에 응답하여, 사용자 디바이스는 수직 기입 방향을 따라서 후보 디스플레이 영역에서 제2 다단어 인식 결과를 제시한다(2030). 이것은, 예를 들어 도 19c 및 도 19e에서 예시되어 있다.In some embodiments, while operating in the horizontal input mode (2020): The user device receives (2022) a first multi-word handwriting input from the user. In response to the first multi-word handwriting input, the user device presents the first multi-word recognition result in the candidate display area of the handwriting input interface along the horizontal writing direction (2024). This is illustrated in Fig. 19A, for example. In some embodiments, while operating in the vertical input mode (2026): The user device receives (2028) a second multi-word handwriting input from the user. In response to the second multi-word handwriting input, the user device presents the second multi-word recognition result in the candidate display area along the vertical writing direction (2030). This is illustrated, for example, in FIGS. 19C and 19E.

일부 실시예들에서, 예컨대, 도 19a 및 도 19b에 도시된 바와 같이, 사용자 디바이스는 제1 다단어 인식 결과를 선택하는 제1 사용자 입력을 수신하는데(2032), 여기서 선택은 입력 방향을 변경하기 위한 입력(예컨대, 디바이스의 회전 또는 어포던스(1908)의 선택)으로 암시적으로 이루어진다. 예컨대, 도 19c 또는 도 19e에 도시된 바와 같이, 사용자 디바이스는 제2 다단어 인식 결과를 선택하는 제2 사용자 입력을 수신한다(2034). 사용자 디바이스는 필기 입력 인터페이스의 텍스트 입력 영역에서 제1 다단어 인식 결과 및 제2 다단어 인식 결과의 개별 텍스트를 동시에 디스플레이하는데(2036), 여기서 제1 다단어 인식 결과의 개별 텍스트는 수평 기입 방향을 따라서 디스플레이되고, 제2 다단어 인식 결과의 개별 텍스트는 수직 기입 방향을 따라서 디스플레이된다. 이것은, 예를 들어 도 19f의 텍스트 입력 영역(808)에서 예시되어 있다.In some embodiments, for example, as shown in FIGS. 19A and 19B, the user device receives (2032) a first user input selecting a first multi-word recognition result, where the selection is to change the input direction. Input (eg, rotation of the device or selection of affordance 1908). For example, as illustrated in FIG. 19C or 19E, the user device receives a second user input for selecting a second multi-word recognition result (2034). The user device simultaneously displays the individual texts of the first multi-word recognition result and the second multi-word recognition result in the text input area of the handwriting input interface (2036), wherein the individual texts of the first multi-word recognition result set the horizontal writing direction. Therefore, it is displayed, and the individual texts of the second multi-word recognition result are displayed along the vertical writing direction. This is illustrated, for example, in the text input area 808 of Fig. 19F.

일부 실시예들에서, 필기 입력 영역은 수평 기입 방향에서의 필기 입력의 다수의 라인들을 허용하고 디폴트 하향식 단락 방향(default top-down paragraph direction)을 갖는다. 일부 실시예들에서, 수평 기입 방향은 좌측에서부터 우측으로 이다. 일부 실시예들에서, 수평 기입 방향은 우측에서부터 좌측으로 이다. 일부 실시예들에서, 필기 입력 영역은 수직 기입 방향에서의 필기 입력의 다수의 라인들을 허용하고 디폴트 좌측에서 우측으로의 단락 방향(default left-to-right paragraph direction)을 갖는다. 일부 실시예들에서, 필기 입력 영역은 수직 기입 방향에서의 필기 입력의 다수의 라인들을 허용하고 디폴트 우측에서 좌측으로의 단락 방향을 갖는다. 일부 실시예들에서, 수직 기입 방향은 위에서부터 아래로 이다. 일부 실시예들에서, 제1 배향은 디폴트로 가로 배향이고, 제2 배향은 디폴트로 세로 배향이다. 일부 실시예들에서, 사용자 디바이스는 디바이스 배향에 상관없이, 수평 입력 모드와 수직 입력 모드 사이에서 수동으로 전환하기 위해 필기 입력 인터페이스에서 개별 어포던스를 제공한다. 일부 실시예들에서, 사용자 디바이스는 2개의 대안적인 기입 방향들 사이에서 수동으로 전환하기 위해 필기 입력 인터페이스에서 개별 어포던스를 제공한다. 일부 실시예들에서, 사용자 디바이스는 2개의 대안적인 단락 방향들 사이에서 수동으로 전환하기 위해 필기 입력 인터페이스에서 개별 어포던스를 제공한다. 일부 실시예들에서, 어포던스는, 하나 이상 연속 호출했을 때, 입력 및 단락 방향들의 각각의 이용 가능한 조합에 걸쳐 순환하는 토글 버튼이다.In some embodiments, the handwriting input area allows multiple lines of handwriting input in a horizontal writing direction and has a default top-down paragraph direction. In some embodiments, the horizontal writing direction is from left to right. In some embodiments, the horizontal writing direction is from right to left. In some embodiments, the handwriting input area allows multiple lines of handwriting input in a vertical writing direction and has a default left-to-right paragraph direction. In some embodiments, the handwriting input area allows multiple lines of handwriting input in a vertical writing direction and has a default right-to-left paragraph direction. In some embodiments, the vertical writing direction is from top to bottom. In some embodiments, the first orientation is a horizontal orientation by default and the second orientation is a vertical orientation by default. In some embodiments, the user device provides a separate affordance in the handwriting input interface to manually switch between a horizontal input mode and a vertical input mode, regardless of the device orientation. In some embodiments, the user device provides a separate affordance in the handwriting input interface to manually switch between two alternative writing directions. In some embodiments, the user device provides a separate affordance in the handwriting input interface to manually switch between two alternative paragraph directions. In some embodiments, the affordance is a toggle button that, when called one or more consecutively, cycles through each available combination of input and paragraph directions.

일부 실시예들에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신한다(2038). 필기 입력은 필기 입력 인터페이스의 필기 입력 영역에서 제공되는 복수의 필기 획들을 포함한다. 필기 입력에 응답하여, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서 하나 이상의 인식 결과들을 디스플레이한다(2040). 하나 이상의 인식 결과들이 후보 디스플레이 영역에서 디스플레이되는 동안, 사용자 디바이스는 현재 필기 입력 모드로부터 대안적인 필기 입력 모드로 전환하기 위한 사용자 입력을 검출한다(2042). 사용자 입력에 응답하여(2044): 사용자 디바이스는 현재 필기 입력 모드로부터 대안적인 필기 입력 모드로 전환한다(2046). 일부 실시예들에서, 사용자 디바이스는 필기 입력 영역으로부터 필기 입력을 클리어한다(2048). 일부 실시예들에서, 사용자 디바이스는 후보 디스플레이 영역에서 디스플레이되는 하나 이상의 인식 결과들 중 최상위 인식 결과를 필기 입력 인터페이스의 텍스트 입력 영역에 자동으로 입력한다(2050). 이것은, 예를 들어 도 19a 및 도 19b에서 예시되어 있는데, 여기서 현재 필기 입력 모드는 수평 입력 모드이며 대안적인 필기 입력 모드는 수직 입력 모드이다. 일부 실시예들에서, 현재 필기 입력 모드는 수직 입력 모드이며 대안적인 필기 입력 모드는 수평 입력 모드이다. 일부 실시예들에서, 현재 필기 입력 모드 및 대안적인 필기 입력 모드는 임의의 2개의 상이한 필기 입력 방향들 또는 단락 방향들이 제공되는 모드들이다. 일부 실시예들에서, 사용자 입력은 현재 배향으로부터 다른 배향으로의 디바이스의 회전이다(2052). 일부 실시예들에서, 사용자 입력은 현재 필기 입력 모드를 대안적인 필기 입력 모드로 수동으로 전환하기 위한 어포던스의 호출이다.In some embodiments, the user device receives 2038 handwriting input from the user. The handwriting input includes a plurality of handwriting strokes provided in the handwriting input area of the handwriting input interface. In response to the handwriting input, the user device displays one or more recognition results in a candidate display area of the handwriting input interface (2040). While one or more recognition results are displayed in the candidate display area, the user device detects (2042) a user input for switching from the current handwriting input mode to an alternative handwriting input mode. In response to user input (2044): the user device switches from the current handwriting input mode to an alternative handwriting input mode (2046). In some embodiments, the user device clears the handwriting input from the handwriting input area (2048). In some embodiments, the user device automatically inputs the highest recognition result among one or more recognition results displayed in the candidate display area into the text input area of the handwriting input interface (2050 ). This is illustrated, for example, in Figs. 19A and 19B, where the current handwriting input mode is a horizontal input mode and an alternative handwriting input mode is a vertical input mode. In some embodiments, the current handwriting input mode is a vertical input mode and an alternative handwriting input mode is a horizontal input mode. In some embodiments, the current handwriting input mode and alternative handwriting input mode are modes in which any two different handwriting input directions or paragraph directions are provided. In some embodiments, the user input is a rotation of the device from the current orientation to another orientation (2052). In some embodiments, the user input is a call of affordance to manually switch the current handwriting input mode to an alternative handwriting input mode.

본 명세서에 설명되는 바와 같이, 필기 입력 모듈은 사용자가 필기 획들 및/또는 문자들을 임의의 시간 순서로 입력할 수 있게 한다. 따라서, 다문자 필기 입력에서 개별 필기 문자를 삭제하고, 삭제된 문자와 동일 또는 상이한 필기 문자를 동일한 위치에서 재기입하는 것이 유리한데, 이것은 사용자가 전체 필기 입력을 삭제할 필요 없이 긴 필기 입력을 개정하는 데 도움이 될 것이기 때문이다.As described herein, the handwriting input module allows a user to input handwritten strokes and/or characters in any chronological order. Therefore, it is advantageous to delete individual handwritten characters in the multi-character handwriting input, and to rewrite the same or different handwritten characters as the deleted characters at the same location, which allows the user to revise the long handwriting input without having to delete the entire handwriting input. Because it will help.

도 20a 내지 도 20h는 필기 입력 영역에서 현재 누적된 복수의 필기 획들에서 식별된 인식 유닛을 시각적으로 강조하고 그리고/또는 삭제하기 위한 예시적인 사용자 인터페이스들을 도시한다. 사용자가 복수의 입력들에서 식별된 다수의 인식 유닛들 중 임의의 하나를 개별적으로 선택하고, 보고, 그리고 삭제할 수 있게 하는 것은, 사용자 디바이스에 의해 다문자 및 심지어 멀티라인 필기 입력이 허용될 때 특히 유용하다. 사용자가 필기 입력들의 시작 또는 중간에서 특정한 인식 유닛을 삭제할 수 있게 하는 것은, 사용자가 바람직하지 않은 인식 유닛 후에 위치된 모든 인식 유닛들을 삭제하도록 요구하지 않고서, 사용자가 긴 입력을 수정할 수 있게 한다.20A-20H illustrate exemplary user interfaces for visually highlighting and/or deleting a recognition unit identified in a plurality of currently accumulated handwriting strokes in a handwriting input area. Allowing a user to individually select, view, and delete any one of a number of recognition units identified in a plurality of inputs, especially when multi-character and even multi-line handwriting input is allowed by the user device. useful. Allowing the user to delete a particular recognition unit at the beginning or middle of handwriting inputs allows the user to correct long inputs without requiring the user to delete all recognition units located after the undesirable recognition unit.

도 21a 내지 도 21c에 도시된 바와 같이, 사용자는 필기 입력 사용자 인터페이스(802)의 필기 입력 영역(804)에서 복수의 필기 획들(예컨대, 획들(2102, 2104, 2106))을 제공하였다. 사용자가 계속해서 추가적인 획들을 필기 입력 영역(804)으로 제공하는 동안, 사용자 디바이스는 필기 입력 영역에서 현재 누적된 필기 입력으로부터 식별된 인식 유닛들을 업데이트하고, 업데이트된 인식 유닛들로부터 인식된 출력 문자들에 따라 인식 결과들을 개정한다. 도 20c에 도시된 바와 같이, 사용자 디바이스는 현재 필기 입력으로부터 2개의 인식 유닛들을 식별하였고, 각각이 2개의 한자들을 포함하는 3개의 인식 결과들(예컨대, 2108, 2010, 2112)을 제시하였다.21A to 21C, the user has provided a plurality of handwritten strokes (eg, strokes 2102, 2104, 2106) in the handwriting input area 804 of the handwriting input user interface 802. While the user continues to provide additional strokes to the handwriting input area 804, the user device updates the recognition units identified from the currently accumulated handwriting input in the handwriting input area, and output characters recognized from the updated recognition units. Recognition results are revised according to. As shown in Fig. 20C, the user device has identified two recognition units from the current handwriting input, and presented three recognition results (eg, 2108, 2010, 2112) each containing two Chinese characters.

이러한 예에서, 사용자가 2개의 필기 문자들을 기입한 후에, 사용자는 제1 인식 유닛이 틀리게 기입되어 있음을 알아차리고, 그 결과, 사용자 디바이스는 원하는 인식 결과를 후보 디스플레이 영역에서 식별하지 못했고 제시하지 못했다.In this example, after the user writes two handwritten characters, the user notices that the first recognition unit is written incorrectly, and as a result, the user device did not identify and failed to present the desired recognition result in the candidate display area. .

일부 실시예들에서, 사용자가 터치 감응 디스플레이 상에서 탭 제스처(예컨대, 동일한 위치에서 접촉에 뒤이은 즉각적인 들어올림)를 제공할 때, 사용자 디바이스는 탭 제스처를 입력으로서 해석하여, 필기 입력 영역에서 현재 식별된 개별 인식 유닛들의 시각적 강조를 야기한다. 일부 실시예들에서, 또 다른 사전결정된 제스처(예컨대, 필기 입력 영역 위에서 여러 손가락 문지름 제스처)가 사용되어, 사용자 디바이스가 필기 입력 영역(804)에서 개별 인식 유닛들을 강조하도록 한다. 탭 제스처는 필기 획으로부터 구별하기가 비교적 쉽기 때문에 때때로 바람직한데, 이는 통상 필기 입력 영역(804) 내에서의 접촉의 이동을 갖고 그리고 더 긴 지속기간의 지속된 접촉을 수반한다. 멀티터치 제스처(multi-touch gesture)는 필기 획으로부터 구별하기가 비교적 쉽기 때문에 때때로 바람직한데, 이는 통상 필기 입력 영역(804) 내에서의 단일 접촉을 수반한다. 일부 실시예들에서, 사용자 디바이스는 사용자에 의해 (예컨대, 접촉(2114)을 통해) 호출될 수 있는 어포던스(2112)를 사용자 인터페이스에서 제공하여, 개별 인식 유닛들이 (예컨대, 박스들(2108, 2110)에 의해 도시된 바와 같이) 시각적으로 강조되도록 한다. 일부 실시예들에서, 어포던스는 그러한 어포던스를 수용하기에 충분한 스크린 공간이 있을 때 바람직하다. 일부 실시예들에서, 어포던스는 사용자에 의해 다수 연속 호출될 수 있는데, 이는 사용자 디바이스가 분할 격자에서의 상이한 분할 체인에 따라 식별된 인식 유닛(들)을 시각적으로 강조하도록 하고 모든 분할 체인들이 나타내어졌을 때 강조가 해제되도록 한다.In some embodiments, when the user provides a tap gesture on the touch-sensitive display (e.g., an immediate lift following a contact in the same location), the user device interprets the tap gesture as an input, identifying the current in the handwriting input area. Resulting in a visual emphasis of individual recognition units. In some embodiments, another predetermined gesture (eg, a multi-finger swipe gesture over the handwriting input area) is used to cause the user device to highlight individual recognition units in the handwriting input area 804. A tap gesture is sometimes desirable because it is relatively easy to distinguish from a handwritten stroke, which typically has a movement of the contact within the handwriting input area 804 and entails a longer duration of sustained contact. A multi-touch gesture is sometimes desirable because it is relatively easy to distinguish from a handwritten stroke, which typically involves a single contact within the handwriting input area 804. In some embodiments, the user device provides an affordance 2112 in the user interface that can be invoked by the user (e.g., via contact 2114) so that individual recognition units (e.g., boxes 2108, 2110 ) To be visually emphasized). In some embodiments, affordance is desirable when there is sufficient screen space to accommodate such affordance. In some embodiments, affordance may be invoked multiple consecutively by the user, which allows the user device to visually highlight the recognition unit(s) identified according to different split chains in the split grid and all split chains would have been shown. When the emphasis is turned off.

도 21d에 도시된 바와 같이, 사용자가 필기 입력 영역(804)에서의 개별 인식 유닛들을 강조하기 위해 필요한 제스처를 제공하였을 때, 사용자 디바이스는 각각의 강조된 인식 유닛 위에서의 개별 삭제 어포던스(예컨대, 작은 삭제 버튼들(2116, 2118))를 추가로 디스플레이한다. 도 21e 및 도 21f는, 사용자가 개별 인식 유닛의 삭제 어포던스(예컨대, 박스(2118) 내의 제1 인식 유닛에 대한 삭제 버튼(2116))를 (예컨대, 접촉(2120)을 통해) 터치할 때, (예컨대, 박스(2118) 내의) 개별 인식 유닛이 필기 입력 영역(804)으로부터 제거되는 것을 도시한다. 이러한 특정한 예에서, 삭제된 인식 유닛은 시간적으로 마지막 입력된 인식 유닛이 아니며, 그것은 기입 방향을 따라 공간적으로 마지막 인식 유닛도 아니다. 다시 말하면, 사용자는 언제 그리고 어디서 인식 유닛이 필기 입력 영역에 제공되었는지에 상관없이 임의의 인식 유닛을 삭제할 수 있다. 도 21f는, 필기 입력 영역에서의 제1 인식 유닛의 삭제에 응답하여, 사용자 디바이스가 후보 디스플레이 영역(806)에서 디스플레이된 인식 결과들을 또한 업데이트하는 것을 도시한다. 도 21f에 도시된 바와 같이, 사용자 디바이스는 또한 삭제된 인식 유닛에 대응하는 후보 문자를 인식 결과들로부터 삭제하였다. 결과적으로, 새로운 인식 결과(2120)가 후보 디스플레이 영역(806)에 나타나 있다.As shown in Fig. 21D, when the user has provided the necessary gesture to highlight the individual recognition units in the handwriting input area 804, the user device is given an individual deletion affordance (e.g., small deletion) over each highlighted recognition unit. Buttons 2116, 2118) are further displayed. 21E and 21F show when the user touches (e.g., via contact 2120) the deletion affordance of an individual recognition unit (e.g., delete button 2116 for the first recognition unit in box 2118), It shows that individual recognition units (eg, in box 2118) are removed from the handwriting input area 804. In this particular example, the deleted recognition unit is not the last input recognition unit temporally, and it is not the last recognition unit spatially along the writing direction. In other words, the user can delete any recognition unit regardless of when and where the recognition unit was provided in the handwriting input area. 21F shows that in response to deletion of the first recognition unit in the handwriting input area, the user device also updates the recognition results displayed in the candidate display area 806. As shown in Fig. 21F, the user device also deleted the candidate character corresponding to the deleted recognition unit from the recognition results. As a result, a new recognition result 2120 is shown in the candidate display area 806.

도 21g 및 도 21h에 도시된 바와 같이, 제1 인식 유닛이 필기 입력 인터페이스(804)로부터 제거된 후에, 사용자는 삭제된 인식 유닛에 의해 이전에 점유되었던 영역에 복수의 새로운 필기 획들(2122)을 제공하였다. 사용자 디바이스는 필기 입력 영역(804)에서 현재 누적된 필기 입력을 재분할하였다. 필기 입력으로부터 식별된 인식 유닛들에 기초하여, 사용자 디바이스는 후보 디스플레이 영역(806)에서 인식 결과들(예컨대, 결과들(2124, 2126))을 다시 생성하였다. 도 21g 및 도 21h는, 사용자가 인식 결과들 중 하나(예컨대, 결과(2124))를 (예컨대, 접촉(2128)을 통해) 선택하고, 선택된 인식 결과의 텍스트가 텍스트 입력 영역(808)으로 입력됨을 도시한다.21G and 21H, after the first recognition unit is removed from the handwriting input interface 804, the user applies a plurality of new handwritten strokes 2122 to the area previously occupied by the deleted recognition unit. Provided. The user device redistributes the currently accumulated handwriting input in the handwriting input area 804. Based on the recognition units identified from the handwriting input, the user device regenerates recognition results (eg, results 2124, 2126) in the candidate display area 806. 21G and 21H show that the user selects one of the recognition results (e.g., result 2124) (e.g., through contact 2128), and the text of the selected recognition result is input into the text input area 808 Shows that it is.

도 22a 및 도 22b는, 인식 유닛들이 형성된 시간 순서에 상관없이, 현재 필기 입력에서 식별된 개별 인식 유닛들이 시각적으로 제시되고 개별적으로 삭제될 수 있는 예시적인 프로세스(2200)에 대한 플로차트들이다. 도 21a 내지 도 21h는 일부 실시예들에 따른 프로세스(2200)를 도시한다.22A and 22B are flowcharts for an exemplary process 2200 in which individual recognition units identified in the current handwriting input may be visually presented and individually deleted, regardless of the time order in which the recognition units were formed. 21A-21H illustrate a process 2200 in accordance with some embodiments.

예시적인 프로세스(2200)에서, 사용자 디바이스는 사용자로부터 필기 입력을 수신한다(2202). 필기 입력은 디바이스에 결합된 터치 감응 표면 상에서 제공되는 복수의 필기 획들을 포함한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 필기 입력 영역(예컨대, 필기 입력 영역(804))에서 복수의 필기 획들을 렌더링한다(2204). 일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들을 2개 이상의 인식 유닛들로 분할하는데(2206), 각 인식 유닛은 복수의 필기 획들의 개별 서브세트를 포함한다.In an exemplary process 2200, the user device receives (2202) a handwriting input from a user. The handwriting input includes a plurality of handwritten strokes provided on a touch-sensitive surface coupled to the device. In some embodiments, the user device renders (2204) a plurality of handwritten strokes in a handwriting input area (eg, handwriting input area 804) of the handwriting input interface. In some embodiments, the user device divides a plurality of handwritten strokes into two or more recognition units (2206), each recognition unit comprising a separate subset of the plurality of handwritten strokes.

일부 실시예들에서, 사용자 디바이스는 사용자로부터 편집 요청을 수신한다(2208). 일부 실시예들에서, 편집 요청은 필기 입력 인터페이스에서 제공되는 사전결정된 어포던스(예컨대, 도 21d의 어포던스(2112)) 위에서 검출되는 접촉이다(2210). 일부 실시예들에서, 편집 요청은 필기 입력 인터페이스에서의 사전결정된 영역 위에서 검출되는 탭 제스처이다(2212). 일부 실시예들에서, 사전결정된 영역은 필기 입력 인터페이스의 필기 입력 영역 내에 있다. 일부 실시예들에서, 사전결정된 영역은 필기 입력 인터페이스의 필기 입력 영역의 외측에 있다. 일부 실시예들에서, 필기 입력 영역의 외측에서의 또 다른 사전결정된 제스처(예컨대, 크로스 제스처(cross gesture), 수평 스와이프 제스처, 수직 스와이프 제스처, 비스듬한 스와이프 제스처)가 편집 요청으로서 사용될 수 있다. 필기 입력 영역 외측에서의 제스처들은 그것이 필기 입력 영역 외측에서 제공되기 때문에 필기 획으로부터 쉽게 구별될 수 있다.In some embodiments, the user device receives (2208) an edit request from the user. In some embodiments, the edit request is a contact 2210 that is detected over a predetermined affordance (eg, affordance 2112 in FIG. 21D) provided in the handwriting input interface. In some embodiments, the edit request is a tap gesture detected over a predetermined area in the handwriting input interface (2212). In some embodiments, the predetermined area is within the handwriting input area of the handwriting input interface. In some embodiments, the predetermined area is outside the handwriting input area of the handwriting input interface. In some embodiments, another predetermined gesture outside of the handwriting input area (e.g., cross gesture, horizontal swipe gesture, vertical swipe gesture, oblique swipe gesture) may be used as an edit request. . Gestures outside the handwriting input area can be easily distinguished from the handwriting stroke as it is provided outside the handwriting input area.

일부 실시예들에서, 편집 요청에 응답하여, 사용자 디바이스는 필기 입력 영역에서 2개 이상의 인식 유닛들을, 예컨대, 도 21d의 박스들(2108, 2110)을 사용하여, 시각적으로 구별한다(2214). 일부 실시예들에서, 2개 이상의 인식 유닛들을 시각적으로 구별하는 것은 필기 입력 영역에서 2개 이상의 인식 유닛들 사이의 개별 경계들을 강조하는 것을 추가로 포함한다(2216). 다양한 실시예들에서, 현재 필기 입력에서 식별된 인식 유닛들을 시각적으로 구별하는 상이한 방식들이 이용될 수 있다.In some embodiments, in response to the editing request, the user device visually distinguishes 2214 of the two or more recognition units in the handwriting input area, eg, using boxes 2108 and 2110 in FIG. 21D. In some embodiments, visually distinguishing the two or more recognition units further includes emphasizing 2216 individual boundaries between the two or more recognition units in the handwriting input area. In various embodiments, different ways of visually distinguishing recognition units identified in the current handwriting input may be used.

일부 실시예들에서, 사용자 디바이스는 필기 입력 영역으로부터 2개 이상의 인식 유닛들 각각을 개별적으로 삭제하기 위한 수단을 제공한다(2218). 일부 실시예들에서, 예컨대, 도 21d의 삭제 버튼들(2116, 2118)에 의해 도시된 바와 같이, 2개 이상의 인식 유닛들 각각을 개별적으로 삭제하기 위한 수단은 각 인식 유닛에 근접하여 디스플레이되는 개별 삭제 버튼이다. 일부 실시예들에서, 2개 이상의 인식 유닛들 각각을 개별적으로 삭제하기 위한 수단은 각 인식 유닛에 대한 사전결정된 삭제 제스처 입력을 검출하기 위한 수단이다. 일부 실시예들에서, 사용자 디바이스는 강조된 인식 유닛들에 대한 개별 삭제 어포던스를 눈에 보이게 디스플레이하지 않는다. 대신에, 일부 실시예들에서, 사용자는 삭제 제스처를 사용하여 삭제 제스처 아래의 개별 인식 유닛을 삭제하는 것이 허용된다. 일부 실시예들에서, 사용자 디바이스가 시각적으로 강조된 방식으로 인식 유닛들을 디스플레이하고 있기 때문에, 사용자 디바이스는 필기 입력 영역에서 추가적인 필기 획들을 허용하지 않는다. 대신에, 시각적으로 강조된 인식 유닛 위에서 검출되는 사전결정된 제스처 또는 임의의 제스처는 사용자 디바이스가 필기 입력 영역으로부터 인식 유닛을 제거하도록 할 것이고, 그에 따라 후보 디스플레이 영역에서 디스플레이된 인식 결과들을 개정하도록 할 것이다. 일부 실시예들에서, 탭 제스처는 사용자 디바이스가 필기 인식 영역에서 식별되는 개별 인식 유닛들을 시각적으로 강조하도록 하고, 이어서 사용자는 삭제 버튼을 사용하여 개별 인식 유닛들을 역기입 방향으로 하나씩 삭제할 수 있다.In some embodiments, the user device provides a means for individually deleting each of the two or more recognition units from the handwriting input area (2218). In some embodiments, the means for individually deleting each of the two or more recognition units, e.g., as shown by delete buttons 2116, 2118 in FIG. It's a delete button. In some embodiments, the means for individually deleting each of the two or more recognition units is means for detecting a predetermined deletion gesture input for each recognition unit. In some embodiments, the user device does not visually display individual deletion affordances for the highlighted recognition units. Instead, in some embodiments, the user is allowed to delete an individual recognition unit under the delete gesture using the delete gesture. In some embodiments, because the user device is displaying the recognition units in a visually emphasized manner, the user device does not allow additional handwriting strokes in the handwriting input area. Instead, a predetermined gesture or any gesture detected on the visually emphasized recognition unit will cause the user device to remove the recognition unit from the handwriting input area and thus revise the recognition results displayed in the candidate display area. In some embodiments, the tap gesture causes the user device to visually highlight individual recognition units identified in the handwriting recognition area, and then the user can delete the individual recognition units one by one in the reverse writing direction using a delete button.

일부 실시예들에서, 예컨대, 도 21e에 도시된 바와 같이, 사용자 디바이스는 사용자로부터 그리고 제공된 수단을 통하여, 필기 입력 영역으로부터 2개 이상의 인식 유닛들 중 제1 인식 유닛을 개별적으로 삭제하기 위한 삭제 입력을 수신한다(2224). 예컨대, 도 21f에 도시된 바와 같이, 사용자 디바이스는, 삭제 입력에 응답하여, 필기 입력 영역으로부터 제1 인식 유닛에서의 필기 획들의 개별 서브세트를 제거한다(2226). 일부 실시예들에서, 제1 인식 유닛은 2개 이상의 인식 유닛들 중에서 공간적으로 초기 인식 유닛이다. 일부 실시예들에서, 예컨대, 도 21e 및 도 21f에 도시된 바와 같이, 제1 인식 유닛은 2개 이상의 인식 유닛들 중에서 공간적으로 중간 인식 유닛이다. 일부 실시예들에서, 제1 인식 유닛은 2개 이상의 인식 유닛들 중에서 공간적으로 최후 인식 유닛이다.In some embodiments, for example, as shown in Fig. 21E, the user device is provided with a deletion input for individually deleting the first of the two or more recognition units from the handwriting input area, from the user and through the means provided. Receive (2224). For example, as shown in Fig. 21F, in response to the deletion input, the user device removes a separate subset of handwritten strokes in the first recognition unit from the handwriting input area (2226). In some embodiments, the first recognition unit is an initial recognition unit spatially among two or more recognition units. In some embodiments, for example, as shown in FIGS. 21E and 21F, the first recognition unit is a spatially intermediate recognition unit among two or more recognition units. In some embodiments, the first recognition unit is a spatially last recognition unit among two or more recognition units.

일부 실시예들에서, 사용자 디바이스는 복수의 필기 획들로부터 분할 격자를 생성하는데(2228), 분할 격자는 복수의 필기 획들로부터 식별되는 인식 유닛들의 개별 세트를 각각 표시하는 복수의 대안적인 분할 체인들을 포함한다. 예를 들어, 도 21g는 인식 결과들(2024, 2026)을 도시하는데, 여기서 인식 결과(2024)는 2개의 인식 유닛들을 갖는 하나의 분할 체인으로부터 생성되고, 인식 결과(2026)는 3개의 인식 유닛들을 갖는 다른 분할 체인으로부터 생성된다. 일부 실시예들에서, 사용자 디바이스는 사용자로부터 2개 이상의 연속 편집 요청들을 수신한다(2230). 예를 들어, 2개 이상의 연속 편집 요청은 도 21g의 어포던스(2112) 상에서의 여러 번의 연속 탭들일 수 있다. 일부 실시예들에서, 2개 이상의 연속 편집 요청들 각각에 응답하여, 사용자 디바이스는 필기 입력 영역에서 인식 유닛들의 개별 세트를 복수의 대안적인 분할 체인들 중 다른 분할 체인으로부터 시각적으로 구별한다(2232). 예를 들어, 제1 탭 제스처에 응답하여, 필기 입력 영역(804)에서 (예컨대, 각각 문자들 "帽" 및 "子"에 대한) 2개의 인식 유닛들이 강조되고, 제2 탭 제스처에 응답하여, (예컨대, 각각 문자들 "巾", "冒", 및 "子"에 대한) 3개의 인식 유닛들이 강조된다. 일부 실시예들에서, 제3 탭 제스처에 응답하여, 모든 인식 유닛들로부터 시각적 강조가 선택적으로 제거되고, 필기 입력 영역이 정상 상태로 되돌아와서 추가적인 획들을 허용할 준비를 한다. 일부 실시예들에서, 사용자 디바이스는 필기 입력 영역에서 현재 표시되는 인식 유닛들의 개별 세트 각각을 개별적으로 삭제하기 위한 수단을 제공한다(2234). 일부 실시예들에서, 이 수단은 각각의 강조된 인식 유닛에 대한 개별 삭제 버튼이다. 일부 실시예들에서, 이 수단은 각각의 강조된 인식 유닛 위에서의 사전결정된 삭제 제스처를 검출하고 그리고 사전결정된 삭제 제스처 하에서 강조된 인식 유닛을 삭제하는 기능을 호출하기 위한 수단이다.In some embodiments, the user device generates (2228) a segmentation grid from a plurality of handwritten strokes, the segmentation grid comprising a plurality of alternative segmentation chains each representing a separate set of recognition units identified from the plurality of handwritten strokes. do. For example, FIG. 21G shows recognition results 2024 and 2026, where the recognition result 2024 is generated from one split chain with two recognition units, and the recognition result 2026 is three recognition units. Are created from different splitting chains with s. In some embodiments, the user device receives (2230) two or more consecutive edit requests from the user. For example, two or more consecutive edit requests may be multiple consecutive taps on affordance 2112 of FIG. 21G. In some embodiments, in response to each of the two or more consecutive editing requests, the user device visually distinguishes 2232 a separate set of recognition units in the handwriting input area from another of the plurality of alternative split chains. . For example, in response to a first tap gesture, two recognition units (e.g., for each of the characters "帽" and "子") are highlighted in the handwriting input area 804, and in response to the second tap gesture , Three recognition units (eg, for the characters “巾”, “冒”, and “子” respectively) are highlighted. In some embodiments, in response to the third tap gesture, visual emphasis is selectively removed from all recognition units, and the handwriting input area returns to its normal state, ready to allow additional strokes. In some embodiments, the user device provides a means for individually deleting each of the respective set of recognition units currently displayed in the handwriting input area (2234). In some embodiments, this means is a separate delete button for each highlighted recognition unit. In some embodiments, this means is a means for detecting a predetermined deletion gesture on each highlighted recognition unit and invoking a function of deleting the highlighted recognition unit under the predetermined deletion gesture.

본 명세서에 설명되는 바와 같이, 일부 실시예들에서, 사용자 디바이스는 필기 입력 영역에서 연속 입력 모드를 제공한다. 필기 입력 영역의 영역이 휴대용 사용자 디바이스 상에서 제한되기 때문에, 사용자에 의해 제공된 필기 입력들을 저장(cache)하는 방식을 제공하고 사용자가 이전에 제공된 필기 입력들을 커밋하지 않고 스크린 공간을 재사용할 수 있게 하는 것이 때때로 바람직하다. 일부 실시예들에서, 사용자 디바이스는 스크롤링 필기 입력 영역을 제공하는데, 여기서 사용자가 필기 입력 영역의 최후에 충분히 가까워지면 입력 영역은 점차적으로 소정량 (예컨대, 한 번에 하나의 인식 유닛) 만큼 시프트한다. 일부 실시예들에서, 필기 입력 영역에서의 기존의 인식 유닛들을 시프트하는 것이 사용자의 기입 프로세스를 방해하고 어쩌면 인식 유닛들의 정확한 분할을 방해할 수 있기 때문에, 인식 유닛들을 동적으로 시프트하지 않고 입력 영역의 이전에 사용된 구역을 재활용하는 것이 때때로 유리하다. 일부 실시예들에서, 사용자가 텍스트 입력 영역으로 아직 입력되지 않은 필기 입력에 의해 점유되는 영역을 재사용할 때, 필기 입력 영역에 대한 최상위 인식 결과가 텍스트 입력 영역으로 자동으로 입력되어서, 사용자가 최상위 인식 결과를 명시적으로 선택하지 않고서 계속해서 새로운 필기 입력을 제공할 수 있게 한다.As described herein, in some embodiments, the user device provides a continuous input mode in the handwriting input area. Since the area of the handwriting input area is limited on the portable user device, it is desirable to provide a way to cache handwriting inputs provided by the user and allow the user to reuse screen space without committing previously provided handwriting inputs. Sometimes it is desirable. In some embodiments, the user device provides a scrolling handwriting input area, wherein the input area gradually shifts by a predetermined amount (e.g., one recognition unit at a time) as the user gets close enough to the end of the handwriting input area. . In some embodiments, since shifting the existing recognition units in the handwriting input area can interfere with the user's writing process and possibly impede the correct division of the recognition units, the input area is not dynamically shifted. It is sometimes advantageous to recycle previously used areas. In some embodiments, when a user reuses an area occupied by a handwriting input that has not yet been entered as a text input area, the highest recognition result for the handwriting input area is automatically input to the text input area, so that the user recognizes the top level. It allows you to continuously provide new handwriting input without explicitly selecting the result.

일부 종래의 시스템들에서, 사용자는 필기 입력 영역에 여전히 나타나 있는 기존의 필기 입력 위에 기입하는 것이 허용된다. 그러한 시스템들에서는, 새로운 획이 이전 인식 유닛의 부분인지 또는 새로운 인식 유닛의 부분인지 여부를 판정하기 위해 시간 정보가 사용된다. 그러한 시간 정보 의존적인 시스템들은 사용자가 필기 입력을 제공하는 속도 및 템포에 대한 엄격한 요건들을 두는데, 이는 수많은 사용자들에 의해 충족되기 어렵다. 추가적으로, 그 필기 입력의 시각적 렌더링은 사용자가 해독하기 어려운 혼란 상태가 될 수 있다. 따라서, 그 기입 프로세스는 사용자에게 불만스럽고 혼란스러울 수 있어, 불쾌한 사용자 경험이 된다.In some conventional systems, the user is allowed to write over existing handwriting input that still appears in the handwriting input area. In such systems, temporal information is used to determine whether a new stroke is part of an old recognition unit or part of a new recognition unit. Such temporal information dependent systems place stringent requirements on the tempo and speed at which the user provides handwriting input, which is difficult to meet by a large number of users. Additionally, the visual rendering of the handwriting input can become a confusing state that is difficult for the user to decipher. Thus, the writing process can be unpleasant and confusing to the user, resulting in an unpleasant user experience.

본 명세서에 설명되는 바와 같이, 사용자가 이전에 기입된 인식 유닛에 의해 점유되는 영역을 재사용하고 필기 입력 영역에서 계속해서 기입할 수 있을 때를 지시하기 위해 페이딩 프로세스가 사용된다. 일부 실시예들에서, 페이딩 프로세스는 임계량의 시간 동안 필기 입력 영역에서 제공된 각 인식 유닛의 시인성을 점차적으로 감소시켜서, 새로운 획들이 그 위에 기입될 때, 기존의 텍스트가 새로운 획들과 시각적으로 경쟁하지 않게 한다. 일부 실시예들에서, 페이딩된 인식 유닛 위에 기입하는 것은, 사용자가 기입을 중지하고 최상위 인식 결과에 대한 선택 입력을 명시적으로 제공하도록 요구하지 않고서, 자동으로 인식 유닛에 대한 최상위 인식 결과가 텍스트 입력 영역으로 입력되도록 한다. 최상위 인식 결과의 이러한 암시적 및 자동 확인은 필기 입력 인터페이스의 효율적 입력 및 속도를 개선시키고, 현재 텍스트 구성의 생각 흐름을 유지하기 위해 사용자에게 주어지는 인지적 부담을 감소시킨다. 일부 실시예들에서, 페이딩된 인식 유닛 위에 기입하는 것은 최상위 검색 결과의 자동 선택을 야기하지 않는다. 그 대신에, 페이딩된 인식 유닛들이 필기 입력 스택에 저장되고, 현재 필기 입력으로서 새로운 필기 입력과 조합된다. 사용자는 선택을 행하기 전에 필기 입력 스택에 누적된 모든 인식 유닛들에 기초하여 생성된 인식 결과들을 볼 수 있다.As described herein, a fading process is used to indicate when the user can reuse the area occupied by the previously written recognition unit and continue writing in the handwriting input area. In some embodiments, the fading process gradually reduces the visibility of each recognition unit provided in the handwriting input area for a threshold amount of time, so that when new strokes are written on it, the existing text does not visually compete with the new strokes. do. In some embodiments, writing over the fading recognition unit automatically causes the top recognition result for the recognition unit to be text input without requiring the user to stop writing and explicitly provide a selection input for the top recognition result. Make sure it is entered as an area. This implicit and automatic confirmation of the top-level recognition result improves the efficient input and speed of the handwriting input interface, and reduces the cognitive burden placed on the user to maintain the thought flow of the current text composition. In some embodiments, writing over the fading recognition unit does not cause automatic selection of the topmost search result. Instead, the faded recognition units are stored in the handwriting input stack and combined with the new handwriting input as the current handwriting input. The user can view the recognition results generated based on all the recognition units accumulated in the handwriting input stack before making a selection.

도 23a 내지 도 23j는, 예컨대 사전결정된 시간량 후에 필기 입력 영역의 상이한 구역에 제공된 인식 유닛들이 그들의 개별 구역들로부터 점차적으로 페이드아웃되고, 특정한 구역에서 페이드아웃이 발생한 후에 사용자가 그 구역에서 새로운 필기 획들을 제공하는 것이 허용되는 예시적인 사용자 인터페이스들 및 프로세스들을 도시한다.23A to 23J show, for example, that the recognition units provided in different areas of the handwriting input area gradually fade out from their individual areas after a predetermined amount of time, and after a fade-out occurs in a specific area, the user can write a new handwriting in that area. Shows example user interfaces and processes that are allowed to provide strokes.

도 23a에 도시된 바와 같이, 사용자는 필기 입력 영역(804)에서 복수의 필기 획들(2302)(예컨대, 대문자 "I"에 대한 3개의 필기 획들)을 제공하였다. 필기 획들(2302)은 사용자 디바이스에 의해 인식 유닛으로서 식별된다. 일부 실시예들에서, 필기 입력 영역(804)에 현재 나타낸 필기 입력은 사용자 디바이스의 필기 입력 스택에서의 제1 층에 저장된다. 식별된 인식 유닛에 기초하여 생성된 다수의 인식 결과들이 후보 디스플레이 영역(804)에서 제공된다.As shown in FIG. 23A, the user has provided a plurality of handwritten strokes 2302 (eg, three handwritten strokes for uppercase “I”) in the handwriting input area 804. The handwritten strokes 2302 are identified by the user device as a recognition unit. In some embodiments, the handwriting input currently displayed in the handwriting input area 804 is stored in a first layer in the handwriting input stack of the user device. A number of recognition results generated based on the identified recognition unit are provided in the candidate display area 804.

도 23b는, 사용자가 계속해서 획들(2304)의 오른쪽에 하나 이상의 획들(2302)을 기입할 때, 제1 인식 유닛에서의 필기 획들(2302)이 필기 입력 영역(804)에서 점차적으로 페이드아웃하기 시작하는 것을 도시한다. 일부 실시예들에서, 제1 인식 유닛의 시각적 렌더링의 점차적 페이딩 또는 소멸을 모방하는 애니메이션이 디스플레이된다. 예를 들어, 애니메이션은 화이트보드로부터 증발하는 잉크의 시각적 효과를 생성할 수 있다. 일부 실시예들에서, 인식 유닛의 페이딩은 전체 인식 유닛에 걸쳐서 균일하지 않다. 일부 실시예들에서, 인식 유닛의 페이딩은 시간 경과에 따라 증가하고, 결국 인식 유닛은 필기 영역에서 전혀 보이게 않게 된다. 그러나, 인식 유닛이 필기 입력 영역(804)에서 더 이상 보이지 않더라도, 일부 실시예들에서, 보이지 않는 인식 유닛이 필기 입력 스택의 상단에 남아 있고, 그 인식 유닛으로부터 생성된 인식 결과들이 후보 디스플레이 영역에서 계속해서 디스플레이된다. 일부 실시예들에서, 페이딩된 인식 유닛은 새로운 필기 입력이 그 위에 기입될 때까지 시야에서 완전히 제거되지는 않는다.23B shows that when the user continues to write one or more strokes 2302 to the right of the strokes 2304, the handwriting strokes 2302 in the first recognition unit gradually fade out in the handwriting input area 804. Shows the beginning. In some embodiments, an animation is displayed that mimics the gradual fading or disappearance of the visual rendering of the first recognition unit. For example, animation can create a visual effect of ink evaporating from a whiteboard. In some embodiments, the fading of the recognition unit is not uniform across the entire recognition unit. In some embodiments, the fading of the recognition unit increases over time, and eventually the recognition unit becomes completely invisible in the handwriting area. However, even if the recognition unit is no longer visible in the handwriting input area 804, in some embodiments, the invisible recognition unit remains at the top of the handwriting input stack, and the recognition results generated from the recognition unit are in the candidate display area. Displayed continuously. In some embodiments, the fading recognition unit is not completely removed from the field of view until a new handwriting input is written over it.

일부 실시예들에서, 사용자 디바이스는 페이딩 애니메이션의 시작 시에 즉각적으로 페이딩된 인식 유닛에 의해 점유되는 구역 위에 새로운 필기 입력이 제공될 수 있게 한다. 일부 실시예들에서, 사용자 디바이스는 페이딩이 소정 단계로 (예컨대, 전혀 짐작이 가지 않는 레벨로 또는 인식이 그 구역에서 전혀 보이지 않을 때까지) 진행한 후에만 페이딩된 인식 유닛에 의해 점유되는 구역 위에 새로운 필기 입력이 제공될 수 있게 한다.In some embodiments, the user device enables a new handwriting input to be provided over an area occupied by the fading recognition unit immediately at the beginning of the fading animation. In some embodiments, the user device is placed over the area occupied by the fading recognition unit only after the fading has progressed to a certain step (e.g., to a level of no guesswork or until no recognition is visible in that area). Allows new handwriting input to be provided.

도 23c는 제1 인식 유닛(즉, 획들(2302))이 그의 페이딩 프로세스를 완료한 (예컨대, 잉크 색이 매우 약한 레벨에서 안정화되었거나 또는 보이지 않게 된) 것을 도시한다. 사용자 디바이스는 사용자에 의해 제공된 추가적인 필기 획들로부터 추가적인 인식 유닛들(예컨대, 필기 문자들 "a" 및 "m"에 대한 인식 유닛들)을 식별하였고, 후보 디스플레이 영역(806)에서 제시되는 인식 결과들을 업데이트하였다.23C shows that the first recognition unit (ie, strokes 2302) has completed its fading process (eg, the ink color has stabilized at a very weak level or has become invisible). The user device has identified additional recognition units (e.g., recognition units for handwritten characters “a” and “m”) from the additional handwritten strokes provided by the user, and recognizes the recognition results presented in the candidate display area 806. Updated.

도 22d 내지 도 22f는, 시간이 지남에 따라, 사용자가 필기 입력 영역(804)에서 복수의 추가 필기 획들(예컨대, 2304, 2306)을 제공한 것을 도시한다. 동시에, 이전에 식별된 인식 유닛들이 점차적으로 필기 입력 영역(804)으로부터 페이딩되어 없어진다. 일부 실시예들에서, 인식 유닛이 식별된 후에 각 인식 유닛에 대해 그 자신의 페이딩 프로세스를 시작하는 것은 사전결정된 시간량이 걸린다. 일부 실시예들에서, 각 인식 유닛에 대한 페이딩 프로세스는 사용자가 그에 후속하여 제2 인식 유닛을 입력하기 시작할 때까지 시작하지 않는다. 도 23b 내지 도 23f에 도시된 바와 같이, 필기 입력이 초서체로 제공될 때, 단일 획(예컨대, 획(2304) 또는 획(2306))이 필기 입력 영역에서 다수의 인식 유닛들(예컨대, 단어 "am" 또는 "back"에서의 각 필기 문자에 대한 인식 유닛)에 걸쳐서 이어질 수 있다.22D-22F show that, over time, a user has provided a plurality of additional handwritten strokes (eg, 2304, 2306) in the handwriting input area 804. At the same time, previously identified recognition units gradually fade away from the handwriting input area 804. In some embodiments, starting its own fading process for each recognition unit after the recognition unit is identified takes a predetermined amount of time. In some embodiments, the fading process for each recognition unit does not start until the user starts inputting a second recognition unit thereafter. 23B-23F, when handwriting input is provided in a cursive font, a single stroke (eg, stroke 2304 or stroke 2306) is applied to a number of recognition units (eg, word “) in the handwriting input area. may be followed by a recognition unit for each handwritten character in "am" or "back").

도 22g는, 인식 유닛이 그의 페이딩 프로세스를 시작한 후에도, 사용자가 삭제 버튼(2310) 상에서의 (예컨대, 접촉(2308)에 뒤이은 즉각적인 들어올림에 의해 지시되는 바와 같이) 사전결정된 회복 입력, 예컨대, 탭 제스처에 의해 그것을 페이딩되지 않은 상태로 다시 되돌릴 수 있는 것을 도시한다. 인식 유닛들이 회복될 때, 그의 외관은 정상 시인성 레벨로 되돌아온다. 일부 실시예들에서, 페이딩된 인식 유닛들의 회복은 필기 입력 영역(804)에서 역기입 방향으로 문자 단위로 이루어진다. 일부 실시예들에서, 페이딩된 인식 유닛들의 회복은 필기 입력 영역(804)에서 단어 단위로 이루어진다. 도 23g에 도시된 바와 같이, 단어 "back"에 대응하는 인식 유닛들이 완전 페이딩된 상태로부터 전혀 페이딩되지 않은 상태로 회복되었다. 일부 실시예들에서, 페이딩 프로세스를 시작하기 위한 클록은 인식 유닛이 페이딩되지 않은 상태로 회복될 때 인식 유닛마다 재설정된다.22G shows that even after the recognition unit starts its fading process, the user has a predetermined recovery input, e.g., on the delete button 2310 (e.g., as indicated by an immediate lift following contact 2308). It shows that the tap gesture can bring it back to its non-fading state. When the recognition units recover, their appearance returns to the normal visibility level. In some embodiments, recovery of the faded recognition units is done character by character in the reverse writing direction in the handwriting input area 804. In some embodiments, recovery of the faded recognition units is done word by word in the handwriting input area 804. As shown in Fig. 23G, the recognition units corresponding to the word "back" have recovered from a fully faded state to an unfaded state. In some embodiments, the clock to start the fading process is reset per recognition unit when the recognition unit recovers to an unfading state.

도 22h는, 삭제 버튼 상에서의 지속된 접촉이 디폴트 기입 방향에서의 마지막 인식 유닛(예컨대, 단어 "back"에서의 문자 "k"에 대한 인식 유닛)이 필기 입력 영역(804)으로부터 삭제되도록 하는 것을 도시한다. 삭제 입력이 계속해서 유지됨에 따라, 더 많은 인식 유닛들(예컨대, 단어 "back"에서의 문자들 "c", "a", "b"에 대한 인식 유닛들)이 역기입 방향에서 하나씩 삭제된다. 일부 실시예들에서, 인식 유닛의 삭제는 단어 단위이고, 필기 입력 영역(804)으로부터 삭제되는 필기 단어 "back"의 모든 문자들이 동시에 제거된다. 도 22h는 또한, 필기 단어 "back"에서의 문자 "b"에 대한 인식 유닛의 삭제 후에 접촉(2308)이 삭제 버튼(2310) 상에 유지됨에 따라, 이전에 페이딩된 인식 유닛 "m"이 역시 회복되는 것을 도시한다.22H shows that the continued contact on the delete button causes the last recognition unit in the default writing direction (e.g., the recognition unit for the letter “k” in the word “back”) to be deleted from the handwriting input area 804. Shows. As the deletion input continues, more recognition units (eg, recognition units for letters “c”, “a”, “b” in word “back”) are deleted one by one in the reverse writing direction. . In some embodiments, the deletion of the recognition unit is word-by-word, and all characters of the handwritten word "back" deleted from the handwriting input area 804 are simultaneously removed. 22H also shows that after deletion of the recognition unit for the letter “b” in the handwritten word “back”, as the contact 2308 remains on the delete button 2310, the previously faded recognition unit “m” is also Shows recovery.

도 23i는, 필기 단어 "am"에서의 회복된 인식 유닛 "m"의 삭제가 발생하기 전에 삭제 입력이 중단되면, 회복된 인식 유닛이 점차적으로 또 다시 페이딩되는 것을 도시한다. 일부 실시예들에서, 각 인식 유닛의 상태(예컨대, 하나 이상의 페이딩된 상태들 및 페이딩되지 않은 상태의 세트로부터 선택된 상태)가 필기 입력 스택에서 유지되고 업데이트된다.Fig. 23I shows that if the deletion input is stopped before the deletion of the recovered recognition unit "m" in the handwritten word "am" occurs, the recovered recognition unit gradually fades again. In some embodiments, the state of each recognition unit (eg, a state selected from a set of one or more faded states and an unfaded state) is maintained and updated in the handwriting input stack.

도 23j는, 사용자가 필기 입력 영역에서의 페이딩된 인식 유닛(예컨대, 문자 "I"에 대한 인식 유닛)에 의해 점유되는 영역 위에 하나 이상의 획들(2312)을 제공했을 때, 일부 실시예들에서, 도 23i 및 도 23j에 도시된 바와 같이, 획들(2312) 이전에 이루어진 필기 입력에 대한 최상위 인식 결과(예컨대, 결과(2314))의 텍스트가 텍스트 입력 영역(808)으로 자동으로 입력되는 것을 도시한다. 도 23j에 도시된 바와 같이, 텍스트 "I am"은 더 이상 잠정적인 것으로 나타나 있지 않고 그 대신에 텍스트 입력 영역(808)에서 커밋되었다. 일부 실시예들에서, 일단 완전 또는 부분 페이딩된 필기 입력에 대해 텍스트 입력이 이루어지면, 필기 입력이 필기 입력 스택으로부터 제거된다. 새롭게 입력된 획들(예컨대, 획들(2312))이 필기 입력 스택에서 현재 입력으로 된다.23J shows, in some embodiments, when a user has provided one or more strokes 2312 over an area occupied by a fading recognition unit in the handwriting input area (eg, recognition unit for letter “I”), 23I and 23J, the text of the highest recognition result (e.g., result 2314) for the handwriting input made before the strokes 2312 is automatically entered into the text input area 808. . As shown in Fig. 23J, the text "I am" is no longer shown as tentative and has instead been committed in the text entry area 808. As shown in FIG. In some embodiments, once text input is made to a fully or partially faded handwriting input, the handwriting input is removed from the handwriting input stack. Newly input strokes (eg, strokes 2312) become the current input in the handwriting input stack.

도 23j에 도시된 바와 같이, 텍스트 "I am"은 더 이상 잠정적인 것으로 나타나 있지 않고 그 대신에 텍스트 입력 영역(808)에서 커밋되었다. 일부 실시예들에서, 일단 완전 또는 부분 페이딩된 필기 입력에 대해 텍스트 입력이 이루어지면, 필기 입력이 필기 입력 스택으로부터 제거된다. 새롭게 입력된 획들(예컨대, 획들(2312))이 필기 입력 스택에서 현재 입력으로 된다.As shown in Fig. 23J, the text "I am" is no longer shown as tentative and has instead been committed in the text entry area 808. As shown in FIG. In some embodiments, once text input is made to a fully or partially faded handwriting input, the handwriting input is removed from the handwriting input stack. Newly input strokes (eg, strokes 2312) become the current input in the handwriting input stack.

일부 실시예들에서, 필기 입력 영역에서의 페이딩된 인식 유닛(예컨대, 문자 "I"에 대한 인식 유닛)에 의해 점유되는 영역 위에 획들(2312)이 제공될 때, 획들(2312) 이전에 이루어진 필기 입력에 대한 최상위 인식 결과(예컨대, 결과(2314))의 텍스트는 텍스트 입력 영역(808)으로 자동으로 입력되지 않는다. 그 대신에, 필기 입력 영역(804)에서의 현재 필기 입력(페이딩된 것과 페이딩되지 않은 것 둘 모두)이 클리어되고, 필기 입력 스택에 저장된다. 새로운 획들(2312)은 필기 입력 스택에서의 저장된 필기 입력에 추가된다. 사용자 디바이스는 필기 입력 스택에서 현재 누적된 필기 입력 전체에 기초하여 인식 결과들을 판정한다. 인식 결과들은 후보 디스플레이 영역에 디스플레이된다. 다시 말하면, 현재 누적된 필기 입력의 일부분만이 필기 입력 영역(804)에 나타나 있더라도, 인식 결과들은 필기 입력 스택에 저장된 전체 필기 입력(보이는 부분과 더 이상 보이지 않는 부분들 둘 모두)에 기초하여 생성된다.In some embodiments, when strokes 2312 are provided over an area occupied by a fading recognition unit (e.g., a recognition unit for letter "I") in the handwriting input area, the handwriting made before the strokes 2312 The text of the highest recognition result for input (eg, result 2314) is not automatically entered into the text input area 808. Instead, the current handwriting input (both faded and non-faded) in the handwriting input area 804 is cleared and stored in the handwriting input stack. New strokes 2312 are added to the stored handwriting input in the handwriting input stack. The user device determines recognition results based on the entire handwriting input currently accumulated in the handwriting input stack. The recognition results are displayed in the candidate display area. In other words, even if only a portion of the currently accumulated handwriting input appears in the handwriting input area 804, the recognition results are generated based on the entire handwriting input (both visible and invisible parts) stored in the handwriting input stack. do.

도 23k는, 사용자가 시간 경과에 따라 페이딩된 더 많은 획들(2316)을 필기 입력 영역(804)에서 입력한 것을 도시한다. 도 23l은, 페이딩된 획들(2312, 2316) 위에 기입된 새로운 획(2318)이, 페이딩된 획들(2312, 2316)에 대한 최상위 인식 결과(2320)의 텍스트가 텍스트 입력 영역(808)으로 입력되도록 한 것을 도시한다.FIG. 23K shows that the user inputs more strokes 2316 that have faded over time in the handwriting input area 804. 23L shows that a new stroke 2318 written on the faded strokes 2312 and 2316 is input so that the text of the top recognition result 2320 for the faded strokes 2312 and 2316 is input into the text input area 808. Shows one thing.

일부 실시예들에서, 사용자는 선택적으로 필기 입력을 다수의 라인들로 제공한다. 일부 실시예들에서, 멀티라인 입력이 가능할 때, 새로운 필기 입력을 위해 필기 입력 영역을 클리어하도록 동일한 페이딩 프로세스가 사용될 수 있다.In some embodiments, the user selectively provides handwriting input in multiple lines. In some embodiments, when multiline input is possible, the same fading process may be used to clear the handwriting input area for new handwriting input.

도 24a 및 도 24b는 필기 입력 인터페이스의 필기 입력 영역에서 페이딩 프로세스를 제공하기 위한 예시적인 프로세스(2400)의 플로차트들이다. 도 23a 내지 도 23k는 일부 실시예들에 따른 프로세스(2400)를 도시한다.24A and 24B are flowcharts of an exemplary process 2400 for providing a fading process in a handwriting input area of a handwriting input interface. 23A-23K illustrate a process 2400 in accordance with some embodiments.

일부 실시예들에서, 디바이스는 사용자로부터 제1 필기 입력을 수신한다(2402). 제1 필기 입력은 복수의 필기 획들을 포함하고, 복수의 필기 획들은 필기 입력 인터페이스의 필기 입력 영역과 연관된 개별 기입 방향을 따라 분포되는 다수의 인식 유닛들을 형성한다. 일부 실시예들에서, 사용자 디바이스는 필기 획이 사용자에 의해 제공됨에 따라 필기 입력 영역에서 복수의 필기 획들 각각을 렌더링한다(2404).In some embodiments, the device receives (2402) a first handwriting input from a user. The first handwriting input includes a plurality of handwritten strokes, and the plurality of handwritten strokes form a plurality of recognition units distributed along individual writing directions associated with the handwriting input area of the handwriting input interface. In some embodiments, the user device renders (2404) each of the plurality of handwritten strokes in the handwriting input area as the handwritten stroke is provided by the user.

일부 실시예들에서, 사용자 디바이스는 인식 유닛이 완전히 렌더링된 후에 다수의 인식 유닛들 각각에 대한 개별 페이딩 프로세스를 시작한다(2406). 일부 실시예들에서, 개별 페이딩 프로세스 동안, 제1 필기 입력에서의 인식 유닛의 렌더링이 페이딩되어 없어진다. 이것은 일부 실시예들에 따라 도 23a 내지 도 23f에서 예시되어 있다.In some embodiments, the user device starts a separate fading process for each of the plurality of recognition units after the recognition unit is fully rendered (2406). In some embodiments, during the individual fading process, the rendering of the recognition unit in the first handwriting input fades away. This is illustrated in Figures 23A-23F in accordance with some embodiments.

일부 실시예들에서, 예컨대, 도 23i 및 도 23j 그리고 도 23k 및 도 23l에 도시된 바와 같이, 사용자 디바이스는 필기 입력 영역 중에서 다수의 인식 유닛의 페이딩된 인식 유닛에 의해 점유되는 구역 위에서 사용자로부터 제2 필기 입력을 수신한다(2408). 일부 실시예들에서, 제2 필기 입력을 수신하는 것에 응답하여(2410): 사용자 디바이스는 필기 입력 영역에서 제2 필기 입력을 렌더링하고(2412), 필기 입력 영역으로부터 모든 페이딩된 인식 유닛들을 클리어한다(2414). 일부 실시예들에서, 인식 유닛이 그의 페이딩 프로세스를 시작하였는지의 여부에 상관없이, 제2 필기 입력 이전에 필기 입력 영역에서 입력된 모든 인식 유닛들이 필기 입력 영역으로부터 클리어된다. 이것은, 예를 들어 도 23i 및 도 23j 그리고 도 23k 및 도 23l에서 예시되어 있다.In some embodiments, for example, as shown in Figs. 23I and 23J and Figs. 23K and 23L, the user device is able to remove from the user over an area occupied by the faded recognition unit of the plurality of recognition units among the handwriting input area. 2 A handwriting input is received (2408). In some embodiments, in response to receiving the second handwriting input (2410): the user device renders (2412) the second handwriting input in the handwriting input area, and clears all faded recognition units from the handwriting input area. (2414). In some embodiments, all recognition units input in the handwriting input area prior to the second handwriting input are cleared from the handwriting input area, regardless of whether the recognition unit has started its fading process. This is illustrated, for example, in FIGS. 23I and 23J and in FIGS. 23K and 23L.

일부 실시예들에서, 사용자 디바이스는 제1 필기 입력에 대한 하나 이상의 인식 결과들을 생성한다(2416). 일부 실시예들에서, 사용자 디바이스는 필기 입력 인터페이스의 후보 디스플레이 영역에서 하나 이상의 인식 결과들을 디스플레이한다(2418). 일부 실시예들에서, 제2 필기 입력을 수신하는 것에 응답하여, 사용자 디바이스는 사용자 선택 없이, 자동으로, 후보 디스플레이 영역에서 디스플레이되는 최상위 인식 결과를 필기 입력 인터페이스의 텍스트 입력 영역에 입력한다(2420). 이것은, 예를 들어 도 23i 및 도 23j 그리고 도 23k 및 도 23l에서 예시되어 있다.In some embodiments, the user device generates 2416 one or more recognition results for the first handwriting input. In some embodiments, the user device displays 2418 one or more recognition results in a candidate display area of the handwriting input interface. In some embodiments, in response to receiving the second handwriting input, the user device automatically, without user selection, inputs the highest recognition result displayed in the candidate display area into the text input area of the handwriting input interface (2420). . This is illustrated, for example, in FIGS. 23I and 23J and in FIGS. 23K and 23L.

일부 실시예들에서, 사용자 디바이스는 제1 필기 입력 및 제2 필기 입력을 포함하는 입력 스택을 저장한다(2422). 일부 실시예들에서, 사용자 디바이스는 연속된(a concatenation of) 제1 필기 입력 및 제2 필기 입력으로부터 인식되는 문자들의 개별 공간 시퀀스를 각각 포함하는 하나 이상의 다문자 인식 결과들을 생성한다(2424). 일부 실시예들에서, 사용자 디바이스는 필기 입력 영역에서 제2 필기 입력의 렌더링이 제1 필기 입력의 렌더링을 대신하는 동안, 필기 입력 인터페이스의 후보 디스플레이 영역에서 하나 이상의 다문자 인식 결과들을 디스플레이한다(2426).In some embodiments, the user device stores an input stack including the first handwriting input and the second handwriting input (2422). In some embodiments, the user device generates (2424) one or more multi-character recognition results each comprising a separate spatial sequence of characters recognized from a concatenation of a first handwriting input and a second handwriting input. In some embodiments, the user device displays one or more multi-character recognition results in a candidate display area of the handwriting input interface while the rendering of the second handwriting input in the handwriting input area replaces the rendering of the first handwriting input (2426). ).

일부 실시예들에서, 각 인식 유닛에 대한 개별 페이딩 프로세스는 인식 유닛이 사용자에 의해 완성된 후 사전결정된 기간이 경과하였을 때 시작된다.In some embodiments, a separate fading process for each recognition unit begins when a predetermined period of time has elapsed after the recognition unit has been completed by the user.

일부 실시예들에서, 각 인식 유닛에 대한 페이딩 프로세스는 사용자가 인식 유닛 후의 다음 인식 유닛에 대한 획들을 입력하기 시작하였을 때 시작된다.In some embodiments, the fading process for each recognition unit begins when the user begins to input strokes for the next recognition unit after the recognition unit.

일부 실시예들에서, 각 인식 유닛에 대한 개별 페이딩 프로세스의 최후 상태는 인식 유닛에 대한 사전결정된 최소 시인성(predetermined minimum visibility)을 갖는 상태이다.In some embodiments, the final state of the individual fading process for each recognition unit is a state with a predetermined minimum visibility for the recognition unit.

일부 실시예들에서, 각 인식 유닛에 대한 개별 페이딩 프로세스의 최후 상태는 인식 유닛에 대한 제로 시인성(zero visibility)을 갖는 상태이다.In some embodiments, the final state of the individual fading process for each recognition unit is a state with zero visibility for the recognition unit.

일부 실시예들에서, 제1 필기 입력에서의 마지막 인식 유닛이 페이딩된 후에, 사용자 디바이스는 사용자로부터 사전결정된 회복 입력을 수신한다(2428). 사전결정된 회복 입력을 수신하는 것에 응답하여, 사용자 디바이스는 마지막 인식 유닛을 페이딩된 상태로부터 페이딩되지 않은 상태로 복귀시킨다(2430). 이것은, 예를 들어 도 23f 내지 도 23h에서 예시되어 있다. 일부 실시예들에서, 사전결정된 회복 입력은 필기 입력 인터페이스에서 제공되는 삭제 버튼 상에서 검출되는 초기 접촉이다. 일부 실시예들에서, 삭제 버튼 상에서 검출되는 지속된 접촉은 필기 입력 영역으로부터 마지막 인식 유닛을 삭제하고, 마지막에서 두 번째의 인식 유닛을 페이딩된 상태로부터 페이딩되지 않은 상태로 회복시킨다. 이것은, 예를 들어 도 23g 및 도 23h에서 예시되어 있다.In some embodiments, after the last recognition unit in the first handwriting input has faded, the user device receives (2428) a predetermined recovery input from the user. In response to receiving the predetermined recovery input, the user device returns (2430) the last recognition unit from a faded state to an unfaded state. This is illustrated in Figs. 23F to 23H, for example. In some embodiments, the predetermined recovery input is an initial contact detected on a delete button provided in the handwriting input interface. In some embodiments, the sustained contact detected on the delete button deletes the last recognition unit from the handwriting input area and restores the last-to-second recognition unit from a faded state to an unfaded state. This is illustrated in Figs. 23G and 23H, for example.

본 명세서에 설명되는 바와 같이, 멀티스크립트 필기 인식 모델은 필기 문자들의 획 순서 독립적이며 획 방향 독립적인 인식을 수행한다. 일부 실시예들에서, 인식 모델은 필기 인식 모델의 어휘에서의 상이한 문자들에 대응하는 기입 샘플들의 플랫 이미지들에 포함되는 공간-유도 특징부들에 대해서만 훈련된다. 기입 샘플의 이미지들이 이미지들에 포함되는 개별 획들에 관련된 임의의 시간 정보를 포함하지 않기 때문에, 결과적인 인식 모델은 획 순서 독립적이며 획 방향 독립적이다.As described herein, the multi-script handwriting recognition model performs stroke order independent and stroke direction independent recognition of handwritten characters. In some embodiments, the recognition model is trained only on space-derived features included in flat images of writing samples corresponding to different characters in the vocabulary of the handwriting recognition model. Since the images of the writing sample do not contain any temporal information related to individual strokes included in the images, the resulting recognition model is stroke order independent and stroke direction independent.

상기 예시된 바와 같이, 획 순서 및 획 방향 독립적인 필기 인식은 문자들의 시간적 생성에 관련된 정보(예컨대, 문자들에서의 획들의 시간적 시퀀스들)에 의존하는 종래의 인식 시스템들에 비해 많은 이점들을 제공한다. 그러나, 실시간 필기 인식 시나리오들에서, 개별 획들에 관련된 시간 정보가 이용 가능하고, 이 정보를 이용하여 필기 인식 시스템의 인식 정확도를 개선시키는 것은 때때로 유익하다. 하기 내용은 시간-유도 획-분포 정보를 필기 인식 모델의 공간 특징부 추출로 통합하는 기법을 설명하는데, 여기서 시간-유도 획-분포 정보의 사용은 필기 인식 시스템의 획 순서 및/또는 획 방향 독립성을 손상시키지 않는다. 상이한 문자들에 관련된 획-분포 정보에 기초하여, 독특하게 상이한 세트의 획들로 생성되는 유사해 보이는 문자들 간의 명확화가 가능해진다.As illustrated above, stroke order and stroke direction independent handwriting recognition provides many advantages over conventional recognition systems that rely on information related to the temporal generation of characters (e.g., temporal sequences of strokes in characters). do. However, in real-time handwriting recognition scenarios, temporal information related to individual strokes is available, and it is sometimes beneficial to use this information to improve the recognition accuracy of the handwriting recognition system. The following describes a technique for integrating time-guided stroke-distribution information into spatial feature extraction of a handwriting recognition model, where the use of time-guided stroke-distribution information is the stroke order and/or stroke direction independence of the handwriting recognition system. Does not damage. Based on the stroke-distribution information related to different characters, clarification between characters that appear to be similar and created with distinctly different sets of strokes becomes possible.

일부 실시예들에서, 필기 입력이 필기 인식 모델(예컨대, CNN)에 대한 입력 이미지(예컨대, 입력 비트맵 이미지)로 변환될 때, 개별 획들과 연관된 시간 정보가 분실된다. 예를 들어, 한자 "

Figure 112020057647690-pat00055
"의 경우, 문자를 기입하기 위해 8개의 획들(예컨대, 도 27의 라벨링된 #1 내지 #8)이 사용될 수 있다. 문자에 대한 획들의 시퀀스 및 방향은 문자와 연관된 몇몇 고유한 특징부들을 제공한다. 인식 시스템의 획 순서 및 획 방향 독립성을 손상시키지 않고서 획 순서 및 획 방향 정보를 캡처하는 순진한 방식은, 훈련 샘플들에서 획 순서 및 획 방향의 모든 가능한 치환들을 명시적으로 열거하는 것이다. 그러나 오직 적당한 복잡성의 문자에 대해서도, 이것은 10억 초과의 가능성에 이를 것이고, 이는 불가능하지는 않지만 실제로 구현하는 것이 어렵다. 본 명세서에 설명되는 바와 같이, 각 기입 샘플에 대해 획-분포 프로파일이 생성되는데, 이는 획 생성의 연대순 양태들(즉, 시간 정보) 외에서 추출한다. 기입 샘플들의 획-분포 프로파일들은, 후속하여 공간-유도 특징부들과 조합되는 시간-유도 특징부들의 세트를 (예컨대, 입력 비트맵 이미지들로부터) 추출하도록 훈련되어, 필기 인식 시스템의 획 순서 및 획 방향 독립성에 영향을 주지 않고 인식 정확도를 개선시킨다.In some embodiments, when the handwriting input is converted to an input image (eg, input bitmap image) for a handwriting recognition model (eg, CNN), temporal information associated with individual strokes is lost. For example, Chinese characters "
Figure 112020057647690-pat00055
In the case of ", eight strokes (eg, labeled #1 through #8 in Fig. 27) can be used to write the character. The sequence and direction of the strokes for the character provides some unique features associated with the character. A naive way of capturing stroke order and stroke direction information without compromising the stroke order and stroke direction independence of the recognition system is to explicitly list all possible permutations of stroke order and stroke direction in the training samples. Even for characters of only moderate complexity this will lead to a possibility of more than 1 billion, which is not impossible but difficult to implement in practice. As described herein, a stroke-distribution profile is created for each writing sample, which The stroke-distribution profiles of the write samples are extracted outside of the chronological aspects of the stroke generation (i.e., temporal information), the set of temporal-derived features that are subsequently combined with the spatial-derived features (e.g., the input bitmap image Are trained to extract from), improving recognition accuracy without affecting the stroke order and stroke direction independence of the handwriting recognition system.

본 명세서에 설명되는 바와 같이, 문자와 연관된 시간 정보는 각 필기 획을 특징화하기 위해 다양한 픽셀 분포들을 산출함으로써 추출된다. 문자의 매 필기 획은 주어진 방향 상으로 투영될 때 결정론적 패턴(또는 프로파일)을 일으킨다. 이러한 패턴 자체는 획을 분명하게 인식하기에 불충분할 수 있지만, 다른 유사한 패턴들과 조합될 때, 그것은 이러한 특정한 획에 고유한 소정 특성들을 캡처하기 위해 적절할 수 있다. 이러한 종류의 획 표현을 공간 특징부 추출(예컨대, CNN에서의 입력 이미지들에 기초한 특징부 추출)과 함께 통합하는 것은 결국, 필기 인식 모델의 레퍼토리에서의 유사해 보이는 문자들 사이에서 명확화하기 위해 유용할 수 있는 직교 정보(orthogonal information)를 제공한다.As described herein, temporal information associated with a character is extracted by calculating various pixel distributions to characterize each handwritten stroke. Every handwritten stroke of a character creates a deterministic pattern (or profile) when projected onto a given direction. This pattern itself may be insufficient to clearly recognize the stroke, but when combined with other similar patterns, it may be adequate to capture certain characteristics unique to this particular stroke. Integrating this kind of stroke representation with spatial feature extraction (e.g., feature extraction based on input images in a CNN) is, after all, useful for clarifying between seemingly similar characters in the repertoire of the handwriting recognition model. It provides orthogonal information that can be done.

도 25a 및 도 25b는 필기 인식 모델의 훈련 동안 필기 샘플들의 시간-유도 특징부들 및 공간-유도 특징부들을 통합하기 위한 예시적인 프로세스(2500)의 플로차트들이며, 여기서 결과적인 인식 모델은 획 순서 및 획 방향 독립적으로 유지된다. 일부 실시예들에서, 예시적인 프로세스(2500)는, 훈련된 인식 모델을 사용자 디바이스(예컨대, 휴대용 디바이스(100))로 제공하는 서버 디바이스 상에서 수행된다. 일부 실시예들에서, 서버 디바이스는 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행될 때 프로세스(2500)를 수행하기 위한 명령어들을 포함하는 메모리를 포함한다.25A and 25B are flowcharts of an exemplary process 2500 for integrating temporal- and spatial-derived features of handwriting samples during training of the handwriting recognition model, where the resulting recognition model is stroke order and stroke. Keeps direction independent. In some embodiments, the example process 2500 is performed on a server device that provides the trained recognition model to a user device (eg, portable device 100 ). In some embodiments, the server device includes one or more processors and a memory containing instructions for performing process 2500 when executed by the one or more processors.

예시적인 프로세스(2500)에서, 디바이스는, 필기 인식 모델의 공간-유도 특징부들의 세트 및 시간-유도 특징부들의 세트를 별도로 훈련시키는데(2502), 여기서 공간-유도 특징부들의 세트는 훈련 이미지들의 코퍼스에 대해 훈련되고, 이미지들 각각은 출력 문자 세트의 개별 문자에 대한 필기 샘플의 이미지이며, 시간-유도 특징부들의 세트는 획-분포 프로파일들의 코퍼스에 대해 훈련되고, 각 획-분포 프로파일은 출력 문자 세트의 개별 문자에 대한 필기 샘플에서의 복수의 획들의 공간 분포를 수치적으로 특징짓는다.In an exemplary process 2500, the device separately trains 2502 a set of spatially-derived features and a set of temporal-derived features of the handwriting recognition model, where the set of spatially-derived features Trained on the corpus, each of the images is an image of a handwritten sample for an individual character in the output character set, a set of time-directed features is trained on the corpus of stroke-distribution profiles, and each stroke-distribution profile is output. Numerical characterization of the spatial distribution of a plurality of strokes in a handwritten sample for individual characters in a character set.

일부 실시예들에서, 공간-유도 특징부들의 세트를 별도로 훈련시키는 것은 입력 층, 출력 층, 그리고 첫 번째 콘볼루션 층, 마지막 콘볼루션 층, 첫 번째 콘볼루션 층과 마지막 콘볼루션 층 사이의 0개 이상의 중간 콘볼루션 층들, 및 마지막 콘볼루션 층과 출력 층 사이의 은닉 층을 포함하는 복수의 콘볼루션 층들을 갖는 콘볼루션 뉴럴 네트워크를 훈련시키는 것을 추가로 포함한다(2504). 예시적인 콘볼루션 네트워크(2602)가 도 26에 도시된다. 예시적인 콘볼루션 네트워크(2602)는 도 6에 도시된 콘볼루션 네트워크(602)와 실질적으로 동일한 방식으로 구현될 수 있다. 콘볼루션 네트워크(2602)는 입력 층(2606), 출력 층(2608), 첫 번째 콘볼루션 층(2610a), 0개 이상의 중간 콘볼루션 층들 및 마지막 콘볼루션 층(2610n)을 포함하는 복수의 콘볼루션 층들, 및 마지막 콘볼루션 층과 출력 층(2608) 사이의 은닉 층(2614)을 포함한다. 콘볼루션 네트워크(2602)는 또한 도 6에 도시된 배열에 따른 커널 층들(2616) 및 서브-샘플링 층들(2612)을 포함한다. 콘볼루션 네트워크의 훈련은 훈련 코퍼스(2604)에서의 기입 샘플들의 이미지들(2616)에 기초한다. 훈련 코퍼스에서의 훈련 샘플들에 대한 인식 오류들을 최소화함으로써 공간-유도 특징부들이 획득되고 상이한 특징부들과 연관된 개별 가중치들이 결정된다. 한번 훈련된 동일한 특징부들 및 가중치들이, 훈련 코퍼스에 존재하지 않는 새로운 필기 샘플들의 인식을 위해 사용된다.In some embodiments, separately training the set of spatially-derived features is an input layer, an output layer, and zeros between the first convolution layer, the last convolution layer, the first and last convolution layers. Further comprising training a convolutional neural network having a plurality of convolutional layers including the above intermediate convolutional layers, and a hidden layer between the last convolutional layer and the output layer (2504). An exemplary convolutional network 2602 is shown in FIG. 26. The exemplary convolutional network 2602 may be implemented in substantially the same manner as the convolutional network 602 shown in FIG. 6. The convolutional network 2602 comprises a plurality of convolutions including an input layer 2606, an output layer 2608, a first convolutional layer 2610a, zero or more intermediate convolutional layers, and a last convolutional layer 2610n. Layers, and a hidden layer 2614 between the last convolutional layer and the output layer 2608. The convolutional network 2602 also includes kernel layers 2616 and sub-sampling layers 2612 according to the arrangement shown in FIG. 6. Training of the convolutional network is based on images 2616 of writing samples in the training corpus 2604. Space-derived features are obtained by minimizing recognition errors for training samples in the training corpus and individual weights associated with different features are determined. The same features and weights once trained are used for recognition of new handwriting samples that do not exist in the training corpus.

일부 실시예들에서, 시간-유도 특징부들의 세트를 별도로 훈련시키는 것은 복수의 획-분포 프로파일들을 통계적 모델로 제공하여, 출력 문자 세트의 개별 문자들을 구분하기 위해 복수의 시간-유도 파라미터들 및 복수의 시간-유도 파라미터들에 대한 개별 가중치들을 결정하는 것을 추가로 포함한다(2506). 일부 실시예들에서, 도 26에 도시된 바와 같이, 훈련 코퍼스(2622)에서의 각 기입 샘플로부터 획-분포 프로파일(2620)이 유도된다. 훈련 코퍼스(2622)는 선택적으로 코퍼스(2604)와 동일한 기입 샘플들을 포함하지만, 또한 각 기입 샘플에서의 획 생성과 연관된 시간 정보도 포함한다. 획-분포 프로파일들(2622)은 통계적 모델링 프로세스(2624)로 제공되는데, 통계적 모델링 프로세스 동안 통계적 모델링 방법(예컨대, CNN, K-최근접 이웃(K-Nearest Neighbor) 등)에 기초하여 인식 또는 구분 오류를 최소화함으로써 시간-유도 특징부들이 추출되고 상이한 특징부들에 대한 개별 가중치들이 결정된다. 도 26에 도시된 바와 같이, 시간 유도 특징부들의 세트 및 개별 가중치들이 특징 벡터들(예컨대, 특징 벡터들(2626) 또는 특징 벡터들(2628))의 세트로 변환되고, 콘볼루션 뉴럴 네트워크(2602)에서의 개별 층으로 주입된다. 따라서, 결과적인 네트워크는, 서로 직교하며 문자들의 인식에 함께 기여하는 공간-유도 파라미터들 및 시간-유도 파라미터들을 포함한다.In some embodiments, separately training a set of time-directed features provides a plurality of stroke-distribution profiles as a statistical model, such that a plurality of time-induced parameters and a plurality of time-directed parameters are used to distinguish individual characters in the output character set. Further comprising determining the individual weights for the time-derived parameters of (2506). In some embodiments, as shown in FIG. 26, a stroke-distribution profile 2620 is derived from each writing sample in the training corpus 2262. Training corpus 2262 optionally includes the same writing samples as corpus 2604, but also includes temporal information associated with stroke generation in each writing sample. Stroke-distribution profiles 2622 are provided to the statistical modeling process 2624, which is recognized or classified based on a statistical modeling method (e.g., CNN, K-Nearest Neighbor, etc.) during the statistical modeling process. By minimizing the error, time-induced features are extracted and individual weights for different features are determined. 26, a set of temporal derived features and individual weights are transformed into a set of feature vectors (e.g., feature vectors 2626 or feature vectors 2628), and a convolutional neural network 2602 ) Are injected into individual layers. Thus, the resulting network includes spatial- and time-derived parameters that are orthogonal to each other and contribute together to the recognition of characters.

일부 실시예들에서, 디바이스는 필기 인식 모델에서의 공간-유도 특징부들의 세트와 시간-유도 특징부들의 세트를 조합한다(2508). 일부 실시예들에서, 필기 인식 모델에서의 공간-유도 특징부들의 세트와 시간-유도 특징부들의 세트를 조합하는 것은, 복수의 공간-유도 파라미터들 및 복수의 시간-유도 파라미터들을 콘볼루션 뉴럴 네트워크의 콘볼루션 층들 중 하나의 콘볼루션 층 또는 은닉 층에 주입하는 것을 포함한다(2510). 일부 실시예들에서, 복수의 시간-유도 파라미터들 및 복수의 시간-유도 파라미터들에 대한 개별 가중치들은 필기 인식을 위해 콘볼루션 뉴럴 네트워크의 마지막 콘볼루션 층(예컨대, 도 26의 마지막 콘볼루션 층(2610n))에 주입된다. 일부 실시예들에서, 복수의 시간-유도 파라미터들 및 복수의 시간-유도 파라미터들에 대한 개별 가중치들은 필기 인식을 위해 콘볼루션 뉴럴 네트워크의 은닉 층(예컨대, 도 26의 은닉 층(2614))에 주입된다.In some embodiments, the device combines (2508) the set of space-derived features and the set of temporal-derived features in the handwriting recognition model. In some embodiments, combining the set of spatially-derived features and the set of temporal-derived features in the handwriting recognition model includes a plurality of spatial-derived parameters and a plurality of temporal-derived parameters in a convolutional neural network. And injecting into one of the convolutional layers of the convolutional layer or the hidden layer (2510). In some embodiments, the individual weights for the plurality of time-derived parameters and the plurality of time-derived parameters are the last convolutional layer of the convolutional neural network (e.g., the last convolutional layer of FIG. 26) for handwriting recognition. 2610n)). In some embodiments, the plurality of time-derived parameters and the individual weights for the plurality of time-derived parameters are added to the hidden layer of the convolutional neural network (e.g., hidden layer 2614 of FIG. 26) for handwriting recognition. Is injected.

일부 실시예들에서, 디바이스는 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공한다(2512).In some embodiments, the device provides real-time handwriting recognition for the user's handwriting input using the handwriting recognition model (2512).

일부 실시예들에서, 디바이스는 복수의 기입 샘플들로부터 획-분포 프로파일들의 코퍼스를 생성한다(2514). 일부 실시예들에서, 복수의 필기 샘플들 각각은 출력 문자 세트에서의 문자에 대응하고, 기입되었을 때 필기 샘플의 각 구성 획에 대한 개별 공간 정보를 별도로 보존한다(2516). 일부 실시예들에서, 획-분포 프로파일들의 코퍼스를 생성하기 위해, 디바이스는 하기 단계들을 수행한다(2518):In some embodiments, the device generates (2514) a corpus of stroke-distribution profiles from the plurality of write samples. In some embodiments, each of the plurality of handwriting samples corresponds to a character in the output character set, and separately preserves individual spatial information for each constituent stroke of the handwriting sample when written (2516). In some embodiments, to create a corpus of stroke-distribution profiles, the device performs the following steps (2518):

복수의 필기 샘플들 각각에 대해(2520): 디바이스는 필기 샘플에서의 구성 획들을 식별하고(2522); 필기 샘플의 식별된 획들 각각에 대해, 디바이스는 복수의 사전결정된 방향들 각각을 따라 개별 점유율을 계산하는데(2524), 점유율은 각 획 방향의 투영 스팬과 기입 샘플의 최대 투영 스팬 간의 비이고; 필기 샘플의 식별된 획들 각각에 대해, 디바이스는 또한 각 획 내의 픽셀들의 개별 개수와 기입 샘플 내의 픽셀들의 전체 개수 간의 비에 기초하여 각 획에 대한 개별 포화비를 계산한다(2526). 그 후에, 사용자 디바이스는, 기입 샘플의 획-분포 프로파일로서 필기 샘플에 대한 특징 벡터를 생성하는데(2528), 특징 벡터는 필기 샘플에서의 적어도 N개의 획들의 개별 점유율들 및 개별 포화비를 포함하고, N은 사전결정된 자연수이다. 일부 실시예들에서, N은 복수의 기입 샘플들 내의 임의의 단일 기입 샘플에서 관찰되는 최대 획수 미만이다.For each of the plurality of handwriting samples (2520): the device identifies (2522) construction strokes in the handwriting sample; For each of the identified strokes of the handwriting sample, the device calculates a separate occupancy along each of the plurality of predetermined directions (2524), the occupancy being the ratio between the projection span of each stroke direction and the maximum projection span of the writing sample; For each of the identified strokes of the handwriting sample, the device also calculates an individual saturation ratio for each stroke based on the ratio between the individual number of pixels in each stroke and the total number of pixels in the writing sample (2526). Thereafter, the user device generates a feature vector for the handwriting sample as a stroke-distribution profile of the writing sample (2528), the feature vector comprising individual occupancy ratios and individual saturation ratios of at least N strokes in the handwriting sample. , N is a predetermined natural number. In some embodiments, N is less than the maximum number of strokes observed in any single write sample within the plurality of write samples.

일부 실시예들에서, 복수의 필기 샘플들 각각에 대해: 디바이스는 사전결정된 방향들 각각에서 식별된 획들의 개별 점유율들을 내림차순으로 정렬하고; 기입 샘플의 N개의 최상위 점유율들 및 포화비들만을 기입 샘플의 특징 벡터에 포함시킨다.In some embodiments, for each of the plurality of handwriting samples: the device sorts the individual occupancy of the identified strokes in each of the predetermined directions in descending order; Only the N highest occupancy and saturation ratios of the write sample are included in the feature vector of the write sample.

일부 실시예들에서, 복수의 사전결정된 방향들은 기입 샘플의 수평 방향, 수직 방향, 양의 45도 방향, 및 음의 45도 방향을 포함한다.In some embodiments, the plurality of predetermined directions includes a horizontal direction, a vertical direction, a positive 45 degree direction, and a negative 45 degree direction of the writing sample.

일부 실시예들에서, 필기 인식 모델을 사용하여 사용자의 필기 입력에 대한 실시간 필기 인식을 제공하기 위해, 디바이스는 사용자의 필기 입력을 수신하고; 사용자의 필기 입력을 수신하는 것에 응답하여, 필기 입력의 수신과 사실상 동시에 사용자에게 필기 인식 출력을 제공한다.In some embodiments, to provide real-time handwriting recognition for the user's handwriting input using the handwriting recognition model, the device receives the user's handwriting input; In response to receiving the user's handwriting input, it provides a handwriting recognition output to the user substantially simultaneously with receiving the handwriting input.

도 27에 도시된 문자 "

Figure 112020057647690-pat00056
"를 사용하여, 예시적인 목적을 위해 본 명세서에 예시적인 실시예가 기술된다. 일부 실시예들에서, 필기 문자의 각 입력 이미지가 선택적으로 정사각형 내로 정규화된다. 각 개별 필기 획(예컨대, 획(#1, #2,..., #8))의 스팬이 정사각형의 수평, 수직, +45도 대각선, 및 -45도 대각선 상으로 투영될 때 측정된다. 각 획 Si의 스팬들은 4개의 투영 방향들에 대해, 각각 xspan(i), yspan(i), cspan(i), 및 dspan(i)로서 기록된다. 추가적으로, 전체 이미지에 걸쳐서 관찰되는 최대 스팬들이 또한 기록된다. 문자의 최대 스팬들은 4개의 투영 방향들에 대해, 각각 xspan, yspan, cspan, 및 dspan으로서 기록된다. 예시적인 목적을 위해, 여기서는 4개의 투영 방향들이 선택적으로 고려되지만, 원칙적으로 투영들의 어떤 임의의 세트가 다양한 실시예들에서 사용될 수 있다. 4개의 투명 방향들에서 문자 "
Figure 112020057647690-pat00057
"의 획들 중 하나의 획(예컨대, 획(#4))의 최대 스팬들(예컨대, xspan, yspan, cspan, 및 dspan으로서 나타냄), 및 스팬들(예컨대, xspan(4), yspan(4), cspan(4), 및 dspan(4)로서 나타냄)이 도 27에 도시되어 있다.The letter "shown in Fig. 27
Figure 112020057647690-pat00056
An exemplary embodiment is described herein for illustrative purposes using ". In some embodiments, each input image of a handwritten character is optionally normalized into a square. Each individual handwritten stroke (eg, stroke (#)) 1, # 2, ..., # 8)), horizontal, vertical, diagonal +45 degrees, -45 degrees and is measured when projected onto the diagonal. span of each segment Si are four projection direction of the square of the span For s, they are recorded as xspan ( i ), yspan ( i ), cspan ( i ), and dspan ( i ), respectively In addition, the maximum spans observed over the entire image are also recorded. For the four projection directions, each is recorded as xspan , yspan , cspan , and dspan For illustrative purposes, four projection directions are optionally considered, but in principle any arbitrary set of projections can be used in various embodiments. Can be used in the character "in 4 transparent directions
Figure 112020057647690-pat00057
"Maximum spans (e.g., denoted as xspan, yspan , cspan , and dspan ) of one of the strokes (e.g., stroke #4), and spans (e.g., xspan ( 4 ), yspan ( 4 )) , cspan ( 4 ), and dspan (4 )) are shown in FIG. 27.

일부 실시예들에서, 일단 상기 스팬들이 모든 획1 내지 획5에 대해 측정되었다면 - 여기서 5는 입력 이미지와 연관된 개별 필기 획들의 개수임 -, 각 투영 방향을 따른 개별 점유율이 산출된다. 예를 들어, 획 S i 에 대해 x-방향을 따른 개별 점유율 R x (i)는 R x (i) = xspan (i)/xspan로서 계산된다. 유사하게, 다른 투영 방향들을 따른 개별 점유율들이 하기와 같이 계산될 수 있다: R y (i) = yspan (i)/yspan, R c (i) = cspan (i)/cspan, R d (i) = dspan (i)/dspan.In some embodiments, once the spans have been measured for all strokes 1 through 5-where 5 is the number of individual handwritten strokes associated with the input image-the individual occupancy along each projection direction is calculated. For example, the individual occupancy rate R x ( i ) along the x -direction for the stroke S i is calculated as R x ( i ) = xspan ( i ) /xspan. Similarly, individual occupancy along different projection directions can be calculated as follows: R y ( i ) = yspan ( i )/ yspan , R c ( i ) = cspan (i)/ cspan , R d ( i ) = dspan ( i ) /dspan .

일부 실시예들에서, 각 방향에서의 모든 획들의 점유율들은 별도로 내림차순으로 정렬되고, 그리하여 입력 이미지에서의 모든 획들의 개별 순위가 각 투영 방향에 대해 그 방향에서의 그들의 점유율들의 관점에서 획득된다. 각 투영 방향에서의 획들의 순위는 관련 투영 방향을 따른 각 획의 상대적 중요도를 반영한다. 이러한 상대적 중요도는 획이 기입 샘플에서 생성된 순서 및 방향에 상관없다. 따라서, 점유율들에 기초한 이러한 순위는 획 순서 및 획 방향 독립적인 시간-유도 정보이다.In some embodiments, the occupancy of all strokes in each direction are sorted separately in descending order, so that an individual ranking of all strokes in the input image is obtained for each projection direction in terms of their occupancy in that direction. The ranking of the strokes in each projection direction reflects the relative importance of each stroke along the associated projection direction. This relative importance is irrespective of the order and direction in which strokes were created in the write sample. Thus, this ranking based on occupancy rates is time-induced information independent of stroke order and stroke direction.

일부 실시예들에서, 각 획에, 전체 문자에 대한 그 획의 중요도를 나타내는 상대적 가중치가 주어진다. 일부 실시예들에서, 가중치는, 각 획에서의 픽셀들의 개수 대 문자에서의 픽셀들의 전체 개수의 비에 의해 측정된다. 이러한 비는 각 획과 연관된 포화비라고 지칭된다.In some embodiments, each stroke is given a relative weight indicating the importance of the stroke to the entire character. In some embodiments, the weight is measured by the ratio of the number of pixels in each stroke to the total number of pixels in the character. This ratio is referred to as the saturation ratio associated with each stroke.

일부 실시예들에서, 각 획의 포화비 및 점유율들에 기초하여, 각 획에 대해 특징 벡터가 생성될 수 있다. 각 문자에 대해, 5S개의 특징부들을 포함하는 특징 벡터들의 세트가 생성된다. 이러한 특징부들의 세트는 문자의 획-분포 프로파일이라고 지칭된다.In some embodiments, based on the saturation ratio and occupancy rates of each stroke, a feature vector may be generated for each stroke. For each character, a set of feature vectors comprising 5S features is created. This set of features is referred to as the stroke-distribution profile of the character.

일부 실시예들에서, 각 문자의 획-분포 프로파일을 구성할 때 사전결정된 개수의 최상위 획들만이 사용된다. 일부 실시예들에서, 획들의 사전결정된 개수는 10이다. 최상위 10개의 획들에 기초하여, 50개의 획-유도 특징부들이 각 문자에 대해 생성될 수 있다. 일부 실시예들에서, 콘볼루션 뉴럴 네트워크의 마지막 콘볼루션 층에, 또는 후속 은닉 층에 이러한 특징부들이 주입된다.In some embodiments, only a predetermined number of topmost strokes are used when constructing the stroke-distribution profile of each character. In some embodiments, the predetermined number of strokes is 10. Based on the top 10 strokes, 50 stroke-derived features can be created for each character. In some embodiments, these features are implanted in the last convolutional layer of the convolutional neural network, or in a subsequent hidden layer.

일부 실시예들에서, 실시간 인식 동안, 공간-유도 특징부들 및 시간-유도 특징부들 둘 모두로 훈련된 필기 인식 모드로 인식 유닛의 입력 이미지가 제공된다. 입력 이미지는 도 26에 도시된 필기 인식 모델의 각 층을 통하여 프로세싱된다. 입력 이미지의 프로세싱이 획-분포 프로파일 입력이 필요한 층(예컨대, 마지막 콘볼루션 층 또는 은닉 층)에 도달할 때, 인식 유닛의 획-분포 프로파일이 그 층으로 주입된다. 입력 이미지 및 획-분포 프로파일의 프로세싱은 출력 구분(예컨대, 하나 이상의 후보 문자들)이 출력 층(2608)에서 제공될 때까지 계속된다. 일부 실시예들에서, 모든 인식 유닛들의 획-분포 프로파일들이 산출되고, 인식 유닛들의 입력 이미지들과 함께, 입력으로서 필기 인식 모델로 제공된다. 일부 실시예들에서, 인식 유닛의 입력 이미지는 처음에 (시간-훈련된 특징부들의 혜택 없이) 필기 인식 모델을 경험한다. 2개 이상의 유사해 보이는 후보 문자들이 가까운 인식 신뢰도 값들로 식별될 때, 인식 유닛의 획-분포 프로파일들이 시간-유도 특징부들로 훈련된 층(예컨대, 마지막 콘볼루션 층 또는 은닉 층)에서 필기 인식 모델로 주입된다. 인식 유닛의 입력 이미지 및 획-분포 프로파일이 필기 인식 모델의 마지막 층들을 통과할 때, 2개 이상의 유사해 보이는 후보 문자들이 그들의 획-분포 프로파일들에서의 차이들로 인해 더 양호하게 구분될 수 있다. 따라서, 필기 인식 시스템의 획 순서 및 획 방향 독립성을 훼손시키지 않고서, 인식 정확도를 개선시키기 위해, 인식 유닛이 개별 필기 획들에 의해 형성되는 방식에 관련된 시간-유도 정보가 사용된다.In some embodiments, during real-time recognition, the input image of the recognition unit is provided in a handwriting recognition mode trained with both space- and time-induced features. The input image is processed through each layer of the handwriting recognition model shown in FIG. 26. When the processing of the input image reaches the layer where the stroke-distribution profile input is needed (eg, the last convolutional layer or hidden layer), the stroke-distribution profile of the recognition unit is injected into that layer. Processing of the input image and stroke-distribution profile continues until an output segment (eg, one or more candidate characters) is provided at the output layer 2608. In some embodiments, the stroke-distribution profiles of all recognition units are calculated and provided, along with the input images of the recognition units, as a handwriting recognition model as input. In some embodiments, the input image of the recognition unit initially experiences a handwriting recognition model (without the benefit of time-trained features). When two or more similar-looking candidate characters are identified with close recognition confidence values, the handwriting recognition model in the layer where the stroke-distribution profiles of the recognition unit are trained with time-derived features (e.g., the last convolutional layer or the hidden layer). Is injected into. When the input image and stroke-distribution profile of the recognition unit passes through the last layers of the handwriting recognition model, two or more similar-looking candidate characters can be better distinguished due to differences in their stroke-distribution profiles. . Accordingly, in order to improve the recognition accuracy without compromising the stroke order and stroke direction independence of the handwriting recognition system, time-induced information related to the manner in which the recognition unit is formed by individual handwritten strokes is used.

전술한 설명은 설명의 목적을 위해, 특정 실시예들을 참조하여 기술되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 망라하거나 개시된 정확한 형태들로 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 실시예들은 본 발명의 원리들 및 그의 실제 응용들을 가장 잘 설명하기 위해 선택 및 설명되었고, 그에 의해 당업자가 본 발명 및 다양한 변형들을 갖는 다양한 실시예들을 고려되는 특정 용례에 적합한 것으로 가장 잘 활용하도록 할 수 있다.The foregoing description has been described with reference to specific embodiments for purposes of explanation. However, the exemplary discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in terms of the above teachings. The embodiments have been selected and described to best explain the principles of the present invention and their practical applications, thereby allowing those skilled in the art to best utilize the present invention and various embodiments having various modifications as suitable for the specific application contemplated. I can.

Claims (13)

필기 인식을 제공하는 방법으로서,
하나 이상의 프로세서, 터치 감응 표면, 및 디스플레이를 갖는 전자 디바이스에서,
상기 디스플레이 상에 메시지 영역 및 획 입력 영역(stroke input area)을 포함하는 사용자 입력 인터페이스를 디스플레이하는 단계 - 상기 획 입력 영역은 상기 메시지 영역과는 구별됨 -;
상기 획 입력 영역 내의 상기 터치 감응 표면 상에서 제1 세트의 획들을 수신하는 단계;
상기 제1 세트의 획들에 기초하여 제1 텍스트를 결정하는 단계;
상기 메시지 영역 내의 상기 디스플레이 상에 상기 제1 텍스트를 디스플레이하는 단계;
상기 제1 세트의 획들에 기초하여 하나 이상의 후보를 결정하는 단계;
후보 디스플레이 영역 내에 상기 하나 이상의 후보를 디스플레이하는 단계;
상기 하나 이상의 후보를 디스플레이하는 동안, 상기 하나 이상의 후보로부터 제1 후보를 선택하는 사용자 입력을 수신하는 단계;
상기 사용자 입력에 응답하여,
상기 제1 텍스트의 디스플레이를 상기 선택된 제1 후보의 디스플레이로 대신하는 단계; 및
상기 후보 디스플레이 영역으로부터 상기 하나 이상의 후보를 클리어하는 단계
를 포함하는 필기 인식 제공 방법.
As a method of providing handwriting recognition,
In an electronic device having one or more processors, a touch sensitive surface, and a display,
Displaying a user input interface including a message area and a stroke input area on the display, the stroke input area being distinct from the message area;
Receiving a first set of strokes on the touch-sensitive surface within the stroke input area;
Determining first text based on the first set of strokes;
Displaying the first text on the display in the message area;
Determining one or more candidates based on the first set of strokes;
Displaying the one or more candidates in a candidate display area;
Receiving a user input for selecting a first candidate from the one or more candidates while displaying the one or more candidates;
In response to the user input,
Replacing the display of the first text with the display of the selected first candidate; And
Clearing the one or more candidates from the candidate display area
Handwriting recognition providing method comprising a.
제1항에 있어서,
상기 제1 텍스트는 복수의 문자들을 포함하는, 필기 인식 제공 방법.
The method of claim 1,
The method of providing handwriting recognition, wherein the first text includes a plurality of characters.
제1항에 있어서,
상기 제1 텍스트는 단일 문자인, 필기 인식 제공 방법.
The method of claim 1,
The first text is a single character, handwriting recognition providing method.
제1항에 있어서,
상기 하나 이상의 후보는 상기 제1 텍스트에 기초하여 식별된 이모지(emoji)를 포함하는, 필기 인식 제공 방법.
The method of claim 1,
Wherein the one or more candidates comprise an emoji identified based on the first text.
제1항에 있어서,
상기 제1 세트의 획들을 수신하고 상기 제1 텍스트를 디스플레이한 이후에, 상기 획 입력 영역 내의 상기 터치 감응 표면 상에서 제2 세트의 획들을 수신하는 단계를 더 포함하고,
상기 하나 이상의 후보를 결정하는 단계는 상기 제2 세트의 획들에 추가로 기초하는, 필기 인식 제공 방법.
The method of claim 1,
After receiving the first set of strokes and displaying the first text, receiving a second set of strokes on the touch-sensitive surface in the stroke input area,
Wherein determining the one or more candidates is further based on the second set of strokes.
제5항에 있어서,
상기 제2 세트의 획들은 단일 연속 획(single continuous stroke)인, 필기 인식 제공 방법.
The method of claim 5,
The method of providing handwriting recognition, wherein the second set of strokes is a single continuous stroke.
제1항에 있어서,
상기 제1 세트의 획들은 단일 연속 획인, 필기 인식 제공 방법.
The method of claim 1,
Wherein the first set of strokes is a single continuous stroke.
제1항에 있어서,
상기 획 입력 영역 내의 상기 제1 세트의 획들을 렌더링하는 단계; 및
상기 제1 세트의 획들에 대해 페이딩(fading) 프로세스를 시작하는 단계를 더 포함하고,
상기 페이딩 프로세스 동안, 상기 획 입력 영역 내의 상기 제1 세트의 획들을 렌더링하는 단계는 점점 더 페이딩되는, 필기 인식 제공 방법.
The method of claim 1,
Rendering the first set of strokes within the stroke input area; And
Initiating a fading process for the first set of strokes,
During the fading process, rendering the first set of strokes within the stroke input area becomes increasingly fading.
제8항에 있어서,
상기 제1 세트의 획들에 대한 상기 페이딩 프로세스는 상기 제1 세트의 획들이 사용자에 의해 완료된 이후부터 사전결정된 기간이 경과하였을 때 시작되는, 필기 인식 제공 방법.
The method of claim 8,
Wherein the fading process for the first set of strokes begins when a predetermined period of time has elapsed since the first set of strokes has been completed by a user.
제8항에 있어서,
상기 제1 세트의 획들에 대한 상기 페이딩 프로세스의 최후 상태는 상기 제1 세트의 획들에 대한 사전결정된 최소 시인성(predetermined minimum visibility)을 갖는 상태인, 필기 인식 제공 방법.
The method of claim 8,
A method of providing handwriting recognition, wherein the final state of the fading process for the first set of strokes is a state with a predetermined minimum visibility for the first set of strokes.
제8항에 있어서,
상기 제1 세트의 획들에 대한 상기 페이딩 프로세스의 최후 상태는 상기 제1 세트의 획들에 대한 제로 시인성(zero visibility)을 갖는 상태인, 필기 인식 제공 방법.
The method of claim 8,
A method of providing handwriting recognition, wherein the final state of the fading process for the first set of strokes is a state with zero visibility for the first set of strokes.
디스플레이를 갖는 디바이스의 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서,
상기 하나 이상의 프로그램은 제1항 내지 제11항 중 어느 하나의 필기 인식 제공 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a device having a display, comprising:
The one or more programs include instructions for performing the method of providing handwriting recognition according to any one of claims 1 to 11.
전자 디바이스로서,
디스플레이;
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고,
상기 하나 이상의 프로그램은 제1항 내지 제11항 중 어느 하나의 필기 인식 제공 방법을 수행하기 위한 명령어들을 포함하는, 전자 디바이스.
As an electronic device,
display;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors,
The electronic device, wherein the one or more programs include instructions for performing the method of providing handwriting recognition according to any one of claims 1 to 11.
KR1020207016098A 2013-06-09 2014-05-30 Managing real-time handwriting recognition KR102221079B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217005264A KR102347064B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US201361832934P 2013-06-09 2013-06-09
US201361832921P 2013-06-09 2013-06-09
US201361832942P 2013-06-09 2013-06-09
US201361832908P 2013-06-09 2013-06-09
US61/832,908 2013-06-09
US61/832,934 2013-06-09
US61/832,921 2013-06-09
US61/832,942 2013-06-09
US14/290,935 2014-05-29
US14/290,935 US9898187B2 (en) 2013-06-09 2014-05-29 Managing real-time handwriting recognition
US14/290,945 US9465985B2 (en) 2013-06-09 2014-05-29 Managing real-time handwriting recognition
US14/290,945 2014-05-29
US14/292,138 2014-05-30
US14/291,865 US9495620B2 (en) 2013-06-09 2014-05-30 Multi-script handwriting recognition using a universal recognizer
US14/292,138 US20140361983A1 (en) 2013-06-09 2014-05-30 Real-time stroke-order and stroke-direction independent handwriting recognition
US14/291,722 2014-05-30
US14/291,865 2014-05-30
PCT/US2014/040417 WO2014200736A1 (en) 2013-06-09 2014-05-30 Managing real - time handwriting recognition
US14/291,722 US20140363082A1 (en) 2013-06-09 2014-05-30 Integrating stroke-distribution information into spatial feature extraction for automatic handwriting recognition

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021958A Division KR102121487B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217005264A Division KR102347064B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Publications (2)

Publication Number Publication Date
KR20200068755A KR20200068755A (en) 2020-06-15
KR102221079B1 true KR102221079B1 (en) 2021-03-02

Family

ID=52022661

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020157033627A KR101892723B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020187024261A KR102005878B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020217043310A KR20220003662A (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020197021958A KR102121487B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020207016098A KR102221079B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020217005264A KR102347064B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020157033627A KR101892723B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020187024261A KR102005878B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020217043310A KR20220003662A (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition
KR1020197021958A KR102121487B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217005264A KR102347064B1 (en) 2013-06-09 2014-05-30 Managing real-time handwriting recognition

Country Status (5)

Country Link
JP (8) JP6154550B2 (en)
KR (6) KR101892723B1 (en)
CN (4) CN109614845B (en)
HK (1) HK1220276A1 (en)
WO (1) WO2014200736A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211271A1 (en) * 2021-03-31 2022-10-06 삼성전자 주식회사 Electronic device for processing handwriting input on basis of learning, operation method thereof, and storage medium

Families Citing this family (58)

* 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
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
US10114544B2 (en) * 2015-06-06 2018-10-30 Apple Inc. Systems and methods for generating and providing intelligent time to leave reminders
US10013603B2 (en) * 2016-01-20 2018-07-03 Myscript System and method for recognizing multiple object structure
KR102482850B1 (en) * 2016-02-15 2022-12-29 삼성전자 주식회사 Electronic device and method for providing handwriting calibration function thereof
CN107220655A (en) * 2016-03-22 2017-09-29 华南理工大学 A kind of hand-written, printed text sorting technique based on deep learning
US20170308289A1 (en) * 2016-04-20 2017-10-26 Google Inc. Iconographic symbol search within a graphical keyboard
JP6728993B2 (en) * 2016-05-31 2020-07-22 富士ゼロックス株式会社 Writing system, information processing device, program
JP6611346B2 (en) * 2016-06-01 2019-11-27 日本電信電話株式会社 Character string recognition apparatus, method, and program
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
CN106126092A (en) * 2016-06-20 2016-11-16 联想(北京)有限公司 A kind of information processing method and electronic equipment
CN107526449B (en) * 2016-06-20 2020-11-10 国基电子(上海)有限公司 Character input method
US10325018B2 (en) 2016-10-17 2019-06-18 Google Llc Techniques for scheduling language models and character recognition models for handwriting inputs
CN106527875B (en) * 2016-10-25 2019-11-29 北京小米移动软件有限公司 Electronic recording method and device
US10984757B2 (en) 2017-05-19 2021-04-20 Semiconductor Energy Laboratory Co., Ltd. Machine learning method, machine learning system, and display system
US11188158B2 (en) 2017-06-02 2021-11-30 Samsung Electronics Co., Ltd. System and method of determining input characters based on swipe input
KR102474245B1 (en) * 2017-06-02 2022-12-05 삼성전자주식회사 System and method for determinig input character based on swipe input
US10481791B2 (en) * 2017-06-07 2019-11-19 Microsoft Technology Licensing, Llc Magnified input panels
US20190155895A1 (en) * 2017-11-20 2019-05-23 Google Llc Electronic text pen systems and methods
CN107861684A (en) * 2017-11-23 2018-03-30 广州视睿电子科技有限公司 Write recognition methods, device, storage medium and computer equipment
KR102008845B1 (en) * 2017-11-30 2019-10-21 굿모니터링 주식회사 Automatic classification method of unstructured data
CN109992124A (en) * 2018-01-02 2019-07-09 北京搜狗科技发展有限公司 Input method, device and machine readable media
KR102053885B1 (en) * 2018-03-07 2019-12-09 주식회사 엘렉시 System, Method and Application for Analysis of Handwriting
CN108710882A (en) * 2018-05-11 2018-10-26 武汉科技大学 A kind of screen rendering text recognition method based on convolutional neural networks
JP7298290B2 (en) * 2018-06-19 2023-06-27 株式会社リコー HANDWRITING INPUT DISPLAY DEVICE, HANDWRITING INPUT DISPLAY METHOD AND PROGRAM
KR101989960B1 (en) 2018-06-21 2019-06-17 가천대학교 산학협력단 Real-time handwriting recognition method using plurality of machine learning models, computer-readable medium having a program recorded therein for executing the same and real-time handwriting recognition system
US11270486B2 (en) * 2018-07-02 2022-03-08 Apple Inc. Electronic drawing with handwriting recognition
CN109446780B (en) * 2018-11-01 2020-11-27 北京知道创宇信息技术股份有限公司 Identity authentication method, device and storage medium thereof
CN109471587B (en) * 2018-11-13 2020-05-12 掌阅科技股份有限公司 Java virtual machine-based handwritten content display method and electronic equipment
CN109858323A (en) * 2018-12-07 2019-06-07 广州光大教育软件科技股份有限公司 A kind of character hand-written recognition method and system
CN110009027B (en) * 2019-03-28 2022-07-29 腾讯科技(深圳)有限公司 Image comparison method and device, storage medium and electronic device
CN110135530B (en) * 2019-05-16 2021-08-13 京东方科技集团股份有限公司 Method and system for converting Chinese character font in image, computer device and medium
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
CN110362247A (en) * 2019-07-18 2019-10-22 江苏中威科技软件系统有限公司 It is a set of to amplify the mode signed on electronic document
KR20210017090A (en) * 2019-08-06 2021-02-17 삼성전자주식회사 Method and electronic device for converting handwriting input to text
CN110942089B (en) * 2019-11-08 2023-10-10 东北大学 Multi-level decision-based keystroke recognition method
EP3828685B1 (en) 2019-11-29 2022-09-28 MyScript Gesture stroke recognition in touch-based user interface input
US20200251217A1 (en) * 2019-12-12 2020-08-06 Renee CASSUTO Diagnosis Method Using Image Based Machine Learning Analysis of Handwriting
CN111078073B (en) * 2019-12-17 2021-03-23 科大讯飞股份有限公司 Handwriting amplification method and related device
EP3839706B1 (en) * 2019-12-20 2023-07-05 The Swatch Group Research and Development Ltd Method and device for determining the position of an object on a given surface
CN111355715B (en) * 2020-02-21 2021-06-04 腾讯科技(深圳)有限公司 Processing method, system, device, medium and electronic equipment of event to be resolved
CN111736751B (en) * 2020-08-26 2021-03-26 深圳市千分一智能技术有限公司 Stroke redrawing method, device and readable storage medium
US11627799B2 (en) * 2020-12-04 2023-04-18 Keith McRobert Slidable work surface
US11531454B2 (en) 2020-12-10 2022-12-20 Microsoft Technology Licensing, Llc Selecting content in ink documents using a hierarchical data structure
US11587346B2 (en) 2020-12-10 2023-02-21 Microsoft Technology Licensing, Llc Detecting ink gestures based on spatial and image data processing
KR20220088166A (en) * 2020-12-18 2022-06-27 삼성전자주식회사 Method and apparatus for recognizing handwriting inputs in a multiple user environment
EP4057182A1 (en) 2021-03-09 2022-09-14 Société BIC Handwriting feedback
JP2022148901A (en) * 2021-03-24 2022-10-06 カシオ計算機株式会社 Character recognition apparatus, character recognition method, and program
CN113190161A (en) * 2021-04-25 2021-07-30 无锡乐骐科技有限公司 Electronic writing exercise method based on convolutional neural network
KR20220147832A (en) * 2021-04-28 2022-11-04 삼성전자주식회사 Electronic device for processing handwriting input and method of operating the same
KR102366052B1 (en) * 2021-05-28 2022-02-23 (유)벨류이 Writing system and method using delay time reduction processing, and low complexity distance measurement algorithm based on chirp spread spectrum for the same
CN113673415B (en) * 2021-08-18 2022-03-04 山东建筑大学 Handwritten Chinese character identity authentication method and system
EP4145264A1 (en) * 2021-09-07 2023-03-08 Ricoh Company, Ltd. Display apparatus, carrier means, and display method
KR102468713B1 (en) * 2022-07-07 2022-11-21 주식회사 에이치투케이 AI- based Device and Method for Stroke Order Recognition of Korean Handwriting of Student
WO2024014655A1 (en) * 2022-07-14 2024-01-18 삼성전자 주식회사 Electronic device and method for identifying sentence expressed by strokes
CN115291791A (en) * 2022-08-17 2022-11-04 维沃移动通信有限公司 Text recognition method and device, electronic equipment and storage medium
CN116646911B (en) * 2023-07-27 2023-10-24 成都华普电器有限公司 Current sharing distribution method and system applied to digital power supply parallel mode
CN117037186B (en) * 2023-10-09 2024-01-30 山东维克特信息技术有限公司 Patient data management system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050962A1 (en) 2000-11-08 2006-03-09 Davi Geiger System, process and software arrangement for recognizing handwritten characters
US20120308143A1 (en) 2011-06-03 2012-12-06 Apple Inc. Integrating feature extraction via local sequential embedding for automatic handwriting recognition

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0614372B2 (en) * 1984-01-23 1994-02-23 日本電信電話株式会社 Character reading method
JP3353954B2 (en) * 1993-08-13 2002-12-09 ソニー株式会社 Handwriting input display method and handwriting input display device
JPH0855182A (en) * 1994-06-10 1996-02-27 Nippon Steel Corp Inputting device for handwritten character
EP0739521B1 (en) * 1994-11-14 2001-10-31 Motorola, Inc. Method of splitting handwritten input
US5737443A (en) * 1994-11-14 1998-04-07 Motorola, Inc. Method of joining handwritten input
JP3333362B2 (en) * 1995-04-11 2002-10-15 株式会社日立製作所 Character input device
TW338815B (en) * 1995-06-05 1998-08-21 Motorola Inc Method and apparatus for character recognition of handwritten input
JP4115568B2 (en) * 1996-12-18 2008-07-09 シャープ株式会社 Text input device
JPH10307675A (en) * 1997-05-01 1998-11-17 Hitachi Ltd Method and device for recognizing handwritten character
US6970599B2 (en) * 2002-07-25 2005-11-29 America Online, Inc. Chinese character handwriting recognition system
JP4663903B2 (en) * 2000-04-20 2011-04-06 パナソニック株式会社 Handwritten character recognition device, handwritten character recognition program, and computer-readable recording medium recording the handwritten character recognition program
US7286141B2 (en) * 2001-08-31 2007-10-23 Fuji Xerox Co., Ltd. Systems and methods for generating and controlling temporary digital ink
JP4212270B2 (en) * 2001-12-07 2009-01-21 シャープ株式会社 Character input device, character input method, and program for inputting characters
US6986106B2 (en) * 2002-05-13 2006-01-10 Microsoft Corporation Correction widget
JP2004213269A (en) * 2002-12-27 2004-07-29 Toshiba Corp Character input device
US8479112B2 (en) 2003-05-13 2013-07-02 Microsoft Corporation Multiple input language selection
JP2005341387A (en) * 2004-05-28 2005-12-08 Nokia Corp Real time communication system, transceiver and method for real time communication system
JP2006323502A (en) * 2005-05-17 2006-11-30 Canon Inc Information processor, and its control method and program
US7496547B2 (en) 2005-06-02 2009-02-24 Microsoft Corporation Handwriting recognition using a comparative neural network
US7720316B2 (en) * 2006-09-05 2010-05-18 Microsoft Corporation Constraint-based correction of handwriting recognition errors
KR100859010B1 (en) * 2006-11-01 2008-09-18 노키아 코포레이션 Apparatus and method for handwriting recognition
CN101311887A (en) * 2007-05-21 2008-11-26 刘恩新 Computer hand-written input system and input method and editing method
CN101123044A (en) * 2007-09-13 2008-02-13 无敌科技(西安)有限公司 Chinese writing and learning method
CN101178633A (en) * 2007-12-13 2008-05-14 深圳华为通信技术有限公司 Method, system and device for correcting hand-written screen error
US8116569B2 (en) * 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
US9355090B2 (en) * 2008-05-30 2016-05-31 Apple Inc. Identification of candidate characters for text input
US20100166314A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Segment Sequence-Based Handwritten Expression Recognition
US8391613B2 (en) * 2009-06-30 2013-03-05 Oracle America, Inc. Statistical online character recognition
JP2011065623A (en) * 2009-08-21 2011-03-31 Sharp Corp Information retrieving apparatus, and control method of the same
CN101893987A (en) * 2010-06-01 2010-11-24 华南理工大学 Handwriting input method of electronic equipment
CN103080878B (en) 2010-08-24 2017-03-29 诺基亚技术有限公司 One or more groups of method and apparatus are divided into for hand-written stroke will be overlapped
JP2012108871A (en) 2010-10-26 2012-06-07 Nec Corp Information processing device and handwriting input processing method therefor
WO2012071730A1 (en) * 2010-12-02 2012-06-07 Nokia Corporation Method, apparatus, and computer program product for overlapped handwriting
JP5550598B2 (en) 2011-03-31 2014-07-16 パナソニック株式会社 Handwritten character input device
US20140040732A1 (en) 2011-04-11 2014-02-06 Nec Casio Mobile Communications, Ltd. Information input devices
CN102135838A (en) * 2011-05-05 2011-07-27 汉王科技股份有限公司 Method and system for partitioned input of handwritten character string
EP3522075A1 (en) * 2011-06-13 2019-08-07 Google LLC Character recognition for overlapping textual user input
US8094941B1 (en) * 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
US20130002553A1 (en) 2011-06-29 2013-01-03 Nokia Corporation Character entry apparatus and associated methods
JP5330478B2 (en) * 2011-10-14 2013-10-30 株式会社エヌ・ティ・ティ・ドコモ Input support device, program, and pictogram input support method
JP2013089131A (en) * 2011-10-20 2013-05-13 Kyocera Corp Device, method and program
CN102566933A (en) * 2011-12-31 2012-07-11 广东步步高电子工业有限公司 Method for effectively distinguishing command gestures and characters in full-screen handwriting
JP6102374B2 (en) * 2013-03-15 2017-03-29 オムロン株式会社 Reading character correction program and character reading device
GB201704729D0 (en) 2017-03-24 2017-05-10 Lucite Int Uk Ltd Method of producing methyl methacrylate or methacrylic acid

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050962A1 (en) 2000-11-08 2006-03-09 Davi Geiger System, process and software arrangement for recognizing handwritten characters
US20120308143A1 (en) 2011-06-03 2012-12-06 Apple Inc. Integrating feature extraction via local sequential embedding for automatic handwriting recognition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211271A1 (en) * 2021-03-31 2022-10-06 삼성전자 주식회사 Electronic device for processing handwriting input on basis of learning, operation method thereof, and storage medium

Also Published As

Publication number Publication date
JP7361156B2 (en) 2023-10-13
JP6154550B2 (en) 2017-06-28
JP6802876B2 (en) 2020-12-23
JP7011747B2 (en) 2022-01-27
KR101892723B1 (en) 2018-08-29
CN109614846A (en) 2019-04-12
HK1220276A1 (en) 2017-04-28
JP2016523406A (en) 2016-08-08
CN109614845A (en) 2019-04-12
JP2022116104A (en) 2022-08-09
JP2021051759A (en) 2021-04-01
KR20190090887A (en) 2019-08-02
JP2017208101A (en) 2017-11-24
KR102005878B1 (en) 2019-07-31
JP2019164801A (en) 2019-09-26
JP2022062064A (en) 2022-04-19
JP2021168159A (en) 2021-10-21
KR20160003112A (en) 2016-01-08
JP6559184B2 (en) 2019-08-14
CN109614845B (en) 2023-08-04
KR20180097790A (en) 2018-08-31
CN105247540A (en) 2016-01-13
KR102121487B1 (en) 2020-06-11
KR20210024210A (en) 2021-03-04
WO2014200736A1 (en) 2014-12-18
JP2023182718A (en) 2023-12-26
CN109614847B (en) 2023-08-04
KR20220003662A (en) 2022-01-10
JP7078808B2 (en) 2022-05-31
KR20200068755A (en) 2020-06-15
CN109614847A (en) 2019-04-12
CN105247540B (en) 2018-10-16
KR102347064B1 (en) 2022-01-04
JP6903808B2 (en) 2021-07-14

Similar Documents

Publication Publication Date Title
US11816326B2 (en) Managing real-time handwriting recognition
JP7361156B2 (en) Managing real-time handwriting recognition
US9934430B2 (en) Multi-script handwriting recognition using a universal recognizer
US20140363082A1 (en) Integrating stroke-distribution information into spatial feature extraction for automatic handwriting recognition
US20140361983A1 (en) Real-time stroke-order and stroke-direction independent handwriting recognition

Legal Events

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