KR101337872B1 - 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법 - Google Patents

잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법 Download PDF

Info

Publication number
KR101337872B1
KR101337872B1 KR1020130036594A KR20130036594A KR101337872B1 KR 101337872 B1 KR101337872 B1 KR 101337872B1 KR 1020130036594 A KR1020130036594 A KR 1020130036594A KR 20130036594 A KR20130036594 A KR 20130036594A KR 101337872 B1 KR101337872 B1 KR 101337872B1
Authority
KR
South Korea
Prior art keywords
stroke
data
input
digital ink
editing
Prior art date
Application number
KR1020130036594A
Other languages
English (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
Application filed by 주식회사 디오텍 filed Critical 주식회사 디오텍
Priority to KR1020130036594A priority Critical patent/KR101337872B1/ko
Application granted granted Critical
Publication of KR101337872B1 publication Critical patent/KR101337872B1/ko
Priority to EP14159391.3A priority patent/EP2787450A3/en
Priority to CN201410111469.2A priority patent/CN104111750A/zh
Priority to TW103110846A priority patent/TW201447611A/zh
Priority to US14/244,881 priority patent/US9478055B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink

Abstract

본 발명은 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법에 대해 개시한다. 보다 상세하게, 디스플레이의 화면 상에 표시된 데이터를 편집하는 장치는, 디지털 잉크 입력방식에 의해 입력된 하나 이상의 스트로크(stroke)가 입력된 위치에 따라 처리되도록 상기 스트로크의 입력된 순서를 재배열하는 필순 재배열 처리부; 상기 필순 재배열 처리부의 처리 결과가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하는 데이터 생성부; 및 상기 화면 상에 표시된 상기 디지털 잉크 데이터에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행하는 편집부를 포함한다.

Description

잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법{DEVICE AND METHOD FOR EDITING INK TEXT DATA}
본 발명은 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법에 관한 것으로서, 보다 구체적으로 디스플레이의 화면 상에 표시된 디지털 잉크 데이터와 텍스트 데이터 중 적어도 하나를 포함하는 잉크 텍스트 데이터를 편집하는 장치 및 방법에 관한 것이다.
최근 스마트 폰과 같은 휴대용 단말을 사용하는 사람이 전세계적으로 급증하고 있고, 휴대용 단말의 디스플레이 화면을 직접 터치하는 방식으로 문자를 입력하고 입력된 문자를 편집하는 기술에 대한 연구도 활발하게 이루어지고 있다.
이와 관련하여 미국공개특허 2003-0214531호(발명의 명칭: INK INPUT MECHANISMS)는 디지털 잉크를 사용하여, 입력 영역 및 그 입력 영역을 보다 넓게 확대시킨 영역에 문자를 입력하는 기술에 대하여 개시하고 있다. 특히, 해당 문헌은 디스플레이의 화면 상에 표시된 디지털 잉크 데이터에 대해 색깔, 굵기, 밑줄 긋기, 기울임, 첨자 추가 및 좌우 정렬 등의 속성을 부여할 수 있는 기술에 대하여 개시하고 있다.
도 1은 종래 문자 입력장치의 화면 상에 표시된 디지털 잉크 데이터를 나타내는 도면이고, 미국공개특허 2003-0214531호에 개시된 도면이다. 문자 입력장치(10)의 디지털 잉크 편집기에 의해 화면(12) 상에 표시된 디지털 잉크 데이터(digital ink data) 중 "a" 부분(conceived in liberty)은 기울임꼴로 수정되었고, "b" 부분(created equal)은 크기 면에서 증가되었다. 또한, 디지털 잉크 편집기에 의해 화면(12) 상에 표시된 디지털 잉크 데이터 중 "c" 부분(brought forth ~ to the proposition)은 문자 인식 기술을 통해 텍스트 데이터(text data)로 변환되었다.
다만, 디스플레이 화면 상에 표시된 디지털 잉크 데이터를 사용자가 원하는 대로 자유롭게 편집하는 데에는 한계가 있었다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예는, 텍스트 입력방식에 의해 입력된 텍스트 데이터와 디지털 잉크 입력방식에 의해 입력된 디지털 잉크 데이터를 혼용하는 환경 하에서 텍스트 데이터와 유사한 편집 방식에 의해 디지털 잉크 데이터에 대한 편집 동작을 수행할 수 있는 데이터 편집장치 및 데이터 편집방법을 제공하는 데에 그 목적이 있다.
또한, 본 발명의 일부 실시예는, 화면 상에 표시된 디지털 잉크 데이터에 대하여 삽입, 삭제 및 갱신을 포함하는 편집 동작을 용이하게 수행할 수 있도록 텍스트 편집방식과 유사하게 제공되는 사용자 인터페이스 환경 하에서 디지털 잉크 데이터를 직관적이고 편리하게 편집할 수 있는 데이터 편집장치 및 데이터 편집방법을 제공하는 데에 다른 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따른 디스플레이의 화면 상에 표시된 데이터를 편집하는 장치는, 디지털 잉크 입력방식에 의해 입력된 하나 이상의 스트로크(stroke)가 입력된 위치에 따라 처리되도록 상기 스트로크의 입력된 순서를 재배열하는 필순 재배열 처리부; 상기 필순 재배열 처리부의 처리 결과가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하는 데이터 생성부; 및 상기 화면 상에 표시된 상기 디지털 잉크 데이터에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행하는 편집부를 포함한다.
또한, 본 발명의 다른 실시예에 따른 디스플레이의 화면 상에 표시된 데이터를 편집하는 방법은, 디지털 잉크 입력방식에 의해 입력된 하나 이상의 스트로크(stroke)가 입력된 위치에 따라 처리되도록 상기 스트로크의 입력된 순서를 재배열하는 단계; 상기 재배열하는 단계에서 처리된 결과가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하는 단계; 및 상기 화면 상에 표시된 상기 디지털 잉크 데이터에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단에 의하면, 사용자는 화면 상에 표시된 디지털 잉크 데이터에 대하여 갱신, 삭제 및 삽입 등과 같은 편집 동작을 직관적으로 용이하게 수행할 수 있어, 만족감을 느낄 수 있다.
또한, 전술한 본 발명의 과제 해결 수단에 의하면, 사용자는 디지털 잉크 데이터 및 텍스트 데이터에 대하여 하나의 사용자 인터페이스를 통해 구분 없이 편집 동작을 수행할 수 있고, 텍스트 데이터를 편집하는 것과 유사한 방식에 의해 화면 상에 표시된 디지털 잉크 데이터에 대해서도 익숙하게 편집 신호를 발생시킬 수 있어 편리함을 느낄 수 있다는 장점이 있다.
도 1은 종래 문자 입력장치의 화면 상에 표시된 디지털 잉크 데이터를 나타내는 도면,
도 2는 본 발명의 일 실시예에 따른 데이터 편집장치의 각 구성을 나타내는 블록도,
도 3은 표시 패널, 입력 패널 및 키보드를 포함하는 일 예에 따른 사용자 인터페이스를 나타내는 도면,
도 4는 도 3에 도시된 디지털 잉크 입력방식을 지원하는 입력 패널을 구체적으로 설명하기 위한 도면,
도 5는 도 3에 도시된 디지털 잉크 입력방식에 의해 입력이 이루어지는 일 예를 설명하기 위한 도면,
도 6은 도 2에 도시된 필순 재배열 처리부에 의해 수행되는 재배열 동작을 일 예에 따라 설명하기 위한 도면,
도 7은 도 2에 도시된 데이터 생성부에 의해 디지털 잉크 데이터가 생성되는 과정을 일 예에 따라 설명하기 위한 도면,
도 8 a 내지 도 8d는 도 2에 도시된 데이터 생성부에 의해 디지털 잉크 데이터가 생성되는 과정을 다른 예에 따라 설명하기 위한 도면,
도 9 및 도 10은 도 2에 도시된 커서 위치 결정부의 동작을 설명하기 위한 도면,
도 11 및 도 12는 디스플레이의 화면 상에 표시된 데이터에 대하여 발생된 편집 신호 및 그에 따른 편집 결과를 나타내는 도면,
도 13은 본 발명의 일 실시예에 따른 데이터 편집방법을 나타내는 동작 흐름도,
도 14 및 도 15는 도 13의 각 데이터를 생성하는 과정을 구체적으로 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 발명에서 제안하는 데이터 편집장치에 대해 구체적으로 설명하기에 앞서서, 본원 명세서 전체에서 사용되는 용어를 정리하고자 한다.
디지털 잉크 데이터(digital ink data)는 일련의 수기(手記: handwritten) 과정에 의해 생성되는 데이터로서, 스타일러스 펜(stylus pen) 등과 같은 디지털 잉크 입력방식에 의해 입력된 스트로크들을 기초로 생성된다.
스트로크(stroke)는 일련의 점들의 집합으로 구성된다. 예를 들어, 사용자가 스타일러스 펜을 이용하여 디지타이저(digitizer)에 대해 문자 또는 도형을 입력하는 상황을 가정한다. 이때, 상기 펜이 디지타이저에 접촉된 순간부터 접촉이 해제된 순간까지 펜의 이동 경로를 따라 시간 순서로 정렬된 일련의 점들의 집합이 하나의 스트로크일 수 있다.
점(point)은 공간 상의 좌표를 정의하는 정보이다. 예를 들어, 디지타이저 상의 점은 디지타이저가 표현할 수 있는 공간에서의 x, y 좌표 값으로 표현된다. 이때, 점의 좌표 값은 디지타이저 상의 좌표 값을 그대로 사용하는 절대 좌표로 표현되거나, 특정 기준 점을 원점으로 하는 상대 좌표로 표현될 수 있다.
재배열 스트로크는 스트로크의 입력된 순서를 재배열하는 재배열 동작의 결과가 반영된 스트로크이다.
스트로크 선분(stroke segment)은 소정의 스트로크를 구성하는 점들을 가상의 x 축(1차원 공간)에 투영시킨 경우 x 축 상의 값들 중에 최소 값과 최대 값을 양 끝점으로 포함하는 선분이다.
스트로크 블록(stroke block)은 2개 이상의 스트로크로 구성된 집합이다.
미리 설정된 제 1 기준 값은 스트로크 선분 (혹은 스트로크 블록의 선분) 간에 서로 중첩되거나 겹치는 정도를 판정하기 위한 기준 길이(length)를 의미하며, 기준 길이는 경우에 따라 가변적인 값일 수 있다.
미리 설정된 제 2 기준 값은 스트로크 선분 (혹은 스트로크 블록의 선분) 간에 서로 떨어진 정도를 판정하기 위한 기준 거리(distance)를 의미한다.
텍스트 데이터(text data)는 자판, 키보드 등과 같은 텍스트 입력방식에 의해 입력된 ASCII와 같은 문자 코드들을 기초로 생성된다.
잉크 공백 데이터(ink space data)는 인접한 스트로크와 스트로크 블록 사이, 인접한 스트로크 사이 및 인접한 스트로크 블록 사이에 생성되되, 상술한 미리 설정된 제 2 기준 값과 관련된 조건을 만족해야 생성될 수 있다. 예를 들어, 소정의 스트로크 선분이 가지는 다수의 점 중 가장 좌측에 위치하는 점의 제 1 x 좌표 값이 계산된다. 그 제 1 x 좌표 값과 가장 인접하여 위치한 스트로크 선분이 가지는 다수의 점 중 가장 우측에 위치하는 점의 제 2 x 좌표 값이 계산된다. 두 x 좌표 값을 서로 뺀 값이 미리 설정된 제 2 기준 값 이상인 경우, 잉크 공백 데이터가 생성될 수 있다. 미리 설정된 제 2 기준 값 미만인 경우, 잉크 공백 데이터가 생성되지 않는다.
잉크 텍스트 데이터(ink text data)는 상술한 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터를 포함하는 혼용 데이터를 의미한다. 경우에 따라 잉크 텍스트 데이터는 텍스트 데이터만으로 구성될 수 있고, 디지털 잉크 데이터만으로 구성될 수도 있다. 일반적으로 잉크 텍스트 데이터는 바이너리 포맷 또는 XML과 같은 마크업(mark-up) 언어로 표현되어 저장될 수 있다.
데이터 편집장치(data editor)는 상술한 잉크 텍스트 데이터를 표시하고, 편집하고, 저장하는 기능을 제공한다.
이하에서는, 본 발명에서 제안하는 데이터 편집장치를 구성하는 각 구성 및 동작에 대해 도 2를 참고하여 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 데이터 편집장치의 각 구성을 나타내는 블록도이다. 데이터 편집장치(100)는 다양한 종류의 휴대용 단말기 또는 컴퓨터로 구현될 수 있다. 여기서, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 테블릿 PC, 슬레이트 PC 등을 포함할 수 있다.
본 발명의 일 실시예에 따른 데이터 편집장치(100)는 디스플레이(10), 필순 재배열 처리부(110), 데이터 생성부(120), 편집부(130), 인터페이스 제어부(140), 입력부(150), 커서 위치 결정부(160) 및 저장부(170)를 포함한다.
디스플레이(10)는 화면 상에 디지털 잉크 데이터, 잉크 공백 데이터 및 텍스트 데이터를 포함하는 다양한 데이터를 표시한다. 사용자는 자신이 입력한 데이터를 디스플레이(10)를 통해 확인할 수 있다. 덧붙여, 디스플레이(10)는 상술한 데이터 편집장치(100)의 종류에 따라 크기, 형상, 성능 또는 구동방식 등이 달라질 수 있고, 특별하게 제한되지 않는다.
또한, 디스플레이(10) 자체는 다양한 데이터를 표시할 수 있을 뿐만 아니라 터치 방식에 의해 데이터를 입력 받을 수도 있다. 즉, 입력부(150)에 포함된 입력 패널(152) 및 키보드(154)가 디스플레이(10)의 화면 상에 도 3처럼 표시될 수 있고, 이는 후술할 인터페이스 제어부(140)의 제어신호를 기초로 이루어질 수 있다. 도 3은 표시 패널, 입력 패널 및 키보드를 포함하는 일 예에 따른 사용자 인터페이스를 나타내는 도면이다.
사용자 인터페이스(User Interface)는 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터 중 적어도 하나를 표시하는 표시 패널(P), 디지털 잉크 입력방식을 지원하는 입력 패널(152) 및 텍스트 입력방식을 지원하는 키보드(154)를 포함할 수 있다. 다만, 입력 패널(152)이나 키보드(154)를 포함하는 입력부(150)는 표시 패널(P)과 구분되어 데이터 편집장치(100)와 연결된 별도의 입력장치로 구현될 수 있다.
도 3은 좌측에서 텍스트 입력방식을 지원하는 키보드(154) 및 표시 패널(P)을 나타내고, 우측에서 디지털 잉크 입력방식을 지원하는 입력 패널(152) 및 표시 패널(P)을 나타낸다. 도 3의 좌측 도면에서 "Donald"라는 텍스트 데이터(31)가 표시 패널(P) 상에 표시된 것을 확인할 수 있고, 도 3의 우측 도면에서 텍스트 데이터(31) 바로 뒤에 "Normen"이라는 디지털 잉크 데이터(33)가 표시 패널(P) 상에 표시된 것을 확인할 수 있다. 즉, 텍스트 데이터(31) 및 디지털 잉크 데이터(33)는 복수의 가상 라인(156)을 따라 나란하게 표시될 수 있고, 디지털 잉크 데이터(33)가 새롭게 표시됨에 따라 텍스트 데이터(31) 뒤에 위치하던 커서(C)가 점차적으로 우측 방향으로 이동한다. 특히, 디지털 잉크 데이터(33)는 입력 패널(152) 상에서 스타일러스(38)에 의해 입력된 스트로크(32)를 기초로 생성될 수 있고, 표시 패널(P) 상에서 표시될 수 있다.
또한, 입력 패널(152)은 도 3과 다른 디자인을 가지고 구성될 수 있고, 키보드(154)는 종래에 알려진 다양한 패턴 또는 조합을 가지고 버튼들이 배치될 수도 있다. 디지털 잉크 입력방식에서 텍스트 입력방식으로 입력방식을 전환하는 제 1 전환버튼(34)과 텍스트 입력방식에서 디지털 잉크 입력방식으로 입력방식을 전환하는 제 2 전환버튼(35)이 디스플레이(10)의 화면 상에 표시될 수 있다.
이때, 입력 패널(152)의 세로 길이(36)와 가상 라인(156)의 간격(37)은 서로 매칭될 수 있다. 디지털 잉크 데이터(33)는 그 간격(37) 내에서 가상 라인(156)을 따라 표시되도록 하기 수학식 1에 나타낸 비율에 따라 축소될 수 있다.
Figure 112013029230778-pat00001
다만, 축소 비율은 다른 값을 기준으로 결정될 수 있고, 상술한 수학식 1에 나타낸 방식에 의해서만 결정되는 것은 아니다.
이하에서는, 도 4를 참고하여 입력 패널(152)에 대해 좀더 살펴본다. 도 4는 도 3에 도시된 디지털 잉크 입력방식을 지원하는 입력 패널을 구체적으로 설명하기 위한 도면이다.
입력 패널(152)은 디지털 잉크 입력방식에 의해 작성이 실질적으로 이루어지는 수기 영역(41), 센싱 영역(42) 및 버튼 영역을 포함할 수 있다. 각각의 영역 배치나 크기 등은 특별하게 제한되지 않는다.
수기 영역(41)의 좌측 혹은 우측 끝단에 미리 설정된 가상 기준선 또는 가상 기준점(40)이 배치될 수 있고, 이렇게 배치된 가상 기준선 또는 가상 기준점(40)은 후술할 재배열 동작과 밀접한 관련을 가진다.
센싱 영역(42)은 도 4에서 일반적인 필기 방향에 의해 수기 영역(41)의 우측에 배치되었지만, 반대로 배치될 수도 있다. 센싱 영역(42)은 미리 설정된 가상 임계선을 포함할 수 있고, 이러한 가상 임계선은 후술할 재배열 동작과 밀접한 관련을 가진다. A 버튼(43)은 디지털 잉크 입력방식과 관련된 설정 값을 결정하기 위한 버튼일 수 있다. 디지털 잉크 입력방식과 관련된 설정 값은 예를 들어, 수평 수기를 도와주는 역할을 하는 중앙 선 조정 값, 입력 가능한 영역에 대한 상단 및 하단 경계 설정을 위한 가이드 선(44) 조정 값, 리사이징(Resizing) 혹은 축소 비율 관련 설정 값, 수기 영역(41)에 표시되는 스트로크의 굵기 또는 색깔 관련 설정 값 등을 포함할 수 있다.
또한, 버튼 영역은 도 4와 같은 복수의 버튼을 포함할 수 있고, 입력 패널(152)의 하단에 배치될 수 있다. 버튼 영역에 나란하게 배치되는 버튼은 디지털 잉크 입력방식에서 텍스트 입력방식으로 입력방식을 전환하는 전환버튼(45), 후술할 커서의 좌우 방향 이동을 위해 사용되거나 클리어(Clear)/ 언두(Undo)/ 리두(Redo) 동작을 위해 사용되는 편집 동작 버튼(46), 스페이스 버튼(47), 백 스페이스/ 삭제 버튼(48) 및 엔터(Enter)/ 컨펌(Confirm)을 위해 사용되는 버튼(49) 등일 수 있다. 다만, 이러한 복수의 버튼의 배치, 수행 동작 등은 달라질 수 있고, 도 4에 도시된 형태로 특별히 제한되지 않는다. 덧붙여, 이들 버튼을 통해 화면 상에 표시된 디지털 잉크 데이터에 대하여 발생된 편집 신호를 기초로 텍스트 데이터와 유사하게 이루어지는 구체적인 편집 동작에 대해서는 후술하기로 한다.
아울러, 도 5는 도 3에 도시된 디지털 잉크 입력방식에 의해 입력이 이루어지는 일 예를 설명하기 위한 도면이다. 디지털 잉크 데이터의 경우도 텍스트 데이터처럼 자동 줄 바꿈이 이루어질 수 있다.
구체적으로, 이미 표시 패널(P) 상에 두 줄의 텍스트 데이터와 한 줄의 디지털 잉크 데이터(53)가 가상 라인(156)을 따라 표시된 상태이다. 이때, 입력 패널(152) 상에 디지털 잉크 입력방식에 의해 제 1 입력(51) 및 제 2 입력(52)이 추가적으로 입력된다. 3번째 라인에 제 1 입력(51)에 대응되는 디지털 잉크 데이터(54)를 표시할 만한 충분한 공간이 없으므로, 제 1 입력(51)에 대응되는 디지털 잉크 데이터(54)뿐만 아니라 제 2 입력(52)에 대응되는 디지털 잉크 데이터(55)도 4번째 라인으로 이동하여 표시된다. 이처럼 디지털 잉크 데이터가 텍스트 데이터와 유사하게 화면 상에서 표시 또는 편집되도록 처리하는 과정에 대해 지금부터 구체적으로 설명하기로 한다.
다시 도 2를 참고하여, 본 발명의 일 실시예에 따른 데이터 편집장치(100)에 포함되는 각 구성에 대해 설명한다.
필순 재배열 처리부(110)는 디지털 잉크 입력방식에 의해 실제로 입력된 위치를 기준으로 하나 이상의 스트로크(stroke)가 처리되도록 스트로크의 입력된 순서를 재배열하는 재배열 동작을 수행한다. 이때, 스트로크는 텍스트 입력방식과는 달리 임의의 순서로 임의의 위치에서 디지털 잉크 입력방식에 의해 입력될 수 있다. 따라서, 이러한 스트로크를 기초로 생성되는 디지털 잉크 데이터를 효과적이고 편리하게 편집하기 위해서는 화면 상에 표시되기에 앞서 별도의 처리 과정이 필요하므로, 도 6을 참고하여 설명하기로 한다. 도 6은 도 2에 도시된 필순 재배열 처리부에 의해 수행되는 재배열 동작을 일 예에 따라 설명하기 위한 도면이다.
도 6의 예에서 영문자 "t"를 완성시키는 스트로크(-, 67)와 영문자 "i"를 완성시키는 스트로크(·, 68)는 입력 패널(152) 상에서 각각 22번째, 가장 마지막인 23번째로 입력되었다. 시간적으로 마지막에 입력된 이들 스트로크가 입력된 위치는 전체 스트로크들 중에서 중간 부근이고, 데이터 편집장치(100) 입장에서 입력 시간이나 입력 위치를 전혀 예측할 수 없다. 만약 다른 사용자가 "Ink Text Editor"를 동일하게 입력한다 해도, 도 6과 같은 순서로 동일한 위치에 대해 스트로크를 입력한다는 보장이 없다. 즉, 디지털 잉크 입력방식은 입력 자유도가 매우 높아서 미리 예측할 수 없다는 특징을 가진다.
따라서, 필순 재배열 처리부(110)는 스트로크의 입력된 순서를 일정 기준에 따라 재배열하는 필순 재배열 동작을 수행함으로써, 화면 상에 표시된 디지털 잉크 데이터가 일관성 있게 편집될 수 있도록 처리한다. 또한, 필순 재배열 처리부(110)는 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역(152) 내 미리 설정된 가상 기준점 또는 가상 기준선(63)과 스트로크가 입력된 위치 간의 거리를 기초로 재배열 동작을 수행할 수 있다.
도 6의 예에서 일정 조건을 만족한 경우(61) 필순 재배열 처리부(110)는 입력된 순서를 재배열하는 재배열 동작(62)을 수행하고, 그로 인해 영문자 "t"를 완성시키는 스트로크(-, 67)는 12번째로 입력된 것처럼 처리되며, 영문자 "i"를 완성시키는 스트로크(·,68)는 18번째로 입력된 것처럼 처리된다. 이들 스트로크를 재배열 스트로크라 한다. 즉, 미리 설정된 가상 기준선(63)과 각 스트로크가 실제로 입력된 위치 간의 거리를 기초로 판단하므로, 실제 입력 순서가 언제인가와 상관없이 스트로크들의 입력된 순서를 정확하게 관리, 검색할 수 있게 된다. 이때, 재배열 동작(62)이나 그 처리 결과를 표시하는 숫자는 표시 패널(P) 상에 나타나지 않고, 오직 디지털 잉크 데이터만이 표시 패널(P) 상에 나타난다는 것을 쉽게 이해할 수 있을 것이다.
특히, 필순 재배열 동작(62)을 시작하기 위한 일정 조건과 관련하여 일 예에 따르면, 필순 재배열 처리부(110)는 미리 설정된 시간인 5초(64) 동안 추가 입력이 없는 경우 5초 전까지 입력된 스트로크들에 대해 재배열 동작(62)을 수행할 수 있다. 다른 예에 따르면, 필순 재배열 처리부(110)는 재배열 동작(62)을 위하여 미리 설정된 버튼인 "confirm(65)" 버튼을 선택하는 선택 신호가 발생하기 전까지 입력된 스트로크들에 대해 재배열 동작(62)을 수행할 수도 있다. 또 다른 예에 따르면, 필순 재배열 처리부(110)는 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역(152) 내 미리 설정된 가상 임계선(66)과 교차되는 스트로크가 발생하기 전까지 입력된 스트로크들에 대해 재배열 동작(62)을 수행할 수 있다. 이 밖에도 재배열 동작(62)은 종래에 알려진 다른 조건 하에서 다른 방식에 의해 이루어질 수 있다.
데이터 생성부(120)는 상술한 재배열 동작의 결과가 반영된 재배열 스트로크와 대응되고 디스플레이(10)의 화면 상에 표시되는 디지털 잉크 데이터를 생성한다. 즉, 디지털 잉크 입력방식에 의해 입력된 스트로크는 데이터 생성부(120)를 통해 디스플레이(110) 상에 표시될 수 있는 디지털 잉크 데이터로 변환될 수 있다.
아울러, 데이터 생성부(120)는 상술한 재배열 동작의 결과가 반영된 재배열 스트로크 중 서로 중첩되는 재배열 스트로크를 스트로크 블록으로 처리하고, 재배열 스트로크 중 거리가 어느 정도 떨어진 재배열 스트로크 사이에 잉크 공백 데이터를 생성할 수 있다. 좀 더 구체적인 설명은 도 7 및 도 8a 내지 도 8d를 참고하여 설명한다.
도 7은 도 2에 도시된 데이터 생성부에 의해 디지털 잉크 데이터가 생성되는 과정을 일 예에 따라 설명하기 위한 도면이다. 데이터 생성부(120)에서 재배열 스트로크를 기초로 스트로크 블록 및 잉크 공백 데이터를 생성하는 것은, 화면 상에서 디지털 잉크 데이터가 텍스터 데이터와 유사한 방식으로 표시될 수 있도록 하기 위한 처리 과정이다.
구체적으로 설명하면, 데이터 생성부(120)는 서로 중첩된 재배열 스트로크를 하나의 스트로크 블록으로 병합함으로써, 스트로크 단위로 후술할 커서가 움직이는 문제를 막고 부자연스러운 위치에 커서가 위치하는 문제를 해결할 수 있다. 또한, 텍스트 편집기의 경우 텍스트 데이터를 문자 단위로 편집하는 것과 마찬가지로, 데이터 생성부(120)는 디지털 잉크 데이터를 일정 블록 단위로 처리함으로써, 스트로크 단위가 아닌 스트로크 블록 단위로 편집 동작을 수행할 수 있어 편집시 번거로움을 해소할 수 있다.
예를 들어, 중국어, 한국어 등과 같은 조합형 문자 또는 영어의 i, j 등의 문자는 2개 이상의 스트로크로 구성된다. 이와 같은 문자를 스트로크 블록으로 처리하지 않으면, 한 문자를 구성하는 스트로크의 사이에 편집을 위한 커서가 위치하는 문제가 발생하여 편집이 용이하지 않다. 이러한 문제를 해결하기 위해 데이터 생성부(120)는 재배열 스트로크를 스트로크 블록으로 처리하고, 잉크 공백 데이터를 경우에 따라 생성한다.
보다 구체적으로, 데이터 생성부(120)는 가상의 x 축에 투영시킨 스트로크 선분 중 서로 중첩되는 스트로크 선분에 해당하는 재배열 스트로크를 하나의 스트로크 블록으로 처리하는 블록 처리부(122)를 포함하고, 재배열 스트로크 또는 스트로크 블록과 대응되는 디지털 잉크 데이터를 생성한다. 이때, 블록 처리부(122)는 재배열 스트로크를 가상의 x 축에 투영시킨 스트로크 선분 중 서로 중첩되는 스트로크 선분 간에 중첩되는 길이가 미리 설정된 제 1 기준 값 이상인 경우, 서로 중첩되는 스트로크 선분에 해당하는 재배열 스트로크를 하나의 스트로크 블록으로 처리할 수 있다. 덧붙여, 재배열 스트로크 또는 스트로크 블록과 대응되는 디지털 잉크 데이터가 데이터 생성부(120)에 의해 생성될 수 있다.
도 7의 ①에서 영문자 "f"(71)는 하나의 스트로크로 이루어진 것을 확인할 수 있다. 즉, 한번에 문자 "f"(71)를 입력했다는 의미이다.
도 7의 ②에서 데이터 생성부(120)는 상술한 필순 재배열 처리부(110)에 의해 재배열된 각 재배열 스트로크에 대한 스트로크 영역(71 내지 74)을 계산한다.
도 7의 ③에서 데이터 생성부(120)는 2차원 좌표계로 구성된 스트로크 영역을 1차원 좌표계로 투영하여 가상의 x축 값으로만 구성된 스트로크 선분으로 변환시킨다.
도 7의 ④에는 "o" 재배열 스트로크를 가상의 x축에 투영시킨 스트로크 선분(75), "f" 재배열 스트로크를 가상의 x축에 투영시킨 스트로크 선분(76), "ㅡhe" 재배열 스트로크를 가상의 x축에 투영시킨 스트로크 선분(77), "|" 재배열 스트로크를 가상의 x 축에 투영시킨 스트로크 선분(78) 등이 나타나 있다. 이때, 스트로크 선분(75)와 스트로크 선분(76)은 서로 중첩되지 않는다. 그러나 스트로크 선분(77)와 스트로크 선분(78)은 서로 중첩되고, 중첩된 길이가 미리 설정된 제 1 기준 값 이상이다. 데이터 생성부(120) 중 블록 처리부(122)는 스트로크 선분(77)에 해당하는 영문자 "t"의 일부(ㅡ) 및 "he" 재배열 스트로크와, 스트로크 선분(78)에 해당하는 영문자 "t"의 나머지 일부(|) 재배열 스트로크를 서로 병합하여 하나의 스트로크 블록으로 처리한다.
도 7의 ⑤에는 병합 처리된 스트로크 블록을 가상의 x축에 투영시킨 스트로크 블록의 선분(79)이 도시된다. 이미 상술한 것처럼, 스트로크 선분(77)과 스트로크 선분(78)이 일정 길이 이상 서로 중첩되므로, 스트로크 블록의 선분(79)은 2개의 스트로크 선분(77, 78)이 병합된 결과이다. 예상 가능한 것처럼 스트로크 블록의 선분은 2 이상의 스트로크 선분이 병합된 결과일 수 있고, 그 스트로크 블록의 선분에 해당하는 스트로크 블록은 2 이상의 재배열 스트로크를 포함한다.
이러한 일련의 병합 과정을 반복 수행하여, 편집 동작이 용이한 스트로크 블록을 생성한다.
나아가, 도 8 a 내지 도 8d는 도 2에 도시된 데이터 생성부에 의해 디지털 잉크 데이터가 생성되는 과정을 다른 예에 따라 설명하기 위한 도면이다.
데이터 생성부(120)는, 재배열 스트로크 또는 스트로크 블록을 가상의 x축에 투영시킨 스트로크 선분 중 제 1 스트로크 선분과, 그 제 1 스트로크 선분에 인접한 제 2 스트로크 선분 간의 거리가 미리 설정된 제 2 기준 값 이상인 경우, 제 1 스트로크 선분에 해당하는 재배열 스트로크 또는 스트로크 블록과, 제 2 스트로크 선분에 해당하는 재배열 스트로크 또는 스트로크 블록 사이에 잉크 공백 데이터를 생성할 수 있다.
도 8a는 스트로크의 입력된 순서를 재배열한 결과가 반영된 재배열 스트로크를 나타내고 있다.
도 8b는 스트로크 블록을 생성하기 위해 중첩되는 스트로크를 선별한 결과를 도식화하여 보여주고 있으며, 도 8c는 중첩된 스트로크를 스트로크 블록으로 병합한 결과를 도식화하여 보여주고 있다. 중첩되는 스트로크는 상술한 중첩 스트로크 선정 방법에 따라 스트로크 블록으로 선정된다.
도 8a를 참고할 때, 서로 중첩되는 것은 1, 2, 3, 10, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 28, 29번째 재배열 스트로크이다. 상술한 중첩 스트로크 선정 방법에 따라, 1, 2번째 재배열 스트로크에 대한 스트로크 선분은 스트로크 블록(81)에 대한 스트로크 블록의 선분 (81')으로 병합되고, 10, 11번째 재배열 스트로크에 대한 스트로크 선분은 스트로크 블록(82)에 대한 스트로크 블록의 선분(82')으로 병합된다. 마찬가지로 각각 스트로크 블록의 선분(83' 내지 87')으로 병합된다.
도 8d는 상술한 잉크 공백 데이터를 생성하는 과정을 수행한 결과를 도식화하여 보여주고 있다. 미리 설정된 제 2 기준 값에 따라서 잉크 공백 데이터(88)가 생성되거나, 잉크 공백 데이터가 생성되지 않는다(89). 이렇게 생성된 잉크 공백 데이터(88)는 독립적인 데이터로 판단될 수 있고, 인접한 위치의 디지털 잉크 데이터 혹은 텍스트 데이터와 묶여서 하나의 구간처럼 취급될 수도 있다.
구체적으로, 4번째 재배열 스트로크에 대한 스트로크 선분(88a)과, 그 스트로크 선분(88a)에 인접한 5번째 재배열 스트로크에 대한 스트로크 선분(88b) 간의 거리는 미리 설정된 제 2 기준 값 이상이다. 이에 4번째 재배열 스트로크(e)와 5번째 재배열 스트로크(m) 사이에 잉크 공백 데이터(88)이 데이터 생성부(120)에 의해 생성될 수 있다.
또한, 28번째 재배열 스트로크에 대한 스트로크 선분(89a)과, 그 스트로크 선분(89a)에 인접한 29, 30번째 재배열 스트로크에 대한 스트로크 블록의 선분(89b) 간의 거리는 미리 설정된 제 2 기준 값 미만이다. 이에 28번째 재배열 스트로크(n)와 29, 30번째 스트로크 블록(x) 사이에 잉크 공백 데이터(89)이 데이터 생성부(120)에 의해 생성되지 않을 수 있다.
또한, 데이터 생성부(120)는 디지털 잉크 데이터뿐만 아니라, 텍스트 입력방식에 의해 발생된 입력 신호에 대응되고 디스플레이(110) 상에 표시되는 텍스트 데이터도 생성할 수 있다. 즉, 텍스트 입력방식에 의해 발생된 입력 신호는 데이터 생성부(120)를 통해 디스플레이(110) 상에 표시될 수 있는 텍스트 데이터로 변환될 수 있다. 구체적으로, 데이터 생성부(120)은 적용 플랫폼에 맞게 링크드 리스트(linked list) 자료 구조 또는 배열(array)과 같은 형태의 자료 구조 등을 이용하여 후술할 저장부(170)의 메모리 상에 구현될 수 있고, 동일한 자료 구조 형식을 기초로 디지털 잉크 데이터, 잉크 공백 데이터 및 텍스트 데이터를 생성할 수 있다.
편집부(130)는 화면 상에 표시된 디지털 잉크 데이터에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행한다. 또한, 편집부(130)는 화면 상에 표시된 텍스트 데이터 혹은 잉크 공백 데이터에 대하여 발생된 편집 신호 및 재배열 처리의 결과를 기초로 편집 동작을 수행할 수 있다. 이처럼 재배열 처리는 상술한 필순 재배열 처리부(120)에 의해 이루어지지만, 편집부(130)의 편집 동작과 재배열 처리의 결과는 매우 밀접한 관계를 가질 수 있다.
이때, 편집 신호는 디지털 잉크 입력방식 또는 텍스트 입력방식을 통한 추가 입력에 의해 발생된 삽입 신호, 화면 상에 표시된 데이터를 삭제하는 삭제 신호 및 상기 화면 상에 표시된 데이터를 선택한 상태에서 상기 추가 입력에 의해 발생된 갱신 신호를 포함할 수 있다.
인터페이스 제어부(140)는 상술한 것처럼 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터 중 적어도 하나를 표시하는 표시 패널(P), 디지털 잉크 입력방식을 지원하는 입력 패널(152) 및 텍스트 입력방식을 지원하는 키보드(154)를 포함하는 사용자 인터페이스(UI)가 디스플레이(10)의 화면 상에 표시되도록 제어한다. 또한, 인터페이스 제어부(140)는 입력 패널(152) 또는 키보드(154)를 통해 발생된 입력 신호를 상술한 필순 재배열 처리부(110) 및 데이터 생성부(120)로 전달하고, 입력 신호 및 편집 신호를 편집부(130)로 전달할 수 있다. 덧붙여, 인터페이스 제어부(140)는 상술한 입력 패널(152)의 세로 길이(36)와 가상 라인(156)의 간격(37)을 매칭시키고, 디지털 잉크 데이터가 그 간격(37) 내에서 가상 라인(156)을 따라 표시되도록 제어할 수 있다.
아울러, 도 2에 도시된 커서 위치 결정부(160)는 화면 상에 표시된 커서(Cursor; C)의 위치를 결정한다. 커서의 위치는 상술한 편집부(130)와 매우 밀접한 관계를 갖는다. 즉, 편집부(130)는 편집 신호가 발생한 때의 커서의 위치를 기초로 데이터에 대하여 편집 동작을 수행할 수 있다. 이때, 데이터는 디지털 잉크 입력방식을 통해 화면 상에 표시된 디지털 잉크 데이터, 텍스트 입력방식에 의해 발생된 입력 신호에 대응되고 화면 상에 표시된 텍스트 데이터, 및 잉크 공백 데이터 중 적어도 어느 하나일 수 있다.
또한, 커서 위치 결정부(160)는 화면 상에 표시된 디지털 잉크 데이터 간의 사이, 디지털 잉크 데이터와 텍스트 데이터 사이 또는 잉크 공백 데이터 사이, 화면 상에 표시된 텍스트 데이터 간의 사이, 텍스트 데이터와 잉크 공백 데이터 사이, 화면 상에 표시된 잉크 공백 데이터 간의 사이 및 가장 최근에 생성된 데이터의 뒷부분 중 어느 하나로 커서의 위치를 결정할 수 있다.
도 9 및 도 10은 도 2에 도시된 커서 위치 결정부의 동작을 설명하기 위한 도면이다.
커서 위치 결정부(160)는 감지부(162) 및 분석부(164)를 포함할 수 있고, 후술할 감지부(162) 및 분석부(164)의 판단결과에 기초하여 커서의 위치를 결정하고, 커서를 화면 상에 표시할 수 있다.
감지부(162)는 화면에 대한 사용자의 터치에 의해 발생된 터치 신호의 위치를 감지한다. 예를 들어, 도 9에 도시된 것처럼 사용자가 손가락을 이용하여 입력 패널의 특정 영역을 누르면, 감지부(162)는 터치에 의해 발생하는 터치신호의 위치(91)를 감지하여 분석부(164)에 전달할 수 있다.
분석부(164)는 터치 신호의 위치(91)를 기초로 화면의 세로방향으로 가상 축(92)을 형성하고, 터치 신호의 위치(91)를 기초로 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터 중 가상 축(92)과 교차하는 어느 하나의 데이터를 판단한다. 예를 들어, 도 9에 도시된 것처럼 가상 축(92)과 교차하는 디지털 잉크 데이터는 재배열 처리의 결과를 기초로 20, 22, 23, 24, 25번 재배열 스트로크에 대응되는 디지털 잉크 데이터이고, 분석부(164)는 이들 중에서 사용자가 선택한 디지털 잉크 데이터가 어떤 것인지 다양한 방식을 통해 분석하여 커서(C)의 위치를 결정할 수 있다.
예를 들어, 분석부(164)는 가상 축(92)과 교차하는 디지털 잉크 데이터 중 재배열 처리의 결과를 기초로 가장 큰 숫자를 갖는 재배열 스트로크에 대응되는 디지털 잉크 데이터를 검색하고, 25 번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤를 커서(C)의 위치로 결정할 수 있다. 이때, 터치 신호의 위치가 25번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 프런트 영역인 경우, 도 9처럼 24번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤를 커서(C)의 위치로 결정할 수 있다. 프런트(front) 혹은 엔드(end) 영역에 대한 구분은 도 10에 도시된 것처럼 특정 스트로크 또는 특정 재배열 스트로크의 가로 길이의 50% 지점을 기준으로 결정될 수 있다. 다만, 커서 위치 결정부(160)는 다른 방식에 의해서 커서의 위치를 결정할 수 있고, 상술한 방식에 의해 특별히 제한되지 않는다.
도 9와 같은 예시와 같이 분석되기 위해서 필요한 전제는, 상술한 데이터 생성부(120)에 의해 20, 22, 23, 24, 25 번 재배열 스트로크에 대응되는 각각의 디지털 잉크 데이터가 별도로 생성되어야 한다는 점이다. 그러나 데이터 생성부(120)는 스트로크 선분 간의 중첩된 길이에 따라 복수의 재배열 스트로크를 하나의 스트로크 블록으로 처리할 수 있다. 예를 들어, 상술한 데이터 생성부(120)는 23, 24, 25 번 재배열 스트로크를 묶어서 하나의 스트로크 블록인 "ㅌ(티읕)"을 생성할 수 있다. 경우에 따라 1 내지 4 번 재배열 스트로크, 5 내지 9 번 재배열 스트로크를 묶어서 하나의 스트로크 블록인 "수"(93), "박"(94)을 각각 생성할 수 있고, 10번 공백을 별도의 잉크 공백데이터(95)로 생성할 수 있다. 이들은 화면의 표시 패널(P) 상에서 표시될 수 있다.
편집부(130)의 편집 동작은 위와 같은 방식을 통해 결정된 커서의 위치를 기초로 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백데이터를 포함하는 다양한 데이터에 대하여 수행될 수 있다. 즉, 편집부(130)는 편집 신호가 발생한 때의 커서의 위치를 기초로 화면 상에 표시된 데이터에 대하여 편집 동작을 수행할 수 있다. 예를 들어, 도 9처럼 커서(C)의 위치가 24번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤로 결정된 경우, 사용자는 삭제 신호 발생을 위한 백스페이스 버튼을 1회 눌러서 편집 신호를 발생시킬 수 있다. 편집부(130)는 24번 스트로크에 해당되는 디지털 잉크 데이터를 화면 상에서 삭제하고, 커서 위치 결정부(160)는 커서(C)의 위치를 23번 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤로 이동시킬 수 있다. 또는 커서(C)의 위치가 25번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤로 결정된 경우, 사용자는 삭제 신호 발생을 위한 백스페이스 버튼을 1회 눌러서 편집 신호를 발생시킬 수 있다. 이때, 데이터 생성부(120)가 23, 24, 25 번 재배열 스트로크를 묶어서 하나의 스트로크 블록인 "ㅌ(티읕)"을 생성한 상태라면, 편집부(130)는 23, 24, 25 번 재배열 스트로크에 해당되는 하나의 스트로크 블록인 "ㅌ(티읕)"을 화면 상에서 삭제하고, 커서 위치 결정부(170)는 커서(C)의 위치를 22번 재배열 스트로크에 대응되는 디지털 잉크 데이터의 바로 뒤로 이동시킬 수 있다. 덧붙여, 편집부(130)는 커서(C)의 위치를 기초로 편집 동작의 대상이 되는 데이터의 음영 또는 색상을 변경시킬 수 있다. 상술한 예에 따를 때, 24 번 재배열 스트로크에 해당되는 디지털 잉크 데이터 또는 "ㅌ(티읕)" 데이터가 편집 동작의 대상일 수 있으므로, 해당 데이터의 음영 또는 색상이 기타 데이터와 다르게 변할 수 있다.
추가적으로, 도 11및 도 12는 디스플레이의 화면 상에 표시된 데이터에 대하여 발생된 편집 신호 및 그에 따른 편집 결과를 나타내는 도면이다.
도 11은 도 4에 도시된 특정 버튼(46)을 누른 경우 발생된 편집 신호 및 그에 따른 편집 결과를 나타낸다. 클리어(Clear) 버튼은 현재 화면 상에 표시된 디지털 잉크 데이터 및 텍스트 데이터를 포함하는 모든 데이터를 전부 삭제하는 편집 신호를 발생시킨다. 언두(Undo) 버튼은 화면 상에 표시된 데이터 중 가장 최근에 표시된 데이터부터 차례대로 하나씩 삭제하는 편집 신호를 발생시킨다. 리두(Redo) 버튼은 언두(Undo) 버튼과 반대로 하나씩 되살리는 편집 신호를 발생시킨다.
도 12를 살펴보면, 텍스트 데이터, 디지털 잉크 데이터 및 잉크 공백 데이터가 표시 패널 상에서 가상 라인을 따라 순차적으로 표시된다. 사용자는 표시 패널 상에 표시된 데이터 중 "would be lov" 부분(127)을 편집하고자 하고, "would"는 텍스트 데이터이고 "be lov"는 디지털 잉크 데이터이다. 즉, 편집하고자 하는 부분(127)이 텍스트 데이터, 디지털 잉크 데이터 및 잉크 공백 데이터의 혼합 부분에 해당하지만, 편집부(130)는 양 데이터를 동일한 방식에 의해 용이하게 편집할 수 있다. 또한, 편집부(130)가 편집 동작을 수행하기 위해 필요한 편집 신호는 화면 상에 표시된 각각의 (디지털 잉크/텍스트) 데이터 또는 복수의 (디지털 잉크/텍스트) 데이터를 포함하는 소정의 구간에 대하여 발생되는 것일 수 있다. 도 12의 경우 사용자가 편집하고자 하는 부분(127)은 소정의 구간으로 묶인다.
구체적으로, 편집 신호는 디지털 잉크 입력방식 또는 텍스트 입력방식을 통한 추가 입력에 의해 발생된 삽입 신호, 화면 상에 표시된 디지털 잉크 데이터 또는 텍스트 데이터를 삭제하는 삭제 신호 및 화면 상에 표시된 디지털 잉크 데이터 또는 텍스트 데이터를 선택한 상태에서 추가 입력에 의해 발생된 갱신 신호를 포함할 수 있다. 또한, 화면 상에 표시된 각각의 데이터 또는 소정의 구간이 선택된 이후에, 다른 타입의 편집 동작이 수행될 수도 있다. 즉, "취소"(121) 동작, "모두 선택"(122) 동작, "잘라내기"(123) 동작, "복사"(124) 동작, "붙여넣기"(125) 동작, "클립보드"(126) 동작 등이 있을 수 있고, 편집부(130)는 선택된 디지털 잉크 데이터, 텍스트 데이터, 잉크 공백 데이터 혹은 소정의 구간 등에 대하여 발생된 편집 신호를 기초로 적절한 편집 동작을 수행할 수 있다.
예를 들어, 도 12는 편집 신호 중 갱신 신호가 발생된 경우를 나타내고 있다. 사용자가 편집하고자 하는 구간(127)은 상술한 것처럼 텍스트 데이터, 디지털 잉크 데이터 및 잉크 공백 데이터를 포함한다. 사용자는 화면 상에 표시된 데이터에 대하여 동일한 편집 방식에 의해 자유롭게 편집을 수행할 수 있다. 구간(127)이 선택된 상태에서, 사용자는 디지털 잉크 입력방식에 의해 "YE"(d)를 이루는 스트로크를 입력하고, 그에 대응되는 디지털 잉크 데이터인 "YE"(e)가 구간(127) 부분의 데이터 대신에 표시되는 것을 확인할 수 있다. 이어서, 사용자는 디지털 잉크 입력방식에 의해 "AH!"(f)를 이루는 스트로크를 입력하고, 그에 대응되는 디지털 잉크 데이터인 "AH!"(g)가 "YE"(e)의 바로 뒤에 가상 라인을 따라 표시되는 것을 확인할 수 있다. 입력 도중에 커서의 위치 및 포커싱된 디지털 잉크 데이터(e, g)의 음영/색상은 편집부(130)에 의해 커서의 위치를 기초로 적절하게 변경될 수 있다. 덧붙여, 사용자는 입력 완료를 의미하는 컨펌 버튼(128)을 누를 수도 있다.
한편, 도 2에서 상술한 저장부(170)는 상술한 데이터 생성부(120)에 의해 동일한 자료 구조 형식을 가지도록 생성된 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터를 저장할 수 있다. 이러한 저장부(170)는 메모리의 일종으로서, 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
또한, 도 2에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(ASIC, Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
지금까지 설명한 것처럼, 본 발명에서 제안하는 데이터 편집장치를 활용하면, 사용자는 화면 상에 표시된 텍스트 데이터, 디지털 잉크 데이터 및 잉크 공백 데이터를 자유롭고 직관적으로 편집할 수 있다. 특히, 사용자는 디지털 잉크 데이터 및 텍스트 데이터에 대하여 하나의 사용자 인터페이스를 통해 구분 없이 편집 동작을 수행할 수 있고, 익숙한 방식에 의해 편집 신호를 발생시킬 수 있어 편리함을 느낄 수 있다. 또한, 사용자는 디지털 잉크 데이터에 대한 자유로운 삽입, 삭제, 갱신과 같은 편집 동작도 텍스트 데이터와 유사한 방식으로 수행할 수 있어, 높은 만족감을 느끼도록 해준다.
한편, 이하에서는 본 발명의 일 실시예에 따른 데이터를 편집하는 방법에 대해 도 13을 참고하여 설명하기로 한다. 도 13은 본 발명의 일 실시예에 따른 데이터 편집방법을 나타내는 동작 흐름도이고, 데이터는 디스플레이의 화면 상에 표시된 디지털 잉크 데이터, 텍스트 데이터 혹은 잉크 공백 데이터일 수 있다. 또한, 본 발명에서 제안되는 데이터 편집방법은 상술한 데이터 편집장치(100)에 의해 이루어지는 것이 바람직하나, 특별하게 제한되는 것은 아니다.
우선, 디지털 잉크 입력방식에 의해 입력된 하나 이상의 스트로크가 입력된 위치에 따라 처리되도록 스트로크의 입력된 순서가 재배열된다(S1340). 텍스트 입력방식에 의해 발생된 입력 신호에 대하여 재배열 처리를 수행할 수도 있다. 재배열하는 단계(S1340)에서 이루어지는 재배열 처리에 대한 구체적인 설명은 생략하기로 한다. 다만, 재배열 처리를 수행하기 전에 다음과 같은 하나 이상의 판단 과정을 거칠 수 있다.
구체적으로, 제 1 판단은 미리 설정된 시간 동안 추가 입력이 없는 경우, 입력된 스트로크가 미리 설정된 시간 전까지 입력된 것인지에 대한 것이다(S1310). 예를 들어, 5초의 미리 설정된 시간 동안 추가 입력이 없는 경우, 입력된 스트로크가 5초란 시간 전까지 입력된 것인지 판단할 수 있다.
제 2 판단은 입력된 스트로크가 미리 설정된 버튼을 선택하는 선택 신호가 발생하기 전까지 입력된 것인지에 대한 것이다(S1320). 예를 들어, 입력된 스트로크가 특정 버튼(confirm)을 선택하는 선택 신호가 발생하기 전까지 입력된 것인지 판단할 수 있다.
제 3 판단은 입력된 스트로크가 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역에 미리 설정된 가상 임계선과 입력된 스트로크가 교차되기 전까지 입력된 것인지에 대한 것이다(S1330). 예를 들어, 입력된 스트로크가 도 6에 도시된 것처럼 입력 패널(152)의 우측 끝단 부근에 미리 설정된 가상 임계선 (66)과 입력된 스트로크가 교차되기 전까지 입력된 것인지 판단할 수 있다.
이러한 제 1 판단, 제 2 판단 및 제 3 판단 중 적어도 하나를 만족하는 스트로크에 대하여 재배열 처리를 수행할 수 있다(S1340). 3개의 판단을 모두 만족하지 않는 경우, 데이터 편집장치(100)는 입력이 진행 중인 것으로 판단하여 재배열 처리를 수행하지 않을 수 있다. 덧붙여, 제 1 판단, 제 2 판단 및 제 3 판단은 데이터 편집장치(100)의 재배열 처리부(120)에 의해 이루어질 수 있다.
다음으로, 재배열 스트로크와 대응되고 화면 상에 표시되는 디지털 잉크 데이터뿐만 아니라 잉크 공백 데이터, 텍스트 입력방식에 의해 발생된 입력 신호와 대응되는 텍스트 데이터를 생성한다(S1350). 이때, 디지털 잉크 데이터를 생성하는 과정 중 복수의 (재배열) 스트로크를 스트로크 블록으로 처리하는 경우 및 잉크 공백 데이터를 생성하는 경우에 대해 각각 도 14 및 15를 참고하여 설명한다. 도 14 및 도 15는 도 13의 각 데이터를 생성하는 과정을 구체적으로 설명하기 위한 동작 흐름도이다.
우선, 도 14를 참고하여 복수의 재배열 스트로크를 하나의 스트로크 블록으로 처리하는 경우에 대해 설명한다. 데이터 편집장치(100)는 재배열 스트로크를 가상의 x축에 투영시켜 재배열 스트로크에 대한 스트로크 선분을 각각 형성한다(S1351). 이어서, 형성된 스트로크 선분 중 서로 중첩되는 스트로크 선분 간에 중첩되는 길이를 미리 설정된 제 1 기준 값과 비교한다(S1352). 만약 중첩되는 길이가 제 1 기준 값 이상이면(Yes), 서로 중첩되는 스트로크 선분에 해당하는 재배열 스트로크를 하나의 스트로크 블록으로 처리한다(S1353). 또한, 만약 중첩된 길이가 제 1 기준 값 미만이면(No), 재배열 스트로크를 별개로 처리한다(S1354). 이와 같은 과정을 거쳐 재배열 스트로크 또는 스트로크 블록과 대응되는 디지털 잉크 데이터가 생성될 수 있다.
다음으로, 도 15를 참고하여 잉크 공백 데이터를 생성하는 경우에 대해 설명한다. 데이터 편집장치(100)는 재배열 스트로크 또는 스트로크 블록을 가상의 x축에 투영시킨 스트로크 선분 중 제 1 스트로크 선분과, 상기 제 1 스트로크 선분에 인접한 제 2 스트로크 선분 간의 거리를 미리 설정된 제 2 기준 값과 비교한다(S1355, S1356). 만약, 거리가 제 2 기준 값 이상이면(Yes), 제 1 스트로크 선분에 해당하는 재배열 스트로크 또는 스트로크 블록과, 제 2 스트로크 선분에 해당하는 재배열 스트로크 또는 스트로크 블록 사이에 잉크 공백 데이터를 생성한다(S1357). 또한, 만약 거리가 제 2 기준 값 미만이면(No), 서로 떨어진 스트로크 선분에 해당하는 재배열 스트로크 사이에 잉크 공백 데이터를 미생성한다(S1358).
계속해서, 화면 상에 표시된 디지털 잉크 데이터, 잉크 공백 데이터 및 텍스트 데이터를 포함하는 다양한 데이터에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행한다(S1360). 스트로크의 입력된 순서를 재배열하는 재배열 동작의 결과는 저장부(170)에 저장될 수 있고, 편집 동작을 수행하는 단계(S1360)에서 이를 활용할 수 있다.
덧붙여, 화면 상에 표시된 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터 중 적어도 하나에 대하여 발생된 편집 신호를 기초로 편집 동작을 수행할 수 있다. 이러한 편집 동작은 데이터 편집장치(100)의 편집부(130)에 의해 이루어질 수 있다.
아울러, 본 발명의 다른 실시예에 따른 데이터를 편집하는 방법은, 화면 상에 표시된 커서(C)의 위치를 결정하는 과정을 더 포함할 수 있다. 구체적으로, 편집 동작을 수행하는 단계(S1360)는 편집 신호가 발생한 때의 커서(C)의 위치를 기초로 화면 상에 표시된 디지털 잉크 데이터, 텍스트 입력방식에 의해 발생된 입력 신호에 대응되는 텍스트 데이터 및 잉크 공백 데이터 중 적어도 어느 하나에 대하여 수행할 수 있다.
구체적으로, 커서의 위치를 결정하는 단계는 다음과 같은 일련의 과정을 거친다. 우선, 화면에 대한 사용자의 터치에 의해 발생된 터치 신호의 위치를 감지한다. 이어서, 터치 신호의 위치를 기초로 디지털 잉크 데이터, 텍스트 데이터 및 잉크 공백 데이터 중 화면의 세로방향으로 형성된 가상 축과 교차하는 어느 하나의 데이터를 판단한다. 이렇게 판단된 결과에 기초하여 커서의 위치를 결정한다.
지금까지 설명한 것처럼, 본 발명에서 제안하는 데이터 편집방법을 활용하면, 사용자는 화면 상에 표시된 디지털 잉크 데이터에 대하여 텍스트 데이터와 유사한 방식으로 편집 동작을 신속하고 정확하게 수행할 수 있다. 따라서, 사용자는 화면 상에 표시된 디지털 잉크 데이터뿐만 아니라 잉크 공백 데이터 및 텍스트 데이터에 대하여 매우 편리하고 익숙하게 편집을 수행할 수 있다.
본 발명의 장치 및 방법은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
아울러, 본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 디스플레이 100: 데이터 편집장치
110: 필순 재배열 처리부 120: 데이터 생성부
130: 편집부 140: 인터페이스 제어부
150: 입력부 160 : 커서 위치 결정부
170 : 저장부

Claims (21)

  1. 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치로서,
    2 이상의 스트로크 (stroke) 를 구성하는 사용자입력의 수신에 대응하여, 상기 2 이상의 스트로크의 입력된 순서를 미리 정의된 기준에 기초하여 재배열하여, 재배열 입력순서를 생성하는 필순 재배열 처리부;
    상기 재배열 입력순서가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하는 데이터 생성부; 및
    편집 신호의 발생에 대응하여, 상기 디스플레이에 표시된 상기 디지털 잉크 데이터를 변경하여 편집을 가능하게 하는 편집부를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  2. 제 1 항에 있어서,
    상기 필순 재배열 처리부는, 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역 내에 미리 설정된 가상 기준선과 상기 2 이상의 스트로크가 입력된 위치 간의 거리를 기준으로 상기 2 이상의 스트로크의 입력된 순서를 재배열하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  3. 제 1 항에 있어서,
    상기 2 이상의 스트로크는, 마지막으로 스트로크가 입력된 때로부터 미리 설정된 시간 동안 추가 입력이 없는 경우에 상기 마지막으로 스트로크가 입력된 때까지 입력된 2 이상의 스트로크, 미리 설정된 버튼을 선택하는 선택 신호가 발생하기 전까지 입력된 2 이상의 스트로크 또는 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역 내 미리 설정된 가상 임계선과 교차하는 스트로크가 발생하기 전까지 입력된 2 이상의 스트로크인 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  4. 제 1 항에 있어서,
    상기 데이터 생성부는,
    상기 재배열 스트로크가 가상의 제 1 축에 투영된 스트로크 선분들 중에서 서로 중첩되는 스트로크 선분들의 중첩 길이가 미리 설정된 제 1 기준 값 이상인 경우, 서로 중첩되는 스트로크 선분들에 대응하는 복수의 스트로크를 하나의 스트로크 블록으로 처리하는 블록 처리부를 포함하고,
    상기 스트로크 블록과 대응되는 디지털 잉크 데이터를 생성하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  5. 제 4 항에 있어서,
    상기 데이터 생성부는,
    상기 스트로크 블록이 가상의 제 1 축에 투영된 스트로크 선분들 중 인접한 두 스트로크 선분 간의 거리가 미리 설정된 제 2 기준 값 이상인 경우, 상기 두 스트로크 선분에 대응하는 스트로크 블록 사이에 잉크 공백 데이터를 생성하고,
    상기 편집부는 상기 편집 신호의 발생에 대응하여, 상기 디스플레이에 표시된 상기 잉크 공백 데이터를 변경하여 편집하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  6. 제 1 항에 있어서,
    상기 데이터 생성부는,
    상기 재배열 스트로크가 가상의 제 1 축에 투영된 스트로크 선분들 중 인접한 두 스트로크 선분 간의 거리가 미리 설정된 제 2 기준 값 이상인 경우, 상기 두 스트로크 선분에 대응하는 재배열 스트로크 사이에 잉크 공백 데이터를 생성하고,
    상기 편집부는 상기 편집 신호의 발생에 대응하여, 상기 잉크 공백 데이터를 변경하여 편집하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  7. 제 1 항에 있어서,
    상기 데이터 생성부는 텍스트 입력방식에 의해 발생된 입력 신호와 대응되는 텍스트 데이터를 생성하고,
    상기 편집부는 상기 편집 신호의 발생에 대응하여 상기 디스플레이에 표시된 상기 텍스트 데이터를 변경하여 편집하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  8. 제 7 항에 있어서,
    상기 디지털 잉크 데이터 및 상기 텍스트 데이터는 복수의 가상 라인을 따라 상기 복수의 가상 라인 간 간격 내에서 표시되는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  9. 제 7 항에 있어서,
    상기 디지털 잉크 데이터와 상기 텍스트 데이터는 동일한 자료 구조 형식을 가지는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  10. 제 1 항에 있어서,
    상기 디스플레이에 표시되는 커서의 위치를 결정하는 커서 위치 결정부를 더 포함하고,
    상기 편집부는 상기 편집 신호가 발생한 때의 커서의 위치에 기초하여, 상기 디스플레이에 표시된 상기 디지털 잉크 데이터를 변경하여 편집하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  11. 제 10 항에 있어서,
    상기 커서 위치 결정부는,
    사용자의 터치 입력에 의해 발생된 터치 신호의 위치를 감지하는 감지부; 및
    상기 디지털 잉크 데이터 중에서 상기 터치 신호의 위치에 기초하여 형성된 가상 축과 교차하는 데이터를 판단하는 분석부를 포함하고,
    상기 분석부의 판단 결과에 기초하여 상기 커서의 위치를 결정하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  12. 제 1 항에 있어서,
    상기 편집 신호는 상기 디지털 잉크 데이터에 추가적인 디지털 잉크 데이터를 삽입하는 삽입 신호, 상기 디지털 잉크 데이터의 적어도 일부를 삭제하는 삭제 신호 또는 상기 디지털 잉크 데이터의 적어도 일부가 선택된 상태에서 추가적인 입력이 인가되는 경우에 발생하는 갱신 신호를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 장치.
  13. 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법으로서,
    2 이상의 스트로크 (stroke) 를 구성하는 사용자입력의 수신에 대응하여, 상기 2 이상의 스트로크의 입력된 순서를 미리 정의된 기준에 따라 재배열하여 재배열 입력순서를 생성하는 단계;
    상기 재배열 입력순서가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하는 단계; 및
    편집 신호의 발생에 대응하여, 상기 디스플레이에 표시된 상기 디지털 잉크 데이터를 변경하여 편집하는 단계를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  14. 제 13 항에 있어서,
    상기 재배열 입력순서를 생성하는 단계는, 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역 내에 미리 설정된 가상 기준선과 상기 2 이상의 스트로크가 입력된 위치 간의 거리를 기준으로 상기 2 이상의 스트로크의 입력된 순서를 재배열하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  15. 제 13 항에 있어서,
    상기 2 이상의 스트로크는, 마지막으로 스트로크가 입력된 때로부터 미리 설정된 시간 동안 추가 입력이 없는 경우에 상기 마지막으로 스트로크가 입력된 때까지 입력된 2 이상의 스트로크, 미리 설정된 버튼을 선택하는 선택 신호가 발생하기 전까지 입력된 2 이상의 스트로크 또는 디지털 잉크 입력방식에 의해 입력이 이루어지는 영역 내 미리 설정된 가상 임계선과 교차하는 스트로크가 발생하기 전까지 입력된 2 이상의 스트로크인 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  16. 제 13 항에 있어서,
    상기 디지털 잉크 데이터를 생성하는 단계는,
    상기 재배열 스트로크가 가상의 제 1 축에 투영된 스트로크 선분들 중에서 서로 중첩되는 스트로크 선분들의 중첩 길이가 미리 설정된 제 1 기준 값 이상인 경우, 서로 중첩되는 스트로크 선분들에 대응하는 복수의 스트로크를 하나의 스트로크 블록으로 처리하는 단계;
    상기 스트로크 블록과 대응되는 디지털 잉크 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  17. 제 16 항에 있어서,
    상기 생성하는 단계는,
    상기 스트로크 블록이 가상의 제 1 축에 투영된 스트로크 선분들 중 인접한 두 스트로크 선분 간의 거리가 미리 설정된 제 2 기준 값 이상인 경우, 상기 두 스트로크 선분에 대응하는 스트로크 블록 사이에 잉크 공백 데이터를 생성하는 단계를 포함하고,
    상기 편집하는 단계는,
    편집 신호의 발생에 대응하여, 상기 디스플레이에 표시된 상기 잉크 공백 데이터를 변경하여 편집하는 단계를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  18. 제 13 항에 있어서,
    상기 디지털 잉크 데이터를 생성하는 단계는,
    상기 재배열 스트로크가 가상의 제 1 축에 투영된 스트로크 선분들 중 인접한 두 스트로크 선분 간의 거리가 미리 설정된 제 2 기준 값 이상인 경우, 상기 두 스트로크 선분에 대응하는 재배열 스트로크 사이에 잉크 공백 데이터를 생성하는 단계를 포함하고,
    상기 편집하는 간계는,
    편집 신호의 발생에 대응하여, 상기 잉크 공백 데이터를 변경하여 편집하는 단계를 포함하는 것을 특징으로 하는, 디스플레이에 표시된 디지털 잉크 데이터를 편집하는 방법.
  19. 명령어 세트들을 저장하는 컴퓨터 판독가능매체로서,
    상기 명령어 세트들은, 컴퓨팅 장치에 의해 실행되는 경우에 상기 컴퓨팅 장치로 하여금,
    2 이상의 스트로크 (stroke) 를 구성하는 사용자입력의 수신에 대응하여, 상기 2 이상의 스트로크의 입력된 순서를 미리 정의된 기준에 따라 재배열하여 재배열 입력순서를 생성하고,
    상기 재배열 입력순서가 반영된 재배열 스트로크와 대응되는 디지털 잉크 데이터를 생성하고,
    편집 신호의 발생에 대응하여, 상기 디스플레이에 표시된 상기 디지털 잉크 데이터를 변경하여 편집하게 하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  20. 삭제
  21. 삭제
KR1020130036594A 2013-04-04 2013-04-04 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법 KR101337872B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020130036594A KR101337872B1 (ko) 2013-04-04 2013-04-04 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법
EP14159391.3A EP2787450A3 (en) 2013-04-04 2014-03-13 Device and method for editing ink text data
CN201410111469.2A CN104111750A (zh) 2013-04-04 2014-03-24 用于编辑墨文本数据的装置及方法
TW103110846A TW201447611A (zh) 2013-04-04 2014-03-24 用於編輯墨文本資料的裝置及方法
US14/244,881 US9478055B2 (en) 2013-04-04 2014-04-03 Device and method for editing ink text data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130036594A KR101337872B1 (ko) 2013-04-04 2013-04-04 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법

Publications (1)

Publication Number Publication Date
KR101337872B1 true KR101337872B1 (ko) 2013-12-06

Family

ID=49987488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130036594A KR101337872B1 (ko) 2013-04-04 2013-04-04 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법

Country Status (5)

Country Link
US (1) US9478055B2 (ko)
EP (1) EP2787450A3 (ko)
KR (1) KR101337872B1 (ko)
CN (1) CN104111750A (ko)
TW (1) TW201447611A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095840A (ko) * 2015-12-01 2018-08-28 마이스크립트 제스쳐들에 의한 노트 필기를 위한 장치 및 방법
WO2022154449A1 (ko) * 2021-01-12 2022-07-21 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014147712A1 (ja) * 2013-03-18 2014-09-25 株式会社 東芝 情報処理装置、情報処理方法及びプログラム
US10403238B2 (en) 2014-06-03 2019-09-03 Lenovo (Singapore) Pte. Ltd. Presentation of representations of input with contours having a width based on the size of the input
US10614300B2 (en) * 2014-12-23 2020-04-07 Lenovo (Singapore) Pte. Ltd. Formatting handwritten content
US10437461B2 (en) * 2015-01-21 2019-10-08 Lenovo (Singapore) Pte. Ltd. Presentation of representation of handwriting input on display
US10410316B2 (en) * 2015-12-08 2019-09-10 Myscript System and method for beautifying digital ink
US10627910B2 (en) * 2017-02-21 2020-04-21 Adobe Inc. Stroke operation prediction for three-dimensional digital content
US10339372B2 (en) 2017-04-18 2019-07-02 Microsoft Technology Licensing, Llc Analog strokes to digital ink strokes
US10402642B2 (en) * 2017-05-22 2019-09-03 Microsoft Technology Licensing, Llc Automatically converting ink strokes into graphical objects

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170789A1 (en) * 2002-03-25 2008-07-17 Microsoft Corporation Organizing, Editing, and Rendering Digital Ink

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60181823A (ja) * 1984-02-29 1985-09-17 Canon Inc 文書処理装置
US5347295A (en) * 1990-10-31 1994-09-13 Go Corporation Control of a computer through a position-sensed stylus
US5404439A (en) * 1992-04-15 1995-04-04 Xerox Corporation Time-space object containment for graphical user interface
US5367453A (en) * 1993-08-02 1994-11-22 Apple Computer, Inc. Method and apparatus for correcting words
US5592608A (en) * 1993-10-15 1997-01-07 Xerox Corporation Interactively producing indices into image and gesture-based data using unrecognized graphical objects
JPH086707A (ja) * 1993-12-30 1996-01-12 Xerox Corp スクリーン指向ディスプレー処理システム
US5880743A (en) * 1995-01-24 1999-03-09 Xerox Corporation Apparatus and method for implementing visual animation illustrating results of interactive editing operations
US5864635A (en) * 1996-06-14 1999-01-26 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by stroke analysis
US5862256A (en) * 1996-06-14 1999-01-19 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by size discrimination
US6509912B1 (en) * 1998-01-12 2003-01-21 Xerox Corporation Domain objects for use in a freeform graphics system
US7257528B1 (en) * 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
US6909439B1 (en) * 1999-08-26 2005-06-21 International Business Machines Corporation Method and apparatus for maximizing efficiency of small display in a data processing system
US6459442B1 (en) * 1999-09-10 2002-10-01 Xerox Corporation System for applying application behaviors to freeform data
US7136082B2 (en) * 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
US7139004B2 (en) * 2002-01-25 2006-11-21 Xerox Corporation Method and apparatus to convert bitmapped images for use in a structured text/graphics editor
US20030214531A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink input mechanisms
US20060188162A1 (en) * 2002-10-31 2006-08-24 Microsoft Corporation Common interface for ink trees
US7218779B2 (en) * 2003-01-21 2007-05-15 Microsoft Corporation Ink divider and associated application program interface
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
US8316295B2 (en) * 2007-03-01 2012-11-20 Microsoft Corporation Shared language model
CN101551705A (zh) * 2008-03-31 2009-10-07 李振文 一种基于优秀码四角切割方形的汉字输入方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170789A1 (en) * 2002-03-25 2008-07-17 Microsoft Corporation Organizing, Editing, and Rendering Digital Ink

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095840A (ko) * 2015-12-01 2018-08-28 마이스크립트 제스쳐들에 의한 노트 필기를 위한 장치 및 방법
KR102413461B1 (ko) 2015-12-01 2022-06-24 마이스크립트 제스쳐들에 의한 노트 필기를 위한 장치 및 방법
WO2022154449A1 (ko) * 2021-01-12 2022-07-21 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
US9478055B2 (en) 2016-10-25
EP2787450A2 (en) 2014-10-08
CN104111750A (zh) 2014-10-22
TW201447611A (zh) 2014-12-16
EP2787450A3 (en) 2015-11-04
US20140300609A1 (en) 2014-10-09

Similar Documents

Publication Publication Date Title
KR101337872B1 (ko) 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법
JP6584638B2 (ja) 文書編集における手書きサポートを提供するデバイス及び方法
KR102096513B1 (ko) 터치 입력 커서 조작
KR102091235B1 (ko) 휴대 단말기에서 메시지를 편집하는 장치 및 방법
RU2417399C2 (ru) Редактор документов на основе жестов
US9507435B2 (en) Inline handwriting recognition and correction
KR101862123B1 (ko) 휴대단말기의 입력 장치 및 방법
CN105302784B (zh) 复制/剪切和粘贴数据的方法和系统
US20210049321A1 (en) Device, method, and graphical user interface for annotating text
US20110320978A1 (en) Method and apparatus for touchscreen gesture recognition overlay
US20140109016A1 (en) Gesture-based cursor control
US20150277748A1 (en) Edit providing method according to multi-touch-based text block setting
CN103116461B (zh) 一种基于触摸屏的字符处理方法及终端
CN104423869A (zh) 文本擦除方法及装置
CN111061409A (zh) 功能触发方法、装置、电子设备及存储介质
JP5102894B1 (ja) 文字入力装置及び携帯端末装置
US20220236967A1 (en) Virtual keyboard for writing programming codes in electronic device
US20160048324A1 (en) Electronic device and method
US10303346B2 (en) Information processing apparatus, non-transitory computer readable storage medium, and information display method
CN105843414A (zh) 输入法的输入修正方法和输入法装置
US9804777B1 (en) Gesture-based text selection
US9305210B2 (en) Electronic apparatus and method for processing document
KR101444202B1 (ko) 터치 스크린을 통한 문서서식 적용방법 및 장치
KR101811344B1 (ko) 디스플레이 제어 방법, 장치 및 컴퓨터프로그램
JP2015011681A (ja) 携帯情報端末

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161114

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171116

Year of fee payment: 5