KR102382899B1 - Systems and methods of digital note taking - Google Patents

Systems and methods of digital note taking Download PDF

Info

Publication number
KR102382899B1
KR102382899B1 KR1020187008410A KR20187008410A KR102382899B1 KR 102382899 B1 KR102382899 B1 KR 102382899B1 KR 1020187008410 A KR1020187008410 A KR 1020187008410A KR 20187008410 A KR20187008410 A KR 20187008410A KR 102382899 B1 KR102382899 B1 KR 102382899B1
Authority
KR
South Korea
Prior art keywords
computing device
layout
block
blocks
display
Prior art date
Application number
KR1020187008410A
Other languages
Korean (ko)
Other versions
KR20180048774A (en
Inventor
니꼴라 뤼생
나딸리 델베끄
로뱅 멜리낭
아르노 뵈끄오른
세드릭 꿀롱
프랑수아 부를리외
또마 페냉
아리스토뜨 라발
올리비에 파뜨리
띠볼 레로르
리오넬 브레스뗄
무밤바 멕상 은지앙기
Original Assignee
마이스크립트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/886,195 external-priority patent/US9965175B2/en
Application filed by 마이스크립트 filed Critical 마이스크립트
Publication of KR20180048774A publication Critical patent/KR20180048774A/en
Application granted granted Critical
Publication of KR102382899B1 publication Critical patent/KR102382899B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

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

Abstract

컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공된다. 각각의 컴퓨팅 디바이스는 프로세서와 그 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비-일시적 컴퓨터 판독가능 매체를 포함한다. 적어도 하나의 비-일시적 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 야기하도록 구성된다.A system, method, and computer program product for digital note taking on computing devices are provided. Each computing device includes a processor and at least one non-transitory computer-readable medium for recognizing handwriting note-taking input under control of the processor. The at least one non-transitory computer-readable medium is configured to cause, on a display interface of the computing device, display of digital ink in a block layout according to a layout of blocks of the handwriting input and a configuration of the computing device display interface.

Description

디지털 노트 필기의 시스템 및 방법Systems and methods of digital note taking

관련 related 출원들에 대한 상호참조들CROSS REFERENCES TO APPLICATIONS

본 출원은 2015년 8월 25일자로 출원된 유럽 출원 제15290219.3호, 2015년 10월 19일자로 출원된 미국 출원 제14/886,195호, 2016년 3월 31일자로 출원된 유럽 출원 제16290058.3호, 및 2015년 10월 19일자로 출원된 미국 출원 제14/886,195호의 일부 계속 출원인 2016년 7월 21일자로 출원된 미국 출원 제15/215,716호를 우선권 주장하며, 그것들의 전체 내용들은 본 명세서에 참조로 모두가 포함된다.This application is based on European Application No. 15290219.3, filed on August 25, 2015, U.S. Application No. 14/886,195, filed on October 19, 2015, European Application No. 16290058.3, filed on March 31, 2016; and U.S. Application No. 15/215,716, filed July 21, 2016, which is a continuation-in-part of U.S. Application No. 14/886,195, filed on October 19, 2015, the entire contents of which are incorporated herein by reference. all are included with

기술분야technical field

본 명세서는 대체로, 컴퓨팅 디바이스 인터페이스들을 사용한 디지털 노트 필기 시스템들 및 방법들의 분야에 관한 것이다. 본 명세서는 더 구체적으로는 다양한 문자들, 심볼들 및 대상들의 사용자 입력 핸드라이팅을 인식할 수 있는 디지털 노트 필기 시스템들 및 방법들에 관한 것이다.BACKGROUND This disclosure relates generally to the field of digital note taking systems and methods using computing device interfaces. This disclosure relates more particularly to digital note taking systems and methods capable of recognizing user input handwriting of various characters, symbols and objects.

컴퓨팅 디바이스들이 일상 생활에서 계속하여 더욱 편재적이 되어 가고 있다. 그것들은 컴퓨터 데스크톱들, 랩톱 컴퓨터들, 태블릿 컴퓨터들, 하이브리드 컴퓨터들 (2-인-1들), 전자책 리더들, 모바일 폰들, 스마트폰들, 착용가능 컴퓨터들, 글로벌 포지셔닝 시스템 (GPS) 유닛들, 회사 정보 단말기들 (enterprise digital assistants, EDA들), 개인 정보 단말기들 (PDA들), 게임 콘솔들 등의 형태를 취한다. 게다가, 컴퓨팅 디바이스들은 차량들과 장비, 이를테면 자동차들, 트럭들, 농기구, 제조 장비, 건물 환경 제어 (예컨대, 조명, HVAC), 그리고 가정 및 상업용 가전기기들에 통합되고 있다.BACKGROUND Computing devices continue to become more ubiquitous in our daily life. They include computer desktops, laptop computers, tablet computers, hybrid computers (2-in-1s), e-book readers, mobile phones, smartphones, wearable computers, global positioning system (GPS) units. devices, enterprise digital assistants (EDAs), personal digital assistants (PDAs), game consoles, and the like. Moreover, computing devices are being integrated into vehicles and equipment such as cars, trucks, farm equipment, manufacturing equipment, building environmental control (eg, lighting, HVAC), and home and commercial appliances.

컴퓨팅 디바이스들은 적어도 하나의 프로세싱 엘리먼트, 이를테면 중앙 프로세싱 유닛 (CPU), 일부 형태의 메모리, 그리고 입력 및 출력 디바이스들로 일반적으로 이루어진다. 다양한 컴퓨팅 디바이스들 및 그것들의 후속하는 사용들은 다양한 인터페이스들과 입력 디바이스들을 필요로 한다. 하나의 이러한 입력 디바이스는 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감응 표면 사이의 접촉을 통해 사용자 입력이 수신되는 터치 스크린 또는 터치 패드와 같은 터치 감응 표면이다. 다른 입력 디바이스는 입력 표면 상측에서 사용자에 의해 이루어진 제스처들을 감지하는 입력 표면이다. 추가의 입력 디바이스는 비-터치 물리적 또는 가상 표면으로 터치 상호작용 또는 비-터치 상호작용 중 어느 하나의 상대적 포지션을 검출하는 포지션 검출 시스템이다. 이들 입력 방법들 중 임의의 방법이 그리거나 또는 텍스트를 입력하기 위해 일반적으로 사용될 수 있다. 사용자의 핸드라이팅은 핸드라이팅 인식 시스템 또는 방법을 사용하여 해석된다.Computing devices generally consist of at least one processing element, such as a central processing unit (CPU), some form of memory, and input and output devices. Various computing devices and their subsequent uses require various interfaces and input devices. One such input device is a touch-sensitive surface, such as a touch screen or touch pad, from which user input is received through contact between the user's finger or an instrument such as a pen or stylus and the touch-sensitive surface. Another input device is an input surface that senses gestures made by a user on top of the input surface. A further input device is a position detection system that detects the relative position of either a touch interaction or a non-touch interaction with a non-touch physical or virtual surface. Any of these input methods can generally be used for drawing or entering text. The user's handwriting is interpreted using a handwriting recognition system or method.

휴대용 컴퓨팅 디바이스들, 이를테면 스마트폰들, 패블릿들 및 태블릿들에서의 핸드라이팅 인식의 하나의 응용은 노트 필기이다. 이는 특히, 컴퓨팅 디바이스의 사용자가, 예를 들어, 강의 또는 회의 동안 노트들을 캡처하는 교육 및 비즈니스 설정들에서 발생한다. 이는 디바이스에서 국부적으로 또는 디바이스의 통신 링크를 통해 원격으로 중 어느 하나로, 터치 감응 표면 상에 입력되는 핸드라이팅된 노트들을 받고 해석하는, 컴퓨팅 디바이스 상의 핸드라이팅 노트 필기 애플리케이션을 실행시키는 사용자에 의해 일반적으로 행해진다. 기존에 이러한 핸드라이팅 노트 필기 애플리케이션들은 필기된 노트들로부터 사용자들에게 전체 문서 생성 경험을 제공하는 자신들의 능력들이 제한되는데, 이들 애플리케이션들의 초점이 문서 생성보다는 인식 정확도에 주로 있어서이다. 다시 말하면, 이용가능 애플리케이션들은 핸드라이팅의 인식과 인식된 핸드라이팅의 조판 텍스트로의 변환을, 다양한 피드백 메커니즘들과 함께 사용자에게 제공하지만, 그것은 일반적으로 입력과의 상호작용 정도이다.One application of handwriting recognition in portable computing devices such as smartphones, phablets and tablets is note taking. This particularly occurs in educational and business settings where a user of a computing device captures notes, for example, during a lecture or meeting. This is typically done by a user running a handwriting note taking application on a computing device that receives and interprets handwritten notes entered on a touch-sensitive surface, either locally on the device or remotely via a communication link on the device. is done Existing handwriting note taking applications are limited in their ability to provide users with a full document creation experience from handwritten notes, the focus of these applications being primarily on recognition accuracy rather than document creation. In other words, available applications provide the user with recognition of handwriting and conversion of recognized handwriting into typesetting text, along with various feedback mechanisms, but it is generally the degree of interaction with input.

사용자가 출력 텍스트와의 임의의 추가의 상호작용, 이를테면 콘텐츠를 편집하는 것, 노트들의 레이아웃을 조작하는 것, 또는 노트들을 문서로 변환하거나 또는 노트들을 문서에 추가하는 것을 원하면, 텍스트는 일반적으로 별도의 문서 프로세싱 애플리케이션 속으로 들여오기 (import) 될 것이 필요하다. 이는 그 자체가 큰 문제는 아니지만, 핸드라이팅된 노트들의 원래의 레이아웃과 실제 입력 핸드라이팅 자체, 이른바 디지털 잉크가, 들여오기 프로세스에서 통상적으로 버려지므로, 사용자는 필기된 노트들에서 의도를 확인하기 위하여 원래의 노트들을 다시 참조해야만 한다. 예를 들어, 사용자는 노트들에서의 특정한 단어들 또는 구절들을, 주석 또는 장식 중 어느 하나에 의해, 또는 노트들 콘텐츠 자체의 레이아웃을 통해 강조하였을 수도 있다.If the user desires any further interaction with the output text, such as editing content, manipulating the layout of notes, or converting notes into a document or adding notes to a document, the text is usually It needs to be imported into the document processing application of This in itself is not a big problem, but since the original layout of the handwritten notes and the actual input handwriting itself, so-called digital ink, are usually discarded in the import process, the user can You must refer back to the original notes. For example, a user may have highlighted certain words or phrases in the notes, either by annotation or embellishment, or through the layout of the notes content itself.

게다가, 일단 들여오기가 별도의 애플리케이션에 수행되면, 추가의 노트 필기를 통해 콘텐츠를 추가하거나 또는 편집하는 능력은 일반적으로 소실되고, 사용자는 문서 속으로 자체가 들여오기 되어야만 하는 새로운 노트를 사실상 시작해야만 한다. 그런 성가신 방법은 상이한 세션들을 통해, 예컨대, 다수의 강의들 또는 다수의 비즈니스 회의들을 통해, 또는 협업 및 공유를 통해 문서들에의 포함을 위해 노트들을 계속하거나 또는 업데이트하는 능력을 분명히 제한한다. 물론, 노트 필기가 이러한 다수의 세션들을 통해 종료되기까지, 다수의 사용자들이 있거나 또는 없이, 사용자들이 문서 프로세싱 애플리케이션으로의 들여오기를 지연시킬 수 있다. 그러나, 많은 사람들이 오늘날 상호접속되는 다수의 휴대용 컴퓨팅 디바이스들을 가지므로, 이들 상이한 컴퓨팅 디바이스들 상에서 이들 다수의 세션들을 수행하거나, 또는 이들 상이한 디바이스들 상에서 노트들에 적어도 액세스하는 것이 바람직할 수도 있다.Moreover, once the import is done into a separate application, the ability to add or edit content via additional note taking is usually lost, and the user has to effectively start a new note that must itself be imported into the document. do. Such cumbersome method clearly limits the ability to continue or update notes for inclusion in documents through different sessions, eg, through multiple lectures or multiple business meetings, or through collaboration and sharing. Of course, users may delay import into the document processing application, with or without multiple users, until note taking is finished through these multiple sessions. However, as many people today have multiple portable computing devices that are interconnected, it may be desirable to conduct these multiple sessions on these different computing devices, or at least access notes on these different devices.

예를 들어, 사용자가 강의 또는 회의 동안 그들의 랩톱 상에서 노트를 시작하며, 그 다음에 동료 또는 친구와 대화하는 동안 그들의 태블릿을 사용하여 그 노트를 추가한 다음, 나중에 그들의 스마트폰을 사용하여 업데이트된 노트를 공유하기를 원할 수도 있다. 이들 디바이스들의 스크린들 상의 이용 가능한 입력 및 디스플레이 공간은 상당히 다를 수 있다. 게다가, 일부 디바이스들은 상이한 배향들, 즉, 세로보기 (portrait) 및 가로보기 (landscape) 에서의 디스플레이를 허용한다. 이와 같이, 하나의 디바이스를 사용하는 사용자의 하나의 배향에서의 노트들의 레이아웃은 노트들이 상이한 디바이스 상에서 또는 상이한 배향에서 디스플레이되고 상호작용될 때 상당히 변화될 수도 있다. 따라서, 이들 상이한 디스플레이 시나리오들을 통한 특정 노트 레이아웃 상의 계속되는 노트 필기는 현재 어렵다.For example, a user may start a note on their laptop during a lecture or meeting, then use their tablet to add the note while chatting with a colleague or friend, and then use their smartphone to later update the note. You may want to share The available input and display space on the screens of these devices can vary considerably. In addition, some devices allow display in different orientations, ie, portrait and landscape. As such, the layout of notes in one orientation of a user using one device may change significantly as the notes are displayed and interacted with on different devices or in different orientations. Thus, continuous note taking on a particular note layout through these different display scenarios is currently difficult.

노트 필기 레이아웃과 함께하는 다른 문제들은 심지어 다수의 디바이스들 및 배향들의 복잡도들을 고려하지 않아도 발생한다. 입수 가능한 핸드라이팅 노트 필기 애플리케이션들은 핸드라이팅된 입력을 수동으로 또는 자동으로 중 어느 하나로 (예컨대, 즉석에서) 조판하는 능력을 사용자들에게 일반적으로 제공한다. 그러나, 조판 텍스트가 일반적으로 핸드라이팅된 텍스트보다 더 작고 더욱 균일하므로 (나중에 상세히 설명됨), 단락들에서의 문장들에서와 같은 사용자의 핸드라이팅된 입력의 레이아웃은, 조판 텍스트로 잘 옮겨지지 않을 수도 있으며, 예컨대, 단락들이 시각적 의미를 잃고 단락화된 텍스트보다는 오히려 리스트들에 가깝게 보이게 되도록 문장들이 너무 짧게 된다. 이는 레이아웃이 보존되는 것으로 보이도록, 예컨대, 단락들이 유지되도록 조판 텍스트를 리플로우함으로써 극복될 수 있다. 그러나, 사용자의 원래의 핸드라이팅 레이아웃은 예를 들어 실제로 단락이 아니라 리스트가 되었을 수도 있고, 이러한 레이아웃들의 명시적 표시 없이는 핸드라이팅 인식 프로세스가 이들 인스턴스들을 검출하는 것이 어렵다.Other problems with note taking layout arise even without considering the complexity of multiple devices and orientations. Available handwriting note taking applications generally provide users with the ability to typeset handwritten input either manually or automatically (eg, on the fly). However, since typesetting text is generally smaller and more uniform than handwritten text (described in detail later), the layout of a user's handwritten input, such as in sentences in paragraphs, may not translate well to typesetting text. It may be, for example, that sentences become too short so that the paragraphs lose visual meaning and appear more like lists rather than paragraphed text. This can be overcome by reflowing the typesetting text so that the layout appears to be preserved, eg paragraphs are preserved. However, the user's original handwriting layouts may for example actually be lists rather than paragraphs, and without explicit indication of these layouts, it is difficult for the handwriting recognition process to detect these instances.

기존의 프로세스들은 리스트 입력을 위한 특정한 심볼들 또는 문자들, 예컨대, 불릿 포인트 (bullet point) 들을 사용자들이 입력할 것을 요구하거나 (예를 들어, 미국특허 제5,613,019호 참조), 또는 이러한 레이아웃들을 나타내기 위해 특정 제스처들을 사용하거나, 또는 그렇지 않으면 사용자의 핸드라이팅 흐름을 방해하는 입력 방법들을 구현한다 (예를 들어, 리스트 입력을 위한 안내의 디스플레이를 개시하는 미국특허 제7,751,623호 참조). 그러나, 사용자는, 핸드라이팅 노트 필기 애플리케이션이 그 입력을 핸들링할 방식을 고려할 필요 없이, 핸드라이팅된 노트들을 그들의 원하는 레이아웃으로 입력할 수 있어야 한다. 이는, 핸드라이팅 노트 필기 애플리케이션들을 사용할 때, 사용자들이 일반적으로 자연스럽거나 또는 직관적이지 않은 특정 입력 방법들 또는 제스처들을 학습하는 것, 또는 메뉴들을 통해 설정들을 행하는 것 등을 할 수 없거나 또는 하기를 원하지 않는다는 것을 출원인이 발견하였기 때문이다.Existing processes require users to input certain symbols or characters, eg, bullet points, for list entry (see, eg, US Pat. No. 5,613,019), or presenting such layouts. use specific gestures to do so, or implement input methods that would otherwise interfere with the user's handwriting flow (see, eg, US Pat. No. 7,751,623, which discloses the display of guidance for entering a list). However, the user should be able to enter handwritten notes in their desired layout without having to consider how the handwriting note taking application will handle the input. This means that when using handwriting note-taking applications, users cannot or do not want to learn certain input methods or gestures, or make settings through menus, etc., which are generally not natural or intuitive. because the applicant discovered that

게다가, 노트 필기가 많은 형태들을 일반적으로 취하고, 사용자는 텍스트 문자들만을 사용하여 노트들을 필기하지 않는다. 예를 들어, 노트들은 많은 유형들의 콘텐츠, 이를테면 텍스트, 그림들, 도표, 수학식 또는 화학식 및 음악 기보 (music notation) 를 포함할 수도 있다. 게다가, 사용자는 이미지들과 오디오 또는 비디오 레코딩들과 같은 다른 매체를 노트 속에 삽입하기를 원할 수도 있다. 따라서, 사용자의 이들 입력들의 레이아웃을 존중하면서도 이러한 멀티-콘텐츠 및 멀티-미디어 입력은 지원되어야 한다.Moreover, note taking generally takes many forms, and the user does not take notes using only text characters. For example, notes may include many types of content, such as text, pictures, diagrams, equations or formulas, and music notation. In addition, the user may wish to insert images and other media such as audio or video recordings into the note. Accordingly, these multi-content and multi-media inputs should be supported while respecting the layout of the users' inputs.

사용자의 노트 레이아웃은 그러나 핸드라이팅된 콘텐츠의 효과적인 인식뿐만 아니라 그 콘텐츠의 합리적인 조판을 지원하는 방식으로 만들어져야 한다. 일부 기존의 시스템들은 종이와 유사하게, 괘선(ruled line)들의 사용을 통해 핸드라이팅된 입력을 안내함으로써 인식을 위한 지원을 제공한다. 미국특허 제5,613,019호, 제7,096,432호, 제7,167,165호 및 제7,266,769호는 다양한 형태들로 제공된 이러한 라인들을 갖는 노트 필기 시스템들을 개시한다. 라인 높이, 예컨대, 라인들 사이의 공간에 관해, 미국특허 제7,167,165호는 그것을 핸드라이팅된 입력의 사이즈에 기초하여 설정하는 것을 논의하며, 미국특허 제7,266,769호는 그것을 사용자 설정 가능하게 하는 것을 논의하고 미국특허 제 5,613,019호는 그것을 핸드라이팅된 텍스트 입력과 그림 입력 사이의 구별을 허용하는 방식으로 설정하는 것을 논의한다. 이러한 고려사항들은 그러나 핸드라이팅된 텍스트의 최종적인 조판을 고려하지 않고 그러므로 라인들의 설정 스페이싱 및 분포는 핸드라이팅된 노트 콘텐츠 및 레이아웃의 합리적인 조판에 대해 바람직하지 않은 조판 잉크와는 독립적으로 만들어질 수도 있다.The user's note layout, however, should be made in a way that supports not only effective recognition of handwritten content, but also rational typesetting of that content. Some existing systems provide support for recognition by guiding handwritten input through the use of ruled lines, similar to paper. U.S. Patent Nos. 5,613,019, 7,096,432, 7,167,165 and 7,266,769 disclose note taking systems having such lines provided in various forms. With respect to line height, e.g., the space between lines, US Pat. No. 7,167,165 discusses setting it based on the size of the handwritten input, US Pat. No. 7,266,769 discusses making it user-configurable and U.S. Patent No. 5,613,019 discusses setting it up in a way that allows distinction between handwritten text input and picture input. These considerations, however, do not take into account the final typesetting of the handwritten text and therefore the set spacing and distribution of lines may be made independent of typesetting ink, which is undesirable for reasonable typesetting of the handwritten note content and layout. .

아래에서 본 명세서에서 설명되는 본 발명의 예들은 컴퓨팅 디바이스에의 핸드라이팅 입력을 이용한 디지털 노트 필기에서의 사용을 위한 시스템들 및 방법들을 제공한다. 컴퓨팅 디바이스는 프로세서와 그 프로세서의 제어 하의 핸드라이팅 입력을 인식하기 위한 적어도 하나의 비-일시적 컴퓨터 판독가능 매체를 포함할 수도 있다.Examples of the invention described herein below provide systems and methods for use in digital note taking using handwriting input to a computing device. The computing device may include a processor and at least one non-transitory computer-readable medium for recognizing handwriting input under control of the processor.

하나의 예에서, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템이 제공된다. 각각의 컴퓨팅 디바이스는 프로세서와 그 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비-일시적 컴퓨터 판독가능 매체를 포함한다. 적어도 하나의 비-일시적 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 하게 하도록 구성된다.In one example, a system for digital note taking on computing devices is provided. Each computing device includes a processor and at least one non-transitory computer-readable medium for recognizing handwriting note-taking input under control of the processor. The at least one non-transitory computer-readable medium is configured to cause, on a display interface of the computing device, display of digital ink in a block layout according to a layout of blocks of the handwriting input and a configuration of the computing device display interface.

다른 예에서, 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 비일시적 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스에의 핸드라이팅 노트 필기의 입력을 인식하는 방법을 구현하기 위해 실행되도록 적응된다. 컴퓨팅 디바이스는 프로세서와 프로세서의 제어 하에 입력을 인식하기 위한 적어도 하나의 시스템 비-일시적 컴퓨터 판독가능 매체를 포함한다. 그 방법은, 적어도 하나의 시스템 비-일시적 컴퓨터 판독가능 매체로, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 하게 하는 단계를 포함한다.In another example, a non-transitory computer readable medium having computer readable program code embodied thereon is provided. The computer readable program code is adapted to be executed to implement a method of recognizing input of handwriting note taking to a computing device. The computing device includes a processor and at least one system non-transitory computer readable medium for recognizing input under control of the processor. The method comprises, on at least one system non-transitory computer readable medium, causing display, on a display interface of a computing device, of digital ink in a block layout according to a layout of blocks of handwriting input and a configuration of the computing device display interface. including the steps of

다른 예에서, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템이 제공된다. 각각의 컴퓨팅 디바이스는 프로세서와 그 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비-일시적 컴퓨터 판독가능 매체를 포함한다. 적어도 하나의 비-일시적 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력을 위한 안내 엘리먼트의 디스플레이를 하게 하고, 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 하게 하도록 구성되며, 안내 엘리먼트는 디지털 잉크 블록 콘텐츠 및 레이아웃과 인식된 핸드라이팅 입력으로부터 형성된 조판 잉크 블록 콘텐츠 및 레이아웃에 기초하여 디스플레이된다.In another example, a system for digital note taking on computing devices is provided. Each computing device includes a processor and at least one non-transitory computer-readable medium for recognizing handwriting note-taking input under control of the processor. The at least one non-transitory computer-readable medium causes, on a display interface of the computing device, display of a guide element for handwriting input, on the display interface a layout of blocks of handwriting input and a computing device display interface, on the display interface. configured to cause display of digital ink in the block layout according to the configuration of , wherein the guide element is displayed based on the typesetting ink block content and layout formed from the digital ink block content and layout and the recognized handwriting input.

다른 예에서, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법이 제공된다. 각각의 컴퓨팅 디바이스는 프로세서와 그 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비-일시적 컴퓨터 판독가능 매체를 포함한다. 그 방법은, 적어도 하나의 비-일시적 컴퓨터 판독가능 매체로, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력을 위한 안내 엘리먼트의 디스플레이를 하게 하는 단계와, 적어도 하나의 비-일시적 컴퓨터 판독가능 매체로, 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 하게 하는 단계를 포함한다. 안내 엘리먼트는 디지털 잉크 블록 콘텐츠 및 레이아웃과 인식된 핸드라이팅 입력으로부터 형성된 조판 잉크 블록 콘텐츠 및 레이아웃에 기초하여 디스플레이된다.In another example, a method for digital note taking on computing devices is provided. Each computing device includes a processor and at least one non-transitory computer-readable medium for recognizing handwriting note-taking input under control of the processor. The method comprises: causing display on a display interface of a computing device on at least one non-transitory computer readable medium for handwriting input; , on the display interface, causing display of the digital ink in the block layout according to the layout of the blocks of the handwriting input and the configuration of the computing device display interface. The guide element is displayed based on the digital ink block content and layout and the typesetting ink block content and layout formed from the recognized handwriting input.

다른 예에서, 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 비일시적 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스에의 핸드라이팅 노트 필기의 입력을 인식하는 방법을 구현하기 위해 실행되도록 적응된다. 컴퓨팅 디바이스는 프로세서와 프로세서의 제어 하에 입력을 인식하기 위한 적어도 하나의 시스템 비-일시적 컴퓨터 판독가능 매체를 포함한다. 그 방법은, 적어도 하나의 비-일시적 컴퓨터 판독가능 매체로, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력을 위한 안내 엘리먼트의 디스플레이를 하게 하는 단계와, 적어도 하나의 시스템 비-일시적 컴퓨터 판독가능 매체로, 디스플레이 인터페이스 상에, 핸드라이팅 입력의 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 하게 하는 단계를 포함한다. 안내 엘리먼트는 디지털 잉크 블록 콘텐츠 및 레이아웃과 인식된 핸드라이팅 입력으로부터 형성된 조판 잉크 블록 콘텐츠 및 레이아웃에 기초하여 디스플레이된다.In another example, a non-transitory computer readable medium having computer readable program code embodied thereon is provided. The computer readable program code is adapted to be executed to implement a method of recognizing input of handwriting note taking to a computing device. The computing device includes a processor and at least one system non-transitory computer readable medium for recognizing input under control of the processor. The method includes causing display, on a display interface of a computing device, of a guiding element for handwriting input, on at least one non-transitory computer readable medium, at least one system non-transitory computer readable medium causing, on the display interface, to display the digital ink in the block layout according to the layout of the blocks of the handwriting input and the configuration of the computing device display interface. The guide element is displayed based on the digital ink block content and layout and the typesetting ink block content and layout formed from the recognized handwriting input.

본원의 시스템 및 방법은 도면들과 함께 취해지는, 그 예들의 다음의 상세한 설명으로부터 더 충분히 이해될 것이다. 도면들에서 유사한 참조 번호들은 유사한 엘리먼트들을 묘사한다. 도면들 중:
도 1은 본원의 시스템 및 방법의 일 예에 따라서 컴퓨팅 디바이스의 블록도를 도시하며;
도 2는 본원의 시스템 및 방법의 일 예에 따라서 핸드라이팅 인식을 위한 시스템의 블록도를 도시하며;
도 3은 본원의 시스템 및 방법의 일 예에 따라서 도 2의 핸드라이팅 인식 시스템의 세부사항을 예시하는 블록도를 도시하며;
도 4는 컴퓨팅 디바이스의 입력 표면의 부분 상의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 도시하며;
도 5a와 도 5b는 상이한 스크롤된 포지션들에 입력 콘텐츠가 있거나 또는 없는 스크롤 페이지의 개략도들을 도시하며;
도 6a와 도 6b는 상이한 스크롤된 포지션들에 입력 콘텐츠가 있거나 또는 없는 스크롤 페이지의 개략도들을 도시하며;
도 7a와 도 7b는 상이한 스크롤된 포지션들에 입력 콘텐츠가 있거나 또는 없는 스크롤 페이지의 개략도들을 도시하며;
도 8은 디바이스 입력 표면 상의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 도시하며;
도 9는 디바이스 입력 표면 상의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 도시하며;
도 10은 스크롤 페이지의 정렬 엘리먼트들 중 일 예의 정렬 엘리먼트의 개략도를 도시하며;
도 11은 상이한 디바이스들의 입력 표면 사이즈에 관한 정렬 엘리먼트들의 상이한 열 카운트들의 그래프를 도시하며;
도 12a와 도 12b는 입력 표면 사이즈에 관한 열들의 적응을 위한 규칙들의 표들을 도시하며;
도 13은 스크롤 페이지의 정렬 엘리먼트들 중 일 예의 정렬 엘리먼트의 개략도를 도시하며;
도 14는 정렬 엘리먼트들과 함께 디바이스 입력 표면의 부분 상의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도를 도시하며;
도 15는 예시적인 입력 콘텐츠 대상 블록들과 함께 스크롤 페이지의 일부의 개략도를 도시하며;
도 16a와 도 16b는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 17a와 도 17b는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 18a 내지 도 18e는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 19a 내지 도 19c는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 20a와 도 20b는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 21a와 도 21b는 대상 블록들과 그것들에 대한 예시적인 동작들을 갖는 스크롤 페이지의 일부의 개략도를 도시하며;
도 22a는 대상 블록들을 갖는 스크롤 페이지의 일부의 제 1 정렬 렌더링의 개략도를 도시하고 도 22b는 대상 블록들을 갖는 스크롤 페이지의 일부의 제 2 정렬 렌더링의 개략도를 도시하며;
도 23a 내지 도 23f는 대상 블록들의 연속하는 입력을 갖는 스크롤 페이지의 일부의 제 1 정렬 렌더링의 개략도를 도시하며;
도 24는 대상 블록들을 갖는 도 23의 스크롤 페이지의 일부의 제 2 정렬 렌더링의 개략도를 도시하며;
도 25는 예시적인 디지털 잉크 단락과 그것의 조판 동등물을 도시하며;
도 26은 디지털 잉크에 대한 조판 동작을 도시하는 디바이스 입력 표면의 부분 상의 스크롤 페이지의 예시적인 시각적 렌더링의 개략도들을 도시하며;
도 27은 조판 동작의 애니메이션을 도시하는 도 26의 스크롤 페이지의 개략도를 도시하며; 그리고
도 28a는 조판 잉크의 전형적인 파라미터들을 도시하며;
도 28b는 도 28a의 조판 잉크의 파라미터들에 관한 정렬 엘리먼트들의 라인 패턴 엘리먼트의 스페이싱을 도시하며;
도 29a는 라인 패턴 엘리먼트에 대하여 경계 박스로 렌더링된 예시적인 조판 잉크 블록을 도시하며;
도 29b는 경계 박스 내의 라인 패턴 엘리먼트의 예시적인 마스킹된 렌더링을 도시하며;
도 30a는 예시적인 조판 잉크 블록의 라인 패턴 엘리먼트와의 예시적인 정렬을 도시하며;
도 30b는 경계 박스로 렌더링된 조판 잉크 블록의 다른 예시적인 정렬을 도시하며;
도 30c는 경계 박스의 렌더링이 없는 도 30b의 예시적인 정렬을 도시하며;
도 31a는 예시적인 조판 잉크 블록의 경계 박스에 대하여 라인 패턴 엘리먼트의 예시적인 마스킹된 렌더링을 도시하며;
도 31b는 조판 잉크 블록의 경계 박스가 없는 도 31a의 마스킹된 라인 패턴 엘리먼트를 도시하며;
도 32a는 예시적인 조판 잉크 블록의 경계 박스에 대하여 라인 패턴 엘리먼트의 예시적인 마스킹된 렌더링을 도시하며;
도 32b는 조판 잉크 블록의 경계 박스가 없는 도 32a의 마스킹된 라인 패턴 엘리먼트를 도시하며;
도 32c는 조판 잉크 블록의 경계 박스에 대하여 라인 패턴 엘리먼트의 다른 예시적인 마스킹된 렌더링을 도시하며;
도 32d는 조판 잉크 블록의 경계 박스가 없는 도 32c의 마스킹된 라인 패턴 엘리먼트를 도시하며;
도 33a는 핸드라이팅된 입력으로부터 스크롤 페이지로 렌더링된 예시적인 디지털 잉크 블록의 경계 박스에 대하여 라인 패턴 엘리먼트의 예시적인 마스킹된 렌더링을 도시하며;
도 33b는 디지털 잉크 블록의 경계 박스가 없는 도 33a의 마스킹된 라인 패턴 엘리먼트를 도시하며;
도 34는 핸드라이팅된 입력으로부터 스크롤 페이지로 렌더링된 예시적인 디지털 잉크 리스트를 도시하며;
도 35는 도 34의 디지털 잉크 리스트에 대하여 라인 패턴 엘리먼트의 예시적인 마스킹된 렌더링을 도시하며;
도 36은 예시적인 추가적 입력이 있는 디지털 잉크 리스트에 대하여 라인 패턴 엘리먼트의 다른 예시적인 마스킹된 렌더링을 도시하며;
도 37은 추가의 예시적인 추가적 입력이 있는 디지털 잉크 리스트에 대하여 라인 패턴 엘리먼트의 다른 예시적인 마스킹된 렌더링을 도시하며;
도 38은 추가의 예시적인 추가적 입력이 있는 디지털 잉크 리스트에 대하여 라인 패턴 엘리먼트의 다른 예시적인 마스킹된 렌더링을 도시하며;
도 39는 핸드라이팅된 입력으로부터 도 38의 디지털 잉크 리스트 아래의 스크롤 페이지로 렌더링된 예시적인 디지털 잉크 블록을 도시하며; 그리고
도 40은 예시적인 추가적 입력이 있는 도 35의 디지털 잉크 리스트에 대하여 라인 패턴 엘리먼트의 다른 예시적인 마스킹된 렌더링을 도시한다.
A system and method herein will be more fully understood from the following detailed description of examples thereof, taken in conjunction with the drawings. Like reference numbers in the drawings depict like elements. Among the drawings:
1 illustrates a block diagram of a computing device in accordance with an example of the systems and methods herein;
2 shows a block diagram of a system for handwriting recognition in accordance with an example of the systems and methods herein;
3 shows a block diagram illustrating details of the handwriting recognition system of FIG. 2 in accordance with an example of the systems and methods herein;
4 shows a schematic diagram of an example visual rendering of a scrolling page on a portion of an input surface of a computing device;
5a and 5b show schematic diagrams of a scrolling page with or without input content at different scrolled positions;
6A and 6B show schematic views of a scrolling page with or without input content at different scrolled positions;
7A and 7B show schematic diagrams of a scrolling page with or without input content at different scrolled positions;
8 shows a schematic diagram of an example visual rendering of a scrolling page on a device input surface;
9 shows a schematic diagram of an example visual rendering of a scrolling page on a device input surface;
10 shows a schematic diagram of an example one of the alignment elements of a scroll page;
11 shows a graph of different column counts of alignment elements relative to the input surface size of different devices;
12a and 12b show tables of rules for adaptation of columns with respect to input surface size;
13 shows a schematic diagram of an example one of the alignment elements of a scroll page;
14 shows a schematic diagram of an example visual rendering of a scrolling page on a portion of a device input surface with alignment elements;
15 shows a schematic diagram of a portion of a scroll page along with example input content object blocks;
16A and 16B show schematic diagrams of a portion of a scrolling page with object blocks and exemplary operations thereon;
17A and 17B show schematic diagrams of a portion of a scrolling page with object blocks and exemplary operations thereon;
18A-18E show schematic diagrams of a portion of a scroll page with object blocks and exemplary operations thereon;
19A-19C show schematic diagrams of a portion of a scroll page with object blocks and exemplary operations thereon;
20A and 20B show schematic diagrams of a portion of a scrolling page with object blocks and exemplary operations thereon;
21A and 21B show schematic diagrams of a portion of a scroll page with object blocks and exemplary operations thereon;
22A shows a schematic diagram of a first aligned rendering of a portion of a scroll page with target blocks and FIG. 22B shows a schematic diagram of a second aligned rendering of a portion of a scroll page with target blocks;
23A-23F show schematic diagrams of a first aligned rendering of a portion of a scrolling page with successive input of object blocks;
Fig. 24 shows a schematic diagram of a second aligned rendering of a portion of the scroll page of Fig. 23 with object blocks;
25 depicts an exemplary digital ink paragraph and its typesetting equivalent;
26 shows schematics of an example visual rendering of a scrolling page on a portion of a device input surface illustrating a typesetting operation for digital ink;
Fig. 27 shows a schematic diagram of the scroll page of Fig. 26 showing an animation of the typesetting action; And
28A shows typical parameters of an engraving ink;
Fig. 28B shows the spacing of the line pattern element of the alignment elements with respect to the parameters of the engraving ink of Fig. 28A;
29A shows an example typesetting ink block rendered with bounding boxes for line pattern elements;
29B shows an example masked rendering of a line pattern element within a bounding box;
30A illustrates an exemplary alignment with a line pattern element of an exemplary typesetting ink block;
30B depicts another exemplary arrangement of blocks of typesetting ink rendered with bounding boxes;
30C shows the example alignment of FIG. 30B without rendering of a bounding box;
31A shows an example masked rendering of a line pattern element relative to a bounding box of an example typesetting ink block;
Fig. 31B shows the masked line pattern element of Fig. 31A without the bounding box of the typesetting ink block;
32A shows an example masked rendering of a line pattern element relative to a bounding box of an example typesetting ink block;
Fig. 32B shows the masked line pattern element of Fig. 32A without the bounding box of the typesetting ink block;
32C shows another example masked rendering of a line pattern element relative to a bounding box of a typesetting ink block;
Fig. 32D shows the masked line pattern element of Fig. 32C without the bounding box of the typesetting ink block;
33A illustrates an example masked rendering of a line pattern element relative to a bounding box of an example digital ink block rendered from handwritten input to a scroll page;
Fig. 33b shows the masked line pattern element of Fig. 33a without the bounding box of the digital ink block;
34 shows an exemplary digital ink list rendered from handwritten input to a scrolling page;
FIG. 35 shows an example masked rendering of a line pattern element for the digital ink list of FIG. 34 ;
36 illustrates another example masked rendering of a line pattern element for a digital ink list with example additional input;
37 illustrates another exemplary masked rendering of a line pattern element for a digital ink list with an additional exemplary additional input;
38 illustrates another exemplary masked rendering of a line pattern element for a digital ink list with an additional exemplary additional input;
Fig. 39 shows an example digital ink block rendered from handwritten input to a scrolling page below the digital ink list of Fig. 38; And
40 illustrates another example masked rendering of a line pattern element for the digital ink list of FIG. 35 with an example additional input.

다음의 상세한 설명에서, 수많은 특정 세부사항들이 관련 있는 교시들의 철저한 이해를 제공하기 위하여 예들에 의해 언급된다. 그러나, 본원의 교시들은 이들 세부사항들 없이 실용화될 수도 있다는 것이 본 기술분야의 통상의 기술자들에게 명백할 것이다. 다른 경우들에서, 널리 공지된 방법들, 절차들, 컴포넌트들, 및/또는 회로부는, 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 피하기 위하여, 세부사항 없이, 비교적 고-레벨에서 설명되었다.In the following detailed description, numerous specific details are set forth by way of example in order to provide a thorough understanding of the relevant teachings. However, it will be apparent to those skilled in the art that the teachings herein may be practiced without these details. In other instances, well-known methods, procedures, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.

업, 다운, 위, 아래, 최저, 최고, 수평, 수직 등과 같은 방향성 특징들에 대한 언급 및 그것들의 논의는, 인식될 입력이 이루어지는 입력 표면에 적용되는 것으로서의 데카르트 좌표 시스템에 관하여 이루어진다. 게다가, 본 명세서에서의 '텍스트'라는 용어의 사용은 임의의 기입된 언어표현에서의 모든 영숫자 문자들과, 그것들의 문자열들과, 기입된 텍스트에서 사용되는 아주 흔한 비-영숫자 문자들, 예컨대, 심볼들을 포괄하는 것으로서 이해된다. 더욱이, 본 명세서에서의 '비-텍스트'라는 용어는 콘텍스트들에서 사용되는 자유로운 형식의 핸드라이팅된 콘텐츠와 렌더링된 텍스트 및 이미지 데이터를, 뿐만 아니라 비-영숫자 문자들과, 그것들의 문자열들, 그리고 영숫자 문자들과, 그것들의 문자열들을 포괄하는 것으로서 이해된다.References to and discussion of directional characteristics such as up, down, up, down, lowest, highest, horizontal, vertical, etc. are made with respect to the Cartesian coordinate system as applied to the input surface on which the input to be recognized is made. Moreover, use of the term 'text' herein refers to all alphanumeric characters in any written linguistic expression, their strings, and the very common non-alphanumeric characters used in written text, e.g., It is understood as encompassing symbols. Moreover, the term 'non-text' herein refers to free-form handwritten content and rendered text and image data used in contexts, as well as non-alphanumeric characters, their strings, and It is understood as encompassing alphanumeric characters and their strings.

본 명세서에서 설명되는 다양한 기술들은 휴대용 및 비-휴대용 컴퓨팅 디바이스들 상의 핸드라이팅된 콘텐츠의 그 콘텐츠의 출판가능 문서들로의 변환을 허용하는 방식에서의 캡처, 프로세싱 및 관리에 일반적으로 관련된다. 본 명세서에서 설명되는 시스템들 및 방법들은 컴퓨팅 디바이스의 또는 컴퓨팅 디바이스에 접속된 터치 감응 스크린과 같은 입력 표면을 통해 또는 컴퓨팅 디바이스에 접속된 디지털 펜 또는 마우스와 같은 입력 디바이스를 통해 컴퓨팅 디바이스에 입력된 사용자의 자연스러운 기입 또는 그림 (drawing) 스타일들의 인식을 이용할 수도 있다. 다양한 예들이 이른바 온라인 인식 기법들을 사용한 핸드라이팅 입력의 인식에 관하여 설명되지만, 인식을 위한 입력의 다른 형태들, 이를테면 디지털 잉크가 아니라 이미지들이 인식되는 오프라인 인식에 응용이 가능하다는 것이 이해된다. 핸드-드로잉 (hand-drawing) 과 핸드라이팅이라는 용어들은 디지털 또는 디지털적으로 접속된 매체 상에 직접적으로 또는 입력 도구, 이를테면 핸드헬드 스타일러스를 통해 중 어느 하나로 사용자들에 의한 그들의 손들의 사용을 통한 디지털 콘텐츠의 생성을 정의하기 위해 본 명세서에서 교환적으로 사용된다. "손"이란 용어는 입력 기법들의 간결한 설명을 제공하기 위해 본 명세서에서 사용되지만, 유사한 입력을 위한 사용자의 신체의 다른 부분들, 이를테면 발, 입 및 눈의 사용은 이 정의에 포함된다.The various techniques described herein relate generally to capture, processing, and management in a manner that allows for the conversion of handwritten content on portable and non-portable computing devices to publishable documents. The systems and methods described herein allow a user input to a computing device through an input surface, such as a touch-sensitive screen of or connected to the computing device, or through an input device, such as a digital pen or mouse, connected to the computing device. recognition of the natural writing or drawing styles of While various examples are described with respect to recognition of handwriting input using so-called online recognition techniques, it is understood that other forms of input for recognition are applicable, such as offline recognition in which images are recognized rather than digital ink. The terms hand-drawing and handwriting refer to digital through the use of their hands by users either directly on a digitally or digitally connected medium or through an input tool, such as a handheld stylus. Used interchangeably herein to define the creation of content. Although the term "hand" is used herein to provide a concise description of input techniques, the use of other parts of the user's body for similar input, such as the feet, mouth, and eyes, is included in this definition.

도 1은 예시적인 컴퓨팅 디바이스 (100) 의 블록도를 도시한다. 컴퓨팅 디바이스는 컴퓨터 데스크톱, 랩톱 컴퓨터, 태블릿 컴퓨터, 하이브리드 컴퓨터들 (2-인-1들), e-북 판독기, 모바일 폰, 스마트폰, 착용가능 컴퓨터, 디지털 손목시계, 상호작용식 화이트보드, 글로벌 포지셔닝 시스템 (GPS) 유닛, 회사 정보 단말기 (EDA), 개인 정보 단말기 (PDA), 게임 콘솔 등일 수도 있다. 컴퓨팅 디바이스 (100) 는 적어도 하나의 프로세싱 엘리먼트의 컴포넌트들, 일부 형태의 메모리 그리고 입력 및/또는 출력 (I/O) 디바이스들을 포함한다. 컴포넌트들은 입력들 및 출력들, 이를테면 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기적 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 본 기술분야의 통상의 기술자들에게 공지된 다른 것들을 통해 서로 통신한다.1 shows a block diagram of an example computing device 100 . Computing devices include computer desktops, laptop computers, tablet computers, hybrid computers (2-in-1s), e-book readers, mobile phones, smartphones, wearable computers, digital wristwatches, interactive whiteboards, global It may be a positioning system (GPS) unit, a corporate digital assistant (EDA), a personal digital assistant (PDA), a game console, or the like. Computing device 100 includes components of at least one processing element, some form of memory, and input and/or output (I/O) devices. Components may include inputs and outputs, such as connectors, lines, buses, cables, buffers, electromagnetic links, networks, modems, transducers, IR ports, antennas, or the art. communicate with each other via others known to those skilled in the art.

컴퓨팅 디바이스 (100) 의 예시된 예는 이미지들, 텍스트, 및 비디오와 같은 컴퓨팅 디바이스로부터의 데이터를 출력하기 위한 적어도 하나의 디스플레이 (102) 를 가진다. 디스플레이 (102) 는 본 기술분야의 통상의 기술자들에게 알려진 바와 같은 터치 감응식이거나 또는 터치 감응식이 아닌 LCD, 플라즈마, LED, iOLED, CRT, 또는 임의의 다른 적절한 기술을 사용할 수도 있다. 디스플레이 (102) 의 적어도 일부는 적어도 하나의 입력 표면 (104) 과 병치 (colocation) 된다. 입력 표면 (104) 은 저항성, 표면 음파, 용량성, 적외선 그리드, 적외선 아크릴 투영, 광학적 이미징, 분산 신호 기술, 음향 펄스 인식과 같은 기술, 또는 사용자 입력을 수신하기 위한 본 기술분야의 통상의 기술자들에게 공지된 바와 같은 임의의 다른 적절한 기술을 채용할 수도 있다. 입력 표면 (104) 은 자신의 경계들을 분명히 식별하는 영구적 또는 비디오-생성된 경계선에 의해 경계가 정해질 수도 있다. 온-보드 디스플레이 대신 또는 그것에 추가적으로, 컴퓨팅 디바이스 (100) 는 투사식 디스플레이 능력을 가질 수도 있다.The illustrated example of computing device 100 has at least one display 102 for outputting data from the computing device, such as images, text, and video. Display 102 may use an LCD, plasma, LED, iOLED, CRT, or any other suitable technology that may or may not be touch-sensitive as known to those of ordinary skill in the art. At least a portion of the display 102 is colocated with at least one input surface 104 . The input surface 104 may be a resistive, surface acoustic wave, capacitive, infrared grid, infrared acrylic projection, optical imaging, distributed signal technology, techniques such as acoustic pulse recognition, or those of ordinary skill in the art for receiving user input. Any other suitable technique as known to The input surface 104 may be bounded by a permanent or video-generated borderline that clearly identifies its borders. Instead of or in addition to an on-board display, computing device 100 may have a projected display capability.

컴퓨팅 디바이스 (100) 는 로컬 인터페이스를 통해 통신적으로 커플링되는 하나 이상의 추가적인 I/O 디바이스들 (또는 주변기기들) 을 포함할 수도 있다. 추가적인 I/O 디바이스들은 키보드, 마우스, 스캐너, 마이크로폰, 터치패드, 바 코드 판독기들, 레이저 판독기들, 라디오-주파수 디바이스 판독기들, 또는 본 기술분야의 통상의 기술자들에게 공지된 임의의 다른 적절한 기술과 같은 입력 디바이스들을 포함할 수도 있다. 게다가, I/O 디바이스들은 프린터, 바 코드 프린터들, 또는 본 기술분야의 통상의 기술자들에게 공지된 임의의 다른 적절한 기술과 같은 출력 디바이스들을 포함할 수도 있다. 더욱이, I/O 디바이스들은 변조기/복조기 (모뎀; 다른 디바이스, 시스템, 또는 네트워크에 액세스하기 위함), 무선 주파수 (RF) 등의 트랜시버, 전화 인터페이스, 브리지, 라우터, 또는 본 기술분야의 통상의 기술자들에게 공지된 임의의 다른 적절한 기술과 같이 입력들 및 출력들 양쪽 모두를 통신하는 통신 디바이스들을 포함할 수도 있다. 로컬 인터페이스는 통신들을 가능하게 하는 추가적인 엘리먼트들, 이를테면 제어기들, 버퍼들 (캐시들), 드라이버들, 리피터들, 및 수신기들을 가질 수도 있는, 그것들은 단순화를 위해 생략되지만 본 기술분야의 숙련된 자들에게 알려져 있다. 게다가, 로컬 인터페이스는 다른 컴퓨터 컴포넌트들 중에서의 적절한 통신들을 가능하게 하는 어드레스, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.Computing device 100 may include one or more additional I/O devices (or peripherals) that are communicatively coupled via a local interface. Additional I/O devices may include a keyboard, mouse, scanner, microphone, touchpad, bar code readers, laser readers, radio-frequency device readers, or any other suitable technology known to those of ordinary skill in the art. It may include input devices such as In addition, the I/O devices may include output devices such as a printer, bar code printers, or any other suitable technology known to those of ordinary skill in the art. Moreover, I/O devices may include modulators/demodulators (modems; to access other devices, systems, or networks), transceivers such as radio frequency (RF), telephone interfaces, bridges, routers, or those of ordinary skill in the art. communication devices for communicating both inputs and outputs, such as any other suitable technique known to those skilled in the art. A local interface may have additional elements that enable communications, such as controllers, buffers (caches), drivers, repeaters, and receivers, which are omitted for simplicity but those skilled in the art will is known to In addition, a local interface may include address, control, and/or data connections that enable appropriate communications among other computer components.

컴퓨팅 디바이스 (100) 는 소프트웨어, 특히 메모리 (108) 에 저장된 소프트웨어를 실행하기 위한 하드웨어 디바이스인 프로세서 (106) 를 또한 포함한다. 그 프로세서는 임의의 고객 맞춤형 또는 상업적으로 입수 가능한 범용 프로세서, 중앙 프로세싱 유닛 (CPU), 반도체 기반 마이크로프로세서 (마이크로칩 또는 칩셋의 형태임) 를 포함하는 상업적으로 입수 가능한 마이크로프로세서들, 마이크로제어기, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 상태 머신, 또는 본 기술분야의 통상의 기술자들에게 알려진 소프트웨어 명령들을 실행하기 위해 설계된 그것들의 임의의 조합일 수도 있다.Computing device 100 also includes a processor 106 , which is a hardware device for executing software, particularly software stored in memory 108 . The processor may include any custom or commercially available general purpose processor, central processing unit (CPU), commercially available microprocessors, including semiconductor based microprocessors (in the form of microchips or chipsets), microcontrollers, digital A signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, state machine, or one of ordinary skill in the art It may be any combination thereof designed to execute software instructions known to those in the world.

메모리 (108) 는 휘발성 메모리 엘리먼트들 (예컨대, 랜덤 액세스 메모리 (RAM, 이를테면 DRAM, SRAM, 또는 SDRAM)) 과 비휘발성 메모리 엘리먼트들 (예컨대, ROM, EPROM, 플래시 PROM, EEPROM, 하드 드라이브, 자기 또는 광 테이프, 메모리 레지스터들, CD-ROM, WORM, DVD, RAID (redundant array of inexpensive disks), 다른 직접 액세스 저장 디바이스 (direct access storage device, DASD), 또는 임의의 다른 자성, 저항성 또는 상-변화 비휘발성 메모리) 중 임의의 하나 또는 조합을 포함할 수 있다. 더구나, 메모리 (108) 는 전기, 자기, 광, 및/또는 다른 유형들의 저장 매체들을 포함할 수도 있다. 메모리 (108) 는 다양한 컴포넌트들이 서로로부터 원격으로 위치해 있지만 프로세서 (106) 에 의해 또한 액세스될 수 있는 분산형 아키텍처를 가질 수 있다. 게다가, 메모리 (108) 는 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스 가능한 디바이스로부터 원격으로, 이를테면 서버 또는 클라우드 기반 시스템에 있을 수도 있다. 메모리 (108) 는 프로세서 (106) 에 커플링되며, 그래서 프로세서 (106) 는 정보를 메모리 (108) 로부터 판독하고 그 메모리에 정보를 기입할 수 있다. 대체예에서, 메모리 (108) 는 프로세서 (106) 에 통합될 수도 있다. 다른 예에서, 프로세서 (106) 와 메모리 (108) 는 둘 다가 단일 ASIC 또는 다른 집적 회로에 상주할 수도 있다.Memory 108 includes volatile memory elements (eg, random access memory (RAM, such as DRAM, SRAM, or SDRAM)) and non-volatile memory elements (eg, ROM, EPROM, flash PROM, EEPROM, hard drive, magnetic or Optical tape, memory registers, CD-ROM, WORM, DVD, RAID (redundant array of inexpensive disks), other direct access storage device (DASD), or any other magnetic, resistive or phase-change ratio volatile memory). Moreover, memory 108 may include electrical, magnetic, optical, and/or other types of storage media. The memory 108 can have a distributed architecture in which the various components are located remotely from each other but can also be accessed by the processor 106 . In addition, the memory 108 may reside remotely from a device remotely accessible by the computing device 100 , such as in a server or cloud-based system. Memory 108 is coupled to processor 106 so that processor 106 can read information from and write information to memory 108 . In the alternative, the memory 108 may be integrated into the processor 106 . In another example, the processor 106 and the memory 108 may both reside on a single ASIC or other integrated circuit.

메모리 (108) 에서의 소프트웨어는 운영 체제 (110) 와 애플리케이션 (112) 을 내장된 컴퓨터 판독가능 프로그램 코드를 갖는 비일시적 컴퓨터 판독가능 매체의 형태로 포함한다. 그 소프트웨어는 옵션적으로 하나 이상의 별개의 컴퓨터 프로그램들을 각각 포함할 수도 있는 핸드라이팅 인식 (handwriting recognition, HWR) 시스템 (114) 을 추가로 포함한다. 이것들의 각각은 논리적 기능들을 구현하기 위한 실행가능 명령들의 순서화된 리스팅을 가진다. 운영 체제 (110) 는 애플리케이션 (112) (및 HWR 시스템 (114)) 의 실행을 제어한다. 운영 체제 (110) 는 임의의 사설 운영 체제 또는 상업적으로 또는 자유롭게 이용가능한 운영 체제, 이를테면 WEBOS, WINDOWS®, MAC 및 IPHONE OS®, LINUX, 그리고 ANDROID일 수도 있다. 다른 운영 체제들이 또한 이용될 수도 있다는 것이 이해된다. 대안적으로, 본원의 시스템 및 방법의 애플리케이션 (112) 은 운영 체제의 사용 없이 제공될 수도 있다.The software in the memory 108 includes an operating system 110 and an application 112 in the form of a non-transitory computer readable medium having computer readable program code thereon. The software further includes a handwriting recognition (HWR) system 114, which may optionally each include one or more separate computer programs. Each of these has an ordered listing of executable instructions for implementing logical functions. Operating system 110 controls the execution of applications 112 (and HWR system 114 ). Operating system 110 may be any private operating system or a commercially or freely available operating system such as WEBOS, WINDOWS®, MAC and IPHONE OS®, LINUX, and ANDROID. It is understood that other operating systems may also be used. Alternatively, applications 112 of the systems and methods herein may be provided without the use of an operating system.

애플리케이션 (112) 은 사용자 입력의 레이아웃의 검출, 관리 및 처리에 관련된 하나 이상의 프로세싱 엘리먼트들 (나중에 상세히 논의됨) 을 포함한다. 소프트웨어는 핸드라이팅 인식, 상이한 기능들, 또는 양쪽 모두에 관련된 하나 이상의 다른 애플리케이션들을 또한 포함할 수도 있다. 다른 애플리케이션들의 일부 예들은 텍스트 편집기, 전화기 다이얼러, 연락처 디렉토리, 인스턴트 메시징 기능 (facility), 컴퓨터 지원 설계 (CAD) 프로그램, 이메일 프로그램, 워드 프로세싱 프로그램, 웹 브라우저, 및 카메라를 포함한다. 애플리케이션 (112) 과, 다른 애플리케이션들은, 컴퓨팅 디바이스 (100) 에 제조 시 제공되는 프로그램(들)을 포함하고 제조 후의 컴퓨팅 디바이스 (100) 에 업로드되거나 또는 다운로드되는 프로그램들을 추가로 포함할 수도 있다.Application 112 includes one or more processing elements (discussed in detail later) related to detection, management, and processing of the layout of user input. The software may also include one or more other applications related to handwriting recognition, different functions, or both. Some examples of other applications include text editors, phone dialers, contact directories, instant messaging facilities, computer-aided design (CAD) programs, email programs, word processing programs, web browsers, and cameras. The application 112 and other applications may further include programs that are uploaded to or downloaded to the computing device 100 after manufacturing, including program(s) provided to the computing device 100 at the time of manufacture.

지원 및 준수 능력들을 갖는 HWR 시스템 (114) 은, 소스 프로그램, 실행가능 프로그램 (오브젝트 코드), 스크립트, 애플리케이션, 또는 수행될 명령들의 세트를 갖는 임의의 다른 엔티티일 수도 있다. 소스 프로그램인 프로그램이 컴파일러, 어셈블러, 인터프리터 등을 통해 해석될 것이 필요할 때, 그 프로그램은 운영 체제에 관련하여 적절히 동작하기 위해서 메모리 내에 포함되거나 또는 포함되지 않을 수도 있다. 더욱이, 지원 및 준수 능력들을 갖는 핸드라이팅 인식 시스템은 (a) 데이터 및 메소드들의 클래스들을 갖는 객체 지향 프로그래밍 언어; (b) 비제한적인 예를 들어 C, C++, 파스칼, 베이직, 포트란, 코볼, 펄, 자바, 오브젝트 C, 스위프트, 및 에이다 (Ada) 인 루틴들, 서브루틴들, 및/또는 함수들을 갖는 절차 프로그래밍 언어; 또는 (c) 비제한적인 예를 들어 Hope, Rex, Common Lisp, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, Prolog, 및 F#인 함수형 프로그래밍 언어들로서 기입될 수 있다. 대안적으로, HWR 시스템 (114) 은 디바이스로부터 원격인 핸드라이팅 인식 시스템과의 통신을 위한 방법 또는 시스템, 이를테면 서버 또는 클라우드 기반 시스템일 수도 있지만, 컴퓨팅 디바이스 (100) 의 앞에서 언급된 통신 I/O 디바이스들을 사용하여 통신 링크들을 통해 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스 가능하다. 게다가, 애플리케이션 (112) 과 HWR 시스템 (114) 은 함께 동작하거나 또는 단일 애플리케이션으로서 결합될 수도 있다. 더 나아가, 애플리케이션 (112) 및/또는 HWR 시스템 (114) 은 운영 체제 (110) 내에 통합될 수도 있다.The HWR system 114 with support and compliance capabilities may be a source program, executable program (object code), script, application, or any other entity that has a set of instructions to be executed. When a program that is a source program needs to be interpreted through a compiler, assembler, interpreter, etc., the program may or may not be included in the memory in order to properly operate in relation to the operating system. Moreover, a handwriting recognition system having support and compliance capabilities includes (a) an object-oriented programming language having classes of data and methods; (b) a procedure having routines, subroutines, and/or functions that are, for example, but not limited to, C, C++, Pascal, BASIC, Fortran, COBOL, Perl, Java, Object C, Swift, and Ada programming language; or (c) functional programming languages that are, for example, but not limited to, Hope, Rex, Common Lisp, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, Prolog, and F#. Alternatively, the HWR system 114 may be a method or system for communication with a handwriting recognition system remote from the device, such as a server or cloud-based system, although the aforementioned communication I/O of the computing device 100 . The devices are remotely accessible by computing device 100 via communication links. Moreover, application 112 and HWR system 114 may operate together or combined as a single application. Furthermore, the application 112 and/or the HWR system 114 may be integrated within the operating system 110 .

입력 표면 (104) 상에 또는 그 입력 표면을 통해 입력된 스트로크들은 프로세서 (106) 에 의해 디지털 잉크로서 프로세싱된다. 사용자가 손가락 또는 입력 표면과 함께 사용하기에 적합한 펜 또는 스타일러스와 같은 일부 기구로 스트로크를 입력할 수도 있다. 사용자는 입력 표면 (104) 의 부근에서의 모션을 감지하거나 또는 이미지화하는 기술이 사용되고 있다면 입력 표면 (104) 상측에서 제스처를 함으로써, 또는 컴퓨팅 디바이스 (100) 의 주변 디바이스, 이를테면 마우스 또는 조이스틱으로, 또는 스트로크 및 제스처 신호들을 결정하는 투영식 인터페이스, 예컨대, 패시브 평면 표면의 이미지 프로세싱으로 스트로크를 또한 입력할 수도 있다. 스트로크는 적어도 스트로크 개시 로케이션, 스트로크 종료 로케이션, 그리고 스트로크 개시 및 종료 로케이션들을 연결하는 경로에 의해 특징화된다. 경로를 따르는 다수의 샘플 포인트들에서의 타이밍, 압력, 각도와 같은 추가의 정보가 스트로크들의 더 깊은 세부사항을 제공하기 위해 또한 캡처될 수도 있다. 상이한 사용자들이 동일한 대상, 예컨대, 글자, 형상, 심볼을 약간의 변화들과 함께 자연스럽게 기입할 수도 있기 때문에, HWR 시스템은 각각의 대상이 올바른 또는 의도된 대상으로서 인식되고 있는 동안 입력될 수도 있는 다양한 방도들을 수용한다.Strokes entered on or through the input surface 104 are processed as digital ink by the processor 106 . A user may enter a stroke with a finger or some instrument, such as a pen or stylus, suitable for use with an input surface. The user can either by gesturing over the input surface 104 if technology is being used to sense or image motion in the vicinity of the input surface 104 , or with a peripheral device of the computing device 100 , such as a mouse or joystick, or Stroke may also be input into a projection interface that determines stroke and gesture signals, eg, image processing of a passive planar surface. A stroke is characterized by at least a stroke start location, a stroke end location, and a path connecting the stroke start and end locations. Additional information such as timing, pressure, angle at multiple sample points along the path may also be captured to provide deeper detail of the strokes. Because different users may naturally write the same object, eg, letters, shapes, symbols, with slight variations, the HWR system provides a variety of ways in which each object may be entered while being recognized as the correct or intended object. accept them

도 2는 HWR 시스템 (114) 의 일 예의, 그것의 로컬 (즉, 디바이스 (100) 상에 로딩됨) 또는 원격 (즉, 디바이스 (100) 에 의해 원격으로 액세스가능) 형태들 중 어느 하나의 개략적 그림이다. HWR 시스템 (114) 은 프리프로세싱 (116), 인식 (118) 및 출력 (120) 과 같은 스테이지들을 포함한다. 프리프로세싱 스테이지 (116) 는 인식 스테이지 (118) 동안 더 높은 정확도를 성취하고 프로세싱 시간을 감소시키기 위해 디지털 잉크를 프로세싱한다. 이 프리프로세싱은 입력을 평활화하는 B-스플라인 근사와 같은 사이즈 정규화 및/또는 방법들을 적용함으로써 스트로크 개시 및 종료 로케이션들을 연결하는 경로의 정규화를 포함할 수도 있다. 프리프로세싱된 스트로크들은 그 다음에 스트로크들을 프로세싱하여 이에 의해 형성된 대상들을 인식하는 인식 스테이지 (118) 에 전달된다. 인식된 대상들은 그러면 디스플레이 (102) 에 일반적으로 핸드라이팅된 엘리먼트들/문자들의 조판된 버전으로서 출력된다 (120).2 is a schematic representation of an example of an HWR system 114 , either in its local (ie, loaded on device 100 ) or remote (ie, remotely accessible by device 100 ) forms; It's a picture. HWR system 114 includes stages such as preprocessing 116 , recognition 118 , and output 120 . The preprocessing stage 116 processes the digital ink during the recognition stage 118 to achieve higher accuracy and reduce processing time. This preprocessing may include normalization of the path connecting stroke start and end locations by applying size normalization and/or methods such as B-spline approximation to smooth the input. The preprocessed strokes are then passed to a recognition stage 118 that processes the strokes and recognizes objects formed thereby. The recognized objects are then output ( 120 ) to the display ( 102 ) as a typesetting version of the generally handwritten elements/characters.

인식 스테이지 (118) 는 상이한 프로세싱 엘리먼트들 또는 엑스퍼트들을 포함할 수도 있다. 도 3은 인식 스테이지 (118) 의 구체적인 세부사항을 도시하는 도 2의 예의 개략적 그림이다. 동적 프로그래밍을 통해 협력하여 출력 (120) 을 생성하는 세 개의 엑스퍼트들인 세그먼트화 엑스퍼트 (122), 인식 엑스퍼트 (124), 및 언어 엑스퍼트 (126) 가 예시된다.The recognition stage 118 may include different processing elements or experts. 3 is a schematic illustration of the example of FIG. 2 showing specific details of the recognition stage 118 . Three experts are illustrated that cooperate through dynamic programming to produce an output 120 , a segmentation expert 122 , a recognition expert 124 , and a language expert 126 .

세그먼트화 엑스퍼트 (122) 는 표현들, 예컨대, 단어들, 수학식들, 또는 형상들의 그룹들을 형성하기 위하여, 입력 스트로크들을 개개의 엘리먼트 가설들, 예컨대, 영숫자 문자들 및 수학적 연산자들, 텍스트 문자들, 개별 형상들, 또는 서브 표현으로 세그먼트화하는 상이한 방도들을 정의한다. 예를 들어, 세그먼트화 엑스퍼트 (122) 는 각각의 노드가 적어도 하나의 엘리먼트 가설에 대응하는 그리고 엘리먼트들 사이의 인접 제약조건들이 노드 접속들에 의해 핸들링되는 세그먼트화 그래프를 획득하기 위해 원래의 입력의 연속적인 스트로크들을 그룹화함으로써 엘리먼트 가설들을 형성할 수도 있다. 대안적으로, 세그먼트화 엑스퍼트 (122) 는 상이한 입력 유형들, 이를테면 텍스트, 도면들, 수식들, 및 음악 기보를 위해 별도의 엑스퍼트들을 채용할 수도 있다.Segmentation expert 122 divides input strokes into individual element hypotheses, eg, alphanumeric characters and mathematical operators, text characters, to form expressions, eg, groups of words, equations, or shapes. , individual shapes, or different ways of segmenting into sub-representations. For example, the segmentation expert 122 may calculate a segmentation graph of the original input to obtain a segmentation graph in which each node corresponds to at least one element hypothesis and in which adjacent constraints between elements are handled by node connections. Element hypotheses may be formed by grouping successive strokes. Alternatively, segmentation expert 122 may employ separate experts for different input types, such as text, drawings, equations, and music notation.

인식 엑스퍼트 (124) 는 분류기 (128) 에 의해 추출된 특징들의 분류를 제공하고 세그먼트화 그래프의 각각의 노드에 대해 확률들 또는 인식 점수들과 함께 엘리먼트 후보들의 리스트를 출력한다. 이 인식 태스크를 해결하는데 사용될 수 있는 많은 유형들의 분류기들, 예컨대, 지원 벡터 머신들, 은닉 마르코프 모델들, 또는 다층 퍼셉트론즈 (Perceptrons), 디프 (Deep), 콘볼루션 또는 순환 신경망들과 같은 신경망들이 존재한다. 그 선택은 태스크에 대해 요망되는 복잡도, 정확도, 및 속력에 의존한다.Recognition expert 124 provides a classification of features extracted by classifier 128 and outputs a list of element candidates along with probabilities or recognition scores for each node of the segmentation graph. There are many types of classifiers that can be used to solve this recognition task, for example neural networks such as support vector machines, hidden Markov models, or multilayer Perceptrons, Deep, convolutional or recurrent neural networks. exist. The choice depends on the complexity, precision, and speed desired for the task.

언어 엑스퍼트 (126) 는 언어 모델들 (예컨대, 문법 또는 시맨틱스) 을 사용하여 세그먼트화 그래프에서의 상이한 경로들에 대한 언어적 의미를 생성한다. 엑스퍼트 (126) 는 언어적 정보 (130) 에 따라 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 언어적 정보 (130) 는 어휘부 (lexicon), 정규 표현들 등을 포함할 수 있고, 언어 모델을 실행하기 위해 언어 엑스퍼트 (126) 에 의해 사용되는 모든 정적 데이터를 위한 스토리지이다. 언어 모델이 주어진 언어에 대한 통계 정보에 의존할 수 있다. 언어적 정보 (130) 는 인식 및 사용자 상호작용들의 결과들에 따라 적응하여 또는 적응 없이 오프-라인으로 계산되고, 언어 엑스퍼트 (126) 에 제공된다. 언어 엑스퍼트 (126) 는 최고의 인식 경로를 발견하는 것을 겨냥한다. 하나의 예에서, 언어 엑스퍼트 (126) 는 언어적 정보 (130) 의 콘텐츠를 표현하는 FSA (final state automaton) 와 같은 언어 모델을 조사함으로써 이를 행한다. 어휘부 제약조건에 더하여, 언어 엑스퍼트 (126) 는 주어진 엘리먼트들의 시퀀스가 특정된 언어에서 얼마나 빈번하게 나타나는지에 대한 통계 정보 모델링을 갖는 언어 모델을 사용할 수도 있거나 또는 세그먼트화 그래프의 주어진 경로의 해석의 언어적 가능성을 평가하기 위해 특정 사용자에 의해 사용된다.Language expert 126 uses language models (eg, grammar or semantics) to generate linguistic meaning for different paths in the segmentation graph. Expert 126 checks candidates proposed by other experts according to linguistic information 130 . Linguistic information 130 may include a lexicon, regular expressions, etc., and is storage for all static data used by language expert 126 to implement a language model. A language model may rely on statistical information for a given language. Verbal information 130 is computed off-line with or without adaptation according to the results of recognition and user interactions, and provided to language expert 126 . The language expert 126 aims at discovering the best recognition path. In one example, language expert 126 does this by examining a language model, such as a final state automaton (FSA), that represents the content of linguistic information 130 . In addition to lexical constraints, language expert 126 may use a language model with statistical information modeling of how frequently a given sequence of elements appears in a specified language or language of interpretation of a given path of a segmentation graph. It is used by certain users to evaluate the enemy's potential.

본원의 시스템 및 방법은 디바이스 (100) 에의 핸드라이팅된 입력을 인식하기 위하여 HWR 시스템 (114) 을 이용한다. 앞서 언급된 바와 같이, 애플리케이션 (112) 은 인식된 사용자 입력의 레이아웃을 핸들링하기 위한 애플리케이션(들)을 포함한다. 이러한 애플리케이션들은 상이한 프로세싱을 핸들링하기 위한 별개의 계층들을 갖는 아키텍처로 제공될 수도 있다. 하나 이상의 이들 계층들은 앞서 언급된 통신 채널들을 통해 액세스 가능한 디바이스 (100) 에 원격일 수도 있다. 계층들은 애플리케이션 래퍼(들), 플랫폼 래퍼(들)및 (플랫폼 특정) 애플리케이션 사용자 인터페이스(들)를 포함할 수도 있다.The systems and methods herein utilize the HWR system 114 to recognize handwritten inputs to the device 100 . As mentioned above, application 112 includes application(s) for handling the layout of recognized user input. These applications may be presented in an architecture with separate layers to handle different processing. One or more of these layers may be remote to the device 100 accessible via the aforementioned communication channels. Layers may include application wrapper(s), platform wrapper(s) and (platform specific) application user interface(s).

본원의 시스템 및 방법에 의해 제공되는 애플리케이션 (112) 은 사용자들, 이를테면 학생들, 학업 및 직업 전문가들이, 이를테면 강의들, 회의들 및 브레인스토밍 세션들 동안, 그들의 휴대용 또는 비-휴대용 컴퓨팅 디바이스들 상의 공유가능 포맷팅된 문서들로 변환할 수 있는 핸드라이팅된 노트들을 필기하는 것을 허용한다. 애플리케이션은 그들의 컴퓨팅 디바이스들을 사용하여 적절히 검색되고 기억될 수 있는 '깨끗한' 노트들의 필기를 허용한다. 본원의 시스템 및 방법은 입력될 자연스러운 기입을 추가로 허용하는데, 기입이 (괘선) 라인들 상에서 이루어지고, 단락들 및 다른 레이아웃 엘리먼트들이 배향 (즉, 세로보기 또는 가로보기) 및 디바이스 디스플레이 용량에 응답하여 존중되어서이다. 디바이스들과 노트들의 자동 저장 사이의 캡처된 노트들의 동기화가 또한 지원된다. HWR 시스템을 통한, 주문형 또는 즉석형 중 어느 하나로의 핸드라이팅된 노트들의 조판이 또한 지원된다. 본 출원인에게 양도되며 그 전체 내용은 본 명세서에 참조로 포함된 미국 특허출원 공개 제2009/0077053호에서 설명되는 시스템들 및 방법들로 같은 인식된 조판 텍스트 및 디지털 잉크 둘 다의 검색이 즉석 인덱스화를 포함하여, 또한 지원된다. 다양한 포맷들, 이를테면 텍스트, 라텍스 (Latex), HTML, 이미지, pdf 등으로의 내보내기 (export) 옵션들이, 또한 지원된다. 이들 및 다른 양태들이 이제 설명된다.Applications 112 provided by the systems and methods herein allow users, such as students, academic and vocational professionals, to share on their portable or non-portable computing devices, such as during lectures, meetings and brainstorming sessions. Allows taking handwritten notes that can be converted into formatted documents. The application allows the taking of 'clean' notes that can be properly retrieved and memorized using their computing devices. The systems and methods herein further allow for natural writing to be entered, where writing is on (ruled) lines, paragraphs and other layout elements responsive to orientation (ie, portrait or landscape) and device display capacity. so that it is respected Synchronization of captured notes between devices and automatic storage of notes is also supported. Typesetting of handwritten notes, either on-demand or on-the-fly, via the HWR system, is also supported. Instant indexing of retrieval of both recognized typesetting text and digital ink, such as the systems and methods described in US Patent Application Publication No. 2009/0077053, assigned to Applicants, the entire contents of which are incorporated herein by reference in their entirety. Including, is also supported. Export options to various formats, such as text, Latex, HTML, images, pdf, etc., are also supported. These and other aspects are now described.

애플리케이션 (112) 은 레이아웃 정의 및 보존을 허용하는 구조화된 콘텐츠를 제공하기 위해서 문서들 및 문서 엘리먼트들의 정의 및 핸들링을 위한 프레임워크를 이용한다. 이 문서 모델은 HTML5 참고문헌, 예를 들어, W3C HTML5 DOM - 종류의 콘텐츠: http://www.w3.org/TR/html5/dom.html#kinds-of-content로 최상으로 설명되는 상이한 유형들의 문서 엘리먼트들을 핸들링한다. 애플리케이션 (112) 에 의해 이용되는 문서 모델은 HTML 규격들을 재현하지 않으며, 오히려 그 규격들로부터의 영감을 취한다. 문서 모델의 엘리먼트들의 서브세트가 흐름 (flow), 섹션화 (sectioning), 헤딩 (heading), 프레이징 (phrasing), 임베디드 (embedded) 및 인터렉티브 (interactive) 이다.Application 112 uses a framework for defining and handling documents and document elements to provide structured content that allows for layout definition and preservation. This document model is based on the different types best described by HTML5 references, e.g. W3C HTML5 DOM - Kinds of Content: http://www.w3.org/TR/html5/dom.html#kinds-of-content Handles document elements of The document model used by application 112 does not represent HTML specifications, but rather takes inspiration from them. A subset of the elements of the document model are flow, sectioning, heading, phrasing, embedded and interactive.

흐름에 관하여, 애플리케이션들 및 문서들의 본문 (body) 에서 사용되는 대부분의 엘리먼트들은 흐름 콘텐츠로서 분류된다. 콘텐츠 흐름은 노드들의 구조화된 트리가 주문 보기 (main text view) 로 수직으로 렌더링되어 있는 HTML DOM 바로 그것처럼 기본적으로 작동한다. 모든 입력은 디폴트로 콘텐츠 흐름 속에 들어가서, 문서의 상단에서부터 수직으로 종접속 (cascading) 되고 좌측에서 우측으로 기입된 언어표현들에 대해 좌측 정렬되거나 또는 우측에서 좌측으로 기입된 언어표현들에 대해 우측 정렬된다. 섹션화 콘텐츠는 머리말들 및 꼬리말들의 범위를 정의하는 콘텐츠이다. 헤딩 콘텐츠는 섹션의 헤더를 (섹션화 콘텐츠 엘리먼트들을 사용하여 명시적으로 마크업되는지, 또는 헤더 콘텐츠 자체에 의해 암시되는지) 정의한다. 프레이징 콘텐츠는 문서의 텍스트, 뿐만 아니라 단락 내 (intra-paragraph) 수준에서 해당 텍스트를 마크업하는 엘리먼트들이다. 프레이징 콘텐츠의 런 (run) 들은 단락들을 형성한다. 임베디드 콘텐츠는 다른 리소스를 문서 속으로 들여오기한 콘텐츠, 또는 문서 속으로 삽입되는 다른 어휘로부터의 콘텐츠이다. 인터렉티브 콘텐츠는 사용자 상호작용을 위해 구체적으로 의도되는 콘텐츠이다. 이들 문서 엘리먼트들과, 다른 엘리먼트들이 콘텐츠에 관해 문서 모델에서 이용된다.Regarding flow, most elements used in the body of applications and documents are classified as flow content. The content flow works essentially just like the HTML DOM, where a structured tree of nodes is rendered vertically into the main text view. All inputs enter the content flow by default, cascading vertically from the top of the document and left-aligned for left-to-right linguistics or right-aligned for right-to-left linguistics. do. Sectioned content is content that defines the scope of headers and footers. Heading content defines the header of a section (whether explicitly marked up using sectioning content elements, or implied by the header content itself). Phrasing content is the text of a document, as well as elements that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs. Embedded content is content that has imported other resources into the document, or content from another vocabulary that is inserted into the document. Interactive content is content specifically intended for user interaction. These document elements and other elements are used in the document model for content.

애플리케이션 (112) 의 문서 모델 및 특징의 초기 양태가 사용자에 의한 핸드라이팅된 노트들 및 다른 콘텐츠의 입력에 대한 사실상 무한 수직 스크롤링 인터페이스의 제공이다. 수천 년 전에, 콘텐츠는 판독/기입하기 위해 펼쳤을 스크롤들 상에 기록되었다. 고문서 (Codex) (책의 조상) 는 큰 두루마리들이 페이지들로 절단되어, 시작부터 끝까지 스크롤을 펼치는 대신, 콘텐츠의 임의의 일부에 임의의 그리고 더 빠른 접근을 제공하였던 것처럼 사용자 경험 최적화에 기초하여 발명되었다. 이는 기입 콘텐츠의 기록을 완전히 그리고 영구적으로 변경하였고, 책이 지난 천년 동안 하나의 유일한 콘텐츠 유지체가 되었다. 그러나, 기입이 동적 스크린 인터페이스 상에서 수행되는 현 디지털 세대는 상이한 패러다임들이 채택되기 위한 잠재력을 제공한다. 따라서, 노트 필기 애플리케이션들 및 연관된 사용자 인터페이스들은 페이지 패러다임을 맹목적으로 흉내낼 필요가 없으며, 오히려 단순한 페이지-넘김 또는 (무한) 스크롤 중 어느 하나를 뛰어넘는 더 많은 또는 향상된 특징들을 제공하는 해법들이 평가되어야 한다.An initial aspect of the document model and features of application 112 is the provision of a virtually infinite vertical scrolling interface for entry of handwritten notes and other content by the user. Thousands of years ago, content was written on scrolls that would have unfolded to read/write. Codex (the ancestor of books) was invented based on user experience optimization as large scrolls were cut into pages, providing random and faster access to any part of the content, instead of scrolling from start to finish. became This has completely and permanently changed the record of written content, and the book has become the only content maintainer in the last millennium. However, the current digital generation, where writing is performed on a dynamic screen interface, offers the potential for different paradigms to be adopted. Thus, note taking applications and associated user interfaces need not blindly mimic the page paradigm, but rather solutions that provide more or improved features beyond either simple page-turning or (infinite) scrolling should be evaluated. .

기존의 핸드라이팅 노트 필기 애플리케이션들은 실세계 페이지들을 모방하는 분리 및 고정 치수의 페이지들에 기초한다. 이 '카드' 접근법은 사용자들이 온-스크린 핸드라이팅을 사용하여 콘텐츠를 생성하는 것을 직관적으로 받아들이기에는 편리하지만, 모두가 비제한된 높이를 갖는 다음과 같은 다른 디지털 문서 콘텍스트들에 맞지 않다:Existing handwriting note taking applications are based on separate and fixed dimension pages that mimic real world pages. While this 'card' approach is convenient for users to intuitively accept to create content using on-screen handwriting, it does not fit into other digital document contexts, all of which have unrestricted heights, such as:

자유롭게 스크롤가능한 것을 배려하는 웹사이트들Websites that care about being able to scroll freely

페이지가 매겨지고 자유롭게 스크롤가능한 ePub들Paginated and freely scrollable ePubs

자유롭게 스크롤 가능한 페이지들로 페이지 매기기를 사용하는 텍스트 편집기들.Text editors that use pagination with freely scrollable pages.

출원인은 현존 디지털 노트 필기 애플리케이션들의 사용자들이 텍스트 리플로우와 제어되지 않는 텍스트/대상 위치와 함께, 편집할 때 텍스트가 어떻게 행동하는지의 이해에 문제가 있음을 발견하였다. 이러한 애플리케이션들의 사용을 위한 학습 곡선을 낮추기 위하여, 핸드라이팅은 사용자들이 친숙한 것에 더 가까워야 한다. 다시 말하면, 동일한 모델, 행동들 및 무한 스크롤가능 페이지들과 함께, 텍스트 편집 소프트웨어/웹 서비스들에서 키보드를 이용한 기입이다. 임의의 디지털 디바이스 사용자는 (판독 또는 기입 중 어느 하나에서) 스크롤링에 이미 익숙해져 있다. 스크롤링은 또한 터치 디바이스들 상의 자연스럽고 직관적인 패턴이다. 핸드라이팅 노트 필기 환경에서의 빠른 해법이 다음과 같이 페이지들이 배치되는 방도를 그냥 변경하는 것일 것이다:Applicants have discovered that users of existing digital note taking applications have problems understanding how text behaves when editing, with text reflow and uncontrolled text/object positioning. In order to lower the learning curve for use of these applications, handwriting should be closer to what users are familiar with. In other words, keyboard-based writing in text editing software/web services, with the same model, behaviors, and infinitely scrollable pages. Any digital device user is already accustomed to scrolling (either reading or writing). Scrolling is also a natural and intuitive pattern on touch devices. A quick solution in the handwriting note-taking environment would be to just change the way the pages are laid out, like this:

고정 페이지 사이즈 (콘텐츠를 생성할 때 디바이스 스크린 또는 뷰포트에 의해 정의됨)Fixed page size (defined by the device screen or viewport when creating content)

수직으로 적층된 페이지들vertically stacked pages

페이지 매김된 콘텐츠를 선호하는 사용자들에게 페이지 나누기들을 허용Allow page breaks for users who prefer paginated content

스크롤링을 선호하는 사용자들에게 자유 수직 스크롤을 허용.Allow free vertical scrolling for users who prefer scrolling.

그러나, 그런 해법은 앞서 논의된 모든 문제들을 해결하지 않는다. 예를 들어, 사용자들은 조판할 때 레이아웃 문제들에 여전히 직면할 것이다. 따라서, 본원의 시스템 및 방법의 노트 필기 애플리케이션은 무한-높이 단일 페이지를 특징으로 삼는 순수 수직 스크롤 모델을 이용하므로 조판 100% 호환가능 해법을 제공한다. 이 모델은 다음을 허용한다:However, such a solution does not solve all the problems discussed above. For example, users will still face layout issues when typesetting. Thus, the note taking application of the systems and methods herein utilizes a pure vertical scrolling model featuring an infinite-height single page and thus provides a typesetting 100% compatible solution. This model allows for:

사용자들이 무한 페이지 또는 '스크롤 페이지' 상에 디지털 문서에서처럼 기입하는 것, 여기서:Users filling in as in digital documents on infinite pages or 'scrolling pages', where:

사용자들은 고정된 페이지 사이즈에 의해 제한되지 않으며;Users are not limited by a fixed page size;

스크롤 페이지들은 예를 들어 하나의 단편 (fragment) 이 약 500 개 섹션들 이상인 단편들로 잘라질 수 있으며;Scroll pages may be cut into fragments, for example, one fragment is about 500 sections or more;

큰 스크롤 페이지의 콘텐츠를 로딩하는 시간이 약 50 밀리초들이며;The time to load the content of a large scrolling page is about 50 milliseconds;

사용자들은 디바이스 인터페이스의 터치 감응 표면 상에서 또는 그 상측에서 제스처들을 사용하여, 이를테면 두 개의 손가락들을 사용하여 스크롤할 수 있으며Users can scroll using gestures on or over the touch-sensitive surface of the device interface, such as using two fingers, and

사용자들이 페이지 모드 디스플레이를 선택하는 것, 여기서:What users choose to display in page mode, where:

무한 페이지는 섹션들로 쪼개지며;An infinite page is split into sections;

시각화 옵션이 서로의 상단에 섹션들을 디스플레이하는 것 또는 수직 페이지들의 강한 시각적 분리자로서 섹션들 사이에 상단 및 하단 마진들을 디스플레이하는 것 사이에서 선택하도록 제공되며a visualization option is provided to choose between displaying sections on top of each other or displaying top and bottom margins between sections as strong visual separators of vertical pages;

노트들이 디바이스 사이즈/배향과는 독립적으로 제대로 디스플레이되는 응답 디스플레이Responsive display where notes are properly displayed independent of device size/orientation

사용자들이 현존 콘텐츠 및 섹션들을 내비게이션을 통해 쉽게 발견하는 것Allowing users to easily discover existing content and sections through navigation

완벽하게 현존 노트들의 스크롤 페이지들로의 변환.Perfect conversion of existing notes into scrolling pages.

디지털 노트 필기를 위해 수직 스크롤을 사용하는 것은, 기입이, 절대 포지셔닝된 블록들 대신, 콘텐츠 흐름에서 수행되어, 모든 텍스트가 HTML 페이지 또는 워드 프로세싱 문서처럼 수직으로 종접속됨을 의미한다. 디폴트로, 수직 콘텐츠 순서는 모델 구조를 정의하고 모든 레이아웃 변경들은 아래로 밀거나 또는 위로 당기는 아래의 모든 콘텐츠에 영향을 미친다. 따라서, 사용자의 레이아웃에 대한 이들 변경들은 고려되고 감안되어야만 한다. 그러나, 사용자들에게는 페이지 상의 어디든, 즉, 수직으로 및 수평으로 둘 다로 기입하며, 2-차원 대상들을 생성하며, 물건들을 주위로 이동시키고 레이아웃을 즉석에서 생성하는 능력이 여전히 제공되어야 한다. 이들 능력들은 그러나 '완벽한' 조사 응답 문서가 생성되도록 균형 잡히는 것이 필요하다. 이는 다음:Using vertical scrolling for digital note taking means that writing is performed in the content flow instead of absolutely positioned blocks, so that all text is longitudinally terminated, like an HTML page or word processing document. By default, the vertical content order defines the model structure and all layout changes affect all content below that is pushed down or pulled up. Accordingly, these changes to the user's layout must be considered and accounted for. However, users should still be provided with the ability to write anywhere on the page, both vertically and horizontally, create two-dimensional objects, move objects around and create layouts on the fly. These capabilities, however, need to be balanced so that a 'perfect' survey response document is generated. This is the following:

모든 입력이 콘텐츠 흐름에 들어가며All inputs go into the content flow

마진들로부터의 기입 오프셋이 콘텐츠 흐름에 앵커링되는 유동 블록들을 생성하며Write offsets from margins create floating blocks anchored to the content flow;

문서 모델은 유동 블록들의 응답 레이아웃을 핸들링하기 위해 보이지 않는 컨테이너 노드들을 생성하며The document model creates invisible container nodes to handle the responsive layout of floating blocks.

문서 모델은 레이아웃/모델 변경들을 실시간으로 반영하기 위해 노드/단편으로부터의 콘텐츠를 다른 노드/단편으로 정기적으로 편집하고 이동하며The document model regularly edits and moves content from a node/fragment to another node/fragment to reflect layout/model changes in real time.

모든 단락들/블록들은 (리플로우 액션 및 조판/미화와 함께) 콘텐츠 입력 동안 (수직 및 수평) 그리드에 정렬된다는 것을 의미한다.This means that all paragraphs/blocks are aligned to the grid (vertical and horizontal) during content input (with reflow action and typesetting/beautification).

본원의 시스템 및 방법의 이들 및 다른 특징들이 이제 상세히 설명된다. 도 4는 예시적인 컴퓨팅 디바이스 (100) 의 입력 표면 (104) 의 부분 상의 스크롤 페이지 (400) 의 예시적인 시각적 렌더링의 개략도를 도시한다. 스크롤 페이지 (400) 는 모든 콘텐츠 입력이 수행되는 편집 보기로 도시된다. 다른 보기들은 문서 구조 편집과 노트북 내비게이션을 위해 사용될 수도 있다. 사용자 인터페이스 (UI) 컨트롤들 (나중에 설명됨) 을 제공하는 외에도, 편집 보기의 주요 목적은 디바이스 (100) 의 디스플레이 (102) 로부터 수직으로 오버플로우하는 전체-폭 페이지를 제공하는 것이다. 무한 스크롤 페이지 (400) 는 유연한 높이의 페이지를 구현한다. 사용자들을 위한 (특히 더 작은 디바이스들 상의) 기입 공간을 최대화하기 위하여, 빈 스크롤 페이지가 적어도 전체 편집 보기 높이를 차지하도록 정의된다.These and other features of the systems and methods herein are now described in detail. 4 shows a schematic diagram of an example visual rendering of a scrolling page 400 on a portion of an input surface 104 of an example computing device 100 . Scrolling page 400 is shown in the edit view in which all content entry is performed. Other views may be used for document structure editing and notebook navigation. In addition to providing user interface (UI) controls (described later), the primary purpose of the edit view is to provide a full-width page that overflows vertically from the display 102 of the device 100 . The infinite scroll page 400 implements a flexible height page. In order to maximize writing space for users (especially on smaller devices), an empty scrolling page is defined to occupy at least the entire editing view height.

편집 보기 (와 적절한 대로의 다른 보기들) 에서, 여러 페이지 엘리먼트들은 상부 패딩 (402), 좌측 마진 (404) 및 우측 마진 (406) 을 포함하여 디스플레이된다. 패딩 및 마진들은 라인 패턴 배경 (410) 을 안내 엘리먼트로서 가지는 입력 영역 (408) 을 정의한다. 라인 패턴 (410) 은 밀도 독립적인 화소 (dp) 인 수직 리듬 높이 유닛의 배수에 의해 분리된 복수의 실질적으로 평행한 (수평) 라인들을 가진다. 특정 디바이스 (100) 에 상관없이, 수평 라인들 (410) 사이의 수직 거리는 라인 패턴 유닛 (line pattern unit, LPU) 에 의해 정의되고 수직 리듬 높이 유닛은 특정 디바이스 상의 LPU의 눈금 매겨진 척도를 제공한다. 예를 들어, LPU는 수직 리듬 높이 유닛의 특정한 배수인 임의의 디바이스를 위한 약 1 센티미터로 설정될 수도 있거나 또는 사용자들에게는 그들의 기입 스타일에 따라 라인 패턴 유닛을 수직 리듬 높이 유닛의 상이한 배수로 맞춤화하는 것이 허용될 수도 있다. 대안적으로, 수직 리듬은 조판 텍스트 사이즈 (예컨대, 최소 텍스트 사이즈) 에 기초할 수도 있고 LPU는 이 조판 텍스트 사이즈의 배수로서 제공된다. 모든 라인들 (410) 은 뚜렷한 것과 희미한 것 바로 그 사이의 동일한 매우 가볍고 미미한 색, 예컨대, 회색으로 디스플레이된다. 이런 식으로, 노트 필기 자체로부터 산만해지는 일 없이 핸드라이팅 입력을 안내하기 위해서 라인 패턴은 눈에 띄지만 거슬리지 않는다. 라인 패턴 배경 (410) 은 핸드라이팅된 텍스트 콘텍스트에 디스플레이되고 다음의 다수의 목적들을 제공한다:In the edit view (and other views as appropriate), various page elements are displayed, including top padding 402 , left margin 404 and right margin 406 . The padding and margins define an input area 408 having a line pattern background 410 as a guide element. Line pattern 410 has a plurality of substantially parallel (horizontal) lines separated by a multiple of a vertical rhythm height unit, which is a density independent pixel (dp). Regardless of the particular device 100 , the vertical distance between the horizontal lines 410 is defined by a line pattern unit (LPU) and the vertical rhythm height unit provides a graduated measure of the LPU on the particular device. For example, the LPU may be set to about one centimeter for any device that is a specific multiple of the vertical rhythm height unit, or users may be encouraged to customize the line pattern unit to different multiples of the vertical rhythm height unit according to their writing style. may be allowed. Alternatively, the vertical rhythm may be based on a typesetting text size (eg, a minimum text size) and the LPU is provided as a multiple of this typesetting text size. All the lines 410 are displayed in the same very light and insignificant color just between the clear and the faint, eg, gray. In this way, the line pattern is striking but unobtrusive to guide handwriting input without being distracted from the note taking itself. Line pattern background 410 is displayed in the handwritten text context and serves a number of purposes:

핸드라이팅 인식이 최적화되도록 사용자들이 그것에 강제로 기입하게 하며Force users to write in it so that handwriting recognition is optimized

동일한 기입 사이즈와 더 나은 블록 치수들 및 포지션들로 이어지는 일정한 수직 리듬 기입을 사용자들이 채택하는 것을 도우며 (나중에 설명됨)Helps users adopt a constant vertical rhythmic writing leading to the same writing size and better block dimensions and positions (discussed later)

예상된 콘텐츠, 예를 들어, 도면들 및 수식들과 같은 다른 콘텍스트들을 위해 디스플레이될 수 있는 전용 배경들에 관한 힌트를 사용자들에게 제공하며provide users with hints regarding expected content, for example dedicated backgrounds that can be displayed for other contexts such as drawings and equations;

사용자들이 단락들을 정의하는 라인 스키핑을 제어하는 것을 도움 (나중에 설명됨).Help users control line skipping defining paragraphs (discussed later).

상부 패딩 (402) 은 임의의 새로운 페이지 또는 섹션 상에 디스플레이되고 라인 패턴 배경을 포함하지 않는다. 이는 사용자들이 적절한 수직 스페이싱으로, 즉, 인터페이스 (104) 경계로부터 너무 가깝지 않게 기입하고 다른 엘리먼트들, 이를테면 섹션 타이틀지정 (titling) 및 태깅을 위한 자리를 남겨두는 것을 돕는다. 상부 패딩 (402) 은 LPU의 배수에 의해 정의되며, 예컨대, 도 4의 예에서 상부 패딩은 LPU의 두 배이다.The top padding 402 is displayed on any new page or section and does not include a line pattern background. This helps users write with proper vertical spacing, ie, not too close from the interface 104 boundary, leaving room for other elements, such as section titling and tagging. The top padding 402 is defined by a multiple of the LPU, eg, in the example of FIG. 4 the top padding is twice the LPU.

좌측 및 우측 마진들 (404 및 406) 은 수직 라인들로 디스플레이된다. 도 4의 예에서 이들 라인들은 색 및 정의에서 라인 패턴 (410) 과 유사하지만, 이들 라인들은 원한다면 더 굵게 디스플레이될 수도 있다. 수직 라인 마진들은 대응하는 좌측 및 우측 '페이지' 에지들로부터 수직 리듬 유닛의 배율로 위치된다. 이 배율은 상이한 마진 폭 계산들을 정의하는 특정 디바이스 (100) 에 따라 변화한다. 예시적인 배율들은 표 1에서 상세하다.Left and right margins 404 and 406 are displayed as vertical lines. In the example of FIG. 4 these lines are similar in color and definition to line pattern 410 , although these lines may be displayed bolder if desired. Vertical line margins are located from the corresponding left and right 'page' edges to a scale of the vertical rhythm unit. This magnification varies depending on the particular device 100 defining different margin width calculations. Exemplary magnifications are detailed in Table 1.

디바이스device 스크린 사이즈screen size 승수multiplier 마진 폭margin width 스마트폰 Smartphone 약 17 cm 미만(< 7") Approx. less than 17 cm (< 7") 2/32/3 32 dp32 dp 패블릿 phablet 약 17 내지 약 25 cm(7" < 10") About 17 to about 25 cm (7" < 10") 3/33/3 48 dp48 dp 태블릿 tablet 약 25 내지 약 32 cm(10" < 13") About 25 to about 32 cm (10" < 13") 4/34/3 64 dp64 dp 랩톱 컴퓨터 laptop computer 약 32 cm 내지 약 37 cm(13" < 15") About 32 cm to about 37 cm (13" < 15") 5/35/3 80 dp80 dp 데스크톱 컴퓨터 desktop computer 약 37 cm 내지 약 50 cm(15" < 21") About 37 cm to about 50 cm (15" < 21") 6/36/3 96 dp96 dp 텔레비전 television 약 50 cm 초과(> 21") >50 cm (> 21") 8/38/3 128 dp128 dp

대안적으로, 마진들의 폭은 수직 리듬 유닛에 의해서가 아니라 디바이스 (100) 의 인터페이스 (104) 의 폭의 백분율에 기초하여 정의될 수도 있다. 이런 식으로, 마진들의 상대 사이즈는 디바이스 (100) 및/또는 디스플레이 (102) 의 배향과는 독립적으로 정의된다.Alternatively, the width of the margins may be defined based on a percentage of the width of the interface 104 of the device 100 and not by the vertical rhythm unit. In this way, the relative size of the margins is defined independently of the orientation of the device 100 and/or display 102 .

마진들 (404, 406) 은 핸드라이팅된 텍스트 콘텍스트에서 디스플레이되고, 다음의 다수의 목적들을 제공한다:Margins 404 and 406 are displayed in a handwritten text context and serve a number of purposes:

기입된 언어표현의 방향에 대한 적절한 정렬로, 그리고 너무 인터페이스 경계로부터 너무 가깝지 않게 사용자들이 기입하는 것을 도우며It helps users to write with proper alignment to the direction of the written expression, and not too close to the interface boundary.

우측 및/또는 좌측 마진 내의 안전한 단일-포인트 스크롤링을 허용하며 (나중에 설명됨) Allows for safe single-point scrolling within right and/or left margins (discussed later)

콘텐츠 태깅을 위해 좌측 및/또는 우측 마진에 전용 존을 제공하며Dedicated zones on the left and/or right margins for content tagging

스크롤 페이지 상의 콘텐츠 입력의 섹션들을 정의하는 슬라이스 제스처를 위해 좌측 및/또는 우측 마진에 전용 존을 제공한다.Dedicated zones are provided in the left and/or right margins for slicing gestures that define sections of content input on a scrolling page.

도 4의 예에서, 마진들 (404, 406) 은 상부 패딩 (402) 에서 디스플레이되지 않고 제 1 라인 패턴 (410) 수평 라인으로부터 시작한다. 그러나, 마진들은 원한다면 상부 패딩으로 연장할 수도 있다. 게다가, 라인 패턴 (410) 은 이들 영역들에의 기입을 막기 위하여 마진 엘리먼트들에 디스플레이되지 않는다. 그러나, 주석들 등을 위해 마진들에의 기입을 허용하는 것이 바람직할 수도 있다. 대안적으로, 마진들은 페이지 (400) 의 수평 범위들과의 호버-오버 또는 접촉 상호작용으로만 디스플레이되거나 또는 전적으로 생략됨으로써, 예를 들어, 스크린/UI 에지들에 너무 가깝게 기입하지 않는 사용자들의 자연스러운 핸드라이팅 행동들에 의존할 수도 있다.In the example of FIG. 4 , the margins 404 , 406 are not displayed in the top padding 402 and start from the first line pattern 410 horizontal line. However, the margins may extend to the top padding if desired. Moreover, the line pattern 410 is not displayed on the margin elements to prevent writing to these regions. However, it may be desirable to allow writing to margins for annotations and the like. Alternatively, the margins may be displayed only on hover or contact interaction with the horizontal extents of the page 400 or omitted entirely, eg, allowing users not to write too close to the screen/UI edges naturally. It may also rely on handwriting behaviors.

도 5a 내지 도 7b는 디바이스 (100) 의 인터페이스 (104) 에 관련하여 다양한 스크롤링된 포지션들에서의 입력 콘텐츠가 있거나 없는 스크롤 페이지 (400) 의 예시적인 시각적 렌더링의 개략도들을 도시한다. 본 예에서, 빈 스크롤 페이지의 디폴트 높이는 상부 패딩 (402) 을 보상하고 사용자들에 의한 애플리케이션 (112) 의 스크롤링 특징의 발견가능성 (discoverability) 을 허용하기 위해서 인터페이스 (104) 의 높이보다 약간 더 높다. 빈 페이지 높이는 편집 보기 높이 더하기 상부 패딩 높이에 의해 정의되어서, 편집 보기는 인터페이스 (104) 의 가시 영역 (132) 아래로 연장한다. 다시 말하면, 도 5a에 도시된 바와 같이, 빈 스크롤 페이지는 가시 영역 (132) 내의 패딩 (402) 과 가시 영역 외부의 익스텐드 영역 (412) 열 가진다. 도 5b에서, 빈 스크롤 페이지는 멀티-포인트 스크롤 제스처 (A) (나중에 설명됨) 를 사용하여 위방향으로 스크롤링되어서, 패딩 (402) 은 가시 영역 (132) 외부에 있고 익스텐드 영역은 이제 보여진 스크롤 페이지 (400) 의 일부이다. 이 빈 페이지 높이는 스크롤 페이지가 다른 디바이스들 상에서 상이한 스크린 사이즈들로 랜더링될 때 적응된다.5A-7B show schematic diagrams of example visual renderings of a scrolling page 400 with and without input content at various scrolled positions relative to an interface 104 of device 100 . In this example, the default height of an empty scrolling page is slightly higher than the height of the interface 104 to compensate for the top padding 402 and to allow discoverability of the scrolling feature of the application 112 by users. The blank page height is defined by the edit view height plus the top padding height, such that the edit view extends below the visible area 132 of the interface 104 . In other words, as shown in FIG. 5A , an empty scrolling page has columns of padding 402 within the visible area 132 and an extended area 412 outside the visible area. In FIG. 5B , an empty scrolling page has been scrolled upward using a multi-point scrolling gesture (A) (described later) such that the padding 402 is outside the visible area 132 and the extended area is now shown scrolling. It is part of page 400 . This blank page height is adapted when the scrolling page is rendered with different screen sizes on different devices.

콘텐츠 입력이 일어나는 어느 때든지, 페이지 높이는 그에 따라 연장하고, 종이 사이즈 제한을 제거함으로써 인터럽트되지 않는 방식의 기입을 제공하도록 스크롤 가능하게 유지된다. 다시 말하면, 도 6a에 도시된 바와 같이, 입력 콘텐츠 B의 높이는 콘텐츠 영역 (414) 을 정의하고 추가의 익스텐드 영역 (416) 이 동일한 치수들을 갖는 스크롤 페이지 (400) 의 하단에서 정의된다. 이런 식으로, 어떤 콘텐츠가 입력되든, 사용자들은 새로운 섹션 (도 6b에 도시된 바와 같음) 을 생성할 필요 없이 기입 공간을 "클리어"하기 위해 그것을 보기 외부 위방향으로 밀 수 있고, 심지어 임의의 콘텐츠를 기입하는 일 없이, 페이지는 사용자들이 스크롤 페이지 (400) 의 내비게이션가능 양태들을 이해하도록 스크롤 가능하다.Anytime content entry occurs, the page height remains scrollable, extending accordingly, and providing writing in an uninterrupted manner by removing paper size restrictions. In other words, as shown in FIG. 6A , the height of the input content B is defined at the bottom of the scroll page 400 which defines a content area 414 and an additional extend area 416 having the same dimensions. In this way, no matter what content is entered, users can slide it upwards out of view to “clear” the writing space without having to create a new section (as shown in FIG. 6b ), and even any content Without entering , the page is scrollable for users to understand navigable aspects of scrolling page 400 .

임의의 콘텐츠 입력이 페이지 속성들을 실시간으로 (또는 가능한 한 빨리) 업데이트하여, 사용자들이 보기 외부에서 콘텐츠를 스크롤하고 미는 것을 허용한다. 페이지 높이 연장량은 콘텐츠 입력 높이 (첫 번째 라인의 상단에서 시작하여 마지막 라인의 하단까지 = 라인들의 수 + 1) 와 동일하다. 이는 태블릿에 예를 들면 다음을 제공한다:Any content input updates page properties in real time (or as quickly as possible), allowing users to scroll and slide content out of view. The page height extension is equal to the content input height (starting from the top of the first line to the bottom of the last line = number of lines + 1). This gives the tablet for example:

콘텐츠의 1 라인: (1+1) × 수직 리듬 유닛 = 2 × 48 = 96 dp1 line of content: (1+1) × vertical rhythm unit = 2 × 48 = 96 dp

콘텐츠의 2 개 라인들: (2+1) × 수직 리듬 유닛 = 3 × 48 = 144 dp2 lines of content: (2+1) × vertical rhythm unit = 3 × 48 = 144 dp

콘텐츠의 4 개 라인들: (4+1) × 수직 리듬 유닛 = 5 × 48 = 240 dp4 lines of content: (4+1) × vertical rhythm unit = 5 × 48 = 240 dp

등...etc...

콘텐츠 입력은 페이지 (400) 상의 임의의 포지션에서 최상단 포지션으로부터의 오프셋으로 일어날 수도 있거나, 또는 페이지 상의 임의의 포지션에의 입력 후에 이동될 수도 있다. 다시 말하면, 도 7a에 도시된 바와 같이, 상부 패딩 (402) 에서부터의 입력 콘텐츠 B의 오프셋 C의 높이는 오프셋 영역 (418) 을 정의하고 추가의 익스텐드 영역 (420) 이 동일한 치수들을 갖는 스크롤 페이지 (400) 의 하단에서 정의된다. 이런 식으로, 무슨 콘텐츠가 입력되든, 사용자들은 (도 7b에 도시된 바와 같이) 그것을 새로운 섹션을 생성할 필요 없이 기입 공간을 "클리어"하기 위해 뷰 외부 위방향으로 밀 수 있다. 따라서, 페이지 높이 연장량은 콘텐츠 오프셋을 통합하여, 예를 들면 태블릿에 다음을 제공한다:Content entry may occur at any position on the page 400 an offset from the topmost position, or may be moved after entry into any position on the page. In other words, as shown in FIG. 7A , the height of the offset C of the input content B from the top padding 402 defines an offset area 418 and an additional extend area 420 of a scroll page having the same dimensions ( 400) is defined at the bottom. In this way, whatever content is entered, users can push it upwards out of view to “clear” the writing space without having to create a new section (as shown in FIG. 7B ). Thus, the amount of page height extension incorporates the content offset, giving, for example, a tablet:

1 라인 오프셋을 갖는 1 라인의 콘텐츠: ((1+1) + (1)) × 수직 리듬 유닛 = 3 × 48 = 144 dpContent of 1 line with 1 line offset: ((1+1) + (1)) × vertical rhythm unit = 3 × 48 = 144 dp

3 라인 오프셋을 갖는 2 라인들의 콘텐츠: ((2+1) + (3)) × 수직 리듬 유닛 = 6 × 48 = 288 dpContent of 2 lines with 3 line offset: ((2+1) + (3)) × vertical rhythm unit = 6 × 48 = 288 dp

2 라인 오프셋을 갖는 4 라인들의 콘텐츠: ((4+1) + (2)) × 수직 리듬 유닛 = 7 × 48 = 336 dpContent of 4 lines with 2 line offset: ((4+1) + (2)) × vertical rhythm unit = 7 × 48 = 336 dp

등…etc…

수직 스크롤은 스타일러스 또는 펜으로부터 사용자의 손가락을 구별하는 컴퓨팅 디바이스 (100) 의 능력 (이에 의해 디바이스는 패시브 및 액티브 스타일러스를 정의함) 또는 핸드라이팅을 위해 사용되고 있음을 디바이스에게 표시하거나 또는 통신하는 스타일러스의 능력 또는 이러한 표시를 제공하는 사용자들의 능력에 상이하게 의존하여 핸들링될 수도 있다. 디폴트로, 그리고 구별할 수 없는 디바이스들에서, 입력 영역 (408) 내의 임의의 단일-포인트 터치 또는 호버 이벤트가 콘텐츠 입력으로서 간주되는 것이다. 따라서, 사용자가 새로운 콘텐츠를 입력하는 일 없이 페이지 (400) 를 스크롤하기 위하여, 도 8에 도시된 동일한 시간 쯤에 인터페이스 (104) 를 통한 두 손가락 터칭 또는 호버링을 사용한 멀티-포인트 수직 스크롤 제스처 (A) 와 같은 멀티-포인트 상호작용이 입력 영역 상의 어디에서든 사용될 수 있다.Vertical scrolling is the ability of the computing device 100 to distinguish a user's finger from a stylus or pen, whereby the device defines a passive and an active stylus, or the ability of the stylus to communicate or indicate to the device that it is being used for handwriting. may be handled differently depending on the ability or the ability of users to provide such an indication. By default, and on indistinguishable devices, any single-point touch or hover event within input area 408 is considered content input. Thus, to scroll the page 400 without the user entering new content, a multi-point vertical scrolling gesture (A) using two-finger touching or hovering over the interface 104 at about the same time shown in FIG. 8 . ) can be used anywhere on the input area.

그러나, 멀티-포인트 상호작용을 강제하는 일 없이 스크롤링을 허용하기 위하여, 전용 영역이 마진들 중 하나 이상에서 정의될 수도 있으며, 예컨대, 도 8에서 우측 마진 (406) 은 스크롤 존 (422) 으로 정의된다. 이 존에서 시작하는 그리고 이 존 내에서 (전체적으로 또는 부분적으로) 발생하는 후속 움직임을 갖는 단일-포인트 제스처 (D) (도 8에서 인터페이스 (104) 를 통한 한-손가락 또는 스타일러스 제스처 터칭 또는 호버링으로서 도시됨) 가 콘텐츠 입력으로서가 아니라 스크롤 제스처로서 간주된다. 스크롤링 영역의 폭은 마진 폭에 의해 또는 그것으로부터 독립적으로 정의될 수도 있다. 예를 들어, 스크롤 존은 스크롤링 영역이 심지어 (예컨대, 더 큰 디바이스들로 더 넓은) 마진들의 응답 리사이징에서도 동일하게 유지되도록 사용자의 손가락들 및 스타일러스 팁들의 터치 타겟 치수들 (약 48 dp) 에 의해 정의될 수도 있다.However, to allow scrolling without forcing multi-point interaction, a dedicated area may be defined in one or more of the margins, eg, in FIG. 8 , the right margin 406 is defined as the scroll zone 422 . do. Single-point gesture D (shown in FIG. 8 as one-finger or stylus gesture touching or hovering over interface 104 in FIG. is considered as a scrolling gesture, not as content input. The width of the scrolling region may be defined by or independently from the margin width. For example, the scroll zone is defined by the touch target dimensions (about 48 dp) of the user's fingers and stylus tips such that the scrolling area remains the same even on responsive resizing of margins (eg, wider with larger devices). may be defined.

일단 스크롤 시퀀스가 (어디서든 멀티-포인트로 또는 마진 영역에서의 단일-포인트로 중 어느 하나로) 시작되면 그리고 페이지가 이동을 중지하기까지, 스크롤링은 어디서든 단지 원-포인트 제스처를 사용하여 계속될 수도 있다. 손가락을 스타일러스로부터 구별할 수 있는 디바이스, 또는 디바이스에게 자신의 사용을 표시하는 스타일러스를 사용할 때, 또는 사용자가 이 표시를 사용하며, 따라서 예를 들어 콘텐츠 입력을 위해 액티브 스타일러스를 정의할 때, 멀티-포인트 상호작용은 필요하지 않고 스크롤링은 인터페이스 표면 (104) 상의 어디서든 한-손가락 수직 스크롤 제스처로 이용 가능하다.Once the scrolling sequence begins (either as multi-point anywhere or single-point in the margin area) and until the page stops moving, scrolling may continue anywhere using just one-point gestures. there is. When using a device capable of distinguishing a finger from a stylus, or when using a stylus to indicate to the device its use, or when a user uses this indication, thus defining an active stylus for, for example, inputting content, multi- No point interaction is required and scrolling is available as a one-finger vertical scrolling gesture anywhere on the interface surface 104 .

스크롤 페이지 (400) 는 기입 입력 동안 자동으로 스크롤링되지 않는다. 이는 사용자들이 페이지 포지션의 제어를 하는 것을 허용한다. 그러나, 무한 페이지 상의 어디서든 드롭핑 (dropping) 을 허용하기 위해서 사용자가 선택된 콘텐츠를 가시 영역의 상단 또는 하단 에지들 근처에서 드래그할 때 자동 스크롤링은 발생하지 않는다. 다시 말하면, 임의의 유형의 콘텐츠 (텍스트 또는 대상들) 를 선택할 때, 사용자들이 페이지의 가시 부분 상측 또는 하측을 포함하는 페이지 상의 다른 어디에서나 그 콘텐츠를 재포지셔닝하는 것을 원할 수도 있다. 도 9에 도시된 예에서, 콘텐츠 (424) 는 (나중에 설명되는 방식으로) 선택된 다음 가시 영역 (132) 의 상단 또는 하단 에지들 가까이에서의 선택 및/또는 드래깅/푸싱 동안 일시적으로 정의되는 자동 스크롤 영역들 (426) 속으로 선택된 콘텐츠를 이동시키기 위해 (드래깅의 시퀀스 디스플레이로) 드래깅되거나 또는 밀어진다. 일단 콘텐츠가 스크롤 영역들 (426) 속으로 드래깅/푸싱되면, 스크롤 페이지 (400) 는 드래그 포지션에 결속된 스크롤링 속력으로, 즉, 페이지 (400) 의 에지에 더 가까울수록 페이지가 더 빨리 스크롤링되게 스크롤링된다. 콘텐츠가 드롭핑되지 않는 한, 상단/하단 자동 스크롤링 영역들 둘 다는 예를 들어, 스크롤링이 너무 멀리 갔다면, 사용자들이 반대 방향으로 스크롤링하는 것을 허용하기 위해 액티브가 된다. 콘텐츠가 드롭핑되고 드래그/푸시 시퀀스가 종료될 때, 콘텐츠 입력이 전체 가시 페이지 상에서 다시 가능하게 되도록 상단/하단 자동 스크롤링 영역들은 디스에이블된다.Scrolling page 400 does not automatically scroll during write input. This allows users to take control of the page position. However, automatic scrolling does not occur when the user drags the selected content near the top or bottom edges of the viewable area to allow dropping anywhere on the infinite page. In other words, when selecting any type of content (text or objects), users may want to reposition that content elsewhere on the page, including above or below the visible portion of the page. In the example shown in FIG. 9 , the content 424 is selected (in a manner described later) and then auto-scrolling is defined temporarily during selection and/or dragging/pushing near the top or bottom edges of the visible area 132 . It is dragged or pushed (to the sequence display of dragging) to move the selected content into regions 426 . Once the content is dragged/pushed into the scroll regions 426 , the scroll page 400 scrolls at a scrolling speed bound to the drag position, ie, the closer to the edge of the page 400 the faster the page scrolls. do. As long as the content is not dropping, both the top/bottom auto-scrolling areas become active to allow users to scroll in the opposite direction, for example if the scrolling has gone too far. When the content is dropped and the drag/push sequence ends, the top/bottom auto-scrolling areas are disabled so that content input is re-enabled over the entire visible page.

스크롤 페이지는 사이징 또는 정렬에 관한 우려 없이 어디서든 사용자들이 대상 블록들 (텍스트, 그림들 등의 블록들) 을 생성하는 것을 허용하는 어느 하나의 제약조건 없는 캔버스로서 제공될 수 있다. 그러나, 구조화된 콘텐츠를 포함하는 전문적으로 포맷팅된 문서들을 제공하기 위하여, (입력에서 또는 사용자 상호작용을 따라 중 하나로) 모든 콘텐츠가 정렬/정의될 정렬 패턴이 정의될 수도 있다. 본원의 시스템 및 방법의 하나의 예에서, 정렬 패턴은 디바이스 사이즈/배향에 대한 응답으로서 정의되고, 자체가 디스플레이되지 않지만 콘텐츠 엘리먼트들의 정렬을 정의하기 위해 애플리케이션 (112) 에 의해 사용된다. 예시적인 정렬 패턴 (1000) 의 다양한 엘리먼트들이 도 10 내지 도 14를 참조하여 이제 설명된다.A scrolling page can be presented as an unconstrained canvas that allows users to create object blocks (blocks of text, pictures, etc.) from anywhere without concerns about sizing or alignment. However, in order to provide professionally formatted documents containing structured content, an alignment pattern may be defined in which all content will be sorted/defined (either at input or following user interaction). In one example of the systems and methods herein, an alignment pattern is defined as a response to device size/orientation and is not itself displayed but used by the application 112 to define the alignment of content elements. Various elements of the example alignment pattern 1000 are now described with reference to FIGS. 10-14 .

정렬 패턴 (1000) 은 디바이스 (100) 의 인터페이스 (104) 의 에지들에 너무 가까이에서 콘텐츠가 입력되는 것을 방지하는 좌측 및 우측 패딩 영역들 (1002) 을 가진다. 패딩 영역들 (1002) 의 사이즈는 루트 엘리먼트 폰트 사이즈 (rem), 예컨대, <html> 엘리먼트의 폰트 사이즈에 관련된 텍스트 사이즈에 기초한다. CSS 스타일링 (예를 들어, https://developer.mozilla.org/en/docs/Web/CSS/length에서처럼), rem 유닛은 루트 엘리먼트의 디폴트 폰트 사이즈 (예컨대, 웹 브라우저들에 대해 1 rem = 16 화소들 (px)) 를 나타낸다. rem 유닛은 텍스트 사이즈가 응답 수직 리듬 유닛 (dp) 에 대한 모듈러 스케일로 구축되어 있는 응답 유닛으로서 간주된다. rem 유닛 원리는 루트 엘리먼트에 대한 디폴트 폰트 사이즈가 변경될 때, 이 단일 변경으로부터 상속된 모든 다른 속성들과 모든 엘리먼트들이 그에 따라 적응된다는 것이다. 그러나, 일부 브라우저 애플리케이션들이 rem 유닛을 지원하지 않을 수도 있으므로, 이러한 레이아웃은 대신 "em" 유닛을 사용하여 성취될 수 있다. 이 유닛 사이즈 정의는 다른 워딩 및 변수들로 동일한 행동을 구현하는 모바일 디바이스 운영 체제 (OS) 동적 유형에 관련된다 (예를 들어, https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html#//apple_ref/doc/uid/TP40009542-CH4-SW65 참조).Alignment pattern 1000 has left and right padding regions 1002 that prevent content from being input too close to the edges of interface 104 of device 100 . The size of the padding regions 1002 is based on the text size relative to the root element font size (rem), eg, the font size of the <html> element. For CSS styling (eg, as in https://developer.mozilla.org/en/docs/Web/CSS/length), the rem unit is the root element's default font size (eg 1 rem = 16 for web browsers) pixels (px)). The rem unit is regarded as a response unit whose text size is built on a modular scale for the response vertical rhythm unit dp. The rem unit principle is that when the default font size for the root element is changed, all other attributes inherited from this single change and all elements are adapted accordingly. However, since some browser applications may not support the rem unit, this layout can be achieved using the "em" unit instead. This unit size definition relates to a mobile device operating system (OS) dynamic type that implements the same behavior with different wording and variables (eg https://developer.apple.com/library/ios/documentation/StringsTextFonts See /Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html#//apple_ref/doc/uid/TP40009542-CH4-SW65).

패딩 영역들 (1002) 사이의 영역은 가용 수평 공간을 입력 영역 (408) 으로서 정의한다. 정렬 패턴 (1000) 은 가변하는 수의 열들 (1004) 을 정의하는데, 그 열들은 패딩 (1002) 사이의 전체 가용 수평 공간 (파선들로 나누어져 도시됨) 을 채우도록 모두 동일한 폭이고 유연하다. 따라서, 입력 영역 (408) 은 도 10 에 도시된 바와 같은 열들 (1004) 로 동일하게 나누어진다. 그 열들은 dp 단위의 최소 애플리케이션 폭 값들, 예컨대, 애플리케이션 (112) 이 풀-스크린으로 제공될 때의 스크린 폭 또는, 이를테면 데스크톱/랩톱 상에서 감소된 때의 윈도우 폭, 또는 태블릿 상의 분할 스크린으로서 중단점들을 정의한다.The area between the padding areas 1002 defines the available horizontal space as the input area 408 . Alignment pattern 1000 defines a varying number of columns 1004 , which are all equal width and flexible to fill the entire available horizontal space (shown divided by dashed lines) between padding 1002 . Thus, the input area 408 is equally divided into columns 1004 as shown in FIG. 10 . The columns are the minimum application width values in dp, eg the screen width when the application 112 is presented in full-screen, or the window width, eg when reduced on a desktop/laptop, or a breakpoint as a split screen on a tablet. define them

열 사이징 (sizing) 은 열 카운트에 따라 달라지며, 그래서 열 너비는 전체 가용 수평 공간, 다시 말하면 입력 영역 (408) 의 백분율에 의해 정의된다 (예컨대, 네 개의 열들 = 25%). 의미 있는 레이아웃이 제공될 수 있도록 각각의 열 내에 최소 콘텐츠 디스플레이를 제공하기 위해서 열 카운트는 제공된다. 도 11은 상이한 디바이스들의 스크린 사이즈에 의존하는 상이한 열 카운트들의 그래프를 도시한다. 이 그래프에 따르는 특정한 디바이스 예들은 (풀 스크린 콘텍스트에서) 다음과 같다:Column sizing depends on the column count, so the column width is defined by the percentage of the total available horizontal space, ie the input area 408 (eg, four columns = 25%). Column counts are provided to provide minimal content display within each column so that a meaningful layout can be presented. 11 shows a graph of different column counts depending on the screen size of different devices. Specific device examples according to this graph (in a full screen context) are:

iPhone® 6 (세로보기) = 375 dp = 2 열iPhone® 6 (portrait view) = 375 dp = 2 columns

넥서스 6 (가로보기) = 730 dp = 6 (또는 8) 열nexus 6 (landscape view) = 730 dp = 6 (or 8) columns

iPad Air® (세로보기) = 768 dp = 6 (또는 8) 열iPad Air® (portrait view) = 768 dp = 6 (or 8) columns

Surface® Pro 3 (가로보기) = 960 dp = 8 열Surface® Pro 3 (landscape view) = 960 dp = 8 columns

HP® Chromebook 14" = 1366 dp = 8 열HP® Chromebook 14" = 1366 dp = 8 columns

Dell® Inspiron® 23" = 1920 dp = 16 열Dell® Inspiron® 23" = 1920 dp = 16 columns

도 11에 도시된 디바이스들 및 열 카운트들은 응답 레이아웃 디스플레이를 제공하기 위해 열들을 사용하는 개념의 단지 예시이다. 실제 값들은 상이할 수도 있어서, 더 많거나 또는 더 적은 열들이 임의의 주어진 디바이스를 위해 사용된다. 예를 들어, 대화면 디바이스들, 이를테면 빅-스크린 텔레비전들, 전자/상호작용식 화이트보드들, 및 대-화면 터치 모니터들에 대해, 더 큰 문자 사이즈들을 사용하여 핸드라이팅하는 사용자들의 성향은 도 11에 예시된 것보다 더 작은 열 카운트를 사용함으로써 수용될 수도 있고, 소화면 디바이스들, 이를테면 스마트폰들에 대해, 정밀한 스타일러스 사용으로 인한 작은 문자 사이즈들을 사용하여 핸드라이팅하는 사용자들의 능력은 도 11에 예시된 것보다 더 큰 열 카운트를 사용함으로써 수용될 수도 있다. 윈도우 사이즈를 변경하거나 또는 디바이스를 회전시킬 때, 정렬 패턴은 콘텐츠가 새로운 열들에 대해 적응하고 정렬/스냅핑 (snapping) 되어야만 하는 열들을 추가하거나 또는 취출한다 (나중에 설명됨). 다양한 열-너비 블록들이 도 12a 및 도 12b에서 상세하게 된 규칙들을 사용하여 적응된다.The devices and column counts shown in FIG. 11 are merely examples of the concept of using columns to provide a responsive layout display. Actual values may be different, such that more or fewer columns are used for any given device. For example, for large-screen devices such as big-screen televisions, electronic/interactive whiteboards, and large-screen touch monitors, users' propensity to handwrite using larger character sizes is shown in FIG. 11, which may be accommodated by using a smaller thermal count than illustrated in This may be accommodated by using a larger heat count than illustrated. When changing the window size or rotating the device, the alignment pattern adds or retrieves (discussed later) columns whose content adapts to the new columns and should be aligned/snapped. Various column-width blocks are adapted using the rules detailed in FIGS. 12A and 12B .

정렬 패턴 (1000) 은 대상 블록들이 서로에게 너무 가까이 위치되는 것을 방지하기 위해서 좌측 및 우측 에지들 둘 다에서 각각의 열 (1004) 의 수직 경계들에 관해 정의된 거터 (gutter) 공간 (1006) (도 13에 도시됨) 을 추가로 가진다. 정렬 패턴의 다른 엘리먼트들처럼, 거터들 (1006) 은 rem 유닛을 기준으로 정의되고 대상 블록들 (1008) 의 레이아웃이 수행되는 실제 가이드들을 정의한다 (도 14 참조). 대안적으로, 폭 마진들에서처럼, 거터 폭은 수직 리듬 유닛에 의해서가 아니라 디바이스 (100) 의 인터페이스 (104) 의 폭의 백분율에 기초하여 정의될 수도 있다. 이런 식으로, 거터들의 상대 사이즈는 디바이스 (100) 및/또는 디스플레이 (102) 의 배향과는 독립적으로 정의된다. 이는 모든 대상 블록들이 거터 에지들에는 정렬/스냅핑되고 열 에지들 그것들 자체에는 정렬/스냅핑되지 않고 UI 페이지 마진들 (404, 406) 은 최좌측 및 최우측 거터들 (도 13 및 도 14 참조) 상에 위치됨을 의미한다. 이런 식으로, 정렬 패턴 엘리먼트들은 모두가 텍스트 관련 유닛을 사용하여 정의되는데, 레이아웃 스페이싱이 텍스트 사이즈에 따라 달라져서이다. 거터들은 원한다면 생략될 수 있고 절대 열 경계들이 대신 사용될 수 있다.Alignment pattern 1000 is a gutter space 1006 ( 13) in addition. Like other elements of the alignment pattern, the gutters 1006 are defined based on the rem unit and define actual guides on which the layout of the target blocks 1008 is performed (see FIG. 14 ). Alternatively, as with width margins, the gutter width may be defined based on a percentage of the width of the interface 104 of the device 100 and not by the vertical rhythm unit. In this way, the relative size of the gutters is defined independently of the orientation of the device 100 and/or display 102 . This means that all target blocks are aligned/snaps to the gutter edges and not aligned/snaps to the column edges themselves and UI page margins 404, 406 are aligned to the leftmost and rightmost gutters (see FIGS. 13 and 14). ) means that it is located on the In this way, the alignment pattern elements are all defined using text-related units, as the layout spacing depends on the text size. Gutters may be omitted if desired and absolute column boundaries may be used instead.

앞서 설명된 바와 같이, 사용되는 메트릭들은 응답 사이징을 위해 입력 영역 (408) 폭 및 rem 유닛 둘 다에 기초한다. 이들 상이한 메트릭들은 표 2에 도시된 바와 같이 관련된다.As described above, the metrics used are based on both the input area 408 width and rem units for response sizing. These different metrics are related as shown in Table 2.

최소 폭
(dp)
minimum width
(dp)
열들의 수number of columns 열 너비
(입력 영역 폭의 %)
column width
(% of input area width)
마진 폭
(rem)
margin width
(rem)
거터 폭
(rem
gutter width
(rem
00 1One 100100 00 0.750.75 240240 22 5050 1.51.5 0.750.75 480480 44 2525 1.51.5 0.750.75 720720 66 16.6666666716.66666667 2.252.25 0.750.75 960960 88 12.512.5 2.252.25 0.750.75 14401440 1212 8.333333338.333333333 3.03.0 1.01.0 19201920 1616 6.256.25 4.04.0 1.01.0

대안적으로, 모든 메트릭들이 애플리케이션 UI 폭, 예컨대, 마진 및 거터 폭들과, 입력 영역 (408) 폭, 예컨대, 열 너비에 기초하는 예들에서, 응답 사이징을 위해, 상이한 메트릭들이 예를 들어 표 3 에 도시된 바와 같이 관련된다. 표 3에서, 마진 및 거터 폭들에 대한 백분율 값들의 각각의 범위의 상한 백분율 값은 다음 최고 마진 및 거터 폭의 하한 백분율 값의 대응 dp 폭 값에 의해 정의된다. 예를 들어, 240 dp UI 애플리케이션 폭에 대해, 마진 폭에 대한 12.5%의 상한 백분율 값은 30 dp에 대응하며, 이는 480 dp UI 애플리케이션 폭에 대해 마진 폭에 대한 6.25%의 하한 백분율 값을 제공하는 대응 dp 값이다.Alternatively, for response sizing in the examples where all metrics are based on the application UI width, e.g., margin and gutter widths, and the input area 408 width, e.g., column width, different metrics are shown e.g. in Table 3 related as shown. In Table 3, the upper percentage value of each range of percentage values for margin and gutter widths is defined by the corresponding dp width value of the next highest margin and lower percentage value of the gutter width. For example, for a 240 dp UI application width, an upper percentage value of 12.5% for the margin width corresponds to 30 dp, which gives a lower percentage value of 6.25% for the margin width for a 480 dp UI application width. The corresponding dp value.

최소 폭
(dp)
minimum width
(dp)
열들의 수number of columns 열 너비
(입력 영역 폭의 %)
column width
(% of input area width)
마진 폭
(UI 폭의 %)
margin width
(% of UI width)
거터 폭
(UI 폭의 %)
gutter width
(% of UI width)
00 1One 100100 6.256.25 3.1253.125 240240 22 5050 6.25 - 12.56.25 - 12.5 3.125 - 6.253.125 - 6.25 480480 44 2525 6.25 - 9.3756.25 - 9.375 3.125 - 4.6873.125 - 4.687 720720 66 2525 6.25 - 8.336.25 - 8.33 3.125 - 4.1663.125 - 4.166 960960 88 12.512.5 6.25 - 9.3756.25 - 9.375 3.125 - 4.6873.125 - 4.687 14401440 1616 6.256.25 6.25 - 8.336.25 - 8.33 3.125 - 4.1663.125 - 4.166 19201920 1616 6.256.25 6.256.25 3.1253.125

앞서 언급된 바와 같이, 스냅-투-패턴 행동이 대상 블록 정렬을 위해 사용된다. 모든 대상 블록 높이들이 LPU의 정수 배들이 되는 것 또는 각각의 블록의 적어도 상단 경계가 라인 패턴 배경 (410) 의 다음 가용 라인과 정렬되는 것 중 어느 하나를 확실하게 함으로써, 두 가지 방도들에서의 라인 패턴 (410) 에 대한 참조를 통해 수직 스냅이 핸들링된다. 전자의 경우, 어떤 사용자 상호작용이든 (예컨대, 새롭든, 편집되든, 이동되든, 리사이징되든), 모든 대상 블록들은 수직 LPU에 따라 항상 LPU 반올림되고 위치된다 (예컨대, 상단 및 하단 경계들은 라인 패턴 배경 (410) 과 정렬된다). 어느 쪽이든 스냅-투-그리드 메커니즘의 LPU 부분이 제공된다. 수평 스냅의 경우, 어떤 사용자 상호작용이든 (예컨대, 새롭든, 편집되든, 이동되든, 리사이징되든), 모든 대상 블록들의 좌측 및 우측 경계들은 어느 경우에나 열들 (1004) (또는 거터들 (1006)) 과 정렬된 채로 유지된다. 이는 스냅-투-그리드 메커니즘의 레이아웃 부분을 제공한다. 따라서, 수직 및 수평 스냅 동작들은 수직 정렬 및 수평 정렬을 LPU (수직) 및 레이아웃 (수평) 그리드에 제공한다.As mentioned earlier, snap-to-pattern behavior is used for target block alignment. Line in both approaches by ensuring that all target block heights are integer multiples of the LPU or that at least the top boundary of each block is aligned with the next available line of the line pattern background 410 . Vertical snapping is handled via reference to pattern 410 . In the former case, at any user interaction (eg, new, edited, moved, or resized), all target blocks are always LPU rounded and positioned according to the vertical LPU (eg, top and bottom borders are line pattern backgrounds) is aligned with (410)). Either way, the LPU part of the snap-to-grid mechanism is provided. In the case of horizontal snapping, at any user interaction (eg, new, edited, moved, or resized), the left and right boundaries of all object blocks are in any case columns 1004 (or gutters 1006 ). remain aligned with This provides the layout part of the snap-to-grid mechanism. Thus, vertical and horizontal snap operations provide vertical and horizontal alignment to the LPU (vertical) and layout (horizontal) grids.

대안적으로, 유려한 상호작용을 제공하기 위하여 그리고 사용자들이 레이아웃을 제어하고 있음을 느낀다고 하면, 대상 블록의 임의의 이동/리사이즈는 실시간으로 업데이트되고 상호작용 동안 현재 터치 또는 호버 포지션과 정렬될 (즉, LPU 및 레이아웃 그리드와는 정렬 또는 스냅되지 않을) 수도 있다. 예를 들면, 블록 리사이즈 (나중에 상세하게됨) 동안 대상 블록 경계들이 심지어 열/라인의 중간에 있다하더라도 정확한 터치 또는 호버 포지션으로 업데이트된다.Alternatively, any movement/resizing of the target block will be updated in real time and aligned with the current touch or hover position during interaction (i.e., if users feel they are in control of the layout, in order to provide fluid interaction and users feel they are in control of the layout). , not aligned or snapped to the LPU and layout grid). For example, during block resize (more on this later) the target block boundaries are updated with the correct touch or hover position even if they are in the middle of a column/line.

전체 결과를 미리보기하기 위해 다른 주변 엘리먼트들을 실시간으로 업데이트하는 것 외에, 일단 대상이 LPU 및 레이아웃 그리드 상으로 스냅핑되면, 사용자들은 무슨 레이아웃이 될지를 나타내는 시각적 피드백을 가져야 한다. 하나의 가능한 피드백은 상호작용 동안 상호작용된 블록 밑에 어두운/색깔 있는 스냅핑됨-투-그리드 오버레이를 표시하는 것일 수 있다. 일단 사용자가 대상 블록과 상호작용하는 것을 중단하면, 모든 블록 경계들은 스위프트 (swift) 애니메이션과 함께 LPU 및 레이아웃 그리드에 스냅핑된다. 기입할 때, 사용자에게 자유 핸드라이팅 경험을 유지하기 위해서 손가락 또는 스타일러스가 디바이스 인터페이스에 관계되는 경우 텍스트가 실질적으로 나타난다. 그러나, 단락 경계들은 LPU 및 레이아웃 그리드와는 그것이 무엇이든 상관 없이 정렬된다 (아래에서 더 상세히 논의됨). 예를 들어, 단락의 좌측 경계는 가장 가까운 좌측 거터 (1006) 와 정렬되고 단락의 우측 경계는 가장 가까운 우측 거터 (1006) 와 정렬된다. 게다가, 사용자의 적절한 스페이싱의 인지를 지원하기 위하여 적어도 현재 입력 열의 거터들 내의 라인 패턴 배경의 디스플레이는 입력 동안 생략될 수도 있다. 예를 들어, 네 열 (four column) 그리드의 두 번째 열에서의 입력 동안, 라인 패턴 배경은 두 번째 열의 좌측 및 우측 거터들에서 생략/마스킹되고, 첫 번째 열의 우측 거터 및 세 번째 열의 좌측 열에서 추가로 생략/마스킹될 수도 있다. 내부 단락 특징들, 이를테면 들여쓰기들 (예컨대, 좌측에서 우측으로 기입된 언어표현들에 대해 단락 좌측 원점으로부터의 텍스트 수평 오프셋) 은, LPU 및 레이아웃 그리드 사이징과는 관련 없는 단락의 각각의 라인에 대해, 예를 들어 메모리 (108) 에서, 속성으로서 저장되거나 또는 열들과 정렬되는 중 어느 하나가 될 수도 있다.Besides updating other surrounding elements in real time to preview the overall result, once an object is snapped onto the LPU and layout grid, users should have visual feedback indicating what the layout will be. One possible feedback could be to display a dark/colored snapped-to-grid overlay under the interacted block during interaction. Once the user stops interacting with the target block, all block boundaries are snapped to the LPU and layout grid with a swift animation. When writing, text appears substantially when a finger or stylus is engaged with the device interface to maintain a free handwriting experience for the user. However, paragraph boundaries are aligned with the LPU and the layout grid no matter what (discussed in more detail below). For example, the left boundary of a paragraph is aligned with the nearest left gutter 1006 and the right boundary of the paragraph is aligned with the nearest right gutter 1006 . In addition, display of the line pattern background within the gutters of at least the current input column may be omitted during input to support the user's perception of proper spacing. For example, during input in the second column of a four column grid, the line pattern background is omitted/masked in the left and right gutters of the second column, the right gutter of the first column and the left column of the third column It may be omitted/masked in addition. Inner paragraph characteristics, such as indents (eg, text horizontal offset from the paragraph left origin for left-to-right linguistics), for each line of a paragraph that are not related to the LPU and layout grid sizing , eg, in memory 108 , either stored as an attribute or sorted with columns.

대상 블록 생성 및 관리를 수반하는 특정한 예시적인 동작들이 도 15 내지 도 24를 참조하여 이제 설명된다. 이들 도면들에서 도시된 예들은 좌측에서 우측으로 기입된 언어표현 콘텍스트로 있고, 그러므로 포지션들에 대한 임의의 기준이 상이한 방향성 포맷들을 갖는 기입된 언어표현들에 적응될 수 있다. 도 15 내지 도 24의 각각에서 스크롤 페이지 (400) 의 일부는 디바이스 인터페이스의 가시 영역에 묘사된 바와 같은 개략적 형태로 도시된다. 스크롤 페이지 (400) 는, 그리드 (1500) 의 수평 라인들 (1502) 로서 라인 패턴 배경 (410) 으로부터 구성되는 LPU 및 레이아웃 그리드 (1500) 와, 페이지 (400) 를 다수의 열들 (1004), 예컨대, 모든 도면들에서 여섯 열들 (세 개의 열들이 묘사되는 도 22B 및 도 24를 제외함) 로 나누는 그리드 (1500) 의 수직 라인들 (1504) 에 의해 정의된 정렬 패턴 (1000) 과 함께 도시된다. 스크롤 페이지의 상부 패딩 및 마진들과, 정렬 패턴의 패딩 영역들 및 열 거터들은 설명의 편의를 위해 도면들 (도 22를 제외) 에서 생략된다. 따라서, 도 22를 제외하면, 설명되는 레이아웃 엘리먼트들은 열 거터들이 아니라 그리드 (1500) 의 수직 라인들 (1504) 에 정렬 도시된다. 미리 설명된 바와 같이, 정렬 그리드 자체는 사용자들에게 디스플레이되지 않고 애플리케이션 (112) 에 대한 대상 블록들의 레이아웃의 관리를 위한 비가시 가이드로서 역할을 하지만, 라인 패턴 배경 (410) 은 기입 사이즈 및 배치에 대한 안내를 제공하기 위해 사용자들에게 디스플레이될 수도 있다.Certain example operations involving object block creation and management are now described with reference to FIGS. 15-24 . The examples shown in these figures are in a left-to-right written linguistic context, and therefore any criterion for positions can be adapted to written linguistics with different directional formats. A portion of the scrolling page 400 in each of FIGS. 15-24 is shown in schematic form as depicted in the viewable area of the device interface. Scrolling page 400 includes an LPU and layout grid 1500 constructed from a line pattern background 410 as horizontal lines 1502 of grid 1500 , and page 400 in multiple columns 1004 , such as , is shown with alignment pattern 1000 defined by vertical lines 1504 of grid 1500 dividing it into six columns in all figures (except in FIGS. 22B and 24 , where three columns are depicted). Top padding and margins of the scroll page, padding regions and column gutters of the alignment pattern are omitted from the drawings (except FIG. 22 ) for convenience of description. Thus, with the exception of FIG. 22 , the described layout elements are shown aligned in vertical lines 1504 of grid 1500 rather than column gutters. As previously described, the alignment grid itself is not displayed to users and serves as an invisible guide for management of the layout of target blocks for the application 112 , however, the line pattern background 410 is dependent on the write size and placement. It may also be displayed to users to provide guidance about it.

본원의 시스템 및 방법에 의해 채용된 레이아웃 관리는 대상 블록들이 정의되는 그리고 일반적으로 단순한 제스처들의 사용을 통해 사용자들에 의해 조작될 수 있는 방법을 핸들링한다. 이는 사용자들이 레이아웃의 제어에 있음을 느끼게 하는 방식으로 행해져서, 자동 행동들에 제한이 있고 사용자들이 콘텐츠를 원하는 대로 위치시키도록 얼마간의 유연성이 제공된다. 디지털 노트 필기 애플리케이션 (112) 이 주로 노트들의 핸드라이팅 캡처를 위한 것이므로, 주 대상 블록은, 행바꿈 (line break) 들과 단락기호 (alinea) 인 서브-엘리먼트들 (즉, 두 개의 행 바꿈들 사이의 단락들의 서브세트들) 을 갖는 텍스트의 단락 또는 텍스트 블록으로서 간주될 수 있다. 단락들의 관리는 사용자들이 다수의 단락들을 생성하며, 단락들을 분리하며, 단락들을 병합하며, 단락에서 콘텐츠를 제거하며, 단락들을 이동시키고 단락들을 리사이징하는 능력을 포함한다. 특히 텍스트 블록들에 관련하여 생성될 수 있고 관리되는 것이 필요한 다른 대상 블록들은, 이미지들, 그림들 및 수식들과 같은 콘텐츠를 포함한다.The layout management employed by the systems and methods herein handles how object blocks are defined and can generally be manipulated by users through the use of simple gestures. This is done in such a way that users feel they are in control of the layout, limiting automatic actions and providing some flexibility for users to position the content as they want. Since the digital note taking application 112 is primarily for handwriting capture of notes, the main target block is sub-elements that are line breaks and alinea (ie, between two line breaks). may be considered as a paragraph or text block of text with subsets of paragraphs of Management of paragraphs includes the ability for users to create multiple paragraphs, separate paragraphs, merge paragraphs, remove content from paragraphs, move paragraphs and resize paragraphs. Other object blocks that can be created and need to be managed, especially in relation to text blocks, include content such as images, drawings and equations.

레이아웃 관리는, 상이한 대상 블록들을 원하는 레이아웃으로 생성하는 그리고 별개의 대상 블록들에 대해 다음과 같은 동작들을 수행하는 능력을 제공한다:Layout management provides the ability to create different object blocks in a desired layout and perform the following operations on separate object blocks:

블록/단락의 우측 또는 좌측에 블록 삽입 또는 드래그/푸시 앤 드롭 (빈 공간이 있는 경우임)Insert or drag/push and drop a block to the right or left of a block/paragraph (if there is empty space)

블록/단락의 하측 또는 상측에 블록 삽입 또는 드래그/푸시 앤 드롭 (빈 공간이 있는 경우임)Insert or drag/push and drop a block below or above a block/paragraph (if there is an empty space)

단락 내부에 삽입 (인라인)Insert inside paragraph (inline)

단락들 사이에 삽입.Insert between paragraphs.

도 15에서 제 1 단락이 마진-정렬된 단락 (1506) 으로서 도시되는데, 이 단락은 그리드 (1500) 의 최좌측 또는 첫 번째 수직 라인 (1504) 과 정렬되고 그리드 (1500) 의 네 개의 수평 라인들 (1502), 또는 네 개의 LPU들에 걸쳐 있다. 그 단락은 수평 실선들로서 묘사된 핸드라이팅된 텍스트를 포함한다. 제 2 단락이 유동 텍스트 블록 (1508) 으로서 도시되는데, 이 단락은 그리드 (1500) 의 두 번째 수직 라인 (1504) 에 정렬되고 네 개의 LPU들에 걸쳐 있다. 유동 텍스트 블록 (1508) 의 스냅-투-그리드 (snapped-to-grid) 범위는 점선 경계 (1508a) 에 의해 도시되며, 그 점선 경계 내부에서 그리드 패턴은 명료함을 위해 숨겨진다. 현재의 예시적인 스크롤 페이지 (400) 의 콘텍스트에서의 '마진-정렬된' 및 '유동(floating)'의 개념들은, 페이지의 마진에 대해 정렬된 그들 블록들, 이를테면 문서 편집기 애플리케이션의 페이지 상에서 좌측-정렬된 또는 우측-정렬된 텍스트의 단락들과, 마진들을 기준으로 (그리드에 대한 제약조건을 가지고서) 자유롭게 위치되는 그들 블록들을 구별하기 위해 제공된다. 도시된 바와 같이 단락들 (1506, 1508) 자체의 텍스트는 사용자가 자신의 제어가 손실된다는 느낌을 얻지 않도록 그리드에 스냅핑되지 않는다. 단락 내의 텍스트의 실제 입력 포지션은, 콘텐츠의 시작과 그 단락 좌측의 가장 가까운 열 사이의 거리에 대응하는 단락의 각각의 라인의 속성인 텍스트 들여쓰기를 정의하고, 예를 들어 메모리 (108) 에, 저장함으로써 제공된다.The first paragraph in FIG. 15 is shown as margin-aligned paragraph 1506 , which is aligned with the leftmost or first vertical line 1504 of the grid 1500 and the four horizontal lines of the grid 1500 . 1502, or across four LPUs. The paragraph contains handwritten text depicted as horizontal solid lines. The second paragraph is shown as a floating text block 1508 , which is aligned to the second vertical line 1504 of the grid 1500 and spans four LPUs. The snapped-to-grid extent of the floating text block 1508 is shown by a dashed boundary 1508a within which the grid pattern is hidden for clarity. The concepts of 'margin-aligned' and 'floating' in the context of the current exemplary scrolling page 400 are based on their blocks aligned with respect to the margin of the page, such as a left-hand side on a page of a text editor application. It is provided to distinguish between paragraphs of justified or right-aligned text, and those blocks that are freely positioned relative to the margins (with constraints on the grid). As shown the text of paragraphs 1506, 1508 itself is not snapped to the grid so that the user does not get the feeling that his or her control is lost. The actual input position of text within a paragraph defines text indentation, which is a property of each line of a paragraph that corresponds to the distance between the start of the content and the nearest column to the left of that paragraph, e.g. in memory 108: provided by saving.

그리드 (1500) 의 네 번째 수직 라인 (1504) 에 정렬되고 다섯 개 LPU들에 걸쳐 있는 다른 유동 블록 (1510) 이 도시된다. 유동 블록 (1510) 은 텍스트 또는 그림, 이미지, 도표, 수식 등을 포함할 수도 있다. 정렬된 블록 및 유동 블록 둘 다는 스크롤 페이지의 부분 또는 섹션에 앵커링되어, 마진-정렬된 블록들이 마진에 추가로 앵커링되고, 페이지가 스크롤링됨에 따라 함께 수직으로 이동한다. 블록이 이동되면 (즉, 다른 어딘가에서 드롭핑되도록 선택되면), 그 블록은 그것이 이동되는 스크롤 페이지의 새로운 부분 또는 섹션에 연관된다 (나중에 상세히 설명됨). 예시된 블록들의 경계들은 정렬 패턴에 관련하여 입력 엘리먼트들의 범위를 결정하기 위해 본원의 시스템 및 방법에 의해 사용되는 것들이고 이처럼 애플리케이션 (112) 에 의해 사용자들에게 통상적으로 디스플레이된다는 것에 주의한다. 그러나, 블록들의 이동 등과 같은 편집 동작들 동안, 경계들은 레이아웃의 다른 엘리먼트들을 기준으로 하는 엘리먼트들의 적절한 배치에서 사용자들을 지원하기 위해 디스플레이될 수도 있다.Another flow block 1510 is shown aligned to the fourth vertical line 1504 of the grid 1500 and spanning five LPUs. Flow block 1510 may include text or pictures, images, diagrams, equations, and the like. Both aligned and floating blocks are anchored to portions or sections of a scrolling page, such that margin-aligned blocks are further anchored to margins and move vertically together as the page is scrolled. When a block is moved (ie, selected to be dropped somewhere else), the block is associated with the new portion or section of the scrolling page it is moved to (described in detail later). Note that the boundaries of the illustrated blocks are those used by the systems and methods herein to determine the range of input elements with respect to the alignment pattern and are as such are typically displayed to users by the application 112 . However, during editing operations, such as moving blocks, boundaries may be displayed to assist users in proper placement of elements relative to other elements of the layout.

도 16a는 마진-정렬된 블록 및 유동 블록에 존재하는 여러 단락들을 도시한다. 특히, 제 1 단락 (1600) 은 네 개의 열들에 걸쳐 생성되었고, 뒤따라서 제 2 단락 (1602) 은 제 1 단락 (1600) 에 수평으로 인접하고 두 개의 열들에 걸쳐 있고, 제 3 단락 (1604) 은 단락들 (1600 및 1602) 둘 다의 수직으로 하측에서 모두 여섯 개 열들에 걸쳐 있다. 블록들의 사용과 정렬 그리드는 블록들의 상대적 레이아웃을 유지하면서도 블록들 내의 콘텐츠가 편집되는 것을 허용한다. 예를 들어, 도 16b에서 사용자는 제 2 단락 (1602) 에 대해 정렬 그리드 (1500) 의 다음 수평 라인 (1502) 상에 추가의 텍스트를 추가하였지만, 단락 (1604) 이 스크롤 페이지 (400) 의 수직 흐름에서 단락 (1602) 하측에 있으므로, 하부 단락 (1604) 은 단락들 (1602 및 1604) 사이에 두 개의 LPU들의 스페이싱을 유지하기 위해서 정렬 그리드 (1500) 의 다음 수평 라인 (1502) 까지 결과적으로 아래로 이동된다. 사실상, 아래의 임의의 콘텐츠는 상대적 레이아웃이 유지되도록 동일한 양만큼 아래로 시프트되는데, 사용자가 그들 레이아웃들을 구체적으로 변경하지 않아서이다. 따라서, 텍스트 블록을 확장하기 위한 충분한 공간이 없다면, 블록에서 상류에 기재된 텍스트는 하측 콘텐츠를 아래로 이동시킨다. 이 메커니즘은 도 6a를 참조하여 앞서 설명된 입력 콘텐츠의 높이만큼의 스크롤 페이지 (400) 의 연장의 메커니즘과 동일하여서, 아래로 이동된 콘텐츠는 인터페이스 (104) 의 가시 영역 (132) 밖으로 이동된다.16A shows several paragraphs present in a margin-aligned block and a floating block. In particular, the first paragraph 1600 has been created over four columns, so that the second paragraph 1602 is horizontally adjacent to the first paragraph 1600 and spans two columns, and the third paragraph 1604 . spans all six columns vertically below both paragraphs 1600 and 1602 . The use and alignment of blocks grid allows the content within blocks to be edited while maintaining the relative layout of the blocks. For example, in FIG. 16B , the user added additional text on the next horizontal line 1502 of the alignment grid 1500 for the second paragraph 1602 , but the paragraph 1604 is the vertical line of the scroll page 400 . As it is below paragraph 1602 in flow, lower paragraph 1604 is consequently down to the next horizontal line 1502 of alignment grid 1500 to maintain spacing of the two LPUs between paragraphs 1602 and 1604 . is moved to In fact, any content below is shifted down by the same amount so that the relative layout is maintained, since the user has not specifically changed their layouts. Thus, if there is not enough space to expand a block of text, text written upstream in the block will move the content below it. This mechanism is the same as the mechanism of extending the scroll page 400 by the height of the input content described above with reference to FIG. 6A , such that the content moved down is moved out of the viewable area 132 of the interface 104 .

대안적으로, 충분한 공간이 있다면, 텍스트 블록은 하부 블록들의 이동 없이 확장될 것이다. 예를 들어, 도 17a는 제 3 단락 (1604) 이 제 1 단락 (1600) 에만 수직으로 아래에 있고 네 개의 열들에만 걸쳐 있는 단락들 (1600, 1602 및 1604) 을 도시한다. 이와 같이, 도 17b에 도시된 바와 같이, 사용자가 제 2 단락 (1602) 에 대해 정렬 그리드 (1500) 의 다음 수평 라인들 (1502) 상에 추가의 텍스트를 추가할 때, 제 2 단락 (1602) 을 경계 짓는 텍스트 블록은 하부 단락 (1604) 에 인접하여 자유롭게 확장할 수 있다.Alternatively, if there is enough space, the text block will expand without moving the sub blocks. For example, FIG. 17A shows paragraphs 1600 , 1602 , and 1604 where third paragraph 1604 is vertically below only first paragraph 1600 and spans only four columns. As such, as shown in FIG. 17B , when the user adds additional text on the next horizontal lines 1502 of the alignment grid 1500 for the second paragraph 1602 , the second paragraph 1602 . The text block that borders the subparagraph 1604 is free to expand adjacent to the subparagraph 1604 .

해당 텍스트에 대한 충분한 레이아웃 공간이 없다면 전체 하측 콘텐츠의 아래방향으로의 이동을 야기하는 상류에 텍스트를 기입하는 동작은 어떤 콘텐츠가 아래에 있든, 즉, 텍스트 또는 비-텍스트 블록들에 적용 가능하다. 예를 들어, 도 18a에서 단락 (1800) 이 생성되었고 단락 (1800) 수직으로 아래에서 대상 블록 (1802) (텍스트 또는 비-텍스트 중 어느 하나임) 이 생성되었 (거나 또는 드롭핑되었) 다. 도 18b에서 사용자는 정렬 그리드 (1500) 의 다음 수평 라인 (1502) 상으로 반입하는 추가의 텍스트를 단락 (1800) 에 대하여 마지막 텍스트 라인 상에 추가하였다. 그러나, 블록 (1802) 이 스크롤 페이지 (400) 의 수직 흐름에서 단락 (1800) 하측에 있으므로, 대상들 (1800 및 1802) 사이에 세 개의 LPU들의 스페이싱을 유지하기 위해서 블록 (1802) 은 정렬 그리드 (1500) 의 다음 수평 라인 (1502) 까지 결과적으로 아래로 이동된다.The operation of writing text upstream that causes downward movement of the entire bottom content if there is not enough layout space for that text is applicable to whatever content is underneath, ie to text or non-text blocks. For example, in FIG. 18A paragraph 1800 has been created and an object block 1802 (either text or non-text) has been created (or dropped) vertically below paragraph 1800. In FIG. 18B , the user has added additional text importing onto the next horizontal line 1502 of the alignment grid 1500 on the last text line for paragraph 1800 . However, since block 1802 is below paragraph 1800 in the vertical flow of scroll page 400 , block 1802 is placed in an alignment grid ( 1500) is consequently moved down to the next horizontal line 1502.

도 16 내지 도 18의 예에서, 현존 단락에 추가된 (또는 단락의 생성 동안 추가되어 있는) 텍스트는, 어느 것이든 다음 라인 상에 직접적으로 기입되거나 또는 텍스트의 현존 마지막 라인에 추가되고 다음의 라인으로 계속되는, 라인 패턴 배경 (410) 의 다음 라인 상의 단락의 연속하는 텍스트이다. 어느 경우에나, 추가된 텍스트는 수직 흐름에서 바로 다음 라인 (410) 에 추가되므로 현존 단락에 속한다고 간주된다. 추가된 텍스트의 실제로 새로운 단락의 일부인 것으로의 결정은 HWR 시스템 (114) 의 인식 스테이지 (118) 를 사용하여, 특히 (현존) 단락의 좌측 마진 또는 정렬된 에지에 대한 인접한 라인들의 텍스트의 오프셋과 그들 인접한 라인들의 관계를 참조하여 이루어질 수 있다. 그러나, 이러한 인식의 결과는 사용자에게 알려져 있지 않다. 다시 말하면, 어떤 특정 표시 (이를테면, 현존 및/또는 새로운 단락 블록들의 단락나누기 (paragraphing) 심볼 또는 자동 시프팅의 디스플레이이며, 이는 노트 필기 프로세스에 너무 방해가 되고 그러므로 사용자를 산란하게 할 수도 있음) 없이는, 별개의 단락들의 오인은 원래의 입력의 시간 콘텍스트가 잊혀질 수도 있는 레이아웃의 일부 조작 (이를테면 상이한 디바이스 상의 또는 상이한 배향으로의 노트의 디스플레이) 이 발생하기까지 알려지지 않을 것이다.In the example of Figures 16-18, text added to an existing paragraph (or added during creation of a paragraph) is either written directly on the next line or added to the existing last line of text and the next line is the continuous text of the paragraph on the next line of the line pattern background 410 , continuing with . In either case, the added text is added to the immediately following line 410 in vertical flow and is therefore considered to belong to an existing paragraph. The determination of the added text to be actually part of a new paragraph is made using the recognition stage 118 of the HWR system 114, in particular the offset of the text of adjacent lines relative to the left margin or aligned edge of the (existing) paragraph and their This can be done by referring to the relationship of adjacent lines. However, the result of this recognition is not known to the user. In other words, without some specific indication (such as the display of a paragraphing symbol or automatic shifting of existing and/or new paragraph blocks, which may be too intrusive to the note-taking process and thus distracting the user) , the misinterpretation of separate paragraphs will not be known until some manipulation of the layout occurs (such as display of notes on a different device or in a different orientation) in which the temporal context of the original input may be forgotten.

따라서, 간단한 제약조건이 사용자들에 의해 쉽게 이해되고 적용되는 방식으로, 수직 흐름에서의 별개의 단락들 (및 대상 블록들) 의 입력 상에 배치된다. 이 제약조건은 수평으로 중첩하는, 예컨대, 적어도 하나의 열 (1004) 에서 중첩하는 빈 라인 (410), 예컨대, 두 개의 LPU들의 스페이싱이 대상 블록들 사이에 항상 있다는 것이다. 이 규칙은 직접 입력 콘텐츠와 드래그 앤 드롭된 (dragged & dropped) 또는 푸시 앤 드롭된 (pushed & dropped) 블록들에 적용될 수 있는 스크롤 페이지 (400) 의 수직 흐름에서 대상 블록들 사이에 상대적 레이아웃을 깔끔하게 유지하는 방도를 제공한다.Thus, a simple constraint is placed on the input of separate paragraphs (and object blocks) in a vertical flow in a way that is easily understood and applied by users. This constraint is that there is always an empty line 410 overlapping horizontally, eg overlapping in at least one column 1004 , eg a spacing of two LPUs, between target blocks. This rule neatly lays out the relative layout between the target blocks in the vertical flow of the scrolling page 400, which can be applied to direct input content and dragged & dropped or pushed & dropped blocks. Provides a way to keep

예를 들어, 도 18a 및 도 18b에 관련하여 설명되는 동작에서, 단락 (1800) 과 블록 (1802) 사이의 세 개의 LPU 스페이싱은 수직 콘텐츠가 단락 (1800) 에 추가되었을 때 유지되었다. 대안적으로, 여분의 콘텐츠의 단락 (1800) 에의 추가 후의 스페이싱이 두 개의 LPU들 이상으로 유지되기 때문에, 블록 (1802) (과 임의의 다른 하부 대상 블록들) 은 결과적으로 이동될 필요가 없다. 따라서, 새로운 콘텐츠와 현존 콘텐츠 사이의 공간이 하나의 라인보다 크다면, 수직 흐름에서 아래방향으로 아무것도 이동되지 않고, 새로운 콘텐츠가 가용 공간을 채우게 한다. 이는 도 18c의 예에서 도시되는데, 이 경우 단락 (1806) 이 단락 (1800) 의 마지막 라인 (410) 의 두 개의 라인들 (410) 하측에 입력되고 (예컨대, 블록 (1800) 의 경계 (1800a) 의 하측은 블록 (1804) 의 경계 (1804a) 의 상측으로부터 하나의 LPU 이격되어서, 텍스트 라인들은 두 개의 LPU들 떨어져 있음), 새로운 단락 (1804) 과 블록 (1802) 사이에 빈 라인 (410) 이 남아 있으므로, 블록 (1802) 은 이동되지 않는다 (예컨대, 블록 (1804) 의 경계 (1804a) 의 하측은 블록 (1802) 의 경계 (1802a) 의 상측으로부터 하나의 LPU 이격되어서, 블록 (1802) 이 텍스트 블록이면 텍스트 라인들은 두 개의 LPU들 떨어져 있다). 이와 같이, 이 규칙은 텍스트 블록들의 텍스트 라인들이 두 개의 LPU들만큼 이격되어 있어야만 하는 것으로서 더 정확하게 정의되며, 이는 수직으로 인접한 블록 경계들이 하나의 LPU 이격될 수 있다는 것을 의미한다.For example, in the operation described with respect to FIGS. 18A and 18B , the three LPU spacing between paragraphs 1800 and 1802 was maintained when vertical content was added to paragraph 1800 . Alternatively, block 1802 (and any other underlying object blocks) need not be moved as a result, since the spacing after addition of extra content to paragraph 1800 is maintained beyond two LPUs. Thus, if the space between the new content and the existing content is greater than one line, nothing moves downward in the vertical flow, allowing the new content to fill the available space. This is shown in the example of FIG. 18C , where paragraph 1806 is input below two lines 410 of the last line 410 of paragraph 1800 (eg, boundary 1800a of block 1800 ) the bottom of the block 1804 is spaced one LPU from the top of the boundary 1804a of block 1804 so that the text lines are two LPUs apart), a blank line 410 between the new paragraph 1804 and block 1802 is As it remains, the block 1802 is not moved (eg, the lower side of the boundary 1804a of the block 1804 is spaced one LPU from the upper side of the boundary 1802a of the block 1802 , so that the block 1802 text If it is a block, the text lines are two LPUs apart). As such, this rule is more precisely defined as text lines of text blocks must be spaced apart by two LPUs, meaning that vertically adjacent block boundaries can be spaced one LPU apart.

새로운 콘텐츠가 현존 콘텐츠에 도달할 (하나 미만의 빈 라인이 사이에 남아 있을) 때마다, 하측의 전체 콘텐츠는 하나의 빈 라인 스페이싱을 재 도입하기 위해 한 라인 아래로 이동된다. 마찬가지로, 새로운 콘텐츠가 대상 블록들 사이의 빈 라인에 기입될 때마다, 하측 콘텐츠는 한 라인 아래로 이동된다. 마찬가지로, 블록이 새로운 라인 상류에 추가될 때마다 하측 콘텐츠는 아래로 이동되고 블록 상측 및 하측에 라인이 항상 있어야 한다. 이것의 일 예가 도 18d에도 도시되는데, 그 도면에서 대상 블록 (1806) 이 단락 (1800) 아래 라인 (410) 으로 드롭되고 (그래서 하나의 LPU의 스페이싱이 그 사이에 있고) 블록들 (1802 및 1804) 사이에 상대적 레이아웃 변화 없이, 새로운 블록 (1806) 과 단락 (1804) 사이에 하나의 LPU의 스페이싱이 있도록 단락 (1804) 과 블록 (1802) 은 결과적으로 아래로 이동된다. 이 예는 도 18e로 추가로 확장되는데 그 도면에서 블록 (1802) 은 단락 (1804) 위로 이동되고 블록 (1806) 의 하나의 LPU 스페이싱 하측에 드롭되어 단락 (1804) 의 결과적인 아래방향 움직임으로 블록 (1802) 의 경계 (1802a) 하측과 블록 (1804) 의 경계 (1804a) 상측 사이에 하나의 LPU 스페이싱이 남아있다.Whenever new content reaches an existing content (less than one empty line remains in between), the entire content at the bottom is moved down one line to re-introduce one empty line spacing. Likewise, whenever new content is written to an empty line between target blocks, the lower content is moved down one line. Similarly, whenever a block is added upstream of a new line, the bottom content is moved down and there should always be lines above and below the block. An example of this is also shown in FIG. 18D , in which object block 1806 is dropped to line 410 below paragraph 1800 (so there is a spacing of one LPU in between) blocks 1802 and 1804 . This example is further extended to FIG. 18E , in which block 1802 is moved above paragraph 1804 and dropped below one LPU spacing of block 1806 to block with the resulting downward movement of paragraph 1804 . One LPU spacing remains between below boundary 1802a of 1802 and above boundary 1804a of block 1804 .

미리 설명된 바와 같이, 블록들은 스크롤 페이지 (400) 에서의 자신들의 현재 포지션으로부터 새로운 포지션으로 드래그 앤 드롭되거나 또는 푸시 앤 드롭되거나, 또는 아마도 다른 블록들의 결과적 움직임으로 그리고 사용자들을 위한 안내 메커니즘으로 리사이징될 수도 있다. 예를 들어, 도 19a 내지 도 19c는 단락 (1900) 과 비-텍스트 블록 (1902) (예컨대, 이미지를 포함함) 이 배치되고 비-텍스트 블록 (1902) 이 이동되는 동작을 도시한다. 도 19a에 도시된 블록 (1902) 의 초기 포지션은 수평으로 인접한 단락 (1900) 이다. 블록 (1902) 이 자신의 초기 포지션에서부터 도 19b에서 도시된 바와 같이 수평으로 이동되면, 이 움직임 동안 캐럿 (1904) 은 블록 (1902) 이 드롭핑될 수 있는 다음 가용 수평 포지션을 보이게 디스플레이되며, 예컨대, 도시된 예에서 블록 (1092) 은 단락 (1900) 위로 이동되었고 그러므로 다음 가용 드롭 포지션은 캐럿 (1904) 이 디스플레이되는 좌측 마진 상에 있다. 블록 (1902) 을 이 제안된 포지션에 드롭핑하는 것은 정렬 그리드 (1500) 의 다음 가용 열, 예컨대, 세 번째 열 (1004) 에 스냅핑되는 단락 (1900) 의 결과적 수평 이동을 초래할 것이다. 마찬가지로, 블록 (1902) 이 자신의 초기 포지션에서부터 도 19c에 도시된 바와 같이 수직으로 이동되면, 이 움직임 동안 캐럿 (1904) 은 블록 (1902) 이 드롭핑될 수 있는 다음 가용 수직 포지션을 보여주게 디스플레이되며, 예컨대, 도시된 예에서 블록은 단락 (1900) 하측으로 이동되었고 그러므로 다음 가용 드롭 포지션은 단락 (1900) 하측의 라인 (410) 상에 있다. 유사한 메커니즘들이 대상 블록들을 리사이징할 때 사용될 수 있다. 사용자들을 이런 식으로 안내함으로써, 대상들의 다른 대상들에 대한 또는 정렬 그리드 자체에 대한 정렬은 가능한 한 많이 제공된다. 블록들 외에, 단락에서 선택된 텍스트는 자체가 드래그 앤 드롭 (또는 푸시, 복사, 절단, 붙여넣기와 같은 다른 편집 메커니즘들) 에 의해 다른 단락 내부에 삽입될 수 있거나 또는 빈 공간 속으로 드롭핑되거나 또는 푸시된다면, 새로운 텍스트 블록이 해당 텍스트로 생성된다.As previously described, blocks may be dragged and dropped or pushed and dropped from their current position on the scroll page 400 to a new position, or possibly resized with the resulting movement of other blocks and as a guiding mechanism for users. may be For example, FIGS. 19A-19C show an operation in which a paragraph 1900 and a non-text block 1902 (eg, containing an image) are placed and the non-text block 1902 is moved. The initial position of block 1902 shown in FIG. 19A is horizontally adjacent paragraph 1900 . If block 1902 is moved horizontally as shown in FIG. 19B from its initial position, during this movement the caret 1904 is displayed showing the next available horizontal position into which block 1902 may be dropped, such as , block 1092 in the illustrated example has been moved above paragraph 1900 and therefore the next available drop position is on the left margin where caret 1904 is displayed. Dropping block 1902 at this suggested position would result in a resulting horizontal movement of paragraph 1900 that snaps to the next available column of alignment grid 1500 , eg, third column 1004 . Likewise, if block 1902 is moved vertically from its initial position as shown in FIG. 19C , during this movement the caret 1904 is displayed showing the next available vertical position into which block 1902 may be dropped. For example, in the example shown the block has been moved below paragraph 1900 and therefore the next available drop position is on line 410 below paragraph 1900 . Similar mechanisms can be used when resizing target blocks. By guiding users in this way, the alignment of objects to other objects or to the alignment grid itself is provided as much as possible. Besides blocks, the text selected in a paragraph can itself be inserted inside another paragraph by drag and drop (or other editing mechanisms such as push, copy, cut, paste) or dropped into empty space or If pushed, a new text block is created with that text.

현존 콘텐츠를 이동시킬 때, 앞서 설명된 동작들은 레이아웃의 대응하는 결과적 행동과 함께 사용될 수 있다. 새로운 텍스트 콘텐츠, 이를테면 새로운 단락을 생성할 때, 사용자들은 앞서 설명된 규칙과의 사이에 빈 라인이 뒤따르는, 라인 패턴 배경의 다음 가용 라인 상에 핸드라이팅하는 것이 단순히 필요하다. 새로운 비-텍스트 콘텐츠, 이를테면 그림 또는 수식을 생성할 때, 사용자들이 예를 들어 다음 가용 라인 상에 비-텍스트 콘텐츠를 입력하는 것을 단순히 시작하였다면, 핸드라이팅 인식이 새로운 콘텐츠 상에서 수행되지 않도록 HWR 시스템 (114) 에는 비-텍스트 콘텐츠의 입력을 검출하는 것이 요구될 것이다. 대안적으로, 사용자들에게는 비-텍스트 콘텐츠가 입력될 것임을 표시하는 메커니즘이 제공될 수 있다. 기존에 이는 메뉴 선택들 또는 전문화된 스타일러스들, 이를테면 그리기 펜 대 기입 펜의 사용을 통해 행해졌다. 본원의 시스템 및 방법은 사용자들에게 알려진 현존 터치 인터페이스 액션을 활용함으로써 이 표시를 단순화시킨다.When moving existing content, the operations described above may be used in conjunction with the corresponding resulting behavior of the layout. When creating new text content, such as a new paragraph, users simply need to handwrite on the next available line of the line pattern background, followed by a blank line in between with the rules described above. When creating new non-text content, such as pictures or formulas, the HWR system ( 114) will be required to detect input of non-text content. Alternatively, users may be provided with a mechanism to indicate that non-text content is to be entered. Previously this was done through menu selections or the use of specialized styluses, such as a drawing pen versus a writing pen. The systems and methods herein simplify this indication by utilizing existing touch interface actions known to users.

다시 말하면, 비-텍스트 콘텐츠를 입력하기 위하여 사용자들은 빈 공간 상을 단순히 더블 태핑하며, 이에 의해 사용자가 이미지, 그림, 도표, 수식 등을 삽입할 수 있는 블록 영역 또는 캔버스를 애플리케이션은 자동으로 생성한다. 이런 식으로, 빈 공간 상의 더블 탭은 사용자가 그냥 텍스트와는 상이한 콘텍스트를 갖는 블록 대상을 생성하기 원하는 것으로 해석된다. 애플리케이션 (112) 은 그러면, 기입된다면, 실제 콘텐츠 입력을 결정하고 인식하기 위해 다른 인식 메커니즘들, 이를테면 미국 특허출원 공개 US 2015/0228259호, 2014년 12월 2일자로 출원되고 발명의 명칭이 "System and Method for Recognizing Geometric Shapes"인 미국 특허출원 공개 제2016/0154998호, 그리고 발명의 명칭이 둘 다 "System for Recognizing Multiple Object Input and Method and Product for Same"인 2015년 7월 10일자로 출원된 유럽 출원 제15290183.1호 및 2015년 9월 30일자로 출원된 미국 특허출원 제14/870,735호에서 설명된 시스템들 및 방법들을 사용할 수 있으며, 이 문헌들의 모두는 본원의 출원인에게 양도되고 그것들의 전체 내용들은 본 명세서에 참조로 포함된다.In other words, to enter non-text content, users simply double-tap on an empty space, whereby the application automatically creates a block area or canvas where the user can insert images, drawings, diagrams, equations, etc. . In this way, a double tap on an empty space is interpreted as just that the user wants to create a block object with a different context than the text. Application 112 can then, if written, use other recognition mechanisms to determine and recognize actual content input, such as US Patent Application Publication No. US 2015/0228259, filed December 2, 2014 and entitled "System US Patent Application Publication No. 2016/0154998, entitled "and Method for Recognizing Geometric Shapes," and Europe, filed July 10, 2015, both entitled "System for Recognizing Multiple Object Input and Method and Product for Same." The systems and methods described in Application No. 15290183.1 and U.S. Patent Application Serial No. 14/870,735, filed on September 30, 2015, may be used, all of which are assigned to the applicant herein, and the entire contents of which are hereby incorporated by reference. incorporated herein by reference.

본 명세서에서 지금까지 설명된 블록 관리처럼, 비-텍스트 입력 캔버스의 생성은 정렬 그리드/패턴에 따라서 생성된다. 다시 말하면, 인터페이스 (104) 의 가시 영역 (132) 에서의 페이지 (400) 가 비어 있을 때, 생성된 캔버스는 가시 영역 (132) 에서의 모든 가용 공간을 차지한다. 대안적으로, 캔버스가 대상 블록 바로 옆으로 수평으로 생성되는 것일 때, 생성된 캔버스는 가용 폭을 대응하는 마진/패딩 영역이 되게 하고 현존 대상 블록의 높이로 정렬시킨다. 게다가, 생성될 캔버스 상측에 콘텐츠가 있다면, 생성된 캔버스는 현존 블록 하측의 가용 공간을 차지하고 상측의 콘텐츠에 포함되지 않도록 현존 블록과 캔버스 사이에 (예컨대, 하나의 LPU의 스페이싱으로) 빈 라인이 남아 있다. 더 나아가, 생성될 캔버스 상측 및 하측에 콘텐츠가 있다면, 생성된 캔버스는 현존 콘텐츠에 포함되지 않도록 현존 블록들을 기준으로 캔버스 상측 및 하측에 (예컨대, 상단 및 하단에 하나의 LPU의 스페이싱의) 빈 라인을 남기고서 현존 블록들 사이에서 스크롤 페이지의 가용 전체 폭 및 가용 높이를 차지한다. 도 20과 도 21은 두 개의 이들 동작들의 예들을 도시한다.Like the block management described so far herein, the creation of a non-text input canvas is created according to an alignment grid/pattern. In other words, when the page 400 in the visible area 132 of the interface 104 is empty, the created canvas occupies all the available space in the visible area 132 . Alternatively, when the canvas is to be created horizontally right next to the object block, the created canvas has its available width to be the corresponding margin/padding area and is aligned with the height of the existing object block. In addition, if there is content above the canvas to be created, the created canvas will occupy the available space below the existing block and an empty line is left between the existing block and the canvas (e.g. with spacing of one LPU) so that it is not included in the contents above. there is. Furthermore, if there is content above and below the canvas to be created, empty lines (eg, of spacing of one LPU at the top and bottom) at the top and bottom of the canvas based on the existing blocks so that the created canvas is not included in the existing content , occupying the total available width and available height of the scrolling page among existing blocks. 20 and 21 show examples of two of these operations.

도 20a에서 단락 (2000) 이 두 개의 열들 (1004) 및 여덟 개의 라인들 (410) 에 걸쳐 있는 마진-정렬된 블록으로서 도시되어서, 블록 (2000) 의 경계 (2000a) 는 정렬 패턴 (1500) 의 두 번째 수직 라인 (1502) 및 여덟 번째 수평 라인 (1504) 상에 정렬된다. 단락 (2000) 우측에서 더블 탭 제스처 (E) 를 수신하는 것에 응답하여 블록 (2002) 이 정렬 패턴 (1500) 의 두 번째 수직 라인 (1502) 부터 마지막 수직 라인 (1502) 까지 그리고 (예컨대, 여덟 번째 수평 라인 (1504) 까지의) 단락 (2000) 과는 동일한 수직 범위를 가지고서 도 20b에 도시된 바와 같이 생성된다. 블록 (2002) 내의 비-텍스트 입력이 그러면 수행될 수 있다.In FIG. 20A , paragraph 2000 is shown as a margin-aligned block that spans two columns 1004 and eight lines 410 , so that boundary 2000a of block 2000 is that of alignment pattern 1500 . aligned on the second vertical line 1502 and the eighth horizontal line 1504 . In response to receiving the double tap gesture (E) on the right side of paragraph 2000 , block 2002 displays the second vertical line 1502 through the last vertical line 1502 and (eg, the eighth It is created as shown in FIG. 20B with the same vertical extent as paragraph 2000 (up to horizontal line 1504). Non-text input in block 2002 may then be performed.

도 21a에서, 단락 (2100) 이 모두 여섯 개 열들 (1004) 과 네 개의 라인들 (410) 에 걸쳐 있는 전체 페이지 폭 (두 마진-정렬된) 블록으로서 도시되어서, 블록 (2000) 의 경계 (2100a) 는 정렬 패턴 (1500) 의 네 번째 수평 라인 (1504) 상에서 정렬된다. 단락 (2100) 하측에서 더블 탭 제스처 (E) 를 수신하는 것에 응답하여 도 21b에 도시된 바와 같이 정렬 패턴 (1500) 의 다섯 번째 수평 라인 (1504) 부터 페이지 (400) 의 수직 범위까지 블록 (2102) 이 생성된다. 블록 (2102) 내의 비-텍스트 입력이 그러면 수행될 수 있다. 추가의 예에서, 생성될 캔버스가 의미 있는 콘텐츠 입력을 제공하는 스크롤 페이지 (400) 의 입력 영역 (408) 의 에지에 너무 가깝다면, 스크롤 페이지는 자동으로 스크롤링될 수 있다. 입력 영역 (408) 의 상단 및 하단 범위들에 관하여, 최소 캔버스 폭 및 높이 (예컨대, 말하자면, 두 개의 열들 및 두 개의 LPU들) 를 설정함으로써, 자동 스크롤링이 도 9에 관련하여 앞서 설명된 것과 유사하게 성취될 수 있는데, 최소 캔버스의 일부가 생성 시 자동 스크롤 영역들에 중첩하도록 캔버스가 생성되는 것일 때 스크롤 페이지는 자동으로 스크롤링될 것이라서이다. 그런 최소 캔버스 사이즈는, 캔버스가 스크롤 페이지의 마진 범위들에 너무 가까이에서 또는 충분히 이격되지 않은 대상들 사이에서 생성되는 것일 때, (예컨대, 캔버스의 우측으로) 수평으로 인접한 대상들의 또는 (예컨대, 캔버스의 좌측으로) 수평으로 인접한 대상들 하측의 캔버스의 수직 오버플로우를 보장하는 방도를 또한 제공한다.In FIG. 21A , paragraph 2100 is shown as a full page width (two margin-aligned) block spanning all six columns 1004 and four lines 410 , so that the boundary 2100a of block 2000 is ) is aligned on the fourth horizontal line 1504 of the alignment pattern 1500 . Block 2102 from the fifth horizontal line 1504 of the alignment pattern 1500 to the vertical extent of the page 400 as shown in FIG. 21B in response to receiving a double tap gesture (E) below paragraph 2100 ) is created. Non-text input in block 2102 may then be performed. In a further example, if the canvas to be created is too close to the edge of the input area 408 of the scroll page 400 providing meaningful content input, the scroll page may be automatically scrolled. With respect to the top and bottom extents of the input area 408 , by setting a minimum canvas width and height (eg, two columns and two LPUs), automatic scrolling is similar to that described above with respect to FIG. 9 . This can be achieved easily, since the scrolling page will automatically scroll when the canvas is being created such that at least a portion of the canvas overlaps the auto-scrolling areas on creation. Such a minimum canvas size is that of horizontally adjacent objects (eg, to the right of the canvas) or (eg, the canvas It also provides a way to ensure a vertical overflow of the canvas below horizontally adjacent objects (to the left of ).

사용자들은 그 뒤에 생성된 캔버스가 의도된 목적들에 대하여 너무 작거나 또는 너무 크다고 결정할 수도 있다. 이와 같이, 생성된 비-텍스트 블록의 리사이징이 콘텐츠 입력 전 또는 후에 후속하여 수행될 수 있다. 모든 대상 블록들의 리사이징이 주어진 조건들 하에서 그리고 레이아웃에 대한 특정한 결과적인 액션들로 가능하다. 예를 들어, 리사이징된 대상들은 정렬 그리드에 스냅핑되고, 리사이징된 콘텐츠는, 필요하다면 이미지들을 제외하고서, (예컨대, 크롭핑되지 않은) 노트에서 항상 충분히 가시적이다. 이미지 리사이징에 관하여, 스크롤 페이지 (400) 에 들여오기된 또는 그런 스크롤 페이지에서의 비-텍스트 블록들로서의 이미지들이 레이아웃 컨테이너로서 역할을 하는 경계 박스 내에 삽입된다. 이미지의 자신의 경계 박스 내의 포지셔닝은 사용자 상호작용 없이 다음과 같이 핸들링된다:Users may then decide that the created canvas is either too small or too large for its intended purposes. In this way, resizing of the generated non-text block may be performed either before or after content input. Resizing of all target blocks is possible under given conditions and with specific resulting actions on the layout. For example, resized objects are snapped to an alignment grid, and the resized content is always sufficiently visible in a note (eg, uncropped), except for images if necessary. Regarding image resizing, images imported into or as non-text blocks in the scrolling page 400 are inserted into a bounding box serving as a layout container. Positioning of an image within its bounding box is handled as follows without user interaction:

이미지는 전체 경계 박스 영역을 항상 커버하도록 스케일링 업/다운되며 (오버플로우 부분들은 크롭핑됨)Image is scaled up/down to always cover the entire bounding box area (overflow parts are cropped)

이미지는 임의의 경우 (예컨대, 연신이 없는 경우) 자신의 애스펙트 비를 항상 유지하며An image always retains its aspect ratio in any case (eg no stretching) and

이미지는 자신의 경계 박스 내의 중심에 있다.The image is centered within its bounding box.

이미지들의 리사이징과, 다른 대상 블록들의 리사이징은, 내부 이미지 자체가 아니라, 선택된 이미지 주위에 디스플레이된 그리고 경계 박스에 결속된 핸들들 (도 9 참조) 을 사용하여 수행된다. 핸들들에의 액세스는, 블록 경계들의 대응하는 디스플레이로, 본원의 시스템 및 방법에 의해 자연스럽고 잘 이해되는 방식으로 사용자들에게, 이를테면 리사이징/편집될 콘텐츠 상에 단일 탭을 단순히 수행하는 사용자에 의해 제공된다. 본 기술분야의 통상의 기술자들에 의해 이해되는 바와 같이, 일단 디스플레이되면, 경계 박스의 스케일링을 초래하는 (두 측들을 이동시키며, 따라서 경계 박스 애스펙트 비를 유지하는) 코너 핸들들의 드래깅/푸싱과 경계 박스의 신장을 초래하는 (단일 측을 이동시키며, 따라서 경계 박스 애스펙트 비를 변경시키는) 사이드 핸들들의 드래깅/푸싱으로 상이한 행동들을 제공하기 위해서, 사용자들은 인터페이스를 통해 핸들들에 터치 또는 호버링하고 선택된 핸들을 드래그/푸시한다. 경계 박스 애스펙트 비를 변경하는 것은 내부 이미지 애스펙트 비에 영향을 미치지 않고, 오히려 이미지는 자동으로 스케일링/중심맞춤된다.Resizing of images and resizing of other target blocks is performed using handles (see FIG. 9 ) displayed around the selected image and bound to the bounding box, rather than the inner image itself. Access to the handles, with a corresponding display of block boundaries, is provided to users in a manner natural and well understood by the system and method herein, such as by a user simply performing a single tap on the content to be resized/edited. provided As will be understood by those of ordinary skill in the art, once displayed, bounding and dragging/pushing of corner handles (moving both sides and thus maintaining bounding box aspect ratio) results in scaling of the bounding box. To provide different actions with dragging/pushing of the side handles (moving a single side and thus changing the bounding box aspect ratio) resulting in stretching the box, users can touch or hover over the handles via the interface and select the handle Drag/push Changing the bounding box aspect ratio does not affect the inner image aspect ratio, rather the image is automatically scaled/centered.

다른 유형들의 비-텍스트 블록들 및 텍스트 블록들이 동일한 방식으로 명시적으로 리사이징될 수 있다. 그러나, 단락이 리사이징될 때 텍스트 콘텐츠의 폰트 사이즈는 변경 (즉, 스케일링) 되지 않고 다만 단락의 치수들만이 변경된다 (예외에 대한 나중의 상세 논의 참조). 레이아웃에 관해, 앞서 설명된 규칙들에 따라서, 블록이 더 작게 만들어지면 하측 콘텐츠는 상방향으로 이동되고, 블록이 더 크게 만들어지면 하측 콘텐츠는 아래방향으로 이동된다.Other types of non-text blocks and text blocks can be explicitly resized in the same way. However, when a paragraph is resized, the font size of the text content does not change (ie, scales), only the dimensions of the paragraph change (see later detailed discussion of exceptions). Regarding the layout, according to the rules described above, when a block is made smaller, the lower content is moved upward, and when the block is made larger, the lower content is moved downward.

이전에 설명된 바와 같이, 블록들의 자동 리사이징은 블록들 내의 콘텐츠의 사용자 입력으로 인해 또한 발생한다. 예를 들어, 사용자들이 텍스트 블록에 기입할 (예컨대, 단락에 추가하거나 또는 단락을 계속할) 때, 사용자들이 기입함에 따라 그 블록은 단락기호들과 폰트 사이즈가 유지되면서 (그리고 하위 콘텐츠의 임의의 결과적 움직임과 함께) 자동으로 연장한다. 자동 리사이징은 상이한 사이즈의 스크린 또는 디바이스 디스플레이의 배향에서의, 예컨대, 가로보기에서 세로보기로의 변화를 갖는 상이한 디바이스 상에서 후속하여 디스플레이되고 있는 하나의 디바이스 상에서 생성된 노트의 디스플레이로 인해 또한 발생할 수 있다. 미리 설명된 바와 같이, 사용자의 노트 필기 대상 블록들의 생성된 레이아웃은, 블록들 자체 내의 콘텐츠 그대로, 이러한 전환들 동안 본원의 시스템 및 방법에 의해 가능한 한 많이 존중된다. 이와 같이, 자동 리사이징과 같은 동작들은 최소로 유지되고 필요한 경우 또는 사용자의 원래의 입력이 악영향을 받지 않는 경우에만 수행된다. 옮김 (translation) 시, 사용자들이 콘텐츠의 리사이징 또는 스케일링을 원한다면, 그 사용자들은 이러한 동작들을 수동으로, 예를 들어, 위에서 설명된 방식으로 수행할 수 있다.As previously described, automatic resizing of blocks also occurs due to user input of content within the blocks. For example, when users write in a block of text (eg, add to or continue a paragraph), the block retains its delimiters and font size (and any consequential of sub-content) as users write. with movement) automatically extend. Automatic resizing may also occur due to the display of notes created on one device being subsequently displayed on a different device having a different size screen or orientation of the device display, eg, a change from landscape to portrait view. As previously explained, the generated layout of the user's note-taking blocks, as well as the content within the blocks themselves, is respected as much as possible by the system and method herein during these transitions. As such, operations such as automatic resizing are kept to a minimum and performed only when necessary or when the user's original input is not adversely affected. Upon translation, if users wish to resize or scale the content, they can perform these operations manually, eg in the manner described above.

언급된 바와 같이, 애플리케이션 (112) 이 이용되는 컴퓨팅 디바이스 (100) 는 세로보기로부터 가로보기로의 그리고 그 반대로의 디바이스의 배향에서의 변화에 응답하는 인터페이스 (104) 를 가질 수도 있다. 따라서, 디지털 노트 필기 애플리케이션의 스크롤 페이지의 노트에 포함되는 콘텐츠 엘리먼트들의 레이아웃 및 특성들은 레이아웃 상에 최소의 바람직하지 않은 효과라는 동일한 원리들을 추종하면서 또한 응답되어야만 한다. 동일한 것이 특정 스크롤 페이지, 또는 노트 북을, 상이한 디스플레이 사이즈들을 갖는 디바이스들 상에 디스플레이하는 것에 적용된다. 본원의 시스템 및 방법의 정렬 그리드와, 특히 레이아웃 패턴은 이러한 전환들에 응답을 제공하는 효과적인 방도를 제공한다. 예시적인 전환이 이제 도 22a 및 도 22b를 참조하여 설명된다.As noted, the computing device 100 in which the application 112 is used may have an interface 104 that is responsive to changes in the orientation of the device from portrait to landscape and vice versa. Accordingly, the layout and characteristics of content elements included in a note of a scrolling page of a digital note taking application must also be responsive while following the same principles of minimal undesirable effect on the layout. The same applies to displaying a particular scrolling page, or notebook book, on devices with different display sizes. The alignment grid, and in particular the layout pattern, of the systems and methods herein provide an effective way to provide a response to such transitions. An exemplary transition is now described with reference to FIGS. 22A and 22B .

도 22a는 레이아웃 패턴 (1000) 의 여섯 열들 (1004) 이 유효하게 제공될 수 있는 디바이스 인터페이스 (104) 상의 스크롤 페이지 (400) 의 일 예를 도시한다. 열들 (1004) 의 열 거터들 (1006) 이 또한 도시된다. 제 1 대상 블록 (2200) 은 첫 번째 열 (1004) 에 걸쳐 있으며, 제 2 대상 블록 (2202) 은 두 번째 및 세 번째 열들 (1004) 에 걸쳐 있고 제 3 대상 블록 (2204) 은 네 번째 열 (1004) 에 걸쳐 있으며, 블록들 (2200, 2202 및 2204) 은 수평으로 인접하고 각각의 블록의 수직 경계들은 이전에 설명된 바와 같이, 대응하는 열 거터들 (1006) 과 정렬된다.22A shows an example of a scrolling page 400 on a device interface 104 in which six columns 1004 of a layout pattern 1000 may be effectively provided. Column gutters 1006 of columns 1004 are also shown. The first object block 2200 spans the first column 1004 , the second object block 2202 spans the second and third columns 1004 and the third object block 2204 spans the fourth column ( 1004 , blocks 2200 , 2202 , and 2204 are horizontally adjacent and the vertical boundaries of each block are aligned with the corresponding column gutters 1006 , as previously described.

도 22b는 상이한 디바이스 인터페이스 (104) 또는 레이아웃 패턴 (1000) 의 세 개의 열들 (1004) 만이 유효하게 제공될 수 있는 상이한 배향에서의 디바이스 인터페이스 (104) 로 옮겨지는 스크롤 페이지 (400) 를 도시한다. 따라서, 제 1 및 제 2 대상 블록들 (2200, 2202) 이 옮겨진 스크롤 페이지 (400) 의 세 개의 열들 (1004) 내에 맞추어지는 반면, 도 22a의 스크롤 페이지 (400) 에서 열들 (1004) 중 넷에 걸쳐 있는 제 3 대상 블록 (2204) 은 그렇지 않다. 따라서, 제 3 블록 (2204) 은 라인 패턴 배경의 다음 이용가능 라인 (410) 으로 수직으로 (예컨대, 자신과 상측의 가장 가까운 블록 사이에 하나의 LPU 스페이싱을 두고서) 이동되고, 대응하는 열 거터들 (1006) 과 정렬된 첫 번째 열 (1004) 에 이제 걸쳐 있기 위해서 마진-정렬된다. 하측의 임의의 콘텐츠가 이전에 설명된 바와 같이 아래방향으로 또한 이동된다. 이런 식으로, 원래의 레이아웃은 가능한 한 많이 유지되면서 스크롤 페이지 (400) 의 상이한 뷰들에서 레이아웃 콘텐츠의 의미 있는 그리고 잘 사이징된 디스플레이를 제공한다. 예를 들어, 수직으로 이동된, 이전에 유동하는, 블록의 마진-정렬은 그 블록이 이전의 좌측 인접 수평 블록 바로 뒤에서 처음에 오는 것이 명확하도록 행해진다.22B shows a scrolling page 400 that is moved to the device interface 104 in a different orientation where only three columns 1004 of a different device interface 104 or layout pattern 1000 can be effectively presented. Thus, while the first and second object blocks 2200 , 2202 fit within three columns 1004 of the displaced scroll page 400 , in four of the columns 1004 in the scroll page 400 of FIG. 22A . The third object block 2204 that spans does not. Accordingly, the third block 2204 is moved vertically (eg, with one LPU spacing between itself and the nearest block above it) to the next available line 410 of the line pattern background, and the corresponding column gutters It is margin-aligned to now span the first column 1004 aligned with (1006). Any content on the bottom is also moved downwards as previously described. In this way, the original layout is maintained as much as possible while providing a meaningful and well-sized display of the layout content in different views of the scrolling page 400 . For example, margin-alignment of a vertically moved, previously flowing, block is done so that it is clear that the block first comes immediately after the previous left adjacent horizontal block.

이 응답 레이아웃 프로세스에 의해, 본원의 시스템 및 방법은 노트가 초기 디바이스에 의해 초기 배향으로 생성/디스플레이된 다음 더 작은/더 큰 디바이스들 상에서 동일한/상이한 배향들로 순차적으로 디스플레이되는 상황들에서 레이아웃을 유지할 수 있으며, 그 경우 원래의 (처음) 포맷에서의 디스플레이는 노트가 다시 그 포맷으로 디스플레이될 때 유지된다. 이를 성취하기 위하여, 정렬 패턴을 기준으로 하는 레이아웃에서의 대상 블록들의 상대적 포지셔닝은 알려질 필요가 있다. 애플리케이션 (112) 은 스크롤 페이지 보기를 바꿀 때 블록 근접도의 유지를 관리하기 위해 상대적 블록 포지션들을 결정하고 스크롤 페이지의 섹션들 또는 분할부들을 생성함으로써 이를 핸들링한다. 수직/수평 방향에서 하나를 초과하는 엘리먼트/블록의 수평/수직 오버레이가 있을 때 분할부가 생성된다. 분할부의 엘리먼트들이 분할부 내에서 사용자들의 직접 액션을 통해 또는 디바이스 인터페이스의 가시 영역과 함께 하는 스크롤 페이지의 옮김으로 인해 중 어느 하나로 이동될 때 분할부의 기본적인 콘텐츠는 변경되지 않는다. 분할부의 기본적인 콘텐츠는 엘리먼트들이 분할부로부터 제거될 때 또는 콘텐츠에 대한 편집 액션들이 수행될 때 변경된다.With this responsive layout process, the system and method of the present disclosure creates/displays a layout in situations where a note is created/displayed in an initial orientation by an initial device and then displayed sequentially in the same/different orientations on smaller/larger devices. can be maintained, in which case the display in the original (initial) format is maintained when the note is displayed again in that format. To achieve this, the relative positioning of the target blocks in the layout relative to the alignment pattern needs to be known. Application 112 handles this by determining relative block positions and creating sections or divisions of the scrolling page to manage maintenance of block proximity when changing scrolling page views. A division is created when there is a horizontal/vertical overlay of more than one element/block in the vertical/horizontal direction. When elements of a partition are moved either through a direct action of users within the partition or due to movement of a scrolling page along with the visible area of the device interface, the basic content of the partition does not change. The basic content of a partition is changed when elements are removed from the partition or when editing actions are performed on the content.

도 23a 내지 도 23f는 본원의 시스템 및 방법의 예시적인 분할 스킴을 도시한다. 레이아웃을 분할할지의 여부를 결정함에 있어서, 본원의 시스템 및 방법은, 각각의 수직으로 변위된 엘리먼트에 대해 수평 방향을 체크함으로써 서로 수평으로 중첩하는 엘리먼트들이 있는지의 여부를 수직 방향에서 우선 결정하고, 중첩이 발견될 때마다, 검색의 방향은 수직에서 수평으로 수직으로 등으로 변화한다.23A-23F illustrate exemplary partitioning schemes of the systems and methods herein. In determining whether to split the layout, the systems and methods herein first determine in the vertical direction whether there are elements horizontally overlapping each other by checking the horizontal direction for each vertically displaced element, Whenever an overlap is found, the direction of the search changes from vertical to horizontal to vertical and so on.

도 23a는 인터페이스 (104) 에서 입력된 하나의 대상 블록 (2300) 을 갖는 스크롤 페이지 (400) 의 일 예를 도시한다. 그 블록은 세 개의 열들 (1004) 과 두 개의 LPU들 (410) 에 걸쳐 있다. 레이아웃을 분할할지의 여부를 결정함에 있어서, 본원의 시스템 및 방법은 다수의 수직 엘리먼트들의 존재를 먼저 결정한 다음, 각각의 수직으로 변위된 엘리먼트에 대해 수평 방향을 체크함으로써 수평으로 중첩하는 엘리먼트들이 있는지의 여부를 결정한다. 중첩이 발견될 때마다 검색의 방향은 수직에서 수평으로 수직으로 등으로 변화한다. 따라서, 도 23의 예에서 다음이 발생한다:23A shows an example of a scrolling page 400 with one target block 2300 entered in the interface 104 . The block spans three columns 1004 and two LPUs 410 . In determining whether to split a layout, the systems and methods herein determine whether there are horizontally overlapping elements by first determining the presence of multiple vertical elements and then checking the horizontal direction for each vertically displaced element. decide whether Whenever an overlap is found, the direction of the search changes from vertical to horizontal to vertical and so on. Thus, in the example of FIG. 23 the following occurs:

A1. 프로세싱은 블록 (2300) (수직 방향에서의 첫 번째 엘리먼트임) 에서 시작하고, 아래로의 (예컨대, 블록 (2300) 의 네 개의 열 스팬 내에서의) 수직 방향의 검색으로, 수직으로 중첩하는 블록들이 없다는 것이 결정된다. 따라서, 분할부가 생성되지 않는다.A1. Processing begins at block 2300 (which is the first element in the vertical direction), with a search in the vertical direction down (eg, within the four column span of block 2300 ), vertically overlapping blocks. It is decided that there are no Accordingly, no division is created.

A2. 프로세싱은 블록 (2300) 에서 계속되고 좌측 및 우측으로의 (예컨대, 블록 (2300) 의 두 개의 LPU 스팬 내의) 수평 방향의 검색으로, 수평으로 인접한 블록들이 없다고 결정된다. 따라서, 분할부가 생성되지 않는다.A2. Processing continues at block 2300 and with a horizontal search to the left and right (eg, within the two LPU spans of block 2300 ), it is determined that there are no horizontally adjacent blocks. Accordingly, no division is created.

A3. 분할 프로세싱은 종료하는데, 콘텐츠의 추가의 블록들이 어느 방향에서도 없기 때문이다.A3. The segmentation processing ends because there are no additional blocks of content in either direction.

도 23b는 제 1 블록 (2300) 하측에 제 2 대상 블록 (2302) 이 입력된 스크롤 페이지 (400) 를 도시한다. 제 2 블록 (2302) 은 하나의 열 (1004) 과 세 개의 LPU들 (410) 에 걸쳐 있다. 추가의 블록이 입력되었으므로 다음이 발생한다:23B illustrates a scroll page 400 in which the second target block 2302 is input below the first block 2300 . The second block 2302 spans one column 1004 and three LPUs 410 . Since an additional block has been entered, the following occurs:

B1. 단계 A1이 반복되지만 이번에는 블록 (2302) 이 블록 (2300) 과는 수직으로 중첩된다고 결정된다. 따라서, 블록들 (2300 및 2302) 을 포함하는 분할부 (2304) 가 생성된다.B1. Step A1 is repeated but this time it is determined that block 2302 vertically overlaps block 2300 . Thus, a partition 2304 comprising blocks 2300 and 2302 is created.

B2. 분할부 (2304) 의 생성에 따라, 본 예에서 동일한 결과를 성취하는 단계 A2를 반복함으로써 임의의 서브-분할부들이 블록 (2300) 에서 생성되어야하는지의 여부가 결정된다.B2. According to the creation of the partition 2304 , it is determined whether any sub-partitions should be created in block 2300 by repeating step A2 in this example to achieve the same result.

B3. 프로세싱은 블록 (2302) (수직 방향에서의 다음 엘리먼트임) 에서 계속하고, 아래로의 (예컨대, 블록 (2302) 의 단일 열 스팬 내에서의) 수직 방향의 검색으로, 수직으로 중첩하는 블록들이 없다는 것이 결정된다. 따라서, 분할부 (2304) 는 유지된다 (예컨대, 분할부를 다른 블록을 포함하도록 연장할 필요가 없다).B3. Processing continues at block 2302 (which is the next element in the vertical direction), with a search in the vertical direction downward (eg, within the single column span of block 2302 ) that there are no vertically overlapping blocks. thing is decided Thus, the partition 2304 is maintained (eg, there is no need to extend the partition to include other blocks).

B4. 분할부 (2308) 의 확인으로, 임의의 서브-분할부들이 생성되어야하는지의 여부가 블록 (2302) 에서 프로세싱을 계속함으로써 결정되고, 좌측 및 우측으로의 (예컨대, 블록 (2302) 의 세 개의 LPU 스팬 내에서의) 수평 방향의 검색으로, 수평으로 인접한 블록들이 없다고 결정된다. 따라서, 서브-분할부가 생성되지 않는다.B4. Upon confirmation of partition 2308 , it is determined whether any sub-partitions should be created by continuing processing at block 2302 , and to the left and right (eg, the three LPUs of block 2302 ). With a search in the horizontal direction (within the span), it is determined that there are no horizontally adjacent blocks. Accordingly, no sub-division is created.

B5. 분할 프로세싱은 종료하는데, 콘텐츠의 추가의 블록들이 어느 방향에서도 없기 때문이다.B5. The segmentation processing ends because there are no additional blocks of content in either direction.

도 23c는 제 2 블록 (2302) 에 수평으로 인접하여 제 3 대상 블록 (2306) 이 입력된 스크롤 페이지 (400) 를 도시한다. 제 3 블록 (2306) 은 세 개의 열들 (1004) 과 세 개의 LPU들 (410) 에 걸쳐 있다. 추가의 블록이 입력되었으므로 다음이 발생한다:23C shows a scroll page 400 in which a third target block 2306 is inputted horizontally adjacent to the second block 2302 . A third block 2306 spans three columns 1004 and three LPUs 410 . Since an additional block has been entered, the following occurs:

C1. 단계 B1 내지 B3이 분할부 (2304) 의 결과적인 유지와 함께 반복된다.C1. Steps B1 to B3 are repeated with the resulting retention of division 2304 .

C2. 단계 B4는 반복되지만 이번에는 블록 (2306) 이 우측에서 수평으로 인접하다고 결정된다. 따라서, 분할부 (2304) 는 모든 세 개의 블록들 (2300, 2302 및 2306) 을 포함하기 위해서 업데이트되고 블록들 (2302 및 2306) 을 포함하는 서브-분할부 (2308) 가 생성된다.C2. Step B4 is repeated but this time it is determined that block 2306 is horizontally adjacent on the right. Thus, partition 2304 is updated to include all three blocks 2300 , 2302 and 2306 and sub-partition 2308 is created that includes blocks 2302 and 2306 .

C3. 서브-분할부 (2308) 의 생성에 따라, 임의의 추가의 엘리먼트들이 서브-분할부 (2308) 내에 있는지의 여부가 블록 (2306) (서브-분할부 (2308) 내의 수평 방향에서의 다음의 엘리먼트임) 에서 프로세싱을 계속함으로써 결정되고, 좌측 및 우측으로의 (예컨대, 블록 (2306) 의 세 개의 LPU 스팬 내의) 수평 방향의 검색으로, 블록 (2302) 만이 좌측에서 수평으로 인접하다고 결정되는데, 이는 이미 알려져 있다. 따라서, 서브-분할부 (2308) 는 유지된다 (예컨대, 그 분할부를 다른 블록을 포함하도록 연장할 필요가 없다).C3. Upon creation of the sub-division 2308 , it is determined whether any additional elements are in the sub-division 2308 , in block 2306 (the next element in the horizontal direction within the sub-division 2308 ). ), and with a search in the horizontal direction (eg, within the three LPU spans of block 2306 ) to the left and to the right, only block 2302 is determined to be horizontally contiguous on the left, which is already known Thus, the sub-division 2308 is maintained (eg, there is no need to extend the divider to include other blocks).

C4. 서브-분할부 (2308) 의 생성 및 확인으로, 서브-분할부 (2308) 내의 임의의 추가의 서브-분할부들이 생성되어야 하는지의 여부가 블록 (2306) 에서 프로세싱을 계속함으로써 결정되고, 서브-분할부 (2308) 내의 아래로의 (예컨대, 블록 (2306) 의 세 개의 열 스팬 내의) 수직 방향의 검색으로, 서브-분할부 (2308) 내에 수직으로 인접한 블록들이 없다고 결정된다. 따라서, 서브-분할부가 생성되지 않는다.C4. With creation and confirmation of sub-division 2308 , it is determined by continuing processing at block 2306 whether any additional sub-divisions within sub-division 2308 should be created, and the sub-division A vertical search down within the partition 2308 (eg, within the three column span of block 2306 ) determines that there are no vertically adjacent blocks within the sub-partition 2308 . Accordingly, no sub-division is created.

C5. 분할 프로세싱은 종료하는데, 콘텐츠의 추가의 블록들이 어느 방향에서도 없기 때문이다.C5. The segmentation processing ends because there are no additional blocks of content in either direction.

도 23d는 현존 블록들 하측에 제 4 대상 블록 (2310) 이 입력된 스크롤 페이지 (400) 를 도시한다. 추가의 블록 (2310) 은 세 개의 열들 (1004) 과 두 개의 LPU들 (410) 에 걸쳐 있다. 추가의 블록이 입력되었으므로 다음이 발생한다:23D illustrates a scroll page 400 in which a fourth target block 2310 is input below existing blocks. A further block 2310 spans three columns 1004 and two LPUs 410 . Since an additional block has been entered, the following occurs:

D1. 단계 B1 및 B2가 분할부 (2304) 의 결과적인 유지와 함께 반복된다.D1. Steps B1 and B2 are repeated with the resulting retention of division 2304 .

D2. 단계 B3이 반복되지만 이번에는 블록 (2310) 이 블록 (2302) 과는 수직으로 중첩된다고 결정된다. 따라서, 분할부 (2304) 는 블록들 (2300, 2302, 2306 및 2310) 을 포함하도록 업데이트된다.D2. Step B3 is repeated but this time it is determined that block 2310 vertically overlaps with block 2302 . Accordingly, partition 2304 is updated to include blocks 2300 , 2302 , 2306 and 2310 .

D3. 단계 C2 내지 C4가 업데이트된 분할부 (2304) 와 서브-분할부 (2308) 의 결과적인 유지와 함께 반복된다.D3. Steps C2 to C4 are repeated with the resulting maintenance of the updated partition 2304 and sub-division 2308 .

D4. 분할 프로세싱은 종료하는데, 콘텐츠의 추가의 블록들이 어느 방향에서도 없기 때문이다.D4. The segmentation processing ends because there are no additional blocks of content in either direction.

도 23e는 제 3 대상 블록 (2306) 이 세 개의 열들 (1004) 에 여전히 걸쳐 있지만 이제 세 개가 아닌 하나의 LPU (410) 에 걸쳐 있도록 리사이징되어 있는 스크롤 페이지 (400) 를 도시한다. 레이아웃에 대한 편집 동작이 발생하였을 때, 분할 프로세싱은 수행되지만 결과적으로 현존 분할부들은 블록들의 상대적 레이아웃이 변경되지 않았으므로 그대로 유지된다.23E shows the scroll page 400 being resized such that the third object block 2306 still spans three columns 1004 but now spans one LPU 410 instead of three. When an editing operation on the layout occurs, division processing is performed, but as a result, the existing divisions are maintained as the relative layout of the blocks has not been changed.

도 23f는 (리사이징된) 제 3 대상 블록 (2306) 하측에 제 5 대상 블록 (2312) 이 입력된 스크롤 페이지 (400) 를 도시한다. 추가의 블록 (2312) 은 하나의 열 (1004) 과 하나의 LPU (410) 에 걸쳐 있다. 추가의 블록이 입력되었으므로 다음이 발생한다:23F shows a scroll page 400 in which a fifth target block 2312 is input below the (resized) third target block 2306 . An additional block 2312 spans one column 1004 and one LPU 410 . Since an additional block has been entered, the following occurs:

F1. 단계 D1 및 D2가 분할부 (2304) 의 결과적인 유지와 함께 반복된다.F1. Steps D1 and D2 are repeated with the resulting retention of division 2304 .

F2. 단계 C2 및 C3가 분할부 (2304) 와 서브-분할부 (2308) 의 결과적인 유지와 함께 반복된다.F2. Steps C2 and C3 are repeated with the resulting maintenance of partition 2304 and sub-division 2308 .

F3. 단계 C4가 반복되지만 이번에는 블록 (2312) 이 블록 (2306) 과는 수직으로 중첩된다고 결정된다. 따라서, 블록들 (2306 및 2312) 을 포함하는 추가의 서브-분할부 (2314) 가 생성된다.F3. Step C4 is repeated but this time it is determined that block 2312 overlaps block 2306 vertically. Accordingly, an additional sub-division 2314 comprising blocks 2306 and 2312 is created.

F4. 서브-분할부 (2314) 의 생성에 따라, 임의의 추가의 엘리먼트들이 서브-분할부 (2314) 내에 있는지의 여부가 블록 (2312) (서브-분할부 (2314) 내의 수직 방향에서의 다음의 엘리먼트임) 에서 프로세싱을 계속함으로써 결정되고, 아래로의 서브-분할부 (2314) 내의 (예컨대, 블록 (2312) 의 세 개의 열 스팬 내의) 수직 방향의 검색으로, 서브-분할부 (2314) 내에 수직으로 인접한 블록들이 없다고 결정된다. 따라서, 서브-분할부 (2314) 는 유지된다 (예컨대, 그 분할부를 다른 블록을 포함하도록 연장할 필요가 없다).F4. Upon creation of the sub-division 2314 , it is determined whether any additional elements are within the sub-division 2314 , at block 2312 (the next element in the vertical direction within the sub-division 2314 ). is determined by continuing processing at It is determined that there are no adjacent blocks. Thus, the sub-division 2314 is maintained (eg, there is no need to extend the divider to include other blocks).

F5. 서브-분할부 (2314) 의 생성 및 확인으로, 서브-분할부 (2314) 내의 임의의 추가의 서브-분할부들이 생성되어야하는지의 여부가 블록 (2302) 에서 프로세싱을 계속함으로써 결정되고, 좌측 및 우측으로의 (예컨대, 블록 (2312) 의 단일 LPU 스팬 내의) 수평 방향의 검색으로, 블록 (2302) 만이 좌측에서 수평으로 인접하다고 결정되는데, 이는 이미 알려져 있다. 따라서, 서브-분할부가 생성되지 않는다.F5. With creation and confirmation of sub-partition 2314 , it is determined by continuing processing at block 2302 whether any additional sub-partitions within sub-partition 2314 should be created, left and A search in the horizontal direction (eg, within the single LPU span of block 2312 ) to the right determines that only block 2302 is horizontally contiguous on the left, as is known. Accordingly, no sub-division is created.

F6. 분할 프로세싱은 종료하는데, 콘텐츠의 추가의 블록들이 어느 방향에서도 없기 때문이다.F6. The segmentation processing ends because there are no additional blocks of content in either direction.

도 23의 예시적인 레이아웃은 그러므로 세 개의 분할부들 또는 섹션들로 분할된다. 제 1 또는 루트 분할부가 모든 콘텐츠 블록들을 포함하면, 제 2 분할부는 세 개의 블록들을 포함하고 제 3 분할부는 두 개의 블록들을 포함한다. 도 23의 예에서 애플리케이션 (112) 에 대해 입력이 이루어짐에 따라 분할부들은 점증적으로 생성되며, 업데이트되고 프로세싱된다. 이들 분할부들은 그러므로, (나중에 특정 예에 관련하여 설명되는) 디스플레이/배향 변화들 또는 사용자 상호작용 중 어느 하나를 통하는 분할부들 내의 또는 사이의 개개의 블록들의 움직임을 통해 블록들의 순서가 유지되도록 그 분할부들이 생성 및 업데이트됨에 따라, 메모리 (108) 에, 예를 들어, 애플리케이션 (112) 에 의해 저장된다. 분할 프로세싱은 (예컨대, 현존 노트가 애플리케이션 (112) 상에 로딩될 때) 블록들의 이미 생성된 레이아웃에 또한 적용 가능하다. 루트 분할부와 제 1 레벨 서브-분할부 (예컨대, 서브-분할부 (2304)) 가 그 속에 포함되는 블록들을 둘러싸는 것으로서 도 23에서 도시되지만, 이들 상위 레벨 분할부들은 스크롤 페이지 (400) 의 폭을 섹션들로 기본적으로 분할한다는 것이 이해된다.The exemplary layout of FIG. 23 is therefore divided into three divisions or sections. If the first or root partition includes all content blocks, the second partition includes three blocks and the third partition includes two blocks. In the example of FIG. 23 , partitions are incrementally created, updated and processed as input is made to application 112 . These divisions are therefore arranged such that the order of the blocks is maintained through movement of individual blocks within or between the divisions either through display/orientation changes or user interaction (described later in relation to a specific example). As partitions are created and updated, they are stored in memory 108 , for example by application 112 . Partition processing is also applicable to an already created layout of blocks (eg, when an existing note is loaded onto the application 112 ). Although a root partition and a first-level sub-division (eg, sub-division 2304 ) are shown in FIG. 23 as enclosing the blocks included therein, these higher-level partitions are It is understood that the width is basically divided into sections.

도 24는 상이한 디바이스 인터페이스 (104) 및/또는 디바이스 인터페이스 (104) 에 상이한 배향으로 옮겨진 도 23의 스크롤 페이지 (400) 를 도시한다. 옮김에 응답하여, 애플리케이션 (112) 은 레이아웃 패턴 (1000) 의 세 개의 열들 (1004) 을 갖는 스크롤 페이지 (400) 를 렌더링하였다. 따라서, 루트 분할부 (2304) 의 블록들 (2300 및 2310) 이 옮겨진 스크롤 페이지 (400) 의 세 개의 열들 (1004) 내에 맞추어지는 반면, 도 23의 스크롤 페이지 (400) 에서 네 개의 열들 (1004) 에 걸쳐 있는 서브-분할부 (2308) 의 조합된 블록들 (2302, 2306 및 2312) 은 그렇지 않다. 그러나, 도 22a에 묘사된 상황과는 달리, 블록들 (2306 및 2312) 이 서브-분할부 (2314) 에 추가로 포함되므로, (예컨대, 서브-분할부 (2314) 의 상부 및 하부 블록들과 상측 및 하측의 가장 가까운 블록들 사이에 하나의 LPU 스페이싱을 둔) 콘텐츠 블록 (2312) 의 결과적인 이동과 함께 서브-분할부 (2314) 는 전체가 라인 패턴 배경의 다음 가용 라인 (410) 으로 수직으로 이동되고 최좌측 블록 (즉, 블록 (2306)) 이 마진-정렬된다. 이런 식으로, 원래의 레이아웃은, 엘리먼트들의 주요 수직 흐름 및 스크롤 페이지의 폭을 가로지르는 엘리먼트들의 수평 순서 둘 다에서, 가능한 한 많이 유지되면서, 레이아웃 콘텐츠의 의미 있고 잘 사이징된 디스플레이를 스크롤 페이지 (400) 의 상이한 뷰들에서 제공한다. 수직 및 수평 순서들이 유지되므로, 도 24의 디스플레이는 원래의 디바이스 배향 또는 사이즈가 복원될 때 도 23f의 디스플레이 (예컨대, 그 원래의 입력에 대한 레이아웃) 로 다시 적절히 옮겨진다.24 shows a different device interface 104 and/or the scroll page 400 of FIG. 23 translated to a different orientation on the device interface 104 . In response to the translation, application 112 rendered scroll page 400 with three columns 1004 of layout pattern 1000 . Thus, while blocks 2300 and 2310 of the root partition 2304 fit within three columns 1004 of the displaced scroll page 400 , four columns 1004 in the scroll page 400 of FIG. 23 . The combined blocks 2302 , 2306 , and 2312 of sub-division 2308 spanning do not. However, unlike the situation depicted in FIG. 22A , blocks 2306 and 2312 are further included in sub-division 2314 (eg, with upper and lower blocks of sub-division 2314 ) With the resulting movement of the content block 2312 (with one LPU spacing between the top and bottom nearest blocks), the sub-division 2314 is entirely vertical to the next available line 410 of the line pattern background. and the leftmost block (ie, block 2306) is margin-aligned. In this way, the original layout maintains as much as possible, both in the main vertical flow of elements and in the horizontal order of elements across the width of the scrolling page, while providing a meaningful and well-sized display of the content of the scrolling page (400). ) in different views. As the vertical and horizontal orders are maintained, the display of FIG. 24 is properly moved back to the display of FIG. 23F (eg, the layout for its original input) when the original device orientation or size is restored.

도 23의 예에서, 분할부들에 추가된 콘텐츠에 대해 그들 분할부들에는 충분한 수평 공간 (예컨대, 열들) 이 있었다. 한편, 추가된 콘텐츠 또는 대상들이 분할부 내의 스크롤 페이지 (410) 의 가용 폭에 맞지 않으면, 분할부의 모든 대상들은 추가되는 대상이 분할부 내에 입력되거나 또는 드롭핑되는 경우에 의존하여 (앞서 설명된 바와 같이) 자동으로 리사이징될 수도 있고 우측 및 하측의 대상들은 결과적으로 이동되었다. 디지털 잉크 단락들 또는 텍스트 블록들의 리사이징은 라인 패턴 배경의 더 많거나 또는 더 적은 라인들 상으로의 디지털 잉크의 리플로우를 또한 수반한다. 이 리플로우는 단락의 의미 및 무결성이 유지되도록 핸들링된다. 따라서, 디지털 잉크 (와 조판 텍스트 - 나중을 참조) 의 특정 단락이 다른 단락으로 상이하게 리플로우될 수도 있고, 임의의 경우, 단락의 최소 폭은 단락 내의 텍스트의 최소 단어 폭 (하이픈연결이 있거나 또는 없음) 에 의해 좌우된다.In the example of FIG. 23 , there was sufficient horizontal space (eg, columns) in the partitions for content added to the partitions. On the other hand, if the added content or objects do not fit the available width of the scroll page 410 in the division, all objects of the division depend on the case where the added object is input or dropped in the division (as described above) ) may be automatically resized and the objects on the right and bottom have been moved as a result. Resizing of digital ink paragraphs or text blocks also involves reflow of digital ink onto more or fewer lines of the line pattern background. This reflow is handled so that the meaning and integrity of the paragraph is maintained. Thus, certain paragraphs of digital ink (and typesetting text - see later) may reflow differently to other paragraphs, and in any case, the minimum width of a paragraph is the minimum word width of text within the paragraph (either hyphenated or None) depends on

자동 리사이징이 레이아웃에서의 블록 또는 단락의 포지션과 스크롤 페이지의 폭에서의 그 블록 또는 단락의 수직 점유 백분율이 존중되도록 하는 배향 또는 포맷의 변화와 함께 또한 수행될 수도 있다. 예를 들어, 특정한 상대적 수직 포지션을 갖고 가시 영역 폭의 특정한 백분율, 말하자면 75%를 차지하는 단락에서의 핸드라이팅된 텍스트에 대해, 더 많은 단어들이 단락에 맞추어질 수 있거나 또는 단락의 높이가 변경되거나 또는 텍스트 문자들의 사이즈가 그에 따라 조정되도록 텍스트를 리플로우함으로써, 동일한 상대 포지션 및 백분율이 디바이스 배향 또는 사이즈를 변경할 때 적용된다. 텍스트 사이즈는 디지털 잉크의 조판에 특히 관련이 있다.Automatic resizing may also be performed with a change in orientation or format such that the position of the block or paragraph in the layout and the percentage vertical occupancy of that block or paragraph in the width of the scrolling page are respected. For example, for handwritten text in a paragraph that has a certain relative vertical position and occupies a certain percentage of the visible area width, say 75%, more words can fit into the paragraph or the height of the paragraph is changed or By reflowing the text so that the text characters are sized accordingly, the same relative position and percentage is applied when changing the device orientation or size. Text size is particularly relevant for digital ink typesetting.

입력 디지털 잉크를 조판 텍스트로 변환하는 방식은 레이아웃에도 또한 영향을 미친다. 이는, 종이 또는 온-스크린 중 어느 하나 상에 핸드라이팅된 문자들이, 표준 OS 설정들 (예컨대, 16 px 폰트 사이즈 및 24 px 라인 높이) 을 사용하여 일반적으로 렌더링되는 조판 텍스트보다 통상적으로 훨씬 더 크고 일반적으로 변화하는 사이즈 및 정렬로 되어 있기 때문이다 (라인 패턴 배경은 그러나 이들 변화들의 범위를 줄이는 것을 지원한다). 따라서, 디지털 잉크의 단락이 조판될 때 결과적인 조판 텍스트 단락은 훨씬 더 작다. 조판 전과 후의 단락의 상대 사이즈들의 일 예가 도 25에서 도시되는데 그 도면에서 여섯 라인들 (410) 의 스팬 (예컨대, 여섯 LPU들) 을 갖는 디지털 잉크 (2500) 의 단순 다중선 단락이 조판될 때 조판 텍스트의 단지 세 개의 라인들의 다중선 단락 (2502) 으로 축소된다 (예컨대, 더 이상 LPU들의 척도가 없다). 이는 단락들의 상대적 레이아웃이 동일하게 유지되므로 기입이 완료된 후 하나씩 또는 모두 함께 조판되는 수직으로 레이아웃된 단락들에 문제가 되지 않는다. 그러나, 수평 레이아웃된 단락들과 조판되는 단락들에 인접한 비-텍스트 블록들에 대해, 주위의 대상 블록들의 자동 이동이 수행된다면, 레이아웃에서의 급격한 변화들이 발생할 수도 있다.The way input digital ink is converted to typesetting text also affects the layout. This means that characters handwritten on either paper or on-screen are typically much larger and larger than typesetting text typically rendered using standard OS settings (eg 16 px font size and 24 px line height). This is because they are usually of varying size and alignment (line pattern backgrounds however support reducing the extent of these variations). Thus, when a paragraph of digital ink is typeset, the resulting typesetting text paragraph is much smaller. An example of the relative sizes of a paragraph before and after typesetting is shown in FIG. 25 , in which a simple multiline paragraph of digital ink 2500 having a span of six lines 410 (eg, six LPUs) is typeset when typesetting. It is reduced to a multiline paragraph 2502 of only three lines of text (eg, there is no longer a scale of LPUs). This is not a problem for vertically laid out paragraphs that are typeset one by one or all together after writing is complete, as the relative layout of the paragraphs remains the same. However, for the horizontally laid out paragraphs and the non-text blocks adjacent to the typeset paragraphs, if automatic movement of the surrounding target blocks is performed, sudden changes in the layout may occur.

대안적으로, 인접한 블록들은, 이를테면 조판된 단락의 블록 (경계들) 을 리사이징하지 않음으로써 그대로 남아 있을 수 있다. 그러나, 사용자들이 블록들의 존재를 알지 못하므로, 블록 경계들이 예를 들어 이동 및 편집 동안에만 디스플레이되므로, 결과적인 조판 단락의 사이즈는 주위의 엘리먼트들에 대해 이상해 보여, 사용자들이 그들 블록들을 조판 단락에 더 가깝게 이동하는 것을 시도하게 할 수도 있는데, 이는 조판 단락 주위의 확대된 블록의 사이즈로 인해 허용되지 않을 수도 있다.Alternatively, adjacent blocks may remain intact, such as by not resizing the blocks (boundaries) of the typeset paragraph. However, since users are unaware of the existence of blocks, block boundaries are only displayed, for example during movement and editing, so the size of the resulting typesetting paragraph looks odd for surrounding elements, allowing users to place their blocks into typesetting paragraphs. It may try to move closer, which may not be acceptable due to the size of the enlarged blocks around the typesetting paragraph.

핸드라이팅은 정확하게 입력될 콘텐츠에 대해 조판보다 더 큰 공간 (예컨대, 더 큰 라인 높이) 을 요구하고 라인 패턴 배경은 인식 프로세스를 지원하는데 일반적으로 필요하다는 것이 분명하다. 따라서, 디지털 잉크의 라인 높이가 조판 잉크의 라인 높이보다 더 크므로, 본원의 시스템 및 방법은 조판 단락들로부터 라인 패턴 배경의 디스플레이를 제거함으로써, 콘텐츠를 훨씬 더 명확하고 판독 가능하게 하고, 쉽사리 공유되게 한다. 이것의 일 예가 도 26에 도시되는데 그 도면에서 디스플레이되는 라인 패턴 배경 (410) 을 갖는 디지털 잉크 단락 (2600) 가, 라인 패턴 배경의 디스플레이가 조판 단락을 포함하는 텍스트 블록 (2602) 에서 숨겨지는 조판 단락 (2602) 으로 변환된다.It is clear that handwriting requires more space (eg, greater line height) than typesetting for the content to be entered correctly and that line pattern backgrounds are generally needed to support the recognition process. Thus, since the line height of digital ink is greater than the line height of typesetting ink, the system and method herein removes the display of the line pattern background from typesetting paragraphs, thereby making the content much clearer and more readable and easier to share. make it An example of this is shown in FIG. 26 in which digital ink paragraphs 2600 having a line pattern background 410 displayed are typesetting in which the display of the line pattern background is hidden in a text block 2602 containing the typesetting paragraphs. and paragraph 2602 .

핸드라이팅으로부터 조판으로의 옮김은 콘텐츠 입력에서 사용자들이 산만해지는 것을 방지하기 위해 신속해질 필요가 있다. 따라서, 본원의 시스템 및 방법에서, 단락들을 수동으로 조판하는 간단하며, 자연스럽고 잘 이해되는 메커니즘이 제공되고 변환의 애니메이션은 투명도 (0% 내지 100%) 와 스케일링 (0% 내지 100%) 의 단순 혼합과 함께 사용된다. 하나의 예에서, 사용자가 단락을 조판하기 원할 때, 단락 상을 단순히 더블 탭하고 결과적인 애니메이션에서 변환의 원점은 (조판되어 있는) 최소 상태의 절대 중간과 정렬된다. 이러한 변환 애니메이션의 일 예가, 디지털 잉크 단락 (2600) 으로부터 조판 단락 (2602) 으로의 변환이 도시되는 도 27에서 도시된다. 사용자가 다른 엘리먼트들에 비하여 조판 단락의 사이즈가 불만이면, 앞서 설명된 바와 같이, 예를 들어 콘텐츠를 선택하는 콘텐츠 상의 단일 탭의 수행을 통해, 단락 블록을 리사이징할 수 있다. 게다가, 조판 콘텐츠 상의 더블 탭을 다시 수행함으로써 변환의 역이 제공될 수도 있다. 대안적으로, 사용자들은, 변환으로 커밋 (commit) 하기 전에, 디지털 잉크 단락에의 장시간 누름 또는 호버링과 같은 다른 자연스럽고 잘 이해되는 동작들을 수행함으로써, (도 27 에 도시된 바와 같이) 디지털 잉크 단락을 일시적으로 대체하거나 또는 오버레이하는 결과적인 조판 단락과 애니메이션을 볼 수 있다.The transition from handwriting to typesetting needs to be rapid to avoid distracting users from entering content. Thus, in the systems and methods herein, a simple, natural and well-understood mechanism for manually typesetting paragraphs is provided and the animation of the transformation is simple with transparency (0% to 100%) and scaling (0% to 100%). Used with mixing. In one example, when the user wants to typeset a paragraph, they simply double-tap on the paragraph and in the resulting animation the origin of the transformation is aligned with the absolute middle of the (typesetting) minimum state. An example of such a transition animation is shown in FIG. 27 , where the transition from a digital ink paragraph 2600 to a typesetting paragraph 2602 is shown. If the user is dissatisfied with the size of the typesetting paragraph compared to the other elements, the paragraph block can be resized, for example, by performing a single tap on the content to select the content, as described above. In addition, the inverse of the transformation may be provided by again performing a double tap on the typesetting content. Alternatively, users may perform other natural and well-understood operations such as long press or hover over digital ink shorts (as shown in FIG. 27 ) before committing to the conversion. You can see the resulting typesetting paragraphs and animations temporarily replacing or overlaying the .

일단 단락이 조판되면 사용자들은 핸드라이팅에 의해 조판 콘텐츠에 콘텐츠를 추가하거나 또는 그 조판 콘텐츠를 변경하기를 원할 수도 있다. 본원의 시스템 및 방법은 양호한 품질과 공유 가능한 디지털 노트들을 생성하기 위해 앞서 설명된 규칙들을 고수하는 방식으로 이를 지원한다. 이는 조판 단락이 더 큰 포맷으로 디스플레이될 것을 요구함으로써 행해진다. 이 더 큰 포맷에서, 라인 패턴 배경은 라인 패턴 배경의 라인들 상에 존재하기 위해서 확대된 조판 텍스트의 폰트 사이즈로 조판 단락 블록에서 디스플레이된다. 이런 식으로, 취소선 (strike-through), 스크래치-아웃 (scratch-out), 겹쳐쓰기 (overwrite), 삽입 등과 같은 HWR 시스템 (114) 에 의해 지원되는 임의의 핸드라이팅 텍스트 또는 편집 제스처들이, LPU에 관련하여 이루어짐으로써 적절한 인식을 지원한다. 더 큰 조판 사이즈로의 임시의 변환은, 예를 들어, 간단하고 잘 이해되는 동작, 이를테면 핀치-아웃 (pinch-out) 같은 단일-포인트 또는 멀티-포인트 제스처를 수행하는 사용자에 의해 성취될 수 있다. 이 상황에서, 사용자가 추가된 디지털 잉크가 동일한 사이즈로 조판되어 있는 동일한 시간에 확대된 조판 텍스트가 보통의 사이징으로 복귀하는 (예컨대, 앞서 설명된 방식으로의) 변환을 수행하기까지, 새로운 핸드라이팅 텍스트는 이 포맷으로 유지되며, 예컨대, 단락은 조판과 디지털 잉크의 혼합체이다. 이런 식으로, HWR 시스템 (114) 이 모든 단락 콘텐츠의 재-인식을 수행하는 것이 불필요하고 레이아웃은 유지된다.Once a paragraph is typeset, users may wish to add content to or change the typesetting content by handwriting. The system and method herein support this in a way that adheres to the rules described above for producing good quality and sharable digital notes. This is done by requiring that the typesetting paragraph be displayed in a larger format. In this larger format, the line pattern background is displayed in the typesetting paragraph block with the font size of the typesetting text enlarged to exist on the lines of the line pattern background. In this way, any handwriting text or editing gestures supported by the HWR system 114 such as strike-through, scratch-out, overwrite, insert, etc. Supports appropriate awareness by being done in relation to A temporary conversion to a larger typesetting size may be accomplished, for example, by a user performing a simple and well-understood operation, such as a single-point or multi-point gesture such as a pinch-out. . In this situation, until the user performs a conversion (eg, in the manner described above) that returns the enlarged typesetting text to its normal sizing at the same time that the added digital ink is typeset at the same size, the new handwriting Text is maintained in this format, eg paragraphs are a mixture of typesetting and digital ink. In this way, it is unnecessary for the HWR system 114 to perform re-recognition of all paragraph content and the layout is maintained.

조판에 추가적으로, 간단하고 잘 이해되는 제스처들이 노트들 내의 새로운 콘텐츠와 상호작용하며, 편집하고 생성하는 사용자들에 의해 수행될 수도 있다. 예를 들어, 도 20 및 도 21을 참조하여 설명된 바와 같이 비-텍스트 캔버스를 삽입할 때, 예를 들어 삽입된 캔버스 영역 상에서 더블 탭을 수행하는 사용자들에 의해, 그 캔버스의 풀 스크린 모드에 진입될 수도 있다. 게다가, 디지털 잉크 또는 조판 단락 내에서, 특정 텍스트, 예컨대, 단어들, 어구들, 문장들과의 상호작용이, 예를 들어, (앞서 설명된 바와 같이) 선택에 대한 변경들을 위해 결과적인 선택 핸들들로 또는 그러한 선택 핸들들 없이 선택될 텍스트 상의 길게 누름 또는 호버링을 수행하는 사용자들에 의해 행해질 수도 있다. 게다가, 정의된 대상 블록들 외부의 입력 영역 (408) 의 공간들에서, 취소선, 스크래치-아웃, 겹쳐쓰기, 삽입 등과 같은 HWR 시스템 (114) 에 의해 지원되는 편집 제스처들이, 엘리먼트들 자체의 이동 또는 리사이징 없이 (하측의 임의의 대상 블록들의 결과적인 아래방향 이동으로) 현존 엘리먼트들에 관하여 공간을 추가 또는 억제하도록 사용자들에 의해 수행될 수 있다.In addition to typesetting, simple and well-understood gestures may be performed by users who edit, create, and interact with new content within the notes. For example, when inserting a non-text canvas as described with reference to FIGS. 20 and 21 , by users performing a double tap on the inserted canvas area, for example, in the full screen mode of the canvas, may be entered. Moreover, within a digital ink or typesetting paragraph, interaction with certain text, such as words, phrases, sentences, results in selection handles, for example, for changes to selection (as described above). It may be done by users performing a long press or hover over the text to be selected with or without such selection handles. In addition, in spaces of the input area 408 outside the defined object blocks, editing gestures supported by the HWR system 114 such as strikethrough, scratch-out, overwrite, insert, etc. or by users to add or suppress space in relation to existing elements (with the resulting downward movement of any object blocks below) without resizing.

앞서 논의된 바와 같이, 안내 엘리먼트로서의 라인 패턴 배경의 제공은 핸드라이팅을 입력함에 있어서 사용자들에게 잘 정의된 방식으로 지시하는 것을 보조한다. 이는 본원의 시스템 및 방법에 의한 입력의 인식 및 해석을 보조하고, 본원의 시스템 및 방법에 의한 핸드라이팅의 '원시' 잉크를 나타내는 조판 잉크와 (비-미화된 및 미화된) 디지털 잉크의 응답 디스플레이의 제공을 보조한다. 또한 논의되는 바와 같이, 사용자들이 그들의 입력의 콘텐츠와 편집을 통해 추가로 상호작용하기 위한 능력은, 라인 패턴 배경에 관련하여 디지털 및 조판 잉크를 디스플레이하는 것을 통해 또한 지원된다.As discussed above, the provision of a line pattern background as a guide element assists in directing users in entering handwriting in a well-defined manner. This aids in the recognition and interpretation of input by the systems and methods herein, and displays the response of (non-glorified and beautified) digital inks and typesetting inks representing the 'raw' inks of handwriting by the systems and methods herein. assist in the provision of As also discussed, the ability for users to further interact through editing with the content of their input is also supported through displaying digital and typesetting ink relative to the line pattern background.

미리 설명된 바와 같이, 수직 리듬은 LPU가 조판 텍스트 사이즈의 배수로서 제공된 조판 텍스트 사이즈에 기초할 수도 있다. 이런 식으로, 자신 소유의 rem 기반 원리들에 의해 지배되는 모든 조판 콘텐츠 및 비-텍스트 블록들은 입력을 위해 디스플레이되는 라인 패턴 배경과는 수직으로 정렬된 채로 유지된다. 게다가, 다른 인쇄 설정들이 수직-응답 리듬을 제공하기 위하여 이 값에 대하여 이루어져서, 이 하나의 값의 (제스처들, 메뉴들 등을 통한) 변화는 노트의 콘텐츠의 전체 레이아웃이 그에 따라 변화하게 한다.As previously explained, the vertical rhythm may be based on the typesetting text size provided by the LPU as a multiple of the typesetting text size. In this way, all typeset content and non-text blocks governed by its own rem-based principles remain vertically aligned with the line pattern background displayed for input. In addition, other print settings may be made for this value to provide a vertical-response rhythm, so that changing this one value (via gestures, menus, etc.) causes the overall layout of the note's content to change accordingly.

통상적으로 폰트화된 (fontified) 또는 조판된 문자들 (예컨대, 디지털 대상들) 의 디지털 디스플레이를 위한 디폴트 폰트 사이즈들은 가독성 및 디바이스 디스플레이 특성들에 기초하여 설정된다. 도 28a는 예시적인 텍스트 단어 (2800) 인 "Example"에 대한 조판 잉크의 전형적인 파라미터들을 도시한다. 그 텍스트 (2800) 는 텍스트 문자들의 어센더 (ascender) 들, 예컨대, 문자 "l"에 의해 정의되는 상부 한계 (upper extent) (파선 (2802) 으로서 도시됨) 와, 텍스트 문자들의 디센더 (descender) 들, 예컨대, 문자 "p"에 의해 정의되는 하부 한계 (파선 (2804) 으로서 도시됨) 를 가진다. 이들 한계들은 어센더들 및 디센더들 없이 텍스트 문자들의 공칭 높이를 정의하는 각각의 상부 및 하부 공칭 한계들 (파선들 (2806a 및 2806b) 로서 각각 예시됨) 로부터 이격된다. 상부 한계 라인 (2802) 은 상부 공칭 한계 라인 (2806a) 으로부터 거리 (d1) 이격된다. 하부 한계 라인 (2804) 은 하부 공칭 한계 라인 (2806b) 으로부터 거리 (d2) 이격된다. 공칭 한계, 즉, 상부 및 하부 공칭 한계 라인들 (2806a 및 2806b) 사이의 거리는, 거리 d3이다. 따라서, 폰트 사이즈 또는 텍스트 높이 (D) 는 d1 + d3 + d2 로서 정의된다.Typically default font sizes for digital display of fontified or typeset characters (eg, digital objects) are set based on readability and device display characteristics. 28A shows typical parameters of typesetting ink for an exemplary text word 2800, “Example”. The text 2800 has an upper extent defined by ascenders of text characters, eg, the letter “l” (shown as dashed line 2802), and a descender of text characters. ) , eg, a lower limit defined by the letter “p” (shown as dashed line 2804 ). These limits are spaced apart from respective upper and lower nominal limits (illustrated by dashed lines 2806a and 2806b, respectively) that define the nominal height of text characters without ascenders and descenders. Upper limit line 2802 is spaced a distance d1 from upper nominal limit line 2806a. Lower limit line 2804 is spaced a distance d2 from lower nominal limit line 2806b. The nominal limit, ie the distance between the upper and lower nominal limit lines 2806a and 2806b, is the distance d3. Thus, the font size or text height (D) is defined as d1 + d3 + d2.

앞서 설명된 바와 같이, 인터넷 브라우저들은 16 dp (예컨대, 1 rem = 16 px) 로서 설정된 디폴트 폰트 사이즈를 보통 가진다. 이 폰트 사이즈 내에서 텍스트는 4 dp 어센더 높이 (d1), 8 dp 공칭 높이 (d3) 및 4 dp 디센더 높이 (d2) 를 가져서, 잘 균형 잡힌 폰트구성 (fontification) 을 제공한다. 그러나, 다른 디폴트 폰트 사이즈들, 이를테면 18 dp 및 15 dp, 또는 이것들 미만 또는 초과의 값들이 가능하다. 수직 리듬 (dp) /rem 유닛들에 기초한 이러한 폰트 사이즈들은 디지털 디바이스 (100) 의 운영 체제 (110) 에 의해 일반적으로 제공된다. 이와 같이, 상이한 디바이스들은, 예를 들어 스크린 해상도와 사용되는 임의의 소프트 스케일링 (디바이스 대 화소 비율) 에 의존하여, 밀리미터 단위의 상이한 렌더링 메트릭들을 가진다. 표 4는 16 dp/1 rem 디폴트 폰트 사이즈에서의 일부 예시적인 디바이스 렌더링 메트릭들을 도시한다.As described above, Internet browsers usually have a default font size set as 16 dp (eg, 1 rem = 16 px). Text within this font size has 4 dp ascender height (d1), 8 dp nominal height (d3) and 4 dp descender height (d2), providing a well-balanced fontification. However, other default font sizes are possible, such as 18 dp and 15 dp, or values less than or greater than these. These font sizes based on vertical rhythm (dp) /rem units are generally provided by the operating system 110 of the digital device 100 . As such, different devices have different rendering metrics in millimeters, depending for example on the screen resolution and any soft scaling (device to pixel ratio) used. Table 4 shows some example device rendering metrics at the 16 dp/1 rem default font size.

제품product 스크린 해상도 (dpi) Screen resolution (dpi) 소프트 스케일링 (%) Soft Scaling (%) 폰트 사이즈 (mm) Font size (mm) iPad ProiPad Pro 264264 200200 ~6.15~6.15 서피스 프로 3surface pro 3 215215 150150 ~5.67~5.67 서피스 프로 4surface pro 4 267267 200200 ~6.08~6.08

본원의 시스템 및 방법에서는 그러나, 조판 텍스트 사이즈가, 핸드라이팅 문자들을 위한 충분하고 합리적인 공간을 제공하면서도 조판 잉크의 합리적인 디스플레이를 제공하도록 설정된다. 따라서, 충분한 공간이 핸드라이팅의 합리적인 입력을 허용하기 위해 조판 텍스트 사이즈의 상부 및 하부 한계들 상측 및 하측에 제공된다. 이 추가적인 공간은 라인 패턴 배경 (410) 의 파라미터들을 정의한다. 도 28b는 텍스트 (2800) 상측 라인 (410) 이 상부 한계 라인 (2802) 으로부터 거리 (d4) 이격되어 있고 텍스트 (2800) 하측 라인 (410) 이 하부 한계 라인 (2804) 으로부터 거리 (d5) 이격되어 있는, 라인 패턴 (410) 의 수평 라인들을 형성하는 이 추가적인 스페이싱을 도시한다. d4 및 d5의 값들은, 예를 들어, 종이를 위해 사용되는 전형적인 라인 스페이싱에 기초하여 설정될 수도 있다.In the system and method herein, however, the typesetting text size is set to provide a reasonable display of typesetting ink while providing sufficient and reasonable space for handwriting characters. Thus, sufficient space is provided above and below the upper and lower limits of the typesetting text size to allow for reasonable input of handwriting. This additional space defines the parameters of the line pattern background 410 . 28B shows that the text 2800 upper line 410 is spaced a distance d4 from the upper limit line 2802 and the text 2800 lower line 410 is spaced a distance d5 from the lower limit line 2804. shows this additional spacing forming the horizontal lines of the line pattern 410 . The values of d4 and d5 may be set based on typical line spacing used for paper, for example.

종이의 경우, 많은 라인 스페이싱 표준들이 상이한 핸드라이팅 스타일들에 관하여 전 세계적으로 사용되고 있다. 예를 들어, 표 5는 라틴어계 서체 (Latin-based script) 를 위한 A4 공책 종이의 일부 표준들을 요약한다.In the case of paper, many line spacing standards are in use worldwide for different handwriting styles. For example, Table 5 summarizes some standards of A4 notebook paper for Latin-based script.

지역area 종이 유형paper type 스페이싱 (mm)Spacing (mm) 미국USA 와이드 (또는 리갈) wide (or regal) ~8.73~8.73 미디움 (또는 컬리지) Medium (or college) ~7.14~7.14 내로우narrow ~6.35~6.35 프랑스France Sey

Figure 112018029507578-pct00001
sSey
Figure 112018029507578-pct00001
s ~8~8 유럽 (DE/UK) Europe (DE/UK) Lineatur 1Lineatur 1 ~5 - 5 - 5 (3 라인들) ~5 - 5 - 5 (3 lines) Lineatur 2Lineatur 2 ~4 - 4 - 4 (3 라인들) ~4 - 4 - 4 (3 lines) Lineatur 3Lineatur 3 ~3.5 (블록 라인들) ~3.5 (block lines)

종이 기반 수평 라인 스페이싱에서 일부 변동이 있지만, 표 4로부터 알 수 있는 바와 같이, 이들 라인 스페이싱 표준들은 핸드라이팅을 위해 용인 가능한 것으로 간주되는 것에 관한 가이드를 제공한다. 그러나, 스크린 상의 인쇄 규칙들은 프린트와는 상이하다. 예를 들어, 종이의 경우, 공간이 그것의 내재하는 제약조건들로 인해 (앞서 설명된 바와 같이) 스크린 상에서와는 달리, 문제가 되는 한편, 스크린 상의 스크롤링은 텍스트가 원한다면 엄중하게 이격되는 종이와는 달리 가독성을 돕기 위해 '에어드 (aired)' 또는 이격된 텍스트가 필요하다. 디폴트 인쇄 텍스트는 그것의 폰트 사이즈의 1.4 및 1.6 배 사이에서의 라인 높이로 가장 잘 판독된다. 따라서, 본원의 시스템 및 방법의 핸드라이팅 입력을 위한 LPU는 디폴트 조판 텍스트 사이즈의 약 1.4 내지 약 1.6 배, 예컨대, 약 1.4 × 1 rem 내지 약 1.6 × 1 rem으로 설정된다. 쉽게 곱해질 수 있는 정수 (regular number) 가 되도록 LPU 라인 높이 계수를 설정하는 것은, 블러링식 (blurred) 렌더링으로 이어질 수 있는 비-정수 (non-integer) 사이징을 쉽사리 피하게 한다.Although there are some variations in paper-based horizontal line spacing, as can be seen from Table 4, these line spacing standards provide a guide on what is considered acceptable for handwriting. However, the on-screen printing rules are different from printing. For paper, for example, space is problematic, unlike on a screen (as previously described) due to its inherent constraints, while scrolling on the screen is a problem if the text is with tightly spaced paper if desired. otherwise requires 'aired' or spaced text to aid readability. Default printed text is best read with a line height between 1.4 and 1.6 times its font size. Accordingly, the LPU for handwriting input of the systems and methods herein is set to about 1.4 to about 1.6 times the default typesetting text size, for example, about 1.4×1 rem to about 1.6×1 rem. Setting the LPU line height factor to be a regular number that can be easily multiplied easily avoids non-integer sizing that can lead to blurred rendering.

표 6은 LPU가 폰트 사이즈의 1.5 배로 설정될 때, 예컨대, 1.5의 라인 높이 계수가 사용될 때 표 3의 '제품들'에 대한 값들을 도시한다. 도 28b의 예에서, 이는 4 dp 상부 패딩 (d4) 과 4 dp 하부 패딩 (d5) 을 갖는 8 dp 라인 패딩을 제공하는데, 1.5 × 16 dp (디폴트 조판 텍스트 사이즈; 1 rem) = 24 dp이라서이다. 이 디폴트 라인 높이는 1.5 rem 높이의 배수들만을 사용하여, 수직 리듬 유닛과, 모든 대상들이 정렬되는 그리드 패턴을 정의한다.Table 6 shows the values for 'Products' in Table 3 when the LPU is set to 1.5 times the font size, eg, a line height factor of 1.5 is used. In the example of Figure 28b, this gives 8 dp line padding with 4 dp top padding (d4) and 4 dp bottom padding (d5), since 1.5 × 16 dp (default typesetting text size; 1 rem) = 24 dp . This default line height, using only multiples of 1.5 rem height, defines a vertical rhythm unit and a grid pattern in which all objects are aligned.

제품product 스크린 해상도 (dpi)Screen resolution (dpi) 소프트 스케일링 (%) Soft Scaling (%) LPU (mm)LPU (mm) iPad ProiPad Pro 264264 200200 ~9.23~9.23 서피스 프로 3surface pro 3 215215 150150 ~8.50~8.50 서피스 프로 4surface pro 4 267267 200200 ~9.13~9.13

표 5로부터 알 수 있는 바와 같이, 이는 표 4의 종이 표준들의 범위에 있는 라인 스페이싱을 제공한다. 따라서, 본원의 시스템 및 방법에서, 조판 관련 메트릭들이 라인 패턴에 대해 사용되므로, LPU의 결과적인 물리적 높이는 디바이스 스크린 해상도와 소프트 스케일링 계수에 따라 달라진다. 다시 말하면, '실세계' 고정 메트릭들, 이를테면 밀리미터들을 갖는 사이징이 아니라, 조판 폰트 사이즈를 핸드라이팅 라인 패턴을 위한 유닛으로서 사용하거나, 또는, 기존에 행해진 대로, 핸드라이팅 자체에 기초하여 사이징을 적응함으로써, 핸드라이팅은 조판 폰트 사이즈와 링크되고 통합된다.As can be seen from Table 5, this provides line spacing that is in the range of the paper standards of Table 4. Thus, in the systems and methods herein, typesetting related metrics are used for line patterns, so the resulting physical height of the LPU depends on the device screen resolution and soft scaling factor. In other words, not by sizing with 'real world' fixed metrics, such as millimeters, but by using the typesetting font size as a unit for the handwriting line pattern, or by adapting the sizing based on the handwriting itself, as is done before. , handwriting is linked and integrated with the typesetting font size.

본원의 시스템 및 방법에서 추가의 고려사항이, LPU의 값을 설정할 때, 앞서 설명된 레이아웃 특징들, 이를테면 정렬 그리드를 기준으로 하는 대상 블록 포지셔닝과 단락나누기를 존중하여 사용자들의 가이드에 또한 주어진다. 특히, 핸드라이팅 입력 동안 라인 패턴 배경은 사용자들이 입력 영역 (408) 에 현명하게 (sensibly) 핸드라이팅할 수 있는 경우 그 사용자들을 안내하기 위하여 특정한 영역들에서 마스킹될 수도 있다. 예를 들어, 페이지 (400) 상의 임의의 조판 텍스트 블록들에 대해, 라인 패턴 (410) 은 레이아웃 요건들을 존중하면서, 이를테면 단락들 사이의 빈 라인을 남겨두면서, 임의의 추가의 핸드라이팅 입력이 이루어지도록 그들 블록들의 경계 박스들 내에 마스킹될 수도 있다.Further considerations in the systems and methods herein are also given to guide users when setting the value of the LPU, respecting the layout features described above, such as positioning of the target block relative to the alignment grid and decompression. In particular, during handwriting input the line pattern background may be masked in certain areas to guide users when they can handwrite sensibly into the input area 408 . For example, for any blocks of typesetting text on page 400, line pattern 410 respects layout requirements, such as leaving blank lines between paragraphs, while any additional handwriting input is made may be masked within the bounding boxes of those blocks to

도 29a는 라인 패턴 (410) 이 완전히 비마스킹된 경계 박스 (2902) 를 갖는 조판 텍스트 블록 (2900) 을 도시한다. 알 수 있는 바와 같이, 사용자들은 핸드라이팅이 텍스트 블록 (2900) 에 대응하는 단락에 관해 어디서든 입력될 수 있다고 간주할 수도 있으며, 이는 그 입력이 너무 가까이 기입된다면 텍스트 블록 (2900) 의 단락에 바람직하지 않게 추가되는 것을 야기할 수도 있다. 도 29b는 경계 박스 (2902) 내에서 마스킹된 대로의 라인 패턴 (410) 을 도시한다. 이는 애플리케이션 (112) 에 의한 조판 단락의 처리의 얼마간의 이해를 사용자들에게 제공한다. "마스크"라는 용어는, "마스킹되는" 것으로 말해지는 스크롤 페이지 (400) 의 디스플레이 로케이션들에서, 라인 패턴 배경의 렌더링된 디스플레이가 본원의 시스템 및 방법에 의해 이루어지지 않아서, 디스플레이된 대로의 라인 패턴 배경이 추가의 핸드라이팅 입력을 위한 안내 엘리먼트로서 역할을 하는 것을 의미하는 것으로 이해된다.29A shows a typesetting text block 2900 having a bounding box 2902 with a line pattern 410 completely unmasked. As can be seen, users may consider that handwriting can be entered anywhere with respect to the paragraph corresponding to the block of text 2900 , which is desirable for the paragraph of the block of text 2900 if the input is written too closely. It may cause something that is not added. 29B shows the line pattern 410 as masked within bounding box 2902 . This provides users with some understanding of the handling of typesetting paragraphs by the application 112 . The term “mask” means that, at display locations of the scrolling page 400 that are said to be “masked,” the rendered display of the line pattern background is not achieved by the systems and methods herein, so that the line pattern as displayed is It is understood to mean that the background serves as a guiding element for further handwriting input.

이는 사용자들에게 출력 콘텐츠의 실시간 미리보기를 제공하고 라인 패턴이 그 콘텐츠의 가독성을 방해하는 것을 방지한다. 이러한 마스킹을 제공함에 있어서, 그러나, 마스킹의 범위는 고려될 것이 필요하다. 이는, 예를 들어, 도 29b에 도시된 바와 같이, 블록들 주위에 비마스킹된 라인들을 남겨두면서, 라인 패턴이 텍스트 블록들의 경계 박스 내에서만 마스킹되면, 사용자들이 가시적인 라인들 상에 기입할 수도 있는지 또는 없는지에 관해 혼동될 수도 있기 때문이다. 다시 말하면, 도 29b에서, 텍스트 블록 (2900) 바로 상측 및 하측 라인들 (410) 은 그것들이 아직 볼 수 있게 남아 있어 (그것들이 단락에 너무 가까우므로) 임의의 기입을 진행하는 것이 안되게 한다. 이를 방지하기 위해, 대상 블록 경계 박스들 외부의 라인들은 특정한 범위까지 또한 마스킹되어야 한다. 이런 식으로, 사용자들은 어디든 그들이 기입할 수도 있는 라인이 있다는 것을 안다. 본원의 시스템 및 방법에서 이 마스킹의 범위는 라인 패턴 배경의 파라미터들에, 그러므로 디폴트 조판 텍스트 사이즈에 관하여 다음과 같이 이루어진다.This gives users a real-time preview of the output content and prevents line patterns from interfering with the readability of the content. In providing such masking, however, the extent of the masking needs to be considered. This may result in users writing on visible lines if the line pattern is only masked within the bounding box of text blocks, leaving unmasked lines around the blocks, for example, as shown in FIG. 29B . It can be confusing as to whether there is or not. In other words, in FIG. 29B , the lines 410 just above and below the text block 2900 remain visible (as they are too close to a paragraph) to prevent any writing from proceeding. To prevent this, lines outside the target block bounding boxes should also be masked to a certain extent. In this way, users know that wherever there is a line they may write. The scope of this masking in the present system and method is as follows with respect to the parameters of the line pattern background and therefore the default typesetting text size.

앞서 설명된 바와 같이, 대상 블록들 사이의 스페이싱은 블록들의 경계 박스들을, 콘텐츠 자체가 아니라, 정렬 패턴 (1000) 과 정렬함으로써 핸들링된다. 예를 들어, 조판 텍스트 콘텐츠 자체와 라인 패턴 (410) 을 정렬하는 것은, 디폴트 조판 텍스트 사이즈의 한 라인 문장을 정의하는 조판 텍스트 블록 (3000) 이 라인 패턴 (410) 상에서 정렬되는 도 30a에 도시된 렌더링된 디스플레이를 초래한다. 이 렌더링은 바람직하지 않다. 경계 박스와 정렬 패턴을 정렬하는 것은 각각의 경계 박스를 정의하는 내부-패딩을 제공함으로써 행해진다.As described above, spacing between target blocks is handled by aligning the bounding boxes of the blocks with the alignment pattern 1000 , rather than the content itself. For example, aligning the typesetting text content itself with the line pattern 410 is illustrated in FIG. 30A in which typesetting text blocks 3000 defining one line sentences of the default typesetting text size are aligned on the line pattern 410. Resulting in a rendered display. This rendering is undesirable. Aligning the bounding box with the alignment pattern is done by providing an inner-padding that defines each bounding box.

도 30b는 텍스트 사이즈의 전체 범위 상측 및 하측의 약 0.75 rem (예컨대, 약 0.5 LPU) 의 (수직) 내부-패딩 (즉, 도 28a에 도시된 바와 같음) 과 열들 (1004) (및 거터들 (1006)) 에 관하여 텍스트의 범위 좌측 및 우측의 약 1.5 rem (예컨대, 약 1.0 LPU) 의 (수평) 내부-패딩에 의해 정의된 경계 박스 (3002) 를 갖는 텍스트 블록 (3000) 을 도시한다. 이런 식으로, 텍스트 블록 경계 박스들은 자신들의 좌측 상단 코너를 따라, 예컨대 좌표들 (0,0) 에서, 정렬되어, 정렬 패턴이 도 30c에 도시된 렌더링을 초래한다. 다시 말하면, 조판 텍스트는 정렬 패턴을 기준으로 경계 박스의 상단 및 하단의 약 0.75 rem 내에서 그리고 경계 박스의 좌측 및 우측의 약 1.5 rem 내에서 렌더링되지 않는다. 이런 식으로, 나란한 텍스트 블록들의 수평 붕괴 (horizontal decays) 로 인한 것과 같은 수직 정렬 및 스페이싱 문제들은 피해진다. 경계 박스의 패딩량들은, 원하는 조판 포맷 및 액션들, 이를테면 리플로우에 의존하여, 이들 값들보다 더 크거나 또는 더 작게 설정될 수도 있다는 것이 이해된다.30B shows about 0.75 rem (eg, about 0.5 LPU) of (vertical) inner-padding (ie, as shown in FIG. 28A ) and columns 1004 (and gutters) above and below the full range of text size. 1006)), shows a text block 3000 having a bounding box 3002 defined by (horizontal) inter-padding of about 1.5 rem (eg, about 1.0 LPU) to the left and right of the extent of the text. In this way, the text block bounding boxes are aligned along their upper left corner, eg at coordinates (0,0), resulting in the rendering where the alignment pattern is shown in FIG. 30C . In other words, the typesetting text is not rendered within about 0.75 rem of the top and bottom of the bounding box and about 1.5 rem of the left and right of the bounding box based on the alignment pattern. In this way, vertical alignment and spacing problems such as due to horizontal decays of side-by-side text blocks are avoided. It is understood that the padding amounts of the bounding box may be set greater or less than these values, depending on the desired typesetting format and actions, such as reflow.

라인 패턴이 텍스트 블록 경계 박스들 내부에서 마스킹됨으로써, 일부 스페이싱을 내부-패딩을 통해 포함하므로, 이 내부 마스킹은 외부-마스킹의 제공에 의해 보완될 수도 있다. 미리 설명된 바와 같이, LPU는 핸드라이팅 입력을 위한 이상적인 가용 높이를 정의한다. 따라서, 조판 텍스트의 임의의 디스플레이된 라인은 상측 및 하측에 적어도 한 LPU의 빈 공간을 가져야 한다. 따라서, 외부-마스킹은 블록 바로 상측 및 하측에서 라인들 (410) 을 마스킹하거나 또는 가리기 위하여 LPU에 기초할 수도 있다. 예를 들어, 도 31a는 위에서 설명된 바와 같은 내부-패딩 또는 내부 마스킹을 갖는 경계 박스 (3102) 로 단락을 정의하는 조판 텍스트 블록 (3100) 과, 각각의 측 주위에서 약 1.5 rem (예컨대, 약 1 LPU) 의 경계 박스 (3102) 로부터의 공간을 정의하는 외부-마스킹 영역 (3104) 을 도시한다. 조합된 내부 마스킹 영역 (3102) 및 외부-마스킹 영역 (3104) 의 이 라인 패턴 마스크는 도 31b에 도시된 블록 (3100) 의 렌더링된 디스플레이를 초래한다.This inner masking may be supplemented by providing an outer-masking, as the line pattern is masked inside the text block bounding boxes, thereby including some spacing through inner-padding. As previously explained, the LPU defines an ideal usable height for handwriting input. Therefore, any displayed line of typesetting text must have at least one LPU blank space on the top and bottom. Thus, out-masking may be based on the LPU to mask or obscure lines 410 just above and below the block. For example, FIG. 31A shows a block of typesetting text 3100 defining a paragraph with a bounding box 3102 with inner-padding or inner masking as described above, with about 1.5 rem (e.g., about 1.5 rem) around each side. 1 LPU) of an outer-masking area 3104 that defines the space from the bounding box 3102 . This line pattern mask of the combined inner masking area 3102 and outer-masking area 3104 results in the rendered display of block 3100 shown in FIG. 31B .

경계 박스들이 정렬 패턴 (1000) 의 거터들 (1006) 과 정렬되므로, 내부-마스킹은 열들 (1004) 의 거터 간 (inter-gutter) 공간을 기준으로 하는 한편 외부-마스킹은 거터들 (1006) 자체의 폭을 기준으로 한다. 따라서, 거터 폭은 1.5 rem (예컨대, 1 LPU) 으로 설정됨으로써 글로벌 시각적 균형에 맞는 그리고 조판 단락들에 관한 충분한 공간을 제공하는 정규 외부-마스킹을 생성할 수도 있다. 다시 말하면, 수평으로 인접한 (또는 중첩된) 블록들은 앞서 설명된 사양들과 연관지어 두 개의 거터들 (1006) 의 폭 (예컨대, 3 rem 또는 2 LPU들) 에 의해 분리되고, 수직으로 인접한 (또는 중첩된) 블록들은 빈 라인 (410) (예컨대, 2 LPU들) 에 의해 분리된다. 물론, LPU의 세트 값이 상이하면 외부-마스킹의 값은 마찬가지로 상이하다는 것이 이해된다.Since the bounding boxes are aligned with the gutters 1006 of the alignment pattern 1000 , the inner-masking is based on the inter-gutter space of the columns 1004 while the outer-masking is with the gutters 1006 itself. based on the width of Thus, the gutter width may be set to 1.5 rem (eg, 1 LPU) to create a regular out-masking that fits the global visual balance and provides sufficient space for typesetting paragraphs. In other words, horizontally adjacent (or overlapping) blocks are separated by the width of two gutters 1006 (eg, 3 rem or 2 LPUs), and vertically adjacent (or The overlapped) blocks are separated by an empty line 410 (eg, 2 LPUs). Of course, it is understood that if the set value of the LPU is different, the value of the outer-masking is also different.

대상 블록들이 LPU에 따라 사이징될 수도 있지만, 텍스트 블록 높이는 LPU의 반올림 배수 (round multiple) 가 아닐 수 있는 블록 내의 텍스트 콘텐츠에 의해 정의된다. 다시 말하면, LPU 기반 외부-마스킹은 기수 수의 라인들의 텍스트를 갖는 단락들에 대해 잘 작동한다. 예를 들어, 단락 (3100) 이 일곱 라인들의 텍스트를 갖는 도 31b 에 도시된 바와 같이, 텍스트의 마지막 라인은 다음의 디스플레이된 라인 (410) 의 하나를 초과하는 LPU 상측에 있다. 그러나, 우수 수의 라인들의 텍스트를 갖는 단락들은, 높이의 비-반올림 LPU 배수를 갖고 그러므로 라인 패턴의 두 개의 라인들 사이에서 끝나는 블록들을 정의한다. 이 경우, 1.5 rem 외부-마스킹이 추가될 때 텍스트 블록은 기입을 위한 현재 단락에 너무 가까운 다음 가용 라인 (410) 과 정렬된다.Although target blocks may be sized according to the LPU, the text block height is defined by the text content within the block, which may not be a round multiple of the LPU. In other words, LPU based out-masking works well for paragraphs with radix number of lines of text. For example, as shown in FIG. 31B where paragraph 3100 has seven lines of text, the last line of text is above the LPU more than one of the next displayed line 410 . However, paragraphs with an even number of lines of text define blocks that have a non-rounded LPU multiple of height and therefore end between two lines of a line pattern. In this case, when 1.5 rem outer-masking is added, the text block is aligned with the next available line 410 too close to the current paragraph for writing.

예를 들어, 도 32a는 두 개 라인들의 텍스트를 갖는 단락을 정의하는 조판 텍스트 블록 (3200) 을 도시한다. 블록 (3200) 은 내부-마스킹 영역 (3202) 과 외부-마스킹 영역 (3204) 을 가지는데, 양 영역들은 앞서 설명된 바와 같이 정의된다. 이 라인 패턴 마스크의 효과는 단락 (3200) 바로 하측 라인 (410) 이 원 F에 의해 나타내어진 영역에서 가시적으로 유지되는 도 32b에서 도시된다. 알 수 있는 바와 같이, 단락 (3200) 에서의 텍스트의 마지막 라인은 이 라인 (410) 에서부터 하나 미만의 LPU에 있다.For example, FIG. 32A shows a typesetting text block 3200 that defines a paragraph having two lines of text. Block 3200 has an inner-masking region 3202 and an outer-masking region 3204, both regions defined as described above. The effect of this line pattern mask is shown in FIG. 32B where line 410 just below paragraph 3200 remains visible in the area indicated by circle F. As can be seen, the last line of text in paragraph 3200 is in less than one LPU from this line 410 .

이 상황을 방지하기 위하여 여분의 패딩량이 외부-마스킹에 그러므로 마스크 자체에 추가된다. 여분의 하나의 dp를 하나의 LPU의 외부-마스킹에 추가하는 것은, 우수 번호부여된 조판 텍스트 단락들 (과 그러므로 모든 조판 텍스트 블록들) 바로 하측 라인이 또한 마스킹되어, 다음 가용 라인이 아래로 하나의 LPU를 추가로 나타내는 것을 보장하기에 충분하다. 이는 도 32c 및 도 32d에서 도시되는데, 그 도면들에서 외부-마스킹 영역 (3204') 은 블록 (3200) 의 하부 측에서 1.5 rem + 1 dp의 패딩량을 갖는 블록 (3200) 에 관해 정의됨으로써, 원 G에 의해 나타내어진 영역에서 블록 (3200) 바로 하측 라인 (410) 의 마스킹을 초래한다. 여분의 외부-패딩을 위한 더 큰 값이 가능하다는 것이 이해된다.To prevent this situation, an extra amount of padding is added to the out-masking and therefore to the mask itself. Adding an extra dp to the out-masking of one LPU means that the line immediately below even numbered typesetting text paragraphs (and therefore all typesetting text blocks) is also masked so that the next available line is one down suffice to ensure that it further represents the LPU of This is shown in FIGS. 32C and 32D , in which the outer-masking area 3204' is defined for block 3200 with an amount of padding of 1.5 rem + 1 dp on the lower side of block 3200, whereby This results in the masking of the line 410 just below block 3200 in the area indicated by circle G. It is understood that larger values for extra out-padding are possible.

위에서 설명된 마스킹은 임의의 텍스트 블록에 그 블록이 디지털 잉크 또는 조판 잉크를 포함하든, 또는 그 조합을 포함하든 간에 적용할 수도 있다. 그러나, 핸드라이팅 입력을 위한 안내를 최적화하기 위하여, 핸드라이팅 텍스트 블록들을 위한 마스킹은 상이하게 관리될 수도 있다. 이는, 조판 단락들 가까이에서 핸드라이팅을 억제하는 것이 요망될 수도 있는 조판 텍스트 블록들과는 달리, 핸드라이팅 또는 디지털 잉크 텍스트 블록들에 대해, 핸드라이팅 단락들에 대한 콘텐츠의 입력을 계속하는 것이 사용자들에게 허용되는 것이기 때문이다. 따라서, 디지털 잉크 블록들 내 그리고 디지털 잉크 텍스트 블록들 바로 상측 및 하측 라인 패턴 (410) 은 가시적이어야, 다시 말하면 비마스킹되어야 한다. 그러나, 수평 범위에서의 블록 스페이싱, 예컨대, 칼럼형 블록들 또는 단락들의 스페이싱을 존중하기 위하여, 정렬 패턴 (1000) 의 거터들 (1006) 을 기준으로 하는 외부-마스킹은 조판 텍스트 블록들을 위한 것과 유사한 방식으로 사용된다.The masking described above may apply to any block of text, whether that block contains digital ink or typesetting ink, or a combination thereof. However, in order to optimize guidance for handwriting input, the masking for handwriting text blocks may be managed differently. This means that, for handwritten or digital ink text blocks, as opposed to typesetting text blocks where it may be desirable to suppress handwriting near typesetting paragraphs, it may be difficult for users to continue entering content for handwritten paragraphs. because it is permissible. Accordingly, the line pattern 410 within the digital ink blocks and immediately above and below the digital ink text blocks should be visible, ie unmasked. However, to respect block spacing in the horizontal extent, eg, spacing of columnar blocks or paragraphs, out-masking relative to gutters 1006 of alignment pattern 1000 is similar to that for typesetting text blocks. used in a way

예를 들어, 도 33a는 스크롤 페이지 (400) 의 입력 영역 (408) 에 입력된 핸드라이팅 단락으로부터 렌더링된 디지털 잉크 블록 (3300) 을 도시한다. 조판 잉크 블록들처럼, 디지털 잉크 블록 (3300) 은 정렬 패턴 (1000) 과 정렬하기 위해 본원의 시스템 및 방법에 의해 경계 박스 (3302) 로 정의된다. 특히, 경계 박스 (3302) 는, 예시된 바와 같이, 블록 (3300) 이 위치되는 열(들)(1004) 의 거터들 (1006) 과 정렬된다. 이들 인접한 거터들 (1006) 은 블록 (3300) 의 외부-마스킹 영역 (3304) 의 수평 부분들로서 정의된다. 외부-마스킹 영역 (3304) 의 수직 부분들은 도시된 예에서 하나의 rem으로서 정의되지만, 0.75 rem의 값이 조판 잉크 블록들처럼 사용될 수 있거나, 또는 더 크거나 또는 더 작은 값이 사용될 수 있다.For example, FIG. 33A shows a digital ink block 3300 rendered from a handwritten paragraph entered in the input area 408 of a scroll page 400 . Like the typesetting ink blocks, the digital ink block 3300 is defined by a bounding box 3302 by the systems and methods herein for alignment with the alignment pattern 1000 . In particular, bounding box 3302 is aligned with gutters 1006 of column(s) 1004 in which block 3300 is located, as illustrated. These adjacent gutters 1006 are defined as horizontal portions of the out-masking region 3304 of block 3300 . The vertical portions of the outer-masking region 3304 are defined as one rem in the example shown, but a value of 0.75 rem may be used like typesetting ink blocks, or a larger or smaller value may be used.

디지털 잉크 블록 (3300) 하측 및 상측 외부-마스킹의 더 작은 값은, 단락 바로 상측 및 하측 라인들 (410) 이 가려지지 않아서, 추가의 핸드라이팅 입력이 그들 라인들 상에 이루어질 수 있음을 사용자들에게 표시함을 의미한다. 이것이 사용자들에게 상대적인 입력 자유를 제공하지만, 앞서 설명된 단락나누기 요건들에 관하여 문제들을 초래할 수도 있다. 따라서, 인접한 거터들 (1006) 을 이용한 외부-마스킹은 이 단락나누기 요건을 나타내기 위하여 단락의 적어도 하측으로 열 간 (inter-column) 외부-마스킹을 넘어서 연장될 수도 있다. 예를 들어, 도 33a에 도시된 바와 같이, 거터 간 외부-마스킹은 블록 (3300) 하측으로 1.5 rem + 1 dp (예컨대, 1 LPU + 1 dp) 연장되며, 이 경우 하나의 dp의 여분의 외부-마스킹량은 우수 라인식 (even-lined) 조판 잉크 단락들에 대해 위에서 논의된 것과 유사한 방식으로 단락 (3300) 하측에서 라인 (410) 의 마스킹을 보장하는 것이다.The smaller values of the digital ink block 3300 bottom and top out-masking allow users to realize that the lines just above and below the paragraph are not obscured, so that additional handwriting input can be made on those lines. means to show Although this provides users with relative input freedom, it may cause problems with respect to the paragraph break requirements described above. Thus, out-masking with adjacent gutters 1006 may extend beyond inter-column out-masking to at least the underside of the paragraph to represent this break requirement. For example, as shown in FIG. 33A , the gutter-to-gutter out-masking extends 1.5 rem + 1 dp (eg, 1 LPU + 1 dp) below block 3300 , in this case an extra exterior of one dp. -masking amount is to ensure masking of line 410 below paragraph 3300 in a manner similar to that discussed above for even-lined engraving ink paragraphs.

이 스페이싱은 단락 (3300) 을 기준으로 수직 흐름에서 추가의 핸드라이팅 입력을 위한 안내를 사용자들에게 제공하기에 충분할 수도 있지만, 라인들 (410) 이 그 스페이싱의 영역에서 여전히 디스플레이될 것이므로, 사용자들이 블록 (3300) 의 경계 (그 경계들) 에 인접한 열(들)(1004) 의 거터들 (1006) 에 추가의 핸드라이팅을 입력할 경향이 여전이 있을 수도 있다. 따라서, 도 33a에서 추가로 도시된 바와 같이, 디지털 잉크 블록 (3300) 의 외부-마스킹 영역 (3304) 의 수평 부분은 인접한 열 (1004) 의 인접한 거터 (1006) 를 포함하도록 여분의 외부-패딩 영역 (3306) 으로 연장된다. 따라서, 외부-마스킹의 수평 부분은 1.5 rem + 1.5 rem = 3 rem (또는 2 LPU들) 의 값을 가진다. 외부-마스킹의 수평 부분들 (3304 및 3306) 은 도 33b에 도시된 거터 마스킹을 제공하는 패딩된 수평 외부-마스킹 영역 (3308) 을 형성한다. 알 수 있는 바와 같이, 라인 패턴 (410) 은 단락 (3300) 의 핸드라이팅 콘텐츠 뒤와, 바로 상측 및 하측에서 볼 수 있지만 인접한 거터들 내에서는 볼 수 없어, 추가의 핸드라이팅 입력이 그 입력이 현존 단락에 추가되는 일 없이 받아들여질 수 있다는 분명한 표시를 사용자들에게 제공한다.This spacing may be sufficient to provide users with guidance for further handwriting input in a vertical flow based on paragraph 3300 , but since lines 410 will still be displayed in the area of that spacing, users There may still be a tendency to enter additional handwriting into the gutters 1006 of the column(s) 1004 adjacent to the boundary of block 3300 (its boundaries). Thus, as further shown in FIG. 33A , the horizontal portion of the outer-masking area 3304 of the digital ink block 3300 is an extra outer-padding area to include the adjacent gutter 1006 of the adjacent row 1004 . (3306) is extended. Thus, the horizontal part of the outer-masking has a value of 1.5 rem + 1.5 rem = 3 rem (or 2 LPUs). The horizontal portions 3304 and 3306 of the outer-masking form a padded horizontal outer-masking region 3308 that provides the gutter masking shown in FIG. 33B . As can be seen, the line pattern 410 is visible immediately above and below the handwriting content of paragraph 3300 , but not within the adjacent gutters, so that additional handwriting input is present when that input is present. Provide users with a clear indication that they can be accepted without being added to a paragraph.

정렬 패턴을 기준으로 (디지털 또는 조판 잉크) 블록들에 대한 라인 패턴 마스킹 영역들 또는 존들을 정의함으로써 인접한 콘텐츠 블록들의 디스플레이를 현명하게 렌더링하는 것이 가능하다. 다시 말하면, 수평 외부-마스킹이 정렬 패턴 (1000) 의 거터들 (1006) 에 의해 그 거터들 내에서 정의되기 때문에, 수평으로 인접한 블록들의 외부-마스킹은 여분의 불필요한 공간이 그것들 사이에 제공되지 않도록 공유될 (즉, 중첩될) 수 있으며, 예컨대, 디지털 잉크 블록은 6 rem만큼 수평으로 인접한 디지털 잉크 블록으로부터 또는 4.5 rem만큼 수평으로 인접한 조판 잉크 블록으로부터 분리되지 않지만, 어느 경우에나 3 rem 분리된다. 게다가, 수직 외부-마스킹이 정렬 패턴 (1000) 의 라인 패턴 (410) 에 의해 정의되기 때문에, 수직으로 인접한 블록들의 외부-마스킹은 여분의 불필요한 공간이 그것들 사이에 제공되지 않도록 또한 공유될 (즉, 중첩될) 수 있으며, 예컨대, 조판 잉크 블록은 수직으로 인접한 조판 잉크 또는 디지털 잉크 블록로부터 3 rem + 2 dp만큼 분리되지 않지만, 어느 경우에나 3 rem만큼 분리된다.It is possible to intelligently render the display of adjacent content blocks by defining line pattern masking areas or zones for blocks (digital or typesetting ink) based on an alignment pattern. In other words, since horizontal out-masking is defined within the gutter by the gutters 1006 of the alignment pattern 1000 , the out-masking of horizontally adjacent blocks is such that no extra unnecessary space is provided between them. It can be shared (ie, overlapping), eg, a digital ink block is not separated from a horizontally adjacent digital ink block by 6 rem or from a horizontally adjacent typesetting ink block by 4.5 rem, but is in any case 3 rem separated. Moreover, since vertical out-masking is defined by the line pattern 410 of the alignment pattern 1000, the out-masking of vertically adjacent blocks will also be shared so that no extra unnecessary space is provided between them (i.e., overlapping), for example, blocks of engraving ink are not separated by 3 rem + 2 dp from vertically adjacent blocks of engraving ink or digital ink, but in either case by 3 rem.

도 33의 예에 관해, 블록 (3300) 바로 하측 라인 (410) 상의 추가의 핸드라이팅의 입력 시, 외부-마스킹 영역 (3304) 이 수직 흐름에서의 바로 다음 라인 (410) 의 내부-거터 마스킹을 포함하도록, 본원의 시스템 및 방법에 의한 경계 박스 (3302) 는 추가의 입력 콘텐츠를 포함하도록 연장된다.33 , upon input of further handwriting on the line 410 immediately below block 3300 , the outer-masking region 3304 removes the inner-gutter masking of the immediately following line 410 in vertical flow. To include, bounding box 3302 by the systems and methods herein is extended to include additional input content.

라인 패턴 배경의 앞서 설명된 마스킹 또는 선택적 비-디스플레이는 바람직한 핸드라이팅 입력을 안내하는데 사용되어, 더 일반적으로, HWR 시스템 (114) 에 의해 수행되는 인식과 애플리케이션 (112) 에 의한 콘텐츠 레이아웃의 응답 핸들링을 돕는다. 핸드라이팅 라인 패턴 마스킹은 콘텐츠 레이아웃 구조들 자체의 검출 및 인식을 돕기 위해 본원의 시스템 및 방법에 의해 또한 사용된다. 본원의 시스템 및 방법의 하나의 예에서 라인 패턴 마스킹은 핸드라이팅 리스트들, 특히 불릿형 및 번호 부여된 리스트들의 입력 및 검출을 돕는데 사용된다. 이 예가 도 34 내지 도 40에 관해 이제 설명된다.The previously described masking or optional non-display of the line pattern background is used to guide the desired handwriting input, more generally the recognition performed by the HWR system 114 and response handling of the content layout by the application 112 . helps Handwriting line pattern masking is also used by the systems and methods herein to aid in the detection and recognition of content layout structures themselves. In one example of the system and method herein, line pattern masking is used to aid input and detection of handwriting lists, particularly bulleted and numbered lists. This example is now described with respect to FIGS. 34 to 40 .

디지털 조판에서, 텍스트 리스트들은 계층적 방식으로 통상 구조화된다. 다시 말하면, 계층구조에서의 리스트 아이템들 및 그것들의 종속 리스트 아이템들은 연속하는 라인들 상에서 보통은 초기 마진 (예를 들어 좌측에서 우측으로 기입된 언어표현들에 대한 좌측 마진임) 으로부터의 들여쓰기 및/또는 계층구조 내에서 각각의 아이템의 레벨을 나타내기 위해 사용되고 있는 심볼들로 분리된다.In digital typesetting, text lists are usually structured in a hierarchical manner. In other words, list items and their dependent list items in a hierarchy are usually indented from an initial margin (eg the left margin for left-to-right expressions) on successive lines and / or separated into symbols that are being used to represent the level of each item in the hierarchy.

도 34는 핸드라이팅 입력으로부터 스크롤 페이지 (400) 의 입력 영역 (408) 으로 렌더링되는 디지털 잉크 리스트 (3400) 의 일 예를 도시한다. 리스트 (3400) 는 제 1 라인 (410) 상의 텍스트의 헤더 또는 베이스 (제 1 레벨) 리스트 아이템 (3402) 과 후속 라인 (410) 상의 종속 (제 2 레벨) 리스트 아이템 (3404) 을 가진다. 제 2 레벨 아이템 (3404) 은 파선인 심볼 (3406) 과, 뒤따르는 어구 "Item 1"인 텍스트 (3408) 를 포함한다. 이 핸드라이팅 리스트는 디지털 조판 또는 타이핑된 리스트의 일반적인 외형을 가지는데, 제 1 아이템 (3402) 은 좌측 마진 (또는 리스트 (3400) 가 위치되는 블록의 좌변에 인접한 적어도 열 경계) 와 실질적으로 정렬되고, 제 2 아이템 (3404) 은 자신의 텍스트 (3408) 가 제 1 아이템 (3402) 을 기준으로 우측으로 들여쓰기된 그리고 제 1 아이템 (3402) 과는 실질적으로 정렬되는 심볼 (3406) 이 지정된 후속 라인 (410) 상에 위치된다.FIG. 34 shows an example of a digital ink list 3400 rendered from handwriting input to an input area 408 of a scrolling page 400 . The list 3400 has a header or base (first level) list item 3402 of text on a first line 410 and a dependent (second level) list item 3404 on a subsequent line 410 . The second level item 3404 includes a symbol 3406 that is a dashed line, followed by text 3408 that is the phrase “Item 1”. This handwritten list has the general appearance of a digitally typed or typed list, wherein the first item 3402 is substantially aligned with a left margin (or at least a column boundary adjacent the left side of the block in which the list 3400 is located) and , the second item 3404 has its text 3408 indented to the right with respect to the first item 3402 and a subsequent line designated with a symbol 3406 that is substantially aligned with the first item 3402 It is located on 410 .

사용자가 콘텐츠 (3400) 를 리스트 구조를 사용하여 입력하므로, 이 구조는 핸드라이팅된 콘텐츠가 조판 또는 디지털 대상들로 변환될 때 존중되어야 한다. 따라서, 애플리케이션 (112) 및/또는 HWR 시스템 (114) 은 리스트 구조를 검출하도록 구성된다. 이는, 예를 들어 입력 (3400) 의 인식된 콘텐츠의 상대적인 기하구조 (geometry) 를 분석함으로써, 적어도 부분적으로 행해질 수 있다. 예를 들어, 가장 단순한 형태로, 애플리케이션 (112), 또는 HWR 시스템 (114) 은, 제 1 및 제 2 아이템들 (3402 및 3404) 의 인식된 콘텐츠의 상대 로케이션들을 검출하도록 그리고, 인식된 파선 (3406) 이 좌측 마진 또는 인접한 열 경계를 기준으로 라인 (410) 의 개시부분에 있고 인식된 텍스트 (3408) 가 뒤따르므로, 제 2 아이템 (3404) 이 리스트 아이템임을 결정하는 언어 모델을 구현하도록 구성된다.Since the user enters content 3400 using a list structure, this structure must be respected when handwritten content is converted to typesetting or digital objects. Accordingly, the application 112 and/or the HWR system 114 is configured to detect the list structure. This may be done at least in part, for example, by analyzing the relative geometry of the recognized content of input 3400 . For example, in its simplest form, application 112 , or HWR system 114 , may detect relative locations of the recognized content of first and second items 3402 and 3404 and draw a recognized dashed line ( configure a language model to determine that the second item 3404 is a list item, since 3406 is at the beginning of line 410 relative to the left margin or adjacent column boundary and is followed by recognized text 3408 do.

마찬가지로, 제 2 리스트 아이템 (3404) 에는, 심볼, 이를테면 파선을 포함하지 않는 그리고 제 2 리스트 아이템 (3404) 의 상대적으로 검출된 들여쓰기된 텍스트 콘텐츠 (3408) 가 뒤따르는 제 1 아이템 (3402) 의 좌측-정렬된 인식된 텍스트가 상측의 인접 라인 (410) 상에서 선행하므로, 애플리케이션 (112), 또는 HWR 시스템 (114) 은, 제 1 및 제 2 아이템들 (3402 및 3404) 의 리스트 계층구조를 결정할 수도 있다. 좌측 마진 또는 열 경계에 관한 텍스트 콘텐츠 (3408) 의 검출된 들여쓰기는 인접한 아이템들에의 관계 없이 또한 고려될 수도 있다. 게다가, 제 1 아이템 (3402) 은 그 콘텐츠의 말단에 콜론인 문법적 마크 (3410) 를 포함하는데, 그 문법적 마크는 리스트 계층구조를 결정하기 위해 본원의 시스템 및 방법에 의해 추가로 사용될 수 있다.Likewise, the second list item 3404 contains a symbol of the first item 3402 that does not include a dashed line and is followed by the relatively detected indented text content 3408 of the second list item 3404 . Since the left-aligned recognized text precedes on the top adjacent line 410 , the application 112 , or HWR system 114 , determines the list hierarchy of the first and second items 3402 and 3404 . may be The detected indentation of text content 3408 relative to the left margin or column boundary may also be considered independent of adjacent items. In addition, the first item 3402 includes a grammatical mark 3410 that is a colon at the end of its content, which grammatical mark can further be used by the systems and methods herein to determine a list hierarchy.

리스트 아이템들 및 리스트 계층구조들의 결정은, 앞서 설명된 바와 같이, 핸드라이팅 자체의 인식을 위해 HWR 시스템 (114) 에 의해 사용된 것과 유사한 확률적 접근법을 사용함으로써 성취될 수도 있다. 다시 말하면, 입력 엘리먼트들에는 엘리먼트들의 인식된 콘텐츠에 기초하여 확률 점수가 배정되고 이 점수는 리스트의 일부인 엘리먼트들 및 연관된 인식된 콘텐츠의 가능성을 나타내는 엘리먼트들의 검출된 상대 로케이션들에 기초하여 수정된다. 예를 들어, 텍스트의 라인의 개시부분에 있는 것으로서 검출되는, 동반 마크들 (예컨대, 괄호들, 원들 등) 이 있거나 또는 없는, 불릿 포인트들, 별표들, 대시들, 하이픈들, 화살표들, 물결표들, 해시들, 또는 문자들 이를테면 숫자들 및 글자들과 같이 리스트들에서 통상적으로 사용되는 인식된 엘리먼트들 또는 심볼들, 텍스트의 라인의 말단에 있는 것으로서 검출되는 콜론들, 세미콜론들, 코마들과 같이 리스트들에서 통상적으로 사용되는 인식된 엘리먼트들 또는 심볼들, 그리고 인접한 라인들 상의 텍스트를 기준으로 들여쓰기된 인식된 텍스트의 리스트 포함을 위한 확률 점수들은, 리스트 아이템 포함 및 리스트 계층구조 검출의 가능성을 향상시키기 위해서 배정된다. 그러나 다른 방법들이 또한 가능하다는 것이 이해된다. 게다가, 언어 모델은 예를 들어 HWR 시스템 (114) 자체의 것 또는 전용 언어 모델일 수 있다.Determination of list items and list hierarchies may be accomplished by using a probabilistic approach similar to that used by HWR system 114 for recognition of handwriting itself, as described above. In other words, the input elements are assigned a probability score based on the perceived content of the elements and the score is modified based on the detected relative locations of the elements that are part of the list and the elements that indicate the likelihood of the associated recognized content. For example, bullet points, asterisks, dashes, hyphens, arrows, tilde, with or without accompanying marks (eg, parentheses, circles, etc.), detected as being at the beginning of a line of text. Recognized elements or symbols commonly used in lists such as fields, hashes, or characters such as numbers and letters, colons, semicolons, commas, and Probability scores for list inclusion of recognized elements or symbols commonly used in lists, and recognized text indented relative to text on adjacent lines, are the likelihood of list item inclusion and list hierarchy detection. assigned to improve However, it is understood that other methods are also possible. Furthermore, the language model may be, for example, that of the HWR system 114 itself or a dedicated language model.

인식 및 기하구조의 그런 조합을 사용하는 것이 핸드라이팅 리스트 아이템들의 잘 순서화된 입력에 대한 리스트들을 검출하는데 효과적이다. 그러나, 오정렬, 서투르게 기입되거나 또는 인식된 리스트 심볼들 등과 같은 비-이상적 입력은, 리스트들 및 그것들의 계층구조들의 거짓-양성 검출 및 거짓-음성 검출로 이어진다. 따라서, 본원의 시스템 및 방법은 리스트 검출을 최적화하기 위해 앞서 설명된 바와 같은 라인 패턴 마스킹을 사용한다. 도 34에서 알 수 있는 바와 같이, 제 2 리스트 아이템 (3404) 의 파선 (3406) 은 그 아래에 렌더링된 라인 (410) 을 가진다. 따라서, 제 2 리스트 아이템 (3404) 하측의 라인들 (410) 상의 임의의 추가의 리스트 아이템들의 입력은, 조판 시의 리스트의 적절한 검출을 보장하기 위하여 리스트의 이전 아이템들에 관하여 그들 아이템들의 심볼 및 텍스트 콘텐츠를 깔끔하게 또는 적절히 기입하는 것을 사용자들에게 요구하며; 그 검출의 성공 또는 실패는 조판 변환이 수행되기까지 알려지지 않는다. 이 적절한 정렬에 대한 안내는 인식되고 검출되는 리스트 콘텐츠에 대하여 특정한 로케이션들에서의 라인 패턴의 마스킹을 통해 제공될 수 있다.Using such a combination of recognition and geometry is effective in detecting lists for well-ordered input of handwriting list items. However, non-ideal input, such as misaligned, poorly written or recognized list symbols, etc., leads to false-positive and false-negative detection of lists and their hierarchies. Accordingly, the systems and methods herein employ line pattern masking as described above to optimize list detection. As can be seen in FIG. 34 , the dashed line 3406 of the second list item 3404 has a rendered line 410 below it. Thus, the input of any additional list items on lines 410 below the second list item 3404 can include the symbols of those items in relation to previous items in the list and the Require users to fill out text content neatly or properly; The success or failure of that detection is not known until the typesetting conversion is performed. Guidance for this proper alignment may be provided through masking of the line pattern at specific locations relative to the recognized and detected list content.

예를 들어, 도 35는 도 34의 디지털 잉크 리스트 (3400) 를 도시하지만, 도 34와는 달리, 검출된 제 2 리스트 아이템 (3404) 의 인식된 파선 (3406) 밑의 라인 (410) 의 부분은 부분-마스킹 영역 (3500) 으로서 마스킹되는 한편 검출된 제 2 리스트 아이템 (3404) 의 인식된 텍스트 부분 (3408) 밑의 라인 (410) 은 디스플레이된 채로 유지된다. 다시 말하면, 라인 (410) 은 최좌측 범위 (예컨대, 좌측 마진 또는 열 경계) 부터 검출된 리스트 아이템의 인식된 텍스트 콘텐츠의 개시부분까지 디스플레이되지 않는다. 게다가, 부분-마스킹 영역 (3500) 은 양 라인들 (410) 의 부분-마스킹의 종료가 파선 (H) 에 의해 나타낸 바와 같이 정렬되도록 제 2 리스트 아이템 (3404) 의 부분적으로-마스킹된 라인 (410) 하측의 후속 라인 (410) 상에서 반복된다. 더욱이, 다음의 후속 라인 (410) 은 마스킹되지 않는다. 이런 식으로, 사용자들에게는, 잠재적 리스트 입력이 본원의 시스템 및 방법에 의해 검출되었음을 부분-라인 마스킹이 나타냄에 따라, 핸드라이팅 입력 동안 인식 피드백이 제공되고, (아래에서 상세히 논의되는) 적절한 인식을 위한 추가의 리스트 아이템들 및 그것들의 엘리먼트들의 적절한 배치의 안내가 제공된다.For example, FIG. 35 shows the digital ink list 3400 of FIG. 34 , but unlike FIG. 34 , the portion of line 410 under the recognized dashed line 3406 of the detected second list item 3404 is The line 410 below the recognized text portion 3408 of the detected second list item 3404 while being masked as the partially-masked area 3500 remains displayed. In other words, line 410 is not displayed from the leftmost extent (eg, left margin or column boundary) to the beginning of the recognized textual content of the detected list item. In addition, the sub-masked area 3500 is a partially-masked line 410 of the second list item 3404 such that the end of the sub-masking of both lines 410 is aligned as indicated by the dashed line H. ) on the subsequent line 410 below. Moreover, the next subsequent line 410 is not masked. In this way, users are provided with recognition feedback during handwriting input, as partial-line masking indicates that a potential list input has been detected by the system and method herein, and provides appropriate recognition (discussed in detail below). Guidance is provided for proper placement of additional list items and their elements for

마스킹된 영역들 (3500) 은 수직 방향에서 적어도 하나의 LPU에 각각 걸쳐 있는 (예컨대, 그래서 각각의 라인 (410) 이 마스킹되는) 별개의 영역들 또는 존들로서 제공될 수도 있거나 또는 수직 방향에서 적어도 두 개의 LPU들에 걸쳐 있는 (예컨대, 그래서 양 라인들 (410) 이 마스킹되는) 단일의 (결합된) 영역 또는 존으로서 제공될 수도 있다. 마스킹된 영역(들)또는 존 (3500) 의 수평 범위는 선행하는 검출된 리스트 아이템들 및/또는 좌측 마진 또는 열 경계를 기준으로 인식된 리스트 심볼 및/또는 검출된 들여쓰기 후에 텍스트 콘텐츠의 개시부분과 정렬하도록 제공된다. 대안적으로, 또는 덧붙여서, 마스킹된 존 (3500) 은, 사용자들을 후속 리스트 텍스트의 배치에서 안내하기 위하여 리스트 심볼이 검출되자 마자, 예를 들어 두 개 내지 네 개의 LPU들과 같은 LPU에 기초하여, 미리 결정된 (그리고, 예컨대, UI 메뉴들 등을 통해 설정 가능한) 값에 의해 수평 방향으로 걸쳐 있도록 디스플레이된다. 이 설정된 수평 스팬은 후속 리스트 아이템 텍스트의 입력 시 그것과 정렬하기 위해서 조정될 수도 있다.The masked regions 3500 may be provided as separate regions or zones each spanning at least one LPU in the vertical direction (eg, so each line 410 is masked) or at least two in the vertical direction. may be provided as a single (coupled) region or zone that spans LPUs (eg, so both lines 410 are masked). The horizontal extent of the masked area(s) or zone 3500 is the beginning of the text content after a recognized list symbol and/or a detected indentation relative to the preceding detected list items and/or the left margin or column boundary. provided to align with Alternatively, or in addition, the masked zone 3500 may be based on an LPU such as, for example, two to four LPUs, as soon as a list symbol is detected to guide users in the placement of subsequent list text, It is displayed so as to span the horizontal direction by a predetermined (and, for example, settable via UI menus, etc.) value. This set horizontal span may be adjusted to align with subsequent list item text entry on input.

라인 패턴 배경의 부분-마스킹은 추가의 리스트 엘리먼트 입력에 대해 사용자에 의해 그렇게 요망된다면 상이한 존들을 효과적으로 제공한다. 다시 말하면, 부분적으로 마스킹된 라인들 (410) 의 마스킹된 부분 (3500) 은 리스트 심볼 입력 존을 제공하고 부분적으로 마스킹된 라인들 (410) 의 비마스킹된 부분은 리스트 콘텐츠 입력 존을 제공한다. 예를 들어, 도 36은 라인 (410) 상의 추가적인 입력 (3410) 이 제 2 리스트 아이템 (3404) 에 바로 뒤따르는, 도 35에 디스플레이된 바와 같은 리스트 (3400) 를 도시한다. 입력 (3410) 은 각각의 라인 (410) 의 마스킹된 존 (3500) 에서의 심볼 (3406) 과 각각의 라인 (410) 의 비마스킹된 존에서의 어구 "Item 2"인 텍스트 (3412) 를 포함한다. 입력 (3410) 은 그러므로 적어도 리스트 심볼 존에서의 인식된 파선 (3406) 및/또는 콘텐츠 입력 존에서의 인식된 텍스트 (3412) 의 검출로 인한 종속 (제 2 레벨) 리스트 아이템으로서 본원의 시스템 및 방법에 의해 검출된다. 그 결과, 부분적으로 마스킹된 영역 (3500) 은 새로운 리스트 아이템 (3410) 을 포함하는 라인 (410) 밑의 후속 라인 (410) 으로 연장된다.Sub-masking of the line pattern background effectively provides different zones for additional list element input if so desired by the user. In other words, the masked portion 3500 of the partially masked lines 410 provides the list symbol input zone and the unmasked portion of the partially masked lines 410 provides the list content input zone. For example, FIG. 36 shows a list 3400 as displayed in FIG. 35 , with an additional input 3410 on line 410 immediately following a second list item 3404 . Input 3410 includes a symbol 3406 in the masked zone 3500 of each line 410 and text 3412 that is the phrase “Item 2” in the unmasked zone of each line 410 . do. The input 3410 is therefore at least as a dependent (second level) list item due to detection of a recognized dashed line 3406 in the list symbol zone and/or a recognized text 3412 in the content input zone, the systems and methods herein. is detected by As a result, the partially masked region 3500 extends to a subsequent line 410 below the line 410 containing the new list item 3410 .

애플리케이션 (112) 은 특정한 리스트 생성 행동들의 고수를 사용자에게 주장하도록 구성될 수도 있다. 예를 들어, 새로운 종속 리스트 아이템들은 적절한 심볼 (이를테면 예시된 예들의 파선) 이 새로운 (다음) 라인 상의 새로운 콘텐츠에 대하여 입력될 때에만 검출/인식될 수도 있다. 대안적으로, 또는 덧붙여, 심볼 입력 존에서의 선두 심볼(들)의 입력이 있거나 또는 없는 콘텐츠 입력 존에서의 콘텐츠의 계속된 입력은 새로운 종속 리스트 아이템들의 검출을 위해 허용될 수도 있다. 이 후자 경우, 본원의 시스템 및 방법은 새로운 인식된 입력이 검출된 콘텐츠 입력 존에 선행하는 심볼 입력 존에서 리스트 심볼을 렌더링하는 디지털 잉크를 디스플레이할 수도 있다. 예를 들어, 도 35에 도시된 예시적인 리스트 (3400) 에 대해 리스트 아이템 (3410) 의 파선 (3406) 은, 예를 들어, 리스트 아이템 (3404) 의 파선 (3406) 의 사본으로서 또는 사용자의 디지털 잉크 폰트 또는 디지털 디바이스 (100) 의 운영 체제 (110) 에서 렌더링될 수도 있다. 이러한 자동으로 디스플레이된 리스트 심볼들은, 이를테면, 앞서 설명된 것과 유사한 방식으로, 자동으로 디스플레이된 심볼과의 제스처 상호작용 (예컨대, 단일 탭) 을 통해, 심볼이 포함되어야하는지의 여부를 사용자들이 나타내는 것을 허용하기 위해, 감소된 강조로, 이를테면 투명도 또는 회색 표시로 렌더링될 수도 있다. 이런 식으로, 추가적인 인식 피드백이 사용자들에게 제공된다.Application 112 may be configured to assert adherence to certain list creation actions to a user. For example, new dependent list items may be detected/recognized only when an appropriate symbol (such as the dashed line in the illustrated examples) is entered for new content on a new (next) line. Alternatively, or in addition, continued input of content in the content input zone with or without input of the leading symbol(s) in the symbol input zone may be allowed for detection of new dependent list items. In this latter case, the systems and methods herein may display digital ink rendering the list symbols in the symbol input zone preceding the content input zone in which the new recognized input was detected. For example, dashed line 3406 of list item 3410 for example list 3400 shown in FIG. 35 is, for example, a copy of dashed line 3406 of list item 3404 or a user's digital Ink fonts or may be rendered in the operating system 110 of the digital device 100 . These automatically displayed list symbols allow users to indicate whether or not a symbol should be included, such as through gesture interaction with the automatically displayed symbol (eg, a single tap), in a manner similar to that described above. To allow, it may be rendered with reduced emphasis, such as transparency or a gray display. In this way, additional cognitive feedback is provided to users.

대안적으로, 또는 덧붙여서, 초기 종속 (제 2 레벨) 리스트 아이템이 콘텐츠의 상대적 들여쓰기 단독에 기초하여 검출되면, 다시 말하면 리딩 심볼이 존재하지 않으면, 본원의 시스템 및 방법은, (일반적인) 리스트 심볼들의 자동 디스플레이와 함께 또는 그러한 디스플레이 없이, 마스킹된 존 및 비마스킹된 존을 디스플레이하도록 구성될 수도 있다. 이와 같이, 본원의 시스템 및 방법은 유사하게 배열된 그리고 유사 특성들을 가지는, 연속하는 라인들 상의 엘리먼트들의 핸드라이팅 입력으로부터 리스트들과 새로운 계층적 리스트 아이템들을 검출한다. 한편, 사용자들에 의한 리스트 심볼들의 입력 또는 비-입력은 추가적인 리스트 아이템들에 대한 상이한 계층적 의미들이 특징일 수도 있고, 그러므로 연속하는 라인들 상의 콘텐츠 입력과 있거나 없는 선두 심볼들의 의 혼합체가 본원의 시스템 및 방법에 의해 존중될 수도 있다.Alternatively, or in addition, if an initial dependent (second level) list item is detected based solely on the relative indentation of the content, i.e. no leading symbol is present, then the systems and methods of the present disclosure include: may be configured to display masked and unmasked zones with or without automatic display of As such, the system and method herein detect lists and new hierarchical list items from handwriting input of elements on successive lines that are similarly arranged and have similar properties. On the other hand, input or non-input of list symbols by users may be characterized by different hierarchical semantics for additional list items, and therefore the mixture of leading symbols with and without content input on successive lines is the present invention. may be respected by systems and methods.

예를 들어, 도 37은 라인 (410) 상의 추가적인 입력 (3414) 이 리스트 아이템 (3410) 에 바로 뒤따르는, 도 36에 디스플레이된 바와 같은 리스트 (3400) 를 도시한다. 입력 (3414) 은 각각의 라인 (410) 의 비마스킹된 존에만 어구 "Still item 2"인 텍스트를 포함한다. 이 경우, 본원의 시스템 및 방법은 텍스트 (3414) 를, 새로운, 개개의 리스트 아이템이 아니라, 리스트 아이템 (3410) 의 연장물인 것을 간주한다. 따라서, 자동 리스트 심볼 렌더링이 달리 수행되면, 그런 리스트 심볼은 텍스트 (3414) 에 추가되지 않는다. 텍스트 (3414) 가 제 2 레벨 리스트 아이템 (3410) 의 일부로서 검출되므로, 부분적으로 마스킹된 영역 (3500) 은, 도 37에 도시된 바와 같이, 텍스트 (3414) 를 포함하는 라인 (410) 밑의 후속 라인 (410) 에서 연장된다. 도 37의 예에서 연속하는 입력은 다음 라인 상의 다음 엔트리로서 이루어지고 인식되고 검출된 입력에 응답하여 본원의 시스템의 및 방법의 라인 패턴 배경의 디스플레이에 의해 제공되는 안내에 기초하여 선행하는 입력과 정렬된다. 정렬에 대한 이러한 안내는 (예컨대, 연속하는 라인들 (410) 을 연결하는 문장에서) 선행 라인의 콘텐츠의 연속물로서 이루어지는 연속하는 입력에 대해 또한 수행됨으로써, 연속하는 라인들에 걸쳐 리스트 콘텐츠의 디지털 잉크 텍스트 '래핑 (wrapping)'을 제공한다.For example, FIG. 37 shows a list 3400 as displayed in FIG. 36 , with an additional input 3414 on line 410 immediately following the list item 3410 . Input 3414 includes text with the phrase “Still item 2” only in the unmasked zone of each line 410 . In this case, the systems and methods herein regard text 3414 as being an extension of list item 3410 rather than a new, individual list item. Thus, if automatic list symbol rendering is otherwise performed, then such list symbols are not added to text 3414 . Since text 3414 is detected as part of second level list item 3410 , partially masked area 3500 is, as shown in FIG. 37 , below line 410 containing text 3414 . It extends on a subsequent line 410 . In the example of FIG. 37 successive input is made as the next entry on the next line and aligned with the preceding input based on guidance provided by the display of the line pattern background of the system and method herein in response to recognized and detected input. do. This guidance on alignment is also performed for successive input made as a continuation of the content of the preceding line (eg, in the sentence connecting successive lines 410 ), whereby digital ink of the list content across successive lines. Provides text 'wrapping'.

위의 예를 계속하여, 도 38은 텍스트 (3414) 에 바로 뒤따르는 라인 (410) 상의 추가적인 입력 (3416) 을 갖는 리스트 (3400) 를 도시한다. 입력 (3416) 은 각각의 라인 (410) 의 마스킹된 존 (3500) 에서의 심볼 (3406) 과 각각의 라인 (410) 의 비마스킹된 존에서의 어구 "Item 3"인 텍스트 (3418) 를 포함한다. 입력 (3416) 은 그러므로 적어도 리스트 심볼 존에서의 인식된 파선 (3406) 및/또는 콘텐츠 입력 존에서의 인식된 텍스트 (3418) 의 검출로 인한 종속 (제 2 레벨) 리스트 아이템으로서 본원의 시스템 및 방법에 의해 검출된다. 그 결과, 부분적으로 마스킹된 영역 (3500) 은 새로운 리스트 아이템 (3416) 을 포함하는 라인 (410) 밑의 후속 라인 (410) 으로 연장된다. 따라서, 사용자의 혼합된 입력과 적절한 리스트 입력을 위한 안내가 명확히 유지됨에도 불구하고, 검출된 리스트 구조 및 계층구조는 본원의 시스템 및 방법에 의해 보존된다.Continuing the example above, FIG. 38 shows a list 3400 with an additional input 3416 on line 410 immediately following text 3414 . Input 3416 includes a symbol 3406 in the masked zone 3500 of each line 410 and text 3418 that is the phrase “Item 3” in the unmasked zone of each line 410 . do. The input 3416 is therefore at least as a dependent (second level) list item due to detection of a recognized dashed line 3406 in the list symbol zone and/or a recognized text 3418 in the content input zone, the systems and methods herein. is detected by As a result, the partially masked region 3500 extends to a subsequent line 410 below the line 410 containing the new list item 3416 . Thus, the detected list structure and hierarchy is preserved by the systems and methods herein, although the user's mixed input and guidance for proper list entry are clearly maintained.

위에서 설명된 바와 같이, 라인 패턴 배경의 부분적 마스킹을 통한 리스트 심볼 또는 들여쓰기 존 및 리스트 콘텐츠 존의 디스플레이는 리스트 엘리먼트들의 사용자 입력을 위한 시각적 안내를 제공한다. 그러나, 이는 또한 리스트의 완료를 위한 안내를 제공하고, 그 리스트의 검출을 지원할 수도 있다. 다시 말하면, 예시된 예들에서, 리스트 아이템 입력을 포함하는 마지막 라인 (410) 에 연속하는 부분적으로 마스킹된 라인 (410) 을 뒤따르는 라인 (410) 이 마스킹되지 않으므로, 사용자들에게는 그 비마스킹된 라인 (410) 상의 핸드라이팅에 의해 새로운 비-리스트 입력을 할 것이 안내된다. 이런 식으로, 본원의 시스템 및 방법은 단락들 사이의 빈 라인 (410) 요건이 관찰될 때 이 새로운 입력을 새로운 단락으로서 검출한다. 대안적 예에서, 그러나, 리스트들은 단락과는 상이하거나 또는 단락의 필수적인 부분일 수도 있는 텍스트 블록의 종류로서 본원의 시스템 및 방법에 의해 핸들링될 수도 있다. 다시 말하면, 마지막 리스트 아이템 바로 밑 라인 상의 계속되는 입력은 새로운 단락 또는 새로운 리스트의 개시부분으로서, 또는 리스트를 포함하는 동일한 단락의 일부로서 핸들링될 수도 있다.As described above, the display of list symbols or indentation zones and list content zones through partial masking of the line pattern background provides visual guidance for user input of list elements. However, it also provides guidance for completion of the list and may support detection of the list. In other words, in the illustrated examples, the line 410 following the partially masked line 410 continuation of the last line 410 containing the list item input is not masked, so that the unmasked line is not masked to users. Handwriting on 410 is guided to make a new non-list entry. In this way, the systems and methods herein detect this new input as a new short when a blank line 410 requirement between shorts is observed. In an alternative example, however, lists may be handled by the systems and methods herein as a type of block of text that may be different from or an integral part of a paragraph. In other words, continued input on the line immediately below the last list item may be handled as the beginning of a new paragraph or new list, or as part of the same paragraph containing the list.

이들 경우들 중 임의의 경우에, 리스트 아이템 입력의 마지막 라인에 연속하는 라인 상의 핸드라이팅의 입력은 새로운 리스트의 비-리스트 콘텐츠 또는 리스트 콘텐츠로서 검출된다. 이는 리스트 심볼 또는 들여쓰기 존 내의 인식된 텍스트의 입력을 이러한 비-리스트 또는 새로운 리스트 콘텐츠로서 핸들링함으로써 성취된다. 예를 들어, 도 39는 라인 (410) 상의 추가적인 입력 (3900) 이 리스트 아이템 (3416) 에 바로 뒤따르는, 도 38에 디스플레이된 바와 같은 리스트 (3400) 를 도시한다. 입력 (3900) 은 각각의 라인 (410) 의 마스킹된 존 (3500) 에서 어구 "List is over"인 텍스트 (도 38에 도시된 바와 같음) 를 포함한다. 이 경우, 본원의 시스템 및 방법은, 마스킹된 존 (3500) 에서 입력으로서 인식된 텍스트 (3900) 가 리스트 심볼로서 인식되지 않으므로, 그것은 새로운 단락 (3900) 의 텍스트다 라고 간주한다. 텍스트 (3900) 가 리스트 (3400) 의 일부가 아닌 것으로서 검출되므로, 각각의 라인 (410) 상의 부분적으로 마스킹된 영역 (3500) 은, 도 39에 도시된 바와 같이, 텍스트 (3900) 의 전체 밑에서 디스플레이되기 위해서 생략된다 (다시 말하면, 라인 (410) 은 충분히 렌더링된다).In any of these cases, input of handwriting on a line continuing to the last line of list item input is detected as list content or non-list content of a new list. This is accomplished by handling input of recognized text in list symbols or indentation zones as such non-list or new list content. For example, FIG. 39 shows a list 3400 as displayed in FIG. 38 , with an additional input 3900 on line 410 immediately following the list item 3416 . Input 3900 includes text (as shown in FIG. 38 ) with the phrase “List is over” in masked zone 3500 of each line 410 . In this case, the systems and methods herein consider that the text 3900 recognized as input in the masked zone 3500 is not recognized as a list symbol, so it is the text of the new paragraph 3900 . Since the text 3900 is detected as not being part of the list 3400 , the partially masked area 3500 on each line 410 is displayed under the entirety of the text 3900 , as shown in FIG. 39 . is omitted to be (ie, line 410 is fully rendered).

이 예에서, 리스트 심볼 또는 들여쓰기 존에서의 예상되는 리스트 심볼 외의 콘텐츠의 입력의 검출은 (후속하는 입력이 제 1 레벨 리스트 아이템으로서의 자신의 검출을 초래하지 않는 한) 비-리스트 콘텐츠로서 본원의 시스템 및 방법에 의해 핸들링된다. 마찬가지로, (적어도) 콘텐츠 입력 존의 개시부분에서 예상되는 텍스트 외의 콘텐츠의 입력의 검출은 새로운 계층적 리스트 입력으로서 본원의 시스템 및 방법에 의해 핸들링될 수도 있다. 예를 들어. 도 40은 라인 (410) 상의 추가적인 입력 (3410') 이 제 2 리스트 아이템 (3404) 에 바로 뒤따르는, 도 35에 디스플레이된 바와 같은 리스트 (3400) 를 도시한다. 입력 (3410') 은 도 36의 입력 (3410) 의 심볼 (3406) 및 텍스트 (3412) 를 포함하지만, 도 36과는 달리, 심볼 (3406) 및 텍스트 (3412) 둘 다는 각각의 라인 (410) 의 비마스킹된 또는 콘텐츠 입력 존에 입력된다 (도 36에 도시된 바와 같음). 앞에서와 같이, 인식된 심볼 (3406) 및 인식된 텍스트 (3412) 의 상대적 병치로 인해, 본원의 시스템 및 방법은 입력 (3410') 을 종속 리스트 아이템으로서 검출한다. 그러나, 선행하는 입력 (3404) 및/또는 좌측 마진 또는 열 경계에 대한 입력 (3410') 의 상대 로케이션 (예컨대, 들여쓰기) 은, 검출된 리스트 (3400) 의 계층구조에서 종속 (제 3 레벨) 리스트 아이템으로서의 리스트 아이템 (3410') 의 검출을 초래한다.In this example, detection of an input of a list symbol or content other than the expected list symbol in the indentation zone (unless a subsequent input results in its detection as a first level list item) of the present disclosure as non-list content handled by systems and methods. Likewise, detection of input of non-text content expected at the beginning of a (at least) content input zone may be handled by the systems and methods herein as a new hierarchical list input. E.g. FIG. 40 shows a list 3400 as displayed in FIG. 35 , with an additional input 3410 ′ on line 410 immediately following a second list item 3404 . Input 3410 ′ includes symbol 3406 and text 3412 of input 3410 of FIG. 36 , but unlike FIG. 36 , both symbol 3406 and text 3412 are on respective line 410 . is input to the unmasked or content input zone of (as shown in FIG. 36 ). As before, due to the relative juxtaposition of recognized symbol 3406 and recognized text 3412 , the systems and methods herein detect input 3410 ′ as a dependent list item. However, the relative location (eg, indentation) of the preceding input 3404 and/or the input 3410 ′ relative to the left margin or column boundary is dependent (third level) in the hierarchy of the detected list 3400 . resulting in detection of list item 3410' as a list item.

이 결정에 기초하여, 검출된 제 3 리스트 아이템 (3410') 의 인식된 파선 (3406) 밑의 라인 (410) 의 부분은 부분-마스킹 영역 (4000) 으로서 마스킹되는 한편 검출된 제 2 리스트 아이템 (3404) 의 인식된 텍스트 부분 (3412) 밑의 라인 (410) 은 디스플레이된 채로 유지된다. 다시 말하면, 라인 (410) 은 최좌측 범위 (예컨대, 좌측 마진 또는 열 경계) 부터 검출된 리스트 아이템의 인식된 텍스트 콘텐츠의 개시부분까지 디스플레이되지 않는다. 게다가, 부분-마스킹 영역 (4000) 은 양 라인들 (410) 의 부분-마스킹의 종료가 파선 (I) 에 의해 나타낸 바와 같이 정렬되도록 제 3 리스트 아이템 (3410) 의 부분적으로-마스킹된 라인 (410) 하측의 후속 라인 (410) 상에서 반복된다. 다음의 라인 (410) 은 제 2 리스트 아이템 (3404) 의 계층적 리스트 구조를 보존하기 위하여 부분-마스킹 영역 (3500) 으로서 마스킹된다.Based on this determination, the portion of the line 410 under the recognized dashed line 3406 of the detected third list item 3410' is masked as a sub-masking area 4000 while the detected second list item ( Line 410 below recognized text portion 3412 of 3404 remains displayed. In other words, line 410 is not displayed from the leftmost extent (eg, left margin or column boundary) to the beginning of the recognized textual content of the detected list item. In addition, the sub-masked area 4000 is a partially-masked line 410 of the third list item 3410 such that the end of the sub-masking of both lines 410 is aligned as indicated by the dashed line (I). ) on the subsequent line 410 below. The following line 410 is masked as a sub-masked region 3500 to preserve the hierarchical list structure of the second list item 3404 .

본원의 시스템 및 방법은, 사용자들, 이를테면 학생들, 학업 및 작업 전문가들이, 핸드라이팅된 노트들, 이를테면 강의들, 회의들 및 브레인스토밍 세션들 동안, 그들의 컴퓨팅 디바이스들 상에서 워드 프로세싱된 문서들에 흡사한 의미 있고 공유 가능한 포맷을 취득하는 것을 허용하는 애플리케이션을 제공한다. 본원의 시스템 및 방법은, 기입이 (괘선) 라인들 상에서 이루어지고 검출되는 인식된 기입 콘텐츠의 레이아웃에 관하여 그들 라인들의 적응적 디스플레이에 의해 안내되고, 단락들 및 다른 레이아웃 엘리먼트들이 배향 (즉, 세로보기 또는 가로보기) 및 디바이스 디스플레이 용량에 응답하여 준중되므로, 자연스러운 기입이 입력되는 것을 추가로 허용한다.The system and method herein are similar to handwritten notes, such as word processed documents on their computing devices, by users, such as students, academic and work professionals, such as during lectures, meetings and brainstorming sessions. It provides applications that allow obtaining a meaningful and sharable format. The system and method herein provides that writing is made on (ruled) lines and guided by an adaptive display of those lines with respect to the layout of the detected writing content, wherein paragraphs and other layout elements are oriented (ie, vertical). view or landscape) and responsive to device display capacity, further allowing natural writing to be entered.

콘텐츠를 편집하는 것, 노트들의 레이아웃을 조작하는 것, 또는 노트들을 문서로 변환하거나 또는 문서에 추가하는 것과 같은 노트에서 생성된 핸드라이팅 또는 조판 텍스트, 또는 비-텍스트 콘텐츠와의 추가의 상호작용은, 노트를 별도의 문서 프로세싱 애플리케이션 속으로 들여오기할 필요 없이, 애플리케이션 자체 내에서 직접적으로 수행될 수 있다. 이와 같이, 핸드라이팅된 노트들의 원래의 레이아웃은 실제 입력 핸드라이팅 자체인, 디지털 잉크 그대로 유지된다. 따라서, 주석들, 장식들, 특수 레이아웃 등은 필기된 노트들의 쉬운 이해를 위해 유지된다.Further interaction with handwriting or typesetting text, or non-text content created in a note, such as editing content, manipulating the layout of notes, or converting notes into or adding to a document, is , can be done directly within the application itself, without the need to import notes into a separate document processing application. As such, the original layout of the handwritten notes remains intact, the actual input handwriting itself, digital ink. Accordingly, annotations, decorations, special layout, etc. are maintained for easy understanding of the handwritten notes.

전술한 바는 최상의 모드 및/또는 다른 예들인 것으로 간주되는 것을 설명하였지만, 다양한 수정들이 본 명세서에서 이루어질 수도 있고, 본원에서 개시된 주제는 다양한 형태들 및 예들로 구현될 수도 있고, 수많은 다른 애플리케이션들, 조합들, 및 환경들에 적용될 수도 있고, 그것의 단지 일부만이 본 명세서에서 설명되었다는 것이 이해된다. 본 기술분야의 통상의 기술자들은 개시된 양태들이 발명의 주제의 진정한 사상 및 범위로부터 벗어남 없이 개조되거나 또는 수정될 수도 있다는 것을 인식할 것이다. 그러므로, 본 발명의 주제는 이 명세서에서의 특정 세부사항들, 전시품들, 및 예시된 예들로 제한되지 않는다. 본 명세서에서 개시되는 유리한 개념들의 진정한 범위 내에 속하는 임의의 및 모든 수정들과 변동들이 보호되는 것이 의도된다.While the foregoing has described what is considered to be the best mode and/or other examples, various modifications may be made herein, and the subject matter disclosed herein may be embodied in various forms and examples, and may have numerous other applications, It is understood that combinations, and environments, may apply, only some of which have been described herein. Those skilled in the art will recognize that the disclosed aspects may be modified or modified without departing from the true spirit and scope of the inventive subject matter. Therefore, the subject matter of the present invention is not limited to the specific details, exhibits, and illustrated examples herein. Any and all modifications and variations that fall within the true scope of the advantageous concepts disclosed herein are intended to be protected.

Claims (33)

컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템으로서,
각각의 컴퓨팅 디바이스는 프로세서와 상기 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며, 상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 기하학적 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 야기하도록 구성되고,
상기 컴퓨팅 디바이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 상기 컴퓨팅 디바이스 디스플레이 인터페이스가, 디지털 잉크의 상기 기하학적 블록들이 상기 디스플레이 인터페이스의 수평 치수 내에서 수평 인접부에 맞는 구성으로부터, 상기 기하학적 블록들의 누적 수평 기하학적 블록 치수 미만인 감소된 수평 치수의 다른 구성으로 변화할 때, 상기 기하학적 블록들의 다른 기하학적 블록들의 레이아웃은 유지하면서, 상기 기하학적 블록들의 상기 다른 기하학적 블록들에 대해 상대적으로 하나 이상의 상기 기하학적 블록들의 이동을 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
A system for digital note taking on computing devices, comprising:
Each computing device includes a processor and at least one non-transitory computer readable medium for recognizing handwriting note handwriting input under control of the processor, the at least one non-transitory computer readable medium comprising:
configured to cause, on a display interface of the computing device, display of digital ink in a block layout according to a layout of geometric blocks of the handwriting input and a configuration of the computing device display interface,
the configuration of the computing device is defined by horizontal and vertical dimensions of the display interface;
The at least one non-transitory computer readable medium comprises: a cumulative horizontal geometric block of geometric blocks from a configuration wherein the computing device display interface is configured such that the geometric blocks of digital ink fit in a horizontal neighborhood within a horizontal dimension of the display interface. to cause movement of one or more of the geometric blocks relative to the other geometric blocks of the geometric blocks, while maintaining the layout of the other geometric blocks of the geometric blocks when changing to another configuration of reduced horizontal dimension of less than the dimension. A system configured for digital note taking on computing devices.
제 1 항에 있어서,
디지털 잉크의 각각의 기하학적 블록이 상호작용적이도록 구성되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상기 기하학적 블록들과의 상호작용을 수신하는 것에 응답하여 레이아웃 디스플레이에서의 변화를 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
The method of claim 1,
each geometric block of digital ink is configured to be interactive,
wherein the at least one non-transitory computer readable medium is configured to cause a change in a layout display in response to receiving interaction with the geometric blocks.
제 1 항에 있어서,
상기 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 제 1 배향 컴퓨팅 디바이스에서의 제 1 애스펙트 보기와 상기 컴퓨팅 디바이스의 제 2 배향에서의 제 2 애스펙트 보기를 포함하고,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상기 디스플레이 인터페이스의 애스펙트 보기 변화들에 응답하여 레이아웃 디스플레이에서의 변화를 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
The method of claim 1,
wherein the configuration of the computing device display interface comprises a first aspect view in a first orientation computing device and a second aspect view in a second orientation of the computing device;
wherein the at least one non-transitory computer-readable medium is configured to cause a change in a layout display in response to aspect view changes of the display interface.
제 3 항에 있어서,
상기 제 1 애스펙트 보기는 세로보기이고 상기 제 2 애스펙트 보기는 가로보기인, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
4. The method of claim 3,
wherein the first aspect view is a portrait view and the second aspect view is a landscape view.
제 1 항에 있어서,
각각의 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 상이한 수평 및/또는 수직 치수들의 디스플레이 인터페이스들을 갖는 컴퓨팅 디바이스들 상의 디스플레이에 응답하여 레이아웃 디스플레이에서의 변화를 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
The method of claim 1,
the configuration of each computing device display interface is defined by horizontal and vertical dimensions of the display interface;
wherein the at least one non-transitory computer-readable medium is configured to cause a change in a layout display in response to display on the computing devices having display interfaces of different horizontal and/or vertical dimensions. system for.
제 1 항에 있어서,
상기 디스플레이 인터페이스는 스크롤가능한, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 시스템.
The method of claim 1,
and the display interface is scrollable.
컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법으로서,
각각의 컴퓨팅 디바이스는 프로세서와 상기 프로세서의 제어 하에 핸드라이팅 노트 필기 입력을 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하며, 상기 방법은,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체로, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 기하학적 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 야기하는 단계를 포함하고,
상기 컴퓨팅 디바이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 상기 컴퓨팅 디바이스 디스플레이 인터페이스가, 디지털 잉크의 상기 기하학적 블록들이 상기 디스플레이 인터페이스의 수평 치수 내에서 수평 인접부에 맞는 구성으로부터, 상기 기하학적 블록들의 누적 수평 기하학적 블록 치수 미만인 감소된 수평 치수의 다른 구성으로 변화할 때, 상기 기하학적 블록들의 다른 기하학적 블록들의 레이아웃은 유지하면서, 상기 기하학적 블록들의 상기 다른 기하학적 블록들에 대해 상대적으로 하나 이상의 상기 기하학적 블록들의 이동을 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
A method for digital note taking on computing devices, comprising:
Each computing device includes a processor and at least one non-transitory computer readable medium for recognizing handwriting note handwriting input under control of the processor, the method comprising:
causing, on a display interface of a computing device, display of digital ink in a block layout according to a layout of geometric blocks of handwriting input and a configuration of a computing device display interface, on the at least one non-transitory computer readable medium; and,
the configuration of the computing device is defined by horizontal and vertical dimensions of the display interface;
The at least one non-transitory computer readable medium comprises: a cumulative horizontal geometric block of geometric blocks from a configuration wherein the computing device display interface is configured such that the geometric blocks of digital ink fit in a horizontal neighborhood within a horizontal dimension of the display interface. to cause movement of one or more of the geometric blocks relative to the other geometric blocks of the geometric blocks, while maintaining the layout of the other geometric blocks of the geometric blocks when changing to another configuration of reduced horizontal dimension of less than the dimension. A method, configured, for digital note taking on computing devices.
제 7 항에 있어서,
디지털 잉크의 각각의 기하학적 블록이 상호작용적이도록 구성되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 상기 기하학적 블록들과의 상호작용을 수신하는 것에 응답하여 레이아웃 디스플레이에서의 변화를 야기하도록 구성되는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
8. The method of claim 7,
each geometric block of digital ink is configured to be interactive,
wherein the at least one non-transitory computer readable medium is configured to cause a change in a layout display in response to receiving interaction with the geometric blocks.
제 7 항에 있어서,
상기 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 제 1 배향 컴퓨팅 디바이스에서의 제 1 애스펙트 보기와 상기 컴퓨팅 디바이스의 제 2 배향에서의 제 2 애스펙트 보기를 포함하고,
상기 방법은, 상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체로, 상기 디스플레이 인터페이스의 애스펙트 보기 변화들에 응답하여 레이아웃 디스플레이에서의 변화를 야기하는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
8. The method of claim 7,
wherein the configuration of the computing device display interface comprises a first aspect view in a first orientation computing device and a second aspect view in a second orientation of the computing device;
wherein the method causes a change in a layout display in response to aspect view changes of the display interface with the at least one non-transitory computer readable medium.
제 9 항에 있어서,
상기 제 1 애스펙트 보기는 세로보기이고 상기 제 2 애스펙트 보기는 가로보기인, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
10. The method of claim 9,
wherein the first aspect view is a portrait view and the second aspect view is a landscape view.
제 7 항에 있어서,
각각의 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 방법은, 상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체로, 상이한 수평 및/또는 수직 치수들의 디스플레이 인터페이스들을 갖는 컴퓨팅 디바이스들 상의 디스플레이에 응답하여 레이아웃 디스플레이에서의 변화를 야기하는, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
8. The method of claim 7,
the configuration of each computing device display interface is defined by horizontal and vertical dimensions of the display interface;
The method comprises, with the at least one non-transitory computer readable medium, causing a change in a layout display in response to display on the computing devices having display interfaces of different horizontal and/or vertical dimensions. How to take notes.
제 7 항에 있어서,
상기 디스플레이 인터페이스는 스크롤가능한, 컴퓨팅 디바이스들 상의 디지털 노트 필기를 위한 방법.
8. The method of claim 7,
and the display interface is scrollable.
컴퓨터 판독가능 프로그램 코드가 수록된 비일시적 컴퓨터 판독가능 매체로서,
상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스에의 핸드라이팅 노트 필기의 입력을 인식하는 방법을 구현하게 실행되도록 적응되며,
상기 컴퓨팅 디바이스는 프로세서와 상기 프로세서의 제어 하에 상기 입력을 인식하기 위한 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체를 포함하며,
상기 방법은,
상기 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체로, 컴퓨팅 디바이스의 디스플레이 인터페이스 상에, 핸드라이팅 입력의 기하학적 블록들의 레이아웃과 컴퓨팅 디바이스 디스플레이 인터페이스의 구성에 따라 블록 레이아웃에서 디지털 잉크의 디스플레이를 야기하는 단계를 포함하고,
상기 컴퓨팅 디바이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 상기 컴퓨팅 디바이스 디스플레이 인터페이스가, 디지털 잉크의 상기 기하학적 블록들이 상기 디스플레이 인터페이스의 수평 치수 내에서 수평 인접부에 맞는 구성으로부터, 상기 기하학적 블록들의 누적 수평 기하학적 블록 치수 미만인 감소된 수평 치수의 다른 구성으로 변화할 때, 상기 기하학적 블록들의 다른 기하학적 블록들의 레이아웃은 유지하면서, 상기 기하학적 블록들의 상기 다른 기하학적 블록들에 대해 상대적으로 하나 이상의 상기 기하학적 블록들의 이동을 야기하도록 구성되는, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer readable medium having computer readable program code embodied therein, comprising:
wherein the computer readable program code is adapted to be executed to implement a method of recognizing input of handwritten note taking to a computing device;
the computing device comprises a processor and at least one system non-transitory computer readable medium for recognizing the input under control of the processor;
The method is
causing, on a display interface of a computing device, display of digital ink in a block layout according to a layout of geometric blocks of handwriting input and a configuration of a computing device display interface, on the at least one system non-transitory computer readable medium, the display of the digital ink; including,
the configuration of the computing device is defined by horizontal and vertical dimensions of the display interface;
The at least one non-transitory computer readable medium comprises: a cumulative horizontal geometric block of geometric blocks from a configuration wherein the computing device display interface is configured such that the geometric blocks of digital ink fit in a horizontal neighborhood within a horizontal dimension of the display interface. to cause movement of one or more of the geometric blocks relative to the other geometric blocks of the geometric blocks, while maintaining the layout of the other geometric blocks of the geometric blocks when changing to another configuration of reduced horizontal dimension of less than the dimension. configured, non-transitory computer-readable medium.
제 13 항에 있어서,
디지털 잉크의 각각의 기하학적 블록이 상호작용적이도록 구성되며,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 상기 기하학적 블록들과의 상호작용을 수신하는 것에 응답하여 레이아웃 디스플레이에서의 변화를 야기하도록 구성되는, 비일시적 컴퓨터 판독가능 매체.
14. The method of claim 13,
each geometric block of digital ink is configured to be interactive,
and the at least one non-transitory computer-readable medium is configured to cause a change in a layout display in response to receiving interaction with the geometric blocks.
제 13 항에 있어서,
상기 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 제 1 배향 컴퓨팅 디바이스에서의 제 1 애스펙트 보기와 상기 컴퓨팅 디바이스의 제 2 배향에서의 제 2 애스펙트 보기를 포함하고,
상기 방법은, 상기 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체로, 상기 디스플레이 인터페이스의 애스펙트 보기 변화들에 응답하여 레이아웃 디스플레이에서의 변화를 야기하는, 비일시적 컴퓨터 판독가능 매체.
14. The method of claim 13,
wherein the configuration of the computing device display interface comprises a first aspect view in a first orientation computing device and a second aspect view in a second orientation of the computing device;
wherein the method causes a change in a layout display in response to aspect view changes of the display interface with the at least one system non-transitory computer readable medium.
제 15 항에 있어서,
상기 제 1 애스펙트 보기는 세로보기이고 상기 제 2 애스펙트 보기는 가로보기인, 비일시적 컴퓨터 판독가능 매체.
16. The method of claim 15,
wherein the first aspect view is a portrait view and the second aspect view is a landscape view.
제 13 항에 있어서,
각각의 컴퓨팅 디바이스 디스플레이 인터페이스의 상기 구성은 상기 디스플레이 인터페이스의 수평 및 수직 치수들에 의해 정의되며,
상기 방법은, 상기 적어도 하나의 시스템 비일시적 컴퓨터 판독가능 매체로, 상이한 수평 및/또는 수직 치수들의 디스플레이 인터페이스들을 갖는 컴퓨팅 디바이스들 상의 디스플레이에 응답하여 레이아웃 디스플레이에서의 변화를 야기하는, 비일시적 컴퓨터 판독가능 매체.
14. The method of claim 13,
the configuration of each computing device display interface is defined by horizontal and vertical dimensions of the display interface;
The method comprises causing a change in a layout display in response to display on computing devices having display interfaces of different horizontal and/or vertical dimensions with the at least one system non-transitory computer readable medium. possible medium.
제 13 항에 있어서,
상기 디스플레이 인터페이스는 스크롤가능한, 비일시적 컴퓨터 판독가능 매체.
14. The method of claim 13,
wherein the display interface is a scrollable, non-transitory computer-readable medium.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020187008410A 2015-08-25 2016-08-25 Systems and methods of digital note taking KR102382899B1 (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
EP15290219.3 2015-08-25
EP15290219 2015-08-25
US14/886,195 2015-10-19
US14/886,195 US9965175B2 (en) 2015-08-25 2015-10-19 System and method of digital note taking
EP16290058.3 2016-03-31
EP16290058 2016-03-31
US15/215,716 US10318613B2 (en) 2015-08-25 2016-07-21 System and method of digital note taking
US15/215,716 2016-07-21
PCT/EP2016/001446 WO2017032459A1 (en) 2015-08-25 2016-08-25 System and method of digital note taking

Publications (2)

Publication Number Publication Date
KR20180048774A KR20180048774A (en) 2018-05-10
KR102382899B1 true KR102382899B1 (en) 2022-04-04

Family

ID=58095666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187008410A KR102382899B1 (en) 2015-08-25 2016-08-25 Systems and methods of digital note taking

Country Status (6)

Country Link
US (1) US10318613B2 (en)
EP (1) EP3341828A1 (en)
JP (1) JP6840132B2 (en)
KR (1) KR102382899B1 (en)
CN (1) CN108351745B (en)
WO (1) WO2017032459A1 (en)

Families Citing this family (19)

* 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
US11157166B2 (en) * 2015-11-20 2021-10-26 Felt, Inc. Automove smart transcription
US10372980B2 (en) * 2016-11-16 2019-08-06 Switch, Inc. Electronic form identification using spatial information
KR102391752B1 (en) * 2016-11-25 2022-04-28 소니그룹주식회사 Display control device, display control method and computer program
JP6448674B2 (en) * 2017-01-26 2019-01-09 キヤノン株式会社 A portable information processing apparatus having a camera function for performing guide display for capturing an image capable of character recognition, a display control method thereof, and a program
US10895954B2 (en) * 2017-06-02 2021-01-19 Apple Inc. Providing a graphical canvas for handwritten input
US11036356B2 (en) * 2017-07-31 2021-06-15 Microsoft Technology Licensing, Llc Service backed digital ruled paper templates
EP3667484A1 (en) * 2017-08-22 2020-06-17 Samsung Electronics Co., Ltd. Electronic device and control method thereof
USD844014S1 (en) * 2017-08-23 2019-03-26 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US10761719B2 (en) * 2017-11-09 2020-09-01 Microsoft Technology Licensing, Llc User interface code generation based on free-hand input
WO2019209083A1 (en) 2018-04-26 2019-10-31 재단법인 의약바이오컨버젼스연구단 Novel compound as mtor inhibitor and use thereof
JP7155781B2 (en) * 2018-09-13 2022-10-19 富士フイルムビジネスイノベーション株式会社 Information processing device and information processing program
CN112860157B (en) * 2019-11-12 2022-06-24 广州视源电子科技股份有限公司 Display element adjusting method, device, equipment and storage medium
US11302291B1 (en) * 2019-11-27 2022-04-12 Amazon Technologies, Inc. Device agnostic user interface generation
JP2021166000A (en) * 2020-04-08 2021-10-14 富士フイルムビジネスイノベーション株式会社 Information processing device, data structure, character recognition system, and program
EP4004694B1 (en) * 2020-10-09 2023-03-01 Google LLC Text layout interpretation using eye gaze data
CN112651323B (en) * 2020-12-22 2022-12-13 山东山大鸥玛软件股份有限公司 Chinese handwriting recognition method and system based on text line detection
CN114115686B (en) * 2021-10-22 2024-04-30 北京壹人壹本信息科技有限公司 Method, device and storage medium for separating hand touch pen and touch in H5 webpage handwriting application
WO2023170308A1 (en) * 2022-03-11 2023-09-14 Myscript Rescaling text blocks to improve readability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108893A (en) 2010-10-22 2012-06-07 Metamoji Corp Hand-written entry method
US20140363074A1 (en) 2013-06-09 2014-12-11 Apple Inc. Multi-script handwriting recognition using a universal recognizer

Family Cites Families (26)

* 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
US5613019A (en) 1993-05-20 1997-03-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5596350A (en) 1993-08-02 1997-01-21 Apple Computer, Inc. System and method of reflowing ink objects
US6021218A (en) * 1993-09-07 2000-02-01 Apple Computer, Inc. System and method for organizing recognized and unrecognized objects on a computer display
JPH086707A (en) 1993-12-30 1996-01-12 Xerox Corp Screen-directivity-display processing system
JP2939147B2 (en) * 1994-12-29 1999-08-25 シャープ株式会社 Handwritten character input display device and method
US6661409B2 (en) * 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
US7120872B2 (en) 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7050632B2 (en) 2002-05-14 2006-05-23 Microsoft Corporation Handwriting layout analysis of freeform digital ink input
US7925987B2 (en) * 2002-05-14 2011-04-12 Microsoft Corporation Entry and editing of electronic ink
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US7174042B1 (en) * 2002-06-28 2007-02-06 Microsoft Corporation System and method for automatically recognizing electronic handwriting in an electronic document and converting to text
US7751623B1 (en) * 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US7137077B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Freeform encounter selection tool
US7295708B2 (en) 2003-09-24 2007-11-13 Microsoft Corporation System and method for detecting a list in ink input
US7358965B2 (en) 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
US20060001656A1 (en) * 2004-07-02 2006-01-05 Laviola Joseph J Jr Electronic ink system
US20060085740A1 (en) 2004-10-20 2006-04-20 Microsoft Corporation Parsing hierarchical lists and outlines
JP4733415B2 (en) * 2005-04-05 2011-07-27 シャープ株式会社 Electronic document display apparatus and method, and computer program
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8116569B2 (en) * 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
CN101533317A (en) * 2008-03-13 2009-09-16 三星电子株式会社 Fast recording device with handwriting identifying function and method thereof
US10353566B2 (en) * 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9696810B2 (en) 2013-06-11 2017-07-04 Microsoft Technology Licensing, Llc Managing ink content in structured formats
US10698597B2 (en) * 2014-12-23 2020-06-30 Lenovo (Singapore) Pte. Ltd. Reflow of handwriting content
CN104571521B (en) * 2015-01-21 2018-09-11 京东方科技集团股份有限公司 Hand-written recording equipment and hand-written recording method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108893A (en) 2010-10-22 2012-06-07 Metamoji Corp Hand-written entry method
US20140363074A1 (en) 2013-06-09 2014-12-11 Apple Inc. Multi-script handwriting recognition using a universal recognizer

Also Published As

Publication number Publication date
JP2018533782A (en) 2018-11-15
US20170060821A1 (en) 2017-03-02
WO2017032459A1 (en) 2017-03-02
WO2017032459A8 (en) 2017-06-22
CN108351745B (en) 2021-09-10
CN108351745A (en) 2018-07-31
KR20180048774A (en) 2018-05-10
JP6840132B2 (en) 2021-03-10
EP3341828A1 (en) 2018-07-04
US10318613B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
KR102382899B1 (en) Systems and methods of digital note taking
US9965175B2 (en) System and method of digital note taking
KR102381801B1 (en) Systems and methods for guiding handwriting input
CN108780381B (en) Device and method for note recording by utilizing gestures
JP4712613B2 (en) Information processing apparatus, information processing method, and program
EP3400521B1 (en) System and method for digital ink interactivity
US7970812B2 (en) Redistribution of space between text segments
US10769424B2 (en) Interactive editing of electronic text
US8572480B1 (en) Editing the sequential flow of a page
KR20160064925A (en) Handwriting input apparatus and control method thereof
JP6485495B2 (en) Document display device, document display method, document display system, and program
US20230401376A1 (en) Systems and methods for macro-mode document editing
US20210081604A1 (en) Systems and methods for macro-mode document editing
JP6314555B2 (en) Text providing apparatus, program, printed material manufacturing method, and printed material
KR20230005716A (en) the automatic method of changing letter input mode or letter input method in electronic device

Legal Events

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