KR102381801B1 - 핸드라이팅 입력을 가이드하는 시스템 및 방법 - Google Patents

핸드라이팅 입력을 가이드하는 시스템 및 방법 Download PDF

Info

Publication number
KR102381801B1
KR102381801B1 KR1020187008394A KR20187008394A KR102381801B1 KR 102381801 B1 KR102381801 B1 KR 102381801B1 KR 1020187008394 A KR1020187008394 A KR 1020187008394A KR 20187008394 A KR20187008394 A KR 20187008394A KR 102381801 B1 KR102381801 B1 KR 102381801B1
Authority
KR
South Korea
Prior art keywords
guide element
handwriting input
delete delete
handwriting
input
Prior art date
Application number
KR1020187008394A
Other languages
English (en)
Other versions
KR20180077152A (ko
Inventor
니꼴라 뤼생
에르완 제스땡
앙또니 로랑스
Original Assignee
마이스크립트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이스크립트 filed Critical 마이스크립트
Publication of KR20180077152A publication Critical patent/KR20180077152A/ko
Application granted granted Critical
Publication of KR102381801B1 publication Critical patent/KR102381801B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공된다. 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 시스템 어플리케이션을 포함한다. 적어도 하나의 시스템 어플리케이션은, 컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트의 디스플레이를 야기하도록 구성된다. 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성된다.

Description

핸드라이팅 입력을 가이드하는 시스템 및 방법
관련 출원들에 대한 상호참조
본 출원은 2015년 8월 25일자로 출원된 유럽출원 제15290218.5호, 및 2015년 10월 19일자로 출원된 미국 특허출원 제14/886,200호에 대한 우선권을 주장하고, 이 출원들의 전체 내용들은 본 명세서에 참조로 통합된다.
본 설명은 일반적으로 컴퓨팅 디바이스 인터페이스들을 사용한 디지털 핸드라이팅 시스템들 및 방법들의 분야에 관한 것이다. 본 설명은, 더 구체적으로, 다양한 문자들, 심볼들, 및 오브젝트들의 사용자 입력 핸드라이팅을 인식할 수 있는 디지털 노트 필기 시스템들 및 방법들에 관한 것이다.
컴퓨팅 디바이스들은, 계속, 일상 생활에서 더 편재하게 되고 있다. 그 컴퓨팅 디바이스들은 컴퓨터 데스크탑들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더기들, 모바일 폰들, 스마트폰들, 웨어러블 컴퓨터들, 글로벌 포지셔닝 시스템 (GPS) 유닛들, 기업용 디지털 보조기들 (EDA들), 개인용 디지털 보조기들 (PDA들), 게임 콘솔들 등등의 형태를 취한다. 추가로, 컴퓨팅 디바이스들은 자동차들, 트럭들, 농장 시설, 제조 장비, 건물 환경 제어 (예컨대, 조명, HVAC), 및 가정 및 상업용 어플라이언스들과 같은 차량들 및 장비에 통합되고 있다.
컴퓨팅 디바이스들은 일반적으로, 중앙 프로세싱 유닛 (CPU) 과 같은 적어도 하나의 프로세싱 엘리먼트, 일부 형태의 메모리, 및 입력 및 출력 디바이스들로 구성된다. 다양한 컴퓨팅 디바이스들 및 그들의 후속 사용들은 다양한 인터페이스들 및 입력 디바이스들을 필요로 한다. 하나의 그러한 입력 디바이스는 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이며, 여기서, 사용자 입력은 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면 간의 접촉을 통해 수신된다. 다른 입력 디바이스는, 입력 표면 위의 사용자에 의해 행해진 제스처들을 감지하는 입력 표면이다. 이들 입력 방법들 중 어느 하나는 일반적으로, 텍스트를 그리거나 입력하기 위해 사용될 수 있다. 사용자 입력이 텍스트일 경우, 사용자의 핸드라이팅은 핸드라이팅 인식 시스템 또는 방법을 사용하여 해석된다.
스마트폰들, 패블릿들 및 태블릿들과 같은 휴대용 컴퓨팅 디바이스들에서의 핸드라이팅 인식의 하나의 어플리케이션은 노트 필기에 있다. 이는 특히 교육 및 비즈니스 세팅들에서 발생하며, 여기서, 컴퓨팅 디바이스의 사용자는 예를 들어 강연 또는 회의 동안 노트들을 캡처한다. 이는, 통상, 터치 감지 표면 상의 핸드라이팅된 노트 입력을, 디바이스에서 국부적으로 또는 디바이스의 통신 링크를 통해 원격적으로, 수용하고 해석하는 컴퓨팅 디바이스 상에서 핸드라이팅된 노트 필기 어플리케이션을 사용자가 론칭함으로써 수행된다. 종래, 그러한 핸드라이팅된 노트 필기 어플리케이션들은 핸드라이팅의 인식, 및 인식된 핸드라이팅, 소위, 디지털 잉크의 조판 (typeset) 텍스트로의 변환을 제공한다. 본 출원인은, 핸드라이팅 노트 필기 어플리케이션들을 사용할 경우, 사용자들이 통상적으로 인식의 실시간 피드백을 원함 (이는 기록하는 동안임) 을 발견하였다. 일부 종래의 어플리케이션들은 그러한 피드백 메커니즘들을 사용자들에게 제공하지만 이들은 일반적으로 그 유효성에 있어서 제한적이거나 설계에 있어서 번잡하다.
예를 들어, 이용가능한 핸드라이팅된 노트 필기 어플리케이션들은 핸드라이팅된 입력을 자동으로 (예를 들어, 즉석에서) 조판함으로써 피드백을 제공한다. 이는 통상적으로, 핸드라이팅 입력을 위한 인터페이스로부터 분리된 디바이스 디스플레이의 전용 부분 또는 윈도우에 조판 텍스트를 디스플레이함으로써 수행된다. 하지만, 그러한 시스템들은 일반적으로, 사용자들이 스크린의 상이한 부분들을 봐야하기 때문에, 사용자들을 입력의 플로우로부터 산만하게 한다. 다른 이용가능한 핸드라이팅된 노트 필기 어플리케이션들은 입력 동안 인식 후보들 등을 리스팅함으로써 피드백을 제공한다. 이는 또한 사용자들에 대해 매우 산만하게 한다.
디지털 잉크를, 인-시츄로, 예를 들어, 핸드라이팅 플로우 뒤에, 조판 텍스트로 변환하는 것이 가능하다. 하지만, 조판 텍스트는 일반적으로 핸드라이팅된 텍스트보다 더 작고 더 균일하다. 이에 따라, 문자, 워드 및 라인 스페이싱에서의 상대적인 차이는 빠르게 문제가 되고, 이는 인식된 텍스트를 판독하기 어렵게 하고 따라서 산만하게 한다. 또한, 사용자들로 하여금 메뉴 선택들 및 제스처들의 입력을 통해 요구될 경우 수동으로 조판할 수 있게 하는 것이 가능하다. 하지만, 그러한 수동 방법들은 실시간 피드백을 제공하지 않으며, 본 출원인은, 핸드라이팅 노트 필기 어플리케이션들을 사용할 경우 사용자들은 일반적으로 자연적이거나 직관적이지 않은 특정 입력 방법들 또는 제스처들을 학습하거나 메뉴들 등을 통한 세팅들을 행할 수 없거나 요구하지 않음을 발견하였다.
추가로, 종래의 어플리케이션들은 입력과 상호작용하거나 또는 필기된 노트들로부터 완전 문서 생성을 제공할 능력을 사용자들에게 제공하지 않는데, 왜냐하면 이들 어플리케이션들의 초점은 문서 생성보다는 주로 인식 정확도였기 때문이다. 추가로, 본 출원인은, 핸드라이팅 노트 필기 어플리케이션들을 사용할 경우 사용자들은 다중의 언어들 또는 입력 타입들 (예를 들어, 알파뉴메릭, 심볼들, 방정식들) 로 노트들을 기록하는 것 및 기록할 때 메뉴 선택들을 통해 언어들 또는 입력 타입들을 변경하는 것을 잊는 것 그리고 디스플레이 제약들 등으로 인해 어플리케이션들에 의해 부과된 기록 치수들, 예를 들어, 높이, 길이 및 양에 대한 제약들을 이해하지 않는 것과 같은 다른 문제들을 또한 경험함을 발견하였다.
이하 본 명세서에서 설명되는 본 발명의 예들은 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드함에 있어서 사용하기 위한 시스템들, 방법들 및 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 그 방법을 구현하기 위해 실행되도록 적응되는 컴퓨터 판독가능 프로그램 코드가 수록된 컴퓨터 사용가능 매체를 갖는다.
본 개시의 일 양태에 있어서, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템이 제공된다. 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 시스템 어플리케이션을 포함한다. 적어도 하나의 시스템 어플리케이션은, 컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트의 디스플레이를 야기하도록 구성된다. 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성된다.
본 개시의 다른 양태에 있어서, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법이 개시된다. 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 시스템 어플리케이션을 포함한다. 그 방법은, 컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트의 디스플레이를 야기하도록 적어도 하나의 시스템 어플리케이션을 구성하는 단계를 포함한다. 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성된다.
본 개시의 다른 양태에 있어서, 컴퓨터 판독가능 프로그램 코드가 수록된 비일시적인 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법을 구현하기 위해 실행되도록 적응된다. 그 방법은, 컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트의 디스플레이를 야기하는 단계를 포함한다. 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성된다.
본 시스템 및 방법은 도면들과 함께 취해진 그 예들의 다음의 상세한 설명으로부터 더 충분히 이해될 것이다. 도면들에 있어서, 동일한 참조 부호들은 동일한 엘리먼트들을 도시한다. 도면들에 있어서:
도 1 은 본 시스템 및 방법의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다.
도 2 는 본 시스템 및 방법의 일 예에 따른 핸드라이팅 인식을 위한 시스템의 블록 다이어그램을 도시한다.
도 3 은 본 시스템 및 방법의 일 예에 따른 도 2 의 핸드라이팅 인식 시스템의 상세를 예시한 블록 다이어그램을 도시한다.
도 4 는 컴퓨팅 디바이스의 입력 표면의 일부 상의 스크롤가능 페이지의 예시적인 시각적 렌더링의 개략도를 도시한다.
도 5 는 가이드 엘리먼트에 의해 가이드된 문단의 순차적인 핸드라이팅된 입력을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도를 도시한다.
도 6 은 가이드 엘리먼트에 의해 가이드된 문단의 추가의 순차적인 핸드라이팅된 입력을 갖는 도 5 의 스크롤가능 페이지의 개략도들을 도시한다.
도 7 은 가이드 엘리먼트에 의해 가이드된 다른 문단의 추가의 순차적인 핸드라이팅된 입력을 갖는 도 6 의 스크롤가능 페이지의 개략도들을 도시한다.
도 8 은 가이드 엘리먼트와의 순차적인 문단 리사이징 상호작용을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 9 는 가이드 엘리먼트에 의한 조판 텍스트의 문단 및 결과적인 디스플레이의 순차적인 핸드라이팅된 입력을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 10 은 가이드 엘리먼트와의 조판 텍스트 스크롤링 상호작용을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 11 은 가이드 엘리먼트에 대한 디지털 텍스트 스크롤링 상호작용을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 12 는 가이드 엘리먼트와의 순차적인 조판 텍스트 및 메뉴 상호작용을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 13 은 가이드 엘리먼트의 순차적인 디지털 잉크 상호작용 및 결과적인 렌더링을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 14 는 가이드 엘리먼트의 언어 태깅을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도를 도시한다.
도 15 는 가이드 엘리먼트의 언어 태깅의 문단 및 결과적인 렌더링의 순차적인 핸드라이팅된 입력을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 16 은 가이드 엘리먼트와의 순차적인 아이콘 및 메뉴 상호작용을 갖는 스크롤가능 페이지의 부분의 예시적인 시각적 렌더링의 개략도들을 도시한다.
도 17 은 가이드 엘리먼트와 관련하여 스크롤가능 페이지의 정렬 엘리먼트들의 일 예의 개략도를 도시한다.
도 18 은 가이드 엘리먼트와 관련하여 스크롤가능 페이지의 정렬 엘리먼트들의 일 예의 개략도를 도시한다.
다음의 상세한 설명에 있어서, 다수의 특정 상세들이 관련 교시들의 철저한 이해를 제공하기 위하여 예들로서 개시된다. 하지만, 본 교시들은 그러한 상세들 없이 실시될 수도 있음이 당업자에게 자명해야 한다. 다른 경우들에 있어서, 널리 공지된 방법들, 절차들, 컴포넌트들, 및/또는 회로부는 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 회피하기 위해 상세없이 상대적으로 하이-레벨로 설명되었다.
상, 하, 위, 아래, 최하, 최고, 수평, 수직 등과 같은 방향성 특징들에 대한 참조 및 그 논의는, 인식될 입력이 행해진 입력 표면에 적용된 바와 같은 직교 좌표계에 대하여 행해진다. 추가로, 본 설명에서의 용어 '텍스트' 의 사용은 임의의 기록된 언어에서의 모든 알파뉴메릭 문자들 및 그 스트링들 및 기록된 텍스트에서 사용된 평범한 비-알파뉴메릭 문자들, 예를 들어, 심볼들을 포괄하는 것으로서 이해된다. 더욱이, 본 설명에서의 용어 '비-텍스트' 는 자유형태의 핸드라이팅된 내용 및 렌더링된 텍스트 및 이미지 데이터 뿐 아니라 비-알파뉴메릭 문자들 및 그 스트링들 그리고 비-텍스트 문맥에서 사용되는 알파뉴메릭 문자들 및 그 스트링들을 포괄하는 것으로서 이해된다.
본 명세서에서 설명된 다양한 기술들은 일반적으로, 휴대용 및 비-휴대용 컴퓨팅 디바이스들 상의 핸드라이팅된 내용을, 그 내용의 공개가능 문서들로의 변환을 허용하는 방식으로 캡처하는 것, 프로세싱하는 것 및 관리하는 것과 관련된다. 본 명세서에서 설명된 시스템들 및 방법들은 컴퓨팅 디바이스에 접속된 또는 컴퓨팅 디바이스의 터치 감지 스크린과 같은 입력 표면을 통해 또는 컴퓨팅 디바이스에 접속된 디지털 펜 또는 마우스와 같은 입력 디바이스를 통해 컴퓨팅 디바이스로 입력된 사용자들의 자연적 기록 또는 드로잉 스타일들의 인식을 활용할 수도 있다. 다양한 예들이 소위 온라인 인식 기법들을 사용하여 핸드라이팅 입력의 인식에 대하여 설명되지만, 어플리케이션은, 디지털 잉크보다는 이미지들이 인식되는 오프라인 인식과 같은 인식을 위한 다른 형태들의 입력에 대해서도 가능함이 이해된다.
도 1 은 예시적인 컴퓨팅 디바이스 (100) 의 블록 다이어그램을 도시한다. 컴퓨팅 디바이스는 컴퓨터 데스크탑, 랩탑 컴퓨터, 태블릿 컴퓨터, e-북 리더기, 모바일 폰, 스마트폰, 웨어러블 컴퓨터, 디지털 와치, 상호작용식 화이트보드, 글로벌 포지셔닝 시스템 (GPS) 유닛, 기업용 디지털 보조기 (EDA), 개인용 디지털 보조기 (PDA), 게임 콘솔 등일 수도 있다. 컴퓨팅 디바이스 (100) 는 메모리 및 입력 및/또는 출력 (I/O) 디바이스들의 일부 형태로 적어도 하나의 프로세싱 엘리먼트의 컴포넌트들을 포함한다. 컴포넌트들은 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 당업자에게 공지된 바와 같은 다른 것들과 같은 입력들 및 출력들을 통해 서로 통신한다.
컴퓨팅 디바이스 (100) 는 이미지들, 텍스트, 및 비디오와 같은 컴퓨팅 디바이스로부터의 데이터를 출력하기 위한 적어도 하나의 상호작용식 디스플레이 (102) 를 갖는다. 디스플레이 (102) 는 LCD, 플라즈마, LED, iOLED, CRT, 또는 당업자에게 공지된 바와 같은 터치 감지식이거나 터치 감지식이 아닌 임의의 다른 적절한 기술을 사용할 수도 있다. 디스플레이 (102) 의 적어도 일부는 적어도 하나의 입력 표면 (104) 과 병치된다. 입력 표면 (104) 은 저항성, 표면 탄성파, 용량성, 적외선 그리드, 적외선 아크릴 프로젝션, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술과 같은 기술을 채용하여 사용자 입력을 수신할 수도 있다. 입력 표면 (104) 은 그 경계들을 명확히 식별하는 영구적인 또는 비디오-생성된 가장자리에 의해 바운딩될 수도 있다.
입력 표면 (104) 에 부가하여, 컴퓨팅 디바이스 (100) 는 로컬 인터페이스를 통해 통신가능하게 커플링되는 하나 이상의 추가의 I/O 디바이스들 (또는 주변기기들) 을 포함할 수도 있다. 추가의 I/O 디바이스들은 입력 디바이스들, 예컨대, 키보드, 마우스, 스캐너, 마이크로폰, 터치패드들, 바코드 리더기들, 레이저 리더기들, 무선 주파수 디바이스 리더기들, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 추가로, I/O 디바이스들은 출력 디바이스들, 예컨대, 프린터, 바코드 프린터들, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 더욱이, I/O 디바이스들은 입력들 및 출력들 양자 모두를 통신하는 통신 디바이스들, 예컨대, 변조기/복조기 (모뎀; 다른 디바이스, 시스템, 또는 네트워크로의 액세스용), 무선 주파수 (RF) 또는 다른 트랜시버, 전화 인터페이스, 브릿지, 라우터, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 로컬 인터페이스는 통신들을 가능케 하기 위한 추가의 엘리먼트들, 예컨대, 제어기들, 버퍼들 (캐시들), 드라이버들, 리피터들, 및 수신기들을 가질 수도 있고, 이들은 간략화를 위해 생략되지만 당업자에게 공지된다. 추가로, 로컬 인터페이스는 다른 컴퓨터 컴포넌트들 중에서 적절한 통신들을 가능케 하기 위해 어드레스, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.
컴퓨팅 디바이스 (100) 는 또한, 소프트웨어, 특히 메모리 (108) 에 저장된 소프트웨어를 실행하기 위한 하드웨어 디바이스인 프로세서 (106) 를 포함한다. 프로세서는 임의의 맞춤 제작되거나 상업적으로 입수가능한 범용 프로세서, 중앙 프로세싱 유닛 (CPU), 반도체 기반 마이크로프로세서 (마이크로칩 또는 칩세트의 형태), 매크로프로세서, 마이크로제어기, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 상태 머신, 또는 당업자에게 공지된 소프트웨어 명령들을 실행하기 위해 설계된 이들의 임의의 조합일 수 있다. 적합한 상업적으로 입수가능한 마이크로프로세서들의 예들은 다음과 같다: Hewlett-Packard Company 로부터의 PA-RISC 시리즈 마이크로프로세서, Intel Corporation 으로부터의 80x86 또는 펜티엄 시리즈 마이크로프로세서, IBM 으로부터의 PowerPC 마이크로프로세서, Sun Microsystems, Inc. 로부터의 Sparc 마이크로프로세서, Motorola Corporation 으로부터의 68xxx 시리즈 마이크로프로세서, DSP 마이크로프로세서들, 또는 ARM 마이크로프로세서들.
메모리 (108) 는 휘발성 메모리 엘리먼트들 (예컨대, 랜덤 액세스 메모리 (DRAM, SRAM, 또는 SDRAM 과 같은 RAM)) 및 비휘발성 메모리 엘리먼트들 (예컨대, ROM, EPROM, 플래시 PROM, EEPROM, 하드 드라이브, 자기 또는 광학 테이프, 메모리 레지스터들, CD-ROM, WORM, DVD, RAID (redundant array of inexpensive disks), 다른 DASD (direct access storage device)) 중 임의의 하나 또는 그 조합을 포함할 수 있다. 더욱이, 메모리 (108) 는 전자의, 자기의, 광학의, 및/또는 다른 타입들의 저장 매체들을 통합할 수도 있다. 메모리 (108) 는 다양한 컴포넌트들이 서로 원격으로 위치되지만 프로세서 (106) 에 의해 또한 액세스될 수 있는 분산형 아키텍처를 가질 수 있다. 추가로, 메모리 (108) 는, 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스가능한 서버 또는 클라우드 기반 시스템에서와 같이 디바이스로부터 원격일 수도 있다. 메모리 (108) 는 프로세서 (106) 에 커플링되어, 프로세서 (106) 가 메모리 (108) 로부터 정보를 판독하고, 메모리 (108) 에 정보를 기록할 수 있다. 대안적으로, 메모리 (108) 는 프로세서 (106) 에 통합될 수도 있다. 다른 예에 있어서, 프로세서 (106) 및 메모리 (108) 는 양자 모두가 단일 ASIC 또는 다른 집적 회로에 상주할 수도 있다.
메모리 (108) 에서의 소프트웨어는 오퍼레이팅 시스템 (110) 및 어플리케이션 (112) 을 포함한다. 소프트웨어는 옵션적으로, 하나 이상의 별도의 컴퓨터 프로그램들을 각각 포함할 수도 있는 핸드라이팅 인식 (HWR) 시스템 (114) 을 더 포함한다. 이들 각각은 논리 함수들을 구현하기 위한 실행가능 명령들의 순서화된 리스팅을 갖는다. 오퍼레이팅 시스템 (110) 은 어플리케이션 (112) (및 HWR 시스템 (114)) 의 실행을 제어한다. 오퍼레이팅 시스템 (110) 은 WEBOS, WINDOWS®, MAC 및 IPHONE OS®, LINUX, 및 ANDROID 와 같은 전매특허 오퍼레이팅 시스템 또는 상업적으로 입수가능한 오퍼레이팅 시스템일 수도 있다. 다른 오퍼레이팅 시스템들이 또한 활용될 수도 있음이 이해된다.
어플리케이션 (112) 은 사용자 입력의 레이아웃의 검출, 관리 및 처리와 관련된 하나 이상의 프로세싱 엘리먼트들을 포함한다 (더 나중에 상세히 논의됨). 소프트웨어는 또한 핸드라이팅 인식, 상이한 기능들, 또는 이들 양자 모두와 관련된 하나 이상의 다른 어플리케이션들을 포함할 수도 있다. 다른 어플리케이션들의 일부 예들은 텍스트 편집기, 전화 다이얼러, 연락처 디렉토리, 인스턴트 메세징 설비, 컴퓨터 보조식 설계 (CAD) 프로그램, 이메일 프로그램, 워드 프로세싱 프로그램, 웹 브라우저, 및 카메라를 포함한다. 어플리케이션 (112) 및 다른 어플리케이션들은 제조시 컴퓨팅 디바이스 (100) 가 제공받은 프로그램(들)을 포함하고, 제조 이후에 컴퓨팅 디바이스 (100) 에 업로드 또는 다운로드된 프로그램들을 더 포함할 수도 있다.
지원 및 준수 능력들을 갖는 HWR 시스템 (114) 은 소스 프로그램, 실행가능 프로그램 (오브젝트 코드), 스크립트, 어플리케이션, 또는 수행될 명령들의 세트를 갖는 임의의 다른 엔터티일 수도 있다. 소스 프로그램일 경우, 그 프로그램은, 오퍼레이팅 시스템과 관련하여 적절히 동작하도록, 메모리 내에 포함될 수도 있거나 포함되지 않을 수도 있는 컴파일러, 어셈블러, 인터프리터 등을 통해 트랜슬레이트될 필요가 있다. 더욱이, 지원 및 준수 능력들을 갖는 핸드라이팅 인식 시스템은 (a) 데이터 및 방법들의 클래스들을 갖는 오브젝트 지향 프로그래밍 언어; (b) 예를 들어 C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, Objective C, Swift 및 Ada 이지만 이에 한정되지 않는 루틴들, 서브루틴들, 및/또는 함수들을 갖는 절차 프로그래밍 언어; 또는 (c) Hope, Rex, Common Lisp, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, Prolog, 및 F# 이지만 이에 한정되지 않는 함수형 프로그래밍 언어들로서 기록될 수 있다. 대안적으로, HWR 시스템 (114) 은 서버 또는 클라우드 기반 시스템과 같이 디바이스로부터 원격인 핸드라이팅 인식 시스템과의 통신을 위한 방법 또는 시스템일 수도 있지만, 컴퓨팅 디바이스 (100) 의 전술된 통신 I/O 디바이스들을 사용하여 통신 링크들을 통해 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스가능하다. 추가로, 어플리케이션 (112) 및 HWR 시스템 (114) 은 함께 동작하거나 단일 어플리케이션으로서 결합될 수도 있다.
입력 표면 (104) 상으로 또는 입력 표면 (104) 을 통해 입력된 스트로크들은 프로세서 (106) 에 의해 디지털 잉크로서 프로세싱된다. 사용자는 손가락, 또는 입력 인터페이스와의 사용을 위해 적합한 펜 또는 스타일러스와 같은 일부 기구로 스트로크를 입력할 수도 있다. 사용자는 또한, 입력 표면 (104) 부근에서의 모션들을 감지하는 기술이 사용되고 있으면 입력 표면 (104) 위에서 제스처를 행함으로써, 또는 마우스 또는 조이스틱과 같이 컴퓨팅 디바이스 (100) 의 주변기기 디바이스로, 스트로크를 입력할 수도 있다. 스트로크는, 적어도 스트로크 개시 위치, 스트로크 종료 위치, 및 스트로크 개시 및 종료 위치들을 연결하는 경로를 특징으로 한다. 상이한 사용자들이 약간의 변형들을 갖는 동일한 오브젝트, 예를 들어, 글자, 형상, 심볼을 자연스럽게 기록할 수도 있기 때문에, HWR 시스템은, 각각의 오브젝트가 입력되면서 정확한 또는 의도된 오브젝트로서 인식될 수도 있는 다양한 방식들을 수용한다.
도 2 는 HWR 시스템 (114) 의 일 예의, 그 로컬 (즉, 디바이스 (100) 상에 로딩된) 형태 또는 원격 (즉, 디바이스 (100) 에 의해 원격으로 액세스가능한) 형태로의 개략도이다. HWR 시스템 (114) 은 프리프로세싱 (116), 인식 (118) 및 출력 (120) 과 같은 스테이지들을 포함한다. 프리프로세싱 스테이지 (116) 는 디지털 잉크를 프로세싱하여 더 큰 정확도를 달성하고, 인식 스테이지 (118) 동안 프로세싱 시간을 감소한다. 이러한 프리프로세싱은, 입력을 평활화하기 위해 B-스플라인 근사와 같은 방법들 및/또는 사이즈 정규화를 적용함으로써, 스트로크 개시 및 종료 위치들을 연결하는 경로를 정규화하는 것을 포함할 수도 있다. 그 후, 프리프로세싱된 스트로크들은 스트로크들을 프로세싱하는 인식 스테이지 (118) 로 전달되어, 이에 의해 형성된 오브젝트들을 인식한다. 그 후, 인식된 오브젝트들은, 일반적으로, 핸드라이팅된 엘리먼트들/문자들의 조판된 버전으로서 디스플레이 (102) 에 출력된다 (120).
인식 스테이지 (118) 는 상이한 프로세싱 엘리먼트들 또는 엑스퍼트들을 포함할 수도 있다. 도 3 은 인식 스테이지 (118) 의 개략적인 상세를 도시한 도 2 의 예의 개략도이다. 출력 (120) 을 생성하기 위해 동적 프로그래밍을 통해 협력하는 3개의 엑스퍼트들, 즉, 세그먼트화 엑스퍼트 (122), 인식 엑스퍼트 (124), 및 언어 엑스퍼트 (126) 가 예시된다.
세그먼트화 엑스퍼트 (122) 는 표현들, 예를 들어, 워드들, 수학식들, 또는 형상들의 그룹들을 형성하기 위하여, 입력 스트로크들을 개별 엘리먼트 가설들, 예를 들어, 알파뉴메릭 문자들 및 수학 연산자들, 텍스트 문자들, 개별 형상들, 또는 하위 표현으로 세그먼트화하기 위한 상이한 방식들을 정의한다. 예를 들어, 세그먼트화 엑스퍼트 (122) 는, 각각의 노드가 적어도 하나의 엘리먼트 가설에 대응하고 그리고 엘리먼트들 간의 인접성 제약들이 노드 연결들에 의해 핸들링되는 세그먼트화 그래프를 획득하기 위해 원래의 입력의 연속적인 스트로크들을 그룹화함으로써 엘리먼트 가설들을 형성할 수도 있다. 대안적으로, 세그먼트화 엑스퍼트 (122) 는 텍스트, 드로잉들, 방정식들, 및 음악 표기와 같은 상이한 입력 타입들에 대해 별도의 엑스퍼트들을 채용할 수도 있다.
인식 엑스퍼트 (124) 는 분류기 (128) 에 의해 추출된 특징들의 분류를 제공하고, 세그먼트화 그래프의 각 노드에 대한 확률들 또는 인식 스코어들을 갖는 엘리먼트 후보들의 리스트를 출력한다. 이러한 인식 태스크를 어드레싱하는데 사용될 수 있는 다수의 타입들의 분류기들이 존재한다, 예를 들어, 서포트 벡터 머신들, 은닉 마르코프 모델들, 또는 다층 퍼셉트론들, 딥, 컨볼루셔널 또는 회귀 뉴럴 네트워크들과 같은 뉴럴 네트워크들. 그 선택은 태스크에 대해 요구된 복잡도, 정확도, 및 속도에 의존한다.
언어 엑스퍼트 (126) 는 언어 모델들 (예를 들어, 문법 또는 시맨틱스) 을 사용하여 세그먼트화 그래프에 있어서 상이한 경로들에 대한 언어적 의미를 생성한다. 그 엑스퍼트 (120) 는 언어 정보 (130) 에 따라 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 언어 정보 (130) 는 어휘, 통상 표현 등을 포함할 수 있다. 언어 엑스퍼트 (126) 는 최상의 인식 경로를 발견하는 것을 목적으로 한다. 일 예에 있어서, 언어 엑스퍼트 (126) 는, 언어 정보 (130) 의 내용을 나타내는 최종 상태 오토마톤 (결정론자 FSA) 과 같은 언어 모델을 탐색함으로써, 이를 수행한다. 어휘 제약에 부가하여, 언어 엑스퍼트 (120) 는, 얼마나 자주 엘리먼트들의 주어진 시퀀스가 명시된 언어에서 나타나는지 또는 특정 사용자에 의해 사용되는지에 대한 통계 정보 모델링을 사용하여, 세그먼트화 그래프의 주어진 경로의 해석의 언어적 가능성을 평가할 수도 있다.
본 시스템 및 방법은 디바이스 (100) 로의 핸드라이팅된 입력을 인식하기 위하여 HWR 시스템 (114) 을 사용한다. 전술된 바와 같이, 어플리케이션 (112) 은 인식된 사용자 입력의 레이아웃을 핸들링하기 위한 어플리케이션(들)을 포함한다. 그러한 어플리케이션들은 상이한 프로세싱을 핸들링하기 위해 별도의 계층들을 갖는 아키텍처에서 제공될 수도 있다. 이들 계층들 중 하나 이상은, 전술된 통신 채널들을 통해 액세스가능한 디바이스 (100) 에 원격일 수도 있다. 계층들은 어플리케이션 랩퍼(wrapper)(들), 플랫폼 랩퍼(들) 및 (플랫폼 특정) 어플리케이션 사용자 인터페이스(들)를 포함할 수도 있다.
본 시스템 및 방법에 의해 제공된 어플리케이션 (112) 은 사용자들로 하여금 컴퓨팅 디바이스 (100) 를 사용하여 내용을 핸드라이팅하게 한다. 특히, 어플리케이션 (112) 은 학생들, 학술 및 노동 전문가들과 같은 사용자들로 하여금 예컨대 강연들, 회의들 및 브레인스토밍 세션들 동안 핸드라이팅된 노트들을 필기하게 하며, 이 핸드라이팅된 노트들은 그 컴퓨팅 디바이스들 상의 공유가능한 포맷팅된 문서들로 변환할 수 있다. 본 시스템 및 방법은 추가로, 기록이 (괘선) 라인들 상에서 행해지고 문단들과 다른 레이아웃 엘리먼트들이 존중되기 때문에, 자연적 기록이 입력되게 한다. 디바이스들과 노트들의 자동 저장 사이의 캡처된 노트들의 동기화가 또한 지원된다. HWR 시스템을 통한 핸드라이팅된 노트들의 조판이 또한 지원되고, 사용자들에게 핸드라이팅 입력을 산만하게 하고 있지 않은 라이브 인식 피드백이 효과적으로 제공된다. 본 출원인에게 양도되고 그 전체 내용이 본 명세서에 참조로 통합되는 미국특허 출원공개 US 2009/0077053 호에 기술된 시스템들 및 방법들에 있어서와 같은 인식된 조판 텍스트 및 디지털 잉크 양자의 탐색이 또한 즉석 인덱스화를 포함하여 지원된다. 텍스트, 라텍스, HTML, 이미지, pdf 등과 같은 다양한 포맷들에 대한 내보내기 (export) 옵션들이 또한 지원된다. 이들 및 다른 양태들이 이제 설명된다.
어플리케이션 (112) 은 문서들 및 문서 엘리먼트들의 정의 및 핸들링을 위한 프레임워크를 활용하여, 문단들 및 비-텍스트 입력과 같은 노트 필기 엘리먼트들의 핸들링을 허용하는 구조화된 내용을 제공한다. 문서 모델은 이들 상이한 타입들의 문서 엘리먼트들을 핸들링하며, 이는 HTML5 레퍼런스로 가장 잘 기술되며, 예를 들어, W3C HTML5 DOM - 내용의 종류들: http://www.w3.org/TR/html5/dom.html#kinds-of-content 참조. 어플리케이션 (112) 에 의해 활용된 문서 모델은 HTML 사양들을 재생하지 않고 오히려 이들 사양들로부터 영감을 얻는다.
본 출원인은 기존의 디지털 노트 필기 어플리케이션들의 사용자들이, 텍스트 리플로우 및 제어되지 않은 텍스트/오브젝트 포지션으로, 편집할 경우 텍스트가 어떻게 거동하는지를 이해하는 문제들을 가짐을 발견하였다. 그러한 어플리케이션들의 사용을 위한 학습 곡선을 낮추기 위해, 핸드라이팅은 사용자들이 익숙한 것에 더 근접해야 한다. 즉, 동일한 모델 및 거동들을 갖는 텍스트 편집 소프트웨어/웹 서비스들에서의 키보드로의 기록. 사용자들은 또한, 핸드라이팅을 입력하지만 최소의 산만으로 자연스럽게 기록할 수 있어야 하기 때문에, 핸드라이팅 인식의 결과를 원한다. 임의의 디지털 디바이스 사용자는 예측 텍스트 후보들 등과 같은 인식 피드백의 타입들에 이미 익숙하지만, 그러한 피드백의 디스플레이 메커니즘은 사용자의 기록 플로우를 뒤엎지 않아야 한다.
본 시스템 및 방법의 이들 및 다른 특징들이 이제 상세히 설명된다. 도 4 는 예시적인 컴퓨팅 디바이스 (100) 의 입력 표면 (104) 의 일부 상의 노트 필기 페이지 (400) 의 예시적인 시각적 렌더링의 개략도를 도시한다. 페이지 (400) 는 모든 내용 입력이 수행되는 편집 뷰로 도시된다. 다른 뷰들이 문서 구조 편집 및 노트북 네비게이션을 위해 사용될 수도 있다. 사용자 인터페이스 (UI) 제어들 (더 나중에 기술됨) 을 제공하는 것 이외에, 편집 뷰의 주요 목적은, 디바이스 (100) 의 디스플레이 (102) 로부터 수직으로 오버플로우하는 전체폭 페이지를 제공하는 것이다. 페이지 (400) 는 유연한 높이의, 본질적으로 무한한 높이의 페이지를 구현하고, 잘 이해된 터치 스크린 컴퓨팅 디바이스 제스처들 또는 마우스를 사용하는 것과 같은 비-터치 스크린 컴퓨팅 디바이스 방법들을 사용하여 수직으로 스크롤될 수 있다. (특히, 더 작은 디바이스들 상에서의) 사용자들에 대한 기록 공간을 최대화하기 위해, 비어있는 스크롤가능 페이지가 적어도 전체 편집 뷰 높이를 점유하도록 정의된다.
편집 뷰 (및 적절한 바와 같은 다른 뷰들) 에 있어서, 상부 패딩 (402), 좌측 마진 (404) 및 우측 마진 (406) 을 포함하여 수개의 페이지 엘리먼트들이 디스플레이된다. 패딩 및 마진들은, 라인 패턴 배경 (410) 을 갖는 입력 영역 (408) 을 정의한다. 라인 패턴 (410) 은, 밀도 독립적 픽셀 (dp) 인 수직 리듬 높이 유닛의 배수에 의해 분리된 수평 라인들을 갖는다. 특정 디바이스 (100) 와 무관하게, 수평 라인들 (410) 간의 수직 거리는 라인 패턴 유닛 (LPU) 에 의해 정의되고, 수직 리듬 높이 유닛은 특정 디바이스 상의 LPU 의 눈금매김 자를 제공한다. 예를 들어, LPU 는 수직 리듬 높이 유닛의 특정 배수인 임의의 디바이스에 대해 약 1 센티미터로 설정될 수도 있거나, 사용자들은 그 기록 스타일에 따라 수직 리듬 높이 유닛의 상이한 배수로 라인 패턴 유닛을 맞춤제작하도록 허용될 수도 있다. 대안적으로, 수직 리듬은 조판 텍스트 사이즈 (예를 들어, 최소 텍스트 사이즈) 에 기초할 수도 있고, LPU 는 이 조판 텍스트 사이즈의 배수로서 제공된다. 모든 라인들 (410) 은, 단지 가시적인 색과 희미한 색 사이인 동일한 매우 연하고 묽은 컬러, 예를 들어, 회색으로 디스플레이된다. 이러한 방식으로, 라인 패턴은 현저하지만 두드러지지 않아서, 노트 필기 자체로부터 산만하게 하지 않으면서 핸드라이팅 입력을 가이드한다. 라인 패턴 배경 (410) 은 핸드라이팅된 텍스트 문맥에서 디스플레이되고, 다음과 같은 다중의 목적들을 제공한다:
Figure 112018029471477-pct00001
사용자들로 하여금 라인 패턴 배경 위에 기록하도록 강제하여 핸드라이팅 인식이 최적화됨
Figure 112018029471477-pct00002
사용자들이 통상의 수직 리듬 기록을 채택하는 것을 도와서 동일한 기록 사이즈 및 더 양호한 블록 치수들 및 포지션들을 유도함
Figure 112018029471477-pct00003
사용자들이 라인 스킵핑을 제어하는 것을 도와서 문단들을 정의함 (더 나중에 기술됨).
상부 패딩 (402) 은 임의의 새로운 페이지 또는 섹션 상에 디스플레이되고, 라인 패턴 배경을 포함하지 않는다. 이는, 사용자들이 적절한 수직 스페이싱으로 기입하는 것, 즉, 인터페이스 (104) 가장자리로부터 너무 근접하지 않는 것을 돕고, 섹션 타이틀링 및 태깅과 같은 다른 엘리먼트들에 대한 여지를 남긴다. 상부 패딩 (402) 은 LPU 의 배수들에 의해 정의되며, 예를 들어, 도 4 의 예에 있어서, 상부 패딩은 LPU 의 2배이다.
좌측 및 우측 마진들 (404 및 406) 은 수직 라인들로 디스플레이된다. 도 4 의 예에 있어서, 이들 라인들은 컬러 및 정의에 있어서 라인 패턴 (410) 과 유사하지만, 이들 라인들은 요구된다면 더 볼드체로 디스플레이될 수도 있다. 수직 라인 마진들은 대응하는 좌측 및 우측 "페이지" 에지들로부터 수직 리듬 유닛의 배수들만큼 배치된다. 도 4 의 예에 있어서, 마진들 (404, 406) 은 상부 패딩 (402) 에 디스플레이되지 않고, 제 1 라인 패턴 (410) 수평 라인으로부터 시작한다. 하지만, 마진들은 요구된다면 상부 패딩으로 확장할 수도 있다. 추가로, 라인 패턴 (410) 은 이들 영역들에서의 기록을 단념시키기 위해 마진 엘리먼트들에 디스플레이되지 않는다. 하지만, 주석들 등을 위해 마진들에 기록하는 것을 허용하도록 요구될 수도 있다. 대안적으로, 마진들은 오직 페이지 (400) 의 수평 범위들과의 접촉 상호작용 또는 호버-오버 (hover-over) 상에만 디스플레이되거나 완전히 생략되고, 이에 의해, 예를 들어, 스크린/UI 에지들에 너무 근접하게 기록하지 않도록 사용자들의 자연적 핸드라이팅 거동들에 의존할 수도 있다.
문서 모델의 이러한 기본 구조로, 본 시스템 및 방법은 인식을 최적화하기 위해 사용자들에게 핸드라이팅된 입력을 가이드하기 위한 메커니즘을 제공한다. 이 메커니즘은 추가로, 핸드라이팅의 입력을 산만하게 하지 않고 향상시키는 실시간 인식 피드백을 사용자들에게 제공하도록 사용될 수 있다. 이는, 동적 눈금자 (ruler) 및 동적 프롬프터를 포함하는 가이드 엘리먼트를 제공함으로써 달성된다. 프롬프터는 특정 수의 마지막으로 인식된 워드들을 현재 문장 또는 문단 (또는 핸드라이팅된 입력이 비-텍스트이면 현재 입력 스트링의 문자들/심볼들) 의 조판 잉크로서 동적으로 디스플레이하기 위해 사용된다. 눈금자는 핸드라이팅에 대한 수평 한계를 정의하도록 구성되며, 스트로크들이 입력 영역 (408) 에서 핸드라이팅되고/되거나 조판 잉크가 디지털 잉크로서 디스플레이될 라인들 (410) 중 하나를 따라 렌더링됨에 따라 동적으로 성장한다.
가이드 엘리먼트는 도 5 내지 도 18 을 참조하여 하기에서 설명된다. 이들 도면들에 도시된 예들은 좌측-우측 기록 언어 문맥에 있으며, 따라서, 포지션들에 대한 임의의 참조는 상이한 방향성 포맷들을 갖는 기록 언어들에 대해 적응될 수 있다. 도 5 내지 도 18 의 각각에 있어서, 스크롤가능 페이지 (400) 의 부분은 디바이스 인터페이스의 관측가능 영역에서 도시된 바와 같이 개략적인 형태들로 도시된다. 스크롤가능 페이지 (400) 는 라인 패턴 배경 (410) 으로 도시된다.
도 5 내지 7 은 페이지 (400) 의 라인 패턴 (410) 의 일부 상에 2개의 문단들 (504 및 506) 로의 워드들의 문자들 (502) 의 순차적인 핸드라이팅된 입력과 관련한 가이드 엘리먼트 (500) 를 도시한다. 핸드라이팅의 시작 및 대응하는 디지털 잉크의 인터페이스 (104) 의 입력 영역 (408) 상으로의 렌더링 (전술된 방식으로) 의 검출 시, 본 시스템 및 방법은 또한, 문자들 (502) 이 입력되는 라인 (410) 바로 위의 라인 패턴 배경의 라인 (410) 상의 핸드라이팅된 문자들과 인접하고 그 위의 수평 바 (508) 로서 가이드 엘리먼트 (500) 를 디스플레이한다. 도 5 의 예에서 보여질 수 있는 바와 같이, 가이드 엘리먼트 (500) 의 수평 바 (508) 는 입력과 동일범위를 갖게 치수화되고, 문자들 (502) 이 라인 (410) 에 부가됨에 따라 입력과 함께 동적으로 성장하도록 구성된다. 수평 바 (508) 는, 단지 가시적인 색과 희미한 색 사이이고 디지털 잉크보다 덜 볼드체이고 라인 패턴 배경보다 더 볼드체인 라인 패턴 배경 또는 디지털 잉크를 위해 사용된 컬러의 적어도 상이한 음영 또는 매우 연하고 묽은 컬러, 예를 들어, 청색으로 디스플레이된다. 이러한 방식으로, 가이드 엘리먼트는 현저 (라인 패턴 배경보다 더 현저) 하지만 두드러지지 않아서, 노트 필기 자체로부터 산만하게 하지 않으면서 핸드라이팅 입력을 가이드한다.
도 6 에서 보여질 수 있는 바와 같이, 가이드 엘리먼트 (500) 의 수평 바 (508) 는 다중라인 문단 (504) 에서의 입력의 제 1 라인 (410) 위의 라인 (410) 상에 남겨지고, 문단의 수평 폭이 문단 (504) 의 임의의 라인 상에서 성장함에 따라 성장한다. 이러한 방식으로, 가이드 엘리먼트 (500) 는, 최좌측 문단 포지션과 정렬되고 최우측 문단 포지션으로 확장하고 그리고 상위 기록 경계를 사용자들에게 제공하기 위해 라인 패턴 배경과 수직으로 정렬되기 때문에, 문단 자체와 인접하고 동일범위이다. 이는, 사용자들이 (단일 LPU 보다 과도하게 높지 않게) 적절히 사이징된 문자들을 입력하는 것을 보장한다. 대안적으로, 가이드 엘리먼트는 문단에 대한 상이한 포지션들에서, 예를 들어, 문단에서의 입력의 제 1 라인으로부터 시작하여 입력의 마지막 라인까지의 최좌측 문단 포지션 옆의 단순한 수직 라인으로서 디스플레이될 수 있다. 추가로, 가이드 엘리먼트는 문단/내용 블록에 관한 수평 및 수직 방향들 양자에서 확장하도록 구성될 수 있다. 어느 경우라도, 가이드 엘리먼트는 그 문단에서의 입력 전반에 걸쳐 문단의 치수들의 시각적 표시를 사용자들에게 제공한다.
도 7 에 있어서, 제 2 문단 (506) 이 문단 (504) 의 마지막 라인 (410) 아래의 2개 라인들 (410) 에서 시작된다. 이에 따라, 문단 (504) 위의 가이드 엘리먼트 (500) 의 디스플레이는, 입력이 이 문단에서 더 이상 수행되지 않음에 따라 종료되며, 가이드 엘리먼트 (500) 는 전술한 바와 동일한 방식으로 새로운 문단 (506) 의 제 1 라인 (410) 위의 라인 (410) 상에 디스플레이된다.
도 6 의 예에 있어서, 문단 (504) 에 부가된 입력은 라인 패턴 배경 (410) 의 다음 라인 상의 문단의 텍스트의 연속이다. 부가된 텍스트는, 페이지 (400) 의 수직 플로우에서의 바로 다음 라인 (410) 에 부가되기 때문에, 기존의 문단에 속하는 것으로 고려된다. 부가된 텍스트가 실제로 새로운 문단의 부분이라는 결정은 HWR 시스템 (114) 의 인식 스테이지 (118) 를 사용하여, 특히, (기존의) 문단의 좌측 마진 또는 정렬된 에지에 대한 인접한 라인들 및 그 관계의 텍스트의 오프셋을 참조하여, 행해질 수 있다.
새로운 문단 위의 가이드의 디스플레이는 그러한 인식의 결과를 사용자들에게 표시하도록 사용될 수 있어서, 새로운 문단이 잘못 인식되면, 문단들을 병합하는 것과 같이 일부 정정 액션이 사용자들에 의해 취해질 수 있다. 하지만, 도면들의 예시적인 렌더링에 있어서, 이는 문단의 텍스트의 마지막 라인을 오버레이하는 가이드 엘리먼트의 디스플레이를 요구할 것이고, 따라서, 그 텍스트를 불명료하게 하거나 가이드 엘리먼트를 보기 어렵게 하며, 이에 따라, 사용자에 대해 산만하게 할 것이다. 상기 기술된 가이드 엘리먼트의 수직 디스플레이는 이러한 원치않은 오버레이를 제거할 것이지만, 수평 가이드의 사용은 나중에 기술되는 바와 같은 다른 이점들을 갖는다.
이에 따라, 단순한 제약이, 사용자들에 의해 용이하게 이해되고 적용되는 방식으로, 페이지의 수직 플로우에서의 별도의 문단들의 입력에 대해 주어진다. 이러한 제약은, 도 7 의 예에서 실시되는 바와 같이, 문단들 사이의 비어있는 라인 (410), 예를 들어, 수평으로 오버랩하는 2개의 LPU들의 스페이싱이 되도록 항상 존재한다는 것이다. 이러한 규칙은 직접적으로 입력된 내용에 적용될 수 있는 페이지의 수직 플로우에서의 문단들과 드래그 & 드롭된 또는 푸쉬 & 드롭된 문단들 사이의 상대적인 레이아웃을 깔끔하게 유지하는 방식을 제공하고, 또한 활성 문단 (예를 들어, 입력이 생성되고 있거나 상호작용을 위해 선택되는 문단) 위의 가이드 엘리먼트의 분명한 디스플레이를 제공한다.
도 8 은 도 5 의 최종 입력 스테이지에 도시된 내용을 갖는 문단 (504) 을 도시한다. 도 8 에 예시된 바와 같이, 가이드 엘리먼트 (500) 의 수평 바 (508) 는 수평 (제 1) 라인 (508a), 및 수평 라인 (508a) 의 최우측 말단으로부터 하방으로 프로젝션하는 수직 (제 2) 라인 (508b) 으로 구성된다. 수평 라인 (508a) 은 문단 폭이 성장함에 따라 성장하고 그리고 그에 따라 오브젝트 블록 (예를 들어, 문단) 의 폭의 표시자로서 작용하는 가이드 엘리먼트 (500) 의 부분이다. 수직 라인 (508b) 은, 블록/문단이 페이지의 폭을 따라 종단하는 곳에 관한 시각적 단서를 사용자들에게 제공하는 가이드 엘리먼트 (500) 의 부분이다. 이에 따라, 수평 및 수직 라인들 (508a 및 508b) 은 문단/내용 블록 폭의 눈금자로서 가이드 바 (508) 를 제공한다.
눈금자 (508) 의 수직 라인 (508b) 은 또한, 리사이징 핸들과 같이 블록에 대한 상호작용식 눈금자 엘리먼트로서 사용될 수 있기 때문에 블록/문단에 대한 제어 특징을 제공할 수도 있다. 예를 들어, 도 8 에 있어서, 단일 포인트 또는 멀티 포인트 제스처 (A) (예컨대, 인터페이스 (104) 를 터치하거나 호버-오버하는 손가락 또는 스타일러스를 사용하여 행해지는 단일 탭, 롱 프레스, 또는 더블 탭) 를 수신하는 것에 응답하여, 문단 (504) 이 어플리케이션 (112) 에 의해 선택된다 (이 선택은 더 나중에 상술되는 바와 같이 사용자들에게 디스플레이될 수 있음). 그 후, 추가의 제스처 (B) (예컨대, 제스처 (A) 가 프레스, 또는 프레스와 드래그 또는 푸쉬였으면 드래그 또는 푸쉬) 를 수신하는 것에 응답하여, 문단 (504) 은, 블록의 내용의 결과적인 리플로우, 수평 라인 (508a) 의 리사이징, 및 요구된다면 리사이징 가이드의 디스플레이로, 리사이징된다.
도 8 에 있어서, 문단 (504) 의 폭은 워드 "world" 가 문단 (504) 의 제 1 라인 (410) 아래의 별도의 라인 (410) 상에 있도록 리플로우되어 눈금자 (508) 의 폭 표시자 (508a) 로 하여금 사이즈가 감소되게 하도록 더 작게 되고, 문단으로서 디스플레이될 리사이징 가이드 (600) 는 가이드 엘리먼트 (500) 의 라인 (410) 으로부터 시작하여 문단 (504) 의 마지막 라인 (410) 아래의 다음의 이용가능한 라인 (410) 으로 아래로 확장하는 문단 (504) 의 우측 (점선으로서 도시됨) 상에서 리사이징된다. 눈금자 (508) 의 수직 라인 (508b) 은, 내용 입력으로부터 사용자들을 산만하게 하지 않으면서 기술된 바와 같이 상호작용될 수 있는 한, 도면들에 도시된 것보다 더 크게, 더 작게 또는 그와는 상이하게 렌더링될 수도 있다. 대안적으로, 수직 라인 (508b) 은 오직 눈금자와의 접촉 상호작용 또는 호버-오버 상에만 디스플레이되거나 완전히 생략되고, 이에 의해, 예를 들어, 조작들을 수행하기 위해 가이드 엘리먼트의 수평 라인 (508a) 과 직접 상호작용하도록 사용자들의 자연적 거동들에 의존할 수도 있다. 추가로, 다중의 문단들이 어플리케이션 (112) 에서 이용가능한 선택 메커니즘들을 사용하여 한번에 선택되면, 가이드 엘리먼트는 이러한 선택 동안 모든 선택된 문단들과 연관된 툴바에 의해 대체될 수도 있다.
수평으로 배치된 가이드 엘리먼트의 다른 유리한 양태는 도 9 내지 도 12 에 도시된 바와 같이 실시간 내용 인식 피드백을 위한 활성 문단/블록 위의 프롬프터 (510) 의 제공이다. 전술된 바와 같이, 이용가능한 핸드라이팅된 노트 필기 어플리케이션들이 갖는 단점은 사용자들에 대한 효과적인 핸드라이팅 인식 피드백의 부족이어서 사용자들이 노트들의 문서 프로세싱 어플리케이션들로의 내보내기 전에 인식 정확도를 검증할 방법이 없다는 것이다. 일부 이용가능한 어플리케이션들은, 인식에 대한 변화들 및 정정들이 내보내기 이전에 행해질 수 있는 인식된 텍스트/내용의 내보내기 뷰를 제공한다. 하지만, 임의의 그러한 정정들은 오직 내보내기 뷰 내에서만 행해지고, 노트들의 디지털 잉크 자체에 반영되지 않는다.
프롬프터 (510) 는, 조판 잉크로서 가이드 엘리먼트 (500) 의 수평 라인 (508a) 의 상부 상에 디스플레이된 단일 라인 뷰로서 편집 뷰에서의 인식된 내용의 실시간 피드백을 제공한다. 도 9 는 페이지 (400) 의 라인 패턴 (410) 의 일부 상에 문단 (900) 으로의 워드들의 문자들 (502) 의 순차적인 핸드라이팅된 입력을 도시한다. 이전과 같이, 가이드 엘리먼트 (500) 가 문자들 (502) 의 입력 동안 생성되고 디스플레이된다. 가이드 엘리먼트 (500) 의 프롬프터 (510) 는, HWR 시스템 (114) 이 출력 (120) 을 제공할 때 문단 (900) 의 인식된 워드들 (510a) 을 디스플레이한다. 따라서, 입력 동안, 프롬프터 (510) 는 바 (508) 의 좌측 정렬된 범위로부터 수평 바 (508) 위에 임의의 새롭게 인식된 워드들을 디스플레이한다.
이러한 디스플레이는, 사용자들의 입력을 산만하게 하는 것을 최소화하면서 그들의 핸드라이팅의 인식의 라이브 시각적 표시를 제공하는 방식으로 수행된다. 예를 들어, 각각의 새롭게 인식된 워드는 제 1 가중치 및/또는 디지털 잉크를 위해 사용된 것보다 적은 가중치를 갖는 컬러, 예컨대, 청색의 조판을 사용하여 디스플레이될 수도 있고, 그 후, 새로운 워드들이 인식되지 않으면 짧은 시간 주기 이후 (예를 들어, 약 0.5 초 내지 약 1 초 이내) 에 또는 새롭게 인식된 워드가 입력되면 신속히 (예를 들어, 거의 즉시), 이전에 인식된 워드가 제 1 가중치보다 적은 제 2 가중치 및/또는 제 1 컬러와는 상이한 컬러 또는 제 1 컬러의 적어도 상이한 음영의 조판을 사용하여 재-디스플레이된다. 디스플레이 및 재-디스플레이는 페이드-인과 같은 미묘한 애니메이션으로 행해질 수도 있다.
보여질 수 있는 바와 같이, 조판 잉크는 더 많은 내용이 하나 이상의 라인들 상의 문단에 부가되도록 디지털 잉크보다 더 작고, 새롭게 인식된 워드들은 사용자들이 워드들의 문장 또는 스트링의 문맥 및 개별 워드들의 인식 양자 모두를 용이하게 볼 수 있도록 기존의 조판과 함께 조판된다. 하지만, 문단의 수직 범위가 그 수평 범위보다 더 크도록 더 많은 내용이 문단에 부가될 때, 새롭게 조판된 엘리먼트들은 프롬프터에서 이미 조판된 엘리먼트들과 맞지 않을 것이다. 이는, 우측이 아닌 오직 좌측으로의 프롬프터 내용의 오버플로우를 허용함으로써 핸들링된다. 예를 들어, 도 10 에 있어서, 문단 (900) 은 제 2 및 제 3 라인들 (410) 상에 부가된 추가의 내용 (502) 을 가져, 프롬프터 프레임으로서 정의된 눈금자 (508) 길이가 프롬프터 내용으로서 정의된 조판 텍스트의 길이보다 짧게 되게 한다. 이에 따라, 새롭게 인식된 워드들 (510a) 을 프롬프터 (510) 를 사용하여 사용자에게 계속 디스플레이하기 위하여, 프롬프터 내용은 프롬프터 (510) 디스플레이로부터 최좌측 조판 텍스트를 푸쉬하여 좌측으로 스크롤되어 (즉, 제 1 워드 "Hello" 가 사라짐), 새롭게 인식된 워드들/내용 (510a) (즉, 내용 "you?") 이 프롬프터 프레임의 우측 범위에서 디스플레이될 수 있다.
이러한 (동적 또는 자동) 프롬프터 스크롤링은, 새롭게 인식된 워드가 현재의 눈금자 길이를 넘어 디스플레이될 것임을 의미하는 조판 길이를 가짐 (예를 들어, 프롬프터 내용이 우측 상에서 프롬프터 프레임을 오버플로우할 것임) 을 어플리케이션 (112) 이 결정하는 것에 응답하여, 또는 조판 내용이 현재의 가이드 엘리먼트의 특정 포지션에 도달할 때 미리 세팅된 스크롤로서, 발생할 수 있다. 프롬프터 및 그 엘리먼트들은 추가로, 언제라도 사용자들이 프롬프터를 스크롤하여 임의의 이전에 인식된 내용을 리뷰할 수 있도록 상호작용식으로 구성될 수 있다. 이는, 도 10 에 도시된 바와 같은 스와이프와 같은 단일 포인트 또는 멀티 포인트 제스처 (C) 를 수신하는 것에 응답하여 수행될 수 있다. 그러한 수동 스크롤링 동안, 스크롤바 표시자가 도 10 에 도시된 밑줄 엘리먼트 (510b) 와 같이 디스플레이될 수도 있으며, 이는 스크롤링 거동을 표시한다. 수동 스크롤링이 발생한 이후, 현재의 프롬프터 스크롤 포지션은 추가의 상호작용까지 또는 새로운 내용이 문단/블록에 입력될 때까지 남겨지고, 이 경우, 프롬프터는 프롬프터 프레임의 그 우측 범위로 다시 스크롤링하고 새로운 입력 거동을 채택한다.
프롬프터의 조판 내용의 스크롤링을 넘어, 페이지 (400) 의 입력 영역 (408) 에서의 전체 내용이 이전에 논의된 바와 같이 스크롤링될 수도 있다. 따라서, 가이드 엘리먼트는, 페이지가 스크롤링됨에 따라 페이지의 상부/저부로부터 오프셋되는 임의의 현재 블록으로 스크롤링된다. 하지만, 가이드 엘리먼트의 유효성을 유지하기 위하여, 현재 블록이 iOS® "스티키 헤더" 거동과 유사하게 완전히 푸쉬-아웃될 때까지 현재 블록이 뷰 밖으로 스크롤링되고 있을 때 뷰 밖으로 푸쉬되는 것이 방지된다. 이에 따라, 페이지 (400) 상에서 부분적으로 가시적인 현재 블록에 대해 (예를 들어, 문단은 인터페이스 (104) 의 관측가능한 영역을 부분적으로 오버플로우하고 있음), 가이드 엘리먼트는 블록 내용이 밑에서 스크롤링하는 동안 최상부 포지션에 '고착 (stick)' 하며, 페이지 (400) 상에서의 가시성으로부터 이동된 현재 블록에 대해 (예를 들어, 문단은 인터페이스 (104) 의 관측가능한 영역을 완전히 오버플로우함), 가이드 엘리먼트는 그 고착성 거동을 상실하고 블록 내용의 마지막 라인을 갖는 관측가능한 영역 밖으로 스크롤링한다. 도 11 은 문단 (1100) 이 결과적인 디스플레이 효과들로 페이지 (400) 의 상부에서의 뷰 밖으로 스크롤링되는 이 거동의 일 예를 도시한다. 보여질 수 있는 바와 같이, 이러한 예시적인 스크롤 동작 동안, 일단 문단 (1100) 이 페이지 (400) 의 상부에 도달하면, 가이드 엘리먼트 (510) 는 페이지 (400) 의 상부 패딩 영역 (402) 을 점유하고 고착한다.
프롬프터에 의해 제공된 라이브 인식 피드백으로, 사용자들은 잘못 인식된 워드들/내용을 인지할 수도 있다. 그러한 오인은 열악한 품질의 핸드라이팅, 또는 인식 후보들의 오선택 또는 HWR 시스템 (114) 에 의해 프로세싱된 바와 같은 어휘집 밖의 워드들/내용의 존재로 인해 발생할 수도 있다. 일단 인지되면, 사용자들은 오인을 정정하기 위해 당업자에 의해 이해되는 방식으로 오직 핸드라이팅 편집 제스처들만을 사용하여 핸드라이팅을 보정할 수 있다. 대안적으로 또는 부가적으로, HWR 시스템 (114) 은 어플리케이션 (112) 에, 인식의 신뢰도가 낮음을 표시할 수도 있거나, 또는 어플리케이션 (112) 자체가 이러한 낮은 신뢰도를 결정할 수도 있다. 어느 경우든, 본 시스템 및 방법의 일 예에 있어서, 프롬프터 (510) 는, 어떤 것이 부정확함을 의미하도록 사용자들이 용이하게 이해하는 전용 렌더링을 의심스런 인식된 내용에 제공하도록 구성된다. 예를 들어, 도 12 에 있어서, 현재 문단 (1200) 으로부터의 가능성있게 오인된 워드 "agan" 은, 나머지 프롬프터 내용과는 상이하게 컬러링 및/또는 가중화될 수도 있는 밑줄 패턴, 예를 들어, 잘못 스펠링된 워드들의 텍스트 편집자 어플리케이션들에서 사용된 것과 같은 적색의 지그재그 패턴으로 프롬프터 (510) 에 렌더링된다.
프롬프터는, (하이라이팅된) 조판 잉크가 정정을 위해 또는 가이드 엘리먼트 (500) 에서의 직접적으로 다른 또는 더 많은 선호된 워드들로의 대체를 위해 또는 조판 잉크와의 임의의 다른 원하는 상호작용을 위해 선택될 수 있도록, 추가로 상호작용식이 되도록 또는 상호작용식 프롬프터 엘리먼트들로 구성될 수 있다. 이는, 예를 들어, 도 12 에 도시된 바와 같은 단일 탭 (D) 과 같은 단일 포인트 또는 멀티 포인트 제스처를 수신하는 것에 응답하여 수행될 수 있다. 선택 시, (HWR 시스템 (114) 에 의해 팝퓰레이팅된 바와 같은) 다른 인식 후보들의 메뉴가 디스플레이될 수도 있으며, 이로부터, 도 12 의 예에 도시된 바와 같은 후보 메뉴 (1202) 상의 단일 탭 (E) 과 같은 단일 포인트 또는 멀티 포인트 제스처를 수신하는 것에 응답하여 디스플레이되면, 정확한 후보가 선택될 수 있다. 도 12 에 있어서, 후보 메뉴 (1202) 는 원래의 오인된 워드에 대응하는 제 1 엔트리 이후에 다음의 상부 3개의 후보 워드들 "again", "aging" 및 "agent" (HWR 시스템 (114) 에 의해 리턴됨) 을 가지며, 정확한 워드 "again" 이, 그 워드 상의 단일 탭 (E) 을 수신하는 것에 응답하여 그리고 프롬프터 내용이 "agan" 을 "again" 로 대체하도록 변경되는 것 (새로운 인식된 워드가 렌더링함; 체크되고 있는 워드가 또한 체킹 프로세스 동안 유사하게 렌더링될 수 있음을 유의) 에 응답하여, 선택된다. 이러한 프로세스의 결과는 HWR 시스템 (114) 으로 다시 통신되어, 인식 스테이지 (118) 를 트레이닝하는 것을 도울 수도 있다. 선택 및 조판 잉크와의 상호작용 동안, 대응하는 디지털 잉크는 선택된 조판 잉크와 유사한 방식으로 하이라이팅될 수도 있다. 하지만, 이러한 프로세스에 의해 디지털 잉크는 변경되지 않음이 보여질 수 있는데, 왜냐하면 사용자는 인식 피드백이 아닌 핸드라이팅된 내용과 상호작용하지 않기 때문이다. 하지만, 디지털 잉크와의 직접적인 상호작용이 또한 편집 등을 수행하기 위해 가능하다.
물론 디지털 잉크의 편집은 프롬프터에 디스플레이되는 인식된 텍스트에 대한 결과를 갖는다. 사용자들이 핸드라이팅 내용을 선택할 경우, 프롬프터는 이러한 하위 문맥을 반영하고 이에 따라 그 내용을 적응할 것이다. 도 13 은 프롬프터 (510) 에 대응하는 인식된 워드 디스플레이를 갖는 도 10 의 문단 (900) 을 도시한다. 문단 (900) 의 워드 "world" 는 롱 프레스 (F) 와 같은 단일 포인트 또는 멀티 포인트 제스처를 수신하는 것에 응답한 상호작용에 대해 선택된다. 이러한 선택에 응답하여, 프롬프터 (510) 는, 인식된 워드 "world" 가 프롬프터 (510) 에 남겨진채로 도 13 에 도시된 바와 같이, 모든 다른 프롬프터 내용의 일부 전술한 컬러/가중치 하이라이팅 및/또는 제거로, 선택된 워드(들)에 대응하는 인식된 워드(들) 상에 그 자신을 재배치하도록 수평으로 스크롤링된다 (필요하면, 예를 들어, 선택된 워드(들)가 현재 프롬프터 프레임 밖에 있음). 대안적으로, 선택된 워드(들)에 대응하는 조판 잉크 이외의 모든 조판 잉크는 프롬프터 디스플레이로부터 생략된다. 이러한 방식으로, (공지된 선택 핸들들 등으로 도시된 바와 같이 하이라이팅될 수 있는) 편집/조작을 위한 선택된 디지털 잉크에 대응하는 인식된 내용은 편집 동안 사용자들에 의해 용이하게 확인될 수 있다. 선택이 확장되면 (예를 들어, 선택 핸들들이 드래그/푸쉬됨), 프롬프터 내용이 이에 따라 업데이트된다.
선택 모드가 종료될 때, 프롬프터 내용은 현재 프롬프터 프레임 내에 전체 프롬프터 내용을 디스플레이하는 것으로 리턴한다. 선택된 디지털 잉크가 삭제되면, 대응하는 인식된 내용이 또한, 일부 애니메이션 (예를 들어, 제거된 문자들/워드들의 페이드-아웃) 및 남겨진 공간을 채우기 위한 나머지 프롬프터 내용의 재-디스플레이 또는 트랜슬레이션으로, 삭제된다. 선택된 디지털 잉크가 오버라이팅되거나 그렇지 않으면 대체되면, 대응하는 이전의 인식된 내용은, 새로운 프롬프터 내용을 위한 통상의 인식 업데이트와 동일한 애니메이션 및 다른 프롬프터 내용의 재-디스플레이/트랜슬레이션으로, 새롭게 인식된 내용으로 대체된다.
본 시스템 및 방법의 가이드 엘리먼트의 프롬프터는 추가로, 부가적인 피드백 및 상호작용을 제공하도록 구성될 수도 있다. HWR 시스템 (114) 은 즉석에서 다중의 언어들을 인식 가능할 수도 있다. 이는 부분적으로, 사용자들이 입력 언어를 미리 선택하는 필요성을 제거하며, 이는 특히, 언어들이 페이지들, 문단들 및 심지어 문장들에서 상호 대체가능하게 사용되고 있을 경우에 문제가 된다. 하지만, 그러한 다중 언어 검출은, 반드시 항상, 인식을 위해 정확한 언어를 선택하거나 또는 상이한 언어들을 기록함에 있어서의 사용자들의 의도를 반영할 필요는 없다. 가이드 엘리먼트의 프롬프터는 프롬프터 내용 내에 다중 언어 태깅을 디스플레이함으로써 이러한 언어 검출 (또는 수동 선택; 하기 참조) 을 표시함에 있어서 매우 유용하도록 구성될 수 있으며, 이로부터, 사용자들은 상이한 인식 언어들이 디지털 잉크 내용에 적용되고 있음을 확인할 수 있다.
도 14 및 도 15 는 본 시스템 및 방법의 일 예에 따른 프롬프터의 언어 태깅의 예시적인 렌더링을 도시한다. 도 14 는 제 1 언어 (즉, 스페인어) 의 내용 (1400a) 및 제 2 언어 (즉, 영어) 의 내용 (1400b) 을 포함하는 디지털 잉크 내용 (1400) 을 도시한다. 가이드 엘리먼트 (500) 의 프롬프터 (510) 에 있어서, 인식 내용은 인식된 언어들을 반영하고, HWR 시스템 (114) 에 의해 검출된 언어를 표시하는 인식된 언어들 이전에 (예를 들어, 좌측에) 태그들 (510c) 을 디스플레이한다. 예를 들어, 스페인어 내용 이전의 태그 (510c) 는 "ES" 를 표시하고, 영어 내용 이전의 (예를 들어, 스페인어와 영어 내용 사이의) 태그 (510c) 는 "EN" 을 표시한다.
이들 태그들은 또한, 사용자들이 메뉴 등을 통해 입력의 언어를 구체적으로 선택할 경우에 사용될 수 있어서, 다른 언어로 (예를 들어, 어플리케이션 (112) 의 메인 언어로 다시) 스위칭할 경우, 다른 언어 태그가, 이전 언어 시퀀스의 말단과 새로운 언어의 시작부 양자를 마킹하도록 부가된다. 그러한 메인 언어 및 대안적인 언어의 태그들은 상이한 스타일링으로, 예컨대, 대안적인 언어들에 대해 이탤릭체 텍스트로 렌더링될 수 있다. 용어들 '메인' 및 '대안적인' 은, 오퍼레이팅 시스템 (110) 의 언어에 기초하여 일반적으로 수행되는, 예컨대, 디바이스 (100) 의 메모리 (108) 로의 설치를 통해 HWR 시스템 (112) 에 대한 그 언어들에서의 어휘들의 상대적인 사이즈들 및 가용성을 반영한다. HWR 시스템에 의한 이들 상이한 어휘들의 사용은, 감소된 어휘로부터 또는 일 언어로부터의 워드들을 다른 언어의 어휘로 정확하게 인식하기 위한 HWR 시스템의 능력이 일반적으로 심각하게 제한되기 때문에, 출력 (120) 을 초래한다.
언어 태그들의 유효성을 유지하기 위하여, 언어 태그들은, 추가의 디지털 잉크가 입력되고 프롬프터 내용이 그에 따라 스크롤할 때 또는 사용자들이 프롬프터를 수동으로 스크롤할 경우에, 연관된 프롬프터 내용과 인라인으로 함께 이동한다. 프롬프터 내용이 현재 프롬프터 프레임을 오버플로우할 경우, 언어 태그들은 iOS® "스티키 헤더" 거동을, 하지만, 수평 문맥에서 모방한다. 예를 들어, 도 15 에 도시된 바와 같이, 디지털 잉크의 문단 (1500) 은 제 1 언어 부분 (1500a) (예를 들어, 프랑스어) 및 제 2 언어 부분 (1500b) (예를 들어, 영어) 을 포함하고, 이들은 프롬프터 (510) 의 내용에 태그들 (510a) (예를 들어, "FR" 및 "EN") 로 표시된다. 추가의 내용이 언어 부분 (1500b) 에서의 문단 (1500) 에 입력됨에 따라, 프롬프터 내용은 좌측으로 스크롤링되고, 일단 제 1 태그 (510c) ("FR") 가 프롬프터 프레임의 최좌측 범위에 도달하면 최좌측 포지션에 고착하고, 그 우측에서의 텍스트 내용은, 제 2 태그 (510c) ("EN") 를 포함한 다른 내용의 스크롤링과 함께 프롬프터 프레임 밖에서 "고착된" 태그 (510c) 아래로 스크롤하도록 보인다. 제 2 언어 태그 (510c) ("EN") 가 고착된 언어 태그 (510c) ("FR") 를 "터치"하도록 스크롤링될 경우, 제 2 태그는 프롬프터 프레임 밖의 제 1 태그를 좌측으로 푸쉬하고, 그 고착성 포지션을 프롬프터 프레임의 최좌측 포지션에서 취한다.
언어 태그들은 추가로, 예를 들어, 인식을 위한 상이한 언어의 선택을 위한 상호작용식 프롬프터 엘리먼트일 수도 있다. 이는, 예를 들어 단일 탭과 같은 단일 포인트 또는 멀티 포인트 제스처를 사용한 태그 상의 선택에 의해 달성되고, 이에 응답하여, 다른 언어 선택을 위한 메뉴 등이 디스플레이되고, 이로부터, 이용가능한 언어들이, 새로운 출력 (120) 을 사용한 프롬프터 내용에서의 후속적인 대체로 HWR 시스템 (114) 에 의한 재-인식을 위해, 선택될 수 있다. 언어 태그들과의 그러한 상호작용은 또한, 예를 들어, 디바이스 (100) 로 액세스가능한 언어 트랜슬레이션 어플리케이션을 사용하여 언어들 간의 인식된 워드들을 트랜슬레이트하기 위한 수단을 제공할 수 있다. 추가로, 본 시스템 및 방법에 따른 가이드 엘리먼트의 프롬프터는, 디바이스 (100) 로 액세스가능한 적합한 어플리케이션을 사용하여 어플리케이션 (112) 에서 핸드라이팅된 텍스트 또는 음악 표기로부터 조판된 프롬프터 내용의 오디오/음성 렌더링 또는 그 부분, 또는 디바이스 (100) 로 액세스가능한 계산 어플리케이션을 사용하여 어플리케이션 (112) 에서 핸드라이팅된 산술식들로부터 조판된 프롬프터 내용의 자동 계산 또는 그 부분과 같은 상이한 목적들을 위해 다른 타입들의 상호작용식 태그들을 디스플레이하도록 구성가능하다.
본 시스템 및 방법의 가이드 엘리먼트의 추가의 유리한 어플리케이션은 가이드 엘리먼트 자체를 통한 어플리케이션 (112) 의 부가적인 상호작용식 제어 엘리먼트들로의 액세스를 사용자들에게 제공하는 것이다. 이러한 방식으로, 제어 엘리먼트들은, 어플리케이션의 상부 바와 같은 통상의 메커니즘들을 사용하는 것보다 내용에 훨씬 더 근접하게 액세스가능하다. 이러한 특징의 일 예가 도 16 에 도시되며, 도 16 에서, 가이드 엘리먼트 (500) 는 마지막 인식된 워드/엘리먼트 이후에 (예를 들어, 그 우측에) 프롬프터 프레임의 최우측 범위에 "모어 (more)" 아이콘으로서 디스플레이된 제어 액세스 엘리먼트 (512) 를 포함한다. 제어 액세스 엘리먼트 (512) 는, 예를 들어, 단일 탭과 같은 단일 포인트 또는 멀티 포인트 제스처를 통해 상호작용식이고, 이에 응답하여 문맥형 메뉴가 디스플레이된다. 예를 들어, 도 16 에 있어서, '모어' 엘리먼트 (512) 의 선택 시, 예를 들어 모든 또는 특정 이용가능한 액션들에게 분명히 식별가능한 아이콘들을 그리고 내용 변환 액션들 (예컨대, 리플로우 및 조판) 및 표준 액션들 (예컨대, 잘라내기, 복사, 삭제) 로의 분리를 제시하는 드롭다운 메뉴 (1600) 가 디스플레이된다. 내용 입력 동안 사용자들을 산란하게 하지 않기 위하여, 제어 액세스 엘리먼트 (512) 는 오직 입력이 수행되고 있지 않을 경우에만 디스플레이될 수도 있다. 예를 들어, '모어' 아이콘이 비가시 상태로 페이드-아웃되는 손가락/펜 다운 이벤트의 검출 즉시, 기록하는 동안 아이콘은 비가시 상태로 유지되고, 기록한 이후, 예를 들어, 손가락/펜 업 이벤트 플러스 미리정의된 시간 주기 (예를 들어, 약 0.5 초 내지 약 1 초) 의 검출 시, '모어' 아이콘은 완전 가시성으로 다시 페이딩된다.
이제까지 설명된 가이드 엘리먼트의 예들에 있어서, 가이드 엘리먼트의 눈금자는, 입력 내용 문단들/블록들과 실질적으로 인접하도록 렌더링된다. 다른 예들에 있어서, 가이드 엘리먼트는, 대신, 본 디지털 노트 필기 어플리케이션의 문서 모델의 특정 특징들에 고수하도록 구성될 수도 있다. 전술된 바와 같이, 스크롤가능 페이지 (400) 는, 사용자들이 인식 최적화를 위해 깔끔하게 핸드라이팅하는 것을 돕기 위해 라인 패턴 배경 (410) 으로 정의된다. 이러한 라인 패턴 배경은 또한, 핸드라이팅된 노트들로부터 적절한 문서 생성을 돕기 위해 (예를 들어, LPU들에 의해) 내용 엘리먼트들의 통상의 수직 스페이싱을 제공한다. 설명된 바와 같이, 가이드 엘리먼트 (500) 는 또한, 입력 내용의 각각의 문단 또는 블록과 관련하여 라인 패턴 배경 (410) 과 정렬된다. 핸드라이팅된 내용의 라인들과 같이, 가이드 엘리먼트 높이는 또한 수직 스페이싱 유닛에 의해 제어되며, 도면들의 예들에 있어서 하나의 LPU 이다. 이는, 어플리케이션 (112) 의 클린 UI 및 라인 패턴과의 적절한 정렬을 제공한다.
이러한 라인 패턴으로, 스크롤가능 페이지는, 사용자들로 하여금 사이징 또는 정렬에 관한 걱정없이 어느 곳에서나 오브젝트 블록들 (텍스트, 드로잉들, 방정식들, 및 음악 표기 등의 블록들) 을 생성하게 하는 다른 무제약 캔버스 중 어느 하나로서 제공될 수 있다. 유체 상호작용을 제공하고 그리고 사용자들이 레이아웃의 제어에 있음을 느끼게 하기 위하여, 오브젝트 블록의 임의의 이동/리사이징이 실시간으로 업데이트되고, 상호작용 동안 현재의 터치 또는 호버 포지션과 정렬될 수도 있다. 하지만, 구조화된 내용을 포함하는 전문적으로 포맷팅된 문서들을 제공하기 위하여, 모든 내용이 (입력에서 또는 사용자 상호작용으로) 정렬/정의되게 되는 추가의 정렬 패턴이 정의될 수도 있다. 이러한 정렬 패턴은 서로와 관련하여 개별 내용 블록들의 적절한 핸들링을 허용하도록 정의된다.
정렬 패턴은 페이지 (400) 의 마진들 (404 및 406) 내에서 실질적으로 정의되는 패딩 영역들을 갖고, 이들 마진들 사이에서, 이용가능한 수평 공간이 사용자 내용을 위한 입력 영역으로서 정의된다. 이러한 방식으로, 내용은 디바이스 (100) 의 인터페이스 (104) 의 에지들에 너무 가까이 입력되는 것이 방지된다. 이러한 입력 영역은 다수의 컬럼들로 분할되고, 이 컬럼들은 모두 동일한 폭이고 입력 영역을 충진하도록 유연하며, dp 에서의 최소 어플리케이션 폭 값, 예를 들어, 어플리케이션 (112) 이 풀-스크린에서 제공될 경우 스크린 폭 또는 데스크탑/랩탑 또는 태블릿 상의 분할 스크린과 같이 감소될 경우 단지 윈도우 폭으로서, 브레이크 포인트들을 정의한다. 추가로, 거터 (gutter) 공간들이 각각의 컬럼 분할에 관하여 정의되어 오브젝트 블록들이 서로 너무 가깝게 배치되는 것을 방지할 수도 있다.
스냅-투-패턴 (snap-to-pattern) 거동이 오브젝트 블록 정렬을 위해 사용된다. 수직 스냅은 라인 패턴 (410) 에 대한 참조를 통해 2가지 방식들로, 즉, 모든 오브젝트 블록 높이들이 LPU 의 정수 배수들임을 확실히 함으로써 또는 각각의 블록의 적어도 상부 경계가 라인 패턴 배경 (410) 의 다음의 이용가능한 라인과 정렬됨을 확실히 함으로써, 핸들링된다. 전자의 경우, 사용자 상호작용이 무엇이든지 (예를 들어, 새로운 것, 편집된 것, 이동된 것, 리사이징된 것), 모든 오브젝트 블록들은 항상 수직 LPU 에 따라 배치되고 LPU 라운딩된다 (예를 들어, 상부 및 저부 경계들이 라인 패턴 배경 (410) 과 정렬됨). 어느 방식이든, 스냅-투-그리드 메커니즘의 LPU 부분이 제공된다. 수평 스냅에 대해, 사용자 상호작용이 무엇이든지 (예를 들어, 새로운 것, 편집된 것, 이동된 것, 리사이징된 것), 모든 오브젝트 블록들의 좌측 및 우측 경계들은 어떠한 경우든 정렬 패턴의 컬럼들 (또는 거터들) 과 정렬된채로 남아 있다. 이는 스냅-투-그리드 메커니즘의 레이아웃 부분을 제공한다. 이에 따라, 수직 및 수평 스냅 동작들은 수직 정렬 및 수평 정렬을 LPU (수직) 및 레이아웃 (수평) 그리드에 제공한다.
예시적인 LPU 및 레이아웃 (정렬) 그리드 (1700) 가 도 17 및 도 18 에 예시된다. 도 17 및 도 18 의 각각에 있어서, 스크롤가능 페이지 (400) 의 부분은 디바이스 인터페이스의 관측가능 영역에서 도시된 바와 같이 개략적인 형태들로 도시된다. 스크롤가능 페이지 (400) 는, 그리드 (1700) 의 수평 라인들 (1702) (점선들로 분할되어 도시됨) 로서의 라인 패턴 배경 (410) 및 페이지 (400) 를 다수의 컬럼들, 예를 들어, 도면들에서 6개 컬럼들로 분할하는 그리드 (1700) 의 수직 라인들 (1704) (점선들로 분할되어 도시됨) 에 의해 정의된 정렬 패턴으로부터 구성된 정렬 그리드 (1700) 로 도시된다. 스크롤 페이지의 마진들 및 상부 패딩, 그리고 정렬 패턴의 컬럼 거터들 및 패딩 영역들은 설명의 용이를 위해 도면들에서 생략된다. 정렬 그리드 자체는 사용자들에게 디스플레이되지 않고, 어플리케이션 (112) 에 대한 오브젝트 블록들의 레이아웃의 관리를 위한 비가시적 가이드로서 작동한다. 하지만, 라인 패턴 배경 (410) 은 사용자들에게 디스플레이되어, 전술된 바와 같이, 기록 사이즈 및 배치에 관한 안내를 제공할 수도 있다. 블록들 및 정렬 그리드의 사용은 블록들의 상대적인 레이아웃을 유지하면서 블록들 내의 내용이 편집되게 한다.
기록할 경우, 텍스트는 실질적으로, 손가락 또는 스타일러스가 디바이스 인터페이스와 관련하여 사용자에 대한 자유로운 기록 경험을 보존하도록 하는 곳에 나타난다. 하지만, 문단 경계들은, 무슨 경우라도, LPU 및 레이아웃 그리드와 정렬된다. 예를 들어, 문단의 좌측 경계는 최근접 좌측 컬럼 에지 (거터) 와 정렬되고, 문단의 우측 경계는 최근접 우측 컬럼 에지 (거터) 와 정렬된다. 들여쓰기 (예를 들어, 좌측-우측 기록 언어들을 위해 문단 좌측 원점으로부터 수평으로 오프셋된 텍스트) 와 같은 내부 문단 특징들은, LPU 및 레이아웃 그리드 사이징과 관련없는 문단의 각각의 라인에 대해, 예를 들어, 메모리 (108) 에 속성으로서 저장되거나 컬럼들과 정렬될 수도 있다.
도 17 에 있어서, 그리드 (1700) 의 최좌측 또는 제 1 수직 라인 (1704) 에 정렬되고 그리드 (1700) 의 수평 라인들 (1702) 중 4개 라인 또는 4개 LPU들에 걸치는 문단 (1706) 이 도시된다. 문단은 수평 실선들로서 도시된 핸드라이팅된 텍스트를 포함한다. 경계 (1706a) (점선들로 도시됨) 는 문단 (1706) 에 대해 정의된다. 도시된 바와 같이, 문단 (1706) 자체의 텍스트는 정렬 그리드에 스냅되지 않아서, 사용자는 그 제어가 상실된 느낌을 얻지 않지만, 문단 (1706) 의 경계 (1706a) 는 문단 내용에 가장 가까운 그리드 (1700) 의 수평 및 수직 라인들 (1702, 1704) 과 정렬된다. 텍스트가 정렬 그리드에 스냅되지 않지만, 가이드 엘리먼트 (500) 의 눈금자 (508) 는 문단 (1706) 의 경계 (1706a) 의 상부 수평 라인으로서 제공됨이 보여질 수 있고, 그에 따라, 가이드 엘리먼트 (500) 는 정렬 그리드 (1700) 에 스냅된다. 이는 도 18 에 더 분명하게 도시되며, 도 18 에서, 최좌측 수직 라인 (1704) 에 정렬된 문단 (1800) 은 단지 정렬 그리드 (1700) 의 제 4 컬럼으로만 확장하는 핸드라이팅된 텍스트 (수평 실선들로서 도시됨) 를 가져서, 문단 (1800) 에 대해 정의된 경계 (1800a) (점선들로 도시됨) 는 제 5 수직 라인 (1704) 으로 확장하고, 이에 의해, 가이드 엘리먼트 (500) 의 눈금자 (508) 를 그리드 (1700) 의 그 수직 라인 (1704) 으로 정의한다.
문단/내용 블록들의 경계들은 정렬 그리드와 관련하여 입력 엘리먼트들의 범위를 결정하기 위해 본 시스템 및 방법에 의해 사용되는 것들이고, 이에 따라, 가이드 엘리먼트의 눈금자로서 디스플레이되는 상부 경계를 제외하면 통상적으로 어플리케이션 (112) 에 의해 사용자들에게 디스플레이되지 않는다. 하지만, 블록들의 움직임 등과 같은 편집 동작들 동안, 경계들 모두는, 사용자들이 레이아웃의 다른 엘리먼트들에 대한 엘리먼트들의 적절한 배치를 돕기 위해 디스플레이될 수도 있다. 추가로, 적절한 스페이싱의 사용자의 인지를 돕기 위하여, 적어도 현재의 입력 컬럼의 거터들 내에서의 라인 패턴 배경의 디스플레이는 입력 동안 생략될 수도 있다. 예를 들어, 제 4 컬럼 그리드의 제 2 컬럼에서의 입력 동안, 라인 패턴 배경은 제 2 컬럼의 좌측 및 우측 거터들에서 생략/마스킹되고, 추가로, 제 1 컬럼의 우측 거터 및 제 3 컬럼의 좌측 컬럼에서 생략/마스킹될 수도 있다.
본 시스템 및 방법에 의해 제공된 디지털 노트 필기 어플리케이션은 사용자들로 하여금 자연적 기록이 입력되도록 허용됨에 따라 컴퓨팅 디바이스 상의 공유가능한 포맷팅된 문서들로 변환될 수 있는 컴퓨팅 디바이스를 사용하여 내용을 핸드라이팅하게 하는데, 왜냐하면 그 기록은 (괘선) 라인들 상에서 행해지도록 가이드되고 문단들과 다른 레이아웃 엘리먼트들이 존중되고, 핸드라이팅의 조판이 행해지고 사용자들에게 핸드라이팅 입력을 산만하게 하지 않는 라이브 인식 피드백이 행해지기 때문이다.
전술한 바는 최상의 모드 및/또는 다른 예들인 것으로 고려되는 것을 설명하였지만, 다양한 수정들이 본 명세서에서 행해질 수도 있고, 본 명세서에 개시된 주제가 다양한 형태들 및 예들로 구현될 수도 있으며, 그리고 이들이 다수의 다른 어플리케이션들, 조합들, 및 환경들에 적용될 수도 있음 (이들 중 오직 일부만이 본 명세서에서 설명되었음) 이 이해된다. 당업자는 개시된 양태들이 그 주제의 진정한 사상 및 범위로부터 일탈함없이 변경되거나 보정될 수도 있음을 인식할 것이다. 따라서, 그 주제는 본 설명에서 특정 상세들, 전시들, 및 도시된 예들로 한정되지 않는다. 본 명세서에 개시된 유리한 개념들의 진정한 범위 내에 있는 임의의 및 모든 수정들 및 변동들을 보호하는 것이 의도된다.

Claims (33)

  1. 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템으로서,
    상기 컴퓨팅 디바이스는 프로세서, 및 상기 프로세서의 제어 하에 상기 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
    컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 상기 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트를 생성하는 것으로서, 상기 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성되고, 상기 가이드 엘리먼트는 핸드라이팅이 입력됨에 따라 상기 핸드라이팅 입력으로부터 인식된 상기 디지털 잉크에 대응하는 조판 잉크를 동적으로 디스플레이하는 동적 프롬프터를 포함하는, 상기 가이드 엘리먼트를 생성하고; 그리고
    상기 핸드라이팅이 상기 상호작용식 디스플레이에 입력됨에 따라 상기 가이드 엘리먼트가 대응하여 리사이징되도록, 상기 핸드라이팅 입력에 대해 동일 범위로 상기 가이드 엘리먼트를 포지셔닝하도록
    구성되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 동적 프롬프터는 적어도 하나의 상호작용식 프롬프터 엘리먼트를 포함하고,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상기 적어도 하나의 상호작용식 프롬프터 엘리먼트와의 상호작용을 수신하는 것에 응답하여 적어도 상기 조판 잉크에서의 변경을 야기하도록 구성되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 상호작용식 프롬프터 엘리먼트는 상기 조판 잉크를 포함하는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  4. 제 2 항에 있어서,
    상기 적어도 하나의 상호작용식 프롬프터 엘리먼트는 상기 조판 잉크와 관련된 적어도 하나의 태그를 포함하는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  5. 제 4 항에 있어서,
    상기 적어도 하나의 태그는 상기 조판 잉크를 포함하는 워드들의 하나 이상의 언어들과 관련되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  6. 제 1 항에 있어서,
    상기 가이드 엘리먼트는, 상기 핸드라이팅이 입력됨에 따라, 상기 디지털 잉크의 적어도 하나의 치수를 동적으로 표시하는 동적 눈금자를 포함하는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  7. 제 6 항에 있어서,
    상기 조판 잉크는 상기 동적 눈금자의 적어도 하나의 치수를 따라 디스플레이되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  8. 제 6 항에 있어서,
    상기 동적 눈금자는 상기 디지털 잉크를 포함하는 내용 블록의 폭을 표시하는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  9. 제 8 항에 있어서,
    상기 동적 눈금자는 상호작용식 눈금자 엘리먼트를 포함하고,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상호작용식 엘리먼트와의 상호작용을 수신하는 것에 응답하여 상기 내용 블록의 적어도 상기 폭에서의 변경을 야기하도록 구성되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  10. 제 1 항에 있어서,
    상기 가이드 엘리먼트는 상호작용식 제어 엘리먼트를 포함하고,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상기 프로세서로 하여금 상기 상호작용식 제어 엘리먼트와의 상호작용을 수신하는 것에 응답하여 상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 제어하게 하도록 구성되는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 시스템.
  11. 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법으로서,
    상기 컴퓨팅 디바이스는 프로세서, 및 상기 프로세서의 제어 하에 상기 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고,
    상기 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법은,
    컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 상기 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트를 생성하는 것으로서, 상기 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성되고, 상기 가이드 엘리먼트는 핸드라이팅이 입력됨에 따라 상기 핸드라이팅 입력으로부터 인식된 상기 디지털 잉크에 대응하는 조판 잉크를 동적으로 디스플레이하는 동적 프롬프터를 포함하는, 상기 가이드 엘리먼트를 생성하고; 그리고
    상기 핸드라이팅이 상기 상호작용식 디스플레이에 입력됨에 따라 상기 가이드 엘리먼트가 대응하여 리사이징되도록, 상기 핸드라이팅 입력에 대해 동일 범위로 상기 가이드 엘리먼트를 포지셔닝하도록
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 구성하는 단계를 포함하는, 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법.
  12. 컴퓨터 판독가능 프로그램 코드가 수록된 비일시적 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법을 구현하기 위해 실행되도록 적응되고,
    상기 컴퓨팅 디바이스로의 핸드라이팅 입력을 가이드하기 위한 방법은,
    컴퓨터 디바이스의 상호작용식 디스플레이 상에서, 상기 핸드라이팅 입력에 대응하는 디지털 잉크의 디스플레이의 적어도 일부와 인접한 가이드 엘리먼트의 디스플레이를 생성하는 단계로서, 상기 가이드 엘리먼트는 추가의 핸드라이팅 입력을 가이드하도록 구성되고, 상기 가이드 엘리먼트는 핸드라이팅이 입력됨에 따라 상기 핸드라이팅 입력으로부터 인식된 상기 디지털 잉크에 대응하는 조판 잉크를 동적으로 디스플레이하는 동적 프롬프터를 포함하는, 상기 가이드 엘리먼트의 디스플레이를 생성하는 단계; 및
    상기 핸드라이팅이 상기 상호작용식 디스플레이에 입력됨에 따라 상기 가이드 엘리먼트가 대응하여 리사이징되도록, 상기 핸드라이팅 입력에 대해 동일 범위로 상기 가이드 엘리먼트를 포지셔닝하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
KR1020187008394A 2015-08-25 2016-08-25 핸드라이팅 입력을 가이드하는 시스템 및 방법 KR102381801B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP15290218 2015-08-25
EP15290218.5 2015-08-25
US14/886,200 US10416877B2 (en) 2015-08-25 2015-10-19 System and method of guiding handwriting input
US14/886,200 2015-10-19
PCT/EP2016/001445 WO2017032458A1 (en) 2015-08-25 2016-08-25 System and method of guiding handwriting input

Publications (2)

Publication Number Publication Date
KR20180077152A KR20180077152A (ko) 2018-07-06
KR102381801B1 true KR102381801B1 (ko) 2022-03-31

Family

ID=54106283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187008394A KR102381801B1 (ko) 2015-08-25 2016-08-25 핸드라이팅 입력을 가이드하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US10416877B2 (ko)
EP (1) EP3341827B1 (ko)
JP (1) JP6895950B2 (ko)
KR (1) KR102381801B1 (ko)
CN (1) CN108351746B (ko)
WO (1) WO2017032458A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614300B2 (en) * 2014-12-23 2020-04-07 Lenovo (Singapore) Pte. Ltd. Formatting handwritten content
US10852938B2 (en) 2016-01-07 2020-12-01 Myscript System and method for mixed content digital ink interactivity
JP6728993B2 (ja) * 2016-05-31 2020-07-22 富士ゼロックス株式会社 筆記システム、情報処理装置、プログラム
US10514844B2 (en) * 2016-11-16 2019-12-24 Dell Products L.P. Automatically modifying an input area based on a proximity to one or more edges
US10761719B2 (en) * 2017-11-09 2020-09-01 Microsoft Technology Licensing, Llc User interface code generation based on free-hand input
US20190155895A1 (en) * 2017-11-20 2019-05-23 Google Llc Electronic text pen systems and methods
US20190318652A1 (en) * 2018-04-13 2019-10-17 Microsoft Technology Licensing, Llc Use of intelligent scaffolding to teach gesture-based ink interactions
US11017258B2 (en) * 2018-06-05 2021-05-25 Microsoft Technology Licensing, Llc Alignment of user input on a screen
US11048931B2 (en) * 2019-02-19 2021-06-29 Lenovo (Singapore) Pte. Ltd. Recognition based handwriting input conversion
US10783323B1 (en) * 2019-03-14 2020-09-22 Michael Garnet Hawkes Analysis system
US10769348B1 (en) * 2019-09-23 2020-09-08 Typetura Llc Dynamic typesetting
CN112860157B (zh) * 2019-11-12 2022-06-24 广州视源电子科技股份有限公司 显示元素调整方法、装置、设备及存储介质
CN110969129B (zh) * 2019-12-03 2023-09-01 山东浪潮科学研究院有限公司 一种端到端税务票据文本检测与识别方法
KR20220017290A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 손글씨 정렬 방법 및 장치
US20230289515A1 (en) * 2022-03-08 2023-09-14 Xerox Corporation Methods and systems for adding annotations from a printed version of a document to a digital version of the document
CN116720489B (zh) * 2023-08-08 2023-11-07 建信金融科技有限责任公司 页面填充方法及装置、电子设备和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060284851A1 (en) 2005-06-15 2006-12-21 Pittman John S Programmable orientation handwriting recognition system and method
US20090161958A1 (en) 2007-12-21 2009-06-25 Microsoft Corporation Inline handwriting recognition and correction
JP2015115682A (ja) 2013-12-10 2015-06-22 セイコーエプソン株式会社 画像表示装置、プロジェクター、および画像表示装置の制御方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3362913B2 (ja) * 1993-05-27 2003-01-07 松下電器産業株式会社 手書き文字入力装置
JPH10171589A (ja) * 1996-12-09 1998-06-26 Hitachi Ltd 手書き文字入出力方法
JP2000123114A (ja) * 1998-10-15 2000-04-28 Casio Comput Co Ltd 手書き文字入力装置及び記憶媒体
JP4441966B2 (ja) * 1999-12-21 2010-03-31 富士通株式会社 手書き文字入力装置及びそれを実現するためのプログラムを記録した記録媒体
US6664991B1 (en) * 2000-01-06 2003-12-16 Microsoft Corporation Method and apparatus for providing context menus on a pen-based device
AU2002312237A1 (en) * 2001-05-31 2002-12-09 Empower Technologies, Inc. System and method of pen-based data input into a computing device
US6661409B2 (en) 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US7062090B2 (en) * 2002-06-28 2006-06-13 Microsoft Corporation Writing guide for a free-form document editor
AU2003900865A0 (en) * 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods, systems and apparatus (NPW010)
US20050175242A1 (en) * 2003-04-24 2005-08-11 Fujitsu Limited Online handwritten character input device and method
US7424154B2 (en) * 2003-11-10 2008-09-09 Microsoft Corporation Boxed and lined input panel
US7298904B2 (en) * 2004-01-14 2007-11-20 International Business Machines Corporation Method and apparatus for scaling handwritten character input for handwriting recognition
FR2880709B1 (fr) 2005-01-11 2014-04-25 Vision Objects Procede de recherche, reconnaissance et localisation dans l'encre, dispositif, programme et langage correspondants
JP2008204446A (ja) * 2007-01-26 2008-09-04 National Institute Of Advanced Industrial & Technology ソースファイル編集システム
US8116570B2 (en) 2007-04-19 2012-02-14 Microsoft Corporation User interface for providing digital ink input and correcting recognition errors
US8315482B2 (en) 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8036468B2 (en) * 2007-12-24 2011-10-11 Microsoft Corporation Invariant visual scene and object recognition
KR20130034747A (ko) * 2011-09-29 2013-04-08 삼성전자주식회사 휴대 단말기의 사용자 인터페이스 제공 방법 및 장치
JP5849778B2 (ja) * 2012-03-02 2016-02-03 カシオ計算機株式会社 手書き入力装置およびプログラム
JP2013214187A (ja) * 2012-04-02 2013-10-17 Sharp Corp 文字入力装置、文字入力装置の制御方法、制御プログラム、および記録媒体
CN102903136B (zh) * 2012-09-28 2015-10-21 王平 一种手写笔迹电子化方法和系统
CN103049207B (zh) * 2012-12-27 2016-01-13 富泰华工业(深圳)有限公司 手写输入识别系统及方法
US10162809B2 (en) * 2013-10-11 2018-12-25 Conduent Business Services, Llc Method and apparatus for customized handwriting entry zones

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060284851A1 (en) 2005-06-15 2006-12-21 Pittman John S Programmable orientation handwriting recognition system and method
US20090161958A1 (en) 2007-12-21 2009-06-25 Microsoft Corporation Inline handwriting recognition and correction
JP2015115682A (ja) 2013-12-10 2015-06-22 セイコーエプソン株式会社 画像表示装置、プロジェクター、および画像表示装置の制御方法

Also Published As

Publication number Publication date
WO2017032458A1 (en) 2017-03-02
US20170060406A1 (en) 2017-03-02
JP2018530051A (ja) 2018-10-11
CN108351746B (zh) 2021-07-09
EP3341827A1 (en) 2018-07-04
EP3341827B1 (en) 2021-03-03
KR20180077152A (ko) 2018-07-06
CN108351746A (zh) 2018-07-31
JP6895950B2 (ja) 2021-06-30
US10416877B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
KR102381801B1 (ko) 핸드라이팅 입력을 가이드하는 시스템 및 방법
US9965175B2 (en) System and method of digital note taking
JP6840132B2 (ja) デジタルノートテイキングのシステムおよび方法
JP7046806B2 (ja) ジェスチャを用いたノートテイキングのための装置および方法
KR102473543B1 (ko) 디지털 잉크 상호작용을 위한 시스템 및 방법
US20180114059A1 (en) System and method for managing digital ink typesetting
JP2007316929A (ja) 情報処理装置、情報処理方法およびプログラム
US11983945B2 (en) Interactive editing of electronic text
US8572480B1 (en) Editing the sequential flow of a page
EP4047465A1 (en) Modifying digital content
US20230401376A1 (en) Systems and methods for macro-mode document editing
US20210081604A1 (en) Systems and methods for macro-mode document editing
US20240231582A9 (en) Modifying digital content including typed and handwritten text

Legal Events

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