[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20180095840A - 제스쳐들에 의한 노트 필기를 위한 장치 및 방법 - Google Patents

제스쳐들에 의한 노트 필기를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20180095840A
KR20180095840A KR1020187018553A KR20187018553A KR20180095840A KR 20180095840 A KR20180095840 A KR 20180095840A KR 1020187018553 A KR1020187018553 A KR 1020187018553A KR 20187018553 A KR20187018553 A KR 20187018553A KR 20180095840 A KR20180095840 A KR 20180095840A
Authority
KR
South Korea
Prior art keywords
line
digital ink
paragraph
edit
input
Prior art date
Application number
KR1020187018553A
Other languages
English (en)
Other versions
KR102413461B1 (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 KR20180095840A publication Critical patent/KR20180095840A/ko
Application granted granted Critical
Publication of KR102413461B1 publication Critical patent/KR102413461B1/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
    • G06F17/242
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • G06K9/00402
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템이 제공된다. 각각의 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함한다. 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크의 디스플레이를 하게 하고; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하고; 그리고 핸드라이팅 입력에 따라서, 디스플레이 인터페이스 상에서, 제 2 디지털 잉크의 디스플레이를 하게 하도록 구성된다.

Description

제스쳐들에 의한 노트 필기를 위한 장치 및 방법
관련 출원들에 대한 상호-참조
본 출원은 2015년 12월 1일에 출원된 유럽 특허 출원번호 제 15290296.1호 및 2016년 1월 6일에 출원된 미국 특허 출원번호 제 14/989,217호에 대해서 우선권을 주장하며, 이들은 그들 전체로 본원에 참고로 포함되며 이의 일부를 이룬다.
기술 분야
본 명세서는 일반적으로 컴퓨팅 디바이스 인터페이스들을 이용한 디지털 노트 필기 (note taking) 시스템들 및 방법들의 분야에 관한 것이다. 본 명세서는 좀더 구체적으로는, 디스플레이된 문자들, 심볼들 및 오브젝트들과 관련하여 다양한 제스쳐들의 사용자 입력 핸드라이팅을 인식가능한 디지털 노트 필기 시스템들 및 방법들에 관한 것이다.
컴퓨팅 디바이스들은 일상 생활에서 계속해서 더욱 유비쿼터화되고 있다. 이들은 컴퓨터 데스탑들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 하이브리드 컴퓨터들 (2-인-1들), e-북 리더들, 모바일 폰들, 스마트폰들, (스마트시계들, 스마트 안경들/헤드셋들을 포함하는) 착용식 컴퓨터들, 위성 위치확인 시스템 (GPS) 유닛들, 기업용 디지털 어시스턴스들 (EDAs), 개인 휴대정보 단말기들 (PDAs), 게임 콘솔들 등의 형태를 취한다. 또, 컴퓨팅 디바이스들이 차들, 트럭들, 농기계, 제조 장비, 빌딩 환경 제어 (예컨대, 조명, HVAC), 및 가정용 및 상업용 기기들과 같은, 운송체들 및 장비에 통합되고 있다.
컴퓨팅 디바이스들은 일반적으로 적어도 하나의 프로세싱 엘리먼트, 예컨대 중앙 처리 유닛 (CPU), 일부 유형의 메모리, 및 입력 및 출력 디바이스들로 이루어진다. 컴퓨팅 디바이스들의 변종 및 이들의 후속 사용들은 다양한 인터페이스들 및 입력 디바이스들을 필요로 한다. 하나의 이러한 입력 디바이스는 사용자의 손가락, 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면 사이의 접촉을 통해서 사용자 입력이 수신되는, 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이다. 다른 입력 디바이스는 입력 표면 상에서 사용자에 의해 이루어지는 제스쳐들을 감지하는 입력 표면이다. 추가적인 입력 디바이스는 비-터치 물리 또는 가상 표면과의 터치 또는 비-터치 상호작용들의 상대적인 위치를 검출하는 위치 검출 시스템이다. 이들 입력의 방법들 중 임의의 방법이 텍스트를 드로잉하거나 또는 입력하는데 일반적으로 사용될 수 있다. 사용자 입력이 텍스트일 때, 사용자의 핸드라이팅은 핸드라이팅 인식 시스템 또는 방법을 이용하여 해석된다.
스마트폰들, 패블릿들 및 태블릿들과 같은, 휴대형 컴퓨팅 디바이스들에서의 핸드라이팅 인식의 하나의 애플리케이션은 노트 필기이다. 이것은 특히 컴퓨팅 디바이스의 사용자가 예를 들어, 강의 또는 회의 동안 노트들을 캡쳐하는 교육 및 비즈니스 환경들에서 발생한다. 이것은, 사용자가 터치 감지 표면 상에 입력된 핸드라이팅된 노트들을, 디바이스에서 로컬로 또는 디바이스의 통신 링크를 통해서 원격으로, 수신하여 해석하는 컴퓨팅 디바이스 상에서 핸드라이팅된 노트 필기 애플리케이션을 시동함으로써, 대개 이루어진다. 통상적으로, 이러한 핸드라이팅된 노트 필기 애플리케이션들은 이들 애플리케이션들의 초점이 문서 생성보다는 인식 정확도에 주로 있기 때문에, 필기된 노트들로부터 사용자들에게 완전한 문서 생성 경험을 제공하는데 이들의 능력들이 제한된다. 즉, 가용 애플리케이션들은 사용자에게, 다양한 피드백 메커니즘들과 함께, 핸드라이팅의 인식 및 조판 텍스트로의 인식된 핸드라이팅의 변환을 제공하지만, 이는 일반적으로 입력과의 상호작용의 정도이다.
사용자가 콘텐츠를 편집하는 것, 노트들의 레이아웃을 조작하는 것, 또는 노트들을 문서로 변환하거나 또는 추가하는 것과 같은, 출력 텍스트와의 임의의 추가적인 상호작용을 원하면, 텍스트가 일반적으로 별개의 문서 프로세싱 애플리케이션으로 임포트되어야 한다. 이 자체는 큰 문제가 아니지만, 핸드라이팅된 노트들의 원래 레이아웃 및 실제 입력 핸드라이팅 자체, 소위 디지털 잉크가 일반적으로 임포트 프로세스에서 폐기되기 때문에, 사용자가 필기된 노트들에서 의도를 확인하기 위해서는 원래의 노트들을 다시 참조해야 한다. 예를 들어, 사용자가 강조된 주석 또는 장식에 의해, 또는 노트들 콘텐츠 자체의 레이아웃을 통해서, 노트들에서 어떤 단어들 또는 부분들 (passages) 을 강조했을 수도 있다.
일부 가용 핸드라이팅 디지털 노트 필기 애플리케이션들은 디지털 잉크를 편집하는 능력을 제공한다. 그러나, 이것은 일종의 제어, 예컨대, 메뉴들의 시동 또는 프로세스들을 실행하는 것을 초래하는 특정의 제스쳐들의 입력을 통해서 일반적으로 이루어진다. 그러나, 본 출원인은 핸드라이팅 노트 필기 애플리케이션들을 이용할 때 사용자들이 일반적으로 자연스럽거나 직관적이지 않은 특정의 제스쳐들을 학습하거나, 또는 메뉴들 및 기타 등등을 통해서 편집 선택들을 할 수 없거나 또는 원하지 않는다는 것을 발견하였다.
또, 제스쳐들이 콘텐츠의 일종의 변경, 예컨대, 편집, 스타일 변경, 포맷팅을 초래하는데도 또한 사용된다. 따라서, 애플리케이션은, 제어를 위한 제스쳐들 및 콘텐츠 입력을 위한 제스쳐들이 식별되어 적합한 액션들이 취해질 수 있도록, 제스쳐를 이용하는 사용자들의 의도를 결정하는 것이 필요하다. 문제는 일부 상호작용들이 하나 보다 많은 의도를 갖거나 또는 심지어 콘텐츠 자체를 구성할 수 있다는 것이다.
본원에서 아래에서 설명되는 본 개시물의 예들은 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템들 및 방법들을 제공한다.
본 개시물의 일부 양태들에서, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템이 제공되며, 각각의 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있으며, 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크의 디스플레이를 하게 하고, 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하고, 그리고, 핸드라이팅 입력에 따라서, 디스플레이 인터페이스 상에서, 제 2 디지털 잉크의 디스플레이를 하게 하도록 구성될 수도 있다.
제 2 디지털 잉크는 제 1 디지털 잉크와는 상이할 수도 있다.
제 2 디지털 잉크는 제 1 디지털 잉크의 정규화된 버전일 수도 있다.
적어도 하나의 비일시적 컴퓨터 판독가능 매체는 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서 디스플레이 인터페이스 상에서, 문서 콘텐츠의 재-디스플레이를 하게 하도록 구성될 수도 있다.
제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와 상이할 수도 있다.
제 3 디지털 잉크는 제 1 디지털 잉크의 조판 버전일 수도 있다.
본 개시물의 일부 양태들에서, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법이 제공되며, 각각의 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있으며, 상기 방법은 문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크를 디스플레이하는 단계; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및 핸드라이팅 입력에 따라서, 디스플레이 인터페이스 상에서, 제 2 디지털 잉크를 디스플레이하는 단계를 포함한다.
제 2 디지털 잉크는 제 1 디지털 잉크와는 상이할 수도 있다.
제 2 디지털 잉크는 제 1 디지털 잉크의 정규화된 버전일 수도 있다.
상기 방법은 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서 디스플레이 인터페이스 상에서, 문서 콘텐츠를 재-디스플레이하는 단계를 더 포함할 수도 있다.
제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와 상이할 수도 있다.
제 3 디지털 잉크는 제 1 디지털 잉크의 조판 버전일 수도 있다.
일부 양태들에서, 본 개시물은 컴퓨터 판독가능 프로그램 코드가 안에 내장된 비일시적 컴퓨터 판독가능 매체를 제공하며, 상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스에의 편집 핸드라이팅의 입력을 인식하는 방법을 구현하게 실행되도록 적응되며, 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 입력을 인식하는 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함하며, 상기 방법은 문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크를 디스플레이하는 단계; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및 핸드라이팅 입력에 따라서, 디스플레이 인터페이스 상에서, 제 2 디지털 잉크를 디스플레이하는 단계를 포함할 수도 있다.
제 2 디지털 잉크는 제 1 디지털 잉크와는 상이할 수도 있다.
제 2 디지털 잉크는 제 1 디지털 잉크의 정규화된 버전일 수도 있다.
상기 방법은 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서 디스플레이 인터페이스 상에서, 문서 콘텐츠를 재-디스플레이하는 단계를 포함할 수도 있다.
제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와 상이할 수도 있다.
제 3 디지털 잉크는 제 1 디지털 잉크의 조판 버전일 수도 있다.
일 예에서, 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 비일시적 컴퓨터 판독가능 매체는 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서의 문서 콘텐츠에 따라서, 제 1 디지털 잉크의 디스플레이를 하게 하고; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하고; 그리고 디스플레이 인터페이스 상에서의 핸드라이팅 입력에 따라서 제 2 디지털 잉크의 디스플레이를 하게 하도록 구성될 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크와 상이할 수도 있거나 및/또는 제 1 디지털 잉크의 정규화된 버전일 수도 있다. 비일시적 컴퓨터 판독가능 매체는 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서 디스플레이 인터페이스 상에서, 문서 콘텐츠의 재-디스플레이를 하게 하도록 구성될 수도 있다. 제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와는 상이할 수도 있으며, 또한 제 1 디지털 잉크의 조판 버전일 수도 있다.
다른 예에서, 본 발명은 컴퓨팅 디바이스들 상에서 문서들을 편집하는 방법을 포함한다. 각각의 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 본 방법은 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서의 문서 콘텐츠에 따라서 제 1 디지털 잉크를 디스플레이하는 단계; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및 디스플레이 인터페이스 상에서의 핸드라이팅 입력에 따라서 제 2 디지털 잉크를 디스플레이하는 단계의 단계들을 포함할 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크와 상이할 수도 있거나 및/또는 제 1 디지털 잉크의 정규화된 버전일 수도 있다. 상기 방법은 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서, 디스플레이 인터페이스 상에서의, 문서 콘텐츠의 재-디스플레이의 단계를 포함할 수도 있다. 제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와는 상이할 수도 있으며, 또한 제 1 디지털 잉크의 조판 버전일 수도 있다.
다른 예에서, 본 발명은 컴퓨터 판독가능 프로그램 코드가 안에 내장된 비일시적 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스에의 편집 핸드라이팅의 입력을 인식하는 방법을 구현하게 실행되도록 적응될 수도 있다. 컴퓨팅 디바이스는 프로세서, 및 프로세서의 제어 하에서 입력을 인식하는 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 상기 방법은 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서의 문서 콘텐츠에 따라서 제 1 디지털 잉크를 디스플레이하는 단계; 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및 디스플레이 인터페이스 상에서의 핸드라이팅 입력에 따라서 제 2 디지털 잉크를 디스플레이하는 단계를 포함할 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크와 상이할 수도 있거나 및/또는 제 1 디지털 잉크의 정규화된 버전일 수도 있다. 상기 방법은 검출된 편집 제스쳐들에 기초하여, 제 3 디지털 잉크로서, 디스플레이 인터페이스 상에서의, 문서 콘텐츠의 재-디스플레이의 단계를 포함할 수도 있다. 제 3 디지털 잉크는 제 1 및 제 2 디지털 잉크와는 상이할 수도 있으며, 또한 제 1 디지털 잉크의 조판 버전일 수도 있다.
본 시스템 및 방법은 도면들을 함께 취하여, 이들의 예들의 다음 상세한 설명으로부터 더욱 완전하게 이해될 것이다. 도면들에서, 동일한 도면부호들은 동일한 엘리먼트들을 나타낸다. 도면들에서:
도 1 은 본 시스템 및 방법의 일 예에 따른, 컴퓨팅 디바이스의 블록도를 나타낸다.
도 2 는 본 시스템 및 방법의 일 예에 따른, 핸드라이팅 인식을 위한 시스템의 블록도를 나타낸다.
도 3 은 본 시스템 및 방법의 일 예에 따른, 도 2 의 핸드라이팅 인식 시스템의 세부사항을 예시하는 블록도를 나타낸다.
도 4 는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 5a 및 도 5b 는 본 시스템 및 방법에 따른, 단어를 분할하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 6a 및 도 6b 는 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 7a 및 도 7b 는 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 8a 내지 도 8c 는 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 일 예를 포함하는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 9a 및 도 9b 는 본 시스템 및 방법에 따른, 단락을 분할하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 10a 내지 도 10d 는 본 시스템 및 방법에 따른, 단락을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 11a 및 도 11b 는 본 시스템 및 방법에 따른, 단락을 분할하는 것에 관련된 편집 제스쳐의 일 예를 포함하는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 12a 내지 도 12c 는 본 시스템 및 방법에 따른, 2개의 단어들을 결합하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 13a 내지 도 13e 는 본 시스템 및 방법에 따른, 2개의 라인들을 결합하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 14 는 본 시스템 및 방법에 따른, 2개의 라인들을 결합하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 15a 내지 도 15c 는 본 시스템 및 방법에 따른, 2개의 단락들을 결합하는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 16a 및 도 16b 는 본 시스템 및 방법에 따른, 2개의 단락들을 간격을 두지 않는 것에 관련된 편집 제스쳐의 일 예를 나타낸다.
도 17a 내지 도 17d 는 본 시스템 및 방법에 따른, 단락들을 간격을 두지 않는 것에 관련된 편집 제스쳐의 일 예를 포함하는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 18a 내지 도 18d 는 본 시스템 및 방법에 따른, 하나의 문자를 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 19a 내지 도 19c 는 본 시스템 및 방법에 따른, 여러 문자들을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 20a 내지 도 20c 는 본 시스템 및 방법에 따른, 하나의 단어를 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 21a 내지 도 21c 는 본 시스템 및 방법에 따른, 2개의 단어들을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 22a 내지 도 22c 는 본 시스템 및 방법에 따른, 여러 단어들을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 23a 내지 도 23b 는 본 시스템 및 방법에 따른, 단어들을 삭제하는 것에 관련된 편집 제스쳐의 일 예를 포함하는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 24a 내지 도 24c 는 본 시스템 및 방법에 따른, 텍스트의 하나의 라인을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 25a 내지 도 25c 는 본 시스템 및 방법에 따른, 텍스트의 여러 라인들을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 26a 및 도 26b 는 본 시스템 및 방법에 따른, 하나의 단락을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 27a 및 도 27b 는 본 시스템 및 방법에 따른, 여러 단락들을 삭제하는 것에 관련된 편집 제스쳐들의 예들을 나타낸다.
도 28 은 입력 영역에 핸드라이팅된 콘텐츠로서 입력된 멀티-라인 단락을 나타낸다.
도 29 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락을 나타낸다.
도 30 은 본 시스템 및 방법에 따른, 도 29 의 추가적인 입력을 갖는, 도 28 의 단락을 조판한 결과를 나타낸다.
도 31a 및 도 31b 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 32 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 33a 및 도 33b 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 34 는 본 시스템 및 방법에 따른, 도 33b 의 추가적인 입력을 갖는, 도 28 의 단락을 조판한 결과를 나타낸다.
도 35a 내지 도 35d 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 36 은 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 37a 및 도 37b 는 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 38 은 본 시스템 및 방법에 따라, 도 37a 및 도 37b 의 단락을 조판한 결과를 나타낸다.
도 39 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 40a 내지 도 40c 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 41 은 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 42a 및 도 42b 는 본 시스템 및 방법에 따른, 라인을 분할하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 43 은 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 44 는 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는, 도 28 의 단락의 다른 예를 나타낸다.
도 45a 및 도 45b 는 본 시스템 및 방법에 따른, 2개의 라인들을 결합하는 것에 관련된 편집 제스쳐의 다른 예를 나타낸다.
도 46 은 본 시스템 및 방법에 따른, 디지털 잉크로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 포함하는 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 47 은 본 시스템 및 방법에 따른, 도 46 의 조판의 결과인, 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
도 48 은 본 시스템 및 방법에 따른, 도 45 및 도 46 의 조판의 결과인, 컴퓨팅 디바이스의 입력 표면의 부분 상에서의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 나타낸다.
다음의 상세한 설명에서는, 관련된 교시들의 완전한 이해를 제공하기 위해 매우 많은 구체적인 세부 사항들이 예들로서 개시된다. 그러나, 당업자들에게는, 본 교시들이 이러한 세부 사항들 없이 실시될 수도 있다는 것이 자명하다. 다른 경우, 공지된 방법들, 프로시저들, 컴포넌트들, 및/또는 회로부는 본 교시들의 양태들을 불필요하게 흐리는 것을 피하기 위해, 상대적으로 하이-레벨로 기술되었다.
상방 (up), 하방 (down), 상부 (above), 하부 (below), 최저, 최고, 수평, 수직, 등과 같은, 방향 특징들의 참조 및 논의는 인식될 입력이 이루어지는 입력 표면에 적용될 때 직교 좌표계에 대해 이루어진다. 또, 좌측 및 우측과 같은 용어들은 도면들을 볼 때, 판독기의 참조 프레임과 관련하여 만들어진다. 더욱이, 본 명세서에서 용어 '텍스트' 의 사용은 임의의 문자 언어 (written language) 에서의, 모든 영숫자 문자들 및 그의 문자열들, 및 문자 텍스트 (written text) 에 사용되는, 일반적인 비-영숫자 문자들, 예컨대, 심볼들을 포괄하는 것으로 이해된다. 또한 계속해서, 본 명세서에서 용어 '비텍스트' 는 비텍스트 컨텍스트들에서 사용되는, 자유형 핸드라이팅된 또는 핸드드로잉된 콘텐츠 및 렌더링된 텍스트 및 이미지 데이터 뿐만 아니라, 비-영숫자 문자들 및 그의 문자열들, 및 영숫자 문자들 및 그의 문자열들을 포괄하는 것으로 이해된다. 더욱이, 이들 도면들에 나타낸 예들은 좌-우 문자 언어 컨텍스트에서의 예들이며, 따라서, 위치들에 대한 임의의 참조는 상이한 방향 포맷들을 가지는 문자 언어들에 대해 적응될 수 있다.
본원에서 설명되는 다양한 기술들은, 일반적으로 콘텐츠의 입력된 스타일을 유지하면서 그 콘텐츠의 신뢰성있는 (faithful) 조판 또는 미화된 버전으로의 변환을 가능하게 하는 방법으로, 휴대형 및 비-휴대형 컴퓨팅 디바이스들 상에서의 핸드드로잉된 및 핸드라이팅된 콘텐츠의 캡쳐, 프로세싱 및 관리에 관한 것이다. 본원에서 설명되는 시스템들 및 방법들은 컴퓨팅 디바이스에 접속되거나 또는 그의 터치 감지 스크린과 같은 입력 표면을 통해, 또는 컴퓨팅 디바이스에 접속된, 디지털 펜 또는 마우스와 같은 입력 디바이스를 통해, 또는 위치 검출 시스템에 의해 모니터링된 물리 또는 가상 표면을 통해, 컴퓨팅 디바이스에 입력된 사용자들의 자연스러운 기입 및 드로잉 스타일들의 인식을 이용할 수도 있다. 다양한 예들이 소위 온라인 인식 기법들을 이용한 핸드라이팅 입력의 인식에 대해 설명되지만, 디지털 잉크보다는 이미지들이 인식되는 오프라인 인식과 같은 다른 형태들의 인식을 위한 입력에도 응용이 가능함을 알 수 있다. 용어들 핸드드로잉 및 핸드라이팅은 사용자들에 의해 디지털 또는 디지털 접속된 매체 상에서 직접 이들의 손들의 사용을 통한, 또는 휴대용 스타일러스와 같은 입력 툴을 통한, 디지털 콘텐츠의 생성을 정의하기 위해 본원에서 상호교환가능하게 사용된다. 용어 "손" 은 입력 기법들의 간명한 설명을 제공하기 위해 본원에서 사용되며, 그러나, 발, 입 및 눈과 같은, 유사한 입력을 위한 사용자들의 신체의 다른 부분들의 사용이 이 정의에 포함된다.
도 1 은 예시적인 컴퓨팅 디바이스 (100) 의 블록도를 나타낸다. 컴퓨팅 디바이스는 컴퓨터 데스크탑, 랩탑 컴퓨터, 태블릿 컴퓨터, e-북 리더, 모바일 폰, 스마트폰, 착용식 컴퓨터, 디지털 시계, 인터랙티브 화이트보드, 위성 위치확인 시스템 (GPS) 유닛, 기업용 디지털 어시스턴스 (EDA), 개인 휴대정보 단말기 (PDA), 게임 콘솔, 또는 기타 등등일 수도 있다. 컴퓨팅 디바이스 (100) 는 적어도 하나의 프로세싱 엘리먼트의 컴포넌트들, 일부 유형의 메모리, 및 입력 및/또는 출력 (I/O) 디바이스들을 포함한다. 컴포넌트들은 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 당업자들에게 알려져 있는 다른 것들과 같은, 입력들 및 출력들을 통해서 서로 통신한다.
컴퓨팅 디바이스 (100) 는 이미지들, 텍스트, 및 비디오와 같은, 컴퓨팅 디바이스로부터의 데이터를 출력하는 적어도 하나의 디스플레이 (102) 를 갖는다. 디스플레이 (102) 는 LCD, 플라즈마, LED, iOLED, CRT, 또는 당업자들에게 알려져 있는 바와 같은, 터치 감지식이거나 또는 아닌 임의의 다른 적합한 기술을 이용할 수도 있다. 디스플레이 (102) 중 적어도 일부는 적어도 하나의 입력 표면 (104) 과 병치된다. 입력 표면 (104) 은 저항, 표면 음향 파, 전기용량, 적외선 그리드, 적외선 아크릴 프로젝션, 광학적 이미징, 분산 신호 기술, 음향 펄스 인식, 또는 당업자들에게 알려져 있는 바와 같은, 사용자 입력을 수신하는 임의의 다른 적합한 기술과 같은, 기술을 채용할 수도 있다. 입력 표면 (104) 은 그의 경계들을 명확하게 식별하는, 영구적이거나 또는 비디오-발생된 경계 (border) 에 의해 경계지어질 수도 있다.
입력 표면 (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 또는 Pentium 시리즈 마이크로프로세서, 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)) 중 임의의 하나 또는 조합을 포함할 수 있다. 더욱이, 메모리 (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) 에 업로드되거나 또는 다운로드된 프로그램들을 더 포함할 수도 있다.
지원 및 준수 (compliance) 능력들을 갖는, HWR 시스템 (114) 은, 소스 프로그램, 실행가능한 프로그램 (오브젝트 코드), 스크립트, 애플리케이션, 또는 수행될 명령들의 세트를 갖는 임의의 다른 엔터티일 수도 있다. 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) 에 의해 통신 링크들을 통해서 컴퓨팅 디바이스 (100) 의 전술한 통신들 I/O 디바이스들을 이용하여 원격으로 액세스가능한, 핸드라이팅 인식 시스템과의 통신을 위한 메소드 또는 시스템일 수도 있다. 또, 애플리케이션 (112) 과 HWR 시스템 (114) 은 함께 동작하거나 또는 단일 애플리케이션으로서 결합될 수도 있다.
입력 표면 (104) 상에 또는 통해서 입력된 스트로크들은 프로세서 (106) 에 의해 디지털 잉크로서 프로세싱된다. 사용자는 손가락 또는 일부 기구, 예컨대, 입력 표면에 사용하기에 적합한 펜 또는 스타일러스로 스트로크를 입력할 수도 있다. 사용자는 또한 입력 표면 (104) 근처의 모션들을 감지하는 기술이 사용중이면 입력 표면 (104) 상에서 제스쳐를 행함으로써, 또는 컴퓨팅 디바이스 (100) 의 주변장치 디바이스, 예컨대 마우스 또는 조이스틱으로, 스트로크를 입력할 수도 있다. 스트로크는 적어도, 스트로크 개시 로케이션, 스트로크 종료 로케이션, 및 스트로크 개시 로케이션과 종료 로케이션을 연결하는 경로를 특징으로 한다. 상이한 사용자들이 동일한 오브젝트, 예컨대, 글자, 형상, 심볼을, 약간의 변형들로, 자연스럽게 기입할 수 있기 때문에, HWR 시스템은 각각의 오브젝트가 올바른 또는 의도된 오브젝트로서 인식되는 동안 입력될 수도 있는 다양한 방법들을 수용한다.
도 2 는 그의 로컬 (즉, 디바이스 (100) 상에 로드된) 또는 원격 (즉, 디바이스 (100) 에 의해 원격으로 액세스가능한) 형태인, HWR 시스템 (114) 의 일 예의 개략도이다. HWR 시스템 (114) 은 사전 프로세싱 (116), 인식 (118) 및 출력 (120) 과 같은, 스테이지들을 포함한다. 사전 프로세싱 스테이지 (116) 는 디지털 잉크를 프로세싱하여 인식 스테이지 (118) 동안 더 큰 정확도를 달성하고 프로세싱 시간을 감소시킨다. 이 사전 프로세싱은 입력을 평활화하기 위해, 사이즈 정규화 및/또는 방법들, 예컨대 B-스플라인 근사를 적용함으로써 스트로크 개시 로케이션과 종료 로케이션을 연결하는 경로의 정규화를 포함할 수도 있다. 그후, 사전 프로세싱된 스트로크들은 스트로크들을 프로세싱하여 그에 의해 형성된 오브젝트들을 인식하는 인식 스테이지 (118) 로 전달된다. 그후, 인식된 오브젝트들은 일반적으로 핸드라이팅된 엘리먼트들/문자들의 조판된 버전으로서, 디스플레이 (102) 로 출력된다 (120).
인식 스테이지 (118) 는 상이한 프로세싱 엘리먼트들 또는 엑스퍼트들 (experts) 을 포함할 수도 있다. 도 3 은 인식 스테이지 (118) 의 개략적인 세부사항을 나타내는 도 2 의 예의 개략도이다. 출력 (120) 을 발생시키기 위해 동적 프로그래밍을 통해서 협력하는, 3개의 엑스퍼트들, 즉, 세그멘테이션 엑스퍼트 (122), 인식 엑스퍼트 (124), 및 언어 엑스퍼트 (126) 가 예시된다.
세그멘테이션 엑스퍼트 (122) 는 표현들 (expressions), 예컨대, 단어들, 수학적 수식들, 또는 형상들의 그룹들을 형성하기 위해, 입력 스트로크들을 개개의 엘리먼트 가설들, 예컨대, 영숫자 문자들 및 수학 연산자들, 텍스트 문자들, 개개의 형상들, 또는 하위 표현으로 세그먼트하는 상이한 방법들을 정의한다. 예를 들어, 세그멘테이션 엑스퍼트 (122) 는 각각의 노드가 적어도 하나의 엘리먼트 가설에 대응하고 엘리먼트들 사이의 근접성 제약들이 노드 접속들에 의해 처리되는 세그멘테이션 그래프를 획득하기 위해 원래 입력의 연속된 스트로크들을 그룹화함으로써 엘리먼트 가설들을 형성할 수도 있다. 대안적으로, 세그멘테이션 엑스퍼트 (122) 는 텍스트, 도면들, 수식들, 및 음악 표기와 같은, 상이한 입력 유형들에 대해 별개의 엑스퍼트들을 채용할 수도 있다.
인식 엑스퍼트 (124) 는 분류기 (128) 에 의해 추출된 특징들의 분류를 제공하며 세그멘테이션 그래프의 각각의 노드에 대한 확률들 또는 인식 스코어들을 갖는 엘리먼트 후보들의 리스트를 출력한다. 이러한 인식 태스크를 다루는데 사용될 수 있는 다수의 유형들의 분류기들, 예컨대, 지원 벡터 머신들, 은닉 Markov 모델들, 또는 신경망들, 예컨대 다층 퍼셉트론들, 심층, 콘볼루션 또는 순환 신경망들이 존재한다. 선택은 태스크에 필요한 복잡성, 정확도, 및 속도에 의존한다.
언어 엑스퍼트 (126) 는 언어 모델들 (예컨대, 문법 또는 의미들) 을 이용하여 세그멘테이션 그래프에서의 상이한 경로들에 대해 언어 의미를 발생시킨다. 엑스퍼트 (126) 는 언어 정보 (130) 에 따라서 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 언어 정보 (130) 는 렉시콘, 정규식들, 등을 포함할 수 있다. 언어 엑스퍼트 (126) 는 최상의 인식 경로를 찾는 것을 목표로 한다. 일 예에서, 언어 엑스퍼트 (126) 는 언어 정보 (130) 의 콘텐츠를 나타내는 유한 상태 오토머턴 (FSA) 과 같은 언어 모델을 탐색함으로써 이를 행한다. 렉시콘 제약에 더하여, 언어 엑스퍼트 (126) 는 세그멘테이션 그래프의 주어진 경로의 해석의 언어적 가능성을 평가하기 위해, 엘리먼트들의 주어진 시퀀스가 얼마나 자주 규정된 언어에서 나타나는지 또는 특정의 사용자에 의해 사용되는지에 대한 통계적 정보 모델링을 이용할 수도 있다.
본 시스템 및 방법은 디바이스 (100) 에의 핸드라이팅된 입력을 인식하기 위해 HWR 시스템 (114) 을 이용한다. 앞에서 언급한 바와 같이, 애플리케이션 (112) 은 인식된 사용자 입력의 레이아웃을 처리하는 애플리케이션(들) 을 포함한다. 이러한 애플리케이션들은 상이한 프로세싱을 처리하기 위해 별개의 계층들을 갖는 아키텍처에 제공될 수도 있다. 이들 계층들 중 하나 이상은 앞에서 언급된 통신 채널들을 통해서 액세스가능한 디바이스 (100) 로부터 원격일 수도 있다. 계층들은 애플리케이션 래퍼(들), 플랫폼 래퍼(들) 및 (플랫폼 특정의) 애플리케이션 사용자 인터페이스(들) 를 포함할 수도 있다.
본 시스템 및 방법에 의해 제공되는 애플리케이션 (112) 은 학생들, 학문 및 실무 전문가들과 같은, 사용자들로 하여금, 예컨대, 강의들, 회의들 및 브레인스토밍 세션들 동안, 이들의 휴대형 또는 비-휴대형 컴퓨팅 디바이스들 상에서 제스쳐들과 같은, 자연스러운 및 직관적인 동작들을 이용하여 공유가능한 포맷된 문서들로 변환할 수 있는 핸드라이팅된 노트들을 필기가능하게 한다. 애플리케이션은 이들의 컴퓨팅 디바이스들을 이용하여 적절하게 탐색되어 기억될 수 있는 '깨끗한' 노트들의 필기를 가능하게 한다. 본 시스템 및 방법은 또한, 기입이 (괘) 선들 상에 이루어지고 단락들 및 다른 레이아웃 엘리먼트들이 방위 (즉, 세로 (portrait) 또는 가로 (landscape)) 및 디바이스 디스플레이 용량에 따라 고려되므로, 자연스러운 기입이 입력되게 한다. 또한, 텍스트, Latex, HTML, 이미지, pdf, 등과 같은 다양한 포맷들로의 내보내기 (export) 옵션들과 같이, 디바이스들 간의 캡쳐된 노트들의 동기화 및 노트들의 자동-저장이 지원된다. 이들 및 다른 양태들이 이하 설명된다.
애플리케이션 (112) 은 레이아웃 정의 및 보호를 가능하게 하는 구조화된 콘텐츠를 제공하기 위해 문서들 및 문서 엘리먼트들의 정의 및 처리를 위한 프레임워크를 이용한다. 이 문서 모델은 상이한 유형들의 문서 엘리먼트들을 처리하며, 이들은 HTML5 레퍼런스로 가장 잘 설명되며, 예를 들어, W3C HTML5 DOM - Kinds of content: http://www.w3.org/TR/html5/dom.html#kinds-of-content 를 참조한다. 애플리케이션 (112) 에 의해 이용되는 문서 모델은 HTML 사양들을 재현하지 않고, 도리어, 그들로부터 영감을 얻는다. 문서 모델의 엘리먼트들의 서브세트는 플로우, 섹션화 (sectioning), 제목 (heading), 프레이징 (phrasing), 내장 및 대화형이다.
출원인은 텍스트가 텍스트 리플로우 및 비제어된 텍스트/엘리먼트 위치로 편집할 때 어떻게 거동하는지를 기존 디지털 노트 필기 애플리케이션들의 사용자들이 이해하는데 문제가 있음을 발견하였다. 이러한 애플리케이션들의 사용에 대한 학습 곡선을 낮추기 위해, 핸드라이팅은 사용자들이 친숙한 것에 더 가까워야 한다. 그것은 동일한 모델 및 거동들로, 텍스트 편집 소프트웨어/웹 서비스들에서 키보드로 기입하는 것 및 키보드 및 마우스 상호작용을 통해서 편집하는 것이다. 임의의 디지털 디바이스 사용자는 콘텐츠를 기입하거나 또는 편집하기 위해 스크린 상에서 제스쳐링하는데 이미 익숙해져 있다. 제스쳐링은 터치 및 호버 디바이스들 상에서의 자연스럽고 직관적인 패턴이다. 핸드라이팅된 노트 필기 환경에서의 빠른 솔루션은, 디지털 노트 필기 및 문서 생성 환경에서 편집할 수 있도록, 탭, 이중 탭, 누름, 긴 누름, 스와이프 (swipe), 핀치 (pinch) 와 같은, 현재 사용되는 제스쳐들을 단지 적응시키는 것일 것이다. 이들 제스쳐들이 터치 및 호버 디바이스들에 대한 이들의 기존 기능들에 대해 일반적으로 직관적으로 제공되지만, 출원인은 이러한 직관성이 반드시 사용자 피드백에 기초하여 콘텐츠 편집 기능들로 잘 이어지지는 않는다는 것을 추가로 발견하였다. 따라서, 본 시스템 및 방법은 콘텐츠 편집 기능들을 제공하는 새로운 클래스들의 제스쳐링 및 거동들을 제공한다. 본 시스템 및 방법의 이들 및 다른 특징들이 이하 자세하게 설명된다.
도 4 는 예시적인 컴퓨팅 디바이스 (100) 의 입력 표면 (104) 의 부분 상에서의 노트 필기 페이지 (400) 의 예시적인 시각적 렌더링의 개략도를 나타낸다. 페이지 (400) 는 콘텐츠 입력 및 편집이 수행되는 편집 뷰로 나타낸다. 그러나, 다른 뷰들이 문서 구조 편집 및 노트북 네비게이션에 사용될 수도 있다. (이후 설명되는) 사용자 인터페이스 (UI) 컨트롤들을 제공하는 것에 더해서, 편집 뷰는 디바이스 (100) 의 디스플레이 (102) 로부터 수직으로 오버플로우되는 전폭 (full-width) 페이지를 제공한다. 페이지 (400) 는 유연한 높이, 본질적으로는, 무한한 높이의 페이지이며, 널리 알려져 있는 터치 스크린 컴퓨팅 디바이스 제스쳐들 또는 비-터치 스크린 컴퓨팅 디바이스 방법들을 이용하여, 예컨대, 마우스로 수직으로 스크롤될 수 있다. (특히, 더 작은 디바이스들 상에서) 사용자들을 위한 기입 공간을 최대화하기 위해, 공백 스크롤가능 페이지가 적어도 전체 편집 뷰 높이를 점유하도록 정의된다.
편집 뷰 (그리고, 적합한 경우, 다른 뷰들) 에서, 상단 패딩 (402), 좌측 마진 (404) 및 우측 마진 (406) 을 포함한, 여러 페이지 엘리먼트들이 디스플레이된다. 패딩 및 마진들은 라인 패턴 백그라운드 (410) 를 갖는 입력 영역 (408) 을 정의한다. 라인 패턴 (410) 은 밀도 독립적 픽셀 (dp) 인 수직 리듬 높이 유닛 (vertical rhythm height unit) 의 배수 만큼 분리된 수평 라인들을 갖는다. 특정의 디바이스 (100) 에 관계없이, 수평 라인들 (410) 사이의 수직 거리는 라인 패턴 유닛 (LPU) 에 의해 정의되며, 수직 리듬 높이 유닛은 특정의 디바이스 상에서의 LPU 의 눈금 측정을 제공한다. 예를 들어, LPU 는 수직 리듬 높이 유닛의 어떤 배수인 임의의 디바이스에 대해 약 1 센티미터로 설정될 수도 있거나, 또는 사용자들은 이들의 기입 스타일에 따라서 라인 패턴 유닛을 수직 리듬 높이 유닛의 상이한 배수로 커스터마이즈하도록 허용될 수도 있다. 대안적으로, 수직 리듬은 조판 텍스트 사이즈 (예컨대, 최소 텍스트 사이즈) 에 기초할 수도 있으며, LPU 는 이러한 조판 텍스트 사이즈의 배수로서 제공된다. 모든 라인들 (410) 은 콘텐츠 자체의 렌더링에 대해 가시적이지만 희미해지는, 동일한 밝고 연한 칼라, 예컨대, 그레이로 디스플레이된다. 이러한 방법으로, 라인 패턴이 뚜렷하지만 지나치게 야단스럽지 않으므로, 콘텐츠 입력에 주의를 기울임이 없이 핸드라이팅 입력을 안내한다. 라인 패턴 백그라운드 (410) 는 핸드라이팅된 텍스트 컨텍스트에 디스플레이되며, 다음의 다수의 목적들을 제공한다:
● 핸드라이팅 인식이 최적화되도록 사용자들이 그 상에 기입하게 하는 목적
● 사용자들이 동일한 기입 사이즈 및 더 나은 블록 치수들 및 위치들을 초래하는 규칙적인 수직 리듬 기입을 채용하도록 돕는 목적
● 사용자들이 단락들을 정의하기 위해 라인 건너뛰기를 제어하도록 돕는 목적.
상단 패딩 (402) 은 임의의 새로운 페이지 또는 섹션 상에 디스플레이되며 라인 패턴 백그라운드를 포함하지 않는다. 이것은 사용자들이 적합한 수직 간격으로, 즉, 인터페이스 (104) 경계로부터 너무 가깝지 않게 기입하도록 도우며, 섹션 제목 및 태깅 (tagging) 과 같은 다른 엘리먼트들에 대한 공간을 남겨둔다. 상단 패딩 (402) 은 LPU 의 배수들로 정의되며, 예컨대, 도 4 의 예에서 상단 패딩은 LPU 의 2배이다. 그러나, 제목들, 예컨대, 문서 및 섹션 제목들, 주석들 및 기타 등등에 대해 상단 패딩에 기입하는 것을 허용하는 것이 바람직할 수도 있다. 또한, 유사한 하단 패딩이 입력 영역 (408) 의 하단에 제공될 수도 있다.
좌측 및 우측 마진들 (404 및 406) 은 수직 라인들로 디스플레이된다. 도 4 의 예에서, 이들 라인들은 칼라 및 정의에 있어서 라인 패턴 (410) 과 유사하며, 그러나, 이들 라인들은 원할 경우, 더 굵은 글씨체로 디스플레이될 수도 있다. 수직 라인 마진들은 대응하는 좌측 및 우측 '페이지' 에지들로부터 수직 리듬 유닛의 배수 만큼 위치된다. 도 4 의 예에서, 마진들 (404, 406) 은 상단 패딩 (402) 에 디스플레이되지 않고 제 1 라인 패턴 (410) 수평 라인으로부터 시작한다. 그러나, 마진들은 원할 경우, 상단 패딩으로 확장될 수도 있다. 또, 라인 패턴 (410) 은 이들 영역들에 기입하는 것을 막기 위해 마진 엘리먼트들에 디스플레이되지 않는다. 그러나, 주석들 및 기타 등등에 대해서는 마진들에 기입하도록 허용하는 것이 바람직할 수도 있다. 대안적으로, 마진들은 단지 페이지 (400) 의 수평 범위들과의 호버-오버 (hover-over) 또는 접촉 상호작용 시에만 디스플레이되거나 또는 완전히 생략되며, 이에 따라서, 예를 들어, 사용자들의 자연스러운 핸드라이팅 거동들에 의존하여, 스크린/UI 에지들에 너무 가깝게 기입하지 않을 수도 있다.
페이지 (400) 상에의 핸드라이팅된 콘텐츠의 입력은 입력 표면 (104) 에 대한 제스쳐들의 사용을 통해서, 예컨대, 디바이스 (100) 의 스크린 기술에 따라서 터치, 힘 및/또는 근접을 통해서 수행된다. 제스쳐 검출은 사용자들의 손가락을 (디바이스가 수동 및 능동 스타일러스들을 정의하는) 스타일러스 또는 펜과 구별하는 컴퓨팅 디바이스 (100) 의 능력, 또는 핸드라이팅에 사용중인 디바이스에 표시하거나 통신하는 스타일러스의 능력, 또는 이러한 표시를 제공하는 사용자들의 능력에 따라서 상이하게 처리될 수도 있다. 디폴트로, 그리고, 구별하지 않는 디바이스들에서, 입력 영역 (408) 내에서의 임의의 단일-지점 터치 또는 호버 이벤트는 콘텐츠 입력 또는 콘텐츠 상호작용으로 간주될 것이다.
스크롤 페이지는 사용자들이 오브젝트 블록들 (텍스트, 그림들, 등의 블록들) 을 사이징 (sizing) 또는 정렬에 대한 염려없이 어디서나 생성하도록 허용하는 제약-없는 캔바스로서 제공될 수 있다. 그러나, 구조화된 콘텐츠를 포함하는 전문적으로 포맷된 문서들을 제공하기 위해, 모든 콘텐츠가 (입력 시 또는 사용자 상호작용에 따라서) 정렬/정의될 어떤 정렬 엘리먼트들 또는 패턴이 정의될 수도 있다. 이것은 블록들의 렌더링이 디바이스 사이즈/방위에 응답할 때 블록들을 정의할 수 있게 한다. 예시적인 정렬 패턴 및 응답적 디스플레이가, 본 출원인 및 양수인의 이름으로 출원된, 발명의 명칭이 "System and Method of Digital Note Taking" 인 미국 특허 출원 번호 제 14/886,195호에 설명되어 있으며, 이의 전체 내용이 본원에 참조로 포함된다.
도 4 는 디지털 잉크로서 렌더링된 핸드라이팅된 입력을 추가로 나타낸다. 특히, 도 4 의 예에서, 5개의 텍스트 오브젝트들 (412, 414, 416, 418 및 420) 이 도시된다. 텍스트 오브젝트 (412) 는 단일 라인 (410) 상에 2개의 단어들을 포함하는 텍스트 블록이며, 예를 들어, 문서 또는 섹션 제목을 정의한다. 텍스트 오브젝트 (414) 는 블록 (412) 으로부터 하나의 라인 (410) 만큼 이격된 단일 라인 (410) 상에 2개의 단어들을 포함하는 텍스트 블록이며, 예를 들어, 섹션 제목 또는 하위-제목을 정의한다. 텍스트 오브젝트 (416) 는 블록 (414) 으로부터 하나의 라인 (410) 만큼 이격된 제 1 (최상부) 라인 (410) 을 갖는 다수의 라인들 (410) 상에 다수의 단어들을 포함하는 텍스트 블록이며, 예를 들어, (섹션) 단락을 정의한다. 텍스트 오브젝트 (418) 는 블록 (416) 의 최하단 라인 (410) 으로부터 하나의 라인 (410) 만큼 이격된 단일 라인 (410) 상에 2개의 단어들을 포함하는 텍스트 블록이며, 예를 들어, 섹션 제목 또는 하위-제목을 정의한다. 텍스트 오브젝트 (420) 는 블록 (418) 으로부터 하나의 라인 (410) 만큼 이격된 최상부 라인 (410) 을 갖는 다수의 라인들 (410) 상에 다수의 단어들을 포함하는 텍스트 블록이며, 예를 들어, (섹션) 단락을 정의한다.
문서 모델은 제목들 및 꼬리말들의 범위를 정의하는 콘텐츠로서 섹션화 콘텐츠 (sectioning content) 를 정의한다. 제목 콘텐츠는 섹션화 콘텐츠 엘리먼트들을 이용하여 명시적으로 마크업되었는지 또는 제목 콘텐츠 자체에 의해 암시되었는지 여부에 관계없이, 섹션의 헤더를 정의한다. 단락은 일반적으로, 하나 이상의 문장들을 갖지만 그들 사이에 임의의 공백 라인들이 없는 텍스트의 블록을 형성하는 일련의 플로우 콘텐츠이다. 단락들은 입력된 길이 및 위치에 따라서 임의의 폭 (단일 단어에서 풀 폭까지) 일 수도 있다. 언제라도, 단락의 가장 넓은 라인은 새로운 콘텐츠가 입력될 때 문서 모델에 잠재적인 영향을 미치는 그의 경계들을 정의한다. 모든 라인들 (그러나, 최종 라인) 이 대략 동일한 폭인 한, 문서 모델은 조판 리플로우가 수행될 때 새로운 콘텐츠가 단락에 인라인으로 첨부되도록 한다. 아래에서 설명하는 바와 같이, 단락들은 주로 콘텐츠 입력 사이에 라인 (410) 을 건너뜀으로써 생성된다. 텍스트가 공백 라인을 남김이 없이 단락 직전후에 기입될 때, 모든 새로운 콘텐츠가 기존 단락에 병합된다. 모든 단락들은 콘텐츠 편집 또는 제스쳐들 (이후 설명됨) 로 분리되거나 또는 병합될 수도 있다.
볼 수 있는 바와 같이, 텍스트 블록 (420) 의 콘텐츠는 도 4 에 디스플레이된 바와 같이 입력 영역 (408) 의 하단을 넘어서 플로우된다. 그러나, 콘텐츠는 입력 영역 상의 어딘가에서 또는 전용 영역(들) 에서, 예컨대, 마진들 중 하나 이상에서, 단일-지점 상호작용 (예컨대, 인터페이스 (104) 상에서의 하나의-손가락 또는 스타일러스 제스쳐 터칭 또는 호버링) 또는 멀티-지점 상호작용 (예컨대, 동일한 시간에 인터페이스 (104) 상에서의 2개의 손가락들 터칭 또는 호버링) 에 의해 페이지 (400) 를 스크롤하는 사용자들을 통해서 열람될 (그리고, 입력될) 수 있다. 손가락을 스타일러스와 구별할 수 있는 디바이스, 또는 그 디바이스에 그의 사용을 표시하는 스타일러스를 이용하거나, 또는 사용자가 이 표시를 제공함으로써, 예를 들어, 콘텐츠 입력에 대한 능동 스타일러스를 정의할 때, 멀티-지점 상호작용이 필요하지 않으며, 예를 들어, 인터페이스 표면 (104) 상의 어느 곳에서나 하나의-손가락 수직 스크롤 제스쳐로 스크롤링이 가능하다.
위에서 언급한 바와 같이, 텍스트 블록들 (412-420) 은 공백 라인 (410), 예컨대, 2개의 LPU들의 간격 만큼 각각 분리된다. 수직 플로우에서 별개의 단락들 (및 오브젝트 블록들) 의 입력에 대해, 사용자들에 의해 쉽게 이해되고 적용되는 방법으로, 이러한 간단한 제약이 가해지므로, 스크롤 페이지 (400) 의 수직 플로우에서의 오브젝트 블록들 사이의 상대적인 레이아웃이 깔끔하게 유지되고 직접 입력된 콘텐츠 및 드래그 및 드롭된 또는 푸시 및 드롭된 블록들에 적용될 수 있다. 이러한 접근법의 이점들은 본 시스템 및 방법에 의해 제공되는 편집의 어떤 예들의 다음 설명으로부터 명백히 알 수 있을 것이다. 그러나, 대안적으로 또는 추가적으로, 이러한 제약은, 특히, 후술하는 바와 같이 스타일링을 정의하기 위한 제스쳐들의 사용의 경우, 요구되지 않을 수도 있다.
도 5 내지 도 7, 도 9, 도 10, 도 12, 도 13, 도 15, 도 16, 도 18 내지 도 22 및 도 24 내지 도 45 는 일반적인 예시적인 텍스트 블록들 상에서 수행되는 바와 같은 편집 제스쳐들의 예들을 예시하며, 도 8, 도 11, 도 14, 도 17, 도 23 및 도 46 내지 도 48 은 도 4 의 예시적인 입력에 대해 수행된 바와 같은 이들 예시적인 편집 제스쳐들을 예시한다. 도 5 내지 도 7, 도 9, 도 10, 도 12, 도 13, 도 15, 도 16, 도 18 내지 도 22, 도 24 내지 도 27, 도 36 내지 도 38, 도 41, 도 42 및 도 45 의 예시들에서, 문서 프로세싱 마크들이 디스플레이된 핸드라이팅된 입력이 아닌, 단지 예시적인 목적들을 위해 단락 "¶", 라인 브레이크 또는 캐리지 리턴 "
Figure pct00001
" 및 문자/단어 스페이스 "
Figure pct00002
" 를 도시하는 것으로 나타낸다. 위에서 설명된 단락 분할 규칙의 컨텍스트에서:
● 단락은 텍스트 블록이 적어도 하나의 공백 라인 (410) 에 의해 다른 텍스트 (또는, 다른 오브젝트) 블록으로부터 분리될 때 정의된다;
● 라인 브레이크는 2개의 텍스트 블록들이 그들 사이에 공백 라인 (410) 없이 (아래에서 설명되는) 연관된 제스쳐의 입력을 통해서 서로 분리될 때 정의된다. 라인 브레이크들은 명시적인 입력의 부분이 아니라, 오히려, 이들은 텍스트 레이아웃을 고려하고 사용자 입력을 보존하기 위해 단지 문서 모델에 의해서만 내재적으로 생성/삭제된다. 이러한 방법으로, 라인 브레이크들은 단락들 사이의 스페이스를 표현하기 위한 레이아웃 도우미들로서 기능한다;
● 스페이스는 텍스트 블록 내 문자들, 단어들, 심볼들, 등이 동일한 라인 (410) 상에 또는 후속 라인들 (410) 상에 걸쳐서 서로 분리될 때 정의된다.
편집 제스쳐들의 검출 및 인식의 이해를 돕기 위해, 그리고, 키보드를 이용하여 수행되는 유사한 동작들, 예컨대, 단락 "¶" 또는 라인 브레이크 또는 캐리지 리턴 "
Figure pct00003
" 을 제공하기 위한 리턴 또는 엔터 키의 키잉 (keying) 및 스페이스 "
Figure pct00004
" 를 제공하기 위한 스페이스 바의 키잉과의 상황적 비교를 제공하기 위해, 심볼들이 표시된다. 라인 브레이크는 캐리지 리턴을 프레이징 콘텐츠 또는 콘텐츠 플로우에 도입하는 특수 엘리먼트이다.
예들의 설명이 이루어지기 전에, 본 시스템 및 방법의 애플리케이션 (112) 및 HWR 시스템 (114) 이 핸드라이팅된 제스쳐들을 검출하여 인식하는 방법의 일 예의 간단한 설명이 이하 제공된다. 앞에서 설명한 바와 같이, 입력 표면 (104) 상에 또는 통해서 입력된 스트로크들은 각각의 스트로크 및 스트로크들의 그룹들을 텍스트 문자들 및 단어들과 같은 핸드라이팅된 오브젝트들로서 인식하기 위해 세그멘테이션, 인식 및 언어 모델들을 이용하여 HWR 시스템 (114) 에 의해 프로세싱된다. 제스쳐들의 인식은, 사용되는 특정의 제스쳐를 인식하기 위해, 동일한 접근법을 이용하여, 예컨대, 적어도 스트로크 개시 로케이션, 스트로크 종료 로케이션, 및 스트로크 개시 로케이션과 종료 로케이션을 연결하는 경로를 특징으로 하는 제스쳐들의 스트로크들을 검출하고, 이 스트로크 검출을 스트로크들의 다른 특성들의 결정과 결합하여 제스쳐 입력 및 그 입력의 컨텍스트를 검출한다. 이것은, 새로 입력된 스트로크들이 추가 텍스트와 같은 추가적인 핸드라이팅된 콘텐츠, 또는 이미 입력된 (및 인식된) 콘텐츠에 대한 일종의 제어를 수행하기 위한 제스쳐인지 여부를 이 시점에서 알 수 없기 때문에, 이루어진다.
따라서, 스트로크들이 어떤 입력 (예컨대, 텍스트, 심볼, 형상, 직선, 지그-재그 라인, 소용돌이 모양의 라인) 일 확률들을 결정하기 위해 그리고 기입 방향 (예컨대, 좌측, 우측, 수직, 수평), 기하학적 구조 (예컨대, 방향, 형상에서의 변화들의 유형 및 횟수들) 및 LPU 와의 관계와 같은 특성들을 결정하기 위해, HWR 시스템 (114) 의 인식기 (118) 에 의해 입력 스트로크들이 프로세싱된다. 결정된 가능성있는 스트로크 유형들과 함께, 이들 결정된 특성들은 프로세싱된 스트로크들이 제스쳐의 유형 (예컨대, 밑줄, 취소선, 스크래치-아웃) 일 가능성의 결정을 가능하게 한다. 가능한 제스쳐들의 스트로크들과 가장 가까운 인식된 오브젝트들 (예컨대, 문자들, 단어들, 단락들) 을 비교함으로써, 결정된 가능한 제스쳐 유형들이 컨텍스트에 대해 평가된다. 이러한 비교는 예를 들어, 입력 스트로크들이 제스쳐들인지 그리고 추가적인 텍스트 입력이 아닌지, 그리고 가능한 제스쳐들 유형들이 검출된 경우에 적용될 수 있는지 여부를 검증하기 위해 사용된다. 이것은 예를 들어, 제스쳐 및 오브젝트들/텍스트 (예컨대, 베이스-라인들, 바운딩 (bounding) 박스들, 중첩 비율들) 의 스트로크들의 상대적인 기하학적 특징들을 비교함으로써, 및/또는 인식된 텍스트의 언어를 고려함으로써, 이루어진다. 그후, 결과들의 세트가, 가능성있는 제스쳐(들) 가 적용되어야 하는 디지털 잉크의 확률 스코어들 및 간격들로, 애플리케이션 (112) 에 제안된다. 이와 같이, HWR 시스템 (114) 은 단지 제스쳐 인식 결과들만을 제안하며, 컨텍스트 자체에 대해 임의의 업데이트들을 행하지 않는다. 이러한 방법으로, 임의의 미리 결정된 인식 결과들, 예컨대, 제스쳐가 입력된 인식된 텍스트가 유지된다. 애플리케이션 (112) 은 콘텐츠 상에 변경들을 적용하거나 또는 그것들을 무시하기 위해, 이들 제스쳐 인식 결과들을 프로세싱한다.
일부 기하학적 구조들의 평가는 애플리케이션 (112) 상에서의 UI 세팅들을 통해서 디스에이블될 수 있다. 이것은 어떤 제스쳐들의 이용가능성에 대한 제약을 허용한다. 예를 들어, HWR 시스템 (114) 은 좌-우 방향 및 우-좌 방향 양쪽에서 취소선 삭제 제스쳐를 인식할 수도 있으며, 그러나, 단지 이들 방향들 중 하나에서의 취소선만이 허용되는 것이 바람직할 수도 있다. 이러한 디스에이블먼트는 인식을 용이하게 하거나 또는 추가적인 제스쳐들의 사용을 가능하게 하기 위해 사용될 수 있으며, 예컨대, 디스에이블된 방향에서의 (역방향) 취소선은 인식된 취소선의 '되돌리기 (undo)' 로서 인식될 수도 있다. 또한, 제스쳐들의 일부 유형들을 함께, 예컨대, 모든 삭제 제스쳐들을 디스에이블하는 것이 가능하다. 또, 어떤 특성들의 평가가 확률 스코어들을 증가시키기 위해 사용될 수도 있다. 예를 들어, 입력이 연속적으로 기입될 때 다른 제스쳐들이 최상의 결과가 되지 않도록, 예컨대, 편집 제스쳐들이 그후 얼마 동안 적용되기 보다는, 그후 콘텐츠 입력에 뒤따르도록, 기입 플로우가 추가, 덮어쓰기, 삽입 제스쳐들의 확률 스코어들을 증가시키기 위해 사용될 수도 있다. 이것은 "t" 를 포함하는 전체 단어를 기입한 후, 분음 부호들 (diacritics), 예컨대, 문자 "t" 에 대한 스트로크와 같은 시간 초과 (out of time) 콘텐츠 입력의 인식을 용이하게 하기 위해 사용될 수 있다.
예시적인 편집 제스쳐들이 이하 설명된다. 도 5a 는 그들 사이의 스페이스들에 의해 정의된 바와 같은, 여러 단어들, "Break" (502), "a" (504) 및 "word" (506), 및 단어 (506) 뒤의 마침표 (507) 의 단일 라인 단락 (500) 을 나타낸다. 편집 제스쳐 (508) 는 예를 들어, 이들의 손가락 또는 스타일러스 팁을 나타낸 디스플레이된 위치에서 상부로부터 하부까지 스와이핑하는 사용자에 의해 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 즉, 스트로크 시작 위치는 상부로부터 하부까지의 스트로크의 점진적인 두꺼워짐으로 도시된 바와 같이, 시간 순서에서, 스트로크 끝 위치보다 위에 있다. 편집 스트로크 (508) 는 HWR 시스템 (114) 에 의해 단어 (506) 의 문자들/글자들, 즉 "o" 및 "r" 사이를 통과하는 것으로서 검출된다. 예컨대, 단어 내 (인식된) 텍스트 (500) 에 대한 편집 스트로크 (508) 의 이러한 상대적인 로케이션은 편집 제스쳐 (508) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (508) 가 검출된 로케이션에서 단어 (506) 를 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 5b 에 도시되며, 단어 (506) 가 "o" 와 "r" 사이에 스페이스를 가지는 2개의 부분들 (506a 및 506b) 로 분할되어 있다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (500) 의 특징들은 유지된다. 그러나, HWR 시스템 (114) 이 이러한 겹쳐쓴 문자들의 인식을 허용하면, 이러한 간단한 편집 제스쳐는 핸드라이팅 인식을 통해서, 추가적으로 입력된 문자, 예컨대, 글자 "l" 인 것으로 혼동될 수 있다. 예시된 경우에, 예를 들어, HWR 시스템 (114) 의 언어 모델이 단어 "wolrd" 에 대해 좋지못한 결과를 반환할 것이기 때문에, 이 문자 "l" 의 인식 결과의 확률이 편집 제스쳐, '분할 (Break)' 의 확률보다 낮을 가능성이 높다. 그러나, 언어 모델이 예를 들어, "world" 의 스펠링 오류에 대해 상대적으로 높은 확률을 제공할 수 있거나, 또는 대신, 제스쳐가 단어 (506) 의 "r" 과 "d" 사이에 로케이트될 수도 있다. 이러한 인식 결과들은 입력의 언어 및 컨텍스트에 의존하며, 강건하고 널리 적용가능한 시스템 및 방법을 제공하기 위해서는 이러한 인자들과는 크게 독립적인 인식이 바람직하다.
따라서, 추가적인 특성들의 고려가 본 시스템 및 방법에 의해 이루어진다. 이러한 특성은 페이지 (400) 의 입력 환경과 비교한 편집 스트로크 (508) 의 수직 범위이다. 예를 들어, 스트로크 (508) 가 단락 (500) 이 기입되는 라인 (410) (그리고 또한 그 상부의 라인 (410)) 을 가로지르는데, 이는 예를 들어, 글자 "l" 의 전형적인 특성이 아니므로, 그 문자가 인식될 확률을 상대적으로 감소시키기 위해 사용될 수 있다. 대안적으로 또는 추가적으로, 이러한 특성은 이들 오브젝트들의 엘리먼트들 (예컨대, 베이스-라인, 중심-라인, 상부-라인, 어센더-라인, 디센더-라인, 마트라-라인, 루카-라인, 등) 의 평균 (mean), 산술평균 (average) 및/또는 최대 라인 패턴들과 같은, 그들 사이의 기하학적 관계를 정의하는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (508) 의 수직 범위이다. 예를 들어, 편집 스트로크 (508) 가 단어 (506) 의 (그리고 또한 단락 (500) 의) 스트로크들의 베이스-라인을 가로지르는데, 이는 예를 들어, 글자 "l" 의 전형적인 특성이 아니므로, 그 문자가 인식될 확률을 상대적으로 감소시키는데 사용될 수 있다.
애플리케이션 (112) 은 입력된 편집 스트로크(들) 를 디지털 잉크로서, 예를 들어, 도 5a 에 나타낸 바와 같은 형상, 또는 어떤 다른 적합한 렌더링으로, 인식된 편집 동작이 수행될 때까지, 디스플레이하도록 구성될 수도 있거나, 또는 이러한 디스플레이 없이 편집 동작만을 수행할 수도 있다. 검출된 편집 제스쳐의 디스플레이가 제스쳐 자체 및 그의 상대적인 로케이션의 인식에 대해 사용자들에게 인식 피드백을 제공하기 위해 사용될 수도 있다. 그렇지 않으면, 최종 편집 동작, 예컨대, 도 5b 에 나타낸 수정된 디스플레이가 이러한 피드백에 사용될 수도 있다.
도 6a 는 그들 사이의 스페이스들에 의해 정의된 바와 같은, 여러 단어들, "Break" (602), "a" (604) 및 "line" (606), 및 단어 (606) 뒤의 마침표 (607) 의 단일 라인 단락 (600) 을 나타낸다. 편집 제스쳐 (608) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (608) 는 HWR 시스템 (114) 에 의해 단어 (602) 와 단어 (604) 사이를 통과하는 것으로서 검출된다. 도 5 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (600) 에 대한 편집 스트로크 (608) 의 이러한 상대적인 로케이션은 편집 제스쳐 (608) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (608) 가 검출된 로케이션에서 단락 (600) 의 단일 라인을 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 6b 에 도시되며, 여기서, 단락 (600) 이 텍스트의 2개의 라인들 (600a 및 600b) 로, 즉, 단락 (600) 의 원래 (제 1) 라인 (410) 상의 단어 (602) 는 라인 (600a) 으로, 그리고 단락 (600) 의 제 1 라인 (410) 바로 아래의 다음 (제 2) 라인 (410) 상의 단어들 (604 및 606) 및 마침표 (607) 는 라인 (600b) 으로 분할되며, 단어 (602) 와 단어 (604) 사이에 스페이스를 갖는다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (600) 의 특징들은 유지된다. 도 5 와 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (608) 의 수직 범위와 같은 추가적인 특성들의 고려가 본 시스템 및 방법에 의해 이러한 인식 결과를 추가로 검증하기 위해 추가로 사용될 수도 있다.
도 6 과 관련하여 위에서 설명된 바와 같이, 단락 (600) 은 라인들 사이에 스페이스를 제공하면서, 2개의 라인들로 분리된다. 그러나, 대안적으로, 분리는 라인 브레이크의 제공으로 수행될 수도 있다. 이들 상황들 사이의 차이는, 응답적 디스플레이 (예컨대, 애플리케이션 (112) 에 대한 UI 의 윈도우 사이즈 또는 디바이스 (100) 의 애스팩트 또는 스크린 사이즈가 변경됨) 와 같은 디스플레이 조건들에서의 변화 또는 콘텐츠의 추가적인 편집 또는 조판 잉크로의 디지털 잉크의 조판 시, 단락의 라인들 사이의 스페이스의 제공이 디지털 또는 조판 잉크의 리플로우를 허용할 것이며, 예컨대, 단락들의 단어들이 단어 간격 규정을 고려하기 위해 인접 라인으로 플로우되며, 반면, 라인 브레이크의 제공이 리플로우가 분할된 라인들을 가로질러 허용되지 않도록 그 플로우를 입력으로서 보호한다는 점이다.
도 7a 는 라인의 분할 시에 스페이스 대신, 라인 브레이크가 제공되는 예를 나타낸다. 도 7a 에서, 이들 사이의 스페이스들에 의해 정의된 바와 같은, 여러 단어들, "Break" (702), "a" (704), "longer" (705), 및 "line" (706), 및 단어 (706) 뒤의 마침표 (707) 의 단일 라인 단락 (700) 이 입력된다. 편집 제스쳐 (708) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (708) 는 HWR 시스템 (114) 에 의해 단어 (702) 와 단어 (704) 사이를 통과하는 것으로서 검출된다. 도 6 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (700) 에 대한 편집 스트로크 (608) 의 이러한 상대적인 로케이션은 편집 제스쳐 (708) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (708) 가 검출된 로케이션에서의 단락 (700) 의 단일 라인을 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 7b 에 도시되며, 여기서, 단락 (700) 이 단어 (702) 및 단어 (704) 사이에 라인 브레이크를 가지면서 2개의 라인들 (700a 및 700b) 로 분할되며, 그 결과, 단어 (702) 가 원래 (제 1) 라인 (410) 상에 남아 있고, 나머지 단어들 (704, 705 및 706) 및 마침표 (707) 가 제 1 라인 (410) 아래의 다음 (제 2) 라인 (410) 으로 이동된다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (700) 의 특징들은 유지된다. 도 6 과 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (708) 의 수직 범위와 같은, 추가적인 특성들의 고려가 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다.
도 6 및 도 7 에서와 같은 시나리오들에서 스페이스 또는 라인 브레이크를 제공할지 여부의 결정은, 도 6 에서, 리플로우의 허용량이 적합하도록 사용자의 의도가 단락 (600) (예컨대, 이미지 블록) 다음에 추가적인 오브젝트 블록을 입력하는 것이었다는 고려를 초래하는, 단락 (600) 의 전체 폭이 감소되는 반면, 도 7 에서, 라인 브레이크가 적합하도록 사용자가 단락 (700) 의 레이아웃 변경을 의도하였다는 고려를 초래하는 분할 동작 (도 7b 참조) 이후에 제 1 라인 (410) 보다 더 많은 콘텐츠가 제 2 라인 (410) 에 제공되는 것과 같은, 단락 크기들 및/또는 제스쳐 위치와 같은 입력의 추가적인 특성들의 고려를 통해서 제공될 수 있다. 추가적인 및/또는 대안적인 특성들이 이용될 수도 있으며, 사용자들에 의해 UI 를 통해서 설정가능할 수도 있을 알 수 있다.
도 8 은 도 4 의 예시적인 입력에 대해 수행된 예시적인 라인 브레이크 동작을 나타낸다. 도 8 에서, 분할 제스쳐 (800) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (800) 는 HWR 시스템 (114) 에 의해 마침표 (422) 와 대문자로 된 단어 (424) 인, 단락 (416) 의 라인 (426) 상의 엘리먼트 (422) 와 엘리먼트 (424) 사이를 통과하는 것으로 검출된다. 도 5 내지 도 7 의 예들과 같이, 예컨대, 문장들 사이의 스페이스에서의, (인식된) 단락 (416) 에 대한 편집 스트로크 (800) 의 이러한 상대적인 로케이션은 편집 제스쳐 (800) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 편집 제스쳐 (800) 가 검출된 로케이션에서 단락 (416) 을 분할하거나 또는 분리하도록 사용자에 의해 의도된다는 결정을 초래할 수도 있다. 이러한 인식의 컨택스트 및/또는 애플리케이션 (112) 의 세팅들에 따라, 이러한 인식 결과는 위에서 설명한 바와 같이, 검출된 분할 위치에서 스페이스 또는 라인 브레이크의 제공을 초래할 수도 있다. 이들 레이아웃 동작들 중 어느 하나의 제공은 콘텐츠의 다른 부분들에 대해 상이한 액션들을 발생시킬 수도 있다.
예를 들어, 애플리케이션 (112) 이, 텍스트 리플로우가 허용되지 않는다는 것을 의미하는, 인식 결과의 결정에서 라인 브레이크를 제공하면, 분할된 단락의 임의의 하향스트림 콘텐츠는 유사하게 분할 동작 동안 리플로우되지 않을 수도 있다. 이것은 도 8b 에 도시되며, 여기서, 마침표 (422) 가 (선행하는 단어들과 함께) 원래 (제 1) 라인 (410) 상에 남아 있고 단어 (424) (그리고 후속 단어 (428) 및 콤마 (430)) 가 단락 (416) 의 새로운 라인 (432) 으로서 아래의 후속 (제 2) 라인 (410) 상으로 이동되도록 단락 (416) 이 분할되어 있으며, 라인 브레이크 (미도시) 가 라인 (426) 과 라인 (432) 사이에 제공된다. 그 결과, 도 8a 에 나타낸 입력 (400) 의 원래 레이아웃에서 제 2 라인 (410) (라인 (434)) 상의 단락 (416) 의 텍스트가, 도 8b 에 나타낸 바와 같이, 제 2 라인 (410) 아래의 다음 (제 3) 라인 (410) 으로 이동되며, 그 결과, 유사하게, 단락 (416) 의 모든 나머지 라인들 및 제목 (418) 및 단락 (420) 이 이동된다 (예컨대, 도 8a 에 디스플레이된 바와 같은 단락 (420) 의 텍스트의 최종 라인 (436) 이 디스플레이 (104) 로부터 밖으로 스크롤되는 것을 볼 수 있다).
한편, 애플리케이션 (112) 이 텍스트 리플로우가 허용된다는 것을 의미하는, 인식 결과의 결정에서 스페이스를 제공하면, 분할된 단락의 임의의 하향스트림 콘텐츠는 유사하게 분할 동작 동안 리플로우가능할 수도 있다. 이것은 도 8c 에 도시되며, 여기서, 마침표 (422) 가 (선행하는 단어들과 함께) 제 1 라인 (410) 상에 남아 있고 단어 (424) (및 후속 단어 (428) 및 콤마 (430)) 가 아래의 제 2 라인 (410) 으로 이동되도록 단락 (416) 이 분리되며, 라인 (426) 과 제 2 라인 (410) 상의 콘텐츠 사이에 스페이스 (미도시) 가 제공된다. 그러나, 도 8b 의 예와는 달리, 이동된 콘텐츠는 새로운 라인을 생성하지 않으며, 대신, 리플로우된 상부 콘텐츠를 수용하기 위해, 이 콘텐츠 (즉, 단어들 (424 및 428) 및 콤마 (430)) 가 단락 (416) 의 다음 라인 (434) 상으로 리플로우되며, 그 결과, 제 3 라인 (410) (단락 (416) 의 라인 (438)) 상으로의 라인 (434) 에 본래 있는 콘텐츠의 일부가 리플로우되고, 라인 (438) 에 본래 있는 콘텐츠의 일부가 리플로우된다. 볼 수 있는 바와 같이, 단락 (416) 의 리플로우된 라인 (438) 이 리플로우된 및 원래의 콘텐츠를 수용하기 때문에, 하향스트림 콘텐츠 (예컨대, 제목 (418) 및 단락 (420)) 의 어떤 추가적인 리플로우도 이 경우에 요구되지 않는다.
위에서 설명된 예들은 설명된 상-하 단일 스트로크 분할 제스쳐를 이용한 단일- 또는 멀티-라인 단락 내 텍스트의 라인의 분할을 예시한다. 이 제스쳐는 예들에서 예시된 좌-우 언어 입력의 수직 플로우 시나리오에 대해 오브젝트 블록들의 엘리먼트들을 분할하는데 상대적으로 직관적이라고 간주된다. 그러나, 특히 수평 플로우 언어들의 경우에 상이한 방향으로의 단일 스트로크 제스쳐, 라인 브레이크 또는 캐리지 리턴 심볼을 추적하는 2 스트로크 제스쳐와 같은 다중 스트로크 제스쳐들, 또는 탭과 같은 비-방향성 제스쳐들이 또한 사용될 수 있음을 알 수 있다. 유사한 분할 제스쳐들이 또한 라인 대신 단락을 분할하는 컨텍스트에서 사용될 수 있다.
도 9a 는 여러 단어들, (제 1 라인 (410) 상의) 단락 (900) 의 제 1 라인 (900a) 에서의 "Break" (902) 및 (제 1 라인 (410) 바로 아래 제 2 라인 (410) 상의) 단락 (900) 의 제 2 라인 (900b) 에서의 "a" (904) 및 "paragraph" (906), 및 단어 (906) 뒤의 마침표 (907) 의 멀티-라인 단락 (900) 을 나타내며, 라인들 사이에 라인 브레이크를 갖는다. 단일 스트로크로 상-하 수직 라인으로서의 어느 하나의 입력으로, 편집 제스쳐 (908) 가 라인 (900a) 의 라인 브레이크에서 (예컨대, 단어 (902) 의 우측에서) 검출되거나 또는 편집 제스쳐 (910) 가 라인 (900b) 의 시작에서 (예컨대, 단어 (904) 의 좌측의 좌측에서) 검출된다. 어느 경우든, 편집 스트로크 (908 또는 910) 가 HWR 시스템 (114) 에 의해 단락 (900) 의 라인 (900a) 과 라인 (900b) 사이를 통과하는 것으로 검출된다.
도 5 내지 도 8 의 예들과 같이, 예컨대, 라인 브레이크에서의, (인식된) 텍스트 (900) 에 대한 편집 스트로크 (908 또는 910) 의 이러한 상대적인 로케이션은 편집 제스쳐 (908 또는 910) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (908 또는 910) 가 검출된 로케이션에서의 단일 단락 (900) 을 2개의 단락들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 9b 에 도시되며, 여기서, 단락 (900) 이 2개의 단일 라인 단락들 (912 및 914), 즉, (원래 제 1 라인 (410) 상의) 단락 (900) 의 원래 (제 1) 라인 (900a) 의 단어 (902) 를 포함하는 (제 1) 단락 (912), 및 제 2 라인 (410) 바로 아래의 다음 (제 3) 라인 (410) 상의 단락 (900) 의 원래 (제 2) 라인 (900b) 의 단어들 (904 및 906) 및 마침표 (907) 를 포함하는 (제 2) 단락 (914) 으로 분할되며, 그 결과, 제 2 라인 (410) 이 이제 공백이며, 예컨대, 단락 (900) 의 라인들 사이에 콘텐츠가 없으며, 라인 브레이크가 단락 마커로 대체된다. 도 5 내지 도 8 과 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한 편집 스트로크들 (908 또는 910) 의 수직 범위와 같은 추가적인 특성들의 고려가 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다.
도 9 과 관련하여 위에서 설명된 바와 같이, 멀티-라인 단락 (900) 은 기존 라인 브레이크 상에서 2개의 단락들로 분리된다. 이러한 분리는 또한 도 10 에 나타낸 바와 같이, 기존 스페이스 상에 걸쳐서 수행될 수도 있다. 도 10a 는 그들 사이에 스페이스를 갖는, 여러 단어들, (제 1 라인 (410) 상의) 단락 (1000) 의 제 1 라인 (1000a) 에서의 "Break" (1002) 및 'again' (1003) 및 (제 1 라인 (410) 바로 아래 제 2 라인 (410) 상의) 단락 (1000) 의 제 2 라인 (1000b) 에서의 "a" (1004) 및 "paragraph" (1006), 및 단어 (1006) 뒤의 마침표 (1007) 의 멀티-라인 단락 (1000) 을 나타낸다. 단일 스트로크로 상-하 수직 라인으로서의 어느 하나의 입력으로, 편집 제스쳐 (1008) 가 라인 (1000a) 의 단어 (1003) 뒤의 스페이스에서 (예컨대, 단어 (1003) 의 우측에서) 검출되거나 또는 편집 제스쳐 (1010) 가 라인 (1000b) 의 시작에서 (예컨대, 단어 (1004) 의 좌측에서) 검출된다. 어느 경우든, 편집 스트로크 (1008 또는 1010) 는 HWR 시스템 (114) 에 의해 단락 (1000) 의 라인 (1000a) 과 라인 (1000b) 사이를 통과하는 것으로 검출된다.
도 9 의 예와 유사하게, 예컨대, 단부 스페이스 (end space) 에서의, (인식된) 텍스트 (1000) 에 대한 편집 스트로크 (1008 또는 1010) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1008 또는 1010) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (1008 또는 1010) 가 검출된 로케이션에서의 단일 단락 (1000) 을 2개의 단락들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 10b 에 도시되며, 여기서, 단락 (1000) 이 2개의 단일 라인 단락들 (1012 및 1014), 즉, (원래 제 1 라인 (410) 상의) 단락 (1000) 의 원래 (제 1) 라인 (1000a) 의 단어들 (1002 및 1003) 을 포함하는 (제 1) 단락 (1012), 및, 제 2 라인 (410) 바로 아래의 다음 (제 3) 라인 (410) 상의 단락 (1000) 의 원래 (제 2) 라인 (1000b) 의 단어들 (1004 및 1006) 및 마침표 (1007) 를 포함하는 (제 2) 단락 (1014) 으로 분할되며, 그 결과, 제 2 라인 (410) 이 이제 공백이 되며, 라인 (1000a) 의 단부 스페이스가 단락 마커로 대체된다. 따라서, 도 9b 의 예의 인식 결과와 유사한 인식 결과가 획득된다. 도 9 와 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한 편집 스트로크들 (1008 또는 1010) 의 수직 범위와 같은 추가적인 특성들의 고려가 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다.
별개의 단락들 사이의 추가적인 스페이스는, 이들이 도 9 및 도 10 의 예들에서와 같이 단일 단락을 분리함으로써 형성되었든 또는 그러한 방법으로 초기에 입력되었든, 유사하게 로케이트되는 분할 제스쳐들을 이용하여 제공될 수 있다. 도 10c 는 도 10b 의 별개의 단락들 (1012 및 1014) 을 나타내며, 여기서, 편집 제스쳐 (1008) 는 단락 (1012) 의 단어 (1003) 뒤의 단락 마커에서 (예컨대, 단어 (1003) 의 우측에서) 검출되거나, 또는 편집 제스쳐 (1010) 는 단락 (1014) 의 시작에서 (예컨대, 단어 (1004) 의 좌측에서) 검출되거나, 또는 편집 제스쳐 (1016) 는 (제 2 라인 (410) 에서) 단락 (1012) 과 단락 (1014) 사이의 공백 스페이스에서 검출되며, 이들 제스쳐들 중 어느 하나가 단일 스트로크로 상-하 수직 라인으로서 입력된다. 어느 경우든, 편집 스트로크 (1008, 1010 또는 1016) 는 HWR 시스템 (114) 에 의해 단락 (1012) 와 단락 (1014) 사이를 통과하는 것으로 검출된다.
도 10a 에 있어서, 예컨대, 단락들 사이에서의, (인식된) 텍스트 (1012 및 1014) 에 대한 편집 스트로크 (1008, 1010 또는 1016) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1008, 1010 또는 1016) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (1008, 1010 또는 1016) 가 검출된 로케이션에서 단락 (1012) 과 단락 (1014) 사이에 추가적인 스페이스를 추가하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 10d 에 도시되며, 여기서, (제 2) 단락 (1014) 이 제 3 라인 (410) 바로 아래의 다음 (제 4) 라인 (410) 으로 이동되며, 그 결과 제 2 및 제 3 라인들 (410) 양쪽이 이제 공백이 되며, 제 3 라인 (410) 내에 라인 브레이크 마커가 기입된다. 애플리케이션 (112) 을 통해서 선택가능할 수도 있는, 이러한 라인 브레이크의 제공은 콘텐츠가 제 2 또는 제 3 라인들 (410) 에 추가되면, 예를 들어, 예컨대, 콘텐츠가 제 2 라인에 추가되면, 하향스트림 콘텐츠의 이동의 제어를 제공하기 위해 사용될 수 있으며, 이것은 제 3 라인 (410) 이 단락 (1014) 의 이동 없이 유지되도록 단락 (1012) 에 추가된 콘텐츠로서 간주된다. 위에서 설명한 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크들 (1008, 1010 또는 1016) 의 수직 범위와 같은 추가적인 특성들의 고려가 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다.
도 11 은 도 4 의 예시적인 입력에 대해 수행되는 예시적인 스페이스 추가 동작을 나타낸다. 도 11 에서, 스페이스 제스쳐 (1100) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (1100) 는 HWR 시스템 (114) 에 의해, 단락 (416) 과 단락 (418) 사이의 공백 (제 1) 라인 (410) 상에서 그리고 단락 (418) 이 제공되는 (제 2) 라인 (410) 상부에서, 단락 (416) 과 단락 (418) 사이를 통과하는 것으로서 검출된다. 도 10c 및 도 10d 의 예와 유사하게, 예컨대, 단락들 사이의 스페이스에서의, (인식된) 단락들 (416 및 418) 에 대한 편집 스트로크 (1100) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1100) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면, 상-하 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 사용자에 의해 편집 제스쳐 (1100) 가 검출된 로케이션에서 단락 (416) 과 단락 (418) 사이에 추가적인 스페이스를 추가하도록 의도된다는 결정을 초래할 수도 있다.
이러한 인식 결과가 도 11b 에 도시되며, 여기서, 단락 (418) 이 제 2 라인 (410) 아래의 후속 (제 3) 라인 (410) 상으로 이동되었다. 그 결과, 도 11a 에 나타낸 입력 (400) 의 원래 레이아웃에서 제 3 라인 (410) 아래의 (제 4) 라인 (410) 상의 단락 (420) 이 제 4 라인 (410) 아래의 다음 (제 5) 라인 (410) 으로 이동된다 (예컨대, 도 11a 에 디스플레이된 바와 같은 단락 (420) 의 텍스트의 최종 라인 (436) 이 디스플레이 (104) 밖으로 스크롤되는 것을 볼 수 있다). 이러한 인식의 컨택스트 및/또는 애플리케이션 (112) 의 세팅들에 따라, 이러한 인식 결과는 위에서 설명한 바와 같이, 콘텐츠의 다른 부분들에 대한 결과적인 액션들로, 검출된 분할 위치에서 라인 브레이크의 제공을 초래할 수도 있다.
위에서 설명된 예들은 설명된 상-하 단일 스트로크 분할 또는 스페이스 제스쳐를 이용한 별개의 단락들 또는 별개의 단락들의 간격으로의 단일- 또는 멀티-라인 단락의 분할을 예시한다. 이 제스쳐는 예들에서 예시된 좌-우 언어 입력의 수직 플로우 시나리오에 대해 오브젝트 블록들을 별개의 블록들로 또는 스페이스 오브젝트 블록들로 분할하는데 상대적으로 직관적인 것으로 간주된다. 그러나, 특히 수평 플로우 언어들의 경우 상이한 방향으로의 단일 스트로크 제스쳐, 라인 브레이크 또는 캐리지 리턴 심볼을 추적하는 2 스트로크 제스쳐와 같은 다중 스트로크 제스쳐들, 또는 탭과 같은 비-방향성 제스쳐들이 또한 사용될 수 있음을 알 수 있다.
위에서 설명된 편집 제스쳐들은 핸드라이팅된 콘텐츠와 관련하여 분할, 분리 또는 이간 (spacing) 동작들을 수행하기 위한 것이었다. 다른 편집 동작들이 또한 가능하다. 도 12a 는 이들 사이의 스페이스들에 의해 정의된 바와 같은, 여러 단어들, "Join" (1202), "two" (1204) 및 "words" (1206), 및 단어 (1206) 뒤의 마침표 (1207) 의 단일 라인 단락 (1200) 을 나타낸다. 편집 제스쳐 (1208) 는 예를 들어, 나타낸 디스플레이된 위치에서 이들의 손가락 또는 스타일러스 팁을 하부로부터 상부까지 스와이핑하는 사용자에 의해 단일 스트로크로 하부-상부 수직 라인으로서 입력되는 것으로서 검출된다. 즉, 스트로크 시작 위치는, 시간 순서에서, 하부로부터 상부까지 스트로크의 점진적인 두꺼워짐으로 도시된 바와 같이, 스트로크 끝 위치 아래에 있다. 편집 스트로크 (1208) 는 HWR 시스템 (114) 에 의해 단어 (1204) 와 단어 (1206) 사이의 스페이스를 통과하는 것으로서 검출된다. 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (1200) 에 대한 편집 스트로크 (1208) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1208) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐 (1208) 가 사용자에 의해 단어들 (1204 및 1206) 을 함께 결합하거나 또는 검출된 로케이션에서 스페이스를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 12b 에 도시된 바와 같으며, 여기서, 단어들 (1204 및 1206) 이 새로운 단어 (1209) 로, 즉 단어 (1204) 의 "o" 및 단어 (1206) 의 "w" 에서 결합되었다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (1200) 의 특징들은 유지된다. 그러나, 이러한 간단한 편집 제스쳐는 핸드라이팅 인식을 통해서 추가적으로 입력 문자, 예컨대, 글자 "l" 인 것으로 혼동될 수 있다. 예시된 경우에, 이 문자 "l" 의 인식 결과의 확률은, HWR 시스템 (114) 의 언어 모델이 예를 들어, 하부-상부 스트로크 순서로 기입된 "l" 문자에 대해 좋지못한 결과를 반환할 것이기 때문에, 아마도 편집 제스쳐, '결합 (join)' 의 확률보다 낮을 것이다. 그러나, 언어 모델은 예를 들어, 입력이 "l" 인 경우 단어 "twolwords" 또는 입력이 편집 제스쳐, '결합' 인 경우 단어 "twowords" 에 대해 상대적으로 유사한 확률을 제공할 수 있다. 이러한 인식 결과들은 입력의 언어 및 컨텍스트에 의존하며, 이에 따라서, 강건하고 널리 적용가능한 시스템 및 방법을 제공하기 위해서는, 이러한 인자들과 크게 독립적인 인식이 바람직하다.
따라서, 추가적인 특성들의 고려가 본 시스템 및 방법에 의해 이루어진다. 상-하 수직 편집 제스쳐와 유사하게, 이러한 특성은 페이지 (400) 의 입력 환경과 비교한 편집 스트로크 (1208) 의 수직 범위이다. 예를 들어, 스트로크 (1208) 가 단락 (1200) 이 기입되는 라인 (410) (그리고 또한 그 상부의 라인 (410)) 을 가로 지르는데, 이는 예를 들어, 글자 "l" 의 전형적인 특성이 아니며, 따라서, 그 문자가 인식될 확률을 상대적으로 감소시키는데 사용될 수 있다. 대안적으로 또는 추가적으로, 이러한 특성은 이들 오브젝트들의 엘리먼트들 (예컨대, 베이스-라인, 중심-라인, 상부-라인, 어센더-라인, 디센더-라인, 마트라-라인, 루카-라인, 등) 의 평균 (mean), 산술평균 (average) 및/또는 최대 라인 패턴들과 같은, 그들 사이의 기하학적 관계를 정의하는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (1208) 의 수직 범위이다. 예를 들어, 편집 스트로크 (1208) 가 단어들 (1204 및 1206) 의 (그리고 또한 단락 (1200) 의) 스트로크들의 베이스-라인을 가로지르며, 예를 들어, 글자 "l" 의 전형적인 특성이 아니며, 따라서, 그 문자가 인식될 확률을 상대적으로 감소시키는데 사용될 수 있다.
이러한 결합 또는 스페이스 삭제 제스쳐의 인식은 상이한 제스쳐 유형을 허용하거나 또는 요구함으로써 추가로 향상될 수도 있다. 도 12c 는 예를 들어, 나타낸 디스플레이된 위치에서 이들의 손가락 또는 스타일러스 팁을 상하로 여러번 스와이핑하는 사용자에 의해 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (1210) 를 갖는, 단일 라인 단락 (1200) 을 나타낸다. 편집 스트로크 (1210) 는 HWR 시스템 (114) 에 의해 단어 (1204) 와 단어 (1206) 사이의 스페이스를 통과하는 것으로 검출된다. 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (1200) 에 대한 편집 스트로크 (1210) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1210) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면, 지그-재깅은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐 (1210) 가 사용자에 의해 단어들 (1204 및 1206) 을 함께 결합하거나 또는 검출된 로케이션에서의 스페이스를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 12b 에 나타낸 바와 같다. 이러한 방법으로, 지그-재그 또는 스크래치-아웃 제스쳐가 도 12a 와 관련하여 설명된 상대적으로 간단한, 단방향의 편집 제스쳐 대신 사용된다. 그러나, 지그-재그 제스쳐 (1210) 는 또한 핸드라이팅 인식을 통해서 추가적으로 입력 문자, 예컨대, 글자 "w" 인 것으로 혼동될 수 있다. 예시된 경우에, HWR 시스템 (114) 의 언어 모델이 예를 들어, 인식된 텍스트 (1200) 의 다른 문자들의 기울기와 많이 상이한 도시된 기울기로 기입된 "w" 문자에 대해 좋지못한 결과를 반환할 것이기 때문에, 이 문자 "w" 의 인식 결과의 확률은 아마도 편집 제스쳐, '결합' 의 확률보다 낮을 것이다. 그러나, 언어 모델은 예를 들어, 입력이 "w" 인 경우 단어 "twowwords" 또는 입력이 편집 제스쳐, '결합' 인 경우 단어 "twowords" 에 대해 상대적으로 유사한 확률을 제공할 것이다. 이러한 인식 결과들은 입력의 언어 및 컨텍스트에 의존하며, 이에 따라서, 강건하고 널리 적용가능한 시스템 및 방법을 제공하기 위해서는 이러한 인자들과 크게 독립적인 인식이 바람직하다.
따라서, 추가적인 특성들의 고려가 본 시스템 및 방법에 의해 이루어진다. 하부-상부 결합 또는 스페이스 삭제 제스쳐와 유사하게, 이러한 특성은 페이지 (400) 의 입력 환경과 비교한 편집 스트로크 (1210) 의 수직 범위이다. 예를 들어, 스트로크 (1210) 가 단락 (1200) 이 기입되는 라인 (410) 을 가로지르는데, 이는 예를 들어, 글자 "w" 의 전형적인 특성이 아니며, 따라서, 그 문자가 인식될 확률을 상대적으로 감소시키기 위해 사용될 수 있다. 대안적으로 또는 추가적으로, 이러한 특성은 이들 오브젝트들의 엘리먼트들 (예컨대, 베이스-라인, 중심-라인, 상부-라인, 어센더-라인, 디센더-라인, 마트라-라인, 루카-라인, 등) 의 평균 (mean), 산술평균 (average) 및/또는 최대 라인 패턴들과 같은, 그들 사이의 기하학적 관계를 정의하는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (1210) 의 수직 범위이다. 예를 들어, 편집 스트로크 (1210) 가 단어들 (1204 및 1206) 의 (그리고 또한 단락 (1200) 의) 스트로크들의 베이스-라인을 가로지르는데, 이는 예를 들어, 글자 "w" 의 전형적인 특성이 아니며, 따라서, 그 문자가 인식될 확률을 상대적으로 감소시키는데 사용될 수 있다.
애플리케이션 (112) 은 입력된 편집 스트로크(들) 를 디지털 잉크로서, 예를 들어, 도 12a 또는 도 12c 에 나타낸 바와 같은 형상, 또는 어떤 다른 적합한 렌더링으로, 인식된 편집 동작이 수행될 때까지, 디스플레이하도록 구성될 수도 있거나 또는 단지 이러한 디스플레이 없이 편집 동작을 수행할 수도 있다. 검출된 편집 제스쳐의 디스플레이가 제스쳐 자체 및 그의 상대적인 로케이션의 인식에 대해 사용자들에게 인식 피드백을 제공하기 위해 사용될 수도 있다. 그렇지 않으면, 최종 편집 동작, 예컨대, 도 12b 에 나타낸 수정된 디스플레이가 이러한 피드백에 사용될 수도 있다.
유사한 결합 또는 스페이스 (또는, 라인 브레이크) 삭제 제스쳐들이 단락의 별개의 텍스트 라인들을 결합하기 위해 사용될 수 있다. 예를 들어, 도 13a 는 이들 사이에 스페이스를 가지는, 여러 단어들, (제 1 라인 (410) 상의) 단락 (1300) 의 제 1 라인 (1300a) 에서의, "Join" (1302) 및 "two" (1304), 및 (제 1 라인 (410) 바로 아래 제 2 라인 (410) 상의) 단락 (1300) 의 제 2 라인 (1300b) 에서의, "lines" (1306), 및 단어 (1306) 뒤의 마침표 (1307) 의 멀티-라인 단락 (1300) 을 나타낸다. 단일 스트로크로 하부-상부 수직 라인으로서의 어느 하나의 입력으로, 편집 제스쳐 (1308) 가 라인 (1300a) 의 단부 스페이스에서 (예컨대, 단어 (1304) 의 우측에서) 검출되거나 또는 편집 제스쳐 (1310) 가 라인 (1300b) 의 시작에서 (예컨대, 단어 (1306) 의 좌측에서) 검출된다. 이와 유사하게, 도 13b 에서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (1312) 가 단락 (1300) 의 라인 (1300a) 의 단부 스페이스에서 검출된다. 어느 경우든, 편집 스트로크 (1308, 1310 또는 1312) 는 HWR 시스템 (114) 에 의해 단락 (900) 의 라인 (1300a) 과 라인 (1300b) 사이를 통과하는 것으로 검출된다. 예컨대, 라인들 사이의 스페이스에서의, (인식된) 텍스트 (1300) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향 또는 지그-재깅은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 라인들 (1300a 및 1300b) 을 함께 결합하거나 또는 검출된 로케이션에서 스페이스를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 13c 에 나타낸 바와 같으며, 여기서, 라인들 (1300a 및 1300b) 이 단락 (1300) 의 콘텐츠 모두를 포함하는 새로운 라인 (1314) 으로 결합된다. 하부-상부 편집 제스쳐 (1308 또는 1310) 또는 지그-재그 제스쳐 (1312) 가 단락 (1300) 의 2개의 라인들 (1300a 및 1300b) 사이의 단부 스페이스 대신, 라인 브레이크를 가로질러 사용되는, 도 13d 및 도 13e 에 나타낸 결합하는 예들로부터, 유사한 인식 결과가 얻어진다.
도 14 는 라인 브레이크 (미도시) 가 분할된 단락 (416) 의 라인 (426) 과 라인 (432) 사이에 제공된 도 8b 의 예시적인 인식 결과에 대해 수행되는 예시적인 라인 결합 또는 스페이스 삭제 동작을 나타낸다. 도 14 에서, 결합 제스쳐 (1400) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 하부-상부 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (1400) 는 HWR 시스템 (114) 에 의해 단락 (416) 의 라인들 (426 및 432) 각각 상의 마침표 (422) 와 단어 (424) 사이를 통과하는 것으로서 검출된다. 이전 예들과 유사하게, 예컨대, 단락의 라인들 사이의 라인 브레이크 상에서의, (인식된) 단락 (416) 에 대한 편집 스트로크 (1400) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1400) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 편집 제스쳐 (1400) 가 사용자에 의해 단락 (416) 의 라인들 (426 및 432) 을, 그들 사이의 라인 브레이크의 제거와 함께, 결합하도록 의도된다는 결정을 초래할 수도 있다. 그 결과, 그 디스플레이가 도 4 의 디스플레이로 되돌아가도록, 단어 (424) (그리고 후속 단어 (428) 및 콤마 (430)) 가 제 1 라인 (410) 바로 아래의 (제 2) 라인 (410) 으로부터 마침표 (422) 를 갖는 (제 1) 라인 (410) 상으로 이동되며, 제 3 및 제 4 라인들 (410) 상의 단락 (416) 의 텍스트가 제 2 및 제 3 라인들로 각각 이동되며, 유사하게, 제목 (418) 및 단락 (420) 이 각각 하나의 라인 (410) 위로 이동된다.
위에서 설명된 예들은 설명된 하부-상부 단일 스트로크 결합 또는 삭제 스페이스 제스쳐 또는 지그-재그 멀티-방향 단일- 또는 멀티-스트로크 스크래치-아웃 제스쳐를 이용한 텍스트의 라인의 결합 또는 단일- 또는 멀티-라인 단락 내 스페이스의 삭제를 예시한다. 이들 제스쳐들이 예들에서 예시된 좌-우 언어 입력의 수직 플로우 시나리오에 대해 오브젝트 블록들의 엘리먼트들 사이의 스페이스를 결합하거나 또는 삭제하는데 상대적으로 직관적인 것으로 간주된다. 그러나, 특히 수평 플로우 언어들의 경우 상이한 방향으로의 단일 스트로크 제스쳐, 다중 스트로크 제스쳐들, 또는 탭과 같은 비-방향성 제스쳐들이 또한 사용될 수 있음을 알 수 있다. 유사한 결합 또는 스페이스 (또는, 라인 브레이크) 삭제 제스쳐들이 별개의 단락들 사이의 스페이스 (또는, 라인 브레이크들) 을 결합하거나 또는 제거하기 위해 이용될 수 있다.
도 15a 는 (제 1) 라인 (410) 상의, 하나의 단어, "Join" (1502) 의 (제 1) 단일 라인 단락 (1500), 제 1 라인 (410) 바로 아래의 공백 (제 2) 라인 (410), 및 제 2 라인 (410) 바로 아래의 (제 3) 라인 (410) 상의, 여러 단어들, "two" (1504) 및 "paragraphs" (1506), 및 단어 (1506) 뒤의 마침표 (1507) 의 (제 2) 단일 라인 단락 (1503) 을 나타낸다. 단일 스트로크로 하부-상부 수직 라인으로서의 각각의 입력으로, 제 1 단락 (1500) 의 끝에서의 (예컨대, 단어 (1502) 의 우측에서의) 편집 제스쳐 (1508), 단락 (1500) 과 단락 (1503) 사이의 공백 제 2 라인 (410) 에서의 편집 제스쳐 (1510), 및 제 2 단락 (1503) 의 시작에서의 (예컨대, 단어 (1504) 의 좌측에서의) 편집 제스쳐 (1512) 중 어느 것이 검출된다. 이와 유사하게, 도 15b 에서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (1514) 가 단락 (1500) 과 단락 (1503) 사이의 공백 제 2 라인 (410) 에서 검출된다. 어느 경우든, 편집 스트로크 (1508, 1510, 1512 또는 1514) 는 HWR 시스템 (114) 에 의해 제 1 단락 (1500) 과 제 2 단락 (1503) 사이에 있는 것으로서 검출된다. 예컨대, 단락들 사이의 공백 라인에서의, (인식된) 텍스트 (1500 및 1503) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향 또는 지그-재깅은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해, 검출된 로케이션에서 단락 (1500) 과 단락 (1503) 을 함께 결합하거나 또는 이들 사이의 공백 라인을 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 15c 에 도시된 바와 같으며, 여기서, 단락들 (1500 및 1503) 이 제 1 단락 (1500), 및 (제 1 라인 (410) 상의) 제 1 라인 (1516a) 에서의 제 2 단락 (1503) 의 단어 (1504) 및 (제 2 라인 (410) 상의) 제 2 라인 (1516b) 에서의 제 2 단락 (1503) 의 단어 (1506) 및 마침표 (1507) 의 콘텐츠를 포함하고 이들 사이의 스페이스 (예컨대, 라인 (1516a) 의 단부 스페이스) 를 가지는 새로운 (제 3) 단락 (1516) 으로 결합되어 있다. 이와 같이, 결합된 단락들의 콘텐츠는, 이것이 사용자가 단락들을 결합하려는 의도로 간주되므로, 단일 단락을 생성하기 위해 리플로우된다. 그러나, 대안적으로 리플로우가 발생하지 않도록 라인 브레이크가 제공될 수 있다. 그 경우, 하부-상부 편집 제스쳐 (1508, 1510 또는 1512) 또는 지그-재그 제스쳐 (1514) 가 단락 (1500) 과 단락 (1503) 사이의 단부 스페이스 대신, 라인 브레이크를 가로질러 사용되는 도 13d 및 도 13e 에 나타낸 결합하는 예들에서와 같이 유사한 인식 결과가 얻어진다.
유사한 결합 또는 스페이스 (또는, 라인 브레이크) 삭제 제스쳐들이 별개의 단락들 사이의 추가적인 스페이스 (라인 브레이크들) 를 제거하기 위해 사용될 수 있다. 예를 들어, 도 16a 는 (제 1) 라인 (410) 상의, 여러 단어들, "Two" (1601) 및 "paragraphs" (1602), 및 단어 (1602) 뒤의 마침표 (1603) 의 (제 1) 단일 라인 단락 (1600), 제 1 라인 (410) 바로 아래의 2개의 공백 (제 2 및 제 3) 라인들 (410), 및 제 3 라인 (410) 바로 아래의 (제 4) 라인 (410) 상의, 여러 단어들, "Unspace" (1605) 및 "paragraphs" (1606), 및 단어 (1606) 뒤의 마침표 (1607) 의 (제 2) 단일 라인 단락 (1604) 을 나타내며, (도 10d 의 예와 유사하게) 제 3 라인 (410) 상에 라인 브레이크를 갖는다. 단일 스트로크로 하부-상부 수직 라인으로서의 각각의 입력으로, 제 1 단락 (1600) 끝에서의 (예컨대, 마침표 (1603) 우측에서의) 편집 제스쳐 (1608), 공백 제 2 라인 (410) 에서의 편집 제스쳐 (1610) 또는 단락 (1600) 과 단락 (1604) 사이의 공백 제 3 라인 (410) 에서의 편집 제스쳐 (1612), 및 제 2 단락 (1604) 의 시작에서의 (예컨대, 단어 (1605) 의 좌측에서의) 편집 제스쳐 (1614) 중 어느 하나가 검출된다. 편집 스트로크 (1608, 1610, 1612 또는 1614) 는 HWR 시스템 (114) 에 의해, 2개의 공백 라인들 (410) 에 의해 분리된, 제 1 단락 (1600) 과 제 2 단락 (1604) 사이에 있는 것으로서 검출된다. 예컨대, 단락들 사이의 공백 라인에서의, (인식된) 텍스트 (1600 및 1604) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면, 하부-상부 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해, 검출된 로케이션에서 단락 (1600) 과 단락 (1604) 사이의 공백 라인들 중 하나를 제거하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 16b 에 나타낸 바와 같으며, 여기서, 제 2 단락 (1604) 이 제 3 라인 (410) 상으로 이동되고, 그 결과, 라인 브레이크가 제거되며, 기타의 점에서, 2개의 단락들의 특성들은 유지된다. 구체적으로 나타내지 않았지만, 단락 (1600) 과 단락 (1604) 사이에서의 스크래치-아웃 제스쳐의 검출에 의해 유사한 인식 결과가 얻어질 수 있음을 알 수 있다.
도 17a 는 도 11b 의 예시적인 인식 결과에 대해 수행되는 단락들 사이의 공백 라인을 삭제하는 예시적인 동작을 나타낸다. 도 17a 에서, 스페이스 삭제 제스쳐 (1700) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 하부-상부 수직 라인으로서 입력된 것으로서 검출된다. 편집 스트로크 (1700) 가 HWR 시스템 (114) 에 의해 단락 (416) 과 단락 (418) 사이의 2개의 공백 라인들 (410) (제 3 라인 (410)) 중 하나에 있는 것으로서 검출된다. 이전 예들와 유사하게, 예컨대, 별개의 단락들 사이의 공백 라인 상에서의, (인식된) 단락들 (416 및 418) 에 대한 편집 스트로크 (1700) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1700) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 편집 제스쳐 (1700) 가 사용자에 의해, 검출된 로케이션에서 단락 (416) 과 단락 (418) 사이의 공백 라인들 (410) 중 하나를, 이들 사이의 라인 브레이크 (미도시) 의 제거와 함께, 삭제하도록 의도된다는 결정을 초래할 수도 있다. 그 결과, 단락 (420) 의 최종 라인 (436) 이 다시 나타나고 디스플레이가 도 4 의 디스플레이로 되돌아가도록, 제목 (418) 이 이전 공백 (제 3) 라인 (410) 상으로 이동되며 단락 (420) 이 결과적으로 유사하게 하나의 라인 (410) 위로 이동된다.
도 17b 는 단락 (416) 과 단락 (418) 사이의 나머지 공백 라인을 결합하거나 또는 삭제하는 예시적인 동작을 나타낸다. 도 17b 에서, 결합 또는 스페이스 삭제 제스쳐 (1702) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 하부-상부 수직 라인으로서 입력된 것으로서 검출된다. 편집 스트로크 (1702) 는 HWR 시스템 (114) 에 의해 단락 (416) 과 단락 (418) 사이의 공백 라인 (410) (제 2 라인 (410)) 에 있는 것으로서 검출된다. 이전 예들과 유사하게, 예컨대, 별개의 단락들 사이의 공백 라인 상에서의, (인식된) 단락들 (416 및 418) 에 대한 편집 스트로크 (1702) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1702) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 하부-상부 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 편집 제스쳐 (1702) 가 사용자에 의해, 검출된 로케이션에서 단락 (416) 과 단락 (418) 사이의 공백 라인 (410) 을 결합하거나 또는 삭제하도록 의도된다는 결정을 초래할 수도 있다.
이러한 인식 결과가 도 17c 에 도시되며, 여기서, 단락 (418) 의 단일 단어가 예컨대, 마침표 (440) 뒤의, 단락 (416) 의 최종 라인 (438) 상으로 리플로우되어, 새로운 단락 (442) 을 형성한다. 결과적으로, 도 15c 의 인식 결과 예와 유사하게, 단락 (420) 과 단락 (442) 사이에 공백 (제 2) 라인 (410) 을 남겨 두고, 단락 (420) 이 2개의 라인들 (410) 위로 (제 3 라인 (410) 으로) 이동된다. 이러한 인식의 컨택스트 및/또는 애플리케이션 (112) 의 세팅들에 따라, 이러한 인식 결과는 도 17c 에서와 같은 리플로우 대신, 검출된 결합/삭제 위치에서의 라인 브레이크의 제공을 초래할 수도 있다. 이 대안적인 인식 결과가 도 17d 에 도시되며, 여기서, 단락 (418) 이 (제 1 라인 (410) 상의) 단락 (416) 의 최종 라인 (438) 바로 아래의 이전 공백 (제 2) 라인 (410) 상으로 이동되어, 라인 (438) 상의 마침표 (440) 와 라인 (446) 사이의 라인 브레이크 (미도시) 와 함께, 새로운 최종 라인 (446) 상에 단락 (418) 의 단일 단어를 갖는 새로운 단락 (444) 을 형성한다. 결과적으로, 단락 (420) 이 하나의 라인 (410) 위로 (제 4 라인 (410) 으로) 이동된다.
위에서 설명된 예들은 설명된 하부-상부 단일 스트로크 결합 또는 삭제 스페이스 제스쳐 또는 지그-재그 멀티-방향 단일- 또는 멀티-스트로크 스크래치-아웃 제스쳐를 이용한 단일 단락으로의 단일- 또는 멀티-라인 단락들의 결합 또는 별개의 단락들 사이의 스페이스의 삭제를 예시한다. 이들 제스쳐들은 예들에서 예시된 좌-우 언어 입력의 수직 플로우 시나리오에 대해 오브젝트 블록들을 결합하거나 또는 오브젝트 블록들 사이의 스페이스를 삭제하는데 상대적으로 직관적인 것으로 간주된다. 그러나, 특히 수평 플로우 언어들의 경우 상이한 방향으로의 단일 스트로크 제스쳐, 다중 스트로크 제스쳐들, 또는 탭과 같은 비-방향성 제스쳐들이 또한 사용될 수 있음을 알 수 있다.
위에서 설명된 편집 제스쳐들은 핸드라이팅된 콘텐츠와 관련하여 분할, 분리 또는 이간 동작들 및 결합 또는 스페이스 삭제 동작들을 수행하기 위한 것이었다. 다른 편집 동작들이 또한 가능하다. 도 18a 는 이들 사이의 스페이스들에 의해 정의된 바와 같은, 여러 단어들, "Erase" (1802), "one" (1804) 및 "char" (1806), 및 단어 (1806) 뒤의 마침표 (1807) 의 단일 라인 단락 (1800) 을 나타낸다. 편집 제스쳐 (1808) 는 예를 들어, 나타낸 디스플레이된 위치에서, 이들의 손가락 또는 스타일러스 팁을 측면-대-측면 기울기 (side-to-side slant) 로 여러 번 스와이핑하는 사용자에 의해 단일, 멀티-방향 스트로크로 경사진 지그-재그 라인으로서 입력된 것으로서 검출된다. 편집 스트로크 (1808) 는 HWR 시스템 (114) 에 의해 단어 (1804) 의 (전체) 문자, "e" (1804a) 상에 또는 상에 걸쳐서 (실질적으로) 있는 것으로서 검출된다. 예컨대, 단일 문자 상에서의, (인식된) 텍스트 (1800) 에 대한 편집 스트로크 (1808) 의 이러한 상대적인 로케이션은 편집 제스쳐 (1808) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 지그-재깅은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐 (1808) 가 사용자에 의해 단어 (1804) 의 문자 (1804a) 를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 18b 에 나타낸 바와 같으며, 여기서, 문자 (1804a) 가 삭제되어 단어 (1804) 의 문자들, "o" (1804b) 및 "n" (1804c) 을 남기며, 새로운 단어, "on" (1809) 을 형성한다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (1800) 의 특징들은 유지된다. 이 (경사진) 지그-재그 제스쳐 (1808) 는 적어도 앞에서 설명된 이유들로 (예컨대, 기울기, 베이스-라인의 교차, "onw" 보다 단어 "on" 의 더 높은 확률, 등을 고려하여) 스크래치-아웃 삭제 제스쳐로서의 HWR 시스템 (114) 에 의한 인식에 대해 상대적으로 강건한 것으로서 간주된다. 그러나, 이러한 제스쳐의 사용에 있어서 하나 보다 많은 문자가 잘못되게 삭제되지 않도록 어떤 양의 정밀도가 요구될 수도 있다. 따라서, 대안적인 또는 추가적인 제스쳐들이 이러한 문자 삭제 동작들을 위해 제공될 수도 있다.
도 18c 는 이들의 손가락 또는 스타일러스 팁을 예를 들어, 경사진 방향으로 좌하부로부터 우상부로 스와이핑하는 사용자에 의해 단일 스트로크로 하부-상부 경사진 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (1810) 를 갖는 단일 라인 단락 (1800) 을 나타낸다. 즉, 스트로크 시작 위치는 좌하부로부터 우상부로 스트로크의 점진적인 두꺼워짐으로 도시된 바와 같이, 시간 순서에서, 스트로크 끝 위치의 아래에 그리고 우측에 있다. 도 18d 는 예를 들어, 사용자가 이들의 손가락 또는 스타일러스 팁을 나선으로 하부로부터 상부까지 우측으로 스와이핑함으로써, 단일 스트로크로 하부-상부 소용돌이 모양의 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (1812) 를 갖는 단일 라인 단락 (1800) 을 나타낸다. 즉, 스트로크 시작 위치는 좌하부로부터 우상부로 스트로크의 점진적인 두꺼워짐으로 도시된 바와 같이, 시간 순서에서, 스트로크 끝 위치의 아래에 그리고 좌측에 있다. 편집 스트로크 (1810) 및 편집 스트로크 (1812) 는 HWR 시스템 (114) 에 의해 (실질적으로) 단어 (1804) 의 (전체) 문자 (1804a) 상에 걸쳐서 통과하는 것으로서 검출된다. 예컨대, 단일 문자 상에서의, (인식된) 텍스트 (1800) 에 대한 편집 스트로크들 (1810 및 1812) 의 이러한 상대적인 로케이션은 편집 제스쳐들 (1810 및 1812) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면, 편집 제스쳐 (1810) 의 좌하부로부터 우상부의 기입 방향 및 편집 제스쳐 (1812) 의 소용돌이 모양의 기입 방향 각각은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐들 (1810 및 1812) 이 사용자에 의해 단어 (1804) 의 문자 (1804a) 를 삭제하도록 각각 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 18b 에 나타낸 바와 같다. (경사진) 하부-상부 제스쳐 (1810) 는 적어도 앞에서 설명된 이유들로 (예컨대, 기울기, 베이스-라인의 교차, 단어 "on" 의 우수한 확률, 등을 고려하여) 삭제 제스쳐로서의 HWR 시스템 (114) 에 의한 인식에 대해 상대적으로 강건한 것으로서 간주된다. 또, (소용돌이 모양의) 하부-상부 제스쳐 (1810) 는 적어도 앞에서 설명된 이유들로 (예컨대, 기울기, 소용돌이 형상, 단어 "on" 의 우수한 확률, 등을 고려하여) "돼지-꼬리" 삭제 제스쳐로서의 HWR 시스템 (114) 에 의한 인식에 대해 상대적으로 강건한 것으로서 간주된다. 그러나, 스크래치-아웃 제스쳐와 유사하게, 이러한 제스쳐들의 사용에 있어서, 하나 보다 많은 문자가 잘못되게 삭제되지 않도록, 어떤 양의 정밀도가 요구될 수도 있다.
애플리케이션 (112) 은 입력된 편집 스트로크(들) 를 디지털 잉크로서, 예를 들어, 도 18a, 도 18b 또는 도 18c 에 나타낸 형상, 또는 어떤 다른 적합한 렌더링으로, 인식된 편집 동작이 수행될 때까지 디스플레이하도록 구성될 수도 있으며, 단지 이러한 디스플레이 없이 편집 동작을 수행할 수도 있다. 검출된 편집 제스쳐의 디스플레이가 제스쳐 자체 및 그의 상대적인 로케이션의 인식에 대해 사용자들에게 인식 피드백을 제공하기 위해 사용될 수도 있다. 그렇지 않으면, 최종 편집 동작, 예컨대, 도 18b 에 나타낸 수정된 디스플레이가 그렇지 않은 경우 이러한 피드백에 사용될 수도 있다.
유사한 삭제 제스쳐들이 단어의 다수의 문자들을 삭제하기 위해 사용될 수도 있다. 예를 들어, 도 19a 는 이들 사이에 스페이스를 가지는, 여러 단어들, (제 1 라인 (410) 상의) 단락 (1900) 의 제 1 라인 (1900a) 에서의, "Erase" (1902) 및 "several" (1904), 및 (제 1 라인 (410) 바로 아래 제 2 라인 (410) 상의) 단락 (1900) 의 제 2 라인 (1900b) 에서의, "characters" (1906), 및 단어 (1906) 뒤의 마침표 (1907) 의 멀티-라인 단락 (1900) 을 나타낸다. 편집 제스쳐 (1908) 는 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로서 단어 (1906) 의 일련의 (전체) 문자들 (1906a) 상에서 또는 상에 걸쳐서 (실질적으로) 검출된다. 이와 유사하게, 도 19b 에서, 단일 스트로크로 좌-우 수직 라인으로서 입력된 것으로서 검출되는 편집 제스쳐 (1910) 가 단어 (1906) 의 일련의 (전체) 문자들 (1906a) 상에 걸쳐서 (실질적으로) 검출된다. 어느 경우든, 편집 스트로크 (1908 또는 1910) 는 HWR 시스템 (114) 에 의해 단어 (1906) 의 일련의 문자들 (1906a) 상에 걸쳐서 통과하는 것으로서 검출된다. 예컨대, 일련의 문자들 상에서의, (인식된) 텍스트 (1900) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면, 지그-재깅 또는 좌-우 (수평) 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 단어 (1906) 의 일련의 문자들 (1906a) 을 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 19c 에 나타낸 바와 같으며, 여기서, 다수의 문자들 (1906a) 이, 단어 (1906) 의 일련의 문자들, "char" (1906b), 및 문자, "s" (1906c) 를 남기고 삭제되어, 각각 2개의 새로운 단어들 (1912 및 1914) 을 형성한다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (1900) 의 특징들은 유지되며, 제거된 문자들은 단어 (1906) 에서 문자들 (1906b) 을 결합하기 위해 문자 (1906c) 를 리플로우하는 대신, 스페이스(들) 로 대체된다. 이것은 이 예에서, 사용자가 새로운 문자들을 추가하기 위해 다수의 문자들을 삭제하도록 의도하였다고 간주되기 때문에, 이루어진다. 그러나, 부분적으로 삭제된 단어의 나머지 문자들을 결합하는 것과 같이, 상이한 고려들이 이루어지거나 또는 설정될 수도 있음을 알 수 있다. 텍스트 또는 스페이스 문자들과 같은, 다수 및 순차적인 유사한 엘리먼트들의 삭제가 단일 지우기 편집 제스쳐 또는 단일 스페이스 삭제 제스쳐에 의해 달성될 수도 있음을 알 수 있다.
지그-재그 제스쳐 (1908) 는 적어도 앞에서 설명된 이유들로 (예컨대, 기울기, 베이스-라인의 교차, 더 적은 정밀도를 필요로 하는 여러 문자들 상에서의 통과를 고려하여) 스크래치-아웃 삭제 제스쳐로서의 HWR 시스템 (114) 에 의한 인식에 대해 상대적으로 강건한 것으로서 간주된다. 또, 수평 제스쳐 (1910) 는 취소선 삭제 제스쳐로서의 HWR 시스템 (114) 에 의한 인식에 대해 상대적으로 강건한 것으로서 간주되는데, 취소선 삭제 제스쳐가, 더 적은 정밀도를 필요로 하는 여러 문자들 상을 통과하며, 삭제를 위한 널리 알려진 편집 제스쳐이며, 예를 들어, 하이픈 또는 대시 문자가 되기에는 상대적으로 너무 길어서, 인식된 텍스트 (1900) 와 관련하여 HWR 시스템 (114) 에 의해 문자로서 인식될 확률이 상대적으로 낮기 때문이다.
애플리케이션 (112) 은 입력된 편집 스트로크(들) 를 디지털 잉크로서, 예를 들어, 도 19a 또는 도 19b 에 나타낸 바와 같은, 형상, 또는 어떤 다른 적합한 렌더링으로, 인식된 편집 동작이 수행될 때까지 디스플레이하도록 구성될 수도 있거나, 또는 단지 이러한 디스플레이 없이 편집 동작을 수행할 수도 있다. 검출된 편집 제스쳐의 디스플레이가 제스쳐 자체 및 그의 상대적인 로케이션의 인식에 대해 사용자들에게 인식 피드백을 제공하기 위해 사용될 수도 있다. 그렇지 않으면, 최종 편집 동작, 예컨대, 도 19c 에 나타낸 수정된 디스플레이가 이러한 피드백에 사용될 수도 있다.
유사한 삭제 제스쳐들이 라인 (또는, 단락) 으로부터 하나 이상의 단어들을 삭제하는데 사용될 수 있다. 예를 들어, 도 20a 는 그 사이의 스페이스들에 의해 정의되며 마침표 (2007) 가 뒤따르는, 여러 단어들, "Erase" (2002), "one" (2004) 및 "word" (2006) 의 단일-라인 단락 (2000) 을 나타낸다. 편집 제스쳐 (2008) 는 (전체) word (2006) 및 마침표 (2007) 상 또는 상에 걸쳐서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로서 (실질적으로) 검출된다. 이와 유사하게, 도 20b 에서, 단일 스트로크로 좌-우 수평 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (2010) 가 (전체) word (2006) 및 마침표 (2007) 상에 걸쳐서 (실질적으로) 검출된다. 어느 경우든, 편집 스트로크 (2008 또는 2010) 는 HWR 시스템 (114) 에 의해 word (2006) 및 마침표 (2007) 상에 걸쳐서 통과하는 것으로서 검출된다. 예컨대, 단어 상에서의, (인식된) 텍스트 (2000) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 지그-재깅 또는 좌-우 (수평) 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 word (2006) 및 마침표 (2007) 를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 20c 에 나타낸 바와 같으며, 여기서, word (2006) 및 마침표 (2007) 가 단어들 (2002 및 2004) 을 남기고 삭제된다.
또, 도 21a 는 그들 사이의 스페이스들에 의해 정의되며 마침표 (2107) 가 뒤따르는, 여러 단어들, "Erase" (2102), "two" (2104) 및 "words" (2106) 의 단일-라인 단락 (2100) 을 나타낸다. 편집 제스쳐 (2108) 는 (전체) 단어들 (2104 및 2106) 및 마침표 (2107) 상에 또는 상에 걸쳐서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 (실질적으로) 검출된다. 이와 유사하게, 도 21b 에서, 단일 스트로크로 좌-우 수평 라인으로서 입력된 것으로서 검출되는 편집 제스쳐 (2110) 가 (전체) 단어들 (2104 및 2106) 및 마침표 (2107) 상에 걸쳐서 (실질적으로) 검출된다. 어느 경우든, 편집 스트로크 (2108 또는 2110) 는 HWR 시스템 (114) 에 의해 단어들 (2104 및 2106) 및 마침표 (2107) 상에 걸쳐서 통과하는 것으로서 검출된다. 예컨대, 단어 상에서의, (인식된) 텍스트 (2100) 에 대한 편집 스트로크들의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면, 지그-재깅 또는 좌-우 (수평) 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 단어들 (2104 및 2106) 및 마침표 (2107) 를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 21c 에 나타낸 바와 같으며, 여기서, 단어 (2102) 를 남기고 단어들 (2104 및 2106) 및 마침표 (2107) 가 삭제된다.
유사한 삭제 제스쳐들이 멀티-라인 단락들로부터 단어들을 삭제하는데 이용될 수 있다. 예를 들어, 도 22a 는 그들 사이의 스페이스들에 의해 정의되며 마침표 (2207) 가 뒤따르는, 여러 단어들, (제 1 라인 (410) 상의) 단락 (2200) 의 제 1 라인 (2200a) 에서의, "Erase" (2202) 및 "several" (2203), 및 (제 1 라인 (410) 바로 아래의 제 2 라인 (410) 상의) 단락 (2200) 의 제 2 라인 (2200b) 에서의, "words" (2204), "at" (2205) 및 "once" (2206) 의 멀티-라인 단락 (2200) 을 나타내며, 라인들 사이에 스페이스를 갖는다. 편집 제스쳐 (2208) 는 (전체) 단어들 (2203, 2205 및 2206) 및 마침표 (2207) 상에 또는 상에 걸쳐서 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 (실질적으로) 검출된다. 편집 스트로크 (2208) 는 HWR 시스템 (114) 에 의해 단어들 (2203, 2205 및 2206) 및 마침표 (2207) 상에 걸쳐서 통과하는 것으로서 검출된다. 예컨대, 별개의 라인들 상의 여러 단어들 상에서의, (인식된) 텍스트 (2200) 에 대한 편집 스트로크의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 지그-재깅은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 단어들 (2203, 2205 및 2206) 및 마침표 (2207) 를 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 22b 에 나타낸 바와 같으며, 여기서, 그들 사이에 스페이스를 갖는 이들의 개별 라인들 (2200a 및 2200b) 상에서, 단어들 (2202 및 2204) 을 남기고 단어들 (2203, 2205 및 2206) 및 마침표 (2207) 가 삭제된다. 이것은 이 예에서, 사용자가 새로운 단어들을 멀티-라인 단락에 추가하기 위해 다수의 단어들을 삭제하도록 의도한 것으로서 간주되기 때문에, 이루어진다. 그러나, 상이한 고려사항들이 이루어지거나 또는 설정될 수 있음을 알 수 있다. 예를 들어, 도 22c 는 단어 (2204) 가 제 1 라인 (410) 상으로 단어 (2202) 뒤로, 그들 사이에 스페이스를 갖고 리플로우되어 새로운 단일-라인 단락 (2210) 을 형성하는 대안적인 인식 결과를 나타낸다. 앞서와 같이, 스크래치-아웃 및 취소선 (strike-through) 제스쳐들은 인식에 대해 상대적으로 강건한 것으로 간주된다.
도 23 은 도 4 의 입력 예에 대해 수행된 단어를 삭제하는 예시적인 동작을 나타낸다. 도 23a 에서, 취소선 삭제 제스쳐 (2300) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 좌-우 수평 라인으로서 입력된 것으로서 검출된다. 편집 스트로크 (2300) 는 HWR 시스템 (114) 에 의해, 단락 (416) 의 라인 (434) 에서의 (전체) 단어 (448) 상에 또는 상에 걸쳐서 (실질적으로) 있는 것으로 검출된다. 이전 예들과 유사하게, 예컨대, 단락의 단어 상에서의, (인식된) 단락 (416) 에 대한 편집 스트로크 (2300) 의 이러한 상대적인 로케이션은 편집 제스쳐 (2300) 의 위에서 설명한 특성들 중 하나를 제공하며, 반면 좌-우 (수평) 기입 방향은 다른 특성을 제공한다. 이들 특성들만의 고려는 편집 제스쳐 (2300) 가 사용자에 의해 단락 (416) 의 단어 (448) 를 삭제하도록 의도된다는 결정을 초래할 수도 있다.
이러한 인식 결과가 도 23b 에 도시되며, 여기서, 단어 (446) 가 생략되고, 그 결과, 라인 (434) 상의 나머지 단어들이 (좌측 마진 (404) 으로) 리플로우되고, 단어 (450) 이 라인 (438) 으로부터 라인 (434) 까지, 다른 (리플로우된) 단어들 뒤로, 상방으로 리플로우되며 (reflow up), 그리고 라인 (438) 상의 나머지 단어 및 마침표가 (좌측 마진 (404) 으로) 리플로우된다. 이 리플로우는 라인 (434) 과 라인 (438) 사이에 스페이스 (미도시) 가 존재하였기 때문에 수행된다. 볼 수 있는 바와 같이, 콘텐츠가 편집된 단락 (416) 의 라인 (438) 상에 남아 있기 때문에, 하향스트림 콘텐츠 (즉, 단락들 (418 및 420)) 가 이동되지 않는다.
유사한 삭제 제스쳐들이 멀티-라인 단락들로부터 텍스트의 하나 이상의 라인들을 삭제하기 위해 이용될 수 있다. 예를 들어, 도 24a 는 라인들 사이에 스페이스를 가지며, 그 사이의 스페이스들에 의해 정의되며 마침표 (2407) 가 뒤따르는, 여러 단어들, (제 1 라인 (410) 상의) 단락 (2400) 의 제 1 라인 (2400a) 에서의, "Erase" (2402) 및 "one" (2403), 및 (제 1 라인 (410) 바로 아래 제 2 라인 (410) 상에서의) 단락 (2400) 의 제 2 라인 (2400b) 에서의, "line" (2404), "of" (2405) 및 "text" (2406) 의 멀티-라인 단락 (2400) 을 나타낸다. 편집 제스쳐 (2408) 는 단락 (2400) 의 (전체) 라인 (2400b), 예컨대, 단어들 (2404, 2405 및 2406) 및 마침표 (2407) 상에 또는 상에 걸쳐서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 (실질적으로) 검출된다. 이와 유사하게, 도 24b 에서, 단일 스트로크로 좌-우 수평 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (2410) 가 (전체) 라인 (2400b) 상에 걸쳐서 (실질적으로) 검출된다. 어느 경우든, 편집 스트로크 (2408 또는 2410) 는 HWR 시스템 (114) 에 의해 라인 (2400b) 상에 걸쳐서 통과하는 것으로 검출된다. 예컨대, 라인 상의 모든 단어들 상에서의, (인식된) 텍스트 (2400) 에 대한 편집 스트로크의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 지그-재깅 또는 좌-우 (수평) 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 (단어들 (2404, 2405 및 2406) 및 마침표 (2407) 를 포함하는) 라인 (2400b) 을 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과는 도 24c 에 나타낸 바와 같으며, 여기서, 단어들 (2402 및 2403) 을 갖는 제 1 라인 (2400a) 을 남기고, 제 2 라인이 삭제된다.
또, 도 25a 는 제 3 라인 (2500c) 에서 마침표 (2507) 가 뒤따르며 그들 사이의 스페이스들에 의해 정의되는 일련의 단어들 (2502, 2504 및 2506) 을 각각 포함하는, 여러 라인들, (제 1) 라인 (2500a), (제 2) 라인 (2500b) 및 (제 3) 라인 (2500c) 의 멀티-라인 단락 (2500) 을 나타내며, 라인들 사이의 스페이스를 각각 갖는다. 편집 제스쳐 (2508) 는 단락 (2500) 의 (전체) 제 1 및 제 2 라인들 (2500b 및 2500c), 예컨대, 일련의 단어들 (2504 및 2506) 및 마침표 (2507) 상에 또는 상에 걸쳐서, 단일, 멀티-방향 스트로크로 수직 지그-재그 라인으로서 입력된 것으로 (실질적으로) 검출된다. 이와 유사하게, 도 25b 에서, 단일 스트로크로 좌-우 및 하부-상부 (경사진) 라인으로서 입력되는 것으로서 검출되는 편집 제스쳐 (2510) 가 단락 (2500) 의 (전체) 제 1 및 제 2 라인들 (2500b 및 2500c) 상에 걸쳐서 검출된다. 어느 경우든, 편집 스트로크 (2508 또는 2510) 는 HWR 시스템 (114) 에 의해 라인들 (2500b 및 2500c) 양쪽 상에 걸쳐서 통과하는 것으로 검출된다. 예컨대, 별개의 라인들 상에서의 여러 단어들 상에서의, (인식된) 텍스트 (2500) 에 대한 편집 스트로크의 이러한 상대적인 로케이션은 위에서 설명한 편집 제스쳐들의 특성들 중 하나를 제공하며, 반면 지그-재깅 또는 좌-우/하부-상부 (경사진) 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐가 사용자에 의해 (일련의 단어들 (2504 및 2506) 및 마침표 (2507) 를 포함하는) 제 2 및 제 3 라인들 (2500b 및 2500c) 을 삭제하도록 의도된다는 결정을 초래할 수도 있으며, 이에 따라서, 인식 결과가 도 25c 에 나타낸 바와 같으며, 여기서, 일련의 단어들 (2502) 을 갖는 제 1 라인 (2500a) 을 남겨두고 제 2 및 제 3 라인들이 삭제된다. 앞서와 같이, 스크래치-아웃 및 경사진 취소선 제스쳐들은 인식에 대해 상대적으로 강건한 것으로서 간주된다.
유사한 삭제 제스쳐들이 하나 이상의 단일- 및/또는 멀티-라인 단락들을 삭제하기 위해 이용될 수 있다. 예를 들어, 도 26a 및 도 26b 는 편집 제스쳐들의 각각이 사용자에 의해 전체 단락 (2600) 을 삭제하도록 의도된다는 결정을 초래하도록 HWR 시스템 (114) 에 의해 검출되는 스크래치-아웃 및 경사진 취소선 삭제 제스쳐들 (2602 및 2604) 이, (전체) 단락 (2600) 상에 또는 상에 걸쳐서 (실질적으로) 각각 입력되는, 멀티-라인 단락 (2600) 을 각각 나타낸다. 또, 도 27a 및 도 27b 는 편집 제스쳐들의 각각이 사용자에 의해 단락들 (2700 및 2701) 양쪽을 삭제하도록 의도된다는 결정을 초래하도록 HWR 시스템 (114) 에 의해 검출되는 스크래치-아웃 및 경사진 취소선 삭제 제스쳐들 (2702 및 2704) 이, (전체) 단락들 (2700 및 2701) (및 이들 사이의 공백 라인 (410)) 상에 또는 상에 걸쳐서 (실질적으로) 각각 입력되는, (예컨대, 라인들 (410) 의 하나의 공백 라인에 의해 분리된) 멀티-라인 단락 (2700) 및 단일 라인 단락 (2701) 을 각각 나타낸다.
위에서 설명된 예들은 설명된 (상대적으로 직선적인) 하부-상부 및 좌-우 단일 경사진 스트로크 삭제 제스쳐, 하부-상부 및 좌-우 단일 소용돌이 스트로크 삭제 제스쳐, 좌-우 멀티-방향 단일 경사진 스트로크 삭제 제스쳐, 및 (상대적으로 직선적인) 좌-우 단일 수평 삭제 제스쳐를 이용한, 텍스트의 단어들 및 라인들로부터의 단일 문자들 (글자들, 심볼들, 등) 의 삭제, 텍스트의 하나 이상의 라인들로부터의 단일 또는 복수 단어들의 삭제, 하나 이상의 단일- 또는 멀티-라인 단락들로부터의 텍스트의 단일 또는 복수 라인들의 삭제, 및 하나 이상의 단일- 또는 멀티-라인 단락들의 삭제를 예시한다. 이들 제스쳐들은 예들에서 예시된 좌-우 언어 입력의 수직 플로우 시나리오에 대해 오브젝트 블록들의 엘리먼트들 또는 오브젝트 블록들 자체를 삭제하는데 상대적으로 직관적인 것으로 간주된다. 그러나, 특히, 수평 플로우 언어들의 경우에 상이한 방향들 및 형태에서의 단일 스트로크 제스쳐, 다중 스트로크 제스쳐들, 또는 탭과 같은 비-방향성 제스쳐들이 또한 사용될 수 있음을 알 수 있다.
위에서 설명된 편집 제스쳐들은 핸드라이팅된 콘텐츠와 관련하여 분할, 분리, 이간, 결합, 및 삭제 동작들을 수행하기 위한 것이었다. 다른 편집 동작들이 또한 가능하다. 도 28 은 입력 영역 (408) 에, 일반적으로는 라인 패턴 (410) 의 라인들 상에 핸드라이팅된 콘텐츠로서 입력되어 예를 들어, 디바이스의 인터페이스 표면 (104) 상에 디지털 잉크로서 렌더링된 멀티-라인 단락 (2800) 을 나타낸다. 도 29 는 추가적인 핸드라이팅된 콘텐츠가 디지털 잉크 (2900) 로서 입력되어 렌더링된 도 28 의 단락 (2800) 을 나타낸다. 추가적인 콘텐츠 (2900) 는 단락 (2800) 의 (제 1) 라인 (2806) 상의 복수의 단어들, "can" (2802) 및 "replace" (2804) 아래에 기입된 밑줄 (2902); 및 제 1 라인 (2806) 상의 여러 단어들, keyboard (2808) 및 "and" (2810), 및 단락 (2800) 의 후속 (제 2) 라인 (2814) 상의 단어 "mouse" (2812) 아래에 기입된 밑줄 (2904) 을 포함한다. 추가적인 콘텐츠 (2900) 는 HWR 시스템 (114) 에 의해 단락 (2800) 의 인식된 텍스트에 대한 밑줄들인 콘텐츠의 인식을 통해 콘텐츠로서 취급될 수도 있다. 그러나, 본 시스템 및 방법은 이러한 "콘텐츠" 가 다음과 같이, 편집을 위한 제스쳐들로서 간주되는 메커니즘을 제공한다.
펜 및 종이 컨텍스트에서, 사용자들은 부분(들) 또는 전체 단락에 대해, 그안의 어떤 텍스트 또는 전체 단락 자체, 또는 심지어 문서의 섹션들을 강조하기 위해, 밑줄들, 또는 다른 장식들 예컨대, 이중 밑줄들, 원들, 타원들, 박스들, 채색을 이용할 수도 있다. 따라서, 본 시스템 및 방법의 애플리케이션 (112) 이 핸드라이팅된 입력, 특히, 노트 필기의 입력을, 디지털 잉크로서 렌더링하고, 문서 생성 및 공유를 위한 핸드라이팅으로서의 그 디지털 잉크와의 (편집과 같은) 지속적인 상호작용을 가능하게 하기 때문에, 핸드라이팅된 장식들은 사용자들이 그것들을 입력한 대로 유지되거나, 또는 추후 자세히 설명되는 바와 같이 미화된다. 이는 노트들/문서들이 핸드라이팅된 (디지털 잉크) 형태로 유지되면서 장식들을 제공하려는 사용자들의 의도를 유지한다.
HWR 시스템 (114) 을 통한 본 시스템 및 방법은 또한 조판 잉크로의 디지털 잉크의 조판 또는 폰트구성 (fontification) 을 통해서 핸드라이팅된 입력을 디지털화하거나 또는 변환하는 메커니즘을 제공한다. 이 기능은 특히, 통신 및 공유, 예컨대, 디지털 잉크로 편집되어 포맷된 핸드라이팅된 노트의, 키보드 (및 연관된 제스쳐링 디바이스들) 를 단독으로 이용하여 생성될 수 있는 조판 문서로의 변환을 위해, 적어도 거의-최종 문서들의 생성을 가능하게 하기 위해 제공된다. 그러나, 이러한 조판 문서들에서는, 핸드라이팅에서의 장식들과 유사한 장식들의 사용은 동일한 강조 효과를 제공하지 않거나 또는 전문 수준의 문서 결과에 적합하지 않을 수도 있다. 따라서, 본 시스템 및 방법은 이러한 장식 입력에 적용될 추가 정보를 결정한다. 이것은, 예를 들어, 조판 문서들 내에서 스타일 변경들로의 이들 장식들의 변환을 가능하게 하고 순수한 콘텐츠와 편집 제스쳐들 사이를 구별하는 것을 돕기 위해, 이루어진다.
예를 들어, 도 30 은 도 29 의 장식 (2900) 을 갖는 단락 (2800) 을 조판 단락 (3000) 으로 조판한 결과를 나타낸다. 볼 수 있는 바와 같이, 애플리케이션 (112) 은 디지털 잉크 밑줄들 (2902 및 2904) 의, 단락 2800 의 연관된 단어들 (2802, 2804, 2808, 2810 및 2812) 의 조판 잉크 버전들에 대한 굵은 글씨체 폰트로의 변환을 초래한다. 이러한 방법으로, 밑줄친 단어들의 적합한 강조가 조판 문서에서 유지되므로, 사용자들의 의도가 유지된다. 굵은 글씨체 폰트의 스타일링은 단지 예이며, 이후 설명되는 바와 같이 다른 폰트구성이 제공될 수 있음을 알 수 있다. 또, 적합한 경우, 예컨대, 밑줄들 (2902 및 2904) 이 조판 밑줄들로서 렌더링된 경우, 원래 장식 스타일이 또한 유지될 수도 있다. 또, 상이한 장식들이 상이한 스타일링을 적용하기 위해 이용될 수도 있다 (추후 설명됨). 이러한 입력 장식들 또는 스타일 변경들의 조판은 애플리케이션 (112) 의 UI 를 통해서 설정가능할 수도 있다.
장식 입력, 및 콘텐츠 (예컨대, 디지털 잉크 단어들, 단락들) 와의 그 입력의 연관성을 적절하게 인식하기 위해, HWR 시스템 (114) 은 기존 (인식된) 콘텐츠와 새로 입력된 (가능성있는) 장식 입력 사이의 기하학적인 및 공간적인 관계들을 검출한다. 형상들, 밑줄들, 등과 같은, 장식들이 HWR 시스템 (114) 의 다양한 모델들, 특히 언어 모델로부터 용이하게 인식된다. 이러한 인식된 장식들의 상대적인 로케이션들 및 인식된 장식의 유형과 관련하여 가장 근사한 콘텐츠를 통해서 연관성들이 결정된다. 예를 들어, 밑줄은 일반적으로 단락의 하나 이상의 문자들, 단어들 또는 라인들 밑에 있는 일반적으로 수평인 라인이며, 여기서, 밑줄은 그 아래에 있는 이들 엘리먼트들에 관련된다.
콘텐츠의 편집을 위한 핸드라이팅된 제스쳐들의 사용의 경우에 발생하는 문제는, 유사한 제스쳐들이 콘텐츠 선택 및 애플리케이션 제어를 위해 제공될 수도 있다는 것이다. 예를 들어, 원으로 둘러싼 (circling) 콘텐츠, 예컨대, 하나 이상의 단어들이, 사용자에 의해 복사 또는 잘라내어 붙이기, 또는 드래그 앤 드롭 또는 푸시 앤 드롭 동작들과 같은 상호작용을 위해 그 콘텐츠를 선택하도록 의도될 수 있다. 콘텐츠의 편집을 위한 핸드라이팅된 제스쳐들의 사용의 경우에 발생하는 다른 문제는, 유사한 입력이 특히 비텍스트 입력이 지원되는 경우, 콘텐츠 자체에 제공될 수도 있다는 것이다. 예를 들어, 원은 사용자에 의해 다이어그램 또는 도면에서 원으로서 입력될 수도 있다. 따라서, 애플리케이션 (112) 은 사용자들의 의도를 결정하고 적절히 지키기 위해서, 이러한 이벤트들 간을 구별할 필요가 있다.
가용 디지털 노트 필기 애플리케이션들에서는, 이들 이벤트들의 명시적인 구별을 가능하게 하기 위해 별개의 펜들 또는 스타일러스들이 제공된다. 예를 들어, 하나의 펜이 디지털 잉크 상에의 텍스트 입력 및 간단한 텍스트 편집, 예컨대, 덮어쓰기, 취소선, 등에 사용될 수도 있으며, 다른 펜이 그리고 또는 비텍스트 입력에 사용되며, 다른 펜이 콘텐츠의 선택 및 복잡한 콘텐츠 편집, 예컨대 장식에 사용된다. 텍스트, 드로잉 및 선택 펜들에는 펜들을 서로 구별하기 위해 디바이스 및 애플리케이션에 의해 검출가능한 인코딩 또는 기타 등등이 제공된다. 대안적으로, 이들 펜들 중 하나 이상에는 선택 또는 스위칭을 통해서, 예컨대, 펜 상의 버튼의 누르기를 통해서, 하나 이상의 이들 속성들을 나타내는 능력이 제공될 수도 있다. 그러나, 출원인은 사용자들이 상이한 하드웨어를 이용하거나 또는 특수 기능들을 위해 그 하드웨어를 조작해야 하는 것을 고맙게 생각하지 않는다는 것을 발견하였다.
따라서, 본 시스템 및 방법은 모든 콘텐츠 및 상호작용 입력이 기능 선택 없이 사용자의 손가락/손 또는 스타일러스와 같은, 단일 입력 디바이스를 이용하여 수행될 수 있어, 단일 툴로 콘텐츠, 장식 및 선택을 처리가능하다. 애플리케이션 (112) 은 사용자 의도를 결정하기 위해 이들 간을 구별한다. 이것은, 가능성있는 장식 입력으로서 인식되는 모든 적합한 입력을 디폴트로 장식으로서, 그리고 비텍스트 입력으로서 인식되는 모든 입력을 디폴트로 비텍스트로 처음에 처리함으로써, 이루어진다. 비텍스트의 인식은 본 시스템 및 방법에 의해 구현되는 인식 시스템에 의해, 예를 들어, "System and Method of Handwriting Recognition in Diagrams" 란 발명의 명칭으로, 본 출원인 및 양수인의 이름으로 출원된 미국 특허 출원 번호 제 14/955,155호에 설명된 방법으로 제공되며, 이의 전체 내용이 본원에서 참조로 포함된다.
디폴트 장식 분류와 관련하여, 인식된 장식과 연관되는 것으로 결정된 콘텐츠와의 후속 또는 추가적인 (약 1 내지 3개의 스트로크들 및/또는 약 50ms 내지 약 500ms 의 적합한 시간 지연을 갖는) 상호작용이 애플리케이션 (112) 에 의해 검출되면, 처리가 선택 입력의 처리로 변경된다. 예를 들어, 입력이 검출되어 하나 이상의 단어들 둘레의 원으로서 인식되면, 원은 스타일링 또는 편집이 원 장식에 대해 설정되어 있거나 또는 설정가능한 것이 무엇이든 조판 시 적용될 수 있도록, HWR 시스템 (114) 에 의해 장식으로서 분류된다. 그후, 단일 또는 멀티-지점 제스쳐 (예컨대, 탭 또는 이중 탭) 와 같은, 제스쳐가 원 및/또는 이에 의해 둘러싸인 단어들 상에서 또는 둘레에서 다음 입력으로서 검출되면, 그 입력은 선택으로서 처리되고 장식 분류가 애플리케이션 (112) 에 의해 제거된다. 대안적으로, 다음 입력이 기입된 추가적인 콘텐츠 또는 그 콘텐츠의 비-연관된 부분에서의 다른 제스쳐이면, 장식 분류가 유지된다. 이러한 제스쳐 입력의 수동 지정이 또한 예컨대, UI 를 통해서, 사용자들을 위해 제공될 수도 있다.
편집가능한 디지털 잉크 콘텐츠의 장식을 제공하기 위해 핸드라이팅된 제스쳐들의 사용의 경우에 발생하는 추가적인 문제는 예컨대, 리플로우 및 단락 리사이징, 등으로, 디지털 잉크 콘텐츠의 재-디스플레이를 트리거하는, 디바이스 방위, 윈도우 사이즈 디스플레이 또는 디바이스 디스플레이의 편집 또는 변경이 발생할 때의 장식들의 적합한 렌더링이다. 이것은 아래에서 자세하게 설명된다.
도 31a 는 도 29 의 장식 (2900) 을 가진 단락 (2800) 을 나타낸다. 편집 제스쳐 (3100) 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (3100) 가 HWR 시스템 (114) 에 의해 단어 (2808) 와 단어 (2810) 사이를 통과하는 것으로 검출된다. 도 6 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (2800) 및 장식 (2900) 에 대한 편집 스트로크 (3100) 의 이러한 상대적인 로케이션은, 편집 제스쳐 (3100) 가 사용자에 의해 단락 (2800) 의 제 1 라인 (2806) 을 검출된 로케이션에서 2개의 라인들로 분할하거나 분리하도록 의도된다는 결정을 초래한다. 이러한 인식 결과가 도 31b 에 도시되며, 여기서, 단어 (2810) 가 제 2 라인 (2814) 으로 이동되며, 그 결과, 단어 (2812) 가 단락 (2800) 의 후속 (제 3) 라인 (2816) 상으로 이동되며 하향스트림 콘텐츠가 다음 라인들 상으로 이동된다. 이것은 단락 (2800) 이 라인 (2814) 과 라인 (2816) 사이에 라인 브레이크 (미도시) 를 갖기 때문에 이루어진다. 대안적으로, 분리된 단어 (2810) 가 라인 (2814) 상으로 리플로우되며, 그 결과, 단어 (2812) 가 그 라인 (2814) 상으로 리플로우될 수도 있다. 어느 경우에나, 단어들 (2808, 2810 및 2812) 이 밑줄 (2904) 과 연관되기 때문에, 밑줄 (2904) 의 편집이 또한 요구된다.
밑줄 (2904) 이 2개의 섹션들 또는 부분들, 즉, 라인 (2806) 상의 (제 1) 부분 (2904a) 및 라인 (2814) 상의 (제 2) 부분 (2904b) 에 실제로 입력된다. 밑줄 부분 (2904b) 이 도 31b 에 나타낸 바와 같이, 연관된 단어 (2812) 와 함께 간단히 이동된다. 그러나, 밑줄 부분 (2904a) 이 단어들 (2808 및 2810) 양쪽과 연관되며, 따라서, 편집 제스쳐 (3100) 에 의해 분할된다. 따라서, 밑줄 부분 (2904a) 이 (예를 들어, HWR 시스템 (114) 의 세그멘터에 의해) (제 1) 세그먼트 (3102) 및 (제 2) 세그먼트 (3104) 로 세그먼트화된다. 제 1 세그먼트 (3102) 는 편집 제스쳐 (3100) 가 밑줄 부분 (2904a) 과 교차하는 로케이션의 좌측에 있는 밑줄 부분 (2904a) 의 디지털 잉크 모두를 포함하며, 따라서, 단어 (2808) 에 대한 상대적인 위치의 유지와 함께, 단락 (2800) 의 라인 (2806) 상에서 유지된다. 제 2 세그먼트 (3104) 는 편집 제스쳐 (3100) 가 밑줄 부분 (2904a) 과 교차하는 로케이션의 우측에 있는 밑줄 부분 (2904a) 의 디지털 잉크 모두를 포함하며, 따라서, 단어 (2810) 에 대한 상대적인 위치의 유지와 함께, 단락 (2800) 의 라인 (2814) 상으로 이동된다.
볼 수 있는 바와 같이, 밑줄 부분 (2904a) 의 제 1 세그먼트 (3102) 의 최종적인 디스플레이는, 밑줄이 이제 밑줄친 단어 (2808) 를 지나서 튀어 나오기 때문에, 사용자에게 완전히 만족스럽지 않을 수도 있다. 본 예에서, 이것은 지나치게 문제가 되지 않을 수도 있지만, 세그먼트화된 장식이 만족스럽게 디스플레이되지 않을 때 상황들이 발생할 수도 있음을 알 수 있으며, 이의 예들이 이후 설명된다. 편집된 디스플레이가 더욱 만족스러워지게 하기 위해 디지털 잉크의 부분들을 생략하도록 장식의 세그멘테이션을 구성하는 것이 가능하다. 예를 들어, 제 1 세그먼트 (3102) 는 최우측 범위가 밑줄친 단어 (2808) 의 최종 문자를 지나서 튀어나오지 않도록 '잘라내어" 질 수 있다. 그러나, 이러한 생략의 적합한 범위는 상이한 유형들의 콘텐츠 및 장식에 대해 일반적인 방법으로 확인하여 적용하기가 어려울 수도 있다. 이것은 특히, 디지털 잉크 자체의 형태에 관련되지 않은 임의의 위치에서 디지털 잉크를 잘라내는 것이, 최종 편집된 디지털 잉크의 가독성에 문제를 일으킬 정도로, 디지털 잉크로서 렌더링된 핸드라이팅이 매우 깔끔하지 않은, 예컨대, 스케치적이거나, 흔들거리거나 (wobbly), 물결치거나 (wavy), 등인 경우이다.
대안적인 동작은 디지털 잉크를 잘라내는 대신, 리-스케일링하는 것이다. 그러나, 이러한 리스케일링은 또한 최종적인 스케일링된 디지털 잉크가 너무 작거나 또는 너무 크거나, 또는 핸드라이팅에서의 결함들이 강조되는 문제들이 발생할 수 있다. 디지털 잉크를 적당한 방식으로 스케일링하는 가능한 프로세스가 "System and Method for Handwritten Diagram Connectors" 란 발명의 명칭으로, 본 출원인 및 양수인의 이름으로 출원된 미국 특허 출원 번호 제 14/955,174호에 설명되어 있으며, 이의 전체 내용이 본원에서 참조로 포함된다.
본 시스템 및 방법은 디지털 잉크와 조판 잉크로의 풀 폰트구성 사이에 중간 단계를 추가로 제공한다. 이 중간 단계는 미화 (beautification) 이다. 미화 프로세스에서, 애플리케이션 (112) 및/또는 HWR 시스템 (114) 은 디지털 잉크의 극값, 산술평균 및 평균 특성들을 결정하고 HWR 시스템 (114) 의 사전 프로세싱 (116) 과 유사하게 평활화 및 정규화를 적용한다. 그 결과는 증가된 가독성 및 규칙성으로 핸드라이팅의 '원시' 품질을 유지하는 미화된 디지털 잉크이다. 이러한 미화는 애플리케이션 (112) 의 선택가능한 세팅일 수도 있다. 장식들의 '원시' 디지털 잉크를 편집하는 것에 대한 위에서 설명된 문제들과 관련하여, 본 시스템 및 방법은 언급된 문제들을 최소화하기 위해, 미화를 장식들에, 디지털 잉크 콘텐츠와 함께 또는 개별적으로, 적용할 수 있다. 이것은 미화된 장식들이 본질적으로 규칙적이므로 제어가능한, 알려진 그리고 예상된 방법들로 잘라내어지거나, 리사이징되거나, 스케일링되거나, 등등이 행해질 수 있기 때문이다. 미화된 장식들에 대한 편집 동작들의 예들이 이하 설명된다.
도 32 는 도 29 에 도시된 바와 같지만 장식 (2900) 이 미화된 디지털 잉크 장식 (3200) 로 렌더링된 단락 (2800) 을 나타낸다. 따라서, 밑줄 (2902) 은 '거의 (near)' 조판 밑줄 (3202) 로 변환되며, 밑줄 (2904) 은 연관된 부분들 (3204a 및 3204b) 에서, '거의' 조판 밑줄 (3204) 로 변환된다. 대안적으로, 미화된 버전은 완전한 조판 품질일 수도 있다. 본 예, 즉, 상대적으로 얇은 밑줄들에 있어서, 이들 버전들 사이의 차이는 미미할 수도 있다. 그러나, 스케치-형 스트로크들에 의한 2차원 형상들과 같은, 더 많은 문체 장식들에 있어서, 미화된 디지털 잉크는 완전히 디지털화된 문서로서 마무리하기 전에 지속적인 작업을 위해 문서의 의도된 핸드라이팅된 유형을 더욱 엄밀하게 반영하는 것으로 간주된다.
도 33a 는 도 32 의 장식 (3200) 을 갖는 단락 (2800) 을 나타낸다. 편집 제스쳐 (3300) 가 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (3300) 가 HWR 시스템 (114) 에 의해 단어 (2802) 와 단어 (2804) 사이를 통과하는 것으로 검출된다. 도 31a 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (2800) 및 장식 (3200) 에 대한 편집 스트로크 (3300) 의 이러한 상대적인 로케이션은, 편집 제스쳐 (3300) 가 사용자에 의해 단락 (2800) 의 제 1 라인 (2806) 을 검출된 로케이션에서 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래한다. 이러한 인식 결과가 도 33b 에 도시되며, 여기서, 단어 (2804) 가 제 2 라인 (2814) 로 이동되며, 그 결과, 제 1 라인 (2806) 의 나머지 단어들이 (단어들 (2808 및 2810) 및 밑줄 (3204) 의 (제 1) 부분 (3204a) 을 포함하여) 제 2 라인 (2814) 상으로 이동되며, 그 라인 (2814) 상에서 단어 (2812) 가 리플로우된다. 이 리플로우는 도 31b 의 라인 브레이크 동작 결과에 대한 대안을 예시하기 위해 도시된다. 볼 수 있는 바와 같이, 단락 (2800) 의 다른 부분들은 동일하게 유지된다.
이러한 편집 동작은 다음과 같이 밑줄들 (3202 및 3204) 양쪽의 재-렌더링을 초래한다. 밑줄 (3202) 은 (예를 들어, HWR 시스템 (114) 의 세그멘터에 의해) (제 1) 세그먼트 (3302) 및 (제 2) 세그먼트 (3304) 로 세그먼트화된다. 제 1 세그먼트 (3302) 는 편집 제스쳐 (3300) 가 단지 단어 (2802) 에만 포함되고 그 아래에 있는 밑줄 (3202) 과 교차하는 로케이션의 좌측에 있는 밑줄 (3202) 의 미화된 디지털 잉크를 포함한다. 즉, 단어 (2802) 의 최우측 문자 범위로부터 편집 제스쳐 (3300) 가 밑줄 (3202) 과 교차하는 로케이션까지의 밑줄 (3202) 의 미화된 디지털 잉크가 생략된다. 이것은, 위에서 설명한 바와 같이, 미화된 디지털 잉크가 밑줄의 길이를 따라서 합리적으로 변하지 않는 렌더링을 가지므로 임의의 위치에서 품질 또는 의미의 손실 없이 잘라내어 질 수 있기 때문에, '원시' 디지털 잉크보다 더 간단한 미화된 디지털 잉크에 대한 프로세스이다. 제 2 세그먼트 (3304) 는 편집 제스쳐 (3300) 가 밑줄 (3202) 과 교차하는 로케이션의 우측에 있는 밑줄 (3202) 의 미화된 디지털 잉크를 포함한다.
밑줄 (3204) 에 있어서, 제 1 부분 (3204a) 과 제 2 부분 (3204b) 은, 단락 (2800) 의 라인 (2814) 상에서 결합되어, 제 1 및 제 2 부분들 (3204a 및 3204b) 의 결합된 길이 및 단어들 (2808, 2810 및 2812) 에 대한 상대적인 위치의 새로운 미화된 디지털 잉크 밑줄 (3306) 을 형성한다. 이것은, 미화된 디지털 잉크가 밑줄의 길이를 따른 합리적으로 변하지 않는 렌더링을 가지므로 임의의 위치에서 품질 또는 의미의 손실 없이 결합될 수 있지만, '원시' 디지털 잉크 밑줄 (2904) 의 밑줄 부분들 (2904a 및 2904b) 은 일반적인 방식으로 적절하게 적용될 수 없는 결합을 가능하게 하기 위해 상당한 조정을 필요로 할 수도 있기 때문에, '원시' 디지털 잉크에 대해 있을 수 있는 프로세스보다, 미화된 디지털 잉크에 대한, 더 간단한 프로세스이다.
볼 수 있는 바와 같이, 도 33b 에서의 최종적인 디스플레이는 콘텐츠 상의 원래 장식들의 명확한 표시를 유지한다. 도 34 는 도 33b 의 장식 (3300) 을 갖는 단락 (2800) 을 조판 단락 (3400) 으로 조판한 결과를 나타낸다. 볼 수 있는 바와 같이, 애플리케이션 (112) 은 도 30 의 예의 방법과 유사한 방법으로, 미화된 디지털 잉크 밑줄들 (3302, 3304 및 3306) 의, 단락 2800 의 연관된 단어들 (2802, 2804, 2808, 2810 및 2812) 의 조판 잉크 버전들에 대한 굵은 글씨체 폰트로의 변환을 초래한다. 이러한 방법으로, 밑줄친 단어들의 적합한 강조가 조판 문서에서 유지되므로 사용자들의 의도가 유지된다.
미화된 장식들의 제공은 또한 다른 편집 동작들 시 장식된 콘텐츠의 적당한 재-디스플레이를 도울 수 있다. 도 35a 는 도 32 의 장식 (3200) 을 갖는 단락 (2800) 을 나타낸다. 편집 제스쳐 (3500) 가 나타낸 디스플레이된 위치에서 단일 스트로크로 좌-우 수평 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (3500) 가 HWR 시스템 (114) 에 의해 (전체) 단어 (2810) 상에 또는 상에 걸쳐서 (실질적으로) 통과하는 것으로서 검출된다. 도 20b 의 예와 유사하게, 예컨대, 단어 상에 걸쳐서의, (인식된) 텍스트 (2800) 및 장식 (3200) 에 대한 편집 스트로크 (3500) 의 이러한 상대적인 로케이션은, 편집 제스쳐 (3500) 가 사용자에 의해 단락 (2800) 으로부터 단어 (2810) 를 삭제하도록 의도된다는 결정을 초래한다. 이러한 인식 결과가 도 35b 에 도시되며, 여기서, 단어 (2810) 가 생략된다.
이러한 편집 동작은 다음과 같이 밑줄 (3204) 의 재-렌더링을 초래한다. 도 35a 에서 단어 (2810) 아래에 있는 밑줄 부분 (3204a) 은 (예를 들어, HWR 시스템 (114) 의 세그멘터에 의해) 단지 단어 (2808) 에만 포함되고 그 아래에 있는 밑줄 (3204) 의 미화된 디지털 잉크를 포함하는 세그먼트 (3502) 로 세그먼트화된다. 즉, 단어 (2808) 의 최우측 문자 범위로부터의 밑줄 (3204) 의 미화된 디지털 잉크가 생략된다. 볼 수 있는 바와 같이, 단락 (2800) 의 다른 부분들은 동일하게 유지된다. 이것은 적어도 위에서 설명된 이유들로, '원시' 디지털 잉크보다, 미화된 디지털 잉크에 대한, 더 간단한 프로세스이다. 대안적으로는, 밑줄 부분 (3204a) 의 전체는, 밑줄을 유지할 그 정위치에의 새로운 콘텐츠의 삽입을 위해 사용자에 의해 삭제 동작이 수행된 것으로 간주되면, 유지될 수도 있다.
또, 도 35c 는 도 35b 의 수정된 장식 (3200) 을 갖는 단락 (2800) 을 나타낸다. 추가적인 핸드라이팅된 콘텐츠의 입력이 단락 (2800) 의 라인 (2806) 상의 (장식된) 단어 (2808) 의 우측에 입력되는 것으로서 검출되며, HWR 시스템 (114) 에 의해 단어들 "and/or" 로서 인식된 디지털 잉크 콘텐츠 (3504) 로서 디스플레이된다. 새로운 콘텐츠가 장식된 단어 (2808) 와 장식된 단어 (2812) 사이에 위치된 것으로서 검출되므로, 이러한 편집 동작은 다음과 같이 밑줄 (3504) 의 재-렌더링을 초래한다.
도 35c 에서 단어 (2808) 아래에 있는 밑줄 (3504) 은 도 35d 에 나타낸 바와 같이, 새로운 미화된 디지털 잉크 밑줄 (3506) 을 형성하기 위해, 그의 최우측 범위로부터 추가된 콘텐츠 (3504) 아래의 최우측 범위까지 확장된다. 볼 수 있는 바와 같이, 단락 (2800) 의 다른 부분들은 동일하게 유지된다. 이것은 적어도 위에서 설명된 이유들로, '원시' 디지털 잉크보다, 미화된 디지털 잉크에 대한, 더 간단한 프로세스이다. 대안적으로는, 밑줄은 새로운 콘텐츠 아래에서의 확장 없이 유지될 수도 있으며, 이에 따라서, 사용자의 의도가 유사하게 밑줄친 새로운 콘텐츠를 갖는 것이면, 새로운 장식 입력이 이루어질 수 있으며, 이 시점에서, 애플리케이션 (112) 은 아마도 새로운 밑줄을 밑줄 (3504) 과 결합하여 새로운 밑줄 (3506) 을 형성할 것이다.
위에서 설명한 장식 예들은 상대적으로 간단한 유형의 장식, 즉 단일 스트로크로 단일 라인을 갖는, 밑줄과 관련된다. 앞에서 설명한 바와 같이, 핸드라이팅된 콘텐츠를 둘러싸거나 또는 가까이 있는, 원들, 타원들, 박스들과 같은 2차원 장식을 포함한, 더 복잡한 형태들의 장식이 가능하다.
도 36 은 도 6a 와 유사하게, 그 사이의 스페이스들에 의해 정의되는, 여러 단어들, "Break" (3602), "a" (3604) 및 "line" (3606), 및 단어 (3606) 뒤의 마침표 (3607) 의 단일 라인 단락 (3600) 을 나타낸다. 그러나, 도 6a 과는 달리, 핸드드로잉된 또는 핸드라이팅된 장식 (3608) 이 HWR 시스템 (114) 에 의해 단어들 (3602, 3604 및 3606), 및 마침표 (3607) 둘레에 로케이트된 것으로서 검출되고, 타원으로서 인식되어 예를 들어, '원시' 디지털 잉크로서 렌더링된다. 도 37a 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된 편집 제스쳐 (3700) 를 나타낸다. 편집 스트로크 (3700) 가 HWR 시스템 (114) 에 의해 단어 (3602) 와 단어 (3604) 사이를 통과하는 것으로 검출된다. 도 6 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (3600) 에 대한 편집 스트로크 (3700) 의 이러한 상대적인 로케이션은 편집 제스쳐 (3700) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐 (3700) 가 사용자에 의해 단락 (3600) 의 단일 라인을 검출된 로케이션에서 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 37b 에 도시되며, 여기서, 단락 (3600) 이 텍스트의 2개의 라인들 (3600a 및 3600b) 로, 즉, 단락 (3600) 의 원래 (제 1) 라인 (410) 상의 단어 (3602) 는 라인 (3600a) 으로서, 그리고 단락 (3600) 의 제 1 라인 (410) 바로 아래의 다음 (제 2) 라인 (410) 상의 단어들 (3604 및 3606) 및 마침표 (3607) 는 단어 (3602) 와 단어 (3604) 사이에 스페이스를 가지는 라인 (3600b) 로서, 분할된다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (3600) 의 특징들은 유지된다. 도 6 과 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (3700) 의 수직 범위와 같은 추가적인 특성들의 고려가, 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다. 어쨌든, 단일 라인이 2개의 라인들로 분리되기 때문에, 또한 장식이 (이전에 둘러싸인) 콘텐츠의 모두를 계속해서 둘러싸도록 연관된 타원 (3608) 의 편집이 요구된다. 이것은 도 37b 에 도시되며, 여기서, 단락 (3600) 의 편집된 또는 재-디스플레이된 콘텐츠를 둘러싸도록 타원이 새로운 '원시' 디지털 잉크 장식 (3702) 으로 리사이징되거나 및/또는 스케일링된다.
볼 수 있는 바와 같이, 장식 (3702) 의 최종적인 디스플레이는 원래 장식 (3608) 과 상당히 상이하기 때문에, 사용자에게 완전히 만족스럽지 않을 수도 있다. 본 예에서, 이것은 지나치게 문제가 되지 않을 수도 있지만, 리사이징된 장식이 만족스럽게 디스플레이되지 않을 때 상황들이 발생할 수도 있음을 알 수 있으며, 이의 예들이 추후 설명된다. 참조로 포함된, 발명의 명칭이 "System and Method for Handwritten Diagram Connectors" 인 미국 특허 출원 번호 제 14/955,174호와 함께 앞에서 설명된 바와 같이, 최종적인 스케일링된 디지털 잉크가 너무 작거나 또는 너무 크지 않도록, 또는 핸드라이팅에서의 결함들을 강조하도록, 장식의 리사이징 또는 스케일링을 구성하는 것이 가능하다.
도 38 은 도 37b 의 장식 (3702) 을 갖는 단락 (3600) 을 조판 단락 (3800) 으로 조판한 결과를 나타낸다. 볼 수 있는 바와 같이, 애플리케이션 (112) 은 디지털 잉크 타원 (3702) 의, 단락 (3600) 의 연관된 콘텐츠 (3602 내지 3607) 의 조판 잉크 버전들에 대한 굵은 글씨체 폰트로의 변환을 초래한다. 이러한 방법으로, 장식된 (원으로 둘러싼) 콘텐츠의 적합한 강조가 조판 문서에서 유지되며, 이에 따라서, 사용자들의 의도가 유지된다. 굵은 글씨체 폰트의 스타일링이 단지 예임을 알 수 있으며, 추후 설명되는 바와 같이, 폰트 변경들 또는 다른 폰트구성 또는 스타일링이 제공될 수 있다. 또, 상이한 장식들이 상이한 스타일링을 적용하기 위해 사용될 수도 있다 (추후 설명됨). 이러한 입력 장식들 또는 스타일 변경들의 조판은 애플리케이션 (112) 의 UI 를 통해서 설정가능할 수도 있다.
도 39 는 디지털 잉크 (3900) 로서 입력되어 렌더링된 추가적인 핸드라이팅된 콘텐츠를 갖는 도 28 의 단락 (2800) 을 나타낸다. 추가적인 콘텐츠 (3900) 는 단락 (2800) 의 (제 1) 라인 (2824) 상의 복수의 단어들, "documents" (2818), "with" (2820), 및 "clean" (2822) 을 둘러싸도록 기입된 타원을 포함한다. 추가적인 콘텐츠 (3900) 는 HWR 시스템 (114) 에 의해 단락 (2800) 의 인식된 텍스트에 대해, 비텍스트 엘리먼트, 예컨대, 타원인 콘텐츠의 인식을 통해서 콘텐츠로서 취급될 수도 있다. 그러나, 위에서 설명한 바와 같이, 본 시스템 및 방법은 콘텐츠의 조판 (또는, 미화된) 버전에서의 비-장식된 콘텐츠의 스타일링과는 상이한 장식된 콘텐츠의 스타일링과 같은, 편집을 위한 추가적인 제스쳐들로서 간주될 이러한 "콘텐츠" 에 대한 메커니즘을 제공한다.
도 40a 는 도 39 의 장식 (3900) 을 갖는 단락 (2800) 을 나타낸다. 편집 제스쳐 (4000) 가 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출된다. 편집 스트로크 (4000) 가 HWR 시스템 (114) 에 의해 단어 (2820) 와 단어 (2822) 사이를 통과하는 것으로 검출된다. 도 31 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (2800) 및 장식 (3900) 에 대한 편집 스트로크 (4000) 의 이러한 상대적인 로케이션은, 편집 제스쳐 (4000) 가 사용자에 의해 단락 (2800) 의 제 1 라인 (2824) 을 검출된 로케이션에서 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래한다. 이러한 인식 결과가 도 40b 에 도시되며, 여기서, 단어 (2822) 가 (제 2) 라인 (2826) 로 이동되며, 그 결과, 제 2 라인 (2826) 상의 콘텐츠가 후속 라인 (410) 으로 이동된다. 이러한 방법으로, 라인 브레이크가 라인 (2826) 상의 이동된 단어 (2822) 뒤에 제공된다. 대안적으로, 도 40c 에 나타낸 바와 같은 인식 결과가 수행될 수도 있으며, 여기서, 단어 (2822) 가 제 2 라인 (2826) 상으로 이동되며, 그 결과, 제 2 라인 (2826) 상의 콘텐츠가 리플로우된다. 어느 경우에나, 단어들 (2818, 2820 및 2822) 이 타원 (3900) 과 연관되기 때문에, 장식이 (이전에 둘러싸인) 콘텐츠의 모두를 계속 둘러싸도록, 장식 (3900) 의 편집이 또한 요구된다. 이것은 또한 도 40b 및 도 40c 에 도시되며, 여기서, 타원이 단락 (2800) 의 단어들 (2818 및 2820) 을 둘러싸도록 새로운 '원시' 디지털 잉크 장식 (3902) 으로, 그리고 단락 (2800) 의 단어 (2822) 를 둘러싸도록 새로운 '원시' 디지털 잉크 장식 (3904) 으로, 복제되어, 리사이징되거나 및/또는 스케일링된다.
볼 수 있는 바와 같이, (분리된) 장식 (3902 및 3904) 의 최종적인 디스플레이는, 예를 들어, 원으로 둘러싼 콘텐츠 모두가 후속 스타일링을 위해 동일하게 취급되어야 한다는 것이 명확하지 않은 것과 같이, 원래 장식 (3900) 과 상당히 상이하기 때문에, 사용자에게 완전히 만족스럽지 않을 수도 있다. 따라서, 위에서 설명된 1차원 장식들, 예컨대, 밑줄들과 같이, 2차원 장식들은 또한 디지털 잉크의 극값, 산술평균 및/또는 평균 특성들을 결정하여 HWR 시스템 (114) 의 사전 프로세싱 (116) 과 유사하게 평활화 및 정규화를 적용하는 애플리케이션 (112) 및/또는 HWR 시스템 (114) 에 의해 미화될 수도 있다.
도 41 은 도 36 의 단일 라인 단락 (3600) 을 나타낸다. 그러나, 도 36 과 달리, 핸드드로잉된 또는 핸드라이팅된 장식 (3608) 의 미화된 디지털 잉크 버전이 애플리케이션 (112) 및/또는 HWR 시스템 (114) 에 의해 단어들 (3602, 3604 및 3606), 및 마침표 (3607) 둘레에 로케이트된 '거의' 조판 타원 (4100) 으로 렌더링된다. 도 42a 는 나타낸 디스플레이된 위치에서 단일 스트로크로 상-하 수직 라인으로서 입력된 것으로 검출되는 편집 제스쳐 (4200) 를 나타낸다. 편집 스트로크 (4200) 가 HWR 시스템 (114) 에 의해 단어 (3602) 와 단어 (3604) 사이를 통과하는 것으로 검출된다. 도 37a 의 예와 유사하게, 예컨대, 단어들 사이의 스페이스에서의, (인식된) 텍스트 (3600) 에 대한 편집 스트로크 (4200) 의 이러한 상대적인 로케이션은 편집 제스쳐 (4200) 의 위에서 설명한 특성들 중 하나를 제공하는 반면, 상-하 기입 방향은 다른 특성을 제공한다.
이들 특성들만의 고려는 편집 제스쳐 (4200) 가 사용자에 의해 단락 (3600) 의 단일 라인을 검출된 로케이션에서 2개의 라인들로 분할하거나 또는 분리하도록 의도된다는 결정을 초래할 수도 있다. 이러한 인식 결과가 도 42b 에 도시되며, 여기서, 단락 (3600) 이 텍스트의 2개의 라인들 (3600a 및 3600b) 로, 즉, 단락 (3600) 의 원래 (제 1) 라인 (410) 상의 단어 (3602) 는 라인 (3600a) 으로, 그리고, 단락 (3600) 의 제 1 라인 (410) 바로 아래의 다음 (제 2) 라인 (410) 상의 단어들 (3604 및 3606) 및 마침표 (3607) 는 단어 (3602) 와 단어 (3604) 사이에 스페이스를 가지는 라인 (3600b) 으로 분할되어 있다. 볼 수 있는 바와 같이, 기타의 점에서, 단락 (3600) 의 특징들은 유지된다. 도 37 과 관련하여 위에서 설명된 바와 같이, 페이지 (400) 의 입력 환경 및/또는 가장 가까운 오브젝트들의 결합된 특성들과 비교한, 편집 스트로크 (4200) 의 수직 범위와 같은, 추가적인 특성들의 고려가, 이러한 인식 결과를 추가로 검증하기 위해 본 시스템 및 방법에 의해 추가로 이용될 수도 있다. 어쨌든, 단일 라인이 2개의 라인들로 분리되기 때문에, 장식이 (이전에 둘러싸인) 콘텐츠의 모두를 계속 둘러싸도록, 연관된 타원 (4100) 의 편집이 또한 요구된다. 이것은 도 42b 에 도시되며, 여기서, 타원이 단락 (3600) 의 편집된 또는 재-디스플레이된 콘텐츠를 둘러싸도록 새로운 미화된 장식 (4202) 으로 리사이징되거나 및/또는 스케일링된다. 볼 수 있는 바와 같이, 미화된 장식 (4202) 이 콘텐츠만을 둘러싸도록 리사이징되지 않고, 원래 사이즈를 유지한다. 그러나, 이것은 수행될 필요가 없으며, 리사이징이 발생할 수 있다. 그러나, 비-리사이징은 예를 들어, 이것이 분리 동작을 위한 사용자의 의도로 간주되면, 장식된 부분에의 추가적인 입력의 후속 포함을 도울 수 있다.
이러한 미화된 2차원 장식들의 제공은 편집 동작 시 콘텐츠의 적당한 재-디스플레이를 도울 수 있다. 예를 들어, 도 43 은 도 39 의 콘텐츠를 나타내지만, 여기서, 디지털 잉크 타원 (3900) 은 단락 (2800) 의 제 1 라인 (2824) 상의 단어들 (2818, 2820 및 2822) 을 둘러싸는 미화된 디지털 잉크 타원 (4300) 으로서 렌더링된다. 도 44 는 도 40b 의 인식 결과를 나타내지만, 여기서, 복제되어 리사이징되거나 및/또는 스케일링된 '원시' 디지털 잉크 장식들 (3902 및 3904) 은 단락 2800 의 제 1 및 제 2 라인들 (2824 및 2826) 상의 단어들 (2818, 2820 및 2822) 을 둘러싸는 미화된 디지털 잉크 타원 (4400) 으로서 렌더링된다. 이러한 방법으로, 라인 브레이크가 라인 (2826) 상의 이동된 단어 (2822) 뒤에 제공되며, '확장된' 미화된 디지털 잉크 장식 (4400) 가, 원으로 둘러싼 콘텐츠 모두가 예를 들어, 후속 스타일링을 위해 동일하게 취급된다는 명확성을 유지한다.
미화된 장식들에 대한 유사한 편집 동작들이 확장 대신, 장식의 사이즈를 줄이기 위해 실행될 수 있다. 예를 들어, 도 45a 는 미화된 장식 (4502) 으로 둘러싸인 멀티-라인 단락 (4500) 을 나타내며, 여기서, 단어 (4504) 가 검출된 편집 제스쳐 (4506) 에 의해 삭제된다. 삭제의 인식 결과가 도 45b 에 도시되며, 여기서, 단어 (4504) 가 생략되며, 그 결과, 단락 (4500) 이 단일 라인 단락이 되고 미화된 장식 (4502) 이 지금 단일 라인 단락 (4500) 의 콘텐츠만을 둘러싸도록 사이즈가 감소되도록, 하향스트림 콘텐츠가 리플로우된다.
도 46 은 도 4 의 예시적인 입력의 예시적인 장식을 나타낸다. 도 46 에서, 추가적인 입력 핸드라이팅이 '원시' 디지털 잉크 타원 (4600) 에 의해 둘러싸인 제목 (412), '원시' 디지털 잉크 밑줄 (4602) 에 의해 밑줄쳐진 제목 (414), '원시' 디지털 잉크 밑줄 (4604) 에 의해 밑줄쳐진 단락 (416) 의 단어들 (452 및 454), 및 '원시' 디지털 잉크 밑줄 (4606) 에 의해 밑줄쳐진 제목 (418) 의 최종적인 디스플레이로 검출된다. 도 47 은 미화된 디지털 잉크로서 렌더링된 도 46 의 예시적인 장식을 나타낸다. 즉, 도 47 에서, '원시' 디지털 잉크 타원 (4600) 이 미화된 디지털 잉크 타원 (4700) 으로서 렌더링되며, '원시' 디지털 잉크 밑줄 (4602) 이 미화된 디지털 잉크 밑줄 (4702) 로서 렌더링되며, '원시' 디지털 잉크 밑줄 (4604) 이 미화된 디지털 잉크 밑줄 (4704) 로서 렌더링되며, '원시' 디지털 잉크 밑줄 (4606) 이 미화된 디지털 잉크 밑줄 (4706) 로서 렌더링되며, 여기서, 미화된 형태들은 비-미화된 형태들과 실질적으로 동일한 범위들을 갖는다.
앞에서 설명한 바와 같이, 이러한 장식들은 디지털 잉크 콘텐츠가 조판 잉크로 변환될 때 어떤 스타일링 변경들을 표시하는 것으로서 애플리케이션 및/또는 HWR 시스템 (114) 에 의해 간주될 수도 있다. 이러한 스타일링 적용은 변환 전에, 원시 또는 미화된 디지털 잉크의 디스플레이에 관계 없이, 수행된다. 도 48 은 조판 후 도 46 및 도 47 의 콘텐츠를 나타낸다. 이것은 예를 들어, 디바이스 (100) 의 페이지 (400) 및/또는 인터페이스 표면 (104) 의 규정된 로케이션 또는 임의의 로케이션에서, 단일- 또는 멀티-지점 제스쳐, 예컨대, 탭 또는 이중 탭과 같은, 제스쳐의 검출에 응답하여, 수행될 수 있다. 볼 수 있는 바와 같이, 페이지 (400) 의 상이한 콘텐츠 영역들에서의 상이한 장식들에 응답하여, 조판된 스타일이 콘텐츠의 상이한 레벨들에 대해 상이하다. 예를 들어, 제목 (412) 은 원 장식 (circle decoration) 에 응답하여 문서 또는 섹션 제목을 제공하기 위해 (콘텐츠의 다른 섹션들에 비해) 크고 굵은 글씨체 폰트로 렌더링되며, 제목들 (414 및 418) 은 제목들 (414 및 418) 에 의해 표시되는 분리된 단일 라인 단락들에 대한 밑줄 장식에 응답하여 섹션 또는 서브-섹션 제목들을 제공하기 위해 (섹션 제목 (412) 에 비해) 더 작지만 (콘텐츠의 다른 섹션들에 비해) 여전히 더 큰 이탤릭체 폰트로 렌더링되며, 및 단락 (416) 의 밑줄친 콘텐츠 (452 및 454) 는 본문 단락 콘텐츠에 대한 밑줄 장식에 응답하여 굵은 글씨체 폰트로 렌더링된다. 이들 적용되는 스타일들은 단지 예들이며, 추가적인 계층적 제목 스타일들, 텍스트의 채색 및/또는 백그라운드, 등과 같은, 다른 스타일링 유형들이 가능하다.
상이한 장식 유형들이 상이한 스타일링들과 같은 상이한 조판 결과들을 위해 제공될 수도 있기 때문에, 그리고 본 시스템 및 방법이 콘텐츠 및 제스쳐들의 핸드라이팅된 입력을 이용하여 콘텐츠와의 가능한 한 많은 상호작용을 제공하는 것에 관한 것이기 때문에, 장식들 자체를 변경하거나 또는 편집하는 능력이 추가적인 핸드라이팅된 입력을 통해서 제공될 수도 있다. 예를 들어, 장식을 상이한 장식으로 덮어쓰거나 또는 첨부하는 것은 원래 장식을 변경시키며, 예컨대, 단락에 헤더 3 스타일을 적용하는 밑줄 장식이 헤더 2 스타일을 적용하기 위해 이중 밑줄 장식을 생성하는 제 2 밑줄로 첨부된다. 예를 들어, 장식을 상이한 장식으로 덮어쓰거나 또는 첨부하는 것은 모든 장식을 취소하며, 예컨대, 좌측부터 우측까지의 밑줄이 장식을 제공하고 우측으로부터 좌측까지의 밑줄로 덮어쓰면, "백스페이스 (backspace)" 와 유사하게, 장식을 취소한다. 예를 들어, 장식을 편집 제스쳐로 덮어쓰거나 또는 첨부하는 것은, 장식을 변경하거나 또는 삭제하며, 예컨대, 장식 상에 (실질적으로 또는 부분적으로) 걸친 스크래치-아웃이 장식을 제거하지만, 그와 연관된 콘텐츠는 제거하지 않는다.
본 시스템 및 방법은 학생들, 학문 및 실무 전문가들과 같은, 사용자들로 하여금, 예컨대, 강의들, 회의들 및 브레인스토밍 세션들 동안, 이들의 컴퓨팅 디바이스들 상에서, 핸드라이팅된 노트들을, 단어 프로세싱된 문서들과 유사한 의미 있고 공유가능한 포맷으로 필기가능하게 하는 애플리케이션을 제공한다. 또한, 본 시스템 및 방법은 기입이 (구획된) 라인들, 및 단락들 상에서 이루어지고 다른 레이아웃 엘리먼트들이 방위 (즉, 세로 또는 가로) 및 디바이스 디스플레이 용량에 응답하여 고려되기 때문에, 자연스러운 기입이 입력될 수 있게 한다. 콘텐츠를 편집하는 것, 노트들의 레이아웃을 조작하는 것, 또는 노트들을 문서로 변환하거나 또는 추가하는 것과 같은, 노트에서 생성되는 핸드라이팅된 또는 조판된 텍스트, 또는 비텍스트 콘텐츠와의 추가적인 상호작용이, 노트를 별개의 문서 프로세싱 애플리케이션으로 임포트할 필요없이, 애플리케이션 자체 내에서 직접 수행될 수 있다. 이와 같이, 핸드라이팅된 노트들의 원래 레이아웃이 실제 입력 핸드라이팅 자체, 즉 디지털 잉크 그대로, 유지된다. 따라서, 필기된 노트들의 용이한 이해를 위해서 주석들, 장식들, 특수 레이아웃, 등이 유지된다.
상기는 최상의 모드 및/또는 다른 예들인 것으로 간주되는 것을 설명하였지만, 다양한 변경들이 본원에서 이루어질 수도 있으며 본원에서 개시되는 요지가 다양한 형태들 및 예들로 구현될 수도 있으며 이들이 매우 많은 다른 애플리케이션들, 조합들, 및 환경들에서 적용될 수도 있음을 알 수 있으며, 단지 이들 중 일부만이 본원에서 설명되었다. 당업자들은 개시된 양태들이 기술요지의 본질적인 정신 및 범위로부터 일탈함이 없이 변경되거나 또는 수정될 수도 있음을 알 수 있을 것이다. 따라서, 기술요지가 본 명세서에서 구체적인 세부 사항들, 제시물들, 및 예시된 예들에 한정되지 않는다. 이는 본원에서 개시된 유리한 컨셉들의 진정한 범위 내에 들어가는 임의의 그리고 모든 변경예들 및 변형예들을 보호하도록 의도된다.

Claims (18)

  1. 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템으로서,
    각각의 컴퓨팅 디바이스는, 프로세서, 및 상기 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
    문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크의 디스플레이를 하게 하고;
    핸드라이팅 입력을 상기 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 검출하고; 그리고
    핸드라이팅 입력에 따라서, 상기 디스플레이 인터페이스 상에서, 제 2 디지털 잉크의 디스플레이를 하게 하도록 구성되는, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  2. 제 1 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크와는 상이한, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 정규화된 버전인, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 검출된 편집 제스쳐들에 기초하여, 상기 디스플레이 인터페이스 상에서, 제 3 디지털 잉크로서 상기 문서 콘텐츠의 재-디스플레이를 하게 하도록 구성되는, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  5. 제 4 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 및 제 2 디지털 잉크와는 상이한, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  6. 제 5 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 디지털 잉크의 조판 버전인, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 시스템.
  7. 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법으로서,
    각각의 컴퓨팅 디바이스는 프로세서, 및 상기 프로세서의 제어 하에서 핸드라이팅 입력을 인식하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 방법은,
    문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크를 디스플레이하는 단계;
    상기 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및
    핸드라이팅 입력에 따라서, 상기 디스플레이 인터페이스 상에서, 제 2 디지털 잉크를 디스플레이하는 단계를 포함하는, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  8. 제 7 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크와는 상이한, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 정규화된 버전인, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    검출된 편집 제스쳐들에 기초하여, 상기 디스플레이 인터페이스 상에서, 상기 문서 콘텐츠를 제 3 디지털 잉크로서 재-디스플레이하는 단계를 포함하는, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  11. 제 10 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 및 제 2 디지털 잉크와는 상이한, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  12. 제 11 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 디지털 잉크의 조판 버전인, 컴퓨팅 디바이스들 상에서 디지털 문서들을 편집하는 방법.
  13. 컴퓨터 판독가능 프로그램 코드가 안에 내장된 비일시적 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는, 컴퓨팅 디바이스에의 편집 핸드라이팅의 입력을 인식하는 방법을 구현하게 실행되도록 구성되며,
    상기 컴퓨팅 디바이스는, 프로세서, 및 상기 프로세서의 제어 하에서 상기 입력을 인식하는 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 방법은,
    문서 콘텐츠에 따라서, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에서, 제 1 디지털 잉크를 디스플레이하는 단계;
    상기 문서 콘텐츠에 대한 하나 이상의 편집 제스쳐들로서 핸드라이팅 입력을 검출하는 단계; 및
    핸드라이팅 입력에 따라서, 상기 디스플레이 인터페이스 상에서, 제 2 디지털 잉크를 디스플레이하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제 13 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크와는 상이한, 비일시적 컴퓨터 판독가능 매체.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 정규화된 버전인, 비일시적 컴퓨터 판독가능 매체.
  16. 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,
    검출된 편집 제스쳐들에 기초하여, 상기 디스플레이 인터페이스 상에서, 상기 문서 콘텐츠를 제 3 디지털 잉크로서 재-디스플레이하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제 16 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 및 제 2 디지털 잉크와는 상이한, 비일시적 컴퓨터 판독가능 매체.
  18. 제 17 항에 있어서,
    상기 제 3 디지털 잉크는 상기 제 1 디지털 잉크의 조판 버전인, 비일시적 컴퓨터 판독가능 매체.
KR1020187018553A 2015-12-01 2016-12-01 제스쳐들에 의한 노트 필기를 위한 장치 및 방법 KR102413461B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP15290296 2015-12-01
EP15290296.1 2015-12-01
US14/989,217 US11402991B2 (en) 2015-12-01 2016-01-06 System and method for note taking with gestures
US14/989,217 2016-01-06
PCT/EP2016/002032 WO2017092869A1 (en) 2015-12-01 2016-12-01 Apparatus and method for note taking with gestures

Publications (2)

Publication Number Publication Date
KR20180095840A true KR20180095840A (ko) 2018-08-28
KR102413461B1 KR102413461B1 (ko) 2022-06-24

Family

ID=55027644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018553A KR102413461B1 (ko) 2015-12-01 2016-12-01 제스쳐들에 의한 노트 필기를 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US11402991B2 (ko)
EP (2) EP3384372B1 (ko)
JP (1) JP7046806B2 (ko)
KR (1) KR102413461B1 (ko)
CN (1) CN108780381B (ko)
WO (1) WO2017092869A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846345B2 (en) * 2018-02-09 2020-11-24 Microsoft Technology Licensing, Llc Systems, methods, and software for implementing a notes service
US10346510B2 (en) * 2015-09-29 2019-07-09 Apple Inc. Device, method, and graphical user interface for providing handwriting support in document editing
US10852938B2 (en) 2016-01-07 2020-12-01 Myscript System and method for mixed content digital ink interactivity
JP6805552B2 (ja) * 2016-05-26 2020-12-23 コニカミノルタ株式会社 情報処理装置及びプログラム
JP2017215807A (ja) * 2016-05-31 2017-12-07 富士ゼロックス株式会社 プログラムおよび情報処理装置
US20190013016A1 (en) * 2017-07-07 2019-01-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Converting speech to text and inserting a character associated with a gesture input by a user
US10761719B2 (en) * 2017-11-09 2020-09-01 Microsoft Technology Licensing, Llc User interface code generation based on free-hand input
USD905718S1 (en) 2018-03-15 2020-12-22 Apple Inc. Display screen or portion thereof with graphical user interface
US10747949B2 (en) * 2018-04-13 2020-08-18 Microsoft Technology Licensing, Llc Presenting an overlay canvas to ink edit typed text
USD876449S1 (en) * 2018-09-12 2020-02-25 Apple Inc. Electronic device or portion thereof with animated graphical user interface
US10769424B2 (en) * 2019-02-11 2020-09-08 Google Llc Interactive editing of electronic text
KR20190096872A (ko) * 2019-07-31 2019-08-20 엘지전자 주식회사 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치
JP7467842B2 (ja) 2019-08-28 2024-04-16 株式会社リコー 表示装置、表示方法、表示プログラム
USD942470S1 (en) * 2020-06-21 2022-02-01 Apple Inc. Display or portion thereof with animated graphical user interface
CN115698911A (zh) 2020-08-13 2023-02-03 株式会社和冠 墨水量算出方法、信息处理装置及程序
US11409432B2 (en) * 2020-12-23 2022-08-09 Microsoft Technology Licensing, Llc Pen command for ink editing
JP7368442B2 (ja) * 2021-12-15 2023-10-24 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法
US20230222281A1 (en) * 2022-01-07 2023-07-13 Google Llc Modifying the presentation of drawing objects based on associated content objects in an electronic document
CN115033169B (zh) * 2022-05-20 2024-09-13 广州朗国电子科技股份有限公司 一种电子白板触摸屏书写擦除方法、设备及存储介质
WO2024181963A1 (en) * 2023-02-27 2024-09-06 Google Llc Universal handwriting recognition
US20240338120A1 (en) * 2023-04-10 2024-10-10 Microsoft Technology Licensing, Llc Intent and target determination for digital handwriting input

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100066691A1 (en) * 2008-09-16 2010-03-18 Li Ai Long Input apparatus and computer readable recording medium recorded with image processing program
KR101337872B1 (ko) * 2013-04-04 2013-12-06 주식회사 디오텍 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법
JP2013246633A (ja) * 2012-05-25 2013-12-09 Toshiba Corp 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
US20150169975A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation User interface for overlapping handwritten text input

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220649A (en) 1991-03-20 1993-06-15 Forcier Mitchell D Script/binary-encoded-character processing method and system with moving space insertion mode
CA2089784C (en) * 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
US6651221B1 (en) * 1993-05-20 2003-11-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US6941507B2 (en) * 2000-11-10 2005-09-06 Microsoft Corporation Insertion point bungee space tool
JP2003208569A (ja) 2002-01-10 2003-07-25 Ricoh Co Ltd 手書き情報処理装置、手書き情報処理方法、手書き情報処理プログラム、そのプログラムが記録された記録媒体、及び電子黒板
US6938222B2 (en) * 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
US7158675B2 (en) * 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US7751623B1 (en) * 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US7259752B1 (en) * 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
US7002560B2 (en) * 2002-10-04 2006-02-21 Human Interface Technologies Inc. Method of combining data entry of handwritten symbols with displayed character data
US8448083B1 (en) * 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US20060001656A1 (en) * 2004-07-02 2006-01-05 Laviola Joseph J Jr Electronic ink system
US7372993B2 (en) * 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
US7729538B2 (en) * 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US8250486B2 (en) * 2006-01-19 2012-08-21 International Business Machines Corporation Computer controlled user interactive display interface for accessing graphic tools with a minimum of display pointer movement
JP4762070B2 (ja) * 2006-07-19 2011-08-31 富士通株式会社 手書き入力装置、手書き入力方法、及びコンピュータプログラム
US8245130B1 (en) * 2007-05-31 2012-08-14 Google Inc. Performing an estimation on content to be presented
US8634645B2 (en) * 2008-03-28 2014-01-21 Smart Technologies Ulc Method and tool for recognizing a hand-drawn table
US8213719B2 (en) * 2008-09-24 2012-07-03 Microsoft Corporation Editing 2D structures using natural input
US9164777B2 (en) * 2011-08-30 2015-10-20 Microsoft Technology Licensing, Llc Determining the display of equal spacing guides between diagram shapes
JP2013218592A (ja) 2012-04-11 2013-10-24 Seiko Epson Corp 文字入力装置
JP5306528B1 (ja) * 2012-09-19 2013-10-02 株式会社東芝 電子機器および手書き文書処理方法
US20140223382A1 (en) * 2013-02-01 2014-08-07 Barnesandnoble.Com Llc Z-shaped gesture for touch sensitive ui undo, delete, and clear functions
CN104007914A (zh) * 2013-02-26 2014-08-27 北京三星通信技术研究有限公司 对输入字符进行操作的方法及装置
US9465985B2 (en) * 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
US9524440B2 (en) * 2014-04-04 2016-12-20 Myscript System and method for superimposed handwriting recognition technology
CN104391641A (zh) * 2014-09-22 2015-03-04 贵阳朗玛信息技术股份有限公司 信息处理方法及装置
CN104360808A (zh) * 2014-12-04 2015-02-18 李方 一种利用符号手势指令进行文档编辑的方法及装置
CN105094564A (zh) * 2015-08-11 2015-11-25 广州视睿电子科技有限公司 基于触摸操作的笔迹编辑方法及系统
US9965175B2 (en) 2015-08-25 2018-05-08 Myscript System and method of digital note taking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100066691A1 (en) * 2008-09-16 2010-03-18 Li Ai Long Input apparatus and computer readable recording medium recorded with image processing program
JP2013246633A (ja) * 2012-05-25 2013-12-09 Toshiba Corp 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
KR101337872B1 (ko) * 2013-04-04 2013-12-06 주식회사 디오텍 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법
US20150169975A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation User interface for overlapping handwritten text input

Also Published As

Publication number Publication date
WO2017092869A1 (en) 2017-06-08
EP3384372A1 (en) 2018-10-10
US20170153806A1 (en) 2017-06-01
EP3828687A1 (en) 2021-06-02
KR102413461B1 (ko) 2022-06-24
JP2019507915A (ja) 2019-03-22
JP7046806B2 (ja) 2022-04-04
CN108780381B (zh) 2021-06-11
EP3384372B1 (en) 2021-01-20
US11402991B2 (en) 2022-08-02
CN108780381A (zh) 2018-11-09

Similar Documents

Publication Publication Date Title
KR102413461B1 (ko) 제스쳐들에 의한 노트 필기를 위한 장치 및 방법
KR102381801B1 (ko) 핸드라이팅 입력을 가이드하는 시스템 및 방법
KR102382899B1 (ko) 디지털 노트 필기의 시스템 및 방법
KR102392537B1 (ko) 핸드라이팅 다이어그램 입력을 안내하는 시스템 및 방법
EP3400521B1 (en) System and method for digital ink interactivity
JP6914260B2 (ja) デジタルインクを美しくするためのシステム及び方法
CN114365075A (zh) 用于选择图形对象的方法和对应装置
US11526659B2 (en) Converting text to digital ink
US11435893B1 (en) Submitting questions using digital ink
US20230054848A1 (en) Structural decomposition in handwriting
US20240231582A9 (en) Modifying digital content including typed and handwritten text
US20230401376A1 (en) Systems and methods for macro-mode document editing
CN111492338A (zh) 集成式文档编辑器
US20210081604A1 (en) Systems and methods for macro-mode document editing

Legal Events

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