KR101087443B1 - 디지털 잉크 스트로크 제공 방법 - Google Patents

디지털 잉크 스트로크 제공 방법 Download PDF

Info

Publication number
KR101087443B1
KR101087443B1 KR1020040043697A KR20040043697A KR101087443B1 KR 101087443 B1 KR101087443 B1 KR 101087443B1 KR 1020040043697 A KR1020040043697 A KR 1020040043697A KR 20040043697 A KR20040043697 A KR 20040043697A KR 101087443 B1 KR101087443 B1 KR 101087443B1
Authority
KR
South Korea
Prior art keywords
annotation
digital
document
digital ink
annotations
Prior art date
Application number
KR1020040043697A
Other languages
English (en)
Other versions
KR20040107446A (ko
Inventor
데이비드 바게론
토머 모스코비치
마이클 실맨
질레 웨이
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33299747&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101087443(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20040107446A publication Critical patent/KR20040107446A/ko
Application granted granted Critical
Publication of KR101087443B1 publication Critical patent/KR101087443B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Document Processing Apparatus (AREA)
  • Character Discrimination (AREA)

Abstract

디지털 잉크 주석 프로세스와 디지털 문서 및 그 내부의 디지털 잉크 주석 처리 시스템이 제공된다. 이러한 프로세스 및 시스템은 문서 내에 주석의 위치를 유지하여 주석의 본래 의도 및 의미가 보존된다. 이는 문서가 편집되거나, 리사이징되거나, 다른 장치 상에서 디스플레이되거나 또는 이와는 다르게 변형되더라도 마찬가지이다. 이러한 디지털 잉크 프로세스는 문서 내에 디지털 잉크 스트로크를 자동 및 수동 그룹핑하여 디지털 잉크 주석을 규정하는 단계, 주석 타입에 따라 주석들을 분류하는 단계, 및 주석들을 문서의 적절한 지역 또는 위치에 앵커링하는 단계를 포함한다. 이러한 프로세스는 또한 새로운 문서 레이아웃에 주석들을 리플로우(reflow)하여, 상기 주석들이 본래 의도 및 의미를 보존하면서 새로운 레이아웃을 따르고 이에 적응하도록 한다. 디지털 잉크 주석 시스템은 분류 모듈, 앵커링 모듈, 리플로우(reflow) 모듈 및 클린-업(clean-up) 모듈을 포함하여 디지털 잉크 주석 프로세스를 구현한다.
디지털 문서, 디지털 잉크 주석, 주석 분류, 앵커링

Description

디지털 잉크 스트로크 제공 방법{DIGITAL INK ANNOTATION PROCESS AND SYSTEM FOR RECOGNIZING, ANCHRING AND REFLOWING DIGITAL INK ANNOTATIONS}
도 1은 본 발명의 디지털 잉크 주석 시스템 및 프로세스를 구현하는 주석 환경을 도시하는 블럭도.
도 2a는 주석 그룹핑, 분류, 및 앵커링 동안 도 1에서 도시된 디지털 잉크 주석 시스템의 예시적 구현을 상세히 도시한 블럭도.
도 2b는 주석의 리플로잉 동안 도 1에서 도시된 디지털 잉크 주석 시스템의 예시적 구현을 상세히 도시한 블럭도.
도 3은 도 2a에서 도시된 분류 모듈의 예시적 구현을 상세히 도시한 블럭도.
도 4는 도 2a에서 도시된 앵커링 모듈의 예시적 구현을 상세히 도시한 블럭도.
도 5는 도 2b에서 도시된 리플로우 모듈의 예시적 구현을 상세히 도시한 블럭도.
도 6은 도 1, 도 2a 및 도 2b에서 도시된 디지털 잉크 주석 시스템의 디지털 잉크 주석 프로세스의 동작을 도시하는 전반적인 흐름도.
도 7은 도 6에서 도시된 디지털 잉크 주석 프로세스에 대한 분류 프로세스의 동작을 도시하는 상세화된 흐름도.
도 8a은 디지털 문서 상에 디지털 잉크 스트로크를 생성하여 디지털 문서에 주석을 다는 사용자를 도시하는 도면.
도 8b는 주석의 수동 그룹핑 및 분류를 도시하는 도면.
도 8c는 디지털 잉크 주석 프로세스를 이용하여 문서 및 주석의 리플로잉을 도시하는 도면.
도 9는 도 6에서 도시된 디지털 잉크 주석 프로세스에 대한 앵커링 분류 프로세스의 동작을 도시하는 상세화된 흐름도.
도 10은 도 6에서 도시된 디지털 잉크 주석 프로세스에 대한 리플로우 분류 프로세스의 동작을 도시하는 상세화된 흐름도.
도 11a는 밑줄 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11b는 강조 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11c는 여백 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11d는 직렬 원 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11e는 영역 원 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11f는 여백 괄호 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 11g는 커넥터 주석의 디지털 잉크 주석 처리를 도시하는 도면.
도 12는 디지털 잉크 주석 프로세스 및 시스템의 작업 예의 툴바를 도시하는 도면.
도 13은 도 1에서 도시된 디지털 잉크 주석 프로세스 및 시스템을 구현할 수 있는 적합한 컴퓨팅 환경의 일례를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 디지털 잉크 주석 시스템
120 : 사용자
140 : 컴퓨팅 장치
150 : 사용자 인터페이스
160 : 디지털 문서
170 : 사용자 주석
본 발명은 일반적으로 디지털 문서 처리에 관한 것으로, 보다 상세하게는, 디지털 문서에 행해지는 자유 형식의 디지털 잉크 주석을, 디지털 문서의 레이아웃이 변경될 경우(이는, 디지털 문서가 서로 다른 디스플레이 상에서 편집 또는 디스플레이되기 때문임), 이에 따라 주석의 레이아웃도 개작되도록 처리하기 위한 프로세스 및 시스템에 관한 것이다.
종이 문서에 펜을 이용하여 주석을 다는 일은 친숙하므로, 광범위한 영업 및 교육 환경에 걸쳐 필수불가결한 활동이다. 문서에 주석을 다는 일은 문서에 중요하고 설명을 위한 주역 및 의견을 "가필" 또는 정착시키는 행위이다. 이들 주역 및 의견들은 텍스트, 그래픽, 또는 이들 모두가 될 수 있다.
펜 컴퓨터, 태블릿 PC 및 개인 휴대 단말기(PDA) 등의 펜-기반형 컴퓨팅 장치가 소비자들 사이에서 지속적으로 인기를 끌고 있기 때문에, 디지털 문서에 주석을 다는 기능은 매우 유용하고 중요해 졌다. 펜-기반형 컴퓨팅 장치는 입력용으로 키보드를 대신하여 전자 펜(스타일리스라 칭함)을 이용한다. 여러 상황에서 컴퓨팅 장치들이 키보드를 포함하기에는 너무 소형이므로 입력용으로 팬을 사용하고 있다. 또한, 사용자는 키보드보다는 노트패드와 함께 펜을 사용하는 것이 보다 편리한 여러 상황들이 있게 된다. 이들 펜-기반형 컴퓨팅 장치는 일반적으로 수기 인식을 지원하는 특수 오퍼레이팅 시스템을 포함함으로써, 사용자가 키보드에 의한 타이핑 대신에 스크린 또는 태블릿 상에 기입하여 컴퓨팅 장치와 인터페이스를 행할 수 있다.
펜-기반형 컴퓨팅 장치의 가용성 및 유용성에도 불구하고, 문서를 읽고 주석을 달게 될 때, 대다수의 사람들은 여전히 펜과 종이를 선호한다. 중요한 이유 중 하나는, 펜과 종이는 판독자에게 그가 문서 내용에 응대하여 비구조화되거나 자유 형식의 주석 및 그림을 스케치하기에 용이한 방법을 제공해 주기 때문이다.
주석 프로세스 동안 종이 문서에 의해 제공되는 장점들에도 불구하고, 디지털 문서의 주석 달기는 종이 상응물보다 나은 유연성을 갖는 경향이 있다. 예를 들어, 디지털 문서는 종이 문서보다 편집이 보다 용이하며 상이한 디스플레이 크기에 적합하도록 개작될 수 있다. 또한, 주석을 단 종이 문서는 결국에는 쓰레기통으로 들어가 버리는 경우가 종종 있지만, 디지털 주석은 디지털 문서의 수명 내내 지속될 수 있다. 또한, 디지털 문서에서의 주석 달기는 필터링, 구성, 및 공유가 보다 용이할 수 있다.
이러한 유연성으로 인해, 디지털 문서는 여러 환경에서 사용될 수 있다. 예를 들어, 단일의 디지털 문서는 수 개의 상이한 포맷으로 판독될 수 있으며, 각 종의 장치 상에 디스플레이될 수 있으며, 다양한 크기의 윈도우 내에 제공될 수 있다. 디지털 문서는 편집가능하며, 다른 문서와도 결합될 수 있고, 심지어는 그 내용을 동적으로 개작할 수도 있다. 이와 같이, 종이 문서와는 달리, 디지털 문서는 일반적으로 불변의 레이아웃을 갖지 않는다.
이러한 불변의 레이아웃은 디지털 문서에 자유 형식의 디지털 잉크 주석을 고려할 경우 상당한 기술적 문제를 나타낸다. 예를 들어, 디지털 문서를 새로운 레이아웃으로 개작하려고 할 때마다, 연관된 주석 또한 개작되어야 한다. 환언하자면, 디지털 문서를 서로 다른 장치 상에서 또는 서로 다른 크기의 윈도우에서 편집 또는 디스플레이할 경우, 디지털 문서의 레이아웃은 새로운 상황에 적합하기 위해 변경된다. 디지털 문서 상에 행해진 임의의 "디지털 잉크" 주석 역시 새로운 레이아웃 조건에 적합(또는 "리플로우")해야 한다.
리플로잉 자유 형식의 디지털 잉크 주석을 지원하기 위해서는 세 가지의 문제점이 해결되어야 한다. 즉, 첫 번째로는, 판독자가 생성하는 주석을 인식하여 여러 유형의 주석(예를 들어, "밑줄", "원", "여백 주석", 등) 중 하나로서 분류해야 한다. 다음에는, 각 주석은 주석이 속하는 문서 내의 특정 위치에 각각의 주석을 앵커시켜야 한다. 마지막으로, 기본 문서의 레이아웃이 미래의 어느 시점에서 변경될 경우, 문서 상에 있는 기존의 주석을 판독자의 처음 의도에 일치하도록 적 절히 리플로우시켜야 한다.
역사적으로, 디지털 잉크에 관련된 연구 및 개발 노력 중 대부분은 수기 인식에 집중되어 왔다. 그러나, 본원에서 개시된 디지털 잉크 주석 프로세스 및 시스템은 수기 인식을 이용하는 것은 아니다. 이는 디지털 잉크 주석이 수기(높은 레벨의 인식 작업)이거나 수기가 아님을 단순히 인식함으로써, 디지털 잉크 주석이 나타내는 것(정교한 특징을 갖는 인식 작업)을 상세히 인식할 필요없이 디지털 잉크 주석을 리플로우할 수 있기 때문이다.
가장 최근의 여러 해결 방법들에서는 다양한 스케치-기반형 인터페이스를 지원하기 위한 잉크 형상 인식을 이용하고 있다. 이들 해결 방안들은 발견적 학습 기법 또는 기계 학습법을 이용하여 일련의 형상 또는 동작(제스쳐)을 인식한다. 그러나, 디지털 잉크 주석의 지원을 위해 이들 학습법의 이용을 고려해 볼 때, 이들 학습법에서의 한 가지 단점은 이들 학습법이 기본 문서 등의 독립적 컨텍스트에대해 잉크 스트로크를 앵커시키지 않음으로써, 이러한 컨텍스트의 변경에 응답하여 사용자의 잉크를 변형시킬 수 없다는 것이다.
디지털 잉크 주석에 대해 형상 인식을 적용하는 적어도 하나의 방법이 있으며, 이를 이용하여 뷰잉 조건에서의 제한된 변경(예를 들어, 문서에서의 폰트 크기의 변경)으로 자유 형식의 잉크 주석을 개작시킨다. 이 방법은 초기에는 간단한 발견적 학습법을 이용하여 인식을 행하려고 시도하였지만, 이는 불충분항 것으로 발견되었다. 이후에는, 이 방법에서는 인식을 위한 기계 학습법, 및 개개의 컨텍스트 특징들에 잉크 스트로크의 부분을 연관시키기 위한 "초-국부적(super-local)" 앵커링에 의존하였다. 이러한 방법에서의 문제점 중 하나는 수동 분류를 포함하지 않는다는 것이다. 수동 분류는 자동 분류, 앵커링, 또는 리플로우가 실패 또는 실현가능하지 않을 경우, 사용자가 수동 선택을 행할 수 있도록 되어 있는 시스템에는 포함되어야 한다. 또한, "초-국부적" 앵커링(예를 들어, 개개 잉크 스트로크의 부분들이 문서 켄텍스트 특징에 개별적으로 앵커링됨)은, 주석을 이러한 방법이 관련되는 뷰잉 조건에서의 제한된 변경의 종류로 개작시키기에 적합하지만, 디지털 잉크 주석의 완전히 제한되지 않은 리플로우를 지원하기에는 불충분한데, 이는 주석의 변형 시에는 주석에 포함되는 모든 잉크 스트로크와 주석의 앵커 컨텍스트 내의 모든 특징들을 고려해야만 하기 때문이다.
그러므로, 상기 기술한 문제점들 및 제한 사항들을 극복할 수 있는 문서 처리 시스템 및 방법이 필요로 된다. 특히, 초기 문서가 변형될 때마다 디지털 잉크 주석의 의도와 가시적 의미를 보존하는 시스템 및 방법이 필요로 된다.
본 발명은 초기 문서가 서로 다른 장치 또는 서로 다른 크기의 윈도우에서의 편집 또는 디스플레이 결과로서 새로운 레이아웃을 채택할 때마다 초기 문서의 디지털 잉크 주석의 의도 및 의미를 보존시키기 위한 디지털 잉크 주석 프로세스 및 시스템을 포함한다. 일반적으로, 본 발명의 이러한 프로세스 및 시스템은 세 가지의 넓은 양상을 포함한다. 첫째, 사용자가 문서에 가필을 행할 때, 그들의 디지털 잉크 스크로크를 주석이 정의되도록 그룹핑시키며, 주석을 여러 주석 "유형" 중 하나로서 분류한다. 이들 주석 "유형"은 밑줄, 강조, 여백 괄호, 원, 여백, 및 설명 을 위한 부호(callout)) 또는 커넥터 주석을 포함한다. 둘째, 각각의 주석은 문서에서의 그 주변 컨텍스트에 앵커링되어야 한다. 마지막으로, 기본 또는 초기 문서의 레이아웃이 변경되면, 각각의 주석은 그 컨텍스트의 새로운 레이아웃에 일치 및 적합하도록 변형되어야 한다. 이러한 최종 단계를 문서 및 주석의 "리플로잉"이라 한다. 이들 세 가지 양상으로 인해, 본 발명의 디지털 잉크 주석 시스템 및 프로세스는 디지털 문서 상에서의 디지털 잉크 주석이 이들이 문서에 속하는 곳을 계속해서 유지할 수 있도록 이들 주석을 처리할 수 있다. 이는 문서가 서로 다른 장치 상에서 편집, 크기 조정, 디스플레이 또는 이와는 다른 방법으로 변형되었을 경우에도 적용된다.
일반적으로, 디지털 잉크 주석 시스템은 리플로우된 디지털 문서에서의 주석의 정확한 위치 설정을 보증하면서 디지털 문서 및 주석을 처리하는 여러 개의 컴포넌트를 포함한다. 이 시스템은 분류 모듈, 앵커링 모듈, 리플로우 모듈 및 클린-업 모듈을 포함한다. 분류 모듈은 디지털 잉크 스트로크를 주석이 정의되도록 그룹핑하여 그 주석을 분류한다. 앵커링 모듈은 문서의 2차원 레이아웃 모델을 추상화하여 강인한 앵커링 기법을 이용함으로써, 주석을 주석이 관련되는 디지털 문서 내의 한 영역에 연결(또는 "앵커")시킨다. 리플로우 모듈은 각 주석에 연관된 분류 및 앵커 컨텍스트 정보를 이용하여 디지털 문서에 대한 변경에 기반하여 주석을 리플로우하거나 다시 렌더링한다. 리플로우 모듈은 디지털 문서가 변경될 때마다 사용자의 초기 의도와 의미를 확실하게 보존한다. 클린-업 모듈은 사용자의 초기 자유 형식의 주석을 제거시켜 그 주석에 대한 형식화된 "클린-업" 변형을 다시 드로잉하는 데 사용될 수 있는 선택적 컴포넌트이다. 클린-업 모듈은 그 분류를 초기에 결정함으로써 각각의 주석을 양식화한다. 이로써, 분류 클린-업 규칙에 기초하여, 자유 묘사 주석이 양식화된 주석으로 변환된다.
분류 모듈은 근접 잉크 스트로크를 그룹핑하고 디지털 문서에 대해 디지털 잉크 주석이 정의되도록 분류하는 프로세스를 캡슐화한다. 이러한 캡슐화는 초기 그룹핑 및 분류를 결정하기 위해 디지털 잉크 스트로크의 특징들을 추출하여 검사한 후, 디지털 문서의 주석에 대한 가설 앵커 및 컨텍스트에 기초하여 이러한 그룹핑 및 분류를 정련함으로써 행한다. 정련된 그룹핑 및 분류 결과에 기초하여, 앵커 컨텍스트에 대한 양호한 추정치 등이 확인된다. 그룹핑 및 분류와, 앵커 컨텍스트 식별 사이에서의 왕복을 반복한 후에, 시스템은 연관된 신뢰도 및 앵커 컨텍스트를 갖는 그룹핑 및 분류 결과에 수렴된다. 그룹핑 및 분류 프로세스가 특정 주석의 분류 및/또는 앵커 컨텍스트(예를 들어, 일정 임계 레벨 이하)에 대한 낮은-신뢰도 추정치에 수렴하면, 수동 그룹핑를 사용해야 하는 것으로 판단하여, 사용자에게 조언을 행한다.
잉크 스트로크의 그룹핑는 스트로크의 시간적 순서, 공간 배열, 또는 이들 모두의 결합에 기초할 수 있다. 디지털 잉크 주석 프로세스는 디지털 잉크 주석에 대한 적어도 6개 유형 또는 분류, 즉 밑줄 주석, 강조 주석, 여백 주석, 원 주석, 여백 괄호 주석, 및 설명을 위한 번호 또는 커넥터 주석을 자동적으로 인식한다. 이들 분류 각각은 예기되는 앵커 컨텍스트 유형, 및 어떤 종류의 리플로우 변형을 수행해야 하는가를 판정하는 명백한 특성을 갖는다.
주석의 잉크 스트로크가 일단 그룹핑되어, 주석이 분류되고, 유사한 앵커 컨텍스트가 식별되면, 앵커링 모듈은 그 주석을 의도된 컨텍스트로 앵커시킨다. 환언하자면, 주석은 주석이 속하는 문서 내의 영역 또는 위치에 논리적으로 앵커되어,문서의 레이아웃, 포맷, 또는 내용이 변경되더라도 그 문서 내의 그 동일 영역 또는 위치가 회복될 수 있다. 앵커링 프로세스는 디지털 잉크 주석의 각 분류를 위한 앵커링 규칙을 정의하고, 이들 앵커링 규칙을 각 디지털 잉크 주석에 적용시키고, 각 주석에 대한 논리적 앵커를 생성한다. 또한, 앵커링 프로세스는 문서 내의 주석의 컨텍스트에 기초하여 앵커의 유효성을 판단하여, 앵커의 유효성에 기초하여 사용자 대화가 바람직한가를 확인한다. 예를 들어, 컨텍스트가 편집의 결과로서 미싱된 것으로 판단되면, 주석의 앵커는 유효하지 않은 것으로 판단하여, 사용자는 고아(orphaned) 주석을 어떻게 처리해야 할지에 대해 조언을 받는다.
주석이 앵커되는 문서의 레이아웃이 이어서 변경되면, 주석의 앵커는 변경에 의해서는 비유효성이 검증되지 않지만, 리플로우 모듈은 그 분류 및 그 앵커 컨텍스트에 기초하여 주석을 다시 렌더링한다. 리플로우 모듈은 디자탈 문서의 새로운 레이아웃을 판정하여, 주석의 어떠한 의미 또는 의도를 상실하지 않고도 주석을 새로운 레이아웃에 적합하도록 변형 및 다시 렌더링한다.
또한, 디지털 잉크 주석 시스템은 사용자 피드백 모듈을 포함한다. 사용자 피드백 모듈은 인터페이스를 제공함으로써, 사용자는 시스템과 대화를 행하여 시스템의 정확성 및 효율성을 향상시킬 수 있다. 피드백형 사용자 인터페이스는 분류 모듈, 앵커링 모듈, 리플로우 모듈, 및 클린-업 모듈과 통신을 행한다. 사용자는 언제라도 시스템의 자동 특성들을 무시하여, (예를 들어, 그룹핑 또는 분류 등의)작업을 수동으로 수행할 수 있다.
이하, 본 발명은 본 발명의 양상들을 첨부된 도면을 참조하면서 상세히 기술하기로 한다. 본 발명의 원리를 일례를 들어 기술한 상세한 설명으로부터 본 발명기타 특징 및 장점들을 명백하게 이해할 수 있을 것이다.
본 발명의 이하의 설명에서는, 첨부된 도면을 참조하며, 이 도면들은 본 명세서의 일부를 형성하며, 본 발명이 수행될 수 있는 특정 예를 도시하기 위해 제공된다. 기타 실시예가 이용될 수 있고 본 발명의 영역을 벗어나지 않고 구조상의 변동이 있을 수 있다는 것을 이해할 것이다.
I. 서론 (Introduction)
사람들은 사실상 수백년 동안 종이 서류에 펜과 잉크 주석(annotation)을 달아왔다. 일반적으로, 주석은 주해(comment), 설명(explanation), 또는 정정(correction)을 위해 문서에 추가된 노트(문자(textual) 또는 그림(graphical) 둘 중 하나) 또는 기호(symbol)다. 주석은 문서에 대해 한 사람의 생각 및 감상을 기록하는 자연적이고 직관에 의한 수단이다. 게다가, 주석은 정정이 필요한 문서에서 오류를 나타내는 데 사용될 수 있다.
현재의 기술은 사용자로 하여금 종이 문서에 펜 주석을 다는 것과 유사하게, "프로즌(frozen)" 디지털 문서에 디지털 잉크 주석을 생성하는 것을 가능하게 해 준다. 예를 들어, 테이블 PC 사용자는 스크린에 쓰는 스타일러스(stylus)를 사용 하여 문서 이미지(예를 들어, 문서의 TIFF(tagged image file format) 이미지)에 디지털 잉크 주석을 만들 수 있다. 사용자는 자신에게 제공된 모든 유연성(flexibility)을 지니지만, 또한 모든 제한을 겪는다. 워드 프로세싱 문서 또는 HTML 웹 페이지와 같은 진정한 "동적(dynamic)" 디지털 문서는 종이 문서(또는 문서 이미지) 상대물보다 훨씬 더 유연하고 유동성이 있다. 예를 들어, 동적 디지털 문서는 윈도우내에서 쉽게 리사이즈(resize)될 수 있고 또는 더 크거나 또는 더 작은 디스플레이 장치에 디스플레이할 수 있도록 다시 포맷될 수 있다. 문서의 레이아웃이 변경될 때 이 더 유연한 동적 디지털 문서상에 주석의 적응을 지원하는 기술은 현재 없다.
본 명세서에 개시된 디지털 잉크 주석 시스템 및 프로세스는 동적 디지털 문서의 잉크 주석을 지원하여, 문서의 레이아웃이 변경되었을 때 및 변경되는 경우 주석이 자신이 속한 문서에 "뒤떨어지지 않도록" 해 준다. 이것은 문서가 편집되고, 리사이즈되거나, 다른 장치에 디스플레이되거나, 또는 수정될 때조차 적용된다. 예로서, 사용자가 태블릿 PC(tablet PC)를 사용하여 웹 페이지상의 한 줄짜리 문장에 밑줄을 쳤다고 가정하자. 웹 페이지가 PDA의 더 작은 스크린에 디스플레이되기 위해 곧이어 다시 포맷되었을 경우, 그 밑줄은 문서에서 여러 줄로 나뉘어야만 할 것이다. 이것은 문장의 모든 부분에 여전히 밑줄이 쳐져 있으며 사용자의 본래 의도도 유지되고 있다는 것을 확인해준다.
II. 개요 (General overview)
디지털 잉크 주석 시스템 및 프로세스는, 정적 문서에서 동적 문서로의 전통적인 펜과 종이 주석 패러다임(paradigm)의 중요한 확장을 나타낸다. 디지털 잉크 주석 시스템 및 프로세스에는 적어도 3가지 주요 측면이 있다. 제1 측면은 디지털 잉크 주석이 자동으로 또는 수동으로 인식되고 분류된다는 것이다. 제2 측면은 그 후에 분류된 주석이 문서 내의 요소(텍스트, 이미지, 테이블 등)에 고착된다는 것이다. 이것은 문서가 수정된다 할지라도, 그 문서상의 주석은 문서의 새 레이아웃에 놓여지게 될 것이고, 따라서 사용자의 본래 의도 및 뜻이 계속 유지될 수 있도록 해 준다. 제3 측면은 잉크 스트로크(ink stroke)을 수정하는 기술로서, 문서가 리플로우되거나(reflow), 수정되거나, 또는 그 둘 다가 일어난 이후에도 디지털 잉크 주석이 적절히 디스플레이될 수 있도록 해 준다.
도 1은 본 명세서에 개시된 디지털 잉크 주석 시스템 및 프로세스를 구현하는 주석 환경을 도시하는 블록도이다. 일반적으로, 디지털 잉크 주석 시스템(100)은, 사용자(120)가 주석이 적절하게 리플로우된 디지털 문서(digital document with properly flowed annotation)(130)를 생성할 수 있도록 주석 환경(110)내에 구현된다. 디지털 잉크 주석 시스템(100)은 일반적으로 컴퓨팅 장치(140)에 상주한다. 이하의 VII 부분에 설명되듯이, 이 컴퓨팅 장치(140)는 일반적으로 컴퓨터 실행가능 명령어의 형태로 디지털 잉크 주석 프로세스를 실행하는 프로세서(도시 생략)를 포함한다.
특히, 도 1을 참조하면, 사용자(120)는 사용자 인터페이스(150)를 통해 컴퓨팅 장치(140)와 상호작용한다. 사용자 인터페이스(150)는 사용자(120)로 하여금 디지털 문서(160)를 볼 수 있고 이와 상호작용할 수 있도록 해준다. 게다가, 사용자(120)는 스타일러스 또는 펜 입력 장치를 사용하여 자유형식의 디지털 잉크 사용자 주석(170)을 디지털 문서(160)에 추가할 수 있다. 디지털 문서(160) 및 관련된 사용자 주석(170)은 처리를 위해 디지털 잉크 주석 시스템(100)으로 전송된다. 이하에 상세히 설명된 바와 같이, 디지털 잉크 주석 시스템(100)은 디지털 문서(160) 및 사용자 주석(170)을 처리하고, 주석이 적절하게 리플로우된 디지털 문서(130)를 결과물로 생성한다. 그 후에, 주석이 적절하게 리플로우된 디지털 문서(130)는 디지털 문서(160)처럼 다루어진다: 즉, 사용자는 주석을 추가할 수 있고(또는 삭제, 또는 기존의 주석을 이동시키거나, 문서 내용을 편집하는 것과 같이 문서와 상호작용할 수 있음), 이후의 처리를 위해 이러한 명령들이 디지털 잉크 주석 시스템(100)에 참조된다. 게다가, 사용자(120)는 또한 예를 들어 주석 시스템 매개변수 및 선호도를 제어하기 위해, 사용자 인터페이스(150)를 통해 디지털 잉크 주석 시스템(100)과 직접적으로 상호작용할 수 있다.
III. 시스템 상세사항 (System details)
디지털 잉크 주석 시스템(100)은 여러 컴포넌트를 포함한다. 이들 컴포넌트는 시스템(100)으로 하여금 디지털 문서(160) 및 사용자 주석(170)을 처리할 수 있도록 해 주고, 리플로우된 디지털 문서에서 사용자 주석(170)이 제대로 위치할 수 있도록 해 준다.
도 2a 및 도 2b는 도 1에 보여진 디지털 잉크 주석 시스템(100)의 예시적인 구현의 상세사항을 도시하는 블록도이다. 일반적으로, 사용자가 새 주석을 문서에 추가하면, 디지털 잉크 주석 시스템(100)은 디지털 문서(160) 및 관련된 사용자 주석(170)을 처리하여 주석이 적절하게 리플로우된 디지털 문서(130)를 생성한다. 주석이 적절하게 리플로우된 디지털 문서(130)는 이어서 디지털 잉크 주석 시스템(100)의 범위 밖에서 어떤 외부 수정 프로세스(예를 들어, 문서는 편집될 수 있고, 또는 다른 윈도우 크기에 디스플레이될 수 있음)에 의해 수정될 수 있고, 그 결과 수정된 주석이 달린 디지털 문서(135)가 생성된다. 이 경우, 이 수정된 주석이 달린 디지털 문서(135)는 다시 디지털 잉크 주석 시스템(100)의 입력으로 들어가서, 그 주석은 자신이 속한 문서의 새 레이아웃에 뒤떨어지지 않도록 적당히 리플로우되고, 주석이 적절하게 리플로우된 디지털 문서(130)가 생성된다.
도 2a는 주석 그룹핑, 분류 및 앵커링하는 동안 도 1에 보여진 디지털 잉크 주석 시스템(100)의 예시적인 구현의 상세사항을 도시하는 블록도이다. 특히, 도 2a에 보여진 디지털 잉크 주석 시스템(100)은 분류 모듈(classification module)(200) 및 앵커링 모듈(anchoring module)(210)을 포함한다. 분류 모델(200)은 디지털 문서(160)와 함께 사용자 주석(170)을 포함하는 디지털 잉크 스트로크(digital ink strikes)을 입력으로서 받아들이고, 잉크 스트로크를 함께 그룹핑하여, 각 주석에 대해 그룹핑, 분류 및 앵커 컨텍스트 조합(anchor context combination)(230)을 정의한다.
앵커링 모듈(210)은 굳건한 앵커링 기술을 사용하여 분류 모듈(200)에 의해 생성된 잉크 스트로크 그룹핑을 그들의 관련된 앵커 컨텍스트에 연결한다(또는 "고착한다(anchor)", 예를 들어, 그 그룹이 가장 관련이 있는 것 같은 디지털 문서 내의 영역으로 연결함). 앵커링 모듈(210)은 분류 모듈(200)에 의해 생성된 그룹핑, 분류 및 앵커 컨텍스트 조합(230) 및 디지털 문서(160)를 입력으로서 받아들인다. 각각의 그룹핑에 대해, 앵커링 모듈(210)은 앵커 컨텍스트를 설명하는 디지털 문서(160)로부터 앵커 특징을 추출하고, 그리고 나서 이 특징들을 그룹핑과 관련시킨다. 모든 그룹을 처리한 후, 앵커링 모듈(210)은 주석이 적절하게 리플로우된 디지털 문서(130)를 결과물로 생성한다.
도 2b에 보여지듯이, 주석이 적절하게 리플로우된 디지털 문서(130)는 이어서 디지털 잉크 주석 시스템(100)의 범위 밖의 어떤 외부 수정 프로세스(240)에 의해 수정되어, 수정된 주석이 달린 디지털 문서(135)를 생성한다. 외부 수정 프로세스(240)는, 예를 들어 문서 내용을 편집하고, 다른 장치에 또는 다른 윈도우 크기에 디스플레이하는 것과 같이, 문서의 2D 레이아웃에 변경을 초래하는 모든 변경을 포함할 수 있지만, 이것은 적절히 주석을 수정하는 것을 무시한다. 그 결과, 주석은 옳지 않은 것처럼 보일 수 있으므로, 따라서 주석이 속하는 문서에 뒤떨어지지 않기 위해서는 문서의 새 레이아웃에 맞춰 변형되어야 한다.
도 2b는 주석이 리플로우되는 동안 도 1에 보여진 디지털 잉크 주석 시스템(100)의 예시적인 구현의 상세사항을 도시하는 블록도이다. 디지털 잉크 주석 시스템(100)은 리플로우 모듈(reflow module)(250) 및 클린-업 모듈(clean-up module)(260)을 포함한다. 리플로우 모듈(250)은 수정된 주석이 달린 디지털 문서(135)를 입력으로 받아들이고, 주석이 적절하게 리플로우된 새로운 디지털 문서(270)를 결과물로 생성한다. 즉, 리플로우 모듈(250)은 수정된 주석이 달린 디지털 문서(135)상에 존재하는 주석을 변형하고 리렌더링(rerender)하여 문서의 새 레이아웃에 적응시킨다. 이것은 주석 개개의 논리 앵커 특징 각각을 검토하여 그 앵커 컨텍스트가 문서의 새 레이아웃의 어디로 이동되었는가를 알아냄으로써 행해진다. 주석의 각각의 다른 유형 또는 클래스(밑줄, 원, 여백 주해 등)는 그 유형의 주석이 어떻게 리플로우되는가를 규정하는 고유의 규칙 집합을 지니고 있다. 일단 리플로우 모듈(250)이 주석의 앵커 컨텍스트가 어디로 갔는지를 결정하면, 리플로우 모듈은 주석의 유형 또는 분류에 사용할 적절한 리플로우 규칙 집합을 선택하고, 주석을 변형한다. 이러한 리플로우 방식은 주석이 적절하게 리플로우된 디지털 문서(130)가 변경될 때마다 사용자의 본래 의도 및 뜻이 유지될 수 있도록 해 준다.
클린-업 모듈(260)은 선택가능한 컴포넌트(점선으로 표시됨)이고, 사용자 최초의 손으로 그린 잉크 주석을 양식화된 주석의 "클린-업된" 버전으로 대체한다. 이하에 설명된 것처럼, 일부 주석은 사용자가 그렸던 그대로 남겨지는 것이 더 나은 경우도 있기 때문에, 대체되지 않고 클린-업 모듈(260)을 통과한다. 클린-업 모듈(260)은 먼저 주석의 유형 및 분류를 결정함으로써 각 주석을 양식화한다. 그리고 나서, 주석의 특정 유형에 대한 클린-업 규칙 집합을 기초로 하여, 주석은 양식화된 형태로 변환된다.
도 2a 및 도 2b를 참조해 보면, 디지털 잉크 주석 시스템(100)은 또한 사용자 피드백 모듈(280)을 포함하고, 이는 사용자가 디지털 잉크 주석 시스템(100)과 상호작용할 수 있도록 해주는 인터페이스를 제공한다. 이 사용자 피드백은 시스템(100)의 정확도 및 효능을 보장한다. 피드백 사용자 인터페이스(280)는 분류 모듈(200), 앵커링 모듈(210), 리플로우 모듈(250) 및 클린-업 모듈(260)의 여러 측면들을 제어할 수 있고, 따라서 사용자로 하여금 이들 모듈들의 자동 기능과 상호작용하고 그 기능들을 오버라이드(override)할 수 있도록 해 준다. 피드백 사용자 인터페이스(280)를 다른 4개의 모듈로 연결하는 점선들은 사용자 피드백이 각 경우에 선택사항이라는 것을 나타낸다.
한 예로서, 분류 모듈(200)은 피드백 사용자 인터페이스(280)를 통해 주석의 그룹핑, 분류 및 앵커 컨텍스트를 디스플레이할 수 있다. 사용자는 이 정보를 면밀하게 살피고 선택하여 수정할 수 있으며, 그 예로 주석을 구성하는 잉크 스트로크 그룹핑을 변경하거나, 또는 주석의 분류를 변경하거나, 또는 주석이 관련되는 문서의 영역을 변경함으로써 수정할 수 있다. 사용자는 피드백 사용자 인터페이스(280)를 사용하여 앵커링 모듈(210)이 주석의 논리 앵커를 생성하는 방법을 수정할 수 있으며, 그 예로 앵커 컨텍스트를 설명하는 디지털 문서(160)로부터 추출된 특징의 유형을 변경함으로써 수정할 수 있다. 사용자는 피드백 사용자 인터페이스(280)를 사용하여 리플로우 모듈(250)이 특정 주석을 리플로우할 때 사용하는 규칙 집합을 수동으로 지정할 수 있으며, 그 예로 주석의 특정 특징을 고려했을 때 주석 유형에 대한 디폴트 리플로우 규칙 집합이 옳지 않을 경우 지정할 수 있다. 마지막으로, 사용자는 피드백 사용자 인터페이스(280)를 사용하여 클린-업 모듈(260)이 주석의 양식화되고 또는 "클린-업된" 버전을 디스플레이할 때 사용하는 클린-업 모듈(260)의 규칙 집합을 수동으로 지정할 수 있으며, 그 예로 주석 유형의 디폴트 "클린-업" 규칙 집합이 주어진 주석의 특정 특징에 옳지 않을 경우 지정할 수 있다. 피드백 사용자 인터페이스(280)를 통해 시스템(100)과 상호작용하여, 사용자는 시스템의 정확도, 신뢰성 및 효율성을 증가시킬 수 있다.
도 3은 도 2a에 보여진 분류 모듈(200)의 예시적인 구현의 상세사항을 도시하는 블록도이다. 일반적으로, 분류 모듈(200)은 사용자 주석(170)의 특징 및 디지털 문서(160)로부터의 컨텍스트적인(contextual) 정보를 사용하여, 각 주석을 그룹핑하고 분류하며, 적절한 앵커 컨텍스트를 결정하고, 각 주석에 대해 그룹핑, 분류 및 앵커 컨텍스트 조합(230)을 결과물로 생성한다. 분류 모듈(200)은 잉크 스트로크 특징 추출 모듈(ink stroke feature extract module)(300), 시간 교정 모듈(temporal pruning module)(320) 및 공간 교정 모듈(spatial pruning module)(330)을 갖는 그룹핑 및 분류 모듈(310), 앵커 컨텍스트 식별 모듈(anchor context identification module)(340), 및 수동 그룹핑, 분류, 및 앵커 식별 모듈(350)을 포함한다.
잉크 스트로크 특징 추출 모듈(300)은 사용자 주석(170)의 잉크 스트로크의 특징을 측정한다. 특정 잉크 스트로크에 대해, 이 특징들은 예를 들어, 스트로크 방향의 각도, 스트로크의 길이, 기타 모든 잉크 스트로크에 대해 그 스트로크가 만들어진 시간, 및 기타 모든 잉크 스트로크에 대해 그 스트로크의 위치 등을 포함한다. 이러한 특징들은 그룹핑 및 분류 모듈(310)로 제공되어 함께 잉크 스트로크의 옳은 그룹핑을 결정한다.
그룹핑 및 분류 모듈(310)은 사용자 주석(170)의 잉크 스트로크를 글로벌한 최적의 방식으로 적절한 클래스 레이블 및 앵커 컨텍스트를 지닌 별개의 그룹으로 그룹핑하는 것을 담당한다. 일반적으로, 그룹핑 및 분류 모듈(310)은 동적 프로그래밍을 사용하여 사용자 주석(170)을 포함하는 잉크 스트로크의 모든 가능한 그룹핑 및 분류를 평가하고, 모든 스트로크를 별개의, 포괄적이고, 오버랩되지 않는 그룹으로 그룹핑하고 분류하고, 최적이며 가장 옳은 것 같은 그룹핑 및 분류를 결정한다. 모든 가능한 그룹핑 및 분류를 평가하는 것은 컴퓨터 처리 장치에 관해 결합으로 비용이 들기 때문에, 동적 프로그래밍 검색 공간은 스트로크의 시간 순서(시간 교정 모듈(320)을 이용하여) 또는 스트로크의 공간 배열(공간 교정 모듈(330)을 이용하여)또는 그 둘 다에 기반하여 앞면에서 교정된다. 다시 말해, 시간 및/또는 공간에 있어 서로 근사한 스트로크의 그룹만이 그룹핑 및 분류 모듈(310)의 동적 프로그램의 일부로서 간주된다. 이 앞면 교정을 하는 이유는 시간 및 공간에서 서로 떨어져 있는 잉크 스트로크들이 한 그룹에 같이 속해 있을 것 같지 않기 때문이다.
그룹핑 및 분류 모듈(310)에 의해 평가되는 나머지 가능한 스트로크 그룹들 각각에 그룹의 스트로크들이 시스템이 인식하는 주석의 유형 중 하나(예를 들어, 밑줄, 강조, 원, 여백 주해, 여백 바 또는 커넥터)를 어떻게 형성하는가에 기반한 가능성이 할당되고, 그리고 나서 그룹은 앵커 컨텍스트 식별 모듈(340)로 전달된다. 앵커 컨텍스트 식별 모듈(340)은 그 그룹에 대해 가장 적당할 것 같은 앵커 컨텍스트를 식별하려 한다. 예를 들어, 특정 그룹의 잉크 스트로크가 수평선이고, 그룹핑 및 분류 모듈(310)이 아마도 그 그룹이 밑줄 주석을 나타낼 것이라고 이미 결정했을 경우, 앵커 컨텍스트 식별 모듈(340)은 그 선 바로 위에 놓일 단어를 문서 내에서 찾을 것이다. 다른 그룹의 잉크 스트로크들이 원 주석을 형성하기에 가장 적당하다고 결정될 경우, 앵커 컨텍스트 식별 모듈(340)은 원으로 둘러싸일 단어를 찾을 것이다. 앵커 컨텍스트 식별 모듈은 잉크 스트로크의 그룹에 대해 잉크 스트로크과 함께 표현될 앵커 컨텍스트에 관해 최선의 추측을 하고, 앵커 컨텍스트가 옳다는 가능성을 할당하며, 이 정보를 다시 그룹핑 및 분류 모듈(310)로 전달한다.
그룹핑 및 분류 모듈(310)은 그 그룹에 대한 앵커 컨텍스트 ID 정보를 수신하고, 이것을 그 그룹에 대해 자신이 계산했던 본래의 분류 가능성과 조합하며, 조합된 값을 자신의 동적 프로그래밍 부문제 해결 테이블(dynamic programming subproblem solution table)에 둔다. 잉크 스트로크의 특정 그룹핑이 적당하지 않은 분류 및/또는 적당하지 않은 컨텍스트 인스턴스를 지니고 있을 경우(예를 들어, 처음에 밑줄로서 분류되었던 잉크 스트로크의 그룹 내의 선 위에 단어가 없을 경우), 이것은 이 특정 그룹이 그룹핑 및 분류 모듈(310)에 의해 결정된 사용자 주석(170) 내의 모든 스트로크의 최종 전체 그룹핑 내에 포함된다는 가능성을 감소시킨다. (앞면이 교정되지 않은)모든 가능한 그룹핑을 평가했을 때, 그룹핑 및 분류 모듈(310)은 자신의 부문제 해결 테이블을 조사하고, 사용자 주석(170)의 모든 스트로크를 설명하는 그룹핑/분류/앵커 컨텍스트 조합 집합을 선택하며, 오버랩하지 않고, 조합된 그룹핑 가능성을 최대화시킨다. 그리고 나서, 이 완전한 최적의 그룹핑은 그룹핑, 분류 및 앵커 컨텍스트 조합(230)을 결과물로 생성한다.
수동 그룹핑, 분류 및 앵커 식별 모듈(350)은 사용자 인터페이스를 제공하며, 이 인터페이스를 사용하여 사용자는 수동으로 잉크 스트로크 집합을 선택하고, 인식된 주석 유형의 리스트에 따라 그것을 분류하고, 그 앵커 컨텍스트를 지정할 수 있다. 자동 그룹핑 처리를 피하기 위해 또는 자동 처리에서의 오류를 정정하기 위해 사용자가 이 인터페이스를 사용하기로 할 경우, 수동으로 선택한 것은 무엇이든지간에 자동 처리가 달성할 수 있는 것보다 더 나은 것으로 간주되고, 따라서 그룹핑의 잉크 스트로크는 자동 처리에 의해 무시된다.
도 4는 도 2a에 보여진 앵커링 모듈(210)의 예시적인 구현의 상세사항을 도시하는 블록도이다. 일반적으로, 앵커링 모듈(210)은 분류 모듈(200)의 결과물로 생성된 그룹핑, 분류, 및 앵커 컨텍스트 조합(230)을 사용하여 논리 앵커를 생성하고, 이 논리 앵커는 스트로크의 각 그룹을 문서 내의 의도된 앵커 영역과 관련시키며, 이러한 방식으로 각 그룹에 대한 앵커 영역은 문서의 레이아웃 및/또는 내용이 변경되더라도 복구될 수 있다. 앵커링 모듈(210)은 주석 앵커링 규칙(annotation anchoring rules)(400), 컨텍스트 특징 추출 모듈(context feature extraction module)(410), 및 논리적 앵커 생성 모듈(logical anchor generator module)(420)을 포함한다.
앵커링 모듈(210)은 그룹핑, 분류, 및 분류 모듈(200) 및 디지털 문서(160)에 의해 출력되는 앵커 컨텍스트 조합(230)을 입력으로 한다. 주석 앵커링 규칙(400)은 각각의 개별적인 주석 유형이 앵커되는 방법을 제시한다. 예를 들면, 밑줄 주석은 그것이 밑줄친 텍스트로 앵커되는 한편, 써클은 그것이 둘러싼 텍스트로 엥커된다. 컨텍스트 특징 추출기 모듈(410)은 디지털 문서(160)로부터 두드러진 앵커링 특징을 추출하고 그들을 논리적 앵커 생성 모듈(420)에 이용가능하게 한다. 각각의 잉크 스트로크가 그룹핑되기 위하여, 논리적 앵커 생성 모듈(420)은 그 유형의 주석에 대한 그룹핑의 분류 및 앵커링 규칙에 기반하여, 추출된 것들 사이에서, 적절한 앵커 특징들을 선택한다. 앵커 특징들은 그룹핑의 논리 앵커로써 그룹핑에 할당된다. 그 다음 그룹핑의 분류, 그룹핑의 앵커 컨텍스트, 및 그룹핑의 논리 앵커에 따르는, 그룹핑은 완전히 리플로우될 수 있는 주석으로 간주된다. 논리적 앵커 생성 모듈(420)이 모든 그룹핑, 분류, 및 앵커 컨택스트 조합(230)에 대한 자신의 태스크를 완료한 후에, 완전히 리플로우될 수 있는 주석들이 디지털 문서(160)에 디스플레이될 준비를 하고, 주석이 적절하게 리플로우된 디지털 문서(130)가 산출된다.
도 5는 도 2B에 도시된 리플로우 모듈(250)의 예시적인 구현의 상세한 사항을 도시한 블럭도이다. 일반적으로, 리플로우 모듈(250)은 주석의 논리 앵커 및 그것의 분류에 기반하여 수정된 주석이 달린 디지털 문서(135)에서 완전히 리플로우될 수 있는 주석 각각을 변환하고 재조작한다. 리플로우 모듈(250)은 레이아웃 결정 모듈(500), 주석 변환 모듈(510), 및 렌더링 모듈(520)을 포함하고, 적절하게 플로우되는 주석(270)을 가지는 새로운 디지털 문서를 산출한다.
리플로우 모듈(250)은 디지털 문서에서 주석이 리플로우되었던 마지막 시간 이후로 수정된 그 문서의 레이아웃을 수정하는 수정된 주석이 달린 디지털 문서를 입력으로 한다. 문서의 각각의 주석에 대하여, 레이아웃 결정 모듈(500)은 주석의 논리 앵커를 이용하여 주석의 앵커 컨텍스트를 복구하고, 주석의 앵커 컨텍스트의 새로운 레이아웃을 결정한다. 일단 새로운 레이아웃이 결정되면, 주석 변환 모듈(510)은 주석이 새로운 문서 레이아웃에 일치하도록 그 주석을 변환하는 데 사용된다(예를 들면, 주석은 자신이 초기에 이동하고자 했던 문서의 위치와의 "접촉"을 유지한다). 일치 프로세싱은 개별적인 주석 유형 각각에 대하여 다르다. 예를 들면, 밑줄 주석에서, 그 주석은 두개 이상의 밑줄친 잉크 스트로크에 조인시켜 동일한 텍스트의 선상에 포함시키는 조인 연산 및 새로운 레이아웃에서 두 줄 이상의 텍스트를 연결하는 밑줄친 잉크 스트로크를 분할하는 분할 연산을 포함한다. 써클 주석에서, 이 주석이 자신의 앵커 컨텍스트의 새로운 레이아웃에 동의하도록 유사한 변환(변형, 회전, 및 확대)를 포함한다.
Ⅳ. 동작의 개요
본 명세서에서 개시된 디지털 잉크 주석 시스템(100)은 디지털 잉크 주석 프로세스를 이용하여 주석이 동적으로 적응가능하게 주석을 처리한다. 이는 주석을 포함하는 문서가 수정될 때 주석은 문서의 새로운 레이아웃에 적응할 수 있다는 것을 뜻한다. 이러한 동적인 적응능력은 각 주석의 초기의 의도 및 의미가 보존됨을 보장한다.
디지털 잉크 주석 프로세스는 3개의 주된 특징을 포함한다. 첫째, 디지털 잉크 주석의 잉크 스트로크는 그룹핑 및 분류되고, 근접한 앵커 컨텍스트는 식별된다. 둘째, 문서의 레이아웃 및/또는 항목이 변경되는 경우 영역이 복구될 수 있는 방법으로 주석이 결합되는 문서 내의 영역을 식별하는 분류된 주석에 대하여 논리 앵커가 생성된다. 그 주석을 앵커링하는 것은 문서가 수정된 이후에도 그 문서의 정확한 영역 내에 그 주석이 위치될 것을 보장한다. 셋째, 그 문서의 레이아웃이 변경된 경우 처리된 디지털 잉크 주석은 리플로우되고 재처리된다.
도 6은 도 1, 2A 및 2B에 도시된 디지털 잉크 주석 시스템(100)의 디지털 잉크 주석 프로세스의 동작을 도시한 일반적인 흐름도이다. 방법은 디지털 잉크 주석 및 디지털 문서를 입력함으로써 시작된다(박스 600). 그 다음 디지털 잉크 주석은 분류되고, 앵커 컨텍스트는 식별된다(박스610). 이러한 분류는 디지털 문서의 주석 특징들 및 컨텍스트적인 정보에 기반하여 수행된다. 다음에, 주석이 디지털 문서의 영역 또는 위치로 확고하게 엥커된다(박스 620). 이 앵커링은 주석 분류 및 식별된 앵커 컨텍스트에 기반한다. 최종적으로, 디지털 잉크 주석은 디지털 문서의 새로운 레이아웃으로 리플로우된다(박스630). 이러한 리플로우 프로세스는 주석 앵커 및 주석 분류에 기초한다.
도 7은 도 6에 도시된 디지털 잉크 주석 프로세스의 분류 프로세스의 동작을 도시한 상세한 흐름도이다. 방법은 모든 가능한 방법으로 디지털 문서에서 잉크 스트로크를 그룹핑, 시간 및 공간 근접도 제약사항에 따른 플루닝(pruning), 및 그것이 포함한 잉크 스트로크의 조합이 각 주석 클래스의 특징들과 일치할 가능성에 대하여 각각의 그룹을 평가함으로써 시작된다(박스 700). 그 다음, 각 그룹핑/분류 조합에 대하여 가장 가능성 있는 앵커 컨텍스트가 결정된다(박스 710). 동적 프로그래밍 부프로그램 솔루션 테이블은 각각의 그룹핑/분류/컨텍스트 앵커 조합의 가능성으로 채워진다(박스 720). 그리고 최종적으로, (플루닝되지 않았던) 모든 부프로그램이 평가된 후, 부프로그램 솔루션 테이블이 워킹(walk)되어 오버랩핑 그룹을 포함하지 않는 모든 스트로크를 설명하는 잉크 스트로크의 최적의 총 그룹핑을 결정하고, 모든 그룹의 조합될 확률을 최대화한다(박스 730).
사용자가 디지털 문서를 마크업(mark up)할 때, 프로세스는 잉크 스트로크를 그룹핑하여 스트로크가 구성되는 주석의 유형을 정의한다. 예를 들면, 주석은 밑 줄, 써클, 커넥터, 여백 선, 여백 코멘트일 수 있다. 그룹핑은 대략적으로 사람이 잉크 스트로크를 그룹핑하고 주석을 정의하는 것과 동일한 추상 레벨에서 그리고 동일한 정확도를 가지고 일어난다.
잉크 스트로크를 그룹들로 결합하는 것은 스트로크가 생성되었던 시간 순서, 또는 스트로크의 공간 배열, 또는 둘의 조합에 근거할 수 있다. 다시 말하자면 그룹핑 및 분류 알고리즘의 동적 프로그래밍 검색 공간은 시간 및 공간 근접도 제약사항을 기반으로 플루닝된다. 시간 순서에 의존하는 것은은 빠르고 용이하다. 게다가, 시간 그룹핑은 가장 많은 주석에서 이용되는 잉크 스트로크가 순차적으로 생성된다는 사실을 알 수 있다. 그러나, 스트로크가 순서데로 생성되지 않았을 경우 몇배가 될 수 있다. 예를 들면, 사용자가 되돌아가서 "i"에 점을 찍거나 "t"에 횡선을 그을 경우이다. 이러한 상황에서는, 공간적 배열이 그룹핑의 더 나은 기준이 될 수 있다.
디지털 잉크 주석은 본래 모호하며 부적절한 분류가 혼란스런 반응을 일으킬 수 있다. 예를 들면, 텍스트를 가리키는 가로 화살표가 밑줄로 잘못 분류된다면, 리플로우가 발생할 때 화살표는 복수의 선으로 갈라질 수 있다. 그러므로, 몇몇의 실시예에서 완전하게 자동화된 그룹핑 및 분류는 가능하지 않을 수 있다. 이들 실시예에서, 모든 그룹에 대한 신뢰 추정이 특정한 임계치 하에 있을때 사용자의 도움을 요청하는 것 같은, 혼성 접근이 사용될 수 있다.
도 8A는 문서에 디지털 잉크 스트로크를 생성함으로써 사용자가 디지털 문서에 주석을 붙이는 것을 도시한다. 이러한 경우, 단어 "how?"는 주석이 써클이됨으 로써 참조되는 여백 및 텍스트에 작성되었다. 도 8B는 수동적인 주석의 그룹핑 및 분류를 도시한다. 도 8C는 (주석이 그룹핑되고 분류되는 것이 자동적인지 혹은 수동적인지 여부와 관계 없이)디지털 잉크 주석 프로세스를 이용하여 문서 및 주석의 리플로우를 도시한다. 도 8C의 리플로우되는 문서의 주석이 문서에서 그 주석이 속한 곳에서 제거되거나 리플로우되거나 접촉되기 때문에 그 주석은 도 8A의 초기의 문서의 주석에 "동의"함을 유의한다.
도 9는 도 6에 도시된 디지털 잉크 주석 프로세스에 대한 논리 앵커링 프로세스의 동작을 도시하는 상세한 흐름도이다. 논리 앵커링은 문서 레이아웃이 변경되고 그것의 주석이 그 결과로 리플로우될 때, 그 주석의 초기의 의미 및 의도가 보존됨을 보장한다. 예를 들면, 주석이 밑줄로 분류되었으면, 주석은 여전히 밑줄친 텍스트의 범위 아래에 있어야 한다. 이는 주석이 앵커되는 텍스트 범위가 리플로우되는 경우에 의존하여 주석으로 구성된 잉크 스트로크의 분할 및 조인을 요구할 수 있다. 반면에, 주석이 화살표 커넥터로서 분류되었다면, 그 주석은 초기에 앞뒤로 가리켰던 것을 여전히 가리켜야 한다. 반면, 그렇지 않을 경우 화살표 커넥터는 리플로우 중에 늘어나고, 회전되고, 변형될 수 있다.
주석의 잉크 스트로크가 그룹핑되고 주석이 분류된 후에, 분류된 주석은 자신이 의도한 항목에 논리적으로 앵커되어야 한다. 다시 말하면, 문서의 레이아웃, 포멧 또는 항목이 변경되더라도, 주석의 의미 및 의도는 복원될 수 있도록 주석은 자신이 속한 문서 내의 영역 또는 위치로 엥커되어야 한다.
종이에 펜으로 작성한 주석은 종이의 문서에 특정한 위치에 첨부된다. 그러나, 디지털 문서의 물리적 위치는 그 디지털 문서가 리플로우될 때 그 의미를 상실한다. 대신에 주석은 (주석 근처에 있는 텍스트의 범위와 같은) 자신의 주변의 논리적 컨텍스트로 앵커되어야 한다. 이는 두가지 이유로 어려운 일이다. 첫째, 디지털 잉크 주석은 종종 자신이 앵커되어야하는 곳의 엄격한 지시를 제공하지 않는다. 예를 들면, 여백 안의 코멘트는 그 페이지의 바로 근처 또는 다른 면의 텍스트 범위에 속할 수 있다. 둘째, 문서는 초기에 주석을 달았을 때와 그 주석이 표시될 때 사이에 편집될 수 있다. 이는 주석의 앵커 컨텍스트의 복원을 더 어렵게 만든다.
로버스트 앵커링을 수행하는 한 방법은 문서 항목의 세부적이고 자동적인 분석을 이용하는 것이다. 이들 로버스트 앵커링 기법은 본 기술 분야에서 알려졌다. 예를 들면, 디지털 잉크 주석 프로세서와 함께 이용될 수 있는 한 로버스트 앵커링 기법은 A. J. Brush, D. Bargeron, A. Gupta 및 J. J. Cadiz가 저술하고 ACM Press 2001에 발표되어 Proceedings of CHI 2001, pp. 285-292에 기재된 논문, "Robust Annotation Positioning in Digital Documents"에서 볼 수 있다. 그러나, 자동화 기법은 여전히 오류를 산출하고, 디지털 잉크 주석 프로세스 주석의 앵커가 자신의 논리적 앵커로부터 복원될 수 없다는 것이 결정되면(예들 들면, 논리적 앵커가 설명한 앵커 컨텍스트가 문서에서 제거되었을 경우) 사용자로 하여금 명확하게 소정의 주석에 대한 앵커를 명시하도록 요청하는 규정 또한 포함한다.
도 9를 참조하면, 앵커링 방법은 주석이 달린 디지털 문서로부터 앵커 특징들을 추출함으로써 시작된다(박스 900). 다음에, 그룹의 분류 및 앵커 컨텍스트에 기초하고, 각각의 주석 유형에 대한 한 세트의 앵커링 규칙에 따라서 도 7의 그룹핑 및 분류 프로세서에의해 산출된 잉크 스트로크의 그룹 각각에 대하여 앵커 특징들이 선택된다(박스 910). 이들 주석 유형 당 규칙은 이하에 더 상세하게 논의된다. 최종적으로, 적절한 앵커 특징이 각각의 잉크 스트로크 그룹에 할당되어 완전히 리플로우될 수 있는 주석을 형성한다. 모든 주석이 문서에 앵커된 후에, 주석들은 문서 레이아웃이 변경되는 경우, 주석들은 문서 내에 자신이 속한 곳과 접속을 유지할 수 있고 그들의 가시적인 의미를 유지할 수 있도록 리플로우될 준비를 한다.
도 10은 도 6에 도시된 디지털 잉크 주석 프로세스에 대한 리플로우 분류 프로세스의 동작을 도시하는 상세한 흐름도이다. 초기의 문서가 변경되면, 리플로우 프로세스는 그들의 분류 및 그들의 논리 앵커에 기반하여 주석을 재처리하여 문서 내에 그들이 속한 곳과 접속을 유지한다. 예를 들면, 문장에 밑줄이 있고 그 문장이 상주하는 열은 더 얇게 만들어지면, 그 문장은 그것이 초기에 차지하였던 더 많은 라인으로 리플로우되어야 할 수 있다. 이러한 경우에서, 밑줄친 잉크 주석은 그것이 초기에 작성되었던 것보다 많은 선으로 나뉘고 나타내어야 한다. 다른예에서와 같이, 문단이 써클링되고 그것이 상주하는 열이 더 넓게 작성되면, 그 문단 주위의 써클 잉크 주석은 넓게 늘어나고 짧아진다.
리플로우 프로세스는 디지털 문서의 새로운 레이아웃을 결정함으로써 시작된다(박스 1000). 그 다음, 디지털 잉크 주석이 변환되어 새로운 레이아웃에 따르게 한다(박스 1010). 최종적으로, 새롭게 변환된 디지털 잉크 주석은 새로운 문서 레이아웃 상에서 다시 렌더링된다(박스 1020).
디지털 잉크 주석 프로세스는 자동적으로 "활성화된 판독" 유형의 디지털 잉크 주석의 6개의 최대 공통된 유형 또는 분류를 인식하며, 이 시스템은 확장가능하여 후에 (편집 마크와 같은) 더 많은 주석 유형을 인식할 수 있다. 자동적으로 인식되는 주석 유형은 밑줄 주석, 강조된 주석, 여백, 또는 "여백 코멘트" 주석, 써클 주석, 여백 괄호 주석, 콜아웃 또는 "커넥터" 주석을 포함한다. 이들 주석 분류 각각에 대한 주석 특징들, 컨텍스트, 및 앵커링 규칙이 이제 논의될 것이다.
상술한 원리를 도시하기 위하여, 디지털 잉크 주석 프로세스가 동작될 수 있는 방법의 예로서 도 12A-G가 제공된다. 도 12A-G에서, 열 "A"는 디지털 잉크 스트로크를 이용하여 디지털 문서의 사용자 주석을 나타낸다; 열 "B"는 새로운 문서 레이아웃에서 리플로우되는 주석을 나타낸다; 그리고 열 "C"는 클린-업 모듈에 의해 양식화되었던 "클린-업" 주석을 나타낸다.
밑줄 주석
도 11A를 참조하면, 밑줄 주석은 하나 이상의 대체적인 가로의 직선 잉크 스트로크로 구성된다. 디지털 문서의 컨텍스트에서, 밑줄 주석은 전형적으로는 텍스트 아래에서, 특별하게는 하나 이상의 단어에서 발견된다.
밑줄 주석 내의 각각의 잉크 스트로크 각각은 그것이 밑줄친 텍스트의 범위로 개별적으로 앵커된다. 텍스트의 범위 및 그 시퀀스 내의 단어들은 알려져있고, 그 정보는 텍스트의 범위가 문서 내에서 리플로될 때 및 경우에 잉크 스트로크가 리플로우되는 방법을 제어하는 데에 이용된다.
리플로 중에, 복수의 스트로크가 동일한 텍스트의 선에서 서로 인접하게 일어날 때, 그들은 함께 퓨징(fuse)될 것이다; 그리고 하나의 밑줄 스트로크가 하나 이상의 선과 겹치게 되면, 그것은 나뉘어지고 그 부분들은 적절하게 제거되어 초기에 밑줄쳤던 컨텍스트 하에 남을 것이다.
강조 주석
도 11B를 참조하면, 강조 주석의 유일한 특징은 굵은 강조 및 부분적으로 투명한 잉크로 구성된 잉크 스트로크를 제외하고는 주석은 취소선과 같다는 사실을 포함한다. 그렇지 않으면, 강조 주석은 밑줄과 유사하게 다루어진다: (밑줄 주석들의 경우처럼, 텍스트의 선 아래에 있는 것과는 반대로)강조 잉크 스트로크가 그들이 앵커되어야하는 텍스트 범위 위에 대략 직접적으로 있을 때를 제외하고는 컨텍스트가 주석에 밑줄을 긋는 유사한 방식으로 결정된다. 그리고 텍스트 범위에서 잉크 스트로크를 리플로우하고 그 잉크가 넓고 부분적으로 투명할 때를 제외하고 강조 주석의 리플로우 규칙은 또한 밑줄 주석과 유사하다.
여백 주석
도 11C를 참조하면, 여백 또는 여백 코멘트 주석은 디지털 문서의 여백 또는 공백 내에 있는 임의의 디지털 잉크 스트로크로 정의되지만, 커넥터는 그렇지 않다. 여백는 여백 또는 공백 내의 그림, ("!" 및 "*"와 같은) 심볼, 및 텍스트를 포함한다.
여백 주석을 앵커링하는 규칙은 그들과 가로로 인접한 문서의 임의의 영역으로 앵커되는 그들이것이다. 여백 주석의 방향 경계선(bounding box)의 상부에 대응하는, 상부 가로 선, 및 여백 주석의 방향 경계선의 하부에 대응하는, 하부 가로 선이 여백 주석이 위치한 임의의 장소로부터의 문서에서 투입된다. 상부와 하부 가로선 간의 문서 항목은 여백 주석의 앵커 컨텍스트로 간주된다.
문서의 레이아웃이 변경될 때, 여백 주석이 그들의 앵커 컨텍스트 다음에 세로 방향으로 가운데 남아있도록 여백 주석은 세로 방향으로 변형된다. 예를 들면, 초기의 디지털 문서의 여백 주석이 텍스트의 4줄로 앵커된다고 가정한다. 그 다음, 텍스트의 4줄이 텍스트의 8줄이 되도록 디지털 문서의 레이아웃이 수정된다고 가정한다. 이러한 경우에 앵커된 여백 주석이 세로 방향에서, 텍스트의 8줄에 근접한 가운데에 위치한다.
써클 주석
도 11D를 언급하면, 써클 주석은 두가지 유형으로 나뉜다: "인라인" 써클 및 "영역" 써클. 인라인 써클은 전형적으로 텍스트의 단일 선의 경계를 정하고, 영역 써클은 전형적으로 텍스트 또는 다른 문서 항목의 복수의 부분적인 선들의 경계를 정한다. 잉크 스트로크가 오목한 부분이 없는 형태로 형성되면, 잉크 스트로크의 그룹은 몇몇의 종류의 써클들로 인식될 수 있고, 써클 형태의 잉크 스트로크의 그룹은 그들의 근접한 앵커 컨텍스트에 의존하여 인라인 써클과 영역 써클로 분리될 수 있다. 예를 들면, 써클이 텍스트의 한줄을 둘러싼다면, 그 써클은 인라인 써클 라벨이 붙을 수 있다; 반면에 써클이 한줄 이상을 포함하는 텍스트를 둘러싸고 있다면, 그 써클은 영역 써클 라벨이 붙을 수 있다.
상기 2가지 타입의 원들은, 이 원들에 의해 둘러싸인 텍스트 및 기타 문서 내용에 앵커링된다.
리플로우 시에, 일렬 원 주석 타입은, 앵커 컨텍스트(예컨대, 원에 의해서 주위가 둘러싸인 텍스트 구역)가 2개 이상의 라인들에 걸치면서 분할될 때까지 유지될 수 있도록 가로로 움직여 변형되는 것이 통상적이다. 상기와 같은 상황이 발생되어 분할되면, 원래의 앵커 컨텍스트를 포함하는 텍스트 중 2 이상의 부분들이 각각 원으로 둘러싸이게 되어, 해당 원이 복사, 크기 조정, 및 변형된다. 도 11e를 참조하면, 영역 원 주석은 앵커 컨텍스트를 둘러싼 것을 유지할 수 있도록 크기 조정되고 변형되지만, 복사되지는 않는다.
여백 괄호 주석(Margin Bracket Annotations)
도 11f를 참조하면, 여백 괄호 주석은 여백(marginalia annotation)와 유사하다. 잉크 스트로크들의 그룹이 문서 내용의 "가까이"에서 문서 여백에 거의 세로인 라인들을 형성한다면, 이 잉크 스트로크들의 그룹은 여백 괄호 주석으로서 인식된다.
여백가 앵커링되는 방법과 마찬가지로, 여백 괄호 주석이 가로로 인접하여 있는 문서 중 어떤 부분에라도 앵커링된다. 최상 및 최하의 가로 라인들이 생성되고, 이 최상 및 최하의 가로 라인들 사이에 있는 문서 내용은 여백 괄호 주석의 앵커로서 간주된다.
여백와는 달리, 여백 괄호 주석이 앵커링된 텍스트 구역이 리플로우되는 경우에 여백 괄호 주석은 세로 방향으로 알맞게 변형 및 크기 조정되므로, 전체 앵커 컨텍스트를 괄호로 묶는 것을 유지하기 위해 그 괄호를 신장한 것으로 보이게 된다.
콜아웃 또는 연결선 주석(Callout or Connector Annotations)
도 11g를 참조하면, 콜아웃 또는 연결선 주석은 한 위치로부터 다른 위치로 향하게 함으로써 영역들을 연결하는 주석이다. 콜아웃 또는 연결선 주석을 포함하는 잉크 스트로크의 일 특성은, 이 잉크 스트로크가 직선이 아니며 몇몇 만곡부를 가질 수 있다는 점이다. 다른 특성으로는, 콜아웃 또는 연결선 주석은 가로 방향 및 세로 방향에서 비스듬하게 있다는 점이다. 또 다른 특성으로는, 콜아웃 또는 연결선 주석의 말단부들은 텍스트 또는 문서의 내용, 다른 주석들에 의한 디지털 잉크 스트로크, 혹은 상기 두 가지 모두에 인접한다는 점이다. 즉, 콜아웃 또는 연결선 주석은, 소정의 주석이 있는 텍스트나 내용, 혹은 그 외 다른 텍스트나 내용을 연결한다.
콜아웃 또는 연결선 주석의 앵커링 규칙은 콜아웃의 종점들을 앵커링하는 것에 기초한다. 각 종점마다, 해당 종점에 가장 인접하는 문서 내용이나 기타 임의의 형식의 디지털 잉크 주석이 해당 종점의 앵커 컨텍스트로 간주된다. 따라서, 콜아웃마다, 2개의 분리되고 구분된 앵커 컨텍스트들을 갖는다.
리플로우 시에, 콜아웃은 각 종점이 앵커 컨텍스트에 관하여 일정하게 유지될 수 있도록 변형, 회전, 및 크기 조정된다. 이는 도 11g에 도시된 바로부터 알 수 있다.
Ⅵ. 실제예
본 명세서에 개시된 디지털 잉크 주석 방법 및 시스템을 보다 완전히 이해할 수 있도록, 예시적인 실제예에 대한 상세한 설명을 제공한다. 본 실시예는 본 명세서에 개시된 디지털 잉크 주석 방법 및 시스템이 구현될 수 있는 일례일 뿐임을 이해하여야 한다.
하드웨어
본 실제예에 있어서, 디지털 잉크 주석 방법은 마이크로소프트 윈도우즈 XP 태블릿 PC판 오퍼레이팅 시스템을 실행하는 임의의 태블릿 PC 하드웨어에서 실행되도록 구현되었다. 이러한 종류의 컴퓨터들은 표시 화면에 통합된 펜 입력 디지타이저를 지원함으로써, 컴퓨터가 작성 펜의 표현 요소를 모사할 수 있게 한다. 사용자는 스타일러스를 이용하여 컴퓨터와 상호 작용한다. 스타일러스를 사용하면, 사용자는 커서를 제어하여 화면 상에 직접 작성할 수가 있다.
소프트웨어
본 실제예에 있어서, 여기서 개시되는 디지털 잉크 주석 방법 및 시스템은 마이크로소프트 인터넷 익스플로어(Internet Explorer : IE)의 플로그인으로서 구현되었다. ("칼리스토(Callisto)"라는 코드 명을 갖는) 본 플러그인은, 사용자로 하여금 디지털 잉크를 사용하여 임의의 웹 페이지의 임의의 부분을 마킹할 수 있게 하는 하이라이터 툴 및 펜을 이용한 IE 툴바를 지원한다. 잉크 스트로크는 사용자의 머신에 있는 로컬 캐쉬에 보유된다. 도 12는 디지털 문서 상에서 디지털 주석을 그리고 분류하는 것을 용이하게 하는 디지털 잉크 주석 방법 및 시스템의 툴바를 예시한다.
그룹핑, 분류, 및 앵커링
미처리의 디지털 잉크 스트로크를 디지털 주석으로 그룹핑 및 분류하기 위해, 칼리스토로 구현된 디지털 잉크 주석 방법 및 시스템은, 사용자로 하여금, 자 동 그룹핑 및 분류나, 수동 그룹핑 및 분류를 선택하게 한다. 자동 그룹핑 및 분류를 선택한 경우에, 칼리스토 소프트웨어는 사용자의 잉크 스트로크에 대한 그룹핑 및 분류에 관한 자동 결정을 행하여, 상술한 섹션 Ⅲ, Ⅳ, Ⅴ의 처리에 따라서 주석 앵커를 자동으로 결정한다.
수동 그룹핑 및 분류를 선택한 경우, 사용자는 우선, 선택 툴을 사용하여 자신이 그룹핑하기를 원하는 잉크 스트로크들을 선택한다. 다음으로, 사용자는 사전에 정해진 주석 타입들의 리스트로부터 분류를 선택한다. 도 9b를 다시 참조하면, 사용자는 사전에 정해진 주석들의 리스트로부터 주석 분류를 수동으로 선택한다. 이 주석 타입들의 리스트는 밑줄, 강조, (여백 주해 및 기호 등의) 여백, 원, 여백 표시줄, 및 연결선을 포함한다. 이러한 주석 타입들 중 하나를 선택하면, 선택된 스트로크들의 그룹을 문서의 컨텍스트에의 주석으로서 자동으로 앵커링한다. 이러한 앵커링은 섹션 Ⅴ에서 상술한 일련의 규칙들을 이용하여 수행된다.
디지털 주석의 리플로우(Reflowing Digital Annotations)
그룹핑, 분류, 및 앵커링 후, IE 문서 윈도우의 크기가 바뀔 때마다, 디지털 잉크 주석 방법 및 시스템은 현재 페이지에 있는 어떤 주석도 섹션 Ⅲ, Ⅳ, Ⅴ에서 상술한 처리에 의한 앵커 컨텍스트들 각각을 유지할 수 있도록 그 주석을 자동으로 리플로우한다.
클린-업된 디지털 주석(Cleaning-Up Digital Annotations)
사용자의 본래의 드로잉 스타일을 보존하기 위한 디지털 주석 리플로우 외에도, IE용의 칼리스토 플러그인에 구현된 디지털 잉크 주석 방법 및 시스템은 섹션 Ⅲ에서 상술한 처리에 의한 디지털 주석의 "클린-업(cleaned-up)된" 정식 버전도 작성할 수 있다. 본 실제예에서, 디지털 잉크 주석 방법 및 시스템은 다음과 같이 주석을 클린-업한다 : 즉, 디지털 잉크 주석 방법 및 시스템은 밑줄 주석을 일자형 선분으로서 처리하고, 강조 주석을 앵커 텍스트 상에 대한 투명한 가로 직사각형으로서 처리하고, 원을 모서리가 라운딩된 직사각형으로서 처리하고, 여백 표시줄을 앵커 컨텍스트의 높이에 맞춘 간단한 베지에(Bezier) 곡선으로서 처리하고, 연결선을 종점 앵커 컨텍스트들 사이에 놓인 직선으로서 처리한다. 여백 주해 및 기호는 통상적으로 너무나 많은 변수 및 개별 스타일을 포함하므로, 이들을 허용 가능한 정식 스타일로 변환하는 것은 매우 곤란하기 때문에, 파싱되지 않았으며, 사용자가 그린 그대로 남겨 놓았다.
Ⅶ. 예시적인 동작 환경
본 명세서에 개시된 디지털 잉크 주석 방법 및 시스템은 컴퓨팅 환경에서 동작하도록 설계되었다. 이하의 논의는 이러한 디지털 잉크 주석 방법 및 시스템이 구현될 수 있는 적절한 컴퓨팅 환경의 간략하고 개괄적인 설명을 제공하도록 의도되었다.
도 13은 디지털 잉크 주석 방법 및 시스템이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(1300)의 일례를 도시한다. 본 컴퓨팅 시스템 환경(1300)은 단지 적절한 컴퓨팅 환경의 일례일 뿐이고, 본 발명의 사용이나 기능의 범위에 어떤 제한을 가하도록 의도된 것이 아니다. 컴퓨팅 환경(1300)은 예시적인 동작 환경(1300)에 도시된 컴포넌트들 중 임의의 하나 또는 조합에 관하여 어떤 종속성(dependency)이 나 요구사항(requirement)을 갖는 것으로 해석되어서는 안된다.
디지털 잉크 주석 방법 및 시스템은 많은 다른 범용 또는 전용 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작된다. 디지털 잉크 주석 방법 및 시스템과 함께 사용하기에 적절할 수 있는 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 셀룰러 전화 및 PDA 등의 핸드헬드(hand-held), 랩탑, 혹은 휴대용 컴퓨터나 통신 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑박스(set top box), 프로그램 가능 가전 제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템들 또는 장치들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함될 수 있지만, 이에 한정되지 않는다.
디지털 잉크 주석 방법 및 시스템은 컴퓨터에 의해 실행되는, 프로그램 모듈 등의 컴퓨터 실행 가능 명령어에 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 소정의 태스크를 수행하거나 소정의 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 디지털 잉크 주석 방법 및 시스템은 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 컴퓨터 저장 매체와 원격 컴퓨터 저장 매체 모두에 배치될 수 있다. 도 13을 참조하면, 디지털 잉크 주석 방법 및 시스템을 구현하기 위한 예시적인 시스템은 컴퓨터(1310)의 형태의 범용 컴퓨팅 장치를 포함한다 (컴퓨터(1310)는 도 1에 도시된 컴퓨팅 장치(140)의 일례이다).
컴퓨터(1310)의 컴포넌트들로는, 프로세싱 유닛(1320), 시스템 메모리(1330), 및 시스템 메모리를 포함한 각종 시스템 컴포넌트들을 프로세싱 유닛(1320)에 접속시키는 시스템 버스(1321)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(1321)는, 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스(peripheral bus), 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 수 가지 타입의 버스 구조 중 임의의 것일 수 있다. 예로서, 이러한 아키텍처로는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Associate) 로컬 버스, 및 (메자닌(Mezzanine) 버스로도 알려진) PCI(Peripheral Component Interconnect) 버스가 포함되지만, 이에 한정되는 것은 아니다.
컴퓨터(1310)는 통상적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(1310)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 모두 포함한다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
컴퓨터 저장 매체로는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(1310)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체가 포함될 수 있지만, 이에 한정되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메커니즘 등의 변조된 데이터 신호에 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다.
"변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정 또는 변환된 특성을 하나 이상 갖는 신호를 의미한다는 것을 유의한다. 예를 들어, 통신 매체로는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선, 및 기타 무선 매체 등의 무선 매체가 포함되지만, 이에 한정되지 않는다. 또한, 상술한 것들 중 임의의 조합이 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(1330)는 ROM(1331) 및 RAM(1332) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동(start-up)과 같은 때에 컴퓨터(1310) 내의 구성 요소들 간의 정보 전송을 돕는 기본 루틴을 포함하는 BIOS(basic input/output system)(1333)는 일반적으로 ROM(1331)에 저장된다. RAM(1332)은 일반적으로 프로세싱 유닛(1320)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(1320)에 의해 현재 작동되고 있는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, 도 13은 오퍼레이팅 시스템(1334), 애플리케이션 프로그램(1335), 기타 프로그램 모듈(1336), 및 프로그램 데이터(1337)를 도시하지만, 이에 한정되지 않는다.
또한, 컴퓨터(1310)는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 13에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(1341), 분리형 비휘발성 자기 디스크(1352)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(1351), 및 CD-ROM이나 기타 광학 매체 등의 분리형 비휘발성 광 디스크(1356)로부터 판독하거나 그 광 디스크에 기록하는 광 디스크 드라이브(1355)가 도시되어 있다.
예시적인 동작 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등이 포함되지만, 이에 한정되지 않는다. 하드 디스크 드라이브(1341)는 일반적으로 인터페이스(1340)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(1321)에 접속되고, 자기 디스크 드라이브(1351) 및 광 디스크 드라이브(1355)는 일반적으로 인터페이스(1350)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(1321)에 접속된다.
앞서 기술되고 도 13에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(1310)를 위한 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터의 저장을 제공한다. 도 13에서, 예를 들어, 하드 디스크 드라이브(1341)는 오퍼레이팅 시스템(1344), 애플리케이션 프로그램(1345), 기타 프로그램 모듈(1346), 및 프로그램 데이터(1347)를 저장하는 것으로 도시되어 있다. 이러한 컴포넌트들은 오퍼레이팅 시스템(1334), 애플리케이션 프로그램(1335), 기타 프로그램 모듈(1336), 및 프로그램 데이터(1337)와 동일할 수도 있고 다를 수도 있음을 유의한다. 오퍼레이팅 시스템(1344), 애플리케이션 프로그램(1345), 기타 프로그램 모듈(1346), 및 프로그램 데이터(1347)는 최소한 이들이 다른 복사본(different copies)임을 나타내기 위하여 다른 참조 번호가 부여된 것이다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리우는 포인팅 장치(1361) 및 키보드(1362)와 같은 입력 장치를 통해 컴퓨터(1310)에 커맨드 및 정보를 입력할 수 있다.
(도시되지 않은) 다른 입력 장치로는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등이 포함될 수 있다. 상기 및 그 외의 입력 장치들은 시스템 버스(1321)에 연결된 사용자 입력 인터페이스(1360)를 통해 프로세싱 유닛(1320)에 접속되곤 하지만, 병렬 포트, 게임 포트, USB(universal serial bus)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(1391) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(1390) 등의 인터페이스를 통해 시스템 버스(1321)에 접속된다. 모니터 외에도, 컴퓨터는 출력 주변 인터페이스(1395)를 통해 접속될 수 있는 스피커(1397), 프린터(1396) 등의 기타 주변 출력 장치를 포함할 수도 있다.
컴퓨터(1310)는 원격 컴퓨터(1380)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속(logical connection)을 이용한 네트워크 환경에서 동작할 수 있다. 원 격 컴퓨터(1380)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 일반적인 네트워크 노드일 수 있으며, 비록 도 13에는 메모리 저장 장치(1381)만이 도시되어 있지만, 일반적으로는 컴퓨터(1310)에 관하여 상술한 구성 요소 중 다수 또는 전부를 포함할 수 있다. 도 13에 도시된 논리적 접속은 LAN(1371)과 WAN(1373)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(1310)는 네트워크 인터페이스 또는 어댑터(1370)를 통해 LAN(1371)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(1310)는 일반적으로 인터넷 등의 WAN(1373)을 통해 통신을 구축하기 위한 모뎀(1372) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(1372)은 사용자 입력 인터페이스(1360) 또는 기타 적절한 메커니즘을 통해 시스템 버스(1321)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(1310)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 13은 원격 애플리케이션 프로그램(1385)이 메모리 장치(1381)에 상주하는 것으로 도시하고 있지만, 이에 한정되지 않는다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 구축하는 그 외의 수단이 사용될 수도 있음을 알 것이다.
본 발명에 대한 상기 기재 내용은 예시 및 설명을 목적으로 하여 제공된 것이다. 본 발명을 완전히 규명한다거나 본 발명이 개시된 특정 예에 한정되는 것으 로 의도한 것이 아니다. 상술한 원리의 관점에서 여러 가지 변경 및 변형이 가능하다. 본 발명의 범위는 본 발명의 상세한 설명에 의해서가 아니라 이하의 특허청구범위에 의해서 정해지는 것임을 이해하여야 한다.
본 발명에 따르면, 디지털 문서에 행해지는 자유 형식의 디지털 잉크 주석을, 디지털 문서의 레이아웃이 변경될 경우(이는, 디지털 문서가 서로 다른 디스플레이 상에서 편집 또는 디스플레이되기 때문임), 이에 따라 주석의 레이아웃도 개작되도록 처리하기 위한 프로세스 및 시스템을 제공할 수 있다.

Claims (40)

  1. 제1 레이아웃을 갖는 본래 디지털 문서로부터의 디지털 잉크 스트로크(digital ink stroke)를 상기 제1 레이아웃과는 다른 제2 레이아웃을 갖는 수정된 디지털 문서에 리플로우(reflow)하기 위한 방법(process)으로서,
    상기 디지털 잉크 스트로크를 그룹핑하여 디지털 잉크 주석(annotation)을 규정하는 단계;
    상기 본래 디지털 문서 내의 주석 특징들 및 컨텍스트 정보에 기초하여 상기 디지털 잉크 주석을 분류하여 주석 분류를 생성하는 단계;
    그룹 내의 스트로크들이 상기 주석 분류를 형성하는 것이 얼마나 가능한지에 기초하여 제1 가능성을 할당하는 단계;
    상기 그룹에 대한 앵커 컨텍스트를 식별하고, 상기 앵커 컨텍스트가 올바를 제2 가능성을 할당하는 단계;
    상기 제1 가능성과 상기 제2 가능성을 조합하고, 조합된 값을 동적 프로그래밍 부문제 해결 테이블(dynamic programming subproblem solution table) 내에 넣는 단계;
    상기 디지털 잉크 주석과 관련된 상기 본래 디지털 문서 내의 영역에 상기 디지털 잉크 주석을 앵커링(anchoring)하는 단계;
    상기 수정된 디지털 문서의 상기 제2 레이아웃을 결정하는 단계;
    상기 디지털 잉크 주석을 상기 제2 레이아웃에 따르도록 처리하는 단계; 및
    상기 디지털 잉크 주석이 상기 제2 레이아웃에 따르고 상기 본래 디지털 문서에서 존재하였던 것과 동일한 의미 및 의도를 상기 수정된 디지털 문서에서 유지하도록, 상기 수정된 디지털 문서에 상기 디지털 잉크 주석을 렌더링하는 단계를 포함하는 디지털 잉크 스트로크 리플로우 방법.
  2. 제1항에 있어서,
    상기 디지털 잉크 주석을 밑줄 주석(underline annotation)으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  3. 제2항에 있어서,
    상기 밑줄 주석을 밑줄이 그어진 영역의 문자들(characters)에 앵커링하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  4. 제1항에 있어서,
    상기 디지털 잉크 주석을 강조 주석(highlight annotation)으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  5. 제1항에 있어서,
    상기 디지털 잉크 주석을 여백(marginalia) 주석으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  6. 제5항에 있어서,
    상기 여백 주석은 상기 디지털 문서의 여백 또는 백색 공간(white space)에 있는 임의의 디지털 잉크 주석 스트로크(stroke)로서 규정되는 디지털 잉크 스트로크 리플로우 방법.
  7. 제1항에 있어서,
    상기 디지털 잉크 주석을 써클 주석(circle annotation)으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  8. 제7항에 있어서,
    상기 써클 주석은 (a) 인라인 써클(inline circle) 및 (b) 영역 써클(region circle) 중 적어도 하나인 디지털 잉크 스트로크 리플로우 방법.
  9. 제8항에 있어서,
    상기 인라인 써클은 단일 라인의 텍스트를 둘러싸는(circumscribes) 디지털 잉크 스트로크 리플로우 방법.
  10. 제8항에 있어서,
    상기 영역 써클은 다수의 일부 라인의 텍스트 및 기타 디지털 문서 콘텐츠를 둘러싸는 디지털 잉크 스트로크 리플로우 방법.
  11. 제1항에 있어서,
    상기 디지털 잉크 주석을 여백 괄호 주석(margin bracket annotation)으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  12. 제11항에 있어서,
    상기 여백 괄호 주석은 상기 디지털 문서의 수직 라인 여백을 형성하는 잉크 스트로크 그룹으로서 규정되는 디지털 잉크 스트로크 리플로우 방법.
  13. 제1항에 있어서, 상기 디지털 잉크 주석을 콜아웃 주석(callout annotation)으로서 분류하는 단계를 더 포함하는 디지털 잉크 스트로크 리플로우 방법.
  14. 제13항에 있어서,
    상기 콜아웃 주석은 일 위치에서 다른 위치로 진행(go)하는 것에 의해 상기 디지털 문서의 링크 영역들을 그룹핑하는 주석으로서 규정되는 디지털 잉크 스트로크 리플로우 방법.
  15. 제13항에 있어서,
    상기 콜아웃 주석은 일부 만곡(curvature)을 드러내는 디지털 잉크 스트로크 리플로우 방법.
  16. 제13항에 있어서,
    상기 콜아웃 주석은 상기 디지털 문서에서 수평 방향 및 수직 방향으로 각도를 이루는 디지털 잉크 스트로크 리플로우 방법.
  17. 제13항에 있어서,
    상기 콜아웃 주석의 단부는 상기 디지털 문서의 텍스트; 상기 디지털 문서의 콘텐츠; 및 기타 주석들로부터의 디지털 잉크 스트로크 중 적어도 하나에 인접하는 디지털 잉크 스트로크 리플로우 방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020040043697A 2003-06-13 2004-06-14 디지털 잉크 스트로크 제공 방법 KR101087443B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/460,999 2003-06-13
US10/460,999 US7218783B2 (en) 2003-06-13 2003-06-13 Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations

Publications (2)

Publication Number Publication Date
KR20040107446A KR20040107446A (ko) 2004-12-20
KR101087443B1 true KR101087443B1 (ko) 2011-11-25

Family

ID=33299747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040043697A KR101087443B1 (ko) 2003-06-13 2004-06-14 디지털 잉크 스트로크 제공 방법

Country Status (10)

Country Link
US (2) US7218783B2 (ko)
EP (1) EP1486883B1 (ko)
JP (1) JP2005004774A (ko)
KR (1) KR101087443B1 (ko)
CN (1) CN1609846B (ko)
AU (1) AU2004202589B2 (ko)
BR (1) BRPI0403881B1 (ko)
CA (1) CA2470725C (ko)
MX (1) MXPA04005725A (ko)
RU (1) RU2357284C2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010510A (ko) * 2013-05-20 2016-01-27 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 텍스트 표현 변환을 위한 잉크

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079713B2 (en) 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7751623B1 (en) 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US20040196306A1 (en) * 2003-04-04 2004-10-07 Microsoft Corporation Method and system for flagging digital ink note content
GB0321166D0 (en) * 2003-09-10 2003-10-08 Hewlett Packard Development Co Printing digital documents
GB0321167D0 (en) * 2003-09-10 2003-10-08 Hewlett Packard Development Co Printing digital documents
US20050089237A1 (en) * 2003-10-24 2005-04-28 Jaehwa Park Method and apparatus for bezier curve approximation data compression
US7154511B2 (en) * 2003-10-24 2006-12-26 Microsoft Corporation Fast rendering of ink
US7689578B2 (en) * 2004-01-15 2010-03-30 International Business Machines Corporation Dealing with annotation versioning through multiple versioning policies and management thereof
US7475061B2 (en) * 2004-01-15 2009-01-06 Microsoft Corporation Image-based document indexing and retrieval
US7343552B2 (en) * 2004-02-12 2008-03-11 Fuji Xerox Co., Ltd. Systems and methods for freeform annotations
US7721226B2 (en) 2004-02-18 2010-05-18 Microsoft Corporation Glom widget
US7659890B2 (en) 2004-03-19 2010-02-09 Microsoft Corporation Automatic height adjustment for electronic highlighter pens and mousing devices
US7284192B2 (en) * 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
US20060031755A1 (en) * 2004-06-24 2006-02-09 Avaya Technology Corp. Sharing inking during multi-modal communication
US8296647B1 (en) * 2004-08-06 2012-10-23 Adobe Systems Incorporated Reviewing and editing word processing documents
US7966556B1 (en) 2004-08-06 2011-06-21 Adobe Systems Incorporated Reviewing and editing word processing documents
US8418051B1 (en) 2004-08-06 2013-04-09 Adobe Systems Incorporated Reviewing and editing word processing documents
US7729538B2 (en) 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7791593B2 (en) 2005-03-18 2010-09-07 The Invention Science Fund I, Llc Machine-differentiatable identifiers having a commonly accepted meaning
US8823636B2 (en) 2005-03-18 2014-09-02 The Invention Science Fund I, Llc Including environmental information in a manual expression
US7873243B2 (en) 2005-03-18 2011-01-18 The Invention Science Fund I, Llc Decoding digital information included in a hand-formed expression
US8340476B2 (en) 2005-03-18 2012-12-25 The Invention Science Fund I, Llc Electronic acquisition of a hand formed expression and a context of the expression
US8787706B2 (en) 2005-03-18 2014-07-22 The Invention Science Fund I, Llc Acquisition of a user expression and an environment of the expression
US20060212430A1 (en) * 2005-03-18 2006-09-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Outputting a saved hand-formed expression
US20060212509A1 (en) * 2005-03-21 2006-09-21 International Business Machines Corporation Profile driven method for enabling annotation of World Wide Web resources
JP2006277167A (ja) * 2005-03-29 2006-10-12 Fuji Xerox Co Ltd アノテーションデータ処理プログラム、装置、方法
US7570816B2 (en) * 2005-03-31 2009-08-04 Microsoft Corporation Systems and methods for detecting text
US7734631B2 (en) * 2005-04-25 2010-06-08 Microsoft Corporation Associating information with an electronic document
JP4591229B2 (ja) * 2005-06-23 2010-12-01 富士ゼロックス株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4591230B2 (ja) * 2005-06-23 2010-12-01 富士ゼロックス株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
US7526129B2 (en) * 2005-06-23 2009-04-28 Microsoft Corporation Lifting ink annotations from paper
US8015482B2 (en) * 2005-09-14 2011-09-06 Microsoft Corporation Dynamic anchoring of annotations to editable content
US20070067707A1 (en) * 2005-09-16 2007-03-22 Microsoft Corporation Synchronous digital annotations of media data stream
US7526737B2 (en) * 2005-11-14 2009-04-28 Microsoft Corporation Free form wiper
US7913162B2 (en) * 2005-12-20 2011-03-22 Pitney Bowes Inc. System and method for collaborative annotation using a digital pen
US7836390B2 (en) * 2006-01-26 2010-11-16 Microsoft Corporation Strategies for processing annotations
US7646940B2 (en) * 2006-04-04 2010-01-12 Microsoft Corporation Robust indexing and retrieval of electronic ink
US8239754B1 (en) * 2006-04-07 2012-08-07 Adobe Systems Incorporated System and method for annotating data through a document metaphor
CA2652986A1 (en) * 2006-05-19 2007-11-29 Sciencemedia Inc. Interactive learning and assessment platform
CN1858786B (zh) * 2006-06-09 2011-07-27 宋丽娟 一种电子文档格式化批注系统与方法
US7958444B2 (en) * 2006-06-15 2011-06-07 Xerox Corporation Visualizing document annotations in the context of the source document
US20080065619A1 (en) * 2006-09-07 2008-03-13 Bhogal Kulvir S Method, system, and program product for sharing collaborative data among a plurality of authors
JP4151724B2 (ja) * 2006-10-04 2008-09-17 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
US20080195931A1 (en) * 2006-10-27 2008-08-14 Microsoft Corporation Parsing of ink annotations
US8330773B2 (en) 2006-11-21 2012-12-11 Microsoft Corporation Mobile data and handwriting screen capture and forwarding
US8654973B2 (en) * 2006-11-22 2014-02-18 International Business Machines Corporation Method, system, and program product for encrypting portions of a document using selective annotation
JP5031344B2 (ja) * 2006-12-06 2012-09-19 キヤノン株式会社 情報処理装置、情報処理方法
JP2008217590A (ja) * 2007-03-06 2008-09-18 Fuji Xerox Co Ltd 情報共有支援システム、情報処理装置及び制御プログラム
US20080229186A1 (en) * 2007-03-14 2008-09-18 Microsoft Corporation Persisting digital ink annotations as image metadata
US8347206B2 (en) 2007-03-15 2013-01-01 Microsoft Corporation Interactive image tagging
US8719718B2 (en) * 2007-05-09 2014-05-06 Erik M. Erikson Digital paper-enabled products and methods relating to same
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8094939B2 (en) 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US8041120B2 (en) * 2007-06-26 2011-10-18 Microsoft Corporation Unified digital ink recognition
US8020119B2 (en) * 2007-12-14 2011-09-13 Microsoft Corporation Engine support for parsing correction user interfaces
US8566752B2 (en) 2007-12-21 2013-10-22 Ricoh Co., Ltd. Persistent selection marks
US20100031135A1 (en) * 2008-08-01 2010-02-04 Oracle International Corporation Annotation management in enterprise applications
JP5051080B2 (ja) * 2008-09-25 2012-10-17 富士通株式会社 情報表示装置、情報表示方法、及びプログラム
US9195739B2 (en) 2009-02-20 2015-11-24 Microsoft Technology Licensing, Llc Identifying a discussion topic based on user interest information
JP5357612B2 (ja) * 2009-04-13 2013-12-04 株式会社日立ソリューションズ 下線除去装置
US20100313121A1 (en) * 2009-06-03 2010-12-09 Arianne Therese Hinds Automated identification of a customer's document by customer support
JP5326851B2 (ja) * 2009-06-18 2013-10-30 富士通株式会社 修飾線配置プログラム、修飾線配置装置及び修飾線配置方法
JP5143148B2 (ja) * 2010-01-18 2013-02-13 シャープ株式会社 情報処理装置及び通信会議システム
CN101859293B (zh) * 2010-03-05 2013-08-28 鸿富锦精密工业(深圳)有限公司 电子阅读器及其编辑文档的存储方法
JP5676942B2 (ja) * 2010-07-06 2015-02-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US20120096345A1 (en) * 2010-10-19 2012-04-19 Google Inc. Resizing of gesture-created markings for different display sizes
JP5699623B2 (ja) * 2011-01-20 2015-04-15 村田機械株式会社 画像処理装置、画像処理システム、画像処理方法、および、プログラム
US8543905B2 (en) * 2011-03-14 2013-09-24 Apple Inc. Device, method, and graphical user interface for automatically generating supplemental content
WO2011157135A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 配置文件的注释生成方法及配置文件生成设备
US8792141B2 (en) * 2011-06-09 2014-07-29 Xerox Corporation Embedded form extraction definition to enable automatic workflow configuration
CN102841885B (zh) * 2011-06-21 2016-02-17 北大方正集团有限公司 建立对象锚定关系的方法和装置
US9483454B2 (en) * 2011-10-07 2016-11-01 D2L Corporation Systems and methods for context specific annotation of electronic files
RU2480831C1 (ru) * 2011-11-24 2013-04-27 Общество с ограниченной ответственностью "КБК Групп" Способ выборки изображений из базы изображений
JP5418576B2 (ja) * 2011-11-28 2014-02-19 コニカミノルタ株式会社 情報閲覧装置及び表示制御プログラム
EP2807608B1 (en) 2012-01-23 2024-04-10 Microsoft Technology Licensing, LLC Borderless table detection engine
US8942489B2 (en) * 2012-01-23 2015-01-27 Microsoft Corporation Vector graphics classification engine
US9064237B2 (en) * 2012-01-23 2015-06-23 Microsoft Technology Licensing, Llc Collaborative communication in a web application
US20140006919A1 (en) * 2012-06-29 2014-01-02 3S International, Llc. Method and apparatus for annotation content conversions
US20120290907A1 (en) * 2012-07-19 2012-11-15 Jigsaw Informatics, Inc. Method and system for associating synchronized media by creating a datapod
WO2014015080A2 (en) * 2012-07-19 2014-01-23 Jigsaw Informatics, Inc. Method and system for associating synchronized media by creating a datapod
CN103577240B (zh) * 2012-07-25 2018-12-11 腾讯科技(深圳)有限公司 系统自动清理方法、装置及存储介质
US9953008B2 (en) 2013-01-18 2018-04-24 Microsoft Technology Licensing, Llc Grouping fixed format document elements to preserve graphical data semantics after reflow by manipulating a bounding box vertically and horizontally
JP2014186691A (ja) * 2013-03-25 2014-10-02 Toshiba Corp 情報表示装置
US9727535B2 (en) 2013-06-11 2017-08-08 Microsoft Technology Licensing, Llc Authoring presentations with ink
JP2015049592A (ja) * 2013-08-30 2015-03-16 株式会社東芝 電子機器および方法
KR20150085282A (ko) * 2014-01-15 2015-07-23 김민규 전자 문서의 첨삭을 위한 단말의 동작 방법
EP3100208B1 (en) * 2014-01-31 2021-08-18 3M Innovative Properties Company Note capture and recognition with manual assist
US20150220504A1 (en) * 2014-02-04 2015-08-06 Adobe Systems Incorporated Visual Annotations for Objects
JP2015146550A (ja) * 2014-02-04 2015-08-13 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9430141B1 (en) * 2014-07-01 2016-08-30 Amazon Technologies, Inc. Adaptive annotations
US20160048318A1 (en) * 2014-08-15 2016-02-18 Microsoft Technology Licensing, Llc Detecting selection of digital ink
US20160070686A1 (en) * 2014-09-05 2016-03-10 Microsoft Corporation Collecting annotations for a document by augmenting the document
US20160070688A1 (en) * 2014-09-05 2016-03-10 Microsoft Corporation Displaying annotations of a document by augmenting the document
US10509853B2 (en) 2014-09-05 2019-12-17 Microsoft Technology Licensing, Llc Creating an annotation pane for a document by augmenting the document
KR20160055552A (ko) * 2014-11-10 2016-05-18 삼성전자주식회사 메모 표시 방법 및 이를 위한 디바이스
US20160203114A1 (en) * 2015-01-09 2016-07-14 Microsoft Technology Licensing, Llc Control of Access and Management of Browser Annotations
CN105988568B (zh) * 2015-02-12 2020-07-24 北京三星通信技术研究有限公司 获取笔记信息的方法和装置
US11550993B2 (en) 2015-03-08 2023-01-10 Microsoft Technology Licensing, Llc Ink experience for images
CN105095432B (zh) * 2015-07-22 2019-04-16 腾讯科技(北京)有限公司 网页批注显示方法及装置
US10643067B2 (en) * 2015-10-19 2020-05-05 Myscript System and method of handwriting recognition in diagrams
US9996514B2 (en) * 2015-10-31 2018-06-12 Airwatch Llc Decoupling and relocating bookmarks and annotations from files
US9904447B2 (en) 2016-01-08 2018-02-27 Microsoft Technology Licensing, Llc Universal inking support
CN107368465B (zh) * 2016-05-13 2020-03-03 北京京东尚科信息技术有限公司 一种用于流式文档的截图类笔记处理的系统及方法
US9922017B2 (en) 2016-05-19 2018-03-20 International Business Machines Corporation Misaligned annotation processing
US10860788B2 (en) 2016-09-23 2020-12-08 Apple Inc. Device, method, and graphical user interface for annotating text
US10817169B2 (en) 2016-10-14 2020-10-27 Microsoft Technology Licensing, Llc Time-correlated ink
US10664695B2 (en) 2016-10-26 2020-05-26 Myscript System and method for managing digital ink typesetting
US10318846B2 (en) 2016-12-28 2019-06-11 Ancestry.Com Operations Inc. Clustering historical images using a convolutional neural net and labeled data bootstrapping
US20180329597A1 (en) * 2017-05-15 2018-11-15 Microsoft Technology Licensing, Llc Ink Anchoring
US20180350121A1 (en) * 2017-06-06 2018-12-06 Polycom, Inc. Global annotations across contents
US10318109B2 (en) 2017-06-09 2019-06-11 Microsoft Technology Licensing, Llc Emoji suggester and adapted user interface
US10417310B2 (en) * 2017-06-09 2019-09-17 Microsoft Technology Licensing, Llc Content inker
CN108255386B (zh) * 2018-02-12 2019-07-05 掌阅科技股份有限公司 电子书手写笔记的显示方法、计算设备及计算机存储介质
CN108304361B (zh) * 2018-02-12 2019-09-24 掌阅科技股份有限公司 电子书手写笔记的显示方法、计算设备及计算机存储介质
US10867124B2 (en) * 2018-03-26 2020-12-15 Apple Inc. Manual annotations using clustering, anchoring, and transformation
US11023661B2 (en) 2018-05-03 2021-06-01 Microsoft Technology Licensing, Llc Visually enhanced digital ink
JP6973295B2 (ja) * 2018-05-28 2021-11-24 京セラドキュメントソリューションズ株式会社 画像処理装置及び画像処理方法
CN111046638B (zh) * 2018-10-12 2022-06-28 北京金山办公软件股份有限公司 一种墨迹清除的方法、装置、电子设备及存储介质
EP3736677A1 (en) 2019-05-10 2020-11-11 MyScript A method and corresponding device for selecting and editing handwriting input elements
EP3754537B1 (en) 2019-06-20 2024-05-22 MyScript Processing text handwriting input in a free handwriting mode
EP3772015B1 (en) 2019-07-31 2023-11-08 MyScript Text line extraction
EP3796145B1 (en) 2019-09-19 2024-07-03 MyScript A method and correspond device for selecting graphical objects
US11256913B2 (en) * 2019-10-10 2022-02-22 Adobe Inc. Asides detection in documents
CN112183019B (zh) * 2020-09-28 2021-10-22 掌阅科技股份有限公司 电子书手写笔记的显示方法、计算设备及计算机存储介质
US11443103B2 (en) * 2020-10-07 2022-09-13 Rakuten Kobo Inc. Reflowable content with annotations
US11514695B2 (en) * 2020-12-10 2022-11-29 Microsoft Technology Licensing, Llc Parsing an ink document using object-level and stroke-level processing
CN114546208A (zh) * 2022-02-28 2022-05-27 掌阅科技股份有限公司 电子书的标记线绘制方法、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082937A (ja) 2000-06-21 2002-03-22 Microsoft Corp インクの分類、係留、および変換
JP2003132050A (ja) 2001-08-31 2003-05-09 Fuji Xerox Co Ltd 注釈付きアンカーの検出システム、注釈付きアンカーの検出および方法、および注釈付きアンカーの検出装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0633539B1 (en) * 1993-06-30 2001-02-21 Canon Kabushiki Kaisha Document processing method and apparatus
US5454046A (en) * 1993-09-17 1995-09-26 Penkey Corporation Universal symbolic handwriting recognition system
US5832474A (en) * 1996-02-26 1998-11-03 Matsushita Electric Industrial Co., Ltd. Document search and retrieval system with partial match searching of user-drawn annotations
CN1156741C (zh) * 1998-04-16 2004-07-07 国际商业机器公司 手写汉字识别方法及装置
EP0965907A3 (en) * 1998-06-15 2000-12-20 Xerox Corporation A method and system for creating ad-hoc links from handwritten annotations
US6687876B1 (en) * 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
CN1145872C (zh) * 1999-01-13 2004-04-14 国际商业机器公司 手写汉字自动分割和识别方法以及使用该方法的系统
US6333994B1 (en) * 1999-03-31 2001-12-25 International Business Machines Corporation Spatial sorting and formatting for handwriting recognition
JP3974359B2 (ja) * 2000-10-31 2007-09-12 株式会社東芝 オンライン文字認識装置及び方法並びにコンピュータ読み取り可能な記憶媒体及びオンライン文字認識プログラム
US7298903B2 (en) * 2001-06-28 2007-11-20 Microsoft Corporation Method and system for separating text and drawings in digital ink
CN100388628C (zh) * 2001-08-30 2008-05-14 美国在线服务公司 基于偏旁的自适应笔划顺序方法和系统
US7062498B2 (en) * 2001-11-02 2006-06-13 Thomson Legal Regulatory Global Ag Systems, methods, and software for classifying text from judicial opinions and other documents
US7010165B2 (en) * 2002-05-10 2006-03-07 Microsoft Corporation Preprocessing of multi-line rotated electronic ink
AU2003900865A0 (en) * 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods, systems and apparatus (NPW010)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082937A (ja) 2000-06-21 2002-03-22 Microsoft Corp インクの分類、係留、および変換
JP2003132050A (ja) 2001-08-31 2003-05-09 Fuji Xerox Co Ltd 注釈付きアンカーの検出システム、注釈付きアンカーの検出および方法、および注釈付きアンカーの検出装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHI2003 Proceedings Volume No.5 Issued No.1*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010510A (ko) * 2013-05-20 2016-01-27 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 텍스트 표현 변환을 위한 잉크
KR102257248B1 (ko) * 2013-05-20 2021-05-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 텍스트 표현 변환을 위한 잉크

Also Published As

Publication number Publication date
EP1486883A3 (en) 2007-12-26
RU2357284C2 (ru) 2009-05-27
AU2004202589B2 (en) 2009-11-19
EP1486883B1 (en) 2017-07-26
CN1609846A (zh) 2005-04-27
US7218783B2 (en) 2007-05-15
EP1486883A2 (en) 2004-12-15
CA2470725C (en) 2012-12-18
BRPI0403881A (pt) 2005-06-07
RU2004117798A (ru) 2006-01-10
US8250463B2 (en) 2012-08-21
MXPA04005725A (es) 2005-06-03
KR20040107446A (ko) 2004-12-20
CA2470725A1 (en) 2004-12-13
CN1609846B (zh) 2011-04-13
AU2004202589A1 (en) 2005-01-06
BRPI0403881B1 (pt) 2019-09-03
US20070214407A1 (en) 2007-09-13
JP2005004774A (ja) 2005-01-06
US20040252888A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
KR101087443B1 (ko) 디지털 잉크 스트로크 제공 방법
JP7046806B2 (ja) ジェスチャを用いたノートテイキングのための装置および方法
JP4745758B2 (ja) テキストおよびグラフィクスの空間認識およびグループ化
JP5036152B2 (ja) フリーフォームデジタルインク注釈認識
US6336124B1 (en) Conversion data representing a document to other formats for manipulation and display
US7062090B2 (en) Writing guide for a free-form document editor
JP4339602B2 (ja) デジタルインクイメージを構造化テキスト/図形エディタで利用すべく変換するシステム
JP4340076B2 (ja) ビットマップ化イメージを構造化テキスト/図形エディタで利用すべく変換するシステム
KR20080095861A (ko) 기초 문서에 추가된 주석들을 처리하는 방법, 이 방법을구현하기 위한 기계 판독가능 명령들을 포함하는 하나이상의 기계 판독가능 매체, 기초 문서에 추가된 주석들을처리하기 위한 주석 처리 시스템 및 주석 엔진 모듈
JP4502953B2 (ja) 電子インク処理
JP2009151792A (ja) 電子文書をマーキングする方法及び命令と共に記録媒体を有する製品
US11687618B2 (en) System and method for processing text handwriting in a free handwriting mode
US7519901B2 (en) Methods and systems for selecting objects by grouping annotations on the objects
Kaluarachchi et al. A systematic literature review on automatic website generation
US11429259B2 (en) System and method for selecting and editing handwriting input elements
JP4192729B2 (ja) 自由形式注釈を強調するための方法、注釈強調表示装置、及び自由形式注釈を強調するためのプログラム
Kumar et al. Content-level annotation of large collection of printed document images
Vats et al. On-the-fly historical handwritten text annotation
Reul An Intelligent Semi-Automatic Workflow for Optical Character Recognition of Historical Printings
CN118468809A (zh) 一种文章排版方法、装置及计算设备
Stria Online Handwritten Mathematical Formulae Recognition
JP2010205290A (ja) 電子インク処理

Legal Events

Date Code Title Description
A201 Request for 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: 20141017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 8