KR20060114287A - 박스 및 라인 입력 패널 - Google Patents

박스 및 라인 입력 패널 Download PDF

Info

Publication number
KR20060114287A
KR20060114287A KR1020057012383A KR20057012383A KR20060114287A KR 20060114287 A KR20060114287 A KR 20060114287A KR 1020057012383 A KR1020057012383 A KR 1020057012383A KR 20057012383 A KR20057012383 A KR 20057012383A KR 20060114287 A KR20060114287 A KR 20060114287A
Authority
KR
South Korea
Prior art keywords
language
input
user
ink
pen
Prior art date
Application number
KR1020057012383A
Other languages
English (en)
Other versions
KR101014075B1 (ko
Inventor
데쯔오 세또
다까노부 무라야마
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060114287A publication Critical patent/KR20060114287A/ko
Application granted granted Critical
Publication of KR101014075B1 publication Critical patent/KR101014075B1/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
    • G06F18/00Pattern recognition
    • 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
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing

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)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)

Abstract

둘 이상의 언어의 전자 잉크의 스트로크를 수신하기 위한 방법 및 장치가 제공된다. 전자 잉크의 적어도 하나의 스트로크를 처리 장치에 입력하기 위해 입력 장치가 사용된다. 처리 장치는 전자 잉크와 관련된 언어 표시를 저장하여, 언어 표시가 수기 인식기와 잉크를 연관시키는 방법을 제공하도록 한다. 사용자는 펜을 뒤집어 펜의 다른 팁을 사용함으로써 잉크와 관련된 언어 또는 인식기를 변경하거나, 다른 펜 또는 다른 입력 장치를 사용할 수 있다. 설명되는 시스템 및 방법의 양태들은 펜 팁 또는 버튼의 클릭을 하나 이상의 언어와 연관시키기 위해 다양한 옵션 인터페이스를 조정한다. 시스템 및 방법의 다른 양태들은 펜 입력 장치가 표시 장치로부터 소정의 거리 내에 있을 때 표시된 소프트웨어 키보드의 언어 스위칭을 포함한다.
박스 입력 패널, 라인 입력 패널, 박스 입력 모드, 라인 입력 모드, 수기 정보 인식

Description

박스 및 라인 입력 패널{BOXED AND LINED INPUT PANEL}
본 발명은 다양한 언어로 작성된 수기(handwritten) 정보를 인식하기 위한 방법 및 장치에 관한 것이다. 보다 상세하게는, 본 발명은 사용자가 다양한 언어로 수기된 정보를 쉽게 입력하는 것을 허용하고 수기 정보를 인식을 위한 언어와 연관시킬 수 있다.
사람들은 종종 정보의 텍스트 표현보다는 그래픽 표현에 더 의존한다. 사람들은 그림과 동등할 수 있는 텍스트의 블록이 아니라 그림을 본다. 예를 들어, 자택 소유자는 부엌이나 욕실을 리모델링할 때 잡지로부터 그림을 절단하여 계약자에게 원하는 것을 정확하게 보여 줄 수 있다. 동일 자료에 대한 텍스트 설명은 종종 부족하다. 자택 소유자가 이용할 수 있는 도구는 가위 이상 복잡하지는 않다.
그러나, 컴퓨팅 세계에서는, 동일한 콘텐츠를 캡쳐하고 전송하려는 시도는 번거롭다. 일반적인 컴퓨터 시스템들은 그래픽 집약적인 콘텐츠를 캡쳐하고 전송하기 위한 편리한 인터페이스를 제공하지 않는다. 오히려, 이들은 텍스트를 캡쳐하고 렌더링하도록 최적화되어 있다. 예컨대, 일반적인 컴퓨터 시스템들, 특히 마이크로소프트 윈도우와 같은 그래픽 사용자 인터페이스(GUI) 시스템을 사용하는 컴퓨터 시스템들은 텍스트를 입력하기 위한 키보드, 및 사용자 인터페이스를 구동하 기 위한 하나 이상의 버튼을 가진 마우스와 같은 포인팅 장치 등의 하나 이상의 개별 입력 장치로부터 사용자 입력을 수신하도록 최적화되어 있다.
컴퓨터로 수신되는 수기 정보는 다양한 방식으로 이용될 수 있다. 예를 들어, 수기 정보는 단지 수기 정보로 유지될 수 있다. 또한, 수기 정보는 수기 인식 엔진에 의해 처리되고, 수기 인식 엔진으로부터의 텍스트로 대체될 수 있다. 최종적으로, 수기 정보는 사용자에게 표시될 수 있고, 수기 정보와 관련된 수기 인식 엔진의 결과는 수기 정보와 함께 표시되거나, 사용자에게는 숨겨지지만, 수기 정보와 계속 연관되어 있다.
다양한 수기 정보가 존재한다(영어, 불어, 독어 등). 사용자는 디폴트 언어(및 관련 수기 정보 인식기)를 선택한 후 디폴트 언어로 작성하고 수기 정보를 디폴트 인식기로 처리하여 디폴트 언어로 된 텍스트를 리턴할 수 있다. 이러한 방법은 대부분의 용도에는 훌륭하지만, 세계의 상당한 부분은 둘 이상의 언어로 대화한다. 이러한 상황에서, 사용자는 제1 언어로 작성하지만, 제2 언어로 보다 쉽게 표현된 소정의 개념을 발견할 수 있다. 수기 노트의 결과 라인은 제1 언어의 소정의 워드, 제2 언어의 소정의 워드, 그러나 제1 언어의 보다 많은 워드를 가질 수 있다. 사용자는 이때 어떤 개념을 그가 작성했는지를 쉽게 판단할 수 있지만, 인식 엔진은 훨씬 더 어려운 시간을 가질 수 있다. 따라서, 다양한 언어로 개념을 표현할 수 있는 자유를 원하는 사용자는 손해이다. 또한, 입력 환경은 다양한 언어로 작성된 것을 전달할 수 있어야 한다. 보다 양호한 솔루션이 필요하다.
<발명의 요약>
본 발명은 수기 잉크와 연관된 수기 인식기를 쉽게 수정하여 전술한 하나 이상의 문제를 해결하는 것에 관한 것이다. 본 발명의 몇몇 양태에서, 사용자 인터페이스는 일 타입의 언어(심볼 및 비심볼)와 관련된 잉크를 수용하도록 수정될 수 있다. 심볼 언어에서는, 박스 또는 세그먼트 사용자 인터페이스가 사용될 수 있다. 비심볼 언어에서는, 작성 라인 또는 라인들이 사용될 수 있다. 이들 양 인터페이스는 동일한 작성 영역 상에서 조합하여 사용되어 하나의 언어로 작성된 잉크가 다음에 다른 언어의 잉크로 인식되는 것을 가능하게 한다.
이들 및 다른 양태들은 도면 및 관련 설명과 관련하여 다루어진다.
본 발명은 동일한 참조 부호가 유사한 요소를 나타내는 첨부 도면들에 예시적으로 도시되지만 이에 한정되지는 않는다.
도 1 내지 1M은 본 발명의 하나 이상의 양태를 지원하는 범용 컴퓨터를 나타내는 도면.
도 2는 본 발명의 양태들에 따라 스타일러스 기반 입력 시스템을 나타내는 도면.
도 3은 본 발명의 실시예들에서 사용될 수 있는 펜을 나타내는 도면.
도 4A 및 4B는 본 발명의 실시예들에 따른 언어 팔레트 및 관련 펜의 제1 실시예를 나타내는 도면.
도 5A, 5B 및 5C는 본 발명의 양태들에 따른 언어 팔레트, 펜 및 순환적 언어 연관의 제2 실시예를 나타내는 도면.
도 6은 본 발명의 실시예들에 따라 사용자 인터페이스를 언어에 적합하도록 조정하는 프로세스를 나타내는 도면.
도 7은 본 발명의 실시예들에 따라 언어 또는 인식기를 수신 수기 잉크와 연관시키기 위한 프로세스를 나타내는 도면.
도 8은 본 발명의 실시예들에 따른 컴포넌트들 사이의 관계들의 샘플 세트를 나타내는 도면.
도 9는 본 발명의 실시예들에 따라 새로운 언어가 사용될 때 사용자 인터페이스를 수정하는 프로세스를 나타내는 도면.
도 10A, 10B 및 10C는 본 발명의 실시예들에 따라 수기 잉크와 연관될 언어 또는 인식기의 시각적 표시의 예들을 나타내는 도면.
도 11-15 및 19-20은 본 발명의 양태들에 따른 박스 및 라인 입력 영역들의 다양한 조합을 나타내는 도면.
도 16-18은 본 발명의 양태들에 따른 다양한 수정 인터페이스를 나타내는 도면.
도 21 및 22는 본 발명의 양태들에 따른 박스 입력이 없는 수기 잉크를 나타내는 도면.
도 23-25는 본 발명의 양태들에 따라 수기 잉크를 선택하고 입력하는 프로세스를 나타내는 도면.
도 26은 본 발명의 양태들에 따라 언어를 선택하는 예시적인 사용자 인터페이스를 나타내는 도면.
도 27은 본 발명의 양태들에 따른 예시적인 언어 스위칭 사용자 인터페이스를 나타내는 도면.
본 발명의 양태들은 인식 및 기타 목적을 위한 보다 양호한 다중 언어 지원을 가능하게 하기 위해 사용자 입력 모드들 사이의 스위칭을 허용하는 사용자 인터페이스를 제공하는 것에 관한 것이다.
아래의 설명은 독자가 본 발명의 양태들을 이해하는 것을 돕기 위해 다수의 부 단원으로 정리되어 있다. 이들 부 단원은 용어, 범용 컴퓨터, 펜 팁 연관성, 버튼 연관성, 언어 지원, 예시적인 프로세스, 사용자 인터페이스 및 사용자 인터페이스 선택 프로세스를 포함한다.
잉크의 특징
잉크 펜을 사용하는 사용자들에게 알려진 바와 같이, 물리적 잉크(잉크 저장소를 가진 펜을 이용하여 종이 위에 작성된 종류)는 라인 세그먼트에 의해 연결된 일련의 좌표들보다 많은 정보를 전달할 수 있다. 예를 들어, 물리적 잉크는 펜 압력(잉크의 두께에 의해), 펜 각도(라인 또는 커브 세그먼트의 형상 및 개별 점들 주위에서의 잉크의 거동에 의해), 및 펜촉의 속도(직선도, 라인 폭, 및 라인 또는 커브의 코스 상에서의 라인 폭 변경에 의해)를 반영할 수 있다. 이러한 추가적인 특성들로 인해, 감정, 개성, 강세 등이 점들 사이의 균일한 라인 폭에서보다 더 즉시 전달될 수 있다.
전자 잉크(또는 잉크)는 사용자가 스타일러스 기반 입력 장치를 사용할 때 캡쳐된 전자 정보의 캡쳐 및 표시와 관련된다. 전자 잉크는 스트로크의 시퀀스를 말하는데, 각각의 스트로크는 점들의 시퀀스를 포함한다. 점들은 데카르트 좌표(X,Y), 극 좌표(r,θ) 및 이 분야에 공지된 다른 기법을 포함하는 다양한 공지 기법을 이용하여 표현될 수 있다. 전자 잉크는 압력, 각도, 속도, 칼라, 스타일러스 크기 및 잉크 불투명도를 포함하는 실제 잉크의 특성들의 표현을 포함할 수 있다. 전자 잉크는 또한 다른 정보 중에서 잉크가 페이지 상에 배치된 순서(대부분의 서양 언어에서 좌에서 우로, 아래로의 주사 패턴), 타임 스탬프(잉크가 배치된 때의 표시), 잉크의 저자의 표시, 및 시발 장치(잉크를 작성한 기계의 식별 또는 잉크를 배치하는 데 사용된 펜의 식별 중 적어도 하나)를 포함하는 다른 특성들을 포함할 수 있다.
용어
잉크 - 특성들을 가진 스토로크들의 시퀀스 또는 세트. 스트로크들의 세트는 순서화된 형태의 스트로크들을 포함한다. 시퀀스는 캡쳐된 시간에 따라 또는 스트로크들이 페이지 상에 나타나는 장소에 의해 또는 잉크의 저자에 의한 협조 상황에서 순서화될 수 있다. 다른 순서도 가능하다. 스트로크들의 세트는 스트로크들의 시퀀스 또는 순서화되지 않은 스트로크들 또는 이들의 임의 조합을 포함할 수 있다. 또한, 몇몇 특성은 각각의 스트로크 또는 스트로크 내의 점에 고유할 수 있다(예를 들어, 압력, 속도, 각도 등). 이들 특성은 잉크 레벨이 아니라 스트로크 또는 점 레벨로 저장될 수 있다.
잉크 객체 - 특성들을 갖거나 갖지 않은 잉크를 저장하는 데이터 구조.
스트로크 - 캡쳐된 점들의 시퀀스 또는 세트. 예를 들어, 점들의 시퀀스는 렌더링시 라인들로 연결될 수 있다. 대안으로, 스토로크는 점 및 다음 점 방향으로의 벡터로 표시될 수 있다. 요컨대, 스토로크는 점들 및/또는 점들을 연결하는 것의 기본 표현과 관계 없이 잉크에 관한 점들 및 세그먼트들의 임의의 표현을 포함하는 것으로 의도된다.
점 - 공간 내의 위치를 정의하는 정보. 예를 들어, 점들은 캡쳐링 공간(예를 들어, 디지타이저 상의 점들), 시각적 잉크 공간(캡쳐된 잉크가 배치되는 공간 내의 좌표) 및/또는 표시 공간(표시 장치의 점들 또는 화소들)에 대해 정의될 수 있다.
범용 컴퓨팅 환경
도 1은 본 발명의 다양한 양태들을 구현하는 데 사용될 수 있는 통상적인 범용 디지탈 컴퓨팅 환경의 개략도이다. 도 1에서, 컴퓨터(100)는 처리 유닛(110), 시스템 메모리(120), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리 유닛(110)에 결합하는 시스템 버스(130)를 포함한다. 시스템 버스(130)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍쳐 중 하나를 사용하는 로컬 버스를 포함하는 여러 타입의 버스 구조 중 하나일 수 있다. 시스템 메모리(120)는 ROM(140) 및 RAM(150)을 포함한다.
예를 들어 시동시 컴퓨터(100) 내의 요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS; 160)은 ROM(140)에 저장된다. 컴퓨터(100)는 또한 하드 디스크(도시 생략)에 대한 판독 및 기입을 위한 하드 디스크 드라이브(170), 분리식 자기 디스크(190)에 대한 판독 및 기입을 위한 자기 디스크 드라이브(180), 및 CD-ROM 또는 기타 광학 매체와 같은 분리식 광 디스크(192)에 대한 판독 및 기입을 위한 광 디스크 드라이브(191)를 포함한다. 하드 디스크 드라이브(170), 자기 디스크 드라이브(180) 및 광 디스크 드라이브(191)는 하드 디스크 드라이브 인터페이스(192), 자기 디스크 드라이브 인터페이스(193) 및 광 디스크 드라이브 인터페이스(194)에 의해 시스템 버스(130)에 각각 접속된다. 드라이브들 및 관련 컴퓨터 판독 가능 매체들은 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 개인용 컴퓨터(100)용의 다른 데이터의 불휘발성 저장을 제공한다. 자기 카세트, 플래시 메모리 카드, 디지탈 비디오 디스크, 베르누이 카트리지, RAM, ROM 등과 같이, 컴퓨터에 의해 액세스될 수 있는 데이터를 저장할 수 있는 다른 타입의 컴퓨터 판독 가능 매체들도 예시적인 운영 환경에서 사용될 수 있음을 당업자는 이해할 것이다.
운영 체제(195), 하나 이상의 애플리케이션 프로그램(196), 다른 프로그램 모듈(197) 및 프로그램 데이터(198)를 포함하는 다수의 프로그램 모듈이 하드 디스크 드라이브(170)에 저장될 수 있다. 사용자는 키보드(101) 및 포인팅 장치(102)와 같은 입력 장치를 통해 컴퓨터(100)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시 생략)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 종종 시스템 버스에 결합된 직렬 포트 인터페이스(106)를 통해 처리 유닛(110)에 접속되지만, 병렬 포트, 게임 포트 또는 USB와 같은 다른 인터페이스를 통해 접속될 수도 있다. 또한, 이들 장치는 적절한 인터페이스(도시 생략)를 통해 시스템 버스(130)에 직접 접속될 수 있다. 모니터(170) 또는 다른 타입의 표시 장치도 비디오 어댑터(108)와 같은 인터페이스를 통해 시스템 버스(130)에 접속된다. 개인용 컴퓨터는 모니터 외에 일반적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(도시 생략)를 포함한다. 일 실시예에서, 수기 입력을 디지탈 방식으로 캡쳐하기 위해 펜 디지타이저(165) 및 관련 펜 또는 스타일러스(166)가 제공된다. 펜 디지타이저(165)와 직렬 포트 인터페이스(106) 간의 직접 접속은 도시되어 있지만, 실제로 펜 디지타이저(165)는 무선을 포함하는 임의의 기술에 의해 처리 유닛(110), 병렬 포트 또는 다른 인터페이스 및 시스템 버스(130)에 직접 결합될 수 있다. 또한, 펜(166)은 그와 연관된 카메라, 및 카메라에 의해 캡쳐된 이미지 정보를 버스(130)와 상호작용하는 인터페이스로 무선 전송하기 위한 트랜시버를 구비할 수 있다. 또한, 펜은 카메라 외에 또는 그 대신에 가속도계, 자력계 및 자이로스코프를 포함하는 전자 잉크의 스트로크를 판정하기 위한 다른 감지 시스템을 구비할 수 있다.
또한, 디지타이저(165)는 모니터(107)와 별도로 도시되어 있지만, 디지타이저(165)의 이용 가능 입력 영역은 모니터(107)의 표시 영역으로 확장될 수 있다. 또한, 디지타이저(165)는 모니터(107)에 통합되거나, 모니터(107) 상에 배치되거나 그에 부착되는 개별 장치로서 존재할 수 있다.
컴퓨터(100)는 원격 컴퓨터(109)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(109)는 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 1에는 하나의 메모리 저장 장치(111)만이 도시되어 있지만, 일반적으로 컴퓨터(100)에 관련하여 전술한 요소들의 대다수 또는 모두를 포함한다. 도 1에 도시된 논리적 접속은 LAN(112) 및 WAN(113)을 포함한다. 이러한 네트워킹 환경은 사무실, 기업 광역 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
컴퓨터(100)는 LAN 네트워킹 환경에서 사용될 때 네트워크 인터페이스 또는 어댑터(114)를 통해 LAN(112)에 접속된다. 개인용 컴퓨터(100)는 WAN 네트워킹 환경에서 사용될 때 일반적으로 인터넷과 같은 WAN(113)에 대한 통신을 설정하기 위한 모뎀(115) 또는 다른 수단을 포함한다. 외장형 또는 내장형 모뎀(115)은 직렬 포트 인터페이스(106)를 통해 시스템 버스(130)에 접속된다. 네트워크 환경에서, 개인용 컴퓨터(100) 또는 그 일부와 관련하여 도시된 프로그램 모듈들은 원격 메모리 저장 장치에 저장될 수 있다. 또한, 시스템은 유선 및/또는 무선 기능을 포함할 수 있다. 예컨대, 네트워크 인터페이스(114)는 블루투스, SWLan 및/또는 결합 능력을 가진 IEEE 802.11 클래스를 포함할 수 있다. 이들 프로토콜과 함께 또는 그 대신에 다른 무선 통신 프로토콜들이 사용될 수 있음을 이해해야 한다.
도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 설정하기 위한 다른 기술들이 사용될 수 있음을 이해할 것이다. TCP/IP, 이더넷, FTP, HTTP 등과 같은 다양한 공지 프로토콜 중 임의의 프로토콜의 존재를 가정하며, 시스템은 사용자가 웹 기반 서버로부터 웹 페이지를 검색하는 것을 가능하게 하는 클라이언트-서버 구조로 동작할 수 있다. 다양한 일반적인 웹 브라우저 중 하나가 사용되어 웹 페이지 상에 데이터를 표시하고 조작할 수 있다.
프로그래밍 인터페이스(또는 보다 간단하게 인터페이스)는 하나 이상의 코드 세그먼트가 하나 이상의 다른 코드 세그먼트에 의해 제공되는 기능과 통신하거나 이에 액세스하는 것을 가능하게 하는 임의의 메카니즘, 프로세스, 프로토콜로서 보여질 수 있다. 대안으로, 프로그래밍 인터페이스는 다른 컴포넌트의 하나 이상의 메카니즘, 메소드, 함수 호출, 모듈 등에 통신 결합할 수 있는 시스템의 컴포넌트의 하나 이상의 메카니즘, 메소드, 함수 호출, 모듈, 객체 등으로서 보여질 수 있다. 앞 문장에서 "코드 세그먼트"라는 용어는 하나 이상의 명령 또는 코드 라인을 포함하는 것으로 의도되며, 적용되는 용어법에 관계 없이, 또는 코드 세그먼트들이 개별적으로 컴파일되거나, 코드 세그먼트들이 소스, 중간 또는 객체 코드로서 제공되는 것과 관계없이, 코드 세그먼트들이 실행시간 시스템 또는 프로세스에서 사용되거나, 이들이 동일 또는 상이한 기계들 상에 또는 다수의 기계들에 분산되어 배치되거나, 코드 세그먼트들에 의해 표현되는 기능이 전적으로 소프트웨어로, 전적으로 하드웨어로, 또는 하드웨어 및 소프트웨어의 조합으로 구현되는지에 관계없이 예컨대 코드 모듈, 객체, 서브루틴, 함수 등을 포함한다.
개념적으로 프로그래밍 인터페이스는 도 1B 또는 1C에 도시된 바와 같이 일반적으로 보여질 수 있다. 도 1B는 제1 및 제2 코드 세그먼트가 통신하는 수단인 콘딧으로서 인터페이스 Interface1을 나타내고 있다. 도 1C는 시스템의 제1 및 제2 코드 세그먼트가 매체(M)를 통해 통신하는 것을 가능하게 하는 인터페이스 객체 I1 및 I2(이들은 제1 및 제2 코드 세그먼트의 일부이거나 아닐 수도 있다)를 포함하는 것으로서 인터페이스를 도시하고 있다. 도 1C를 볼 때, 인터페이스 객체 I1 및 I2를 동일 시스템의 개별 인터페이스로서 간주하고, 또한 객체 I1 및 I2 플러스 매체(M)이 인터페이스를 포함하는 것으로 간주할 수 있다. 도 1B 및 1C는 양방향 흐름, 및 흐름의 각 측 상의 인터페이스를 도시하고 있지만, 소정의 구현들은 일 방향으로의 정보 흐름을 갖거나(또는 후술하는 바와 같이 정보 흐름이 없거나), 한쪽에만 인터페이스 객체를 가질 수 있다. 예를 들어, API, 엔트리 포인트, 메소드, 함수, 서브루틴, 원격 프로시저 호출 및 COM 인터페이스와 같은 용어들은 프로그래밍 인터페이스의 정의 내에 포함되지만, 이것으로 한정되는 것은 아니다.
프로그래밍 인터페이스의 양태들은 제1 코드 세그먼트가 제2 코드 세그먼트로 정보를 전송할 수 있게 하는 메소드(여기서, "정보"는 넓은 의미로 사용되며, 데이터, 명령, 요구 등을 포함한다); 제2 코드 세그먼트가 정보를 수신할 수 있게 하는 메소드; 및 정보의 구조, 시퀀스, 신택스, 조직, 스키마, 타이밍 및 내용을 포함할 수 있다. 이와 관련하여, 기반 전송 매체 자체는 정보가 인터페이스에 의해 정의된 방식으로 전송되는 한은 매체가 유선인지 무선인지, 또는 이들의 조합인지에 관계없이 인터페이스의 동작에 중요하지 않을 수 있다. 소정의 상황에서, 하나의 코드 세그먼트가 제2 코드 세그먼트에 의해 수행되는 기능에 간단히 액세스할 때와 같이 정보 전송이 다른 메카니즘을 통하거나(예컨대, 버퍼, 파일 등에 위치한 정보는 코드 세그먼트들 사이의 정보 흐름으로부터 분리된다) 존재하지 않을 수 있을 때 정보는 통상적인 의미에서 한 방향 또는 양 방향으로 전송되지 않을 수 있다. 이러한 양태들 중 임의의 양태 또는 모든 양태는 예를 들어 코드 세그먼트들이 느슨하게 결합되거나 밀접하게 결합된 구성에서 시스템의 일부인지의 여부에 따라 주어진 상황에서 중요할 수 있으며, 따라서 이 리스트는 예시적인 것일 뿐 제한적이 아닌 것으로 간주되어야 한다.
이러한 프로그래밍 인터페이스의 개념은 당업자에게 공지되어 있으며, 전술한 본 발명의 상세한 설명으로부터 명백하다. 그러나, 프로그래밍 인터페이스를 구현하는 다른 방법들이 있으며, 명백하게 배제되지 않은 한, 이들도 본 명세서의 끝에 설명되는 청구범위에 포함되는 것으로 의도된다. 그러한 다른 방법들은 도 1B 및 1C의 간단한 도면보다 복잡한 것으로 보일 수 있지만, 그럼에도 이들은 동일한 전체 결과를 달성하는 유사한 기능을 수행한다. 이제, 프로그래밍 인터페이스의 몇몇 예시적인 대체 구현을 간단히 설명한다.
A. 인수 분해
하나의 코드 세그먼트에서 다른 코드 세그먼트로의 통신은 통신을 다수의 개별 통신으로 분해함으로써 간접적으로 완수될 수 있다. 이것은 도 1D 및 1E에 개략적으로 도시되어 있다. 도시된 바와 같이, 몇몇 인터페이스는 분할 가능한 기능 세트에 의해 설명될 수 있다. 따라서, 도 1B 및 1C의 인터페이스 기능은, 수학적으로 24 또는 2×2×3×2를 제공할 수 있는 것과 같이, 동일한 결과를 달성할 수 있도록 인수 분해될 수 있다. 따라서, 도 1D에 도시된 바와 같이, 인터페이스 Interface1에 의해 제공되는 기능은 동일한 결과를 달성하면서 인터페이스의 통신을 변환하기 위해 다수의 인터페이스 Interface1A, Interface1B, Interface1C 등으로 세분될 수 있다. 도 1E에 도시된 바와 같이, 인터페이스 I1에 의해 제공되는 기능은 동일한 결과를 달성하면서 다수의 인터페이스 I1a, I1b, I1c 등으로 세분될 수 있다. 마찬가지로, 제1 코드 세그먼트로부터 정보를 수신하는 제2 코드 세그먼트의 인터페이스 I2는 다수의 인터페이스 I2a, I2b, I2c 등으로 인수 분해될 수 있다. 인수 분해시, 제1 코드 세그먼트에 포함되는 인터페이스의 수는 제2 코드 세그먼트에 포함되는 인터페이스의 수와 일치할 필요는 없다. 도 1D 및 1E의 경우들 중 어느 하나에서, 인터페이스 Interface1 및 I1의 기능적인 사상은 도 1B 및 1C와 각각 동일하게 유지된다. 인터페이스의 인수 분해는 또한 결합, 교환 및 다른 수학적 특성을 따를 수 있으며, 따라서 인수 분해는 인식하기 어려울 수 있다. 예를 들어, 동작들의 순서화는 중요하지 않을 수 있으며, 결과적으로 하나의 인터페이스에 의해 수행되는 기능은 이 인터페이스에 도달하기 전에 다른 코드 또는 인터페이스에 의해 수행되거나, 시스템의 개별 컴포넌트에 의해 수행될 수 있다. 더욱이, 동일 결과를 달성하는 상이한 함수 호출을 다양한 방법이 있다는 것을 프로그래밍 분야의 당업자는 이해할 수 있다.
B. 재정의
몇몇 경우에, 여전히 의도한 결과를 달성하면서 프로그래밍 인터페이스의 소정의 양태들(예컨대, 파라미터들)을 무시, 추가 또는 재정의할 수 있다. 이것은 도 1F 및 1G에 도시되어 있다. 예컨대, 도 1B의 인터페이스 Interface1이 3개의 파라미터, 즉 입력, 정확도 및 출력을 포함하고 제1 코드 세그먼트에서 제2 코드 세그먼트로 발행되는 호출인 함수 호출 Square(input, precision, output)를 포함하는 것으로 가정한다. 도 1F에 도시된 바와 같이, 중간 파라미터인 정확도가 주어진 시나리오에서 중요하지 않은 경우, 이 파라미터는 무시되거나, (이 상황에서) 의미 없는 파라미터로 대체될 수도 있다. 또한, 중요하지 않은 추가 파라미터를 추가할 수도 있다. 어느 경우에나, 입력이 제2 코드 세그먼트에 의해 제곱된 후 출력이 리턴되는 한 제곱의 기능은 달성될 수 있다. 정확도는 매우 양호하게 컴퓨팅 시스템의 소정의 다운스트림 또는 다른 부분에 의미 있는 파라미터일 수 있으나, 정확도가 제곱을 계산하는 좁은 목적에 필요하지 않은 것으로 인식되면, 정확도는 대체되거나 무시될 수 있다. 예컨대, 유효한 정확도 값을 전달하는 대신, 생일과 같은 의미 없는 값이 결과에 악영향을 미치지 않고 전달될 수 있다. 마찬가지로, 도 1G에 도시된 바와 같이, 인터페이스 I1은 파라미터를 무시하거나 인터페이스에 추가하도록 재정의된 인터페이스 I1'로 대체된다. 인터페이스 I2는 마찬가지로 불필요한 파라미터, 또는 그 밖의 곳에서 처리될 수 있는 파라미터를 무시하도록 재정의된 인터페이스 I2'로 재정의될 수 있다. 여기서 요점은 몇몇 경우에 프로그래밍 인터페이스가 소정의 목적에 필요하지 않은 파라미터들과 같은 양태들을 포함할 수 있으며, 따라서 이들은 무시 또는 재정의되거나, 다른 목적을 위해 그 밖의 다른 곳에서 처리될 수 있다는 점이다.
C. 인라인 코딩
2개의 개별 코드 모듈의 기능의 일부 또는 전부를 병합하여 이들 사이의 인터페이스가 형태를 변경하도록 하는 것이 가능하다. 예컨대, 도 1B 및 1C의 기능은 각각 도 1H 및 1I의 기능으로 변환될 수 있다. 도 1H에서, 도 1B의 이전 제1 및 제2 코드 세그먼트들은 이들 양자를 포함하는 모듈로 병합된다. 이 경우, 코드 세그먼트들은 여전히 서로 통신할 수 있지만, 인터페이스는 단일 모듈에 보다 적절한 형태로 적응될 수 있다. 따라서, 예를 들면, 정형적인 호출 및 리턴 명령문이 더 이상 필요하지 않을 수 있지만, 인터페이스 Interface1에 따르는 유사한 처리 또는 응답이 여전히 실행될 수 있다. 마찬가지로, 도 1I에 도시된 바와 같이, 도 30B로부터의 인터페이스 I2의 일부(또는 전부)는 인터페이스 I1 내에 인라인으로 작성되어 인터페이스 I1'가 형성될 수 있다. 도시된 바와 같이, 인터페이스 I2는 I2a 및 I2b로 분할되며, 인터페이스 부분 I2a는 인터페이스 I1과 함께 인라인 코딩되어 인터페이스 I1''이 형성된다. 구체적인 예로서, 도 30B로부터의 인터페이스 I1이, 인터페이스 I2에 의해 수신되고 제2 코드 세그먼트에 의해 입력으로 전달된 값을 처리한 후(입력 값을 제곱함) 제곱된 결과를 출력으로 전달하는 함수 호출 square(input, output)을 수행하는 것으로 가정한다. 이 경우, 제2 코드 세그먼트에 의해 수행되는 처리(입력 제곱)는 인터페이스로의 호출 없이 제1 코드 세그먼트에 의해 수행될 수 있다.
D. 분리
하나의 코드 세그먼트에서 다른 코드 세그먼트로의 통신은 통신을 다수의 개별 통신으로 분리함으로써 간접적으로 달성될 수 있다. 이것은 도 1J 및 1K에 개략 도시되어 있다. 도 1J에 도시된 바와 같이, 하나 이상의 미들웨어(오리지날 인터페이스로부터 기능 및/또는 인터페이스 기능들을 분리하므로 분리 인터페이스)가 제1 인터페이스 Interface1 상의 통신들을 변환하여 이들이 상이한 인터페이스, 이 경우 인터페이스 Interface2A, Interface2B 및 Interface2C를 따르도록 하기 위해 제공된다. 이것은 예를 들어 인터페이스1 프로토콜에 따라 예컨대 운영 체제와 통신하도록 설계된 설치 기반 애플리케이션들이 존재하지만, 이후 운영 체제가 상이한 인터페이스, 이 경우 인터페이스 Interface2A, Interface2B 및 Interface2C를 사용하도록 변경된 경우에 행해질 수 있다. 요점은, 제2 코드 세그먼트에 의해 사용되는 오리지날 인터페이스가 변경되어, 제1 코드 세그먼트에 의해 사용되는 인터페이스와 더 이상 호환이 되지 않으며, 따라서 신구 인터페이스들을 호환 가능하게 하기 위해 매개물이 사용된다는 점이다. 마찬가지로, 도 1K에 도시된 바와 같이, 인터페이스 I1로부터 통신을 수신하는 분리 인터페이스 DI1 및 인터페이스 기능을 예컨대 인터페이스 I2a 및 I2b로 전송하는 분리 인터페이스 DI2를 구비한 제3 코드 세그먼트가 도입될 수 있는데, I2a 및 I2b는 DI2와 함께 동작하도록 재설계되지만 동일한 기능적 결과를 제공한다. 마찬가지로, DI1 및 DI2는 동일하거나 유사한 기능적 결과를 제공하면서 도 1C의 인터페이스 I1 및 I2의 기능을 새로운 운영 체제로 전달하도록 함께 동작할 수 있다.
E. 재작성
또 하나의 가능한 변형은 코드를 동적으로 재작성하여 인터페이스 기능을, 동일한 전체 결과를 달성하는 그 외의 다른 것으로 대체하는 것이다. 예컨대, 중간 언어로 표현된 코드 세그먼트가 실행 환경(예컨대, 네트 프레임워크, 자바 실행시간 환경 또는 다른 유사한 실행시간 타입 환경에 의해 제공됨)에서 JIT(Just-in-Time) 컴파일러 또는 인터프리터로 제공되는 시스템이 존재할 수 있다. JIT 컴파일러는 제1 코드 세그먼트에서 제2 코드 세그먼트로 통신들을 동적으로 변환하도록, 즉 이들 통신을 제2 코드 세그먼트(오리지날 또는 다른 제2 코드 세그먼트)에 의해 요구될 수 있는 바와 같이 상이한 인터페이스에 따르도록 하기 위해 재작성될 수 있다. 이것은 도 1L 및 1M에 도시되어 있다. 도 1L에 도시된 바와 같이, 이러한 접근법은 전술한 분리 시나리오와 유사하다. 이것은 예컨대 설치 기반 애플리케이션들이 Interface1 프로토콜에 따라 운영체제와 통신하도록 설계되지만, 이후 운영 체제가 상이한 인터페이스를 사용하도록 변경되는 경우에 행해질 수 있다. JIT 컴파일러는 통신들이 설치 기반 애플리케이션들에서 운영 체제가 새로운 인터페이스로 온더플라이로 따르도록 하기 위해 사용될 수 있다. 도 1M에 도시된 바와 같이, 인터페이스를 동적으로 재작성하는 이러한 접근법은 인터페이스를 동적으로 인수 분해하거나 변경하기 위해 적용될 수도 있다.
대체 실시예들을 통해 인터페이스와 동일하거나 유사한 결과를 달성하는 전술한 시나리오들은 또한 다양한 방법으로, 직렬 및/또는 병렬로, 또는 다른 중재 코드와 함께 조합될 수 있다는 점에 유의해야 한다. 따라서, 전술한 대체 실시예들은 서로 배타적이지 않고, 혼합, 매칭 및 조합되어, 도 1B 및 1C에 제공된 일반 시나리오와 동일하거나 동등한 시나리오를 생성할 수 있다. 또한, 대부분의 프로그래밍 구조에서와 같이, 본 명세서에는 설명되지 않을 수 있지만 본 발명의 사상 및 범위에 의해 표현되는 인터페이스의 동일 또는 유사 기능을 달성하는 다른 유사한 방법들이 존재함에 유의해야 하는데, 즉 이것은 적어도 부분적으로 인터페이스의 값의 기초가 되는 인터페이스에 의해 표현되는 기능, 및 인터페이스에 의해 가능하게 되는 이로운 결과들이라는 점에 유의한다.
도 2는 본 발명의 다양한 양태들에 따라 사용될 수 있는 예시적인 태블릿 PC(201)를 나타낸다. 도 1의 시스템의 특징, 서브시스템 및 기능들 중 일부 또는 모두가 도 2의 컴퓨터에 포함될 수 있다. 태블릿 PC(201)는 대형 표시면(202), 예를 들어 디지타이징 평판 표시 장치, 바람직하게는 액정 표시(LCD) 스크린을 포함하며, 그 위에는 다수의 윈도우가 표시된다. 사용자는 스타일러스(204)를 사용하여 디지타이징 표시면(202) 상에서 선택, 하이라이트 및/또는 작성할 수 있다. 적절한 디지타이징 표시면(202)의 예는 무토 또는 와콤 펜 디지타이저와 같은 전자기 펜 디지타이저를 포함한다. 예를 들어 광 디지타이저와 같은 다른 타입의 펜 디지타이저도 사용될 수 있다. 태블릿 PC(201)는 스타일러스(204)를 사용하여 행해진 제스쳐를 해석하여 데이터를 조작하고, 텍스트를 입력하고, 도면을 생성하고, 그리고/또는 스프레드시트, 워드 처리 프로그램 등과 같은 일반적인 컴퓨터 애플리케이션 작업을 실행한다.
스타일러스(204)는 그의 선택 능력을 향상시키기 위한 하나 이상의 버튼 또는 다른 기능을 구비할 수 있다. 일 실시예에서, 스타일러스(204)는 "연필" 또는 "펜"으로 구현될 수 있는데, 그 일단은 작성부를 구성하며, 타단은 "지우개"를 구성하며, 표시에서 이동할 때, 표시의 일부가 삭제되도록 표시한다. 마우스, 트랙볼 등과 같은 다른 타입의 입력 장치도 사용될 수 있다. 또한, 사용자 자신의 손가락도 스타일러스(204)일 수 있으며, 터치 감지 또는 접근 감지 표시 장치 상에 표시된 이미지의 일부를 선택 또는 지시하기 위해 사용될 수 있다. 결과적으로, 본 명세서에서 사용되는 "사용자 입력 장치"라는 용어는 광범위한 정의를 가지며, 스타일러스(204)와 같은 공지 입력 장치에 대한 많은 변형을 포함하는 것으로 의도된다. 영역(205)은 스타일러스(204)가 표시면(203)에 접촉하고 있는 곳을 사용자가 결정하는 것을 허용하는 피드백 영역 또는 접촉 영역을 나타낸다.
다양한 실시예에서, 시스템은 애플리케이션이 잉크를 캡쳐, 조작 및 저장하기 위해 사용할 수 있는 컴포넌트 객체 모델(COM) 서비스들의 세트로서 잉크 플랫폼을 제공한다. 하나의 서비스는 애플리케이션이 잉크의 개시된 표현을 이용하여 잉크를 판독하고 기입하는 것을 가능하게 한다. 잉크 플랫폼은 또한 XML과 같은 언어를 포함하는 마크업 언어를 포함할 수 있다. 또한, 시스템은 다른 구현으로서 DCOM을 사용할 수 있다. 마이크로소프트사의 Win32 프로그래밍 모델 및 .Net 프로그래밍 모델을 포함하는 또 다른 구현들도 이용될 수 있다.
펜 팁 연관성
도 3은 다양한 입력 장치 중 하나인 전자 펜(300)을 나타낸다. 펜은 도 3에 도시된 바와 같이 2개의 펜 팁, 즉 주 펜 팁(302) 및 부 펜 팁(304)을 갖고 있다. 펜(300)은 또한 버튼(306)을 구비한다. 도 3에 도시된 펜은 워싱톤, 뱅쿠버의 와콤 테그놀리지사로부터 구입할 수 있다.
펜(300)의 다른 예에서, 펜은 하나의 펜 팁(302)과 버튼(306)만을 가질 수도 있다. 또 다른 예에서, 펜(300)은 2개 이상의 펜 팁을 가질 수 있고 버튼을 갖지 않을 수도 있다. 추가적인 펜 팁은 펜 캡의 단부 및 다른 분리 가능 부분을 포함할 수 있다. 하나의 펜 팁의 다른 펜 팁에 대비되는 주 표시, 부 표시 및 다른 표시는 단지 설명을 위한 것이라는 것을 이해해야 한다. 모든 펜 팁은 동일한 것으로 간주되거나, 계층 구조를 가질 수 있다.
다수의 펜 팁을 가진 펜의 제1 예에서, 각각의 펜 팁은 그 자신의 펜 팁 식별자를 가질 수 있다. 이 식별자는 다양한 방법으로 컴퓨터 시스템에 공지될 수 있다. 예를 들어, 디지타이저는 펜 팁 ID를 판정할 수 있다. 또한, 펜 팁에 의해 생성되는 흔적의 형상은 펜 팁을 식별하는 데 도움이 될 수 있다. 펜 팁을 식별하기 위한 다른 기술도 사용될 수 있다.
디지타이저가 펜 팁 ID를 판정하는 예에서, 펜 팁 ID는 펜 팁이 스크린 근처에 있거나 스크린에 접촉할 때 판정될 수 있다. 상이한 펜 팁 ID들이 사용되는 경우, 펜 팁 ID는 언어로 맵핑될 수 있다.
예컨대, 사용자는 영어 및 불어 양 언어로 작성할 수 있다. 사용자가 사용하는 펜은 그 자신의 펜 팁 ID를 각각 가진 2개의 팁을 구비할 수 있다. 주 팁은 영어로 맵핑되고, 부 팁은 불어로 맵핑될 수 있다. 이러한 구성을 이용하여 사용자는 불어로 작성하기를 원할 때 펜을 뒤집고, 그 후 영어로 작성하기를 원할 때 다시 펜을 뒤집을 수 있다.
맵핑은 하나 이상의 연관성을 포함할 수 있다. 예를 들어, 맵핑은 제1 수기 인식기를 제1 펜 팁(302)으로 생성된 잉크와 연관시키고, 제2 수기 인식기를 제2 펜 팁(304)으로 생성된 잉크와 연관시킬 수 있다. 인식기는 워드 기반 또는 문자 기반일 수 있다. 문자 기반 인식기는 구현이 간단하고 적은 메모리 및 프로세서 흔적을 요구하는 이익을 제공한다. 워드 기반 인식기는 보다 높은 인식률을 갖는 이익을 제공하며, 자연 언어 모델이 인식된 잉크에 적용되어 수정 등을 제안하는 것을 가능하게 한다.
몇몇 경우에, 어떠한 언어(및 관련 인식기)가 생성된 잉크와 현재 연관되어 있는지를 표시하는 것이 이익이 될 수 있다. 이 경우, 현재 언어(또는 인식기)의 표시는 도움이 되는 다양한 방식으로 표시될 수 있다. 먼저, 인식기와 관련된 언어가 표시될 수 있다. 대안으로, 각각의 언어(인식기)는 칼라 또는 칼라 세트와 연관될 수 있다. 펜 팁들의 스위칭은 언어 또는 인식기와 연관된 칼라로 스위칭할 수 있다. 또한, 잉크의 칼라는 그와 관련된 언어 또는 인식기를 반영하도록 수정될 수 있다. 이러한 방식으로 사용자는 잉크의 단락을 보고, 어떠한 워드, 문자, 심볼, 도면 등이 어느 인식기와 연관되어 있는지를 알 수 있다. 또한, 칼라 대신에, 하나의 언어 또는 인식기의 다른 언어 또는 인식기에 대비되는 용도를 사용자에게 알리기 위해 사운드가 이용될 수 있다.
수기 인식 기능은 수기 잉크를 인식하는 데 이용될 수 있다. 인식 프로세스의 결과는 사용자에 대해 숨겨지고, 표시 장치 상에서 수기 잉크를 대체하거나, 수기 잉크와 함께 표시될 수 있다. 몇몇 경우에, 인식 엔진의 결과는 잉크 객체에 저장될 수 있다. 다른 경우에, 결과는 잉크와 별도로, 예를 들어 데이터베이스 또는 테이블에 저장될 수 있고, 수기 잉크로 인덱스될 수 있다. 인식 엔진은 수기 잉크가 배치되는 동안, 또는 수기가 완료된 때, 또는 이들의 소정 조합(예를 들어, 2초 이상의 중지가 존재하는 경우)의 경우에, 실행될 수 있다.
도 4A 및 4B는 펜 팁과 언어를 연관시키는 사용자 인터페이스 및 다양한 펜을 나타낸다. 본 명세서에서, 사용자 인터페이스 및 그의 기초가 되는 메카니즘은 "언어 팔레트"로 지칭된다. 언어 팔레트는 사용자에게 펜 팁 ID(도 4A) 또는 펜의 상태(도 5A)와 언어 또는 수기 인식기를 연관시킬 수 있는 능력을 제공한다.
도 4A를 참조하면, 사용자는 각각의 펜 팁 ID에 대해 상이한 언어를 설정하여, 각각의 펜 팁과 연관된 펜 팁 ID가 감지될 때, 현재의 입력 언어가 적절히 변경되게 할 수 있다. 도 4A에 도시된 바와 같은 언어 선택 팔레트를 이용하여, 사용자는 펜 팁 ID 402, 펜 팁 ID 404, 또는 펜 팁 ID 406(예를 들어 탭에 의해 표현됨)을 선택할 수 있고, 각각의 펜 팁 ID에 상이한 언어(또는 동일한 언어)를 연관시킬 수 있다. 도 4A는 선택된 펜 팁 ID 탭(여기서는 406)을 언어 선택 메뉴(예를 들어, 드롭 다운 메뉴 408)로부터의 언어와 연관시키기 위한 하나의 선택 메카니즘(여기서는 드롭 다운 메뉴 408)을 나타낸다. 요소 408로서 표시된 드롭 다운 메뉴는 단지 예시적일 뿐이라는 것을 이해해야 한다. 대안으로, 라디오 버튼, 마우스 도는 호버-오버 메뉴 및 다이얼로그 박스, 네비게이션 윈도우, 및 펜 팁(406)을 언어와 연관시킬 수 있는 다른 선택 기술이 이용될 수 있다.
또한, 탭(시스템에 저장되거나(예를 들어, 네트워크를 통해 원격 저장되거나), 시스템에 의해 액세스될 수 있는 인식기를 나타냄)으로서, 그리고 선택 시스템(408)에서 펜 팁 ID를 갖는 미리 정의된 언어가 구비될 수 있다.
도 4B는 펜 팁들(410-414)을 가진 다양한 펜을 나타낸다. 사용자는 하나 이상의 언어로 맵핑된 펜 팁들(410-414)과 연관된 펜 팁 ID들의 일부 또는 전부를 가질 수 있다. 따라서, 사용자는 영어-스페인어 펜, 영어-불어 펜, 및 영어-수학 펜을 가질 수 있다. 수학(또는 방정식) 펜도 사용될 수 있다. 예를 들어, 수학 인식기를 사용하고 있는 경우, "∑"는 대문자 "E"가 아니라 합계 심볼로서 인식될 수 있으며, "a"는 "α"로서 인식될 수 있다.
또한, 몇몇 펜 팁 ID는 언어 또는 인식기와 연관되지 않을 수 있다. 이것은 디폴트 설정 또는 비인식 설정일 수 있다. 따라서, 예를 들어 그림을 그리려고 하고 있었던 경우, 시스템은 잉크(그림의 잉크 객체 또는 스트로크)를 인식기와 연관시키려고 하지 않는다(결국, 잉크를 인식하려고 시도하여 잘못된 결과를 생성할 수 있다).
펜 팁 ID와 비 전통적인 언어 특성(수학, 그래픽 형상 등)을 연관시키는 전술한 능력은 다양한 방식으로 구현될 수 있다. 먼저, 예를 들어, 단일 비언어 펜 팁 ID가 지정될 수 있고, 펜 팁 ID의 해석은 소프트웨어 컨텍스트(예를 들어, 엑셀의 통화 필드 또는 소정의 작곡 지원 소프트웨어의 음악 시트 등)로 남겨진다. 펜 팁의 해석은 컨텍스트에 의존할 수 있다. 예컨대, 펜 팁 ID가 언어와 연관되어 있는 경우, 잉크는 텍스트로 인식되며, 그렇지 않은 경우, 잉크는 대체 식별자(예를 들어, 작곡 지원 소프트웨어의 음악 노트 또는 그래픽 또는 드로잉 소프트웨어의 지리적 그래픽 요소 등)와 연관될 수 있다.
둘째, 대안적인 방법은 모든 비언어 특성들(예를 들어, 그래픽 형상, 통화 숫자, 음악 노트 등)을 열거한 후, 이들을 언어 특성에 관하여 동일하게 취급하는 것이다.
또한, 몇몇 실시예에서, 인식기는 형상을 인식하고, 이 형상을 현재 사용되는 펜 팁과 같은 입력 장치와 연관된 현재 언어에 기초하여 맵핑할 수 있다. 예를 들어, 입력 장치에 대한 언어 설정이 미국 영어인 동안 그려진 사각형은 "성조기"가 표시되게 할 수 있고, 입력 장치에 대한 언어 설정이 영국 영어일 때 그려진 동일한 사각형은 유니언 잭이 표시되게 할 수 있다.
다른 실시예에서, 사용할 특정 인식기는 입력 장치의 언어 설정 및 입력의 소프트웨어 컨텍스트에 기초하여 선택된다. 예를 들어, 입력 장치에 대한 언어 설정이 미국 영어일 때 스프레드시트의 통화 필드에 하나의 숫자가 기입된 경우, 인식기는 잉크를 숫자로서 인식할 뿐만 아니라, $, 천 단위 분리자 및 소수점과 같은 적절한 통화 부호를 입력할 수 있다. 다른 예에서, 입력 장치 또는 펜 팁은 예를 들어 작곡 지원 소프트웨어 또는 그래픽 소프트웨어를 구비한 다른 소프트웨어 컨텍스트에서 사용되고 있을 때 그와 관련된 언어를 갖지 않을 수 있다. 이러한 입력은 음악 노트 또는 그래픽 요소로서 각각 인식될 수 있으나, 이 상황에서 언어가 입력 장치와 연관되어 있는 경우, 입력은 텍스트로서 인식될 수 있다.
몇몇 실시예에서, 입력 장치의 언어 설정은 이미 표시된 항목들에 영향을 줄 수 있다. 예를 들어, 소프트웨어 키보드가 표시되고, 불어를 나타내는 ID로 설정된 펜 팁을 가진 펜과 같은 입력 장치가 표시의 소정의 거리 내에 있을 때, 펜의 펜 팁 ID가 검출되고, 불어 소프트웨어 키보드가 표시될 수 있다. 나중에 펜이 표시의 소정의 거리 내에 있고, 그 펜의 펜 팁 ID가 미국 영어로 맵핑된 것이 검출될 때, 표시된 소프트웨어 키보드는 미국 영어 소프트웨어 키보드로 변경될 수 있다. 이 예에서, 입력 장치의 언어 설정은 잉크와 연관되지 않는다. 오히려, 이것은 다른 정보 경로와 연관된 언어를 변경하는 것과 관련된다.
본 발명의 양태들은 펜 기반 컴퓨팅 시스템 및 펜 기반이 아닌 컴퓨팅 시스템 양자에 적용될 수 있다. 예를 들어, 본 발명의 양태들은 언어 또는 인식기를 버튼 클릭과 연관시키는 것과 관련된다. 도 3 및 5B에 도시된 바와 같이, 몇몇 펜들은 하나 이상의 버튼(306, 516 및 517)을 가질 수 있다. 마우스 및 트랙볼도 버튼을 가질 수 있다. 본 발명의 양태들은 버튼 클릭을 언어 또는 인식기로 맵핑하는 것을 허용한다. 펜으로 작성하고 있고 언어를 변경하는 것이 필요할 때, 펜 상의 액션 버튼을 클릭하여 펜 팁 ID를 다음 인식기와 연관시킬 수 있다. 이것은 또한, 수기 입력 메카니즘으로서 마우스를 사용하고 있을 때 마우스 버튼의 클릭은 언어 또는 인식기를 통해 동일한 사이클링을 제공할 수 있다는 점에서 마우스 및 트랙볼에도 적용될 수 있다.
예를 들어 컴퓨터 마우스, 스타일러스, 또는 하나의 펜 팁만을 가진 전자 펜과 같은 몇몇 입력 장치들도 본 발명의 실시예들에서 사용될 수 있다. 소정의 언어 리스트는 도 5A에 도시된 언어 팔레트(500)와 같은 언어 팔레트를 사용하여 구성될 수 있다. 이 실시예에서, 입력 언어들의 리스트를 구성하기 위해, 사용자는 탭들 중 하나(502, 504 또는 506)를 선택하고, 메뉴(508)로부터 입력 언어를 선택할 수 있다. 전자 잉크 입력을 행하는 동안, 사용자는 다양한 수단으로 입력 언어의 변경을 표시할 수 있다. 예를 들어, 컴퓨터 마우스가 사용되는 경우, 버튼을 누르면 다음 언어가 선택될 수 있다. 예를 들어, 제1 언어에서 제2 언어로의 스위칭이 이루어진다. 스타일러스가 사용되는 경우, 스타일러스 상의 버튼이 사용될 수 있다. 또한, 스타일러스 또는 펜 상에 버튼이 없는 경우, 현재 또는 다음 언어 선택을 표시하는 사용자 인터페이스 상의 표시 버튼 상에 탭을 설정할 수 있다.
예시적인 언어 팔레트(500)는 3번의 클릭이 설정될 수 있음을 나타내지만, 다른 실시예들에서는 더 적거나 많은 클릭이 설정될 수 있다. 관련 실시예에서, 하나의 변경 가능하지 않은 펜 팁 ID를 가진 단일 팁을 구비한 펜과 함께 사용하거나, 예를 들어 전자 ID를 갖지 않은 스타일러스 또는 포인팅 장치를 포함하는 입력 장치와 함께 사용하기 위해, 사용자는 도 4A와 유사하지만 하나의 언어만이 설정되는 것을 허용하는 언어 팔레트를 이용하여 입력 언어를 변경할 수 있다. 따라서, 탭들(504, 506)은 표시되지 않는다. 이 실시예에서, 사용자는 언어 팔레트를 선택하고 팝업 메뉴에 의해 다른 원하는 언어를 선택함으로써 입력 언어를 변경할 수 있다. 언어 팔레트를 사용자가 쉽게 이용할 수 있게 하는 이러한 방법은 입력 장치와 연관된 언어를 변경하기 위해 다수의 메뉴 옵션을 통해 연습해야 하는 것과 달리 네비게이트하기 쉬운 사용자 인터페이스의 이익을 제공한다.
따라서, 사용자는 도 5B의 펜을 사용하여 다수의 언어를 펜과 연관시킬 수 있다. 예를 들어, 사용자는 제1 언어 세트를 관련 펜 팁 ID를 가진 제1 펜 팁(512)의 전용으로 하고, 제2 언어 세트를 관련 펜 팁 ID를 가진 제2 펜 팁(514)의 전용으로 할 수 있다. 하나의 버튼(516)만이 사용되는 경우, 버튼의 클릭은 그 펜 팁 ID에 대한 언어 세트를 통해 순환할 수 있다. 2개 이상의 버튼(예를 들어, 버튼 516, 517)이 사용되는 경우, 상이한 버튼들의 클릭은 언어들 또는 인식기들의 상이한 세트들을 통해 순환할 수 있다. 또한, 양 버튼은 훨씬 더 많은 언어들 또는 인식기들을 통해 클릭하기 위해 동시에 작동되거나, 모든 클릭 상태를 디폴트 또는 초기 클릭 상태로 다시 설정하기 위해 사용될 수 있다.
도 5C는 펜 팁 ID와 연관된 언어를 가진 하나 이상의 버튼의 클릭들을 나열한 테이블이다. 이 테이블은 클릭들(518) 및 펜 팁 ID(520, 521, 522)를 포함한다. 제1 펜 팁 ID를 가진 제1 펜 팁이 사용되는 경우, 클릭은 제1 언어 세트(예를 들어, 영어, 불어 및 독어)를 통해 순환할 수 있다. 제2 펜 팁 ID를 가진 제2 펜 팁이 사용되는 경우, 클릭은 동일 또는 오프셋 시작 언어를 가진 동일 언어 세트를 통해 순환할 수 있다. 대안으로, 상이한 언어 세트가 제2 펜 팁 ID와 연관될 수 있다. 예를 들어, 제2 펜 팁을 이용하는 동안의 클릭은 일어, 영어 및 이태리어를 통해 순환할 수 있다.
전술한 바와 같이 입력 장치와의 언어 연관성을 변경하기 위해 버튼을 클릭하는 대신에, 다른 기법이 사용될 수 있다. 예컨대, 표시 위를 호버링하면서 펜으로 원운동을 하거나, 직립 위치에서 소정의 각도 이상으로 펜을 기울이는 등 전자 펜으로 제스쳐가 행해질 때 일시적인 언어 연관성 변경이 이루어질 수 있다. 물론, 많은 다른 기법이 사용될 수 있으며, 본 발명은 위에 열거한 기법들만으로 한정되는 것은 아니다.
언어 지원
몇몇 상황에서, 사용자는 어떤 언어가 펜 팁에, 또는 펜(또는 마우스 또는 트랙볼)의 현재 클릭 상태에 할당되었는지를 기억하기가 어려울 수 있다. 시스템은 옵션으로 사용자에게 현재 언어 또는 언어의 변경에 대한 시각적 또는 청각적 표시를 제공할 수 있다. 예를 들어, 도 6은 언어 또는 인식기가 수신 잉크와 연관되어 있는 것을 반영하기 위해 사용자 인터페이스를 수정하는 프로세스를 나타낸다. 단계 600에서, 시스템은 펜 팁이 적어도 표시 스크린의 근처에(근처 또는 접촉) 있는지를 알기 위해 검사한다. 펜 팁이 표시 스크린 근처에 있거나 접촉하고 있는 경우, 시스템은 단계 601로 진행한다. 그렇지 않은 경우, 시스템은 나중에 검사하거나, 펜 팁이 표시 스크린 근처에 있거나 접촉하고 있다는 것을 나타내는 이벤트가 수신될 때까지 대기한다. 이어서, 단계 601에서, 시스템은 언어 식별자(언어 ID)가 펜 팁과 연관되어 있는지를 판정한다. 펜 팁은 펜 팁 ID를 포함하거나 포함하지 않을 수 있다. 포함하고 있는 경우, 사용자 인터페이스는 단계 602에서 수정되어 단계 601에서 펜 팁과 연관된 언어를 수용할 수 있다. 단계 602는 캡쳐되는 잉크가 언어 또는 인식기와 연관될 것이라는 것을 사용자에게 표시한다. 포함하고 있지 않은 경우, 단계 603에서 사용자는 디폴트 인터페이스를 보게 되며, 잉크는 디폴트 언어와 연관된다. 단계 600의 검사는 이벤트에 의해 이루어질 수 있다. 즉, 펜 팁이 표시 스크린의 근처나 접촉해 있을 때마다 이벤트가 발생할 수 있다. 대안으로, 단계 600의 검사는 소정의 주기마다, 즉 폴링 방식으로 수행될 수 있다.
예시적인 프로세스
도 7은 수신 잉크를 언어와 연관시키는 보다 상세한 프로세스를 나타낸다. 단계 701에서, 잉크는 펜 팁 ID와 함께 수신된다. 단계 702에서, 시스템은 펜 팁 ID와 연관된 언어 ID를 판정한다. 단계 703에서, 수신 잉크는 단계 702로부터의 언어 ID와 연관된다. 이것은 도 7의 연관 프로세스의 끝일 수 있다. 대안으로, 파선으로 도시된 바와 같이, 언어 ID와 연관된 인식기가 단계 704에서 수신 잉크를 처리할 수 있다.
도 8은 본 발명의 양태들을 구현하기 위한 예시적인 장치의 블록도이다. 801의 입력 수신기는 예를 들어 전자 잉크의 스트로크를 수신하기 위한 디지타이저(165)와 같은 디지타이저일 수 있다. 이 사양과 관련하여, 언어는 예를 들어 영어 및 일어를 포함하지만 이에 한하지 않는 작성된 언어를 지칭할 뿐만 아니라, 수학식을 표현하는 데 사용되는 수학 심볼과 같은 특수 심볼도 지칭한다.
언어 팔레트(804)는 입력 스트로크를 특정 언어(언어 ID) 또는 인식기로 맵핑한다. 즉, 특정 언어 ID로 맵핑된 펜 팁 ID를 가진 펜으로부터 입력된 스트로크는 언어 팔레트(804)에 의해 언어 ID로 맵핑된다. 입력 스트로크 및 언어 표시자(또는 인식기의 식별자)는 RAM, 광 디스크, 플로피 디스크 및 하드 디스크와 같은 컴퓨터 메모리를 포함할 수 있지만 이에 한하지 않는 저장 장치(802)에 저장될 수 있다.
언어 팔레트(804)는 지원자(508)에게 현재 입력 언어를 알리기 위해 지원자(508)에게 표시를 제공한다. 지원자(508)(파선 내에 도시된 옵션 양태)는 시각적 표시가 표시 장치(805) 상에 나타나게 하여 현재 입력 언어의 표시를 제공할 수 있다. 또한, 지원자(803)는 대안으로(또는 추가적으로) 오디오 표시가 들리게 하여 현재 입력 언어의 표시를 제공할 수도 있다.
언어 팔레트(804), 인식기(806, 807) 및 옵션 지원자(803)는 RAM(150)에 상주하는 프로그램 모듈로서 구현될 수 있고, 처리 유닛(110)에 의해 실행될 수 있다. 또한, 저장 장치(802)는 RAM(150), 하드 디스크(170) 또는 자기 디스크(190)를 포함할 수 있지만 이에 한하지 않는다.
지원자(803)에 의해 제공될 수 있는 시각적 표시는 현재 입력 언어의 명칭과 같은 텍스트 메시지의 표시, 특정 칼라의 전자 잉크 표시(현재 입력 언어의 표시를 제공하는 칼라를 가짐-예를 들어, 영어에 대해 적색, 일어에 대해서는 청색 등), 배경 칼라에 의한 현재 입력 언어의 표시, 및 전자 잉크의 입력 스트로크의 두께에 의한 현재 입력 언어의 표시(예를 들어, 두꺼운 스트로크는 영어를 표시하고, 얇은 스트로크는 일어를 표시함)를 포함하지만 이에 한하지 않는 다양한 방법으로 제공될 수 있다. 도 10A, 10B 및 10C는 수신 잉크와 연관될 언어의 시각적 표시의 추가 예를 제공한다. 예를 들어, 수평 직선은 수신 잉크와 연관될 언어가 문자 기반 언어(예를 들어, 영어)라는 것을 표시할 수 있고, 도 10B의 3 쿼터 박스 또는 도 10C의 박스 입력 영역은 잉크와 연관될 언어가 심볼 언어(예를 들어, 일어)라는 것을 표시할 수 있다. 표시 장치(805)는 시각적 표시를 하기 위해 사용될 수 있으며, 스트로크가 입력될 때 스트로크 전자 잉크를 표시하는 데 사용될 수 있다.
지원자(803)에 의해 제공될 수 있는 오디오 표시는 예를 들어 영어에 대한 하이 톤 및 일어에 대한 로우 톤과 같은 특정 톤으로서 제공될 수 있다. 또한, 장단(tune)이 표시로서 표시될 수 있다. 예를 들어, 영어를 표시하기 위해 미국 국가, 그리고 일어를 표시하기 위해 일본 국가 등의 특정 나라의 국가가 재생될 수 있다. 오디오 표시는 공지된 바와 같이 스피커를 통해 재생될 수 있다.
저장 장치(802)는 전자 잉크의 입력 스트로크를 언어 또는 인식기 식별자와 함께 저장한다.
시스템은 예를 들어 각각의 언어에 대해 하나씩 다수의 수기 인식기를 구비할 수 있다. 도 8에 도시된 시스템에서, 시스템은 셋 이상의 인식기를 구비할 수 있지만, 제1 인식기(806) 및 제2 인식기(807)가 도시되어 있다.
도 9는 펜(펜 팁 ID를 갖거나 갖지 않음) 또는 다른 입력 장치와 연관된 언어 또는 인식기를 수정할 때 사용될 수 있는 옵션 프로세스를 나타낸다. 901에서, 새로운 언어가 선택되었는지를 판정하기 위한 검사가 행해진다. 전술한 바와 같이, 입력 장치가 스타일러스인 경우, 사용자는 펜 팁 식별자를 가진 펜을 움직이거나, 대안으로 다음 언어 박스를 누르거나 선택하여 소정의 언어 리스트로부터 다음 언어를 선택할 수 있다. 또한, 사용자는 도 4A 및 5A와 관련하여 설명된 언어 팔레트를 이용하여 다른 언어에 대한 입력을 설정할 수 있다. 예를 들어, 입력 장치가 컴퓨터 마우스인 경우, 마우스의 버튼을 눌러 소정의 언어 리스트로부터 다음 언어를 선택할 수 있다. 새로운 언어가 선택된 경우, 단계 902에서 전자 잉크의 스트로크가 새로운 언어 또는 인식기에 적합한 새로운 인터페이스로 캡쳐될 수 있다. 그렇지 않은 경우, 단계 903에서, 전자 잉크의 스트로크는 현재 인터페이스로 캡쳐된다.
사용자 인터페이스
도 11은 본 발명의 양태들에 따른 사용자 인터페이스(1101)를 나타낸다. 영역(1101)은 박스 또는 세그먼트 입력 영역으로 지칭될 수 있다. 시각적 실마리들(1102, 1103 등)이 사용자에게 제공되어, 박스 또는 인터페이스 세그먼트들이 어디에서 분할되는지를 보일 수 있다. 이들 박스 윤곽선 또는 세그먼트 점들은 잉크가 기입되는 영역들(1104, 1105, 1106 및 1107 등)을 정의한다.
박스 입력을 사용하는 이익들 중 하나는 사용자가 다른 세그먼트 또는 박스 영역에서 정보 입력을 시작한 후 짧은 시간 안에(또는 직후에) 인식이 이루어질 수 있다는 것이다. 심볼 언어(예컨대, 중국어)에서는, 사용자가 다른 박스 또는 입력 영역에서 다른 문자 또는 심볼의 입력을 시작하자마자 인식이 시작될 수 있다.
도 11을 참조하면, 심볼 문자들이 영역(1101)에 기입되고 있다. 사용자는 이제 영역(1105)에 문자(1109)를 기입하고 있다. 사용자는 이전에 영역(1104)에 문자(1108)를 기입했다. 문자(1108)의 인식은 다른 영역에서의 기입, 표면으로부터의 펜 팁의 이동, 문자(1108)의 최종 잉크 스트로크가 입력된 후의 소정 시간의 대기 등을 포함하는 하나 또는 다수의 인자들에 기초하여 이루어질 수 있다.
도 12는 도 11에 도시된 바와 같은 박스 또는 세그먼트 입력 영역을 구비하고, 영역들(1202, 1203, 1204)을 포함하는 입력 영역(1201)을 나타낸다. 이들 영역 각각에 사용자는 문자들(1205, 1206, 1207)을 각각 기입하였다. 문자들(1205-1207)은 각각 문자 U, S 및 A이다. 1201에 도시된 바와 같이 각 문자를 개별적으로 인쇄하는 것은 양호한 인식 결과를 제공한다. 그러나, 각각의 문자를 그 자신의 영역(1202-1204) 내에 인쇄하는 것은 비심볼 언어에 대해서는 일반적으로 워드 또는 개념을 정의하는 데 다수의 문자를 취해야 하므로 성가시고 느리다.
도 13은 박스 또는 세그먼트 입력 및 비 세그먼트 또는 비 박스 입력 영역의 조합을 나타낸다. 세그먼트 또는 박스 영역은 분리자(1302, 1303)에 의해 표시된다. 여기서, 사용자는 중국어 문자(1304, 1305)를 기입한 후 영역(1306)에서 문자 스트링을 수신하기 위해 사용자 인터페이스를 스위칭할 수 있다.
도 14는 영역(1401)에 입력된 수기 스크립트를 나타낸다. 여기서, 스크립트는 "United"(1402), "States"(1403)", "of"(1404)" 및 "America"(1405)이다. 이들이 입력된 영역은 영역(1406)이다. 영역(1406) 내의 스크립트의 인식은 모든 워드가 완료된 후 소정 시간까지, 적어도 하나의 워드가 완료된 때까지, 이들의 소정 조합, 또는 그 외 어딘가의 기입 까지 지연될 수 있다. 인식을 언제 시작할 것인지에 대한 다른 판정 인자도 가능하다.
도 15는 수기 스크립트가 인식되고 있는 영역(1501)을 나타낸다. 스크립트는 이제 텍스트(1502-1505)로 변환되었다. 텍스트는 스크립트 대신에 또는 그와 함께 표시될 수 있다. 도 15에서, 스크립트는 텍스트로 대체되어 있다. 각각의 인식된 워드 다음에는 세그먼트 분리자(1510-1512)에 의해 분리된 영역(1506-1509)이 존재한다. 영역들(1506-1509)은 텍스트가 인식된 것을 사용자에게 보이는 것을 돕기 위해 사용되거나 사용되지 않을 수 있다. 대안으로, 영역(1506-1509)은 사용자에게 스크립트(1402-1405) 기입의 안내를 돕기 위한 수평선을 제공하기 위해 사용될 수 있다.
도 16-18은 인식된 정보를 수정하는 데 사용될 수 있는 옵션 수정 메카니즘을 나타낸다. 도 16을 참조하면, 그 안에 워드(1603)를 가진 영역(1602)을 구비한 영역(1601)에서, 프로세서의 인식 결과를 향상시키기 위하여 보다 양호한 서법으로 기존 워드 위에 워드를 간단하게 재기입할 수 있다. 대안으로, 워드를 삭제한 후 워드(1603)를 재기입할 수 있다. 또한, 완전히 원본 스크립트(가상적으로 표시될 수 있음) 위에 중복 기입하여, 사용자에게 이전 워드가 무엇처럼 보이는지를 알릴 수 있다.
도 17은 영역(1701)을 포함한다. 여기서, 사용자는 텍스트(1702)를 수정하려고 시도하고 있다. 텍스트(1702) 상에 탭을 설정하거나, 텍스트를 선택할 때(텍스트 주위에 탭을 설정하거나, 다른 버튼을 설정함으로써), 인식 대안들의 리스트가 영역(1703)에 표시될 수 있다. 영역(1704)은 또한 도 16의 재기입 모드 "rewrite"로의 스위칭을 가능하게 하기 위해 제공될 수 있으며, 근접한 인식 결과 옵션을 제공할 수 있다.
도 18은 박스 입력 형태로 입력된 문자들의 수정을 나타낸다. 영역(1801)은 추가 영역들을 포함한다. 중국어 문자들 중 하나에 탭을 설정함으로써 대안 텍스트(1802) 및 옵션 윈도우(1803)의 리스트를 제공할 수 있다.
도 19는 심볼 문자 및 비심볼 문자 양자를 포함하는 입력 영역(1901)을 나타낸다. 심볼 문자들(1902-1904 및 1907-1909)은 영어 텍스트(1905)에 의해 분리된다. 이것은 사용자가 인식 모드들을 스위칭하여 이어지는 인식기 스크립트 또는 문자들을 연관시키는 것을 허용하는 이익을 제공한다.
도 20은 정보를 입력하는 대안적인 방법을 나타낸다. 여기서, 사용자는 도면의 2001 내의 개별 영역에 "United States..."의 각각의 문자를 배치하였다.
도 21은 사용자가 스크립트의 전체 라인을 입력한 또 다른 방법을 나타낸다.
도 22는 심볼 및 비심볼 문자들 양자가 동일 라인 상에 기입된 또 다른 방법을 나타낸다.
사용자 인터페이스 선택 프로세스
도 23-25는 어떤 사용자 인터페이스를 사용자에게 표시할 것인지를 판정하여 사용자가 기입될 잉크를 위해 사용자에 대한 그 어떤 사용자 인터페이스를 정확하게 선택할 수 있도록 하는 예시적인 프로세스를 나타낸다. 단계 2301에서, 프로세스가 시작된다. 단계 2302에서, 시스템은 사용자가 어떤 사용자 인터페이스를 사용할 것인지를 선택했는지를 판정한다. 사용자가 박스 입력을 선택한 경우, 단계 2303에서 박스 입력이 표시되고, 사용자는 박스 입력 사용자 인터페이스에 기입한다. 시스템은 단계 2304에서 사용자가 기입을 완료할 때까지 이 모드에 있으며, 이 시점에서 단계 2305에서 기입 시스템이 종료된다. 단계 2302에서 라인 입력이 선택된 경우, 단계 2306에서 시스템은 사용자에게 라인 입력을 제공하며, 라인 사용자 인터페이스에서 사용자로부터 입력을 수신한다. 단계 2304에서의 기입의 완료시, 시스템은 사용자 링크를 찾는 것을 중지하고, 단계 2305에서 종료된다.
도 24는 단계 2303의 프로세스를 나타낸다. 단계 2401에서, 사용자에게 박스 사용자 인터페이스가 표시된다. 단계 2402에서, 사용자는 박스 영역에 잉크를 기입할 수 있다. 단계 2403에서, 시스템은 수기 잉크를 인식하려고 시도한다. 시스템은 잉크를 인식된 텍스트로 대체하거나 대체하지 않을 수 있다. 이어서, 시스템은 단계 2404에서 종료된다.
하나의 대체 양태에서, 시스템은 수정 단계 2405로 진행할 수 있다. 여기서, 사용자에게는 단계 2402에서 기입된 잉크를 수정하는 옵션이 제공된다. 사용자가 단계 2406에서 잉크를 수정하기를 원할 경우, 사용자는 단계 2407에서 잉크를 재기입하거나 대체 리스트로부터 잉크를 선택할 수 있다. 마지막으로, 단계 2404에서 시스템이 종료된다. 단계 2406에서 no인 경우, 시스템은 단계 2404에서 리턴할 수 있다.
도 25는 사용자가 단계 2306에서 라인 사용자 인터페이스를 선택한 때의 프로세스를 나타낸다. 단계 2501에서, 사용자에게 잉크를 수신하기 위한 라인 사용자 인터페이스가 표시된다. 라인 사용자 인터페이스는 잉크를 수신하기 위한 하나 이상의 안내 라인을 포함할 수 있다. 대안으로, 라인 입력은 라인을 갖지 않을 수 있다. 이어서, 단계 2502에서, 사용자는 라인 입력을 가진 표시 영역에 잉크를 기입할 수 있다. 단계 2503에서, 시스템은 수기 잉크를 인식하려고 시도한다. 시스템은 잉크를 인식된 텍스트로 대체하거나 대체하지 않을 수 있다. 이어서, 단계 2504에서 시스템이 종료된다.
다른 대체 양태에서, 시스템은 수정 단계 2505로 계속될 수 있다. 여기서, 사용자에게는 단계 2502에서 기입된 잉크를 수정하는 옵션이 제공된다. 사용자가 단계 2506에서 잉크를 수정하기를 원하는 경우, 사용자는 단계 2507에서 잉크를 재기입하거나 대체 리스트로부터 잉크를 선택할 수 있다. 마지막으로, 시스템은 단계 2504에서 종료된다. 단계 2506에서 no인 경우, 시스템은 단계 2504에서 리턴할 수 있다.
도 11-22에 도시된 사용자 인터페이스는 단순한 사용자 인터페이스 차이와 관련된다. 전술한 바와 같이, 특정 인식기가 수기 잉크와 연관될 수 있다. 라인 또는 박스 입력 모드 외에 어떤 인식기가 현재 선택되어 있는지를 사용자에게 제공할 수 있다.
선택된 인식기의 실제 표시는 또한 어떤 인식기들이 설치되거나 이용될 수 있는지에 따라 수정될 수 있다. 예컨대, 일어 인식기만이 심볼 입력을 위해 시스템에 설치되어 있고, 선 입력을 위해 불어 및 독어 인식기들 양자가 설치되어 있는 경우, 심볼 사용자 인터페이스 모드에 있을 때에는, 심볼 언어와 관련된 인식기만이 이용 가능하므로 일어 인식기에 대한 표시가 제공되지 않을 수 있다.
박스 입력 모드는 하나 이상의 인식기 타입과 연관될 수 있으며, 각각의 인식기는 박스 입력 및/또는 라인 입력을 지원할 수 있다. 예컨대, 박스 입력 모드는 심볼(또는 종종 동아시아로 지칭됨) 언어와 연관될 수 있다. 또한, 박스 입력 모드는 (인쇄된 문자를 인식하기 위해) 영숫자 입력과도 연관될 수 있다. 또한, 박스 입력은 수학 또는 디지트 타입 인식기와 연관될 수 있다. 라인 입력 모드는 기입된 워드(또는 기입 워드를 찾는 인식기)와 연관될 수 있다. 대안으로, 라인 입력 모드는 일반 입력 모드일 수 있으며, 그와 연관될 인식기의 고객 선택(또는 사전 선택)을 기다릴 수 있다.
또한, 박스 입력 모드 및/또는 라인 입력 모드는 제로 인식기와 연관될 수 있다. 예컨대, 사용자는 언어와 인식기를 명백하게 연관시키지 않을 수 있다. 그러나, 시스템은 (설치된 인식기들의 검토로부터) 인식기를 결정할 수 있으며, 디폴트로서 언어와 관련하여 인식기를 사용할 수 있다.
언어와 연관될 수 있는 인식기들의 수가 바뀔 수 있다. 일반적으로, 언어와 인식기 사이에는 일대일 식별이 존재할 수 있다. 대안으로, 사용자는 언어와 연관될 다양한 인식기들로부터 선택할 수 있다. 예컨대, 도 26은 액티브 언어를 선택하기 위한 사용자 인터페이스를 나타낸다. 여기서, 예를 들어, 버튼(2601)을 선택하고 다양한 상이한 언어를 표시할 수 있다. 상이한 언어는 대만어(2602), 한국어(2603), 일본어(2604), 중국어(2605) 및 미국 영어(2606)를 포함한다. 이러한 이용 가능 언어들은 시스템에 상주하는 상이한 표시 언어들과 관련될 수 있다. 이들 표시 언어들의 일부는 특정 언어에 대한 실제 인식기를 갖거나 갖지 않을 수 있다. 예를 들어, 이용 가능한 중국 표준어 인식기가 없을 수 있고, 간단한 중국어 인식기만이 이용 가능할 수 있다. 따라서, 대만어(2602) 및 중국어(2606)의 선택시, 연관될 수 있는 실제 인식기는 단순한 중국어 인식기이다. 도 26은 예시적인 목적으로만 제공된다. 언어 스위칭 인터페이스의 다른 구현도 가능하다는 것을 이해해야 한다. 또한, 사용자는 언어의 각각의 입력 모드에 대한 인식기를 선택할 수 있다. 따라서, 박스 입력 모드에 대해 간단한 중국어를, 라인 입력 모드에 대해 영어를(또는 간단한 중국어 또는 사용자가 원하는 대로 임의의 다른 단일 인식기 또는 인식기들의 조합을) 선택할 수 있다.
어떤 인식기가 언어 선택과 연관될 수 있는지, 그리고 어떤 타입의 입력 모드가 지원되는지를 판정하기 위한 판정 테이블이 있을 수 있다.
언어 인식기 박스 입력? 라인 입력?
아라비아어 없음
불어 회사 A No Yes
단순 중국어 회사 A Yes Yes
일본어 회사 A Yes Yes
일본어 회사 B Yes No
위의 테이블에서, 몇몇 언어는 관련 인식기를 갖지 않을 수 있다. 몇몇 언어는 단 하나의 관련 인식기를 갖는다. 몇몇 일본어는 둘 이상의 관련 인식기를 가질 수 있다. 몇몇 인식기는 박스 및 라인 입력 모드 양자를 지원하며, 몇몇은 하나의 입력 모드만을 지원한다.
또한, 사용자는 로컬 머신 상에 현재 어떠한 인식기도 설치되지 않은 언어를 지정할 수 있다는 것을 이해한다. 이 상황에서는 인식기가 입력된 정보에 대해 이용 가능하게 될 때 인식이 행해질 수 있다. 예컨대, 인식기는 원격 위치에 저장되어 네트워크(예를 들어, 인트라넷 및 엑스트라넷 또는 인터넷)를 통해 액세스될 수 있다.
도 3-9와 관련하여 설명된 프로세스를 통해 다양한 모드 사이에서 스위칭할 수 있다. 예를 들어, 어떤 인식기가 또는 어떤 사용자 모드가 이용될 것인지를 수정하기 위해 다양한 맵핑 식별자를 통해 순환할 수 있다. 도 27은 입력 모드 스위칭 사용자 인터페이스(2701)의 일례를 나타낸다. 이 예에서, 사용자 인터페이스는 바(2702)의 형태를 가질 수 있다. 언어들, 인식기들 및 박스/라인 입력 모드들 사이의 다양한 맵핑이 바(2701)에서 존재할 수 있다. 여기서, 사용자(2701)에게는 현재 모드가 박스 입력(옵션 2705가 선택됨)이라는 것이 표시된다. 라인 입력 모드로의 스위칭을 허용하는 제1 옵션(2702)이 사용자에게 제공될 수 있다. 라인 입력 모드는 현재 또는 다른 인식기와 연관될 수 있다. 이 예에서, 영어 인식기는 라인 입력 모드와 연관되며, 사용자 인터페이스는 인식기의 식별자의 표시를 제공한다. 대안적인 방법에서, 옵션(2702)은 기입 워드를 수신하는 라인 입력 모드를 표시하기 위하여 단지 "워드"라는 제목을 가질 수 있다. 숫자 2703 및 영숫자/숫자 2704 옵션은 이러한 타입의 입력을 지원할 수 있는 동아시아 인식기 또는 영어 인식기와 관련될 수 있다.
"워드"(2702), "숫자"(2703), "영숫자"(2703) 및 "모두"(2704)와 연관된 특정 인식기는 사용자에 의해 구성되거나 구성되지 않을 수 있다.
또한, 사용자가 사용하기를 원하는 입력 모드를 변경하는 것을 허용하는 다양한 펜 또는 선택 가능 버튼(하드웨어, 소프트웨어 등)에 대한 다양한 맵핑이 존재할 수 있다.
본 발명의 양태들은 다양한 실시예를 통해 설명되었다. 이 명세서를 검토할 때 첨부된 청구범위의 범위 및 사상 내에서 많은 다른 실시예, 수정 및 변형이 당업자들에 의해 이루어질 수 있다.

Claims (12)

  1. 박스(boxed) 입력 모드 또는 라인(lined) 입력 모드의 사용자 선택을 결정하는 단계;
    상기 박스 입력 모드 또는 상기 라인 입력 모드의 제1 입력을 수신하는 단계;
    상기 입력 모드를 스위칭하는 단계; 및
    상기 박스 입력 모드 또는 상기 라인 입력 모드 중 나머지 입력 모드의 제2 입력을 수신하는 단계
    를 포함하는 프로세스.
  2. 제1항에 있어서, 상기 제1 입력 수신 단계는 상기 제1 입력을 인식하는 인식 단계를 더 포함하는 프로세스.
  3. 제1항에 있어서, 상기 제2 입력 수신 단계는 상기 제2 입력을 인식하는 인식 단계를 더 포함하는 프로세스.
  4. 제2항에 있어서, 상기 제1 입력 수신 단계는 수정 사용자 인터페이스를 더 포함하는 프로세스.
  5. 제3항에 있어서, 상기 제2 입력 수신 단계는 수정 사용자 인터페이스를 더 포함하는 프로세스.
  6. 제1항에 있어서, 상기 결정 단계는 언어 및 관련 입력 모드의 사용자 선택을 수신하는 단계를 더 포함하는 프로세스.
  7. 제1항에 있어서, 상기 스위칭 단계는 언어 및 관련 입력 모드의 사용자 선택을 수신하는 단계를 포함하는 프로세스.
  8. 시스템으로서,
    상기 시스템이 박스 입력 모드 및 라인 입력 모드 중 적어도 하나의 모드에 있는 동안 사용자에 의해 생성되는 수기 잉크를 수신하고 인식하는 프로세서; 및
    상기 박스 입력 모드 및 상기 라인 입력 모드를 표시하기 위한 사용자 인터페이스를 구비하는 표시 장치
    를 포함하는 시스템.
  9. 제8항에 있어서, 상기 프로세서는 상기 사용자 인터페이스의 일부에 박스 입력을, 그리고 상기 사용자 인터페이스의 일부에 라인 입력을 표시하도록 상기 표시 장치를 제어하는 시스템.
  10. 제8항에 있어서, 상기 프로세서는 수정 사용자 인터페이스를 표시하도록 상기 표시 장치를 제어하는 시스템.
  11. 제10항에 있어서, 상기 프로세서는 사용자 입력에 응답하여 상기 박스 입력 모드에 대해 상기 수정 사용자 인터페이스를 동작시키는 시스템.
  12. 제10항에 있어서, 상기 프로세서는 사용자 입력에 응답하여 상기 라인 입력 모드에 대해 상기 수정 사용자 인터페이스를 동작시키는 시스템.
KR1020057012383A 2003-11-10 2004-07-28 박스 및 라인 입력 패널 KR101014075B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/704,121 US7424154B2 (en) 2003-11-10 2003-11-10 Boxed and lined input panel
US10/704,121 2003-11-10

Publications (2)

Publication Number Publication Date
KR20060114287A true KR20060114287A (ko) 2006-11-06
KR101014075B1 KR101014075B1 (ko) 2011-02-14

Family

ID=34552052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057012383A KR101014075B1 (ko) 2003-11-10 2004-07-28 박스 및 라인 입력 패널

Country Status (7)

Country Link
US (1) US7424154B2 (ko)
EP (1) EP1683075B1 (ko)
JP (1) JP4668922B2 (ko)
KR (1) KR101014075B1 (ko)
CN (1) CN1856796B (ko)
AT (1) ATE521934T1 (ko)
WO (1) WO2005048166A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7982725B2 (en) * 1999-05-25 2011-07-19 Silverbrook Research Pty Ltd Sensing device with inductive charging
JP4574313B2 (ja) * 2004-10-04 2010-11-04 キヤノン株式会社 画像処理装置および方法
TWI301590B (en) 2005-12-30 2008-10-01 Ibm Handwriting input method, apparatus, system and computer recording medium with a program recorded thereon of capturing video data of real-time handwriting strokes for recognition
US9329753B2 (en) * 2006-11-10 2016-05-03 Blackberry Limited Handheld electronic device having selectable language indicator and menus for language selection and method therefor
WO2008055360A1 (en) * 2006-11-10 2008-05-15 Research In Motion Limited Multi-language, multiple-axis disambiguation handheld device
US8069029B2 (en) * 2006-11-10 2011-11-29 Research In Motion Limited Handheld electronic device having multiple-axis input device and selectable language indicator for language selection, and associated method
US8069028B2 (en) 2006-11-10 2011-11-29 Research In Motion Limited Handheld electronic device having selectable language indicator for language selection and method therefor
US8667391B2 (en) * 2006-11-10 2014-03-04 Blackberry Limited Handheld electronic device having multiple-axis input device, selectable language indicator, and menus for language selection, and associated method
US8504349B2 (en) * 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
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
US8255822B2 (en) * 2007-12-21 2012-08-28 Microsoft Corporation Incorporated handwriting input experience for textboxes
US20090215514A1 (en) * 2008-02-25 2009-08-27 Aruze Gaming America, Inc. Gaming Machine with Conversation Engine for Interactive Gaming Through Dialog with Player and Playing Method Thereof
CN101581992A (zh) * 2008-05-16 2009-11-18 鸿富锦精密工业(深圳)有限公司 触摸屏装置及其输入方法
US20090309854A1 (en) * 2008-06-13 2009-12-17 Polyvision Corporation Input devices with multiple operating modes
JP4810594B2 (ja) * 2009-06-24 2011-11-09 京セラ株式会社 携帯端末、言語設定プログラムおよび言語設定方法
JP5430339B2 (ja) 2009-10-19 2014-02-26 株式会社ワコム 位置検出装置及び位置指示器
US9747270B2 (en) * 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
CN102193736B (zh) * 2011-04-21 2013-06-26 安徽科大讯飞信息科技股份有限公司 支持多模式自动切换的输入方法和输入系统
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
JP5849778B2 (ja) * 2012-03-02 2016-02-03 カシオ計算機株式会社 手書き入力装置およびプログラム
JP5458161B1 (ja) * 2012-10-23 2014-04-02 株式会社東芝 電子機器および方法
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
JP6422118B2 (ja) * 2014-12-26 2018-11-14 Necディスプレイソリューションズ株式会社 表示システム、情報処理装置、及び表示方法
US9613263B2 (en) * 2015-02-27 2017-04-04 Lenovo (Singapore) Pte. Ltd. Ink stroke grouping based on stroke attributes
JP6110585B1 (ja) * 2015-05-21 2017-04-05 株式会社ワコム アクティブスタイラス
US10416877B2 (en) * 2015-08-25 2019-09-17 Myscript System and method of guiding handwriting input
US10725544B1 (en) 2016-09-09 2020-07-28 Apple Inc. Pencil haptics
US10268273B1 (en) 2016-09-09 2019-04-23 Apple Inc. Stylus with multiple inputs
US10268288B1 (en) 2016-09-20 2019-04-23 Apple Inc. Stiffness rendering for a pencil
US10871880B2 (en) * 2016-11-04 2020-12-22 Microsoft Technology Licensing, Llc Action-enabled inking tools
US10943374B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Reshaping objects on a canvas in a user interface
JP6832822B2 (ja) * 2017-09-29 2021-02-24 シャープ株式会社 表示制御装置及びプログラム
JP2022147384A (ja) * 2021-03-23 2022-10-06 株式会社リコー 表示装置、表示方法、プログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550930A (en) * 1991-06-17 1996-08-27 Microsoft Corporation Method and system for training a handwriting recognizer at the time of misrecognition
US5392400A (en) 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
EP0592080A2 (en) 1992-09-24 1994-04-13 International Business Machines Corporation Method and apparatus for interprocess communication in a multicomputer system
US5421004A (en) 1992-09-24 1995-05-30 International Business Machines Corporation Hierarchical testing environment
JP2505974B2 (ja) 1992-12-08 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数の適用業務プログラムを統合化グラフィカル・ユ―ザ・インタフェ―ス処理環境へ統合化するための方法
US5596702A (en) 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
JPH08185266A (ja) * 1994-12-27 1996-07-16 Sharp Corp 手書き文字入力装置
JPH08287288A (ja) 1995-03-24 1996-11-01 Internatl Business Mach Corp <Ibm> 対話式三次元グラフィックスにおける複数側面アノテーション及びホットリンク
US5880733A (en) 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US5862256A (en) * 1996-06-14 1999-01-19 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by size discrimination
US5889888A (en) 1996-12-05 1999-03-30 3Com Corporation Method and apparatus for immediate response handwriting recognition system that handles multiple character sets
JPH1115918A (ja) 1997-06-19 1999-01-22 Sharp Corp 手書き文字認識装置
DE19740587A1 (de) * 1997-09-15 1999-04-01 Medidata Gmbh Vorrichtung und Verfahren zur Datenerfassung
US6553147B2 (en) 1998-10-05 2003-04-22 Sarnoff Corporation Apparatus and method for data partitioning to improving error resilience
US6356866B1 (en) 1998-10-07 2002-03-12 Microsoft Corporation Method for converting a phonetic character string into the text of an Asian language
US6415258B1 (en) 1999-10-06 2002-07-02 Microsoft Corporation Background audio recovery system
US6446041B1 (en) 1999-10-27 2002-09-03 Microsoft Corporation Method and system for providing audio playback of a multi-source document
US6424743B1 (en) * 1999-11-05 2002-07-23 Motorola, Inc. Graphical handwriting recognition user interface
US7102628B2 (en) * 2000-10-06 2006-09-05 International Business Machines Corporation Data steering flip pen system
US6538187B2 (en) 2001-01-05 2003-03-25 International Business Machines Corporation Method and system for writing common music notation (CMN) using a digital pen
US6993751B2 (en) 2001-05-14 2006-01-31 Microsoft Corporation Placing exception throwing instructions in compiled code
US20030009540A1 (en) 2001-06-29 2003-01-09 International Business Machines Corporation Method and system for presentation and specification of distributed multi-customer configuration management within a network management framework
US7158678B2 (en) * 2001-07-19 2007-01-02 Motorola, Inc. Text input method for personal digital assistants and the like
US20030041238A1 (en) 2001-08-15 2003-02-27 International Business Machines Corporation Method and system for managing resources using geographic location information within a network management framework
US20030041167A1 (en) 2001-08-15 2003-02-27 International Business Machines Corporation Method and system for managing secure geographic boundary resources within a network management framework
US7120872B2 (en) 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7206737B2 (en) * 2003-01-03 2007-04-17 Mircosoft Corporation Pen tip language and language palette

Also Published As

Publication number Publication date
CN1856796A (zh) 2006-11-01
EP1683075A2 (en) 2006-07-26
EP1683075B1 (en) 2011-08-24
JP2007511002A (ja) 2007-04-26
ATE521934T1 (de) 2011-09-15
WO2005048166A2 (en) 2005-05-26
US20050102620A1 (en) 2005-05-12
CN1856796B (zh) 2013-05-22
WO2005048166A3 (en) 2006-03-30
KR101014075B1 (ko) 2011-02-14
US7424154B2 (en) 2008-09-09
JP4668922B2 (ja) 2011-04-13
EP1683075A4 (en) 2008-04-16

Similar Documents

Publication Publication Date Title
KR101014075B1 (ko) 박스 및 라인 입력 패널
KR100879199B1 (ko) 펜팁 언어 및 언어 팔레트
US7137076B2 (en) Correcting recognition results associated with user input
RU2412470C2 (ru) Списки автоматического заполнения и рукописный ввод
US7167585B2 (en) Interfacing with ink
CN100478846C (zh) 提供手势的动态反馈的方法及装置
US7336828B2 (en) Multiple handwriting recognition engine selection
EP1538549A1 (en) Scaled text replacement of digital ink
US7970812B2 (en) Redistribution of space between text segments
TWI464678B (zh) 用於手寫輸入亞洲語言的方法及系統
CN1437136A (zh) 笔迹手迹
RU2398276C2 (ru) Альтернативы анализа в контекстных деревьях
US20220357844A1 (en) Integrated document editor
KR101159323B1 (ko) 아시아 언어들을 위한 수기 입력
CA3075627A1 (en) Integrated document editor

Legal Events

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

Payment date: 20140123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 9