KR102428704B1 - 핸드라이팅된 다이어그램 커넥터들의 인식을 위한 시스템 및 방법 - Google Patents
핸드라이팅된 다이어그램 커넥터들의 인식을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR102428704B1 KR102428704B1 KR1020187014103A KR20187014103A KR102428704B1 KR 102428704 B1 KR102428704 B1 KR 102428704B1 KR 1020187014103 A KR1020187014103 A KR 1020187014103A KR 20187014103 A KR20187014103 A KR 20187014103A KR 102428704 B1 KR102428704 B1 KR 102428704B1
- Authority
- KR
- South Korea
- Prior art keywords
- connector
- diagram
- elements
- diagram elements
- geometry
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
- G06V10/235—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/422—Technical drawings; Geographical maps
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Character Discrimination (AREA)
- Processing Or Creating Images (AREA)
Abstract
컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템으로서, 컴퓨팅 디바이스는 프로세서 및 그 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 적어도 하나의 비일시적 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스와 연관된 디스플레이 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들의 디스플레이를 하게 하고, 복수의 다이어그램 엘리먼트들을 연결하는 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하고, 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 결정하고, 그리고 적어도 하나의 식별된 커넥터 또는 그것에 의하여 연결된 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 지오메트릭 특성들에 따라 다이어그램 엘리먼트들의 재-디스플레이를 하게 하도록 구성된다.
Description
관련 출원들에 대한 상호-참조
본 출원은 2015년 10월 19일자로 출원된 유럽출원 제15290269.8호 및 이 유럽출원 제15290269.8호를 우선권 주장하여 2015년 12월 1일자로 출원된 미국출원 제14/955,174호를 우선권을 주장하며, 이들 전체 내용들은 본 명세서에 참조로 통합된다.
기술 분야
본 개시는 일반적으로 다양한 형상들 및 문자들의 사용자 입력 핸드라이팅을 인식할 수 있는 컴퓨팅 디바이스 인터페이스들의 분야에 관한 것이다. 특히, 본 개시는 입력 핸드라이팅된 다이어그램 엘리먼트들 간의 커넥터들의 디스플레이를 이루는 편집 동작들을 핸들링하기 위한 시스템들 및 방법들을 제공한다.
컴퓨팅 디바이스들은 일상 생활에서 계속하여 더 편재적이 되어 가고 있다. 그들은 컴퓨터 데스크톱들, 랩톱 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 모바일 폰들, 스마트폰들, 웨어러블 컴퓨터들, 글로벌 포지셔닝 시스템 (GPS) 유닛들, EDA (enterprise digital assistant) 들, PDA (personal digital assistant) 들, 게임 콘솔들 등의 형태를 취한다. 게다가, 컴퓨팅 디바이스들은 차량들과 장비, 이를 테면 자동차들, 트럭들, 농기구, 제조 장비, 건물 환경 제어 (예를 들어, 조명, HVAC), 및 가정 및 상업용 어플라이언스들에 통합되어 있다.
컴퓨팅 디바이스들은 일반적으로 적어도 하나의 프로세싱 엘리먼트, 이를 테면 중앙 프로세싱 유닛 (CPU), 일부 형태의 메모리, 및 입력 및 출력 디바이스들로 이루어진다. 다양한 컴퓨팅 디바이스들 및 그들의 후속 사용들은 다양한 인터페이스들 및 입력 디바이스들을 필요로 한다. 하나의 이러한 입력 디바이스는 터치 스크린 또는 터치 패드와 같은 터치 감지 표면이고, 여기서 사용자 입력은 사용자의 손가락 또는 펜 또는 스타일러스와 같은 기구와 터치 감지 표면과의 사이의 접촉을 통하여 수신된다. 다른 입력 디바이스는 입력 표면의 상방의 사용자에 의해 이루어진 제스처들을 감지하는 입력 표면이다. 추가의 입력 디바이스는 비-터치 표면과의 터치 인터랙션 또는 비-터치 인터랙션 중 어느 하나의 인터랙션의 상대적 포지션을 검출하는 포지션 검출 시스템이다. 이들 입력의 방법들 중 임의의 방법이 핸드라이팅 인식 시스템 또는 방법을 사용하여 입력이 해석되는 드로잉들 및 텍스트의 핸드라이팅된 또는 핸드-드로잉된 입력을 위해 일반적으로 사용될 수 있다.
컴퓨팅 디바이스들에서의 핸드라이팅 인식의 하나의 응용이 조판 (typeset) 버전들로 컨버팅될 컴퓨팅 디바이스 상에 핸드-드로잉되는 다이어그램들의 생성에 있다. 다이어그램들은 (부분들의) 배열 및 관계들을 설명하거나 또는 도시하는 드로잉들이다. 다이어그램들은 일반적으로 임의적인 또는 특정 의미들을 갖는 형상들 및 이들 형상들에 관계들을 가진 텍스트를 포함한다. 플로우차트들, 조직 차트들, 개념 맵들, 스파이더 맵들, 블록/아키텍처 다이어그램들, 마인드-맵들, 블록 다이어그램들, 벤 다이어그램들 및 피라미드들과 같은 많은 타입의 다이어그램들이 존재한다. 가능한 다이어그램들의 일부 조판 및 핸드라이팅된 예들의 묘사들이 도 1 내지 도 6 에 예시된다.
도 1a 및 도 1b 는 다어어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 및 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 상이한 타입 (예를 들어, 직선 화살표들, 곡선 화살표들) 의 커넥터들 (14) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 개념 맵들 (10) 을 각각 도시한다. 게다가, 도 1b 에서, 컨테이너들 (12) 은 텍스트 (16) 를 포함한다. 일반적으로 개념 맵들에서, 블록들 간의 연결들은 그 블록들 내의 텍스트에 의해 정의된 개념적으로 관련되거나 또는 의존적인 엘리먼트들 또는 테마들을 정의한다. 블록들 자체는 개념 맵에 존재하지 않을 수도 있고 그 대신에 텍스트 (예를 들어, 연관된 형상 또는 컨테이너를 갖지 않는 텍스트 블록들에서 정의됨) 가 커넥터들에 의해 연결될 수도 있다.
도 2a 및 도 2b 는 다이어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 상이한 타입 (예를 들어, 직선들, 곡선들) 의 커넥터들 (14) 및 마인드 맵들의 소정의 피처들 또는 상태들로의 경로들 (18) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 마인드-맵들 (20) 을 각각 도시한다. 게다가, 도 2b 에서, 컨테이너들 (12) 및 경로들 (18) 은 연관된 텍스트 (16) 를 갖는다. 일반적으로 마인드-맵들에서, 블록들 간의 연결들은 그 블록들 내의 텍스트에 의해 정의된 중앙 엘리먼트들 또는 테마들로부터의 가능한 대안적 상태들을 정의하고, 경로들은 그 경로들에 대해 텍스트에 의해 정의된 각각의 대안적 상태의 핵심 피처들을 정의한다. 블록들 자체는 마인드 맵에 존재하지 않을 수도 있고 그 대신에 텍스트 (예를 들어, 연관된 형상 또는 컨테이너를 갖지 않는 텍스트 블록들에서 정의됨) 가 커넥터들 및 경로들에 의해 연결될 수도 있다.
도 3a 및 도 3b 는 상이한 타입 (예를 들어, 타원형들, 직사각형들, 다이아몬드들) 의 다이어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 및 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 상이한 타입 (예를 들어, 직선 화살표들, 굽은 화살표들, 분기된 라인들) 의 커넥터들 (14) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 플로우 차트들 또는 다이어그램들 (30) 을 각각 도시한다. 게다가, 도 3b 에서, 컨테이너들 (12) 은 텍스트 (16) 를 포함한다; 텍스트는 또한 커넥터들과 연관될 수도 있다. 일반적으로 플로우 차트들에서, 블록들 간의 연결들은 그 블록들 내의 텍스트에 의해 정의된 절차적으로 관련되거나 또는 의존적인 엘리먼트들 또는 단계들을 정의한다. 블록들 자체는 플로우 차트에 존재하지 않을 수도 있고 그 대신에 텍스트 (예를 들어, 연관된 형상 또는 컨테이너를 갖지 않는 텍스트 블록들에서 정의됨) 가 커넥터들에 의해 연결될 수도 있다.
도 4a 및 도 4b 는 다이어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 및 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 상이한 타입 (예를 들어, 직선들, 굽은 라인들, 분기된 라인들) 의 커넥터들 (14) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 조직 차트들 또는 다이어그램들 (40) 을 각각 도시한다. 게다가, 도 4b 에서, 컨테이너들 (12) 은 텍스트 (16) 를 포함한다. 일반적으로 조직 차트들에서, 블록들 간의 연결들은 그 블록들 내의 텍스트에 의해 정의된 조직 또는 그룹의 멤버들 또는 기능들의 계위적 관계들을 정의한다. 블록들 자체는 조직 차트에 존재하지 않을 수도 있고 그 대신에 텍스트 (예를 들어, 연관된 형상 또는 컨테이너를 갖지 않는 텍스트 블록들에서 정의됨) 가 커넥터들에 의해 연결될 수도 있다.
도 5a 및 도 5b 는 네스팅된 (nested) 관계들 (예를 들어, 다른 컨테이너들 (12) 내의 컨테이너들 (12)) 을 갖는, 다이어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 및 네스팅된 블록들 간을 포함하여, 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 커넥터들 (14) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 블록/아키텍처 드로잉들 (50) 을 각각 도시한다. 게다가, 도 5b 에서, 컨테이너들 (12) 및 커넥터들은 연관된 텍스트 (16) 를 갖는다. 일반적으로 아키텍처 드로잉들에서, 네스팅된 블록들은 디바이스 또는 프로세스 컴포넌트들의 배열 또는 소유 (possession) 를 정의하고, 블록들 간의 연결들은 그 블록들 내의 텍스트에 의해 정의된 블록들 간의 기능적 관계들을 정의한다.
도 6a 및 도 6b 는 다이어그램 블록들 또는 컨테이너들 (12) 을 정의하는 형상들, 및 그 다이어그램 블록들 (12) 간을 연결하거나 또는 그 다이어그램 블록들 (12) 간의 관계들을 지정하는 커넥터들 (14) 을 다양하게 갖는 조판 및 핸드라이팅된 예의 스파이더 맵들 (60) 을 각각 도시한다. 게다가, 도 6b 에서 컨테이너들 (12) 및 커넥터들은 연관된 텍스트 (16) 를 갖는다. 일반적으로 스파이더 맵들에서, 블록들 및/또는 텍스트 간의 연결들은 텍스트에 의해 정의된 중앙 엘리먼트 또는 테마로부터의 의존적인 관계들 또는 상태들을 정의한다.
도 1 내지 도 6 에 예시된 다이어그램들은 단지 예들일 뿐이며 각각의 다이어그램 타입에 대해 묘사된 것들과는 다른 또는 상이한 엘리먼트들, 또는 상이한 타입들 또는 형태들의 묘사된 엘리먼트들 자체가 추가로 또는 대안으로 다이어그램들에 존재할 수도 있다. 게다가, 이들 다이어그램 타입들의 다른 정의들 뿐만 아니라 그 조합들이 가능하다. 다이어그램들에서의 텍스트 및 형상들의 기본 컴포넌트들 (컨테이너들을 가진 또는 갖지 않는 연결들) 을 결합하는 이들 무수한 가능한 변화들은 컴퓨팅 디바이스에 핸드-드로잉된 또는 기입된 콘텐츠로서 입력된 이들 엘리먼트들의 정확한 인식에 대한 이슈들을 야기할 수 있다. 다이어그램들은 예를 들어, 논의되고 있는 개념들, 이슈들 또는 솔루션들을 캡처하기 위해 강의 또는 회의 동안, 컴퓨팅 디바이스의 사용자가 다이어그램을 생성하는 교육 및 비즈니스 설정들에서 특히 사용된다. 이것은 보통 디바이스에서 로컬로 또는 디바이스의 통신 링크를 통해 원격으로 중 어느 하나로, 터치 감지 표면 또는 상대적 포지션 검출 시스템에 의해 모니터링된 표면 상의 핸드-드로잉된 입력을 수락 및 해석하는 컴퓨팅 디바이스 상에 핸드라이팅된 다이어그램 또는 스케치 애플리케이션을 사용자가 론칭하는 것에 의해 이루어진다.
종래 이러한 핸드라이팅된 다이어그래밍 애플리케이션들은 다이어그래밍의 상기 설명된 복잡도를 핸들링하는 그들의 능력들이 제한되고 통상적으로 사용자들에게, 사용자의 원래의 의도를 반영하지 않는 타협들을 수락하거나 또는 거동들을 채택하기를 강요한다. 그 결과 일부 종래의 핸드라이팅된 다이어그래밍 애플리케이션들은 사용자들에게, 형상들을 선택 및 드로잉하고 형상들에 관한 텍스트를 삽입하기 위해 메뉴들을 내비게이팅할 것을 강제한다. 이로써, 사용자들은 자연스럽게 또는 자유롭게 형상들 및 커넥터들을 드로잉할 수 없다. 일부 종래의 애플리케이션들은 사용자들에게 제공된 합당한 창작의 자유로 핸드-드로잉된 형상들 및 핸드라이팅된 텍스트를 잘 인식한다. 그러나, 엘리먼트들을 추가, 생략 또는 대체하기 위해 다이어그램의 엘리먼트들을 편집하는 것, 다이어그램을 진화 개념에 적응시키는 것, 다이어그램의 타입을 컨버팅하는 것 등과 같은, 드로잉된 다이어그램들을 변화시키는 능력은, 단지 소정의 동작들만이 이용가능한 경우로 제한되고 다이어그램의 조판 버전에 대해서만, 특히, 예를 들어 연결된 컨테이너들과 같은 인식된 관계들을 유지하면서 다이어그램 엘리먼트들의 상대적 포지션들의 조작들에 대하여 이용가능하고, 핸드라이팅된 입력, 소위 디지털 잉크에 대해서는 이용가능하지 않고, 및/또는 상기 설명한 바와 같이, 메뉴들을 통해 선택이 이루어지거나 또는 제스처들이 학습될 것을 요구한다. 예를 들어, 미국특허 제8,014,607호는 소정의 편집 동작들이 디지털 잉크에 대해 직접 행해지는 것을 허용하는 추론 모드 프로토콜을 기술하고 있다. 그러나, 설명된 동작들은 매우 제한된다. 게다가, 인식된 관계들을 유지하면서 디지털 잉크에서 다이어그램 엘리먼트들의 상대적 포지션을 조작하는 능력에 대한 어떠한 솔루션도 제공되지 않는다.
미국특허 제7,394,935호는 리사이징 및 리포지셔닝 동작들에 관한 디지털 잉크에 대한 상대적 조작들을 기술하고 있다. 그러나, 이들 동작들에서 디지털 잉크는 조작에 따라 단지 스케일링되고, 이로써 사용자는 디지털 잉크를 그 원래의 드로잉된 디멘젼들로 리턴하기 위해 추가의 인터랙션을 수행하도록 요구될 것이며, 예를 들어, 컨테이너를 그 연결된 컨테이너(들)로부터 멀리 이동시키는 것은 x 와 y 디멘젼들 양자 모두로 커넥터가 늘어나게 하거나, 또는 커넥터들은 커넥터가 (예를 들어, 직선에서 굽은) 상이한 형태로 리사이징 또는 변경될 때 커넥터의 디지털 잉크에 근사하는 백본 (수평 및 수직 라인들) 을 재-컴퓨팅함으로써 '리플로우된다'. 이것은 관련된 미국특허 제7,324,691호에서 기술한 바와 같이 높은 곡률 포인트들 (cusps) 에서의 세그먼트화를 통한 커넥터 잉크의 정규화를 통하여 이루어질 수도 있는, 디지털 잉크의 재생을 요구한다. 이에 따라, 결과의 조작된 디지털 잉크는 원래 드로잉된 잉크와 상당히 상이하여, 사용자들에 의한 개입을 요구할 수도 있다.
본 명세서의 아래에 설명되는 본 개시의 예들은 컴퓨팅 디바이스에의 핸드라이팅 입력으로의 다이어그램 생성에 사용하기 위한 시스템들, 방법들 및 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 방법을 구현하기 위해 실행되도록 적응된 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 비일시적 컴퓨터 판독가능 매체를 갖는다.
컴퓨팅 디바이스는 입력 표면의 형태로 입력 디바이스에 접속된다. 사용자는 그 또는 그녀의 손가락 또는 스타일러스 또는 펜과 같은 기구 중 어느 하나를 사용하여 입력 표면에 압력을 인가하거나 또는 그 입력 표면 상방에서 제스처를 하는 것에 의해 입력을 제공할 수 있다. 본 시스템 및 방법은 입력 스트로크들을 모니터링한다.
컴퓨팅 디바이스는 프로세서 및 그 프로세서의 제어 하에서 핸드라이팅 입력을 검출 및 인식하기 위한 적어도 하나의 애플리케이션을 갖는다. 적어도 하나의 시스템 애플리케이션은 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들의 디스플레이를 하게 하고, 복수의 다이어그램 엘리먼트들을 연결하는 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하고, 적어도 하나의 식별된 커넥터의 지오메트릭 (geometrical) 특성들을 결정하고, 그리고 적어도 하나의 식별된 커넥터 또는 그것에 의하여 연결된 복수의 다이어그램 엘리먼트들 중의 하나 이상 다이어그램 엘리먼트들의 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 지오메트릭 특성들에 따라 다이어그램 엘리먼트들의 재-디스플레이 (re-display) 를 하게 하도록 구성된다.
개시된 시스템 및 방법의 다른 양태는 다이어그램 엘리먼트들 간의 포지션 관계들 및 커넥터의 특성들에 기초하여 적어도 하나의 커넥터를 식별하는 것을 제공한다.
개시된 시스템 및 방법의 다른 양태는 연결된 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련된 것으로서 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 제공한다. 지오메트릭 피처들은 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들을 포함한다.
개시된 시스템 및 방법의 다른 양태는 연결된 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함하는 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 제공한다.
개시된 시스템 및 방법의 다른 양태는 연결의 포인트들에 기초하여 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들로부터의 오프셋으로서 연결 경로를 제공한다.
개시된 시스템 및 방법의 다른 양태는 인터랙티브 잉크를 디지털 잉크로서 제공한다.
일부 구현들에서, 본 개시는 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템을 제공한다. 컴퓨팅 디바이스는 프로세서 및 그 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함한다. 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들의 디스플레이를 하게 하고, 복수의 다이어그램 엘리먼트들을 연결하는 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하고, 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 결정하고, 그리고 적어도 하나의 식별된 커넥터 또는 그것에 의하여 연결된 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 지오메트릭 특성들에 따라 다이어그램 엘리먼트들의 재-디스플레이를 하게 하도록 구성된다.
적어도 하나의 커넥터는 다이어그램 엘리먼트들 간의 포지션 관계들 및 커넥터의 특성들에 기초하여 식별될 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련될 수도 있다.
지오메트릭 피처들은 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들을 포함할 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함할 수도 있다.
연결 경로는 연결의 포인트들에 기초하여 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들로부터 오프셋될 수도 있다.
인터랙티브 잉크는 디지털 잉크일 수도 있다.
일부 구현들에서, 본 개시는 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들을 핸드-드로잉하기 위한 방법을 제공한다. 컴퓨팅 디바이스는 프로세서 및 그 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함한다. 방법은 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들을 디스플레이하는 단계, 복수의 다이어그램 엘리먼트들을 연결하는 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계, 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 결정하는 단계, 및 적어도 하나의 식별된 커넥터 또는 그것에 의하여 연결된 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 지오메트릭 특성들에 따라 다이어그램 엘리먼트들을 재-디스플레이하는 단계를 포함한다.
방법은 다이어그램 엘리먼트들 간의 포지션 관계들 및 커넥터의 특성들에 기초하여 적어도 하나의 커넥터를 식별하는 단계를 포함할 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련될 수도 있다.
지오메트릭 피처들은 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들을 포함할 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함할 수도 있다.
연결 경로는 연결의 포인트들에 기초하여 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들로부터 오프셋될 수도 있다.
인터랙티브 잉크는 디지털 잉크일 수도 있다.
일부 구현들에서, 본 개시는 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 비일시적 컴퓨터 판독가능 매체를 제공한다. 상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들을 핸드-드로잉하기 위한 방법을 구현하기 위해 실행되도록 적응된다. 컴퓨팅 디바이스는 프로세서 및 그 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함한다. 방법은 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들을 디스플레이하는 단계, 복수의 다이어그램 엘리먼트들을 연결하는 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계, 적어도 하나의 식별된 커넥터의 지오메트릭 특성들을 결정하는 단계, 및 적어도 하나의 식별된 커넥터 또는 그것에 의하여 연결된 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 지오메트릭 특성들에 따라 다이어그램 엘리먼트들을 재-디스플레이하는 단계를 포함한다.
방법은 다이어그램 엘리먼트들 간의 포지션 관계들 및 커넥터의 특성들에 기초하여 적어도 하나의 커넥터를 식별하는 단계를 포함할 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련될 수도 있다.
지오메트릭 피처들은 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들을 포함할 수도 있다.
적어도 하나의 식별된 커넥터의 지오메트릭 특성들은 연결된 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함할 수도 있다.
연결 경로는 연결의 포인트들에 기초하여 연결된 다이어그램 엘리먼트들의 지오메트리의 중심들로부터 오프셋될 수도 있다.
인터랙티브 잉크는 디지털 잉크일 수도 있다.
본 시스템 및 방법은 도면들과 함께 취해지는, 그 예들의 다음의 상세한 설명으로부터 보다 완전히 이해될 것이다. 도면들에서 유사한 참조 번호들은 유사한 엘리먼트들을 묘사한다. 도면들 중:
도 1a 및 도 1b 는 조판 및 핸드라이팅된 예의 개념 맵들을 각각 도시한다;
도 2a 및 도 2b 는 조판 및 핸드라이팅된 예의 마인드-맵들을 각각 도시한다;
도 3a 및 도 3b 는 조판 및 핸드라이팅된 예의 플로우 차트들 또는 플로우 다이어그램들을 각각 도시한다;
도 4a 및 도 4b 는 조판 및 핸드라이팅된 예의 조직 차트들 또는 다이어그램들을 각각 도시한다;
도 5a 및 도 5b 는 조판 및 핸드라이팅된 예의 블록/아키텍처 드로잉들을 각각 도시한다;
도 6a 및 도 6b 는 조판 및 핸드라이팅된 예의 스파이더 맵들을 각각 도시한다;
도 7 은 본 시스템 및 방법의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다;
도 8 은 본 시스템 및 방법의 일 예에 따른 핸드라이팅 인식을 위한 시스템의 블록 다이어그램을 도시한다;
도 9 는 본 시스템 및 방법의 일 예에 따른 도 8 의 핸드라이팅 인식 시스템의 상세를 예시하는 블록 다이어그램을 도시한다;
도 10a 및 도 10b 는 커넥터들로 다른 형상 엘리먼트들에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 11a 는 디지털 잉크 형상에 대한 이동 동작을 일 예의 핸드-드로잉된 다이어그램에서 디지털 잉크 커넥터에 대한 예의 결과적인 효과와 함께 도시한다;
도 11b 는 도 11a 의 다이어그램의 디지털 잉크 커넥터에 대한 이동 동작을 도시한다;
도 11c 는 이동 동작들 후의 도 11b 의 다이어그램을 도시한다;
도 12a 는 디지털 잉크로 렌더링된 일 예의 핸드-드로잉된 다이어그램을 도시한다;
도 12b 는 도 12a 의 다이어그램의 형상 엘리먼트에 대한 이동 동작을 연관된 커넥터에 대한 예의 결과적인 효과와 함께 도시한다;
도 13a 및 도 13b 는 조판 잉크로 렌더링된 도 12a 및 도 12b 의 다이어그램들을 각각 도시한다;
도 14a 및 도 14b 는 병렬 커넥터들로 다른 형상 엘리먼트에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 15a 및 도 15b 는 병렬 커넥터들로 다른 형상 엘리먼트에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 16a 는 디지털 잉크로 렌더링된 일 예의 핸드-드로잉된 다이어그램을 도시한다;
도 16b 는 도 16a 의 다이어그램의 형상 엘리먼트에 대한 이동 동작을 연관된 교차된 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다;
도 16c 는 도 16b 의 다이어그램의 형상 엘리먼트에 대한 추가의 이동 동작을 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다;
도 17a 내지 도 17c 는 조판 잉크로 렌더링된 도 16a 내지 도 16c 의 다이어그램들을 각각 도시한다.
도 1a 및 도 1b 는 조판 및 핸드라이팅된 예의 개념 맵들을 각각 도시한다;
도 2a 및 도 2b 는 조판 및 핸드라이팅된 예의 마인드-맵들을 각각 도시한다;
도 3a 및 도 3b 는 조판 및 핸드라이팅된 예의 플로우 차트들 또는 플로우 다이어그램들을 각각 도시한다;
도 4a 및 도 4b 는 조판 및 핸드라이팅된 예의 조직 차트들 또는 다이어그램들을 각각 도시한다;
도 5a 및 도 5b 는 조판 및 핸드라이팅된 예의 블록/아키텍처 드로잉들을 각각 도시한다;
도 6a 및 도 6b 는 조판 및 핸드라이팅된 예의 스파이더 맵들을 각각 도시한다;
도 7 은 본 시스템 및 방법의 일 예에 따른 컴퓨팅 디바이스의 블록 다이어그램을 도시한다;
도 8 은 본 시스템 및 방법의 일 예에 따른 핸드라이팅 인식을 위한 시스템의 블록 다이어그램을 도시한다;
도 9 는 본 시스템 및 방법의 일 예에 따른 도 8 의 핸드라이팅 인식 시스템의 상세를 예시하는 블록 다이어그램을 도시한다;
도 10a 및 도 10b 는 커넥터들로 다른 형상 엘리먼트들에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 11a 는 디지털 잉크 형상에 대한 이동 동작을 일 예의 핸드-드로잉된 다이어그램에서 디지털 잉크 커넥터에 대한 예의 결과적인 효과와 함께 도시한다;
도 11b 는 도 11a 의 다이어그램의 디지털 잉크 커넥터에 대한 이동 동작을 도시한다;
도 11c 는 이동 동작들 후의 도 11b 의 다이어그램을 도시한다;
도 12a 는 디지털 잉크로 렌더링된 일 예의 핸드-드로잉된 다이어그램을 도시한다;
도 12b 는 도 12a 의 다이어그램의 형상 엘리먼트에 대한 이동 동작을 연관된 커넥터에 대한 예의 결과적인 효과와 함께 도시한다;
도 13a 및 도 13b 는 조판 잉크로 렌더링된 도 12a 및 도 12b 의 다이어그램들을 각각 도시한다;
도 14a 및 도 14b 는 병렬 커넥터들로 다른 형상 엘리먼트에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 15a 및 도 15b 는 병렬 커넥터들로 다른 형상 엘리먼트에 연결된 형상 엘리먼트에 대한 이동 동작 전과 후의 일 예의 핸드-드로잉된 다이어그램을 각각 도시한다;
도 16a 는 디지털 잉크로 렌더링된 일 예의 핸드-드로잉된 다이어그램을 도시한다;
도 16b 는 도 16a 의 다이어그램의 형상 엘리먼트에 대한 이동 동작을 연관된 교차된 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다;
도 16c 는 도 16b 의 다이어그램의 형상 엘리먼트에 대한 추가의 이동 동작을 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다;
도 17a 내지 도 17c 는 조판 잉크로 렌더링된 도 16a 내지 도 16c 의 다이어그램들을 각각 도시한다.
다음의 상세한 설명에서, 많은 특정 상세들이 관련 있는 교시들의 철저한 이해를 제공하기 위하여 예들로 언급된다. 그러나, 본 교시들은 이러한 상세들 없이 실시될 수도 있다는 것이 당업자들에게 명백해야 한다. 다른 인스턴스들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 및/또는 회로부는, 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 회피하기 위하여, 상세 없이, 비교적 고-레벨로 설명되었다.
위, 아래, 상방, 하방, 최저, 최고, 수평, 수직 등과 같은 방향성 피처들에 대한 언급 및 그것들의 논의는, 인식될 입력이 이루어지는 입력 표면에 적용되는 것으로서의 데카르트 좌표 시스템에 관하여 이루어진다. 게다가, 좌측 및 우측과 같은 용어들은 도면들을 볼 때 독자의 기준틀에 관하여 이루어진다. 더욱이, 본 명세서에서의 '텍스트' 라는 용어의 사용은 임의의 기입된 언어표현에서의 모든 영숫자 문자들과, 그것들의 문자열들과, 기입된 텍스트에서 사용되는 아주 흔한 비-영숫자 문자들, 예컨대, 심볼들을 포괄하는 것으로서 이해된다. 더욱이, 본 명세서에서의 '비-텍스트' 라는 용어는 비-텍스트 콘텍스트들에서 사용되는 자유로운 형식의 핸드라이팅된 또는 핸드-드로잉된 콘텐츠와 렌더링된 텍스트 및 이미지 데이터를, 뿐만 아니라 비-영숫자 문자들과, 그것들의 문자열들, 그리고 영숫자 문자들과, 그것들의 문자열들을 포괄하는 것으로서 이해된다. 더욱이, 이들 도면들에 도시된 예들은 좌측에서 우측으로 기입된 언어표현 콘텍스트에 있고, 따라서 포지션들에 대한 임의의 언급은 상이한 방향성 포맷들을 갖는 기입된 언어표현들에 대해 적응될 수 있다.
본 명세서에서 설명되는 다양한 기술들은 휴대용 및 비-휴대용 컴퓨팅 디바이스들 상의 핸드-드로잉된 및 핸드-라이팅된 콘텐츠의, 그 콘텐츠의 충실한 조판 또는 미화된 버전으로의 컨버전을 허용하면서 그 콘텐츠의 입력된 스타일을 유지하는 방식으로의 캡처, 프로세싱 및 관리에 일반적으로 관련된다. 본 명세서에서 설명되는 시스템들 및 방법들은 컴퓨팅 디바이스의 또는 컴퓨팅 디바이스에 접속된 터치 감지 스크린과 같은 입력 표면을 통해 또는 컴퓨팅 디바이스에 접속된 디지털 펜 또는 마우스와 같은 입력 디바이스를 통해 또는 포지션 검출 시스템에 의해 모니터링된 표면을 통해 컴퓨팅 디바이스에 입력된 사용자의 자연스러운 기입 또는 드로잉 스타일들의 인식을 활용할 수도 있다. 다양한 예들이 소위 온라인 인식 기법들을 사용한 핸드라이팅 입력의 인식에 관하여 설명되지만, 인식을 위한 입력의 다른 형태들, 이를 테면 디지털 잉크가 아니라 이미지들이 인식되는 오프라인 인식에 응용이 가능한 것으로 이해된다. 핸드-드로잉 (hand-drawing) 과 핸드라이팅이라는 용어들은 디지털 또는 디지털적으로 접속된 매체 상에 직접적으로 또는 입력 도구, 이를 테면 핸드-헬드 스타일러스를 통해 중 어느 하나로 사용자들에 의한 그들의 손의 사용을 통한 디지털 콘텐츠의 생성을 정의하기 위해 본 명세서에서 교환적으로 사용된다. "손" 이란 용어는 입력 기법들의 간결한 설명을 제공하기 위해 본 명세서에서 사용되지만, 유사한 입력을 위한 사용자의 신체의 다른 부분들, 이를 테면 발, 입 및 눈의 사용이 이 정의에 포함된다.
도 7 은 일 예의 컴퓨팅 디바이스 (100) 의 블록 다이어그램을 도시한다. 컴퓨팅 디바이스는 컴퓨터 데스크톱, 랩톱 컴퓨터, 태블릿 컴퓨터, e-북 리더, 모바일 폰, 스마트폰, 웨어러블 컴퓨터, 디지털 손목시계, 인터랙티브 화이트보드, 글로벌 포지셔닝 시스템 (GPS) 유닛, EDA (enterprise digital assistant), PDA (personal digital assistant), 게임 콘솔 등일 수도 있다. 컴퓨팅 디바이스 (100) 는 적어도 하나의 프로세싱 엘리먼트의 컴포넌트들, 일부 형태의 메모리 그리고 입력 및/또는 출력 (I/O) 디바이스들을 포함한다. 컴포넌트들은 커넥터들, 라인들, 버스들, 케이블들, 버퍼들, 전자기적 링크들, 네트워크들, 모뎀들, 트랜스듀서들, IR 포트들, 안테나들, 또는 당업자들에게 알려진 다른 것들과 같은 입력들 및 출력들을 통해 서로 통신한다.
컴퓨팅 디바이스 (100) 는 이미지들, 텍스트, 및 비디오와 같은 컴퓨팅 디바이스로부터의 데이터를 출력하기 위한 적어도 하나의 디스플레이 (102) 를 가진다. 디스플레이 (102) 는 당업자들에게 알려진 바와 같은 터치 감지식이거나 또는 터치 감지식이 아닌 LCD, 플라즈마, LED, iOLED, CRT, 또는 임의의 다른 적절한 기술을 사용할 수도 있다. 디스플레이 (102) 는 적어도 하나의 입력 표면 (104) 과 병치 (co-location) 되거나 또는 그에 원격으로 접속될 수도 있다. 입력 표면 (104) 은 저항성, 표면 음파, 용량성, 적외선 그리드, 적외선 아크릴 프로젝션, 광학적 이미징, 분산 신호 기술, 음향 펄스 인식과 같은 기술, 또는 터치- 또는 근접-감지 표면의 형태로 사용자 입력을 수신하기 위한 당업자들에게 알려진 바와 같은 임의의 다른 적절한 기술을 채용할 수도 있다. 입력 표면 (104) 은 그 경계들을 분명히 식별하는 영구적 또는 비디오-생성된 경계선에 의해 경계가 정해질 수도 있다. 입력 표면 (104) 은 포지션 검출 시스템에 의해 모니터링되는 비-터치 감지 표면일 수도 있다.
입력 표면 (104) 에 더하여, 컴퓨팅 디바이스 (100) 는 로컬 인터페이스를 통해 통신가능하게 커플링되는 하나 이상의 추가적인 I/O 디바이스들 (또는 주변기기들) 을 포함할 수도 있다. 추가적인 I/O 디바이스들은 키보드, 마우스, 스캐너, 마이크로폰, 터치패드들, 바 코드 리더들, 레이저 리더들, 무선-주파수 디바이스 리더들, 또는 당업자들에게 알려진 임의의 다른 적절한 기술과 같은 입력 디바이스들을 포함할 수도 있다. 게다가, I/O 디바이스들은 프린터, 바 코드 프린터들, 또는 당업자들에게 알려진 임의의 다른 적절한 기술과 같은 출력 디바이스들을 포함할 수도 있다. 더욱이, I/O 디바이스들은 변조기/복조기 (모뎀; 다른 디바이스, 시스템, 또는 네트워크에 액세스하기 위함), 무선 주파수 (RF) 또는 다른 트랜시버, 전화 인터페이스, 브리지, 라우터, 또는 당업자들에게 알려진 임의의 다른 적절한 기술과 같이 입력들 및 출력들 양쪽 모두를 통신하는 통신 디바이스들을 포함할 수도 있다. 로컬 인터페이스는 단순성을 위해 생략되지만 당업자들에게 알려져 있는, 제어기들, 버퍼들 (캐시들), 드라이버들, 리피터들, 및 수신기들과 같은, 통신들을 가능하게 하기 위한 추가적인 엘리먼트들을 가질 수도 있다. 게다가, 로컬 인터페이스는 다른 컴퓨터 컴포넌트들 간에 적절한 통신들을 가능하게 하는 어드레스, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.
컴퓨팅 디바이스 (100) 는 소프트웨어, 특히 메모리 (108) 에 저장된 소프트웨어를 실행하기 위한 하드웨어 디바이스인 프로세서 (106) 를 또한 포함한다. 그 프로세서는 임의의 고객 맞춤형 또는 상업적으로 입수가능한 범용 프로세서, 중앙 프로세싱 유닛 (CPU), 반도체 기반 마이크로프로세서 (마이크로칩 또는 칩셋의 형태임), 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 상태 머신, 또는 당업자들에게 알려진 소프트웨어 명령들을 실행하기 위해 설계된 그 임의의 조합일 수 있다. 적합한 상업적으로 입수가능한 마이크로프로세서들의 예들은 다음과 같다: Hewlett-Packard Company 로부터의 PA-RISC 시리즈 마이크로프로세서, Intel Corporation 으로부터의 80x86 또는 Pentium 시리즈 마이크로프로세서, IBM 으로부터의 PowerPC 마이크로프로세서, Sun Microsystems, Inc. 로부터의 Sparc 마이크로프로세서, Motorola Corporation 으로부터의 68xxx 시리즈 마이크로프로세서, DSP 마이크로프로세서들, 또는 ARM 마이크로프로세서들.
메모리 (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 또는 다른 집적 회로에 상주할 수도 있다.
메모리 (108) 에서의 소프트웨어는 오퍼레이팅 시스템 (110) 및 애플리케이션 (112) 을 포함한다. 소프트웨어는 옵션적으로 하나 이상의 별도의 컴퓨터 프로그램들을 각각 포함할 수도 있는 핸드라이팅 인식 (handwriting recognition; HWR) 시스템 (114) 을 더 포함한다. 이들의 각각은 논리 함수들을 구현하기 위한 실행가능 명령들의 순서화된 리스팅을 갖는다. 오퍼레이팅 시스템 (110) 은 애플리케이션 (112) (및 HWR 시스템 (114)) 의 실행을 제어한다. 오퍼레이팅 시스템 (110) 은 임의의 사설 오퍼레이팅 시스템 또는 상업적으로 입수가능한 오퍼레이팅 시스템, 이를 테면 WEBOS, WINDOWS®, MAC 및 IPHONE OS®, LINUX, 그리고 ANDROID일 수도 있다. 다른 오퍼레이팅 시스템들이 또한 활용될 수도 있는 것으로 이해된다.
애플리케이션 (112) 은 (이후에 상세히 논의되는) 사용자들에 의한 핸드-드로잉된 형상들 및 핸드라이팅된 텍스트 입력의 검출, 관리 및 처리에 관련된 하나 이상의 프로세싱 엘리먼트들을 포함한다. 소프트웨어는 핸드라이팅 인식, 상이한 기능들, 또는 양쪽 모두에 관련된 하나 이상의 다른 애플리케이션들을 또한 포함할 수도 있다. 다른 애플리케이션들의 일부 예들은 텍스트 편집기, 전화기 다이얼러, 연락처 디렉토리, 인스턴트 메시징 기능 (facility), 컴퓨터 지원 설계 (CAD) 프로그램, 이메일 프로그램, 워드 프로세싱 프로그램, 웹 브라우저, 및 카메라를 포함한다. 애플리케이션 (112) 과, 다른 애플리케이션들은, 컴퓨팅 디바이스 (100) 에 제조 시 제공되는 프로그램(들)을 포함하고 제조 후의 컴퓨팅 디바이스 (100) 에 업로드되거나 또는 다운로드되는 프로그램들을 더 포함할 수도 있다.
본 시스템 및 방법은 핸드라이팅된 텍스트 및 핸드-드로잉된 형상들, 예를 들어, 비-텍스트를 포함하는, 디바이스 (100) 에의 핸드라이팅된 입력을 인식하기 위하여 HWR 시스템 (114) 을 이용한다. 지원 및 준수 능력들을 갖는 HWR 시스템 (114) 은, 소스 프로그램, 실행가능 프로그램 (오브젝트 코드), 스크립트, 애플리케이션, 또는 수행될 명령들의 세트를 갖는 임의의 다른 엔티티일 수도 있다. 소스 프로그램인 프로그램이 컴파일러, 어셈블러, 인터프리터 등을 통해 트랜슬레이트될 필요가 있을 때, 그 프로그램은 오퍼레이팅 시스템과 관련하여 적절히 동작하기 위해서 메모리 내에 포함되거나 또는 포함되지 않을 수도 있다. 더욱이, 지원 및 준수 능력들을 갖는 핸드라이팅 인식 시스템은 (a) 데이터 및 메소드들의 클래스들을 갖는 객체 지향 프로그래밍 언어; (b) 비제한적인 예를 들어 C, C++, 파스칼, 베이직, 포트란, 코볼, 펄, 자바, 오브젝트 C, 스위프트 (Swift), 및 에이다 (Ada) 인 루틴들, 서브루틴들, 및/또는 함수들을 갖는 절차 프로그래밍 언어; 또는 (c) 비제한적인 예를 들어 Hope, Rex, Common Lisp, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, Prolog, 및 F#인 함수형 프로그래밍 언어들로서 기입될 수 있다. 대안적으로, HWR 시스템 (114) 은 서버 또는 클라우드 기반 시스템과 같은, 디바이스로부터 원격인 핸드라이팅 인식 시스템과의 통신을 위한 방법 또는 시스템일 수도 있지만, 컴퓨팅 디바이스 (100) 의 앞에서 언급된 통신 I/O 디바이스들을 사용하여 통신 링크들을 통해 컴퓨팅 디바이스 (100) 에 의해 원격으로 액세스가능하다. 게다가, 애플리케이션 (112) 과 HWR 시스템 (114) 은 예를 들어, 각각의 시스템에 의해, 메모리 (108) 에 프로세싱 및 저장된 정보에 함께 액세스하는 것을 동작하거나, 또는 단일 애플리케이션으로서 결합될 수도 있다.
입력 표면 (104) 상에 또는 그 입력 표면을 통해 입력된 스트로크들은 프로세서 (106) 에 의해 디지털 잉크로서 프로세싱된다. 사용자가 손가락 또는 입력 표면에의 사용에 적합한 펜 또는 스타일러스와 같은 일부 기구로 스트로크를 입력할 수도 있다. 사용자는 또한, 입력 표면 (104) 의 부근에서의 모션을 감지하는 기술이 사용되고 있다면 입력 표면 (104) 상방에서 제스처를 함으로써, 또는 컴퓨팅 디바이스 (100) 의 주변 디바이스, 이를 테면 마우스 또는 조이스틱으로 스트로크를 입력할 수도 있다. 스트로크는 적어도 스트로크 개시 로케이션, 스트로크 종료 로케이션, 그리고 스트로크 개시 및 종료 로케이션들을 연결하는 경로에 의해 특징화된다. 상이한 사용자들이 동일한 오브젝트, 예컨대, 글자, 형상, 심볼을 약간의 변화들과 함께 자연스럽게 기입할 수도 있기 때문에, HWR 시스템은 각각의 오브젝트가 올바른 또는 의도된 오브젝트로서 인식되고 있는 동안 입력될 수도 있는 다양한 방식들을 수용한다.
도 8 은 HWR 시스템 (114) 의 일 예의, 그것의 로컬 (즉, 디바이스 (100) 상에 로딩됨) 또는 원격 (즉, 디바이스 (100) 에 의해 원격으로 액세스가능) 형태들 중 어느 하나의 개략적 그림이다. HWR 시스템 (114) 은 프리프로세싱 (116), 인식 (118) 및 출력 (120) 과 같은 스테이지들을 포함한다. 프리프로세싱 스테이지 (116) 는 인식 스테이지 (118) 동안 더 높은 정확도를 성취하고 프로세싱 시간을 감소시키기 위해 디지털 잉크를 프로세싱한다. 이 프리프로세싱은 입력을 평활화하는 B-스플라인 근사와 같은 사이즈 정규화 및/또는 방법들을 적용함으로써 스트로크 개시 및 종료 로케이션들을 연결하는 경로의 정규화를 포함할 수도 있다. 프리프로세싱된 스트로크들은 그 다음에 스트로크들을 프로세싱하여 그것에 의하여 형성된 오브젝트들을 인식하는 인식 스테이지 (118) 에 전달된다. 인식된 오브젝트들은 그러면 핸드라이팅된 엘리먼트들/문자들, 및 핸드-드로잉된 형상들의 디지털 잉크 또는 조판 잉크 버전들로서 메모리 (108) 및 디스플레이 (102) 에 출력된다 (120).
인식 스테이지 (118) 는 상이한 프로세싱 엘리먼트들 또는 엑스퍼트들을 포함할 수도 있다. 도 9 는 인식 스테이지 (118) 의 개략적 상세를 도시하는 도 8 의 예의 개략적 그림이다. 동적 프로그래밍을 통해 협력하여 출력 (120) 을 생성하는 세 개의 엑스퍼트들인 세그먼트화 엑스퍼트 (122), 인식 엑스퍼트 (124), 및 언어 엑스퍼트 (126) 가 예시된다.
세그먼트화 엑스퍼트 (122) 는 표현들, 예컨대, 단어들, 수학식들, 또는 형상들의 그룹들을 형성하기 위하여, 입력 스트로크들을 개개의 엘리먼트 가설들, 예컨대, 영숫자 문자들 및 수학적 연산자들, 텍스트 문자들, 개별 형상들, 또는 서브 표현으로 세그먼트화하는 상이한 방식들을 정의한다. 예를 들어, 세그먼트화 엑스퍼트 (122) 는 각각의 노드가 적어도 하나의 엘리먼트 가설에 대응하는 그리고 엘리먼트들 사이의 인접 제약조건들이 노드 접속들에 의해 핸들링되는 세그먼트화 그래프를 획득하기 위해 원래의 입력의 연속적인 스트로크들을 그룹화함으로써 엘리먼트 가설들을 형성할 수도 있다. 대안적으로, 세그먼트화 엑스퍼트 (122) 는 상이한 입력 타입들, 이를 테면 텍스트, 드로잉들, 수식들, 및 음악 기보 (music notation) 를 위해 별도의 엑스퍼트들을 채용할 수도 있다.
인식 엑스퍼트 (124) 는 분류기 (128) 에 의해 추출된 피처들의 분류를 제공하고 세그먼트화 그래프의 각각의 노드에 대해 확률들 또는 인식 스코어들과 함께 엘리먼트 후보들의 리스트를 출력한다. 이 인식 태스크를 해결하는데 사용될 수 있는 많은 타입들의 분류기들, 예컨대, 지원 벡터 머신들, 은닉 마르코프 모델들, 또는 다층 퍼셉트론즈 (Perceptrons), 디프 (Deep), 콘볼루션 또는 순환 신경망들과 같은 신경망들이 존재한다. 그 선택은 태스크에 대해 요망되는 복잡도, 정확도, 및 속력에 의존한다.
언어 엑스퍼트 (126) 는 언어 모델들 (예컨대, 문법 또는 시맨틱스) 을 사용하여 세그먼트화 그래프에서의 상이한 경로들에 대한 언어적 의미를 생성한다. 엑스퍼트 (126) 는 언어적 정보 (130) 에 따라 다른 엑스퍼트들에 의해 제안된 후보들을 체크한다. 언어적 정보 (130) 는 어휘 (lexicon)(들), 정규 표현들 등을 포함할 수 있다. 언어 엑스퍼트 (126) 는 최상의 인식 경로를 발견하는 것을 목적으로 한다. 하나의 예에서, 언어 엑스퍼트 (126) 는 언어적 정보 (130) 의 콘텐츠를 표현하는 최종 상태 오토마톤 (final state automaton) (결정론적 FSA) 과 같은 언어 모델을 조사함으로써 이를 행한다. 어휘 제약조건에 더하여, 언어 엑스퍼트 (126) 는 얼마나 빈번하게 엘리먼트들의 주어진 시퀀스가 특정된 언어에서 나타나거나 또는 세그먼트화 그래프의 주어진 경로의 해석의 언어적 가능성을 평가하기 위해 특정 사용자에 의해 사용되는지에 대한 통계 정보 모델링을 사용할 수도 있다.
본 시스템 및 방법에 의해 제공된 애플리케이션 (112) 은 사용자들, 이를 테면 학생들, 학교 및 작업 전문가들이 핸드라이팅된 다이어그램들을 생성하고 생성된 다이어그램의 타입, 예를 들어, 플로우차트들, 조직 차트들, 개념 맵들, 스파이더 맵들, 블록/아키텍처 다이어그램들, 마인드-맵들, 블록 다이어그램들, 벤 다이어그램들 및 피라미드들에 관계없이 HWR 시스템 (114) 을 사용하여 충실히 인식된 그 다이어그램들을 갖는 것을 허용한다. 이 리스트는 완전하지 않으며, 다른 타입들, 또는 비-타입들의 다이어그램들이 가능하다. 예를 들어, 도 1b, 도 2b, 도 3b, 도 4b, 도 5b 및 도 6b 에 예시된 핸드-드로잉된 다이어그램들의 상이한 엘리먼트들은 다이어그램 타입에 관계없이 그들 간의 임의의 공간적 및 콘텍스트 관계들과 함께 개별적으로 인식된다. 전술한 바와 같이, 이들 다이어그램 엘리먼트들은 형상 및 텍스트 엘리먼트들을 포함한다. 형상 또는 드로잉 엘리먼트들은 선형 또는 비-선형 구성들로 그래픽 또는 지오메트릭 형성들을 정의하고 컨테이너들, 커넥터들 및 자유형의 드로잉들을 포함하는 것들이다. 텍스트 엘리먼트들은 텍스트 문자들을 포함하고 텍스트 블록들과 그 텍스트 블록들에 대한 라벨들 및 형상 엘리먼트들을 포함하는 것들이다. 텍스트 블록들 및 라벨들 양자 모두는 하나 이상의 수직 라인들로 제공된 하나 이상의 문자들, 단어들, 문장들 또는 단락들의 텍스트를 포함할 수도 있다. 텍스트 블록들은 컨테이너들에 의해 포함될 수도 있거나 (내부 텍스트 블록들), 또는 컨테이너들 외부에 제공될 수도 있다 (외부 텍스트 블록들). 외부 텍스트 블록들은 컨테이너들 또는 다이어그램의 다른 엘리먼트들에 관련되지 않을 수도 있거나 또는 소정의 다른 다이어그램 엘리먼트들에 직접 관련될 수도 있다.
게다가, 본 시스템 및 방법에 의해 제공된 애플리케이션 (112) 은 사용자들이, 생성된 다이어그램들의 편집 동작들의 캡처를 허용하는 디지털 도구들의 능력으로부터 이익을 얻으면서, 그들이 종이에 하는 것처럼 이러한 형상들 및 텍스트를 기술에 의해 느려짐 없이 자유롭게 핸드-드로잉하는 것을 허용한다. 특히, 형상들이 새로운 아이디어들을 위한 공간의 생성, 연결들 또는 형상 타입의 변경, 및 편집 제스처들의 핸들링을 위해 이동 및 조작되는 것을 가능하게 하는 편집이 지원된다. 본 시스템 및 방법에 의해 커넥터들에 대해 수행된 편집 동작들의 핸들링은 이제 도 10 내지 도 18 에 예시된 예의 다이어그램들에 관하여 설명된다.
도 10 은 디지털 잉크 박스에 대한 이동 동작을 핸드-드로잉된 다이어그램에서 연관되는 디지털 잉크 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다. 도 10a 에서, 박스 (1000) 는 선택 제스처 (1001) 에 의해 선택되고 화살표 A 의 방향으로 이동된다. 선택된 박스는 이 선택 시에 선택 모드 렌더링에서 예시된다. 박스는 2 개의 연관된 커넥터들, 즉 굽은 화살표 커넥터 (1002) 및 직선 화살표 커넥터 (1003) 를 갖는다. 이동 동작의 완료 시의 조정된 디스플레이는 도 10b 에 도시되며, 여기서 커넥터들 (1002 및 1003) 은 조정된 커넥터들 (1002' 및 1003') 로서 각각 디스플레이된다. 굽은 커넥터 (1002) 는 그 별도의 아암들 (즉, 굽은 커넥터의 '엘보우 (elbow)' 에서 조인됨) 이 엘보우에 대하여 연장되는 상태로 조정된다.
도 10a 에서 실질적으로 수직으로 디스플레이되는 커넥터 (1003) 는 단축되도록 조정되고 도 10b 에서 조정된 커넥터 (1003') 로서 수직에 대해 경사진 각도로 디스플레이된다. 커넥터의 각도의 변경은 커넥터의 지오메트리를 유지하도록 수행되고, 예를 들어, 조정된 커넥터 (1003') 는 원래의 커넥터 (1003) 처럼 실질적으로 직선이 되도록 렌더링되고 박스 (1000) 의 이동으로 인해 곡선이 되지 않는다. 이러한 만곡화 (curving) 는, 예를 들어, 박스 (1000) 및 다른 박스 (1004) 에 대한 커넥터 (1003) 의 연결 또는 앵커 포인트들이 조정된 커넥터 (1003') 에 대해 유지된 경우에 요구될 것이다. 그러나, 연결 포인트들의 조정은 커넥터의 지오메트리를 유지하도록 그리고 이동 동작 동안 및 그 후에 센서블한 재-디스플레이를 제공하도록 이루어진다. 이것은 각각의 연결된 형상의 지오메트리의 중심을 고려함으로써 달성될 수도 있다.
도 10a 에서 알 수 있는 바와 같이, 박스들 (1000 및 1004), 및 다른 연결된 박스들 (1005 및 1006) 의 지오메트리의 중심은 십자표들 (B) 로 표시한 바와 같이 애플리케이션 (112) 에 의해 결정된다. 커넥터의 지오메트리를 고려하는 연관된 커넥터와 지오메트리의 각각의 중심 사이의 연결의 경로가 또한 결정되어, 박스들 (1000 및 1005) 사이의 커넥터 (1002) 에 대해, 예를 들어, 굽은 커넥터 (1002) 의 엘보우에서 구부러지는 대시 라인 (1007) 으로서 도시된다. 박스 (1000) 가 이동될 때, 연결된 박스들의 지오메트리의 중심들 사이의 결정된 연결 경로들은 예를 들어, 도 10b 에 도시한 바와 같이, 경로 지오메트리를 유지하면서 지오메트리의 중심들 사이에 남아있도록 조정되고, 연결 경로 (1007) 는 그 굽은 지오메트리를 유지하고 직선 커넥터 (1003) 의 연결 경로 (1008) 는 그 직선 지오메트리를 박스들 (1000 및 1004) 의 무게의 중심들 사이에 유지하여 수직에 대해 경사지게 한다. 이에 따라, 조정된 굽은 커넥터 (1002') 는 조정된 연결 경로 (1007) 를 따라 렌더링되고 조정된 커넥터 (1003') 는 조정된 연결 경로 (1008) 를 따라 렌더링된다.
도 11 은 디지털 잉크 박스 및 디지털 잉크 커넥터에 대한 이동 동작을 핸드-드로잉된 다이어그램에서 디지털 잉크 커넥터에 대한 예의 결과적인 효과와 함께 도시한다. 도 11a 에서, 박스 (1100) 는 선택 제스처 (1101) 에 의해 선택되고 화살표 C 의 방향으로 이동된다. 박스는 연관된 직선 커넥터 (1102) 를 갖는다. 커넥터 (1102) 는 분기된 커넥터 (1103) 의 브랜치이다. 분기된 커넥터들은 트렁크 및 그 트렁크로부터 연장되는 브랜치들로 형성된 서브-커넥터들을 가진 콤플렉스 또는 멀티-커넥터들이다. 트렁크 및 브랜치들은 자체로 굽은 또는 분기된 커넥터들과 같은 멀티-커넥터들일 수도 있다. 이동 동작의 완료 시의 조정된 디스플레이가 도 11b 에 도시되며, 여기서 커넥터 (1102) 는 조정된 커넥터 (1102') 로서 디스플레이된다. 도 11a 에서 실질적으로 수평으로 디스플레이되는 커넥터 (1102) 는 연장되도록 조정되고 도 11b 에서 조정된 커넥터 (1102') 로서 수평에 대해 경사진 각도로 디스플레이된다.
(트렁크) 커넥터 (1103) 에 대한 (브랜치) 커넥터 (1102) 의 연결 포인트는 사용자에 의해 생성된 다이어그램의 원래의 관계들을 유지하기 위하여 그리고 분기된 커넥터의 트렁크를 통해 연결된 박스들의 계위적 구조에서의 박스 (1100) 의 포지션이 (예를 들어, 트렁크에 직접 연결된) 동일한 레벨로 변경되고 있는지 또는 (예를 들어, 다른 박스들 중 하나에 연결된) 더 낮은 레벨로 변경되고 있는지가 애플리케이션 (112) 에 알려지지 않기 때문에 조정되지 않는다. 대안적으로, 연결 포인트는 이동의 의도가 확인될 수 있다면 자동으로 조정될 수도 있다. 게다가 도 11b 에서, 조정된 커넥터 (1102') 는 선택 제스처 (1104) 에 의해 선택되고 화살표 D 의 방향으로 이동된다. 선택된 조정된 커넥터는 이 선택 시에 선택 모드 렌더링에서 예시된다. 이동 동작의 완료 시의 조정된 디스플레이가 도 11c 에 도시되며, 여기서 조정된 커넥터 (1102') 는 조정된 커넥터 (1102'') 로서 디스플레이된다.
알 수 있는 바와 같이, 박스 (1100) 의 지오메트리의 중심은 십자표 (B) 로 표시한 바와 같이 애플리케이션 (112) 에 의해 결정된다. 도 11a 에서, 트렁크 커넥터 (1103) 및 지오메트리의 이 중심으로부터의 연결의 경로가 대시 라인 (1105) 으로서 도시된다. 박스 (1100) 가 이동될 때, 이 결정된 연결 경로는 대시 라인 (1105') 으로 도시한 바와 같이 조정되어, 커넥터 (1102) 는 도 11b 에 도시한 바와 같이, 지오메트리의 중심으로부터 연결 경로 상에 남아있다. 커넥터 (1103) 가 이동될 때, 이 결정된 연결 경로는 대시 라인 (1105'') 으로 도시한 바와 같이 조정되어 커넥터 (1102) 는 도 11c 에 도시한 바와 같이, 지오메트리의 중심으로부터 연결 경로 상에 남아있다. 이에 따라, 조정된 커넥터 (1102') 는 도 11a 의 포인트 i 로부터 도 11b 의 포인트 ii 로 이동하는 박스 (1100) 의 경계에 대한 커넥터 (1102) 의 연결 포인트를 초래하는 연결 경로 (1105') 를 따라 렌더링된다. 그 결과 커넥터 (1102) 는 박스 (1100) 의 코너 (1100a) 주위로 이동된다. 그 후 조정된 커넥터 (1102'') 는 도 11b 의 포인트 ii 로부터 도 11c 의 포인트 i 로 다시 이동하는 박스 (1100) 의 경계에 대한 커넥터 (1102) 의 연결 포인트를 초래하는 연결 경로 (1105'') 를 따라 렌더링된다. 그 결과 커넥터 (1102) 는 박스 (1100) 의 코너 (1100a) 주위로 다시 이동된다.
도 10 및 도 11 양자 모두에서, 연결된 형상들 상의 커넥터들의 연결의 포인트들은 형상들의 지오메트리의 중심들 및 그들 간의 연결 경로들에 관하여 이동된다. 이로써, 도 10 및 도 11 의 예들에서, 지오메트리의 중심은 커넥터들에 대한 앵커 포인트로서 처리된다. 이것은 연결 포인트들 자체가 컨테이너 경계들 상의 앵커 포인트들로서 처리된다는 점에서 종래의 기법들과는 상이하다. 이 처리는 많은 편집 동작들에서 문제가 되지 않지만, 연결 포인트들을 이동시키기 위하여 사용자들에게 다이어그램 엘리먼트들과 다시 인터랙트할 것을 요구하는 많은 다른 것들에서 바람직하지 않은 결과들을 야기할 수 있다. 다른 한편으로, 본 시스템 및 방법의 연결 포인트들의 조정은 연결의 파라미터들 보다는 연결 그 자체가 존중되기 때문에 오브젝트들을 편집, 이를 테면 이동 및 리사이징하는 것의 사용자의 의도와 일치한다. 커넥터들을 앵커하기 위한 지오메트리의 중심의 직접 사용은 많은 상황들에서 좋은 결과들을 제공하지만, 오브젝트들의 보다 복잡한 포지션 변경들이 연결들의 보다 복잡한 조정을 요구한다. 예를 들어, 지오메트리의 중심들의 (직접) 사용은 일반적으로 연결된 오브젝트들의 경계들에 실질적으로 센터링되는 연결 포인트들을 갖는 커넥터들에 대해 잘 작동하지만, 오프셋 연결 포인트들에 대해 또는 그들 측에 다수의 커넥터들을 갖는 오브젝트들에 대해 잘 작동하지 않는다. 이러한 커넥터 시나리오들의 변환을 핸들링하는 본 시스템 및 방법의 기법의 일 예가 이제 설명된다.
도 12 는 디지털 잉크 박스에 대한 이동 동작을 핸드-드로잉된 다이어그램 (1200) 에서 연관되는 디지털 잉크 커넥터에 대한 예의 결과적인 효과와 함께 도시한다. 도 12a 에서, 다이어그램 (1200) 은 커넥터 (1206) 에 의해 연결된 박스 (1202) 및 박스 (1204) 를 포함한다. 도 12b 에서, 박스 (1204) 는 조정된 커넥터 (1206') 로서 커넥터의 결과적인 조정 디스플레이로 박스 (1202) 에 대하여 이동된다. 알 수 있는 바와 같이, 박스들 (1202 및 1204) 에 대한 커넥터 (1206) 의 연결 포인트들 (i 및 ii) 은 각각 도 11 과 유사하게, 각각 코너들 (1202a 및 1204a) 에 관하여 조정된 커넥터 (1206') 에 대한 연결 포인트들 (iii 및 iv) 로 조정된다. 그러나, 도 11 의 예의 다이어그램 (1100) 에서의 커넥터와 달리, 다이어그램 (1200) 의 커넥터 (1206) 는 박스들 (1202 및 1204) 의 경계들에 센터링되는 연결 포인트들을 갖지 않고 따라서 박스들의 지오메트리의 중심들에 직접 앵커되지 않는다. 이것에도 불구하고 커넥터의 조정된 디스플레이는 사용자에 의한 다이어그램 (1200) 에 대한 의도된 편집을 존중하고 자연스럽게 나타난다. 비-센터링된 커넥터의 연결 포인트들이 이동 동작 동안 성공적으로 조정되는 방식은 다이어그램 (1200) 의 조판 형태로 도 12 의 이동 동작을 도시하는 도 13 을 참조하여 설명된다. 본 명세서의 다이어그램들의 조판 버전은 단지 설명의 명료성을 목적으로 사용되고, 다음의 설명된 기법들이 또한 디지털 잉크 버전들에 적용가능하다.
도 13a 에서, 박스 (1202) 는 조판 박스 (1202b) 로서 디스플레이되고, 박스 (1204) 는 조판 박스 (1204b) 로서 디스플레이되고, 그리고 커넥터 (1206) 는 조판 커넥터 (1206b) 로서 디스플레이되고 도 13b 에서 조정된 커넥터 (1206') 는 조판 커넥터 (1206b') 로서 디스플레이된다. 도 13a 는 연결 포인트 조정을 위한 본 시스템 및 방법에 의해 결정 및 사용되는 다이어그램 엘리먼트들의 관계들의 지오메트릭 피처들을 도시한다. 이들 피처들은 박스들 (1202 및 1204) 의 지오메트리의 중심들 (B), 커넥터 (1206) 의, 그 커넥터 (1206) 의 어느 일단으로부터 박스들로의 연장 (대시) 라인들 (1208), 각각의 박스의 지오메트리의 중심을 통과하는 연장 라인 (1208) 에 수직인 (대시) 라인들 (1210) 을 포함하여, 서로 병렬인 법선들 (1210) 상의 포인트들 (E) 로부터 연결 경로로서 연장 라인을 형성한다. 지오메트리의 중심들에 대한 묘사된 마크들 및 관계 라인들은 단지 예시적인 목적들을 위해 도면들에 제공되고, 애플리케이션 (112) 에 의해 사용자들에게 통상 디스플레이되지 않는다는 것에 유의한다. 그러나, 애플리케이션 (112) 의 UI 는 예를 들어, 편집 동작들 동안, 참조를 위한 이러한 마킹들을 디스플레이하는 능력을 사용자들에게 제공할 수도 있다.
도 13b 에서, 이들 마킹들은 다이어그램 (1200) 의 조정된 디스플레이에 관하여 도시된다. 알 수 있는 바와 같이, 조정된 커넥터 (1206b') 는 박스 (1204) 의 이동으로 인해 조정되는 바대로 연결 경로 (1208) 상에서 렌더링된다. 이 조정에서, 법선들 (1210) 은 지오메트리의 중심들 (B) 을 통과하는 것으로 유지되지만, 박스들 (1202 및 1204) 의 새로운 상대적 x- 및 y-포지션들에 대응하여 회전된다. 포인트들 (E) 은 박스들 (1202 및 204) 에 대한 각각의 지오메트리의 중심들 (B) 과 포인트들 (E) 간의 거리들 (F 및 G) 인 것처럼, 이 회전을 통하여 법선들 (1210) 상에 유지된다.
이에 따라, 도 12 및 도 13 의 예의 기법에 의해, 비-센터링된 커넥터들의 연결 경로들이 결정되며, 이는 연결된 오브젝트들의 지오메트리의 중심들로부터 오프셋되고, 따라서 연결 포인트 포지션들의 조정은 지오메트리의 중심들에 대하여 간접적으로 이루어진다. 이 트랜슬레이션 기법에 사용되는 지오메트릭 피처들은 도 12 및 도 13 의 단일 커넥터 예에 적합하다. 그러나, 다수의-커넥터들을 수반하는 상황들은 추가적인 또는 상이한 지오메트릭 피처들이 고려될 것을 요구할 수도 있다.
도 14 는 디지털 잉크 박스에 대한 이동 동작을 핸드-드로잉된 다이어그램에서 연관되는 병렬 디지털 잉크 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다. 도 14a 에서, 박스 (1400) 는 선택 제스처 (1401) 의 검출에 응답하여 선택되고 화살표 H 의 방향으로 이동된다. 박스는 2 개의 연관된 커넥터들, 즉 제 1 커넥터 (1402) 및 제 2 커넥터 (1403) 를 갖고, 이들 양자 모두는 실질적으로 직선 지오메트리를 갖고 서로 실질적으로 병렬이다. 이동 동작의 완료 시의 조정된 디스플레이가 도 14b 에 도시되며, 여기서 커넥터들 (1402 및 1403) 은 조정된 커넥터들 (1402' 및 1403') 로서 디스플레이된다. 도 14a 에 실질적으로 수평으로 디스플레이되는 커넥터들 (1402 및 1403) 은 연장되도록 조정되고 실질적으로 병렬 정렬을 유지하면서 조정된 커넥터들 (1402' 및 1403') 로서 수평에 대해 경사진 각도로 디스플레이된다.
도 10 의 예와 달리, 박스 (1400) 및 연결된 박스 (1404) 의 지오메트리의 중심들 (B) 로부터의 경로는 병렬-정렬된 커넥터들 (1402 및 1403) 을 통하여 플로우하지 않는다. 이에 따라, 커넥터들의 실질적으로 병렬-정렬은 그들 사이에 실질적으로 중심으로 일반적으로 커넥터들에 실질적으로 병렬로 연장되는 병렬 커넥터들의 공통 연결 경로를 결정하는 것에 의해 이동 동작에서 존중된다. 박스 (1400) 가 이동될 때, 공통 연결 경로는 도 14b 에 도시한 바와 같이, 경로 지오메트리를 유지하면서 지오메트리의 중심들 사이에 남아있도록 조정되고, 공통 연결 경로 (1405) 는 박스들 (1400 및 1404) 의 지오메트리의 중심들 사이에 그 직선 지오메트리를 유지하여 수평에 대해 경사지게 한다. 조정된 커넥터들 (1402' 및 1403') 은 원래의 커넥터들 (1402 및 1403) 의 그로부터의 병렬 분리를 유지하도록 조정된 공통 연결 경로 (1405) 를 따라 렌더링된다.
도 10 및 도 11 의 예들처럼, 도 14 의 병렬 커넥터들은 연결된 오브젝트들에 대하여 실질적으로 센터링되고 따라서 전술한 바와 같이, 공통 연결 경로의 구성을 통해서라도, 지오메트리의 중심들을 직접 앵커하는 것이 적합하다. 도 15 는 조판 잉크 박스에 대한 이동 동작을 조판 핸드-드로잉된 다이어그램 (1500) 에서 연관되는 병렬 조판 잉크 커넥터들에 대한 예의 결과적인 효과와 함께 도시한다.
도 15a 에서, 조판 박스들 (1502 및 1504) 은 조판 병렬 커넥터들 (1506 및 1508) 에 의해 연결되고 도 15b 에서, 박스 (1504) 는 조정된 조판 커넥터들 (1506' 및 1508') 로서 커넥터들의 결과적인 조정으로 박스 (1502) 에 대하여 이동된다. 알 수 있는 바와 같이, 박스들 (1502 및 1504) 에 대한 병렬 커넥터들 (1506 및 1508) 각각의 연결 포인트들 (i 및 ii) 은 박스들의 지오메트리의 중심들로부터 오프셋된다. 도 14 의 예처럼, 애플리케이션 (112) 은 병렬 커넥터들 (1506 및 1508) 에 대한 공통 연결 경로 (1510) 를 결정한다; 그러나, 이 공통 경로 (1510) 는 도 12 및 도 13 의 기법을 사용하여 박스들 (1502 및 1504) 의 지오메트리의 중심들 (B) 로부터 오프셋된다. 이에 따라, 커넥터들의 실질적으로 병렬-정렬은 공통 연결 경로 (1510) 가 오프셋에 따라 조정되고 조정된 커넥터들 (1506' 및 1508') 이 이 조정된 경로를 따라 렌더링되어 원래의 커넥터들 (1506 및 1508) 의 그로부터의 병렬 분리 및 박스들 (1502 및 1504) 에 대한 각각의 오프셋 조정된 연결 포인트들 (iii 및 iv) 을 유지하기 때문에 박스 (1504) 의 이동 동작에서 존중된다.
보다 복잡한 다수의-커넥터 시나리오들이 또한 전술한 조정 기법들을 적응시킴으로써 핸들링된다. 도 16 은 디지털 잉크 박스에 대한 이동 동작들을 핸드-드로잉된 다이어그램 (1600) 에서 연관되는 디지털 잉크 커넥터들에 대한 예의 결과적인 효과와 함께 도시하고 도 17 은 다이어그램 (1600) 의 조판 형태로 이들 이동 동작들을 도시한다. 도 16a 에서, 다이어그램 (1600) 은 커넥터들 (1606 및 1608) 에 의해 연결된 박스들 (1602 및 1604) 을 포함한다. 알 수 있는 바와 같이, 커넥터들 (1606 및 1608) 은 그들이 교차한다기 보다는 도 15 의 예의 다이어그램에서처럼 병렬이 아니다. 도 16b 에서, 박스 (1604) 는 교차를 유지하는, 조정된 커넥터들 (1606' 및 1608') 로서 커넥터들의 결과적인 조정 디스플레이로 박스 (1602) 에 대하여 이동된다. 도 16c 에서, 박스 (1604) 는 교차를 또한 유지하는, 조정된 커넥터들 (1606'' 및 1608'') 로서 조정된 커넥터들의 결과적인 조정 디스플레이로 박스 (1602) 에 대하여 추가로 이동된다. 다이어그램 (1600) 에서의 크로스된 커넥터들의 배열이 추가로 다이어그램 (1600) 의 조판 형태로 도 16 의 이동 동작을 도시하는 도 17 을 참조하여 아래에 설명되는 바와 같이, 도 16a 내지 도 16c 에 대해 수행된 풀 이동 동작에 대하여 더욱 복잡해진다.
도 17a 에서, 박스 (1602) 는 조판 박스 (1602b) 로서 디스플레이되고, 박스 (1604) 는 조판 박스 (1604b) 로서 디스플레이되고, 커넥터 (1606) 는 조판 커넥터 (1606b) 로서 디스플레이되고, 커넥터 (1608) 는 조판 커넥터 (1608b) 로서 디스플레이된다. 도 17b 에서, 조정된 커넥터 (1606') 는 조판 커넥터 (1606b') 로서 디스플레이되고 조정된 커넥터 (1608') 는 조판 커넥터 (1608b') 로서 디스플레이된다. 도 17c 에서, 조정된 커넥터 (1606'') 는 조판 커넥터 (1606b'') 로서 디스플레이되고 조정된 커넥터 (1608'') 는 조판 커넥터 (1608b'') 로서 디스플레이된다.
도 17a 는 연결 포인트 조정을 위한 본 시스템 및 방법에 의해 결정 및 사용되는 다이어그램 엘리먼트들의 관계들의 지오메트릭 피처들을 도시한다. 이들 피처들은 박스들 (1602 및 1604) 의 지오메트리의 중심들 (B), 박스 (1602) 의 경계 상의 커넥터 (1606) 의 연결 포인트 (I1) 로부터 박스 (1602) 로 프로젝팅되는 커넥터 (1606) 의 (대시) 라인 (1710), 프로젝션 라인 (1710) 에 병렬이 되도록 박스 (1602) 의 경계 상의 커넥터 (1608) 의 연결 포인트 (J1) 로부터 박스 (1602) 로 프로젝팅되는 커넥터 (1608) 의 (대시) 라인 (1712), 병렬 프로젝션 라인들 (1710 및 1712) 에 수직이고 박스 (1602) 의 지오메트리의 중심 (B) 및 프로젝션 라인들 (1710 및 1712) 상의 포인트들 (E) 을 통과하는 (대시) 라인 (1714), 박스 (1604) 의 경계 상의 커넥터 (1606) 의 연결 포인트 (I2) 로부터 박스 (1604) 로 프로젝팅되는 커넥터 (1606) 의 행 (hang) (대시) 라인 (1716), 프로젝션 라인 (1716) 에 병렬이 되도록 박스 (1604) 의 경계 상의 커넥터 (1608) 의 연결 포인트 (J2) 로부터 박스 (1604) 로 프로젝팅되는 커넥터 (1608) 의 (대시) 라인 (1718), 프로젝션 라인들 (1716 및 1718) 에 수직이고 박스 (1604) 의 지오메트리의 중심 (B) 및 프로젝션 라인들 (1716 및 1718) 상의 포인트들 (E) 을 통과하여 법선 (1714) 에 병렬이 되는 (대시) 라인 (1720) 을 포함한다.
프로젝션 라인들, 및 그에 따른 병렬 법선들의 배향은 박스의 지오메트리의 중심에 가장 가깝게 연결된 커넥터가 그 박스에 연결되는 각도에 기초하여 결정된다. 기준 배향을 설정하기 위한 상이한 기준들의 이용이 또한 가능하며, 예를 들어, 지오메트리의 중심들 (B) 을 연결하는 라인 (연결 경로) 과 라인 (1714) 사이에는 (더블) 각도가 도시된다. 도 16 및 도 17 의 예에서, 커넥터 (1606) 는 박스 (1602) 의 지오메트리의 중심에 가장 가깝게 연결되기 때문에 기준으로서 사용된다. 이에 따라, 도 17a 에 도시한 바와 같이, 커넥터 (1606) 의 박스 (1602) 의 경계에 대한 각도 (K) 가 사용된다. 대안적으로, (더블) 각도가 사용되며, 이는 원형 또는 비-정규 형상일 수 있는 박스의 형상으로부터 이들 파라미터들을 연결해제한다. 프로젝션 라인 (1712) (및 그에 따른 프로젝션 라인들 (1710, 1716, 및 1718)) 의 배향은 동일한 각도 (K) 로, 그러나 연결 포인트 (J1) 에서 커넥터 (1606) 에 수직인 (대시) 라인 (1722) 으로부터 설정된다.
도 17b 에서, 피처 마킹들이 다이어그램 (1600) 의 조정된 디스플레이에 관하여 도시된다. 알 수 있는 바와 같이, 조정된 커넥터 (1606b') 는 박스들 (1602 및 1604) 에 각각 연결 포인트들 (I3 및 I4) 로 렌더링되고, 조정된 커넥터 (1608b') 는 박스들 (1602 및 1604) 에 각각 연결 포인트들 (J3 및 J4) 로 렌더링된다. 이 조정에서, 법선들 (1714 및 1720) 은 지오메트리의 중심들 (B) 을 통과하는 것으로 유지되지만 박스들 (1602 및 1604) 의 새로운 상대적 x- 및 y-포지션들에 대응하여 회전된다. 이 회전을 통하여, 프로젝션 라인들 (1710, 1712, 1716 및 1718) 의 법선들 (1714 및 1720) 에 대한 정규 배향 (normal orientation) 은 지오메트리의 중심들 (B) 사이의 연결 경로 및 법선 (1714) 사이의 각도의 유지를 통하여, 또는 위에서 설정된 바와 같이 박스들 (1602 및 1604) 에서의 각각의 포인트들 (E) 사이의 거리들 (L 및 M) 로서 유지된다.
도 17c 에서, 피처 마킹들은 다이어그램 (1600) 의 조정된 디스플레이에 관하여 도시된다. 알 수 있는 바와 같이, 조정된 커넥터 (1606b'') 는 박스들 (1602 및 1604) 에 각각 연결 포인트들 (I5 및 I6) 로 렌더링되고, 조정된 커넥터 (1608b') 는 박스들 (1602 및 1604) 에 각각 연결 포인트들 (J5 및 J6) 로 렌더링된다. 이 조정에서, 법선 (1714) 이 박스 (1602) 의 지오메트리의 중심 (B) 을 통과하는 것으로서 유지되고 박스들 (1602 및 1064) 의 새로운 상대적 x- 및 y-포지션들에 대응하여 회전된다. 그러나, 이 회전에서 프로젝션 라인 (1710) 의 포인트 (E) 는 박스 (1602) 의 외부일 것이다. 이에 따라, 프로젝션 라인 (1710) 의 포인트 (E) 는 박스 (1062) 에서의 포인트들 (E 및 E') 사이의 거리 (L') 로의 거리 (L) 의 결과적인 단축으로 법선 (1714) 상의 포인트 (E') 로 시프트된다. 커넥터 (1606) 의 타단에서의 프로젝션 라인 (1716) 의 포인트 (E) 는 커넥터들 (1606 및 1608) 의 상대적 지오메트리들을 유지하기 위하여 포인트 (E') 로 비례적인 양만큼 시프트된다. 즉, 거리 (M) 는 박스 (1604) 에서의 포인트들 (E 및 E') 사이의 거리 (M') 로 단축된다. 시프트의 비례는 박스들 (1602 및 1604) 의 상대적 디멘젼들, 예를 들어, y- 방향에서의 박스들의 폭들에 기초하여 결정된다. 법선 (1720) 은 박스 (1604) 의 지오메트리의 중심을 통과하는 것으로 예시되지 않지만, 동일한 지오메트리는 법선들 (1714 및 1720) 이 병렬로 유지된 이후였다면 동일한 지오메트리가 획득될 것이다. 이 회전을 통하여, 법선들 (1714 및 1720) 에 대한 프로젝션 라인들 (1710, 1712, 1716 및 1718) 의 정규 배향은 지오메트리의 중심들 (B) 간의 연결 경로와 법선 (1714) 사이의 각도의 유지를 통하여, 또는 위에서 설정된 바와 같이 유지된다.
이에 따라, 도 16 및 도 17 의 예의 기법에 의해, 비-센터링된 및 크로스된 커넥터들에 대한 연결 경로들이 결정되며, 이는 연결된 오브젝트들의 지오메트리의 중심들로부터 오프셋되고, 따라서 연결 포인트 포지션들의 조정이 지오메트리의 중심들에 대하여 간접적으로 이루어진다. 게다가, 연결 포인트들은 오브젝트들에 센서블로 연결된 커넥터들을 유지하도록 이 오프셋에 따라 시프트되어, 사용자들에 의한 오브젝트들의 완전 자유 이동을 허용한다. 실제로, 센터링된 및 비-센터링된 커넥터 케이스들에 대한 기법이 유사하며, 여기서 센터링된 케이스에 대해, 커넥터(들)가 놓인 연결 경로의 오프셋은 제로이고 비-센터링된 케이스들에 대해, 지오메트리의 중심들에 대하여 커넥터(들)에 대해 생성되는 연결 경로의 오프셋은 넌-제로이다.
전술은 최상의 모드 및/또는 다른 예들인 것으로 간주되는 것을 설명하였지만, 다양한 변형들이 본 명세서에서 이루어질 수도 있고, 본 명세서에서 개시된 요지는 다양한 형태들 및 예들로 구현될 수도 있고, 그들은 많은 다른 애플리케이션들, 조합들, 및 환경들에 적용될 수도 있는데, 그것의 단지 일부만이 본 명세서에서 설명된 것으로 이해된다. 당업자들은 개시된 양태들이 요지의 진정한 사상 및 범위로부터 벗어남 없이 개조 또는 보정될 수도 있다는 것을 인식할 것이다. 따라서, 요지는 이 명세서에서의 특정 상세들, 전시품들, 및 예시된 예들로 제한되지 않는다. 본 명세서에서 개시되는 유리한 개념들의 진정한 범위 내에 속하는 임의의 및 모든 변형들과 변화들을 보호하는 것이 의도된다.
Claims (21)
- 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템으로서,
상기 컴퓨팅 디바이스는 프로세서 및 상기 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는,
상기 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들의 디스플레이를 하게 하고;
복수의 다이어그램 엘리먼트들을 연결하는 비-센터링된 또는 크로스된 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하는 것으로서, 각각의 다이어그램 엘리먼트는 지오메트리의 중심을 가지고, 상기 비-센터링된 또는 크로스된 커넥터는 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 넌-제로 오프셋으로 오프셋되는 연결 경로를 정의하는, 상기 적어도 하나의 다이어그램 엘리먼트를 식별하고;
적어도 하나의 식별된 커넥터와 연관된 프로젝션 라인, 포인트, 및 방향 중 적어도 하나를 결정하고; 그리고
적어도 하나의 식별된 비-센터링된 또는 크로스된 커넥터 또는, 상기 비-센터링된 또는 상기 크로스된 커넥터에 의해 연결된 상기 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 상기 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 넌-제로 오프셋 및 위치에 따라 상기 다이어그램 엘리먼트들의 재-디스플레이 (re-display) 를 하게 하는 것으로서, 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 위치는 상기 다이어그램 엘리먼트들이 재-디스플레이될 때 업데이트되는, 상기 다이어그램 엘리먼트들의 재-디스플레이를 하게 하도록
구성되며,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 프로젝션 라인, 포인트, 및 방향 중 적어도 하나의 배향은 레퍼런스 커넥터에 의해 형성된 각도에 기초하여 결정되고, 상기 레퍼런스 커넥터는 상기 복수의 다이어그램 엘리먼트들 중 상기 적어도 하나의 다이어그램 엘리먼트의 지오메트리의 중심에 가장 근접하게 연결되는, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 1 항에 있어서,
적어도 하나의 커넥터는 상기 다이어그램 엘리먼트들 간의 포지션 관계들 및 상기 커넥터의 특성들에 기초하여 식별되는, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 1 항에 있어서,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향은 연결된 상기 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련되는, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 3 항에 있어서,
상기 지오메트리의 중심은 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트릭 피처들 중 하나인, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 4 항에 있어서,
상기 적어도 하나의 비일시적 컴퓨터 판독가능 매체는 연결된 상기 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함하도록 상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향을 결정하도록 구성되는, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 5 항에 있어서,
상기 연결 경로는 상기 연결의 포인트들에 기초하여 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 오프셋되는, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 제 1 항에 있어서,
상기 인터랙티브 잉크는 디지털 잉크인, 다이어그램들의 연결들을 핸드-드로잉하기 위한 시스템. - 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들을 핸드-드로잉하기 위한 방법으로서,
상기 컴퓨팅 디바이스는 프로세서 및 상기 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 방법은,
상기 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들을 디스플레이하는 단계;
복수의 다이어그램 엘리먼트들을 연결하는 비-센터링된 또는 크로스된 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계로서, 각각의 다이어그램 엘리먼트는 지오메트리의 중심을 가지고, 상기 비-센터링된 또는 크로스된 커넥터는 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 넌-제로 오프셋으로 오프셋되는 연결 경로를 정의하는, 상기 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계;
적어도 하나의 식별된 커넥터와 연관된 프로젝션 라인, 포인트, 및 방향 중 적어도 하나를 결정하는 단계; 및
적어도 하나의 식별된 비-센터링된 또는 크로스된 커넥터 또는, 상기 비-센터링된 또는 상기 크로스된 커넥터에 의해 연결된 상기 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 상기 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 넌-제로 오프셋 및 위치에 따라 상기 다이어그램 엘리먼트들을 재-디스플레이하는 단계로서, 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 위치는 상기 다이어그램 엘리먼트들이 재-디스플레이될 때 업데이트되는, 상기 다이어그램 엘리먼트들을 재-디스플레이하는 단계
를 포함하며,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 프로젝션 라인, 포인트, 및 방향 중 적어도 하나의 배향은 레퍼런스 커넥터에 의해 형성된 각도에 기초하여 결정되고, 상기 레퍼런스 커넥터는 상기 복수의 다이어그램 엘리먼트들 중 상기 적어도 하나의 다이어그램 엘리먼트의 지오메트리의 중심에 가장 근접하게 연결되는, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 8 항에 있어서,
상기 다이어그램 엘리먼트들 간의 포지션 관계들 및 상기 커넥터의 특성들에 기초하여 적어도 하나의 커넥터를 식별하는 단계를 포함하는, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 8 항에 있어서,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향은 연결된 상기 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로에 관련되는, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 10 항에 있어서,
상기 지오메트리의 중심은 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트릭 피처들 중 하나인, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 11 항에 있어서,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향은 연결된 상기 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함하도록 결정되는, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 12 항에 있어서,
상기 연결 경로는 상기 연결의 포인트들에 기초하여 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 오프셋되는, 다이어그램들을 핸드-드로잉하기 위한 방법. - 제 8 항에 있어서,
상기 인터랙티브 잉크는 디지털 잉크인, 다이어그램들을 핸드-드로잉하기 위한 방법. - 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 비일시적 컴퓨터 판독가능 매체로서,
상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스 상에 텍스트 및 비-텍스트 엘리먼트들을 포함하는 다이어그램들을 핸드-드로잉하기 위한 방법을 구현하기 위해 실행되도록 적응되고, 상기 컴퓨팅 디바이스는 프로세서 및 상기 프로세서의 제어 하에서 핸드-드로잉 다이어그램 엘리먼트 입력을 검출 및 인식하기 위한 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 방법은,
상기 컴퓨팅 디바이스와 연관된 디스플레이 디바이스 상에 인터랙티브 잉크로 복수의 입력 다이어그램 엘리먼트들을 디스플레이하는 단계;
복수의 다이어그램 엘리먼트들을 연결하는 비-센터링된 또는 크로스된 커넥터로서 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계로서, 각각의 다이어그램 엘리먼트는 지오메트리의 중심을 가지고, 상기 비-센터링된 또는 크로스된 커넥터는 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 넌-제로 오프셋으로 오프셋되는 연결 경로를 정의하는, 상기 적어도 하나의 다이어그램 엘리먼트를 식별하는 단계;
적어도 하나의 식별된 커넥터와 연관된 프로젝션 라인, 포인트, 및 방향 중 적어도 하나를 결정하는 단계; 및
적어도 하나의 식별된 비-센터링된 또는 크로스된 커넥터 또는, 상기 비-센터링된 또는 상기 크로스된 커넥터에 의해 연결된 상기 복수의 다이어그램 엘리먼트들 중의 하나 이상의 다이어그램 엘리먼트들의 상기 인터랙티브 잉크로 수신된 하나 이상의 인터랙션들에 기초하여 그리고 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 넌-제로 오프셋 및 위치에 따라 상기 다이어그램 엘리먼트들을 재-디스플레이하는 단계로서, 결정된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향의 상기 위치는 상기 다이어그램 엘리먼트들이 재-디스플레이될 때 업데이트되는, 상기 다이어그램 엘리먼트들을 재-디스플레이하는 단계
를 포함하며,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 프로젝션 라인, 포인트, 및 방향 중 적어도 하나의 배향은 레퍼런스 커넥터에 의해 형성된 각도에 기초하여 결정되고, 상기 레퍼런스 커넥터는 상기 복수의 다이어그램 엘리먼트들 중 상기 적어도 하나의 다이어그램 엘리먼트의 지오메트리의 중심에 가장 근접하게 연결되는, 비일시적 컴퓨터 판독가능 매체. - 제 15 항에 있어서,
상기 다이어그램 엘리먼트들 간의 포지션 관계들 및 상기 커넥터의 특성들에 기초하여 적어도 하나의 커넥터를 식별하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제 15 항에 있어서,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향은 연결된 상기 다이어그램 엘리먼트들의 지오메트릭 피처들 간의 연결 경로를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제 17 항에 있어서,
상기 지오메트리의 중심은 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트릭 피처들 중 하나인, 비일시적 컴퓨터 판독가능 매체. - 제 18 항에 있어서,
상기 적어도 하나의 식별된 커넥터와 연관된 상기 적어도 하나의 프로젝션 라인, 포인트, 및 방향은 연결된 상기 다이어그램 엘리먼트들과의 적어도 하나의 커넥터의 연결의 포인트들 간의 관계를 포함하도록 결정되는, 비일시적 컴퓨터 판독가능 매체. - 제 19 항에 있어서,
상기 연결 경로는 상기 연결의 포인트들에 기초하여 연결된 상기 다이어그램 엘리먼트들의 상기 지오메트리의 중심들로부터 오프셋되는, 비일시적 컴퓨터 판독가능 매체. - 제 15 항에 있어서,
상기 인터랙티브 잉크는 디지털 잉크인, 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15290269 | 2015-10-19 | ||
EP15290269.8 | 2015-10-19 | ||
US14/955,174 US10417491B2 (en) | 2015-10-19 | 2015-12-01 | System and method for recognition of handwritten diagram connectors |
US14/955,174 | 2015-12-01 | ||
PCT/EP2016/001722 WO2017067653A1 (en) | 2015-10-19 | 2016-10-18 | System and method for recognition of handwritten diagram connectors |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180098533A KR20180098533A (ko) | 2018-09-04 |
KR102428704B1 true KR102428704B1 (ko) | 2022-08-02 |
Family
ID=54477975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187014103A KR102428704B1 (ko) | 2015-10-19 | 2016-10-18 | 핸드라이팅된 다이어그램 커넥터들의 인식을 위한 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10417491B2 (ko) |
EP (1) | EP3365835A1 (ko) |
JP (1) | JP6820919B2 (ko) |
KR (1) | KR102428704B1 (ko) |
CN (1) | CN108475325B (ko) |
WO (1) | WO2017067653A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6798555B2 (ja) * | 2016-08-19 | 2020-12-09 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US20180173688A1 (en) * | 2016-12-15 | 2018-06-21 | Myscript | System and method for management of handwritten diagram connectors |
JP6689903B2 (ja) * | 2017-11-07 | 2020-04-28 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | ハンドマークされた工業用検査シートから情報を抽出する方法及びシステム |
CN109726015B (zh) * | 2018-12-19 | 2021-05-04 | 福建天泉教育科技有限公司 | 一种基于状态机的多端画板同步方法及终端 |
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
EP4130966A1 (en) | 2019-11-29 | 2023-02-08 | MyScript | Gesture stroke recognition in touch-based user interface input |
CN112598092B (zh) * | 2020-12-18 | 2022-10-18 | 湖南特能博世科技有限公司 | 图元识别匹配方法、装置、计算机设备及可读存储介质 |
CN115298648A (zh) * | 2021-01-08 | 2022-11-04 | 普华永道会计事务所 | 自动化流程图生成和视觉化系统 |
EP4086744B1 (en) | 2021-05-04 | 2024-02-21 | MyScript | Gesture stroke recognition in touch-based user interface input |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117810A1 (en) | 2008-03-28 | 2009-10-01 | Smart Technologies Ulc | Method and tool for recognizing a hand-drawn table |
US20140313216A1 (en) | 2013-04-18 | 2014-10-23 | Baldur Andrew Steingrimsson | Recognition and Representation of Image Sketches |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2749020B2 (ja) | 1991-11-14 | 1998-05-13 | 日立ソフトウエアエンジニアリング株式会社 | ダイアグラム認識システム |
JPH0652243A (ja) * | 1992-07-30 | 1994-02-25 | Toshiba Corp | 図面入力・処理装置 |
EP0667567B1 (en) | 1993-12-30 | 2001-10-17 | Xerox Corporation | Apparatus and method for supporting the implicit structure of freeform lists, outlines, text, tables, and diagrams in a gesture-based input system and editing system |
US7330184B2 (en) | 2002-06-12 | 2008-02-12 | Smart Technologies Ulc | System and method for recognizing connector gestures |
US7352902B2 (en) | 2003-09-24 | 2008-04-01 | Microsoft Corporation | System and method for detecting a hand-drawn object in ink input |
US7324691B2 (en) | 2003-09-24 | 2008-01-29 | Microsoft Corporation | System and method for shape recognition of hand-drawn objects |
US7394935B2 (en) | 2004-09-21 | 2008-07-01 | Microsoft Corporation | System and method for editing a hand-drawn chart in ink input |
US7440616B2 (en) * | 2004-09-21 | 2008-10-21 | Microsoft Corporation | System and method for recognition of a hand-drawn chart in ink input |
US7904810B2 (en) | 2004-09-21 | 2011-03-08 | Microsoft Corporation | System and method for editing a hand-drawn list in ink input |
US7400771B2 (en) | 2004-09-21 | 2008-07-15 | Microsoft Corporation | System and method for connected container recognition of a hand-drawn chart in ink input |
US8014607B2 (en) | 2007-03-23 | 2011-09-06 | Palo Alto Research Center Incorporated | Method and apparatus for creating and editing node-link diagrams in pen computing systems |
US9183467B2 (en) * | 2013-05-03 | 2015-11-10 | Microsoft Technology Licensing, Llc | Sketch segmentation |
CN103400109B (zh) * | 2013-07-10 | 2016-05-25 | 西安交通大学 | 一种手绘草图离线识别与整形方法 |
US9524440B2 (en) * | 2014-04-04 | 2016-12-20 | Myscript | System and method for superimposed handwriting recognition technology |
-
2015
- 2015-12-01 US US14/955,174 patent/US10417491B2/en active Active
-
2016
- 2016-10-18 WO PCT/EP2016/001722 patent/WO2017067653A1/en active Application Filing
- 2016-10-18 KR KR1020187014103A patent/KR102428704B1/ko active IP Right Grant
- 2016-10-18 JP JP2018520187A patent/JP6820919B2/ja active Active
- 2016-10-18 EP EP16790263.4A patent/EP3365835A1/en active Pending
- 2016-10-18 CN CN201680074089.3A patent/CN108475325B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117810A1 (en) | 2008-03-28 | 2009-10-01 | Smart Technologies Ulc | Method and tool for recognizing a hand-drawn table |
US20140313216A1 (en) | 2013-04-18 | 2014-10-23 | Baldur Andrew Steingrimsson | Recognition and Representation of Image Sketches |
Also Published As
Publication number | Publication date |
---|---|
US10417491B2 (en) | 2019-09-17 |
WO2017067653A1 (en) | 2017-04-27 |
US20170109579A1 (en) | 2017-04-20 |
JP6820919B2 (ja) | 2021-01-27 |
KR20180098533A (ko) | 2018-09-04 |
CN108475325B (zh) | 2022-04-12 |
CN108475325A (zh) | 2018-08-31 |
EP3365835A1 (en) | 2018-08-29 |
JP2018536928A (ja) | 2018-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157732B2 (en) | System and method of handwriting recognition in diagrams | |
KR102428704B1 (ko) | 핸드라이팅된 다이어그램 커넥터들의 인식을 위한 시스템 및 방법 | |
US11740783B2 (en) | System and method of guiding handwriting diagram input | |
EP3555736B1 (en) | System and method for management of handwritten diagram connectors | |
KR102347554B1 (ko) | 디지털 잉크를 뷰티파잉하기 위한 시스템 및 방법 | |
KR102463657B1 (ko) | 다중 오브젝트 구조를 인식하기 위한 시스템 및 방법 | |
JP2022548494A (ja) | グラフィックオブジェクトを選択するための方法及び対応するデバイス | |
US11429259B2 (en) | System and method for selecting and editing handwriting input elements | |
EP3491580B1 (en) | System and method for beautifying superimposed digital ink | |
WO2018109084A1 (en) | System and method for management of handwritten diagram connectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |