KR20180100207A - 디지털 잉크 상호작용을 위한 시스템 및 방법 - Google Patents

디지털 잉크 상호작용을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20180100207A
KR20180100207A KR1020187022665A KR20187022665A KR20180100207A KR 20180100207 A KR20180100207 A KR 20180100207A KR 1020187022665 A KR1020187022665 A KR 1020187022665A KR 20187022665 A KR20187022665 A KR 20187022665A KR 20180100207 A KR20180100207 A KR 20180100207A
Authority
KR
South Korea
Prior art keywords
ink
digital
input
digital ink
handwriting input
Prior art date
Application number
KR1020187022665A
Other languages
English (en)
Other versions
KR102473543B1 (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 마이스크립트
Priority claimed from PCT/EP2017/000020 external-priority patent/WO2017118609A1/en
Publication of KR20180100207A publication Critical patent/KR20180100207A/ko
Application granted granted Critical
Publication of KR102473543B1 publication Critical patent/KR102473543B1/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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
    • G06K9/222
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Landscapes

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

Abstract

핸드라이팅 입력으로부터 컴퓨팅 디바이스로 인터랙티브 잉크를 제공하는데 사용하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공된다. 컴퓨팅 디바이스는 터치 감지 디스플레이의 입력 표면의 형태로 입력 디바이스에 접속된다. 사용자는 그 또는 그녀의 손가락 또는 스타일러스 또는 펜과 같은 기구를 사용하여 입력 표면 위를 가압하거나 또는 제스처를 취함으로써 입력을 제공할 수도 있다. 본 발명의 시스템 및 방법은 입력 스트로크들을 모니터링한다. 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 잉크 관리 시스템을 더 포함한다. 잉크 관리 시스템은 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하고, 제 1 디지털 잉크의 잉크 엘리먼트들에 레퍼런스들을 할당하고, 레퍼런스들을 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하고, 그리고 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하여 컴퓨팅 디바이스의 메모리에 저장하도록 구성되며, 따라서 잉크 오브젝트는 그래픽적으로 분리된 핸드라이팅된 단어를 나타낸다.

Description

디지털 잉크 상호작용을 위한 시스템 및 방법
관련 출원들의 상호 참조
본 출원은 2016 년 1 월 7 일자로 출원된 유럽 출원 제 16290002.1 호 및 2016 년 3 월 28 일자로 출원된 미국 출원 제 15/083,195 호에 대한 우선권을 주장하며, 그 전체 내용은 본원에 참조에 의해 통합된다.
본 설명은 일반적으로 컴퓨팅 디바이스들을 사용하는 잉크 관리 시스템들 및 방법들의 분야에 관한 것이다. 본 설명은, 더 구체적으로, 잉크의 상호작용을 제공하기 위해 컴퓨팅 디바이스들 인터페이스들에 핸드라이팅되는 잉크를 관리하는 것에 관한 것이다.
컴퓨팅 디바이스들은 계속해서, 일상 생활에서 더 편재하고 있다. 이들은 컴퓨터 데스크탑들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 하이브리드 컴퓨터들 (투 인 원(2-in-1)들), e-북 리더기들, 모바일 폰들, 스마트폰들, 웨어러블 컴퓨터들 (스마트 워치들, 스마트 안경들/헤드셋들을 포함함), 글로벌 포지셔닝 시스템 (GPS) 유닛들, 기업용 디지털 보조기들 (EDA들), 개인용 디지털 보조기들 (PDA들), 게임 콘솔들 등등의 형태를 취한다. 추가로, 컴퓨팅 디바이스들은 자동차들, 트럭들, 농장 시설, 제조 장비, 건물 환경 제어 (예컨대, 조명, HVAC), 및 가정 및 상업용 어플라이언스들과 같은 차량들 및 장비에 통합되고 있다.
컴퓨팅 디바이스들은 일반적으로, 중앙 프로세싱 유닛 (CPU) 과 같은 적어도 하나의 프로세싱 엘리먼트, 일부 형태의 메모리, 및 입력 및 출력 디바이스들로 구성된다. 다양한 컴퓨팅 디바이스들 및 그들의 후속 사용들은 다양한 인터페이스들 및 입력 디바이스들을 필요로 한다. 하나의 그러한 디바이스는, 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이며, 여기서 사용자 입력은 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면 간의 접촉을 통해 수신된다. 다른 입력 디바이스는 입력 표면 위의 사용자에 의해 실행된 제스처들을 감지하는 입력 표면이다. 추가의 입력 디바이스는 비접촉 물리적 또는 가상 표면과의 접촉 또는 비접촉 상호작용들의 상대적인 위치를 검출하는, 위치 검출 시스템이다. 이들 입력 방법들 중 어느 하나는 일반적으로, 텍스트를 그리거나 입력하기 위해 사용될 수 있다. 사용자의 핸드라이팅은 핸드라이팅 인식 시스템 또는 방법을 사용하여 해석된다.
메모 작성, 문서 주석, 수학식 입력 및 계산, 음악 기호 입력, 스케치 및 그림 등에서와 같이, 스마트폰들, 패블릿들 및 태블릿들과 같은 휴대용 컴퓨팅 디바이스들에서 핸드라이팅 인식의 다수의 애플리케이션들이 존재한다. 핸드라이팅은 또한, 특히 데스크탑 컴퓨터들 및 인터랙티브 화이트보드들을 위한 터치스크린 모니터들의 사용가용성이 증가함에 따라, 비-휴대용 컴퓨팅 디바이스들에도 입력될 수도 있다. 이러한 유형들의 입력은 일반적으로, 터치 감지 표면 상의 핸드라이팅된 입력을, 디바이스에서 국부적으로 또는 디바이스의 통신 링크를 통해 원격으로, 수용하고 해석하거나, 그렇지 않으면 이 입력을 소위 '디지털 잉크'로 렌더링하는 컴퓨팅 디바이스 상의 핸드라이팅 입력 애플리케이션을 사용자가 론칭함으로써 수행된다. 종래에, 이러한 핸드라이팅 입력 애플리케이션들은 그들의 능력들 내에서 텍스트 및 비-텍스트 (예컨대, 그림들, 식들) 로부터 사용자에게 완전한 문서 생성 경험을 제공하도록 제한되는데, 그 이유는 이들 애플리케이션들의 초점이 주로 문서 생성보다는 인식의 정확도였기 때문이다. 즉, 사용가능한 애플리케이션들은 핸드라이팅의 인식, 및 인식된 핸드라이팅의 폰트화된 (fontified) 또는 '조판된 (typeset) 잉크' 로 렌더링된 디지털 컨텐츠로의 변환을 다양한 피드백 메커니즘들로 사용자에게 제공하지만, 이는 일반적으로 입력에 사용가능한 상호작용의 범위이다.
사용자가 컨텐츠의 편집, 컨텐츠 레이아웃의 조작, 또는 노트들 또는 다른 주석들의 문서로의 변환 또는 추가와 같은, 출력 텍스트와의 임의의 추가 상호작용을 원할 경우, 인식된 핸드라이팅 컨텐츠는 일반적으로, 가져오기되거나 그렇지 않으면 별도의 문서 프로세싱 애플리케이션에 통합되어야만 한다. 이는 인식된 핸드라이팅의 적합한 포맷의 적합한 조판된 잉크로의 조판을 통해 자동으로, 또는 예컨대, 핸드라이팅의 중복 타이핑 입력을 통해 수동으로 실행될 수도 있다. 후자의 수동 프로세스는 본질적으로 반-생산적 (counter-productive) 이고, 핸드라이팅 인식의 인지되는 정확도가 낮은 경우 또는 원래 핸드라이팅의 레이아웃을 보존하기 위한 애플리케이션의 능력이 신뢰할 수 없는 경우에 특히 수행된다. 전자의 자동 프로세스 자체는 큰 문제를 제시하지 않지만, 핸드라이팅의 원래 레이아웃과 실제 입력된 핸드라이팅 자체, 디지털 잉크는 통상적으로 가져오기 프로세스에서 폐기되므로, 사용자는 원래의 의도를 확인하기 위해 원래의 핸드라이팅을 다시 참조해야 한다. 예를 들어, 사용자는 주석 또는 장식으로, 또는 컨텐츠 자체의 레이아웃을 통해 특정 단어들 또는 구절들을 강조했을 수도 있다.
일부 사용가능한 디지털 핸드라이팅 애플리케이션들은 디지털 잉크를 편집하는 능력을 제공한다. 그러나, 이것은 일반적으로 메뉴들의 시작이나 프로세스들의 실행과 같은 일종의 제어를 유발하는 특정 제스처들의 입력을 통해 실행된다. 본 출원인은, 핸드라이팅 애플리케이션들을 사용할 경우, 사용자들이 일반적으로 자연적이거나 직관적이지 않은 특정 제스처들을 학습하거나 메뉴들 등을 통한 편집 선택들을 실행할 수 없거나 요구하지 않음을 발견하였다. 또한, 디지털 잉크 편집을 제공하는 특정 학습된 방법들에 대한 요건은, 모든 사용자들이 디지털 잉크 상호작용에 필요한 거동들을 학습해야 하므로, 그러한 애플리케이션들의 유용성과 디지털 핸드라이팅을 더 일반적으로 제한한다.
따라서, 다수의 당사자들, 특히 기업 조직들 내의 상이한 구역들 또는 분야들로부터의 당사자들에 의해 문서들이 생성, 편집, 교정 및 검토되는 공유 또는 협업 사용들에서, 예를 들어 다른 '팀' 멤버들이 핸드라이팅을 사용하여 디지털 문서와 상호작용하는 능력이 서로 달라서 생산성이 제한된다. 예를 들어, 조직 계층에서 고위 경영진의 멤버는 디지털 핸드라이팅으로 경험이 제한될 수도 있고, 따라서 핸드라이팅을 사용하여 문서들과 상호작용하지 않을 수도 있다. 키보드 및 마우스와 같은 하드웨어 툴들 및/또는 사용자 인터페이스 (UI) 툴들 및 메뉴들과 같은 소프트웨어 툴들과 같은 문서 프로세싱 애플리케이션들과 함께 종래에 사용된 비-핸드라이팅 툴들에서도 유사한 문제들이 발생한다.
또한, 편집 또는 디지털 핸드라이팅을 사용하여 생성된 컨텐츠와의 다른 상호작용들을 위해 특정 UI 및/또는 하드웨어 툴들을 사용해야 하는 필요성은, 사용자들의 창의적인 흐름에 중단을 야기할 수도 있다. 따라서, 컨텐츠와의 상호작용의 방식은 사용하기 쉽고, 직관적이며, 컨텐츠 자체의 입력에 방해가 되지 않아야 한다.
이하 본원에서 설명되는 본 발명의 예들은 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하는 시스템들 및 방법들을 제공한다.
일 예에서, 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 비일시적 컴퓨터 판독가능 매체는 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하고, 제 1 디지털 잉크의 잉크 엘리먼트들에 레퍼런스들을 할당하고, 레퍼런스들을 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하고, 그리고 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하여 컴퓨팅 디바이스의 메모리에 저장하도록 구성될 수도 있다.
잉크 엘리먼트들은 제 1 디지털 잉크의 스트로크들의 적어도 부분일 수도 있고, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함할 수도 있다. 추가로, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 인식 후보들일 수도 있다.
적어도 하나의 비일시적 컴퓨터 판독가능 매체는 추가로, 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하고, 그리고 디스플레이 인터페이스 상에 제 2 핸드라이팅 입력의 결정된 컨텐츠에 따라 제 2 디지털 잉크의 디스플레이를 야기하도록 구성될 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크의 적어도 부분의 편집된 버전일 수도 있다.
다른 예에서, 본 발명은 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하는 방법을 포함한다. 각각의 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 그 방법은 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하는 단계, 제 1 디지털 잉크의 잉크 엘리먼트들에 대한 레퍼런스들을 할당하는 단계, 레퍼런스들을 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하는 단계, 및 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하여 컴퓨팅 디바이스의 메모리에 저장하는 단계를 포함한다.
잉크 엘리먼트들은 제 1 디지털 잉크의 스트로크들의 적어도 부분일 수도 있고, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함할 수도 있다. 추가로, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 인식 후보들일 수도 있다.
상기 방법은 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하는 단계, 및 디스플레이 인터페이스 상에, 제 2 핸드라이팅 입력의 결정된 컨텐츠에 따라 제 2 디지털 잉크를 디스플레이하는 단계를 더 포함할 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크의 적어도 부분의 편집된 버전일 수도 있다.
다른 예에서, 본 발명은 컴퓨터 판독가능 프로그램 코드가 수록된 비일시적 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 프로그램 코드는 인터랙티브 잉크를 컴퓨팅 디바이스에 제공하기 위한 방법을 구현하기 위해 실행되도록 적응될 수도 있다. 컴퓨팅 디바이스는 프로세서, 및 그 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 그 방법은 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하는 단계, 제 1 디지털 잉크의 잉크 엘리먼트들에 대한 레퍼런스들을 할당하는 단계, 레퍼런스들을 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하는 단계, 및 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하여 컴퓨팅 디바이스의 메모리에 저장하는 단계를 포함할 수도 있다.
잉크 엘리먼트들은 제 1 디지털 잉크의 스트로크들의 적어도 일부일 수도 있고, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함할 수도 있다. 추가로, 인식된 엘리먼트들은 제 1 핸드라이팅 입력의 인식 후보들일 수도 있다.
상기 방법은 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하는 단계, 및 디스플레이 인터페이스 상에, 제 2 핸드라이팅 입력의 결정된 컨텐츠에 따라 제 2 디지털 잉크를 디스플레이하는 단계를 더 포함할 수도 있다. 제 2 디지털 잉크는 제 1 디지털 잉크의 적어도 부분의 편집된 버전일 수도 있다.
본 발명의 시스템 및 방법은 도면들과 함께 취득되는 예들의 이하 상세한 설명으로부터 더 완전히 이해될 것이다. 도면들에 있어서, 동일한 참조 부호들은 동일한 엘리먼트들을 도시한다. 도면에서,
도 1 은 본 시스템 및 방법의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다.
도 2 는 본 시스템 및 방법의 일 예에 따른 핸드라이팅 인식을 위한 시스템의 블록 다이어그램을 도시한다.
도 3 은 본 시스템 및 방법의 일 예에 따른 도 2 의 핸드라이팅 인식 시스템의 상세를 예시한 블록 다이어그램을 도시한다.
도 4 는 컴퓨팅 디바이스의 입력 표면의 일부 상의 잉크 입력 영역의 예시적인 시각적 렌더링의 개략도를 도시한다.
도 5 는 디지털 잉크로 렌더링된 입력 영역에 입력된 예시적인 핸드라이팅된 컨텐츠를 도시한다.
도 6 은 도 5 의 핸드라이팅된 컨텐츠를 조판한 결과를 도시한다.
도 7 은 핸드라이팅된 스트로크들의 예시적인 그룹이 하이라이트되는, 도 5 의 컨텐츠를 도시한다.
도 8 은 부분적인 핸드라이팅된 스트로크들의 예시적인 그룹이 하이라이트되는, 도 5 의 컨텐츠를 도시한다.
도 9 는 부분적인 핸드라이팅된 스트로크들의 예시적인 그룹이 하이라이트되는, 도 5 의 컨텐츠를 도시한다.
도 10 은 디지털 잉크로 렌더링된 입력 영역에 입력된 예시적인 핸드라이팅된 컨텐츠를 도시한다.
도 11a 는 예시적인 레퍼런스 세그먼테이션의 표현과 함께 도 10 의 핸드라이팅된 입력을 도시한다.
도 11b 는 핸드라이팅된 입력의 디지털 잉크로부터 분리된 레퍼런스 세그먼테이션을 도시한다.
도 12a 는 예시적인 인식의 표현과 함께 도 10 의 핸드라이팅된 입력을 도시한다.
도 12b 는 여러 예시적인 인식의 세그먼테이션들의 표현들과 함께 도 10 의 핸드라이팅된 입력을 도시한다.
도 13a 는 예시적인 입력 편집 제스처와 함께 도 10 의 디지털 잉크를 도시한다.
도 13b 는 도 13a 의 편집 제스처에 기초한 디지털 잉크의 예시적인 조정을 도시한다.
도 13c 는 조정된 예시적인 세그먼테이션들의 표현들과 함께 예시적인 조정된 인식을 갖는 조정된 디지털 잉크를 도시한다.
도 14a 는 예시적인 입력 편집 제스처와 함께 도 10 의 디지털 잉크를 도시한다.
도 14b 는 도 14a 의 편집 제스처에 기초한 디지털 잉크의 예시적인 조정을 도시한다.
도 14c 는 새로운 디지털 잉크로 렌더링된 입력 영역에 입력된 새로운 예시적인 핸드라이팅된 컨텐츠와 함께 조정된 디지털 잉크를 도시한다.
도 14d 는 조정된 예시적인 세그먼테이션들의 표현들과 함께 예시적인 조정된 인식을 갖는 조정된 그리고 새로운 디지털 잉크를 도시한다.
도 15a 는 선택된 것으로 하이라이트된 예시적인 컨텐츠 부분과 함께 도 5 의 디지털 잉크를 도시한다.
도 15b 는 선택된 것으로 하이라이트된 예시적인 컨텐츠 부분과 함께 도 6 의 조판된 잉크를 도시한다.
이하 상세한 설명에서, 다양한 특정 세부사항들이 관련된 교시들의 이해를 통해 제공하기 위해 예를 들어 설명된다. 그러나, 본 교시들은 그러한 세부사항들 없이 실시될 수 있음이 당업자에게 명백하여야 한다. 다른 경우들에 있어서, 널리 공지된 방법들, 절차들, 컴포넌트들, 및/또는 회로부는 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 회피하기 위해 상세없이 상대적으로 하이-레벨로 설명되었다.
본 설명에서의 용어 '텍스트' 의 사용은 임의의 기록 언어에서의 모든 알파뉴메릭 문자들 및 그 스트링들 및 기록된 텍스트에서 사용된 평범한 비-알파뉴메릭 문자들, 예를 들어, 심볼들을 포괄하는 것으로서 이해된다. 더욱이, 본 설명에서의 용어 '비-텍스트' 는 자유형태의 핸드라이팅되거나 핸드드로잉된 컨텐츠 및 렌더링된 텍스트 및 이미지 데이터 뿐만 아니라, 비-알파뉴메릭 문자들 및 그 스트링들 그리고 비-텍스트 문맥들에서 사용되는 알파뉴메릭 문자들 및 그 스트링들을 포괄하는 것으로서 이해된다. 또한, 이들 도면들에 도시된 예들은 좌-우로 기록된 언어 문맥에 있으며, 따라서, 포지션들에 대한 임의의 참조는 상이한 방향성 포맷들을 갖는 기록된 언어들에 대해 적응될 수 있다.
본 명세서에서 설명된 다양한 기술들은 일반적으로, 휴대용 및 비-휴대용 컴퓨팅 디바이스들 상의 핸드드로잉되거나 핸드라이팅된 컨텐츠를, 컨텐츠의 입력된 스타일을 유지하면서 그 컨텐츠의 신뢰할만한 조판되거나 미화된 버전으로의 변환을 허용하는 방식으로 캡처하는 것, 프로세싱하는 것 및 관리하는 것과 관련된다. 본 명세서에서 설명된 시스템들 및 방법들은 컴퓨팅 디바이스에 접속된 또는 컴퓨팅 디바이스의 터치 감지 스크린과 같은 입력 표면을 통해 또는 컴퓨팅 디바이스에 접속된 디지털 펜 또는 마우스와 같은 입력 디바이스를 통하거나 위치 검출 시스템에 의해 모니터링된 물리적 또는 가상 표면을 통해, 컴퓨팅 디바이스로 입력된 사용자들의 자연적 라이팅 및 드로잉 스타일들의 인식을 활용할 수도 있다. 다양한 예들이 소위 온라인 인식 기법들을 사용하는 핸드라이팅 입력의 인식에 대하여 설명되지만, 애플리케이션은, 디지털 잉크보다는 이미지들이 인식되는 오프라인 인식과 같은 인식을 위한 다른 형태들의 입력에 대해서도 가능함이 이해된다. 용어들 핸드드로잉 및 핸드라이팅은 디지털 또는 디지털 접속된 매체 상에 직접 손을 사용하는 것을 통해 또는 핸드-헬드 스타일러스와 같은 입력 툴을 통해, 사용자들에 의한 디지털 컨텐츠의 생성을 정의하기 위해 본원에서 상호교환가능하게 사용된다. 용어 "핸드" 는 입력 기술들에 대한 간결한 설명을 제공하기 위해 본원에서 사용되지만, 유사한 입력에 대한 사용자의 신체의 다른 부분들, 예컨대 발, 입 및 눈의 사용이 상기 정의에 포함된다.
도 1 은 예시적인 컴퓨팅 디바이스 (100) 의 블록 다이어그램을 도시한다. 컴퓨팅 디바이스는 컴퓨터 데스크탑, 랩탑 컴퓨터, 태블릿 컴퓨터, 하이브리드 컴퓨터들 (투 인 원들), e-북 리더기, 모바일 폰, 스마트폰, 웨어러블 컴퓨터, 디지털 워치, 인터랙티브 화이트보드, 글로벌 포지셔닝 시스템 (GPS) 유닛, 기업용 디지털 보조기 (EDA), 개인용 디지털 보조기 (PDA), 게임 콘솔 등일 수도 있다. 컴퓨팅 디바이스 (100) 는 메모리 및 입력 및/또는 출력 (I/O) 디바이스들의 일부 형태로 적어도 하나의 프로세싱 엘리먼트의 컴포넌트들을 포함한다. 컴포넌트들은 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 당업자에게 공지된 바와 같은 다른 것들과 같은 입력들 및 출력들을 통해 서로 통신한다.
컴퓨팅 디바이스 (100) 의 도시된 예는 이미지들, 텍스트, 및 비디오와 같은 컴퓨팅 디바이스로부터 데이터를 출력하기 위한 적어도 하나의 디스플레이 (102) 를 갖는다. 디스플레이 (102) 는 LCD, 플라즈마, LED, iOLED, CRT, 또는 당업자에게 공지된 바와 같은 터치 감지식이거나 터치 감지식이 아닌 임의의 다른 적절한 기술을 사용할 수도 있다. 디스플레이 (102) 의 적어도 일부는 적어도 하나의 입력 표면 (104) 과 병치된다. 입력 표면 (104) 은 저항성, 표면 탄성파, 용량성, 적외선 그리드, 적외선 아크릴 프로젝션, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 또는 당업자에게 공지된 바와 같은 임의의 다른 적절한 기술과 같은 기술을 채용하여 사용자 입력을 수신할 수도 있다. 입력 표면 (104) 은 그 경계들을 명확히 식별하는 영구적인 또는 비디오-생성된 경계에 의해 바운드될 수도 있다. 온보드 디스플레이 대신에 또는 그에 부가하여, 컴퓨팅 디바이스 (100) 는 투영된 디스플레이 능력을 가질 수도 있다.
컴퓨팅 디바이스 (100) 는 로컬 인터페이스를 통해 통신가능하게 커플링되는 하나 이상의 추가의 I/O 디바이스들 (또는 주변기기들) 을 포함할 수도 있다. 추가의 I/O 디바이스들은 입력 디바이스들, 예컨대, 키보드, 마우스, 스캐너, 마이크로폰, 터치패드들, 바코드 리더기들, 레이저 리더기들, 무선 주파수 디바이스 리더기들, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 추가로, I/O 디바이스들은 출력 디바이스들, 예컨대, 프린터, 바코드 프린터들, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 더욱이, I/O 디바이스들은 입력들 및 출력들 양자 모두를 통신하는 통신 디바이스들, 예컨대, 변조기/복조기 (모뎀; 다른 디바이스, 시스템, 또는 네트워크로의 액세스용), 무선 주파수 (RF) 또는 다른 트랜시버, 전화 인터페이스, 브릿지, 라우터, 또는 당업자에게 공지된 임의의 다른 적절한 기술을 포함할 수도 있다. 로컬 인터페이스는 통신들을 인에이블하기 위한 추가의 엘리먼트들, 예컨대 제어기들, 버퍼들 (캐시들), 드라이버들, 리피터들, 및 수신기들을 가질 수도 있고, 이들은 간략함을 위해 생략되지만, 당업자에게 공지된다. 추가로, 로컬 인터페이스는 다른 컴퓨터 컴포넌트들 중에서 적절한 통신들을 인에이블하기 위해 어드레스, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.
컴퓨팅 디바이스 (100) 는 또한, 소프트웨어, 특히 메모리 (108) 에 저장된 소프트웨어를 실행하기 위한 하드웨어 디바이스인 프로세서 (106) 를 포함한다. 프로세서는 임의의 맞춤 제작되거나 상업적으로 입수가능한 범용 프로세서, 중앙 프로세싱 유닛 (CPU), 반도체 기반 마이크로프로세서 (마이크로칩 또는 칩셋 형태) 를 포함하는 상업적으로 입수가능한 마이크로프로세서들, 마이크로 제어기, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 별개의 하드웨어 컴포넌트들, 상태 머신, 또는 당업자에게 공지된 소프트웨어 명령들을 실행하기 위해 설계된 이들의 임의의 조합일 수 있다.
메모리 (108) 는 휘발성 메모리 엘리먼트들 (예컨대, 랜덤 액세스 메모리 (DRAM, SRAM, 또는 SDRAM 과 같은 RAM)) 및 비휘발성 메모리 엘리먼트들 (예컨대, ROM, EPROM, 플래시 PROM, EEPROM, 하드 드라이브, 자기 또는 광학 테이프, 메모리 레지스터들, CD-ROM, WORM, DVD, RAID (redundant array of inexpensive disks), 다른 DASD (direct access storage device), 또는 임의의 다른 자기, 저항 또는 상변화 비휘발성 메모리) 중 임의의 하나 또는 그 조합을 포함할 수 있다. 더욱이, 메모리 (108) 는 전자의, 자기의, 광학의, 및/또는 다른 타입들의 저장 매체들을 통합할 수도 있다. 메모리 (108) 는 다양한 컴포넌트들이 서로 원격으로 위치되지만 프로세서 (106) 에 의해 또한 액세스될 수 있는 분산된 아키텍처를 가질 수 있다. 추가로, 메모리 (108) 는, 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스가능한 서버 또는 클라우드 기반 시스템에서와 같이 디바이스로부터 원격일 수도 있다. 메모리 (108) 는 프로세서 (106) 에 커플링되어, 프로세서 (106) 가 메모리 (108) 로부터 정보를 판독하고, 메모리 (108) 에 정보를 기록할 수 있다. 대안에서, 메모리 (108) 는 프로세서 (106) 에 통합될 수도 있다. 다른 예에서, 프로세서 (106) 및 메모리 (108) 는 양자가 단일 ASIC 또는 다른 집적 회로에 상주할 수도 있다.
메모리 (108) 에서의 소프트웨어는 오퍼레이팅 시스템 (110) 및 잉크 관리 시스템 (112) 을 포함한다. 잉크 관리 시스템 (112) 은 옵션적으로, 하나 이상의 별도의 컴퓨터 프로그램들을 각각 포함할 수도 있는 핸드라이팅 인식 (HWR) 시스템 (114) 을 더 포함한다. 이들 각각은 논리 함수들을 구현하기 위한 실행가능 명령들의 순서화된 리스팅을 갖는다. 오퍼레이팅 시스템 (110) 은 잉크 관리자 (112) (및 HWR 시스템 (114)) 의 실행을 제어한다. 오퍼레이팅 시스템 (110) 은 WEBOS, WINDOWS®, MAC 및 IPHONE OS®, LINUX, 및 ANDROID 와 같은 임의의 전매특허 오퍼레이팅 시스템 또는 상업적으로 또는 자유롭게 입수가능한 오퍼레이팅 시스템일 수도 있다. 다른 오퍼레이팅 시스템들이 또한 활용될 수도 있음이 이해된다. 대안적으로, 본 시스템 및 방법의 잉크 관리 시스템 (112) 은 오퍼레이팅 시스템을 사용하지 않고 제공될 수도 있다.
잉크 관리자 (112) 는 사용자 입력의 검출, 관리 및 처리와 관련된 하나 이상의 프로세싱 엘리먼트들을 포함한다 (더 나중에 상세히 논의됨). 소프트웨어는 또한 핸드라이팅 인식, 상이한 기능들, 또는 이들 양자 모두와 관련된 하나 이상의 다른 애플리케이션들을 포함할 수도 있다. 다른 애플리케이션들의 일부 예들은 텍스트 편집기, 전화 다이얼러, 연락처 디렉토리, 인스턴트 메세징 설비, 컴퓨터 보조식 설계 (CAD) 프로그램, 이메일 프로그램, 워드 프로세싱 프로그램, 웹 브라우저, 및 카메라를 포함한다. 잉크 관리자 (112) 및 다른 애플리케이션들은 제조시 컴퓨팅 디바이스 (100) 가 제공받은 프로그램(들)을 포함하고, 제조 이후에 컴퓨팅 디바이스 (100) 에 업로드 또는 다운로드된 프로그램들을 더 포함할 수도 있다.
지원 및 준수 능력들을 갖는 HWR 시스템 (114) 은 소스 프로그램, 실행가능 프로그램 (오브젝트 코드), 스크립트, 애플리케이션, 또는 수행될 명령들의 세트를 갖는 임의의 다른 엔터티일 수도 있다. 소스 프로그램일 경우, 그 프로그램은, 오퍼레이팅 시스템과 관련하여 적절히 동작하도록, 메모리 내에 포함될 수도 있거나 포함되지 않을 수도 있는 컴파일러, 어셈블러, 인터프리터 등을 통해 번역될 필요가 있다. 더욱이, 지원 및 준수 능력들을 갖는 핸드라이팅 인식 시스템은 (a) 데이터 및 방법들의 클래스들을 갖는 오브젝트 지향 프로그래밍 언어; (b) 예를 들어 C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, Objective C, Swift 및 Ada 이지만 이에 한정되지 않는 루틴들, 서브루틴들, 및/또는 함수들을 갖는 절차 프로그래밍 언어; 또는 (c) Hope, Rex, Common Lisp, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, Prolog, 및 F# 이지만 이에 한정되지 않는 함수형 프로그래밍 언어들로서 기록될 수 있다.
대안적으로, HWR 시스템 (114) 은 서버 또는 클라우드 기반 시스템과 같이 디바이스로부터 원격인 핸드라이팅 인식 시스템과의 통신을 위한 방법 또는 시스템일 수도 있지만, 컴퓨팅 디바이스 (100) 의 전술된 통신 I/O 디바이스들을 사용하여 통신 링크들을 통해 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스가능하다. 도 1 에서, HWR 시스템 (114) 은 잉크 관리자 (112) 에 통합된 것으로 도시되지만, HWR 시스템 (114) 이 컴퓨팅 디바이스 (100) 내에서 또는 원격으로 잉크 관리자 (112) 로부터 분리되고 잉크 관리자 (112) 에 접속되는 것이 가능하다. 또한, 잉크 관리자 (112) 및/또는 HWR 시스템 (114) 은 오퍼레이팅 시스템 (110) 내에 통합될 수도 있다.
입력 표면 (104) 상으로 또는 입력 표면 (104) 을 통해 입력된 스트로크들은 프로세서 (106) 에 의해 디지털 잉크로서 프로세싱된다. 사용자들은 손가락, 또는 입력 인터페이스와의 사용을 위해 적합한 펜 또는 스타일러스와 같은 일부 기구로 스트로크를 입력할 수도 있다. 사용자는 또한, 입력 표면 (104) 부근에서의 모션을 감지하거나 이미징하는 기술이 사용되고 있으면, 입력 표면 (104) 위에서 제스처를 실행함으로써, 또는 마우스 또는 조이스틱과 같이 컴퓨팅 디바이스 (100) 의 주변기기 디바이스로, 또는 수동 평면 표면의 이미지 프로세싱과 같은 투영된 인터페이스를 사용하여 스트로크를 입력하여 스트로크 및 제스처 신호들을 결정할 수도 있다. 스트로크는, 적어도 스트로크 개시 위치, 스트로크 종료 위치, 및 스트로크 개시 및 종료 위치들을 연결하는 경로를 특징으로 한다. 경로를 따르는 다수의 샘플 포인트들에서의 타이밍, 압력, 각도와 같은 추가 정보가 캡처되어 스트로크들의 더 자세한 내용을 제공할 수도 있다. 상이한 사용자들이 약간의 변형들로 동일한 오브젝트, 예를 들어, 글자, 도형, 심볼을 자연스럽게 기록할 수도 있기 때문에, HWR 시스템은, 각각의 오브젝트가 입력되면서 정확한 또는 의도된 오브젝트로서 인식될 수도 있는 다양한 방식들을 수용한다.
도 2 는 HWR 시스템 (114) 의 일 예의, 그 로컬 (즉, 디바이스 (100) 상에 로딩된) 형태 또는 원격 (즉, 디바이스 (100) 에 의해 원격으로 액세스가능한) 형태로의 개략도이다. HWR 시스템 (114) 은 사전 프로세싱 (116), 인식 (118) 및 출력 (120) 과 같은 스테이지들을 포함한다. 사전 프로세싱 스테이지 (116) 는 디지털 잉크를 프로세싱하여 더 큰 정확도를 달성하고, 인식 스테이지 (118) 동안 프로세싱 시간을 감소시킨다. 이러한 사전 프로세싱은, 입력을 평활화하기 위해 B-스플라인 근사와 같은 방법들 및/또는 사이즈 정규화를 적용함으로써, 스트로크 개시 및 종료 위치들을 연결하는 경로를 정규화하는 것을 포함할 수도 있다. 그 후, 사전 프로세싱된 스트로크들은 스트로크들을 프로세싱하는 인식 스테이지 (118) 로 전달되어, 이에 의해 형성된 오브젝트들을 인식한다. 그 후, 인식된 오브젝트들은, 일반적으로, 핸드라이팅된 엘리먼트들/문자들의 조판된 버전으로서 디스플레이 (102) 에 출력된다 (120).
인식 스테이지 (118) 는 상이한 프로세싱 엘리먼트들 또는 엑스퍼트들을 포함할 수도 있다. 도 3 은 인식 스테이지 (118) 의 개략적인 상세를 도시한 도 2 의 예의 개략도이다. 출력 (120) 을 생성하기 위해 동적 프로그래밍을 통해 협력하는 3개의 엑스퍼트들, 즉, 세그먼테이션 엑스퍼트 (122), 인식 엑스퍼트 (124), 및 언어 엑스퍼트 (126) 가 예시된다.
세그먼테이션 엑스퍼트 (122) 는 표현들, 예를 들어, 단어들, 수학식들, 또는 도형들의 그룹들을 형성하기 위하여, 입력 스트로크들을 개별 엘리먼트 가설들, 예를 들어, 알파뉴메릭 문자들 및 수학 연산자들, 텍스트 문자들, 개별 도형들, 또는 하위 표현으로 세그먼트화하기 위한 상이한 방식들을 정의한다. 예를 들어, 세그먼테이션 엑스퍼트 (122) 는, 각각의 노드가 적어도 하나의 엘리먼트 가설에 대응하고 그리고 엘리먼트들 간의 인접성 제약들이 노드 연결들에 의해 핸들링되는 세그먼테이션 그래프를 획득하기 위해 원래의 입력의 연속적인 스트로크들을 그룹화함으로써 엘리먼트 가설들을 형성할 수도 있다. 대안적으로, 세그먼테이션 엑스퍼트 (122) 는 텍스트, 드로잉들, 식들, 및 음악 표기와 같은 상이한 입력 타입들에 대해 별도의 엑스퍼트들을 채용할 수도 있다.
인식 엑스퍼트 (124) 는 분류기 (128) 에 의해 추출된 특징들의 분류를 제공하고, 세그먼테이션 그래프의 각 노드에 대한 확률들 또는 인식 스코어들을 갖는 엘리먼트 후보들의 리스트를 출력한다. 이러한 인식 태스크를 어드레싱하는데 사용될 수 있는 다수의 타입들의 분류기들이 존재한다. 예를 들어, 서포트 벡터 머신들, 은닉 마르코프 모델들, 또는 다층 퍼셉트론들, 딥, 컨볼루셔널 또는 회귀 뉴럴 네트워크들과 같은 뉴럴 네트워크들. 그 선택은 태스크에 대해 요구된 복잡도, 정확도, 및 속도에 의존한다.
언어 엑스퍼트 (126) 는 언어 모델들 (예를 들어, 문법 또는 시맨틱스) 을 사용하여 세그먼테이션 그래프에 있어서 상이한 경로들에 대한 언어적 의미를 생성한다. 그 엑스퍼트 (126) 는 언어 정보 (130) 에 따라 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 언어 정보 (130) 는 어휘, 정규 표현 등을 포함할 수 있고, 언어 모델을 실행하기 위해 언어 엑스퍼트 (126) 에 의해 사용되는 모든 정적 데이터에 대한 저장소이다. 언어 모델은 주어진 언어에 대한 통계 정보에 의존할 수 있다. 언어 정보 (130) 는 인식 및 사용자 상호작용들의 결과들에 따라 적응 여부에 관계없이 오프라인으로 계산되고, 언어 엑스퍼트 (126) 에게 제공된다. 언어 엑스퍼트 (126) 는 최상의 인식 경로를 발견하는 것을 목적으로 한다. 일 예에 있어서, 언어 엑스퍼트 (126) 는, 언어 정보 (130) 의 내용을 나타내는 최종 상태 오토마톤 (FSA) 과 같은 언어 모델을 탐색함으로써, 이를 수행한다. 어휘 제약에 부가하여, 언어 엑스퍼트 (126) 는, 얼마나 자주 엘리먼트들의 주어진 시퀀스가 명시된 언어에서 나타나는지 또는 특정 사용자에 의해 사용되는지에 대한 통계 정보 모델링을 갖는 언어 모델을 사용하여, 세그먼테이션 그래프의 주어진 경로의 해석의 언어적 가능성을 평가할 수도 있다.
본 시스템 및 방법은 디바이스 (100) 로의 핸드라이팅된 입력을 인식하기 위하여 HWR 시스템 (114) 을 사용한다. 잉크 관리 시스템 (112) 은 인식된 사용자 입력의 레이아웃을 핸들링하기 위한 애플리케이션(들)을 포함한다. 그러한 애플리케이션들은 상이한 프로세싱을 핸들링하기 위해 별도의 계층들을 갖는 아키텍처에서 제공될 수도 있다. 이들 계층들 중 하나 이상은, 전술된 통신 채널들을 통해 액세스가능한 디바이스 (100) 에 원격일 수도 있다. 계층들은 애플리케이션 랩퍼(wrapper)(들), 플랫폼 랩퍼(들) 및 (플랫폼 특정) 애플리케이션 사용자 인터페이스(들)를 포함할 수도 있다.
본 시스템 및 방법의 잉크 관리 시스템 (112) 은 사용자가 제스처들과 같이 자연스럽고 직관적인 동작들을 사용하여 휴대용 또는 비-휴대용 컴퓨팅 디바이스들 상에서 공유가능한 포맷으로 디지털 문서들을 제작하기 위해, 컨텐츠를 입력하고 컨텐츠와 상호작용하기 위한 자연적 라이팅 (natural writing) 을 사용하게 한다. 기록할 수 있는 모든 사람은 핸드라이팅을 사용하여 컨텐츠를 생성하고 편집하는 것에 익숙하다. 임의의 디지털 디바이스 사용자는 컨텐츠를 기록하거나 편집하기 위해 화면 상에 제스처하는 것에 이미 익숙하다. 제스처하는 것은 터치 및 호버 디바이스들 상의 자연스럽고 직관적인 패턴이다. 본 시스템 및 방법의 이들 및 다른 특징들이 이제 상세히 설명된다.
도 4 는 예시적인 컴퓨팅 디바이스 (100) 의 입력 표면 (104) 의 일부 상의 잉크 입력 또는 캡처 영역 (400) 의 예시적인 시각적 렌더링의 개략도를 도시한다. 입력 영역 (400) 은 사용자들로 하여금 사이징 또는 정렬에 관한 걱정없이 어느 곳에서나 오브젝트 블록들 (텍스트, 드로잉들 등의 블록들) 을 생성하게 하는, 무제약 캔버스로서 제공된다. 그러나, 알 수 있는 바와 같이, 라인 패턴 배경 (410) 형태의 정렬 구조가 사용자 입력의 가이드 및 디지털 및 조판된 잉크 오브젝트들의 정렬을 위해 제공될 수 있다. 어쨌든, 사용자들이 라인 패턴과 인접하게 정렬되지 않은 핸드라이팅을 입력할 수도 있거나, 또는 라인 패턴을 무시하고 대각선으로 또는 아무렇게나와 같이 구속되지 않는 방식으로 기록하기를 원할 수도 있기 때문에, 핸드라이팅 입력의 인식은 라인 패턴과 관계없이 HWR 시스템 (114) 에 의해 수행된다. 예시적인 정렬 패턴은 본원의 출원인 및 양수인의 명칭으로 제출된 "System and Method of Digital Note Taking" 이라는 명칭의 미국 특허 출원 제 14/886,195 호에 개시되어 있으며, 그 전체 내용은 본원에 참조에 의해 통합된다.
핸드라이팅된 컨텐츠의 입력 영역 (400) 상으로의 입력은, 입력 표면 (104) 에 대한 제스처들의 사용을 통해, 예를 들어 디바이스 (100) 의 스크린 기술에 따라 터치, 힘 및/또는 근접도를 통해 수행된다. 제스처 검출은 컴퓨팅 디바이스 (100) 가 사용자의 손가락을 스타일러스 또는 펜 (디바이스가 수동 및 능동 스타일러스들을 정의함) 과 구별하는 능력 또는 스타일러스가 핸드라이팅을 위해 사용되고 있는 것을 디바이스에 표시하거나 통신하는 능력 또는 사용자들이 그러한 표시를 제공하는 능력에 따라 상이하게 핸들링될 수도 있다. 디폴트에 의해, 그리고 구별하지 않는 디바이스에서, 입력 영역 (400) 내의 임의의 단일 포인트 터치 또는 호버 이벤트는 컨텐츠 입력 또는 컨텐츠 상호작용으로 간주되어야 한다. HWR 시스템 (114) 을 통한 본 시스템 및 방법은 또한, 디지털 잉크의 조판된 잉크로의 조판 또는 폰트화를 통해 핸드라이팅된 입력을 디지털화하거나 변환하는 메커니즘을 제공한다. 이 기능은 특히, 통신 및 공유를 위한 적어도 최종 문서의 생성, 예를 들어, 디지털 잉크로 편집 및 포맷화된 핸드라이팅된 노트의 키보드 (및 연관된 제스처 디바이스들) 를 단독으로 사용하여 생성되었을 수 있는 조판 문서로의 변환을 허용하기 위해 제공된다.
핸드라이팅된 입력은 잉크 관리 시스템 (112) 에 의해 검출되고, 입력이 수신될 때 표면 (104) (또는 다른 디스플레이) 상에 디지털 잉크로서 렌더링되며, 동시에 HWR 시스템 (114) 에 의해 인식되어 소위 '온 더 플라이 (on-the-fly)' 또는 증분하는 핸드라이팅 인식을 제공된다. 증분하는 인식은 일반적으로 스트로크들이 수신될 때 (사전 프로세싱된) 스트로크들을 인식자로 파싱하고 스트로크들의 인식자 프로세싱 그룹들을 입력이 계속되는 경우에도 출력 인식 결과들로 파싱함으로써 수행되며, 여기서 그 결과들은 실직적으로 즉시 디지털 잉크의 조판의 형태로 또는 디스플레이된 인식 후보들의 형태로 제공되거나, 또는 예를 들어, 디바이스 (100) 의 메모리 (108) 를 사용함으로써 후속 사용을 위해 잉크 관리 시스템 (112)에 의해 단지 저장될 수도 있다. 발음 구별 부호 (diacritic) 들과 같은, 공간적 방식에서 더 이전의 입력 스트로크들과 관련된 추가 스트로크들의 입력시, 재인식이 발생할 수도 있다. 대안적으로, 또는 부가적으로, 핸드라이팅 인식은 증분적으로보다는 배치 (batch) 프로세스로서 수행될 수도 있다. 이러한 예에서, 디지털 잉크 및 조판된 잉크의 디스플레이는 예를 들어, 시스템 및/또는 사용자가 명시한 지정된 시간에서의 입력 동안 발생할 수도 있거나, 또는 예를 들어 동일하거나 상이한 디바이스 상의 입력 이후 시간에 발생할 수도 있다.
도 5 는 일반적으로 라인 패턴 (410) 의 라인들 상의 입력 영역 (400) 에 핸드라이팅된 컨텐츠로서 입력되고 예컨대, 디바이스의 인터페이스 표면 상에 디지털 잉크로서 렌더링된 1 개 (또는 2 개) 의 멀티-라인 단락(들) (500) 을 도시한다. 도 6 은 단락(들) (500) 을 조판된 단락(들) (600) 로 조판한 결과를 도시한다.
본 시스템 및 방법의 잉크 관리 시스템 (112) 은 운영 시스템 (110) 및 컴포넌트들 및 그 애플리케이션들에 의해 통상적으로 사용되는 타이핑된 잉크 (typed ink) 와 같은 디지털 컨텐츠의 관리와 유사한 방식으로 핸드라이팅된 입력 및 그 디지털 잉크 표현을 관리한다. 즉, 컨텐츠 (600) 가 핸드라이팅되는 것보다 키보드를 사용하여 타이핑하는 것에 의해 컴퓨팅 디바이스 (100) 로 입력되었다면, 예를 들어, 메모리 (108) 에서의 애플리케이션으로서, 오퍼레이팅 시스템 (100) 의 부분으로서, 또는 본 시스템 및 방법에서 잉크 관리 시스템 (112) 의 부분으로서 제공된 컴퓨팅 디바이스 (100) 의 키보드 또는 타이핑 디코더는 디지털 컨텐츠에서, 단락 (600) 그 자체, 단락에 포함된 문장들, 문장들에 포함된 단어들 및 기호들 (예를 들어, 마침표, 쉼표와 같은 문장 부호들) 및 단어들에 포함된 문자들 또는 글자들인 컨텐츠의 각 엘리먼트를 해석하고 인코딩할 것이다. 컨텐츠 (600) 가 디지털 또는 비-디지털 (예를 들어, 종이 잉크) 핸드라이팅으로부터 광학 문자 인식 (OCR) 과 같은 다른 수단들을 통해 입력된 경우에도 또한, 유사한 관리가 적용된다. 이러한 디지털 컨텐츠는 컴퓨팅 디바이스 (100) 에 의해 잘 이해된 방식으로 핸들링되며, 각각의 디지털 문자는 디지털 오브젝트로서 취급된다. 이러한 방식으로, 디지털 컨텐츠와의 상호작용을 위한 입력 또는 편집 커서 배치와 같은 기능들이 각 디지털 오브젝트와 관련하여 행해질 수 있다.
그러나, 키보드 상의 키스트로크들이 직접 '디지털 오브젝트들'로 해석되는 (예를 들어, 이 텍스트에 표시된 타이핑된 글자 "a" 는 디지털 오브젝트임) 타이핑된 입력의 디코딩 프로세스와 달리, 핸드라이팅 입력에 대한 인식 프로세스는 일반적으로, 문자들에 대한 가장 가능성있는 후보를 찾기 위해 인터페이스 표면 상에 또는 인터페이스 표면에 핸드드로잉된 스트로크들을 해석하기 위한 확률론적 접근법을 취한다. 그러한 확률들을 사용하는 종래의 디지털 핸드라이팅 시스템들 및 방법들은 일반적으로 가장 높은 확률의 문자 및 단어 후보들을 인식된 컨텐츠로서 제공함으로써, 조판시에 인식된 컨텐츠가 디지털 컨텐츠로 변환되도록 하며, 이 때 인식된 컨텐츠 및 그러한 인식 결과는 폐기된다. 임의의 인식 에러들은 그 후, 앞서 설명된 종래의 디지털 컨텐츠 관리 기술들을 사용하여 디지털 컨텐츠와의 상호작용을 통해 정정될 수 있다. 조판 변환을 통해 수행된 그러한 에러들의 수는, 본원의 출원인 및 양수인의 명칭으로 출원되고 그 전체 컨텐츠가 본원에 참조에 의해 통합되는 "System and Method of Guiding Handwriting Input" 이라는 명칭의 미국 특허 출원 제 14/886,200 호에 기술된 것과 같이, 후보 리스트들의 디스플레이, 언어 모델(들)에 기초한 자동 정정, 또는 실질적으로 실시간 인식 결과 디스플레이의 사용과 같은, 입력 동안의 특정 피드백 메커니즘들을 통해 최소화될 수 있다.
디지털 컨텐츠 관리는 오직 디지털 오브젝트들의 메타 데이터에 대한 참조를 통해서만 디지털 오브젝트들을 고려한다. 이 메타데이터는 디지털 컨텐츠의 오브젝트 유형, 폰트, 스타일, 상대 위치, 삽입된 데이터 또는 하이퍼링크들 등에 관한 정보를 제공하지만, 각 문자가 속하는 단어, 그 문자의 컨텍스트, 오브젝트 후보들과 같은 임의의 추가의 정보는 제공하지 않는다. 따라서, 디지털 오브젝트들과의 임의의 후속하는 상호작용은 가장 가까운 디지털 오브젝트들에 독립적으로 실행된다. 그러나, 핸드라이팅 인식 프로세스는 컨텐츠와의 후속 상호작용을 유도하고 증강시키는데 사용될 수 있는, 각각의 인식 오브젝트, 예컨대 각각의 인식된 문자에 대하여 막대한 양의 정보를 제공한다. 본 시스템 및 방법은 상기 인식 정보를 레버리징하기 위한 방식들을 제공하여 이하 설명되는 것과 같이, 컨텐츠 생성, 편집, 공유 및 협업을 위한 창의성, 유용성 및 생산성을 향상시키는, 핸드라이팅된 디지털 컨텐츠와의 상호작용 레벨들을 제공한다.
본 시스템 및 방법은 '원시' 또는 입력 잉크 (예컨대, 핸드라이팅된 스트로크들) 를 디지털 잉크 (예컨대, 디스플레이된 잉크) 로 참조 또는 결합한다. 상기 결합에 의해, HWR 시스템 (114) 에 의해 인식된 것과 같은 실제 입력과 디스플레이된 입력 사이의 관계가 시스템에 의해 알려져서, 예를 들어 컨텐츠를 편집하기 위한 디지털 잉크와의 사용자 상호작용이 근본적인 인식과 관련하여 수행된다. 인식된 잉크와 디지털 잉크의 이러한 '결합 (marrying)' 은 '잉크 오브젝트들' 을 형성한다. 각 잉크 오브젝트는 인식 프로세싱과 관련된 추가의 정보가 아닌, 디지털 오브젝트와 유사한 정보를 포함하는 메타데이터를 갖는다. 예시적인 참조 시스템 및 방법이 지금부터 도 5 및 도 7 내지 도 12 를 참조하여 설명된다.
도 5 에서, 단락(들) (500) 은 핸드라이팅된 텍스트의 단락(들)의 기본적인 원시 잉크 입력의 디지털 잉크 표현이다. 원시 잉크는 시간적 및 공간적 순서로 기록된 다수의 잉크 스트로크들을 포함한다. 도 5 의 예에 도시된 좌에서 우로 및 상부에서 하부로의 언어의 맥락에서, 제 1 스트로크는 단락 (500) 의 시작부에서 (디지털 잉크 문자 'W' 로 표시된) 스트로크 (501) 이고, 최종 스트로크는 단락 (500) 의 단부에서 (디지털 잉크 문자 "." 로 표시된) 스트로크 (502) 이다. 잉크 입력이 수신될 때, 본 시스템 및 방법은 예를 들어, 각 엘리먼트 및 그 피처들에 레퍼런스를 할당함으로써, 시간 순서로, 각각의 검출된 후속 스트로크 개시 (또는 '펜 다운') 와 종료 (또는 '펜 업') 로케이션들 사이에서 잉크에 의해 특징지워지는 스트로크들과 같은 입력의 각 엘리먼트들을 순차적으로 인덱싱한다.
예를 들어, 단락 (500) 에서, 스트로크 (501) 는 스트로크 [0] (제로) 로 인덱싱될 수도 있고, 스트로크 (502) 는 스트로크 [244] 로 인덱싱될 수도 있다. 시간 순서의 인덱싱은 발음 구별 부호들, 나중에 추가된 스트로크들 등과 같이, 위치적으로는 순서가 맞지 않는 스트로크들이 근접한 스트로크들보다 차후의 인덱싱을 가지는 것을 의미하며, 예컨대 (점 "." 없이 디지털 잉크 문자 "i" 로 표시된) 스트로크 (503) 는 스트로크 [1] (일) 로 인덱싱될 수도 있고, (점 "." 으로 표시된) 스트로크 (504) 는 예컨대, 스트로크들 (505 및 506) 이후에 기록되기 때문에, 스트로크 [4] 로 인덱싱될 수도 있다. 대안적으로 또는 부가적으로, 스트로크들은 시간 순서보다는 공간 순서를 고려하여 재인덱싱될 수도 있다. 또한, 인덱싱은 OCR 입력과 같은 대량 입력에 대해 하나 또는 양자의 방식들로 발생할 수도 있다.
이러한 스트로크 인덱스는 문자 및 단어 경계들과 같은 입력의 피처들을 정의하는데 사용될 수 있는, 입력의 대략적인 (coarse) 인덱싱을 제공한다. 예를 들어, 단일 또는 멀티-포인트 제스처 (예를 들어, 탭, 길게 누름 또는 더블 탭) 와 같은 디지털 잉크상의 제스처로, 스트로크 인덱스 [0] 로 표현된 디지털 잉크 문자 (501) 와의 사용자 상호작용은 디지털 오브젝트들과의 상호작용과 유사하게, 문자의 선택 및/또는 문자 경계에서 입력 커서의 제공을 발생할 수도 있다. 그러나, 디지털 오브젝트들과 달리, 스트로크 인덱스로 인해, 이 상호작용은 또한 이하 더 상세히 논의되는 것과 같은 피처들을 제공하는 기본적인 인식 결과(들), "문자[0]" 을 참조한다. 그러나 여기에서 간단히, 스트로크 인덱스, 예컨대 인덱스 [0] 로의 인덱싱은 스트로크가 변환되는, 예컨대 부분적으로 소거되거나, 소거되거나, "언두 (undo)' 액션을 통해 생략되거나, 폰트화되거나 또는 조판되는 경우에도 안정적으로 유지되고, 이 변환을 위한 임의의 새로운 스트로크들은 이전의 스트로크 인덱스, 예컨대 인덱스 [0] 를 여전히 내부적으로 참조하는 할당되거나 배정된 새로운 스트로크 인덱스들이며, 그에 따라 인식 결과들로의 결합이 유지된다. 또한, 도 7 에서, (도시의 목적으로 도 7 의 디스플레이에서 하이라이트된) 단락 (500) 의 (디지털 잉크 단어 "handwriting" 로 표현된) 스트로크들의 그룹 (700) 은 예컨대, 스트로크 인덱스 [172, 183] 로 표현된 스트로크 [172] 내지 스트로크 [183] 의 스트로크 인덱스들을 포함한다. 단일 또는 멀티-포인트 제스처 (예를 들어, 탭, 길게 누름 또는 이중 탭) 와 같은 디지털 잉크 상의 제스처를 갖는 디지털 잉크 단어 (700) 와의 사용자 상호작용은, 단어 (700) 내의 또는 근처의 임의의 위치에서, 디지털 오브젝트들과의 상호작용과 유사하게 전체 단어의 선택 및/또는 단어 경계에서의 커서의 제공을 발생할 수도 있다. 그러나, 디지털 오브젝트들과 달리, 스트로크 인덱스로 인해, 이 상호작용은 또한 이하 더 상세히 논의되는 것과 같은 피처들을 제공하는 기본적인 인식 결과(들), "단어[172, 183]" 과 관련된다.
앞서 논의된 바와 같이, 인식 프로세스에서 스트로크들은 가능한 문자 후보들을 결정하기 위해 세그먼트화된다. 유사한 (또는 동일하거나 또는 실제의) 세그먼테이션 접근법이 본 시스템 및 방법에 의해 입력의 인덱싱을 리파이닝하기 위해 취해진다. 이 세그먼테이션은 각각의 인덱싱된 스트로크를 다수의 스트로크 세그먼트들로 세그먼트화하고 각각의 스트로크 세그먼트를 각각의 스트로크 세그먼트 사이의 포인트에 인덱싱하는 것을 수반한다. 예를 들어, 스트로크 (501) 는 포인트 0 (제로) 에서 포인트 50 까지의 50 개 스트로크 세그먼트들의 시리즈로 인덱싱되며, 즉 예를 들면, 스트로크 및 포인트 ("레퍼런스") 인덱스 [0:0, 0:50] 로 표현된다. 각각의 포인트의 위치는 스트로크들을 규칙적인 방식으로 세그먼트화함으로써 세팅될 수도 있으며, 예컨대 각각의 스트로크 세그먼트는 스트로크 특성들에 따라, 또는 디바이스 샘플링 및 시스템에 의해 적용된 임의의 가능한 사전 샘플링에 따라, (디지털 잉크 표현에 대한 픽셀들의 수와 같은) 동일한 길이를 갖는다.
후자의 경우, 펜 다운, 펜 이동, 방향 변경, 펜 업과 같은 각 입력 이벤트의 (예를 들어, 메모리 (108) 에 저장된 것과 같은 컴퓨팅 또는 캡처 디바이스에 의해 주어진 바와 같은) 원시 입력 샘플들은 잉크 관리 시스템 (112) 에 의해 입력 스트로크(들)에서 새로운 포인트 또는 샘플로서 사용된다. 또한, 원시 입력 샘플들 대신에, 원시 입력 샘플들이 프로세싱되어 상이한 수와 위치의 샘플들로서 출력되는 잉크 관리 시스템 (112) 에 의해 평활화 유닛들이 사용될 수 있다. 이 경우, 세그먼테이션 방식 또는 세그먼트 길이 자체는 적용된 인덱싱에 중요하지 않으며, 오히려 세그먼트화된 것과 같은 디지털 잉크의 '평활화' 가 최적화된 인덱싱을 제공한다. 그러나, 입력의 이러한 평활화는 서명 인증과 같은 디지털 잉크의 생체인식 프로세싱을 무효화할 수도 있음을 주목해야 한다. 또한, 디스플레이에 적합한 평활화는 인식에 적합한 평활화와 상이할 수도 있다. 이와 같이, 평활화는 디바이스 (100) 자체의 임의의 프로세싱에 의해서 보다 입력에서의 평활화와 상이한 단계들에서 잉크 관리 시스템 (112) 자체에 의해 수행될 수도 있다.
어떤 경우에도, 스트로크 세그먼트들 수는 각 인덱스에서 포인트들의 수를 세팅한다. 앞서 논의된 바와 같이, 디지털 잉크상의 제스처를 갖는 디지털 잉크 문자 (501) 와의 사용자 상호작용은 커서가 레퍼런스 또는 스트로크:포인트 인덱스 [0:50] 에서 제공되도록, 문자의 선택 및/또는 문자 경계에서 디지털 커서의 제공을 발생할 수도 있다. 따라서, 커서 위치는 i:j 로 정의되고, 여기서 'i' 는 스트로크 인덱스이고 'j' 는 포인트 인덱스이다. 포인트 인덱스로 인해, 이 상호작용은 또한, 기본 인식 결과(들), "문자[0:0, 0:50]" 과 관련되며, 이는 이후 더 상세히 논의되는 것과 같은 피처들을 제공한다.
포인트 인덱스는 스트로크들 내의 문자 경계들과 같은, 입력의 추가 피처들을 정의하는데 사용될 수 있는 입력의 미세 인덱싱을 제공한다. 도시될 수 있는 바와 같이, 원시 (및 디지털) 잉크의 각 스트로크는 1 초과의 텍스트 문자 (예를 들어, 스트로크 (507) 는 디지털 잉크 문자들 "h" 및 "e" 로 표현됨) 또는 하나의 문자의 일부 (예를 들어, 스트로크들 (503 및 504) 은 결합하여 문자 "i" 를 형성함) 에 속할 수도 있다. 유사한 스트로크 속성은 또한 도형들과 같은 비-텍스트 오브젝트들에서도 발생할 수 있다. 앞서 논의된 바와 같이, 인식 시스템의 세그먼테이션 프로세스는 각각의 스트로크를 세그먼테이션 그래프에 의해 표현된 많은 세그먼테이션 가능성들로 세그먼트화한다. 이러한 프로세스에 의해, 예컨대 스트로크 (507) 의 문자들 "h" 및 "e" 이 정확하게 인식된다. 본 시스템 및 방법의 미세 인덱싱은 유사한 세그먼테이션 결과를 제공한다. 예를 들어, 스트로크 (507) 는 스트로크 [9] 로서 및 포인트 0 (제로) 에서 포인트 60 까지의 60 개 스트로크 세그먼트들의 시리즈로 인덱싱되며, 즉 예를 들면, 레퍼런스 인덱스 [9:0, 9:60] 로 표현된다. 문자들 "h" 와 "e" 사이의 문자 경계는 문자 "h" 가 레퍼런스 인덱스 [9:0, 9:30] 를 가지고 문자 "e" 가 레퍼런스 인덱스 [9:30, 9:60] 를 갖도록, 예를 들어, 포인트 30 에 있을 수도 있다. 대안적으로, 인접한 문자들은 예컨대, 인덱스 [9:30] 이 공유되지 않도록, 인덱싱을 공유하지 않을 수도 있다. 따라서, 문자 경계에서 또는 그 부근에서 디지털 잉크 상의 제스처를 갖는 디지털 잉크 문자들 (507) 과의 사용자 상호작용은 커서가 레퍼런스 인덱스 [9:30] 에서 제공되도록, 문자 경계에서 디지털 커서의 제공을 발생할 수도 있다. 스트로크 및 포인트 인덱스로 인해, 이 상호작용은 또한, 기본 인식 결과(들), "문자[9:0, 9:60]" 과 관련되며, 이는 이후 더 상세히 논의되는 것과 같은 피처들을 제공한다.
포인트 인덱스의 미세 인덱싱은 부분 스트로크들과 같은, 입력의 추가 피처들을 정의하는데 사용될 수 있다. 예를 들어, 도 8 에서 단락 (500) 의 (디지털 잉크 단어 "application" 으로 표현된) 스트로크들의 그룹 (800) 은 스트로크 (801) (디지털 잉크 문자 "a" 로 표현됨), 스트로크 (802) (각각 바 "-" 및 점 "." 없이 디지털 잉크 문자들 "t" 및 "i" 로 표현됨) 및 스트로크 (803) (바 "-" 로 표현됨) 를 갖는다. 스트로크 (801) 는 스트로크 [158] 로서 및 포인트 0 (0) 내지 포인트 50 으로 인덱싱될 수도 있다. 스트로크 (802) 는 스트로크 [159] 로서 및 포인트 0 (제로) 내지 포인트 40 으로 인덱싱될 수도 있다. 스트로크 (803) 는 스트로크 [161] 로서 및 포인트 0 (제로) 내지 포인트 14 으로 인덱싱될 수도 있다 (예를 들어 그 다음 디지털 잉크 문자 "o" 및 "n" 으로 표현된 스트로크는 스트로크 (802) 전에 입력되고, 따라서 스트로크 [160] 를 제공한다). 디지털 잉크의 스트로크의 부분들에서, 단일 또는 멀티-포인트 제스처 (예를 들어, 탭, 길게 누름 또는 이중 탭) 와 같은 디지털 잉크 상의 제스처를 갖는 디지털 잉크 단어 (800) 와의 사용자 상호작용은, 오직 스트로크들의 부분들의 선택을 발생할 수도 있다. 예를 들어, 도 8 에서 (도시의 목적들을 위해 도 8 의 디스플레이에서 하이라이트된) 상호작용은 예컨대, 스트로크들 (801 및 802) 의 부분들과 함께 레퍼런스 인덱스 [158:44, 159:20] 를 포함하고, 스트로크 (803) 모두와 함께 예컨대, 레퍼런스 인덱스 [161:0, 161:14] 를 포함한다. 스트로크 및 포인트 인덱스들로 인해, 이 선택은 또한, 부분 문자들의 기본 인식 결과(들)과 관련되며, 이는 이후 더 상세히 논의되는 것과 같은 피처들을 제공한다.
또한, 도 9 에서 단락 (500) 의 (디지털 잉크 단어들 "layout and formatting" 으로 표현된) 스트로크들의 그룹 (900) 은 스트로크 (901) (단어 "layout" 에서 디지털 잉크 문자 "y" 로 표현됨), 스트로크 (902) (단어 "formatting" 에서 디지털 잉크 문자 "f" 로 표현됨) 및 스트로크 (903) (단어 "formatting" 에서 디지털 잉크 문자들 "n" 및 "g" 로 표현됨) 를 갖는다. 스트로크 (901) 는 스트로크 [215] 로서 및 포인트 0 (제로) 내지 포인트 60 으로 인덱싱될 수도 있다. 스트로크 (902) 는 스트로크 [233] 로서 및 포인트 0 (제로) 내지 포인트 60 으로 인덱싱될 수도 있다. 스트로크 (903) 는 스트로크 [243] 로서 및 포인트 0 (제로) 내지 포인트 54 로 인덱싱될 수도 있다. 디지털 잉크의 스트로크의 부분들에서, 단일 또는 멀티-포인트 제스처 (예를 들어, 누름 또는 문지름) 와 같은 디지털 잉크 상의 제스처를 갖는 디지털 잉크 (900) 와의 사용자 상호작용은, 오직 스트로크들의 부분들의 선택을 발생할 수도 있다. 예를 들어, 도 9 에서 (도시의 목적들을 위해 도 9 의 디스플레이에서 하이라이트된) 상호작용은 예컨대, 스트로크 (901) 의 부분 ("y" 의 하강문자) 과 함께 레퍼런스 인덱스 [215:36, 215:48] 를 포함하고, 스트로크 (902) 의 부분 ("f" 의 언더라이트 또는 하강문자) 과 함께 레퍼런스 인덱스 [233:35, 233:54] 를 포함하며, 스트로크 (901) 의 부분 ("g" 의 하강문자) 과 함께 레퍼런스 인덱스 [243:37, 243:54] 를 포함한다. 스트로크 및 포인트 인덱스들로 인해, 이 선택은 또한, 부분 문자들의 기본 인식 결과(들)과 관련되며, 이는 이후 더 상세히 논의되는 것과 같은 피처들을 제공한다.
더욱이, 이러한 사용자 상호작용에 대한 증가된 정확도는 포인트 인덱스의 포인트들 사이에서 추가로 세그먼트화함으로써 제공될 수 있다. 예를 들어, 포인트 인덱스의 소수 부분을 제공하기 위해 연속된 포인트들의 각 쌍 사이에 정규의 또는 스트로크 정의된 서브-포인트들이 정의될 수 있다. 분수 정확도는 예를 들어, 각 스트로크 세그먼트의 약 1/50 내지 약 1/300 일 수 있다. 그러나 정확도는 더 낮거나 더 높게 제공될 수 있다. 예를 들어, 도 9 에서, 디스플레이된 상호작용이 예컨대, 스트로크 (901) 의 부분과 함께 레퍼런스 인덱스 [215:36.665, 215:48.265] 를 포함하고, 스트로크 (902) 의 부분과 함께 레퍼런스 인덱스 [233:35.585, 233:54.71] 를 포함하고, 스트로크 (903) 의 부분과 함께 레퍼런스 인덱스 [243:37.495, 243:54] 를 포함하도록, 1/200 서브-포인트들이 제공된다. 스트로크 및 소수점 인덱스들로 인해, 이 선택은 또한, 더 큰 정확도의 부분 문자들의 기본 인식 결과(들)과 관련되며, 이는 이후 더 상세히 논의되는 것과 같은 피처들을 제공한다.
본 시스템 및 방법에 의해 채용되는 상술된 레퍼런스 인덱싱 시스템은 디스플레이된 디지털 잉크와 원시 잉크로부터의 인식 결과(들) 간의 레퍼런스를 제공한다. 잉크 관리 시스템 (112) 에 의해 일단 결정된 이 레퍼런스는, 예를 들어 디지털 잉크와의 사용자 상호작용의 검출시에 이후 사용을 위해, 예를 들어 컴퓨팅 디바이스 (100) 의 메모리 (108) 에 저장될 수도 있다. 전술한 바와 같이, 레퍼런스 인덱스는 원시의, 인식된 및 디지털 잉크에 의해 잉크 오브젝트들로서 표현된 디지털 컨텐츠를 갖는 메타 데이터로서 포함된다. 따라서, 잉크 오브젝트들은 이송가능하므로, 상이한 애플리케이션들 및 오퍼레이팅 시스템들 간에 디지털 컨텐츠를 내보내기, 가져오기 및 전송 또는 변형할 수 있다. 즉, 어떤 다른 디지털 컨텐츠와 마찬가지로, 레퍼런스 메타데이터는 잉크 오브젝트 컨텐츠 자체로 유지된다. 레퍼런스 인덱스가 디지털 잉크와 함께 유지되기 때문에, 원시 잉크 자체, 예를 들어, 원래의 핸드라이팅된 입력이 보존될 필요가 없고, 따라서, 잉크 오브젝트 상호작용을 해석할 때 원시 잉크의 데이터베이스가 어드레싱될 필요가 없기 때문에, 저장될 데이터 량을 감소시키고 잉크 관리 시스템 (112) 의 휴대성을 증가시킨다. 그러나, 원시 잉크 자체가 유지되지 않더라도 참조 시스템의 전체 성능은 유지된다. 이러한 및 상술된 피처들이 지금부터 상세히 설명된다.
도 10 은 일반적으로 라인 패턴 (410) 의 라인들 상의 입력 영역 (400) 에 핸드라이팅된 컨텐츠로서 입력되고 예컨대, 디바이스의 인터페이스 표면 상에 디지털 잉크로서 렌더링된 수개의 단어들을 포함하는 구문 (1000) 을 도시한다. 원시 (및 디지털) 잉크 (1000) 는 "cleaning the keyboard" 라는 구문을 형성하는 텍스트 문자들을 나타내는 다수의 스트로크들 (1001 내지 1009) 을 포함한다. 이전에 논의된 바와 같이, 잉크 관리 시스템 (112) 은 입력의 레퍼런스 인덱스, 그리고 디지털 잉크를 결정하기 위해 스트로크들을 세그먼트화한다. 도 11a 는 잉크 관리 시스템 (112) 및/또는 HWR 시스템 (114) 에 의해 결정된 것과 같은 구문 "cleaning the keyboard" 의 예시적인 레퍼런스 세그먼테이션 (1100) 의 표현을 갖는 핸드라이팅된 입력 (1000) 을 도시한다. 레퍼런스 세그먼테이션 (1100) 은 디지털 잉크 (1000) 의 각각의 레퍼런스 인덱싱된 부분의 일반적인 디지털 잉크 경계 또는 범위를 지정하는 일련의 박스들 rm 로서 도시된다. 도 11b 는 점선으로 도시된 스트로크 인덱스 포인트들을 갖는, 디지털 잉크 (1000) 로부터 분리된 이들 박스들 rm 을 도시한다.
스트로크 인덱스는 예컨대: 스트로크 [0] (제로) 로서의 스트로크 (1001), 스트로크 [1] 로서의 스트로크 (1002), 스트로크 [2] 로서의 스트로크 (1003), 스트로크 [3] 로서의 스트로크 (1004), 스트로크 [4] 로서의 스트로크 (1005), 스트로크 [5] 로서의 스트로크 (1006), 스트로크 [6] 로서의 스트로크 (1007), 스트로크 [7] 로서의 스트로크 (1008), 및 스트로크 [8] 로서의 스트로크 (1009) 일 수도 있다. 예를 들어, 스트로크 (1001) 는 길고, 따라서 레퍼런스 인덱스 r1 가 [0:0, 0:35] 에 대응하고, 레퍼런스 인덱스 r2 가 [0:35, 0:90] 에 대응하고, 레퍼런스 인덱스 r3 가 [0:90, 0:125] 에 대응하고, 레퍼런스 인덱스 r4 가 [0:125, 0:170] 에 대응하고, 레퍼런스 인덱스 r5 가 [0:170, 0:210] 에 대응하고, 레퍼런스 인덱스 r6 가 [0:210, 0:225] 에 대응하고, 레퍼런스 인덱스 r8 가 [0:225, 0:265] 에 대응하고, 그리고 레퍼런스 인덱스 r9 가 [0:265, 0:300] 에 대응하도록, 300 개의 포인트들을 가지도록 세그먼트화될 수도 있다. 전술한 바와 같이, 서브-포인트들을 또한 참조함으로써, 추가 정확도가 제공될 수 있다. 다른 스트로크들 (1002 내지 1009) 에 대해서도 유사한 레퍼런스 인덱스들이 결정된다.
이전에 논의된 바와 같이, 인식 프로세스에서, 스트로크들 (1001 내지 1009) 은 구문 (1000) 의 단어들의 인식을 유도하는, 가능한 문자 후보들을 결정하기 위해 세그먼트화된다. 잉크 관리 시스템 (112) 은 HWR 시스템 (114) 에 의해 생성된 세그먼테이션과 독립적일 수도 있는 레퍼런스 세그먼테이션 (1102) 을 활용하거나, 또는 레퍼런스 세그먼테이션 (1102) 은 HWR 시스템 (114) 에 의해 제공되는 것 (또는 적어도 유사한 프로세스를 사용하여 생성되는 것) 일 수도 있다. 어느 경우에나, 입력/디지털 잉크의 스트로크들의 레퍼런스 세그먼테이션은 예를 들어, 다음과 같이 기본 인식 결과들에 대한 맵을 제공한다. 도 12a 는 구문 "cleaning the keyboard" 의 예시적인 인식 (1200) 의 표현과 함께 핸드라이팅된 입력 (1000) 을 도시한다. 예시적인 인식은 그 자체가 도시된 바와 같이 디스플레이되지 않는다는 것을 주목해야 한다. 보여질 수 있는 바와 같이, 인식 (1200) 은 일련의 인식된 문자들 Cn 을 생성하기 위해, (점선들로 도시된) 입력 (1000) 의 스트로크들 (1001 내지 1009) 의 세그먼테이션 (1202) 를 포함한다. 인식된 문자들 Cn 은 "c" C1, "l" C2, "e" C3, "a" C4, "n" C5, 점 "." 을 포함하는 "i" C6, "n" C7, "g" C8, 바 "-" 를 포함하는 "t" C9, "h" C10, "e" C11, "k" C12, "e" C13, "y" C14, "b" C15, "o" C16, "a" C17, "r" C18 및 "d" C19 를 포함한다. 인식 프로세싱에서, "n" C5 는 또한, HWR 시스템 (114) 의 언어 모델에 기초하여 유사하거나 상이한 확률들을 갖는 "cleaning" 대신에 "clearing" 이라는 단어 후보를 제공하기 위해 "r" 로 인식될 수도 있다. 다른 대안적인 문자 인식들도 가능하다. 또한, 후보들의 넘버링 순서는 단지 기술적인 목적들을 위한 것이며, 실행될 경우, HWR 시스템 (114) 이 인식된 문자들을 식별하는 방식을 반드시 반영하지는 않는다. 더욱이, 도면에서 인식된 문자를 지정하기 위한 박스들의 사용은 단지 예시적인 목적들을 위한 것이다.
보여질 수 있는 바와 같이, 인식 세그먼테이션 (1202) 은 일반적으로 레퍼런스 세그먼테이션 (1102) 에 대응한다. 따라서, 잉크 관리 시스템 (112) 은 레퍼런스 인덱스들 rm 을 후보 문자들 Cn 에 맵핑한다. 예를 들어, 스트로크 (1001) 는, 문자 C1 이 레퍼런스 인덱스 r1 에 대응하고, 문자 C2 가 레퍼런스 인덱스 r2 에 대응하고, 문자 C3 가 레퍼런스 인덱스 r3 에 대응하고, 문자 C4 가 레퍼런스 인덱스 r4 에 대응하고, 문자 C5 가 레퍼런스 인덱스 r5 에 대응하고, 문자 C6 가 결합된 레퍼런스 인덱스들 r6 및 r7 (예를 들어, 완전한 문자 "i") 에 대응하고, 문자 C7 가 레퍼런스 인덱스 r8 에 대응하고, 문자 C8 가 레퍼런스 인덱스 r9 에 대응하도록, 몇몇 문자들, 즉 문자들 C1 내지 C8 을 포함한다. 다른 스트로크들 (1002 내지 1009) 에 대해 후보 문자들 및 레퍼런스 인덱스들의 유사한 맵핑이 결정된다. 따라서, 디지털 잉크 (1000) 의 기본 인식 (1202) 은 레퍼런스 인덱싱을 통해 예컨대, "cleaning" 에 대응하는 단어[0:0, 1:10], "the" 에 대응하는 단어[2:0, 3:10], 및 "keyboard"에 대응하는 단어[4:0, 8:40] 로서 결정될 수도 있다. 문자들 및 단어들과 같은 인식된 엘리먼트들 및 대응하는 디지털 잉크 엘리먼트들 간의 이러한 레퍼런스 또는 링크는 잉크 오브젝트들을 제공하며, 여기서 상기 본 실시예에서, 제 1 잉크 오브젝트가 레퍼런스 인덱스 [0:0, 1:10] 에 대응하고, 제 2 잉크 오브젝트가 레퍼런스 인덱스 [2:0, 3:10] 에 대응하고, 제 3 잉크 오브젝트가 레퍼런스 인덱스 [4:0, 8:40] 에 대응한다.
이러한 방식으로, 잉크 관리 시스템 (112) 은 핸드라이팅 인식 프로세스에 의해 제공된 기본 인식 결과와 디지털 잉크 스트로크들을 링크 또는 맵핑한다. 이 맵핑은 디지털 잉크가 렌더링되는 방식에 관계없이 제공된다. 즉, 원시 잉크 입력의 디스플레이된 버전인 디지털 잉크는 전치 (transposition) 또는 소위 '미화 (beautification)' 를 통해 원래의 핸드라이팅과 상이한 사이즈, 스타일, 폰트, 등으로 렌더링될 수도 있다. 이것은 특히, 핸드라이팅이 디스플레이 자체와 상이한 영역에서, 제한된 영역에서, 또는 라인 패턴과 같이 레이아웃 엘리먼트들에 관계없이 상대적으로 자유로운 방식으로 입력될 경우 사실이며, 이 경우들에서 디지털 잉크는 입력된 원시 잉크와 상대적으로 독립적 렌더링된다. 그러한 전치되거나 미화된 디지털 잉크의 인식된 잉크로의 맵핑은, 예를 들어, 본원의 출원인 및 양수인의 명칭으로 출원되고, 그 전체 내용이 본원에 참조에 의해 통합되는 "System and Method for Beautifying Digital Ink" 라는 명칭의 미국 특허 출원 제 14/978,081 호에서 설명된 것과 같이, 전치 또는 미화 특징들이 알려져 있다면, 가능하다.
디지털 대 인식된 잉크 맵은 디지털 잉크와의 사용자 상호작용을 지원하므로, (예를 들어, 전술한 바와 같은 방식으로) 디지털 잉크와의 상호작용들로서 잉크 오브젝트들은 이 링크를 통해 기본적인 인식된 잉크와의 상호작용들로 참조되며, 따라서 기존 컨텐츠에 대한 변경들, 새로운 컨텐츠의 입력과 같은 디지털 잉크의 편집은 기존 및 새로운 인식 결과들에 의지하여 잉크 관리 시스템 (112) 에 의해 관리된다. 이는 지금부터 상세히 설명된다.
HWR 시스템 (114) 에 의해 취해진 핸드라이팅 인식에 대한 확률론적 접근법에서, 텍스트 입력을 위한 문자 후보들, 도형 입력을 위한 도형 후보들, 음악 입력을 위한 표기 후보들과 같은 다수의 잠재적 오브젝트 후보들이 세그먼테이션 그래프를 통해 테스트되고, 가장 가능성있는 후보들이 인식 결과를 제공하기 위해 리턴된다. 그러나, 인식 결과를 출력할 시, HWR 시스템 (114) 은 (모든) 다른 후보들을 폐기하거나 또는 예를 들어 5, 10, 등의 가장 가능성있는 후보들과 같은 상위 후보들을 폐기하지 않는다. 이는, 적어도 부분적으로, 인식 결과가 아마도 그 시기에 HWR 시스템 (114) 에 의해 채용된 다양한 엑스퍼트들 및 모델들에 기초할 수도 있지만 정확하지 않을 수도 있고, 사용자들에게는 예컨대, 인식 결과를 정정하기 위해 선택을 위한 다른 후보들이 인터랙티브 UI 메뉴들 등을 통해 제공될 수 있기 때문이다, 예컨대, 앞서 참조에 의해 통합된 미국 특허 출원 제 14/886,200 에서 설명된 것과 같다. 이들 문자 후보들 각각은 도 12a 의 예에 도시된 것과 유사한 방식으로 디지털 잉크 상에 맵핑된다. 즉, 후보들은 원시 잉크 및 그러므로 디지털 잉크의 특정 세그먼테이션에 대응한다. 도 12b 는 구문 (1000) 의 예시적인 인식 (1200) 의 몇몇 세그먼테이션들 (1204, 1206 및 1208) 의 표현들과 함께 핸드라이팅된 입력 (1000) 을 도시한다.
스트로크들 (1001 내지 1009) 의 세그먼테이션 (1204) 은 세그먼테이션 (1202) 과 유사하지만, 이 세그먼테이션에서 스트로크 (1006) 는 스트로크들 (1006 및 1007) 사이의 겉보기 공간을 공간으로 취급하도록 세그먼트화되어, 후보 인식 "cleaning the ken board" (또는 전에 논의된 것과 같은 "clearing the ken board") 을 위해 세그먼테이션 (1202) 에서 "y" 에 대응하는 문자 후보 C14 는 존재하지 않고, 대신에 "n" 에 대응하는 문자 후보 C14' 결과들이 존재한다. 인식 프로세싱에서, "n" C14' 는 또한, HWR 시스템 (114) 의 언어 모델에 기초하여 유사하거나 상이한 확률들을 갖는 "ken" 대신에 "key" 라는 단어 후보를 제공하기 위해 "y" 로 인식될 수도 있다.
스트로크들 (1001 내지 1009) 의 세그먼테이션 (1206) 은 세그먼테이션 (1102) 과 유사하지만, 이 세그먼테이션에서 스트로크 (1001) 는 세그먼트화되어, 후보 인식 "during the keyboard" 을 위해, 세그먼테이션 (1202) 에서 각각 "c", "l", "e" 및 "a" 에 대응하는 문자 후보들 C1, C2, C3 및 C4 은 존재하지 않고, 대신에 각각 "d" 및 "u" 에 대응하는 문자 후보들 C1' 및 C3' 이 존재한다.
스트로크들 (1001 내지 1009) 의 세그먼테이션 (1208) 은 후보 인식 "during the ken board" (또는 앞서 설명된 것과 같은 "during the key board") 을 생성하기 위한 세그먼테이션들 (1204 및 1206) 의 조합이다. 이러한 상이한 세그먼테이션들은 가장 가능한 인식 후보들, 예컨대 최고 확률 점수들을 반환하는 후보들에 대응할 수도 있다. 4 개의 가장 가능한 인식 후보들이 도시되지만, 더 많거나 더 적은 후보들이 본 시스템 및 방법에 의해 제공될 수도 있는 것이 이해된다. 또한, 후보들 (1202 내지 1208) 의 순서는 단지 예시적인 것이며, 이는 후보 가능성의 순서를 의미하지는 않는다. 후보 인식들의 디지털 잉크로의 맵핑이 상호작용을 지원하는 방식의 예들이 지금부터 설명된다.
도 13a 는 예를 들어, 사용자가 손가락 또는 스타일러스 팁을 디스플레이된 위치에서 하부에서 상부로 스와이프함으로써 단일 스트로크에서 하부 대 상부 수직 라인으로서의 입력으로서 잉크 관리 시스템 (112) 및/또는 HWR 시스템 (114) 에 의해 검출된 편집 제스처 (1300) 와 함께 디지털 잉크 (1000) 를 도시한다. 즉, 스트로크 시작 위치는 스트로크의 하부에서 상부로의 점진적으로 두꺼워짐에 의해 묘사된 바와 같이, 시간 순서대로, 스트로크 종료 위치보다 아래에 있다. 편집 스트로크의 도시된 특징은 일 예이며, (이하 더 상세히 설명되는) 편집 커맨드들의 다른 형태들과 같이 스크래치 아웃 (scratch-out) 과 같은 다른 특징들이 가능하다. 예를 들어, 디지털 오브젝트들과 마찬가지로, 잉크 오브젝트들의 편집은 또한, 편집 가능한 컨텐츠로서 잉크의 선택 또는 커서와 결합된, 키보드, UI 버튼들 또는 메뉴들과 같은 다른 액션들 및 툴들을 통해 달성될 수 있다. 편집 스트로크 (1300) 는 스트로크들 (1006 및 1007) 사이를 통과하는 것으로 검출되고, 이와 같이 잉크 관리 시스템 (112) 은 기본 인식된 잉크 (1200) 의 디지털 잉크 (1000) 로부터 뿐만 아니라 후보 인식들, 예컨대 1202 내지 1208 각각으로부터 편집 스트로크 (1300) 의 상대적인 로케이션을 인식한다. 상기 편집 제스처 (1300) 의 상대적인 로케이션 및 그의 하부 대 상부 기록 방향 특성을 고려하면, 편집 제스처 (1300) 가 특히 (이하 상세히 설명된) 인식 후보들 (1202 및 1208) 에 대하여, 검출된 로케이션에서 공간을 삭제하도록 사용자에 의해 의도된 것이 결정될 수도 있다. 이러한 결정으로, 잉크 관리 시스템 (112) 은 도 13b 에 도시된 바와 같이 디지털 잉크 (1000) 가 편집 된 디지털 잉크 (1000') 로서 다시 렌더링되게 하며, 스트로크들 (1006 및 1007) 은 함께 결합된다. 디지털 잉크의 이러한 편집은 후술되는 바와 같이, 잉크 오브젝트들에 의해 표현되는 디지털 컨텐츠의 임의의 적절한 추가 인식을 수반한다.
편집 스트로크 (1300) 의 결정 또는 해석에서, 잉크 관리 시스템 (112) 은 편집 스트로크 로케이션 부근에서 스트로크들로 참조된 인식 후보들을 참조한다. 이러한 근접도의 범위는 사전 설정될 수도 있고, 및/또는 (예컨대, UI 메뉴를 통해) 사용자 설정가능하며, 일반적으로 사용자 경험에 영향을 줄 수도 있는 프로세싱 부담 및 타이밍을 고려해야 한다. 예를 들어, 스트로크들 (1006 및 1007) 사이의 편집 스트로크 (1300) 의 로케이션은 대안적인 문자 후보 (C14') 와 문자 후보 (C15) 사이의 인식 후보들 (1204 및 1208) 에서 식별된 공간 후보와 실질적으로 일치한다. 따라서, 잉크 관리 시스템 (112) 은 HWR 시스템 (114) 이 편집 제스처 (1300) 가 삭제 공간 제스처임을 (예를 들어, 적절한 확률 가중의 제공을 통해) 결정하게 하거나 결정한다. 이러한 결정은 적어도 부분적으로, 예를 들어, 본원의 출원인 및 양수인의 명칭으로 출원되고, 그 전체 내용이 본원에 참조에 의해 통합되는 "System and Method for Note Taking with Gestures" 라는 명칭의 미국 특허 출원 제 14/989,217 호에서 설명된 제스처 검출 및 인식으로 수행될 수도 있다.
텍스트 문자들, 단어들, 문장들, 단락들 등 및 비-텍스트 엘리먼트들과 같은 컨텐츠 자체에 대해 유사한 삭제 액션들이 취해질 수 있다. 또한, 미세 레퍼런스 인덱싱 (특히, 스트로크 서브-포인트들을 사용하는 정밀 인덱싱) 으로 인해, 디지털 잉크의 오직 부분들만이 생략되고 이에 따라 잉크 오브젝트들을 수정하기 위해 인식이 조정되기 때문에, 문자들의 부분 삭제 등이 가능하다. 예를 들어, 도 9 에서 단락 (500) 의 스트로크들 (901, 902, 903) 에서 문자들의 하강문자들을 선택한 제스처는, 이들 엘리먼트 컴포넌트들에 대한 삭제 제스처일 수도 있어서, 이들 부분들의 레퍼런스 인덱스들에 대응하는 오직 디지털 잉크 부분들만이 생략된다. 대안으로 또는 부가적으로, 실질적으로 전체 삭제들로 의도된 부분 삭제들 (예컨대, 사용자가 부분적으로 선택했거나 단어의 끝에서 하나 이상의 문자들 또는 문장의 끝에서 하나 이상의 단어들을 누락하여 행해진 스크래치-아웃 또는 스트라이크-스루 제스처) 은 부분적인 문자 레퍼런스 인덱스들이 전체 문자 레퍼런스 인덱스들에 속하고, 문자 레퍼런스 인덱스들이 단어 레퍼런스 인덱스들에 속하고, 단어 레퍼런스 인덱스들이 문장 레퍼런스 인덱스들에 속하는 등등 때문에 잉크 관리 시스템 (112) 에 의해 전체 삭제들을 출력하도록 적절히 핸들링될 수 있으며, 따라서 더 큰 레퍼런스 인덱스들의 디지털 잉크가 삭제된다.
잉크 관리 시스템 (112) 은 예를 들어, 디지털 잉크를 디바이스 (100) 의 메모리 (108) 에 저장함으로써 임의의 삭제된 레퍼런스 인덱스 잉크의 디지털 잉크를 영구적으로 또는 일정 양의 시간 또는 다수의 후속 동작들 동안 유지하도록 구성될 수도 있으며, 따라서 삭제들은 UI 선택 등을 통해 취소될 수 있다. 대안적으로 또는 부가적으로, 오직 삭제된 레퍼런스 인덱스들만이 기본 인식 결과들 (예를 들어, 부분 또는 전체 잉크 오브젝트들) 과 함께 잉크 오브젝트들 및/또는 메모리 (108) 에 메타데이터로서 유지될 수도 있으며, 따라서 인식 결과들 및 폰트들, 예컨대 사용자의 핸드라이팅을 샘플링함으로써 생성된 개인 사용자 폰트들과 같은 적절한 핸드라이팅에 기초하여 복구된 디지털 잉크가 생성될 수 있다. 따라서, 본 시스템 및 방법의 잉크 오브젝트들은 유사한 편집 기능을 갖는 디지털 오브젝트들과 유사하게 관리되며, 또한 잉크 오브젝트들과의 상호작용들이 기본 핸드라이팅 인식에 의해 증대되고 디지털 오브젝트들로 수행될 수 없는 부분 컨텐츠 엘리먼트들과의 상호작용을 허용하기 때문에 향상된 기능을 제공한다.
도 13 의 예로 리턴하여, 삭제 공간 결정은 인식 후보들에 변화를 야기한다. 예를 들어, 인식 후보들 (1202 및 1206) 은 잉크 관리 시스템 (112) 에 의한 적절한 확률 가중의 제공을 통해 잉크 오브젝트들로부터 생략되거나 가장 가능한 인식 후보들 리스트로부터 다운그레이드될 수도 있으며, 인식 후보들 (1204 및 1208) 은 수정되고 잉크 관리 시스템 (112) 에 의한 적절한 확률 가중의 제공을 통해 가장 가능한 인식 후보들 리스트에서 승격되거나 촉진될 수도 있다. 도 13c 는 편집된 구문 (1000') 의 수정된 세그먼테이션들 (1204' 및 1208') 의 표현들을 갖는 예시적인 수정 또는 편집된 인식 (1200') 을 도시한다. 수정된 세그먼테이션들 (1204', 1208') 에서, 인식 프로세싱은 추가로, 결합된 스트로크들 (1006 및 1007) 이 지금 HWR 시스템 (114) 이 보다 가능하게 결정할 수도 있는 언어 모델에 기초한 단어 "keyboard" 를 형성하기 때문에, 문자 후보 (C14') 가 "n" 후보를 생략하거나 다운그레이드하는 "y" 로서 인식되게 할 수도 있다. 이러한 증가된 가능성은 전체의 원본 및 편집된 구문들 (1000 및 1000') 과 마찬가지로, 편집 제스처 (1300) 의 결정에서 잉크 관리 시스템 (112) 에 의해 또한 사용될 수도 있다.
전술한 바와 같이, 근접 스트로크들의 편집 스트로크 또는 액션으로의 범위는 임의의 필요한 추가 인식 프로세싱의 효율을 고려한다. 그러나 효율은 입력/디지털 잉크의 이전 또는 기존의 인식된 엘리먼트들이 재인식될 필요가 없기 때문에 잉크 오브젝트들에 의해 향상되기 때문에 허용 범위가 비교적 넓다. 즉, 앞서 설명된 것과 같이, 오직 새로운 입력만이 인식되고, 이전의 인식 결과(들)은 그 참조에 따라 유지되거나, 수정되거나, 생략된다. 그러나 어떤 경우에는 이전의 인식 결과(들)이 새로운 입력의 인식을 돕지 못하거나, 또는 새로운 입력과 함께 재인식을 요구할 수도 있기 때문에, 새로운 입력의 인식에 필요한 것으로 제한되더라도, 재인식이 발생할 수도 있음이 이해된다.
도 13 의 예의 새로운 '입력' 은 컨텐츠 상의 편집 또는 제어 액션을 표현하고, 컨텐츠 자체를 표현하지 않는다. 본 시스템 및 방법은 또한, 예컨대 다음과 같이 새로운 컨텐츠 입력에도 적용가능하다. 도 14a 는 예를 들어, 사용자가 손가락 또는 스타일러스 팁을 도시된 디스플레이된 위치에서 상부에서 하부로 스와이프함으로써 단일 스트로크에서 상부 대 하부 수직 라인으로서의 입력으로서 잉크 관리 시스템 (112) 및/또는 HWR 시스템 (114) 에 의해 검출된 편집 제스처 (1400) 와 함께 디지털 잉크 (1000) 를 도시한다. 즉, 스트로크 시작 위치는 스트로크의 상부에서 하부로의 점진적으로 두꺼워짐에 의해 묘사된 바와 같이, 시간 순서대로, 스트로크 종료 위치보다 위에 있다. 편집 스트로크의 도시된 특징은 일 예이며, (이하 더 상세히 설명되는) 편집 커맨드들의 다른 형태들과 같이 웨지 (wedge) 과 같은 다른 특징들이 가능하다. 편집 스트로크 (1400) 는 스트로크들 (1001 (및 1002) 및 1003 (및 1004)) 사이를 통과하는 것으로 검출되고, 이와 같이 잉크 관리 시스템 (112) 은 기본 인식된 잉크 (1200) 의 디지털 잉크 (1000) 로 뿐만 아니라 후보 인식들, 예컨대 1202 내지 1208 각각으로 편집 스트로크 (1400) 의 상대적인 로케이션을 인식한다.
편집 제스처 (1400) 의 상대적인 로케이션 및 그의 상부 대 하부 기록 방향을 고려하면, 편집 제스처 (1400) 가 검출된 로케이션에서 디지털 잉크 (1000) 를 파괴 또는 분할하도록 사용자에 의해 의도된 것이 결정될 수도 있다. 이러한 결정으로, 잉크 관리 시스템 (112) 은 도 14b 에 도시된 바와 같이 디지털 잉크 (1000) 가 편집된 디지털 잉크 (1000") 로서 다시 렌더링되게 하며, 스트로크들 (1001 (및 1002) 및 1003 (및 1004)) 은 그들 사이에 공간이 제공된다. 이러한 공간의 사이즈는 (예를 들어, UI 메뉴를 통해) 사전 설정되고 및/또는 사용자 설정가능할 수도 있으며, 일반적으로 후속 입력이 그 공간에 제공되도록 사이징된다. 그러나, 단지 (텍스트 템플릿 등을 기초로 하는) 표준 사이즈의 단일 공간이 또한 제공될 수도 있다. 디지털 잉크의 이러한 편집은 잉크 오브젝트들에 의해 표현되는 디지털 컨텐츠의 임의의 적절한 추가 인식을 수반한다. 편집 스트로크 (1400) 의 결정 또는 해석에서, 잉크 관리 시스템 (112) 은 도 13 의 예에서와 같이, 편집 스트로크 로케이션 부근에서 스트로크들로 참조된 인식 후보들을 참조한다. 예를 들어, 스트로크들 (1001 (및 1002) 및 1003 (및 1004)) 사이의 편집 스트로크 (1400) 의 로케이션은 (가장 가능한) 인식 후보들 (1202 내지 1208) 모두에서 식별된 공간과 실질적으로 일치한다. 따라서, 잉크 관리 시스템 (112) 은 편집 제스처 (1400) 가 추가 공간 제스처임을 결정하거나, 또는 HWR 시스템 (114) 이 (예를 들어, 적절한 확률 가중의 제공을 통해) 결정하게 한다. 이 결정은 예를 들어, 앞서 참조에 의해 통합된 미국 특허 출원 제 14/989,217 호에 기술된 제스처 검출 및 인식을 통해 적어도 부분적으로 수행될 수도 있다.
컨텐츠 삽입은 기존 컨텐츠를 오버라이팅함으로써 행해질 수 있다. 그러한 액션들은 잉크 관리 시스템 (112) 에 의해, 예를 들어 오버라이팅된된 컨텐츠의 삭제 및 새로운 입력의 삽입, 또는 기존 컨텐츠에 대한 새로운 입력의 추가 (예를 들어, 바 "-" 의 추가에 의한 "l" 의 "t" 로의 변화) 로서 해석될 수도 있다. 앞서 논의된 바와 같이, 이것은 문자들 등의 부분적인 오버라이팅/삭제, 및 디지털 잉크 및/또는 레퍼런스 인덱스들의 유지를 통한 언두 액션들의 제공을 포함한다.
잉크 관리 시스템 (112) 은 예를 들어 도 13a 및 도 14a 에 도시된 바와 같은 형상을 갖는 디지털 잉크로서 입력 편집 스트로크(들)를 디스플레이하도록 구성될 수도 있거나, 또는 인식된 편집 동작까지 임의의 다른 적절한 렌더링이 수행될 수도 있거나 또는 그러한 디스플레이 없이 단지 편집 동작을 수행할 수도 있다. 검출된 편집 제스처의 디스플레이는 제스처 자체의 인식 및 그 상대적인 로케이션에 대하여 사용자에게 인식 피드백을 제공하는데 사용될 수도 있다. 그렇지 않으면, 최종 편집 동작, 예를 들어, 도 13b 및 도 14b 에 도시된 수정된 디스플레이가 이러한 피드백을 위해 사용될 수도 있다.
도 14c 는 잉크 관리 시스템 (112) 및/또는 HWR 시스템 (114) 에 의해 스트로크 (1001 (및 1002) 및 1003 (및 1004)) 사이의 공간 내에 있는 것으로 검출된 새로운 입력 (1402) 을 갖는 편집된 디지털 잉크 (1000") 를 도시하며, 따라서 "cleaning of the keyboard" 의 편집된 구문 (1000") 을 형성한다. 원시 (및 디지털) 잉크 (1402) 는 단어 "of" 를 형성하는 텍스트 문자들을 나타내는 스트로크를 포함한다. 이전에 논의된 바와 같이, 잉크 관리 시스템 (112) 은 입력의 레퍼런스 인덱스, 및 그러므로 디지털 잉크를 결정하기 위해 사용되는 레퍼런스 세그먼테이션을 생성하기 위해 스트로크를 세그먼트화한다. 예를 들어, 새로운 스트로크 (1402) 의 스트로크 인덱스는 스트로크 [9], 즉 스트로크 [8] 인 스트로크 (1009) 로부터 순차적으로 이어지고, 예를 들어 레퍼런스 인덱스 r22 가 [9:0, 9:30] 에 대응하고, 레퍼런스 인덱스 r23 가 [9:30, 9:60] 에 대응하도록, 60 개 포인트들을 가지도록 세그먼트화될 수도 있다. 전술한 바와 같이, 서브-포인트들을 또한 참조함으로써, 추가 정확도가 제공될 수 있다. 이러한 방식으로, 이전에 인덱싱된 컨텐츠의 레퍼런스 인덱스들은 방해받지 않으며, 새로운 입력은 기존 컨텐츠와 함께 참조된다.
편집 제스처 (1400) 와 같은 비-컨텐츠 입력에서와 같이, 전술한 바와 같이 새로운 스트로크 로케이션 근방의 스트로크들로 참조된 인식 후보들을 참조하여, 새로운 입력 (1402) 의 상대적인 로케이션의 고려하면, 새로운 입력이 특히 (이하에서 상세히 설명된) 인식 후보들 (1202 및 1204) 에 대해 검출된 로케이션에서 디지털 잉크 (1000') 에 대한 새로운 컨텐츠로서 사용자에 의해 의도된 것이 결정될 수도 있다. 이 결정으로, 잉크 관리 시스템 (112) 은 편집된 디지털 잉크 (1000') 의 추가의 재-렌더링이 예를 들어, 새로운 컨텐츠가 입력되면 컨텐츠 삽입을 위한 추가 공간을 제공하고, 그 후에 이 공간을 감소시키게 할 수도 있다. 대안적으로, 사용자들은 이를 허용하기 위해 추가의 공간을 삽입하도록 요구될 수도 있다. 디지털 잉크의 이러한 편집은, 예를 들어 스트로크 (1402) 가 새로운 컨텐츠인 것을 잉크 관리 시스템 (112) 에 이 결정하거나 HWR 시스템 (114) 이 (예를 들어, 적절한 확률 가중의 제공을 통해) 결정하게 하는 것에 의해, 잉크 오브젝트들에 의해 표현된 디지털 컨텐츠의 임의의 적절한 추가 인식에 의해 수행되며, 따라서 입력의 유형이 이미 결정되었거나 사전 프로세싱되었기 때문에 새로운 컨텐츠의 인식 프로세싱이 더 빨리 수행될 수도 있다. 따라서, 인식 프로세스에서 새로운 스트로크 (1402) 는 새로운 입력 (1402) 의 단어 "of" 의 인식을 유도하는, 가능한 문자 후보들을 결정하기 위해 세그먼트화되고, 여기서 이 인식은 기존의 인식 후보들을 참조하지만 이것이 필요하지 않은 것으로 결정된다면 (예컨대, 단어에 추가되는 문자들) 후보들을 방해하지 않고 수행된다.
이 예에서, 상기 인식은 인식 후보들에서 변화를 야기한다. 예를 들어, 도 14d 는 편집된 구문 (1000") 의 수정된 세그먼테이션들 (1202' 및 1204') 의 표현들을 갖는 예시적인 수정 또는 편집된 인식 (1200") 을 도시한다. 각각의 수정된 세그먼테이션들 (1202', 1204") 에서, 스트로크 (1402) 는 일련의 인식된 문자들 Cn 의 추가의 인식된 문자들을 생성하기 위해 세그먼트화된다. 즉, 스트로크들 (1001 내지 1009) 의 세그먼테이션은 변화되지 않는다. 추가의 인식된 문자 Cn 는 "o" C20 및 "f" C21 를 포함한다. 이전의 예들에서와 같이, 수정된 인식 세그먼테이션들 (1202' 및 1204") 의 각각은 잉크 관리 시스템 (112) 이 확장된 레퍼런스 인덱스들 rm 을 확장된 후보 문자들 Cn 로 맵핑하도록, 레퍼런스 세그먼테이션과 일반적으로 대응한다. 즉, 새로운 문자 C20 는 레퍼런스 인덱스 r21 에 대응하고, 새로운 문자 C21 는 레퍼런스 인덱스 r22 에 대응하고, 다른 스트로크들 (1002 내지 1009) 에 대한 기존의 후보 문자들 및 레퍼런스 인덱스들의 맵핑은 유지된다. 따라서, 디지털 잉크 (1000) 의 기본 인식 (1202', 1204") 은 레퍼런스 인덱싱을 통해 예컨대, "cleaning" 에 대응하는 단어[0:0, 1:10], "of" 에 대응하는 단어[9:0, 9:60], "the" 에 대응하는 단어[2:0, 3:10], 및 "keyboard" 에 대응하는 단어[4:0, 8:40]로서 결정될 수도 있고, 여기서 제 4 잉크 오브젝트는 레퍼런스 인덱스 [9:0, 9:60] 에 대응한다.
이 예에서, 인식 후보들 (1206 및 1208) 은 잉크 관리 시스템 (112) 에 의한 적절한 확률 가중의 제공을 통해 잉크 오브젝트들로부터 생략되거나 가장 가능한 인식 후보들 리스트로부터 다운그레이드될 수도 있으며, 인식 후보들 (1202 및 1204) 은 수정되고 잉크 관리 시스템 (112) 에 의한 적절한 확률 가중의 제공을 통해 가장 가능한 인식 후보들 리스트에서 승격되거나 촉진될 수도 있다. 이는 인식 후보들 (1206 및 1208) 양자에서, 스트로크들 (1001 및 1002) 이 후보 인식 "during" 에 대응하고, 언어 모델에 기초하여 HWR 시스템 (114) 이 예컨대, 구문들 "during of the keyboard" 또는 "during of the ken board" 이 원래의 입력 (1000) 의 인식으로부터 상대적으로 감소될 가능성을 결정한다. 다른 한편으로, 각각 "cleaning of the keyboard" 및 "cleaning of the ken board" 의 수정된 인식 후보들 (1202' 및 1204") 의 상대적인 가능성은 원래의 인식 후보들 (1202 및 1204) 과 거의 동일하다.
따라서, 잉크 관리 시스템 (112) 은 디지털 잉크의 재-렌더링 및 그에 대응하는 기본 인식 후보들의 수정 또는 조정과 상호작용되는 디지털 잉크 문자들, 단어들 등의 각각에 대응하는 잉크 오브젝트들을 조정함으로써, 디지털 잉크를 편집하기 위한 상호작용들을 관리한다. 이와 같이, 잉크 오브젝트들은 디지털 잉크 컨텐츠의 조판되거나 폰트화된 컨텐츠로의 변환 시 (예컨대, 문서의 완성 시), 업데이트된 잉크 오브젝트들을 기반으로 하여 조판이 수행되고, 따라서 대부분의 현재 및 적용가능한 인식 결과들이 변환에 사용되도록, 행해진 임의의 편집들로 업데이트된다.
또한, 전술한 삭제 및 삽입 액션들의 디지털 잉크 및/또는 레퍼런스 인덱스들과 마찬가지로, 잉크 오브젝트들은 조판이 수행된 후에 잉크 관리 시스템 (112) 에 의해 유지될 수도 있으므로, 디지털 잉크로 다시 되돌아가기 위해 언두 액션들이 유사하게 취해질 수 있다. 잉크 오브젝트들은 예를 들어, 잉크 오브젝트들을 디바이스 (100) 의 메모리 (108) 에 저장함으로써, 디지털 오브젝트들로의 변환 시, 영구적으로 또는 일정 양의 시간 또는 다수의 후속 동작들 동안 유지될 수도 있다. 대안적으로, 조판을 통한 잉크 오브젝트들의 유지는 디지털 컨텐츠가 디지털 오브젝트들로 변환되기 보다는 잉크 오브젝트들에 의해 특징지워지도록 디지털 잉크를 조판된 잉크로서 재-렌더링하는 것만으로 수행될 수도 있다. 이러한 방식으로, 조판된 잉크와의 상호작용들은 디지털 잉크와의 상호작용들과 유사한 방식으로 잉크 관리 시스템 (112) 에 의해 처리된다. 즉, 관련된 기본 인식 결과들이 참조되어 유사한 기능성이 제공된다. 이것은 조판된 컨텐츠 상의 핸드라이팅 수정 또는 주석들과 같은 혼합된 컨텐츠를 입력하는 기능을 제공하는데 특히 유용하며, 여기서 핸드라이팅된 입력은 조판된 컨텐츠 내로 핸드라이팅의 매끄러운 (seamless) 통합을 제공하기 위해, 기존 잉크 오브젝트들을 참조하여 해석된다. 타이핑된 컨텐츠가 핸드라이팅된 디지털 잉크에 추가되어, 그 반대가 또한 가능하다. 이 경우, 디코딩된 키스트로크들은 잉크 관리 시스템 (112) 에 의해 인식 후보들로서 처리되어, 타이핑된 컨텐츠가 잉크 오브젝트들로 공식화될 수도 있다. 핸드라이팅 또는 디지털 입력 툴들로 입력되는 혼합된 비-텍스트 컨텐츠에도 유사한 가능성들이 적용된다.
앞에서 언급된 것과 같이, 핸드라이팅된 편집 제스처들이 아닌 편집 커맨드들이 또한, 잉크 오브젝트들을 편집하는데 사용될 수도 있다. 이들 편집 커맨드들은 UI 메뉴들, 키보드 (예컨대, 백 스페이스) 및 마우스 (예컨대, 선택) 를 통해 제공되는 것과 같은 종래의 편집 커맨드들을 포함한다. 즉, 앞서 논의된 것과 같이, 레퍼런스 인덱싱은 디지털 잉크와 관련하여 입력 커서를 실질적으로 정확하게 배치하게 하며, 또한, 텍스트 문자들과 같은 컨텐츠 엘리먼트들의 범위에 대한 정확한 지식을 제공한다. 따라서, 렌더링된 잉크가 디지털 잉크인지 또는 조판된 잉크인지에 관계없이, 커서는 문자 경계들과 같은 엘리먼트 경계들에 위치될 수 있으며, 따라서 종래의 편집 커맨드들은 디지털 오브젝트들과 유사하게 사용될 수 있다. 예를 들어, 도 15a 는 도 5 의 디지털 잉크 단락 (500) 을 선택된 단락의 일부 (1500) 와 함께 도시하고, 도 15b 는 도 6 의 대응하는 조판된 잉크 단락 (600) 을 선택된 단락의 일부 (1502) 와 함께 도시한다. 양자의 도면들에서, 선택들은 동일한 컨텐츠로 되어 있으며, 문서 프로세싱 애플리케이션들에서 일반적으로 제공되는 것과 같이 하이라이트된 선택 영역으로 도시된다. 선택 영역들 (1500 및 1502) 은 각각의 디지털 및 조판된 잉크 문자들의 문자 경계들에서, 즉 커서 위치들과 함께 렌더링된다. 따라서, 양자의 경우들에서 선택된 컨텐츠의 레퍼런스 인덱스들에 대응하는 잉크 오브젝트들이 임의의 후속 상호작용을 위해 선택된다.
디지털 컨텐츠를 생성하기 위해 컴퓨팅 디바이스들에서 핸드라이팅을 사용하는 것은 이들 디바이스들이 사이즈, 페이지들 수와 같은 페이퍼의 물리적인 제한들이 없기 때문에 유리하다. 그러나, 핸드라이팅으로 디지털 컨텐츠를 생성하는 것은 디지털 잉크가 종래에 관리되는 방식 때문에 현재 타이핑과 같이 용이하거나 효과적이지 않다. 통상적으로, 디지털 컨텐츠는 타이핑된 텍스트 오브젝트들 또는 디지털로 그려진 비-텍스트 오브젝트들, 예컨대 도형들 및 식들로 구성된다. 현재의 디지털 잉크 관리는 핸드라이팅된 오브젝트들을, 디지털 컨텐츠 모델과 맞지 않는 픽셀들 또는 스트로크들로서 캡처한다. 이로 인해 크리에이터들은 키보드로 타이핑하거나 비-텍스트 컨텐츠의 생성 및 편집을 위해 복잡한 툴들을 사용함으로써 컨텐츠를 다시 입력해야 한다.
핸드라이팅 인식 기술은 이러한 재입력 패러다임을 회피할 수 있다. 그러나, 핸드라이팅은 일반적으로 다양한 사이즈 및 배향의 텍스트로 구성되지 않고, 비-텍스트와 결합되므로, 일반적으로 수행되는 것처럼 전체 컨텐츠를 한 번에 인식하는 것은 이 기술의 최대한의 사용을 제공하지 않는다. 이로 인해 크리에이터들은 발행가능한 디지털 컨텐츠를 생성하기 위해 다수의 사후 인식 편집들을 실행해야 하며, 핸드라이팅 인식이 제공할 수 있는 생산성 이득을 크게 제한한다.
본 시스템 및 방법은 잉크 관리 시스템을 통해 디지털 잉크의 생산성을 극적으로 개선한다. 잉크 관리 시스템은 텍스트 및 비-텍스트를 위해 "온-더-플라이 (on-the-fly)" 와 디지털 잉크의 조합을 통해 타이핑된 디지털 컨텐츠만큼 용이하게 관리할 수 있는 인터랙티브 잉크를 제공한다. 디지털 잉크와 인식 결과들의 이러한 조합은 디지털 잉크를 타이핑된 오브젝트들과 같은 인터랙티브한 잉크 오브젝트들로 변환하고, 백 스페이스 및 엔터와 같은 키보드 및 선택 및 드래그 앤 드롭과 같은 마우스의 제스처들과 유사한 직관적 제스처들로 조작될 수 있다. 디지털 잉크와의 상호작용은 기술 지식이 없는 사용자들에게도 직관적인 사용자 경험을 제공한다.
전술한 바는 최상의 모드 및/또는 다른 예들인 것으로 고려되는 것을 설명하였지만, 다양한 수정들이 본 명세서에서 행해질 수도 있고, 본 명세서에 개시된 주제가 다양한 형태들 및 예들로 구현될 수도 있으며, 그리고 이들이 다수의 다른 애플리케이션들, 조합들, 및 환경들에 적용될 수도 있음 (이들 중 오직 일부만이 본 명세서에서 설명되었음) 이 이해된다. 개시된 양태들이 그 주제의 실제 범위 및 사상으로부터 벗어남 없이 변경되거나 수정될 수도 있음을 당업자는 인식할 것이다. 그러므로, 그 주제는 본 설명에서 특정 세부사항들, 전시들, 및 도시된 예들에 제한되지 않는다. 본원에 개시된 유리한 개념들의 실제 범위 내에 있는 임의의 및 모든 수정들 및 변경들을 보호하는 것이 의도된다.

Claims (18)

  1. 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템으로서,
    각각의 컴퓨팅 디바이스는 프로세서, 메모리 및 상기 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
    컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하고;
    상기 제 1 디지털 잉크의 잉크 엘리먼트들에 레퍼런스들을 할당하고;
    상기 레퍼런스들을 상기 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하며; 그리고
    상기 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하고 컴퓨팅 디바이스의 상기 메모리에 저장하도록
    구성되는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 잉크 엘리먼트들은 상기 제 1 디지털 잉크의 스트로크들의 적어도 부분인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함하는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  4. 제 3 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 인식 후보들인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
    상기 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하고, 그리고
    상기 디스플레이 인터페이스 상에, 상기 제 2 핸드라이팅 입력의 결정된 상기 컨텐츠에 따라 제 2 디지털 잉크를 디스플레이하도록
    구성되는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  6. 제 5 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 적어도 부분의 편집된 버전인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 시스템.
  7. 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법으로서,
    각각의 컴퓨팅 디바이스는 프로세서 및 상기 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 방법은,
    컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하는 단계;
    상기 제 1 디지털 잉크의 잉크 엘리먼트들에 레퍼런스들을 할당하는 단계;
    상기 레퍼런스들을 상기 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하는 단계; 및
    상기 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하고 컴퓨팅 디바이스의 메모리에 저장하는 단계를 포함하는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 잉크 엘리먼트들은 상기 제 1 디지털 잉크의 스트로크들의 적어도 부분인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함하는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 인식 후보들인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하는 단계; 및
    상기 디스플레이 인터페이스 상에, 상기 제 2 핸드라이팅 입력의 결정된 상기 컨텐츠에 따라 제 2 디지털 잉크를 디스플레이하는 단계를 포함하는, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  12. 제 11 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 적어도 부분의 편집된 버전인, 컴퓨팅 디바이스들 상에 인터랙티브 잉크를 제공하기 위한 방법.
  13. 컴퓨터 판독가능 프로그램 코드가 수록된 비일시적 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는 인터랙티브 잉크를 컴퓨팅 디바이스에 제공하기 위한 방법을 구현하기 위해 실행되도록 적응되고, 상기 컴퓨팅 디바이스는 프로세서 및 상기 프로세서의 제어 하에 핸드라이팅 입력을 인식하기 위한 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함하며,
    상기 방법은,
    컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 제 1 핸드라이팅 입력에 따라 제 1 디지털 잉크를 디스플레이하는 단계;
    상기 제 1 디지털 잉크의 잉크 엘리먼트들에 레퍼런스들을 할당하는 단계;
    상기 레퍼런스들을 상기 제 1 핸드라이팅 입력의 대응하는 인식된 엘리먼트들에 맵핑하는 단계; 및
    상기 레퍼런스들 및 맵핑된 인식된 엘리먼트들을 포함하는 잉크 오브젝트들을 결정하고 컴퓨팅 디바이스의 메모리에 저장하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제 13 항에 있어서,
    상기 잉크 엘리먼트들은 상기 제 1 디지털 잉크의 스트로크들의 적어도 부분인, 비일시적 컴퓨터 판독가능 매체.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 스트로크들의 적어도 부분을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제 15 항에 있어서,
    상기 인식된 엘리먼트들은 상기 제 1 핸드라이팅 입력의 인식 후보들인, 비일시적 컴퓨터 판독가능 매체.
  17. 제 13 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 잉크 오브젝트들을 참조함으로써 제 2 핸드라이팅 입력의 컨텐츠를 결정하는 단계; 및
    상기 디스플레이 인터페이스 상에, 상기 제 2 핸드라이팅 입력의 결정된 상기 컨텐츠에 따라 제 2 디지털 잉크를 디스플레이하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제 17 항에 있어서,
    상기 제 2 디지털 잉크는 상기 제 1 디지털 잉크의 적어도 부분의 편집된 버전인, 비일시적 컴퓨터 판독가능 매체.
KR1020187022665A 2016-01-07 2017-01-09 디지털 잉크 상호작용을 위한 시스템 및 방법 KR102473543B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP16290002 2016-01-07
EP16290002.1 2016-01-07
US15/083,195 US10082951B2 (en) 2016-01-07 2016-03-28 System and method for digital ink interactivity
US15/083,195 2016-03-28
PCT/EP2017/000020 WO2017118609A1 (en) 2016-01-07 2017-01-09 System and method for digital ink interactivity

Publications (2)

Publication Number Publication Date
KR20180100207A true KR20180100207A (ko) 2018-09-07
KR102473543B1 KR102473543B1 (ko) 2022-12-01

Family

ID=55262760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022665A KR102473543B1 (ko) 2016-01-07 2017-01-09 디지털 잉크 상호작용을 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US10082951B2 (ko)
EP (1) EP3400521B1 (ko)
JP (1) JP7105695B2 (ko)
KR (1) KR102473543B1 (ko)
CN (1) CN108700994B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715282B2 (en) * 2013-03-29 2017-07-25 Microsoft Technology Licensing, Llc Closing, starting, and restarting applications
US10846345B2 (en) * 2018-02-09 2020-11-24 Microsoft Technology Licensing, Llc Systems, methods, and software for implementing a notes service
US10852938B2 (en) * 2016-01-07 2020-12-01 Myscript System and method for mixed content digital ink interactivity
JP2017215807A (ja) * 2016-05-31 2017-12-07 富士ゼロックス株式会社 プログラムおよび情報処理装置
US11409952B2 (en) 2016-08-16 2022-08-09 Myscript System and method for collaborative ink management
EP3629230A1 (en) * 2018-08-23 2020-04-01 Tata Consultancy Services Limited Clipboard system, and method of operating the same, for real time form digitization
CN112740201A (zh) * 2018-11-02 2021-04-30 株式会社和冠 墨水数据生成装置、方法及程序
US10776000B2 (en) * 2018-12-19 2020-09-15 Microsoft Technology Licensing, Llc. System and method of receiving and converting digital ink input
US11144192B2 (en) 2018-12-19 2021-10-12 Microsoft Technology Licensing, Llc Customizable user interface for use with digital ink
US10783323B1 (en) * 2019-03-14 2020-09-22 Michael Garnet Hawkes Analysis system
US11113517B2 (en) * 2019-03-20 2021-09-07 Microsoft Technology Licensing, Llc Object detection and segmentation for inking applications
EP3772015B1 (en) * 2019-07-31 2023-11-08 MyScript Text line extraction
EP4130966A1 (en) 2019-11-29 2023-02-08 MyScript Gesture stroke recognition in touch-based user interface input

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178257A (ja) * 2001-12-07 2003-06-27 Sharp Corp 文字入力装置、文字入力方法および文字を入力するためのプログラム
KR20050053498A (ko) * 2003-12-03 2005-06-08 마이크로소프트 코포레이션 잉크의 스케일링된 텍스트로의 대체
JP2014219900A (ja) * 2013-05-10 2014-11-20 国立大学法人東京農工大学 プログラム、情報記憶媒体及び文字列認識装置
US20150169975A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation User interface for overlapping handwritten text input

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3217084B2 (ja) * 1991-05-14 2001-10-09 シャープ株式会社 手書文字認識装置
US5500937A (en) 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
CN101311887A (zh) * 2007-05-21 2008-11-26 刘恩新 一种计算机手写输入***及输入方法和编辑方法
CN101178633A (zh) * 2007-12-13 2008-05-14 深圳华为通信技术有限公司 一种手写屏错误纠正的方法、***及装置
CN101196792A (zh) * 2007-12-28 2008-06-11 宇龙计算机通信科技(深圳)有限公司 一种文档自动校正方法和装置
CN103365446A (zh) * 2012-03-28 2013-10-23 联想(北京)有限公司 一种手写输入方法及装置
US9430702B2 (en) * 2014-07-10 2016-08-30 Korea Electronics Technology Institute Character input apparatus and method based on handwriting
US9824266B2 (en) * 2014-11-28 2017-11-21 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178257A (ja) * 2001-12-07 2003-06-27 Sharp Corp 文字入力装置、文字入力方法および文字を入力するためのプログラム
KR20050053498A (ko) * 2003-12-03 2005-06-08 마이크로소프트 코포레이션 잉크의 스케일링된 텍스트로의 대체
JP2014219900A (ja) * 2013-05-10 2014-11-20 国立大学法人東京農工大学 プログラム、情報記憶媒体及び文字列認識装置
US20150169975A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation User interface for overlapping handwritten text input

Also Published As

Publication number Publication date
EP3400521B1 (en) 2022-09-21
US20170199660A1 (en) 2017-07-13
US10082951B2 (en) 2018-09-25
KR102473543B1 (ko) 2022-12-01
JP7105695B2 (ja) 2022-07-25
CN108700994A (zh) 2018-10-23
CN108700994B (zh) 2021-11-09
EP3400521A1 (en) 2018-11-14
JP2019511025A (ja) 2019-04-18

Similar Documents

Publication Publication Date Title
KR102473543B1 (ko) 디지털 잉크 상호작용을 위한 시스템 및 방법
US10852938B2 (en) System and method for mixed content digital ink interactivity
JP7046806B2 (ja) ジェスチャを用いたノートテイキングのための装置および方法
CN108475325B (zh) 用于识别手写图连接符的***、方法及计算机可读介质
CN114365075B (zh) 用于选择图形对象的方法和对应装置
US10410316B2 (en) System and method for beautifying digital ink
US11209976B2 (en) System and method for editing input management
KR20180115699A (ko) 다중 입력 관리를 위한 시스템 및 방법
EP3491580B1 (en) System and method for beautifying superimposed digital ink
US10884610B2 (en) System and method for recognizing handwritten stroke input
US20240231582A9 (en) Modifying digital content including typed and handwritten text
US20240078377A1 (en) Completing typeset characters using handwritten strokes
WO2017118609A1 (en) System and method for digital ink interactivity
WO2024110354A1 (en) Setting font size in an unconstrained canvas

Legal Events

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